{"report_id":"3b56f6df-9142-4ee2-a5ec-76f5ca40395d","version":0,"status":"done","tags":[],"date":"2026-07-27T04:01:54Z","url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":0,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"final":{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"title":"berthenergy-inc.biz","dom":{"size":41914,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (26399)","md5":"f9c80be5efe2f2e7908cbc6464a4baa1","sha1":"7c0e9f1f6a741316015e209aaccd4280bb8140e6","sha256":"3432aeb269181b7717693d00dee9e8cb7c65d8ca5f55cd8f256814ef3c1dfcc8","sha512":"21d456fda273365aef1226c05d8ece08a4ef27ce93be2cef19159c86b92fcf060e436cc20acfb22e4e9b1c3830c864d76efec26873cd4ef89d1a3e7202ec1a98","ssdeep":"768:0yJi2qbCmmWq38FTbfsTO+hDGq3t8UtN2v3k/SR+D/5km58:FJzqbCmmWq38FTbfsTO+hDZ3t8UtAk/C","tlshash":"a513a7276784452c9c53d278f399b54ea32af688ef6259eef7c23410c2d93ff088a455","dom_hash":"domhash5a2e7b986a359100c1311ce7180015d1","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":0,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T04:01:54Z","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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18547,"sent_data":466,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2018-11-20","domain_rank":560346,"first_seen":"2022-11-04T22:28:35Z","last_seen":"2026-07-24T15:28:31.911258Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":523,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate-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":8472,"first_seen":"2021-11-04T06:37:42Z","last_seen":"2026-07-21T21:38:43.172366Z","alert_count":0,"request_count":1,"received_data":32351,"sent_data":575,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.181","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":179381,"first_seen":"2015-02-20T09:47:36Z","last_seen":"2026-07-26T01:26:45.690501Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":748,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.btcwidget.info","ip":{"addr":"172.67.170.70","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2016-09-13","domain_rank":0,"first_seen":"2017-02-17T07:02:48Z","last_seen":"2026-07-21T21:22:38.986182Z","alert_count":0,"request_count":1,"received_data":711,"sent_data":632,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"cdnjs.cloudflare.com","ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-02-17","domain_rank":1222,"first_seen":"2012-05-23T12:49:49Z","last_seen":"2026-07-26T22:43:30.214545Z","alert_count":0,"request_count":3,"received_data":217270,"sent_data":1772,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":541,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.tradingview.com","ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":1990,"first_seen":"2012-12-04T09:00:23Z","last_seen":"2026-07-20T07:27:23.080723Z","alert_count":0,"request_count":2,"received_data":3077,"sent_data":1169,"comment":"","tags":null,"fingerprints":[{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"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":"s3.tradingview.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2010-03-20","domain_rank":165395,"first_seen":"2018-06-24T04:06:00Z","last_seen":"2026-07-25T05:38:23.80932Z","alert_count":0,"request_count":2,"received_data":55417,"sent_data":941,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.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":"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":3,"received_data":69655,"sent_data":1585,"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":"telemetry.tradingview.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2010-03-20","domain_rank":64373,"first_seen":"2014-06-09T18:36:33Z","last_seen":"2026-07-24T05:20:52.484041Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":546,"comment":"","tags":null,"fingerprints":null},{"fqdn":"pushstream.tradingview.com","ip":{"addr":"93.123.102.208","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":94515,"first_seen":"2016-09-22T12:08:22Z","last_seen":"2026-07-26T13:08:04.997239Z","alert_count":0,"request_count":1,"received_data":221,"sent_data":614,"comment":"","tags":null,"fingerprints":null},{"fqdn":"s.tradingview.com","ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":416574,"first_seen":"2017-01-30T05:04:39Z","last_seen":"2026-07-22T06:09:51.826411Z","alert_count":0,"request_count":2,"received_data":79272,"sent_data":1282,"comment":"","tags":null,"fingerprints":[{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":7,"received_data":135934,"sent_data":3936,"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":1434,"sent_data":1102,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.78","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":2,"received_data":75996,"sent_data":1096,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.tradingview-widget.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2020-06-05","domain_rank":196495,"first_seen":"2021-04-08T06:14:48Z","last_seen":"2026-07-24T15:28:31.440139Z","alert_count":0,"request_count":208,"received_data":6334711,"sent_data":110279,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}]},{"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":5,"received_data":68155,"sent_data":3107,"comment":"","tags":null,"fingerprints":null},{"fqdn":"berthenergy-inc.biz","ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"domain_registered":"2026-03-23","domain_rank":0,"first_seen":"2026-07-27T03:24:26.869307Z","last_seen":"2026-07-27T03:24:26.869307Z","alert_count":58,"request_count":58,"received_data":3096487,"sent_data":32476,"comment":"","tags":null,"fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"particles.js","description":"Particles.js is a JavaScript library for creating particles.","website":"https://github.com/VincentGarreau/particles.js","common_platform_enumeration":"","icon":"","categories":["JavaScript graphics"]},{"name":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","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"]},{"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":"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"]}]},{"fqdn":"translate.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":6,"received_data":201231,"sent_data":3581,"comment":"","tags":null,"fingerprints":null},{"fqdn":"s3-symbol-logo.tradingview.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2010-03-20","domain_rank":110931,"first_seen":"2020-11-23T08:22:37Z","last_seen":"2026-07-25T00:19:15.629884Z","alert_count":0,"request_count":1,"received_data":1670,"sent_data":563,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.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":"widget-sheriff.tradingview-widget.com","ip":{"addr":"143.204.238.18","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2020-06-05","domain_rank":206730,"first_seen":"2024-02-01T14:12:53Z","last_seen":"2026-07-24T23:32:22.077351Z","alert_count":0,"request_count":1,"received_data":546,"sent_data":552,"comment":"","tags":null,"fingerprints":[{"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"]}]}],"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.tradingview-widget.com/static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","size":22613,"data":"","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-27T06:24:31.743815Z","times_seen":60,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","size":34428,"data":"","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-27T06:14:34.058534Z","times_seen":73,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"abdac933416adad2f1f0358c34e06d0c","sha1":"0dc05aeba8286a0334c027665641bcf478994d5d","sha256":"5f564c4503176b996145604c8e659d0a1c2128953899b2e776973f0a91e17e9d","sha512":"56050afbc169f102143e4d56c74c692b0bae5319724042b3417d8740d60592b7d74fb27d1863dce300e020f33f36498a00fd31af8f94b6d301558007054ee92b","ssdeep":"192:nzHO1epgwUCqXYyY0ltStvFnUkst1siHYFhftcmrEnpsMhRl2FlQ8oCe68ciDhvx:nzJWPs0ChspEkmEnptD2FlQ8/e6Axrn","tlshash":"6c72db17c105c0fa8fb5ca227359edc0b5f8b19410f1e8c6b3a95f69c623c656838b79","size":17471,"data":"","first_seen":"2026-07-24T15:28:44.838926Z","last_seen":"2026-07-27T06:24:31.753683Z","times_seen":22,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/tv.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"fd560649121156073923ce51d3f04348","sha1":"bf3bf0105aa9e01a4f453898da7131486e2d583b","sha256":"e6d5c0aef4b2cfe736dd64b0761aa2807a25f6f84018c33f02c00cf654e110ac","sha512":"127a919f82388dd09f1042abf42efe6108ccf2f63ba3527bdc84ab7d9692ce3e83fa7db3dcbe6f538c9ec159031aa8ff2c4b5f119a5ac104abe8be23b85db550","ssdeep":"384:EqhCtUi8k0pwkp8EpXWpvS2rfVujtkl2okhIuWea1pYp4t6YJjlWm0yoVymbLP:EqZi8k0pwkp8EpXWpvS2rYj9okhfWeWa","tlshash":"48a2d76db5807a3c028700ee306f320c753765a4e10149a4fa78abe59558e8ea277fbd","size":21309,"data":"","first_seen":"2026-02-24T18:19:55.948124Z","last_seen":"2026-07-27T06:13:40.159672Z","times_seen":1080,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","size":12192,"data":"","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-27T06:16:22.9807Z","times_seen":1105,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"de2945c844b995a4434f72c9e9f10d55","sha1":"dfa0f41fd695f4ab2068af223864f90085590f09","sha256":"29df78da8b43b5048b57229594ed6f3ad79785773f63f3001a604d1a17a206e7","sha512":"e000d576b22c638622179b6cd5b5e72b9e95c90f191dce058a700842f4ab620ffa60fabfd70814866ae1686b778f1fb6384117e7bf0c4d1c66af5945324c2137","ssdeep":"192:zD6UcCbe+/OzNJUFPphLnY8P8hfJnubwbwShMj:SUcX+/OuPphLehfJnpMShMj","tlshash":"bd32a559b2a0b02595cf6760c02f150aa2752019f70d98d4f69ed9ea3db076f213be3d","size":11058,"data":"","first_seen":"2026-05-22T13:27:07.587764Z","last_seen":"2026-07-27T06:24:31.748177Z","times_seen":147,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":true,"md5":"cfcd208495d565ef66e7dff9f98764da","sha1":"b6589fc6ab0dc82cf12099d1c2d40ab994e8410c","sha256":"5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9","sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:37:31Z","last_seen":"2026-07-27T06:12:20.365126Z","times_seen":118274,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":true,"md5":"6da4dc8ff56e0ca8dfa9387534a223b1","sha1":"92d16819ab836d83e4de6a035ab5207d77d45256","sha256":"2706868a7b5b9f257568e8ce51bb523db1364917cfd8e5b21afa972ca3190c3e","sha512":"013ccea3ea68e7d27065e8ffcc2aeee66f376e5a655e046338a1a2573975d83a9f02386241d9556da479c148fadf999b45d9a50e3ff1352078a9fe797d9f310c","ssdeep":"","tlshash":"b7d0c90bb171010e0497f105e39a19c87274850b053e0d25769e909b3fb2fac234d5a4","size":239,"data":"","first_seen":"2026-07-07T06:48:17.98399Z","last_seen":"2026-07-27T04:03:30.241558Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":true,"md5":"d477bd5201bacc52125b41b7249a2b07","sha1":"8b91f56d4019ea03a74f7302d44ca3821e2c40fb","sha256":"675f87a0763c366c9f7a2cf5e8030f5782374787e79107f41d3031f3e07ff662","sha512":"d1f780a606c1227771cb36700d2a581fbe3b366710cb985f5b16407b993694ebd345e1c82808b8527ccc0768b2d33157b0d1f795ab6bbc300b586b76c53eaf8a","ssdeep":"","tlshash":"07e07d049b26407730d44183447d709c2a0c4eb7028f388c63fbad1c48cef670e7aa4c","size":321,"data":"","first_seen":"2026-07-27T03:24:37.025617Z","last_seen":"2026-07-27T04:03:30.242266Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":true,"md5":"15e481ba868f1abbc0ddf863db999b42","sha1":"e26287b5753b0166acc3dfe7e77fadad9d00689e","sha256":"9dce44de0e36a4f30fbc856cef9d46394c65ed4b6e52231335fbb780433c1054","sha512":"f1dd9350b234f0d69aa718ec2059fa71fe9f5ad5816035a93d1b5e25b8cc2ca48924068f0174da56ea6cdd2e8668c06a7788a5d5d3cbb29f4022b7b27c3a4421","ssdeep":"","tlshash":"a8114f58b07250cca237e433aabfc18438673517a805d67abd3e94490f1129432939af","size":931,"data":"","first_seen":"2026-06-08T23:30:21.823082Z","last_seen":"2026-07-27T04:03:30.242951Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":true,"md5":"f5f98e110d82026c988ec27c0c36f6b2","sha1":"6506a9ab633b88cb23cf3457b3325a062e107763","sha256":"c25a95e572046b2dd19012f4cb1fcb9a2fb0e691eb99cd79af9dd64520aa5111","sha512":"fdb42e058ec02e71bc58380f6b1061a974da2a97d83f10583ab108c441bb5ea4779779966bba97c341080acd487d21ced38d31376ae91263d65438e6ac4530c0","ssdeep":"","tlshash":"10214dbd6aa2044bf0f7f782fd1651c605a5f41be543ec047e5c17901f82a3aa16ce78","size":1414,"data":"","first_seen":"2026-06-08T23:47:33.879989Z","last_seen":"2026-07-27T06:10:35.097016Z","times_seen":11,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":true,"md5":"9bb50984011ca0394e38db3e5eafce2f","sha1":"9b1eb9eab8844d65f3d51cd92cf31b4f732b047f","sha256":"aa96326abd0f6186fe3fc605a210a0649be53dc0774442495a689048a6bc9bc3","sha512":"e4adb18310005a57a0970ae27e0569fd2eeaeb800b6f80482709e2c5546a0337efd2171bd71db2eab4a22b56686b6999b3470f5dccc446e76b5001fd234ce05b","ssdeep":"","tlshash":"e7213bbd6aa2044bf0f7e782fd1251c605a5f41be543ec047e5c17801f82a3aa16ce78","size":1414,"data":"","first_seen":"2026-06-08T23:47:33.88109Z","last_seen":"2026-07-27T06:10:35.097756Z","times_seen":8,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":true,"md5":"9728267b3ad0f7d8cfc753531562b108","sha1":"851e0e3d51ae26fa8fc6b70f98c04cfe4ef6068a","sha256":"f515c203cc3ce65ef885c0ff64d11d928eb5d008a261b56780c00e0f39a1c7db","sha512":"ccf0ef33bc3cf2820c10fe785dc39e1ec2708421eddbcf985f6a903e3f753caec4ee10d057227ef7b6e35aaef8e96a48a89d3f9a0927aee8872a20b1f13c05a5","ssdeep":"","tlshash":"c8e0f83c3c3042841b9201f481bbf2283e1a30309044d86bc8eaccbd2cf1fcaad028e8","size":416,"data":"","first_seen":"2026-07-27T03:24:37.035795Z","last_seen":"2026-07-27T04:03:30.247448Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"038623c38228a4865caf89b1ceed9af4","sha1":"fd2acb21c02b96c3c9c1f1081dab960c7031d783","sha256":"b8d3050d5622dc00f843f06bba75b96d7e07f17b7a71a3e5b77c9d30e3c91720","sha512":"dccd582f4658fc2f09410a5304dd63fe7d4e6420b4a961d737904968f4ca733ac1a0ece06f7a4e90ebf80305f0edcfd2a5fb95ea52ea369659b342075df8d55b","ssdeep":"384:he30HE+F6f00MWmgOsLEWioQLsiJrTNk20ptZTEjifF:hJEU6f00yzsYWxQLsiJrTT0ptPF","tlshash":"6282a5cdf5c0b0a75a93b8b040bf128bb23a6940bc5d9130d116f9d57d7a81ea163fad","size":18445,"data":"","first_seen":"2026-07-23T14:00:31.677621Z","last_seen":"2026-07-27T06:24:31.632487Z","times_seen":22,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","size":13031,"data":"","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-27T06:24:31.56407Z","times_seen":74,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","size":132552,"data":"","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-07-27T06:14:47.002011Z","times_seen":2184,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b7af9caf2d203689250c618a39d39029","sha1":"54e22965aaf8dd894b275b582cc30705d69821ad","sha256":"2600de068f623019889e62254b9834e05e70d376b307a4ad6b859f23cdcc8f8a","sha512":"3ef3adc84c046249eb8338da914e3af339fc2a92d8f0ae731d3b82dfc79a838b32bb4601581fb9d42f1ad5dece74230ddca8b9193f7acb1a023a1892cc8633eb","ssdeep":"1536:p5+ejeWbrN0Y4NT7JDMclwUYGZTw7yhLrLl1wrFMl:p5+ejDbrSY497JDMclwUYGZTw7yhLrL5","tlshash":"4833a36890d52d392df542f540ab2010e8ade8974d9610a6efef4dbf4940ac9b13ed3f","size":50917,"data":"","first_seen":"2026-07-23T14:00:31.718819Z","last_seen":"2026-07-27T06:24:31.653164Z","times_seen":23,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/clear-old-settings.c34042a4a10cb5fb2e3d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"f70d35acd6337f324740a0db8767d789","sha1":"24d6869180084cd568464e8200b623e903c8a451","sha256":"a554a858cd983ed5cbcd1e383940a748011ecae26912c494b5f4f50908ce6caf","sha512":"9a240d85d5fecfa1464aa2d6733a6d25818d700645d21de3cbf386062e8ee46b604520a22c66e93bfd604052e7008bbc03f4a6a9a8ce3deb9d6e03415dcc5374","ssdeep":"96:vkBD3c7nLhRVAsj8hd4b+7p79X2xRk1a37Eg9yZ9FX2F8gsW0:MBD3c7LhTG1AxInXi8gR0","tlshash":"a081654b42073aabe3cc87f621b98fac4d3c4da578070ed9ad64568c550d5c97162d3f","size":4182,"data":"","first_seen":"2026-07-24T11:36:47.890968Z","last_seen":"2026-07-27T06:11:36.008634Z","times_seen":71,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/chart-function.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"587761803bd8a505c2e72d5798953d57","sha1":"d22468f95664ca1e5b0da16b58cb7eb3c31b98ae","sha256":"614188f4cbc0d4634b8c9a617ab3309e53b1fcb19cadd9266e21dbf4d74ab3e3","sha512":"432f2199d43656a4ab4a7df32a538f4dde690985863b97530d97cbb4673d4238cb55ba34d76106aa870c7cb46cc19a1488875bac1075f256d5f9d95b7603d0e1","ssdeep":"96:vsrT2tfMVFKybgPqfOUWUTINeyfVFFKybgPrwzFKybgPbuhDnW:yTnFKHPqfOUb2fDFKHPrMFKHPb+DnW","tlshash":"34f1da5afe1240aba1337369c6bf6209e3f9b2130145c422746de4902fb8e6431d6fd6","size":7589,"data":"","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.177019Z","times_seen":24,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","size":39300,"data":"","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-27T06:24:31.718306Z","times_seen":58,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","size":78581,"data":"","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-27T06:24:31.720127Z","times_seen":121,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","size":145548,"data":"","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-27T06:24:31.654658Z","times_seen":40,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2b6fab5d43180a44762a23007cc74818","sha1":"57a42431bd8f0021426278639e1480f60600ddbc","sha256":"4daa7f339a6ee290609f5a83e28d23ee34feaa429a33d7403cf4890502acabfd","sha512":"482fc0dcff39aea620d385e9ecbe90053b7ed726e6c51f9e14dddd7f150263071d648a4c7ba8c7eb4637bee7761d193c72638a4019a4214ae774a41f8a4d53b8","ssdeep":"768:8LZLvioqCZ0JL2sWfliPTkeX0dnor9s+htUQJXRl7m:8BwL2dIAYrC+DT53K","tlshash":"4ec23a913111a49d96fbe2eed02b428ef3323659790a0e75f02c9cec11cdb693175b7a","size":27070,"data":"","first_seen":"2026-07-23T14:00:31.442829Z","last_seen":"2026-07-27T06:24:31.617775Z","times_seen":23,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a33d79b36d31bad99801ac951429ec12","sha1":"0132a8f4734c731690767f7346c30377761aed71","sha256":"42e14e00fdcb59805d9b1fc3225db0713e0a8ce22f25639326da817409380856","sha512":"b85e7f37730215e956573da5116e3901e2dc95b7c20bf9dba114b73817e363a0af560933b8f1193dae05ec6d87310bb3f73d9facec95f9521a846a4a0bacee6f","ssdeep":"768:1VZTM7OTm7FZkgTGJPrOvJ1UKxQcGhXEwpMALDw0Iv6CCVmXRfoUUUh3W//YWXgK:1MT2AbUKuXEgMPCVmpRK","tlshash":"0353f953b3045e4e75abe1e7ce2d8d49978e50a3304ac234f5efaed8229647fd623844","size":61870,"data":"","first_seen":"2026-07-24T15:28:44.934306Z","last_seen":"2026-07-27T06:24:31.551152Z","times_seen":21,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","size":33900,"data":"","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T06:14:34.057684Z","times_seen":377,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","size":80040,"data":"","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-27T06:24:31.807265Z","times_seen":225,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","size":12295,"data":"","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-27T06:24:31.667686Z","times_seen":81,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/bootstrap.min.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"67176c242e1bdc20603c878dee836df3","sha1":"27a71b00383d61ef3c489326b3564d698fc1227c","sha256":"56c12a125b021d21a69e61d7190cefa168d6c28ce715265cea1b3b0112d169c4","sha512":"9fa75814e1b9f7db38fe61a503a13e60b82d83db8f4ce30351bd08a6b48c0d854baf472d891af23c443c8293380c2325c7b3361b708af9971aa0ea09a25cdd0a","ssdeep":"768:E9Yw7GuJM+HV0cen/7Kh5rM7V4RxCKg8FW/xsXQUd+FiID65r48Hgp5HRl+:E9X7PMIM7V4R5LFAxTWyuHHgp5HRl+","tlshash":"3533b649725078b201df9176913f460bb736788ea907816cb95d98ed2e7cd89322bf3c","size":51039,"data":"","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-07-27T06:11:32.139904Z","times_seen":125735,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","size":10099,"data":"","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-07-27T06:24:31.679588Z","times_seen":224,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","size":34195,"data":"","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T06:16:23.00358Z","times_seen":905,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","size":138370,"data":"","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T06:14:34.070662Z","times_seen":874,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","size":19935,"data":"","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T06:16:23.023576Z","times_seen":2255,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63160.2a3a21185fbcc7079dae.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"cfb4ec7bf74cebe56275390e404eea0f","sha1":"4252ecbde693198d544ad5f483339e8527626b7d","sha256":"6c3a092a58a55249537be71395c07358a4ff94120d96468eb32669c2405dbe89","sha512":"502ad261df8d3d31d8decf44c403084f175783156886850f601a8404bfedddb9baeedf09aae6727cc4d18f8b3d1d59e554cc357a494b93754a34a68a9f7eafda","ssdeep":"768:OdGn8wXtPTrG8Pz8ZQXllEu7x1zR2tDZTrQGikOjULp/BS53dCo15V1:OrtI","tlshash":"3cc2945631977136aba2c64644350703e33635683a4b699cf73cface6b1ec42913ea3d","size":27733,"data":"","first_seen":"2026-07-23T13:54:09.047216Z","last_seen":"2026-07-27T06:14:34.041334Z","times_seen":238,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","size":196197,"data":"","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-27T06:24:31.723549Z","times_seen":45,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","size":19889,"data":"","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-27T06:24:31.647398Z","times_seen":42,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","size":187317,"data":"","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-27T06:24:31.745314Z","times_seen":32,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","size":43860,"data":"","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-27T06:16:23.019163Z","times_seen":875,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-07-27T06:16:23.141255Z","times_seen":3118,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-07-27T06:16:23.142088Z","times_seen":1678,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"bf53cecad8195c4e357f3fae5c315204","sha1":"9ab2fef363a136215cde5b23c3fe79013f914efd","sha256":"91d2b4df989cef44c0dbb2b513f87b85c1a89ce201fc1fda5ebc02083e2c8073","sha512":"8882d6d9239ee03f6533b7e01dca15ee6f3b171ad5c53b92017674ec95d5e3307bea797ef3d2d0a66f8fdc24b1150d4dec283840ac0f44db59d65e5b6ede1b92","ssdeep":"384:UipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka42h30:ZNogFbLr9h30","tlshash":"41822057c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":18667,"data":"","first_seen":"2026-07-24T15:28:44.970895Z","last_seen":"2026-07-27T06:14:34.321265Z","times_seen":118,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-07-27T06:16:23.143733Z","times_seen":3248,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d095849d0a0415d6d88baf93c124f7b8","sha1":"99742b91e7269b18b1454eba6cc7823627da1445","sha256":"ca4d5aee21d2846b8a5930af1dc8f6a82812e5075c21dd327018672be792f8ae","sha512":"a99d7ea7e503f2b791dc7d2f5cccc48fac232c4fc73a9a5d74c0c56cbc8bf8fd28e0e3c96057f3d93b5d93580315e0cf4d444950a63bb0acad3776caacf4fb2b","ssdeep":"384:N40xN5M2HCS5ipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4XF:N40xfHCSUNogFbLrq","tlshash":"30a28417c80c632ad9998d66bc3bb642fc2d075d45a129a46bac9c2c14c7d53e20bbbd","size":22651,"data":"","first_seen":"2026-07-24T15:28:44.97243Z","last_seen":"2026-07-27T06:24:31.835418Z","times_seen":120,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"a451bd95e420d24a151cb5a25660fc44","sha1":"de8b722786339662ff8f0f6a25cd85930eddfb6d","sha256":"c8f09d6bcd1db51b6c98a3f11c98e6af82972a8fbd80e72dd14822bdc7c8ca97","sha512":"80b4700545cf6047c2c0d3f4a2156c0bef71d9bb050e302185e1806abce0b043b96d282712e02494ca2472e027a0e018e825ef23fd7a8d5f2768342dd46f086a","ssdeep":"","tlshash":"25e0cd478124c410b2d65848e53919f53109b59ae64309f1f260bf0cb1567f394d5dfc","size":321,"data":"","first_seen":"2026-07-24T11:36:48.290535Z","last_seen":"2026-07-27T06:16:23.14533Z","times_seen":883,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"9d9bc5ffab15aed4773d569d62c5ba8b","sha1":"0c8d1aaf4c47cdfcda045dab107ca532b1f79b2c","sha256":"46a2e650802f69388f056281de89811b65b26bbb94350a0e175c7c4c4368a483","sha512":"8a7e0f121165dd69fcc12c3e8c8fa5cc13a4459d091f1229d33efba3db5cbe6adbd703665df67609399e5adc89884506e7fd6abb61759b06e7abd565d01c79e9","ssdeep":"384:RMt9Rl8Do+vHgzH6wmrebszczwhH/p5lOrylk6uNFCSF5I3epMtK3/MWFei:RWvGDo+vHgzH6/8szcyzuvCSF56yMi","tlshash":"44a2648196270c052bea174a68325103b22446f8d647395cbd786dee6e2cbc671f37fb","size":21867,"data":"","first_seen":"2026-07-24T11:36:48.297592Z","last_seen":"2026-07-27T06:16:23.146197Z","times_seen":883,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-07-27T06:16:23.147013Z","times_seen":1554,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-07-27T06:16:23.147774Z","times_seen":3250,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","size":16260,"data":"","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-27T06:24:31.630984Z","times_seen":31,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5a9f63c99f9d5d568eb64759326caab4","sha1":"f30d6d870db604980bcccf56754fbd2b4a793d63","sha256":"495aa62cf17213bfa7fb11fea84b8a177d37180b0e424c8a4a20e73d4779c4c7","sha512":"e7b5c45bd3574d3ad6dd7d4faf79de3c2d68454439c5275a44af309c26968b86e399c6cdfb0a40091870ffaec3555511470b6bb6715e8b78034da4aeda759237","ssdeep":"1536:N9l5HPSFvpMa7EVaVxGbCjD+blIXkrza8u9BkrvDfG3Q9q+6Feg43qD:N96Fvph7EVa324Xkrza8I2DfG3Q9qtey","tlshash":"8b8308d2709134aa43b35ada6cb0440797252c56394f887c707d89ff18eec5436bdbba","size":86496,"data":"","first_seen":"2026-07-22T16:00:00.360345Z","last_seen":"2026-07-27T06:24:31.691566Z","times_seen":50,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","size":113437,"data":"","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-27T06:24:31.517488Z","times_seen":58,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","size":8151,"data":"","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-27T06:24:31.596608Z","times_seen":49,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","size":221,"data":"","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-07-27T06:24:31.607207Z","times_seen":342,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","size":9675,"data":"","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-27T06:24:31.738045Z","times_seen":60,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/onpagescroll.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"0c417794093f9ef1d4987a84556aab11","sha1":"4714257b5e7aa42f60276ae8dcbe329c23096f62","sha256":"6b9d4b1a08ecad738256c58b0a3dade19634c9c54a2f977f36685d99d32c78ce","sha512":"a0b5b83dbdf4d3574904686b07938c25c53938ff1c7515615b5661c399790e4b6281b2936418426827101acb2c7dc13a7dbc2a5655563ad3afbba849c0df40c3","ssdeep":"","tlshash":"6121e300b922b22ad47972398f5f616cde2a54079705d510749c8ca93fb03f545f6edb","size":1326,"data":"","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.116756Z","times_seen":22,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","size":37849,"data":"","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-27T06:24:31.52819Z","times_seen":224,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","size":31210,"data":"","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T06:14:34.318378Z","times_seen":479,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","size":233096,"data":"","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-27T06:24:31.646625Z","times_seen":58,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","size":40229,"data":"","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-27T06:24:31.640541Z","times_seen":53,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"scriptElement","is_inline":false,"md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T06:15:18.689018Z","times_seen":1600,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","size":32550,"data":"","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-27T06:24:31.569546Z","times_seen":55,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","size":11674,"data":"","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-27T06:24:31.676978Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","size":27626,"data":"","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-07-27T06:16:23.080349Z","times_seen":3503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5403fe454468d6f2c1e00620999f84e2","sha1":"44ca84eca9d191e429fa0494fea91df1178952c2","sha256":"5eef084cbffa2f09fa8bade6dc4fa1b128d9fff17b34ac96db26ffa98e512ee2","sha512":"f19deb366e02d700af9130cae13f4430c1bb342048b478f1e93635374c68bc7cb9b251bb3635385d8925ea5caa2b266d8cbbc1884de5efb3d620725a28177fd8","ssdeep":"49152:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43rXOBBNrYqvlpRrslAf9qWka3vxS3+2lBv:mDQ","tlshash":"7b955ca2b2a134ab57e601e558b50403e35918867c07856cf67c9cef28adc4d32bef7d","size":1931549,"data":"","first_seen":"2026-07-24T11:36:48.310417Z","last_seen":"2026-07-27T06:24:31.845903Z","times_seen":117,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/jquery.min.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"8101d596b2b8fa35fe3a634ea342d7c3","sha1":"d6c1f41972de07b09bfa63d2e50f9ab41ec372bd","sha256":"540bc6dec1dd4b92ea4d3fb903f69eabf6d919afd48f4e312b163c28cff0f441","sha512":"9e1634eb02ab6acdfd95bf6544eefa278dfdec21f55e94522df2c949fb537a8dfeab6bcfecf69e6c82c7f53a87f864699ce85f0068ee60c56655339927eebcdb","ssdeep":"1536:/PEkjP+iADIOr/NEe876nmBu3HvF38sEeLHFoqqhJ7SerN5wVI+xcBmPv7E+nzm6:ENMyqhJvN32cBC7M6Whca98HrB","tlshash":"b293c8d9b6d27162977730b850bf510bb13a98eab80c4c60f1a4d8e47d78e89507bf2d","size":95786,"data":"","first_seen":"2023-03-07T01:02:02Z","last_seen":"2026-07-27T06:01:31.922347Z","times_seen":55404,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a5c4beebe509ac3027b79744b905303","sha1":"7eea8e87ac7a5ed1631873659a90a89e9a2cf256","sha256":"212519cc555451f5eb9173d72cf1b953de12bd91b643471be5673492e5fd4df0","sha512":"0c8c00ea4bf02423fb14f74c67dae3bb80ee82ec07ec85b67af6c9a158458956589e013607b8a608b44a881e754cd710e6ebfaf8a8037aab14d3877b9ba6d90f","ssdeep":"768:3KHYGd+QIbZ15yDJjyD272qzGJOeK6+ZJT:64fDbLoRT","tlshash":"5bc2fa867011b1ad92e789d681bf055de33f396c384d4d70f2b8d8cc69a7958e326e0e","size":27782,"data":"","first_seen":"2026-07-23T14:00:31.452652Z","last_seen":"2026-07-27T06:24:31.710699Z","times_seen":23,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"84e3cbc8f2cc7d16bc14251dee5f916d","sha1":"4515c758e4180ad4b3e4de054f1010b89337c5d3","sha256":"d71c6cd3abef8e38419d743ed4851ee893ff6bc105108ae88885f8524ac780a9","sha512":"166e2773f21cfcd6f793984bb2321a0513fe16cb22296e7f7a0e81915f6b387f2961404e6b1cad8c8fe209c02411ea7a4c468f0c7216b1327f2fa2ccde80acb8","ssdeep":"768:VHqwOWJaoTqN6riNXBxFRJLTiIjsxIU1azbsYttLhqpTLuvD/XV0xwk3LlEYZZBq:5qwOW0MmiMKCkLctYz3LauFKEP9mC7Oj","tlshash":"af13d68035a1b02887e6409ad07e4546f7792bd1b48a5579f0fcc8ce3e5898df136bbe","size":45019,"data":"","first_seen":"2026-07-23T14:00:31.480629Z","last_seen":"2026-07-27T06:24:31.75441Z","times_seen":23,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/owl.carousel.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"ccdf893e7d8b26933af0c336bcc3943e","sha1":"ac575ba3377f95ef22bad865ec35b0b3dcb0dfe0","sha256":"db9d6cf3c1c4b047c62f646e7d9991c06a212931c362bf53f9a2406b30f09466","sha512":"818db99c2eb775d1342dc2cf871509185c5ad86a08c80e452f29b8509a870c43078e9f11113e999ff487a35b25b6ddd6b95b6a7f2c4408fdfcfdd69473f59510","ssdeep":"1536:owLoreUC7AuLMjvNlP8GNMBJ6IcIhKJQIOybQOoiYM9OJ0QQKOv:oUMNlPBqJTuOGQOotEhKOv","tlshash":"bf9393c5f36c261b422631785eae23ce723d402ad911186f7ca8e9dc29d546c436eff9","size":89992,"data":"","first_seen":"2023-03-07T01:03:43Z","last_seen":"2026-07-27T06:10:22.708315Z","times_seen":12475,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","size":63316,"data":"","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-27T06:24:31.755706Z","times_seen":222,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","size":307359,"data":"","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-27T06:24:31.657426Z","times_seen":120,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/45277.ec6e36193d139c5c5f7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e18907ad974965570fff5fe138910b3e","sha1":"42a83b0c792ca4963052a4c61df2709d9d009ff6","sha256":"ec78fef0e90dea389a0c9b780256ce3c56ad02e3dc55e8821641c312af8f6f82","sha512":"e5ec15969c1036dbd81bb3f2cc8eee0c72ca47617098bacff7c655a4f45e4ecd8c7910ba484be4a0f780329316de5b0b67c8cbe7bb41d5f259e6dd3deeb1ddba","ssdeep":"192:j/f5hxzIhzOTre4LiZa6CWwvIe1ySWu3XXfBIrbgouzQBFivV+GRe2t6RufLKPXZ:j/f5Lz6zOTrMZcW62Sd3nfBIrbVu8BF1","tlshash":"7132c5a5328240ee53e617d53835464b9314bd5b39cb9ca8b16c58cf286e88e36fd738","size":11144,"data":"","first_seen":"2026-07-17T03:30:51.165572Z","last_seen":"2026-07-27T06:24:31.711607Z","times_seen":75,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/particles.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"f10f10368bb1407fe7a0b392952ee5ab","sha1":"6d41b2dfd94b9b8e8b96b95d1258f57efb11aada","sha256":"89c8e085c3da89b31fd63bf88102068b931e58d1de9b64a2b29728ac28827d28","sha512":"146e059a32de4af6784f8596ee7c0cab003fb04cce9f99748c78dc793f8de545ffb1315a060963061156a53462fa7e18bb1220be7a244d7d0843d44e13463440","ssdeep":"384:TxzjtwGGs5YQWS+ngXFlkjXEFOcQmxm3DO3p3z8CIopbubAi4OUlLqozr+XDhYnT:9t+BDcpz88pbuM+Uo0r+XUd1YTebBCQL","tlshash":"31131e8d5bfb18632697b1b84fdf8001e73080db1a8b95a5fc6c0258cf98655d29efe4","size":43009,"data":"","first_seen":"2023-03-07T12:23:24Z","last_seen":"2026-07-27T05:57:15.197132Z","times_seen":14340,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","size":36705,"data":"","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-27T06:24:31.720713Z","times_seen":60,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","size":24600,"data":"","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-27T06:24:31.638389Z","times_seen":49,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","size":1538,"data":"","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-27T06:24:31.708566Z","times_seen":261,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","size":28047,"data":"","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-27T06:24:31.680432Z","times_seen":52,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","size":625,"data":"","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-07-27T06:24:31.769679Z","times_seen":340,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"71d437275adfd7dbebf2f58fdb913e10","sha1":"f65e008f708dc021190739fc79c82bb489fc976e","sha256":"aa45affa2704e18bdd2b6c114028ef47c1ab429dcc40ad6a032f8b66abbc18fc","sha512":"5d5a7a6eb2b5e6966c911b381218b2c658214126edaf4f59ad6724b34dbbef34ac05b757f1025599284e5dcce25042739eae36f0237cc207229b3770a49fa3ce","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECiewNWF0:XDD4U6KKZgtBgtCi00","tlshash":"8e73b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","size":75428,"data":"","first_seen":"2026-07-27T04:01:40.037193Z","last_seen":"2026-07-27T05:00:29.161152Z","times_seen":152,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","size":66470,"data":"","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-27T06:24:31.548778Z","times_seen":47,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","size":16073,"data":"","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-27T06:24:31.571167Z","times_seen":37,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","size":1786,"data":"","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-07-27T06:24:31.625561Z","times_seen":221,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","size":20578,"data":"","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-27T06:14:34.131601Z","times_seen":87,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","size":351,"data":"","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-07-27T06:14:34.127336Z","times_seen":417,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","size":5566,"data":"","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-27T06:24:31.603972Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","size":13775,"data":"","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-27T06:24:31.550369Z","times_seen":40,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1331.54fd2a5952c88f3555c1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0501ef2557ab73aa0e242f1410552693","sha1":"e569c953f6e6c95a9d3cbba1ae1b93120b4e136d","sha256":"c76b72cbdcf6fee1dc0fd1903df2e2e2c90f846b942f16951116443d4f041177","sha512":"27a42e4490c90aff8af7a9c0804160d4efd88924878164391ac4442baa4c5faebd5f55f7f730976feb526d62386ba9a31ac50a3b568cac3216b0f60ecfee827b","ssdeep":"3072:COeUpW3gc3TJqv4ub7HlfzVV3Mze+wyQlmcnbmfH48J24NnUxsLIymKS:COeUpB42HlfzwAyEPbUH48Y4uxsLIyw","tlshash":"52045a61b440b67e92f304db94be1489e73d2b49e4044474f26dcc9e2ae9c88f17af79","size":185009,"data":"","first_seen":"2026-07-24T15:28:44.734426Z","last_seen":"2026-07-27T06:24:31.735075Z","times_seen":21,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/wow.min.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"1e9116fe65d2344b4689a5eba2447462","sha1":"84c74a8c88b2fc9d2d8d8e1b90fc8322a667f697","sha256":"828a49558961d12d520f31a04957d50caab7af6ecb73c4b33c4d0527e7381159","sha512":"5b4a6ba394c34ae2aec016a0f4444f31d37377c139cf9a7b0665aa31f954b0637e8d6dc93eb56f1391791095c80e4def5fd618bc9f9f679e60ac853d987cef87","ssdeep":"192:umEE6yAmu6qUxbU5E9nrrJGkEPIAeJ3KO4poIR:3EE/Amu6qUxPB9GkAI///IR","tlshash":"07f1b9a4374a70718a9a6176c92f0202a532256a74d4c8ec757cddd4eeb4a2d336bf3c","size":8107,"data":"","first_seen":"2023-03-07T01:23:49Z","last_seen":"2026-07-27T05:21:09.059506Z","times_seen":1156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","size":133378,"data":"","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-27T06:24:31.705233Z","times_seen":120,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","size":20221,"data":"","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-27T06:14:34.191987Z","times_seen":104,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/script.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"75b8078ad1cd1a866668291cd32a0261","sha1":"7a801a20ac6e22daaa3792473a336aec911e2cd5","sha256":"0eb2f1b90ba8d0d19d2aaa96a6c9be16cf37df0e669e50c79eeb7e05f5b95e31","sha512":"692db0538ccb9fda10ac348e08a75d43c6d4508774b1ff87e1bcf08551c208f19e6ee8c06811fe550655bce7859d4fefcefac697d075438fffc4e63f0d7a5119","ssdeep":"96:XMuH97I2LwMpRpxYpEtF4nibqdOPUcKhaJjjIX55N8A3eFZnl7/3v:7q2LpRpxYpELXbU85sP8AuFZl7/f","tlshash":"f032d10928241065e4b7b3299f7b6504eb765317b1009993befc22902f7631a72eef9d","size":11518,"data":"","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.212643Z","times_seen":29,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","size":26560,"data":"","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-07-27T06:24:31.804793Z","times_seen":61,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"db8665d50bbb7613ae4d5ff6618efb3c","sha1":"72a0474595ec30ff0f5b29570e7d187a4fa34bf9","sha256":"fb3be873ebdfbe3bb4183024dae7c56fffbf7bea33c01b1f7e13d8881b2d73b9","sha512":"a6a8b9b47236538cc2a9b1b522fad8d83f2d3dc7bfbe876ca6cce7a11cb9e780846d3701f295f97ada93ab31796dc3f2300f38706cefc2b939261da5325e75ca","ssdeep":"768:3iSitKD8BRCVEvoJvvI2TWRe3/E05YFa9dOJiGHE9E1RInrGhbnFT8hu7tOq+CKX:bitKDeSEAJHj3f8hbWBp","tlshash":"a5e2f7513531714852fba5eb99da062ce334732ce8248e25a8f1dc8c7ae5ae0e377d4c","size":32955,"data":"","first_seen":"2026-07-22T17:32:48.084118Z","last_seen":"2026-07-27T06:24:31.633242Z","times_seen":26,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"51f86891ee79dc28bdaa34f0c6cacb5f","sha1":"8e8c8d6a85f6ac78978e96ad933ef6300d1aef2b","sha256":"015f7b5bad17c7eaeb457105542f879215cd8f29f0a18185e5ab0d330b4db3aa","sha512":"29dec03ba8451463072b5661f375a9c6661cda7bd01c2929bffada338f4987ecb31d0526f7436b86b16de82236ebcdb159d3b2bf504006cf924283c2bb53ae83","ssdeep":"768:0ZUKYt1k9LsYxxHyqE58nvYoZUNIB8BSOfhOSEuE0fykah+kl7Y8HgJD/xpnwv/a:+5qUZEekx8oVS3rPlc9wfgxI+DcwDtgw","tlshash":"58232a297190b47ca2e7419ec02e480ce36a2488e8659cb5f9fcecdd33d598d31655fe","size":46028,"data":"","first_seen":"2026-07-23T14:00:31.469602Z","last_seen":"2026-07-27T06:24:31.805559Z","times_seen":23,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/Chart_main.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"3291892015f426aedf09d6259487b792","sha1":"cfee4f2447b73cf190d1b9fdff5ada7fb277034a","sha256":"2098119b3d3f66a45b1dc962645ca0f2f35faf3d7cbc857d7d661fcf62df7b5d","sha512":"b9917ee3d6c6043dab245fcb1adfb6d9ba8dbe1f24a36a819e5ff324aa04c1fba3060e55125d0c1fd4b257e3e8e5654b158349dcdad89535bc494038787c47f6","ssdeep":"6144:XaD8diu4ccJYmkdq379rm5SeBGdLP70ay9EoO/xgTtaRJ:tdsw5SeBGdT7N2Ob","tlshash":"0d64f8d8b39f521e86963344a93f448cda3ee5364102917db8ac94e416e8c1993fbf7c","size":312963,"data":"","first_seen":"2023-03-13T08:13:25Z","last_seen":"2026-07-27T04:03:30.226782Z","times_seen":15,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","size":62062,"data":"","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-27T06:24:31.744677Z","times_seen":52,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","size":52312,"data":"","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-27T06:24:31.549556Z","times_seen":46,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","size":11334,"data":"","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-27T06:24:31.682253Z","times_seen":50,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-07-27T06:15:18.683099Z","times_seen":6176,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","size":5444,"data":"","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-07-27T06:24:31.637702Z","times_seen":55,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","size":14451,"data":"","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-27T06:24:31.753031Z","times_seen":41,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/jquery.countdown.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"6d3cd439de5bb33549d3e88e4287b36d","sha1":"ca201670b9ac5c22beee3e957f019c3a65ecb432","sha256":"e0353595e99187155727166867c9c2f56070305183b63a23a3400db4420f7049","sha512":"4d452996a3651402edacc57911e429e31886ad820f681335d82086c4bd9c20f0a4478049e7eeb43f81f67ff23161f8bcf72d8f923aa96dc1527ee5b9adcafa63","ssdeep":"192:hQHchgyq0vFaKzYPvo4PWPrdgxuG0egEATe+bi:hfgRgFvcv7PWPrdgxuagEATe+bi","tlshash":"1e12214db7791181947a73398fad0109f636936ba443426a7cfc52c82f3286841ebff9","size":9784,"data":"","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:29.967999Z","times_seen":51,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","size":194344,"data":"","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T06:15:18.677314Z","times_seen":1500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","size":88966,"data":"","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-07-27T06:14:34.259162Z","times_seen":1999,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","size":57327,"data":"","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-27T06:24:31.755131Z","times_seen":224,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","size":340,"data":"","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-07-27T06:14:34.207345Z","times_seen":308,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","size":5966,"data":"","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T06:14:34.125498Z","times_seen":757,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","size":16285,"data":"","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-27T06:24:31.678718Z","times_seen":223,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","size":28269,"data":"","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-27T06:24:31.648779Z","times_seen":60,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/gold-app.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"introduction_type":"scriptElement","is_inline":false,"md5":"94e18b2da8a6ac858695cc2a7af472d3","sha1":"f74b77e21bedee01a81e6d1d614b672a8cd0fa6d","sha256":"56a5bd515825561047b05c9190bd09a039fc9cd6de6af3382e96a614ba31ebf3","sha512":"5d7758454cd9be3168e636a69511ec9508cc4afae65bb2b7d8d3500b684135155db68cee7f977d53d710f2bf779ce16d1405584c68fda55fbcbcbf832d36fdf8","ssdeep":"","tlshash":"fc21035926707dbb9243a04666beb70314355c3366225ea3e2fcc87cfaf755c2316583","size":1175,"data":"","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.095806Z","times_seen":26,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","size":1863,"data":"","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-07-27T06:14:34.146246Z","times_seen":477,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","size":3144,"data":"","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-27T06:24:31.681328Z","times_seen":136,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","size":32303,"data":"","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-27T06:24:31.635459Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","size":4812,"data":"","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T06:16:23.035994Z","times_seen":3812,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","size":21512,"data":"","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-07-27T06:24:31.626426Z","times_seen":224,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14625.ada612ccefdef779e295.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.195Z","timestamp":1785124877195,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/14625.ada612ccefdef779e295.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"69f98b71-f8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 59705d05fcb37d05fad4454daac43e84\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":248,"size_decoded":920,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"262d7c6d32fe176cad158bcf581392cf","sha1":"46ad9060cd3563ca4a028ea3ef2de8e4f2aa4cbf","sha256":"afec4eea93654c674622a8144d3721d9bd840022423552e2ad2c630463a7fbe1","sha512":"7950e146c863cb2f43396153f4068338f6514f7214983146822d7aa47777172d75340f6d86a723724a3f9e15b8363f5ba13b933024993d98520fc45be5524791","ssdeep":"","tlshash":"1fd05e7e9ec8372052138f271693679ac82786159f300e5edb00a2234fda40be8334a4","first_seen":"2023-04-17T07:26:31Z","last_seen":"2026-07-27T06:24:31.61596Z","times_seen":614,"resource_available":false,"data":"LmNvbnRhaW5lci1NMW16NHF1QXtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5sb2dvLU0xbXo0cXVBLC5wYWlyQ29udGFpbmVyLU0xbXo0cXVBe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ28tTTFtejRxdUF7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nby1NMW16NHF1QSBpbWd7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uaGlkZGVuLU0xbXo0cXVBe2Rpc3BsYXk6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71528.7c6c08c8eed01d841052.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.210Z","timestamp":1785124877210,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71528.7c6c08c8eed01d841052.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ba76e2cf1768333aaf313e39d309a9ed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":207,"size_decoded":927,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"59c821709296397ada51b9c216f5c7bb","sha1":"960e0c054e516480ef63b30288834dbdf74de433","sha256":"12cab853e535a7f334166f97b48646a814935d98d7b080bc94ccddbae1aa0184","sha512":"57476d65b403a65d401ed958edb75bb17b0f5611d395f8cc073f2884ad790a835be959c08ca96a00bccb24ead3fc3ed5d11bac90568c95998b075d2994571bf1","ssdeep":"","tlshash":"9fd0a7a445e26fa8801294f217810561b008caa552634ecb55139a1ed7c568774b5095","first_seen":"2026-07-19T14:58:49.097554Z","last_seen":"2026-07-27T06:14:34.30935Z","times_seen":39,"resource_available":false,"data":"LnJpZ2h0LU9JQmtrM2dLe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7ZGlzcGxheTpmbGV4O2dhcDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0uYXJyb3ctT0lCa2szZ0t7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0uYXJyb3ctT0lCa2szZ0s6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.828Z","timestamp":1785124877828,"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://berthenergy-inc.biz/\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: 399033\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-27T06:15:18.680435Z","times_seen":16655,"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":"berthenergy-inc.biz/css/styles/bootstrap.css","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.196Z","timestamp":1785124875196,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /css/styles/bootstrap.css HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 01 Feb 2022 20:36:02 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f999b2-2a61d\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":173597,"size_decoded":31991,"mime_type":"text/css","magic":"ASCII text","md5":"d26ecc887c12f855a908679dae6704e3","sha1":"eb513f44232e0854b251fc2b499bdbf9ad59e3e7","sha256":"4a64845cd000ad3810f1247a90aa723ff37e8c0f1ff2af0aa46d2a4257522a8b","sha512":"e7b9477ef6c4e462d6036d2a0d3093454a4a9ed0671651b457ec7c7f7ab70ea64ae97947195b1ba42088fe469db5a141304626ab921e5599ec5a35b1d90a10b7","ssdeep":"1536:Ph7amsyJfXgxUnLQFom4ADXeASzj7+QTzNDBESnwCkRzDL4iDF4j:PxVgxUL/nGRzDL4iDF4j","tlshash":"1a045459fdf11408346b865c24d6f7e57b6d8087c61edebabae32124cf493c58cb2988","first_seen":"2023-04-05T14:33:33Z","last_seen":"2026-07-27T04:03:29.984941Z","times_seen":320,"resource_available":false,"data":"LyohCiAqIEJvb3RzdHJhcCB2NC4xLjMgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pCiAqIENvcHlyaWdodCAyMDExLTIwMTggVGhlIEJvb3RzdHJhcCBBdXRob3JzCiAqIENvcHlyaWdodCAyMDExLTIwMTggVHdpdHRlciwgSW5jLgogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQogKi8KOnJvb3QgewogIC0tYmx1ZTogIzAwN2JmZjsKICAtLWluZGlnbzogIzY2MTBmMjsKICAtLXB1cnBsZTogIzZmNDJjMTsKICAtLXBpbms6ICNlODNlOGM7CiAgLS1yZWQ6ICNkYzM1NDU7CiAgLS1vcmFuZ2U6ICNmZDdlMTQ7CiAgLS15ZWxsb3c6ICNmZmMxMDc7CiAgLS1ncmVlbjogIzI4YTc0NTsKICAtLXRlYWw6ICMyMGM5OTc7CiAgLS1jeWFuOiAjMTdhMmI4OwogIC0td2hpdGU6ICNmZmY7CiAgLS1ncmF5OiAjNmM3NTdkOwogIC0tZ3JheS1kYXJrOiAjMzQzYTQwOwogIC0tcHJpbWFyeTogIzAwN2JmZjsKICAtLXNlY29uZGFyeTogIzZjNzU3ZDsKICAtLXN1Y2Nlc3M6ICMyOGE3NDU7CiAgLS1pbmZvOiAjMTdhMmI4OwogIC0td2FybmluZzogI2ZmYzEwNzsKICAtLWRhbmdlcjogI2RjMzU0NTsKICAtLWxpZ2h0OiAjZjhmOWZhOwogIC0tZGFyazogIzM0M2E0MDsKICAtLWJyZWFrcG9pbnQteHM6IDA7CiAgLS1icmVha3BvaW50LXNtOiA1NzZweDsKICAtLWJyZWFrcG9pbnQtbWQ6IDc2OHB4OwogIC0tYnJlYWtwb2ludC1sZzogOTkycHg7CiAgLS1icmVha3BvaW50LXhsOiAxMjAwcHg7CiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSIsICJTZWdvZSBVSSBTeW1ib2wiLCAiTm90byBDb2xvciBFbW9qaSI7CiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZTsKfQoKKiwKKjo6YmVmb3JlLAoqOjphZnRlciB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoKaHRtbCB7CiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgbGluZS1oZWlnaHQ6IDEuMTU7CiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOwogIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOwogIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKfQoKQC1tcy12aWV3cG9ydCB7CiAgd2lkdGg6IGRldmljZS13aWR0aDsKfQoKYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHsKICBkaXNwbGF5OiBibG9jazsKfQoKYm9keSB7CiAgbWFyZ2luOiAwOwogIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSIsICJTZWdvZSBVSSBTeW1ib2wiLCAiTm90byBDb2xvciBFbW9qaSI7CiAgZm9udC1zaXplOiAxcmVtOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBjb2xvcjogIzIxMjUyOTsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KClt0YWJpbmRleD0iLTEiXTpmb2N1cyB7CiAgb3V0bGluZTogMCAhaW1wb3J0YW50Owp9CgpociB7CiAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgaGVpZ2h0OiAwOwogIG92ZXJmbG93OiB2aXNpYmxlOwp9CgpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICBtYXJnaW4tdG9wOiAwOwogIG1hcmdpbi1ib3R0b206IDAuNXJlbTsKfQoKcCB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwp9CgphYmJyW3RpdGxlXSwKYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOwogIGN1cnNvcjogaGVscDsKICBib3JkZXItYm90dG9tOiAwOwp9CgphZGRyZXNzIHsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBsaW5lLWhlaWdodDogaW5oZXJpdDsKfQoKb2wsCnVsLApkbCB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwp9CgpvbCBvbCwKdWwgdWwsCm9sIHVsLAp1bCBvbCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoKZHQgewogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCmRkIHsKICBtYXJnaW4tYm90dG9tOiAuNXJlbTsKICBtYXJnaW4tbGVmdDogMDsKfQoKYmxvY2txdW90ZSB7CiAgbWFyZ2luOiAwIDAgMXJlbTsKfQoKZGZuIHsKICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KCmIsCnN0cm9uZyB7CiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsKfQoKc21hbGwgewogIGZvbnQtc2l6ZTogODAlOwp9CgpzdWIsCnN1cCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGZvbnQtc2l6ZTogNzUlOwogIGxpbmUtaGVpZ2h0OiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQoKc3ViIHsKICBib3R0b206IC0uMjVlbTsKfQoKc3VwIHsKICB0b3A6IC0uNWVtOwp9CgphIHsKICBjb2xvcjogIzAwN2JmZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsKfQoKYTpob3ZlciB7CiAgY29sb3I6ICMwMDU2YjM7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Cn0KCmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHsKICBjb2xvcjogaW5oZXJpdDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmhvdmVyLCBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7CiAgY29sb3I6IGluaGVyaXQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgphOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7CiAgb3V0bGluZTogMDsKfQoKcHJlLApjb2RlLAprYmQsCnNhbXAgewogIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICJMaWJlcmF0aW9uIE1vbm8iLCAiQ291cmllciBOZXciLCBtb25vc3BhY2U7CiAgZm9udC1zaXplOiAxZW07Cn0KCnByZSB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIG92ZXJmbG93OiBhdXRvOwogIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOwp9CgpmaWd1cmUgewogIG1hcmdpbjogMCAwIDFyZW07Cn0KCmltZyB7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBib3JkZXItc3R5bGU6IG5vbmU7Cn0KCnN2ZyB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Cgp0YWJsZSB7CiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKfQoKY2FwdGlvbiB7CiAgcGFkZGluZy10b3A6IDAuNzVyZW07CiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07CiAgY29sb3I6ICM2Yzc1N2Q7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsKfQoKdGggewogIHRleHQtYWxpZ246IGluaGVyaXQ7Cn0KCmxhYmVsIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOwp9CgpidXR0b24gewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KCmJ1dHRvbjpmb2N1cyB7CiAgb3V0bGluZTogMXB4IGRvdHRlZDsKICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7Cn0KCmlucHV0LApidXR0b24sCnNlbGVjdCwKb3B0Z3JvdXAsCnRleHRhcmVhIHsKICBtYXJnaW46IDA7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGxpbmUtaGVpZ2h0OiBpbmhlcml0Owp9CgpidXR0b24sCmlucHV0IHsKICBvdmVyZmxvdzogdmlzaWJsZTsKfQoKYnV0dG9uLApzZWxlY3QgewogIHRleHQtdHJhbnNmb3JtOiBub25lOwp9CgpidXR0b24sCmh0bWwgW3R5cGU9ImJ1dHRvbiJdLApbdHlwZT0icmVzZXQiXSwKW3R5cGU9InN1Ym1pdCJdIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsKfQoKYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLApbdHlwZT0iYnV0dG9uIl06Oi1tb3otZm9jdXMtaW5uZXIsClt0eXBlPSJyZXNldCJdOjotbW96LWZvY3VzLWlubmVyLApbdHlwZT0ic3VibWl0Il06Oi1tb3otZm9jdXMtaW5uZXIgewogIHBhZGRpbmc6IDA7CiAgYm9yZGVyLXN0eWxlOiBub25lOwp9CgppbnB1dFt0eXBlPSJyYWRpbyJdLAppbnB1dFt0eXBlPSJjaGVja2JveCJdIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHBhZGRpbmc6IDA7Cn0KCmlucHV0W3R5cGU9ImRhdGUiXSwKaW5wdXRbdHlwZT0idGltZSJdLAppbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLAppbnB1dFt0eXBlPSJtb250aCJdIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7Cn0KCnRleHRhcmVhIHsKICBvdmVyZmxvdzogYXV0bzsKICByZXNpemU6IHZlcnRpY2FsOwp9CgpmaWVsZHNldCB7CiAgbWluLXdpZHRoOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwogIGJvcmRlcjogMDsKfQoKbGVnZW5kIHsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMTAwJTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogMDsKICBtYXJnaW4tYm90dG9tOiAuNXJlbTsKICBmb250LXNpemU6IDEuNXJlbTsKICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICBjb2xvcjogaW5oZXJpdDsKICB3aGl0ZS1zcGFjZTogbm9ybWFsOwp9Cgpwcm9ncmVzcyB7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwp9CgpbdHlwZT0ibnVtYmVyIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sClt0eXBlPSJudW1iZXIiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7CiAgaGVpZ2h0OiBhdXRvOwp9CgpbdHlwZT0ic2VhcmNoIl0gewogIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKfQoKW3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLApbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKfQoKOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7CiAgZm9udDogaW5oZXJpdDsKICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsKfQoKb3V0cHV0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCnN1bW1hcnkgewogIGRpc3BsYXk6IGxpc3QtaXRlbTsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KCnRlbXBsYXRlIHsKICBkaXNwbGF5OiBub25lOwp9CgpbaGlkZGVuXSB7CiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9CgpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LAouaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHsKICBtYXJnaW4tYm90dG9tOiAwLjVyZW07CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsaW5lLWhlaWdodDogMS4yOwogIGNvbG9yOiBpbmhlcml0Owp9CgpoMSwgLmgxIHsKICBmb250LXNpemU6IDIuNXJlbTsKfQoKaDIsIC5oMiB7CiAgZm9udC1zaXplOiAycmVtOwp9CgpoMywgLmgzIHsKICBmb250LXNpemU6IDEuNzVyZW07Cn0KCmg0LCAuaDQgewogIGZvbnQtc2l6ZTogMS41cmVtOwp9CgpoNSwgLmg1IHsKICBmb250LXNpemU6IDEuMjVyZW07Cn0KCmg2LCAuaDYgewogIGZvbnQtc2l6ZTogMXJlbTsKfQoKLmxlYWQgewogIGZvbnQtc2l6ZTogMS4yNXJlbTsKICBmb250LXdlaWdodDogMzAwOwp9CgouZGlzcGxheS0xIHsKICBmb250LXNpemU6IDZyZW07CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBsaW5lLWhlaWdodDogMS4yOwp9CgouZGlzcGxheS0yIHsKICBmb250LXNpemU6IDUuNXJlbTsKICBmb250LXdlaWdodDogMzAwOwogIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KCi5kaXNwbGF5LTMgewogIGZvbnQtc2l6ZTogNC41cmVtOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgbGluZS1oZWlnaHQ6IDEuMjsKfQoKLmRpc3BsYXktNCB7CiAgZm9udC1zaXplOiAzLjVyZW07CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBsaW5lLWhlaWdodDogMS4yOwp9CgpociB7CiAgbWFyZ2luLXRvcDogMXJlbTsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGJvcmRlcjogMDsKICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpOwp9CgpzbWFsbCwKLnNtYWxsIHsKICBmb250LXNpemU6IDgwJTsKICBmb250LXdlaWdodDogNDAwOwp9CgptYXJrLAoubWFyayB7CiAgcGFkZGluZzogMC4yZW07CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsKfQoKLmxpc3QtdW5zdHlsZWQgewogIHBhZGRpbmctbGVmdDogMDsKICBsaXN0LXN0eWxlOiBub25lOwp9CgoubGlzdC1pbmxpbmUgewogIHBhZGRpbmctbGVmdDogMDsKICBsaXN0LXN0eWxlOiBub25lOwp9CgoubGlzdC1pbmxpbmUtaXRlbSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CgoubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHsKICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsKfQoKLmluaXRpYWxpc20gewogIGZvbnQtc2l6ZTogOTAlOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5ibG9ja3F1b3RlIHsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGZvbnQtc2l6ZTogMS4yNXJlbTsKfQoKLmJsb2NrcXVvdGUtZm9vdGVyIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXNpemU6IDgwJTsKICBjb2xvcjogIzZjNzU3ZDsKfQoKLmJsb2NrcXVvdGUtZm9vdGVyOjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcMjAxNCBcMDBBMCI7Cn0KCi5pbWctZmx1aWQgewogIG1heC13aWR0aDogMTAwJTsKICBoZWlnaHQ6IGF1dG87Cn0KCi5pbWctdGh1bWJuYWlsIHsKICBwYWRkaW5nOiAwLjI1cmVtOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjsKICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOwogIG1heC13aWR0aDogMTAwJTsKICBoZWlnaHQ6IGF1dG87Cn0KCi5maWd1cmUgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLmZpZ3VyZS1pbWcgewogIG1hcmdpbi1ib3R0b206IDAuNXJlbTsKICBsaW5lLWhlaWdodDogMTsKfQoKLmZpZ3VyZS1jYXB0aW9uIHsKICBmb250LXNpemU6IDkwJTsKICBjb2xvcjogIzZjNzU3ZDsKfQoKY29kZSB7CiAgZm9udC1zaXplOiA4Ny41JTsKICBjb2xvcjogI2U4M2U4YzsKICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwp9CgphID4gY29kZSB7CiAgY29sb3I6IGluaGVyaXQ7Cn0KCmtiZCB7CiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTsKICBmb250LXNpemU6IDg3LjUlOwogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7CiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOwp9CgprYmQga2JkIHsKICBwYWRkaW5nOiAwOwogIGZvbnQtc2l6ZTogMTAwJTsKICBmb250LXdlaWdodDogNzAwOwp9CgpwcmUgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogODcuNSU7CiAgY29sb3I6ICMyMTI1Mjk7Cn0KCnByZSBjb2RlIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgd29yZC1icmVhazogbm9ybWFsOwp9CgoucHJlLXNjcm9sbGFibGUgewogIG1heC1oZWlnaHQ6IDM0MHB4OwogIG92ZXJmbG93LXk6IHNjcm9sbDsKfQoKLmNvbnRhaW5lciB7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy1yaWdodDogMTVweDsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogIG1hcmdpbi1sZWZ0OiBhdXRvOwp9CgpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsKICAuY29udGFpbmVyIHsKICAgIG1heC13aWR0aDogNTQwcHg7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKICAuY29udGFpbmVyIHsKICAgIG1heC13aWR0aDogNzIwcHg7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsKICAuY29udGFpbmVyIHsKICAgIG1heC13aWR0aDogOTYwcHg7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLmNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDExNDBweDsKICB9Cn0KCi5jb250YWluZXItZmx1aWQgewogIHdpZHRoOiAxMDAlOwogIHBhZGRpbmctcmlnaHQ6IDE1cHg7CiAgcGFkZGluZy1sZWZ0OiAxNXB4OwogIG1hcmdpbi1yaWdodDogYXV0bzsKICBtYXJnaW4tbGVmdDogYXV0bzsKfQoKLnJvdyB7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtbXMtZmxleC13cmFwOiB3cmFwOwogIGZsZXgtd3JhcDogd3JhcDsKICBtYXJnaW4tcmlnaHQ6IC0xNXB4OwogIG1hcmdpbi1sZWZ0OiAtMTVweDsKfQoKLm5vLWd1dHRlcnMgewogIG1hcmdpbi1yaWdodDogMDsKICBtYXJnaW4tbGVmdDogMDsKfQoKLm5vLWd1dHRlcnMgPiAuY29sLAoubm8tZ3V0dGVycyA+IFtjbGFzcyo9ImNvbC0iXSB7CiAgcGFkZGluZy1yaWdodDogMDsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KCi5jb2wtMSwgLmNvbC0yLCAuY29sLTMsIC5jb2wtNCwgLmNvbC01LCAuY29sLTYsIC5jb2wtNywgLmNvbC04LCAuY29sLTksIC5jb2wtMTAsIC5jb2wtMTEsIC5jb2wtMTIsIC5jb2wsCi5jb2wtYXV0bywgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1zbSwKLmNvbC1zbS1hdXRvLCAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyLCAuY29sLW1kLAouY29sLW1kLWF1dG8sIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIsIC5jb2wtbGcsCi5jb2wtbGctYXV0bywgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiwgLmNvbC14bCwKLmNvbC14bC1hdXRvIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7CiAgbWluLWhlaWdodDogMXB4OwogIHBhZGRpbmctcmlnaHQ6IDE1cHg7CiAgcGFkZGluZy1sZWZ0OiAxNXB4Owp9CgouY29sIHsKICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsKICBmbGV4LWJhc2lzOiAwOwogIC1tcy1mbGV4LXBvc2l0aXZlOiAxOwogIGZsZXgtZ3JvdzogMTsKICBtYXgtd2lkdGg6IDEwMCU7Cn0KCi5jb2wtYXV0byB7CiAgLW1zLWZsZXg6IDAgMCBhdXRvOwogIGZsZXg6IDAgMCBhdXRvOwogIHdpZHRoOiBhdXRvOwogIG1heC13aWR0aDogbm9uZTsKfQoKLmNvbC0xIHsKICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTsKICBmbGV4OiAwIDAgOC4zMzMzMzMlOwogIG1heC13aWR0aDogOC4zMzMzMzMlOwp9CgouY29sLTIgewogIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjY3JTsKICBmbGV4OiAwIDAgMTYuNjY2NjY3JTsKICBtYXgtd2lkdGg6IDE2LjY2NjY2NyU7Cn0KCi5jb2wtMyB7CiAgLW1zLWZsZXg6IDAgMCAyNSU7CiAgZmxleDogMCAwIDI1JTsKICBtYXgtd2lkdGg6IDI1JTsKfQoKLmNvbC00IHsKICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7CiAgZmxleDogMCAwIDMzLjMzMzMzMyU7CiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlOwp9CgouY29sLTUgewogIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjY3JTsKICBmbGV4OiAwIDAgNDEuNjY2NjY3JTsKICBtYXgtd2lkdGg6IDQxLjY2NjY2NyU7Cn0KCi5jb2wtNiB7CiAgLW1zLWZsZXg6IDAgMCA1MCU7CiAgZmxleDogMCAwIDUwJTsKICBtYXgtd2lkdGg6IDUwJTsKfQoKLmNvbC03IHsKICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7CiAgZmxleDogMCAwIDU4LjMzMzMzMyU7CiAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlOwp9CgouY29sLTggewogIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjY3JTsKICBmbGV4OiAwIDAgNjYuNjY2NjY3JTsKICBtYXgtd2lkdGg6IDY2LjY2NjY2NyU7Cn0KCi5jb2wtOSB7CiAgLW1zLWZsZXg6IDAgMCA3NSU7CiAgZmxleDogMCAwIDc1JTsKICBtYXgtd2lkdGg6IDc1JTsKfQoKLmNvbC0xMCB7CiAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlOwogIGZsZXg6IDAgMCA4My4zMzMzMzMlOwogIG1heC13aWR0aDogODMuMzMzMzMzJTsKfQoKLmNvbC0xMSB7CiAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NjclOwogIGZsZXg6IDAgMCA5MS42NjY2NjclOwogIG1heC13aWR0aDogOTEuNjY2NjY3JTsKfQoKLmNvbC0xMiB7CiAgLW1zLWZsZXg6IDAgMCAxMDAlOwogIGZsZXg6IDAgMCAxMDAlOwogIG1heC13aWR0aDogMTAwJTsKfQoKLm9yZGVyLWZpcnN0IHsKICAtbXMtZmxleC1vcmRlcjogLTE7CiAgb3JkZXI6IC0xOwp9Cgoub3JkZXItbGFzdCB7CiAgLW1zLWZsZXgtb3JkZXI6IDEzOwogIG9yZGVyOiAxMzsKfQoKLm9yZGVyLTAgewogIC1tcy1mbGV4LW9yZGVyOiAwOwogIG9yZGVyOiAwOwp9Cgoub3JkZXItMSB7CiAgLW1zLWZsZXgtb3JkZXI6IDE7CiAgb3JkZXI6IDE7Cn0KCi5vcmRlci0yIHsKICAtbXMtZmxleC1vcmRlcjogMjsKICBvcmRlcjogMjsKfQoKLm9yZGVyLTMgewogIC1tcy1mbGV4LW9yZGVyOiAzOwogIG9yZGVyOiAzOwp9Cgoub3JkZXItNCB7CiAgLW1zLWZsZXgtb3JkZXI6IDQ7CiAgb3JkZXI6IDQ7Cn0KCi5vcmRlci01IHsKICAtbXMtZmxleC1vcmRlcjogNTsKICBvcmRlcjogNTsKfQoKLm9yZGVyLTYgewogIC1tcy1mbGV4LW9yZGVyOiA2OwogIG9yZGVyOiA2Owp9Cgoub3JkZXItNyB7CiAgLW1zLWZsZXgtb3JkZXI6IDc7CiAgb3JkZXI6IDc7Cn0KCi5vcmRlci04IHsKICAtbXMtZmxleC1vcmRlcjogODsKICBvcmRlcjogODsKfQoKLm9yZGVyLTkgewogIC1tcy1mbGV4LW9yZGVyOiA5OwogIG9yZGVyOiA5Owp9Cgoub3JkZXItMTAgewogIC1tcy1mbGV4LW9yZGVyOiAxMDsKICBvcmRlcjogMTA7Cn0KCi5vcmRlci0xMSB7CiAgLW1zLWZsZXgtb3JkZXI6IDExOwogIG9yZGVyOiAxMTsKfQoKLm9yZGVyLTEyIHsKICAtbXMtZmxleC1vcmRlcjogMTI7CiAgb3JkZXI6IDEyOwp9Cgoub2Zmc2V0LTEgewogIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyU7Cn0KCi5vZmZzZXQtMiB7CiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7Cn0KCi5vZmZzZXQtMyB7CiAgbWFyZ2luLWxlZnQ6IDI1JTsKfQoKLm9mZnNldC00IHsKICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJTsKfQoKLm9mZnNldC01IHsKICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTsKfQoKLm9mZnNldC02IHsKICBtYXJnaW4tbGVmdDogNTAlOwp9Cgoub2Zmc2V0LTcgewogIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlOwp9Cgoub2Zmc2V0LTggewogIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclOwp9Cgoub2Zmc2V0LTkgewogIG1hcmdpbi1sZWZ0OiA3NSU7Cn0KCi5vZmZzZXQtMTAgewogIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlOwp9Cgoub2Zmc2V0LTExIHsKICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7CiAgLmNvbC1zbSB7CiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsKICAgIGZsZXgtYmFzaXM6IDA7CiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsKICAgIGZsZXgtZ3JvdzogMTsKICAgIG1heC13aWR0aDogMTAwJTsKICB9CiAgLmNvbC1zbS1hdXRvIHsKICAgIC1tcy1mbGV4OiAwIDAgYXV0bzsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgICBtYXgtd2lkdGg6IG5vbmU7CiAgfQogIC5jb2wtc20tMSB7CiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTsKICAgIGZsZXg6IDAgMCA4LjMzMzMzMyU7CiAgICBtYXgtd2lkdGg6IDguMzMzMzMzJTsKICB9CiAgLmNvbC1zbS0yIHsKICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjY3JTsKICAgIGZsZXg6IDAgMCAxNi42NjY2NjclOwogICAgbWF4LXdpZHRoOiAxNi42NjY2NjclOwogIH0KICAuY29sLXNtLTMgewogICAgLW1zLWZsZXg6IDAgMCAyNSU7CiAgICBmbGV4OiAwIDAgMjUlOwogICAgbWF4LXdpZHRoOiAyNSU7CiAgfQogIC5jb2wtc20tNCB7CiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7CiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTsKICAgIG1heC13aWR0aDogMzMuMzMzMzMzJTsKICB9CiAgLmNvbC1zbS01IHsKICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjY3JTsKICAgIGZsZXg6IDAgMCA0MS42NjY2NjclOwogICAgbWF4LXdpZHRoOiA0MS42NjY2NjclOwogIH0KICAuY29sLXNtLTYgewogICAgLW1zLWZsZXg6IDAgMCA1MCU7CiAgICBmbGV4OiAwIDAgNTAlOwogICAgbWF4LXdpZHRoOiA1MCU7CiAgfQogIC5jb2wtc20tNyB7CiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7CiAgICBmbGV4OiAwIDAgNTguMzMzMzMzJTsKICAgIG1heC13aWR0aDogNTguMzMzMzMzJTsKICB9CiAgLmNvbC1zbS04IHsKICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjY3JTsKICAgIGZsZXg6IDAgMCA2Ni42NjY2NjclOwogICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclOwogIH0KICAuY29sLXNtLTkgewogICAgLW1zLWZsZXg6IDAgMCA3NSU7CiAgICBmbGV4OiAwIDAgNzUlOwogICAgbWF4LXdpZHRoOiA3NSU7CiAgfQogIC5jb2wtc20tMTAgewogICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlOwogICAgZmxleDogMCAwIDgzLjMzMzMzMyU7CiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyU7CiAgfQogIC5jb2wtc20tMTEgewogICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NjclOwogICAgZmxleDogMCAwIDkxLjY2NjY2NyU7CiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7CiAgfQogIC5jb2wtc20tMTIgewogICAgLW1zLWZsZXg6IDAgMCAxMDAlOwogICAgZmxleDogMCAwIDEwMCU7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgfQogIC5vcmRlci1zbS1maXJzdCB7CiAgICAtbXMtZmxleC1vcmRlcjogLTE7CiAgICBvcmRlcjogLTE7CiAgfQogIC5vcmRlci1zbS1sYXN0IHsKICAgIC1tcy1mbGV4LW9yZGVyOiAxMzsKICAgIG9yZGVyOiAxMzsKICB9CiAgLm9yZGVyLXNtLTAgewogICAgLW1zLWZsZXgtb3JkZXI6IDA7CiAgICBvcmRlcjogMDsKICB9CiAgLm9yZGVyLXNtLTEgewogICAgLW1zLWZsZXgtb3JkZXI6IDE7CiAgICBvcmRlcjogMTsKICB9CiAgLm9yZGVyLXNtLTIgewogICAgLW1zLWZsZXgtb3JkZXI6IDI7CiAgICBvcmRlcjogMjsKICB9CiAgLm9yZGVyLXNtLTMgewogICAgLW1zLWZsZXgtb3JkZXI6IDM7CiAgICBvcmRlcjogMzsKICB9CiAgLm9yZGVyLXNtLTQgewogICAgLW1zLWZsZXgtb3JkZXI6IDQ7CiAgICBvcmRlcjogNDsKICB9CiAgLm9yZGVyLXNtLTUgewogICAgLW1zLWZsZXgtb3JkZXI6IDU7CiAgICBvcmRlcjogNTsKICB9CiAgLm9yZGVyLXNtLTYgewogICAgLW1zLWZsZXgtb3JkZXI6IDY7CiAgICBvcmRlcjogNjsKICB9CiAgLm9yZGVyLXNtLTcgewogICAgLW1zLWZsZXgtb3JkZXI6IDc7CiAgICBvcmRlcjogNzsKICB9CiAgLm9yZGVyLXNtLTggewogICAgLW1zLWZsZXgtb3JkZXI6IDg7CiAgICBvcmRlcjogODsKICB9CiAgLm9yZGVyLXNtLTkgewogICAgLW1zLWZsZXgtb3JkZXI6IDk7CiAgICBvcmRlcjogOTsKICB9CiAgLm9yZGVyLXNtLTEwIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAxMDsKICAgIG9yZGVyOiAxMDsKICB9CiAgLm9yZGVyLXNtLTExIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAxMTsKICAgIG9yZGVyOiAxMTsKICB9CiAgLm9yZGVyLXNtLTEyIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAxMjsKICAgIG9yZGVyOiAxMjsKICB9CiAgLm9mZnNldC1zbS0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogIH0KICAub2Zmc2V0LXNtLTEgewogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTsKICB9CiAgLm9mZnNldC1zbS0yIHsKICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjclOwogIH0KICAub2Zmc2V0LXNtLTMgewogICAgbWFyZ2luLWxlZnQ6IDI1JTsKICB9CiAgLm9mZnNldC1zbS00IHsKICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlOwogIH0KICAub2Zmc2V0LXNtLTUgewogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NyU7CiAgfQogIC5vZmZzZXQtc20tNiB7CiAgICBtYXJnaW4tbGVmdDogNTAlOwogIH0KICAub2Zmc2V0LXNtLTcgewogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7CiAgfQogIC5vZmZzZXQtc20tOCB7CiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY3JTsKICB9CiAgLm9mZnNldC1zbS05IHsKICAgIG1hcmdpbi1sZWZ0OiA3NSU7CiAgfQogIC5vZmZzZXQtc20tMTAgewogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7CiAgfQogIC5vZmZzZXQtc20tMTEgewogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NyU7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKICAuY29sLW1kIHsKICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOwogICAgZmxleC1iYXNpczogMDsKICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOwogICAgZmxleC1ncm93OiAxOwogICAgbWF4LXdpZHRoOiAxMDAlOwogIH0KICAuY29sLW1kLWF1dG8gewogICAgLW1zLWZsZXg6IDAgMCBhdXRvOwogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICAgIG1heC13aWR0aDogbm9uZTsKICB9CiAgLmNvbC1tZC0xIHsKICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMzMlOwogICAgZmxleDogMCAwIDguMzMzMzMzJTsKICAgIG1heC13aWR0aDogOC4zMzMzMzMlOwogIH0KICAuY29sLW1kLTIgewogICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NjclOwogICAgZmxleDogMCAwIDE2LjY2NjY2NyU7CiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyU7CiAgfQogIC5jb2wtbWQtMyB7CiAgICAtbXMtZmxleDogMCAwIDI1JTsKICAgIGZsZXg6IDAgMCAyNSU7CiAgICBtYXgtd2lkdGg6IDI1JTsKICB9CiAgLmNvbC1tZC00IHsKICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMzJTsKICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlOwogICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlOwogIH0KICAuY29sLW1kLTUgewogICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NjclOwogICAgZmxleDogMCAwIDQxLjY2NjY2NyU7CiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NyU7CiAgfQogIC5jb2wtbWQtNiB7CiAgICAtbXMtZmxleDogMCAwIDUwJTsKICAgIGZsZXg6IDAgMCA1MCU7CiAgICBtYXgtd2lkdGg6IDUwJTsKICB9CiAgLmNvbC1tZC03IHsKICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMzJTsKICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMlOwogICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlOwogIH0KICAuY29sLW1kLTggewogICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NjclOwogICAgZmxleDogMCAwIDY2LjY2NjY2NyU7CiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NyU7CiAgfQogIC5jb2wtbWQtOSB7CiAgICAtbXMtZmxleDogMCAwIDc1JTsKICAgIGZsZXg6IDAgMCA3NSU7CiAgICBtYXgtd2lkdGg6IDc1JTsKICB9CiAgLmNvbC1tZC0xMCB7CiAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzMyU7CiAgICBmbGV4OiAwIDAgODMuMzMzMzMzJTsKICAgIG1heC13aWR0aDogODMuMzMzMzMzJTsKICB9CiAgLmNvbC1tZC0xMSB7CiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY2NyU7CiAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTsKICAgIG1heC13aWR0aDogOTEuNjY2NjY3JTsKICB9CiAgLmNvbC1tZC0xMiB7CiAgICAtbXMtZmxleDogMCAwIDEwMCU7CiAgICBmbGV4OiAwIDAgMTAwJTsKICAgIG1heC13aWR0aDogMTAwJTsKICB9CiAgLm9yZGVyLW1kLWZpcnN0IHsKICAgIC1tcy1mbGV4LW9yZGVyOiAtMTsKICAgIG9yZGVyOiAtMTsKICB9CiAgLm9yZGVyLW1kLWxhc3QgewogICAgLW1zLWZsZXgtb3JkZXI6IDEzOwogICAgb3JkZXI6IDEzOwogIH0KICAub3JkZXItbWQtMCB7CiAgICAtbXMtZmxleC1vcmRlcjogMDsKICAgIG9yZGVyOiAwOwogIH0KICAub3JkZXItbWQtMSB7CiAgICAtbXMtZmxleC1vcmRlcjogMTsKICAgIG9yZGVyOiAxOwogIH0KICAub3JkZXItbWQtMiB7CiAgICAtbXMtZmxleC1vcmRlcjogMjsKICAgIG9yZGVyOiAyOwogIH0KICAub3JkZXItbWQtMyB7CiAgICAtbXMtZmxleC1vcmRlcjogMzsKICAgIG9yZGVyOiAzOwogIH0KICAub3JkZXItbWQtNCB7CiAgICAtbXMtZmxleC1vcmRlcjogNDsKICAgIG9yZGVyOiA0OwogIH0KICAub3JkZXItbWQtNSB7CiAgICAtbXMtZmxleC1vcmRlcjogNTsKICAgIG9yZGVyOiA1OwogIH0KICAub3JkZXItbWQtNiB7CiAgICAtbXMtZmxleC1vcmRlcjogNjsKICAgIG9yZGVyOiA2OwogIH0KICAub3JkZXItbWQtNyB7CiAgICAtbXMtZmxleC1vcmRlcjogNzsKICAgIG9yZGVyOiA3OwogIH0KICAub3JkZXItbWQtOCB7CiAgICAtbXMtZmxleC1vcmRlcjogODsKICAgIG9yZGVyOiA4OwogIH0KICAub3JkZXItbWQtOSB7CiAgICAtbXMtZmxleC1vcmRlcjogOTsKICAgIG9yZGVyOiA5OwogIH0KICAub3JkZXItbWQtMTAgewogICAgLW1zLWZsZXgtb3JkZXI6IDEwOwogICAgb3JkZXI6IDEwOwogIH0KICAub3JkZXItbWQtMTEgewogICAgLW1zLWZsZXgtb3JkZXI6IDExOwogICAgb3JkZXI6IDExOwogIH0KICAub3JkZXItbWQtMTIgewogICAgLW1zLWZsZXgtb3JkZXI6IDEyOwogICAgb3JkZXI6IDEyOwogIH0KICAub2Zmc2V0LW1kLTAgewogICAgbWFyZ2luLWxlZnQ6IDA7CiAgfQogIC5vZmZzZXQtbWQtMSB7CiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMlOwogIH0KICAub2Zmc2V0LW1kLTIgewogICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7CiAgfQogIC5vZmZzZXQtbWQtMyB7CiAgICBtYXJnaW4tbGVmdDogMjUlOwogIH0KICAub2Zmc2V0LW1kLTQgewogICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMyU7CiAgfQogIC5vZmZzZXQtbWQtNSB7CiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTsKICB9CiAgLm9mZnNldC1tZC02IHsKICAgIG1hcmdpbi1sZWZ0OiA1MCU7CiAgfQogIC5vZmZzZXQtbWQtNyB7CiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzJTsKICB9CiAgLm9mZnNldC1tZC04IHsKICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclOwogIH0KICAub2Zmc2V0LW1kLTkgewogICAgbWFyZ2luLWxlZnQ6IDc1JTsKICB9CiAgLm9mZnNldC1tZC0xMCB7CiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzJTsKICB9CiAgLm9mZnNldC1tZC0xMSB7CiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgewogIC5jb2wtbGcgewogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7CiAgICBmbGV4LWJhc2lzOiAwOwogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgICBmbGV4LWdyb3c6IDE7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgfQogIC5jb2wtbGctYXV0byB7CiAgICAtbXMtZmxleDogMCAwIGF1dG87CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiBub25lOwogIH0KICAuY29sLWxnLTEgewogICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7CiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlOwogICAgbWF4LXdpZHRoOiA4LjMzMzMzMyU7CiAgfQogIC5jb2wtbGctMiB7CiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7CiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTsKICAgIG1heC13aWR0aDogMTYuNjY2NjY3JTsKICB9CiAgLmNvbC1sZy0zIHsKICAgIC1tcy1mbGV4OiAwIDAgMjUlOwogICAgZmxleDogMCAwIDI1JTsKICAgIG1heC13aWR0aDogMjUlOwogIH0KICAuY29sLWxnLTQgewogICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlOwogICAgZmxleDogMCAwIDMzLjMzMzMzMyU7CiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7CiAgfQogIC5jb2wtbGctNSB7CiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7CiAgICBmbGV4OiAwIDAgNDEuNjY2NjY3JTsKICAgIG1heC13aWR0aDogNDEuNjY2NjY3JTsKICB9CiAgLmNvbC1sZy02IHsKICAgIC1tcy1mbGV4OiAwIDAgNTAlOwogICAgZmxleDogMCAwIDUwJTsKICAgIG1heC13aWR0aDogNTAlOwogIH0KICAuY29sLWxnLTcgewogICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlOwogICAgZmxleDogMCAwIDU4LjMzMzMzMyU7CiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMyU7CiAgfQogIC5jb2wtbGctOCB7CiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7CiAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTsKICAgIG1heC13aWR0aDogNjYuNjY2NjY3JTsKICB9CiAgLmNvbC1sZy05IHsKICAgIC1tcy1mbGV4OiAwIDAgNzUlOwogICAgZmxleDogMCAwIDc1JTsKICAgIG1heC13aWR0aDogNzUlOwogIH0KICAuY29sLWxnLTEwIHsKICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTsKICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlOwogICAgbWF4LXdpZHRoOiA4My4zMzMzMzMlOwogIH0KICAuY29sLWxnLTExIHsKICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTsKICAgIGZsZXg6IDAgMCA5MS42NjY2NjclOwogICAgbWF4LXdpZHRoOiA5MS42NjY2NjclOwogIH0KICAuY29sLWxnLTEyIHsKICAgIC1tcy1mbGV4OiAwIDAgMTAwJTsKICAgIGZsZXg6IDAgMCAxMDAlOwogICAgbWF4LXdpZHRoOiAxMDAlOwogIH0KICAub3JkZXItbGctZmlyc3QgewogICAgLW1zLWZsZXgtb3JkZXI6IC0xOwogICAgb3JkZXI6IC0xOwogIH0KICAub3JkZXItbGctbGFzdCB7CiAgICAtbXMtZmxleC1vcmRlcjogMTM7CiAgICBvcmRlcjogMTM7CiAgfQogIC5vcmRlci1sZy0wIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAwOwogICAgb3JkZXI6IDA7CiAgfQogIC5vcmRlci1sZy0xIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAxOwogICAgb3JkZXI6IDE7CiAgfQogIC5vcmRlci1sZy0yIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAyOwogICAgb3JkZXI6IDI7CiAgfQogIC5vcmRlci1sZy0zIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAzOwogICAgb3JkZXI6IDM7CiAgfQogIC5vcmRlci1sZy00IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA0OwogICAgb3JkZXI6IDQ7CiAgfQogIC5vcmRlci1sZy01IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA1OwogICAgb3JkZXI6IDU7CiAgfQogIC5vcmRlci1sZy02IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA2OwogICAgb3JkZXI6IDY7CiAgfQogIC5vcmRlci1sZy03IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA3OwogICAgb3JkZXI6IDc7CiAgfQogIC5vcmRlci1sZy04IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA4OwogICAgb3JkZXI6IDg7CiAgfQogIC5vcmRlci1sZy05IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA5OwogICAgb3JkZXI6IDk7CiAgfQogIC5vcmRlci1sZy0xMCB7CiAgICAtbXMtZmxleC1vcmRlcjogMTA7CiAgICBvcmRlcjogMTA7CiAgfQogIC5vcmRlci1sZy0xMSB7CiAgICAtbXMtZmxleC1vcmRlcjogMTE7CiAgICBvcmRlcjogMTE7CiAgfQogIC5vcmRlci1sZy0xMiB7CiAgICAtbXMtZmxleC1vcmRlcjogMTI7CiAgICBvcmRlcjogMTI7CiAgfQogIC5vZmZzZXQtbGctMCB7CiAgICBtYXJnaW4tbGVmdDogMDsKICB9CiAgLm9mZnNldC1sZy0xIHsKICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyU7CiAgfQogIC5vZmZzZXQtbGctMiB7CiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JTsKICB9CiAgLm9mZnNldC1sZy0zIHsKICAgIG1hcmdpbi1sZWZ0OiAyNSU7CiAgfQogIC5vZmZzZXQtbGctNCB7CiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJTsKICB9CiAgLm9mZnNldC1sZy01IHsKICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclOwogIH0KICAub2Zmc2V0LWxnLTYgewogICAgbWFyZ2luLWxlZnQ6IDUwJTsKICB9CiAgLm9mZnNldC1sZy03IHsKICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlOwogIH0KICAub2Zmc2V0LWxnLTggewogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyU7CiAgfQogIC5vZmZzZXQtbGctOSB7CiAgICBtYXJnaW4tbGVmdDogNzUlOwogIH0KICAub2Zmc2V0LWxnLTEwIHsKICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlOwogIH0KICAub2Zmc2V0LWxnLTExIHsKICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclOwogIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogIC5jb2wteGwgewogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7CiAgICBmbGV4LWJhc2lzOiAwOwogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgICBmbGV4LWdyb3c6IDE7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgfQogIC5jb2wteGwtYXV0byB7CiAgICAtbXMtZmxleDogMCAwIGF1dG87CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiBub25lOwogIH0KICAuY29sLXhsLTEgewogICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7CiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlOwogICAgbWF4LXdpZHRoOiA4LjMzMzMzMyU7CiAgfQogIC5jb2wteGwtMiB7CiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7CiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTsKICAgIG1heC13aWR0aDogMTYuNjY2NjY3JTsKICB9CiAgLmNvbC14bC0zIHsKICAgIC1tcy1mbGV4OiAwIDAgMjUlOwogICAgZmxleDogMCAwIDI1JTsKICAgIG1heC13aWR0aDogMjUlOwogIH0KICAuY29sLXhsLTQgewogICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlOwogICAgZmxleDogMCAwIDMzLjMzMzMzMyU7CiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7CiAgfQogIC5jb2wteGwtNSB7CiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7CiAgICBmbGV4OiAwIDAgNDEuNjY2NjY3JTsKICAgIG1heC13aWR0aDogNDEuNjY2NjY3JTsKICB9CiAgLmNvbC14bC02IHsKICAgIC1tcy1mbGV4OiAwIDAgNTAlOwogICAgZmxleDogMCAwIDUwJTsKICAgIG1heC13aWR0aDogNTAlOwogIH0KICAuY29sLXhsLTcgewogICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlOwogICAgZmxleDogMCAwIDU4LjMzMzMzMyU7CiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMyU7CiAgfQogIC5jb2wteGwtOCB7CiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7CiAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTsKICAgIG1heC13aWR0aDogNjYuNjY2NjY3JTsKICB9CiAgLmNvbC14bC05IHsKICAgIC1tcy1mbGV4OiAwIDAgNzUlOwogICAgZmxleDogMCAwIDc1JTsKICAgIG1heC13aWR0aDogNzUlOwogIH0KICAuY29sLXhsLTEwIHsKICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTsKICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlOwogICAgbWF4LXdpZHRoOiA4My4zMzMzMzMlOwogIH0KICAuY29sLXhsLTExIHsKICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTsKICAgIGZsZXg6IDAgMCA5MS42NjY2NjclOwogICAgbWF4LXdpZHRoOiA5MS42NjY2NjclOwogIH0KICAuY29sLXhsLTEyIHsKICAgIC1tcy1mbGV4OiAwIDAgMTAwJTsKICAgIGZsZXg6IDAgMCAxMDAlOwogICAgbWF4LXdpZHRoOiAxMDAlOwogIH0KICAub3JkZXIteGwtZmlyc3QgewogICAgLW1zLWZsZXgtb3JkZXI6IC0xOwogICAgb3JkZXI6IC0xOwogIH0KICAub3JkZXIteGwtbGFzdCB7CiAgICAtbXMtZmxleC1vcmRlcjogMTM7CiAgICBvcmRlcjogMTM7CiAgfQogIC5vcmRlci14bC0wIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAwOwogICAgb3JkZXI6IDA7CiAgfQogIC5vcmRlci14bC0xIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAxOwogICAgb3JkZXI6IDE7CiAgfQogIC5vcmRlci14bC0yIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAyOwogICAgb3JkZXI6IDI7CiAgfQogIC5vcmRlci14bC0zIHsKICAgIC1tcy1mbGV4LW9yZGVyOiAzOwogICAgb3JkZXI6IDM7CiAgfQogIC5vcmRlci14bC00IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA0OwogICAgb3JkZXI6IDQ7CiAgfQogIC5vcmRlci14bC01IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA1OwogICAgb3JkZXI6IDU7CiAgfQogIC5vcmRlci14bC02IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA2OwogICAgb3JkZXI6IDY7CiAgfQogIC5vcmRlci14bC03IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA3OwogICAgb3JkZXI6IDc7CiAgfQogIC5vcmRlci14bC04IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA4OwogICAgb3JkZXI6IDg7CiAgfQogIC5vcmRlci14bC05IHsKICAgIC1tcy1mbGV4LW9yZGVyOiA5OwogICAgb3JkZXI6IDk7CiAgfQogIC5vcmRlci14bC0xMCB7CiAgICAtbXMtZmxleC1vcmRlcjogMTA7CiAgICBvcmRlcjogMTA7CiAgfQogIC5vcmRlci14bC0xMSB7CiAgICAtbXMtZmxleC1vcmRlcjogMTE7CiAgICBvcmRlcjogMTE7CiAgfQogIC5vcmRlci14bC0xMiB7CiAgICAtbXMtZmxleC1vcmRlcjogMTI7CiAgICBvcmRlcjogMTI7CiAgfQogIC5vZmZzZXQteGwtMCB7CiAgICBtYXJnaW4tbGVmdDogMDsKICB9CiAgLm9mZnNldC14bC0xIHsKICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyU7CiAgfQogIC5vZmZzZXQteGwtMiB7CiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JTsKICB9CiAgLm9mZnNldC14bC0zIHsKICAgIG1hcmdpbi1sZWZ0OiAyNSU7CiAgfQogIC5vZmZzZXQteGwtNCB7CiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJTsKICB9CiAgLm9mZnNldC14bC01IHsKICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclOwogIH0KICAub2Zmc2V0LXhsLTYgewogICAgbWFyZ2luLWxlZnQ6IDUwJTsKICB9CiAgLm9mZnNldC14bC03IHsKICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlOwogIH0KICAub2Zmc2V0LXhsLTggewogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyU7CiAgfQogIC5vZmZzZXQteGwtOSB7CiAgICBtYXJnaW4tbGVmdDogNzUlOwogIH0KICAub2Zmc2V0LXhsLTEwIHsKICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlOwogIH0KICAub2Zmc2V0LXhsLTExIHsKICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclOwogIH0KfQoKLnRhYmxlIHsKICB3aWR0aDogMTAwJTsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgoudGFibGUgdGgsCi50YWJsZSB0ZCB7CiAgcGFkZGluZzogMC43NXJlbTsKICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2Owp9CgoudGFibGUgdGhlYWQgdGggewogIHZlcnRpY2FsLWFsaWduOiBib3R0b207CiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTY7Cn0KCi50YWJsZSB0Ym9keSArIHRib2R5IHsKICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNjsKfQoKLnRhYmxlIC50YWJsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKLnRhYmxlLXNtIHRoLAoudGFibGUtc20gdGQgewogIHBhZGRpbmc6IDAuM3JlbTsKfQoKLnRhYmxlLWJvcmRlcmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2Owp9CgoudGFibGUtYm9yZGVyZWQgdGgsCi50YWJsZS1ib3JkZXJlZCB0ZCB7CiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjsKfQoKLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRoLAoudGFibGUtYm9yZGVyZWQgdGhlYWQgdGQgewogIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsKfQoKLnRhYmxlLWJvcmRlcmxlc3MgdGgsCi50YWJsZS1ib3JkZXJsZXNzIHRkLAoudGFibGUtYm9yZGVybGVzcyB0aGVhZCB0aCwKLnRhYmxlLWJvcmRlcmxlc3MgdGJvZHkgKyB0Ym9keSB7CiAgYm9yZGVyOiAwOwp9CgoudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9CgoudGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOwp9CgoudGFibGUtcHJpbWFyeSwKLnRhYmxlLXByaW1hcnkgPiB0aCwKLnRhYmxlLXByaW1hcnkgPiB0ZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZjsKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWZjZGZmOwp9CgoudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0ZCwKLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyID4gdGggewogIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7Cn0KCi50YWJsZS1zZWNvbmRhcnksCi50YWJsZS1zZWNvbmRhcnkgPiB0aCwKLnRhYmxlLXNlY29uZGFyeSA+IHRkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiOwp9CgoudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjsKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0ZCwKLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0aCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjsKfQoKLnRhYmxlLXN1Y2Nlc3MsCi50YWJsZS1zdWNjZXNzID4gdGgsCi50YWJsZS1zdWNjZXNzID4gdGQgewogIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2I7Cn0KCi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjsKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsCi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRoIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiOwp9CgoudGFibGUtaW5mbywKLnRhYmxlLWluZm8gPiB0aCwKLnRhYmxlLWluZm8gPiB0ZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2JlZTVlYjsKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZGU1Owp9CgoudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0ZCwKLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGggewogIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7Cn0KCi50YWJsZS13YXJuaW5nLAoudGFibGUtd2FybmluZyA+IHRoLAoudGFibGUtd2FybmluZyA+IHRkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWJhOwp9CgoudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7Cn0KCi50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRkLAoudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTsKfQoKLnRhYmxlLWRhbmdlciwKLnRhYmxlLWRhbmdlciA+IHRoLAoudGFibGUtZGFuZ2VyID4gdGQgewogIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7Cn0KCi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFiMGI3Owp9CgoudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRkLAoudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRoIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFiMGI3Owp9CgoudGFibGUtbGlnaHQsCi50YWJsZS1saWdodCA+IHRoLAoudGFibGUtbGlnaHQgPiB0ZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTsKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjsKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRkLAoudGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGggewogIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7Cn0KCi50YWJsZS1kYXJrLAoudGFibGUtZGFyayA+IHRoLAoudGFibGUtZGFyayA+IHRkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhOwp9CgoudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7Cn0KCi50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA+IHRkLAoudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0aCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTsKfQoKLnRhYmxlLWFjdGl2ZSwKLnRhYmxlLWFjdGl2ZSA+IHRoLAoudGFibGUtYWN0aXZlID4gdGQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOwp9CgoudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7Cn0KCi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGQsCi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGggewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOwp9CgoudGFibGUgLnRoZWFkLWRhcmsgdGggewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7CiAgYm9yZGVyLWNvbG9yOiAjMzIzODNlOwp9CgoudGFibGUgLnRoZWFkLWxpZ2h0IHRoIHsKICBjb2xvcjogIzQ5NTA1NzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwogIGJvcmRlci1jb2xvcjogI2RlZTJlNjsKfQoKLnRhYmxlLWRhcmsgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7Cn0KCi50YWJsZS1kYXJrIHRoLAoudGFibGUtZGFyayB0ZCwKLnRhYmxlLWRhcmsgdGhlYWQgdGggewogIGJvcmRlci1jb2xvcjogIzMyMzgzZTsKfQoKLnRhYmxlLWRhcmsudGFibGUtYm9yZGVyZWQgewogIGJvcmRlcjogMDsKfQoKLnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOwp9CgoudGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkgewogIC50YWJsZS1yZXNwb25zaXZlLXNtIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7CiAgfQogIC50YWJsZS1yZXNwb25zaXZlLXNtID4gLnRhYmxlLWJvcmRlcmVkIHsKICAgIGJvcmRlcjogMDsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkgewogIC50YWJsZS1yZXNwb25zaXZlLW1kIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7CiAgfQogIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHsKICAgIGJvcmRlcjogMDsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkgewogIC50YWJsZS1yZXNwb25zaXZlLWxnIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7CiAgfQogIC50YWJsZS1yZXNwb25zaXZlLWxnID4gLnRhYmxlLWJvcmRlcmVkIHsKICAgIGJvcmRlcjogMDsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHsKICAudGFibGUtcmVzcG9uc2l2ZS14bCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3cteDogYXV0bzsKICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOwogIH0KICAudGFibGUtcmVzcG9uc2l2ZS14bCA+IC50YWJsZS1ib3JkZXJlZCB7CiAgICBib3JkZXI6IDA7CiAgfQp9CgoudGFibGUtcmVzcG9uc2l2ZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDEwMCU7CiAgb3ZlcmZsb3cteDogYXV0bzsKICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7Cn0KCi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHsKICBib3JkZXI6IDA7Cn0KCi5mb3JtLWNvbnRyb2wgewogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTsKICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOwogIGZvbnQtc2l6ZTogMXJlbTsKICBsaW5lLWhlaWdodDogMS41OwogIGNvbG9yOiAjNDk1MDU3OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07CiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmZvcm0tY29udHJvbCB7CiAgICB0cmFuc2l0aW9uOiBub25lOwogIH0KfQoKLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwp9CgouZm9ybS1jb250cm9sOmZvY3VzIHsKICBjb2xvcjogIzQ5NTA1NzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogIzgwYmRmZjsKICBvdXRsaW5lOiAwOwogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsKfQoKLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6ICM2Yzc1N2Q7CiAgb3BhY2l0eTogMTsKfQoKLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6ICM2Yzc1N2Q7CiAgb3BhY2l0eTogMTsKfQoKLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgewogIGNvbG9yOiAjNmM3NTdkOwogIG9wYWNpdHk6IDE7Cn0KCi5mb3JtLWNvbnRyb2w6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6ICM2Yzc1N2Q7CiAgb3BhY2l0eTogMTsKfQoKLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiAjNmM3NTdkOwogIG9wYWNpdHk6IDE7Cn0KCi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwogIG9wYWNpdHk6IDE7Cn0KCnNlbGVjdC5mb3JtLWNvbnRyb2w6Zm9jdXM6Oi1tcy12YWx1ZSB7CiAgY29sb3I6ICM0OTUwNTc7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKLmZvcm0tY29udHJvbC1maWxlLAouZm9ybS1jb250cm9sLXJhbmdlIHsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMTAwJTsKfQoKLmNvbC1mb3JtLWxhYmVsIHsKICBwYWRkaW5nLXRvcDogY2FsYygwLjM3NXJlbSArIDFweCk7CiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4zNzVyZW0gKyAxcHgpOwogIG1hcmdpbi1ib3R0b206IDA7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi5jb2wtZm9ybS1sYWJlbC1sZyB7CiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTsKICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjVyZW0gKyAxcHgpOwogIGZvbnQtc2l6ZTogMS4yNXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9CgouY29sLWZvcm0tbGFiZWwtc20gewogIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKyAxcHgpOwogIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKyAxcHgpOwogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoKLmZvcm0tY29udHJvbC1wbGFpbnRleHQgewogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAxMDAlOwogIHBhZGRpbmctdG9wOiAwLjM3NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07CiAgbWFyZ2luLWJvdHRvbTogMDsKICBsaW5lLWhlaWdodDogMS41OwogIGNvbG9yOiAjMjEyNTI5OwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXdpZHRoOiAxcHggMDsKfQoKLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLXNtLCAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcgewogIHBhZGRpbmctcmlnaHQ6IDA7CiAgcGFkZGluZy1sZWZ0OiAwOwp9CgouZm9ybS1jb250cm9sLXNtIHsKICBoZWlnaHQ6IGNhbGMoMS44MTI1cmVtICsgMnB4KTsKICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsKICBmb250LXNpemU6IDAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOwp9CgouZm9ybS1jb250cm9sLWxnIHsKICBoZWlnaHQ6IGNhbGMoMi44NzVyZW0gKyAycHgpOwogIHBhZGRpbmc6IDAuNXJlbSAxcmVtOwogIGZvbnQtc2l6ZTogMS4yNXJlbTsKICBsaW5lLWhlaWdodDogMS41OwogIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsKfQoKc2VsZWN0LmZvcm0tY29udHJvbFtzaXplXSwgc2VsZWN0LmZvcm0tY29udHJvbFttdWx0aXBsZV0gewogIGhlaWdodDogYXV0bzsKfQoKdGV4dGFyZWEuZm9ybS1jb250cm9sIHsKICBoZWlnaHQ6IGF1dG87Cn0KCi5mb3JtLWdyb3VwIHsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwp9CgouZm9ybS10ZXh0IHsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW4tdG9wOiAwLjI1cmVtOwp9CgouZm9ybS1yb3cgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgbWFyZ2luLXJpZ2h0OiAtNXB4OwogIG1hcmdpbi1sZWZ0OiAtNXB4Owp9CgouZm9ybS1yb3cgPiAuY29sLAouZm9ybS1yb3cgPiBbY2xhc3MqPSJjb2wtIl0gewogIHBhZGRpbmctcmlnaHQ6IDVweDsKICBwYWRkaW5nLWxlZnQ6IDVweDsKfQoKLmZvcm0tY2hlY2sgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBibG9jazsKICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07Cn0KCi5mb3JtLWNoZWNrLWlucHV0IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbWFyZ2luLXRvcDogMC4zcmVtOwogIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsKfQoKLmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7CiAgY29sb3I6ICM2Yzc1N2Q7Cn0KCi5mb3JtLWNoZWNrLWxhYmVsIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CgouZm9ybS1jaGVjay1pbmxpbmUgewogIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgcGFkZGluZy1sZWZ0OiAwOwogIG1hcmdpbi1yaWdodDogMC43NXJlbTsKfQoKLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHsKICBwb3NpdGlvbjogc3RhdGljOwogIG1hcmdpbi10b3A6IDA7CiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07CiAgbWFyZ2luLWxlZnQ6IDA7Cn0KCi52YWxpZC1mZWVkYmFjayB7CiAgZGlzcGxheTogbm9uZTsKICB3aWR0aDogMTAwJTsKICBtYXJnaW4tdG9wOiAwLjI1cmVtOwogIGZvbnQtc2l6ZTogODAlOwogIGNvbG9yOiAjMjhhNzQ1Owp9CgoudmFsaWQtdG9vbHRpcCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTAwJTsKICB6LWluZGV4OiA1OwogIGRpc3BsYXk6IG5vbmU7CiAgbWF4LXdpZHRoOiAxMDAlOwogIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOwogIG1hcmdpbi10b3A6IC4xcmVtOwogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQwLCAxNjcsIDY5LCAwLjkpOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQsIC53YXMtdmFsaWRhdGVkCi5jdXN0b20tc2VsZWN0OnZhbGlkLAouY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB7CiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1Owp9Cgoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkOmZvY3VzLCAud2FzLXZhbGlkYXRlZAouY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1cywKLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQ6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogIzI4YTc0NTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7Cn0KCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmZvcm0tY29udHJvbC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjaywKLmZvcm0tY29udHJvbC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwLCAud2FzLXZhbGlkYXRlZAouY3VzdG9tLXNlbGVjdDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjaywKLndhcy12YWxpZGF0ZWQKLmN1c3RvbS1zZWxlY3Q6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwKLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssCi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAgewogIGRpc3BsYXk6IGJsb2NrOwp9Cgoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWZpbGU6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLWZpbGUuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssCi5mb3JtLWNvbnRyb2wtZmlsZS5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7CiAgY29sb3I6ICMyOGE3NDU7Cn0KCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjaywKLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHsKICBjb2xvcjogIzI4YTc0NTsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDhhOwp9Cgoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzM0Y2U1NzsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpOwp9Cgoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1Owp9Cgoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsKICBib3JkZXItY29sb3I6IGluaGVyaXQ7Cn0KCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjaywKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjaywKLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAgewogIGRpc3BsYXk6IGJsb2NrOwp9Cgoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpOwp9CgouaW52YWxpZC1mZWVkYmFjayB7CiAgZGlzcGxheTogbm9uZTsKICB3aWR0aDogMTAwJTsKICBtYXJnaW4tdG9wOiAwLjI1cmVtOwogIGZvbnQtc2l6ZTogODAlOwogIGNvbG9yOiAjZGMzNTQ1Owp9CgouaW52YWxpZC10b29sdGlwIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAxMDAlOwogIHotaW5kZXg6IDU7CiAgZGlzcGxheTogbm9uZTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07CiAgbWFyZ2luLXRvcDogLjFyZW07CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS41OwogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCA1MywgNjksIDAuOSk7CiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsKfQoKLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQsIC53YXMtdmFsaWRhdGVkCi5jdXN0b20tc2VsZWN0OmludmFsaWQsCi5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQgewogIGJvcmRlci1jb2xvcjogI2RjMzU0NTsKfQoKLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMsIC53YXMtdmFsaWRhdGVkCi5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsCi5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogI2RjMzU0NTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7Cn0KCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywKLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLndhcy12YWxpZGF0ZWQKLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLAoud2FzLXZhbGlkYXRlZAouY3VzdG9tLXNlbGVjdDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwKLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLAouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmZvcm0tY29udHJvbC1maWxlLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywKLmZvcm0tY29udHJvbC1maWxlLmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwgewogIGNvbG9yOiAjZGMzNTQ1Owp9Cgoud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssCi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHsKICBjb2xvcjogI2RjMzU0NTsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VmYTJhOTsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLAouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAgewogIGRpc3BsYXk6IGJsb2NrOwp9Cgoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U0NjA2ZDsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHsKICBib3JkZXItY29sb3I6ICNkYzM1NDU7Cn0KCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciwgLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsKICBib3JkZXItY29sb3I6IGluaGVyaXQ7Cn0KCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywKLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7Cn0KCi5mb3JtLWlubGluZSB7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDsKICBmbGV4LWZsb3c6IHJvdyB3cmFwOwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHsKICB3aWR0aDogMTAwJTsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7CiAgLmZvcm0taW5saW5lIGxhYmVsIHsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAgewogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLW1zLWZsZXg6IDAgMCBhdXRvOwogICAgZmxleDogMCAwIGF1dG87CiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDsKICAgIGZsZXgtZmxvdzogcm93IHdyYXA7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQogIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiBhdXRvOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB9CiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB9CiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCwKICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1zZWxlY3QgewogICAgd2lkdGg6IGF1dG87CiAgfQogIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjayB7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IGF1dG87CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgfQogIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW4tdG9wOiAwOwogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOwogICAgbWFyZ2luLWxlZnQ6IDA7CiAgfQogIC5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wgewogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB9CiAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbCB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KfQoKLmJ0biB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07CiAgZm9udC1zaXplOiAxcmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsKICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmJ0biB7CiAgICB0cmFuc2l0aW9uOiBub25lOwogIH0KfQoKLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cyB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgouYnRuOmZvY3VzLCAuYnRuLmZvY3VzIHsKICBvdXRsaW5lOiAwOwogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsKfQoKLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7CiAgb3BhY2l0eTogMC42NTsKfQoKLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7CiAgY3Vyc29yOiBwb2ludGVyOwp9CgphLmJ0bi5kaXNhYmxlZCwKZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4gewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgouYnRuLXByaW1hcnkgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7CiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOwp9CgouYnRuLXByaW1hcnk6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwMDY5ZDk7CiAgYm9yZGVyLWNvbG9yOiAjMDA2MmNjOwp9CgouYnRuLXByaW1hcnk6Zm9jdXMsIC5idG4tcHJpbWFyeS5mb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7Cn0KCi5idG4tcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOwogIGJvcmRlci1jb2xvcjogIzAwN2JmZjsKfQoKLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjOwogIGJvcmRlci1jb2xvcjogIzAwNWNiZjsKfQoKLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsKfQoKLmJ0bi1zZWNvbmRhcnkgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7CiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOwp9CgouYnRuLXNlY29uZGFyeTpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODsKICBib3JkZXItY29sb3I6ICM1NDViNjI7Cn0KCi5idG4tc2Vjb25kYXJ5OmZvY3VzLCAuYnRuLXNlY29uZGFyeS5mb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTsKfQoKLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQsIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOwogIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsKfQoKLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyOwogIGJvcmRlci1jb2xvcjogIzRlNTU1YjsKfQoKLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOwp9CgouYnRuLXN1Y2Nlc3MgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7CiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1Owp9CgouYnRuLXN1Y2Nlc3M6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMyMTg4Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMWU3ZTM0Owp9CgouYnRuLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tc3VjY2Vzcy5mb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7Cn0KCi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1OwogIGJvcmRlci1jb2xvcjogIzI4YTc0NTsKfQoKLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0OwogIGJvcmRlci1jb2xvcjogIzFjNzQzMDsKfQoKLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTsKfQoKLmJ0bi1pbmZvIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4OwogIGJvcmRlci1jb2xvcjogIzE3YTJiODsKfQoKLmJ0bi1pbmZvOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM4NDk2OwogIGJvcmRlci1jb2xvcjogIzExN2E4YjsKfQoKLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm8uZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsKfQoKLmJ0bi1pbmZvLmRpc2FibGVkLCAuYnRuLWluZm86ZGlzYWJsZWQgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7CiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4Owp9CgouYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxMTdhOGI7CiAgYm9yZGVyLWNvbG9yOiAjMTA3MDdmOwp9CgouYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsKfQoKLmJ0bi13YXJuaW5nIHsKICBjb2xvcjogIzIxMjUyOTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3OwogIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsKfQoKLmJ0bi13YXJuaW5nOmhvdmVyIHsKICBjb2xvcjogIzIxMjUyOTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBhODAwOwogIGJvcmRlci1jb2xvcjogI2QzOWUwMDsKfQoKLmJ0bi13YXJuaW5nOmZvY3VzLCAuYnRuLXdhcm5pbmcuZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOwp9CgouYnRuLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4td2FybmluZzpkaXNhYmxlZCB7CiAgY29sb3I6ICMyMTI1Mjk7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsKICBib3JkZXItY29sb3I6ICNmZmMxMDc7Cn0KCi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5zaG93ID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7CiAgY29sb3I6ICMyMTI1Mjk7CiAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDsKICBib3JkZXItY29sb3I6ICNjNjk1MDA7Cn0KCi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5zaG93ID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7Cn0KCi5idG4tZGFuZ2VyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1OwogIGJvcmRlci1jb2xvcjogI2RjMzU0NTsKfQoKLmJ0bi1kYW5nZXI6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNjODIzMzM7CiAgYm9yZGVyLWNvbG9yOiAjYmQyMTMwOwp9CgouYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1kYW5nZXIuZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOwp9CgouYnRuLWRhbmdlci5kaXNhYmxlZCwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7CiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1Owp9CgouYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNiZDIxMzA7CiAgYm9yZGVyLWNvbG9yOiAjYjIxZjJkOwp9CgouYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOwp9CgouYnRuLWxpZ2h0IHsKICBjb2xvcjogIzIxMjUyOTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOwogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsKfQoKLmJ0bi1saWdodDpob3ZlciB7CiAgY29sb3I6ICMyMTI1Mjk7CiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTZlYTsKICBib3JkZXItY29sb3I6ICNkYWUwZTU7Cn0KCi5idG4tbGlnaHQ6Zm9jdXMsIC5idG4tbGlnaHQuZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7Cn0KCi5idG4tbGlnaHQuZGlzYWJsZWQsIC5idG4tbGlnaHQ6ZGlzYWJsZWQgewogIGNvbG9yOiAjMjEyNTI5OwogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7CiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOwp9CgouYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGUgewogIGNvbG9yOiAjMjEyNTI5OwogIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTU7CiAgYm9yZGVyLWNvbG9yOiAjZDNkOWRmOwp9CgouYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7Cn0KCi5idG4tZGFyayB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsKICBib3JkZXItY29sb3I6ICMzNDNhNDA7Cn0KCi5idG4tZGFyazpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjcyYjsKICBib3JkZXItY29sb3I6ICMxZDIxMjQ7Cn0KCi5idG4tZGFyazpmb2N1cywgLmJ0bi1kYXJrLmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOwp9CgouYnRuLWRhcmsuZGlzYWJsZWQsIC5idG4tZGFyazpkaXNhYmxlZCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsKICBib3JkZXItY29sb3I6ICMzNDNhNDA7Cn0KCi5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNDsKICBib3JkZXItY29sb3I6ICMxNzFhMWQ7Cn0KCi5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTsKfQoKLmJ0bi1vdXRsaW5lLXByaW1hcnkgewogIGNvbG9yOiAjMDA3YmZmOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOwp9CgouYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICBib3JkZXItY29sb3I6ICMwMDdiZmY7Cn0KCi5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7Cn0KCi5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZCB7CiAgY29sb3I6ICMwMDdiZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICBib3JkZXItY29sb3I6ICMwMDdiZmY7Cn0KCi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7Cn0KCi5idG4tb3V0bGluZS1zZWNvbmRhcnkgewogIGNvbG9yOiAjNmM3NTdkOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOwp9CgouYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOwogIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsKfQoKLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTsKfQoKLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgY29sb3I6ICM2Yzc1N2Q7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDsKICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7Cn0KCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTsKfQoKLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MgewogIGNvbG9yOiAjMjhhNzQ1OwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1Owp9CgouYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTsKICBib3JkZXItY29sb3I6ICMyOGE3NDU7Cn0KCi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7Cn0KCi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZCB7CiAgY29sb3I6ICMyOGE3NDU7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouc2hvdyA+IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTsKICBib3JkZXItY29sb3I6ICMyOGE3NDU7Cn0KCi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouc2hvdyA+IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7Cn0KCi5idG4tb3V0bGluZS1pbmZvIHsKICBjb2xvcjogIzE3YTJiODsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogIGJvcmRlci1jb2xvcjogIzE3YTJiODsKfQoKLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7CiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4Owp9CgouYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsKfQoKLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQsIC5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkIHsKICBjb2xvcjogIzE3YTJiODsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5zaG93ID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4OwogIGJvcmRlci1jb2xvcjogIzE3YTJiODsKfQoKLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5zaG93ID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7Cn0KCi5idG4tb3V0bGluZS13YXJuaW5nIHsKICBjb2xvcjogI2ZmYzEwNzsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsKfQoKLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIgewogIGNvbG9yOiAjMjEyNTI5OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7CiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3Owp9CgouYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOwp9CgouYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQgewogIGNvbG9yOiAjZmZjMTA3OwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgouYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUgewogIGNvbG9yOiAjMjEyNTI5OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7CiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3Owp9CgouYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOwp9CgouYnRuLW91dGxpbmUtZGFuZ2VyIHsKICBjb2xvcjogI2RjMzU0NTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogIGJvcmRlci1jb2xvcjogI2RjMzU0NTsKfQoKLmJ0bi1vdXRsaW5lLWRhbmdlcjpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTsKICBib3JkZXItY29sb3I6ICNkYzM1NDU7Cn0KCi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOwp9CgouYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkIHsKICBjb2xvcjogI2RjMzU0NTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1OwogIGJvcmRlci1jb2xvcjogI2RjMzU0NTsKfQoKLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTsKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0IHsKICBjb2xvcjogI2Y4ZjlmYTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVyIHsKICBjb2xvcjogIzIxMjUyOTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOwogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0OmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQuZm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7Cn0KCi5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWxpZ2h0OmRpc2FibGVkIHsKICBjb2xvcjogI2Y4ZjlmYTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLnNob3cgPiAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHsKICBjb2xvcjogIzIxMjUyOTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOwogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLnNob3cgPiAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOwp9CgouYnRuLW91dGxpbmUtZGFyayB7CiAgY29sb3I6ICMzNDNhNDA7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICBib3JkZXItY29sb3I6ICMzNDNhNDA7Cn0KCi5idG4tb3V0bGluZS1kYXJrOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOwogIGJvcmRlci1jb2xvcjogIzM0M2E0MDsKfQoKLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXMsIC5idG4tb3V0bGluZS1kYXJrLmZvY3VzIHsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOwp9CgouYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWQgewogIGNvbG9yOiAjMzQzYTQwOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgouYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGUgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7CiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwOwp9CgouYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7Cn0KCi5idG4tbGluayB7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBjb2xvcjogIzAwN2JmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLmJ0bi1saW5rOmhvdmVyIHsKICBjb2xvcjogIzAwNTZiMzsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Owp9CgouYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluay5mb2N1cyB7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3gtc2hhZG93OiBub25lOwp9CgouYnRuLWxpbms6ZGlzYWJsZWQsIC5idG4tbGluay5kaXNhYmxlZCB7CiAgY29sb3I6ICM2Yzc1N2Q7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5idG4tbGcsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIHsKICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsKICBmb250LXNpemU6IDEuMjVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBib3JkZXItcmFkaXVzOiAwLjNyZW07Cn0KCi5idG4tc20sIC5idG4tZ3JvdXAtc20gPiAuYnRuIHsKICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsKICBmb250LXNpemU6IDAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOwp9CgouYnRuLWJsb2NrIHsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMTAwJTsKfQoKLmJ0bi1ibG9jayArIC5idG4tYmxvY2sgewogIG1hcmdpbi10b3A6IDAuNXJlbTsKfQoKaW5wdXRbdHlwZT0ic3VibWl0Il0uYnRuLWJsb2NrLAppbnB1dFt0eXBlPSJyZXNldCJdLmJ0bi1ibG9jaywKaW5wdXRbdHlwZT0iYnV0dG9uIl0uYnRuLWJsb2NrIHsKICB3aWR0aDogMTAwJTsKfQoKLmZhZGUgewogIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmZhZGUgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KCi5mYWRlOm5vdCguc2hvdykgewogIG9wYWNpdHk6IDA7Cn0KCi5jb2xsYXBzZTpub3QoLnNob3cpIHsKICBkaXNwbGF5OiBub25lOwp9CgouY29sbGFwc2luZyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGhlaWdodDogMDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRyYW5zaXRpb246IGhlaWdodCAwLjM1cyBlYXNlOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmNvbGxhcHNpbmcgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KCi5kcm9wdXAsCi5kcm9wcmlnaHQsCi5kcm9wZG93biwKLmRyb3BsZWZ0IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDA7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbi1sZWZ0OiAwLjI1NWVtOwogIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtOwogIGNvbnRlbnQ6ICIiOwogIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkOwogIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWJvdHRvbTogMDsKICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Cn0KCi5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHsKICBtYXJnaW4tbGVmdDogMDsKfQoKLmRyb3Bkb3duLW1lbnUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwMCU7CiAgbGVmdDogMDsKICB6LWluZGV4OiAxMDAwOwogIGRpc3BsYXk6IG5vbmU7CiAgZmxvYXQ6IGxlZnQ7CiAgbWluLXdpZHRoOiAxMHJlbTsKICBwYWRkaW5nOiAwLjVyZW0gMDsKICBtYXJnaW46IDAuMTI1cmVtIDAgMDsKICBmb250LXNpemU6IDFyZW07CiAgY29sb3I6ICMyMTI1Mjk7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBsaXN0LXN0eWxlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi5kcm9wZG93bi1tZW51LXJpZ2h0IHsKICByaWdodDogMDsKICBsZWZ0OiBhdXRvOwp9CgouZHJvcHVwIC5kcm9wZG93bi1tZW51IHsKICB0b3A6IGF1dG87CiAgYm90dG9tOiAxMDAlOwogIG1hcmdpbi10b3A6IDA7CiAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07Cn0KCi5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogMDsKICBoZWlnaHQ6IDA7CiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07CiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07CiAgY29udGVudDogIiI7CiAgYm9yZGVyLXRvcDogMDsKICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkOwogIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsKfQoKLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7CiAgbWFyZ2luLWxlZnQ6IDA7Cn0KCi5kcm9wcmlnaHQgLmRyb3Bkb3duLW1lbnUgewogIHRvcDogMDsKICByaWdodDogYXV0bzsKICBsZWZ0OiAxMDAlOwogIG1hcmdpbi10b3A6IDA7CiAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtOwp9CgouZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDA7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbi1sZWZ0OiAwLjI1NWVtOwogIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtOwogIGNvbnRlbnQ6ICIiOwogIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yaWdodDogMDsKICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7Cn0KCi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIgewogIG1hcmdpbi1sZWZ0OiAwOwp9CgouZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsKICB2ZXJ0aWNhbC1hbGlnbjogMDsKfQoKLmRyb3BsZWZ0IC5kcm9wZG93bi1tZW51IHsKICB0b3A6IDA7CiAgcmlnaHQ6IDEwMCU7CiAgbGVmdDogYXV0bzsKICBtYXJnaW4tdG9wOiAwOwogIG1hcmdpbi1yaWdodDogMC4xMjVyZW07Cn0KCi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiAwOwogIGhlaWdodDogMDsKICBtYXJnaW4tbGVmdDogMC4yNTVlbTsKICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTsKICBjb250ZW50OiAiIjsKfQoKLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsKICBkaXNwbGF5OiBub25lOwp9CgouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDA7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbi1yaWdodDogMC4yNTVlbTsKICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTsKICBjb250ZW50OiAiIjsKICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkOwogIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50Owp9CgouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIgewogIG1hcmdpbi1sZWZ0OiAwOwp9CgouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHsKICB2ZXJ0aWNhbC1hbGlnbjogMDsKfQoKLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePSJ0b3AiXSwgLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePSJyaWdodCJdLCAuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49ImJvdHRvbSJdLCAuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49ImxlZnQiXSB7CiAgcmlnaHQ6IGF1dG87CiAgYm90dG9tOiBhdXRvOwp9CgouZHJvcGRvd24tZGl2aWRlciB7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbjogMC41cmVtIDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjsKfQoKLmRyb3Bkb3duLWl0ZW0gewogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAxMDAlOwogIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtOwogIGNsZWFyOiBib3RoOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgY29sb3I6ICMyMTI1Mjk7CiAgdGV4dC1hbGlnbjogaW5oZXJpdDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogMDsKfQoKLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5kcm9wZG93bi1pdGVtOmZvY3VzIHsKICBjb2xvcjogIzE2MTgxYjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsKfQoKLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUgewogIGNvbG9yOiAjZmZmOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOwp9CgouZHJvcGRvd24taXRlbS5kaXNhYmxlZCwgLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWQgewogIGNvbG9yOiAjNmM3NTdkOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgouZHJvcGRvd24tbWVudS5zaG93IHsKICBkaXNwbGF5OiBibG9jazsKfQoKLmRyb3Bkb3duLWhlYWRlciB7CiAgZGlzcGxheTogYmxvY2s7CiAgcGFkZGluZzogMC41cmVtIDEuNXJlbTsKICBtYXJnaW4tYm90dG9tOiAwOwogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgY29sb3I6ICM2Yzc1N2Q7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLmRyb3Bkb3duLWl0ZW0tdGV4dCB7CiAgZGlzcGxheTogYmxvY2s7CiAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW07CiAgY29sb3I6ICMyMTI1Mjk7Cn0KCi5idG4tZ3JvdXAsCi5idG4tZ3JvdXAtdmVydGljYWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLmJ0bi1ncm91cCA+IC5idG4sCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLW1zLWZsZXg6IDAgMSBhdXRvOwogIGZsZXg6IDAgMSBhdXRvOwp9CgouYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwKLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIgewogIHotaW5kZXg6IDE7Cn0KCi5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLCAuYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSwKLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSwKLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4uYWN0aXZlIHsKICB6LWluZGV4OiAxOwp9CgouYnRuLWdyb3VwIC5idG4gKyAuYnRuLAouYnRuLWdyb3VwIC5idG4gKyAuYnRuLWdyb3VwLAouYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLAouYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwLAouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuYnRuLAouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuYnRuLWdyb3VwLAouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4tZ3JvdXAgKyAuYnRuLAouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHsKICBtYXJnaW4tbGVmdDogLTFweDsKfQoKLmJ0bi10b29sYmFyIHsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgZmxleC13cmFwOiB3cmFwOwogIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKfQoKLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7CiAgd2lkdGg6IGF1dG87Cn0KCi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHsKICBtYXJnaW4tbGVmdDogMDsKfQoKLmJ0bi1ncm91cCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksCi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQoKLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksCi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwp9CgouZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHsKICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07CiAgcGFkZGluZy1sZWZ0OiAwLjU2MjVyZW07Cn0KCi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLAouZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLAouZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHsKICBtYXJnaW4tbGVmdDogMDsKfQoKLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmJlZm9yZSB7CiAgbWFyZ2luLXJpZ2h0OiAwOwp9CgouYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHsKICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTsKICBwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtOwp9CgouYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHsKICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOwogIHBhZGRpbmctbGVmdDogMC43NXJlbTsKfQoKLmJ0bi1ncm91cC12ZXJ0aWNhbCB7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9CgouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4sCi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCB7CiAgd2lkdGg6IDEwMCU7Cn0KCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0biwKLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLWdyb3VwLAouYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4sCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7CiAgbWFyZ2luLXRvcDogLTFweDsKICBtYXJnaW4tbGVmdDogMDsKfQoKLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwp9CgouYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwKLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwp9CgouYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4sCi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0bi1ncm91cCA+IC5idG4gewogIG1hcmdpbi1ib3R0b206IDA7Cn0KCi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPSJyYWRpbyJdLAouYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT0iY2hlY2tib3giXSwKLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPSJyYWRpbyJdLAouYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgouaW5wdXQtZ3JvdXAgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgZmxleC13cmFwOiB3cmFwOwogIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoOwogIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogIHdpZHRoOiAxMDAlOwp9CgouaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCwKLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLW1zLWZsZXg6IDEgMSBhdXRvOwogIGZsZXg6IDEgMSBhdXRvOwogIHdpZHRoOiAxJTsKICBtYXJnaW4tYm90dG9tOiAwOwp9CgouaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbCwKLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tc2VsZWN0LAouaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmN1c3RvbS1maWxlLAouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5mb3JtLWNvbnRyb2wsCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1zZWxlY3QsCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1maWxlLAouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLXNlbGVjdCwKLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1maWxlIHsKICBtYXJnaW4tbGVmdDogLTFweDsKfQoKLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpmb2N1cywKLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwgewogIHotaW5kZXg6IDM7Cn0KCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgewogIHotaW5kZXg6IDQ7Cn0KCi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSwKLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSB7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7Cn0KCi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Cn0KCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSB7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwKLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7Cn0KCi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgewogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKfQoKLmlucHV0LWdyb3VwLXByZXBlbmQsCi5pbnB1dC1ncm91cC1hcHBlbmQgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7Cn0KCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4sCi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7Cn0KCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuYnRuLAouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biwKLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuICsgLmJ0biwKLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCwKLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4gewogIG1hcmdpbi1sZWZ0OiAtMXB4Owp9CgouaW5wdXQtZ3JvdXAtcHJlcGVuZCB7CiAgbWFyZ2luLXJpZ2h0OiAtMXB4Owp9CgouaW5wdXQtZ3JvdXAtYXBwZW5kIHsKICBtYXJnaW4tbGVmdDogLTFweDsKfQoKLmlucHV0LWdyb3VwLXRleHQgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07CiAgbWFyZ2luLWJvdHRvbTogMDsKICBmb250LXNpemU6IDFyZW07CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBsaW5lLWhlaWdodDogMS41OwogIGNvbG9yOiAjNDk1MDU3OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7CiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTsKICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOwp9CgouaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPSJyYWRpbyJdLAouaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsKICBtYXJnaW4tdG9wOiAwOwp9CgouaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LAouaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0biwKLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4gewogIGhlaWdodDogY2FsYygyLjg3NXJlbSArIDJweCk7CiAgcGFkZGluZzogMC41cmVtIDFyZW07CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOwp9CgouaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LAouaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0biwKLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4gewogIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpOwogIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOwogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBib3JkZXItcmFkaXVzOiAwLjJyZW07Cn0KCi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0biwKLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwKLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biwKLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksCi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwp9CgouaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biwKLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LAouaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sCi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwKLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwp9CgouY3VzdG9tLWNvbnRyb2wgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBibG9jazsKICBtaW4taGVpZ2h0OiAxLjVyZW07CiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07Cn0KCi5jdXN0b20tY29udHJvbC1pbmxpbmUgewogIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBtYXJnaW4tcmlnaHQ6IDFyZW07Cn0KCi5jdXN0b20tY29udHJvbC1pbnB1dCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIG9wYWNpdHk6IDA7Cn0KCi5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7Cn0KCi5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOwp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmY7Cn0KCi5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7CiAgY29sb3I6ICM2Yzc1N2Q7Cn0KCi5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwp9CgouY3VzdG9tLWNvbnRyb2wtbGFiZWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tYm90dG9tOiAwOwp9CgouY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMC4yNXJlbTsKICBsZWZ0OiAtMS41cmVtOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAxcmVtOwogIGhlaWdodDogMXJlbTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBjb250ZW50OiAiIjsKICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7Cn0KCi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDAuMjVyZW07CiAgbGVmdDogLTEuNXJlbTsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMXJlbTsKICBoZWlnaHQ6IDFyZW07CiAgY29udGVudDogIiI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogIGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTsKfQoKLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsKfQoKLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOwp9CgouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFIik7Cn0KCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKfQoKLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRSIpOwp9CgouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7Cn0KCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsKfQoKLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgYm9yZGVyLXJhZGl1czogNTAlOwp9CgouY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7Cn0KCi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0UiKTsKfQoKLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOwp9CgouY3VzdG9tLXNlbGVjdCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTsKICBwYWRkaW5nOiAwLjM3NXJlbSAxLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBjb2xvcjogIzQ5NTA1NzsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIGJhY2tncm91bmQ6ICNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0UiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiA4cHggMTBweDsKICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwp9CgouY3VzdG9tLXNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiAjODBiZGZmOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTI4LCAxODksIDI1NSwgMC41KTsKfQoKLmN1c3RvbS1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7CiAgY29sb3I6ICM0OTUwNTc7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKLmN1c3RvbS1zZWxlY3RbbXVsdGlwbGVdLCAuY3VzdG9tLXNlbGVjdFtzaXplXTpub3QoW3NpemU9IjEiXSkgewogIGhlaWdodDogYXV0bzsKICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOwogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KCi5jdXN0b20tc2VsZWN0OmRpc2FibGVkIHsKICBjb2xvcjogIzZjNzU3ZDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwp9CgouY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZCB7CiAgb3BhY2l0eTogMDsKfQoKLmN1c3RvbS1zZWxlY3Qtc20gewogIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpOwogIHBhZGRpbmctdG9wOiAwLjM3NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07CiAgZm9udC1zaXplOiA3NSU7Cn0KCi5jdXN0b20tc2VsZWN0LWxnIHsKICBoZWlnaHQ6IGNhbGMoMi44NzVyZW0gKyAycHgpOwogIHBhZGRpbmctdG9wOiAwLjM3NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07CiAgZm9udC1zaXplOiAxMjUlOwp9CgouY3VzdG9tLWZpbGUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KCi5jdXN0b20tZmlsZS1pbnB1dCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpOwogIG1hcmdpbjogMDsKICBvcGFjaXR5OiAwOwp9CgouY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwgewogIGJvcmRlci1jb2xvcjogIzgwYmRmZjsKICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7Cn0KCi5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgewogIGJvcmRlci1jb2xvcjogIzgwYmRmZjsKfQoKLmN1c3RvbS1maWxlLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwp9CgouY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbikgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsKICBjb250ZW50OiAiQnJvd3NlIjsKfQoKLmN1c3RvbS1maWxlLWxhYmVsIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIGxlZnQ6IDA7CiAgei1pbmRleDogMTsKICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7CiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsKICBsaW5lLWhlaWdodDogMS41OwogIGNvbG9yOiAjNDk1MDU3OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTsKICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOwp9CgouY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICB6LWluZGV4OiAzOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMi4yNXJlbTsKICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgY29sb3I6ICM0OTUwNTc7CiAgY29udGVudDogIkJyb3dzZSI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjZWQ0ZGE7CiAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDsKfQoKLmN1c3RvbS1yYW5nZSB7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy1sZWZ0OiAwOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQoKLmN1c3RvbS1yYW5nZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQoKLmN1c3RvbS1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIgewogIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7Cn0KCi5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIgewogIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7Cn0KCi5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tcy10aHVtYiB7CiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsKfQoKLmN1c3RvbS1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7CiAgYm9yZGVyOiAwOwp9CgouY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7CiAgd2lkdGg6IDFyZW07CiAgaGVpZ2h0OiAxcmVtOwogIG1hcmdpbi10b3A6IC0wLjI1cmVtOwogIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDFyZW07CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KCi5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZjsKfQoKLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sgewogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMC41cmVtOwogIGNvbG9yOiB0cmFuc3BhcmVudDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDFyZW07Cn0KCi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIgewogIHdpZHRoOiAxcmVtOwogIGhlaWdodDogMXJlbTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOwogIGJvcmRlcjogMDsKICBib3JkZXItcmFkaXVzOiAxcmVtOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogIC5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KCi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmOwp9CgouY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDAuNXJlbTsKICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItcmFkaXVzOiAxcmVtOwp9CgouY3VzdG9tLXJhbmdlOjotbXMtdGh1bWIgewogIHdpZHRoOiAxcmVtOwogIGhlaWdodDogMXJlbTsKICBtYXJnaW4tdG9wOiAwOwogIG1hcmdpbi1yaWdodDogMC4ycmVtOwogIG1hcmdpbi1sZWZ0OiAwLjJyZW07CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogMXJlbTsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogIC5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYiB7CiAgICB0cmFuc2l0aW9uOiBub25lOwogIH0KfQoKLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZjsKfQoKLmN1c3RvbS1yYW5nZTo6LW1zLXRyYWNrIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDAuNXJlbTsKICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXdpZHRoOiAwLjVyZW07Cn0KCi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2OwogIGJvcmRlci1yYWRpdXM6IDFyZW07Cn0KCi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjsKICBib3JkZXItcmFkaXVzOiAxcmVtOwp9CgouY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwKLmN1c3RvbS1maWxlLWxhYmVsLAouY3VzdG9tLXNlbGVjdCB7CiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsCiAgLmN1c3RvbS1maWxlLWxhYmVsLAogIC5jdXN0b20tc2VsZWN0IHsKICAgIHRyYW5zaXRpb246IG5vbmU7CiAgfQp9CgoubmF2IHsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgZmxleC13cmFwOiB3cmFwOwogIHBhZGRpbmctbGVmdDogMDsKICBtYXJnaW4tYm90dG9tOiAwOwogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KCi5uYXYtbGluayB7CiAgZGlzcGxheTogYmxvY2s7CiAgcGFkZGluZzogMC41cmVtIDFyZW07Cn0KCi5uYXYtbGluazpob3ZlciwgLm5hdi1saW5rOmZvY3VzIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5uYXYtbGluay5kaXNhYmxlZCB7CiAgY29sb3I6ICM2Yzc1N2Q7Cn0KCi5uYXYtdGFicyB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTY7Cn0KCi5uYXYtdGFicyAubmF2LWl0ZW0gewogIG1hcmdpbi1ib3R0b206IC0xcHg7Cn0KCi5uYXYtdGFicyAubmF2LWxpbmsgewogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07Cn0KCi5uYXYtdGFicyAubmF2LWxpbms6aG92ZXIsIC5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogI2U5ZWNlZiAjZTllY2VmICNkZWUyZTY7Cn0KCi5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQgewogIGNvbG9yOiAjNmM3NTdkOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLAoubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHsKICBjb2xvcjogIzQ5NTA1NzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogI2RlZTJlNiAjZGVlMmU2ICNmZmY7Cn0KCi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7CiAgbWFyZ2luLXRvcDogLTFweDsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwp9CgoubmF2LXBpbGxzIC5uYXYtbGluayB7CiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsKfQoKLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLAoubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOwp9CgoubmF2LWZpbGwgLm5hdi1pdGVtIHsKICAtbXMtZmxleDogMSAxIGF1dG87CiAgZmxleDogMSAxIGF1dG87CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgoubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0gewogIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOwogIGZsZXgtYmFzaXM6IDA7CiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgZmxleC1ncm93OiAxOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHsKICBkaXNwbGF5OiBub25lOwp9CgoudGFiLWNvbnRlbnQgPiAuYWN0aXZlIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLm5hdmJhciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDAuNXJlbSAxcmVtOwp9CgoubmF2YmFyID4gLmNvbnRhaW5lciwKLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9CgoubmF2YmFyLWJyYW5kIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOwogIG1hcmdpbi1yaWdodDogMXJlbTsKICBmb250LXNpemU6IDEuMjVyZW07CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgoubmF2YmFyLW5hdiB7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIHBhZGRpbmctbGVmdDogMDsKICBtYXJnaW4tYm90dG9tOiAwOwogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KCi5uYXZiYXItbmF2IC5uYXYtbGluayB7CiAgcGFkZGluZy1yaWdodDogMDsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KCi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsKICBwb3NpdGlvbjogc3RhdGljOwogIGZsb2F0OiBub25lOwp9CgoubmF2YmFyLXRleHQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwYWRkaW5nLXRvcDogMC41cmVtOwogIHBhZGRpbmctYm90dG9tOiAwLjVyZW07Cn0KCi5uYXZiYXItY29sbGFwc2UgewogIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlOwogIGZsZXgtYmFzaXM6IDEwMCU7CiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgZmxleC1ncm93OiAxOwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLm5hdmJhci10b2dnbGVyIHsKICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGxpbmUtaGVpZ2h0OiAxOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi5uYXZiYXItdG9nZ2xlcjpob3ZlciwgLm5hdmJhci10b2dnbGVyOmZvY3VzIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7CiAgY3Vyc29yOiBwb2ludGVyOwp9CgoubmF2YmFyLXRvZ2dsZXItaWNvbiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiAxLjVlbTsKICBoZWlnaHQ6IDEuNWVtOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgY29udGVudDogIiI7CiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkgewogIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lciwKICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItZmx1aWQgewogICAgcGFkZGluZy1yaWdodDogMDsKICAgIHBhZGRpbmctbGVmdDogMDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgewogIC5uYXZiYXItZXhwYW5kLXNtIHsKICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICB9CiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgfQogIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5uYXYtbGluayB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07CiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsKICB9CiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLAogIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCB7CiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7CiAgICBmbGV4LXdyYXA6IG5vd3JhcDsKICB9CiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZSB7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87CiAgICBmbGV4LWJhc2lzOiBhdXRvOwogIH0KICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXIgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkgewogIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lciwKICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQgewogICAgcGFkZGluZy1yaWdodDogMDsKICAgIHBhZGRpbmctbGVmdDogMDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogIC5uYXZiYXItZXhwYW5kLW1kIHsKICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICB9CiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgfQogIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07CiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsKICB9CiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLAogIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCB7CiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7CiAgICBmbGV4LXdyYXA6IG5vd3JhcDsKICB9CiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87CiAgICBmbGV4LWJhc2lzOiBhdXRvOwogIH0KICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLXRvZ2dsZXIgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkgewogIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lciwKICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQgewogICAgcGFkZGluZy1yaWdodDogMDsKICAgIHBhZGRpbmctbGVmdDogMDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgewogIC5uYXZiYXItZXhwYW5kLWxnIHsKICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICB9CiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgfQogIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5uYXYtbGluayB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07CiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsKICB9CiAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLAogIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1mbHVpZCB7CiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7CiAgICBmbGV4LXdyYXA6IG5vd3JhcDsKICB9CiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87CiAgICBmbGV4LWJhc2lzOiBhdXRvOwogIH0KICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHsKICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIsCiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLWZsdWlkIHsKICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLm5hdmJhci1leHBhbmQteGwgewogICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogIH0KICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQogIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB9CiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsKICAgIHBhZGRpbmctbGVmdDogMC41cmVtOwogIH0KICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIsCiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLWZsdWlkIHsKICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgIGZsZXgtd3JhcDogbm93cmFwOwogIH0KICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bzsKICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgfQogIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlciB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoKLm5hdmJhci1leHBhbmQgewogIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgZmxleC1mbG93OiByb3cgbm93cmFwOwogIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKfQoKLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLAoubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItZmx1aWQgewogIHBhZGRpbmctcmlnaHQ6IDA7CiAgcGFkZGluZy1sZWZ0OiAwOwp9CgoubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiB7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZmxleC1kaXJlY3Rpb246IHJvdzsKfQoKLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsKICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07CiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07Cn0KCi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lciwKLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkIHsKICAtbXMtZmxleC13cmFwOiBub3dyYXA7CiAgZmxleC13cmFwOiBub3dyYXA7Cn0KCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2UgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOwogIGZsZXgtYmFzaXM6IGF1dG87Cn0KCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7CiAgZGlzcGxheTogbm9uZTsKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHsKICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOwp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpmb2N1cyB7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7Cn0KCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cyB7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTsKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQgewogIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7Cn0KCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluaywKLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdywKLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHsKICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOwp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlciB7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXItaWNvbiB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgwLCAwLCAwLCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRSIpOwp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCB7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYSB7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cyB7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQgewogIGNvbG9yOiAjZmZmOwp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMgewogIGNvbG9yOiAjZmZmOwp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsKICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHsKICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7Cn0KCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluaywKLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdywKLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUgewogIGNvbG9yOiAjZmZmOwp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyIHsKICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwogIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24gewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0UiKTsKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCB7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhIHsKICBjb2xvcjogI2ZmZjsKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmhvdmVyLCAubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6Zm9jdXMgewogIGNvbG9yOiAjZmZmOwp9CgouY2FyZCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtaW4td2lkdGg6IDA7CiAgd29yZC13cmFwOiBicmVhay13b3JkOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94OwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi5jYXJkID4gaHIgewogIG1hcmdpbi1yaWdodDogMDsKICBtYXJnaW4tbGVmdDogMDsKfQoKLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOwp9CgouY2FyZCA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOwp9CgouY2FyZC1ib2R5IHsKICAtbXMtZmxleDogMSAxIGF1dG87CiAgZmxleDogMSAxIGF1dG87CiAgcGFkZGluZzogMS4yNXJlbTsKfQoKLmNhcmQtdGl0bGUgewogIG1hcmdpbi1ib3R0b206IDAuNzVyZW07Cn0KCi5jYXJkLXN1YnRpdGxlIHsKICBtYXJnaW4tdG9wOiAtMC4zNzVyZW07CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CgouY2FyZC1saW5rOmhvdmVyIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5jYXJkLWxpbmsgKyAuY2FyZC1saW5rIHsKICBtYXJnaW4tbGVmdDogMS4yNXJlbTsKfQoKLmNhcmQtaGVhZGVyIHsKICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07CiAgbWFyZ2luLWJvdHRvbTogMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDMpOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsKfQoKLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHsKICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCkgMCAwOwp9CgouY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsKICBib3JkZXItdG9wOiAwOwp9CgouY2FyZC1mb290ZXIgewogIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDMpOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsKfQoKLmNhcmQtZm9vdGVyOmxhc3QtY2hpbGQgewogIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCk7Cn0KCi5jYXJkLWhlYWRlci10YWJzIHsKICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsKICBtYXJnaW4tYm90dG9tOiAtMC43NXJlbTsKICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOwogIGJvcmRlci1ib3R0b206IDA7Cn0KCi5jYXJkLWhlYWRlci1waWxscyB7CiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07CiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsKfQoKLmNhcmQtaW1nLW92ZXJsYXkgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgcGFkZGluZzogMS4yNXJlbTsKfQoKLmNhcmQtaW1nIHsKICB3aWR0aDogMTAwJTsKICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOwp9CgouY2FyZC1pbWctdG9wIHsKICB3aWR0aDogMTAwJTsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOwp9CgouY2FyZC1pbWctYm90dG9tIHsKICB3aWR0aDogMTAwJTsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOwp9CgouY2FyZC1kZWNrIHsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KCi5jYXJkLWRlY2sgLmNhcmQgewogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgewogIC5jYXJkLWRlY2sgewogICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7CiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOwogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsKICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsKICB9CiAgLmNhcmQtZGVjayAuY2FyZCB7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtbXMtZmxleDogMSAwIDAlOwogICAgZmxleDogMSAwIDAlOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIG1hcmdpbi1sZWZ0OiAxNXB4OwogIH0KfQoKLmNhcmQtZ3JvdXAgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoKLmNhcmQtZ3JvdXAgPiAuY2FyZCB7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7CiAgLmNhcmQtZ3JvdXAgewogICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7CiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOwogIH0KICAuY2FyZC1ncm91cCA+IC5jYXJkIHsKICAgIC1tcy1mbGV4OiAxIDAgMCU7CiAgICBmbGV4OiAxIDAgMCU7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KICAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQgewogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICBib3JkZXItbGVmdDogMDsKICB9CiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCB7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwogIH0KICAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy10b3AsCiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1oZWFkZXIgewogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgfQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbSwKICAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWZvb3RlciB7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICB9CiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpsYXN0LWNoaWxkIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogIH0KICAuY2FyZC1ncm91cCA+IC5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaW1nLXRvcCwKICAuY2FyZC1ncm91cCA+IC5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaGVhZGVyIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgfQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctYm90dG9tLAogIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1mb290ZXIgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICB9CiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIHsKICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07CiAgfQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1pbWctdG9wLAogIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1oZWFkZXIgewogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOwogIH0KICAuY2FyZC1ncm91cCA+IC5jYXJkOm9ubHktY2hpbGQgLmNhcmQtaW1nLWJvdHRvbSwKICAuY2FyZC1ncm91cCA+IC5jYXJkOm9ubHktY2hpbGQgLmNhcmQtZm9vdGVyIHsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTsKICB9CiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgewogICAgYm9yZGVyLXJhZGl1czogMDsKICB9CiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaW1nLXRvcCwKICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLAogIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWhlYWRlciwKICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1mb290ZXIgewogICAgYm9yZGVyLXJhZGl1czogMDsKICB9Cn0KCi5jYXJkLWNvbHVtbnMgLmNhcmQgewogIG1hcmdpbi1ib3R0b206IDAuNzVyZW07Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgewogIC5jYXJkLWNvbHVtbnMgewogICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7CiAgICAtbW96LWNvbHVtbi1jb3VudDogMzsKICAgIGNvbHVtbi1jb3VudDogMzsKICAgIC13ZWJraXQtY29sdW1uLWdhcDogMS4yNXJlbTsKICAgIC1tb3otY29sdW1uLWdhcDogMS4yNXJlbTsKICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07CiAgICBvcnBoYW5zOiAxOwogICAgd2lkb3dzOiAxOwogIH0KICAuY2FyZC1jb2x1bW5zIC5jYXJkIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiAxMDAlOwogIH0KfQoKLmFjY29yZGlvbiAuY2FyZDpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgYm9yZGVyLWJvdHRvbTogMDsKICBib3JkZXItcmFkaXVzOiAwOwp9CgouYWNjb3JkaW9uIC5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHsKICBib3JkZXItcmFkaXVzOiAwOwp9CgouYWNjb3JkaW9uIC5jYXJkOmZpcnN0LW9mLXR5cGUgewogIGJvcmRlci1ib3R0b206IDA7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKfQoKLmFjY29yZGlvbiAuY2FyZDpsYXN0LW9mLXR5cGUgewogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7Cn0KCi5icmVhZGNydW1iIHsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgZmxleC13cmFwOiB3cmFwOwogIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsKICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOwp9CgouYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbSB7CiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07Cn0KCi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07CiAgY29sb3I6ICM2Yzc1N2Q7CiAgY29udGVudDogIi8iOwp9CgouYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKfQoKLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgouYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7CiAgY29sb3I6ICM2Yzc1N2Q7Cn0KCi5wYWdpbmF0aW9uIHsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIHBhZGRpbmctbGVmdDogMDsKICBsaXN0LXN0eWxlOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi5wYWdlLWxpbmsgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBibG9jazsKICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTsKICBtYXJnaW4tbGVmdDogLTFweDsKICBsaW5lLWhlaWdodDogMS4yNTsKICBjb2xvcjogIzAwN2JmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7Cn0KCi5wYWdlLWxpbms6aG92ZXIgewogIHotaW5kZXg6IDI7CiAgY29sb3I6ICMwMDU2YjM7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7CiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2Owp9CgoucGFnZS1saW5rOmZvY3VzIHsKICB6LWluZGV4OiAyOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOwp9CgoucGFnZS1saW5rOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgbWFyZ2luLWxlZnQ6IDA7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOwp9CgoucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07Cn0KCi5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsgewogIHotaW5kZXg6IDE7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICBib3JkZXItY29sb3I6ICMwMDdiZmY7Cn0KCi5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluayB7CiAgY29sb3I6ICM2Yzc1N2Q7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgY3Vyc29yOiBhdXRvOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2Owp9CgoucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHsKICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsKICBmb250LXNpemU6IDEuMjVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoKLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zcmVtOwp9CgoucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuM3JlbTsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtOwp9CgoucGFnaW5hdGlvbi1zbSAucGFnZS1saW5rIHsKICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsKICBmb250LXNpemU6IDAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4ycmVtOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMnJlbTsKfQoKLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgewogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjJyZW07CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMnJlbTsKfQoKLmJhZGdlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogMC4yNWVtIDAuNGVtOwogIGZvbnQtc2l6ZTogNzUlOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDE7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi5iYWRnZTplbXB0eSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJ0biAuYmFkZ2UgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IC0xcHg7Cn0KCi5iYWRnZS1waWxsIHsKICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTsKICBwYWRkaW5nLWxlZnQ6IDAuNmVtOwogIGJvcmRlci1yYWRpdXM6IDEwcmVtOwp9CgouYmFkZ2UtcHJpbWFyeSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKfQoKLmJhZGdlLXByaW1hcnlbaHJlZl06aG92ZXIsIC5iYWRnZS1wcmltYXJ5W2hyZWZdOmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYzsKfQoKLmJhZGdlLXNlY29uZGFyeSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDsKfQoKLmJhZGdlLXNlY29uZGFyeVtocmVmXTpob3ZlciwgLmJhZGdlLXNlY29uZGFyeVtocmVmXTpmb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7Cn0KCi5iYWRnZS1zdWNjZXNzIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1Owp9CgouYmFkZ2Utc3VjY2Vzc1tocmVmXTpob3ZlciwgLmJhZGdlLXN1Y2Nlc3NbaHJlZl06Zm9jdXMgewogIGNvbG9yOiAjZmZmOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0Owp9CgouYmFkZ2UtaW5mbyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODsKfQoKLmJhZGdlLWluZm9baHJlZl06aG92ZXIsIC5iYWRnZS1pbmZvW2hyZWZdOmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YjsKfQoKLmJhZGdlLXdhcm5pbmcgewogIGNvbG9yOiAjMjEyNTI5OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7Cn0KCi5iYWRnZS13YXJuaW5nW2hyZWZdOmhvdmVyLCAuYmFkZ2Utd2FybmluZ1tocmVmXTpmb2N1cyB7CiAgY29sb3I6ICMyMTI1Mjk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDA7Cn0KCi5iYWRnZS1kYW5nZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7Cn0KCi5iYWRnZS1kYW5nZXJbaHJlZl06aG92ZXIsIC5iYWRnZS1kYW5nZXJbaHJlZl06Zm9jdXMgewogIGNvbG9yOiAjZmZmOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwOwp9CgouYmFkZ2UtbGlnaHQgewogIGNvbG9yOiAjMjEyNTI5OwogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7Cn0KCi5iYWRnZS1saWdodFtocmVmXTpob3ZlciwgLmJhZGdlLWxpZ2h0W2hyZWZdOmZvY3VzIHsKICBjb2xvcjogIzIxMjUyOTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTsKfQoKLmJhZGdlLWRhcmsgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7Cn0KCi5iYWRnZS1kYXJrW2hyZWZdOmhvdmVyLCAuYmFkZ2UtZGFya1tocmVmXTpmb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQ7Cn0KCi5qdW1ib3Ryb24gewogIHBhZGRpbmc6IDJyZW0gMXJlbTsKICBtYXJnaW4tYm90dG9tOiAycmVtOwogIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7CiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOwp9CgpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsKICAuanVtYm90cm9uIHsKICAgIHBhZGRpbmc6IDRyZW0gMnJlbTsKICB9Cn0KCi5qdW1ib3Ryb24tZmx1aWQgewogIHBhZGRpbmctcmlnaHQ6IDA7CiAgcGFkZGluZy1sZWZ0OiAwOwogIGJvcmRlci1yYWRpdXM6IDA7Cn0KCi5hbGVydCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi5hbGVydC1oZWFkaW5nIHsKICBjb2xvcjogaW5oZXJpdDsKfQoKLmFsZXJ0LWxpbmsgewogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5hbGVydC1kaXNtaXNzaWJsZSB7CiAgcGFkZGluZy1yaWdodDogNHJlbTsKfQoKLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICByaWdodDogMDsKICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07CiAgY29sb3I6IGluaGVyaXQ7Cn0KCi5hbGVydC1wcmltYXJ5IHsKICBjb2xvcjogIzAwNDA4NTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlNWZmOwogIGJvcmRlci1jb2xvcjogI2I4ZGFmZjsKfQoKLmFsZXJ0LXByaW1hcnkgaHIgewogIGJvcmRlci10b3AtY29sb3I6ICM5ZmNkZmY7Cn0KCi5hbGVydC1wcmltYXJ5IC5hbGVydC1saW5rIHsKICBjb2xvcjogIzAwMjc1MjsKfQoKLmFsZXJ0LXNlY29uZGFyeSB7CiAgY29sb3I6ICMzODNkNDE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNTsKICBib3JkZXItY29sb3I6ICNkNmQ4ZGI7Cn0KCi5hbGVydC1zZWNvbmRhcnkgaHIgewogIGJvcmRlci10b3AtY29sb3I6ICNjOGNiY2Y7Cn0KCi5hbGVydC1zZWNvbmRhcnkgLmFsZXJ0LWxpbmsgewogIGNvbG9yOiAjMjAyMzI2Owp9CgouYWxlcnQtc3VjY2VzcyB7CiAgY29sb3I6ICMxNTU3MjQ7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTsKICBib3JkZXItY29sb3I6ICNjM2U2Y2I7Cn0KCi5hbGVydC1zdWNjZXNzIGhyIHsKICBib3JkZXItdG9wLWNvbG9yOiAjYjFkZmJiOwp9CgouYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7CiAgY29sb3I6ICMwYjJlMTM7Cn0KCi5hbGVydC1pbmZvIHsKICBjb2xvcjogIzBjNTQ2MDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlY2YxOwogIGJvcmRlci1jb2xvcjogI2JlZTVlYjsKfQoKLmFsZXJ0LWluZm8gaHIgewogIGJvcmRlci10b3AtY29sb3I6ICNhYmRkZTU7Cn0KCi5hbGVydC1pbmZvIC5hbGVydC1saW5rIHsKICBjb2xvcjogIzA2MmMzMzsKfQoKLmFsZXJ0LXdhcm5pbmcgewogIGNvbG9yOiAjODU2NDA0OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmYzY2Q7CiAgYm9yZGVyLWNvbG9yOiAjZmZlZWJhOwp9CgouYWxlcnQtd2FybmluZyBociB7CiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZThhMTsKfQoKLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmsgewogIGNvbG9yOiAjNTMzZjAzOwp9CgouYWxlcnQtZGFuZ2VyIHsKICBjb2xvcjogIzcyMWMyNDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkN2RhOwogIGJvcmRlci1jb2xvcjogI2Y1YzZjYjsKfQoKLmFsZXJ0LWRhbmdlciBociB7CiAgYm9yZGVyLXRvcC1jb2xvcjogI2YxYjBiNzsKfQoKLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7CiAgY29sb3I6ICM0OTEyMTc7Cn0KCi5hbGVydC1saWdodCB7CiAgY29sb3I6ICM4MTgxODI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsKICBib3JkZXItY29sb3I6ICNmZGZkZmU7Cn0KCi5hbGVydC1saWdodCBociB7CiAgYm9yZGVyLXRvcC1jb2xvcjogI2VjZWNmNjsKfQoKLmFsZXJ0LWxpZ2h0IC5hbGVydC1saW5rIHsKICBjb2xvcjogIzY4Njg2ODsKfQoKLmFsZXJ0LWRhcmsgewogIGNvbG9yOiAjMWIxZTIxOwogIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZDk7CiAgYm9yZGVyLWNvbG9yOiAjYzZjOGNhOwp9CgouYWxlcnQtZGFyayBociB7CiAgYm9yZGVyLXRvcC1jb2xvcjogI2I5YmJiZTsKfQoKLmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmsgewogIGNvbG9yOiAjMDQwNTA1Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgewogIGZyb20gewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMXJlbSAwOwogIH0KICB0byB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7CiAgfQp9CgpAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHsKICBmcm9tIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDsKICB9CiAgdG8gewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOwogIH0KfQoKLnByb2dyZXNzIHsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMXJlbTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGZvbnQtc2l6ZTogMC43NXJlbTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07Cn0KCi5wcm9ncmVzcy1iYXIgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAucHJvZ3Jlc3MtYmFyIHsKICAgIHRyYW5zaXRpb246IG5vbmU7CiAgfQp9CgoucHJvZ3Jlc3MtYmFyLXN0cmlwZWQgewogIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwogIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtOwp9CgoucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHsKICAtd2Via2l0LWFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlOwogIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlOwp9CgoubWVkaWEgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Owp9CgoubWVkaWEtYm9keSB7CiAgLW1zLWZsZXg6IDE7CiAgZmxleDogMTsKfQoKLmxpc3QtZ3JvdXAgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBwYWRkaW5nLWxlZnQ6IDA7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gewogIHdpZHRoOiAxMDAlOwogIGNvbG9yOiAjNDk1MDU3OwogIHRleHQtYWxpZ246IGluaGVyaXQ7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7CiAgY29sb3I6ICM0OTUwNTc7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmFjdGl2ZSB7CiAgY29sb3I6ICMyMTI1Mjk7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsKfQoKLmxpc3QtZ3JvdXAtaXRlbSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTsKICBtYXJnaW4tYm90dG9tOiAtMXB4OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7Cn0KCi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQgewogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07Cn0KCi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOwp9CgoubGlzdC1ncm91cC1pdGVtOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtOmZvY3VzIHsKICB6LWluZGV4OiAxOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwgLmxpc3QtZ3JvdXAtaXRlbTpkaXNhYmxlZCB7CiAgY29sb3I6ICM2Yzc1N2Q7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgewogIHotaW5kZXg6IDI7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICBib3JkZXItY29sb3I6ICMwMDdiZmY7Cn0KCi5saXN0LWdyb3VwLWZsdXNoIC5saXN0LWdyb3VwLWl0ZW0gewogIGJvcmRlci1yaWdodDogMDsKICBib3JkZXItbGVmdDogMDsKICBib3JkZXItcmFkaXVzOiAwOwp9CgoubGlzdC1ncm91cC1mbHVzaDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsKICBib3JkZXItdG9wOiAwOwp9CgoubGlzdC1ncm91cC1mbHVzaDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7CiAgYm9yZGVyLWJvdHRvbTogMDsKfQoKLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5IHsKICBjb2xvcjogIzAwNDA4NTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhkYWZmOwp9CgoubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMgewogIGNvbG9yOiAjMDA0MDg1OwogIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDA4NTsKICBib3JkZXItY29sb3I6ICMwMDQwODU7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5IHsKICBjb2xvcjogIzM4M2Q0MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiOwp9CgoubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHsKICBjb2xvcjogIzM4M2Q0MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmOwp9CgoubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzM4M2Q0MTsKICBib3JkZXItY29sb3I6ICMzODNkNDE7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7CiAgY29sb3I6ICMxNTU3MjQ7CiAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYjsKfQoKLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHsKICBjb2xvcjogIzE1NTcyNDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiOwp9CgoubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxNTU3MjQ7CiAgYm9yZGVyLWNvbG9yOiAjMTU1NzI0Owp9CgoubGlzdC1ncm91cC1pdGVtLWluZm8gewogIGNvbG9yOiAjMGM1NDYwOwogIGJhY2tncm91bmQtY29sb3I6ICNiZWU1ZWI7Cn0KCi5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7CiAgY29sb3I6ICMwYzU0NjA7CiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTsKfQoKLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGM1NDYwOwogIGJvcmRlci1jb2xvcjogIzBjNTQ2MDsKfQoKLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHsKICBjb2xvcjogIzg1NjQwNDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWJhOwp9CgoubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMgewogIGNvbG9yOiAjODU2NDA0OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7Cn0KCi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzg1NjQwNDsKICBib3JkZXItY29sb3I6ICM4NTY0MDQ7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHsKICBjb2xvcjogIzcyMWMyNDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjNmNiOwp9CgoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHsKICBjb2xvcjogIzcyMWMyNDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFiMGI3Owp9CgoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzcyMWMyNDsKICBib3JkZXItY29sb3I6ICM3MjFjMjQ7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tbGlnaHQgewogIGNvbG9yOiAjODE4MTgyOwogIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmU7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHsKICBjb2xvcjogIzgxODE4MjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2Owp9CgoubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjODE4MTgyOwogIGJvcmRlci1jb2xvcjogIzgxODE4MjsKfQoKLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHsKICBjb2xvcjogIzFiMWUyMTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhOwp9CgoubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMgewogIGNvbG9yOiAjMWIxZTIxOwogIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7Cn0KCi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWUyMTsKICBib3JkZXItY29sb3I6ICMxYjFlMjE7Cn0KCi5jbG9zZSB7CiAgZmxvYXQ6IHJpZ2h0OwogIGZvbnQtc2l6ZTogMS41cmVtOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDE7CiAgY29sb3I6ICMwMDA7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjsKICBvcGFjaXR5OiAuNTsKfQoKLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlciwgLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzIHsKICBjb2xvcjogIzAwMDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgb3BhY2l0eTogLjc1Owp9CgpidXR0b24uY2xvc2UgewogIHBhZGRpbmc6IDA7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKfQoKLm1vZGFsLW9wZW4gewogIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5tb2RhbC1vcGVuIC5tb2RhbCB7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIG92ZXJmbG93LXk6IGF1dG87Cn0KCi5tb2RhbCB7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICB6LWluZGV4OiAxMDUwOwogIGRpc3BsYXk6IG5vbmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBvdXRsaW5lOiAwOwp9CgoubW9kYWwtZGlhbG9nIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IGF1dG87CiAgbWFyZ2luOiAwLjVyZW07CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cgewogIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KCi5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2cgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7Cn0KCi5tb2RhbC1kaWFsb2ctY2VudGVyZWQgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgwLjVyZW0gKiAyKSk7Cn0KCi5tb2RhbC1kaWFsb2ctY2VudGVyZWQ6OmJlZm9yZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKDAuNXJlbSAqIDIpKTsKICBjb250ZW50OiAiIjsKfQoKLm1vZGFsLWNvbnRlbnQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgd2lkdGg6IDEwMCU7CiAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTsKICBib3JkZXItcmFkaXVzOiAwLjNyZW07CiAgb3V0bGluZTogMDsKfQoKLm1vZGFsLWJhY2tkcm9wIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBsZWZ0OiAwOwogIHotaW5kZXg6IDEwNDA7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKfQoKLm1vZGFsLWJhY2tkcm9wLmZhZGUgewogIG9wYWNpdHk6IDA7Cn0KCi5tb2RhbC1iYWNrZHJvcC5zaG93IHsKICBvcGFjaXR5OiAwLjU7Cn0KCi5tb2RhbC1oZWFkZXIgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDFyZW07CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWVjZWY7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zcmVtOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjNyZW07Cn0KCi5tb2RhbC1oZWFkZXIgLmNsb3NlIHsKICBwYWRkaW5nOiAxcmVtOwogIG1hcmdpbjogLTFyZW0gLTFyZW0gLTFyZW0gYXV0bzsKfQoKLm1vZGFsLXRpdGxlIHsKICBtYXJnaW4tYm90dG9tOiAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi5tb2RhbC1ib2R5IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLW1zLWZsZXg6IDEgMSBhdXRvOwogIGZsZXg6IDEgMSBhdXRvOwogIHBhZGRpbmc6IDFyZW07Cn0KCi5tb2RhbC1mb290ZXIgewogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIC1tcy1mbGV4LXBhY2s6IGVuZDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBhZGRpbmc6IDFyZW07CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWY7Cn0KCi5tb2RhbC1mb290ZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgewogIG1hcmdpbi1sZWZ0OiAuMjVyZW07Cn0KCi5tb2RhbC1mb290ZXIgPiA6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLXJpZ2h0OiAuMjVyZW07Cn0KCi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTk5OTlweDsKICB3aWR0aDogNTBweDsKICBoZWlnaHQ6IDUwcHg7CiAgb3ZlcmZsb3c6IHNjcm9sbDsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7CiAgLm1vZGFsLWRpYWxvZyB7CiAgICBtYXgtd2lkdGg6IDUwMHB4OwogICAgbWFyZ2luOiAxLjc1cmVtIGF1dG87CiAgfQogIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQgewogICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDEuNzVyZW0gKiAyKSk7CiAgfQogIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQ6OmJlZm9yZSB7CiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAoMS43NXJlbSAqIDIpKTsKICB9CiAgLm1vZGFsLXNtIHsKICAgIG1heC13aWR0aDogMzAwcHg7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsKICAubW9kYWwtbGcgewogICAgbWF4LXdpZHRoOiA4MDBweDsKICB9Cn0KCi50b29sdGlwIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogMTA3MDsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW46IDA7CiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgc2Fucy1zZXJpZiwgIkFwcGxlIENvbG9yIEVtb2ppIiwgIlNlZ29lIFVJIEVtb2ppIiwgIlNlZ29lIFVJIFN5bWJvbCIsICJOb3RvIENvbG9yIEVtb2ppIjsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBsaW5lLWhlaWdodDogMS41OwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1hbGlnbjogc3RhcnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHRleHQtc2hhZG93OiBub25lOwogIHRleHQtdHJhbnNmb3JtOiBub25lOwogIGxldHRlci1zcGFjaW5nOiBub3JtYWw7CiAgd29yZC1icmVhazogbm9ybWFsOwogIHdvcmQtc3BhY2luZzogbm9ybWFsOwogIHdoaXRlLXNwYWNlOiBub3JtYWw7CiAgbGluZS1icmVhazogYXV0bzsKICBmb250LXNpemU6IDAuODc1cmVtOwogIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICBvcGFjaXR5OiAwOwp9CgoudG9vbHRpcC5zaG93IHsKICBvcGFjaXR5OiAwLjk7Cn0KCi50b29sdGlwIC5hcnJvdyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAwLjhyZW07CiAgaGVpZ2h0OiAwLjRyZW07Cn0KCi50b29sdGlwIC5hcnJvdzo6YmVmb3JlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgY29udGVudDogIiI7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItc3R5bGU6IHNvbGlkOwp9CgouYnMtdG9vbHRpcC10b3AsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSB7CiAgcGFkZGluZzogMC40cmVtIDA7Cn0KCi5icy10b29sdGlwLXRvcCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSAuYXJyb3cgewogIGJvdHRvbTogMDsKfQoKLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj0idG9wIl0gLmFycm93OjpiZWZvcmUgewogIHRvcDogMDsKICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMDsKICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOwp9CgouYnMtdG9vbHRpcC1yaWdodCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gewogIHBhZGRpbmc6IDAgMC40cmVtOwp9CgouYnMtdG9vbHRpcC1yaWdodCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJyaWdodCJdIC5hcnJvdyB7CiAgbGVmdDogMDsKICB3aWR0aDogMC40cmVtOwogIGhlaWdodDogMC44cmVtOwp9CgouYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gLmFycm93OjpiZWZvcmUgewogIHJpZ2h0OiAwOwogIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwLjRyZW0gMDsKICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7Cn0KCi5icy10b29sdGlwLWJvdHRvbSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIHsKICBwYWRkaW5nOiAwLjRyZW0gMDsKfQoKLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdyB7CiAgdG9wOiAwOwp9CgouYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJib3R0b20iXSAuYXJyb3c6OmJlZm9yZSB7CiAgYm90dG9tOiAwOwogIGJvcmRlci13aWR0aDogMCAwLjRyZW0gMC40cmVtOwogIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7Cn0KCi5icy10b29sdGlwLWxlZnQsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJsZWZ0Il0gewogIHBhZGRpbmc6IDAgMC40cmVtOwp9CgouYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49ImxlZnQiXSAuYXJyb3cgewogIHJpZ2h0OiAwOwogIHdpZHRoOiAwLjRyZW07CiAgaGVpZ2h0OiAwLjhyZW07Cn0KCi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJsZWZ0Il0gLmFycm93OjpiZWZvcmUgewogIGxlZnQ6IDA7CiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtOwogIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwOwp9CgoudG9vbHRpcC1pbm5lciB7CiAgbWF4LXdpZHRoOiAyMDBweDsKICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsKICBjb2xvcjogI2ZmZjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOwp9CgoucG9wb3ZlciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHotaW5kZXg6IDEwNjA7CiAgZGlzcGxheTogYmxvY2s7CiAgbWF4LXdpZHRoOiAyNzZweDsKICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIiwgIk5vdG8gQ29sb3IgRW1vamkiOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgdGV4dC1hbGlnbjogbGVmdDsKICB0ZXh0LWFsaWduOiBzdGFydDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1zaGFkb3c6IG5vbmU7CiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKICB3b3JkLWJyZWFrOiBub3JtYWw7CiAgd29yZC1zcGFjaW5nOiBub3JtYWw7CiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICBsaW5lLWJyZWFrOiBhdXRvOwogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgd29yZC13cmFwOiBicmVhay13b3JkOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOwp9CgoucG9wb3ZlciAuYXJyb3cgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMXJlbTsKICBoZWlnaHQ6IDAuNXJlbTsKICBtYXJnaW46IDAgMC4zcmVtOwp9CgoucG9wb3ZlciAuYXJyb3c6OmJlZm9yZSwgLnBvcG92ZXIgLmFycm93OjphZnRlciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGRpc3BsYXk6IGJsb2NrOwogIGNvbnRlbnQ6ICIiOwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKfQoKLmJzLXBvcG92ZXItdG9wLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0idG9wIl0gewogIG1hcmdpbi1ib3R0b206IDAuNXJlbTsKfQoKLmJzLXBvcG92ZXItdG9wIC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InRvcCJdIC5hcnJvdyB7CiAgYm90dG9tOiBjYWxjKCgwLjVyZW0gKyAxcHgpICogLTEpOwp9CgouYnMtcG9wb3Zlci10b3AgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSAuYXJyb3c6OmFmdGVyIHsKICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMDsKfQoKLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0idG9wIl0gLmFycm93OjpiZWZvcmUgewogIGJvdHRvbTogMDsKICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOwp9CgoKLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSAuYXJyb3c6OmFmdGVyIHsKICBib3R0b206IDFweDsKICBib3JkZXItdG9wLWNvbG9yOiAjZmZmOwp9CgouYnMtcG9wb3Zlci1yaWdodCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gewogIG1hcmdpbi1sZWZ0OiAwLjVyZW07Cn0KCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gLmFycm93IHsKICBsZWZ0OiBjYWxjKCgwLjVyZW0gKyAxcHgpICogLTEpOwogIHdpZHRoOiAwLjVyZW07CiAgaGVpZ2h0OiAxcmVtOwogIG1hcmdpbjogMC4zcmVtIDA7Cn0KCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0icmlnaHQiXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gLmFycm93OjphZnRlciB7CiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwOwp9CgouYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gLmFycm93OjpiZWZvcmUgewogIGxlZnQ6IDA7CiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOwp9CgoKLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gLmFycm93OjphZnRlciB7CiAgbGVmdDogMXB4OwogIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjsKfQoKLmJzLXBvcG92ZXItYm90dG9tLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0iYm90dG9tIl0gewogIG1hcmdpbi10b3A6IDAuNXJlbTsKfQoKLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdyB7CiAgdG9wOiBjYWxjKCgwLjVyZW0gKyAxcHgpICogLTEpOwp9CgouYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJib3R0b20iXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJib3R0b20iXSAuYXJyb3c6OmFmdGVyIHsKICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07Cn0KCi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdzo6YmVmb3JlIHsKICB0b3A6IDA7CiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsKfQoKCi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLAouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0iYm90dG9tIl0gLmFycm93OjphZnRlciB7CiAgdG9wOiAxcHg7CiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsKfQoKLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0iYm90dG9tIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogNTAlOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAxcmVtOwogIG1hcmdpbi1sZWZ0OiAtMC41cmVtOwogIGNvbnRlbnQ6ICIiOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjdmN2Y3Owp9CgouYnMtcG9wb3Zlci1sZWZ0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0ibGVmdCJdIHsKICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsKfQoKLmJzLXBvcG92ZXItbGVmdCAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJsZWZ0Il0gLmFycm93IHsKICByaWdodDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTsKICB3aWR0aDogMC41cmVtOwogIGhlaWdodDogMXJlbTsKICBtYXJnaW46IDAuM3JlbSAwOwp9CgouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0ibGVmdCJdIC5hcnJvdzo6YmVmb3JlLAouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJsZWZ0Il0gLmFycm93OjphZnRlciB7CiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMCAwLjVyZW0gMC41cmVtOwp9CgouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0ibGVmdCJdIC5hcnJvdzo6YmVmb3JlIHsKICByaWdodDogMDsKICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsKfQoKCi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImxlZnQiXSAuYXJyb3c6OmFmdGVyIHsKICByaWdodDogMXB4OwogIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmOwp9CgoucG9wb3Zlci1oZWFkZXIgewogIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtOwogIG1hcmdpbi1ib3R0b206IDA7CiAgZm9udC1zaXplOiAxcmVtOwogIGNvbG9yOiBpbmhlcml0OwogIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7Cn0KCi5wb3BvdmVyLWhlYWRlcjplbXB0eSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLnBvcG92ZXItYm9keSB7CiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07CiAgY29sb3I6ICMyMTI1Mjk7Cn0KCi5jYXJvdXNlbCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouY2Fyb3VzZWwtaW5uZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgouY2Fyb3VzZWwtaXRlbSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IG5vbmU7CiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIHdpZHRoOiAxMDAlOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7CiAgcGVyc3BlY3RpdmU6IDEwMDBweDsKfQoKLmNhcm91c2VsLWl0ZW0uYWN0aXZlLAouY2Fyb3VzZWwtaXRlbS1uZXh0LAouY2Fyb3VzZWwtaXRlbS1wcmV2IHsKICBkaXNwbGF5OiBibG9jazsKICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2U7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2U7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsCiAgLmNhcm91c2VsLWl0ZW0tbmV4dCwKICAuY2Fyb3VzZWwtaXRlbS1wcmV2IHsKICAgIHRyYW5zaXRpb246IG5vbmU7CiAgfQp9CgouY2Fyb3VzZWwtaXRlbS1uZXh0LAouY2Fyb3VzZWwtaXRlbS1wcmV2IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwp9CgouY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCwKLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7Cn0KCkBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpKSB7CiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsCiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQp9CgouY2Fyb3VzZWwtaXRlbS1uZXh0LAouYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsKfQoKQHN1cHBvcnRzICgoLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkpIHsKICAuY2Fyb3VzZWwtaXRlbS1uZXh0LAogIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKLmNhcm91c2VsLWl0ZW0tcHJldiwKLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOwp9CgpAc3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIG9yICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSkgewogIC5jYXJvdXNlbC1pdGVtLXByZXYsCiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogIH0KfQoKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0gewogIG9wYWNpdHk6IDA7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7Cn0KCi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSwKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsCi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7CiAgb3BhY2l0eTogMTsKfQoKLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsCi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7CiAgb3BhY2l0eTogMDsKfQoKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dCwKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tcHJldiwKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLAouY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwKLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXByZXYgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKfQoKQHN1cHBvcnRzICgoLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkpIHsKICAuY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1uZXh0LAogIC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLXByZXYsCiAgLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLAogIC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LAogIC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1wcmV2IHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQp9CgouY2Fyb3VzZWwtY29udHJvbC1wcmV2LAouY2Fyb3VzZWwtY29udHJvbC1uZXh0IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGJvdHRvbTogMDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDE1JTsKICBjb2xvcjogI2ZmZjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgb3BhY2l0eTogMC41Owp9CgouY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLAouY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLAouY2Fyb3VzZWwtY29udHJvbC1uZXh0OmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgb3V0bGluZTogMDsKICBvcGFjaXR5OiAuOTsKfQoKLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7CiAgbGVmdDogMDsKfQoKLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7CiAgcmlnaHQ6IDA7Cn0KCi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiwKLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDIwcHg7CiAgaGVpZ2h0OiAyMHB4OwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOwogIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOwp9CgouY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24gewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFIik7Cn0KCi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0UiKTsKfQoKLmNhcm91c2VsLWluZGljYXRvcnMgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICBib3R0b206IDEwcHg7CiAgbGVmdDogMDsKICB6LWluZGV4OiAxNTsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nLWxlZnQ6IDA7CiAgbWFyZ2luLXJpZ2h0OiAxNSU7CiAgbWFyZ2luLWxlZnQ6IDE1JTsKICBsaXN0LXN0eWxlOiBub25lOwp9CgouY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC1tcy1mbGV4OiAwIDEgYXV0bzsKICBmbGV4OiAwIDEgYXV0bzsKICB3aWR0aDogMzBweDsKICBoZWlnaHQ6IDNweDsKICBtYXJnaW4tcmlnaHQ6IDNweDsKICBtYXJnaW4tbGVmdDogM3B4OwogIHRleHQtaW5kZW50OiAtOTk5cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsKfQoKLmNhcm91c2VsLWluZGljYXRvcnMgbGk6OmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTEwcHg7CiAgbGVmdDogMDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMHB4OwogIGNvbnRlbnQ6ICIiOwp9CgouY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YWZ0ZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3R0b206IC0xMHB4OwogIGxlZnQ6IDA7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTBweDsKICBjb250ZW50OiAiIjsKfQoKLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKLmNhcm91c2VsLWNhcHRpb24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMTUlOwogIGJvdHRvbTogMjBweDsKICBsZWZ0OiAxNSU7CiAgei1pbmRleDogMTA7CiAgcGFkZGluZy10b3A6IDIwcHg7CiAgcGFkZGluZy1ib3R0b206IDIwcHg7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouYWxpZ24tYmFzZWxpbmUgewogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Owp9CgouYWxpZ24tdG9wIHsKICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1taWRkbGUgewogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsKfQoKLmFsaWduLWJvdHRvbSB7CiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50Owp9CgouYWxpZ24tdGV4dC1ib3R0b20gewogIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50Owp9CgouYWxpZ24tdGV4dC10b3AgewogIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50Owp9CgouYmctcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZiAhaW1wb3J0YW50Owp9CgphLmJnLXByaW1hcnk6aG92ZXIsIGEuYmctcHJpbWFyeTpmb2N1cywKYnV0dG9uLmJnLXByaW1hcnk6aG92ZXIsCmJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjICFpbXBvcnRhbnQ7Cn0KCi5iZy1zZWNvbmRhcnkgewogIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsKfQoKYS5iZy1zZWNvbmRhcnk6aG92ZXIsIGEuYmctc2Vjb25kYXJ5OmZvY3VzLApidXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyLApidXR0b24uYmctc2Vjb25kYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQ7Cn0KCi5iZy1zdWNjZXNzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7Cn0KCmEuYmctc3VjY2Vzczpob3ZlciwgYS5iZy1zdWNjZXNzOmZvY3VzLApidXR0b24uYmctc3VjY2Vzczpob3ZlciwKYnV0dG9uLmJnLXN1Y2Nlc3M6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDsKfQoKLmJnLWluZm8gewogIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDsKfQoKYS5iZy1pbmZvOmhvdmVyLCBhLmJnLWluZm86Zm9jdXMsCmJ1dHRvbi5iZy1pbmZvOmhvdmVyLApidXR0b24uYmctaW5mbzpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YiAhaW1wb3J0YW50Owp9CgouYmctd2FybmluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50Owp9CgphLmJnLXdhcm5pbmc6aG92ZXIsIGEuYmctd2FybmluZzpmb2N1cywKYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXIsCmJ1dHRvbi5iZy13YXJuaW5nOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwICFpbXBvcnRhbnQ7Cn0KCi5iZy1kYW5nZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsKfQoKYS5iZy1kYW5nZXI6aG92ZXIsIGEuYmctZGFuZ2VyOmZvY3VzLApidXR0b24uYmctZGFuZ2VyOmhvdmVyLApidXR0b24uYmctZGFuZ2VyOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7Cn0KCi5iZy1saWdodCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50Owp9CgphLmJnLWxpZ2h0OmhvdmVyLCBhLmJnLWxpZ2h0OmZvY3VzLApidXR0b24uYmctbGlnaHQ6aG92ZXIsCmJ1dHRvbi5iZy1saWdodDpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSAhaW1wb3J0YW50Owp9CgouYmctZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50Owp9CgphLmJnLWRhcms6aG92ZXIsIGEuYmctZGFyazpmb2N1cywKYnV0dG9uLmJnLWRhcms6aG92ZXIsCmJ1dHRvbi5iZy1kYXJrOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0ICFpbXBvcnRhbnQ7Cn0KCi5iZy13aGl0ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50Owp9CgouYmctdHJhbnNwYXJlbnQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi5ib3JkZXIgewogIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsKfQoKLmJvcmRlci10b3AgewogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7Cn0KCi5ib3JkZXItcmlnaHQgewogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsKfQoKLmJvcmRlci1ib3R0b20gewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7Cn0KCi5ib3JkZXItbGVmdCB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7Cn0KCi5ib3JkZXItMCB7CiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7Cn0KCi5ib3JkZXItdG9wLTAgewogIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsKfQoKLmJvcmRlci1yaWdodC0wIHsKICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsKfQoKLmJvcmRlci1ib3R0b20tMCB7CiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50Owp9CgouYm9yZGVyLWxlZnQtMCB7CiAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsKfQoKLmJvcmRlci1wcmltYXJ5IHsKICBib3JkZXItY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsKfQoKLmJvcmRlci1zZWNvbmRhcnkgewogIGJvcmRlci1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50Owp9CgouYm9yZGVyLXN1Y2Nlc3MgewogIGJvcmRlci1jb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50Owp9CgouYm9yZGVyLWluZm8gewogIGJvcmRlci1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50Owp9CgouYm9yZGVyLXdhcm5pbmcgewogIGJvcmRlci1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50Owp9CgouYm9yZGVyLWRhbmdlciB7CiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7Cn0KCi5ib3JkZXItbGlnaHQgewogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50Owp9CgouYm9yZGVyLWRhcmsgewogIGJvcmRlci1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50Owp9CgouYm9yZGVyLXdoaXRlIHsKICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQoKLnJvdW5kZWQgewogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnJvdW5kZWQtdG9wIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnJvdW5kZWQtcmlnaHQgewogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnJvdW5kZWQtYm90dG9tIHsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnJvdW5kZWQtbGVmdCB7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnJvdW5kZWQtY2lyY2xlIHsKICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKfQoKLnJvdW5kZWQtMCB7CiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50Owp9CgouY2xlYXJmaXg6OmFmdGVyIHsKICBkaXNwbGF5OiBibG9jazsKICBjbGVhcjogYm90aDsKICBjb250ZW50OiAiIjsKfQoKLmQtbm9uZSB7CiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9CgouZC1pbmxpbmUgewogIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Owp9CgouZC1pbmxpbmUtYmxvY2sgewogIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Owp9CgouZC1ibG9jayB7CiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKfQoKLmQtdGFibGUgewogIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7Cn0KCi5kLXRhYmxlLXJvdyB7CiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7Cn0KCi5kLXRhYmxlLWNlbGwgewogIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKfQoKLmQtZmxleCB7CiAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsKICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7Cn0KCi5kLWlubGluZS1mbGV4IHsKICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50Owp9CgpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsKICAuZC1zbS1ub25lIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLmQtc20taW5saW5lIHsKICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OwogIH0KICAuZC1zbS1pbmxpbmUtYmxvY2sgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgfQogIC5kLXNtLWJsb2NrIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgfQogIC5kLXNtLXRhYmxlIHsKICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7CiAgfQogIC5kLXNtLXRhYmxlLXJvdyB7CiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsKICB9CiAgLmQtc20tdGFibGUtY2VsbCB7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7CiAgfQogIC5kLXNtLWZsZXggewogICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICB9CiAgLmQtc20taW5saW5lLWZsZXggewogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OwogIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgLmQtbWQtbm9uZSB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgfQogIC5kLW1kLWlubGluZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICB9CiAgLmQtbWQtaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC1tZC1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC1tZC10YWJsZSB7CiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OwogIH0KICAuZC1tZC10YWJsZS1yb3cgewogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5kLW1kLXRhYmxlLWNlbGwgewogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OwogIH0KICAuZC1tZC1mbGV4IHsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgfQogIC5kLW1kLWlubGluZS1mbGV4IHsKICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgewogIC5kLWxnLW5vbmUgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogIH0KICAuZC1sZy1pbmxpbmUgewogICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7CiAgfQogIC5kLWxnLWlubGluZS1ibG9jayB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKICB9CiAgLmQtbGctYmxvY2sgewogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICB9CiAgLmQtbGctdGFibGUgewogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsKICB9CiAgLmQtbGctdGFibGUtcm93IHsKICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OwogIH0KICAuZC1sZy10YWJsZS1jZWxsIHsKICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKICB9CiAgLmQtbGctZmxleCB7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIH0KICAuZC1sZy1pbmxpbmUtZmxleCB7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLmQteGwtbm9uZSB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgfQogIC5kLXhsLWlubGluZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICB9CiAgLmQteGwtaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC14bC1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC14bC10YWJsZSB7CiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OwogIH0KICAuZC14bC10YWJsZS1yb3cgewogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXhsLXRhYmxlLWNlbGwgewogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OwogIH0KICAuZC14bC1mbGV4IHsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXhsLWlubGluZS1mbGV4IHsKICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSBwcmludCB7CiAgLmQtcHJpbnQtbm9uZSB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgfQogIC5kLXByaW50LWlubGluZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICB9CiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC10YWJsZSB7CiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC10YWJsZS1yb3cgewogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXByaW50LXRhYmxlLWNlbGwgewogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC1mbGV4IHsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXByaW50LWlubGluZS1mbGV4IHsKICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICB9Cn0KCi5lbWJlZC1yZXNwb25zaXZlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogYmxvY2s7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogMDsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgouZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3JlIHsKICBkaXNwbGF5OiBibG9jazsKICBjb250ZW50OiAiIjsKfQoKLmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSwKLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLAouZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwKLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LAouZW1iZWQtcmVzcG9uc2l2ZSB2aWRlbyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYm9yZGVyOiAwOwp9CgouZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3JlIHsKICBwYWRkaW5nLXRvcDogNDIuODU3MTQzJTsKfQoKLmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZSB7CiAgcGFkZGluZy10b3A6IDU2LjI1JTsKfQoKLmVtYmVkLXJlc3BvbnNpdmUtNGJ5Mzo6YmVmb3JlIHsKICBwYWRkaW5nLXRvcDogNzUlOwp9CgouZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmUgewogIHBhZGRpbmctdG9wOiAxMDAlOwp9CgouZmxleC1yb3cgewogIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50Owp9CgouZmxleC1jb2x1bW4gewogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Owp9CgouZmxleC1yb3ctcmV2ZXJzZSB7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50Owp9CgouZmxleC1jb2x1bW4tcmV2ZXJzZSB7CiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Owp9CgouZmxleC13cmFwIHsKICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7Cn0KCi5mbGV4LW5vd3JhcCB7CiAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKfQoKLmZsZXgtd3JhcC1yZXZlcnNlIHsKICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50Owp9CgouZmxleC1maWxsIHsKICAtbXMtZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsKICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50Owp9CgouZmxleC1ncm93LTAgewogIC1tcy1mbGV4LXBvc2l0aXZlOiAwICFpbXBvcnRhbnQ7CiAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7Cn0KCi5mbGV4LWdyb3ctMSB7CiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsKICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsKfQoKLmZsZXgtc2hyaW5rLTAgewogIC1tcy1mbGV4LW5lZ2F0aXZlOiAwICFpbXBvcnRhbnQ7CiAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKfQoKLmZsZXgtc2hyaW5rLTEgewogIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7CiAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsKfQoKLmp1c3RpZnktY29udGVudC1zdGFydCB7CiAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKfQoKLmp1c3RpZnktY29udGVudC1lbmQgewogIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50OwogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKfQoKLmp1c3RpZnktY29udGVudC1jZW50ZXIgewogIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7Cn0KCi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7CiAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Owp9CgouanVzdGlmeS1jb250ZW50LWFyb3VuZCB7CiAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1pdGVtcy1zdGFydCB7CiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKfQoKLmFsaWduLWl0ZW1zLWVuZCB7CiAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50OwogIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50Owp9CgouYWxpZ24taXRlbXMtY2VudGVyIHsKICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50Owp9CgouYWxpZ24taXRlbXMtYmFzZWxpbmUgewogIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OwogIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50Owp9CgouYWxpZ24taXRlbXMtc3RyZXRjaCB7CiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50Owp9CgouYWxpZ24tY29udGVudC1zdGFydCB7CiAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKfQoKLmFsaWduLWNvbnRlbnQtZW5kIHsKICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50OwogIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1jb250ZW50LWNlbnRlciB7CiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKfQoKLmFsaWduLWNvbnRlbnQtYmV0d2VlbiB7CiAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Owp9CgouYWxpZ24tY29udGVudC1hcm91bmQgewogIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50Owp9CgouYWxpZ24tY29udGVudC1zdHJldGNoIHsKICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsKICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1zZWxmLWF1dG8gewogIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDsKICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1zZWxmLXN0YXJ0IHsKICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKfQoKLmFsaWduLXNlbGYtZW5kIHsKICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsKICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50Owp9CgouYWxpZ24tc2VsZi1jZW50ZXIgewogIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50Owp9CgouYWxpZ24tc2VsZi1iYXNlbGluZSB7CiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsKICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50Owp9CgouYWxpZ24tc2VsZi1zdHJldGNoIHsKICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50Owp9CgpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsKICAuZmxleC1zbS1yb3cgewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tY29sdW1uIHsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20td3JhcCB7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tbm93cmFwIHsKICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20td3JhcC1yZXZlcnNlIHsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tZmlsbCB7CiAgICAtbXMtZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsKICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLWdyb3ctMCB7CiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMCAhaW1wb3J0YW50OwogICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLWdyb3ctMSB7CiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMSAhaW1wb3J0YW50OwogICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLXNocmluay0wIHsKICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwICFpbXBvcnRhbnQ7CiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1zbS1zaHJpbmstMSB7CiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMSAhaW1wb3J0YW50OwogICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1zbS1zdGFydCB7CiAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtc20tZW5kIHsKICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXNtLWNlbnRlciB7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQgewogICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHsKICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXNtLWVuZCB7CiAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXNtLWNlbnRlciB7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1zbS1iYXNlbGluZSB7CiAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtc20tc3RyZXRjaCB7CiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtc20tc3RhcnQgewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1zbS1lbmQgewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXNtLWNlbnRlciB7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXNtLWJldHdlZW4gewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1zbS1zdHJldGNoIHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1zbS1hdXRvIHsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtc20tc3RhcnQgewogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtc20tZW5kIHsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZCAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtc20tY2VudGVyIHsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1zbS1zdHJldGNoIHsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogIC5mbGV4LW1kLXJvdyB7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC1jb2x1bW4gewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbWQtcm93LXJldmVyc2UgewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLWNvbHVtbi1yZXZlcnNlIHsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC13cmFwIHsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC1ub3dyYXAgewogICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC13cmFwLXJldmVyc2UgewogICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC1maWxsIHsKICAgIC1tcy1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbWQtZ3Jvdy0wIHsKICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwICFpbXBvcnRhbnQ7CiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbWQtZ3Jvdy0xIHsKICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxICFpbXBvcnRhbnQ7CiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbWQtc2hyaW5rLTAgewogICAgLW1zLWZsZXgtbmVnYXRpdmU6IDAgIWltcG9ydGFudDsKICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLXNocmluay0xIHsKICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7CiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0IHsKICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQgewogICAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyIHsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuIHsKICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZCB7CiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbWQtc3RhcnQgewogICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbWQtZW5kIHsKICAgIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHsKICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1tZC1zdHJldGNoIHsKICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbWQtYmV0d2VlbiB7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbWQtYXJvdW5kIHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2ggewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLW1kLWF1dG8gewogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1tZC1zdGFydCB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1tZC1lbmQgewogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1tZC1jZW50ZXIgewogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbWQtYmFzZWxpbmUgewogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLW1kLXN0cmV0Y2ggewogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLmZsZXgtbGctcm93IHsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LWxnLWNvbHVtbiB7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbGctY29sdW1uLXJldmVyc2UgewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LWxnLXdyYXAgewogICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LWxnLW5vd3JhcCB7CiAgICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LWxnLXdyYXAtcmV2ZXJzZSB7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LWxnLWZpbGwgewogICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1ncm93LTAgewogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDAgIWltcG9ydGFudDsKICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1ncm93LTEgewogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsKICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1zaHJpbmstMCB7CiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMCAhaW1wb3J0YW50OwogICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbGctc2hyaW5rLTEgewogICAgLW1zLWZsZXgtbmVnYXRpdmU6IDEgIWltcG9ydGFudDsKICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQgewogICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LWxnLWVuZCB7CiAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1sZy1jZW50ZXIgewogICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LWxnLWJldHdlZW4gewogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtbGctYXJvdW5kIHsKICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1sZy1zdGFydCB7CiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1sZy1lbmQgewogICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1sZy1jZW50ZXIgewogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUgewogICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2ggewogICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LWxnLXN0YXJ0IHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbGctZW5kIHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1sZy1jZW50ZXIgewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1sZy1hcm91bmQgewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaCB7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbGctYXV0byB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLWxnLXN0YXJ0IHsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLWxnLWVuZCB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1sZy1iYXNlbGluZSB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLmZsZXgteGwtcm93IHsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLWNvbHVtbiB7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgteGwtY29sdW1uLXJldmVyc2UgewogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLXdyYXAgewogICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLW5vd3JhcCB7CiAgICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLXdyYXAtcmV2ZXJzZSB7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLWZpbGwgewogICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC1ncm93LTAgewogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDAgIWltcG9ydGFudDsKICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC1ncm93LTEgewogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsKICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC1zaHJpbmstMCB7CiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMCAhaW1wb3J0YW50OwogICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgteGwtc2hyaW5rLTEgewogICAgLW1zLWZsZXgtbmVnYXRpdmU6IDEgIWltcG9ydGFudDsKICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnQgewogICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXhsLWVuZCB7CiAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC14bC1jZW50ZXIgewogICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4gewogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHsKICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7CiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy14bC1lbmQgewogICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy14bC1jZW50ZXIgewogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMteGwtYmFzZWxpbmUgewogICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2ggewogICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXhsLXN0YXJ0IHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQteGwtZW5kIHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14bC1jZW50ZXIgewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14bC1iZXR3ZWVuIHsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14bC1hcm91bmQgewogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaCB7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYteGwtYXV0byB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXhsLWVuZCB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXhsLWNlbnRlciB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYteGwtc3RyZXRjaCB7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQp9CgouZmxvYXQtbGVmdCB7CiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsKfQoKLmZsb2F0LXJpZ2h0IHsKICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKfQoKLmZsb2F0LW5vbmUgewogIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgewogIC5mbG9hdC1zbS1sZWZ0IHsKICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7CiAgfQogIC5mbG9hdC1zbS1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLmZsb2F0LXNtLW5vbmUgewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogIC5mbG9hdC1tZC1sZWZ0IHsKICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7CiAgfQogIC5mbG9hdC1tZC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLmZsb2F0LW1kLW5vbmUgewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgewogIC5mbG9hdC1sZy1sZWZ0IHsKICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7CiAgfQogIC5mbG9hdC1sZy1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLmZsb2F0LWxnLW5vbmUgewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsKICAuZmxvYXQteGwtbGVmdCB7CiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OwogIH0KICAuZmxvYXQteGwtcmlnaHQgewogICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7CiAgfQogIC5mbG9hdC14bC1ub25lIHsKICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7CiAgfQp9CgoucG9zaXRpb24tc3RhdGljIHsKICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7Cn0KCi5wb3NpdGlvbi1yZWxhdGl2ZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7Cn0KCi5wb3NpdGlvbi1hYnNvbHV0ZSB7CiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7Cn0KCi5wb3NpdGlvbi1maXhlZCB7CiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7Cn0KCi5wb3NpdGlvbi1zdGlja3kgewogIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDsKfQoKLmZpeGVkLXRvcCB7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICByaWdodDogMDsKICBsZWZ0OiAwOwogIHotaW5kZXg6IDEwMzA7Cn0KCi5maXhlZC1ib3R0b20gewogIHBvc2l0aW9uOiBmaXhlZDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICB6LWluZGV4OiAxMDMwOwp9CgpAc3VwcG9ydHMgKChwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kpIG9yIChwb3NpdGlvbjogc3RpY2t5KSkgewogIC5zdGlja3ktdG9wIHsKICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsKICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICB0b3A6IDA7CiAgICB6LWluZGV4OiAxMDIwOwogIH0KfQoKLnNyLW9ubHkgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMXB4OwogIGhlaWdodDogMXB4OwogIHBhZGRpbmc6IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgYm9yZGVyOiAwOwp9Cgouc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMgewogIHBvc2l0aW9uOiBzdGF0aWM7CiAgd2lkdGg6IGF1dG87CiAgaGVpZ2h0OiBhdXRvOwogIG92ZXJmbG93OiB2aXNpYmxlOwogIGNsaXA6IGF1dG87CiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKfQoKLnNoYWRvdy1zbSB7CiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7Cn0KCi5zaGFkb3cgewogIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50Owp9Cgouc2hhZG93LWxnIHsKICBib3gtc2hhZG93OiAwIDFyZW0gM3JlbSByZ2JhKDAsIDAsIDAsIDAuMTc1KSAhaW1wb3J0YW50Owp9Cgouc2hhZG93LW5vbmUgewogIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQoKLnctMjUgewogIHdpZHRoOiAyNSUgIWltcG9ydGFudDsKfQoKLnctNTAgewogIHdpZHRoOiA1MCUgIWltcG9ydGFudDsKfQoKLnctNzUgewogIHdpZHRoOiA3NSUgIWltcG9ydGFudDsKfQoKLnctMTAwIHsKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50Owp9Cgoudy1hdXRvIHsKICB3aWR0aDogYXV0byAhaW1wb3J0YW50Owp9CgouaC0yNSB7CiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDsKfQoKLmgtNTAgewogIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7Cn0KCi5oLTc1IHsKICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50Owp9CgouaC0xMDAgewogIGhlaWdodDogMTAwJSAhaW1wb3J0YW50Owp9CgouaC1hdXRvIHsKICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKfQoKLm13LTEwMCB7CiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7Cn0KCi5taC0xMDAgewogIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKfQoKLm0tMCB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cn0KCi5tdC0wLAoubXktMCB7CiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Owp9CgoubXItMCwKLm14LTAgewogIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50Owp9CgoubWItMCwKLm15LTAgewogIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKfQoKLm1sLTAsCi5teC0wIHsKICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50Owp9CgoubS0xIHsKICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLm10LTEsCi5teS0xIHsKICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5tci0xLAoubXgtMSB7CiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5tYi0xLAoubXktMSB7CiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50Owp9CgoubWwtMSwKLm14LTEgewogIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5tLTIgewogIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5tdC0yLAoubXktMiB7CiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5tci0yLAoubXgtMiB7CiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLm1iLTIsCi5teS0yIHsKICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLm1sLTIsCi5teC0yIHsKICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5tLTMgewogIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50Owp9CgoubXQtMywKLm15LTMgewogIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsKfQoKLm1yLTMsCi5teC0zIHsKICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKfQoKLm1iLTMsCi5teS0zIHsKICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5tbC0zLAoubXgtMyB7CiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKfQoKLm0tNCB7CiAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLm10LTQsCi5teS00IHsKICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLm1yLTQsCi5teC00IHsKICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50Owp9CgoubWItNCwKLm15LTQgewogIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50Owp9CgoubWwtNCwKLm14LTQgewogIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLm0tNSB7CiAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5tdC01LAoubXktNSB7CiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50Owp9CgoubXItNSwKLm14LTUgewogIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50Owp9CgoubWItNSwKLm15LTUgewogIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKfQoKLm1sLTUsCi5teC01IHsKICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50Owp9CgoucC0wIHsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KCi5wdC0wLAoucHktMCB7CiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsKfQoKLnByLTAsCi5weC0wIHsKICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7Cn0KCi5wYi0wLAoucHktMCB7CiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKfQoKLnBsLTAsCi5weC0wIHsKICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKfQoKLnAtMSB7CiAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50Owp9CgoucHQtMSwKLnB5LTEgewogIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5wci0xLAoucHgtMSB7CiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50Owp9CgoucGItMSwKLnB5LTEgewogIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5wbC0xLAoucHgtMSB7CiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5wLTIgewogIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50Owp9CgoucHQtMiwKLnB5LTIgewogIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLnByLTIsCi5weC0yIHsKICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLnBiLTIsCi5weS0yIHsKICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5wbC0yLAoucHgtMiB7CiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLnAtMyB7CiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50Owp9CgoucHQtMywKLnB5LTMgewogIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5wci0zLAoucHgtMyB7CiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50Owp9CgoucGItMywKLnB5LTMgewogIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5wbC0zLAoucHgtMyB7CiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5wLTQgewogIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50Owp9CgoucHQtNCwKLnB5LTQgewogIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLnByLTQsCi5weC00IHsKICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLnBiLTQsCi5weS00IHsKICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7Cn0KCi5wbC00LAoucHgtNCB7CiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLnAtNSB7CiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50Owp9CgoucHQtNSwKLnB5LTUgewogIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5wci01LAoucHgtNSB7CiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50Owp9CgoucGItNSwKLnB5LTUgewogIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5wbC01LAoucHgtNSB7CiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5tLWF1dG8gewogIG1hcmdpbjogYXV0byAhaW1wb3J0YW50Owp9CgoubXQtYXV0bywKLm15LWF1dG8gewogIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsKfQoKLm1yLWF1dG8sCi5teC1hdXRvIHsKICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKfQoKLm1iLWF1dG8sCi5teS1hdXRvIHsKICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7Cn0KCi5tbC1hdXRvLAoubXgtYXV0byB7CiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7CiAgLm0tc20tMCB7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICB9CiAgLm10LXNtLTAsCiAgLm15LXNtLTAgewogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogIH0KICAubXItc20tMCwKICAubXgtc20tMCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm1iLXNtLTAsCiAgLm15LXNtLTAgewogICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OwogIH0KICAubWwtc20tMCwKICAubXgtc20tMCB7CiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAubS1zbS0xIHsKICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtc20tMSwKICAubXktc20tMSB7CiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tci1zbS0xLAogIC5teC1zbS0xIHsKICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItc20tMSwKICAubXktc20tMSB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tbC1zbS0xLAogIC5teC1zbS0xIHsKICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXNtLTIgewogICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXNtLTIsCiAgLm15LXNtLTIgewogICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tci1zbS0yLAogIC5teC1zbS0yIHsKICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1zbS0yLAogIC5teS1zbS0yIHsKICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWwtc20tMiwKICAubXgtc20tMiB7CiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXNtLTMgewogICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1zbS0zLAogIC5teS1zbS0zIHsKICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1yLXNtLTMsCiAgLm14LXNtLTMgewogICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1zbS0zLAogIC5teS1zbS0zIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1sLXNtLTMsCiAgLm14LXNtLTMgewogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tc20tNCB7CiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtc20tNCwKICAubXktc20tNCB7CiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1yLXNtLTQsCiAgLm14LXNtLTQgewogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLXNtLTQsCiAgLm15LXNtLTQgewogICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tbC1zbS00LAogIC5teC1zbS00IHsKICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tc20tNSB7CiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXNtLTUsCiAgLm15LXNtLTUgewogICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXItc20tNSwKICAubXgtc20tNSB7CiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLXNtLTUsCiAgLm15LXNtLTUgewogICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubWwtc20tNSwKICAubXgtc20tNSB7CiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucC1zbS0wIHsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICB9CiAgLnB0LXNtLTAsCiAgLnB5LXNtLTAgewogICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsKICB9CiAgLnByLXNtLTAsCiAgLnB4LXNtLTAgewogICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OwogIH0KICAucGItc20tMCwKICAucHktc20tMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OwogIH0KICAucGwtc20tMCwKICAucHgtc20tMCB7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLnAtc20tMSB7CiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1zbS0xLAogIC5weS1zbS0xIHsKICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wci1zbS0xLAogIC5weC1zbS0xIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLXNtLTEsCiAgLnB5LXNtLTEgewogICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBsLXNtLTEsCiAgLnB4LXNtLTEgewogICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXNtLTIgewogICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1zbS0yLAogIC5weS1zbS0yIHsKICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnByLXNtLTIsCiAgLnB4LXNtLTIgewogICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1zbS0yLAogIC5weS1zbS0yIHsKICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBsLXNtLTIsCiAgLnB4LXNtLTIgewogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtc20tMyB7CiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1zbS0zLAogIC5weS1zbS0zIHsKICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wci1zbS0zLAogIC5weC1zbS0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLXNtLTMsCiAgLnB5LXNtLTMgewogICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnBsLXNtLTMsCiAgLnB4LXNtLTMgewogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXNtLTQgewogICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1zbS00LAogIC5weS1zbS00IHsKICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnByLXNtLTQsCiAgLnB4LXNtLTQgewogICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1zbS00LAogIC5weS1zbS00IHsKICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBsLXNtLTQsCiAgLnB4LXNtLTQgewogICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtc20tNSB7CiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1zbS01LAogIC5weS1zbS01IHsKICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wci1zbS01LAogIC5weC1zbS01IHsKICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLXNtLTUsCiAgLnB5LXNtLTUgewogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnBsLXNtLTUsCiAgLnB4LXNtLTUgewogICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXNtLWF1dG8gewogICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1zbS1hdXRvLAogIC5teS1zbS1hdXRvIHsKICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm1yLXNtLWF1dG8sCiAgLm14LXNtLWF1dG8gewogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1zbS1hdXRvLAogIC5teS1zbS1hdXRvIHsKICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm1sLXNtLWF1dG8sCiAgLm14LXNtLWF1dG8gewogICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogIC5tLW1kLTAgewogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1tZC0wLAogIC5teS1tZC0wIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICB9CiAgLm1yLW1kLTAsCiAgLm14LW1kLTAgewogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1tZC0wLAogIC5teS1tZC0wIHsKICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLm1sLW1kLTAsCiAgLm14LW1kLTAgewogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm0tbWQtMSB7CiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LW1kLTEsCiAgLm15LW1kLTEgewogICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXItbWQtMSwKICAubXgtbWQtMSB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLW1kLTEsCiAgLm15LW1kLTEgewogICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWwtbWQtMSwKICAubXgtbWQtMSB7CiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1tZC0yIHsKICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1tZC0yLAogIC5teS1tZC0yIHsKICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXItbWQtMiwKICAubXgtbWQtMiB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItbWQtMiwKICAubXktbWQtMiB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1sLW1kLTIsCiAgLm14LW1kLTIgewogICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1tZC0zIHsKICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtbWQtMywKICAubXktbWQtMyB7CiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tci1tZC0zLAogIC5teC1tZC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItbWQtMywKICAubXktbWQtMyB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tbC1tZC0zLAogIC5teC1tZC0zIHsKICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLW1kLTQgewogICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LW1kLTQsCiAgLm15LW1kLTQgewogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tci1tZC00LAogIC5teC1tZC00IHsKICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1tZC00LAogIC5teS1tZC00IHsKICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWwtbWQtNCwKICAubXgtbWQtNCB7CiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLW1kLTUgewogICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1tZC01LAogIC5teS1tZC01IHsKICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1yLW1kLTUsCiAgLm14LW1kLTUgewogICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1tZC01LAogIC5teS1tZC01IHsKICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1sLW1kLTUsCiAgLm14LW1kLTUgewogICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtbWQtMCB7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1tZC0wLAogIC5weS1tZC0wIHsKICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wci1tZC0wLAogIC5weC1tZC0wIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKICB9CiAgLnBiLW1kLTAsCiAgLnB5LW1kLTAgewogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnBsLW1kLTAsCiAgLnB4LW1kLTAgewogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wLW1kLTEgewogICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbWQtMSwKICAucHktbWQtMSB7CiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHItbWQtMSwKICAucHgtbWQtMSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1tZC0xLAogIC5weS1tZC0xIHsKICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC1tZC0xLAogIC5weC1tZC0xIHsKICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1tZC0yIHsKICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbWQtMiwKICAucHktbWQtMiB7CiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wci1tZC0yLAogIC5weC1tZC0yIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItbWQtMiwKICAucHktbWQtMiB7CiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC1tZC0yLAogIC5weC1tZC0yIHsKICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLW1kLTMgewogICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbWQtMywKICAucHktbWQtMyB7CiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHItbWQtMywKICAucHgtbWQtMyB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1tZC0zLAogIC5weS1tZC0zIHsKICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC1tZC0zLAogIC5weC1tZC0zIHsKICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1tZC00IHsKICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbWQtNCwKICAucHktbWQtNCB7CiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wci1tZC00LAogIC5weC1tZC00IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItbWQtNCwKICAucHktbWQtNCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC1tZC00LAogIC5weC1tZC00IHsKICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLW1kLTUgewogICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbWQtNSwKICAucHktbWQtNSB7CiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHItbWQtNSwKICAucHgtbWQtNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1tZC01LAogIC5weS1tZC01IHsKICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC1tZC01LAogIC5weC1tZC01IHsKICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubS1tZC1hdXRvIHsKICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXQtbWQtYXV0bywKICAubXktbWQtYXV0byB7CiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tci1tZC1hdXRvLAogIC5teC1tZC1hdXRvIHsKICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OwogIH0KICAubWItbWQtYXV0bywKICAubXktbWQtYXV0byB7CiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tbC1tZC1hdXRvLAogIC5teC1tZC1hdXRvIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsKICAubS1sZy0wIHsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogIH0KICAubXQtbGctMCwKICAubXktbGctMCB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tci1sZy0wLAogIC5teC1sZy0wIHsKICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OwogIH0KICAubWItbGctMCwKICAubXktbGctMCB7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tbC1sZy0wLAogIC5teC1sZy0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tLWxnLTEgewogICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1sZy0xLAogIC5teS1sZy0xIHsKICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1yLWxnLTEsCiAgLm14LWxnLTEgewogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1sZy0xLAogIC5teS1sZy0xIHsKICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1sLWxnLTEsCiAgLm14LWxnLTEgewogICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tbGctMiB7CiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtbGctMiwKICAubXktbGctMiB7CiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1yLWxnLTIsCiAgLm14LWxnLTIgewogICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLWxnLTIsCiAgLm15LWxnLTIgewogICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tbC1sZy0yLAogIC5teC1sZy0yIHsKICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tbGctMyB7CiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LWxnLTMsCiAgLm15LWxnLTMgewogICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXItbGctMywKICAubXgtbGctMyB7CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLWxnLTMsCiAgLm15LWxnLTMgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWwtbGctMywKICAubXgtbGctMyB7CiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1sZy00IHsKICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1sZy00LAogIC5teS1sZy00IHsKICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXItbGctNCwKICAubXgtbGctNCB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItbGctNCwKICAubXktbGctNCB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1sLWxnLTQsCiAgLm14LWxnLTQgewogICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1sZy01IHsKICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXQtbGctNSwKICAubXktbGctNSB7CiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tci1sZy01LAogIC5teC1sZy01IHsKICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubWItbGctNSwKICAubXktbGctNSB7CiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tbC1sZy01LAogIC5teC1sZy01IHsKICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLWxnLTAgewogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIH0KICAucHQtbGctMCwKICAucHktbGctMCB7CiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OwogIH0KICAucHItbGctMCwKICAucHgtbGctMCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1sZy0wLAogIC5weS1sZy0wIHsKICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wbC1sZy0wLAogIC5weC1sZy0wIHsKICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAucC1sZy0xIHsKICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LWxnLTEsCiAgLnB5LWxnLTEgewogICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnByLWxnLTEsCiAgLnB4LWxnLTEgewogICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItbGctMSwKICAucHktbGctMSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGwtbGctMSwKICAucHgtbGctMSB7CiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtbGctMiB7CiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LWxnLTIsCiAgLnB5LWxnLTIgewogICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHItbGctMiwKICAucHgtbGctMiB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLWxnLTIsCiAgLnB5LWxnLTIgewogICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGwtbGctMiwKICAucHgtbGctMiB7CiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1sZy0zIHsKICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LWxnLTMsCiAgLnB5LWxnLTMgewogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnByLWxnLTMsCiAgLnB4LWxnLTMgewogICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItbGctMywKICAucHktbGctMyB7CiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucGwtbGctMywKICAucHgtbGctMyB7CiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtbGctNCB7CiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LWxnLTQsCiAgLnB5LWxnLTQgewogICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHItbGctNCwKICAucHgtbGctNCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLWxnLTQsCiAgLnB5LWxnLTQgewogICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGwtbGctNCwKICAucHgtbGctNCB7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1sZy01IHsKICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LWxnLTUsCiAgLnB5LWxnLTUgewogICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnByLWxnLTUsCiAgLnB4LWxnLTUgewogICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucGItbGctNSwKICAucHktbGctNSB7CiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucGwtbGctNSwKICAucHgtbGctNSB7CiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tbGctYXV0byB7CiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm10LWxnLWF1dG8sCiAgLm15LWxnLWF1dG8gewogICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXItbGctYXV0bywKICAubXgtbGctYXV0byB7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm1iLWxnLWF1dG8sCiAgLm15LWxnLWF1dG8gewogICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OwogIH0KICAubWwtbGctYXV0bywKICAubXgtbGctYXV0byB7CiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OwogIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogIC5tLXhsLTAgewogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14bC0wLAogIC5teS14bC0wIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICB9CiAgLm1yLXhsLTAsCiAgLm14LXhsLTAgewogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tYi14bC0wLAogIC5teS14bC0wIHsKICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLm1sLXhsLTAsCiAgLm14LXhsLTAgewogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm0teGwtMSB7CiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXhsLTEsCiAgLm15LXhsLTEgewogICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXIteGwtMSwKICAubXgteGwtMSB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLXhsLTEsCiAgLm15LXhsLTEgewogICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWwteGwtMSwKICAubXgteGwtMSB7CiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS14bC0yIHsKICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14bC0yLAogIC5teS14bC0yIHsKICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXIteGwtMiwKICAubXgteGwtMiB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWIteGwtMiwKICAubXkteGwtMiB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1sLXhsLTIsCiAgLm14LXhsLTIgewogICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS14bC0zIHsKICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQteGwtMywKICAubXkteGwtMyB7CiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tci14bC0zLAogIC5teC14bC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWIteGwtMywKICAubXkteGwtMyB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tbC14bC0zLAogIC5teC14bC0zIHsKICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXhsLTQgewogICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXhsLTQsCiAgLm15LXhsLTQgewogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tci14bC00LAogIC5teC14bC00IHsKICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi14bC00LAogIC5teS14bC00IHsKICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWwteGwtNCwKICAubXgteGwtNCB7CiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXhsLTUgewogICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14bC01LAogIC5teS14bC01IHsKICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1yLXhsLTUsCiAgLm14LXhsLTUgewogICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi14bC01LAogIC5teS14bC01IHsKICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1sLXhsLTUsCiAgLm14LXhsLTUgewogICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnAteGwtMCB7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wdC14bC0wLAogIC5weS14bC0wIHsKICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wci14bC0wLAogIC5weC14bC0wIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKICB9CiAgLnBiLXhsLTAsCiAgLnB5LXhsLTAgewogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnBsLXhsLTAsCiAgLnB4LXhsLTAgewogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wLXhsLTEgewogICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQteGwtMSwKICAucHkteGwtMSB7CiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHIteGwtMSwKICAucHgteGwtMSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi14bC0xLAogIC5weS14bC0xIHsKICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC14bC0xLAogIC5weC14bC0xIHsKICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC14bC0yIHsKICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQteGwtMiwKICAucHkteGwtMiB7CiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wci14bC0yLAogIC5weC14bC0yIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGIteGwtMiwKICAucHkteGwtMiB7CiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC14bC0yLAogIC5weC14bC0yIHsKICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXhsLTMgewogICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQteGwtMywKICAucHkteGwtMyB7CiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHIteGwtMywKICAucHgteGwtMyB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi14bC0zLAogIC5weS14bC0zIHsKICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC14bC0zLAogIC5weC14bC0zIHsKICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucC14bC00IHsKICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQteGwtNCwKICAucHkteGwtNCB7CiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wci14bC00LAogIC5weC14bC00IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGIteGwtNCwKICAucHkteGwtNCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC14bC00LAogIC5weC14bC00IHsKICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXhsLTUgewogICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHQteGwtNSwKICAucHkteGwtNSB7CiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHIteGwtNSwKICAucHgteGwtNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi14bC01LAogIC5weS14bC01IHsKICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wbC14bC01LAogIC5weC14bC01IHsKICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubS14bC1hdXRvIHsKICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXQteGwtYXV0bywKICAubXkteGwtYXV0byB7CiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tci14bC1hdXRvLAogIC5teC14bC1hdXRvIHsKICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OwogIH0KICAubWIteGwtYXV0bywKICAubXkteGwtYXV0byB7CiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tbC14bC1hdXRvLAogIC5teC14bC1hdXRvIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQp9CgoudGV4dC1tb25vc3BhY2UgewogIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICJMaWJlcmF0aW9uIE1vbm8iLCAiQ291cmllciBOZXciLCBtb25vc3BhY2U7Cn0KCi50ZXh0LWp1c3RpZnkgewogIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsKfQoKLnRleHQtbm93cmFwIHsKICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LXRydW5jYXRlIHsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi50ZXh0LWxlZnQgewogIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKfQoKLnRleHQtcmlnaHQgewogIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LWNlbnRlciB7CiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgewogIC50ZXh0LXNtLWxlZnQgewogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OwogIH0KICAudGV4dC1zbS1yaWdodCB7CiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OwogIH0KICAudGV4dC1zbS1jZW50ZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKICAudGV4dC1tZC1sZWZ0IHsKICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICB9CiAgLnRleHQtbWQtcmlnaHQgewogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnRleHQtbWQtY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLnRleHQtbGctbGVmdCB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgfQogIC50ZXh0LWxnLXJpZ2h0IHsKICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7CiAgfQogIC50ZXh0LWxnLWNlbnRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsKICAudGV4dC14bC1sZWZ0IHsKICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKICB9CiAgLnRleHQteGwtcmlnaHQgewogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnRleHQteGwtY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogIH0KfQoKLnRleHQtbG93ZXJjYXNlIHsKICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LXVwcGVyY2FzZSB7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50Owp9CgoudGV4dC1jYXBpdGFsaXplIHsKICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50Owp9CgouZm9udC13ZWlnaHQtbGlnaHQgewogIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDsKfQoKLmZvbnQtd2VpZ2h0LW5vcm1hbCB7CiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50Owp9CgouZm9udC13ZWlnaHQtYm9sZCB7CiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50Owp9CgouZm9udC1pdGFsaWMgewogIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50Owp9CgoudGV4dC13aGl0ZSB7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQoKLnRleHQtcHJpbWFyeSB7CiAgY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsKfQoKYS50ZXh0LXByaW1hcnk6aG92ZXIsIGEudGV4dC1wcmltYXJ5OmZvY3VzIHsKICBjb2xvcjogIzAwNjJjYyAhaW1wb3J0YW50Owp9CgoudGV4dC1zZWNvbmRhcnkgewogIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7Cn0KCmEudGV4dC1zZWNvbmRhcnk6aG92ZXIsIGEudGV4dC1zZWNvbmRhcnk6Zm9jdXMgewogIGNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LXN1Y2Nlc3MgewogIGNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7Cn0KCmEudGV4dC1zdWNjZXNzOmhvdmVyLCBhLnRleHQtc3VjY2Vzczpmb2N1cyB7CiAgY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDsKfQoKLnRleHQtaW5mbyB7CiAgY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDsKfQoKYS50ZXh0LWluZm86aG92ZXIsIGEudGV4dC1pbmZvOmZvY3VzIHsKICBjb2xvcjogIzExN2E4YiAhaW1wb3J0YW50Owp9CgoudGV4dC13YXJuaW5nIHsKICBjb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50Owp9CgphLnRleHQtd2FybmluZzpob3ZlciwgYS50ZXh0LXdhcm5pbmc6Zm9jdXMgewogIGNvbG9yOiAjZDM5ZTAwICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LWRhbmdlciB7CiAgY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsKfQoKYS50ZXh0LWRhbmdlcjpob3ZlciwgYS50ZXh0LWRhbmdlcjpmb2N1cyB7CiAgY29sb3I6ICNiZDIxMzAgIWltcG9ydGFudDsKfQoKLnRleHQtbGlnaHQgewogIGNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7Cn0KCmEudGV4dC1saWdodDpob3ZlciwgYS50ZXh0LWxpZ2h0OmZvY3VzIHsKICBjb2xvcjogI2RhZTBlNSAhaW1wb3J0YW50Owp9CgoudGV4dC1kYXJrIHsKICBjb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50Owp9CgphLnRleHQtZGFyazpob3ZlciwgYS50ZXh0LWRhcms6Zm9jdXMgewogIGNvbG9yOiAjMWQyMTI0ICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LWJvZHkgewogIGNvbG9yOiAjMjEyNTI5ICFpbXBvcnRhbnQ7Cn0KCi50ZXh0LW11dGVkIHsKICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50Owp9CgoudGV4dC1ibGFjay01MCB7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50Owp9CgoudGV4dC13aGl0ZS01MCB7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50Owp9CgoudGV4dC1oaWRlIHsKICBmb250OiAwLzAgYTsKICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgdGV4dC1zaGFkb3c6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwp9CgoudmlzaWJsZSB7CiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Owp9CgouaW52aXNpYmxlIHsKICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsKfQoKQG1lZGlhIHByaW50IHsKICAqLAogICo6OmJlZm9yZSwKICAqOjphZnRlciB7CiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogIH0KICBhOm5vdCguYnRuKSB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9CiAgYWJiclt0aXRsZV06OmFmdGVyIHsKICAgIGNvbnRlbnQ6ICIgKCIgYXR0cih0aXRsZSkgIikiOwogIH0KICBwcmUgewogICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7CiAgfQogIHByZSwKICBibG9ja3F1b3RlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGI1YmQ7CiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7CiAgfQogIHRoZWFkIHsKICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsKICB9CiAgdHIsCiAgaW1nIHsKICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsKICB9CiAgcCwKICBoMiwKICBoMyB7CiAgICBvcnBoYW5zOiAzOwogICAgd2lkb3dzOiAzOwogIH0KICBoMiwKICBoMyB7CiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsKICB9CiAgQHBhZ2UgewogICAgc2l6ZTogYTM7CiAgfQogIGJvZHkgewogICAgbWluLXdpZHRoOiA5OTJweCAhaW1wb3J0YW50OwogIH0KICAuY29udGFpbmVyIHsKICAgIG1pbi13aWR0aDogOTkycHggIWltcG9ydGFudDsKICB9CiAgLm5hdmJhciB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KICAuYmFkZ2UgewogICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsKICB9CiAgLnRhYmxlIHsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsKICB9CiAgLnRhYmxlIHRkLAogIC50YWJsZSB0aCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7CiAgfQogIC50YWJsZS1ib3JkZXJlZCB0aCwKICAudGFibGUtYm9yZGVyZWQgdGQgewogICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50OwogIH0KICAudGFibGUtZGFyayB7CiAgICBjb2xvcjogaW5oZXJpdDsKICB9CiAgLnRhYmxlLWRhcmsgdGgsCiAgLnRhYmxlLWRhcmsgdGQsCiAgLnRhYmxlLWRhcmsgdGhlYWQgdGgsCiAgLnRhYmxlLWRhcmsgdGJvZHkgKyB0Ym9keSB7CiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7CiAgfQogIC50YWJsZSAudGhlYWQtZGFyayB0aCB7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGJvcmRlci1jb2xvcjogI2RlZTJlNjsKICB9Cn0KLyojIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLmNzcy5tYXAgKi8="}},"time_used":45,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":45,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/support-icon.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.252Z","timestamp":1785124875252,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/support-icon.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 3981\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-f8d\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3981,"size_decoded":4205,"mime_type":"image/png","magic":"PNG image data, 68 x 68, 8-bit/color RGBA, non-interlaced","md5":"5c18ed422b429982157ececa62cd4226","sha1":"29712235ef0daff68355a3ca7d386ce12a12c7a1","sha256":"493163d45910d53b8f55be8a79e948953ca3990a38c4286fb97322022399c52c","sha512":"c28d117182fcb299db3fcb3c272cbc568e04dd4a574be8f9490ec82eb390e50a5fd991c6becd0a5615f3e293eb06a444393a9626d8f062ef5d85aa1bc22e0651","ssdeep":"","tlshash":"5b814cecbf83b884658fa74159791622eebcec888a40d4384598d92f7c945b6b01d2e6","first_seen":"2025-08-11T23:10:22.713657Z","last_seen":"2026-07-27T04:03:30.037954Z","times_seen":19,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2RkU2MDY0MjQ3RDYxMUVBQTQxREJCMDZBNTI2MEQ1MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2RkU2MDY0MzQ3RDYxMUVBQTQxREJCMDZBNTI2MEQ1MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZGRTYwNjQwNDdENjExRUFBNDFEQkIwNkE1MjYwRDUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZGRTYwNjQxNDdENjExRUFBNDFEQkIwNkE1MjYwRDUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ZmggNgAADAJJREFUeNrcnAuYVVUV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"}},"time_used":70,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":69,"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":"berthenergy-inc.biz","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.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.479Z","timestamp":1785124875479,"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_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://berthenergy-inc.biz/\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: 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: 381672\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":194344,"size_decoded":68796,"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-27T06:15:18.677314Z","times_seen":1500,"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":40,"timings":{"blocked":-1,"dns":2,"connect":14,"send":0,"wait":16,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.794Z","timestamp":1785124875794,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-23c4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8b93009c60db06057ba4f8cd828673d7\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9156,"size_decoded":2695,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9156), with no line terminators","md5":"585b0debea11681772c2af93fac32f6f","sha1":"239ef62778933c4ffbb2003ad1da3ab7f1c412e6","sha256":"7a6f9ce2286878bf4b28af0ff0922e443fe7fd6f6289968222d35cacb1fd8f85","sha512":"f37cf7f51a2fb42cf0f1822ddea62c13673cc6ac0dd4e9ec40de3f0387a5fc680d4eeec0d9d2b81cbc71136e743b6e8692b20d29e16cd72a6c83c741eea6239e","ssdeep":"192:aB56ZYifpWjOHpRSvoAyGGoCARk3NPmHHZ+DG4x8:ayXsh","tlshash":"6612cf5bf5e30baa2f63e1255a2d7b48516773062887a5f5ee42f3e045caec216036cc","first_seen":"2026-03-24T10:38:42.78469Z","last_seen":"2026-07-27T06:16:23.091891Z","times_seen":5876,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"time_used":19,"timings":{"blocked":-1,"dns":2,"connect":1,"send":0,"wait":2,"receive":0,"ssl":14},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36222.e9be9a733e114730a4ea.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.685Z","timestamp":1785124876685,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36222.e9be9a733e114730a4ea.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-817\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 59b4e8a0e6276dd97836fc6c696dfb04\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2071,"size_decoded":1307,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2071), with no line terminators","md5":"2e8e694e16e9459d863140b929080820","sha1":"49a854bbed81708280adaa8bbe6867c856fcec99","sha256":"39a8612e5776ad12480990df92ddf0ae28da68e6fda202f92e646cfbd754ed65","sha512":"f624307751b27dd6725309a31659c60b989256ea30ddbc8f0b6a2632af721b14d2c15e8ad1e8f78fae96aada441df8c0d4a42bec925b80236c39d5fd8fa5f59e","ssdeep":"","tlshash":"3041dd2045d5ec78bc53b366d2e5160c55b5bd34de4b2cce3ba438222ac2bf400b7a5e","first_seen":"2026-07-16T13:40:49.685175Z","last_seen":"2026-07-27T06:14:34.290031Z","times_seen":121,"resource_available":false,"data":"LnBvc2l0aW9uZXItaEJWa2FQMlB7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnI7aGVpZ2h0OnZhcigtLXVpLWxpYi1pbi1wb3NpdGlvbmVyLWV4YWN0SGVpZ2h0LHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RIZWlnaHQsYXV0bykpO2xlZnQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWCk7bWF4LWhlaWdodDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4SGVpZ2h0LDEwMDAwMHZoKSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCkpO21heC13aWR0aDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhXaWR0aCwxMDAwMHZ3KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXNjcmVlblJlc3RyaWN0aW9uTWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heFdpZHRoLDEwMDAwdncpKTttaW4taGVpZ2h0Om1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5IZWlnaHQsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQsMHB4KSk7bWluLXdpZHRoOm1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yTWluV2lkdGgsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXJlc2l6ZVJlc3RyaWN0aW9uTWluV2lkdGgsMHB4KSk7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpmaXhlZDt0b3A6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50UG9pbnRYKSotMTAwJSksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSkqLTEwMCUpKTt3aWR0aDp2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1leGFjdFdpZHRoLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RXaWR0aCxhdXRvKSl9Lm5vSG9yaXpvbnRhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5XaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9Ib3Jpem9udGFsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NYXhXaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9WZXJ0aWNhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQpfS5ub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplLXJlc3RyaWN0aW9uLW1heC1oZWlnaHQ6dmFyKC0tdWktbGliLXBvc2l0aW9uZXItY29udGVudC1oZWlnaHQtbWVhc3VyZWQpfS5pbnZpc2libGUtaEJWa2FQMlB7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvcnRhbC1oQlZrYVAyUHtoZWlnaHQ6MTAwMHZoO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7d2lkdGg6MTAwMHZ3fQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.691Z","timestamp":1785124876691,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-102a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 999432844643c06877efeb6dd5c6b337\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-07-27T06:16:23.113472Z","times_seen":1142,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.240Z","timestamp":1785124877240,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4efd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 90516ca0bcb0ad91372c6839ee69e5b1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20221,"size_decoded":8618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-27T06:14:34.191987Z","times_seen":104,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjI4OF0sezIwMjA0MShlKXtlLmV4cG9ydHM9e2hpZGRlbjoiaGlkZGVuLW5NdHhYVFhfIixmYWRlSW5XcmFwcGVyOiJmYWRlSW5XcmFwcGVyLW5NdHhYVFhfIixpc0FuaW1hdGVkOiJpc0FuaW1hdGVkLW5NdHhYVFhfIn19LDU2NzI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZhZGVJbkNvbnRleHQ6KCk9PnJ9KTt2YXIgaT1uKDc3OTQ3NCk7big5MTQ0ODcpLG4oMjAyMDQxKTtjb25zdCBvPWkuY3JlYXRlQ29udGV4dCh7Y2hpbGRyZW46e30sc2V0SXNSZWFkeTooKT0+e319KTtmdW5jdGlvbiByKCl7Y29uc3R7c2V0SXNSZWFkeTplLGNoaWxkcmVuOnR9PSgwLGkudXNlQ29udGV4dCkobyksbj0oMCxpLnVzZVJlZikoKDAsaS51c2VJZCkoKSk7dFtuLmN1cnJlbnRdfHwodFtuLmN1cnJlbnRdPXtpc1JlYWR5OiExfSk7cmV0dXJuKDAsaS51c2VDYWxsYmFjaykoKCgpPT57dFtuLmN1cnJlbnRdLmlzUmVhZHk9ITAsZShPYmplY3QudmFsdWVzKHQpLmV2ZXJ5KChlPT5lLmlzUmVhZHkpKSl9KSxbdCxlXSl9fSwxODM1NzIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29sbGFwc2VEaXJlY3Rpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLlN0YXJ0Rmlyc3Q9InN0YXJ0LWZpcnN0IixlLkVuZEZpcnN0PSJlbmQtZmlyc3QifShpfHwoaT17fSkpfSwxMzc2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGVDb21tb246KCk9PmN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcxOTQyNSkscj1uKDMxNDcyMCkscz1uKDk5MTA5MSksbD1uKDYxNjMxMSksYT1uKDk2NDU5NCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtpdGVtc0xpc3Q6dCxnZXRJdGVtSWQ6bixjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmMsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOmQsb25NZWFzdXJlQ2FsbGJhY2s6Zixmb3JjZVVwZGF0ZTpiPSExfT1lLFtoLG1dPSgwLHMudXNlUmVmc01hcCkoKSxwPSgwLGkudXNlUmVmKShudWxsKSx2PSgwLGkudXNlUmVmKSh7d2lkdGhzTWFwOm5ldyBNYXAsY29udGFpbmVyV2lkdGg6MCxtb3JlQnV0dG9uV2lkdGg6MH0pLFtnLEldPSgwLGkudXNlU3RhdGUpKHt2aXNpYmxlOnQsaGlkZGVuOltdfSksQz0oMCxpLnVzZU1lbW8pKCgoKT0+dC5yZWR1Y2UoKChlLHQsbik9PihkKHQpJiZlLnB1c2gobiksZSkpLFtdKSksW3QsZF0pLFI9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aWYodi5jdXJyZW50LmNvbnRhaW5lcldpZHRoKXtjb25zdCBlPWModi5jdXJyZW50LEMpOyhmdW5jdGlvbihlLHQpe3JldHVybiF1KGUudmlzaWJsZSx0LnZpc2libGUpfHwhdShlLmhpZGRlbix0LmhpZGRlbil9KShnLGUpJiZJKGUpfX0pLFt2LEksZyxDLGNdKSxTPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3YuY3VycmVudC5tb3JlQnV0dG9uV2lkdGg9cC5jdXJyZW50PygwLHIub3V0ZXJXaWR0aCkocC5jdXJyZW50LCEwKTowO2NvbnN0IGU9bmV3IE1hcCh2LmN1cnJlbnQud2lkdGhzTWFwKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PW4oaSksbz1oLmN1cnJlbnQuZ2V0KHQpO2lmKG8pe2NvbnN0IG49KDAsci5vdXRlcldpZHRoKShvLCEwKTtlLnNldCh0LG4pfX12LmN1cnJlbnQud2lkdGhzTWFwPWUsZiYmZigpfSksW3YsdCxuLGgsZl0pLGs9KDAsaS51c2VSZWYpKG51bGwpLHk9KDAsaS51c2VDYWxsYmFjaykoKChbZV0pPT57ZS5jb250ZW50UmVjdC53aWR0aCE9PXYuY3VycmVudC5jb250YWluZXJXaWR0aCYmKGsuY3VycmVudCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoay5jdXJyZW50KSx2LmN1cnJlbnQuY29udGFpbmVyV2lkdGg9ZS5jb250ZW50UmVjdC53aWR0aCxrLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e1IoKX0pKSl9KSxbdixSXSksTT0oMCxpLnVzZVJlZikobnVsbCksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKFtlXSk9PntNLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKE0uY3VycmVudCksUygpLE0uY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57UigpfSkpfSksW1MsUl0pLEE9KDAsby51c2VSZXNpemVPYnNlcnZlcikoSCksdz0oMCxvLnVzZVJlc2l6ZU9ic2VydmVyKSh5KSxUPSgwLGkudXNlUmVmKShudWxsKSxFPSgwLGEubWVyZ2VSZWZzKShbdyxUXSkseD0oMCxpLnVzZVJlZikodCksej0oMCxpLnVzZVJlZikoITApLEI9KDAsaS51c2VSZWYpKFtdKTtyZXR1cm4oMCxsLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9di5jdXJyZW50LndpZHRoc01hcC5zaXplPT09dC5sZW5ndGg7IWImJiF6LmN1cnJlbnQmJnUoeC5jdXJyZW50LHQpJiZ1KEIuY3VycmVudCxDKSYmZXx8KFMoKSxSKCksei5jdXJyZW50PSExLHguY3VycmVudD10LEIuY3VycmVudD1DKX0pLFt0LEMsYixTLFJdKSx7Y29udGFpbmVyUmVmQ2FsbGJhY2s6RSxtb3JlQnV0dG9uUmVmOnAsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpBLGl0ZW1zUmVmczpoLHNldEl0ZW1SZWY6bSxoaWRkZW5JdGVtczpnLmhpZGRlbix2aXNpYmxlSXRlbXM6Zy52aXNpYmxlLGl0ZW1zTWVhc3VyZW1lbnRzOnZ9fWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZS5sZW5ndGg9PT10Lmxlbmd0aCYmZS5yZWR1Y2UoKChlLG4saSk9PmUmJm49PT10W2ldKSwhMCl9fSw4NjgzMzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGU6KCk9PnN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDE4MzU3Mikscj1uKDEzNzY2OSk7ZnVuY3Rpb24gcyhlLHQsbixzPW8uQ29sbGFwc2VEaXJlY3Rpb24uRW5kRmlyc3Qpe2NvbnN0IGw9KDAsaS51c2VDYWxsYmFjaykoKChuLGkpPT57Y29uc3Qgcj1lLm1hcCgoZT0+bi53aWR0aHNNYXAuZ2V0KHQoZSkpPz8wKSk7cmV0dXJuIGZ1bmN0aW9uKHtpdGVtczplLGNvbnRhaW5lcldpZHRoOnQsZWxlbWVudHNXaWR0aHM6bixtZW51SXRlbVdpZHRoOmksa2VlcFZpc2libGU6cixkaXJlY3Rpb246c30pe2NvbnN0IGw9Wy4uLmVdLGE9W10sYz1bXTtsZXQgdT0wO2Zvcihjb25zdCBlIG9mIG4pdSs9ZQo7aWYodTw9dClyZXR1cm57dmlzaWJsZTpsLGhpZGRlbjpjfTtjb25zdCBkPVsuLi5uXTtpZih1PXIubWFwKChlPT5kW2VdKSkucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKStpLHM9PT1vLkNvbGxhcHNlRGlyZWN0aW9uLkVuZEZpcnN0KWZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXIuaW5jbHVkZXMoZSk/YS5wdXNoKGxbZV0pOih1Kz1kW2VdLHU8PXQ/YS5wdXNoKGxbZV0pOmMucHVzaChsW2VdKSk7ZWxzZSBmb3IobGV0IGU9bC5sZW5ndGgtMTtlPj0wO2UtLSlyLmluY2x1ZGVzKGUpP2EudW5zaGlmdChsW2VdKToodSs9ZFtlXSx1PD10P2EudW5zaGlmdChsW2VdKTpjLnVuc2hpZnQobFtlXSkpO3JldHVybnt2aXNpYmxlOmEsaGlkZGVuOmN9fSh7aXRlbXM6ZSxjb250YWluZXJXaWR0aDpuLmNvbnRhaW5lcldpZHRoLGVsZW1lbnRzV2lkdGhzOnIsbWVudUl0ZW1XaWR0aDpuLm1vcmVCdXR0b25XaWR0aCxrZWVwVmlzaWJsZTppLGRpcmVjdGlvbjpzfSl9KSxbZV0pO3JldHVybigwLHIudXNlQ29sbGFwc2libGVDb21tb24pKHtpdGVtc0xpc3Q6ZSxnZXRJdGVtSWQ6dCxjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmwsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOm59KX19LDQ1NjQ4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VEaXNjbG9zdXJlOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3MjEzNjkpLHM9bigxNDU5ODQpLGw9big4MzM5MDMpLGE9big0MTkxODEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCxsaXN0Ym94SWQ6bixkaXNhYmxlZDpjLGJ1dHRvblRhYkluZGV4OnU9MCxvbkZvY3VzOmQsb25CbHVyOmYsb25DbGljazpifT1lLFtoLG1dPSgwLGkudXNlU3RhdGUpKCExKSxbcCx2XT0oMCxzLnVzZUZvY3VzKSgpLGc9cHx8aCxJPW4/P3ZvaWQgMCE9PXQ/KDAsYS5jcmVhdGVEb21JZCkodCwibGlzdGJveCIpOnZvaWQgMCxDPSgwLGkudXNlUmVmKShudWxsKSxSPSgwLGkudXNlQ2FsbGJhY2spKChlPT5DLmN1cnJlbnQ/LmZvY3VzKGUpKSxbQ10pLFM9KDAsaS51c2VSZWYpKG51bGwpLGs9KDAsaS51c2VDYWxsYmFjaykoKCgpPT4oMCxvLmVuc3VyZU5vdE51bGwpKFMuY3VycmVudCkuZm9jdXMoKSksW1NdKSx5PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+bSghMCkpLFttXSksTT0oMCxpLnVzZUNhbGxiYWNrKSgoKGU9ITEsdD0hMSk9PnttKCExKTtjb25zdHthY3RpdmVFbGVtZW50Om59PWRvY3VtZW50O24mJigwLHIuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKXx8dHx8Uih7cHJldmVudFNjcm9sbDplfSl9KSxbbSxSXSksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntoP00oKTp5KCl9KSxbaCxNLHldKSxBPWM/W106W2Qsdi5vbkZvY3VzXSx3PWM/W106W2Ysdi5vbkJsdXJdLFQ9Yz9bXTpbYixIXSxFPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoLi4uQSkseD0oMCxsLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKC4uLncpLHo9KDAsbC5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSguLi5UKTtyZXR1cm57bGlzdGJveElkOkksaXNPcGVuZWQ6aCxpc0ZvY3VzZWQ6ZyxidXR0b25UYWJJbmRleDpjPy0xOnUsbGlzdGJveFRhYkluZGV4Oi0xLG9wZW46eSxjbG9zZTpNLHRvZ2dsZTpILG9uT3BlbjprLGJ1dHRvbkZvY3VzQmluZGluZ3M6e29uRm9jdXM6RSxvbkJsdXI6eH0sb25CdXR0b25DbGljazp6LGJ1dHRvblJlZjpDLGxpc3Rib3hSZWY6UyxidXR0b25BcmlhOnsiYXJpYS1jb250cm9scyI6aD9JOnZvaWQgMCwiYXJpYS1leHBhbmRlZCI6aCwiYXJpYS1kaXNhYmxlZCI6Y319fX0sNzA4MjA3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUl0ZW1zS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5sfSk7dmFyIGksbz1uKDc3OTQ3NCkscj1uKDc2MzU0OSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPj0wP2UldDoodC1NYXRoLmFicyhlKSV0KSV0fSFmdW5jdGlvbihlKXtlLk5leHQ9Im5leHQiLGUuUHJldmlvdXM9InByZXZpb3VzIixlLkZpcnN0PSJmaXJzdCIsZS5MYXN0PSJsYXN0In0oaXx8KGk9e30pKTtmdW5jdGlvbiBsKGUsdCxuLGksbCxhLGM9e30sdSxkKXtjb25zdCBmPSgwLG8udXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1uLmZpbmRJbmRleChpKTtpZih0PT09bi5sZW5ndGgtMSYmIWEpcmV0dXJuIHZvaWQodT8ub25GYWlsTmV4dCYmdS5vbkZhaWxOZXh0KGUpKTtjb25zdCBvPXModCsxLG4ubGVuZ3RoKTtsJiZsKG5bb10sIm5leHQiKX0pLFtuLGksbCxhXSksYj0oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IHQ9bi5maW5kSW5kZXgoaSk7aWYoMD09PXQmJiFhKXJldHVybiB2b2lkKHU/Lm9uRmFpbFByZXYmJnUub25GYWlsUHJldihlKSk7Y29uc3Qgbz1zKHQtMSxuLmxlbmd0aCk7bCYmbChuW29dLCJwcmV2aW91cyIpfSksW24saSxsLGFdKSxoPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwoblswXSwiZmlyc3QiKX0pLFtsLG5dKSxtPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwobltuLmxlbmd0aC0xXSwibGFzdCIpfSksW2wsbl0pLHA9KDAsby51c2VNZW1vKSgoKCk9PihlPT4oe25leHQ6WzQwLCgpPT5lKCk/Mzc6MzldLHByZXZpb3VzOlszOCwoKT0+ZSgpPzM5OjM3XSxmaXJzdDpbMzMsKCk9PmUoKT8zNTozNl0sbGFzdDpbMzQsKCk9PmUoKT8zNjozNV19KSkodCkpLFt0XSkse25leHQ6dj1wLm5leHQscHJldmlvdXM6Zz1wLnByZXZpb3VzLGZpcnN0Okk9cC5maXJzdCxsYXN0OkM9cC5sYXN0fT1jO3JldHVybigwLHIudXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzKSgoMCxyLnVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcikodixmLGQ/Lm5leHQ/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShnLGIsZD8ucHJldmlvdXM/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShJLGgsKCgpPT4hMCksZSksKDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKEMsbSwoKCk9PiEwKSxlKSl9fSw2NjI3NjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlS2VlcEFjdGl2ZUl0ZW1JbnRvVmlldzooKT0+c30pCjt2YXIgaT1uKDc3OTQ3NCksbz1uKDEzODYzOCkscj1uKDk5MzgzOSk7ZnVuY3Rpb24gcyhlPXt9KXtjb25zdHthY3RpdmVJdGVtOnQsZ2V0S2V5Om4sLi4uc309ZSxsPSgwLGkudXNlUmVmKShudWxsKSxhPSgwLGkudXNlUmVmKShuZXcgTWFwKSxjPSgwLHIudXNlU2Nyb2xsSW50b1ZpZXdIZWxwZXIpKGwuY3VycmVudCksdT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntudWxsIT09Yy5jdXJyZW50JiZudWxsIT09bC5jdXJyZW50JiZjLmN1cnJlbnQuZ2V0Q29udGFpbmVyKCkhPT1sLmN1cnJlbnQmJmMuY3VycmVudC5zZXRDb250YWluZXIobC5jdXJyZW50KX0pLFtjLGxdKSxkPSgwLGkudXNlQ2FsbGJhY2spKChlPT57bC5jdXJyZW50PWV9KSxbbF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57Y29uc3QgaT1uP24oZSk6ZTt0P2EuY3VycmVudC5zZXQoaSx0KTphLmN1cnJlbnQuZGVsZXRlKGkpfSksW2Esbl0pLGI9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57aWYoIWUpcmV0dXJuO2NvbnN0IGk9bj9uKGUpOmUscj1hLmN1cnJlbnQuZ2V0KGkpO3ImJih1KCksKDAsby5lbnN1cmVOb3ROdWxsKShjLmN1cnJlbnQpLnNjcm9sbFRvKHIsdCkpfSksW2EsYyxuXSk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+Yih0LHMpKSxbYix0XSksW2QsZixiXX19LDQxODM4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNb2JpbGVUb3VjaFN0YXRlOigpPT5yfSk7dmFyIGk9big3Nzk0NzQpLG89big3Mzg0NTgpO2Z1bmN0aW9uIHIoKXtjb25zdFtlLHRdPSgwLGkudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57dChvLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sNTg2MjIzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByZXZpb3VzOigpPT5vfSk7dmFyIGk9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD0oMCxpLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+e3QuY3VycmVudD1lfSksW2VdKSx0LmN1cnJlbnR9fSw5OTEwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUmVmc01hcDooKT0+b30pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3QgZT0oMCxpLnVzZVJlZikobmV3IE1hcCksdD0oMCxpLnVzZUNhbGxiYWNrKSgodD0+bj0+e251bGwhPT1uP2UuY3VycmVudC5zZXQodCxuKTplLmN1cnJlbnQuZGVsZXRlKHQpfSksW2VdKTtyZXR1cm5bZSx0XX19LDk5MzgzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTY3JvbGxJbnRvVmlld0hlbHBlcjooKT0+c30pO3ZhciBpPW4oNzc5NDc0KSxvPW4oMTM4NjM4KSxyPW4oODY2NzQzKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9Pih0LmN1cnJlbnQ9bmV3IHIuU2Nyb2xsSW50b1ZpZXdIZWxwZXIoZSksKCk9PigwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KS5kZXN0cm95KCkpKSxbXSksdH19LDU5MTU3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3NjM1NDkpLHM9big3MDgyMDcpO2Z1bmN0aW9uIGwoKXtyZXR1cm4hMX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJue25leHQ6KCk9PnQhPT1lLmxlbmd0aC0xLHByZXZpb3VzOigpPT4wIT09dH19ZnVuY3Rpb24gYyhlKXtjb25zdHthY3RpdmF0aW9uVHlwZTp0PSJtYW51YWwifT1lLG49KDAsaS51c2VNZW1vKSgoKCk9PnQpLFtdKTtyZXR1cm4oMCxvLmFzc2VydCkodD09PW4sIkFjdGl2YXRpb24gdHlwZSBtdXN0IGJlIGludmFyaWFudC4iKSwiYXV0b21hdGljIj09PXQ/ZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dCxpdGVtczpuLHByZXZlbnREZWZhdWx0SWZIYW5kbGVkOm89ITAsc3RvcFByb3BhZ2F0aW9uSWZIYW5kbGVkOmM9ITEsbG9vcDp1PSEwLGlzSGlnaGxpZ2h0ZWQ6ZCxvbkhpZ2hsaWdodDpmLG9uQWN0aXZhdGU6Yixpc0NvbGxhcHNlZDpoPWwsb3JpZW50YXRpb246bX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKChlPT57ZihlKSxoKGUpfHxiKGUpfSksW2YsYixoXSksdj0hdSYmYz9hKG4sbi5maW5kSW5kZXgoZCkpOnZvaWQgMDtyZXR1cm4oMCxyLnVzZUtleWJvYXJkRXZlbnRIYW5kbGVyKShbKDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikobSx0LG4sZCxwLHUse30sdm9pZCAwLHYpXSxvLGMpfShlKTpmdW5jdGlvbihlKXtjb25zdHtpc1J0bDp0LGl0ZW1zOm4scHJldmVudERlZmF1bHRJZkhhbmRsZWQ6bz0hMCxzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6bD0hMSxsb29wOmM9ITAsaXNIaWdobGlnaHRlZDp1LG9uSGlnaGxpZ2h0OmQsb25BY3RpdmF0ZTpmLG9yaWVudGF0aW9uOmJ9PWUsaD1uLmZpbmRJbmRleCh1KSxtPW5baF0scD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9Pnt2b2lkIDAhPT1tJiZmKG0pfSksW20sZl0pLHY9IWMmJmw/YShuLGgpOnZvaWQgMCxnPSgwLGkudXNlQ2FsbGJhY2spKChlPT5kKGUpKSxbZF0pLEk9KDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikoYix0LG4sdSxnLGMse30sdm9pZCAwLHYpLEM9KDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKFsxMywzMl0scCk7cmV0dXJuKDAsci51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoW0ksQ10sbyxsKX0oZSl9fSw0NTQxNzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVGFiczooKT0+ZH0pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0iaG9yaXpvbnRhbCIsbixpLG8scil7cmV0dXJue2lkOmUscm9sZTpyPyJyYWRpb2dyb3VwIjoidGFibGlzdCIsImFyaWEtb3JpZW50YXRpb24iOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1kaXNhYmxlZCI6bn19ZnVuY3Rpb24gcihlLHQsbixpLG8scixzLGwpe3JldHVybntpZDplLHJvbGU6cj8icmFkaW8iOiJ0YWIiLHRhYkluZGV4OnQ/bD8udGFiSW5kZXg/PzA6LTEsZGlzYWJsZWQ6bywiYXJpYS1zZWxlY3RlZCI6cj92b2lkIDA6biwiYXJpYS1jaGVja2VkIjpyP246dm9pZCAwLAoiYXJpYS1jb250cm9scyI6aSwiYXJpYS1kaXNhYmxlZCI6bywiYXJpYS1sYWJlbCI6cywiZGF0YS1mb2N1cy1tYW5hZ2VyIjp2b2lkIDAhPT1sP2xbImRhdGEtZm9jdXMtbWFuYWdlciJdOnZvaWQgMH19dmFyIHM9big4MzM5MDMpLGw9bigxNDU5ODQpLGE9big2NjI3NjEpLGM9big1OTE1NzIpLHU9big0MTgzODYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aWQ6dCxpdGVtczpuLG9yaWVudGF0aW9uOmQsYWN0aXZhdGlvblR5cGU6Zj0ibWFudWFsIixkaXNhYmxlZDpiLHRhYmxpc3RMYWJlbElkOmgsdGFibGlzdExhYmVsOm0sZm9jdXNPbkhpZ2hsaWdodDpwPSEwLHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6dj0hMCxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDpnPSExLGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6ST0hMCxzY3JvbGxJbnRvVmlld09wdGlvbnM6Qyxpc0FjdGl2ZTpSLG9uQWN0aXZhdGU6Uyxpc0NvbGxhcHNlZDprLGlzUnRsOnksaXNEaXNjbG9zdXJlT3BlbmVkOk0saXNSYWRpb0dyb3VwOkgsZGVmYXVsdEtleWJvYXJkRm9jdXM6QSxmb2N1c2FibGVJdGVtQXR0cmlidXRlczp3PXt9fT1lLFQ9KDAsdS51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLEU9TT9udWxsOmR8fCJob3Jpem9udGFsIix4PSgwLGkudXNlUmVmKShlLml0ZW1zUmVmcz8uY3VycmVudD8/bmV3IE1hcCksW3osQl09KDAsaS51c2VTdGF0ZSkoKSxbXyxGXT0oMCxsLnVzZUZvY3VzKSgpLEs9bi5maW5kKFIpLFc9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQ9PT16Py5pZCksW3pdKSxWPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD14LmN1cnJlbnQuZ2V0KGUuaWQpO3AmJnZvaWQgMCE9PXQmJnQhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZ0LmZvY3VzKCl9KSxbcF0pLEQ9KDAsaS51c2VSZWYpKCksTz0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntCKGUpLCJudW1iZXIiPT10eXBlb2YgdD8oY2xlYXJUaW1lb3V0KEQuY3VycmVudCksRC5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT5WKGUpKSx0KSk6VihlKX0pLFtCLFZdKSxOPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Ynx8ZS5kaXNhYmxlZHx8KFMoZSksVyhlKXx8TyhlKSl9KSxbYixTLFcsT10pLEw9KDAsYy51c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uKSh7aXNSdGw6eSxpdGVtczpuLGFjdGl2YXRpb25UeXBlOmYscHJldmVudERlZmF1bHRJZkhhbmRsZWQ6dixzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6Zyxsb29wOkksb25BY3RpdmF0ZTpOLGlzSGlnaGxpZ2h0ZWQ6VyxvbkhpZ2hsaWdodDpPLGlzQ29sbGFwc2VkOmssb3JpZW50YXRpb246RX0pOygwLGkudXNlRWZmZWN0KSgoKCk9PntUfHx2b2lkIDAhPT1LJiZCKEspfSksW0ssVF0pLCgwLGkudXNlRWZmZWN0KSgoKCk9PntffHxCKHZvaWQgMCl9KSxbX10pLCgwLGkudXNlRWZmZWN0KSgoKCk9PigpPT5jbGVhclRpbWVvdXQoRC5jdXJyZW50KSksW10pO2NvbnN0IFA9Qz8uYWRkaXRpb25hbFNjcm9sbD8/MCxbcSxYXT0oMCxhLnVzZUtlZXBBY3RpdmVJdGVtSW50b1ZpZXcpKHsuLi5DLHZpc2liaWxpdHlEZXRlY3Rpb25PZmZzZXRJbmxpbmU6UCsyNCxzbmFwVG9NaWRkbGU6ITAsYWN0aXZlSXRlbTp6Pz9LLGdldEtleTooMCxpLnVzZUNhbGxiYWNrKSgoZT0+ZS5pZCksW10pfSksVT0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntudWxsIT09dD94LmN1cnJlbnQuc2V0KGUuaWQsdCk6eC5jdXJyZW50LmRlbGV0ZShlLmlkKSxYKGUsdCl9KSxbWF0pLHtmaXJzdEVkZ2VJdGVtSW5kZXg6RyxsYXN0RWRnZUl0ZW1JbmRleDpqfT1mdW5jdGlvbihlLHQpe2xldCBuLGk7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZS5sZW5ndGgtKG8rMSkscz12b2lkIDAhPT10JiZ0KGVbcl0pO2lmKCFlW29dLmRpc2FibGVkJiZ2b2lkIDA9PT1uJiYobj1vKSwhZVtyXS5kaXNhYmxlZCYmIXMmJnZvaWQgMD09PWkmJihpPXIpLHZvaWQgMCE9PW4mJnZvaWQgMCE9PWkpYnJlYWt9cmV0dXJue2ZpcnN0RWRnZUl0ZW1JbmRleDpuLGxhc3RFZGdlSXRlbUluZGV4Oml9fShuLGspO3JldHVybnt0YWJzQmluZGluZ3M6bi5tYXAoKChlLHQpPT57Y29uc3Qgbj1XKGUpLGk9UihlKSxvPWUuZGlzYWJsZWQ/P2I/PyExLHM9MT09PUE/Xz9uOnQ9PT1HfHx0PT09ajpfP246aTtyZXR1cm57Li4ucihlLmlkLHMsaSxlLnRhYnBhbmVsSWQsbyxILGVbImFyaWEtbGFiZWwiXSx3KSxoaWdobGlnaHRlZDpuLGFjdGl2ZTppLGhhbmRsZUl0ZW1SZWY6VX19KSksdGFibGlzdEJpbmRpbmc6ey4uLm8odCxkLGIsaCxtLEgpLG9uQmx1cjpGLm9uQmx1cixvbkZvY3VzOigwLHMuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoRi5vbkZvY3VzLChlPT57bGV0IHQ9bnVsbDtmb3IoY29uc3RbaSxvXW9mIHguY3VycmVudC5lbnRyaWVzKCkpaWYoZS50YXJnZXQ9PT1vKXt0PW4uZmluZCgoZT0+ZS5pZD09PWkpKT8/bnVsbDticmVha310JiYhVyh0KSYmKCJhdXRvbWF0aWMiPT09ZiYmayYmIWsodCk/Tih0KTpPKHQpKX0pKSxvbktleURvd246TH0sc2Nyb2xsV3JhcEJpbmRpbmc6e3JlZjpxfSxvbkFjdGl2YXRlOk4sb25IaWdobGlnaHQ6Tyxpc0hpZ2hsaWdodGVkOld9fX0sODQ2ODU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVRhYnNNYWluSGFuZGxlcnM6KCk9Pmd9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDgzMzkwMykscj1uKDQxODM4Nikscz1uKDgwOTQzNiksbD1uKDcxNzkzMik7dmFyIGE9big4NjgzMzkpLGM9big0NTQxNzQpLHU9big0NTY0ODcpLGQ9bigzMTk2OSksZj1uKDc2MzU0OSksYj1uKDU2NzI2KSxoPW4oNTI5NDExKSxtPW4oNzE5NDI1KSxwPW4oNTg2MjIzKTt2YXIgdj1uKDM5NjQzMSk7ZnVuY3Rpb24gZyhlLHQsbil7CmNvbnN0e2lkOmcsaXRlbXM6SSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlI9Imhvcml6b250YWwiLGRpc2FibGVkOlMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksb3ZlcmZsb3dCZWhhdmlvdXI6TSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpILHRhYmxpc3RMYWJlbElkOkEsdGFibGlzdExhYmVsOncscHJldmVudERlZmF1bHRJZktleWJvYXJkQWN0aW9uSGFuZGxlZDpULHNpemU6RSxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDp4LGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6eixkZWZhdWx0S2V5Ym9hcmRGb2N1czpCLGZvY3VzYWJsZUl0ZW1BdHRyaWJ1dGVzOl99PXQsRj0oMCxpLnVzZU1lbW8pKCgoKT0+KDAsdi50cmFuc2Zvcm1UYWJzV2l0aENvdW50ZXJzKShJLFMsRSkpLFtJLFMsRV0pLEs9KDAsci51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLFc9ZnVuY3Rpb24oZSl7Y29uc3QgdD0oMCxsLnVzZVNhZmVNYXRjaE1lZGlhKShzWyJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiXSwhMCksbj0oMCxyLnVzZU1vYmlsZVRvdWNoU3RhdGUpKCk7cmV0dXJuIGU/PyhufHwhdD8ic2Nyb2xsIjoiY29sbGFwc2UiKX0oTSksVj0oMCxpLnVzZVJlZikoITEpLEQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQpLFtdKSxPPUg/PyFLLE49KDAsYi51c2VGYWRlSW5Db250ZXh0KSgpLHt2aXNpYmxlSXRlbXM6TCxoaWRkZW5JdGVtczpQLGNvbnRhaW5lclJlZkNhbGxiYWNrOnEsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpYLG1vcmVCdXR0b25SZWY6VSxzZXRJdGVtUmVmOkcsaXRlbXNNZWFzdXJlbWVudHM6an09KDAsYS51c2VDb2xsYXBzaWJsZSkoRixELHkpLEo9KDAscC51c2VQcmV2aW91cykoai5jdXJyZW50Py5jb250YWluZXJXaWR0aCk/PzAsUT0oMCxoLnVzZUlzTm9uRmlyc3RSZW5kZXIpKCksWT1qLmN1cnJlbnQ/LmNvbnRhaW5lcldpZHRoPz8wO2xldCBaPSExO2ouY3VycmVudCYmUSYmKFo9ZnVuY3Rpb24oZSx0LG4saSxvKXtpZigiY29sbGFwc2UiIT09aSlyZXR1cm4hMDtjb25zdCByPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPWUuZmlsdGVyKChlPT50LmZpbmQoKHQ9PnQuaWQ9PT1lWzBdKSkpKTtyZXR1cm4gdC5sZW5ndGg+MD9pWzBdWzFdK246MH0oQXJyYXkuZnJvbShlLndpZHRoc01hcC5lbnRyaWVzKCkpLHQsbykscz1lLm1vcmVCdXR0b25XaWR0aD8/MDtsZXQgbD1mdW5jdGlvbihlLHQpe3JldHVybiBlLnJlZHVjZSgoKGUsbik9PmUrKHQuZ2V0KG4uaWQpPz8wKSksMCl9KG4sZS53aWR0aHNNYXApO3JldHVybiBsKz10Lmxlbmd0aD4wP3M6MCxmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gMCE9PWU/dC1uPGUmJnQtbj5pOm48dH0ocixlLmNvbnRhaW5lcldpZHRoLGwsbyl9KGouY3VycmVudCxQLEwsVyxuLmdhcD8/MCl8fDA9PT1ZKTtjb25zdCAkPSgwLG0udXNlUmVzaXplT2JzZXJ2ZXIpKCgoW2VdKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntRJiZaJiZlLmNvbnRlbnRSZWN0LndpZHRoPT09SiYmTigpfSkpfSkpLGVlPSJjb2xsYXBzZSI9PT1XP0w6Rix0ZT0oMCxpLnVzZU1lbW8pKCgoKT0+ImNvbGxhcHNlIj09PVc/UDpbXSksW1csUF0pLG5lPSgwLGkudXNlQ2FsbGJhY2spKChlPT50ZS5pbmNsdWRlcyhlKSksW3RlXSkse2lzT3BlbmVkOmllLG9wZW46b2UsY2xvc2U6cmUsb25CdXR0b25DbGljazpzZX09KDAsdS51c2VEaXNjbG9zdXJlKSh7aWQ6ZyxkaXNhYmxlZDpTfSkse3RhYnNCaW5kaW5nczpsZSx0YWJsaXN0QmluZGluZzphZSxzY3JvbGxXcmFwQmluZGluZzpjZSxvbkFjdGl2YXRlOnVlLG9uSGlnaGxpZ2h0OmRlLGlzSGlnaGxpZ2h0ZWQ6ZmV9PSgwLGMudXNlVGFicykoe2lkOmcsaXRlbXM6Wy4uLmVlLC4uLnRlXSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlIsZGlzYWJsZWQ6Uyx0YWJsaXN0TGFiZWxJZDpBLHRhYmxpc3RMYWJlbDp3LHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6VCxzY3JvbGxJbnRvVmlld09wdGlvbnM6bi5zY3JvbGxJbnRvVmlld09wdGlvbnMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksaXNDb2xsYXBzZWQ6bmUsaXNSdGw6bi5pc1J0bCxpc0Rpc2Nsb3N1cmVPcGVuZWQ6aWUsaXNSYWRpb0dyb3VwOm4uaXNSYWRpb0dyb3VwLHN0b3BQcm9wYWdhdGlvbklmS2V5Ym9hcmRBY3Rpb25IYW5kbGVkOngsa2V5Ym9hcmROYXZpZ2F0aW9uTG9vcDp6LGRlZmF1bHRLZXlib2FyZEZvY3VzOkIsZm9jdXNhYmxlSXRlbUF0dHJpYnV0ZXM6X30pLGJlPXRlLmZpbmQoZmUpLGhlPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9Ri5maW5kKHkpO2UmJmRlKGUpfSksW2RlLHksRl0pLG1lPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3JlKCksaGUoKSxWLmN1cnJlbnQ9ITB9KSxbcmUsaGVdKSxwZT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntiZSYmKHVlKGJlKSxkZShiZSwyNTApKX0pLFt1ZSxkZSxiZV0pO2NlLnJlZj0oMCxkLnVzZU1lcmdlZFJlZnMpKFskLGNlLnJlZixxXSksYWUucmVmPSgwLGQudXNlTWVyZ2VkUmVmcykoW2FlLnJlZixYXSksYWUub25LZXlEb3duPSgwLG8uY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoKDAsZi51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoWygwLGYudXNlS2V5Ym9hcmRDbG9zZSkoaWUsbWUpLCgwLGYudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShbMTMsMzJdLHBlLCgwLGkudXNlQ2FsbGJhY2spKCgoKT0+Qm9vbGVhbihiZSkpLFtiZV0pKV0sVCksYWUub25LZXlEb3duKTtjb25zdCB2ZT0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+e1YuY3VycmVudD0hMCxzZShlKX0pLFtWLHNlXSksZ2U9KDAsaS51c2VDYWxsYmFjaykoKGU9PntlJiZ1ZShlKX0pLFt1ZV0pO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntWLmN1cnJlbnQ/Vi5jdXJyZW50PSExOmJlJiYhaWU/b2UoKTohYmUmJmllJiZyZSgpfSksW2JlLGllLG9lLHJlXSkse2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk8sbW9yZUJ1dHRvblJlZjpVLHNldEl0ZW1SZWY6RyxnZXRCaW5kaW5nczplPT5sZS5maW5kKCh0PT50LmlkPT09ZS5pZCkpLGhhbmRsZU1vcmVCdXR0b25DbGljazp2ZSwKaGFuZGxlQ29sbGFwc2VkSXRlbUNsaWNrOmdlLHNjcm9sbFdyYXBCaW5kaW5nOmNlLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6YWUsdmlzaWJsZVRhYnM6ZWUsaGlkZGVuVGFiczp0ZSxoYW5kbGVBY3RpdmF0ZTp1ZSxpc01vYmlsZVRvdWNoOkssZ2V0SXRlbUlkOkQsaXNEaXNjbG9zdXJlT3BlbmVkOmllLGlzSGlnaGxpZ2h0ZWQ6ZmUsY2xvc2VEaXNjbG9zdXJlOnJlfX19LDM5NjQzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjb3VudGVyU2l6ZUZyb21TcXVhcmVUYWJzU2l6ZTooKT0+cyxnZXRUYWJDb3VudGVyOigpPT5yLHRyYW5zZm9ybVRhYnNXaXRoQ291bnRlcnM6KCk9Pmx9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcyMTkxMCk7ZnVuY3Rpb24gcih7Y291bnQ6ZSxjb2xvcjp0PSJkYW5nZXIiLHNpemU6bj0ieHNtYWxsIixkaXNhYmxlZDpyfSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChvLkNvdW50ZXIseyJhcmlhLWxhYmVsIjoiVGFiIGNvdW50ZXIiLGNvdW50OmUsc2l6ZTpuLGNvbG9yOnQsYm9yZGVyQ29sb3I6InByaW1hcnkiLGRpc2FibGVkOnJ9KX1mdW5jdGlvbiBzKGUpe3JldHVybnt4c21hbGw6InhzbWFsbCIsc21hbGw6InNtYWxsIixtZWRpdW06Im1lZGl1bSIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtIix4bGFyZ2U6ImxhcmdlIn1bZV19ZnVuY3Rpb24gbChlLHQsbil7cmV0dXJuIGUubWFwKChlPT57Y29uc3QgaT1lLmNvdW50ZXI7cmV0dXJuIGk/ey4uLmUsZW5kVXBwZXJTbG90OnIoe2NvdW50OmkuY291bnQsY29sb3I6aS5jb2xvcixzaXplOnMobiksZGlzYWJsZWQ6dH0pLGNvdW50ZXI6dm9pZCAwfTplfSkpfX0sMjEyMTI1KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGksbyxyLHMsbDtuLmQodCx7VGFiTmFtZXM6KCk9Pmx9KSxmdW5jdGlvbihlKXtlW2UuQWN0aXZlPTBdPSJBY3RpdmUiLGVbZS5FZGdlcz0xXT0iRWRnZXMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuSG9yaXpvbnRhbD0iaG9yaXpvbnRhbCIsZS5WZXJ0aWNhbD0idmVydGljYWwifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuQXV0b21hdGljPSJhdXRvbWF0aWMiLGUuTWFudWFsPSJtYW51YWwifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuQ29sbGFwc2U9ImNvbGxhcHNlIixlLlNjcm9sbD0ic2Nyb2xsIixlLldyYXA9IndyYXAiLGUuTm9uZT0ibm9uZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TcXVhcmVCdXR0b25UYWJzPSJzcXVhcmUtYnV0dG9uLXRhYnMiLGUuVW5kZXJsaW5lQnV0dG9uVGFicz0idW5kZXJsaW5lLWJ1dHRvbi10YWJzIixlLlVuZGVybGluZUFuY2hvclRhYnM9InVuZGVybGluZS1hbmNob3ItdGFicyIsZS5Sb3VuZEFuY2hvclRhYnM9InJvdW5kLWFuY2hvci10YWJzIixlLlJvdW5kQnV0dG9uVGFicz0icm91bmQtYnV0dG9uLXRhYnMiLGUuTGlnaHRCdXR0b25UYWJzPSJsaWdodC1idXR0b24tdGFicyJ9KGx8fChsPXt9KSl9LDIzNDI5MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG49MCl7Y29uc3QgaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gaS50b3Atby50b3A+PTAmJm8uYm90dG9tLWkuYm90dG9tPj0wJiZpLmxlZnQtby5sZWZ0Pj1uJiZvLnJpZ2h0LWkucmlnaHQ+PW59bi5kKHQse2lzRWxlbWVudEluVmlldzooKT0+aX0pfSw4NjY3NDMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2Nyb2xsSW50b1ZpZXdIZWxwZXI6KCk9PmN9KTt2YXIgaT1uKDk1MDE5NCksbz1uKDIzNDI5Mik7Y29uc3Qgcj17ZHVyYXRpb246MjAwLGFkZGl0aW9uYWxTY3JvbGw6MH0scz17dmVydGljYWw6e3Njcm9sbFNpemU6InNjcm9sbEhlaWdodCIsY2xpZW50U2l6ZToiY2xpZW50SGVpZ2h0IixzdGFydDoidG9wIixlbmQ6ImJvdHRvbSIsc2l6ZToiaGVpZ2h0In0saG9yaXpvbnRhbDp7c2Nyb2xsU2l6ZToic2Nyb2xsV2lkdGgiLGNsaWVudFNpemU6ImNsaWVudFdpZHRoIixzdGFydDoibGVmdCIsZW5kOiJyaWdodCIsc2l6ZToid2lkdGgifX07ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49c1tlXTtyZXR1cm4gdFtuLnNjcm9sbFNpemVdPnRbbi5jbGllbnRTaXplXX1mdW5jdGlvbiBhKGUsdCxuLG8scixsKXtjb25zdCBhPWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdO3JldHVybntzdGFydDotMSppLG1pZGRsZTotMSooTWF0aC5mbG9vcihuW28uc2l6ZV0vMiktTWF0aC5mbG9vcih0W28uc2l6ZV0vMikpLGVuZDotMSoobltvLnNpemVdLXRbby5zaXplXSkraX19KGUsbyxyLGwuYWRkaXRpb25hbFNjcm9sbCk7bGV0IGM9MDtpZihsLnNuYXBUb01pZGRsZXx8ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IGk9c1tlXTtyZXR1cm4gdFtpLnN0YXJ0XTxuW2kuc3RhcnRdLW5baS5zaXplXS8yfHx0W2kuZW5kXT5uW2kuZW5kXStuW2kuc2l6ZV0vMn0oZSxvLHIpKWM9YS5taWRkbGU7ZWxzZXtjb25zdCB0PWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdLHI9dFtvLnN0YXJ0XStNYXRoLmZsb29yKHRbby5zaXplXS8yKSxsPW5bby5zdGFydF0rTWF0aC5mbG9vcihuW28uc2l6ZV0vMik7cmV0dXJue3N0YXJ0OnRbby5zdGFydF0tbltvLnN0YXJ0XS1pLG1pZGRsZTpyLWwsZW5kOnRbby5lbmRdLW5bby5lbmRdK2l9fShlLG8scixsLmFkZGl0aW9uYWxTY3JvbGwpLG49ZnVuY3Rpb24oZSl7Y29uc3R7c3RhcnQ6dCxtaWRkbGU6bixlbmQ6aX09ZSxvPW5ldyBNYXAoW1tNYXRoLmFicyh0KSx7a2V5OiJzdGFydCIsdmFsdWU6TWF0aC5zaWduKHQpfV0sW01hdGguYWJzKG4pLHtrZXk6Im1pZGRsZSIsdmFsdWU6TWF0aC5zaWduKG4pfV0sW01hdGguYWJzKGkpLHtrZXk6ImVuZCIsdmFsdWU6TWF0aC5zaWduKGkpfV1dKSxyPU1hdGgubWluKC4uLm8ua2V5cygpKTtyZXR1cm4gby5nZXQocil9KHQpO2M9dm9pZCAwIT09bj9hW24ua2V5XTowfXJldHVybiBsLmFsaWduJiYoYz1hW2wuYWxpZ25dKSwoMCxpLnNjcm9sbFRvKSh7Li4ubCx0YXJnZXQ6dCx0YXJnZXRSZWN0Om8sd3JhcDpuLHdyYXBSZWN0OnIsYWRkaXRpb25hbFNjcm9sbDpjLGRpcmVjdGlvbjplfSl9Y2xhc3MgY3sKY29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwsdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPW51bGwsdGhpcy5fc3RvcEhvcml6b250YWxTY3JvbGw9bnVsbCx0aGlzLl9jb250YWluZXI9ZX1zY3JvbGxUbyhlLHQ9cil7aWYobnVsbCE9PXRoaXMuX2NvbnRhaW5lciYmbnVsbCE9PWUmJiEoMCxvLmlzRWxlbWVudEluVmlldykoZSx0aGlzLl9jb250YWluZXIsdC52aXNpYmlsaXR5RGV0ZWN0aW9uT2Zmc2V0SW5saW5lKSl7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9dGhpcy5fY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc3RvcFNjcm9sbCgpLGwoInZlcnRpY2FsIix0aGlzLl9jb250YWluZXIpJiYodGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPWEoInZlcnRpY2FsIixlLHRoaXMuX2NvbnRhaW5lcixuLGksdGhpcy5fbW9kaWZ5T3B0aW9ucygidmVydGljYWwiLHQpKSksbCgiaG9yaXpvbnRhbCIsdGhpcy5fY29udGFpbmVyKSYmKHRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsPWEoImhvcml6b250YWwiLGUsdGhpcy5fY29udGFpbmVyLG4saSx0aGlzLl9tb2RpZnlPcHRpb25zKCJob3Jpem9udGFsIix0KSkpfXRoaXMuX2xhc3RTY3JvbGxlZEVsZW1lbnQ9ZX1zY3JvbGxUb0xhc3RFbGVtZW50KGUpe3RoaXMuc2Nyb2xsVG8odGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCxlKX1zdG9wU2Nyb2xsKCl7bnVsbCE9PXRoaXMuX3N0b3BWZXJ0aWNhbFNjcm9sbCYmdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsKCksbnVsbCE9PXRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsJiZ0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbCgpfWdldENvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9c2V0Q29udGFpbmVyKGUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2NvbnRhaW5lcj8uY29udGFpbnModGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCl8fCh0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwpfWRlc3Ryb3koKXt0aGlzLnN0b3BTY3JvbGwoKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGx9X2hhbmRsZVNjcm9sbEVuZChlKXsidmVydGljYWwiPT09ZT90aGlzLl9zdG9wVmVydGljYWxTY3JvbGw9bnVsbDp0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbD1udWxsfV9tb2RpZnlPcHRpb25zKGUsdCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCx7b25TY3JvbGxFbmQ6KCk9Pnt0aGlzLl9oYW5kbGVTY3JvbGxFbmQoZSksdm9pZCAwIT09dC5vblNjcm9sbEVuZCYmdC5vblNjcm9sbEVuZCgpfX0pfX19LDk1MDE5NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtzY3JvbGxUbzooKT0+b30pO3ZhciBpPW4oMjE4ODE0KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2FkZGl0aW9uYWxTY3JvbGw6dD0wLGR1cmF0aW9uOm49aS5kdXIsZnVuYzpvPWkuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxvblNjcm9sbEVuZDpyLHRhcmdldDpzLHdyYXA6bCxkaXJlY3Rpb246YT0idmVydGljYWwifT1lO2xldHt0YXJnZXRSZWN0OmMsd3JhcFJlY3Q6dX09ZTtjPWM/P3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT11Pz9sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGQ9KCJ2ZXJ0aWNhbCI9PT1hP2MudG9wLXUudG9wOmMubGVmdC11LmxlZnQpK3QsZj0idmVydGljYWwiPT09YT8ic2Nyb2xsVG9wIjoic2Nyb2xsTGVmdCIsYj1sP2xbZl06MDtsZXQgaCxtPTA7cmV0dXJuIG09d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24gZSh0KXtsZXQgaTtpZihoP2k9dC1oOihpPTAsaD10KSxpPj1uKXJldHVybiBsW2ZdPWIrZCx2b2lkKHImJnIoKSk7Y29uc3Qgcz1iK2QqbyhpL24pO2xbZl09TWF0aC5mbG9vcihzKSxtPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSl9KSksZnVuY3Rpb24oKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobSksciYmcigpfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/bg-1.jpg","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.533Z","timestamp":1785124875533,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/bg-1.jpg HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/jpeg\r\ncontent-length: 358516\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-57874\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":358516,"size_decoded":358745,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1920x434, components 3","md5":"868e16cbe50830deea70551bbb9ddbcd","sha1":"013bf7e2963b2e7f8d6c48a4b9b9186c9066f814","sha256":"65cbf4e8d004e54499088659d549e0abcfbc3742a6bf8c0e3cfd407031c717b6","sha512":"3417ece33078df434aad6cf83c8b7f0658915120517178a95d99302daaccfbd7e7edee570483bfa39bd0b5c1b4f684cddf6a81a08a0fd54acc3c3d705f9badd7","ssdeep":"6144:JuMjumDMwWFDCM6OwWLftZaIF6rCoNs8EjqDtT+IMv95hlEli2PexCC5/p:JfjuHxCM6BWbtZpFroNs8yqBTzM17lEM","tlshash":"407423cf54e39e409b71c55acadfc9ece8a64690afd38640b79d4dcf89762c21a0438d","first_seen":"2025-08-12T04:52:33.974316Z","last_seen":"2026-07-27T04:03:30.192955Z","times_seen":11,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QMqaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MURGQ0E3MDg0NzQ0MTFFQUFEMURFOUJENjFGM0UxMEMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MURGQ0E3MDk0NzQ0MTFFQUFEMURFOUJENjFGM0UxMEMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxREZDQTcwNjQ3NDQxMUVBQUQxREU5QkQ2MUYzRTEwQyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxREZDQTcwNzQ3NDQxMUVBQUQxREU5QkQ2MUYzRTEwQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgMDAwMDAwMDAwMBAQEBAQEBAgEBAgICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIAbIHgAMBEQACEQEDEQH/xACwAAACAwEBAQEBAAAAAAAAAAAEBQIDBgEABwgJAQEBAQEBAAAAAAAAAAAAAAAAAQIJChAAAgEDAwMCBAMEBgcGAAEdAQIDEQQFACESMRMGQSJRYTIUcSMVgZFCM6FSYiQ0B/CxwdFDNRbh8XJTY2QlgkQ2RZJzg1RlosLDdHWjpCZGF7LSk7OElLTEpScRAQABBAMBAQEBAAMBAAAAAAABESExQWFxsVGRoYHw0RLB/9oADAMBAAIRAxEAPwD+t+R7d9dWOFwziS3VFt7V5IWtzClO5dz3JZ5BIA4aV5RxDLQUoNeXJ04V3oF7c2eEx0iiytwYLafiaJboBJe5KcihaNiHlNVBC06jQ0tvwcnfWGGxZVbWKJLe2ejKI7ZFL3F5MHWN0JUNI1RWp6nbQVXTR5fIWeOgVbGzQLCUMzdu3srVSZJS0jsiTNEpNRTk7AHfQWTJHmMpDYx848faxtJIC4kEGNtAC4RisDBXQKoDUKu530Lqo65jKGS5jit7e3U3eQEatxjs7VuMEMnbEhlkduEQKKeXWnXQyKt0/U8zJdTRQdmBHv7sKZDFPLCBDbKafnRxzzhQvEEIFO1BsBLmaVoyBcRw9t0D3KXFmYannNMLuNXd4uW0BkZhyqNuhGIIL8zSzi1jka7lDG2gMafza9GijH08EYClT7m0C27sb2zZRdWs9qxBdRNG0fcCgK7IxUpIFHWhOgriB5Bt2ROBPqgUNU8WO5FT8DuemgMCsxbhzUs1eFDyqW6bVLAD9w0Doxdm2iQpQ3coIZaKDZ2RWSR+2Nwbi6KqG6MAQPXQZrLSmSYRE141kcDp3JK1JJO3EDQJxSgH7/md6fgBqK5/s6aK5v10ToVZWr3k/YjIVyjvUq77IORoqKxrt+GhWqy7sLm2PvXmn8MiA0KkmhII5LyptXQxIQN0DVYDalfn00OYFtLxJWPtkqoRJIwQEQ7sFIC82NaFtVKhnqD1UlgGHE7DkPX+qR0p6aGV0SxMtGcrRdzWnEjqRXZga6HiuQr2+IJJDGmxAK/GnodDayOHmlRQUA5uxoELE0qP6vz0J/jkReGTiymjbH+qVYAcgflXqPTUWTJ5bhUCDg0QoOaqSVII5KSDxDEddumqnau2gaSS5u0CRwwyCNeRqS8xNFjX6yVUVJH0baIYvdsV4PErBIjykIUMV5cuQao5MCfbQV0WhnZXDiO9sWnXsP8AbsVQhpZOacnjidwT7UJJABII23A0Cy4vEshNbR8eRR14OjGZmZe2kkjAjtK8bF2SvWlfhoZI+CzDmSWmqKg0CsoCqBUbmgG/x0FXEO7RkNXcqq77jYIS1WoB066CEiyGQK31+1K7AHYBelBULQfs0GktreSe2iaBJWhjLLEAtV70fFZI2cFUR5S/tLChrSugueRYBJxjMK8lUi4DrLG4qarEiMokm+kg/VtTbfQ7TEry9qot45hy5MoYPSUU4FFPa5QptRfl66CLdqOSPsDiCo7yTKiv9yC3OdeJCNG8fQEVU7b6BPduknGOJuZaUhVQlyamhIPWlemg01p49NaWOTzF7be6xtj9tbtxlt55ZiipcSqrjlbwI1eB3LgVFAQQShTaW4kNQZoQlSBzcsCO3EFYs3dP8VNjWmhZdi8XkRb3N/GnaDo0Ne0ndWFyO9LbySOoiKRg1emy1HXQPLm2ixEKR2c0QcsGmeCIXdzL3Kqi3F0WdEFBtHxUUrXqNDjZZHJaxWbSZFZ7tQZZbYcAYZXaiiCUg8o3dvdXegH4aBHNcxSSEJbxW0aqqCGJaDmBVn5OzMzMTTf00Xh5YkuYjM6di2jlELNFH3HErRs0SKgYBRKyU5MeNTtojlhYzyzoIoe7IH/jU9lAu5YsdncEbABt/TQlpLme1NvL9ravJfNcpc3l8wgjs1nKkFIrVG7tqFlILcSeTr8NtAiOeupEQzjvXMTuUueZVmSQASrKvE8ixQUIIoKj10KDh5DbTqIL3HxNaqjCOKFY0aGRojEWhk481jNamOvHl7vq30HIpMPMrkssHdhloIaRzxXPALCxWdGha0DAl404swaoao0AkttGpb7aexnYEhTE0gAUKq9xIWJJJNaAknqSBtQNGMLgAkUf6hN35IFC3ON711DZToFDPfxXEEEl6tyz9LQ8oVU+1tAEcPIrRCDOwTsUnNwyi5jhRYZI1aK3S8ihfI3MscnJIVVWqpWpIGhV1MVAKGPI3WVUzGMLYWE0FlNG8YkPHJXyDtyRqAJEaIlDspNK6C6Lx2O6lkssabpL9KSxSZI4+1s7yEtxmgh77RuLyJ5FVF5t3KE0XpobCT+PZu0kgN/i7zHxujqjTW9vEDFGgNy/ckZI1kRQX9wBCDqdDK/9AdTzi8gxjW8biOak9zE/ONeUqxCOy4zKFFY2UkSdEqdCsoQYntm8up1ss3DbStbpafqFxZXEiho+N9a2s4trq7t2UlFCksCCWXYVD01rZ30HBMTZYWWK5hX7qO6yMoaAlhN3re4lmeaOKP38o15kqQOo0Fv2niloYpvu77IKrtHLbBkxjXA4e69iuC1y9vCGP5MJQyswrIVU00EofI1x5lixd+1laISLOI4+wuLlQ599zcXcluzfqLD/AIkYUAgUoNtBS3lVuUjkuLF8nk7dHhhyuRu5b12ikd3kMtreCeHvJUdp0KdsqDQmtQQpm76CVprOWS0mZi5uIJHS6LMCG/vKnugNyNQDxI9NRaVLXnmkNXkZjyJAJ2BbqQOgJOhRHgzDYEkVJ9dtCMq9FdAJ39NCq+NPfxO/NfbTbce4D9uqy7ujqQdw237fj8joGKyhfc38Hr8vUbdf92gKguaPMAoP3NT7gCvFVFQeSlgRX0+GgGdfv8jbwWiu3uSIFWAbcgMVb2hdyaEnQS7f25kKlgIpWjkVx22Qh2CqwJNCVFaitN9FExxSTIHYG3sGl4/eXEcn25IoxhjYU707j0U9OpGiN1gPDX8hhhlxlteYvtzTpkMrkVH209vIy9kYi2FWaVYwSSTxG3v30KtZc3vgnhXbhtLJM/nYFJa7cxXEpuHFC11evzjhdj/Cisyj0+JGMy/lvknkc0loLia3tpW/LxOOPO44yBVEMggWO5uVZhUB6AV3FKaK54/49YJeyR+SrdYrhF3bWzu1ubKTIOGJl/vQhYpBFQclhHcYsADoNLN5b47h4ntsNamZxxRxioZMNbOAG/xORlM2YvOL7bNEHHw0KUILHyqbL3ctldWNuymKZIIMZayhpY5YjHkYLtkeWe7gms6n3lqSKr120F+J8TiyJlie4IgxGQubC+ngktbe6uLV1M1lfiK6WK3iirxRiWckGoO2gLul8L8eJewh/UM3EZI4Fgv727HcZGjM1/eILeBu0ei26gqw+qm+gzWGzuSs0yi2slg0MRW5K39tb3NJ0TsqLSWUNK8wDEItSpAJr8RUryGXymTo2Qvbq9AkpHFM5jto3p/wrWPjHGAv9UDbQFePQ2F8b+wv76KwuZQs1nd3MkyWyzRtRoJVQNCsMkNSHIqrAAEb1DYHHf5c2f8AisjNftQmi3t5eHbrxSytraIVPSr10PGRt4EuchdWmExWQuYZ4leOGN5bma3JckLK0CqJbcdQJqUruSRXQHQ+B+WpKl0titnJG6y87jI2ds4IaqNUXPcjZa9QAdA5f/L7OX0nevMjiYDIzFkN1cX8skjEl5KW8L+4/HkTtU6DM+ReL3Pj/Ez31jdKSnNYHmiuIhISsMstrdRxyvA5UqJF5KGHEkHQuy9Iz1kUDYn0p/Z1C7a4HwjIeQ2hv457KwsxM9vG8wmkknmT3ScUhWR+MdacmIHoK6oeP/ldlm4SJm8S7IAFaY3kdKfSF5QMqgf7dADcf5a+RcuaXeKuWBDCVcnwLECgQdyKPjX09BoRKq7y/mXjssFpk7q4t5OPK3a6ggv0lRGHut7xRMJlQ05ANUVFRvoWIWz8wykWTkg/Up0laZ5L1qi4mlAWR5Y1XgEVAFRaUQDpoNRa3vhl7JcT5aC4S4u5WmZJBewR2UrD3xWd1jnXuW7Hf82EsD8tBdkf+mMfYvF4/NLMsys+VuzNNKv23INDYm4kt4DO9xMBVAKqBvqK+aIj3U6xovKW5n7aRoKnlK4AVQPXfRH1Hyif7axtvH7eKW2kxkcECJIEAnnuoVjtZVjiSRVnDTOXKyEGhNNUV+XuMdZWGLit+w9jj4IAguHLSvKBBbNc26RpbRv3GeRGQuWU7kaEGFtgI5b3BeOwQIiW1qt9liw4GWgUytexozN9wW5Rcgw5Bh1FNAZmvOftbiSzsbNxZI0lt+VfT206CIdvuWMaqtrDFCRxRGjcNSrD00OSsjxPyJKp/cMpLy7rxrBjrl3WM/Vj2YYfLSO46RG3lbqBXQfPp4BBLIkFxFKkbgpdwxy/ZTwv/KkdXUSWrN0IcBkYEHpXQy0Vl5PcW8H6bmIIspi5KD7a+LTxx02D2VzXv20qg0BDddBK68VxuXj+48cu1kkqqLiclNGl+zsAeFldAJFdKpbYSUc0O/SofOruwubK4mtriOSCWEsssM8bxTRsvVHRgCCPQ0odD02tsklzaSQ3gJaFR2pEXeSQjgomFCSwA2PSmgTzUIWNZBJRuQREKgMfkRyckdPhoGWOwl3eiNzC0Fo7ENkLqVLS02G6JcTgRvvQHhzYeinQai3x+DxsaSrCcpcxikk2R52+Jip7ikNqjpc3atWlZmQMNwlNtDwHdZj7kqkYOQlhosZVFgsbbjsvZjVUhiIAp7FWtPXQDGC9vATdTSuqne0tKwxKACT3H48nCqNyB09dDSwRJaxRmOLtRzekH5JfY0H3ThpJG26VG+2g1eLyvjWLg4XNvKcusf3FxP8AY294ZE4gw29mbtjBY8dg0jRu5JPw0DubPeR3bB7Hx63hjdj2Vzs0lzNdUVQYLeOeS3X8wjYQRKu432roMrk73KYPKI0gkscpY3NvcrardS3cUVvOgu4bHu8e9Lbwh3TgzMQj0FQNAkyQpIZoohFFdTTTxxcoZBDBeH7qCBZ41KhFSYgFSKcdwCDoUehtoUx7F2MUzPLW2Ht4B4Fnt5hUnmjtGykE8gTttoK8cjSSSwd5Y2uILiKKF5ZIjdyNHyW3BUGrSSIAvKiMdid9BvLb/L9pO1c3d9LEk0aStawYudruMsoeWCR5nt7SJ0LULk8SRoSA8wHjuPaG1xVvGLi3igle5gmmnuBJHMBNb37917Z3kQhleNgY2FK+mhA7Hr4U63FzkJ7e9FzL91B97fX8V9BHLDG0lrNFErfcTLOG95erbVJ0IDZG68HhieXHUW6ijlFrb4+W/C3EsqGNBem9Lr24vqpGOR6A0Ogxsd2qPMDEZJJDzQPEFFSsSIKxkESckrxrw9SNQd+4ZoJ7BbVyzzRysRGWKN3S8kkTKGMarF7DyJqAKapRRxusfcRZG0jkBjkZgJYnaOUUPONxRUmiljqrofqB0GiyOess5e46Rw+OtoLKztbpoDJc29kFcmY29txPZhRSQIxU1FToZWZVvGbW6WbG3E9xZwwqzK7SXsV40qF4SW7dtJbMJad6NgQDTiTuNA6h8fTOTz363sttjzBbfp08GPORgMYh5T21xHaXEklm1sx48KEb7UGiL4PHLrGuMjZZiylVeLzzJaXdxLZxKGlFzPj2jjuWgRowCRVkrT0rouSjBzugyuWSUpcRpKYnVkeWd1aS6ndVkkDcfzamjAqCOpFNAf44VxuIyGZldYlurh1hiubW4urO4eIOYOQhIQS992qZDQAA0IOhQp8ZxWcyr3MuJycmLlhUT3Eq3c5RzcszxQrZ28crk0XemwUVOgLyN35LjTbm7is5onk+2/U8ckb43MQuDHJjMpHDSGealeCyRrcIxqCNDdz+/wDHfHsTHihlby/xc19HLJLkLRoDYxSRKJpre4jFblXCEojhOHIUI0LOZPxPFPEktpko7e1YF7e6zCrJYXUZowkiy9qzxICT0k4OpPrTQYbIeM32MdCwa2aRDJbzcg1pcrs1bW+t3ZZRxYE1BAB3GgWJf3lq/OUPz9qpOjdt1IrSjxkQy132PFj8NQP7a5xeVEsV5D3JSnbW7t+VtfJVaB2hAdZZhT3bEN8N66o7jvHJMjdDGQ5e1jhRGZPu4ZI3n7nurZsitDclVClh3AyGoKjQPz/lu4UFc1YSsgI7csLRnYV4+13kLk9CRoMxk/E7vFs5vbchCpVruB/uLQF6BXl9ivbbnYlVFeh0GPuLOS0Yo45chWNv4ZBX40oduo2OghEKn4VOwI6AnoPkT00DCIcZG9v5YCsorsWFaIR8BXr130B6gBS3U8ahVGxDg1X5EGlNAUgJ22ABUAjqfif9h1AQCooQvEgESE/SWrSqj0qBqj3I19QfcSAKVA6H4U0E+VeoBNCR6b/P8NB4b1NSPkf6CPQ6DtPiD8PhoJVP0k7evxP+7QdJHwI36dKbaD1NmrRRxqWJpxA6kk7DReT7D+N5XNUkto1t7IfXkLwMlvt1MCe2W5oPUUQH10RvLDF4HBNzt4/1bIgb5G7CukVOhtkAMMSV6FNyerHQWXGRnuSC7kGrEyOA0S8dwsUeyED1J6jpXQwzt1du0yRhkVD75WY93vzDcK8dB+Xw3o1Bosl0fESs7h2RVIUt9FP4uD/UqjrxWh9dE0QX99Jk5TBzc2Nsw+5IkYpczKKLGtTUhR9R0AFzcBEMhQtx4xQwoN3kYhYoUUCu7aK+g2FjZ+E4GfL5Ix3XkOVQiKP28oCykLDArk8I7ZTV2p1FNEfKgO68khJeR3LGUvXr12NasxPWugJVCorvv1A+Hz/HQ2mSagj20oR8iNx/TqC6wlnt7+3dGpE06d6MMqxzxuT7XElUqsnSvQ9NUfQ0kVXCjkUY7R8XXiB/UArEor+/10UUmzAxyBS5NKIx4epU1ADsae4UA+GiDo7lGhnguojdW71EtvIqtA/I7KkLVIbl0pTjoMnl/GZLaI3+JEl1Ygc7izr3LuxJPSICr3MK/Ajmo+Ogy4dXUFCGXp+47inUEHQw97fjT033H7PgNB6lTuPXrtQ6F3gNydtum3Wvy9aaGkqdBQ77D46D2/X+qQOtT19PjTQeoW5tyIHqfUg+hGg7x9wK7qKUO/7vhXQSVgCDQH5EGm3qTudDYhGLUJ3rtxIqKfv+egLjqpJHLiajc7U+ArsVr+3QExEHckL6EFeh6ji3pX4U0E+2iM0hBLsokIJ5KpFQBvQU9dFFK7sgaidugYgAclFOoJG4NOmogWROT84ywDqwIXbcjaXmTQUHp11RTRQ8ZZqOi8faH4lm2VgSKD4mvTQYDyi3a2vYbhQik7qU6lk9ysx3HKugfW0gurO1klUFZI1ZqGpYj6zQV9RoEmcktrqzgMcLRTWrNDXkxEiV2fiaqABtt00CCyojN3G24EhT05ehP4aL2nPCABKJFZG6rX3A/hTauiAJ0BCsBsNifX5V+OhiyiNnSRSoBYN7QRUEn5fA6izSlTy3trh5WlnXgtOkfU/+EeuqjU2dwYApVDLRPZt9BPRm2pXQVTRxpJ354pJZpiAfd9PMU5cT6DQAXePiiZU7ipI5PB4zyR26hXXqp/o0CCUyQSMXXiyncUpWm21fjqLoTBcwfblmP5jSbR9Sq+rGnodVFk7M0IquxPtNBX8NBPA4KXM5GKxSaK3eTlR5T0CqWIUAGrUG2hR+hsFgLDxDGNkcsbWCW2RxJPbyScLiKtYecch99ww2oOp6aFXzLNZvMedZVLKxik+1WT+6WY2jhStPu71l25UP7Og30DC8tvG/FYTi57X9Xys0IN5eUjK23PrRWJKmOtQg9xHroevnl5bRRSlrUyT2jNSGYxsnPapAG9CD/D10MiLXG5J7K4ykFu5sLWURz3NVUxSUB+k0fYMK7euhjsJcrEzRmH3yyAc0QFi0h9VUbksfTQfQfHvCEEP6v5KTaWUY7q2rniWUUIe5bqi16INzohjJkPDb7KJzseFhjYXKBoGBvJUpxMcEQ2jQDbn9VemjTNZ3zW7yAktrFmsMZusdtDSOWSMbUuJEpQN/UXb0NdEV4HxTM5sJKYUsrBjVbm4Qhyv9a3hqpYkepoNFxHLYJdeK+Ik2tlbtnM4x7dIqTSCQ7cTKoZYaH+FATogg4vyLPJJc+SZE4TFFQ36bbSLDWLqBdTMaKKdQST+Gg7aZfCY2uO8PwzZi6X2vdRDt2iSHYtc3sg5SAH4Gnw0MLbnC5bLBrryrMx2dnGtTYWD/AGloi9Ss1xIQ0xA+WgBt834zi3Nr43hp8vOo90lnbngX6fmXcivI2/r00BpPmeWqZJrTxy1Y1EVsguL9UpuDKarGxHrUU0Ci4x/idhJ3s3lpMrdLVuN9ePdOXBrx+1tyaGo6E6Aq28gtqNH4541fXSmgEq28OOtqn0MpUyFf26BgH85vCsiQYfEo35YZke+lr6VbdQw0FU+Dz0m2V8vmgWQgMluttZp+AJYFR+zRSibDeIQN/wDCHkc1zIhIPcyrSVp1oIQ1N9EDSR/5aRD+cJ3J3blfSn9u4roK47j/AC2AbnZioPtK2t5IH/Gr7HUHmuP8uGqBaiI+n9zvFJ/aH+Ohyttrj/LhJoZ2gg5J7uLx3nBGXcM0blllJp0OqQuyXntxdSnHeMW0kvcURo/YDy7Cn91tkHGJQPVtCgKw8Ey+SlN5nrprNHPOROYnvnHWjMSYoFofnT4aHTQC78M8SUraRJc3wqGMdLq7J9edw9Y4a/KmgxWUymZ85vI7GytGMELVjhQ8lhD0BkuZzROXHoP3aEfwfm8VPBcYPxlKylQksqrCEmVa/mUZm4SpQGm9dAp8llfJ5q0xKuVht2itELxhXj6B2dR140+NDoLPKxNLeY7BWs5vVt444o0hUOwkagZR/ETxHTQ6E5KBpclhMJJxSK17bzpRkKhQGbux7hTtsfnovbPeU3cdzlZhbHlBCFhiAIZfYKMVI24k6IYyZSOLxq2w2PuneS7mAvYGQKFZyNlZh05U30A8X/wJjWupSy5LMW4ccZGiksMWz1SNlB4P+pgBnXYrGB0Ohly2kOFsDeycosnlo2aMMN7bD7cGEtQ0FzdTdQwIaKnzGgshiTF4ea9upKZHNQERwtuY8VId4n4sDC96aP0BCAU2qNBCBGxOJluJgFu8tGqyRs8azWmMUc7blCwL8cgVLMaUCqu4J0EVDYrEtNIUF3lgstwDIpntrJV7lnBNA3uVLrkZnJBDDiNiNBzguMxKh6re5JkvLkc5Ypra3QB8fGeLNFJDLETIwIVwzb9BoFGNyLRmSEwSOk8wuJHtlJuSkIHFGdQZYYYlqxZKEEmugdPdQ9hnS5d0djzs1aRjG7NWOMmZiZkaX+GleVG5VAoHMEJYJbrOCZYHsQVsnlVW7t0WpcPEJFZJZbavIrt6fhop9Y+UyXxnhzGNhubMhWlvLOCDhDuCDdYyatjOZCeiLFKK7NoimfAYbJW811g8jCqW/vuIJpJ/t4lrwjaWF0OQx0QJoXbvwqDu4poQzFrE7XIjWOspd4ViLchHcgmNQSKe1pBVWrvT10Bl/NEhk7eyQILSNzQlre15MWLISrGW7d25ClRTQYeSVpZHdty5JPpufXUWn6q0V0fjTQeO237ttzvoQfYO1E7XMrPwWNETeVohIXavAiNWd0HEE06EjRNmVxaE2hmiVecc0cLwzupkkk7RkklorkfbKAQj9UfY0rvULJsdcXEJljskRY1MnOOdXkMbmsYaJyJJlevsYAkj40poQS1I9oXcVr1BBHXruANBDcGpG/WhFNj/AL9RbJ8l/q1p09OvWvrt6aoiPcfl8PlqGIFi57YARaH6euxB9DX6v26EKXmaqkVBHInmBU8xSvEUAWnQaqVSjneEUMYNVorGoYA9SPjX56FHDczcGiDlYmkMpQdOZUKWr81A1FooqT1JPwqa/wC3bQpC2KaeJucMjxsCGDKxqCpqpB61B0EkjqxJJb1PryJ3oa71+OqgtYxxHL2nfoQW23PyRVHrvoUCs4SRZYTQo1VJFW23DEnZgxrqECZLyYvHJIEdAi0jI2lVQR3GIrxc19KU9Bqh5bTCKCNibgIAJDHCEjHcbdJJHJIcMOppUj00B3NLlAZ7hUR1b7cQqjlZmerK7ySdwSsBTkxBYbClNCS2SN0DsCsapIiMJFaOYMw5AFTyHGqkVB36jQKr1Ze80chIlWheIFfaSoIrxJqeJB26fjoBllMLI6H3A0BA6Anc/GtNB9L81+9/T7KPGFJMK8FpNcSQuWna4oYYxOxIY28gkqqio5Vr0Ggx+KxNxdSxwgSsrqwa5HH7e0QDlJSaVgiOBSvGrUOw0GheO6tkihvmhuIxBNFZRQ8jJIIZO2Ge3HbEEZLMRJUBiKmmgR3EzrH9vyjiuAx7kbmTmAp9pcowjZ3jrVlA9v1aHKiSR76SOOdaSTJDCrNJHGkjGWNY5HaU8bcMr0Zx06kUGgtmtbiKXIY+zgjaaNjHd27CMz2axzpBIkbyNI9wglZQZEIZl91ApIAXzJFZWyY1+El8jKJmtLggw3IlLD7MxoqXUixrSZpWaNX/AJZr1Ai8t7+LHx3Vrc1topkMSTXKSXlsGEhtoLlkiitkuWidnHCr+6npoM5erdBo3uu1A0qr2raJVBS1TkqgKpPbhrXiGNWO/XfQyV8dyPgNRa2ShiaaRIkpyckCuw2BJqfwGiylNA8LBXAPJQ6ldwVb6T0HX4aJWJypHy2Py66LSExJIv0yOtevF2HT8DolEhNNvSWTelfexrx3X1/hPTSpQVHlMhEDwvLhQVKELK6jidytFYbE6FPx18hfyj8y4kkCkHi7MyqQKAgEkBgP26qKWvbtyWe4ldm+pnkd2PzLOWNfn11Foh9zcdRPMDtX819+pr1p1OhRwzztQtPMxHQmRyR+BJqNCiLyyyGskskhAoC7s5A+ALE00KIV+NT8PX/XormgNggVgWkLK3BnjjCszykKWUAAbI1Pq6DRJuKuMYYrdLpG9jkqFenuZGVZQpqCDGXXYip3I1UCBFqxPGg+B9rU9Qep/DrocLg9AtFAH1KymoI6UPw/A76Fg0sTFyQtQUDmlRvWhP7ToqkA7j/u+Gok/RFQwWgIdTy6/DqB8tVVrAyRRzhVAqVahBKlTuHA3B+HxGiZXLyI4oBuoJqKb1NCCemhy47nhJKp4OqhaV/ib2VX9mghj0uBcRfapI85kURRxqXeRq7KqL7nB9QOuhl9bi/y8z11ZpfubO4vLhnkTGzJNHGG40eS7uRRI5UJqiMOBIpv6h9Av7vE+N4ewHlT46/yVnWayxtpCqwicxoi9m2Zd1jKEieVBxLEimw0R8pz3nGe8j5RJL+lYx6osEDuomUb0Z1CT3b8eoHGIU6aKh4lh8Nf3bnLXbQWsQQKGkMDXVzKTSKW5X/DQqBVu3Qmo92hhqsh5RhcGZrDBwRT8AY5FxiDG40OqFPz72GuUydHJLFpo0YjqdBisn5Xc5W3gWeKGMpc20kawNcRwRPbh4zNGglkkaee3kKuUdQVVSRyFdC4fM2dvA4lgHciuBDc25UxmJzOoS4WUI8nae1uhTgWJCsOR30CzHJeRX8NzaRXcptZUkmNpbzSvGFajkmCNgjKvTlseh20D/M29tDnJ7eb7tUns1CfdGRZo2aBbi1luoRVu7DFJxaNqVO9VG2hll2+rtq1AzcOMSmp9OJVSXdj8K0Og1WM8Q8lkYzfYCxtpkEZuMtLHj1KsN+Mcv5zIy70WMnbQa7Hf5aRPSW/yd1dVLc48fbG1tyKmvC+yZTmoHXhGagaHiGd8JxUC2NtiInbI3M3ZE36obuFEWJ5gckGtRDDDMkZCyJx4yUFGBOgFtv8tcg4reZO3tU2JW2tJ7g8dgD3pfsIG69QSNA7sYMT4bDcMvkcBguGDZC1mhsb28unQiO3+3gtJ7hkMEstSr8qqTttocNDLmLrtSLaYxj7C9sbq1OOSW4LUEl/NLGVsbbakZbiZm29oFNB79UyZCRtiLqKSPj3opctbQxSyPstut8EEJct/ACGc16AbhnsnncfY30F9fYprrILaT2kC2s8N1bxxzNHKyy/cLLbTkOlA0ahlFea8joB18+xwG3jsikkbdrFAcT16Y4HQMcd5ba5Np1xuNe0dU4zkXNojTIgeYQ2trbiBWuAx/mcdhsakqNA6iz97ApPZvVR4oZJ3nkF5a2aTB+EpPaS7VX4mpIaMHclVGgk+fuY2SE200gJ9qyW6rPIxWoExRJo7dS3Qxl6ghthoMZfWnjucyt7PmsybLuvbNaYyOZsfNayx26xTTzrd20loWmUDdePLqd+gU//AKO8ReAnF+Qs1Q7Is0FteLQmg3sbsOCD/YqToNZbeE+OY+ygtrm0jyd4yKJbu6TIK8zNuRElq/KygUVCniTUbn10QDef5e4G5PG2ky1qQx4JbXUOTtEoDV2tpQlwSnT4iuispe/5eZS2lEuHy9jdS2rgQrMWxOQSQAMCiXI7fIBgQ3MbnRGOu7nIY28gt7mzeK7xl0lxcQ5BpDLcXYoyS3Dq4kMfBgyFXowNa6LgW2WtmvcZcXLNNHBdpe3aW4k4GSPk8FpbKxekayGtdwCemg+kYvKyLBnfIrtHt7yW3tbG0jgYSG3ZuTrBBcSJ2hMGdXkXjt8PTQfHr65a5upSr8yhoXY+525HmSCd2dyT8TWug+gYTARW/jk2bvLP7i9yH5FhHPLbx/b2zNxhnt450keSeeZT/LHLh0oKnQavIXC+M4e2wmNglTI3Vk1xPPGIO3JfyRG5mjuIZY5JLxDErrwpxVKaD4/HycmFIAyzOvCBUMjMZvdHHDGKk15UAG9NAfNiMnjZEEMV3Y3TKJBY3atFyUkjnA0gFaEfsProGZz1tk7Zsd5JaSG4jVvtcgVb9RtJSONBK5BuIANzE9Vb0poM3P4nkJbvhjVFzBNKRa3ImgQ3Fv2zMLiWMyBYIoo9pZWIhR/byrtoTya2mIxWKeF5HgzWSi5s45u2EhK/y2rSOTJSRkVb3R2+1KvqGEr7OT3shkUm9nEYjV3AW0hjjPFI7KMKI4YYz/BAqIepJO+qFSWU97Iz30/eZF5m3QmOGOtCPaKcz7t9xtoDaRQjsxxjkvQxkLHRTVve1EAKqTSnLfUV6S9mrxM4AkLymG2aqhWFO1KaFGkZQBuCajfVQN90wkJUDlx4oGSjR+i8JCSRwav0gaAWK+nxl7BfolpdN25oJ7a6jEsE0VwvbuoLhT7pBIprVTsOhroN4uV8pyKT/pNlBiLaMtZXF7GiwXVYSg7Vxkb2Y3kJiULRFbkFIFDoAMja5DD2BgzLoJ8pPMA8LLOL1Y0SSC+mkm/vgnsbwIseyq6s1GpWoZaW+a6giikfuIIo15cSjIIGdIB0oOMUhQAV9o0WQ8UcgkeJBIe7JFwAjYzMUB4gKlaszH5n4V0Gtg8G8muzBdRYuWxCEOHvLqCzdGB6rHM7SgbBhVQRojQL4HnrqrZDyJAJAWkRLu+yEhC7H8u1jjRyB6cjXQL8v4KcTAjQZiCe4umFvbW0ljd2jXtwUaVLaO6laeDuyKp7SMUEj+0e7bQ2zUPj2elZRFg8g5oCwGK4NQEChkkgUcj8f36HbV4TxXtXff8AKrGexx9Uhgin4W0NzfT8uzFPcW3vitxxIJ2qSB60I6beHH+FlUU4rAfUqKBet9PvozrKoeRWZfapB5AGlSNAR9v4qRzXH4WIwMUkZLm4i7aqVqO+II1Yk09u59OugzPkdpiHms8XiY447vJRSGyaxyAu8bNOoMotJ4JWDW010qExyptyG/roYnhlv+l/JI1kWTGZBSSzqIoQwZyahJJEqxj2+o10DTDeC3OQW6kzMc2KtYlXtnscriWUncQwUo0dBuCta0p00Ohj+CJZOr4vyuexdqqgvbe8sOPJinFZgeIBIIOwGghd+O+eTQm1hzcGXgMbRsIMhC0xgkILrzlMUhRqdCd9Bi8hbZjGv9jcWLWEPaESW8kRBkdWUvc93i7XbyevFlUVApQDQ2Js8zFJYz+O3d3Li7CZU7V8UM0UjK3cMFxbBgqB5GassZ7nEgMpoKBrP0DH5E2d3hbi6xV7A3ZhucNeLl8eoKqFkliSS0y9ukpJH0Pxpv8AEldtrOWLyqDEX1+MpMtmZL6ZGW2e9ltit5bQXyrM0F3NbMAI5mIlA2bponDNeT5J8nmn4qGW0Q20ESmsZeYjkkYFQWmJq3XdvXQN7iwuvD8da3GOvb61v76NY76wuGguLRpDxljK2DxSrCbZjQ8jUJ89Cw/xK1y15cpc3tnbwYF42mliDqtjf3tuQ0V7Y2UvujuOdRM0apGU2PpoDM1f43LZG7teH6vBEJFk/TYLVMphxBCrTFYKiDP4uQpy4/zkNQtajQ2wmT8WWG3TKY25Fzj5GBgyNv3DYkNQqkhWtzjJgxo0cgPBtiPXQLv1DIWTJbX0THhJWqsIppS1G/xMRNveOB9JP5ijYbbaHbRWvkBkia2jnWCbi3213JElyYj0IuUnKuiSE8STVVPuoNA6x/kEl4iYjMKn5xeyadZFV7asRciSKVppreQovJFBe3uFb2k0poMde2Lxy3WMuURZrcrIihuahZV7lrJFKd+3JGRUEbVoemhmGcCKHI4FPeBw3NKUBG9TUOK/hoDIl3Knc1LrUfSBXkCT9QruNDItBx7anoR1HX21Ir8SGPXQWqAeINBx2Vqke1TUAfFvmfTQXAEsSBsKEhtiORoKD1AI9NDxOvUAcutRvXrSlOlBoOitB8f39dDrCQ+Hx2/79CJdBoAN6epO5PrSvpTQd6+nrWo/f8tAyxWJv8zKYsbbm44kLNOWCWlvXr3bg1UtTcKnJj8NDhvrXxjCYfjLkpDmr6Li/wBuoWOwgbqpMJb83cbGQtX+qNCsrr7MTXokgdeEaj2xo0kUSxKKrsgKOvEbg+g+GgV988W5hRCUDuKKI0YENHHEiHmY5Iz6/u0MKLi8WI9mBg7ndUVyQWpUD3jtSlK19NtAlq5uOMhRxWskZ5x0HVuNKEBCelfdTfQKb+7kYrj7eSkj8nkkD1S3tyaNIRT+ZTZQan56AQ9uKIRxkJBEDuxpsN2lkJ9T1OivoXhnj8UcTeVZpRHbwRtLjLeZdooQtWyEysP50wH5Y/hX5nRHzrPZOTP5a7n5yC2MxEMb/SsCk8VQAniGO7D46CmKEKOIoaCvt/dXQX8CBuCPxGhT9Uyf0jrT+jQ0FcVAoxqQystTWnVWr6UPw1CjdYq4We1iKzMzRRrDNxDc5JuNSH3PuC9aGjU1Q3hldeNGALkjcMAOOw5I2yn129dAchkLM9AwVfe7sxDL1AdSA3dp0I20OhlvJNBxlty3KoZvzFHNTXaRTQGnz3HpoT/SzJ+P22XZryx7WPyrrykt3YraXvQGTiAOzIT0anu9dB8/limt52truCW0uoyQ0M6lWIBI5xn6ZY26gqSNBAkkj0NOor+HpSmni2ymelT1+GwNKddGe3a9BsKV33J36j9ui2c6dBT8Og/CvQ6Dyq5NOpoT1A2HrU6G0l5LQk7MegpX8SvpXQ5SK0IoKsDRgKk79KU3amir4+VfcCu3woSBvVl6aJoXFQp1U0IJHqab1+R0BKPxpxCsDXY0BqR+8fjoLCx4mqe5voBatR61GwKgeuguBoCrc2qoXjHVUIp0rWm2h2BZhIfa2wqoZd35U6AkmpU/HUKfEn7jRhSwBXozqwUACh5EUUH11RmvKralhHIAS0bj37MHBG7KwPTf020MlvjrJcWTwtyD27ScZBv2+e8bKCCDQ+h20HbuKZYbqM3gH3EVJo6BVmCsJOnuA9w340NdCP4y8PGEF2DOaj21pVfUcuoroLJZ0mQgK0ZT6QAOJr8T8fn66KH41iYN1IOw26b6Injog8vNhWhCrt033Og0komtihPBxKVVCp/l12AfQ1wY2d4toJRLFyI9wXort1/MPog0C68upLpmd2JEdXAiBooJ2Wq9FFdALNE8apMsUnaormTlvQ03qTWoOhkBfTLdIwZCnuBiNeTNQbgnroRwDiWJHVW2LDqenpt8tA9xWIvc3ex2dmjEEqskm5igUmnckPoB8PXQfonD4HD+JYbv38dqr26Ga6vHXlJJJTcqxqxBOyqNCeHxjynyi68kuzTnFYQk/Z2S8jRAafcSotaysP2KNCeFGF8hvsTZXdjjIIUu756jIEkTotOJjXl7Qyj6fnoM3LJM8sjyySGYuzO8hZmd/wCJ3ZvczE9SdBu8XK9jh/v7LFTyRxMJL2bIzIcfJINu9YRnjJHNU0qop+OhZj8hlbq9muZGbtLcsGkt4WZISF+kMgIVyPiRXQfQvEIvF8XYrl7q8ivsuUYrZqO5cQPvSGGDqr/Fz/RoAb/ynIZm6t0miEUEMxmgx8bc1LJUxvPsDJJH1ofbXoNRfWaVry8yEsdkstxe3kjKVRQvEseLH2+2OMDqdgBqo39j4xgfE4o8l5NcxS3RXnFCwDxrJ1pBbirTOD/Edh8tBeJfJvMvyrVTgcDuBPxMd1dQ9BsCCFK77cV/HQWW8/j3jbnG4GwfP51aiZ4eLhGOxa6vWHCEKfRdB24w1xf8Mj5xloobYHlHjYpuxYRqKsscjAh7qSn79DKmDyO9umkx/huEtzawsI4snIhito6bFwhCowp0rVj8NEVXeDiVzkPNs4LtweYtnkNtYxnrwSIEPL+CgA6K7Hn5rlRa+IePPLbp7PupkNnYin8SIAjSD1qTU/DQoKbx3MX8Sz+UeQfZ2nU2llIlnaqv9WSYlS/9OgBF54PhZWgxNm2avABxaztzdtI/qslxMGAPzFRoGKZPy/IchjMBa4u3YARyZGTnJH8WEShf3cdBF/HfIbxCM15VLDGTza3swttHVd/qZowKfhoSSfpXg9rzbKZqW+lVypWa9eQ1HWiQ1JHzroJDJf5d2lBa45rth04WMku/yaZtzoaGJ5Jh+SG08RyEoCke3HQoD8Cv5ZI0MLB5PMpTh4bkPaSeDW0VCPTdYKgjQwuHlNPdP4TfitfohUinxHKEUOgXz5/FTPW68XyUMTA/XjIZjy6ilI1YjRdoQebYLEwOLHCMl0xNSLRbFXp0Mz0ZxT1A0TDGZbzDK5lzE07RxO9I7KxDKpJ2CFl/NmP46B3hPAb29VLvMzDG2VA5t1IFzIvX81j7YAR1rU6B/eeU4Xxy2bH+P28MkiVUugpCrjYyTS/VO+3oTobI/HnuMjPlPJ8rI0620DrA8wft9yhNICCOCINhTQJPG4vvsxdZCcusVqss7S8DKqyNUqJCSWpT1+Wgu8dQZHyaW9lIEdoZbkuOSpzBIT3AhlqN9A6xcpurzyDyWeMSx26yW8HccuPaCDxc0J2oPw0CvxrxOPyAT5bI3i21h3ZPZFIi3DtyNa8vbFGPwqdCC6bx2e/ylzaeNRz5C1tm4tLK8ZjVutDcbITt066DlmqZe9ucxmJ4jYW03cuFmZo0yV+Ryhx0QQcuPBQZGVSEQbgV0IWW0IzmUvcxkJJGxlnNFJdPIySG6m62WJt+XGIrJxpwGyx9etdDTkUT5/JXN9e9s4uxbv3iwsEEgQVgsbaJn5oJwoFNwiBqfDQRiD57KTXt72vs7FEmuufOKC44MFtMZzjVxG1xxCkgCkakkaCEQ/XMnPd35P2Fmy3eQBkZeSFwsOOtmQOT0ogHSJCa9NAqzuQkyV5IebSGRggZiGdoU2QcwkbMGpRSVB4Ch0B9qjYvGxz9p1u8kSyTsWSOO0tyVjjgkikUm4klPcdXFO2F2IOgzT1eTmKDmWoFqGI+kPXcVkrXYDbbQajFXi3MS4S/uLHHwQzRNDPd2vFo2VqzAXae+KaRSBSReDqKMR10KnGSixgjgxWFaPIyc5O/eRROLy4uDWSYRyxyCKaKjBYwARy5EbDQJsjbLi1jgRI4LvgwyDRfcQ3CSkK00UkMiRssMaFVQryVzU9NFTxsn28F1cuqtP2zHahjsl3fHtl1WoDPawKz1HQiuiM/lJ+EaxJQK/sUU37SbBj6DkQP26EEO3pqNdvKCzADqSP2fP8AZqszK6aNIwvBi/8AWahofmAQCu2hVSN9q/8AZqL00VlaxvHwiuZYrmGORyCAIxOSvbQFA0nBozVm2IagApvog2LPmxgks+0/FBIr29zFbSmSSUcZnMjqXi4uisAK1YaoWz5GJpIzHbpDCqBxAzGcu7rUszt7lQNuqj2roAy5vblnRSk0pXhElWRwqgEB293KikmvXQ9WNbs8ElxKA8KFI0kWWNZk7vLtAQuwkkjqpBZQw/DQ9DzWgjhSVX5FgCy9GRixQoVBJr0IJ4g120ArxyRtwdCjfBwVINfgwBqD11FqgQRuQaGtCQaH40J66FXCD1P4CvwHw+Q1UmHtz1JJ6b7/AIDUWLQlQj91f+/4U0UXFaq8bySTwRKiq3EuTLLUgFY1pTkPnolUFi4nZlJboqsGZRXbkRtyPwGqmRUccYYFqVrQGrE8qVoR1BroLJREFYPMIgyGkKKTI7AjipAFQGr1rtTQB9srGzPGyo3EoGIBNKivHZuLV2OgoqTEU4gcSOTAH9gY+lfT46B9CwntoeLA9tAoUVqHGzI3zIFR8tB0RMyngSGNQZAqlCRsO4o9QdthvoSGLXcXdcgsbce9gxAQhgA0Zcj3B2A2H7NDotYN7i5JkJJYk1YM3uJJrUsxO+gMsFfux3aCB1tbiBvtpHKy3ABJbhVSpUAbkkUqOuh41eazqXGFhx9jazQ8uBuGai8I0keVVajsJHlIrtQADQox1vkry2jeKOQ9iRg7xEVQsAQWA/hJB3pSuh0OfMS3cqSXJgURoI0txG0VuYo1ARJBEe5IoIqVJox6mh0KJpOmQm7bTRWiOR9xeXftjhtwQSQlujTELJ0RF5EUUCmiHwix+QsVtLaKGP8ATsabnJXn2kcN6wtpZH71tzm7l+8z3EaM7lPaVWNKKSSpYvyKK2tTbyW65FkgS2jhZIYJRAkjoiPGIy1+ESQsqcuQkAYk00FN1Fjrt7Pul7cyubdka4YwY+1R27V8jxIqfbXBYczQoG5cTtTQlzJNGsEkL3BaaUQzCCyleSzXjDNaxyWpKNAw+3XmXYK/EgKamuhwx0sgDsEU8AAE7hYsAAKnc19x3p0GhdSWZjU9TtsKf6tRaRDR4mwlPblXsRSxhL1ZJzKrGNucVvFGyBge49XIpWijpqoYZDGzNMiXstsjSobiWdDKUVSSUeRViAUyF6VHUCp30GbvsfNYz9l2idync/KcNxU1oH2HFzTpqLX6XgEn+k/L5nRTCCFWQOUdgHVCwAZeTH2qVryIIH7tVnkzEMUTuyxmOnu5ycGKJtVowo7ZbiemgFaFGSSUntA9wCgrybhziU9CBL6HpXQsAltHjRnqGCsASpBBBQOCCNiQDv8ADRa3CaivaCYG3pQnff4eh+GiTl5t9huR8Nyfx1UwkYXV0QgcmHIDrT4AnpU6i1HfcSxOq+4SRV7oLMjSoTzaKXf2pHxpQAVB31UG3VndW1txuuapJHFd2ZCF4praRhyuY5OioysAK0LMKH00A0LKjMhgLMyDgZGMYU9TJQilWHof2aHqohhtxIDEylioBUdKDjUtX50GgiXV6jlxKKSikULMaUFfl10A0QBJHwqTX/TrobTkZeQop9oAb4E/LQ3y7Ey1dASvcFAARSo3NT+GhI2BkaPgwCyA9amjpTZR1CspqfnXQNcP45k/IrpLXHWzyKHHfuipW3tl2q00hHCoG/EVY6F36J8W8Qw+Ctbh2s3W7jkmt58jfcEleOGgNzaOGpBbSn3IQQademiMbmPPrHFC8xviMPOW4mmuLvLzvJMr3UgCz3MKTM3ekYICXfjHtsCKaLTTG4/x3LZ1xkLpyq3jlhkMik9zPeMCAwsLKNTd3/uOzUWBf62hypzuIixVytkmQa7mRBJcw9nsXKM1e2rJ3pogfQqGqgpUb6DPzSPaSwNGTFRzIkqlWKyqRxJI5ISrDjQihPXQaDKQw5OBMlB9sJZUZWsrSvO2ngRayX5YRiaa+9zAqlA21fQDkB4/bWstz9xkcPf5bGIVWVces6iOViAjma3ULU13QsK7bjQbG4/6exeXlxmQnH6VjJJbnHJNYzXzXdrfwK02KvJFntzwtZgJIfUk+5ttAxHl2Qnh7fiGBu5IYOXC7+zItIjQVFtj7NVsw4pUF2nk0Hzb+/Zu8cxpd5HIyytLL2YJZriS4ZuMrOiqTGqAcfeFA+Wg33jnjPkGFvVzTWOKmkgVi1ld5BUnhSSndna4jSa2s7kR14GR6g120G7lzdsF52whjWfi8d7bFL+6e6NQkNmksQe9KHeUl4jsQlToA576QkrkclBBcgKWaWEdqBk4ll7LSC+KXGzSGQ8UD9ulUroWhkcp5PBBbyw4S/ls7hmai2U3BF3BeR2EShwUHt5ACJdgSdwwZfPnu8hk5hylyGRmYkqXmubub41UQ8yhamwB0DC28d8oeXuwYbIJFJGYn52wtKLIallkuHjcF1+ptmHodBp4/HvOp1SPutFGgCok2Tjcoopx5BZbp2KcRxLVZfQ6C3/oHySQMbrK2kXIhnElxeTBj/XY9hQzVA3qToCF/wAtpWi4XPkFtCjsOQiteZNDWitNeW4UMepAqfjoO/8A6MrBWCN5Skb77yQWgC0HrXKEkD5DQ9Vj/LOKN5FtfJ7YuvuZGtYkIJOxDQZFiOVBWgp8tDmXD/l3nEKy22Ys3bjVHDXsTk/whXEcpII/d8NBU/hvm0CNFHcRywu4dkGRIjMu1JeE8cCByAPd9VNumgVZDxXy1iXbEPdsqnk0VzaX8ssxblJLMI5zKlRsqjoBoMxd2uXxwL3GKvbBk35zWl5AoI9CzKApbqCG0LNPjPJLM2ttBcnIFVVlmmnu57wuSah4oY5IRGwYnYsDsBWgOhy1ttlsfMvasslLcRVWMQZC4umvBVlRZHVj9lNbgMRsRIvKpJ4gaKdPd3VnDJNdRtZW3beNTcTzXlnAhcGEzWuQilnuEnY8fyAO2KV66IxMniEuajkvY81bPcK8giWATZLHxWzEzpE88Je/su00jKEeFkQCgOhVn5fCPJFeNYMebxJJOEF1jZ4Ly1LciGMs0bg24U+rhaeuoVOU8S8qwnKWL7HMRTJIbzDQXv3plBHGUS49+y1xIn9aItIjCo6aoNTKeO5lRaZq0jt54ONuIcgJbe+twvsWK3zltFHOscSf8O8if0HP10G4cWE+QtEhfv4rC2sbpGzpHAJgrJa28TgAtLMEAp/EFLdNB82zOd+68gx80pEix3n3XNgpE0JrbMzH+GNoySiqCOAGhZrPFcFHiZcn5DdiN4ccbm2slldQFMMsn3N2gIDRrFbMFjr76E/LQ6X4uyHkv3uVyX3C2VxkHaxtu60XudEiitYZHWV4lEMIkl47NI9OoOhLMeR43HwX4S4luo4HhDPa0gnyAnR+DQ281AiALRu/OqDiaKrkaBBkcnBbIIFEFvakxNFYY4S0uiE4gymb+83cqNsZJjw5boo0UlCXeQkKyoIYmHMWqkktU0DXUh3eRugUnc7AaJD6Bj/D+ERucvIYIY0jLwpL9rDbKQ1Pv8nKDDbKRxBSISzCtKDQkvzOW8aiS3t8ZFBLPHdBby4itnhtmt3BHdtbm4ne6u5IHK1MqhZQCSBsNBm3MlwWJk73KT8skgLIpqEkESqIlcncAE6CmUBOBLsyspZ0kjCcSVooBahYMf201BXCQRRwtWG7AMrgAhlCke1aeg+B31RZd2sckLPwV5wgZQxcFQteblkXiy8FI3pudBqsblvNMnGkWKt+TBFSW+tMbCZZHKKgmnvWiitYpAiKKlwTxqakaL27eeG5wpLk8lkMXJJ9UrXuULfmSkIoaWK2FjbvMxA5s9K+oFTogCz8X8guxLDHibyBU5q73yJa2kEtSshjmnaNVJXYshZSD61Gg1mH8JzGMdstBkcXHkYImNirxy30AmZaKtxdNFHCqlSQHXlxrXemiGy5jITNFPFLZ203aV5IZ7FrkF3ElI4r+Z2cx3PFisxQQKRStSF0UM+TzUgIu8nxicu9rJbxPLBN20CMYLiGM2jG3qVdJFi39wZqDQZ/IeQPGYzLHeZD7e4S/lS8RbewmvbVgsMrKHLs1uCrL9vwVgQzCoroXTl/zGzchVAmIifdgZJLu4dS24K1lZUIJoAdtqaFC1vOMsXjtria0S1upOV1JHje9UptHGY7lx7xQFePEKfdXbQEPlscwZpJLe6HuKPPElrd8nkLuhSGSWHuRM/NWVVR2BIoSdD1aM3YQoFt3hnih7jRpeXcqydwruIIWSeGJf4qksXcniIyAQOQM/kZhksXsLfGKYI5jye0ilBWRhIWPbiS5jePiq8qks2+2+gbW/8AmFmICO5a4mXq28t5aMWY8i/1rt6UOgZWXmmQzK3ELW0cTwScTJbZXhLAXTaRYrlmk+04E9yYCRVWoCE76C2OeeARR2udyNnFI1JLeaT7ma9BNGmt5pnK20ZlYdsPGhlQfTU00By3t20tBDbZR1V1gnubFccJFA7TRpOAk8zROKSBSK7lAwFNAnuMfkcjdTY2R7i1wsNvBMk9w1xkrTHZRTGAtjdMZr62t7iOQrwkZlHyNAAT3HhuW7ck1nFaZREJEkmOuYrpn+LPa7HmQPpK8gfnoJ23gl61vFfTXdpgjMeKC6lmsJ2kBoapFyjCA+rAddxoKpfHPKMEGu8dH99FeROlze2pjyQuIX+tVmCSS23Ij+YiqR0rvoFOKeyx17BdZ2G6NvHdPLcQW9pyk5CM9sGCXjygWWgYDcDfQaKOe987z0Vus3/wZZmRzKtsInjsCUMqOQX7szhRGfcQWqV20DDyfyq0inucHbNBa2n2sdh+r4xRdvYWhK/3YKFWNAQCsgD0PofgNF1j4rislBatjri6glilWNM1h2bIwzSdRNe2EhgyWKklah/4sIPRqU0DC2ssvk/J5MWt/wB2DEwyW2ZvYLZYEyCNxEMN9aRlba4v1f2rJ1PGvpoE93ZYr7m4t7WW6vre1up7S4tL6GH23MLlLiKRgxBB/mLMnIlNuuhyzlzgbiIGWwLvweQGCWRUmVV2pbXDEEhh/wAOTqNwR00NcBLPLPaCjW6Sy26GJOcSpdxBjQozuvdiZBuoPJGIGx0Gpufts01vlMbJLNctElteQOkfdkU07d0TGEDlZQQ5CqF/qimhDJXkRS5YcWWQMysCQDyruF3PQilRUHQcUmkRb3FQQRTpt9JJ/h5mlOlNBcg24k0ryqRvUMBsPX2lTXUF60bbcDbcCvXo39H7tU2sUkmvI0Hxqd/ifhoUWDl02A236gk+u3SuiOVJqD6bU/D1r130VaoDMtWKoT7mUciF9aJUVOgvgt5726+zxttcX1wdxDEg5Ip6NO4PZt4xXqzDQfRMf4VZWcaXHk063EzAFMVauyWyNWvGaUFJLph61Kx/I6gc3GUCRizte1Y26rxS3s0EQCjonNFCCo9KAfPVGfnmeQNSVyqofY6jtgPTcMG7zyHp0qDoKaMAqIg+mrLG7hpxUUUNJUxCnr0HrtoKJpSsfa5xhQrcpBxk4BjVlBooleFtievwAGgSO7BpG5bxtG/JuPbEgqFeJlNZGkrSgG2gEyF39rbxsFLmeq28SsolkuWoCiqpMiLG25Leh30C2GFoEPM87iZg9zKOhf8AhjX/ANOMbD4nQP8AxjCr5BkfzwDjLCUGaOp/+EbuMhhajYj7eDZpSepoNBLzPye7vLu6wNhKRY207fcSwgUkMQUGNeJ4tDb9ABsDudCn6yEMfEKAAB677mu/X4nQ0NWgH4fOuosfVhaooDt8z/pTVT0MwrU0477AmpPTfbpoU/VDLQ1Iqvr/AFgfiPTUDnCzSLcNGkjpFOqmRUIBDDkFb8agj8NUa6Kkbksysp+pmcNyB+qgB5V22odjoC+7WjNXdTwmk5Exqn0tIo4rKN6eu2gOUpIA7FFkUCTkXIIYDdk5VXjQdKGmguL+vsBX3BlBADfwsrAjlt1rtoQtu4bHOWyW2TieR0q1tdIBFNA3RngkFKAeq0II6jRXzzL4a+wTB7ilzZOaRZGFfyhU+1bpaH7eT5n2k9NE9KxyYEipGxNN6+g6V230Hgp329a0BrT8fhoJUqDWtR8KEftPpoPKzDo5BFD8/lQdNBYPdWgJJYGnTf5Gm2hw7yNQGr1PuXZwfx2Gh0sDGoDFm60qdwfxOh4tQ9OoFSK+vIf1vx0OxUTU6fUf20NaU+Q1F8XMBxWsgSp+rdlpvyRhTap/DVTQmMOypQflsNgagVGx2+BHT46HIZ2iEiwBU4GrFyrUG+/B13EhI2Gg5RXbtCJkDV4pK5AI3IcDdVBO/u66BZlrfu42aKnNgh40BqfU0psAKfhoT92xHjsiR3MyE8i8cdEPIK7B6sCBU1T46DbWckFs+Ua4lkjFzZvbLBDZ21wHZiXXvG6/wyK9PcnupoUfN4+IkmWY14SNVeopX+H/AGaD0vYfkYAUVaEqTyJPrT4aCqhClidgK1OgKxJZi6pQLuWZiFoPkaddAdJcItYpJGkRmAU8SxU+lKDcAjQ4XfePcGRXKCJV7Z9vEMOnJm6g6C0o1nbv9ncC4S4Qx3LgKIeH8Ke4dxSp9dDkFNc3E8MEE0lVt17agBQOFagBlA5H5nQ9QiCzyKqKO4nJ6ke0BRU8zoArGxnymQS2t0Z5J5wgoCwUFqFjToq1qToP1TgcDZeKYola80j717cAjlKQvJuZbbgo6D0Gg+O+TeS3/l2Rt8fZq0do06w2NqzKDNKzcRPcEbH5Doo0DW7bH+E2X6bZJFkfI75At5K6dz7buCgVEAJ3r7EG56nQfP7vH5DH9pshay2y3dZI+4QHY1qW4g1RlJrodmOGXEyXRmzkjdiALIEUN/fCD9JZd6qOq/xaGRnk3kYy0qW1mrW2Jtgq2toVWPmVH86VF6U/hX0Gh4X+O+OX3kF327esdtGwNzestY4R1KqDs8hHQenrocnWetvHLB4bLBxvcXls5F/kTISJGAIaNKELK1TvTZaaBbiMLe528+2x0bRR8gLm7avCEHclmrvIw6LX8dB9BnusV4WqYjCWq5byK4ospI7pV2H1zOhqAOoQEUG5p6hCHC2Vgs3kfm9/Hc3y0khsnbnHGfqSCGEmsjAmgAHEf06CVc/5k3ciWTx7xxVpRGMd1dxD1Zhx7aFf2AfHQVR5zHYMthfEcYuUyNSsk6Dnao9KGWafczMD1JIUfH00EG8fjCNnPOMmJyKsLVpStpB6iOOJSpmb+yoA/HQX2t7mc4Bb+L2a4fFRsFTKXUIj5KppWztFFG+RO37dAbJhfHsRN9/5JkHy2TI5mS/YXEgCj/43sFqka/CoNNF4R/6gymac2niFrBa2kSqJsnepTs8v4IbdV4sQPhUD1pogO68dxNoBdeYeQzXzj3LDcXJji5E1Ihs4mMrgn0A/ZodibfMwW0Yj8X8Ru7pDUJczQCwtnH9YGQCaRfmQNB77TznKMWu8nZ4KFgT2LKMSTqnwaQ+oHry0C2fx7xa2Hfzvk0uQkYkN3b/YsPqBiiZ5BoqEeT/y/sSq2GJkyLDYtb2ElwfxEs/qdEyPXyOdiDifCr0RDeNpoobYHrv/AC+h/HQTbLeZzfyfHLS3qaqZr76R6AqGWlNEca787lKEYnERsvUi6er/APiAcjRXnyPnEaPG2Hwr8v6ty4ZPw5ONAMuU8yjBebx+1mi4+1UvaMrD+JCJGp06aFQr+RTRKwyXil8krGvdt2S4QqelVdGqdBVa+U+L2Us15cYq4iveA7SyY+KKZHApxWUcUUMep66DN3ecz/l1w1pj4ZWgbb7W2JEKpXZrq4NF29RsPloZaXF+BWdhGL/ye7tysY5i0EgS1Wm9JJCVaZvkKD8dAv8AJPL7W5sv0PBW/btHYRkpEE7gU7R20SjkVY03p00FMdpfeOeKTy3EXZmyblSjjjOiOKA16n2+npoF+HePG+M5K/50ubxjFGrJyDJ9G3Sux0JTyA/SvFbK0V3WXIN35l6e0+8jY7r6aKI8Z8Zx9zYnJZnKLBYkljaQ3HaJA6/cEMDQj0H79EO7jyuCELhPC8dVj+WjxRUUnoZEQe47blnoPU6DG30pvZrTx3Bc0x8Q4wpOFj4utXvMrfTEvQn3OzKyqqUAArTQUZVA81h49ioZHNpI8MKHiGvb2cD7jJSOSqmORRyjLD8qOu9ANBO/kFstv47iQl2gdIzcRgCTJ5WVis0xAJKxQt7IuYqiAkEjfQTyRhsLO18fsVW9uGlja6kWOstxl5GMciwOp43EAJVIqg0Ar1qdB6+c4+3gwFhxnmeZfvJQqSyXeZmMcZNpIE7kUNqCYVoxDAE+p0G0xtn4dYRR43KWklxcRSBL7MxQXUlpLOU5GNLq1IlhijYlAQrK3ElgBuAwnk9tlknuLm8tOzFLIkaXduqm0uITHxsmheM8DC9pGBE9ACFYA1BADOW1zNY3Md5bsIp4JRJBIUWURyIQVZ43V4mNRUAgjQu3JzHj3kaJFnrUYrJBQv6tbcjazOSavIsavJa8ya0Kywgk7KOgDTYvOeKyfqeFvEuLNoyq3tqYJklhLq1bi3YzxSIzAHnGXUUqeOgRPdZDLXT3N7Obm5nKtLJJ7mVI2qgVtyE5ncdKbAaBrkX4yRQRpGrRBizIFcNc3UUb3KxFW49mNQFWoqCWqdBhrubvTu1ahfYppT2rt0qQN9RXbcJzNVBUU5K3rUEA02NAaHVRbL3AUjDxMY1WTnESPe6ioZmC+9OhHQEevXQQ5UiJLV51qNiWpQU+Sb/tOgpB7dH4g8lIWtKCh32+I+ehBjZzTBAsEhj/ADY2JLqvGYkKskj0BCb+uwXRWp79qZY7Vmt71wGkuLq3t1uAsqAKIraaRVYWxjBqSP3ddAoydqJRdzVEK28QlEJhCPxkdRB2hyNYXFSz1PuHEaIzScxUrUAgivwpQmnTcGnTfUNGcE1TGsgjklRT2ucYqVA5cWZCO58B0ZdUFyMJ1FwlutvaRLykluC0glmQdxLdCoPLuvHwSu4Bq1OuhQ8vpcLeWneklmQWscrIFUFbi8laMtBGJS727BDSjLxkWMPUVOgxUksl1LHy4g0EaBQqbdAzcQAXPqfXUKUHyQLCqVEUiyIkoUcXCrE7RlXkDHiGkJrT6vw1TMl80XCT2AkP70CDkADvw26ldDhJre4SD7ngwgZzFyJBPIAGkgG4BrsTsdQ7C10WsPVpuOo6U6j5/KmhYYFkrF9zJIsEvAh1Iaqg0PFiQOSio+R66qGSW+PZ07V5FbuzcWN2WkVRxZi/djCkoygAUH1GhI0RJr2xithFHG9xdlGj5j2xxyUHG5jl90j7n6KAD46KWyLcRW6xSkxxSSCTiAPzaclExYGsgWppoeJpzt5VktfejLyZGoFoCfaWqA1aVB2O+gcRXNtM67rDKVJaKQ1i5LvxkHtqK9PjoFuRuRKyRKahTzejcg7/AEotR6KPjvoFchoSOnxG1B8ttA5hVVEXDiIz2ySCCV5igLBTUvxrX8NLljF24QdgSAR3DIkhkZVSSWCR3gdpApMa9yhoPw6HQILm34SIUUhJ0EiAkCjdJE2NPa39GhfSCwHuIsiOyk79ogvQ/wDboCFl+xkeSO3t224J9xH3WRlNRLGr1UM3xIYEfDroG2FjtctcXC5XI3NlElvEe5Db/fSyGNkht7eCJp4BFQuQu5C1GwUEgHz3FllrSws7tjjYYJIrXD3E1tzube3glaO5uI8jasv3UEbR8mQxHiSQp25aAO2yMeSgjgyCtPfWS/b2F5Dcfbx/aCaTvhhEVMzVZnrRgwbeg0OQGTyqZi770skkdskzCISqLi6ihVVBjaSBYRKsna5Mh9qCnE700OCDiD3GpVXb2KRU8Cx4qOlG6b6GkZo0hMTRseXEGQe4cJFHvUMQCaHbaoHx0GnsLtrSFZZoixeB+wvb2jL8WjmShIWPitK1Bru2gIlzVzLFHawwQtJeII45oJGmuQUBDMSWZBcNUhmKtRTt8gVXVhFj43DzxXH3VmriRIpo5YJm37couFV0CupHNaiRelK6BXFEBGzCrJVDIdqca0HtrWhJGgaW6GEmaRT9u08MMrRtRQxr0r7e460BJ2VdBKezuku3tLgdlqljVqRhN+FW2jWNqbsdh8q6CyBzG0iSx8gbdrWUMAWCClKLTkor0pvTQKowslvdS8lXtg8UGykVINK+tCKAddArCk9FY/sr069BqKkVoAT7QQSK+tD+/QuujDNJEtvRn4qfcoHEitQ3WoBP7a6qGKLDbNCCDJOWDkhQweQj8mHgfYqB9yGIr+GgDvpGeXkw4OWqauHl5fxMxWiqOXSnw1FUo0lK1jdYzXi6qxYt05DZ5FJ/Gh1UMlvpriOG3uZ52WCKGG1Rl9q26SiZrZmDD+6oWZwAK8joKJLlJZ5HklZiSQ8r8pJJQgAjbkxJrxULT0AGgg9ypDrGxVSK0pwaQ1FAxFSwPw6aAI71ruTufx9dBEMQa7/s66izFk6k9amvofn66qPcN1O9Kg7daA70+B0K2fSPEvB7/wAkdLmXlY4kPV7grWa4VTUx2iGlSw25nYegOivv81xgfDMUgbtWNpCjCC3j4m4u3RalY0JDTTMepJpvuRolXwfyTzLLeUNJGGOPwyMyrbxM7iYBgV7wXe6nG2w/LTQUxYHKYWBcteYJ57Gz4Xc1rcS25eUAVilv7buNcG2QsrFGVV6AilTovrR3XkWc8jS3tsHaQ2ByKyJc3CXiG9eOBV7yz3H5Qx9hHQAKAqVoBXRLFV94i+KsPvrvK2kcsjlBFLDdIk8x9xEd1MqySFgDSTtduvrvXQY2RGcNHGSP+IXrT3rUqHR1LCT0p0qNtD09wGXsIBJBkA8Vpdosd08IWW/tbq2bkLuy7wpbvOdmNdhWg5b6D6JD5NmcvW08PxjrEjdn9XvUhtbO2kehkFtY26mzEorXYTSb9N9Axx/hlhZcbrLNDl8nJMZrua9ha4TuOSFjtbVphbwEymncn7jNSgVdhoD2y1ndd6xhhE1q3OzeKyiNxchJ1MLFkla0GPeCQ+1EVWanJdtBj8r5ZFjXfGY2yuZmtE+3upcq8dtBcSIFRrq7srAQtf3EqpVmndqnfjvoMHlPIM1lFaO6up5kkYNHYrW2sqghUWC0jXi3EbAcRX56DQWVp5leWdpZwY58bbx0Ecs8X6UzMTyEjmV1mnkUn2sEZvhoGZ8JigBufJ/IY4CzF3TmscjsxJLF7z+8y8mPUQtXroJC8/y5wwIitpMxOB7SY2uYmYfTxlv2ht6b70gaugaReX5mdRFgfEpxCR+W9wJYY+HGn02qY+0UA77Eimgub/8ASTkCzIuKxaswakaWxli2Hs5JDezEUG9WJPx0FT+OeTTIf1PzUwRI9WVZpYgjnqPzbi0oTWgqNAom8Y8fA5X/AJsZm5gHhPaybkkEkNNcsN13PpoKv0LwBCFl8nuZKjkSJYyoJ6AmOxdQT0O+2g82L/y3AFM1fsTT6XlalDuKHHbf7NB79E/y8ce3yO6Q9QjEKR8iz48Co0Krk8X8SlJFl5k8TpV+Uk9oqqAKAgN9sW6+hrqFRsfil6qlsT5sHXiGLG4lVOlBVra+mWlOlV6aoJOK/wAxbRA0eXsr+GodRNPHIJKUFB95aLVTTcc6fPQeHkPneOJW+8fa6h5VZrNJmQLsSqPZT3UQUD4oR8dAqk8i8NyTSLnPHWs7vlu1vAscrVb3GSW2fH3QdV+KNXUVH/pjxPJqHwvkH2kzn8u0uJo5yCWIC8Lr7K75MPTkx1UUv4r5LYSLwePKxqrBIYbzsSurLQrFFkDCKE7HgzVG2hRiLl8pibxze2d7ibxixLfn2jsGPVD7FkBr1RiNCIbnxTy3Iy3yW9zNZSRRI8097fzfZXKwVAYR3kRSS9mdqBY3DD400G2my/e5zZCxubm0imie3S3sQ1skjkLb/b3Z7N7HQtz7qqNiSTQaHTz4/HZ0NFewpcywIhWHKrImQjj+kmDyCzPclRXbYSrL86DfQ6YLL4g4GSS5imvnieJ2bD5GQRTwxRr2p57K8gV7HJRrG1C8ZW5WM1K9aBibwTGOPIk8mjuo5C1Kqo2CqVB2SEIqqK/SKaD6hf5W1ytjj8Di45pZsjKMrlp5Ip4hAZijPEIF70vGd0BKk0EYFTQ1BeUsxnDbwR4e1vGjgx/BXOMdo0btkyOWuC0Ut0zO/KU9yGAehc6JZ82vMrd3905hmkvbkqEkv7mRpo40Aoqq0lS4jBoo6D56CVvj0hbuSy966kCtI0gJl3oT7ieMaKDuBvTQ3YXLKkUoMDE3EbK8Q3URSAHjcSR9ZeIOxNQDobH4yPJ+XC1tri/ublsbIbe6gpDM9vaOCbfIWtmZrf7sLMpSZnNU5qdwDodtRJceMeK9xVBur+MFWitRBfZBhxDMbzIyxSWVjFvTtW0e3qx0GUneO+kW4SGR1uDPcWk0axQTX9vGQJEuVtljhN/jWejyKFEke5FRUi5fJbk0klLV2JkkY90BPpREdTzYr6iu37tAM7Kjq0bk0AZR0Xk2w7jEl2oD7m9B6aD6ZiLLxG1hhu0u7C8fiWurnIm6uJmmjFZVtcMgig7MXpI/cBHpoVH5nyLHwm0MkVveQRzwpa/f3M9rAjTIY4plxlrGtusS8SWEiMyDcqN9APd5q/uYp4L4zGCWN7O+tlkhkx/FkdexcRJV8fMV6+5ozUfw0qMMtcec5NCttjhbYqC1UWtunCTJ3oihAVR3LoyKqhRQceK00GVuL7J5YyKk2UyVyxJDPLLPQ1qwFrb81Sp2Fdl+Gg0NhZeWm2WC2wd1CCa85omsnjQ15WzPKIWltJTu0b8hy3Wh0DqLw3y+7Ym9ylrZq6HuE3E0zFUA51iiQwgqAK7jfcnQXnwnA2fbfNeTyyqWAZIpbK3VWrQcklnuJeop7U/HQEm2/wAs7Nve0d0QB72yN/cSMelSlrEsbAjrQ9dC4K4yP+XDdtf0+NkAVnWCK/qXIrxeWS4ikJjI2p8fhoWVm+/ywBZhjp2PLiFZL2hFevL7xaAAn56CIyH+WY3/AElz7wBVb41StGfa8AWnWnWnz1AdBkv8tELstjboeXt7tpkKstPXjcPU1pQnVB6yf5dXICrHi0kZx0vcjaqW4jcNJG6gHpU0BProFV3474XNLFPj84+Jumr2St7b3iOAzRKITM0Ei8mqAA4rTQhVP4ZmYQ72uct543Uy1vre6tmkYqiF1lRLqMyUovIPUdBtoBzYebWbGQWdtfqjD220tpKhoAU4QrxlUom44gFQa9TXQJZY/IsbcSZC4ssrjnkbmXP3MUKh6e4O4CSylhWpIoBTQ5Ew+W5a1PeuhbZMRqzD7217F6fepZ47+yMczyJSgJcbaD6OvkOSeztS32VnfSRArbm7uMje8RxAj7ckccbzEvz4NJJyXck0OgDjmNrzuO1MgHGSbIeOSCzkn41UPNamRrCSkhJZXiVWAFK8aESIupLTKhbfIJZZ1wFegVcJ5Fa0QmWRkZhYXjoKUUNEDy6baGHzqdpLQGTxvLXK2d2ACFWS2u2MbGOTG5SAFHilhlqAVNGB266HRTFaSInJW7zvzd2SQpybageJTxNtH9NFIofjqK0dtgYcbgW8mllv4LueXjZLjblbWMwglRJNCqiSUPOpDBKFgwoK11UP3vf+kPEoZImeHyHPAXU5dubs8/KkwLk8TDGwQUJYFixGgw0Nu1tH2n4ztNG88zVbi7TMGY8gecUhatWALBaaKKtbmJh7YjyTkJe4QndiG4UOPoQso5uQTxG1SaaIvnt4s3FydHe5gqi3drESttEAAqFhSUxIN27isrVoKHQZplvcLP3BR4RKD3oWeJGPoRvztJJo/wD4lttDo9gfHZ4kS8rO6iVgtyGVAw4ngtzCQY46vTk6DpXpoE89rcWk7W91E0c6FV47cJA68xJHIpaOSJlNQQTXQcUfUATshDGnxBqfludvhqC6JdlIHt6Cp6qB7epHSmqLxuKUqPQjYGor0PoDqCYBK0J3HU/P4bfDVHmIUxghmeUhYY0UyTTMTThFGgLuan0G2h23eJ8GuriOO78guDiLRjVbKFk+/nU7gTTjkLatR7UDP8SNCZbBb2xw9utlhbWGytAePNApuZn3q55EsWPUu5Y/hoU+k0k5nctPO7F3HtSSMs1W/LMzBgO2a/IaAS4eOIOtXicgxhPY9EYncbfm1cVqGoBoXCnixjLMCU9qghjLK5G7xqB7Hp0BO3U6Evc4wPckjFXNAAebUALK3MmNjTYlagnYjQyVGYdwh4WIZXeFqqyCVK8WVGCrxaLZjsdDsJM8MFsLmRlaJY2kf3KYoNiQpK1LSORUKPXroM/GZLmQ5G6FJpVpbRHYwQGg5tQD86YDc9aaFDLG429zl9HirA8JGXu3V0RVLG26GZztWV+kajeu/QaHbd566s/CsQcZjmByE9v2Yu0aG2shUyTO3U3E7EksdyST6DQfGbZDJIbhwak1CipC7GpUHck/H10OTdQSKUp0Fdq/jWtP2aCyop1/fUf7NEy8GHrt+z/v0WYnTtR8f3b6JRB2A9K0/Db49dtBXDM1tcoVQhhIqAU5OFm3Uo3ycbkdQaaK3kcrSJGrqAadxQY1VVPrxAJCv1JH79DlfHIZaV4sQSqJ3ODPQ/U4IopA9K0OiilZTVN/aPpYirAn3KKgVI/edEEwkk7Lzj3IHEkLxAorb1MYO5poSsANApZi3L21Y+u9aDZRT4CtNDA+O7DK8DpG0UycHikXvRyJSjK4agLMP2aDGZjxw2/cv8GryWqmtxjOJE9r8WtK1aWMnfgdx/D8NFoyiuH3U13NdiDWu6sD7gynqDuNEW1NaDYU9Nunp+G+hlIH6BtVTyFfX8floLOXtboSSSVI+npupBoK9NF7VklqCtADWgrvXRE+u3w9abgU+Fa9dFFIaH21AoN2PKvoWNRsdEFIFIPVORCkk1p/arsKaCzmqkKvu/gMi1cEDqT/AN3XQwLVSAFYAnajMSVKjenCoofjqKpuOMckZVOPtLkFRJRRupTiQQ1a/OmqinlIXdO1M4kCSCR1bscQK0d9yOA/ZXQWToXglUTKwMbDklOhXYUrXpoPlOO5wZJuCqWEjQuzE+xJH4s0YHVx8fTQb5L24x8kktjwV5IGtJLi4QyMiSEB3iWQMrPIBTcHbQYaWOKW/uRIyIFIrQcSabHio/iOgouO0tRECo+kCgG3xYjqdAqllqojU1r9R9CfgPlqL2hGZByVXZAwqQp+rVTOE45pYGB5MVrUgnr8xWtDoHMlxZ9uNI25jiHJb+OQ7lJPkDoDbq7lvTFdXnajPaWGCCzVY4yI9qzBSd/x66CIRJVPfkYIFooTiDX0FTsANFD84IlWK2LSyzngUB3qxoByHUMToj9BeBeI2+CsVv7xE/UbleTFqUgjb3LGtRsadfWugyvm3k9xmbtfHsK8k0RlEM/Z2+7n5UEKlTvBGfrPTb4aLZkc7g18c+xD5DuZN/dNDDxUWhoCjKynuKVPQnrogrx3JYrHy3eWywuL7LoO5ZCVXnWZwNnSSpCP0B5bgdNAZZ4zI+YZGTMZpvscWKzSOzGOPsr0t7TmfalB7nPXQIsilnf5hbHxu3ZIJCtvArV/PdTRrkg1Mcfz9QK6Gm4m8Y8YwdjHa5a4E+VuwCJAXYrUjk1Er2YE6Bj10CjyHyO3srVMH46jWmNCUkuow6PeE7SLFIwDFK/W53PTpodFninit15HMZ5ma1xNsazXFShlpuYoWPoB9Ten46DZ3eRFww8W8FhVFTil7lYqrDAp2YxzDd5G3qxJJ9PiCrD+k+DcbO0gbNeT3y/KSfuv/FK9WMUVTXj1NN/joyrGJitOXkvnV2k11TlbWWxhg9UiggFBNIK/Cg6/PRpSHz/mNQhlwfjg9pWP8u5vYh6tWnFGX/4n8dEQXL2eNc4Lw/GJfXg9ks6itvDJ9JluLj/jsD1JNP8AVoosYGxxYTN+b5Rby5FWigncm2jfqI7W0G8zA7D20+WiLJst5Ln0WHx3HviMcCFF7dUinmi6Axx0rDFx32qfgdArnsPGPHZi+bvZfI8u5UpY27PI3NqEBwHYmh/rt+zQPLdfK8+ix28Fv4nhwPakMStknj+AJVVh5D12I0A3Hw/xS5ka6kOXyRrJ3XIvbpW+Ek8jdqIk/gdDgOPK/Jc3OkeAxMFpGGIS4uEaVAp2q8jBEH4KG0BF14zeTj7ryryuRFH1RQSxWNuoO/BGJUkfsroFkTf5fWD0s7KXM3CtxpDbXF8zH+tzcdg76FzVPIr/AGTEeGXiKRxU3Sx2kI+DcVHX9ugsN95/co/HH4WzT/1XaaSP8OLMP36LlSuL85mjEj5uxhB3CQ2nIAV3FTGCaHRFq+PeYShJm8qZW6ApaRoB6bg0qPx0NqGwPlq3Bjbyli+xHK0Vw4+Ip7dC6RxHm9tXjmrSWnRJbLkHB36Kp30KFzXHmVpMvcs8PelfqRA0D09A1SvHQkHfZq4KH9U8XljkXZri1kW4iNegZJAwI0PU288t7W1hssHiDHeMApU2qxL3OlVghHOVyfw0N8B4PGPJvJplu87cyWNszVVJQO6B1pFagiOCo9W3+Wge/deHeHK8NvD97kV9rFClzcFwKe+dvZAPiBT8NDV3zzO+QZHyi5htlQiMScbazgDTNHzIBdyoqzAfCg0D3KWJSfAeNidpQpjlnXj2wFG7KyEcgwA29DoE/lLPfZlcdYRyT/bolvDDDGzPzA93sWo2Pr00Gow3+XbxRR3fkVysVvTkbCFyHJI2WecHiu/ULX8dQaC5zvi/jEBixVpbd5lowhHvqOnduGqW39KnVR8znkTxa1ls4pWGeuQpyl0ipKkFtIoljxljcdxoyVahnYIeTe30porkcbeOWLXExMeayUDgCOWNJMPYPxbgYWjkUXN2adxdmij9uxOh2hZNHhrZsldGeLL5C2k/TFhEYfG2TgL97L3lcF74ExqnEMsR5AgnQRx4THW/6zc0TIXMMpwVuACbaKpjbMPGzKODEskAbdjVwDoLsRH+n2r5+5icy3Ilt8MquqSFGLRX2SgVwY5grOYlVfcrOXUUGgFRe0yrco9oOLyW32svceUvGVRQLa6DQker1ajV5IQ1NCclGSvGlQW0bSi2iASCAzSyqiwn3vydqH3bAABeVeIFNA5xF9469kMXmsbGhD9yLNW5naUu7EmK9WM91IgDQNEG48d0ap0Ft54hfQGCbHsuStLxS9s9uySzSRKaMVSOsN2qFgpZPcD9SIdB3K4exwuOjjjzU8mTLia5xkYVrW2mCkOSwY0aIPw5hmPKqsANBTjIVtIJr6VU50RbAMrf3i7bfqhAEUKnm+9NgPXQI8lchFYKavKWXka1oTWWT8XJP7ToQz5A5UFDuo2NRv6V21F0vQBSXc0oTt1J9p4kAHcchqpdckwSpZOcTVUA/wAz3DdVah5Vr+7QUurqhSgCkrUqah+rKG68So9PjoBzVSRWtNq1qPnT0OotkjDLxEhikCMOQcxuFYdKhqUI/o0LLg15b84la4gZDR4x3I3RiOhFA6kj40rqpSE4rqUo0Ms8rQkq/AuSvKPlwLVBJVORoOgJrSuotLuyAMqEKNzQMfcSRSta+o/Ztqo8ErSOSM1CluaVD9vlUsQKiU7/AI7U0Oz7K3yy2Vlj+EkSQojzM0cSRDkqx28h7SmSRQgLFqc96Gp0PGXdi7BahgnsUgUDAHqAaHf576ixa6XHtujGpUEFiP8A64D5gHVSWmaW2uubpGEVI45IJI2VuzQpWN4ParxL7gpbfkK0odC4WFUkuCJHaOM8maRVBl7QDPI8K0CCWWvFR0FelNAaUF1ZXXJBDY2Vo0iCRizvMWVUCcQE+6nkpUmoCAlRoMusagUeqEjZmBK1+dBUV9KaCCsY3V0K1Uhugdagg0IYUYH1B1Fi5jFciK4tLgQp3EbvKoYlWkYlvpA4xxmQ1CKOIqQa6qHWNjxskk1xeQos6ySUtZWVLFFYHfkzGWZ2Le2hAQj10VFpMdYKXUK00rO6mJVkUgk8VicnkEiIptQcupOjLP3U3faSQnhuFSIKfaq9Kt9Kkkk00X1CCaQI0CqrI7B5PbVikfu4k7kIh921N9CYTkgRyHjekZLLzZGUsyqGNF/E0A66AYI6KHA9vLjy2I5fD8dRXBGzKWp0rv6e36t/jvoVgytJfa0SDjW3XkSVFeMiuDV+pEnQCldVBF2nc4MBwhSR0c+5hFIzExnj1BK6KXyupWEFgSrEEDbgBT6fhy9a6I7LddOBbktQJFNGIYDbkuwI6bb6APdm3NPxJIX8akmmosWHQpH23qFJQFmZvU12Cj1FAQa6qc6XW8rRmE2paN2jaOeSRlWkcjB+1DIeYt4qrtIApViSSNAwd0yt5MFhtsS13dm4KRqymGA28jyRpO8kaJDKPd2yoDMeS7baHZbfR2iO5x/3BspJESOa5QoWIWrcCABwqaUJLUGgghKGB1YExuzoxA4qUPsUqQRUkV3rooaWpkQEszEleT0qwLGh29Kk9dEbaxt/HoLOVLpoLh4mP3NzEuQW5dOY9oSqxxMnRUGzUqx9NAkmukUC+huCbxbmaGKEwLE8NslHguHKL2i04YgrWoK/CmhyleWjpizeS3AkluTbsUeZhOqyM57UsUwV5ZPZyBQFFU9R00Oya3ueDhZAO03FH4+1gisDsdx6aZXBjLfrStvJLC8n5cpBAV4SCvtX6UYoafAjRKJDtuvflujMQnbBnlaeYigHbUGkcQp6kk6Cp76Xvd6WTve6pR68iAfpZ0oWBp6mp0C1pDIzqkYjRmZiq1YgFi1Kk9F6D5aHKccqqpTnxGxrxJFQTsCOlQdzoquWTm3IEljsaj9n4EnrqCyB2TlxdUY/U3Li9OgUHbp8tVMCDJAkJiCJWRaSSzSd9yxZTzhQcVt2AWhb3MRXQBSlRVBJ3KUHIfSQP6poDoOxFaghxG6lSCa7sCfcrgEp1FR0OhQRI8yyyL3YpXJCkpxYFgOJMbKOBJU022OgFeMqxrT6qe0hl/AMNjTUWq9IIyKFiW3IdT7TtstGpQin7a6qLTauASvu3VKmqqjvSgYnaoBqflog23x6iQRvCJpGIWruQpYmg4JQcwW2Hqa6KLW3x5Lq9vEXqVYcpEVZE5AgFWUxgAb16kaDfeFf5eR5Zv1XKLImKZg9laEskt5HWvOV9nW22otKM432HUPqfknk+M8RsYo41iN32h9jjUpGixheIlmCCsVugFB6sdh6kB8Kc5/zPJtNMkl9dyRmVbdSLeC3tEPtMjM6x2dmCfUhpG+ZroC5fGPILTjI+LvCq8THcW0a3FsqIQV7RtJJowqkVK/H56ArBZW4yF0njucyNzPCt5HLbfcEMgdZGWeK4NxwkaGeFyihieLEUFdB5J8j4bm7qxsHt7TH5KZ0g/UUE0dsiOywtcs6d+IwqwZOVSUpVSdAzx3h19nLma/y2XMkayTfcTqJZLmft05i3nuVWzigFaPIxpGfaF0CzPp4zaCGyxSi4uoi5uby2yFxcxq6kGJJpJoo7e7aQkgtEqcKChIroEljg7/M3Dw4y0d5YwFublj2Le3JWha8mkpDG/U03c+g0H06zXN+O20GLyuRxUloYlixOOs0k+9kZmU0cRQx3LRV5Gp9rts1a01B28k7cKyZcR2doxkkgWBi5HcA7vctJJYZSQQOYX2FDxCgjVGZfyK+yEgsfH7W4u5SoWedIIFjfkKSO8HZMFmjlQeTOX41BbQHReFgsuT8sykNoZFaRYoLiC27gQA8TdyKeYjUABLeOQ/2umgJHk/jOIYW3jOIa+um2WS0ikgMjEbl7iVLjL3IDHfj2gfloLQnn+bPAvDgbdjUrBGy3gRqg8/tu/fOCOvclT56Be/j3iWNfu57yFr66K++NZu65cDesWPae4ANKASTKfjoOW/lGBsm7Hjvi73U1GXudtRIzKfZIVhjubum9d5FOgPXJf5hZAr9vY2uKRhUNJFAjgGnu5Xb3V3X4UXbQVyeKeUXQL5nyhbcH3cZLi5ZRy9tB3pLKFeXSgFKjQBSeLeJWwEl95WJKsVaOOa1Zw9fcT2UvZeJIO5H7dDlW0X+W1ozIZslflekiG8MbnYjiVFqKenQb6D33/8AlnH0xmQl33DmepBpVhyyNBQ+nU6GUP1b/LmtD4/cEAn3Vcsy+n/yxqD+/RVn6l/loxHLD3camo5KJ1pSgH05Elifl00RIH/LO4PE/qVqCNmDX1F29AXuK/06Dn6H4Bdb23kM9o7D6ZZEoKGhJ+6soqg+nu0UZb+LmMA4HzhV9xCIJgoLA0AAtbwg9P8Ay9xono42v+Y2MI7N5aZVQdubQmR6VNK3kNrKwK1Ozmo0Al15Rk4V7fk/ifdiqS0v2/KPh0NDcRXtuFofR1+R0AHH/LzMD2NPhblmJ9rvbQ19FA/vtiP2hKkV20KfB8WA8gxydzxvyOO9tuLMIJ5EMBUndSVN7j3ZvmIzoON5TksfCLPybAOLX2p3Fiimx8tPbSS3mW5xjkHf8tonPTbQAy+P+KeRcZsJcxYu/VqxwJyELsTUiTF3crSxVP8AFbzOAP4T00C528m8aMz3SSTWyDg80bNdWsQ4hA6SOvesW4GlWWNvTQaHH+R4zIBGkaSDJKweL7iQLbrKwK8oplZCBNHtxYcQQKnQvHYq+msL6axxb5C3SWCb75rC6ko0xa3lt0tobuTnDbzgSM6iSqM9ASFOhYAnjMUEP2cl3E9m8jo5yNs1rHaiJSyrep+Z+chFeSO0UhpwbQJr7JWGOiktseDFDCklte3xeSKW6Wi81TsMixrcOKmNS9V2dj0AZAtNk+IctbWAI+o++cbAu7eiigovSmw0O27w3iN3dJG7K1lZMVeNRB3LqWMA0nELUWGJ6V7sjBelAdRTK7tcRZG58ftLLnkBCZIb64ZLlL26FJxi1ukj4x3t9bBjEI9+6vE11UqwksSq1eZaORa24ZQjrGsjIxlpUI0ZUpIgPKNlIPodCA0FilxkoVsr82RunZHuJ5vtoYY+JaWeabjVYeAO1CSdhorew+MYPDQvdZnIQXEKiqczwsWVvcsgtbe5e+yskgGwZ4oR610AS2E/kclimCsnwuCsHuJYbqWF6XNxcgpdT2lnEGmk+5AVeK/kxqPqFdRFM/iWRW/fHWt7a3ElvGn3L3bTYyW1guQDHP2rh53vraRwVWS3L+5SpC9TQ2Pj/i/jSd7P3hv7sgSR25DLAXAVqW+PilFxKC3Q3LxLX+EjQIpM5jGyE8WNtv0G0KCd0BDNPOrBlla0fna2xkU1MYHFqAtoKX8gmnY2uKtpbppCrMkUPcLTMQ7NC1ZZ4OM1GDiRi9ByAG2gb2viXlOVAkyN2MXCVCsZG7tz2weRV0g4oBU1rIy00B36d4L4/VL66/WLqPdoXme8pINi32lg8VqPn3JnPy0LDI/M7ycfaeKeN3DxgBUZYft4StCCRBjo40jFenOUmnz0E1i/zFvgryXlph41GwTstcKhbiCUgS8nIU7e5hv10UNP4vbO1fIvNJ5ZQG/LNxFElK+6Mfd3MkoqTv8Al6AU2v8AlpjnjWWefJMV/MeO4uZhGanr9slrEa0+JoNEc/XP8vLbmLXA/cFSRG0lmJy42NW+4vHKh+g25D4aAhfMMOqj7Twwl60Xjj7QxvsKqH+2kdCP21poCh5iaJ2vCbtgB7ibGIe7egQLjmHCnxoQfTQRPl85IMvhl3RRUiO0RasevubFkoDtvuajQwpbyzEgA3fh1wjEe/u4+zeMn+0XsEcgL+ArvoBW8i8HuAy3Xj0Nud6FsdDVxX6SbaW3MTH51G2h04qf5cXfMI72QZSWVJb+3Uk0KRqsovEqn8R/+Z20BcXjGKesmD8qu4pFJKBb+yn3QK6iKLu2VxIC5AXYbjQ8FyWfm1iA8eXsMvCiFgmSt5I2IrQ/mXUDIklTv+aD+zQ5Ut5BncbwOU8dydpDEOXexd1JJaSSBSazw1vLB42rurDYb6Cn9R8NzyMt3HYRvIkvclMMuFvFJ3jVZ7bvWVzIrEg8owDsaddAufxPJYoNJgsqk1uyEql9HFwKc0YKLxO/YPLGaD6oz6U6jQU/rN5i5U/WcVd46QseN7GJmgqBRVt+1KqLCXFWCl6enSmgKkzuP/TZrlSkymoWCKYQEXTE0umhrJcrKpNFb3K53YA6C/Bz+Oy2r2AVriRpnuTZ30kdhmYJbjtfcLbXUvbsr+PuqWRJu2wrsx2GhczHiaX1zxtMgiiqySreq1pkbWNONe9asFWVQ1aSIShIO5roEt94XKl40NhnIb254pdW2LvUnsbmUglwtgboiGeIMpdhGQSR7tAoGYuGv4B5RLLDmsZM62F5eWqPjWSWivZ5nH8EcxFeSiSOkqhgQWoNBbJFDkJeOKtp4b3vvFc4iMvdoO4CY73FXPaDvjZI1YgSgNG44HYg6Cq3x1zeX4x0dtJFeCQIYLgcJUcECR3iKbBEHIljRV3G+g2+WyVj4dY2WHt1up7yeBnuprGX7a5DyhzJe1RDKWjK8okb2BBQ9aaDPvLbZpFme7thNNxhtc2IUtcdk5Xj4yWHkNonJMTk2cEJIAIZqbUOgx2SwtzjrmRIFliu7clprMAhkC0HctyxHcD9TEajifaSDqKNx+Tt8pHDjsmEDKGS3uiwV4WNShtpCBRQ2zwvs3QUI1UlRd2c9jIVkXksgYRzqv5Ey/UShrtKvrG1GH4ahW6sVIVS3oQSegUb1A9H3odUdeaNfc7fJY0Bck+lFWpY/LQarF+H+Q5VVl7CYmycBjdX1BMY6byx2leQou45lRoYbfHL4z4wrpjqZPLNySTI3A7haVdignCkQxgn6YhT4k6Cue+ucg4knkZvcR2wpZAwNQoag7KAgkeraCh5VRgRGBIoo4RasoI9oPPgKN8qHQCTXMaxh4liqxf2yxhI14+2Sh35AA7UJA1BQ7IQgUc+FBHy2iCt9L8mA4hj0J2OqOhkRXd2aQLRQqo38wgipIKgwH+qRVqaBZeXJcF2FQEYROH7KKUOwiiARak7ECm3U6BX9xFK5YRI7xnlDEHkMXMLQqSdlT8Sa1p89CxJK7ZK5Z2YtY28gZxThHPdUDGGNAAvZgYfOpGgu/OnmhtbaPv3t3IIrWEAkFz1kkp9FvCvudugA0JfTbe4w/g+NhE8jzXs8U0sksKD/wCF7wUQFZd6Qwk0G4UKPjoePjl1c3WWu5767d5ZZZGernYqT9KgbKiLQADQEIrANwAJVfahYICAadSRUjrQbkDQXDb1p+A/0poVSqN6ippsamo+ew36ahNkNwfkRsP9uqJDoTUbelaHf4D10IlAkb/h+/4D9uiOSS8IRMjulxDKpiZQ5PE040cHjEysu2xrXRWvsJHltYpQqgOol3ZSyiStSFB5M5bYggaKLV/rLGpJPJabFlNCyrsKgDem2gKSc8eSsQD9UYX6ANgdiaGh9dEGRNVKs5IBqu7I6K3T6RxDt+Ow0FyOQQGj+kmlWZ6D0dg53Zvj8NBeKNVqhSamitTavotCCSdAQsrh1aNisi0oSAxoorSrEqVr8dtAnyGBtMqZLq0dbLKOC8xclbS9AG7SrQrHJX+JRUnrUaDByRy28rwXEbwzIWVo32O23JafUjDcEbHRcugkKR0BAIr1IHw0RLagrsdiw9RT5aD3LrsK+jCo/dvTfQWcqCgqwPrQch12+W50PU0NARRq122rQeprUfu0K3GAiUAMFiNOjjiTToT1JVhoC4yAAyPGCtPywC3u+NTQMNFFRzQ0JoWoaFqAUPQ/MH4aIBuZGDmgCMy7FvaWB6iM7+7j1rTQcYCIQlOdwlF5OHdzxP1ExJseH7NBehDsRwADKQpIC+2h2ZAARt6aivlTEWuakBUilyRRSKDk25PxXVRt5JTHEjsY5hJJ2hbRkPMGDLxYoAXHI/T8dD1lc9GbDLXKSLE0k0cbUDLK8ZZQdylVWTfcdR66BBJK6wtyYUOyrtyNepPy0Oi8dR+I1GpwKSnJTUADqdVlcyxOOtfh8joshHi4n/Sh0StIRDyLUKzCuxoeuotpeBkYgFmI6ULH/fpcmn+vsP8All4sl5cNmL2LlbWzBbYMKq9wOr09RFX9+qN75z5UuMtDirJ43vrmMiQqvJba3YULkg0EpGyjr66Iw+CNr41h5fJHmtbjLXYa3xlo0iu0CsaO7qCWDkDkxoNhSu+gxNy81+Lq9mlEtwZBNO8jHuSM5oWSu1B0C+g0DTxu1sb+8e2yEeQaMwM0U1gpZrSUGomnUUPb9P8AZoJ5PO5S+jXEfcrc2sdwYIFtoBC98Q3GJpgtOVfhQCvXQb7F2ln4Njjf3yrc569SkMC0Yx1FVgjr9KJWrt6/u0NMLe3ktw9zfXjM93M4cusnGNKnaMIB0UbAaA/AYKbym8+7vSLbEY8ATSCsaOF9zQxsTQEgVdq7DQaq7vp/Ibn/AKX8SH2mGgAjyGQjAWMRDZo4nFKowB+b/h1FV9xcw4UReJ+GJHcZaeovrxR3Ba0ADzTy0IMvy6L0p0GgrkGL8Ii70zHM+UX25Dky3MkjnrUc2ihDdPVv9QUR4ySZ/wDqTzi7jVIxztbGQn7S2B9yp2xXnJ/ZFanrU6CCtmfMC/25kwnjSAq8intz38SnqAacIyo/Cnx0F0eXs8aFwfhFgt/erQTXhT+7Qt9JknmP856/Onwr00Krpcfi8Gy5rzK/bJ5aQVjgIEiwsdxFZWg9qqDsGIA/DQeWXyfyuq2wbxvBg8VanHIXMR+JJHbVl/AfjoK47jxTxeQ2uPtpM3mmqpS2H3VyZOhMtyapEK9adPhoLzaeV55C2ZyCeP4uhP2loyxzGM9BPcEjYDrv+zQJ0k8QwTiGwtJfKMoXIWNK3CROp6mQKYqE/AE6B0F82zFAzWfjFiy1KW0avdcB/bNQrU+YpobDXFj4jgaT5O7byHIndluJhfXFfiIi/ZhUH400FA89tk/JxOB5N0RarQegpHaxt8OldAVBe+e5NS9rZY/FwO9Q91Ge4Pl22LtQ/MA6AoeP+WTVa98tFqp3YWsMUSg/DkxWg0K2LLjx62RWe98yvZODHkoyMEdWPUgK+37tAMuD8ZdC0vlk5Zd+2+WHT+yQev7NBNsH4sOHb8smVzSh/WGJHw9aDRU/+n7ZozLZeY3atG2w/VY5D6boGddEVQ4jydVubnH+SPdvDRpI5ljm5J/CSSzhtvhoKDeeWwozXdjispETuCO1Kaeo48aEft0FFr5bFiXlnm8emhuylCarLCW3pxlZS8a6BPd+ReTeVStbWUc7RFqfa49WSJATsJ7jbp8yNA8xv+XT8PufIL4WsY9z21s6ig6kT3L7VPrx/foGb+Q+KeMI0GGtIri4UEM8ABqw2Bmu3ryFR6E6BVhrjIZi9ynld2qQx29s8cBMTNGAFJpEzU5cabkbnQkh8bzuQsL+8ntccMpNfFpJuMbtcxIpJLqyKSsYB6HauhdLLeV5PIrLHWaO3DkMOLiKNq04vt9Q+f7tC/8Aq3xS+8ftbh7jNRvcXVf7o8yGa3Tp0XdVk5epFR6aBRj4BZwjyDJiB7iXuTYXH3LdjvuGq2UaJYmUwwueUMRCiVxXoBUKbJIrlps7mZElgSZmt4JaK2YyC+4tLGAQtnE45SEgK5ogPXQRhL5u7kyWVEsmOtpOV12QqPdSUBWxtFqmxFC6oaRRVIAqNAvyuUa+vO5OoMbPHztrcmKOK2TgnYtlYv2FKLRfQEk06aBvPkYsuqfZwRxui9mGyh7kL2dvGOMEKMGa3vHCn6wsT8qhiQa6AC+kitx24mukSGNkAuDGXUtTvTokSIkZnbZV33Fak10IaXGY/A4vHfdeTJdffZNIpbe2S2eeKDHMeEUjL9xasXk4kjixZBvQk6ALKeMK0UeSwLi/xs1VSGKQyOTXn27ZmjSWSRQffbyqtynUB192gDxN7lMNHLeY7IG3tFuIkuLGYRSM8yoJWuTYylikUPHiJgA/L27V1C0hGa6zOR78/KW6vZ1eR3CgOTIKRtwUCqdW2HoCdUNcpcrEq2McifYY15IojDx4TzqWFzeM9CXdye2DUqVWu9QdDpgrqc3ExcjiooqL1CqK0HzO9T89RYDA0NdFWhqqaipoeJ60r1U/AE719Dqs0eBAGxPIEcamo6Abim23TQ7WtK0iRQ8V9jsQyIBJIXPtErfxlTsteg0GmwVhZxskl1weZpl4h4TMsDQK880bx8qMnaWjsVIBYACoOgviyDu9xcSzXzxQrLa2tqGVLSO0fuvFDdEh3SG0knEqFhwZV4+2oOgV5K8+7n+4k5MoCxTyRCUQXVzGCZH+4lJmmMpbmQx5AsfSlAz5JLE0A5EkbDb4U+FNRdD4StyrJJIgmjWsZk9ncSlDWX+slPxPpqo9K0bxur8Q8IFCTyYvUAKrL1Ur1r60poB3kkkjCtKHMtKlnq4ER9schbcKOo9D+zQspVeDVbjVSDWtV/GqkluvpqLIlIy5COHTiCaAVqHPIqSK9R66qaN4IUkDqZYbZESnOUlVrICVjCgEjkwpU1A6nQeij/IhRZAXkllEvAvJNHBbkFpJk34H30joaMBXQoaXEsIw81ovZMklxFKbmjhhzjDtCo+nt2UIVWJJNWoPXQYnuGlNz+JJ9PTfYaDzyPIauQT+CjoKfwgVNNReREaOoXuMIiFqhkVt0k9QNiRTcHVS7x5F1/NLUoFYAqBt0UEg1+R66Ao8nDz3JCvJIWMjgBpg3upHGg+J6KANAK0XeDyIhWMEKNqFj/Eyr6hPWnQddCiEZltJklGzI1QQ2xIoSAR+I/A6HA7vJNEERpPZM8kMX1zGaVUXdlCgCXiakAmo30JcuVAlgihjD3JiQSjkJQJZB6KfbHKtaMKkV6U0Hru1aK7+wi4SvHMlqzRPyjmnYqOCseIYiQ8Sem2gdxWtkkdxBNGnfimkWQMxZLVYWZawzRktIGaoIYU6ED10At5L9tFNbXNtPDO0SRqrtxq494dwKqyhCCK776gzpIkcFiQCak9TWlP9mizGxhCogFAPpoAASvLY1r1J+B1UtRyJRBNz2koAxQrVSrbjkTsdhuNDaySeNTyt1UK6MHjdh7Sy0/LYAVBbcAio6aCt5bcOkkakhQoMTsVNONHRmSnJSx6+o66CD308ojEjGURFiolJkFSVNCT7io4DYk9BSg21FoqklaU1NQtSyx8iUBP1EKdgT8gNCgiIlgRtxUUAA3qfjQ/V89VFV0hjkSoYcoxJRgVPvJYMvxUilDoLLjI313w+4upJO2iogNFAVQAoIVVDEAdTU6i0CGSQ9ZHO9aFjSo6Gnx0KJy3E08jyzSPNI9ebysZGNevuapG/w0KKwK/Kg3roTNHDyAFagHoSDQ/MH10KwmJGUGjelOgP7vhoURAZ2CgFiTQAbk/ID46LgRAG7nEAl1JHAkUNdipNQKgHREp4lQpsyOx4uCNuOxVh6gtvUHVTCNtH3bhUADKOTHZiWVa7UXf3aE4N5MbFLEezGY5FNO5R+2WoxIc0KAVWmxJXqdAoFs5YoIyrrXlz6LTqWbpT56Bultj7aOZJVkubtl4xtwMdsq0pKYwwEhkQ7VI2p00CcWzA+40UiqlBz5fAVFAPnXpoCY7AsATL2xyCKzD2s/JVoDtx2PU7GlNAR9qwSkTGRdwxIRVRixUcmQ7sxG3+/UAjI0KqXo6F2UpGw5+0qGDqPcgao4t0Pp01TxZznkbisRiQNG0gapFEf8tWBpU1613Og0JJtlZiY5HeMBlLGRVVwCJA6kBGiI3qfadBv/C/CDlnXMZqJlshxazs5FKfeBDyW4uFYKxtg26Kfr6nalQ3XlvmVv45AthYiG4y7R0igWhisYeI43NwqdAo3VNiep26h8TtMXmfI724vDFdZGbvK13cpDJNHEXbeR60Dsiiqwg8qClPTQae/wAZHh8bbZXxjMX08005YzhYSl49qr/cQSRAd62mSjUgmVg3EjrTQF4vybOXlo+Rt7bD3jWxUXUMCz2GTeKiEylLGVFkjctSoUGvQaAa88qwGdi7Gcx94vAD7e6glinvLQhq9y0vJI4Lo0/qu0gb1GgH8lymGvMJZ2NhO95PAygXlzaokx4KCkzSq3JJGVQhUKSzEmpB0OjLD4byzyDH29vmry5w/j1rEAwnWO2uZ4IR7VERRWMajYSTVArsGOg0j+N+My/bWttYWIsbXuTX91JI1terbxx8jcQ3sM0txVDTuCZaSKTx4kaDO5bzaK0jOO8Wjt7PG26lFyAhKKz0Ileyibnyd61EpDTMdyRoMJYrn8tk0mxsF/e3gJeW7MtZEeWoElzcO4gtI2BOzPU/H00Mtynh9nZKch5lmVj5UcWcVwzSzNuEUuaXM4PQdtFWn8dNEEWvkuQuq4/wfAw2tvH7PvJIlKxnb86R3paQyDc+7uyEfHReEbjxyztpBfeb+Qme5cF/s1mm5e9vcqIoe8ZAT0VYU+dNBKDyqygP2PhnjbTyk8WlkgVEB+kM8dsS55dazzEfHQSbA+WZaIzZ7OLi8eOReCOYRwxqSC8ZEbW9hFQigBd/26GC8x/5fYVlUyT5+63JSNTcozbEAoxtLWrMaAqJdAVd+WZaztjPjvGUwuNRFH3V7ZzuiVHFWKxRW9uqux2DJxJI30CW3v8AzbOWk93ZXORmsICUeS0ltcZA7ovNobdTJAZ5UU/SoJ3A60GgjhsXgMpYHI5zyIpchpDPYNPwnt0WRkjWaWeKe4nmlIqwiQhKgHfQHmX/AC3svphub9gBQtHeTRmnoWnuLJASfgtBoJp5N4nFtZ+LiV+i0tbCrn02Md04HxpU6FhaeXREBbTwpmNRutspFP4/bFjF6nQsuPluRJJXwqYKdwBbT1pXatcfQkDQw83l1yVAm8JmZadGtGIBH1ceeLICMAKj6tuugAfyfBHa78LCLQkl7W1DcjXiSTYw+2vwpoQrGW/y8uQFnwstnIaA9mORCtalmD2t8NgfTh+zQ8eGL8AvGX7bLXdg7sQBLM4VSB7SfvLUgBifVx+OgYReMZBYw2B8wMwTkwh70jAGtAv9yubpeW2/5YFNCghr7/MHGho57a0zEIXdoFhmm49G5iBrS8P4lGodArn8g8av5ez5D401jc9JJoou1cjYCo9tldjepqS/4aDsfj+Jnfv+L+TNbTkGSOCSViVG1E/+Nr5XqdqrLTQFyZPzDDoVyuPTL2cdDNdWtJJGXfkbiSGNZXZhse/Ay/HQApD4Z5BRraQYS/dmHGLjaVdFLA0JOMl+e0DbbHQFdzy3Alat/wBQ4yEMlVWU3SQqVDBom5XqKAR7kaaEj1poK4YvE/JZUZAcdkJPqgR4rOWThXlwJVbC5Y77gQP+OgYz+NYaCCcPJMmMVPu7zKXoaW9a7r20tYORVxfRhaKg2NRSorUSzObz/KKO2g79pj7eP7a1tFuOU0yp7S0si7zTTLTmxPBRsB6aHbLW1hc5OeFpIpJ3cn7axhQuo47s7LsDxG5JpXqaDQ20Md+/jVzzusUt0wjo8U9EihjY0FxZzqJo5LhWFAwDAUOgf3N35H5fcLj8ekWLxhtIb1uV3za6t7lmRZrmdQ012WmiZQka1FKcQd9Dh02eOwi/9L5TNxzR3TxXMN/BahJsdOpcwxXMwlkdGiu6PHw3G6uFDGoV2+GbNZO6jv2THlG7mUjskgtBBLCgjgyNtFe0jGPzlstW48u1KlWqSdB3IyYEoPF8BirfK391LHCJSvfhifnWWSS/kH3c5ChqyKY0QD2jahBrZeH4Lx5IrzP3MuRkjcx2yTWzG3Lr7h9rYoZWuAtf5k5CgCvEaBhdZ6W5Cx2lvLZqVVJbO4McUihS9X4xMt7OsQG7Ei0RSpIOgyeVzt/Z2Xbtbh7OZiezLJbxRZSOzkI42SEwQ3FtEGqVlVmEhqTxroMtYY3K5qZ2x1tNO7ScZ8jMaorFqF5L+YCNDTciMF/kdBrx4j4/hUN55JlO9OpUtZwt2e6WBKxdti2SvCabMywKdjXQX2/ksrGSz8N8effiBO8aGOFVBHIxxKEVmH1d+Vwf2aAqTxvP5VVufKPIIrG1YELbxTxRwqh9wVKtb2SqCOg7h20PC9bzwPBlVtLSTOXSghZDGLpO6G2KvcCK3WvqEhb8dA1Oa8yyaBcRgFxdoQgjkvAFVRX2uBP9vbrv/VibQdm8c8ivRyz/AJWLeLYtb2vJIEWnTkzWVsqhT6hh+OgWnD/5eWBP32Zlv5VoSRcPJyHrVLGEBjT0MlToPRZ/wS3NLDxx7uQVALWSTMaGoPK4muqswG+wIroG0XlOUei4fwm4jjKDtFrXsqG/iZnisoY2X4e4aC9M558aFfG4Qtesk3VenEE3qjc03+Oggcn/AJjchXG2EdC1Fe5gQBWoKH/4QLMQR1Nd9BI5X/MUMKYzGMzLQFbmJjQei/37ovwO3x0HRmPPh7pPHbaYqojLw3SK4QEngeF82zOa9K+mh6hJ5J5CIx994ZeShXCyPGpuEJIJ48Da3LEU3G5WuxPpoFdx5F4lI5GS8YezeqBzPiYFk/tvSM2j0B2ArX19KaChbP8Ay7yNexdNjnbkU/vVzb8d1CrS5W6hLcm3ow+IGgLi8XuIwLjx3yi5KliIyzi5Lyxg/lkWdxz9wB2MTBh10MOtd+Y46d5LmwscvwjpNJY1guwjUcBxa/a3qtTqDGxpsdAE+b8XyjGLL2E1teOzBnyMAkMPt2X9RshaX8cdencErD1roLIfHnjT7vxbOzwoQpJhna8smB5OEZ7dUvYEHA171uR6E6G0mzmXx8Ei5zEpPZy0plMT2JLSpFS88Cxz2MiT7Fu4iORXbQcjxHimbkMtgayqocviCtvco3FSXlwmQZg6VrQ20tT/AFBoFd/4lcCKWWxlizUFsS00cEcqX1sGJoJ7CQLfWrBRXb200Bvi2Vkjmltr3LRTT2JAxeKyNukkj841aNLfIyFZ4EehSgXjUCuhlqZr9siZRcrZ3XV2srqU3Mds0ZIkeB0kRra7Un2yRFm5Cm2gHnt4MnapazrN5CAFRrS9eKDyexhIHNrTLBUtMopZi4im4tRuPJjQaDJraXOC7mV8Xv4bq2Vv0+/S8tmW+tDVjLjcnZXRMlrE5SlUCglQVO+4NPGPIsfimlhyQmvc1e24SyliVpjc2kcbtb49J5X5iUSqUq5PJAoqdBmzb5K8jk8ivFWcZKWRZbiK5V0s5K8XsbpWobS6Sq1R6dAOmoNHg/FXS3uM9NkDirHslZbaS1SVcvZ7rMl9aysImS4oyKR7n+odBqgXERX2et5Pt4kW2sbu6trS9vLgLHDi5GL2VpPPLG1xcm0A4xcGL8NiOh0CfO+MSxSRSwCCf7lC0F5bSI+PvnjrzRZUJ7VzHTYmjGnuGgXY7MDj+k5kO0FVhLSVSaORSBCJ33aOSH+CVabbGo0DO08YfL38UUGWhgsJhK6y3CtDI5gbhJFFGN5pmClu2CCQOQ9vQPqGPx+F8eiAx+LN/er242yFyqmSUsNnVpOXaiB2AUDfQD3t1cZAv99JcKwmDi05hbXtxkL2w1uVd4mYe4mpDfu0EUlSJOQQQMAOkaEBegXu0LStv9QoKddBRJMJOe4WNyCKVUkgbu6qqCrU9AafHQLz7/qoyig6uWDMdiSBQmm9N9tDCsFRVKKAFCjlzMhFSSYIyKvGD16AaDhkVFQgNPyV2WTkEYw16xoAQW/Eb0rtoA551Ql3fkpEZFOcvNNxHQ8lD8SN/hoWLZ1VxHM7r7w/aDupdWJDECOjbHb2mhGgT3U7yyLZwgQzTRhrp4mLJa2/SQqxAqz9EqK6GlU8sVnbDinCGBRHFGoqzu2yqKbtJK3X1roPp/g/j5toZclkkUXt3C/3DMeAxVkVDraRsRRZ3+qXpQbaD555hlY8vlZYIIaW9i/YteQmt5YY+rr9u54SRzn3K4CkA+ugSxQUAFVUBGPvOxCioRfixPT56KvX04gsN96U4gU+qu1f6dETpTb19f8AQ6FHOn+6v9Ar8dEcr1JoCabV2FBsAfgNDxWT19K6jT221K09dFu6CKMpDFW2YIQGI6ihaqggj10STjC3oiravUv0iDbI8M1W4sD7jKstaHag1UaBk9irRyFYtuAq1I6lj/wwdgfjoL4eSqpdD2jKVYAKXIHozirFKdDSldAQrVk/K7lWJ4c/ZyXryLNRXFNqgCuhqw9pAepIFVJPIVPEUAJ4+np8dD12NwNwAvJqLxcgtTrxDgUA9aaApJVDBKca7NVGWRt6herCp/ZXQF1hYBisf0gAEFCrdBx/39NBTeWdrkLcW17EsyDl27pGiW+tZCPb22BAZSeu9D6jQfO8libzFNykIntG/k3kYqhHok6iohl/oPpopep3B+rcEnav7a12OiVWCvWnr+78NB1SwqRvXr/t2Hw0E0belBv0NaAfjTQ6Fgo9AVbaiirVAr1O430BESorUBotTxU9B8eu+hEio+P9Zajcj1PwNT6DQVBpJJhUIAwfgpAKyMAaliQaUpUdNBxGlo4mojigQ+3g6nqCkZFN9w1dByJHiADsZOTF4wtSFBNCoqWan7dB8zyqiPNyFgtBcqxDVC8OW/IjcKfXUGohfszQ3YfclXAbkImRWDdpSSGKGnUUNNUK/M5r66vocld24gS5QxxGG2W3tuMVPbbslVnUA1L1NfjoeslDHHLXkx6mpJPT02+OgokiKMeJ5KOjU66i1+q6kbdfx30WyXNf6tD8jt+700SidS3U1/bX+nVTh0KGYAe2p9f+710DfE4qfI3sNrDG8jPIvc4/wQBh3ZK9FCqdB+mrnI43xPCxrCsUaW8ASCHkEmuJCtE7Sn+YWbdj+06D8/Xt3Pf3s11cyAz3UvOVgoCqCaUVV6hF9OppoD8hhreyWK6tLmDKWlxECbiIcWt5R9SSxgloWB+I30Oyq1tluJlt2l7TSntxMWCRtKx9iSFjQKTocN/lZrPxXFjB41lkyt7Er5O7qrmKN13VHRva56KPQb6DE4ePIPk7X9Jj7uQR+5bDirqpXYvLz9gQA7k6HjQ5a7vXv5v1p43yMARJeyyGKJaV4RcDxANd6b166AfCYS88lu+2geLHW787u5PRI61ZEalHnZf/AJkaDXXl0+bni8O8TH2+JgAjyN9GKp21Pv8AftUEg+tXb5VJLyMuZxjuHhnh0aSX7qRf5BTX7UEASzSSr9Uxr+zYDfoTp6eaz8ItYsXiIxkvJsh/Mf8AmS9x+sk4BJVKn2rXpufUkBYbOz8ViOe8ikN9nr0s0MH8xu6+/ZgU9KVoWpQdB8CNJwYybLO3knmcqWePhHdssSzlIIkG6tLGTR5WH8O5J6/DQeebJ+Zt9rjUkw3jEZ4PdFe3PfxrsVRRssW3pt8a9NCU2ytjigfHfDcet/kPonu1r2Ld/pMs1xQ92RT86V/doqIxuK8bUZnyq8OSzL++KOUmVi/UR2sDE/STQMQAPloixo/IvL6tMT47gGpSEELeXMY3DSyUHaVgPkKeh0EY8jg/Hi2M8Yx36zlgeMjW4Msav053V7uDRuoBp+GhKM+DyeWX73zLMpZWcfuGPt3EFtCD0EshI5kUp6n56DtrnMZZqcf4bgnydwh4G8EfZsSRsWe4b3y76D15hfIchEbnyfOrjrP6vs7JhDEg/qNISvIgfHloEb/9A49uzBDcZi5A9ogWW45yegd6qla/AHQ5N7a+8nnCR4Txqyw8JAVZrtEEhHQNwop/oOgOOB8huA8uc8qNtCoBnhsuNqOA3IEjceNPiBoBGx3gSOovMvPflvqMl9eXZNPisbEUroF88n+XCPx+zYRIxrKLOc8x8aswfQCvkf8ALtTxjxzsor7jZsCR8fdJXQykt/8A5cuffYyoKf8A0m1CfnxkJGhFFbJ/l3c8OD/bGrc+UFzHtvTdWPXRbJJg/GLlW/SfI/s5jQdpr2WEOPgOfGv7dEERYXyi3jZsVmmuoITUrJ2rlQPnxLllNdAuuMjloA0OWwttdDkaz2rG3uAfiF+k/u0Bh8/t7CwjtMbixbXCrRpbgJCgP9YrGAZXHx20Gejl8n8wmESST3MVfc7loMfEPnxFJCPhudBtbTxLAeORJe5+5iupVFeM9Bbo4FaQ2wNZDXarV/DQZvyPzIX9vJjcZbizxjUD1VUeQKf4EXaNGp+7QX+NXI8f8fvsuob7/IHsWigLyox4QleW5Xk1ToCfIGiw3jNli2UNkcgfur2VgC7PIe5MxYdas1KfDQfPbOGS7uIbO3TuS3Eixxx705MdmJ6qF610BbNc524lyuWlkGNhdY55o41iWZkC9vGWCIFQSLFsafy09x3IGgpkabOXQUGC0sLGEBpQAlrjrBWoiB3AZmkpSNGJLyHbaugoyuRhbs2lkGXH2igWkBHF+bCss05VmEtxKxq8goSKLtoLMHiEue7ksoTHjLORWuiWVJr6d17kOMtFkKrJPOi1YVFIq7gkaAXKXq3V200EcMLcgY44IoooxAhKxxsgWJOyiUVQQXam5NKkYU2M0Ed9HPfoJY4yZo4JQwhurpd4I7hkK8LUMdwu3EUHWuhGF+Vv7u7uZLi6k5XJYlloeEAY0YQRMSIo1WiRDqEFTvoaE4CXKxX3bxAWUtVrq1n5HHzWsS82kvkLBUijXpIKPG1CjBqaAvyC6t8tfrewxCCZuENyFcyzswiVwJpGVRciJl9kzAO6kCSrDmQZxRLibG3uYmpeZGOX7fmrRzWtoVMc+SkoeLSS1KRVoGYj+roMZkrgBFgjPEbLxB9qRrsqH9g0PCYEeu/+75fDfUXpcIlZeQLE0NQAPaRtSnU/s1UqjwZBVlbj0qB6H8dBwFT1O9QOPRiD8D9OgOF5bxbxWymRV9ncp2kk48WlC7mRwa8a7evpoGtpkFK8omRJhb9lll5AglZEF1E6glJkWQJ+WK0FSCK6AmykUTTOqGWPnFwt5GBjljWMRgXHcEqzRhkJmqrBkFSoqKDhReg3NhDDbW8HZsVnla4RWWWQSzNcPKQW7cCNtHGGBLiOgO3HQZsgU5cSAx9hLHYeij4n4nQc5rWror7U4glFrSgbb56FHmfnQBFWi8aDoaGoO+4OoUoKmeBoIo4SzFfcVAY9vYGRmJWu5+BptqgaOZoSeBAqCKlUc8WWjCjAihB/fqLyYWduHIR3eNWYMQCwO6njGKAsXYAdOtabDVQ5toFmgltjaTTX/cEUUsTLxhKSKZnohJpFEOPFyY2Yn4V0PRFzlba0L3OKtT/eI3sg08adoyRcQt2BG3CSdeJ4q1AOVSD7dANcXC2uLFpBPBML2Gl1cW5ZuMRnWV4mM6o6XEssYaRABQKN9Ag42kO4LSOAOKutSWNCKioVQf26C9DAWIdfzBVecS8XWoB5LsVBU7bjpoALjuPKWdgzSGopQbVoKKCeCinTamhhUQanqadSK029a/Aai2/0TaKslxFHNMII5AUM8nIpEKEo/tV24q4HQaqTwZvGpFs0LND+QkhVGUIUQshuk5O5iWQoWk7gFGrT2kaAWWNjDG0gAVVfhItQZCxBDkP7StTSq+nXQoWe5T/ErDrWoI/2jUXNzzHQyt+TbxSS38/EQrFUy92R1WEEb+yH+YxpsaEnbVZRiIs760mWYSCC7AEypyjkZXHclUSbsWrsT66LkLPcy299cSQl4nLSK1SQzc68jIDuSa+uoKZJbq+buSyNK0USxguaBII+iKeipGD0Gh08kIVg5KuFUMy0NA+9UNfqCih/bqrKx3jYy+7tkhShoSO4divWgRY2JrudgNEEOiwVBLkKpDc0ZWQ8aMPxXkABUjfQKqkE+vXqAeu376ai0R0V7QSoaV2P9OiVjDwYqQymhHw+HWn4aLQdHYZC8/NWGVwQtHflug9q8QfcUHSoHEaM1+IyWJjbt95ZZ+RVoLdGlcEfVQqKNSvpsdFcNp2ZZobotC8SMSopKwk4h40btlh+YD6H2+uhUFoq+34c+b14p7iB1IHWldidEmWms7OR5Yg0Md1VouUM1TAA7o5edlKiNWX2gVBfelKaqcPXmFt7e3hmuCsUl3NBLCbYSzKthcF6zyxqoVDEy8FQVZm+A30C++tMVG5OLur6RQylReW6ROUrRmDRsQjDqAQPh6aCmFdljKgK0hIYnc7EMWam5A0Fs1oZkYu5M7EuGPEIVSiKrKKceSUI2qdBRZKsT+8fUCrLU+4KdwWFCgZqbDfbQO58VKoikF9Nb20yyyRtJ3SsacuATbrJOAeI6kDc6BbJbtDLMJrsO0a86bUYLQDmykguyU4gEn40OgJt5WjQksIVkYxyM0n1lgC8MxdZJ+LLuQlK166CD3qxsZTIiOykwvEGb2sWTkokWlKA7kHb56ABb1mYyTLHcgsC0b1Tufw8fywAqitQB+3QcFyxV+aMrlhw91EVSakADipoNgCNuvXUV1qBQ6VqONJB/DT+F9qHl13Oqi9hO8cd3KpEc0nuctQs619zfBZF6H46D6x4R4mcrMMtlYHbGQoBY20qlEvnB5q7RtQvZxUB920jmpqBuVsfMvMIvHbcQWbRS5K5QdiB1JFnHxCd6ZerSV/lqRRuvQbiXyfx7CXHkN/N9zc0CuLjIPzVr2ZpTyEEPM0kuJT1Y1SBalt6DUGrz/klnh42wWGhtx9mskdxdUP22NJXgxsl5KJL5STzuJOTs59vpSpdisZlbzF3aXF/bXUmPv7pLkG5hlVJrgMCl9bTsvH7xDVgylupFN66B1k4r3x/JT5vHsPsLnsnIm0Ze1JHdvzaVYt+FreNVSAaxyVrxqNBmsxb41JBLjri55MzSEMeCiO5bnBAsZ9hktORU0NGBG9QdB9K8d8awmEitc1kshDlspRZrW0tRHNBb3FAVQpCjNNeRswozhUR+gJFdCxvf5e7vnI7ljG0nchEaXMrQWZALC4ub14JrODJY9ixYlgGWh6AUDH5PK2VhSNV+8ljZQrmT8m7lWiyzT20T9iWCcoFYA/mCjHrTQ2niPBzdxnN+STtjMdz7ws2bsTOjkyM80j/AOBhmJ9saK0zDoBsdRbnU/lC1jwPgWO7giG88dt27aEMOPcRZiO0ytQm4uCzMemqmg0nj2Ox7HKec5kX9+V7gx4mklL1q0cTD23Eyuw2r2oR8xoJJns/nVFh4jilxmNBaFLwoIuMe1ONwi9uGZOJoLdWb41OgofAeOYWQ3HlWXfI5Anuz2atIztI/uXlbo/dk5VqTPIlSPp0FEnm7ER43xfDwWyyyCC0MsaXF1LIx9ggsIVEAk225K5Hq2gyHkEubivIofIJMg08piZjczLIiW7yBXa1iilkt+cdTRSV4n+HQ0+rYjKeKWlkJMLZvGka/mSS2rC6n4p7mN2haWecHdvzIlofaD00AeQ8ssmUPcRvPBY3KzBbGWzljvmnt5F+2uQ4Nce4cF+7yJdQCKgaAA+V5LNxjHQYSS0w16ftZ71rS5vUg5qQgDW8MVtAiygEdtNqDcHfRGIx8cYzN9iZHW3TIJcRwzzz9iKGeUMazt25GkT7mM0jqpJYVNdFaXHZXEYm1lth42b2/sAJJ765a3710H9wuZVktrg2sCDZQvFAoBrU6AqDzHNXsxhw/jlq8qRIzpb9+5aIP9MsrQNBFH3PQNSugO/U/wDMSRQVxFpDsVqyQc996sJrxiCPjTQ9c+6/zIK7WlkK1+lcfyp0IJM7BQT+3Qda8/zI99bCzq1N0WxDCh6Kfu1+oaDxznn0Q/N8fWZRs3CF2VhsAv5N23IqOlAdANL5VdUZcr4UGAYcj9tKKEfVy+4spl5EH49dAu/WPA7zkl3gpce7MeLW6Bachu0htLiB9j0ohpoJphPDr5gcX5DNjpyxKrcyKCKfS1bqO1YA/KU6A/8ASPMbJVnx2ZhzFuisI1uX5qyK1Cka3vetnBO1VlGgquPKL+BFg8n8Zcwg8WkeHnbvyBDFVu47u1G+4Ecifu0Ai43w/N0ONuzibklmWNZhCvIgH/C30klo4b4Rzx/IaGxqx+ZYJkEEiZ23hWsNtIkhvFj6kxWtx27wAD1gkkHw0FDZHxPPyGHN2b4fJs/be6YGxaOQ7BTcCMEty243EbinVhoGC4TyfCmP9Jvos1jTvFZ3bRxMVG5a3IlMLsi/8S2mDfFRoLT+nZ+xuLvIWa2MVldRLf3EqA3kcsfItBZ3cQV7yachVRGq61qXIOgQ+R+V8oftLeKKC3il4WqxMLqe4jKKqhWmgDQSEijyIQW+npTQZXF425yV7F3ZEFzKSUM0ix2tnEtSWeV6JVTt677bnQfT3u8P4lWwxaR5LPXESxq0jp2pLppFTs3VwZF7MKFqrEtA5oGO+g+aXaX1y9xdZNu9NeM7yRxsturzQ+2a3VIx2Yft+PGQgD0p8dAfYeTZVcHHY4qO3tBacoZruJZJL22tZ5QxEUxJlitWlNWoQQTUFRorL3KyEEp3OQkPdlkUiWWVdzHWpEXbJrxBJJPuO40QXcXtxdxwPeSSVt7T7ZFWVUk4cucnfbg8hErHepLFuhA0Guw3hmXuoVyVxdr41ZwRm4inYSLc9sJWS67QaJxEQAeUrhmH0gjQ7MLfMQTfci6yIklteS313bzItzk4xIYoru3huFCTQvCBs1H47GpOwqUHKZDJztj/AB22nlBZikioomgUgKwN5GyLHaDdjHtHyap3A0NnsXjGHwkaZHy/JLdXJXklgJJWDChaNIkBWe7ZiKblIt/qbQXpnPI/IVFn41jhisclIkvaLCYYxUduGZUS3tywP0QIX9N9CUZPH/G/HS135NkRk8iQJGsy7PNI0g5gfbc/uJeRHWZ4kr6HQTh8iz+UU2/i2EisbFPy47yZEEcI+nnUrFj45vgVVmX56FFUvi9rEfvfMfIg8jqXaBrllkfh9ShpllvJmFRQJGoNdjoS5b+RYWzkNv4r49NfXYHFbhbdhITQCrsfuLxlPqS0Y0B4Xz7KuS89pgo23YQqrXYU7VPaF1dbDb3MmgAm8b8dtJGfyPyWS6uFI7sUl5GnI7kDhA19dEb9CVIGiopl/wDL/HOUssZ+pyioiKWb3BZv4aS5CaR+Y+Pb/AaJQyh8lzdwAMV4deGMUAMgktYwQahQY4rRfYvWh3+Gh2m95/mHdcVTHYywC1YrcXFs5Ifarpc3M70r8B66CbY7/MGYFnyeItgwB4wotFVBQughsmKD4mvXpoXRXA+ZglP+qY43YcuEcEzewgjkXaJWRdj12r89CPjp8e82YEf9UtIFbnR4roKvBQBusT0QL6UofnoONif8wYvcmYsJ2aPZnqGWPY8QZrAKoPUg9PloIc/8wrf2djCXXBiKRtYI5DbNGWElvIoJAJApUjQS/WfLYgRf+Jz3KVUSG1uJZ/oHQRCS7QA+q8d9ChTNmfGJz28547NjZpGYGSXGIpVARxQdpbC45OKnmK8TtoK4MN4xfyIcLmZbG6kqqxRXpjkQsW4Fo75EI2Ucgs5IPSo0OTF7TzHGgRxZS0y0Cu8ipko+JlZFpIIbq470RCx/1LhSAfTQVXPkVsUjh8l8cuYI6itwVjydo+xqYZpjyHOu3bn2HSuhVRb4Px7Izxz4DLyWc1etjcN30eh+uwvpIbhebe0COaQehG+gslufK8S0ovrcZiOJSj3liXtsjbpwor3EMMUdwxWPcCaJ4qnckaFwyW/jHkbF7UpZZDkSotnTHZNSEqXa2amKyE3drtE1u7DfrtoL5JPIcM397jbyGzs1V0urcz2Wcxq0qjTMgGQiRFb1MsBUkVIOgomjw3lridJymWcqiXEMVvaZRiQTyvLON0sMwkb/AMcJguQv/DemhYD97k8HwjywOQxiyCKPJ2B7saywgAQzI6Ry208YNSknCVWoaU1BqYL20ycP3UUj3bU/Ou2V+zbsN+c7xTBg0C7RlQCKk8SAdUuQSRfd5V8lcX0MOOvLY41b9nE8M08MkZt4c+0FPsebbpLIvE03IO+hYnzOCnspliuo/tJo5e7azQu0mxBZDbj6ZIuYB5AgGvx0BWL8heC4P6mY7a9k7cMmRaFpsZmIIzX7XOY8BVluKElLj23CEDdhoNPk8hN5nkUweJkAxECLJeXKj+6KIwAJ4xRZOEXLtpFWjOPhXQoY5nLpgMWmK8baGW8tKxzOgWd8TbRlRNezRorrLO7MTK6hjGtQBtoMXBl7qzuLuDIJzvbo/eXlkjq2J8mt2G17jZkXhY5MRe+KWOiy8eLitdADm7KzyTJPYnud5UNhcJD2+VuyKezk0Y1ikDt2wegKkgkHQBYrLtZuuKyo4Q27rHA8jMn2zJIXRJZYgWCJJUxTrVl+Y0GqvchcqA80skscqPGmQ5vJEwqJgLi2UDtXbR9XSiyrRkCmoAlVZ5JZPZ37eKVKokRe6FrcCQj+W067qCRXkyktU76E2gcb6SPYqW29q93nG3D2+xSB7vgQRUaCcV5M5DSJTiQjAsOVQDSgB3Su1CN9D15p1qq8ZQpagowIR61ZgFog5t6enpoKGmL+zkwKyBwxX2q4Y8nU1DlWGxHx3pTQUSAqTIAB1HNSXZdtiGYcQAP4aCo6aigWMPWKSUqze0LugLkchAGKsEABLVNPw1UB3d2LYPHH2pWlIihjih7DXci1KvKC7H2E7nYAaAKCLsIwZ+U8pMl1P/Wem4UnpFCNh+FdA18ctoL68t7657chaY23j9lK1FuLtSFkyd3xqVhhP8ofxNoeNj/mJnpbSxTA2ki85QkeTePjHJVowyQkAhys4qzECnH130PXy6BFot0rpPcyxPDeRXMLMsKqFWGSylL8XYKBSn006U0OhpilbtyNwYyqXRQY6kJVWJiU/ldNgQKjcaCJIFBRjzNSd+I22qa1roImpNBuT6dPnvX11CqFK+m3Wp+PT8a00M4c4+pH9J0LwiUr01Stro8GHT/f/r0HKsNtC6VtcGCerSyojusblFWRveawuQfdRZPVdxXUOWuR2lQOsrqrjg4ZgVZl6qwPIip3r6aovQNyLk8gqkKQ3tUAbhq7SU9CNASrrSPgzI5UsZRR41A6IQ1QgProL42aRWJrx51UoGVhTqDWu3qCdC4wTAMEILHbjyClWDfxK3WoOhhaHo5qQwpTgpAYDfiG2rT56AhZacRWu5PFvpHyBpyAHz0VcrgmoA5IASgoCWPrWlCNETWb3Sc+w6OhVoZgWt5FYUoYqH3nRWWyvj8Yf7jEowjYFnsWqZUA+p7fryjr0StQOmiMvQhmVgRTqGqNxtQ+tQdBIMRQjqNzQbU+G+50E1UyMSoqae40NBt6qBtoL0XpTkw/CgqP6zeuhoUpUpyIq5qoVaVHwLMOg0F0RoWPAEqpAap4j4gjeraDwEQbkymNWqrNXi3I0oYySFPz0BcYk4M8ZVo0NAXeOki+ienuB9PTQnAMlg6MrBeTcyFA2+X7D+zQfM88p/V5ag1aSOoG7MGYf0nQbS+s+5FbqETge3FGpVw7MQAqtHuOVTxAG50GX8jFzBLaWt2b1ft4jHHbXj1+1FQTHFGKpFCeoHWnXQtlnT+VIhXjwIBO1f2aFHbp1KAhQNxSgoP26GUbazE0RmeRUWpAFRX57fHUWs/4HlgMdWB5IDQMdj+7RaqlV2NFBJPw0LLYxIH4sCCBuKb6JPx99/y+8bgtrFM1Jch5r2E8FjIKRW9SGV69WLLv8NUZby7ONlMgYI3D2OPLRQUKsHkG0sqyKKkbUH4aIzd3Y3dpHbz3NpNbx3Sc7WWRfbMg3qpBNDTff00FUVyyBhyKc1pJxPskX0Eqg0YaAq+msZRA1vYtZsqBblRMXieRR7Z4eY5IW9QdAJ9vcyBZIbW4mjlcIsixOwklJoFD0oz10MvoINt4biSkbJJ5LlIqySIyn9PhYfSaVK8AenVm+WoVZLE468z18tjAObu3eubqQFjDGWHcnc/xOxOw9TqjeZS5kiaDwjxMlmZQmQuoxQrUAzF5V/Grn58RoLbmb/p23tfFfGFE+evdr26UBniLD3yyGhCEDpX6V/ZoQvmkt/CbCLGYwDIeUZYgSyD3zd2T6pH6sqIxPEHb1ProUUxW1t4XaPlsq36j5JktoY6mWUzyb9qMbsFDH3NTf9w0FkFgLJG8v80uFa84h7GxahS16mKGKD+KY/0Hf4nQVR2V55Y4znkbfp2Atqy2eNZu2rRqK9+4J41DD02JHwHUJNeZHyyRsV4/yxnjluO1c5FIzG9yiji0VuKDilPh6dfhoPLlbPC8cB4fYpkcmCVmuivKCJj7WmnnFO5IG61NB0+WirVsMb44f1zy+6OUzFx/KjYd1w53WGxtjsACaVoKfLRFYx+e8oM1zfzTYHAsKrj1l4TTQrvyuXNBECo3Hp8NB5M1YWC/o3heLXIXSjhNd0K2MLDbuS3H1TODv13+J0EJsDDGEy3neY+4pvHamQx2iGlRHFAlHmI/DQq5DnsrfMlr4biVs7KOqffXkKxwFegkijoKfH1OgqucJZQOt35nn5b12PL7dpmjtw39WO3jPNhT4ADQU/8AVmJtWW28X8e+4ddhJ2O3U9K0jV5WB+LU0J4Xf/8AQ8yBV4sVBWqhQkTKrelQJJSAPmNAFdeIRokk2b8nDSgFpFkmDb9TQSylmI+FNAAuP8TtlSS48muLin/Ds4isgX5mOMnbQaKxsfChGl7BDNkJBUpBfSkPMfiI52VS3wqNAtbyzx6OR0j8VUBWKFe3aci1aAUAapJ0BF5l8VbJG994XLbCUBozwtGBU0JLKtGU/I6BR+r+Izv+dgpoo2rVkgQsD0H8qQbaAdrfwi7qFnnsXI9vdEsag/CjB1/p0EofHirM+Ez1Kj2iK4AZvUKwikViP2aHSp5vK7HuJOBkYjtItzGs5NNqhiFkXp6E6ChczipHt0yWJa3aOVTNt37aSP1UwuBIKn4HQseZLz2OCFbXx+1js4YxRZ3iVAo+EUNAP30/DRWCeXJ5mdpUjvcncMd5AkkwBY9FoCiD+jRGqxn+XObvuEuRkjx0DEVV/wAy4K16cV9iEj4nbQabK28Jy2HwFu6T2eJiF/clYQ5TtCkaSlOgY7kaFC6fAjyiPIZ+edrW2id4bK3tyPfHb1Uy0mIp3GBIUUGh2ReNWdrYZqeea6MsVpbPNCwUJIHPUOhNQ6gemhBLczz5y5ix2NghsrC1j7cMULSC0tLOMtyvLpmNZbiSpLOw7kjHiKnQUODfTW2CwUEk0TyJ2EFVmv7uh5398CAE7KVop9kKb/iG1sZvHvH4/wBOSxTPSSMUzGUpEscVwrojwWwug0MtnByNeXb5uPqFRQEHl16jGCTE27xeOlKY5Y0MdrLIWAvJGVmNzE5uhxYSksOICniQdBncTjDlJwsjx21vBG91kb+XkUtrZRV5ZCPby24wxjd3oBoNhJl/Eb1BhzjZcdZBRFbX9x2m/NG8d7evFAt7ZyXAoXKPKqClYyKjQZ3LYKXFXCSXPeucaskTCaN4XuPtp25IJGUyQVuYQTBMKwS+lCCgBjeZbBQ417PAQ3MbXjq16L5V7saQtWGGOVH5IkZ98lfY7bDamh4Dw9gszzX94zCxtAZpSdppi9AFUk7yXIoApJHpQVroIZnKyXMs93cKEll7SdmM+yCGFBHb2cZ6cIE602LFj66DJwB55mcBGbkrCOQgq5JNF4sPePloYFXFm/2RyFIRCl1HZAglJJJzE8spVOJ7qxBAGao4ll230C5QysKEn1BUgVFNqNX+jUWaDI5kYFJVA9vR9lag+knYrXqNVFU9qY2IVXUgBjG4qaEA1RhUOtDoQEHUdfwHX/Ud9RrTtDtuPhTbb1Fem+iDLa7e3YlQpSSMwSCRWkKxuRzKMpRwTT0NabHbVSlDWXJymwlsrN7lLKaUXWQgWogeSN2jtXLmsgj99ShPBXO2+gTNBKYo2ALIC/FQPpNatT4jauhEhdRqtXfw2/DQGW99LbMzIiFnRkZqFWKsOLA8SAwI61G+iTEhFNCD6qQRUVXY+oPUV0Jhp8aiRxxzKBdXUzuGsoS4uILeIDg80joI0jupWAorc+IPTVQVJeJDJJeXUBvJrpJk5F+zHcXRoUbtIE4W1mg4EIQD8dzoM/NzEcLOYy6RqqxKrKIOB4gzxkANNOvurvUEfhoBecjU9zVBJHGgqx6E/HQXgIkZDLzY1Dez3hqbUJ/gHXQ5cleNe00IKUjWtepck1YGpPFx6emghFdGBw6QxO6xyIWkXnVpNjKFaqpIg2BG23TUXloJLE3UVtdoYkE0JlKF1IolRXuMQAC6EFWoVHxGqhdlo5LUQxdyJg3vJiUooYoA0ao6JIFjrxJNQSKj46AaznHGeI8xNIii3KFFHdWlDLLJVxGsYI4DZq0O2hJheCEfbiJI1lnMlIUn+9jeJe0tvAqxKGMr3HIqwNKGn8JqPC6Je64lvOaw28iRzyGpkBqQsAVurAgk/AddBoIHaC3uLi1mjhgntWUzAxqbe4vGa3Hem4NNRbZn9qUILA700CzJMi2tlCHbvoiyFOIoiFaqolrzVkAUBKUA3O5OgWGVribnKWlkfYuKNJJK52dy28hLdT10DgYa5UKktwiTtHK/2ytWRVhHMrMHCpE9DWm5A3+WhouRUEDEkmRnogrVY4t2dmpQtI+2/wANC6uONpCaMVjCtMa0ozilF3+kldv2aDk7PVakBRUooqoB6liu4rTQCVFd/wBpFdz61/bqLfSJ66LXT2gkpCn3AkeoGx/Zokw67BixUUr8qU2psPTQpUytpXnHbpKqBAvJZm/gUFgeRCsSASF1UN1hjr9vFCLBI4Yzd3ZkebuB1YljOKN2pSvHtICOWgRTLFHLMY2EkaMqow9nLkKgcVJK03H7N9AEVp09dx+B6baixiguzhEsyRkgKwZnq/bHFAS4L8W4cgKDb11Ub5JrgQsDaqzXF5FdPDEDbosEELdtIUIerVBPJ/7Wh6DgmOQvbS1vLeBbZEkW2hhZoO5JcT0DtI7OXnWZjSo+laUodDIe8is8fHcWy2txNxjmMk6txmSdXKxPLHIpSSJfXjxFPTQZ5WV7jgoIWsZ4cWXixVDJsxJBDVHz0BrEGJqqqMJE4NyZig5kc3PVSi/DQCwziFiWha4Ku/acHgr7kh5AakMTQ09RoQvSXKX3ejhDSLMY/uACSijuAQhv4VjEjbBdq6AGf+6Staysk/YYVMftAkFSUbpzKOaE/LUIgI0juQWPIk8qb1qetAD6/H11T1NUuJDVVf8ALUkKzBeCLU0QSEEgCp20JUNyBqwIr0rWh+NKbV1Fs9U1/wB+/wCyp0J5XRuwBStQeo3p8iafCuqj6r4X41J5A9pcX8JTCWTkVJob6dWBFpHUgmFZKdxqenEbnYPqPlnk1t43ZrDapDLkbiIJj7ansjSpSS4mj+lbeD+GtOZFB0Og+H2+NzOVNzmZLW+yDGRnmvBBNPGpFS7B1VhJIqjoNo1+fQBLhL2yaK7tpmgRHaSExShHJ2DSqqHkfg9RTQbvxdvFp1myd/HjoTbRiae1ui1xMlzHycXduZ2XvSzkErHxdVJoae3QZzyLyS7z/OFVMFgXYw2xLNJK4dSLi7MjMOcQWihePH6VFK6BRa5e5Sxkxsk1basiokp+iOZSk62ycTyacGnwB3oDU6Bl474tlPIpkhjAtrGBx3714wIoTX6OKtW7ugooFBAX6jQb6DQXNzhfGrufHYW/yN5FcSCLLXTyQvbRklhys441jje4iJNCzds7ip66AY5fIX7rhvHYbiQTjthqu9xcpQJI0okZreGBqVkbdabF6AAhoYbHx/wZEvczKmW8hpySzgaJ1smKghiklBGVrTusK1PsUddBBcXnPKgc15PdNhsFADOkALQkwruTbwPyMAkB/mMGleuwI30HT5EqVwHgOKPuVQ9+sVJif4pnM1RFSg/OmYt8ANhoOHAYfCVynmeQOVyTOkjY2KdJXPIkM0kc0sc13wA9xYqgHRW0FqZbyjygfbeO2a4PELSP71OcRMYNOCTrGskgVRXhCqr8ToYCPjPD/HzI2YvpM9lOTFoE/vA71ASrRpKLdHZt6yPI1Oo9NAozWWtclY22Txlm+LbHzMsL28MaT28kDcibe/tooeP3NqzAxtUBkBAG5IqV+Qzz5vH47KTtC881q0VwIXDy0sQI1u7oUXty3EUgpQe4poUKcC0948mM4T3Utyot4rWObsI0w5NFNu6xu8DLVVf2mvpoPo1j4k+FEsl7krWazuzbtdQLEqvZXNtJHdR91JWnSa3t3i4yAfmkEkKRoDZrrznyF72LEG3x2Mjup7RLhv7g5RQjiKQoZp1WONhugQcTvvsB4+f+V2SWN5BcJcwTzx9k3clqirEJiTHcKhR3QlJ0BqN2D1NCdCpiWjTMWk0SSPY5/Hrj3PdFrAr3C0MbiERRTRwyIT2+QBYAcqjQGeN4/wAqsZ5ocSsqYm8uiJbilpJFE8FYLma4imDMgt3QgFwqj0qdDxoBhfObqFZpPJRDyUl46sscXB/bF9xZRtBJMF91BT2+p0HT4x5jRi3lwAYAs33FyFOwAG1PT8NBUnj3mB5iPy2JiePIG6uSGFPaWNHC7dKDpoi5MV/mJbsDDmLO6FFb8x1kA6qKd+xYUP8AToukze/5jWgCzYyzvlCEEwiAEioIcmC4t3Z/2dNDoDP5PdovHO+GMyqGDu9uzIWPoHurW4QIB6c9+uhqhYt74Bkwwnx8+Jm4mjQdxF59OLNaySIFB+MWgJt/HYOfe8V8rKNwBEbzryNdyjdgwzjf0aAjQErkPMcQTFkMbHmLaM1lltCXlCMDy5i3VJWLf1pYGFfXQ9KxP4bnmZLqH9CveQUvHS3CvXdXkhjNqzAjfuwJ/wCLQGDFeSYZI5cPk4czYsQ0VtctGyygHbsmR5bCZ6Ch7cscnwFdCR9r5rZX0Zxecx0tpISYp1nkLmNgfcBb30UjhGrQI3IgdD00UztLGzxwF9j717fDDuPkYayPYyQy0SKNLKV5EiyDysoiERCk9QBojD+R+QiV1ZY1gtoJH+wsIuNY5i9WlkUKVlvJnJMshG52UkdQT4fD3+ZyCqfffzlpGZioisYQauz1NFoW9NwdhvoNT5LY+O4XHyYsF7/NzrESVkcNAUYfmTduUQW0SxVKxFXJBqxGg+fPZySLyihlYgqUkKSN3ACRzaZwAsYX6QDxO59K6DV2V7DnMfNBclYclZQIsxRuMl/aQARrcQx/lQpc42JaMgH95hqpqwUgM3DFcx5Hs2KtNNdJJZGG0DsLpJ0CHsog5SRzIwPHag603oH1TH+C2OJtTkPJJhcXTFStse7NZwM3EGLtxOhv7ygAJLLGrf1qaDptvFvGjJnrqzilnuLqT9EslSZJVKUJR8dOZLe2uoGJDS8mUijIoY6HLCZ3ybIZmdjfylIUYSQ4uF2Fuh34G5dSTJK/Kh3LtXcjpoTQ2wfg1xcwvks/N+lYw0nImZYp3jNDykj2itIf6vcBkIGyHrop0c+WP6F4HjOIH8y/WMAhlYAzpJLsYnUfzJ96dAppojrYTC4Vhk/MsocpkJDy+27j3DswHIRiIsJ7gDoS/aiB9G0MrEy3lHky/bYCzjwmJ4tCbwjizR+5SkUwjDe5aflwIPcNCgY2fh/jLGTLXL53KijNApW5IkNdzGXa2i3/APOd3A/h9NASuR8vzwjjxltF49YOH7UrqVuXipWsI7bXJZV9YY0U6ACXD+PYSVrjyHILlLhizPE1xJLdySH3V+wt2NAzE1NxcJX+rodi08kvLmHs+K+PNBaK1TeXscEVmq1oAEQW9psSPraU/idQXTYPyC9h5+SeTfY2bMK29oY7a36FqGWT7SBzRqDislAfhqhYV/y9xEfLl+q3KEgq3fuuT8qcqSG0sgB1+lgdAdB5byXt+O+J3EgA4mQRCKMmlFYLYW0XCnwL00KihN/mLkCDHZ2WLAUAGZ4QQOQ5MfuGupqmlD029NAR+h+dz++58ntrMM+y2ySGjH+FCttCAp9KGmgpk8OunRnyHml1xJq4LCNGYEmp796oJqTTbQDN4XhlXuT+WXHvC8mNzjw3Fz7VatzIWDEV+A+GgqTxHC17kXmNwlFb/wCOLXlwFepF2lFKj1XfQEQeNSAM1h5xcRlhRvz7cs9NuP5eRrxoPwOgjPifOLTnJjfITleALPHKyr3ETdkiM8c9u8xr9LOK10EWzflEAL32HuRUKeU2AjkVGBHLk9vWVoQd6ihJ6N6aFFdx5zaMogvsUZGNyZLmK3kmjE0XaZQr22UjkSKF2ILVArTbfQ8BxjwTMuqcf0qR19zOXsRG43aQMrz2LxhQTTijV2A0BcHjeSsx9x4z5FOYuThI6rdQGgHPk1k8/bDKduUKmmh6gcxnLGNlyeEjvLcMe5fYR1h6H8x5I7dWgJb178NPloAgnime/kSRW16wUGnDEXZcD3IrIr4i6kqBu0duSd6jQ2YmLyXFNwjmXyG3jCrFa3/ct8jGjJUHH3CT/mAqn1W078qfToBnufGs+3YyUD4vJq/FvvP7pdxtQcSt/HCokfnsEuYmNN+4N9Da7h5DhTEixnOWVuZJUtZUNpnrVXo0k1vLbv3LggbGW2kmjYfUNqaAaSLB+UGR7VJLbJKOTiKOG2y6SGgJmsa29nlolY7unYufWj6Dv6pkcT7M8Eu7SVfs1z+PjjuRIIuIW1y1vOnbujDxAMVzGs6ivEg76FQ9zgbC4DXmLv4saJqKLiG4lPj99IygdvvEyTYW4JfiI7oFKmiSnpodEvZyfjl272/9wu4wbe5tbiEm2uYmQhkuIZRJHcW8qdJkLA1roNh43l7PJXEWLMcSwPIe/wCO3b8o7R2Cu1149fsf7tDyHJrVm7ZU/lUNRoH3kSYxo6SYizvMTD+XeS4yOZsrju59FwqcXiyVsjUEwUh03NDTQoykt/kPEIobzDtbXPj2SaIvkLSNZyI0DxloHBQJOFYko4PB1rStdAiGNbux31hmJJM3JNPe4y5pxtszaxHk0Vud+GQgJPetpByetVJrQhdicHe593tnjjijjunuZlLFocXHOe9O8bKqtGJJeTJGtKMxoACdBuL/AP6dwUEWEgtsdc5V1jMVtkmkSa8SJR+XcXsbJHjrudWJgIDBTQHroMRl8PZXloL6ykuhGshtSl0n96w92FrJisorUl9rA0Y7MvuSu40CvCZYWEsmIzS/3c/kVf3Iimvbhlfcm3qawyruhPw0D/8AT3jaCGSYXlu4E1rKyKqScQQY25B2jlhFCy13PuG3QJgHbl3Bv0Ygii9UNahQP2baC9aAGRo1oOShoqtXb2lo/UU0IeDMSFQliDViWArWmwOwjdR0+GhKlyCWVQPbsCAwUj+MsCGpJT6T0+OglLeDstFJHDyZq90F1lljoCFIq0ZQfEb02OgTvdScZTIJOUJYhwtEMci1cKAQrhAAOQG/roFtsGkpdyU5yKVgWobswHoVbr3JSPcfhtoL1tJ8nPFirXgJr3mHeSQRpFaRANcSO52UUIWvz0GnzuXs8Tb2K46Cztf0ySSSP7UrNO96sH2ydySrKsRBLcem2g+Zxyz39zLc3Mk89w0omlklPN5EeoYsz78BWgA2poHyW0iKsoikWF2KrL22ELSKvuijfaPnENyK11Cq4DYVBY+0Nt7h6AmlTT4aotihZg0kjrECaKZeRkerUVUjQFjQdTsANQda2rXlIjgEH2g9R0JB+Gh04YqCpYV9Qi+nzLbddUc4D4v6/ChHwIHw+OhRygHT/t0Jy8ixA/mCTgFanAry58TwJLbceXX1poVUbr1AOxFPSp9QflongKYlJI3A3rsdxRlPNPmKldFa+1kWZWnUArIqTmOjhgJeoQMKlA4O+9dCRSSAEMCm1QBz4lvXpTiKMelNAQoL+7g6lRRipDpJvSoYgb/s30LCF5JRSpUDZgrEAqTsrV2Vh/q0F4ANE9xoa7fVQbgVFQf2b6Hq9HVmKlUUmpDCtOIPUgseRr10FqlxWhAVh0O9d92r1p8tBLklacxXrQg1NOntpuv7dtDXIhCqFdweQHuUn2N8eXQ10Ba0Vge4yvUH3OaAjpQn6QRqAC/xVlkuTQhbbIstObJS3uH6++lQHPoRQ/HVLsPc2l1YzGC6iaJ/q3p7h05I42ZT8joYUxkq+5ZV+lghANOvrsf26FV4fmaksR0pSladOgp00BB3UcW4ioqKAE0G+49dBNmK0NSBsOIBAYkbVp0Ogv8AeB7njKAVeOXYgenBqEcq6CEsifwKKyEkBQiLGaCrSBvaJCPlU6g5xAVWBbkOlApr6mpO37NUfOM0GfMA7As8NOJoN3HoSOh9Omg3uSbs21s8crLNC6SBlWkglUDjIgJIRww1Bg8y1zK8TXLSPJKZHkaRi0jszVNWb3Bt/XVCFoabByF/hHUg/A/HQRLjgUFW/rA7e75D10PRNoiOB7SPlv1/DRT2PFRTwTmeVIVVKxliORcAmnH0ronLLI7QyHiQSjUPwanQ/joNNhcX+uX3KZ/t7C3UzXtyfasUSe4jkf4mpQaD655JmbXD4S1scXJIk13aqlq6cQI7RlHKU7VBdTQbV30OmRxWJxcWEucnn+7bR3hMOLuFR5XjcBj3REhqwkcddxQaAxbPNW2Ni78MHkGCkh5JwmExsVIJb7WStYJhXdTUDpoOeM4bC/8AOcnkbI2luZZI8c0qidHjY9tbuNiH5ADYAEMdApdZPK/IONrAlpBcyKqrsBBbR7GWTovNl3/cNBuM75C3jC2mGwi2lwlmqSTXDpzMZT6ouX0B3HU70roPn+Y7OQyiyWP3U1xku3JNBNEsbLeTEVhgMZYPD8D6DQba5A8IwsdhbVk8izAUs0W7xB6LRerUQnig9TvociYCng2Ho8bXPlWcFI+FGlSSXZFDENVYmben1NodLLdIvCce2Rvx9/5TmK8EVhJN3pTVYwPq7SsRyI6n9mh6hBHF4xbXHk/kTC78gyIJt4CK8HYVW2iUD20H1EbAbD5hywsks45PNvLpP7047thZMSft1YExRwxuf5xB2H8PrvU6EoWVlLmZz5b5Uxt8Vb8psbYTGkaRKapJLGaAswAIFKsf2DUOEuze+c3Mk8rTY3xK2PKOMkQtfduv5jb7Rbdenw331RJ8ncZd/wDpvw1Fs8bbKIb7LolESLdWjttqF2393U9em+iuzXWO8UgGE8cg/UvIbkr3WUd4xt0M91INlK9QtQB8vWIIjx1jgLf/AKk8xvBkMxLvFFIRIUPVLexh2AK13IA/ZqlQzw5ny9Td5SRsH43FV47FX7U1xEu4a7l9vFWHp6fD10NhLbyGGAPhvDMUslwXKNeuK2kI+nu1+qRqD16/PUBD4bF4crl/McoclkNnjt5m5gHrwtrQE+0H5U/DVLBZPIM/5A0lp4xj/wBPx7ez7qVVV+PQlXoY0r8FDH56AX/p3A4d1uPJ8r95dle59sXkbmRvxCqWlk3+NBoIP5rb2UZiwWGgtYxULNchUqB6iKMcj+06DN33lWaviRcZOdUIoYbSltFT4HhRjt89BnmmQsWKh2O5eVjIxPxJckk6Am1umjnimESTdl1l7DUVJSpqFb4jQPMlmFy7ieZIIWiXa3Ve32qbbGgLE6APx6zbJ5y1TiWjif7qYVG6xmqgk7ddCjaeQeRTyzXFqbe3ntYfYhliAliYChHNTU0PQ6DJeJ4SHOZSdL2aRLK3QySLHJ2u4zHZTJ/Cqjc03OgnnMIttkobTBy/eC6k7UEIuFuUL13XukApw6knbQLcrh8ng5VXIW8CsVV+dpNVoq9OZTiyn59NCULTP3tqy9m/kp1EV1S5jP486tQ/jocHBzdpfsP1THoFY/m3GPoxbqATA/0jf0Ogb4LCeJXt01xPcq8UNHSCSYwxNQ1pcQOQ9R8AaHQa6884weJY2GJsJL6VV4JHZwiCBXIoighOT1PqoOiqo4PNfI46XdzHgcc3u7NqA14yH+F5mNY9vnX5aIEnlwXiNtdWWLmbIZrIlIWbu/cXLlzxfuSbiLiCTQ030AeeyEMkNljoLC5sbewRWn2VozJxqo9pJJ5bk/PQfNJbx1u5bleLVZo2DDbg21duh0DW9uoUjHj3j0M00M0qxSyUia7zd5UASzhOcYto5F5W6qV7cdSepOh0YK8XjFtdY+3kIzs6FMxkHSW3bFuCkkePsnkQtIHOzMKCQkNXjtoM1N2nkaYushkAc29usSozJVi1wVKxxo71Lo38BqD0GigL+9mu0KOQ47KJDH/LVIY+IR44y/thjACwqauUp6AaI0sOTJxIxPj1tdIh4NlLopDK1/LLGUYXCmMGGOKQFYI/pJpQ8yNBjy53Uqwo3ERuCzAliH7nr3+Q9wO46DQbTH3mWw2Lie8ihfE3y3Isorwo91GigLO0CSI3PFzyELJBJVHqSoV6OB2z1pYvf5L7SzVC89wURRyMUCnccmbm8lugPRiSoAFa9RQ+yc0FuiWFi7PZWJYF6kC8vz7bm8cmheGBgUhFABuR6aDB3c5mlPuLKpIWvQ77mnpU6iwnaxwUM0t1LAyFuKQRl5yQAE4MGVU5MdySBQeuqk3USBQAoDChFB7j1FW3Y9aj4DfRUFI2B+Ow/bvWm4PrXUPEnAU/UHpuGUkg0NACCBQjVQdaSmIAg16vwY+zitWFR6FXFR6BqHQKySasSSSeVSamp3qT6nULUS51XjxFdyW3qSfj8dUy6Xqa1NSOoFOopSnoKaC2IM4ZVoFVebM7sq/IHfiK1220BIlBHFEDdCTzBGw2AG1APUeugHl5OwMkhdgOI3B9o3FCAAF31CA9CKbHfpsd/wANGnqH4H93+m2hVZCUVwZKgDcf+IdKgb6JP8PA7RPCySEQ9p5ZeyeIkjlTgV5GrpzU8T6V9K6qaCXVwvaiqsneYAHmCEjjBqY4EOyxk7GgANNAPJIzxrzbm3QGlCqD+E0oGA9Ou2gqVSSPQA1qTx6fAn+LRBJU8OrBQ1TX3HbqK/Ou+i9OiMFQoGzqGRT1FGKgo3pQmlG20AMihGYCo+W23xBp61H4aKb467NrAVZVak63CLIVlgb2mNo57d/bQg1DVBBGiKsne/qEqPwgt0jjCJDCZXC7klgZfcBI29K0HpoVLRRGDK7gqQQ4AFD8RvUU0MjTPCbfjHEY7ozrJ3o1VA0KxRqEqDVW70fMUGxJqfTQRnnjaOG2jZxCnKSV5FFZbl92YkdeIHEH10FMUjBgiunEuSBIPyw5XiXIPT27b+ugrd3cjm5biCqDkSF39NzsTqDojdQkiN6kKRUHYjcHruTtqknYjgnaFlW6WWRAjy3IWOEGThG17JNzLPSQmo3ooqTXbQJGYKSilm3KuQfawViPb6mtK1PXQ8GtKkaIvIKWqzUNWKmgCOBtt/RoApXDvsdhyAJO25qT+GovKX2+9AwddveleB6cwHYCvAEVoNVNGot3FhLIVZ7WB2UKWVOUnsLycGUuVKuPhSo39NArSIvVeI9rVqGrsfQj5aK7LCI6VYcj/BQ1A+JB6fLRKoxQd0nrwTd2+Q/hX+039Got5M7U2tlzN3HIyykmJyC6LwB4/lhkLTK30kkD16aqOtmR9u8EdnFyaZXjlbdwnAoyOoH5zSbHc8VI9qg76Hr0cDTycnhWvBQUSLiicmq3aAAIY1+Z0HrmwQQG47RtQCQpJP5snLisYjahStOvXQLYGmgYsmzuGQqVLclYUZSo9xDV0DuHITyqIbqa8niYKSvfVWRo4+1GgrQcUQAVJGw0BCNbItw6TSxv7Fos8TlZI05I0Rcky8ZWI9gOx230VEzG6ex+57jyrOkUsjlyJ4kKydqWOFhIpahQkehr1GicAbq3jTL30VtInaWaUgwyvPHGrJ3OyJ398ogcdsyHdiK6BevKa5AVmmNA0hFaMVAoFXoQhpv66IOM8ELU496bk3cUANGppQLVaqSerEfhorhnllkU8zbgyAyy268TCjALXkCpZttqdNBWuPVy6oZHb0fkBGFBPOVyRyoB0230DmK3tIli/LV1hhFGiQI85d2Z3u5XLcWCNRQACVoB6nQF2sUSyubcI6zDgk3aQhJKVkVLibn2IvcFLEbA10CO7MMSuHjUVdvy2FQtDQlaHjWu1RTpoEZ3pQUFSB+G1BX5aixZrvFfHpvIrtbSGsMcY7t9dNThBACSSpNB3ZRso9Nydhqo+23nkuHweBsWtbSlk1pcW1nbxcZFkvrSReyjOQF7dAZGkG5G1ORGg+b4TGXvl2XmvsnK8kTOZbqUGhl4DuLY2Vfakax/URske/UioPcx5lY2l7DZWNjHeYzHSRxPcQXE1mw7bCRY8dNbSoLUROuz0cuBVtiaj1RkcYc5FBkLaaG4lv0ZLe7BVLfJSnkZMXeuBHFa5iECiSNwW52De6hIy+ehbrGXJdUmguLOXi6zx9uWOVWBEMquvHkKA0I/o0RsrLGf9ZXyWmPV7ZY4lvL68mVRHbPcNS6hijjq8i3E28SuxcsGNQOhX0BPHfFhKuHSysJFiSEfd3IminunFEk7WVhug/3XKtUWPtgCmgx3k/lVusBwuDU43DY92t5DbEKbxlZlENuiHm8cjAkuW91SWJ2Ggzfj3jGV8qnWSJv0zE2xPeu6HtQ8gC0cRbgLy8kUDkSQqDrxFBodNnPmbHEBfHvBraW7yF2ezcZQjv391Iq8XSOZ1VvytyZPbFGN1A66CyHGYXxFWynk1xFlvISO9DjA5uIreZwTG8rNvLKP4pXFF/hFaMQpWxzXmH/wx5Fe/ovjkNJELsIEaOvt+zgeinlyoJ5AWevtDeglcfIFUrgP8vsYwNH7952fzmPLibozyuQi0Ne9LQg7ADpocuNgsJ48BkfMb05bKyUuP02MmUc2IBdlcqbg1+p5SFPop0EvvPKvMVaHFwjCePleHcYdtXhjBDL3kVJrxaDcKFiFKV0OwsGI8Isn+znyD5q+uYpQnYmuO0ZO07qnes+3Hbc2WgPOSnrorG4IlZsliVUtFMhlgjlMPNBGGmVXkuHiSFxH7HdVLt0HXRHcKUmt8jhypLxE3MNFjWEwRAtNNPK57/e+3aiFVevSg66GmftriXG3pqzoj8lfgeE1B7SUk+pGZaH0qNBr8xnb6OKIJIiQTwWpD20k0dtK8q8XKWzp2llYqTMy1DFdj6aB1Di5sm08l95Ucfi3FuUN3cvbtkDcwd5+xbz3Kx0RYyCXLNtTjtTQ4GXWBwIs7GxuM9JJYQzTzfcXrNZw3FhJFVkxZigkjmuFmVC0nEcx0B0ABzHjVhElhisVceQLa90wXGSINvHJM0bFWi7Sc47doVMbng4qfnUFOR8lzl9FNHeXoWJgTNZY2OKE3NanhczRIkbVO27P+B0CXAtFkY7uxnuVs2lYSwd6SYW/NHUSxylR24wttyIdqUYU9aaGWwbx7wxDRvLHcHpxaE9BuCRA2/y0HU8e8Mair5ZJEzEgF3t1X4jk0kESLUnarDQHp4pYI3Gy82WKRwCqtdWoDKQWUsbe+UlAv9OgtXA+VW4MuP8ALIrmJKk8rm7ZVCe0VBW8QgVpQV0Fouf8w8czGazt8tGp4snGGSpApRexJbTDiN/prvvoFdx5Pj5qxeR+JojsWAk7IikWnoouYo5iB8RJX4aCn9K8JyhVsZlZsXcMDxiuWKgfJvuyYwAf6s40UX+n+Z4ZFexv4sxZgqI1Zw5KDdRGl2TRPlFKa9RogSXyDDZKQWvk+FNndgBTOYZVkrX6gfyb6EfNXkUj00FsWAubZWvfEc+Jbagd7eV+5BRwWMUrqnEAeq3EKV/rV0DiCY5Tv4fyXFWlnNDZvK+SR4pLMW5BWNu4Gc2r9wVUxtRmUKqmuhkm8hykNpaQ20cbQY21jePGWRdRNICDE+TvKIy/dXQYhQSSkZoAp5EhmMHg7/OXyMFRZ5FrH3Dxhs4FABlKAEhlFPTavz0LNtNDlvDlN3Zwpd24Vlyc01o9veW8FHjS4tTIzB4oHJkNG5KCrEBdwEMR41YWqT+R+SXq3VsHa6hLcZbPIo4WWG4eVij3ZZ2P5ARQ8gqaroM5l8tfeU5NYbC3kiSRXisLBXbvyw9zuG5vCzdiBEAJr7Y4k9o23IK7nA5azy1nZxLFcZCXtcFtZ+8HNxXt/cOyRC2Z1NQWABA610H1/FYaw8LtI3ZRfZy9CwmVGSoZusVskrR9rHwuQHkB5yftA0Ca8nuryWW6kmyVveLE8Y/TZBBC6FuBga3vZ41mxwFZOaqvAElgTvoeshfZG+zc6YbGi8ycjyRBGnnF7MXhoRLC5RIbQUHEsvEdse4030LtNFjsF4LEl7lexkvImUvBZQhTBbSMAeMMLB0jWP1mkHI9UUddCVCYzM+Wscv5FdHFYNCZo45JO2O0xFOyJgEWMg7TSgk/wh9BcfICC2A8Cx4CtXu5ER1dv4WnLXAHaaMn+dITt9IXpodKziMJ44RkfKb39Xy0oeRbEFpuUnFT71b3Scq/XNxQ9QrddCOXpbzynyle1YQNhsK3KONkQxyz2wopUstHuURTUiMLCpPUaCAPiXigXiTmsxU8RGYbh45QQODMBLbWhYkj2CaTb6hoCRH5h5EG70o8exbDuGKMOl3JADyVrhuSzPQDZppI0HpoAuXhHjjEgvnMkrEsVCXTB+okNxMosIjX+okh/taA6PK+aZnt/pePtsPbOfyrm4QGWg9YTcCWWpqCO1HQemhyHn8UsbQtceVeRO8oBleGSdoXfkaEduTv30vI9OMYr8dBUme8NxTquFwkuQmVhxkkgAZ9/SS6a6lIYbe1Vp10Lm3655rfKv6f47b46E1Ec10jcByOzUvHji29AENa/hoqxsJ51eBWv/ILbHwmhpa8qcutW+2hiUmpFfcNuuiBX8WsSa5nzacsAzAm8tI1Yod1USXc0qlTtUjroF5xHgUacrzM3csm5KLk47pqVHE8oLAAcq7iu2oPPa/5YxEobi4cin5kM14/L2g1LCHgQSabDVOERB/lkzBe9fKrBT3HkuVMbVAKkCEg1G/Qig/ZoOnEf5dTisGZntz7t2lYkKpO4SayU1cdBXQXQ+MYKRqYjzDtzEK6CS6ROpoGJjnt22O1KVGoDkw3mcYMuP8AKDerQELJNJLxEbFASJYplK8htvuNU5lyO685s3ZrnB2uWMzBXuIUiE0xjJTi80ExDBd19y8V9dDb15PZSL/8P+HXNsSordW8FpkxED1kf9Pa1uUFOp3oR66BZBgvG74ifx7PNaXRkosMd3weIggqezetaXMhI3IWRipHroLy3lmMlBuEt8+qqVRpBJbZcRghmCFvt75+YAqEMqmldDYKXJePZyV48va/pt9Vvyr1GidXLCiQ5G2hW6iUcqhbiOZAB1GgvbF5rCxcsXkknx0pDiyy4t5sbdyyiiQxXqNNip53Qe0OYWG1BWmhhF8liMgwsfJLGTF3aqzJFkUuDCo+lFsb0VyVpE0goF5TxdTxA20KOLbZjGJHHjpZMtjiWZcLkJUkcqFLMcPkLdxDfMit9Vs0c6g+6MGughI2J8nmJrPZZaJT3FmaO3zMNzGeKiCU9uPLxpsojl7dwtNpD00IV/qt9jyUz8b3ltR7EZm2gja7Si0GPzNvdJwlCVq0NypdT7kOwbQVGxks3N74/c28cV6OyISTJ49mGkjo9nGLwn7O8JJAtbqqk0McjbDQMrLIW2VRsWbKXvxydmfxq4ZYbuwVVVHfxy+uh3o3jdebWc5MLAkKU20AMGVvPFmmtmFvc+PZK4lWLJRWzCa3ulQJLZ3UVUms76AKO5A5DKd1qN9DvLURXPcaKe3DNLH2mieOWRy0VKvcpFGncmgkBIIYntk8aCuhyDW3l5XU1pDCUuInlzPjt8XitsvNUGKfFAKPscvOnI8kpGzcaihJ0GOucW9vbTS4S6MmGubsc4L2MW9/hcnZSrKtvMhDPb3sD02UhZRuNtBtZPKrK3xNvD4zEbu6uLkWDfcx9jt5KaNWa6vGZjFJcPK5Cc37aEUUE00GElxitHcpeTdy9kdu/wB7mJGeLYqkrAvAsErdP2nQGQX72i2ct3cWmSkuDDish9rOZpcji5GZBbZSGVU7eYxUiq0UgFQBQkjQezGBLxLxtZLORWdbN7hJ1juIVqwikklAQgg0NDVW3G2gBweX4BsPkO7EO6iwyIwWWGdGrHE5bkOat9DdGX2nQatI2rJHI0bSpxcmP6JomJVLiKvIhQwKOu5jkBB9NFUnjz9jbiqkqOKk0+mp+vfYkdNEUk8RQjcn6RRwfku9K/E6EIEhakl2I9u6hQ1DVeR68lr6itNBajWvYmjaOVbqWRTDO8wKJQfmxGAITwPoVIodAtuAkkcncidgYWiVedZIw59kirG6AkMpHEniQa6DPW0cYY2slJPtXV4GahA57sqMpCsYn2+WgrzCSLHDdQkq0EhViP8Ay5qLQ/Echv8AjoFpCQ2X3SgXCzVVi1WFsKkOBuo7zVp020J+DcdcWvJJBEyrx7LW/IcWZAGDNIQXBbr89Bo4riR7RrUdxrcyLcCMTyGNJWqAxhLdpStNm4gmug8jGMhF5gEbuKfV/VZxQmg9dCUi7N7motNixPIkfj10HQtAaA0rUk9Sf3bDQeIp8a/0fs9NDMKyOpFST03/ANNtBCh9f3/E/LrpRXCtBU060pvX/u0SzjLTqOvpoKSoesVSC44qaVWpOxZaVYA+g3rqBxiJ2a3S1knKy2kslsiOBXgT3FARwGVQSQd66oaOUdvqIMbjnwXijEdEc8eh+HTQ2vAdhVTRDsEIAIINOJHwP4aFFkR9rDnUDYozEspFQOJ6UqelNC4oMOIoOm7MoIUkU36VYfL00FiBJAD7VcK4KCpoCPrFf9WgsTZQysxZQAeR3ZaU2+BOodLSw9q86dDUihQjqFoCT+3VFg+qqkMpIqCtAPxAG1f36AgM4JU16CnJFIIPxY19o9PXQXCrLQoCDuAWNFbpVTUbH46GE5UhuYlgyUQkhHtheKMvLE1KB1kXkSvpQ6DE5HEzWf56BpbckiOQAezj0WQUBRjTpoWLIyCQAoqR0ruN+hpShOgvLOibAEAmqFanr8em4OiepM5PboDUEF1NVDAdB8tF7FF5CKsoC8gCXCtQgVChl+piOldBUq82NZFZShc0CEqa1rI6igcHoNBwNIVjr7+VSVLAM29AKemg+e50kZpQW48ZLcHatPcOQp/FoS2uSkKywMjFgIkBCx0ZxUbcWqC9DtoMl5FLCLlFaO6VoeaMblBFMxqGWsQJ4FQadakaDMS3aMoWOLiAakkkkn/dpVaBDIS3Lata0A+eoU/TNLgFVKDifT4g/wC/VRLvu1Q8h32NSafjoAFVTMf4gGqR0qPhovj7TgMJNjrMW080D2+SjF7c2SrSaO3VRVo5mHGQrtVfUaIzM91Z5LMrLkZ5xiYpBCrQxVlFpFssaRrThzpuRuBoaN85LL5DkLCDCWd6MPCqWePd4mS37o2mlA3CcVFN99tFAZyeKxuxjbDvWUNpGsd6sEkka3N2acpJYieEm3rTfRAORybZGC2jltbBWttjcwW/auZlAoFlA9poP6dBuMJafoGEmyM0cb5DJJwghkXk8cTA9uqVD0bqSNBksksS2g7wQykmi8mqzsxJAp0Hx30Gh8WtYcRYXPleThPCFTDjYjTmXPt7qK1OQdjRT8AToDMGyE3vnfkZDULDGW7+0SMKqphQ7H+qn7T89QX4h0na7888jciNC4xFo9WWNRUIY12BYnZf2n1qKLMSsUjXfnnkpCJRmxVqxr24hURMiMQGkcbKPnX10V7GRHKTTeaeUN2sdAGfE2UhJjVFPsmEZJBZ/wCH1J3+GiLbKJ/KLk+TZ5ft/HcdzfG2Mu0cix//ABzMOjDbYep+XUK6T+c3gnkVrDxLGuTGrsVF+0R+pugEQC/sG3x0Vy7vLjy29Tx/AFrPx+zpHkL2AGNJUUUMERApwIFB8evSmicSumv3gkPiPhdtGk0YEV7kgAYrQH2ueRBEkxA6nevz6BZM+K8HthY2UZyvk98QaEGSeSaT/izutSkYO4X/AL9ANDi4MfG/kvml4Li+ALwWbsCtsx3WG2tyaNIfkNv6dBX2cz5uVe6DYXxuKjpbhgk10i7h5nIAC0FfgP6dDQC5zS2E8OG8KhSWSMlZp44lmjLfS3N3FGNf4yafCuoXhP8AQbDHVzHmOQ+8vZfetszl6t1ESRfVIF9Bso+GqFOU81upU+3xMQxNmAVDqEN06dBxAHGAfhU6DHQi9yNwVtILq+uXPvkAeeQnpWSVvav7ToNPaeBZ26o15NbWCnco7maYf/Ex+wH8ToGp8HwdpT9RzcpelSomtrYV/Almpoaog2D8DiChsh3KmhJyJqD8SEWmg4cD4U5KwZOSNqVV4slGR/8AMyqKnQI8ngJoGDWdwt7blaxSXKxo5ptxE0RMZ/bTQJLW4vMbctweSxuiCvuA4yIf4eW4Kn4jQWzXkro6sriSSod6iSNg3Vgx3DaDSYK9scfhbuJZVkyF9KVeFk90K0org7FkAHodAZ4zbTPlpci6O8GKhZi8QREEjD+p8eIqdDwq8izk+WWZZmLvJLxt+MaIUSvFULKORrXeug2EGD8cxOBt4MjbQ/qNxD3GkkhFxMzstSQyk0QfKlBoPkjQO989tj4ppXaSkMEKtI259OpVfx6aD6Jh/wDLvI3qCfLzpZKAG7UXE3Kj07kp9iU+VdATdPhPF7mORL6TM5CF+K24MbPHFSm9zGvE0HUMdAryfkudzqn7G4FnahSJbW1YpMgO357ijlSP6u2gT+P4TJX+VCJys/tQLl7oASg0NRxY7MWp676DU+RZFkxssIg4SLNSW9ZhzuWFVICCv1eh0Hy0e5ip35VB/E/7jocLcRjstlLqSWwkFobOJ5p8hLcNZ2uOhZSC815SsZmBIFKs9fhWhBYlDyD7wI11ahoZEE7s91T2KxueZDQBAWD8uVKAGlKRoummM0kcMKGZp5Ejt4qlmuHZ+KVrx/uvcb2jYyt8tVD2wkl8Zu7my8kwSXCZBQLtp40a/gSPkC9jKSYGVWcGSI05AAVXY6C24sLzBSLmMDd/d4ySNmWdU7scllJ7JY722cMs1rv25VccoH9slDxdgbRXvieVpk78NY39shabGUd0v5IwGii+5bkJ7SQD65GWeJKoWlXiwHLK5PJXWbvzPwo8rItvbQLIYk48YohbWxLlFptFGNyTyPpoNR/8jtlLYxMEy1/BH+oXC0L4+wlUv9l3KcRcXO1Sn8ALE/ToQ+fZG5Rn4RlyV9v1DtLHQcQiL6/M6BUP9n+vb+jUU1s1thC0k0jCRZI+EQTkkyl2EwLenBADTqSdumqivI3C3EvNECRrSOMKnABFHtVFPuVB8DUkkknRQS0O3uJqR7QNwRsQCK15f0aJIgR8oi5kiDRsQ8ZbhID0qV41ZWp6VpoBWc7AGgoR8CQxqQT1O+oLBHzCgVryAFKfT6nrsAdUVvGUJ6+0kE/MfA9DojqS8CrcFLKQwY+pB9RShHy0WqUk3JnZR2xJQuoOxbevp9JJ1FQ5g+gDVG9fbsKDbrsNVBcC8iCLeWRhuzV2Yn1qwAA+WicQLCtJUNbOixkgmVuhY+0BAvLjy68a00VWbS5d+0OCM1F4QKzk7e2pB5FdtyPaPXQ7CyWk0bhCtWJKEA0IZfiWooG3WtNFqpXuqSELGgYHj7lA6tQ7gUPr8dQs46SKEeSpDiqFjyqFNCDvUUPpokQIVlClJGZVPCVSqg0PR1J+riUPQfxapRIXMAEgNsXbbtHuELEo+olSrdxn9a7D00KbXQzRhBVwI60MbMe6j0NCNvfEenx0FUrJC6lCGLIGb3hyCxOysuyEKaHQBNUsS1RXf9npT/VqLpaAWFR0+JI6D4D5aqJlUKirVbcltx8Bx4mtQBoIcUBoHIFDQ8RUn0FNyAfjoS8FDE0pt6MwDHentB6kdT8tDaXFgfYykDahNPSh2NQa/wBOhqyjjU7Dr6HbevTULJKp5oAtTyHtO3Ijen7aaKNKcljIovNmYqG5cBWh5dCrH4D031UOBd80S3kDRogi7cqKXkgkRSB2wTwVJCQTsagU0CKS2kinkhf+Yh9pOwkVqssgJ24uu+hwGcKGKq4cbe4AqCaVNBuTuaaiwsjVeQ5DmAasoJQso6qGoaV+Pw0StTFUjkeONnEcUjyMFAlZIEIqxIFZOOwG259dUELF92rmTkHEUfCRUas8irQwyhKmWQLT3fLodDlVaCBA5cqjQyOGL1rIDuqigqXB6fLQLpmZ5HZjVix/3KP2dNEMYikEPJ+nEIK+sgWr0HUH4HRVM91DNGVELe/4SBlUr9LerEkdemgGt4gbiNWJYGhXgpYsT6BRvy+WhVrUdo3REikLIyCRYwQWPE0g7m6qRUAkA/USOmgBku0gnMkwhnmRGVYkDNHBIWo0SciSZlBozCrbbHroVK5o3V4ribiCxJeNQxMYcMxeVhxJdWoSBsBtoHNrjL2MQzm3kjV7SO/ilcQmJ7aRmH3HcJbghK1qRVADyGgZZK3FkBHcwY+EpxRFiULMXm5XP3U8yhRPSKgRlIDxldC7GXEqqaQylzybnIvMBvmC1K8q76HAIsTX+Hl1C+1afCg2pqLR1GCEmjE9BxcpQEEEGm5qNCXTKxFBRF+CCn7z1J0KCLNO7L73qsYBKGrNJuAqIgpy9xqRUbaHDTJc2lun0MCyoUkmo8r0P1RRR1KhCtKtsTX4aqL4+/exLOxjtorTuEXEhZEkYuZXE0pLia5diAq0BegAFBoF8t7xRoV5PEHZgtQgMr8TKaDYcyoqPloFErzTy90tVn9zuVULsKBeNAKAetNzocLLaynyt5DaWULyPNL2raAUJ5GnMs+wWMEFmJ2UaD7lZQ2XjuPfx6G9nsZ7AwZXP5yKOMRKOPM20RkVzIxftoqBfeDxPU6EvnywX/l2VKWyJFaQLLJDDLxtrW1t2cyPcXKW8fBJbydubhFLOxoBQaFTK8tsv480Vs9+0OGul+zuchYLJIsFxKe5NHNA3YuLa5ZXBUNwEiKACaUAw0eI8f8AHMbY3GXy8i3kdqrx28UjW09hesSStxZCN6zG4QgOkg5QsDWo30O2RvfKr+S9F7aolpiyFijxEfb+2e0HFGcw9tI5UeQALIyM9acTRdAZFbXPmuYitrOCO3SOMNNdSmSV4bFCFDXUjhXuXDsVhWnL+GvEVAb65Fp45ZnEYOO4tYml4XuUXhLPcTpETOguAriC5ijNWYikS7IKkaDN3dxbW1u8v3ckdrReFnFWSUSV5tbXfduVuO33ELHkalvbQU3AXF4eTy+9lzOXJs8HYKBdToi273XYQBbZGjFF7SbzSCpCgKPd0Blf5e98oli8U8PtBaYiJEWQhDBGkEZKtLcMjP2rLkeQG8kx61PQPT5HE+GQHGeNsuVz92Tb3mS7JmlVjRVt7VY1YBjJ9EUZbiRV+R0LZVxYiywQGd81kOQy85M9rhHljkbn1jmv2JYSPVd6gxKdve3QPCDOedzDI5SZMN43AWZJm/LhCrVP7qkpVZpT9BmaiACg5H26Cxs/FahfHfALCR5ZA4uL4xdyeZvoe5WaRhTh17sgCKPpC6DgwmE8brkfLb5ctmGAuI8YrvOnKh4vJ3N5qlT+ZIAgpsrddBMTeU+a0S0QYLx9KkSKHiiaJCKEEduW7KAenGJfloFt/wD9GeNKDDJNm81C/dW7S7kjhhnBrV5ICsDxyE0aNA3Ndi2gxuRZ7LL2mQ7cLI7xPS3Rnt2DgTpCryRqzcuRXkAT1odtAyuLO5tM/HeQWj3FtN25po7e3me37V37oBKoKGKN0l4/mMinjvTQMj4Dlcle3at2cbHazBXScNPOrhVlDQW9qrI9s0Uoo/MRilK7aA6azwNkLbG+TZCG/GPilZBjBJLFdQyHlbW8kkDrcQXkE3JipYoqUUEV0FKZ3GNS1xHiceUt7YSrjBk42vXt2uG5XHehijdbouwHAuxZBtyNdBnMjBeJbQZW/s5A0k00E0N3DcQ/bSQhDHAVei8FicGNKkBBoFL3MsgCtKIo+IKRqgVKE7URaKPxI0MuLxNWbuy7n2DkN6Hiy02LKdx6aCmzeOyy0byoHgeSOR43LxK45DvIzRHuIvL6uJBpoGmejksJ7mKN4SGLzw3ESQSBlZRIIxJ+cGi7Tgg8iwpvvXQ6y22CufDIbBbmTEXN9eRwRmebKJbSwSySL+a/MymKKDYhEWIHoK710FHf8MuzPcXNllHhiURrbQ20UaWycixuFlspogeKkIVNaAVoSSdDhUlv4JI/K1y+Xxjh14Me+pUmm5LpLw4fGugfWllmCgHj/m4vkoTHZ3bLcNwVqgNEXlZeTAf8Pp10Fdxl/KsOktvm8TYZOAK/JxxDRBjsxEaBUWp/ijC79dAqe48KyzMl1j58BOVJEsahIudF4hjaq8TBmqRyiI+ehUVa+O5q1je78Xzkd1a7l4ZXCrQD6ZRH9xbMQD/GkegruPI5ljSx8t8fBi9irdR2yyRFVFCY0cvauzfGOSMgaHCuPDYyeN8h4jf34vAQkMFrNxEcrgBYrhJ/z4u4xoBykX+100BeWyaW9kbEt3olEP6pf23Zh/ULi2qUjhHFwLC1nHtcBe7JVxXYkjCWVvcZ3Io6Qs4klP20KqSHYbd6SigFEA6kCpH46K+sutl4tYPYRESZ7IQErJJcGyV5Sp7LpduvBreOXYUNGYEGmgwEGWzvjGQkXJGa5gkuq5O0lZZ45bgik1DJzQTlGopP8xCCOS9AZ31hjo7GPJY8S5Px6/N193YKwMnj8te5HdWbqZWtI7eRvzEIoSKfQx4gd+r4jxrG9nEx2d1n8jAneuLRmngDKAGd5Lhm7McYo4RPyg+/Sg0GYxeGznld7LNDdyclkEmQzVxLIIkl40VE40eZwn0IvuP1HiKaHh4skFpdT467ydpeTWkTxPf29tdzSXkFKCBWlmk+2mgPKrcCq1/iFaAsgjyXlF4mLxKHsI35t5IBWKI/ll5rhQx4AGgUfUdgGOg08mRx/ia/oXjNsuTzkrpDeXzQ9/uSnkrwBFPN257CIe1epLMCQMIwYfG+MxHN+VyJeZef821xass5WRiSvNXZ++0bbEkmKOlBzbRVS2ua8zf9RzF0MR49Eea8m7UciAkM0QchZz6GaSoHQciOOhwuOfENcB4HYVap72T4K7Nxorzo8oABFN5pSAv8IXREBiMJ43XI+U3YyeVlHfS0q04kYsSD22AMwY/xycYga0RuugsDeUeXgogXx/BOoZvq71zboKVZ37ctxGo9SUgQaClch4v4vKtvirRs3k2jK/cROJpPuebRiIzmPkCacuMKqtNgzV0FjYvyvyRe5mbsYnHR1drK3CwiNH4s3eHNIYeQFazuWFeh6aCgZHw/x2RYcXaHN3y1AmjAlPf3UAXMyEEMevZjU/BjoDFXznyHkQy4Kyf+BA0U5jJr7iA9/PxUdZOIp66HQdsF4fhZOefy7ZC7FS8feeV6gV/k2rytxav8cy7emgKtvI0ZO14j4tM7MSpuft44IFINI27qULgoKkNMN/joDvt/Pr/866yNhgYacmaHgZFC9Q7Rqy8gD/FKB/r0XkHcYHFtQ57zu4unIP5Yu4EUAgMwaPneGNCAOtK6IXlP8s7PcvdXzca1aS8kHIVBUhBbrU9fhT10HVzngMDL9r42bhQCrtLbiRmPofzpparXb0OgtHk3jvEiLwnqAQfs7dwG/iUhbY8kI+ddQsh/1F4/UF/CGiBJDj7GE0FOiM1uP2/LVFIzvhDcfuvGWh2apit1UqfQUM0Zag60IHy0Hnk/y2vKUjurMbU9t1CoYglmYLJcxmlKdPl89DlZb+OYC4IbDeWG2lqWAa5jjCLSvH3NZzSNT0FSNAc9l5xjY0mxeYjzMYVmijmKScogBy7a3SSRmQKR/wAUbHQDN5lfQ3CLmrZrWYNxZb+x4LzZQG+2uk4BICR0DMQtaH1Aujlv+n8w9r3JLSxnnlWN7ido1KoEJ52uShLEuaD8m4Eie4nmKV0Ev0vyfDoj47JwZewIVo7XI8HhkFKIIWneW0aQKaclkVqfLQCT5zHXbCy8kxkuNmBRT9xC17ZKSOMsyF2iyNmGIHuhlKimynQQGJubBDe+P5VI7Z2Je1ublchh5AG4pHJPxEaB+Q4pdRRHce4kaDs2atWQ4vyLCpjpHBZC0RnxLs2wmt7fuBrKN6AtJaTIvUhSdCFAx+RxiQy4qeG+sLl0kjw13c/eWN7OpDlbC4oIZZownIRSdm8Vae09dDhNpsX5K/YmRrTKRtxjtriX7fK2zrTmljkbpo4rwCQe23u6MAaJKKU0O3EyV7jk4ZqNr3HcVtBlre2jW8tUVm7dnmLG5XjMtSQYrpWBBrE/RtDan7K7x5+9wb2c1tkEWGeyRu9gssJg/cs7Zrnk1nd8VINrOee/5TuKDQdY2Ge4NbLd2uQtmWA2cPM5zDPECEaz5vHJlsWoUBrdz9zFQmNivs0HY8mX/uOZ+yNzdpHFDlHLzYPyGzgZkWDICIK63EDseM6BbqCX6tgykBFiusA7XNrFey4hKPeY+V1GSxAmZkSYtFzju8fLQiO5j/LkX2ng+wDUHNY2S0S+mu45bdiFimKqt2jD2rF2x3WhRFNKsSipUqOWgR2dlNeX+XM8sL3d/HBkLOKKVpY8la2/cSS+spqlLi7t9w8bASBanpoM/IkthLdukZu8deRiLK2TK6/cwo4ZZlpR0uLdxy5LRgRUeuhpr1yWFbGLNKFzmTmnt7fGSd6eLOXVkSkKC9+1V4Hv7UMVRzXvBRzHU6DRWeDw3jcVxmch2JLpIpJ4pnWOSRCvSG0hYUuLsEjuShWWM7CtK6DLt5dc5a/TjZSGNbdpLrD3FzJKMxj0UFLvHtdkRpk7NAzp2wpnGxrtoFPkWFhuY48jjpYZw9vFNaSRghsjayV4ghaKlxbBd1NGVhxqToB8BfHJqlhNLwylszSWNw5dIzEyqlzFIkS9ydZEWkqEEnZhQroNSFS6j50CKpaML0aCSI0eNwKUKfH+IEH10OlDKFqQQQTsoYBWHxDU5Ur8hoBiH5AEUPEqG2qzHo1KFeQ+NN9CEQCNxGtKhinKhVlO5JIHAk/s0EHjLMw9XG5T2jfcqwIpQVqDUV6aKV5CKFLKB43ujdWU1zcFWRZLJrI8BKtuQyvbycvcQwJYjRAkyLdWskakFZ4iqN6VYVQ7f2qaEcs1BVoZ7NhQTOVAWrCO6iossYB6CVfcP26AWIS2tw0DkKVajAipJQe0/wBmqH00GwsZA4UIBRaBqsWqD0oT169NDk0K77EMu5JJNan1+ApoYVqqmqlw7BiWU05A9eJpTp6ahwupUDahp+4/D4baoqP7K+oHpornX/s1DLwFdEtCXD19fjX/AFDVKwiYty21afj00KpR+2RXIqFIYqDxZ6fwFhuqn1PpoL7SDtLd37c+/fSAxry3S0QjmxVlEiyySDqeqiugZCg4sVYr/XVwZab8VC04uCTXcaC5X/8AM9wPF+OyN8OPr0+egmrry9yInuoQhqd+nQe4nQjK5HZtuTD3U6n6V2AG/tr6nQp+DFYBQF267HjU/Fq79f6aaCzkAGZVBagLBwWJp8R0FNBwMWNdgB7j6H5AUPTQTB3FTQmhNOgHxp6kaAtZKKta8fT21BO+xPXQEpLGxULVW9OVCv8A8z8DoXXg9SFFancGtfhRa1BGg8h947hVo9+VueJhkUih7qGoqB61rXQ4Ib7BxTdy4xO6ABmiIK0NekXLd1Hw0GWlLwhuY4nkRICpB26inz9NBdEQ6VCsFLBVqCG39DXr+OhZYkgUUBHBZKBZCU5tWhVWIFaVpoR/VEvbRyI0dg3uaBGHGOhO603eNT1BroPNSicT3GbcsooCenQ9CNCbdPn2dZf1bccfdCD1PRhUilDXQbC6mHcDlXPFERQCxlk29nsNTyYnYDeugzHl8EkF3bWrrHzWFHJWhl/NUMEnYVIlStGU7g9dCCE2UMUQZ5ecx/4Q9AfmPXUWtVscERjAKAseo/iX4fs1UU3totoYijFllWpWp9p9RX4aEhuQUAqa/EMNx+GhU7wOMushd1trY3ItwLqdAQKpGwPGpqDy+HroPoWWuHtMU8T2wtp7yY9gMzGaC14ivbk5Bgrf1SKDQyU4rD2d3YXN7fZRMakJMdsrKOVxKBUgFiOVDtQb6BxYt5X4wks1nAs1ncxBpKp91bBqVS5iUMO3OAfdxO/roXZO5ivrpbnK3bxyNLcUmlMiiR5pDUAW5pIqgbUpQaARNuuwBqT0O3+7Qo2Mtzl4LewjzpdbSWMtYS8Y2uPt1AIEqIA6LQjr6aHBba2z+QZa3skJWzWQs8oU+2Bd5Jmpv7hsK/HQ8aO+kfynN2uAtZIo8LiaK7o3GOSKABZHLbBnI9qj03OgMuI4/LM3Di7YCHx3x9QLhozxhkKChRWqF94WgPUKCfXQWSmPzLMx2MCfa+M4IDvOo4pOY9glRReLBdvULU+ug5MF8zzqWMTFPGMJTuvGOEU7IKBB0G9KD4KD8dBOZf8ArLLLjLf8jxrBtSeaMlY7goAFjAFFAoPTotT6jQW3Tt5bkY/HsYTb+N4jh9/LCaR3AiNFhjZduBC/0E/DQ0jlJpvIb6PxXxsm1xOPRY8jdQECEoAFMQ4gciADtXc9dhoJ39z9oYPDPDVRrp4+N9exmv26HaZ5JBuJv6x6joN+gduriDwyziwGDU3vkd+VMswCySrLIBzllrWnrxB2A3PzCMdrZ+HW5zOYlfJ+SX/8qMnuzPLJ0jhB3CgkBmp/sGizKFtiXunfyjza5SLs0ktMfKQIYIx7kQJ/HKfQbkn4nRkJPfZfzmf7PHI+L8eiPGSSnA3Cqf4mWla+ig0HrU6Khd5nE+LwtjPHYobm+G1zet74o2pRi0gNZpQfQbD+jQfOp7m9yV5yJnyF/O1AaF3b+zGg9sca1+QGhttcd4VBBCMh5LdJHEo5taiURwqOtJZdmlb+yKD8dEF3PmWPx8X2vjuPjVF9pnkQQW4IFOUaLSSU/M0rotWHvs7kr2Rpbm/uGZtuEDm2i4/1eKEEj8dC5Q0oJ5FAzerSEux/EsSdRaI974Kg/BV/3aqWd7wOxRCPmin/AGDQFW15JAwNvM9vuKqCXgbfo8TVWh0Dia+tr+GKG5t4re5UkGYMxtrgHoV9YZa/s0UjuYJbViDyKA7g1LIPQk9GQjodEcSVWVeQNV+mRTxdfwYdRoD7bIXNsrpa3UkQl/nRsx4Tj4SU9fnoOvetPdW008UYEEiMY4AtZFQg032JNPXQP8rmrbJSvc28gt1jgVEhkqJSwFCAm4B/DroG+O8mwWFsEXH4+4fIMgaeSaNFaWUirF7gkkoT8P2DQZzLeX5bMO0b3MkEJ9ossfzAYf1ZXSryft20OSSKxyktPt8XekHeot3WvzLOASdASMbm4T3WxeQiK0/NjiPIfJgp9y/LQ7aXCZ+WygvbG8uGxzXFGgnksm4ialCkhYAxq1B8uuhtns7c3A7dtMoKp+b3UYyRyhtw6PU+0130GdDV3B/aNEu0WazcKxLjsUjWGGtHZYrWOUyNd3AP+OuZaK0+QdNmJrHEPaBSgJWSjE1xKqpEJJG2jhWMykg1NAoFZKdWLV0B/wCjZb+a+PyBLe4yG2moxHSjiP2kU2HQU0Gss7r9RSHA+TQ3Md+BDBhb+6Q2k8ie5YrK4upwtHTmPt5mDKCTHITGwKkoWxT5HxW5nspka5sbh3aS3dWjjneAvALiNaPJaX9nIeE0Rr6o4dCKlZ5xFLM8nbQKSzKkftWOorREaoWJG3C/wjYdNBusfZLgbNMteIhy17E4w9lKW/KjK8ZMhdUoyLEDShodwqnkTxDHZG93kRmllZmYu0rHlLK27NLuSx6bVoAAPgNQ2QFSVMnz6ilAfhTrTbReFZ616V3/ANPx0IERlyAicuQ6kdADvTfYH8dVHnRlr3OfI0+obFaH+ImmxG1NBT9LDqKbmmxqNwflqLmE5GQ1ahZiAORbZWB6qB19u2+qnaK9P9K/6baEr7fkWUdOHNt9qrT3qD0J+FdRZ+rXjL82OwrxovRgRUNsaBqUrqoDAXeoII/1g7g/CmhWi+C27rguCsVCzdQSoNAOm3I6FbH6wRx8UQQMCPa1EChAFkAaQiqneh+Og7N2ogU7gcIOZaMkqxKj2An3O4rv6DQcWWVWqvKORFrUFieBoeL/AFIwUjpTYaBpZZKKa6SGW1WKVo2SBrYdtZLg7iS4A5OBx6hKBqb/AB0AlzYbZFJGQvFRo3c9te6tJHi4SGpBB4mu49BoRBA7ScEYcgsJoSFG3IEVEeyc1AAavw0EzFHN21B5PwDsnNdmA91DXiPw0FU9nMr8OxKrKxXt8eblvUcVruKdAN+ugBeN46FgQGrxPxA29NtRpGo9VB/o/wCzRKLIkaVgqLQAVcg+gO5AO1aeg1UovngVI0ZGLAVEla1oaFX+Snpt8NDActQE0WtNiNj+NPloR/HQa1PT5HrT5D130JdWp9o39dxuK/A9d/XQ9dUKGAbYk0LMaIvShPU0HroV+rmAAJDLQsQKMK7H6gABUH4n00FQVmdVWjciNvWtSCK/E/06Fltw0YICMytGw4MahwaivL4caaAtigCjrRfzg21JR9TR/wBh612+OgJhAKNE+xQF1DtUOlN+2QKlx/V6H5aCu77mQ7EEk4ku7a3EMDzSBOdnEjNb2y1otYlBA3rvTfQIwCK1BG3T1+IHxFdRelwqrBmVgCtOgpuOu/U031UFtKaK6rWrceKSElFC8aVNC9d9z+GgY21z2YD2y8ciPG8RHISwyIa94SL7QW6U9NAJJQzvyoOUaSNQDixL7kUr7zy3PXQAz0BbiTxJBUkUNB609CCNDbzSFyHKgBkoBy9VFGofgxG40KoSsPbQcAF9KVNa0JI0IQAeORCfa44uBXcVI413qDTUXLTw5J0gmSAMly/smuWChLONhRobJQSXnugPcxA4gbaqB7YM7JawwARMFeTjyZxCpqzO53RS38Q416aBxcpj2BEMlWifsOJOEkXcVQyKirVmtmiY1apNVI30IIrqyvYomMM0xtHUsEV34BGZgI3C7Dku4XfbrobJishpI1XCniQ7FmolARQ1oANtCzkvDnSLlwFKchQ1I32+VdRY+qtFF2sAuGMYZe4dkRvaG2JNHOwcU2Hrokzda9oYmMcke4KsWNQVB6bdOL0NK6qOyKykOq+zeoC+hIOwFN1GhgaJ4uARSGi4oAwDBlFGZqoSSo9xFAQo0FDSzIBHHJJPaLR/tZSaHkp93spWlfa3XQUNIZFBUAKRwCEe4CtSBX5+vXRXJGCwqvWSRmLNXYRrQKqb/wATbn8NEfSvFrX/AKatrbLXNvI+WzIltMLbyRELBHxV5L1+ZBdZOaheIII2rudADmb57u6XDW7SXhF191kHkaN3yGYlCxtHHIgUJY27bBRReVT+AbGe4Tw3BW9njijZvKH7kTVQvCFUJLdF6FUjSpSINsFq3WugWeMZjK3yZC0ySS3+JuI3F1lrqINDbqyuiSXc06s9xao1SiiroQGFBUaBRP4m6W33NhcR5CAOwt4WmZo7taEo9tJDWO4mdEYm2cxS0XoQRoMrxEnN5isrVbk7EgkxijRooAWNRWgUbClBoNh4y/k0EUiYOze+x5q2WA4xpJRCDC99KySxzRwv+WUfmhpTQaFb2yEMeSZrURqogNu12Q8XCskRvGUvJO5Yss0alA4NQvpoF2Kxcvld497fSDGeN49iHleRYUVVAk+0heTirXEigF34/lrQt7qDQ2LuLm/8wvE8f8fijx+BsAisYlItbe2jZlW5uZFYNO0m5jjrydiTUjkwC2/ycWMRfD/C4pJri4kEV3kIGSS8yNyU/MCTJxVBGteb1CRINqAEkWWFcZ4DbmSUxZLy2eBj3VLS22L7oIKxs1GVmU7vTuS/BVNCFFrho1X/AKo86mcJNJ3rXESEpcXobcPPbs/cjt60KwLSo3eg9ugk0uc89nkVGGH8YsvrZlRbWGOFdkrSNLu6RRULURw+tNgQsfP2WIRcF4JZyXV3deyXJlDNdXExFGZeUalnjBqWPGOP0AG+g8MJh/HQMp5ld/qeXmJuI8Uj99TKSWDz1p32qN2akQ9A+h4sMvlPnBAgAweAAA5BnWJ4lFSeVIpLwKeh9kSfEU0B9hZ4jFEweM4Q+UZGIMlzlLkxjGQuVozPfyq1qwBO8cNaUIJ0CK8kwiOx8rvsdf3UKPGtnhIZpY5aSBoIzMj20dvc2RLogB48CK9ANCgI+WzY2BkwuNsMFadrswXt8XlyEltGXdYyszM94/KRuJ7RC1pX10PQ+LvMv5VbpYXWcnWEXAuLs3d5EnCyWNy00Ub9t3jtwKsrv2/cKCopoeGLDwDBsVrceQXK7N2ir2vM717jdi2Pu+Cvv66A6HPeU36CLA+PQY+H2hZmgrxPoeVwIbbcf1UOgXZjE+RCK6uvKLy3lMsIezSS+eSQPGVWVI7BESIcoifcFCrTrXbQfOow8bslArxsU945f+E77brQ10B3vSiSXIjIB6cQRWppy9x3/fTQL8j9CSq/NoZeRPHivBiFJQ0BozUJ0D5ozeYQyq7TLbyJyr7hAyxuJoQdvy2icsvVagiuhyH8XuONxNjpI4ZDcBrdXnkMYgcAmOZWasYLU47ipVqVGgc4fFZhXv7cWN9Jj8gZPtr0RFrUupZ0BkAorMVaMGq0cAE+mgMx3iHkWWjil+5t7e0ZBJFdNcC4lnhqR3PsbeOZy4IIPc7dCOugPk8d8TxCg5POXuQugwLQWDQRvTc142nJYzUUPKWoJ3A0HJM3cXrjG4e1yl1jUARbGaeXKXJbek6XBSSWzkYsQy9wREddANZ/5fZ27o9x9pj05UHKWS6vI1ZjxVo7ENCtAf8AiSUFPTQMh49gPH5AbzzC8huo24smOaCKd+A5siCAzUr0BZhQ9RoCn8kyFvHNdx4981468kdvBPkTFBlWUABZXjVFimiaV/azxl3HXY10E76Ozx0lzJbns5LLWcJuOLLbiCxj7ryXCxxsotr2/DBIxSojQstOSjQfNr65kzF29uhZLCFw8qoOPNiPoogAeaWm5AFB6DQ6M0y13guzcY90jnBA7LRntiEEKFkFQSHTYUII1AReWs/ksdzm0yEM8r8Xlt5GZf0planbKu5MdhMoAW4C8Eb2vSvLVJRx2Wiflg/JLZ+Q7dstzckmaz4ikNrdI5PfxYLBgqnnGTzjYbaBTAt0l7PicXJcyR5GUWv28fOWWWSNyBG1DGsyBqmKZgA0R5MAQdBs4v8ALy9VraGe+trNLl3S57NhcywwpGokaI3wbsvIFPtDCOJnBpWm4W+RZy2sLX/pjx4i1sLNeF9do6t3iRSUSSRms0kz/XQ1kOwoo0LMtg8DceR3kcVnG9tb2yN+pX1yA8CxytzVyqGMtctGKLFyKt60UVIa+9yaxiPxLwmFyzyGO7vY+0ZLqUIA7Jcg8e2UNXc8UiAotB1C5nxngcHbiMeW8puUInfkzLZ91SCEJDOsZcgGtJJvXiKLoK4MRHacvJvOpw9xMGezxc9TJO6iqRyQrURpSgWHZV/4lPp0MOE5rzlmeRlw/jNs3PjVeBWEcWCtSMXEka+pKxRDbb6SIok+btrIHx3wiwNzcyHi+TBLMXUCs6MVUTNF/wCbJxjQV4qo30LIDG4fxquS8ouv1bOyN3UsVcTsHZeakhywB59XkFP6qt10HAPJvLw5lkGEwL/msie3vQKAGkqSkl2i8PrkYRqf4h00HGynjvjbPY4Cw/WMoSIfuixlR3eNaUuE5STHm26RiNTvQsNBI4LP5xWvvJ8l+mY9NzarIsMMKqK8Fg5rbW4FNweTnrwJ0NJQ5nBYmRbDxTEPmL0Aq9yiyFXINAxnKfc8EJ6gwp8tRRcmJ8oy8DXOezEGFxoBLWto0NvHRuqSzco7YvtvVpW+VdtVC8XPgeCotrbvn8h0WRVedO4rbAT3SdrkR6Rw0+eho0TLebZbimIw8OFtSKJJPEvModlq10hZT6flxqNCQt345dyssnlXl/BmYgRCQbOooyoJHRagbbR9dAGYf8t8ewV5LzKSgcn4NcTcia7FU+1QGo3B2FdBZH5X4pauDYeKpIwZlAeG1j5JtwblKLh+ZPVelPXQFp5nkWoLPxGMAklVEM5BpsNooFoR60oD6aCf/VHmshqvjhNduJs70ACtaJxoVqBQnc6Hjx8n8yUVk8YQgbb2mRGwblQ8DVqU/Z+/QDSeZ5aIE33jUAUsSWkjuYuJagoBcRGOi1+O50MCcfe4jyKZo5vELsMzEfc2lujW8Y4mnK7R7AoxbqQ7AdKaHaq7xP8Al8hZZ76a2erpRZb2SNJkNHifuWchRo32I5k+ugpt/F7eSsnjflZBKh+0tyGcjpxMcTwu1DtQof36C+abzTHI0F7bWGcgaPk0VzHG04hflEjlCsMvGsZA9jVI66BPHd+FyuYspgrnCXbhEYr3zbbmsjhEkhnhRhuKId/QjQHwYK4gjN34tnj2WRme27hvbXtFqFJ1iX7mGN1oGEsHQ0JPXQ7RnzbRRpZ+TYOOG3c8EvbKNLqwdgSNoCzwLVa+2GSJwQDoK4sGE7mV8Ry72yJXm0byvZhTUslwjhru1AVat3Uki9BJoKP1aGL/AOD/ACjGG2jnZj9zaxRXGNclFQXMFmp7IAG7tbSROepqdiEHx11iw134/cxT2F3sbK7pdYrI7kokE0g4PMo+mG5WKcGoXnSug4ZMb5LI9rdxNZZOBCiWM8i21/HMiDglhf3nHvoXBpbXRJAPslH06CgZG8sCsWbaa7slT7GLMQRoMlj4iwcWGSs7tTWIr/wLlSjA1ialG0PHTay4+lxhTBc2GSDwyYxi0mFzUbVLQ2Pfblb34QVNtMRICPyncAaCDQWeWie9sJ7mzucesjyu5dsriEhHuivAB9zmMdCRxD0N3APq7iCgDwlTJtJjslFbR5CcJcLGZRb4ryKtFTIwXo5CyyUsQ/JnjUI/HtyKakAORXUuLaG3v5rgWschtMbnJIqZPx+ZgGkxmUsW5RyQyRmkkEnOGeH3REihAWSePQXU032ccdvfgSXL4mI97GX0Ir/8J4QPIe/auDykt2Jltid6gA6BPaT/AKc8dlfSzR4/vrJZX8LMbnA352S6t3Wr9vlTmB/MUcW330KPpFhi0z3OTK0tMjAq9yW1iaS3yqMOUWSsYweCi5G0sRA7clegI0GUl7fjBXPYOO1y0Dyy2cty9s0M1vIrUura4ipHNZ36L/ZUmMmmxroYA5WTKZe8myEd4JJxBFkcTawKFs7jF8THOkagGstoB25oQOSj3Gu51D0AXgvkt7a3V7OS3kW5xVWkafEXXeJvMVcFh3jbiQc4iRyoSB1pqjdWOEv7LFSJkrnE2Sy3cl2sNzdNbfbyXToyGFWFLdpZBWPuFaFtqV0KsB5FjZbC9kyFmptpIJla4FuzlLWcMAlzby0HcjdzRqbBiR0Oge4zLLeQpfFvzUQQ5iBCWJCELb34FPb2uVH23iP9nQuevH7aJ6VCiqip6gc6VIINRTbRewTxlATy3G5Wu5JrWv8AWFTvTRFTAOFBBDEVU1o2wqVI6HbpXQcRSeKEclaoo1Qy79NjSn76aAee2aWKSBSE5KPcEC8gN2FGLfl8RRq066DM2peGSezc17LloiqlAY234hTuO02xA0Cq/haK8E0ZCLdFOLA0CXce6MfRQ5FD8QdDgFkLgXMsU0fsmPGO6i4fRcR7Cn9Y9RoNFjOEgcA0CsoAH8LBfcfiVDnRDzkKbHcUryPt+VKevx0XjToK0qANuuwrXp10HCxr00KKyDyrQUf1+BG24+Y0MOilfl601F6dB4kgb+oJ6/Pb5aqU0nvXf/X6/wDdqnTpZV3Kq1PRq0qRsaDqdQTtraS7kEQKoCDJK5FRDbqR3GIBBYkbUBqa6KczTl5mPMMkQWOCp5cIQoCqu5PHbof26IpYVA47MSCzVpT3VJA+BHWmg8S/xJHxB9zV+ZNeP4b00F6A1qKqBsSEBVajqSOv7dBensoCyg0qGAqfkpqaUH+3QEAbcgDUgclA5VBPX5Mv+rUF3JmQlSoavTfkadAQD8t9UQHb9queK0qVhHLlvXfkfaan11DK7uKCrQpIg2IMrCRiw9acQqgfDcao8OdSxKipr0Chq7nfYcq/AaC4UAA9wp6ggj5geugs7xBGyha7NU8vxPGhP+vQW8g4C9V6txIWp36jqdB6Oa5ZlCKxlQ1QNI6EhTsqkAbKNyTUaFb8FGZu8U5WHnJJk+6veWAI8XClXa4YAgGu3x0Uo5qp4LvzH8JICb/xehP9OiI0jjlqaCTmeCE8i54V9oO1a6AV0LNzf8qUU4GBgvsNTxIWo5V+rfQWI3IhypqKA0U+4/1iBXf4nQ2+e5g/cZegFWe4hQEVoQGFa1AJNNBr5w3dESKXevCJEDGXnx9gRRWRnDDalToMvlFSS7rNPLW3iFRIpM7zvs/dL+8urdSd9AreJQwZC3ELyeR6VLfBQOg0FQLchQ9fUfD56CnITCR40Dcu2u5/tH/u0WICJwK7k8gdh6Ef9mhL6XgY8ji8NJcQgwNlpFTmFPfFvHWvbqPaGBNGFdEQu7iXP5aGPl2FPbs4WuJh24lTZppZGAHxPzOimXk4x1vJj8NiJYLyKyiDzzw0kWW8l27bOtUaQ9duldDwLPd5LCTx4+2vLy1REjuZoOYkh77jlURNyUJTqNEU5fL3GVihW4hxwkiILXcEAguJKDpIAeIr6020HfH8fFf3qJOy/bW4+5umqePaiPLtsf4e4dtCVWWyP6nkbi6jaVLaMdq0jkcuUhj2ovwDHcDQaRXk8Y8eabi0WXzgpAaETQWxAqR1A9prTbdtO1S5r4348mOiihvc15CQZYXRnkt0mXhGUKkN3NxQV3Yk+mognKJDgfH7Xxe0imlzWVaKa5eMlW5yMAyuR7mXbiB/VG+qJZNpvHsTY+K4qaN8plGH3xjQdxTPTl7qe1T0B6hRoCL7lh7Cy8LwapJk8nxF9cLRivcH58knUqeNd/RR+Gg7lZRhbO18JwCs2SvOCXtz9J5TfzGLbnk4qSeiqNFTyDy+O2ln4h4978xkAPu7hP5iGQfmysae2orv/Co/DRBN9PD4rjbfxnBL9x5DkSonlT+cksoHcuJWoaE78QTsBXQsrL2ngePW3tgL/wApyYAbYvIZZduRO7CFXPtHVj+3Qu9FFaeHWZzWYY5HyXJ1YRVDS92XcRQjcpGhO5A/2DQw5j7L7JJ/MvL5OV4SWs7SX3C3Rt4o4ojt3TX06fvOgVRwXnml22XzUv6dgbck28JbhGyr8OVBuB7m9eg20UtznlPKJ8Vg/wC54mIdozRjhNcge1hGRusTU67E/LRGNhP3MsVpBZCeaVgkao7q7Mf42IqAF6k6D6ZFa4zwiwF1MFnzF0tFirzkZyPoSu8cKE7n/boPneSyt1kpTLeStI/NmSHkftoQfRI+hIHqd9DBQzknf/T/AHahSqvRpHRmauaqS9oO1potaL45CAQfch6q3Q/MfAjQ6GxyqVWKd2eAmkch/mQMf4GP8UR0Oi+eMwSsnQV9Ogr0ofgdQcDHQpEuh6f9mqWjEmmNx+SzEoisbbu0YK1w68Yo9/4pKbn5Cp0G7i8Tw2HRZ/IskJWpXsc+1b160CKe5L+0/s0EZPLsJjw0WFxCuF2WXtJBGw+PJh3D+7Qksl86yzMrR29jAF9OUklfkQKDQUjzbMk1/wDg81O69uQV/wDrttCXF8rupJA17j7a6g35RIVYGvqBKDoVXR3HjeRXsu8+LuHZu1HcL/dY3PTi+6hSfTpoMnkMXLZzyJFxm4mp7BDxuvUSQMNmU+o9NBnnVjcNG7qaMkaliERAeIC/1IkRm93woa6DTSJk/Eb+CazyNhLPdWpKXGPlhvbaaBiBNA3NGjIcqKgj3jQaq28szj233trhcLkLSBxBcouKZHtridWEEbqk6EF1Q8Cmx2XrtoXJn8zkubd7W98fwl9bPH2+28VwjRmrEvFcC8NxE/JqgVPA9KDbQKMhmLrLCI3aKskSwLzCIpna3QxfcXTB27lysASNpSQ0iKA1aA6DT4bEW+MtF8kz0QePmRicVIAs2UulXmsrqwIS0iqGLEcQu534ghncxlprma6vbiZZLydl5cAQkSgEQwRKaiOKJdkXr1ZtySQx8sjSMC9BQUVR0UftqSSdyTuTvqLCvRXq7j5U/o0TiFooQOJYfEV26+lN6H59NVKynzYKVanE7nkKnboQa7U9NDtzhLMzOkbkbH50AHT47f0aGU5rK6hbjLEY3qKIWUsQyhg2xNUII36aGlQFKKTvvUHajAkUJ6HbQWKzAoABQvVagEb+01HQrU9NASGo5oRXZCBsKVNGrXcKxpX56AOZOMrKOtQfgN9x+7Q5NLcL2ZiTO7u8YJUjk8W9WcEhuKsNqE6Bk0rC2RRCZGt3DqvHl+XwYOHaMhuCmhNK6AaNQasZh2wprKkRYR125uJB7IgdqgUU9dDh1vYxAkqDH3A5cVdXXrGw3YMPT10Owv3DwzR3EDdmaHi8binslXZGVSCNh6evroeKbi6kK9xjyknRlYsORFQQ++ympNQRuDoBYnehQsSsn11JJ49N6+ld9AQY1XrOCvt5KQQ4NBUgfxKD866KNsr5IXRYhKJQylJVHuUkijqSQVZKmhrvoYLr64We4n4IFDSUFPUp7S9AKc5SOTf2idEgKqjqf3U9PXf4jUWTSCMhImYUjJIBUVZg56LtSqjc122pqo9R1idlKsQWjMTipc0rQAfw0P7ztoclXFjUgU36DahJpQetR8PTUWsL+w4TnsKLycsdxXoAOvy+Z0MuRulCHVuJ6sp6Kaen8X+rVR48einkm9DSjD4VHU6CJZq03p8+p/D4DQn+uo4R1Y/EVoabbVoelRoXX34i5x9o1Bj5E/DkxoCNwKgV6nrqLDkUzlOJAcKAGDCrKBsCp+rYfjqpQZEyrUFvb9SydYgCKK5Fa8AdmpuNBRdEbyIVYMvF1kUOVb+w1ACPVTsaaL0BUSk1UGu+42JrsQfjqCxUnoxWM7CrU9AN6066qYeilVF+rflyI4bjfYq2+/yO2hQSWIBfvjgpBKlwO5yBAIjUV26HQRtmM07lqk9s8P7IUj4dBTQw7dEMVUBTwDAsOj/xDegrxG2gBVmQ1UkEft1FpEpo6mQNKpK/COikN1DAepB0SYdl4khlmMhYkUZaOo/tfE1OqHNsbU28SzvHD2u4ze92llJX21jGwVqUr6k0Gg4JC4VCxhaQqbhVPEFAPy4pGPoBu1fXamhpEPHBcJIyIY0ISRW5iqy7O5KjmFiqCKDoNuug0mUCxqZRyfn2ltTxSETuwSKO5aFT2oU2AQDeh3FanQZTIlrW4ltU4Diqd7iVkHeI5SFJBUdTTYnfQoWcadepFR67HetdRa24cUE1pvt/oP26Ei4OYqm6qzgmgFSQdh06g/u1UHKhDMxXkfoBMtBz9pJJNa8R0GgsaoCpyUipZjuTv6LXalep9dCQcloCOSHgT03oCa9D6FtAEokYkIWJHtNCaih6dagbbaFhKewcpA0jtyolOgpStKfV6k+mg0HjmGbN333EyMuNx/C4yDqCe1axnuOWIBBLqhUKPc1dvjoaanN54XzTZAme0uZRFY4m0DAW9vZoz83nDr3IjFDx5KoBMxrWgA0BGF8HuLnHfe3F3LYvco0loBaS3MrI8bcLi6ETq8EUwJ4KoeRg3KnTQ0oscfZY29jsvLIHgueYNpcXTzTYTIWLBllVprd1njSjBo5I6mJz70oDoYsP8n8ktbuIYPClIMTZqrXN5GDxSGOoSK3KhGdDWihgWlbfpoMLaX91ClxaW73MFnfSREW6d6cyMr1t2jCVK3JOwYUNSQDTbQaex8UzuSvYrWbH3dgtx+c9xd2jwwwW2wmmkZkCyXRBoqdWcg9K6B75Rm4LK1Pi2IP2mLx4Vb244Sxz8gSrwyBiFuJ5pd+Q2lZv6oOgzXiuAufJLmduBx+EtZq3t7NOaKqAsIIRJSB70oN3JMcdeZHQENRfXdx5Pc2niPjVulribI0L0JjSNHZHvrmUMSYyWNB9c0h6ksaBZkslFj4ofDPDkknnnlMV5exHjd3l6QBN+bQRkBFPceojijFBQLuHZZ7TwO2exsHivPKbuJBf5FE70dkstGjtLJWUuylj0oXkc8mH0qBZXZ4+18Xi/X/JOFx5FPW8xeFuS7GN3f8Axd521kX7wFiyhvZFSg9+6hGyxs/krS+U+WXZtMHGecMe8LXw5GkNooYtDZlti498prxPV9B6S+y3mU4wuBgXFeP2qpHKlFitLe1B5xyXrIBVm4VSJDVup2q2gslyeN8YX9H8RU5POXIWC7y4iE0zShift7SLg6mjCoRR21WhJY+4BIYbG4P/AOGPOLlshlrhhPFiEkW4f3HkslzVgJqMDtXsin8egpll8u82RjZwQ2OEhJljjmb7SxeOD3rHLKqlr1lVKdO2pP8ACNtAhzWYvbmWG0usw741baP7e3xaW9nZgmpaCSK3JSKRDyXfkSANBlpLqWJilnFFYKRQTIO/eyCvuP3MtQgJ/qAfjoYAPbiWRjLI8jswEtxJynlp7TIyhm5SOiVIFRWlNDgbgpLeO7aC5Ie3ZbiJpmSMSJHJG6JOElJUOgo4SvI9AanQ5fRI8z45hGitMHhjmr+OGJXv5opE7srRgySJEyy3Jq9aqvBR0FQK6imIX/MHNqDzTC2ta0jC2rqjCtX7feuWjC+jMKaoUzYLGYqZL7IeWW8t/bv3/tkj+/Fy8Z5fbTos0jgTEU9zBa9RojEZJFF331ThHdqXWM70YMW7YZFCACNwCV9vtoOmgqjJUKUjUVqORAAIO1amtWp6020KpSRmZW5qFQqY2qfQ7AVO7MOo/DQ4S8cnjR57GdOYkDRdJG90bFlQIlVJmWqVYELX066AC5hNjfO1V5RSmJwVDxP2SHQvypv2iuxHuofXQfTz5jcTYOONMVbBRSK4cqqWZYuCrR2UbRKwkNDVyeL7jroGsmJzlzHXyPyaLHWzKHe3iuraMtFJuFlWForYuwr9KSV0CxZ/A8aWVIbrMzKKh2VpImI67Tfbwxio3pEw0PBKeWZm9H23j2DhghBH8mA3LKtKbsEjso9/VlFNQcXA+VZX8zK5qWCIFuUaTNPwB3KMlsUs4Sn9qUDVEGsvBsGjHIZFL6arM0Rl77vIlAVaCx4Id/RpyK/HQN5L/E3OKtbg49reyivLe8x2P/Kge8vYi5sFmht0ISG4BZ5ATIyRISdyNBgfIb245NZd5J8heuLi+coOayTUZY1BAc8QeQC0CRhRsFpoucOYy0xlvJFBd36Y+xRlNxezpzle4fcokaB92bbkdgu/odEF5nByWZaWI/eWjxvIjEIxuI0UOb23aBpIL+CNGAbtNzj41ZAN9D1kbe4vMPdx3VpK0bBaluPsKMKFJVYFJoJkNCN1dToaM8nNj8t9pPDAbWadKOYQ0i2k4bt/aIjSkzWckhV41oDAGKCq0oH0nAYoeL2S5TI27XHkF7bnsWCMpls7TYyEPIW7c/BgZpDtGKIBvuAv6hepJLeLkTKrQtJcPKrTwXMCMVe1jSRbeKOxDsR06iisdBi8fhW8kyzWeJja0xyyvcTzuxlWztWKqz8QFWSRmDLCo9xBodlJ0Gpv8gZhH4V4hbH7Xmbea4R+U16y1Fy8swrGImoGklP0habCikCJ7yz8MtWw+FKZDyK9VI72+RFmSEswVbaKJlZ2DOaJGKs7Hk1SaCGkbewsfDLVMtmwt55HOO9YY5m5i2bYc5XXmPuYuVSxPFBshrVtUetcVcZnl5X5lcdjGxoJbe3Zuz34RVkihTkHitm6KB+ZNXYgHkQ68+U80laxxEbYjxe0IjeXj2UeOL3DuqjBGkVRVYlYRoNzTroJvmLHA1wPh1qMhlJWjikyQ7dyJJh7pKARkXDKOhr2l3IG3LRUYsPj8EDnPL7xchkpFE8FgZFuHklY+3lG1TcEGnuNIlp/HTRIorr5L5qOgwvj8YJcI7xwSop5NIzSspuCD6krEgAFR00E1yeC8cdMf4xYDOZhgYnuCryKJNweDoFeQE7kR8I6dS3XQp8Smwd5dpFkvOc39taj+Rj0k7agU5cUES8eaj6hCh+baHKMfkUaKMZ4PhnkpUPezWsYqDyBJiqY6UoyyTMzbdBoOy+NTy8L/wA18h4JsRbm4IqoJPCM0bl7R0jjNPQ6CqHyLAYqlt45hGyF4SUF2I3SOSjHiypJ37yZeNNwy1+A6aAxY/8AMDOgiSZcNbOKFYx9qeNa1YRLJdSAepamgBfxrxuxJfN+R/cTPyd4YZI+cpBq67G6kDs/x4VOgkuc8HsE7Fnhbq/YMZB9zGhImpxUdy4aRiAo6KoX130BkHleUloMT4gqx8aKqQODyP8AHzgt41Ib4V/boChlf8xphSPD29v7eI7kSmnQBgJrkmoHy30HgP8AMt/cWsoQzbdw2QFSKUIIkH0j410LvSS/5lxcAUs5Qu6iJbByeu7EvGTxp1AGgMgy/k1lbyZDyGXDWtlAwLxqk5vrpvd+VGLaeK2idADuS6p/FoMXmvLL7MxPDEDicXKKuUkeS8yC+nHnx4wFQKVVUrvRjvoMzZ3sUU9zi7tpI8Rk+MsBX+8PZ3caqkN5GZBzkntpSeaclEiuQdqaDaPgvEZ+KJmfsb7tBnQs8QefoRF9zBGOLsCarIyr8ab6ApcR5biYTLiswL6xNGEVwYpoXCkdtec4nhYA9B3FU1rSh0Ftt5Db3UE1hn8R9vkY5UWa3hSB5I4wABLcWeR7sYjmDBlSCqshqCNB4eNYvIl7nxy7ltb6ELLJDYtJZ3kTmrLI2Lupu28YAJrBMtT0BO2gDXNZO0jc5uxOYxpDxfq9hD2ZgiuElN/bSwnuFShBFzFyB6NvXQDjGY69pkvGr/7O5Q8gbDvqVYUKibF1kuYd2PvtzNGFBJRdBCTKyQ//AAf5NZpEJyBHkbZBcWN2ULKzXltGxSYsx5PLC0VyGAqfTQQlxtxiGW98avhNaXaUNjI3fsr1XFZbZZGQRCZVNDDOI5v6vProqppMf5HMtnPbXNpk4YliisWcJPDNE3Dhjr68KvIxPuNvctQknhIp9uiKRfTWTm2zjC4gP9xhzscJluLcIT/cMrazBPuYhSnZnAKipiYUB0HHsrvDhrrGi3u8ddB+/i2kNzjshEg5GXHNJQzds1bstxuIWWo5ActQhWyWt7FHl8bem3uYDGq3UspN9ZyKoAjzdK/c2Tye1LwDuLUCYEe4UXERZtZrO4tPt8pAWkkxVuBHIZCA8mWwUjSLCtxKnvkg5GG5ABXi55aCNretMY8dk5Laaa5WSKzyl0XONzNojlGs8sgHeEkLrRHPG4s5fgtQRpBJGxbRWN/Jex4lbuJrWcv/APC3i+SILwqzquzPH7kcDhdw70rUAGV9EtxXISWMd5NaLHdZWzjXtWebxZei5qxQEJGSFIuYg35MgJHt3AajG5OyuLOOLx4xY6wkPckt4ricywyH+YycS7pEtKBEcKzGpG9dAnux9q0+Zt4/voLxOGfxRDGTKxxswOQs4/cLe/x0XuoxDMOVTQ6DKT2dzjVtxjpZL7EXNwmW8evregEMxkVZ45KlHjDRVjmiY+1q1HroPoqJh/FYrjIZK6hbITcXdIpI3mi5LyhtrSKrkyRV3uX3XfhXQYjOZzJZ3FZEtG9ni+5ZiCzDdx3leQJA99LK33chmJ5qXqCQDtTQaFmhnRLSRI47VY447lJ3UyXEoiVJW7VQxalae4xr8ia6Hb53cQ3HjGYDwlmtn5GIsKi4tGb3wSD6HdAelSP2HQb6zljkihEMivazIZbJwS1IgoaWzctU921JoK7lP/DoOzcWXkQSFqVKqOXXdl1FCLWvIszcgNwByPIni1PiB+3VRN1K1rUA0NAasdttjXc+uhpIK7gNSi0CtJX+r1DkAEkqfTbQZvL2jQyi/i50jZkuFAYoImC9yTudBQ09oHpXQLriKO6gMbbqwqrA7BuqOCKUNf6NDGGVkjIlcsCsxDI9DXjcRbcqfCVfX56EGmHnozK5o3Ja0NA1Rx4061B9PloNWrcutDt0+I/3aCYoN9q0AIFafLbrtor1RX1P+/00SrxP9Hw30KvU/wBP9+i2SC7q23TYAb/tPQD5aE0W7Ab/AO//AE66FLcqWHI8q0Cj1/Hf9p9NEo03a+1to7RSGllCzXdKAu1PZD3CeHCBT0FKmuhAVnFQ1GJJCkkrsOnQD00HArUpQbuwQ7+5TsNjuNDxJF4khiwKkqKULfPdtgPQaAkLyKFTQEkFStCtOpVvp6aKkKct6Mykew0qRX6j/Vr8t9EWLIC5ZkZk6iMOIzQGlA5BIFflXQdkfcFUC8qUWpcfKpIB6eugsqPp+G9VO5Pw+S6g8HG+3ur8RuK70JPp8NUw6ZwNjUjryAqoIPTcUqfXQQMzHog671chqfIAddBwFuQPB2BPw6EdASfUai9Bpcva2sjp+bdTAUMMAWin4SOT21/1jVQmur68vtpXMFuK8YIJG58T1EtyaSOD6gUGgFQBVColEDUPbIDGvTlXdx89Bak4gPEs/Jdxty4k/VVelaaDsUqu5kkV+Zr233o6+vEHZWUfDQERKDKoQceJLBAGJYDrxPSu9ToOlis0oQUAHwPIFvloMNGr3HkKciXCTvIwUL7RGu5p0pWmg2BS6jv0v7QS9yzAupJISAbcCsazuxrRQTQgddDL51nrqa5ytxPK4MrtzeRVCBnbdn4rtudRYQtbiMxFHYswI2alfxHxFdVLiWjEQMkntJAZAB9YO+h0TTo1TIRTkSafL4nUWF2PtJLy6ggioZJXCqrEKDTc1Y7CoGhL6ddRXEFp+ps6jtoLKDtSmSNXp25FVQzJHICDUUodVAmHwcuXS8lE8dvBZQvPczSrzHRmChKipNDX4aArx/yD9ILq+Ot8hYTN3GiZAksEy/y7m3k4swU/xKR8xoWL8jNd5K5nzFyIE+7kKpFFMjNFFH7EVkoGAC+p3OgJ8etY5crCZkR4YB9y4mjaSI8PoDqoJZSdCjeXt7a5DH5CzhshjJJ+Qe/t0QRCNN6FWCSPzApT0roMF47ZJf38MTIzW0J7twRRQI4jsSx2XmRsNA7juFz/AJJNf3civicIpde7RE7MBPbThWjtJIKn4gaCzEva5PJ5XyvJSiCxx5/ucQYq7SKtIRGvqUX0H8TaCOGnVpsh5lmHuJY7dnjxqyOHd5TVVVSaD8sHiBsASdAVgnWKLI+a5t/z5O4mNWQE8jQqBEKfxfStPQE6CWImbF47Iea5IcshkC8eOWRarxY+ygG6cyvX0UaC3DH9Exl75jmCkuTyPM2UM4YPSSpVU2JQynegGygaFFmNkfx7F3nl2XXuZfKkm0jc1khjkqYowrmoQ9TToBTQSxTjB2V15n5Bymy2QBNjFIv0o61iRaV7ZcDf+qo0EsTALOK7858m4G5nUyWFs+3aVge0qKa+9xQL8F/E6FEcWguHuPN/JwViUE4y0bcRRVPbZFO5ZiaL+NfXQoEtYbvze/fL5Um18esSxggL8Y3EZrQnYNUD3t+waLJJ5N5OMmox1ggtsPbHgqKADdmM0VjTpCKbD19dBh5Hr+A2AH7gAND19TwWOtPFMO/kOWXlfXKD7SAj3oGFYokB3Dv1Y+miPnWTyF1kruW9u3LTSk8VrVYY6+2KMegUaGOyw1/7dEs5yINDT8addRenKqeq0/A6LR7iD0JH4jVSrnA/LQs5x+LDQ/XKCvWo/dqEQ7Vf+/b/AFddFqkr0PQcTsR6Ef8AZoQNjge8WaPlGJLeEyxtI/EyxDqgr9TrqoVqfj6Dr/v/AA0J+w2Hjvi8uVAvb3nBjV9w/he5A+exSI0/FvTQaLJ+VW+MiGO8cjiXtqY5LrgOzF6FYgP5j/H0r8dB88uLmW4lae4mkupmJJkmYuan+qD7VHyGhdQXZqEV0O0OLfD/AFahMy5xb4apWUgzDUKJd0kUYB1Po24/prTRRdrdPbkdv8yKvutpG9PXtv8AUp31UaSaTwy8hfFYvGXUN0VZLOS8MEctzMAQJWvklM0F1IDyWKVHicgJ7SwOhZ8/uIpYD2Z0ZGUB0BQoGRvomQGh4yAfsoR1GgOx2SusdcC5tWoxQwzwuO5BfW7gdy3niJAlUgclJ3VgGUhgDoITSfc3M9wQAZiWOxBEpYku+55ycf5h6uasdydBscNhraztEzWf70diG52FgABcZS4UbLBE+3EinuYBFT3P0UEeledzc9/cPPcuiuiLBFBFyNvj7cbpbRVNXYVqd+cjnk9BQaFmOecyyIXqIkJKpSo3NSWoByZj1P7ND1cqROPbIg5yJF2/42WY0JQnYNGwHX0NdAC6FHeM9UdkNPipIP8ASNRXCKaKkkbOfaBt6lgv4AEkbnRJe4uDurVFDQjf4bfHfQtgZbwtKzl3aPgoIryJPI0JqP4FU7/HpqoYOw7LpVpWiSis5ADhSAEQU9zUOyg+h+GgCntkiijnLAs/CsXUFWQ0ZRxHEL033/ZvoBU3I4ncVoKg0oK1Ar8v36HYmpBQNRuX5bGnHisw47n1o1N+h0FFwCKVBDRMYHr8Ruo+NV3FfXQ2shZeyebDkCQoY78flXoBobWvcghQsjlgOLBGIJFAvtYdCQdAdaS/aMJYIG5dPzCSzK3tMbgGjo4Jr0roK7pmABto1MC8pPtmHJ7VmYlxG9ORi6etAdDoqeXuCnGm9R60P4/xft+Oiu8XkRVFW7fLaoARepUA9DXc6gMjtwq1ZgC49jneMoKcwCDSpbYV+GqyjxSSVVV1WNqgyORyABALUJHLc1oN6aNcPcZpiLeOs5QtxW2idixrTYRK7EcRX5aI01l4Z5RcxCWLCXUMTKGFxeCCxiWNlr3S93LEyxcTXlTpobMLjwHJRq93e5PCwRM/DjbzzZCYSF+0sbQ2EEnEVQlnJCL6mu2gZxeHePW0UbXnkt3c0hlaaLG41IY1lTiBbpdZCVI0kLnbmoLUPTcaC6Lx3x7sBmhyk1wZFTt3GVtIEiISsf3H2VkWjMjbtVgFqAGPXQHfpniUFuFPj1oLhFimkmu8plLznFIxAkSG3kgkFHHFlYL0pv10KJi38cinFcBgwQ4WO3P6jPHJxK/TJJcduQyBiFYD2mnIU0VA/oLI7NiMDAZO6YWlxRiMzLI3cUiS77YdHUooUqelV3B0QJJdYeJnaXxvxxogBxaHFXDBwSCkhRMgjoeG1VLRufUaEuNL43dgA+P+OwNGQWUfewGaRVLDtGG+AaEr9cZKuD05ddBGaLw6Yov/AEstlwEn3Ma5C+7k5RolRrKcSyxxcanmjq3INsQy10LBZfGvEZzH9s2Vs2Ha+8Vrq2uIII+RWaRA9uLgTq1OMb0Vg31Ch0Az+F4SR3Npnrq1hAPbnyGP7sAk9EuZbB5BbjZjyYcSq8uh0Owq+D37TSwWGWxF40J5Gs8ll7W2ilje8iS2mW4r7QrtX1poclmS8R8nx7Ol3ip6RpH3nsxFdxIstRH3vtJJu07laCtNDohERicJIrxkAgJIjRtXqSFdQdqb6LkfbuIy7q4VrdDOKkAt0Vh6lmZT09RXRCEAVDkUQvuBvQVrQfEAHQ4XlStS3F+QA/rEqRsVIrv/AKtDKqIhZKBiOSlagkVr1Bp1BA/DQ7EsslCSvTdT12+e9ACNAE495/2fH1/YNRYxwnHE8rBEG/Vm3oo+Z/DQq7IgSQ8R7ajjU19NyDTffQ06r8OTD6v4SQPTcEV/ir0+GqiHdf4nqT19T1JO9SdSq0EJcAoUcLUrQOSxUiu4kUbkn0OwGqhrBkBZWyo1tHNKgleO47xuFBeghj7UhMcMMYLVpUsT6aFCF2dpC5A5OxbioAALH6VUdB6AfDUXsQls8kcsi04wsvdoQRDzYIhYEhmDOaDjX56qK3hkQkgFgASGXpQdWI/h6aAoy/ZyBSqz+1WBDgoBIlT0G7qW/fourILePyQlKqDVgzFi24oakfwj9+og+NUeSOjEoxry4tUJzJYLwBZ+QBoQP9WqUeupIwZWh9ka+2MlSCy1PEkkklmrv8hoFEDvG/JZO3tRpCvKgrU+2hJqdQldyac9sMXY/wARWjHluVFN6H/Vqj6pDJaYzD2uDx81za/ehL/M5K7hmhEM4i5JaRxKFlVIYlDMpqWFKV30C7FQr5BmPvLvtpaQBUENEhjNtBRILfjVQO+VLyEHkBX1OgK8mzdxlL8x4u4vxBbzRJaxwXLSC7v4Py0urKBY4jAET13ZqVFNA/vr6mEhxHm0qR3Vy8EtlJaQpcz2yRUKNkwxXi7v7S0Q5svLly0O2Tz+LxdpDE9jfewOZDZW88c0ckbIB97YXCJCzpzYqVuFEqgVBIB0Gt8OxdvirF/Jcm0MBcccYLicRdpACgu2WjFpZd0iIHKlSNyDoNHJnPvLafFxS2tjdX0faW6Zb420Cylh9xNb3BVmEquFSSIt+YQSQtNB8otvHL7MZ2PAxyqVtnmlyN0oeRYOzIYbi4k5cjLIFokIBKsW235UDZ5zIw3Is/CfE7ZXteaWwNP508bF5ZQ5AaIRsGaeVga0PoBUKMlcweN2P/SuDBuspeyRplb+JG+5mvZG7SWdpGKOQQ3GIVoq/wBosdBb3LfwSweklvc+V3ycbyQ8pkxluwLG2gmRjxnSUguSCZZKbceOhDuPtLXxO3TyHyGJrnP3atcYjGSfzLUuSPvLsuCi3rM1d9olqB7+RADY7HLkFl8u8xuG/TCxmtbNn/Py78vakcLMHGPFKIgoZgK7J9QSC5Pzu6ku764jxXjWLJje44iG2t0j3WC2hf8ALlvjHQMTVYR1FaJoqU+Sucx2/FPDLQ2eMCuly5Kg3Kcyst7f3vFnjtZAASzfmSN7QCaKCJvf4vw2I47BquU8lmKwXOUMIligkZuDWVpAeUgbnsqKCWNCxY7AYTiwVril/X/Orlrq6lIe3w7Sie5mZqml0vL30J/lqRElPcWPt0EFfyXzcFIjHifHLd3Kycft7eOFAwWNjEY2vDHGOgpGD1K9NBnMtaYwWbYrGX4yYxkgdb54limma8aksMZjNJYbaSNWBoCeR3oNDljQe4qtXepDgjp1Gxr1JFDoLOfJUZAPaeIQLu52FQoFWNNACxMN8CfpmAHECgoaDiPRaMP2aD6vYeR3sdvDBgsDYnKX5aea4tw9wiPEiQusNmarBwjjVnDyOFZ6kDloCT495bm17uayxt7ZQ3JHmLxp/EVaC1MdnH06NIN/TQCyYvwTFKy5DJS5GSoWSG3krUbcgfsxHDUfOdtBnMvNj8lAf0aC6S0xkaRw/dTtc3Cojs6JK4URwRmN2WNeTE0O+gRo3NFLGgpQEUFR14v/AFtuny66KmvGtAC5NV49Qdq7b0FNEAJKbLKQzovNJOEhV68XaKvcDqpVgKCuxBHWtdA88itopQs8MkUkV3GAk6chDJcRDuQ9tnYtVomaPck1XfQG4OC6v8bd4p7K4Mk0H3Kia2uBK6RARH7M8BHQBlLVqWA9tKHQaS28Ea1iE2WyNnaQxgB3hWWlAAKGfIPb25YE0ISNzXQX/d+EYdSUP6pdoaJGqveEtyHR7hIbSIgrX2wP+3RQ9z5plpV4WGNt7CLqs18wkfqaFY5qQoaeiwiuiMxd5DJ5JgMllbu7XcrbwO8FtTqwrT2oAP4VUaBrjsWUCQ2ljZvlMiEayiZe41tEBxe7upJy7xxqSW4nrsPjQDsjd4/HWlssRla3xlpJa45u4qyzXE1WustJy96mZ1CxrQUiAINTTQZLF2087teyI8lzdMBEiqzSLHIwChFFW7lwx2+X46BndYq+a4hsZbG67kp4Rxdln+4lcAiLmgKs1DvuOHU6B1Ji5/FcJcLkGmu7h1b7bGJdJJaYq/mRhDkljhJnjmtYhtIaJyNCd9wwjV7riaplUjuqQVRXKgyq8QC9tw56UAFenTQ6aXw2fBWOUkmys0qtD7sarIr2yXLKSLqUBSS0AP5daqGPKnSga3I3M1/cF/yL2QPzinpNws7VK0uOIETQNFGQ7lzIhbcEEqNDLLXH3OeyMWExBeRJJAJZGk7huJUBEt3dXIBZ41UEhjQKvpWlQfZO6jxsUPhviyyzXcsvayd7EoE97dMqqY4HDEoi0I9FSMGv8RIW3U1t4VYfpGMdbvyTIIEyF5CS32asQqWttQF6CQ7D6pH9zblQAlb21r4VZjLZdPvPJb9Heys3YObMSKeU8rVp3zy/Nk/hqUQ/UxFEbDGRkTeY+XlSktLm2x6qiPdU48HaGUorQooUrF1cUdxwoCEBFd+Z3DZfLyDGeMWUnCIFljDIZKBQ5ADsW2eYg+40UVoAHp8leeSSJ474nbtYYmBeM08fcg7sR5I7TMhLLbPXZSC8j/1j0A1J7HxdhhPGbePNeSXEZS4uuKulqxpzMjljFHHEx3XlwUirs7bAsL7fxRLR7jO+XTXOVuFV5vs7a2mkEsyrXikZTuXQB9eKRDqxptogZ4/I/MysZgHj/jcYEyckETS261EbEsyNOyx168Yo/lsNAOc3h8EBi/D7L9RyUhWJ8mUaUyTFh7UjaMvcvUbCgQdQp66HTzeOIgGY85y5jeYmRbPuF5HIPujKxl5CymlVjoi+rDQeHkN7eF8d4TiBZ2yAI160Q7wUsKS7kQ2rE1ALFpKGobQlGTxeysScj5lmO5NJxlNsJXeeUlqH2k/cSBDTcKg/taFfiyDyZFU2niXjFW2BuZowwUg+4sISoIPX8yQjQ9XzYTyfJx9/yPPJjLJQzmFJUiSMMaugRDFAGG21X0OQPY/y9xFec8+cuFDFlj7siFlGyuFSCElidgaj1J0BMPlkYpF474jGG2Cu0QnG7fQBawq6hxtXlUE6A43/APmPfbRWENghLH3QQxUDmtBJcSmQKBtXQ5VHCf5gXKD7jLdhRUH++KrDf6Wa2gZjuNqn9uhKP/Svlb9uRvKo1krx5C6uC6mhAUsicnIUbfLQQv7uXxULHJnstms7PEVjsln7VpahlCia4grIeXAVj5saceTih3DAX17dX0pu8ncvkbhSi1cmSztTv2wQFRJpCQae0ID0B0NFbyvIxaRizE1qTUk1G3wr/s0EZENzG8TH8zl3YpCPak4+kkjYJL9Lf9mg0mIbFZu3trfKSLZXuKjkhklnllIyFpzA+0YmOY2lzjB7oAqmORSQ1K10Gpg8UnV+5415EshK0CQ3kBEhofyWjinr7aesdCPloKr2+y8Ecdt5L49aZaCBQiXsaNBfRR8iS0FzFxaJVrtXioOgEjt7DKCNPH8slrMdji88ypcW/KvJrPJARyz/AJtKJyApoDBP5LgOMd3B+uWEPuCsZEv7eNdnMTKsN6luCCQtHh40rUU0MgHTCZh3yGKnfF38YlmMduqw3ydte4HeNWis79AUapj7E9aCjk6C79YltyYvJrQSR3YVRlLe3R7a7JAWJ8rYypH9xJFGvtDCG4ABHL1AVNZTYcrf4G7tZ7O7HBrGd0uMXfBqEW8P3DMUuqN/h7hQynZHkOhoPKtn5EDEkM8GRtEKNjyzyZODiTU2Mly/3GQRTVnt5H5oK9pz9GgoW+dTDa52QSROhtLPOrHJPbTQRNQ4/K2zLHJcwQSf8JhHcwMSVKnYhx4rrB8xDFNPhpilzc44ymURhGHDI4m8SjTxRMfZMgEsDe2QD+ILZbZw0GdwM9ZndQLiMIIbiWZnjTH5OEjt2uXlU8eQHYua7BGNCFE/2uWgkvIwLC6smTvWarIlzgpEYI0ljCPzLrFPLV5oKVtQSUJAK6Glob9ZE9hfRKmWAinmt4TFFFmFCflZDHyAdoZcRUMTpRbpfY5pQgO2szzPHib9ree6eLsY28uyIcfmLDufnY3JniZ4p42U8SW71tcgcfgR6GglGJlCvdXsVq00r4q4kRXusLloUEcljlIH4iRDbuUnUVS5tzzUVroerY7mDGXEl/bQxnFXE6w5GziPcTC5KYey4tWB4z4q+ALQFiVpVGoy6GW4T7d4hPGkMjvH3X4ydvkkg6Lx7cPuQe8kN0IG+gzNw0FjcXFhUrh88WuIIuzRcXm1DEmAVH9yuuHF2HxB2odDxnjj7e3Id7gytDUJGS1zHESTTtmitNxBqpavAaDVfo0eXlwFmj3iyNAJ76QvGbaDFQuJS7rJxdZjc+yJWFAD8BoGeT8hsQ9pgvFYori9kuba3mmRInszAJhGba6uLhGe5EqkgOrJx6qNBTnsLBfW97Yi4tTJaSNFbFJGZ7TJ/wA02bQGNJEMydWaiFPcCaU0GE8dv5IZ3w11WEPMwheQgNj8hHUhiGKjtSMCD8idjXQbeOeOdXKOiPC3YuIiefGYbUJbiOLjdT04/PQDyRBGPuQciWNCx3p9HEABQfQjcaChGIFeAUEA0qTRjUDiWB93x0He44oh6oOSycaAhhWjAVHy+GhaicvCSNo5IXZZQVcAAsQ1AfcxHGq9CBT46DHojWk1xYEGiMDGzipMRYmLgxoRUGh9DTQ0VZODiwuFH1MI5KDcNX2OQB0J2OgU28hiuk4qOLSjgXHFgxIUhQNup3Ghhu4acF3rsfmSR/WP46Ku2rvt+7/adERPUfDeuhT8e/btSgH+346C1RTr1ArTr+38dC6QPr1FP9Doeolvhv8AIGn+vroGGKjjFwbmSvasisxFA3du2BMEVG2IWnI1220B8peUtJKrjlVyWFZCWblyRV6Cp2GghReZYcq03rxAAA9a1HJl6jroJqj7sigdaFuJKr8aN/CR6+mg6WqtaLxUVBCU5rUDqTuw/p0EuRCAV2J9pUvyPxCg7bDrWo0Vygqp3Wp+rpVvXkfTYaCw71qF5gEpv7CwFaUWhpT1+OiYdkbkuw9B9JJJqKk8qVpXQuj0BUyAHb21O9PSug53EYV2Cg0NDUAnYculToYTUg19odQpJDPxj+Famn9O2i4By5O3gJWIfdzjosDkom1PfNTgAP2nUQsmuru6qJpjHE1Fa3tyyrTr75Prb50pqgbgE9qqFX0WlAfnX1P46C0sEADAEcaEU/1EetDoBSxJDb+00HSgUfspoLI3cHmhG59/LqR1oa9ajQSa4YMCQBGfZxWtAh6D49fXQExllRHCAp7gZOTEMRtUqCG9uh6IT6Gk+tlBJ4NyJQAk0rTemgx2DUSZO9nUsQsZBbiQAJZCWrUVqAP26Id3J7k3ESJ21IHL3KO2N+J4mtW6fDUV86yDK93cuFVQXair9KgegqSf6dUrcJCyJKjSKWRWBYDrTUWTS4vEuGrFEwTZVLHdaD4fDVQJLKQrRkB2YU5fD5ft0DvAvJZyNfxkr2R2FbtLLEWmFDHJzBVar0PXQaC+kglitYrfvKYkZ7qGQKkf3DGoaIIaOKHrTYaAs3t1bYs2iTQOuTBS6QgCSKKMgrxdehcbb6BjZYzA39vyiyrYW/iG1vfMGtrnbYwzbAj471Hw0GcmSHvTQO8crISrywmqOV9VIoGB+OhdssTC9jiGuu8ILi/kWOFSn5naU0DVbqpHw6aAfPXDWuPFujlnuW4MXPuPIVdlFNlp66CmNhhPGp2KOLzMUhgBClftwKFt/cCFqa/PQ6B3sP6bgbHGR8Df5WZJ7iIJylEdQIVMnVQTTb130Udm1Fva4nxWxCy3DNHLdtGKs1xL6GoFGqST8tEeywN3dYvxKx5x2lmYxcuEJfuEVmllRQaiFSTXepOoaGZJYsxl8f43jpWlw+NRGuTC1YwIh+cwJFQwHt/EnVO05mg8q8gtsdbntYLDJyk5BkidYPaQQuyiQrxBPoDodLu4fL/JFgBH6HhfzO0GASRYTxBFNnEjLt/ZGgsiB8v8hmuZ5ePj+BPIJKR2neOtF29pVilSf6oA9dB2Cvmudknm5R+PYY1SHnWGeSOtONQq0cCp+AoPXQWxr/1pnGklaRPG8J7Vhl4Is0sY3QhTQp7a7nYbeugFuGufOsymPtQ0Hj2McCR1HBSqe2ppsXk4kIPRd9FrH+LPJ5shfKMJgLUjD2I7E8sDqkU8kYAMBYfSikb16nROXzC9tb2xYLe2stt/VLr+UQP6kilkP79CrS+FYZMrkjdXKg2GNAnlJ3V5R7o1J9QtK6i5yp8rzhzORdomIsbUmG0jqeDFTRpeB2BNNvlqoymiOaD1Bv8APQq50GwofnouZu6K03GiWc/+JH7NRf8AUSB6dfUfDRa/iP7P+zQo5TSp/wCXunXodVLwtJPAMD7ozyU+tP4h89tDbUeM+OJmsgZJJUGPt+M1wCfe9fdw4+kYPU+vTQ8NvKvIEkLYbEN28fbgRzSx7GRhsY42Uj20FD+7poVYBmoOI2UemosfZRqR0A/26Eo1Y+p1WbvGvqdCYmEiGUA0IDdD6EfLQ0hXQrLuhWZeB0WJA91ywYsU4lWiaMFDC4IZTGVPKoYA1qTXfrodtVk5LbIY+K6uhLY5uAUuoJopC97NIvOPJxiU90WuQRWM/UJc0cDjI1AzEa1/iCniGNehOxoDvxNdtB9CxWHs8NbwZvyJJHkmUy4nBOFNxknQ7Tzqf8NawtQnmOnWpIUhn8zmb/IXMt9ezRvKysFCELHbxA1SC1gYjt26E7D6nIqanQZCad5uAO0calY0qSF5Hk7EndpJHJZidyfkBSLRUGpTb1/fT8a6FLrH7bboaUFdwFPXpQbEj4jroIyyd1zJwWMsF5KtePIKAzAHpzIrT0roRy4ABQfxdT12HwA+Pz1U5NnjVuMjxwxMVViIwnb+kEduvtVx6rvvoLy+OkAZ4aOApKxs/BuIFaijNGzkb02B30FPceOVrm3jkmto2CgvD22hUitEIJXmFJFTUmlSNCXvuEuGaO1Q0Y0jjl48wOJQVcv2k6lixpQ9D6aESBupOQWryPKSebSEFSuwQoaA8aCn4dNAKjMjB16qeu37Rv121F4EGXkGrxX2qo2psCSPWhKg7aqQtBFy0Mf1vOY0epNQ4HDmQoqNhU6AVkaNjG49ykj4q1D6fEH00HVeNQaoWJ+YA/d1FDqLdcbtgAEUKB0BOwPxHGmgppNKagMxbYBQd/kKdRtoerli4Anl7abnpvttU0FK6qTfLQ4rxnP5dkbF4m6u42rS4eHtWZJBUn7u4aKGu3UE6HTdW3+VzQxLP5LnbTFFgK2dpGlxPGZHEUZZy6pwDEFiquoFdwKkBfjPHPGMbIZrvH3WTpGCv6zcQ28UEhdlZDaWPfjnIVQ3J5aANSlQKhfc+XW2PYxWMn2CQzmWKzw0MaWiTRKILcSLDbRPKJ4feVlkkieo6HYDtkp/KrtyVCMIZZe67ZO+muZfun5GeSKJm4Kkzk+wglRsCNjoFs/kV+yxlbyOz7AVYRZwoshq55LLK1GmUhjXkTU030JM5LbymCC+uZLO/FpYPGL1cgLST7Z4u0i9qAnvhl+4QkpWkcikniQdC2gMuJy0uBPk6hLmxaVpJ2gvXa7iklk7Mkl1b9I7ZJowlK+o2476COWxmSxj/lyLdQ3VlbZCC+trm4iivLG7RWSZI5Sssaow4sG3DL+GgbW3jUN3isdlVzKSW8z2huQIGBxltcy/p97cyiS4HL9KyLRicKFDwSCUEVGgLHiNrZ3ltDlLu7WG6tLiUPb29s7NkMPO8Wex8qyvKsr20SNNC4AM0SgULU0OC9PFnj8iuMFcXMCXElnePhpYreNrS/ukj+5sIJC8nbjgv7RaqyEFZCFANNCsE7Ye7jZ7ecQQXMYPctZ45Ypwy1L845uLJx/Ag+h0JUfo9/QskluwAZKid1Qq2zKO4vtLV6GldB02OXt1CpHNxBVgLedTWikCpNOSgE7Gug8Z8xaqDyvIlYNKY6MyRhecIEgRiqABjxB6K3wNNAVD5JeQiOKdYJIVqjRywhWNuyojQKsoCuYyA6EsBz67HQwbWnlckYdpo5pOLuv93uPtWmtqUjhuntmVpHZgpUHuJGy7GjaDX/8AXlrl7Z7PIrBITayxpLf2FpK0Vwx5JcCARyQyyIKqCpRdxyQkE6AS9sfC714UjxVzbPLCFubzD3iQ9yX+XKbXFlLi1nCzH81axiNaUJNBoFWQ/wAuI0ktRic1bXv30lxBZ21/BLj5jcwRiWS0M4WWBbtYyW4SCPmFNN9tBjMx43mcHP2cjYXFnyUusiD7m2dF4q8sctuXjIUsAehBYVpUaDOycEI7ZZitCXOwJHQBRutPWprqKJMiv7t0r/CCSoBG3r/Tqp2rVAWqxCqq1Y7ch8gNA8x1o80YkCMiMr0fjsI1qDM5aiAEClSeugHyXO4kht1IdbOKOxgovGR0BMkaN817nXp89DBNLDLEeMiMDyZKFTs6HiyVp9SnqPTUWzwgkKlulBXh1Y0+IHTbQrvSPbfiGoaHofl+PporwFAeg3pT+I19QPgNGaJKpck7rwHLpXpSnr8TvopjaQs8lTEziOMySOqhmCqDWTjX6QKA1oaaqC7ixT7Uy/cLGft2nWKQgK6qUBjSROSmc86ohAqoJrtoBbazW7gMp5hEUCSRFL9kr1Z1X3dpgOvodADcQPbuVBqtTxPU06gnYdRqLbbtvcNC245AVIqzJxboGqu5p8NCXbicTcUWoRdyTUl2+Jr8BqpfL0KEH2p3K02AqQK1IcDYK1PWmhy1+AgvIkbPpjoLu2w06Eidu1amWQ0USnkGl7RkHFV5NyA9NDkfmc5kr1bq3ljSO5zklrLdKYljaGC2LrDbQrTnHCG+pieThR6dSkt7bGG2g4gvAlSeNSKAAkyqKV5sSTXRGzwnkvjOPi+5mxq299HGOKBBcFpRHw79pdTMJ7Np1J7icZI9/ZTporLZbIXGTuri/uAzXF2pFtbyrza2tP8AznjoOPJF4oKDYltEHeM4S4zeQS2kVWsbUJPfXCTvMjWqNUW8COoYd9hxIoWCg0A0H0vJX0b3HK0gx0tvFbxi1BhDFIFjZJpyjObV/tFSgAKsqglgGA0Msblb77C3+1s5JVkuUVRGpeWSRWBjM73LIGuluISvbjHsUMFUnqRczmlXwrANjgVGey4SfJAr3Bb2zoRFas3tcmOOT2tGSTMXp6aCUdPCMObmcA+UZu3dm76czjLAkHtszVBlJAaWvVxx6KKlUY2FPF7L/qHIi1lz95EXxmNvJSlzZWVwrI2SaMq5N5PX6WK9uHaoJYaIlh7WHHQnzLyJke4nZ7nAY6dHJvrthyjyE8aq0ioSfyARRARIdytBdVj7JcvJdeX+UySJhopuUMDury5SYSHha26yECSwiZeLU494givEMSE1iuvN8lc5XJS/pvjuLrHLOOMSW0MVCLGzp7GvZUI7jgERAinu4qBp66uLry67tfHvH7WOywmNHKMxrKLWG0Unjf3ikCUO3u4IDzmY7+raCc2VW0SPxjwdJ53umaO6yCxR/f5W4CfmFHaixW0cZNWYKkSbjiOoouDYzwJPzFiy/lkqHm9S1riO4opGjP8AmmRw+7gdx+ntUhSFcGGREbyfzu4mbugS2mLlkP398duHeiJVobcVAEQpQfXxHtITMue86fs2yphfG7MBX93asoki3PcZe0LmdV/gHGOMf1a7grvJvGcdLBjsBHPe3l0Dj7vLM4U3ImBVra0SVTBF76DuKqlUqAd+Wgw91azW9xLFNGFV5JVRlKtH3YiEuIY5IyyP2n9Rsa7VGgHSRoyHHEAq6AVoyA7VHqASOo6agGvYT2UIVjItXJoyrxDEEryA5qQK1HSh+GqdNn4tlstFBLa4uOKe4aIm3Y2cd3LaO8kUUzWoYgr9xVe5VWFFBpXQay6wCJ+b5r5cxJPJ7GKeR5OdeghpLKqjpVYkApqABc14tj5OzgfGxkpQBS6vu4z8969uOk0zL6hqr16aonPceQZiaMXWJGKxrK7cooPs7RniVnt48jcOGmehqE5inI7ddgwJga3llt2ViEdgtaDkjUeMg7ioQ9RXRVwDcKLEOZavJXckLsAOAFBQ71rvXQAZGJ3gWRQOcDmQBQSGAoHWm9GWlT8RonTWeNeSfY21WxT3zIksdpJAHRlMrK7i4k7cyVRx7SvCRQTQ0OgYZDyrO347Ymiw1usiy8IJZZLougoC8qvJcvQehdR8QdBm5ZhcOXubq8yMrE1aeV41JPWq8mc1+bDQeLPb7dlbMMtU4Io5703mXnJ/TodquPV2Kz0oWUyNyNepUqSWC136aFR1pbRy0lZnigUK1wrEqOAavb6VBnp7SCNBpLRJl+7u2jmiuMpbQwxylJI4LDARPKrqkzkNPcZGRWV+H0R8jX3aHjIXFMtkTbRKRZQyVKALHyNfardtQtXb0+eg31/43Nb4+1ubC7m77QySNdLWO2sZ0FYw4jBurQoFISZwY1Ye7jsdDsPYebX+JkEOaxMr3/Z4C4t2a3myUSH8uSaKMSW12aD+elSw9dBk77yTJvljlWfjcOGiks+C3FrBjwfZZXVeQlDDdwQVHrudgCluhcy3FxIsB7yMUKM7fZKHDx8JVarmJaoA/OiGh6Cgayxw2Jx+GbyDyK1Wea7RzicczTWysjcSty7REH7iVTzAagWIVoWOhxsgXJ33beygXtSSiG3BRkMpWenCPhyec3kwKqFjClxQPoWa+Vl8JxP2cADeSZeKl1IOEv6fbmh7AKEsJqtUlfqk6VAXQ0nEsfhOLF3cIJPKcrC3Zjdqvj7SVeUkkxYMFuWO8xNPRBsGqHsZDD41ZHyrNhrnNX4ZsRZzbzK8oJF9cpJ7+44NV2qkZr9TbBzF2SSCXzPyxucHIS2VmwHK+YMOMqQyye61iY1RBtIRyI4Acg7DFdeX3U+ezbG18esGdobZpe1HcSJUR28XKRU7spAWSQUqxCjf6Q482S87vYsbjoBicDYKFlo7CCGAfx3IjKwySlUIiiXagO4UFtAy7puWbxPweMRW0RX9Xz5YlV2HJ/uI+DSysoIIFOQ9qhUFdAous1jfFbO8xPjcZlyAQjJZ6ZgJI35lSE9p5yO/thCnjvVQfq0KSzV9Nc2M9pIuQuluxC9xJdRvKJGuHIaLuLOUkjLsOLitNgQSNDw+tvKM5NhZbnLC3vcZdtLZG1kSW1u7xg1J5XvLIIyMpbipZirmtBUaA/GeS+O45Y4LHGjCXrr2XuchbmSO3G78pViSO9vRtQAFOVauTTQXwYW1zd/Pms3lbW7SWZmtbGwn5vNbwogXhApOQEzdBDHHyoPrFdATeZHNyTyYDxbESYeK2ht2upZhDBcxLdLzgkkKtSykkjG61aX4mu2hUBJgfH8E/wBx5Vk5MjkWPI2MHKaVmIDAOvISnkD/ABmMHrQ6HryeQZzJVtfFcRHj7JV7aS9iJpI1APuknalrHJTf0cfPQcl8WNReeW+QCMmMScJ7hXcxDYLGJm5yAenCFvkToILlvCccVjxmIusxcqGCySR+1iPoKNP3GKM3wjU0+GgZx5fzbIoExWChx0L1Cu0ahgGIp7J2CCg6nt6CyTC+c39JMj5BDYhDyXtSlFQIKsVWARQ+zpQ10Uvl8bs1HLJecBurlUuhvU1YgG4kHIlunHRAzeP+GqHJ8vegFapJGzsSCPaoiJLr8KU0Ca6tcOsckdjfrk5LOC4a5vY4GhvrnGyhRMBE4Mcl/hDF3g/tE0RKjfoKspLGYJJIHYSyAKySxMRBNG9JILqIf8SG4tzyWu6k06gjQj+IKGc8EHJqE/D6d2I6KaAeuhaqSqK0O56lQ1V6/GoEjfIbDQq5KZbeZMlbE9yEobgD3exCvbnVQKN2aUcbim+g2sGGss65v8SzWsd1xrBz7lxZ5JYmkvU4Gb7ifHSIokjkQOULFSu2gYm88uwavFcKuXs4QUKXam7NuiHi3bmHavLcAbEMEQDQeT/pjySN2eM4m7hZEnuLg9q2SWQgRBcpCn2pd2pxE0YAB+rpUcJSx+RYOVLSsmYto0Mi4y7LLkra26tJYyxPWSPiOJltJD0owA20AkseF8i5XlhLLa5VGMskEarFfwuHACQxjt2+WUMRsO3cMAAOZ20K0clyt9bNHaeTI89n3njnzNtAJ57hUjKLYX8dwEilhhmALJKqypQhGX1HYJbe7w7JfYeSG5tr0GM2TRyXGLytupDSRQd4M6F60NrMBLvVCwodCF9pZWXk0sUdnNcWtzAWVkl7Ry+MdmL0tWLRNlcdA/t4TMLiFacWYbaCPkyGxuBjZri2vclGEGVvFtzFFcxFAYfu4neSN7+EAcbgHmytxNRoFeHupTItmtrkMlYr3JY1slnmyGCmcUe4s2HKLsuTQq4KSL7WB0Ebl0xOQn7EaSRkD9Sxk8bx46+hYgq8cRZWt5n69pgGilFFJ9ugsu5IBLa5HHXkkN8EM9tPKksc5dHPPHZJZas00S/yZzXvJs/uFSE5RBlbP7iJRZT49g9wqqoOImeQEXcCoTI2HuJmrLGopbM3cT2kjQel5ZKO6iu4jDkbU9/JW0EaVl4JyGdx9GCvdxqA0qp7buEinuAOgnFO1/Bc2V2qT5KO1TuCo453GKnK1mt+RHDMWitztmX8xqmNgakaCdjdyTpHZXDwXtxb2bJjVlRYbfyLDykCTGXDRrzS7j4FoSw5QXCkHfYiHLO9usJGqWguL3GXIefEuUieeCYMBJY3ocAwT2so4SioH7xoZdiePI3K5LKSzgQ3DY7KqW/LxN5csUx+RqiBBjpmIRy24LVGh3gTcW1xazGJk4y2jqqhkXly5Cqk04NbyAU+JHT00As+U8hv7Vra+nFjY8yLlrVYYlaJpD24ISgMogU/SGJNT00OWkxniBubNo5EGOsZ461FBfTwOCHkKyMnAMBXuylRXp8NAHPkLDE3qKmROXSO3jxvkNyv5k0ttHKUxOSVtw9xilfhMwNHT1NdAh8yxXaf9UhC1UpBetEwdWYUNreqKV4kABifloqS3Tz2Eefswi3tuUt8pbpQrNGKJ9xJANwzk7/EHbpohva39tfwCSElZTUyQ8uVN6MULbkVFKemgk0nFDEwqC5pIB09VVF3qyjqfjoKy7rRGJ6Ab+0uKhhWp934dBoL0KKfzBWPuUTg3KrHchf4kU/PavTQK8tYPNGt/Cay2ziORGZmY279Qa/wx7H49dAnkgJRlbtkMCrKrqzD+17a0A0GTuEkhejheaO3uP8AEB/FX0JG9dBqMbc92ANUkCtetan3V+dNA32IHQ9CP9DounP9P9PTRn10ECu9T/QKfA/Gui1+pgA77+mhMzh2gFfWu5/0+OgqK86cas5KqiAfW7HiigfFmOiy1C0tbWKyjo3ZYvNMFCl55N56B6Od/b+A20RSq86EbgsxUCoI9GUk7D5D00VwRmisF6nctWqEVorrTatP2jRHeA5cuPIVIdleqjlvQN/BQ/HQeYivJS1P4+p5gVFAWB6fLbQ5R5sa0Jr04nYgfIipPz0XxPuBVIDUBILEKCOVPgTSp0S6IkCH3A0+JIqKV32J2ProIGWRh7Foik+76Rv/AK6aCbRPEnO4McCFeRaZuC8H+h6/E0qNDkC+QhApaW/3LCqi5uF4QDb6lXYy0O420AMsks9RcztKCQe1GO1BWlPoTdh+J0PXlFFooCL0CqAKD5aFkmKBgVqoI9TyPpWp2rvoOEk0BAP9Wo2+O1D1B0NKS9D7qNX5dfwIO2ioghjQcxWvqAK+gXb49dETETqDvVQOTD3e0fOo2Ogkj8OSEVVgDQirfJ1br+zQXIPoWpkAZiRxKAV9B/WBGgndOYLC4kABAhkPoCpb2rQ9QRXQZ3xpG7V7OSfe6ojtUse2pLAH6StToGCmciaeCaFZbesjW7lQ80aqzSGPmOBWMAFgdz6aD5o7NLK5Fau7NQD4knYeg31FxFXmUha9KdB+GqkZXgURTUU2329TvoS5NyJU8OKqAKgddup+Og1GKeZIRZBh9vIBdS8V3YintkUghjHTY7aA2RnlkaYknk9Qx4qxUCijiopsPhoetOuCxGQih/TM9H98yqXtMin2/wCYR7o0Yheh6ULA6AW/8ezOMQvc2TdoLyMqFZbYr/WNKHfQIFHJiUVFLDcKQo+Z32rqLw2tllY7oQWoYW4gjWMwTMGKGm8i86hFf5aqEN4ZMnmI7WIrKkJ7ScTVC1eUrMx9APX00BE0zZjM2lrKI0ssZSGkbHtiOKhkbkaqC1KV6aF18RbJZ+9y1vaS3ljh4xIY+4OQjiVlRlLGhCkFqD0Ggjh5u7dZXyW6kZftFf7cOHkBllBEcYkHQopAH46AvAVssdlfKrxz93L3I7Tuq/5jOfc6SLvVn26EUGgjj548P43f5WaQtk800kcS0HIKxYVHQjqWJHy0OlhWDxzxYKJWGazgDOm6yRRMOoYfwKnWvUnQIMA1ys0yRyccd2mbJp3OyZYlU+xJ/qWRv6RoNEM/gpMT+hY5ZsNFdyFZby7j9iQVq5aaIt3WkA4gt0rvoG97Cf0Kw8e8XmhuorlgL68ikVxAjEFmnlj3rMxPpWm2gp8gH6dZY/wzBwl7y4SNrxogWejkBnkYCqmVqksdgo0F2SuLPxHF2/jdtK8N5fx88rexRNJNBG44vMiinJmI4qP4RvoFuHwbWkcmWxXkR7EQJonAx3IUVKXMUzEK1eoK6Ctctc5Bp8llsWLjG2gNvLPZRBI1lr1NvIzJMSDvTpXQG5zMY3FePJbYOBLSTK1EkLWz2twiMPzJWjb+IjbrTfQfJ2HoPQU/79RdI6qTFO3NEe0HtB47/wCvQRK/D9u//fotXuNfl/36FUeJ/wBDqLWHKemi6dAp9R/Z/v0ZusUio9PQj5Hr+zVKUkzs8pf421uLSzk7S3VVknFCe0f4Vb6lahOhosPSgGw+Pr8SfiSdEVlTXoP2ajVYSWJ2VmAARerE/wBAProK6H4UH+7Q2Ngt4RC9zdOQgqkcCGkrt6Nv0UaqeAiSabmg2AO9B8NDlHRHQCd9CjtCNvloscNhGnjvi4FzDJDnsy4Z7EJS6xWODcmgmWopfz0APFuJjrRqMCdDLLXF5ksxfO7PPe5C85RkJ+a7cgRwTjse2tQFWkca9PjoZbuytML4rDFfZGGHI59Y1a0xKSmSyx79UvclLuFmIoQqkk/wAfUBLF5fOXN9c3F5dzNPdTneRqL7QT244ol9sNtED7EGw6mpJOgy7O8zl33rvT4n4/AnQlTqLp7fbb/tB6EfEHQqkoqfl/v/ANuhKxITI1AeKUNXoWAoK9BuSSNDhwgCh5KxqV9ta0A9pNdjy1U4TZHh7bNwo3vXg6sRSlVNCSlelDophH2Zw0ouUjICgw3JYysSQpWJkUo6KDX3cdhtvtohvazSQHiUj4hZAoRWqxmj7bKWKsNkPoKg9DoSTXlrGRLPbVUQhDOjgqWEj8FeJSKOimnL8RXQKiSxJYliepJqT+35ajVBUEX3PsqsYiQM0m9KVNaqK8ncn4jYarOFDovIhCSAeIPUsflT4npqFfq2OORWrURsvuqwKsPhtsat6DVXlKclwHLSMa0Jf1Ndz8AaDREwsT8WpRWIBIoCppv+1Too21x1zfXCwY+3mv7iRdre1gaeQhWBJkEantgj+I020SG5tPBhDIF8izFl49RUf7CFjkMoEf3L3UgrBbdwH21Lk77baGTqWfxfx2OaPG4aF7sUijy+d45lYplBSSKW0iZUsrnmarsIyKFtiBogafzu7uYI5FvrqQxSdxZRXGxLF2Y4JI+NsyKjM8PJQOaqzcqAE6Ky03lF0RSEoQWdzIV7kshY1DTSz9zuSfFlUAn00E0sslk7nAjJXUVlYeQvIuPvlQXVpHN3Gt+1LDE8Qim+7Co4P8vly6AjQdm8cn/SZrhLqVclYZa4wuasH7fbs5wzfp8sZj4n7W54FRI3tL/SdtwfWlvg7e5wOdOOjjwGcgm8dzlnMyyxYvJMv2lzPbvIZJLcdxEnV6lgpYgiuxCvI4SC2kyGLuIo0uLKaSDuCNo29n8mZalqLLCyOSCQwamorZeKXy39vjJbpZHltW/QMlCqRMkt3bWrRYuaUOw4frOHaSzLsfdPBDuCBWj2DigwHkOS8OybRNhM6kxspHC8WlkjV4HFwD+TFeQItN2BljFKGugULbS/pWR8ekTneeIzXF3aFkI+58cvpCLxlWiyzizvGEylv4GA3GhpX4hPFZ3l5hLoqbG7juLuCKaZo7edDatbZnHMIzSl5iTzUmlJrZNBqZYrr7dsfFdRS5nH5C0SwupXUxyZ/EwQ3eBu2/vQCL5b43+Q7Oe09xGRux3I7c2eLy3Zx97azwvbKpxypcNjfJsVG5M8NhcY/I/bxZSDHO/GGa2lkYRqtBU8mKjdYnySNTbmbF+Z2qcgth5DbNaZ2CMAMBDcS9m+5krsyu4O/wAa6EM7OmGRzFfRZzw+59/GPKQPlMNyIIEa3cccd/CrNtVwQBoXXLhMqIxd2Mdll7RZFIlwlzHlI2UUcNLAO3cceSjkhQ/s0KlJuJDIUkQxM7SukUqPbtVnYycIXSNmrWgAFANj00EHeLaMokjPXjCyIauy1aOOJlYuxY0UKOR+HpoCW8Yso1iuM61h4/HMvOGK7Fz+rXaKGDyxYqxrcwRRlfqcVK9R66Aebwae4i+4w16mZsyI/wA/ETwZCjt7is1s7peWxjA6e8g7bHbQZqewy1vIYGeWR7aNoFgike3uYbfmZXH20io0aGQ8ierE1qdARB5Fl7LhDLMxSOXvJDfo6skvsEkltcsZDDNKkYViCQw9BoNPaeXuzvLdTva3hthbwTXnK/hS3WVaWsJcSwMJ43IIlWgoasK6DQZBPEvIh9zfYiO1kkZTJlMRMLWQiV+2LmSN4vtrhJZB0PNlOxbfQ4Ze+/y4eYyt4zlbfMNFRpcfNGLC/jjLFeUXebsXMcbAqzAqOQpudtCr57f2N5j5jbX9tc2c0bsksM8TRSMqmjcCyhZBXoRUbg6DUubSO176ES4wRD7Ze4j/AJiBCYZow4MLM5I4kUJqRXQszkeRtkMszwzvdy9415osKmQgRxgEFjFxBr0IFANDKL3kzQypcRQzF2WReTMXgNeZZFU7lhXkSTUHp00AbzuzBaR24B/4IKMK+hdizEft20IVNMSCoG3HiOZ5Bd9zGKBat8d9RU7aHvs9PeyKHEdCxKVAZ6KQW7dalRTb5A6JwPhspDJO0aS3ItY3mnNsjSRRwoVUzGZQ0Qi5OKMQBXbVLjbRBEXdzJboCi3FwsYmfYciiQ1RJpZGOyMaU3+egi0kUz0kM0SSc0l7YiZzIAxWQJtDHEeKqy+u50EnSkkTYo9wLbobh4laJI7gwF7qJQWrxCBtiKEA00ADyCYtIw4oi7hjVggUDkfao9zb0A9dArVOZYAE0qaDrSvXfqaai4FRxKQpI5Ahq1baoFEApuKt60pqpcwim7cDWMDvznlRUWkaKOiyvcMPdVWPsAqBuToNsy4+zsrWwju8rc2sUT3eZsuMdnBFOIyqrB3oTI1zDLx5OQy8CPUg6Hq3xbCLmr6e+vWljs4FU3EkYZnJdQLazViruimFfzXoQqnahI0NmmVx9rJfnGYKH7iVrWJxa2Vyl/b3aOQHaC6dUljuLIfzY2JULRgRQjQr8Zq/wGWxUSyzY66trcSqv3Mdxb3EXNjRlkuI2kitVZ6ippRvXfQ8JTFWORpOPN5Py5Hdu7Ipr30VyRsQPqauw6jQNsVfZyOQWmHt7iZJOM0trbKz3HaiYoXMyUmiXgSpZSCQdt6aDU/q1gj3Ut1FaK8BV3hRmjuEnZQ0phaVTbtEsicZC69yRvSpJ0I/qvx+FFe78uydvKbOwkZcfEDEpa/5cmlCTlI+NlyqOiicgU9tNBZhVNzPeeZZjvXdrjpGGOivJCWvL2EExmSUpIFt7EniDTh3yBX2aCOLWPLXt75b5CR+m2EpaG3epTIZGP3w2a1HFrazPEvWiNJxU1o2hK2xjk8nyN15D5C6pgca8rGOZ1WG4n/nR4mFiVBhRirT0+piEA3bQtpCIz+b5abI5WVLDx/GcPuuUywxwwuA0eMtZj2+d3dgDm1RwjIAoWUaCoy3fmmR+2SRcT49ikRyvKKK1w+OUdqHjWkH391GlIgSVFC30ruFt/dv5DdWni3j0cdngrAUTuVSBYYWInyuSZ6MI0djSrVmkalSSSAnfXaRCHw7xGOaVprkLd5CGcfc5i8C/nSNPBVVtUjFXbZI4xQClAQncXFt4fb/AKXjHscpm7yN7fL3XYmlaIXJUR4/GvBICFWQ0KVMry0Y77KHIbay8OigymeAvfJrpGmx2OlkSYYzY8Ly+LuBLcrXqSQnRd6voaRtcY+WDeWeZ3klvimasETNItxf1qYoLSE0e3sXoaEUZxuKLVyVYZs55xIMfibdcT4/Z8Yuwh7VnCFFQZTGiNNN26MIxsPWg9xI7f3XjvjlncYzFWEWbu5IHS8zE7Q/brxBd1icq69sUIPb4fAMW30GIysz31vaZNkVFl4rwis0srSFEVYDFaRxflCOIcT15VJqBXQI514yHagcgFRtxFKkoRsRIu+glwM8Bj5EuFPYUkNUBvodjuABUgdTXQU4W6NtdxtymiEU6ycoXKSqoYB1RgUoQPmCNB9JgsPD8fEl/m8ochdTlpRYWcrXLIhdzH33jZUDsoHJXlqCSN9A1t/IryUdnxXxSOCA0SK5uk9oDDcjiLaBgxB6tINBO9tPILi3aTynyKDF4+qM1jBGrfcPGQyQ/bQiF5UI67MAd66D59fmCWSK4t/5TRSIVDO1O3O4iHJt2cQ05U/16i3DxqXStQoVqkCqsQRsWfoAPhqo6OCe6quwO6rUhvRTuaEkddBUixRsSimMMeT9oGMb7bqGCNT5jQlZwUj2SAGpoD0+R3pT57aHKXKq1kQMo3LqOJ+FTTYjb5aCS9woe1IkiLxLxSMvIEmg49wLUEftGg4id1ysYFuae5fdTY0onU8j8zvXQaaLGtNBPY3bPCskcU+VvWBlS1xcJqF4x+43MnbKqtATU0Ogj5DlFW3mmWCK1nvhGot7dXiiQRpFbxrECzuSYYx3BXiXrXfQOPDcVaWNv+o5K6tYBE7SiKd42ke5RGk/w5dHIjC+0Ejkf6RGSyxjymdyl7n/AL25wsYaSdbpWWFGKuVjtlkuTHAePCjgsQiihBJ0FsvlOPvy0GWxiQW0slHu7KFZoDJGiikljcMYAoqGcwNCwrUNvoMndW8Et8IMRHJKLi5FpawBi/dmZuMf2xYl2hkWhKuWaI1BZhQ6D6Hbf5fwwvBNk7ya7S2YT3ljYwQSRTvCod7ZZFuTcrGHHFmaMc+JAAqNCjJZ/ONmb5pwSbSD8q0g/MSOV4zxWZrVnZYiigcwBSoA+I0KHHj1nbYLHy+YZCOOW7lqmEtp6lnkkPGTINHtI7zE0QAexPd/EDovQjCxR28dz5vnUEp+4Z8Za0AW4vOT8bghuQW2tXBWIe6rgsNlXRPHcPAmQnvPMfJWU2VvI328Exdo7u7jNYraNW5PJa2j0qN1eT2k0VqiU7GP/qfJT+S+SNHbYa0IQI7PFFcSIC0dkjtycoB7pSPjx2LGgdRbjzXJTXt7K0HjeHEjc44ShW0U9wQQxoG5TmJasy14Riop7RoUQubu78wu1w+LVcb45YKvcYhUgjtYm7YuZypQSK3H8qLqzkjoGYCTyRI7y2mwOBnGL8XxPI5nyFZORvpVRDPbwEqnfvHclWYEoNgBQKpDKZPPRyWb4fx2F8Z49aGs9zxpeXUg9szyyiQmeSV2AK7qKgua0UD1jkKXVxZWUadq2kvYB2wWYu3MO0szAM8kjcN2pt6Cmhkf5DcTS3kolllndEjhi7rM7KFrwiQsFois3ECgA0ODfPI9jaYfGOKpa2aOxBUMWNJJo3VHJotwSVDgMOq7HQCePxyf/C+XMYkeGBLRJbhoTEolBe5lRZ5OUtysAVFCKxAJ3GgBxttJf5K1gt3eGXt3d3dTJNIjvHChkjjhosiQMw9inj10KNBaeUeQWsy2ttdicXV08PGYp98xSBe/L97cRyS28UcKkBw/JQPaK6BlBkvBo7qSW8xt7FcSSc5RLXJwJJQErb3NxPBJxcioWVSampHpoYaFrvO5eGIeL3OItrAvJCz27u+StRGqnuSo0EboZCeJ+2QIG9SN9AmuMF47iJPuPK81Lf5B2aX7RS0s0jk8qmKJ3kQyFv8AiOhJrtobTg8pQUtvFvF4lc0pNKFkqaGv5duqtGW+LvQDQ9Fiw/zByg7k9+MZbluZ7TparFUUK8YA7NQHoW0AMviuIj7j5vzCIzIxMqLdJI3I0BJRpZZCxpv7a6Af7L/Lm3Xk+QvrlwpYxrHKrsa7BuMSL713HuHzpoU+um7/AMtoyaWeUkHtA/KkAO1GIL3AJ2+NNANcZLwAOk1laZi0u4H52t1BGisjjcCWCWeWO5t5CKPG4PJSRtqBDkra2v4473GBjaSvM1mCih7e5ZpLi98d5RosbuwJuLP2qoq8Q1TsiQqykIyCPjyB3YuQtVUmlSW/YoOg6N9gKD4fL1IJO1dBdFIVO1Q1QRQCgG5cMDuVb5HQW4uWDH3/ANrck/puRQwmUkq1urmvISgH32MxDEdHTroNtbz+X4sGGVlzEcJkRba4dpu5brQxX2IvEZJZbeVGVlMT81b2su2goX9HykzNbXZwOX3abHZOA/p2QkJ4lZYogiJccCFLgKZh7nXlUkDZMlkcIUxGctIBaSq08Frc3Cy2sq7p9xjskgae3EY3UKUkiP0ih2Bc0WL8kM09tO9vkYipt4CQMm8S8Y4jbThII8v6t7uE5AoGc7aK42TkSRLDyZyYYpZLJc3DG8zUSsb2OVt2aMXccUi1aKQCaKlU4nqDm0wAxMH6kMpZR4W5j7k2PunW4x+URTyEuPuRIHSR13i5RiWCQbmu5IWZbymfKRixxifY4qqxSXkv591dLGRQpLIBM5WnxpUe5mOgBwyWWVu4IcmYVvbWQ2uUW6cxQ5HFEmRL37hTzt72x4h45BuVNDttoQ1X/UKsP0jwmxZ3avKbttDbWq+5GuZXlozSOnu707FjX2qug6tlh/E4v1HNXIymdkIdEcmXtyHcfaxTB+2R/wCdKvKm6KOuh0pjwmT8ruTls4GxuOCd23tk7cd2bcAlCGmottbItSJZjViaqCTsCHO2+Ox91Z3fjbFXt0PakE/31jdGPl9xZTmaKORLkIOQBLRyoSBT1KVTBJFsspi7jtymbt2aKqxzWF+CZJcVMpb/AAkhJ+2b6QSYt9tE7VSiK6hTJWLfaSLeL+WZSP0bJyyFmFXYyJicjMAAX/kznbYnQXzMMja/fQxrZyWsy/dBAImxOZkkEaXS8T+VYZRwEmFDxmowpudCR1rfwOkl3dKsFvcXMcGdsipjfGZVV7MWcjAr+ROyhLlQK7cjuBoQhfKLa+a9jgW5mTnYZjGKzucnjmHbkdVUcpJhG3Oor0DDQbPC4tMpjZXup7maPHAJjsilt9xLlsT2hJZmaIEVnsRWCTo9UFd99AmN+mIaPKYq3s85ZMXW2MiS2vauQQJVVHRnhvrdq0Vx61roLnbybzBjAYDjMUCe6qOyNJx35X147Hk4rWlWPwA0E28Dt3uEs7TLRW1zDbN3oxjrplezuqwThJHVUuayCo5MOLetNAZkIsPBcr4/Ekt3PJhZJjPNeQSrLHbL9tJDcwRqexOI05R0YivWlNDh80xVw3j+Zmsbxv7nOezckrvJayAiG4Jp7eNeLHfap0BN9YvZXjvjpavEVliYELHe28qc7eWo9izGP2lhsxBrvoGtlk4L1VURrHeA8JI5W7QDnqAmwU/H4+mhZc7BmAeTgykoz7gqehVCa1H+vQRL0qimp61II5KpFSfU1HpoUFI/Fo5ASAOfEEVajgglq1oKdK10GZntxY3LWykGKRe/b1rUxsTyUn+sjbEfDQKMnDVEnp9JCS7V9rfQ3x2bbQC4ufsyG3Lexm5oxO2/8Jr6HQahJA2ynYD929P26Ha8E02+W5/1aKkB6aJtaAQNtCsO/URX8Kev+2mheMGGLjrK96VDxWhMUQ33upFoJF4ip+2Q1/E6BmOWwYBHB3DcWLL8TX3VGhR4Lwq30ivJTTg5HUOKHZt/26KqdhUji4DUDEe2m1S7g9dz+3REe5wXiAqg/U4NQRQ05KetKbHQUM9fciuD0J6NSm569DoK2lJIIqW4lQFNNq78j6BtB1VkBoRxHU8PdxB61Y+g/doLzHaW47l9JHCoU0WSUc3rspEK1dyfQDpoA5MgWoLO0jQKKLd3YfuU9DHBUEhR05U0C96O/OaR7mQnlWbdFPxSIUjX5baGHiS3Umgp+z8BoOin7fQjb9+g6u/1Vpv1NBT8dReneW/ptt/u69a6tkcahNFBqakjYb/LQUt6tQGmzUHJd+lT6HQdWTZVI9gJIHTix9ajemhnpazB5AssvFQCDxFFG2yjqafjoJxDuPwevHYAmm9Piy+78NASVCJRacTt7yWFa/UT6GmhUqz8xixrRqR+dIi8iKPRByK0P8J0PE8ci2+GtzF0nRpK127r/X06U+GhQNlp8bHh2it7GT71wPuMndM3PlX3Q2USfkpDXqSSx/HQfPI2KOCADy9p/A+v7NEheSrllqAANjTqfn+Gi5DUI9vzpT0r8dEWoH5iNiT7gOtRx67fs0abCyFILu4jSYRflwR3MZCPGzCjJMCfdHIOoGiXMrHH32RlFtY2rXDKBUdI4xWgZ3OyA+nqdQas4TB4FBJ5HeffXjLyTEWa89z6Fa8z/wCJiq6oS5jLpeQJZY+3nxeMQ1a2e8lme4OxHNObRxqnoAdDLPhQBVSSKDjX/UPnoGt88KRWNisMQkRPuLmYofuGMg9qPJ1KivTQu9ZQxxLczGSa2iigkPfgjDsHYe1HLEAB/wB+hlzHK9jib7J1mjeVftYXWNHiYyfWkgff3V6jodAXFdS4bxySCN3hu8s1HHbU8rZhQlZa8gSppT56HSm/m+3xGPwUDKDcsLi6Kk8iXOweoB6+ny0EvIb6J4sfhrZHSGwhVpgJCY5pSooVj/gatSfx0HOGQ8lSGS3NlCmMWO3hsZJuM7OOPu4UDMrkddAzax/ULgt5TJcYuWJFt7VO26WVP663iq8amvo3EaCWWxth47g5o4biHIT5OQJFL3ULqppuqxMVZFX1+OgxSStGoTYqAF4sAR0+HTSgIhm7EndtpJrGXaslpK0dSOhZAeLUPxGoH+O8myePn+5MdnlJi1WuJ+UN+4oBwadTR0A6Aig1RKe9wWYvJrzJzZDH3t06mQTsxgiVRRUtrheQVAPRgBoCsvgbS4NlF4yhvIUiMl/cRXKmMyN/K7rqaCRiDXalNRci4rXyPBRWOO7kF9BdytdyYyZeUSLHR2Mtyg7gStDUbV1UyyGfys2Wyk9xMkcQhAt44YnaSKPhs3B2ArU+tBoYIT1NPXSVjCNCf9NtRJdIp6j8BqrH8RNPT/VozNHNBHktQCyjffcbfPQXGJu33RxaOtOQboR8R1Gi0VemxP4keuibe/p/dvoO9Og0HNq7/wDd6/u0Lo9d6gbU/wBDovD1CfUU1CsQ9RtxotYR4kf9mhWHfdSm9OtN6aFnKEfH/TfQs6SzULEn0Hy+Q0LI0Pw0Snx7ifhqiXE/9ldRaw9x+Y0Ki8Pgsjm2kjsowtvEFN7dyFkgtYyCx70ztuoAJ4Kd/XbVRpnvsd49D9tgJEmvOKi5z8kSly6MGMeMjcFEjWlC5BWnQE+7QYe9yLySSEu0ju7SszPzLySHk8krndpHJqToFNGkc19zHfrTbqevoBqKmHiHIEsTWmw229a13FdVOFJq7E9K/u/ZqLiEzHJ1ALhVVtjyKo1QtaEkD/Vqott1icnvFqEMEEZCvzKMUk99EdEkA5LUGh20NiyO8nLmwMK/m8EVHQ9HDAbNEHNNqn1NNAO9m+xhLTfTsEcFVf6CxoVAY1A33PTUWoQqVPuHUkVrsSOtD60rodZTStTSlNyfQACh3+I+WgJS6uEUpFI3A7FCeVK9eIP08hsSN9VO0ZLmRwFlGygqy8mqeRFfX29PwroIpb85GAJ7SKJGc8QRGaUFDQdw1pTUWsiGdIbRYVhPdmkLGZnoRGNgiKAv1MK8j6dBqpX6ttLTtj7m7DRoFL2y8aiWUV4FySKRAipp7jWo230EJZY5JC4RI2qtQA29BuQX6s7bk7daaKlZ4+/ydwILG1nvZDuYbdGPFSKAysPy4Er6sRojbYbxbDRQR3uTvf1hmWWR8ZibqG2iTsUKrcX1zwknjkJKv9spKcT7joXkyHkzWEkcVld2dvjkVxb47xw/adyaX2Mcgyxme6dUoUL8gVJI9wpoM5dZW6mcQWv93DKA1vaCa5v2dAdmXqkRB2BoyjQXWOFyeet5b21FjEkC3cCmZg13cXONt0u/sjEiFDdvac3idgSyxsC22grtcUl3islcKssuexFxbZUd6RZLW6wjEQyfkGn5kF4o5kUqjgdKkBocrBYiW3zFhbwRY3yCxF9alYkjS3m5CDJ4+NUokMllOnRSQFc76Gg2NtUyWGz/AIzRDc2vc8kw0hcGhjEUWUtInBbn+QiyIq7FhU6DQwXcWUnx2Umkjt7PzzHtgc0/FGW08oxQMePuwFp2vuJ0jeNT6GrfEApxFlJcXGf8PvgiPmIpbqyjevGDyLEswnhjIIEbXNurjlvyUKRWuguubpstg8blyKX1iU8ez5b+at3apTHXzVIkf7uGqMxAHPb00CrD3SY/NKk8wgsM2gxd5IED/bXTss2KyRjd+EkthkUR+ZpxUH00RsvMbWTI4Kyy1tbG0yuGuDBe/bBmFrdW88gbg4dlSKxykZ4eiQzIR7SNBXf5ATWPjn+YEUcknbjXC+WWxQM11Zy8rS+78cYVHKlCVBoASlQKDRWVzVjcYXJf3No2uMRPDkcNdJ+ZFNZlvuLJgVZ0mimhXg4JIYqd99BtrBYc5FFfYLIJbk2KwT211a22ZtLmyt55Lq3xmdxRYXlvPhpi0MM6I3OHgUbcgB6ee/ggaLKYuVrCMoJJ8Oy+W+PA86sLzB5TlkcYnEn+TJG6hqUBrUPY2bH3q8MJkXkWINTH42+W7tlKSBiW8V8s7VzbimwFpPUN9O9Kg5GSvuf2MiWeQUEB7IGSxySRlC6FfHvJ2KzggFSbe83/AIfgRspmxfi89xG0dpdeP5ah92Pln8eyaymjJ28fkHggvdj1gmlr89BZc2XkVn3II8xiPJbdVBXHeY2ZtshGhUktHPIsMszKa7hiDoI2Nu9mzyImD8b7Y7l+MIVzOVVSOLfc5rJ//B2AtyjChcsQOlNtBYY8RZSy5WfHX1oXV5I/IcSmevblGYqGe9zUsMiXHeOzHsSW9PbyIpoLo7fA5pkyFvLh8hcBj/f7ad/H853nqFd8hhpTFJJ8BLFEDTeg0Hb2yyEcTJLfPd26xLH2vL8PBmLRS5HKM+R4Qi6hKliA0tSB130TohuMNavEXucRkrS2DFDfYG5tvL8KiqCJHkgITLQRr1pxYqPXrorKnxO3vmP6DfWORYh2aLGXi216oj+tZsFkjBdKR/ZqT0oNCxBPYZfDzhXinhm2dI+29ncAVO72F2ghm5EfwggkbaAq08iyFu6LEY5JYWUx1T7G+hIcSVhr7UetQeFAw2YHQfQrXyyyz6NYZ+yjzVV5Iktsltd2bsio325QGWFmoPeD7mXqKgaDJ5XwS2uxNfeN3FIo3CyYvJ3MEd+rENxkgclYpRIVICSFJFYEb7aDB3GNksZXgvorm0vYo+ZtZ4GDMxVWhoKisUoYUYVFDoX/AMC80ijjojCQc2lY/TI7N7VTYcVRNmG++gDJLEmgFSTQCgFd6AegGo1hNUZ6BV5UBIAG7epBpU1GiCeSQ8FVe3KtOUis6FgoIZSQwK90mh+AGqjRYsyXF8RZOES5tDGLJ7l0Eihw8+PEvsFxM8cfJQ2z1A0Ci5eaVJgR24UlY9kckYyO3tAAqryR8qU6qNDwXLaGMm1gMd1KI1lYQsGWFVj5SI7ghQyxirdTUUpoA+cvba2J4xTFZGHEe91UhHG3JuIOwqNBUG5l1kbmBQkqCyFTTrWjUDClemg52hbBZS6S8+atApYSJGfpk5UKEU9AdvXQSSa2akdApZxxLe0KpBV0dj9SsKU3AB30DnERzWcpzUUBdbBhHE1G+3N4yl46y0dS6qeRUj3DQocXTlpEi+8kyEmQuHvrjuxA3LsxX7eAzEMVSa4Y0QEDitTQ7aDV5WeLC4K3xFjdvLe3MhjnktmCxTTShTdmSZSskluo24CqMB8qagzWE5ywXMtrcTpd2FjkGh7CshNtPEwknE8TBopImXYmi77mgoaH1hns9Libx8vYzTwQwym2zDqltciZlRFgcyRdnI2E9aSRuhDqSK1poMbLNE0zSxxrDyjRfty5MMYaI9y3tORaVLZGPsDGqg0J6HQbvk3jvjzVjiOYzDLFMVnUXEAKqYrSS2CieHtxFWHoTuToMTibC6zWZhx1kbZIudLjIyKsjx9sd25ukZ2AaUkkRVBFaCoOg1eSVczlMb4tg3IsLZlhhkWCRewiLzvbyaJvfLNb1LOzH8yZhQ0OkizLL+r5Kx8Uwc8i4ywXshpY4hFZRWgH3t7JIiRvMtvQsWkNHmYAddBLIPJnMhYeIYBhb4i0IjhMR7tuYrcdy6y9yUFJpFLkrU0klYV3OhWiGVkGWu8f4j49G1rjbF2ircU4LJAzNd5a9ZfcYYQxkbmfdIwH8Q0XlZl5/uGsvCfGUd7WKQRSPI4cZC8LCW4vLyRA6m1ib86SRfQ0A+kaJX65mGS0jtPCvH+/czPcdnJhreKF8rlywZpZJG5SJHEF5MTRIYkFCaCoPrXEmCKfxPB3MUV2UWTzDyGeGM26mSMpBjrdZKvVSSsae0IgLElmJ0Cy6ls/BrSfG4+WLIeQ36GO9yCBguOtS1IbS2jjaSVWYsDQNzlkIY19qgK7C0bxcW1xPZvkPMsoP/gjGOFlONEtVNxdEMaZKVDyYn2xpUAgBiQcx/p3j6yXectRncjdu/6jluCX0K5OL3nBRq9P04W8RVldx25BX4KoBPDb3vmlzcZvN3n6f45YO/u7gWJEUgtaWBdVEj9A0vEkHZQWoFCi/wDIJcmqYrAWV1YeMwcoHa1tZ2juK1o15LEC470hoAX3bdyamgY5iDaG1dYI7eKSY95niFw7SGnZmYHkzLSgGygdNAPhXnv8fJjPzJlQ3EogVWk4fl0luRSoiWFU5ORQEUroeF0nJYuTfVQxMDTcxklvwqu4I0R5TRoO2g70dWV3HA7glS6klXI6VJ6emig7pe1PHcRkNBMO4/GhVGZisiEDeituBStNBvcNmLO1hR5vHJMrfrFHFbSlCYI4YhSKh+2KgkEcmVqmgqRoCMj5dmZKo99j/H4jUfb2Z798q9SpaEz3ANB0MiCvpoMlLeW8jNMY7m/lY8mucnKQrE1IYWsLMxDHoXY/PQR7skxEkpFAvFCFEcaIADSKNRxJUeg9NASsZdAQAsYr2kYkO2+8khJooJ0IQ5jYIpcBia09tCABtTlWug6DICAUUipKj1qCeRNK8qEdNFc5ISQ6stf4+vE+h3FaaCau6/SRxoaqd1qdv3EnqNEQADEUokgr1PHkeo9OtBvoGdpbpPIHuW+3VUaaSUsRGsCAH3g70YjYA10Gihxt1JJFkpWj+3yTveRJ3qS9ix421oJYGP5UPAvIC9Sz9KUroMspOWyzztVre0JZQyjjzqe2oVQQFU709ab6B9kvFMvHDb5qMCKWcxiGJ3cXDFeTQBmaP7aOV2TkiO4PT120IsLizeTz2Mu8LFY26Zsydy9LTfbXV+yA9wxWEqCM5K4RaSlTGXArvtocMHlLeW2lhhljUcEHZdJeaOHYmZ2aPoxlHFlNGQrQj4hufC7P7OJvI79bkngbXDvIKQSKapfOFVCyRdv2q4AFa710INnnupbzvwtdRy0MsUkBDSxWqD2BELRm7W1qweNmLMDsfXQ0S21qPKs/2BDFb46xQ3F8lnF2zIkAKzSwxly0VzkGIRwrGgBJqwroDTz8yznbp9v4/iVZ37KFUtrGMBCqkDl9xddrgg6qAaD26D08knmWbt8fbf3TCYyM7xV7VrY2/saZQwCxvIEWOJdwHNQNm0Fl3XyzL2eCxFLbC4xO2rJUwwW0ACyzqjbyPU8ULfzZCK092htPIznO3tr4ngONph7AdqaZS5h4RuDPdXSEkMyTE+6oaSR+JJqKDrCOWne+mtPCvHIh9naSlZpVkobuYLynubqWFjGtuN3dqnbpT2jQW5a9/RYD4d41GLm4uVMORvFt45rq9uZkVe1AoLRJUexF27Sr1FCxGgNzYeQZO0s8YkbxY3GWvG9szNFZ2kN5E5Q2txPEHZrp29xaQVoSQ1DXQZTJ4zMWdDkMdc2dvGpWNo4hNZxqOirLatLCgJ9SR8ToBcRPHb5K1uJGfiizNH2Lg27PI4WEBbpVcQqqykliDQDQGt2f12Bb9hBbrfl5ZLoyyRmOAl41aWOJ3nMjKoLBaMT6A6DmfuUuL+aRF4ROEEYCqEowEjFVjZ4og/UKCAB6DcAGkivZ+K4+BuJ++mkumWSG3d7d55DIvCYFriDuW3E0oA67VIGghgU4Weaybs0QSKK0tJCjdtpgVuSkVxGeUE5UCgPtbian00FOBRGvby8kVZDY4+WRFkt3uInnu2ozyKGRAscKEkMytQ+01GgUXE1zcLNBEzc8lcJ+WjGhkmnRIyASSSB8TUjqdA5ykVnb36WsEoS2t4lpNYOF40RY4yCyMSA4PJW5b1FaaAzB+QZHH2Fw88VpfWEdxMlrb5G1dmEsBBlure4gEfbdnYL7X+o9PXQaNPOKKlrc2jeNvLuMgtt+pJGlB22jhuGaGX3fUamQDpvoLT4/c5lj935gcoCeZ7V1CYCGK9oC0kvLV7eRkIqGUqpGx0A91ifCMC3ayNzdX93yFIIElaTrQ1dI4bduTCg97V9KjQ2rHkHhVsw+x8Xlufq5d8QKwoRxo0jzhuW9dhSmi1WHy+xReNt4YqNXcu0Z9dtktwSaetdEoMh8lnuA0yeCvJBEOZZY04Ropq35s1tx6fD92gzWRzWKue8R48+GS+Mcc15FK/ZWUSJJZ3pjhjWCO+s7hCVkUBmQsrA10GayVo9pdyGSil2QzFRRJJLhTNDf246paZWP8xV/4cvJD6DQ9BkcdiD6b+hr69NwdB0UHXrWnAdaU+NSNz6aCxoluo+wSVJIaFqE8LhfoII6hhswG3E/HRT/AAGbyUNvPZ2DzJfWHdlix0wa+guLeJnluLWG2eNwssPNpVYcQyg/xUqQ3/W8Rm1WPyCzgspJo4/t8hAjyY8ryJMh4lrq2aQAJWNvaR9Gx0ExFksIkLpbwZ/DXLN2rG94XqsFClGsb1V4yXCUP5Q4yCm6aHquDE4nyEMcJctDdR8XSyVX+9xpaUq0csNVkvILdqcpbfi6rTlG1K6FT24yieLwRwZSWzz2ZI7UcNlHJFI9aF1yysZBdSJQdtqLKoqCQDot3z/I3lxf3DXOSKFm/lY+IBLSBQfarRxkRFlP8I9vqanfRArsrsvcMh223jRKAE+1QCERR0HTQVcpreaK+t2jF1Z0lowV0lgU8zG4aqSCMbkEGqkjQb/H524OPscT4vbBZ7+e6lEsl1AkVnPV7y4tkdki7Torl4jIzOE+npTQNoMTiPG3hyPkF0MlmbpucCHhJwd3IElpBOUTiZOk8xAqPYh66DMZTyG+zdxdYy5ZsfDM8lvbJVxwvoiDAb7+KRrhTTkTShqPTQ25i/F8zkrIm3hghxuSVXhea54LBfWrMvdS3oZq28qNG5oASajqdAomUYeeSVXeazujLjc5ZPCglt7i3KieKQAshkiYCSGWMjmgDAgqw0PHJHfHXP3vFby3uICLpCAYcvi5SY1vioZk+7gb2zr/AASqGPU6FkJ1bG3kOQWFLuzlgDss1JVyWJlJhSe5C+37q3A4SkAEMFam9SEpicbctcwyvkbV7NEyEq+0ZfA3ZERd2kBkW5tW/ImJ32Vz10U6iurnFCO8sGS4vcdZPeYp5SJf1HxwloHhZ4SpiyuJV+DN1MdOtDojURZmXK2kV3GyrbyxmQwQOsAWT6ZA8KsaTJyKkb8z7qb6DNxv+k5aWzegx+fJktoQvbgt81CPyUUsOKx3SARMa1JNfTQoNuPMPIZk7Nri4sOyOY2knJeC17YCFLNJBw50FQFUH56DIy32Suu5HkMjkZP0+4LZJo7i4M8mKupBS8t0JYCC2beRd6V0LmkeKvMLevcrbXU0NmjZvFXJhkkhvrOGMJlccH/N/wATZyd1GLe0jpvoKfL8fDc28d/Yl7iKCBLiO4BBabG3AEgDUoawcqdPQ/DQVw3r5TD2dwEaa4xTG0yMoILraSKGgumSgLxK4XkR9G56HQL7q1MrCaJu1dIABJ0EgB2SWnUD0PUaA2yyscoa3vV7VzEaMCKMwqAHG3E/EHo2gYyBoxueQZjU0Kr8QXArxI/ZoPR/UGBWo3ZS7VB+CkGrE9RXY6CvLQrPaiaFW79qwkiWjEvERSdafwkjfeugRSxC4ieNukicdiDQkVUgjY0amhyyTRuKhqI8bMrqzUAePdl+RYe4aDTYu57yUI9ypQDY7Dapp8D+3Q8O1HwPX4iv7dBYFNfl89FqsoBv00SsoN3SQkIJnmdYoV9Kt1kbr7Y1qx+AGg0McccMUUEUgit4EKliWMcsjE96dlqziSdzXbany0HRRBxIoQpY8QCW4bDdj7TQfPQV86morQJUL15VNKU3Ap8NAPI7O1QrUXpuGNadPWqj8NBUZK7BRy4jkgBA67H1rTQdSMuRyfkOtByrWv0bbnpvoJyT21vXuEI23GOgcuPgQhLEn8NAK9/cv/JX7ROiySUaXpu0cI2BP9rp8NACFRWMnulmPWac9yT/AOJrsn4AaDpJJqan8d9C+dOqB61oOgr/AKvnpku8fl03/d8Px0orx9Nv9u/7NCroI3B6f0/s+B0LpCvtoARU0B2Yf+I7Df00RWw23FD0G25p0p8xoKia1Chqeu9N/mBsdBZChfkD/wDFdBQfMetToLZCB7Cok5UAoCCAtKcWoDyA610E4S6LKT7VPEDkFAapr6+4H5jQX1WbjQVavuCEldtuVT1r66DN+Ty8ms7Ae5lHIbnkGlcKoBH1Ch6HpoQf3SrBYQ2xIARUUkcVUcQKtQAUNep0MMz5DfSvjLLH99RDAxdbWMl42kZjyue4RVWeu6g8a9BoesctAKKKmlT6fs0HOfuJ6bUoNCrqEPSMtx5uKvSoUepOgKtY1S5I/nLHU1FRz9BT9ug2VurR28Fv7wJC1xLAGIRm6Rkr/WQaA+zyeQxpb7C8e0kYkSqUBhlA2AYkFldQeo6aC6yOJuJZ2y6X1u8x7v31o5vmklP1mctWXtt12FAdFLrxbJbpo7Gee6tVFe5PF2zX4AeoH4DRGpxvhmVvIbTIBrT7eZhKsPdIkdF3AJA4KWp+zQZ29t7qG8uZri3mhrO6RJMd+ERpRG/jQehGx0BV05t8HFD71lylyJCp6NAnQqN6g00JD3qTgY3EN3FDFZ5FdWPEyUoQiV5qF36V0XnS+eIXebtbATi5trIRqJACq9tKPJUUBBU7H4aIX5O4F7lLqeKTgkTLDbSU5AdqgDgECo5DQNcTcYCNZmz1pPJdyyCT7oIZrSTjsqhYyJIKj6tqHRTyfxiwy8st5gchayFArLBAaGE8a0RkKzoR+3fROgy3/leM/u1xE2Vt2PA297F90jAGhXvqoljH/iBA0LM15BPFc5RO3jrXGdmBe7BbSCVO425JZVVQfkANCtSY0/D+rodOAn8a6ExDwcj/ALPTRafFyzmlCQy/1WAIp+BrolFsExt3MlrLPYynq9pK0Yb1HOMHg4r8dCp+nlWeiVz91a3krQmFLm5iC3MEZ6hOICN+0ddBkmrU8jyZmZnb+s7Esx/adCVXH46FXGJ6dPlpKwiR+zUJpQ5w/j+Qzbj7dO1bA0e6kB4mn1CJdu4w/wDmR8dVG3/Q/DcOirlLuKe6WnNLmWR5OX/3PDsor8tCipsv4MpVI8exUAhnTHB0+AI50cg6Bc8fjWQlAxMkNvcShleGZGtFbbb8uQmJ2+GhRkL7G3FhIysO4lW3VSpAB+HRgPiuhkCpBWtRX4fH510SYdGhEPaD2iO/7dFRpv8Aj6aFXqUr/pTQyhyNOu+o1S7ta0326n9n+/RKPEmta7f6fv0IRqa9T/q0Wjxr8TTRXeLdabfHQrDqj4jRmZPsv5LdXcAs4Y4sZiIqrFjbMCK1ANORnYe+7kalW5VFa9dUYye8aTkF/i6uRQ/gqjZV1FoD4nbY1I5D5j4/PRbJlG2BK1oD16chXix9DTRlAJ6nb4D4j5eg0MXWUHHbqG2G1DX0J+I1R5WpIAJHiRyqyFCa8ajkSoI50IrTUBaG2MgVy/2oKrIkUnGR1UFe8iSq6iUk8t9t6baoqWVlYhT3uP8AHxADInxQ+oHU9addA9sbu1gsLuM/cG6ni+2tpIpYBbWsdwR31uOaFpACvJKEFWFVIrXQ8KWh49xQvIE1pVae3qygitD1IrUaHAOaMRNQMGUhWADcuHIV4k7AkV/ZqLCrl+ynSm2/x/HQo7ypQ7E1BNdwTXcMPUH10KD4ZUMYLlFYB6ApyqWJAZRXipQep6DpqoijguJSlexvIpkoZkY8QsdVNAAasPhoi6FbrIXMMEUE1xOW7cVrbpJPNIAtQI4l5MVVB16ADfbRW6s/ErW3aNs9K6XEnaaDF2LVVzJJxSK+zKrNa2r0G8cfKT4slRoVF3ues7KNsbBFEYBPX9PxTR2+OgubeMiNqzrJPkHeQcneR5A7bKy7aGGYubrJZ6R7cwx3Es5a5NjZW3enpbxGR5keTkbYrCvvoxcqtCCBoFv2d0YHeOkCEABFLKWJBbkaKDKxArQUHy+IfTbb7O0xOM8iwVgtvLjjF5LBDGrvcvYwOmH8ww33DO8j29tMyXAaQkrFOaBRtoiy0RcD5ZdWVs6Jj/JDbZLBPBIoi+8jl+/wkw5Ci298C9m9COXcapAOi3C3ptPF/JbK6SErhMgpE6MTRsDm0EN5aXBDyO7Y66PIDkRVPiNB0WkkEPkXi0rItz41eTeRYeRuRnkx8gpfw2xP5arLC6SqN6mQim1QGciv2xd1jc1agST4m45OOIi+6tWEi3tqx3RmltHp0rQ9DTQy1bY23mu814vazFMd5NaQ+WeITKpjQXsUJuhbxxipjV4qqdg3GL4mmgXZt5cpj8V5bas1vkz2ob9goiltvJ8MEVm7dF4ve26B+IBoqCu9dA4razZeKZnS3wP+ZOLt+LRFlTHeQ25EsfNt1Zo8kGSgIqZadAdEYvJY+4Y3VjdxrHdwSvDInAgC6iBQdpkqQtKMrH6lIpsTor6f4jloc3bJ92qyyZNTis6sgZkkytjaiPuyr3AHOYwsNVYL7Z7UD1podEvj9pLjs1nPAclPP+n5iK4bHqEikiaTgsq3KyFw8fO2jVv4g7DcAjRABguZvH5YJVcZjwO6bH3pFHlnwTTGeyuFUijrZlCFFCBGpO9aaDIvbQki4KvHcI6vFPav2LhSxY80khNRw6/Cuw0VpbPyfyDHmMtOmYUEL/8ACBltMtwU14plLNorqQlVoRP3VoOhGwBnL5L4vmpa+TYw2c5Uxh8hZi6jWpUVt85hUtb9CCK1khk49Q250LHtvYPLA/6F5DLeWC0lFjlPtvMsL2gSIQSgOVxyMOoKApvU7GhEWly0FtLFNiriazWN0ln8avrbynEcw5dmfx3O87i0jUD6Y3Qhagb7Eqm1u7e5L22Pmsrir+7H2s36VdB3SpaXxHyzv4yVkY9baaLfYGhFA5eW2bmUQ22AkUwKzvlfJYcbjsJiTzcvcWGBtp58Z3oloxuJWmlqKiq0GgXR4fyJ3++wPmL566RALmXG5vvz7CvCWwvZpLeeIHdQCuw2GhYruciJblk8p8YgvLxWAbJY6OXx3PLJWjSMnKKC9fY0KsARoGOMyKwLJbeN+YvZSzKSmI8xszbyxEElY7fLRlYTK3Siswao0S5tJk83YSS3Gf8AG5bcM3JM1hEe4jjR4hykkvcTLDdMr8djIJONRUHepUxlPHvIKQ/d2eZkAKRQZqxgu54o1IYTJf20ePzFuFDe6scjginz0QfJaXNun28P6uLYGILbW01t5hjjQsSr4jNxrm7WMBK/lsKAEA9NFoRXGGw+WLWv2OHvZe7xVMLey4DMRruBXB+QGSCV1YH6ZkO1B10GXvfEoI27Vvk5rVqOY8Z5fZT4aZlSvIWmZUSY6YsK8eMlKjRKqJLnOePdhsxjr1rRV7SXTukkZRwnstMrbdyxv0Mca0Sb4U66K1FrfYfOjtZCGK/twkkoUN2pLd5Ikj+8Eccqy2U9oFpKintulGABGisvkf8AL68uWnnwL3WTtLXkJIJ4ooMjDsj0WAygXXf5ckKfw7EV0Tnb592IYHKXUc0bI5SVHWRGR1+qMqVDCSuxBoRWuhVGvbBCKY5JD7UDElUYmg5Hc1HroBZAQ5BoT0JBqCfkfX8dRpEEqRTYgggg0ZSDWqkbg1GiUiVxmPa4DrzWjELUKvuCg/VUvuT66J2cmdTArK/JjH255VXg8AJo1ugUhWWQbfhqnikyQtAJUkK3BYokPUxR/SzSVAClv4abnQoqZWKqdjRWB6hmQEAn8Onw0VVDeNBN3UPbkjLoilVaNkb2tFKDX2kbft0RRLFzkqq9sORUE1RGY7hGANUUdPWmhpsrdDBj7bGiZxaTSR32QjYHtQXsDvFDc9yMswglt2AoQCD6eugnaR399fGezSS4vrllTHxQqA7dsEiTiOKIFgjrX0JqdAzvbDyK87bXeIyDXNtFdoboE3Q+3IAEUMEMkiIyMSPYKksa6GCrDTvY3xjMsdmH52Nw80dRBBOO3ILhJFeSKIPQsVAcD10Gs8zylu/2WEsJfu4MbbW0UsqymXuyIiwW9tG4UCRJmKnkCQw+a6DYYQ4PC2EFpc2qPdqglvbuOG2uzeSAg3Dyd2A0isnovbVlMYp1O+hhkvM4Li8WfPQXmO+17X2lpHxnhyLmMOH+6WVV53gt+QVx+XQUrWlQGxEdv494tPfyLG2Ry0axpBIyVtrf3PaSNGR3zC45Mf4SQKmmxCdn2sD49PkriThmM6o7EXcEN1aY1eUsUrqEcLDOfz5B7DQoB00OkbaceOYGa8d3izuajiuCzRKxssUSzwRSyF+5DNdBjOyqKsSoNOI0Fgc+LYKSaRlGb8ggMlyWaRZsbYDk8EUcsLUW7j59yZGoTI4B+kVC63t58Bi7e3t0nHlfk5hVBHJwuMbZPIHgtZfY7fnhzLcVCmtfRBoDru0g8HxV1Pb39re5rIgWk1zSgsrChknFtH72McslS7Oyu5AIFABoBMVDJ43YW94sK3HlHkafa4m3nljP6XYXPELLdIWYi4uuQkkJ+lQEqArAk2YXc1t4vjvsbJy94h7t3eNJFLHdXkyp/wDCYiQSrMjVK28TlCvAkVoaluU4iGDEWh8syqJNeSSF8DjZSBJcSuSv6myMp59sE9nlSvucGpXQcx17m7UX3lt7bWslvfkW/wCpXc/au5PrVrbEoJFkW25AK8i78VPGoB0CcXdvlchbyZu+/T8Xcyss88UEircJCquLO0to+XGBSeKuwYhmLVJ0Dm68lsrvjj7/ABq5C1xs/DE4fEPLDiLm3QFYbu7lPcupmUH2rRATXnU6BRnvJ8vJa/bzyWmLtCqQQ4Gy4KskXLf7pIqERKo35tuei9dA08chlbK2+TtMdZ5mN7aI3sDQsgsIJ5ljlez7v5Zu7NxQkAqI39opWgWXfjn2c+Vz9xPa2sD3VwqYeWJ7Nski9xY5IuxJEGhuWCOQtFIBLEaD5/kwOwZwRSZreT2dBK0YWdB/CQrL+GgBikBaNi4QMje+hIqfaVpvxI0NrQsccc3IxOkhBJcsvD6gDEQGVgxO++9PTQDduRFNuLybshAwhE0ioOfu3h5KAwPXT0ptWlsUh5oVAYqp4v8AWXYjgajr7emgNRAZIkJoS3vUjfjHtx9ASSugMkJMiIihYweZNSxAPXiD7QQehXpXQTkfkyxgUDVflvxAbYhdyAKD8a6HCxnWNlVEcUAYEAB3LdCeoIINa+npot3mfmVYVQhV5gkFe4hNJI0ADID6gk71OiOEGpqAGqeRruT61BroOcT/AAbFtiKUFDT4bUOgsUc34yKQSNiAAtKfPYAj10DS2su72rKUs15NdQ3AllIjitbSECWinozt2iFC7mtNCwnKzfYY0nnI0145ZygjSOSST8wDi6C5jSONwFWp/HqNA88R8e5Qx3d4vGwtW+5uSXjT7q7Qd2O05M4pHGFFSeIJFKnfQdXMZ7ybyOSbx+6ktreP3LHclpbIW8aGN/uLWPnFM0tSiIFJffccSdBTdZvx3Iutpl8S2OuYawx5PHSMvYlHtCq8i96GPmK8GaRVXam2hZkctD3Motnc5NblJMjFFLlIxSIwCCKJZ4wKcnNuoHX+EA9NB9PurmCGO2xuMlnFjFFEli1nekzXCxpQdy1AMzhSrMwiHbYN7jsaDxkM3cvY2/2cEtmzXw5yy2vcYuqk1kkt505Ws0YBUhWHJhUjcHQF3it454/bYiJKZTOFLm9Mb1ngiqEhszRQxk4uFYEgiVm6g6CeUZvHcRb+OWh/+Er4rPlpbdw83dbisdrD2j3V4qREq9GJP9YnQTyDf9NYaPx+3QNlsqsc+VeM8pIDUJHj0QKwcIrCNRWvcJYbtXQWXzJ4xgkwcBf9fyrRTZExJzKxyK6JaCRgHJiD8Bxrycsa+6mg7eMfD8MmLhSI5rKR92+ulljllsyao1i0ADMwjhk6tszkld6aCxGj8Kw/EK3/AFRmIVYEhW/T7SQhkilSWN1fn/xQBUvQDZRoLIU/6JxS300SSeTZhXaEy0Jx1uRWQBdxHcrs8nIcSo47hTUdMSLu8txY5FLy+sv1A3Uy3MDiklysvIsQ3BZEdqVNfbsNgKaBvbf5gZm3amQFvdVQxM95a/bz9snfjeQGMM7ehMjdemhA+abxbydXjjx747MOGmtewsJmml24pbTwdmG7mb0hljrJ0Dg0OgTNEM1jZ4JklXK44pHfgJSONIh2rPKmQnk3EERXCULGGjk1j0AVryyuPkxN2nbv8bHNEQSDM1qrdwpDHGK3Nxj5AZ0IJ5QF1GxGhdy2efLR3Nhe3L/qFkIzBHAole7ihiWIW9iiR8TS2HdTcKyggbnQRx12zQXHj8/28BrcT2twqy9y6muCkkKqyMU7V2EVUJVtyASN9BZiLmRHvcG0Vul1kmQx3VxM8MQZY+3bKKyLBFxYOhJDHmeJpoaAW7xY7JWEmRi5QRTNKU4O/NoVmjMXaPbdZ4rpCjKxHCQAnYjQE5lmGQnfhIIpRDLG0kqzsYZIhLD3ZkPBpTGfp9CCPTQqJaPseN40mP33VxLK8haNy/OXvbcaTREqR7XqHXcdNDQXHKbvK4+OT3Lbm7uuLRzzRsUiHaEkcIdlV5io5DpobSuPtpbu5aaLjR1hiNpczcYTGv5nZkkaXvxNISV7nIkaB1hsxmoje20c6ZLGWS28txBlLZJ0m7gDRRwAOJYniQFuaMnDhWnTQP4fN7kLD9p45YtJKxWJ2meWa63KqYYixu5CD6nk1P36DZWV75ZJbRzXuNxFkJwRbWrtfy31zK6kQwtFbzlLSMuPdI7lY13YbHQyyEvkXl+Unu7O2wdvIkPK0v7OCAXEpgkXkySPdSOpjmhJMZVk7o3WugxeaxZsJbi3/NeDtpNOmzzi1kc9m5kWEyRLkMZKO3cIpNAA39Y6AiWyyaePh8tZ3Nu1iEisZ7hGjXI426lq1klayxTW0qC5hD0KqG+Oh6QxDmqmRiNlIopq46EA/wAKgCv9A0HSRXbcb8NgDSuxPUivzJOglVgy8X5kAmqclEfxpWn/AM0Nt9ByV5beWLKWcjxXll25GeIsHaNG9sgYceTwdT15JUHpoNtBe4fKWYnurWC1jkLRzdsyfpsN3I7zMzRhmusckxcu0sXOH0MZ66BrjvHMlju9dWeTx8eEKdy7hyXK7x00fHdrW6tX7EgC1CyR8J1IACqa1GinK+VfdBrPBWcdoisI58xIUku5OB2pdRJHK59uwBaRujEbjQ1RlYnFrL30UTXNSz3F7Wd3YmrEx17YQsalOhPXUKQEdwTWg3NSTUkknkzfA1r09BqjlGdtqnoPaQCK9CNvbUfDbQTXZk4sCRsAlX4szBVRo9ncyHagFT6V0Gvx/j/lWHZr/HBLaCaBpLq1u5rO3+ykkHOD7iK6BRZoiA0ZUiULtSmgSyzx5cr93cyT5CStu80qSuslrPKkVtdQuSS89ncEo39aLcUO2g29j41wiFx5bDax9u3NuqQ3ZknyUlqxkgu7aS0kE5vbKMNGwBo6sB6DRdhLjyawuJLSxsYLywxsMTWtu/deG2kmDiRVnkRnCc25EkkMznc9dEZvOTLJkEZHSSeW37d8nZRF7cALWs1ASEeNgQGrVgxBrXQLrCXkDjCGbvlpsNV0VI71qJLYTtIpItplbiaMuxDGtNBdaE8JMSyc3lM74VpJSEtLwuY7zHSp0YXBUxMCQCaMfTQcsGIAxbrxl70kuI7iqBDcktFkcPfPMyGG3mQMkgPLi1GAJI0Esc3FxZWyyPcxPJkvHZDGrMJgeN5ibqJyGCSorxtv1FaU0DHFXEeOyXbhHax+YAuMa0zIVsr9WKy2VwHDRyC3uAyFDSo3r00GlyFhDkrN7OeYIGDXCfalRLFfwcuMnddmSJI5mqePROmgBtJ5c1GsDxoMwl0mPyMaOBHNeQDgl2jMO2VuYl5BhTcGu2+im974vYYy1hyl9mPtby0aWPmIk+xyMMoYzYoQy8Wve+gIPH2ivrogdn8kzVpY4qBbTxzEyqttai/uGXJX1ugaixRz83EawD2IeFQNq6EibvA47AY+xt7/ACJDSySWFkot7iW3keZGJie5ZVEXNKioBQE9NB84wLDD+Qy46QCa2u+VsqMp/vEM9ezt9Q5RkoeproGlzCLa4ntWU/kSFUapDtCfdA5B/rQkfOoOhT6X3FnHc0blwnQERTAUdfXgwOzxn1H7tBGzyUkTtZX9EkK+x2JZJANlKnq6Gn4qdjobOCF5q4YAsB7kC1Ht3ZE9VI6GvXRV0bFm5OpAYFC/uXntQ7ClGK+uiM+sZhkltmqO0xKA0/lNUx0YbGg21Cn4S5WERzJNQGO7pHLy2CzJtHID6VHX4jVFOMk7Vz2wSjM26ke08SBQN1oNBuFFP9BT8R8dCcp9PnoWhyldqaJFarbFA5mvuQ4oHtrNFY9xvcVuZwvtBDn2qQegOi+ju5wXgrU5gqNgOFQaqdyG5aK4CCAZG5GnU1AQD+qvWpOiK+5yryOxYgUBJJ/Ya6CNGO9D9SrVTQ1J9oNDUAnbUFUlxDC1Dye5BoIIxykX5kLUAA9K6oplurhxTuG0UmrcCHu3+RkX8uEfhU6AVWjjJMSAOesjkvKfmXapqdIHq8jUmpPWpPXQn4kPhU02qPifTc6CQ/bSu9Ov4DRaufOm1dvSo0K2qmXLdabAL7QB09SBsSfU9dB4IxCEAHuMUUBlLVHxWtRX0r10EWUqeLUBBII9R8QfnokuhtztUU+kk7/hoOMwIoQoYGvIHn6dNvhoODkVZhQEEE0PUU33PUnQ5WxUAJarUBI3AHE/A9WI+GgmC7BvfII6VSlGl4nrSoqaeuhPCMQIViKN7jVe2QaA77MDT4nQG26uz0Vaiqg8DxIqdtvpoNBj76WS/wDIIhGisY5xRWGyxQ7Mx6Vr/r0N8tHNLJHLE9v7ZLclo39rhXqatwcOrbHoRQ6DBZy7M1z22EdISxDKoV2Lmr8ytAfd0FNtAmVuTUrSvw9NBCSoNPh1pt+H79CMrI2RIywJ59CD/rXRfTPGxl6utebOFpSp4k+48a1NPloetOg5SO/9TjGNzVio6rTep0STzJXE0kOJxb26WotlMokIDXEyznjyZgKvxBJodydDhPK2WOiyttj8VNIYVhg+4uJXLFppN3IHEMhVOoOwOgEzC41Mj9ti5nlto0jWaWRW5G4P81QerKAPT11DtqbOczi0+zVeyinuCOR0rw2YgE0DfLVGczMs13lobZ5ZXWKMooajcBK+wWlCafPQeu4oDnLe1UymC0ihSQwheYanKRkjduAanUbV0FMTyz5a/v7Z55I7IO6T8SsqRxjiGKqSE3FDTbQD2Mk4hymVMpVyrp3mKEyyTb8GUgklq7EaL4L8e8ZmzdtcXH3a2sNseFAokmklI5GiMygIK9fXRBcniOdi7rWyw3kcRHIRydqWhFRyhkB3I+dNBn5Y7ixlDz211YTofbMgktpB81ljojfv0PD+x8vzlqURFGbT3eyeEm5jQjdzPD73RfXkDoSos/Hr3OC9ya3FurzXDHhEDLHH1PCZVPfhAOwqDoAbnx3MWnIm0a5jH/FtGE4p/ajFJV/aNC8kZAVipJVh/CwKsD6gggEaKj6aiuHrtolf12pH46EzD1SfXVOkdGZRIrTfau+ix9RYLWi1OixzhpPGvHJM/dMZCUsLUqbqT1f17Sn0FPqOg0vkPkyWq/o2A4W8FuBFPexgBgU2MUBG1R6t6emiafOmmUMzk8nckvLKebux6lmapJOgh9yx6SD9hGhbl0yLJtKiuPmKEfg2xB0Ohsd5KkJgeRprRvbST3S21duUTn+D46BVMhhlK1qre5GH0sDvX5ag6BqlLpUr6Gug5+PT10SjxpXbpoTw966FLvbb16n/AE30KqyfQAbHUaiNo10LPV9P26G3RxHzOhdMU6jVZmr1Nv8AboVeoBoM/JK8pqxO2wHQD9goNRuirQWhmPF68uPtPxUAUUE1+kjRnbjS1HECg6HpUgdB01S0OcjtX02HwC/D8NRaL6P2WYRkojI5kqKBW9qgdGNXHpqopboT8d/2n+iuhtxRy6Ur8K0qeoNa6ir1dojsq8mX2swDilQQ6A7LIjL166qYQllklkllkK85pGkkKRpGruxJYiOMLGoJ3oAAPTUEo3Z3SN39rMqBz/COg3Fdh0+WqLJI6N2wvuVmZhUdF9uzdNjocJvEqosoHQqJEIqp5dD8RyII+GgpkhAchRxBUOnI9QdwATXf4fHUKoRkxn3AlK70WtDT0+BI/fqk/WoxPj1zllW7PKxxTzdtr6WAu0so5fkY63Dd28cBSWpSKOlXYDQbqOSDx/Gz/Yf/AAQ0yoJpQ8d5ksnH3FpDPdNGJEV0Qq62qpCla7n3aDE32XN00MQWOGwS4Z2tLZUWO5jj4FO0oEbMrRVAZlVUBI366EDbTx2+yViXgZLc3OMvsrgLWIrKMnHZ3bR5OxM/cV472yjIZYwrF1FCaaHTYYhLWGfHHDxC0s/K7KDJ4QFxxxfluAZ0uMfHcTMxWC/CvCzNu6z8aU20QmzMMFlezvA8gx2UgjyFiksaqy2l7wm4uxMiiSxuA8TLswZevpoq/wAQvkgfJY0i1vZLNj5DYRsFZJYuw1l5FjljKlpZLzCyuwRar3IgSDTQ2lmMXxwk8FuzPeeIX0a2l1Wv3Pj2XnbIYHKNM/trbSkxlVBVFJBpoetDk47fyrxe0ysFr21to2u54oV7Vv2biUxZ2yJCtKq4/JR/cIagCOQECldAlt8pcW9h4/5SY+d74rc/9OeSoI42lucTJxS0merfmRSWUpRHYHlIK1I0QNl8fHjL27x8R52bcbqwBRnivMXeVmt3FyAKui+3lSvJTT5lhGxluLnAKtszDNeBX/6nY15GS6wVxOjNAk6ENxt5qhhuoj2FATQYaCOKB7+6sI/zMP5/ZjO4GWUkLYeRxo8q2rOBxjYyDgTudlG5rojP46L9QxWd8SlFxDc26t5H4+h90tre2gYZPHxyAA0DAlVSgryPXqB2WIy1jivJEQD9ZtvtMnTirw5zHBoZ6uKcRexxclSm/Co3OilWBnNlnVtO4Ug8heC3inflSzz1nKJ8NeBVQ/TehY2HXtyvXbqGx8x7l1a47zHGxyLlPHZ4DfQugVxAszUZ04s7JbXIkgYnpRqj26BreQzZPIWHlPic9hNlZ8cgyWHvJFhjzeJuY+SB1qQZowvA/wAKyRkEgqVIZm8tfHXeK3yFlfeA5Dgojiv4fu8FdKeXJUuFPBfUV5RgUHw0KyEu/F8xZol6tvHl7CkhW7w8338TRL9E6xqO+FVTuFDb+p0K2IOQaX7Z0HeAcupUmarBSEkt3A90S/1hWhodAOLOKJ1urcSWVwnvjusfLLaSx8gDs8boeYFCKemgd2+ez9kecr2XkEakU/VE7WRjjkYtWDK2zwXTcqHZmZR8PgLndznbrLYcZSPC2uUtbe6kx2VxnkUaXzWFyVje2kxuUijivFgkjk3MgojHY1NSQtjz0cUcQs/GIYpYOHGLPZm/zOJtvyqEY/HySkR9xqkM1THXb4aKLgiwHlF29qcOfGvKWt5brH3OLumFlfy24Mji3+3WN0lK+4rxBCgnltuOw0PkHkFtE8F/cW2es2ke3ey8itQ7RTRgh0F7EomjmHGhLBlqOoO+idPSXfiV8DHlcVlfGwygRvbOmbxINByft9qSWGjEkAKBTc77aKMssDeQA3PhHk9teBmU9jG5FbOQseguMVePPZkAGp5BDtWmgZS2y5J7ywy//SnlOYsY3mvbKySXCZtDCp7otr+IJa3U9tyrQqoqCCRXQJbe8xwHCw8pymCfki/pXmVn97ZMRvwXJpyEMSsag8gRoNLNPmri2T9ZwFv5DjU4lb7AzW2fs5Gt25QzQ4+eSLIwgEgt25xyA40odB60vMVd1tsXl7uxuHXtS4oXSsiye3ijeNeWqUfl9NLeVqGlNALJhxObm1jezxt1P9vai8xVjkcHNb3lwrtZx5/xqWWfG3lrlXRohPGpVZAKcq+0PlAxmRtr6KGJUjuWvPsl4TG0kguJZe0scvMcEhaYcT1Q1AI3Ggf2PlF/YXSRXzpFdWTzWPcikWA28gkPJXEaS9tYpN6jkm5DAA7Bs7l/HPLY4UzirDlD9tCmdxSIjySuroqX9uweMR7Ah6vG23B16aFHzDyLxbI4B45pHjvbC4FbXL2XKSyuVPtCtKKiCYcaFGPX6Sw0GTCc3q1eIG5Wp/AbA/HpoRLjxgAkVoOhoR+8HfUWrkcRdmFacELn1+n0+A/3aE36FrESWLKgAJRw4cU5CoaURjqvVfWuqlDaG3t5SyNIXlMasiho6tHtzkaYjth1H1chUem+g61pEoZnZ2KxLOzxM21u9BCK04xpL0FSC3Wmis0+7seNAWJC77DqBXrsNQjA7HRtJcxUB4RyRuVfkYncOpjR91UBmpWpApqo2AmEkcs1rJFF96Jca7JwWJrGAI8zxxn3IruDQmkm5G4Ohw1njxucfDd5SKIq6WzL32Ve2IYjWRYolpWEPTuq1DwXbQKj5vnu+bie6s50nHOOzuLWKKKKFJOMX2/ARmN2ZarRw3rU6DRx5Xxny0QWWYgnx+VuOMFveUB4zyDgiw38YaUwTNsyTrIm/wBQ66BFYYKK3y553MEtljZpHL9wcpL63Ywsly7loTJGdoVB7Tq+xBrorSzc5gTbtfcnlZpYkSW1jkJIVYL2MxTRyC4VQOQPJNlAbdtEZO4Vs7nLLHcV7KyiGYiMBhBEe/dmYxAKxSKkSlQoJYD00ODK+C+U+Sw4+ItDjLRSbgygwx29nbMO/CI6/kdxwsAANDQt8dCwa4ks8z5Bcz3IjiwmKQ32RNvCnCe3tGSCKGOMswme9nRUClyWjRqGh0NtlZw4iVG8pzeOt5ze3K3cKXF0pTG2EfFLWWKykE3dubyZA5jHIgsqigB0GWtpBn89d5rKPDHjMMFnk7luJO9KsjnGWMsduInupu4O7KTVmCKvTQM8Vcfcz5LzK/jkdi8tlYRWDfbzwxKoS4yECXJnRXeoQIzAULkfDUCyxt7fKZOW4yVypxGJ7ORy9xIZezc3P02WPYSrQM5XiQPbwUhdm1Ry2tI/Kr7JZnLCKxwmOrNevYoti15dEc7a2qWkMc0sZV53BJHsUUJJAVYuzhzVzLe3ZNl4zh+kF5dyMkUZ99piUuirXErzNIGagbsxvQe5xocC4nl8uyk2TyxNv49h4w0yRKezBarx7NhFwRZHkugKuQKxxVO3JdAmzWb/AFadshdKbfEWREeOxqsrQLwAjQQxqqR8TxAAApXboNBh7nI3V7KLhpTE8TcLO3RQyor7MgXieTsOtQeXTpoN9jfGPLsrEhuZUwOOKAvILZYJuyy1MrW0IWaOMjctI0Q66C77bwHBKju0nkV25NeTPMpam7nksNsrBxSgWdiNDhTcZzLyWk1rZ29l43hLhOJhdEs4wCayyRO39/macAB6cQRsABoMhcX2OjK9yS7zEirwTkXtceirsEUEtPNEKbCoGh4V3V/cXZjaSOJVYFYYo6rBHEOkccQIGxWu5JroJxx8xs1RQVXowahoGb6SG+dNDaTSKiShkJZWQUYA0Gw9ykkMu21Oh0FDq5LsgkYL9RHvFCPd7wBWlTtoLBzZogVC1eM0clQ9ANzyFAeIqDoGRTvym4Yfl9s0dyRyoQGeLiBV0NKDYHQchJ4zOSXdJOCqSXQIq7hydxyIFKaKmOCqj0Xk0hZuXtUhqgqF9rbr8OvXroggAC4C8SqH+WDsyqRsW3+fT56DgHKQ/mGJPdw5+xioO/oeNPnoLXDK257jMKKZBRiAPqQ7BgRtoKfafqVlNa8qE7U292x0B1lA9xIsRKtHIaSOzUeKIGshqTsAvqfU6B3aRQ3N5MsECSWdIUtopJYyLbsceHBG5SrPczD2tUIBWproFF9/8IZhULmWGw+qVmBEjRsZWJCgDj3D1B9x9dDs2y+BvbGwjzqZRII7iSFLeyZ5QZXhJmhBPPttcKwMgXiVX4g6gYWmfiyWDu7Wyxd0c3OyvPFZcFs+5HRpsnFGhW4hkljWskSewyDkKVNaPn+QS6gEEbLNEpQ3DO44xzyXBILD6oWjUR8BXcEEbHQB/wB7vWs7OGINI8qx2sUEXDncSEIDsW7srAfHYbCmhi0tzexL4928bDJJkJEiF1dTCKG3nspXCpK9lcxvFcJEa8WjkJD/AAqToXwnhIEvMrc5TLt/dcasd1dLcOZ6Oa/ptjMYy3KWZ4+40daBEVK1amgYYqd7/JZXy27hMqY1TJaIqKFN2UpBLLyUq0dlCe47E8gxStaaGVWC4T3eR8ry3ZMFg5lhWWMRRXeRZSYkiReK/wBzjPc4LuZZF9RoUEYFUllyPmGWErRWUji0jZy7Pe8aRAXE5kZ/sY3CozK35pHL6dCqWDdGmvfMs5JLOttM/wBhbSsO7d3CgkSRszkhbENQqgIR25fw00HMMFeXJebZaFngtJi9hFLLXvX3L2gSOA8/2IKk/wBaT48NBbhmF1cXvmefKGGyYiytiFiW4u03URJJ7OFq5FeJP5xBI9p0EcRaxZe6yPlvkagYq1csIuFFvJ0IaKzEdTyhiopmA2ZyF6c9DSj9fxd/eLks/iDc2rPdW+OS2ijktba0Zu5Mr2jRJFdXAdhylqrjrtQaApcZ4JlfdYZV8U7k0g7jW8ZqT1tb9by3VVPwlUH0pqLkgy/hd5h0XKYu9hvEjYSJ9spgmkZTzWS1e3kuLOS7iVC4RXR2ANFJGqgCa8uR9p5Vjo4oWVmhvEhJdDIIed2J0kJZ47yEmSjN7iZF+A0FeTj+3ltc3h5Ze2I43UggNHbxdtHt5ZYhGjXGPc0cLUfbuhrQHQRygjMVlnMaVtgwosMRjjkiaEh7m1RY5Gkb7Z27kDGnKEla1XQeykP38EObxyFaCpjSTmYZY1Vri0UqOSg0M8IIA481FeOglfKucs48rYwmO4h7a3SxxxpEL91/4XbZQlvkVjrRtxc1/rgaHrshl8hsBcF+dxEYYrkseDfdNxt7e7uZZCAJrxgIWagVWWMn+I6GVliJry3mwN/YyjJWCyhYniNvdGz4meaF4nCSNJbEC4gPuIKsBVWOghB9zkrWazkdvucTCk3sVDAMfbRKjXETVDtGsDib1HAnjvoLsCZoHyV3Lcz2b2VvHYxtFG8ql5JHne3WRJEWKK4UKVc8hQ1pvoEzSVq24J5O/r72Ylj0FAB+4aK23j+KvL3CxWVjDCbnN3D3d3dypHJHZWC8ljmlDCsbRxRExtyU8zxHUnRJbPsYvxTDXlxg1s8hloYqXFxNcwyXPb4VkkkZecUiwgVW2hKrx6ltyQw8tt5NdpJmsrFcy4++hjU3LXkduOExWQA2pm7slqOK8eKgUFeNNB2wzOUmiucVgYS9xfSI15lffJdzLEoiRY7hmjMVvAgC8iQqLUch00DhIIfDEinzV4mRl+6F7aWVtM1tkLG9eFoWue4FIu4bmImOjKK19qnc6DMZrM5DOyK9/W0sUJa2xcZ4yNzNSbht3jV6e8sTLJ60G2hVnpGqxboTvQDivoKAfIClNCn14D1IND0O4PXqvoT+O2g8epFCBU7V2qPidBfC3Fh06ipYe1akAkAUFOJ9a6GRmNnuMTcyyWUKXlhP7bnGzLBKjiOQyRI8cxRZIRIOSMpDqNumgsyF/e5WTnkZY0iRaR4rHqILSJFJYLJ2QsSha1PEEk9WOgCFx26dsInFSqcEXjGpG6xqfagp60rXfQDvU7mgX+EH/YK7nbc6F0QpevWtKrQNQnbioboC3pXbQNMZj8lkLx7XG2xFzGFMpekdvZRmn51zcSco44wOgJLtWgBqND19JhsMF4faw32RkjnyDiWaK4NuEv5ZpuIKY20Ma/ZwBhRZ5hzpXgorodMrms1fZhLe/tp4rWyikeOKyiHemtcglHj/AFNZVqgunqiSN7mfbQA2mYsIsc5isbY5a0v0ubY3X5q4qK57UUv2SXMqzTXN3kDzZGDwQFjJ09uhZoPus1C003kK3Fo6JxWSVRP92rhe7DalV7SNEvHkDwCkVp66Fv8ASw+TTJjbjFYm2trWwnmupLq6lj5LI9y1ZFgiYyLsdxQkgmvIbDQKMVh77NSvbYyFUt0ZfvMhcErBFXYNczkM00zV9sScmr6Drop5nfDsdisch/V7uW8kmWNZGt4BZwz8fyzcRiZr6yhd/wAsSsCgZgHoDUEZ2WN8lYy3TRpay2rw2l+O5HGbPIxHt294S7h1++A7bqgNXAbQ9V3AkyEC5OJezdd6G2vuNFa2y0NftbviSZFW+jXjI7bNKKfDQeun+/ihv4JOF1dSmV0JYPZZuAqJiHCqqxZZRVR6OtOugumSPJRR8ZYkTLd65to+4DJZ5q2VVvLaSNRSM3yqHUbcmG2gZW+fuzBa2TxT21xKFtGvJFRo1vCvbs1iAZOKycQpfbciugosrGX7Ce5Ms6XxvbmHINBMBPbX9qzRiNShHFgrVRqmtdAXa57J2QNbEZHLLWKHN5OUTxR2/VOwrkpbuEHuADOW9abaHCibyDyi4++tZMo4nt40yqdkrAslujKtz2VakhuLWvJUX0BNNAFcjJm4gjOQnyIubdMriLy4aWdXu7JWuEiiZgUAuoUZWi68xQ6JpzyxEuoLDyOxqsUqwMrKfcgejcSyEFZbe7DIQNwP36KaXUwyFjjcwqpG1xEtneRxu8ipNFzaB2kkq4YnklGJPTQLqfh+06ih7q2juo+DgqR7opF+uJuvNCfn1HQ6qeKra8msJFt7wCSBqCG5pVVqdyg6LIK+5TsRuNBpBVlWaLgY5A1CGV1kUVBUDcg/EdRoF2TiINtdL9KKIJW48R25P5JYglS4YUJ0Nld5bi6tpLegDMKx1FRzXdd+oqdtDlmrKUJOpmU/lMisx+pGDcQWP9Rxsfw0IfQEPIV2/Z0p8jobWen+n+h1GgtzIaRW8bUmu27aEbmKIbz3B9QIo67/ABpok8GrSQxiKKNQUhRY4gp4+xKkVpSjN1NOp1Uup7nJiTStASeo5A1ou1elNB0MzHrUgEkMQD8Kk9VHx66ClrlEZVj5XE4r+XDuqfCr7AfGpOgGkd2YtJIYg1aw27Veh6h5z0J9eOos8qg/FSkSLEp68fqb5u59zH8dVlX10XLuo1wujKkkOfTYVpv+I+Hw9dVKRDwIpX/T/bTRMPBh/p/p00ExQ0rUj/s/dTQdABr6AV9d/wAB8dF4R2/7dQmlHCSak0r8dgD/ALtUnDhNeny6bA/gfgdEcqWrQbn6m/i3rsAKbaHCXDiorxZSRQtsKfH4H56AijMVFVAB9ACD8OJ2poaqLbgQYwwjJFCRUkGm+4PtA0FIYqrUKsVXjSuxX4mvRt9B2WWWCBpVgll4L/wXCFeSkCRgzDuonUgb6DKYFuV7kLhmDjh2kqtVIc1NGNOJ0GitorbldTXfdZLe3eSK3hqpmnYEoJJ6FbeFKVJJq3poafM2PeuZJuIPKRmoakCpJ6kVNK6AmSJEXmQoY7gjYfGnz0ADDuF2+Hp8tEUBSWG2o1W3LRYyKMvblzIhDsWdAaxKQaOpAoWHw9dVGggHCPaTkQzSdw+oB9rfiRobaDD5Sytp3vctZTZW5CotvcwtG6xCOvFOyxUxsK9d9BZayYGaS8y+SyFxb3clzPKuPSN+fabaBEcpRm49aHQZu17r3LSwozyF5Z446hZeAJIUMQR3Cny66DaYWGJLGSWCKdJLhmYmUfmCpJIJoFBXfcDQIMaUkzUs8rqAsrhC25/JU0+XXQAi6bvX14SDLM8zKW+oCpVSpG1QBtoKraRbfGXleXfuQixsPUMfeGoQd/hoOziODGW1uVUy3cgnLhzRY02ClRVak/t0Uxt7prO0gsZo7vHTcmnV54+zHcRua8+T0aVaemiNDg8Z5DeNPmMZlxZW5HEFpfujMsOzpPb+6NUPoG3p00Ojm68qsTbXP3eO7vZjWNngeJoZ5TsXFtN0BPw0Cn7vxe0xmQyWIvUt8jLEEa1CvFMGf/hrbuCi0J6rt89DbLi3gx+GjyMUt5aZi5m4pJG0kSywk1NChAJHX3eugbz5nO4q2x6Xk8OTN0nciSVOxeRR7Hj93Dxcua0FQdC9BlxmPGr5FiydhLjrqVgv9/jFzHFUfWbuGk6gn1I20MBZfD7e6RpsTfpJGq1PCVb2EmlfaYyJ4139QaaDMXeCydkamD7hBv3LRu+APUsgpIo/EaBOTuQdmB3UghgfmpoRqLOHdBHfVZu8emghRiQB9TMFUelWIAr8q6LbD6dlLw+O+M2mGhgMF5ex8prkGlUb3SuGU1LMDTQZDD+O5HOMpgQwWSmjXTqaPT6uypp3DX1NF0G1ax8H8d4xZALeXnEc1dWvZwfiY09iV/AaG3L8eI3FuIlsreyZl7kX3WOns3lB+mk0ZPEmvU6DEZXBLayqLCTuh4+6IjMs8fHqe1Og6j4NoM+jlWKsCrA8XRhQj4gj4aGE5wHiYBiTB74wR9UZ6ivXY6HClCGUHrUf6V0Nrdx8dFeAPqdv3iuhd3jUciafLRNoHQmHFDuwjiR5ZW+iONS7t+CqCdEiG4x/g5uIY7q9ySWisAzQcAJUB9HdqrX400UybAeG2KMLnIQSyD/zboyVI2I4RkUB0Ce5xfi92GTF3kX3NR24+9JDyJ6hTL7G30GSvbGbHyduU8vj7aOvwJpVWHzGouA6sCOv4U1UmNwnoj2gzpWnpv09fh/r1Gqr5Ilj4gHufUHGwZSNq8CAyEVqK9dVKhaH3GtPQ+n7D8akaFEaalT/AMpKKkCoHzY8R09T6aLeIFwgy8IzupJC8eKuTQkAs5CAcutfQaqSGO4p/W2/7fjoJcGSjEUU1BJ/1060+GhlPahTl7B7hUU3+ArUqPj8dQlXsTXqo3pT/u+OgvnQIBwSimho1CyEipVyKAqTuvyNNU7DciGDAkEfP0+H4ai0Hm6jQUWsiyABlJqY1ancA6HnXpXpqom0XLtpGXkLkRxcFLPLI70RY0WrO71FBQmu2g2OAwFrGpvsvClyI1kdLGeZraygZAOM2WmWkr8Tv9vGQaD3uPpIldkM/dnu2tiAk9qsAF5PCYpZIIXDo9vbusdta2KxkdvioJQCiVqdQszV1eXV9L3JZfu50Q9uSRVMUO7MzQAj2h3O7HYk1321RubPE2EN3+jqwmx3meFsb3BZK+ihN9YZWMPLZwSzCPgndu0eFwgo1UHQ7hX45d3McOUxtr3Ysng7xfKMJbTfzXuLBJLXyLFOypU/d2pb8pKAsD8K6BpJaRSrfY7FyyCPKxR+eeDSxrWW1yNqjzZHFr2+YW5VYiojB4qyAn3baIKygiz2Bt8xBBM8nYfPLTl9rFFNKtr5Hj6MzMUssuv3Kj0SY9BXRWA+/kxd9aZi2iQ3eLvIppV+nu2zkrPbyLQdyN+40ZpvwatadA+n3DWtm+PvJQtxhaNgL+QOWaXw3yVBc+PXE3LkyRYe7kNuJAS35RAJJ2ISeJhMP5JlPHMkyfzbprUtPLFazIVNtmLMKDFEz3tgBMpYLSS3XpXRelcNrHhvKL/x7JzEY3PwvhbiV2DBjKpnwN7sKHtVEQYkDc1Gx0HHjkuPHjDeySfq/gt1JhsgAWIkxEszR2N0FHsaC2dOHqQikkio0Qlx+SiwedxuSuOP2E4mxuWTgSrWF2BHcdyNevFmElF+HSui6P5cdNbWObwFmzHK+DZVfJfHpApZpsTcSJPLEAWB4w1EjGvuJFKg10OFecu3gvsH51i14Q3qxZQRqxaMXcSGPO48uG9rSpyqhI5kMR0I0NHyWVjFlLvAcFHjXnMCZrxq6RVSKyzItkmpGa8ondQhA6n2qB7joj53k7WeUXNrOrRXkErRyNJVZI721Yoe0ELcWk4j3Matsehror6t45nrfI2S3l8iTW2RtL2PJBlCRW+Qs4YDn7QqqCNbW/tD+oRipPJJh1amgzF3gfJPFpLuLESNPgObXVmbqCDK49opwG5UZXnsrmhCl0KB+PKu+xF1n55cJD9vnMFHk8ZKoikSylW8hJAKMPtL7m8IbqE5/IaKNxn/AETfy8sNnJ/Eso87qi2d1cY+KbiDx7uLvy1mBIlKqCQXBoToHF7hvJ5IuF7aeN+cWJ90TzxristIlKhobmMG2LFdyQdz0OgztzbeLrIqZC18h8JkLFWF9aPd4yQujIghvB9zGkaPvXlGD+Ggpl8QyJt3ucRf4vOWn84NjrpUn7A3WkJMkcgqPoWQFiKDfQKfHcjaWGSurXIyRRYbyS0FlfTSEpHY5GFJRaTyk7QK6SFGrspYEkU0IMbzxTyCxTvxwpm7OlY77GypKJowCVla2Wky7D3FTIA3Q00IL2w3k2NSDOriLlJcRPHlI2cIsqxR1M1tc20cn3CW9xCrI1FO3Wgrodmfk1lDIYvJMXHLLhc3bLfCSJDItneOALiCcRh+xydakH2iRXBoRomWZSQkE1EgHAhqVHOhJVBXiY4Qdzv10XRfdWMNxGWVIkmZgyXAjAZHDVVWkiCl45PpO9d9tCjSLl8W19iZU8PMV7Je29pKkGVdLSWSeKS3lgxcSSxiFsgzjn3SQVHE1JJ0DW6ntxFf2WY8RjwTSd84S6tFnqb9QJDY3LyDtSA27c3K/kkBgPdTQZmzxl2Z+/g4MnDcRmNJLrDtcQoJePJObw0t2d6boQTvuNA5N/a5qylxfmOSijubO57mLy2Qsi9zDT8u9xWTit1ilgYSFXjdwO4oYg+3RDTGLcYtrvCZK9S5s4LKHJ2d7FO1yk3iWTlhgu7m1u2R5IRgb1YryAmpCrLTY8gVZl8I+YlHKaLF+RNFD97Y3shtDcX9s0fDJ4a/VBaXQuWjEgANR0PEggDQHJYXyDLC5t8l47gMRcySwG98jaFLMzTLyCTLM0zo0kzMXkW3DmRutNAmyPjOZ8ZKzWNymZgmgi+4s4be6t7yM1keaRcbHzvo7eDtBxMeC134kb6EHeA8pikgMBFtdWc0v9+w1yIhDKszpydYJwLOAMyl1eN+LODzjBPIDZfnPCYMkJcn4cWNA89x4/KUS8to1ZkaSz/MkWaNmWoiJ5qTQGp4gPk7syl451oyniy0KnmppRgaFGB6g9DsdBVEwaRFb+tX2njX14muxFfjootGZasGJQl1ZOZI5MApPWvMr69aaIZWUTSlVACChdZAOfbjTfiqdWkrWoNADuTTQoovbxWWWKDitvzV2IAHddBxDuFJV2BrxHxNdAlLblj9TEk9NDPTS4oulpdRvbQXL3kaLAs7NG8RSVlEluVITuFy2zgghdt6aBqWe5u4oEgWtpbLbolrbrHLO0IIDyiNfzrqRgAzkFuC79NDo9edcpF+kW5gtrlwscL304tlt0QrHMTcO0fdmuADSOVE5E8lNTTQspzXhmUtGZrcLko1j+i3jliuoI1iHBls5uMtwpUH3xGQfEaHqeFsIcZjL3MXVqBJGjQwrO7B4OQPu7TR8UknagWtGqNqHfQ2l45lbSzhubWUW4up7mSSdr0KtvKnZVFTvMsvJoOZYxsF5sa8qgDQOr5o4Lae/nSWiwhcehBs7grIv5TVjZkukkuGrIg5yCoZ2UUBBLiHjx2HyOYkdnu795cXaBDQIsTB7m4afZ07t23VSGKoKHQTtHOH8buMhJJGt1n3qEmEwm/TbcyCGVDG6BRK5aZmcFWDADfQh4xQYbB46LJW0sb5u9tsrkJBQynHxf4S17ZIEkaxsOW60eRvVdBd5BnbW7je2x1ZoC8bFnR5TA0aqYLfFzSFX7duX4KwRau9Nwdg5lHkxGJsvGoISby5kiucmigLPPfXbRCKwMZUsOLFI1Yn3ItVJWugoyVjDhp7DE4tWuMuWiS8uUuhdi+yF0KRwQ25kW0tBHMzBaqCiKWbpuBWWhe0jsfEcen3F+bpZMlP3H45DL3dOKN7uL2VugqXfcRxsSB6h3LqzSYzw3EBy1vMIZzciNBdZSVmluLyeSFpOcCjlI5Nfy1AHQaCWV7c8mN8QwFwl5bJMlLjtlBPfzKxvLie4Du08VecsrAKqIvFRsDoK85dW6x2/jeLkdcbjeb5G5JaH727rS4uJomRWErSqeLcivHoKKNBiEt7/wAmyMWNxMDTIopCg9sMcS0V7y4cjjBEo2BPptuToPpMNp41/l+qG5Vcx5OAh+ghLOSRSyCAMr/bqaj3ANcuNwEB0GRzedvr+Tu5u9ltVPuixFlXvgNU1NuXa3sw1d2mLzEemh6y0mYlQH9PhjsAWIaVaXF9JQfVJdygupPrwCrohTJLLKzSTyPMwoS0zmVt/gXJoDoq3g7qSSEKMqpE3MyyLMCKxKV4sqEDluCKildByGM1XnGzKCVKrTkxFaFRvy4nqOp0DLt9tTcCvBSu8YZlK7BmI+pWX1B9dBCULKZuRGypKH5BUkU/wsSoIclfx9NDtJL2JGaVI3Z5OJ5MAkAKAAlYVBAlO6sT1G/U6GVcjCVEbgIgHXgOR4bNU+4nc0PyNNBqcb41m8k0c9vbPHZAALd37jH2W+35TzhXn/8AoSOToNvb+DYnFQifO5N2RyaxiVcLZOaVZVlnEuUulHxSNAT00FgyfgVshgtsfHMkivDHcQYUXdu05U8I5L7KyPPcMSNwAp+Gg+fXkIiup4AgQLwnt4wCFjimAYRxlyzcUeqipPEACp0NKA8cgKTclH1AqFDc6ijVoSGHUjoRXQ9dHdPsjYn0CsamgFQVJqEUj4HRXR39lpWu3E7fjsOtP3aI5/eAO3QESc61Xoi7kl9iKkfhtorQY2aGzx17kHkDtLArpHC9JOMQ7Vs7flgG3ViWO9ST+FSBfH7SSSjMpJu5A7ycS44J7yNvaEJG5qKAddDZ5f33jmRyNvbXdxeY9rMTdt5bhpcfcTTivujgVpLT3dJEEnIU5AjQBz+H39oDlsDkIp7eJ1eGaOcco3Uc2MN5ahogiMDtKsLDqaaLhl8xc3l5Mq3izfqM8qF7QxnkZZFEZmSMIkTNekKR2+fcPu5E76I0PjmIyONvJcxkrOa0FjCzWa3iFI5LhvbITVJlXtQggMQCHIpvoMxk7l52YKWeS+kMhWQvK5gDlbWKrl3dpZWLUNagDfQbK+jlweFxvjdltd3yrLfpBx789zcuI5rS5VQ7svd4IgU9B0B0Ku5zjZ2+P8Vx7ieVJEF60cgMd5lLiQKYmAVaJ9w3GhNe2u4quguziSI+K8Rx8hJhaKC4Rou3HNkp25SXc0o/MmR5OUj1VeKJ67ULp3KBL27xPiuJnaSztu1DJKgUwvKAZLi/K0Xm8YLu7GlacTXbRFmVEWQyOO8VxBT9Ms5IwXAfnIUUyXVzdMql0mRe5zKULFqEVI0MXeyxTOZSw8bwzLDjMd+THKxpBGsfunvJmDBXW3Q8i7hZGmcA7nQXZMfr2VsfFsPwjxuNHbM6lzEsMADTXFwpYx87cFiWABeRwCTy0HshNJ5DkLHxbCr9tiMdQDuAGNOwCbi+uiCBJHDyLkmhd3CndjQKpsHY3t/a4zAXkcH2NxO19ezzS/dtL2liMyWUhgt52kuFYFoGNeX9WlRyT5Lw3yK0kk9i3pkczFYFE07Atw7gtLyK3vEiPqI3cDQJLHJT4e/ksr2OeOyuYVt761UyxPIFc1uYYbpU+2u4Ho8RKkIy7EgnQ4FRlcTk5rWV4mxuZhSGW4EbCGEXB70F7ArNHHGQfzQCaLSRfTQWWkhxd9d4C/khisrmekE7L9xb2F3GwK3ENH/wkyMBJSpktpKfA6LpRCiYnJXOHupHt8feShBLJE6pY3MTco5zFKBLJHbB6oKr3YHFdESjH6Lk7jG3Ezx4vIEI8icuxHIpSaC5i4IfuIrVmWaIqB3I2IBNToPRY+/x893dRW10cPI0ttfz2ymaK0KFGlkcBeQhUFZ42K0VGBBBBIK3kMeF8Xnx4sMa+Ty2Rx33i5EXxmxuSS6qt1yhPtkt4p0BC8VKK3IttuRXfXOAti2UyK/eZmO5V8di4FvY58Y7Ub9Murp5Ejmxyz1dYXWqhyiUU7Bi7tz3LfyGxhto+F7OftDRq9rjcXOPa0eqtHalnaMdGiLLvx0PXL2SC2mx+YteU1jdL3ZrNQIkWBZGSS2Uhn91l3TGrso/KKsBsdAJlbBbZRdWMTtY3S/c26Oaia27qqAze1nlikrbXFABz4sNm0Gm/Us35TaRpjUWGHufbvjbGUxQoGgLQu0be2K1l7IWQtyRXoFALU1BRdw3mDWG3zCJHeRxxGIW94JwI2Zi1oERa28kgJ5r7TQjamqG9tjs95g8d1k5lssTEo7YZFhtYoUAjrDAGWMLQAM1Vj/rM306GxV15Jj8NFJh/FbXu3dQLjJPQdngSvcaVwYyNvbIRx4n8uMddBhZZW773c87X1/ISz3kvIrGzfULWNySnX62q5Hw0ATsWqSSSa/jU9Sa70/26DqHj9PLl6u1KLt/CD069evw0HS9RQNU12JVSCPUCoJBJ+egr2O3Efup+7fposp1oNgfQbeh/GtNtEWge2q+0ClWdivp1oB8fhoIvQDqwBAIY0Ut+w78dFeCsB7qKCPbzFWanqsY3alepoPnoiFYkB5njTdmajMAOuxoikn46EtthvFrrJTQXU8jWmJThdQo8YgvcksPFzIsU1VtcajdZpgFYbqCSBoNFe+V47FTDGYpbWOZ3BF5DEY8TY3M9fzlt3UNeTgjaaY8T/AAopoZfPJp7q0urkZoTXMVzI8GQZ2/Ot56ie2yVizHuAorrLGWJRx60JoOFk1MRfSSlEvbC8hjkvITGiRZKyY8EytrGpZbaUNUEE1hnB9KaCF+pxtzb3tkwkdLdpxeIUmGRsJGAhmmtmUxpd2bqI7mPcFgG2roV0YZCTOZq6WO6aXJ87GK/srW2VI1msamN5ftrRQpaCQfmIoBIIY7aBxjPDricLe+RscbYQgFLFXEE8qAAr9w4Vlx8Jr9IBmYDZfXQG5HyjgIcL4nbOjo3bia0hAXlQhorW34yzcmHuZzWZ67lQdFZa7ssx49LHf5S0l+1vA0GUjluIpEnhuv4LuG3llNmVp7VavL4lhTRCmdVxd/IXiF9ZyWwhlDViF/jryP+53PJRJJE0Z9pfqWjHxI0MJRq2OyM9pfGHs3IXG5XtSM8SRzpHLa36NCzCQx1WQU/iBU6GqpRR/bXV3jb517F1ILKacB0WLIxE/peTVOPJRc0Vj+J0ELUMXuLC4/uz3/ACaB+BL2HkNiwdJEYcHiE5X2tXjxk6aAmZIsnaiQKITcKVuKNyMF/AeM/Gp5BFlUN/8AFbUGgb4K4N1cW8cXbNznIJrG8tkjAEGcxScoZ+2rAdq8swQ5AAPXqK6Bnf4nIWZgtmgkgnmmiS0AQSP9zypWF1XkqSE7KOnxAroVHy+GLBbxZS9ysWMv8e8lx9zKkc1hDyUmSyupJWj+4eUbFYgxFT12GgjjLzMXmFhw3jeEle1gM6xZfKzAWsMcs0kjvZkwxGVkeQhJVjLKu3xOgy8eKZLKXHte2N3b3Us6q9hPJPa27yUV0TuKsiv9yAzKVBDdOugT+Nlrm2y3j7ntXUZe+sVLNvfWTfmQgHY9wIa13ofloDEbuIrr9LqHA+AcBqfiOn7NFrDpJ2/1/s+GghIiSRmORFdH+pW3B/2gg+o30Asbz45iyg3FmTWSMsVaL+2SP6vo1OnX46I0CSw3do3FzJbzIYRy4ARySKTV0qfdGfj16g6GiRVdKxyV7kR4MG2LUFVbff3Df56DN5S2e3na6T+VcMUkA6KWpVGHwalQfjoH2Eue9C0bMWaKlS3Vq7ChH8IA0DyoG52UAlj6BQKkn9g1CsyptPek126kyXXEWqlYX7NolSm1O9DLM9Sw+kqRqiwIWFTQ8R7WU0WMnqCQNxoOLPyqsavMR1MY4xKR6l6AVHy0EJKsKTuAtN4YTQv8O7KPcR8hqCnmQOCBYo/REAUftpux/HVVDUWkPaFHtB7/AF/0aI8Pj+7RUy9TWgFTU0+PqQOgrq1SjwNPgR8x0/bpoTr89EqkrspJUkVqD03B6/HRHNByoB3BNPQaL2iWFSaEetB0H4HQssVOVSCFXelBVviK/Omg6oqnBgWAavGg5D1NK1poeCEcFVXhsW2bYutP6u2/TfQTAVnepVd6Mx2rtWtRXkPh0poJtQPxJqpUgbKeWwoCB8T00AfkkjW2KiHRWcbK1GDU9gKfVSg0CfFW6xW5KsCSokchWoxcctyaHkg2Ogozs8llbtAsiBp1Q1hmEqSowqCSh4cwppT00GSRiErUgepH+v8AHQcmmDGisWSgALdSfX5DfQlVxZTX4aGHDRvcBQE7/DQofWK1Zo3ZlQQBtiac+i1HqRXQauzkhtJbSeWD7vskF7eRR22I+lWPRlPXQSyWRfK3RuzDbWICGJLe1QoAqsaNIducnzoBTQFC8xSYqSC4sZUv40MltkopO7HcSV/k3MT7xih6iop8DoEyDl7u4YW9sgZGIII3KbUIB+VNRWhXyGVbYwG1JlaFqFJfaC3tRzyod+p+OqhRaE2iSu7IHS3mkpQF2eTYlK9SK6AIlRaOnEsztGBIajiT7mHwqa6i6dnIW1th3EKtzdkT3PGVNKvtWtPTVNCEa2fI2QleKC3tkhZpWjYczUSAyoT7nLD9uiUamNsn5Hl473MwSyYe1YryNuI4UtYqsGCfWRMQCzb7aCpDbZDJ5bIYyS5w+JtIyhkxr9sT9tOI5pVU4yHehFaaHpfYW73No+WyFva3OJsJCzIZOxcXLnZUopILAkHfYnbQQzmVx9/b2lri8WlhC7rJK0kaLNI4PEKHXYrvufXRVOQSUXmNsWeSYW8cTrGg7jqSQ3AD+I7fu0RfyfOeRQqyGFYuKcJVp2xAOTF0qAKkdNtAViYUu8vlr+6USwWSzbxKO0GSoU8JaqRReh0AFjYxmwyefW6ls54pXFuLaRrfkWbZXWP2kGvTpoGdrnc1jMbBd38dpk7e6crbJcoYbxT6kXEVDx+HIHQLc3e2t5ZJdjG3Fvc8uMqXIBNCaiS1ukALqtejDcaHWGWHQf6HUWjui0R6dOuqxsxw0Ed1k7ZJ2VIUfuys9eACb0ag2BOitpaYkeUeQztPODh8cqiRhIzRsi7iKNm+hHoS1PTQOs/d5trJU8ctRZ4aM9hbuJlE06qeHKAAUigNKBjufloPk0ndtZitxFLBKzEmSQVd3rXmJTyVzXfroXanEtl8zJJbLBHlDFDvNLN2TBGKgVBBFT8BotChXy9jNJeWcNxDbgvAWMIltZeLFZF6EFeQ+oaJlVOIMhbdxVKX0THmoXYL1FG/jQ/A9NAshIJRZBSjFJKgkgNsQflochVQRySRV5BHIX8K7aG1/XbYD4euqY7eLegA1JWI2jqKutLO5yFzHaWkZkmkI9CVjSoDSPSvtX+k6rM5fUVtsN4dbR1Vr7K3AULFGvO4nc+laEoin06D5nQJMgvmOem7LWX20DjmtsjxRKEG470hq7tT0A/ZocsZdY++sHf7ixICMVaWOk6Ag71ZakEfMDQCc0ce5UZT8AAR+BFCDonAxbhu32pi1xb02Zjynt/QFW6sg+GiyCuIDbFHBDRSiqOu6kf/AGJ+I0IcU1FRomJS0WkE8QWYV7ZVIo5C3DcNIT7eVSCKgf0aC6RWEiyTuHSSNXMsZQvwFVIK1oHXhShAO9dxoFdakk1NSSfid676i65SArTYmpIA23JpsPWuhw5T6gRuP37Gh/dobdG1QfUBhvtT8OjV+ehN10SiR+oHCMvX1JBH09NxqpQRdyRdsRqhWVGDSO7EsxYEFUC+wxdCK+4GuhX8AciaVH4/MagnypWnEhtqfAem1agimqRdAuTsSSPhU01Fo8T8V/2f0aEcLraCa6mS3tomllc0VBT8OTMaKqLXdiQBonb6nhsNDireKSIGW7uok+4yDIIp7OVpWEtpi1ZmMERjAEtxRZnU/l8RyrQuymdmYmwx08cKlliklghJqZKq1pBMzMk1HajyPQKWIBpXQ4CJh5rezyV9cRyvk/GsnZHI4S6hWdXsWKsk007Su80LToYpAtURGVt+VdAd5HZ2dnfNPj1ihxeStIs1jmtlo7469ULNZuqsUV7S5UqA1AoAB67BbaF77DZOxgljGU8UuE8mwsiwyQNDZSSq2StIo2r2oLS57c6jccieg0BeVyAtMlhvM7CD/mZizkKxhlBu7cfZ+R4hn+oJJKC4YV+s1BroGU8U2ON5b4l4nfBTx+eeJzdyQPeYDILXKY6NAKG3jRTzUUZ+LbEE0IbYua2s8zeWdnFHc4bJwN5fhIljUGa1vYxaeQYqFIyxZlsmkIg2Ikt1qATorB5nFDF395jJSZbe3kt3tpmd4jdWN1GTZkOiuqmSMhWb0ZSNBovEbi3ucRPicjSSGwnbC5GhjWT/AKe8glVbW6jeZRKf0jOcXr0ijmY00RRnxcxQ4zyFjHJnfHsiMLnbdnlYXV1iBxgudyHNtl8bF+afaGBAFRXRamnl9lBkfH8VmcbLIyWsUEMcjuGulsbsm6wkk7VO9jcA2xLEtyBqeug6mRtpMl4/5Z7Ux/llpL4z5PBFHwMORdFt5pXoSiI04V1Y79sE/wAWiMZk8e1vNeYm7U/c2kk9s5ag5qj0ilRqComj4yhvg3Sui6ai1yZawxPlpCy5DxqWPx3y2JWquRwt0qwWt7LxDtMvbZd2B5SKTSijQM4cYtve5rwUlPtMsT5F4hdMxNp3hF3JLVaVDwtHUUFQFVj1YHRKs7iJ0usW3jF9kYcNk8Tk48v4pkb9gkEM0crmeweenGBoblTswJqTtsAQ1GXhtrqU3vkNnkPGclPBGJ8zYR/rXjGQ7SCNLiV7ZZHtu4KD3iNlWgLNSugT47E5fDXM91Zq2XweRWC4fJeJyW9/PY5KzJltshbWUwc1pI8csBBWSGR1JPQl20+Myl6CY8TcWeSkjaktpiyuAzMIVGMxvPE82z2Nwyn1gkti38PpoCJZ/FMtcSR5K3tbDKzdlZRLHL4zmiGAXgYMj2oLwtTiRHNMpU7dAdDBRkP8v4JQiWuRg5THmllnbNoJVWhKxwXUdA712OzCu+gRHx7zHxzl9icraRlQrLaTJksayks3Brdm/KjFSB7QRX56Aq0/zAzkMiRX9pDeQryW5SzVu66KpVVbGXrIIgOrcCAabU0Lm6zYeewi8z8WtrS3yWCuhLmrGwt3x5urDizZK2ubJpFQyfbt3YnPIcomozEUAI/Lcfb219HeWJSXFZuFclYKIq2siTIkt2oHFVQlnSTj1IkJoADoMrHcZHFRyz4G/vsdKKS/b2s7C1nFQzA2zl4WNFJB40+PXQ02EXkdnY3sOdxufy2fubwFcpgL6Oa2JSWM9+SU8TjbSa3kROyiJw4gjkVNdAXjMzhbZ5E8ezs/irTtJLJ4/wCTWguME80jUcW84kBtUkYipjmpT+H00Q4yFp34o5c14Ut0iRlUyvhd+txEVdxJK62X9zuacvdusp9AdFZWa18KDOR5JlMbNHy547IYiY5AKKlYYEa3hLO1aLXlv19dBWbyJ7W5tfF8NdrC0TwX+eyEBvsrLESZXit44Ekgx9F92/F0AB4qQGA5JJ764uXSS+yl3kZIAyK+QuhKLdHTi/bhfiqPvQuByHx0GjxAzN7iIom8pPji4+5uzZJdLJjYJ7LlG65CO8/KTLRxuxBUl+LGh4hgSQJLnxeXdxdZnB22ajvEs17lvdtjJ1msYvtJbmKTthpLTJRryMZoyK1BovRJG9zDc21/aSrb3VoJUtoypuraOzlDxnGSQzF1msvtnMfGo2+ehLSWvk8cNv8AaXmKmtLcKSUw0kWUxXJmLK3/AE5nFk7USn+GCUcR0p6iyT+UR26qMLao8gZmmu1xrYGB0aNUK0kvb/IxSIxJItTboa9dtAhmuMldJwuL+ZIaAG3sJWsICEoVMggYzXThqHnM0jk+vXQZm6sJLFWuYXMkcVHatBc25rTuRyABZYx/ErDcdajQaXCeUXEM1qLmZrG7VzNDeKZkhuY2VxGkkYVox3CAF2MLEcWodwG1vPHbTzaK4JFpZeQwCSe3vLaF4LbKwNwDDIWb0eC6EhAdt3WoPuG2g+E5PG3eLuprK9gktrmB+MkEopIhO67glHR13VlJV13BpqLAa3V5HC+4oGVmValm39FB5E0G9NwNCTGadqMImcI4IJJAZ4weTRsRT2Ggr8dVA6QG4WR0RmhiYBpQCF5sCRQAbbdK9dDId4SjBQS5Y0VSKH8DvTc6DV2C2YJiu0uRFbRm4d7XstPHLFAIraAh6q8MkjVkJoUqab6Bnh8ze4XvZC2EDXF7I6N3k7jdjmGkWOpWQLIwozIyuAB8dBqxncJ5O8drm8O8V32W45Oyc9y24Ru4kmMlJjGWWg5O6/LQZew8pyuLWKOC9E1pxYx2ORRLiBUZ2qvbcMiPt9SGPr6aAnN+STZqO2+7toLGG3CmVkn7s13x3WCAPLNcMX+lQWKopNTsNBRgsciWV7ncjZ29xCJpHiW6uJ444JY/zHjRYGDC5n5hImbaoNAdDkokuZZ7hMekk017cyo6xnglvBdXIB5zSF+Uz2yMGoAo5jcmlNBq8ygubvE+N2szRWaw2cDRyLJFHCkUTG4ldeYS4l+3DNyQe9n9pNdF3V3IrBmfJbXGKO1YQcEkV4DEVsLJFke3eJRG6tIgWFOXF6NQ7ipHjjrb53yWSRoov03Hp91cxsrLHLDZMYrS2kSag/vt3xBTZSFPWp0TtHGPFf5u4ysyJaWGJ43vbiWALHOGZcdbwxSmOKSRp1efgKFuCgdNB7ETvLkr/wAluuy8dgZDD91OkKz5K4RggjE3MzyWdixftJVlaQU0HcTK4bKeU3RHct2eyxveLe7IToq3E0KqOUj4+0ZYo+lGZvhTQlbg3bH2l95VcJb3VxK1xY42C9K0mklZY7/IIKf3oh/7uFWlRz6AnQjKWJZ8LirnyKWBGvsmXssMH9ixWhalzeQLQqe9KAkSjftR70UmoTx0j4LCyZ6VI7jJ50yWeP7wR+Fkf5tx9u6lJPu5VAKkCkQXffQZRbO+zN9H49jKzXt04kyEzFu1FHQF2mnLFo4LZaA9SRRRUmmg3FzkLPxG2bxrxVPuslMtMjlwyd2S4CkOyOC0cS2orWp7cKnar1Og+ZXOS+2kcWcvfvfd9zlSO4EZvqjx3PkUQk0Mx97elBoU/CFiR76qz9wl5OZkZ2IJZqnchq/UfXRPERGzmQCo+kkHcbn21PoCfXRaCIoVlqkjJG9WA5AcSVJoGpTevodAWp+3k4TrIF7eytUtyA2aOStStNwDvT00F5QPAJoZYJEL/mGRWRYmr7TJcNVU5HYGgqdCwUyLFcAW5cd2Os6SusqEsOgVVRipQmp9SdtBK0tr3JSQ2VnBPcmdj27W3UyPyUUDEfwRpyryYhVFanQ7fQbH/L8QwR3Gev4rWBKhlt54kjVhWqyX1yOyW5DiVgSYg+o0Lm8eX8SwjCPC2TZC8BoftbbnIKbe/IZCK4uHDHdTFHEB66AG68yy0l5a27zW+AFxIsUt0gOTytvbk8mmkeWS4mRQBQAGMV9NAa9z4xbTmd8XnvLrlij3WTv45XVFcndYZEaJWAGwZFUj10Da5ziZW1u8PY4NnWQdiHFQ4+QXFh7VeG9muEdrBDI59iqq8eNaip0GLzdsUssffSsi3qM8F7bNyFxbAv2jb3SsSVmjnUsBQCnSugQ8EkB3Af6kFPUb0IqK1pT5aK8scigELVSAaoQVYN1oR/SPTREmZvpUEHcc1A519K1IWinrvWmgJVzLJbxSRC6eQRWKxwyG2hcSVQIXjVpllcvXmCD7SGG+hI/yFI1/T8da+1BbpbycUVKiJ0U0A+pY5Epy2qSSNtA2tsZbT2Nw0+UkxVpYwGMG249+8njXnLZszHiUYAcEp+YdyRQ6HTDTMrRxRpyHcLXE7ylAJZZRxjZ1Ve3EsarxAFVAO2+gptsld4uUTWlxNbOKqTE9FqarIhQkK0bLUGh9w9NC7ceM3puL+4zswt5XtoRbWiTRSRwwyzkyXH2HbjMdoYYVJUnjGpckV30GsfOWt7azWWVx1jJZXIEU72qTWV1+WTKBEIVmWSRaBieQUb1qNBiMRY2uT8i++tbLt2WJtpL4QBWZ7kWz9qwDxdwj7h5R7ih4kpyoDUEDsSBk8rlM5dBGgxaNdNHct3C003citnkMK24kFsayNwCM3tKiughg2rPlfJp4kMOPV+zEvHg19fIyxR9uTizxW9nISa0JaTffoF2Fl+1gyvlF3HIWLyY+z7LCF47q5Qm5mgdudFtogkQUA9WA0HMPdNicfkPIZy75LINLZY1nFUbdfvblhIGilUzAR03ai/AnQ0ljnfBYS5zZmaPKZcvb2JABdbUyETTsxZTCLqcVVipBjjWlKnQXWUsnjeBa9Xgct5AJIonYn7i1sSpZCGYMqvdO3ekr/AVrWgIDy08a8bWUFDmPIVJZyyh7HHBO6qTIwLDvI5lkBAB5Ch9oGgnG7eL+OFk5w5nOhGe459qewsyBLBDKjhpAZonaV6ABi1AfaNCzK3dldWFpaff28sRuLoSpbqksd6bd4g8bvIsbATNEytxWrL0I20JTtfJ8tjjIllkb2W1VRRbqNL+HbcxtCvMxfA1QH1+GoG8uXj8xxlxbSWtuL2zjNyHhWRmNrBQyXFgsjGSC7t9i0YYRyRchw50IoS2DNl7RvH7tY/vrMM9hdiRq9gVneKIVPfXjSW2Ciu7KPqOgqEH6tipIykMN/iikUwhRg9wrbWuRkZi/cVC3bcgKoidSemg6rRZfFyiZRHkseAl3I5MpeCFDFBcyCSRi9xasRFRB7oTWlV0ELe4jyOOT7mK1mnxEsUk8Ujv3L+2hqY7cFOQdo+RXnyB7RC0p0Ly3lr5LBkMZ9glpisfiI4VX7m3lm+9tAZQO9bhu9LPcxSULQAOJUejMFJGiclOYyltbW8uFwKiTGwRNkJXvAkcls7r3J4sZJyku7SJ0HHskllBILBTTQUYz7W8tZWeMyWFykcd3FEsT5KA7GN7aeRGW1hSSjF+iqCCCaAgfLj8BgbV1usmJ7/Kx8Z7LHSWt1a2l0rVhycMk0azWyiRRyiJ5EOwqFIGgzlvEllPc4i6jQW98xawmkMi29ndgrzYNJ7JbKSIspIqTEw9VOgrxpWOSTA3hjijnm5Y+W5WSRLW7BKPZycV5CG6JWKb0A4v1UaCiyubvx/LtLbPfW8cr3EE/23suhGj8buPmImVeDjkSFBVlrtyGi+N5a4bDYWOTM+R38N7K/Oe1i+4Sc3kUh7ltOFdmkbuxkFhIERT1D7DRCbM+R5DPosZBxGFArDaxAC6uwKcWPKn5YAoruoCj6FGgzbSKiCGBFhhU8giVPJj1eRzVpZD6s1TqLbKgn1Nf9vy1URJ6j19P9OumztyvStPjT4n4/DfQ6e/ePl0/1aDv+oeg3A/1U0E60Fd1BHQH3H9p2UaCQrJ9IUcB7nrxSNf6zsSQpp+JPoNDlJX4N+X7nqPzWHT/AOdRNsnx5NVvkNDS+3tbm6kEdtbm6uJpFiihU/m3Dk+8qxI4xQqaySNREXqfTRc4fRrHx/H4CFcn5BLHeS2ytPbWsSI9vbsVBaWygl/Nycy8P8ROFt0NSoJpohHk/Ib7ydZrOxM1rEWinOOjBa9ytrWpkabiXubhFXmFNF4jiq1GiEEVMnE2NuBbPkoYytrcBv8AnFrXmlu10xMUc0CjlDIQvF14NsaaLwBa+ea3gtpo/uLiNTDHOsJ+5u8eamKIowP5sEx2r7warXidBfY87lBhjJH7udxiHlokfedBztZZRSTtXCLRUZuPMioqDoH+Jwlx9mjZVPtsEsyXUF27oxtpeYjucffWitHdFbhVaIqpqpAI9DoSuTP4KyuYbbDWDxYuC9AW+ZZpZoLtytRYXhuo5rSO47QUrzcEVJ600JHtF5D5fkLu0luLTH2VhccJo4ZCeMc4E0VwkcZ798bmI+2QUJoQzKK6B5G+PwUdzjvFsc+VyccLC+vF4GO24+51vr0tHCsfEbwQkdPdyO+hlg7zKX+Wa4S9NsMjZWjywPCIVgvsbNRpsZVF7dyVp3IDuFdSa6BLH3LuwNqFSRsUkku6lZp8ROeUhDdZft2o3E/QKkaGHOS3uOBkdpLjHcLGUuAI2xUxL2lz3KKUNtMwUBq1DjcU0HLmX72ztZZXVbqLt4i69zdyRYS02OvW5D6kc9uoJNNBbeu93DBkajvXwPeqx/JzWOIDgLwAUXlrSi7jbrXQ6GieGS5S9EbyW2RiXKy2sPNSLm0cR5SyDuoLvNCocgH1/boPo0GXw9ykOSxOIx9vNM0dyrTKElMtqrpCy2tuygSKshViH7nEmoI0GQunu3yt3jpbieODMRDK2JDm2W2ygVjPHYuZ5mhtpRyAFd6DYaD1vmbSGya6ycM/k+WsrlbaH7+UvZ2AYnsN9sxYcm417hFGNACtNBy98g8rviI5LtMPAa0tbDgkyqTQrUtVEFd6k0+FNB20x6W0DdppZZHL3Bmmr3nu2XdiEojCRdhQ+m+gzV1KMR5PYZJAipOYJ59yIkc0gvK8aVI+ogE9dCMmtzbC0vLq0QUijmMttWoBtbofcQcfioDkD8NBQf3Dr/s0V2grQdfj/TXQnlwHf/X/ALa12NRodAu1Lau01kSqMD37cfSy9fYPgT6dR6fDRBpmivIY7uMkSx8be4RiO6RuYnZRvxT6QSAT00JUzQpPFJDJ9Mi8Sf6p6q4+anfRSDFmayv5bOQCslAGao5BasChAJPcG40RsRGLtJEo628PB7qRANwWBS3Ll07bT0rXf2g/HQxDncQv/dYY5Qrg9xWKWm3WrUWoNaEL+zQQISpMziQ1JEMfJLZCd6Ba8nH4k6CDzsw4j2oOijYAfCg221Fop0V7Qd1R79tP9ug5qD2iUu9oqX+71/2aqO0+P7D6fv1Ur8e3G2x+X9Ohy5X+n+nRaO8uu34f9uolEgfj/R00Kbd4iu9RX8f9fXfQeopIoSKkChHx2qfjTQGN+WhQAn+Eg7kCm5qNwD8tBGPgVAHcjpuQfqPzRh0/boJ8FFSvcVQ1Klwz0G9WoByI/DQX28bSPVRUj3A9G/bX5ah0z/kHO5yFrblZEWNTI/cFEZB/Hx68lbb1B1QTGFVeJdeLH2uaoE29RQlwdBis8YBcRxwIEUJzYo/KN2Yn3qlT2ifUaiwRqfQk8T1A0VYSpZUXdRSh9T66rNNj1KBCrCpYbH1GhcF0ag/rDb9ug0Fmz85QvEiQxRkUqRQjofQ6DUmeOCYSNEsy8QnbkUhOTLx5SFT7OB3roXOY/FZpY4jZ5PFXksqqTFHcKrqz+7huxLUrT01FA5jC5HF2CC8ggRJ5hGp7oaVXBr7AOtQN9VCuNKCtBQbH1YjpsDoZQWSWa5ZnbnxVYlJAHFB0AoBuB8dRZETBBaXR5UkeSCJUpUcSaswY9P36qAZZQ0EcKbkTPIze4A8Voo32JX5aCVzOs7QlEhDx26RloFPGSSuzsvq/xpoD8LiL7O3dxbQpG8qx85hOxVeCEKFAUE1r0+GiNGyeXYG2ktF5vZOpiMcsYuVSM15JFMB3Y1ofXpovar9Yxdxj48LJZvgIpGAuruJPuIyqmpHtXu1kb+JgaaGmhs8VgrhoY7SeLI4jHwNdXi94MTNT8pHHs7oUVah6aBGkfiWYy6vBeLi7OJQiW9yTbmScMT34w/KIxbUK1FdBYnjt3cZO8yavDJY25doZgxj+5ijSglhKEqqqf36Gmbx0I4ZG/uOSxcJey8olCzMzEe2VRQkfjoKYZ3t8JOkdR95MIyUcim9Srj1Wmgsu7thj7LDo7cCUebigUNyIIH9ZqaA/Ll7m8w+K4flW0cbeyh7imhZuIrQhRoYGeZyIsGPtYmDCSjBR1WONQKmtGTf0OhlhStP9PT56UWJ05TSi1ROokw0/j1bezy14HjQiExKrorBga1A5Df8AZqsmwyrYnx9MfAgtrrLyUnuiCpigkIEki1AqBGaD4aKfNnJcbY2+LxstvNHDCii9DGYMhG8ZjKlOXz9NBnsncx5cWto7WdrNPLHakiPjEC/Wdq7VUfCmgNnx8Xh2HvFF0bu8vapb3luTGApFOLAMR7Qf26CjHJ5da4+JGhtp8YIu+Le67fdWIjlyRxRx1rQ10NMHcXMrTtcnirGYqwjHFeJY0p8lP9GgmxD3AdRwEoXkKbcloCf2jQsFuUVLuQKKCi/tNBv+3Qhyg/D5f9+qVlH9n+nppSGnjUenyA+J6AftOmkq+tYq2svEMSMldr3slfwjhCKdzk4qkaeqqpPXpqIjaxW2GtH8k8gdp8jcb2tpIecihjWKKIH4D5ACmgjYZ7yK/FxmBcY+CKEmOCzaANJQ9FMgYOWIP7dD1y4v4byP/wCEbGS0kYkzXtqKrU71dANgCPgdBhXwE90009ldQ3QMjkCPiKxg7NJGCGR9Aoktrq1P5sTgD+MAstPWtN6H5jQmFlrbSX7faQe/mGdEDKAsijcLyIAr8NDwEI3hkkhkBWSJijL6gj+jQ5T66FtktvKkSl3UOqstULFQ5oQFalCVP4020JVFxNI7SPx5qfdx9oYmoD0BYoBsCN+mhpUicthUt6AfH4U66h66oK0cEBlfYHqCu+69eui1eYGrNQ/1qEUNG3qa+hroQ5zHDjxXZieZBL0psta0oOvTQoiDvWtD8fhoZgeqSzmOXuW8r8WWKJmAl/JKhY+wo5M8pf2Dcsa6qeqZ+LM1FWOpJMQDjstUgxHue4lSKV0EI414u8lfbsF2FXrQBv26EuBOf9VR8fn6hR1Oi8j8dip8ndC3heNFUB7i4nJWG2hJAMspAZiATsqguxoACdQ0+kY2yt8VbSWsf2bqrSyXF1cxmB7v28VjnlIlaKMJukangrEkksK6qEd3fy5q/s8ZbsYoZrkWkUt1NIiz3lxL2oZbiQDlDBCzChUbtRiK10MJyYFZMPlDLFL+s4DLyY/MxxTd4NZ3H5FndxRgqhW2u42RiAAQQxPoA01lfRXC4PyS8asV/Bc+C+YOnBlo0KpZZN5KvvJD2pHegFYttC8gpbCWPDZjx+dG/UPC797q3cqitPgL6bnecAyq8kMN1SYMPSQClK6BFjcicLlMdmFt34KS9xE6tNDc4i45219EvKhkhSIOULcqOANwNCWnkxcj/wDU3icfCWONz5X4m8faHegJiN1Bbkce5FdY6cFUWg5IzDcHQCYW8cYeDIW8TSZTwHJGfsKyytd+MZSR1vbXmQTKtszSqW3EaN89ENpFezt7m2xfH7nxS4XzPxSXdfvPFMp/eb2yRmBeSOISkSbHkQR6aKL8stbW+xVtnLALJDZxW7yl4+y0mBzJM+NYv3JCTjbpnt2P1gg1ApuGGsrsePZ62kv4nhsrq1NhlIEXhJc4bKwUaaVo3rJOvcWUEUJZAdCX0+7xxmuZbO8kEf8A1FCvj1/etRB/1PgkN34/kXdyeS5rHHdQPfstancFPg11HcWGT8TvQrLBJPAsLwsf7lkZiscrBCCFx+aIHKlU79dqaBNibGeV/IvBLxI43yRnusU8jERwZ7Ehe+sDFQWN1AivyqPyx/a0OF+UKZjA4zyNjOcjE8OA8kjlWJl+/sUMQubo1DxSzjjuooQ4BoRXQgk8dv7TFeQLDeKsmIzsMmDycRB7faumAt7jaikxykAtTkIySNzoNTNbXseImsxN2vIf8tshJc2M0pUfcYN1M1ozMUHdhaFAnEDooB66Ip8jxMGbtl8pxFm93i8tBFd3yW5Fw9hk2KxXYlt1Vrpir05GMUVlYnYg6HbI2N7msT7MJmbu0QMvOzaUyWyOCx4NazBxHyPQBRUGmi2Nk8mjdzJnPHYu+iknOeLTyYXJp7l/MlW3dEuH5ej0FfTROD2PJY7NtFFHn8TnlUlLew82x/6ZlIlT3cbTyKxjRvuCa0NCeX9AH3ktzZwGDJJm8XamkgtM7Yw+eeLPGABEIcjEr5O3i4n+JwyqdhUUAW4/i1p/8EPLEkY5O3hOVizeMLyHdrnxTM8prccT7lVC1QCD00Uxscpk4ZZIbFrHKO0zNJBjbp/HswjcR3Xn8c8gW4tJJSd/yZIlJFKdNEXXGbxF1xtvI7S2Fx26D9fsJvHb8MDULHfOs+LfmOhjukBNdtAFa2tl4nklv4HmXx/yOQ4vJwZGkn6dlEiebGTNcW/dW4sL5WaMvVl4uG5sDsVfBZX2Oxwx0eKsfNfE4LiaSx+yu4XzGNjaV5/tirv2bx7UycVMciyUNNhQAks8+F8azBZPHcv+m5CKqPgM+ZbWaM8gzRxLNxuYmZqEkd5eR30Ca/wGcxZka9x80aJybvxc7q2m6DiJrdXKSuDRA4StDX00WhGe24CMUkQjhwHGWj1o8ckbbBl9fXQStGucfIXxd9f4pixqLC5kjhdunvtmLQMSPQroNKvl/kJjW3yUOG8gtuAX/wCEbQ2tyoA6me3rF3GGxPDfQQfyfyFpIpLK7tcLDb1a2x2MsYWsUD0DC4SZC93KV2JHCgrSmhC1vMfIpCxuYvHZ2LFllmxc1UbjxV6d9kLKRyoxG4+WgR3097lJvuMzeS5OVTyjSdkSztiyAA2lov5ECdKkCp9a6CFIw3tIZhxO4IQ7Dk3bqzOak9NiB6aCI+DAAKaycFPKRfcUISoHOlCKEAgU66CQYuFce8LXkfcBUgcCrihUVO4pVfw0FiK1VVg9XH5ShGkeRhQARRAPKWJNPaDop1+kJbLFJ5Bk7LAxysDHBfsZcm6nkBIcdAXaGIFfqdhsNwuiJ3Hi9+1t9zjmts/ZMCRdYqeG6UqVNVkti3dqy7MF5k9NBiLrFsUWJZJ0+2Mnatboc4oI3Yu0SJKFmto3lNadA2/XQ407is9cYy6t0uVkWOKbg/eSRpbZ+DAJHcAmhVWqG39tK1XoG+yiWHkmPVr+6XvpBLFYZggydirBvs8iwQzXFm5IL/XJbmrxsylhoPkOVw+UwN6YrqJreaNVlikR+SSQuSqT28yeyaB/R1NN96HbUWmgEMgYsJ2biI27YULWSWgESMW2EdTU/IaqG0Yks4wVZ4iY1XnHxKtWoKSruX/skrt6HQRsYTc5SCOSoWKTvyiijjHbr9xIx5VFaRgb7b00DOSRplvb2SWO4nyN1ccnZCskZVwxVeJVfcxCmq0+Gg2+C8bucnao0c9lFBArRwxyFri7ZxQzzJBHE09rB3KgueQ26euoJ3eOHi1m8t0LO5u5JVd7RlW5sMhDOCixcV7Fw3Fj/WUhhWhrooC7zthe2X6fL4zZ2ksaPHBFDE8iRSM1T2SPfZ0dmZ2MhoQNuuqhDhvFcpmYprmwtYntYZOz95NPFDG8gagWpB7siqeTcRQADcV0DjNxHGWtljLiN4ngV2uA4A7yQM0hZXRiZoGbZCQF39td9Aq8RhL3d7mpmVDaRSyrLJUrHPMGILRiORZKJ7QjCjGg20OTjDSENmvIZJWZ4Y5LWAI8dvI0s4WSSSNftp4g8a9tVRQlATQgahcLir1bLH5vLPKXvLp2sI2Mg7gEKm4mmYOWMonu3oTuaLqjRTY/H4jAzWdrNBe5nJW8M+UluJY4vsIY1V1a1gI7skMaO0an3AyNyJ3AAYiDNGHE3dgY7WFWvJpLiqK99dOwVIYlZqunbiRUj4D2gs3L4g9yslxisPZePJbzJdyMl9eksjpe394Q0K26IgJjSaVUBBPJUK+h0FmXhdWxXiuP4s0Bjt0kaMxyzX92edzdS9w1JDF5TU0AX00OV2TgbI5PG+M2EtwtnYhLONpFR2t4I0reX9IUQMVtwXBoSSy1O40HrqGHOZ21xNozw4qD8oJHIO3bY61iX7maFSTFHLLAAoovIvIOXuB0CzO5Rru9lvI4SREyY7DWghRJGYflQR9uNRzMCdKjkKgHQaLjH4Ph/wBPhJufLM2iTX9wnFntlnqIrSKQVbmDyA/tBpDsFGhl8zyF0IhPj7eQNI4pkrtGAEsqnkbKJqEizhOxpvI+520NEp9qoQaLQ/SKVPwYE0JHx0F8Nq7xPLGVkAIEqj6o0+o92M0rGx6EHem2hwNW1SRBJanjKFPdRmrxVRXb1Kt6hgRTQ9eYQzkR3COLsLRZUVUcg7qDEDSQAHY/D10KPB+ES8yspjkETiRX4yECsVIyKLIoBJo240C9nLRywAlI1cyKo5NUtuAwANQDsCdgNCjW+NeI3vksySW3O2sIj2rq8kTkoPHk8duS4Nxc8d+OyIN2YDbQb24zGD8VhOI8WtUyGQIKz3hQTR9wVVnnmUq1+4/q1W1jrsDvoMVcT5XPXv5q33kGQdjS3tCwsLbiAGjkuYwIo0jAFVi4IKbmug0Fj4RmLiNWyeRt8RZlWaWzxaqPaDRkmu1dLNWpWpknenw0E5rT/L3EK8K28mVuyOAWC6uJ5pmbcH7tBBbxbj3duJj86aAaDyDLviL6HGS2mNjgM4Nva2y/fyW6Rk/btOWd3AhHFX9rnjvoHOEyeaucTj4rWyW2xS28kf3CZJsPby3hbibvJXiuJ+0i+0QqQWbqT00Nhr7Hzlbu2urjGX4y6y3UF5ZSSXbTXNvCsUsK3AXcjiHqwoQpKkUI0GBCNx+DoKODuQ6EqfhWpFfwOhlcJ6gKVNaewV9tKUJIO/LQwikkhm4JHVahnIoEUAVHX6RtufjoHWAV5pjNPAoSBbh++yGR1uWPBBFwcIpSGRixIYUIINToK+793nriWPnIlrHxHPiWkCKFVZKO6lOVAACTQfHQOrpZrqy+xxbDtTXMNpkIYpUkjs9+/wA72fiLn7dJGJ70iqI68WJIJID3OPxWNxMsN/bB/Ip7lYSkg7kNnZsEljmtZ43EBSC2ACsvISSGu4BoFHiMlji7HIZ3JQLcuy3FrjWkVSyTQp9SclZEMzN7m3IC06HRcHljBJBi7SOWArd3TtfzWNrHPZ3PcnIkaWbgFUwGL3rGq9WIUU0AmXuo7exmFvdRt9x/d4IbSK7tEEbv+d9zDcx+1pHoSYm9zVrsdySVxyNicAksMwiuM00/dKxsZRjbZXt4QJOfG3Lnm59v5sbkAmmw4XXw/S/G8fZNCiy5AyZK5bvP3FJUBIftdt47ZUjEhJWpIArU6D2WjksMbisKihrxwLy5ipJ3zkMgUrB22RR2+4yRgKWBCeh6gRnIWjfDeMQRpC9p9vCZjK0hkub0qZJS1eDRvI7TAjoKrtuNDpdloRkMzj/HLRkSysuzaJIY5IXhhiiBuJLgyihaNFd+XADkwProJXCp5H5Fa4+Jezi8dGEeESQuttZWgjFykTq6JNG9EjUg1bufHQq40i+R+S9y9eNcXj/zLhxGot4rG2cLHC3FVAiuJuMKk7hCwPTQW2jL5N5LPkMj2xYY+MTzIrKIpo7d2+1s0km2P3VyhNGNAiEdDoC8U1vmMzf+S5NZLiwsZuzjYLpkH3V+Q0trbzOQLcGNErTZDIVBHoRoNkfJZRko8tHDFcSmeJo8fdzG5t7GajiNsfdEwmBJg9ZGqrCWopxoNBdL5BgslJTyPCT2lzI9DcGEXSoKdbe7Rra9jj3rtNIAfSm2h0z2ZwtnihF5B41kGuI0nSUqjiZEkAeUmOUxxSx3ESRkvFKlXQ1VmoRoF+UhE8Fp5Di3cCpHbQAS208C/cXFsSnBAi7z21OsXJeq6Aie9QfZ+T2QhUShrPL2ilnVmmRvuI3t2CA288JMqAVUe4bUGg1uGxHh9lBDkr+5my17fQyvBZxtIILiGOZ44AluqrzZwo591ysbjccaVAq8i8Zhkm8hycMLd7tpY4eCWOO8lCxqGtspbWiJbPHDOGMcrDkI2CnmeIApVicllDJk4rq6sbO1hvVk7FjDEifZ20REaHjHGiLIeVSfrb+LbYBoLeys8iLVL8xWTWrJbzyXxktvvsTMhY28M0KMsN7EF7kbKNxsa1NQDuTjpMith4Vi3MKstkLmG7uIzkpgO5xmaeXlJDCU5kKBQAs3oAIoaPhcDhYrm08guorvO5K3Mf20CsILLu++OElJEljkllpWT3MtQxWnUSzLQ3GQt5cNeNIMhhkP2ayx8r6WxgLv9q1BRZcUxd3BAAQuBy5LQGNnjJPLVjh7cdpkbJY0v5E9qpFGtLTMwRNJELiCVB25SG9/JHrsdA7l8k/6dZ8fYi3zGc7UaS5KzllFvcGBO3Dcz2zmSAtBCQrymQLI43BK6KxEzGSeS8vnS8vpZGmIAH2kEjsWLLHRRcTlmJLsKA/SANEDSSPKxZ2LEkkkmpr8anUW0KuW+25+I6D8Aev4nVSUdyf925Pz0HuvQ7j8T8up0Js58a77+n9G+g6NzQVr8B/TsN9BLYfM/soKfj1/1aCYVVo03IA7iJdpZNtjUgiJD/WO9Og0HHbmabLGhqka1CD12H1M++7NUnQ5ep1oQPmCdvl8d9A3sc9deP3FveWa208U0f2l3DcRiVQrTCTtMBRlSWlQQRUgA6GBOae/N8mYGT/WTfcZrO7RZI7KTgrtc4owS8TA0FPalK09BoWqEvktLiG0y2JaS3kB/vSMyI2PyXOrRRxxUMVhdHeI1Yo4IYjbQRvSmRgjytuFt7jvCO/t47cJb4++4pHamNuRDQ5LgzS8gEWU/BtBeLO4zRt7vHW8aXy3ENnfwo5CJkUDiO8qhZ0trxIqSyGih6UI0Iae6tfH8LA1x5Da28+WlRZlw6tJKLK8PLuussDRokV9JxlEfFnjJIXqToMtkspks26zZad0t/8Ag49CIRwpQd1Y6LChUdN3b+I6BW8qzI0Mi0tivb7SKEWJQeSNHQcVdGFR8dFaPA5WTtnCX95kooY/zGGO4JNkLGNZD2EkAWb81DWob2AMKVOxF915bdvGsPjqQYjFWnKS1gjVe5evHWokHud5HCnkzGhY710GfupY4J7LL2UUTWs5N7BbMkhgSQnllMYSeDPE7Mz0BAFfbtoOXMsOOyqX1jx+xkkF1AnFXT9PvCPuLXgryAi3lZlArWgGhyiYxjcsICVe0lUWrDksizY7Iq32sklGkQTJy6EkoQK0OgsjhnsL+6xF+jKLwfpV6nGM0uBSXHXKSHmFYEq5KEGlQK1poB7VZJHvMbIGe4nrJbCMEBc1jeWwXjy/vcastDQVf5airLSYCG5VGAa345vHI4dg6he3krJBUpDyi5VLUqV2BOqh745KIZ77HxL3bcqb60qOLvaS0ZopA0bMyKDUhWUgj4E6C7yeJks4MkqWyXNhdx3EPalVmeENRoFji/lIT7qE8jvudCwFsZe5G/ZMSI6ZqxikYvOIUtWSRbiK5LsassPIpxAYnpTfRX0ZcDicYkVzm7xOO0kimRLO1LgDmw5B72USbk8VC11AHdZyG9W2s/FMOl7Y98rfXc1hJbWMcJ+qaHI3E0fCVSK1aqsNiNVGG80xUsNmHnj4T20qXIZWVw1pd1jYx9sshVZOJ+H46FlCyPdY/B5Jqt3LaTE3J5gr3rNmktX47lXaPkp33+Gg6KGo/wC7QmsOdKev+3/dTVMuV3rSn7NT1aRR7ep229eux+OiOcUDFuCB2pycL72+BJFAT8+uhRz/AE+WiygYYJJIpZYhI8PLttUqQD/CeP1L8PhoUTEduHll7KtJMVLBncxgovFBwrxNB8a6FE2kdgATRR0UbKPwHTbQor31CKpAHVO3eJ0oVhynx2/Z105Ev3fhX1+VOh00ImlB+3/T8NDb2nSuacDtNKDv9P8Au+NdVEga/wCnX/u1GZhyld/T/T92rWy1pZHc7/Cn7NSWuHNQS6UJ/Yfj+Hy1e0y6HpUAbHbka7fLQTUVqfUbghum+/7NEFFaheRC/wBUhqmteh+WhtcCyjkeLcdiD616bEkGny0HDKPQirfUAuwpXah+Wh0b2IS1tbi/nISKBGIY1cSM+yRhB7iWY/A6DBozzTzXlw4keYM0a83H28YY+0K4oAfgOh0Dh4ZIcdNe3SvDZOqKJlWKWRyRyjpGHMkYb0O1dDt8umcSO7kj3MSD029K00L1eWAnjuKH/VqLUSbYheaELx9T6/8AboKAWLAVNa0oNVm6QUrMoO/uBP4ddFwe43ttPVeQcSIVqfqUdar8RoNklsjw3tz9zBF9rGJe3KD3Lg13SKhFKU+da6AAW8jQfefalYefETmLghcblUkHGrj5aA6XGynFwZh5Fkt3uPto4pLl5J0cmnNYXZuIJH4030D/AAmCx19bNNeXtxFOJKrHCFKIBunOqMWY+vTQwGyWEt8ZDJfPlIZ3uLlUjt1hMcnuHtBrvUAVPpoMrPQoqrWrXLs1NwQi7U/DQDXEvdit13ThA45UFeTPTlsPdT576CuANFLArPydZVHcUU5cVryp+GiprdTW7SvbTSwyuXIkikaN6M268lINDojZYdPLPslyGMmu5LUkqyXMq3UMrA0b8mYMwFdqgg6AubNWz8ovJPHXilNR93YKY96U5NBKQ37mOgV5aLxiDFNc4m4a8vLwiAKTLFJBUgtzj9gHAbEGoOgQKU7SQyIkqqAOLKCNuu9KjQwuheSAFbO8urIHcwpK0ls3yaByU4n10D0+R5GSzfH3tlaXVjNxE7Y5ftrngKfRGxMasab0pou19xN4zmpMfbWs7YZYQPu4rtRbCYgAL2q1iMynqa7jRHJvGpp8uFxy92yhjjP3ccokSVlFSIyCymVR1A20CzGw9zOyyTd0RW87JI4jcmqVqtaURhTpoQXZq8/UMtdTozNDCexAXADcU69PnqLEFh6V1Un6qJYHS6xREkkUHU7D8fQfv0uUa+dLf7HF4mOGaO6LJLcsorHKp9zFlpy5U0Q5gxY8tyTQG/NtjsRCkEZcRh2mdfeq8hRUUChr+Gh4EyHh15jo5bjHXwniiZvapVudPqoEJQgeu2gq8Vhlmu7jIzm2ZMbG0QieMP3J5hSnbau4HQj10FflF1cX91DZWtrNJHYR9+4RIjSMseR5AfTGBoIy+QZafDTNPMsEPAWlpCE9zRkcWaOWgYin7tBmcZjp8nMLaCEzlF70icglUQ7gMejaDrRLLeCBY5AolKNCd3UKaMtfUimgEuljF1IsalUSigMeTCnoT166F1PEatSrtDohvgbL7/LWsJgM8Ub96eIHiGjj3IJ/GmosN3EbbL+QTXE7CLH4hKwpNJVA8e/GrCg4kdK6DFZ/MTZzIG4P8iJuxYw1ooHLgJCOlXPr8NA4u/Dcxj7WC9ju+UkoVu3CGC1YcgDRjyp8SNC+8Ec+Vy0ETWs4eJmBRnFKSDoQwaor+FNC+SaMBDyieSGWhrJDIyMa9a0NCNClTGHK3sAPdMd5Fty7ihZVA9QRs1K6AC5cGfvxKIu4A69uqCvxFKEHQkPNQzLIDXuKC25Pu6E77k6CxPjoThlNReViUVgWCmg5AH3KzUqobf6fjoGguLUyd5YpLTmihOExkKzhVSWfkw5Vl4t7SOALbbDVQBJKryM6IsO7ABQFFOiniDQMB1ptXf10ETJWprsVCn12ApSp3AOgggQsOVeO4qP9NtRdCVt+TKoVgSh4sjAhmBqC3KvoR00BqWsUMbzyNw7JPDi7Cd5hTiyFCOIEhFDXRCxg5BmqK9wK5LVfmwLcjyqW5b1O+/XVHOYCBajrQqR8/qDbUNR+OgZ4rGtkZeCSdlYQr3FzIOUdvEWVVZYwQ008jnjHGvudvgASA301xZ4aG3x7Wk6BBJLL244i8zSOqTXAvH7X3M78CJG5cIj+WnsPIgDEtx5BOLSIyWtmBI88rlrgWePgePulYo2Rby8ht5RLJDGWaOEFlrudCpJeYySyurnGziSG+tp3heUUUFlI+07I5HjA/EOOO5qKGu2hlvIMhby5DA+RXNWx/luPPivk6tGsdMnHDHbT3TsoCIzzCKZWpy4q3rohXiMcI8hmPEbsOZc3b3WPMk6Rxx23kWIaeexkt5ixLWl5CAOQAY90DoAdFM7bIxCPxzye/tjL9sW8N8u7pZmgijhe3iupFVjJIbizuAzkinOEAbmpFdMrlcXNi8heY2fjIbSeRIwyKVntPc8FwIy6FopbYqxCnfkaEEaB7Y5S4fA4vyC3LSZbwLIrY3QNW+58ev2cW6Ss1W7aqXtwNyqb7HfQTnNl4v5el4hDeNZmBSWCuILjxzPxgOg4nvN9nOSVUe4JGPw0DCN5cN31lh71/wCAX01pcQNRny3g+YkZSjFhWdrTvhkrxSNHBpXRD7DRWOPmzHi9/IHsbGC6u8fMG5RXXh+c4yylTxcTHEXTiXmakfmcdq6D5hmcfcQ3UmMyMzc8ewxpmdC4gtoHIhdF4q8kQglEiKSW4tQE0A0VvsFO3kOBks/uljvWEWE+5oI2/XMJS/8AFcqWcCSFLy1gaCQsCztEo2J3IWZm8SxymE8wtkntYMxBNHnYYEaOS1mqthn7YLJubmGc9xFNKOnKm9dFMfN7eWCbFeWY6r3VpcQpdSFO2ZMljgkttcToojDJk7EA0A9ycabGmgMjNlc5viB2cJ/mVho7iNiKJaeR2qs69tiB25VlJ9KvKR1Gg+b5K0njS6sZmpNA8kEsRjQ8JIpWNU/jgImU/iKUoDTQbzEZK5zD4vyHCmyufJ7WwbDeTYC8ukt5M7ZRqqx3MDTUV5ZBGGJ6BqA1C0YisQ4rHXshx+Sz3+XOSuHZ/sspCXwdxKOLALNVrR4eoBZiKD9mgaXpy7p3PJ/FLPyO0HJo/IPFXQXoU7CbhE/OQldxugHw0CGLE+P5V1jwHkccNylBJi/IoWsrtm9e3PSISOaAUCsAR10Uky/jN7YKZMtip4I+Tos1Ipbfk0vbjIuYGeNUdRyYtxod6EGoACwuc1iG5YTM3dooIKwCbv2z8TUAwPzhoT6cTUaBo/kzXEiy+Q+L2GQuEda5bEPLiMqpFaHvWTDm4rt0X46B5BnsRkRFDF5L3VCHhjfPsXHfxxSOVV44s7b9q8hah9rc2NBU76DQk5i0tnMNjmFsGiREOJvrXzjx+ZUC9xHxd/2crDbuOqxyVAOxrU6Er8fc4PMYhsSwmgsclEpxrBngfGTW10BLYcyFe3mwWWkVoOZC9m5iXdRohTeN5j45K09/Z2uWRXIGXtopcVfTJQcWmvsephdmVfcLqFt/UnqMrG808ZzSwweVYURKKKZ8hZi8bizceVvfWEfKERKasSq7VIPpop1Y4xGQyeF+ZXNvHBxIsLq4jzmKEZUMBGkpN3BDx6mtVII20FN8mRjPdz3hOLzsRV43yvjEo+44PQOwtJhFedwgVqsnXodBnBY+G5Cbt4/P3ODvN+OP8ht2hKSMKqUe4+3K/wBXaR/lvTQDXPi7Y4GfL53D2dksYcS2krXt7cxlST+m2fFHeZmA4luSgGtDvoVkfEvgt7awp3c544zBI7XJ5iCZbW9VOr/cOXx7NKhqfdERXbbROHbjwrMKn3NnJZZi1aBpYrqymBLkAmIpAxcSsVpTi7A10GUmiltyYri3ltJgfat1DJBN9KMRGsgQFWSvLqOJPTro0gDxSicaDiyUjXiqge5opOQcIFBDVqN6jUKrIEluJftrSKa6uA6Ut7eJri4RBQBxGpBpyPXYAbk6qHc+Hise23kOSgxTzRqseMsV/UPILpmI3FpbmWGOeTlxLkODTcCmgeW1nfRAR2kcPhkF0jsicDlvOMpCoILpEBI1kHMZFFHsJ9NtBQ1zgvHppO1Lb2mQDhbma6hfyzya8KigN5EkwtcUjM3Jk7pegAIU7Ani+1PimWuu9iZBYZV+Ra48YuZsJlAQOTCbAXxjS6XlUsE75IPr1JRN6uXcPbXF54v5TFE3CRM7C/juatY+gklf8oFYk3ZgqsaVG+2idArrEHOY79MOSks7W2ZZLcYTxyeXxJJ4yU4pfsj32RnVh77kOiEsaCtRorCS2uZ8PnQ3Kx3eGnftreY2Y3Ni8sZEvCRdmjZGAdoJArGntJpoNmkePzdgMbLALy2mMb4i5truJrnFTXjrHcS2yXbR/k8xymg5EUFKA6D5Rn/H7rxrILb3qRyRsC0UsLOba6jNQtzaODUqGHuSvKNxRtiCSPfdRBoZVt+4yhT256BWIX62CH3e6pp8NtFiyOLIf9aukMvfWxumi7cTsjNJs6zMKrCkcYZhXYkD4aAuwt4WhiDSSlIFtblYZZEkY3Fw3KVYzHVexxi50+up30H0C0wOHSztcjkPIpcTfyyK5SEi3WzZqmFUfsO8szgVaUFVbQOLnw+9zcsM6eXxZo2qloO/Ak0kBKgwyn7a4buhW9NhyAJroMLlPBsxi1kuSYb62UO0xtnZLkx0ZpHexkEc7EAEsAXqKncaB14+ZLazggtshPjXYibvDKx21oQV5FXt1DRvOyqXjZj0U7MNtCKGsvk98+KyFw0trkhNEyW97PFxmgpM9oslrOsMKzrK9SEoBtT4jQZK3lWw8blmEUcc2SmnmDBCixwSu6SLbFCY4uccZHFt+J2UCh0O3LwvjfHLG0Rgj3w+/uBwC/cNMqzRu0wbi1vEzKo9diG6DQ3Uzjkhnl8ewaNA+NxgW7uLpIUdp2tqSTtVQzmGa7qDUEN9RquhRzOXAld1EEUEmQkVJZ4Xd47m0ti0j3kTvK/OKX3UICpWoA0GU8ZtUyfkIuWCrHbPJeqWIRecYJtkaZ0kiiIfifeOJpoNJjJfuvIpchMFEWKWS7Cys12hn5OltbwvLNDG9wB3ZEqVj2rxptoPYkC4us1nplBgx8cv20jswCXd8WIMYEkbSzw2lAByFC5NToOYdXt8bmc4yM7tyxNq8bxg27yBGvZSGeN+U7FIVKVccSaBd9Fds+7Y4C6vTH3J8/ObOOdpVZvtLd6cZIX/ADmW8ug7h16BVrsdET8btSZr/wAka3e7svGkeG0SIxBnyMo/PyLLMQjQ2rNU9TuCBtoM1lspcu02Sml7+SyDSR28yokXbhH5VxehIlRFkmP5cZAFFGgyoTipXdlXqy0K+7cjkevu/boWdhh7xK1bYcuNRybffiOhIp022+ehYXwe3BdCCoqVZADMAVBIkhZqSQLX8Nq6CasskaOiojxkNytpDU03MiA0fltuK1Hz0HH7jW/daMTRo5cTxgippQ/mLQrLH+w/joKLiRXYJIGdjGHcg9unIAxOKjijKaVoDUeug1fiPisnkF3JdXDC1wlmnPIzxvwDMo5myEzUVZeArI9SsSH4kDQ4aPyDyQ3SfouDQY3BW3C1CW8X5s7cuIhjELOZlnenbhQkyH3uTXYGGN8Lht7I5Hye4TF43kpOPNx2Zp16D9Vu4azPKdyLW3+nYFga6C6/8sgsU/SfGMbbxwoWSKa4hW3tQEoZZY8fVVRQw90lxzcncDQswOQzs16QuRy2QyxZyy2tm7Q2IfoQk0woelPyo/26AzGWU7XEc2assh49446kTX1pZzh5WeghiusjOj3CxTO1GcClPaBvUA4lv8DhLiAeLWl1OFBa+gvUmksbpV/wzATsk0AWSknc5JypQihpoArh855BdG9k5CNnQzyWdnc3OPsbeAAtI0kSdtyi7hIu4zHdiBoZN7s4qBYsrDlshd3UckUzxXmP+0t7y2kpBNJYxwGLmnwAcA0Ktsa6DMZWEQX7yQtWG7RZ4nACksyqzcuJK8irDYVApoF5YVFarvyILGhoN/cdx8uoroIi4L208x4qEaFK7Bpg8h5cRxIkKLuQSAQNBrbcRWFtc3KSSobodyZ2iEaBrSFkjtrUstOyXNVqATU0G24JsMii2uLye4itTf3DEXdwW4QCFvdMwjUuwjLM1B1IpoNLF4h5DYP+q+O5O3ulm/M7uPlKd1CCxaXttcROsnqGpuaHQsqucj5CHj/6qwkuUt4qiJhCkElsG2drWWyUonKlDyBU/LfQDZzN2ubCWWJtzj7SsK3RvpIrGxV4Qwt0mCotnbO8j8S4ozE+6i76FREWdivJu3kEkiurQG2ls55Wt7eMwyAxOJ7blOl0B/Lo4RuIKmp3Bfmry7y09lYloZZ0CRo6K4aS4unEETzSNJIZmRKszkKTxO1dAVlIv1DNY3BxcZYbQQWZMcXZpBbR9yZFkVy8kMcEdFYt1krt00O3HC5nyuON1L29vK006qqSvLBjeMjRcIBGszTXHBAQByC71NdBZjp2vc7eZciU22KSa7jZgLhIZWLwWKypLxDA1d2AKsKAjpqEcKMLMWuMtnp5oQ1nDJHCLmOaZZry+ik7cY7bd2N1tEbg3o0nUao9iXW1x2XzVwi3E9xXGWXdIkPfftyXMqlyTygYxxg1J9p2pXQetC9h4/eX7qZps5K9rFNxVmRbab2q/MLJEchdNI6srMjKqg6DR3dhY4Lxy5x0d2LXP3MdtPlmuYpKSRBOc1vZzKBCY7WORhxUsXYmtSdgQ3sjYXxtMa1v2L/ITNd5IStIk8HYqLSOKBowxtmsggVwSGZjT3VGgKyGSs7fD2VjYO/21nboHdu/HNPfyydy5jkhDhYplmBqH5e0hR01F0RXdvObWGxFnOck13DJdRhC5aS8H9xtlCnjA/E7qQoJIBO21QJfYDOhUebG5qzdF4rJHbzTQkCppItsZR7T1I3p10AeEv2sLw2OTEgtbiRPuUZDyBRiYLxEYIyzWsjchsCVqCKEjQoKhMWKylxjZ7iNbG8MavcQJ3ltZEkE0V1bxAhmhR6SBdj22aP4jQfUMfb+KYCR48fAk+TFvDLLc3t49vYKl7GsrNYSS/yhPAzGFljI9vAsCdwymWl8fs7eO0wsN3f3s0b3jZSZnsBbREGW5XHRM0UdsZHFXCpTei/IBcctrk7eVZ4ZpLe9QSJc2iLJdW11EikySKytIsFsTykKipRifQ6HR3NhvF8BZW935HaPe5iaOsWIW9+7tlqSpa2Ke6O1uz7x3C7gtxQbV0Cu0xhu7O4yOTuI8XgbOSeL7OG6+4ykpaUtHibdHaQ2a1biWNTQVNaEgI5VrTN2a3WEthhrrCxrbHHxyMk8EDeyO47wihdra7WTtyEiqSFWrRiSOyExfqViJoFla8mEdpepP7zHexSf3SQ3Ex5xfdsRGVr/ADQeRAZdDxqYMXEsUVz5RLcYLI2MS3Ku6pcXeRVfdbXUbGWWKZ0ZOxNE/BGQKSQRXQ5CZXyG9zsUcFtFbYrDwM3alggCGQbq/wBlG/vaNqn4RKTsDoEHKKFDFbR8I2PKRmYtPcOOjzSn3OR8NlHoNDhQf6xoBU7itT8gOppqKrLN0oFHWldyeoLH1/2aqOBf/ma7MQd/wWpIOh68R8BsevSp/Gmhd6midvUoK1ofwNB/vJ0VIDkeKBjUevElt999qKP3D10XSxaRkFOLyA7MaGND0rGDtI4/rH2g9ATvoiog1JbckkkNUkn15V3NdB4gjr/rH+zQy7Qj0/or/wB2oLWEUkbRujFZE4PQ15LTqAF2ZCKgjcHRRuCukikmweREBt7tUSO7k9s1uGfuR3VpIwdYSjrzYBSxdaV1S6uRpMPfXcUylraVTb5CJ4xEL6xmYNHeQI45Rd+MBhQhlYfLRKtFi/Gr4zz31s1nJhnjMcs2RlMcN/irpGCzLOYzbm5tlBB5lWjmQbdNDtO5zmOsiLbxG1Zb5bcW17nZB9rM8IpVbkxHtvLIUVmenNiPaBUnQ7ZYCkrXEsz3V0as93MSCCT7lt0NeBav1GrH46ClpDVnUrWpBZq1ox9VatBTbQVn27kgk9eJBAPVT+H9Gg8xkUxzQt/ebb82E19rofe8JPT3Uqu4owp66B9Z4qLNyRPjbntm9Etx35ImdLG+t0FxeQX0dtGTHZ3MfuhkVSe4CpFDoUAQQEx5LEdyGWa2EmTxUts/ft7oovO4htyoDSJcQglSQpQAhhUU0A0IN3ipUSJWOKb7yORFk7xx14eNwsjAlOzESDUjkG6aD0hjnw8HtUSWM72ExRGrJbXK87e4Dbp+XKQpWhJ69NBG5b7u3guFjNu6ILCcoSEe8s1WS3n4mR5e7NGx5MQqkgBd9tBZeTztcW2YApJcCK+bjyVWubIpFcw8lFVe4jUMaHeu2hNl07R2GTa4h4vapOl0ohoVGLyy83WMOxDNBzZQG3r130O1plOKuopI+ZXEXRspSZOMs+MuKzWsjPGwDkI9NtuQpvoNPkr/AB4tpRMGa3kj409zSO8yFhMVA5oQeo2NdhtoaZWxhiksrWHISXEMKHis68llt7RJeYlIU9YYgxAO3odtDTT32H8fF1G8VxkcrC1nHdW96lxHmo4Y6qlchje3bzwUZgQIe9sD7NjoL7zP+b29gjh8VNju3J2LyxsIbrH36KtBGxiR4YFaMU4sEI3qNtgT49UvbPMYxoYwkkaX1msgj7cFvlI/zYLV0KoixXoBULVaUAodC2Cjx2Uy4XNY16/cWZTIwRkFm52koa5Cg17fHga0oSGOgNqKVBqCdj8iKj+jQQPWnrSu3r8OmipAepH4aJM/HiOpG46U+fxGg9QjodxTb4D11R4j9m2+3w9BqK4R8KU/0/boQjqD3+ldBLb4V+dNaHhtX4HpqEurU71/0/0OiPdPgB/ToOHb8D06b0/DRe8vdfQ/tr+346uSr1PxAp6fPUHeNBt8OmiVQclFLUqRQAV6kmn7t9Va/EgKbEb03p/T+yugkD1FB/tHzHoa6JpzrU06D93XTBhGteustYR0Sbw911Ui6QANB0P7x+zRcLkYAkGnTam3T0HoN9EWbseNa1oBTpX5/LQSRiqFGNSvSp6b/SARoryo7SgJ7iWAVK0JZtuO29T1+GiGuYuZrRbCxx7skoAluHZAht2C0qHIYJIorTrvoEEpZ543kkjcx0k7s6hqsp5cpgvESq5Hu+OgReSX0s0pXuQ9+6CyXLWh4QbqAIljFKIqgbGtDoQxjJx9a01FidOrIV+dOgroUuu+4YilQB8/XVSaqw45htxvvT/TrqLSVyNznUgVr/Dt8OmqjQ4oMrgnt0Ziw4e6ZKbFWANVB0GhEK3Je2gEk11cKiwxAKP+JuxLEE0Hw0Kmd7h/IrcWGMkjleGaV3itIpQ6mRELd0r/AAlQevTQKr+wvbS7tYbyGSCqM0cTsP4Ru1ATxOgf4EgyXEaPOzs8ZkRG4xW4H0uzE1bmOuh4L8oK/bWiq/MG+QncU2U9PiQdBlJwYo7ZuT8j93MFJXgg3ACUAb3eta6BZcNzRaAgmGMUUGu5qeIpXQVBm5QMjMDyf/xEBSDWvWug7yq3apTkgcEU3PLo3WmgbWmWyNnALa0yc9rE1wHeGBipUgbPyNQKkCo6HQaD/qrIqgOTW0zNuvEMJYkt7wKSASkkY4SNT4jfQLc/kbbJX1stpaCztraASdqkdTLIK1PaFBQaBLy39a132+P+rUPEtFlIOykEE/H/ALtDpa8qyDjKiSL/AFXUN/Sd9VLwttJ57I88dfXePYEkLDKWhqRQkxNVdx+3QNI/I8rbWlzb/ZWN1Jcqwa9jYxS9xhQzSxmqvJvWu2gzKJxTixq5JZz8WY1NP26HKB/o1Ca/45T/AE/o1UNsFYHI5S1t+JZEJmloN+EW+9abE6HZzc5d7XM3WSs7B5YbdTZrIyM0CSL7XNaUHSmx0UBZ5oW9tdpJC0c19O80l2q1gq5qY2FPbxrtoLmvnFsDFKOKKx5Ix39ae1qb6CeC428a5MvSUPJcPyZjE9KhA8Y/iX0Ogvjz2Ux5v+/jW+8z5BinmSiGFhwQImzcVRtv6dBR5RdEpj8d241W1t1ZuAH1sKCrLsdBzBiGww+QyjzslzJygt4wpo3ps229T6HQL8JBbzXE1xetOkFtE0jSQjk3dNT7z9Q/ZoELFXlmkWvF5XK8vqK8jxJ+dOuosRVzQc1WfGpwKCzx2RybSSQylezauuwY9GofQ16aLURdXC2fjRUSRSXGTlq4J5SjkasW9aj10CDDyWsGRtJr1gtvA3Ill5LzAonJd/bXRG5myb387XENwUgU/lJHKVCqP4kQkqAfhTUWWbvsbPl5X7V1AHhXm0UsqrNIG9UU7Oa6oQ3GHyloC0luWUEbrUNv0NDtv+OiF3MhijhkahBRwVPT4HqNFuKmcyQW4bhWJSnt2anpX47aEqJUcwxyEAqGKcgKU+R0NvKTsK0GhGKstQnb46izCTdT1p86Vp0FabaELFlCgeypBJ3IA3FN6CpAB2320KKSf9P9PTQrTL1K09Pn/r0JuMGwii4qSCxLcWDBSDQAmisr15dCdhvqoJEpj4RxhmQg040DKTsRyPU7fsGgHmlAKKQTxFQnKoVq1UVpuK7nQ5RSGSU7ihYF6+2hJPoAf2aFRlnjp7ueK1tE708rFRRSO1vRmkJ2EY+f4ddC76FGbHxu2WOaJSytK8TSKiPdSspWVFnCARvEycXDbIv09SCGQt4pcpkbaKWYWzX04jtlk7vbhkmDduAN+a4EzUij2IXmCwA0G+x1sMJmLvEW8lxdWd9a23k3jxlr3LqewglaeyRIyEE+Qw8l3Zy7A9xRtsNBHzOwW3lxOTtpZpkyWPis0yLMIlu/suD28sicisSXePeKRSpRmkUsFrXQ0VYBHytpnfEpFdJMjB+s4UTkmRczj05yqrcaiW9s0NSBWi+miO5lrrIWGD8vtHf9UYwWeSKxkyx+RYLi0NxNUCNJL2zRJONKVHzpop+q2l1muBZY8B/mZjCSxqILTyCMcljTjyK3VtlQVKk7mXQKMpa3N7hMbdZCInJePXL+J5TlIylHtnaWweZ4+TyxzQydpHXie7SpIJGhBX4tf21lm/sshI64nP2suDynIKvFbhCtlcMRVRLFOQC/0opJ6aBrd42W58fyOEnrPlfBshLAPaVnufH7+WnIA8mdbW6/MFDRIiOgO4HWeUhks8F5Ndjumx7nhPmMLCrT4q5iaO2vp1WsrgQULMa85EoOh0QaxlxVqkzqbq+/y7yX2sp9jtlfCc2CkLg/TIRbTFUpVYlFeugv8wxkctpa5eFzcGFIcfdzJKjG9te138HkmIJMhu7MhGYVIf8ADRWO8Xu3sc2LJ5DaWfkCLZxXAL8IMpbzifEZAN0d7XIqqHfZXIYaD6BkLIZi3v8AHmEQyeQxz5rH2wCobXyvEp9l5NiN+bEXkUfcUEjke62iKPDrhM/gbnAXgLzJGcVK1B3oZLWN7jAXhdU4qrW0LwFm9wNsgP1aKQYuJ8nhMv4nIZIMxgp5M944ZKJLHNbOxv7GMHlxENyr8V6nucjsuhK/yJky1phfKYVVYc1ZiC/YflwWuYtqRzd1o1VvzjCfqqCIq+uhWzEXVivfcce1dRSGrwTK5Dj6pI5IiUfuGjK0bUodA6g8q8otIPtZrqDN4/ZWsc1bRX6siFkMZkb8+n8JJYkaFDLH5/xhJeTR5vwa9dg33OEu5LrEPL05zWDq6mPj1XtkfPRGpeO6zcfcnsfF/wDMG0Ao13jZI8TnUQGjs8DMEWWrA0Vl3NNCFWOhkhdbfxzN+QYKdm4J4/5Vj7i6xsrlGEtvFdOkluFYAU4yVoa10UJOLa5uLiPM+L4y5njnIucj4bmLZJhMoBmWaxluIpHkUMCVJr8qaDqeI42/ikfE+QNHIil5LLMWqxTRghgHlkt2BROSkmiEBanQZ668WvzEki4+DMQuX43eHmt7+2KKwWMRtE6XKtINzyVadKGmxCUWeZ8emW7xseZxt1bPHcGCaC8it5K0lEEgCpDKhj2YMSGU0Oit9d5G2QJ5NbxTjx/yKM3V1JYWsd9LgPIVtxa5BLyznpb3FllYSYrmNwBLwVwQwQkmD3D+QoyqMTfWl/bIwhS3x1w0MzFlMiwHx3yGaKVXZAxAtbzfiQFJGii5ofGsrJNa3tjaWl9NQk2pOHyhYcSAcbkktXdzUAlDOr+hIOgz15/lzxna5w2RjW5iDlUYTYXIIxNQiTwr225DozIFP4aBc03+YeDdJZZbq6iJS2AvYhckGgESpc2avxjld+KyGtW2O3UC186sb2JYPKMJFcw8e07y2seQhBRm5FLuJGmjegHINECGB30RyVv8v8aIcpZ43HXaSyqiwrk/1BLcoRIXTFrI807gH6HEab0JBOiiE/zCKySQ3NjkJrGUMq/dW2MuVdSoCCbGWi280ECr0AkmagFamugNxw8JylwWwWSl8ayknAn9IvGxazMq8n72JvAts0SuSApjqwpoNBLB5bbr9v3vH/LoV5FIMpb/AKVkzxDD2lFuLCegNC/BAafjojMXcGIWaJLrwPySyvWJRLOxYyWN3M5BECXtrdtYrAVB514EDoKVGiio7XJODZST2niFpNGa+P8Aj0cV95JcQ05dy+v1Utac433kqFTarDRCo5fx7ANLBh7NJL9lbncWM0eTyszSVQyXufmWWyxkrByWWNZ2Ug9CRorPy5XNXr/aJdNaG6rytMPHcS5S+48+0t9kEMmVvjyYIXDKlWrxA6AzsPF1hpHkHNlKRFLHg8ZHFkfIZUkCuVmhQmCwDLJXnKWpQkkUOgdZHxXx+8jQzi9wszlEEuVSO9x8spLRrxydpNNbwTe01/PUg/w6HgSXx/zDHwD9NyEHkOMAcxQXUdtnoYwhA42633KeJiBVRHIV2oRWmgCTxjyjNP8AfXl7fwXaU+xmvsm+OlmlYdww4uC2oLaKIOP4FBO3UV0LBclD5RYqLXP2UHkFlzDUzNuVmPb9heHN2LRzRSqteLMzGh6b6DE2uRkw11Oj28wsZ5HdsZdOJgsTvyjlhuii8pYfp7oVSSSSN6aHj6RCcfm8ZLZ3NtLNjLtIbmKROAnsLmMsgvLOAhonfjVJo0Ze6F2AYkEdPl+dxN/g7iO3mg78EydywvohJ2ryFgWjkjYkhlaM14+11IIO4OgO8cjRMP5JcSSXC0xM8RhtVBlaSR4IkeZXRkWAPIQ52IFaHQshYxD7YLGlWDCL8tmUsGZEXtOPcjqC7Ajcjf00Gg8iYJNbWbIHW2VriTvGQhkitgFicSEgKJDUlfaa1O+oMis8tuBIkbwvQES208tuxJNGXZ36HagpU6o2U+VzFng0t58hNdNe3NlNFFcNLK1obaYTRG0laiBZVjVXUHYV23OgdxW0rLLbyRW8hhBb+6R29ibSPmlwsEr5BVtb+VJELRh3UGp4k0poM95EwWCGCJ7zuyzTO8FzF2BHIWIjeO2WkMZczDZdmYV6UOgrzUUgkxOE5UjjNtBHAV5SW6SOqMk7hVaeQRxsdjQK1BoAPKbhXlvuAi7caR20HZctGDOUcry4qAI44/oAAUmm+hbDKpfzs0HcKpHEAn93RYnCgg8tqB3IQdfaQKbaBjc5SN7d47cXEk7x9juyrDBHa2dSzw20UTvRpXPuYnZdgN9A/wDHzBjcLd3fcK3t4zRwL2y4eKHgzFpVlRrc8n22Iam4OhwKgeSw8aaf3LDmrm4kmk5RMGitR2obeSFqupEMZlDgAbjfemgjdg2Hj+NtQLg3N8pyk0MyhIDNeUMIiVk9/H2JzDUodx0IHi3J27xfpWAtWSo+2g3CVkydyQlxcyOu7N3JDQ9eKeopoKvI5ms5ZLePi6Ya3ix1kqAlu8wEMXcPENJMoqTUkilPTQEZGEWFhiPHbe4HKGITX4jMg/v14qzXDyEnjKsMBPUHg1NBgLqf7u7luBRYYqQWqDfhFEOEVKdOVCxPx0MgyTvvXrUEkbtty9oAOw9NAQgSQKrDg6knkgAVhQEEKKFZVp1HXQXI7qOUx5qAhjKkFjQ0oW6nkNgRTfroJSIzMGhYRyV5CkqMJCdwaCgLUFDShHqNCihnkV/ZI1vMyUlWIgxTNyorBVJX3A78h10BOJxcucyllYWtI55mPfcqOzBClTPcEEke1R06FiBodPo/keStbW0t/GsM3axWPiVb1hG4mluUlAfuMvtuJpJ9/aWWaRgCPaNAyx1lj/DrOHM5uNHzLxyPjMW7VTGRsm8twyAkXk1aSzUJUnhGNidBnTlLnN5n7zNXDMILdru1sJJYoEg5A/ZBYJmjgWnHn2xSR1AJJJpocKsXZWWTyj2WSyC4+KS3M0zNJHFNcmR+3FYwPIGSIycizuQxA9N9Fj+voNonjWB5fpdtCsqJwF8yd542HtUPfXLSXaRFlpyhiSh6aIWZfzO2MM9oODrdxPbSMsfeYF1KERy3LyS3RYt7X2A9FrvoM5js/hbO1i+/xU+QykTCJEkRTHCidWU3CycZpX6hkIXanroNMt95zm4WbG2EHj2PAHK/upDAUgpxINzcgN2l6ntIAPQaBFbz+O2MU1teY1cr2u7b3V/c38gLyVYGWxhjWO2gt2f3RuoLkAeugVXAXI4m1uo3LS2KzxuCD3JRAWYAr0RmtyaHqxFKV0GemkWOMmQDj6nbcMKbGhFKddDtcsyC3tlREnNxHdywWiRMTM0UfYg5KCSC0jE7VB46B9n5ja4iG0ErSlbWzgNXVwHMfOQuXJmEjSD2+nEUrSg0OwfbVbG2sYy0jqjII4veWuCgcoUQ8pWJbpQ/hoHOJ8MziqbsXowNrEQ8krzyxzxxgDlJJGHSK1NKkB3DH+roG1z5O+LaOyx+cvvKLhS6Pb31jbTWbKQN4HVUviVbo7OsYFeug+Y5m6lvHDTOk869xpRE6yQxVNFgLpSOV4yTUry4g8eR0GnuZFgw2JsGlB5W6tfLInG8jWBiwguH6pFBFyWAEcgjV+FBot8ck+4vHu/tSlpjFa5UQO8kjXcgMdrLNNcl2cQITQCgUVPU6BriXUyZrMT93jbQdmM2/brHPfMZixQ7onbiRa8aDloKsa72+Kyt8ojEt1OuNVnEUjdpFMlwqKyl4i9zNUuGFQmwqNDLqxxWvjf3FQZsleGUukjiSK1hiaGGKeNiodO0jSIRyWp3odDxcUuBjsXhLde9cZKZLmaAKkcv3d2ySR2wkYgC3S34e41Uip9NAb5PjbzEwYvDuInpawE38BISWa4uO2/elokZVLyUshYVVAORqdAchtbvN2NtL9rZ4/x2zQiC9m+3inltmENjHLHNJ2hLLIyu/FmDqK1qaaAC4UZjMW+OiKiKeV576TuzsoghLS3LFpQ7rxRG4so2FNq6C20aLLeSfc3tx3cZjOU4lczTWogtpBFj4qyEkQz3ZQcmp3O2Seughivt8hl7/OZWFby0xv8Ae5oZplhE87lltYlVgIpGbtM/FvcyKo3qaiheudykd3kshZ3dzZn2XK28TGe2hM7K5iue8WaRIIJfZzB5elND01XyvyGAI8t7gruEHmPuYY7QuwFQS/ZjcOfTi6kk6HI+yzfj3lnGHyC3t4ZbRWeJle5mW5f2fyLqOQXlsyDZow7JIu5oVrqKaXcPilxBF91YCxxllDLcpjZIQb7LKrxLDkbSWGWG4XtCqOS7B0f3D21FS8sBk8u00VrLFClthYLrsYrHyt9xcQxuhd3SZuUvbrHU829xPtApoXPocdaZOLjJKsERkiurbKXluEth9wpWewu5AyRQRTrzCrEGd5CG2puAWQk8fxk/2njMeTmWJV++u45Z7isqUFubSUiKWCkj0Zl4l/p406gxs8Zisey3flcv2d7dW6rjcZyuA9osxKx3WUuYSjwMag9sNzRKmhO2iMwoiwGbubbIxtPjLx5LW/jWSV2SO4pIxinULLKJE4zwOKGUUruW0WDS3weeXNM2GjbJr9skdwxuYYlv8bPEft5Ju5KomivrU8XUFjHIhBIKjQkfdPhfG/t5Mdcz3nkkxlivIrcCa1kBID2txZzpLbXckTKq9xaIWTuHfYhn7ua6vZRdZu4N9cCnbsy3ctoCN1Eze0XDx12UARr6A6Fv8CyzPKeTGu1FUbe0dFA6AD4DYaAcn1qGP47D03I6/s21FRILevTqSaAD8fT8OuqPbLXoT89gP2en7d/w0RyvWtSdqGtANwTUb1qOnTQ27xWp6g+ppUD067EA/PQd4ceor8ACN/xIrT/XoW/x0IWJPRRsWJJVQf4fizEfwjfRXmdVXaiKSF5NUu5OyhuNRueigGp+J0Ru8L4W86HIZxmsLCFO61m5+1uXQivdvpW5vj7dgdlp339FHXQL8/b4Fmtv0OOzKSRlUuse99DGLqKnCwyUeQebkboNSG4Hbbu+1gQ2wZNX5LUbncHkpR1Kkhg6ndHUihHUHbUV1RWu3QGpJoB+Na7D10ElJQgqK0IIJrv/AN+iOXERuUj7YMdxCS9vJyGzmlYuRA4pLQUr9L0PrqrZrLHyHx+e0hu89amS/s+Vu0KxrcNkXVTWO8iuuSRCWShPEFlYVUAbaJQoyOTvMoQkvLFYpf8AD4eyMkEJ/iZo7ZmZbVJH9zMRzYnYDQ0Ws3FBFGqwxIfbFGKKCfUmvudupYkk6iqySdutPj1J+Na9abaHKIqCOJqT6Ur+z4U1UXQxTXEkdpaW8t1d3TlYooRzdyqmsarvw4NuWagp600H0PGeK2GDt2zHk09tK0Q5i1JWWyhYFaxcaqcteq2wVPyY23JOgz+b8gmmuba/w0Ix1o8UyxyQRLBNcSwbzW11La9lJHlWpO1FFBTQZ65kSzvLW/hQdiYpkIFERWLsu4F3bIkvtkWKTrUkVNdBbSHH5oIqN9rLNwEQkWNjjsqvJYmlFUXhz4k9BoJW0K2mSvsVO0MazrdY2SSUieOKSOstnLE8The9xIUOCQDXQC2azTQ39lUpLLCL5Iy0gQXdg/KZSisAZJIVIXkD1+O+htxHEmNlALFbK8t75AZAE+1vVMM5AJVuSsQQBX10O0n/ADbSzRkAML3VhPKFjUSrK3fsi5U8pZUbbk1NjQfHQ0sZllbGTcIwt5Ymyu4wzur3djIyHuq/tVmt6bAkEb6DvZgVrm1aNIUvcdcrEFdolhyNk/3FvKzMsrlpEBWi051AJGhoy5JeWdtIyMpu7cRgcxxaQxUcFAOQVm+dCdAosFmmucaLaaW2uls5lR7M0lju8fISS0VOM5MbV3AJHT46G2mtczc4+7luMjbOZGjMU2UxUIEckbkqTl8O6LBfIBsOS8gakNXcBTPPiP1W1OCuWltjjb8mHttBHav3hcx28AZncwxy1aPlUop4gmmilWP42vmL2z0SC/dkJVarwyVuGKuN+S8nIp8d9EWxe1FQkN2jJCWU8lY28jQ1BGxBEelT1YWClaCtfXqR+Pw0LpddwfTQw59PSn+//s0XOXAdq9T6ft0PHdz/AKdPlT4aDhp/SR/p89CrlP6f3f7tCyVAB06ft/bSvTRM9O9enpSo+PT01R0V9dxqJLm4O2/7Og/HRbbep8KHbqN6/s66CIFf9/8AspotaJfiadBt/R+GqnT2/wCP+v8Ao66JZEkg0YUU7K1eh+DA9CfT01F5ckHtIFSxIA/eN/wA0Lp9D/vOroy5/RT46Dh/p+PyOosI6iyiRXr+7/T01Wa/XtETFP2mlD0pqNLg4XkQENVKNyWo39an6TX11UeViootaH09P3gaDpckAnc1pStT+0aLs8w8EdZ8hcIzQWiMY0QBpZbhV5BYVbiJHB9K1+GiFpke6V7h0SF5vfNUvSWlaSkSGqOw2K/EaAYPDCkl3cp3SUcW8bgdvkoo00oFCUjHQep0OmCnJuZZJpSvJ2NABQKoNAAK7bDQBzRLQnkB+3roASKHUahzQGw4+7mQyJHso5UOxIHwFNEr+IQrwmUyKV+oN6EGlPx1UaPDDjJ7JFavIhl2Za7FXJG+orWW2HvsnLxsrX7gwcS8pk7PaZjsUlBDBjT031UNx475QLiKULkPuIdoZxkyzovqImkYkKPhopTlLPJ219/8LG6e9aMMGupFkcw1pVCKLxB+GiDMBNbRm5UxSM004Tn22o1APaZK8fboL/JVjRcci13u2dU2ChQlGO2+isvLLzRF7rOI4LnirJQRVY+1Wp+Yvz0QtdnMYdjVqW45DbatNtCjzoXliUEAfmMATTkAN6H46K8GQSGPgxeiN3fRV+H4nRFcbDuuKGglqxB3IHXjXYGnTQfSiPAYrOG9gu5kvUi5LbTidpBcKNu6jK0RbmP/AAn00CeDx3K5OJ8t3rJmvHLBI2B4Iv0rKIQew1B6g6HpReY2/syRPbNQbmSH+8Q9f68dSv7QNDILkp/iDU+Hp/tB36aHboNNxXQcOwJ0KJgkU9B11DSLtTp+P7NFVH0Lev8Aq/dodO+2nTc9K+v7dERp/wB2jXh7iJsTDHei9nu4sg8RFgluGHc9pFOSdG5fEgU1WbD5/IshFglw82Kjt4pY+EdyqMxmBPucP0WSu5JrvoeGFl5VjI8fBibjDxIsMaoZndR3tt2B4n3MetT10Mg0wFpncpBDiIuxE69+8RpRwigRhy4hCQWl6D9+g0eTkxipJjx27W5Lx2v2YiAQQQkcpnYCqhgPq6aDOxXK5XNh7uWWXHYuNkgZFLRpwA48nXYAkdfUaDJ39x95dXMwrR5WC168FJVa06niNDZnkslbS4+wx1lKWit15zrxAHdA/fUHQ8GtDZWXi7Tyq36hfPSPiXQ8CdhT6XQKNBkVWgVR1oK/79KLV006f0/HSwgfgOp2H4nYaJS7YXFo0NvisXHLyF0FlmRDWjEgmincEDQA+TSW7X8NrbKBHYwLGzcODNKR7gw+I+OhBv4t4vZZi1ur3I3Zt44yyQxd0QK4A3lZ2+sE/sGikt/hJ7CSeWxuC9vCSeQkDIV6j5MKaIz/ACWZjJMxeQkUdSUZf/CR00MmcGRy8MTdm4uLm0UgSJcxPPCtP4TNQlaU+O2h46J4crMIbuOO2aSgSUGqxsTQOjdQleoPTQRyuPkxzRW0pRpAgbuJ9MiH6WU+tRoFsgP2qnlUdzcV6HoNtF7VKOgqBX1OmyLQzzgABkDVG7cgCPxG1SNQhQT1+Zqaf7tDTw0EiB0HWuhX66Frsa/L4aJM/Fgn9qejxlQtFAV1DMx7rV5FgTQfLVOFrTrLvIqqRSihTwbev1KQyNuanfbUVA1kfnRU5e1QKCoAIJHSm3rqpqhmi99I4oYybiVuEaKFo3EKqhaUZRQe4k0A30H0LG2VvhrGWS4kjieVWE10yiJpCArhI3dh2okOy8ivJ+hqdBmLhMnnHusobeaW0xiW8Z5uGt7GOVmS3luHZiHeUp1Ct7x7tgKgdj1lyfjuZxoZP1HAyp5RiSqt3zbunZzUccyEqRD+TMKV5Ovw6EmzVZOaS+wVh5TZ8fvMZcW/k9pEnFkjMl3HBn7IEAs0Ftmo1uShNUS7I6baB/c21rlsDkMfYwJHI0NrnMG9GV7m3uhPlMdBHwV178X97s6VVx2E2pTRbPjsV9c2FxZ38Vy8lzjrqG9tGkd1LBX7sqSpxJXvGqsvQVIPXQfS0gt7jMZTD27qmK83sYvJfHJXjVY7fMQp90sKosvFS3vjlWqtsFAGhhnMbFPlcFm8AC8GTwlx/wBUYiF07c8DRM8eUso90Kdp6OoWvu0OGutbq1yd1Z5KWOD9H/zDsI8Xk4AOEVj5XjgVt3fg1VFxOn5e/NyeR9NB8vyVtdxPcWd5F9tNbfkSiRubpPBUECQmq93jzjBoAOnXQfQYcojt455pM5kt76H/AKS81hLAUZovtVu7oipVZY1Sam2yqAd9EK7CwTD+SZXxDJuwx3kMIxAuRTibgAXGAyIC1DSe4LQn63Ndhopnjr0W8NldZWFVk8ddvA/MYGJZLjA35eHG30hIAEVrOnE05O/GooCBoNDh4VjgyviOXdSmLdcKb6RlWdsLkC03jWQQs3Amzu5O0KbIZVB6HQ6fJM9j57Oa4tJ6Jc2M8kTGPmFEsJ2miXYKJgA2wFQQd+uh4+qWuQnzWFhyNlGgyDqvkVmEolPKPHu3b5uxZIQpb9dx1HjXfkskhaugUTGPGeZ2l7ZSqmL8vghnsZSJI4Y7i8KXeLmaOGRU5W2XRVcGoEchBG+iL/JppMF5DhfNLeIRQXZV8hCGBZZQgtM1jmQFVeZIgXH/AKkbHemgeQ+PztJ5JgUik/6fzCx+RYPJQRPPFjr+Uxv9u9upMqh2owQKKxg/HYvJA3h8FioOezuNx6qo5RQGNbhFALVC3TtLMi9ABByNdAG95/lxjgD3LvJypFXgY7qcPJUcVH3L2NnSg91Y/kNAH/1zh7Vv/gnxk9EHKdraEnZ1kDLaWajtkMKUcGq1roBZfPctz7tvgsRalo1irLBNcGZYtm90lyoAO1UUUPU10C5vNvI+08MaYu3ilcllhxtmgYkAcTW3KBCoAIA3HXQ2JtfLcjeP2stnDi0RCIZrfxzF31urMxDLIIoEljjQU4sgYgEj8QbH/qe9FMRmPHvIoiRKFtbLDwXPNSRGHtLixjm7grsKbV3OgiJMgnCG8vfHbPKTMTNj/JPGIcY6uyhCIMktsLOeJqVBEi1JrTfQGzXHluLgM1z4zaXtt7h9ziL7LLEEbi/tW1yLqArgHlwIpVemgji/8wIlVccmJyCd64SRorS/trqa6m4BJFvBfW0MtyJY1ClGbdVCknQTv18HvbkjIWkvj13IjtGl9i8jhmhnYBo2Mtu95ZqoI3PADlSnUnQNI8ZnTa8ML5FB5FYJxH6blVsfJbNkRhHEpkQvdQxhKHaNOK6C6LIZTGxFbzDZbGW6c42mwEwz+DDFyWWbB5Luy20aNUEQslAdtChtjfKIrgxwY7JY+6PPikNneHG3yipZlfBeRN22ZTUERXa/IU0Bd0MJdyGPMY21t7ien50kcvj1+/L2OQbvs2d3JyO/auZK16baDPT+H4NJxJbXObsu6pJsziGnyErKCVFnOtsUk5bgMS8Y6k+ugbY28xGKiu7aSxsbbFKzpIhtL7LFJQyq7+R5u1jvcbb30rAsYhz7C0DMNhoKMh4z4pmLf7lf/g9JWURXSNHlMQzMzCkV3BJNDEruan8yOnw0Lk58T8switLhL9ryzcDjFHIuTtZUUkhGtbw92PkfWJyK+uhZQ/luYtk+2y+LvI5Yu5Gpx+WusZC5DCsN5DepJc2sBKCpglBCj27UOhQm7uZzryY5Vne3dhI+Fw0TLbKzcWjfI3ZBuLta+4tcSnkTUGlKA7x3ii9xoslcmCe3KF8NhBDfZCONm7f99uAGs8eJFcPydgVHVtCrQWhtrKzdsettYY5ZImvLiwyQgRGRYVmbNeX3KSC4buLxMNikkoanupohet411azyWEcLYhnEk+VyKyYXxVGHbHPhIf1zym470dAZpO3KxpRemiiIrC5jaO/tYY5pJwpN54lczeNX9xFEpYvL49luWKygp0I3bbY7aHYRbkW0y87m0gvnSRljy1neeB5eRaFgI8lY9zA3z13XlEQT1NNERja2e9RbiKyuLy5iRJopEuvPs/LH+YvO5usc0VthMZGGBAt/zGI5bGo0D+zuZoHa2s7u5ZVCdyx+5bOIoXZ4mwmYFj5HbxopDERtJRfjQ0KX5DE4TNRSQXWJK3Ufue88ZmWea2mJILTYS57OQtxT6l7D1+PQ6F4fLZe54nkTbQZFb/HTd0yI1vd2NzCoKiRJrG6EE9vc8VBCqzK43U1FNC76EGhy+PbHNOJcVeSNJHeVUtjbhmR4plLFo5bCViGniYxyKS0iE0I0GfsrObC2HkuGyEnZujisrco8LB4L2AG2btSPQPEY2PtapWRZB8RUEXj9le3s1rHYQ965F33hGHSOMW8MQDu7MwULGJSRX6jtoNf2MdZZG6ufJ8Nk3impb2tw9ubrExwhI+5+RBJFJ3ZJFZwQ1VDU41BJC84PwDLFf07KxWkwNKLdtExCvUD7XLogNCNqSdPjoMt5FNb217FAgWdcYxnue1OlxaSRLLFFAbeKMuichvISSzPt0XQWWV/Dc2kFxkLW6kSz9qZBmElpJwl90MtRyVVST2qKnqKkaAWSc5LM2LQSxvb27gwyiv2/bsImubhoS4SsQftxgvQciAToqWPInz8lySRDZwXV5I0du/NeaCBZFgBd45EdmJNQVpWo0RlczMZeJLMTNPPcEtQMxqsas5pxJ4xkmmgSDY+4bbEkbkD0Yb9DXQEQxSyypAgq8zIirQGpkI4k0BJVa1PUimit5m4jZW9riY5opp4kSJmikLqt3M3bkV1mt4DbypLJtRnRkHKu2iJ5i3ia6xmEt1ZEAsrB5iQ0txGSPzixd41jSFWEYFEoak0OwTuUSbyKG3ZDFBbStcSpK/cEMVlGJisskMaqA1xwXZQoJAG2+g7Yv95l7zITyMsdjazTExgs3dmV7W3hVO4JVVFMrAqSUAqOmovpTaRm6zGJtnNUSV8reMzj2RRVEZkkk5DlxSvJgas1dVEs5eGR8peRW/24KmCGEGrR/dsGlkeQvIzStEKu1fqagp0AZBgoUBURBxHtXkQCdqkuzMT8ydBEAAUIHIAbgcitK9SDT3V323oNDEIkAlaV5HYV6/GpIO1T6aCYMi/y/cA1GAB4VNBUcvpLfD10FwEMkoB/JeoDLIrNGxrQrIvUMDuK0r8dBTKjgmKY8ZI2p3JCKcFBAVmXkHRgR6mmhp9H8dtkxPjGSvhO1hlcl2xbTxqkrLaRSD+50BZ7U3BUt3G4ioWhPTQBYO7sbTKia+UySWVuL+2tzG0iy5eUj7ITxxrUpaQkvsBR35emgGy+Q793e5u+tY0bvK0NjGGSGa8K0WdhKZHMaA1UEkdSNtDhnLK7dL5b1pEuJZyJpPuI+fOTlVw68gjgV2AYUG2obPM9GRcWmRRSsUsFJQI1IRAVbkIzs5jUqaEmoB31SVSTx5G4itoLu8yd3cN24rewtkx6u/Gp713dseCqi+40oAKk0Gg1MWCxuIkDeQZODHSVXlj8Ef1LMKkg+q7ytwDBZ0FDSJQ5DChGg0mKvLCWc2HhXj8AulQXUmVy0jXLCANxMrtN9xMkss1RxWpahoNtgLvsFNfrLcZ/yaWeZlYrb2x42ayiojgigBm7bMdlDBGc12O50Hy+7ENlJcj9Pt5ruz5GOSQyssgC84Z2R5GB23p6EU0FXjd1JdQXuOYmQ3Ucs6Rl2RpLtAZA6GoQv1+rpXQDZKOO2drXuGaEFXhkjFe9C8aSxUAqAaPQjryU6Gx1vYfc39hbogV7b7CKgcFETj+oTt1EhpEwGwJJrQHQX5rncZa2tFFS9ypkJNSz0VpGIPIJxJKgg8XADUHTQMsX5GuDuLhv0OG8E7yO2QkFyssQdqrbrLbiRY4Ece9FoXPXagAPpXxflCD7zzdo7tmVoMZLari8fbV27UaSF4pHA2V+VPU6FyXNeI39jaSy2WRtHx5VgEEiW33LU2C3sUs1vezsagRyOlTsF3GgUYDwy+zlul+k0ENm0lFXhLJO4Q0ZzBEKwQF04qzbE1IFBoUOPI8JlhJfJcWV4otMTGsBS4huxIG/MIEtzLDLOiQq5kEPdaM9AR0BJh/7t4/d3QJSa/lMAfuPHIbZQEZV4lecBFeVa7jcUNdBdIxsvHbZWjKNkHlyLsV4Exu7NHHx/wCKnZhQo1agMV2FNFTyge2xeIx0YIkFsjN+Xxma6vWBdizRo7B5JxxFSAF/HRBGWi7+Tx+J4okMH29kVihEXZtlPOdfegchbeGRj3BReVPp0Di3cX2ekulSWW0wdiHthbi3hjilkPGCPg08tmqqHclUkRX4e2h20FNlcI+Yj7iWxhtbTJXVzbMWmhmmvInSYRRyvRpG7itvxZeO/QaLQns7VMh+p5a6jn7VgiyQdmaOFI7udjIndEicJ47W1hT2Ah6vsDqINxkslpi8tmJFM1xelsXHI6cj3mCS3LNujRLyZI0KsHJQnfpqiu3mGO8emmSRo7vLTSIHAnV2x1vztVYOB9q8Lzd5pEPu9w26HUXtO8cY3x+yx4oDkV/UsiVlgmQq9JbeNeAMsU9vZIgALEHmdt9VBV1a46wsYcZfwra3l7bR3uTy6xtPc2stxLHI1oLcvCwSOELFtzTitRuDoDG8QwOTVv0zyNJLYnmySm2u+KbFeInfHXEUvw5c1B6nQU5O28Z8fiisMLjosrk5IhcLlLiVZ1h4Bu66zco4DLEqVAQGEdDyOgWYy7jmWO9hMkj8i0gKRyvHKVIheNJVZTC3Io0aL1IKgU0JP4MJ4xYWlxmM8kMloZxLi8eLidbrm68p7a8sHSAyNbTcuLtSiMagjiNAjD32Uu47TB4Oa2tpyJsfjkuZDa25HGOW+aByDbpI7byuqkjZdhTQH3OGsbOzuobPKy3Xk2OkXI3M9rNJDZWrW7Vke1jIK3i2JT82v5nE8lPtpoFUq/rmLmyYkP6hbILDPJdSrPJI08qrZX9s0jPMhEhVJGXjGBRqUJ0DuzxclxaWi+aW9zj4rNBCZ7kmuTtKc7a1hmtBJJBdYyVKo3I1jYo2xGgXS525EVxifGp5LPARPNEt1cESskcr85Iobjit1cGR/dwDBUrQk6BKhitgy2/IySCk15MQ1zKOlCw/lx/BFoB89AM1TWtadST8P9pPw6nQVkk1pX4V9SP9g/DUV2m1BxPqT0p8q9KDRHSK03pT1IoP/id9vx66p2hQ/L/4nf8A79Dl4D03r+HT48iemg7UL9NPmaAAU32B32+J3/DRaJU4+52YVFQoPGRx8Tt+Wh+J3PpogiwtL7MXiWOMthdTj3MpHCztI/Wa7lNUiiA61qznYVJA0H0aDHYLwmOO+ycxv82yB4wIyksfLltj7eVStjBVKfcPynbfiq6BLeZu/wApNa5DNYu7XxWG4Z1sII5UtJHKlYZMhdAc5Q8jCrMWDN1IrTQKcrkMdBlpGtbSG3w9zb20GRxcDpbi4jkf2tL2aRm6tpuLo6Kp9oBrSugR3kE1nfTxXDdxllRbiVmB+4Mih7W/bgzVW+iNWIJpMCOp0Ku1JXYgJWh4/wATdfXeg0ETsPaKGtNxuDv6/s1B7kd1BJqKH5/jT0FNF0s50ZX4oZV2E/ZQzgUpQSkV2+NajVTlWWNTWpJJ3YkmtdySD7jqLREN8fh8P9NtCnx6m3uoAOpJoANz03O50JPsP47f5shrfla2LVC5EI0qyuvCsVtbjjPeOKke32gj3EDVRs58h494cv6VYJE+QmXjdTTujozvx92VuYfzJDvtbRMIFrRid9DTBTX99mbq6tsrM9xcSx3K26kqkePvLQl4oLdFPDtOtBxQAb+o30AFvzvLS/t6y96Mfq0EQFQZYSVvwxLgRt2w1TuD00EN7nElQA7Y65E8ZanEWF4o7ycieiuwovx0Hbkm4xeOlHEvbd3E3VIiBw5fc2LSyE0kYsCu1KAU0W6eQkkP2GST2tLbQgBXUsk2OYKEoEVE5RCirQ+3rom19y8NrmIruMAQTvaX3bjEsSmG+UJdRMHflxRySKmhO3TQStoUtc1d2DTQx28pvMZ3ZUeZDbXKOYCggbk8tGHACoLDr66GQVnzNrfWrJ+abVbkVj5TR3WJmPsZgOScouQYU/HUFnfT7CdRQNa31vlbVS8YQwzoEuokViHZuDDZQfidU6arE+PZXJxrk8akQFheBoluHTndsABc2kUTgpUxSf8AEKpU0roC4sL+lYVxmZGxUsmSuYscs9u0sLK0rSQwNdwF0t2lowVTQCnXQLMLYZV7m6gsIrYLFN9/Y373n2y4u7mieCeSFie/K7xDjwoybV2roNpB+gWFkWzeSsMrkFhJvboXTBZ5OTCot7OJ5ZHVaKzcgzEVNNDbO3WV8S5236XjrAw3E4gvbmAXsN3ZdwgWryCRpUuYZZKhgaU/HQ6Y3ycSWeTxuSC9iRQyFeXJTJj7gFKAMzANEwoDRtDg0uWV729lSgjuJYr2EopVWiv7eOcOFNONW5VHoa6G6KiNiQDTbc70JO23wJ0X1wMeRBX4H5fgNET9D8a7/D8fkNB4KNz6evpoPfMUAB+FdD12g6kev7N9DpHrTenw6/v1VT9PT/V+/wDZqM7eAoB67ft/Cvw0WyI5H5b/ALKf7dCzu/T/ALCd+ug8RuD0p6aJVLQc2P4fPbQdFB8tF5cIrsR/R/RoiPFV3A36V6n09fTVWHDX16f9ny1FjjLxNdCIojXQs5ozWjmg7osYTFAK0O3X4Ef7K6KkPgPWtVO4A+R66IgTToCNCORNpbyXUyRRAtK7qiKD7mLGgA9AB6nUXtp87Itj9l49ZuyNap93lHQLWR2HtUMwKuOXp9Q9NVGdINw6RRgyNKyqK+1Ry+nlI3tRQfU06aDJZ66aFxaI1SOXcKvVSUYrRWBoUr6jY6DPKsshVdqsQq/ien4aD09rdI5iaJuSdaenzrWmou+AJVq0bZhtQ9a/DQsZ2lqEAnlAZ60jj6kH0Y6qZO7a8e1Z0uUJSVaDhQMjehA20OiK491wzkmhJoab7VpoHeEVSuwCyEsSaGhX0PXroNAZ5oophFLPEeCluzI6BgXp7mRl2I0FSzyMQDLcim6n7q4qK+o/M20Fc88sk1v3rqacossNJ3eVoYdmVEZyW4cv3aAmC8ntVK2sxi7sic0YhoWLe3mOYPBvnoWTaWe9dJrmbuPDzVV4gINyCaj6iaaAF+LxqEJ9tvPUE1KnmSRQdAdCeAkhDpXiP/jagVqgj4AnpoIlW78fEr9FwCGIG3rx6AsNQdi7Ya4BdxKEhKLwLI616s/RSuih4qh3bevdk9zbrUDag9KaIm5HYB4MoaNO4HYNz9+7L/VUj01Tswsnltr+KSyuJ7ZjKFEkErKWj4V4OoPFh+I0D6y8wv7SaVL2G1yCS9xu4wNvdrwYjj3Yh23qPiugafq/imX/AMbbyY6dBWVbqLarD2tHd2m/H/xDQV3PiaSRi5xl9DJaSAdtzJ91ESfQSQ/mKf8AxKdBmrvFZGyr37Z2RSfz4fzox824DmtR8QNAACD0atP6Pl8tB3r6fv8A9OmgkBX5U66FHKaFESv+g+GheHu1FJTmGVlNUkQ8XTr0b4HQyfWmay1lCLdWtMlaqCotr6FeYU9QkooQT+3Qy8t/g543TJ2NxYTk/llE71tv6BhuANDLtraXMF4knjdwbkyRnuC3m7bFOpQkkcSNARDnL7CXF8Mljka6vIuPfvFZ5EAUhY1ajB0NenqdFW27+PxYFlsr26TL3g4TJEzRqJpGpwlRgI1gXlSvWmiBcn4lcY5LBbS7F/dXjBOwoRAJCvM8WBNFA9ToEd1i72yvobG7tUt7i4ZAKMCrhj6sB1NNAw8iuzLcWuPSJoIrGJQ8Zk5qZKAcl2qBTQIGNPxP+rToj+IaNDsXa/d38ERJVFPdcgciFj36dNzoktPaSQS5O7v2ciGzjbgX9pDKCBQdB00RjJJWuZZrhyS08rtyPwJND+7RWnjz0E1jaYuONIPtac+6VIkcDZo26UJ0QNkZ1+3dn50KcQoNFdj0+nYgaGWY+1kVowjc3m4qqUAIdzxUV6EEnQo+szXP6HgLfFNbW4lkgrM/VkLKCWIAqxY6D5PJ7kkkFKq5dabCld9vQHQMb69N8LQksTDbqjVNRXanE+ugFuEC2sR4kNJJUGtVPzp6aGlAXShUg5oRQmlOhpvWnTb10FZFakHYbk02oafv0KKwpYgKKegPQmvrX11D1akJNadfpJYgcD0r8D/s1S7v28wAAQtQmvE9f/D8aaEhqMp3U1B3DA/0g6DoAYgLUH1r0Hz6VoBoRIkIvaqefNd16AOG/gp9XJeo9NB9Asbax8fET5QG4vJ7WCesUQljslu6hEjl7nBqiiyEqB3AQCV6hC/yM+VdrSMM2OiWOa+vBbSTtb23djhfJXFrBQ/Y2RkDKjFqsK1Og3OLx9piroWFzL9tZXVtd4jKwmSWWzly0EcYvLqKadR2f1fEXNvkYFBI/KcDddBgYp5fEvI0luIqnGXz2uQtqtMHx04e1uwruoSSK5hfko41rT8dBqsJbx4LMZvx+ZzNYW0kmWteEnJLnx3JQLY5XiY/bLyxlzDc+0mhsz6jRDLxW4ucHd3GHuR3ZvHcp+lsWlii7mEzc4lx0/dcqeFnmIoyWIICXhA20MMZ5RiUxeenigRmsbqOXJ2EkZlbnbXJM4jNEcqYboMpYAFSAD1ro1YXh3kyvj97i7ZmjzXi1z/1R46zljMLLkk1/ZxbEkx3AEnE7s7j0B0ZF5q/FhlPG/8AMHExt2MrS5vYI3PBb2JDDmMfy5Nw+4QORXq/JqaKZJjoRksp4rDOBhfLoF8j8RvEfglpk0T7mDtnkrRl+322FeXFFoATohf5IWyeIsvJEjVJ7rjjPIYu2sb2fkWMpGJWon5U13GCOLbEcAetCXgt8NmW6nyXjNy1u1n5HbNGiXEcnbjy9ovesWLxlDG0qxsKBhyKinoNATlLR8v4ra3y8rbM+JlcBnoKssiLaSNHjLw0p74WXjzqDyJFaLoh8LmyyMmJzczBMZ5tj28V8mXirfa56CLtWl4wIASXvorKzHZPceug6bjsQ4zIZRV7+Dnl8E8yAYEy4yUhMbkzyUsyQSKsySU5M426bFT86xhrZZJmUyXFcZkZD3eAydknHu8iodFvrZOS7HkFU+tdDhnvBbm5hub3DwRPNdNMmaxLhZAseXxiS9yymZWWGBMtjDLCWcgLyA320G6z2AwkeNkss5l4sVZW2TuchhRAYVyNtZ5H+93GNNoY3ZxBkHbssgPFAu4poF0nnNukEsPjnj9xk0Lz3kl7kGTt3N2ogjvr77RCedwGdWkAePiHLcQCdCjJ3Wf8vzmLyGT/AFUxx4ieKDIYyw52TpDMOVvdCS2ZFdZaOlSWKlBtQ6BVnPH7Syltrm0nu73H5O0gyOPuLp1MssE6BnjuVSlZ4XJV/XbQlnDEYacQqhvgoFQ3Ug0+n4mu2hps8O0ww0F1jPFkzcovJoclcXX3EhM8TrJDjcfFazI5AtnDv7WY7k+3QHeQ4gkW2WxePmOKvbaG4ZrYJPBFLNGk7rEkQqqwM5hcqNpI91BOgxpWMuVNOQqSr0DAfDi1CCKb6CiWBENTRUYopdiVWIM6jnIaH8teVSNQbi0wfiN1lIMHCM5FkZe5Da5uVEtLSa+hh79YbdQL2KJwrBK134/GopYHJl/JcZIbK6nXM2g49qx8jtjdrLCP5ckMkhSYB02oH26EV0ErLyXFWknJbPM+KTs9HnwF2bnHMDX3TYu9/LccuoAOw20GiLW2dhlLxeL+XrX3yRSDx3yFY9qObZ1WFnqKCiLyqNBwOLJPs4fIMphVZVU4TzewF/iCgAPCC6lF1bQQg/SRKjHQB3WHSNTe5DxiS1Knmuf8Fvq26r/5psGkcUp7iI5BsdgNEE4/JZwov/T/AJZjfJY1jCDE59ftcnEq1HFDO0M5dSBQrJvottPXmQwd45g8y8dvsFczOF+7mgkvLIlvazxXaCK6hAcVrWWg6aHYyLx/L2tuZvEvJWvcZOtPtp5ocvjZOYqsUsMscywDgKMGiUjpWuhYPj7vyGV7jHr4vZd0R8rhrLLZHD4ZISjqZMnjIbw2BhkXkSoMRcelNtEOsbb3yOlxHmM1kJopRG0Xi5x2J8TxYEhR7e3TJ9nF5WVZH3VOTMa8qNvoqQj4Xbi3jtRlGUFo7VpvCPI5GeTkxaFzJhMxsB1qjDfQe/Uhjp2NxN+mXM5lSmatZ/E7twvvjH6vjYrzxe/9wIDNEtfU6B82XuGtAMhawzWx4Mj5SyW5snDHgipl8MmUx0oRgQS8MDb9BvQAbvIpa26STS2lhYOKsUklwOHeiSJx+4eIZzPNxZQBBHFERSppoFX3V5dW8s1pZxDCxu0v6n5DGcL49GAzBXscDBxv8uHA2a7d3kcgUGiIy2+Nt0hyOVka+nkZUssl5Nayx2iBGjCweN+GQcbmdRG9YwyIATXkdxoqjIXfkcK/d22DyIpwIz/kUMc9xbGsfGWxwsJNng4oyDx/K5KPqJNdCjLJlPJbKWSW3zDZCOR2lntctGMjZzTK3vlijnHKAN6GMx1HSg0GjxOey+WSW2/QsoghQiaTCXNvlMdFyRu0ZMPnTPBvUngkyswFQKipEiEvYSs+INzNAsSifIWbWFv4Fh7RZFManLywvLkr17mRlAjtX4ygUNBU6AmWS4W0gmuo3usYAnayGNUeb+PIqRlJCba67fkeKYJQExTlVP8AF0oHEvEyEKvAIc1bRxRtzxUq+S/bjmEImweUks/Ksaab8ba4cr8NDTk89vnLK7xTXKXhdJI/s45luMhbSIpUSw4LyoWOYtriPYoYbuQFxsDsNB84b77xXIjH5FHFhInetzeWxgd7NpHSK5a2+4eS3SSYlJUJZ03K6DX5Ka+z1kMU9mY8taOkVsG4te/a3dnHN+nJLEwtbm2uoAHSRnoVUKRXcBV47bLjnuJriONXWKRreOSWOBl+2he6mDtIwaKXkqKVbjxbkPTQw5gfJfJbo5CeTKtPDbWsswhu4YJVLMWaMSEooY9pCeOxCkUOgXy+W3F4Fa/wHjmRSZ5BC8llHDPJxJjbgUuYmK8tgT6jQYu6ZIYEtImhUkfcXnaPdklmWRhFC84YrJHbxsAQKryr166DQzrBa4rFwBR3FMMsi/GJBJeOkqg8GWRyKB15jffjtoAvHJLm8bJ30zXUrvEtsptI2d7W3eQzTuiBGhhs4UQGQkAU+ZroUFY6RRDmbplMrSyJGiLI8ZCrHJP3yyrzePuyiqGit66DIZJq3AiNCIoo0503qFDtT4AM5qNAHuxURgDhVqCu9W6iu/r0Ohy2/h8Igkuc1O0Sx45JFtUmZkea+mQrGI5ODKZFXehBBWux0MIQSTZXNwBgly8aS37x3DgK4ClbW3PIvGGZWLBNkBfagGgPsWFznpbiUNFHZ21w/G3cq6SyqLRBHKGVmKgMWatAGJ6aFUMXMsUmYyAhZpUt/tLVyxEED3CyXEil45I5WuFRUVQFZGA9wA0HbQSRYS8ljuIF++yKWhh4SC7mjtoxGnbdgIJLZpSxbgGKt1OoAsRMiX+ZvKFxF2LGI0Rljidu2x9wPAqF2dfpO5BGqE2WJItYB7u7dXF2/L3VCOIYtxQHYHQK3FWqu3IgdRsOp69aDcD16aDgFCSprQ1DceLbHZlG5Ar1rU6DrAtVgCWLAMaUBdhUUO43Gg5xaMyIy1Jqrxk9COjVUkVT4710KOhklCKzBXX+NgxZmNaGSh3QfSD6eugpmaSNJoXHAkqGVqbUahJ+YJrUddDTdFITY2qRxBCkNvC7Bg5kjakwFxuwaViKr0Kr0roMsZ2XLTz9eV5LGGNWUCMAIrKuzjivTl7htoH+diiuIIriANwkjUdsvE0iyQAyRrOsdVikaIuAtAQoGgxaOIxxoCYpA6n6uSGoeldwCKGnT10G8sg+XsYbG2/vN8ZS0MUsqJyIPuieR2pHGbZmqWCquw0PQlv40uPzllY+RT/puNlSaQXVu0M44xVb7cyRdxeXJwGZ1JCb0I0O31OBPHMYYpbfEm6M3Hs3V1Ks0s6SfRJGjG7up1lA9oVE2HoNB87zkrWeYhyEYS2jyKyRXccLGOJ3t3qgPARoXa2cL9IBI6bnRWiiuUnk7nJrVpkjuFaNFtJUgSiCCIwlWcLuWqKBSeu2iXI7+3gyWWs4ba6hijyEospriUoxtkiBke5mjVwAEtwxVaipoK6BnlPGsJh4BlcFkZLiSxlimkDzR3FpdFPeVQxw2/28/aq1FZ1NONQaaEfWav7GGa+VYZCzy3cciIoCh7e7XuqynlIsZt5hIrLXbbroUNcFZzTXseTkKxjtSi1WncZxHH9mjAcuSoE5ScmHEE8ag6AC6l7mWvZWZCLaMRB4wFA7bf8ADHKoaknxNaag1H/Vd3jreztMZBg5bS3inEckkUins2tGczJI/cguC7fSQS5NQxrqm3R/mC95WPKYPCZWOhVUUW78KijcQ5dwn7K/PQIsrPgp8el9h8fdYyX7maO6sJriWSxkZYO6klqSXUoGUcjRSeg20XA3DTXUWKtjFNNDBwhSUXI4wXMru8kdvbSQqHiEzE8o5CtQK1AJBJlzO5G7OOjtnuJxEbt5XtgUWFJbdWZe0qIFMih+TMpMbFgRuNFJMgJrbFWFkqCMtbiRI0jWgllPbHbnWR/uBymq5PFlk9vQAAgjKwxPPisRAxEdba15SXCyw0d1MzL26Rr7IW5nirM2zVpXQabGDGtlsvcZW2F7JZNHBaCOaCKC2mKyFrktI0VtC5YqI3Y8UatAToEVpNI2dvL5e27WkNzIhuJ1ZkaR1tIXSb6LmaJValRSTf46AWwyM8a5RpYoJLSWeKeWVWaC8W8eBnHZEHFTbIp/MjZe37wAK9BhfAVixWTuJCq3V9cx2samNjLEqEPcMk38vZ5FjYBifaQw6ECqmZ4rXBWi0QyXcs2RnAQchDQ/bxtJSp4W1uBxOwL10FuQWWOzxOKjcNOI07irCI5Fvrpw7rJICTdBbm6BU1NOJAp00B+SjS9yeKwcLQfb2nZsxPFF2JFgi9spn7qxhysMDmrGhL70Giuylsz5OkbpyjiuCftrVUtG+1x9Ll4YhLyjWZpVijINa1IFBolQF/kDkGy45MzLDNLI7NFEgrKp4BC1TKso6IDuKjYmoIruS3+1S4Nkpk4juy25+3lK03do4yI3JP1bA+ugKwuUtrsPjsmzrakFrGSWkosLojgkk7AJJJYPGWVwu6g1ArvoH98njWCe2i8fyV612Chu7tn+7sbdH3BjZ4IGinV6KslAFT+1voGFva46yigz/ksyNbSS/dWuPR1u8hk5RR0nyMjs3atq8SqMSzbculCLlFxkZ8VfpmsY0yWOSHdubeKREgusYLhlRLhranbngklaK4VQgqyuKVJ0KfqZwuTlydhP47arfQmSXIYx5jBB37GRwrwTmaRFnexuAYZVryAYbUNdDk3upMJgX/VIJLi38ind0GKgQNBZCRTHcYq6t3Vo8jDG3JUKnluK+1RoEGQub3LS/dZtlVeKCLE247UKKmyC5EbcEFBUxx0qfqOgBlmLhRskaCiRqAkca+iqq0VQNRcdh+VOtafDox//AGQfj11UhXVm/AdFANF/D8fjoOgVFa0FaGu+460J1Bwn+r09DTr8zXfrqjn419a7CtfxPz66iugClaAD4ndn+ND6D+jVR1QWIRFO/oNzQep/D4nYaK6zRwKWZlLqKkkjtxgfPo7/ANA1E002E8Rvcuv6hlZThsNTvtPMRDeXcJHLlbLKCIISv/FkG4+lW1Tlr7e/hlceMeCiys0iSS4vcrNJRAsbKrSRSAPc3V1ITQvIK0+ngN9APb4PEYa4e+8oyC5fJSK9zZ2cazypJDGyr3GS4YdyZ22AkbtgbktXQL81mL/yd/0fHWSkv2pBbxqHntVjLBnv708YEtnVhyRqIOgBoNAIsL+PxXvjuVssUzZmMra31kBJ2L5o1EFpfLdxRypBKpqrbDixZDUGg2z0UUs8YxNxayyZGySZLOGRyz3mMJkN1iigPCO6tp17kT/Uso3FNtAmiYK3bDmQceUTkE9yMkqDuFDOrAq9Ng4I0BHyqB8fx/Abag8B6ip/or/t0Jl2p9BUU6+tPx+GivbU+ew/A+nwp00Tx1SEdEMTTSylFgt0R2mmkeixrGqKZH7jHYKDy0VvMZ4ZHCv6l5NJDa2yv7cZLcHtwsaMiZG5jUPdzGh/u0FW6B2G41UD5by+5u2fG4NHsbahtBcLA36ldpGp42NpbWw428FSBwjACihYneottkcnb3dssJmtbizfJ2cbXEE8LQhr2xkPcTjJGp4qaGgJqSd9CEL2aOK7tMnBFGsU8dveiAQzJF3rY9m6hJkYvOJEFWINDUj00O18h+wzxkrEsUsyT/3Qp2DZ5SL6bYSxtGI0LUHt4hh+3QV2VsbbLXOKkCcW+7xhV35KC452kvJCQzoWHQn5aGFdo7NZ5THzy8FSF7tVkIVBe2D9vkqOrMs8pA3FDx2roQmnGbC3FIiXsb2C7599npDcr25FNmAO16gzVaoFKDroIXIE+MsXfm9xaTz4uRusZt3Uz2pLqgVZBLtxJJpv00ErwrGcfeRlJTNYwSv25CR9zaSUki2KtE8cZowrsehpoL2P22Z5oarJcxuQC1XhycQWVSSQSlTUgn130CqaLisS8qiKS6x8lFr3Y+ciI3LcxlPbXcfLQa7A390JFhSeZFns43ZFieSJXCtBM7SRGqcgnvVgUZd6gjQW+SBpcNKXlci3kt2s0X7gW4CkkywJKzBGkQbD1HoNDskmEd1PZXDMFe8sblE+vgsrWbNGxEbBV5FdiejHfQK1it0tbWZQkBnxt0spPJTNIEL8mZ6oSCnTatdt9CV12/KI0BjaTF2s0sZVVQSW7xEPRKGit0J9D8dAf5QWlsI5l9v297E59gB/vkHCR2Ygly7KPwGht2JVFph50JK3OKEbDlyIksrqRDXcgAJKAKeg0FtNvn0670+QOiuV+FSfkN/6fXQTA6/7dqj4bfDRET+0+hp0NPTQdHw9Pltv89CfqR32OiPU+e/pv/oNFy9TpSlAdxoevVrWn+n4fHQdI+Pw/DQw9Tp0PrUdfhT8KaDuhh7Qs58Pka/u9dCrug5ojn+lf+7QRPXcb/0fv9dF8QOos2hw6qTLn+n/AH6I9oOj+jRY/iQoN/l6f0V9dRZeLGn+7/T11UsiTU/E0qfkfhoUbrCwQ4TF3Xkt+CAkZWxjC8nLEce6V60qf2DQY/vyzu93LNLNLO8lwHkb3os3uWGlKIVJrTpoBpruO1iLrcXETASLcH3BGSmygDaapPTQfOprozyNJIA3u9h6UUbKoHQCmhQR96nEUj4labgdCPUaEoyX07A+9gaU5VqadANC2jDH2JmpO6GRvU9aU+A9ToeD7kmNEjeNAyupSUCjcfgadd9BVkLp7mNapGhUBSy/UwApUnQI2eoUE7gkH4nbY6DSYIQUbkJO9yIFDSPhTY8uoavx0Dw9iSfsXExtoJuKm64844Arhn5hQSzFenpXQ2dDF+Ogh18oi4lqENbOXodyacRsdAmv47BbtVx08l3bxq7PcSxGPnK23BKhSyADQBS1EWwWgKtQgHevQjUBFk35TIacg5JHwBPpqkho4z7lNByS5UU6ihJ3+I+GgAgEZgbuF1CPASAKsQH3I30F0pWO4jZPehedBVegZNiV+OgpDkTOtDR4Ij8RUPSp/HQ6Uw73E6dT3W2P9pdBNmDWagtyZI3RxQ1Xg9aGvUaHi+SRmmgkCiImSH2oCgpwpWn9rQVtPJBKQhX81ZY35Kp9pJJA5DY6HbyEHvjjWiwszEVHEdASdtBbD93brJPbyyW0X3B7c1tLwZZAtQCqn6a/EaFT9fLMrGkTXqQZFO0GlEym2uGVTx5JNDTkQPiDoqF9dWV5FLdQWbRduNXIk9rtUioinRRFPxruGodEKlPIBviARX4EbfhqLEbS2PrT5aF3NCj1CKV2B6fMaqOVpqGEg1NC0rBKaUO49QaMp/Ya6plJBGjiSFpLaUdJLaRomB61oDTUDqDOZSI/nm2y8YHEJfRgygelJPU6paFbSeLXIma+sb3H3cikK0PuthIehBBoFqf3aGhSYjL2LWd3ictbZOSGskMULrLJGrDdXqSSKbaC+ybMZXKSZHLwqBZRNvdL2Y0K78EPEcW5b1OgxU0zXV1dXbVrNK3EE1oimigH1AA20FTDVghGlfT/AHfs+ekq02EjjtbK/wAnNyqEMFuBVeTnrRhtWuolUbkG3wNCyJLfS1IYjm6VqRQ/LQAYOwjv8laW0q8rYMJLkb07a9VYjoGOg3HkVj45dqbexW3heGi91YCgVgPpEqgK37dCrGYnHWzZmK1upDPaQK1w8Zdu04TdUPwUn9+h2vjlx935IrpHFY2SSkxxs35amMUTkxoq8yKgaHq3yC9e4mnJkVhy7UYRw4CLtsR1B0CzCWsdzfxLKgkghBlmRt1KKNgw9RXRQ99PBcZCZ4okitu7wRIlovAGlQPidEcy4RXtoImqgUMF4kFSaVrogHQZWIM7cfTfcAV/edtzoZGEKjBHaV3BUsvBGjOystArA+td6U6HRVskYuXd4miJWLmV58GYqPfQMAoY9eHX0FdALWi9ArxlSCQeJBPH3A/VX1OgMunEYhWEBGMSO5ictGpZTRF5PIS+3Ik0IrTiNAC0spB5SFh8DSn7PgdEhxyXSN+CqIx22KAq0m5IZySebEbE7bDRpr/HcTLeEZKYUhicCF5ASvdAH55Spd4ogONVDAHr00Q/8kyccsEOPaO3uHV/YzcVmiIUgFX7SkqpNKghSDT02gp8ZkFvHBzxf3Z+8uocvdmWWFRhMnjZLJsVdSR80+1mYG4QlTwkjoKE11Qe2VytwuNsba17hsWxl6sC2xa7ls8TaS29nHdSQ9xppbyyuDFNJxAC0qAKgjoh8ry36neCSWzgtJzapbT8HkuFuIoCUtpXmlRGN0iqYi42bgT8KFr+mtjfyz4LFeQJGlzkPB51xWThdxzvfGrxZI7aN1KECPhPLbdDxQ8t9GWgyktjaXnj+bSZ5sLk7KTxPL3BRlX9KmRWxl685Rq3FtavG7NQN3bZqUposmHktnNlfHvuuMBy3jl1Kt5Fbp27xIOUcWUZO2UQMbtfuomH5ZikBoN9EfMvH7q4sPIbXJ2gklGPlmusgiAPJJjAeN6rCpiMk0EpULWhkIp6aKc5q6XH4y+w1t2JcTf3i53HpPG36hjGvArR26yRMbcqbcgsBWgJBoeo5csr5r7xMxRzpBnPDL+HI4maR44JJ8ZI3fa1i5HlcvbXCM4SpJAUD4aI2a3mKv7y8t3u4bbHec4VcldKGUfoXkmPRTK84PIWqztHWrkM8kdB8dFfJJXuLW5D28ximsLnvRtFLSKO8tWcxzRzhWEkvf8AchK+5TQGh0OX1ZJra5ymGzM6BMV/mJiThcxFEn5MGeQCGKcoajkblaJWhHuYnQ6ZrD2UzT+R+B3TKs2QimksBIECL5FiisivE5c9lLy3i+rqVpoNTYMMxJZ3F1FM9r5bYP4p5bFHFylsvJsVGyWV/OoVjFI6AlT9CCjNohq72mCwS2Pml/bzzi1trV8baOZ7mR8fNIlhkkMbxSW0k2P7ccpeinthi1Sw0Vhcj/mFdxW7WPjGOgwVj9EUkEai8mRAONZCKcyamqrWhpy9SKCbfFYaLsZi5afLWwaxurx76ZbuOfxzNI1i92RTlHe+P5ZXWUqNuIrTlsEMK9x4z5Bk8FcgGGKea+jSgUyJbQNDko7dKULX2EldwDUloU41amgrWGDxnyspcyK+FzCnH3T7pGcfkQr2l9UsVX7abiwY7hBXauhI9MV27TO+ITMHvfHbmTLYWRiqSS4u6PK6gTapEczB23p+YT6aD59Mh9wNaDqGqDUn3AgdPaPX1GgHgmvrN5Wsb25s+/HSZbeeWHuowYcXVHWrcdqn0JHqdATjr3LYtmlxuQu7VpBWSIMGtpizAlLi1l5QSKxPqpOhmz6PaQ5PN2v3Oe8Ssp47miW2Rtp7bF3VwxJaMW1heSxC5ZiKDtPESOnzBZd+PYpw0NpfvY3MlYpMNno5LGaQOCeMDXJC8lNODLLMNt9F9D5FPMIMfBjb/mbOBYBHeQ2azX4S2Ky2yNkYR9yRa8QVcAbAVJoNERg8tyjKYMtBYeTWoCq6XiR2+SWMEAD7uFPexA/4qMSfXQWcPFcu4js7ybBXcpINhmgi2asaAdq8LmBqnYDlGSD021DRbkPDshbfmPjzNECAt1YMJoXKnrHvXfqCpauqBrTL+R4usFtknu4gpWTH5OJbyMqK1ikt70M4ShP0laHQPbXIyzY0eQePWUOJzOFukizuOx3eisMpazHnbzT2AkaM284V4mFCVelGAK0Dt7/0BcNHfG1z95BeN9xdG0hjSLDfcHiLacyp3p54ZOTHtuQUApWuhcXa4zyGwNx9t5BAPF4pXWa7zE1vksQ8MPvdUsbsyTSXFAOKRorMaCo0BFnDhr24Fz4xkrexywFGkwk74K4lkPJT3vHMy72N1ATQ8Ybpa1+j00LLB5ZfY+b9P86wBnhuJo5GvlshbSXhtqLE93Zki0yEcSHdQwalBQ6C7IYG28nX7zE5q7zFgA7C1nuJJUx0jku0P6YEhlx0KIoCcVZF40A6aDMm+8lwiR2k06ZDHSKssWOzSJlrCaIMwU2k0hLGtf4HRkruBoHmP81slBtbuXJePM6JDLBcK3kXjjqCeamyvGa/tI3BFRHJxA+OgfWlpi7ru3WMtBG3ANPkf8us4YXBLBU7/j7yQGMgbleEx69dE8VyQWOOkivrlJY8hMi9nKeVk5vyeeRlZY4sR41bvJ2GUqOJk4cKjkpGirLme5jaK+u5RgGdQkeZ8oMeU8ruFZ3dUw3j9qGtca/IMFCpyqdkO9SKzK+LDZGWX/pgXlVGVzzfrnnGXTk3FLLHNyhxqSFqdtVKo1CUGga2X3sQS4wfkeTt5pi7nDefWtwEvGJUNJb3U0dvdwCUbjtNKm59o6ABckbMdw+U+IZHDs31ZXAOcjYy8annL9miyQBjuBJCSfU6BLBicfe202NXM57G2t1fC8sL7IWcmFs8hcT2gheyt0P2rZF4zCjDksb8QRGDQ1L2W30+UiNgucx1/nsJj0ucct1PbTY28vuFxEUyEc1z73bhAkbLPTkvLc15aBfZrKmRT/pqW88WgvLiGKIvfPOiPIiqZ8oD3bURzyL7V4kFgqgg6DYQti87NcwxyWXk+fsOUrXVlayeI+QMscohe5sL+Nxa3YiatAzIN6E0I0QPc3kJZLS9zHHgeFti/wDMzx4F0YtQy2+etRE3IU2fm/oa+ugXZvEW01n2b6bwzxqziuPuLa6tLmfNZK/n7TKqxzsy3Zs2qFZWWi7UBoNFZ3xe/JZ8Nei4inMCfpjsGiuEeNjNFahmiM7iJn5wN7eK1C7aDf5dZbrHXWRtmWO/iQW+dZLRHe+xq1BuRyhAVJCQly8QPBhzFANwz0GXwV9ip8fhcXLYZWdUtILKSSJ45i0oKxy38skDskKD8uSUAj6akaDL53x7I4dbf7jsOY7KDvGCQs1skjsGftsql7YzEx99OS8hSo2qUV434jceRR3E8NxbWUEMggUshlnmdQrSmKAOjGCMU5MW6mm9NEaLNeJ+QXDPHDbp27S0uPuJ5LmGCyjKx9uPsyLyept1JJcDiDQkU0GXw8ctphLoOftT3blHCpIZJJbdRGsDPErrwdm3ZmWNgN6jqE7cSR+PqtWWO7vJWI/LKyO1yEiLEMJwyxKQOQ4EbDfQYi4fndztSjNM6VNDSjkAD5baCKoSUSNSZHYLQHcuxKqtB7gd9+mht9JyjwYfE22BhaN+2gvMtMjrKy3Pb7k6oeI4MI2EYG5WoIO50EMZXFYGa/5wjJ+QsSYGXlNb2IYx23BmjrDGada+5RoA7G3uYMXeZSWCaK2yEywWM8rRiO5hgjaOFlhdTJIpfkxccR+OgFiWSDFi4eCFUu3u5lmcAXdGdeKqvLmttJa24IYqA5OxpodjZD9vjMQhd3eK1nuXLXcc0UXFXnEMNvCD9squ/vLnuM/wA0Crxsyrb3k0Y97XD92QxxSCCP7cBpKzBo0LPJxDU5AnbQKr41voBsFjsUovoC7PUqDvVvXfQLjTkSHrUnjtvSvx6VHy6aC9gpjjJUI1XSqhuMiIq0ZlqaSBjQ02PXQVAdONQVHI1IAO/t+Ww+O2g8HdSSFXYUI40UA7bAHroWd4ExlitST7SBUf2lNN1p6V30MKrgK6RAyHjyRfcGYAgUCg+lOg9NBvUZpLUqGZ47ZoqN7u0BwVWqRGFkdCpAJOw2BpXQYK4EsTXEgNAl7JWhH8zk44FK1UgU93TfY6D6ZhcTcZSCDHZI/pVulLgC6lW1vO1MTcJf2qXipFNHJL7aVNA3SmhVzyDxjD+NpYZSwae6mtZlmuLK8MM9vPDbyoJxL2o4gVV3HSqsFIIFNA6t/I7m8iF7F2be6mDRXKWAtMdCDEQ0XduJImuZTIjUFJQK7UGgzfkwub22a/knlluLWaGV+7J3LhVjT7eeItxVC8aMGoC2w6nUKqrPK2q2KNwtIDTtyl4gwkCtVJIHLcorhBUk7KW3+WqBr+6t8tDKESZIYH+4bISGqq6RmNuMfFUXuxihRKgfEnQLjPjhF+dmJ5o1UEW9pbmGUqoHsleSrVHrTQcXH5DNmGHAYW5e0ikaVrhlKrPLThWa7nKRAKtQBy9emituPF0s7S3TybJXEf91kaKwtZzHHaRliYzFWOU5EtI3u7YVUPWoI0TLOQ3ixLbv34GltppcUALcx/3MuTa3syxIEDC6jXpVxyNfTQPMLbcri+XnIBFBa26tCUkMcl0015IFYfllQwFdwp330GbtWjE13K6O6JdosjyFWKRwy8uUgPtdqRfHjoRI+fG5bOxfeWNjcyW/2cNvA9w1tGZIxM7FI5U4W07IgHIghgCK77aDPXHj2chBVsRfVp/BB3xX5NAZAdz8tAyycK2mMsrVYWjnaNmmp3lLuwS2jH27DtJIPcGKe5iKMAdBp7ONYIftRdTxQoTOHljWBHjbhDSL7tGeOdWWjNV1AB4Eb6FifyNjI8EQKu4gSLZSCvelESJ3A3auAobnzQKGJ6baFXsmndy2NtCY+KNbirMtrWOJXnYu4/lSEItTWu21NtB6MmTyJnZ5pZLaOe4jkimVqtGIoQZZ+KBrURs4Y+0sDua10BOMmdVu7yKkMt1PdvFMzr240jABa1iZqyyxivIPRgtGWtNArtJVjtr+RmT7m7IiiVkJuO2I3NzNBLxZVRpLgJL0O4APXQTSQw4APHJRbu8lnu4y0XGQxMz24MRXvqqw2wIevFjt6aD2Rk7OKxtjFKSi2qTmN2BKXV0oZjKoRZIpGuLs0BqSgB9dAZfpb3GRxWPjljktB9lAXSQBDAHDNE8sjCJpI4rbgZParVFaGuhdIlL3ySNZCFWOeS5eoLKr2yF42lWBozEr3sy14ke5aCuhJpiMPe3FxPmpY7eCyc3EFtLezpbh7m5HZifhdJOotpFiZKzUDl+IrWuguaHx7xyB5r7JR5LLTgRSW+PmX7WKCSXuTwQzIjPEz+2rVMhCAKqjRdALzySzMNvaxeOLisKyTxzTNafd37wTALObS6uArW0lX5d11Y1puNEIZMRexzW9jBH902QMUdkEkR1mW5qbW5WUHtrbTICHJP5bowOxGg1Z8R8Y8WtPufJZzkL6RWC2MEzxKeQG0EKMkqRjltJKQTQFU6aDN3M7TyXsyQPZLe2ot7awV5prp44o+MFzIpVpyQyjizCp3rtoZCePBbw/YXM6WV7BJ9xZSvFzuJLyBWjOObkQFe7ICp3OKj8aaB/h8FlBYTG8WOPxua7luFvXEEr2sxJieSXHNJHdqJ4y0EsW5BFae0HQwsmzcdj9zi/DGycdo/EytLItxbwXMgEc0onlUz2imJKECQlgPjoEcfC2kaRXa4u3Wkl7MKvud0hXcQJ8Kbn1OgqZy2+5Y1/E/h8N+uhRX0puC3XbdV/CvU/M6CFN6gE/E7/wBNd6nUHD86Hfp1A/EeuiucajlRiSTvsVoKA0PUUPX00HgCegJ3pUAkE/iNjoO8Suxp1rQkcQfnvUn5aqOhCw5FhxG3Iknen0qANz8hocrYIrm5lSzsraW4nnHshiFZZFBo0kr7JFAh+pmIRfXQ9fQbLx/A+Lx2+R8ruUucg9ZrSxSNpbW37ZFGjiYKl5ICdpZaRhvpU9dBbfjPeTWUebuha2/j6Si8ixTXbKLmGDlx791GCLee7U8AWI3YCiA6AS4y+CyjWAs7aLxxI17q5BYY5zZKgRIopI7ARzR2l4ztHMHagPFgQwNQzmcgFnOt3JkZLus/ZvLm1WS3eKGQhRPaLOzT3ULRBg3JRGSAVJqTqL22VvnLGyxqWviNlJbRyDnNfXEcclzOwK85t3Yy3K70MhCio4imql2Ozrm7tQ95PNPcCTtQySKxkmhklZi0sskrysIXPK3UE8KsKkHQLZTcXsIu4apl8TNFFeSKzPJK0Z4W2TPcqqswVY5RutOLEVLVCN6Bf2/6lAOMj3RF1bhN7HISCjAcAI7TG5SSi0c1+4HIAKDoAIpAy7ihFQQR7kdTxZHB9VIoR6HQX8tug3HqAD8z0Ghy4P8A4nr8tx+zUOXRufiB6fL5V+Q0WjY+PZ3C4nEz3jxXV7mo5ZEkQqUNrA0phSG3vgrvZ2ZCjuBKSyO1AQNVEDYZzzC+aaWe3S1khWbHM8s8NhFCSYnNlbwLI0s9pKAGjLKxJDPWpOinRv7rxORsdaWsOZzV8YFN1aRTxwvLFHJw+4t1DlsgYq8wjDlGo5g00RmvJLHOrYrks/7rprqGa1AmDhYXUi5jkgDlbUxEKABWu2gzr8ZMVGvBR9hku20yq5f7e9jIVSxcx0VyKAAH8eugrvQslljJQwMiRXONuEWKROEkDd6AvK3JJGkU70NR8PjBfkHSO7sruBTF3bKzuSqEoUlt3AbjIAKkpQ8hv8d9UFOTZ+Rd3jFIhu4p1E6GWFo76L8xZI/4xyb12qK6CjHxLHe3tlJX82HIWYoq8+ahpoQ5ZkMQkXoRX8KaKHtm54u/Que4v2N6I/d+Y8EnZmkFPb7EG5IpT56idL5FV8Tayfk/3bK3FoSjL3TFdwGVHkUyl5UDbA9tQAAOROqcoXjSSfY3cheTvWSoJJOZ3sZAQjO4CkIB+HH10VPLwz3F3fRiERy3UlnkIIVRIkH3USgcUDhEEjrUb03roizHLNHd2kLgI9pdy2rLIeHEAM3F+3VS4UlduRPTfQba/tjcW13A1Zy1vIUcvIyRErzClZDGaoQPpAodiugxuJt5spZ2dlb8TdxXfC2WRSLd+BbmspH0x0bkSdxSo0G9s/CYIrSO0vb2S4eIJJJFFZ8Y1BkJ7iSXskQkAY7Ecdt9ATe+N+NQRcpzf3rxcpUthcY1riNFXm7RxNdK06hVqU5VIFKbaDA5VIJ8TfS2c7XVnJFHcQTOCjt25lPb7J5GFouhB20C+wmVsdiFoBJb3GVspaMpBjkEd1EvEEnlzBIbpSugZeg9fXrT9x0R6nqd/wAB/oRovDx/o3+Br8NB791PU/A6HD2/+/8Ad8fhoPDp1r6H8f8AXoPD1qPn8j8/x0NpU+NaH+nQj+JBRXbf/T0roOEdPUV2r1Hx0Vzpv+z9+iWjKVPmP300XDmoYe/HQ7e0ET8+mqzuqv8Ao+Grlp4n12OoQrP79GZcqNCjw6Df9/WuhLug9oR/HdFn6rHc5NVl41BQAUKim4c1PLf1Gg0fjmHfL36IVItISJbuWntVBvxr/Wemhu4nzPLxZK7hw9iOFnjQDI0f0ECgjiFKAGgqwPSg0GZaeM9uOKqzqD3HkcFZT9ShEoKezqKnQZbOXiScLeGYSIQZJo0Vgsclfoq4DFh6+mgziRM5IUEgft/2ai1s8iSNJ21RnkY0CqKkn4AaJNKHc2FurW0+8uFCLyAEbfUa71/ZqlKJW9zLFxaDaqgUDe2v4aApknvRI5K8owXNSB0qdv26AN25Q8Xi5dfcv1D+nfQLiuxPQK21epr6b6B1hj+bsw/iUpWhPIdQPUaDRkFagMy0rxG1D/4q6EKe6w6j99dj8j00MjJzbmC3ZXnaZq/cqwQRIR9HaoeTfOuhdo8EmCkgl/ULRrq6Vg/IPxhEbfSPqHEqR8N9FWZyOwt8dBPZY1bTldiNpuXJpUkBqKEc9z0J20Rh46fesof6mkHWpUMvWny0AsZrFcxUqUQEOBs3F+p+Gh25dnt9t034XKUK0IpIm+grZmE0YXYSQuD8SFblQfhodIhgtxKuwLPFIdtzVafV1/ZoORqWhkUqBR7iMMK1P8Q5DpoI93vQxu5IoYan1HBuNRTfYDRcLLlFNwir7wJnAI32ZQwp67nRDfASY5Moi5OGW4gkhHGON1UGWNqjuKdpF+WgjkzA13eyW8a28b3Hstlp7AmyuQvtBYH020KXKwg7CEBqkSoxZuS1BJHGteI0GjuprdvGMVbx3CS3NzOzSwqaPCq1DcwP4a6BXQAUG1BT9222o1CXEnrt+zRK0RNK7f69Dt5tqV9Pia/u0S2UKD92qWe0R7Qerx0Irp0SH9/y0VaJSRQjkPUHcfuNdQjhWqpG4lgaW0mHSW1kaNh+wEAj5aFh02Zz0lrJZPkEnt5l4SNJGqzlD1DOB7tv26BOFCAIOiin7dUl7RlwivQVJ2H4kgDRYatrK7lTFYCGWOKS6JmYu9IhQcquOoPy9TooPIYfM3GSXGJEl3NZpQNDIvZ4bUfl/DX4UroXC291kvHrq5hNtH33jEc8bfmERmpDRkU3GgshyVu6OivRm3dZKqa9SSrdd9ALa3s0H388YokydhmChkNKgAEjY76F2vt7/E4Lx2CG4xseRvr4l5EbgGo3uJcsCwVV6aExNWGyHbkkFxbQSWUEgLR28hqq0+pVJ9PhoHGKje0w19lCOBl/JgcnrX2kcfgToFmJtzd39vGVLKG7soG1FXck/t0KoZaf7rK3DgqUiPZQqtBRPbv0BYaALUJwQWSBbiRWkjj7IZiZYjMGKEqVEABLkA1FaAEVrqiEqBUFGZlZ24AjiZFofezAlQeX8PUnQVhwvEmoZeNGIFQFoaU9SD+3QMIpVuDF3IRKxkYNHEHDzVoIogiowViRsU5E130AdxD2pKAsV+oq+zK5ALg0NHC0pyHXUUKxr0pQf7emhi5tibGXI3It0BCAM87N/LWILVxWoHcYdBX5+mqj6jdS2uJtF7RkjUuYrSIK4JdIEdFg7IftQpIAzn3cifgxOgxj2hkniXISNHNckXV27+57ezjPcmIRyVd5B7QlSFZgtNjoHMMsc1w6yQS2McySSpbxlbBUsZh3bmQTp3pZLZrZVWNWrvI1BxJGgjLJDBY3V9IZIZL93lS1+1RIHhqP04xT2y20ME6xGRpouPBy6kU9BhlEuBwkL28bq0zS/dUkaK4QtGDal3o0UMZFRxCtUkNtTQO8dBPb29uglFtLnbc2zL3EFtLiDN747pe37DAsLP3HcUovIgdQJyV61hhrvHC7Fzi8mYTY2rBpY4ba1mlayuoJ2edbaSYc1kjRuSFByHuGg3eD8iitIrFcgslu9xbYmwyKT2n3EE1yj/pNxb3EqnmJrvCi1ncSUCm36e46DJXWPt8JeXuPMqMJ8g9Vi74l/S7Vhd49LS5JeyvI7xZPzElVlqoBpsdBksldLLM7UEaAysiwBVjLMSwKKxKRxK1V4DoAAD00Df7OGD7HGOyROha4ysnbFwOUbCWRVVSnOKrRRgMdizbgV0BdyZIbWS4ZmjuMlH9x9pwit4/srct9kykspZmZWdIz7iOJ9xI0GVnIMj1ZW5CMt7lbuOyr7+SqijieooCvQ9K6ENl4xK+Yw+b8MZglzIGzfj7M/F0ydmyvNaQsCW7k0aErToOZ0RsJ8QfIYsB5xcXsfjckFvFLmbmaKZbgX+Mn7QmtbchUY3axGg3PGgo2ih7vy43F/dYjwvHxYubOXM836nKXt5chfJzdmhkYNBG1wEZVG7F2p7GOh2zuMgg+7wmTkuZZ5M2Z7Mz37Bp8J5XYzJJb8pGR0e2uLgIhWTkTbzHl00FHl+P7d193BCYrbJRteWyFQjRlj/e7EqacZLScGNloKFKDRfBnhmSiFjLaXsbTRYppvuoZJ2VJPF/IDHaZVRA0bKsOLyAt7k70AZjtudEWZiK9t7Sxy6DnlPEsnHiL/kxcz/pnGXF3MvCkhhyGOdY2c7SMpod9AfmrS2zWBVoBLI+Lgt5raVubmfxzJJJNjmYqH/OxzI9rIC3Lnbiv1aAaDJSSYrA+WCJpcl4zdfomdiQkzXuMEIg5srNVWuMfLxDN1kRiPkA+XwMkjyZPESQZTDTDuQ3Nq6sY0PVZ0/glq1WEnFw1QRtXQD23id2yw3GRlhw9rO6x25veTXdwSaKLLH24kvLx26rRBtv00MNFaxYyxnNtg8bPl8vGwMhu7ZZJ7YKSsrGycrY4cKy15XkhkFQRGdBYIrvLtK9xYeMeWlOT3uPt8vJd5yzdhSQ299K5hFAlO3HGtuCvsp1IUC5hkJsbXMGEspRfGf8AMK1aRKseKw2GVkJYLy9q0mINdxoWWOseJV45Uz/hxcUPaJz3isvuADL+XcJBG1CRWFCP69N9B69VzjGyN7jsJ5DjlkWH9VwEscFwBTjIZLaUz27uOPu7ckTpUVWm+gzq2vi2Rj4QZY464Y72ebjaGOrNRQk8xeB1QEdJ6nfb10BEfj3k2E/vOHluoYwaibFXQubKTmtKm1k52kocH4toL7DNDL3Aw2fs8Ybi9EkFnlIoDYyxZGNS0NndoSscTXUi8VlQKVlYVBFRoETw53xnIm8tZJ8ZfBTbubiFTbXsBPLhPFIrIwagJVxVWG2++gaWXmMkKPa31vLioZDNI17h7eC+t4Z7pWS4uI7K8V2tkuWYlhFIArMWVQToEGRlxbCGDGNJeY+xQA3V3zVrq8mJMk/aZV+3RFoqqfxPwA9MpsR4fHNDYXedmlvZUiV5LPDzTWcNxIqOBHdLIJJ4grEDhGeR3NBoHmOkxstscVaZePyjGStSXBZuf9Hy1rNGx4XGFuL4vBVh9UXOjA/wnQUz+OWtteJL47lL3x3Mr/LxmcEmIuCPRLa9atndh2oAFdg3WhGgZLl3DrjvL8XHgry4aSuTmsmkwOXdkUH76FCqWlzI6gi5t2BRjWigkaGEp/G7WwntpHsshmbjImmM8ftprY2nCNQ/evcyOLXOOdaurRqDxoJKGuhUcLW1v3+1mwnh02Qh/kWnimdixnkON+rivfbsw3ksdaNSRVDHcb6CzhJh6uRZeFR3S9t7y4c+Q+bZXYVEar9wYy7o1SO5SoIApoIiJrJWykEMfjkb1Evl3mEhyPk92lAHbHYuUuYGflRVPGqnZBohC/kEVrcvcYC0klvZAGm8l8mT73K3BAIpaWxISzhB3QAKNqcRopZFlfII3kMWVkv0umaS4sM1GmTsLgluRY204YW7FqfyyoA+Ggc2fmQs043NpnMCCCO5gLqHJ4sM/I90YvLJcfbKGb6Y2AOhtTNl7S6l5WOLn8kvyVWPJeaXC3MXbdBJLHY4pGitrPuONuHFgBXrTQaCz82lggjN/aX2OsZGS3F3PDLmfGpWIEYU3UvZyVlEWFN2mVd/aaUIl7JYfHZa4KW96vifkEVyk8dleRPb2Fw1tcDtTWUtIra+hkZAyvCTyU1MaNUaBT5Dg840sTXXjuPxogSaSfJePiec3jMnByslFubC3RASYyOpJqTTQyAgz/kFrafbyXNpmcVzMLY/yGJJaezaBrqQpdx0jNUMgYUGxOhbRnjBLPE13494ngcFx/xGdyc4u7CKjLUWEl1FDGtGNeQDn03G4IT5zC3GXtps5ayZPJ3du3dvfI7822Lxd5BBHI4TAWzMlzc9iQUikFAwUha1Gh0deK+Rm8jjd2L31kwWWF5CwlgmiKzv9spLPZXAA5uys8MlCfbvopBnvG5XvopMFYNNbXE86Jbx/l3NjLGn3FxaSz8hE8SqeUDAlGjAH1baBBe2GWtI2OUscnFxiaGKS4UNAkLtVk+5WqdssNkqq1NaHQP8TCsfj8UzKCkl+5YP7lS3USxyv2+5Gbh2b29sMOXroDLpRbY27MsCcpLRhbyytc2UnFlEfcWOCcre9OIEgKAL10NM5GViwiKzKJJpbyVU4Es0IuhE8nMNRRVOPQkjptoQtl7cWMxicpHeO1hklZmXtxqYpLtlVR7i7MQSTuARudBhFAbkzdSSwoKLyJFD0NKAb/E6DbeI46N7u4yt2nGzxKd2nAcZL10pDHxc0Z0PuoQVP8VAa6CmYT53KW1nVS+RuEa4aOFYYobCF6GRooqRwrM4Mj0IX2jemg099AfIM3Dh7TswWNnE8c0q9mL7TF2vEXcr3AL9wrF7Iia0MvwB0KK8lLb5zNWuPsudtjYUjt2WW6QWtpj7CNfvJreQIscVutt9FV5GWX9mhwW+RTHJXz2lhDG4mkhxWPjsoq96GNQO7RVR5ltbBQvJlUqHoeldDrKnPuo+4WNY40jtI7ZBGghCyNJHBIxhBJiLlTWu5NToFnjrI0UiyRxSK11dlUkuLmH3mzqJFS1V+7IvH2K47dfqI0PS67Dm+CKjM7WcHFUXkSU5k0p9XEb7V20C5QAlQa7EU2IBruy/H276GxHImLsEHgsjSqKVKOyBGo3UI4AJHQkfHQQ4jcCg5fV8NjsKUNdtByjA7UBB6VBIHQ7HqNQdjiaSQJGyh6Egklem/wBRoSTTbrql1dxH+TKrH81GD7g12JLDYUJ3+Gg1fj1L+E2KRdy4e3d0cCRnCJE/cVAJBRIRVyOLFgDTfQZfIW88N1dW7oVlnKzqBQ1faR1BGzqfqUjYjcaDVYe+luZbOaWUvJbvE8V3O0kn2EDA21xbqO4vbtpJXG4IKGjVGg0d+Y2szaTXFbZTNGBLPJK8UciGGkjSBIA9TyUIvIqSWJ6kMjjpshb2z2QtbyRVlRojAgeJZ4t0uI3aqqWUg77MOvTQH3FzeqolytxBZ20ScRbGRZZ3QbiKKJarHzfdqVLMSToEeOuri6mFvZYG3vbjk3beK2luJ0jZqxiSNWMVEWgq1APU6DZQeF+R5aPuZy+tsVYqwZoIhHI6BSKJIsTpaQf/AESWoPUaLehjFD/l/wCPSbVzmQUME9pyBaWg4KBxix0R5bcgJ9ENVynmGZCJiMZDhbXiVS4uk5TRgH+ZGsihLcFdvy4kFdxodkt/jcJYuZvJ/JLzKXcgrNbW07yyMwPIRsI5H7aVGwLpv6U0GQzWds5mitvH8WuJso5YpSygme7lgIMUtwacQUp9IJBO5roNVZHvWmXmSGONZZ7dTAzokX5OPiSYNKSirEJXYkfspobKPH8ZDlYrqyuL+OxiuLg3CyMYxI7QowjiiEroilwTVmbgAN9yNBqrPxzK4peOE8ytYIyxb7d7mFDyNSVkjjumi7hNeg0DRv8ArG3V5DnfF71owJGWZbcGjrs3JIjxJC//ABRFdB8mz2UuLu4luLqWKS/mlimkFoCLeFIjs6uVQPJK6jZBxVV3NTsNn+O8guGtRKYnEdoeZltUCRmVlAlAVxKncmUjkVC8WJIHLqC6a4juby0k7U0VvcXUawRyJ+c8UFZpSFZUMkdQqFyByJp6HQGqrS+SFCnadVuWWFkNFJWKHsSmJZzFygJHJdufqOugrxkjC5zUscioyWSoHKKxRGaaRlCkM6mQUQEfGhOh2BsIf7vk7wNKrd820fFozHEp4Rc+DVkLc+QVhTidC1Rbu0OAhIhKR3U894JGBYyGNZAiROxbgsfbXkAF5V9wNBor2TSVLLE45tlFtBFHE0ok7TXMsMTjubkGbkSRy4r6U0QbfvI+csYm7aC1khcRkosUKWokvDGHuREpowShkJAYjcjQUpNYfrhmvrl7eBZJWiK2hmkmfuQWzRmKCVFikCSsxZSVDGoB0NNE3kUVslzZ+PYB4Z2lP3eQyckMsi3Qcu0kkpXhzB3XdqeijQ4Icnkr++AGe8geWP2k2Vr+VH1HFeRApxI2IQb76BD+rWFmCcfYxiXcd+UFpTSlT3ZS0hahrQFa6GSm9vb6+BeS4BWFDcdskIDVgrBFJq8i8gOPUqNBpvHMit3C+LkmeKZ4LyDGlRzdpL2NVlxqmn5YuHVXibbjIooRU6AzDWdpfXcFjfXQx+Rs5nH3FxIYkvLSrd+QT3Ec8dvkLalU5qVYBlJDAahZtIc7isZKcb4ph5s7fku1xOGmrOVrzd7qourmvozFIwPpQbapQtu18U7V5l84sn6nI7xR45ri9tcnayJxK212wP8AeJLKWqxzsWkkh4ggsK6DP3uQyuYjiOYvLhLKMUgtDxju7lP60/ZWNLdXFK0HcYdToBGmBRYYlWGCMeyCFeEaqfiBQs3zO59dQCsSQaUFOrH/AE3bRcOfUDsaHYDoT82PQ/h01UeQUNWVX+CuWAHzpGytt8K76glIymvBAgpQ7swJ9SvMsyCnoCfx0HDwFK8nam49qqNtxWpYkfs0PHASa0AUU3I9B8Cd9ifSm+iuMTQ7kD1J6n9nRRqp6jwC7vty3VBs8nzP/lofidz6aFRVnDHeXtpa3N5BjoZ2cNdT7QW8USd2QKpPEzMoooJ3Y1PSmg+jDI4rAGLB+KxWmQyt6VV72aVWsYy5IW5vryRR984BqK8Yk24LXbQUSpL45kxe+RR2HkN/lCFS6nlaD7Dtp9UcTLIn28iqVEsY5cl4kAaKx9xk7W7v5J7oyWmAvr77eb7Rw8kXCMd+WC3RPtnlmRRzZVA5VIUtojiXdzhL68spREcRkwtvfBYYpWnsuKfbX3cg7UxEsLrIByUOxKkVOorVYZccwlsXeC+uhIrxW7WoaW8sWYqySO0ckqmMKve94ZUX2hhqpzplbi1nweQuMfH2LuGSVZbBIpyYiJWKQiNCHZzyrHwFZFdaUOx0Gzx3hogT9Z8uuFghSnC0BkWOMyGiRv2yXXl0KR1c9Cy7roMr5Ctrb5BchhbOG0smjnhJhdYZLy3RUS6WayjlkRng5clYUE0XUMUroEKSrYXM5k5TWU8K29/GtB9xYXY4pcKpJjM0Z3VjXgxB+Ogqmgayu3hMizx0jkjuEoY54ZVHYmXozlwOMhP/ABB89CFuw6r+2tV332H8Oorhp+4enSn7+uqjnz2pWtD0+QI+frqHCHdayuGvljSaCcPa38EgYoyXCCMvRSP5q9D/AASAHRW9invLudrTC2d5h8Vd21jLdXFncxTwyLcAxC9uhIYoLc3CxOsnDgC6++ppqp0BlzRxNxHaYye3yt1aXEkiPFC32r3CxtbpkGEhC286278XNaEigqNAoe5ub6+MeTuGyVxk7S6hZ2SSWO3nVVMH26IQxK/1iKL1C6hwXYxO/Bkbc1/OxckhHvbjLZtQTCNGoTEVqzEHiD01RyOQzYa8VhMWtbmxvIeJhEcXfHCXuOWE55qppxBFetNByZZHxmPkq1LS6u8eqEyMgSdWnTiSvaT3k8lBJqa0poJXpUNYXEbsyy2MPI82btNbSDkhkCx8jGu7AD21pXQGtPDF5CtzSP7aS5s5S0/95QQ3MAQluUimVgPpJYGtK01BTZq6Xd9aLVRMmUsGJYxhlflKiEIWDjYEpypWnXVA1u8bYq+V40E6rZXkM1CHYwyduWFyCFTY8lLb7UA66C6Qcsbbtzf+7ZOaMo1BEkd7Bs6+8szOyb+2nt0Fdy8Un2wjVFaPGfbTBDx/vFnKHJlKlgXaJwagnb4dNBO4I+8uRbpxr9nfQQsWWrhFJhJdubc+Pqfc37NBoLnOlreSaO3vHMbRiaaeMwOhuOSHgf5cPdkNAwNTvXroEEUdzaWFy/IxTktcBI5OLoAylUMgAAag6jUXkWyvkspeie4vJwFtZUaOdkiMbW0ZrJ2V9wRz1FAfx1UCXVnBZtbydswul9bjuySXEgdCzBqkOSAymp2qNvTQMbWOuIu7WpUxHK20qFhyCGsitx6mooKeg0CjBlP0m6j4cpI8niZxIF/lxSLLC3uIHEM5p8wdFO+I6fD+jRKOEADbc9aaDlNzv0G4/wB+g9Tbbavr/t0XSXUjcV/D0+WiOlmNK/wqEXYfSK0HpsK6GHPTcj8TWv8Aq0PHhU7Gp9N9/wB34aK6OuwrT4fL99dB2npuP2dB8dB41pTr8P8AT10HKVPStfQb+mhpH/YdB4/H/T/Q6JP1yu1QevTRUSR6mp+X+vThL5Vnr8Rot0SfX/b/AKbaiZQBrX/Z/s/HQpCNR6VH+rf/AG6K8Ca/6ddBMV+AHx+B9f3jVZdJI9PT/VosUQrQnf8AD1pqKJtbaa7uIbaFQZrh1RFr05H6mHogrU6qS+oZK4t/DcPFi7VY57+7jYOS3F3mKnlOQPcYICenr00Hy+2tbq4k4/cRvIQ0szTtFByINXkLsw5yEHZSd9F05lMxDjbaa1x0fajk2Et1FBLd3Eo2klVuJ+3iUj2qD866Jd83ZzIzO7FndizE9STuST8zoQJtbtLZGrCJORpyJ2GhBpjZF+8a9SNecQDLGab+u3x0DPM5lslbm3mgMRNKMDsCOny0GTtyysYzXrQrv6eo0DMCZBxU1DD+tSn401BOEEIwYEEfHccfXfptqhQxMjyEElVem2+3x0IOsTFIZDMnApGyhqyIsgqDQrGTzYH4jQw0hcHkd612Ctt+NT8dBR9bEnlQfIUH4/jqA43lomLmt2tI3vTPBJHeE0kiiL0ZFXqVoKU+e+qcGuIJt7t17DgXdqs9rK6CjiNqPxUEhqH400DjyP8ANxDyn2yxNDIabseLCtQPavXRWA4Kt6Jhy5F46nbgQ60NfWuibUCJ1luRyUiRZowoBDAr7qMPWo6HQCFme03DM6GFiKULFW40A+OgICGWW1V1aJhJLGQw4shKFhUE030MPBwjzIVVhNbCjcQWVoX/AISdwD8tQQjZO5NEQ/PupMDy9nbkWhHH+tX11RQIo/tmVWJYGZHWm6lG5L+NRoLObR9qYB0IaGQdKlTRWO+1DXQXAIL+2Z6ovfZOY+pefuWtPSuhgVfxlshKA8a84xVmb2kgVAr05N6aC7CWa39+MfIwUSt34yQSOIUs6kD+tSldBPILbfqc62kH28NqOyIqbCYVDkCp2J0FANPnWn+3UWU9zQ7/AIV2p/r1Uo8fwBP+n79CFZJ9aen7PwOoYQJA3P8A36pMVc3qPhojpIHrovSJOw6HqDXp8umhCO3QkU9Px1F5h7kfTb5aD3I16/0dNCkOFvn/AKfhoWhE6QkuarLoB/hNG6qfQMOh/fotB1lcQXM/PMX1xBeRgJBJTilB9J7gHQHRWkx756xN1kcVcWVwkZ4SGiu9xGKH2mpAeh0W7KZG+mvsjLfSxzxM4VXE27cwKHZFAVfgKdNEetoRlLm3s41ieaeQRxu5ChCerM3WgGg+heQ4cWVrhMZa2cbNG4luntveZFiAZ2lQe81beugxmVvXzOXhhTtIFKW0PBCvsU+5mXZiR+GgjkJLaO9NpkZGuIrZQqPFEQg23jlpuK9K6BjnJsS1jYWmHKLGYzPJGJmZYWAFVKtuSSdvXbQ1VLDR/o2Hv8pdxBpLlDHZSV9rqQQpX1Xc/joMcgNCx+pyXb8Sa6ixhP8AHRZZpJZWVwCKNIJXqoJMgBFeVK0IY7dKnRKJyBoZeAKSOB7QjrJGncUMwV1JV2Fd99jttTVRG3RHlAbl0aixhDxkoe3y7pCtHz+qhrTpoGcUFxCGvIDJbGJnKzwO1vxlWvJY6N3FcxMfo+kHrXQKpQ7c5OPEAe80IoCQqjqaBvTQhQqM54qpYswoAKnc0H7yaD56hL65hLCPG2pDcEZQXupeDNEXIPckicISVgVQnEgmtSta6oz1zey3t+BG3C1t+ciRjtrE6WjVB4xB4d/pHQM1akEaC2yjkv2ZDbOkuTkV7OeQND2LaB2FzHZBgyvznZRIaMwqK0pXQGcGvBb46OJ4pb4W8VwSBd3RhgeZ2vazkKlyX58O04UK3AKVYaBfm5opGNrE9y8cRQTJdRiKUyRgrLSJV9iQiJV4H3ALt8NAks7X9Ruo7ZJl4NzuJWcusQhjPKdZWopQ9paD1ZiB8Doh6TJcPLdBZIpLqd8djkt1NvZC1DFckY+1z7CErwHCgCqTQ1Oi1RKpls9FbraW7Wtkgmkx0UwtY7hLcRxpaxSErW4un4gH6ixJOgbz29xLc9kLLcvHI1hFNPGsUxuXV5chCyS8O3NZxh9mkbgKqCwIAATJXpEKXUzXZjuoVjtJZJudw2LtgbW373cXk8pdKiStGVQD0roM/h7dbi/+44gwY5BfS86lC0LAQRuwSRFElxQ0YcCRQ1roH8MrXNtOzSM1zmrlvvJo0VnhxdnWQ/kiNBAXctMShVKMo6DQ2UZa+E1zKhK0REhjUj2QhFCxheQd2WONQB7tj06U0Cu3juJpEgiikuJ7hgiQonclldhxQQBKytICagDYjc19A+l2mLx3gwtsznZDdeRx0nscPbThEsQy9tZL+aMEu5ST+WK8qELy3IIpu1ynlGWso/Ib028Gfx0t/wCNrZXJlsPu1j/u9i30i3MihkcfzTJQEknReNE2HNzc4/JYJ3aDK+PTP5F46QpLxXNm4bJ2MQPuAm4rKqjYMpPx0GieC2ys09jCqrj/ADiwPkGGVC7fpvlVlC5vbNJAAFeSaORG+NEAGhIlpD5BhmM0ii7KzX0FsI0R7fM2Ajh8nsyQzFBcSPFfKtB7J3IHtOhV88sbz9KzNrdXLE2ZY2mQT3P3MPfg22Qg4qeRK28jFR/C9COmhL6rJD7oxey/l3ZXwjyGQceD3EQSfxLPAU98d5DJGWk6BZyBTjsCHxy6kxUtzir5P+RXMtnfKyIFbxrMXaR3buVUV/R800VwrE1EcsgBoaaAG4I8RzmTs8jYtc4nJwdi+toJB3eyJC9nd2hYorzWUgZKMQGUkdSDoOYrG4Ga+a4wWU8lupSymLHYO0ntMo9SRxyF63ax9lHE53kZmqKkfDQOTI0YmkusnCCwKXUGKyJZuHIDs+RedXImmn7ChuVvac5aEgIBQgM/eeR2S262drAuThicFbCK3lxvi8bqEKzNYrL+o5qZXX3PeSgPSvGhoADXyTHXDxnK+OW0UkP8vI+OPJhshAdhzSJXeEhQSKAqPhtoWauyyYyAEFrmsV5LFQxjCeZ2yWmU47t27fIMtJ5CvRmaTcdNC6fct8VKIIrjPeBSyMFNtfD9X8YlaRifa7rPbxQliaEqgoeo9AaiSSxmu5J8YkpjIw3lNjhLTuxu0sRu8B5TZWUbVaO6gdopaENSqivEDQIG8YscqJnwGVtL113kxd0rCeJTXnHJCype2zowIHchA2+r10GZEGY8Yuknszd427jcSC25ubG94MC1u6xuba5imX2lak7709AdzW3j3lFxPJa5VbHI3bK5xOZi+05ytybtxXZKwvJEx4KytVlAJWuxC+S48v8AH1+zyNv+rY9aKtrm4nvIhH0H2mUjpcIm9ByPEfDQgA154lfJIs1plvHLqjcI4R+qY+SZa0jV4QsoLMaAMlB6nQZ6a0lW2MkltKkErNAZDbMkTuAaAsaIJU3qDuNQGJnctFZpYraYxZliS3GZS3JystulBGrylmXu9tQhkVVkZFALbaooj8cyl/CL23xF5kLeJlBMMEpjmWBh3IxNGvuchSCQdjt1poNYJ8ri4Rcrl8ZeeINJFwx16ttlENpO6ApDh55heRXNizHuw8ojGUO5JNQYxWdlkrUxWdha53GmUSfaYHye5x2P7pP5b3uCzDPcYlgNy8TNxFdAohylx4ldiwx91a52xvXmN347ZTXl7+kqx2jx+VCBmuDASrMg4mnuU7EDZ3d3ttfY1LyyxXj+a8dRYIBa3tpHYX+Heva+2u7ixBlx1xLNWkxXsMN+SV3GnLCSaFZrrG4Wx8Ls1kMN35Dk5nzGVNFcSWeHNz3JLu4YAqiRhwSANydCw6bxXE5CYTnN5WPMuC6f9U21zDJcE+0tB93BbMgcEe2KvAigG2gTZHxfL4rkbi1eSFw/94t/zYwa7NKylihKLWrAbbHQsS8K8Tu3VVdhxLgGgQtsE6Glf9Whwr7lutzbfciVLee9s7eYwEJPHFNKkTtF3PbDIaUB+lTuPTQbO5y2OsVmssn4JdW2PpIbWdzHObp4ndPt5biWOB4DetGWJMruR1Wh0LoWd95xf/cvDFjbjESIY7jHZCwRfH7e1QiEWVtKI4rlxFGQpVFkqRWmgMuJZ8VAbXN43I4mxjVIzHcxN5j4c8UaMqqVYNlccrVHGjLwFRQgAaIKxs7JAJMLkru0t4+2tcNdR+X+OxR8ORMmMuCM7jEr9SIEVOlab6Cw5O6vpVN4fC71gyrFeWcd7k7yaRiCI/8Ap8I18bqLt1CvKI1qN/gAsjWd/SKPI2d1m4rl40bzF+7Z2MyRrDL+n4qyRcJa3oK+yEsZY6VYVqCUhzfj/kRuJLrNx3OTICL30Znso0rSNYIISI4I0JJNFUitaeug+eQC8wWV+7sFkliikPI9Y2iqWNvcSVEaXC9vZS1WIGxroPr2Puo8hBHNaXTWcGR+1uJY5ogyJKol+3M7AoGgJJDLxAKBq7qNBi8z5Jn1nucVkpLGKO3uGrJDbW6TTRwMQ6VgjEVxFcLs1fY3Wg0F+PIHjtisezLdLLHwn7c8YnivJiEd6h5VDL0Vvaa8ToOZNe3jL1jbM0jfbw3V5I7OwvXm/P7EhdbeQXQALrEJAioKlSdDTEy5KVC1mYzObcS21hRh+XE7yNGXgSPncvG0rEAtSp30GgxXjHleWgS2FiLOKSJYvvsh3I3+1jCgRQwEs55qACRGvJQBXQPT4z4fgUDZ7Lfqd3GpY47HPxBY7BHWFiRwYEMZJUHy0E572fyC3hw3jHjz2eLilZiIAgNwzUAkluOKwRPxqGbm5ANfdQDQou/RV8Qs73I5O9tJsvkVNrHYWrsRZW/b4lA44sw4IFJZQhA6Ek6FwcJkweELGKP9W8jozc6q9pjxvZRcAEMZuSzytvQIKFSOkAuMmXGYmbIAObzM8rfHKGmhkOKtZihuIZYto3u79+TCT2uo40I1QRg0awsb/wAlfudyItjsVN3Y4EdHY/q2RRWJknEk35acBsFpUddBjcrOVjEZ/nTOt5cqQS6FxSwt3PqxRjK+5JJ30E/G5pIluFima2VpljaUztbpwkt5FZZpE37UzKBxrQ9DoBr2W4iuzGksqo9m8JUEiiJIVdQCDw5IaHjQ026HQ9LQhJpQFmZUCkAAAgK3y5H0HpoQmaqWWu46qT6j122bff10HKbU2oCacRTp02HqRoVRI6V3FAa1qRX0PqKeo0PUo5JITWOVomZCjOvwYqxRjSoRmUfPbQpVGprIZCWavJm2epruWb1DcqE6HTlvLLYyxMrSRxmTlbzozRstGIoJVIZRyFKjoRoeN/GLTymLsXIt7LJLX7aaBTEwl2rBbQOQrB0PJoS4DkkxEV4kMrcY3JYCQi5jPYMpNvfwr3bBu57HWVmCvFyp9EgVgw3HroNdjMbgc5Se7zsdhekLSyyFVhV0ABlR7hhbTK1Pb7gR0I0DKTxXCd3uTebFBKArR211j41AQU4+yd446b70odAMcR/lzjHZ7nITZiZKNRp5rvuONyoS0jtYHU9CWlpXQN4PIr+4U2niHjYt7YjhHcXUEccKkijMLeHtWrEV25NKfU10At5g5mX7nzLygoimpsY5ebgkcgsdugB9DTjGAPjoB7fP4HHVi8W8flyF0KAZC7WsSnfc1YuwPzkT8NApyeWy9+rHN5tbO3ZqjH47hxJ6BeMfGKtNt+RHx0Ls9I+IjRhDZPMzJKFuLmaR3Zwo3AUjgan4baEEg7q2yihd3lDRqQTUKvJhuejevxGg+h2axDAStOF4SyZCVAxDISCqmKhUsz8o6Cn9WugQ2HYH6ML0qltJdkzySQpMkKtIIxLNGx5NEjGpIO3WhpoNUnhVo0MTP5BhkloxkaOSOVHYOxBQyX0Mpj4UAoqGvpoeOS+EpBA9yc5jWjiVnLKCw4qAW9tvk5Jd1PRQW0Hzi+BF04kMDlR21MIkS2MIHGLtFgJOBXcct69d66DQY8FMIVHcKy3FvzYnjHTmzdsge2ZjxDVNHQ7U4kHQLMTI97mxPJOxesrJJdTSgxmMkovfiSR4EjXcHiQoHSm+ge2bRfrOQkZpI3jtna3nty3BJTLM/a4ovGRblFoGqvGnLRe1NgV+yyrcIye8sau1Oa0EKBkFPezGorUcOo6nRFcDCPBOTMOT3UrfbVbkjJ3pWk49riysOIryLfEaCM8XHG42EKxaaOIMgbmrtcPbLVYoxVXZCa9Xev4DQHZBoRlMdHEYxFHJb8PuHM0IdUmmZJAjA8e4R7FIP7dDS+3YN5Gr/axukf3AaCOZbK2iLpHBEFmk7q20RcNxU8uVePqdBRmsbjpcRaZLFTXdzcw3E6ZHuxmOOG7ekrWqRkL2kaIcomUtz4+7iaaAd7j9Rs0y8cpfIQCK1ykVSZbpdls8iVoqcGB7MhH0MFJ66DL3kbJKXBZo5KtyO7ESP7gQa+5W2oelNDkKilvazDqaqgJkqT0NQFUjjsSab00UVwRgrR15dTWhJkJI5kt7QVHw2GiBVSS2kEkfPiF5sy8gyLzCrJU0ZaO3tI9fhoPouOgtfKJIZrq7trOaGIrk5nmEE78EJjyFvycLcC5QcbiMEUYcwGJOhSWgl8hx+HgfDeHWyz3DL/esk6hTG1T+a0zKAoU7qzjofavroMkfZK11cTG/yMhq95MC6Qk9Rao/Ig/F2q5+WhmVTO7sWLEtvUmp69a13qf6dQsqpX3E0A3C14s59BX0Hz9fTRXGYEdAAN+nSnooO4/26qcIAFhU7L8TuT+A6aDpNdugHpWlB8z6knQcrTdafj0P7/TUHqVG5/cNz8ht/T00VypOw2ofao3p+/1+fXRKO14/AsehNOK/MDox22rsPnoOfMkszE1YmpYk9a70OqK7mAXMRjBpKjd2A+ncAI4Gu3GVfaT6Gh0QZadvJ4to4xKuUxqESQqqITj7fmxmj5FO7d2jyMrRGrNFUinHRYQVkkjje5e2uIbaDsw2saTOhDgHuTCfdWNfai/xGtdAdl8bf2sSWuTtksknWLsduSGQWc1DJbrPFAeVtIQD7SKOOQBJBGgDs3fJwNirsmO9slMMZSJDJPZKxea1oCv3c9uX79vWnJVK1qRoC8k9g6498PYvjrrHB4LlxcmRshcRgSrPHICZR9xCCwZuJFeNKV0DoXNhd2sV3ZPdLMqTzWTT2cUkttcxqqxwwzRBbeBrc0ZDu30laFm0HLbK3ORpLf3F2bu1rDcs8riWF1qQUV2CpHJwGzAD0G50Ce9vbe7NxHawCSEIv3t87hbeMRvzZIiteZA9qgMxX5aCGTsorK6x8PeN1HPikZ2aLskxSs69rhzkUiNAKMDQ0B66BWEkkx1xbv2WlwszSxykqlxJazFRKhJPKWMLxdVUVV2JrTQs7E3JValQwB/H4fLfQ9XU/ZQfHb/edB6gH7OlFJ/b6aCDAOssT1EUyMjn1o4pUenJTv8As1ARb3V4uLyGIWadTbiO6FpbcTBfQgq08kr/AM0COP3pUMA1dgQTqqoinTsKluiwwkV4pUsxG5MrH3yN8ydRE4JjFf4ydVdzHeBQsckkDyc0rwWWENKjOU6qCdAVZIbbNyQsyRAXl7b9yT7uOONbhWb3iOM3B4KxopWrnYjrqli+xQGLIW5IVvspwlRQubaXpxoTXjQ8aih9a7aHq+Mwvib4NJK08VxYXcSioh9w4TtIhFKhK8WG9dj6aD1wpbF4xwfdDc3VqEPIsY5R3AVqOHaEhIFD9RodB26kIlx0yye42EIDIFi7XZmIYJL+ZU7mrEHc0pTbQ0PVnj8jLx3BhL3qS96SZYV7d1bgSAzCPijSoSoPAVamw0OwVjRFysFZ1STH5KJUiET/AMiRpYzP3vaVjFPcvvruNBSGRsfcFmjV0ewlQD2SuzbSMgALMqr9Q2HQ1PTRVkoTtY/6QwkvreQcQCI2H5fcK7SEgdSA1OuicrLmNheWLd0v3sVAwLcyY+2Sgi5SKHbgq0ruNCyN4a2mRBmuEAs7O4WAUNvOYrriJHfkWV4i1UA61NdCMmrAyWhqok+4jSqF+IkVEDKqsoLI0jChP7dAzxmUxUOHyMsWUmxt9fx43HySlWNzjxYB1eRY0EbyQhDxVa8i27baBjN5D4H9k1vNZLkJJeKyG3tp47l3Xc3AmkuGEUrNUkoPWlNQoy+HLBZ+KTQR3c100MMg5vHamJ1QSsVDMeO24BPw1QkwHJLDOxlWattYTrtQoYcjGqv6kqobf0+Og0RqS1AAOR2rud/X4aGJcFPVQx+BrQ/iNFQIBIBFa7eoP7/gNDCYFRsfka6JWERtUHenpv8Agaeug9+wnav/AHaLV4DfcV+FfQ/j0roiRNKHYg/KhJ/HQu6pr8tjuNv6PloI0361/wBdNFcY09an5dR8x8tB3lWhG3wPr+/Q4RO9fn1PrX8dDpEmhp/3fP8AbomkCa03/o2/GmiocgDQHf1+NPw0JlEt61/H8NEuhUE/7Ken46hpz12HxFf9NtC6P7dUq6P9P26hH1KpIpWlOnzp/TXQohX0/wB+2qV+JLU0VV5OSFRAKvI5ICogG5ZjqD6/hMVbeJ4qXM5UD72eIO4IVmtYmA428INOUzmg26sdU6fNr28uMvfy5CaMh5AY4IQObWtuGJROppI3V6bEnQLL2VbNWknQxtGnNVkUL3CaheBb3ChHpocMLd3T3UjTSH6vpStQg9B8hoB1hdwGGwJoCdEp9TeMRR0arCu9D0b0Oi9IwStC1a7ehHUf79CsLJ7mWQ0ckg9G33+egEDsjhlYhlIIPXfr+3UWLwJa/mZgzBKj1AIr86dN9Cn49NkLmZeLMFWlCEFKj56FA8bstQCQDQken7f2aEm1jx+6idmI4gMCoruKUH4HVRte2jbycErx5MBVgG6txG7EDeg0KnSWnikUaGfOX1xtyaK3snQ8qdD+V7SD89AsycWGnSOPDW2TknDDu3N0pCrGpJIEa1ryp8BTQAxX5sbu0mdnWKrQzKATVDSqgbhanQbS9a3mxVzwkjgWeB3UM31EioDGpO56aDBSABoHaqMYEep2BaMgEdKHY6Dzmly29VLJId+olWlQKVGgWxFuNzDUmRDKFIH0lG7iftFNCF15O15GbluCuxt5WKV41FI3YgE7+p0EZx2miB4vwkaIsuwIlWoILDYV0E4Y+5MAO0rvauecjhADbmpVTuGZl9NDlBBvcJwJHcSbn8ElXiQ2/Suh2eYzASZPFXl097BbRWMcsQV3DySFW5KGWoMa9KHQyQvGyKvcqWTtyH1IMbAPTfc8d9DoVKywSs8ZVwk8UgdqNyikFCWHwHLUJud41Mjirj9bgSDsQRTR85gTFOkm9Ieh5KfUdNUK1d5u5cSU7lzK88tBTd2qaD0FNCHfbSgBrXrXUW+3TyoOu3wO+iWc3IIJH7djoqO3r+//AE9DoK5F39tSOmqiQ2AHx0Hj+yvoNBA06U3rv/2aix/ERTeo0JepQioOhbTx92/TRKQjXVKuGgFdEtpDn+7RaQmproRaVoYEcXAdfgwBGotHEURHlazTWjEgnsyEIxB25Rk8TQ6qGceYyEe11b2mTj/ibiIrkj09wFCdB2G9wk9yDcW82Ol/4clTGYnrs4dPaafPQs0cFznrS4W6s/tMpDbRMBOjK0zwyULV93ukA9PjodvY7K4uSfJXGRtD93dUFsZLZLc0RTyZHNAkgY1qD00FMYtrC2gvopbfLT3l0lLFk53UdXoEeX3K5oaEsADoJ5K1xcNze3uZs1xk81uv6bYIA6l+FCzCGqcncj8BoZZ3L3NwmPxuJYsFRe80Z3C8vpA6kAV6agR6NPaDKRuEcFgShqHXkVqN6bgVBB6aJcTwjYlV7nub6pHXcAUq4WoFCaDpUaqQOlMUcUcMaQNGZY5e+sQFwjKOEkXdJ7iiu5WtD1roeqZppZ2RIyzIOfaLOxCwk+5ACfbQAcqCp9dANcyFQ0SlwJOBdWqKCPdV3ALIGqVO1K6h20/i2Le4Z7ybgkUbqIO5UCW4QVoRVapCDX5Ma9QNU3Y9zt+Ze1jrZmheFyJoykICLGnMd6Y8issPcYDepNCaHbQJTA0OMs7ZBDFeZ67BRg7/AHNrj4GMKrMSzRQrIWLU2ehq3poHMbxi5KL3rRYUhgsUtbe3dpYrckPcxtdMIC7zK7t1aTkoowroZSKwSrd3DQmK1aBYLKGVIou7b2twAz3FwpVorhp1Dhoqc1jK1AFNBi57uS5llWM8UdG7kisgkcOQ1LiZv5gjddqDkFFK130DbHpJHZTT28PdyWZuBY45mldZ6FxExiUqkEouZnJZmI4BPnoVHySWNut0YjKwxljBjLMkLAxu1pJkJJVAIk7UzNHQ0biwIYjbUEsTb2tvi2nmXv3l0kt1MhhdmEkhNvirZTMscAnaSRpiV5MPbx321QdLZvAsVrOUVnBtbm5SSaQm6hdv1W7NWWRZYGHbZHh3VV9K6DL5q4Se6Jj5/arI6wlipKrGArIywgrEUSlVUcVqaaBhFbTw2dhZLHOLrLBJzFE6BmsZoi8YjAHPjBYoxHM05tWlRXQ0aXGRtreO+uraNI04w43Hrbvx+2gh/mwtx/MaWUAJJ+YyuA3IEEUHrM42wvsrfRWWPtXur2d3UA0KBWDB5HBXhBDHUlnJ2/Gmg+iTTY7wmKTHYNTk/Kmi4ZDMRIs0WOU079rYmQFIRGlQ0jghTu1W9iij5fd3lxcyvNNNJcSuTW4leSUgs1SIWmLPQkkcmNTX06aHbWYiaXIeP3ONjd0yfj0//UWClT2mGASob+FWaioLa7CSACp/MYjQoIzV28F9hfOMWFQXpW+khQP2ocjA3byuPcN7uDvzBGwMbinXQOr2FJhkLXDu8QSSHz3xCdk4kRtHHJlbGAu7CtvKqPwA2KPUbbwGWd+r5K1yVjEHt/JYznbK0XkqW/lONgnhymL5SMEC5i1+4t+P8XOM/DVGS8sx0MFx9zaAyWN4iXVrI+5ktrqNZhU9OfBwT/VcMPQjQg58cniy+HFnd3IHOFPGMm0kJkaBS00/iOTDKAE+2umktO4SePOMGgodBflbt2TFeVS2f3ErwXvjfl9jFI8bXEiJ9jfRzFABDLcRsk8VfVlJ6aHgiPN4nNW1vaXMlhmWtQotWy94fHcysKqEMN7cXENxYz/kqqyzW8weRY6mPma6ARsld5JTisHYjLxQij2OIt5sZ4naGigS3s7vHd5zgY93upI4G68DoIQYqK/nUZCS88wvrVd8bhGgsfGsUEFRDeZcrDZRqF2bsKAKdT6g/trXHta8rzxeznsQzf8Awh4pkBnYLZqEMskdvKmRtwpHVHlFa+zQK38UxOXhabAZOO7dGPct5vz5IkoSFkEEMGRtXJ9ZregpQn10LMdlPFMjYwme4tWFuXEffDpc24cVPb+4jPKOU02VwpPpoL/GPIr2xvLbEX0r3+Cv5f0+6xl4wmijW9X7ZJ7eSVZGtjCzg0WgKg7V30D5cjkMK0Ftn7PMWb4uM4WPybx+8Jka1tZpGtbO9tpVewv47YsQofhJxA2J3IPYL60zojeWLG+UvGE7N3iZD495hYsnJjIlncSxG4fmd+xME22WmgPRrmZzZw3lpnyF5HB+VwnDeRxKFI4x3nYRbuSjfU8MgIP1aDPZHE+PMxgyVvk/F7ln4iPKW4nxZc+keRtRc2gRa0qTD/q0EBYeW4O0Nzhsyb/DoFZCl1DlMS6VCrGIpnmWJajop21B0X8U6YLyi3jxVjcXF7Nhb2O4gIw+Ny0cEnbnmCsD25uSSxs9UgLksxA2o6qPjFnxnlN5jrJMsfu7W/gVJ1WcyK11aZKOzklf7C6Vj2ZiAVdA6niNANLgMPaCKe98oxMFvdXHCwdS92Lq2HBZbmtqZDbpG78R3OO6mpGoePXavalLO+8zlw97gYVtkt7V7vi8Kk3VjfWEVlxtr9L21eP21SRXJ7hNK6p2aS43BeQNLl3tJBc3LLPcZjA8czZGRox3JsjiEAy2JkYpykUxSKjEnk3UjDPjxPDtch587jZLd1HGTEu95kriZ2ZVtLfDwVvfuGoORdFRAa/GgPJ73F+LQm1topMQW4Kbe0mil8syaCp/v9/Gslt47bsWU9uPnOyj+E10GMHkNtaXP3+Kxr+PZdCU/u9zLfYvJ2zk9+2ydrd8payKAeQZlY7lVNGAbS1yo8jghvMJNb4/M23YgvElQT3OAxihlnufHVdGD4ySRg0oC/cwJyWpXjQYFYy3a5M0WD8+lupVZlu7TyC2uLrD39ZDSWMX6PCI52X2mMsWpUHQocrls5477Mvg76ytwGVr7BO2ZwL8yH7jYq6c3FlHU7iOWPboNEFwXfjnkUblLWwv3kLO8+Bn+1ya9s1DT4e7+2vQwA3AE4O50UizHjfj9ykiRZ+2toyeNxZZqJre6t+K8wI4WNnd15g8VCMSxotdCDGO3ix9tBfXd/kMlFYcGs8t5nO9rh7dxGqJd4/CrwyF9N2peCtIAamqvudAgyfky3rH7e2XyEx1Avc9C0GDjkj5L/8AB3j0bdkqUoyyTNJKK9QNBXY+XCxjiWa1y+DVEYLLhLpcxh35n+LD5UyyQofp4xupX5b6BnHdYHMyi5j/AOn7vIgqYLvE38/hnkqMw4sXgnKxT3ArxP5xQ12FNA1mgvY1uo5H8intxGqyyeRXOLwePSIxzqBlc7jAMlm4I+W0UTOOJIY0I0GdPkuLhLwC8zE9kydiW6tMZZTeKQkSe2C18amjauNQKOMiv32JJZid9DZ5jr7ujn49fmSKJZfZ45fC6jiUnZ7rw/PkXMKgV2tpuVBsNtE0nk4JsrY3VpkLm5ltnlBLtYL4fgsddBj258hLfs1/krqO4CP24uaFtqeug+d+K5BbXI3GIllS4DzXH26ROVhuXBZZobRWT2fcOBPCDxqQVpyOjTe5O6ZLeDyB40yd1j4JLHJWyQxLDPBfCVLC/jaZGHCGbtpLShZloaaI+YxQZ3INYwWdpfPJYyxTWJsrQrAk6osfeSOaP7aeNgi+6oCBT1B0RqLuxkhUWufmt8HbtwaQm4ivL0qjK8qxWlqZP7xM60H0KvKtKDUaqLt/IsTYSm18P8Xae8kIAu7mKSW6kNOReRFMlyfdX65FBG/y1UX3WN8sysIufJs3b4HGmhMLukHtLqp42kDIruD05s++gVPceFYNgtjZzeSXigEXN6xisVmBHSDgHlJp6L+06HBtFc+deQxGOwt0wmL+gdpBjIFiYEAd9x91Kq0/hA/HfQAxY3xHCzCfN5ds9eKxY2OOieSKSZDy7cs5YmZZG6gsAx6gjYggyNzc+Q5fsESxz5Can2/MO+Mxe33U9yFBWGT7YcEqoIjqSNxoPXcMuSy0Vha81mneDG2ycIENjbwK6KqC34RGO0tu5OWNCzsC250BWeuLRbhbSCHhjcLbQwrEZBM8vYpDEiSB5EjbIyqC6xniQCTuToPnd1LJLI0kjh3kkkkkIJ4mVqcio/hCiir/AGRoNB4u80DmSBxDKt7CBI1ml7xWSKSNqwyq8R/LkO7DbqN6aCrPLElys9uSbeK4lCyFDGxjdyjc05yFaMo2LEhT10Oypl9B03qQD6+tfSvpqK9t8KH4Hc/IAjbodVN3e/Z19PhoOGgApv6H1HXqDWpqOo9NBA9RyFB0+YUnciu1QPT46g6heGRZasvX29HdH2YFN6hhSoO2qIOYuUkK8jCwVlrQkMaEf+Ajkemgst7l7V6FnaNCEEqgMyR9eEkTGksVeqkgr/CRoN1j/L72NTbuLXPWgUAQzBo7yKALTsDkUujbRjZUPeSnpoLvv/AZyRd4u/x8jAjgjIOLbfzFrbH3E/UFAAHTfQWKv+W9TS5yDcQCFYEcjty48ZQKD9ldBJMz4hZMf0fA3WSuRURvOnOFW6L9P3D0Pw9v46Dl95B5JdI3duLXxyxAp2oSqz8AtAoKuZ2ovxf9miMe95i4nLxxXGYuS3+JvHCwd1gTUQ15SNX1NdFBXOZv5W7Zb7aAOVNtCghRKj2dwLxYryG/TbQroASAynnyeInluTzSm/GlCGY/0aAhGBDoFZ+4rNHx6iQqefb+IoSNBHuJJHbu3KgdwVBo3b4oA8Z2QSVP7dBu4UK+NNJUgy2l6y0VTQGdg0SI1REHMfIldwTsRUjQJFnhg/Su+eNvLDG88scPKR4Gu6yRh6+0jhyFdqbaEtTH4xgZ4+5/1NZCQu78wUQyLI7NEDHNKjI3bIB6DlXQel8PsSkstt5DYyvHEZu2xiZmRAGdysF6sjAJXYDkfSp0GQsMaMrmRYXt/bWMMlRJdKD9usShVt0hVgoCTkqEL041PLcaFm+PiduoXF2mftmjSZbqs88VFTtmKYRwRxKhnjkQrzLiMqKEAjcUYjG2S2WeltLea3u14MIZ2V4g5BJKrGGalxG8Z2DlWpsSDTQ7wusBDLdZSS4WKRktudvUtQXLxnhKEUfluvNirE0XcHQcsyVxWRYtxWS8ZlRmQF3R93ijZeZFE9xQ8SB7txoTeUJHC+N28XIli0zNGWjdQXtk/MQhTOC5f3AniD00Lrr8txxSydsUNuFSy5mRYjcM5T3/AJi3IMf0n6R0+GgMuFZ/IYY3LRyqZAvLjC/cS0iRQylJlExVzUEe4k9DtoB7WNrvM3MkdFEEU10wdU7XaSW4cxuA0ahnC0UA0B6Amg0IA2N+llfiGc/3PI2NvHde0u0bISsd3ElQpmtZkVhUGoqPXQrdKp8dzMkbnv2c4lgu4VIKXNpcr/eIgBwVopkYSwHYAgHqughkbA28r23c7sEgW4x90AVW5t5lYwTCoX+egKn4Sqw+GhNme4lSVNfbRGWlfcCVDUPUtUfOtfjoCFG3vahV2RhTcbNVqNuq1HHfptoi424kQq4FDxoN2koDU+3qeFak6KJxtnFEjrdyT0bjxS2m7CtHs3GYqCzq5O3Qinz0DcSqkYggjSCAHaOJeKk/1nO7SP8ANiTqCrqCa7erb0B+A9S3yGi206QBQmtQfam2xHq/xOiK2ff5tXoP37jpoPBDuSCw2IQA8qnoXoNgPgNU1R0g78tj0C70A9QOhA1BwjpuaHbb/WRuRqiPrX6vhQbft/fqLw6B+Nfw+H7NVDPH4fI5KPvW0MaW1WAu7qUWttK6Allt2ZXkuilPcY1ZR6nQAzQyW0rQThFkCiRGikjngmiYlVmgniZkmjqpG1CpFGAO2oIDjtuaeuwr+HWmqPbehoPwHwNKCvy0A0zTWVxDlrQ8J7WVJZR1U8aKk5U/UN+MgPVTqAy7iSZFyFuiJaXwld4rZZALGSvOa1A4hEltJB3YkUsTCdumqC1yV7mbcYvJzvc31krpYykGS5vIDwkksllWgkKqgntzIS3IcVO+hyRyiRit1FRr2wK93gte/bxe9JRGaFnhG9PVOS/w6EtxgbDEZd7zL3ErWkXbtmHYEVtbwZG4ZoZInkhhme0sZ34mMgcRzIY00GZsHOPvJbPumK0u7gRx3EnN5cbeRlmgcCCSOJpEZipJ9pQnYaCEjDuvDkbWc3YnktZOzNKVvp0fkYysHL7lg0lVA3KtsSNAZkLDLoLWxuMXdY9b14obSOSJYoaB0mkjPbZhDIkSlir8XpvQ6COVFMmsXEL9rZwROBzIVwN692KGQVLH6lrT1PXQsEt4y99cxiFpjdY4xcY40klEhR1SRAxqpHb3IBYDQC2zcoIzxUGnE8BxSq+z2iu1aftOoCNvlWvTp601R0nrQUB6gVHLfYVOgiaH0/edgPSvw1BHutaT2d6CU7Ugt5jU7205KFWK1PCpZTt0bVJRa2+zvbmzY0SN+5ETtWGUdyE0FackI+fx31CrlxQKjLX2XFu/tJWh7nH2kEHfn8tDRjKsttnh7DZubuznKRyPKUWaAO1GDSyPI4HQHlU0FOmqJ2a0y+RiTuEyvkoVCu0bMJEPJZAeKyKSalXp0r10AVkXlx9+hZOKWYcq7IjNIrCLiimkkzNw+kVCkVOgkWb9MiPHjwyEbK/F6OGiKlQ38uqE1I2YetdB28UiLGuXL8oLoUKkPGY2HtYkUYbVFNgNCwqVVXMWxYtIJUxUpNvGiSSFlAAjjHcVZG6HYt60roOWqqMndQlI05T5WGNLiN7jgzo5WOsRiIn2oHICg9RoBrLvtjcmkaFo/wBPga5AjSRoxbzcklL0LRBGqOamjVofTQ0tlL/plkveYhcn3UgMiPGO7b8e8qcO7Ez0KsCxVqAgaDl1GqjDqpYEW92pWVEVYyJql+4lWkiYtWre5QKaFG7u/F8fNjplxuUSfISWf290k7JFasGaKRZoUEZkiiQt1LfmKfqBFNAnvFsLCSPCc5Te2kETTsTC8D84hyezuYXYSpyNeLKHA/DQJri2xT3WPjhvLm8ZvuZ8haXFukMVpex8FXgeJeWGQElalq7H1poG8UKpCAkUZkVnoEVUeVVZSArgKKBGoTSo0E1jb7iNu1I/CNByDxs6qDSkrALUCtG2BIG1dBi8VKlr+tJJM0Ynxl1FEobj3pEvk4qmx5V41ptUV0GlYb13JpSgI3JNa/s0Ht/QdP6aeo9K6K8K1qAKkdP9N9EtRFqtT3cf2bf799BJakCu9B19SR6inx0HtqnYjpT4/s0W7vx/3dPxp0OiOCgJ6kbev+oaHrhNSPx39K/6HRXCetD+z5/PQ5Vk+p2IrvT0r00ThwMaf6f6V0V4mg2J+fT9lD130O0K/s0KuEip/wBKaIrJHKgG52J9euh4hWvX16/P/doeucgPxp67bbU20Ea9adP36D1fn+z10R7/AE/DQer66F3uVBWpp8B1b4bD56K+s+GeLC0jTPZdQkoQyWdtIQq28dKmeatB3Cu+/wBI+egy3k3kMmevO3A7fplrIewo6XUymhu3Q0PbQbINx66BNHFL2Li4jdI+zw5BZljmZmNaxRdZFVfqOwUHQowWXv3vmYvyKRtxjqxYkg05Mamuw/DQIlBYgAVrt8NRqaG45qqIQFG3/f8APVZ5VsolZ1b8B03PodCpaUYE+01Wtf8AT8NRa/Uw/JQtPp9fl8NVJsq6HfUazFktm2A0S8Ze4/HQmXgCCPn/AE6FawY278SnStabelNxqphto3jPYmuFlltwqGdICBM0YpyEbHbmB00GlGZ8UslElthb/IIrKJZ7yRUKK39WN2YkrXfYfjodB5PK8jcLMlilnjLWrRokFsjzmPoC8r+3nT4DbQIIyikowMwqSS45FiTUlj6EnQuq5cZ+JUmMPRFO6gMAQACfQ6Hgu4QmS1BVWVmeP3mijuIaGp2BBGgXzj3xtypyhZTU0HOBq7H1qNDChUK3U0gpwYxSkAde6vEkH8euhwqgt3MU6FH7atNCXCngrGrIC4HEE+g0FTM09m5JZn4BuTDcPCaMOm+w0HI5KRxTIamGZaj4pKOLD8K6ApQqTgS1QSxSQbmg5r+ZED8KjpodDsIUa9nsnhMy3iCRV5FVqFo1fwIroA2haNpom6QzOjblvY5Kmpp/CfjooSEEq8b+ivATXcEVKGn4aI0U+UW4wWNxK91J45ma6jePggFdmjY7nlXQBtQbD0FBT5aixX/Edtv6a/6dNC723zJJ2A3JJ6D5knQwaSYPLRRLPJZMiOAQGdedCNvaehPwroFUlYzxkVonGxWQFSfwr11UlWGrqE1o76/6baqPEA+m/wAfloVcK/j/AK9FrR2nxp6VroiP1AgDp8/3bai0oiBX8f8AXo1NkTokxtU5I/DVSLK9EzK9emizlLfQir1dQrP+ug/PRYmqZYMOMgDr8GAP/bodZcjj7R5WdxPZt69mRuB/FKgaqGYy2QFubW9t7XK23Uc1CTp81YUNaag99zhpwFhnusE5K92B1LxOy04ujUqpBGqHVvYXWRu7RpprS+ghZpjkjMXllSMe2GRGY8SD6aDMZO6N9k7mf2lInMMXEe3im1R+OiAD1Oktw5qDHnRJwbySQrHEpTg0cQFEJdJywD7gkcAP4gD9R1UBJPIkncojjcGN94+lACF4kcSainQjQqpaRmfmPZQ8lCk+1viPmTv+OosQLgS4vZo13keV1iWRgKB2NaliKEqPc3yFdVJfULi4TD4mL7SSFUPbitY3RZo5JnB5TxxzhmkjmPJ2qwMZAJBBGgXW2CuobeHJ5fJxYS3vayxXdyxucnfW7EtxxmMUG6na6O6yPwUqR1BGgtmx9xY3L5C5tGsmvoBjfHsddRRSZCa1lqJsjPaO7SWawW6kh5QDU9RxGgi1qLe1l+0KW8krw462tpv73IrsDNczm8iVrVjbwuOUjBWC14eugFyc0Npj47SEyKHaN0cGczLbqwVIo1lFIS4BmYghJHI2G+gxq27Xd2tnacpTJN2beq9uTtkmjyRx90KwQFm4lt69dBtoCxvybAQMMZDDj8YsCTxpPf3sKxG9tYpUKM9vb1eQSMpYsWHw0AmRdLu7scNBFbzWmPhCu1upgFxFbsZLi/lkYK5ubwE82ZAzAqtCRoSf3AulnW2vD+bjYYbuflafcR/qN0QMXj5ol7klxjrSMntoSpiAqKHbQK7yVbSKWUc1WCM2VnMHlDSSSnlkJTNLFHLcLMz0QseaJ7STTQZGxtvv7+KIkrGzGSdyCaW8HukZuALnkRx9OtNBrUM8z3OQMscrvMmDxkk0riZJ5SrT3aUdEWJVPAUY0oVKitdCAt/az5fM2uCxUbT9gLZ20fGOEUhBDzTBQEt4+ruTuOXq2xLppMhlLDwuwu8Jg2ebLzqq5fNxsKSkc1uLKyDKHjtoOdBMpBLggVapUjthBlvGJEv4r2zv/HLqBJr/ALVzbdq7hnV4oFhikPeOQh6ilStCG9tQQ+bXssUlxLJABGjux4Luqs3uIQkD2qTTpoDMHfzYzK2F3Gru0FyivCF5962ua295bBSRyWe2kYAf1qHQbG0kxd7J5H47HKEx7PdZvBz3H5Agu7dALy3k5jkourWMOF2CvHShroIeNZCV8f2lCSZDw64mzWMjFGF5hLlymfxwH/FRY5GcDqQ59BoXHxwcbrL+N467ieQ3EflviNzCVm4X9qPuXtYiCyiW5s0V+NKApShJ0DC4S3z2Hka2iEZaFszj4FqDHb3F00eXxI5RoB+i5xpCB0FvdoaADQfPsFcJZ5d7O6laG2yiHF3Uy1RrYzyxy4/IKwIpLjsjHFL6bIR66D6fa3Usl7eSQWllk7vIxJbeV+JG5gtL+HM2HO2usljobgNFcRXK8iQho6uvuDAFQSjFYyOWe6tPEcgTBIzvdeZXC43A4pea0Ex7pa/ZSSCvcJOwAOgPm5T2Qmv7qTI40Jyjt6P4j4VEoUuBDahI8z5AkT8SFihPM/xb10IZq/8AKbQItqtvFfRwClrFcQ/ZYGyILUe18ZtXMFyU5mj3bzSEncClNALa+U415llv8W+OvF9ozXicpxF3xLCjS2Sn7WcKAPbVQ3w0GxuLe8urWPJPY2/l1lDzknvIbc4DzDFC3ryS4+34MbhY6soKVkVQQSCDoXSyF5JLYZDFNkbu4sms8TmMLJfdqTI5TDZCAcVu54wDImOyMVOUv5ih6EnbQfM7GSKPJwrNJawwXSyWhvLuF5YbE3C8VuiY6Oksb04yDeGpYdKaDZ5PK5XHWFzjMvm8fnmvhbrBJHIk89pGsoFys0sSFZRcxoGTk7uOCuKVoQ+ayKO6XSvU9oqODqR9J57mor16kaB9b+WZe2hSzvvt83YKQy2eat1v40HHiRbTzE3VsePQxyLxPQaLZt8J5ba38tvi4Lq9xEt26QQWOWMfkPj0k3Erb2pe7EWYsYp5aKCsrqpYeg0TCm6ubWyewzsGNOItXu7zxzzTEQGR4TJG6rfjgnGN3S1uBNC49wZNyStSGenuMv4xf5K2t5beWCSfje2d5axXuOyCKK214IpVZWW7tXVw68Wo/WmgtgyHh2SPDIY6Txi7fb7vFqbzEvXo0tpJyuLcb78CwAGgeY/x25hsJTY4XC+Z44T3L22Qs717aeMyIhe1u40pJPBFIA6o3FwejcTTQKbTxjM5buzzWqxJDMwub68kitba2K8EeJ55eIXsJQUG4+GhVKOz8KsLkQp5LkoMhGvEZfF2c6WVtdclKtHNDMLiS3joQxC+6tVI6aB7NaeZT2zy43OWmetmhUPlcMLE5o24PLsXF2BDkQAF3DEkjY16aDAyWr2UpjaCWCY8g/3AJnY1JbmXFVbkTUUqDXRVX2jXVI405zzypDGAKsXkNK/gqAnqKUroh7dsiyyZXH3klnk8U9lYYmOyWJWkmgUC6kuHPHvxulUDe6tOLVGgewZafyKyikxt5cYnI4v7mfI4exUcJfuO2brLWFk35d7ArpyntHUtGSzRmpo4G2Xn2XwwFtf2lveQ9uJ47zEuICbeWhS5is5O5Y3Cyg9QIqnb2kbAx8gs7POQNcfplkuStlgvoclYK9rNkMZe273VhfKiqJUknWCeJkZmaK5h2Yq40CPBZzOW98LIXV/mLQY6+uYbOee1lyUQtoKtc4q8vLe4l+4hTdIgfcQdttAz+z8QyN0Vu8tm8TmmpRfMFdpDOW4HhJcFLc8noCEcCn0gehEsh4tmLFDPFanIwCMkS2UonErhTxZIkAnIkNAFo/wB0Wz0N5icQLO3yXjF5didLP8AVMxeW6olnNfQxyAfZ8TPFBZg1ZeUblQW3J0KMzf2eMuZOUVvFJaysxCO7u0M0c0kdxFDdOBPLbloiYnYVKFa76HYM4+1VUSl1LGpDW8E0ss9tH7gSBA8jRLIgamyiv7dAxKu6IXMSFVkdbe1mSUQhvZ23qxe3kNA4TcAVofTQAPb2s55yLG1zFQ9+FhHPG60Ksk8bRzhtqHqakU0B9tYZLOTQwg5XNPbqxAv7yS6gtFVhwpNcN9tAyKdzISQemgT+RYzHYuRbgZK2ucn3VFxa2CkWljKYu7DPJkAO1fXMbhQ8MaqpqdxTcPo+EyEGUxkTXUTNHcWctlkrESztd9qaPjK6QtGA7SRUliLLuUHFzoWLri38rvL+8wtllYLDF46KJSRc/Y2yWhgUpOJeIu57a4U8zRjGnOgI2GgVCz8PxRaS/yl15Fdgc3t8arW9oxI3E17K7yzKa9Q529BoC7XyHPZAGy8PwsWOtuIiJx9us0ta/XPkpgkKEg7+4mmg5P41HAzXXmfksdtIAWFlBcG/v29nIoXcuImJIoAnursdBSPJcHhUIwGCtonX2w5jNOHuJKBQZFikBargGiqSBX9mgzeT8jy2XRpLu9vL2BZFjoXNhjopJKsFESKJ5uKrWoQaCrE3mKguQcnaTZATI/YtcfdHGWiiMsrPNdyKbu8lJXYFlQD4nYBqF8utbNJbHx/x/G4qe4ia3eTurd3pL9SEhieVywqCSHJroK4bK6wNnJmMpaET5KKaxxkN2n56RNxe/v5Ynl7sMs44RwpvKFC1poMk1tkMrN+n460uL2dHMt2Lde4kdy69uOOWUcYo1s4faSzD8wk+mg1WO/yuyk6rNlb20xsbCP2KEuZDUhRGJS0NkHIFCOTmvUHQGX/AIzisSi3mEywvkivJYchboyloZjHKscqRQpFxhD1jK8WUVBBNDQMwkEeRxc8HdlmvbKX7doGKCMWkrcLWWB2buNwlfgyBaLUNXQZSLuAPFJyWW3YxODVSOJ4ioO1dqb6CfQfGpNP7J6E02PIaDh+Hx3FOu49fhoPKjPUqp4qGkkZVZgsa05yMFBIRaip6D1OgrLca8fbt9ZpzrT+EbhK1/p66Ct3q1dhxUCn9ah3NfjU7k9dBBhQow3qSHdVJCsfaa7UFfT4/s0FTKVnCMwUEgEqTTkw23HQE/joO9siV4m48l/jWjgU3DK67kHbf4aBpaZvIwxmJDFKiR04T20dwzBRxUMz0biNDtd/1BcsvI2eJZQaAC0jHE+hoaf69Ccqpc/mJD2Y5I7YEbLawJCOIFditeo9dDMFkrm4QTGSRpImPNpZWlehaoPu39o6nauhyobkO3IpNDR1Y0PFlP8ApTQXENJISCWMyciWO6sBUkkmrs1OvpoOR8VKuwLK/JKAjjzIo1W2pWugJjYRwxmqgrKVZCAWKg8mI6AGn79DS1fzzE4QJCskqtL1iR3o6CaSnBagABepOw0MPoFxwTxu0aB5Gt2x/bXuxBLqQSNJQT9p3iFXBA9WAHr0DK3QLY/GAEnjj0YoCzFWEszcitKAnlT4aBX3d9orZiF3Ha4MOhUgoVDs37tDSQmccSIofc30kTRhvQqSJtgx0PVtjMZb9ZLh40DOiOtJlg4qCgh42waWOIoONQSfxroPpVFUxsBNbPGFIR0WICIAMYog9GS1mY8WB7hJoaAaDF24jfMASFF5wzEDtM6847glECRlBGlejH2rsaHQSxjTd7NmNmEYtVExXi35boqsrVIYRSUoWANDTpoK7UxnEZDr3luJB/MBUxs0pblEwBVlYCjKdwdx66CuUUwFpxLjkpFTGqKfbbr7TXnIRyNSfadqeuhyMvWKT4vtASfyNmBlKkLcsyNujFgP2rX16kLmjD+QRInsTm9THL2AjM1uIxFM6VVe5sAwFRtoKbHiLrKF4malkSjRytEYZ0Fw8cjIqOJYixK0bitW61poBX8ey+StWytnBGbLHxdhpJZ44jPMg5ywWyM1ZmQSAHpVjQVO2gJjEebw3vnRL7GIqLCluO7Na8qRTv2wHkktJfbISNkI32poIWEsmTsHxMpk+9sO7Jj4wGknZSyyX2PiqxShWPuxAKSXFBSugXSjlwuI2AkU0kYD2g8N2VaVHcX16g10FKUVadqJ2AXcck6dWZuVCzkdfhoL4lG3Cu/Vj1YMAR1+C7D5HQ6EKdx0qQPpFCaGvw9oFdASvIbMDuOnz6dKbDbrqCdadaBxuB1CU/YQW/1fjorlObblR/R+34aI8RQmnXoGA2H/AIdDKFaDqf3/AOldDjbxB9Saj0+H47bHVREfH/UOnp+O50VIKxZI1SSSWRgkUUSNJNLIfpSKJAXdz8ANBusd4rb2Vuct5XKlvaRKHjx3Ln3W2IS5aNg17KBuYYm4KfrY7jQrc1kynkeYtbi98Xjt8PhbRS1tdTqIru+W0jCNFFHEswa1Vj1VUgT50J0LvnV675WJ8z30F0brtZG1CxxGDIy8UFyVjPbNtlHXg7oBSYKzda6AGNuQrQimxBG6MDxZGAoAysCD89Bb0/sn09SfjQdFFfXrqDoPxAYEEFWowZWFGVh6hgd9FU2EkFjctj76aePE33ut50d2SyuBURXcluGUXDWZYq61DNG1RXpqo9f2VxYyK8ZljuLbiYnRWQlV/NiSM0Ffy/zrZhQvESvVdAd9vJewW2RxkEa/nLBJHGxBt7plDLbSzysAyZIkyQltllqlQDoAbW4TG3jTqkhsLrvWt9ZqWikgZ/8AE2zJICIpUYc4uatShFNCrUXGJ8ctMLPNeZNsnfXRrY29nO8Hcdz/AHa4aBrfuw9uF/ck1dxQCjV0DTxXI2mNhvLiYNd5pDb48KYe3aWYgL29tLPdktLFNcd3gxiFQKJUDfQydXmYTGC8zGWSKDIzY8WVviIbeOOOSETmSCbI2MskzrIspbg3Mtw6H3aEvl55sZJ5wRcXT911rUxJ/wAOIkkkFV6j0rodibBEM15dyOIVtLVY45eU6M9wySTRwL9urMzyhgNyqgdTSugV2i0t4yduQdqbU9zsfTbpqGhAFBT+jQcPSn9B9adNUq5tX0FPjuP9B89QRlj7scsdT+ZE1COoYUZD8zyUdNUQnk7seKuQiLytftWKNy5vGxcMw4rRjzp67jroOTqpiKnccouSipLfnR13BH4UqNAbOnHKqi8WAayoYY3iFAjVKxoeacN6lTXYkaAmAiLO3JlPFRNMrlKSKndjCAsJZYzInI78iT6nfQ0HxrOtrl1UFlNhOJCJ1hYFJWYVjKO9yaGpQFQBvXQSVZRhLpVZezHf2LShZZShlZAI37QBg5UNOZIagpobuhdBRYYqiyI4OSjbkR22HIHlEuzISp91ep3GhQRdsDkLRQvJvscbHJVYWdpo34sx4EKzKB6kHbc+ugsjTs5q5PJECX9xEOE47ZLxEFRcAMCKsBU7GtK6illmwWwu4+3zL2MiU4cuHGapdHFGUxgVI3BHXVZElj+lJTuBWydsXqv5TkQ+1kI+tkNQw24n46LVZeVMWHPvUdvIood0cqA1FkBUBgtQaBiSBSlNDDWJKslpamaR5R2I1LPcO6M0SVWKjxJJGVbfi3IKDVKaDKXqk5+VQB7YVO9SPorsGCkqoNB8Rv66DXWvlPjuORIZ8RNBPFSO4nlsbW+a5UV/PS5kpxQmjKBRQDT00UTJ5vho+9EYYzxi5xTnx+zdU58DGHSO7q0ZSpZuS/I6ITHIWt5kJ1giht2tnjeKax5m2vLWQiSKak8ksltMvMh05uFOwOhlhLSMyXeVCmMLBBfuOahyR3hyVCTVJPgfTfQa6orWtOn41I/o0NPbHoaAeuh64fQg1HoRSo/2kaH+K6Bv4j6dPUfh8joq3oAD86fGn+rROnDQA79f6AOlf2aDlSBufTc/7fx0utnCa/j/ALNE0jtU9QNvX/VoOMR8af69tC6BPoCK/PY/L5aCNdt/2/j8tF7RLD/u/wBuhlHkKV6emiTE1QJ9BuelT8NDpH/SuiIk03r+z5+miwrJ1GnqnoNqen+/RKJbeh2NK+hB/wBmiacqOg9fj/r+NdF7dYgAkkALQ/Hb/t1Uw+p+F+HmTs5vLRAIKSWFm++3VLicdORG6r6dTvocB/NPKRfyS4TGP/coz27+7iagnkU0aygYdYF/4jdGOw2rqLpiYradoJ7iONTb2iq08ryJFFEp2VFY783A9oAOqjJ32TluJXS2YxxUMbSCqSypShR2WnJCDQ/HQI5lAUjoKUA+Y0A9vuxFK+o+O2pCycqE4hnBIG53ofjTVRXQMxdQCGPt26U/3aICuz23HHbkNwdGuNAweRO25+H+7RJh1hx67n56EfEoyAQaDeo6f6fDQnK6NI3kCmu4/cf9egjJF25VAPJa9fQH4aKnGCJApIBDD3VoB+J0SeG0t5CceSFqQrrzB6EDqKfHQkzxuCvs1DcPjWt5oiERllnWKVZGjBJMZ93EN6030F1h4vmHuL20itu49mYxOe6gVZXQNwV+jGm/4aAGe3ns55ba4XtXELBJI6hmUkBhUgkGoP7tDCC2lzcTRC3tppnYDiY4ncF1O4LAcPpO++gNytldWqvDdxPDKI1mjjahPt3BUjqNtAmdGaFOR48JkcVNQsc2xJIrtvqGkWFGiWhIpNbPxNCxSrxHfruNFXJkrtLebF8h9lcFMgEKqGE8RCyqJNm4txBp8RqoCj4hpoSCVSbmPd7RFcLv7ev1aCiJFMbQCodTJCxP9ZTziYH5jQvtdcMZIo5x9RWObelTLAeMqn5kDQW8zDcQXVuxR4pUZCDT8uenrsKBj+GgJkklN3J9wT3Lt5LecKUjUOwrCWqOPGo/bqLlPExwtlbW3uBGYb2VYJWkkCIk0da1atKvTbfc6qCsrAkOXvIUkEsds/bRuQYCoqFDDrxG2gDAG9fTUJqiep0a1cXj4Guby3jUVHcV23oAEIarH0Wo0SZ/DvKeT52S8lt4LuFLa1/KEEsMVxDMQKHlJx5H5eo1Ul5s7bdpEzWKaF5wKvYcJoWiG3cFvLVo2NfQ6AaPG4bKk/pmQhjlJPGCR/t5SOu8E/tJ/wDCdCC25w2RtGflEZFSlWQFWIPQ0NVNfkdRaljFkPGQPGfQOpSv/wA1QEfhoWdDdP8ATbRKROHeQ3B/79Cnx40psf8AT56LFao6K5oKnB21WY+KxqLFrSvXpoO6rNnK1/ZoZy9oj1dFeDUNPXSi1tdMOR66FYSZlccZEVx/aAP7q76i5UdmNa9mSe3rWoilYKflxr66p25xVF4r033PUk9SfmdISETpLTmoMt9rLwEhH5Zdo1c7B2VeTcR1IRacj0Wu++qyrAboNyegFST/AOEb6FkSrggMpBIqKilQTSo+IJGhdeie4dxZDyHFAi7lyQFAFKtueg3Og3PiOPKLNfzEEKZIbeEkFFYkRzzyxuGCnbiKj3UI0BM0n65kILHGFI0kd7UGXhFDV+JvJ5HrwW3jVSsNaMASC1GGg1llP49Z1nsb2a0lXjHJk5oo7/PNblmgj7eQv0/Q/GoHPIiNFln7e4ApTQL3yttd3F5jcBjrm8yF2GD3eGZ8hkboPxMjZPP5SOS6WEuauIUgibccuJGgQSXSxW9xcPHDM0FubNkgkWGe5vnlMl40otY1WSAxt2XdaKwWimo0AnkdrxssBm7aZprLMWcjFZAf7ne2tIbu158uUq2zoRGWNSu50OSzDMkBvcnKkM4s4GTtzAhzNcKR9xGgKsHiagQ7gManQamKK5x2CtL+8tZFR4bmbHXsEjtHdZO6fuvfSsJBG8sFqXgFE+ndSeJoKl/j0EZt7nL3RlqsouJuLRClnbSV4wsS0nOe5Ye08VKxn6htop5H9w1uD2ppL6aQ3ezSSCXPZArHDBLGey0D2FgVJZQwEjV3B0Rks9cOv2uNErvHYxGIoZJHjWfuM1w0fIuFW4lq5VaAH0HTQSslaww9xfHuxXWUcW1l/VktuXDmK78TcqTWu4XodA9gjQNb46C1TIzY+3Szsowg7k2VyLly0yVjMhgqzRP1j5EsCAdA1vrq38Nx82KspIrvyPIRsufyK8JoYUYkz4mDuK4SKAMO64owP9sgIGBx6fcXLTzKk9pZAXd2s3LjOsZ4pG5Uh0jdyFVKgU6+ugXyqbiZ5EABlZmIWiotSKxihFeIpv00D7F+NZTIxtcRWyx2UX86/vJFtLCEAgFpbucpCKFh0Yk/DQa238ex9jbieLIvJKOcRzdwseO8atg4eKfs3F+Euc5KqikS2sfEsQa/EcPS+O4qGDnDd3FpbS8e/n89GmNsri1HGSOHGYyYnLXLzvxDS8FBUGmh6VDH2ccLX+GXLyWlt3BkfI7uAWdhKrvRoMbbq63BW4HsP5hZlbcLoWB2+PzNrNB5R2pMda2V1FeR3bxCKN5Q9Yobe1Yo91FwHFygKKho22gNs8xkbaRrwRWyW0U17mZ4BC0cUTZize0ksI2RmMVrkEAbhWjSIp66FmMyMzXNwxKry4r3AoKjmw5uKHeiEkD8NA8h8reaOGDPYyzzUcMcccN24azy0KxALGUydsBNK0aCgMgc1A320Bd15TaBYxj7a6lkiLNDeZ2+mzd3A778rS2ua46ylSlFkEbuBQ8gdEhmbvJX+Qm793cTzTMKGe5laeYrTajyMQiEdKdPTRQ4jFAWICkkNTjVioqG61Len46DgklhkimQgvFKsqcgGAkjIZWZCKHpX9mg+k46WA5MZ3xW8zl/l3ZGusVNZSTRqlz7LpMvkAyW724ZjxYFiTQgJx2BDJkMtg8ml1FAgW0jucb9ndpLcWk1mZmNxZiOdhI2PSdTwAYFGFQRTQOpMr4dnlRbu0ucBkpmRSIUlvMc7sQGlHZBuaGuymNvhy9dB22xvht/bZeHELl5L/G24uo3uLYBprVXit5p4o4JJVkjinlBZWEbCIkgmh0NMZPbSRSMkiNCwJqjKa1/q8SAevrQjQClPdQhRXfrWhHU0rUfHbc6CoIwNVfg31pIhNUlQ1jcMAGVuSih9DoPrUU8OZSG5WiQebWDYnKJWJI7XzPGLys5WQh1hGVK8ANuaz1J66HJFcrJkcJayTCRr7x1k8dyUThQ32heaXBXDlVHGi9y2apJLovT1HLF1it3l7tvHdqyslGkmi4PWqyxNE61YU+lwysNiPXQbk3l5I0PksHlVlaRR2tqrY22u2sL49iMRTY37CBI4Y3QBirce2ykEEnQ7XyZTx2a3sLnya78n8lmuA0jIpENlYwB+PbSKR447qVGPudDXkKVGhQGbLARZG/S7vDDjLMySQJZRJcT3+wa3S1BLRjlC4aRpfajAgn4BRNaYlILPK+M31/b3ZuJbSVgDjryK/jWOeMdiKSSPsyIw40ehZTWmgfSxY/yCUW1zkYovKPtB91YxxDsZLIWsRWS5sL4CO171/bxKzowWsyniaGugzcMf2sM98ksL9pexbDnKks8t37UlgVWjkVoIzVmNVVm4nc6Cu/K2pis4bj7mK2RZGYKgjN/coVmIZS3MxICC1RU9VBGhsuU3SXEORx0r2+UtZUmgeEUaVk+kqDWs38JDVWRSVNdBspIrPM2E93HanHT271zOPMTRt49kJgK5G3t2Cynx7KseU0e5tZTzFVJIA3AX32S2+HyriwyWKmvIIILplg++xOR4XERsJZmitbi6xWVgSWGN5FWSJmVPcdBor7we1vJILzx/JtZXkDmS2hkllt7q3mI5N9pc0D8OL9Cjr6ciOokLdZDyuwi+18qwFj5Nj0FBNcwRRXFBQHhcxxz2ckpUV3WMsfUaASxufECSuJz/kHg1w5bnZ3Usn6exkrVY1na4tARQ8SkikaJ2I/R8xj7CWwj80x6eMzhpLiaWe3l4QTMXmjjuXZ7s/dMGDKkjVLegJ0ULb5fD2MMUuJ8XvM1YRHsTZfJkWiXKghXhtVlt5Laoc8qHgWehY10IFwnxDPtPHjrbI4fLxRSXDYydeIkVKs8sUTSSRXCISGcQyK4WrBSAdBmmEcORsbXJxyOn3cNvNCzrbyyJNKABFPSMCORpBVutC1DXfQa26yrWU/2uW8Ht4LfpiHtZo5pbmdWAhxjzyW9RNcoOZCe5UqSvU6HYK7h8qyNpKctNaePYGF3M0aFcVjI04h+D8Sb/JHuLx4AKHf13poJQY7HW1hIbTCWwx5h4/8AUnmIjxuJCyAiOWwwzf3iUzRE8HYJKSQamu4YfHv/ANP5tY7i5u54rqNbaW/kgZILuOR1bGXlol12rh7TmhUuarUe3bQb/L4WPN2NqiIYby0uYjcXEf5iTY69dYpb1EZuRWwm4Boy3GOI16baDMG68LwoP29jP5DeRsyG5yZ+2xkcyEL7LUhFkWtae2tPXfQENlPM89G/6bY31rj1jAW3xMAx9rxi3JhmuDA7PUbkFgeg0LMN2MtMryQWUrFC3eeCKW/urcrUMk0gRoYJl68QA1NB9Lwl34PYRLcW1o97kVhTle5eSKaWSSiFjavL3VBWQlQqRcgRT56B5e23ivlRU31u2NvxyEcpEdtdGJqLE5ubeN7GdXNKJICV9WXQfPvIfAr7BJ9/D28pi4XWWdG/u9yIeSlkMKswlBFQXhdqCpoNAwt/LDYW0TYPB+PYKFlqLp5FuXcVJoeZ77n2gH2sajroF+Ny2NzGSnuPJrvL5Tt9oWcNuHWKa4lduQCNKjQwRiiqKrUt6Abjhto/JTxGM8ZssXjqIqfbO8Mc0M0jM35jyxjHgLGvvEil/UMTSoZzKZa5WVYrrKYzO5AOD27Cxmu+be+sdxO329tKLao7bIE7Z3qTobJVyEb38i5dpYVeELdLBcpdXdVPGwiu5JT2o0E0hqfdIqmvroWII7n7DKxSypzjbg0sQAIli4mG5iWpUGQKCVrtyofTQX53HJEwythyuLKVeTSKjBpLbnwS6cEnjKj+yZP4JBXowOgSAqwDDdTuCPXf0+FBqK9U/I9DvvSvU/P/AFaqOGR15lXdeaNE9GZeaNQtGwUgGN6Cqn2mm+go+Ck+o9x9G6io9QB/TqEqiNgfkep2LdR+0/DVVXyYBkVnAfjVAx4SBd15rty4kkgnp6aIky8YUlEnL3lANw0bKAw3pQhuVBv6aCK17lGbgDs5I3DCpAp1oG2NNB0ApK1G7nOtGAIBINQVJoHJqRttvoJInBZobgSxsIw8aBQa8vctRsUXkak/DQq4gZE7xDkrIql0k27ZHuU034tt8joCWfhNGiFFglHIOqRmTia7OzCrMD8fT56CoIrGaJiKpvEShA361Hodx19dBStXCRojNMZAqIgdpZCTTgqqCSSfQaDcYzwHP3/GS5jXE2znvL90GkuI4yD7/tUNUQD+KVo+mh4f/pfguDBlvb39XvkchoQBdLzQAsq2sTxWSITtWSWUV9NDtxvMrG5E2NjxcNtjJbKe3iSRYADcOlIe/FFDHbx2yPv7EMnKh5aHBeZZB41jw0k0cf6cpiEcXGN3AkVY5Lgbq7TUZa7V220EMXg/1t7SG6yNvjrW0xqPPczEGQcJHdRCre2rsffKfaorUE6B/Z+IeK315HFBne+0ZZ7iOC+iWWWNAHlYNLZQkhPXhVgOg0M2UNjfAbydrC2ueF2ZXiid3vYEkYFhGi3XeuIy8wA4s0ZDE9BoMFFbpbZiOCMNLC5VovuFEcpBYqySpHyWS5icFKJtIelK6D6OOSGIwMH4cA8kcaotu5LRQ3M4A5zhlcrJy5lCaE00GKsmAzUdY45D2bpUEiM6K8krpzMMVO7xO4B9q0rSm2gjjTxucwvJeRt6pUL3GKxp3Ar04BeBJIHw20LuWtTh76ssxH3DUhaNTCvFrgGSNx7uZBAIP+7Qr+qZqt4/ZgkMAHpRlbYtbg+0HkJCQQSdyANCwrKOJji5B3ApSCJQwSdwiR3EbIpCxNJVtlqOVf4jsdRRUrRx+RwhwxBLRins6/bL+YIzRaA0JDChHWuqWV44Fb/Kj7jsAY+ROAkZBeApKGtVZCFlrQMEbY0rolhmMzE1nijCwknx6zt9/YI4RLotcTS8ieBbuRotRTYMoPUaAG8H6Pk7bL4+X7i0umjlduJjSeOanNJ0UAL9zG3bnSpAk9TyFBhRlEWxvLXMYx5EilCXUDPVJVUMRG7hCAWgkUxPQgMgBG2guv8Ast2MlbRdu1v0dpkRFjht7xSv3VvHGHbjEsjdyKu/B6DpoFZi4OVBoaqwJoeakb/Ko3AGgvCqqgryUkMxLEe0sAwCBfQDY776AwraCGGWCSfvOQlxbTw0WOQb9yC5WiyQP/UIDqa1JGg5Uq1Tuduu9TTatOtPgNtQTBrUAKPjxFN/mfj/AK9BE7fIfL/Ua9K6DlSdh+4D9vX46o8K1oOvx3oNv4a0/fqD3Gvrv8N6n9vQft1TBnicVfZifs2MamNXCT30oItLckiqq3/HuB6Rx8nPrxG+g2ck2B8IrFAhy2emjWM80rIXepMPOJ3WKJqg9iIb/wDEkOgz9jlba8y07eTwnK5ExwjH41pUix1t3A0gR5ArWySxxmihl7afNt9D1C98greXNymPhWwsClvLFBOIZvspSqtbyyxtwkZ16hFEcbUYLudApu0tcXeR5CxV7jD39uY3in4ySS2FxyjeF3PIJeWnLgwrVZFRx7SNQLZYWs5Sa9y2mET28tQBLDIOMVxsArEsDHKRTjMu4HLVPFm2hZ3cbGm/xNfwpQnUEJYkuI2hkPFSQyON2ikH0yKPWnqPUapNxWLuo5Q+IyMUZvYyFt7iWZokuV5qY7S5umY/bxb87acAmKXY+wkaDi293h7ySa3jW4jEr2tzazwjtztzPOyu7aQopZmBPaJVZCOcTHYANOMl4pl0SLLI1lceyFo7pJjLbqpFAmQgNvkRBAfpjmS5CAAK1NAWmO8ItPz5ss83Ee1vvLqVgn9VAllBOFK+gdD6V0C25zmKST/8k8EizhHW4ybwxRAq4CvGBIZIAGKg82Z5aioI0Ns72naX7m9lF1dcuaxqT9rA535e73XEor1O1dB5lkleOONHmuJ5UigiWpeaaVgqRrT+sevwFT00Mn+ftYcLjcfhoSs2RuC089zHO/Bri5DJK5tweHG3QNwZgaIAR1OgzfFY1CJ9EahF/BRSv4nUHP8Ab/p0OqPf7eh0R6n+m3/fXQ1d4UU/P2tU/AEkinTfUWcBasLB4TzK2WTMiVZQsYlqHCg+4KwKn0Ff2aonM3cicsPc5jFVQH6powAIx9fXceuhQzu4wMzEqd2Ur+nhqRTRzM/BjIvZdhKrKKjjyp8DTQW2kgObuJIp47cGeYRTtHHFEv5QVAYnkVImPQCp922hAbH0MGUaVDKFs5wrVZeDSXBq5oKEOOoJqD8tDpBFYYV6RKF+/tR9weKs3JK/bjfk6qRyodgdxoOXPH7PFUKVIv5G4H31Z6UmUkkOAKA9CtKaHAi4WM5KyjSFiEs7CJreR6mpqzBWSPkg35KOLMBStdCoiwEZzk5VrUxC5uyv3sLzWzBbc7SxgK54EVBpsd6aBfjmP6fkmq3FsdN7VWQg8pqV5L7EHD0bqv4aC0hP0iE/8X9RhUKInoI+3yq8xkMfvPRVUHapOiJ3karFh24xx939QL8Gq7FSAGkQVKs6EEEdfxGithCqixtpF/u6rDwBejmQMihlRVgVY2U/X9R5ChpU0DJ3KtH5GFMTwntxMY5F4sAYyQ7IXl4+zfiCaaHgy7Y/a3BFXBjZ5l3EYCnlUIBwKsg6f69Cy6xxF5e3+RfHxpNHJZRfaLJN9t94ptgga3+5hUXSJKCjxgBvhTroBIgLfN3kSpPGbdbCHt3DoJYpYIk7sTSqAgETVCnqQN99AowYV8lnWdFlZbHKNGXFaGjglq0UqvOvLqDSmgbg0jWu5Cr7j6bDr/a0VIEihNPiN9wOtTT10OHuQNSB8Af2fDRIRrX1IA+VD/T6baDpeg6b9afj8zoqtnHQevU0/wBuiPc6rT/V6jQq9U/GvyO1fw0WYcLV9PwO+iR/Eajky+op/wBlPiD/AEaKiXHQ+mw/3fv0SUWetKbahwhyHyp/t+NdDaBYfif9mqUcLU6Up/r+O+hRGpJqK9R/3fKuotLOGtPw9elB8/loPbD1/o/ePjoPV6Vr/p8NDHaIP47/AC0HeXQbmpACgVZmJ2VQKliT00PX1nw/wgloctmoyCpElnYN0TaqzXQ6NJ6hei+u/SpVZ5j5cay4PDOFChocheRUpGKUa0tWBpz41DuPp6DfoHzSKFSYkd/t4QVBm4NJ2YgfdL2098gT4aHbM5nIxGaS2tpRLBUB7hAyG4RCeHOOpEe2/HQLIVUgsGFPx/2emghdKoVCDUDrvXroF6EJMpPQNv8Agf8AZqLo4DlpuKqW2BHU9NwR8dVNPSyiGRX5AK+5Ap7W6H2jUAUvG6kBWppXfpWp/wB+hh4wrGpFKN6kmv7tF7BNUmnXff1OqkfXgeNAdqUI2Poa01CmxUUyiQSbAj93w1TGV0zRAFz7i5qoXcD4gj00KyH5BnJQbUBYfDQbDDVkiliFCFUOVam9epX5HQNPsbT7Y3Mc6fcrcLA9lF3I7nhL/LniaNgzgkdADTQM8f45nZ1dra3yqLLQO0l1JbCQDoWq6vJT4kaHRfe2c2NuWtbqPtXBAaSsvekcNsGaSrE/t1BsvHs7cy20uPEkUL2JUR9qNRM0Lj2uSRQn0qNUK/JVf7i0vJJZLguHtJmkbkEBqyUHpvorHxqtJLcuC7xyRcTUkNGSUIJG4p00ToM4LwsQzPIEWdS2xEkRo67fhoSqmKmOKfr2pAXFDtFOKEj4gHQdIVZYXkDEESWzFTwNfqhZviBodIFVEvIkr3lDgjYd6HYinxK6DT4O+gTG5ayTH28t0S7JdSgsyLKtSAOLAr8AKb6DKpVmaGT6CrR1ofarboD8AraF1oVpoeLElz+UxZqnvQ/QfiOSjQP7LFW15jL3KMrPBZ8RJB7gyT0FZA42qjenw0IKoRxjBHVyXP4HpXQpVPr8tRrTp36+miU/DHHSNbGW6UqpRCq9xSyMWBHHbYHfVQLioluchFHIVRWlaWQseC7MTSpOwJ0GiN7Z3OYks5MP98e6sKXMMyQzogADLxf8pkA/i20NGOT8Uwkx/u1zFBPyANu8iCZK9AatQsCeoI0C04nyjCmeOwupZrbgDJHOqzwyJToqy8z0/qkaGwzZm1LiLP4WeECPj3LE1WtPrNvN0HyB0FMWOwuRWNrK8EMkpYLF3BFJsTxDQT0Ukj+qdCgWfAZGIM8SpcRo5jNKxSAj04P7SfwbQoTSCSBuE8ckLD+GRCn7ifaw/A6F3AwOlFrKVdQrCt9XRE1lACp1IWVw21ZSPr3z1ClLvHVZlzRETv6b6rUW6QJrqNYdPQHROHuR0rB/5hKop/v0ZpKJNdKw1EUR1Fd1eAvgjtblWM17b2NAHkDwzlhyP5iQRAsHAA3p9TEV+IMmZucNaxBMdDkZ06ia5S2tRcMP45golm/LkNAqNTiKHroEl67S2sSt2g0UksgPF2mVZDX7buMaJBCfpUAVLE6FswDtYZrueGGN6PLLHCrkmqlzu4A3oiip+AGg+o5d4rC0FnaE8RGtqzRKnttIo4+/K8yq5kjdjST+IlunroF2EseMM800dwtvPA9ewsbO9msyJfGGEvGZntoZRVQVFX9aGgA527mluoMOxtUdJCk8ymNBE7OFt1muiyrKlrEqp+YSsS8gPiQaRZjjcRYZYYkwNnbs93j7d47FM1kEhMqtk7uM871JJgHZeSoYwFUKN9Blcjnr7OMrXskNtDBB2LS2tYEtbSNVrwtooYF7cce5IrWh6mtNA4wt1bXPi+UwWSMgjW8GQwdykfdFpfQov3Uc3KnbtLiIr0I35bciNBR4jdW8OdNhcITZeQ21xgrniyPFXIMFsZ4eaqEaG5WM8juu9KdNA9xVrNk8T5F4tkXmbI+PJPPjg9yH+2WzkMeQtrWAyBGVowWpU0OwIroWMjYy3mNt1so+NiVxjSR2cqzvJayQNcYfHW9uIfupr1lLNcc+UYlVjUBagaCX0oiuJpLvsTyYq3aC+lju0urW6y15E5ju7YxvHzK2jVJ4njIvE7gaD54ry5C6SFVDy3EiRopUmoX2qCo4khUBqNvx0GztzzzCNbxusOBit/t7Mycrme/KR28dpakRMk8iMwIiIoQSDtoNgJZfFsTYQPj45PMcgJxb2scTTvYW91PKXkjgT2G9uGXiAGIotdkU1Hj5PlLbI207pkIJreWQ1kM8cio5qaRpI6nkkRPWp5NUmugLtki+0sLFilvLk7le9eSPJ2Y7KJuKNLDFGxCwvVmYVkbcdKaDY42Lxm1KGyWPJTvcNawXmTtJ7sXFxCx5R4rxjHO13dChBEl3LEpY9DQ0A3I5CKGZDlr63iu7fitvFcJb5/OQmqfl2Pj1jx8XwjhfpEvelQfxE6CqVMmf/hCS3t/GoWCrH5F5hdy5HyKTjU1x1nLza2lkQe1Le3Siigam+g8cXjcdXLXwe7mkYyrnvNC0EFywcFpcR4ujyZXKycXBUTlE3FQBvoCXkvrowZGRVFurILHP+a0gt45GVKx+PeJWvKHkKDtlUlqF3I0Ad/cWEM4ur+e4yOUVKx5HyeLvugqyAYjxO1ftQRtswN48aKRuh0GKy2Xx8gEWOtZlZ5Fa7ubuZJbi/kVy5klitwtpZxggBYo6qqig0GdBrWtTzNTuaOetNvd66C6iSAV9jtXagEUhAIX3EN23od/4D600HOAQSRvGySjjQE8eIBHNyu/cjdT1FKdQToOEkk1VafSD6D1G42JA0VIsyqtQjKVaMkqAqg7H5hwNw3UHRHD05g126Cj0J9dtj8dxSug0+Eltb/HXGCvs+2CtEulv4GaFngu3dTHMJnth3nuIkCmNXLIfcF4k10O3M/m5cm0UMl0b/wCztobRL5kMcl0IHdVuZw0jkzzwhBIdySoqSd9BnEkeMxvG/beGSOaN0I7kU0bckdP4lIcdPTQaG58tzd1JbTxva466tDIy3eLgSxmmecKJpJTDRJO6FFVI4daKKnQOYvN/vAsPk2ItMulFBv7VUsMqntoGqi/bzsoPRkWteuhhcuEwGcYHxzNRrdMCRisxSyvVOwaOOdv7tckE+jnavw0GcyODymIuVgvbKSGYEMFlTnHIpaimN1/LkiJFOvy0NGXjTNJ+reN3FIlzlubnGyFxAbfO4stcWRilLKIjKFaOlak8RoNC91HdXNjn5xFFZ+RWU2E8m4osVtj8kXS1e5mQOViFtlRDd8m93Gb9uhX9Z++8ZySTFGtqMwkVuTwxKHjcxzKC0oKskiGgpuKEbEaBU3i+VAYiyuXG1eEPNutQSYiwpXoaaFRdllPI/H7eWygWNIHeZolu7VZJLOWZRHNLYyTxl7Vp1ADcaVIr130UzwGBydLfyE5HDY2KR7i2iXNywrb5FGrBeWq2kjKJ7cl+JFVIO4NRXROFGetszNeSw5CKC1mT+6R22Ntmt7eMxhWUiJWdnleOVWDEtIyyA8iCBoZaRcfdpjonz1lg/HZikCv5DkLub9TlhgVYI57PDITJHfSQxqrOVoyqaqDU6BezRI9vf4+G5bxzDlCl7kLMp+qZBhJGrRxuhRy7OOKNQcE9xBodBdg8PY5GD7zIveXE9xcXTjF4yOPvydvi811Ld3MyW1nZxluPKRtgD66A6byTG4g9jGx20MoUqbPx9Ir6+DAKGGQ8nvIpY1Ysu62sLca7PoMlc5/Jpk0zlvaWVrNEJIriITXF9LkLORVE0GYe6lmOQjaMcWJ4so6AcVoH0F8/jZcTjrycW11gboC0hsb/ABUeWXEyRxkz4+4uopY8gslpSsJ4s0lseQUlTUCsfbYa5jMnj2TurBaKTDibmPyHFJvzkeXx7JRnJWi8wCQkSEA7H10GktcvnLTmJbC18gtkXnJN47eKl5HHXYT+P5aXuxSEndYpz8lG4Aqof/ojyGRreVI7HIsKSWN1G2IyalgdvsrxY0nYHeqBxX1OgzOa/wAulx8El/iLeLISxsk32XYWC7miVwZI7cpWKWVogaBQrH0FaDQNbm/zdm4e9fx/D4K9tmtVYcoDYyGGX9FMzs8trfWdzMeMoC9pY3YPxK6BdkPDMkUtcphpD3IDFeWE+OmjeazZgpaKDk3C7thyZac3V46AVFagLc+QX9yhw/l/iiZtGCxQvjbeS1yQIbZ1tJPzYmT0aJ0Wv46BpF9xZRxyGV/Ho60t7/ye8l8i8nWSZFUxYzCxzSw2crxjiD75SrfTuBoCxbP9xbvMsl7eqG7F/wCQg5TPJLNGZUkxXjFqi2eLSNo+Qkn7RUU5ggaAcXVvd3R+x+7y+YhloZIUgz+St3EhqDe3Kr4h49UgBu33OIqACdBjvKMal2iZO9ne5+zEdreQ4hr/AD17Hb3AaZHv/IruNcUksM5FI1SOONWIWpIOgY+JXl01pPDlonmkxzT2M0QkMVw8DRKs1sTbyUuJIVdSH68iK1G+gFur+z8XaNo8NBf5MDjL5BlRI9uT7zaC2iaMVmktQrHiF5EEAECuh6pE3nXlKlYUyD2j9wjmoxGL4tVyHoEuLiKtAARQjqdDoTjfJ8l4oYMDcW1qf08kXsXNXWV5nMzzWV3auogeklG5VqQKkUpoGV3i/EvJZZZsfdtiMlKWleR4TBaXEhUtymjYpCjEihkHaZmBI5dSGav8P5RggRLFPd2YHdW5smluIOLhuTGVFFzCrKSTyDIwNSx0AxyjXlhFYxTXEQ+5ila0RpXtGSMms6MtLa2jtohSgPInqaaDMQ467y85ixmPe6lB4u9rE5jA5uI3lIURwlkoKkgFt/jodNRZ/wCXvkMUYnuZsbioqcj99erHIKHmCeAKo4IrsTodiZ7XAW7/APwt5Dd524PEm0wkYMTtSrA390REaVArGC3p+BYGW8nhuRU2cD5TxmUloluGnjkjl60aeeNZO29dm5LxFeo0QqPimQ8fvY8jzTIYuSWLuX1qrzNGjPVDLHELovHMwoJoi61BBIPQMpmE5yo6DdZrlECkq+7i4RV5DkGIJAqK/HQHYXNrBG9neBp7GUk9vkoNncleAuo0cMhV19kqH2yxnidwpASzHj9zjCLq1i7thPCLpUhl+4CQ/wAVzaupY3FmCaH/AIkP0yAfUQQBlf3KQRtQ1FTXenX46CJOxpQkEH8K9K1r6aCs0oajetASegH0mnxNa1+GgHlYVNDuev7Nv2A6CJ2ofWmxJ+PxG/TQyhy2C9RUmg367e0fLQ0lUsVp1UEEGlV4jckmg9P6NBOVAkcfBzIrDuMnuHBzsGVa1DAVr6aC5lkH29wxQiYtHzWQVUod1kA3RipqKjcb6CaflSXVsu4kjPZ9vvLgVUUNaMyGlN+mgjKsJtkMbM0kUinudvhG4IFKofeoUgj5kfCmg0vi/iV/5VdyGAm1x0J/vl66kojGjNbW4NFluCN6EhUXdiNqjDenLeKeKf3Lx6xbMZGsiPeJyHORTxHdvChuJlBHSARxfM9dCGYuLvPeTTmGaW5uhzP/AMFYaPlBBzbdZ5VKWFtQjcyuz/E10Q1i8HuhCZb5sZhrUoKzyzff3IQ9aXU8ltj42HqFLkHoDotWbTE4aTMtZW+VuHtY+PbumEZMt3JVIUMoCIImuFFCFqQdA5jlE3i9vCGZXSwuHmUwvIpKzzpxqpAjKtvUAgaGisSEGwkFSpgt7c9VYgySGWMlfap9wZuoIFOmhkuEUq39pMIWW0AhQTiFkgeWR3ElblV7byuSRXkTUU9NARJjskxtboWF02OtjPNJKYG+3X84SNKQOLsoFBy9B600MAcnJ2Mksq8VXu3KHkKRKDIkqggcyqKr/E0oN9tBpoMrLLaS3cVryX7lI+KyoyS3M68C27cGilCb0C1ProX0SWr8M5axKYppFAiuoElZonkmkaRrYmIjvpCAORFQHNN9BOw92UyUbOyiS0L/AEcizrGeCMOLKF5fGm9KaDmPDNj8zEAlFug7BuHJebFQYejkENRhUgddtBQpMnjqDeiNITsisHEcX8sAgMhWOteJIbY9dCi/IsDbYmVDxkXtg8ZeXFzNcRpuG4w8S1aALQk7aHYidnizOPlhdpWlWLgGHJpHeO2kVJCrICvNCT0JA+J0E7QyrnMisUKSh7K6ElVctFGWuVaSJVYFWTYVNSAeh0FFrxXH3B4xHs5GNHPN+8Y3eQkGKhjEZRiOVa8tjoLMPNHcJc+NZAs8SyTLjyGUGK4/ggJfinZvEC1ZjVHVSPhoO2NO3dYTIPIjIk8+Nd058w4PONo6Hh92I/UUSRT0roA8PLawzz4nIFltchEBbycqfbXfvFlO6V/NWOcduRaiq7+mg4Y2R5bSUBbi0kaNhXlR42aKVEcMRKImFA1aEb6Hjg3VVFNj8wSpapp6e1eg676CQ5FVfoHryG7UNKLQbbU/799BeAaMK8EH8Q9zV6cajYVp0HT5nQSpSgH0j0r8fl1FRoOEGvT8BQj9w1B4KdxWnx60Hyr6aCR4opJ5E1CpxTmzyOeMaRx7szORQUBYn01RtMX4iBbSZPyaYYywiQMbN2ZJGDV4i+nj9ySNt/doj3WrRivTQOFy0mSU47BXNr4xh7eEQx5O8tHt5roM59tggEaQW3JfceQJJozFjTQfNpaY68uYA6y3C8hNfSEd0qCSyA8mihiKkN+WaEGh3BGgc4nxW9zrR3UloltZlai+uRLFNcRgUU2sCyQSyRry2ldo4h8T00A+bxqYS6lxIIktY+EVxGI1jlRryISxySvHJKk0N2h9kvIMJF4sAQCQTYtxDM+FvJY1tbhjLa3E4Uwo7Lxjlfm6JHDOFEc52KkBj0GgutIw3ew1x2xKSz4ueaRVRJeR+5sZH3hdb5VCCpCCUK1d9RQsRIHB6hxUgMPeVDFCJRtxmjZeLr6MPgRqovA+X9Hr+HqaaivH4/07V6dDTQ7Qmt1mCcy0E0dDDPQFkr0WRCPzYWHp+Oqhxa5sqEsc/GgR4mgtctEI34J7axyrIhiyFttvBPuK+xlNNQObjAxTwrPjrq1vIOEa8pEOQx68yeKSkpLlsISRXjIs8CE07oGqEk2JurSsj4CIopNbizgiyUCnryZrKS4CD/xqugAkvQfbJNw479tqwhQelIiEA/doC7KwyGTINjaTSx1Aa6lUwWUYNPdJdShY+NDWi8mPoDoNvHa4nwi1fI5C5hu848RW2UiiwdwbLBaPSaCF+jSPSaWnFQoJ0VgLie6vbqfKZAsby7r24mAU20DUJ5IoCxyzAD2gDgu3x0IDH/Snr8v36g5609f9KD9mqjx3O1D0Ap6j5aD2gmicyQKE0H1NxWm5LMenEU0EUgZsZmbkSWnEXNohRzIb4vyT3wADtLCxPvY7mlBodqKUMKEqVa4t19wJUVlWvIBlLKKb7g00Dr7dZfIxbNcWaf3q1T7mRLyWxVUtDIpkBMV26sWALMRUnc00BOLPPO5CaSfFyFFyDFrqW6x9lcqkaxlLXtQvJGwRPargADqSeoKrGQR4zKOGKu9uoWg4nhM7LJ7jVOJBAKMPdsQQRoUWS27LhLebtOI2yCwvLxjWOvb7iIWE3eZwU2rHx+DemgjftWLEW4ZT2bGQsgRI+20slSS6e9+asCOTbelNBezpeZmzWzE0sUYsoLcGCGCcmPlIzNHHLIsj8wWLFuTDrvoO4/uDI38odopo3yUgMQWSIEKyyRlnZW4MpIDCtD1FDoWBWCgYjKkqCfsIhuzKU5XC/mqdopGJPEr9VDUCldC6+eNkw1oWT2z5MFXoQeKQ0KB+fErUE7Lt6n00Eb2YvJh0KsO3BNI4KLGebHttRAiMoYICOVSTvU10BC313DBIsv21zHbWzy27lGVmRZAO28USIscy1rUnem2gotlmnumyVx2wzKojSMsygcQtWdulR+NNB9Glxnj8MFnHPerPPdARF4MhYQqQyHmht7kCVrc1ILsysdAsHj1zjzFb4nyrIWyHj9tb/bwXARJpjGvZNnkJGYq25ITkF30IZu3ggs7q4hN6t45nf7m7ZJe49ykhSWOeK5jjlSRWqCP6TXQIcCndl8kqGdf0u65NGwLRqJo3VqNSqs1K1p+/Q8OeY36fP4H49dDMvcgwIHwpX5fPRUWbiRStfUAig0lEe4TsWFOo6dfXQQ5MSRQj4Halfh+3Ql4NQ9d69PQ/D8NB7kKnbem4/D/WRobeqPgDTr/sPz0LolqdD0PqOtPU9NCyPOjVBNfl/p00Lf4gW9etab+nwp8dCjhPy2/H99fw0HNid6ilKAU6/wCrUXp4kdRsaUH+2lOo0RGopt19fh/t0V0kg1233+Ow6b6J4iSx2G9evx/7hodOVApX9mhp7kT67H5f6vhqonFFLPLHb28bzTzMEiijBd3Ymg29B8SdhqNas+0eK+DR47t5HLcJr4APHEaGGyNK+2uzyj1Y9PTVQv8ALfNDJ3cRg5uKLyivcjERWg2aCxcGlfR5B06L8dEfMRxjVAWCc2ISo6hd3apNGKjc71ropBlcsHuJYLF3WJwFkctVm4rxIU7cIz8P36DPdtSfqCk+p9dCiUKA091Byo1NwB8aeu2gnMEQMC4cD6RXc/Db00UvJLGvqTqKL79xCIyp4FQQHG7EHqDXRMhuRdquSxJJJJ9ToTaLL0kZdlp/26rMLWmBFGXcdTX10UKr8XDKKn/WDvqLfa+fiyqQPdvX0/ZqpUJQ9PXUas7uu1euiWlbCaH+jVhJy0WGlIlVfQuwr+IrSvw20JaFL25xd/FfWna7hR4SJohIoP1I6qaMrqehGgOuM3lrxVe9yt5IrAERwy/awg/AJDx6HQ2HFs/Brj7e5KGhknkSRga9OU8ldvhvoLcXcC1ysfJxFDdxmN3Y78490UH1LjQavKql1irgxIpaMCaMbhw8bctt6liBoMI8yl1lESATCOYGlGVo/bIFP9pTvoBX/KuHULWPn3gd6dqbZx+AbQeoWRoJG5CLlbDahMMnvgNfXidAKncmiKPy7lOAYkEia3+np8QNBIl3hSYBeYpcRgb+5DxmjI9KgHbQXWdy9tkYbiBwkVyO25JogB3HP0A9NB27jWO7lKhZFMpjLKSF/N9yMCP6raCoR/nIHlMKyNxc05BbmIe2vSncHroHNyt7iYJLEXM0P6n25bq1AHZeMgFZUem/MChpoA6gbDoABTptqLT9c/0A/wBBormhyY3yyQYu2ga3EfefvfdRynuPEf4WQVX2/vGqz4VLbm5hmCse9ar3JOLhHeD+GaIVHNlp7hoScYm/s0F1bZSzku5biD+73VtIIpSEFUdK0KyoetDoB7eKLLE2qX1tZuo2++YxPOwP0h/pLn8eug21uZvE7dIu7Lcz3ih4ppZpJLEIu7RKrF1Bp8OugVDyS3yOSH3+G+5iQqaY9e8V4/U7wP8AzEp10CTLmyzOXYWcC29r7IYg6C3KMB75GVd0IbpoPQzZe0unsMZeu8cW8sVwy3EEvEe4++tBT4U0B65+zkt7i2v8W5dGol1A4lgBH1K0EoJ6/A6AeLE43Kdo2FwlvPKjN2e52eLLX2mG56lh04nQ2XzYTIwIJAqSoeRUE9qRgp4kokmzivqDTQ2TyF0bjKjxN/VdSv7idj+/RbQmvHqOuiTVMHUWJd0Vw6MzLmqjhFdBGm/y/wBP9ei1s9Tj+B20K17cIoflosTVz/bqK5oPaDtKaXLKbSS2SFFNla3d097FIt7PM5DRMgEVrFal4lRVkLM55c5aKvtFa1lTkTjoSq20yyTP9wGaB5o0jrMVT7iDtmK1MkVW4QvJwOxbrQEcrojOkTTOg9lJgBVQaglAxp8v36DX+IWdJZr1qc46wW5bhxWSRKzSHur2W7cRAIYilTTfQE5SVr/JmCCJiytHEYYgsvcuiGJit1txykiJ3HLk9T1ptqKdulvDbrPfqrW9tay1soY5UdftpCiCW9Vght77ISsWIJ7ix0FBqphmMdO0C32eeR/uebRWfJe5Iyy17lwDKrwSpCo7ZH1gtUdKaGnvFZLe5y8uNvpe5a56C5xpkJ4sl1MvcsZyGXmVS6RVoCPq+GxBbj8Rd5G/kx0Yjha3ErXc17cLa2lnDHSOW4upnBSBO5x9CzMQAK6HpzlbG7gwNtLbraXeItrqewfL2G8d7clu9I11yK3AAlPGNpETmtKVFCRZmrK2mu7q2toJCj17neHJkto4S00lweKlx2lUtt67aDex5m6Hk0nlkEUAlNxBYvaLG5TLFII7XJzpGEVE7kfJiRUCSv7Q0OMuYb+2y+Pw90YRYZO8tcJII3E9kFmnzWClDOGKrCyX9sASC6zKhG5qCbJ4W5XH+T2TXcctzgslBklbhCi3eMyyB2uYpI6yNznUMyHkqkilDoVZjCxR2lvfZqZyjrFLbYxDEskc89UW5Mkj8UhjRWASRW5CQ0poNfh7EWuHjzOUmnksre7+5NlHJ23yWbRXKQmVislvDaIE5SA1CAlQQCNDDO4zJ3N9m7ofqi2N9kbe6htsvdSNyjvbjgXkNxQG0e8hTspIOPbj4gcQToY6G309+llD49lr22zErXUF5E0d4chPi7eIObm3uLpSysk4VHKh27QJ3qSNAmkufuZL/Klu0yNFjcYirH2lDgx1EnIOogiFVNCSOp0PV8jJj47i7t6xxWUDYuzZLhJJfv5o0OQKyRrFLwCyEI+zAEgEiui8oQZ/I4HF2dtjVsrO5nWS5myMdnH+rMkz+0feSqzxIwUqFQD2jrvogfFZHIwTXWZN2zX8iizt8hdHvz28t2yh5o5LoSIZe3yBJPOMbgitdCctf+sYexlnyEYk+7jl7D5vKpHnfIr+5iRG7lnBcv8ApWJhB2Ep7zDoFIU6EMtf+UT3EsklrzhmZSHyEs819lbhdgIZcrLSSGOm4SBYY19BoMu8ksrOxflz5MVG9S9QxctVmY/Emvr10NuBQRtsRTdaUpWjAf1iPidtB2pT2haMDsT123HQ03r6aHadeRAWm4qQGpxZRRtj8K7fHQTSb2lJASiAcfpZkJO/aJGy/FTVT8B10KOlGjVmjKuCCvLiQyqeoaM/RJTY16joToIKRQgsoU0BNA/GQfQx69QaN8q/DQdqfcrArtQHoVcHZVKjYHQ0iY6LyYAqTx9y/Sw60PVT8elRoOjoiqOJFSWO59KU+CgemgtHIg8SQCakNSrA+oNN+ui8IDj7TQ8RQN/EQB1AUgHY7/HQumaMOPsBFfXdqmprTf8ACvpojpiA+tRINjXlQj4HkOlB8dRW78cyPmDtFjsbKMvbSflDFZWP7617dfzGYyfm2kKVrXmo32rqpp9Ri8EtsgYbm/s1wt3BcR3LQ4i6FxxuoWUwXNvdSwxmBdqmNlcgAUOg2JwGMX7g/Z2yJd3bX96siiW3ubowvC88kEh7XIxMfTj6kEgHQCXWJwNzPJJcvZSXEpHJ5BbM5kt0UIZGZWJ7MSgAEgcdtEKD41iFmkktRjgoKmS2M72lXBAVpHj7j8HdRT4oxoTXcoo4BIoXTt3DRzySFlb/AOEqRuw7cIV2YdkNViTuAQNgNhZjf+gLDt39bSTKVad7Oxubn9LnszNxc24kIuYuFY6o60dQWFGFCAWy39xhbe3s855NHgr9rK0SRMJgvubj7KJRBj/vcwqymSRYl27YU8QNydtAguMhhrG9mfGYW68hySyshzHkcslwk81B3JoMe3GRi0j1USMWoa8ammgLucf5bmViuvJcjDjLAOrW8N/NFjLBSkQKGCxHbnuCBT2pGSxPWp0LFOQhgSK0x1uZgbh+yWmBsEu7JmUrezQSIjw/eSkUMvvCLv6aBgcDhma4xtjnra8ytvavIuNsLS4RJ5rUPLfpBcSKIrrs26F04tykoaDpoM9ZYy+vrkW1lbT3U/QpDC5PE0HckJAWNCGrViop10OzWOCHxaVrHJ3+Pu8XnSlvlcdZXSXN7hZ4HElllA0JaET2U3uAViCtVIO1Ad5NPFI72bH5rB3mLksXhWLyDBTG4SeO5Tv215IEiDcbtCWQoJOG69VNQcWmPy9wBN475Rh/MLRBVLPNe/JW6p9AS6SSLI28gA9XjB9RoKrjPywg2HmGFu7eEO5pk7P/AKkxXJwAGjuCI8ramo9rLJcAemiDrIWdzEYvHc3e2UDhVFrjrxPJsaqgnnzwt/2s9j467ERKtF6EbHRVljbTWSuLbDW15Arc53wcq5WOOQSFXNx4x5C8eUsWepDrb3BY9aE9QlazYBriSLE3d745knJM1jjHayEkhP8Ax/Fs3FHE23pbxux392+hNTZ7rNxidr7Nma2t0eOSS1xH/Tx4EKVkvstmZza2LctmW3VnK7gA0oC62uElMl1hbRpLaSUte5ZZWwmPk5P75bzyjJI+czABVataxxo1BQgU0QFdW9jDbSPkJbQWzRoXhnafAeOXHBUckW6GXyLyuWJwSncLxs5PErXRSW58j7sMcVnay3VrGGSL7+L9G8ZhUFnEdl49Yust8kfIcRdSych1HSgKLy8zl1CU/X8g0ptpYVhjZLWwaCVOJtBYW8cdslvKoCAEEqAAOmhQs8HyDRZC4sZmYC4RpIlC0Au4lKS14gcawfVTei6De5q4usXE1/bYtLnnb29ul23bu7S1uYbjuwLcQxlll4W8zCA7itKnamgVfp3mGaiFxmssMTi5R3C+RvI7WEx0O0OPtmj5LQ+0EitfXQux+bxuPgksRhczJlrgSrbSstsLS0hmnkpCsEzcBI7yAmQtyHHcmm2hQyvfFvJ8RHFc3FiLqFlWc3WIKXghZaNWa1C0kCnfkg46ArDeb5GwLqZ2vbYbSWrO8YiepDu8MiGWEyb8lX2E77aDUpdeH+RK73lnHY3M0ZVprF5oOe5rJMLekicSDRZEn5VqNtEDx+FZ7FStN4rnSmOvFWS5Msv2bwiIM6SSzQxTQ3KRKxqv5cgr9I30Ce4svG43WfyHyi6zt21P7viudwNixMYurhpGClvhSgO2ipDyKPFoz4bx3F4mJjWO9yhE96xAHFh9ywbkQDyopXfr66JwGabCeRyOLyO38dzUrViurVWOMv2Y+zvxkMIuZbeQsYgvR1O2il88vkniQmhS4ntrWUsDPacZ8XdNIojDl3R0Vij7cwyE9GOgaW7+J5O3gtstZpjryaLurkoJbhrSa44Di7TBGu7SQj3EcJIgd+h0CfMeC5GyH3uJmTJ2rlzG8DRPM4ozMoMLNa3tEFT2yH+KaBbhs7cY1zamPnCZ45rrFz8oWM0W3csrigmtbjtilVKyU2PNfboNDJg8J5G7S4a4Fnk25O9hIIoLlpKiqtZgw296wBrztzHJ15Qkmugyd949m8c7rcWMkoQ8WltVeRNq0LQlVuYyKbhkGgQuRUqfax+pJAUZSp6cWoa6Csr1PWh9NwSR9NfiF0Fe6ilRRqgjrtXqfUGuggCQSRsSeoO/p8PhoeJq4owZeRNSprQAmn1Ag1O3WuhVwclVip/st1qAx+mlakN/ToJjm6cVrReXIFiaAD3vuKr7evw0HkkZHSZWPIEFmGxNNiT6gMNvTRWp8X8Zn8lyUsTSC2x1swucpeueIihPJu2rsQollUECp4qAWPTROW48j8niNu/j3jZgscBaQBLu8hV1EkII5AN7X7MjbUAL3DGpJBA0F1h49h8Jio8z5Qzww3QU2eJG9zOKcle/VWRppCtGaMssEIIVuTbaCMvmORmgFv47iIMTZItEu7oQ8UWn82KPtRW0JAGxWMn56LljL66bJ3FL3K5DPZBgVjtsfC9wAQNlBJNEB6hBolUl8P8AIWgN4cdLDwHc+37kYu+CpzYdhWZ1oBUh+LFeg1CTjGMpwVtbTV74iyVowVgrdyOacLE7LV4m9x2Ox2HrqnrOSCS5x2PkjMjSCaeJljV3fnDMjgFI1Zm5qRUKCQNBs08j8rmtzZ2mMgiVwiILbDTo6rGOQWMSWiRR7ry5EcuXQjQEm6/zDMY9ksKdntlha2qsIkU17jO6sjkE1JIJ0HzbKc1m+2nWdZoGka578fZZ7i4ozcYwzhYkRRQ8jyFTXQMcRxbE3asOMkdxbyxMZOPt75jkWOMrV2VqE+72D00Cawcx5OKY9sOLglCyB0Dxz7dyJfRvgfafXQaK3Ji8iuYuQja4iniqxHb37qSCTk0asKNQU3+FemgHxnISZm3JAUKLniwNVZO03cQ8gFcAkHY7HQuhYqZMJkIKkGGcsooBUlJ4yFJNegHpt+3Qhy7PdwtmyhT2ju6qy96XuwSsXZ1oZEElKjag+GgIyTDuYa4TtHjHaEq9vJBCH4SKVcSSyNJGTH7nBUU6AaE4XFo4/JoW4hopmljNWZBxleoblGWKr+d7aH4CughbsiQZy0JfmTBcrv7B250ZjKKV2DcR1qSNBo7PwuERXHkHldzPh7HtqIbK3dP1OaQIoR5lKyCBiwHFKFq/VxHUClsf+qZI3hdFy6yQhpWZ4Xkx4XstkbdBIsdEgjH3e5V5KBKHQwOv7zDYK0fx/F28fkGSuqq91OkVxChlA5C1U8o4UjfdgCI1PuZmbQswss33ts16FiivLCUw5CMPV7kgmJLwAIFJAXtPT6tjQb6Ac0NHU0UqWqeigGhUA/xCpp6k6HO1iEbPJQigB3qT7T7iD8K7VoBoJhwaCpFACAp9oGwFdwKkD4V1BxDttUfh1qd6g9SNBcCQPq6/w/Uw+Z39tf36AnH2N9m7s2eNiD9kqbu6lZ1srJSdu/KAWeV6e2Naux+G+qRw+gWmNxXi/JYIrjyHyedZPt47UxyzxKNuSx25dcbZbVZufdfoSBoFeQyUF2rZHI301xl7KI3FpjPsmj8atLiIgHHycuRup4pFo9W2lHqF0CfJZ/I5lI7wXtlcPikLSsiJGRHcsgmK2kdRcpE1BJxFOKqxWo0CJmjAtstHaR3Qx1xHcZSCSRCJTG7M1Y2NJLVmIY+2nHjsanQbS68nlz0HbdYreyuVVxawzhmlkQt/i5SgJKgBhEwKAlSBTcDbL5qFRDG7yMJe2beGISKzyW4fmiSMr+xo5NgiqKH0pTQJJYBd2/bDR/cwnnCQytSag5wORWizUoa9GodC4znFl8WJGZY8jZMIrxJNpZYwBFbXCIacRDx7U6oAB7WOhtVO4vYP1IOoyEcghyFsqKhUhVjgvQA3b+3uAO1L/EJFDeug8jh15DpuD/WHHYg/ChGoqYodjt+ArtoUonyHAxgI4JBUleMiEdQr1rwPqvSu+2g6rmjIwSSM/WkipIjDpRkcEH8euiU+JWvcs5Fnxl9NjJUqVRec1svPZ+3R0uIA46hSRqlmgtvJvIIZI3ubPHZkxg8Z+SrfcVPUXAazvtvgXfrTQ7OI/OnVR3fG755akn8+6dBT+qZxdH1391NAHe+Z526qLDHQ4itf73eStJcIGFPyWmeV4wB6RotfloMkVCzNdXMst9fu5ka4uVK9uR92eC3epViT/MerH5aCtmZiSSSSST8anrUn46i0Q+froku7Af2j/QvQkfNj/RqiOiOnbRUgG4sOi1HI7fhQ+vT0GhZOSiYiBe7V7+/M32/Chii7jFJWc0LdxY9uopoO2ERlyNivoLnvMaREKsCNJzbvERdtWoWLGgGoozFr9xmbiUzorCXITrPsLdmioivLJQCKFqe1uPHlQEUOqnarGdtrfM3UsgUfbTunPg7ySs7utY+ayl6gNyXYetemgqVXTAvylHG4vYI1tyatyjQK8oUgACmxIqfiBtoJXpkFjiIXkmZSbqcRyKO3DybYwvyYsjDqtF4n030Ft7HJJkcfaqYrgx2lnDAlm6zIe5KG7amorISKsrUIO2gMMv3Xk13cXAWXjKxIuYYmWtrbFVEsIMMLENuBU7jep0CywZRa5aZpVSlnclUE8du79yRqdtHRlljJPujTixHQ0Gg4lI8FdgiXnLPYxKRCWh9lDIvfDUjkp1BAJHTQ6X3oC2mFRYlXum6uRL20SaUAmLjI6RqZOJ6Esx6DbpoeKcnIXvrYNyDQ2EXdB4Ec3O5VkZ1YHiPhTpQaD0jKMdlSlxMlIbWPsoB2LjuSUZZG5B1kiO/QqV6iu+oDLGpt0Kqz/liIRKNpWY8VQlCHQuTswqQdU6A3SpNk+F3aiVbazZmt45jcB6yFneOaNgWnkUHcUo3oOmhtXY2UN/fcYPvRbII4LSWFlS7HGsrszExxO0SELI/0g700DCzEqX2TFZHdLiZG7rr3gyRvyEpHcjeR6VahIPUHQIMXbPJaZS+7Ye3VoLaiXapIs81xG0Uz23IST26cSCKFeVPhoG3OtRTrXcHr+w10Ea/LYUO1d/26Jw6H3Fa03Kt8D6hvkfQ6i7RJI3+e/wA9Uh7/AEH4nQeLgAGmxPGoqTU+pH8IHx0L/wCvchua9P6ToIVYkUO1D7RtWm9Q2orvJuu3yr1Ip6+lTonr3I7bbetfidUp+u0aladKtX0p+HUah4iTUdab+4evz/YdBEmvToDSg9PmdURVidvh/T86aiu8h09fn6/7qaDpJKgE77Up6U9PnojlaetP9vy0ESK02/2aqYMcTib/ADN0Lawg7gBAnuHqtvbKT9UknQt8EFWOivuOD8axXi1rLfXMqd2ONnushcEJ7BQkKCSIoh6KNyfidD1hPJ/M583zsMX3LbEmqyz7pcX4r0ABDwWp+H1OOtBtoYYnjFFG3uVSq1IG6oP6xXqwA0GZzOThMj22NuJbiDgBJcSxdtpGIHLtx1PbWuw6Ejrocs2CdqmhG/z/AKdDpFmLGp1GoTR5FFFO2iIMGrVq1PqdFimlkMLzMFjBLVFKb0+ZpokycHFqaIZmaUrWg3Ffh8ANUVPhplgM3cQkPw7VffWvw1CoBopENGRgR8tVmip6jY1B+B0WK1MIIIVt+47fnN0Ufwr8dQyEm4iirQ8anl+3p19dU2rkZSVZRTbcaioMB1BqfXQiycR360INR/u1YJMrWRkmVjWoZWB6Co3FPTRG0kImVOaiQFVda+nwPIb1Ghy0FllcPj4Y5IfHDLeqKNPeXMb2wcdJE+pqHrQKDoG0kXl3kts6ukdrjn4utvGiWsbqPcgDyAzyIafIHQYmVZRziVFa5trgMAeNUlt396q261IFPhoNNJ5HCiqVtH7kiBWikURoWpxata1APWnpoWZe4iAhV3QERyGXih2RGY80U9Sqqf6NANdKq8JCeSx0icrX+TNujfPiSNDsO5IaNwF/MU20hYlaMvuiYbfUabV0FL1EyutR3/co9BcRbOjV/rroL46B3UcuTEXFvGqNJzLHjPCAtabmugj2vtZpYJYXFDzMUsZB7EnrRqFWjY7aDpClDGefJD2pmp7e2TW3mB9CDtoQkT3lrKKNUQTkfwTJ/Jn+A5j9+gbDNNfm0Ocie6WwJtOdmiJOFNAGdDtLyQehGgZxYvDZJueKyqKhbibeY9q5ifqA8FwUNK7e076GAl7g8jZtvD3loaNGKFgP4gjdR8wTqKWRQyPMsXbkRyeRDxuKKNyTUDbQlzIt3bvuQAxpGoRELVhlddpFI6Dn/r1UCAH8u4iIU8m7W9e24+u3lHXi3pocI1R+haM8uS7e63mHX/4gn9lNAZb202RmEUFtHLOzKk9qRVSzbC6jbcrGfWnTUGx/6LktYVlyWbTGxIvIQtL3olFKlUWdwP3DVFX/AFDjMUtxbYuyhyU7xCJclbRNbISVK1lRgasp3qpodQ5Z7HQD+83U7BTDG8hLAkPK9TT5HfVF9nD9tiLzKzKa3DmC3KOtQxJFGQ0NCdDhE28SQY20dyrSv3rriqkhaluStvXr0OhcNNbW+SyvYiLPbxigdyUZVQbsCtKb6imWLa4mnmE2Y+2xuPRxHHOgu4yFrRVV91B9ab+g1RV+rRZCcNkLAQWcZYSz2kYkjkjAIVjbyVKk9TQ7aIqjxuIykyx4m7AZi1F5dlxToGgnoKn5HRQM+GyNuZV4LKIW4uAwSQGu1EY0avxB0QrLlDwlVo3B3WQFT8+ux0LJh1Pr/t0Skug10HdEe0HOuivemgrIpp43E1eppQdpq0+pVwsF2JFfgfT9mk8JarJsXZqBGCj6Y/cVAA+fX8dQylSZUr9Kbjam1eo+O+grVTI4UAsWIAFd2JIAFT6sxA/bqLp9Yiigw2NCzChitz3EdWCPdpG8k0a9sMDJ3KDcEim5oaaqEeOtpvt2vJJY7bkwtEuZpxCkD3BZ5pIzTuGO3Wq812V/aSK6DmcvDcKMbGgjnuZIuR5SIbmCLtxWMctqxZYJo9yFBp7idhTQLM4zwfZ4ZAkaWMX58QA5C5cF5FmaPksszODUgfAHpXQJYbgwNbT2qyW93BKJknVgaTRyLJavDRaxujjcVNTQ6D6fkP0i8y3/AFHLAZsDk7Kym8isbSaSK5tMxdJMkkUYqpe7t50M3BmAK79Sugy1/kcXZ2Vzi8Fc5SeDINHLf/qgSETPDJWFDZxF4kWJQPzOQkZq1oKaHqGO52mMnuIIJfvsxKtjZMrR8ftzMEMKRmI3DmWdSeUZClY+JJJI0DiaVMbYXHC4un/R1GPx0yKLa2nFzV8nE8I5uLlZnBB5lGUudnoNB7B4y4itlkWe9s7y7ltDWKKSCA3aTC+jt7+UuRbC2ijjkieRApLEVoCSPR9j5Az5q5ur0NNjbHAz4C9btq97PC9vILZTNHGsUt5HdxqvdIWo+kEnQAy4y/vZ7LxyxhkKWEcNzeEwlDZ28XbEtzdBEJYvLKZD7SSaDQVeUZeCaWGytJZJcbaRRQQhhSKbivGS5SHijx/qDxhyGHNY1Ar7joM7AGtMZdXUjQmTIgQRRuqPM0avykuEVlrAnJSEkU1YVXYaDlm62OOu51VPu7wrZWxaNjJAjEm4MEtQiFkbi3VqH0B0NXMEEVmsfejjnjsrJ55Asjon6ncJ+RF7Y25vbRuDQinI/VoPS233FxY43uLB2bf7/ImU9xFm4iWXtAVaVnDA9sFgCxoQK0E/wjyVz93eSyRr20LcI05FxHGtFVQ7b0NK79K6B5FM2OEEZIIsreWd46q0TXN1F21VlYNGwETgE0oxIpuK6KGycNwkUMItpIxaRJ9y3GR1e9lUPNIzSICKxkAVqASQCRohEAF9pVlPSn4jYr8/loOycQx4qVXbmjAtwalD7q8m3FfhvoPGqHiQUYEVp6Aio69QVP8AToJEKVqTXkTQbmgXrX5MenrtoIbbGm4IPxFa7GhpSmgtqoDUA5GjBya+1ieSlKcQfn1FNDlwO8bKQ55UG5HIMp3KMrijivUNoUEDsyAk8InJC8kqYWB9BGfzIWU77cl9NtDaBSU0HGrhSpqB7kUji4Zjw9vTr00HgNmBYAkf2Xqw6CtPT410HW4hVZlLVJ2JUUYAAjYMRXqPloZw9tQN2QFINDWqkrtVSaEsD1p10FvcUe6kgBoAyhClSOjgoG41+B0EVBkbYszVHFid/wCrxI6dfWtPjoVbTxbxW4zkxcM1vYwOgub6VAI12r2oEpymuD6CtANzoPuavgvErGBQptY52YRDgZLu9KgFprmVELLEhk5MzURFNdhoMzkPLLu/tngtz+lu4jKcJ5o7lJqsogkuoUdQ6vGeXt4slPctdhJF+oXsjxtNfXsgJRoplupHmaMR+55o2jkiS2iuCeZdRVSyNUUOg88oavEgKT27iJYJSFDDkUQzBYecYf2U484mA6iugoXtR+9ZHWaVHh4z8wTCrf3WOR2eaM9yaMpSQqSy0G1NCeTexy17a3BNrduILYGOW2Vhc8e4CHk/I5W7pFIlav8AQppWvt0GttPKIZaRZCAVJULNA0Jfuooc84kmkCylVLrxPIqCAKimhRo57Kxy1u6zCC+tLmF4WPtkDwyLXiJASGAYhh/VYAihGiPmeYjn8SAVpZ4bOQPDZXeLsRkPIMrOYg1y1/lb5Ht8ZOztWscbM4Usu60BXzO+8lv2kY2NlHjZuRD39zNJlM2/u/iyl6ZJYatuRCsQroM1M09x3fuJpppp3LPczTPJK6k8ipDcv+L7ia1Og0TZ+aWGIW+Ix+LyUcsMj56xaSKfuQrRZbe25mKzkuAPzRGAsnQgCo0Fs/kHkF/HJb3eameN2V5WsoILCe9MaqI/vLi3SFpu2qADly6aAXH+O3WYD2+Px8stEq0yAFY/UPLcSskMY5GpBYfhoYa7CoJXGAyvbyuQwEUhtRZXCXFpm8FLEJZcSL3Y9zF3JEkb1LQhXRTUUI2bw32KnZYTbeI3Ekb/AN1gtor/AMZuu7Ee0f0TySYm2yKoR7HV4jNQnYEaB82TurBxbTZS4tI2Ij/TfO7DuWU7bFha+T2Qa3cL0Bka4NDWmhQvv8J41ehLrLeO3uCkdTImZwjjI4oe6kcy3eNEjxBm3Bkgip6nQUfoXkXAXGCzuL8uslFI48kY57yFKDgiZGOeO+hbalBOtCNxoB7nyMxIMf5dhL22jHM8cpZL5JjObFgZEuWEGUtwppxKvOVHSugg1/4hBCt3G2MnMXFLMT5PI+TRWfFG4vj8BdmKS1fkdu/2kjIADU0IT7vk+fMV9Z2a2FtGpT9azklvJJHG5VJZbWGREx+MXoV7ULSUP1nbQM7TxzCRLJdT43NeU3ZZknyFw4S4kRFq9zjIb67t7i9hjfo8Ybmd0JFAQpkwGMykrR4bLpHdIWY4XJxy2V+hCe+MQXKxzgrSnLgVHxI0Ks1d4y+xr0yFlcW4Wqh3RJYyPdxKz+6GhqOR6g9NBhbxpMRmor+2HA80u1AVgp5jhcKvKgdWqSP4WBHUaHD7Pj5kyOKdoLsRpkbOVrSaVUtUjv4yZbS4e34P27c3KlCOPEq5pUHQYCDFpkI1v8/5Lb2lrGEjCzStf5BAIlaOCG1JZLaNYwAtFegFDQ9AS+RLgoRbSYS4yjm3lAa5yMoVLhnooNnZcQU7YFSwABHpvoen/jr+ajHtk8Klw9jG7GWFJ4LmO4MPtdkx08hkZQNjxCk+ldAylznjuc5W/lOCfG30blWyeNikgnt5QtAJ4yFu4qmv1c136euh2+e3M/2d0ycJWiZg9vOOEV72Hq8H3KIi21xKFpuyKT1B0DK0yk9yHtob+5P3D1kSF7xbmSrcpOVjAJfubmWtA7MwHy0Glh8WzMkBurm4x/ieMY0ia7EUWRnWtFd15iSKvwLAj4aBZkfA8r2jfY+9tvILZiVM1vKplYr/AA8u7LExJ9C6n5aDGGO+tGNvOjR8GANjd8o5ACHbnDG4WRAAp96bEkda6DW4Dye5s4ntRBDlbCUcZMTfDuMsVWLrbAU4K5JqY1YE9UroJZCSxuYorixiuxZmOS3NvdyQytYzwl57W1hlRY5DFFUqrvSQrsemgU4ryO6xzl7O6a2WVR3rW5/PsLpaiqyhlaN+nWROQH8egeX9/a+WQdj9LZs4XCwyY2MSq0aRkCrc5CqtJu6lzGAPaV9Qyt3Y5bDywW+Vs5ImZawu8iCRFWrAR3cTvQgCvF6+lBodn2P8yy1r21hyq3ccYpDbZuBbnt1XpHcOs3AKNhxMY+Wg0I8rS5i45LxGxv46e2SzkqPWpRZBfVBcdaAEaFFJzfhrDnd+FTxHavZhgWJmIoeHO0jaobpTroB88PGJoLexsfHLrFZKWYJIl1bwQyoJIw8bRTW01aRgh25JxK7Gh0OXytxR2WteDOgI6HixWo+PTRLuV6DqQCP2dd/jT00KvLWtF6kfvA366C0I5Loiu7BWY8BzagXlJVlqOKKCSfhoqcJZgI1RnZnRUWMiru5IjUAKWZi+g+qZDn47hbfxuz5Je3qw3OUmBVzdXlyORgTgA6Q2qpRqmjJsRvoEWISzky8VrNMiY/DhslkJ5VMi3l/DQwpKiVkljWYgBFqTQgCtNAfHaZrynJz3fZOSeNwnckL2+NiIJ7KHuc2htoVH5cKq0jblhXfQ20r+HYy0KXHmGeEjcBImMt5Gs4GGw7cNtH3slckk7eyMnQE2PkEKMcV4X4yFnoxklvFix0CCFlEjzRrKtxIU5gEyzE1I9vpodMvmH8huMhNa5LyLGwzW1u11DbW96La07zFV+xtIrULHLdzCTjX4V5HQTwvbS0ljHYM/6lkMfNJAERZ3bjIhZuSvJUyECpr6A6HRPjsleYm3S4x/CO9t8pcWzmSJJIjBNFEXjaJ0JpNw4vTcAaBtc+eZyRHVcjZW1eSlbOxJkUAUCCR4lYBSNiG0UsTyzyR5FNplspcSw1kl7cTvBFFHR5JLhC8o7dB7uS8SOuicg82i3l3DJLKttJdXkKxc46Rw2d6veaRkRuxb29uzFkQGpBPTQu2UfjeCx0awf9ST3OOu443uWt7eQlbmJy8N1blEaH3xhkKtXjWoY9NBjvI7LFY/KwNhu89p3ULNLI00csjDudyIyqkijkGV1JK1FQd9BVfC2lzNnIqiSwvVilXhytuUBkSUMArTtbtG9ehelKaHgmypH5BdW6cWW5hmiVncrz9sqIyIRQvJxUAdfhvtoB8YgrmYGSVpKCVSjeyMLKkkjTIQTLxRiAdgK6D0NJvH5IT2+drcSowoTMQ0RSMtRVjMKmKgBJbfQD3EbnCW1wA3bFy5VjKkg7nchldAFAeFe3LUKxPrQ01FHZKYJeYnIvHRWW0aaOOZVWakag0aA/lhng2FeQPXfVRrVtsXiJo8zb5CDI5W5d7k41E+6xMNlMT2GvZOKTJLCpDEsTVwK0+rUORcWJyvkVxNlfIb2KzxttOY+VB2fcFdRYW71SQSKw4OQYyTUB2G1GevpLKeU47xqG4tsdAxEtzdTSXBhc1ErRPJV0+4G/ZU05e409A5i7G5yM0ll43aoxRljvsvPy+1gbqe7N7muZvVYo6gVrQgV0BuUxeC8YiS2tLufLZ6470Vy4kWVZTNy5qlmoeOKbm2x5MYiKsT00PWdWP7REidgXRaycfeFkPuYA9CEY0qfx0MqACegIG1R1I93t5fFNtz00FwG3TpvXelKU5U293w1BIEghVFSehHWlBvvXRXgbT7yxtr2ea2sriR2vLq3AeaO3hXk6QKakSzyUTlQ8a131UfQv8AqrE49LLE+OKcRYOvdkystkZXjgaOpezt3q0t1OagySlmJ3Pt0AykY65ZPHrjyRIJke6zISxiGXtJ4SWtbm4jmjiT7CZyVaKqIRVgaV0Ci4vcHKJLfIy3d7eZbuTyzm4FtYYm9umPblNpDxSaQVDOzsqcjsOugz1w2Swt9DfANBPZSmwnkQQoSChJD8F4nnGx4yEcZY2BBJGhpO3u7fEZCG+s44sjYPCC8F/AHjntnBEkc9t7leTHychsSCoDDpoDbi0W0uVOG7UtjkkheGGa55wW9/IW520REKBpIiwKRA8grAcmHQNda+I2WIRMn5Xec5WakVnGC6FwCwijhj3n29FIjp1Y9NAj8ruLW5mt5bKxFtHHGGStrHHLFEntCS3FoqxPaX5YBEYExsopxJI0GQllkt5osvbKhIZPvImQPG6sOHckiPtaORTwkB2rQ6A644W7x5OzSY2N5E8N0lAoe2lIWe17gjCGWBSFZlG/tYaAeeNLSdTFI8tnPGZbe4dGHej5BVLUqElgJ7UprSoDGldDa0DpQ+n+g/DUXXCVTSm/zrvT9h0KOVr1p0qT0PX8N9VHiB8P6f8AfvTUWEgfjSm239HTRMO9xxUKxA+AJ3/DRUSX2INN61H1V+IJ6aqdvV5HkxZn9XZixP8A8U9SaD4nQRNK7V/bqLw4KE+tN6kegHX8dCXOv7fT1HQClPgNVHafL8ev+g1Fs9xPxCj4t/sHVifloiJ5sphhHOWZljiIry7shEaAKKU9z76oYZcRpe2llFGUXHWirKHXi7XHFYWd1ooHJlJAA6b+p0HcTyS4ur4KOOPspH5SWkt3EktweAEqR0REaOMgs+y1BIpoqvFAw2eQvmijcQWwCmSEyhZ5ucgBkV0eBeDD3KTVqBhxOiIrHJBgJnpJwu7mK25GP8omPgXRZaUMjPUlTQjjUeugjfQpFaYhleMyTJcSOsUscjV7hYGWNVV45qsq0blVRsSNtCtxWQgYZGxsSqgxWtpCFhdW4iZlYhJSQe7Qn6wpU7EbaLbawP8Ae+QyS8Kok4VIuwJiyWcLErLBbtGZC7isjRksKlhWmiDbfE5KCwyPkd5ZJHZXUNy9mXdXZpLmWkMvYZhLHA42RySxNDShroE8aGPx28ZxSOea1t4W7XPuz9wFyXEgMPaXkN1IatOu+g7dAR4ewiV3rdX00ssfc5R0g2RuKuVVqjoQGPwO2ht2+QC8sbYQiFoLONJVkSSF3muHHumjuCnacq39kHap9dAdawQzeUdi+iLwQSQwTQK6I0628JcQ80VYwzMBUbVFfd66ENXnIcHlrT7axX9H4ShZGt7JO26RPyjF3aQMZlmD1AYEuQdxTQY3FgZST9OtI3gaSRoIy0xLjkCr3K3AWNo+KDkp41AFCK6DTf8ARZxsjSS5XlcPGC08+OvILaOJOIqJ4knSNQW3LheRNdBTd+PZWMcrC6xtxLAxLm3v4JKAoRNbvBK6SmGaNt6KSOo0LszDE9jBdBm5XHbnnuC6iiOyMFCwmjjt8qe7r10PAmOr+gzO5jJmzVsECqAQttDLI9SFAPw6/M6FHORJ2H+8fHQhHlT5Cp/0/doPVrXc0Ip/p8NQd3B3JrSh9a/6DQdJ/b86n/s0XTlaHrUbbfP13/DRHiafE122H+v0A0V30B/fvWh/3aDvL40NPXRKOgk9dwOlTvX/AFao4CelTt039Ph8wdRZpl0g/I/7/nv10RWSBUEVNaft+GgjWm9P9P8AboQlWgqadK0GiuVrv6aqX24WVRvsP6ST6D1roWw2nj/hOQzLxz3gksbDZuLDjeXKH+orD+7ow/iYciOg0V9WubrAeE41UKxxe0m2soQpuruRaA8EJq7EkcpGNB1J0ZfHfIPI8ln3aa6BgsYTzgx0b/kIK0DzP7RcT0PU+0egGi6LJi+LlH3kiWMkYSRPcjzLzj7kbIIWdJFOwqDtXcaDF5fLyX7r24vt40DA0NZJWY1eSR6Aty+GwGhapHyNNSq/+YdG+5/7KU0SbWgVBbtOCaGgruOgPz/ZqmHWQQtxetf9OmhZZFatdtSMMwG7U9ANOzGDqzj+xkZlQHkvE1G4HxAI9NA7sGUzNIltUkFWMgBLbE1RfQj92gbW9jHJFPwiDyF+QDbMtfQV366DK3/GCZlaLjIj0Kmh+G5+WgQ5G3mSWOR1HGYAoV6UPoeoB0MPUooRvhTQkG6gNxA+X46IutoA3NjTbah6gajTrQ0qeH4U2rqgYAqQShG9On+nTRByv9Ksx4gg041qPWp6jQavHyma1VVABiJTl6FTuprodD5nsjBbxqLpL5ZmS6ZyrWbRMpaJ4qbq3yPz0O0GvcldkQXl3dzRQqY4QZpFijH8DIEK1FAKVrSmi8Flk88byxylve7BJDvzkQ0dSSaliN99EGXXIxCQ7tCeVN68ejAdfx0PREDrPApO4KlSD8OhBr120MAhQhraTlVCbeQnpwPut3r8R00EGBljAPtlYdlzUki5g/luelC6jbQqHlHfhKqSZG/NUE+5LiP+Yo6U5Aai9OwXFxa/bX1u351pILmEkcg6A0liYH6qb1Gqh55BJLkuzmC8UizJGZBbjiIlKgFaHc1+Hx1FJdlAY0ZY1CSn/wAy2Y+19upiO+qlf1I8UlHKQrDJxhnYgkcT/IuKDqB6nQ9cZDHOyu4CygQTSdAsq7wzj4K3x0EZBSQtIqe/+73XIbK3/CuARuBX1+GhwZ2eXyWIZRHdzdhCIri1uD91AqMfbLEs1SsZ+RGg0P8A1pdQfdJcYezdmiaLv27soVXWiSmFg9E3r7TqLDGUeAMZeZWQ85lBqKPulxER6Cu4GqjkkZBqa1ZQ5Kbdxf4ZkpsSB1Ghw8pIPIUZyKEfwzKPx3DjUU3srK7nR8hh7iVLuxXlJDGSJuy2zlSP6h6qRvqpkAZmu3aW/mmu7hWIL3MrSgfJQxoF/DQMrSzvL9lix9pJLU05KpSEV9TJxC/uroXM81iLjC2VvazTo1zkHDOkRoAopVWB6hSeugFvre0+5x1hYyPN2kWe69xMQcUJrGfaW0DH9DvvJL2WbFS2cMMMaRB4wUJZRRlkhBqp2/A6GQ/38njttf4m9w0Ut/KGRL1JaKAy0DsjKXFK1HE76hwQwI01olvaUuLqeQI8SEcwSaAH5E+uqCcrjr3DwQWd5xSWb83tqwfj/wDFCm39GhdRf8YrO0szFCrtSRpowolavQCRaMDU9DvodJd2+s1Sytr4yLOFeVLpe4I+ntJYFxQdCDothJytovZtbjGrJ2po+9cxA3EMsYI5q0Ug5KSK9DoiN/a4vI5CUYd44YyiskS0hZWA94aKQjmK9CKaHpZNjb62fgUWY8eQEZ4uV+IVjv8AsOgCElDxYFWrSjgqduo36nQosDA+uiUeJ+B1SIc/D9h+HpTRXq12OlClLw7Tbb99aaFbvdBtvX+knpT476Jl9AjnwWBwcUGSxhvcleIzpwCh25bgmRto1WtNRXw9HKVFATtSpIpTfpUAg6i+L1/NAMjMQrbgkDkzbDgPgtN/U6qdNBgLQXuUtSYwLW3DzqCoo3bbihmI+nuTDavw0PGlzt3MkqW0clBdFXlVnjo1uhItxX2mBS5FXBowqGNBTQSjte1xh7yrHGkqNNM7gRrGvfv5rWNBKFtbtgIWYAxzN71INSAGtMLm7+W58rmxcv6cI5LiNpYu81zCtEQ2trVriSJAQ3c49sKK8t9Bg5pJLqaWcn3SPJICzEcQDsFYkliF0U8wUMX3bZKWB5bDHA3DCRozEblU5WySq9UkAYVoB7gOnXRBGXvGjsktn7yXV5I15dq0jhWaXjSOWBlRYngiASgFQQaUB0PGftbaa9uobOJ0EtzOsShnAUVPud5GNFWNRsSToXbQTw96S7ilEKYO0hscXZlu9cXV5MiwhUdIxGv26SDuN7fzH23NdBSbSK4vrXGNKftrFPvcpP2JJquvu+lRE/ZuLuQKsbBHHOlRQHQPLqe4tbOeeVhG0sLLDcNFbm1ghaRlve3dLcvfR3auVCwnuVjPBTvXQL7GKCzggtVuWPcjGav52kAjniUK9vEbZWZGu7ec7AuwWhPUaC+J5bLHXF3cwr99ngk0PclZJLfGmRo4gqwyK3O57bK/MAcORoTQ6DD3JlubsRpylmMhYsKmSaaahYUqS21FUH0FNAbkuElza2NtXjbJb2iiUlT9w5UzilTxHfehB6AaC2+MUF9Y2U3aMGOaG2nZeTRCTvgXk7R1DAg7EVHID0B0KtXeYW5juLiz5xytB5PBa3UXeWKS8uL2FZsVLbW8gMdvA8FVjLOVk4hdBlmLwxZK4kVlupLhrVwiugthIjSTJRfYCIyRx2p030CJSYJopJIWZFdJmjBILxBgSAxBoCmwNDTQfQ7/AAMbQZiCC5mu1Nta+T4gRKpTJYmdDEyGCneSa0kMamhAWOpK1GgaWuS8gs7W2ur67sL/AMbexhx85huMfd3Fwz25jtTbN21vpcjatQMhZ2jVCGAGg+aTWV6Z2rZywl25BO2yoCfcVBatF5VoPQaFkTj7tzy7DAv7uIWlSTv7V/hUncDp8NAPJbXMXEzQSx1J3khkFKGh3IBIp+7RVJ9uxPw41HoRUfMbHQeB3ALAVB3K1+Y22IOiLo4mkU9soxVlHEOiOeX9hypahXciu/46Dw5LUO1FBNQRyTkBQq3qORFK+ldDbisAQVA2BFKVK1G5owIIodj10ElrsK8gu4DVr8DVSSpL/wBOgmCVLGkZQ0NJQFKciaEKaUBpuRUDQTJD0UqKk8dupYdGWTcGvQfAaDyk8Sa1pUE+gI+PEVU/iKV0VzkCGVuXNtlYNsGBB9+xDLxHy330Q9weHmy1/DaIGiEimR5GX2Q26VMsxqQSQFNFrUn00H2+6zGO8bxcdpZwmSSOIpZQmJRHcEdtHvb1uIEfdeh7jAB2AWoG4D55NPd3E0l3eOjZGZ6SSPK8TySANwCwSu8ds8NCoiDKAoov1VIXo6R8wbsLLGeBleY8eJpI33KR8n7dq5MYcowKuAxop0LLrSedn4FO0IzIkyH8u7RvZ3oxIhmjntmH1bx8SRsa10B7GvGSSS2WSKRkkjjZomVhyiWOVmEqwoFovFiFPKgpUHUAwd+yUMqSORG3bmW64gScVj5gSGZZBRhVwysGO1QDqjsiRspRnhEQuDAzSQmS3RZyBBDHKtHRTw2WrCb4daAesiyAqRbRxdv8t3tpQvdDpwjmhMYV1tO2G7TMJEUGhodA/wAZmJcXIWaJHM0qG8RI7hWkqrCSS2KxtCvbor8G40RtmPTQb8i3zOPBpLEk1HjYhUubaaN+UMygF1SWJ1DCtQehBBI0TD5Hn/EcfHcQPeZHGYi8vpJEW3lnEcN7cIyDv46P2m2inLgmFzxjkPENxodCr5tdY94JpIaEGKWSKVJU4NHLEzI6TAsVilR1IahK16E7aKbWXimRuYjdSJDY2SULX+SkFjacWNRSe54CQ/8AhDDbroWae0xGCx9ul3KBkoaqWyeUkbEePh6ez7dHjbKZgLJTaKMxmu5A30FEmctchILG2+7zNrH3Hlnhx09j4pioIS8r3IwWP/vOUEa7j7iTi9RUbU0GYy2ftopcfkMTkMrks1jJo5IspLDHj8VDbJz7mNscVFGipbOCOWygrUUodDbRXuayVvJHeWd7aXXj2SxX3+Kwl7jEvscVtnWG9wixqiLbT46duLycgDGyk1poCcNnrLIiayxS5PxnLG0upYsdHN+peN30sccks1s2NvlnigM0MTBRGsVaUDVoCMGuDGSvQ0x8elwoFwkJyfjGXjw0N5KoHAw4W/YY+87laksCGqKV3oSU5J45r4pJcYe6y0RZmt8lHP4R5ZG8lSnayNkzWd8SvFlIQRP8aaKayZnIY9O1kZruzhVYlMPluLS8x8ldmCeSYPu2p+RnQt8RoBo7vCi5E0OB8fXISOSj4WWPyKa7XtOwmtLLGW6MFcj67nsRL6tU6CGVzgtWX9Yu48enc7cWPt5bTM+SuwdQvYsYv/gXDBAN6LcyAAUYMK6DMHJeN3EjyZfxXKwtJJyGbtcvc5LNW5FFhkuWM33cMoAqVUui1oFpojRQ217lbfngPIsT5naQ1b9K8lgjOSteYCsVvoxFkLaYUFC6pQjroPHyKTE1tMpDmfGeXFRHmLd/JfHZNuIjivVYX0UTEdBJRR6bU0UDmLCw8ix81zBiLa/urWDuQ3niWQgvILiVd1tLvGSm3vrSGZRxJRZHStQTQAhnPEMrN95eY2GO4toAI7/D20ly92LCMO9bUyyFHMbF6lmQgU3Ck6Hi/L2OAGby97kLm4igZrfIw2dkouLy4bIhWuYYZQO3bCC8Eg4+1gu5qdAJeZvCw2U9jYeP2ePtLtGifJZZhc5N42osjW8Lq0veZQQD0UmtRSuorFY7JT2Zj7NxPbtFI72s0Nw0UsPE+3dXHIP049WO1CNVGsbEeTeWTxZAQXK+xlmzOSYYuBlYqY44yw7kkMR6ALQkmlNDCybCeN4d1OWyNz5JkDITcWuJmS3s4AtK/d30heaRq7UXfb0FNCp1jMrn7tFtvEfH7LFxUEb3NhaCYmnKizZG7UR1UNUtXlXQeuPE8nfs7Xuexd9m+1VLO7yDXciICBwfhNFHWMyV2DA16HQ0xbNnvFrrlOLvEzFuK3liS9lN1AUqCI2BFfbWpr9OhVpoPKrDKW/2/kmKt7+3AUC/xyIJkYLwLvbHgIZONDVDb8dzvobAXPhdhloZL3xfKx3PZTuPY3bGOaCNFqW5Gk0KRmo5sJEr/HocQTYZZpLXJ2EiRLPbnvFprikvfsjvBbRiTjcSOpJOzAjpoEdmbW0ytu17aC/topZXeyZjGlwRzeKGVxusZLDlTrT9mg+wp5hBbwIuJsLbHwiONzDY2sVuZFMREsE11OA6JBJuJYo+TAbb6DCZq+XNiVnklnmjtpO9I0r3UcUcSM1sJb2QLJc3Ub1HJgu2wFBobYMEcB0qfeSRvXoB/wCGuhRasksRBjllVtqFZCCDQe0bnpoN34oggF15LlC96mMZbXEW878o5cpKCdkcqjrbqSdjtueoGgX3V8/avMxcOJLm8aW1sKLxTi7EzTxJUhI2JJUdAgA9dBiun7/9K/Omoru9CaKoYevrxIPs/t11Uq57jVtz6k70FT1YjYDfQiHASK0qARQjfcHr03+O2iNX4jFb/rEd1cRmWHHRvdrGvHm8/wBFpwBdFLRzNy3NNt9FMLy9laTI5e5kMs8Je2tmcKK3cxq7BF9iiLkF2NNj8dAr8faeQ3VtAZFubhopGYGJWk7Je497TsiBCQT1JJ6A6FLD7LL31nK1jBkruytZ4RPKkVzJBG0hR1d5QjBiWeMBtxtqBrgrbyaSY3GDS+VruFRLkXgX3S1YSrFdzcWVT1olRSlSTqh7N4ZY2Sx3Xk3kq2U4MrNGGWS4Z5WEsvNXEl1M7UBAWJR61NdADPf4PFwEYPxz7ppFHeyvkcYYSxvIQslvbTEsI5lU0NR8hoBcLDG8mbjeEqiXNjeR2/1jlPE4eNeC9GdBxGwAFK6BWsbkZmAoIgl0lwyMCey0hlRWB5cqqxUEVIp10Geckc+TxrIWo6lghjqORASpNNwQwqPSmg2+A8uy2OsFtbbFWVxDGj26yLaTKJY2DJItxLDGVu1Yvy5sCTXfQZDKzGVkBrJOkplm4iUJAI4xFHbJ3ljlcRqalioABAFeug1eEeea2inlkhoZBDBJBzS4NuvW3uKCThylIWMleTKN6r0HYPyUHtxSo7P2I4AA0McDQrbTELG5iok8qoD+YBv676HRPdwC3tsNNHKOJJbujonceQMWdCQe21K/0jQH30hhz1ndFpB3aF5IzbyOwcIxesKfbMSrE0C0ANCAdBKGtp5Bc27yQ28VzbyJI8gHa7TRPGiuCSF5MFp1Ian46KqxgXuZq0Ke9ohcRKxlLgwyxzSKgUdojtuxJY7AVG+iaVWaJNhcjahIknguYiGIIleLhNbM/JvaI0lCcv7TAbaDlyWnwNnPxDG3d149khR2nSZEeWvCWQq7ch1A66Fxk0cyHHXtiSt1LaQXERoFZzAxhnt0Zh2pFQosiDcbfs0DTJZDJ30cS5u+ktrJGpBYxyI11cSuOJWKG2ULGZT6KD12poaObDxt57IXudZvH/H4l/KxqkpkLwfXS6KnuxCUb9pKzPvUjroO3vk8s8X6X4rBFisRbVhN8g7asqkAmNkCuzyAbxoSTX3udCWRM1vZsy23Oe5l2mvZirXEi16JT2xQj+qm3xroobuc27jVY8iApYL1qNttvhU/D4aItVY2CFWY8RSvsrsu5I2FSAP2aC0GtKEhACAWpXp/DTdt/QaCXpsNj16qzAdKkf7tABkLczW7FAO7F+ZHyAYkKQzqD/CSo9Nz09dATiX/AFuxONllIltVae0biJJDbqS88J5sCVsmPcjRQSVLqAaikOj/ABUfkt5C9riZPuGM9wMpafcdq4lEUKRiC6uG9v21xaE/bl2MZ3UUI1QybNY3AWP2GBw033t73ory7y8Vs0okMjK1rzPK0uIISOIc1jYAUBNToFWMy+Mtrl4vJoFmawhW3WFDFdxXUCIXtrcwzrwmWF2UxuAWjpTddtAzy+Kiubd88q4/ElDFLZ+P2cMc939lIQBdXscUqhWAYvIiIKRjeh0Ilk7fhPAMRNdLBBJcd6wnfnLFC6IS8DNGQysiuvFvVCpNKHQ9GY25uFe5sb43K39vKizRSsXeaFacon7ktGaLaSMilBWh6aCdzL90DirCN72eaZaCFaosiMWjqYqCSQDqu+3oDU6Dl7ir3DwxvexQLBKArRfdwy3KRzExhru3Q1SKVjwLKXVHIDEEjRSuyY280mHkMs1td0fHAyhUiu5aJFIyyHtFyqmGToSCDojkYMttd4pqlkZryxYy8e1Kh/vVuyuaFLmEUI296gmtNBG0l7sYIrVaruBWg2FfQGnXUOJE9N6mvxI/eN9F8c+XzrX8dtB2hIrTb49B/T1Gg9T4np8B/t6V0Hvp9BXqPn/2f0nQq9Rm6Kxp602r8ui6GHStNiwFPSvL+hRtom0Pb/aP7AoP7CSRqj1dvp3J6mu4r0pUDUHq79QPw2p89tzqjtR8OR+Lb/tp8fx0KI1qaE1NOp/1fLUD/A2lvcTT3t1Hbi2xEJubhrmRxBcO6ssNu8CKC2xJqHWh49a6oRNKlw893Hbx2iXcvKG2hDCK3tox24Yo+ZL8did/joGCqtvgric20Ms+Vu2tYLl5QZLWGMC3rDFFKsivNxk5dwFCu4+GhRG4Nvb4SBDDC13kbhp1mR5kmt7OIhFjkQS9qUSrHUcl6HbpqLhfko4Vt8Njo1uo7plN1dCaeRrUSTKFiNvaSxRNDLKZBXc77fPVRO9j+5zlpYq8/bs0trSNWVLowcfzpVit4ftuSgpXgWDCu7GgOg5adm6z91PzSSCN55la771sZxbQ7KAkkkiXLuSEUuelKnQ9CYvj2steyikaWN0y+8q3fu3CxKh5RmXtKByANQprSldAZn1nhscbZSm7aO3tIFYXBY2xvGUMTak1EhhjkpyqwAIC7DQIrqPtG1i3VlSCVlIdRR1knLnkQjkIEoQOm2+ge5GEi+wlg0HLhaQloITH+YZnpy58OTsybnmW6EVpqCfIT+TSHuW/btDFF3I44Tb8bSCpCpJzhk5Nsa8h+NANUUYKN7y/ubrZffdXRAhLQkE9ujdtfyIlViQVApSgHpoHFzGUjmuWVh2opGjHajcGsbFm5q6rHIYmqFUHgNzuQNBnfH4Xk78iiYmOB5T9vMlvLQLUgXEn8pSCeTKC4AqAdDxC1upJby8vmzF7ZMbiRYJjcORP294raUipZpOP1mig9aaAu3yWYurTIXM94l5Y3LTQT2t7bLdzPFJDMsc9vM0cpjkQR1rVAoFQTQ6GS8OI8VNLKWcyxJE0fNwf4acpGLFhRdtzoJIscGFwcKEFpjkMhItHqiu0dvEpZlXnsp3+Py0FFf8Au/16I916/wBP7tF296j1H+lNQSr6n02/HQe/D1/030VzRMu122O2xNfl/rportT1qDWmw6V+Y+J1UcPx6GtP2HUHlLDpUHcCm+xFD6dDoPD6hWpoRWnp/s6ap68RU1oRT8fX/fqL3lGh+dR1/wC3VTfLhGwqOnQfD/s1C8O/Hcf6fPVKGGNxORyzMLC2eSNTSS5YFbaMkgEc6fmMK7qlW0Iw+xeO+CWGN4Xl4wvbxRyE0qARQt1PYgYlY+PozVb8NEqpz3nljjRJY4NY729DGF7o1aytpDtu673Uqn+FTxB6n00V8ou57m6mlv8AIzyXdw4q8knudj/DHGg9sMS9Aq0AGgTX+UhhiVCEkAKsFjqR3VU1jkJJWSJSdx1Px0LsldXct1J3ZSPgqJsqqBsAK7ADQ4VIA5qz8R6k7/vGh2i0Y5U5qAf4zUA/j8NQiZTRK1WlSOjDcfv6b6pkRDOsQ7ZBTfcjoT8/26Er5D920URIC81XkKVoTTcnQaybHJYLjwvbi5ukUlyhPB0cgVkT4rXQu0l946lrEJYZxcE0KcVBLCm9KE6BHZ3EMWQ4XJkt1ClKld+5+3YD56EnTTQWxkmgk7xoa1J3B+Q6HQZOeLvXQunBMUlWavQUrTf10C3L3cAgjhhBJ5cgzb8fjx9QNAiE5YqW3I6/CmhNnpCGatQB/W+FdDLqOsVSp5sfWtBt8tQk0s76OrLLRQwFTxDMAP6mqQqnZZpS0SERCoFdq/MjRchUfi5WgqRxBr9Pxroh9iJQshiY+1gUBr7eY3FfhXQqbXAKtQP7JAI9yUAnU8oW9eW9V30GtgwNrawxXOdzNpYo8Yc20LCa5JK1VVVakV9aKdAgyi4iW4iOItrm3hSrTT3bEPdP0DJESWXb12roPWlubu5htRJDH9ywiEszFYl5Airnrv6fPQbm3weHxlvLa38v6lkirduSFSsS+38oBVbjyFN6mp0Hzi55By3Exnkba5jccSjV/LZgdwUbofgdCwaUlG7jADmBFMAfpuIt45BTryG2g9UBhIFNLg8oyCFEV0g9wYHqso9PjocIhhHyTieMjGe2oOj9Lm3PwDDcDQWQ3X20E9nKO7bTp3bOtKRtWrJXrVD6aCtFjjDK3Iy0EsJAqk0Dik8TfBkrUagnHHzUw+1xFGzRLT3TWrmrKG9WgPp6aDtFeN0k4l4kCsK0Nzan6JEr1ki9dUvRxB3UkD8GlgiCshNDd2pNFkT0Z4x19dBJC0tIZKSukR+3Z61uLYDeJm69yL09dD1WhNEhajMgItpG6yR/xWzn+Jl9K6DqvRBDJ/KrSB32Ns56wS7fy29K6FfiIPZ5QybRc6hurWkh+B9YH/doOmNeQDggD3ezqAf44/6yN6jQE8Lq1Iu7C5eN2Qqt1ASAyke6C5Toa9K6GOz3xi18ee3uMtnL2BAkxVLIuS/cT6iYQOUpdvpFDtoNDeeccU+38ex6W0QXiLy7QJT0DRW69f8A4o0+WhRl7ESXuQfIZCee77IMlzcsBII9iVCw1CiMfADbQvKOPl4Pk8khi5P3Y7dWjNJuRIpEn1Bvl10Xh2DHXONgW/kd7K7uGBVRLNBOUbfmBGQjj5Hpohc15O2QErxDJFSvMXMrc5an6FkNSK19dBrsnN47NYIf029wmYh4ukkITifU1mhNGWnxFRoEBxmazIS9+6GQ/wCDHNJMrFE5UUMV3U/iK6HZumM/6ZuobnyPGrkYJIiEe094gf4vFLxBND120GcGStUydzepFSGTuC1huAH7aH6Vk41C0HQ6BiuHktMRJnJp4GS5akMULcwhckAPQ7H/AFaBdxjtcO8klnA8t9JSO6aoliUeqeo+XpoTQPNGbWytJor+W4uJT/IuQSIQNwUcmpQ00FxvLdpIpMvZhIpV4OtoVk5UWgmVGPJW3330OwTWtpNIwsLqo3KxyUR+PoCj+tD6aAGrI/Bx60DD1I26Hcb6YXtdx+B30Sv3DgFfkR8tU8T1EGY6ya/vYbZXSOpLs8hoiqm+/wCJ0WE72O6yWSkiW4hdrTlBGvdBWke1U5GhqfhoMYmLvH4MsayArz4q4rx9RVuK8gfSu9dtCv0LL7ZOAieJ04r23qWDDqTUBuRPTQ2+heLxC0xlzeMEN1dzG2jMsohTjCKNC4MbAl2ZitAastDStdAJavNfZZ7m3MLTLwW2gnLSQo9SixL3C8cygMZGr7OKkHpoLM7JFa21vxEiVM1pYxSzT3CwYyDgJ0UuvGW3urhmZaEIu9FFdDA6NEtbvEeRr5JNaXdtZ2t3JbZayvbe/wC+nGNbKyVYo7S8xd2gKKyOsaxbNvoeMhcR3mfzF2cfj3nlubuWdLDHwSMkbSuXlMEcav2YAdzyIAG+g0cONOPmTDXLh1t41yeaS3o7WssJH9zuWKtG0tveGNG4lk4hqE12DIZG+lyF5NczPJKXkckvI0jH3HiGlckyMF6navTpoGOH/ulpf5Joy1IjY2zVIjeaQo8qMKUYlGVafAnoaHQaW2+ztIrct9zJFi7V8ldSq0katnrjk0BeGZiI0tQCGCEd2itTQ05h4bo2oya27TXd1fJeyF7a4aKL2yx2cDll+2uleNjJGvLlzANCVGgEuRaZDO29nEHONsP7zKJWRZJiiiSXmksgijmmkBBXlx/DpoGYaK6VY+axRZedrzJGDi0VrhrOjRQdsUWGbgaGMUHKQihIGgFyd1ElrdXLvAJ5pjZWkcaLCUVUDXN40AoOK2xSCM0PvLnYjcMxi4153V5J2ytrE8oR+RSWQ/y0PQOxY1pUbDRVuLcC4nv51WYW0M0nvYilwarFIKKQ7CV9gdt966JYtjWS9uliLAPcScGeRiavK9XdmUEkVr6HQbq1yN7JLkERZJ7eS0scfaTuOFxHN4+yzWuYka3KLe3OJAIP9dSOW2xEqLXK2eUvvIzlZRjbHLvFfrdRW0k8cWRtJWZQY4llnRL2GeUEqD7ioPyATJ4G3tIrO6xWQTK4+/aRYJVVouTwhEmhlgKi5triN5RVWA2ZSKg6EN54/wCC5+9tsa+Su58MuN74xVzZyyLmGtLlxK1o6Mwjht4zyZA3uAcggjbQ6fSrfxO0t3kub25S7uXjKvk5bLG2eSZKVdLi7treNLgPEKSF0LFRuTvoCTivHI2vJJI8a4ue0LlXjgeqdtTCgTixCNEg4cQKjcaBRJh/Fb0OlquDZ5YWESMkQViFVoJVbms6kGUVKVWRXBoSAdAHceIW9wncght5po2+2lktb428U0sY4uskEi3UNq1tKnF1VebA0IG+gVX/AIJhr9OKQyW1yjCC4dykQkmYKWuIZNormCFmKBVVQWHGteofNM14DlMbI5to5bqMKzhRGRMEjNHIVapKEBFShb6htoaYUoyHiwoRUiooQPiK9a/06CSGgYVA2A4kkltwaKtDy49fkNDtwfUaV5V9NiDvt0I3A29aaC08QQytsxpSQcaVXcsVJUqD+G2+hdwkK9CD7aGjmta05Lty5AdQR10HVKAkkOo9Ke9D8PQla/0aKtEhQh6nkK1rWoGw+ro6n92iPKATyAHVm2oK7FjsNgAo2poPpfj5jxGNluTFNNPPAb65MQRx2oxW2i7ckkYllaQcXXlz4uGAJGgE7jXs13l7iGObIXdTPwuOMNtbgdu3EfcVzGsLKE+oewgkBq6AspLCy28bKh4RB1DqWd45Iz27hXBXhHyPF3YiTiSCK00FzBBI7xtcd5oRGzrHbi4+19yRoA3taMOxdgvtKsK+0jQQiiPEM54GRYXijpHE0JkULKHkjV4pysy1FWAZTRanbQMI4zVxKrRpJLCnbUkiRZJeLoAQA8Tj6xIGKMfaR00FXsd+2DHEGR3jgeGUCMRNvI9xOUdYSF7da7im24oEiVEkjPIY0eK17geJ2ZuctXt2LiG3lghWhSIKrnkCpJqdB5XYlge4jSCVGuY5rl+RsaxKphl4CTiSHZj73qCK8ToGMLkMfb2I5VjiZUldADKV7YSFDKJeYBY+7l7uqjbQaLCZEY67CtH2obllBWZlVUDEhBFOhVGlkBBCMtSB1G2hLT+VY+xvcPfXF1ZQ372ljeywRyryFGh5NT2sylWiVwVowZBQjeofDr/yHO2N3F9/iMAuV5KY8tJaNyU3HaBvLiKOQ2F1NwCuJuDLTdeugZPmbJ76W2hyuXvMutpdCLNeRQW15h1ubZPuri3t8ZOjx45J1iAWVN1biCCrHRGCyMtxdXP3N3d3GSllQN375i7qJEV0pASUiUV48QaACg2Giw2djf526xGOu8ZmMVh8bi4gt5j2uoLaN7i0kf7lclbMq3F42RioQg7kcnLjsdBmLsvcN3DarBazvK0MEayJFDA0pEcURlrIqxpQJU1oBoVg8w2MvYsfeYq7jMMkcr5/xjvK0dzfyQQUyVjaROqm6gyeOBRlU+2RFJBBGgvyfieax4gyePheZUa3yNhcQfmSwACO6jE8QqrhCB9JYEjpQ6B7PHY+Y2UOUyEOW+2FkkEUWAhOQgxF5F21u7KWwj/vdncJLEzRsyNE0cqHkOOhoEG8dyK9jy6HM4jKfbWcByGRtu7YMlpAlpbSSVjaSCW4WPk5lpWVmo9KAAztfHM/i0hn8W8stpMVIeZke9inxccfEtJNPbXBuI0QL1EZ2A0FD5nHlpsZd3+Qns2YXF7m/Dsb+lWjySRETW99BapNcXsHGpE4cgs1OHt3Au38QsbmCW88TydllYJVIlrOBektu4mmAJ7j/wBVxGw61qNwz01pc2DGC8ga1lrzV7iN4ni4A8ohcnZxKnUoWrQb+mgCmtbeSQNI9sJo0ikiuLeV4JkLAykR5CIwyOwU/SQaH8NA6tfIvKLJRbJeLl7ZgK2mdtDfkxkgV++syJ3iboDIrmo+egoa88TnkE2SwuS8SyC1EWY8fnkltklqavS3AeMVNSrRVoKVGiMvA1jjfI8euPyf6kwvTaTXkEXC3vrW9RHF0rOxP3BeQxyR0ZeSVqa10Xls/JbOS9t4zbC2tbiOC8Ec0ztbT3lvKUf8i4KiGT7OWFmkqytFyKgGoBDPW3h2HsokvPJs9FGXo62liwuLq46EcWDSTGNl3DkRhgajQMoc5iLKQ23ifi0T3C7R3l9FJeXvPkCsptEEr1PpyYUO9dDsXd4fyPKk3XlWXhxNrw5hMhPGH7Y3/JxVo4VSvL+I/iNDQOO58QxgKYvG3Pk90lQ13fjsYyJgKFltwIoeAHXlxO2gDufIc95BJ9nDcTyw7BcV45D+REq/Ss14vCBBvuSzbfs0Gaylpk8W6PeYSWyjBBEs0sk0rNStWvEZ44zQ/TxC/LQk9xnmF32ks7xYc3YdsRNaXyBLyG2UACKCWNSJo4lG3tlTf6B10KiH8Xw+erdeKX32N4N5cVcFo5YzUkrGqM83AAVJiMigDdF0GTR8phcnEL+OezuIH7scyJGJJeFOZhlCm2uUZagEhqV92gJuu1ic/DdQyF7K4MNyrW8yGRoSqtLF3jGIu60TlWPHiGB2NNDkF5FZm1vGMTJ2ql7Z4Je/F2HrLbdu4VUWcBGK8qbsNBovGsHHnLSS9vb3F4uytplhYTzTT3DvVQ0kFi86QQxszU5NyBau1NBt3xPiFvb3Fp27jLThZYIbh2X7Rr0RF0SOCCSGOG24irShQgUH3HrodPieQtRbSnhRYZC3Aci4VkPujRyKugUgqT1B30NgkNDUnZAWH7+lP/Ea6K+g3scdticVi41ia7SFPzFnLvA+TNZmktOIEcxjJAdiSVApT1IyWcnDXYtU2hsYlt4h8WAUu1AaCuw/ZoYJxx60qR1HLjuPgQP6NDtJeBBLclAFU48SCxNSDWhFfjvoI+0nq4rsacSGNRQbHffQ6cYU6VHoa03IO9CNqaGGp8alKG8hVFd5hCBWSJTGiCRi6CVSHO9KBlJJpvoKcmzJjbSMEgtdXDyGgNX9xqQf4xy/ZoF+KdUneR3HKMRzKjxtMssisUHJB14hq76D7Ctz45ZYi3S3wFpfXotkuke9+1nmndw8ssly0MZIRf4QXBbYBab6BBfeU+R3VmbmXIW2JskhCR22KTjPPzJSO3QxnmrMx40ZzQCpG2hBrYeF5EwfcZWXHYuWaKkkmRlGTv6kBwbeJH7ccpqooOTU6fDQYy7lt7PPxx5Nj5BYxuyHvST20c7CMpEr0/MjigbqopSlPjoD8DMbnJ30AQRGbGyRdwTSOZJLGcSRNWoJdbWQIabFVr1J0BDGC1zN7cXkRuYo7GC5ktuTQx3iw9v8hnb3CF+PxNR66B4fK8Raf8t8VhiPGJzJdTwROpmjDrCY4ooG5UbahY09NC6yDyryi4/LxuEtY0NCgW1mYK21SXuCI5AQd1qBvXQlgvJkyguYpMpbzR3k4mdpZAArozhhbQlXNRBU7NSgIAHEaG1/jSOfuXeV1SEKjLyVBb0esk7zOHQJwYhQFduZ2p10DXNx9yFogIntx21hmtpzMimWJxLbMpFXdZAHEhJJrxPSugzrsLjx6JS87PZTMhTtL2I0JjlPYkU1ZjQgq3Q0ptXQdycqXFljLtHjb7YJA1FRJE7B4DuIgUM7ROhZv4j6mmguyqql5i76JgFnSKVhVG4BVViHbtolaxk7A/v0MjZYvt/IRKsbGF3jjMUjBbgpcqY450h9xZWS5XYV4sR6GuhdRYxvFk8hZSRyMbuCVYwycyLhCZkPCqsn5ts24+O4OgqxwMltk8YzSUiY3UUQBKhUqsn0oQjNbz7sSF26nYaArC2d3lLO3tLGJ5r2xyUcSht4YILsmItcSKGljg7qEn2kAHYV0KtmIfHvCF78jjO+RTqyGYuzJbSOSohiRGMtuvLkvBKz/wBYougzOVvr3KOLzPymOFKm2xMXtPFvpWSKM/lK1KlFJZju7aKz1xlHuAYlURQKjJFHHSNVWoUKiAbKADUgaIFjYGvMA0LO9almpxCqKbKhoNgKn8NCorY0I5ED3Vcbt0Jah6dKAdAN9C65Z4wxUyIGBBILAVpRBu3EvQeoAGijKMT9RJoPXYA70FNhU/DREgCSSfl1P7tvloaeptUVHzG1PXb09NC5JdxNYXCZC0JiUSK7FNuxcVJWVOntcDcf7NQP5LyW445W1uGx63oFlkns4WKQTJGGMfYDRqLZ1/l9QoDLvSuqdq4biK3u3xNxcSS4zIQQ/wB6uEjllt5TXhd21BxjSO5HGRBuY2IBBIOglPFcWrXOKuQkN32uyJ+CvJCeCsgjuPcWjMbBlZW90TfI6Dvj+RaGURS0iv7aQpEXTm7de7bkMrK4Zd1LV9hNNCFGQtYre6kio5sLlozDJRlZJaBw0BYH+RIzAFvrQ+ugJvmszHNdvbyO8EEj8kmkgllNACskkRBZHbcg+hOg3WFzGAsLCB8JYy3N5KvYe4nWJEjuTGC8ZETPJJC3KoWOntPuJoToYJs5f3mUtK3Usl09sryRScIF+1huAYbu0Cxxp3Ldyopzq68RuRvovjCT8/toJgzB7acRq61DFJWCBx6qUkVTXrXRDF3431pdxsJmkeCUd6MTGSaTjzEkbMqTAzM1atQnroKuxJZ317aTBOcVwxbhJHKPeA4AeBnhNOXRSadPTQEMPx/o/pO+hD3E9F4n4cSC37q11BMxOKclK/8AiYVNd9gGJr8qaDhCqCTVifSoQft+pq7/AC1SEeZH0hR8Soq1P/E1ToOb/UxJ+FST19dzsNReNufV8j8/9WhhE/D9nT/doj37f9PlotHQKn4D/YPXQd3Br0rsoPSnSvw0R2OKWZ1gt4+7cTMscEQPuklc8VVfkK1YnZVBJ6aDRZ4xY20tfFbGV2kalzm5uKxrJMeMkrt7Vk/LUhVqeJBUAEiuqM24dyscCFncpDbxqP43IjhUD/xEV1A0y1tKl9ZYOGtbKG3t1hE0TxG9mVYe6CnBA7l2clzyHqdUutvUS+zNnjbd3ktLIxWyrcyJAilKCcNKUVYY+EBozCgr866CcSPeeSzyclb7aR2LLcrElLJC7Il7CZYowZKAScqNx610KhMWVabJZOYJKltFcz8JQjmRpi0ETRc3jSR4FBc9SRuBoHkkWIsPFna3tr45maCOPJXcneiSLvESyQOj1UQhiOCqtWJqWpqFWf7UMGNxcr26STzZF5ELymNjBbKFMXsd1a3dl+p1DI9aVBOqJZW7kyL2MfZkhaQyXBgkbikTTuEjSNCFWNCtKk9euw0EZ4jN5AberzLC9tboI2klYIixoI4mXuu/COM/SD6mmgOte1d+RXU6xuttZrIypEVt5I1tYyF5GdEqwlPuqgLfDRYBYqRljy2SIkJMF26lQtDJcEqFcspjKlTuAQ46rWh0QX4+beC1llmc9wxrGIi4AkRiHPAUMnfrUqykH20BBO4vURmJVjxt1coI/wA9BGrlmkkbuv8ABmRwHdfgyih3I0CvEduJBFJlo8MLhWtxcTWbXUM8jxkLFK60NqAwrz0DiPxRYcZHzu7eVGqs07ILjEq6gyi4lvrR5XiibovciQhjQ6BFPcSpaTWFrbLJ3WjEeQtJHReCrw7LpVYmtVBLI5+Y66CnJq0GLhgi94kkSOQqU4uVjLcADSStXINBSmhyJyES2/6dbheJhxVt3FDcnEs7PO/cA+lugG/QDQLxXpt8fn+39+hMO0I9DuSAadPXQdHz3p8tEmXa+n7dBzf5gfH0/A/PRau1Ipv89C7xAr+w1+A/0pqG3QBQb9Kfia+tPlorxpTp8yd9x+3ROXeYHTYMOletf9Wi+uVpv+/4H8dCjxp8/wAOv9Py0Ryp3NfTcn4fPVSKyOx2KyeWlZLG1aaMcf7wax2sdfq7s7gIaH0Xkflor6Ti/wDLmIKHyj/eynh+R74LFN6sOKsJ7kgdORVT8NBq8hmMD4rDHbv+bcKoEGOtVRplAGzdscY7aL4s1P26D5fm/KMvny8MjPY45iR9jatRZUU9bu5HF5uX9UcU26HQZXvxwyyw9tYYYI1c3Mg4xF2/4cainNuOgQX+ceQNDbqAtaGahVmHrRaniD+/QszLMSeRO5Jr/wBnpTUWiSmux6nVSY+JBST7aA/A0AP/AG6HEp1FCCAN+nrX5aBnYRPMHMcQ7aCjU339Sa6HZjPaQMAUjUrxHPfqfXif2aCNxYwKiNaHkoTlIxHFw1enH4gjQH2bSztHHcE3cMcTEIsoBRqe0spoSdBv8fcBMZEJJI0eOtSau4FfbXfYgdNDbM5CXvSEOEdQ1VkCe7f1rQEgaBf99BYzgR/ndxeDNIR21J9QPUjQ2VXeQkWQIZYigNaLsKHcgAddAmumW6osUZUqSeR6Mfl8K6Gy4RycioU1Bofl+34ajSU0UsTBZFoSARTcH/t0SKQ4NtipHr/Tqo77NyWIb+Gg/wBehH8c7sg+l3A/HUWjisa16nrU9T8a6JNjqB9o2BVFYrQ1P1Dp0+eqNcqrNFGRRxKvuBIKkr1qfQjQwbYzF42YNcX+WsrCKNiskJcvflQPbw51IR/SldFM5ctjo4Hx3j+JYyTgxPkL1O9cSVPHnDAOT+6u3LiB8NEZ69x17aAQXlvNbSSx1jaZeLMRuHFNtm/doHWNyIuLJWYvLd2zCG5qrCWJl2Drx2KMPXQCZm1VmF8rdyG5Vbe5rxBWQCiO3qSdDhnKKweKZhyYiGQ06MB+TOD6VA/foB07jc4pqVZ+PPb2zx/y3p8HFPx0ElEsqmpCSiWqH+KK5j33FNlkX9+iq42aQcWZBN3GliqAeE6n3Rup2o/w6b6JwtZu8oKex+ZeP/0rhf5kDD+o/podqI2d/bsjh2e3YGnF+jwN/VDfDQTCs6KyqUZGPaLkHjJ/HAx6hX9K6HrqF2CyxjtsjkQuSKpJ/HBIOvBum+guk7EkaSRsYqtRozs9pdDrT4xN/q0L42jw7qtVeLpRp40O6MPpuYB6qeu2guBN0GWUobrhvX2pfQgbOpGwmUenWug9HIrIltL2+JJS3vHWjL/7a59D8AToPKPt2Nvcq/2wapZAGmtCekkR/wCJAfh8NB1Xmg/MiIeKSpUnaC4A6N6hJNARlZcPci1nxUFxBkWMcd5ZSRrxMuy96IiqsJG226/AaGmuxfh11On3OZmWwtEXmyB17hXqebtRUWnw0VXmc9h48dJg/H7UOrHhNfleESqGHMo5o8rNShPT8dEJMkTj4sXZ2d7AZET7v7mIK3ZZhSjncEbmteugvu8te30Fv9/Nb38NsKK0KCBuRG5LL1P9GgngLPxu4kkmyORNtc1Lw20zmJfXjRiOEtPx0LkuUkaWSXtVkDSNHFwq5dQxAKgb0IG2g5jrG67yG3F9ZFKPLcQGSFVIFQWBpGzEjp10BeTzF/OrJd3Ut8tREUlKp3FBpxHAAJWn79A9w+ZwUGNltbrEtHO9aGWFWV1IoCZgDUDQZVrCe8nlOPjU25lISHvkKrMdqoGoPxpoNG+EzOPWynzNgl5ZK6AWtq4lYKfjD7eZp/V0CPyG/S/ygWC2ltre1jWKG3kgMU9SASGjoWp8PloE0JW3mJeFbmNjV7a4LRSIf/SY0I/DQXtbW+QkiW1ieKRjRo5PqU1/hdacgB66Cu/tkgvUt1aWQwIAzSMCQSK0BG5p89DCOjL2g9oHdkHscZd5Igqbj+7WzEAqSar6/P8A1aNUVY/xpr3E3uWkuIbdLVXdOR4vOyglqNUFanYfE6DGTTiSpLLDCGottG0jJGNqEMxLSOB6nqfhoKbieaWNYWlaer1TuRgSJWgUq9K0YkDY0roPod5Etng1gVGWOBYEYuQJHmWpnEYQVUSliTyU7V+WhcBi7C6nhMwiR0vZ3sYm24B0T7i5kh5gtHaRW6ODLGrGPptvoQSZDJxtlUuUgjkjtrmto0icomhgdO0Tar/dyCVLEJRGJPtGg3LZHMY24yOWu87jPJ/H8mqw3FnJf81yUNxHukeOLNPjJrNQFLFECmgoQdhFyGHP5nNM+Iw7WHjWKjR5LlLb/wCDbG3tUCoZcjdxmS7unPtWrMzSu1ApLU0CzI3OPxlvLZYvJT5Wacr95fPBJaRykEfkxW8jtKbWNV2Z+LOWPtA6jDLBXmcLFGXllfikMSFmZj9KxxLuBvQAVNBoN3FGYrqysYYWvbbBQG6aOWxkeO5vJef28NxbRM7K81w7GrEMUUUpSmgryrpPJjsIiLbtI73WVnneFLlmdu/cfdSoOMIgVCiJycUUUJJpoH19cfp1ldOySQraiExPGbZoEurmD8uyIWYiWz+yCPFII0mEhapHTQZzEW1ytpGhDKfIpWM7lSS1jExM7mYKssMHFmDsrDkZAD00BbXLpHcZGJ5Iy5MMHEKtbC3Hags5UUL9zFfTNVqL7uIJqAdAlyii4xWLv4pJGFLiyuLdve1neW83J4+4FBZbiOdZVqSd2HQDQRihkfx+4uI2jC2+Ughu4xz7/CWzea2kfYx9oywOAdiCKGuhtdZ27XOByBSeFJLG6tLqS2qiy3EF1G8UEqycvcILhTzQ/RyBHXQ7CY1ZLS2nyKu0cm9nbDtqe/NOeEiszBjF2VIbYDlv7tA1uEGOxzQFgZ+89gPt2YxCROLXkxuIiomkkUgAHkvA+hGgp8bW6myP2kGGjzP3sQt5LF3MDxNE3diu7e8oRaTQFalmDKVJBBrsMPvOEwWJ8djuclNBYWVzOy92s0txb2jxKqmC1e6CS3F5cGPkzKoMjn2igGgVZXzcB5rbHWN1bKJYz+ordWhvO4HoXt7ObuxT9mZSksUjLyoUPDZtEZLK5fIX0863N7FLGJDNBGYJY4O9bqTFxinIneznnmciKRWMXILV0XYpQ0bmQxmJxIDGYKylDbosKxxiRmZ7xDbk+xFLKFPLjxFQMvG1ekdvIUlESlY6okNyUb6+2WEq3EI50oB24wopx66BlaZbMWLTSQ5S44XErpeGGRWnlZ4ol+4kaRJoP1KK3tUjSUBlXieXKhOg1mI82eLsWWWSS5ljuOE1w8JlmFiIQoKtATN93HOpkYFZFdK8GrTQfS4Us8jaxTRNDe2c9JEYTCeMhfpaGdC1Crio3BB+B20Nvk/mPhscjGaUhO4SIc4/CNTPI1I7TPrGqRW7SGiQ3qKEY0ScBisjB8RvLO5sbia0uY3imt5XhkjkHF1eMlXUj4qR1H7DTQDmtFBFPaCCDUkV9pO530HQSFNQTzqldjuN+DVoK/6hoOVNAG2NVp7eRFB0r8DXpoLAV9dytfpFAd/qIqCw+W22htJjzYtwA+PHmaUHQhmJ4n940B1lCJ54YmaOMFwzh1YKYYl7pPMBh7qcdx/RoQ11zepc3awdqF1gje8kt7yFjBdid1giW5aN0hiSGGSqSBl4svKoYLQGgtprhXjE8ZAlThdSrbcSjho+QrWNLoRHehYuGJqTQaAmLigP3FxPEYmjht5HSOXlZJxgMCyLBzEMjoVVpAeFKDQEsHiVX9ygqziCiC1kaVh3Iw8nbcQ3CBTUqUDUFNgQEGaJhGjSd8MrSRhpZI1ERl58pJTxhmDXLlTQUDiqaG0IrWktvJGJE4zrxCs0kkdyaxm3nUtFKK/UZSCzbk7U0LjlgkSOGeNJKKWkmmjcSOJkm4ZAO0scpi7q1rxqrqK7GugplDSqVRECBqQMr96pDuweQMQ0aShjHLzUpQgbNTQwqaVYViKojTIqOgeaSO2ikFFZZ1AYSSRmT2MORVQtVoToYXKZ43ljR5oWV2jL9qkXKJQRKO2Ee7WQtQsTGTy5Ci10BYlU9qNpLfukJwbttOJYuLPJaVKKrBWLCOoVgdgxruH03A3Zu8ew+4a4eB+AWUIssUXFRHFMF3f2CvM/VX1oToMNm/tclPd4W5tsPno4j24sdjLiLFeSYmAlisdtaXTm0vxart7GicVAK6DNPBdZCEYS3z1tDJIkVtcWWaw8eD8nuLJAqxWj3VwY4L8xxoFLRsXcCpJpobZXMYDK2E8i3dqylCtDESyr7fYOnIgKnoCp6g6Hg7xtLS4ga9lt7a9zeJvVtoLe8McFn/fYiMPkJ2dkjk7d7H9uysVTk8ZbcioPv1Hya1mtoc1Z4GG4maW7x13dWKxXNkqMRfXBxkDxxztCpJhaZQpkHJSRoFV/cZzJRw+R4vFym0wN596mZyl73cvfLahnmjaZpYoBbFQxaC3jVANtyNw0Vo+cjnmyHjNpBLiGis8lBY2d20F/c2mQhaSUGKR7mzunsLwSwESQB6oNxvoIjNeP3N4DkLS58ey6lo3vIefjWWUxkcxJPE36Vki9aBJGFenHRGtdsrJb9uX9J8ux0qgLDkuzh8sSd44xcIk2IvztWqiA1PXRWOyON8Jt5u/f4PyXBS+4z46OxuZIrxloSsNxbfdWEqE1JbvAbDYegCDynJWQC+N42ww2OAEv2t9G95dZDjQPLezqxe2Qxjbf2gnfRF5y3i2QnMmbxd34pl0ehz/j87m0MgoBM9xZDZSwBHdiYH+t66DU20nkhtg9hf4L/MDELyrDM8Ftk+2BVQ06GW0klBFKOnImmgSSv4tNNLDN+oeG31wpWazzNr/8GSycSOMVw/cgiozA8o5YiR6emg8fGspjg13jRHkba5idO7hrl2WNQ6sKSLI1yyOK8ggY0pSuiso4kthMskqd7kTMJ42jkMCGnMJcxrc1LLQ1Ck066BJlMDa46G1ylxcXP/wxZ3eSxVvi7dZmtrhWRse13dO3Y+3uTyduH5qcaUO50H0HHzHL+OXNt+ZNNe4+WJ2MrTSdyzZrx0h4FkRpXhO7AtXjvTYFZm3sPEbERXl/kLnIC8jW7s8ZZQut28Em0aXs1S0UhkBqOZPtrShGieiJPMbq2QWOEsrHx+N+UaR2sJvMtcIwIAaNFed39Q5EZ5aCiPxvyDJ1yGSVbG3kAZsn5Rejm4ArVLJZFUuq7hXY7DQvteY/DsfRLm4yXll8pUJbIkllimABH5dvCgDpvseLKfjoK7rzXJpGbW0bG+PREgJbYm1SS+47cERImmYOONCxZK16aGAVj5xlI2a3u7gZiEni9jm4wtyNyD2Llm5CT4KXp8VOgMnw/ifkrn9KuG8dyf1mxvgsUEkopTskMkBaSlRxMTVOwbQZfJYvO+PXFMnbTMkTKUyEDPVKU4MLoKGU1IoJQCT0amhY0ny175LgJrO5cXNxjSl/Zz8YxdTRqWieOelHnmQPXmCTxry5egLWC5TAiRG532NfuhFgPM2jcT3JrivEkStwCAe0GpIG2h28vHKYQUDNc2BPNkSRqWhCskkzCqRiG49inYb0O9NArwU9xFdpBad9ryWXtQwW5lWa7Ep4/aL21bkHdRyUgAgdRvoPpK+HZqSH73PX1ngLBQqNLOyz3QVieMIdi3GvIhVqdzQCmhhl/J8TjIBBBiL27vQkTzmS7tpbc90B+5Hxmggmq6JUGhU1FNDxibRRLPax7kS3VvHxA34GQFuu2+h03Nw3cyzTSfwtc3LMZRMGjtIVggYMoCRonJvaOjD9uor58z9x3lbcysznpsXJb9++qnKIpvXlSh+mg3oadRSleo600HjtxH9mp+G+9QfUEaGHSCDxcMCtKodm6fD/AMPx+OhLxNQARUUPGtKgCopX4fLRDHFy8LnhU8Zu2jgcQxUOKhSwKA0PU7A76Ke5iANBcxrv2ZVuoQCH/LP5cqF0ARnRCpbjtoMvauI5gxbiOLKWqV+rZTtvRWoSNDh9Dx9/cx4WZLOBbkQBoLmL2/cW6XWyXJeqMQr1CSKT2geJB5aE8stkx2LC3haWNrhbvuyJGSREQjNwIIVgV+NBU9NDLT4jIfc2SxyOzzxMrW7oG+6hjAYyL3qhmiPIUJakVSKUOh0QZqIiXkA6ycyHXtPGFZFB7YDgElKUOwr10MrMJJXKYwtNJF3rkwCWLtsyLd2zpCGrXiRIPpO7KdBoMlAY7m1idpXa4tbyxmMlGWR5FMixxLyLQREsKA9CDTbQGYvyV7LH2wXC2l5k0iSye7a6Z7hI7FnS3imhDKjCFG9GrTcmlBoeuTeUeUXRZUnFqHKjsY+wmnKshHuR4LduL7bnuVPTQqy2alyTx9zIx5J7m7kirc30EkKvHEpWOONnZ+ckg9CVKqOnU6GyywyDWfdoyAFAqRyqzqXRq7cFZTxOx5CmitNfXxeGzvZnjFq9m90LW1ht41NxCxi7I7QDwwM+5ruRXYaISYWaV477HMYxDdQNcydxqKJYKtEI1BP5jhiB15D02roq2ziWfBX9qQRcWlyHJPJiyMjQgceACiOSIb13J6aJV1llvfHoZloxsriSJh7GdKkXKl1Dc6EBuJK0oOtRoJXyM+MxuSQmIqVQSK5DCSBu1I6niHTipQkgk19dDYnKzSpkMflgx5XH21wJm4OJOaq5lMaclYd6J6qRyO9RU6C5O1YZ9ZhMn2M0D/cSBghmsZlCObW3YAz3IguA0aAEllrQU2DQ32WtIXSw8OtWsezD2L/LlftJLgEDe8mT3s9SSVFXcn+GmoMlcXttjpJTE7X2SIbu38+6xu2xSOpYRlutQeR/iNdUZ2S6kmUtJNM8zyPI5NG2K8E4GoZAqltthvoPRHtkOJIy8Y9lTTlWijnUMAApoKb6C53MQo7JI9XlYRyVXlTiWdl3PFQRTpvXQanx7xXKZ4G5mdsVhUQyS30/GKSeFRSQ2wlKoU4rQyE9tfmdtBtGyXiXj8Is7Czvbq3lUJdZSzSCoLVEkrT3tvJNfSK5/iCQkGgFNBh5gbe7eFlURyUlieKMx2zpISY5rVKt2ra5G6oTRHqg6AaJNE6ep6elB/tO1NBLc+lB8B/truaaK40YKkMKowKsNqEMCGHqNxoFli6429fH3Ls+NvwiuTQARV5QzAuGQTWMxBY0NR+OhYTe2LjlZSdvvIWeykj5G3qy81hikO0tteQ+5CP4SOhXQXWjtlLERMzC+xsaJDGI3muZrRHo4oCOU+NkLUQbtEWHoNBRfW17AbTIG3uLW4XtfmlGSG5grWKa3u/8NJJCenv5FTQjamgZSNNlTa2kdtLtK0gijCSTTzkbrbW8bSOxIG78liUb7aDY2/jmNxFomU8rmhdWpJb4pGEtuwUglZQCn3sooOTGltH/AGzoM7kM1Df3QvYMM2OxroLU3FjHWaeVAGguJY4407vbIKB1jUMpK16aAjH4PM+RktHEcdjAwWSdl7bSAD3SP9IVQo3oR/aIOgKzvjeGEVpj8RcNc3tw/wBq12k072sdzUC2tbkcTZCC4ZSC0QDWzhSxKknQZe+sbiymisLmCWG9hUpcRSJG7JJ3GKvCUcrLG0T1B2B2ptoaCukQyMvY49sQQMeETwJyIKnjC7zPHuNwWO++hIo8R0Un5saft4r1r+Og9UnowSm44qAOXpVf4wT1Fd9BWoIHuALGpY0UAkk+7io4qD6D01Cu0gB136bD5/P4V1SrwAoDQ7f6emxOhWrxH7afH0/GgroQgR8SPiep6/LagOhWzvx2Ppv6UP8ATQ+moPcaU5EA/wBUbn06/DRXRT4D9pJYmnQUpQaCJkoNzszKOIUksa+xVUAszk7AKKnQw3FnCnh+NfN5MJ+tXimLFYxuLy2qSinOSMhj32J94/CMb8tVGKY3DNNc3kjTX123cundjIy7kxwcySSI67+lfkBqBrg4U+6mycxUQYaL7odyoSS/kR/tIVYFQZFVWk48gdgRXpqnj2BQPLkM3co5jsoZb1n4iVUu7kNHZrKpdJCIomaQld1LA00A+Nb7eyymYmZe7x+3hR5FEjyX20zIsnLurDbhVbYleVa10DJsZkfH8BNdXaSWk2ZWG3tEpVzCayO1xMCyQtKJCREw5FR1B6ACYkiw9lYC3/Py90s4mk76hLWI9iJog5S1fkAamtQTuRWmi0XeSM0tza2SGeaUGOFEmgEUgSMBII4oVeRjGSPZUk0NNERvk+4ytli05xwWMUNpR41MscshBuXcewuyFSSXPQfDQWr28j5FcTJLNe21uGkMkyMssiWsYJTgoZxGkpAXYniu4poSowhllvMrl2nk7ttDc3KTW8BPck4fbdztxKvajC8mJC0WoJAAOhYLZ/kYXLX0qc2uSltC7rMX+5kbuey5UdtZSH3DV5UP46D1wjWnjlvEBLGcteoAUdu3Pb2h4++P6VZHrxK7sDv00FVpa/dXECd6SzkjqzXEfSK3SjyiVB/AKCjdVJ9RooKWS5ycspluS1qtyxAkBknkSJisZ7tQnFgPQD8NENEjj7ZjkRHjIPdjdQy8agqWRh1r06Gug8Gkwlo2UxjXNsbiSWyeNJi9rOjHtmHtkt2lfkeSsCQRUUGgoiuXt7aRVtXtw9zIbixuo1FnFHKgaJsPMnKaPiw5OOTIwNaVroch7xBcy4iz6meVSAZKSJ3XU89wE48FpSu9dDC7ISB8hfMoAVbloECgBVjt1WJVUAUopU/t9dDQUsBU9fmPj/u1Bwk/hX57/HRUqDY/6/wFdVHqfD9vQ1+e2hR30PXb0+JPw0HNj+z9h+ehp07/AO393+/UHB+O4O5/2aDv+n+nx1R4Dcj/ALv2fhqFPuHQQGCndjsEWrOx6ABFBY76Gmkx3ieeyTKYrI2kT7929qh4/wBZbdazN+0LoPouJ/y4x9twmyLtkJQQeEvtthT+rbIeL/8AxbN+GqV00l9nPH/HYe1JcQq8Snt2duqzXA4/wCGEcYB6b8RoPmmX87yuTRo7Jf0WzYVMiyB790pvynA4WwPwQFvnodsavb90pcyBiXknZi/cP8RaVyTI9fia6HBLceQLazB7VmLIrKqrRVBcFWLih51G1Omh0y1zfT3bFpWNDWiAniB1AAr0GotAvIkUA0KUyjuPjoqS0qD0pokrlAc1P7/TVR6YAcT03/1aKLtrx7YgRt7Hp3AOjelSPjoh9C0fE1kQhhy2O613pQ+uhxD0ah2Lc6KoPr6+gI+B0CydJHlJWsUhrR4yVqPht1qPjoB4stk7JmQTMfQiQcgw/b1rocPS5i5mYPJWoHRWov7tQuF+5Nw4SYlUJp7TShPQn9uqUGfaJGwcSCQ/Bqkj9proLkQsSTQVFBTYD+jQ4DS/kspruTQgilPnqDzugPIkOxGwJrT9hrqgVyjggIxlr7SvQD4EfDQD9t/VT/t1GqpLGfgf29NVmZTUop961A+GgLt2Q84geSt7kPqCN6aDUYucPEyMCDT2rT+JdmIqdqjfQO7OOxluUW/vo8dAVJ77RmR2I6xR0B4MRvU6Hh83kEGPhe18dtI4laofL3ic7iUerQxOK0+Bag+WgyeUyuRu3txfXE1+YzytLiZ/zEjNBPbkKAjKSOQ9RoLba6awvI7lQvYvUW2ugwLBSxHbk2pQk9ToZau9NtbWdytx2JRJFREV+RDsPYVB3JBP46DGbpGk7xhyIzHcRsK8oj/GB/XiO40AdytVEyn6AEm+cfWOXbeqaDzgEiQ15KFScCo2/wCHcD40/wBWivOnF+61E5FEneleB/4dwCOgbo2iIXEb1LqeL8gs4U+0uP5Uwp6NoK5FMirPQo6kC5QGlCNlnAHw9floC943LSDmOKi5VDy7kJ+i5ip/GnXbQ9SIW3lLEC4hlQGTiATPB/DPDXpPH6+ugrljjDqy8LpHVWRqlRcQg1KEihW4QaHQu7S0MiT4t7kWqhOxNdKO5bzkfm2lzx2aPlsK/HQUMI7ipjSSKRDymhH128oP86Bh1jY76C0yC6Pbn4LdFQqkIFt72NRQE0pwuAOvz0FayrEDFcq7wp7Ul3+4syf4XH/Fg/2aCbx3NmtYTHJb3A5cAQ9tOvXlE24ilp1GgcWGMTKMl1g5zFkseFnNld8BKWTdhHy2YVG3UaAG8yuVzk5iyNzcXLo5jSxhQxxhlPGjQRCjMCOproNVhvEruf8AvWSiS0soVMn283saUAfxkEBFA39dBmLazXJ5d47eIC1aVxx5DiLZGo3vOxDAaC6HDR5PMXFhj51sLSCoqTzi/LHvIJNKs3zpooKK1vXubiG1t1vxAzpNLCFYCOI07ihjQo1NqddBdjYJr28kuLO9jxxx8TTrPMpMRlXYQksCgJp66Iex+YZO5tLiC6t8bL3k4GWLlBNU7B2hHJWPqKU1Bnra1sr+7gtrnILYVcB2mUKrV/qSNSMMfgdUNc1bi0m7EJS5trOML9xGwKyclqvLgTRh8tBl7GB57hey1xbzM3L7iHuL2wN6sQOP79Fae4zWUQoZ8g18lt7YTKoXcChJ4cSWFPXRNpYfMYt8pJlckJlu0tzxaeMywF0FF7ZUUow9DvvooW+8iscpcCfIYYQJyAE1p+YjID9UkZAZSQPTRHZZcLPkIZcMs/28NuXnXi68ZAP+HyNfx+eorM8zNPcTks3ORqM27EV9fmNVJT0R7RHQjSMsaglpGVBT4saemiwa5Yzh7PDxyExRiMmP+DuvtU068dF3wNzKW0JxmHiuHKRhHveA9orQgkDZzSpA9NCz5zbSWvcq0cr1iJEYNFN0oIQl61W3oeTdWFNDAzDwC8y1pJPwWETtPNxULEsFqBLIVWqgJWlNx10Gm8okYtaW6MATxnZiVaSUOx7ZQ8aiNWB40JKgmtNAVU1vIsZBJczYXBc5Y4jKeaTlFyd8QWEkXYMtCqcR/F1J0GcxOLxc8F1kcpmJcbZRSiC3K2a3t5eNMGBdLRZlSKO3BBkbmTvRd9wBt74bd/3F8A0nkdjmeX2F3ZxSQuklsQLm2v7aQsbSSIsDydwoAJr1oFWSEmCxX6Gk1nLcS3Md1kZbNkuPz1QrHb/eR7SQ20TEFAeHdJIJI0Gcs7WS9uoLWMKGmk4g19sYHvdwSfdwjBoK1Ohd9Qx0l2Unj8Qx1n45jLcvaZHyfNTQfcM/t7iy5aZfy5ODCsFsgK13I9AoOKtMbbtk0upby2d452yF2l1h2yU6L7I8NaFzdXWNtVILzsqjoFJBYAE2ChlnlusvPau1tN3CAI6QLYwSBXtxJy5xJPMyR/l1YCu9N9BzyATZDJ2WHjcGXrdO6rAFdz3p1f8AMdCICWFQ550HQmmgJuOEdpdSRJIWuJ0weJa4V5DFbJ+ZdXVtLKfdGXJUEE8Vj48joIWuQuMTd2GTssWmRhiMdsxENw8d1amGW2iikEfcSPIXNk8m9Dx2ah0JVeRxWmJWXEY+RprS5uIso0khjkkiM8A+1iXhtHNHFLSQA7sOpoKCxOkv2eJdElbu5N44p4UcmNrazcOkksewZzK/tY+4e70Og9dg2tna2AhEdzJ/ebvkHWX3NSCGVGCmNVJrQVqN9A0EckNxHaMsUow8LvLxZDBLe3Htt4x21/PctJ9BJqa0YdNAPkA010trHFJ27WOG0ERlQsl1J/NV3IViwmbjU1agpWg0H1vx+1sPFsPPcXHJ7gCKPJSW6tPJcM1ZILGyWMNLKeNQ5iO1OZ9qkgMjlcxe5qW6jupFktX5HH2z2rAm2hHejieNZbgLeWrkVZA0n1NUq1AAnakZke4uWhlmLSGWeJSssjRRRyCRj3bpyyoAxUNxpWho2hkQYivBSXg4uE4ypG9o0Qj71vPbXFHZnkJAK0Kj0HUaCuT2PGS8iEW/F3WeR4p1VXCsdtpYFkZSEKsoO2xI0HbVpOyB3p0V0R1kaBHISGMRdwNPFLLjpo1j4yUBWVQNz10NiJBE0glVYu+6W7CSK1jFvburFfuJIJJpJDbTK1Sy1WjkcdzQBmC8lHYK26KyFImQzQQxP2aySKwktvcVIYoSSq09RoCsTk58XOt5j5ljln7nctpobopNIGVYRJDIIrSH7vgWEqsSrgk1qRqGcvueKytj5Fj6mOJxPA0N/YTNFOYXZTHdWdxFQh41NVJK8HB2qDqph8q8y8SAQWwDSTRRSyYK7esk91Z2sRluMHeSP7pr/HW6mSzcsXmt0eM1aPkSw+HU4M6kUYfUQQBy9DUUp7f36CPwrUcRTb19anpVjocOioO4qKVIFKgAVArsRoeOxkFiGAIZShNOlfdyjIIo4pt6aHT30lW3/rKSNjvXf5+mga2BVLiV1YqVh40dipPdBEnaZAaFa1ApuOm+gf4JYJJ7kFiERgkrvcKiTQsOa1jVfZFbFCGC8kkqOa11BpxHMttE8bxIDcu3KBu7EoSQG3528XKSCOWBgFerKu5UcTTVB6/cl3kaAzciXKE9yd+Lr7xI7RI0kcJMlVBLbmhBA0Fym6YIxExEc86hILu3KvCjq8MombjALS4RiXjkp2zXcimgFMNtLeNel2Lws5eK3lrGaSVE11bVRreaWP2y1IjJTmBsKh5liMLSySW9yjSwhXuASbiAI6vbxFmhmEgZa8ySaCoJG2gskX7sc3jadSqhSJG5KpheGCHuCWBoopFRQ3JGBADbk6CEckRgN5cR2itCbZyzSXLRwBHWGzildI0EvIqXkRQI3PvIFKkqayJJAftpRNbrJOtZIkgMtyyFX7ds8buBNHs3tAmNAtdEeAPZUyGcRiNBIojfnAiLwSRw6TPHDbySckIWTdqVNANASJkbhH+UIw8TKs6twuQY9kmVgsiiZ1ZlowRm2CqwA0D3B5JLO4me2CSW0yu14I5XmMk9OFmtm3bjWBI2DGZ5OZRSAa0roEN99/epdH/pDGZ+waVru8eHja5KG6mdO2ttkYKzy3kcRXm4QilAGIqNCSmHK2F2VsLfMyQMjcT45/mFZJkbASgFRHb5Vh9zaqpNFJdCK6FDNrqXEWlwt1a5XF2cKwteYWS6bNYm4xNxJHZ3eR8YyhRrmzmx7TJMY2kEY5Bd67AEcVmbN7mXA4uwvppWWOe9eJbyLK4m6thLHDHZcmtZsLfSRhgwBdZxwYqBuCrMw2kKm6jtLaxzGQggx17Y2zvcWVjdd1vvltXE0kUJjjiVuIZhGSV0MENtdYO5tosf5Bc5WBMfd3LWzWitcpdWkzB2iWF5kjsbuOQeyTiY2DksCQKi6y3eO9wZlhlu7eTxjLlFZJTDPDgczLSGTnEQ/dtMmil+O1Jj8tA6tPLs/BHJYZe3sfKLEEhrfLRxtdKCKsI7kqauy1pzVyKbHQoOsrvxWdw+GzeT8GvJgeWOyCfd4KV2IDKqzc7Voya7uV/AaGm0tr7zHGQiT7Gy8gxgrwvfG7lJWkjC9RjLmR43r6iF03+NdEXWeW8dzcwSe2jhy4Vg0VqJcVl4yVpKgsrr7WeYsCQwRp6gkb6KVX/jWLNtO+FyAeS3kSGfHXPNLiKUo3btpYGELJLLwoglVA5UAE1A0KsULCOKYTW7z4u7LyItxjna2vYpI0AZZHikjjkhaSimpCinT4g9h8i8jhiayytvY+R2aECazzVulrfxKVZgDcqjQO7Ae1mjJIINdCiNreeKm5EuMyOa/wAvr+QmsMq8sLLKAKFxylx7IeNDyKA06DRGouP+sjAjz47xnzC2qr22RtqxSVU8o5JrdC0dzGp9xSOgJ9dB8xzuVzaWBxmRi7vLKNeWsyNNavYyduQyY5MXRYUtlV3KHjtXqaChTD/L6U/a3aCtLa/t55DHIy3BgliPJoArAGdjGQr05KfX00Np3Fp4z9zPLc5i8tbC2ubiwWyt1Ms8nbkLQ9q4gVJZLeaKrVLoObcaDQW/9U47DRMnjWEssXGaccplVX7uULuClsQ0jyEdAOegWrZ+TeUzrcPbZDJMynjeZAnGY6JOtYzIPuOyp9U4DQHR4HCY8H/qHyWIgKC2I8eVl5s/IcHuIwzz1UVqX69dCy1fJcPioni8a8csLJVoP1HLyRGeQJU1aNmEpdgf6zfhoKpvIcHnowvkmDgoRw/VcQwcoKEmQICpUs9OQ7in+yaaEg5vD5ZoTceL5O18gskDObGaQC8tlArsT25oCOg5BBX1Ogox3lmWwjrjchbyXUCjtHD5lHbtx7g/aXRHLs7dN1PwOgX3ciYrPQZG1i7ONyAF9apHFGsZt5gY7qCONGCIxQsrAFeJHpWmh6iVXA5xow4mx11G7RGNY7lZrO8WnCnIQyPAzg7GqsNtwND1Qhfx7MPGxZrS4jdtlKi4sbpA0i8HqBs4kUMCFPzGgAyltJhcrFNbzusXJZbe8hZ0LJIlUniccHAdW67HroNQmRydwY5+xkJ73tOtxcGaUxXSuqqst3NcM1mHijUBXjUjiSKVJOgE53dwZZpC188KFjaYuO4vwjqvCMXFyFeKNE6BAQB8KbaDFWTGO9tSw4sl2hZKtGVNd1JA5JT940Gvumc993W6FcPKI2unjeaSEOypIHiVU7T7hQB7VHUnQYZV223oK/7Pj10HKddv+z0/ZTQFWVst1MEkftQxo891MApaG1h90zorFe5Lx2RR9TEDQRu547i4eWKFbaHjHFBArFjHDCixxiRzvLMUWrttyYk0A20O1AIPyNQAfl610PVkTESJU+1GbkaF1VN6khAWpU9eldDOX0HFk5y1isg0S3VjC32srO5MlrxkaSExMSszAsaqh5NGelV0GLyFlJaTOHQ8SSAG93AH6d9gyGvsfo341GgYYW+u7SRJbSRoriBuSuAXSRKNyhuF4yMBwYjkFZabMOh0PG7HkWBv4ex5BgY4yRJwuIVjliAbokTh1ntQAKDjP1NeI6aFQlthsQzTy4jyLEWVhKaCDKuz3UIUgl4tkaSINXgH95A3rUaCUkHhtjxmvMlfeT3fcDNbw84YXLV5OTIFQ7dB7joB7vv3+HvLuz8UjxseKnt8ha3adyN1tY5FZ4zE0am7YMOTSbBV9KaAjMuWiubvtvILWSwvrQxgGMWkorIZCFIQHubMTtQDQD4zI3WGmme2xmOvIZCJ7KW+ZedtFdIGdoOUkX87lQno1KaBpcedZ4t7BgrQAN+Wphm5c6jcFZiSvHahBqN9CLsxlM7e5eJ/1C7juX7IgjiggkiiB7hdZJPyoYOaEEghSzHaoFdBlJKnkGNOPE1YKre7ZaD6t6f0aDR2jm5wkiOzE2txsOJYH7tSkrSMPdGWKinLr6H00CvDzvj8pbmVHjAPB0lR4mEMwKs7LIvLhxNfwGgdWaizzd3YzOFivEeIc0PdkaWpgcIxUFTJGrEkgjlWh0KqsTG6y5fEtH9cUs9CqLIhtazABpGUqpUsCoqToJYv+842/wAW5ZzaF7qFXkkZI4lUx3DQxfRFVWRmpWtP26CEKPfYaSHcyY9uQoQAsU7grvxBPC6jIJJPEPtQaBtYZiEYi5tbjEw318YorU3l8oFvY2ltz7JXuJHHBcws5COH5NQbGgBCqVZZrU3b20tnfQ9mC/s5Enhlu4XWlvlokdUDrKvslKqAjcW/iNAx9xAYZHHI9se5SSDzjq3E8DRSySGhB3DV0AoJ33FGBNfXbc0ofaD6n10Lr4ILi7lS2s7eSaaZgI7eENNJK1TVlUD6VoTyNAug+m4vxPFePQw5Ty2dZLmTg9vhLcrcGReftEsIdBd+8bkssCkbl+mgjmPIb3OXL4mdTi7GVnawt0aJOU8C8YBdz8UkYMG9p2QH6RTfQwztgUNxdYieKT8/kceBIVS3uSKMjLI4EiXABTc7Fh66CmACWGXGyCf763PKw9xKTKzky2bxkqw4Be5GQaCVSCPcToLbWbuxAmhcABq9emzAegYaC810SXfj/p00WNqLq2W6hMR9sinnBIdjHLTbfcduTo/y39NDa3GTLkYv0q+ZY8ja1t7EzPw7q8+f6e9wxEVsY3Yvbyk8Q54nZtFVXVrdWU631tM8N1bvzM0Qmtpnkt6VkVeFbfJW4XjNDUsV9w5LuSNvhfJ7i7t3/uEGRvas08Vk82Nurgt+bJdNawI2JvVjQe8lFelGNQa6Dv8A1xHxJwuBkjuZUFJDHEy8a05N27S0idKj/iMyA+hpoeszcvdX9y19m7k3tyWLraBy9rCa1UStsJeB6IAI1poYee5kq7mYxflv+YG4CNeB9waoCqnXQ2aYG9yl1jba1v7e/lVbdjaNkh2MJHaIqKZo7eVY4b5zGCx7jE0/ljluYq6XKx4Vjc2d5SfgFW9aIRs2xUG2tdknlm6dxo25RkGgYaqM8gurmdZ7tp7m/v3knna5Sed47SAGYq8Nv+aqsSvKhBANNqU0FDq4v7ovGYvy7dVXiVrGqsA4VjzVJDuvL3EbnroJlSSAtST/AAjqf9Wg6UYDcda9Sop/TXQpZ4ig3IHwFeoHXpoI/wCzRDG0xGSvrWa8tYoTZ20nZkuLi5W2i71FZo0JVyCocVLcVFeui+h7ixyFqokuMfdJCR/iIoxeWpr0K3dm1xBT8WGgBE9uwqJ4anancUuPky1BUH56D3dhFayRin9tf2euiOxuJnEcAa4lbZYrZJLiQn4cIVdq/s0WjR2Hieev2X+7CxUgEm9ZjchPVkx9uJLgn/x9saB0snjHiDCQyNnc8CY4IoyskscuwYJ2A9vYqKUIjMkxrQuBXQZSebJ5nKG6uYnvcvIv92x1lGJFsYVqFZljHBXRWpyc8U+JO+gW36XWPmaDIW01rME7gik4nuITQNDJGzxTVb2+1iQ2xodCGgvIrmxx9t41apPPf3/C/wAxHZRTSS3Cyqs0dqoQEypEoVFqBxYGppXQQy8bY7HWWBaFBezy/qGS2QyW88tEjsYpEYsojipE4bq1KGh0DcWsP6hhvHZGpb4sNlsu7JGsTX4TuuvOQSqyM/BS1RGyClKiugV5iSfM5S2sFLzy3EnekWKXuwxRlmqtlyl7CIyKzt0Xbag0PHp47bM5+S2R6Yy2g+y7kbLHSztIw8zLI57YmqAoce0kig0AuJjW8yNxfym4ltcdBNPGZGnZ1htiqWwkkjY3AZ3UD28iAmwpXQSw8nH9Uzlys8gjjuCGCxShp7tHSJZnmYexYurAOTypTfQyHtZJMdg769Vokub8i0g4zvFdpzNZXSGMD8ktIBuRUD4aDtwjWHjsFuERGy86sHLN3vtrZeKuoXiO1IS5Kmta6Gk8rbPb2WBxyK3duU+9KLMxVmd+MSyWrVjjn5uBzDUdfQU0W6GbgX9Ss8dawSGa1t4YHjjBkmluWAHHgiAvcFjQkVqADohjJjcph8Zf3t/avYssFLRp+13JWlbtvHF/Oj5KXFVf3tX20poM5YR9uFd6UI3/AIuX8XrUEk/t0GvtfJcbY2y2V9iDbtGjCO8itLXIQ3xNCtxM1zGJI5a/UBJT0oNiBULlrrCZ2awWwyMNlGbi2kvreQG1tuXbZJpbWIPcW9tIiAklyQXYAVFdAD5ObEzYzG4y4ivoIk7q3aSiR1i5sVtpghMQeOSpqlFPLbQU2sD/AKzFO/Mw42JpyXVOy62sYLrG7clSX3dDTQKi7SFpGoWld5nJFN5naTcelOWhZ709D6fL/Vom3Op6V+P/AGfLRcO7A+lQP6B8NEiroIpX/T92i+oE1P8Aq+YPw1Fe3rTr6f6ddEslSh3NPx2A+Z6aqOxBpWCQpJcOa0S3jeZj+yNWpqLto7LxPyC+ZQlh9qr9HvpFhNNqnsr3JjSvwGi8tvj/APLJTwbJZCWTarQ2yC2jr/VMjGSc/s46qVba1wPjvj8BlMVnZooHcuZmSMtT+vcTN3GP/wAVudEJcj/mFhrMPFi4JcrMooDABBacum9zKPfQ9eKt+Oi5vLAZTy3yPLBovuVxtq4PcisCUKxU3RrtvznZvUrwAGgzksUdtTup26xpch3YCOVZK8JO6S3dZtz6n46DO3WbgQSQhRcgqUIJ/Kry5BqijMwI67aBBdZK6ujQuUjGyxp7VWvyWgJP4ai0+l9Cd/2k/wDfotYhbHC0h+C/1j00JlaYeJ4huQ+I/wC/VZpcTaW6SyrC4J7p4gjdh+/56AGeLsTSxVr23K1IoSAetNRqEFYioHr/ALtEmNp8S9FU1/H+H5HVSProjdGCuKBuhrsf26iydxpH2weBNBuwJrXVRUJ3iJAVuJ9Tv66i3EBg7qUNSfj6fjqo8HsQbiO9BWcr/dzSsbH+0abb6AJLNJahVQ03qpqKaF0TaRgGkZJHronKsSzKStAf6rfAfPRUlnuojsyyV9GHTQ6VTu8gDSkVJGwGw0Og5YfGvoD/AEaFf0VaH3O2422P/ZoepSAuSRUE+v8A2etdAI0pUkHcg76FKo8lK1/i3qP9o0Jh2KTg4YbUPp/ToTZo7WURSxMOLdxgytT3cuhWo+IPTQaGZO9EHiozJSWOvQutaow/tDamh2qsjJcuIYo3leT3QRRgyOQxoY6AGhRtt/TQu083jcVvZfcZ28XGge62tYik148tDxXtjcBq7gfvGgzVutIu3KvJGJ/Lfc8K1SvqCP6NCVsirwrGDttJzYueB/iUtWhjO/4aHTqnaj0JA69Q6kUqPiGGhUIEWFhHwqTyZG3IlgP1wsP60R6fLQ8VUMThRWQBD2wVr3bc7vET/Wirt8tDhdFErB0VuTcC8POgWe3G8sDEkfmx12+I0AfuidV+tCv5RJ2kg9Y2+MkZ6aAmEQ8WUmVrhiDZPVOxLF/xbaevuEqj6fiNBBXWNCgX2l/7rJUA20xPvt5ifqhf0r00ElKxVWZWSDmSwUfmWk/o6g79iQ9fTQSV+yHjljrbykSSqgBlhb+G6tW68D/Euhp4O8Du0BWeOYfmxH+TeR02cDbhcKNB1oVZEuLeY0FeMqgiW2YfVBcJ1KfjtoOERXVImQRXNCzxA0ilC9J7V615n1Gg8bhqCO693GkcV3xCum9BHdgDcf2tAT27vFmsQikgnUM0ZpLZTq2/5Mm4hlPy1FER29jlZa2dx+l5BN0guHMUiMdgYJ1I7iE+mqya4rMr4slzaXWINxm5JmfvyOgiYGnCUOQXMZG+3XRQGTzWWzbKl/dlkr7LGyVo4zXYBghLyj03roLHwuSx+OkyUsD2luF7aUlKSr3DxHciG4VzoXK7aVLTHzurMtzMTGvAlSobrX0YH11ATG4scM8kZZLm7YwrJFMAwTfkGUUYbV1QTJdvYePx46Bo1kyMhaenbcmPavKoLKTQCug9k7bFC0xVjZ2jxZmXtmW9jnDBlbYBvdQ8m9CBQDQ5WHAXy3seDN3ZNJ2fvJZLpR2xXojMN6sdFIw7xTyQAGPsSOrTQ/mWrNGSKo30sjEbV1Ew0GK8mu4opoJbLHXCMje5XFvcFTsCY6FWp8euqEVyIZaRxP2XmkoBcOAiFj/5nwr8dAyucRPjcK08jhjK4jDwyK8FG/hbqan4jQr9Z2NgF2NKD/Votfpgk01pj7idEVRc/lq9FBoetBsfXromSuOgRRWu1dEmqzQe0Q2w8YNy905Kx2cZlLUBAeh41B9KaNQ9i1N/f3eQuS4ii5zPIighDvwqNqDiPTQUWTxNLfZC4bkFDmOp9zE/TStfSmh6+eE77VWtaAMdq7devTUXvLaeJQyh7y8BKvHDFDBQop5ysZlNJUkXhxhqajjTrqoNvRPkM7Aot5bwFolaOzhto7yZ1i71xHBBCO0bv7YtxoO2WAJqxpqGzwY7JYjOXz+LmO+vP06LL4+SQh7q9w95AI5YFs5QIL2Qs3OZeJccBwoajVAmSya2aWseY8UxsN3fQtbZXDojY3vgyJPi8la21uO7j8kBK6yEFgwYBlGwBGbvPKb77a4xmMMmKw80hdcTBLIbaFqIksXdkH3c6SOhZw78S5PtptorMq5ZhzZgCVLHkSWRWAoF3VuK14imhLS49bjGY6bKGFVXKi4sMc9xDzjlAdY3ms2YFe7BKtHbZlA20D2O9mwdn37eWB1xavDapPHHkYWu7lo5ZsjFFcpwguJnVQHKuVUFRQaA6bx7JZe4S68uzLw3t9Glxb4jHwSZrP3ETIJVVLK0JTHwNGwpzpGlNwKHRE7nHx4pCwhkgXFs0YjvZ++8aSoTZW90MdNJj7XPJGrz9tqlQfdUEaLZk8bM1L/LN23nYrZ4wXB5iOWdjEJOEn5RRK7lqgUJpoNTcWGKhxmImXJG7ltzJZR4aBrmkT8lGRuZrtz37JXibnGixnkW2rvxHRfY+R2UC3VsuU8lw0jvKFmsLqC4sLiNQIoeVnILc2s5t1CGZGJJHKu9AKsnNIb+84ptGWVYyzOwjiT2RmRqGQhV9xI3JNaaFDSd/wBUy6R7PDGYrZeFEQW1tHWfgrKFjRmRmNaDc1poaVwyQXuTuL25YC3t0luu3JI1ZIrYBLe35Lx4uQq0NR029NA1x009s0cyySXFzdQ3uXv7f7WK7alqspg78V0pV415EuybqtSKkV0BHj8LJcnITOC8DqYk5pG5knd1urpA4fn2BJRWYU5UG3XQzgVkcheZTIIsUssVhjhOlglDZyXTKyNNdND7BGgLU5BaqhpWh0RIxJ+S8iRjmro7IytHbswlMKiYFgp9GcEMijrtuVfGspKyIXXmI2MdEjhtgeSqgvZWJdjMN5OC+1qCoIqVZGTLKqTW8sqULqY7xeCxwsXRuNvxiEZEh5KQGpVk9dEeAEUXCRbtIw3eeMzxySGVSY4D3U5MsSdoMOLoOPXQQaMxB+4rc2t1TjdNHEyKj91LgKSXWOrUBqaN15K2wT7aSRvMUk7QKPJBxCJNcxwhZZpoe6ssJhAAAjZRQbA76D1WLOVlQNzgeV0aJ7drhIY2ae2m9rDmiLUKj03YGpIAUMEklRgWRnMhnQy1tknBLssRjOyF1DxPXj3NlANdA3w+YOLunvVmR7dpft7trgwWSsY0+6t5mvYYLieJ3nD0jdTFIRXqW0H1uXseUYQ9idVuD2riwvVgmiFrkYGE2PyFslwolMAlVWB/4sRIOzEaI/NnlFrxmgyUUKWqXqSTzWqpxNnepcSW2RsiSCR9rfwuoVukfHrXRWWFXPuJPEe2lagjp06fidtEeKsCSCaiimv+on46LhJOJ9rUqeIFfbQV9WA2oPkdBMhRtUUqPcCCOp+mhNRT10KiYGCM5ZQeYRo+bOvXkFkRlK8mQjYE0+Pw0VqfHntkH3PecXTXAeSKRXiVWZw0LrcwllkXgg7cdEkEmxBUg6J61MVuiK0LXFUaSaSP7mARG6lDKJInmhWRWuLYyAJGte3Ug7aHI5ItmEqC2VaP3EbiQ/CttISzSCQkKUAZSCVINBSglS8NtLEWaI9iAyRyKkwit5o7hI4ZGQApItHY+nbDbEDlXQFxQzgiGV4okirHB3Ehjkiktu0himuBMjpPvw35g1rXroKXhlW3blFdzyfcNEJLhIVep5B4oZVVykoRiURhWlHSgOoIOXjj7wEyGITRrMYYraZZ+IjgYAMU7iqDy5qVYoSD8AlPGZ4p4bmK6MiqK/Y9yGcIVBR7iGOonDSgSc6llX6vadqeOLadmKGJeckoH5z/AOHk7iKpuHkVFaSSUHiyMlKMleg0HHRXQSyNE0joXhujK/2c0LSKrcpSy/3qYp21IJhLCp30B3GST6naKQ8KK8UcUrggfzllkMEivwWMSFexyoaLWughHI0N1b3EFs0c6lp1FmkCxyxRxSRywT92ZY5UhaZg6I4nJasZcgDQY3IXE9xdwXGOu7u0uLaC4e3ktpDbRW8wkjcQWaosbmFlasqSVYsK9DTQUXsz+V4p8lccP1qxkiscvKFVO6H9uLybKFVI47jgbWfiVUSCNqDloPeLZSWCO4wsl9ZWhZi9qmZaUYmTvqbfJ4q8K728GRgKuD7QJYQQwJqR60lzibeweK9ksc54jIoYxZPBXD+R+OspcSSkxW7/AHVtFORUoQVIHrTQUTYHL5Wl/ZZay8ojjg7MDY2S2iSwiJoUGNhWN7ZippQJWpJO5roMbdWM0LN9xavCynrInFhwp7dx1FdhWuiyIwscaZpbK4mWCz8jx11iJZ+RMaPdIRbSvQniIr+OKoPTqdtEdjkUdi4CMpNFeKZmkZXhZreeKU0QuwkQnkKbtT4aEfwW6xScUbhKhY1WRCUQGh7aEgs4PTb4V0JRtIbmwmaXFXl7hpSSyva3EywMdjweFqxMrLsOWx0GhfyyadYbXzHEYvO46SQQnK/bfb31oJF4iRlRVp2QSxKGMla0NdA6vIxj5Hmne7vr/ENHby8C93eZ7w3JlJLSa3uW4JdT4SVeSOAR34FLH8zccClwUGdtpL/BZPEZdpkUXtvGHgKSstZCsRo1vzJLLHLGpQmgNBXQIZMZd2t7xuYZLaW2iYKLuapeAKF7UFzIogu5wpFAGqqim5B0NAbqC4WdV7RLTAP2KfdRhl94VqKVkUoOgBBoa0qNBVGDYulzhZ77CyTMzytj7h2tIlUEK1zZyUhPcda0ZacTSoI0DC/8lybWMkPkeNxvkMEa8osjATj8pbSBAEuEaKOWNjbyULFKVFa1GiMx4zkuXkKPBbWmOS6t4bIJZxSRwmWMVR2aZp6XVy61FaI77bddFa/MWNrdZS+bJZKTERzWlpk4ZooY1juoYVe1u6tElwVvYXj4sV/NO7GoGhQvhy3jGIdXwmDlyd+y1/UcuGYrICOMkETtNczKwHWq0PpoGj2fm/kcPLJXCYrFABv7yUxtlxUs4/u6fnTsAdi3GvroF6W/heHfhJJeeVX/ABUrb2SmGwq1N1kSskgT51HpoPNmfGLxTBmvEBaRKvBbnHlZZYhUbu1Y3jKjqRIG+WgFbwvG5ANc+I+RRSOalbG4kaOf2gN2/wCC4OxIAKSA/HQZq4gz3j1yJb60vMfLG3syVi5jrWgq0kQFq9SRXl22PrvoHxzlx5ZjrjF3ptrm9iikucXf/bxw3c01qvcaGRgQokaMHgyjkStDyDbAntB+sYmTGlaX9iHvLF3dFYurH7u1Ebe/gVq3AV9wJ9aaHiEEa5nDmEO/6ni+7NZxNEeJtFBkuo5bkyEjtsGCpx9Tv00HYEGdxLQq8n6pjo2uLRmCHuWtutZIpZCe8jW29B9ASvqBUJ48JnsXJjZWk/UrJa4+DitZoFdnu7dpG94ezBMif2OQGhof4cnj6pcW+Ysr/J5GK5k7GPa4WHGxxx9vd45JkRpZSxarKykAACuhtuLzyue3hNpjLSxso+Cu1uLL2rax/wAEVd5JrsMAAY04HcHQfHMvEI7yG5Rw9bgJK4IP5gKSqHJ+qVY3Ic+pGhg+a3n7cDyxlYb6zyK28q8WSYAc+KuGYFkbqNqfDQYIdFp8BQivwr6/DQSWgJO23ofX4inroWSMgK/RGTUfwbj0G4I0HA3Six1JIC8anr13NOug6a8fpRQWIqEAO3UUrtTRXQXKhSWEdSQAAAfieg5gaIMsrh4JF4SMpBDIyc+SNyrxCqeTpUVNPcDuNB9HtMvhcsq2vkcIW4kVl+/LMBcOwCiTlCqm3ag90kfcjfrJGG30F7f5brMyXOBzsDqSz2/MC4kFATtNZSMyim+8SMB1Ghwvg8I8yjb33OEl6h5p47qSajdQ7JZxu1V2ox6aFxT+L4qw5yeRZ7FxMg5vbWlnbQz0IB4qG+8u2J9Nk/EaAFfIMLZnseLYCTIzgugv75EKAGp5sqAI3E9OcnQbjQY278hyF7fCbJZGSbjBPa9mDmkUAeiGBYYhBCFJ3qAV23roNFYCK8wcDSLITb2s+LcSOyws1fyJGEdeYSBlNWVkApT4gECgy463LkMbQzWkhIZ+KxSVtuR3PHhL7fTbUNUKZIwGKErzVuINRTc7Ek+3169NUFSQfbhIwFkaQj3xksHUmhpIp4uoPoKfE06aGwLxdl4XZYXQOXKqxf28uEqUG+3UH4jbbQfSbSTA2stndYDFE8oQ0seVuw63k0bqEMUTPL3Z4ZPfyVk3G69NAp8ymnyIgykjxK4DBUhjcfbcXImty7DkxYgPQkgHrStNFJcpLI6YnLo6iZlR5XV+43dipC8jvyeSNpZYwQG6VqNtEW5IizyuPyqAfb3IhnahWUcZzzcUkLFiH5r7t6jQ4hKdVw2fSZuYs7tCxaORFkNrdRlCQRVAOw4JU7e2h20KpiM2GYuLOeSBLW9iNtPO/LsRpOU/Od1oV/MVGrQjcihpoNlDHgvG0tXmaXyPyKVIGtrNHFzZ2dwwQFbaCINGZ0FPcytKw9UqdBzMplbdVzvkmUggviggh8eRFcT4xyTPZ3kkciLaROrEEAN8yx0GJy2PR4hJbmRrO8RrnHTyjgpiR1ieHmQvIW835LmgBIDDbQC4DxbK+RTRpY25gtgzRz5CYP8AbLwNXWMD3TTIu3FCR6sRoPoX3mJ8SsZrLxxI8llg6RXuVmEcttC7H+GRqIyow9qoDClKnmdDDE3zz5iCfI3M73eQDPaXSzSPLNDNy5Q3EQ4LEkEgj7a8elSAo0M2R7hyWLS6SQjJYxoY2LOxuJEjNLeUngTWIKIuooVXQ3ysvv8A4Vt4stbAi+Tib0RoyUut6vyU8K3gXuFh9Mmw66A0QXueSzyuOZpMrHcJFIFdY5kvQBJFJxokdvFdKnsY0QSqQSC2gBu4prbJATQzW9xcpyu7WZOEsF1uZwUq3taSrctvq6agv29TQb0PXf4aEuftHr0JG3r6DVHfQEUFPia/s29RqAW8sxdASxsI7qNQEfYLKo+mKWvqOisaj0O1KUihtj8jb5VfsMs/2uTjl9s9y84S5KxsI1lZKvbXMLACO6oxRfawKGugCvMVeY+aSW2eWB42LSOn5TxbmrTdkssKEj2zx8rZ+qsK8NA8t7/F5ZftLu2isMk3bIjBNtjrqQVHdLxAz4u6uCQfuIC0LE1kShNAsuPGcnFwNk8c8UjcIkvZY7WR3GxEF+nPFX6f2keNv7AO2hnB1Fh8N45brkfJbiG7vVQS2+PjI7Ct7QOzDKhWedCf5k6hPVF2B0WSTLZ3MeRceTpisUkvetIO1ykldQESRo2IlcEDd3Nd/YANEJ0hjik+4klN5eelxMvFIR/VtoSSsQA/i6/hoNBjO3jMZceR3dxJbXF4GixClJBJJaQNze6hYFSrPOO4SajtcdjXQZiFpZVkurlne5v5XupmkYvIe5/LVmYklljoSfidDDpJqRWg+W1T+PXpoImn/fSv79Ee2r/Rv6nqd/XRXeJ2JFR167eu4PxpoLbDKZTG5B4cfkbq0S5hMwihc9qWdYnpzj4OpPcj60B3p00Duy8uy5CXNxi7LJB6M01gBY368SQyTtj3sZ2ow3BEi1roGa+Y4STiuTw99UKVkWW0tbtHYsSC/wB9jTM7RqaA9wk+p9dBIeXeIozGPx8mgHaMWOxyuKerAYwhGP8AZLAaCUnnM3Ax4rx6Zeh7k9baIjeheOGPHwkH516aKzt/m87foEyOWjsLSMH+6Y7hGPd1DtCIYKmtPdzOiAGtp8dbpdjG3lra3JVP1K6gk5zmQ0TuTuO5GktPbVUVvSug1Xj/AJOtjjnxlpjII8lGzfcXbMrvclizfcS2vAyXbUZePuKKpGwpoLLdsS2QuMzn5A/2duMlHH76y5mJlAeJIY47aOOePgHioA0sasSaE6GTHF3lxhrZspdxFMt5HKbxrh7ZHWG3Ujt2BeSVUZmh/MZRxI5bA0Gh4z2PuJ8pksh5VkZI+1j07kTyduOGa9iVxZW0SsnadYwC5QbniN6kaHIXG3t1b22TylxapJZ5CThe3IkW34zVa4isLeMLI3EowcqFCU2Na00HsbI9hjsp5FdIBd33Oyx8Y4QESXAAeSCNOPthQBKIABU+mhlG3T9K8dnu2ZDe5hxaWiSKW7kIdjc3Cl4nilXvk1IZGWg/DQyqmV8d49DAkkQkzcnKRSv95jtbZgsbLVKrHKOTsSepFBvXQdySvb4zFYSNWFzdSm8u7YK6sGl4LbRTRMBKJ0QqtQApB6E76DuXR3vMX41bkFLFkaYs0axyX8/EGbuMsbdsM7ce5RgAfSmhp24W2ynkFrZWYMllYrFaqwJYypADJMVWV441ZhGV6hSTX10O3rNoslnr2+uxwtLQTScXT2RC3BS2idF5qF+4IBFae0itN9Bd4s93PlL3OKyGeNZ5Y1aiC4knVoYraL6u23bDMAoLUG1ehBhkMpLkrS7tcjDbXcBVpxJbf3ee0ngXibiRe2oYBjxPJUD9RvtoMPjXZwgkNUJBon5fcVf4RXkI3l405UNCa6DdR5bxXIcYY7aHHSlY4mtL8z2LQMoPfd76yll7jAL7DJESWIrtoU/RNt4xi55JLpomvba0ka4EMsVrcW13bxcS4/V7RoUjkCtz7cyIxC03roMX9zb3mWvcjHbwWlt3WaCG3jVII4YRSNQvFUq5G5IFSdAbjkuL+xvo7SKG4u8xcrax20EIhuF/41wSSzxvbqsbUPJSu+9NtBc3ivkQI/8AgS8q1aU+3YfHYibYDUEB4z5Cdjg8l6jaKP8A192mqS6PFvIzWmEvx/4hAD+4zfDQlfH4d5PJuuJdentluLeNt+hp3G0KDIvAfKJaE2lpCP8A1LupHpusUTf69A3g/wAscu5BuMjZQCpJ7EEs7L8KGR4V3/DQOLb/ACut1at5k7u4H9WJYbUfOpUSv/ToWq0Vn4D43aUeSxS4Zd+d1JLcEAb1rMxQb9fbTRB02Q8TwicJbzGWgBoIo3iMlR/CILcFyflx0LkF3/mNhrdiMfYXl8/TmIks4iTsKPN+YRX+xoUYq/8A8wfIr1u1bvbYxS0i8bSL7mZlUg/4i4VlUgHcqoodFsy001xeO1zkLi4uTWolvrhmUEHcKJCQtD8ABoBZMlaRlaXERUJSUdlyRJ/Vjflwkjp67HQJrvPoQ0dkkh5cg0kxDcuWxUL9KpT030CSa6uJ/wCdKWpsErRAKbBVWgGgXHqaajUYWDoNVici4bVpUMpICKaGvqfhosfUwantrQcjxFTQbmlPlvoitkaNmRhQg0IrUA+tDoszZbDKYWSRNmU1B67j/Zooa6BZzMWBaVizL6ivr+GoROg6KSwG4JNBt+86EmPbjTgE6mnI+pOqePXKq0ZCnpRh+I6j5agNsJVkhCybMmwA6t8CdUlcyqT7qinQD/bokrTEERWCgVG5pv8As0PSTIUMkfzTf1rv11FhOLsx8XguShYUddxQ+oIPXVReshFRzY16E9DoOBISfc9PjoIduKr8WYEbqabH/v0PVJYFSrKDt10AFKVNafD5/u1FrUfakcaE0O9K9CPx1UWnmfdQkA70Gw/b+GhWAdyFLBlFKjcai4sF0V7QNrNy0bITQr7kJO4p0OiNRj5lKhW9shA3qfcw9QOnuGqh7i7y/wARJdTY2W2i+7FJBPbiaSNj1e3YkcSSa0O1dALI7STNPPJJcXL/AF3FwxklY/CrfQPgBQaEiYRc3ca2UFotw/dMwMUNbsbbgyg7xH59NALvG7K4KMjMjow3VhsysPQ6G2pwnjq3UJu8uJbLGAB7W47ir30JPKEjdkQH6W9QdCMk2ftbO2vQlgJIrSVVls3dyzCRNnqfqVWPoTuDodEm0qEH8tlfYAn8mYfA9Sj/AB9QdBSqeyjGgD+4gGtrOD7W+ccnx6U0OEhE0iSr25CsVGnYUb7difZOjChETHRFHFQrRyA8gwaQJtT/AMu6gI369fgdFumKszpIRJI43WgCXcX/AJiHoJU9R10FncAVI3FXoVhuCCxnXoLW4B25DoD66E4SjeOFGjmgYxBhSQlhc4567rxP8y3YnodAN7UY8aPGG5vHGaMoJr3oATuD1I0BZDQut5ZyI4YAcyKwTqOsN0n8LnpU76DrLBfCUoFt5Y/zHtC3GSIjq9q5+pR1FNBQbhwoWfjIgBVbpVozV6Jcr0P46AhReWMaCMq1rcDn9qzCS2lB+owv7uzIdBKO1t8kTHAe3cBhwsbhuFwD15W8+wah6U0F0lreSZCwg8gluILRWEKX1yp5RRLUtA0qj3E0oCdD1sj5H41hV7OBx36jOn1XTjt25YdS08oLufwGgUyQ+T+XTq0wkWzZwUhQNFYxLX6vdRp2X4nUWwPyFYUvLLDRCGP7JUW4mC8ayvQDkw9Kb/t1UBz28V1lbXHxdhFi4I7h+MbsKM1XOwZhtoPSfYfrhSYPHY2h4MFUv70G4YpWkZb16aFPiVgIb3KXl80SfaW6u4i7gicooohjOwZhStK6EKBK0dheXzMxa+mMULOxeVUBICliSRRdB5rk2eG+yWNS984JkPVACK066HonLPYxY3H4pLGJbxVWdsjGwEvEipFQORZz8dqaDLclk7SykyqrMp7g+ph6GnroLJPyUUxPKIQ45wNIzxCvRlQkgEHQtDWeNeOfqKvlMiRDh7dmLe8K0xTcg/BAfT10ONiczFdeQyoMRhJlxdmGjScAQS3FBQSLG/Dkgpt6nQYaSKa2Lc60RyjDaqsDQq46q346CaShh/pX92mSiyo+OiUk0nkW0xKW4jInvm7jSgkExDfiQOtelNFE3NscXg4Ko6XWSb+Yk3tMPUpJGNwePpoA7C9xlmYfvLW4uXilEhRadmWn0Ag7MAfT10PHz6IRswDsUBNOQTuU2NPYCCSTt11FfSPHrVf+nZBJy7tzcTTRqheO5j+3TtpLE6lOapJ9SFmA68T01UyVY6SYZifIWDUnsJReQyIvc5jHPFNMxDvQpcUKsBRTWoFNtAb5PkUMGPtordbC8srq+u8U9pdu8tlib6Y3VvjzLApV+0JeUbK54VK7UI0KMRdtdSOsl27yyTRpKskr83kjYni/OpJaQjct7ieuhDkgd17nHknJF7ihVVX4cQnFaFeQXqQKkV0K1dhi78sNrHVWmkWIyNVlRmI5MAFDAAVNBU6HbZFIo3cvbS3Fji4EjhhkDN3b26jdLc7R0kEKVPtpVmBrtoKpVM93jse7d2O2RL29khhjnD8TSASrGRHIpkcKx5U4n4jccNZY3V87zYm1i/UYrqWWFcdaXBsFzeUeNp5psrlk+1v5LW0hDgQO8VUCruq7hdFi4bnk2Vntb+OxHbmwuBngw/iuLBeM9jK54BYJrkqxDxW4mumI3LDQZ6+yP3cgkjtcbaY/DxmJBhIpILD7ucmK2krPGJryf7YHk7BZQZKgbEaD0lmGygs0doRbQNDJOtu7u3JiL69ijT8x3HJyrMvIhPlXQj+hLqDxfLW2SbFx32MyNhDHcwwZGeGWK+sou1CyxNGBwulDLJ2zUlSeJNNBmcZbpPfWkUl19lE0sbS3NHcwJyFWCIeTuo6D1O2g2drb4XuT5Hxq+yD5HBzLlI7PJ20ES5SxtXVbxrd4nlErtyPKJwrGNjsd9BWttZ2/ldzi2aJsXm+9ZRtGVdIEyaLPipE7gBgktrp4QSw5KvIaDmMvGtrC0kuIK3PiGYkiv4igW4kwWYZrW8gbkRI/290ZUofp7wroPT3kNs81thi16rXJitUubYys8ExkhRhbvJJHcF4jyIRdwaMARXQ1Qwt1IVIu89AkSQwuXuO41ujNE1rCn51vGm6qSTQU2CroCAirTlMqHtCM2/E8HUNIRI8iAdto3NFDAtKeXJqgHQRljTv1dufdklMrRxGdnfkPYr+2JbhZDQcKxmgJoQBqKiBGJGjUXKxTOnGN+3HbNMqkP9vMoNwkrIpqigmnqDqoOBhmjAMQe4k4oY2nWUQMiOI+9bljIsd5GKLSqyKoI4sDUIuXuC7S2siyRRGNmkUASJ3Ft4h3owguopHZlaMkMpAIOgpMAmkd1qzg0uJW7sp5EAfnErzcQcKRyCoYe3j6grrSxPbUaaNh9UUCWpWW9flxeNRDErxKOR4qE58ak1FCST9cSAd0c4YCiLGFmEYjjilQOY4LcRojSw27jdygZxUgVBqAiJyV2cSIzpQSbpdMYro90g8UkclGDxgcVrRqAk6D6b4flfuCiBri4d3kiaYz/cx/lRKWnjWK2twkvNKTCRpBzAZGYsdBkPOrKtzmIBGe3dLa+QWZEShUaRUx+ZgAUhn/ADoYZmND7mNdzXQfGkbhJ8gCOVStV6Ak0JIPz6aC1qMx2CkUDcqBQ38PuGxr6nQdAJBX2pzIqDThRWrRX3K77j0Px0KvNFSv5bLQLUckJ3P1V5UIPwFdBYik1aq0URr2zIRKv1NzVD0iFaE7gHbQaHx+aO3mmW5vOFsBJJHDEwWjNKgk7lIiebFVMVTw5UqV0G3iRFZ2UTVWRARbtE13JE3sU3JXv28LBnCxgcGWtGJrsDmIpJ7JWgZgXhCwSLNxcOVuHXuMt1EZNu5GsfKN/pJ1FTMabl3EpkKQXKyxCOMLKqssp7aC3jlSSNQFqGZqcxuDqoqMarBRVkWJeKlGMLMxicJ9v27pQbmoBLSDi6igJJAOgh2u3JICVjkuSkVHE0BhihcPJA8qiMtcFqfmM/MLUAlSNReJQjCzN2DC8kRfhG5VY07Qj/KkVnbvMvI7vU9xmNCa7VBEkMVwpjSC5jkijhdEiKW9wsL+8XSyvJH9xZxyBhWhNKoKFeJAZrdWiZ3uJGtoY3uGlVpZeyYvzopEkj7UqSqS8Zct+Yh3U0FR6sNVD8ljnMoRbcRyRyloysUrRTTTUR7r2mgKhW9aEaCP2SJGRAhKhGdl97yOhCssKvC8bKI4krwrSR6UAO+gVZEKkHauYjG10DPzUPbMrwHuxyNak0ljB2ZHaTiSJKq9KAgaQtcGaSQs1vYdxpCzGWSaabg3T2oe1GBtQAD1roEFtfXWJvBe2HEzSxTR3UFxCtza3lncFWktL22ZQs8R4g/jQihUHQOTk/FcvyGXxFxhLt//AJY4RmvLMMT7zJjrhhNCCtfodiNttAyxuHzFoZLjwbyiHKx0Ly2Vncfa3ZRdwZcTeAc6DrVWP+rQVSZ6P7kf9UeNmDIQsQMvgzJgczHIDRpnVAkM7U6EhBtoNLbZL9W4wWmYxXlcXHbFeTp+i+QRjkQILXKRBYrmb5kuDXpoYIc5i7T7a6u8fZ5LDZrEFMlJhchCOUMMckave466iBhvLeCYKSwA2IJHqSjPscPk7vIf/C1rjrzIz2mbxdvcjhBNFlrCC4u0juJXSKrX5kUR8lYFSd/QhjH4reQVbK3ePxFoBFbQXVzc2qiaSSQS1tGleINGo9zMGLkGgruACzIY18dNJbmWGUhzHGw4wSO6hS4vIJKyLModSnVGR1YEhhoFklvHcpJFcDhCSYu3yaR4VCe51UqP5TNtv16+uhox8Yv7iT7LFHOQ4XO4gzR4jJXkayWeVw1wqmPFTSSMQYYpULLESOqlffGNBpcilzb3H3Hk3iUsNxECR5V4XPLb3CACpneONo5mqDUhy/r7dChljs3d3iBMXncL5ZCCP/gryCNcNnk9p4xxTpD2biQKT7mtx6+74kC3Vv47cSJDkEv/AAy+DOFgygKY6dmUCRbXKJK1k8LfBJlJJrw0UHL43lbJHMVnHeQTo4iuLAi/t+3IAfzBOwkMDAV+lyp6ddBmniEtncW7L2gImhMbgxKqlWNHWVjKArEUNAanr6aD57YTy2t3DMgflE8RZVbhtFKjqfcQDQpTcjY120H2bMy4+BUusjBdi1vLa5t2ltr1RdJGkCXEPZx85EEaqZJFJ5+8sARWmgzA8mtsZGgweGtMS5WgyOVkW7v50anuht+LOQ2xACPT46CpMd5P5TK1wYb/ACAY1a9ybvj8anbAAdLWP88oq/JARvTrodjXwvjeMXt5zyRrh+rY3x+IRWyvwI4SXEZJkYsKe6Steo0Nqh4x43mvf4hl5rC8Na469d45GoOiAyHvVO3GOR2qfp0GOv7bJ4mULl7Gik0S7hrCX9VIuIkWJiKVCSoH0D+w86yltF2ZLyPKWwQR/Z5i35ycVIIWO6jrzcDYVb16emgEzEtrHe2efwVv+nWs7xiS3t3YGwycJViGlVERDMN1dQoYHYVB0IV5ANYXthn8epgtci33SCMyAWl5G3CeDuSSyzFWZaFnpzrX10Er55cZdWnkeKeS3t8iSJFUlUtL5QPubFhzYzQSIQORADBhoO3vHG31n5BimC2N26SyoUV1sbsMsc8E8XrbSSbKWAD+laE6GA2Wt/tntfIcaZBa3E1ZeScDb5C34SyiOrN3IoDIoDg0KkV3roCrm2GUIzttJEqzDsZWKWrdm7C8luJFjQMLS7DNRlUrGKKTUDQd7YkkFu17JPM1SMdgLV3nYUGzSRiSahHUtx0IuD8hxGXtrGCSTB3OOx0LFg80kUsvdlHENOscskkYb4tWpPpsNE4lVjpg9osvcJe1kimENSSYm/KuDT6QaEbLU7b0A0VmrqIwXNxCOkcsnH4FGPJHHxDIw/ZooahOwoTXYfGtP92icpFuI4mlNiRX1FRWtAQd9EujuaetP6P3bjRbyktKE0rUU6eo3JNfUg6FsJipO522NWrsAegFD0+XXQWAk03ApQDYoaA1B2r7iR6b6B3Z3cTIsVzbLLCGbkxbgSW6jiFaNgP6zDkT66BvBb4lgHgmv7Rx/FDcNEoNSParh+Fa+h3H7tDgWIUYFf1vLSIaVTuxk8uOxL+pp8RocoJZY2IhhA9zIprzu5Wn367RGkQ5fgdAU1xIV4qQiLSiIAqr+CqAPTUGIzMfG+mIUjvok4Kgbkiknw9wIOqGmCv3tllgLIY5BDexVnaKXv27dmisFYUSPd12YgbV6aHpvJH27zLWYaMLcCHJWvBmlCr/AMaktBIG7U1afFfloaZ2eNkNG2Y158jsCrMObNuCjfv0F0NtlbuBZIbO9ntQxCmK2kFvTlyfhQLHIxO/trWuh4Is8FlstHcS2NoWis3ZLqeRvto45EXm8Msk1G70SbttSOu5GgLwMxrPaOYo3t5u4sUyNJxIftyJGyMrRyo1KlCSy7jl01FaXI2bT2UqS29zbduNpbeF4nhiMbseUq2rsZIo56V7zIvccEEDYGoymOrc47I4eUK5ty11CzcI2A4qkwrxEkjceDKN9wdB2CIZDAz27RcbrEyEu/KhWKd+IDxHfkt0tAVAoG30HXX9TwEUgEslzi+NtJzVGHF3eSGNO3yldAOas8lP4VGoG2LxD+T21qYJre2ks4+3kLidqfbLCU+2nAM0bt9zGeFahVZfSmqHzZPF+Nu1p43AmSyjqI5s7ckyv3HJDLCnH8teYIC0PP8AhDHfQWW/jqgfrHl19NEZm5/b+6TIyq1A7GFO7NApj6kDuBfqZOmhQtTJ+PSXLxW9k1pg7W6iuPtoXS6lhmFFmuEjuyyS2F/CO3Lb1C+4tu2h4uz/AJddt27fH2/6XglSIJBbusNzd2chaNir2oVRAg3MakKu1anQi7MOIMNkbeZ4mnxd1ColMXESXVlcVeOVTJyAlVX41O6stNDh4f8AwJlD3eMuNvR2p+MnKGWCQcopO5H9fa2YEdJEO3UaCE0cuByaXEf59pPRC3JuzeQSxqyyEL22ZZYWrSlQ6+h0NNHjcJkIpru/sON347NCoyTvMlotzYyEPJNaq7qv3NvQN15RTCnU6KIny2Mxs0cHh9pOmUltQl9fM0luZFk97/fW7yS21q6OauQqvzHsoCdEIWjKySz3Ny99fzCklw3LtxivJooFcs1GYVZyeTU0FZ+e/wAxvoZR9B+H9OhKQPXb+n1+J/DQq8DT8OnWmgjcW8N0q9zkkiU7U8ZpLHStN+roD6dRqHBjj/IL/E9mHKRPfWEB429zExSSGMjeOOWJTJbR0Jqm8Lt9aHVDo4rC59Q2MnR3kDOI0RIpEFGYs9oZIo3kJAHOylQu/wDwRoWUJZeVYVnhxt9dKlQZIYmlnIoDR5LUiC7U09GgY/E6BG6t9w1xei/yF/y5NJdWV4I4nPqlu8RZnHoz1Pw0KmEeNzV6eUWKv2V6ATXMYsYDy23lvWgFB8q6DQ2fiEUaLeeRX0MFkGFbaFpYYZwp90LXk0azXQYIRxt4/eP46aKzmeyUefvzHaqiYbHUt1lji7AmiiIMVoi8mAAI9wFAigD5aFf0DI5NT6Ejam1KbUHSg1EjhVXqTQfhsP3GuqQ6OTEAAsf/AA1/1D10LOhCPqZF9ACwPX+yK0Og5UegJp1JrQ/s2ApoBJwwucfMgJeOcqFBVS26yBTyono27baD1qO091CNhHcygCobipYsoBGzdeuh2PFxMooJZKeg5tQf07ai+vfczmo78n4dw/79VFaC7vJvt7aG5vZ6V7MCSTyKvXk/GqxL82IGgYYXJWWKyLPk8VLdzoezbRTEW72N9ExMqyRXKGJJzGVKl1LKB7dzXQO89kJ/II2VvtrYxwXD20MUbq7K0f51jcFmaa7acKDVqLGy8qVA0GLxkF3kLm1gsUaXJk/bxR0Ki5iHvZJ2JUwLCKkybcRUeo0Du9tpbXKR4+47GYmspYJ72HHq7C7u6r2cTFyU954+O44Vbeu50BWav7/K3S2S2rQ5PIyRwvZr3A1soHb7Bgcv2SldqU+qtNtARloipx/huIEcyRtE13JBL3Pvb6TjzWXhxjSON16H3KinfUPEMsDdXeP8UxbB4bKRIZZdkiu792LvcSEbhI2DM3KtFUgU6ap2jkUTLZfG4DHu5tMaq2fcJj4B1q93crwZkcxoHk5VPUemgjcqmczsVhb8ocXjIzbJylDosFotLu55JxT3QrQMo5MzjQeQQ53yRpPbBirGgo05MKWdpxDcJHoqidlVEG1anQV2lwmRymTzuQkka1sY3eFpXBmZwWjx8aIChlMcnv4KQ1FroKMJOYBlPJbwG4KqYYjI/N5Lm7jaKAv3Dyk4wAsakULCmgHxxbHYfIZOVUM92j2sCzcKGSZ17kkatxlmMJKr+WwA35AjbRaPH/4M8dSNXaO5zE60K8qvZwF43WUOvaKvMxYMnuUjemiH9pYtYYKBWhTuZEi5lEzxRA2sXEW0Ycq9xE/8XIBeJNCdwdBnMxcstqIEMgkuWMTK7LRIyQZEXtkq0daUJJO2++hU98d8bjurCXI30vYtFDLbKLi1tWm7R4ySme6JjhjjccQKEsa9BoKb7CQvbx3QkHZnnEUcOVtVWNQxpGVy1s09lxkFCrM0YNfTQZ+6hgxMFxFzyNjkJh21xwkmNjdWsyhfuYLhJWWc8qgqC6ED0OhtKG3ZMdcEIDtFEQtCV7jAsQgYS7Kv1JUqTQjfQaXBZmDxm/x7T20tyTYXUgtoGQSK9xJFxuZHk4ooaFGHHYj1roN9/wDpOxY+vGZQGo2C2rHixorD+8A0am3x0Si1f8zMMWCtYZZQagMILdtwK0otzXfQo8P8zMGxHbsss4PIcvtrdaFfT3XO9f8AZovgWX/NDHrJwjxGSYE7M72kVafEd2TjXQoGk/zRBB+3wUxNDRp76JE+VOEUhb9miUK5v8y841ezjsbCCCFLPczuGArUCsKEUHroUKp/NPKrpKfqEduHIKra2sEL0Pp3JRM4qP26KQ3FzkL5v77lb29O9EluZSoJP1FQwUgHboBoA+1DCAGCKC1eZKKvIbilWDVr66FwFxlbKOTjJ/eYlSQJHDI0TidhxWV5gp2jO4AqD66BPNnJyY+0Wj7a0HCgr8CailfwGgVPfzyOXY8yeVTLWSpO3Kje0MPTUqtAhZ5GHJixPxP+zpoUE8OK8fXr+3VTlxdgwIBBXevp8CPnoshmoWNNRYWojOyogLM3QAf9+qwbNGUtwFLAD60J3VvkPhXRS8V5D4/D0+R/GungtlZpDUijdPx0O3OHaUFjXkKgDqD8Px0FIHMsxrRRX93p8xTRMm7hwiylIkQopUAAlgB1B6g6il7yA70pQ1U/D5GmqevGWNxx3Wvx/d1+Gi1cSVIZDyZiCtK/A/s0RdJeIqAfWQaih3I+fpqDou3mX2htvj0AH9FNULHZnc8jU9K9QAPhqLiKo8P36qVTDyoNmNP3jUW0u99v26FJ/wAWi6NKcBU6FBsFtPcU9iRLJUB3Pt6fLpqpkLNZyxMyF0ahoSOh/D5aFokZa24Kn14ih+Q+OhyO9iJ2kIYb1pSv4aBBcijkL03FB1GhCntPStNv6dRqryxk6JX4tjbtsDvUEevp61+Oqlf1qLCWGIlXjjmWehinDuGt5RupAGzKehB0DpJO6oetDXcL/WGx0DTH2T5CftG4tbaKIdyaa5dEKx+pjDEGRgB+A0DaTyK1w0Zs/G4jIWLfc5adAxl4j3GBXANAdv6nw0GSgLuGkkkZ3lkklkZzVmeRixZuu5J0DC3ylxavHaXTzXOMkekELytxtZm6qu/tRiaj0HpoZaGe1SaJraV/qj7kUlVd4weg36UProZZK6tZ7Od4Ze20yIpkWNg6TQuKo6su3cUbj19NQsoDsffEGqUMZD0pcw/xJ8Cy9VPodUQVmXh2pPcVKxyVKiVP47W4B9fx6HREnUNSWDnEIjRHcVaCVtnt5xShiev4ajQYsshZGUw8SCVBq9vN6SRn1if09KaqLSwlPbkiUTBKPGm0d0i/TcQb+2QDcgdDodI82BXuPXl7Y7mTqw6di5rXf0BOi3WJxgZw1uJYztJGNri23r3bZ/4l/s6IsMDpH91atHJBP9ahvypwP4Zk/wCBOPjTQWfbW95FztWaO4hNGtJXC3sJpu8DbCaH5aCCTqzhMiwhQL21u4IRxJ6KLuIbpv1Ogte3nxkqSxGCeBwHVGbu2F0p3PAgkxMQf36g65x9+4VV/T7okFbWdvyS3obW6BBWp6DVDtLbyn7S5x7QJf2IjDzLf8HeBae2S3uSwZio3A3O2h2PxsniGBtopLmdsxkShbsQI0oRjvxCt+XFxO25rodqb7zLNX4+1x8ceJtzVVjtlE96ynYCqrSM/gNvjoKsf45k4458zdQQ9qJXnlGUdy9zsWZ2YEmNh6E130COxETx5HJzCIBeTRR9wB0ZvoCo27pQ7HrodBrXvwWVxeo6oZCY9iOTF+q8TWo32+GgYPILPCQWNvJbyz5KSl1E8YaeGpqGQkVXYAV0UDexEXNrYiNIxAqc2RmKvy/jda0qB19dE9V5G4iF8rJHF2bNEBEBJSQjq2+wb5aFwk9417dtO1B7FEYChaIOnTqfnoBJURXJOyTGob+pKPl/a0G5x3jtjaYz9X8ll4W0iA29sGZTIGFUqFo7SN6D00C+38jyKyLb42z7thE5+ztJ0MnH+oZO3vIQd6HQPhb+c5tFW5uPsLY1J7YSzAU9Qe2O6VA9K6HpTfYjxnExSrcZW4uskVb8uyYSgy02Eq+5SOXUkg6DIPZ3Cxif7S5gUmiu8bCJ69OD041PwOi1WWEMt3cwwCNm5MC5VSQEXdiaVoNvXRDKQSZPMJAAXigIjCr7aRx/Wa9Kk+ughPFcZLKNbWaT3JiPZgjYligXZq/wogO9ToWa+HE4rxmBMhn5Vub8+62x8RD0cfSBH1Yg9SdhoPiRQF0WM1qgZq7cWClpBU0BIp6ahV9TZYrLAWqyxRyNb2KzgmeNBI60uWUkGqn88Cv1PuhHqKAPHYY/0jJTXElpaRzXdqs1zNIOUsduWu3x2OiRvuJri5Z15FKLHEu5PTQox+SuTeXdzehVjUzmGNRyXsJGv5caBKFUKCg/DQARQl6M9UR60I4szt0JANAFB6k7DQosigknnS2topppHoqwxJJLNPIKleEcSu5IrQUBGhZqhgb/AMcjGUy62ttKYyLfG3EttNffmxE926x/MtDHJGeAL0dXYGg66A63nmx6pLPMztYQyXM4eVGMV3PyFbYc5o3S2aTj7SKnjQA10LuYN8jBBdZNC47zpfXzsiOi20jSw2JuIwxM0Jl5PwK8RxDbgU0PVimOa4mVGNytvEolK3XehlMoBu7uS5gjVjAI2CmRVRo0cVroM9n87f5KYW8k0cdlZlobWztI1t7K0UEBks7WL8uJBxpy3dqVJ0KoYVUue5jZ4px3zFcwXEUqokLRShzLcxuGWeJoi4H8QehowHHRDvOZmW7nu8rZq1lJPkY5rcxduJoIcVFHDEawqkUkncozMAAWPTRfCvI+R3+VtxBJDjLVeRluvsbGGyaeZyFE1y6ktI9BsE4qoJougjiMbkpJobu2hniWCVblb/s87a2ksiLnuzNJSAJGqVZXIrWnroZPxnlyFxJMmIsMNFD3Zsje4xZkkuQIXWC24ySMLWC6cAlF3J9dBi5ZHnfn7hO8jSM6nYPs0ZUglgIiOp0Gtv8AJzm6h8hhSCZfJMTPZZaKaONbcZFF7GSJghcCORZ447qLlTkzhtAvtHEl/jUZo5YoopWCq0i/brxkLQ95eEyqAD7DSgbaug1UTBhKEUB4QHlt+6yupk5COdinchMwjFFaMtJyIDKTXQXIpBniZ5JQiyq7Pbs4EdI5YecZC83YOVeQqOLCjGpqAtSCdLpXhQ9y3VF4TK0lp22LRyQz2ryM6Q/mKjFGBXaQkgV0HElkYVZWlgvGkDSqkTurpGzW1sYIhQe0MqyME94DVJ0EllAgMRBnWIhojLbRxNG0YBKTpOrzIsXOhZaxSMteIBFR260PFixiV6otu8MztarC4jjaeKZEDIwko0iVRlkBAU8hoK4wrqY5DHEVhKspWdHbvyflyWUyyS9xkJUNGpXuh6gCh1BakZtpUBnWsiRzLLMkiQTGMGNZYZYpElScOtQSoYKCNwdUukiwSGWKaKKZYbkPHJaO8KAswbvW6tJ2pbwo3sAPGQKTTQdkjl7sapFbGVZI/wAozQNeSLEj8bwrPV4CuyBlCmOlCSNtDgZig5nhnjnu/uGlW5kucVaLe37RF5gXltRaH7z7SVirtbycwpBdJEKgBd5R3ri9xIDSPE1vlbJAsDrHDJJbi5CciFY3Egt1keMseB6itdB8TkUJPIp3AZkbkCu4JA9Nj6/DQdqpUlTJWo50oykD2+5D14g9dBIe08mYqi1FVTmrUGwYVpSnXpocOMq7/TSuxStCSKiqGjLX10Fy8mK0/wCGrAU9zMeYdgaULJU7BtvTQP8AEu9nfXJX7NlmgijmV5m4zi44yRW6cYyRdI8RcAhkb6SDtoNxEObQszqplZ62hiEkj99w0ZWXaATPOu7liFFT7tAxEZIgE0a95OK2ks6oO4i8pmKgVltpI5I6MCSOHEnag1FFAOrSOkrRFjGVDh5TxT2kmK4Z1kkllXhIeRJorKBsdVHWlkRZZVYLE1vFLJJbKj0mjmLXIWCVHYQ9shgEIbdl3IGglKxi+4MURkdIlMkcEr0UllJmjSSqiQGUFlqp4kBK0I0ElftpI5C8wk/dkbtmQKUI4yCVuMhX+YF2KAn6SKaKDRPyVRoIYo53j5L2JhNytnaSeTuk8BHIXO4ABccuJ0RZJMYquOzH25gY4w1vzigmVoY+pQE9wBVAqklQDxOg6xCtSfmrSnkVkVraN27SSGGBu9Hbxq6seMYpwqQfdQkOG5SOiLJK7xSRi0XszyLJPHTjbSrJHbcRJGWIBaRFHuQkAUE8Mrlb6DIXLzdqSJEiZePcVkuLiYl572gHFvReZoSAegpoVGZHAzWNpPKb+OaW6PbSCCGZI0WztFna2lmk4GO4SOXuhSAJIjzRmAIAZbGYtcnePHcXSY+zhgkubi9ulYxJDBSNzbxqe5O5kBCqDXY6Fl17iMathFfYvLQZCKS4ltSI4poJ4rpI5Jkjube4pJEJ4IyUahUlSKnQZg25RxIC6yIwMci1ikUjct3UIKEHoep0GptvKsvHF9tkvt/I7LZWt8yncuYUcrQ2uTjP3sTNTapYeoG+h0tuLXxvM2l1c460vsXfWMKXF1jbuWOaIWrTpBLeWd4FV51tJZF5o6qxUkjpoCvF8zf87zA38j34jt55sfZ3LSzyXEaQyR5PCWc68po1yuMkcxrXiJokIAJ0LKLLF3XkFrgIrSH7p0tM1iWa6hiiiKY25W9s42avLv8AZuqb0b0roLYLFcD91Y+ReOZK/tJaNa9i57ZtGKcJouLtJAEkWhVlZZFFRuDsDfHeRYyKAQZ3xs3Fo0VrbQ31hcm4uoLKxSSLHxS2zSK/etbZwhlicGQAMwJGgbDI+K2otPtMLlMvjb0CabK3MckiWkc7siSLAwS8mSy4HutEV2BqxNABdmr6DH3kk6CJri1EkyRjtpOsYgllhkWC6HZM0IaMNHJ1kDCvvB0NLcbk/IMIsceMy8i24X8uwyv9+spVAJ7cXcpPASnRYnAJ0JM58r4vluK+T+OHG3LbDLYb++2hkp9bpbqLu249QpRm266BvZ4/OCDl4r5PZeQ4Uhg+OyLJlkjiILLDNFMRdIWcU4h1Kj+HQLYsja4yVlu8fnvBcirisuBWS8wFw7AnuTYieJ7cIv8AVSKtP49Bpospe5GFZjZ4HzixQcjd4WRLHOQJUASS4y7kbhNUEcUmQ/IepHyLya1wNub1sdF5Il2zRSJDf2a26WTNOzXsWTE8YuGKBh2nQ8STxJNCSVtRlLb9LwOTmjN1KbmHnCUCtMksT2dyYElElrbyQSxpQMGDFd6V0KM/FncXjTJPh8HH35eQlyeclhq1y8ruXRV4K5BalAWU0qAOmhykZ/LfJiIh+p30FKCG2RcPigpNCOciK8yAHciL3fHQFjwfKIOzHlsDYZF46rZwypc3TcqgD7macXHKT07agD0GgyWTw+ew0rLmMfPKiKD93AObqoOzrcInLiPhMlK+o66B9jvMrl4ftcgkPkFi6cHE6BcqkRclyxfuC8oDxBbvKtAKAaCVx4zgfIOU3it4be6ALHGXf5TcvqYJCzO8dHrUwmRUpuiih0LlNkklvJfeP5xTZC6jEcglFY7S8UM1veBlWVuy4JBMYqwNCRTQUY0pBLeYDLflQXqxRvMwUGOehexyK1pVXDdSwUBqmu2hFHcdLHZz32AzSobWcmC4lCtN2GoRb5G2COoaWNtiRUFSdjQaHi+xlbEXF749nI5Hx92iiStVIDKBbZSNEBM81tG5AQtxo3xpoWRtjJgsjPg8mYZcdfGON52Q3MctkxEkN5A0ZQyS28bhgFIDV3BGgGdLjxbI1jInxl7HKltOy9y3vLKRnWlHoJouS8o2b281qN10Nt9jsvHgLC3gws2Ne1vrVppb2G3E2QTKzFjPBduQzJJbEjgrxOskYopFK6BFncpd5CFf1C6nkeOWERWrzmWFmdAJmjR0V/70CKj6VFaD0EVjLSYYnKiOWFLiGCcMIJf5dxat7lRzsQQp2PxGqgnOY0iKK9hUmFlDI+xZrY14I/Cqq8JBqvUfhSoZYVAqp9CNvVT13/DQe5GlCOQJr7gSQANqEdNDTwq1NwNutD1rtU9Kn46CZjahYVoadTuQTT8DQjQWojnjv0XfboKnc1+rQXoBSoqu9F4AAUJAB91WDH00BcUdeNKBEoE5LyJYCvKhqa+vxp8NAbFRmLMxY9asDQUqFPH1PHc/NtAVGSENN6kddhStD+JJ1FFAmlaVNaKCaCnQ/gD/AKtD1MEsdhQDqajkT0pX0oNVCfORVhhnALGN2jYitVWQVUnrVSw/p0AeDuRa5KBjIUj59iZXoqG3uSkEwLkEJTmrV/s1G+g2OTWWG+tbqSALFaT/AGTL2wq9uRZI5o24OysoYFlJAJ5/IaFgWOOMssyr5e0kyESBUtbH2qLq6aVIo3lEh4GOINUKwIY0qNA+v/PMvFIrQ2uKtLQTvbpjp4I7mSZY3KSI6vye3hFOJIMYB2UaAfJ+RC6sLKxxxuMdZSQSve9yciscsjvPHJIrhrqBE2QPycsBWvTQYiG67eSW64SRQzSexZY2KGL2RAuHVVmXioL0612poRZujcxwHm0bmeNgJg1yXE1tMwTurLL3Gjt7cCvCRmAqCoJGh0yTTx2WVtMjCe7atcPGwcK5mjjNJUajBJR2pStQaVHXQGgwYrPBhIjY+/Dxl3VuAguhw5yL7jyRSrEbn2mmg9b8cRm57GeRvsLwvbySBCp7TkcLgROUKMkoWRA24U1oDoKY7Rba/fHPdNa/dXRtnSWX7azUhu4Jbq4o7pbMjc1VQZGO23XQ5b9b3C+H28cmMgiz+UlWUi9Wq2ts6LykjjVC/BxGCWHPu03ZtwNBn7hstnMpBksW13lpLyJZGgjMStDZhe1dW0o/LVIoJXCIzFVcH6T10DY+KwYt2y3kV8MbbtVIMTZcJ5ryCMCQW63DN240Ue0lfp3q1aaFCNprHLtNi7ey/T+MU13hbVWnlDWp7sk9lapI3dd7g/mhmKqCp4jjTQLsbEMlbS4WVXa+h5zWDKQHuICjNLaKrdJKjmgUULAg7aHqeOQ5S0OAmVnv7Pvy48IQzXUDASy2kVB9Qb86P3UqCvroNTBjrfC2dlD5rDDcQwRyXFgkE6ziS2YFvs7+N+xJbxm4CtE+9Hqh220Mk017d5JZY7MyYTx15mkgs4WkQMhJotpbOxEZkNS8hoCx2Gw0Ay9mCMRWkQhiFa0Yl5DtV5nPulcn1P7NBX9RBI3NK0O2x1DD1N/Un4U/d0rXQcIPwI+YH+ylNUrDhqKGh6/A6J08a06H49Ov9Goue0hvSrEdKbE/KtB8NUTVmX3K1PQ1Hp6ggVG/z1BQ9nbSOZY+dnNWvdtSqo56gy2zVhkp+AOqHMGZ8lgTs/ex5O3UpRJnQXAjDAlYo75ZoklcDjVGUgHbQaD/AK6zA9p8dmVtgoja5WONANggW/7bb/hoAZvLPJ5nLQWFhjmKcRNN2RMorXkDJ91OJASdwRoEFybzISGbM5Oa/JA/IhMsaOQKATTyEzMgG3FaA6CLMFRUjSKKOMcUiReKIvrwVf4vma19dBAN/wCCh/s1O3QVPT+jQeBFPbv8jRQP2gGuhtEsTWlQCCOrGvT15bf69BHfoTUfsH7OgGg9xP8A2nYU/bvoge5UMLce5v7ypPEOTQI+w4+8k/LfRXkoby+IpQzg15FhTtqa8yBy/GgroLz/AKfjqEnGK8cymb5TWcXZtl5hrydHdJGjqrLa28QM90VbYkUQEUqTtqmMnmE8mOItXw0FhjJ7uyJWW8immkgySO7d24aBlhMsgrQmQ8o6FeIpTQwxmYt3S47sqNHZ5B3EBWVrj7fshWihEz+6SbHdwAluqHiOmgtjv7yO37Bine7FEbiCLd0pwS4+4IoFdWpRSWYmlK6G2k7Evh+PLP2j5PnomQR1o2KsKc3d+VSjykBnLbUWh3Ggtx0UXiuKTOXkTzZDIJOmGjdXAXuIBPe3D8kaKa6Vx2wDzWLp1Ogox8f6BibjyC8YjMZMGLFQkc5Qk2z3R5N3Yy8dRC5pRQWBq2hL1kpweHuc9eMGzGXWSLFrKSZjHMeNzkEr7i7/AEqWI9m5rz0FViP0DCzZaUK+Ty6SW9iszSJIbSX8u5u7fioJlklAVKttGK9DoTi6u1U4DAy3zAtks0rW1qlYqw28nuN1JzdZ4WuXFUdVI4KPidB6Pu+PePCdKrk8/wAoLeVijGKwFHklZHVyJLhnL1NGC0IO2ghcc8D47HZoI0v/ACBUlkWRCbiOwUns8VKsihxykdiQwZgAK1IEo5dP0zE2OAhkT7u9Mdxk4ERnnPd4SQq7NGypJEgCIUbkeR9NBLNxNbQ4rxm159/afJRI0DRT3UjKIjWMtIDHIeADUAVa066COVjN1fYzxmylZraz7Qm4yBrdrtwXuLpdzxC8mYgk0psaU0C/NT/eZc2sTxNZ41RbW7QSiS2cKvGN0elC0wA5mh6U0F75o5B2a5XtOkkaS2hi9kTwpwIjkqDGsgG6p7TWopoEty7X+QVI1ZmjVVRBQgTTEKIh0ooOy9NtzqKdeT8II8XgowU7aCW8QCRVd1oWmBZuDlySpZQOnrqlgVkmRgkiiw99PFLPJHGljMxmtp3kYKkZDbBXJAIZWFNEcy810L9YbuO2ivEQK62EwfHxsshEjWtuo7NryQUYKAS4qdydBc0KSTYq2njQK79zuGodA3uf6qJGrIoowNRoFd/l7RMpKGMiJamOJHh7UoftxFWDE+1lLux26nQ9QbMWLVAnnA2qDFGKkNyDMQwJPoPQDQe/WrOm0rrt/wCRF9dalyvc3PwGgiM1YoKB5SABuscSCtSSQvu3Yn9mhwh+uWIaVy1wwkoAgKgxACnsJUgn1+NdCaqjn7UOW7DuBQRjuUKU25MSpBc6HKl/IU5cktATSlZXZ6emwHFR10KBJc9dsPYEi6AcVHKg/tdRooJ8neOP57r16Mw26nevx1DYYySvUySOx/tGv/fqpPCsj4dfif8AfoV+uVIO/wDRvqFIo4w3/HRYwLt4GIMrL7QRQn4/LVJkWyryBNSNiaCp/CnrolwU7b8VHXp8f3DUXsOEYmlCPxG/7tColC1sQanubFadAo/fudVDBr57lQsjRinpwAJPSpI66AVSjScGBV22QgjiW9OvxOhRZIEtmUGVJ2dKuoVg0D+qEn6iPiNALE0clxGs7FYSwDsNyq136fLQ5Ob1cZStlNyI9nboa8f62/qdDReJQyCJuSlOgINCPx0A8hoKaLM2U7epp8/9mjLixtIKjeh21GsTZxY5C/FVLMPSnT8dCsUWmSZeSkcQRxag/wBR1U0HIodRYvCYNQDqszaVqEANXr/rGix92oI5NRRWvQDUWMLEiPcCt160GhM/D61n7RZH6FfaG24tTqB66qdAbhyS3x36dD/36GUIZZCD1UMKH4aC5o54GQt0IBHpUH4fs0KhrtAsiutRyFSD1B/26EqQ70NBUHrtoIg0J4gk/GnTQQJ9T66JQZZ3AU8Gbip/HY/L4ajTT28yji6OXQqO6OJVkI25EVo1D1I1UuZlEYAyKkg6gsAevqPhtoUCzBpZ1iSK4eQpxtvt1Zg8jmhgZAPcCu+3TQbSHC43D2i3Hkkz96aIfa4u0atyWpsZeJB2PXoo9ToMqU7qMJYnWGUsFJqQAG9oWSnFpIxSpHroGuIuAxayunJuYVrBK52uLfp1qDyXodDYbLTW000Ito+E8Ptd0/ltGOqk/wATA6BcaIC3EGNt22q0D9e5H8Ff+L9+h244dQ/tp3FEksWzcv6txER0cetOo0EUdxRhuXADBTSO9iXrGWNQsoHQ9QdOFTdAStzZlkSNuMUkoDPCT1tbwdGQ9KnRFNFnqvFklQmRolFJLduvdgI+qIn4bag93FZRFLHWdyfzKgwXcfoFToko9R+7VNOKe0OL8zDXaUAm5tCOgYdZIR+8DQWvDJCRcQtGwkpV199ldeoWQCgWQ/HYjUEhFFd85I2NvdwkOLblwnjH9e2k27yV9N9FTW4QsI8oCmxUX8Mda7bLdwAbVPU6qJLa3Vjwu7UxSwE8+2f7xZSV68lFTCzDr8NRVpfGZFu3MoxlzKwCxz0ewZj6x3H/AAxX401UoZWw8kxTm0sXe5hnPEW8gF9ZXA6cY5qlkXj8DtqFVthgknvru5z8kPj8MQXnac1hL135RFusJ6bb11Sx43k/juKXs+P4r72dNvunXt27f2jK4Mj/ALBvoMpk85mMyTDeXZWCQjjjrEFIWINVVgKyS7/EnQCX6QQ2dnZpHMl47F7hHH0AdAFI5gk9PTQWLG17LjsYsYi7ZLylvy+QXffkNm+Gg6sytmHuXIeOxrGD+WjHtCgIH0yEEft0CaW9nM0+RTiZWlLAMo48K0Ap0G2goR+40pcAGUksAKCjjag+G+gptbe4lmjhgRppzL2BEv1NX6aelNDL6ZH4/h8Jj5LnyL++3k0f5WPhDtJGxFVCJH7g1f4jsNCSq1u8OIIp/ILfOX0kLMtlZSK/2kEVfy0SpjV5AtAWNSdA6gzeYmDw+PeMR2kTU4T3MfuUbUagCJX8SdBy5wmaukM/kvkaWcHEs0EUywpxA3UIvAE0/GuoF8d94biAFxtlPmr6vtfgTEX6e5pB8fgp0URLbeUeVDt3McWHxezdmnbXitCCWYB2Ip8hqoTzT2/i10YcPepl7qSNoZ+UYdYSegWaOoc19NyNDpbh/FstJHJlbq5XD23vkluZ6CR0fdyEYgIpB2J0LmMeYgtR+leGWLXFzJ7bjJSxF1LmoMiM1C++9Woo+B0FoxmM8e/+FvJ7wZHLSfmRWQfvSNIRUAISdgfU0UaFXxdI+40VvGpLSOpYmlQ8jrGQp3qPdor6RngxtbkJJFK1ugtlA4JwkhQUeJ5SY5lMCEMdpAPQ0FCMTkAgtrALIYY3LROeLVEarAHkcLVmVXqadToI2OBy2Xuzb4ywnvJFUFliUqkCliivcyTlI7VWHuHdINCDoNDHgMNi5Uiy2Sky+RduCYHxci8uGNFpFd5Xg0cdG2ZIUkem1RoNW02QxVqod8T/AJcYuRR/dYBJe+VXsXIuGfgTkeRKhfzHgA+FNBOyxsFrH+o21hBiEmPJfJ/O5FustOtA0suK8eAaJ2CsDGxDFlP1H0DDZe4sr64tMNiJW+2aRUe4vY7eyaaWrNLcTiItDCZWO3QhAobcbA4MzWUIkjSyEUMNtPbwWUc86pdyxtEI57tZCXeSFAKcyVkYqADUaAGd2x+MLtcxmeNnRIoQCssk4BuHWcLGyETUDI3ISKm1OJ0GH3apYkserHfetT0qaaDU4OOOOxvLzuzK7x3ETtbosn29ssde7MshMRjd6ih4sCQVJIpoeHuMWzNu9pm7GU2kuMUSZhWcrg5ZjJe2sZRFMLLdgIORHcq2xIqDCn4ZR3ixXFjjj4fbHAT2sTNKkElxlZLGaGJpcxJfKxgkaES92hRYxTiCOugGpkLyKzkxfkuPt7PBtcQR213fR20dqbW5mH3dzYTLILtMmnFgCs3MuVPSmqOmwTNwZG9sDYYayvL1Vea7uI7dZWULIkNuk88ZNvLPuFBcKq1r6AMXlcVe4a+ksr1VhmWhDRvyjkicckmjI9rxyA1DDbfQDFisKKZGjElx3DGB+Srdrt94wgheR6E+o0DXEu7XjkcYXWOCQSoB20ZXK95ywYIfcSWYFB0YUNdBrOcVI27aiURE9qSWNAJ7ZglveQyP2Iu3cUBjYyfWdgSKEC+SrOx7c0qCR3jhjDFk+4IW6E0KKZLecrTkybVYkClDoLWh7UqNaI4ExZ5maJ3kuGeWNSEvozxLRwHlzChSK/MaFkIzCrc+CK8RjktzF+VHJEshAiZ3UxoZAwLRqfbIpJAB0PVzpPKqglmnt5QytM4luIOckcPdSWRW9jEBIgx4Gp6VFR49RvfdlmLxvGZmtIAtwrMpji7ikl4ZEdq8yrUNCNxQBOKCMxxo3KTtgzSrbXB+7vRbS17ZmXiSF7vJgDziYV47bgNSCBUlaMm0kl78ga3mEsQSIKnec977WWhrHIh3ryKncAJK8ckcg7UFxFNNzhimiESXNu7qGkgfii3bQzys4YlZA9QAFamg9P3u3K8rG7SKtuxSWOIQw8/yjP342ILRjkJEZgHULTjvoZclkubV0DzXkSO6tNcRW0MsYBR5ReARCKFMnAzFQtVTfYnhoXfRvI8bDJgBkrYS3VxhmtcxHJIp78y2RX79ZopgriW5szIZA3vY7fDQfAvJccLHJS8G7lvJwltJf4JrOde7aXCehilt2WlDtoEQYgDZkPTko5KemxHQ8j8NBMORVgwRmBoUAKsF6rUVK1+Y31FQLmlSeRZuTAU22A3oKLX4fLVDiwtJLiCWVE9RV1jlcKqEGSixqSteQJpWg30Q4xHb7l5IlIxNL2knpcT3FwLcsJI1aNVjjjk/r7KpUU3qNBskd6LtC8TSRmWCMRTsqqeAKgASPbgSAkAKyNU7rsANUIkkppzgcwPIUZ3lkEbhYuyw7ikGQe5S5Mg33qQAsRuMpRu4zyVDULCsicpJUVf5sAUMF7hXbpUjcBCs6wgM0iupKxT20MwmURVlSSOOYxssjKtWUjmwYjka6AkOiIZYy8EtXaOS1AcHvL+Z3uFTch+XVwGSuwrtoIKXNmj2szNGI0ii7oijuLUOKsqzFO7HKJGLysRUAnejaCDrzjkNwkcxkgf7xqu1s0i8DFdqBxkx90GVVWUdVADHpoeOMxErNIkZ7cUUbTW9zGUiNwOJF1A5DoCpo0hVveFIUb6CiXhG8aKnKJnJlIaBZGSLmO4BI5A5heIoQ5fdStNCS+7vDBaXMqTMBJFHF9peSXRkSVX7fdtXWMCWTHyEGSAUb37PTYhmHdbKKQ81lZWESMiJH9zcyN9YVVVWBp1IFVG4GgeeO3UmWxAxkjA3eLuo7C3kYc40dnnuPG+47sVWN7lrrHNtTt3aDoBoMdJc/pmQiuIrWO5tGEjfaXRlWC5trmJo5IJu26OksQdgGUhlYV9KaDarj4s1FjJMXaYrFRyn7mKza/8A7zfNNbzWjyPe3SQw3d5Y3sLIYloypIpI3roMxf4m9xk7W97bywTKRVZOVKk8k4E+yQN19pNdCpfwINOnL2n2iooailBXr8a00BlgJ7C4t8gbJr+343MF5ZyuUS6sLyJoLiNZuJKSn6kb0kUUB3GgbrjsHk5YJ8L5CcdloZEmt7XNRjF3qSwsDB2L9HNjNcBxsQUNQCANxoIm3urVsxL5Pj7/ACL43K4/IZGCKdbGGuRS5s+5+UoVDdytEweJeL8SKjroNVh/IbccbfFeUzYwliP0Pze2F9aFyxBht8xG8cqQciBQyEgemgdXsdoYy+f8YuMUHHJc54zTL4qRUPIT3ENtH9xDFyJIEkDbfxaIW2mAyhx9xb+IeWR32HlaUtY2E1oHhWfk0kambuSWTTPsVDItTWnXRbEctjcYtYLG8tJ7TtIxilmBJeTeqR3hAVoJW3Zd6tUjQCGRl7kcfCctxUMgURAKwdZI4+ImQR0ZTxZR1FBWmhlezDiQJDxQLyI5VmdYwjSUCVeVmNWEhUqvRjTQBC3hdlvEFxZ3irHH3rNp7O5MlffMby3lQFOgPNactDJ/aeSeRWwe3nucf5LaCo+1y0I+5FFAeGK9t4yXmoCCZIjv66Cp73wbJSpJc2OV8Lyf8GRtBJ9qhqKH7q0ajIzigLIg23poB/IbXyea0lr5Xj8th5cdKwvEyFrbNfWVm6zvbzxBWF1eQGcEAsWbnSvUaHSnFA/9LXl1JEjxQZKK/tbESobZUt5bf7lI/wAs3Fb8CRiNgDuCBXQRl8ixKX17krXAS3V1M/uuMrPAkFuQBGEMqoqkLGq8eLqVPUGugplynlOehMaveyWca8jbYKzW0t3VBWjXUggW42FdhJ8tFYiS6hjcq9g8RDshDXcv3iupo3c7gKgg/wALIADol2pxvl+VtEW3t8hHfQAgCxzEfNlpQCOK5kcoOgACSoD8K6KbSP4bnX45O0n8XypHKO5jEpt5pCd25xwj6CNiyPUn6ttELMj4pl7CEX9jPbZy0iCyJkbBwL2ArRgxaB2Fy0R6rUyfIaIou3n8hx36mJZLjNYiMPePQ8rrGRleF3JO7ETyROVAFOQFC1dFV3Tt5LjzkEMYzWLRTccpUR8paMyxxx2lmkaBGtAPeF2C0Y/DQdVU8jxUYg7pz+Kjkm5SsixXGNgTi1rCECsssTAbPyZifaaCmgjaH/qHHxYuWRkzGNEgxEktBJIU5NLiZxs7yMy0hr6kqfTQ27ZzQ5Sx/wCnspH9ne2s9cfccQktreMwVre6FKzRTVCxszBIgTsfQDcRkIbK4lwnlmL++WwlYpaP2+4tyF7SAzTNRseFqVjGyPuB1BA2/wAdFybNYKzjt4BEZ7/x5JwbuyhUUkyFoR0hZTWqCi1+NV0C82VvbQDKWSjIWNFVskQ7XVhJKCTa3kDsRbyrWgaMcCKGoroMJfTtdXkspUoxcIqVBaNYwFRT8TQV+G+hDQYPJ26o9pf9z7Nyz0iVHMV28XaWQ9wgi2kAHc4UYgCm4Gh6EzOFkx7i4jjeS0lpJG4JKhWJKsjBQHhlA9r7Aj51ABAPU1ABJ5UJ9RUdOo39NB1astBvUk0OxoB+7QXKooCNz9dA1PauwCkn2k+p6gdNBeIw1CQKcG9tSetaEMDUgDZfnoYFRIyrzYLzkqiqp+iNVAYLsfczGlfSh0LCVSvtYkllAVVFABU8iRt9VenwG+hsUnXYHYKFH9pvUDqAF+PXroL4oyxHIURQeW4pUbhRQ+4sRv6ADUBJ36bAUFeo6e6g9KaptaOm1B+zYfs0NqZo1nikiO4kjYUJHU/Sa7gENocMXCFU1kcqyT/bzIyjaOUNG0q19oZAaV9NjoPo0bNkILCMkSXF5YX2OldCGc5PHyh4SJDUK0hgV1O/JZDvoaIskRPaW99AzrdKgguvZT8yMqjS1IJR2KK3UUoSNA9tMJjM5brk8jmILK2RVe5WNlF4169PurMrKhkZ1aPuBkjce+lfXQFW2VwuInntcRZz54Rs8tpcXCmGW07gAliuinFJLeOhKOTGw5ft0Kqb6XK+Y2uQmP6Zb22FiSf7eGVjFCwqxbmiStI/bJVmrwFQCfgGXsL1oMjCZYw1u6GzuUnuJZYwJ17YZyAO28CmqgcgKV1FU5y3ltrn7WRg4tKwQsIwoIDVRkoacJYyDX166qeGFTlsEBWt3h3URrWNGkt5W/KYKPzZJI3BUncKrCp20Hrofq2Fgv0bnd45hBcqVZpipq9vMz8izK6/lliBRgBoQnOgymKiyDfmSwhbK9YMDPHPHVrO7li4g8JVHbLN13+Gga+PYbL3mJe4l+ytMPenvpfXdzEFsZIGMfd+3LmZFnHJErsx67U0DWa7xfhsTW3j+SvLzInib+9RoLmGG1Xk8kcUSKbcFWILMQyinWug5b2NrkhHdZabs28txHffqskjulzCCZJLex4hluZJQCX9qtDIvrUDQcy3kNr2JbHxeygjsbNjdT5KdPzZ5YlJd57i4R5WdwAAFbuAihIXbQ7BWuFu/JpLbKYVrOxkVi9yC7pb4yRCGZJj+bMEn/mIGqhqy1AoNAwvcth7OL7OxxVtdeSM6NJfWsQZLS6t6IZcVMyLJDbtIGZeYWOM1oGFNDwjeOWab7vL3DZC8B5JE8jzW1s1a8i0pY3EtfU+wHoNByWV5WqxJJp1rT5BfT0/DQVEfAe0GpoRX/4r1AH7tCHiVHIlkCqtWLbAACu56U0MrsZaX2cmMWItxNGjBJr+fnHZQkqGCKVDS3UxrtEgLfGnXQNc/wCP3GAS1eS7luZLhZGaKS1ig5rAqm4NoYLq4JkgEgYxShXZDVSSCuh4RKwdQyyBgQCCC1COoI/EaHG3q7f6fs/bqKiTQj419f8ASmqiamtTvXf1oa03B/YdRXQ1KVB+VK0+f7dVMpg+m4/1fvPXRNJVPSpp+OhVEmg9aV/HRcuVJ6Kf6B/QdEepXbbl6A02/wBBornAj1H/AG/v1CqJp0rUfKnw/wB+heUaj0rT1qf9g1UTPJWZSFBBAPAqR8fqQsDUeoOi22gT+P8ArOglHA91c29vGHLMZpPy42lKiOIryMSyRFhWSh9woN67aiyFjpzun2Cm5kUU32jCxgACtSStKCu/x1Uy13/Sd/FjZslk7hcUEQvDatAbq6cBeZaeNZYiqovudIu5IiAkjamgV47OZKOH9FmyMsVtCP7lFG0Ytm4PVl+5jUSqVcgo9aEGpoDoAspbGKe2uYQokuTJ+SVAXuDir1l4rHIl8eRCj6COu50N1Runa74M9u9jZxcZJ2ufY8syAApbw1LLHypQmtBsCdtCKtnY2sXjNjH5DmoXe7mamCw7H8yOZ1rFeXMLcibpwfYnEiIHf3n2gNh8cLv7vyryWQLYrKzNzVnS8uVYtHYwqtXeyilA7pWokccB7VbUErKN/J8hd+TZsi3w1hRigLcJOAHas4S1CS+3NqVCmnVhSlULdR5TlbjM34NpgcWC7RmQskcSgFLO3aTjVpyteAoqKTQCo0FcQ/6rzVxkbpEtcPjoxJKokMUSW0IKRQxM5CJc3XHioFAFqQKgVDkTDyrNz39yZYsDjEMrIqUENhAvbSJEiXg1zMBwBABKAmuw0OkIFPlOcnvbggYjFxsdiVjhx8BYJBAxUGNblxxUMfYhY1oNB62I8lztxk7ukGHxqhuFw6mGC0iakdorIFRhczDitP4KnpoJWM6ZjM33kmRKpjscf7ssp4xmRKtZ2sZkqr8nQvwLAMFpUV0FGEj+9u8p5Xc28UFrYB7pYolpCsz8mg7cczsX/M/OcFia8fjoI4d2b9S8tyrfyjWFjEqiW9lRkhCoqLGwtojypVasw3qNwpx5lsMNlfIrgyRXeRZ7KxlEdOUlxU3TIy0SOUJQCo+JFTqLyR2Vu7Nb24VmnupkQhQSxkmYD8fZX8ABqoaeRy27z2WDthN9viEYXiu9IpbvkU5pGFV0klNS55MG9KU0C21H2h52fC3mVu7FIw7oEw+hpA/IuoPoegOg7Dc2F3erJmmms78qqSPKsk1nccZSWBiiKzIjodnhYlSAeJ0KzVtcbjsenPJWskjS28U9xBb/AH9lcWB7fJWP3riC7gcREsqTRKSaUauhzDD27SZLIy31xJtPL7GuHDMII6kCSV+PMui0qdydA0a5iiiyORmjMESInbtJ3SYsVPNI4wyvC8MkgAqAGWlDoPlzs8jM7AVdmc0oBViTsPQCuosUjtXxI9NFrDtRToPx0Sl0lKmgOwrv+Hx0KTWq8wxU2Ykneny1RHsx0r3Px21CsoGI19u4/wBKaFVbArsev9H7NFhyo9dB0NT5j56JMV7FJGsiVDjkNip2I+FB611U7d7HxalOvT+jQoqkTiyV3BYe0+or/qOgczrCoAhfkhVSVpQq9N1oeoHpoAJZqe2h5U/0roPRvFGjOaGYjYnf8AB8dB62VZJOczbVq1CK0HUAE76AzJWyrHDdJwIl5VhBqVRTRWI6iugVLJGBULxNdwP9morzGqLKJBUOQIwfctOjfIaorZi9WLE/GtK6ib5ciBLqAKmvTRqVzVSTpQ/u/wBKarKYuCu5UH0PzGhlS8wf+EL+FdRZiXo1WR+LPwQAlmpX8B+06qRFBkZjiBVOTGuxptv6/idAeo+2UPIN519qAe6nQH5aGVAiLVDAgHoD1JPQaFsGUeAmZBW3I50952Ar6kfDQJshjpcdN233Rh7WG40J/oD1GiDrOAuWk2oNgNFelR45ldQetOnxPpoDnlQgCSMlx6kUKn/v0LqOIkYByEFK8vl8P26DllNbpcFLiphV6+3Y0H/doq2+vEmkLRj8tTRB/Z/36JJbLM0i7ip9D66HD0R9u1RvocPO/H2psT9R/wBBoYCsQT6/7NRYeVipqNFmKtBY3bxr7ArMaBkI+oV3/eNVlpYnFFXkrhlDRsteJ+Kb/wASfDQGWF1k8bdm7sbqOIUJCSoJViYrxZljYFSWX12Oh001piFdJs/5LdNHC1JVWVx93kTXkscaDeOJuiotCR8BoeOyyZbzGeG0sLOKyx1kaQxUCRREige6mUbyFTsi9PXQZ3KWEmOvZcffLE1xa8SXhkJCiRaqVcUYBl6g6AGQ8BWNAVAPJKnb/wBUEb1X1+Wg8odXWMDm704rGOfc5dAgAJYkHpoOSR/bsUlSWHidqqVltZDuFdGoTA5/doIpKUWSNk5ROeU9uKckcf8AxzanqD8V6HQdKNGyyRukiyqCp5flXcQ6JMoPskXpU7g6CEsccv5kXOMxk0ABM1mfVJP68DfupoIRRm4YWzKgkcErEWCxz8R/MtpGO0n9nrqDpkaBWjnRnVT7LoA9+E9O3dLvzj/temqJxma2rJAIzHOKPDJ77O45D6kptFL8x+3UHljjvCsSqwuF+mBzwuEYesEgPvX4U1QQLrhSDIwNcRR1X7mJAt5D8FnioBOg+PXQ0jDFLbn7nE3iMrDm0cVZIiK7x3Ns30MQN6aAgXONvXKZSL9LlkNDPDGZce+25kTdoix0BUEOXxFLjC5AyWqnmPtyt3aitaM0LVMVflTQKsvk73KGNclbifIFwsN4ocCQVoLYW/EIjVO1N9BsLDwq6a3W6y95BjbYKHZAyhgpAPvdyoQ/h00JFLnvFME/bxGPfK3KAhrladsOK7m4lry39VBGgy5W/wDJMpNkZITEKKXa2Rnjtoo/po5+pvidQKPvBFPeyfcCRyrRRvICXdV25If4SNUoVSrxhjep9rVkpXcPXc/t1DScLc0aJhvQr+w14n8NU4WYywvL+7is7VRJcEtGVJoFRaHmx/qgag2l3bY7xCezu4777jM0pNblRLEisKNIVXeJk9D1OqvayL/MC4h5mO0s553JD3UsUhklWtQpjA9qr6CuiBLjy3PZOa37dnC6wzLLFbpYkoXXpyc1em/y0Gi7v+YOVQqPt8VAwFWSKOFlU77O3OTQKZMBg7R+95J5ELicVLwLMZZWbrQCsj/0DQeiz1lA3Z8V8fedxst1cREnl05BQGY/tI0FtxjPIcsv3PkWUTHWa+4wB1gQLTf8tWAO39Yk6CmHL4DEAQeP4xstfn2/czITGGrQFW4lmqfRQPx0BMmJy+UAu/K8mMbjx+Ytp3BFEBsQqxk8agfGp0EYs57TiPCsZ7iSj5GRAeQ6dxVYdT8Wp+Ghuqp8XjvHv/hLyK5OQy8h7iWfPuu7ncEg1JAPqaKPTQfLMYitlccknEI19blzQmkaSB2G1TQBetPnoNh5C5ZZhMIHYSBgs7hJ35vxpC1vxV3UkOzEKFQVatdFGQY3FW9tgPusdkfIc5krOe5tMHaPHFYiOeWcrNezQFrhysMSu6AoEFeRXrokjb6Se4Zcf5Bl3VzIFh8K8JjSecylKLFe3MJe3EhoAxZrmSjdfTQEGG7xUEkbT4r/AC9sHVecNmWy/lt1E9HAu7iOR7mINtXk8KIf4aV0GbtsxZw3a2niWFe+ykr+zL5eJctmXlDAiaCLhLY2A+BVJGFd29dEG/8ATOQvbvueVZe4/Up15jB4pWznk86gK358cTNDjYu2wIaVxGtKELop2MVioIp8ZZWENgA0Yu0txD5D5VIUlNI8llBKuA8UicrRg0xYheg30Lslcuj38dtE1leQWbCaaK2nF1ZrLNu0LyssCXrpcdWjVVPAGpryISkw+Rz57KS21tZYsI2RyN7cxw2Fk0ikxR90NIbiTtqSFjDF6hjQsToeGWMxGFSRo8Hirvze8gFZslfA43xe1IAeRmDPGZO2lf50gB6gbaAfOmVoLm4bIWmTvCiWTweOWdxBgcQjSoYUN7HEtheEH8sIaBWblyY6BHfvfTTRYSOWSDExn7s2ygLDGAiwz3jcCXlLlStSzUrRdjoXH3V/mXig8exd9kZ0uPecdAjKFiY1htIERPue0f5jxg9oMagddBE+OYzDcT5PkDHd8VKYPDmO8yjM3KkdzLVrXH8ttmLvvsuhwLbFWqQTnyXG57CQq8TY29Sy+5hhtJFUC2u4WKMk0Ua/lt9J5EMFPUMrkri3aQQWc13c2NmOzYyXwVbpbYM7qhRGbtrWQ8VqQo6ADQ50CnASFOrHkCTvXcbqfSn9Oga4ZhHkVNUZDGhKNN25FZgY42t5UFDcKWqK+0D6ttBsWkoZoAIjGryLGzXcZlcPxkijLqzRSuAoCcSFAB2DUIC9Z5FId0B9kRmcv2jKlwDH3F4bI0ACihpVetRoZFL3w0qC3aSZaq0QMzNBcOjtyQgjjx+k8QaAg8SNDKqSFy1yRIRBctF9y8cgnMEHsdZBEYQJ0nmIBaP3K4ZaAbALZD3+4fz3t/e7Ld28SEFk9rW8kZQSCIDirbnkQabHQ0tSWQNLI7G9pyaG4LmSdxFJ3R2yheOQWxYiQSniWY0FaHQ5dljDrE0UcaQyTHIhI14Q3cvKgWN4+4kaSBCC7KZA3t40IOgmCBC0Z+6S3MTOk3eFtLbyCQvNDdSwSMrSKr1V2WgAA476DiGDkHYXHa+3jK9x/wA8RyEVQpICY2eMAuwEbkEk020FbO7dyKRwkLzC3t71TJHcNxhZ0Ti7c7hlYcO7UL6EEkaCqsYYxKXhnuOccojaJFla0cspYyGNGnimZGART7hRjxJGg+peI5f7q3GNvndb+JXZFlt2t1uYg3KWWCOU9yid1Q6EHjUEEqw0GQ8s8Y5RjHURImnf/puXlHHE3fdp5fG53cKkE8ErO9gSeEkZaHZlWofDryyurGaWC4ilhkid0kSRSrRsGoyshoY3BFKGmgEC+ooQTuPU+u3Uk/6hoHmHwF/mbkW1nbzs7seRKELEB1llc0WOMfAmp0H07IW9l4thzCALq+QdiBkCJwluqJJd3gLGVbdI6klFPIUBI66BLhLOOGBbNJnndkaeSZFmSNw8zgGluJJpp7KaM9yAE1Rq9eoOVYLNHN3VBIKy1fgO+oeJ5FPBbuNFb20YE+4DlSugmrxcBVlRVEkcyorOEkJL8hDGwKtFxYqwJqamtehXY5XZGDSOXftSkzGOKScQbrMFjWYIkq9GqzKfxrona0fmLHIjGl0e0s8h4SPJUPMqzSJGQ3IcS6heQHt600OkZEQzsXM8MzzFxNE7pEhlUPOjvGoW4j/LUrUEVYLsanQXNIY+c8vFGeYk82iSMrLxiaZogJWXZjyR2LFgQWodBW0qhyhnCoZiYklYSQo4lCvGzqRI0MoXZRUODx69RkIESqgQ1MXeWCK6SNZERQpCR3JZiksXdZFSRTWpqdtABPfLbsJjVUNqtxNFayRxG6RVaOWGW3nnSIrCq8wqkGlCFDHQZ2Ga6ue1LcPdfcgTmKB2CwQQTCNFeO2jrJDPcwrRkatSAw0BlrDaZGzubuJ3F5ibsQTWs5WKBrO/jENpkkBAYUvl7LkkqiupNK7gmxM4ssyqXcj2ttlF/Tb+Qkp9oJXQ2l/GwAo+PvI4p0benA/HQ9arKePXuYluJLW2DZCJmbKYtGjW6sr+Rq3ypZM4mfH3FyWuLeZAyNHMFrVaaDJQy53BySW6O6RF2E9hcwrdWcjdJGnx91G0QcACp4Bx6HQs1mP88WOE2eSsXjtGI5RW6/qWPANahbDIz/dWuzdILlQOoWo0DSGTxq9MdxaWuMvO37XhHkD4u0Ut0myFnlbZMlBBAvUQvMCRQ1qNCf6Fm82ewuO2l0c3B7Ib22sLW0t/HLaFeRW0xlrc27S3LRtuJjIvIV2Ox0KLO94N5JCIzG1hfu4CxW0fvl7hJIe3vZuMjxn/AMqU1rUAjbQZ6+w1ji7jyKwbJyZBocDLd2nbnmilgmtJY1FrfWs5WWN4UYSLGa+zcaBcbdZ3jS5iVucUbL+WW5Fo1YFADxLS8qgg7gfHQ6G2P6tipHbA5O9sCsYlmgSRp7Y8WNOUEoaNlAU8qpUdNDw2HkMVw8dxnvHI5rkFyud8Zmlw+XWlXaWWOF4jM4UEgM1Nq00G0xWbuMhC0eJy+O8ttRQHB+S8MXn46hgIUulhNteseP1SRHc/X00A9zhEzYnuMRHbWzxsIbrGSScL7HzItJLZ4hI7W80UwKMD+TIvGVDRtAknsL6wZReWRto3n7TS3UKSQn1jCMHMwrTjXkVYHrTbQLD7OU8KNEC7xyRlGnSDdhQUHtil5cUDbkmoroHOMwV9llimtIu0gMzT38iNEg4BSjKA0YYVqoMRaqqeQroLrnB5fFwSyXNq9xZqodZ8eYLu3EKNzk5CVSezxr7XUb7120GRzmGwGNFi9/lGhu7u0a8fH4SyiuDD3wJrKW6murhEd5efGqgUA9o4+4g2wf3D+IXVs7FJza5FYxIY6qC7LQcmMjAKSOQ3oaAaBZBlsTNkJ7sYDuzW+Ls57Sza6pbh4kaO+d1cd+ZXry9h5UHuYgaC+bzbP29xbxNNZWduhKyY6yjiWKO3lAQC6cxSq6tyCbuzJUNXQ0zXkGO2F/DFItq4pbu9XaW2VuCFpiA0s9q57crEV+k9DorMMCaEinIUJ47EfTvX0FPh89EERXU8Kce4jQmn5E6rLbGhpRI5dkI+Klfx0DjF5yfH3KywK0VvKrR3dqt1ci0vozQNCwDh19pNByJB3WhGgYTOcFkrTL49klsLx5J7eOWMOtvzJWSyuohSB1WvSrLy69dB27VsRcWXkOHuQLW590jQ8lkxt+9VubdwRSMOGIGwVw1QKVOh0lkES2lg8mwJkt7Zpl+5gDxm7x94iis4VFRe2+zB0Xh7qV5A6Dt9bw31sM9iEiiu4woy+Nglk7zOrDjkrCOrSNGeIZzyqrk+lGIESRjyiCO7sgsXkNraBpYowscOXt4NzOlX5/qHEkuKe5lqNyQA5bPB5LbJZ3kq2mbs17WKvLhpEe4lRgBiL1yCkYG/Bm95Y7mtKhbis5ksVM+OuGfH3EMyxXERCJIrqSeN2Gilae3JJPaHFJF91C2g9cXuQw2QlycMEcEN8SXtLqNnx+RsJJQ4kjZuDSRrOCAQVdKj0Gihr7BWmZtpslgVZZoo+d5jWHOW1oSSQVVQlu1CI2PIlQefA7EjDVeCSjJxeMrWKRTRqb8JY9uSmtfjoNdh8zCI/tb0SS45qCaJSklzaKKjlGJaLPZ1NWHxALcW92oL73w2eW1TKYbjdQTK0jWkciTyWokdhDbNKrFTcyRgP224uoO3LrqlWM4tHI0U8ckTx8lkQqUkDjorIwDLQ7EEV0Mih7lVVXtpVCdweQQgMGPVuLH5D46AlFHIkHl6civJVVdiQK+7c6gJTZh7W5bGpUNIBWpIQexXau1TRfnqi1aDepAYsCTttWlCx68iafPQWIykHcFaipoQGP0ACvRR1O3QaC5riGFQZJI4gQerCgIPwFSWNfnt+OoePQ3kEykxGV1BPcmEUpjjB3pJKIxGpJ33oBqhiNwCCegNfiKbdOuiYsiV6np8fTb4D8dFZbJwdm9SShKXYKSFaKhLewgn4nYn9+ho68dklluTaSXEkDNKLyKVEWVYr7GIQkq21YzPJPbsAQHUFanfbQOJi1reyQyRw/b5WE3KwxuZYlnBczQwGRFkiaWRXpyUFdhQ7EgPi8AmWkuhA9tH9vbPecLy5uB3CokYwwW0bxmRo0iJkINQoGxO2h0qwtta5a4kx+Qujj4o7VpLe1tTDbw3d4yu8CMWr3FdB7a1JY0NBoE9nOcdkw1JJIWjDXKKkkZexkAW4jmjhdSFERNakJyXroOZW1C3HO15SRtLxhopMk/OgtyI1WvO5iZfaOjaGG0s/HXzMEa5t5ME+PjFvcvdRpBLLxKGxaOKRODK6Owkf3MSBQGugz8kK+OZp0Mss1jK7wSl0UTPBIKTqVTiHWhDxsAocDoNxoJBhhMzIJQXsb+N42dGRDJBOgZJVFGj5AsslKUBPpTQpLyKmCzMttdgtjrysclXkEXbcBo7hhHzaaOB2Ei0BDCtDtoORvNhMi+NmmkSylk5QvAyuo94dDC55JJFVgRv0YetdBrxksHa93J32Mlv7+OOKKGCdIltC6v+X3o0RS1xb068GVhTjX6tBmryaa4M95d/b4SwmleUWsEZSQdwLzWztQzJaGcrVgKuTudA8x/jlzkLUXOTlbxvxuNAojkITJX8bUpyUqxto5a16NI4qaUoQCy/vMLDkFssDJJiMPcWxx9xdCS7RbmYqIzdZDeZCkDD6QGLhiWoaDQyAhJsXnsGiENzE/C6kVmke4dB9fdf3MnGhCigAPTQT5cj8eu2x6fL46D23QBqncnY/M13oBobBT3qRukEMct1dyMFhtoY2dnc/wANI1ZiT6ACp1BpcV4fPcRDLeYznG4tG5rjhWKaT+qs4SkiINqRrylP9jrqlB2S8paa0aw8dh/SMLah4Jb9W4RzwmsTQW9so4OZWYEBDyqfe3XQAzYmPF2/bufILe5/UHg72MtyL2e0DPWHIpfxstuJ7OX3MCB7eQFdqwZgK1ncPbvwC92SNe03KJZEPuSNtuUUq/mRn1U09NUHCnz+X+7f56ivca9a7/v/AB36U0SaOAip+BPrX8N6VqdUdHSnWlfWn7vjoPVPGoqaA7b9ACf37aHbq1IB9SAd6+oBPr130HiDX1PyNaGnyB3/AAOg7UE0PSn9P+oaGMPDf0H4mhqdCUSPnt671of2ai+uUr0/dSpGqjlPjQUPr/tA0HdhsP8AT8ANtQSoBu3uPwB2H4keo+GqZXwLCltf3k6RsiBLKDuRiQiUKbqR1NQYmX2oT0INKaK9hMJeZqSHGWzxwyywPPPczVMdsrNy7pVSpeRpGARQRUjqANEHwZfIia7tpcrc3UluslobgSusV5YRyOkM0IkBdAkvID1KsQxIG4JLu2iGQlggM0EZ4XNqXCyy2joqj3uAqyq7EhgABTp00K/ixlYyJPdzLM4cCC1tImjt+83tUhCDNcTuTsoAFfTQbe2sLHxq3gzfksbTZGQ8sRg1CymOXbtzXa7q91VgVU1WP0q+4AKwx935Bc3HkfkU7RWFuHaWQEICiGhx+OqwBlP0yOp9oqqkuSQOJTdrnzXILb2qHH+N4pACI+QggtIq+9lH5ZlZEoigb0+AJMKOXUjeTXlp47gUNvhbGv5jAAKij8+8lftrIgkVveCzcmpTc0FEcnOcjNa+IeNEnFwOFlkBKG+uNmmnuHKjjDE4JLbgKNv4RoO5kxqLPwvBJFckSRPe3UdHlmvWqHpLG/bWMLsQ6ntIvWg0EcwxsobbwzCs81y8y/q80AQJdXMnDtxRspMiqn0UagCjcddDl7NE4u3tvD8T+ZdXBilylxbkmWW5k9gt4+2wKoB7ApG60qOp0LI5dRYWdn4biqXGQuZIpMq8cYalw/ERQQyV5DtJRegoor6nQU5l41isfD8KTPxK/qUsfcUz3cj0lhZCqqQXQBWr7EBr0roKs2iSzYzxPEut3FaMhuWiCsl1kpWo3vSpYBtm9FVPloJZiBbi/wAd4pjHZ47Qot5KJJBFNeOec8k8I9nKFlLM1NkWnpoQjkYhl83j8DjP8LjwtqsgaO5RWWrXF20kVFnijVTJQ7hqjatNDDTdrxTERXc+PP3WWsbZxb3Jurz7p7l/yq9qRPsw0xbinBd9wAeug+WWzmSS4eVmNw0zvcFgeXe5GoaoqKVpv66DQvhMjFb211JClL0O1tAJUN3LEqdzuiEkAoUFaBudD00NFh93cimi5hDxeGePdGIrxeOQK0RpuNgaaAZsbasKr34lIq0cc7dpgf4eLh2UN8joHFp3bO3a4tHFvKSbS3ACEusihZI4xPBPbTcuQVlf6q7EHQuX30thatZ4/JxCeHtzTXFrbtJamF5X4o0TISqSlg0qqQY6kA7U0OEbnwuS4V7jxqd87bxgNc2fZa3zGP5rzVLmzYkSgr9Lxk86bDQwxRiepFDzDFChFGDKaMpU+qnroviL20grsK9SK9DvqAXdag7b7qdFSDFTsSNvUf0fhoiQeh5MAa9QRT91PXVTMrOe/Sg+Hw/DRKoyioWm9QTt8Pw+WktQpArqEzR7idKFYSCsBXifjUVH/boZWdyVKBgSPTkKkft9RoPc27qPKCAOlR0r0OgIeXhQqQWagA3PX1p01U7eWPun3j12YGhqfTQS+xegIcEknj8gP6346FnvtiokMsixTRgMIpAymRf/AE2pQn/XobV91mBBbfjxp1BB/wBWhVQIOVeDVoK0Ip/TqKrKMPT5f9+hWHlUb1r06fA+h0Jl4AhhWo3qCNv2jQrYa8YkiV1b3CoJPr8jtqkAiSNiKH1B/wB2olHeLH+Gv4fDRV5UQOrA80IHIEfv1TJkHhUK3FadVAHX1FdEVrK8syni0spPGJeoB9AB6aFm0x/j5gibJ5eUAx0kjt67VG4BPqfhoGEmax97as73K27J7EtlFH2+kgjrXRXzrJ3DyOebmQFjxqeg+OiF8atIwVBX4n4f9uhQ+s4zGtBSnQqfh+Ghp6eOtaNTj7hT4jp8fhoFV1d3MrkyKOZAXkFoSBsNhtXQjClFm5ASu0QIqC9aH/v0KwsETvKVh4ysF5GlKEDr+OhlU4fkQ0fbI24gfDQlW2wPX10KYRR2U9dvgemos/YWO4PoB/r1Uyq4sxrQ0PrTb/t1FtFhH29FqT+0en+rQWxv2GQ1qKUNPUH13ruNVPWgtLxlVYV4lZOPZLkjhKW2YkVoGrTQ4PVZiWR14yJ7ZB0HIfD0IPpoDsfbW15eQQXt+LSBAz926mZ1jRaF47USEpHI46UpQaHZvl85HJEMVgS1nhoQUkkjPGbIOD7mD7SLCx6nYvodsPco0TrOjsEYhecjs/bY/wDDlZiWaJvQ9V0PBcMob3KRUEg0NVr8jTcahDW4DKYzDxz3Ykivcm5pHjXhZTYnf8wSspHbkBqSP2aoV5S9mydxLdzqnflapeMFY+FKCPhuaKPU9dArASKscyBEYq/3CgtNb09VofzIW9R1GhwgAYpDRFdX97Q1AjuV9JYG34Skb09dBFJSH7sTtEwqocip4V/k3MZ2dPQg/s0N8rGEd0WQxxRSbP8AbqxEch/82zcmqt60rUaAcvJDyExeSMbGbj+dH/ZuEO7qP61NCVqCa3QSQBXt5at2JPfaTk7VQj+VL+HroUTjgivysVskn3MalzBKwiuI2U7tbS1BcA9KaDiyywSkXyS3cQqrlCEu4zSilq7ScfX1Og9Hai5fu415JJQpdpLccJowD9M8RoGI9ajQ7W/eH3R5O17y8QgubVRHKlP4pYDs5+NNBfb49WH3GEyarI7UMEMphuKqagTWr0V9/lqA66zeZitJ7LI4u1uSaP8AciB4LuFkoVnjCDiZEIqCKb6p6SQPk/ILoRO15lJ6qIhI7NEkZ2BZRSNAKb+p0G4j8Xx2GjS78kv4YI1AZbSM0ViKHhxH5sp+QGgByPmMssMljgbGLHWLKYjdyIBPIlCpaKIACPkPU1OgwF1GI0hZRy4sVcnqQ/Vj866iuwe5GjfruhH+rVQbg8VcZi/WyikWN4w3fkO4jgU0Dmnqa0FfXQaTI3GDwN3AmCuLp8hGDBk723pIhib60AclGnDDbjstN9QRjv8Aw6Csgx2WyVw55SS3RHORzuS7GShqflqi+PySxiFMf4nF3K1DTsH2NKbLEzV/boemMeX80uFX7PD21ojGqstma0/8UrBdAXClsYGHmuTykV05bjaCV47Zo67GFLT2sB6gnbQKpcp4RYB1s8TJdtuBNccV5fOsrNIa/hoPWub8gv4lg8dwsdjDXj9wkPOu9K83VYxQeu50VZP4/BGy3PmXkNHI5raibm59eKxiv4UVdRO3ofIoLZjYeJYLuMw4re3UTB6nbnwpyIFajkR+GqOz4ORqZLzXMcE+pLXuDb1CRxLsPwUE6CKZW6yIGK8PxjWcHIA5J17cvEdWDH6Kj1JJ+A0EmtcL4u/3OdmbN51yHW1Dmdlc/SW5k8QD6t+waD5b4wZRm8aapwinacCSnaJjiepcnd46LQiu40DzPTpJ2rRFjV5JVc/mclVHcSEgcTxWSgVf4tgG30F7QT20NhN/eEny1jEiKjrawT4pmZftpriIi4T7ww8pOJB7K79dxkVa5vyPJTPh/EsVbYzjRbqPAQfbBqMVaa9ykzG4SDm1AWljXb10Rdj/ABK1Z5pMjezeQ3MdXvLHAzxx4q2KqZf/AIb8nuTHj7agDc1QvLUbb6DUfdxY+yLRS2lliCxjlg8aIw+JcLKQPvfLL1Gy+bft1BGPiJf0Oillu99d2Ui4vHRWuIqTPezGTxnxMRoyxw3NxcvLHmfIg4NXFzKasT+XQ0AEfa2VxaJNkLg5GwAD26zFvDPA4ZCTVLaPsrkcw6MnKsMJ5gGrb7EWFXy1gYrHHx3uOijPZu5bZfFvCcO0ixxyX1qZyMjmLuLgaSylqcq8NyNFZWE46xmuUlNt5PbQc5jGr3lpirzLTmOKJ7cLQ3cFlQRUpRuuwodEocyZ+S9ls8PHh5c/lCiSR4dlFl49YzqJZJIbfAWLx293Bamv513KxYe6iig0UPmf1spaW/kGfxyJ97YwSeJ4e4hC28QmVXM62cTY+1aEAsA3Oh93UaCm6OEtbKBJ2s8fLKjySXH3EuSzF2huZJ47UWdgRYY+yqQoaY90hQeAOgz65C8toMhlY57i1vMu4sYDGWhmNgQsjOkycSInEYUgBS3UGlRoQEs7HK2Rts49jfLaRzRXAu4oQzKsc6s80LShldgFNGI4cvUaFWnnuIcemTvI/K7fPWWXhnt5cbJLcyXlz95GWhnltJ/bZz4+YIwckOpBUVFajpgBTk+4Jfb3CgYfhtUj00FrjuwyRxVAFGIZjUsgqlT1o3oPjoeKsdctDdQS1ApWOR3UshgkHCVCq+8DgaeyjfDrqLt9BT7cJ3oZjDaqTJGn28hRGYqs8BeXkye8coo2Ir/WFKaqL+KgcZAzKLZW4mMTd5DMscTUlCkmSFuLAHfjUNWug7HC6GVRKkYHdhftKzyrQFu13VWvZltyhSjAMqkclI0PBM0LKvdSFy6q4hhhkSHsgCORpYJu4nBnkUSROQGLcuY5ciAtICm4clmkaQhlcxQKkayd2Oa7MDM4ntJpdyBurFlahIARuTYxxmdks4gGhMkSt9wlsCyxvMEhl6jiHDK1ZDt1OwwtjmLRMUloGMktQ629wSFjn762ZgB7UsbEEUD8BszCugJ5qJORkBi2geVRHcSTSuoVG4xzd428zAqKqJUUCila0D1s5RVWMgyIlDxuQ/C6ldgbFUeOBpVYAMvPlTcHodB4KWMkZ3kRSLi3Z4yO48qqLorL7ZFt2BHJGJBYjcAHUWylJEuUW47dsyQujF5IgjWlCYTMxkDlLlDVKlV24/VSuqlUrK6vbKaO6tJIGuDMIbZr4sUV6Rf3RbkugEV6CAkykJD9PD10H1+xy+Nz8L2bxSw3PBvuMdfRKtxF2ZjE7cHEkMojnTZhU7BtqjRCTyDxv9TUJ9paTNFFxiup+cV1LKKiOAzoQ623DqWZ6N0Wmi5Z/H/5Z26z92+lgSH2HsY8SlmbjR1aW7ZwAD1ZVDMd9tBp7y8wvitubW0tHZgsbPZ45UluAksqwLdX0jkskRnYLybluaAHQfLc0bjKXTSXskNIzc9i1Kyy21vybjLY2168Uc5tchZ8ZQklAsykLT6dAlucmtr91BDLM10rQukCte1HbYdh7iRfZ3VCDiKqlANqk6HTq5W5jLu6hy8TMqXkssksE3IPE5ePlJdTxjkN2UcOIrUaCpfIQtHntA0iSrIssStG+0jM/NI2PcHwFEIr+NSjbbN2rBUDK0kzxmZREbZH4RcnkVkDW6VoFZOPFl3AB20TBpFk4pmVWmkRmjkjc0UAfbyue2GKhzU8QqUWm7AkbaEC3kL8pI5Pc5jM8yQNcllgdm7UsSNHaiPtJSqlWr13Ogqlu43cPGYVAVVAbdpC7E9qWVIxMvc7INXBBfbroYUSX0yxFjK6xWzAm4McEkEckynjFORM6GjMWkjVQodFPx0OiG6yhmE9tZyTztLJG8jurSA91Qjubl97SFIlqYmr1puKHQDKkl7NEeEl3eSW8cH5ge5UNCjMTZq/Pv3DIhJegCqKIBTQ7dtrefKY+9ucPLcpeY2/tGaCGCSa4uEkV57XIl2PIQ/fWvDYGjMvIgEDQaO1pnb9cv4zlLLD+QPHIt5gr78lnedi1/aIlyGtshYy3I5opoUDUYDiKBXlJbOWlt5n45cYC5bkFy2DgpaMGWiyXNjKXDcGFaxsa16bU0F1tj87JDGfH8xi/M8ZaAiK0ueJyFpGoCrGBK0OTsgABx7UyKCNvhodpDyyKps87aXFk6grLBm7STN2gc09iXirb+Q2W30lmuQvwI0FjYfxzMI89mk1tHXkZsXIc9jYiAKGWOBYc7YlT6TW5CdanQIbrw69KG6thaZW0jLf3rGzC7ArQ/3pYq3MTHqQ6CnQ0odC3+kMtlJGnF4WjRWpXjxCydaMOisadPloaANYd2G4ZQzNHD9xQKoSOJWUXLzAjuUijao49CN9tCGjs5be8t8ZOCWvnweaxd+kCJJPI+NUSWUzrcI5eZrZwSy/wpsagjQNbXyuS7trVM7g8flbbtRsJcUP0y9h5KTVoKCxnoD/AAhBQ+mhB1Db+J5ZlXEZw4q/YknFZ9PtyGIBEcbMVX3kAjhJINthoeuX2CyGMpJf2lwbdShebHSG5At/cGYEqZBL1CsV7YDbnQZa7sbS6Mhli7Mq8jb3BCmWOrCONmeIjnIlK1HqNvTQOYMnYO6P5Ng7z9QjEcTeU+OXUseSlkjgSES3McUkTvIYkXmRzBNTx30JbDHZC+vUK4DyTEeZWwHvxPkMa2eXSMggpHdJHHJIT/WlhI9K6JhZzggM2Ql8bh8cljHGafyHIQjERvGatJa2VpO8mScKeKhEiUkjeuikF95BaXzlFt77y0R0YPky2G8dhMXNF+0xUMXKUcTQNMHI+OghZ5XD2jF4f+ofAZmlqzW3LMeOTOd2DW7JcQRg1rtHGAD10Bk1rm7mG3ayx/iPmoM8rW+ak+3MlzK8RAgyET3USLPDCOQKuTSNVCjc6Bb4jNGcJd26zTNLFLfQOGSByi0kEZFVlWQxnkFG4IIG2x0HzWe4WyvLO5iV5Fso4xPbsSjS20wImUstWjDo3FgKlOWgPy1g8stvdY6F7pZoYu3CkbOZ7KYNHC5jQyMUTg1s7tQmSMOd20BWLcP9xhshDKJ+MhsFvGlha3u3jjj+1uInYLF93EBGzhDyYo1aAkFC4nH4ZcpcWufa/jjUo1pFb0rIGYgiVlbuNInHgFQgtIpFdEbaHKeG42+W1s/F7iaRpBbCbIiCJjcghTEwnW7lTi5AY1rvuND1TkvJDkJZ/GsticZiIp6Q87ZS09pLFPSNZmlftRqWWhcDkg9y16agy8HcsJ7zxjNiJLWWYAvcV4Wzhh27+GSJWdQQB3AtQw3p01RCym/Q7+5xGZhNxYXSJFcKBGzzWjMHhu7WRyUjniB5B6ElCaddBNPuvFb/AIPxvMXkbd0idWBt8jYSV/I73GThKlaqV96HrQ1Gg9c20vjlzBlcVOLnDXDHsXKpL9upYBbjHXSuIpJbduZjcMFVugPwHQm+so+3D5F49K0MKTtNe4+OSH7vG3CqrPf28MDc47IyE8QPpAAO50Fz28Hk0TZDHGO38hgWNrqwWQRQ5tFJUX1mxIrkGY7oo2PQUqAHYL20zNLDOPNb5lVFnYZOftRlOIMYx+USbhG9ospDmY826+6nQQml3eYOWTAeRWovMZcAOICTPCEIKrkMPOaPIiIeYhLAN8P4tBTPibrFCLN+NXst/jY25RyQBjf4+PucVjvoVDLJHIRvE/uKmlGWuiCO/wCPeVIoypXFZaQELk4e3HjpWRG41H/BaRvqjeiA1oyDbRWWzHjeY8elLXULPbxlSl7bVaIFlVkLSJU20jK4O+xBG5GixCWOv7i3Zp7C6MbstJo0G06EhnS7sFPGaIHqyBlPUoOuiNccx47nI44vIseLG4VBEuTte5NC8gqFJlUm6tuPqrGVSeqLoB38BkukabxzM2WRiCI5jmarIjuQFa4gR0JLLXgyRtTcjQL5fBvMYWC/pyTAU90NzASaEtUCV4t2J9Rodo/9LeYj2pg5V91a/cWvMH0IP3AAI+O9NEEw+EeZTkUsLe02HEz3URIFKe0Rd4h96k0rouTm3/y5uIh9x5NnLawsLdWeWO1coysa8R3Z0XiXZtyEdidh8dAVDZf5b4afd5M7doGdI3Z71aKpYACVbKzpQbFlkofQ6B/fZTyA4mS4TAw4XGzwmOzlmv1jycZkSkEsWPj7UHFmIHAx9DutNB8tx0pkg4PUSxO8ci9CGVjUEDYb+g20Qwp/p6aHAe6tlu4JIWpyZG7beqygVQgjf6gNDDN2F1PaSw3cAXvxSpLSTotzDyqrKf4Z05Rt+Px0Xpr2kguLYtYsrSdw+QWEKrNLcR27sBkbOdyChW3kQS8qkUDL10C26aS2u7bI2bApzFxbSDiwRy/KNHp/CXrC46Mh30Gjx/jeKyVpNnrvMfo9rCgFlMnZdhc8+6gkVyHlksJPZwRRXYhtjoX0Ph8olsbGSLH4Nvub8StcX1zGq2UhKhJZrczwoEglPv4OzopYihroMBcXksTRTxXCi7jnW5imtVKw2z2/IJHbHjWV+4x5NQAbAbaDUWmUmzAFzf3oa6QRxCZ2XuoBWkZcjgluG97VH013roLcpZrkscv8sXNnzlmuI2aWJoXYGCUOzkuiMQBuTxalBSmopJAwy+IewlCJkMZykSWVgrPaowUx8jyZ3tXIUAUHbPSo1U2lCsmYxbY+aBlv8RC0qTKPznsQ/JarI3KcW7OePGlYmPwGiu2arm8Y1hOJDksOrPbheId8fESbiONyQ3ftalwN+cewG1QRKytJbyW0htjdZi6aRY7S1bs21vC/BpVku6OTxiRGJbdRSg3oNBrxb4TxR0vsyyZ/yEqZIIoSpx9i9TWG3HJgjRtvVlMzAVonXQVLZZ7y9/1DKzpj8RFUq8wS2gSIklkiiBHdNNhybf1Zumghc5nHWlrJhfF7LvG6UWt/kbu3EktxzBRLeOIxu3JgfYka8j/Cg+rQsTX+My8cMaZiGSzyVvDFLAGETC/x0dE7vOIuRPZckXtbyFSRvTQqTiZSjOzBO2SZOQ+kqKlmaleDChBA3FKddCwa1GRztyMdhrZ5XY1lnaqxrGSAHkf6YIV60NWc7AGtNB9CsrPA+Bqbm4kmzvkDqY5VtzxFosxCuhYdxLQydKvylYChCA6Gy23t7vzO7RZctHJLbiRJLO8jSGO2hBLRMbSGS3Vo42qjorbnix5AmggRlfHcZeNDh8FkLnPZolku1WeCLF2dtDw7rTiOBbe0SNj+V2mZuS091dBOfGYDxG2FvkVt/JPIW4Itm0crWtiGHMcLZDWSZtqBuLMp5HivUMhIGulks5rWQZKzjDW0UbJI89rIXmRZHiHIm0aTkgViQPZuNBy2l5rRiodaB1Joa/EbUoT/ALvTUBoUH6qD4sCGr+IqGU/v1RwxNvxAb1qrKf3g0bfQsrKEDdWH4gj8fTffQs5TYrQkH8dx8Nt99Q6d3APpXr1/HQ07Uf6VFfh/36K5X/vp/rPy0LPA/Hf8adToOnY7rWp6cgtPmepb8Bvqp05X5fsGw+W1DqFJRpsQRT/T+jrqiRr/ABddq/A/DpQDbULPUclFiQyyyMscUK/VNNI3CKMU3q7Gn4V+GgY5u3fHmy8d37kSrcX7g+24aQ/cy3TKuw7ncEa1qaLXbVEbC4mthlbmFoo1W2Fo7NGrTENE0kiWzyhoUP5gDjZyv06BVbxFobNlkMFzCHMMwjWVSkxLSQSRMRzjNajfY/joD8fj7i7uWtMbDPkchNxa4lchRGlfa0z/AMmztkJ2B9zegJ0PGxZsV4T9fHNeWMlIkC0tccHQMxhDGiIAaM5PcI+ooNtCQthiJ8j3PJ/LbyUWMaEqzuySXKe4i1x6ng0duQSDIAGcbIAtW0SXmfIecXaWton6V4zYBNj+XawQRrtJIFKxs5WvFR19CFqTFcvrmTITReI+JLIlhCWju54zGfvZFP5tzNdREgwhab9FHQdF1R7I3MGHtv8ApLx5Fu7277cWTvYwrtcSv0ht3RiyxxlqDfbcHck6Cdw8Xhlg2LtUguvJMnGI76R0E8NrbSqCbZVFQzFiCTT3HpUcdCUFVfCcYrSxd3yLLwsUSWJZI7azl2ljciRSlzIN22IVaL6EkXVWqR+JYv8AU7xFfyHJp/8AB0Eq902lvMvBriaNq0klQkKrfwberaCOKjh8cxknkuRBfKXocYi1IVmZpVZTdzIzK4iI2jI2C1I3YaDlgDgcXc+S5JjJl8okkWNjdkN0O+ChuokkqWJ5gClCqGvroK8Wv/TeJk8iuuL5fIFo8VDKzF+MiduW7Vfrk2YIlStVqwJroIY1R49iZ8/djllMissOMh5BJALgFJ70AgkJU8ENKEbj6tBC0r49g5crOZGzOeEkGPFKPHC7L3rsuwEgaaoCFeqjfYnQHYa3XBYeXIXEUlxkcxG0VnHE4W5Nox/vFxGVDmHuv8VPsA9ToEFzcrawtIHlVI+MkMMrcma4dQHlAjTjCYwtV5GpO40CK1VzWaQlpZnMsharEs55EsTux+OotPrSY1cyYruW1niusPbFLm9xmVMk9m8sY7ipbIVfei8tmjK7e6m2qheuQt8hcvHajvQnvdizyFwpvLaEVlkFhfkq909VYJHLzXoqkaF1EMi3TBbdZXEjrHHHwpKxZgoQrvSUt6bivQ6DUX6/prri5Za21lCLm74Sl45LgqWcyWkoKC5UHqh2NDUaDCTiK+eRrruWd+0jSOs8ZEcm1IogKBo+EaqPmRXQVxvkcYhMUk1q7zRzR3qPOrKpBQqbqGQcYxsaUJroNJcZOxy2FjtcliLWTNTqJcTk8SqRSO5kMUkV6sR992JQAV41ZWDdd9DwB5J4pkfGHt2u5Ib2GVUVpIH5SpKYhJJFNCFDoE34sdiNBkL0W7pG0fINtQkUqh6gkbED0OhguNR06fPULTnLnI/D+jbRaQkCT6fu+OqkxQRD7moa0WtGHx9R8xoQuECtU/tJG1PmRoIhFWqkbdfx0KLEWi1J2PQHQGxJAULGhkVahW+kj5D0bQUSIsq+4UPoANx8CP26HAB7eSOZVYFgTVWpsR6V+FNCDeCM8CFWpG5b0U/Ou2hVFrtraSMLDHPxcO4LEdym/AnqAKaAC/yEl/cNPKFQkBVRBsiLsFFPhoXkEGr12+GhMCYWG4O3w0RORkHtoeZ+k7EH8dFjCh04UNQeW5Hw/wBBoT/Dq3tIrsRwyMFklj/u5QD3Sj6UYk0FfjqKVTrcWMsltKjRSIaOjj9xHyOhARmZ2LManqT+Gi4W26LI/BnK7ErT1I9NEnIorwND7gPj6/7DqiLk0+AO1PUD46JDkEslpKkqEVHoRUbUNdDRzk/Jb7JRRwS8FijFD2vbzp/Wr6U0OGfE1Kkb/EHr+w9dKrRxVa4lAqTX4+g9RqHrRwQRQ8WKgADc06kfH46qCKgvyQAgn02FdC7zBFBqm5/i+GhcOwjav5QLEUVum/z/AG6K9KqyRrFIsYLClXpUegHpohGrGxuwwUEIeldiD1oR6ai6oPZ1upOaKqKQKitQPnqopuLVI42k7qtyGwB0CsIx9D+46jVXuD/1TpRKikdoRwnibiPpPQj1/AjRMymJAylQaj/Vqmw8hVSAOui0E2s53jalCfaehDfD5AnUJauwmkm5q7BrtF2UmnfiUfSR07kQ6EemqmxTpHcxdBUMGQuKgOu1GA6qeh0FkSGeRIraJmllcQizUl5YZv6i8qcon6qfhoQ2v21h4tZGTJQxZHOXsTJb2DBZIbaMjdpVNRxU/U3UnYaDL2NjipLW7luczbWF6nOSOxkidVlY1ZUic+0o52WnQ6BZEwd1mhoJVXg6OKCVP6jV3DL6HQxczURTpyj5RyioKAVo39UjqDX9h0A0rSdrkyDlECGJHFqfA/2v9egFjI4EqhaNt3i/4kfqXtyTt819dB5gH/MUnjXitwR7Wp/w519D/ToJkCXkKRo6lSLapDE/+baSdNqfjoJNcMeX3JeagHG5Cj7iOmyrOm3cjp/FTQVPBLEC1vIvbf3kIxa0lJHUgVEUnzGg4O1ctHC47NyPpEr8Dy9Gt51oP6f2aECDJdWxKXcLXkf/AKn5d4g/rJKPbOKdK6HqxLW1vWM2LuXS6QEtCWNreRjaoG4Etf210E47iezaSLJ483qlQvOptryI9Q427cpp+FdBxLPF37FrS+jhuAAwguwbO4Q1oBHKSFcg/PQNVuvJsLOFaRb9UVfyrxBcqYyNgJ4/zACPmdCJcxnk0llcZBI4cfgpr9xJ9xLDNLBDJQAmMqBQHrQ0AOgrvMJk76Q3zZKzzcjEUuFu1lO+4WOKv5QHwpoclE2PykALS2MxUMV5xjmtR1FRSh1F4LJSGV4pAYywIpICpB9PqA6HVQ28Xwb5ueSSaQW1jarW9mrSvH+AMT7SVFSfQaBvlMrYxXMUHjuPDWlv+Vc3kfchkv0+l4VlReTx0/i9T00HoMvZxRiOLw5TSu5ld+vQkmIsW+OgPXO3JVBZ+GW0b0ALsruCfiAsQI/adAZFkfNJ2ItMHY2pb2g/bEEbf+q4GgnLi/O7tSL3KrYRDqiSxW6BT1/lLXp89CCufx3C2/5ua8qWaRVr245zNKadVHvlYVPyG+gogyniePbji8FcZSfost2KAt6EB+bdf7I0Dm3yWfvGrlWufH8LwJLY+3EbD+qskzhpUWnqANCgObNeH489y1xsuRuwTyurwlzKR/G0k7O7cvkNBCLyXyDMStFgsTbWgkUI86QE8F9GMjhYwR6bHQcfC4nGH77y3LG9vD7ksY5Hnlc/1QoJalfkq6GByT+SZiAQ4HHrg8TyAS5cCO5aPpy5CvAU+Ar89ADLH4/4q7PdSHPZpxzZQwkEcp35SuxZVq3xqfloPnXiS9zMqSzRmO0u5V4oX4ssJVVVKg7hiPjvoHOUWFjNMzzI8OOqht3TttcyFhbvMT2ZyzULEEMyUoAakgbMM5eW3/DETC0s7G0tYVmkmdFhsreJYkRwy2nO53PBuLcT66BZh5ZLKIWyx/fteSJPdYmeSVbXJX0gLW8NzFD2WvIsaCrtG8wjdpCabEaG2pEt3k7e0N9LbYuKKc2ym/4ZB/vLciGe28V8NxSGxZLWRwFleOV67mStdDgRMmNxkq314IorwKzC+8sH635CzMgEaY/xTHzrY43tyMO2bqRWBP0baC+6mv8AlFksgFw8VWaDPebuMjlS9VKtgvE7YC0sZVPuVUgNBX31G4VPbgrHlrmJpNiV8n/zFuCIyNjIcL4wju8iOrKY+SsPppTQRBGVIvktrzycQHbP+WyjB+HWlGoGs8QrRxzQrsO17jv9O2iAbvIw5GWK0ivcl5Xl4jzsbLA2JscBh2AKmS2te0JbngvR2CJ/ESeugURYK+xV/LcZK4t/v5+a3djj7x729xVqSiuMnJaFY7RLrmsVe+jHl8CdFi4V87kMpkbXGwx2keOsr5Hs8Tjbc2VgblS/GcwWzCaeWOhAZpGf1qd9Bkr0xi6cW7yGKZImkZ1VGd5KPLUJVSomX2kdQK6B7kba6W0xV3HHJc49cfHJbSRhphG8kkvdjueAZYWV4WQge1aeldBtEyOXgkXyGXP2eW8fmtON9jWvY7dftXQRNiYMUz8re+hLFkEaqFKVrQgkE1lgPGZja2V35IkGSvYkkRLe1d7S3kuI+VtBcXzr9v3ZGcAiqqp9vIHQsUWWMx1tfZKPyG5ntrfE9yKSG1gL3d5dpL21toAx4QlaFnZ2AAFAfXQobXPjtrkLWDKeLi5vLWbvQXdtMGE9veWoWaW3CMzsO5busgrIwK1odiNB8+mjMUzrxeMBiaH2uld9wacWT4fLQht8HdRTJwkuGhNFjLWsgTuFAsgkmhlBDysYRQ0cBhuDUaDSRXAZAtYgT23Xk7s9yOTt3JWkQ8opOXJVVQoB9GB0BLoGJKm3tp+yJIIFkgDO5JMoi7LrFdKzgFYSBwUnqToKZLRDGs4EtuyswjMjLcKQqGR2S3VQqCRuSuv1xH46HqUZiVXAt1RJYlkaDtOVMjLEsYjmWSsVw6vVefJSF3+AGHO3IpFVlRXt1jlaBICttIZ+1BB2CpCOx41BKhip+kbaAiaSgmSa4PcCD8yRgC3MqGjCm2Z4u1IvtZjIV/qgctDpFBPFGhISeWgsXZ7RWlMklXBaaLlOJGKlxxHEgdQKaCDpGpLSqjypKI0kdBL3K/mdy5eYBrZJwaOCVCUBU6HaCXfOCLgTL23M0MfdgLKvc4R2qyLyl+0ErggMPzBuG66HKN1ei3ifuSwnksIhD26DHtOgKpAqdzvzQRn2szq4hccW49dArnyONjhe3Jmdgi2YeNQbe5jYMZVlMcXEzxuaKQrO8a+3jTcDrHKPAglikhkt1npdWEE1ta3NxKAtwI5YjK/ck+2NIJ4iJNmBcAKNDBxj/KM5a2d3PbZC5ydjj5SjdxLfIyLAoRI5bi7lEL28FulO64EvJgala8tDoXe+YZ25sPyMhY2rXELzWwiEUd3ciN+U3bnLpbo4jp240rNJ0oxG4Z+KLso9yHVIrlTb3V190sVvEICe4F4M0qz3pmZjFyKo60RifYAndS3ImmSO4R1MUaS87ZUu7d+HN3nYxhjPJGy0PJaE1pStRdnbq5t7QdoGR5Ai1BcvMVoFUyzSHii0G1eg6DQI5L9hQExx9eJMUtw1BXo/5Ssan029dAIbtyQv5L1IoxV4SxJNKMSy1/oGg6bhDu6yRcqA1NV5A7+9aFd/jTQEQO6P3InrtQo9ZIyAQRxAYcSSN/joDFurnsRxuFdxICZDNLEPaKqKRhQEVwKrTdRT56ApLy7d0ImaQ/l9xHEc6TMkgkVmVhSsbV4H+AnbbQQZRTnOZGRndi035cTFpTKBIesnboNq+0jagOgPx1u2YFzbWFza3F3awSXMOMaZ7dr8RhpJhYExPHcTxIpYqaNTcVANAe4iEI2HvrSYiHPQvjIjcLGwwfmOOuEubIc1WSQwXN3DwU9ezOQSRtoLJsVlLh38q8Zmlx7F2ZBBKi9uG4pJd4mWPgIxc4y8DxGKQKrqEZa+gtsouM/JJxg8t8csMsCwJvIEGLy5KEqXee3VYp3oKH2qfnoH+LzNpIkdpg/KFNsWqvjfnFqs1ow47ww5deXbCk/lrzG+9DvoUXXWPwNtL9zmMBlPErloZEiy+GmuMhiDJIPyruK8x7d+Bkcg8eJUrs3odBNx5Q1nykiwv+YmFUcRcxMkmRVQpcA3NswuoZgpP1iQqdia6DMfb+JXs/O2vMl4hlVIITKiQ26S1G0OVtgs9uFDEVkAqBvoHjQeZY3hfSQWvkMChhHlbST++vAtF5Q5vDvFeNyA/wDjgPv6HRFq+U4y+Ihy8cKSrRXTPW5VmKqQBb+SYaEAuOtbm0p8WrWpdOy4LGkRZCxuJMY4krFLfzW9zhpiVZSseax4uMa8cobi6TdlmRiNqHQZi6w134/nI5ILSM2eQhuXs+4Y7m1cS2T9+GK5jcxXK2yueBDVoFLAGo0NtdjrHx2/xlmjWwK2VpCpv8TePlxF7C7rkEt4BkseySV9s9tJGoFA9NAnzWIsreSLheW+WsZo1eOV40lKB1M0EjOhZZYLkIQkiGlVZSFKkaAbG5jJ+Ofn2d3cPhlkiGQxcjvc2otXbt3S2sjUntZoEbkrRMASPUaId3GEvRBLOkDX9rOQ6ZS0/MiaKiyrc24QktFdxOpUKWC1dNmFNFK0RmDpGJmlWoEEcZqiKpDxEhHkW44KSeIou1dDAX9PtbtQZrcI4HOGdI2W4h4sGDcrUq/JywHLlSpG1d9BdDYQmWGW6nu7yaKTtwyZV5rn7VQPfFGl04CGv0kHkKV+GgYStNMjLJI/BWYxLMrSScJSo9QBKsootKk7VoToK3YEtH3ZbclEjeGaOW4YsKRrC7EKUbpQ0NBTfQY3PQxQLbywVt3mLLOIucQkcEqJpAeKtMA5UniCASN9zoNT4JI8IvoDbydpEa8sgrclnm7gtJGgFGaS4TZRShT5bHQYrNPEk1v2WRyLRJrhzFKlx3peTXMN4JmJlni3UtsDX1NToNh4/kVwuORLFIb57iNJFubuwblbXEjrI2OtyZis9uyR15MvEyjap6BzyK2lyltHnre3YXcc0gvUDM55l2KSoKH+6yg8VIISOUGNdjQAquolzWNiytip/UcZCn30atEgkjDALdRAMkhklf6gAz90cyQDocISpL5FYS5C3jU5LEwRyXrB2EtzapRBccnZpHunc0cKK1UMxrXQQQReR45Y1Zjm8dG72xKg/qNoDykgkYnuPeRH4kkpv/DTQdx6L5Da/pFzMYMvYoy4gy0Z7iYOAcazBS3ICvAfxVoTQDQTtZY8rav49mWltMhZysMZdyuT9tcg0NlcBwB9tMSSspaidD7egcxk8adzx3yNGis2n5CUFy9lO68Yby1IZB2J3VeTGq0BNOWh49FLe+N3k+Kv0jvcdeKVuYyxewy0EJbtTxEEHvQMeQ4t9Q3qKjQWSLdeNvBmMHcyT4i5LJDcPGJJI4XUB7LLQmNoCtKb12NK+h0F02Nju0lzXjSyQ3dufub7BRtI1zZlWVVu8Y7fmzqCS7ilF5AdaHQPbXyq1ztmLHyWCG7tWWCNTb2ca3tsUUqb+GZCJJrkyD3IoXhUk1pxMEr23TGW0djf8s/4lcy87W8jEYzGKcEqVXeNklty1AGpHueIDbapQo+zy3j6pmsBfNk8JMyubmEGUr26MLfNY8Aq0iK25oWWlT8dBcsHj/lPKSKWPx7OTUZgT3cTlJCxaRwWISKp6AlXHozdNCzsWS8j8SlgtMtbyXGPiaQR2t00hx0wlRgYor1oi6xO0gdoZAvJgK1oNDtY2I8S8kKzY26/6azLsP7jKVWB5KA9yOvbh4O9acHUj1XQJ8hgvI8KxOUxn6jbhfdkLTnM4jNTV2iVZG9u4MikD46GCu2fEzFWiuLm0l60SX7eRenUqO2zA/2RudA8jmySCkHk+ZRf4VeYyr//ABlB2G2gJ/UPIPZ/+VV9+WvBKxtVUFCBXu79NDxXLc5W4qbrybMTV2PbcxigBAArK1Pq+GhchysVva2y3KvdXFwZ4Y2uLq5d2WNuRZlVeK8qqAOVQAdBu8S8l/hSiSeM4gCSOSe7uIfuM3c3MYR4OygkYqzlR+YKGuwUb6BNdYnyDO5G++1+/wA3dxNay21490kUFtFIORjmjklCwuxjYKp34gEgaBNcmS3zc8c8EVo91EjSW0EccVvDdwARzpGIpJIzWlTxNCToDaaixRz+j5/MaDLX0Igv5lUcFnC3cJpXjIxo9PWgmQ0/HRGmwNx3rGW2QIsthcrkbBXPEBJ5RHcxd8AtHbdxmjlqRHwlBYE76pTSd1aiKW8xnbPa/MuLNWYU7R9zW5ZeCSC3NeJX2krUbHQslhZcJYWUt1c2d1lcxblpba1kJXGWoSftLOYyQs8hcgsjVUMaEU30F8mfv8lcDG564t3WZEezYMnaxdzIrJCJBDEI/trhDwkQBgtRQgiuilNv4zl76WWDH2Mrok5jEkjBIbeZf5ltK7EusqggcQrFhQj46JANBe+O5NobkcOMpjmWGWO4icI1fawBBlt7gdGUEEbjQayG5WN1uIeCTHmrvCY2s2E1Ge2uIOJFtVWLsDTuFqAgCmgR5J1w+XTJYmUcIHSRTyjlftSr2/zSimPm3IowA9oYeug7kQbSfH+RYyZ2jkjVpByDvbKaxm2ckyjgqkoainAg00V3JL2nsvIsSQIuUbGNjHK1tNCC0lu6gfmCGpALgGSI1ptoj1/bwXixZrGNNZ27k29xHCS7208kbSzW7kFTLDciMuh9qgkrTQOcIvjVnYjOZOf9QuCglgw6FZXhVnYQS3xQdpFkKgsgAC1A4sdAX/8AlB5pcOrslnjbftzG3eQW8FpC3PsyyRgq6P2g1DTusoqSi00U5t7nBePC4hwFuM/nLW3dhcAoILZNu+9sFdRShrxhUs3RnOiMvbXX67fXC387w+SRTCXH3UtwDj5pCOcVpPFKOzFZ0NBxAFG+XuA628YgzlzdzTTSYXHxk2+Qt3eGSW0uEYGbEM8zRiN4mXuRShGR4ZKKCQBoCL7yTGYeFsJ49bTWONjKLcZW1DpO7OCplSSYK7rLJt3GPIio9opoM9NBf4GWHIxsMxjromWaR+UttkEbeR2i3MTKX4Op96uAxG9dBO4xUOUtmy/j/LlEWNzbvMjTxqi8uU4XtcQ30rIoCmnuKt1BpjfJchNZNhLSWw8fv5AzPMLP7Se9mJRlSa5VlSB5F6OF9xoDSuh4ouMRfwhrDJpImRX7qfD30DQhL9WjS4urK7uUWv3kEQMnCRjVRRaqQ2gynO5Z4bmBuGTxsivE0TANNGlJV7bA7mnvTrsSugZSi1vrdMjjJJnuFEs2Z+5ABjmllZy9qkWxx1Xo7leUb0YihOghHIHBDKwZSVkQ/WjdSrA1oR+6m/TUFpFQKLT8aV/H8dUcqw2BO1fWorX1BNBoLKkCpoSN+m4/aCN9CUK/BSQelGb/AHnQd3+B+fubQeBPoP3kn/Q6EvAkV6fiQP6K6h65udif6Nif3ao6Aa1P+rf94GhNNOHofT4UFf3/AB0ES9B8KCrEkDYbkk/DbQlqsNbxYmwk8sysIMSKY8PbSkxNK0qsDkAPqFVBER+pUq/8S6DKxGaVpby7LG5vXDUYszxW/WJGLEkO1eTDoK6CssP00VHKS8d7iIKQ54XU8kcaoI3Z+UiwCqFeVRtoNdjPE53g/UM5cHCYu3VSRJ7b+YKAFShDCzEg6CjTH0UddRZXP5M5RcN4PYC1t2/LkvhC0lxJctz7hgBaV7iYxjd2YvT6mQaqJx4nFeJW4yPkf99yMxrBjBIsrPIBzV79qkFSxqsYBiHoHbfQpDy22X8xY5bPzfpXjlnWUQ+5IyAoBEEUhbnI9Kb1qT6n26GVU9/deSMnjnits1nhYj+fPVozMoI7k93NUmnLrWvw3OwCy6yFvgIG8Y8Xj+6yt0FgvsnCKvyJFYbNULFUWpFa9a7lqkCHT9p4NZ9Y7zyy9RlCgrJ+mK6guWo1VuGRqhiOJFae2pYI2NrB49bS+S+RTs2avFeXGQNGk8qTyAmO8mgkICnkaxhgADuRyoAFeKtEjWfzLyY80JaXH2U8qxz37hwe6quOLJGSG4gcS39kbhXYRtnru78r8iLpiLIkxo44m6av5Foq7Ihl2DcQFHTYsxBHrUt5PkLnyLMB08fxAJgtqL+ZHGaw2cO6oa9WINKbeooXpXZ93y3KT5nLyLb4LEipAQxW6QIT2beIICTJIlASKkLU+qjQw5Dz8wzUl/d0tcHikZmoOEUFnDUiJGUAu8tDT+IDkQNgNByAt5bmmubtltvH8OoYoJHW0ht4VKxwo7KvEzcaLUAgV+A0Ci7ycGazH6jfhrXD2jJABbhpDFZRNwKQKu/0mhYAfV8tA1y+QtMnc9yFAsERhgx4qBALQICC6EclIahCkjhT16AMleP95ecFLusYRp2oC00/0oqhAo+AAFSfjvoYg/vfHsjjorU3H26TXUTSR2YkcXKolCR740gmlAPuSN2ZelNC4d8nPJiWwWLF53HnD5RY/csgkJYm3gUd3iirSQUJIFaU20DXKWkHjvjMFvJHY3F9l6m3niQTssAaNlW2uGVTHEqEGqgEyMfhTQVeKYcTm4u5kZ4bG3cJEkZmNzfSoRHEIleOWRIVJduFSp4nbrqC61hTKZSyt1k+4tLN2yV4GkabgVcIlu0knOZ/ubqNQFLkKinVMt5e4bGZyM/qFtCGc8RcMUglDmtAsrFAXPXjU6FXz/L+HZfC9x7B3vLNalreRKvGp+omNqgggdRvoUY8SOAY7SaWwljlacWY2RJuIDzxM/uWZ+AHodhqAux8hyWGnkuO1dm4kgnDzzTNNHdXktVS+vYLlJopGit2ZAF4g7HVDafxfCeSR28viNwy38kRluMPkbiOOculBNLbtuhq1WI5UIOwHQB8+yOKvcVeS2GQhe1uIW4yJIKhTxDqQR7XVlIIIJBB0KL7erWskAjg4SMpDswWVghJYpy6Kf36BdJEkLj3ckJ9wFar8OvXRRcUSsaRn2jo/wADoiTo6jbiSGo7/wASiu4I9RobCysOQCmqgihP8X4j4aCwLVxxKkbAGu1T0r8DoOmUCVlUMpOxrQio67+oOirGcrRdww616/0+miUdgZ5pH5DZacT/AFq/DUXox5iGFwfbRvfX+r1FPnXVSWeml7jlqUqfavoAf9+h4HNamvX11GlscMkhHFdvidh/26C6a3ktwpcgq/0sDsfx+G+qzRQG5EU6j4/D4aFJFuvMR0p091OtP9+h41OF+xZWil4b+z84lQppUSK43jaugQ501vOPcMvBeAkJqzKPpq38VPjqLBNvQGm3x/2H00NpRqxYUHTf/T10JFlj/F6V/o1UVvJypQfj/wBmiVeEZlpXoP36NTbCxYKLXjWh3+Y9dEXTW8ZKGBWlBWr8Qfafn00HbaONPfUVqRSu4+WoGAZaddj8TqnCLyrGtWaigfP+g6CUMqzAc5gA3Qk+nzGgsnmMcZWHi49H+B9aaBOizzuQSWPy/wBmgZw4tpkPcU8iNi2/7/hoXKbqze1lMfKjf2W26+hGx0ArCRCAxPxFTUf7tRV4uthVRX4DYf8AZoXNbR4gkcyp3DzJkhmWsZFCBQ+h32+eqga7LO7mROA5V4j+FTUgAdQBoULHoJD2yaGlCfieuoviwW7MRyYCu/x1aCHDi5G/tP7/AJjRKmVpcssiEt70IKE/D1FfmNDprYpYpIw8QACsO7GOqkj66f1fjoL4JZoLmK8tJjb3UJPbnVFkDIRQpIjDiwAO3w0Ox/2r3FrfZe5yVs86SBZY7iUG+uGalAkVRwjofaBttoFZoVKuqtGQQysARQ9d/TQ8TucPk7G0hyjoBaSssduZnC3EqN9IaKnJuI6N1I0MvB32kQ9ucACp+iQeiyD1+R6jQeZp5GYzIGQrvEz15Gh9wYeo9NBARypGsykSxVKkp/MiYdRLH9Sj59NCixQzhpoQ21BKe2z2716LNxBVW+B6jQcSEXH5SAGYttZnZm/t2soNDoWX/cAntX6yMIR2xPGgS8tuO3GaIAd5B6nroIdma3rcWrq0Ln+ZGO5azA+k0Q3if47CmgGZoJ2ZJ447blTgjVa3diaVjl/4e/4U0BVxDk8YwhnQyxGNSkV2RKvaJBU290taD4A6ihpP0664UL21yTvDcflsjenYuFNHWvz1UF97KQcZJ65O2T2FLurVUCgRblQTUDpWuh09brg76N0vriTGXNWKC5h7towJ2UTKCQQPU00OxiYTK2pM2GvTcw0U87W4W5iYU2DxOzFQAemhZ5cxNGRFm8NbZCLiy8kU2dyD05rUGNiD+GhCkt4hKhbt5PFXFahlRnQGuxMkLb0+NBoG9qsk1utpjfMoWjmJb7W+Ce0rvQvMBIp/boHNta5kEy3ONwudiVVHK1ukhkAQ/UBIHjJI+Y0ME+Vi8iyFyHx+GbEW0VEaCHtv91Qj/FCOkUiVHT4fHQGC981t41iOJsaAUBFkK0I22R+IpoLIsh53wJjxtmKAVb7MAn4GhcbjQ2nGv+Yl8XMRt4KbMqRWsRXp6PybQ8VyYTzeQj77NNbR1FXF0kaqf/oQQjQK5sFYK5OZ8sjdq+5TdPOzEdRvIxr+zQDo3g1ix4rfZSRTsI4mETkelT29tAfDnbxvbgPFooFJpFcSxtJIP7R4qq7fidBbd4jyPKR9/wAgzMNjakfyTKsMajbYxRlVY/iSdAr/APyNxD8YxcZ68UArwFbbl6DkaJ1+HLQNYbjy3OKYsfbxYKwIpzReyRH6/nOAx2/qgaCtE8X8Zfu3kv61lVHKUBhMEfqSXYlV3+JroYVSZbynyvlBjYTjsZWhdSYYlQf1pgFeSg6hABoIInjPjVAxOfzfXtxe+CObbZj7lDcv/E34aDBeIu/6pcc/Z/8AB16p9gqneEUfIqaEg8x6/PQE5FpZpruJpklljjCyqJHLxNbAIsyFlWK4pLIAeNTQE7aA28tr/K3ENzFhXsMHjLa0unmjgkSJ4FgiWFnvHRUuLi6kJKmtS0hPQaCh0F3I9qYpUvF7ix0e3kS7uGla7vJL66knjjtuaV4dsNsKEVOi0QXMZDBWjnH3v28l6xiaO3XjJawQyMXt7W+lU3UMTueTiIqGJrohPiWmmvPvnlREx7LdblkAuAS8bqUKsJUKF+4xNGXf4aDd+Oy3z293lRkMLZTvMlzd+TZmObI5ax+4BW2xlikwkSe8liQzkxDkOdGI9o0TQC7z+Es7hpoIbnyLLio/WvJn+5EbUILWmG5tbwqDQoZ2ZlI+n00GVyWczGduUF7dzzys6xxh3DBAW2EMaCO3t0A3pGijRW/gzYscZaY1rPIyd7sW2Pw2FBw8GW5xmNLvJXtmXy+SvLx298UbRxnbck1AWzvFahcf5JkTio5GXj4h4XbRNLbuy17+VuEJE8saDkyl55TUEkUpoM1c4rx20ucfc4fyFL+1urxI7izu4Db5KxKCRjJcJJ2oTBzVVLNw9zCldyB2zuUxeQszbXF3ZzwQ3ltFcQSSRuqFHrQksBwp/aodxoNzh7jyWzx9hcYWCDI4IST3EsBEFwlpDwplcfeySxi4sWIj7pZXRSXDLWuh1gvl8Xt/uZ8tcXUeE8cmuZXx93ko+N5cW8jFo47fHxFp7uRY9wfYhO5I6aI0Fjj5cliIYLXxFMhajux4bN5K7hxNzcwRqe3NcWsQkkmeJV/gftyBQTuCSVi8fmchh8zPcSRxXV7IWivba/XuxXQLiQqZal0mRgGimUnrvUEghpoXGdQZHD5bH+IXqqokxVpcS4yICC6l/v8AdytPGt9FHAw/MQMwYFSlN9BjPILiPJ3t1exdnk7xK7wJ24ru4SJVurpLcgGFbidWkAA4jlTQKrC/msZC0ZPByhljASsnacSKVLqxiYEU5LxYAnfQb62ktLq1SS3hlm/my3cMspjMERfmLmLtgRXMU8hIKE8vaegI0DFJGBjWdkjVn7iiNZXaaN24icM/CaG35GlI61AApQaFhaPdco5YJJoVdSscaPNUwyhe+SocJNwddmO7rsd9Ba1s8LGOKC2VAgqZzPHcnur3o+5bq6rxkHuqKhlfkab6FnBBIe33FiRmInhKXDiCOWBChWzozFUCg0Du4cmgIBGgixYyKOT26K8zzrFG8MDxDjJLCttcIsklJiCXZg1WYCq6FkmVFKvbsI47mOSN4Q0fJVaRAARCC7JGoZWNAelajfQAPLbNHdtNLJHHVOZszGVUtGY19twys8EoX8xGPbVSTyBA0CqO7yEsaSQpFaRosRS6kRbqRmWMpLHFHJG3bUvsWDBQfpHqACmFpbGkgrIXaSNJEM0p68zFGoZY+dSXIHuP1E76BfJcxn6bW5AUflkRhePtIUtEHr16EDQAhopKLHIUZFZAN4nQOhjai1qPY1PgK6GTS1ycyXBS57cwmiigWdo0VLYQrxjYQx9qBJJlRVklYNULU1JOgeQ34lkmEscqFLg2zPGqqJFuUB+2eLss1wXkWsLEI0YqqsCVoDW4nhhMU7Lyj+2jjtkCxSSSTdmWTvTKsV6byK5IWNivMqaO29aApu7iaOICHk9xKY4+Ts0ry3cigM7O7yM5iIbatAq0Hw0MMdOxV5gCZgK8pOdeUhb+c/IU97Cm249KaARSStCK8eRBqADvyc0pUkjpoPA8WFRQkjj/ABCn1H271pQV0FsZU98MokV6NVX4NE3IEyRr9Dch7SCKUPpQaKjxjbkyVjqQRwLKtNhWikGpJp8tEpC8LJu0cs5ZF5FVl50UU9wLrx4b/joPGSVhUz3PKm353H1PLl21G3+rQNsZmszhZXOIyU0Kz0ae1uRFc2kzgEMkiTCSNz6BgAxB6jQa21yQ8kLy2+Js8X5rh+3l8dLZRtAmXjtHWS4gFsTQ3IjUnhVxIpalKEaCF5c46wku43+9k8U8jS0zljd45Ve7w2RRysF3GpcRCaCaN7edKhgYwdjQEZPrc3dxI2VxrQ51zRrnMeHXf6JnyalnlzHj9x3MffTO53rGvL49NBYmXsMuRaXgxmUnbijQXkY8R8mDiQgr2p+eGvpR1AjliJrSgpoE2S8PxNxP2be9fE3Ugk7ON8hhbF3MjByBHb3JDY+9DsQA0cjV+egSmDzLxCUQ281/ZotGMDOJbOWmxZbaUTWk6GtKoDoLLfyLFzz9zKYOfG5AsAc14ncTYu8Hr3Gx4cW0zVNWIYV+Gh618N62biCWt1gvNVVKrZ5SIYHyqJdzwilX8i6dUr7gpqQOtdwWLZ4fHXf/AMH5PN/5fZUDibTLpKMbM/qUvo+5ZSREEGsgIPoNAyvGzggEuf8AH8b5RjwCBmcI8cN2VkAXuc7XuW1xQqDRkQVPpoEdrB48Z2fx3ya+8YvnoJMZku5j+UgUiOKSepxt0ry7EPUUP7NAPkYc5a3uNgyVjYIzC9mtr/DrDDFfd6ymVybaKRcS0gUktKkQYetemgYyGzfDY/JYazg/UsdbR3ONyWIt5MbdTNi5La3y2Nylqs0krOiXKOXVmWaKQtRd9CDW3OIjLRzffWnil6seTxeWazlmggXIDv3mIuryJJftfssjWWJnBRH70bk8hoDLnxCaSNL/ABNzDmLGdSwMEkc0zo1R7XDtaXS70NGrT00GXtY8149MY8XkMhhQzt/dZlN3j+TNVm+wuoz2xyqCUAYfhoNFYeTeUZbHzTWGAxU+VtbuW2ub2CKR+5Lb9mYRPapNFNbtPUVkMpSQA8a0IAFiJPJJjLaZHE2WXYqL/EPPxv4bgIgmSTtmNppbW5DokoDiSAIahhuCu9x+SsXkkvbWcM06lppQziRqcElWba3CKE6txboDXbQ5KpJJVPcjlWTnWITk8Y+MgCRTcZeYiUejdEINNDlwt3WYyxu8yNwluopH7TGQe43ElXWZncExtyHJTUU0GW8kFYbT88SFHdRGwdZEQcAG4EBeEvxHUj56Ke+EW0Zv5pV7rSQ2DPMFmEsHO5ISJzEqBlnjpXgxNKbNUaIxt/QrFIxDSh7kI5Fe5Cjlays/udWdiNz0Px0HcVcrBKsL82tZw4gVnZQkg9xtpSGVuKOQ3qXTp10GztL4W99JGvNoDaRpN3Q8NmyGThJDJEhMMkiCskC8gWkFSQepCvJWUnjmSiyVmi3ONlkWW17ymSOaC6jbistKRzCaNykvE0WSo9Roqi7j/Sp7TyHCv3LGYqZVkR5BBcshS6guYyADbSH2lGoGUg9DoI5GJFMfkmD+4hg7qPeQ7dywv4x3WkjdAivEmzVVQoVqeh0Ft7CM0jZzERtBlLONrrL2dpG0SKiMP77ZmNiRt7nJKAFgq7U0Ky43Y8otw0S9jyCztlEdC8i5uCM0KPUcRcwRg9ABwFSagghfBND5RFHYZGYWmeiZYrDJT8Io5Io4xG2Ov1XioCqi8WPUdfQ6Cu0vUSObx7yWO4FjDIO2VAa6w83Mlbuzdk5tZSu3JwBVvkeoWxy5LxS4SCZo8hjL1iRGkvdxWahHtljJo8VvfiFwDTcE0BrsRLsuPNooz3i11NNZ2rh5YRzTK4JpGCiGVak3Vka8AKsSAdqchoCVjsfJDFc2M1rivJeZklQy/b43Nso5fd2U6r2rLIcloymnNjuPQBRbXs9tzw+ZbJ2Vk0iy39rbwQR3ySLSSGeSC5TusisQWKsycSaddCRc2Oy/jwbJ4K9ORwt5GVmvMQzSR0ahltshap3HjC8tnA5L6DbQdK+PeTyNJG9v41l7gqSu8uDv5Sp5NHxNLWR5FArVTvuSajQWxZTyHxuM22WtEymHuV+34XjteWE0UEziRbG/rxiZZKikgAJA2IA0LPDG+JZ0Uxd42CvGDE4/J/mWRdiW428ocGNFJ/hZeRNQugNSLzrxMFVElxZCp4yI2Sx7JSnONwpu4OQ3pQAep0AxzvjGaSnkfjoiuKgS5XFqDQEkmSUQlJ4nrtxLNtoOJ4p4/kB3PH/LkgPHazyBj7iBm2QK5tpuYrv9Z30FUvhPmFtVoEscrF1DW1x23KdAe3cLGvp6E6BXLYeR2pK3Xj+SBHrDD9ylPhygMg6DQJMnNK9pJDNY30LEqVM1ncRKjBgakug3FNDhfhrudsfex28zRPAkbTUEZPYMqiYujlWdYh7loTvt66GzC1zN4uNls4sncQ2cuTMN8LTtxXE1tTtpK7oSasUAoP4TTfQKZN7W6CxsJ8VeNcxSzM6yNYGVYu2vcRDLWtSfX00DqN1kRXU1VwGBr6EVGixhZ+39+opPmYiYYrpRvayAOfXsTkKaj1VJQD+3VZkJYXn2VzDN2mliRy7Riiia3uEMN7akdSs8INNj+YoOg2N4e9PAkMglmgtFvcZtziubeNBLLbo9OMbvZosgUk1KkUFdBmLpv06/tr4R/cWF1SWSEu3GSKQj7i1cq3slQ7kDYEA6DXQYjxKG0bK5u/e9kuldLOyx0rRyzxOSsM3aRUlS4IorB6IGXYGo0BlwvmKYyBBCMFjQI0WWNEt8ldhvZGtxJyVu/MtB+a8fNv4dwNCr5tkH7gSKMyJ23cyLcczNLPy4uZmKgKY6U40FK/t0DC1y11bWqOCpWJFhkLXYhlki7hLW6w07ssjctqgqKVrTbRdCchbwvayXNm881tko1PdnjcPHLHSWawD0SN5EY1qop66IDwWRWPu4q/mZcfdEd4ce8IZgD2LmNAR9TEK4WhZTTQMLQtgr+bFZJJEx99SokX327MpFvdDiOQaAyVZRTuRNQ7V0E0R/GMo1nfoZMXegLMkYSYpE4LpLb8n7RuYBSSJgSCu29DoeJyL/ANOZH7217V3ir+NhKoUPBNa3RNV2qYmbrRWDRyVWtKaCOStf0+eLM4t577FyCFpjLHIkDRig7M6BtkSpjkT02YEqdh2Ju8cVt7byTx8RwJDOzfaRSwTXEBLCUlyWLGsm0SMoJRTt8Q7cxW3kVuMpYPFb5WFW+6s0BjZGiBlkniUV/ujAksDvG529mg5Ay+Rk2+Sme3z0IhhIkZbZcrBEvFIru5UBhfRoQIX/AOIAFJO2g5b3faBwPkUQRFYJa5KeKRp7FAwLwNGgDyxMKq6GjIdwdqaC2OXIeKSvDJH+oYO450geRpICsqBRdWrqSgkMbe2VQSvRhXYDK04qSMR5vxO7nmo/50UcfB4ggVv7ygLKo5Nxqw7clCf7OguWbEeVMkN2i4fMIvBGjBEd1KOCpxeV17J2PtqVYsArL9OgPnh8l8fsms83Y/quA5wuHieslpKkitb3KGNFvbO5iI9uzIfpI4nQZa7WBnx93Dkfvr68F1cX6RqgjskaXnbRtInHuXRJLS7BFJCrqAVhcWFyMpjDR1bnc2wVWViPqlWNgyNG4J5KQQKn0O1OzoW9nmIfvsVIsLooSbHAO1xYFQzuIoAXucjiwFJ9vK4tySQpT26BaGdGWOZGjZl7kRqGinjqR3baYDt3EJI+pa0OxAO2gsBFdlFdtya7epoOmhZ6tK1A+P7/AFr11DKdSKV6/wBP+rbVEa/H8BQnr+HroJdev7un/fomHqD/AE3/ANehWXK/Dp+309PloduAVr6gEb9d/UaLVyQqilnYKq7liQqip9f9N9CrU4jAwJb/AK55HW2xcPGWHHyrxuL968o2uYmoVtmoCkbU59ZOKChHhXkMheeV5FZIrW4ltISP0/FWwknaTieKXE6gLHDEOpZuCuQKe0DQOofDb14jd57IW+EtGBJVZIprkqQeVbh2W0ianoneYH01CwFspaeP30cWGtYss1tCwxV3coI4LdHiRZrwQmKBe8VQBpGNHoSqiprQtzt/lMhJaxZa6a4llkjnltUV4rOCkWyRQgJGymI1Lps9evXQ09Y3k9pewTWky2rW1tM8fF4oQqSMkLIqMrBgVqQqipI66BZEXu2N9M73OQu5DHDLcyMyxGaXtRiMNz4MqmvI8mAG2gb5jIXOXvVsrm9mkxthDDGlvF+RHKVBA7ip04rsTTkw+A0Fr5nIW2Gs8PZQ2mMXIGVpLm3KyT3VqWJQzBR+QY49goO4p86jS/H5Wx8cxayYqzkuc9kJJ4ReXCBhHGGZOcLt+WZNvd0A/AUI9V4ibF40XmczbzZTKRMq29u8cslq9wUV15TkUYQlh7ep606AAvllvs1kEyOU7k1zPKiWloFBMEbPX+WSqVSPkQmwABJ9x0HsvkZ81kJTdSq9rYKkdtBGghhLGiRVSg7cSUB4n1O+gJzuRnyVzbYhoxY47GwIr2tvKGjuJFJHMFSU/OHUgkEfMk6CMD5LNTQ+LffxWliJoXigEUUFv9iayTTs4Ky3M1P4CaMR6bnQN8pL+pT2fhXjcbfZ2kvG6lKhGurla92aR0LDsqqlq1p8Bsughl2Slr4T46pmbuoMjcpGVae6U0k5rQsqQla12KBabgVI8DeQXMWMtY/EcQwdEIbJ3SMCLy44qzEgVMcUJFAAa+m++oqrx/EJkZ2ikcW+MsYTLkrjZFEVDS1RmoqzXIBqeqoCetNVCe6uI5ru4bx+3gx+JiJt7aC5aaXv0BSS4Z3MjqxPTf8Ap30Gi8ZxEVhazeQ5BDJaWDGW3Mp7MeQvw9GcSkMAlsw4oKe56f1ToBI5s75C+RyxkhOFjkPdtsjcMYorYSCdYrNpA3Cf21Vk4MCQQwJGgT31za5J7i/x5aI2YaUusyDKQ2ykKe6xKrkoYuQoTSdR6sN9BQgvcldQy3F3cZS7cR2tojK21W4xxIhZjUufTb10Is2mQnTDWi4hTNDLaduW4lVw8c1y6O9xcS28oE9lcQgflvE7RyUCmlaaBr43j5rS3EkqVv78x3lyjADtpx4WlorH3A28R3HTmx0NicoLrIXdta2N61ozxzKHWJJVhgRuMt125VdA13KvBTT+UhNd9ANF5FkcIsNnkIVysEKH7u4to55IIImkK20stQ9xYzSoKsq84gCDQaAm/wAJgvK7VL6zVoJXaWLuBRHPDPGxWRJgvtkCMNiPqG+g+a5fB5PCM0d/DJdWjDit2gahTovIgkKR8xoESlrNTcWclxWNlmgntJTFNazICBIV+thQkHiRsdB9JsMfb5+xgt/K8rj7CSSRbuS6nykL5m+HbKwd6O4DJbIsbAKyvugpxrUgSxHkfh+W8ctre9ke0vbG4dhHdWZaWOM7mMOxUDjIgBDdCdgdBjI2Z3KsOfeNGqR9RG252FDoPBpbZiklVVv6fmD0Pz0OnJHdtiarT6gfq69fidCVe/T4aFJTjbiwBrx9RX91dC4h2AJFAK7hvWh+fy0HOTihqJBXYMKn5E+hB0B0mTt6RFIO3JGAJVG/cZfVdgFHy0KXLrq5ediW9qE1CDYH8dC9QyJIxDBSRX6v4f3/AC1FmmIXSkkq3EckG5G4YD401UNYCkydyOgoByQ7HlShAHroS9eoJbUBRydffQChUjqvz20JIQdiPj6/7NRaVutjl40B6fGldCn4Y92GERyxTKxY8XRh9I/tfEbaqV0DeQ3M7NVQOg/q8fiNBasELKU5kEmpc/TX0oPloV/HIYyhcHdgeNfl8vkdReEJBQH8dXhOVQU1UkbVB0QYkcq1kWJzEwryoePz39RoppBHEbGWRqVLUBrQg9aftGi5MLZbe3xyskq/cO55rQE8D1p8dtEZK7ThcSdsmhPIem5619NC2zSHK20MKhbRTKBuze4E01FuGmvnuyImhQKxNAoAofjt6aqF7JIhIFSB0p/q+Ooth8d6e2sbwEcfUA+78emqhraZWyiA/upWWhBLfSx+Ir66C98oXBImjjAH0L1/A6BRcXMU7Acdx/H6n/s0AskIkTkre5Oq9Kg/D46KglqO20sjdtQDx5dWPpolZStZ3HGEbDlUMNj8dQWyuWdy0hduhDChp/qOqKLtIkEBiqeSVcnry+B+Y1FGWgim4JUc2IA+Nfgf26qcOTW7RTSxyLxdeo+R6H5g6KBI4Nv09adQP9+iGVnfNEwUM2xFGH1Af2h6jQaqJ+cfdioyk1YDqhPU0H8J0EJIEkIkQAzopUVA/MQ9Y+Rrwb+qdA/8fhwx719lL1OxYhXSwcgXUsw6RSRmhk4uBQDZvw0A2Wyd1mrz7m4BCAiOxs1+mBGNEHEe1riTap0DK/wdtisXHLf3Trmboq1rYRcWRY6jmJ9qgqu5bYV2GiUZvkQaE/MCv9I0XDocoTIknZk4lWk/hKHYiUeq09eo0GvXyIWuMixNrZWHbMX98mt2EsV1yX649g8cp/irWmgQG3t54w0DtHcBq9gkgA1JEkUvVCPloIvcO8sMOUVisI4G6hjUX0aH+OUDa6A+PUjQhQEkhMlzYTsYC7J9xGo7cq/+5tTsrEetAdBUpt5uMdwRas5INwfzbKUnp3ABWLf5aAg/f4+qRypPbGitGz/eWToPRHHJ4FI/dodvE4m9CpKpxczGlJR38cSdhxlFWiFT60poStFvl8WZIrC5FxbVDNHFxv7KQ0qKJu6bdaaCmS+sZgEvcY9vKWAmnsn7kZX+Im1kAdG9SNBfj8RBfTzHB5aKCeJe4gaZrGeQDqFX2q7L8KaA6KfyfH07ttHk4FBAW9thMCoNGpPF7j+JroKP1bEySE5Px2W3BJDGwmqFNPSOTgdj6V0EOz4bd8Sb27sWJAaO6tSQoJ680DLt+OhUTD47g7l3jxvk9msqqWCvLJbLIPgH5oK/v0IqIh8bzUdRZ55ACOkWTYggfD3kHQuMOB8qKqx8jbagAbIHr6D8dDhIYHyrgWk8kMUZNGJyFB+JI9NCQ3/Td2HZrjy2GN6bsci1WAPqe6taV0EJML43E1Ml5cLgEcnSK4eb3D0IVpd/6dAER4FbGqSX96R/CsLqH+VSE0LDYPIrGMGLCeJ92Q/RLcDkR8yqK7H/AOa0PBqN55lECILfFwEkgRxxwlR8Ob85AAPw0AE3juNtiZ/JPI0lkFSYFnM0hPUqq8mavyC6CuPPYSyHY8ewL3dzsEubpCd/iEAeQ/0aBhLYeW56JXy99Dh8cF90dRbLx6+9FYM3/wAU1PloE0i+IYhxHDHN5BeKaAoaW3c6Df6H39AG1AyFt5Vn4h3iuFxCD3KP7soh/tU4yyAL8eK6orW+8d8cZYcLb/ruVJp9yyloUc/+WVU8iD6IP26DEeIzh8xcTNz7kmOyLEoCeBKxCIE0aqgDcUINaeugPviCcgvISqto/wCaJIysRkjCxxssUEbtdwojE9xmAWgA9dBq7y6t50ifKXdrygscazw5HJ3UfjmDeW3t3trHGePY8ffZrK29ooeTdY1kIqdhoMtkbA4aWGYRzpYXXJrE5WAW99eiNUS4vGx4czY+2mduKlkAeOhBB30LAMh455DeoMhb4O/Nj2naAxW7hDCpaV7i3tTI9wlsedVJBEgOxOhUOcbLjohjbmOFL2btXF525Eee0spo1lmhunAItZOzwUqduUnEnlUAPZiRILZBG9Zp6LMnHs/btUvPDFEeSlkYqDIp4kdPhoMqoqyiqqWcAyOaBSx+t2AJ4rWpPUDRD7B2p+8eco8othI0Ulu8qKWjBZp1ljjZyoVdqAE8t6aK0lqLi8youWvzELRQZb2JybuxWZit9eLaQKj8rKxBVAoFPYfWmiPXfltrh5Z7XxCzGNBYpJlZgt3m7s8gS1xd3ImW3RmAJijH4n00VTH5Jd+R5DEW+Rx2Mub1MlCkuQUri7q+Rw8MVte3MA7XFZWDByn1AbUJqDrHZGR4YLLHeUw3MwVYrrA+ZW391kux7GSxvJDNFDEWUKiiaNqjQWHHXUd3PHb+CpaZKREnkuJ8nJJ4rbwxVf8AUe2zJZyRIRyUTTSRgj6WO2gVXuSxVrctd3Eq+ZZ5yoe/vhKuAtHAAENnZAQzX6wgUUkJDTolNBcot8xBDlshfeR2mdjfuxTW2MmubOT7Ut9l+jC1jihtIl4qBugiKtswOgzkiT5fMSXBheFri4uJ50SN3NrG3KSdpVQBlVASaUFK7dKaDt/PD2Zbh7aJjev2LRaFKY62jCJPEUPtWWQAkHdmJ9NChTaWl1eyCO0gluZWJULDE7dRsoChiKj92i9NDL4bkrRT97Pa2d9LHztcMO9eZq9dgSqJj7OOaWCNytOcnFBokk0aXmLupY3hmtbhPy7m0uO5bTq7cWKsEIaMspB4kFWFKjQq09jl7aXucq206RoezKsUcTNus3CUKCD26kFyeVSKig0DyHgJSitNeFEdua8zcwvahS7UDcCk8LUB5cwKEimgn3SwSKIARRrEyKI1WftyAJN20lTuMhUgyFmBWhAqNyHXmVinBHZXkZFMLcu4rkpJtLWMAICXbjGw2P0gnQEK0LGluJpIlWVOZYsySQ0eS2hYiQoYQikGrhiRQb6GCi5y8bl4rMLeTSW1yVFuTFNFI4RImcOlY5o3Pv5gUUbUGhuoD7ZpZRe38kHOKIoY4RHFZBVBBkkNA0pYkkrQJ8iNAovcwdo7TuKo2MihUd0pQGJGB7MYA2YjlToBoExdqFGO7kyBVp7jxoQ87EzsWBrTlSvpoKAwoAoCEeoJDHrVq9evofhoLaMVKuFYKF+urMq7lQhB5qKHehpoKpi6KGXk0bkryYCoK05Rsd1JApv6jQ7PMTkJhKi8Q5uke3DNO1vEi3JjjkF1KELvAGhRzuVHEggVroNtj+1ZJa17wuIbyNZYrO9MdndvBxlVrWe1hur6OzXgrqsYIlJNSKkAZUzjuZu+rHRYWzM0bM1FAZQqFY0RAFR5SV9oIDb6G6vm8jASUWpp7eLD3LXaqsOtCf3aEJLVY2XhVaq7b0f20pUU5KtfQdToIjjvIEYoQQK7A19AabEGn+rQS7YIUqVdaglaEFOR4qrEgAFiNuuglWgb8tWorciPaQa7EVqCQN/noIj28qAcWClgP6p32Neh9aaCwPU8qlXBqF2FVFKU5bAAD9ug13iVzLFc3cVhjsffZeawlkxsN/wdQ8My9+O3ifil1c9mrBKhuKkip2Is1Vxa+Q5H7GSCzxVr5d4/d/cG0smhtjJZCKO7tJ0s+aM33hkeOZFqCoHMLoLLTIFbi6ixeRtMTJezSz5Dwjyy1NrZ/dTEC6jxt8yhEWeUNwCMnUVWo0OguQxWESeKa7ssx/l9llKhMhC0t1g5ZG+kxZG1YmMEDqQg33J30BF4nkccCNnMTjfPsHQmPK2IRr/sipEiXlnRxStaOrVPVtABYT4y4RrbxzyiXHhwqv4v5lElzjHNatFHLcCezU8xRaBX6bjQMmyOVwIEOXxORwMBrxuMPxzPjk3MqxMmIyUlxbwx0AI+3njIrsugt7eHzkTvHjLTJo3dke98SujHko2ps1141lDFcqpZqlYncDemgzcviOOvnMeEzEEt6rcjir2JsTlonUCoS0vWiZ5F9SjAA0IroV+vSXnmnj0ItchFLkMeWq1jnbX761lij69t7j+8Rhf/AE3oOo0MrsTd4y/mlPjYyfivkq281zbWNteCbDZO4to+9Jbqs26l0QuY5FIKggVNKk2T563hviuQgiZUv7eLLQI9D2vvGlW+s9lFYrbIwzKnQhKbCmilWMub2BFg5ySWdq13PFa0MhtJJrKQTz2z1BgVowA29D1pU10G3wVjl8HareYx4fIcbIbe+kfB3UVzd4rJR25imf7WTgs1rdWztDPE4QsoDAqyK2htoMbn8L9wy43I3fjV/cPzusXNG82MmupmDTH9GyLRiJ5CRVraVC5+OgaLYW4me7trafHXjUkkyXg9y5SY8yqy3/jNwlXSp935NxU/xV3BBovcjdw0ntsR5rYIg5yY/jjPILcAkSPPi7uTtd6opRJbdq/w+mgzxweGyt3K3j+WvMPlWi7VzhLue5w2SeJVNIJoWVJZol5bMVlA/r/ArP3/AIlLZRm3vsbOI4mYQXQjEgkuHdRzOQRu5HHJUEFiG5bAaILTJ5fGM6YfNXUtjCipNjM/EctBC1FV4DLwS8SIS1C0NAvWmi2XvmsLM7pn8Bc4WWT+bk/H5GurCTiFBaa2jVZYwv8A87cg9dtBdFgBkLczeOZbH5q3j5r2oZFt7tlYhgt5GzLzlUOdnCgV2A0GI8lsby2Nhb3Vs8ExrGlvcOqu5ZlIZGkmCgN0oG2YDbcVA7wWJ47++kmih4izLs83tVoWuHKRtIJVVIGVDWQBXQjrsdCxRkMTLdQYd7KFZhkbq/ieS1kFxHDdC5k44u3hiZ5FSG3h7vJqhlcNy46ATOYm2xU5iiyKX8YjtjkXhMbJZ3kysYhFcQu8U0sBQg8afDeuh6Ix2ShEMiX7Mzxqqt/eGhjkRVKx1QMFdXBqripU0BB0BM0TTWneVh+mzQXiwUd353qxEmAhn4W8saDnQAF1HLpoFmCy7WiyxXML3WLuFRcpaVISWMkqkvtFVkRz7GHQ1HrXQGNHP41d9yF/v8DkQsaTqJEs8jZMyStaSvQMrIQAyjdWWhqRvFnh26glwk0OewVxI2KuHKh05ILSc0M1hcoD/hh3OKs2zD3CnpUW3Fp9+jeQ+ORSW1zZlZcrjoHaV7ZqF5cjbKFUtZg+0pSvxqdyO18otvKI5LiNrSzz8cMfciZ+KeQBmoZEdUWCK5GyxKi82Ynl0I0HYrq0zMf6XnzNZZSzrbY3LvGRdQSIOAsMvEzbwKP4uvED03AcjubrBvceO5+yW4sbkA3FqUVmVGCvHkMNc9edAGKE0PUg0qBVKS0u8JLFnMDeyZDFhRLFkEhMlxYKwMRtsvbhXHqydyhagJ3FCB4NWwxfk7B8ULfD+QS1lkxppHh8uxNTNjpEZxaSqgBBB5E+h30K7M722ytlbw2vm2Kkv8bHSODM2U63OTxLKWKqchCFfgXcbTD6Oh9NAuXF5vBccx49kEy9gOMxu8cpmZKoWK5bFAFdgzDkFrTfiDvoKu7455A3K5RPG8lIu91b1lxN9KD/AMeChMU8jtu1VIA6gDQMO95X4tFSdYMvgnTtxksclhpbcNyJt5FrJaVBNSRQV6nQBsvhuaVOHf8AGb96kx8Bc4mR9v5TBuUKVPpxoBU6A9sP5hiYIxjcjcXuOavZONu/vYHqplHYg5d+OqAlqBqDfQUy+UW13IY/I/GLSaf387jHq9hfq60BkZCRIajfem+40E/07wTJsEtc49hK1AEylrUAkCimcqkigMaVMnp8NDAuHw/O247mBzccsbjkv6dl2USKSAPyZe4CWIFPf6aGBKt/mRjagSXd2o4+24sLW9RgCaDuxyNJXfenX10VU/knm9uON1ZWrlW5H7nG3qch8KxwmMCn9XRLlt7nMxfGN5sDgVkRjSZbO8WWWNhSS2kJiPctpl2dGBBHwO+g7JnM/LJBImI8fhEBiIiixcjK5gPKDuMbV5/ySPbxZSNFV5O68mzCwrlLBGx5L96Sxxs8YtIZF4yTyTyRd0RCvI15KtOVBTQ6ZmwrD9xZGRJWspngEkUgljljqTE8ciALIjJShAodEMvn/rG2ioSxpNFLA30TxvExr0DigP8A8SwB/ZolPrGgSIjqR/ebaXtla0JIfiaHYVDbg+mg02MuGdYrMxrNcYm6F9bSF2YR2yMfuVSNW7VwttI1dgSYWoNgKA0vbOGZxEhAscrLJNZSqpeO0yoTlJYsAxpFd1CrvRQyMdw2hAfx69jxN1N2catzlpJFtcYbl+6lmWhMzNFDK3ETyOhReJqGWg6nQuplz+WhnWW7yMl999FNFe4+YvNatac+T2zvIQDcbM0ZQLxZaAjpoHdn4tHmmkvjkTZ4cRxzDI3ESk3URNHXvs/ZguYHUKeXInalToM1mcfiUlnfEXN9d2EDCOS+lhaSJ5dqmKbtxhU61DcaU2221FVYPIx27Pi7+RfsLt14yySlUsbnkqrexsQyIrj2yELUqfw1RqLr/L8Q2b3s2RSHIOhmtMfDEjoqcxQUeT7m5iYMDVeLIrBuJoRohTbGLL2UuIyKfbZLHRu1vcySf3ho4Fr9t76pK0SN+XQgSoevTQdx7LeQyeOZZUhulI+wupTIKSUqlr9JHbkZqrIxqjUB2qNB2wnS0kuPHc+XWzLusE7xySpaTLzRZlhi986P0aMMByAbqNx4shN34zdPjcjHI+LvUDCtJSkcjUjvIyvKN5YeJ4n6JBsQd9B2W3ufGLhcljSL3C3dSrhGNtNE4fjWMHnG8QalG98Tj020Erq2WF7byDxm4cSKokuYowa208aryjmWWpYkH2sQySAnkQdiEjb2PkduLjHf3LL2cMj3FozF2leOsstxbvQPIHYktCQWUn2exToIw3ceWAxOfWOLJRho4MjcTdsXLN7lF1dMHHMFQFl6hRxO24CUU9745KcfmbVsjhyzcAZGP2/cADy28vFuKuSOW3CSgqPXQTkxs9gf1bxe9N3ZuAZEQPVwpjLpfWfvApMNlYFXArQjfQddbDyeSEWjW+JzKUknjv5f7vfTiteBQcY0umehVKgdRsKaBlBk8zgLuC0ySy/dW5aK0sclLJdWSJMipcS2MqSKtxMYyFiUvWNWINKgaC7I4+zzdJ8BCtrfT8mns4wImQxAl3vbVgHlhcCnKNTKjb0cV0VkbqK+xEiLkreWzY/ypmpJazAesF5EXglHyqGHqBoiHaeG5S7sZjjsjAwdWUlELFagELvEzo3UbUOgew5fHX4Fln7ZMdd8eMTrFI2Nupnbkbt1hlR7S6CiizWtGJYl0cbaAi68auYojd4+5iubRjSPvzR8STQCOLJxqtjLJXYLOLWWvUaBBOJbKTtX0M1lMRVUuo2h5CvWNm/KmU/FGYag6JAaEbg+o6H8NUTDVFaj9p/0poj1R1J2+QNfTYetNFe5DpSnwHy+XqdCk5VrLGWESHnIxoIYlaWUk9OMcStIx/ZoH9j43nL9kVLP7KN/cGvSUmKerx2EQkvJBQ13VB8xoWaOHHeP+Nj7u8uIczloZeK27XEEf28oNCy24MsFqIqgsxMswG4pQ6AG6zGCy91BLnr2XL3CnjY+OYtPt8dadx6kXFzO8T3koABd2KoabgjQgVlvJbvHWJ/Q1w9jFE/YvLO0hF5NZiUflXMl5Hxt7mSoO0SMIvVjoXYS6knyrxzX2RusndXEkUMVWKQxhiSziPkXftRqxAqqg+mgvRILvLqsVsLa0iSNTb3E11cBIIlEs33E1PuQrcN+NOAO3TQ5VXFw19krm4c8lhUW8NJXnREpXtwyyBXeKMbKSAaHfQVlkWPISOX9sccKKnbWriJphyaRGLrykoVUoRsa+mgnYgo9psx7EMlyeA5MjRRhY5OO3JElmFelOtdtDkNGzMl5MTxaeV1r6KCRCp3LHblU7nRV9xwGRm4cWS1t+K9oMFJ4hRwDb0KRVH47aIhMxa6souQbsW7E8VK0LKq19yqWBYkg7g+mioXEp+3MY5Dv5BSOL+1+03Ac46V5rTZq0ptTQsZW5YXMLrJFG0Cyzgytxq/HtRRx1aMNK7MwALAUP4DRCy0/NDv7P73eBVEjBEKmSiqXZlovt6kj8dB2NjJfXTFVQJwhCIWKIY6hkjLMxKBuhqa6CV8tFivFHutDSYLWrWkho4qN6xsf3HQw0drmMd4/iBaYJGuc3lUIku9i9tDMSwt44x70liDKpegDPuCaAaFR1F8KxXdnj7/k2ahkcmYk/ZW8gALtLy7jTylvQ9RTYLuVVjvHcfY4wZTyKd0uciD9nZNLc27SuwLoLi4gSSeEyqOS19iggtUmgIo8lvrGxsrfxfAScLadUu8ncC4W5d5JgrtDPccQtxMpUUZaUAApTQ0VYjE3OUuI7KxQKkaqZZmr2raGvHnJT3M7tsqjd2/foCvJcH+m3EVkMlfT28gUvayPGtpNcxgloYnt5poIJz9XZkCM3UNvoB5MpkshY23jOMxgs45JUina2lkaa/kP1B+ZB5zHcpxHbUbniNCRnkNlj8PbWWAis4WyqLG95fCOFiYivMJbTAtPGzOeNGC+1Seh0U18SxbRrJnHKqtu0sNnzjDkzlaT3/ZZ4nntrblxJiYSKSSOlNRAwjkzmWMk88ItoLy3guphDcSC9uDWW0sbW3VBcy3N52zNMvGipGCW31Rr7pLuHH5S7xvHLXEavEFgYrNHIfY6XEDKs9vMlW9rqN+h9dABbSw42yiv8k4jvchxjaAH82NY4hSygQNz9kahPkWJ0NmVu8llYSXs0Yub69ZXlRqDvTzkx2tsaAF0jFKj+omg9LK3j+NtLWziSbK3ryJbxczEjXRPO4ubl0JdLS3J9xXdmIGgX2flXJmxXldsIppXlTkYGdTEN+5FKax5C2A6gATxj0broEfkHgxQm98fkWRZEEhsi4aKeJxyVraQdQymoB9DoPn91K15LDBfD7a6tGSFpjbD7mCOGPtxQGFeCNAjUNAvIkk1Og1/jOfaxxlzaZKI3mFeJYsjEs6XN5ZqXEYpj7hoXjs5Q3WLmymh0Gcy3ic8GLlz1pDPHYnJSQwWl1GVujZMO5b3YVQGFsy1UlqH10PWOuWDRqG+rqoA+kH0B9QdABVhTUW0iUkUx9to1qGJWQghwD/CTXddVHgQrehrsRTQWqK8uVKAVAPx+fw0FL7dGYU9B/rGi9q3AZuQbl8Sep0StLIt6etNCBStIQIx7QwFT6U/Dp6aC/gFcIlAaUJP0nQDwFo5Soam5B32BB9DoXMFViaq6lyaFSfaR8a6Bddwdl61Vg+54HZW9RWmosfAeiuhSdEmYgYnARcV+tuv+nXVTmTuxswqcpAg5Cvu3NPSg66AfIxR20okVy3c2YEbKfT9mgWl0NKsDy/dothcT2nFu8SCo9vDfl/t20QyGVdcb9kiIV51WUD3cK7g/gNAlllZV7at7DuQNBP71mVQSqmMcQQOo+eihpHMjV6167aJ0rEZYHijEjr10Ky8hCH3clboD6g9Ph00MjY5OJCsNyfqp10BRIPoDT8NDYWSJJPWnw23B/3aLH9AH2MVdQ1Pn1HxB1CiSgsCVU0/02rqsykRJGyiUOi+la0Pyr66Ki7vPIqEmlQqr6D5/jTUW2R64+WeQxWu7ovJlqBt8QSR66qIuGj4pJTmNmr1BBpSvXfQUle8TXoNhoYUqJLeVWpuN1O9GH46i1gbcX7XJSSRfzETgfiwHQk+uqgCSZnNaAfh8NRaKwxU1B30U8sMg0DhgSAdmTrUdNwdqarLVxPHIgki2Umrjrwr8R/VJ9fTQWKYkmjmkt4bhkZWKSCiyqP+G8i+4K3So3Gg0+Mu/GITeZiQdm5tkJgwVwS7xTEbNC1KTox+lhsoPpocM08t3lbzvPynvb1wkaKWYIp/lwR9SsUa9fgBoNJkFtLGzi8btbOC4y900LXV/Iy87eSQgiMN0BI2G4AXrvoKMv4pkMNYi+upbOa3JSOZIpKyRGSgAcNQOpJpUaDLRBoB+SvcgBJ7Yp3Yq9eB/iX5aAvuWsgLxSTV9vBOIqW/jViKFSD00EL6WYhOMnf2UqyoecYHUMKclI+OgpjcEiSNzFL6vHur09JY/pcH9+gY93HyRKl1bvZzAENfWdZradidmubZt4/nSo1BCO2vbIG5x8ySQMCHltKXFu6t6TWzVMZP7xqjn3VhNC4vbN4Ljfjd2J5W7Aek9qwqCdCOFtljb3gb3CXSuY2FRZzBJw3Xe0k2b/boC4ssYXuYvIMRHkjO3ISFfsL2CQDjWNuKpIppXqDXQCvb+NXqhlvZsdcEkC3yEBdFJPtKXUQ+mnrXQNLXB+RWw5YLKi6iVeYSzvo546U3H285Yfs0Hpct5Ja8hk8NaXqUAY3Ng8Le07N3IAVqRoQEfN4WaVWvPGTAhB7otLoHkfiqOsZ0MKmfwu4cVjy1mpY15wLKqrTrVC52OhZ1bHwqRQVzVxAxJFJbaVafM8V9oOh6kcR4gRUeTKd9wY5th8aEemoqw4XxBCA/lEckfGtFEhoT8qMNVFYsvBUZg+WuZAFqrR28jBj8P5froLFn8DtxUW2UumH8Pa4K37S6U0OIER+TYS2HHG+JpK38D3bqzH4GiJKx/foWGrmPMr2n6fhbexQiitHZkClNj3Jyq9PloKJPHvILsdzOZ9LKI1ZlmuwgHxpHGY0/p1AAsHhWMYma5us1Ov8ADAp7LN839o3P9o6pI+38hydwDbeMePQ2iE0Ewh78q/MvRYR+0nQs5c4C/uD955dnY7WMjkIWmVnoNykcK0iU/grHQwpizmExh7HjeGe+vKgR3t0jMSf6yR0aVh+AUagIkxOfzIa+8lyQxeP+pondYU4D+FbdWCD/AOKJJ1RVFmMRiiLTxXGPkb8gp99PGz19C0aU7jD8Aq6DE+FDh5BFCvvZrC+Vv6qs0Bb3gMhZIioJ3FCK6GzOVTNk5rKP+8yiIoY1hiW6tpLmN3e3Es80CXMLiMsxLUHIKSabgbDfQ2dxYXlsxmuP0zGR3d3DbW97kbde0JMjcY43SLa21/DLEIEZuXYRC1TUjQHd20ydqIbbM4bx+4zhIEN7He5bJ5AFwif9ReTTBzazXLR81hQCMKRtuBonpZcWgx0/6p/1jcY/P4yJra/x10k8+XGUtiEW0s2gDwXuNumT8tmrEkRXkv1AFaHKTi1s5LfI3tv41bXXK5usTjTDnfJ8vdy/nSXGcyJWK0gE00nPgxVR0AoBQPlF9FcXDo1vBJLbQW69swVuBFGzO1J+yGWGUsCSGo3GhOhP9KCaCop6713PoAf26I3Nryw+KZxIFl7bTPNazyRvVkUS2Uk8RUSwzSOqSQtVSyddtFDwzx2mNnE0MZyEax3QnZJTJILoMW5sjdnnDOB9YNYxQCo0I/jHmvU1apJ57gPueRBIBox0DjE3UkOVsbkMkfYuLP3yJH2Y40lVAXDQyIUSIkAsrEkV3Og2Nn4xhbsl7zJZFrmdpT9hjrCe+uLeNru54XOQZEYWvOFFpCQZuTVKAaHLj+JZt43tcVllyOMDFZI0vmhggo3L+92skqx2pQmrdxY+NCSK6BjYYXDYmL715bPMTRMYzkr0yw+I2k1XDKsqhbvyC4QxikdsvbJO7DroLI/Mo452AyPkkQoFTJILOfHvxoqqnikyCDH2USjinYkEvHcksToO33lGNNtwmups6jlJXxeMxj4HFXMqF2jfNXtwZsrkOLEExKwjBUD0roZfOshd3OXvGmFssbTssdtaWcb9qJeVIrW1iHJggY7KK76DVY7LZnx+2THRS/bxW6T3+Yt44Vt7uNTJwS0uMhCI8hCbiQKrKjKyClDvTQlprW6vrrFGWyxqY+O8doLhJslbYXF3cz8ljgbImZvIPIJgjkSiS4jjRqg1WgAYrO3t0n3FnmcHYW+Ytmis2ycC3UF1xt1Cojxx3DWl3+UAveKVZANyd9BnoWa6JjFvLN2o+5J21MgSNSAZmPWJVYjc/HQHQ3M8QP29ySu4IY8wQAVo0q8Zqgnb3U+WgYJlsgEHNIJnXhxlYHuRk9XhqCiSBQBWhBp00PV4v7t2Dd1OTMDLIC8b81V6zQkGsUhLCq71FQdjoJRMyIRPO5RSKFuNmnGoZlZoqCYFhWp3HxroOS5S2hTiGEgUAqsC8Ya1rR5HoWBB+oc2+Wh2RXd/cXe7FUhr7EB4KKfSVj3LFf6z777AaGwNf6o48q1Lep6E8ieu++g52/VSGr/Cqnan9kmvX4V0XlYFFCzV2AINQeS+p+Nanb00TpM+rAbAoAIx7OJX+IEluvw9dBIMXWaIqGWSMktuFjliUvGxJ2DFAR8xoeiMZH3JLfm0Iihnj5iYMI5I3fi1s0i17Uc6swYmg36jqA+lRQWttLaMkFxNb3N3DaWt1bAww2Ju+bxRQyRhEMdu6tvG6vKVIBLHcHV543PZZCfNStDDZXeTksLjuowH2eYgisra8bme0luMgsYqQsiqxLHamhh8hy9hJYX1xBKpiZXdTGQQyAMVZDWpHFtt/hTQLUpyHItTcnkNqD2+gpQMPjQ6CRLCkfMlVblxI+kla8upo2wFelBoPKy1IJ5dwEVVqBd/qK7UIHp01B6obgw39tKn3VKnY0Brw4jQ4TUoagryLchTpwI6cSDxPIfu1RIP22bc8fZwFAXDVqOQIPX1Oiolqjh7nK1dCH4NG5PuZXA5LXqaV+OiI85u6JVkl78be24WeVpUI39k4ZXBI9RoNRB5nk2iW0zlvZeS2KrTt5aEvcxA7FLfIoFuUc02YlxXQs0mKzOJb8nBeQXvjAlqv6J5Ei5bx6V6UEUdxJ3RbRM2zFghHp0A0DNhLin+8usPkfF5ZhzPkPhc/wCo4G5JJCveYkmWBoCx+kVapHSmgtmEWeVpbrHYbzS3jjCtkPGZTjs/bxkgi4vcLO6iSRunEUAIptoBMbbSW35PhvmDxTFmE3jXkaLav7ioaL7S+UxOSpoxjG46HQBXpxv38UHlnjsnjd+8kanO4K4MMELuSsdzPZEusMTMpJeNq0qfTQB3uSzdjJc2GasoPKLCxuJ7eZMzAXvbcxyFCIMpHwuwJowro1XBRgaaBpHNDeY+GLHzZA43Iw3T4vHX073s+G8nwlLl8Ul1KQFtMnjGdVXfnzXYGugwc7SWd3BkccSk0c0F9ay15Ks0LCaIqrAAhwQCB9W+2g3t80OSsZp7JX+1aMeSY2ABqRwZORLfyCyRqqBHisxEJSiBiizeg0PGQkhtAvcWZ5ZY47g3qxx0SN3dba3t4DUs0k8DGTkoPBwAAdxoH0eU8Ot7q1S2sc94vKsMLfrdncBr6GTeKaG8tV3kt27dCQrFjuUFSNBuKTZu1p3PHP8AMaxiBqpMeH8hhAAIKunKBysZ6EQMx9fgShImJsFlSPCZ/IeLZKPiYvH/ACtGjj51oFsbi4NJIy67dh5OgrTRR15kvJMSefk2AW7ihBUZiyRrkpV6rI08EsF/BEi0pSWvrSopoGNtnMB5Dbm1neHKpGjv9tloPvZbdQwqY7mOGHM279aM0EjAD6qb6FDGGG5soueIzF7YWhrxt8kB5R477SFWCO/SX9TsUYOCRJKgUfw9NEU3IRgLjL+PT27SLxbPeIyrlLCVQCGee2iRL9YR6g28tP63ropH/wBOW+SQz+M5OwyscYYvC05iu4STVYprZzWF0B6OsZPQiu+h6QXuHt7O4haWDI4y+Tmf1GQvj7lWaMhBBc2sjRtGxG1SStaN8dDIPI+W+Q2S29pJeQZGNVrDLmMVa3V9GWXtSKzFVWSMn3BmAY0FSRsR0v8AELSymsriee3u1mgnmnt72wuKT9xrXnPj7nH38b2dw0jEFVCcJOe3QHQJLmfIRWcNiGSzs2htb+W7uxbc7ZrhS8cVgbdEnETxOpEXXoCeNBoJW0lrgspjI83iZmw8iPJLFdRI084uVMcWSI5mFij0HbP0oaUFakBryyubAS3FvBaywQsJUUwq/wBvHcsxt72wEwLyYu6ZTw3YRuOJpUHQL8Tl1s5Zo5lc427dGv7WDtiSOSMu0F1amRWMfamYMVHEH6G9p0DH/o/I5K9ZcHHFeIApkuIJqWNZQZE7bv8Amvb3Cgtw4sYzVW6DQ1y9bzS4xrrBZ+CQ2QuBFdW6uHazlLFGvbIltzG3Xj9RFDRqHQT/ALz4veyRSLFlcLkI2WGSRXFnlrWVKLLEaUjvYUlBPE8lNR8QQ9PbT4RrXOYG6nlxUyMYZ/aZbTtTKj2GZhiLJ2OdAOQKEGlWAqAIa1ivlGb8dkkscvaBZchiISsFwk1CTkMPQ0eM9XjH9YAb0Og8s9l5JGVyU62uf9hsspKEWxyKLRJLPJNWJYZVY8mlejKfqodyFkV+1kJcF5NjJLuzXlLArSdu/tHB4reY+9A5zWKlTxptT4eod7WW8aplsXfi+xFy3D9TgXlZ3Ksp522Xs2XlHIie0uVArvsd9BKTH4vOhZcEyYXLhvuLjCzzKmPu+Khu9iLuTlHDIfRSV5E/AV0BGL8jymAd7adbmBoQTJaXSuY40kUqTdWcgMsiOvqWKHqHB30PDK5uLR5Fv/FIsnir91R7+PHRl7GWORK/dPYR8kihMkZUhQRvv0qSFzZDA51x+t2y4HI8Sk+WxULPa3Mh4ohurKjCDhu0lQeVNqaKuSy8m8cje9w12mQxJ2knxzx31iYywZFurB+6bdqEFwoNK00FP6n4xl+TZbEth7o8g99hEMlu8rH67rHykLGUP1Chap9NCgq28YySj77xPMwX6pyZTj7s215bq6mN1e1lagmkUleq1FQNBdP5Fn7dUtfIsJZZFIkZCmStvt7vgKUP3NFQlVFAwJqOugpN74JeovfsMvheYr3FWO9sxX1AbmWFNvaANB5fG/HZmVsP5XYLKxBjWV5rGUciQoNHMYYMPUbddQNY/GvMLdEGO8he4jDAx/bZaJ05A+0qrlQff0Hx1TOBIT/M61qqzzXP5ZjPct7aZQrVPJSpb3/2jvoV/Ufuv8zByIiBDBdzjISFp14U2p8ToOmf/MyRFiCBB05JjYOZqerMQfX9mghPjv8AMq7imSXISxRyI6un92s09wAKvIlSkRH1AHoduugwN7azYzJRC4SNJLlDa3Rt5O/a/e2wFe1cAmOUtEykhfoOx30Bgp8aU326f6DQ8Vu6RqZJHSNB1eRgiV/8TkCvy66LUqlxt7d3Ul7Z2F7LYvCJru5NvLDbrwWk0oeVFLxhVBLAEDRAdvLHZW0fbkEuRF2bmMvEALYQ1WOJJlcPPFeROVmRhw4mo3GhtuLM2N7YyzzTfbWN7LIGYoxOKvbcxmOFUjq3KKf6ZK1MZ3GgzuXguZAbtRIl/YSxjJlG37ncAt8pFx37N1L60oHof4tA+xGZ8d7LZXMWiZDJQ8I7fGPbqsIvAT3J4yjdordEhmDxs4epHWmgaw4S2hgkzHlTfpWLuppbq08YtCYGuJGow78EbCOGFBSqLSnViOmgGbzZCYoGw1vZ4CVHtYGtg0c1qQrKt1bVdEuUgLhnDRGI0pvXRc3JO83jF5dqIMbeW+USCC5la2guooRxE0kVsDzjMNxHIJAFqoNRsyU0QyjkdJIbuBscs6Rd9ZiQDHCKiO4mjJkHejj+mqivUVYaCjMYtryJMvZcYL205tdCS4WWVpYSHeQCKMotnzIEJ3I5BTQU0AkyxeT273cEa2+dtFMt5CsgVbhUBaS4RHqQq8fzN6AsCOpoEoJv+poEx18zx5m2jjispFhQB4oVZe2wQJzdU2BFeanfeh0EbCdO3N41nYRbys6iK8kaVSjiqxwysfotDzBq38rqFrXQRSa78bmlxOTVrnE3DoxpxcqrcljurdjVFaaOpVqhZU6j4BKS2vvHWXKY7t3WKvYuM0SkTWs8LkF4XjYsTHWnONqOjb0Gx0Fs1lHlf/hvx1pbe8hKz3FurjnastCH5+xrlTICe4ACnRgNiRZOOex8lVbLIqtjnD2o4ZyVgtZyvsaaWSn5UzA8iacHIA9pNdCrsN/c4pf0ryO2uLzFMOFvOE4T2kXcZlkg7q8SkhBYczxPUU66GML0xmRxLfrHi16t3ZPIABADIkikh/t54GQ8pwtea8OIpX1Gg8pwvkqrFKI8Tl4UCjk5P6hciscSWwLpFCxJBZuW1KAnoAuuJc5h4FxvkFg2WwwqgMiI88cb7t9pdlao9eLKaq1QKD10FtvhcJlljfx/O3sd/E0aW9rkXMV1DN9REDIRJRCPcSJKDoNAYc3n8QPtPJsY+RsWMoacJEWmBXtkTO6y2l1ErCp7ilyw2I0LwguI8OzZBw2SOJu2Ut9uSYUWRmA4PYXjmCg9ezMm3RSNAuvvFfIbFWjayhzNo45KLQcmZeqv9lcFJht0MTPoElpcXmKld8deX2HmDKktrexTm2YyA8YpFnRZQsgUgB1kUjQo08HllxHFImRwUdysgYvPjZg1rLIVAWSazWO5tlNQORWBCR130O1kV3/l3eGtwIsfMUWoNpd2Y7pFJD/8H3qKFLiorEpGguXFeFyAumdaIMCERclcstQQOX52MkmUGu1a1G/TQ9WfoXiCH3+RNQbf81QjkAD7+3igQu/UGlduugg4/wAu7Eg3F2l66gsoaXIZBHI248Xlsog5O+6kEaiup5pj4IzF4947PJXYMYo7K2AIoGP2aW5eh/ryNUdTXVSeCS8zPkmRDx3WRhxlrISz21gF5kEAFKQCOMLt0dn3Ohcl+wsBQzC5vGHrcXL8T/8AQ4uCAaDtzbxy2jQ2kUNvIrCaJYkVDI0Yb8p3I5ESKxA366C6wvFurZeS840XtyW/2jXHJ0XjHC/EiRzI6gAsxUMKmugHktI7Z0vLSKWfH26oJmlfgytMTbiWVU5rFcW8jESKDUqUkKrU6CdnMyT3aJ3Gvrh2gt1iR2dg3vcQyIwo8kShaUPIP020Owtqw4MtT3TIxlBFOLliChHUcaUpoeIS0a3lFatPeMFUKB1kVeJcnlUCLp0odAxNY7LIT8JnRUiti8RKxROgFwhuOP1o0zqoQ+0nr6aHqu1VIxZRyOYkDLJJIEkfgsStLI7LEVkoj0JodDpRDWR7xlJYy3CxI3BjyWMqKiNaueQqabnQXVrkZz3BIsSRIHHMKFqXC0cCRQo/hIBXQUSPzTGoa8lkkZuSKr8QGZI+Q9zonKoJoQGofjoD2mFtZ5GfuBZJYfs40WjS8CA0vMSQvGkRaQbqyS1AptXQ5CwKIY7QHYRVkYlWZVKx8VL8CGVe5IByFSCRsdQVWVWNxI1eTTyE71Ozevp6apsdzVAzNTgAQ4YVVlYcWVh/ErA0p66i5hrsbYY3xCzXyDMQGO9mXlicW7dy5UqPy5rnvNyTgDsm/ZBHVyACKsNYvlJ5/MPKXAtIyZLO2lXglw6mkZ7X1fbRuAAoHub471LyUZHIzZTIT3UyrcbBYomla5jgiUmQRxzA2xbqagrsPaDqpVmLp1vbxY4UjeO1HulijaJWk47uQxqsknqOlANtBt58tj/HcClph7yG+zWTUtPc27co4iQFZA9UaJYIzRKV9wLGldAobDTYLER5q/vfddvx/RruBna/D+2Ru4GDQkxSV6cwp6gmmhoj+5geGOa2eSvcECxQvJHf48iMkBLgnuz2yBSRybuRE0BKnQM8Nh58rfRWkEs0txcnlNeS+/7e1iA7szAbUjTYf1mIHroNn5XfW9jDHgrOGsECWq2scbCVjJyKw9kmj2lzdTA9ziaPHyJGgQ4iR8Tlmx+Uu4omntRPYXroI0S7ugov4Vu/ayyS8QgZjQBaCldBvTDcQSLOe/3IoyqXVuRDeR+3YGUdz7i2r6N3oyOoGgrmSzyKQvmbWKSWyk78OSs4H/ImIHJr7Hxs7qp4+6SEyR13KroBns8vHeXeVkubfIWYhaXA29qy/ZyTLEF9zIDWWq8RXcV3Gi2dwOSsc3dS3jy9rLScYIrOenGG2gFBYQswBS4SQsZFYBpCarUaIb5a3s5bQw39mL2V5lSztCKO16KmIoaq8KRfVI42Cih0Asd/BgnwXj4ljmupexDPCyhpIrSVZeMxcnnEBNQRruWUb6APyDxe1zq9wEW2QjB7N4gHvp0SZQBzjr8dxqLZ8ZymMu8ddC1ykJiuFqYZ92iloRSRG/jT4jqNVG3xPmWSghiS5kx9wIR2p7eWAfcTWGyvBBKnNJvZU0ZV9td9ChVn/FEySR5jxa1nns7ppC9pColW2lUF5FgdXZTAqj6SeYO1NB8zEEjuVoBx612p8dvjoRNE3tpF3X3jpuKV/A9DqHiqpH1CjU6dKapt0Ma7kj4fM/DRHnZ5CAAPhQbj9vw0WyIikFRsP26i2lXsAQfqr/pvobHQle2WZt/QeoHz1U4eWQE16qp/p/DQCrJSXkfp51I+RO/9GotGhmRmi4W8JoEWRmCksVIrU/AbdNVCpmhPJJnIquwVNq+lfUGui+gChFCdgTtqFUv9Wqykkiq1SCQPhosQI/ULgV4GgIoCdyBotPwLJJLKayMzE/E/7NQiiuh+Gi1hcqk/7T6arPQ8HjAd1ApQb710Og8FtLcbpTjXd2biB6+tTolKuTRJCePMM1d+JFK6LRXA47gFNv6K+mhQ/towpYsNmoGA6gH1+Wgr7MMzyRbB03QkddAnnZ42KMKMppWmxG+49NCIVrcyL8D+OotBAmEgPL2N/QdvjqoEk9zUAJJNBQdfTUWBluoh3uEen8Kj/X8NWEldcXBuIhGo5cem29B6b6AOCFzMCwMYU1rT1GoD52MYEkTsrE+50JG3T01S6tpmaR3IWVJECt0LKR61+OgJmhtogi20/eDIrEleLKx+pSPloB7sqIApG9RQ+oPyOouyxun7tVIyr1Ghi21EEteVQTx9P3/HRFIYihG/+vVSLSb2N8YWRlBArR1qaMPXYnQ21CTRzqGTYstQPTbqFHr8xoOyIsvDl7Zox+VMPqHy/tofUHQF4u7usNI1zbqkt0VdYZTQxwF/rJjYVZWHw/1aitBYY6KKyl8ky2VNi8kryW8naW5a5nblyMsJDdxJNwEFCBvUaqeMl2XvZnjUyXE87mSOeB2dJg5PECF2II/sHddFqhLBfWF0tpc25glVaupYll/qsAdwjL6Hpoi5o1dhIG7MqkUkT1p/WXow0LuxiSKQz99luK1EkYFB8ihBVlPqDoDjPY3C3D5K3kS5ZFFvd45VSEOPW5t6+vUkV0KnkGLwlpZRPk75p570GS2ucbJ3UhQAErPDUlSpO5I+XpoE/wBhJC5usRed0A/XAwinG5/mwH2Pt1qNBUt4pkYZawM5cf4i2BtLtD/5gj2jl/Z10JTGOsrmVWxWTjefqsVyWx96jKKijjirmvT46A6a68lxsYgv4fu7YnkFyNst0hAp9N3DVgCPj00OA33nj92FF3jbvHy7iSXHyi5tia/V2XqygfCmhylDhsdNKHxHkNokh+hZnmx1zU/wkqVUt+zQN1tfObCogup7yOlKd23yEZUdKCSjgU/boBZcv5DCyDJ4O0uggIpcY2WIvX15xhlFNQUHPYp2reeJ24395t52h236K8aUNdU4SOV8NanLx/IR1G4W5RgG+AJmFdCyC3nhBJL4zLqCKheatxPqKiXcaDn3nhCyA/p2WdKbhmQHl+yUV0KPDLeHpXh49eyb7dy4Rf8A7adC+ko/IsUhH23iVu9DsZZTISP4ekb+7UUxTPeTzoIsd49a2yHZGjsJXZR8mk4JtXVQT+nef5KNVur82MNNwZYrX2/2hApf+nQKZvHcNasXznk0UsoPvht3a5mJ9RVmlatfkNBxMr4hYADHYW5ylyNlkvNo2Px4MXP/ANZoo/7/AMzyqAWFomFs/wCAwRLbgL8e9KOe39lRogGXCYWzLXXkPkH3t0fc1rau087MdyparuCT/wCHQUN5PbWKNF49iobFWXibu7AkuSf6yoCd/wDxE6DOXV/PfTxyZW8ubtQ4LryqVSvu7MIpGrU6baHjZr5ThMPapH4zjy9zIn5l5ex0ZGpv1rJI1fTZdB8y8UJGesBVfzHdWLmQIeUb7SmIiTtlgK0/aCKjUGsvpnnkitJTdTWyG5ULP9u8Vq/caaa3szNEnajnG4WVuEkgHA6opuka7scBHK8Ft3LCPG2BTuTTpZW91eJPe3trHySrK7uPQN676EwDXN+PRxR2WRwMGRusYZrfH5BLiW3R7cM5hiydqgY3ptneq+8cqBTRQajYTEzm8ub68mVowXt5JbwQ/dSQdpTDZ27O/JoxfXXESMOTEJ00FtpgIcpE+VyWasMNiXuJI4EkL3WRu0t6iaW1sIAZJiWUjm5UltBrsbd+UWuPtch4td2T+N4drgSQzNYWReC2Z5LmfN2jNJItzdLsWWTmagqBWugV5fx1ry9uPIry3tvG7O8UXtlh7maJcllLkqXWCwsIkMiiWXgG5Ipq1aVJoGYzcrx20dqtvLbp3nVxOjLKWtgpkjbl7V4TMSVBJWu9CSNDLfeJrZ5PE2kREUJv47nxjMqXKpNcCOfJePXkyKVJkmh+4t+ZJrKE2qANBhcXhUhyd8mYtLm5tMNMYby3t50tprm5kMkdnbRyyGqxzNG0jFd+0CRoNJ5HmsZHhv0zFm0sopZra4fHYiydLVzA/dUX2YvgmRv7qEKOLRRxxg9SemgEv7K+y2VltXyK4zE2J+5WbJXsc0djDLBDeiU3EBLZC+unuaqycpJG6n27DpZfTZKysocib3D+W4wyPaJfX9gL6ezlho6wyTTrHeqwVlcRysVpQ8SK6HjH3+VvcjKLi9uZrp0QIhm4hYUA2S3t0CwwRgDYAAD4aBpivH2yNqcjeZKyxdmZxbw3F/ciA3VyF5SRwsQzfkx0LE0UVAqCRoPZDDXWLysVhPc/cFnt+3JC0kiSwXIDrJEVYlkaM8gV5BhuCdB9Aj7kdkLvDr474hi5Q6QZm7upMh5FcIHkhk+zjjQ3MU0oQ+yOJZAOjaBRkcJaWMS31xLfwxFlmkvc4wgzPkjxHkI7LFSTM9tjUKIzNcUfidqnbQZ+x/Q8tj5v128vcVLb3ss9tdQWst5ZTW10yF7RbdP5F1DIp4moVlYA0pXQKsxkUvZk7DyyRW0EFnbTXPH7qa1tYzFA1xxZlMvaoGAPGiinTQwtxMUarA0i3TjJ3kGPNvZqfuJ4GmQSpbs1U779FBqOTCvpoH4n8Ulvp7a48Zv8OLMyPC8N5cTT3BtjJ3LW6W4jCRTzopKPUosqBSOJJABXdphorZpMRlrvN3F0ZIjHLjbi1SwVezP9y0khalyoJU8eSjmRWlDoM/LNdxni4mVgOk0soYegOwjP9Oh1gOZJG6EGla+yr0IHuDuX9f26CsAggqXdvb7m9xJG/try9oP/AG6CQBJXYEbk1oKMag1Fa0GgsXghq25UFSKmjV2HKhqCOopoVdBK/m7NuxrtXnQVFF40IBrQaDnPmCXFXIIVlptToCTtWlfmNB5dhU+7t7cBXq3QHpsd9+ugutUM8vaHu7xRFqxVA7EDk9dvZQip3A0D61haHsK8r26M08riJ3gM6RK0MkUl1CkzWdu8bcGndTHHWrbVOg3NrDJasksVvcWICva37I1s1k0Fu4W0JtJ+/byyQyMHWaADatAUJOg+wYmW3zWIa0vALom2FlkEkACTrLFxc0R3IWVGPryBr8K6E2YDybxCW+YwluV6sZ+yylyKw5SFEIS1v5ieFvlrdFC9x6JcqA9Q/IKHxDI4+5x8r2l5DLDNEzJKJAyGtQOIU7UBHzBO4J66AJnBKgKBwPqaMy7+wVqo0HQ+9XCjiKK1AQD1RfUDaug4G341SNWB+tN09Q3ILy9xFCRoPBuXSh2DONwAa7LQb0FNzocLCFHFgqe7lQFquGjpswDe0NWq1+GhdIcmHJvctagL9RJ2NTXivx30ERViFUkKVbiQAz7ipAp7ivIbHfbQRBBFCKgkA9AU33orfUP27aD0UKzzpDzWESOFZ5CQkYeis5G26jenr00H0XHR4uwluLLxfzHMW+Vhs3uY0lt+zicnNaxPdXCxRyclUdlGKCWMVKkVNdAsTymyu5lkzuBiF7GfZmvHpThcvG7DufcFImFvcOQa19vXQaO+y9qY8XJmWh8q8VyyGG3y2QtYYfIMRLE5guonmgUO8tm7rIwcHuKQVYjqFZrapf4/KTwz3Xi93DHE+TQ30JwOUuoI47mWLi0l5BjLhhJwdiDDNQbADQFZLIZKPDRxZPKY/I3E8kdlFj4vsZWtbyKQG3yWLltKfdY26xLESc91LAbEU0KMviZJVGbsoJZLeON4cxirmvL7TOYualoI0dgC99A5j3NABUg00F2Z7N7fSxWsRhae4gZraNBI1jdXiLNdY+Lt1R47a5aXtldgpA20MowZAWEy39o0sUWGjns7TG1e7x8rZKNo7xXW5YJHFdghpUQEiXenqATpPdvJPJZRKl8lzbwW7W/NpZbsXKzqVj94dbXt+2oPELX46GOhbYu6ju7qLJGaS/nkMtw06q8lw7ndqElGHJ6gKamtdBSMJeW8hnjaS3lhKqkscphl5BvzOw8UizMy8ug32IAJ20PGpj8q8htIDY5m2sfKbCtWhyUAmlWLYK33AQsC4PsaWNmPx9ADbG+SYCqDH5jN+HSNRBj8kHzPjvFhTiYrgyi2jc+2qyW4UDanoQ2v8ZBfxpc5nxq3yMG8kPkfg0/cYVP8x8bzF0pA3YxtcaFSyxxl5zd/DPLLbIqoo2IyDS2eUt1UlhFRnt79OIJHJyoPShFdBc/k2Tw/EeRYO/xkoSUm/sS0XdPONoz9xaJ9rO0jKefehfc9d9i6OTPg/IFS6nGOyTh17N600WJzCSFOapb5fGyLFI9uK1V/t6EbjQoKE2SsaQQ51Lq3YFY7Dza3QRzqBUm08ksFMFy1GA933DfHroMx5LaWbLNfZTxPPWF1Z2Mskj4e4tLrCGRjWC4lmQKTakBu43GNkUUKk0bQKcFBFb+OZNnLiIpOkrcppOSkpFFHCkvF7dbQtxYlmZgAVIFV0GduLGLMY68vZLt5MzbXNtZPAgSO2/T1skgx0k0YWvduVj7YkQkK4HMAGuhdKw+58rtUsLmbu5LG28dpHD2GeWezi/Jt7pEhFZDZqxSetGaIg7smgsmt7/DWtpici9rPKZ1uLSBXaS+torhCktlc1KlFlhbmY2+mgbY1BDN5fG3mOeKS4tbi2Sdz9q8yKhlj5lXotW48oyKB6Fq1poNdYZQrjUx2KubiKxErStZzXTJfS3boOfcktVh/+D+fSISKQQSdAwuIrbPwLjsmyW+WjWCLG37wdppH3iFpdSFuE8ylfZMvtm2RiTvoM9bTPjpbjx3yGJ2xpmoyVPLHzNsb602aaNoSeTwgqS4AY13IEFMj4tLHcxVv8JlKNG0wDWmTtXd2hhvo4jxt77gCe3UFgdqEkEdvS457dT5D4tcSNZWjJLIiN3MnhGkYw9ueBUHftZG5VABCqfb6jQiBDpjPKaOnbx3kly0jvGVjTCZcAAQLBIjf3a5IU0lIFGqD1CaE/wAQiyCRxjAeW4+47dm5CXxDDM4bmVA7RLAS2vJdmUlN+in2kPR/q/jDG8sp4r/C3TAm6jVpMTk40HHhfW4Aa2kUPxLEKvKv0+o4WfpmLz1XwhixeWdy/wD09dTcLCYcVNcReMAYLiVgSATwYmlDSug7+sSgvifKsfdX0ltySCWaRbXyHGcDRxa3pBF7be2mxYEfDpoCIMRdx8ct4dkzlFgBdzYlLXMWgNBKLvGMwinic7EIAXHUEdRhE5jG5Rmt/JbCWC8Rn7maxkQgyEcrkEffWDohESipKhSD6D4hdDhMxZiS/wDE8r+p2hJiklxM5iuGSiuUucbLxDn3Amg2Oiqmz9neu9t5Lgo5rtFCffWEb4zJRHoZLm3UAz0BrsOo+eiJwYHEXzpJ475EILsUZbTJM2MyCv6xpcoVgkKUrWhJ6V0Dfv8An+HjaOcNe2KKKHIW8eTtyhNN7iBZn+rbc6GC7/qHGzllzHi8PdLHldYWc2rqKbA2qsd1PWoG3poTaHhF/l/fUVr3IYuRgSVyFjFPGjMaD82OPnSnrXpoOJ434/Ky/Y+VYyMkVHclu7J1Kk8f+JxjNR7emgYjxbMKvatPLoZUZTN2oc5Sq8RVyjCvtT19BoLh435eVKJ5JOU4/QM3GylQnEUov08DT020HH8Y8qPEzeSzoQCi882sfEKKFNhWgG1K6AeTxGXcX/ltoqg1IlzDOA5I5gqHADAtvUeuh4zWTw+Pt4riyxmatczcgPfRpAGRrOS1/MZI7iVmS7FxECqqnvZ9umg0Fr4tefbwXWZyFlg7aZIpB3ZI2uXSRAwCtPxhjf3bjjIQPnoVlM33hmD/ADLK2k8gvxIqJf3LmW1hkp7V71xEAihuvZiQ0H1HQZzK+UZjKNOtzLbw2KXcFlPZWivF3uY7iPJRi8sVUqC7tU7AaDGi4mtZpo405XLXJZpCgd2B3iAUinFkNCOhGgaYfJtDcrDKGFrcXMaXkCkL2rhiYIbxeVOIRmCSCoDAb6DW3qTBO4zRnIY6EwTW7DtjKYkACe0aprNcW9d2UkcSCu6nQLYHXC5G2yltaW93EYpJ8ebuJaXDMV4o7r/8dRryQBTRZAN9xoO5aa4vbz9QyUxyC3cUd5jFYstoLWd/r7TNy/IkBQxn6WG4PUguFjkM7dR2djFLdXtecZp+VaxVCiSdhSO2gK/VXr0UaB7c4DIRS2/jaTWeYnCMY1seQ+yjeQPdLdSMO5braTDmpateVOvt0C6CLIYG7gsMnGIpeZWyuFCTQSlWHJHJMbSGIsCqPxKs3SlNBoLW7nAEtsitLCrJPbmSWlxBGQbmJzKohdQpJEa0ZCKtU00XTK3clvFPJlcbMbRrOSIleJuFYzGlK7qIYmop5BgQdxTRDKe3TyC1OVx8hjzNoTLdWillkjiTj+bbKq/y0kAoQapyFBxGwSjkg8oiWxu1its7CSizyfki6jhiICPUNW5DKSxNC49agaFkIL+OJHwPk0U6hOMNteSBy1kFfk0Yh492SOQUDCvKNSSgDE1Dypf+LTxm5t2v8HckPwW4VraeM0ZWSVOfFlVweaivofUaC2XGtDwz/i93zQdtriGOo+1mlegtJITyJAI+ogxuPjuNFWc8X5QvbliTF5uFO2saA8b2SNjXtszIlvPKW+g1V2PUdNEdGTuMc0uH8qt3vLaNooUug/dubBYalVRuXCRVR2TixKgH2kbaC9MZksOGy/jd6lzYEoZY4meWF0k4yLFNAOUg6+5CtQBVhQ10HjNgPIlht7qA4TLIqxtI7j7e7eOqvLX8pI5i5rWo/q8qgDQWTXXkHi0YiyHDKYYugX7gpPAyqyhezKw3Q8wApAU1+ljvopkcb4bnO3Ja3N14/kWB/JmYJDGw+pElmIiKKRUhZBX0Hpoi+R/LvHIQpNn5DhwnIM6B+MLgEBwWWaMHkCoPNamugVmTwvOMVuY5fH7sKWaRv5XdBIKIERlmfluWAQKNAzt8N5LjohP4/nYchZt7zBJKJoCibVkSQyxlqCnUU0HLjybMQqbbyXxlLuFlHcMaHtyLXaVopFuLMnqRx46AMXH+Xd77u1f4Kei1FubmKNHJIJVoXmgb/wDdj8NBeuDwl4Alj5ajluXFclFYTqKdFcyraSe/09floRw8/gEr+6G/8auRTkT9m6enU9i5elPXbbQ6VD/LzLcVdbbxuRW+iRZL7g3xI/u7ClNFoti8FziKWgPjsPHflGs9KVG/M2JIA/HRBB8Myh/x3kOJgAUNRY5nAWnWkk9uoBA6+ug4fDbTjxXyiBrinKgTHGIgj2hYvvhMxYj+uT8tAvufDM9AGaJ7C+iA5B0mks3oRyHsuk7JNPhKRoEVza5DH739heWgFPzJIHaHfoVuYe7bkEjry0Oih5Ra3IyVpIDE3tvEhkC9p22E4KH2K5O9dg3Xrotant5IMlbxpFbqLlUlnFxCxSK8mVRyMlqrfbu3b9jyqA7DqABohG3G4tlapjntEjZXA+u1Lt9tcMy8eUtjLWOQ7loz8tD16YqTHkI2o0jtDfRNxHZuUO3H6eayqKqQNxtvoPLGZHe0LvW4P3GMdVDE3C15WhNRxJLmldjsemiLI5Zry1kx6qkczc7mM8uH3TQMZJ7Wc1IaWBx7abkbfPRUI72kaTU/LLG1uCDtCsrIvNxxJdSVpTYb76Dy9+HvWoQLdxsLq3WVQyXMbEvGwWu6zR141Na0roONMTN93GP7vkFatCzfb3SpxMLlizry/hDEkDQTmmiaTHMJJmjSN4eUxDLHKpIaKBgSwgp9POjVrtoIXV08sM1sqn7e0khnuOIDM0kkjs8m9WMSjiPbtvoei0uUV43RzzeCYW7KSBykUo52qT+X6UYH1+OgGsCgtgagbszdNtyfcRXoOuiXfQcVjbbCWi+R55Yw60fDYmY0kmm4847i4iO4k47oD7Yh7j7qUKx95k7jO30uayCRzQQ72lmCY7d44jyZEJaqqwqqufcxNetNDk5v/I2zXaIgaysYURLeweOGfsy8AiN25kiHLjQK3t4JWlSa6DL393KzixtzHJO/WVVKCCGhFWQECPgSeKmtDTfQ5H4lMNZyLDlpbmGB0ZLeW3D8DeUJDXksQaZIz19o33+Ggqmg/R7wTxRWcd0nauoTOY7qORGIkjkjKEQ3di7/AFFAjrUF0HXQOLGOfyjKi+8lyNvHa2MHeaBZ44VECsaRW4UAO7NWpUFkX15EaATOZFMtlmksVAxdohtLMRwLC8gKrGQiqgmbvNXiHLMa7UrTQfRMbDB4hhLm4uFrmbqOKea3WiyqjbWtlDWnJY2P5xGwap6AaHDBY2+xV/mLi4ys0rSPMXsykywH7qUUmvkaZUtJqA9uONmSiCoJJ0GuvcPBd20qydvJ20SksI43W9gVhTuT2zVniZf668kI9dAit1zOCUNi7xcrjkoxxt4TIYxy3W1krWOQA/w0/DQ4afG53D5V1iUyY7JhmZ7KcCO7WUjc28jFIJq/IqwHpoIw3Mlrn1tIZoltJraZMmZHWG3bIyMstl7SQkeRIB/MIUSA0qTTQSyGHsMtLO0MhxWXgZY5LiNTG0rr7kS/t3CLcioqrAcvUHQCLkLvHTiK/uY8n5S1qkGKtPtZorNYJJGVp5JmLK6rw5ysWDPQKNAlubFbLM+O3Lyvc3txcl766ZiXnuo7qEktUVEaLIVRRQKoAGhD6LfTmyilZXb7ydpIbCFY1kaW7oeCKpBUpH9UrHZVHx1APkbLF5krgso8UmT+1juuyqiOUNwAaeyYk78gT2+vH0I1R8WzeCvvGrrkzO1q7Fba9iqhoTXix6BxT3KetPhoUaHx3yy4t71p5YYZbi4VIoBGv28csiqAbh0jC2/N/poQrD+tQ6APyLBJfPfZfFvC0iIb3I2yJ2GgmMnG4t0hDPxNDz3NDvQ6GmIigaQVRyvKTgI3WgDetSd1Za19NtBK8wzwmQTyR84158kcOjAiq8WWoPKuhcikiWMiu/L6d9vwb4aFxCcFUPxEZNNieQ/YetDoKppkZvZtUb+oB+A0LyoULQkgtUbfjoVSAoByPAluJWhqBtQ0+GgixMTEKaHodtiP+zUWLohC/StTvSn+3Qro1tskIVQFpA6rwcAVDr0p+7VTwH22uppJAGKcutP3A/A6LFoSnQgBaUVaV+NdE6RSymlTuIp7Y6ufoB+Z+OotU5LWCKMN3+cpG8dNgen7RqoDCkEUFf2ai1rAmWHhQqeS0BPy1UmFGiGkawsnJaCg3B0UDcHoBsCdhoqoMwXiGYKeoBIr+NDvozVEkAfs0IqLsoKuJHFVHQfH/s1GpaFXjAbjWPktATvv8CfhXVSwa8cCGF40VZYx72XrJ13OhQm4TXjF22A9T1O2oPfbKRwAPL+t61+GqK1tnJKueND+NfhT5ai+jFtVgkjblWo9fj8PlvqoercwPH23QLJxoGKgjbpX9mgUe1WbYEV+qlOn+zRXZWWQqLdSaCrjrT4kaIsCpLC0afzPVfX56FwQt5rVydgrD6T610LrolINRsfn/p00Mhb8kcFPU1YjUWC7RXQQCCRUA7j4j4aE8De/EwKAOin+HrQ+uqzdNREoJBXahAPr8a6GgzEFiV2FdqbU/DRJzYfa3zxEKTsDyp8/iD1rorVW93HcgVZVf+2aK/7f4G+B/fodiasoJKtQGlSN1PwanofQ9DoUCiJo3aWSSdrct3F4lnFrIdmdoSSDER1Kiuh4exYq5srU+RWd5YLHaTJIqoxkivZARTjFt25AT6b10ANxd3eQuJcjfOHurgLy4rxWONRRI0XegUfOugH0ThzRHq09add/h/Tooe37cCOkx4szkrLGoMMituAxFCjivroubjXDWzIUorNGCrwyghweh5Kdm1BfcXd7c2arL2pqOsMVAouQx+leNAWDH166oXyRXFuFjyFrLE1AR34mXb0KvTb9+h2YWWQyVuyrj7y7qw4rbGt7Ey0+kQuHNAPhqF/8MnzEbKUzOAtpmNF+6tg9hcrTqeJUKW+QI1TM3UCPxS741ucjjnNQwuoFuoVNdvzEDHpoCbfBOC0uF8jsZChBHavpLKbbp7GZl/2aIbCD/MC0YNHcz3QUAislpeIyncGjgMQdF7Uz5jzKJq3eJhl3FRLiSyt+2JmG+gpfyK/LVuvFMa9R7h9jcxk16EExtx0OVR8hgJXn4bYbE8gElWp9KfkUGivHyKCh4eHWALGoJSU0P/8AT76Isj8gvyWFt4hjq7UH2k7EfM/liugMXKeZ3HttMDa2qn6eNhx4keoaZ1GgINv/AJg3S1uMhDYRjc0a3gKinr20Zth89F8KrjCxli2b8yhLbkxi5ecnbcce5QbelNEDIPBsfxZBf5uX1Co0UVfmx7S/69Cq+LymWORocD45Z25fZKxm5uB6BiIlVQfxOgLOF8xzShspfmys295VpBAig+hhi40oP6x0LKf0nwrEB1yGQkyVyqn8u2qy8vhSLatfi2h4SYrD4e9W5yN/l48bjkuHWKy5hr3tgniGJ5MCw6BQToGI8iw2KDxYDCxzHdfv8h9T1FCQhrKQa/EfhoMVPLNLLLKUj5SyPKTGBHGhY1KrGNlUeg0Cnx51gzeMlm5LEt7EkrcKhAzcDsxVSVLg0JGord5OV4GvFadhbPK4a1SdoLi6aKJnE5s41AYQ8CrAuBHsADWuqmQs3atMRaXTTT5GSPJXePtbQK0MUmFtWiuLi2CqsjwyX88/vCNySME9dA/f74SPbeQ+JY2PxWezjeK9xNpBGmPiuogbO6ssohDXkpYVZXJkYtyIHQkY21DYC4xtxayRzzWs9reT3AJltJJKu5tpF5cCnCbtE9VYPTcaKOuYbbyfL3clzkLTCWUTW5MENs89y73HGO2xWHsLeOOe+eJdyFAAZyxFCNA+axweDaENbNhZoHjuFluTBm/L7jh2popXse5+g+PKQPaZu5IDSig76DOXfl8sc0owMT2l3dExzZWWdsjnrvlwAa4y06/3fkFqYrVYkB9dhobNzloLvxG9wOb4yvYwxXmEyIjLyRzySO8tvM4PMsDICXIq6SFWqQCRyT+PzHE4ydvubYyZmzeaaE3LrJYQWV2kmOyEKRUIylteQvNCCSoWnKldw8l5dy2z5C9HJbmafISSTBpGkUxR20BdSUjWXsQ8Y5AGoWbodBh2kMsrSyH3SSM5ruW7jUKj4UDaD6IrQJaYvM38b5fGDFWltc2VwRETMgusa72MqqED2YslMdQ4YHi1K6HLL5O/xnB7XCw3ttZTmGSdLuZZHkuIjMBIUiIhjRUloqjkUFRU10CiGKSeRY4gObfSXPFfaC1WJ2pxG3xOwGitla2GMtrPteTRZWy70y3OMubeNZne34gXEUuNlkt5445eJMU/0tU12GiaDi7iup5Xs1uhDZW0OOwhnkT7oRtJIIlu2jIDOIpHZeFAOHTQEW81zZXc93h7g2lxytcFjZI2jUyyyOonl7s6MUh7gHI9RWlQNDfIu68esbSdrjy3yeN7pyzSWWPkbM5KVlb3CW4LG3tmdhQF2qDuR10LsxlL2xmKwYy2ns8dbNzijnlW4uDJIAGluJkCK8hcGhC7A03AroE6qXdYl5FppERaCrHmygUHq1T00JfSbbIvhbGexs8BHdSW9pHHlJ5YL+C/CSyvHFWaGdZLJEuCCkiKGNAtdwdADnPIsrlcNj0N1dxfdu1tfWM8SN37iB41tr2G/eJbuWOZZKcJGcxsrUY8tQE+Oz5C3F5iMHcWFvl/soiklzFGkkq90i9Wxa5UxR3Ri4s6srPLGntoRQ0S8hN3IcLZ+VwC2zBmQXNxbrbtNfYx2RbWZRARDDejjJCQQgNUZhsToqU0mAupMjiZ/HZcDJaQXJx95Lczyu1xZBma1vi6LFHJedtgrISBLQUKmuiMB/xSgNaMyg/TzFCQxqfYSP6dCyIqQK8qNy9N67cmBNN6fHQSkQNU7USlN/qrSoqN99xqCBbkDQNwLAgE/T1AFdhWm1dUdfqpU7UAUMAGp6VAqpG+g7V2ARTXkAetSONfaVXpQ709NB9E8Y8cnMTXcyNFc3CSJZtMKRBKL3bhtwY/yqhGYhSfXY6CcXG7yl5f28H5UES2liuPRDJJClUuZmFz+SYrqrK29SSCNjXQ5Ol7fZBVURuUc8ZRGSVOScxHKkbMPyWYjiK9TuQNA0tbq4s7qG8s+99xLAvBI1kpcJE5kaGZOSxGOelAxUE9QBuSLPpGPzVjmI2t2eOG5IXnC/Hi79Hj7Uh5O0b+1kYAnqKgg6FwGUxdtkIXhzOOjeKN3SOZpC0cMcpKo9rOgW4j7gpWJgQjepG+hZ8ly/8Al1JHIxxUskhDBRFdRi3BdhzjWCcsYJGKgg1Kbim9dBksPYJY5yK1yuNe7ueTRwYi5P2ffviCbeOWRxtGWGw6uSFHXQy28kDZiwurS48PhxOX/Lv8fBarIJMlZm5S0yEcCTOssF3jhIJSFqRxI4CpqKvmF3jrywmkhurWdDEzA1VkKkdHKhQwp8CN9AEKlTQsSSSw4gbkn6Ca0qPj66FjSPC5l7dLhcfdLbyKxR+1KFlWPd3p/GEqDoF7JKjESLSXrTdegAHpRWXodtBwyFy7MSzKoVSwAPEGjBgNxIlOorXQcSKS5ljto1CvcskaoGoC5YANXryBNdBscznbji+NFriGueQivc1a2hgusi0ScHThItLWRlH5pjEfccVI9NCBEVn4WDjIb/IX5ur+KJ7ieC2H6dZvcr27eB7h5FnVYZG98ih1opA+QQwywwX2R8Tvp4/sMxcNBa3Z4vHY5u2kaG1mDLUdq6KmB2WgdXVug0KmyrcD9KuMnEVUfe+D+RsY5VlWELHHY3l4pLmsVs8MvImrfbkbUroAbi0iwUj43sWUk9xdJd3IUmth9ms0D/bTR0HYv0lq4UkbqtAVOgosu3BbyXczxdlYfvDAzATXLJKYooUCq7FBKVLCqFSKmugW2bOHd2kkSSBHvZGjA7i3UoMcChyCY2Wv1AqV2pvocJ3DMotLUkhk/wDhC7WvIG8lZikbBi26/IgsBoK8OhuO0i5aLCSGa6nS8uLw2AaTtqpjiuBUJLKtwy1JT2g7/Ep5dXN0MnLZ3t7FlJcbbR2c+UgjeX76dWLQSycie7cw27iIyAVZEXlU0JIJjtpe2JnUqtArwqrUfiU2STYsu4YrRSN6knQeiiEnOpCFyIpUhMpQRq9HDx7TFlVQeC9K7nbUXxyW1hBkkaESck7KkguiCUflDiV4yDku1S1N/XfVQNbWkuLaGXB5C/x92qs1wbK4T7KZ/QLFL+W6BgBWRTy6EDbQwcyeQ3F80MPlHj+N8jWnGLI2Srj8slWBTsyq8ZRgRWiNFU6IeY7N2U6CHFeWSwKzENgvPLYXUDlQtYYck7RTqErQASzfhoK8phsXzN1mPGsp45c0ZhnvF5myePcsA3dlW0RbyOJwK0eBR6culQhbWXkYia58a8hxflVmyg3NqrW0EpQKV4XNkA1q7yJ17iCQvudFwyufyE9zJLajFnBPJHZ2dwL1r+zhinW6WSRBDBK+IngunlXkhjAEILBRSugMSCNPGL4XD9tIj2rW0FoHuI543RTY/eWbxrd2lxIrBZipWGo5E1FQxP3N3YZdb6O3RpwkTzWMwYR3llIg5RChL++Kqnia+o3GgeTZDDvLDeePQX65oRRA3LSGyOOEYbutLNFMVeVy/bklegaJR7eZYkO2eKfI22fmgvbea/sLT7jIXNwzmaeKYkzR2ABrHb1qrzGpr12OgnZXn65byYTNNNLlre3WwxneVGkvFialti5HIQQ3FvNKXimLciTxJKkVDN9q7xVyyBlNxGzlVkSqXiws0cqMjAql5bOpWSM0YkbelQdWkkF/CUI7kcLwSw28JdLsxxcw1ZvoLJI4dYxQgVHuJroGuQv7a9x6w31sGvrQR/YXy8QxtHZYWtJ4/qftopVWYs3P2tUUOgVY/JNi57qxmtVyOKYlb/FSuzBA6rzvbDlyMcpjABYBnjpQ1WhA6FvbzYqSPyDxm+e5xhkdRI45XNrx3azzNqC4uLcRmgmoysvWo3A6WNZY7yJZpsUsGLy9O9cYSWZha5E0UzXeNn4COzlc04KpfuMaUIGhy6mXhuI/0fym1uGezZ44MpR4s7h5WZQVuRIXE9vQcafSQKA/wgUcMWX8YSS7x9zDfYG+Jje5SIyYq+jBAMN/bFTJi53BCuRRaeqaCa2GI8gBbD9vC5RV7r4K8nQWFyxZaPh7wvzhlYe6gqD8G66C1cxcWjW2G8pwyZOCyk5xWF9EYMjCy1PctrujJfoB1UGjLsQNA1bIeNZVUuZwuFuwxW1y+Jt2tJLPiGVYr20t2MV029DwOyt7iKaHg3KO6wxzeT4608isncw23kuDkS3ySEJURTxIErOEFeDUoK9dAkgwKzyLfeI55LuarcYA/wCmZuKi+/8ALcolxwU8SaLU9CdBKTPZS1ZLTyfDQZSOFuKnIw/Y5NEqAOxfRrxkZAPaakj10FX23hmRJC3l5g53q322at2urRXBqqxXsZSZRIG23NKfhUGNpgfKMepuPHsobm3ZfrxeRjv42FaU+znKSjpv1IGgsmz/AJFbtwz2CxuTWqEteY58fdcV24pM0IjqwBHrTQmAf6z41cVGQ8WvbIN9UmNvPuYxUnkeDcuPEdBt+zQVkf5eXBAE+Vx9QatdWEcy1rsKxqSSf2U0HlwfhE+0PlFnH0os9pcQvyIqCOMqjj8T6HQTHjni1Bw8vsgpB5UN0rUqPaV7hqD1NdDbw8b8S35+XWBVaD3NOymvpQydR8tRa6QOM/y+t2Ky+QC4KdWhsZJFan8KE8wWH46qBb2bwuGJGw8Gbub+IqbacQi3tYpFkD/mxFeE6vToRT5jQLEhnycn3GTbJZa8kqxgBnuVjj5flxObcMG4r/DyCr00EnweYhjylxPhbm1xsqF7Z+3FAsPbCtB+WJWKciKHYuQfnoEsiiftlSoN/aGDiuzC8siJbV32+uQDjXqa6AeWc921vEJBu40gl/rLLFIhj6AUNAQSNBdkLbtX8swFIbqPuGpojO5EcsDk9BI1DXqK10GjxGXnvGtouCvk8YrPbXLuBPPHGvajdC6upuII24y9Qye7qToDL20hdGWix4/JXDtAwlXhhsrJ9UfIfTaXDGnKgUghhum4JbW4eCSTE5EJbKbuhlmi2xt8m0ntWoksb+MnuRqQGk949NBspMyljazYrwexnnpH3MnlYkcuZGWrO13OVdQoDDk+4XZAKV0GNhu8pZm6iiyotvukWe/eBLhppJAXIjS4Uq87BT9JZU3qd99BdBkl8ht/07LTIb2NC9rfzt+bcW8SNxtZQx4Jc2+7rIzVZRwJNRoAZpr6O2Ejy2Spa8SLo82ubw1VYYZoVHJGUbMWFKdajQg5jjjzsEtxYW0cd3xUZTGIQFdmQq89tEg4R2zItSxHsJ6EaDJwSXGNvC1nLN3YVWW3aJZHlEVSHjnVFcmFEP1UKFT1IOg1s0Nj5LbNkMc0dlmbcdy5subM06hd57UqPdDVahRVlrQe0aHT0F5aZtWxXkPC0yEahbW+KxxKZgAqPfz1DH8sbydSKVr10EEuL3x1zistBHe4xwxgMysYoRcqVW6iVQWieSIk03DIeh66FRL468wh/WvGLt7zGELDNJ2x2WaSgkt5oJAGKMTTiykV3Hx0EXTE+TjnbhMZnRJ7rZmW3ildgq/3R/5aO7b9pqgAmjHpoVon+qXdgBi/KLOS8slBjhu4/a8aCQKjCYAmaGPtkICQBXZgCNBfDicnjlTL+LXonguO+v20J5l41q8sf27B2iiRQK8vdtWnQkOi7wGf/u+WhOEyzMR3lQiCebZQAzHjEQAAS7VBqSw6aKua08i8XIXtw5nFBI2MNwi3Vr2JC7BEdlcwh1LBgaoa1LHbRLBAPHMkAthdTeOXpLOuOyYN3iqhgY1tr323ECL8uSbUFBoDO15ViESKG0mltOayh0ZMjhbiKNhPz/Lia4Wsq8hUcvjsBoPSZrxzKDjnsQ2MuaASXlgivBK5ZjWVUA4UFKE8mJ66Cy38csZWjufGfKI45qCZYzN2ZIjUIFovtjqx4040qdAxa5/zAxVY7i1TKRLszSQiYUqGIMsX5rltvlXQ2Cm8nxkx/wDhvxBUYAAyRRgcmrVqIyI9D6UNaaChpv8ALm8L87e/x7MT73EohRf/AABpW/eCNvTQTTCeDzLyt/J3g2B4j20J6gcolLD41G2hlb/09ggqrH5s6R9QhulKrWpA4CYBfnsOuhy5/wBPYNVDP5oxjYLRIbmMswateQEjKOPGtCK0+Giw4/jvhylUfy15GYe381JVUkVBfgKItfTRHV8IsrgBsXmMTcV3HJ54LoKfUNBdzeh3rH+zQR/6Z8uxLFrCe6UUIpa3cVwHRTUiRCcfcOikeocjodAQvkfmGOAF9iY7lAAD/dZ7N3A2+qFIYyTU1qzDfQC3HkuByfMZjx0QylBEtwiqEEr0Wkl5brHPHGQTUF5D8FJ0GReKSF5MbDkO1Z15xt22eWW2cEqbKZwoaBuRHIhGr9S10kevFS3htpoE5JY/lSxNU92zlI7nI9SUf3E/M6CpUQTmKPuS21w9vaydqPvSmKejwPGoqZLi2QEHpyAFdCn05zlr40j2tvgbi/dpGY3DXAmCW7oAIpE78Ucsc6uCxCFoypI26aBLcMZB9w/G3uElWO74IqR293EqLbXcCqeTpcRqTLsKqa776CU53kvXjG7La5e3VgypIx4NPyBYMtwSCpWiqQD66CBjYr2zOe/Yw96wkO4urUvVo1p7u8BsR05D00V0NG6s7Ai2vyqyKJXhFjk6Uhu2VNiGNaginKtdDtCNYy0ttddrjK4hkmq/bs7xiO3fw0oexdKtdwRWop00Rw8lcl0Es9h7LiIVRbywrUSIV9+y+4evEn1GiuBeL9mF6c6XeMmpxVZqcmthuwEZX2ipJ6HRHVAiZL2MGO0vJir8mjZrS/QguGjBJERkIILKAxqPTQE5G9v8oBPk7iW9ntJlt7u3JKEQyMe28XBSgtmcjlTj9Q9DoN1Z2Fp45ZDP+TRBHU0xWFbiJC6iglmUc4xOoNUU1SPru9AC1Y2+u8tm7ubLXVxHa3M/Fbe2eANFHbJURJIF96sFO3X56Jp2wxF2Ybq5hjNwIiHvb6R47eHuNQiFHmdFZgGFEBrQ79dAXjsXcZi8XGLFxWSjXj3CMsdrbggvPKTx4OOke4JcihpoK80LTHmfxezuUuo7eUXEF1cFZ7hbwKVkEc8YjFvIYxwMYDCoqDvovRP2FLLZ3iHvQcGYVMUtu7rUqsiEh43QbkEg0psRoj6j4ZgreMRZvIiO1s4A8mLjlFEdoweV/IH6pHQ9qtatVvQaHhR5Je33lF3LDYW7SdmITQ280nanitGYhjJA3BpLu/4k8Vq0cPzbQDDMY29RMb5NjFgkiVYEmlQW0tuFokccGRjjqqIo2S5RloPr0Bi4fIWMiXHjmR/VIbU9+PFyyPHfxRkCptWhkYyxlf44HZD6r6aBhZ57HZKYx30EtlkSQjARxx3pI684QI7fJCv8SiO4H9VtBPKYO0vVWS5RbmHmY4761btyo4AIjdwqvBOnrHIA2gTf9L26RubW8vYciHLLeSsZ1nh40+2vIn9rxk0rsdtFaHx24vXS7iysaCbEPBbxMvburlWnTuRLj7lyZLeyePc9wPw6IR00QfNeuOYyDRdmRiLHOdpWezDNtbZURhSIC3tW5QUU/wAxR1IIvJFFnP4/dZR7mKK2v27stiFmlYywh7d4DTjJFLJGATuN9A8ucpJj4UzV5azX+Ruophi8XbKJBaW6VaV348lURmjTOd3b2jQYuGxg8li/V8Veunk9u33ORtrmZv744O13ayKVZLcbKvCjQ04kU3Ia/EXF35Fjbqw8gxkgubeUW8rvFRbxOO0y8fb9xERQumzdfjodvl3knjdx49cdxFeewlY8H4/yg1aI9PpkUfsOg0PjXksyvClwQLeQJbO69sK1tBAVKuvH2yKvr9TE6iqvK8BA9m/kWHjuEhD/AN9jmKfmh2CJNAibxlOjAjpqo+WG5lqypyVSKMrEmoHxr00WygHuCjAfLfcaJaUeCojFxyZzRBU0A+NK6CpoioVj0Y0A9R+Ooq3YRjiBVDRjXdvmB8BqorZix9xqaft26fu0S+XHKsBQEv8AxHc6NQZKIzaQNVRKrFHWvup/CSNEDvArAulK+oH+umhPxGC4e3do1Y9uQjkAN+XSv46Gjh4o3ChVYjZnLfUT6jQL727ZR9tDWKMEFkUnc/E/PUWC5AGILMfmT6aqcDVZEp0IPQ9dBaJCnVAysOgFa/hoBpVBNVUxr8G2/ZocLIYyUdkbcfwn1HxA0KKpiXCjowO1B+/QVOsibFKfOla/t0IWW8Adx3W4g1/0OovWDBXltjxK8o22VgKr8PTpqoYQL3lIb2+ob0+P4aHaS26qebyAxqaMGFQR+46gDu5Lb7hI7Xii0oz1qrHp0PQ6pZW8Yj4gspqall3/ANW+oAppVSZXRuQGzJ8KfD4UGg9JP3QCGoQdgRSn7fXVE4mYj3k8x0NdiNDhFp3U9AwJ322/b8NBI3zsQ1FQheNVUDb1rTrocIQ3Bhk7wNWBqAfX9mhYRPkBcsrSAIQKUA0Mpi4tuCfmAMOux3+WoTyXS8riVnANBstdqgfPVMXCkFTQih+B1GhCRBoy4+oE7fh/2aJKfZPDkfxGqkcZD9xgOO1K/Cv9OotLOcz8v3aFHCxOiiYLp4zuTT/T/Vokw0tpkwQElLUIoGJBA/D4j5HVSx3yEgDwstdqoNkb/wAJP0sfgdtFUiCIuSUZGDcjFyZY+f8AX7VeAf5jRKriCQN9/j+PXp8NDaHp8tRZcNPSv7dVmwvHxxSXkRnp2IazyhqUIj3CspI5qSNwN6aLB5lfKMdlrJ4V8bitnUhYb60kjZlVdiXgWJHZHHoSdDTEI8byxrDzhlZwEaM+xnLAKOLfS3L0NNAxyGPyVnOFykTQOQsgJTgHB+kqyVQH5g6AmDLX8JUi6N1Gop9vfr9zCV/q8j71H4ahk2gzWIjmF0uMfFZWOEmzubCXuWj3G4IkgagWNwdwQdtUXnzC/Mim+trHIpxPJWtxHXl1rQN7l9NtDxU2S8cumQ3ODlt3avdeym5IPmEBUg/s0KszkBjhc/8Awek09uw/40J7kZP8PNRWn476CqO7aH+RdXMBpT8q6mjIp6EF9hoUa3GjzPJQC5x97kJ7dWKrJJcxMpKbFaSAk/t66IcGL/MaNR7+5QADklo7Eda14Cp0VTJkP8wIImaW2UoAeTfZWzkU9djoEY808iClPu7UFWoa2MXJWB3HTbUKqX8r8jlYUyfBmIQCK2t4xVjQVJU03PXVGmGF81uIlluc/wDbqwBAN2E2YbEmJVX19NDoC3iPdq+U8ptg2/LnctKT8f5kwB/doXIcvhsXYrbph8ouYvZpRGbSCJXc1rVl4A9Kep0NCbTw7yS7QO1pHaRmnuu5lQgfONOTCmh0IeK98QDz2edxkt1NxilskRZmKk0DpUkq6V9aDQZy+y2SyFTe308wrUo0hSLf0EacU0IKu8i0pRvTio6n/adBOKzvJVkuo7K4aFd+YiZlUDqS1KCg1DYyDHX13YXOSgiWW1tG43FJF7sYoDy7Z93AV66oXxyFXDA0ZGVlDAGhU8lqp2IqOnroVZy2mMN1DKST2p0mKncFo2D1pWjE8fXroafZssVOQv0hN3JZZG1ssnL2bZppFWBBNJcSK9u/2gt0lKs4D0Bp7uWwZ0Wy2uKzV1MFMtpd2dpZqZQi2i5C0lmvJokA/wAZMsCooqOIZia00GMt5r27Y20lxdSWlvHLP9tHNLJFADTjHbxM7Rxc5XVSQAKHQOEMCq87BZUjieNUYqrjgvGXtxqasrkEIRtylGgMglmx1ob7i1pNHJdNLdwTgyy3cqAXKQ+0tYmFJVhUgguvIqxI2DGSTS3BblIX5EyOrEqocgM5kqauQf4mNSdCIMMPaGeUycSQhWKEmRYEMr0LUlciNeEfqxUAGtRocmGTVZp7fG27RtLdTD7m4SMjuRhyUkk7bS8kBLPVagoqkaIOypklNvYgxTTXCW8Cy2UEjM+Os0VRI6rFFMWYRBaNGHKpVyeuimVtZY2+WcZS+nx2Nt7eC4uVtEa4aYVMcVnYCSQxRyyhC7M9aKvwGwm6LeXY/Cgw+L4Sws2VaLf38KZPLSMQQsr3M9beHmDXtopXfQv/AIX2lumUwFqCz/eW2WvcfGFVuH/wrZ/qFixYMQrPe2ciBFVd29ToLLPxCSEQSeQXaYYXHE21gY5bzN3vMsq/a4e2VrkkutAz8Fr1Og18Fo2NaKHE2eM8bkarNlvJr61ufI4bdY+/Nex4dXeGxcKCEXi8pJ2IrUBksxixfWd5nLLyObyFILiGG/knhu4r63NySkEkizhWSGdlKpQlKjjUHbQC26i0tZByVnhhSYRmGkxvLxeFrCH4vUQQqZasVox2NdtF5PoMDBGmKS8yuKW5lWQ2OJFz/eL+6uEqgu5QqxY5pZVEZaVgKigqTojEZK2nsbue2nRYp4pCsgVOI7gdhJTkAyrEw4cSAQQQRXQLdgOhFajem1fgKfxU6+mgaYe3ea6EgiWYW4DmORHeJnYkKr8SposYZ6VqeProHUeQusa1zmcfdzwXEpbHWtJEkVrCNVEguIJlmSaGUpUK1VBUEbgaAOG9yGcyDX+SuTObKFrmSWQRIiJDtBFwCrGEZ24qir0FAKaFtj7K4xq4+8y9zgDm724yP2pa5luksbCLs9yFFFs3clvJ0Un3NQKu3roXNprLA5Kzw6w2lzi51Nzc3dpc8ZpLiyQ/ccYp1dZZBCzvFGHCS9rgxFBUjK0Ze2vcaB5D5LePZpcLZ22MsLOC4yEkVrslzkLw/byvboKiJWdncV+egyuaxiWN+I7C6XIW1yiXFncoVInhuFE0FY6AozJsyMAyMrKemik5qaVUkEAMV6hjUAgVrU/0jRNJlgEHPY/RsvQbcamm/Tb8dBH38BQnh6KacSQxPuqd2U9K6GUkR5CI0JIZ+PxDMQOQYCrch02roevsviP+X1TbX+ajLJKBJBYr7ZJVGyvdniphj2BHqa/t0DbyfNJdcsJiSkloWe3zN73B2EETBP0S1dJEdZCT+cDxVI9wd20GTSKOGPjEiRG0X+7xvFIRCzBUVe6WDypJEAKqvFNiASCdDAqJ3JQlIwYwvGX8wABiFYvR0BSWVhXgdmNTSugvTZeAMXF5Hien3KmRm5ELODSSOPmKtRQAV5DqSSrZWV4AjtPGhTiSwaOFzbrHzgZyBzLqlSV9yqOQPUEjQ4vyfIY6OOOYPeWyIEWOcujFXCm1axu3VvuYQpo3dZW2PWooTttMTmsXklNpC0MF2qkyY6QigQ1blCpVVlhdRy9vQHcDRSPyfxK1ykEjSW011HGvJFt2pkbEoBSTFSMVE8Sn3G1kNCf5TK2xFXwfyCxzVhNbXFzkrjJwtV8ZkRcTyFwkjRjtzO3ehuInUq8Z4yRuKMAdD19CsV8pWCztMnfeNZ+4ngE0eBy1yi5zsdsyrHDdx0ue8yAtRu5sDoKC1jh1+4vcNg8DcSF5iuXvZfIciisoeOOzw9pFaBEVfoN06NvuTSmgUL/mFPHcuGlzN1a90SJcx31vZ3MSqqIFixaW8mHa2IBrE6ODWvKu+i2OHyviuYs7m9vYIL2KBYDkZrO3kxeZsbeaRbdLybGtJcY6/hindRK9tJyWobhoj5t5Div0i/ntaKEhmMDOG5q5AWa2mhYkkQXNtKkigkmjUqeugVW8629xHO8YmgSeGSeCtHlhRw0oRqHhyWor8T600O2zn8cgkzDx3GUhtMZEy3ZylxThJZX6Lc2UsCqe5JPdwTKAoB4srV6aB/iRC1ibXx/MWWTtIpTjn/VsHbjJ4c5M3Ixotri4lEM1ndZD2SVZuzz5KN6aDGQWkENz37tBLaxQKeDllLyrC0vGv8MqSqxYmtFUGhqNDxosVPcRWOSlM7PcZ2WNbwyiSRbSSV2FpPM0xRobtI3kXo6vG/IkU0OyK4drmeRbdXdJB9lZwcmnlSztyebK4qCo4sedePEfMaGTHL3Maww21siW9nctHfS26jmUgso+xbKbiUtOUlerhWPQ10AsCxpHY28sLK91I2Rv3lXms1vGpkgFq8S9+OCWPirqSQ7H046ACW7f+9XYiiWW9aVhEIxNEEm5QxRBXLFkRWPFq8loDU0roUC3KR3E0dste1aWEcbBt2E0zcn9rIpqgJoDVvmdDLWYLyZLGBbHP4KHL2KoFTI2sYjykcNsiwxGR6os320BCghkkA41JoNBrbCw8dy8ve8bz8AumJJxmRea0u1BBBh58kuJGG/o4HWp0AeQwmXsu6bu1mRQyMHXhcwuGahE08JkmUvxqSVptQ6BXawPcOsVozXEk0ZP2lvFLO7EqBK6QoO1A1u+9TX4gjbQaNPHrSyCJ5DncbiLi8AAx7zW4kL8qwmWbkjRKxHLkpWhJFT00Fdz4vk8ekdwlvBmLIVn7tozTRyK61LPGrCdkrTeMOf2aDNXVpFcvLHLChq6ypZrG0kao8Y5snckTs04AryUGv4U0PEbSfL4R4xg8teWaM4DW0pF9bymhZTNaSrwgd0JH5dAxG1NA0Gcju7gSZzxKGS55Oq5nxiaXG5TmqBjJwWSCZmCqahpdyKAaFCbN5WDI2621h5LnsjFJfxzS2ebjitbeCCAAwXE+R2ZZI5FUDkPdQswBAqDzMN28DZxmRIpnubSeGDmZXlVIGjuF+5VFD9oENIvsRloAGO+gxsccOXtAr3UcKRTMlvduHDWNwxDc2XaR8ZcyMEmYFvt5iHHtJqLuWOQnw+St5MjYm6SxmZrvHSoF+5A/KJ5BW5PA55ozBkYAb76A+5x95bTjyDx+4S5cRyZCZLcKw+1lmlLLJBQRs0cSUu7en5Zo4HFtobMry48dfGQXxx0kvkDsYkx0vcjlxrdtOAdHCi7gRqvCw/l8wrGgGqeMpeR0tQs0wku5Lg3TmOQutu7rxKrKCS8zkAu9as2/pooC3aR5VkjaKC8WobuHtQ3lDTkWoUgudtzsG67HRD1LqS1k55CztryyI5XFpa3Be9sQWVxeW9x7jHKWXdgGAGxG9QHsziHKQ5nGTi+s5qGO5tyVnjdQ3FTFUyxXEYVuSElyqlhyTpAPg8lmcUy5aztpo4ZB2rqZ7UvjMjGJQ0iPI8RhhD0POhVa7qynVDpsfjM8e5gguOzBd3lwE8vbhkmLckOCum3jmZffRiqH4H6tCiX6tBdhMb5ZbXBlswtvHmoE7ObxaqTRb2FwRdwsaKxbkrJ0LHQeEWa8WZr6wuLbIYmY0a5twLrDXkTAVTI2dS1hLRqVYBA2wZTtoOrj8HnyFxZGDyxVXOKvJkTG3MrfzZMfc1DY5nYjgoLJIWA4mhOiuvksrjFTC+SYwZW0jZlissqgS6QoaFsdlE3mKL9BRqgUouiIjEY3Kb4PIA3TgI2Gy7x216aqC1vb30qi1yTIajhMFkIFajQDwl8NOIcvhhMtKJZyy3WNuoG5KBNZKW7ffRVIBV3Vq711FkecTgcrIr4jNLZXruxGNzQezu4mrVEhyEahJCT0LVGqhhLdeZ4ON4clB+p2RRRxy1sMpaNGeYQx3kIbgtSW3K1oK6HoAX/AIzeBjf4m+whdfZcYthkrAv0cy2k/KNF9pI4n19KaC2Lx3HTOJcB5LjZZVKtGEvZsVfcqVFUfnAzLX+EAE6EfDfj/mJi0Crc31xAjE/n21vlYid2J78XemIblWlNADL5JeAKMp4ngrph9U0cc+Olk9CTzWMhzTQQ/XvGpEQXPieSgehEzWN87IPgY0ZzyBHxpQ6DjXf+X8ynuWmftmqKxNDFJRQepZq0JHTfQV8v8uCeua4mvW0gqp+B49RT10Eu9/lylGFvnZ6KT7bSFTUU4rUU69f2aDi5bwuLtiHx7Mz9OYkKREDqSnE0O/4aAlPJrBWP6d4QhbcI13dtJ6UVmVVO4O5Hr00BcOW87vAUx2NtcdFKaIbexVuG42V5FIWtKEmugqufGPIskQ3kmeSGJG5G3ur6OIKCOJZYVdWA47bFajQZTM22Ns5IrPD5j9XuWvYLqYQQdq1s5ITxPYkHteERChLfTx6knQKJraaRMzFbRl7WCT9RjuUiLIhSkgQXXHiFUuRxB+rQFyxNksbARRJT2riMmlOYFHBPwdCemgX9i8tJoCYxBchw1lLFMJ5JryMgxNDDGC/ZdfbICKFNuuhDdQXcF3BJOYTHaSJ9jmrBUjaa1mFUkt43ZeSokgEsTmgC1A3BGhkBdY8XDi1dIriQW4bD3YIdM3ZR0eSwdwQs15aoaRMAOfAp/VOgGssvew42TCWskFrZ3h+2cR28SM9/cTN2vuZLgqba1u4aKCvR4+J6nQWY7x3K5aeO2tLZooona2u72cFo7JrcD7mKaIMsz3yk7QUDMSDXjvoG+d/QsLjhgcZbRX10HM9/kL6INLDccV5XS3JVWjnYe1ohVFX2gVroMVKDDahZKGWbnIVIoViKqoLKalA6ipHVQdAJYrfwZCzishNBd3biOzLFrPmrg0DyzdtJbNh9RrQD46F31aHNfpNvJFJhbO0yTzccnLHLbyW7REBmjs545ROLgoeccRYJHXYUpSKz2UwZlk/V8CZoLtJJ5ri3flbyRyI4kDbKiCYBxWSMiNm60bc1J/gdZbXygC1vhHjs7b8I4iYxbi5YFlkZuXBVumlYOxJCsB6HQQhyE1hywXk1u0tmzrHHdmOssQV1pIGcF5BHEfbHUL7tBabPJ+Ot+pYSYX+JuFY9qNu9CYiKvFcw1PadAeLBqNX6SCK6Cclrh/Jo3usaFxmZR+Uti0yxLMGQClkGPJ5GlFe2QSS1N+uh6k2ZubYjE+XWZnht4vtobkW8YuLIHgyiQBgHCoOjGvz9NC/+L0w1zj2hy/iGU+5Sav5AEbScKO0yz2wrxjVU9ysoBBqA2g42VwmdC2/kFouJyLFq30UQNncs1AjSCp7SilehrWvt0F6Y/wAkwCCfD3S5LG17jWiyfcwcFpXuIjyugMbdRyqCNxoZ6VnJeM5flFm7KTCXrE1u7aNXsZHIJHO14yRq3QLx9wG5OgNs8B5DaPz8XzKXNs0YPdjvYxaw8hUI5n7hhkA2qnP1UgV0XBndPl4VI8p8PTLgUd8nh2Rp1R9qutsscnpUcgPXRCAYvwzKM32OYmxF3yZTaZONkkDk/S069p6AmhqzU9dAyiw/mFgUbD5xchGF4Rql1FdqUh93BIZyKovpQ76HTsme8vtAiZfBQ38Ss9DLZ8S5YEGoVGjUA7ig30AcnkmGkIGR8NWEsfe8WxC7AlF4puv/AGaCsZP/AC+mYibD5CFan8xS5am1CfzSSR+OgrLf5bE1MORj67MJBUU2IJc+vz0Hgf8ALUV9l89Pcu03vP8AUI5AD8enz0Ip/qRuv8t1oEsMjKDTmR3FC161rKCQPloOx4bw/Ilnw+blsZBQpHcyNElSeJ/MaSM8x8OR20Bv6D5lilrjcvcTQHcCKeOQSchyIEE5tzycCuzMTqL2DPkXmGMbtXbQMCCgTIxSWR5Hp25pIYo2b4ASsDqoAzWfOWt3S4xVraX1qQbqGNeT3ltcD/hyxgkRhaseTOGNKcSNBmppD2Et5Z2aWxCvi5ZWFJLCdy7RIQKmTuNRgSd9AyssdlckWW0sLu7RSYpRDHWMMye6OSZ2jiRwDuvLlv00FNwBZ3cFrcW8uP8AtO/JcW5ElvP3REkMCOY1Z6SCavMGhG/KldB66/5kysxK2kKxBmeNmCLTto0kQWKqrtUddBG5jYcpDHLzjjKXMBDRSS21CwFHCkTQgkoSN0Jp6aAeOQWs3Pgs8BgUywK0vZvca4r2hKQsry4/lTl9TKK+mhhEI6OlurVIP3OKuXACyqTRoJKe0rKvtYDoaEahZBafmTSIzWV0wguo/cXhnetUkNOMcisppvU0Bp11RJw35kclZp7ePgyIiAXuOcqyzR0AImhpyB6hhTQcBkJ7sJMt5bKrLwQn7+yav5xJJPNVHHtgHfloOnjNHHbxPwt5na5xjsV4W96VCy2rSkErEw3FNztobcEgkEkkqMVuW+1yEIPExXy1SC74gEVL7H0DfjoS7bTXEUytGAb6yCxtFL7YsjZV5Ijq5VJQrD28vawqPhoaHTTX+Uuzkc1O1zdLRYYDxMNsqiicVX8sso6BdgfidDhx5CTX8akdQdBdBf5ay5vi7ztCRO3dWEpRrK9RhQrIkivEJOOxqAGG1RobO8Z5dFBicriRBLFf3SsLWwnMaWlrIwcysveBeK3VTyVOTpUDiF0BOLweIxmCvMt5IiTtOtIrCVLmOZLtlDxmVQYJTc8WUoUbikRLbk7AB4rgbnyLI/fXiSNYW7Kspd2aSbiOUWOjmcljWNRy/wDLi+ZGg0/mvkyrayYqIWv2qyJEjKxAmurcoRaxRRkFLaxqpYg7gU6mmh0zUGKjuEe9w2f5XTBPvY8mI/tbi44gM8d2q8YA52RJ1iZNgH9dCo2XLsjpjvK8U0MhARJLkMVZFHHnbX4EkvAk195mip6gaEfx5cNcWw+48Zve/C1Zji7kcqqpJMsHbffiR/NtmDD10MJ/qGN8gb7LPWj22QRD25yyJkAUAoILlhHDlEqNo5OE49Cx0HWGewlLqO5OVxK1g+9hRZpOHX7fK2c4SSYRDbtzcZE/gcaHp5aTWuTjgmspIo5pSQtqZ3khmkXrFZTPSSGcdftpwJKfSWG+oFl/ZZCG+/VsYiPeRRfb5DHzgrDfQRmq25UgfnRA+09QemqG2OydjnIJHtawXUIC39jOvGaBR7XSSMqS0RHt7qgmhowI0FkDyWVYftzeYtAXbGe2e6syDX7rBlhxaIA1MBPE0rGQfboENzb3uJuv+ovH5f1HG3QllKwgycFdq3SyWj0Z42Zfz4DxdH9woRoDcZb4bJzQ+T4sS2d0sk8F1ZxMPt47sxhZWAopeKWNvadqj6hUaBtkrfJ3li8ONuvtbrl3IXWQpExQGsEh2YpKD9QpxNDoB8PlXy8J8e8mtxBmGhKJHcAL+oQgUHcAoqXyqOSkfzV9y71Ghw+W+R4Gfxy89hd7GZw0Uy1DIVNQhYD2TRj946aDV4fyG5nijtL3tTrFZMUZ7opC8RYDjdQrGRcrLQbA84yCTtoMx5ZgbGO1iy+GeV7GWZorxGAIs53NUVJRtPaPUhW34kUJ0LsWttGp4sTyA6r8fx0Jckt5AULHlGNl2ow/HQdn7XY4Ufu126cSa/0aAARsQTWnH/Sg+elFq9w9aEj59DolZ0JVDQtVacfpG1NBOJgVZSqkyUHJuqU+B0MrI1EQZpG+O3+nx0AyxCZmYcqVJoOpA0OBkEs0bcUZyvT3bn8B89FVXFo5JkowdtyG6H8NQgCqAtxJKnoQfj8NCs7XFSmwWo9PX/SuqjouGRCqqQ3StNgNFsrWdiCjmqsaknqDoU+DrVkM0aoQAWCtU7AfE6IJvEhjve3F7l2rQ7VpU710MJPDE5cFmUqCV6kE06bV6jQ9LZgI2U15VBFPhTUORME/OPtiSgrXi3x/boC1kKDi3t+fof26p4hNlFQdqNBITswO6mu3U6ABLOSYmWgCk1oOq16aho8sscrIZZXZ0jHJghHLj6kV9V+GqB7qzspJHeCaN4lTlyHtb/wsPRh6nQ6IZYjGOakFCabHcV6VHz0WsbSikYDYVp+OiT80tEiEip4CvuqKgH46DkkqCoUK3wIp/q0PQpao6U31Fo8vJiAN9CiyOM90AioUgtt/QdCtjCalFAAXYdP92qgGRSeu49D8NC6y2NFNegO/46i7FrxZ1WQkIdiR6fs1UENZpuYgsij1A9D8dABLZkHb21/cPSmooaW2kh+qlPQ6UKh9FWpIyepp8P8ATpolPhzZ5JoiKNUdGUiu34HqNC7TQXsNwoDUoelTxYf/ADtz0ofQ1GqmFwr7qAsqjrSjAenJev7RtoOVqtR0OotpR/D/AF6J07d425Nra3kkbQ280p+2nfeCdlryhfiagNxPWnTVONhHn7CjnbGI12MbEpT4RSDr+DaCMbQzkymOjkUJIpy+ZUbcvnocnVtmcpbRvEs65CBojD9pk1+4VY96LBMx5px9ATTUUHbx46Syv7m7upbW+jYCxsYouUUp29jPQ7k9egA1UoAKhwjMSkie5XX+H47HYjQ8eAuBUo6PtvsY2IPyO2+giXZfqikH9Yp7qj9hroGGNymRxzO9lMkSO1THNCsqvQU3DCq1+Who9/6rlkiEd/g8NfNU1mMfakYHen0kBtDovuc3byTBsXbXOHjVQLyztbt1hnl9JFEbKqkD1pvoBRm8wh/KymQRATwU3LsVU9ASa1poOvns20TRNlL5425clMx3qP61K0Pw0DHHv4QLeI30GalumFZ2UsU5n6uJV1BFfloZFPdeBKpC4jMzbn3l2U033oZx00OGSlmWVnMMtx9qHYQRzzO7pDX2I/upVRoB3eP14Gg6nf8AZ+OnZZFbkwyJLbSPHcI6tFLFVTGR610PR9xk8jd1N1kL2csKMHuJAh/+IQhf6NRaF5WOlCoA+I+qvx5da6pQSmOmltZ78fm29qyrMWlUOnKlG7VeRXcb6IYYfJ2uLeR5cTbZEuAIjM/AwsB6VVlK/HauhSwm98kzmRVreBlt4irAWeOg3KEfSz0ZiAPhTQyy0Ms0ayqjyxVqk0fJk5gE+2VKgNQ/HQTTjIOTjltQumzLT4r66DNpGRLwcGqmhHStNzv8CDqK+wXX5mNwd3fCe4trzFWj3iwSNE1zHasYpxDJFKgfhHGhYFkAZKuADqoTxY+1vWuDNko7PES46+lbIXZLwx3dobcQRlBRru6jS/RD2Q5JYhCQNAZB4zYW1tEkM2RsIrv/AOW2Wt2hvMoyVEVngPFbR5cncxTPMrmWQ0AFR03IUNZzLKtmUWKWw4vdwywwRL93zQC1AeWVZ51JjLo5WUJEfbUGpcs9mrqq29lGkcaRxhjxWPuSKWcxm4mjUfcSFnZiTWgIAoBoNzhr/wAqssNjLnEYHHX+CjFwbnjjrW4NwbXn93Jk5iz3UMxHKjniONKAig0CfJ31tkb0xY3F2uFx8CxTXMVtIZ4xNIjTPJKXjo03EsDRVCqgXqBoE+Ph+7luMizU79wLS2EbIskKcOZnWKQUlSFI1QqSKgknQdhP3V3LfGW4hDTC3spI+7EhitQHuCs6UeIhQG9hqldxxOgIu47q6hisrO1up7/KTtIbaEGaQQR0SJEhiU9t2hKhzUjc1OhNDiw8HFrKiZ+8livZErF49hIkzHkMqEKS0sEXO2x8HbY++U8RTqDoGMdtFis5fYuwiucQlxjI76Cyt76wyuVS9wcj3ZN1PGt4mNvprVJuCISEdlJ+QJ7u/wA/DA9zi8NdYq0vE7rZKNZbrLX0M3u71zmped9Is4FSIzGla7U0GOtL4299DeT28N/wdmlt7pZHjuUdGSRZWRhKWZGJDg8lNCOmg08V7Y3bxQYPGHEWkCLeZN5r17yW6a3lE0McnJoVltYpwqoqpyH1NUk0CDO0jK1yjRrbJPksg8aIHF1dswt45JlUvRSvsDEqKUFK6AiK48e/SbZc1i8gcksUjK9lOqx3yF2Nq91JMzS2nASFGCo4cKGWhrojNX17Lkbmaedy8kzF5JWLSOWIVaNI5q7FUUMx3J0UuKn1NOVBQ7/0/hoaaihxmLK/lie7RCW/N5q92KIoFUWOW1gU1YqwIkoD66BzmfFMxBj47prYJZ2FvbQRFZVdpIJE7gulZCYpBM7kUDAkg0GhVm2C2eHSIGk98/flKyK4NuopDE8YUduRSKnc7N6HQ6EYDI5LB293kbC6WB7lksxA4hmgmkDhklntJo3Qm2kbkknVDUDqaj09iguZCy3OSs3uMxPJZSXlySOE7Sm6u8ilz2+C27sOAKEUUAUptoo6xtcPj7PILYXOJ8vsLKQXd9Y39td4nJWqDhby39hcqDLPYAEd1aOqgBqKSSSMl5GlzBk7mC6tILJo5GiS0tgWt7aONiI4IXNO+iRsGEm/JWB9dAlqeO5JaP6aVFK/P0A+HUaG1gIY8AqqG2Ce52LKSyqX6nrt00KvM1VUBSAARxrT6Ty5cSTTifXep+Gg+p+BeORkx5u9RWdCJbC2lkSIFUesl7MJgqNAhHx3INdhuOWhzXmH3sk+Pxc0phDTLc5C2PNb/tArc2BX+73Noij6ZoXYOP2aDL2ltUjizyS8JjJPEryNIGURvI6SKk8hCuFkK13FWAJ0BsSl0VY1K9syKzSvHxt3UU5VjABMkgoVYeylTStNDlIUkEkUsKMREsgiLTkyGrRsvJ2DPFEEPDjQUO9dqAQHMrco3nm7najcWgBqYSVRhPLt3F7qg9KIpBI9Rp2RZRbj3MparGDkz2sq8wV4wrTmfy6IdpFNfd8YrklI2MppG3JI+yCVeeiloWEK8pQe3XhxVlYgltVHopA6wtDcTxvA7LC0c8sZTl22iu0eOFV490cTxZQrijLxO8MvomC8k7he2yMrEM6i1u2UEc3AZrO7kiCLHdR8uS1RVaLcM251Ul7yLxmK9WZoUY2964e+toY1aSG8UEW+dxyFkVchbuQJ16XMIoQXVeQfGsjif0mAi/8AFsm2Xte3GuYtL2VseZIHDpk4VRUuYZLgblHKpzPLY+3RfXz24mkmnkmlLlpXaWRpHeSRnYkkszkluJPU76B/g7PAS295eZ29urZYisdtHaW/3Mssr79x15IyQIAKjkvP0au2g0UdtgcJf4bLWOQTI4HOi4xN8s6GKZLe5VbS/aWBh3IGs5JUkWvKoAoT1IdyuLmNi9rPIgvMPMfHL9u322Jslll8evyu5aK+xwaFXNORhUbk6D5ytS6qByZiV4deRPt4UrvybfQo3kf3UK4W0+3s3uMJa3lxcXF4kklvfYuYP2bO6iVy3bC3MiIwoxUgihUaDk1795bXd/Z4W1w2KgQ2yta3CyS3t4ZkeITzzET3H2xHJFAHbHqTU6IBkkSW0sLQqT9xJyvIWdYpQysF5pLKTFF9zAVFWHAEb6NXpc2u7hbeJ5rOWVFFuLKxhmQpdQfcp2SrBiy3JSzWryoaBmoNjoAcTBJ9ytwgukt7NWihlt5vtpCyx1uArs0fdKRCrKrgkEjfpogZR+pX7SBezDcS94hFkKw4213JDlZWRGIoGNfca76CMeQeXNWuRnRbmBpOxJa3EnbikxTB7cwCccFhdICzo1Bxahp6aAmZMdNL20a5a1jfiqKsdvcSxCbtqrSKrxxlbYFnYAhmFVFNAujd5pru4c82nue53a8j24gFWtBxaq7V2qRtoHRUEUjcVSOKSQxKwBDlSO8GPJTIQAAR1FaaEC3s7C7Ba8sI/YtEjX+6CKLkjRyCdW43N1PuCR+YK/hoo61yvkWBkIxuWuha9xYkscsGydoHapEYuGCT2q1Q0HJW4+h0ZbAz+WXlu1xdfo3hVpJwNzk04pdXQK1dYjcgyRiSgKgUb15V20CH9R8EsQbaa1zHkSSBheZsxGVWlevcmj7ssdw9GFGKqQfidF6H47DQSA3P+X3lXakFZHxj3HAqBQiKbH3Cui9s7MWiU+hOglkM/kbKMr5n4rb3qQox/ULULZzUqRM8YleSGWgIoEmUt/V0DCK5trq6t7O28UeLD3C/brmr4q01vIluLhLyZGSSOO3bmsYlM/MkgpuACGcy2CyOLE0v2NwkXG4Anq80aRyV4F51NeSq/uLogBFRvXQYrH4p7pI5gElhYyiBpInCXFzbU72OE5gmhMssDcjG1GkUELTQM/JbiDEwWNjFLNcWlsbia2WSi3EH3MX5cBtzJIsMMIYqrqT3ABXddB8+xly0E8bJK0Ui17MooXglZSh2Io8U6kq6nZgfQ00Lt2eznIIZGkS1vYoo47C6lkCrF217Rx2RuHPFbdn9sMjfymPbc8Sp0FGHy2Z8fmuocd9tFzeSK7x2TjHbt7lKp34mkBAljqTseh3DCmhYfh76xtI7zOZJhmLn7jtRxNM3cuLompfiFeSG3HIhJCp7jGlB6AW09h5TcvaNi3x+ZZ40FnHMC6Bj7riymcDvJHGC720nINQmN1IoQHm8WscbYXt9msiyMIlbF21mO1JkWmAMbxx3CGUmMtSVSAI39pYnQZGaNoJQoZkeE7OCVcVSvc6ni9DuDUemmlFYXK3OPvkNkIEeRXW8tbgxrYXdu/FJBGsjKbe6lGwCEGpqhG40R9Jby++ZpeVtbHGT/lxYhxHJDFEpAWZ54wt6kz7lhw4ECtOo0CW58YgyMYvvH5+UknGZsTOwguYHkceyxmAC8I2rXZoSfSMmmgCOWivqWPlsN13rciGDNwxrFl8d/Yv4SCbyKWprzLByagt00JE/aZ3xcHIYueC8xNwPfc2yfeYm7UK3sydkjPLaPGr/ANqNWPRToWCdrAZkRRoyePZN+I7Fx+d4/eyuWLXNtcRsz41WY09jFBUVHXQFz3mewUaYnPWkeSxDORFaZHtzW9wi0oMdlVWpQ+0heSuBQcaaCK4jA5leWGyYsL3cjBZwvzjoQEjs8p+XJ7z9IYuBXpobWNkvIvH1/Ts3j47+0BMKW2ei76KqinGyyqckaFeqglQD6DQoo4eKZQle/deNXDGkdtk1++xT8qkGO7T3QR122PqD8dAzixnl+CHfxF7PcWihTWwuFy1g68KhZbV+TcBzOw5ca6EhTnredhHm/Gba4uQ3vvMS8mNvqDZme0KxoZF/Ch0VxrfwnIM/DK3OLdVDCHNWClmcihVLmyKSsykf7dEMLXxrNwqk+Bz8MsdQ8Zx2aDRlm2DG3u+O/pQmtRTQoLef/MeyUxTd68jBJP3uMhuwaihrJb94lT6H00AT+R5uJgL/AMawdxxryDWEltXcAULIjAqR8wdBT/1Jaf8AH8ItaFgxMM8qbE+4KCx2I6HoNDh0eRYX3FvCd6N2uF69A9faJORDcAOvH16aDq+SY5VBj8GQuBQs1zMY2NdnCGrLUehOhpaPJ7hmQWXhFjGRSnfV5+Q6EADgBU+u5GhyLjy3nlwwaywthZALX8nGg7b02kDClP6dDhe+O/zEvAz32bmsIWozNHNDYooA+nYoVC+oGgST+OeOWdJM75VbTyEF3jhllv5HatKHt1Xm3z3/AGahXTseW8MsBwxeFyGYnBHHvKkFsSBsQg5tIK09pG41S1Urv/qzyuMWUOOjxuMDCRbS2iACsE7YYsadATTlUAmtNBVcYbFYSJY8xnYYPt+MQsMewmuWCsodWnRZWjlClq1Cb09DoEMmQeYmHx7FmySQMDdkySZCVQzbvey9y6UOoBAiA41K1I0FFmb7G3Eksjc71+2J8fyImzFjKTIytGObRXUHHlCze8nam9CKNKLmzns4labu4y8l7llfjil7jbocSFiRGHG4t3QGYNTkBVTvTQLchZPcSXbsEXJW6k5GCGpgydm4Dx5nFkD8wyDjK4Unty+4DdqDhC18p8hhspLKG3L3MnbVsstIrlo4g4RjcrIn5hEnudqvT21poZKlXtN37iQ3V45Ln3tLBG+5LmpP3E4Y1qfavpU76EwCujNL74wzzJSUkKz/AEsCSwCsOPIb8tqdfXQayPLp5TFBY5hoY7+GMfYXYjMEl4KVUMT/AHa2yNr6HaO4RuBp7WAKY5bnHXC2d4TDNF7YLziJUuCFLKkhY+2ch6EEllr0Oge2kj28xnsjLbTCGJ2tLe6iP3iiR+HGCfu8WYissexCdATQEaD+QfpWRgORSNMfeJcLBLaJM814pCcpLslkQFO62wNCVFN9gAqgzUUkZxHk0UdxGqxw2+WRC80MZBMPNCU7gkHQseQ9CacdDxb9tl/Gg11jJ/1DEXPbmmjjIeOSBCSodgGYIFqAfayHeimmhwt+zwvknG4w0keKzClVFh3JIeT7kmGWQkScVAoNnJqaNsdBM5i7x6vifK8f91DyiK3wVpLiMrXtyueYaUBCaK5Bp1IApodJjDNbOMr4ZlzMFRp3t1KNcQxghT3oAvuQsSCAoBoTvoIvnMffKtj5Li0s7kAxnJxJUCUyDk80YVSQq1UKf/mSNAVFgczjF/UfFMoLu1lbjxgeOR5FfZUeGrbFlNAdxT6Ror02fx14ft/K8E9rOqFJL2xQq7VFF7iNuq16ljQ+g0TCpPG5JWW78SyltfW7rKXx7XYsrplQ7yiDl2iFOwVlSvXfQRGb8hwY7d5FlrAq4Imn7rRgKArxtIqz200bpQDlTh1G+hdBsn47nLh5c7dXsDsiQxyxWtq9n7QXaWS4MRmurgE0JNGp0+QMLfxm3DCbxzy6BG48xxuZbWYI1OqFpFAo3Sg0XEGf2/8AmPjzSG6/UI0YNyYWt2pUrQAuGWQKwoeNBol1LeQeZQK4vfG7KehYs72knJSwoCoBK8lIBp6+p0OFB8q5Iy3XhKNIfqeKKsaig5EJ2uVTv1amgpPkuET+Z4S6V4/UAKcKgEI8RoG9SNBBvI8A5Ah8OkkFKSAJUs3IGgMaVAA29DoVeOf8WqTeeMX1gCKh4RcI3P1oyvAEUDpv+zQQaH/L/Je5Mnc2sjdBNGJGGwJpM8ZkVhX1f510BkHj7QEHx7zVRyAKxPKWV6EniQknIFSv9VqjfQorvs35DhGax8gjx9/a3MZaSaBo5mWOblCJjA6JG3bc1KvGRXqQDXQYqSEreAW4EpWAmDlytlurKdSrdvkWMQhlPtUk0BKg0poeLIYlgjUydt/tkYgsobtlAXcIWFUoR1Hw0Ggx2ezdpirSztrv7W3WJbhSsUMV3IbgNNJ3VYySmGRqnupRi3U02Asz1s0k0k1w8wd7gN3e5M4upVebmzKoFJFIQg1PEHanroIWk7wXH30IQSx38K26yiMx8o3JBdJOMTCikAHqem+geW6ZDyXK5O7nvLSG4CGaa5uyba3VLSNUSGNUDhX26bjqTXRSFAriONGSGK4l79jLJ7Y7S+FS9u0hoEtbtakN0ptTRFaRIz/auy2/5shtJJlk42V3GrNLZSIRzVJyfZWmxB2AOg4soPcmdGCP/dcxbcijKfpW5BI9rBvax+ND6nQdXuxyJEjg3doO/j5TQG5t3ALW8gBIDSKfpqeL7HqdBBnVTBcWryL3C0tozARGG6YM13jqoadmQV4A0NeuoqBWMIGD/wByv3LxuFotjdIfbSlACj/AKOJIHTVTCTyOWe5lVeS8LXJW8YCM5P5SyxiMIq+0KwYbnY/HQwqdZCGPdaS6sURoKnkt5j2JK9uvu7qLWq16jbQHQTLPGjoRRhX8D8Px0HTQkj1rUjbevqdB1fbUU+J+P7tQ8SkihuVWK4XuBd43B4TQnY1hmHuXp0NV+WqHOE8fyfkFyllNezXGMsCrtcu0rC1WQg8O0xMbX0qjiiKSp+o0Gora+Q5m08ftThcSoEkCJC9vDG8jIk4qY42SneyEzULvU1J6UGqjERzXuCkmnzmFS4tsgscYu1FvfY9bQVf7KI/mWDKXPI1aGbnU8q6AiHEYfJg3mAvmw96oJ+1eWSezotKc1PLJWET/ADFxCPjTQou/U7/FxR4/ybHCSwmr2JeMd5jrjY++37b9ruEtXuW8kUi+qE7aCSY1fbeeK3woXH/wTez84JZiAwTH3p7Ie4FaBH7M49CdBL7+xzbnHZ60lt79TwHOLt38RHQVcRLeio6HhMPTnoUSL5bx8GaOT9UxrjtJfRfnXUMK/VbXEclEvrdRs0M4EifwldBH7O2yDNeeOzwW17MnF8fVmx2WVQHdLPvcXSZPWCSk8R3QkUOh4ZY7P/cyfZZJZre8i/LEjK8t3bcRSt4oXnf2CgUEwHfhp7ww92g7ksJ3biO+gnOPycRSW3yNsQ8csZBZHIQ9u7t5elamo2Pw0HrXyW3o9tnoIbDJ24aQkq0dpdxr/wDHFhKh4iRl37R9pbp8NBd4vdQXl3mpYbhUhv7iO9hsi3J5YYou1LfLTihlZtpkX3LQE1rXQaYW8Ea0t44ERiXIiVI4j/WclPa1fVtCgSXKw2saRYo2uTyVyK28ccqzWllGDQ3d88ZIVEP0x15O39Allst4zNcVu7W8uJc87GWa5kbj9054mh4kC3WIgGIrTgAB00Gwu7SK/trfD5mSOTI3lgJmi48RdyW6KJp7dqkieMnnSgJFSNq6D4flMbdeNZBonUyW5fuQSUbg1K9uTjUAFTsw9NA2xVzDZSxzyRrf4q9Sa0uI5ZWt0gadFWeWHmzwxNC5qX4hRXQZvL45sNd3MAPegLj7S5ilS4ikidRIqieM8XIRuu1aH4aDPtM6k0bYnatdjoeqmnkl4hyKLv0/1nqdRZslJKGJFQRtuuwO3w1Up9cV0FAeTAenp/3aFHTKAKBfXb46LlX3ChqOp+PTRIu8peZ1UkmpH7B6/spqLNjuGJSeMTAOFqV/D/bqouUL1MZEgPVTsQOtVpocKrm5BPFKjiKksakf6HQKG7oYyOmziqcl2I9Cp0MPd6WQhQFPwAFKDQWMrcDtRh9W4oBoqdvaC5YqW4D0cjYH5n0GgbT4+PDwR3MjxXHf2QRtUqabVFa6IQkySSGRa1LcgCeg+FfjoDxeRBeNGWToeW4r+OhoHLG7/mVqfh8Pw/HRfA3qK1DD9hromMYWNNLw4cyVPodz+w9RoRdbaKjyKhUcmNFJO3w/16it7b2drZLAyqZZ5Ni844wqSCRw/h6ft1UwYXltZW1lLeT30MUksZRLaDiavvsaVO5FaAaD5lJN25T2V4BhR1BqrjrWnpoURL8lkjAUA+4fGo0FA5r9J/Gg/wBmhWJeCySNxCksfQClT89RbIsjIxVgQw6jRXACxAHUmg0DNbThGJAfWhPqD06fCuqzfMowgCWQGvE093z0EZiedAagCnQ76K56aJqytH+pNv8AUaj/AF6C+JwW4saD+sf3bfLQN+40JjMRBZac6UKuvx/DQojdXEbrUcOYFWA2/HQIJ5zLRf4V6fPUWPrqQtQNQGvpqmXJI6EbEV/oP46JhTUqagkEeuo1mBcN26EVO4NQTuK/holGkt8pVU71KVoOJoR80bqB8tVK/pwrQyjkj8vWqijj/wAS9H/Eb6D0gaMAlTxYVVgCQR8fiN9Rbupd3aQPaxvHcWcjiVrG5JMccw6y2klfypG9R01U7FLPg3srlZ4b23yPbKW9twMkDuPpk5iq7nqdtAtiQxxqppypVvxPX92iS5ISKlQpIBJBNNviN+o0WErFLCVljyeQktYQC0bxW5kMbk/TN7SwX1BodCeWgt/F7q8n44i+sclDEqTNMsigR1q6LJFVia03GgU5XI3eTu2kvI7WGW0U2XG1j7cbGFiGdjUlmLD8AOmhwrmv7CSxtbW2x7Q3sTlrm/aTeZd/ZwBIapPXoANDZnh7/AwRyxZvCy5EMax3VrKVnQbex4jJGNvQg6AHMPgTxfCQZWKpbuR3agpGCPYEbk5YltqV1ALf4m6sIrGe9ijX7+Pnb9qUGSgoeEijo1GHxGqIX2LusW8Ud9DJbtPEJovzVYPGfWq1FQeo0OlNzYXFoIjdRXMC3Kd2Hue0Sp15LStaA/jotQ9eAAU0AGiRfK2SK5gWJ5oZYknXnC8iFVlT+tGSKMNRbIQ2r3coit7dp5nqRHHUs9BViF26DVJiisqqMyGLiykqysKMrA0ZWB3BBGibMIMfczWs2RSAyY+zkRb1o3jWVY6gv20bevE7HpXQx2oyEmL+7b9Je5ayMcZX7wBZlkK/mJ8WVT0OortndWtmzy32Oa/t5YniSpeIRyn6ZEkpxqDt8R6aqcFMnLirBmCtWqhiAaElQwGzcfnoTwIRqoD8tCp9jM7kMbC9pYRWpkleqzG2M1yhNKqtPrr6V6aBPew30N67ZGGaG4uayOZo+00hc15qtAAv4aHCiONo2PWh/dX5aQEt4e1cs3/EHNXHJX4uSSNwBGRQ02roN7iZzN4kojYmXH38yxKCYxCZuM8ZDAPT30POilSPUVGg0IS4W9xl7by42GS4lt8kM/HbQq8Md/TF308+K2x0F5jridgXUKDKoZl3roAcZdyXDXbyyyxzp/j7qTJxYi1uLMsIY7nNeTzyXOcu0vZkNLW0EY47JRTsFGUzGMhsksknW8hgPdsrSxxa4fx+yuGVUlu0+6mkzeWvkoeEs3FOR5GvQi75fPOZpJJmHvkLtLy4soPPZYqAcF40Hx0G6sbPEYWzhuc1l7q7a8ijuv8ApvCXL28ISQK8a5m/LLHBIFPuhRWlWlK6CjP3eZvLGNovHnxGGjX+5/b4+aCBLe8ZAZJLuVO/dvePCKyyGjmtKV3Gi6ZRj7ILDGElnSC1hfjLHJcO6kzTxhyaKObLyGxJ20BcNjP2obaOVklAnhSC942ttHbRKrXU8kiMzq88jdoHiGbkDWh2HQ7FZu7sGuTaubW1yU0MTR2Uotb2bH2XJ2tLK4KSTY4zksxMZLN3B0pXQ7aJspjrWyCtdQxWt1Gk74DxaVrK3kRgDy8i8ruQb++lMbkSIhZuW2h2xs3lUi5LEXljZY/HW2GnWaC3xdqtqjglRcxSzuXu7triBODNIx5VOwqahrZbjIYPK3F9cZyaXFyXb2H6SJxcXs2OeJZLG6tcSzogt7CzljdZF4AOgCmhroesh5DiMfbwWuWw+RS+s78uWWnamglB4yF4jSSLlLWqMo48hxLKQdBRj4IEtF5q04uFkadYWaNoIbfi7d1ijJIJXZDxX3UqNq6G1F7JKtspl5RzZKRrmaJ0VAsSEraqVUBkiIVaD6abjQn+LMxbUtcbfRzm4ivLO2kdlHFYJFWWKS1am4e3ngkWppyqKDQzFyJRv1pTelK9PiBSg+fTQsa4eyW9vYkkeOOJeUrvJyascA7jIiKKvJKQEVQQSTTQubSZCVs7YssSXb200MdJo2eE3MziNkZOdDEhftopYKKV23GgewRY/Cy5K9xGYe9vUs71Lzxy8x08ZuLdGaK9tMjGh7ED4wsJAqu6kxFkYDQkk8gjN9a47OLKZ48oiROirxjsri0VIJ8awLM4aCQh0JarwyKToDoLQWf2st7AGssRaJdTW91NEkN9c3Kt9ubaORQLq24OGKqSwB6+mhotvri4iyuKhsEac2NxEbW2uFZ45LhmSaWOSAkL2WLcCAFqnz0B9xc4V7gWWHxNxjb28LWmSmnvku4bS0mr93bWojjFYGDU7snvpxHx0Gdy1191cMSXYIVjiaSR5XEMKJbQjm7OzUiiC1JJoBTamigAwo9VSoJIcVEjAdRxBCMPTpWmoJR9yY/GQoQAFqXWNahQFHVVBHzA1U6MMTaLe3kYccbRF7tw5ZlDJCeXZVyrCN7jiVQNsWpoPpmayyrZP45bODLcSxyXE7wDhZ40vHHHZyBVBJm5EMAF5RitRXcUuDjg/LZO6YVjPLtR8X3ULSOUyELEZVVQ7up7sYHBqg6GRIALgOlJlVO6XbkkTSr2AS6ESGSVQQAKgpStOpC7uxlu28yc4ww4uyypuqdwRshAkCPHVWBDAHfRXmV+YWdQryOkm6M7FIjyNVco7uhAYSIaqp+NKxFiKkplkjjR0KdwmN+UNyYHXlKJHMJnDmgrRWDAcgaEaotekpfkAtzy7RG3unQAzLL22jChCv1cQ4ZuhB0HCvBe0sMlXcl45JIUVuTBZPykCyyQcgpDLv60qCdAOHuFHZkKmYvGI6cpo3VVfuI8bOjEXJ2DNQIaAjcHUFEbNHLHcwPLbS2zwysLd7eCe0qoeKKjSBbiEIWRyjGQc+jaD634vmBfwmymt1srq1ijkEMU/wBxBNaOaQ3trOzvM9tddQHoymoNSDqliPyY5vF3tnH41FPfNfJf3N1i7wvc49ooe0ZPtZ5WW4sLmRpyQkcoVqVCbaD5pd5bxe+la08k8fv8Bk++xurm3XusvI0elvIIJVQFRvxk2qdya6DsGEnxTXeV8YyGG8jxphSK8srpknLQB45IPuYD2prdoZ1VkkHbKOOtCQRshy/dzNjbZWa3tLWWWO6sJ7a0iWzghvMfPF72jVpWEj2l3GxJAHsI6iugfPfRizF7eUbIT4VsJnLGaRmla8xvEYXO2TlzDcTRSwJzqa7v8dBkMfFDNk57lQiw2kT3TAKQEmYcOYopYRx3DciT9IG2glJIiWlxeM0Ty38nZjVfddQRwlR3Nm2a5BNTuTX4nQ9E/Zxj9Nxg7ocqtzkiI35RoWLF1iZo+9FFEeR2Vg2x6aAmydHuL67C3MptQYLJoI4ewsUYZWeSNwYyY4gGC8wKb1NNBRlp07sEMSkR2qd2SoaPvXl2vMs0XJhGUhoBTp66Ay4gbHYpYDNJFPdFY3syrrKk9wvcmkljkAWP+7cWRoy6yKQa7U0C60kaS2yItHnEzLa4+btjtwxWN0/GpmV9zPIvFo2XgTQ9dAA7ypdxvABbzRTwzWk3FT2ZLWn26BHDJLEWUVVqqzHp6aB9kctbZC3NzbWX6bNMojvLeJgI2vpAwn+3WnFce5HOIFucLsy/TTQqX28XaECsFQx9viKc24J73koBRg7H13I6baBwG5GIxp2uTse8uxRvcSTUpuyGoJoF9Ougd43GZTJgvZY95o7d5Y2lWTsxTO0alKFnMTTxceVF2J2NNB5sRlZ3kMlu1ta2bSvkJPyLQQwKhk9zS8omkuXA4GpqQRyFa6E0KiJM3c20l7c3mQv7y5htbNL9zLDCJFpFHGhkURyyMtWqpAqTy2OhVsmwtnjb1I8gs97dgLJa+PYFfvb8xrzIlvbtkgFpZsRQcyOVfqNKaCi7k8dvJZIsv4dm8DNb1liymNieaazqVVZLp7FEkiKUG5Eo/tHfQN7b/qA2bvgs9i/OMQQwkx2VSOW9MZBVo5JwyycuQpSUHr00Rnnu8DJH+k5+LyjxK2Dqi443dxe+PCQUagDwvPHCJNxF7YVPSnXRRwxvkFhbCXwvyS3y9jdyrbLYi7t7q2hSdXYGJb2WYWsiov0q4224nQIYJr7JZG7usncQ210bm3tbyCxd44lawmoIUhi/u8V1aXK9yNpm5sVdVc+2oY/zS8S5yt4HJMsIjgiMBJhdSqtIWJNCWapIG4J1FYhK8gQQKb1PTbRZaLH5CYOkls0Uc6ifvrMiywTRyIokdrdj2pHZU4kMOLA7/KstdHHb5uyAE5jmSINYyXLtHyhRhGLO5mc0khXlxgnY8oSe3KeBVtAjt7iTFXqm8suaWjJBfWcjNBOogZhBch6MFlhEg4uAQCoJBBB0Ggv8fizGfJLTKFbeK6UWywyxW1+bkIsglkhVnktJY5FJl4flSbPHxLU0UJc399kJIspl55rmVE442G5YNIi7kXEq0VUZuqrQAdTvohXZ2t1mcjDYWYV7q4ZqF34RxpWrSyt6jrQdWOw30Voc14Df4yOK4WYZAMe1IlrHwnWQUPC3PcmjkuVrtE/BnHSp0Qkt8jNaBTcKl1axsYzMsYHGRCeEV5HIvftpomJFGoADTQPLO4nRoZrC6+2uRbl43gSWK4FsHaKWKG8RJwEK/wBbhQLuQN9ATnMpDkILCCa0sI70yjnNEjmZbdFKubhpFEYNyKPxQtGyUJJJ0CGxyF7h5pTjbx8fLvHJDIDLYXUbClAxEgjhkB2EqkKf4vXQOX/6dy4EM0I8Tykyl6NW68cyDKNpDxYtbMaU5xmo6k+mh4vMnk3i8SR3EaXmGcCNYb7jl/H7iMyFwltdqHFosjHkOYQ/FttBQ8fi2WoFkn8avX90dvfK15hZpGUkC2u0PdskMhoCG4qu+hcdy8w8eiC7ZLEMpRO6VzOGkjIALQ3EYMkCitKsFp0roVDC78RyYb7yyvPGZ39rT40rkMS79DJJA4ZUDb7BdgOtdBbbePXkTLceLZ6G8IUyE4a/e1ulj6MZMZcOFZjT6VIr+7QhbPm/KLRPt83j8fkFBIQZrGfbzIAOFEnTtwnkPUOa6Af9T8ZuAwv8Hk8QSP5mOkXJWPP1YxSBgor1oSKaCqPFeI3rD7LyGzt5zQ8chbT49kJJqGmgYRchT5imgdW/jvkUKCbD+TCWMAMv2ubjkVhHyUe2YigjDU3NN9AakP8AmbbBSl1czquyrPbWd3ypQCp5sXX/AL9BW1//AJiIR3sbb3IDHaTDLxYkEdVX6R8K7aHCv9W86H/5vY5iW5B/0pfb0NAQoov476Fkhlv8wHIWPEWSMCfcmL9CKcWBShCncUoa+uhjtaLj/M2biUVYactxjYlOxBJJ7e/+7RUZMT/mFcgi9zk1sn80g3NvbAClC1FdXCAdeWw0Qrm8WtVJbOeXWvIAO0cmSM7jateCFgWpTYHcaAcD/LzG04XF5mJ+QBWytGRXHx5zgDY/D8dAXH5SUYR4DxC2iAoElyTPcSdOKt2ouBRwT866Ap8X53m4x+p5FsdY0rxVosbbIKEHnx4M1RtUjQKms/CsE396vzmr5Qh+3x6vMpck8le6Pt4noSDUddBSb3O5d+1g8WmHtiWWsQYyyoylALiYgPIojJ2JQetNEIb3GWeNLm/yEkuQgkB7VtIA8EylT7rra3t5FO4KmWTb4nRdBLG9eF7iWaAzY28kjGUswpDB3YmK/s0NHF1GATyoOe4PXQadDDNHaQNfSW8UhaXxrMKUSa0kWUiJ51CmT7SRwVZK1iBrQCugEuYGuhOxt47TI2nN8jYwgG2ljjYhstiWFVnxsgFZUQnsN7voPtCvEYn9WvDareW9mSimITUaS7mfl2bS0UvFG8r8SQS6j8SdBO0v77xW9uluIxJj8irRTxUaL7kWyvBKLacr3bPI2Bk5cGFRuCCKEg8lxnidpiJMvePBkTkFiFsltd9u4SSJOcUkSKwexlDsVuRxdH9pULUjQUYzxOTKY2W+yl8mNtbwma3Sbi1zKtsrMz0nZYk5oa7/AJjgArQb6EMnBdvZKsMzteYty5imCsJIDy4ksBSSGrAciDuNm+OgOgyGOvHSHLC7SwCmKxyMSskUNwtSA8QUNcQtJvViaDZa6AnKYa4iSOQyJdQmItDkbcCWHtswWVJkTmstr3D8A6nqqnfQB4bI5jFLcSWdtNc4yKQC+haFrzEu0ZBDpcAEKUPoSGj9W20D0Y/B+SIJ8RcrissqGSS3uJwvOU7xJE5SOOYzO1FpQrTo1a6Dn6vf4wHGeU45r21AeOG74kSxGtOYkZD9wlFqAxr8GA20FyePwXJOR8QylZE5Sm0D9uccgeYEbOtVANCa0fcVNNDL0ufSWP7LyzCiRo17a5C1UQzLwrGRIAoRkQDaoCgjqdBfa+Pt3fvvCc20r1dltopFiuAg93Ka1cpE0bDYD2c99joOy+QXsTfa+U4CO5A2NxBCYroHZQeAAJQKOiUAProK48P4tmJO5g8wuOvGZyLe7c28isoLEGdeKs59AeWhow5ed4mL2z/q1goD0uY1v4DGu6lpI1eVVZRT6V0OQsmexclBn/EpLUsd7yxjkgFCakLFRFenoa10KBxjfA79q2mZmxshHMxX0JRjy6cZY+2SKmlDvTUDCHxnJQgHB+XwSD+asNvfsoYgcAzczICaGhqa01QrGa8qhd7dM9BK9rIYJEmRXUOlKqJ4RPDMpHRgd/lodjB5Z5ilOTYmelSa8AWqKEGsUft9fTfQskPMvJwRzxGJkPHhUNGSwBr1M9KkGm4ApoaRPlscm2Z8RilXjQzWsMRUOCTyACz0jI6rXb46CUeX8FuQFP3+IkevMRS3MCRGuxCCaRCreo7W2gv/AELAZFFayz1nKZJe3HDkreylYk/TU0sro89vmDoArnwa7iXnFaWU6mnBsffXFjK4JoCkVyOyJK7U5/69CjNSpfLP+jXguRcWxlfEpfNFEB3KNNbXMjhUZJkqG4tQkgjfQL4qyIlrFRXRjNj5pW4OoUgTWM0h2LQNtQ0qCD66C+a5WexkmVfc6iGVS1GEksiwmNq04ihO/poDbjsxwXD2xQRlCqJGZT2aqI1RzKoPJQtCw9rbb6CNsO1a9xo2USRFe4Fo0kcaEvCspDxhGmNSPa9V32I0AVstYYqqrgmWRg/HgeQ4oTz9pId9tjU6CKiR7ZRHG84leYsqsOAm5OIpZVY07Q5k8uoK09dAcsKNbm1laiyRBA4DClD7ZoyQOfCQVBGgXvWRJzcBUktUSPJUkJlkoyrb5KLm7M8sQIPtoOFR8dB1pHqbhlElzbqtve26RVjurIxjjd8weLhlI2oDx3rtoIlGPGCJyzoonxc3UyRA8ms+QP1oW+G+xqNQg5w2Rt7K6e7W2WbJHu3EMd4vexnc4qhaNICLiG9SUMC4YIORrqlyi5HK7nFyzmG9mMzSScYlLuARdSR24WMSQvJ7kVdhxPXQDiR4nJYLLNaKIph2243liK8Z0jlCtIYRuKihQ/LQeCGMxrE5kaKs+PmYUM8bDnNaN6EkdB/WHQV0EUZIHjmVwbe95uvGn5U/L3xsAqhCw3C+npoDx9Xx6En59f3U0PqYXqa9TWlPh+PTUODvCYW6zV2YLciGCHib6+dS0VnEx2HwlupRtHGNydzQapbD6PnMrj/EscuJxbRwTxRiZSySSPCsgIlurmYAI17OeoYghT7QNtDL5pYwWnkTOWy0theiUz2MUbIygp7eU8c0kM9xcyVqhglZok9oUmtR6aQ3PkfjgnN3aJmMYE7U9zZu0naUVp9yoh70RFaEXduynpy0LB4rTx7PcJsfIuDydWkUWit2WfmQtbESfUQAS9nJt/5fpoaW/qeWwqvb5y2XIYu5YobxFiu7G74krSQMEtpparuriC6H9auhkKcZaXCG88cuVtncqkmLupTJaTOCQsEFxciiu1fbBdgNX6JDoK0yFrknkx3kEHZuLcCKISFochbyIN4re8uDvvutvcEqdgkg20Lio76/w3vllbI4uVuyMgIZHACDe0ytm1JBPGvo1JkG6Mw20NCGx8FyBlcA0KzMDNcY2ZjLa3samjSx8OJkSI7dxOM0J+oA76Dn3NpmzIt93MblLLh2skZeN3bMBRDfSxgGez5Hil0ByGwlH8RC60ylzi53xeZjcHlzSFERY5Q4r93jGH5cV5IPc0IPZuOq8W6xTye3sL2C2nkis8hZEia1mKN23KvQ/VR4pVYUeNgChBDDVQjv8Q8Fx+qYaOOCYPG82PRxAwdmEcd/YSMwSC4UtQqfZItQQQaaDZ3E93Y2C8YbO7vLdVN5YW1uVhnAobmK3uC/92u2RiyqAU5+3odADY2mJgtUusQI0x1/znST2xdp+R70VyrUMU8DVV1YjiRoC7rNRWIMWLgizmXCB/t45Q1pbxharLeXKcl5MPojUlietOug+cyi5zZbN2EtzH5RZzzXc9u0jdy8igarCwQmkFzjFPAwU90Y5CoJ0GqM1h5vgJHlWODIw8Fu048exdOCsd1GDQ/bXVNx/C1Qeg0HyG4hu7WdsbfRlnsnYrC8jLGwAHJVCkKwlShqPqA0Gqx+axt/hrvD3uNggS5vrK4lnsFWBLaFJokeUQsXkUQRA14V6knroMXnMK+Iyt3j35lYpWa2mcUFxauawTqejh0PUeuhxsrFvQ1XieWxV9gK/P00V24tGhUOyFQwqAGBHw66EAxU7KNQtsZFApBLtsBt+P8A2aqOFVQcWXkCa1+H/boO28cYJNT8AfhX4aij4kKNVXqT8djv6V1Uusld43BrRgOv+z8DoAJucnNiQC3Sm39GiuxQXSNFHMrmJhVUIJKg9OIO40TpTcsYZqAKCooKbfvHxGgp5o61dmD1/ePl00UxhyUkdq1nBboQTXvU/Mp1ofw0SQZcuCJCxINaMTQH5A7aC8QuFU06io/DRaucFVxzWvw2/wBf4aJztYziu/T0/DQ8USxxutV+r5aHQPgw2Ow1FrGdo1ZTsaU6Efv0LTcwOUvXthayTPJGrBow25Uj4HrQaFFHK5m3PNqbVNenyJ1UmHvtpKcq9PTfb9uotXeyEFS3I0/0+eqjtr2+6Vc8Qeh+f+/Q0ZJZCaRhbPVwKmu23+/QL3gk7jBxQg0ap32/2aAjtwv7Io25gVLdRobsOSRwjLxiaq0eM9T8HUneugW3CvCqvXqaEdQf2/HQUfcKTUj03FNRboNKCfbtqpdQahq79euosLi4YDiACeu/r8tVMJrcugpvUdDU0/7tRaKGYsSx/i+GhvlbEaIy8A/IinxUjQ2YrG3bV6bHb9vroge4ACj4mn+vVJ4Lj1Oo1GHNBNXZeh/Z1H7tAytr9kIHLtn8TxP7fTVZwf2+XccRIxYDatdx+B6U0DVHs7niVcxOa8nWg/8ACeP0n56gkIp60jYT9aKu0lB1IU7Hb4aoqJAND7W+DCh/p1CfqtkjZldt2jNQCKxk9aOvqDqkLYjDLcvJkXe0EgVI7m2j7ttCo2HcTd+Px0BeStYMb9o2My1vdT3CyNLdY6R4ZViNKpMsbcSrV9d9Alf8qPcMqkGjOre813YEijb9TvoeqIfcC9Qa7CnTSVhosaPHWgkTMHKQXPKsN1YgTQFKfRJFQsjA/I11C7mRTDQWDPic1Nczyuqy2M9u0bmOv1glV4MlPjvqozjzTTPzmd2dIyE5Oz8QBsF5E8B+Ghqu0vuJ7giS5mlnZI1VTK7OUjXoicieKr8NBc93c3ZjE9xNOkCdu3ErFhEh6qg9BoaMcViJ8vO8FvNawsic3a6k7YI/sCh5HSoLkw2QnvVxJzNhciyhLwLJeUgjDmjRxE14upG4J6U0CK5F1jbmSNZOzeWj8llt5K8T8UkU0IIOitBhvFcnm4DffeWMKTM0jPczVlckku7KvQ1+OiYV5zx2XDWvejzdldxyusFxa2k9HJ/hYxq7CQKR6jbQ9C+P5zH4YSd7DQZK67h4SzyABF9F4sr0pT0Gga33nN5d289i2KxUdrcIwSNYZCYSehVyQCy9eg30K2J7HxjJ5Kwe8t/tlt4wzc5Z0Rjw+pQpJKn8aaCk2eLixUdwmVEuRaQocekRPDehq1Oij+LofTQOrHymXG2ccNniMXBcqvB79wWd9vqZKA8/XdqV0Mlskma8juUlk+4yc6KUjZYljgiQmpCsAsYWvzJ0DyLxGWGH7rNXsVjDuTDG4Mxp/DyNd/wGg+R9OS0FdvxXevpQHb00G58Oula0zmMZpVkaGPI2pjpQS25aKeOWvWKeCWjAVNOg20IycWUYyFrd4T7cS2sVxJfRJDOY7vH3M9s0LXfa4SPe4xnRFu09ojk4SAgMai5J5N3DdSzdmG2kyn2+Yjgh7bG2gv4EuUBlUKHkjSiKq0WMVAr11FYpuT1lkLOWahZmLFjSrBnJLE01U8XWfbN3AJUMkfcX8pH4GRukacwDxDSEfs0Ox9/LPaZgtLH23sbpAqN25OMkLBy7AEpI7Se4169Docvpkl3ncTK2Um8lxmdxGdiEH2tzfSTfdpdxv72x0rF7SWzIAJUKEeikAE0IwipHNkoYWmm+3seNqksDxfcLcycnaSJZ5FhaSMLTiWVWYcQQSNFdml7jTPJJPK3JLCzu5dpJQ/cjkmC8mYFl7h/qrRADouhtyri5jjWKK3juVjgtraNuSRQVQzNyEruFkQcWXkHjr+GicMtkJluLuVkHCFG7UMVaqkcXsHEdKGlR676Ia4nxnO5xVfGYyeaBHcm9l4wWKqK9zuXNwyQURRU8Sx0Vs7K7zL4azlwX2j5W1uG8Zv5Ira0vJ7kYyOa6xEdq7LOk1re2ncQtxHNrdaHjoKbq5wk0V7a5yGLDXzzJJejH24uVhyUfK2vESGEobX7kwQzoo7kRIkAIFKhVDH/0zDZySXFtkba1zVlmMVJGryQ5rF5CCWzv0tY2HbiuI0h/MSQq0binWugCz+PsZ8ZJkbG9F0bO/ls5bmWsUl4IpeMMiRuQ3cmtbiKQx0HEiQjbQKbqVlwNtZ3IkWaGe5a0iKIqJazmC8DPIKSTOZmainZQ9QdzoM2GO59SpB3/AKKeoI0Gs8bRbppLcUieOCKV7ihdkheaO3Nyi0BVbS5mjeUA1aLkei6BbnLWWwvhbGRjGkKdpqduTcsJWmWvIXMd2jq9ehXbamh00U19DDk8H5MUQ2+XRUyyCPjGlyofGZ6BokagW6gk79TuTJXQnKzH2AW6z3hVzIHNxNJPhrhWDJ+rWKvJZ9o9woseYsGKFqmp7egNw81rkcXZNk1jFrje54vmmlMheDG5eVpcHkSpdUDYjJq61pUKo/YFeWiVLrC3V+StzBPL41nJuckgt7zHSQ2gyDuzhmFxjmjkAqoNGodiQC77ObGXfklsySy5GCKaN2j9iwWQnijmuJOvOGTuKaUKhaEmmhVOy8XS8htZ7zN4vFtkGf7C3vbhI554EPaSYqVIijlkXgnNlZj7umgzV7YT465uLO7RkuIZGWSJlYSKyVpy5DYUI6bnqNqHQ5gJuFalQ5c+5QwYA9AApr+7caGGkwidm1eQ8hHJI09wakxvbwK/27GM8RIneUnc1VgCBtopni/zkMzXdzLLeyfeCSORYrjnVxNGGZgisII1NAyuoNVApUkaeFpCrrcTSRSsjl7dYVDqyyxr37le5zSpYEGqcvqJqRoQk8QVuQBoZDKy9wdiNpuQRopmRZjPT3dPireh0Eo+4Iys3CHkGTjOpmSEAMyRcIyJI5Fk4gClAW5bg7B1qG3BeRO04LQpIXkUpFwZI0dS0iLHUn2cTWoI6aCsx0lIlo71LxAni7g0MLIkVbchmJWWiqwFDuSdDYgTFCxLrI1WBjjUIVbupIiksDO3dQmMmrsKBqV6BDeMdpRDHGrzLE1tLSTixX3Sd0sX5s1HoAKqw41IOgFCD7gSgSjaIvJaq7SFSziH6o56xiGje5uIFVp00ECi/UphV4w3YKL7S7O3bncwcZERWFO5wpG5FU2roCsNk5LWe2ntLaxuLgNJMlqYYkuZ7gRFi0RMkUtvcyqpVlRjEwo4Qmo0H1S/unfFXN8mQvMKqxpk0uns1nnii4B5YbnH3CEyxqCydsKCOIZWrvoaYbIZG2yljJdZewxXlOMt0LTZrx+5DXOPiPsE1zhr2T7u1kG7ERTFaVPHamgxEsOEwdxj/IvG797+2MssN5jmRw8tkwihyFjKknGeKc29zX3Di3VDVdA2Frj8dLlY5JmkxE1zbZXEXMFu9zPcyNbvHPYyxMqzRyT2siOxZQokhJOgyGXvZFj7c4jaS6Md5cMkRjl7UaFLWIljxCSFg/Fdqnc1GgXWyduxVYwz3eRlCckfjwAJBUKadznEeVa0IND00B8rwXOSit0aSKxsoCor2u6Cqh+Tdv8AKLmYAj1IHxrodhorlj99fy+67ux2Ld+QP10UuATVjRDuNq6DR2y2sFrFEEt1htYmurordI0kjRwo7SBxD745HKx9puVTWnHc6FCGwLXeRSWdWYmVr+5WMIGLc+aRR8leNXrQ8WBUgbimgvysjz3UpWaS6FtD2o53U8hNKOc1F4xcOwp48aACpoKU0C3EXkVpeMLxriOxurdrO/8AtQHkjAZJrO5FuSizm0u0WTiaEgbGtNBtJPHbK7ilyWHylrlrGEGa6ML/AG93ZQhkDST2cpN1GyVJoEYbddAguxcMjNbwh7WC5FhbzyrG0UE06NdAOhcoZzaRllLcgafiNRRGMigu8pCmRv1skmkd572cs5IjBCiKMKFaeWioq0A5HYEbaqabC3HiGRWe1tMlPjL2zaQ3LZkvZhrcMI+QtLlnikEe4cK8LoeinYaCqC+x15ALLG+cXGDhxEUsETTu1j97S6kkW+gtYWVLpZEcg0cyMy1ZADXQKJsxkvIGgtbrJSy42InspYWsNkchcxrzkurqFAqlp+JZa8QPQVNdA2e+8btLG1ubyW6yDSM8cfYjVcdiIWlljgW4hkdLm6uLZwJWRW7hp7SPURKeOja0lzXjtj5ZY4iZWs7+TIbW0l3dm2C3/bvmcm5gt2jFEHA0k5ejKSODynyt41issxj7n7Sb7VJhj1dPIJkVlkLtMQxhMIALosYLVJYaKGmz2EmuUlz/AI5Nhck3AtnvGppIZIpCtFeSJO1KwRhvvKGAFCw0Gxs5s1dWrfo+ZwPn2PWlbTJrFbZOJSN1eeOsZZvjLGG6fDQZLMweNC5SW6xXknhmR4lpWtYUey+4PEW0guoTNF2uQbk6BKioI0AvjUM8ju8P2tsUJF5Dao4WSBozMZXmiaJj2pFIhohZWYkkjQ1y+WZi6a8v7m7Mpka4nkkYkdaEorAn3MGVRud/josfwrNDv6+v/ZqEVizqMyNyU0IFfxB2ofx0Ju0NjfycxJGR31j4GBiqLI5HFXWRyUQcTRhx949pqDqjWGeHMwx82iS6s4xCt4iSOURK1+4ho002LQA1ChngXdQ0QoCFRso7O5/vNnHHdJxkVBIXtZAatFcwLyaCWKUe5WUmMjpoKbqdpOckhdmI29SxrstBQ7npTQaCInEYYW6rHLlc3IGZVSQOLciJ4CJgyPbmMpxKlaMhLA13ILLe+vcJdyGwvTOZEAyFjdEfaZAEhpVjB9q1K+0Eq4pVWB0NGuTvsbk4rbI2sT2OQupZIbuCWMmRhKEeHv1VY73Gyh+MTOO+KEksN9EIITNBI32E/wBk9GjnsZJ5EtZFLKXFtLU9sOyglG9RtoucnFrf5TGSmVbmwu3u6m6xd0iyW86hvaIp5QT9wqsQGJDCp4nQMXtfH/ImaKxkk8ezhChcbe+23lcghoLeUlQyEgFSxRzU/VQDQFReFQWsSWF5nVtc3K0bNYXNmz4lzKrMghmdEUvwQ1flGxoRTbQVfp/lvi3KSCOX7FP5kcJbJ4ieFiGPcsn5zwJKp3IV+INajQUC78XynH7u3k8WuZSe7e4+l/grhyTV5LRywhodqAV33IpoCYcR5LhY3vMBem8sSys83j9yLy1Yqaotxi5CZEJBBKrXY9Ouoqps9Y3btFnvHYJJ1AWS9wbS4+/Rqe6S5tW4NK4pWhXjy+WqiqLD+P5FueK8ggtLsSey3ysb4u6Nd1Vb2A9rn6VYGraB32fP8ZCvCe6yFkyexJ44c5aMlSEo8ZklFB0qg0KgX8ihLkZbxHHPKBxknxk0uNueQNGYwkKwPxFKV0EHufBbvaZc9jXNSfu7SC/hTpsDxaVhX/foK0wHiNyR9n5PjY3f+C5guse6HcUPCTgGP4UpoSYQ+M3aATY7y2zj7gaJGgz7xlhXiYwsqk8XI6HQGr455xD2mt87O2zGInLW8qjuAk05MgJYVNRX410FoxH+Zbii5iUhCVr93bChJqQzLKO509a09NDtW2F/zDbiZs7IimvBvvreI77NRu9XlXroqp/H/KmLC78ue3JIr3M3Glfp954v9I29NQAyeJY5GY5Py/Hl6F5OWTaZzWlOXA1JqelTqoGaw/y+sQHmzEuRkAr2LO0eSRjTYF5qIlT+IpoCYs74na8VxfjWSycy71vSlvHuDvRA9VrtTYaHBhFl/NMgVjwmGssLCwIVrezEkgUmhLTTKVU02JFPjoBrzxm5cm58x8mjgJAYw3N6ZJuNahY7WJiwT4DQBR5Tw7FEJhsTd5652ImuAbe17o6UUAvMGJ3DU0BLx+Z+RIfbDg8WFbktups7WKMVZ2lkkI5EdOTE/LQ7Ibm18bw3EyXf6zfgchHGWeBWHFgjyCrFXNQwj3GgUyxZPLSAQ2bRJHWRYIYDSIMTRxbqTIpINO5O4oB1oNBCC6trPnZXLC4sZDGb2K2krc2F0tf77YyCgdl6TpGe3IKjqAdBro5PvRZwXWRskls17vjectV4LA6spjtrho4+LQSo1GRlBQsSeVCCAN9jJLoztDZLa5CGISZTCkskiqPzmyGHYA8rQkiTjHVoWBIBQkACsZ5VZ20onzsZyLRw0jujHBJDlAiMLf76CZOMWQt1PDuqRJw23Wg0RDA4qPIX8mYvsTLBh4JWuIrW2jjisrd2fuhZ5Llx+QiGoADmlF2rsUPl80M3lUSGDhFEkkbEM6C7mhide+0FRHHcxx8RxUVQDjXUW4PD464yU0Nnbbsk7SyTsrtFZxGqvcT8B9T1oidZGNOmqgrOYqCzvWx0d/8AqMqJzlMEAk7ZZd1ZLczQSR0FHXYof36BZichksVdxWdmPuobl1cY+Rz9vccDUSxSs6cGgcVFSro3QnpqLl9B/wCqiI4UtcbLDbBZBdWNIbctdRFjMYHWKOb66l3CIzEbg1qak2sXT4bBZ/346R8blU5O6tG1u0u4NTasI453lYkntBH3HsNdDQeTK5rEoLDyaw/U7KSIxx3Y/MuEjACoxkKyOWiA3WRa/wDhFdBXb4PH5Ht3vi2X+2vlPeW2ZmhmV1YlePGqtIV93s5AAHcU0F8uayNiBZ+V4YXkQBSO9SOkoBkq8vdHIy1KminjvuSDoQ5b4TE5JjeeMZo2NwC0iW0k/Yu0AO5ZozxduX/iIFN66AqbJ+UYlRaeQ42PL2PNSWliVZQgXiPtpqNGvsHr1+GgBf8A6HzBQNJdYG7c8THcxCWCtSV7UlVlUUPUMADoLP0nyHCR/feOZRstAhLNb2EovS0IajFrOQdyURg1I9++gNj86yDS9rJ2+PvEJJa2uoWsJghQDtRxzUQMrLtyViW2OioXOR8KuUV8hhLzHmTlyktmTiZCTQcEerrTqeCjRAKYfwq891h5E1kwYALKhhAH9Y8e3y6/joZN4PH/ABXHwKuTzZu5pSXiTG3EiLwqAHkMBuJZG9SzMAOgXQXS+OeNNE8lpmMpAwBKPNMrx+1BI3svrKBDwQg0MiVB2NdBgo5yXmCy94RStGJhG8ImUGok7MhLx8ga8ST8j66C4TP6VBND7TT123qNDxIzdwcZFSVfUSokgNP/ABq3x0ArWmPcki1SJj1Ns8luflURuFP7tBfBHdWzc8fmMjaOKcQZO6gI3AJUxPxr+3Q7B3VxPlllmuZDHeWaot0FV1EbI3EZCHjyVQpCmb6AUNd20FM7/cq07Hs3HdjW8UlT2L2McIr1FCgCKUACTejKa+mg7JKsp78kZAdftMrAAfZOOlwgC+3Ycia09eh0MIcblYns6O0bspW84h4vs1/Md5ZfQxqK06nQHXfK3tJVUr+bHEHXgQ3KciRCCKq4dONW6sR6UOgJtcPd5KB4rVJA1hayXVxLE8SmO2A/NqJSFblx2ABNRXQ2utLWykxl7Kl9BBLYW6zQ4wxO95kLdqB3jYMORWpFFDEEEkAaALIZa+yMVobp4Xnw9sUiaJO2LvGykPHLwSkReHjxJWh+IqNBRLWRUvrYB5oIyCoAZbm1YHuxMpHveNSWXbcVGh2oSizRCzmCI0Z+0kuZo4kmsZwRPZ3Mi1RVRyeHWgPH10DPKWuItcXjDjXvJnEnK+yEzFYbe4kXlCkVu3sZU3VmQD2j3VJ0MFE1ZB3SIoZOYWQDmRFfAD812JIaK8rvTYghhQA6A7kt9bRwrHH31Zhzmkbnby1ZZICHYIRJT6R7akHroQWlp5XhHJ3ubUdqFJCHDQRO3O1ZlDOHhZiKCoKkbb6DkSBwLeE0EpE2PduI7U0bVltqndXWlBTdgQNCyvkknchC0F4Hbt8QGtr+BqycagsobqVBG59dAdbs01vET9VKbD1HUbAVFa0+WoNPg8Fd5u4KREW9pEwF7fsvKOBTv2oFI/Ou3H0oNh1O3Wl28zWax/imNXFYdIluY1V6P+b9n3hvfZBlqZb6etVRqGnyA0Hyq4yMlpc2OWmijuoZJnnX7icJd3d1E5WS4mS25/ZyW52WN19qsCytWoBlNc+IZeJ55rWfF3vAu5sUjieWQVP5cEanGXzVNeLJbyNQ+6ugWW+fyOHuOzb5EZK0t2BhnT7iNTFIAaq7Fb2xfieLxlnRWqKEaHruTyeGyivKth9hf8DKtzbPBFHcXKsGaC8t4+3bvyjJK3EaxyctmU9dB608hy8cTW6t9+kkYiCXEDXiPGNzDdRcXS8iI2BkBkX+FhoJxY/IGWS4w+NydnJIAftlguZYI4ZF99s5nh4zwVrxDhqLQeldBG6jyDJFa5q0aF40YW73MLR3L2rMGW3E71aaCGT6NyUB41poGuCaXFZCKLJzy29jlLdbaOW8t2kUGJhJaD80GAyo54Ru9eCn4U0DjKWtzj7uS/skkjhd+7Kv0NbyUA5yNEg7Y/qXKLUA8ZAy76gokit82VZP7nm7cqYZY0WITSleQQrVo1mcVqm8Fwu6eo1QIl5bXSS4nyKNYDb/AMmRFcS2vJqNcWAI5SWSvvJb/VCKtHsCoCdvNeeO3jWt9Ib20vninXjKrW2QjZQkdxbSkcYMtwAKyV7dwo4vQ0Oh21F5b21/aTRIxntclA8aTj2MVTYo67NFcwSCjIaMrLoFmCvWkkOGyhkXL2ENLSZaqt/aR/RcAgjnPEo/MBryXfqNAU3/AMFy3d12JJcbe753GcRKvEx8f1qwQijSJGKygfzo67cl0Ggs8XjrWyjix6xJaTBZ7d7T+VPHN7lkRhUsHHTfbpoQRZrBxWMsWat7iW3ybTRm1s4V3y08R/L5KCHi7SEh5loOJpvXcD7ezaGS+8kzZt7WWSGOOdIWS3soYkH5Fv7zQyM56tVmY+g0CTybDW3kOJgy+M5M/aLoWUCV0hJEtrLT6bi3boK/0aD5Nb/lNNem6ggvbCWBo7SSB3N8jnjK6EK0HtGzq9Kg6DT36YvyGwNxYxTYvI4eAtdW19eNcJcWaiqRY+SUkyXABJ4VWg2AOgwLys1VROVTQAA1J+NOvTQeLs0TK+21ApO4p12PTQhTGq7UPyodiP8AfoWEF0joGI3/AHV+fwOg4qtKWoK0/aKHRa6WQG2UOk7qGBpvUftB0NoCU8vyyZQpPQ78fj+OiSnzM9VVgGFa8zQgfDf4aLCqRgilQwZwOo9CDttolBq+QXgWs0UMzgBVkZArAAUHT10NpWFzZO9zNd8VmlB4cl5Jv/qPw0C8Q2zz8Wk4Q817jpQlUJ3ZVJ6gfs0Lr5xaQ3DJZSmW3UDjKwoW2qa9K0OiqHZBRyyueQ9vr11DQh7hp2RoloqAe3pSnX59NVODaKGG6UCRxGwA4LTf9p+GgquLOKFCGjbkVqrMCK/h+GgRVQAjcMNq+mhLgcKN6PX59NAOVJNfQ6i1pA+EgLXiCRt01UWhyKAtxHr+34/LRRNtG8s3bRowzAkBmoDT0B0QsuDSV12HAkGnxH4baFf0MEeRhwUsT8Af9fTUWBkdtfxe+LkpI3Ckk9PUDVRWLl6uko5Maip+oHUV4pNGeSFw3y9R/TUaqbNbSQBo3uOJOwHQkMfjT/UdBVdvyW4BRePKu1QVJ9QPhoEgFTqNTNFwhOx+Pqf9KarNxCxCoU0FfVun79B6aBKhQOMg/qmob56KEkjMZAPX4ahD0UbSsqAgcjQE9Afn8tAziijtmCzqSwcMXQ7gdSOJ60GqnLRRNjyJeDLNCyE0c8HjkoaFTt00GVumBc0+kE0/2f0aAJip/HUIrGcJGKRVDOrICKgsCK6NVVaD2gsWR0+kmnwO40KDYr1kIqSKeoNR+Hy0ZocW2XkRg0b0YdDXdfQ0r8fXVDaLKiRe3IgaprRgHDV3ND9Sk/LQEhLGaZUhnktu5x/nANGrkbg+oSvrqLyIOKyS17Kw3a7kG2mVi4B6qhIJ1U5LXjeB2E1q9u5+otCUr+Jpx0Daw8gyNkkcUL2d1BFyEUF9bpKI+Xokq0k4/I9NAnnea4mlneK3ieaRpG+2HCIFv4VjqQqjQsc2R8bkSFL9cpZyqjCe4tm78Ej/AMLhQC6fhTbQC5e3wSpbtiMjc31w7Ms0c8LJ2owCQ3IqlCTsBvoKsVhZMosjR5DHW5VSCLqftuGOwHEgEAnaugni/HbzJS3lvb3WOje1Jjkaa5AV2FamLiDzjPoemgU/bvbyzQOULwu0TGNxJGWQ0JSRdmX4EaGUXeaP2oTwlHCQcag06f8AhND10MJhEoB216f1fWlDv1rolw4ics/JaVDAE+oPTfRaCsRZi/kNvLe21jQNxN3JIiNQ7qApC1p8dBdk8bBj7mNIchaZDuKGc2gNIWB+ljUjf8a6CNjNLjbv7y3W2kb1juohKlfiB6f69DI7J527y0K288ePjVXDj7S24y1+AILNQ+vx0FFph8rfUjtsfeSK5FSQ8EJPoz8yq/tpodNLD4PexqJMlfWOMj9V5CSQAfM0Wv79Cici+H4UqffnLkGjB3/KU+pp9CjQL7/ze47YgxtvDjYACvGEAuQRTqOhH46DFXWSuZwWmnklIqfzZCwBJ3IUmldFIz1X/wAHr+H8X9r4aMzlp/E/+YSfzP8AlWU6fR/JP87+x8P7VNFjJxY/47+P+ev+E/xH+Fb/ABf/ALf/AOnf/b11DTMZjrb/AMz+W3T6frk/wv8A9Tv/ACP/AE6aLBNF/Mi/len8z6P/AKL8tERHp/4x/rH1fLQhrPKP/kuu/wDBf4yy+n/l/wBMP1f+2/rfKuqm1EX/AD6D+V/Pl/kf/dFz/M+Xx+dNRrT2M+pv8H9eQ/n/AOL/AIPq/wDff/S/9vVSBWN+rHfzP8Pe/wA3+T/Lsv8A8T+P9muosYUWf/McX/y76L3/AB//ACv+fdfzv/X+H9vhqozA+sfyv5o6/wAr6/X/ANP/AOx0N7fcv8xvoxv/ADj+Xa/yf/kK/lWv8r/2fx/s6BSvXzb/AJf/AMt8b/8AkP8A8D/Pg/wP/uv6/wDY7uiMRB/yC/8A+Wf8ys/8d/jP8JN/gv8A2v8AW+fHTSwNuv8ABYb6Povv/vZ9bf8AL/8A0/6//uOehojuf8A/1f4yfr1+p/5v9v8A2aaNic30s/q/kD8Okf8AT8flTRZJF9fp9Ov19R00Q3xP+OH1f8tyv8v6f+W3f87/AND+tobPvOf+Yt/90T/zf8d9Ft/jf/cf1v8A1OegF/8AzJH8r/5JLn+f/M/5daf4P+z/AOb/AGuGgNyX/P8AA9P5XiX+D/xn+Gsfr/8Ae/H+1TQ/7HR/47/Mr/C/4DJ/R/yz/nFr/wDjH/0t/wCry0NGnkf/ACnyzr/zHw//ABHX/kR6/wD1U/8Apj5aCd1/8kd/9P8A8gx/n/zv+SW3/wAkP/uP63/qdvQl86y3SL/5x/F/N6J/iP8A7D/06ahJ55V/zu4/xP04/wDxX83/AJRafzf/AFvj/ZpqmmYm/lj6/wCQn09fX6f/AFP62gbv/wApH83/AAx/lfR/D9X9r4/t0kjLYSfVJ9HW0+j/AAv+Dj+r/wBz/X+VdF0bQfyv/jf/ABVt/L/lf4eT/C/2/wDzP/T46JOXB1t/+Xf4yT+T9X/H+r/7f8qaELJP5cn0f4Bf/nv8qD6P/c/+V/Zrogtf/jf+V/iLL+b/AIf+U/8AK/8Ad/8Amf8ApU0Af8P8XWb/AMPV+n9r4/2+OirYf5o+j6Yfo/m9Jv8AFf8Apf8Am/2aaCkfyz06R/yP5P8AhB/J/wDZf7dRQ1x9L/R/Ok/l/wCC6Sfy/wCx8NXaaVf/ACpfr/gY/wDF9fp//u//AC/lTUJFy/8AyP4jp/grv/7o/wAXB/P/ALH9X/166pD6ZiP+W2H8v/BTf4n/AAv/ABf8R/7H+p/ZrokPmUP/AMms3/LP/kVv/wDkH+A/5dJ/z7/2/wDU+XZ0XZVhf+X5j/Df83l/+6P+UTfyv/S/r/8AqcdJWC206X30f4a7/wAV/M+pP8J/b+P/AKeiaIM7/iJ+n0W//wA7/lt/J/8AT/q6L9Oof8XhPo/wtz9H+D+n/gfP+t/6miaU47/lfkn+G/8AjX+f/j/5kv8Ahv8A0v8Azf7OiLoP+W4H/wC+mQ/n/wCB/wCB/hP7Xx/9TRr9E5D/AA+Z+n+avT6P8U/8v+1/X+VNEnJRi/ruP5n+Js/p/kdX+v8A9b+r8q6H6aQfXdfX/jpP53/z0fzf/tvy0Qpz3+JP8j6X/wAN+Hp/Y/q/KmhsL47/AM0T+b/grz/C/wCL+g/X/a+Go0c4z/A5/wCv/m2G/m/yumQ+n/1vj/6XLQ2Lxv8Az7x3+V/j4Pq6fQP+Y/8Atvj/AGa6rLZf5if4C1/5P1P/AC3+b/Lg/wAd/wC2/qfOmiy+f/8ABP8AyH/l9p/ienX+P/3f+2ukLLVWH+Ivv5n0WP8AgP8AD/z4Pq/9P/yv2aJ/20fhP/JMj/y3/meT/wCbfz/8Un+C/wDS/wD8muiRl8mv/wD42/w3+Kk/5l9X83+P+1/s1Gowe2v8iH+b/IX+R9P0t/I/9D4/KuiDm/5Yn/Lfqm+r/E9I/p/+o/8AV/t6ozWT/wCcR/zP8HZ/8h/5j9Cf/hP637NB9jzP/wAiWV/+Sn/lVp/zj8Lj/G/+3/8Apj+zTRHz7CfTlv5n/LY/5P8Azf8Awb/4H/0P63/ocdIHyVuo/wDCP9B8tRqENFTPRfwP+rRIzK22/nL16N06dD9X9nQltMR/Nb/H/wDxr/gP8b6/T/7z/wAr+zy1UnJ1e/8AJIP5H/MZf/1j/wAj/wDqZ/8ATn/u66DK3H0Dr9fp/M+n+H/Z89Q/6OE/5lbf4n/lsn+I/m//AMt/6H/l/wDpapokyH8w/R/Mj/mfy/5n/H/9H4/LQa3Nf85senWx/wDnH/LIf5f/AKf/ANL/ANmuhH/xlLn/ABR+v6x9H0/V/F8/j8tF/F8v0+nT+L6PX+Z/Z0T/AKcvv+WQfV/MH+J/xHUf8s/9D+t8tRZaaL/C3H/Of4v8b/M/k/xf+l/W/wDT5aqPoXhH+Gl/x/8AKT6P+Q/x/wCG/wDX/wDN0XbD+Sf81k/5H6f8q/mfRH/zP/23+3Q0UeI/86/+X30yf/Iz/wCBun/pfH5aaNvpnmX+Dsf+S/4f/wCXX/PfoXr/AOr/AFdEjD4/L/Kk/wAP1/8Aj/8Amf8A0D/0vhoND4j/ADx/8l/0t/yT+V+z5fH5aJD7Xf8A+Gj/AOV9Y/8A5KP5/wBZ+v8Atf7NRdPkWW/xEn/KOrf8o/l9T9H9nRYZS6+n/wCV/X/j9f2f7NArf6x/gOn/AMbfX0/i+fx+WialXH9Q/wAb6/yen/xP+nTVSR5+g/8APun8H8vq31fP4aLoI38v/wCW/Q/zvp+r0+WkZXYdPqP8z6m+v6vpP9GiLYuif8v6t/N/H+H56SRlqLL6k/5T+zp0HT5/H5aNPrXj3S1/+Rf+aP8A7t+k/T89GYEeZ/yh/wDJT/8AHP8Ayj/C/wAP8z/09CX58b/HP/M/m/8Ay5/xP/xfz+Gg+veGfWP/AJHfqj/xH876v+H/AOp/V+WhKP8AmX1T/wCSH6W/lf8AJ+qfyf8Ab+zRf+ePmWA/mSf4b1+v/mPr0/066I3WX/8AkQsunST/AJP06L/8kv8A7r+v/arqK+Xf8Rf5fVf5X1fT6f6dNVB2L/wuS/w/S4/m/wCH/lr/AIT/AN3/APY10SW8n/wHhf8Aj/8AG/w/8/6L/wAr/wDqd/U+dNGiLLf8+yH/AC//AJkP8N/gf/oX/uf6/wD6vLUSWquP/kBtf+c/4mXr/L/xF3/+L/1f7eqS+aRfzsL9X+Hm+n6f8TL/ADf/AF//ADfnTRX2jxT/AORaT+R/8s/8D/iOjf4j/wB3/wCT8qaIT/5bf/nB/J6xdf8AHfRJ9X/tfh/69NJWGBz/APzB/wDF/wCMu/p/x/WL/wDCf1/7ddEPF/xcH+I/4H+L/n/Sn+K+f/mf+noSIT/mL/zf5if4j/Ffy3/kf+7/APL/ALPb0TTTZ/8A5RF/iP5kX+K/5v8AQfq/9P8A8nTY+Xp/z09f5if8n/8AGv1f+7/26K+0N/yj+H+TF/8AJH/N+i8/nfP+r/broPiVz/zBv5X80f8AK+vU/T/Y1Db7h43/AIEf806v/wA+/wAN0g+r/wBL+p/Zrqj535T/AIib/kfp/gvo6H+Z89QJ/G/+Zxf87/xEX/Jvp+uPp/a/26o+65D/AJe3+B/mS/8Ayb/yug/l/wDp6ivg0f8Azg/8s+q4/wAP/wAr/i/wny+GrAFyH8z/AOVfr/L+n9ny/wBmkizD/wAuT+Z/Mf8Ak/4Tov0f7fnqEZkzTpJ/L/k/w/yvr/8Ajn/239X+1TQAW38uT/59J/M+vr/F8vh8tEkV6fs9P9mqji/R+w9enr1+Wg96n8R0/D1+WirB6/7fw0UvP/OJfo/wLdf5f8r/AOPf/T/r/LRP+cKrb65v/vOn1fy/5b/4j5f1f/SpqLsRZ9b/APxP/IF/lfR/L/8Alj/6fw/9Pjqs7Ttv+Xr9f8uX+Z/J+h+v/p/7NF0BH/L7D6/8Vb/X16r9f/o/D9umiGkH/Oz/ADP5WR/+Rz/C/wCDX/8A1v8A5/8A8VopPY/4/G/X/Ovf+WfX/J/+M/8A2fx/+L0A9h/PxX0/Xffy/p6j+X/7L/7ZXRELD+an+K/xI/wf+G+v0/sfHQWj/lWR/wAH/wAwm+r6v+J/gv8A2v8AW/t00SBEf8g/yf8ADTf4vp/LP8v/ANb+rouw+O/nL9X/AC2H6/wm/m/+r/5X9jUVXbf4mXr/AC4OvX+V/wAT/wB1/W+VNEh2y/xsP+J/5kP8F/i/8Mv0f2P6/wAqapsPJ1l/++sP8v6vqf8Akf8AuP6+oqcn+IP0/wCLl6f/ADkdf/U/r/PVRdZf4V/r6P8AT9X1H+V8/wCp89FfoPxP/wCR/Cf4P/CTf4D+X+z/AOqX/mf266I+C5L+bff4r/mk/wDj/wDmH/E/5l/7r/yP7PLRZZ2X+c3X6V+v6vpH83/1f9lNRFI/mj/EdR9PX0+n/TpqjYYPpJ/8iXQf82/8X/xz8vj/AGtCH1C3/lW//wAhH0//ACt/mdF/l6Bk30n/AJv1/wDlf/h+npogZfrb6/T/AJp16j+n/borC5/+Vf8A1/8APLr+Z/gv8LD/AMp/9v8A+b/6mhOU8n/8jUP+I/wc3/Nuv+IP1/8Aq/8A0r/YroNf4/8A8rxn+M+gf8z/AMV/LP0/+1+H9iuisEv+Km+n/wCP/wDD/wCE/nD+V/8AUn/6X/8AcU0SBHl38/HfV9dh1/5t9KfV/wC+/r/s0WB2Z/8AkXl/k/8AMbr/ABP8rqP+Uf8Aof1//X5aSkDfH/8Al99/P/mYr/E/T/IHT/6s/wDnf+lx1F0VeSf8xwP1f8wj/wAJ/wA0+sfyP/S/rft1UjLe5L+en1/Q/Xp/D1/9l/8AZ10CXxr/AJHdfX/zLL/4L/B9f/lD/wDU/wCH/rctDS7Ff81T/mf/AC+L/wCSP/mXX/4x/wDb/wBb56SbB/5gfRY/yf8ABz/4v/k3U/yP/qx8P7OhGNh/B/8Akd//AIj/ABtp/P8A5X8hf5P/ALr/AM35cdCcPmuc/wCd3v8Ah/quP5H+H/b/AOl/9loO+PfX/wAP/EW/+O/5X9M/+M+X/l/2tQn/AOs0/wDipPo/nv8A4f8Al/Uf5P8A6f8AV+WrOCMh5vrbr1b6uv7fnoRtQPqH7OnXRITm6D6f9vX1+Wml2YWHp+H8X09f4tRQF9/Pb6f2fidVIwoh/mL9f/0P6v8Au0Vbc/zf4vpX6ev7fnomlK/V69PXr6ddQ1CR6HVSMqtRuXV6/wC7/Tpok40mvU/j/wDE6sJLp6+nT06/s0k/5wOs/qbr0/Z+3TRB1F/OTp1H0dfXUNGGT6QfV9J6/gNVdslJ/wAX6ep6dPTp89E0Gj6r/t0Nr7n/AIX0/wDxHX9uov4th+l/2dOnU6sor+P1df4tQTHUfX0P0fX6/T8tVf8AsJH/ADH6dT/O69fX56Gv9aSx6f8Axt09OnTQkyxn+IP0fUevToemialjr7/H3H0/z/Tp1GgPHr16D8f2fLUWQ8P82Xr6fX0+r+D56A/K/Wf5f8lPo/mdP+L/AG9EZ9fq/f06f92izgd/CnToPw/79VHZfp9Pp/Z19PnoThG2/mx9f/onT/u0EL7/ABDf7On7NRdq4v4fx/8Aiunp/s1UnYi6/nJ9fT169B9WkE5ST/4rqfw/bougs/X1/b/p/odQ2qT616dR1/H0+eiye3/+Dg+v6f8AidOv8OqyQDqPxGo1OHj1OhGHtBzQSXr6/wDxPXRPw3g6fx9R1+r/AL9VkaOq/wA3/wCK6enTRYO8b/Ph/wAb9R/wn19B9Hz+Oi6fQLb+Sf5v8f8AzP6On8fy+OkJOWLyn8yX/kfr/hvr/wDif7ehJFH9Z/ndT/4On+rRRKev1dfT8T10khJvq9f9PhqEYUTfX/8AGnT/AIv1dPXVTalvT/D/AE/8Lr6//W6GhEf8sfR6/R9PUdNRYXL0b/b00JVHqNEnKZ6Dr+3p+zRdqn6/8DoP5n+356qThD+E/T1/4PXof6dIWcKof5i/y/q/+Pv5f/doPrHjf0//AJsdR/I/nf8Afom21vf5Lf476P8A4w6dB9Pz0NPh+d/nN/zjqf8AmH0fs+egysnUfV/s9NDQeT6f931df9f+3SAsl+r+P/4vUXb/2Q=="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":26,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/45277.ec6e36193d139c5c5f7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.771Z","timestamp":1785124877771,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/45277.ec6e36193d139c5c5f7b.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-2b88\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 420f8caae4cee60471db4ecd01dec142\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11144,"size_decoded":5155,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"e18907ad974965570fff5fe138910b3e","sha1":"42a83b0c792ca4963052a4c61df2709d9d009ff6","sha256":"ec78fef0e90dea389a0c9b780256ce3c56ad02e3dc55e8821641c312af8f6f82","sha512":"e5ec15969c1036dbd81bb3f2cc8eee0c72ca47617098bacff7c655a4f45e4ecd8c7910ba484be4a0f780329316de5b0b67c8cbe7bb41d5f259e6dd3deeb1ddba","ssdeep":"192:j/f5hxzIhzOTre4LiZa6CWwvIe1ySWu3XXfBIrbgouzQBFivV+GRe2t6RufLKPXZ:j/f5Lz6zOTrMZcW62Sd3nfBIrbVu8BF1","tlshash":"7132c5a5328240ee53e617d53835464b9314bd5b39cb9ca8b16c58cf286e88e36fd738","first_seen":"2026-07-17T03:30:51.165572Z","last_seen":"2026-07-27T06:24:31.711607Z","times_seen":75,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNDUyNzddLHsxMDAodCxlLG4pe24uZChlLHtjdWJpY0JlemllckhpdFRlc3Q6KCk9PnIsY3ViaWNCZXppZXJQb2ludDooKT0+bCxleHRlbmRRdWFkcm9CZXppZXI6KCk9PmgscXVhZHJvQmV6aWVySGl0VGVzdDooKT0+c30pO3ZhciBpLGE9big3MDA3NCksbz1uKDY0MDc0NCk7ZnVuY3Rpb24gcyh0LGUsbixpLG8pe2NvbnN0IHM9bi5zdWJ0cmFjdCh0KS5sZW5ndGgoKStuLnN1YnRyYWN0KGUpLmxlbmd0aCgpLGw9TWF0aC5tYXgoMy9zLC4wMik7bGV0IHI7Zm9yKGxldCBzPTA7O3MrPWwpe3M+MSYmKHM9MSk7Y29uc3QgbD10LnNjYWxlZCgoMS1zKSooMS1zKSksaD1uLnNjYWxlZCgyKnMqKDEtcykpLGQ9ZS5zY2FsZWQocypzKSx1PWwuYWRkKGgpLmFkZChkKTtpZih2b2lkIDAhPT1yKXtpZigoMCxhLmRpc3RhbmNlVG9TZWdtZW50KSh1LHIsaSkuZGlzdGFuY2U8bylyZXR1cm4hMH1lbHNlIGlmKHUuc3VidHJhY3QoaSkubGVuZ3RoKCk8bylyZXR1cm4hMDtpZihyPXUsMT09PXMpYnJlYWt9cmV0dXJuITF9ZnVuY3Rpb24gbCh0LGUsbixpLGEpe2E9KDAsby5jbGFtcCkoYSwwLDEpO2NvbnN0IHM9dC5zY2FsZWQoKDEtYSkqKDEtYSkqKDEtYSkpLGw9ZS5zY2FsZWQoMyooMS1hKSooMS1hKSphKSxyPW4uc2NhbGVkKDMqKDEtYSkqYSphKSxoPWkuc2NhbGVkKGEqYSphKTtyZXR1cm4gcy5hZGQobCkuYWRkKHIpLmFkZChoKX1mdW5jdGlvbiByKHQsZSxuLGksbyxzKXtjb25zdCByPWUuc3VidHJhY3QodCkubGVuZ3RoKCkrbi5zdWJ0cmFjdChlKS5sZW5ndGgoKStpLnN1YnRyYWN0KG4pLmxlbmd0aCgpLGg9TWF0aC5tYXgoMy9yLC4wMik7bGV0IGQ7Zm9yKGxldCByPTA7O3IrPWgpe2NvbnN0IGg9bCh0LGUsbixpLHIpO2lmKHZvaWQgMCE9PWQpe2lmKCgwLGEuZGlzdGFuY2VUb1NlZ21lbnQpKGgsZCxvKS5kaXN0YW5jZTxzKXJldHVybiEwfWVsc2UgaWYoaC5zdWJ0cmFjdChvKS5sZW5ndGgoKTxzKXJldHVybiEwO2lmKGQ9aCxyPj0xKWJyZWFrfXJldHVybiExfWZ1bmN0aW9uIGgodCxlLG4saSxhKXtjb25zdCBvPW4uc3VidHJhY3QodCkubGVuZ3RoKCkrbi5zdWJ0cmFjdChlKS5sZW5ndGgoKTtpZighbylyZXR1cm5bXTtjb25zdCBzPWZ1bmN0aW9uKHQsZSxuLGksYSl7Y29uc3Qgbz1bXSxzPWQodC55LGUueSxuLnksMCkuY29uY2F0KGQodC55LGUueSxuLnksYSkpO2ZvcihsZXQgYT0wO2E8cy5sZW5ndGg7YSsrKXtjb25zdCBsPXUodC54LGUueCxuLngsc1thXSk7bD49MCYmbDw9aSYmby5wdXNoKHNbYV0pfWNvbnN0IGw9ZCh0LngsZS54LG4ueCwwKS5jb25jYXQoZCh0LngsZS54LG4ueCxpKSk7Zm9yKGxldCBpPTA7aTxsLmxlbmd0aDtpKyspe2NvbnN0IHM9dSh0LnksZS55LG4ueSxsW2ldKTtzPj0wJiZzPD1hJiZvLnB1c2gobFtpXSl9cmV0dXJuIG99KHQsZSxuLGksYSkuZmlsdGVyKCh0PT50PjEpKS5zb3J0KCgodCxlKT0+dC1lKSk7ZS54Pj0wJiZlLng8PWkmJmUueT49MCYmZS55PD1hJiZzLnVuc2hpZnQoMSk7Y29uc3QgbD0zL28scj1bXTtmb3IobGV0IGk9MDtpPHMubGVuZ3RoLTE7aSs9Mil7bGV0IGE9bCxvPXNbaV0saD1zW2krMV0rYTtjb25zdCBkPVtdO2Zvcig7bzw9aDspe2NvbnN0IGk9dC5zY2FsZWQoKDEtbykqKDEtbykpLHM9bi5zY2FsZWQoMipvKigxLW8pKSxsPWUuc2NhbGVkKG8qbykscj1pLmFkZChzKS5hZGQobCk7aWYoZC5sZW5ndGg+MCl7ZFtkLmxlbmd0aC0xXS5zdWJ0cmFjdChyKS5sZW5ndGgoKTwyJiYoaCs9YSxhKj0yKX1kLnB1c2gociksbys9YX1kLmxlbmd0aD4wJiZyLnB1c2goZCl9cmV0dXJuIHJ9ZnVuY3Rpb24gZCh0LGUsbixpKXtjb25zdCBhPVtdLG89dC0yKm4rZSxzPTIqbi0yKnQsbD10LWk7aWYoTWF0aC5hYnMobyk+MWUtOCl7Y29uc3QgdD1zKnMtNCpvKmw7dD49MCYmKGEucHVzaCgoLXMrTWF0aC5zcXJ0KHQpKS8oMipvKSksYS5wdXNoKCgtcy1NYXRoLnNxcnQodCkpLygyKm8pKSl9ZWxzZSBhLnB1c2goLWwvcyk7cmV0dXJuIGF9ZnVuY3Rpb24gdSh0LGUsbixpKXtyZXR1cm4oMS1pKSooMS1pKSp0KzIqKDEtaSkqaSpuK2kqaSplfSFmdW5jdGlvbih0KXt0W3QuTWF4SGl0VGVzdFNlZ21lbnRzPTUwXT0iTWF4SGl0VGVzdFNlZ21lbnRzIn0oaXx8KGk9e30pKX0sNzE2MDIxKHQsZSxuKXtuLmQoZSx7aW50ZXJzZWN0TGluZVdpdGhWaWV3cG9ydDooKT0+c30pO3ZhciBpPW4oNzM2NTMxKTtmdW5jdGlvbiBhKHQsZSxuKXtyZXR1cm4gdD49ZSYmdDw9bj90Om51bGx9ZnVuY3Rpb24gbyh0LGUsbixpKXtyZXR1cm4gTWF0aC5zaWduKHQueC1lLngpPT09TWF0aC5zaWduKG4ueC1pLngpJiZNYXRoLnNpZ24odC55LWUueSk9PT1NYXRoLnNpZ24obi55LWkueSl9ZnVuY3Rpb24gcyh0LGUsbixzLGwscixoKXtjb25zdCBkPXQueD49MCYmdC54PD1sJiZ0Lnk+PTAmJnQueTw9cix1PWUueD49MCYmZS54PD1sJiZlLnk+PTAmJmUueTw9cjtpZihkJiZ1JiYhbiYmIXMpcmV0dXJuW3QsZV07aWYodC54PDAmJmUueDwwJiYodC54PGUueD8hczohbil8fHQueD5sJiZlLng+bCYmKHQueDxlLng/IW46IXMpfHx0Lnk8MCYmZS55PDAmJih0Lnk8ZS55PyFzOiFuKXx8dC55PnImJmUueT5yJiYodC55PGUueT8hbjohcykpcmV0dXJuIG51bGw7Y29uc3QgYz1bXTtpZih0Lng9PT1lLngpe2lmKHQueDwwfHx0Lng+bClyZXR1cm4gbnVsbDt0Lnk8ZS55P2MucHVzaChuZXcgaS5Qb2ludCh0LngsMD09PWg/MDp0Lnk8MD90LnklaDotKGgtdC55JWgpKSxuZXcgaS5Qb2ludChlLngscikpOmMucHVzaChuZXcgaS5Qb2ludCh0LngsMD09PWg/cjp0Lnk+cj9yKyh0LnktciklaDpyKyhoLShyLXQueSklaCkpLG5ldyBpLlBvaW50KGUueCwwKSl9ZWxzZSBpZih0Lnk9PT1lLnkpe2lmKHQueTwwfHx0Lnk+cilyZXR1cm4gbnVsbAo7dC54PGUueD9jLnB1c2gobmV3IGkuUG9pbnQoMD09PWg/MDp0Lng8MD90LnglaDotKGgtdC54JWgpLHQueSksbmV3IGkuUG9pbnQobCxlLnkpKTpjLnB1c2gobmV3IGkuUG9pbnQoMD09PWg/bDp0Lng+bD9sKyh0LngtbCklaDpsKyhoLShsLXQueCklaCksdC55KSxuZXcgaS5Qb2ludCgwLGUueSkpfWVsc2V7Y29uc3Qgbz0oZS55LXQueSkvKGUueC10LngpLHM9dC55LW8qdC54O2xldCBkPTAsdT0wO2NvbnN0IHg9YShzLDAscik7aWYobnVsbCE9PXgpaWYoaD4wJiYodC54PD0wfHxuJiZ0Lng8ZS54KSl7Y29uc3QgZT10Lng8PTA/TWF0aC5zcXJ0KE1hdGgucG93KDAtdC54LDIpK01hdGgucG93KHgtdC55LDIpKSVoOmgtTWF0aC5zcXJ0KE1hdGgucG93KDAtdC54LDIpK01hdGgucG93KHgtdC55LDIpKSVoO2Q9TWF0aC5jb3MoTWF0aC5hdGFuKG8pKSplLHU9bypkLGMucHVzaChuZXcgaS5Qb2ludCgtZCx4LXUpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludCgwLHgpKTtjb25zdCBwPWEobypsK3MsMCxyKTtpZihudWxsIT09cClpZihoPjAmJih0Lng+PWx8fG4mJnQueD5lLngpKXtjb25zdCBlPXQueD49bD9NYXRoLnNxcnQoTWF0aC5wb3codC54LWwsMikrTWF0aC5wb3codC55LXAsMikpJWg6aC1NYXRoLnNxcnQoTWF0aC5wb3codC54LWwsMikrTWF0aC5wb3codC55LXAsMikpJWg7ZD1NYXRoLmNvcyhNYXRoLmF0YW4obykpKmUsdT1vKmQsYy5wdXNoKG5ldyBpLlBvaW50KGwrZCxwK3UpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludChsLHApKTtjb25zdCB5PWEoLXMvbywwLGwpO2lmKG51bGwhPT15JiYoMCE9PXl8fDAhPT14KSlpZihoPjAmJih0Lnk8PTB8fG4mJnQueTxlLnkpKXtjb25zdCBlPXQueTw9MD9NYXRoLnNxcnQoTWF0aC5wb3codC54LXksMikrTWF0aC5wb3codC55LTAsMikpJWg6aC1NYXRoLnNxcnQoTWF0aC5wb3codC54LXksMikrTWF0aC5wb3codC55LTAsMikpJWg7ZD1NYXRoLmNvcyhNYXRoLmF0YW4obykpKmUsdT1vKmQsYy5wdXNoKG5ldyBpLlBvaW50KHktTWF0aC5zaWduKG8pKmQsLU1hdGguc2lnbihvKSp1KSl9ZWxzZSBjLnB1c2gobmV3IGkuUG9pbnQoeSwwKSk7Y29uc3QgZj1hKChyLXMpL28sMCxsKTtpZihudWxsIT09ZiYmKDAhPT1mfHxwIT09cikpaWYoaD4wJiYodC55Pj1yfHxuJiZ0Lnk+ZS55KSl7Y29uc3QgZT10Lnk+PXI/TWF0aC5zcXJ0KE1hdGgucG93KHQueC1mLDIpK01hdGgucG93KHQueS1yLDIpKSVoOmgtTWF0aC5zcXJ0KE1hdGgucG93KHQueC1mLDIpK01hdGgucG93KHQueS1yLDIpKSVoO2Q9TWF0aC5jb3MoTWF0aC5hdGFuKG8pKSplLHU9bypkLGMucHVzaChuZXcgaS5Qb2ludChmK01hdGguc2lnbihvKSpkLHIrTWF0aC5zaWduKG8pKnUpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludChmLHIpKX1pZihjLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKGMubGVuZ3RoPDImJmMucHVzaChjWzBdKSwhbiYmZCl7cmV0dXJuW3QsbyhjWzBdLGNbMV0sdCxlKT9jWzFdOmNbMF1dfWlmKCFzJiZ1KXtyZXR1cm5bbyhjWzBdLGNbMV0sdCxlKT9jWzBdOmNbMV0sZV19cmV0dXJuIG8oY1swXSxjWzFdLHQsZSk/W2NbMF0sY1sxXV06W2NbMV0sY1swXV19fSw1NzI3OTYodCxlLG4pe24uZChlLHtQYXJhbGxlbENoYW5uZWxSZW5kZXJlcjooKT0+eX0pO3ZhciBpPW4oNzM3MzcxKSxhPW4oNzY4MzA1KSxvPW4oNzM2NTMxKSxzPW4oNzAwNzQpLGw9bigzNTE5MDApLHI9bigyNjA2OSksaD1uKDc2MyksZD1uKDYwNDIxNCksdT1uKDc4NjQzNiksYz1uKDcxNjAyMSkseD1uKDE1MTIxKSxwPW4oOTM0MzA1KTtjbGFzcyB5IGV4dGVuZHMgcC5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5fZGF0YT1udWxsLHRoaXMuX2JhY2tncm91bmRQb2x5Z29uPW51bGwsdGhpcy5fY2xpcHBlZExpbmVzPW5ldyBNYXAsdGhpcy5faGl0dGVzdFJlc3VsdD10fHxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0Lk1vdmVQb2ludCksdGhpcy5fYmFja0hpdHRlc3RSZXN1bHQ9ZXx8bmV3IGguSGl0VGVzdFJlc3VsdChoLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kKX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dCx0aGlzLl9iYWNrZ3JvdW5kUG9seWdvbj1udWxsLHRoaXMuX2NsaXBwZWRMaW5lcy5jbGVhcigpfWhpdFRlc3QodCxlKXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm4gbnVsbDtjb25zdHtsaW5lMTpuLGxpbmUyOmksbWlkZGxlTGluZTpvfT10aGlzLl9kYXRhLGw9ZS5tZWRpYVNpemUscj0oMCxkLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmU7Zm9yKGNvbnN0IGUgb2ZbbixpLG9dKXtpZighZSljb250aW51ZTtjb25zdCBuPXRoaXMuX2dldENsaXBwZWRMaW5lKGUsdGhpcy5fZGF0YSxsKTtpZihuKXtpZigoMCxzLmRpc3RhbmNlVG9TZWdtZW50KShuLnBvaW50c1swXSxuLnBvaW50c1sxXSx0KS5kaXN0YW5jZTw9cilyZXR1cm4gdGhpcy5faGl0dGVzdFJlc3VsdH19aWYodGhpcy5fZGF0YS5oaXR0ZXN0T25CYWNrZ3JvdW5kJiZ0aGlzLl9kYXRhLmZpbGxCYWNrZ3JvdW5kKXtjb25zdCBlPXRoaXMuX2dldEJhY2tncm91bmRQb2x5Z29uKHRoaXMuX2RhdGEsbCk7aWYoZS5sZW5ndGg+MCYmKDAsYS5wb2ludEluUG9seWdvbikodCxlKSlyZXR1cm4gdGhpcy5fYmFja0hpdHRlc3RSZXN1bHR9cmV0dXJuIG51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdHtsaW5lMTplLGxpbmUyOm4sbWlkZGxlTGluZTppLHNraXBMaW5lczphLHNraXBUb3BMaW5lOm8sZmlsbEJhY2tncm91bmQ6cyxiYWNrQ29sb3I6bH09dGhpcy5fZGF0YSxyPXQuY29udGV4dDtyLmxpbmVDYXA9InJvdW5kIjtjb25zdCBoPXRoaXMuX2RhdGE7aWYocyYmbil7Y29uc3QgZT10aGlzLl9nZXRCYWNrZ3JvdW5kUG9seWdvbih0aGlzLl9kYXRhLHQubWVkaWFTaXplKTtpZihlLmxlbmd0aD4wKXtyLmJlZ2luUGF0aCgpO3tjb25zdCBuPWVbMF0ueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGk9ZVswXS55KnQudmVydGljYWxQaXhlbFJhdGlvO3IubW92ZVRvKG4saSl9Zm9yKGxldCBuPTE7bjxlLmxlbmd0aDtuKyspewpjb25zdCBpPWVbbl0ueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGE9ZVtuXS55KnQudmVydGljYWxQaXhlbFJhdGlvO3IubGluZVRvKGksYSl9ci5maWxsU3R5bGU9bCxyLmZpbGwoKX19dm9pZCAwIT09aC5leGNsdWRlQm91bmRhcmllcyYmKHIuc2F2ZSgpLCgwLHguYWRkRXhjbHVzaW9uQXJlYSkocix0LGguZXhjbHVkZUJvdW5kYXJpZXMpKSxhfHx0aGlzLl9kcmF3TGluZSh0LGUsdGhpcy5fZGF0YSksYXx8b3x8IW58fHRoaXMuX2RyYXdMaW5lKHQsbix0aGlzLl9kYXRhKSxpJiYhdGhpcy5fZGF0YS5za2lwTGluZXMmJnRoaXMuX2RyYXdMaW5lKHQsaSx0aGlzLl9kYXRhKSx2b2lkIDAhPT1oLmV4Y2x1ZGVCb3VuZGFyaWVzJiZyLnJlc3RvcmUoKX1fZHJhd0xpbmUodCxlLG4pe2NvbnN0IGk9dGhpcy5fZ2V0Q2xpcHBlZExpbmUoZSxuLHQubWVkaWFTaXplKTtpZighaSlyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5zdHJva2VTdHlsZT1pLmNvbG9yLGEubGluZVdpZHRoPWEubGluZVdpZHRoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpLmxpbmVXaWR0aCp0Lmhvcml6b250YWxQaXhlbFJhdGlvKSksYS5saW5lQ2FwPWkubGluZVN0eWxlPT09ci5MSU5FU1RZTEVfU09MSUQ/InJvdW5kIjoiYnV0dCIsKDAsdS5zZXRMaW5lU3R5bGUpKGEsaS5saW5lU3R5bGUpLGEuc3Ryb2tlU3R5bGU9aS5jb2xvcjtjb25zdFtvLHNdPWkucG9pbnRzLGw9by54KnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8saD1vLnkqdC52ZXJ0aWNhbFBpeGVsUmF0aW8sZD1zLngqdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyxjPXMueSp0LnZlcnRpY2FsUGl4ZWxSYXRpbzsoMCx1LmRyYXdQaXhlbFBlcmZlY3RMaW5lKShhLGwsaCxkLGMpfV9nZXRDbGlwcGVkTGluZSh0LGUsbil7bGV0IGE9dGhpcy5fY2xpcHBlZExpbmVzLmdldCh0KTtpZih2b2lkIDA9PT1hKXtjb25zdHtsaW5lV2lkdGg6byxsaW5lU3R5bGU6cyxwb2ludHM6W2wscl19PXQ7bGV0IGg9ITEsZD0hMTtsLnghPT1yLngmJih7ZXh0ZW5kTGVmdDpoLGV4dGVuZFJpZ2h0OmR9PWUpO2NvbnN0IHg9KDAsYy5pbnRlcnNlY3RMaW5lV2l0aFZpZXdwb3J0KShsLHIsaCxkLG4ud2lkdGgsbi5oZWlnaHQsKDAsaS5kZWZhdWx0KSgoMCx1LmNvbXB1dGVEYXNoUGF0dGVybikobyxzKSkpO2E9bnVsbD09eD9udWxsOnsuLi50LHBvaW50czp4fSx0aGlzLl9jbGlwcGVkTGluZXMuc2V0KHQsYSl9cmV0dXJuIGF9X2dldEJhY2tncm91bmRQb2x5Z29uKHQsZSl7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRQb2x5Z29ufHwodGhpcy5fYmFja2dyb3VuZFBvbHlnb249dGhpcy5fZ2V0QmFja2dyb3VuZFBvbHlnb25JbXBsKHQsZSk/P1tdKSx0aGlzLl9iYWNrZ3JvdW5kUG9seWdvbn1fZ2V0QmFja2dyb3VuZFBvbHlnb25JbXBsKHQsZSl7aWYodm9pZCAwPT09dC5saW5lMilyZXR1cm4gbnVsbDtjb25zdFtuLGldPXQubGluZTEucG9pbnRzLFthLGxdPXQubGluZTIucG9pbnRzO2lmKCgwLG8uZXF1YWxQb2ludHMpKG4saSl8fCgwLG8uZXF1YWxQb2ludHMpKGEsbCl8fCgwLHMuZGlzdGFuY2VUb0xpbmUpKG4saSxhKS5kaXN0YW5jZTwxZS02fHwoMCxzLmRpc3RhbmNlVG9MaW5lKShuLGksbCkuZGlzdGFuY2U8MWUtNilyZXR1cm4gbnVsbDtpZihlLndpZHRoPD0wfHxlLmhlaWdodDw9MClyZXR1cm4gbnVsbDtsZXQgcj1bbmV3IG8uUG9pbnQoMCwwKSxuZXcgby5Qb2ludChlLndpZHRoLDApLG5ldyBvLlBvaW50KGUud2lkdGgsZS5oZWlnaHQpLG5ldyBvLlBvaW50KDAsZS5oZWlnaHQpXTtyZXR1cm4gcj1mKHIsbixpLGwpLHQuZXh0ZW5kUmlnaHR8fChyPWYocixpLGwsYSkpLHI9ZihyLGwsYSxuKSx0LmV4dGVuZExlZnR8fChyPWYocixhLG4saSkpLHJ9fWZ1bmN0aW9uIGYodCxlLG4saSl7cmV0dXJuIG51bGwhPT10PygwLGwuaW50ZXJzZWN0UG9seWdvbkFuZEhhbGZwbGFuZSkodCwoMCxvLmhhbGZwbGFuZVRocm91Z2hQb2ludCkoKDAsby5saW5lVGhyb3VnaFBvaW50cykoZSxuKSxpKSk6bnVsbH19LDU0MDg0NSh0LGUsbil7bi5kKGUse1ZlcnRpY2FsTGluZVJlbmRlcmVyOigpPT5yfSk7dmFyIGk9big3NjMpLGE9big3ODY0MzYpLG89big2MDQyMTQpLHM9bigxNTEyMSksbD1uKDkzNDMwNSk7Y2xhc3MgciBleHRlbmRzIGwuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9oaXRUZXN0PW5ldyBpLkhpdFRlc3RSZXN1bHQoaS5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dH1zZXRIaXRUZXN0KHQpe3RoaXMuX2hpdFRlc3Q9dH1oaXRUZXN0KHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHxudWxsPT09dGhpcy5faGl0VGVzdClyZXR1cm4gbnVsbDtjb25zdCBlPSgwLG8uaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkubGluZSxuPU1hdGguYWJzKHQueC10aGlzLl9kYXRhLngpPD1lK3RoaXMuX2RhdGEubGluZXdpZHRoLzIsaT12b2lkIDA9PT10aGlzLl9kYXRhLnRvcHx8dGhpcy5fZGF0YS50b3AtdC55PD1lLGE9dm9pZCAwPT09dGhpcy5fZGF0YS5ib3R0b218fHQueS10aGlzLl9kYXRhLmJvdHRvbTw9ZTtyZXR1cm4gbiYmaSYmYT90aGlzLl9oaXRUZXN0Om51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHx0aGlzLl9kYXRhLmxpbmV3aWR0aDw9MClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOmksbWVkaWFTaXplOm99PXQ7aWYodGhpcy5fZGF0YS54PC10aGlzLl9kYXRhLmxpbmV3aWR0aC8yfHx0aGlzLl9kYXRhLng+by53aWR0aCt0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKXJldHVybjtlLmxpbmVDYXA9ImJ1dHQiLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fZGF0YS5saW5ld2lkdGgqbikpLHZvaWQgMCE9PXRoaXMuX2RhdGEubGluZXN0eWxlJiYoMCxhLnNldExpbmVTdHlsZSkoZSx0aGlzLl9kYXRhLmxpbmVzdHlsZSkKO2NvbnN0IGw9dm9pZCAwIT09dGhpcy5fZGF0YS50b3A/TWF0aC5tYXgodGhpcy5fZGF0YS50b3AsMCk6MCxyPXZvaWQgMCE9PXRoaXMuX2RhdGEuYm90dG9tP01hdGgubWluKHRoaXMuX2RhdGEuYm90dG9tLG8uaGVpZ2h0KTpvLmhlaWdodCxoPU1hdGgucm91bmQodGhpcy5fZGF0YS54Km4pLGQ9TWF0aC5mbG9vcihsKmkpLHU9TWF0aC5jZWlsKHIqaSksYz10aGlzLl9kYXRhLmV4Y2x1ZGVCb3VuZGFyaWVzO3ZvaWQgMCE9PWMmJigwLHMuYWRkRXhjbHVzaW9uQXJlYUJ5U2NvcGUpKHQsYyksKDAsYS5kcmF3VmVydGljYWxMaW5lKShlLGgsZCx1KX19fSw3NDIxNDIodCxlLG4pe24uZChlLHtwcmVwYXJlTGluZWFyUmVncmVzc2lvblJlbmRlcmVyc0RhdGE6KCk9Pmh9KTt2YXIgaT1uKDEzODYzOCksYT1uKDczNjUzMSksbz1uKDg4NDI4KSxzPW4oNjYwMTYxKSxsPW4oOTI2MTQ5KSxyPW4oMTY4MjU4KTtmdW5jdGlvbiBoKHQsZSl7Y29uc3Qgbj17bGluZXM6W10scGVhcnNvbnM6bnVsbH07aWYoIWUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4gbjtjb25zdCBoPXQudGltZVNjYWxlKCksZD1lLnByaWNlU2NhbGUoKSx1PXQubWFpblNlcmllcygpLmZpcnN0QmFyKCk7aWYoIWR8fGQuaXNFbXB0eSgpfHxoLmlzRW1wdHkoKXx8IXUpcmV0dXJuIG47Y29uc3QgYz1lLnN0YXJ0SW5kZXgoKSx4PWUuZW5kSW5kZXgoKTtpZihudWxsPT09Y3x8bnVsbD09PXgpcmV0dXJuIG47Y29uc3QgcD1bZS5iYXNlTGluZSgpLGUuZG93bkxpbmUoKSxlLnVwTGluZSgpXSx5PU1hdGgucm91bmQoaC5pbmRleFRvQ29vcmRpbmF0ZShjKSksZj1NYXRoLnJvdW5kKGguaW5kZXhUb0Nvb3JkaW5hdGUoeCkpLGc9ZS5wcm9wZXJ0aWVzKCksXz1bZy5zdHlsZXMuYmFzZUxpbmUsZy5zdHlsZXMuZG93bkxpbmUsZy5zdHlsZXMudXBMaW5lXSx3PXVbNF07Zm9yKGxldCB0PTA7dDxwLmxlbmd0aDt0Kyspe2lmKChfW3RdLmRpc3BsYXkudmFsdWUoKSZyLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSkhPT1yLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSljb250aW51ZTtjb25zdCBlPSgwLGkuZW5zdXJlTm90TnVsbCkocFt0XSkuc3RhcnRQcmljZSxvPSgwLGkuZW5zdXJlTm90TnVsbCkocFt0XSkuZW5kUHJpY2U7aWYodm9pZCAwPT09ZXx8dm9pZCAwPT09byljb250aW51ZTtjb25zdCBsPWQucHJpY2VUb0Nvb3JkaW5hdGUoZSx3KSxoPWQucHJpY2VUb0Nvb3JkaW5hdGUobyx3KSx1PXtwb2ludHM6W25ldyBhLlBvaW50KHksbCksbmV3IGEuUG9pbnQoZixoKV0sY29sb3I6X1t0XS5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpfW3RdLmxpbmV3aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpfW3RdLmxpbmVzdHlsZS52YWx1ZSgpLGV4dGVuZGxlZnQ6ITEsZXh0ZW5kcmlnaHQ6Zy5zdHlsZXMuZXh0ZW5kTGluZXMudmFsdWUoKSxsZWZ0ZW5kOnMuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6cy5MaW5lRW5kLk5vcm1hbH07bi5saW5lcy5wdXNoKHUpfWNvbnN0IFA9KDAsaS5lbnN1cmVOb3ROdWxsKShlLmRvd25MaW5lKCkpO2lmKGcuc3R5bGVzLnNob3dQZWFyc29ucy52YWx1ZSgpJiZ2b2lkIDAhPT1QLnN0YXJ0UHJpY2Upe2NvbnN0IHQ9ZC5wcmljZVRvQ29vcmRpbmF0ZShQLnN0YXJ0UHJpY2UsdyksaT1uZXcgYS5Qb2ludCh5LHQpO24ucGVhcnNvbnM9e3BvaW50czpbaV0sdGV4dDoiIitlLnBlYXJzb25zKCksY29sb3I6Zy5zdHlsZXMuZG93bkxpbmUuY29sb3IudmFsdWUoKSx2ZXJ0QWxpZ246by5WZXJ0aWNhbEFsaWduLlRvcCxob3J6QWxpZ246by5Ib3Jpem9udGFsQWxpZ24uQ2VudGVyLGZvbnQ6bC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLG9mZnNldFg6MCxvZmZzZXRZOjQsZm9udHNpemU6MTJ9fXJldHVybiBufX0sNzM3MzcxKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+b30pO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saT0tMSxhPXQubGVuZ3RoOysraTxhOyl7dmFyIG89ZSh0W2ldKTt2b2lkIDAhPT1vJiYobj12b2lkIDA9PT1uP286bitvKX1yZXR1cm4gbn07dmFyIGE9bigyMzI4NTQpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubGVuZ3RoP2kodCxhLmRlZmF1bHQpOjB9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/onpagescroll.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.219Z","timestamp":1785124875219,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/onpagescroll.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:43:38 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b7a-52e\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":1326,"size_decoded":848,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"0c417794093f9ef1d4987a84556aab11","sha1":"4714257b5e7aa42f60276ae8dcbe329c23096f62","sha256":"6b9d4b1a08ecad738256c58b0a3dade19634c9c54a2f977f36685d99d32c78ce","sha512":"a0b5b83dbdf4d3574904686b07938c25c53938ff1c7515615b5661c399790e4b6281b2936418426827101acb2c7dc13a7dbc2a5655563ad3afbba849c0df40c3","ssdeep":"","tlshash":"6121e300b922b22ad47972398f5f616cde2a54079705d510749c8ca93fb03f545f6edb","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.116756Z","times_seen":22,"resource_available":true,"data":"dmFyIGxhc3RJZCwNCnRvcE1lbnUgPSAkKCJuYXYub25lcGFnZSwgLmZvb3Rlci1tZW51Lm9uZXBhZ2UiKSwNCnRvcE1lbnVIZWlnaHQgPSAkKCJoZWFkZXIiKS5oZWlnaHQoKTsNCm1lbnVJdGVtcyA9IHRvcE1lbnUuZmluZCgiYSIpLA0Kc2Nyb2xsSXRlbXMgPSBtZW51SXRlbXMubWFwKGZ1bmN0aW9uKCl7DQogIHZhciBpdGVtID0gJCgkKHRoaXMpLmF0dHIoImhyZWYiKSk7DQogIGlmIChpdGVtLmxlbmd0aCkgeyByZXR1cm4gaXRlbTsgfQ0KfSk7DQoNCm1lbnVJdGVtcy5jbGljayhmdW5jdGlvbihlKXsNCiAgdmFyIGhyZWYgPSAkKHRoaXMpLmF0dHIoImhyZWYiKSwNCiAgb2Zmc2V0VG9wID0gaHJlZiA9PT0gIiMiID8gMCA6ICQoaHJlZikub2Zmc2V0KCkudG9wLXRvcE1lbnVIZWlnaHQrMTsNCiAgJCgnaHRtbCwgYm9keScpLnN0b3AoKS5hbmltYXRlKHsNCiAgICBzY3JvbGxUb3A6IG9mZnNldFRvcA0KfSwgOTAwKTsNCiAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KfSk7DQoNCiQod2luZG93KS5zY3JvbGwoZnVuY3Rpb24oKXsNCiAgIHZhciBmcm9tVG9wID0gJCh0aGlzKS5zY3JvbGxUb3AoKSt0b3BNZW51SGVpZ2h0Ow0KICAgdmFyIGN1ciA9IHNjcm9sbEl0ZW1zLm1hcChmdW5jdGlvbigpew0KICAgaWYgKCQodGhpcykub2Zmc2V0KCkudG9wIDwgZnJvbVRvcCkNCiAgICAgICAgIHJldHVybiB0aGlzOw0KIH0pOw0KICAgY3VyID0gY3VyW2N1ci5sZW5ndGgtMV07DQogICB2YXIgaWQgPSBjdXIgJiYgY3VyLmxlbmd0aCA/IGN1clswXS5pZCA6ICIiOw0KDQogICBpZiAobGFzdElkICE9PSBpZCkgew0KICAgICAgIGxhc3RJZCA9ICQoKTsNCiAgICAgICBtZW51SXRlbXMNCiAgICAgICAucGFyZW50KCkucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpDQogICAgICAgLmVuZCgpLmZpbHRlcigiW2hyZWY9IyIraWQrIl0iKS5wYXJlbnQoKS5hZGRDbGFzcygiYWN0aXZlIik7DQogICB9DQoNCiAgIC8vICBpZigkKHdpbmRvdykuc2Nyb2xsVG9wKCkgKyAkKHdpbmRvdykuaGVpZ2h0KCkgPiAkKGRvY3VtZW50KS5oZWlnaHQoKSAtIDEpIHsNCiAgIC8vICAgICAkKCJuYXYgbGkiKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7DQogICAvLyAgICAgJCgibmF2IGxpOmxhc3QiKS5hZGRDbGFzcygiYWN0aXZlIik7DQogICAvLyB9DQoNCiAgJCh3aW5kb3cpLnNjcm9sbChmdW5jdGlvbigpew0KICAgaWYoJCh3aW5kb3cpLnNjcm9sbFRvcCgpID4gdG9wTWVudUhlaWdodCl7DQogICAgICQoImhlYWRlciIpLmFkZENsYXNzKCdmaXhlZCcpOw0KICAgIH1lbHNlew0KICAgICAkKCJoZWFkZXIiKS5yZW1vdmVDbGFzcygnZml4ZWQnKTsNCiB9DQp9KTsNCg0KfSk7"}},"time_used":64,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":64,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.650Z","timestamp":1785124876650,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.49677.098688b37f7855b4c79b.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-32e7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 650524c0ad63db49e69eab22d5289d83\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13031,"size_decoded":5445,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3051)","md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-27T06:24:31.56407Z","times_seen":74,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNzI5Miw0MjA5Niw0OTUwMSw0OTY3Nyw5NDk0N10sezIyOTAyNShlKXtlLmV4cG9ydHM9WyJDYm9lIE9uZSJdfSwzMDAyNzEoZSl7ZS5leHBvcnRzPVsie2V4Y2hhbmdlfSBieSB7b3JpZ2luYWxFeGNoYW5nZX0iXX0sMTY3OTEyKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIGRpc2NsYWltZXIiXX0sMjQ0MTAoZSl7ZS5leHBvcnRzPVsiSGFwcHkgaG9saWRheXMsIHRyYWRlcnMiXX0sOTgxODcyKGUpe2UuZXhwb3J0cz1bIkxldCBpdCBzbm93Il19LDQ4OTIwMChlKXtlLmV4cG9ydHM9WyJTdG9wIHRoZSBzbm93Il19LDMwNTA1NShlKXtlLmV4cG9ydHM9WyJTaG93IG9iamVjdCB0cmVlIl19LDEwOTYwMShlKXtlLmV4cG9ydHM9WyJMZWFybiBtb3JlIl19LDEzODE4MChlKXtlLmV4cG9ydHM9WyJTZWUgcmV2aWV3cyJdfSw4OTQyMjEoZSl7ZS5leHBvcnRzPVsiQ29udGludW91cyBmdXR1cmVzIGNvbnRyYWN0cyJdfSwyNzE3ODgoZSl7ZS5leHBvcnRzPVsiQ29udHJhY3QgZXhwaXJlZCJdfSw1MjYxNzQoZSl7ZS5leHBvcnRzPVsiQmxhbmsgY2hlY2sgY29tcGFueSJdfSwzMzM4ODQoZSl7ZS5leHBvcnRzPVsiRGVmYXVsdGVkIGJvbmQiXX0sNTY4NTUxKGUpe2UuZXhwb3J0cz1bIkRlbGlzdGVkIl19LDc1NjgwNihlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCBhbGVydCJdfSwxNjM4MDYoZSl7ZS5leHBvcnRzPVsiRGVyaXZlZCBEYXRhIl19LDQxNzkxKGUpe2UuZXhwb3J0cz1bIkhhbGFsIHN5bWJvbCJdfSw4MzYxMjMoZSl7ZS5leHBvcnRzPVsiU3ludGhldGljIHN5bWJvbCJdfSwxMTk1KGUpe2UuZXhwb3J0cz1bIlVwY29taW5nIElQTyJdfSwyMzIxNDkoZSl7ZS5leHBvcnRzPVsiUmVhbC10aW1lIGRhdGEgZm9yIHtzeW1ib2xOYW1lfSJdfSw0MDkwMTkoZSl7ZS5leHBvcnRzPVsiaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sOTAwNDI1KGUpe2UuZXhwb3J0cz1bIkdvIHRoZXJlIG5vdyJdfSwyOTQ2MTgoZSl7ZS5leHBvcnRzPVsiT3BlbmVkIGluIFBpbmUgRWRpdG9yIl19LDc3NDI4KGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBib3R0b20gcGFuZWwiXX0sOTkyNjM2KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sNDczNDI1KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgZGVsYXllZCJdfSw0MzU3NTAoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHNlbGVjdGVkIHN5bWJvbHM/Il19LDgyNjg3MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgYWxsIHN5bWJvbHM/Il19LDQxNzE5MShlKXtlLmV4cG9ydHM9WyJVbmZsYWcgc2VsZWN0ZWQgc3ltYm9scz8iXX0sMzA5MzMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDEwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sODM1OTM3KGUpe2UuZXhwb3J0cz1bIlVuZmxhZyJdfSwzNzE4MTUoZSl7ZS5leHBvcnRzPVsiT3BlbiBTdHJhdGVneSBSZXBvcnQiXX0sNjUxNjM4KGUpe2UuZXhwb3J0cz1bIk5ldyB3YXRjaGxpc3QgbmFtZSJdfSw4MTkxNjMoZSl7ZS5leHBvcnRzPVsiSW4gZnVuY3Rpb24iXX0sODg2MTMzKGUpe2UuZXhwb3J0cz1bIk9uIGJhciJdfSw4OTAwOShlKXtlLmV4cG9ydHM9WyJDb2xsYXBzZSBwYW5lIl19LDI3MjA3NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0IHRvIG91ciByZWNvbW1lbmRlZCBicm9rZXIgdG8gdHJhZGUgdGhpcyBhbmQgb3RoZXIgc3ltYm9scy4iXX0sNDQxNzYwKGUpe2UuZXhwb3J0cz1bIkNvbm5lY3QgdG8gb3VyIHJlY29tbWVuZGVkIGV4Y2hhbmdlIHRvIHRyYWRlIHRoaXMgYW5kIG90aGVyIHN5bWJvbHMuIl19LDI2NjUoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHN5bWJvbCJdfSw0MjEyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIl19LDU3MzM0NyhlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggZHJvcCBpY29uIl19LDYxNTIyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggaGVhcnQgaWNvbiJdfSw3NjA1KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBsZWFmIGljb24iXX0sOTIzOTA5KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBwb28gaWNvbiJdfSw0NzkwNzgoZSl7ZS5leHBvcnRzPVsiQ2hhcnQgc3luY2luZyB3aXRoIHJob21iIGljb24iXX0sMjg4NTgwKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHZhbHVlcyJdfSwxODMxMzIoZSl7ZS5leHBvcnRzPVsiQ2hlY2sgd2hhdCdzIG5ldyJdfSwzNDk1MDEoZSl7ZS5leHBvcnRzPVsiQ2xpY2sgaGVyZSB0byBsZWFybiBtb3JlIl19LDI5OTkyNihlKXtlLmV4cG9ydHM9WyJDcmVhdGUgYSBmcmVlIGFjY291bnQiXX0sMTQ2ODQoZSl7ZS5leHBvcnRzPVsiQ3lhbiJdfSw4MzkzOTAoZSl7ZS5leHBvcnRzPVsiQ3lhbiBsaXN0Il19LDUzMzc5OShlKXtlLmV4cG9ydHM9WyJBIG5ldyB2ZXJzaW9uIG9mIHRoaXMgc2NyaXB0IGlzIHJlYWR5IOKAlCBub3cgd2l0aCBuZXcgZmVhdHVyZXMgYW5kIGltcG9ydGFudCBidWcgZml4ZXMuIl19LDc1ODU0OShlKXtlLmV4cG9ydHM9WyJBY3RpdmUgc3RyYXRlZ3kiXX0sMjQ1ODcwKGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw4OTk3OShlKXtlLmV4cG9ydHM9WyJCYXIgY2hhbmdlIHZhbHVlcyJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSw2ODI2NjkoZSl7ZS5leHBvcnRzPVsiR3JlZW4iXX0sNDU5NDAyKGUpe2UuZXhwb3J0cz1bIkdyZWVuIGxpc3QiXX0sMTQ4ODY1KGUpe2UuZXhwb3J0cz1bIkRvdWJsZSBjbGljayJdfSw5NTg5NTEoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBhbGwgc3ltYm9scyBmcm9tIGFsbCB5b3VyIHdhdGNobGlzdHMuIl19LDQ5NTM2OShlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgdW5mbGFnIHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sMjI4MDQxKGUpe2UuZXhwb3J0cz1bIkRhdGEgZXJyb3IiXX0sMTg3MjcyKGUpewplLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBhIGRheS4iXX0sMjI3MDg4KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGEgZGF5LiBUbyBnZXQgcmVhbC10aW1lIGRhdGEgZm9yIHtsaXN0ZWRFeGNoYW5nZX0sIHBsZWFzZSBidXkgdGhlIHJlYWwtdGltZSBkYXRhIHBhY2thZ2UuIl19LDIzMzkxMihlKXtlLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBwZXIgc2Vjb25kLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4iXX0sODk1MzAwKGUpe2UuZXhwb3J0cz1bIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIHBlciBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSw4MzE5ODgoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIHBhbmUiXX0sNzk3NDYwKGUpe2UuZXhwb3J0cz1bIkVuZCBvZiBkYXkgZGF0YSJdfSw4NDA4MyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSB0aW1lem9uZSJdfSw4NjM4NzcoZSl7ZS5leHBvcnRzPVsiRmlsbCBvdXQgRXhjaGFuZ2UgQWdyZWVtZW50cyJdfSwzMDgzOShlKXtlLmV4cG9ydHM9WyJGbGFnIHtzeW1ib2x9Il19LDcwNjQ4NihlKXtlLmV4cG9ydHM9WyJGbGFnIHN5bWJvbCJdfSw0MDQ1NDQoZSl7ZS5leHBvcnRzPVsiRnJvbSBvdXIgZmFtaWx5IHRvIHlvdXJzLCB3aXNoaW5nIHlvdSBhIG1lcnJ5IGZlc3RpdmUgc2Vhc29uLiJdfSw0NTc3NTAoZSl7ZS5leHBvcnRzPVsiSEtFWCBhbmQvb3IgYW55IHN1YnNpZGlhcmllcyBlbmRlYXZvdXIgdG8gZW5zdXJlIHRoZSBhY2N1cmFjeSBhbmQgcmVsaWFiaWxpdHkgb2YgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ1dCBkbyBub3QgZ3VhcmFudGVlIGl0cyBhY2N1cmFjeSBvciByZWxpYWJpbGl0eSBhbmQgYWNjZXB0IG5vIGxpYWJpbGl0eSAod2hldGhlciBpbiB0b3J0IG9yIGNvbnRyYWN0IG9yIG90aGVyd2lzZSkgZm9yIGFueSBsb3NzIG9yIGRhbWFnZSBhcmlzaW5nIGZyb20gYW55IGluYWNjdXJhY2llcyBvciBvbWlzc2lvbnMuIl19LDczMjc3NihlKXtlLmV4cG9ydHM9WyJJbnZhbGlkIHN5bWJvbCJdfSw5MTkxMjEoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIGVycm9yIl19LDIwNDQ4OChlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgaW5wdXRzIl19LDQ0MzE5MihlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdGl0bGVzIl19LDk3Mzk3MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdmFsdWVzIl19LDI0MzU0MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIHVwZGF0ZSJdfSwxNjUwNTIoZSl7ZS5leHBvcnRzPVsiSWYgeW91J2QgbGlrZSB7bGlzdGVkRXhjaGFuZ2V9IHJlYWwtdGltZSBkYXRhIHlvdSdsbCBuZWVkIHRvIGNvbXBsZXRlIGFuIEV4Y2hhbmdlIEFncmVlbWVudC4gRG9uJ3Qgd29ycnksIGl0IG9ubHkgdGFrZXMgYSBmZXcgY2xpY2tzIl19LDg0MTc5OShlKXtlLmV4cG9ydHM9WyJJc3N1ZSBXaXRoIEZsYWdnaW5nIl19LDMzMDc2MChlKXtlLmV4cG9ydHM9WyJPbmUgdXBkYXRlIHBlciBzZWNvbmQiXX0sMzYyOTYoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBDbGljayB0aGUgYXJyb3cgYnV0dG9uIHRvIHRoZSBsZWZ0IHRvIGV4cGFuZCB0aGUgaW5kaWNhdG9yIGxpc3QgYW5kIHNlZSBkZXRhaWxzLiJdfSw4Nzk2NjEoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBSZXNpemUgdGhlIHBhbmVzIHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sMTQyNzU1KGUpe2UuZXhwb3J0cz1bIk9ibGlnYXRpb24gbm90IHBhaWQuIElzc3VlciBwYXltZW50cyBhcmUgb3ZlciBhIG1vbnRoIGxhdGUsIHRoaXMgaXMgZHVlIHRvIGNvdXBvbiBvciBwcmluY2lwYWwgZGVidC4iXX0sNjQxMTA5KGUpe2UuZXhwb3J0cz1bIk9wZW4gaW4gZWRpdG9yIl19LDE2NTM0MChlKXtlLmV4cG9ydHM9WyJPcGVuIG1hcmtldCBzdGF0dXMiXX0sOTU4MjcxKGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBkZXRhY2hlZCBlZGl0b3IiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sNjE1NzgzKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1MjcwMjAoZSl7ZS5leHBvcnRzPVsiTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyJdfSwzMjUxNTUoZSl7ZS5leHBvcnRzPVsiTGVhcm4gbW9yZSJdfSw4MTQwNTgoZSl7ZS5leHBvcnRzPVsiTW92ZSBwYW5lIGRvd24iXX0sMzA1ODgyKGUpe2UuZXhwb3J0cz1bIk1vdmUgcGFuZSB1cCJdfSwzOTQ5NDcoZSl7ZS5leHBvcnRzPVsiTW9yZSJdfSw1NTEzMzIoZSl7ZS5leHBvcnRzPVsiTWF4aW1pemUgY2hhcnQiXX0sNTUwNTU5KGUpe2UuZXhwb3J0cz1bIk1heGltaXplIHBhbmUiXX0sMTU5NDQzKGUpe2UuZXhwb3J0cz1bIk1hbmFnZSBwYW5lcyJdfSw5Njk0NDkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODI5ODMoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSwxOTQzMDQoZSl7ZS5leHBvcnRzPVsiU2NyaXB0IHdpbGwgYmUgdXBkYXRlZCBmb3IgYWxsIGNoYXJ0cyBvZiB0aGlzIGxheW91dCJdfSwyNDE3MjIoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSBsZWZ0Il19LDY2MDgxMChlKXtlLmV4cG9ydHM9WyJTY3JvbGwgdG8gdGhlIG1vc3QgcmVjZW50IGJhciJdfSw3MDgyMzMoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSByaWdodCJdfSw1MDY5MTUoZSl7ZS5leHBvcnRzPVsiU2V0IHtjb2xvcn0gZmxhZyJdfSw5MzMxODQoZSl7ZS5leHBvcnRzPVsiU2VlIG1vcmUiXX0sNDM1MChlKXtlLmV4cG9ydHM9WyJTZWxlY3QgeW91ciBzdGFydCBwb2ludCJdfSw4ODI4MzkoZSl7ZS5leHBvcnRzPVsiU2VsZWN0IHlvdXIgc3RhcnQgcG9pbnQuIl19LDg5NzMwOShlKXtlLmV4cG9ydHM9WyJTaG93Il19LDI4ODI0NChlKXsKZS5leHBvcnRzPVsiU2hvdyBpbnRlcnZhbCBzZXR0aW5ncyJdfSwzMzM0MDcoZSl7ZS5leHBvcnRzPVsiU3R1ZHkgRXJyb3IiXX0sNDY5ODQxKGUpe2UuZXhwb3J0cz1bIlN0YWNrIHRyYWNlIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sOTYxNjE0KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBncm91cCJdfSwyODg3MjUoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHByaWNlIHNvdXJjZSJdfSw2ODc2MShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgdGl0bGUiXX0sNTQ2MzY5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbC9pbnRlcnZhbCBjaGFydCBzeW5jaW5nIl19LDk3Nzc3NihlKXtlLmV4cG9ydHM9WyJTeW50aGV0aWMgaW5zdHJ1bWVudHMgY29tYmluaW5nIGluZGl2aWR1YWwgY29udHJhY3RzLiBUaGUgMSEgY29udHJhY3QgcmVwcmVzZW50cyB0aGUgZnJvbnQtbW9udGggKG5lYXJlc3QgZXhwaXJhdGlvbikgd2hpbGUgdGhlIDIhIHJlcHJlc2VudHMgdGhlIHNlY29uZCBuZWFyZXN0IGV4cGlyYXRpb24uIl19LDE0ODkwKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDExNDQ0KGUpe2UuZXhwb3J0cz1bIlBhaWQgcGxhbnMgZmVhdHVyZSBmYXN0ZXIgZGF0YSB1cGRhdGVzLiJdfSw0ODcyMDAoZSl7ZS5leHBvcnRzPVsiUGluZSBjb2RlIGhhcyBnaG9zdGVkIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNDI4ODA5KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjcwOTIzKGUpe2UuZXhwb3J0cz1bIlB1cnBsZSJdfSw5MDc4NzQoZSl7ZS5leHBvcnRzPVsiUHVycGxlIGxpc3QiXX0sOTE1MTAwKGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB0aGlzIHN5bWJvbCBpcyBub3Qgc3VwcG9ydGVkIHJpZ2h0IG5vdy4gV2UgbWF5IHN1cHBvcnQgaXQgaW4gdGhlIGZ1dHVyZS4iXX0sOTYxOTI2KGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB7c3ltYm9sTmFtZX0gaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sNjU1MDQyKGUpe2UuZXhwb3J0cz1bIlJlZCJdfSwxNjU1MDEoZSl7ZS5leHBvcnRzPVsiUmVkIGxpc3QiXX0sNTA4NzQ5KGUpe2UuZXhwb3J0cz1bIlJlcG9ydCBpdCJdfSwyODE0NTMoZSl7ZS5leHBvcnRzPVsiUmVwbGF5IG1vZGUiXX0sNjcxODA5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgY2hhcnQiXX0sMjYwNTQ5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgcGFuZSJdfSw1NjY5NDgoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGNhbm5vdCB0YWtlIGFueW1vcmUsIENhcCduIl19LDM4MjAyNShlKXtlLmV4cG9ydHM9WyJXYXRjaGxpc3QgZXJyb3IiXX0sNjQ1MjYzKGUpe2UuZXhwb3J0cz1bIldlIHRyaWVkIHRvIGdyYWIgdGhlIHNvdXJjZSBjb2RlLCBidXQgaXQgd2Fzbid0IHRoZXJlLiBNYXliZSBpdCdzIGJlZW4gbW92ZWQsIGRlbGV0ZWQsIG9yIGlzIGp1c3QgaGlkaW5nLiBHaXZlIGl0IGFub3RoZXIgZ28gbGF0ZXIhIl19LDMyODgyOChlKXtlLmV4cG9ydHM9WyJXaG9hIHRoZXJlLCB5b3UgY2FuJ3QgZ28gYWRkaW5nIG92ZXIge251bWJlcn0gc3ltYm9scyBhbmQgc2VwYXJhdG9ycyB0byBhIHdhdGNobGlzdCDigJMgd2UncmUgZW5naW5lZXJzIG5vdCBtaXJhY2xlIHdvcmtlcnMuIl19LDY4Nzk1NChlKXtlLmV4cG9ydHM9WyJUbyBhY2Nlc3Mgb3Zlcm5pZ2h0IHRyYWRpbmcgcXVvdGVzIGZyb20gVVMgbWFya2V0cywgc3Vic2NyaWJlIHRvIEJsdWUgT2NlYW4gKG92ZXJuaWdodCBxdW90ZXMpLiJdfSwyMjA3MzgoZSl7ZS5leHBvcnRzPVsiVG8gZ2V0IHJlYWwtdGltZSBkYXRhIGZvciB7ZGVzY3JpcHRpb259LCBwbGVhc2UgYnV5IHRoZSByZWFsLXRpbWUgZGF0YSBwYWNrYWdlLiJdfSw1NDU4NChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gUGluZSBFZGl0b3IuIl19LDgyOTQ0OChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gZGV0YWNoZWQgUGluZSBFZGl0b3IuIl19LDgzNzI1KGUpe2UuZXhwb3J0cz1bIlRoZSBzb3VyY2UgY29kZSBpcyBjdXJyZW50bHkgb3BlbiBpbiB0aGUgYm90dG9tIHBhbmVsLiJdfSwxMzI1NjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBhc3NldCB3aWxsIGJlIGxpc3RlZCBzb29uLiBMaXZlIGRhdGEgd2lsbCBiZSBhdmFpbGFibGUgb25jZSB0cmFkaW5nIGJlZ2lucy4gVW50aWwgdGhlbiwgeW91IGNhbiBleHBsb3JlIGZ1bmRhbWVudGFsIGRhdGEuIl19LDQ2MzgyNShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20gcHJpbWFyeSBleGNoYW5nZXMuIl19LDI4MjEzMShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20ge2V4Y2hhbmdlfS4iXX0sNjMyMTI1KGUpe2UuZXhwb3J0cz1bIlRoaXMgaXMgYSBkZXZlbG9wbWVudGFsLXN0YWdlIGNvbXBhbnkgd2l0aCBubyBzZXQgYnVzaW5lc3MgcGxhbiwgb2Z0ZW4gZm9ybWVkIHRvIHJhaXNlIGZ1bmRzIGZvciBhIGZ1dHVyZSBtZXJnZXIgb3IgYWNxdWlzaXRpb24uIl19LDU3MzY4MihlKXtlLmV4cG9ydHM9WydUaGlzIGlzIGEgc2hhcmlhaC1jb21wbGlhbnQgYm9uZCwgb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSAic3VrdWssIiBtZWFuaW5nIHRoYXQgaXQgY29tcGxpZXMgd2l0aCBJc2xhbWljIGxhdyB0aGF0IHByb2hpYml0cyBpbnRlcmVzdC4gVW5saWtlIGNvbnZlbnRpb25hbCBib25kcywgd2hpY2ggaW52b2x2ZSBwYXlpbmcgaW50ZXJlc3QsIHN1a3VrIHJlcHJlc2VudCBvd25lcnNoaXAgaW4gYW4gdW5kZXJseWluZyBhc3NldCBvciBwcm9qZWN0IGFuZCBpbnZlc3RvcnMgZWFybiByZXR1cm5zIGJhc2VkIG9uIHByb2ZpdC1zaGFyaW5nIG9yIHJlbnRhbCBpbmNvbWUuJ119LDIzODAwNChlKXsKZS5leHBvcnRzPVsiVGhpcyBpcyBhIHNoYXJpYWgtY29tcGxpYW50IHN0b2NrLCBtZWFuaW5nIHRoYXQgaXQgZm9sbG93cyBJc2xhbWljIGxhdy4gVGhpcyBjb21wYW55IGRvZXMgbm90IGNoYXJnZSBvciByZWNlaXZlIGludGVyZXN0LCBhbmQgZG9lcyBub3QgZW5nYWdlIHdpdGggY2VydGFpbiBzZWN0b3JzIChnYW1ibGluZywgYWxjb2hvbCwgdG9iYWNjbywgcG9yayBwcm9kdWN0cykuIl19LDg5NDU1NihlKXtlLmV4cG9ydHM9WyJUaGlzIGlzIG5vIGxvbmdlciBwdWJsaWNseSB0cmFkaW5nIHNvIG5vIG5ldyBkYXRhIHdpbGwgYmUgYWRkZWQuIEJ1dCB5b3UgY2FuIGV4cGxvcmUgdGhlIGhpc3RvcmljYWxzIGhlcmUuIl19LDcxOTcxMShlKXtlLmV4cG9ydHM9WyJUaGlzIHJlYWwtdGltZSBkYXRhIGlzIHByb3ZpZGVkIGJ5IHtvcmlnaW5hbEV4Y2hhbmdlfSBleGNoYW5nZS4gSXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIHRoZSBvZmZpY2lhbCBkYXRhIGRpcmVjdGx5IGZyb20ge2V4Y2hhbmdlfS4gSWYgdGhpcyBkaWZmZXJlbmNlIGlzIGNydWNpYWwgZm9yIHlvdSwgeW91J2xsIG5lZWQgdG8gcHVyY2hhc2UgcmVhbC10aW1lIGRhdGEgZnJvbSB0aGUgcHJpbWFyeSBleGNoYW5nZSwgd2hpY2ggd2UgY2FuIGhlbHAgd2l0aC4iXX0sOTUyNTAwKGUpe2UuZXhwb3J0cz1bIlRoaXMgcmVmZXJzIHRvIGZpbmFuY2lhbCBpbmRpY2F0b3JzIHdoaWNoIGFyZSBjcmVhdGVkIGJ5IGNvbWJpbmluZyBhbmQvb3IgcHJvY2Vzc2luZyByYXcgZGF0YSBzdXBwbGllZCBmcm9tIHZhcmlvdXMgc291cmNlcy4iXX0sMzQ5MzMwKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3RyYXRlZ3kncyB0cmFkZXMgYXJlIGRpc3BsYXllZCBvbiB0aGUgY2hhcnQuIl19LDY5MjYxNShlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0LCBwbGVhc2UgcGljayBhbm90aGVyIG9uZS4iXX0sNjI4NTUzKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3ltYm9sIGlzIGNhbGN1bGF0ZWQgYnkgVHJhZGluZ1ZpZXcgdXNpbmcgdGhlIHJhdGUgZnJvbSBvdGhlciBleGNoYW5nZXMuIl19LDU1OTU4MyhlKXtlLmV4cG9ydHM9WyJUcmFkZSB7c3ltYm9sTmFtZX0gd2l0aCB7YnJva2VyTmFtZX0iXX0sNTk3OTQoZSl7ZS5leHBvcnRzPVsiVVMgbWFya2V0cyBvdmVybmlnaHQgcXVvdGVzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSwzNzUxNjUoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHN5bWJvbCJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSwzNDYzKGUpe2UuZXhwb3J0cz1bIlVwZGF0ZSBvbiBhbGwgY2hhcnRzIl19LDEwNzg3MChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgYXZhaWxhYmxlIl19LDU4MTM4OChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24iXX0sMjQ3MDYyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSJdfSw3OTUzMzAoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gQ2xpY2sgdGhlIGFycm93IGJ1dHRvbiB0byB0aGUgbGVmdCB0byBleHBhbmQgdGhlIGluZGljYXRvciBsaXN0IGFuZCBzZWUgZGV0YWlscy4iXX0sMzYxMDUoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gUmVzaXplIHRoZSBwYW5lcyBvciB0aGUgd2luZG93IHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sNzYzNDUxKGUpe2UuZXhwb3J0cz1bIllvdSdyZSBpbiBSZXBsYXkgbW9kZS4gWW91J3JlIGluIFJlcGxheSBtb2RlLiBZb3UncmUgaW4gUmVwbGF5IG1vZGUuIl19LDQ4Nzg3NChlKXtlLmV4cG9ydHM9WyJab29tIGluIl19LDMxNDUzNChlKXtlLmV4cG9ydHM9WyJab29tIG91dCJdfSwxNzYyNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG9wZW4gbWFya2V0IHN0YXR1cyB2aXNpYmlsaXR5Il19LDM2Nzg2MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgYmFyIGNoYW5nZSB2aXNpYmlsaXR5Il19LDU2ODczMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzIwNDI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdGl0bGVzIHZpc2liaWxpdHkiXX0sMjE1MDI3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzM1MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSJdfSwzMzU2ODIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGxhc3QgZGF5IGNoYW5nZSB2aXNpYmlsaXR5Il19LDU1NTY2NihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGRlc2NyaXB0aW9uIHZpc2liaWxpdHkiXX0sNjY4MTkyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzeW1ib2wgZmllbGQgdmlzaWJpbGl0eSJdfSw1MjE2NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugdm9sdW1lIHZhbHVlcyB2aXNpYmlsaXR5Il19LDcyNTA5KGUpe2UuZXhwb3J0cz1bInNob3cge3RpdGxlfSJdfSw3MTg3NTcoZSl7ZS5leHBvcnRzPVsidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiJdfSw0MTAxNDgoZSl7ZS5leHBvcnRzPVsidXBkYXRlIHt0aXRsZX0gc2NyaXB0Il19LDkxNDU1KGUpe2UuZXhwb3J0cz1bIntsaXN0ZWRFeGNoYW5nZX0gcmVhbC10aW1lIGRhdGEgaXMgYXZhaWxhYmxlIGZvciBmcmVlIHRvIHJlZ2lzdGVyZWQgdXNlcnMuIl19LDE2OTgzKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2wgZnJvbSB5b3VyIHdhdGNobGlzdC4iLCJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9scyBmcm9tIHlvdXIgd2F0Y2hsaXN0LiJdfSw3NzEzNTYoZSl7CmUuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZCwgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIiwiRGF0YSBpcyB1cGRhdGVkIG9uY2UgZXZlcnkge2Ftb3VudH0gc2Vjb25kcywgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIl19LDc1NTE5MihlKXtlLmV4cG9ydHM9WyJEYXRhIG9uIG91ciBCYXNpYyBwbGFuIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiIsIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSwzMzI4MjgoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3IgbGVnZW5kIiwiSGlkZSBpbmRpY2F0b3JzIGxlZ2VuZCJdfSwyNTY4MTcoZSl7ZS5leHBvcnRzPVsiT25lIHVwZGF0ZSBldmVyeSB7YW1vdW50fSBzZWNvbmQiLCJPbmUgdXBkYXRlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMiXX0sNjkyNzEyKGUpe2UuZXhwb3J0cz1bIlNob3cgaW5kaWNhdG9yIGxlZ2VuZCIsIlNob3cgaW5kaWNhdG9ycyBsZWdlbmQiXX0sODU3MDY3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZSBiZWNhdXNlIG9mIGV4Y2hhbmdlIHJlcXVpcmVtZW50cy4iLCJ7c3ltYm9sTmFtZX0gZGF0YSBpcyBkZWxheWVkIGJ5IHt0aW1lfSBtaW51dGVzIGJlY2F1c2Ugb2YgZXhjaGFuZ2UgcmVxdWlyZW1lbnRzLiJdfX1dKTs="}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBTC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.405Z","timestamp":1785124877405,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /crypto/XTVCBTC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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://s.tradingview.com/\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"107060b925841745f310697bd9f1f83d\"\r\nlast-modified: Wed, 08 Sep 2021 09:03:52 GMT\r\ncdn-cachedat: 08/09/2025 14:29:15\r\nx-amz-id-2: mS6txdd/WwgLrAcd/6no+TxP/dPK7pUj8E19SG87xGMdnJzq7GTFUtT6mRz2dzI97J9VRTiSHig=\r\nx-amz-request-id: 7A2W5B1DC5DG6A3C\r\nx-amz-meta-hash: 107060b925841745f310697bd9f1f83d\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dca79e2b1501f4bed816c2ab89554d38\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.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":801,"size_decoded":1365,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (801), with no line terminators","md5":"107060b925841745f310697bd9f1f83d","sha1":"40a2e01da20c164a3c3f774a72f3feadf17cafa2","sha256":"4dfca512e957e14f05da07751a96061cf4bfd5df438504f65287fa0a8c3cadb6","sha512":"fb7b987074d4701281c49fee08b1d44f2be2b3aa9ecffd0a88a6cc682aac06a6cd823598c8c8ba5ad43f8f1430a73c814148dea60d5740162cc41af7da324c76","ssdeep":"","tlshash":"24011ec55310f6046ec7c09dbf74a9e4110f60ae14a6c7dcf2c89f0835aae8ba614d48","first_seen":"2023-04-21T01:30:48Z","last_seen":"2026-07-27T06:16:23.12707Z","times_seen":5836,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjRjc5MzFBIiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTEyLjgzNiA3Ljk0Yy4xNjYtMS4xMjMtLjY4NC0xLjcyMS0xLjg1NS0yLjEyOGwuMzgtMS41MTMtLjkyNi0uMjMtLjM2OSAxLjQ3Ni0uNzM4LS4xNzcuMzc1LTEuNDg2LS45MjUtLjIzLS4zOCAxLjUxOC0uNTg4LS4xMzl2LS4wMDVsLTEuMjc4LS4zMi0uMjQ2Ljk4OHMuNjg0LjE2LjY3NC4xNjZjLjM3NC4wOTYuNDM4LjM0Mi40MjcuNTM1TDYuOTYgOC4xMjhsLjA5Ni4wMzItLjEwMi0uMDIyLS42MDQgMi40MjNjLS4wNDMuMTEyLS4xNi4yODMtLjQyMy4yMTQuMDExLjAxNi0uNjY4LS4xNi0uNjY4LS4xNmwtLjQ2IDEuMDUzIDEuMjAzLjMuNjU4LjE3LS4zODUgMS41MzUuOTI1LjIzLjM3NC0xLjUxOS43NDQuMTkzLS4zOCAxLjUxMy45MjUuMjMuMzgtMS41MzVjMS41NzcuMyAyLjc2NS4xODIgMy4yNjItMS4yNDYuNDAxLTEuMTUtLjAyMS0xLjgwNy0uODUtMi4yNDYuNjA0LS4xMzMgMS4wNTktLjUzNCAxLjE3Ni0xLjM1M2guMDA1em0tMi4xMTIgMi45NjNjLS4yODMgMS4xNS0yLjIxOS41MjQtMi44NDUuMzc0bC41MDgtMi4wMzdjLjYyNi4xNiAyLjYzNy40NjUgMi4zMzcgMS42NTh2LjAwNXptLjI4NC0yLjk3OWMtLjI1NyAxLjA0My0xLjg3Mi41MTQtMi4zOS4zODVsLjQ2LTEuODQ0Yy41MjMuMTI4IDIuMjAyLjM3NCAxLjkzIDEuNDZ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+"}},"time_used":30,"timings":{"blocked":-1,"dns":27,"connect":2,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:21.127Z","timestamp":1785124881127,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /api/v1/widget/translations/lang/en/defaults HTTP/1.1\r\nHost: translations.smartsuppcdn.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://berthenergy-inc.biz/\r\nOrigin: https://berthenergy-inc.biz\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","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-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.841Z","timestamp":1785124875841,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/34678.4a992aa150d8eda5f29c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2773\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 46ccd45ae3fcaf3d56fac6cdb9edb75a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10099,"size_decoded":5459,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-07-27T06:24:31.679588Z","times_seen":224,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNDY3OF0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBvLGk9MWU2LGM9MWU2LHM9IltiaWcuanNdICIsZj1zKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsYT1mKyJyb3VuZGluZyBtb2RlIixsPXMrIkRpdmlzaW9uIGJ5IHplcm8iLGg9e30sdj12b2lkIDAsZD0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiBwKHIsZSx0LG4pe3ZhciBvPXIuYztpZih0PT09diYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoYSk7aWYoZTwxKW49Mz09PXQmJihufHwhIW9bMF0pfHwwPT09ZSYmKDE9PT10JiZvWzBdPj01fHwyPT09dCYmKG9bMF0+NXx8NT09PW9bMF0mJihufHxvWzFdIT09dikpKSxvLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLG9bMF09MSk6b1swXT1yLmU9MDtlbHNlIGlmKGU8by5sZW5ndGgpe2lmKG49MT09PXQmJm9bZV0+PTV8fDI9PT10JiYob1tlXT41fHw1PT09b1tlXSYmKG58fG9bZSsxXSE9PXZ8fDEmb1tlLTFdKSl8fDM9PT10JiYobnx8ISFvWzBdKSxvLmxlbmd0aD1lLS0sbilmb3IoOysrb1tlXT45OylvW2VdPTAsZS0tfHwoKytyLmUsby51bnNoaWZ0KDEpKTtmb3IoZT1vLmxlbmd0aDshb1stLWVdOylvLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIGcocixlLHQpe3ZhciBuPXIuZSxvPXIuYy5qb2luKCIiKSxpPW8ubGVuZ3RoO2lmKGUpbz1vLmNoYXJBdCgwKSsoaT4xPyIuIitvLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspbz0iMCIrbztvPSIwLiIrb31lbHNlIGlmKG4+MClpZigrK24+aSlmb3Iobi09aTtuLS07KW8rPSIwIjtlbHNlIG48aSYmKG89by5zbGljZSgwLG4pKyIuIitvLnNsaWNlKG4pKTtlbHNlIGk+MSYmKG89by5jaGFyQXQoMCkrIi4iK28uc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIrbzpvfWguYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGguY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxvPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLGk9dC5zLGM9ci5zLHM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhb1swXSlyZXR1cm4gblswXT9pOm9bMF0/LWM6MDtpZihpIT1jKXJldHVybiBpO2lmKGU9aTwwLHMhPWYpcmV0dXJuIHM+Zl5lPzE6LTE7Zm9yKGM9KHM9bi5sZW5ndGgpPChmPW8ubGVuZ3RoKT9zOmYsaT0tMTsrK2k8YzspaWYobltpXSE9b1tpXSlyZXR1cm4gbltpXT5vW2ldXmU/MTotMTtyZXR1cm4gcz09Zj8wOnM+Zl5lPzE6LTF9LGguZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLG89KHI9bmV3IHQocikpLmMsYz1lLnM9PXIucz8xOi0xLHM9dC5EUDtpZihzIT09fn5zfHxzPDB8fHM+aSl0aHJvdyBFcnJvcih1KTtpZighb1swXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPWMsci5jPVtyLmU9MF0scjt2YXIgZixhLGgsZCxnLHc9by5zbGljZSgpLGI9Zj1vLmxlbmd0aCxtPW4ubGVuZ3RoLEU9bi5zbGljZSgwLGYpLGo9RS5sZW5ndGgseT1yLFA9eS5jPVtdLE89MCxrPXMrKHkuZT1lLmUtci5lKSsxO2Zvcih5LnM9YyxjPWs8MD8wOmssdy51bnNoaWZ0KDApO2orKzxmOylFLnB1c2goMCk7ZG97Zm9yKGg9MDtoPDEwO2grKyl7aWYoZiE9KGo9RS5sZW5ndGgpKWQ9Zj5qPzE6LTE7ZWxzZSBmb3IoZz0tMSxkPTA7KytnPGY7KWlmKG9bZ10hPUVbZ10pe2Q9b1tnXT5FW2ddPzE6LTE7YnJlYWt9aWYoIShkPDApKWJyZWFrO2ZvcihhPWo9PWY/bzp3O2o7KXtpZihFWy0tal08YVtqXSl7Zm9yKGc9ajtnJiYhRVstLWddOylFW2ddPTk7LS1FW2ddLEVbal0rPTEwfUVbal0tPWFbal19Zm9yKDshRVswXTspRS5zaGlmdCgpfVBbTysrXT1kP2g6KytoLEVbMF0mJmQ/RVtqXT1uW2JdfHwwOkU9W25bYl1dfXdoaWxlKChiKys8bXx8RVswXSE9PXYpJiZjLS0pO3JldHVybiBQWzBdfHwxPT1PfHwoUC5zaGlmdCgpLHkuZS0tLGstLSksTz5rJiZwKHksayx0LlJNLEVbMF0hPT12KSx5fSxoLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGguZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGguZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0saC5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0saC5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGgubWludXM9aC5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLG8saT10aGlzLGM9aS5jb25zdHJ1Y3RvcixzPWkucyxmPShyPW5ldyBjKHIpKS5zO2lmKHMhPWYpcmV0dXJuIHIucz0tZixpLnBsdXMocik7dmFyIHU9aS5jLnNsaWNlKCksYT1pLmUsbD1yLmMsaD1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IGMoaSk6ci5zPTEscjtpZihzPWEtaCl7Zm9yKChvPXM8MCk/KHM9LXMsbj11KTooaD1hLG49bCksbi5yZXZlcnNlKCksZj1zO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChvPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxzPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe289dVtmXTxsW2ZdO2JyZWFrfWlmKG8mJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PnM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWg7cmV0dXJuIHVbMF18fChyLnM9MSx1PVtoPTBdKSxyLmM9dSxyLmU9aCxyfSxoLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLG89dC5zLGk9KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1vLHIucz1pLGU/bmV3IG4odCk6KG89bi5EUCxpPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPW8sbi5STT1pLHRoaXMubWludXModC50aW1lcyhyKSkpfSxoLnBsdXM9aC5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLG89dGhpcyxpPW8uY29uc3RydWN0b3I7aWYocj1uZXcgaShyKSxvLnMhPXIucylyZXR1cm4gci5zPS1yLnMsby5taW51cyhyKTt2YXIgYz1vLmUscz1vLmMsZj1yLmUsdT1yLmM7aWYoIXNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoc1swXT9yPW5ldyBpKG8pOnIucz1vLnMpLHI7aWYocz1zLnNsaWNlKCksZT1jLWYpe2ZvcihlPjA/KGY9YyxuPXUpOihlPS1lLG49cyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKHMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1zLHM9biksZT11Lmxlbmd0aCx0PTA7ZTtzW2VdJT0xMCl0PShzWy0tZV09c1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihzLnVuc2hpZnQodCksKytmKSxlPXMubGVuZ3RoOzA9PT1zWy0tZV07KXMucG9wKCk7cmV0dXJuIHIuYz1zLHIuZT1mLHJ9LGgucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxvPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+Yyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihvJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBvP3QuZGl2KG4pOm59LGgucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5pKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiBwKG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGgucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09dilyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1pfHxyPmkpdGhyb3cgRXJyb3IodSk7cmV0dXJuIHAobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0saC5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxvPW4uY29uc3RydWN0b3IsaT1uLnMsYz1uLmUsZj1uZXcgbygiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IG8obik7aWYoaTwwKXRocm93IEVycm9yKHMrIk5vIHNxdWFyZSByb290Iik7MD09PShpPU1hdGguc3FydChuKyIiKSl8fGk9PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK2MmMXx8KGUrPSIwIiksYz0oKGMrMSkvMnwwKS0oYzwwfHwxJmMpLHI9bmV3IG8oKChpPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihpPWkudG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLGkuaW5kZXhPZigiZSIpKzEpKStjKSk6cj1uZXcgbyhpKyIiKSxjPXIuZSsoby5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxjKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLGMpLmpvaW4oIiIpKTtyZXR1cm4gcChyLChvLkRQLT00KStyLmUrMSxvLlJNKX0saC50aW1lcz1oLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLG89dC5jLGk9KHI9bmV3IG4ocikpLmMsYz1vLmxlbmd0aCxzPWkubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFvWzBdfHwhaVswXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxjPHMmJihlPW8sbz1pLGk9ZSx1PWMsYz1zLHM9dSksZT1uZXcgQXJyYXkodT1jK3MpO3UtLTspZVt1XT0wO2ZvcihmPXM7Zi0tOyl7Zm9yKHM9MCx1PWMrZjt1PmY7KXM9ZVt1XStpW2ZdKm9bdS1mLTFdK3MsZVt1LS1dPXMlMTAscz1zLzEwfDA7ZVt1XT1zfWZvcihzPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGgudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PXYpe2lmKHIhPT1+fnJ8fHI8MHx8cj5pKXRocm93IEVycm9yKHUpO2Zvcih0PXAobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIGcodCwhMCwhIW4pfSxoLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT12KXtpZihyIT09fn5yfHxyPDB8fHI+aSl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXAobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIGcodCwhMSwhIW4pfSxoLnRvSlNPTj1oLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIGcocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGgudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIoZyh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihzKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxoLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3Isbz10LmNbMF07aWYociE9PXYpe2lmKHIhPT1+fnJ8fHI8MXx8cj5pKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXAobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBnKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIW8pfSxoLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKHMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBnKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxvPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT12P3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixvO2lmKCFkLnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKG89ZS5sZW5ndGgsbj0wO248byYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PW8pci5jPVtyLmU9MF07ZWxzZXtmb3IoO28+MCYmIjAiPT1lLmNoYXJBdCgtLW8pOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PW87KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWgsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksby5kZWZhdWx0PW8uQmlnPW8sdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gb30uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDg3Mjg4MShyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtkZWZhdWx0OigpPT5OfSk7dmFyIG49dCg4ODY1MTQpLG89dCgyNjkzNjYpO2NvbnN0IGk9ZnVuY3Rpb24ocixlKXtmb3IodmFyIHQ9LTEsbj1udWxsPT1yPzA6ci5sZW5ndGg7Kyt0PG47KWlmKGUoclt0XSx0LHIpKXJldHVybiEwO3JldHVybiExfTt2YXIgYz10KDcxMjgwMSk7Y29uc3Qgcz1mdW5jdGlvbihyLGUsdCxuLHMsZil7dmFyIHU9MSZ0LGE9ci5sZW5ndGgsbD1lLmxlbmd0aDtpZihhIT1sJiYhKHUmJmw+YSkpcmV0dXJuITE7dmFyIGg9Zi5nZXQociksdj1mLmdldChlKTtpZihoJiZ2KXJldHVybiBoPT1lJiZ2PT1yO3ZhciBkPS0xLHA9ITAsZz0yJnQ/bmV3IG8uZGVmYXVsdDp2b2lkIDA7Zm9yKGYuc2V0KHIsZSksZi5zZXQoZSxyKTsrK2Q8YTspe3ZhciB3PXJbZF0sYj1lW2RdO2lmKG4pdmFyIG09dT9uKGIsdyxkLGUscixmKTpuKHcsYixkLHIsZSxmKTtpZih2b2lkIDAhPT1tKXtpZihtKWNvbnRpbnVlO3A9ITE7YnJlYWt9aWYoZyl7aWYoIWkoZSwoZnVuY3Rpb24ocixlKXtpZighKDAsYy5kZWZhdWx0KShnLGUpJiYodz09PXJ8fHModyxyLHQsbixmKSkpcmV0dXJuIGcucHVzaChlKX0pKSl7cD0hMTticmVha319ZWxzZSBpZih3IT09YiYmIXModyxiLHQsbixmKSl7cD0hMTticmVha319cmV0dXJuIGYuZGVsZXRlKHIpLGYuZGVsZXRlKGUpLHB9O3ZhciBmPXQoODcyOTk5KSx1PXQoODY1MzMwKSxhPXQoOTEwNzc4KTtjb25zdCBsPWZ1bmN0aW9uKHIpe3ZhciBlPS0xLHQ9QXJyYXkoci5zaXplKTtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbihyLG4pe3RbKytlXT1bbixyXX0pKSx0fTt2YXIgaD10KDk3MjAxNyksdj1mLmRlZmF1bHQ/Zi5kZWZhdWx0LnByb3RvdHlwZTp2b2lkIDAsZD12P3YudmFsdWVPZjp2b2lkIDA7Y29uc3QgcD1mdW5jdGlvbihyLGUsdCxuLG8saSxjKXtzd2l0Y2godCl7Y2FzZSJbb2JqZWN0IERhdGFWaWV3XSI6aWYoci5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fHIuYnl0ZU9mZnNldCE9ZS5ieXRlT2Zmc2V0KXJldHVybiExO3I9ci5idWZmZXIsZT1lLmJ1ZmZlcjtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4hKHIuYnl0ZUxlbmd0aCE9ZS5ieXRlTGVuZ3RofHwhaShuZXcgdS5kZWZhdWx0KHIpLG5ldyB1LmRlZmF1bHQoZSkpKTtjYXNlIltvYmplY3QgQm9vbGVhbl0iOmNhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IE51bWJlcl0iOnJldHVybigwLGEuZGVmYXVsdCkoK3IsK2UpO2Nhc2UiW29iamVjdCBFcnJvcl0iOnJldHVybiByLm5hbWU9PWUubmFtZSYmci5tZXNzYWdlPT1lLm1lc3NhZ2U7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjpyZXR1cm4gcj09ZSsiIjtjYXNlIltvYmplY3QgTWFwXSI6dmFyIGY9bDtjYXNlIltvYmplY3QgU2V0XSI6dmFyIHY9MSZuO2lmKGZ8fChmPWguZGVmYXVsdCksci5zaXplIT1lLnNpemUmJiF2KXJldHVybiExO3ZhciBwPWMuZ2V0KHIpO2lmKHApcmV0dXJuIHA9PWU7bnw9MixjLnNldChyLGUpO3ZhciBnPXMoZihyKSxmKGUpLG4sbyxpLGMpO3JldHVybiBjLmRlbGV0ZShyKSxnO2Nhc2UiW29iamVjdCBTeW1ib2xdIjppZihkKXJldHVybiBkLmNhbGwocik9PWQuY2FsbChlKX1yZXR1cm4hMX07dmFyIGc9dCg4MDYyNDApLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBiPWZ1bmN0aW9uKHIsZSx0LG4sbyxpKXt2YXIgYz0xJnQscz0oMCxnLmRlZmF1bHQpKHIpLGY9cy5sZW5ndGg7aWYoZiE9KDAsZy5kZWZhdWx0KShlKS5sZW5ndGgmJiFjKXJldHVybiExO2Zvcih2YXIgdT1mO3UtLTspe3ZhciBhPXNbdV07aWYoIShjP2EgaW4gZTp3LmNhbGwoZSxhKSkpcmV0dXJuITF9dmFyIGw9aS5nZXQociksaD1pLmdldChlKTtpZihsJiZoKXJldHVybiBsPT1lJiZoPT1yO3ZhciB2PSEwO2kuc2V0KHIsZSksaS5zZXQoZSxyKTtmb3IodmFyIGQ9YzsrK3U8Zjspe3ZhciBwPXJbYT1zW3VdXSxiPWVbYV07aWYobil2YXIgbT1jP24oYixwLGEsZSxyLGkpOm4ocCxiLGEscixlLGkpO2lmKCEodm9pZCAwPT09bT9wPT09Ynx8byhwLGIsdCxuLGkpOm0pKXt2PSExO2JyZWFrfWR8fChkPSJjb25zdHJ1Y3RvciI9PWEpfWlmKHYmJiFkKXt2YXIgRT1yLmNvbnN0cnVjdG9yLGo9ZS5jb25zdHJ1Y3RvcjtFPT1qfHwhKCJjb25zdHJ1Y3RvciJpbiByKXx8ISgiY29uc3RydWN0b3IiaW4gZSl8fCJmdW5jdGlvbiI9PXR5cGVvZiBFJiZFIGluc3RhbmNlb2YgRSYmImZ1bmN0aW9uIj09dHlwZW9mIGomJmogaW5zdGFuY2VvZiBqfHwodj0hMSl9cmV0dXJuIGkuZGVsZXRlKHIpLGkuZGVsZXRlKGUpLHZ9Cjt2YXIgbT10KDk2OTc4NSksRT10KDI5NTYzNSksaj10KDY1OTAxOCkseT10KDE2NTI2NyksUD0iW29iamVjdCBBcmd1bWVudHNdIixPPSJbb2JqZWN0IEFycmF5XSIsaz0iW29iamVjdCBPYmplY3RdIixBPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgRD1mdW5jdGlvbihyLGUsdCxvLGksYyl7dmFyIGY9KDAsRS5kZWZhdWx0KShyKSx1PSgwLEUuZGVmYXVsdCkoZSksYT1mP086KDAsbS5kZWZhdWx0KShyKSxsPXU/TzooMCxtLmRlZmF1bHQpKGUpLGg9KGE9YT09UD9rOmEpPT1rLHY9KGw9bD09UD9rOmwpPT1rLGQ9YT09bDtpZihkJiYoMCxqLmRlZmF1bHQpKHIpKXtpZighKDAsai5kZWZhdWx0KShlKSlyZXR1cm4hMTtmPSEwLGg9ITF9aWYoZCYmIWgpcmV0dXJuIGN8fChjPW5ldyBuLmRlZmF1bHQpLGZ8fCgwLHkuZGVmYXVsdCkocik/cyhyLGUsdCxvLGksYyk6cChyLGUsYSx0LG8saSxjKTtpZighKDEmdCkpe3ZhciBnPWgmJkEuY2FsbChyLCJfX3dyYXBwZWRfXyIpLHc9diYmQS5jYWxsKGUsIl9fd3JhcHBlZF9fIik7aWYoZ3x8dyl7dmFyIEQ9Zz9yLnZhbHVlKCk6cixNPXc/ZS52YWx1ZSgpOmU7cmV0dXJuIGN8fChjPW5ldyBuLmRlZmF1bHQpLGkoRCxNLHQsbyxjKX19cmV0dXJuISFkJiYoY3x8KGM9bmV3IG4uZGVmYXVsdCksYihyLGUsdCxvLGksYykpfTt2YXIgTT10KDM2MDYyMCk7Y29uc3QgTj1mdW5jdGlvbiByKGUsdCxuLG8saSl7cmV0dXJuIGU9PT10fHwobnVsbD09ZXx8bnVsbD09dHx8ISgwLE0uZGVmYXVsdCkoZSkmJiEoMCxNLmRlZmF1bHQpKHQpP2UhPWUmJnQhPXQ6RChlLHQsbixvLHIsaSkpfX0sMTY3NTAyKHIsZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj10KDg3Mjg4MSk7Y29uc3Qgbz1mdW5jdGlvbihyLGUpe3JldHVybigwLG4uZGVmYXVsdCkocixlKX19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87673.afd101bd973de435fe4a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.231Z","timestamp":1785124877231,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/87673.afd101bd973de435fe4a.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2ee9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5c8e4f3773bbd10d1d1ed7c748b9057b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12009,"size_decoded":3657,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12009), with no line terminators","md5":"4bf3abdfbef4bb3ad462d0268797a958","sha1":"91ea7eff13ce3fe123701cfec9439574fc6c83a2","sha256":"91e0aa4d19b28419c8d285059240e0284fb153072c6b5c2fdd99b1b6a8928983","sha512":"c6986e30de2f4f72f15db0a53a0d5253d4791fd5be57e56b39b3b1d7dcabd26da545d15820dced8597a502af0909ee4e15fc981465fb3e22d3e0736242f73d82","ssdeep":"192:he1cejV/ri1iHefj8RzOQmLHL28QJHRhhzY/ssLggREF08C69qJA4:glgyArEHJNsLo9t4","tlshash":"3a42a784a3401379f8976b69d3ba838c5824ee9598174ffff712ea2441c23f750b6d49","first_seen":"2026-07-19T21:33:34.120052Z","last_seen":"2026-07-27T06:24:31.655301Z","times_seen":25,"resource_available":false,"data":"LmZpcnN0Um93SGVhZC1sQ2t1U3RUayB0aHtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgdmFyKC0tY29sb3ItYm9yZGVyKTtoZWlnaHQ6dmFyKC0tb3B0aW9ucy10YWJsZS1yb3ctaGVpZ2h0KTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7cGFkZGluZzowIHZhcigtLW9wdGlvbnMtdGFibGUtY2VsbC1ob3J6LXBhZGRpbmcpO3RleHQtYWxpZ246Y2VudGVyO3RvcDowfS5maXJzdFJvd1RleHQtbENrdVN0VGt7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZyk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLW9wdGlvbnMtdGFibGUtaG9yaXpvbnRhbC1wYWRkaW5nKTtwb3NpdGlvbjpzdGlja3l9LnNlY29uZFJvd0hlYWQtbENrdVN0VGsgdGh7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO3RvcDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpfS5maXJzdFJvd0hlYWQtbENrdVN0VGsgdGgsLnNlY29uZFJvd0hlYWQtbENrdVN0VGsgdGh7cG9zaXRpb246c3RpY2t5O3otaW5kZXg6Mn0udGgtbENrdVN0VGt7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHZhcigtLWNvbG9yLWJvcmRlcik7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttaW4td2lkdGg6Y2FsYyh2YXIoLS1jb2x1bW4td2lkdGgpICsgdmFyKC0tb3B0aW9ucy10YWJsZS1jZWxsLWhvcnotcGFkZGluZykqMik7cGFkZGluZzowIHZhcigtLW9wdGlvbnMtdGFibGUtY2VsbC1ob3J6LXBhZGRpbmcpO3doaXRlLXNwYWNlOm5vd3JhcH0udGgtbENrdVN0VGs6Zmlyc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtc3RhcnQ6dmFyKC0tb3B0aW9ucy10YWJsZS1ob3Jpem9udGFsLXBhZGRpbmcpfS50aC1sQ2t1U3RUazpsYXN0LWNoaWxke3BhZGRpbmctaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZyl9LmNlbnRyYWwtbENrdVN0VGt7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9LmFsaWduTGVmdC1sQ2t1U3RUa3t0ZXh0LWFsaWduOnN0YXJ0fS5hbGlnbkNlbnRlci1sQ2t1U3RUa3t0ZXh0LWFsaWduOmNlbnRlcn0uYWxpZ25SaWdodC1sQ2t1U3RUa3t0ZXh0LWFsaWduOmVuZH0uY29udGFpbmVyLUVmSjlJSFZhey0tb3B0aW9ucy10YWJsZS1yb3ctaGVpZ2h0OjQxcHg7LS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nOjEycHg7LS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZzp2YXIoLS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nKTstLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b206OHB4O2hlaWdodDoxMDAlO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LndyYXBwZXItRWZKOUlIVmF7YmFja2dyb3VuZC1hdHRhY2htZW50OmxvY2FsO2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsdmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKSx2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpIDFweCx2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKSAxcHgsdmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSkgMTRweCl9LndyYXBwZXItRWZKOUlIVmE6ZGlyKHJ0bCl7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHZhcigtLWNvbG9yLWJvcmRlci10YWJsZSksdmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKSAxcHgsdmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSkgMXB4LHZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpIDE0cHgpfS50YWJsZS1FZko5SUhWYXttaW4td2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0uZm9vdGVyQ2VsbC1FZko5SUhWYXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2JvdHRvbTotMXB4O2hlaWdodDpjYWxjKHZhcigtLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b20pICsgMXB4KTtwb3NpdGlvbjpzdGlja3l9Lml0ZW0temd0VUJFNFd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLXdpZHRoOjM4cHh9Lml0ZW0temd0VUJFNFc6b25seS1jaGlsZHt3aWR0aDoxMDAlfS5pdGVtLXpndFVCRTRXKy5pdGVtLXpndFVCRTRXe21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5pdGVtQ29udGVudC16Z3RVQkU0V3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleH0uY291bnRlci16Z3RVQkU0V3ttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHItSTdiWmhWZnl7Y29udGFpbi1pbnRyaW5zaWMtc2l6ZTphdXRvIHZhcigtLW9wdGlvbnMtdGFibGUtcm93LWhlaWdodCk7Y29udGVudC12aXNpYmlsaXR5OmF1dG99LnRyLUk3YlpoVmZ5W2RhdGEtaG92ZXItcGFydD1jYWxsXSB0ZFtkYXRhLWNlbGwtcGFydD1jYWxsXSwudHItSTdiWmhWZnlbZGF0YS1ob3Zlci1wYXJ0PXB1dF0gdGRbZGF0YS1jZWxsLXBhcnQ9cHV0XXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9LnRkLUk3YlpoVmZ5e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci10YWJsZSk7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjAgdmFyKC0tb3B0aW9ucy10YWJsZS1jZWxsLWhvcnotcGFkZGluZyk7dGV4dC1hbGlnbjplbmR9LnRkLUk3YlpoVmZ5OmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLW9wdGlvbnMtdGFibGUtaG9yaXpvbnRhbC1wYWRkaW5nKX0udGQtSTdiWmhWZnk6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tb3B0aW9ucy10YWJsZS1ob3Jpem9udGFsLXBhZGRpbmcpfS5hbGlnbkxlZnQtSTdiWmhWZnl7dGV4dC1hbGlnbjpzdGFydH0uYWxpZ25DZW50ZXItSTdiWmhWZnl7dGV4dC1hbGlnbjpjZW50ZXJ9LmNvbG9ySW5UaGVNb25leS1JN2JaaFZmeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpfS5jZW50ZXItSTdiWmhWZnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9LnNlbGVjdGVkLUk3YlpoVmZ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfS5uYXZpZ2F0ZWQtSTdiWmhWZnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5mbGFzaEhpZ2hsaWdodC1JN2JaaFZmeSAudGQtSTdiWmhWZnl7YW5pbWF0aW9uOmZsYXNoSGlnaGxpZ2h0LWFuaW1hdGlvbi1JN2JaaFZmeSAuNXMgbGluZWFyfUBrZXlmcmFtZXMgZmxhc2hIaWdobGlnaHQtYW5pbWF0aW9uLUk3YlpoVmZ5ezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9OTkle2JhY2tncm91bmQtY29sb3I6dmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSl9dG97YmFja2dyb3VuZC1jb2xvcjp1bnNldH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYTA1UzojMDAwMDstLV8xLWEwNVM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1hMDVTOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtYTA1Uzp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1hMDVTOiMwMDAwOy0tXzEtYTA1Uzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV8yLWEwNVM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy1hMDVTOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5yb290LURyNzM5UnM0ey0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aDozMnB4O2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsucm9vdC1EcjczOVJzNHstLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGg6MTgwcHh9fS5zY3JvbGxDb250YWluZXItRHI3MzlSczR7ZGlzcGxheTpmbGV4O21hcmdpbi1ibG9jazowIC00cHg7bWFyZ2luLWlubGluZTotNHB4IC00cHg7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYmxvY2s6MCA0cHg7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtzY3JvbGwtcGFkZGluZzp2YXIoLS1vcHRpb25zLXBpY2tlci1ibHVyLXdpZHRoKX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0e3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0LnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbENvbnRhaW5lci1EcjczOVJzNDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZ3JvdXAtRHI3MzlSczR7ZGlzcGxheTpncmlkO2ZsZXg6MCAxIGF1dG99Lmdyb3VwLURyNzM5UnM0Ky5ncm91cC1EcjczOVJzNHttYXJnaW4taW5saW5lLXN0YXJ0OjhweH0uZ3JvdXAtRHI3MzlSczQrLnN1Ymdyb3VwLURyNzM5UnM0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MTJweH0uZ3JvdXBUaXRsZS1EcjczOVJzNHtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7d2lkdGg6MTAwJX0ubGVmdEZhZGUtRHI3MzlSczR7LS1vcHRpb25zLXBpY2tlci10aXRsZS1sZWZ0OmNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkvNCl9LnJpZ2h0RmFkZS1EcjczOVJzNHstLW9wdGlvbnMtcGlja2VyLXRpdGxlLXJpZ2h0OmNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkvNCl9Lmdyb3VwLURyNzM5UnM0Om5vdCgub25lR3JvdXAtRHI3MzlSczQpIC5ncm91cFRpdGxlLURyNzM5UnM0IHNwYW57aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXBpY2tlci10aXRsZS1yaWdodCwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tb3B0aW9ucy1waWNrZXItdGl0bGUtbGVmdCwwKTtwb3NpdGlvbjpzdGlja3k7d2hpdGUtc3BhY2U6bm93cmFwfS5sZWZ0RmFkZS1EcjczOVJzNCAub25lR3JvdXAtRHI3MzlSczQgLmdyb3VwVGl0bGUtRHI3MzlSczQgc3BhbiwucmlnaHRGYWRlLURyNzM5UnM0IC5vbmVHcm91cC1EcjczOVJzNCAuZ3JvdXBUaXRsZS1EcjczOVJzNCBzcGFue2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS5sZWZ0RmFkZS1EcjczOVJzNCAub25lR3JvdXAtRHI3MzlSczQgLmdyb3VwVGl0bGUtRHI3MzlSczQgc3BhbjpkaXIocnRsKSwucmlnaHRGYWRlLURyNzM5UnM0IC5vbmVHcm91cC1EcjczOVJzNCAuZ3JvdXBUaXRsZS1EcjczOVJzNCBzcGFuOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnN1Ymdyb3VwLURyNzM5UnM0IC5ncm91cFRpdGxlLURyNzM5UnM0e21pbi13aWR0aDo2NHB4fS5yb290LURyNzM5UnM0OmFmdGVyLC5yb290LURyNzM5UnM0OmJlZm9yZXtib3R0b206MDtib3gtc2hhZG93Omluc2V0IGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqLTEpIDAgY2FsYyh2YXIoLS1vcHRpb25zLXBpY2tlci1ibHVyLXdpZHRoKS8yKSBjYWxjKHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGgpKi0xLzIpIHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2NvbnRlbnQ6IiI7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZS1vdXQ7d2lkdGg6dmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCk7ei1pbmRleDoxfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5yb290LURyNzM5UnM0OmFmdGVyLC5yb290LURyNzM5UnM0OmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9fS5yb290LURyNzM5UnM0OmFmdGVyOmRpcihydGwpLC5yb290LURyNzM5UnM0OmJlZm9yZTpkaXIocnRsKXtib3gtc2hhZG93Omluc2V0IGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqMSkgMCBjYWxjKHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGgpLzIpIGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqLTEvMikgdmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSl9LnJvb3QtRHI3MzlSczQ6YWZ0ZXJ7aW5zZXQtaW5saW5lLWVuZDotNHB4fS5yb290LURyNzM5UnM0OmJlZm9yZXtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnJvb3QtRHI3MzlSczQ6YmVmb3JlOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmxlZnRGYWRlLURyNzM5UnM0OmJlZm9yZSwucmlnaHRGYWRlLURyNzM5UnM0OmFmdGVye29wYWNpdHk6MX0ucm9vdC1EcjczOVJzNCAubGVmdEFycm93LURyNzM5UnM0LC5yb290LURyNzM5UnM0IC5yaWdodEFycm93LURyNzM5UnM0ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1iZzp2YXIoLS1fMy1hMDVTKTtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZS1vdXQ7ei1pbmRleDoyfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5yb290LURyNzM5UnM0IC5sZWZ0QXJyb3ctRHI3MzlSczQsLnJvb3QtRHI3MzlSczQgLnJpZ2h0QXJyb3ctRHI3MzlSczR7dHJhbnNpdGlvbjpub25lfX0ubGVmdEFycm93LURyNzM5UnM0e2luc2V0LWlubGluZS1zdGFydDowfS5sZWZ0QXJyb3ctRHI3MzlSczQgc3Zne3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ubGVmdEFycm93LURyNzM5UnM0IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKDApfS5yaWdodEFycm93LURyNzM5UnM0e2luc2V0LWlubGluZS1lbmQ6MH0ucmlnaHRBcnJvdy1EcjczOVJzNCBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgwKX0ucmlnaHRBcnJvdy1EcjczOVJzNCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsubGVmdEZhZGUtRHI3MzlSczQgLmxlZnRBcnJvdy1EcjczOVJzNCwucmlnaHRGYWRlLURyNzM5UnM0IC5yaWdodEFycm93LURyNzM5UnM0e29wYWNpdHk6MX19Lml0ZW1zLURyNzM5UnM0e2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0uc2tlbGV0b25Db250YWluZXItaWpSaEV3dVl7cG9pbnRlci1ldmVudHM6bm9uZX0ub3B0aW9uc0NoYWluLWlqUmhFd3VZey0tb3B0aW9uLWNoYWluLWNlbnRyYWwtY2VsbC1iZy1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNrZWxldG9uUmVjdGFuZ2xlLWlqUmhFd3VZe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTtib3JkZXItcmFkaXVzOjRweDttYXJnaW46MCBhdXRvfS5zZXJpZXNHcm91cENlbGwtaWpSaEV3dVl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpO2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUc1X3U6dXJsKHVmby1hbmQtY293LTEyMHgxMjAuODM2ZGZhOTkzNGU1OGIwZTc4OTguc3ZnKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUc1X3U6dXJsKHVmby1hbmQtY293LTEyMHgxMjAtZGFyay40Y2NkNGU4NzRkNDM0MWQyZjk1ZC5zdmcpfS5ibG9jay1zaEt4c3pzeHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9LmVtcHR5U3RhdGVJY29uLXNoS3hzenN4e2JhY2tncm91bmQtaW1hZ2U6dmFyKC0tXzAtRzVfdSk7aGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fS5hcnJvdy1tSkFpMVQwaXt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9Lm9wZW4tbUpBaTFUMGl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5vcGVuLW1KQWkxVDBpOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmFjdGl2ZS1tSkFpMVQwaXtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0KX0ubm9uQWN0aXZlLW1KQWkxVDBpe2NvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dCl9LnBpbGxJY29uLWo1TkcwVlZUe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1pY29uLW1hcmdpbi1sZWZ0LDApfS5hY3RpdmUtajVORzBWVlR7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dCl9Lm5vbkFjdGl2ZS1qNU5HMFZWVHtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpfS5yb290LXlCS0NlQU5xe3Bvc2l0aW9uOnJlbGF0aXZlfS5zY3JvbGxDb250YWluZXIteUJLQ2VBTnF7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0b31Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xe3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xLnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbENvbnRhaW5lci15QktDZUFOcTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZ3JvdXAteUJLQ2VBTnF7ZmxleDowIDEgYXV0b30uZ3JvdXAteUJLQ2VBTnErLmdyb3VwLXlCS0NlQU5xe21hcmdpbi1pbmxpbmUtc3RhcnQ6NnB4fS5ncm91cFRpdGxlLXlCS0NlQU5xe2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoyOHB4O3dpZHRoOjEwMCV9Lml0ZW1zLXlCS0NlQU5xe2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0uaXRlbS15QktDZUFOcXtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDt3aWR0aDozOHB4fS5pdGVtLXlCS0NlQU5xKy5pdGVtLXlCS0NlQU5xe21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5yb290LVdNTE55NV93e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDowfS5jZWxsLUF0UllySlBue2Rpc3BsYXk6aW5saW5lLWZsZXg7Z2FwOjJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnNvcnRBY3RpdmUtQXRSWXJKUG57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Zm9udC13ZWlnaHQ6NTAwfS5zb3J0SWNvbi1BdFJZckpQbntmbGV4LXNocmluazowO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc29ydEljb24tQXRSWXJKUG46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uc29ydEljb24tQXRSWXJKUG4uc29ydERlc2MtQXRSWXJKUG57dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0ubGF5b3V0LXBlSlVTUmRae2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uc3RyZXRjaC1wZUpVU1JkWnt3aWR0aDoxMDAlfS5zcGFjZS1wZUpVU1JkWntmbGV4OjF9LmVuZFRleHRTbG90LXBlSlVTUmRaLC5zdGFydFRleHRTbG90LXBlSlVTUmRae21pbi13aWR0aDowO3BhZGRpbmc6MCA0cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.868Z","timestamp":1785124875868,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 31b76ceda02d0c6f08afadd352442494\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T06:16:23.00358Z","times_seen":905,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84306.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.652Z","timestamp":1785124876652,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84306.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58abe8-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 10:01:12 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 34b65bd158be19831492d19a1d4fcc7e\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"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-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/17087.a5eaeb30f7d269f97b41.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.703Z","timestamp":1785124876703,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/17087.a5eaeb30f7d269f97b41.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-42b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2af213153cabcfa5cca4f8d0421b19ae\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1067,"size_decoded":1275,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1067), with no line terminators","md5":"aea2379787588b2971ae93e1d08d1a76","sha1":"53a871c666693bc64ceee27711d27c2da35b8e8c","sha256":"3f0a48597dbd15d013833ffec5807ed9172b4072ca308dd16df1be793bcb6f34","sha512":"596f5b4924bfab46ac651687876c9a32ee13e028d0057c8165ce38a28d0049e29f55a5ea96f247401e43f0a6f2a6c054ea0b6e8eadca7d7ba33b29c3145d0cf1","ssdeep":"","tlshash":"6a111f148180f63dbd23f22087a0578a3279745199976e9eed0de17141cfbf52ba5cdc","first_seen":"2026-07-16T20:48:56.383088Z","last_seen":"2026-07-27T06:14:34.085728Z","times_seen":204,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbEhsRzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWxIbEc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LndyYXAtaWlpMTE4b057Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjB9LndyYXAtaWlpMTE4b04ucG9zaXRpb25Cb3R0b20taWlpMTE4b057YWxpZ24taXRlbXM6ZmxleC1lbmR9LmJhY2tkcm9wLWlpaTExOG9Oe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtbEhsRyk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6Ljc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmRyYXdlci1paWkxMThvTntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjZweCAwOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO3otaW5kZXg6MX0uZHJhd2VyLWlpaTExOG9OLnBvc2l0aW9uTGVmdC1paWkxMThvTnttYXJnaW4taW5saW5lLWVuZDo0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTttaW4td2lkdGg6MjYwcHh9LmRyYXdlci1paWkxMThvTi5wb3NpdGlvbkJvdHRvbS1paWkxMThvTntib3JkZXItc3RhcnQtZW5kLXJhZGl1czo2cHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo2cHg7ZmxleC1iYXNpczoxMDAlO21hcmdpbi10b3A6dmFyKC0tZHJhd2VyLW1hcmdpbi10b3AtZGlzdGFuY2UsMTAwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UsIDEwMHB4KSk7b3ZlcmZsb3c6YXV0b30uZHJhd2VyLWlpaTExOG9OOmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69861.87e20a8951ceecc461d8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.845Z","timestamp":1785124876845,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69861.87e20a8951ceecc461d8.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-f42\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d4f133bb65b20b7e907ce3e927b1bccd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3906,"size_decoded":1536,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3906), with no line terminators","md5":"3fa9c4040463e2838455328de777e889","sha1":"26592cfad4d8f47a69b92e266591e38c8c733e5a","sha256":"ca5b5651ba39b94a8865341a1ecc9844d0fe73a74db6091a7e975a360bb01d3e","sha512":"73fda847130c90e9286ea7be82f7b271a1d1d328e24768e158b7c6dac2cd3f1d20b8d08ead70420c17212b275c24d2bc70a86bfa5c8924db2a8dcd9079178f33","ssdeep":"","tlshash":"46817ec9f2e9997a02077d2982d182649b0e9ce2da53669ebc7671c000ca7dd43bdc4e","first_seen":"2026-06-30T21:57:43.451848Z","last_seen":"2026-07-27T06:24:31.722886Z","times_seen":192,"resource_available":false,"data":"LmJ1dHRvbi1zWHNwWk5uWnthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2hlaWdodDoxMDAlOy0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzOjZweDtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQpKTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGNvbG9yIDYwbXMgZWFzZTt6LWluZGV4OjB9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWiwuYnV0dG9uLXNYc3BaTm5aOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX19LmJ1dHRvbi1zWHNwWk5uWi5jbGlja2VkLXNYc3BaTm5aLC5idXR0b24tc1hzcFpOblo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKSl9LmJ1dHRvbi1zWHNwWk5uWjpiZWZvcmV7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXMsMnB4KTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tYm90dG9tLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1yaWdodCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tbGVmdCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tdG9wLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO3otaW5kZXg6LTF9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifX0uYnV0dG9uLXNYc3BaTm5aLmNsaWNrZWQtc1hzcFpOblo6YmVmb3JlLC5idXR0b24tc1hzcFpOblo6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLXNYc3BaTm5aLmFjY2Vzc2libGUtc1hzcFpOblo6Zm9jdXMtdmlzaWJsZTpiZWZvcmV7Y29udGVudDoiIjtvdXRsaW5lLXN0eWxlOnNvbGlkfS5idXR0b24tc1hzcFpOblogc3Zne2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3ctc1hzcFpOblp7YWxpZ24taXRlbXM6Y2VudGVyO2NvbnRhaW46Y29udGVudDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3dXcmFwLXNYc3BaTm5ae21hcmdpbjowIDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpfX0uYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aLmhvdmVyLXNYc3BaTm5aOmJlZm9yZSwuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9fS5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblouY2xpY2tlZC1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06bm9uZX19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/favicon.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.497Z","timestamp":1785124877497,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/favicon.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: image/png\r\ncontent-length: 6478\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-194e\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":6478,"size_decoded":6703,"mime_type":"image/png","magic":"PNG image data, 91 x 91, 8-bit/color RGBA, non-interlaced","md5":"70d34330ea3786d4adff25206a264bdd","sha1":"5c04acc888d5821ce7c1c4c54b7653058a94a967","sha256":"c30999f73d4b538337fee26ab3df719d6b13c9a32c2f17a4d61fb6c74ea1c38e","sha512":"3c5b02abeea906d154e11fd7f01e6a85176436b8af98ac998c3ceb3a3ba37bc0608a55409d6cd5fef553a88eb20c6dabcbb8f33dba1ea354705257447dcb2f2c","ssdeep":"192:JCzE5QmKSL8nIBODSk7XhGbvspUHMeqsqgW1:gEKSIIODSaIv2UHMhs5I","tlshash":"b7d19ec3fe91310218cf6548dce86a54ca656e10a8f9a671fdc7c960565acc1d35638b","first_seen":"2025-11-24T08:50:35.74985Z","last_seen":"2026-07-27T04:03:30.137792Z","times_seen":5,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFsAAABbCAYAAAAcNvmZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3Q0M0QkZGRDQ3NEUxMUVBODk4M0JGREYxQkFFNEMxRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3Q0M0QkZGRTQ3NEUxMUVBODk4M0JGREYxQkFFNEMxRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdDQzRCRkZCNDc0RTExRUE4OTgzQkZERjFCQUU0QzFGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdDQzRCRkZDNDc0RTExRUE4OTgzQkZERjFCQUU0QzFGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+gn1SnAAAFcNJREFUeNrkXQtwXNV5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"}},"time_used":23,"timings":{"blocked":0,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.877Z","timestamp":1785124875877,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6934.90edfef6ce98369ae04a.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-138a8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eb8e376b6fbadeae4e11e0ba240a8726\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":80040,"size_decoded":25281,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8855)","md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-27T06:24:31.807265Z","times_seen":225,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2OTM0XSx7ODQ1NTc3KG8pe28uZXhwb3J0cz17InR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLWo0SmxyWVZIIiwidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCJ9fSw3MzIwNDAobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtmdW5jdGlvbiB0KG8scj13aW5kb3cpe2NvbnN0IGU9InRoZW1lLSIrbyxsPXIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgbyBvZiBBcnJheS5mcm9tKGwpKW8uc3RhcnRzV2l0aCgidGhlbWUtIikmJm8hPT1lJiZsLnJlbW92ZShvKTtsLmFkZChlKSxyLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPW99ZS5kKHIse2FwcGx5VGhlbWU6KCk9PnR9KSxmdW5jdGlvbihvKXtvLlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGx8fChsPXt9KSl9LDIwMDY2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtzZXRUaGVtZTooKT0+YSx3YXRjaGVkVGhlbWU6KCk9PmN9KTt2YXIgbD1lKDIzMjM2NCksdD1lKDczMjA0MCk7Y29uc3QgYz1uZXcgbC5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gYShvKXtjLnNldFZhbHVlKG8pfWMuc3Vic2NyaWJlKChvPT57KDAsdC5hcHBseVRoZW1lKShvLHdpbmRvdyl9KSl9LDgzMDc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+dH0pCjtjb25zdCBsPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiB0KG8pe2NvbnN0IHI9bC5nZXQobyk7aWYodm9pZCAwPT09cilyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQoci5zbGljZSgxLDMpLDE2KSxwYXJzZUludChyLnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHIuc2xpY2UoNSw3KSwxNiksMV19fSw3Nzg0NTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YnJlYWtwb2ludHM6KCk9PmwsbW9iaWxlRmlyc3RCcmVha3BvaW50czooKT0+dCxtb2JpbGVGaXJzdExlZ2FjeUJyZWFrcG9pbnRzOigpPT5jfSk7Y29uc3QgbD17ZGVza3RvcDoxLzAsZGVza3RvcEhkOjE5MTkscGhvbmU6NzY3LCJwaG9uZS12ZXJ0aWNhbCI6NDc5LHRhYmxldDoxMDE5fSx0PXtiYXNlOjAsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjozMjAsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6NTY4LCJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiOjc2OCwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6MTAyNCwibWVkaWEtbWYtbGFwdG9wIjoxMjgwLCJtZWRpYS1tZi1kZXNrdG9wLW1lZGl1bSI6MTQ0MCwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6MTkyMCwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6MjU2MH0sYz17Im1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6MzMwLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOjQ4MCwibWVkaWEtbWYtbGVnYWN5LW5vdGVib29rIjoxMDIwLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOjE0ODAsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoxNTMxfX0sMjc2MDE5KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dsb2JhbENsb3NlRGVsZWdhdGU6KCk9PmwsZ2xvYmFsQ2xvc2VNZW51OigpPT50fSk7Y29uc3QgbD1uZXcoZSg5NDgzODApLkRlbGVnYXRlKTtmdW5jdGlvbiB0KCl7bC5maXJlKCl9fSw1MDU1NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnNQYWxldHRlOigpPT5nLGdldEhleENvbG9yQnlOYW1lOigpPT51fSk7dmFyIGw9ZSgzMTc2NjMpLHQ9ZSg4Njc1MjIpLGM9ZSgxMzg2MzgpO2NvbnN0IGE9ey4uLmwsLi4udH0sbj17fSxpPU9iamVjdC5rZXlzKGEpLmxlbmd0aCxkPS9eIygoW2EtZjAtOV17Mn0pezIsNH18W2EtZjAtOV17M30pJC9pO2Z1bmN0aW9uIHMobyxyPVtdLGU9YSl7Y29uc3QgbD1lW29dO2lmKCFsKXJldHVybiBudWxsO2lmKGQudGVzdChsKSlyZXR1cm4gbDtjb25zdCB0PWw7cmV0dXJuIHIucHVzaChvKSwtMSE9PXIuaW5kZXhPZih0KT8oY29uc29sZS53YXJuKCJDb2xvcnMgZGVmaW5pdGlvbnMgY3ljbGVkIiksbCk6ci5sZW5ndGg+aT8oY29uc29sZS53YXJuKCJUb28gbWFueSB2YXJpYWJsZXMtbGluayBpbiBIRVgtY29sb3Igc2VhcmNoOiAiK3JbMF0pLG51bGwpOnModCxyLGUpfU9iamVjdC5rZXlzKGEpLmZvckVhY2goKG89Pntjb25zdCByPXMobyk7bltvXT0oMCxjLmVuc3VyZU5vdE51bGwpKHIpfSkpO2NvbnN0IGc9bjtmdW5jdGlvbiB1KG8scj1nKXtjb25zdCBlPXJbb107aWYoIWUpe2lmKGQudGVzdChvKSlyZXR1cm4gbzt0aHJvdyBuZXcgRXJyb3IoIk5vIHN1Y2ggY29sb3IgIitvKX1yZXR1cm4gZX19LDIxODgxNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtDdWJpY0JlemllcjooKT0+Yyxjb2xvcjooKT0+YSxkdXI6KCk9PmwsZWFzaW5nRnVuYzooKT0+dH0pO2NvbnN0IGw9MzUwLHQ9e2xpbmVhcjpvPT5vLGVhc2VJblF1YWQ6bz0+bypvLGVhc2VPdXRRdWFkOm89Pm8qKDItbyksZWFzZUluT3V0UXVhZDpvPT5vPC41PzIqbypvOig0LTIqbykqby0xLGVhc2VJbkN1YmljOm89Pm8qbypvLGVhc2VPdXRDdWJpYzpvPT4tLW8qbypvKzEsZWFzZUluT3V0Q3ViaWM6bz0+bzwuNT80Km8qbypvOihvLTEpKigyKm8tMikqKDIqby0yKSsxLGVhc2VJblF1YXJ0Om89Pm8qbypvKm8sZWFzZU91dFF1YXJ0Om89PjEtIC0tbypvKm8qbyxlYXNlSW5PdXRRdWFydDpvPT5vPC41PzgqbypvKm8qbzoxLTgqLS1vKm8qbypvLGVhc2VJblF1aW50Om89Pm8qbypvKm8qbyxlYXNlT3V0UXVpbnQ6bz0+MSstLW8qbypvKm8qbyxlYXNlSW5PdXRRdWludDpvPT5vPC41PzE2Km8qbypvKm8qbzoxKzE2Ki0tbypvKm8qbypvfTtjbGFzcyBje2NvbnN0cnVjdG9yKG8scixlLGwpe3RoaXMuX21YMT1vLHRoaXMuX21ZMT1yLHRoaXMuX21YMj1lLHRoaXMuX21ZMj1sfWVhc2luZ0Z1bmMobyl7cmV0dXJuIHRoaXMuX21YMT09PXRoaXMuX21ZMSYmdGhpcy5fbVgyPT09dGhpcy5fbVkyP286dGhpcy5fY2FsY0Jlemllcih0aGlzLl9nZXRURm9yWChvKSl9X2EobyxyKXtyZXR1cm4gMS0zKnIrMypvfV9iKG8scil7cmV0dXJuIDMqci02Km99X2Mobyl7cmV0dXJuIDMqb31fY2FsY0JlemllcihvKXtyZXR1cm4oKHRoaXMuX2EodGhpcy5fbVkxLHRoaXMuX21ZMikqbyt0aGlzLl9iKHRoaXMuX21ZMSx0aGlzLl9tWTIpKSpvK3RoaXMuX2ModGhpcy5fbVkxKSkqb31fZ2V0U2xvcGUobyl7cmV0dXJuIDMqdGhpcy5fYSh0aGlzLl9tWDEsdGhpcy5fbVgyKSpvKm8rMip0aGlzLl9iKHRoaXMuX21YMSx0aGlzLl9tWDIpKm8rdGhpcy5fYyh0aGlzLl9tWDEpfV9nZXRURm9yWChvKXtsZXQgcj1vO2ZvcihsZXQgZT0wO2U8NDsrK2Upe2NvbnN0IGU9dGhpcy5fZ2V0U2xvcGUocik7aWYoMD09PWUpcmV0dXJuIHI7ci09KHRoaXMuX2NhbGNCZXppZXIociktbykvZX1yZXR1cm4gcn19Y29uc3QgYT17YmxhY2s3MDoiIzRBNEE0QSIsYmxhY2s4MDoiIzUzNTM1MyJ9fSw1Njc0NzkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7REVGQVVMVF9TSVpFOigpPT5sLHNwaW5uZXJTaXplTWFwOigpPT50fSk7Y29uc3QgbD0ibGFyZ2UiLHQ9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxMjEzMShvLHIsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGwobyxyKXtsZXQgZTtjb25zdCBsPSgpPT57Y2xlYXJUaW1lb3V0KGUpLGU9dm9pZCAwfTtyZXR1cm57c3RhcnQ6KCk9PntsKCksZT1zZXRUaW1lb3V0KG8scil9LHJlc2V0Omx9fWUuZChyLHtjcmVhdGVUaW1lcjooKT0+bH0pfSwKODQ4OTg4KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbChvKXtyZXR1cm4gMD09PW8uZGV0YWlsfWUuZChyLHtpc0tleWJvYXJkQ2xpY2s6KCk9Pmx9KX0sMzgyMjQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldEZpcnN0RGVzY2VuZGFudDooKT0+YyxnZXRMYXN0RGVzY2VuZGFudDooKT0+YSxnZXRQcmV2aW91c05vblBhcmVudDooKT0+bixnZXRTZWxlY3RvclRyZWVXYWxrZXI6KCk9PnR9KTt2YXIgbD1lKDY4MjM4MSk7Y29uc3QgdD0obz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscik9PmRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobyxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCwobz0+cj0+e2lmKDEhPT1yLm5vZGVUeXBlKXJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO2NvbnN0IGU9cjtyZXR1cm4oMCxsLmlzSW5lcnRSb290KShlKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6KDAsbC5pc1Zpc2liaWxpdHlWaXNpYmxlKShlKSYmZS5tYXRjaGVzKG8pP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9TS0lQfSkocikpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIG8uY3VycmVudE5vZGU9by5yb290LG8ubmV4dE5vZGUoKX1mdW5jdGlvbiBhKG8pe2ZvcihvLmN1cnJlbnROb2RlPW8ucm9vdDtudWxsIT09by5sYXN0Q2hpbGQoKTspO3JldHVybiBvLmN1cnJlbnROb2RlPT09by5yb290P251bGw6by5jdXJyZW50Tm9kZX1mdW5jdGlvbiBuKG8pe2NvbnN0IHI9by5jdXJyZW50Tm9kZTtsZXQgZT1vLnByZXZpb3VzTm9kZSgpO2Zvcig7ZSYmZS5jb250YWlucyhyKTspZT1vLnByZXZpb3VzTm9kZSgpO3JldHVybiBlfX0sNzEwMTEyKG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe2NvbnN0IG89bmV3IFNldCxyPW5ldyBTZXQ7Y29uc3QgZT17dXBkYXRlOmZ1bmN0aW9uKGwsdCl7bD9yLmFkZCh0KTpyLmRlbGV0ZSh0KTtjb25zdCBjPXIuc2l6ZT4wO2UudmFsdWUhPT1jJiYoZS52YWx1ZT1jLG8uZm9yRWFjaCgobz0+e28obCl9KSkpfSx2YWx1ZTohMSxzdWJzY3JpYmU6ZnVuY3Rpb24ocil7cmV0dXJuIG8uYWRkKHIpLCgpPT57by5kZWxldGUocil9fX07cmV0dXJuIGV9ZS5kKHIse2NyZWF0ZVVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+bH0pfSwyMjI0MjMobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7QWdncmVnYXRlRXJyb3I6KCk9Pl8sQXBpRXJyb3I6KCk9Pm0sU01TX0JBTk5FRF9TVEFUVVM6KCk9PmMsYWNjdW11bGF0ZUVycm9yczooKT0+bixjaGVja1Bob25lQ29kZTooKT0+dSxjb250aW51ZVBhcnRpYWxBdXRoOigpPT53LGZpcnN0TG9naW5EYXRhOigpPT5zLGZpcnN0TG9naW5EYXRhVXJsOigpPT5hLGdlbmVyYXRlU2lnbmluQ2hhbGxlbmdlOigpPT5SLGdldEFwaUVycm9yTWVzc2FnZTooKT0+QSxyZWNvdmVyUGFzc3dvcmQ6KCk9PmYscmVjb3ZlclBhc3N3b3JkVXJsOigpPT5ULHJlY292ZXJ5UGFzc3dvcmQ6KCk9PnAscmVzZW5kTGluazooKT0+ZyxzZWNvbmRGYWN0b3JTaWduaW46KCk9Pk4sc2lnbmluOigpPT5iLHNpZ25pblVybDooKT0+QyxzaWdudXA6KCk9PkUsc2lnbnVwVXJsOigpPT5oLHNvY2lhbEF1dGg6KCk9PnZ9KTt2YXIgbD1lKDM4NDAxNyksdD1lKDE4NTI3MSk7Y29uc3QgYz00MDMsYT0iL2FjY291bnRzL2ZpcnN0X2xvZ2luX2RhdGEvIjtmdW5jdGlvbiBuKG8scil7cmV0dXJuIE9iamVjdC5lbnRyaWVzKG8pLm1hcCgobz0+bmV3IG0ob1sxXS5qb2luKCJcbiIpLHIsb1swXSkpKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuKDAsbC5mZXRjaCkobyx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsbW9kZToic2FtZS1vcmlnaW4iLGJvZHk6cn0pfWFzeW5jIGZ1bmN0aW9uIGQobyl7dHJ5e3JldHVybiBhd2FpdCBvLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgbSh0LnQobnVsbCx7Y29udGV4dDoiYXBpIGVycm9yIn0sZSg2ODM2MjcpKSxvLnN0YXR1cywic2VydmVyX2Vycm9yIil9fWZ1bmN0aW9uIHMobyl7cmV0dXJuIGkoYSxvKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChyPT57dGhyb3cgbmV3IF8obihyLmVycm9ycyxvLnN0YXR1cykpfSkpKSl9ZnVuY3Rpb24gZygpe3JldHVybiBpKCIvYXBpL3YxL3VzZXJzL2Fub24vY2hhbmdlLWVtYWlsL3Jlc2VuZC8iKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChvPT57dGhyb3cgRXJyb3Ioby5lcnJvcil9KSkpKX1mdW5jdGlvbiB1KG8pe3JldHVybiBpKCIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvY2hlY2tfcGhvbmVfY29kZS8iLG8pLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKG89Pnt0aHJvdyBFcnJvcihvLmVycm9yKX0pKSkpfWZ1bmN0aW9uIHAobyl7cmV0dXJuIGkoIi9hcGkvdjEvcmVjb3Zlcl9wYXNzd29yZC8iLG8pLnRoZW4oKG89Pm8pKX1jb25zdCBDPSIvYWNjb3VudHMvc2lnbmluLyI7ZnVuY3Rpb24geShvKXtyZXR1cm4gZChvKS50aGVuKChyPT57aWYoImVycm9ycyJpbiByJiZPYmplY3Qua2V5cyhyLmVycm9ycykubGVuZ3RoKXRocm93IG5ldyBfKG4oci5lcnJvcnMsby5zdGF0dXMpKTtpZigiZXJyb3IiaW4gciYmIiIhPT1yLmVycm9yfHwiY29kZSJpbiByfHwhby5vayl0aHJvdyBuZXcgbShyLmVycm9yfHxyLmRldGFpbCxvLnN0YXR1cyxyLmNvZGUsci5jb25maXJtX2F1dGhfZGF0YSxyLnR3b19mYWN0b3JfdHlwZXMsZnVuY3Rpb24obyl7aWYoby5zaWduYXR1cmUpcmV0dXJue3NpZ25hdHVyZTpvLnNpZ25hdHVyZSxlbWFpbDpvLmVtYWlsfHwiIixwaG9uZTpvLnBob25lfHwiIixzb2NpYWxzOltdfTtyZXR1cm59KHIpKTtyZXR1cm4gcn0pKX1mdW5jdGlvbiBiKG8pe3JldHVybiBpKEMsbykudGhlbih5KX1jb25zdCBoPSIvYWNjb3VudHMvc2lnbnVwLyI7ZnVuY3Rpb24gRShvKXtyZXR1cm4gaShoLG8pLnRoZW4oKG89PmQobykudGhlbigocj0+e2lmKCJlcnJvcnMiaW4gciYmIiIhPT1yLmVycm9ycyl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jbGFzcyBtIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IobyxyLGUsbCx0LGMpe3N1cGVyKG8pLHRoaXMudHlwZT1lLAp0aGlzLnN0YXR1cz1yLHRoaXMuc2Vjb25kRmFjdG9yVHlwZXM9dCx0aGlzLnNvY2lhbENvbmZpcm1EYXRhPWwsdGhpcy5yZXNldFBhc3N3b3JkRGF0YT1jfX1mdW5jdGlvbiBBKG8scil7cmV0dXJuIG8gaW5zdGFuY2VvZiBtJiZ2b2lkIDAhPT1vLnN0YXR1cz9gJHtvLm1lc3NhZ2V8fHJ8fHQudChudWxsLHtjb250ZXh0OiJhcGkgZXJyb3IifSxlKDY4MzYyNykpfSAoJHtvLnN0YXR1c30pYDpvIGluc3RhbmNlb2YgRXJyb3ImJm8ubWVzc2FnZT9vLm1lc3NhZ2U6cnx8dC50KG51bGwse2NvbnRleHQ6ImFwaSBlcnJvciJ9LGUoNjgzNjI3KSl9Y2xhc3MgXyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG8pe3N1cGVyKG8ubWFwKChvPT5vLm1lc3NhZ2UpKS5qb2luKCJcbiIpKSx0aGlzLmVycm9ycz1bXSx0aGlzLmVycm9ycz1vfX1jb25zdCBUPSIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvc2VhcmNoLyI7ZnVuY3Rpb24gZihvKXtyZXR1cm4gaShULG8pLnRoZW4oeSl9Y29uc3QgUz17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn07ZnVuY3Rpb24gdihvLHIpe2NvbnN0IGU9bmV3IFVSTCh3aW5kb3cub3JpZ2luKyIvYWNjb3VudHMvY29tcGxldGUvYW5kcm9pZC1qd3QvIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHIpLmZvckVhY2goKChbbyxyXSk9PnImJmUuc2VhcmNoUGFyYW1zLmFwcGVuZChvLHIpKSksKDAsbC5mZXRjaCkoZS5ocmVmLHttZXRob2Q6IlBPU1QiLGJvZHk6byxoZWFkZXJzOlN9KS50aGVuKHkpfWZ1bmN0aW9uIHcobyxyKXtjb25zdCBlPW5ldyBVUkwod2luZG93Lm9yaWdpbitgL2FjY291bnRzL2NvbXBsZXRlLyR7b30vYCksdD1uZXcgRm9ybURhdGE7cmV0dXJuIHQuYXBwZW5kKCJwYXJ0aWFsX3Rva2VuIixyKSwoMCxsLmZldGNoKShlLmhyZWYse21ldGhvZDoiUE9TVCIsYm9keTp0LGhlYWRlcnM6U30pLnRoZW4oeSl9ZnVuY3Rpb24gUihvKXtyZXR1cm4gaShgL2FjY291bnRzL3R3by1mYWN0b3Ivc2lnbmluLyR7b30vZ2VuZXJhdGUtY2hhbGxlbmdlL2ApLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKCh7ZGV0YWlsOm99KT0+e3Rocm93IEVycm9yKG8pfSkpKSl9ZnVuY3Rpb24gTihvLHIpe3JldHVybiBpKGAvYWNjb3VudHMvdHdvLWZhY3Rvci9zaWduaW4vJHtvfS9gLHIpLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKHI9PntpZigicmVxdWlyZV9wYXJhbWV0ZXJzIj09PXIuY29kZSl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSk7dGhyb3cgbmV3IG0oci5kZXRhaWwsby5zdGF0dXMsci5jb2RlKX0pKSkpfX0sODI3MDY3KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2lzU2lnbmVkRXhjaGFuZ2VBZ3JlZW1lbnQ6KCk9Pm4sc2F2ZUV4Y2hhbmdlQWdyZWVtZW50OigpPT5jfSk7dmFyIGw9ZSgzODQwMTcpLHQ9ZSgyMjI0MjMpO2Z1bmN0aW9uIGMobyl7cmV0dXJuKDAsbC5mZXRjaCkoIi9leGNoYW5nZS1hZ3JlZW1lbnQvIix7aGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkobyl9KS50aGVuKChvPT5vLm9rP28uanNvbigpOm8uanNvbigpLnRoZW4oKHI9Pnt0aHJvdyBuZXcgdC5BZ2dyZWdhdGVFcnJvcigoMCx0LmFjY3VtdWxhdGVFcnJvcnMpKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jb25zdCBhPXt9O2FzeW5jIGZ1bmN0aW9uIG4obyl7bGV0IHI9Ii9pcy1zaWduZWQtZXhjaGFuZ2UtYWdyZWVtZW50LyI7aWYoby5leGNoYW5nZSYmKHIrPWA/ZXhjaGFuZ2U9JHtvLmV4Y2hhbmdlfWAsYVtvLmV4Y2hhbmdlXSkpcmV0dXJuIGFbby5leGNoYW5nZV07Y29uc3QgZT1hd2FpdCgwLGwuZmV0Y2gpKHIpO2lmKCFlLm9rKXtjb25zdCBvPWF3YWl0IGUuanNvbigpO3Rocm93IEVycm9yKG8uZGV0YWlsKX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybiBvLmV4Y2hhbmdlJiYoYVtvLmV4Y2hhbmdlXT10KSx0fX0sNTU0NjU0KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse3NvbHV0aW9uSWRzOigpPT5sfSkKO2NvbnN0IGw9SlNPTi5wYXJzZSgneyJFWFRFTkRFRF9IT1VSUyI6NDMwMDA1MDIwMjMsIlBSRV9NQVJLRVQiOjQzMDAwNTAyMDIzLCJQT1NUX01BUktFVCI6NDMwMDA1MDIwMjMsIlNQUkVBRF9DSEFSVFMiOjQzMDAwNTAyMjk4LCJBTEVSVFMiOjQzMDAwNTIwMTQ5LCJBTEVSVF9PTl9TVFJBVEVHWSI6NDMwMDA0ODEzNjgsIkFMRVJUU19PTl9GVU5EQU1FTlRBTFMiOjQzMDAwNzg2ODMxLCJBTEVSVF9XRUJIT09LIjo0MzAwMDUyOTM0OCwiQUxFUlRfV0VCSE9PS19FUlJPUlMiOjQzMDAwNzc2ODk0LCJBTEVSVF9ERVNDUklQVElPTl9QTEFDRUhPTERFUiI6NDMwMDA1MzEwMjEsIkFMRVJUX1JFQ0VJVkVfTk9USUZJQ0FUSU9OU19PSF9QSE9ORSI6NDMwMDA0NzQzODksIkFMRVJUX1VTRV9BTFRFUk5BVElWRV9FTUFJTCI6NDMwMDA0NzQzOTQsIkFMRVJUX1dFQkhPT0tfQ1JFREVOVElBTFMiOjQzMDAwNzIyMDE1LCJBTEVSVF9LRUVQX1RPQVNUU19WSVNJQkxFIjo0MzAwMDczNzk4MiwiVk9MVU1FX1BST0ZJTEUiOjQzMDAwNTAyMDQwLCJWT0xVTUVfUFJPRklMRV9JTkRJQ0FUT1IiOjQzMDAwNTU3NDUwLCJSRU5LTyI6NDMwMDA1MDIyODQsIktBR0kiOjQzMDAwNTAyMjcyLCJMSU5FX0JSRUFLIjo0MzAwMDUwMjI3MywiUE5GIjo0MzAwMDUwMjI3NiwiRklOQU5DSUFMX0RBVEEiOjQzMDAwNTQzNTA2LCJCUk9LRVJfUkFUSU5HIjo0MzAwMDU0MjQ5MCwiQ1JZUFRPX01BUktFVF9DQVAiOjQzMDAwNTQwOTQxLCJDUllQVE9fUEFZTUVOVCI6NDMwMDA0ODU1MzYsIkFMRVJUX09OX1NQUkVBRCI6NDMwMDA0Nzg0MDYsIkFMRVJUX0RFR1JBREVEX1NUQVRFIjo0MzAwMDczOTUyMSwiQUxFUlRfT05fTE9HX1NDQUxFIjo0MzAwMDY5MDk0MiwiQUxFUlRfT05fQ1VTVE9NX1NDUklQVCI6NDMwMDA0Nzg0MTUsIkFMRVJUX09OX1BPU0lUSU9OIjo0MzAwMDUxNjk5MiwiQUxFUlRfRlVOQ1RJT04iOjQzMDAwNTk3NDk0LCJBTEVSVF9NVUxUSUNPTkRJVElPTlMiOjQzMDAwNzYxNDkyLCJBTEVSVF9OT1RJRklDQVRJT05fU0NIRURVTEUiOjQzMDAwNzg3MTk2LCJTTVNfVkVSSUZJQ0FUSU9OIjo0MzAwMDU1MzQyOSwiTUFHTkVUX01PREUiOjQzMDAwNTM3MjcwLCJQUklWQUNZX1NFVFRJTkdTIjo0MzAwMDU0ODMzNSwiUFVCTElDQVRJT05fVFlQRSI6NDMwMDA2MDk0OTcsIlNDUklQVF9BQ0NFU1MiOjQzMDAwNDgyNTczLCJGUkVFX1VTRVJfRkFRUyI6NDMwMDA1OTA5NDcsIlNUUkFURUdZX1VOUkVBTElTVElDX1JFU1VMVFMiOjQzMDAwNDgxMDI5LCJTVFJBVEVHWV9GVVRVUkVfREFUQSI6NDMwMDA2MTQ3MDUsIkhPV19UT19VU0VfUEFQRVIiOjQzMDAwNTE2NDY2LCJIT1dfVE9fVVNFX0NRRyI6NDMwMDA1MTYzNzIsIkhPV19UT19VU0VfT0FOREEiOjQzMDAwNTE2Mzc1LCJIT1dfVE9fVVNFX0ZPUkVYQ09NIjo0MzAwMDUxNjM3NCwiRkFWT1JJVEVfSURFQSI6NDMwMDA1NTUyMTYsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX1BVQkNMSUNBVElPTiI6NDMwMDA1NDk5NTEsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX0VESVQiOjQzMDAwNjE0NjE4LCJTQ1JJUFRfSU5TVFJVQ1RJT05TIjo0MzAwMDQ4MjU3MywiQkFSX1JFUExBWV9VTkFWQUlMQUJJTElUWSI6NDMwMDA0NzU0NzAsIldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0UiOjQzMDAwNDczOTI0LCJHT1BST19VUEdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ3MzMyNCwiR09QUk9fRE9XTkdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ4NTQzNywiR09QUk9fUkVORVdfQU5OVUFMX01PTlRITFlfREVTQ1JJUFRJT04iOjQzMDAwNjQ0NDkxLCJGSU5BTkNJQUxTX09XTkVSU0hJUCI6NDMwMDA2OTk0NzksIkZJTkFOQ0lBTFNfVkFMVUFUSU9OX1NVTU1BUlkiOjQzMDAwNjk5NDg0LCJGSU5BTkNJQUxTX1ZBTFVBVElPTl9SQVRJT1MiOjQzMDAwNjk5NDk1LCJGSU5BTkNJQUxTX0dST1dUSF9BTkRfUFJPRklUQUJJTElUWSI6NDMwMDA2OTk0ODUsIkZJTkFOQ0lBTFNfUkVWRU5VRV9UT19QUk9GSVRfQ09OVkVSU0lPTiI6NDMwMDA2OTk0OTYsIkZJTkFOQ0lBTFNfUkVWRU5VRV9CUkVBS0RPV05fQllfU09VUkNFIjo0MzAwMDY5OTQ4NywiRklOQU5DSUFMU19SRVZFTlVFX0JSRUFLRE9XTl9CWV9DT1VOVFJZIjo0MzAwMDY5OTQ5NywiRklOQU5DSUFMU19SRVZFTlVFX0VTVElNQVRFUyI6NDMwMDA2OTk0ODksIkZJTkFOQ0lBTFNfRUFSTklOR1NfRVNUSU1BVEVTIjo0MzAwMDY5OTQ5OCwiRklOQU5DSUFMU19ESVZJREVORF9TVU1NQVJZIjo0MzAwMDY5OTUwMCwiRklOQU5DSUFMU19ESVZJREVORF9ISVNUT1JZIjo0MzAwMDY5OTUwMSwiRklOQU5DSUFMU19ERUJUX0xFVkVMIjo0MzAwMDY5OTUwMiwiRklOQU5DSUFMU19QT1NJVElPTiI6NDMwMDA2OTk1MDMsIkZJUkVfQ09OVFJPTF9TT0xVVElPTiI6NDMwMDA2OTA5MzksIkJST0tFUkFHRV9SRVZJRVdTIjo0MzAwMDU5MTM1MSwiTElOS1NfVE9fU09DSUFMX01FRElBIjo0MzAwMDYzNTgwNiwiUElORV9MSUJSQVJZX0lORk8iOjQzMDAwNjM4MzcxLCJURUNITklDQUxfUkFUSU5HUyI6NDMwMDA2MTQzMzEsIkJBQ0tURVNUSU5HX1dJREdFVCI6NDMwMDA1NjIzNjIsIkJBQ0tURVNUSU5HX05PX0RBVEEiOjQzMDAwNDc4NDUwLCJCQUNLRU5EX0NPTk5FQ1RJT05TIjo0MzAwMDY5NDQ3NCwiREVFUF9CQUNLVEVTVElOR19XSURHRVQiOjQzMDAwNjcwNTY2LCJERUVQX0JBQ0tURVNUSU5HIjo0MzAwMDY2NjE5OSwiREVFUF9CQUNLVEVTVElOR19BVkFJTEFCTEVfREFUQSI6NDMwMDA2NjgyMTAsIkJFVEFfQlJPS0VSUyI6NDMwMDA2NzM0MzQsIlZJREVPX1VQTE9BRF9GQUlMRUQiOjQzMDAwNjY2NjA3LCJWSURFT19ERVZJQ0VfQUNDRVNTIjo0MzAwMDY3NzIwOSwiSU5WSVRFX09OTFlfU0NSSVBUUyI6NDMwMDA2MTQ2MTcsIkhPV19ET0VTX0JSQUNLRVRTX01BTkFHRU1FTlRfV09SSyI6NDMwMDA2MzE5ODcsIkhPV19UT19TRUVfVEhFX0RFRVBFU1RfSElTVF9EQVRBIjo0MzAwMDY4NzA1MywiSV9DQU5UX1NFRV9BTExfSElTVF9EQVRBX09OX1JFU19MT1dFUl9USEFOX0RBWSI6NDMwMDA0ODA2NzksIklERUFTX09OX0NIQVJUIjo0MzAwMDY5NDI4NSwiR0VUX0FfUkVGVU5EIjo0MzAwMDQ4NTQzMCwiVVNFX1NFVFRMRU1FTlRfQVNfQ0xPU0VfT05fREFJTFlfSU5UUkVWQUwiOjQzMDAwNjg1MjY4LCJBREpVU1RfRk9SX0NPTlRSQUNUX0NIQU5HRVMiOjQzMDAwNjg1MjY2LCJTV0lUQ0hJTkdfQ09OVElOVU9VU19GVVRVUkVTX0NPTlRSQUNUUyI6NDMwMDA2ODkzMTMsIkFESlVTVF9EQVRBX0ZPUl9ESVZJREVORFMiOjQzMDAwNTkwNTk3LCJXSFlfSVNfTVlfQUNDT1VOVF9CQU5ORUQiOjQzMDAwNjc0NzI2LCJURUxMX01FX01PUkVfQUJPVVRfVEhFX0NPTU1VTklUWV9TQ1JJUFRTIjo0MzAwMDU1ODUyMiwiSE9XX1RPX1BPU1RfQVdFU09NRV9JREVBU19BTkRfR0VUX0xPVFNfT0ZfTElLRVMiOjQzMDAwNjAzNzQ4LCJBQk9VVF9FWFBFUlRfUExBTiI6NDMwMDA2NzczODIsIkNPTk5FQ1RJT05TX0xJTUlUX0VYQ0VFREVEIjo0MzAwMDY5Mzg3NywiQUNDT1VOVF9SRUNPVkVSWSI6NDMwMDA2MTk1OTcsIkhPV19UT19TWU5DX0NIQVJUU19PTl9MQVlPVVQiOjQzMDAwNjI5OTkyLCJIT1dfVE9fU0VFX0JVSUxUSU5fSU5ESUNBVE9SX1NPVVJDRSI6NDMwMDA0ODE2NTksIk1VTFRJX0NIQVJUX01PREUiOjQzMDAwNjI5OTkwLCJRVUlDS19TRUFSQ0giOjQzMDAwNjU5NjcxLCJXSEFUU19BTl9JTkRJQ0FUT1IiOjQzMDAwNTQzNjI2LCJDSEFSVF9UWVBFUyI6NDMwMDA3MDM0MDcsIkRSQVdJTkdfVE9PTFMiOjQzMDAwNzAzMzk2LCJDVVNUT01fSU5URVJWQUxTIjo0MzAwMDU0Mzg4MywiQ1VTVE9NX1JBTkdFX0JBUlMiOjQzMDAwNDc0MDA3LCJDQU5ETEVTVElDS19QQVRURVJOUyI6NDMwMDA1ODQ0NjIsIk1VTFRJX1RJTUVGUkFNRV9DSEFSVFMiOjQzMDAwNTAyNTkxLCJCQVJfUkVQTEFZIjo0MzAwMDcxMjc0NywiUElORV9TQ1JJUFQiOjQzMDAwNTYxODM2LCJTQ1JFRU5FUl9PVkVSVklFVyI6NDMwMDA2MzU3OTYsIkFVVE9fQ0hBUlRfUEFUVEVSTlMiOjQzMDAwNjkwNDY0LCJIT1dfVE9fUFJPVEVDVF9ZT1VSX0FDQ09VTlQiOjQzMDAwNTgyMjc3LCJQTFVTX0JVVFRPTiI6NDMwMDA2NDUyNTYsIlBVUkNIQVNFX01BUktFVF9EQVRBIjo0MzAwMDQ3MTcwNSwiV0hZX1RBWF9IQVNfQkVFTl9BRERFRF9UT19NWV9CSUxMIjo0MzAwMDY4NDc0MSwiQ09NUEFSRV9TWU1CT0xTX1RPT0wiOjQzMDAwNTQzMDUzLCJTQVZFRF9DSEFSVCI6NDMwMDA2OTI0MDQsIkNVU1RPTV9JTkRJQ0FUT1IiOjQzMDAwNTQzMDQ4LCJCSVNUX01JWEVEX1NVQlNDUklQVElPTiI6NDMwMDA2MDkxMzcsIldIWV9SRU5LT19OT1RfV09SSyI6NDMwMDA3MTE1MDIsIkFMRVJUU19TRVBBUkFUSU9OX0JZX1RZUEUiOjQzMDAwNjk2NDAzLCJXQVRDSExJU1RfQUxFUlRTIjo0MzAwMDczOTcwOCwiSE9XX1RPX1NFVF9VUF9BTEVSVFMiOjQzMDAwNTk1MzE1LCJQSU5FX1NDUkVFTkVSIjo0MzAwMDc0MjQzNiwiRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzA3MzkxLCJTQ1JJUFRfUFVCTElTSElOR19SVUxFUyI6NDMwMDA1OTA1OTksIkhPV19UT19VU0VfTUlORFMiOjQzMDAwNjkwMjI2LCJIT1dfVE9fVVNFX1RSQURJTkdWSUVXX0NIQVQiOjQzMDAwNjA0NDQ4LCJQQVBFUl9DT01QRVRJVElPTiI6NDMwMDA1OTM1NzksIlBBUEVSX0NPTVBFVElUSU9OX0FDQ09VTlQiOjQzMDAwNzIxMzE1LCJQQVBFUl9DT01QRVRJVElPTl9QUklaRSI6NDMwMDA3MjEzMTcsIlBBUEVSX0NPTVBFVElUSU9OX0ZSRUVfQUNDT1VOVCI6NDMwMDA3MjEzMTAsIlBVQkxJU0hJTkdfQU5EX1VQREFUSU5HX0lERUFTIjo0MzAwMDU5MTMzOCwiVVNJTkdfTUlORFMiOjQzMDAwNjk2MzAxLCJQVUJMSVNIX1ZJREVPX0lERUEiOjQzMDAwNDc2NzUyLCJUQVJPVF9ERUNLIjo0MzAwMDcyNDAyMCwiVkFUX05VTUJFUl9HVUlERSI6NDMwMDA3MjE5MTAsIlBJTkVfUEVSRk9STUFOQ0VfUFJPRklMRVIiOjQzMDAwNzI1MjE2LCJQSU5FX0xPR1NfSU5GTyI6NDMwMDA3MTA4NzYsIklORElDQVRPUlMiOjQzMDAwNDc0MDQ4LCJDSEFSVF9EQVRBX0VYUE9SVCI6NDMwMDA1MzcyNTUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFUyI6NDMwMDA3MTMzMDYsIlRJQ0tfSU5URVJWQUxTIjo0MzAwMDcwOTIyNSwiVk9MVU1FX0ZPT1RQUklOVCI6NDMwMDA3MjYxNjQsIlZPTFVNRV9DQU5ETEVTIjo0MzAwMDcyNDk5NSwiSEVJS0lOX0FTSEkiOjQzMDAwNjE5NDM2LCJITENfQVJFQSI6NDMwMDA3MDkwNjIsIkJBU0VMSU5FIjo0MzAwMDY5MDIzMiwiSElHSF9MT1ciOjQzMDAwNjc3MTk2LCJDT0xVTU5TIjo0MzAwMDY3MzkxMiwiR0lGVFMiOjQzMDAwNzM5NDAxLCJIT1dfVE9fQkVDT01FX01PREVSQVRPUiI6NDMwMDA1OTEzNTYsIkhPV19UT19GSU5EX1BJTkVfUFJPR1JBTU1FUiI6NDMwMDA2MDE2NzcsIkhPV19UT19DSEFOR0VfUkVQTEFZX0lOVEVSVkFMIjo0MzAwMDczOTE1OCwiU0VBU09OQUxTIjo0MzAwMDc0NTIwMSwiQkFSX0NIQVJUUyI6NDMwMDA2NzI0MDMsIkNBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI2OSwiSE9MTE9XX0NBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI3MCwiTElORV9DSEFSVFMiOjQzMDAwNzQ1MjcxLCJTVEVQX0xJTkVfQ0hBUlRTIjo0MzAwMDc0NTI3MiwiTElORV9XSVRIX01BUktFUlNfQ0hBUlRTIjo0MzAwMDc0NTI3MywiQVJFQV9DSEFSVFMiOjQzMDAwNzQ1Mjc0LCJTRVNTSU9OX1ZPTFVNRV9QUk9GSUxFX0NIQVJUUyI6NDMwMDA3NDUyNzUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFU19DSEFSVFMiOjQzMDAwNzI1NTkwLCJCQUNLVEVTVElOR19CQVJfTUFHTklGSUVSIjo0MzAwMDY2OTI4NSwiQkFDS1RFU1RJTkdfQkFSX0RFVEFMSVpBVElPTiI6NDMwMDA3ODYxODAsIkJBQ0tURVNUSU5HX1NDUklQVF9FWEVDVVRJT04iOjQzMDAwNzg2MTc4LCJCUk9LRVJfRU1VTEFUT1IiOjQzMDAwNzg2MTgxLCJTT0NJQUxfTkVUV09SS19IT1VTRV9SVUxFUyI6NDMwMDA1OTE2MzgsIlFVSUNLX0FORF9FQVNZX0dVSURFIjo0MzAwMDcxODg4NSwiSE9XX1RPX1VTRV9GSUxURVJTIjo0MzAwMDcxODc0NSwiQ0hBUlRfVklFV19NT0RFIjo0MzAwMDcyNDIzMywiV0FUQ0hMSVNUX0FMRVJUU19IT1ciOjQzMDAwNjUzMzY5LCJXQVRDSExJU1RfQUxFUlRTX0NVU1RPTUlaRSI6NDMwMDA2NjI1MDYsIlBVQkxJU0hfQU5fSURFQSI6NDMwMDA1ODkwODMsIlNVUEVSQ0hBUlRTIjo0MzAwMDc0NjQ2NCwiQkFTSUNTIjo0MzAwMDc0NjY4MiwiVElNRV9JTlRFUlZBTFMiOjQzMDAwNzQ3OTM0LCJMQVlPVVRTIjo0MzAwMDc0Njk3NSwiQ09ORklHVVJFIjo0MzAwMDc0ODE2NiwiTUFTVEVSSU5HIjo0MzAwMDc0NTgyNSwiTVVMVElfVElNRUZSQU1FX0FOQUxZU0lTIjo0MzAwMDU5MTU1NSwiU0VUX1VQX0FMVEVSTkFUSVZFX0VNQUlMX0FERFJFU1MiOjQzMDAwNDc0Mzk4LCJERUxFVEVfQUNDT1VOVCI6NDMwMDA1NTA1MzQsIlNJR05BVFVSRV9PTl9QT1NUUyI6NDMwMDA0NzI3NzAsIlNDUkVFTkVSX0RFWCI6NDMwMDA3NDQ0NjUsIlNDUkVFTkVSX0NFWCI6NDMwMDA3NDYxMTAsIlNDUkVFTkVSX0NSWVBUTyI6NDMwMDA3MTg3NDIsIlNDUkVFTkVSX0JPTkQiOjQzMDAwNzQzOTUxLCJTQ1JFRU5FUl9FVEYiOjQzMDAwNzE4NzQzLCJTQ1JFRU5FUl9TVE9DSyI6NDMwMDA3MTg4NjYsIk9QVElPTlNfQlVJTERFUiI6NDMwMDA3MDcyMTQsIk5FV1NfRkxPVyI6NDMwMDA3Mjg4MjgsIkhPV19UT19DT05GSUdVUkVfMkZBIjo0MzAwMDU3MjQ2MCwiSU5UUkFEQVlfUkVOS09fS0FHSSI6NDMwMDA3NTg2MTcsIkRBVEFfRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzU5OTExLCJFQVJOSU5HU19DQUxFTkRBUiI6NDMwMDA3NTk5MTIsIkRJVklERU5EX0NBTEVOREFSIjo0MzAwMDc1OTkxMywiVEVDSE5JQ0FMX0FOQUxZU0lTIjo0MzAwMDc1OTU3NywiRlVOREFNRU5UQUxfQU5BTFlTSVMiOjQzMDAwNzU5NTc0LCJGSU5BTkNJQUxfU1RBVEVNRU5UU19IT1dUTyI6NDMwMDA3NjAwNTksIk9ORV9DTElDS19UUkFESU5HIjo0MzAwMDQ4MDkyMCwiT05FX1RBUF9UUkFESU5HIjo0MzAwMDc3NjI2NCwiUFJPRklUX0xPU1NfVFlQRV9TRUxFQ1RJT04iOjQzMDAwNzYxMTgxLCJUSVBTX0ZPUl9TQ1JJUFRfQVVUSE9SUyI6NDMwMDA1NDk5MzUsIlVQREFURV9QSU5FX1NDUklQVFMiOjQzMDAwNTMwNzIwLCJFWFBPUlRfU1RSQVRFR1lfREFUQSI6NDMwMDA2MTM2ODAsIllJRUxEX0NVUlZFUyI6NDMwMDA3NTgxMjMsIk5FV1NfQUxFUlRTIjo0MzAwMDc2MjgzOCwiUE9TSVRJT05TX0FORF9PUkRFUlNfT05fQ0hBUlQiOjQzMDAwNzYzMzYyLCJFWEVDVVRJT05TX01BUktTX09OX0NIQVJUIjo0MzAwMDc2MzM3MSwiUFJJQ0VfQUxFUlRTIjo0MzAwMDc2MzMxMywiVEVDSE5JQ0FMX0FMRVJUUyI6NDMwMDA3NjMzMTUsIkhJU1RPUklDQUxfREFUQSI6NDMwMDA2OTE4ODksIlBJTkVfRURJVE9SIjo0MzAwMDc2MzMyMCwiU1RSQVRFR1lfUFVCTElTSElOR19SVUxFUyI6NDMwMDA3NjQ2ODEsIkFTU0VUU19ZT1VfQ0FOX0FOQUxZWkUiOjQzMDAwNzY0ODg5LCJDSEFOR0VfQUNDT1VOVF9DVVJSRU5DWSI6NDMwMDA0ODA5MDMsIlNFVF9MRVZFUkFHRSI6NDMwMDA3NDI2OTksIlNDQU5fU1RPQ0tTIjo0MzAwMDY2OTg3NywiTUFDUk9fTUFQUyI6NDMwMDA3NjQ5MjUsIk9QVElPTlNfQ0hBSU4iOjQzMDAwNzYwODM3LCJHUkVFS1MiOjQzMDAwNzA4MTM3LCJTRUNPTkRfQkFTRURfSU5URVJWQUxTIjo0MzAwMDc2MjA2OCwiUEFJRF9TUEFDRSI6NDMwMDA3NjU4NzcsIlBBSURfU1BBQ0VfQVVUSE9SX1JVTEVTIjo0MzAwMDc2NTg3OCwiQ1JFQVRPUl9QUk9HUkFNX1BBSURfU1BBQ0VTX1RFUk1TIjo0MzAwMDc3MjE3NywiRUFSTklOR19MT0xMSVBPUF9GSUVMRFMiOjQzMDAwNjI5NzkwLCJFVkVSWVRISU5HX1lPVV9XQU5UX1RPX0tOT1ciOjQzMDAwNTgxODE3LCJNVUxUSVBMRV9MRVZFTFMiOjQzMDAwNzcyMzM0LCJIRUFUTUFQUyI6NDMwMDA3NjY0NDYsIldIQVRfSUZfU0NFTkFSSU9TIjo0MzAwMDc2Mjk1MywiT1BUSU9OU19TVFJBVEVHWSI6NDMwMDA3MDgxMDMsIk9QVElPTlNfRVhQSVJBVElPTiI6NDMwMDA3MzU2MTMsIk5FV1NfQllfTUFSS0VUIjo0MzAwMDczMjU2MiwiTkVXU19CWV9QUk9WSURFUiI6NDMwMDA3MzI1NjUsIk5FV1NfQllfQ09SUE9SQVRJT04iOjQzMDAwNzMyNTYzLCJDSEFSVFNfT1JERVJfVFJBQ0tJTkciOjQzMDAwNzY2MzM0LCJGVU5EQU1FTlRBTF9HUkFQSFMiOjQzMDAwNzYzMzc2LCJDT05URVhUX0hJTlRTIjo0MzAwMDU0Mjk2MywiSU5ESUNBVE9SU19WRVJTSU9OUyI6NDMwMDA3NDY3NTIsIlNUUkFURUdZX1RFU1RFUiI6NDMwMDA3NjQxMzgsIlRIRV9MRUFQIjo0MzAwMDc3MTU5NCwiUE9SVEZPTElPUyI6NDMwMDA3NjA5MzcsIldBVENITElTVF9TQ1JFRU5FUl9TRUFSQ0giOjQzMDAwNDczOTMwLCJIT1RMSVNUUyI6NDMwMDA3NjIwMjksIkRFUFRIX09GX01BUktFVCI6NDMwMDA1MTY0NTksIkxBU1RfT1BFTl9DSEFSVF9NT0JJTEUiOjQzMDAwNzU1NDc5LCJJT1NfUFVTSEVTIjo0MzAwMDQ3NDU5MCwiSU9TX0VESVRfV0lER0VUUyI6NDMwMDA3NTQ1MzYsIk1VTFRJQVBQX1dJTkRPV1MiOjQzMDAwNjExNTQzLCJTWU1CT0xfU1lOQ0lORyI6NDMwMDA2NzM4OTMsIkRFU0tUT1BfQVBQIjo0MzAwMDY3MTYxOCwiQ1VTVE9NRVJfU1VQUE9SVCI6NDMwMDA2NDgyNDgsIlJFTktPX0NIQVJUX0RJU1BMQVlfSVNTVUVTIjo0MzAwMDQ3NDMwNSwiQUNDRVNTX0FDUk9TU19ERVZJQ0VTIjo0MzAwMDc3NzcxOCwiV0FUQ0hMSVNUX0FTX0ZJTFRFUiI6NDMwMDA3MjQ1NDksIkRBVEFfRVhQT1JUIjo0MzAwMDQ3NDQzMiwiU0NSRUVORVJfVElNRUZSQU1FUyI6NDMwMDA3MjM2MTYsIlNIQVJFX1BPUlRGT0xJTyI6NDMwMDA3ODc1ODd9JykKfSwzODk4NDQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKG8pe3JldHVybiB0KCk/MDpjKCk/NDU6TWF0aC5taW4oTWF0aC5tYXgobyw0NSksNDUwKX1lLmQocix7Z2V0V2lkZ2V0QmFyUGFkZGluZzooKT0+bH0pO2NvbnN0IHQ9KCk9PiF3aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogNzY4cHgpIikubWF0Y2hlcyxjPSgpPT4hd2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEyODBweCkiKS5tYXRjaGVzfSw1NTcwNjUobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIG5hdmlnYXRvci5hbmRyb2lkQ2xpcGJvYXJkPz9uYXZpZ2F0b3IuY2xpcGJvYXJkfWZ1bmN0aW9uIHQobyl7cmV0dXJuIGMobyxudWxsKX1mdW5jdGlvbiBjKG8scil7Y29uc3QgZT1vLmZpbGVzJiZvLmZpbGVzLmxlbmd0aD4wO2lmKCFlJiZyJiZyLmV2ZW50UGhhc2U+MClyZXR1cm4gYShyLG8pLFByb21pc2UucmVzb2x2ZSgpO2lmKCFlKXtsZXQgcj0hMTtjb25zdCBlPWU9PntlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGEoZSxvKSxyPSEwfTt0cnl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsZSwhMCksZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKX1maW5hbGx5e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLGUsITApfWlmKHIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBhc3luYyBmdW5jdGlvbihvKXtjb25zdCByPWwoKTtpZighcnx8IXIud3JpdGV8fCF3aW5kb3cuQ2xpcGJvYXJkSXRlbSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJDbGlwYm9hcmRBcGkgaXMgbm90IHN1cHBvcnRlZCIsIk5vdFN1cHBvcnRlZEVycm9yIik7Y29uc3QgZT17fTtmb3IoY29uc3QgciBvZiBvLmZpbGVzfHxbXSllW3IudHlwZV09cjtvLnRleHQmJihlWyJ0ZXh0L3BsYWluIl09by50ZXh0KTtvLmh0bWwmJihlWyJ0ZXh0L2h0bWwiXT1vLmh0bWwpO3JldHVybiByLndyaXRlKFtuZXcgd2luZG93LkNsaXBib2FyZEl0ZW0oZSldKX0obyl9ZnVuY3Rpb24gYShvLHIpe28ucHJldmVudERlZmF1bHQoKTtjb25zdCBlPW8uY2xpcGJvYXJkRGF0YTtyLnRleHQmJmUuc2V0RGF0YSgidGV4dC9wbGFpbiIsci50ZXh0KSxyLmh0bWwmJmUuc2V0RGF0YSgidGV4dC9odG1sIixyLmh0bWwpfWFzeW5jIGZ1bmN0aW9uIG4obyxyKXtjb25zdCBlPWwoKTtpZigidGV4dC9wbGFpbiI9PT1yJiYhZS53cml0ZSl7Y29uc3Qgcj1hd2FpdCBvO3JldHVybiBlLndyaXRlVGV4dChhd2FpdCByLnRleHQoKSl9aWYoIWV8fCFlLndyaXRlfHwhd2luZG93LkNsaXBib2FyZEl0ZW0pdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0PW51bGw7dHJ5e3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06b30pfWNhdGNoKGUpe3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06YXdhaXQgb30pfWlmKHQpcmV0dXJuIGUud3JpdGUoW3RdKTt0aHJvdyBuZXcgRXJyb3IoIkNsaXBib2FyZEFwaSBpcyBub3Qgc3VwcG9ydGVkIil9ZS5kKHIse2NvcHlUb0NsaXBib2FyZDooKT0+dCxnZXRDbGlwYm9hcmQ6KCk9Pmwsd3JpdGVJbXBsOigpPT5jLHdyaXRlUHJvbWlzZVVzaW5nQXBpOigpPT5ufSl9LDcyNzA2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthZHdvcmRzQW5hbHl0aWNzRW5hYmxlZDooKT0+YSxjcmVhdGVJbWFnZTooKT0+dCxtYXJrZXRpbmdBbmFseXRpY3NFbmFibGVkOigpPT5jfSk7dmFyIGw9ZSg1NjkzOTgpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gci5zcmM9byxyfWZ1bmN0aW9uIGMoKXtyZXR1cm4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJtYXJrZXRpbmctYW5hbHl0aWNzIil9ZnVuY3Rpb24gYSgpe3JldHVybigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImFkd29yZHMtYW5hbHl0aWNzIil9fSwxNTc5MTcobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7Q21FdmVudDooKT0+bCx0cmFja0NtRXZlbnQ6KCk9Pml9KSxmdW5jdGlvbihvKXtvLlBhZ2VWaWV3PSJwYWdlVmlldyIsby5BYm91dFZpc2l0PSJhYm91dFZpc2l0IixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0icmVnaXN0cmF0aW9uQ29tcGxldGVkIixvLlRyaWFsU2lnblVwPSJ0cmlhbFNpZ25VcCIsby5QYWlkUGxhbkFjcXVpcmVkPSJwYWlkUGxhbkFjcXVpcmVkIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2Nik7Y29uc3QgYz17W2wuUGFnZVZpZXddOnt0eXBlOiJ3Y291bnQiLGNhdDoidmlzaXQifSxbbC5BYm91dFZpc2l0XTp7dHlwZToid2NvdW50IixjYXQ6InRyYWRpMDAifSxbbC5SZWdpc3RyYXRpb25Db21wbGV0ZWRdOnt0eXBlOiJ3Y291bnQiLGNhdDoidHJhZGkwMDAifSxbbC5UcmlhbFNpZ25VcF06e3R5cGU6Indjb3VudCIsY2F0OiJ0cmFkaTAwMSJ9LFtsLlBhaWRQbGFuQWNxdWlyZWRdOnt0eXBlOiJ3c2FsZXMiLGNhdDoidHJhZGkwIn19O2Z1bmN0aW9uIGEoKXtyZXR1cm4gZnVuY3Rpb24obz0iX3NwXyIpe2NvbnN0IHI9bmV3IFJlZ0V4cChvKyJpZFxcLlthLWYwLTldKz0oW147XSspOz8iKSxlPWRvY3VtZW50LmNvb2tpZS5tYXRjaChyKTtyZXR1cm4gZSYmZVsxXT9lWzFdLnNwbGl0KCIuIilbMF06IiJ9KCl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBvJiZudWxsIT1yLnRyYW5zYWN0aW9uSWQ/ci50cmFuc2FjdGlvbklkOmAke0RhdGUubm93KCl9JHtNYXRoLmZsb29yKDFlOSpNYXRoLnJhbmRvbSgpKX1gfWZ1bmN0aW9uIGkobyxyPXt9KXsoMCx0LmNyZWF0ZUltYWdlKShmdW5jdGlvbihvLHI9e30pe2NvbnN0e3R5cGU6ZSxjYXQ6bH09Y1tvXSx0PSJ3c2FsZXMiPT09ZSxpPXQ/ZnVuY3Rpb24obyl7bGV0IHI9InF0eT0xOyI7cmV0dXJuIG51bGwhPW8udmFsdWUmJihyKz1gY29zdD0ke28udmFsdWV9O2ApLHJ9KHIpOiIiCjtyZXR1cm5gaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz0xMzkxOTM5OTt0eXBlPSR7ZX07Y2F0PSR7bH07JHtpfSR7W2B1Mjc9JHthKCl9YCxgdTI4PSR7d2luZG93LnVzZXIuaWR9YCwiZGNfbGF0PSIsImRjX3JkaWQ9IiwidGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9IiwidGZ1YT0iLCJucGE9Il0uam9pbigiOyIpfTtvcmQ9JHtuKHQscil9P2B9KG8scikpfX0sMTQxMzEobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7R1RhZ0V2ZW50OigpPT5sLHRyYWNrR1RhZ0Fkc0V2ZW50OigpPT55fSksZnVuY3Rpb24obyl7by5QYWdlVmlldz0ia3duUkNQNkF3cXNCRU9UdnZ1RUQiLG8uVHJpYWxTaWduVXA9IjZfZ0NDT3llanNBQ0VLM3NxNmdCIixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0iSnpZaENJT3I1NzhDRUszc3E2Z0IiLG8uUGFpZFBsYW5BY3F1aXJlZD0iY2E4aUNOckc1NzhDRUszc3E2Z0IifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNjgwODQyKSxhPWUoMTE3MzEzKSxuPWUoMzE4OTc0KSxpPWUoNjMxNjM0KSxkPWUoNzI3MDY2KSxzPWUoNDQ5NTA4KTtsZXQgZz0hMSx1PSExO2Z1bmN0aW9uIHAoKXtyZXR1cm4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fG4uQ2hlY2tNb2JpbGUuaU9TKCl8fCgwLG4uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxuLmlzRGVza3RvcEFwcCkoKX1mdW5jdGlvbiBDKG8pe3JldHVybiEoIW98fHAoKSkmJigoMCxzLmVuc3VyZUd0YWdCb290c3RyYXApKG8pLHV8fCh3aW5kb3cuZ3RhZygiY29uc2VudCIsImRlZmF1bHQiLHthZF9zdG9yYWdlOigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BZHZlcnRpc2luZyk/ImdyYW50ZWQiOiJkZW5pZWQifSksdC5zdWJzY3JpYmUoYy5jb29raWVTZXR0aW5nc0NoYW5nZUV2ZW50LCgobyxyKT0+e289PT1jLkNvb2tpZVNldHRpbmdzLkFkdmVydGlzaW5nJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FkX3N0b3JhZ2U6cj8iZ3JhbnRlZCI6ImRlbmllZCJ9KX0pLG51bGwpLHU9ITApLCEwKX1mdW5jdGlvbiB5KG8scj17fSl7aWYoZnVuY3Rpb24oKXtpZihnfHwhKDAsZC5hZHdvcmRzQW5hbHl0aWNzRW5hYmxlZCkoKXx8cCgpKXJldHVybjsoMCxpLnVwZGF0ZUluaXREYXRhKSgpO2NvbnN0IG89KDAsaS5nZXRJbml0RGF0YSkoKTtvLmdhZHdJZCYmQyhvLmdhZHdJZCkmJihnPSEwLHdpbmRvdy5ndGFnKCJjb25maWciLG8uZ2Fkd0lkKSl9KCksIWcpcmV0dXJuO2NvbnN0IGU9KDAsaS5nZXRJbml0RGF0YSkoKS5nYWR3SWQ7d2luZG93Lmd0YWcoImV2ZW50IiwiY29udmVyc2lvbiIse3NlbmRfdG86YCR7ZX0vJHtvfWAsdXNlcl9pZDp3aW5kb3cudXNlci5pZCwuLi5yfSl9fSw0NDk1MDgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZW5zdXJlR3RhZ0Jvb3RzdHJhcDooKT0+YX0pO3ZhciBsPWUoMTk4NTgxKTtsZXQgdD0hMSxjPSExO2Z1bmN0aW9uIGEobyl7byYmKHR8fCgoMCxsLmFwcGVuZFNjcmlwdCkoKG89PmBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPSR7b31gKShvKSksdD0hMCksQXJyYXkuaXNBcnJheSh3aW5kb3cuZGF0YUxheWVyKXx8KHdpbmRvdy5kYXRhTGF5ZXI9W10pLGN8fCh3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe3dpbmRvdy5kYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpfSx3aW5kb3cuZ3RhZygianMiLG5ldyBEYXRlKSxjPSEwKSl9fSw1NDkxOTkobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7VHdpdHRlckV2ZW50OigpPT5sLHRyYWNrVHdpdHRlckV2ZW50OigpPT5hfSksZnVuY3Rpb24obyl7by5TaXRlVmlzaXQ9Im8yZWcyIixvLlRyaWFsU2lnblVwPSJvMXdqbyIsby5SZWdpc3RyYXRpb25Db21wbGV0ZWQ9Im8xd2pxIixvLlBhaWRQbGFuQWNxdWlyZWQ9Im8xd2pyIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2NiksYz1lKDY4MDg0Mik7ZnVuY3Rpb24gYShvKXsoMCx0Lm1hcmtldGluZ0FuYWx5dGljc0VuYWJsZWQpKCkmJigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpJiYobz0+W2BodHRwczovL2FuYWx5dGljcy50d2l0dGVyLmNvbS9pL2Fkc2N0P3R4bl9pZD0ke299JnBfaWQ9VHdpdHRlciZ0d19zYWxlX2Ftb3VudD0wJnR3X29yZGVyX3F1YW50aXR5PTBgLGBodHRwczovL3QuY28vaS9hZHNjdD90eG5faWQ9JHtvfSZwX2lkPVR3aXR0ZXImdHdfc2FsZV9hbW91bnQ9MCZ0d19vcmRlcl9xdWFudGl0eT0wImBdKShvKS5tYXAodC5jcmVhdGVJbWFnZSl9fSwxOTg1ODEobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YXBwZW5kU2NyaXB0OigpPT50fSk7dmFyIGw9ZSg1ODQ2NzcpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLmFzeW5jPSEwLHIuc3JjPW87Y29uc3QgZT0oMCxsLmdldENzcE5vbmNlKSgpO3JldHVybiBlJiZyLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocikscn19LDY4MDg0MihvLHIsZSl7InVzZSBzdHJpY3QiO3ZhciBsO2UuZChyLHtDb29raWVTZXR0aW5nczooKT0+bCxiYW5uZXJQcml2YWN5UHJlZmVyZW5jZUtleTooKT0+cCxjaGVja0Jhbm5lclByaXZhY3lQcmVmZXJlbmNlS2V5OigpPT5mLGNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQ6KCk9PmQsZ2V0Q29va2llU2V0dGluZzooKT0+TixoaWRlQmFubmVyOigpPT5TLHJlamVjdEJhbm5lcjooKT0+dixzZXRDb29raWVTZXR0aW5nOigpPT5SfSksZnVuY3Rpb24obyl7by5BbmFseXRpY3M9ImFuYWx5dGljcyIsby5BZHZlcnRpc2luZz0iYWR2ZXJ0aXNpbmcifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNzY4NzYwKSxhPWUoOTMyMzY1KSxuPWUoMTYwMjk2KSxpPWUoNTg3NDM2KTtjb25zdCBkPSJjb29raWVfc2V0dGluZ3NfY2hhbmdlZCIscz0oKDAsYy5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikpLGc9KDAsCm4uaXNMb2NhbCkoKT8iIjoiLiIrcy5zbGljZSgxLHMubGVuZ3RoKS5qb2luKCIuIiksdT0iY29va2llQmFubmVyIixwPSgwLG4uaXNQcm9kKSgpPyJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lclByb2R1Y3Rpb24iOiJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lckxvY2FsIixDPSJhY2NlcHRlZCIseT0ibm90QXBwbGljYWJsZSIsYj0icmVqZWN0IixoPSJjb29raWVzU2V0dGluZ3MiLEU9ImxvY2FsQ29va2llc1NldHRpbmdzIixtPSJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lciIsQT17W2wuQW5hbHl0aWNzXTohMSxbbC5BZHZlcnRpc2luZ106ITF9O2Z1bmN0aW9uIF8oKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHUpfWZ1bmN0aW9uIFQobyl7cmV0dXJuW0MseSxiXS5pbmNsdWRlcyhhLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obyk/PyIiKX1mdW5jdGlvbiBmKCl7cmV0dXJuIG89cCxbQyx5LGJdLmluY2x1ZGVzKGkuZ2V0KG8pPz8iIik7dmFyIG99ZnVuY3Rpb24gUygpe3coQyl9ZnVuY3Rpb24gdigpe3coYil9ZnVuY3Rpb24gdyhvKXtpLnNldChwLG8sMzY1MywiLyIsZyl9ZnVuY3Rpb24gUihvLHIpe0Fbb109cixpLnNldCgoMCxuLmlzUHJvZCkoKT9oOkUsSlNPTi5zdHJpbmdpZnkoQSksMzY1MywiLyIsZyksdC5lbWl0KGQsbyxyKX1mdW5jdGlvbiBOKG8pe3JldHVybiBBW29dfWZ1bmN0aW9uIEkoKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG0pfSFmdW5jdGlvbigpe2NvbnN0IG89aS5nZXQoKDAsbi5pc1Byb2QpKCk/aDpFKSxyPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShtKSxlPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShoKTtpZihvKXtyJiZlJiYoSSgpLGEuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShoKSksVCh1KSYmXygpO3RyeXtjb25zdCByPUpTT04ucGFyc2Uobyk7QVtsLkFuYWx5dGljc109cj8uW2wuQW5hbHl0aWNzXXx8ITEsQVtsLkFkdmVydGlzaW5nXT1yPy5bbC5BZHZlcnRpc2luZ118fCExfWNhdGNoe319ZWxzZSBpZihUKHUpJiYoUihsLkFuYWx5dGljcywhMCksUihsLkFkdmVydGlzaW5nLCEwKSxTKCksXygpKSxyJiZlKXtjb25zdCBvPUpTT04ucGFyc2UoZSk7dyhyKSxSKGwuQW5hbHl0aWNzLG8/LltsLkFuYWx5dGljc10pLFIobC5BZHZlcnRpc2luZyxvPy5bbC5BZHZlcnRpc2luZ10pLEkoKSxhLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaCl9fSgpfSw1ODQ2NzcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKG51bGwhPT1vKXJldHVybiBvLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8by5ub25jZX0oZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpKX1lLmQocix7Z2V0Q3NwTm9uY2U6KCk9Pmx9KX0sMTEyNTQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldENTU1Byb3BlcnR5OigpPT5uLGdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlOigpPT5pLGdldENvbnRlbnRXaWR0aDooKT0+YyxnZXRTY3JvbGxiYXJXaWR0aDooKT0+bCxtYXRjaE1lZGlhTWluTWF4OigpPT50LHNldFN0eWxlOigpPT5hfSk7Y29uc3QgbD0oKCk9PntsZXQgbztyZXR1cm4oKT0+e2lmKHZvaWQgMD09PW8pe2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1yLnN0eWxlO2UudmlzaWJpbGl0eT0iaGlkZGVuIixlLndpZHRoPSIxMDBweCIsZS5tc092ZXJmbG93U3R5bGU9InNjcm9sbGJhciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyKTtjb25zdCBsPXIub2Zmc2V0V2lkdGg7ci5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3Quc3R5bGUud2lkdGg9IjEwMCUiLHIuYXBwZW5kQ2hpbGQodCk7Y29uc3QgYz10Lm9mZnNldFdpZHRoO3IucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQociksbz1sLWN9cmV0dXJuIG99fSkoKTtmdW5jdGlvbiB0KG8scil7cmV0dXJuIHI9PT0xLzA/d2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6ICR7b31weClgKTp3aW5kb3cubWF0Y2hNZWRpYShgKG1pbi13aWR0aDogJHtvfXB4KSBhbmQgKG1heC13aWR0aDogJHtyfXB4KWApfWZ1bmN0aW9uIGMobyl7cmV0dXJuIGkobywid2lkdGgiKS1pKG8sInBhZGRpbmctbGVmdCIpLWkobywicGFkZGluZy1yaWdodCIpfWZ1bmN0aW9uIGEobyxyLGUpe251bGwhPT1vJiZvLnN0eWxlLnNldFByb3BlcnR5KHIsZSl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBnZXRDb21wdXRlZFN0eWxlKG8sbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShyKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuIHBhcnNlSW50KG4obyxyKSl9fSw4NzI1MTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c2V0Rml4ZWRCb2R5U3RhdGU6KCk9Pm59KTt2YXIgbD1lKDExMjU0MiksdD1lKDM4OTg0NCk7bGV0IGM9MCxhPSExO2Z1bmN0aW9uIG4obyl7Y29uc3R7Ym9keTpyfT1kb2N1bWVudCxlPXIucXVlcnlTZWxlY3RvcigiLndpZGdldGJhci13cmFwIik7aWYobyYmMT09KytjKXtjb25zdCBvPSgwLGwuZ2V0Q1NTUHJvcGVydHkpKHIsIm92ZXJmbG93IiksdD0oMCxsLmdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlKShyLCJwYWRkaW5nLXJpZ2h0Iik7ImhpZGRlbiIhPT1vLnRvTG93ZXJDYXNlKCkmJnIuc2Nyb2xsSGVpZ2h0PnIub2Zmc2V0SGVpZ2h0JiYoKDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLGAkeygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgKSxyLnN0eWxlLnBhZGRpbmdSaWdodD1gJHt0KygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgLGE9ITApLHIuY2xhc3NMaXN0LmFkZCgiaS1uby1zY3JvbGwiKX1lbHNlIGlmKCFvJiZjPjAmJjA9PS0tYyYmKHIuY2xhc3NMaXN0LnJlbW92ZSgiaS1uby1zY3JvbGwiKSxhKSl7KDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLCIwcHgiKTtsZXQgbz0wO289ZT8oMCx0LmdldFdpZGdldEJhclBhZGRpbmcpKCgwLGwuZ2V0Q29udGVudFdpZHRoKShlKSk6MCxyLnNjcm9sbEhlaWdodDw9ci5jbGllbnRIZWlnaHQmJihvLT0oMCxsLmdldFNjcm9sbGJhcldpZHRoKSgpKSwKci5zdHlsZS5wYWRkaW5nUmlnaHQ9KG88MD8wOm8pKyJweCIsYT0hMX19fSwxNTI3MTcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c3luY1VzZXJDb252ZXJzaW9uRGF0YTooKT0+dSxzeW5jVXNlckRhdGE6KCk9Pmd9KTt2YXIgbD1lKDIyMTA2MSksdD1lKDM4NjkzMSksYz1lKDgyNzAxKSxhPWUoMzg0MDE3KSxuPWUoNTI0MDY5KTtjb25zdCBpPSgwLGwuZ2V0TG9nZ2VyKSgiVXNlci5TeW5jIik7ZnVuY3Rpb24gZChvKXtyZXR1cm5gJHtvfV8ke3dpbmRvdy51c2VyJiZ3aW5kb3cudXNlci51c2VybmFtZXx8IiJ9YH1mdW5jdGlvbiBzKG8pe2NvbnN0e3NvdXJjZTpyLGlzQXV0aGVudGljYXRlZDplLHByb1BsYW46bCxvZmZlcnM6YSxmaXJlTG9naW5DaGFuZ2U6bj0hMH09bztsIT09d2luZG93LnVzZXIucHJvX3BsYW4mJih3aW5kb3cudXNlci5wcm9fcGxhbj1sLHdpbmRvdy51c2VyLmlzX3Bybz1Cb29sZWFuKGwpLCgwLHQudHJhY2tFdmVudCkoIlN5bmMgVXNlciBEYXRhIiwiRGlmZmVyZW50IFBybyBQbGFuIixkKHIpKSksZSE9PXdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ZSxuJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5maXJlKCksKDAsdC50cmFja0V2ZW50KSgiU3luYyBVc2VyIERhdGEiLCJEaWZmZXJlbnQgQXV0aCIsZChyKSkpLGEmJmMuYXZhaWxhYmxlT2ZmZXJzLnNldEluaXRpYWwoYSl9YXN5bmMgZnVuY3Rpb24gZyhvKXt0cnl7cyh7c291cmNlOm8saXNBdXRoZW50aWNhdGVkOiEwLHByb1BsYW46KGF3YWl0KDAsbi5nZXRQcm9QbGFuRGV0YWlsc0ZvclVzZXIpKCkpLnByb19wbGFufSl9Y2F0Y2gocil7IWZ1bmN0aW9uKG8scil7NDAzPT09ci5zdGF0dXMmJlsibm90X2F1dGhlbnRpY2F0ZWQiLCJsb2dpbl9yZXF1aXJlZCJdLmluY2x1ZGVzKHIudHlwZXx8IiIpP3Moe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDohMSxwcm9QbGFuOnZvaWQgMH0pOmkubG9nRXJyb3Ioci5tZXNzYWdlKX0obyxyKX19YXN5bmMgZnVuY3Rpb24gdShvLHI9ITApe2NvbnN0IGU9bmV3IFVSTCgiL3ByaWNpbmcvIix3aW5kb3cubG9jYXRpb24ub3JpZ2luKSxsPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7bC5oYXMoIl90ZXN0X2NvdW50cnkiKSYmZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJfdGVzdF9jb3VudHJ5IixsLmdldCgiX3Rlc3RfY291bnRyeSIpPz8iIiksZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjb21wb25lbnQtZGF0YS1vbmx5IiwiMSIpO2NvbnN0IHQ9YXdhaXQoMCxhLmZldGNoKShlLmhyZWYpLGM9YXdhaXQgdC5qc29uKCk7cmV0dXJuIHMoe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDpjLmlzX2F1dGhlbnRpY2F0ZWQscHJvUGxhbjpjLnVzZXIucHJvX3BsYW4sZmlyZUxvZ2luQ2hhbmdlOnIsb2ZmZXJzOmMudXNlci5hdmFpbGFibGVfb2ZmZXJzfSksY319LDQzMjc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtERUZBVUxUX1RIRU1FOigpPT5sfSk7Y29uc3QgbD0ibGlnaHQifSwyNDQ2NjQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7dGhlbWVzOigpPT5ufSk7dmFyIGw9ZSg4MTA0MSksdD1lKDE4NTI3MSkKO2NvbnN0IGM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYmctaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10ZXh0LXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10ZXh0LXRlcnRpYXJ5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXRleHQtZGlzYWJsZWQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYWNjZW50LWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNDUwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS1hOTAwIiwiY29sb3ItaXRlbS1ob3Zlci1hY3RpdmUtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBhbmUtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10di1idXR0b24tY2hlY2tlZCI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10di1kaWFsb2ctY2FwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saXN0LWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saXN0LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItbGlzdC1pdGVtLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC1iYWNrIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXIiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJlLW1hcmtldCI6ImNvbG9yLXRhbi1vcmFuZ2UtNjAwIiwiY29sb3ItcG9zdC1tYXJrZXQiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5vdGFjY3VyYXRlLW1vZGUiOiJjb2xvci1iZXJyeS1waW5rLWEyMDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE3MDAiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktOTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3Itd2hpdGUiLCJjb2xvci1ib29zdC1idXR0b24tYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3IteC10d2l0dGVyLWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTYwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItYmxhY2siLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtYTcwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAifScpCjt2YXIgYT1lKDUwNTU2KTtjb25zdCBuPXtbbC5TdGRUaGVtZS5MaWdodF06e25hbWU6bC5TdGRUaGVtZS5MaWdodCxsYWJlbDooKT0+dC50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0sZSgyNDcxNjcpKSxvcmRlcjoyLGdldFRoZW1lZENvbG9yOm89PigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKG8pfSxbbC5TdGRUaGVtZS5EYXJrXTp7bmFtZTpsLlN0ZFRoZW1lLkRhcmssbGFiZWw6KCk9PnQudChudWxsLHtjb250ZXh0OiJjb2xvclRoZW1lTmFtZSJ9LGUoOTQ1MzYyKSksb3JkZXI6MSxnZXRUaGVtZWRDb2xvcjpvPT57Y29uc3Qgcj1jW29dfHxvO3JldHVybigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKHIpfX19fSw0NTM5NjgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7aXNTdGRUaGVtZU5hbWU6KCk9PnR9KTt2YXIgbD1lKDgxMDQxKTtmdW5jdGlvbiB0KG8pe3JldHVybiBvPT09bC5TdGRUaGVtZS5MaWdodHx8bz09PWwuU3RkVGhlbWUuRGFya319LDUwNzYwNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnM6KCk9Pm59KTt2YXIgbD1lKDUwNTU2KSx0PWUoODczNTczKTtjb25zdCBjPXtjb2xvckJsYWNrOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ibGFjayIpLGNvbG9yV2hpdGU6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXdoaXRlIiksY29sb3JUdkJsdWU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MCIpLGNvbG9yVHZCbHVlMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTIwMCIpLGNvbG9yVHZCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTQwMCIpLGNvbG9yVHZCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGNvbG9yVHZCbHVlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yVHZCbHVlODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTgwMCIpLGNvbG9yVHZCbHVlQTgwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS1hODAwIiksY29sb3JEZWVwQmx1ZTIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZGVlcC1ibHVlLTIwMCIpLGNvbG9yRGVlcEJsdWUzMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS0zMDAiKSxjb2xvckRlZXBCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtNTAwIiksY29sb3JEZWVwQmx1ZUEyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksY29sb3JEZWVwQmx1ZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNDAwIiksY29sb3JEZWVwQmx1ZUE3MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNzAwIiksY29sb3JTa3lCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1za3ktYmx1ZS00MDAiKSxjb2xvclNreUJsdWU1MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLTUwMCIpLGNvbG9yU2t5Qmx1ZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtNzAwIiksY29sb3JTa3lCbHVlQTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtYTQwMCIpLGNvbG9yRGVmYXVsdFJlZDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3IteW91dHViZSIpLGNvbG9yUmlwZVJlZDIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtMjAwIiksY29sb3JSaXBlUmVkMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC0zMDAiKSxjb2xvclJpcGVSZWQ0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTQwMCIpLGNvbG9yUmlwZVJlZDUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksY29sb3JSaXBlUmVkNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxjb2xvclJpcGVSZWQ4MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTgwMCIpLGNvbG9yUmlwZVJlZEE5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLWE5MDAiKSxjb2xvclJpcGVSZWRBNzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC1hNzAwIiksY29sb3JHcmFwZXNQdXJwbGVBMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLWEyMDAiKSxjb2xvckdyYXBlc1B1cnBsZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGNvbG9yR3JhcGVzUHVycGxlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTUwMCIpLGNvbG9yR3JhcGVzUHVycGxlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTYwMCIpLGNvbG9yQmVycnlQaW5rNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTQwMCIpLGNvbG9yQmVycnlQaW5rNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTUwMCIpLGNvbG9yTWludHlHcmVlbjEwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tMTAwIiksY29sb3JNaW50eUdyZWVuMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi0yMDAiKSxjb2xvck1pbnR5R3JlZW40MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIpLGNvbG9yTWludHlHcmVlbjUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksY29sb3JNaW50eUdyZWVuNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi02MDAiKSwKY29sb3JNaW50eUdyZWVuODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi04MDAiKSxjb2xvck1pbnR5R3JlZW5BOTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi1hOTAwIiksY29sb3JJZ3VhbmFHcmVlbjMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLTMwMCIpLGNvbG9ySWd1YW5hR3JlZW41MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWlndWFuYS1ncmVlbi01MDAiKSxjb2xvcklndWFuYUdyZWVuQTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiKSxjb2xvclRhbk9yYW5nZTMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS0zMDAiKSxjb2xvclRhbk9yYW5nZTUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS01MDAiKSxjb2xvclRhbk9yYW5nZTYwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxjb2xvclRhbk9yYW5nZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS03MDAiKSxjb2xvckNvbGRHcmF5MTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMTAwIiksY29sb3JDb2xkR3JheTE1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTE1MCIpLGNvbG9yQ29sZEdyYXkyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0yMDAiKSxjb2xvckNvbGRHcmF5MzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksY29sb3JDb2xkR3JheTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTQwMCIpLGNvbG9yQ29sZEdyYXk0NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS00NTAiKSxjb2xvckNvbGRHcmF5NTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNTAwIiksY29sb3JDb2xkR3JheTU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpLGNvbG9yQ29sZEdyYXk2MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxjb2xvckNvbGRHcmF5NjUwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNjUwIiksY29sb3JDb2xkR3JheTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTcwMCIpLGNvbG9yQ29sZEdyYXk3NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03NTAiKSxjb2xvckNvbGRHcmF5ODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktODAwIiksY29sb3JDb2xkR3JheTg1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLGNvbG9yQ29sZEdyYXk5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxjb2xvckZvcmVzdEdyZWVuMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIil9LGE9e2NvbG9yV2hpdGVBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcldoaXRlLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhNDA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDYwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMzA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjg6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcyKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDgwKSxjb2xvckRlZXBCbHVlNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JEZWVwQmx1ZTUwMCw4MCksY29sb3JTa3lCbHVlNDAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU0MDAsOTUpLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTQwMCw1MCksY29sb3JTa3lCbHVlNDAwQWxwaGE3NTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNDAwLDI1KSxjb2xvclNreUJsdWU1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU1MDAsODApLGNvbG9yU2t5Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTUwMCw3NSksY29sb3JTa3lCbHVlNzAwQWxwaGE3MDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNzAwLDMwKSxjb2xvclJpcGVSZWQ0MDBBbHBoYTU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDQwMCw5NSksY29sb3JSaXBlUmVkNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsOTUpLGNvbG9yUmlwZVJlZDUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw4MCksY29sb3JSaXBlUmVkNTAwQWxwaGEyODooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JSaXBlUmVkNTAwLDcyKSxjb2xvclJpcGVSZWQ1MDBBbHBoYTMwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsNzApLGNvbG9yUmlwZVJlZDUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw1MCksY29sb3JHcmFwZXNQdXJwbGVBMjAwQWxwaGExNTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGVBMjAwLDg1KSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGU1MDAsMTAwKSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMjA6KDAsCnQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCw4MCksY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTcwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCwzMCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTUwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCw1MCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTc1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCwyNSksY29sb3JCZXJyeVBpbms1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw4MCksY29sb3JCZXJyeVBpbms1MDBBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw3NSksY29sb3JNaW50eUdyZWVuNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JNaW50eUdyZWVuNTAwLDgwKSxjb2xvck1pbnR5R3JlZW41MDBBbHBoYTI4OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsNzIpLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yTWludHlHcmVlbjUwMCw1MCksY29sb3JNaW50eUdyZWVuNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsOTUpLGNvbG9ySWd1YW5hR3JlZW41MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcklndWFuYUdyZWVuNTAwLDgwKSxjb2xvclRhbk9yYW5nZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVGFuT3JhbmdlNTAwLDgwKSxjb2xvckZvcmVzdEdyZWVuMzAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckZvcmVzdEdyZWVuMzAwLDk1KSxjb2xvckNvbGRHcmF5MTAwQWxwaGEwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5MTAwLDEwMCksY29sb3JDb2xkR3JheTEwMEFscGhhNjooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTEwMCw5NCksY29sb3JDb2xkR3JheTEwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXkxMDAsODApLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXk4MDAsMTAwKSxjb2xvckNvbGRHcmF5ODAwQWxwaGE2OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5ODAwLDk0KSxjb2xvckNvbGRHcmF5ODAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTgwMCw4MCl9LG49ey4uLmMsLi4uYX19LDk4NDQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkYXJrOigpPT5jb30pO3ZhciBsPWUoMjI3ODI1KSx0PWUoNTA3NjA0KTtjb25zdHtjb2xvcldoaXRlOmMsY29sb3JDb2xkR3JheTEwMEFscGhhMDphLGNvbG9yQ29sZEdyYXkxMDBBbHBoYTIwOm4sY29sb3JDb2xkR3JheTIwMDppLGNvbG9yQ29sZEdyYXkzMDA6ZCxjb2xvckNvbGRHcmF5NDAwOnMsY29sb3JDb2xkR3JheTQ1MDpnLGNvbG9yQ29sZEdyYXk2MDA6dSxjb2xvckNvbGRHcmF5ODAwOnAsY29sb3JDb2xkR3JheTg1MDpDLGNvbG9yQ29sZEdyYXk5MDA6eSxjb2xvckRlZXBCbHVlQTIwMDpiLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpoLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6RSxjb2xvckdyYXBlc1B1cnBsZTYwMDptLGNvbG9yTWludHlHcmVlbjQwMDpBLGNvbG9yTWludHlHcmVlbjUwMDpfLGNvbG9yTWludHlHcmVlbjYwMDpULGNvbG9yTWludHlHcmVlbjgwMDpmLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpTLGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6dixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOncsY29sb3JNaW50eUdyZWVuQTkwMDpSLGNvbG9yUmlwZVJlZDQwMDpOLGNvbG9yUmlwZVJlZDUwMDpJLGNvbG9yUmlwZVJlZDYwMDpPLGNvbG9yUmlwZVJlZDgwMDprLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpCLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6UCxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkQsY29sb3JSaXBlUmVkQTkwMDpMLGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDp4LGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTpILGNvbG9yQmVycnlQaW5rNTAwOlUsY29sb3JJZ3VhbmFHcmVlbkE3MDA6Ryxjb2xvclNreUJsdWVBNDAwOk0sY29sb3JTa3lCbHVlNDAwQWxwaGE1OlcsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpWLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6WSxjb2xvclNreUJsdWU1MDA6aixjb2xvclNreUJsdWU1MDBBbHBoYTI1OkssY29sb3JEZWVwQmx1ZUE0MDA6JCxjb2xvclR2Qmx1ZTQwMDpYLGNvbG9yVHZCbHVlNTAwOnEsY29sb3JUdkJsdWU1MDBBbHBoYTI4OkosY29sb3JUdkJsdWU2MDA6eixjb2xvclR2Qmx1ZTgwMDpRLGNvbG9yVHZCbHVlQTgwMDpaLGNvbG9yVGFuT3JhbmdlNTAwOm9vLGNvbG9yVGFuT3JhbmdlNjAwOnJvfT10LmNvbG9ycyxlbz17Y29sb3I6cSx0cG86e2NvbG9yczp7Z3JhZGllbnRDb2xvcnM6W1UsRyxqLCRdfX0sdm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2YWg6e2NvbG9yOml9LHZhbDp7Y29sb3I6aX0scG9jOntjb2xvcjppfSx2b2x1bWVDb2xvcjpWLHZhbHVlQXJlYUNvbG9yOll9LGxldmVsczp7cG9jQ29sb3I6aSxwb29ySGlnaENvbG9yOmIscG9vckxvd0NvbG9yOmIsc2luZ2xlcHJpbnRzQ29sb3I6RSx2YWhDb2xvcjppLHZhbENvbG9yOml9fSxsbz17dXBDb2xvcjpfLGRvd25Db2xvcjpJLGJvcmRlckNvbG9yOiIjMzc4NjU4Iixib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SSxpbWJhbGFuY2VIaWdobGlnaHQ6e2J1eUNvbG9yOl8sc2VsbENvbG9yOkl9LHVuZmluaXNoZWRBdWN0aW9uOntoaWdoQ29sb3I6aCxsb3dDb2xvcjpNfSxiZ0NvbG9yczp7YWRqQnV5QmdDb2xvcnM6W1IsZixULEFdLGFkalNlbGxCZ0NvbG9yczpbTCxrLE8sTl0sYWRqVG90YWxCZ0NvbG9yczpbWixRLHosWF0sYnV5QmdDb2xvcjpmLApzZWxsQmdDb2xvcjprLHRvdGFsQmdDb2xvcjpRLHBvY0NvbG9yOml9fSx0bz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2b2x1bWVDb2xvclVwOlYsdm9sdW1lQ29sb3JEb3duOngsdmFsdWVBcmVhQ29sb3JVcDpZLHZhbHVlQXJlYUNvbG9yRG93bjpILGhpc3RvZ3JhbUJveENvbG9yOld9LHZhaDp7Y29sb3I6aX0sdmFsOntjb2xvcjppfSxwb2M6e2NvbG9yOml9LGRldmVsb3BpbmdQb2M6e2NvbG9yOml9LGRldmVsb3BpbmdWQTp7Y29sb3I6an19LGNvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpkLGxpbmVDb2xvcjphLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjpufSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOm59LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOnN9LGJhY2tncm91bmQ6eSxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOkMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6eSxiYWNrZ3JvdW5kVHlwZToic29saWQiLHNlcGFyYXRvckNvbG9yOnB9fSxzZXNzaW9uczp7c2Vzc2lvbkhpZ2hsaWdodDp7YmFja2dyb3VuZHM6e291dE9mU2Vzc2lvbjp7Y29sb3I6cSx0cmFuc3BhcmVuY3k6OTJ9LHByZU1hcmtldDp7Y29sb3I6b28sdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOmgsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjp1LHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpxLGFza0xpbmVDb2xvcjpOfSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpybyxwb3N0TWFya2V0Q29sb3I6cSxvdmVybmlnaHRNYXJrZXRDb2xvcjptfSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6Xyx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJLGRvd25Db2xvcjpJLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SX0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6aixsb3dMaW5lQ29sb3I6VSxjbG9zZUxpbmVDb2xvcjpxLGhpZ2hDbG9zZUZpbGxDb2xvcjpLLGNsb3NlTG93RmlsbENvbG9yOkZ9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJfSxiYXJTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpffSxwbmZTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpfLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpnLHRvcEZpbGxDb2xvcjE6dix0b3BGaWxsQ29sb3IyOlMsYm90dG9tRmlsbENvbG9yMTpCLGJvdHRvbUZpbGxDb2xvcjI6UCx0b3BMaW5lQ29sb3I6Xyxib3R0b21MaW5lQ29sb3I6SX0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpKLGNvbG9yMjpxLGxpbmVjb2xvcjpxfSxoaWxvU3R5bGU6e2NvbG9yOnEsYm9yZGVyQ29sb3I6cSxsYWJlbENvbG9yOnF9LGNvbHVtblN0eWxlOnt1cENvbG9yOncsZG93bkNvbG9yOkR9LHJlbmtvU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSxib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SX0sbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTpsLkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpxLGdyYWRpZW50U3RhcnRDb2xvcjpoLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6SSx1cENvbG9yOl8sdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YifSxwYlN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiIzMzNjg1NCIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiIzdmMzIzZiJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSwKdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGNhbmRsZXNVcENvbG9yOl8sY2FuZGxlc0Rvd25Db2xvcjpJLGNhbmRsZXNCb3JkZXJVcENvbG9yOl8sY2FuZGxlc0JvcmRlckRvd25Db2xvcjpJLGNhbmRsZXNXaWNrVXBDb2xvcjpfLGNhbmRsZXNXaWNrRG93bkNvbG9yOkl9LHRwb1N0eWxlOmVvLHZvbEZvb3RwcmludFN0eWxlOmxvLHN2cFN0eWxlOnRvLGhsY0JhcnNTdHlsZTp7Y29sb3I6cX19fX19LDcxNjc2OChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtsaWdodDooKT0+bG99KTt2YXIgbD1lKDUwNzYwNCksdD1lKDIyNzgyNSk7Y29uc3R7Y29sb3JXaGl0ZTpjLGNvbG9yQmxhY2s6YSxjb2xvckNvbGRHcmF5MTUwOm4sY29sb3JDb2xkR3JheTMwMDppLGNvbG9yQ29sZEdyYXk0MDA6ZCxjb2xvckNvbGRHcmF5NDUwOnMsY29sb3JDb2xkR3JheTgwMEFscGhhMDpnLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTIwOnUsY29sb3JDb2xkR3JheTkwMDpwLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpDLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6eSxjb2xvckdyYXBlc1B1cnBsZTYwMDpiLGNvbG9yTWludHlHcmVlbjIwMDpoLGNvbG9yTWludHlHcmVlbjQwMDpFLGNvbG9yTWludHlHcmVlbjUwMDptLGNvbG9yTWludHlHcmVlbjYwMDpBLGNvbG9yTWludHlHcmVlbjgwMDpfLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpULGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6Zixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOlMsY29sb3JSaXBlUmVkMjAwOnYsY29sb3JSaXBlUmVkNDAwOncsY29sb3JSaXBlUmVkNTAwOlIsY29sb3JSaXBlUmVkNjAwOk4sY29sb3JSaXBlUmVkQTcwMDpJLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpPLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkIsY29sb3JEZWVwQmx1ZUE3MDA6UCxjb2xvckJlcnJ5UGluazUwMDpELGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpMLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTp4LGNvbG9ySWd1YW5hR3JlZW5BNzAwOkgsY29sb3JTa3lCbHVlNDAwQWxwaGE1OlUsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpHLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6TSxjb2xvclNreUJsdWU1MDA6Vyxjb2xvclNreUJsdWU1MDBBbHBoYTI1OlYsY29sb3JTa3lCbHVlQTQwMDpZLGNvbG9yRGVlcEJsdWVBNDAwOmosY29sb3JUdkJsdWUyMDA6Syxjb2xvclR2Qmx1ZTQwMDokLGNvbG9yVHZCbHVlNTAwOlgsY29sb3JUdkJsdWU1MDBBbHBoYTI4OnEsY29sb3JUdkJsdWU2MDA6Sixjb2xvclR2Qmx1ZTgwMDp6LGNvbG9yVGFuT3JhbmdlNTAwOlEsY29sb3JUYW5PcmFuZ2U2MDA6Wn09bC5jb2xvcnMsb289e2NvbG9yOlgsdHBvOntjb2xvcnM6e2dyYWRpZW50Q29sb3JzOltELEgsVyxqXX19LHZvbHVtZVByb2ZpbGU6e3ZhbHVlc0NvbG9yOnAsdmFoOntjb2xvcjpwfSx2YWw6e2NvbG9yOnB9LHBvYzp7Y29sb3I6cH0sdm9sdW1lQ29sb3I6Ryx2YWx1ZUFyZWFDb2xvcjpNfSxsZXZlbHM6e3BvY0NvbG9yOnAscG9vckhpZ2hDb2xvcjpQLHBvb3JMb3dDb2xvcjpQLHNpbmdsZXByaW50c0NvbG9yOnksdmFoQ29sb3I6cCx2YWxDb2xvcjpwfX0scm89e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJDb2xvcjoiIzM3ODY1OCIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsaW1iYWxhbmNlSGlnaGxpZ2h0OntidXlDb2xvcjptLHNlbGxDb2xvcjpSfSx1bmZpbmlzaGVkQXVjdGlvbjp7aGlnaENvbG9yOkMsbG93Q29sb3I6WX0sYmdDb2xvcnM6e2FkakJ1eUJnQ29sb3JzOltoLEUsQSxfXSxhZGpTZWxsQmdDb2xvcnM6W3YsdyxOLEldLGFkalRvdGFsQmdDb2xvcnM6W0ssJCxKLHpdLGJ1eUJnQ29sb3I6RSxzZWxsQmdDb2xvcjp3LHRvdGFsQmdDb2xvcjokLHBvY0NvbG9yOmF9fSxlbz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6cCx2b2x1bWVDb2xvclVwOkcsdm9sdW1lQ29sb3JEb3duOkYsdmFsdWVBcmVhQ29sb3JVcDpNLHZhbHVlQXJlYUNvbG9yRG93bjp4LGhpc3RvZ3JhbUJveENvbG9yOlV9LHZhaDp7Y29sb3I6cH0sdmFsOntjb2xvcjpwfSxwb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdQb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdWQTp7Y29sb3I6V319LGxvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpwLGxpbmVDb2xvcjpnLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjp1fSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOnV9LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOmR9LGJhY2tncm91bmRUeXBlOnQuQ29sb3JUeXBlLlNvbGlkLGJhY2tncm91bmQ6YyxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOmMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6YyxzZXBhcmF0b3JDb2xvcjpufX0sc2Vzc2lvbnM6e3Nlc3Npb25IaWdobGlnaHQ6e2JhY2tncm91bmRzOntvdXRPZlNlc3Npb246e2NvbG9yOlgsdHJhbnNwYXJlbmN5OjkyfSxwcmVNYXJrZXQ6e2NvbG9yOlEsdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOkMsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjppLHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpYLGFza0xpbmVDb2xvcjp3fSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpaLApwb3N0TWFya2V0Q29sb3I6WCxvdmVybmlnaHRNYXJrZXRDb2xvcjpifSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6bSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSLGRvd25Db2xvcjpSLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Un0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6Vyxsb3dMaW5lQ29sb3I6RCxjbG9zZUxpbmVDb2xvcjpYLGhpZ2hDbG9zZUZpbGxDb2xvcjpWLGNsb3NlTG93RmlsbENvbG9yOkx9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Uix3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSfSxiYXJTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptfSxwbmZTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpzLHRvcEZpbGxDb2xvcjE6Zix0b3BGaWxsQ29sb3IyOlQsYm90dG9tRmlsbENvbG9yMTpPLGJvdHRvbUZpbGxDb2xvcjI6ayx0b3BMaW5lQ29sb3I6bSxib3R0b21MaW5lQ29sb3I6Un0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpxLGNvbG9yMjpYLGxpbmVjb2xvcjpYfSxoaWxvU3R5bGU6e2NvbG9yOlgsYm9yZGVyQ29sb3I6WCxsYWJlbENvbG9yOlh9LGNvbHVtblN0eWxlOnt1cENvbG9yOlMsZG93bkNvbG9yOkJ9LHJlbmtvU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJVcENvbG9yOm0sYm9yZGVyRG93bkNvbG9yOlIsdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIix3aWNrVXBDb2xvcjptLHdpY2tEb3duQ29sb3I6Un0sbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTp0LkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpYLGdyYWRpZW50U3RhcnRDb2xvcjpDLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6Uix1cENvbG9yOm0sdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUifSxwYlN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uix1cENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsZG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSIsY2FuZGxlc1VwQ29sb3I6bSxjYW5kbGVzRG93bkNvbG9yOlIsY2FuZGxlc0JvcmRlclVwQ29sb3I6bSxjYW5kbGVzQm9yZGVyRG93bkNvbG9yOlIsY2FuZGxlc1dpY2tVcENvbG9yOm0sY2FuZGxlc1dpY2tEb3duQ29sb3I6Un0sdHBvU3R5bGU6b28sdm9sRm9vdHByaW50U3R5bGU6cm8sc3ZwU3R5bGU6ZW8saGxjQmFyc1N0eWxlOntjb2xvcjpYfX19fX0sMTEzNjU2KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe3JldHVybi8oPzpefDspXHMqdGhlbWU9KGRhcmt8bGlnaHQpKD86O3wkKXwkLy5leGVjKGRvY3VtZW50LmNvb2tpZSlbMV19ZnVuY3Rpb24gdChvKXtjb25zdCByPWZ1bmN0aW9uKCl7Y29uc3Qgbz1sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgiLiIpLmZpbHRlcihCb29sZWFuKTtyZXR1cm4gby5ldmVyeShpc0Zpbml0ZSk/bG9jYXRpb24uaG9zdDpvLnNsaWNlKC0yKS5qb2luKCIuIil9KCksZT12b2lkIDA9PT1vPy0xOjNlODtkb2N1bWVudC5jb29raWU9YHRoZW1lPSR7b307cGF0aD0vO2RvbWFpbj0ke3J9O21heC1hZ2U9JHtlfWB9ZS5kKHIse2dldFRoZW1lRnJvbUNvb2tpZTooKT0+bCxzZXRUaGVtZVRvQ29va2llOigpPT50fSl9LDQ4NTY1MShvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtnZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3M6KCk9PmMsc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3M6KCk9PmF9KTt2YXIgbD1lKDkzMDU2NiksdD1lKDExMzY1Nik7ZnVuY3Rpb24gYygpe3JldHVybigwLHQuZ2V0VGhlbWVGcm9tQ29va2llKSgpfHwoMCxsLmdldFZhbHVlKSgiY3VycmVudF90aGVtZS5uYW1lIil8fG51bGx9ZnVuY3Rpb24gYShvKXsoMCx0LnNldFRoZW1lVG9Db29raWUpKG8pLCgwLGwuc2V0VmFsdWUpKCJjdXJyZW50X3RoZW1lLm5hbWUiLG8se2ZvcmNlRmx1c2g6ITB9KX19LDY2NTE4NyhvLHIsZSl7InVzZSBzdHJpY3QiO2UucihyKSxlLmQocix7REVGQVVMVF9USEVNRTooKT0+RS5ERUZBVUxUX1RIRU1FLGdldEN1cnJlbnRUaGVtZTooKT0+XyxnZXRTdGRUaGVtZTooKT0+SSwKZ2V0U3RkVGhlbWVOYW1lczooKT0+TixnZXRTdGRUaGVtZWRWYWx1ZTooKT0+TyxnZXRUaGVtZTooKT0+dyxnZXRUaGVtZU5hbWVzOigpPT5SLGdldFRoZW1lZENvbG9yOigpPT5ULGlzU3RkVGhlbWVOYW1lOigpPT5BLmlzU3RkVGhlbWVOYW1lLGlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlOigpPT5rLGlzVGhlbWVFeGlzdDooKT0+RCxyZW1vdmVUaGVtZTooKT0+UCxyZXN0b3JlVGhlbWU6KCk9PmYsc2F2ZVRoZW1lOigpPT5CLHNhdmVkVGhlbWVOYW1lOigpPT5TLHN5bmNUaGVtZTooKT0+dix0aGVtZUxpc3RDaGFuZ2VkOigpPT5GLHRoZW1lczooKT0+bS50aGVtZXMsdHJhbnNsYXRlU3RkVGhlbWVOYW1lOigpPT5MfSk7dmFyIGw9e307aWYoZS5yKGwpLGUuZChsLHtpc1RoZW1lRXhpc3Q6KCk9PkMsbG9hZFRoZW1lOigpPT5zLGxvYWRUaGVtZXM6KCk9PmcscmVtb3ZlVGhlbWU6KCk9PnAsc2F2ZVRoZW1lOigpPT51fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChlLmopKXZhciB0PWUoMTM0NjcpO3ZhciBjPWUoOTQ4MzgwKSxhPWUoNDg1NjUxKSxuPWUoMzg0MDE3KTtjb25zdCBpPSgwLGUoMjIxMDYxKS5nZXRMb2dnZXIpKCJUaGVtZXMuUHJvdmlkZXIiKTtsZXQgZD1udWxsO2Z1bmN0aW9uIHMobyl7cmV0dXJuKDAsbi5mZXRjaCkoIi90aGVtZS8/dGhlbWVOYW1lPSIrZW5jb2RlVVJJQ29tcG9uZW50KG8pLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJHRVQifSkudGhlbigobz0+by5qc29uKCkpKS50aGVuKChvPT57Y29uc3Qgcj17fTtyZXR1cm4gby5jb250ZW50JiYoci5jb250ZW50PUpTT04ucGFyc2Uoby5jb250ZW50KSkscn0pKX1mdW5jdGlvbiBnKCl7cmV0dXJuIGR8fCgwLG4uZmV0Y2gpKCIvdGhlbWVzLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IkdFVCJ9KS50aGVuKChvPT4oZD1vLmpzb24oKSxkKSkpfWZ1bmN0aW9uIHUobyxyKXtjb25zdCBlPW5ldyBGb3JtRGF0YTtyZXR1cm4gZS5hcHBlbmQoImNvbnRlbnQiLEpTT04uc3RyaW5naWZ5KHIpKSxlLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvc2F2ZS10aGVtZS8iLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIixib2R5OmV9KS50aGVuKChvPT5vLmpzb24oKSksKG89PmkubG9nRXJyb3IobykpKX1mdW5jdGlvbiBwKG8pe2NvbnN0IHI9bmV3IEZvcm1EYXRhO3JldHVybiByLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvcmVtb3ZlLXRoZW1lLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QiLGJvZHk6cn0pLnRoZW4oKG89Pm8uanNvbigpKSwobz0+aS5sb2dFcnJvcihvKSkpfWZ1bmN0aW9uIEMobyl7cmV0dXJuIHMobykudGhlbigobz0+Qm9vbGVhbihvLmNvbnRlbnQpKSl9Y29uc3QgeT0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KGUuaik/bDpudWxsO3ZhciBiPWUoNzI4NTQpLGg9ZSgyMDA2NjYpLEU9ZSg0MzI3ODMpLG09ZSgyNDQ2NjQpLEE9ZSg0NTM5NjgpO2Z1bmN0aW9uIF8oKXtyZXR1cm4gbS50aGVtZXNbaC53YXRjaGVkVGhlbWUudmFsdWUoKV18fG0udGhlbWVzW0UuREVGQVVMVF9USEVNRV19ZnVuY3Rpb24gVChvKXtyZXR1cm4gXygpLmdldFRoZW1lZENvbG9yKG8pfWZ1bmN0aW9uIGYoKXsoMCxoLnNldFRoZW1lKSgoMCxhLmdldFRoZW1lRnJvbVVzZXJTZXR0aW5ncykoKXx8RS5ERUZBVUxUX1RIRU1FKX1mdW5jdGlvbiBTKCl7cmV0dXJuKDAsYS5nZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3MpKCl9ZnVuY3Rpb24gdigpeygwLGEuc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3MpKF8oKS5uYW1lKX1mdW5jdGlvbiB3KG8pe3JldHVybiB5LmxvYWRUaGVtZShvKX1mdW5jdGlvbiBSKCl7cmV0dXJuIHkubG9hZFRoZW1lcygpfWZ1bmN0aW9uIE4oKXtyZXR1cm4gYi5nZXRTdGRUaGVtZU5hbWVzKCl9ZnVuY3Rpb24gSShvKXtyZXR1cm4gYi5nZXRTdGRDaGFydFRoZW1lKG8pfHx7Y29udGVudDp2b2lkIDB9fWZ1bmN0aW9uIE8obyxyKXtjb25zdCBlPXJ8fF8oKS5uYW1lLGw9Yi5nZXRTdGRDaGFydFRoZW1lKGUpLHQ9MCE9PW8ubGVuZ3RoJiZvLnNwbGl0KCIuIik7cmV0dXJuIGwmJmwuY29udGVudCYmdD90LnJlZHVjZSgoKG8scik9Pm9bcl0pLGwuY29udGVudCk6bnVsbH1mdW5jdGlvbiBrKG8scixlKXtjb25zdCBsPU8obyxlKTtyZXR1cm4gbnVsbCE9PWwmJigwLHQuYXJlRXF1YWxSZ2JhKSgoMCx0LnBhcnNlUmdiYSkobCksKDAsdC5wYXJzZVJnYmEpKFN0cmluZyhyKSkpfWFzeW5jIGZ1bmN0aW9uIEIobyxyKXt0cnl7cmV0dXJuIGF3YWl0IHkuc2F2ZVRoZW1lKG8scil9ZmluYWxseXtGLmZpcmUoKX19YXN5bmMgZnVuY3Rpb24gUChvKXt0cnl7cmV0dXJuIGF3YWl0IHkucmVtb3ZlVGhlbWUobyl9ZmluYWxseXtGLmZpcmUoKX19ZnVuY3Rpb24gRChvKXtyZXR1cm4geS5pc1RoZW1lRXhpc3Qobyl9ZnVuY3Rpb24gTChvKXtyZXR1cm4gYi50cmFuc2xhdGVUaGVtZU5hbWUobyl9Y29uc3QgRj1uZXcgYy5EZWxlZ2F0ZX0sMjI3ODI1KG8scixlKXsidXNlIHN0cmljdCI7dmFyIGw7ZS5kKHIse0NvbG9yVHlwZTooKT0+bH0pLGZ1bmN0aW9uKG8pe28uU29saWQ9InNvbGlkIixvLkdyYWRpZW50PSJncmFkaWVudCJ9KGx8fChsPXt9KSl9LDg3MzU3MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthbHBoYVRvVHJhbnNwYXJlbmN5OigpPT5hLGFwcGx5QWxwaGE6KCk9PmMsYXBwbHlUcmFuc3BhcmVuY3k6KCk9PmksY29sb3JGcm9tQmFja2dyb3VuZDooKT0+Zyxjb2xvclRvSW50ZWdlcjooKT0+QyxnZW5lcmF0ZUNvbG9yOigpPT50LGdyYWRpZW50Q29sb3JBdFBlcmNlbnQ6KCk9PnUsaXNIZXhDb2xvcjooKT0+cyxyZXNldFRyYW5zcGFyZW5jeTooKT0+ZCxyZ2JhRnJvbUludGVnZXI6KCk9PnAsdHJhbnNwYXJlbmN5VG9BbHBoYTooKT0+bn0pO3ZhciBsPWUoMTM0NjcpO2Z1bmN0aW9uIHQobyxyLGUpe2lmKHI9cnx8MCwhcyhvKSlyZXR1cm4gZT8oMCxsLnJnYmFUb1N0cmluZykoKDAsbC5yZ2JhKSgoMCxsLnBhcnNlUmdiKShvKSwoMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShuKHIpKSkpOm87Y29uc3RbdCxjLGFdPSgwLApsLnBhcnNlUmdiKShvKSxpPSgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKG4ocikpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKShbdCxjLGEsaV0pfWZ1bmN0aW9uIGMobyxyLGUpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKG8pO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtvfWApO2NvbnN0W2MsYSxuLGldPXQsZD0oMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShyKihlP2k6MSkpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKFtjLGEsbl0sZCkpfWZ1bmN0aW9uIGEobyl7cmV0dXJuIDEwMCooMS1vKX1mdW5jdGlvbiBuKG8pe2lmKG88MHx8bz4xMDApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHRyYW5zcGFyZW5jeSIpO3JldHVybiAxLW8vMTAwfWZ1bmN0aW9uIGkobyxyKXtpZigidHJhbnNwYXJlbnQiPT09bylyZXR1cm4gbztjb25zdCBlPSgwLGwucGFyc2VSZ2JhKShvKSx0PWVbM107cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwucmdiYSkoZVswXSxlWzFdLGVbMl0sbihyKSp0KSl9ZnVuY3Rpb24gZChvKXtyZXR1cm4idHJhbnNwYXJlbnQiPT09bz9vOnMobyk/by5zbGljZSgwLDcpOigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKCgwLGwucGFyc2VSZ2IpKG8pLCgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEpKSl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gMD09PW8uaW5kZXhPZigiIyIpfWZ1bmN0aW9uIGcobyl7cmV0dXJuImJsYWNrIj09PSgwLGwucmdiVG9CbGFja1doaXRlU3RyaW5nKSgoMCxsLnBhcnNlUmdiKShvKSwxNTApPyIjZmZmZmZmIjoiIzAwMDAwMCJ9ZnVuY3Rpb24gdShvLHIsZSl7Y29uc3RbdCxjLGEsbl09KDAsbC5wYXJzZVJnYmEpKG8pLFtpLGQscyxnXT0oMCxsLnBhcnNlUmdiYSkociksdT0oMCxsLnJnYmEpKE1hdGgucm91bmQodCtlKihpLXQpKSxNYXRoLnJvdW5kKGMrZSooZC1jKSksTWF0aC5yb3VuZChhK2UqKHMtYSkpLG4rZSooZy1uKSk7cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKHUpfWZ1bmN0aW9uIHAobyl7Y29uc3Qgcj0obz1NYXRoLnJvdW5kKG8pKSUyNTY7by09cjtjb25zdCBlPShvLz0yNTYpJTI1NjtvLT1lO2NvbnN0IGw9KG8vPTI1NiklMjU2O28tPWw7cmV0dXJuYHJnYmEoJHtyfSwke2V9LCR7bH0sJHsoby89MjU2KS8yNTV9KWB9ZnVuY3Rpb24gQyhvKXtjb25zdCByPSgwLGwudHJ5UGFyc2VSZ2JhKShvKTtyZXR1cm4gbnVsbD09PXI/MDpmdW5jdGlvbihvKXtjb25zdCByPU1hdGgucm91bmQoMjU1Km9bM10pO3JldHVybiBvWzBdKzI1NipvWzFdKzY1NTM2Km9bMl0rMTY3NzcyMTYqcn0ocil9fSw5OTk2NDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7cGF5d2FsbE1vYmlsZUludGVyY2VwdG9yOigpPT5sfSk7Y29uc3QgbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9oaWRkZW5GZWF0dXJlcz1uZXcgU2V0LHRoaXMuX2xpc3RlbmVycz1bXSx0aGlzLmhpZGU9bz0+e3RoaXMuX2hpZGRlbkZlYXR1cmVzLmFkZChvKX0sdGhpcy5pc0hpZGRlbkZlYXR1cmU9bz0+dGhpcy5faGlkZGVuRmVhdHVyZXMuaGFzKG8pLHRoaXMuc3Vic2NyaWJlPW89Pnt0aGlzLl9saXN0ZW5lcnMucHVzaChvKX0sdGhpcy5pbnZva2U9bz0+e3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKChyPT5yKG8pKSl9fX19LDUwNzQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtwYWlkQWNjb3VudENoZWNrOigpPT5hfSk7dmFyIGw9ZSg5MzIzNjUpLHQ9ZSgzMTg5NzQpO2NvbnN0IGM9KDAsZSgyMjEwNjEpLmdldExvZ2dlcikoIlBhaWRBY2NvdW50Q2hlY2siKTthc3luYyBmdW5jdGlvbiBhKG8pe2NvbnN0e29ubHlDaGVjazpyLHN1Y2Nlc3NCdXR0b25UZXh0OmEsaXNOZWVkQ2FuY2VsQnV0dG9uOm59PW8saT13aW5kb3cudXNlcixkPWwuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgicHJldmlvdXNfdXNlcm5hbWUiKTtpZihpJiZ3aW5kb3cuaXNfYXV0aGVudGljYXRlZCYmIWkuaXNfcHJvJiZkJiYhKDAsdC5pc1N5bXBob255RW1iZWQpKCkpe2NvbnN0e2dldFByb2ZpbGU6b309YXdhaXQgZS5lKDM5NjEpLnRoZW4oZS5iaW5kKGUsNTY5MDE1KSk7dHJ5e2NvbnN0IGw9YXdhaXQgbyhkKTtpZihCb29sZWFuKGwucHJvX3BsYW4pKXtpZihyKXJldHVybiBkO3tjb25zdHtzaG93V3JvbmdBY2NvdW50RGlhbG9nOm99PWF3YWl0IFByb21pc2UuYWxsKFtlLmUoNjM1NTMpLGUuZSgxNjc4KSxlLmUoNjk4ODEpXSkudGhlbihlLmJpbmQoZSw2ODY5MDEpKTtyZXR1cm4gbyh7dXNlck5hbWU6ZCxpc05lZWRDYW5jZWxCdXR0b246bixzdWNjZXNzQnV0dG9uVGV4dDphfSl9fX1jYXRjaChvKXtjLmxvZ0Vycm9yKG8ubWVzc2FnZSl9fXJldHVybiExfX0sNDgyNTA0KG8scixlKXtjb25zdCBsPWUoMTk5ODI3KTtvLmV4cG9ydHM9bCxsKGRvY3VtZW50KS5hamF4U2VuZCgoKG8scixlKT0+e2UuY3Jvc3NEb21haW4mJiFlLmZvcmNlTGFuZ3VhZ2VIZWFkZXJ8fCh3aW5kb3cubG9jYWxlP3Iuc2V0UmVxdWVzdEhlYWRlcigiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSk6Y29uc29sZS53YXJuKCJ3aW5kb3cubG9jYWxlIGlzIG5vdCBkZWZpbmVkIikpfSkpfSw1MjQwNjkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7Z2V0UHJvUGxhbkRldGFpbHNGb3JVc2VyOigpPT5uLGdldFByb1BsYW5XZWlnaHQ6KCk9PmF9KTtlKDQ3OTM0KTt2YXIgbD1lKDIxMjIyOSksdD1lKDM4NDAxNyksYz1lKDIyMjQyMyk7ZnVuY3Rpb24gYShvKXtyZXR1cm4gd2luZG93LnBybz8iZnJlZSI9PT1vPy0xOndpbmRvdy5wcm8uZ2V0UHJvZHVjdCgoMCxsLmdldFByb2R1Y3RGb3JUcmlhbCkobykpLnVwZ3JhZGVfd2VpZ2h0OjB9YXN5bmMgZnVuY3Rpb24gbigpe2NvbnN0IG89YXdhaXQoMCx0LmZldGNoKSgiL3Byby1wbGFucy9wcm9maWxlLyIpLHI9YXdhaXQgby5qc29uKCk7aWYoby5vaylyZXR1cm4gcjtpZig0MDM9PT1vLnN0YXR1cyl7Y29uc3QgZT1yO3Rocm93IG5ldyBjLkFwaUVycm9yKGUuZGV0YWlsLG8uc3RhdHVzLGUuY29kZSl9CnRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGhhbmRsZSB1bmV4cGVjdGVkIHJlc3BvbnNlOiAke1N0cmluZyhvLnRleHQoKSl9YCl9fSwyMjE3MDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGlzYWJsZTooKT0+ZCxlbmFibGU6KCk9PnMscHVzaEJhY2tMaXN0ZW5lcjooKT0+aX0pO3ZhciBsPWUoMTUwMTUwKTtjb25zdCB0PVtdO2xldCBjPW51bGw7ZnVuY3Rpb24gYShvKXtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKylpZih0W3JdLm5hbWU9PT1vKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIG4obyl7aWYoIWMpZm9yKGxldCByPXQubGVuZ3RoLTE7cj49MCYmITAhPT10W3JdLmZ1bmMobyk7ci0tKTt9ZnVuY3Rpb24gaShvLHIpe2NvbnN0IGU9e25hbWU6byxmdW5jOnJ9LGw9YShlLm5hbWUpO2w+LTEmJnQuc3BsaWNlKGwsMSksdC51bnNoaWZ0KGUpfWZ1bmN0aW9uIGQoKXtyZXR1cm4gYz9udWxsOihjPSgwLGwucmFuZG9tSGFzaE4pKDQpLGMpfWZ1bmN0aW9uIHMobyl7aWYobyE9PWMpdGhyb3cgRXJyb3IoIkxvY2sgaWQgaXMgb3V0ZGF0ZWQiKTtjPW51bGx9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIixuLCExKX0sMzE3NjYzKG8peyJ1c2Ugc3RyaWN0Igo7by5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7InVzZSBzdHJpY3QiCjtvLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLXByaW1hcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctc2Vjb25kYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1iZy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItbGVnYWN5LWJnLXdpZGdldCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItdGV4dC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRleHQtdGVydGlhcnkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItdGV4dC1kaXNhYmxlZCI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1hY2NlbnQtY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1hY3RpdmUtaG92ZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1hbGVydC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvcmRlci10YWJsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1icmFuZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1zdHJva2Utc3R5bGUiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAiLCJjb2xvci1pbnB1dC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItbGluayI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGluay1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItbGluay1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItcGFuZS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3Itc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLXN1Y2Nlc3MtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1zdWNjZXNzLWFjdGl2ZSI6ImNvbG9yLW1pbnR5LWdyZWVuLTcwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTQwMCIsImNvbG9yLWxpc3QtaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1saXN0LWl0ZW0tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXByaWNlLWF4aXMtZ2VhciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXIiOiJjb2xvci1ibGFjayIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItYnV0dG9uLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRpc2FibGVkLWlucHV0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3ItaXRlbS1hY3RpdmUtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1ibHVlIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItaXRlbS1hY3RpdmUtdGV4dCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWxpc3QtaXRlbSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1uZXdzLWhpZ2hsaWdodCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3Itc2VwYXJhdG9yLXRhYmxlLWNoYXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXR2LWJ1dHRvbi1jaGVja2VkIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXNjcm9sbC1iZyI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci1zY3JvbGwtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXdpZGdldC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3ciOiJjb2xvci13aGl0ZSIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmciOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmUtbWFya2V0IjoiY29sb3ItdGFuLW9yYW5nZS02MDAiLCJjb2xvci1wb3N0LW1hcmtldCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itbm90YWNjdXJhdGUtbW9kZSI6ImNvbG9yLWJlcnJ5LXBpbmstNjAwIiwiY29sb3ItZGVsYXktbW9kZSI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItZGVsYXktbW9kZS1iZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLW1hcmtlci1mbGFnZ2VkIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQtaG92ZXJlZCI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFzayI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLXNlbGwiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1idXkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItcHJvIjoiY29sb3ItbWludHktZ3JlZW4tNDAwIiwiY29sb3ItcHJvLWhvdmVyIjoiY29sb3ItbWludHktZ3JlZW4tNjAwIiwiY29sb3ItcHJvLXBsdXMiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXByby1wbHVzLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1wcm8tcHJlbWl1bSI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItcHJvLXByZW1pdW0taG92ZXIiOiJjb2xvci10YW4tb3JhbmdlLTcwMCIsImNvbG9yLXRyaWFsIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRyaWFsLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW1vZCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLW1vZC1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQiOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1vdmVybGF5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNlYXJjaC1idXR0b24taG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXJlcGxheS1kYXRhLW1vZGUiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1sZWdhY3ktc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTMwMCIsImNvbG9yLWNvbGxhcHNlLXRhYnMtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItYXR0ZW50aW9uIjoiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiLCJjb2xvci14LXR3aXR0ZXItY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1jYXJkLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jYXJkLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1zZWxlY3Rpb24tYmciOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS10ZXh0IjoiY29sb3Itd2hpdGUifScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/46907.c5af8aa7b5082b1875a5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.661Z","timestamp":1785124876661,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/46907.c5af8aa7b5082b1875a5.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-6bc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 370100aa732bada8d14d2f9c2112786c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1724,"size_decoded":1396,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1724), with no line terminators","md5":"8212d60d44748bb18233778e23b8f7b2","sha1":"35debdd9067ec06aa3648e5d7a9cddde39873397","sha256":"cc31664050fc2b670129f7e7d1a11bda8d20efa47a713598bbb96d4da6e297ba","sha512":"3f0235fe9fb761707020a01990077cf65fd4d774216e7d49fe218ea8e4ffa73a0d3d662536e662eb978f3d790446e7ee75ab139468bc6a0371653a48512aa994","ssdeep":"","tlshash":"d931cc75936ad2387a770b376241558a3199f64773730239e680bda881e16ba3b333c4","first_seen":"2026-07-16T11:36:17.893966Z","last_seen":"2026-07-27T06:16:23.102412Z","times_seen":1262,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.765Z","timestamp":1785124876765,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23743.4733137af2f232a6a34a.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5062\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9697443aeda2827fdec05bb3447dbdef\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20578,"size_decoded":7832,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-27T06:14:34.131601Z","times_seen":87,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMzc0M10sezY4MzU0MihlKXtlLmV4cG9ydHM9e2NvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YIixiZWdpbjoiYmVnaW4tZzhSb2hnTlgiLGVuZDoiZW5kLWc4Um9oZ05YIix0b3A6InRvcC1nOFJvaGdOWCIsYm90dG9tOiJib3R0b20tZzhSb2hnTlgiLGNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YIn19LDg5NTM3KGUpe2UuZXhwb3J0cz17cG9zaXRpb25lcjoicG9zaXRpb25lci1oQlZrYVAyUCIsbm9Ib3Jpem9udGFsU2hyaW5rOiJub0hvcml6b250YWxTaHJpbmstaEJWa2FQMlAiLG5vSG9yaXpvbnRhbEdyb3c6Im5vSG9yaXpvbnRhbEdyb3ctaEJWa2FQMlAiLG5vVmVydGljYWxTaHJpbms6Im5vVmVydGljYWxTaHJpbmstaEJWa2FQMlAiLG5vVmVydGljYWxHcm93OiJub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUCIsaW52aXNpYmxlOiJpbnZpc2libGUtaEJWa2FQMlAiLHBvcnRhbDoicG9ydGFsLWhCVmthUDJQIn19LDk5NTczOChlKXtlLmV4cG9ydHM9e3N0dWI6InN0dWItSXVoT2pvdVkifX0sMzI3ODA4KGUpe2UuZXhwb3J0cz17Y29udGVudDoiY29udGVudC1hZjBMQ2d5NSIsc3RyZXRjaDoic3RyZXRjaC1hZjBMQ2d5NSIsYmVnaW46ImJlZ2luLWFmMExDZ3k1IixlbmQ6ImVuZC1hZjBMQ2d5NSIsdG9wOiJ0b3AtYWYwTENneTUiLGJvdHRvbToiYm90dG9tLWFmMExDZ3k1IixiYWNrZHJvcDoiYmFja2Ryb3AtYWYwTENneTUifX0sNzg4NDY1KGUpe2UuZXhwb3J0cz17c2Nyb2xsVHJhcDoic2Nyb2xsVHJhcC1MbjBBSVc0RiIsc2Nyb2xsVHJhcENvbnRlbnQ6InNjcm9sbFRyYXBDb250ZW50LUxuMEFJVzRGIn19LDU2NTUzMChlKXtlLmV4cG9ydHM9e2JvZHlOb1Njcm9sbDoiYm9keU5vU2Nyb2xsLWZPSVJLQXRIIn19LDMxOTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1lcmdlZFJlZnM6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk2NDU5NCk7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoMCxpLm1lcmdlUmVmcykoZSksZSl9fSwyMzY0NTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6KCk9PnMsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRTooKT0+YyxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fUkVTSVpFX1dJTkRPVzooKT0+dSxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREU6KCk9PmwsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQjooKT0+ZCxQT1BPVkVSX0RFRkFVTFRfSEVJR0hUOigpPT5yLFBPUE9WRVJfREVGQVVMVF9QTEFDRU1FTlRfUlVMRVM6KCk9PmEsUE9QT1ZFUl9ERUZBVUxUX1dJRFRIOigpPT5pfSk7dmFyIG89big2NDA1MTMpO2NvbnN0IGk9W3tieToiYW5jaG9yIix0eXBlOiJtaW4ifSx7Ynk6ImNvbnRlbnQifV0scj1bXSxhPVtvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQsby5QTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUXSxjPSEwLHM9InBvaW50ZXJkb3duIixsPSEwLHU9ITAsZD0hMH0sNDQ1NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZXh0UHJvdmlkZXI6KCk9PmEsdXNlUG9wb3ZlckNvbnRleHQ6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk1NjczMCk7Y29uc3Qgcj0oMCxvLmNyZWF0ZUNvbnRleHQpKHtjbG9zZVBvcG92ZXI6KCk9Pnt9LGlzUnRsOiExLGlzSW5Qb3BvdmVyOiExLGlzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTtmdW5jdGlvbiBhKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxvbkNsb3NlOm4saXNSdGw6YSxjaGlsZHJlbjpjLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6c309ZSxsPSgwLG8udXNlTWVtbykoKCgpPT4oe2Nsb3NlUG9wb3ZlcjpuLGlzUnRsOmEsaXNJblBvcG92ZXI6ITAsb25Qb3BvdmVyQ29udGVudFJlc2l6ZTpzLGlzQW5jaG9yUG9zaXRpb25lcjoiYW5jaG9yIj09PXQsaXNNb2JpbGVQb3NpdGlvbmVyOiJtb2JpbGUiPT09dH0pKSxbbixhLHMsdF0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoci5Qcm92aWRlcix7dmFsdWU6bH0sby5jcmVhdGVFbGVtZW50KGkuUG9zaXRpb25lckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjp0fSxjKSl9ZnVuY3Rpb24gYygpe3JldHVybigwLG8udXNlQ29udGV4dCkocil9fSwyMzc2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlcjooKT0+Z30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oMTk0Mjc1KSxjPW4oNzE3OTMyKSxzPW4oMjg2MzEwKSxsPW4oOTcwMzQyKSx1PW4oNzg3ODk1KTtmdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZDpuLHBsYWNlbWVudFJ1bGVzOmksd2lkdGg6cixoZWlnaHQ6YSxpc09wZW46Yyxpc1J0bDpkLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnA9dCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsZ2V0Um9vdFJlY3Q6ZyxyZXBvc2l0aW9uVHJpZ2dlcnM6QyxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOkUsY29udGVudFJlc2l6ZTp2LGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9PWUsdz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3N3aXRjaChuLnR5cGUpe2Nhc2UiZWxlbWVudCI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLkVsZW1lbnRQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dyxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsYW5jaG9yZWRBdDpuLmF0LGdldFJvb3RSZWN0OmcscmVwb3NpdGlvblRyaWdnZXJzOkMsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6RSxkYXRhUWFJZDp5LHNjcm9sbENvbnRhaW5lcjpSfSk7Y2FzZSJyZWN0YW5nbGUiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQocy5SZWN0YW5nbGVQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6aCxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp3LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6ZixhcmlhTGFiZWxsZWRieTpQLGFyaWFNdWx0aXNlbGVjdGFibGU6bSxyb2xlOmIsY2hpbGRyZW46eCxhbmNob3JlZEF0Om4uYXQsZ2V0Um9vdFJlY3Q6Zyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvbkRlcGVuZGVuY2llczpFLHJlcG9zaXRpb25UcmlnZ2VyczpDLGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9KX19dmFyIGg9big0NDU0OTMpLHA9big1NjI5OCksZj1uKDg3MzA5MCksUD1uKDcwNjk0MyksbT1uKDk1NjczMCksYj1uKDY4MzU0MikseD1uLm4oYik7Y29uc3QgZz0oMCxwLmlnbm9yZU9uU1NSKSgoZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dH09KDAsaC51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNPcGVuOm4sb25DbG9zZTppLG1vYmlsZVBvc2l0aW9uZXJTaWRlOnM9ImJvdHRvbSIsbW9iaWxlUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmw9cigpKHgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUseCgpW3NdKSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LGlzUnRsOnA9dCxjaGlsZHJlbjpiLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpnPXgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2Uscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxwbGFjZW1lbnRSdWxlczpSLHdpZHRoOncsaGVpZ2h0OlMsYW5jaG9yZWQ6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OkwsY29udGVudFJlc2l6ZTpOLGRhdGFRYUlkOkYsc2Nyb2xsQ29udGFpbmVyOl99PWUse2lzSW5Qb3BvdmVyOkl9PSgwLGgudXNlUG9wb3ZlckNvbnRleHQpKCkse2lzTW9iaWxlUG9zaXRpb25lcjpXfT0oMCxtLnVzZVBvc2l0aW9uZXJDb250ZXh0KSgpLHo9KDAsYy51c2VNYXRjaE1lZGlhKShMPz9mLkRFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UKSxEPSgwLG8udXNlTWVtbykoUC5jcmVhdGVTaWduYWwsW10pO3JldHVybih2b2lkIDA9PT1MJiZJP1c6eik/by5jcmVhdGVFbGVtZW50KGEuTW9iaWxlUG9zaXRpb25lcix7aXNPcGVuOm4sb25DbG9zZTppLGNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmwscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dSxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OnksYW5jaG9yZWRBdDoiZWxlbWVudCI9PT1PLnR5cGU/Ty5hdDp2b2lkIDAsY2hpbGRyZW46by5jcmVhdGVFbGVtZW50KGguUG9wb3ZlckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjoibW9iaWxlIixvbkNsb3NlOmksaXNSdGw6cH0sYikscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LHNpZGU6cyxzdHJldGNoOkEsZGF0YVFhSWQ6Rn0pOm8uY3JlYXRlRWxlbWVudChkLHthbmNob3JlZDpPLGlzUnRsOnAsaXNPcGVuOm4sYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmcscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LHBsYWNlbWVudFJ1bGVzOlIsd2lkdGg6dyxoZWlnaHQ6UyxjaGlsZHJlbjpvLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyQ29udGV4dFByb3ZpZGVyLHtwb3NpdGlvbmVyOiJhbmNob3IiLG9uQ2xvc2U6aSxpc1J0bDpwLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6RC5maXJlfSxiKSxyZXBvc2l0aW9uVHJpZ2dlcnM6Wy4uLk0sRF0scmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGNvbnRlbnRSZXNpemU6TixkYXRhUWFJZDpGLHNjcm9sbENvbnRhaW5lcjpffSl9KSl9LDk3MDM0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtFbGVtZW50UG9zaXRpb25lcjooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oODU0MzM4KSxyPW4oODk1OTIxKSxhPW4oMjg2MzEwKTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZEF0Om4saXNPcGVuOmMscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6cz10LHdpZHRoOmwsaGVpZ2h0OnUsaXNSdGw6ZCxwbGFjZW1lbnRSdWxlczpoLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpwLGNoaWxkcmVuOmYscm9sZTpQLGFyaWFMYWJlbGxlZGJ5Om0sYXJpYU11bHRpc2VsZWN0YWJsZTpiLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eCxvblBsYWNlbWVudFJ1bGVTZWxlY3RlZDpnLGdldFJvb3RSZWN0OkMscmVwb3NpdGlvblRyaWdnZXJzOkUsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6eSxkYXRhUWFJZDpSLHNjcm9sbENvbnRhaW5lcjp3fT1lLFM9KDAsci51c2VSZWZSZWN0KShuLGMsRSx5KTtyZXR1cm4oMCxpLnVzZUFuY2hvclBvcnRhbFBhaXIpKG4scyksUz9vLmNyZWF0ZUVsZW1lbnQoYS5SZWN0YW5nbGVQb3NpdGlvbmVyLHt3aWR0aDpsLGhlaWdodDp1LGlzUnRsOmQsaXNPcGVuOmMscGxhY2VtZW50UnVsZXM6aCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOnAsY2hpbGRyZW46Zixyb2xlOlAsYXJpYUxhYmVsbGVkYnk6bSxhcmlhTXVsdGlzZWxlY3RhYmxlOmIsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp4LHJlZk9iamVjdFRvQ29udGVudFdyYXBwZXJFbGVtZW50OnMsYW5jaG9yZWRBdDpTLG9uUGxhY2VtZW50UnVsZVNlbGVjdGVkOmcsZ2V0Um9vdFJlY3Q6Qyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvblRyaWdnZXJzOkUscmVwb3NpdGlvbkRlcGVuZGVuY2llczp5LGRhdGFRYUlkOlIsc2Nyb2xsQ29udGFpbmVyOnd9KTpudWxsfX0sODk1OTIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJlZlJlY3Q6KCk9PmF9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDUyNTI0KTtmdW5jdGlvbiByKGUpe2lmKCFlKXJldHVybjtjb25zdHt4OnQseTpuLHdpZHRoOm8saGVpZ2h0Oml9PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3g6dCx5Om4sd2lkdGg6byxoZWlnaHQ6aX19ZnVuY3Rpb24gYShlLHQsbj1bXSxhPVtdKXtjb25zdFtjLHNdPSgwLG8udXNlU3RhdGUpKCk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF0KXJldHVybjtjb25zdCBvPSgpPT57cyhmdW5jdGlvbihlKXtyZXR1cm4gcihlLmN1cnJlbnQpfShlKSl9LGE9bi5tYXAoKGU9PihlLnN1YnNjcmliZShvKSwoKT0+ZS51bnN1YnNjcmliZShvKSkpKTtyZXR1cm4oMCxpLmZvcmtGbikoLi4uYSl9KSxbZSx0LC4uLm5dKSwoMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT57cyh0P3IoZS5jdXJyZW50KTp2b2lkIDApfSksW2UsdCwuLi5hXSksY319LDQwNjI5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJue3g6MS1lLngseTplLnl9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuIGUubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm57Li4uZSxuYW1lOmUucnRsTmFtZXx8ZS5uYW1lLGFuY2hvclBvaW50Om8oZS5hbmNob3JQb2ludCksY29udGVudFBvaW50Om8oZS5jb250ZW50UG9pbnQpLG9mZnNldDplLm9mZnNldD8odD1lLm9mZnNldCx7eDotdC54LHk6dC55fSk6dm9pZCAwfTt2YXIgdH0oZSkpKX1mdW5jdGlvbiByKGUpe3JldHVybntsZWZ0OmUueCxyaWdodDplLngrZS53aWR0aCx0b3A6ZS55LGJvdHRvbTplLnkrZS5oZWlnaHR9fWZ1bmN0aW9uIGEoZSx0LG4pe3JldHVybigxLWUpKnQrZSpufWZ1bmN0aW9uIGMoZSx0LG4sbyxpLHIsYSxjLHMsdSl7Y29uc3R7YW5jaG9yZWRBdFB4OmQsY29udGVudFBvaW50OmgsY29udGVudFN0YXJ0OnAsY29udGVudEVuZDpmfT1mdW5jdGlvbihlLHQsbixvLGkscixhLGMpe2xldCBzPWksbD1yO2NvbnN0IHU9Yy1hLGQ9ZS1zK247MDxkJiYocys9ZCxsKz1kL3UpO2NvbnN0IGg9ZS1vK3M7MDxoJiYocy09aCxsLT1oL3UpO2NvbnN0IHA9dC1sKnU7MDxwJiYocys9cCxsKz1wL3UpO2NvbnN0IGY9dC0oMS1sKSp1OzA8ZiYmKHMtPWYsbC09Zi91KTtyZXR1cm57YW5jaG9yZWRBdFB4OnMsY29udGVudFBvaW50OmwsY29udGVudFN0YXJ0OmEsY29udGVudEVuZDpjfX0oZSx0LG4sbyxpLGMscyx1KTtyZXR1cm4gbChlLHQsbyxkLHIsaCxwLGYpfHwoKFA9bChlLHQsLW4sLWQsLWEsMS1oLC1mLC1wKSk/e2NvbnRlbnRQb2ludEZyYWN0aW9uOjEtUC5jb250ZW50UG9pbnRGcmFjdGlvbixhbmNob3JlZFB4Oi1QLmFuY2hvcmVkUHgsc2xpZGU6UC5zbGlkZX06dm9pZCAwKXx8e2NvbnRlbnRQb2ludEZyYWN0aW9uOmgsYW5jaG9yZWRQeDpkLHNsaWRlOjB9O3ZhciBQfWZ1bmN0aW9uIHMoZSx0LG4pe3JldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjphKGUsdC5jb250ZW50UG9pbnRGcmFjdGlvbixuLmNvbnRlbnRQb2ludEZyYWN0aW9uKSxhbmNob3JlZFB4OmEoZSx0LmFuY2hvcmVkUHgsbi5hbmNob3JlZFB4KSxzbGlkZTphKGUsdC5zbGlkZSxuLnNsaWRlKX19ZnVuY3Rpb24gbChlLHQsbixvLGkscixhLGMpe2NvbnN0IGw9Yy1hLHU9YStyKmwtdCxkPW4tZS10LGg9bCpyLXQscD17Y29udGVudFBvaW50RnJhY3Rpb246dC9sLGFuY2hvcmVkUHg6byxzbGlkZTpofSxmPXtjb250ZW50UG9pbnRGcmFjdGlvbjp0L2wsYW5jaG9yZWRQeDpuLWUsc2xpZGU6aCsobi1vLWUpfTtpZighKGE+PWkpKXJldHVybiB1Pj1pP3MoKGktYSkvKHUtYSkse2NvbnRlbnRQb2ludEZyYWN0aW9uOnIsYW5jaG9yZWRQeDpvLHNsaWRlOjB9LHApOmQ+PWk/cygoaS11KS8oZC11KSxwLGYpOmZ9ZnVuY3Rpb24gdShlLHQsbixvLGksYSxjKXtjb25zdCBzPXsuLi5vLC4uLnIobyl9LGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm57eDplLngrdC5hbmNob3JQb2ludC54KmUud2lkdGgrKHQub2Zmc2V0Py54Pz8wKSx5OmUueSt0LmFuY2hvclBvaW50LnkqZS5oZWlnaHQrKHQub2Zmc2V0Py55Pz8wKX19KGUsaSksdT1uLndpZHRoLHA9aChpLm92ZXJmbG93SG9yaXpvbnRhbCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCx1KSxmPU1hdGgubWluKHUscD8/MS8wKSxQPWMmJnZvaWQgMCE9PXAmJmY8dTtQJiZ0LnN0eWxlLnNldFByb3BlcnR5KGEsYCR7cH1weGApO2NvbnN0IG09UD90LmNsaWVudEhlaWdodDpuLmhlaWdodCxiPWgoaS5vdmVyZmxvd1ZlcnRpY2FsLGwueSxzLnRvcCxzLmJvdHRvbSxpLmNvbnRlbnRQb2ludC55LG0pLHg9TWF0aC5taW4obSxiPz8xLzApO1AmJnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoYSk7Y29uc3QgZz1sLngtaS5jb250ZW50UG9pbnQueCp1LEM9bC54KygxLWkuY29udGVudFBvaW50LngpKnUsRT1kKGkub3ZlcmZsb3dIb3Jpem9udGFsLGUueCxlLngrZS53aWR0aCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCxnLEMpLHY9bC55LWkuY29udGVudFBvaW50LnkqbSx5PWwueSsoMS1pLmNvbnRlbnRQb2ludC55KSptLFI9ZChpLm92ZXJmbG93VmVydGljYWwsZS55LGUueStlLmhlaWdodCxsLnkscy50b3Ascy5ib3R0b20saS5jb250ZW50UG9pbnQueSx2LHkpO3JldHVybnthbmNob3JlZFB4Ont4OkUuYW5jaG9yZWRQeCx5OlIuYW5jaG9yZWRQeH0sY29udGVudFBvaW50RnJhY3Rpb246ewp4OkUuY29udGVudFBvaW50RnJhY3Rpb24seTpSLmNvbnRlbnRQb2ludEZyYWN0aW9ufSxydWxlOmksaW5pdGlhbENvbnRlbnRTaXplUHg6e3dpZHRoOm4ud2lkdGgsaGVpZ2h0Om4uaGVpZ2h0fSxjb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4Ont3aWR0aDpmLGhlaWdodDptfSxjb250ZW50U2l6ZVB4Ont3aWR0aDpmLGhlaWdodDp4fSxtYXhDb250ZW50U2l6ZVB4Ont3aWR0aDpwLGhlaWdodDpifSxzbGlkZTp7eDpFLnNsaWRlLHk6Ui5zbGlkZX19fWZ1bmN0aW9uIGQoZSx0LG4sbyxpLHIsYSxzLGwpe2NvbnN0IHU9aS1zLGQ9bC1yO2lmKCJzbGlkZSI9PT1lfHwiY3JvcCI9PT1lKXtpZihsLXM+ci1pfHx1PjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjAsYW5jaG9yZWRQeDppLHNsaWRlOk1hdGgubWF4KDAsdSl9O2lmKGQ+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MSxhbmNob3JlZFB4OnIsc2xpZGU6TWF0aC5tYXgoMCxkKX19aWYoImNyb3BTbGlkZSI9PT1lKXtjb25zdCBlPWktbyx0PW8tcjtpZihlPjB8fHU+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MCxhbmNob3JlZFB4Omksc2xpZGU6TWF0aC5tYXgoMCxlKX07aWYodD4wfHxkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpyLHNsaWRlOk1hdGgubWF4KDAsdCl9fWlmKCJjcm9wT3ZlcmZsb3ciPT09ZSl7aWYodT4wKXJldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjowLGFuY2hvcmVkUHg6TWF0aC5taW4oaSxvKSxzbGlkZTowfTtpZihkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpNYXRoLm1heChyLG8pLHNsaWRlOjB9fXJldHVybiBwKGUpP2MoZS5hbmNob3JTYWZlU3BhY2UsZS5wb3NpdGlvbmVyU2FmZVNwYWNlLHQsbixvLGkscixhLHMsbCk6e2NvbnRlbnRQb2ludEZyYWN0aW9uOmEsYW5jaG9yZWRQeDpvLHNsaWRlOjB9fWZ1bmN0aW9uIGgoZSx0LG4sbyxpLHIpe3JldHVybiJjcm9wIj09PWU/ZnVuY3Rpb24oZSx0LG4sbyxpKXtjb25zdCByPWUtdD49MCYmbi1lPj0wO2lmKHImJigxPT09b3x8MD09PW8pKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtyZXR1cm4gMD09PW8/bi1lOmUtdH0oZSx0LG4sbyk7Y29uc3R7YXZhaWxhYmxlU3BhY2VTdGFydDphLGF2YWlsYWJsZVNwYWNlRW5kOmN9PVAobyxpLGUsdCxuKTtyZXR1cm4gYStjfSh0LG4sbyxpLHIpOiJjcm9wT3ZlcmZsb3ciPT09ZT9mKHQsbixvLGkscik6InNsaWRlIj09PWU/by1uOiJjcm9wU2xpZGUiPT09ZT9NYXRoLm1pbihvLW4sZih0LG4sbyxpLHIpKToia2VlcE5vbkZpdHRpbmciIT09ZSYmcChlKT90PG4/by10OnQ+bz90LW46dm9pZCAwOnZvaWQgMH1mdW5jdGlvbiBwKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmInNsaWRlT3ZlcmZsb3ciPT09ZS5raW5kfWZ1bmN0aW9uIGYoZSx0LG4sbyxpKXtpZihvPj0xfHxvPD0wKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtjb25zdCBpPU1hdGgubWF4KDAsZS10KSxyPU1hdGgubWF4KDAsbi1lKSxhPW8+MD9pL286TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGM9bzwxP3IvKDEtbyk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiBNYXRoLm1pbihhLGMpfShlLHQsbixvKTtjb25zdHthdmFpbGFibGVTcGFjZVN0YXJ0OnIsYXZhaWxhYmxlU3BhY2VFbmQ6YX09UChvLGksZSx0LG4pO3JldHVybiBNYXRoLm1heCgwLHIpK01hdGgubWF4KDAsYSl9ZnVuY3Rpb24gUChlLHQsbixvLGkpe2NvbnN0IHI9dCpNYXRoLm1heChlLDApLGE9dCpNYXRoLm1heCgxLWUsMCk7cmV0dXJue2F2YWlsYWJsZVNwYWNlU3RhcnQ6TWF0aC5taW4obi1vLHIpLGF2YWlsYWJsZVNwYWNlRW5kOk1hdGgubWluKGktbixhKX19ZnVuY3Rpb24gbShlKXtyZXR1cm4gZS5pbml0aWFsQ29udGVudFNpemVQeC53aWR0aC1lLmNvbnRlbnRTaXplUHgud2lkdGh9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZS5jb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4LmhlaWdodC1lLmNvbnRlbnRTaXplUHguaGVpZ2h0fWZ1bmN0aW9uIHgoZSl7cmV0dXJuIGUuc2xpZGUueCtlLnNsaWRlLnl9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXIoe3g6ZS5hbmNob3JlZFB4LngtZS5jb250ZW50UG9pbnRGcmFjdGlvbi54KmUuY29udGVudFNpemVQeC53aWR0aCx5OmUuYW5jaG9yZWRQeC55LWUuY29udGVudFBvaW50RnJhY3Rpb24ueSplLmNvbnRlbnRTaXplUHguaGVpZ2h0LHdpZHRoOmUuY29udGVudFNpemVQeC53aWR0aCxoZWlnaHQ6ZS5jb250ZW50U2l6ZVB4LmhlaWdodH0pLG89cih0KTtyZXR1cm57bGVmdDpNYXRoLm1heCgwLG8ubGVmdC1uLmxlZnQpLHJpZ2h0Ok1hdGgubWF4KDAsbi5yaWdodC1vLnJpZ2h0KSx0b3A6TWF0aC5tYXgoMCxvLnRvcC1uLnRvcCksYm90dG9tOk1hdGgubWF4KDAsbi5ib3R0b20tby5ib3R0b20pfX0oZSx0KTtyZXR1cm4oMStuLmxlZnQrbi5yaWdodCkqKDErbi50b3Arbi5ib3R0b20pLTF9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntydWxlOmUsb3ZlcmZsb3c6ZyhlLHQpLHdpZHRoRGlmZjptKGUpLGhlaWdodERpZmY6YihlKSxzbGlkZTp4KGUpfX1mdW5jdGlvbiBFKGUpe3JldHVybiAwPT09ZS5vdmVyZmxvdyYmMD09PWUud2lkdGhEaWZmJiYwPT09ZS5oZWlnaHREaWZmJiYwPT09ZS5zbGlkZX1mdW5jdGlvbiB2KGUsdCxuLG8scil7Y29uc3R7cnRsOmEsc2Nyb2xsQ29udGFpbmVyOmMsbWF4V2lkdGhDc3NQcm9wZXJ0eTpzPSJtYXgtd2lkdGgiLG1heEhlaWdodENzc1Byb3BlcnR5Omw9Im1heC1oZWlnaHQiLGNvbnRlbnRPdmVyZmxvd1dyYXA6ZD0hMH09cnx8e30saD1hP2kobyk6byxwPWZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybjtjb25zdCB0PWUuc2Nyb2xsVG9wO3JldHVybigpPT57ZS5zY3JvbGxUb3A9dH19KGMpLGY9ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQubWFwKCh0PT5bdCxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCldKSk7cmV0dXJuIG4uZm9yRWFjaCgoKFt0LG5dKT0+e24mJmUuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9KSksKCk9PnsKbi5mb3JFYWNoKCgoW3Qsbl0pPT57ZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSkpfX0odCxbcyxsXSksUD10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IG09ZnVuY3Rpb24oKXtjb25zdCBvPVtdO2Zvcihjb25zdCBpIG9mIGgpe2NvbnN0IHI9dShlLHQsUCxuLHsuLi5pfSxzLGQpLGE9QyhyLG4pO2lmKEUoYSkpcmV0dXJuIHI7by5wdXNoKGEpfXJldHVybiAxPT09KGk9bykubGVuZ3RoP2lbMF0ucnVsZTppLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUub3ZlcmZsb3chPT10Lm92ZXJmbG93P2Uub3ZlcmZsb3ctdC5vdmVyZmxvdzplLndpZHRoRGlmZiE9PXQud2lkdGhEaWZmP2Uud2lkdGhEaWZmLXQud2lkdGhEaWZmOmUuaGVpZ2h0RGlmZiE9PXQuaGVpZ2h0RGlmZj9lLmhlaWdodERpZmYtdC5oZWlnaHREaWZmOmUuc2xpZGUtdC5zbGlkZSkpWzBdLnJ1bGU7dmFyIGl9KCk7cmV0dXJuIGYoKSxwPy4oKSxtfW4uZCh0LHtjaG9zZVBvc2l0aW9uOigpPT52fSl9LDc3MTQ0NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gdC54PD1lLngmJmUueDw9dC54K3Qud2lkdGgmJnQueTw9ZS55JiZlLnk8PXQueSt0LmhlaWdodH1uLmQodCx7aXNJblJlY3Q6KCk9Pm99KX0sMjg2MzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JlY3RhbmdsZVBvc2l0aW9uZXI6KCk9Pnh9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nykscj1uLm4oaSksYT1uKDU2NTc0NSksYz1uKDU4NTQ4KSxzPW4oODY1MDApLGw9big0MDYyOTQpO2Z1bmN0aW9uIHUoKXtyZXR1cm57eDowLHk6MCx3aWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaGVpZ2h0OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9fXZhciBkPW4oMzE5NjkpLGg9big1MjUyNCk7dmFyIHA9big2MDE4NDEpO2Z1bmN0aW9uIGYoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJmlzRmluaXRlKGUpP2Ake2V9cHhgOnZvaWQgMH12YXIgUCxtPW4oODk1MzcpLGI9bi5uKG0pO2Z1bmN0aW9uIHgoZSl7Y29uc3R7aXNSdGw6dCxhbmNob3JlZEF0Om4saXNPcGVuOmkscGxhY2VtZW50UnVsZXM6UCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6bSxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp4LGNoaWxkcmVuOkMsb25QbGFjZW1lbnRSdWxlU2VsZWN0ZWQ6RSxnZXRSb290UmVjdDp2PXUsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp5LGFyaWFMYWJlbGxlZGJ5OlIsYXJpYU11bHRpc2VsZWN0YWJsZTp3LHJvbGU6Uyx3aWR0aDpPLGhlaWdodDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VD1bXSxjb250ZW50UmVzaXplOkw9MTUsZGF0YVFhSWQ6TixzY3JvbGxDb250YWluZXI6Rixhc3N1bWVOb0NvbnRlbnRXcmFwOl99PWUsST0oMCxvLnVzZU1lbW8pKCgoKT0+KDAscC5pc0FycmF5KShQKT9QOltQXSksW1BdKSxXPSgwLG8udXNlUmVmKShudWxsKSxbeixEXT0oMCxvLnVzZVN0YXRlKSh2b2lkIDApLGs9ZnVuY3Rpb24oZSl7Y29uc3RbdCxuXT0oMCxvLnVzZVN0YXRlKSgoKCk9PlN5bWJvbCgpKSk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9ZS5tYXAoKGU9Pntjb25zdCB0PSgpPT57bihTeW1ib2woKSl9O3JldHVybiBlLnN1YnNjcmliZSh0KSwoKT0+ZS51bnN1YnNjcmliZSh0KX0pKTtyZXR1cm4oMCxoLmZvcmtGbikoLi4udCl9KSxbLi4uZV0pLHR9KE0pOygwLG8udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpJiZXLmN1cnJlbnQ/RCgoMCxsLmNob3NlUG9zaXRpb24pKG4sVy5jdXJyZW50LHYoKSxJLHtydGw6ISF0LHNjcm9sbENvbnRhaW5lcjpGPy5jdXJyZW50LG1heEhlaWdodENzc1Byb3BlcnR5OiItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiLG1heFdpZHRoQ3NzUHJvcGVydHk6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heFdpZHRoIixjb250ZW50T3ZlcmZsb3dXcmFwOiFffSkpOkQodm9pZCAwKX0pLFtuLFcsdixJLGksayx0LEYsXywuLi5UXSksKDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKHo/LnJ1bGUmJkUpcmV0dXJuIEUoei5ydWxlKX0pLFt6Py5ydWxlLEVdKTtjb25zdCBWPSgwLGQudXNlTWVyZ2VkUmVmcykoW3gsV10pO2lmKCFpKXJldHVybiBudWxsO2NvbnN0e2NsYXNzbmFtZXM6SCxzdHlsZTpCfT1mdW5jdGlvbihlLHQsbil7Y29uc3Qgbz1bXSxpPXt9LHI9e3dpZHRoOnQsaGVpZ2h0Om59O2Zvcihjb25zdCB0IG9mWyJ3aWR0aCIsImhlaWdodCJdKXtjb25zdCBuPXJbdF07KEFycmF5LmlzQXJyYXkobik/bjpbbl0pLmZpbHRlcihhLmlzRXhpc3RlbnQpLmZvckVhY2goKG49Pntzd2l0Y2gobi5ieSl7Y2FzZSJjb250ZW50IjpyZXR1cm47Y2FzZSJjbGFzcyI6cmV0dXJuIHZvaWQgby5wdXNoKG4uY2xhc3NOYW1lKTtjYXNlImFuY2hvciI6e2NvbnN0IG89bi50eXBlPz8iZXhhY3QiO2lbZ1t0XVtvXV09ZihlW3RdKX19fSkpfXJldHVybntjbGFzc25hbWVzOm8sc3R5bGU6aX19KG4sTyxBKSxHPVttLGIoKS5wb3NpdGlvbmVyXSxqPSEoMSZMKSxVPSEoMiZMKSxRPSEoNCZMKSxYPSEoOCZMKSxZPXIoKShqJiZiKCkubm9Ib3Jpem9udGFsU2hyaW5rLFUmJmIoKS5ub0hvcml6b250YWxHcm93LFEmJmIoKS5ub1ZlcnRpY2FsU2hyaW5rLFgmJmIoKS5ub1ZlcnRpY2FsR3JvdykscT17Li4uQiwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItYW5jaG9yV2lkdGgiOmYobi53aWR0aCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvckhlaWdodCI6ZihuLmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvclRvcCI6ZihuLnkpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JMZWZ0IjpmKG4ueCl9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYy5Qb3J0YWwse2NsYXNzTmFtZTpiKCkucG9ydGFsfSx2b2lkIDA9PT16P28uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShiKCkuaW52aXNpYmxlLC4uLkgsLi4uRyxZKSxzdHlsZTpxLHJlZjpWLAoiZGF0YS1xYS1pZCI6Tn0sQyk6by5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpKC4uLkcsLi4uSCxZKSxzdHlsZTp7Ii0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFgiOnouY29udGVudFBvaW50RnJhY3Rpb24ueCwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSI6ei5jb250ZW50UG9pbnRGcmFjdGlvbi55LCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFgiOmYoei5hbmNob3JlZFB4LngpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFkiOmYoei5hbmNob3JlZFB4LnkpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhXaWR0aCI6Zih6Lm1heENvbnRlbnRTaXplUHgud2lkdGgpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiOmYoei5tYXhDb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQiOmYoei5jb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCI6Zih6LmNvbnRlbnRTaXplUHgud2lkdGgpLC4uLnF9LC4uLigwLHMuY29udGVudFByb3BzKSh5LFIsdyxTKSxyZWY6ViwiZGF0YS1xYS1pZCI6Tn0sQykpfSFmdW5jdGlvbihlKXtlW2UuQWxsb3dIb3Jpem9udGFsU2hyaW5rPTFdPSJBbGxvd0hvcml6b250YWxTaHJpbmsiLGVbZS5BbGxvd0hvcml6b250YWxHcm93PTJdPSJBbGxvd0hvcml6b250YWxHcm93IixlW2UuQWxsb3dWZXJ0aWNhbFNocmluaz00XT0iQWxsb3dWZXJ0aWNhbFNocmluayIsZVtlLkFsbG93VmVydGljYWxHcm93PThdPSJBbGxvd1ZlcnRpY2FsR3JvdyJ9KFB8fChQPXt9KSk7Y29uc3QgZz17aGVpZ2h0OntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0SGVpZ2h0IixtYXg6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhIZWlnaHQiLG1pbjoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCJ9LHdpZHRoOntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0V2lkdGgiLG1heDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heFdpZHRoIixtaW46Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNaW5XaWR0aCJ9fX0sODY1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUsdCxuLG8pe3JldHVybntyb2xlOm8sImFyaWEtbGFiZWxsZWRieSI6dCwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOm4saWQ6ZX19bi5kKHQse2NvbnRlbnRQcm9wczooKT0+b30pfSwxOTQyNzUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TW9iaWxlUG9zaXRpb25lcjooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oODU0MzM4KSxjPW4oNTg1NDgpLHM9big4NjUwMCksbD1uKDc4Nzg5NSksdT1uKDU4NzE2OCksZD1uKDMxOTY5KSxoPW4oNzM4NDU4KSxwPW4oNTY1NTMwKSxmPW4ubihwKTtmdW5jdGlvbiBQKGU9ITApe2NvbnN0IHQ9d2luZG93LmlubmVyV2lkdGgtZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDt2YXIgbixvO2lmKGV8fCFoLmlzU2FmYXJpfHwwPT09dClyZXR1cm4gZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS11aS1saWItcHJpdmF0ZS1zY3JvbGxUcmFwLXNjcm9sbC13aWR0aCIsYCR7dH1weGApLG49ZG9jdW1lbnQuYm9keSxvPWYoKS5ib2R5Tm9TY3JvbGwsbi5jbGFzc05hbWU9W24uY2xhc3NOYW1lLG9dLmpvaW4oIiAiKSwoKT0+eyFmdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5jbGFzc05hbWUucmVwbGFjZSh0LCIiKSxvPW4uc3BsaXQoIiAiKS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpO2UuY2xhc3NOYW1lPW99KGRvY3VtZW50LmJvZHksZigpLmJvZHlOb1Njcm9sbCksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoZigpLmJvZHlOb1Njcm9sbCl8fGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgiKX19dmFyIG09big3ODg0NjUpLGI9bi5uKG0pO2NvbnN0IHg9ZT0+e2UmJmcoZSl9O2Z1bmN0aW9uIGcoZSl7ZS5zY3JvbGxUb3A9NWUzLGUuc2Nyb2xsTGVmdD01ZTN9Y29uc3QgQz0oMCx1LmRlZmF1bHQpKChlPT57ZyhlLmN1cnJlbnRUYXJnZXQpfSksMTAwKTtmdW5jdGlvbiBFKGUpe2NvbnN0e3JlZmVyZW5jZTp0LGRpc2FibGVTYWZhcmlTY3JvbGxiYXJzOm49ITB9PWUsaT0oMCxkLnVzZU1lcmdlZFJlZnMpKFt4LHRdKTtyZXR1cm4oMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT5QKG4pKSxbbl0pLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmIoKS5zY3JvbGxUcmFwLHJlZjppLG9uU2Nyb2xsOkN9LGUuY2hpbGRyZW4sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YigpLnNjcm9sbFRyYXBDb250ZW50fSkpfXZhciB2PW4oMTI5MzY1KSx5PW4oOTk1NzM4KSxSPW4ubih5KTtmdW5jdGlvbiB3KCl7cmV0dXJuIGguaXNTYWZhcmkmJmguaXNJT1M/by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCwoMCx2LmNyZWF0ZVBvcnRhbCkoby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6UigpLnN0dWJ9KSxkb2N1bWVudC5ib2R5KSk6bnVsbH12YXIgUyxPPW4oMzI3ODA4KSxBPW4ubihPKTtmdW5jdGlvbiBNKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHtpc09wZW46bixvbkNsb3NlOmksY2hpbGRyZW46dSxjYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpkLGFuY2hvcmVkQXQ6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpwPXQsc2lkZTpmPSJib3R0b20iLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6UCxhcmlhTGFiZWxsZWRieTptLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixyb2xlOngsc3RyZXRjaDpnLGRhdGFRYUlkOkN9PWUsdj0oMCxsLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3JldHVybigwLAphLnVzZUFuY2hvclBvcnRhbFBhaXIpKGgsdiksbj9vLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudChjLlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudChFLHtyZWZlcmVuY2U6dixkaXNhYmxlU2FmYXJpU2Nyb2xsYmFyczohMX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi4oMCxzLmNvbnRlbnRQcm9wcykoUCxtLGIseCksImRhdGEtcWEtaWQiOkMsY2xhc3NOYW1lOnIoKShBKCkuY29udGVudCxBKClbZl0sZCxnJiZBKCkuc3RyZXRjaCl9LHUpLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToicHJlc2VudGF0aW9uIixjbGFzc05hbWU6QSgpLmJhY2tkcm9wLG9uQ2xpY2s6KCk9PntpKCExKX0sb25Qb2ludGVyRG93bjplPT57ZS5zdG9wUHJvcGFnYXRpb24oKX19KSkpLCJib3R0b20iPT09ZiYmby5jcmVhdGVFbGVtZW50KHcsbnVsbCkpOm51bGx9IWZ1bmN0aW9uKGUpe2UuU2lkZUJlZ2luPSJiZWdpbiIsZS5TaWRlRW5kPSJlbmQiLGUuVG9wPSJ0b3AiLGUuQm90dG9tPSJib3R0b20ifShTfHwoUz17fSkpfSw4NTQzMzgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHM6KCk9PmQsaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFsczooKT0+dSx1c2VBbmNob3JQb3J0YWxQYWlyOigpPT5sfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMzg2MzgpLHI9big3NzE0NDcpO2NvbnN0IGE9bmV3IE1hcDtsZXQgYz0wO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLnVzZUNhbGxiYWNrKSgoKCk9Pntjb25zdCB0PSgwLGkuZW5zdXJlKShlKTtyZXR1cm4iY3VycmVudCJpbiB0P3QuY3VycmVudDp0KCl9KSxbZV0pO2lmKGUpcmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cyhlKSxpPXModCk7KDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKG4mJmkpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1jKys7cmV0dXJuIGEuc2V0KG4sW2UsdF0pLCgpPT57YS5kZWxldGUobil9fShuLGkpfSksW24saV0pfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4oMCxyLmlzSW5SZWN0KSh7eDp0LHk6bn0sZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9KGUsdCxuKSlyZXR1cm4hMDtmb3IoY29uc3QgbyBvZiBhLnZhbHVlcygpKXtjb25zdCBpPW9bMF0oKSxyPW9bMV0oKTtpZihpJiZyJiZlLmNvbnRhaW5zKGkpJiZ1KHIsdCxuKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBkKGUsdCl7aWYoZS5jb250YWlucyh0KSlyZXR1cm4hMDtmb3IoY29uc3QgbiBvZiBhLnZhbHVlcygpKXtjb25zdCBvPW5bMF0oKSxpPW5bMV0oKTtpZihvJiZpJiZlLmNvbnRhaW5zKG8pJiZkKGksdCkpcmV0dXJuITB9cmV0dXJuITF9fSw5NTY3MzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9zaXRpb25lckNvbnRleHRQcm92aWRlcjooKT0+cyx1c2VQb3NpdGlvbmVyQ29udGV4dDooKT0+bH0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNjIzNjEzKSxyPW4ubihpKTtjb25zdCBhPSgwLG8uY3JlYXRlQ29udGV4dCkoe2lzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTt2YXIgYztmdW5jdGlvbiBzKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxjaGlsZHJlbjpufT1lLGk9KDAsby51c2VNZW1vKSgoKCk9Pih7aXNBbmNob3JQb3NpdGlvbmVyOiJhbmNob3IiPT09dCxpc01vYmlsZVBvc2l0aW9uZXI6Im1vYmlsZSI9PT10fSkpLFt0XSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTppfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToibW9iaWxlIj09PXQ/cigpLm1vYmlsZUNvbnRleHQ6cigpLmFuY2hvckNvbnRleHR9LG4pKX1mdW5jdGlvbiBsKCl7cmV0dXJuKDAsby51c2VDb250ZXh0KShhKX0hZnVuY3Rpb24oZSl7ZS5BbmNob3I9ImFuY2hvciIsZS5Nb2JpbGU9Im1vYmlsZSJ9KGN8fChjPXt9KSl9LDUyNTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyguLi5lKXtyZXR1cm4oLi4udCk9PntlLmZvckVhY2goKGU9PmU/LiguLi50KSkpfX1uLmQodCx7Zm9ya0ZuOigpPT5vfSl9LDcwNjk0MyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oKXtjb25zdCBlPW5ldyBTZXQ7cmV0dXJue3N1YnNjcmliZTp0PT57ZS5hZGQodCl9LHVuc3Vic2NyaWJlOnQ9PntlLmRlbGV0ZSh0KX0sZmlyZTooKT0+e2UuZm9yRWFjaCgoZT0+ZSgpKSl9fX1uLmQodCx7Y3JlYXRlU2lnbmFsOigpPT5vfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.958Z","timestamp":1785124876958,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/studies.c50f28eb9a346e093252.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2dbb5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3de3999047153c361216e8a85cf74acb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":187317,"size_decoded":59413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (5953)","md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-27T06:24:31.745314Z","times_seen":32,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTE5Niw0NzUzOCw1Mzc3MCw2NDY0NCw2Njg2Nl0sezkxNDQ4NyhlLHQpe3ZhciBzOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiByKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcz1hcmd1bWVudHNbdF07aWYocyl7dmFyIG49dHlwZW9mIHM7aWYoInN0cmluZyI9PT1ufHwibnVtYmVyIj09PW4pZS5wdXNoKHMpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShzKSYmcy5sZW5ndGgpe3ZhciBvPXIuYXBwbHkobnVsbCxzKTtvJiZlLnB1c2gobyl9ZWxzZSBpZigib2JqZWN0Ij09PW4pZm9yKHZhciBhIGluIHMpaS5jYWxsKHMsYSkmJnNbYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oci5kZWZhdWx0PXIsZS5leHBvcnRzPXIpOnZvaWQgMD09PShzPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1zKX0oKX0sNTQxODIwKGUpe2UuZXhwb3J0cz17c3VidGl0bGU6InN1YnRpdGxlLWJMVEJoQ3dKIix0ZXh0OiJ0ZXh0LWJMVEJoQ3dKIixzdW1tYXJ5OiJzdW1tYXJ5LWJMVEJoQ3dKIixncm91cDoiZ3JvdXAtYkxUQmhDd0oiLGdyb3VwSWNvbjoiZ3JvdXBJY29uLWJMVEJoQ3dKIixiZWZvcmVNYXJrZXRPcGVuOiJiZWZvcmVNYXJrZXRPcGVuLWJMVEJoQ3dKIixhZnRlck1hcmtldENsb3NlOiJhZnRlck1hcmtldENsb3NlLWJMVEJoQ3dKIixncm91cFRpdGxlOiJncm91cFRpdGxlLWJMVEJoQ3dKIixncm91cFJvdzoiZ3JvdXBSb3ctYkxUQmhDd0oiLGdyb3VwQ2VsbDoiZ3JvdXBDZWxsLWJMVEJoQ3dKIn19LDgwNjQxNShlKXtlLmV4cG9ydHM9e29wZXJhdG9yOiJvcGVyYXRvci1JSE5RVkFRSSJ9fSwyNzMzMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SWNvbjooKT0+cn0pO3ZhciBpPXMoNzc5NDc0KTtjb25zdCByPWkuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtpY29uOnM9IiIsdGl0bGU6cixhcmlhTGFiZWw6bixhcmlhTGFiZWxsZWRieTpvLGFyaWFIaWRkZW46YSwuLi5sfT1lLHU9ISEocnx8bnx8byk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImltZyIsLi4ubCxyZWY6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpvLCJhcmlhLWhpZGRlbiI6YXx8IXUsdGl0bGU6cixkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnN9fSl9KSl9LDYyODAwOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0Z1bmRhbWVudGFsU3VwcG9ydGVkQnlBbGVydHM6KCk9PnJ9KTtjb25zdCBpPW5ldyBTZXQoWyJTVEQ7RnVuZF9idXliYWNrX3lpZWxkIiwiU1REO0Z1bmRfZGl2aWRlbmRfeWllbGRfY2FsY3VsYXRlZCIsIlNURDtGdW5kX2Vhcm5pbmdzX3lpZWxkIiwiU1REO0Z1bmRfbWFya2V0X2NhcF9iYXNpYyIsIlNURDtGdW5kX3ByaWNlX2Vhcm5pbmdzX2dyb3d0aF9yYXRpbyIsIlNURDtGdW5kX3ByaWNlX2Jvb2siLCJTVEQ7RnVuZF9wcmljZV9jYXNoX2Zsb3ciLCJTVEQ7RnVuZF9wcmljZV9lYXJuaW5ncyIsIlNURDtGdW5kX3ByaWNlX2ZyZWVfY2FzaF9mbG93IiwiU1REO0Z1bmRfcHJpY2Vfc2FsZXMiLCJTVEQ7RnVuZF9wcmljZV90YW5naWJsZV9ib29rIl0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGkuaGFzKGUpfX0sNTMyOTc1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERvY3VtZW50c0FwaTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCk7dGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSBmZXRjaGluZyAke2V9ICR7dC50b1N0cmluZygpfS4gUmVzcG9uc2Ugc3RhdHVzICR7aS5zdGF0dXN9ICR7aS5zdGF0dXNUZXh0fS4gUmVzcG9uc2UgdGV4dDogJyR7c30nYCl9cmV0dXJuIGl9X3BhcnNlQm9keShlKXtyZXR1cm4gZS5qc29uKCl9X2dldFVSTChlLHQpe2NvbnN0IHM9bmV3IFVSTChlLHRoaXMuX2Jhc2VVcmwpO2lmKHQpe2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh0KTtzLnNlYXJjaD1lLnRvU3RyaW5nKCl9cmV0dXJuIHN9fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO3JldHVybiBudWxsIT1lLmNsaWVudCYmdC5zZXQoImNsaWVudCIsZS5jbGllbnQpLG51bGwhPWUuc3RyZWFtaW5nJiZ0LnNldCgic3RyZWFtaW5nIixTdHJpbmcoZS5zdHJlYW1pbmcpKSxudWxsIT1lLnB1YlVzYWdlJiZ0LnNldCgicHViX3VzYWdlIixlLnB1YlVzYWdlLmpvaW4oIiwiKSksZS5maWx0ZXJzLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUuaWQ8dC5pZD8tMToxKSkuZm9yRWFjaCgoZT0+e2lmKDA9PT1lLnZhbHVlcy5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZXMuc2xpY2UoKS5zb3J0KCkuam9pbigiLCIpO3QuYXBwZW5kKCJmaWx0ZXIiLGUuaWQrIjoiK3MpfSkpLHQuc29ydCgpLHQudG9TdHJpbmcoKX1jbGFzcyBhIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0iZG9jLXNjcmVlbmVyL3YxIn1hc3luYyBnZXREb2N1bWVudHMoZSx0KXtjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vZG9jdW1lbnRzYCxzKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsaSx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9fWNsYXNzIGwgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9hcGlQYXRoPSJuZXdzLWZsb3cvdjIifWFzeW5jIGdldFN1bW1hcmllcyhlLHQpewpjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oZSx0KT0+KDAsci5mZXRjaCkoZSx0KSx0PWZ1bmN0aW9uKCl7bGV0IGU9d2luZG93Lk5FV1NfTUVESUFUT1JfVVJMO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCk7cmV0dXJue2RvY1NjcmVlbmVyOnt2MTpuZXcgYSh0LGUpfSxkb2NTdW1tYXJpZXM6e3YyOm5ldyBsKHQsZSl9fX0pKX0sODExOTA0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5DYXJkUG9wdXA6KCk9Pml9KTtjb25zdCBpPShlLHQsaSxyKT0+UHJvbWlzZS5hbGwoW3MuZSg4NzU0Mikscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDExMjE4KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg3NDM4MSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2MTgyMSkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2NjI3MCkscy5lKDk3NDQpLHMuZSg4MzA0MSkscy5lKDcxNDgyKSxzLmUoMTk1MTMpLHMuZSgzNTE5OCkscy5lKDQ2NTkxKSxzLmUoNzE1MjgpLHMuZSg0NTM2OCkscy5lKDQ0NzcpLHMuZSgxNTA5KSxzLmUoNTUzMzYpLHMuZSg5MjM5Mykscy5lKDIwMjcxKSxzLmUoNTE4ODApLHMuZSg3NjMyOSkscy5lKDI3NTQ5KSxzLmUoMTY0MjEpLHMuZSg4MjI3MSkscy5lKDY5ODA5KSxzLmUoOWUzKSxzLmUoNzg0NzEpLHMuZSg4ODM4NSkscy5lKDUwMzI1KSxzLmUoNDcwMjEpLHMuZSg3MzU1MSkscy5lKDc4MjM3KSxzLmUoMTM2NzcpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDYxMTgzKSxzLmUoNzgxMDkpLHMuZSgxNjYwKSxzLmUoMjk3OTgpXSkudGhlbihzLmJpbmQocyw3MjE2NDcpKS50aGVuKChzPT5zLm9wZW5DYXJkUG9wdXAoZSx0LGkscikpKX0sMTEyNzI1KGUsdCxzKXsidXNlIHN0cmljdCI7aWYocy5kKHQse2J1aWxkU3VtbWFyaWVzTWFwOigpPT5fLGNhdGVnb3J5SGFzU3VtbWFyeTooKT0+YSxnZXREb2N1bWVudHNXaXRoU3VtbWFyeTooKT0+byxnZXRHcm91cGVkRG9jdW1lbnRzOigpPT5uLGxvb2t1cEJ5RG9jdW1lbnRJZDooKT0+cCxvcGVuRG9jdW1lbnRJbk5ld1RhYjooKT0+eSxwcmVwYXJlU3VtbWFyeTooKT0+bCxzb3J0Q2F0ZWdvcmllczooKT0+dSx0b0RvY3VtZW50Q2FyZFByb3BzOigpPT5jfSksNzk3OTU9PXMuail2YXIgaT1zKDMwNTEwOSk7Y29uc3Qgcj1uZXcgU2V0KFsiYW5udWFsX3JlcG9ydCIsImFubnVhbF9maW5hbmNpYWxfc3RhdGVtZW50Il0pO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtpZighcy52aWV3cz8ubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGU9e2lkOnMuaWQsdGl0bGU6cy50aXRsZSxldmVudDpzLmV2ZW50LHJlcG9ydGVkOnMucmVwb3J0ZWQsZmlzY2FsWWVhcjpzLmZpc2NhbF95ZWFyLGZpc2NhbFBlcmlvZDpzLmZpc2NhbF9wZXJpb2QsY2F0ZWdvcmllczpbe2RvY3VtZW50SWQ6cy5pZCxpZDpzLmNhdGVnb3J5LmlkLHRpdGxlOnMuY2F0ZWdvcnkudGl0bGUsdmlld3M6cy52aWV3cyxmb3JtOnMuZm9ybX1dfTt0W3MuY29ycmVsYXRpb25faWRdP3Rbcy5jb3JyZWxhdGlvbl9pZF0uY2F0ZWdvcmllcy5wdXNoKC4uLmUuY2F0ZWdvcmllcyk6dFtzLmNvcnJlbGF0aW9uX2lkXT1lfXJldHVybiBPYmplY3QudmFsdWVzKHQpfWZ1bmN0aW9uIG8oZSx0LHMsaSl7Y29uc3Qgcj1uKGUpLG89T2JqZWN0LmtleXMocykubWFwKChlPT5OdW1iZXIoZSkpKTtyZXR1cm4gci5tYXAoKGU9PmMoZSxfKHQpLG8scyxpKSkpfWZ1bmN0aW9uIGEoe3ZpZXdzOmV9KXtyZXR1cm4gZS5zb21lKCgoe3R5cGU6ZX0pPT4ic3VtbWFyeSI9PT1lKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZT8iLiI9PT1lW2UubGVuZ3RoLTFdP2U6YCR7ZX0uYDp2b2lkIDB9ZnVuY3Rpb24gdShlKXtjb25zdCB0PVsidHJhbnNjcmlwdCIsImNhbGxfdHJhbnNjcmlwdCIsImV2ZW50X3RyYW5zY3JpcHQiLCJlYXJuaW5nc19yZWxlYXNlIiwicXVhcnRlcmx5X3JlcG9ydCIsImFubnVhbF9yZXBvcnQiLCJzbGlkZXMiXTtyZXR1cm4gZS5zb3J0KCgoZSxzKT0+e2NvbnN0IGk9dC5pbmRleE9mKGUuaWQpLHI9dC5pbmRleE9mKHMuaWQpO3JldHVybigtMT09PWk/dC5sZW5ndGg6aSktKC0xPT09cj90Lmxlbmd0aDpyKX0pKX1mdW5jdGlvbiBjKGUsdCxzLG4sbyl7bGV0IGE9ZS50aXRsZTtjb25zdCBjPSJlYXJuaW5nIj09PWUuZXZlbnQsaD1lLmNhdGVnb3JpZXMuc29tZSgoZT0+ci5oYXMoZS5pZCkpKSxkPW5ldyBEYXRlKDFlMyplLnJlcG9ydGVkKS5nZXRGdWxsWWVhcigpO2MmJmUuZmlzY2FsUGVyaW9kJiZlLmZpc2NhbFllYXImJihhPWBFYXJuaW5ncywgJHtlLmZpc2NhbFBlcmlvZH0gRlkke2UuZmlzY2FsWWVhcn1gKTtjb25zdCBfPXUoZS5jYXRlZ29yaWVzKSx5PWZ1bmN0aW9uKGUsdCl7Zm9yKGNvbnN0IHMgb2YgZSl7Y29uc3QgZT1wKHMuZG9jdW1lbnRJZCx0KTtpZih2b2lkIDAhPT1lKXJldHVybiBlfXJldHVybn0oXyx0KSx2PWwoeSksZj1jJiZmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS1tLGk9ZSttLHI9dC5maWx0ZXIoKGU9PmU+PXMmJmU8PWkpKQo7cmV0dXJuIHIubGVuZ3RoP3JbMF06dm9pZCAwfShlLnJlcG9ydGVkLHMpO3JldHVybnt0aXRsZTphLGlzQW5udWFsOmgsc3VtbWFyeTp2LGV2ZW50OmUuZXZlbnQsZGF0ZTplLnJlcG9ydGVkLHllYXI6ZS5maXNjYWxZZWFyfHxkLGNhdGVnb3JpZXM6XyxlYXJuaW5nOmYmJmYgaW4gbj8oMCxpLmdldERvY3VtZW50RWFybmluZ1NlcnZlcikobltmXSk6dm9pZCAwLGN1cnJlbmN5Om99fWZ1bmN0aW9uIGgoZSl7Y29uc3QgdD1lLmluZGV4T2YoIjoiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpLnRyaW0oKX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9ZS5tYXRjaCgvOihcZCspLyk/LlsxXTtyZXR1cm4gdHx8bnVsbH1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPWQocy5pZCk7bnVsbCE9PWUmJnQuc2V0KGUsaChzLnRpdGxlKSl9cmV0dXJuIHR9ZnVuY3Rpb24gcChlLHQpe2NvbnN0IHM9ZChlKTtyZXR1cm4gbnVsbD09PXM/dm9pZCAwOnQuZ2V0KHMpfWZ1bmN0aW9uIHkoZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7dC5ocmVmPWUsdC50YXJnZXQ9Il9ibGFuayIsdC5yZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksdC5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCl9Y29uc3QgbT03OTc5NT09cy5qPzE3MjgwMDpudWxsfSwzMDUxMDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtpZihzLmQodCx7Z2V0RG9jdW1lbnRFYXJuaW5nU2VydmVyOigpPT5yfSksNzk3OTU9PXMuail2YXIgaT1zKDk2MDk2Mik7ZnVuY3Rpb24gcihlKXtjb25zdCB0PWUuZGF0ZSxzPTE0PT09ZS50aW1lVHlwZSxyPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJlcG9ydGVkKT9lLnJlcG9ydGVkOnZvaWQgMCxuPSgwLGkuaGFzTnVtYmVyKShlLmVzdGltYXRlKT9lLmVzdGltYXRlOnZvaWQgMCxvPSgwLGkuaGFzTnVtYmVyKShyKSYmKDAsaS5oYXNOdW1iZXIpKG4pP3Itbjp2b2lkIDAsYT1vJiZuP01hdGguYWJzKG8vbioxMDApOnZvaWQgMCxsPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJldmVudWVWYWx1ZSk/MWU2KmUucmV2ZW51ZVZhbHVlOnZvaWQgMCx1PSgwLGkuaGFzTnVtYmVyKShlLnJldmVudWVFc3RpbWF0ZSk/MWU2KmUucmV2ZW51ZUVzdGltYXRlOnZvaWQgMCxjPSgwLGkuaGFzTnVtYmVyKShsKSYmKDAsaS5oYXNOdW1iZXIpKHUpP2wtdTp2b2lkIDAsaD1jJiZ1P01hdGguYWJzKGMvdSoxMDApOnZvaWQgMDtsZXQgZDtyZXR1cm4gZS50aW1lVHlwZT9lLnRpbWVUeXBlPDIwP2Q9MTA9PT1lLnRpbWVUeXBlPyJFc3RpbWF0ZWREYXRlIjoiRnV0dXJlIjpvJiYoZD1vPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpvP2Q9bzwwPyJOZWdhdGl2ZSI6IlBvc2l0aXZlIjp0JiZ0PkRhdGUubm93KCkmJihkPSJGdXR1cmUiKSx7ZGF0ZTp0LHR5cGU6ZCx0aW1lVHlwZTplLnRpbWVUeXBlLHBlcmlvZDplLnBlcmlvZHx8dm9pZCAwLHN0YW5kYXJkaXplZDplLnN0YW5kYXJkaXplZHx8dm9pZCAwLHJlcG9ydGVkOnIsZXN0aW1hdGU6bixzdXJwcmlzZTpvfHx2b2lkIDAsc3VycHJpc2VQZXJjZW50OmEscmV2ZW51ZVZhbHVlOmwscmV2ZW51ZUVzdGltYXRlOnUscmV2ZW51ZVN1cnByaXNlOmN8fHZvaWQgMCxyZXZlbnVlU3VycHJpc2VQZXJjZW50Omh9fX0sODg5Mzk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5yfSk7dmFyIGk9cyg4OTA4MzUpO2Z1bmN0aW9uIHIoZSl7aS5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODg4NTYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5GaW5hbmNpYWxzV2VidmlldzooKT0+aH0pO3ZhciBpPXMoNzU3ODI5KSxyPXMoNjIzNTExKSxuPXMoMTI4ODE0KSxvPXMoMzA5MDUyKQo7Y29uc3QgYT1uZXcgU2V0KFsibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImZvdW5kZWQiLCJjZW8iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRzX3lpZWxkIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsImN1cnJlbmN5X2NvZGUiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImlzX25leHRfZWFybmluZ3NfcmVsZWFzZV9kYXRlX2VzdGltYXRlZCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnkiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9maCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZmhfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZmhfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnlfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9meSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9maCIsInJldmVudWVfZnFfaCIsInJldmVudWVfZnlfaCIsInJldmVudWVfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfZnFfaCIsInJldmVudWVfZm9yZWNhc3RfZnlfaCIsInJldmVudWVfZm9yZWNhc3RfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9mcSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9meSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9maCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJkaXZpZGVuZF9wYXlvdXRfcmF0aW9fdHRtIiwiZGl2aWRlbmRzX3lpZWxkX2N1cnJlbnQiLCJkaXZpZGVuZF9leF9kYXRlX3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3JlY2VudCIsImRpdmlkZW5kX2V4X2RhdGVfcmVjZW50IiwiZGl2aWRlbmRfYW1vdW50X2giLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfcmVjZW50IiwidG90YWxfcmV2ZW51ZV9meSIsImdyb3NzX3Byb2ZpdF9meSIsImViaXRkYV9meSIsImViaXRfZnkiLCJuZXRfaW5jb21lX2Z5IiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInRvdGFsX2RlYnRfZnlfaCIsInRvdGFsX2RlYnRfZnFfaCIsInRvdGFsX2RlYnRfZmhfaCIsImZyZWVfY2FzaF9mbG93X2Z5X2giLCJmcmVlX2Nhc2hfZmxvd19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZmhfaCIsImNhc2hfbl9lcXVpdmFsZW50c19meV9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2ZxX2giLCJjYXNoX25fZXF1aXZhbGVudHNfZmhfaCIsImxvYW5zX25ldF9meV9oIiwibG9hbnNfbmV0X2ZxX2giLCJsb2Fuc19uZXRfZmhfaCIsInRvdGFsX2RlcG9zaXRzX2Z5X2giLCJ0b3RhbF9kZXBvc2l0c19mcV9oIiwidG90YWxfZGVwb3NpdHNfZmhfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19meSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2Z5IiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnEiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicHJpY2VfZWFybmluZ3NfZnFfaCIsInByaWNlX2Vhcm5pbmdzX2Z5X2giLCJwcmljZV9lYXJuaW5nc19maF9oIiwicHJpY2Vfc2FsZXNfZnFfaCIsInByaWNlX3NhbGVzX2Z5X2giLCJwcmljZV9zYWxlc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwibWFya2V0X2NhcF9iYXNpYyIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsImZ1bmRfdmlld19tb2RlcyIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiZnVuZGFtZW50YWxfY3VycmVuY3lfY29kZSIsInJldmVudWVfc2VnX2J5X2J1c2luZXNzX2giLCJyZXZlbnVlX3NlZ19ieV9yZWdpb25faCIsImZpc2NhbF9wZXJpb2RfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnEiLCJpbnRlcmVzdF9pbmNvbWVfZmgiLCJub25faW50ZXJlc3RfaW5jb21lX2Z5Iiwibm9uX2ludGVyZXN0X2luY29tZV9mcSIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZmgiLCJpbnRlcmVzdF9leHBlbnNlX2Z5IiwiaW50ZXJlc3RfZXhwZW5zZV9mcSIsImludGVyZXN0X2V4cGVuc2VfZmgiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2Z5IiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9mcSIsImxvYW5fbG9zc19wcm92aXNpb25fZmgiLCJub25faW50ZXJlc3RfZXhwZW5zZV9meSIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2ZxIiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZmgiLCJub25fb3Blcl9pbmNvbWVfZnkiLCJub25fb3Blcl9pbmNvbWVfZnEiLCJub25fb3Blcl9pbmNvbWVfZmgiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2Z5IiwidW51c3VhbF9leHBlbnNlX2luY19mcSIsInVudXN1YWxfZXhwZW5zZV9pbmNfZmgiLCJwcmV0YXhfaW5jb21lX2Z5IiwicHJldGF4X2luY29tZV9mcSIsInByZXRheF9pbmNvbWVfZmgiLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJuZXRfaW5jb21lX2Z5IiwibmV0X2luY29tZV9mcSIsIm5ldF9pbmNvbWVfZmgiLCJjb3N0X29mX2dvb2RzX2Z5IiwiY29zdF9vZl9nb29kc19mcSIsImNvc3Rfb2ZfZ29vZHNfZmgiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnkiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnEiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZmgiLCJvcGVyX2luY29tZV9meSIsIm9wZXJfaW5jb21lX2ZxIiwib3Blcl9pbmNvbWVfZmgiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnkiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnEiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZmgiLCJpbmNvbWVfdGF4X2Z5IiwiaW5jb21lX3RheF9mcSIsImluY29tZV90YXhfZmgiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2Z5IiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9mcSIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnkiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnEiLCJlcXVpdHlfaW5fZWFybmluZ3NfZmgiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnkiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZmgiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19meSIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2ZxIiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZnVuZF92aWV3X21vZGVzIl0pLGw9KDAsCnIubGF6eVZhbHVlKSgoKCk9Pm5ldyBuLlF1b3RlU2Vzc2lvblNuYXBzaG90ZXIoe25hbWU6ImZpbmFuY2lhbHMtd2Vidmlldy1xdW90ZXMiLGZpZWxkczpbLi4uYV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKTtsZXQgdTtjbGFzcyBjIGV4dGVuZHMgaS5XZWJ2aWV3Q29udHJvbGxlckJhc2V7b3BlbihlKXtjb25zdCB0PXRoaXMuX2NyZWF0ZU9wZW5SZXF1ZXN0KGkuV2Vidmlld1BhZ2VOYW1lLkZpbmFuY2lhbHMsZSk7bCgpLmdldFNuYXBzaG90KHQuc3ltYm9sKCksYSk7dC5leGVjdXRlKCkuQ2hhcnRRdW90ZVNuYXBzaG90UHJvdmlkZXI9e2dldFF1b3RlU25hcHNob3QoKXtjb25zdCBlPW8uUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0LnN5bWJvbCgpKTtyZXR1cm4gZT8udmFsdWVzPz97fX19fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB1fHwodT1uZXcgYyksdX19ZnVuY3Rpb24gaChlKXtjLmdldEluc3RhbmNlKCkub3BlbihlKX19LDQwNzAwNihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0TmV3c01lZGlhdG9yU2VydmljZTooKT0+aH0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCkscj1uZXcgRXJyb3IoYEVycm9yIHdoaWxlIGZldGNoaW5nICR7ZX0gJHt0LnRvU3RyaW5nKCl9LiBSZXNwb25zZSBzdGF0dXMgJHtpLnN0YXR1c30gJHtpLnN0YXR1c1RleHR9LiBSZXNwb25zZSB0ZXh0OiAnJHtzfSdgKTt0aHJvdyByLnN0YXR1cz1pLnN0YXR1cyxyfXJldHVybiBpfWFzeW5jIF9zZW5kSnNvbihlLHQscyxpLHI9ITApe2NvbnN0IG49ey4uLmksYm9keTpKU09OLnN0cmluZ2lmeShzKSxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4gciYmKG4uY3JlZGVudGlhbHM9ImluY2x1ZGUiKSx0aGlzLl9zZW5kUmVxdWVzdChlLHRoaXMuX2dldFVSTCh0KSxuKX1fcGFyc2VCb2R5KGUpe3JldHVybiBlLmpzb24oKX1fZ2V0VVJMKGUsdCl7Y29uc3Qgcz1uZXcgVVJMKGUsdGhpcy5fYmFzZVVybCk7aWYodCl7Y29uc3QgZT1uZXcgVVJMU2VhcmNoUGFyYW1zKHQpO3Muc2VhcmNoPWUudG9TdHJpbmcoKX1yZXR1cm4gc319ZnVuY3Rpb24gbyhlKXtyZXR1cm5bKHM9ZS5maWx0ZXJzLHMuc2xpY2UoKS5zb3J0KCgoZSx0KT0+ZS5pZDx0LmlkPy0xOjEpKS5yZWR1Y2UoKChlLHQpPT57aWYoMD09PXQudmFsdWVzLmxlbmd0aClyZXR1cm4gZTtjb25zdCBzPXQudmFsdWVzLnNvcnQoKS5qb2luKCIsIiksaT1lbmNvZGVVUklDb21wb25lbnQodC5pZCsiOiIrcyk7cmV0dXJuIGUucHVzaChgZmlsdGVyPSR7aX1gKSxlfSksW10pLmpvaW4oIiYiKSksKHQ9ZSxsKHtjbGllbnQ6dC5jbGllbnQsc3RyZWFtaW5nOnQuc3RyZWFtaW5nLHB1Yl91c2FnZTp0LnB1YlVzYWdlP3QucHViVXNhZ2Uuam9pbigiLCIpOnZvaWQgMH0pKV0uZmlsdGVyKChlPT5lLmxlbmd0aD4wKSkuam9pbigiJiIpO3ZhciB0LHN9ZnVuY3Rpb24gYShlKXtyZXR1cm5bbCh7c3RyZWFtaW5nOmUuc3RyZWFtaW5nfSldLmZpbHRlcigoZT0+ZS5sZW5ndGg+MCkpLmpvaW4oIiYiKX1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSllLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdJiZ0LnB1c2goe2tleTpzLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KHMpKyI9IitlbmNvZGVVUklDb21wb25lbnQoZVtzXSl9KTtyZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9Y2xhc3MgdSBleHRlbmRzIG57Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUsdCksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YxIix0aGlzLmdldE1ldGE9YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX3B1YmxpY1ByZWZpeH0ke3RoaXMuX2FwaVBhdGh9L21ldGFgLHtsYW5nOmV9KTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2NyZWVucz1hc3luYyhlLHQpPT57Y29uc3Qgcz1hKGUpLGk9YHZlcnNpb249JHt0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259YCxyPXM/YCR7c30mJHtpfWA6aSxuPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zYCxyKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsbix7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2luZ2xlU2NyZWVuPWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX1gKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0UmVjZW50U2NyZWVuPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3JlY2VudGApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIix0LHsuLi5lLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5kZWxldGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlfWApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiREVMRVRFIixzLHsuLi50LGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5jcmVhdGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9ey4uLmUsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259CjtyZXR1cm4gdGhpcy5fc2VuZEpzb24oIlBPU1QiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnNgLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLnVwZGF0ZVNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17Li4uZSx2ZXJzaW9uOnRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbn07cmV0dXJuIHRoaXMuX3NlbmRKc29uKCJQVVQiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlLmlkfWAscyx0LCEwKS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMudXBkYXRlU2NyZWVuQWxlcnRzPWFzeW5jKGUsdCxzKT0+e2NvbnN0IGk9ey4uLnQsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX0vYWxlcnRzYCxpLHMsITApLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy50b3VjaFNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17dmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3RvdWNoLyR7ZX1gLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLmdldFN0b3J5PWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTCgicHVibGljL25ld3MvdjEvc3RvcnkiLHsuLi5lfSksaT1hd2FpdCB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIixzLHR8fHt9KTtyZXR1cm4gaS5vaz90aGlzLl9wYXJzZUJvZHkoaSk6UHJvbWlzZS5yZWplY3QoaSl9LHRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbj1zfX1jbGFzcyBjIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YyIn1hc3luYyBnZXROZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFByaXZhdGVOZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFNjcmVlbnMoZSx0KXtjb25zdCBzPWEoZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vc2NyZWVuc2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1zKDMwMDI4Nik7Y29uc3QgaD0oMCxpLmRlZmF1bHQpKCgoKT0+e2NvbnN0IGU9KGUsdCk9PigwLHIuZmV0Y2gpKGUsdCksdD1mdW5jdGlvbigpe2xldCBlPWAke3dpbmRvdy5ORVdTX01FRElBVE9SX1VSTH1gO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCkscz13aW5kb3cuaW5pdERhdGEuTkVXU19TQ1JFRU5fREFUQV9WRVJTSU9OfHwxO3JldHVybnt2MTpuZXcgdSh0LGUscyksdjI6bmV3IGModCxlKX19KSl9LDg5MDgzNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjdXJyZW50TGF5b3V0OigpPT5pfSk7Y29uc3QgaT1uZXcocygyMzIzNjQpLldhdGNoZWRWYWx1ZSkobnVsbCl9LDUzNzQ4NyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBzPU1hdGguZmxvb3IodC8xZTQpJTFlNCxpPU1hdGguZmxvb3IodC8xMDApJTEwMC0xLHI9dCUxMDA7cmV0dXJuIGUuZm9ybWF0KG5ldyBEYXRlKERhdGUuVVRDKHMsaSxyKSkpfXMuZCh0LHtmb3JtYXRZWVlZTU1ERDooKT0+aX0pfSw1MjMwNzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TUFUSF9NSU5VU19TSUdOOigpPT5yLHJvdW5kVG9UaGlyZERpZ2l0OigpPT5ufSk7dmFyIGk9cygxMDcwNDUpO2NvbnN0IHI9IuKIkiI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9TWF0aC5hYnMoTWF0aC5yb3VuZCgxZTMqZSkvMWUzKSxbLG5dPXMudG9GaXhlZCgzKS5zcGxpdCgiLiIpLG89IXQmJm4uZW5kc1dpdGgoIjAiKT9uZXcgaS5OdW1lcmljRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pOm5ldyBpLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjozfSk7cmV0dXJuYCR7ZTwwP3I6IiJ9JHtvLmZvcm1hdChzKX1gfX0sMTI4ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3RlU2Vzc2lvblNuYXBzaG90ZXI6KCk9Pmh9KTt2YXIgaT1zKDk0ODM4MCkscj1zKDE1MDE1MCksbj1zKDIxNDk4Nyksbz1zKDEzODYzOCksYT1zKDM2Nzk0NiksbD1zKDk3MDc3NCksdT1zKDMwOTA1Mik7Y29uc3QgYz1uZXcgTWFwKFtbImNoYW5nZSIsImNoIl0sWyJsYXN0X3ByaWNlIiwibHAiXSxbImNoYW5nZV9wZXJjZW50IiwiY2hwIl0sWyJ1cGRhdGVfbW9kZV9zZWNvbmRzIixudWxsXV0pO25ldyBNYXAoW1siY2giLCJjaGFuZ2UiXSxbImxwIiwibGFzdF9wcmljZSJdLFsiY2hwIiwiY2hhbmdlX3BlcmNlbnQiXV0pO2NsYXNzIGh7Y29uc3RydWN0b3IoZSl7aWYodGhpcy5fb25TeW1ib2xEYXRhPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2luY29tcGxldGU9bmV3IFNldCx0aGlzLl91cGRhdGVkRmllbGRzPW5ldyBNYXAsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCx0aGlzLl9oYW5kbGVyPWU9Pntzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5faGFuZGxlQ29ubmVjdGVkKCkpO2JyZWFrO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9Cn0sMD09PWUuZmllbGRzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoJ1N1cHBvcnQgZm9yIGVtcHR5ICJmaWVsZHMiIGFycmF5IGlzIG5vdCBpbXBsZW1lbnRlZCcpO2NvbnN0e3Byb3ZpZGVyOnQ9bC5RdW90ZVNlc3Npb259PWU7dGhpcy5fZmllbGRzPW5ldyBTZXQoZS5maWVsZHMpLHRoaXMuX3Nlc3Npb249bmV3IHQoZS5hcGksWyJzbmFwc2hvdGVyIixlLm5hbWUsKDAsci5yYW5kb21IYXNoKSgpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiXyIpKSx0aGlzLl9zZXNzaW9uLmNvbm5lY3QodGhpcy5faGFuZGxlcil9Z2V0U25hcHNob3RTeW5jKGUsdCl7Y29uc3Qgcz1oLmNhY2hlLmdldChlKTtyZXR1cm4gcyYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHRpbWVzdGFtcDpudWxsfSk/czpudWxsfWdldFNuYXBzaG90c0ZvckFsbFN5bmMoZSx0KXtyZXR1cm4gZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3RTeW5jKGUsdCkpKX1nZXRTbmFwc2hvdChlLHQscyl7Y29uc3QgaT1zPy5zaWduYWw/P251bGwscj1zPy5mcmVzaG5lc3MsYT12b2lkIDAhPT1yP0RhdGUubm93KCktcjpudWxsO3JldHVybiBuZXcgUHJvbWlzZSgoKHMscik9PntpZihpJiZpLmFib3J0ZWQpdGhyb3coMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgbD0oKT0+e3RoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLHUpLHIoKDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpKX0sdT0ocj1lKT0+e2lmKHIhPT1lKXJldHVybjtjb25zdCBuPWguY2FjaGUuZ2V0KGUpO24mJnRoaXMuX2lzU25hcHNob3RSZWFkeShuLHt0aW1lc3RhbXA6YSxzeW1ib2w6ZSxmaWVsZHM6dH0pJiYodGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsdSksaT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwpLHMobikpfTtpZighKCgpPT57Y29uc3QgaT1oLmNhY2hlLmdldChlKTtpZighaSlyZXR1cm4hMTtjb25zdCByPSgwLG8uZW5zdXJlTm90TnVsbCkoaC5jYWNoZS5nZXRUaW1lcyhlKSk7cmV0dXJuISF0aGlzLl9pc1NuYXBzaG90UmVhZHkoaSx7ZmllbGRzOnQsc3ltYm9sOmUsdGltZXN0YW1wOmEsdGltZXM6cn0pJiYocyhpKSwhMCl9KSgpJiYoaT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwse29uY2U6ITB9KSx0aGlzLl9vblN5bWJvbERhdGEuc3Vic2NyaWJlKHRoaXMsdSksIXRoaXMuX2luY29tcGxldGUuaGFzKGUpKSl7aWYodGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSxuZXcgU2V0KSx0aGlzLl9pbmNvbXBsZXRlLmFkZChlKSwhdGhpcy5fY29ubmVjdGVkKXJldHVybjtpZihudWxsPT09dGhpcy5fYmF0Y2hlcil7Y29uc3QgdD10aGlzLl9iYXRjaGVyPXtzeW1ib2xzOm5ldyBTZXQoW2VdKSxwcm9taXNlOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fYmF0Y2hlcj09PXQmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udC5zeW1ib2xzXSksdGhpcy5fYmF0Y2hlcj1udWxsKX0pKX19ZWxzZSB0aGlzLl9iYXRjaGVyLnN5bWJvbHMuYWRkKGUpfX0pKX1nZXRTbmFwc2hvdHNGb3JBbGwoZSx0LHMpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdChlLHQscykpKSl9c3RhdGljIHJlbGF4KGUpe3JldHVybiBlfXN0YXRpYyBpc1N1Y2Nlc3MoZSl7cmV0dXJuImVycm9yIiE9PWUuc3RhdHVzfXN0YXRpYyBoYXNBbGxGaWVsZHMoZSx0KXtmb3IoY29uc3QgcyBvZiBBcnJheS5mcm9tKHQpKWlmKCFlLmhhc093blByb3BlcnR5KHMpKXJldHVybiExO3JldHVybiEwfV9pc1NuYXBzaG90UmVhZHkoZSx0KXtjb25zdHtmaWVsZHM6cyx0aW1lc3RhbXA6aSx0aW1lczpyLHN5bWJvbDpufT10O3JldHVybiJlcnJvciI9PT1lLnN0YXR1c3x8KG51bGwhPT1pJiZyP3RoaXMuX2lzQWxsRmllbGRzVXBUb0RhdGUoZSxyLHMsaSk6bnVsbCE9PWkmJm4/dGhpcy5faXNBbGxGaWVsZHNVcGRhdGVkKGUsbixzKTp0aGlzLl9oYXNBbGxGaWVsZHMoZSxzKSl9X2lzQWxsRmllbGRzVXBkYXRlZChlLHQscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2NvbnN0IGk9dGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCk7aWYoIWl8fCFpLnNpemUpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSlpZighaS5oYXMoZSkpcmV0dXJuITE7cmV0dXJuITB9X2hhc0FsbEZpZWxkcyhlLHQpe3JldHVybiBoLmhhc0FsbEZpZWxkcyhlLnZhbHVlcyxBcnJheS5mcm9tKHQpKX1faXNBbGxGaWVsZHNVcFRvRGF0ZShlLHQscyxpKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7aWYoIXQpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSl7Y29uc3Qgcz10LmdldChlKTtpZighdC5oYXMoZSl8fHZvaWQgMD09PXMpcmV0dXJuITE7aWYoczxpKXJldHVybiExfXJldHVybiEwfV9oYW5kbGVDb25uZWN0ZWQoKXtpZih0aGlzLl9maWVsZHMuc2l6ZT4wKXtjb25zdCBlPVsuLi50aGlzLl9maWVsZHNdLmZsYXRNYXAoKGU9Pntjb25zdCB0PWMuZ2V0KGUpO3JldHVybiBudWxsIT09dD90Pz9lOltdfSkpO3RoaXMuX3Nlc3Npb24ucXVvdGVTZXRGaWVsZHMoZSl9dGhpcy5faW5jb21wbGV0ZS5zaXplPjAmJnRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50aGlzLl9pbmNvbXBsZXRlXSl9X2hhbmRsZUNvbXBsZXRlRGF0YShlKXtjb25zdCB0PWguY2FjaGUuZ2V0KGUpPz97c3ltYm9sbmFtZTplLHN0YXR1czoib2siLHZhbHVlczp7fX07aC5jYWNoZS51cGRhdGUodCx0aGlzLl9maWVsZHMsITApLHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsdGhpcy5fZmllbGRzKSx0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLGguY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLGk9bmV3IFNldChzKQo7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZmllbGRzKWUudmFsdWVzLmhhc093blByb3BlcnR5KHQpJiZpLmFkZCh0KTt0aGlzLl91cGRhdGVkRmllbGRzLnNldCh0LGkpLCJlcnJvciI9PT1lLnN0YXR1cz90aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEodCk6dGhpcy5fb25TeW1ib2xEYXRhLmZpcmUodCl9fWguY2FjaGU9dS5RVU9URV9GSUVMRFNfQ0FDSEV9LDEwMDIzOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRWb2x1bWVVbml0OigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIHIoZSl7c3dpdGNoKGUudm9sdW1lX3R5cGUpe2Nhc2UiYmFzZSI6cmV0dXJuIGUuYmFzZV9jdXJyZW5jeXx8dm9pZCAwO2Nhc2UicXVvdGUiOnJldHVybiBlLmN1cnJlbmN5fHx2b2lkIDA7Y2FzZSJ0aWNrIjpyZXR1cm4gaS50KG51bGwsdm9pZCAwLHMoMzcwMjQzKSl9fX0sNjIzNTExKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+aX0pfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIHM9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIikscj1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG49U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksXz1TeW1ib2wuaXRlcmF0b3I7dmFyIHA9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHk9T2JqZWN0LmFzc2lnbixtPXt9O2Z1bmN0aW9uIHYoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH1mdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIFMoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGYucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBnPVMucHJvdG90eXBlPW5ldyBmO2cuY29uc3RydWN0b3I9Uyx5KGcsdi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIGI9QXJyYXkuaXNBcnJheSx3PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksQz17Y3VycmVudDpudWxsfSxQPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQsaSl7dmFyIHIsbj17fSxvPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLHQpdy5jYWxsKHQscikmJiFQLmhhc093blByb3BlcnR5KHIpJiYobltyXT10W3JdKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpbi5jaGlsZHJlbj1pO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtuLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHIgaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW3JdJiYobltyXT1sW3JdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUsa2V5Om8scmVmOmEscHJvcHM6bixfb3duZXI6Qy5jdXJyZW50fX1mdW5jdGlvbiBEKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1zfXZhciBJPS9cLysvZztmdW5jdGlvbiBUKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVihlLHQscixuLG8pe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBpOmw9ITB9fWlmKGwpcmV0dXJuIG89byhsPWUpLGU9IiI9PT1uPyIuIitUKGwsMCk6bixiKG8pPyhyPSIiLG51bGwhPWUmJihyPWUucmVwbGFjZShJLCIkJi8iKSsiLyIpLFYobyx0LHIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1vJiYoRChvKSYmKG89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShvLHIrKCFvLmtleXx8bCYmbC5rZXk9PT1vLmtleT8iIjooIiIrby5rZXkpLnJlcGxhY2UoSSwiJCYvIikrIi8iKStlKSksCnQucHVzaChvKSksMTtpZihsPTAsbj0iIj09PW4/Ii4iOm4rIjoiLGIoZSkpZm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1Kyspe3ZhciBjPW4rVChhPWVbdV0sdSk7bCs9VihhLHQscixjLG8pfWVsc2UgaWYoYz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPV8mJmVbX118fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEoYT1lLm5leHQoKSkuZG9uZTspbCs9VihhPWEudmFsdWUsdCxyLGM9bitUKGEsdSsrKSxvKTtlbHNlIGlmKCJvYmplY3QiPT09YSl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBSKGUsdCxzKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBpPVtdLHI9MDtyZXR1cm4gVihlLGksIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwocyxlLHIrKyl9KSksaX1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEw9e2N1cnJlbnQ6bnVsbH0sRT17dHJhbnNpdGlvbjpudWxsfSxNPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkwsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6RSxSZWFjdEN1cnJlbnRPd25lcjpDfTt0LkNoaWxkcmVuPXttYXA6Uixmb3JFYWNoOmZ1bmN0aW9uKGUsdCxzKXtSKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxzKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gUihlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBSKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighRChlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9cix0LlByb2ZpbGVyPW8sdC5QdXJlQ29tcG9uZW50PVMsdC5TdHJpY3RNb2RlPW4sdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9TSx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsaSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIHI9eSh7fSxlLnByb3BzKSxuPWUua2V5LG89ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYsYT1DLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobj0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl3LmNhbGwodCx1KSYmIVAuaGFzT3duUHJvcGVydHkodSkmJihyW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpci5jaGlsZHJlbj1pO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtyLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTplLnR5cGUsa2V5Om4scmVmOm8scHJvcHM6cixfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1ELHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6aCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUUudHJhbnNpdGlvbjtFLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0UudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlQ29udGV4dChlKX0sCnQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LHMpe3JldHVybiBMLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQscyl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LHMpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxzKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxzKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXMoMTIyNzQ5KX0sNjMyNjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xvbGxpcG9wR3JvdXBJY29uczooKT0+aSxMb2xsaXBvcFRvb2x0aXBNYWluQ29tbW9uUm93OigpPT51fSk7dmFyIGkscj1zKDU0MTgyMCk7IWZ1bmN0aW9uKGUpe2VbZS5CZWZvcmVNYXJrZXRPcGVuPXIuYmVmb3JlTWFya2V0T3Blbl09IkJlZm9yZU1hcmtldE9wZW4iLGVbZS5BZnRlck1hcmtldENsb3NlPXIuYWZ0ZXJNYXJrZXRDbG9zZV09IkFmdGVyTWFya2V0Q2xvc2UifShpfHwoaT17fSkpO3ZhciBuPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxhPXMubihvKSxsPXMoMjczMzEwKTtmdW5jdGlvbiB1KGUpe2NvbnN0e25hbWU6dCx2YWx1ZTpzLHN0eWxlOmksdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazp1LHZhbHVlUmlnaHRJY29uOmMsY2xhc3NOYW1lOmh9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKShyLmdyb3VwUm93LGgpLHN0eWxlOml9LHQmJm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIuZ3JvdXBDZWxsfSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ci50ZXh0fSx0KSksbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ci5ncm91cENlbGx9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyLnRleHQsc3R5bGU6byxvbkNsaWNrOnV9LHMpLGMmJm4uY3JlYXRlRWxlbWVudChsLkljb24se2ljb246Yy5pY29uQ29udGVudCxjbGFzc05hbWU6YSgpKHIuZ3JvdXBJY29uLGMuaWNvbkNsYXNzLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRpdGxlOmMudG9vbHRpcFRleHR9KSkpfX0sMjI4ODIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5nZSxjcmVhdGVFYXJuaW5nc0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wczooKT0+ZmUsY3JlYXRlU3BsaXRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5iZSxnZXRNb3JlRmluYW5jaWFsc0RpdmlkZW5kc0xpbmtUZXh0OigpPT5TZSxnZXRNb3JlRmluYW5jaWFsc0xpbmtUZXh0OigpPT51ZX0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoMjE0OTg3KSxvPXMoMjIxMDYxKSxhPXMoMjc2MDE5KSxsPXMoNTIzMDcxKSx1PXMoNDkxMTY1KSxjPXMoOTI2OTk1KSxoPXMoNTMyOTc1KSxkPXMoNDA3MDA2KSxfPXMoMTEyNzI1KSxwPXMoODExOTA0KSx5PXMoMTg1MjcxKSxtPXMoNTE3MjkzKSx2PXMoNzcwNzU1KSxmPXMoOTY5MTY4KSxTPXMoNTU0NjU0KSxnPXMoODIyNzk1KSxiPXMoOTMwMjMxKSx3PXMoNTY5Mzk4KSxDPXMoODg4NTYyKSxQPXMoODg5Mzk3KSx4PXMoNzIxMDQyKSxEPXMoMjMzMjQ3KSxJPXMoNjMyNjA3KSxUPXMoODk0Njk3KSxWPXMoNDA4Mzc3KSxSPXMoMzUzMjA2KSxBPXMoNjkxOTgpLEw9cygyNDEyMjMpLEU9cygzMDc3MDgpLE09cyg1NTIwODQpLGs9cyg1MzY5MiksQj1zKDU1MTQzMCksTj1zKDQzNTI3MyksRj1zKDI0MTUzMik7Y29uc3QgTz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LkxvbGlwb3BDb250ZW50RmFjdG9yeSIpLEg9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDY0MTg3NSkpLHE9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDM4NTExMikpLHo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDEzNjk1MikpLFU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDc1Njc4NCkpLFc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMzNjg3MSkpLCQ9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDkzMDU4NikpLEc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ3MTEyNCkpLGo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMyNDUxKSksWT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDY0NjY3KSksSj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoODQ3ODU4KSksUT15LnQobnVsbCx7CmNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2Mjk5KSksWj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNTE4MTQzKSksSz15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDEwMzQ1KSksWD15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNzcyMTQ5KSksZWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2NTkzNikpLHRlPXkudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg2NTEyMjQpKSxzZT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNjQyODE3KSksaWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI5OTU5MykpLHJlPSgwLEQuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxuZT0oMCxELmdldFZvbHVtZUZvcm1hdHRlcikoKSxvZT1uZXcgbS5DaXJjdWxhckNhY2hlQnVmZmVyKDMyKSxhZT1bImluIiwiZW4iXS5pbmNsdWRlcyh3aW5kb3cubGFuZ3VhZ2U/PyJlbiIpO2Z1bmN0aW9uIGxlKGUsdCxzPSJvdmVydmlldyIpe2lmKCEvXGJldGZcYi9pLnRlc3QoZT8uZGVzY3JpcHRpb258fCIiKSlyZXR1cm57Y2hpbGRyZW46dCxvbkNsaWNrOmFzeW5jKCk9PnthLmdsb2JhbENsb3NlRGVsZWdhdGUuZmlyZSgpLCgwLGIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZmluYW5jaWFsc193ZWJ2aWV3Iik/KDAsQy5vcGVuRmluYW5jaWFsc1dlYnZpZXcpKG5ldyBVUkxTZWFyY2hQYXJhbXMpOigwLFAuc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKHtpbml0aWFsVGFiSWQ6c30pfX19ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI0MTc3KSl9ZnVuY3Rpb24gY2UoZSx0KXtyZXR1cm57aWNvbjpGLGNsYXNzTmFtZToiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJkYXRhLXRvb2x0aXAiOnkudChudWxsLHZvaWQgMCxzKDM0NDQ4MikpLG9uQ2xpY2s6YXN5bmMoKT0+eygwLHgudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkoZS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksImVhcm5pbmdzX2xvbGxpcG9wIiwiY2hhcnQiKSx3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxnLmludm9rZUFsZXJ0RWRpdG9yKSh7bW9kZTpnLkFsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGUuQ3JlYXRlQWxlcnQsZGF0YVNvdXJjZUh1YjplLGVhcm5pbmdzOnQsc291cmNlOiJjaGFydCIsbWV0aG9kOiJlYXJuaW5nc19sb2xsaXBvcCIsYWN0aW9uU291cmNlOiJlYXJuaW5nc19sb2xsaXBvcCJ9KTooMCx2Lm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToiYWxlcnRzT25FYXJuaW5ncyJ9KX19fWZ1bmN0aW9uIGhlKGUpe3JldHVybntkb2N1bWVudElkOmUuaWQsaWQ6ZS5jYXRlZ29yeS5pZCx0aXRsZTplLmNhdGVnb3J5LnRpdGxlLHZpZXdzOmUudmlld3MsZm9ybTplLmZvcm0/P251bGx9fWZ1bmN0aW9uIGRlKGUsdCl7cmV0dXJuKDAsaC5nZXREb2N1bWVudHNBcGkpKCkuZG9jU2NyZWVuZXIudjEuZ2V0RG9jdW1lbnRzKHtjbGllbnQ6ImNoYXJ0IixmaWx0ZXJzOlt7aWQ6ImxhbmciLHZhbHVlczpbd2luZG93Lmxhbmd1YWdlPz8iZW4iXX0se2lkOiJzeW1ib2wiLHZhbHVlczpbZV19XX0se3NpZ25hbDp0fSl9Y29uc3QgX2U9W1sidXJuOnN1bW1hcnlfZG9jdW1lbnRfcmVwb3J0OnF1YXJ0ci5jb20iLCJ1cm46cmVwb3J0OnF1YXJ0ci5jb20iXSxbInVybjpzdW1tYXJ5X2RvY3VtZW50X3NsaWRlczpxdWFydHIuY29tIiwidXJuOnNsaWRlczpxdWFydHIuY29tIl0sWyJ1cm46c3VtbWFyeV9kb2N1bWVudF90cmFuc2NyaXB0OnF1YXJ0ci5jb20iLCJ1cm46dHJhbnNjcmlwdHM6cXVhcnRyLmNvbSJdXTtmdW5jdGlvbiBwZShlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUuaXRlbXMuZm9yRWFjaCgoZT0+e2NvbnN0IHM9KChpPWUuaWQpLmVuZHNXaXRoKCI6MCIpJiYoaT1pLnNsaWNlKDAsLTIpKSxfZS5yZWR1Y2UoKChlLHQpPT5lLnJlcGxhY2UodFswXSx0WzFdKSksaSkpO3ZhciBpO3Quc2V0KHMsZS50aXRsZSl9KSksdH1mdW5jdGlvbiB5ZShlLHQpe3JldHVybigwLGQuZ2V0TmV3c01lZGlhdG9yU2VydmljZSkoKS52Mi5nZXROZXdzKHtjbGllbnQ6ImxhbmRpbmciLHN0cmVhbWluZzohMSxmaWx0ZXJzOlt7aWQ6InN5bWJvbCIsdmFsdWVzOltlXX0se2lkOiJwcm92aWRlciIsdmFsdWVzOlsicXVhcnRyIl19XX0se3NpZ25hbDp0fSkudGhlbihwZSl9ZnVuY3Rpb24gbWUoZSx0KXtjb25zdCBzPW9lLmdldChlKTtpZihzKXJldHVybiBzO2NvbnN0IGk9e2RvY3VtZW50c1JlcXVlc3Q6ZGUoZSx0KSxuZXdzUmVxdWVzdDp5ZShlLHQpfTtyZXR1cm4gb2Uuc2V0KGUsaSksaX1mdW5jdGlvbiB2ZShlKXtjb25zdCB0PWUucmVwb3J0ZWQscz1udWxsIT10LGk9ZS5lc3RpbWF0ZSxyPW51bGwhPWksbj1zJiZyP3QtaTpudWxsO2xldCBvPWUucmV2ZW51ZUVzdGltYXRlLGE9ITE7bnVsbCE9byYmKGE9ITAsbyo9MWU2KTtsZXQgbD1lLnJldmVudWVWYWx1ZSx1PSExO251bGwhPWwmJih1PSEwLGwqPTFlNik7Y29uc3QgYz11JiZhP2wtbzpudWxsO3JldHVybntzdXJwcmlzZTpuLHJldmVudWVTdXJwcmlzZTpjLHJldmVudWVFc3RpbWF0ZTpvLGlzUmV2ZW51ZUVzdGltYXRlOmEsaXNSZXBvcnRlZDpzLHJldmVudWVWYWx1ZTpsLGlzUmV2ZW51ZVZhbHVlOnUsZXN0aW1hdGU6aSxyZXBvcnRlZDp0LGlzRXN0aW1hdGU6cixzdXJwcmlzZVBlcmNlbnQ6bnVsbD09bj9udWxsOjEwMCpNYXRoLmFicyhuL2kpLHJldmVudWVTdXJwcmlzZVBlcmNlbnQ6bnVsbD09Yz9udWxsOjEwMCpNYXRoLmFicyhjL28pfX1hc3luYyBmdW5jdGlvbiBmZShlLHQsbyxhLGgsZCxtKXsKY29uc3R7c3VycHJpc2U6dixyZXZlbnVlU3VycHJpc2U6ZyxyZXZlbnVlRXN0aW1hdGU6Yixpc1JldmVudWVFc3RpbWF0ZTpDLHJldmVudWVWYWx1ZTpQLGlzUmV2ZW51ZVZhbHVlOngsZXN0aW1hdGU6RCxpc1JlcG9ydGVkOkEscmVwb3J0ZWQ6TCxpc0VzdGltYXRlOkYsc3VycHJpc2VQZXJjZW50OkcscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpqfT12ZShlKSxZPSJGdXR1cmUiPT09ZS50eXBlfHwiRXN0aW1hdGVkRGF0ZSI9PT1lLnR5cGUsWj1vJiYhWT9hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQscyl7Y29uc3R7cGVyaW9kOmksZGF0ZTpyfT10LG89bmV3IERhdGUoMWUzKmkpLGE9IlEiKyhvLmdldFVUQ01vbnRoKCkrMSkvMyxsPW1lKGUucHJvX25hbWUscyk7dHJ5e2NvbnN0W2UsdF09YXdhaXQgUHJvbWlzZS5hbGwoW2wuZG9jdW1lbnRzUmVxdWVzdCxsLm5ld3NSZXF1ZXN0XSk7aWYocy5hYm9ydGVkKXJldHVybiBudWxsO2NvbnN0IGk9ZS5pdGVtcy5maW5kKChlPT5bInF1YXJ0ZXJseV9yZXBvcnQiLCJlYXJuaW5nc19yZWxlYXNlIiwiYW5udWFsX3JlcG9ydCJdLmluY2x1ZGVzKGUuY2F0ZWdvcnkuaWQpJiYiZWFybmluZyI9PT1lLmV2ZW50JiZlLmZpc2NhbF9wZXJpb2Q9PT1hJiZlLmZpc2NhbF95ZWFyPT09by5nZXRVVENGdWxsWWVhcigpKSk7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3Qgbj1pLmlkLHU9aS5jb3JyZWxhdGlvbl9pZCxjPWUuaXRlbXMuZmlsdGVyKChlPT5lLmNvcnJlbGF0aW9uX2lkPT09dSkpO3JldHVybntzdW1tYXJ5OmFlP3QuZ2V0KG4pPz8iIjoiIixmaXNjYWxQZXJpb2Q6YSxmaXNjYWxZZWFyOm8uZ2V0VVRDRnVsbFllYXIoKSxldmVudERhdGU6ci8xZTMsY2F0ZWdvcmllczpjLm1hcChoZSl9fWNhdGNoKGUpe3JldHVybiBuLmlzQWJvcnRFcnJvcnx8Ty5sb2dFcnJvcihgRXJyb3IgcmVxdWVzdGluZyBkb2N1bWVudHMgYW5kIG5ld3M6ICR7ZX1gKSxudWxsfX0obyxlLGQpOm51bGwsSz1lLnN0YW5kYXJkaXplZCxlZT1udWxsIT1LLG9lPTEwPT09ZS50aW1lVHlwZXx8MTQ9PT1lLnRpbWVUeXBlLHVlPSgwLFYuZWFybmluZ3NTdHlsZXMpKGEpO2xldCBkZSxfZSxwZSx5ZSxmZTtzd2l0Y2goZS50eXBlKXtjYXNlIkZ1dHVyZSI6X2U9dWUuZnV0dXJlLGRlPWs7YnJlYWs7Y2FzZSJFc3RpbWF0ZWREYXRlIjpfZT11ZS5lc3RpbWF0ZWREYXRlLGRlPVI7YnJlYWs7Y2FzZSJOZWdhdGl2ZSI6X2U9dWUubmVnYXRpdmUsZGU9TTticmVhaztjYXNlIlBvc2l0aXZlIjpfZT11ZS5wb3NpdGl2ZSxkZT1FO2JyZWFrO2RlZmF1bHQ6X2U9dWUudW5rbm93bixkZT1rfXN3aXRjaChlLnRpbWVUeXBlKXtjYXNlIDEyOmNhc2UgMjI6cGU9Tix5ZT1JLkxvbGxpcG9wR3JvdXBJY29ucy5BZnRlck1hcmtldENsb3NlLGZlPWllO2JyZWFrO2Nhc2UgMTE6Y2FzZSAyMTpwZT1CLHllPUkuTG9sbGlwb3BHcm91cEljb25zLkJlZm9yZU1hcmtldE9wZW4sZmU9c2V9Y29uc3QgU2U9e25hbWU6IkVzdGltYXRlZERhdGUiPT09ZS50eXBlP1E6Six2YWx1ZTpoKGUuZGF0ZSxvZSl9O3BlJiYoU2UudmFsdWVSaWdodEljb249e2ljb25Db250ZW50OnBlLGljb25DbGFzczp5ZSx0b29sdGlwVGV4dDpmZX0pO2NvbnN0IGdlPVtTZV07ZS5wZXJpb2QmJmdlLnB1c2goe25hbWU6WCx2YWx1ZTp1LmRhdGVGb3JtYXRGdW5jdGlvbnNbIk1NTSAneXkiXShuZXcgRGF0ZSgxZTMqZS5wZXJpb2QpLCExKX0pO2NvbnN0IGJlPVo/ZnVuY3Rpb24oZSx0LHIsbyl7Y29uc3R7c3VycHJpc2U6YSxyZXZlbnVlU3VycHJpc2U6bCxzdXJwcmlzZVBlcmNlbnQ6dSxyZXZlbnVlU3VycHJpc2VQZXJjZW50OmN9PXZlKHQpO3JldHVybntjaGlsZHJlbjp5LnQobnVsbCx7Y29udGV4dDoiRWFybmluZyBsb2xsaXBvcCBvbiBjaGFydCJ9LHMoNzY3NzcxKSkuZm9ybWF0KHtzeW1ib2w6ZT8ubmFtZT8/IiJ9KSxvbkNsaWNrOmFzeW5jKCk9PntpZihlJiZyKXRyeXtjb25zdCBzPWFlP2F3YWl0IG1lKGUucHJvX25hbWUsbykubmV3c1JlcXVlc3Q6bmV3IE1hcDtpZihvLmFib3J0ZWQpcmV0dXJuO2NvbnN0IG49ci5jYXRlZ29yaWVzLm1hcCgoZT0+KHtpZDplLmRvY3VtZW50SWQsdGl0bGU6cy5nZXQoZS5kb2N1bWVudElkKT8/IiJ9KSkpLGg9e3RpdGxlOmBFYXJuaW5ncywgJHtyLmZpc2NhbFBlcmlvZH0gRlkke3IuZmlzY2FsWWVhcn1gLGlzQW5udWFsOiExLGV2ZW50OiJlYXJuaW5nIixkYXRlOnIuZXZlbnREYXRlLHllYXI6ci5maXNjYWxZZWFyLHN1bW1hcnk6ci5zdW1tYXJ5LGNhdGVnb3JpZXM6KDAsXy5zb3J0Q2F0ZWdvcmllcykoci5jYXRlZ29yaWVzKSxjdXJyZW5jeTplLmN1cnJlbmN5X2NvZGUsZWFybmluZzp7Li4udCxzdGFuZGFyZGl6ZWQ6dC5zdGFuZGFyZGl6ZWQ/P3ZvaWQgMCxyZXBvcnRlZDp0LnJlcG9ydGVkPz92b2lkIDAsZXN0aW1hdGU6dC5lc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVFc3RpbWF0ZTp0LnJldmVudWVFc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVWYWx1ZTp0LnJldmVudWVWYWx1ZT8/dm9pZCAwLHN1cnByaXNlOmE/P3ZvaWQgMCxyZXZlbnVlU3VycHJpc2U6bD8/dm9pZCAwLHN1cnByaXNlUGVyY2VudDp1Pz92b2lkIDAscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpjPz92b2lkIDB9fTsoMCxwLm9wZW5DYXJkUG9wdXApKHtwcm9fc3ltYm9sOmUucHJvX25hbWUsc2hvcnRfbmFtZTplLm5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsdHZfc3ltYm9sX3BhZ2VfdXJsX2ZvcmNlX2V4Y2hhbmdlOltdLGluc3RydW1lbnRfbmFtZTooMCxpLmVuc3VyZURlZmluZWQpKCgwLFQuZ2V0RGVzY3JpcHRpb25Gb3JUaXRsZUdlbmVyYXRpb24pKCJkZXNjcmlwdGlvbiIsZSkpfSxoLGguY2F0ZWdvcmllc1swXSxuKX1jYXRjaChlKXsoMCxuLmlzQWJvcnRFcnJvcikoZSl8fE8ubG9nRXJyb3IoYEVycm9yIHJlcXVlc3RpbmcgZG9jdW1lbnRzIGFuZCBuZXdzOiAke2V9YCl9fX19KG8sZSxaLGQpOmxlKG8sZnVuY3Rpb24oZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMiCn0scyg3NTkxNTEpKX0obyksImVhcm5pbmdzIiksd2U9e3RpdGxlOnh8fEM/SDpxLGluZm9ybWF0aW9uQnV0dG9uUHJvcHM6e2FyaWFMYWJlbDp5LnQobnVsbCx2b2lkIDAscyg4Njk4NjcpKSxpY29uOiJxdWVzdGlvbiIsb25DbGljazooKT0+KDAsYy5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6Uy5zb2x1dGlvbklkcy5FQVJOSU5HX0xPTExJUE9QX0ZJRUxEU30pfSxhbGVydDptLGljb246ZGUsc3R5bGU6e2NvbG9yOl9lfSxhY3Rpb25zOltiZSwoMCx3LmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKSYmWT9jZSh0LHtlc3RpbWF0ZWREYXRlOm5ldyBEYXRlKGUuZGF0ZSksZXN0aW1hdGVkUmV2ZW51ZTpiPz92b2lkIDAsZXN0aW1hdGVkRWFybmluZ3M6RD8/dm9pZCAwfSk6dm9pZCAwXS5maWx0ZXIoci5pc0V4aXN0ZW50KSxtYWluOnt0eXBlOiJjb21tb24iLHRpdGxlOmdlLGNvbnRlbnQ6W119LGRvY3VtZW50c0luZm86Wn0sQ2U9e3RpdGxlOnEsY29udGVudDpbXX07aWYoZWUmJkNlLmNvbnRlbnQucHVzaCh7bmFtZTp6LHZhbHVlOigwLGwucm91bmRUb1RoaXJkRGlnaXQpKEspfSksQSYmQ2UuY29udGVudC5wdXNoKHtuYW1lOlUsdmFsdWU6KDAsbC5yb3VuZFRvVGhpcmREaWdpdCkoTCl9KSxGJiZDZS5jb250ZW50LnB1c2goe25hbWU6Vyx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShEKX0pLG51bGwhPT12KXtsZXQgZT0oMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh2KTtpc0Zpbml0ZShHKSYmKGUrPSIgKCIrcmUuZm9ybWF0KEcpKyIpIiksQ2UuY29udGVudC5wdXNoKHtuYW1lOiQsdmFsdWU6KDAsZi5mb3JjZUxUUlN0cikoZSksc3R5bGU6e2ZvbnRXZWlnaHQ6ImJvbGQiLGNvbG9yOl9lfX0pfWlmKCgwLGkuZW5zdXJlRGVmaW5lZCkod2UubWFpbi5jb250ZW50KS5wdXNoKENlKSx4fHxDKXtjb25zdCBlPXt0aXRsZTp0ZSxjb250ZW50OltdfTtpZih4JiZlLmNvbnRlbnQucHVzaCh7bmFtZTpVLHZhbHVlOm5lLmZvcm1hdChQKX0pLEMmJmUuY29udGVudC5wdXNoKHtuYW1lOlcsdmFsdWU6bmUuZm9ybWF0KGIpfSksbnVsbCE9PWcpe2xldCB0PW5lLmZvcm1hdChnKTtpc0Zpbml0ZShqKSYmKHQrPSIgKCIrcmUuZm9ybWF0KGopKyIpIiksZS5jb250ZW50LnB1c2goe25hbWU6JCx2YWx1ZTooMCxmLmZvcmNlTFRSU3RyKSh0KSxzdHlsZTp7Zm9udFdlaWdodDoiYm9sZCIsY29sb3I6Zz49MD91ZS5wb3NpdGl2ZTp1ZS5uZWdhdGl2ZX19KX0oMCxpLmVuc3VyZURlZmluZWQpKHdlLm1haW4uY29udGVudCkucHVzaChlKX1yZXR1cm5bd2VdfWZ1bmN0aW9uIFNlKGUpe3JldHVybiB5LnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOmU/Lm5hbWU/PyIifSxjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scygzODE0NzkpKX1mdW5jdGlvbiBnZShlLHQscyxpKXtjb25zdHtkYXRlOm4sYW1vdW50RGl2aWRlbmRzOm8scGF5bWVudERhdGU6YSxhZGp1c3RlZEFtb3VudERpdmlkZW5kczp1fT1lLGM9W3tuYW1lOlosdmFsdWU6aShuKX1dO3JldHVybigwLHIuaXNOdW1iZXIpKG8pJiZjLnB1c2goe25hbWU6aix2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShvKX0pLCgwLHIuaXNOdW1iZXIpKHUpJiZjLnB1c2goe25hbWU6WSx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh1KX0pLCgwLHIuaXNOdW1iZXIpKGEpJiZjLnB1c2goe25hbWU6ZWUsdmFsdWU6aShhKX0pLFt7dGl0bGU6RyxpY29uOkwsc3R5bGU6e2NvbG9yOigwLFYuZGl2aWRlbmRzU3R5bGVzKShzKX0sYWN0aW9uczpbbGUodCxTZSh0KSwiZGl2aWRlbmRzIildLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6Y319XX1mdW5jdGlvbiBiZShlLHQscyxpKXtsZXQgbj1LO3JldHVybigwLHIuaXNOdW1iZXIpKGUubnVtZXJhdG9yKSYmKDAsci5pc051bWJlcikoZS5kZW5vbWluYXRvcikmJihuKz0iOiAiK2UubnVtZXJhdG9yKyIvIitlLmRlbm9taW5hdG9yKSxbe3RpdGxlOm4saWNvbjpBLHN0eWxlOntjb2xvcjooMCxWLnNwbGl0c1N0eWxlKShzKX0sYWN0aW9uczpbbGUodCx1ZSh0KSldLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6aShlLmRhdGUpfX1dfX0sNDA4Mzc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RhcmtUaGVtZUVhcm5pbmdzU3R5bGU6KCk9PnIsZGl2aWRlbmRzU3R5bGVzOigpPT51LGVhcm5pbmdzU3R5bGVzOigpPT5vLGxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlOigpPT5uLHNwbGl0c1N0eWxlOigpPT5kfSk7dmFyIGk9cyg1MDU1Nik7Y29uc3Qgcj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0zNTAiKX0sbj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03MDAiKX07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9yOm59Y29uc3QgYT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS02MDAiKSxsPSgwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIGU/YTpsfWNvbnN0IGM9KDAsCmkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10YW4tb3JhbmdlLTYwMCIpLGg9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAwIik7ZnVuY3Rpb24gZChlKXtyZXR1cm4gZT9jOmh9fSw3NTc4MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaTtzLmQodCx7V2Vidmlld0NvbnRyb2xsZXJCYXNlOigpPT5uLFdlYnZpZXdQYWdlTmFtZTooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRGV0YWlscz0iZGV0YWlscyIsZS5UZWNobmljYWxzPSJ0ZWNobmljYWxzIixlLkNvcnBvcmF0ZUJvbmRzPSJjb3Jwb3JhdGUtYm9uZHMiLGUuU2Vhc29uYWxzPSJzZWFzb25hbHMiLGUuU3RvY2tCb25kcz0ic3RvY2stYm9uZHMiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkJvbmRZaWVsZEN1cnZlPSJib25kLXlpZWxkLWN1cnZlIixlLllpZWxkQ3VydmVzPSJ5aWVsZC1jdXJ2ZXMiLGUuRG9jdW1lbnRzPSJkb2N1bWVudHMiLGUuRXRmcz0iZXRmcyIsZS5Db250cmFjdHM9ImNvbnRyYWN0cyIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMiLGUuTmV3cz0ibmV3cyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSJ9KGl8fChpPXt9KSk7dmFyIHI9cygyMjUyOTgpO2NsYXNzIG57X2NyZWF0ZU9wZW5SZXF1ZXN0KGUsdD1uZXcgVVJMU2VhcmNoUGFyYW1zKXtjb25zdCBzPXQuZ2V0KCJzeW1ib2wiKT8/ci5saW5raW5nLnN5bWJvbC52YWx1ZSgpO3JldHVybiB0LnNldCgic3ltYm9sIixzKSx7ZXhlY3V0ZSgpe2NvbnN0IHM9bmV3IFVSTChgd2Vidmlldy8ke2V9L2AsbG9jYXRpb24ub3JpZ2luKTtyZXR1cm4gcy5zZWFyY2g9dC50b1N0cmluZygpLHdpbmRvdy5vcGVuKHMsIl9ibGFuayIpfSxzeW1ib2w6KCk9PnN9fX19LDcwNjI0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uczooKT0+X30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoOTMwMjMxKSxuPXMoNzkxNDI3KSxvPXMoNzk5Mzc1KSxhPXMoMjE4NzY1KSxsPXMoNzU1NjI3KSx1PXMoNTk2MjcyKSxjPXMoOTY2NDA0KSxoPXMoNjA1MjU3KTtjb25zdCBkPW5ldyBsLlByaWNlRm9ybWF0dGVyO2NsYXNzIF8gZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeVNvdXJjZT1udWxsLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9tZXRhSW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9pc1N0YXJ0ZWQ9ITEsdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9kb3VibGVDbGlja0hhbmRsZXI9aSx0aGlzLl9wcm9wZXJ0aWVzPXMsdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0QW5kUHJvY2Vzc01ldGFJbmZvKCksdC50aW1lU2NhbGUoKS5vblJlc2V0KCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJEYXRhKSx0LnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZUFsbFZpZXdzLmJpbmQodGhpcywoMCxjLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKSx0Lm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSl9c3RhcnQoKXt0aGlzLl9pc1N0YXJ0ZWQ9ITAsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSgpfXJlc3RhcnQoKXt0aGlzLl9jbGVhckRhdGEoKSwoMCxyLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdG9wX3N0dWR5X29uX3Jlc3RhcnQiKSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9c3RvcCgpe3RoaXMuX2lzU3RhcnRlZD0hMSxudWxsIT09dGhpcy5fc3R1ZHlTb3VyY2UmJnRoaXMuX3N0dWR5U291cmNlLnN0b3AoKX1pc0hvdmVyZWRFbmFibGVkKCl7cmV0dXJuITF9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9wYW5lVmlld3N9dXBkYXRlQWxsVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSl9dXBkYXRlVmlld3NGb3JQYW5lKGUsdCl7dGhpcy51cGRhdGVBbGxWaWV3cyh0KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLG51bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmKHRoaXMuX3N0dWR5U291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc3R1ZHlTb3VyY2UuZGF0YVVwZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zdHVkeVNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3R1ZHlTb3VyY2U9bnVsbCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkubG9naWNhbFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLm9uUmVzZXQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMudW5zdWJzY3JpYmVBbGwodGhpcyl9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKX1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuc2VyaWVzKCkucHJpY2VTY2FsZSgpfWdyYXBoaWNzKCl7cmV0dXJuIHRoaXMuX2xvYWRlZEdyYXBoaWNzfHwoMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5U291cmNlKS5ncmFwaGljcygpfXZhbHVlQXQoZSx0KXtyZXR1cm4gbnVsbH1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhSW5mbykuZ3JhcGhpY3N9Zmlyc3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmZpcnN0VmFsdWUoKX1mb3JtYXR0ZXIoKXtyZXR1cm4gZH1zdGF0ZURhdGEoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21ldGFJbmZvP3tncmFwaGljczooMCwKYS5zYXZlU3R1ZHlHcmFwaGljcykodGhpcy5ncmFwaGljcygpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbWV0YUluZm86dGhpcy5fbWV0YUluZm8uc3RhdGUoKX06bnVsbH1yZXN0b3JlU3RhdGVEYXRhKGUpe3ZvaWQgMCE9PWUmJih0aGlzLl9sb2FkU3R1ZHlHcmFwaGljcyhlLmdyYXBoaWNzKSx0aGlzLl9zZXRNZXRhSW5mbyhuZXcgbi5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSl9bWV0YUluZm8oKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX21ldGFJbmZvKX1hc3luYyBfcmVxdWVzdEFuZFByb2Nlc3NNZXRhSW5mbygpe2lmKHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSlyZXR1cm47Y29uc3QgZT1hd2FpdCgwLGguc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KTt0aGlzLl9kZXN0cm95ZWR8fG51bGw9PT10aGlzLl9sb2FkZWRHcmFwaGljcyYmKHRoaXMuX3NldE1ldGFJbmZvKGUpLG51bGwhPT10aGlzLl9tZXRhSW5mbyYmKHRoaXMuX3N0dWR5U291cmNlPW5ldyBvLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMuX21vZGVsLmNoYXJ0QXBpKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLCJzZXNzaW9uc18iLHRoaXMuX21ldGFJbmZvKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5zZXRJbnB1dHMoe30pLHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSkpfV9sb2FkU3R1ZHlHcmFwaGljcyhlKXtjb25zdCB0PWUuYmFja2dyb3VuZHM7aWYodm9pZCAwIT09dCl7Y29uc3QgZT10LmZpbmRJbmRleCgoZT0+ImluU2Vzc2lvbiI9PT1lLnN0eWxlSWQpKTstMSE9PWUmJnQuc3BsaWNlKGUsMSl9dGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsYS5sb2FkU3R1ZHlHcmFwaGljcykoZSl9X3NldE1ldGFJbmZvKGUpe2NvbnN0IHQ9ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczt2b2lkIDAhPT10JiZ2b2lkIDAhPT10LmluU2Vzc2lvbiYmZGVsZXRlIHQuaW5TZXNzaW9uLHRoaXMuX21ldGFJbmZvPWV9X2NsZWFyRGF0YSgpe251bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmdGhpcy5fc3R1ZHlTb3VyY2UuY2xlYXJEYXRhKCl9X2NyZWF0ZVBhbmVWaWV3cygpe2NvbnN0IGU9e2RvdWJsZUNsaWNrSGFuZGxlcjp0aGlzLl9kb3VibGVDbGlja0hhbmRsZXJ9OygwLGEuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5fbW9kZWwsZSkudGhlbigoZT0+e3RoaXMuX3BhbmVWaWV3cz1lLnJlZ3VsYXJQYW5lVmlld3MsdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX0pKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpe3RoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpfV9wcm9jZXNzSGliZXJuYXRlKCl7aWYobnVsbCE9PXRoaXMuX3N0dWR5U291cmNlKXtjb25zdCBlPXRoaXMuX2NhbkJlSGliZXJuYXRlZCgpLHQ9dGhpcy5faXNIaWJlcm5hdGVkKCkscz10aGlzLl9zdHVkeVNvdXJjZS5pc1N0YXJ0ZWQoKTshdCYmZSYmcz90aGlzLl9zdHVkeVNvdXJjZS5zdG9wKCk6IXR8fGV8fHN8fHRoaXMuX3N0dWR5U291cmNlLnN0YXJ0KCl9fV9jYW5CZUhpYmVybmF0ZWQoKXtpZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKSlyZXR1cm4hMDtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKSx7cHJlTWFya2V0OnQscG9zdE1hcmtldDpzLGVsZWN0cm9uaWM6aSxvdXRPZlNlc3Npb246cn09ZS5iYWNrZ3JvdW5kcy5jaGlsZHMoKSx7c2Vzc0JyZWFrczpufT1lLnZlcnRsaW5lcy5jaGlsZHMoKSxvPXQuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnQuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpfHxzLmNoaWxkcygpLmF2YWlsYWJsZS52YWx1ZSgpJiZzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8aS5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmaS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fHIuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnIuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpLGE9bi5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmbi5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCk7cmV0dXJuIW8mJiFhfV9pc0hpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5faXNTdGFydGVkJiYobnVsbD09PXRoaXMuX3N0dWR5U291cmNlfHwhdGhpcy5fc3R1ZHlTb3VyY2UuaXNTdGFydGVkKCkpfX19LDkwOTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9FU0QkVFZfRElWSURFTkRTOigpPT5zZSxzdHVkeV9FU0QkVFZfRUFSTklOR1M6KCk9PnJlLHN0dWR5X0VTRCRUVl9TUExJVFM6KCk9PmllfSk7dmFyIGk9cyg1MDU1Nikscj1zKDk1MjkwMCksbj1zKDU1NjkxMSksbz1zKDYwMTg0MSksYT1zKDg3MzU3MyksbD1zKDIyODgyKSx1PXMoNDA4Mzc3KTt2YXIgYyxoPXMoNzYzKSxkPXMoMjYwNjkpOyFmdW5jdGlvbihlKXtlLlBvc2l0aXZlRWFybmluZ0ZpbGxQYXRoPSJNMTEuMDggMS4zNmEzIDMgMCAwIDEgMi44NiAwbDcuNDkgNC4wNkEzIDMgMCAwIDEgMjMgOC4wNlYyMGEzIDMgMCAwIDEtMyAzSDVhMyAzIDAgMCAxLTMtM1Y4LjA2YTMgMyAwIDAgMSAxLjU3LTIuNjR6IiwKZS5Qb3NpdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IixlLlBvc2l0aXZlRWFybmluZ0xhYmVsUGF0aD0iTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiLGUuTmVnYXRpdmVFYXJuaW5nRmlsbFBhdGg9Ik0xMS4wOCAyMy42NGEzIDMgMCAwIDAgMi44NiAwbDcuNDktNC4wNkEzIDMgMCAwIDAgMjMgMTYuOTRWNWEzIDMgMCAwIDAtMy0zSDVhMyAzIDAgMCAwLTMgM3YxMS45NGEzIDMgMCAwIDAgMS41NyAyLjY0eiIsZS5OZWdhdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiLGUuTmVnYXRpdmVFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjJ2MS41aC0zLjd2Mi4yNWgyLjd2MS41aC0yLjd2Mi4yNWgzLjdWMTd6IixlLkRlZmF1bHRFYXJuaW5nRmlsbFBhdGg9Ik0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsZS5EZWZhdWx0RWFybmluZ1N0cm9rZVBhdGg9Ik01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIixlLkRlZmF1bHRFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjV2MS41aC00djIuMjVoM3YxLjVoLTN2Mi4yNWg0VjE3eiJ9KGN8fChjPXt9KSk7dmFyIF89cyg3MzY1MzEpLHA9cyg2MzcxMDQpLHk9cyg3ODY0MzYpO2Z1bmN0aW9uIG0oZSx0LHMpe0FycmF5LmlzQXJyYXkodCk/dC5mb3JFYWNoKCh0PT57bShlLHQscyl9KSk6ImZpbGwiPT09dC5tb2RlPyhlLmZpbGxTdHlsZT1zLGUuZmlsbCh0LnBhdGgpKToic3Ryb2tlIj09PXQubW9kZSYmKGUuc3Ryb2tlU3R5bGU9cyxlLnN0cm9rZSh0LnBhdGgpKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJue2JhY2tncm91bmQ6e2JvZHlQYXRoOntwYXRoOm5ldyBQYXRoMkQoZSksbW9kZToiZmlsbCJ9fSxmb3JlZ3JvdW5kOntib2R5UGF0aDp7cGF0aDpuZXcgUGF0aDJEKHQpLG1vZGU6ImZpbGwifSxib3JkZXJQYXRoOntwYXRoOm5ldyBQYXRoMkQodCksbW9kZToic3Ryb2tlIn19fX1jb25zdCBmPXYoIk0xMS4wOCAxLjM2YTMgMyAwIDAgMSAyLjg2IDBsNy40OSA0LjA2QTMgMyAwIDAgMSAyMyA4LjA2VjIwYTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zVjguMDZhMyAzIDAgMCAxIDEuNTctMi42NHoiLCJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IiksUz12KCJNMTEuMDggMjMuNjRhMyAzIDAgMCAwIDIuODYgMGw3LjQ5LTQuMDZBMyAzIDAgMCAwIDIzIDE2Ljk0VjVhMyAzIDAgMCAwLTMtM0g1YTMgMyAwIDAgMC0zIDN2MTEuOTRhMyAzIDAgMCAwIDEuNTcgMi42NHoiLCJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiKSxnPXYoIk0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsIk01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIiksYj17YmFja2dyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAyYTMgMyAwIDAgMSAzIDN2MTVhMyAzIDAgMCAxLTMgM0g1YTMgMyAwIDAgMS0zLTN2LTQuODNxLS42My4xNi0xIC42M1Y5LjdxLjM2LS40MiAxLS42MlY1YTMgMyAwIDAgMSAzLTN6IiksbW9kZToiZmlsbCJ9XX0sZm9yZWdyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRhMS45NSAxLjk1IDAgMCAwLTIgLjY0VjkuN2EyLjEgMi4xIDAgMCAxIDItLjY2VjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn1dLGJvcmRlclBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRjLjQ4LjE0Ljk4LjQ1IDEuNS42NVYyMGMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY0LjY1Yy0uNDgtLjIyLS45Ny0uNS0xLjUtLjYxVjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn0se3BhdGg6bmV3IFBhdGgyRCgiTTIuNjMgMTIuNzVjMS4wMSAwIDEuOTIuOSAyLjc5LjlxMS4wNS0uMDIgMS41OC0uN3YxLjM0Yy0uMzUuNC0uODkuNzEtMS42Mi43MS0xLjAyIDAtMS45My0uOS0yLjgtLjktLjcgMC0xLjIzLjI2LTEuNTguN3YtMS4zNGMuMzUtLjQuODktLjcxIDEuNjMtLjcxTTIuNjMgMTBjMS4wMSAwIDEuOTIuOSAyLjc5LjkuNyAwIDEuMjMtLjI2IDEuNTgtLjd2MS40Yy0uMzUuNC0uODkuNy0xLjYyLjctMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuNGMuMzUtLjM5Ljg5LS43IDEuNjMtLjciKSxtb2RlOiJmaWxsIn1dLGFjdGl2ZVBhdGg6ewpwYXRoOm5ldyBQYXRoMkQoIk0yLjYzIDEyLjc1YzEuMDEgMCAxLjkyLjkgMi43OS45cTEuMDUtLjAyIDEuNTgtLjd2MS4zNGMtLjM1LjQtLjg5LjcxLTEuNjIuNzEtMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuMzRjLjM1LS40Ljg5LS43MSAxLjYzLS43MU0yLjYzIDEwYzEuMDEgMCAxLjkyLjkgMi43OS45LjcgMCAxLjIzLS4yNiAxLjU4LS43djEuNGMtLjM1LjQtLjg5LjctMS42Mi43LTEuMDIgMC0xLjkzLS45LTIuOC0uOS0uNyAwLTEuMjMuMjYtMS41OC43di0xLjRjLjM1LS4zOS44OS0uNyAxLjYzLS43IiksbW9kZToiZmlsbCJ9fX0sdz17YmFja2dyb3VuZDp7cGF0aDpuZXcgUGF0aDJEKCJNMjcgNEMyNi45OTk5IDEuMjM4NzkgMjQuNzYxMiAtMC45OTk4NTMgMjIgLTFDMTkuMjM4NyAtMSAxNy4wMDAxIDEuMjM4NjkgMTcgNEMxNyA2Ljc2MTQyIDE5LjIzODYgOSAyMiA5QzI0Ljc2MTMgOC45OTk4NSAyNyA2Ljc2MTMzIDI3IDRaTTIyLjUwMiAwLjk5OTk5OVY0Ljk5NjA5SDE5LjVWMy45OTYwOUgyMS41MDJWMC45OTk5OTlIMjIuNTAyWk0xNS4zNDg2IDAuMjk3ODUxTDE2LjA2MzUgMC45OTcwNjlMMTkuMjkxIC0yLjMwMDc4TDE4LjU3NjIgLTNMMTUuMzQ4NiAwLjI5Nzg1MVpNMjQuNzA5IC0yLjMwMDc4TDI3LjkzNjUgMC45OTcwNjlMMjguNjUwNCAwLjI5Nzg1MUwyNS40MjI5IC0zTDI0LjcwOSAtMi4zMDA3OFpNMTYuMzU3NCAxLjk1MzEyQzE2LjAxODcgMi4wNTY5MyAxNS42MzUzIDEuOTc3MDYgMTUuMzY0MyAxLjcxMTkxTDE0LjY0OTQgMS4wMTI2OUMxNC40NTk4IDAuODI3MjA4IDE0LjM1MTUgMC41NzM4NDEgMTQuMzQ4NiAwLjMwODU5M0MxNC4zNDU4IDAuMDQzNDk3MSAxNC40NDg0IC0wLjIxMTg0OSAxNC42MzM4IC0wLjQwMTM2OEwxNy44NjEzIC0zLjY5OTIyQzE4LjI0NzUgLTQuMDkzODUgMTguODgwNyAtNC4xMDA5NiAxOS4yNzU0IC0zLjcxNDg0TDE5Ljk5MDIgLTMuMDE1NjNDMjAuMTc5OSAtMi44MzAxNCAyMC4yODgxIC0yLjU3Njc3IDIwLjI5MSAtMi4zMTE1MkMyMC4yOTM1IC0yLjA4MjY2IDIwLjIxNjMgLTEuODYxODUgMjAuMDc2MiAtMS42ODM1OUMyMC42ODAyIC0xLjg4Nzk5IDIxLjMyNyAtMiAyMiAtMkMyMi42NzI0IC0xLjk5OTk2IDIzLjMxODQgLTEuODg3NjMgMjMuOTIxOSAtMS42ODM1OUMyMy42MTA2IC0yLjA3OTUxIDIzLjY0MDggLTIuNjU1MTYgMjQuMDA4OCAtMy4wMTU2M0wyNC43MjI3IC0zLjcxNDg0TDI0Ljc5NjkgLTMuNzgwMjdDMjQuOTc2NCAtMy45MjQzIDI1LjIwMTQgLTQuMDAyNDYgMjUuNDMzNiAtNEMyNS42OTg4IC0zLjk5NzE1IDI1Ljk1MjIgLTMuODg4NzggMjYuMTM3NyAtMy42OTkyMkwyOS4zNjUyIC0wLjQwMTM2OEMyOS43NTEyIC0wLjAwNjc2MzAxIDI5Ljc0NDkgMC42MjY0MTQgMjkuMzUwNiAxLjAxMjY5TDI4LjYzNjcgMS43MTE5MUMyOC40NDcyIDEuODk3NTUgMjguMTkxMSAxLjk5OTg3IDI3LjkyNTggMS45OTcwN0MyNy44MjgyIDEuOTk2MDIgMjcuNzMyMiAxLjk4MDUzIDI3LjY0MDYgMS45NTIxNUMyNy44NzI3IDIuNTkxMjMgMjggMy4yODA3NSAyOCA0QzI4IDcuMzEzNjcgMjUuMzEzNSA5Ljk5OTgyIDIyIDEwQzE4LjY4NjMgMTAgMTYgNy4zMTM3MSAxNiA0QzE2IDMuMjgxMzEgMTYuMTI1NyAyLjU5MTggMTYuMzU3NCAxLjk1MzEyWiIpLG1vZGU6ImZpbGwifSxmb3JlZ3JvdW5kOntwYXRoOm5ldyBQYXRoMkQoIk0yMiAtMUMyNC43NjEyIC0wLjk5OTg1MyAyNi45OTk5IDEuMjM4NzkgMjcgNEMyNyA2Ljc2MTMzIDI0Ljc2MTMgOC45OTk4NSAyMiA5QzE5LjIzODYgOSAxNyA2Ljc2MTQyIDE3IDRDMTcuMDAwMSAxLjIzODY5IDE5LjIzODcgLTEgMjIgLTFaTTIxLjUwMiAwLjk5OTk5OVYzLjk5NjA5SDE5LjVWNC45OTYwOUgyMi41MDJWMC45OTk5OTlIMjEuNTAyWk0xOS4yOTEgLTIuMzAwNzhMMTYuMDYzNSAwLjk5NzA2OUwxNS4zNDg2IDAuMjk3ODUxTDE4LjU3NjIgLTNMMTkuMjkxIC0yLjMwMDc4Wk0yOC42NTA0IDAuMjk3ODUxTDI3LjkzNjUgMC45OTcwNjlMMjQuNzA5IC0yLjMwMDc4TDI1LjQyMjkgLTNMMjguNjUwNCAwLjI5Nzg1MVoiKSxtb2RlOiJmaWxsIn19O2Z1bmN0aW9uIEMoZSx0LHMsaSl7ZS5zYXZlKCksZS5zZXRUcmFuc2Zvcm0odCkscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvciYmbShlLGkuYmFja2dyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcikscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmZpbGxTdHlsZSYmbShlLGkuZm9yZWdyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmZpbGxTdHlsZSksZS5saW5lV2lkdGg9cy5sb2xsaXBvcC5saW5lV2lkdGgsKDAseS5zZXRMaW5lU3R5bGUpKGUsZC5MSU5FU1RZTEVfU09MSUQpLGkuZm9yZWdyb3VuZC5ib3JkZXJQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmJvcmRlclBhdGgscy5sb2xsaXBvcC5zdHJva2VTdHlsZSkscy5sb2xsaXBvcC5hY3RpdmUmJmkuZm9yZWdyb3VuZC5hY3RpdmVQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmFjdGl2ZVBhdGgscy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlKSxzLmxvbGxpcG9wLmhhc0FsZXJ0JiYobShlLHcuYmFja2dyb3VuZCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcnx8InRyYW5zcGFyZW50IiksbShlLHcuZm9yZWdyb3VuZCxzLmxvbGxpcG9wLnN0cm9rZVN0eWxlKSksZS5yZXN0b3JlKCl9Y2xhc3MgUCBleHRlbmRzIHAuTG9sbGlwb3BSZW5kZXJlcntfaGl0VGVzdEJveCgpe2NvbnN0IGU9c3VwZXIuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxfLmJveCkoZS5taW4uYWRkKCgwLF8ucG9pbnQpKDIsMikpLGUubWF4LnN1YnRyYWN0KCgwLF8ucG9pbnQpKDIsMikpKX1fZHJhd0xvbGxpcG9wKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YS5zdHlsZTtzd2l0Y2godC50eXBlKXtjYXNlIlBvc2l0aXZlIjohZnVuY3Rpb24oZSx0LHMpe0MoZSx0LHMsZil9KGUsdGhpcy5fbWF0cml4LHQpO2JyZWFrO2Nhc2UiTmVnYXRpdmUiOiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxTKX0oZSx0aGlzLl9tYXRyaXgsdCk7YnJlYWsKO2Nhc2UiRXN0aW1hdGVkRGF0ZSI6IWZ1bmN0aW9uKGUsdCxzKXtDKGUsdCxzLGIpfShlLHRoaXMuX21hdHJpeCx0KTticmVhaztkZWZhdWx0OiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxnKX0oZSx0aGlzLl9tYXRyaXgsdCl9fV9kcmF3TGFiZWwoZSl7bGV0IHQ7Y29uc3Qgcz10aGlzLl9kYXRhLnN0eWxlO3N3aXRjaChzLnR5cGUpe2Nhc2UiUG9zaXRpdmUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiKTticmVhaztjYXNlIkVzdGltYXRlZERhdGUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxN3oiKTticmVhaztkZWZhdWx0OnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS4ydjEuNWgtMy43djIuMjVoMi43djEuNWgtMi43djIuMjVoMy43VjE3eiIpfSgwLHAuZHJhd0xhYmVsKShlLHQsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6cy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fWNsYXNzIHggZXh0ZW5kcyBwLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxwLmRyYXdMYWJlbCkoZSx4Ll9sYWJlbFBhdGgsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6dGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fXguX2xhYmVsUGF0aD1uZXcgUGF0aDJEKCJNOS42OCAxNi42NnEuNzcuMzQgMS44Mi4zNCAxLjA3IDAgMS44Ni0uMzcuNzgtLjM4IDEuMjEtMS4wNC40My0uNjcuNDMtMS42IDAtLjc0LS4yOC0xLjI1YTIgMiAwIDAgMC0uODYtLjg3IDUgNSAwIDAgMC0xLjU0LS41NmwtLjk3LS4yMnEtLjU1LS4xMy0uOS0uM2ExLjMgMS4zIDAgMCAxLS41MS0uNDUgMSAxIDAgMCAxLS4xNy0uNnEwLS40LjIyLS43dC42MS0uNDVxLjM5LS4xNi44OC0uMTYuNTEgMCAuOS4xNnQuNjIuNDVxLjE3LjIuMjUuNDZoMS41NnEtLjA4LS42Ni0uNDUtMS4xOS0uNDItLjYtMS4xNS0uOTVBNCA0IDAgMCAwIDExLjUgN3EtLjk3IDAtMS43Mi4zNi0uNzYuMzYtMS4xOCAxdC0uNDIgMS41cTAgLjcuMjcgMS4yNS4yOS41NC44Ni45MS42LjM3IDEuNS41OGwuOTYuMnEuODguMjEgMS4yNi41NC4zNy4zMi4zNy44M3YuMDFxMCAuNDEtLjIzLjczLS4yNC4zLS42NS40OS0uNDIuMTctLjk2LjE3LS41NyAwLTEuMDEtLjE2LS40NS0uMTctLjcxLS40Ny0uMTgtLjItLjI1LS40NEg4cS4xLjY3LjQ3IDEuMi40NS42IDEuMjEuOTYiKTtjbGFzcyBEIGV4dGVuZHMgcC5Mb2xsaXBvcFJlbmRlcmVye19kcmF3TGFiZWwoZSl7KDAscC5kcmF3TGFiZWwpKGUsRC5fbGFiZWxQYXRoLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZX0pfX1ELl9sYWJlbFBhdGg9bmV3IFBhdGgyRCgiTTE0LjUgMTEuNWEzIDMgMCAwIDAtMy0zaC0ydjZoMlYxNkg4VjdoMy41YTQuNSA0LjUgMCAxIDEgMCA5di0xLjVhMyAzIDAgMCAwIDMtMyIpO3ZhciBJPXMoODg3MDI5KSxUPXMoMTg1MjcxKSxWPXMoNjQxNTkzKSxSPXMoMTE1MjkzKSxBPXMoNTY5Mzk4KSxMPXMoMTg2OTgzKSxFPXMoODA2NDE1KTtjb25zdCBNPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg4NDQwMDkpKSxrPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg0OTcwOTYpKTtmdW5jdGlvbiBCKGUpe2lmKCEoMCxBLmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKXx8MD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PVtNLC4uLmUuc2xpY2UoMCw1KS5tYXAoTildLGk9ZS5sZW5ndGgtNTt2YXIgcjtyZXR1cm4gaT4wJiZ0LnB1c2goKHI9aSxULnQobnVsbCx7cGx1cmFsOiJhbmQge2NvdW50fSBtb3JlIGFsZXJ0cyIscmVwbGFjZTp7Y291bnQ6ci50b1N0cmluZygpfSxjb3VudDpyLGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDUxODcxOSkpKSkse2ljb246TCx0b29sdGlwOnQuam9pbigiPGJyPiIpLGFyaWFMYWJlbDprfX1mdW5jdGlvbiBOKGUpe2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm4gdD9mdW5jdGlvbihlKXtjb25zdHtzZXJpZXM6dCxvcGVyYXRvcjpzLHZhbHVlOml9PWUscj1bKDAsVi5odG1sRXNjYXBlKSh0KSxgPHNwYW4gY2xhc3M9IiR7RS5vcGVyYXRvcn0iPiR7KDAsVi5odG1sRXNjYXBlKShzKX08L3NwYW4+YF07aSYmci5wdXNoKCgwLFYuaHRtbEVzY2FwZSkoaSkpO3JldHVybigwLFIuZm9yY2VSVExNYXJrc1N0cikoci5qb2luKCIgIikpfSh0KToiIn12YXIgRixPPXMoMjMyMzY0KSxIPXMoMTExOTUzKTtmdW5jdGlvbiBxKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlLm1hcCgoZT0+e2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm5bZS5pZCgpLnZhbHVlKCksdD9bdC5zZXJpZXMsdC5vcGVyYXRvcix0LnZhbHVlXTpudWxsXX0pKSl9Y2xhc3Mgentjb25zdHJ1Y3RvcihlKXt0aGlzLl9tYXRjaGluZ0FsZXJ0cz1uZXcgTy5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX21hdGNoaW5nQWxlcnRzU2lnbmF0dXJlPXEoW10pLHRoaXMuX3VwZGF0ZUFsZXJ0cz0oKT0+e2NvbnN0IGU9dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi52YWx1ZSgpO2xldCB0PVtdO2lmKGUpe2NvbnN0IHM9KDAsSC51bndyYXBTaW1wbGVTeW1ib2wpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSksaT0oMCxILnVud3JhcFNpbXBsZVN5bWJvbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb1N5bWJvbCgpKTt0PWUuYWxlcnRzKCkudmFsdWUoKS5maWx0ZXIoKGU9PihlLmNhbkRpc3BsYXlPbkVhcm5pbmdzTG9sbGlwb3Aocyl8fGUuY2FuRGlzcGxheU9uRWFybmluZ3NMb2xsaXBvcChpKSkmJmUuYWN0aXZlKCkudmFsdWUoKSkpfWNvbnN0IHM9cSh0KTtzIT09dGhpcy5fbWF0Y2hpbmdBbGVydHNTaWduYXR1cmUmJih0aGlzLl9tYXRjaGluZ0FsZXJ0c1NpZ25hdHVyZT1zLHRoaXMuX21hdGNoaW5nQWxlcnRzLnNldFZhbHVlKHQpKX0sdGhpcy5fbW9kZWw9ZSwKdGhpcy5fYWxlcnRzQ29sbGVjdGlvbj1lLmFsZXJ0c0NvbGxlY3Rpb24oKS5zcGF3bigpLHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0c0xpc3QuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksZS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWxlcnRzKX1kZXN0cm95KCl7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5kZXN0cm95KCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVBbGVydHMpfW1hdGNoaW5nQWxlcnRzKCl7cmV0dXJuIHRoaXMuX21hdGNoaW5nQWxlcnRzLnJlYWRvbmx5KCl9X3VwZGF0ZUFsZXJ0c0xpc3QoZSl7dGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9kZXN0cm95QWxlcnRzTGlzdFN1YnNjcmlwdGlvbnM9dm9pZCAwLGUmJihlLmFsZXJ0cygpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpKSx0aGlzLl91cGRhdGVBbGVydHMoKX19IWZ1bmN0aW9uKGUpe2VbZS5Ib3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3k9ODVdPSJIb3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3kifShGfHwoRj17fSkpO2NvbnN0IFU9e2Rhcms6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxsaWdodDooMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKX07Y2xhc3MgVyBleHRlbmRzIEkuTG9sbGlwb3BTdHVkeVBhbmVWaWV3QmFzZXt9Y2xhc3MgJCBleHRlbmRzIFd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2VzZEFsZXJ0TW9kZWw9bmV3IHooZSksdGhpcy5fZXNkQWxlcnRJbmZvPSgwLHIuY29tYmluZSkoQix0aGlzLl9lc2RBbGVydE1vZGVsLm1hdGNoaW5nQWxlcnRzKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9oYXNBbGVydD0oMCxyLmNvbWJpbmUpKGosdGhpcy5fZXNkQWxlcnRNb2RlbC5tYXRjaGluZ0FsZXJ0cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGFzQWxlcnQuc3Vic2NyaWJlKHRoaXMuX29uSGFzQWxlcnRDaGFuZ2VkLmJpbmQodGhpcykpfWRlc3Ryb3koKXt0aGlzLl9lc2RBbGVydEluZm8uZGVzdHJveSgpLHRoaXMuX2hhc0FsZXJ0LmRlc3Ryb3koKSx0aGlzLl9lc2RBbGVydE1vZGVsLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9c3R5bGVzKGUpe3JldHVybiBlP3UuZGFya1RoZW1lRWFybmluZ3NTdHlsZTp1LmxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlfWV4dHJhRGF0YShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnR5cGUscz0xND09PXQsaT1lLnN0YW5kYXJkaXplZCxyPWUuZXN0aW1hdGUsbj1lLnBlcmlvZCxvPWUuZGF0ZSxhPXM/bnVsbDplLnJlcG9ydGVkLGw9bnVsbCE9YSYmbnVsbCE9cj9hLXI6bnVsbCx1PWUucmV2ZW51ZUVzdGltYXRlLGM9cz9udWxsOmUucmV2ZW51ZVZhbHVlO2xldCBoO3JldHVybiBudWxsIT10P3Q8MjA/aD0xMD09PXQ/IkVzdGltYXRlZERhdGUiOiJGdXR1cmUiOm51bGwhPT1sJiYoaD1sPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpudWxsIT09bD9oPWw8MD8iTmVnYXRpdmUiOiJQb3NpdGl2ZSI6bz5EYXRlLm5vdygpJiYoaD0iRnV0dXJlIikse3N0YW5kYXJkaXplZDppLHJlcG9ydGVkOmEsZXN0aW1hdGU6cixyZXZlbnVlVmFsdWU6YyxyZXZlbnVlRXN0aW1hdGU6dSxwZXJpb2Q6bixkYXRlOm8sdHlwZTpoLHRpbWVUeXBlOnQ/P3ZvaWQgMH19KHt0eXBlOmVbOF0sc3RhbmRhcmRpemVkOmVbMV0sZXN0aW1hdGU6ZVsyXSxwZXJpb2Q6ZVszXSxkYXRlOmVbNF0scmVwb3J0ZWQ6ZVs1XSxyZXZlbnVlRXN0aW1hdGU6ZVs2XSxyZXZlbnVlVmFsdWU6ZVs3XX0pfWFmdGVyVXBkYXRlKGUsdCxzLGkpe2NvbnN0IHI9dGhpcy5fc291cmNlLmdldEVzdGltYXRlKCk7aWYocil7Y29uc3Qgbj1yLnZhbHVlLnNsaWNlKCk7bls0XSo9MWUzLHRoaXMuYWRkTG9sbGlwb3AoZSx0LHMsaSxyLmluZGV4LG4pfX1nZXRTdHlsZShlKXtjb25zdCB0PXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKGUpO2lmKHZvaWQgMD09PWUudHlwZSlyZXR1cm4gc3VwZXIuZ2V0U3R5bGUoZSx0KTtjb25zdCBzPXQ7bGV0IGk9cztlLnN0YWNrJiYoaSs9Il9zdGFjazoiK2Uuc3RhY2spO2xldCByPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxpKTtpZihudWxsIT09cilyZXR1cm4gdGhpcy5fd2l0aEFsZXJ0RmxhZyhyLGUudHlwZSk7aWYodGhpcy5fc3R5bGVzQ2FjaGV8fCh0aGlzLl9zdHlsZXNDYWNoZT17fSksIXRoaXMuX3N0eWxlc0NhY2hlW2ldKXtyPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxzKTtjb25zdCB0PSgwLG8uY2xvbmUpKHIpO3QmJihlLnN0YWNrJiYodC5sb2xsaXBvcC5pbmNIZWlnaHQ9MjUqZS5zdGFjayksdGhpcy5fc3R5bGVzQ2FjaGVbaV09dCl9cmV0dXJuIHRoaXMuX3dpdGhBbGVydEZsYWcodGhpcy5fc3R5bGVzQ2FjaGVbaV0sZS50eXBlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSx0KXtyZXR1cm4oMCxsLmNyZWF0ZUVhcm5pbmdzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpLHQsdGhpcy5fZ2V0RXNkQWxlcnRJbmZvKGUudHlwZSkpfV9zaG93QmFyTGluZShlKXtyZXR1cm4gc3VwZXIuX3Nob3dCYXJMaW5lKGUpfHx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dCcmVha3MudmFsdWUoKX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpewpyZXR1cm4gbmV3IFAoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuZWFybmluZ3NTdHlsZXMpKGUpLHM9dC51bmtub3duLHI9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6c30sbG9sbGlwb3A6e3dpZHRoOjI1LGhlaWdodDoyNSxib3R0b206MCxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImVhcm5pbmdzIixzdHJva2VTdHlsZTpzLGJhY2tncm91bmRDb2xvcjplP1UuZGFyazpVLmxpZ2h0LGZpbGxDaXJjbGU6ITAsdGV4dDp7bGFiZWw6IiIsc3Ryb2tlU3R5bGU6cyxmb250OiIifX19LGw9e2xvbGxpcG9wOntmaWxsU3R5bGU6KDAsYS5nZW5lcmF0ZUNvbG9yKShzLDg1KX19LGM9e2xvbGxpcG9wOnthY3RpdmU6ITAsZmlsbFN0eWxlOnMsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS01MCIpfX19O3RoaXMuX2RlZmF1bHRTdHlsZT0oMCxuLmRlZXBDb3B5KShyKSx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksbCksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksYyk7Y29uc3QgaD0oZSx0KT0+e2NvbnN0IHM9KDAsbi5kZWVwQ29weSkocik7cmV0dXJuIHMuYmFyTGluZS5zdHJva2VTdHlsZT1lLHMubG9sbGlwb3Auc3Ryb2tlU3R5bGU9ZSxzLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9ZSxzLnR5cGU9dCxsLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxhLmdlbmVyYXRlQ29sb3IpKGUsODUpLGMubG9sbGlwb3AuZmlsbFN0eWxlPWUse2RlZmF1bHQ6cyxob3ZlcmVkOigwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLGFjdGl2ZTooMCxvLm1lcmdlKSgoMCxuLmRlZXBDb3B5KShzKSxjKX19O2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZ3JhcGVzLXB1cnBsZS01MCIpO2NvbnN0IF89aCh0LmZ1dHVyZSwiRnV0dXJlIikscD1oKHQuZXN0aW1hdGVkRGF0ZSwiRXN0aW1hdGVkRGF0ZSIpO2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAiKTtjb25zdCB5PWgodC5wb3NpdGl2ZSwiUG9zaXRpdmUiKTtyLmxvbGxpcG9wLmJvdHRvbT0uNSxjLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwIik7Y29uc3QgbT1oKHQubmVnYXRpdmUsIk5lZ2F0aXZlIik7dGhpcy5fZWFybmluZ1R5cGVTdHlsZXM9e0Z1dHVyZTpfLFBvc2l0aXZlOnksTmVnYXRpdmU6bSxFc3RpbWF0ZWREYXRlOnB9LHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldFN0eWxlT2JqZWN0KGUsdCl7Y29uc3Qgcz10aGlzLl9lYXJuaW5nVHlwZVN0eWxlc1tlXTtzd2l0Y2godCl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4gcy5kZWZhdWx0O2Nhc2UiaG92ZXJlZCI6cmV0dXJuIHMuaG92ZXJlZDtjYXNlImFjdGl2ZSI6cmV0dXJuIHMuYWN0aXZlfXJldHVybiBudWxsfV9vbkhhc0FsZXJ0Q2hhbmdlZCgpe3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX1fd2l0aEFsZXJ0RmxhZyhlLHQpe3JldHVybiBlLmxvbGxpcG9wLmhhc0FsZXJ0PUcodCkmJnRoaXMuX2hhc0FsZXJ0LnZhbHVlKCksZX1fZ2V0RXNkQWxlcnRJbmZvKGUpe3JldHVybiBHKGUpP3RoaXMuX2VzZEFsZXJ0SW5mbzp2b2lkIDB9fWZ1bmN0aW9uIEcoZSl7cmV0dXJuIkZ1dHVyZSI9PT1lfHwiRXN0aW1hdGVkRGF0ZSI9PT1lfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGUubGVuZ3RoPjB9Y2xhc3MgWSBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9ZVsxXTtyZXR1cm57bnVtZXJhdG9yOmVbMl0sZGVub21pbmF0b3I6dCxkYXRlOmVbM119fV9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKGUsdCl7cmV0dXJuIG5ldyB4KGUsbmV3IGguSGl0VGVzdFJlc3VsdChoLkhpdFRhcmdldC5DdXN0b20sdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpfWFzeW5jIF9jcmVhdGVUb29sdGlwQ29udGVudChlKXtyZXR1cm4oMCxsLmNyZWF0ZVNwbGl0c0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wcykoZSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpLHRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLCgoZSx0KT0+dGhpcy5fZm9ybWF0RGF0ZShlLHQpKSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuc3BsaXRzU3R5bGUpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6InNwbGl0cyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOnQsZm9udDoiIn19fSxyPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOigwLGEuZ2VuZXJhdGVDb2xvcikodCw4NSl9fSxsPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOnQsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAiKX19fTt0aGlzLl9kZWZhdWx0U3R5bGU9cyx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksciksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksbCksdGhpcy5fc3R5bGVzQ2FjaGU9bnVsbH19Y2xhc3MgSiBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe3JldHVybnthbW91bnREaXZpZGVuZHM6ZVsxXSxkYXRlOmVbMl0sYWRqdXN0ZWRBbW91bnREaXZpZGVuZHM6ZVszXSxwYXltZW50RGF0ZTplWzRdfX0KX2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AoZSx0KXtyZXR1cm4gbmV3IEQoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9YXN5bmMgX2NyZWF0ZVRvb2x0aXBDb250ZW50KGUpe3JldHVybigwLGwuY3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpKX1fcmVjcmVhdGVTdHlsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLHQ9KDAsdS5kaXZpZGVuZHNTdHlsZXMpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImRpdmlkZW5kcyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLGFjdGl2ZTohMSx0ZXh0OntsYWJlbDoiIixzdHJva2VTdHlsZTp0LGZvbnQ6IiJ9fX0scj17bG9sbGlwb3A6e2ZpbGxTdHlsZTooMCxhLmdlbmVyYXRlQ29sb3IpKHQsODUpfX0sbD17bG9sbGlwb3A6e2ZpbGxTdHlsZTp0LHRleHQ6e3N0cm9rZVN0eWxlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwIil9fX07dGhpcy5fZGVmYXVsdFN0eWxlPXMsdGhpcy5faG92ZXJlZFN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLHIpLHRoaXMuX2FjdGl2ZVN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxsLmdldE1vcmVGaW5hbmNpYWxzRGl2aWRlbmRzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfX12YXIgUT1zKDkwMDc5NyksWj1zKDYzMTUyMik7Y29uc3QgSz1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5EaXZpZGVuZHMsWD1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5TcGxpdHMsZWU9US5zb3J0U291cmNlc1ByZU9yZGVyZWQuRWFybmluZ3M7dmFyIHRlOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0xXT0iSW5pdGlhbCIsZVtlLkFkanVzdGVkRGl2aWRlbmRzPTJdPSJBZGp1c3RlZERpdmlkZW5kcyJ9KHRlfHwodGU9e30pKTtjbGFzcyBzZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX0RJVklERU5EUyJ9em9yZGVyKCl7cmV0dXJuIEt9aXNWYWxpZChlKXtjb25zdCB0PWVbMl07cmV0dXJuKDAsby5pc051bWJlcikodCl9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7cmV0dXJuIHMuZGF0YS52ZXJzaW9uPTIsc31yZXN0b3JlRGF0YShlKXsoZS52ZXJzaW9uPz8xKTwyJiZlLmRhdGEuZm9yRWFjaCgoZT0+e2UudmFsdWVbM109bnVsbH0pKSxzdXBlci5yZXN0b3JlRGF0YShlKX1fY3JlYXRlVmlld3MoKXt0aGlzLl9wYW5lVmlldz1uZXcgSih0aGlzLl9tb2RlbCx0aGlzKSxzdXBlci5fY3JlYXRlVmlld3MoKX1fZXh0ZXJuYWxWaXNpYmlsaXR5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5lc2RTaG93RGl2aWRlbmRzfX1jbGFzcyBpZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX1NQTElUUyJ9em9yZGVyKCl7cmV0dXJuIFh9aXNWYWxpZChlKXtjb25zdCB0PWVbM107cmV0dXJuKDAsby5pc051bWJlcikodCl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXc9bmV3IFkodGhpcy5fbW9kZWwsdGhpcyksc3VwZXIuX2NyZWF0ZVZpZXdzKCl9X2V4dGVybmFsVmlzaWJpbGl0eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZXNkU2hvd1NwbGl0c319Y2xhc3MgcmUgZXh0ZW5kcyBaLkxvbGxpcG9wU3R1ZHlCYXNle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9lc3RpbWF0ZVBsb3RSb3c9bnVsbH1pZCgpe3JldHVybiJFU0QkVFZfRUFSTklOR1MifXpvcmRlcigpe3JldHVybiBlZX1pc1ZhbGlkKGUpe2NvbnN0IHQ9ZVszXSxzPWVbNF07cmV0dXJuKDAsby5pc051bWJlcikodCkmJigwLG8uaXNOdW1iZXIpKHMpfXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2xldCB0PW51bGw7aWYoZS5lc3RpbWF0ZXx8ZS5wb2ludFNldHMmJm51bGw9PWUucG9pbnRTZXRzVmVyc2lvbik7ZWxzZSBpZihlLnBvaW50U2V0cyYmIjEiPT09ZS5wb2ludFNldHNWZXJzaW9uKXtjb25zdCBzPXRoaXMuX2dldFN5bWJvbCgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXMuc3BsaXQoIjoiKVsxXS50b1VwcGVyQ2FzZSgpO2UucG9pbnRTZXRzW3NdP3Q9ZS5wb2ludFNldHNbc10uZXN0aW1hdGU6ZS5wb2ludFNldHNbaV0mJih0PWUucG9pbnRTZXRzW2ldLmVzdGltYXRlKX19ZWxzZSBudWxsIT1lLmVzdGltYXRlUGxvdFJvdyYmIjIiPT09ZS5wb2ludFNldHNWZXJzaW9uJiYodD1lLmVzdGltYXRlUGxvdFJvdyk7dGhpcy5fZXN0aW1hdGVQbG90Um93PXR9Z2V0RXN0aW1hdGUoKXtyZXR1cm4gdGhpcy5fZXN0aW1hdGVQbG90Um93fV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyAkKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dFYXJuaW5nc31fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCk/LmJhc2VfbmFtZVswXS50b0xvd2VyQ2FzZSgpPz9udWxsfX19LDEyNTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtGdW5kYW1lbnRhbDooKT0+d30pCjt2YXIgaT1zKDMwNDIyMSkscj1zKDEzODYzOCksbj1zKDc4MzI1NCksbz1zKDYyODAwOSksYT1zKDU2OTM5OCksbD1zKDE5NzI3MiksdT1zKDI1NjMxNCksYz1zKDY4MDEyNik7Y2xhc3MgaCBleHRlbmRzIGMuU3R1ZHlQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9mdW5kYW1lbnRhbD1lfV91cGRhdGVQYW5lUmVuZGVyZXJEYXRhKGUpe2UudGV4dD0iIix0aGlzLl9zaG93UGFuZUxhYmVsKCkmJihlLnRleHQ9dGhpcy5fZnVuZGFtZW50YWwubGFiZWxUaXRsZSgpLGUudmlzaWJsZT0hMCl9fXZhciBkPXMoOTY5NCk7Y2xhc3MgXyBleHRlbmRzIGQuU3R1ZHlQcmljZUxpbmVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fbW9kZWw9ZS5tb2RlbCgpfV9pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLnZhbHVlKCkmJnRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdG5hbWVdLmNoaWxkcygpLnRyYWNrUHJpY2UudmFsdWUoKX19dmFyIHA9cygxODUyNzEpLHk9cygyNzU4NDkpLG09cyg4Njc4MzEpO2NvbnN0IHY9cC50KG51bGwsdm9pZCAwLHMoODQyNjM1KSk7Y2xhc3MgZiBleHRlbmRzIHkuU3R1ZHlTdGF0dXNQcm92aWRlcntzb3VyY2VTdGF0dXNUZXh0KCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc3RhdHVzKCk7cmV0dXJuIGUudHlwZT09PW0uU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiZbInJlc29sdmVfZXJyb3IiLCJTeW1ib2wgcmVzb2x2ZSBlcnJvcjoiLCJJbnZhbGlkIHN5bWJvbDoiXS5zb21lKCh0PT5lLmVycm9yRGVzY3JpcHRpb24uZXJyb3Iuc3RhcnRzV2l0aCh0KSkpP3Y6c3VwZXIuc291cmNlU3RhdHVzVGV4dCgpfX12YXIgUz1zKDc3NTg2OSksZz1zKDk0Mzk1KSxiPXMoNTk2NzA2KTtjbGFzcyB3IGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLl9zeW1ib2xQcm9wZXJ0eT1udWxsLHRoaXMuX3N5bWJvbElucHV0PW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zdWJzY3JpYmUoKGU9Pnt2b2lkIDAhPT10aGlzLl9wZW5kaW5nQ3VycmVuY3lJZCYmbnVsbCE9PWUmJih0aGlzLnNldEN1cnJlbmN5KHRoaXMuX3BlbmRpbmdDdXJyZW5jeUlkKSx0aGlzLl9wZW5kaW5nQ3VycmVuY3lJZD12b2lkIDApfSkse29uY2U6ITB9KSx0aGlzLl9zeW1ib2xJbnB1dD10aGlzLm1ldGFJbmZvKCkuaW5wdXRzLmZpbmQoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSk/P251bGwsdGhpcy5fc3ltYm9sSW5wdXQmJih0aGlzLl9zeW1ib2xQcm9wZXJ0eT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGQodGhpcy5fc3ltYm9sSW5wdXQuaWQpPz9udWxsKSx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUobnVsbCx0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKXx8dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2woKX1oYXNPd25TeW1ib2woKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKSl9Y3VycmVuY3koKXtpZighdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5KXJldHVybiBzdXBlci5jdXJyZW5jeSgpO2NvbnN0IGU9dGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5LnZhbHVlKCk7aWYoZSYmIkRlZmF1bHQiIT09ZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7cmV0dXJuIG51bGwhPT10P3QuY3VycmVuY3lJZEJ5Q29kZShlKTpudWxsfXJldHVybiB0aGlzLnN5bWJvbFNvdXJjZSgpLmN1cnJlbmN5KCl9c2V0Q3VycmVuY3koZSl7aWYoIXRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eSlyZXR1cm4gc3VwZXIuc2V0Q3VycmVuY3koZSk7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuIHZvaWQodGhpcy5fcGVuZGluZ0N1cnJlbmN5SWQ9ZSk7Y29uc3Qgcz1lP3QuY3VycmVuY3lDb2RlQnlJZChlKT8/IkRlZmF1bHQiOiJEZWZhdWx0Ijt0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc2V0VmFsdWUocyl9bGFiZWxUaXRsZSgpe3JldHVybiB0aGlzLnRpdGxlKGcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITApfWhhc1N0YXRlRm9yQWxlcnQoKXtpZighKDAsYS5pc0ZlYXR1cmVFbmFibGVkKSgiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5zY3JpcHRJZFBhcnQsdD10aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8udHlwZTtyZXR1cm4oMCxvLmlzRnVuZGFtZW50YWxTdXBwb3J0ZWRCeUFsZXJ0cykoZSkmJiJzdG9jayI9PT10JiZzdXBlci5oYXNTdGF0ZUZvckFsZXJ0KCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMuX3RpdGxlKGUsISF0KV19c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyBmKHRoaXMpfWRlc3Ryb3koKXt0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksc3VwZXIuZGVzdHJveSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5pbnB1dHMuZmluZCgoZT0+IkN1cnJlbmN5Ij09PWUubmFtZSkpO3JldHVybiBlPygwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKTpudWxsfV9jcmVhdGVQcmljZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgaCh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgXyh0aGlzLGUpfV9kZWZhdWx0RXJyb3JUaXRsZSgpe3JldHVybiJNZXRyaWMgZXJyb3IifV9jcmVhdGVTdHVkeUVycm9yKGUpewpyZXR1cm4hKDAsaS5kZWZhdWx0KShlKSYmZS5lcnJvci5lbmRzV2l0aCgiaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucyIpP3N1cGVyLl9jcmVhdGVTdHVkeUVycm9yKHtlcnJvcjoiR2V0IGFjY2VzcyB0byBmb3JlY2FzdCBtZXRyaWNzIHdpdGggYW4gdXBncmFkZWQgcGxhbi4iLHRpdGxlOiJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIn0pOnN1cGVyLl9jcmVhdGVTdHVkeUVycm9yKGUpfV90aXRsZShlLHQpe2NvbnN0IGk9dGhpcy5tZXRhSW5mbygpO2xldCByO3I9dD9pLnNob3J0RGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbixyPW4udChyLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSk7Y29uc3Qgbz1pLmZpbmFuY2lhbFBlcmlvZDtpZih2b2lkIDAhPT1vJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkobykpe2NvbnN0IGU9dD8oMCx1LmZpbmFuY2lhbFBlcmlvZFRvU2hvcnRTdHJpbmcpKG8pOigwLHUuZmluYW5jaWFsUGVyaW9kVG9TdHJpbmcpKG8pO3I9YCR7bi50KHIse2NvbnRleHQ6InN0dWR5In0scyg4ODQ2OTMpKX0gwrcgJHtlfWB9Y29uc3QgYT1lPT09Zy5UaXRsZURpc3BsYXlUYXJnZXQuQWxlcnRzP3t9OnRoaXMuX3RpdGxlSW5wdXRzKCgwLFMudG9JbnB1dERpc3BsYXlGbGFncykoZSksITApLGw9T2JqZWN0LmtleXMoYSk7cmV0dXJuIGwubGVuZ3RoPjAmJihyPWAke24udChhW2xbMF1dLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSl9IMK3ICR7cn1gKSxyfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybnsuLi5zdXBlci5fdGl0bGVJbnB1dHNPcHRpb25zKGUsdCxzKSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMCxhbGxvd2VkSW5wdXRUeXBlczpbInN5bWJvbCJdfX1fdGl0bGVJbnB1dHMoZSx0LHMpe2NvbnN0IGk9c3VwZXIuX3RpdGxlSW5wdXRzKGUsdCxzKTtpZighdGhpcy5oYXNPd25TeW1ib2woKSlyZXR1cm4gaTtjb25zdCByPXRoaXMucmVzb2x2ZWRTeW1ib2xJbmZvQnlTeW1ib2wodGhpcy5zeW1ib2woKSk7aWYoIShudWxsIT09ciYmKDAsYi5pc0NyeXB0b1N5bWJvbCkoci50eXBlc3BlY3MpJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkodGhpcy5tZXRhSW5mbygpLmZpbmFuY2lhbFBlcmlvZCkpKXJldHVybiBpO2NvbnN0IG49cj8uYmFzZV9jdXJyZW5jeXx8bnVsbDtyZXR1cm4gdGhpcy5fc3ltYm9sSW5wdXQmJm4mJihpW3RoaXMuX3N5bWJvbElucHV0LmlkXT1uKSxpfX19LDUwMjcyNihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMaW5lYXJSZWdyZXNzaW9uU3R1ZHk6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCkscj1zKDgxNDU4OSksbj1zKDg0MTU1OCksbz1zKDE2ODI1OCk7Y2xhc3MgYSBleHRlbmRzIG4uTm9uU2VyaWVzU3R1ZHl7c3RhcnRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5zdGFydEluZGV4XTtyZXR1cm4gdCE9PXIuSU5WQUxJRF9USU1FX1BPSU5UX0lOREVYP3Q6bnVsbH1lbmRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5lbmRJbmRleF07cmV0dXJuIHQhPT1yLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWD90Om51bGx9YmFzZUxpbmUoKXtjb25zdCBlPXRoaXMuY3VzdG9tRGF0YSgpO3JldHVybiBudWxsIT1lP2UuYmFzZUxpbmU6bnVsbH1kb3duTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS5kb3duTGluZTpudWxsfXVwTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS51cExpbmU6bnVsbH1wZWFyc29ucygpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWUmJnZvaWQgMCE9PWUucGVhcnNvbnM/ZS5wZWFyc29uczpudWxsfWlzVmlzaWJsZSgpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKSlyZXR1cm4hMTtjb25zdCBlPSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpKTtyZXR1cm4gZS51cExpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuZG93bkxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuYmFzZUxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV9X2NyZWF0ZVZpZXdzKCl7c3VwZXIuX2NyZWF0ZVZpZXdzKCksUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocyw1MDEzNjMpKS50aGVuKCgoe0xpbmVhclJlZ3Jlc3Npb25QYW5lVmlldzplfSk9Pnt0aGlzLl9zZXRQYW5lVmlld3MoW25ldyBlKHRoaXMubW9kZWwoKSx0aGlzKV0pfSkpfX19LDYzMTUyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5QmFzZTooKT0+aH0pO3ZhciBpLHI9cygxOTcyNzIpLG49cyg4MTQ1ODkpLG89cyg3Nzk1MTYpLGE9cyg5MzI2OTMpLGw9cygxNDc5OTIpLHU9cyg5NjY0MDQpOyFmdW5jdGlvbihlKXtlW2UuTWF4TXNlY3NQZXJQeD00MzJlNl09Ik1heE1zZWNzUGVyUHgiLGVbZS5GaXZlRGF5c01zPTQzMmU2XT0iRml2ZURheXNNcyJ9KGl8fChpPXt9KSk7Y29uc3QgYz1EYXRlLlVUQygyMDI0LDEsMSk7Y2xhc3MgaCBleHRlbmRzIHIuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKSx0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITEsdGhpcy5zZXRPd25lclNvdXJjZShlLm1haW5TZXJpZXMoKSk7Y29uc3Qgbz10aGlzLl9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpCjtudWxsIT09byYmKHRoaXMuX2Rlc3Ryb3lQcm9wZXJ0eUJpbmRlcj0oMCxsLmJpbmRQcm9wZXJ0aWVzKShvLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZSkpfWRlc3Ryb3koKXt0aGlzLl9wYW5lVmlldy5kZXN0cm95KCksdGhpcy5fZGVzdHJveVByb3BlcnR5QmluZGVyPy4oKSxzdXBlci5kZXN0cm95KCl9dXBkYXRlQWxsVmlld3NBbmRSZXBhaW50KCl7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx1LnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9YXV0b1NjYWxlSW5mbygpe3JldHVybntyYW5nZTpudWxsfX1sb2xsaXBvcHNBdEluZGV4KGUpe3JldHVybiF0aGlzLmhpZGVMb2xsaXBvcHMoKSYmdGhpcy5kYXRhKCkuY29udGFpbnMoZSk/MTowfWhpZGVMb2xsaXBvcHMoKXt7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKGMpO2lmKGU8NDMyZTYpcmV0dXJuITE7cmV0dXJuIGUvdGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpPjQzMmU2fX1hc3luYyBzdGFydCgpe2NvbnN0IGU9c3VwZXIuc3RhcnQoKTtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXRQbG90U3Rhc2gpLHRoaXMuX2luaXRQbG90U3Rhc2goKSxlfXN0b3AoKXtzdXBlci5zdG9wKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW5pdFBsb3RTdGFzaCl9cmVzdG9yZURhdGEoZSl7ZS5kYXRhPWUuZGF0YS5maWx0ZXIoKGU9PmUuaW5kZXghPT1uLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCYmdGhpcy5pc1ZhbGlkKGUudmFsdWUpKSksdGhpcy5fdHJhbnNmb3JtRGF0YShlLmRhdGEpLGUuZW5kPWUuZGF0YS5sZW5ndGgsc3VwZXIucmVzdG9yZURhdGEoZSl9b25DbGlja091dHNpZGUoZSx0KXt0aGlzLl9wYW5lVmlldy5wcm9jZXNzQ2xpY2tPdXRzaWRlKGUsdCl9cHJlZmVyTm9TY2FsZSgpe3JldHVybiEwfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1pc1NhdmVkSW5TdHVkeVRlbXBsYXRlcygpe3JldHVybiExfWlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc0RyYWdnYWJsZSgpe3JldHVybiExfWNvcGlhYmxlKCl7cmV0dXJuITF9c3RhdHVzVmlldygpe3JldHVybiBudWxsfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4hMX1pc1NhdmVkSW5DaGFydChlKXtyZXR1cm4gQm9vbGVhbihlKX1pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCl7cmV0dXJuITB9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2FuSGF2ZUNoaWxkcmVuKCl7cmV0dXJuITF9aXNJbmNsdWRlZEluQXV0b1NjYWxlKCl7cmV0dXJuITF9aXNDdXJyZW5jeVNvdXJjZSgpe3JldHVybiExfWlzVW5pdFNvdXJjZSgpe3JldHVybiExfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiBudWxsfV90cmFuc2Zvcm1EYXRhKGUpe2ZvcihsZXQgdD1lLmxlbmd0aC0xO3Q+PTA7LS10KXtjb25zdCBzPWVbdF0saT1zLmluZGV4IT09bi5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgmJnRoaXMuaXNWYWxpZChzLnZhbHVlKTt0aGlzLl91cGRhdGVQbG90U3Rhc2gocyxpKX19X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXdzPVt0aGlzLl9wYW5lVmlld10sdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZGF0YVdpbmRvd1ZpZXd8fCh0aGlzLl9kYXRhV2luZG93Vmlldz1uZXcgby5EYXRhV2luZG93VmlldyksdGhpcy5fbGVnZW5kVmlldz1udWxsLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBhLlN0dWR5U3RhdHVzVmlldyh0aGlzKSl9X3Nlcmllc0RhdGFSYW5nZVRvU2F2ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpfV9pbml0UGxvdFN0YXNoKCl7dGhpcy5fcGxvdFN0YXNoPXt9fV91cGRhdGVQbG90U3Rhc2goZSx0KXtpZih0aGlzLl9yZXN0YXJ0UmVxdWlyZWR8fCF0aGlzLl9wbG90U3Rhc2gpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZS5zbGljZSgpLGk9cy5zaGlmdCgpLHI9U3RyaW5nKGkpO3Q/dGhpcy5fcGxvdFN0YXNoW3JdP1N0cmluZyh0aGlzLl9wbG90U3Rhc2hbcl0pIT09U3RyaW5nKHMpJiYodGhpcy5fcmVzdGFydFJlcXVpcmVkPSEwKTp0aGlzLl9wbG90U3Rhc2hbcl09czp0aGlzLl9wbG90U3Rhc2hbcl0mJih0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITApfX19LDg4NzAyOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5UGFuZVZpZXdCYXNlOigpPT5ffSk7dmFyIGk9cyg3MzY1MzEpLHI9cygxMzg2MzgpLG49cyg3MDA4MDkpLG89cyg5MzAyMzEpLGE9cygyMjg4MiksbD1zKDI3NjAxOSksdT1zKDg3NDMwNiksYz1zKDg4OTM5NyksaD1zKDg4ODU2MiksZD1zKDQ5NDA3OSk7Y2xhc3MgXyBleHRlbmRzIGQuTG9sbGlwb3BQYW5lVmlld3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZ2V0TW9yZUZpbmFuY2lhbHNMaW5rSW5pdGlhbFRhYklkPSJvdmVydmlldyIsdGhpcy5fc3ltYm9sTmFtZT1udWxsfWFkZExvbGxpcG9wKGUsdCxzLHIsbixvLGEpe2lmKG51bGw9PT10aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fc3ltYm9sTmFtZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5uYW1lPz9udWxsLG51bGw9PT10aGlzLl9zeW1ib2xOYW1lKSlyZXR1cm4KO2NvbnN0IGw9YCR7dGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaWR9XyR7dGhpcy5fbG9sbGlwb3BJZChvKX1fJHt0aGlzLl9zeW1ib2xOYW1lfWAsdT10aGlzLl9sb2xsaXBvcHNbbF0sYz12b2lkIDAhPT11P3UuaXRlbUluZGV4OnRoaXMuX2xvbGxpcG9wc0NvdW50ZXIrKyxoPXRoaXMuX21vZGVsLmxhc3RIaXR0ZXN0RGF0YSgpLGQ9dGhpcy5fbW9kZWwuaG92ZXJlZFNvdXJjZSgpPT09dGhpcy5fc291cmNlJiZudWxsIT09aCYmaC5hY3RpdmVJdGVtJiZoLmFjdGl2ZUl0ZW0uaXRlbUluZGV4PT09Yzt0aGlzLl9sb2xsaXBvcHNbbF09e2lkOmwsaXRlbUluZGV4OmMsdmlzaWJsZTohMCxiYXNlUG9pbnQ6bmV3IGkuUG9pbnQocy5pbmRleFRvQ29vcmRpbmF0ZShuKSxlKSxob3ZlcmVkOmQsc3RhY2s6YSwuLi50aGlzLmV4dHJhRGF0YShvKX19cmVuZGVyZXIoZSl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbChlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fc291cmNlLmhpZGVMb2xsaXBvcHMoKT9udWxsOnRoaXMuX3JlbmRlcmVyfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzBdLnRvU3RyaW5nKCl9X3VwZGF0ZUltcGwoZSl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCB0PXRoaXMuX3NvdXJjZS5kYXRhKCkscz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG49dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxhPW8ucHJpY2VTY2FsZSgpLGw9by5maXJzdEJhcigpO2lmKGEuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8IWx8fCF0fHxudWxsPT09aSlyZXR1cm47Y29uc3QgdT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCF1KXJldHVybjtpZih0aGlzLl9zb3VyY2UuaGlkZUxvbGxpcG9wcygpKXJldHVybiB2b2lkIHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKTtmb3IoY29uc3QgZSBpbiB0aGlzLl9sb2xsaXBvcHMpdGhpcy5fbG9sbGlwb3BzLmhhc093blByb3BlcnR5KGUpJiYoKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9sb2xsaXBvcHNbZV0pLnZpc2libGU9ITEpO2NvbnN0IGM9dGhpcy5fZ2V0WSgpLGg9aS5maXJzdEJhcigpLGQ9aS5sYXN0QmFyKCksXz10aGlzLl9zb3VyY2Uuem9yZGVyKCkscD11LmxvbGxpcG9wRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10aGlzLl9zb3VyY2UmJmUuem9yZGVyKCk+XyYmZS5pc1Zpc2libGUoKSkpO3QucmFuZ2UoaCxkKS5lYWNoKCgoZSx0KT0+e2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgcClpKz10LmxvbGxpcG9wc0F0SW5kZXgoZSk7cmV0dXJuIHRoaXMuYWRkTG9sbGlwb3AoYyxuLHMsYSxlLHQsaSksITF9KSksdGhpcy5hZnRlclVwZGF0ZShjLG4scyxhKSx0aGlzLl9jcmVhdGVSZW5kZXJlcnMoZSl9X2Zvcm1hdERhdGUoZSx0KXtsZXQgcyxpPSEwO2lmKGk9dS5WZXJzaW9uLnBhcnNlKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLnZlcnNpb24pLmlzTGVzc09yRXF1YWwobmV3IHUuVmVyc2lvbigxMzcsMCkpLGkpe2xldCB0PSJFdGMvVVRDIjt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKXx8KHQ9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk/PyIiKTtjb25zdCBpPSgwLG4uZ2V0X3RpbWV6b25lKSh0KTtzPSgwLG4udXRjX3RvX2NhbCkoaSxlKX1lbHNlIHM9bmV3IERhdGUoZSk7cmV0dXJuKHQ/IuKJiCAiOiIiKSt0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KHMpfV9nZXRNb3JlRmluYW5jaWFsc0xpbmsoKXtpZighL1xiZXRmXGIvaS50ZXN0KHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LmRlc2NyaXB0aW9ufHwiIikpcmV0dXJue2NoaWxkcmVuOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKSxvbkNsaWNrOigpPT57bC5nbG9iYWxDbG9zZURlbGVnYXRlLmZpcmUoKSwoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtb2JpbGVfYXBwX2FjdGlvbl9vcGVuX2ZpbmFuY2lhbHNfd2VidmlldyIpPygwLGgub3BlbkZpbmFuY2lhbHNXZWJ2aWV3KShuZXcgVVJMU2VhcmNoUGFyYW1zKTooMCxjLnNob3dGaW5hbmNpYWxzRGlhbG9nKSh7aW5pdGlhbFRhYklkOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua0luaXRpYWxUYWJJZH0pfX19X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxhLmdldE1vcmVGaW5hbmNpYWxzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfV9vblN5bWJvbE9ySW50ZXJ2YWxDaGFuZ2VkKCl7c3VwZXIuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQoKSx0aGlzLl9zeW1ib2xOYW1lPW51bGx9fX0sNDY3OTIxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHttaWdyYXRlSmF2YVN0YXRlVG9QaW5lOigpPT5oLHBpbmVJZEZvckphdmFJZDooKT0+bH0pO2NvbnN0IGk9KDAsCnMoNTA1NTYpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxyPW5ldyBNYXAoW1sic3R1ZHlBRFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0FkdmFuY2VfRGVjbGluZV9SYXRpb19CYXJzIl0sWyJBVFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0F2ZXJhZ2VfVHJ1ZV9SYW5nZSJdLFsiQUNDREB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiJdLFsiQVJPT05AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Fyb29uIl0sWyJBd2Vzb21lT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QXdlc29tZV9Pc2NpbGxhdG9yIl0sWyJCQkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Qm9sbGluZ2VyX0JhbmRzIl0sWyJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0JvbGxpbmdlcl9CYW5kc19CIl0sWyJCb2xsaW5nZXJCYW5kc1dpZHRoQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtCb2xsaW5nZXJfQmFuZHNfV2lkdGgiXSxbIkNDSUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q0NJIl0sWyJDTUZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fTW9uZXlfRmxvdyJdLFsiQ2hhaWtpbk9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fT3NjaWxsYXRvciJdLFsiY2hhbmRlTU9AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYW5kZV9Nb21lbnR1bV9Pc2NpbGxhdG9yIl0sWyJDaG9wcGluZXNzSW5kZXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nob3BwaW5lc3NfSW5kZXgiXSxbIkNvbXBhcmVAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NvbXBhcmUiXSxbIkNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nvbm5vcnNfUlNJIl0sWyJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtDb3JyZWxhdGlvbl9Db2VmZiJdLFsiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtERU1BIl0sWyJETUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RE1JIl0sWyJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RQTyJdLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RvbmNoaWFuX0NoYW5uZWxzIl0sWyJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RU9NIl0sWyJFRklAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0VGSSJdLFsiRU5WQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTlYiXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTUEiXSxbIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RmlzaGVyX1RyYW5zZm9ybSJdLFsiSFZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0hpc3RvcmljYWxfVm9sYXRpbGl0eSJdLFsiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtIdWxsJTFNQSJdLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7SWNoaW1va3UlMUNsb3VkIl0sWyJLU1RAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tub3dfU3VyZV9UaGluZyJdLFsiS0xUTlJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tlbHRuZXJfQ2hhbm5lbHMiXSxbIkxpbmVhclJlZ3Jlc3Npb25AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0xpbmVhcl9SZWdyZXNzaW9uIl0sWyJNQUNEQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNQUNEIl0sWyJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtXTUEiXSxbIk1PTUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7TW9tZW50dW0iXSxbIk1GQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb25leV9GbG93Il0sWyJNVFBDQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNdWx0aS1UaW1lJVBlcmlvZCVDaGFydHMiXSxbIk9CVkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7T25fQmFsYW5jZV9Wb2x1bWUiXSxbIlBTQVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1BTQVIiXSxbIlBpdm90UG9pbnRzSGlnaExvd0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7UGl2b3QlMVBvaW50cyUxSGlnaCUxTG93Il0sWyJQaXZvdFBvaW50c1N0YW5kYXJkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtQaXZvdCUxUG9pbnRzJTFTdGFuZGFyZCJdLFsiUHJpY2VPc2NAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX09zY2lsbGF0b3IiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSU0kiXSxbIlJPQ0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Uk9DIl0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9WaWdvcl9JbmRleCJdLFsiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4Il0sWyJTTUlFcmdvZGljSW5kaWNhdG9yQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUlfRXJnb2RpY19JbmRpY2F0b3JfT3NjaWxsYXRvciJdLFsiU01JRXJnb2RpY09zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1NNSV9FcmdvZGljX09zY2lsbGF0b3IiXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUEiXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWMiXSxbIlN0b2NoYXN0aWNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWNfUlNJIl0sWyJUcmlwbGVFTUFAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RFTUEiXSxbIlRyaXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RSSVgiXSxbIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIl0sWyJWV0FQQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV0FQIl0sWyJNQVZvbHVtZVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV01BIl0sWyJWU1RPUEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Vm9sYXRpbGl0eV9TdG9wIl0sWyJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIl0sWyJXaWxsaWFtc0ZyYWN0YWxAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1doaWxsaWFtc19GcmFjdGFscyJdLFsiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1dpbGxhbXNfUiJdLFsiWmlnWmFnQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtaaWdfWmFnIl0sWyJNb29uUGhhc2VzQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb29uJTFQaGFzZXMiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiQ29ycmVsYXRpb25Db2VmZmljaWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q29ycmVsYXRpb25fQ29lZmYiXV0pLG49bmV3IE1hcChbWyJBUk9PTkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siQXJvb25Eb3duIiwiQXJvb24gRG93biJdLFsiQXJvb25VcCIsIkFyb29uIFVwIl1dKV0sWyJETUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siRElfTiIsIi1ESSJdLFsiRElfUCIsIitESSJdXSldLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIkRvbmNoaWFuQmFzaXMiLCJCYXNpcyJdLFsiRG9uY2hpYW5Mb3dlciIsIkxvd2VyIl0sWyJEb25jaGlhblVwcGVyIiwiVXBwZXIiXV0pXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdFeHAiLCJFTUEiXV0pXSxbIkVOVkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siZW52YmFzaXMiLCJCYXNpcyJdLFsiZW52dXBwZXIiLCJVcHBlciJdLFsiZW52bG93ZXIiLCJMb3dlciJdXSldLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVHVybmluZ0xpbmUiLCJDb252ZXJzaW9uIExpbmUiXSxbIlN0YW5kYXJkTGluZSIsIkJhc2UgTGluZSJdLFsiQ2xvc2VMaW5lIiwiTGFnZ2luZyBTcGFuIl0sWyJMZWFkMUxpbmUiLCJMZWFkaW5nIFNwYW4gQSJdLFsiTGVhZDJMaW5lIiwiTGVhZGluZyBTcGFuIEIiXV0pXSxbIktMVE5SQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJLZWx0bmVyVXBwZXIiLCJVcHBlciJdLFsiS2VsdG5lckNlbnRlciIsIkJhc2lzIl0sWyJLZWx0bmVyTG93ZXIiLCJMb3dlciJdXSldLFsiS1NUQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdTaW1wbGUiLCJNQSJdXSldLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJSZWxhdGl2ZVN0cmVuZ3RoSW5kZXgiLCJSU0kiXV0pXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIksiLCIlSyJdLFsiRCIsIiVEIl1dKV0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXV0pLG89bmV3IE1hcChbWyJLU1RAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIlplcm8gTGluZSIsIlplcm8iXV0pXSxbIlJTSUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVXBwZXIgQmFuZCIsIlJTSSBVcHBlciBCYW5kIl0sWyJMb3dlciBCYW5kIiwiUlNJIExvd2VyIEJhbmQiXV0pXV0pLGE9bmV3IE1hcChbWyJDUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJMZW5ST0MiLHsKbmFtZToiUk9DIExlbmd0aCJ9XSxbIkxlblJTSSIse25hbWU6IlJTSSBMZW5ndGgifV0sWyJMZW5VUCIse25hbWU6IlVwRG93biBMZW5ndGgifV1dKV0sWyJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbImxlbmd0aCBoaWdoIix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IEhpZ2gifV0sWyJsZW5ndGggbG93Iix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IExvdyJ9XV0pXSxbIkljaGltb2t1Q2xvdWRAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbInR1cm5pbmcgbGluZSBwZXJpb2RzIix7bmFtZToiQ29udmVyc2lvbiBMaW5lIExlbmd0aCJ9XSxbInN0YW5kYXJkIGxpbmUgcGVyaW9kcyIse25hbWU6IkJhc2UgTGluZSBMZW5ndGgifV0sWyJsZWFkaW5nIHNwYW4gMiBwZXJpb2RzIix7bmFtZToiTGVhZGluZyBTcGFuIEIgTGVuZ3RoIn1dLFsiZGlzcGxhY2VtZW50Iix7bmFtZToiTGFnZ2luZyBTcGFuIn1dXSldXSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gci5nZXQoZSk/P251bGx9Y29uc3QgdT1uZXcgU2V0KFsibGluZSIsInNoYXBlcyIsImNoYXJzIiwiYXJyb3dzIiwib2hsY19vcGVuIiwib2hsY19oaWdoIiwib2hsY19sb3ciLCJvaGxjX2Nsb3NlIl0pO2Z1bmN0aW9uIGMoZSx0LHMpe3JldHVybiBlLmlucHV0cy5maW5kKChlPT4oZS5uYW1lLnN0YXJ0c1dpdGgodCl8fGUubmFtZS5lbmRzV2l0aCh0KSkmJmUuZ3JvdXA9PT1zKSk/LmlkPz9udWxsfWZ1bmN0aW9uIGgoZSx0LHMpeyFmdW5jdGlvbihlKXtpZihlLmFyZWFCYWNrZ3JvdW5kKXtlLmZpbGxlZEFyZWFzU3R5bGU9ZS5maWxsZWRBcmVhc1N0eWxlPz97fTtjb25zdCB0PWUuZmlsbGVkQXJlYXNTdHlsZT8uZmlsbF8wPz97fTt0LmNvbG9yPWUuYXJlYUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yLHQudHJhbnNwYXJlbmN5PWUuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5LHQudmlzaWJsZT1lLmFyZWFCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGUuZmlsbGVkQXJlYXNTdHlsZS5maWxsXzA9dH1kZWxldGUgZS5hcmVhQmFja2dyb3VuZH0oZSksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9e30scj1hLmdldCh0LmlkKT8/bmV3IE1hcDtzLmlucHV0cy5mb3JFYWNoKCh0PT57Y29uc3Qgcz10Lm5hbWUudG9Mb3dlckNhc2UoKSxuPXQuZ3JvdXA7Zm9yKGNvbnN0IG8gb2YgT2JqZWN0LmtleXMoZS5pbnB1dHMpKXtjb25zdCBhPXIuZ2V0KG8pPy5uYW1lPz9vLGw9ci5nZXQobyk/Lmdyb3VwPz9uO2lmKGEudG9Mb3dlckNhc2UoKT09PXMmJmw9PT1uKXtpW3QuaWRdPWUuaW5wdXRzW29dO2JyZWFrfX0ib2Zmc2V0Ij09PXMmJmUub2Zmc2V0JiYoaVt0LmlkXT1lLm9mZnNldC52YWwpfSkpLGUuaW5wdXRzPWksZGVsZXRlIGUub2Zmc2V0fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9dC5wYWxldHRlcz8/e30scj1zLnBhbGV0dGVzPz97fSxuPU9iamVjdC5rZXlzKGkpLG89T2JqZWN0LmtleXMocik7MT09PW4ubGVuZ3RoJiYxPT09by5sZW5ndGgmJihlLnBhbGV0dGVzW29bMF1dPWUucGFsZXR0ZXNbblswXV0sZGVsZXRlIGUucGFsZXR0ZXNbblswXV0pfShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bi5nZXQodC5pZCk/P25ldyBNYXAscj1zLnN0eWxlcz8/e30sbz1lLnN0eWxlcyxhPXt9LGw9dC5wbG90cy5maWx0ZXIoKGU9PnUuaGFzKGUudHlwZSkpKSxjPXMucGxvdHMuZmlsdGVyKChlPT51LmhhcyhlLnR5cGUpKSk7aWYoMT09PWMubGVuZ3RoJiYxPT09bC5sZW5ndGgpe2NvbnN0IGU9Y1swXS5pZCx0PWxbMF0uaWQ7dCYmKGFbZV09b1t0XSl9ZWxzZSBmb3IoY29uc3QgZSBvZiBjKXtjb25zdCB0PWUuaWQscz1yW3RdO2lmKHMpe2NvbnN0IGU9cy50aXRsZS50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKG8pKWlmKChpLmdldChzKT8/cykudG9Mb3dlckNhc2UoKT09PWUpe2FbdF09b1tzXTticmVha319fWUuc3R5bGVzPWF9KGUsdCxzKSxmdW5jdGlvbihlLHQscyl7Y29uc3QgaT1zLmJhbmRzLHI9ZS5iYW5kcyxuPW8uZ2V0KHQuaWQpPz9uZXcgTWFwO2lmKGkmJnIpe2NvbnN0IG89cy5kZWZhdWx0cy5iYW5kcz8ubGVuZ3RoPz8wLGE9QXJyYXkuZnJvbSh7bGVuZ3RoOm99KTsocy5kZWZhdWx0cy5iYW5kcz8/W10pLmZvckVhY2goKChlLHMpPT57Y29uc3Qgbz1pW3NdO2lmKG8pe2NvbnN0IGk9by5uYW1lLnRvTG93ZXJDYXNlKCksbD10LmJhbmRzPz9bXTthW3NdPWU7Zm9yKGxldCBlPTA7ZTxsLmxlbmd0aDtlKyspe2NvbnN0IHQ9bFtlXS5uYW1lO2lmKChuLmdldCh0KT8/dCkudG9Mb3dlckNhc2UoKT09PWkpe2Fbc109cltlXTticmVha319fX0pKSxlLmJhbmRzPWF9fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2lmKGUuYmFuZHNCYWNrZ3JvdW5kKXtjb25zdCB0PShzLmZpbGxlZEFyZWFzPz9bXSkuZmluZCgoZT0+ImhsaW5lX2hsaW5lIj09PWUudHlwZSkpO2lmKHQpe2UuZmlsbGVkQXJlYXNTdHlsZT1lLmZpbGxlZEFyZWFzU3R5bGU/P3t9O2NvbnN0IHM9dC5pZCxpPWUuZmlsbGVkQXJlYXNTdHlsZVtzXT8/e307aS5jb2xvcj1lLmJhbmRzQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IsaS52aXNpYmxlPWUuYmFuZHNCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGkudHJhbnNwYXJlbmN5PWUuYmFuZHNCYWNrZ3JvdW5kLnRyYW5zcGFyZW5jeSxlLmZpbGxlZEFyZWFzU3R5bGVbc109aX19ZGVsZXRlIGUuYmFuZHNCYWNrZ3JvdW5kfShlLDAscyksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PXQuaWQmJiJQaXZvdFBvaW50c1N0YW5kYXJkIiE9PXQuaWR8fGZ1bmN0aW9uKGUsdCxzKXtlLmdyYXBoaWNzPWUuZ3JhcGhpY3M/P3t9LGUuZ3JhcGhpY3MuZHdnbGFiZWxzPWUuZ3JhcGhpY3MuZHdnbGFiZWxzPz97fSxlLmdyYXBoaWNzLmR3Z2xhYmVscy5sYWJlbHM9ZS5ncmFwaGljcy5kd2dsYWJlbHMubGFiZWxzPz97dmlzaWJsZTplLmxldmVsc1N0eWxlPy5zaG93TGFiZWxzPz8hMH0sZS5wYWxldHRlcz1lLnBhbGV0dGVzPz97fSwKZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbj1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uPz97fSxlLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz8/e307bGV0IHI9MTtbIlAiLCJTMS9SMSIsIlMyL1IyIiwiUzMvUjMiLCJTNC9SNCIsIlM1L1I1Il0uZm9yRWFjaCgodD0+e2NvbnN0IG49ZS5sZXZlbHNTdHlsZT8uY29sb3JzPy5bdF0/P2k7dC5zcGxpdCgiLyIpLmZvckVhY2goKHQ9Pntjb25zdCBpPWMocyx0LCJsZXZlbHMiKTtpJiYoZS5pbnB1dHNbaV09biksZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl09ZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl0/P3t9LGUucGFsZXR0ZXMucGFsZXR0ZV9jb21tb24uY29sb3JzW3JdLmNvbG9yPW4scisrfSkpfSkpO2NvbnN0IG49YyhzLCJMaW5lIFdpZHRoIiwibGV2ZWxzIik7aWYobil7Y29uc3QgdD1lLmxldmVsc1N0eWxlPy53aWR0aHM/LlA/PzE7ZS5pbnB1dHNbbl09dH19KGUsMCxzKX19LDg0MTU1OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtOb25TZXJpZXNTdHVkeTooKT0+bn0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMTk3MjcyKTtjbGFzcyBuIGV4dGVuZHMgci5TdHVkeXtpc0xpbmtlZFRvU2VyaWVzKCl7cmV0dXJuITB9Y2xlYXJEYXRhKCl7dGhpcy5fY3VzdG9tRGF0YT1udWxsLHRoaXMuX2luZGV4ZXM9bnVsbH1yZXN0b3JlRGF0YShlLHQscyl7c3VwZXIucmVzdG9yZURhdGEoZSksdGhpcy5fY3VzdG9tRGF0YT10LHRoaXMuX2luZGV4ZXM9c31zdGF0ZShlKXtjb25zdCB0PXN1cGVyLnN0YXRlKGUpO3JldHVybiBlJiYodC5ub25TZXJpZXNEYXRhPXRoaXMuX2N1c3RvbURhdGEsdC5pbmRleGVzPXRoaXMuX2luZGV4ZXMpLHR9Y3VzdG9tRGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21EYXRhfV9zZXRQYW5lVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzPWUsdGhpcy5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9X29uRGF0YVVwZGF0ZWQoZSx0LHMpe251bGwhPT10JiYodC5pbmRleGVzX3JlcGxhY2U/KCgwLGkuYXNzZXJ0KSgibm9jaGFuZ2UiIT09cyksdGhpcy5faW5kZXhlcz1zKToodGhpcy5fY3VzdG9tRGF0YT10LmRhdGEsIm5vY2hhbmdlIiE9PXMmJih0aGlzLl9pbmRleGVzPXMpKSksc3VwZXIuX29uRGF0YVVwZGF0ZWQoZSx0LHMpfX19LDg0NDcyNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9QaXZvdFBvaW50c1N0YW5kYXJkOigpPT5BfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg4NDE1NTgpLG49cyg5MTg3NzkpLG89cygxNTEyMSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyxpKXt0aGlzLl9wcmljZUF4aXNGb250U2l6ZT0xMSx0aGlzLl9wcmljZXM9W10sdGhpcy5fbGFiZWxXaWR0aD0wLHRoaXMuX3BpeGVsUmF0aW9QYXJhbXM9ZSx0aGlzLl9yZWNyZWF0ZUNhbnZhc0FuZENvbnRleHQoKDAsbi5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pKSx0aGlzLnJlc2V0KHtmb250OnQsZm9udFNpemU6cyxiYWNrQ29sb3JzOml9KX1kZXN0cm95KCl7ZGVsZXRlIHRoaXMuX2NhbnZhcyxkZWxldGUgdGhpcy5fY2FjaGV9Y2FudmFzKCl7cmV0dXJuIHRoaXMuX2NhbnZhc31yZXNldChlKXt0aGlzLl9yZW5kZXJQYXJhbXM9ZSx0aGlzLl9wcmljZXM9W10sdGhpcy5fY2FjaGUuZm9udD1lLmZvbnRTaXplKyJweCAiK2UuZm9udCx0aGlzLl9sYWJlbFdpZHRoPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1IiwiLyJdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX2NhY2hlLm1lYXN1cmVUZXh0KHQpLndpZHRoO3JldHVybiBNYXRoLm1heChzLGUpfSksMCl9cm93SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX3ByaWNlQXhpc0ZvbnRTaXplKzR9bGFiZWxSZWN0QnlJbmRleChlKXtyZXR1cm57bGVmdDowLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3RvcEJ5SW5kZXgoZSkpLHdpZHRoOk1hdGgucm91bmQodGhpcy5fbGFiZWxXaWR0aCs0KSxoZWlnaHQ6TWF0aC5yb3VuZCh0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCl9fXNldFByaWNlcyhlKXtsZXQgdD0hMTtjb25zdCBzPShlLHQpPT57Y29uc3Qgcz12b2lkIDA9PT1lLHI9dm9pZCAwPT09dDtyZXR1cm4oIXMmJiFyfHxzPT09cikmJigwLGkuZW5zdXJlRGVmaW5lZCkoZSkuZm9ybWF0dGVkPT09KDAsaS5lbnN1cmVEZWZpbmVkKSh0KS5mb3JtYXR0ZWR9O2lmKGUubGVuZ3RoIT09dGhpcy5fcHJpY2VzLmxlbmd0aCl0PSEwO2Vsc2UgZm9yKGxldCBpPTA7aTx0aGlzLl9wcmljZXMubGVuZ3RoO2krKylpZighcyh0aGlzLl9wcmljZXNbaV0sZVtpXSkpe3Q9ITA7YnJlYWt9aWYodCl7Y29uc3QgdD10aGlzLl9sYWJlbFdpZHRoKzYscz10aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUsaT1NYXRoLm1heChlLmxlbmd0aCwyMikqKHMrOCk7dGhpcy5fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KCgwLG4uc2l6ZSkoe3dpZHRoOnQsaGVpZ2h0Oml9KSksdGhpcy5fcHJpY2VzPWUsdGhpcy5fY2FjaGUuc2F2ZSgpLCgwLG8uZHJhd1NjYWxlZCkodGhpcy5fY2FjaGUsdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl9waXhlbFJhdGlvUGFyYW1zLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9Pnt0aGlzLl9jYWNoZS50cmFuc2xhdGUoLjUsLjUpLHRoaXMuX2NhY2hlLmZvbnQ9dGhpcy5fcmVuZGVyUGFyYW1zLmZvbnRTaXplKyJweCAiK3RoaXMuX3JlbmRlclBhcmFtcy5mb250LHRoaXMuX2NhY2hlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtmb3IobGV0IGU9MDtlPHRoaXMuX3ByaWNlcy5sZW5ndGg7ZSsrKXtpZighdGhpcy5fcHJpY2VzW2VdKWNvbnRpbnVlO2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXVtlXTt0aGlzLl9jYWNoZS5maWxsU3R5bGU9dGhpcy5fcmVuZGVyUGFyYW1zLmJhY2tDb2xvcnNbZV0sdGhpcy5fY2FjaGUuZmlsbFRleHQodCwwLHRoaXMuX2NlbnRlckJ5SW5kZXgoZSkpLAp0aGlzLl9jYWNoZS5maWxsVGV4dCgiLyIsMCx0aGlzLl9jZW50ZXJCeUluZGV4KGUrMTEpKX19KSksdGhpcy5fY2FjaGUucmVzdG9yZSgpLHRoaXMuX3ByaWNlcz1lfX1fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KGUpe3RoaXMuX2NhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLl9jYW52YXMud2lkdGg9ZS53aWR0aCp0aGlzLl9waXhlbFJhdGlvUGFyYW1zLmhvcml6b250YWxQaXhlbFJhdGlvLHRoaXMuX2NhbnZhcy5oZWlnaHQ9ZS5oZWlnaHQqdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy52ZXJ0aWNhbFBpeGVsUmF0aW8sdGhpcy5fY2FjaGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSl9X2NlbnRlckJ5SW5kZXgoZSl7cmV0dXJuIE1hdGgucm91bmQoKGUrLjUpKih0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCkpfV90b3BCeUluZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKGUqKHRoaXMuX3JlbmRlclBhcmFtcy5mb250U2l6ZSs4KSl9fXZhciBsPXMoOTI2MTQ5KSx1PXMoNzE2NzgpLGM9cyg4NzM1NzMpO2NvbnN0IGg9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXTtjbGFzcyBkIGV4dGVuZHMgdS5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9kYXRhPXQ7Y29uc3Qgcz10Lm5hbWU7dGhpcy5fY29tcGxldGVOYW1lPSJQIj09PXMudG9VcHBlckNhc2UoKT8iUCI6YFMke3NbMV19L1Ike3NbMV19YH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxzKXtlLnZpc2libGU9ITEsdC52aXNpYmxlPSExO2NvbnN0IGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fY29tcGxldGVOYW1lLG49aS5sZXZlbHNTdHlsZS5jaGlsZHMoKS52aXNpYmlsaXR5LmNoaWxkcygpO2lmKCFuW3JdfHwhbltyXS52YWx1ZSgpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLGE9by50aW1lU2NhbGUoKSxsPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYoYS5pc0VtcHR5KCl8fG51bGw9PT1hLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKXx8bnVsbCE9PWwmJmwuaXNFbXB0eSgpKXJldHVybjtjb25zdCB1PXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCk7aWYoIXV8fCF1LnBpdm90cylyZXR1cm47Y29uc3QgZD10aGlzLl9zb3VyY2UucHJpY2VzVmlldygpLnByaWNlcygpW2guaW5kZXhPZih0aGlzLl9kYXRhLm5hbWUudG9VcHBlckNhc2UoKSldO2lmKCFkKXJldHVybjtjb25zdCBfPSgwLGMucmVzZXRUcmFuc3BhcmVuY3kpKGQuY29sb3IpO3MuYmFja2dyb3VuZD1fLHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmNvb3JkaW5hdGU9ZC5jb29yZGluYXRlO2NvbnN0IHA9dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cC5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKSYmKGUudGV4dD1kLmZvcm1hdHRlZCxlLnZpc2libGU9ITApLHAuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpJiYodC50ZXh0PXRoaXMuX3NvdXJjZS5wcmljZUxhYmVsVGV4dCh0aGlzLl9kYXRhLm5hbWUpLHQudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj1vLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcy5fc291cmNlKT9fOnZvaWQgMH19dmFyIF89cygzNzY2NDUpLHA9cyg1MzY3MTApLHk9cyg5MzI2OTMpLG09cyg5MzYzMjYpO2NvbnN0IHY9WyJwIiwiczEiLCJyMSIsInMyIiwicjIiLCJzMyIsInIzIiwiczQiLCJyNCIsInM1IiwicjUiXSxmPXtQOiJQIixTMToiUzEvUjEiLFMyOiJTMi9SMiIsUzM6IlMzL1IzIixTNDoiUzQvUjQiLFM1OiJTNS9SNSIsUjE6IlMxL1IxIixSMjoiUzIvUjIiLFIzOiJTMy9SMyIsUjQ6IlM0L1I0IixSNToiUzUvUjUifTtjbGFzcyBTe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Zpc2libGVQaXZvdHM9bmV3IFNldCx0aGlzLl9pbnZpZGF0ZWQ9ITAsdGhpcy5fcHJpY2VzPVtdLHRoaXMuX3NvdXJjZT1lfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZVBpdm90c311cGRhdGUoKXt0aGlzLl9pbnZpZGF0ZWQ9ITB9cHJpY2VzKCl7cmV0dXJuIHRoaXMuX2ludmlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZpZGF0ZWQ9ITEpLHRoaXMuX3ByaWNlc31fdXBkYXRlSW1wbCgpe3RoaXMuX3Zpc2libGVQaXZvdHMuY2xlYXIoKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5tb2RlbCgpLHQ9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKTtpZihudWxsPT09dClyZXR1cm47aWYoZS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBzPWUudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1zKXJldHVybjtpZighdGhpcy5fc291cmNlLmN1c3RvbURhdGEoKXx8IXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCkucGl2b3RzKXJldHVybjtjb25zdCBpPWUubWFpblNlcmllcygpLmJhcnMoKS5zZWFyY2gocy5sYXN0QmFyKCksbS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fc291cmNlLmluZGV4ZXMoKTtpZighcilyZXR1cm47Y29uc3Qgbj1pLmluZGV4LG89dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKS5waXZvdHMsYT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7aWYoIW9bZV0pY29udGludWU7Y29uc3Qgcz1yW29bZV0uc3RhcnRJbmRleF0saT1yW29bZV0uZW5kSW5kZXhdLHU9YS5pbnB1dHMuY2hpbGRzKCkuc2hvd0hpc3RvcmljYWxQaXZvdHMudmFsdWUoKTtpZihzPD1uJiYoaT49bnx8dSkpe3RoaXMuX3Zpc2libGVQaXZvdHMuYWRkKG9bZV0pLHRoaXMuX3ByaWNlcz1bXTtmb3IobGV0IHM9MDtzPHYubGVuZ3RoO3MrKyl7CmNvbnN0IGk9dltzXSxyPW9bZV1baV07aWYodm9pZCAwPT09cnx8bnVsbD09PWwpY29udGludWU7Y29uc3Qgbj10LnByaWNlVG9Db29yZGluYXRlKHIsbCksdT1pLnRvVXBwZXJDYXNlKCksYz1mW3VdLGg9YS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKClbY10udmFsdWUoKTt0aGlzLl9wcmljZXMucHVzaCh7Zm9ybWF0dGVkOnQuZm9ybWF0UHJpY2UocixsKSxwcmljZTpyLGNvb3JkaW5hdGU6bixjb2xvcjpofSl9fX19fXZhciBnPXMoNzM2NTMxKSxiPXMoMjYwNjkpLHc9cyg3ODkxOTApLEM9cyg2NTA0ODApLFA9cyg3NjMpLHg9cyg5MzQzMDUpO2NsYXNzIEQgZXh0ZW5kcyB4LkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUsdCxzKXtzdXBlcigpLHRoaXMuX2RyYXdSZWN0cz1bXSx0aGlzLl9jYWNoZVByb3ZpZGVyPWUsdGhpcy5fcG9pbnQ9dCx0aGlzLl9sYWJlbD1zfWhpdFRlc3QoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZHJhd1JlY3RzKWlmKGUueD49dC5sZWZ0JiZlLng8PXQubGVmdCt0LndpZHRoJiZlLnk+PXQudG9wJiZlLnk8PXQudG9wK3QuaGVpZ2h0KXJldHVybiBuZXcgUC5IaXRUZXN0UmVzdWx0KFAuSGl0VGFyZ2V0LlJlZ3VsYXIpO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2NhY2hlUHJvdmlkZXIoZSkse2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmksY29udGV4dDpyfT1lO3RoaXMuX2RyYXdSZWN0cz1bXTtjb25zdCBuPWU9Pntjb25zdCBuPXQubGFiZWxSZWN0QnlJbmRleChlKSxvPXtsZWZ0Ok1hdGgucm91bmQodGhpcy5fcG9pbnQueC1uLndpZHRoK2EpLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3BvaW50Lnktbi5oZWlnaHQvMiksd2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHR9O3JldHVybiByLmRyYXdJbWFnZSh0LmNhbnZhcygpLE1hdGgucm91bmQobi5sZWZ0KnMpLE1hdGgucm91bmQobi50b3AqaSksbi53aWR0aCpzLG4uaGVpZ2h0KmksTWF0aC5yb3VuZChvLmxlZnQqcyksTWF0aC5yb3VuZChvLnRvcCppKSxvLndpZHRoKnMsby5oZWlnaHQqaSksdGhpcy5fZHJhd1JlY3RzLnB1c2gobyksbi53aWR0aH0sbz10aGlzLl9sYWJlbC5zcGxpdCgiLyIpO2xldCBhPTA7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXS5pbmRleE9mKG9bZV0pO2U+MCYmKGErPW4odCsxMSkvMiksYSs9bih0KS8yfX19ZnVuY3Rpb24gSShlKXtyZXR1cm4iUCI9PT1lP2U6IlMiK2VbMV0rIi9SIitlWzFdfWZ1bmN0aW9uIFQoZSx0LHMpe2NvbnN0IGk9dDt2b2lkIDA9PT1lW2ldP2VbaV09e3RleHQ6cyxpZHM6W0kocyldfTooZVtpXS50ZXh0Kz0iLyIrcyxlW2ldLmlkcy5wdXNoKEkocykpKX1jbGFzcyBWe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcGl2b3RzPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3JlbmRlcmVyPW5ldyB3LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQsdGhpcy5fY2FjaGVQcm92aWRlcj10aGlzLl9zb3VyY2UuZ2V0Q2FjaGUuYmluZCh0aGlzLl9zb3VyY2UpfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9X3VwZGF0ZUltcGwoKXt0aGlzLl9yZW5kZXJlci5jbGVhcigpO2NvbnN0IGU9dGhpcy5fc291cmNlLm93bmVyU291cmNlKCk7aWYobnVsbD09PWUpcmV0dXJuO3RoaXMuX3NvdXJjZS5wcmljZXNWaWV3KCkucHJpY2VzKCksdGhpcy5fcGl2b3RzPVtdO2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKTtpZighdHx8IXQucGl2b3RzKXJldHVybjtjb25zdCBzPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYoIXMudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCByPXQucGl2b3RzLG49dGhpcy5fc291cmNlLmluZGV4ZXMoKSxvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLGE9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxsPWUuZmlyc3RWYWx1ZSgpO2lmKCFhfHxhLmlzRW1wdHkoKXx8by5pc0VtcHR5KCl8fCFyfHwhbnx8bnVsbD09PWwpcmV0dXJuO2NvbnN0IHU9KDAsaS5lbnN1cmVOb3ROdWxsKShvLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksYz11LmZpcnN0QmFyKCksaD11Lmxhc3RCYXIoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7aWYoIXJbZV0pY29udGludWU7Y29uc3QgdD1uW3JbZV0uc3RhcnRJbmRleF0saT1uW3JbZV0uZW5kSW5kZXhdO2lmKGk8Y3x8dD5oKWNvbnRpbnVlO2NvbnN0IHU9e30sZD1zLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7ZC5QLnZhbHVlKCkmJlQodSxyW2VdLnAsIlAiKSxkWyJTMS9SMSJdLnZhbHVlKCkmJihUKHUscltlXS5zMSwiUzEiKSxUKHUscltlXS5yMSwiUjEiKSksZFsiUzIvUjIiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczIsIlMyIiksVCh1LHJbZV0ucjIsIlIyIikpLGRbIlMzL1IzIl0udmFsdWUoKSYmKFQodSxyW2VdLnMzLCJTMyIpLFQodSxyW2VdLnIzLCJSMyIpKSxkWyJTNC9SNCJdLnZhbHVlKCkmJihUKHUscltlXS5zNCwiUzQiKSxUKHUscltlXS5yNCwiUjQiKSksZFsiUzUvUjUiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczUsIlM1IiksVCh1LHJbZV0ucjUsIlI1IikpO2NvbnN0IF89by5pbmRleFRvQ29vcmRpbmF0ZSh0KSxwPW8uaW5kZXhUb0Nvb3JkaW5hdGUoaSk7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXModSkpe2NvbnN0IHM9cGFyc2VGbG9hdCh0KSxpPWEucHJpY2VUb0Nvb3JkaW5hdGUocyxsKTt0aGlzLl9waXZvdHMucHVzaCh7eDE6Xyx4MjpwLHk6aSxsYWJlbDp1W3RdLnRleHQsbGFiZWxJZHM6dVt0XS5pZHMsc3JjOnJbZV19KX19CmNvbnN0IGQ9cy5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMsXz1zLmxldmVsc1N0eWxlLmNoaWxkcygpLndpZHRocyxwPXRoaXMuX3NvdXJjZS52aXNpYmxlUGl2b3RzKCk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9waXZvdHMubGVuZ3RoO2UrKyl7Y29uc3QgdD10aGlzLl9waXZvdHNbZV07aWYoIXAuaGFzKHQuc3JjKSljb250aW51ZTtjb25zdCBpPXtjb2xvcjpkLmNoaWxkcygpW3QubGFiZWxJZHNbMF1dLnZhbHVlKCksbGluZXdpZHRoOl8uY2hpbGRzKClbdC5sYWJlbElkc1swXV0udmFsdWUoKSxsaW5lc3R5bGU6Yi5MSU5FU1RZTEVfU09MSUQseTp0LnksbGVmdDp0LngxLHJpZ2h0OnQueDJ9LHI9bmV3IEMuSG9yaXpvbnRhbExpbmVSZW5kZXJlcjtyLnNldERhdGEoaSksci5zZXRIaXRUZXN0KG5ldyBQLkhpdFRlc3RSZXN1bHQoUC5IaXRUYXJnZXQuUmVndWxhcikpLHRoaXMuX3JlbmRlcmVyLmFwcGVuZChyKSxzLmxldmVsc1N0eWxlLmNoaWxkcygpLnNob3dMYWJlbHMudmFsdWUoKSYmdGhpcy5fcmVuZGVyZXIuYXBwZW5kKG5ldyBEKHRoaXMuX2NhY2hlUHJvdmlkZXIsbmV3IGcuUG9pbnQodC54MSx0LnkpLHQubGFiZWwpKX19fXZhciBSPXMoNjM1NTA5KTtjbGFzcyBBIGV4dGVuZHMgci5Ob25TZXJpZXNTdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbil7c3VwZXIoZSx0LHMsaSxyLG4pLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1udWxsO2NvbnN0IG89WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLGE9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKylhLmNoaWxkcygpW29bZV1dLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX1wcmljZXNWaWV3KCl7cmV0dXJuIHRoaXMuX3ByaWNlc1ZpZXd9aW5kZXhlcygpe3JldHVybiB0aGlzLl9pbmRleGVzfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31nZXRDYWNoZShlKXtpZihudWxsPT09dGhpcy5fY2FjaGV8fG51bGw9PXRoaXMuX2NhY2hlZFBpeGVsUmF0aW9QYXJhbXN8fCh0PWUscz10aGlzLl9jYWNoZWRQaXhlbFJhdGlvUGFyYW1zLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8hPT1zLmhvcml6b250YWxQaXhlbFJhdGlvfHx0LnZlcnRpY2FsUGl4ZWxSYXRpbyE9PXMudmVydGljYWxQaXhlbFJhdGlvKSl7dGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX2dldEFjdHVhbENhY2hlUGFyYW1zKCkscz17aG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZS52ZXJ0aWNhbFBpeGVsUmF0aW99O3RoaXMuX2NhY2hlPW5ldyBhKHMsdC5mb250LHQuZm9udFNpemUsdC5iYWNrQ29sb3JzKSx0aGlzLl9jYWNoZS5zZXRQcmljZXMoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZXNWaWV3KS5wcmljZXMoKSksdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1zLHRoaXMuX2NhY2hlLnJlc2V0KHQpfXZhciB0LHM7cmV0dXJuIHRoaXMuX2NhY2hlfXByaWNlTGFiZWxUZXh0KGUpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnNob3J0RGVzY3JpcHRpb24rIjoiK2UudG9VcHBlckNhc2UoKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9wcmljZXNWaWV3LnVwZGF0ZSgpfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fcHJpY2VzVmlldy52aXNpYmxlUGl2b3RzKCl9aXNWaXNpYmxlKCl7aWYoIXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IGU9WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylpZih0LmNoaWxkcygpW2Vbc11dLnZhbHVlKCkpcmV0dXJuITA7cmV0dXJuITF9c3RvcCgpe3N1cGVyLnN0b3AoKSx0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKX1wcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5jdXN0b21EYXRhKCk/LnBpdm90cztpZighdHx8IXRoaXMuX2luZGV4ZXMpcmV0dXJuIG51bGw7aWYoIXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHM9dCxpPXRoaXMuX2luZGV4ZXMse3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWU7bGV0IG89bnVsbDtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7aWYoIXNbZV0pY29udGludWU7Y29uc3QgdD1pW3NbZV0uc3RhcnRJbmRleF07aWYoaVtzW2VdLmVuZEluZGV4XTxyfHx0Pm4pY29udGludWU7Y29uc3QgYT1bXSxsPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7bC5QLnZhbHVlKCkmJmEucHVzaChzW2VdLnApLGxbIlMxL1IxIl0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczEsc1tlXS5yMSksbFsiUzIvUjIiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zMixzW2VdLnIyKSxsWyJTMy9SMyJdLnZhbHVlKCkmJmEucHVzaChzW2VdLnMzLHNbZV0ucjMpLGxbIlM0L1I0Il0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczQsc1tlXS5yNCksbFsiUzUvUjUiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zNSxzW2VdLnI1KTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylhW2VdJiYobnVsbD09PW8/bz1uZXcgUi5QcmljZVJhbmdlKGFbZV0sYVtlXSk6by5hcHBseShhW2VdLGFbZV0pKX1jb25zdCBhPXRoaXMucHJpY2VTY2FsZSgpCjtyZXR1cm4gYSYmYS5pc0xvZygpJiZvP25ldyBSLlByaWNlUmFuZ2UoYS5wcmljZVRvTG9naWNhbChvLm1pblZhbHVlKCkpLGEucHJpY2VUb0xvZ2ljYWwoby5tYXhWYWx1ZSgpKSk6b31fY3JlYXRlVmlld3MoKXt0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bXTtjb25zdCBlPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1Il07dGhpcy5fcGFuZVZpZXdzLmxlbmd0aD0wLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IHQ9bmV3IFYodGhpcy5fbW9kZWwsdGhpcyk7dGhpcy5fcGFuZVZpZXdzLnB1c2godCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9bmV3IGQodGhpcyx7bmFtZTplW3RdfSk7dGhpcy5fcHJpY2VBeGlzVmlld3MucHVzaChzKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfLlBhbmVQcmljZUF4aXNWaWV3KHMsdGhpcyx0aGlzLl9tb2RlbCkpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IHAuU3R1ZHlEYXRhV2luZG93Vmlldyh0aGlzLHRoaXMuX21vZGVsKSksdGhpcy5fc3RhdHVzVmlld3x8KHRoaXMuX3N0YXR1c1ZpZXc9bmV3IHkuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9sZWdlbmRWaWV3PW51bGwsdGhpcy5fcHJpY2VzVmlldz1uZXcgUyh0aGlzKX1fcG9zdFByb2Nlc3NHcmFwaGljcygpe31fZ2V0QWN0dWFsQ2FjaGVQYXJhbXMoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLHQ9ZS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKCk7cmV0dXJue2ZvbnQ6bC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGZvbnRTaXplOmUuZm9udHNpemUudmFsdWUoKSxiYWNrQ29sb3JzOlt0LlAudmFsdWUoKSx0WyJTMS9SMSJdLnZhbHVlKCksdFsiUzEvUjEiXS52YWx1ZSgpLHRbIlMyL1IyIl0udmFsdWUoKSx0WyJTMi9SMiJdLnZhbHVlKCksdFsiUzMvUjMiXS52YWx1ZSgpLHRbIlMzL1IzIl0udmFsdWUoKSx0WyJTNC9SNCJdLnZhbHVlKCksdFsiUzQvUjQiXS52YWx1ZSgpLHRbIlM1L1I1Il0udmFsdWUoKSx0WyJTNS9SNSJdLnZhbHVlKCldfX19fSwzNjM2MTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfRVNEJFRWX1JPTExEQVRFUzooKT0+a30pO3ZhciBpPXMoNjMxNTIyKSxyPXMoMjAzNjgxKSxuPXMoNzQwMTYyKSxvPXMoNTA1NTYpLGE9cygxODUyNzEpLGw9cyg1NTQ2NTQpLHU9cyg5MjY5OTUpLGM9cyg4ODcwMjkpLGg9cygyNjA2OSksZD1zKDU5MDg5NCksXz1zKDkyNjE0OSkscD1zKDg3MzU3MykseT1zKDUzNzQ4NyksbT1zKDgyMTk5MSk7Y29uc3Qgdj1bYS50KG51bGwsdm9pZCAwLHMoOTQ0Nzg0KSksYS50KG51bGwsdm9pZCAwLHMoMzM2MzApKSxhLnQobnVsbCx2b2lkIDAscyg2MzU2NDMpKSxhLnQobnVsbCx2b2lkIDAscygxNTU4NTIpKSxhLnQobnVsbCx2b2lkIDAscyg4NDk5NzMpKSxhLnQobnVsbCx2b2lkIDAscyg0MDI0ODIpKSxhLnQobnVsbCx2b2lkIDAscyg5MjQ2ODkpKSxhLnQobnVsbCx2b2lkIDAscyg5NTk3NzIpKSxhLnQobnVsbCx2b2lkIDAscyg0MTUyNjEpKSxhLnQobnVsbCx2b2lkIDAscyg4MTQ1MDEpKSxhLnQobnVsbCx2b2lkIDAscyg5NzE1NjEpKSxhLnQobnVsbCx2b2lkIDAscygzMDk2NjYpKV07dmFyIGY9cyg3NjMpLFM9cyg2MzcxMDQpO2NvbnN0IGc9bmV3IFBhdGgyRCgibTE4LjA2IDEyLjAzLjUzLS41My0uNTMtLjUzLTMuNS0zLjUtMS4wNiAxLjA2IDIuMjIgMi4yMmgtNS4zOEw2LjA2IDYuNDcgNSA3LjUzbDQuNSA0LjUuMjIuMjJoNmwtMi4yMiAyLjIyIDEuMDYgMS4wNnptLTEwLjU2LjQ0LTMgMyAxLjA2IDEuMDYgMy0zeiIpO2NsYXNzIGIgZXh0ZW5kcyBTLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxTLmRyYXdMYWJlbCkoZSxnLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUuaWNvbkNvbG9yfSl9fXZhciB3PXMoNzUyNzIpO2NvbnN0IEM9YS50KG51bGwsdm9pZCAwLHMoMjE5MTA0KSksUD1hLnQobnVsbCx2b2lkIDAscyg2MTY0OTQpKSx4PWEudChudWxsLHZvaWQgMCxzKDM4Mzc1MSkpLEQ9YS50KG51bGwsdm9pZCAwLHMoNTA3NzI5KSksST17ZGFyazp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpLGZvcmVncm91bmQ6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksbGlua0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpfSxsaWdodDp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxmb3JlZ3JvdW5kOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtYTQwMCIpLGxpbmtDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKX19O3ZhciBUOyFmdW5jdGlvbihlKXtlW2UuSG92ZXJlZENvbG9yQWxwaGE9LjE1XT0iSG92ZXJlZENvbG9yQWxwaGEiLGVbZS5PbmVJdGVtT2Zmc2V0PTNdPSJPbmVJdGVtT2Zmc2V0IixlW2UuTWF4SXRlbXNUb0V4dHJhY3Q9NF09Ik1heEl0ZW1zVG9FeHRyYWN0In0oVHx8KFQ9e30pKTtjb25zdCBWPXtiYXJMaW5lOntsaW5lU3R5bGU6aC5MSU5FU1RZTEVfREFTSEVELGxpbmVXaWR0aDoxLHN0cm9rZVN0eWxlOiIifSxsb2xsaXBvcDp7d2lkdGg6MjMsaGVpZ2h0OjIzLGJvdHRvbToxLGxpbmVXaWR0aDoxLjUsc3Ryb2tlU3R5bGU6IiIsYmFja2dyb3VuZENvbG9yOiIiLGZpbGxDaXJjbGU6ITAsZmlsbFN0eWxlOiIiLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOiIiLGZvbnQ6IiJ9fSxpY29uQ29sb3I6IiIsYmFja2dyb3VuZENvbG9yOiIiLG91dGVyQm9yZGVyQ29sb3I6IiJ9LFI9WyJGIiwiRyIsIkgiLCJKIiwiSyIsIk0iLCJOIiwiUSIsIlUiLCJWIiwiWCIsIloiXTtmdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1NYXRoLmZsb29yKHQvMTAwKSxpPXQtMTAwKnMtMQo7cmV0dXJue25hbWU6YCR7ZX0ke1JbaV19JHtzfWAsZXhwaXJhdGlvbkRhdGU6YCR7dltpXX0gJHtzfWB9fWNsYXNzIEwgZXh0ZW5kcyBjLkxvbGxpcG9wU3R1ZHlQYW5lVmlld0Jhc2V7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBzPTA7czw0Oysrcyl7Y29uc3QgaT0zKnMrMTtpZighQm9vbGVhbihlW2ldKSlicmVhazt0LnB1c2goe2N1cnJlbnRDb250cmFjdENvZGU6ZVtpXSxuZXh0Q29udHJhY3RDb2RlOmVbaSsxXSxzd2l0Y2hEYXRlOmVbaSsyXX0pfXJldHVybntpdGVtczp0fX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpe3JldHVybiBuZXcgYihlLG5ldyBmLkhpdFRlc3RSZXN1bHQoZi5IaXRUYXJnZXQuQ3VzdG9tLHQpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSl7cmV0dXJuIGUuaXRlbXMubWFwKChlPT57Y29uc3QgdD1be25hbWU6RCx2YWx1ZTooMCx5LmZvcm1hdFlZWVlNTUREKSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCksZS5zd2l0Y2hEYXRlKX1dLGk9dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/SS5kYXJrOkkubGlnaHQscj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiZ2b2lkIDAhPT1uLnJvb3Qpe2NvbnN0IHM9bi5saXN0ZWRfZXhjaGFuZ2Usbz17Y29sb3I6aS5saW5rQ29sb3IsY3Vyc29yOiJwb2ludGVyIn0sYT1BKG4ucm9vdCxlLmN1cnJlbnRDb250cmFjdENvZGUpO3QucHVzaCh7bmFtZTpQLHZhbHVlOmEubmFtZSx2YWx1ZVN0eWxlOm8sb25WYWx1ZUNsaWNrOigpPT50aGlzLl9tb2RlbC51bmRvTW9kZWwoKS5zZXRTeW1ib2wocixgJHtzfToke2EubmFtZX1gKX0pLHQucHVzaCh7bmFtZToiICIsdmFsdWU6YS5leHBpcmF0aW9uRGF0ZX0pO2NvbnN0IGw9QShuLnJvb3QsZS5uZXh0Q29udHJhY3RDb2RlKTt0LnB1c2goe25hbWU6eCx2YWx1ZTpsLm5hbWUsdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazooKT0+dGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0U3ltYm9sKHIsYCR7c306JHtsLm5hbWV9YCl9KSx0LnB1c2goe25hbWU6IiAiLHZhbHVlOmwuZXhwaXJhdGlvbkRhdGV9KX1yZXR1cm57dGl0bGU6QyxpbmZvcm1hdGlvbkJ1dHRvblByb3BzOnthcmlhTGFiZWw6YS50KG51bGwsdm9pZCAwLHMoODY5ODY3KSksaWNvbjoicXVlc3Rpb24iLG9uQ2xpY2s6KCk9PigwLHUuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmwuc29sdXRpb25JZHMuU1dJVENISU5HX0NPTlRJTlVPVVNfRlVUVVJFU19DT05UUkFDVFN9KX0saWNvbjp3LHN0eWxlOntjb2xvcjppLmZvcmVncm91bmR9LG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6dH19fSkpfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzNdLnRvU3RyaW5nKCl9X3Nob3dCYXJMaW5lKGUpe3JldHVybiBzdXBlci5fc2hvd0JhckxpbmUoZSl8fHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzQnJlYWtzLnZhbHVlKCl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9JLmRhcms6SS5saWdodCx0PWUuZm9yZWdyb3VuZCxzPWUuYmFja2dyb3VuZCxpPSgwLG4uZGVmYXVsdCkoKDAsci5kZWZhdWx0KShWKSx7bG9sbGlwb3A6e3RleHQ6e2ZvbnQ6KDAsZC5tYWtlRm9udCkoMTIsXy5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCJib2xkIil9fX0pO2kuaWNvbkNvbG9yPXQsaS5sb2xsaXBvcC5zdHJva2VTdHlsZT10LGkubG9sbGlwb3AuYmFja2dyb3VuZENvbG9yPXMsaS5iYXJMaW5lLnN0cm9rZVN0eWxlPXQsdGhpcy5fZGVmYXVsdFN0eWxlPWk7e2NvbnN0IGU9KDAsci5kZWZhdWx0KShpKTtlLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxtLmJsZW5kQ29sb3JzKShzLCgwLHAuYXBwbHlBbHBoYSkodCwuMTUpKSx0aGlzLl9ob3ZlcmVkU3R5bGU9ZX17Y29uc3QgZT0oMCxyLmRlZmF1bHQpKGkpO2UubG9sbGlwb3AuZmlsbFN0eWxlPXQsZS5pY29uQ29sb3I9cyx0aGlzLl9hY3RpdmVTdHlsZT1lfXRoaXMuX3N0eWxlc0NhY2hlPW51bGx9fXZhciBFPXMoOTAwNzk3KSxNPXMoNjAxODQxKTtjbGFzcyBrIGV4dGVuZHMgaS5Mb2xsaXBvcFN0dWR5QmFzZXtpZCgpe3JldHVybiJFU0QkVFZfUk9MTERBVEVTIn16b3JkZXIoKXtyZXR1cm4gRS5zb3J0U291cmNlc1ByZU9yZGVyZWQuUm9sbERhdGVzfWlzVmFsaWQoZSl7Y29uc3QgdD1lWzRdO3JldHVybigwLE0uaXNOdW1iZXIpKHQpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyBMKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc319fSw1NDc1NzIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UmVwbGF5U3R1ZHlTdHJhdGVneTooKT0+b30pO3ZhciBpPXMoODc0MzY5KSxyPXMoODY3ODMxKSxuPXMoNzY4NzYwKTtjbGFzcyBvIGV4dGVuZHMgaS5TdHVkeVN0cmF0ZWd5e2NvbnN0cnVjdG9yKGUsdCxzLGkscixuLG8pe3QubWVyZ2Uoe3N0cmF0ZWd5OntvcmRlcnM6e3Nob3dMYWJlbHM6ITAsc2hvd1F0eTohMCx2aXNpYmxlOiEwfX19KSxzdXBlcihlLHQscyxpLHIsbixvLCEwKSx0aGlzLl9ub3RpZnlTdHVkeVR1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3M9bmV3IE1hcCx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9bnVsbCx0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlPSgpPT57Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7aWYoInJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSl7Y29uc3QgdD10aGlzLl9yZWNvdmVyeVN0YXRlKCk7ZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KHQpKX19Cjtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Fzc2lnblJlY292ZXJ5U3RhdGUpLGUucmVwbGF5U3R1ZHlTdHJhdGVneVByb3BlcnRpZXMoKS50aGVuKChlPT57dGhpcy5faXNEZXN0cm95ZWR8fCh0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9ZSx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLm1lcmdlQW5kRmlyZShlLnN0YXRlKCkpfSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5tZXJnZUFuZEZpcmUoZS5zdGF0ZSgpKSl9KSksYS5zdWJzY3JpYmUodGhpcywoKGUsdCk9PnsicmVjb3ZlcnlTdGF0ZSIhPT10JiZ0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlKCl9KSl9ZGVzdHJveSgpe3RoaXMuX25vdGlmaWNhdGlvbnNJblByb2dyZXNzLmZvckVhY2goKGU9PntlLnJlamVjdCgiVGhlIHN0dWR5IGhhcyBiZWVuIGRlc3Ryb3llZCIpfSkpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3JlcGxheVN0dWR5UHJvcGVydGllcz8udW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfWlzSGliZXJuYXRpb25BbGxvd2VkKCl7cmV0dXJuITF9Y2xlYXJSZWNvdmVyeVN0YXRlQW5kUmVwb3J0KCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7InJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSYmZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKCJ7fSIpLHRoaXMuX3JlcG9ydERhdGE9bnVsbH1yZWNvdmVyeVN0YXRlKCl7Y29uc3QgZT1KU09OLnN0cmluZ2lmeSh0aGlzLl9yZWNvdmVyeVN0YXRlKCkpO3JldHVybiJ7fSI9PT1lP251bGw6ZX1yZXN0b3JlUmVjb3ZlcnlTdGF0ZShlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0czsicmVjb3ZlcnlTdGF0ZSJpbiB0LmNoaWxkcygpJiZ0LmNoaWxkcygpLnJlY292ZXJ5U3RhdGUuc2V0VmFsdWUoZSl9Y2xlYXJEYXRhKCl7dGhpcy5fYXNzaWduUmVjb3ZlcnlTdGF0ZSgpLHN1cGVyLmNsZWFyRGF0YSgpfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1zdGF0dXNWaWV3KCl7cmV0dXJuIG51bGx9YXN5bmMgbm90aWZ5U3R1ZHkoZSl7YXdhaXQgdGhpcy5fd2FpdEZvckNvbXBsZXRlKCk7Y29uc3QgdD0ibm90aWZ5XyIrICsrdGhpcy5fbm90aWZ5U3R1ZHlUdXJuYXJvdW5kQ291bnRlcixzPSgwLG4uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5zZXQodCxzKSx0aGlzLl9zZW5kTm90aWZ5Q29tbWFuZCh0LGUpLHMucHJvbWlzZX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc1JlbW92ZWRCeVN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuITF9aXNTYXZlZEluQ2hhcnQoZSl7cmV0dXJuITF9aXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1fb25EYXRhKGUpe2lmKCJub3RpZnlfc3R1ZHlfb2siPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV07dGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZ2V0KHQpPy5yZXNvbHZlKCksdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZGVsZXRlKHQpfWlmKCJub3RpZnlfc3R1ZHlfZXJyb3IiPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV0scz1lLnBhcmFtc1syXTt0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5nZXQodCk/LnJlamVjdChzKSx0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5kZWxldGUodCl9c3VwZXIuX29uRGF0YShlKX1hc3luYyBfd2FpdEZvckNvbXBsZXRlKCl7aWYodGhpcy5zdGF0dXMoKS50eXBlIT09ci5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkKXJldHVybiBuZXcgUHJvbWlzZSgoKGUsdCk9Pntjb25zdCBzPWk9PntpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/KHRoaXMub25TdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUobnVsbCxzKSxlKCkpOmkudHlwZT09PXIuU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiYodGhpcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHMpLHQoaS5lcnJvckRlc2NyaXB0aW9uKSl9O3RoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwscyl9KSl9X3JlY292ZXJ5U3RhdGUoKXtjb25zdCBlPXRoaXMucmVwb3J0RGF0YSgpO2lmKCFlKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnZhbHVlKCk7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybnt9fX1jb25zdHthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfT1lO3JldHVybnthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfX19fSwyMjI5MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldDooKT0+bH0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoODU3MTUxKSxvPXMoMTk3MjcyKSxhPXMoNTA0NDMxKTtjbGFzcyBsIGV4dGVuZHMgby5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyl7c3VwZXIoZSx0LHMsaSxyLG8pLHRoaXMuX3VuZGVybHlpbmdEYXRhPW5ldyBuLlBsb3RMaXN0KCgwLGEuc3R1ZHlQbG90RnVuY3Rpb25NYXApKGkpLGEuc3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZSl9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fdW5kZXJseWluZ0RhdGEuY2xlYXIoKX1fbWVyZ2VEYXRhKGUpe3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKTtjb25zdCB0PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKTt0aGlzLl91bmRlcmx5aW5nRGF0YS5tZXJnZShlKSwKdCE9PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSYmKHRoaXMuX2RhdGE9bmV3IG4uUGxvdExpc3QoKDAsYS5zdHVkeVBsb3RGdW5jdGlvbk1hcCkodGhpcy5fbWV0YUluZm8udmFsdWUoKSksYS5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSk7bGV0IHM9bnVsbDtjb25zdCBpPXRoaXMuX2RhdGEubGFzdEluZGV4KCk/P3RoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSxvPXRoaXMuX3VuZGVybHlpbmdEYXRhLmxhc3RJbmRleCgpO2lmKG51bGwhPT1pJiZudWxsIT09bylmb3IoY29uc3QgZSBvZiB0aGlzLl91bmRlcmx5aW5nRGF0YS5yYW5nZUl0ZXJhdG9yKGksbykpbnVsbD09PXMmJihzPWUpLHRoaXMuX2RhdGEuYWRkKGUuaW5kZXgsKDAsci5jbG9uZSkoZS52YWx1ZSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Bsb3RzRm9yU3RyYXRlZ3lQcm9jZXNzaW5nKCkpe25ldyB1KGUuc3RyYXRlZ3lJbmRleCxlLnRhcmdldEluZGV4LGkpLnJlYnVpbGREYXRhKHRoaXMuX2RhdGEpfXJldHVybiBzfV9wbG90c0ZvclN0cmF0ZWd5UHJvY2Vzc2luZygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKSx0PVtdO3JldHVybiBlLnBsb3RzLmZvckVhY2goKChzLHIpPT57aWYoImRhdGFvZmZzZXQiIT09cy50eXBlKXJldHVybjtjb25zdCBuPWUucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cy50YXJnZXQpKTsoMCxpLmFzc2VydCkobj49MCxgdGFyZ2V0IHBsb3Qgbm90IGZvdW5kIGZvciBzdHJhdGVneSBwbG90ICR7cy5pZH1gKSx0LnB1c2goe3N0cmF0ZWd5SW5kZXg6cix0YXJnZXRJbmRleDpufSl9KSksdH19Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RyYXRlZ3lQbG90SW5kZXg9ZSx0aGlzLl90YXJnZXRQbG90SW5kZXg9dCx0aGlzLl9zdGFydEluZGV4PXN9cmVidWlsZERhdGEoZSl7Y29uc3QgdD10aGlzLl90YXJnZXRQbG90SW5kZXgrMSxzPXRoaXMuX3N0cmF0ZWd5UGxvdEluZGV4KzE7bGV0IGk9bnVsbCxyPW51bGw7Y29uc3Qgbj10aGlzLl9zdGFydEluZGV4Pz9lLmZpcnN0SW5kZXgoKSxvPWUubGFzdEluZGV4KCk7aWYobnVsbCE9PW4mJm51bGwhPT1vKWZvcihjb25zdHtpbmRleDphLHZhbHVlOmx9b2YgZS5yYW5nZUl0ZXJhdG9yKG4sbykpe2NvbnN0IG49bFt0XSxvPWxbc10/TWF0aC5yb3VuZChsW3NdKTpudWxsO2lmKGxbdF09bnVsbCxsW3NdPW51bGwsIW98fG8+MCljb250aW51ZTtjb25zdCB1PWErbyxjPXtwb2ludEluZGV4OnUsdmFsdWU6bn07aWYocil7aWYoci5wb2ludEluZGV4IT09Yy5wb2ludEluZGV4KXtpZih1Pj0wKXtjb25zdCBzPWUudmFsdWVBdCh1KTtzJiYoc1t0XT1uKX1sZXQgcz0hMTtpZihpJiZyJiYocz1pLnZhbHVlPD1yLnZhbHVlJiZyLnZhbHVlPD1ufHxpLnZhbHVlPj1yLnZhbHVlJiZyLnZhbHVlPj1uKSxzKXtpZihyLnBvaW50SW5kZXg+PTApe2NvbnN0IHM9ZS52YWx1ZUF0KHIucG9pbnRJbmRleCk7cyYmKHNbdF09bnVsbCl9fWVsc2UgaT1yO3I9Y319ZWxzZSByPWN9fX19LDcxNDEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtUcG9QZXJpb2RpY1N0dWR5OigpPT51LGNyZWF0ZVRwb1BlcmlvZGljU3R1ZHk6KCk9PmN9KTt2YXIgaT1zKDEyODk5OCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDg3MjM0MyksYT1zKDY4NDI2NSksbD1zKDc3NzY2MSk7Y2xhc3MgdSBleHRlbmRzIGEuVHBvU3R1ZHlCYXNle19zcGxpdHNBbmRNZXJnZXNBY3Rpb25zS2V5KGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHM9dC5wcm9TeW1ib2woKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKSxuPVtzLHRoaXMuX2NoYXJ0U3R5bGVNb2RlfHwoMCxpLmlzVGltZUJhc2VkU3R5bGUpKHQuc3R5bGUoKSk/ImNvbW1vbiI6dC5zdHlsZSgpLHIuYmxvY2tTaXplLnZhbHVlKCksci5wZXJpb2RzTnVtLnZhbHVlKCksci5wZXJpb2QudmFsdWUoKV07cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwZXJpb2RzTnVtIiwicGVyaW9kIl19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvUHJlcmlvZGljSWR9KSxpPSgwLHIucHJlcGFyZVN0dWR5UHJvcGVydGllcykocyx7fSxudWxsLCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCksW10pO3JldHVybigwLG8uYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9UUE9QZXJpb2RpYyIse3N0dWR5Q29uc3RydWN0b3I6dSxjb2xvclJvdGF0aW9uTW9kZToic2hpZnQifSksbmV3IHUoZSxpLFtdLHMscywhMSwhMCx0KX19LDMzNDc0MihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7VHBvU2Vzc2lvbnNTdHVkeTooKT0+dSxjcmVhdGVUcG9TZXNzaW9uc1N0dWR5OigpPT5jfSk7dmFyIGk9cygxMjg5OTgpLHI9cyg2ODQyNjUpLG49cyg2MDUyNTcpLG89cyg4NzIzNDMpLGE9cyg0Mzc3NDkpLGw9cyg3Nzc2NjEpO2NsYXNzIHUgZXh0ZW5kcyByLlRwb1N0dWR5QmFzZXtfc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCkscj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCksbj1bcyx0aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsaS5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyLmJsb2NrU2l6ZS52YWx1ZSgpLHIucHJvZmlsZXNTZXNzaW9ucy52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvblRaLnZhbHVlKCksci5jdXN0b21TZXNzaW9uMi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbjMudmFsdWUoKSxyLmN1c3RvbVNlc3Npb240LnZhbHVlKCksci5jdXN0b21TZXNzaW9uNS52YWx1ZSgpXQo7cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwcm9maWxlc1Nlc3Npb25zIiwiY3VzdG9tU2Vzc2lvbiIsImN1c3RvbVNlc3Npb25UWiIsImN1c3RvbVNlc3Npb24yIiwiY3VzdG9tU2Vzc2lvbjMiLCJjdXN0b21TZXNzaW9uNCIsImN1c3RvbVNlc3Npb241Il19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvU2Vzc2lvbnNJZH0pLGk9KDAsYS5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKShzLHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSk7cmV0dXJuKDAsby5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1RQT1Nlc3Npb25zIix7c3R1ZHlDb25zdHJ1Y3Rvcjp1LGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgdShlLGksW10scyxzLCExLCEwLHQpfX0sODMzMTc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25Wb2x1bWUyU3R1ZHk6KCk9PlJ9KTt2YXIgaT1zKDEzODYzOCk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9zdGFydD0wLHRoaXMuX3NpemU9MCx0aGlzLl9idWZmZXI9bmV3IEFycmF5KGUpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1jYXBhY2l0eSgpe3JldHVybiB0aGlzLl9idWZmZXIubGVuZ3RofWVucXVldWUoZSl7dGhpcy5fc2l6ZTx0aGlzLl9idWZmZXIubGVuZ3RoP3RoaXMuX3NpemUrKzp0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aDtjb25zdCB0PSh0aGlzLl9zdGFydCt0aGlzLl9zaXplLTEpJXRoaXMuX2J1ZmZlci5sZW5ndGg7dGhpcy5fYnVmZmVyW3RdPWV9ZGVxdWV1ZSgpe2lmKDA9PT10aGlzLl9zaXplKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdO3JldHVybiB0aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdPXZvaWQgMCx0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aCx0aGlzLl9zaXplLS0sZX1nZXQoZSl7aWYoZT49dGhpcy5fc2l6ZSl0aHJvdyBuZXcgRXJyb3IoIkluZGV4IGlzIG91dCBvZiByYW5nZSIpO2NvbnN0IHQ9KHRoaXMuX3N0YXJ0K2UpJXRoaXMuX2J1ZmZlci5sZW5ndGg7cmV0dXJuIHRoaXMuX2J1ZmZlclt0XX1mb3JFYWNoKGUsdCl7Zm9yKGxldCBzPTA7czx0aGlzLl9zaXplO3MrKyl7Y29uc3QgaT0odGhpcy5fc3RhcnQrcykldGhpcy5fYnVmZmVyLmxlbmd0aDtlLmNhbGwodCx0aGlzLl9idWZmZXJbaV0saSx0aGlzKX19Y2xlYXIoKXtjb25zdCBlPXRoaXMuX2J1ZmZlci5sZW5ndGg7Zm9yKGxldCB0PTA7dDxlO3QrKyl0aGlzLl9idWZmZXJbdF09dm9pZCAwO3RoaXMuX3N0YXJ0PTAsdGhpcy5fc2l6ZT0wfX12YXIgbj1zKDE4NTI3MSksbz1zKDg1NzE1MSksYT1zKDYzNDg2KSxsPXMoNjI4MDYpLHU9cygyMjcwNTYpLGM9cyg4Njc4MzEpLGg9cyg3OTkzNzUpLGQ9cyg1MDQ0MzEpLF89cygyMTg3NjUpO2NsYXNzIHB7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX21vc3REZXRhaWxlZEhvcml6TGluZXMoKS5mb3JFYWNoKChzPT57ZS5jYWxsKHQscyxzLHRoaXMpfSkpfWhhcyhlKXtsZXQgdD0hMTtyZXR1cm4gdGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmZvckVhY2goKHM9Pnt0PXR8fHM9PT1lfSkpLHR9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fcm91Z2guc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmVudHJpZXMoKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dCgpe2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuITA9PT10LmRvbmU/dDp7dmFsdWU6dC52YWx1ZVsxXX19fX1lbnRyaWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1rZXlzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX12YWx1ZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfV9tb3N0RGV0YWlsZWRIb3JpekxpbmVzKCl7Y29uc3QgZT1uZXcgTWFwO3RoaXMuX3JvdWdoLmZvckVhY2goKHQ9PmUuc2V0KHQuc3RhcnRJbmRleCx0KSkpO2ZvcihsZXQgdD10aGlzLl9kZXRhaWxlZC5sZW5ndGgtMTt0Pj0wO3QtLSl7dGhpcy5fZGV0YWlsZWRbdF0uZm9yRWFjaCgodD0+e2UuaGFzKHQuc3RhcnRJbmRleCkmJmUuc2V0KHQuc3RhcnRJbmRleCx0KX0pKX1yZXR1cm4gZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21lcmdlZEhvcml6TGluZXNTZXQ9ZSx0aGlzLl9yb3VnaEl0ZXJhdG9yPXR9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc31uZXh0KCl7Y29uc3QgZT10aGlzLl9yb3VnaEl0ZXJhdG9yLm5leHQoKTtpZighMD09PWUuZG9uZSlyZXR1cm4gZTtjb25zdCB0PWUudmFsdWVbMF07cmV0dXJue3ZhbHVlOlt0LCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWVyZ2VkSG9yaXpMaW5lc1NldC5nZXQodCkpXX19fWNsYXNzIG17Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaEhvcml6TGluZVNldHM9ZSx0aGlzLl9kZXRhaWxlZEhvcml6TGluZVNldHM9dH1mb3JFYWNoKGUsdCl7dGhpcy5fcm91Z2hIb3JpekxpbmVTZXRzLmZvckVhY2goKChzLHIpPT57ZS5jYWxsKHQsKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLmdldChyKSkscix0aGlzKX0pKX1nZXQoZSl7Y29uc3QgdD10aGlzLl9yb3VnaEhvcml6TGluZVNldHMuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIG5ldyBwKHQsdGhpcy5fZGV0YWlsZWRIb3JpekxpbmVTZXRzLm1hcCgodD0+dC5nZXQoZSkpKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKSl9aGFzKGUpe3JldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuaGFzKGUpfWdldCBzaXplKCl7CnJldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeSh0aGlzLHRoaXMuX3JvdWdoSG9yaXpMaW5lU2V0cy5lbnRyaWVzKCkpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIHZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX3JvdWdoLmZvckVhY2goKChzLGkpPT57Zm9yKGNvbnN0IHMgb2YgdGhpcy5fZGV0YWlsZWQpe2NvbnN0IHI9cy5nZXQoaSk7aWYodm9pZCAwIT09cilyZXR1cm4gdm9pZCBlLmNhbGwodCxyLGksdGhpcyl9ZS5jYWxsKHQscyxpLHRoaXMpfSkpfWdldChlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9kZXRhaWxlZCl7Y29uc3Qgcz10LmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzfXJldHVybiB0aGlzLl9yb3VnaC5nZXQoZSl9aGFzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2RldGFpbGVkKXtpZih0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4gdGhpcy5fcm91Z2guaGFzKGUpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuX3JvdWdoLnNpemV9W1N5bWJvbC5pdGVyYXRvcl0oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIGZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ncmFwaGljcz1lLHRoaXMuX3N0eWxlSWQ9dH1mb3JFYWNoKGUsdCl7dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHM9PntzLmZvckVhY2goKHM9PntpZihzLnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkKXtjb25zdCBpPXtmaXJzdEJhclRpbWU6cy5maXJzdEJhclRpbWUsbGFzdEJhclRpbWU6cy5sYXN0QmFyVGltZSxyYXRlOnMucmF0ZSxwcmljZUhpZ2g6cy5wcmljZUhpZ2gscHJpY2VMb3c6cy5wcmljZUxvd307ZS5jYWxsKHQsaSxpLHRoaXMpfX0pKX0pKX1oYXMoZSl7bGV0IHQ9ITE7cmV0dXJuIHRoaXMuX2dyYXBoaWNzLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKChzPT57cy5mb3JFYWNoKChzPT57cy5zdHlsZUlkPT09dGhpcy5fc3R5bGVJZCYmcz09PWUmJih0PSEwKX0pKX0pKSx0fWdldCBzaXplKCl7bGV0IGU9MDtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pnt0LnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkJiZlKyt9KSl9KSksZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpW1N5bWJvbC5pdGVyYXRvcl0oKTtsZXQgdCxzO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0KCl7Zm9yKDs7KXtpZih2b2lkIDA9PT10JiYocz12b2lkIDAsdD1lLm5leHQoKSwhdC5kb25lJiYhdC52YWx1ZSkpcmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfTtjb25zdCBpPXQudmFsdWU7c3x8KHM9aVtTeW1ib2wuaXRlcmF0b3JdKCkpO2NvbnN0IHI9cy5uZXh0KCk7aWYoIXIuZG9uZSlyZXR1cm57dmFsdWU6ci52YWx1ZX07e2NvbnN0IGU9dDtpZih0PXZvaWQgMCxyLnZhbHVlKXJldHVybnt2YWx1ZTpyLnZhbHVlLGRvbmU6ZS5kb25lfX19fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgU3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyYXBoaWNzSW5mbz1lLHRoaXMuX2dyYXBoaWNzPXR9Zm9yRWFjaChlLHQpe2lmKHZvaWQgMD09PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMpcmV0dXJuO2NvbnN0IHM9T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cyk7Zm9yKGNvbnN0IHIgb2YgcyllLmNhbGwodCwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHIpKSxyLHRoaXMpfWdldChlKXtpZih2b2lkIDAhPT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzKXJldHVybiBuZXcgZih0aGlzLl9ncmFwaGljcyxlKX1oYXMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMmJmUgaW4gdGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0c31nZXQgc2l6ZSgpe3JldHVybiB2b2lkIDA9PT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzPzA6T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cykubGVuZ3RofVtTeW1ib2wuaXRlcmF0b3JdKCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9ncmFwaGljc0luZm8/LmhoaXN0cz8/e30pW1N5bWJvbC5pdGVyYXRvcl0oKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dDooKT0+e2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuIHQuZG9uZT97ZG9uZTohMCx2YWx1ZTp0LnZhbHVlP1t0LnZhbHVlLCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5nZXQodC52YWx1ZSkpXTp2b2lkIDB9Ont2YWx1ZTpbdC52YWx1ZSwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHQudmFsdWUpKV0sZG9uZTp0LmRvbmV9fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fZ3JhcGhpY3NJbmZvPWUsdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzPXQsdGhpcy5fZGV0YWlsZWRTdHVkeUdyYXBoaWNzPXN9aG9yaXpsaW5lcygpewpyZXR1cm4gbmV3IG0odGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmhvcml6bGluZXMoKSx0aGlzLl9kZXRhaWxlZFN0dWR5R3JhcGhpY3MubWFwKChlPT5lLmhvcml6bGluZXMoKSkpKX12ZXJ0bGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnZlcnRsaW5lcygpfWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5saW5lcygpfWhsaW5lcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGxpbmVzKCl9dGV4dG1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50ZXh0bWFya3MoKX1zaGFwZW1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5zaGFwZW1hcmtzKCl9YmFja2dyb3VuZHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmJhY2tncm91bmRzKCl9cG9seWdvbnMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnBvbHlnb25zKCl9dHJlbmRjaGFubmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHJlbmRjaGFubmVscygpfWhoaXN0cygpe3JldHVybiBuZXcgUyh0aGlzLl9ncmFwaGljc0luZm8sdGhpcyl9aGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpe3JldHVybiBuZXcgdih0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLHRoaXMuX2RldGFpbGVkU3R1ZHlHcmFwaGljcy5tYXAoKGU9PmUuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpKSkpfWR3Z2xhYmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnbGFiZWxzKCl9ZHdnbGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVzKCl9ZHdncG9seWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5kd2dwb2x5bGluZXMoKX1kd2dib3hlcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnYm94ZXMoKX1kd2d0YWJsZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlcygpfWR3Z3RhYmxlY2VsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlY2VsbHMoKX1kd2dsaW5lZmlsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVmaWxscygpfXRwb3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb3MoKX10cG9CbG9ja1NldHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb0Jsb2NrU2V0cygpfXRwb0xldmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvTGV2ZWxzKCl9dHBvVm9sdW1lUm93cygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvVm9sdW1lUm93cygpfXRwb1N1bW1hcnlJbmZvKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50cG9TdW1tYXJ5SW5mbygpfWxvZ3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmxvZ3MoKX1wZXJmb3JtYW5jZSgpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MucGVyZm9ybWFuY2UoKX1mb290cHJpbnRzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRzKCl9Zm9vdHByaW50TGV2ZWxzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRMZXZlbHMoKX19dmFyIGI9cyg5NjY0MDQpLHc9cyg2MDUyNTcpO2NvbnN0IEM9InR2LXZvbHVtZWJ5cHJpY2UiLFA9KDAsYS5zdHVkeUlkU3RyaW5nKSgiVmJQU2Vzc2lvbnNSb3VnaCIsQykseD0oMCxhLnN0dWR5SWRTdHJpbmcpKCJWYlBTZXNzaW9uc0RldGFpbGVkIixDKSxEPSgwLGEuc3R1ZHlJZFN0cmluZykoIlZiUFNlc3Npb25zRGV0YWlsZWRBbGVydHMiLEMpLEk9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7dmFyIFQ7IWZ1bmN0aW9uKGUpe2VbZS5EZXRhaWxlZERhdGFCdWZmZXJDYXBhY2l0eT03XT0iRGV0YWlsZWREYXRhQnVmZmVyQ2FwYWNpdHkifShUfHwoVD17fSkpO2NvbnN0IFY9bi50KG51bGwsdm9pZCAwLHMoMzcxMjk3KSk7Y2xhc3MgUiBleHRlbmRzIHUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxuLG8pe3N1cGVyKGUsdCxzLGksbixvKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGU9QSgpLHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm89bnVsbCx0aGlzLl9yb3VnaERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFCdWZmZXI9bmV3IHIoNyksdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9sb2FkZWRQbG90cz1udWxsLHRoaXMuX21lcmdlZEdyYXBoaWNzPSgwLF8uZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX21lcmdlZFBsb3RzPXRoaXMuX2VtcHR5UGxvdExpc3QoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGV8fHRoaXMuX3NldFN0YXR1cyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOntlcnJvcjpWfX0pLHRoaXMuX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblJvdWdoT3JEZXRhaWxlZERhdGFDbGVhcmVkKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRlc3Ryb3koKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCksbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksCnRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhQ2xlYXJlZCksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kZXN0cm95KCksdGhpcy5fcm91Z2hEYXRhU291cmNlPW51bGwpLHN1cGVyLmRlc3Ryb3koKX1kYXRhKCl7cmV0dXJuIHRoaXMuX2xvYWRlZFBsb3RzfHx0aGlzLl9tZXJnZWRQbG90c31ncmFwaGljcygpe3JldHVybiB0aGlzLl9sb2FkZWRHcmFwaGljc3x8dGhpcy5fbWVyZ2VkR3JhcGhpY3N9Y2xlYXJEYXRhKCl7bnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLmNsZWFyRGF0YSgpLG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5jbGVhckRhdGEoKX1yZXN0b3JlRGF0YShlKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbG9hZGVkUGxvdHM9dGhpcy5fZW1wdHlQbG90TGlzdCgpLHRoaXMuX2xvYWRlZFBsb3RzLnJlc3RvcmVTdGF0ZShlKSx2b2lkIDAhPT1lLmdyYXBoaWNzJiYodGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsXy5sb2FkU3R1ZHlHcmFwaGljcykoZS5ncmFwaGljcykpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSwhMCl9aXNGYWlsZWQoKXtyZXR1cm4hdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKS50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuRXJyb3J8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcn1pc0xvYWRpbmcoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmd8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfWlzU3RhcnRlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKX1zb3VyY2VJZCgpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBvcGVyYXRpb24iKX1pZEZvckFsZXJ0KCl7cmV0dXJuIHN1cGVyLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydH1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4hMX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4hMX1oYXNDaGlsZHJlbigpe3JldHVybiExfWdldEFsbENoaWxkcmVuKCl7cmV0dXJuW119aXNIaWJlcm5hdGVkKCl7cmV0dXJuISh0aGlzLmlzVmlzaWJsZSgpfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKSl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mb31fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiYodGhpcy5fcm91Z2hEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U/LmlzU3RhcnRlZCgpJiZ0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcCgpKX1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2lmKCF0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLmlzUmVzdGFydGluZygpKWlmKHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlPUEoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGUpe2lmKHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkpe2lmKHRoaXMuX2lucHV0cz10aGlzLl9hcGlJbnB1dHMoKSxudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtjb25zdCBlPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpQfSk7dGhpcy5fcm91Z2hEYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zcm91Z2hfIixlKSx0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKTtpZih0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc2V0SW5wdXRzKEwodGhpcy5fcm91Z2hEYXRhU291cmNlLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuX2lucHV0cykpLG51bGw9PT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Upe2NvbnN0IGU9YXdhaXQoMCx3LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOnh9KQo7dGhpcy5fZGV0YWlsZWREYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zZGV0YWlsZWRfIixlKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0b3AoKTt0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc2V0SW5wdXRzKEUodGhpcy5faW5wdXRzKSksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fY3JlYXRlU3R1ZHlHcmFwaGljcygpLHRoaXMuX3N1YnNjcmliZVRvU2Vzc2lvbklkKCksdGhpcy5fc2V0U3RhdHVzKHRoaXMuX3N0YXR1c1ZhbHVlRnJvbURhdGFTb3VyY2VzKCkpLHRoaXMuX29uU3RhcnQuZmlyZSgpLG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvJiZhd2FpdCB0aGlzLl9zZXRBbGVydHNTdHVkeU1ldGFJbmZvKCl9fWVsc2UgdGhpcy5fc2V0U3RhdHVzKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOlZ9fSl9YXN5bmMgX2NoYW5nZUlucHV0c0ltcGwoZSx0KXtpZihudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtpZigoMCxsLmFyZVN0dWR5SW5wdXRzRXF1YWwpKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyx0LGUpKXtpZihudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXtjb25zdCB0PUUoZSkscz0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkodCk7aWYodGhpcy5fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKHMpKXtpZih0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UuaXNBY3RpdmUoKSl7Y29uc3QgZT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcEFuZFN0ZWFsRGF0YSgpO2lmKGUucGxvdHMuc2l6ZSgpPjB8fCEoMCxfLmlzU3R1ZHlHcmFwaGljc0VtcHR5KShlLmdyYXBoaWNzKSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pbnB1dHMoKSk7ZS5wbG90cz10aGlzLl9leHRyYWN0RWZmZWN0aXZlRGV0YWlsZWRQbG90VmFsdWVzKGUucGxvdHMsdCksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmVucXVldWUoe2xvZDpNKHQpLHZhbHVlOmV9KX19dGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyh0KSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RhcnQoKX19fWVsc2UgdGhpcy5faW5wdXRzPWUsdGhpcy5fcm91Z2hEYXRhU291cmNlLnNldElucHV0cyhMKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyxlKSksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmNsZWFyKCksbnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyhFKGUpKTtudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiZ0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCl9fV9jb2xsZWN0RGVwc0ZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5fY29sbGVjdERlcHNGb3JBbGVydCgpO2lmKG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvKXRocm93IG5ldyBFcnJvcigiQWxlcnRzIHN0dWR5IG1ldGFpbmZvIGlzIG5vdCByZWFkeSB5ZXQuIEhhdmUgeW91IGNoZWNrZWQgdGhlIGFsZXJ0IGF2YWlsYWJpbGl0eSB1c2luZyBoYXNTdGF0ZUZvckFsZXJ0KCk/Iik7cmV0dXJuey4uLmUsc3R1ZHlEZXBlbmRlbmNpZXM6ZS5zdHVkeURlcGVuZGVuY2llcy5tYXAoKGU9Pntjb25zdCB0PWUuc3R1ZHk9PT1rKHRoaXMubWV0YUluZm8oKSk7cmV0dXJue2lkOmUuaWQsaW5wdXRzOnQ/KHM9ZS5pbnB1dHMsey4uLnMsc3Vic2NyaWJlUmVhbHRpbWU6ITB9KTplLmlucHV0cyxzdHVkeTp0JiZudWxsIT09dGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mbz9rKHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm8pOmUuc3R1ZHl9O3ZhciBzfSkpfX1fZ2V0QWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiExfV9zdGF0dXNWYWx1ZUZyb21EYXRhU291cmNlcygpe2NvbnN0IGU9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfTtpZihudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlfHxudWxsPT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkscz10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKTtpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gdDtpZihzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gcztpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfHxzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nKXtjb25zdCBlPXQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmc/dC5zdGFydFRpbWU6MS8wLGk9cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz9zLnN0YXJ0VGltZToxLzA7cmV0dXJue3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6TWF0aC5taW4oZSxpKX19cmV0dXJuIHQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkNvbXBsZXRlZD97dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9OmV9X2VtcHR5UGxvdExpc3QoKXtyZXR1cm4gbmV3IG8uUGxvdExpc3QoKDAsCmQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY3JlYXRlU3R1ZHlQbG90cygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpO3RoaXMuX21lcmdlZFBsb3RzLmNsZWFyKCk7Y29uc3Qgcz1bXTtzLnB1c2goe2xvZDpJLHZhbHVlOmUucGxvdHMoKX0pLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5mb3JFYWNoKChlPT57cy5wdXNoKHtsb2Q6ZS5sb2QsdmFsdWU6ZS52YWx1ZS5wbG90c30pfSkpO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmlucHV0cygpKTtzLnB1c2goe2xvZDpNKHIpLHZhbHVlOnRoaXMuX2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXModC5wbG90cygpLHIpfSkscy5zb3J0KCgoZSx0KT0+dC5sb2QtZS5sb2QpKTtmb3IoY29uc3QgZSBvZiBzKWUudmFsdWUuZWFjaCgoKGUsdCk9Pntmb3IoY29uc3QgZSBvZiB0KWlmKHZvaWQgMD09PWUpcmV0dXJuITE7cmV0dXJuIHRoaXMuX21lcmdlZFBsb3RzLmFkZChlLHQpLCExfSkpO3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKX1fY3JlYXRlU3R1ZHlHcmFwaGljcygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpLHM9W107dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntzLnB1c2goe2xvZDplLmxvZCx2YWx1ZTplLnZhbHVlLmdyYXBoaWNzfSl9KSksdm9pZCAwIT09dGhpcy5faW5wdXRzJiZzLnB1c2goe2xvZDpNKHRoaXMuX2lucHV0cyksdmFsdWU6dC5ncmFwaGljcygpfSkscy5zb3J0KCgoZSx0KT0+ZS5sb2QtdC5sb2QpKTtjb25zdCByPXMubWFwKChlPT5lLnZhbHVlKSk7dGhpcy5fbWVyZ2VkR3JhcGhpY3M9bmV3IGcodGhpcy5tZXRhSW5mbygpLmdyYXBoaWNzLGUuZ3JhcGhpY3MoKSxyKSx0aGlzLl9wb3N0UHJvY2Vzc0dyYXBoaWNzKCl9X2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXMoZSx0KXtjb25zdCBzPSgwLGwucmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlKSh0KSxyPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS50aW1lUG9pbnRUb0luZGV4KHMuZnJvbSksbj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudGltZVBvaW50VG9JbmRleChzLnRvKTtyZXR1cm4gZS5zaXplKCk+MD9lLnJhbmdlKHJ8fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5maXJzdEluZGV4KCkpLG58fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5sYXN0SW5kZXgoKSkpOnRoaXMuX2VtcHR5UGxvdExpc3QoKX1fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKGUpe2NvbnN0e2Zyb206dCx0bzpzfT1lO2xldCByPSExO3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fcm91Z2hEYXRhU291cmNlKS5ncmFwaGljcygpLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKCgoZSxpKT0+e2lmKHIpcmV0dXJuO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBuPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGkpO2lmKG51bGw9PT1ufHxuPHR8fHM8bilyZXR1cm47Y29uc3Qgbz1zLXQ7bGV0IGE9ITE7dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntpZihlLmxvZDw9byl7ZS52YWx1ZS5ncmFwaGljcy5oaGlzdHNCeVRpbWVQb2ludEluZGV4KCkuaGFzKGkpJiYoYT0hMCl9fSkpLGF8fChyPSEwKX0pKSxyfV9vblN0dWR5U3RhdHVzQ2hhbmdlZCgpe2NvbnN0IGU9dGhpcy5zdGF0dXMoKTt0aGlzLl9zZXRTdGF0dXModGhpcy5fc3RhdHVzVmFsdWVGcm9tRGF0YVNvdXJjZXMoKSksZS50eXBlIT09dGhpcy5zdGF0dXMoKS50eXBlJiZ0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0dXNWaWV3KS51cGRhdGUoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSl9X29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQoKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYodGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5jbGVhcigpLHRoaXMuX2NyZWF0ZVN0dWR5UGxvdHMoKSx0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxiLnNvdXJjZUNoYW5nZUV2ZW50KSh7c291cmNlSWQ6dGhpcy5pZCgpLGNsZWFyRGF0YTohMH0pKSx0aGlzLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMpKX1fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZChlKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYoZS5sZW5ndGg+MCYmdGhpcy5fY3JlYXRlU3R1ZHlQbG90cygpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSl9YXN5bmMgX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKXt0aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpEfSksdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfX1mdW5jdGlvbiBBKCl7cmV0dXJuIHZvaWQgMCE9PXdpbmRvdy5wcm8mJndpbmRvdy5wcm8uaGFzUGFja2FnZShDKX1mdW5jdGlvbiBMKGUsdCl7Y29uc3Qgcz17fTtmb3IoY29uc3QgaSBvZiBlKXNbaS5pZF09dFtpLmlkXTtyZXR1cm4gc31mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9ZS5sYXN0X3Zpc2libGVfYmFyX3RpbWUtZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lO3JldHVybnsuLi5lLApmaXJzdF92aXNpYmxlX2Jhcl90aW1lOmUuZmlyc3RfdmlzaWJsZV9iYXJfdGltZS10LGxhc3RfdmlzaWJsZV9iYXJfdGltZTplLmxhc3RfdmlzaWJsZV9iYXJfdGltZSt0fX1mdW5jdGlvbiBNKGUpe2NvbnN0e2Zyb206dCx0bzpzfT0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkoZSk7cmV0dXJuIHMtdH1mdW5jdGlvbiBrKGUpe3JldHVybmAke2UuaWR9LSR7ZS52ZXJzaW9ufWB9fSwyNDM3MjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse1Nlc3Npb25Wb2x1bWVTdHVkeTooKT0+XyxjcmVhdGVTZXNzaW9uVm9sdW1lU3R1ZHk6KCk9Pnl9KTt2YXIgaT1zKDEzODYzOCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDE0MTM1MCksYT1zKDg3MjM0MyksbD1zKDIyNzA1NiksdT1zKDIzNDg2NiksYz1zKDg3MzYzKTtjbGFzcyBoIGV4dGVuZHMgYy5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXJ7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0LGkpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyPW5ldyB1LlNlcmllc0NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIocyx0KX1nZXRJdGVtcygpe3JldHVyblsuLi5zdXBlci5nZXRJdGVtcygpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKClbN11dfWdldFZhbHVlcyhlKXtyZXR1cm5bLi4uc3VwZXIuZ2V0VmFsdWVzKGUpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldFZhbHVlcyhlKVs3XV19fXZhciBkPXMoNTUwMzkzKTtjbGFzcyBfIGV4dGVuZHMgbC5Wb2x1bWVQcm9maWxlV2l0aFByaWNlUmFuZ2VTdHVkeXt9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXI9bnVsbH1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX3BhbmVWaWV3c31wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCl9aGFzU3RhdGVGb3JBbGVydCgpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXImJih0aGlzLl9jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyPW5ldyBoKHRoaXMsdGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1fY3JlYXRlZENoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiBuZXcgby5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldyh0aGlzLHRoaXMuX21vZGVsLCEwKX19YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCB0PWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpkLnN0dWR5VmJQU2Vzc2lvbnNJZH0pLHM9KDAsci5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKSh0LHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSksbz0iU2Vzc2lvblZvbHVtZUFzQ2hhcnRTdHlsZSI7KDAsYS5hZGRTdHVkeUluZm9Ub01hcCkobywoMCxhLmNyZWF0ZVN0dWR5SW5mbykoKGFzeW5jKCk9PnApLCJub1JvdGF0aW9ucyIpKTtjb25zdCBsPSgwLGkuZW5zdXJlRGVmaW5lZCkoKDAsYS5nZXRTdHVkeUluZm9CeU5hbWUpKG8pKTtyZXR1cm4gbC5zdHVkeUNvbnN0cnVjdG9yfHwobC5zdHVkeUNvbnN0cnVjdG9yPXApLG5ldyBwKGUscyxbXSx0LHQsITEpfX0sMjI3MDU2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1ZiUFZpc2libGVXcmFwcGVyOigpPT55LFZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnM6KCk9Pl8sVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHk6KCk9PnB9KTt2YXIgaT1zKDEzODYzOCkscj1zKDIzMjM2NCksbj1zKDYzNTUwOSk7dmFyIG89cyg3MTY3OCksYT1zKDg3MzU3Myk7Y2xhc3MgbCBleHRlbmRzIG8uUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fc291cmNlPWUsdGhpcy5fc3R5bGVJZD10fV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMTtjb25zdCBpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFpfHxpLmlzRW1wdHkoKXx8IXIudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuaG9yaXpsaW5lcz8uY2hpbGRzKClbdGhpcy5fc3R5bGVJZF0uY2hpbGRzKCk7aWYoIShuJiZuLnZpc2libGUmJm4udmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCkpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bHx8bnVsbD09PW8pcmV0dXJuO2NvbnN0IHU9e3ByaWNlOk5hTix0aW1lOi0xLzB9LGM9dGhpcy5fc291cmNlLmdyYXBoaWNzKCkuaG9yaXpsaW5lcygpLmdldCh0aGlzLl9zdHlsZUlkKTtpZih2b2lkIDA9PT1jKXJldHVybjtmb3IoY29uc3QgZSBvZiBjKXtpZih2b2lkIDA9PT1lLmxldmVsKWNvbnRpbnVlO2NvbnN0IHQ9by5jb250YWlucyhlLnN0YXJ0SW5kZXgsITApO3Q9PT1vLmNvbnRhaW5zKGUuZW5kSW5kZXgsITApJiYwIT09dHx8dS50aW1lPGUuZW5kSW5kZXgmJih1LnRpbWU9ZS5lbmRJbmRleCx1LnByaWNlPWUubGV2ZWwpfWlmKGlzTmFOKHUucHJpY2UpKXJldHVybjtjb25zdCBoPSgwLGEucmVzZXRUcmFuc3BhcmVuY3kpKG4uY29sb3IudmFsdWUoKSk7cy5iYWNrZ3JvdW5kPWgscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihoKSxzLmNvb3JkaW5hdGU9aS5wcmljZVRvQ29vcmRpbmF0ZSh1LnByaWNlLGwpLAplLnRleHQ9aS5mb3JtYXRQcmljZSh1LnByaWNlLGwse3NpZ25Qb3NpdGl2ZTppLmlzUGVyY2VudGFnZSgpfSksZS52aXNpYmxlPSEwLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fc291cmNlLm1vZGVsKCkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfV9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKTtyZXR1cm4oZS5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKXx8ZS5zaG93RnVuZGFtZW50YWxMYXN0VmFsdWUudmFsdWUoKSkmJnRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0xhYmVsc09uUHJpY2VTY2FsZS52YWx1ZSgpfX12YXIgdT1zKDE5NzI3MiksYz1zKDMxNTY1NCksaD1zKDg5ODkyNyk7Y2xhc3MgZCBleHRlbmRzIHUuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKX1wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4gMH1hc3luYyBfY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5ncmFwaGljcyx0PXRoaXMubW9kZWwoKSxpPXtyZWd1bGFyUGFuZVZpZXdzOltdLGZvcmNlT3ZlcmxheVBhbmVWaWV3czpbXX0scj10aGlzLl9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCk7aWYoZS5oaGlzdHMpe2NvbnN0e0hIaXN0UGFuZVZpZXc6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocywyMjExNjUpKSxuPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLnBvbHlnb25zPy5jaGlsZHMoKTtpLnJlZ3VsYXJQYW5lVmlld3MucHVzaChuZXcgZSh0aGlzLHQsdm9pZCAwLG4/Lmhpc3RCb3hCZyxyKSl9aWYoZS5ob3JpemxpbmVzKXtjb25zdHtIb3JpekxpbmVQYW5lVmlldzplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDk3NTU4KSxzLmUoNDUyNzcpLHMuZSg5MTY2OCldKS50aGVuKHMuYmluZChzLDY3NzkwOSkpO2kucmVndWxhclBhbmVWaWV3cy5wdXNoKG5ldyBlKHRoaXMsdCx2b2lkIDAscikpfXJldHVybiBpfV9jcmVhdGVHcmFwaGljc1ByaWNlQXhpc1ZpZXdzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubWV0YUluZm8oKS5ncmFwaGljcy5ob3JpemxpbmVzPz97fSkubWFwKChlPT5uZXcgbCh0aGlzLGUpKSl9X2NyZWF0ZVN0dWR5UGxvdFBhbmVWaWV3KGUpe3JldHVybiBuZXcgYy5TdHVkeVBsb3RQYW5lVmlldyh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxlLHRoaXMuX25lZWRFeHRlbmRUb0JhcnNFbmRpbmcoKSl9X2FwaUlucHV0cygpe3JldHVybnsuLi5zdXBlci5fYXBpSW5wdXRzKCksbWFwUmlnaHRCb3VuZGFyeVRvQmFyU3RhcnRUaW1lOiEhdGhpcy5fbmVlZEV4dGVuZFRvQmFyc0VuZGluZygpfHx2b2lkIDB9fV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/Lm1hcFJpZ2h0Qm91bmRhcnlUb0JhclN0YXJ0VGltZX19Y2xhc3MgXyBleHRlbmRzIGR7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3Quc2V0VGhlbWVkQ29sb3JzKCgwLGgudm9sdW1lUHJvZmlsZVRoZW1lZENvbG9ycykodC5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5wb2x5Z29ucz8uaGFzQ2hpbGQoImhpc3RCb3hCZyIpKSksc3VwZXIoZSx0LHMsaSxyLG4pfX1jbGFzcyBwIGV4dGVuZHMgX3twcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2xldCB0PSExO3RoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKS5mb3JFYWNoKCgoZSxzKT0+e3Q9dHx8KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5oaGlzdHM/LmNoaWxkcygpW3NdKS52YWx1ZSgpfSkpO2NvbnN0IHM9ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtyZXR1cm4gZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmZpcnN0QmFyVGltZTtudWxsIT09aSYmaTw9cyYmZS5sYXN0QmFyVGltZT49dCYmKG51bGw9PT1yP3I9e2xvdzp7bDplLnByaWNlTG93LGg6ZS5wcmljZUhpZ2h9LGhpZ2g6e2g6ZS5wcmljZUhpZ2h9fTooZS5wcmljZUxvdzxyLmxvdy5sJiYoci5sb3cubD1lLnByaWNlTG93LHIubG93Lmg9ZS5wcmljZUhpZ2gpLHIuaGlnaC5oPU1hdGgubWF4KHIuaGlnaC5oLGUucHJpY2VIaWdoKSkpfSkpfSkpLG51bGw9PT1yP251bGw6aT9uZXcgbi5QcmljZVJhbmdlKHIubG93LmwtLjgqKHIubG93Lmgtci5sb3cubCksci5oaWdoLmgpOm5ldyBuLlByaWNlUmFuZ2Uoci5sb3cubCxyLmhpZ2guaCl9KHRoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKSxlLnN0YXJ0VGltZVBvaW50LGUuZW5kVGltZVBvaW50LHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSk7cmV0dXJuIHIuaXNMb2coKT9uZXcgbi5QcmljZVJhbmdlKHIucHJpY2VUb0xvZ2ljYWwocy5taW5WYWx1ZSgpKSxyLnByaWNlVG9Mb2dpY2FsKHMubWF4VmFsdWUoKSkpOnN9fWNsYXNzIHkgZXh0ZW5kcyBwe2FsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpfV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuITF9fX0sODk4OTI3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3ZvbHVtZVByb2ZpbGVUaGVtZWRDb2xvcnM6KCk9Pl99KTt2YXIgaT1zKDUwNzYwNCk7Y29uc3R7Y29sb3JDb2xkR3JheTIwMDpyLGNvbG9yQ29sZEdyYXk5MDA6bixjb2xvckJlcnJ5UGluazQwMEFscGhhNTA6byxjb2xvckJlcnJ5UGluazQwMEFscGhhNzU6YSxjb2xvclNreUJsdWU0MDBBbHBoYTUwOmwsY29sb3JTa3lCbHVlNDAwQWxwaGE1OnUsY29sb3JTa3lCbHVlNDAwQWxwaGE3NTpjLGNvbG9yU2t5Qmx1ZTUwMDpofT1pLmNvbG9ycyxkPXsKdmFsOltuLHJdLHBvYzpbbixyXSx2YWg6W24scl0sZGV2ZWxvcGluZ1BvYzpbbixyXSxkZXZlbG9waW5nVkE6W2gsaF0sdmFsdWVzQ29sb3I6W24scl0sdm9sdW1lQ29sb3JVcDpbbCxsXSx2b2x1bWVDb2xvckRvd246W28sb10sdmFsdWVBcmVhQ29sb3JVcDpbYyxjXSx2YWx1ZUFyZWFDb2xvckRvd246W2EsYV0saGlzdG9ncmFtQm94Q29sb3I6W3UsdV19O2Z1bmN0aW9uIF8oZSl7Y29uc3QgdD0iZ3JhcGhpY3MuaG9yaXpsaW5lcyIscz0iZ3JhcGhpY3MuaGhpc3RzIixpPVt7cGF0aDpgJHt0fS5wb2NMaW5lcy5jb2xvcmAsY29sb3JzOmQucG9jfSx7cGF0aDpgJHt0fS52YWhMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFofSx7cGF0aDpgJHt0fS52YWxMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFsfSx7cGF0aDpgJHtzfS5oaXN0QmFyczIuY29sb3JzLjBgLGNvbG9yczpkLnZvbHVtZUNvbG9yVXB9LHtwYXRoOmAke3N9Lmhpc3RCYXJzMi5jb2xvcnMuMWAsY29sb3JzOmQudm9sdW1lQ29sb3JEb3dufSx7cGF0aDpgJHtzfS5oaXN0QmFyczIudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4wYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvclVwfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4xYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvckRvd259LHtwYXRoOmAke3N9Lmhpc3RCYXJzVkEudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdQb2MuY29sb3IiLGNvbG9yczpkLmRldmVsb3BpbmdQb2N9LHtwYXRoOiJzdHlsZXMuZGV2ZWxvcGluZ1ZBSGlnaC5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdWQUxvdy5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfV07cmV0dXJuIGUmJmkucHVzaCh7cGF0aDoiZ3JhcGhpY3MucG9seWdvbnMuaGlzdEJveEJnLmNvbG9yIixjb2xvcnM6ZC5oaXN0b2dyYW1Cb3hDb2xvcn0pLGl9fSw3MjAxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Vm9sdW1lU3R1ZHk6KCk9Pm99KTt2YXIgaT1zKDE5NzI3Mikscj1zKDEwMDIzOSksbj1zKDE2ODI1OCk7Y2xhc3MgbyBleHRlbmRzIGkuU3R1ZHl7YmFzZSgpe3JldHVybiAxfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9c2hvd09uVG9wT25Ib3ZlcmluZygpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpPT09dGhpcy5fbW9kZWwubWFpblBhbmUoKT9udWxsOnN1cGVyLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpfV90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pe2NvbnN0IG89c3VwZXIuX3RpdGxlSW5QYXJ0cyhlLHQscyxpLHIpLGE9dGhpcy5fZ2V0Vm9sdW1lVW5pdCgpO3JldHVybiBhJiYhbiYmKG9bMF0rPWAgwrcgJHthfWApLG99X3NraXBwZWRUaXRsZUlucHV0cygpe2NvbnN0IGU9c3VwZXIuX3NraXBwZWRUaXRsZUlucHV0cygpO3RoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoInZvbF9tYSIpPT09bi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUmJiFlLmluY2x1ZGVzKCJsZW5ndGgiKSYmZS5wdXNoKCJsZW5ndGgiKTtyZXR1cm4gZX1fZ2V0Vm9sdW1lVW5pdCgpe2NvbnN0IGU9dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIGU/KDAsci5nZXRWb2x1bWVVbml0KSh7Li4uZSxjdXJyZW5jeTplLm9yaWdpbmFsX2N1cnJlbmN5X2NvZGV8fGUuY3VycmVuY3lfY29kZX0pOnZvaWQgMH19fSwxMjMyNjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfT3ZlcmxheTooKT0+T2V9KTt2YXIgaT1zKDEzODYzOCkscj1zKDYwMTg0MSksbj1zKDIzMjM2NCksbz1zKDk1MjkwMCksYT1zKDIyMTA2MSksbD1zKDQ3NTQ3OCksdT1zKDYxOTE2NSksYz1zKDg1NzE1MSksaD1zKDkzNjMyNiksZD1zKDkzMDIzMSksXz1zKDk2ODY3MSkscD1zKDU2OTg0NikseT1zKDMxODk3NCksbT1zKDE5NzI3Miksdj1zKDQ1OTY3MyksZj1zKDE1Mjc2NiksUz1zKDEyODk5OCksZz1zKDMxNDkxNCksYj1zKDc2ODI5Miksdz1zKDQwNzc5OSksQz1zKDY5OTU1MCksUD1zKDIwNjU3MCkseD1zKDMyMjU1NCksRD1zKDYzNTUwOSksST1zKDI1MDMzNCksVD1zKDkzMjY5MyksVj1zKDgwNjgxOCksUj1zKDcxNjc4KSxBPXMoMjI2NDc3KSxMPXMoMTIzNjE3KSxFPXMoODczNTczKTtjb25zdCBNPSgwLGQuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIik7Y2xhc3MgayBleHRlbmRzIFIuUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMSx0LnZpc2libGU9ITE7Y29uc3Qgcj10aGlzLl9zb3VyY2UubGFzdFZhbHVlRGF0YSgiY2xvc2UiLCExKTtpZihyLm5vRGF0YSlyZXR1cm47Y29uc3Qgbj10aGlzLl9zb3VyY2UubW9kZWwoKSxvPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWF8fG51bGw9PT1sKXJldHVybjtsZXQgdTtpZihsPD1hLmxhc3RCYXIoKSlzLmJhY2tncm91bmQ9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvcikscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihyLmNvbG9yKSxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExLHU9cy5iYWNrZ3JvdW5kO2Vsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKHIuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPW8scy50ZXh0Q29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvciksCnMuYm9yZGVyQ29sb3I9cy50ZXh0Q29sb3IsdT1zLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPXIuY29vcmRpbmF0ZTtjb25zdCBjPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO2Muc2hvd1Nlcmllc0xhc3RWYWx1ZS52YWx1ZSgpJiYoZS50ZXh0PSgwLEwuZ2V0Q3VycmVudE1vZGVQcmljZVRleHQpKG8sciksYy5zZXJpZXNMYXN0VmFsdWVNb2RlLnZhbHVlKCkhPT1BLlByaWNlQXhpc0xhc3RWYWx1ZU1vZGUuTGFzdFByaWNlQW5kUGVyY2VudGFnZVZhbHVlP2Uuc2Vjb25kTGluZT0iIjplLnNlY29uZExpbmU9KDAsTC5nZXRPcHBvc2l0ZU1vZGVQcmljZVRleHQpKG8sciksZS52aXNpYmxlPSEwKSx0LnRleHQ9IiIsYy5zaG93U3ltYm9sTGFiZWxzLnZhbHVlKCkmJih0LnRleHQ9dGhpcy5fcGFuZVRleHQoKSx0LnZpc2libGU9dC50ZXh0Lmxlbmd0aD4wKSxlLnNlbGVjdGVkTWFya0NvbG9yPW4uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP3U6dm9pZCAwfV9wYW5lVGV4dCgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fc291cmNlLmFsaWFzU3ltYm9sSW5mbygpO3JldHVybiBNP2U9KDAsUy5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxTLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgQj1zKDk2OTQpO2NsYXNzIE4gZXh0ZW5kcyBCLlByaWNlTGluZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fc3R1ZHk9ZX1fdmFsdWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSgiIiwhMCl9X3ByaWNlTGluZUNvbG9yKGUpe3JldHVybiBlfV9saW5lV2lkdGgoKXtyZXR1cm4gMX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUudmFsdWUoKTtyZXR1cm4gdGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUudmFsdWUoKSYmZX19dmFyIEY9cygyNjA2OSksTz1zKDY1MDQ4MCk7Y2xhc3MgSHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9saW5lUmVuZGVyZXI9bmV3IE8uSG9yaXpvbnRhbExpbmVSZW5kZXJlcix0aGlzLl92aXNpYmxlPSExLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZSgpe2lmKHRoaXMuX3Zpc2libGU9ITEsIXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByaWNlTGluZS52YWx1ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3NvdXJjZS5sYXN0VmFsdWVEYXRhKCIiLCEwKTtlLm5vRGF0YXx8KHRoaXMuX3Zpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoe3k6ZS5jb29yZGluYXRlLGNvbG9yOmUuY29sb3IsbGluZXdpZHRoOjEsbGluZXN0eWxlOkYuTElORVNUWUxFX0RPVFRFRCx2aXNpYmxlOnRoaXMuX3Zpc2libGV9KSl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZT90aGlzLl9saW5lUmVuZGVyZXI6bnVsbH19dmFyIHEsej1zKDg2MDQ0MiksVT1zKDY3ODI4NSksVz1zKDk0Mzk1KTshZnVuY3Rpb24oZSl7ZVtlLk9wZW49MF09Ik9wZW4iLGVbZS5IaWdoPTFdPSJIaWdoIixlW2UuTG93PTJdPSJMb3ciLGVbZS5DbG9zZT0zXT0iQ2xvc2UiLGVbZS5Tb3VyY2U9NF09IlNvdXJjZSIsZVtlLkxhc3RQcmljZT01XT0iTGFzdFByaWNlIixlW2UuQ2hhbmdlPTZdPSJDaGFuZ2UiLGVbZS5MYXN0RGF5Q2hhbmdlPTddPSJMYXN0RGF5Q2hhbmdlIn0ocXx8KHE9e30pKTt2YXIgJD1zKDE4NTI3MSksRz1zKDk2OTE2OCksaj1zKDIzMzI0NyksWT1zKDE4OTgwMCksSj1zKDE2ODc3MSksUT1zKDQxNjM1KSxaPXMoODgyMDU2KSxLPXMoNjQwMjkyKTtjb25zdCBYPUoubGFzdERheUNoYW5nZUF2YWlsYWJsZXx8Si5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSxlZT15LkNoZWNrTW9iaWxlLmFueSgpLHRlPSgwLGouZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxzZT1LLm5vdEF2YWlsYWJsZSxpZT1gJHtzZX0gKCR7c2V9JSlgO2NsYXNzIHJle2NvbnN0cnVjdG9yKGUsdCxpPSEwKXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT1pLHRoaXMuX2VtcHR5VmFsdWVzPVt7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoOTc3ODEpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjAsb3JkZXJJbmRleDowLGlkOiJvcGVuIn0se3RpdGxlOiQudChudWxsLHZvaWQgMCxzKDg0NTU2MykpLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6MSxvcmRlckluZGV4OjEsaWQ6ImhpZ2gifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoODg4Njc4KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDoyLG9yZGVySW5kZXg6MixpZDoibG93In0se3RpdGxlOiQudChudWxsLHtjb250ZXh0OiJpbnB1dCJ9LHMoMzEyMjk3KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDozLG9yZGVySW5kZXg6MyxpZDoiY2xvc2UifSx7dGl0bGU6IiIsdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDo0LG9yZGVySW5kZXg6NCxpZDoic291cmNlIn0se3RpdGxlOiIiLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6NSxvcmRlckluZGV4OjUsaWQ6Imxhc3RQcmljZSJ9LHt0aXRsZTokLnQobnVsbCx2b2lkIDAscyg2NzM0ODcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjYsb3JkZXJJbmRleDo2LGlkOiJjaGFuZ2UifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoMzE0NjcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4Ojcsb3JkZXJJbmRleDo3LGlkOiJsYXN0RGF5Q2hhbmdlIn1dfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2VtcHR5VmFsdWVzfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX2VtcHR5VmFsdWVzLm1hcCgoZT0+KHsuLi5lfSkpKQo7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybiB0O2NvbnN0IHM9dGhpcy5fc3R1ZHkuZGF0YSgpLGk9cy5sYXN0SW5kZXgoKTtpZigwPT09cy5zaXplKCl8fG51bGw9PT1pKXJldHVybiB0O2NvbnN0IG49dGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT9oLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OmguUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qsbz1zLnNlYXJjaChpLG4sMSk7aWYobnVsbD09PW8pcmV0dXJuIHQ7Y29uc3QgYT10aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpO2lmKCgwLHIuaXNOdW1iZXIpKGUpfHwoYT9lPWk6KGU9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCksKDAsci5pc051bWJlcikoZSl8fChlPWkpKSksbnVsbD09PWV8fCEoMCxyLmlzTnVtYmVyKShlKSlyZXR1cm4gdDt0WzBdLnZhbHVlPXNlLHRbMV0udmFsdWU9c2UsdFsyXS52YWx1ZT1zZSx0WzNdLnZhbHVlPXNlLHRbN10udmFsdWU9aWUsdFs2XS52YWx1ZT1pZTtjb25zdCBsPXMuc2VhcmNoKGUsbiwxKSx1PXRoaXMuX21vZGVsLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7aWYobnVsbD09PWwpcmV0dXJuIHQ7Y29uc3QgYz1sLmluZGV4LGQ9bC52YWx1ZSxfPWRbMV0scD1kWzJdLHk9ZFszXSxtPWRbNF07Zm9yKGNvbnN0IGUgb2YgdCllLnZpc2libGU9IWE7Y29uc3Qgdj10WzRdO3YudmlzaWJsZT0hMTtjb25zdHtiYXJDaGFuZ2U6ZixsYXN0RGF5Q2hhbmdlOlN9PSgwLFkuY2hhbmdlc0RhdGEpKHMsdGhpcy5fc3R1ZHkucXVvdGVzKCksbC52YWx1ZSxsLmluZGV4LG8udmFsdWUpLGc9KDAsWi5nZXRQcmljZVZhbHVlRm9ybWF0dGVyRm9yU291cmNlKSh0aGlzLl9zdHVkeSk7aWYoKDAsWi5zaG91bGRCZUZvcm1hdHRlZEFzUGVyY2VudCkodGhpcy5fc3R1ZHkpfHwoMCxaLnNob3VsZEJlRm9ybWF0dGVkQXNJbmRleGVkVG8xMDApKHRoaXMuX3N0dWR5KSl0WzddLnZhbHVlPSIiLHRbNl0udmFsdWU9IiI7ZWxzZXtjb25zdCBlPXRoaXMuX3N0dWR5LmZvcm1hdHRlcigpLHM9e3NpZ25Qb3NpdGl2ZTohMH07aWYodm9pZCAwIT09Zil7Y29uc3R7Y3VycmVudFByaWNlOmkscHJldlByaWNlOnIsY2hhbmdlOm59PWYsbz1lLmZvcm1hdENoYW5nZT8uKGkscixzKT8/ZS5mb3JtYXQobixzKTt0WzZdLnZhbHVlPSgwLEcuZm9yY2VMVFJTdHIpKGAke299ICgke3RlLmZvcm1hdChmLnBlcmNlbnRDaGFuZ2Uscyl9KWApfWlmKHZvaWQgMCE9PVMpe2NvbnN0e2N1cnJlbnRQcmljZTppLHByZXZQcmljZTpyLGNoYW5nZTpuLHBlcmNlbnRDaGFuZ2U6b309UyxhPWUuZm9ybWF0Q2hhbmdlPy4oaSxyLHMpPz9lLmZvcm1hdChuLHMpO3RbN10udmFsdWU9KDAsRy5mb3JjZUxUUlN0cikoYCR7YX0gKCR7dGUuZm9ybWF0KG8scyl9KWApfX1sZXQgYj1udWxsO2lmKGEpdFs1XS52YWx1ZT1udWxsPT1tP3NlOmcobSksdFs1XS52aXNpYmxlPSEwLGI9dGhpcy5fZ2V0Q2hhbmdlQ29sb3IoUz8uY2hhbmdlKSx0WzZdLnZpc2libGU9dm9pZCAwIT09Zix0WzddLnZpc2libGU9dm9pZCAwIT09U3x8WDtlbHNle3RbMF0udmFsdWU9bnVsbD09Xz9zZTpnKF8pLHRbMV0udmFsdWU9bnVsbD09cD9zZTpnKHApLHRbMl0udmFsdWU9bnVsbD09eT9zZTpnKHkpLHRbM10udmFsdWU9bnVsbD09bT9zZTpnKG0pLHYudmFsdWU9Zyh0aGlzLl9zdHVkeS5iYXJGdW5jdGlvbigpKGQpKSx0WzVdLnZpc2libGU9ITE7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSxzPTIxIT09dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7dFswXS52aXNpYmxlPSFlJiZzLHRbMV0udmlzaWJsZT0hZSx0WzJdLnZpc2libGU9IWUsdFs3XS52aXNpYmxlPXZvaWQgMCE9PVN8fFgsdFs2XS52aXNpYmxlPXZvaWQgMCE9PWY7Y29uc3QgaT10aGlzLl9zdHVkeS5iYXJDb2xvcmVyKCkuYmFyU3R5bGUoYywhMSkscj1pLmJhckJvcmRlckNvbG9yPz9pLmJhckNvbG9yO2I9KDAsWS5jYWxjdWxhdGVDb2xvcikodSxyKX1iPSgwLEUucmVzZXRUcmFuc3BhcmVuY3kpKCgwLFkuY2FsY3VsYXRlQ29sb3IpKHUsYikpO2Zvcihjb25zdCBlIG9mIHQpZS5jb2xvcnx8KGUuY29sb3I9Yik7cmV0dXJuIHRbN10udmlzaWJsZSYmKHRbN10uY29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoKDAsWS5jYWxjdWxhdGVDb2xvcikodSx0aGlzLl9nZXRDaGFuZ2VDb2xvcihTPy5jaGFuZ2UpKSkpLHR9X21vYmlsZU5vblRyYWNraW5nTW9kZSgpe3JldHVybiBlZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIEouYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2V8fHRoaXMuX21vYmlsZU5vblRyYWNraW5nTW9kZSgpfV9nZXRDaGFuZ2VDb2xvcihlKXtjb25zdCB0PXZvaWQgMD09PWV8fGU+PTA/US5TZXJpZXNCYXJDb2xvcmVyLnVwQ29sb3IodGhpcy5fc3R1ZHkucHJvcGVydGllcygpKTpRLlNlcmllc0JhckNvbG9yZXIuZG93bkNvbG9yKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKSk7cmV0dXJuIHQuYmFyQm9yZGVyQ29sb3I/P3QuYmFyQ29sb3J9fXZhciBuZT1zKDUzNjcxMCk7Y29uc3Qgb2U9eS5DaGVja01vYmlsZS5hbnkoKTtjbGFzcyBhZSBleHRlbmRzIG5lLlN0dWR5RGF0YVdpbmRvd1ZpZXd7X3VwZGF0ZUltcGwoKXt0aGlzLl9oZWFkZXI9dGhpcy5fc3R1ZHkudGl0bGUoVy5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyk7bGV0IGU7dGhpcy5fc2hvd0xhc3RQcmljZUFuZENoYW5nZU9ubHkoKT9lPXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKTooZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSwobnVsbD09PWV8fGlzTmFOKGUpKSYmKGU9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpLCgwLApkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKSYmKGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P05hTikpKTtjb25zdCB0PXRoaXMuX3ZhbHVlUHJvdmlkZXIuZ2V0VmFsdWVzKGUpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7KytlKXtjb25zdCBzPXRbZV0saT10aGlzLl9pdGVtc1tlXTtpLnNldFZhbHVlKHMudmFsdWUpLGkuc2V0VmlzaWJsZShzLnZpc2libGUpLGkuc2V0Q29sb3Iocy5jb2xvcil9fV9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpe3JldHVybiBvZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X2NyZWF0ZVZhbHVlc1Byb3ZpZGVyKGUsdCl7cmV0dXJuIG5ldyByZShlLHQpfX12YXIgbGU9cyg5NjY0MDQpO2NsYXNzIHVlIGV4dGVuZHMgcmV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO2NvbnN0IHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTt0aGlzLl9zaG93QmFyQ2hhbmdlUHJvcD1zLnNob3dCYXJDaGFuZ2UsdGhpcy5fc2hvd0xhc3REYXlDaGFuZ2VQcm9wPXMuc2hvd0xhc3REYXlDaGFuZ2UsdGhpcy5fc2hvd1Nlcmllc09ITENQcm9wPXMuc2hvd1Nlcmllc09ITEN9Z2V0VmFsdWVzKGUpe2NvbnN0IHQ9c3VwZXIuZ2V0VmFsdWVzKGUpLHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLGk9cy5zdHlsZS52YWx1ZSgpLHI9MTIhPT1pLG49dGhpcy5fc2hvd1Nlcmllc09ITEMoKSxvPXImJnRoaXMuX3Nob3dCYXJDaGFuZ2VQcm9wLnZhbHVlKCksYT1yJiZ0aGlzLl9zaG93TGFzdERheUNoYW5nZVByb3AudmFsdWUoKTtpZih0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpKXJldHVybiB0WzddLnZpc2libGUmJj1vLHRbNl0udmlzaWJsZT0hMSx0O2NvbnN0IGw9KDAsUy5pc1ByaWNlU291cmNlU3R5bGUpKGkpLHU9MTIhPT1pJiYxNiE9PWkmJjIxIT09aSxjPTEyIT09aSxoPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpLGQ9biYmIWwsXz1uJiZsO2lmKHRbMF0udmlzaWJsZT1kJiZ1JiYhaCx0WzFdLnZpc2libGU9ZCYmIWgsdFsyXS52aXNpYmxlPWQmJiFoLHRbM10udmlzaWJsZT1kJiZjLHRbN10udmlzaWJsZSYmPWEsdFs2XS52aXNpYmxlJiY9byx0WzRdLnZpc2libGU9XywxNj09PWkpe2NvbnN0IGU9cy5obGNBcmVhU3R5bGUuY2hpbGRzKCk7dFsxXS5jb2xvcj1lLmhpZ2hMaW5lQ29sb3IudmFsdWUoKSx0WzJdLmNvbG9yPWUubG93TGluZUNvbG9yLnZhbHVlKCksdFszXS5jb2xvcj1lLmNsb3NlTGluZUNvbG9yLnZhbHVlKCl9cmV0dXJuIHR9X3Nob3dTZXJpZXNPSExDKCl7cmV0dXJuIHRoaXMuX3Nob3dTZXJpZXNPSExDUHJvcC52YWx1ZSgpfX12YXIgY2U9cyg3NDE2OTApLGhlPXMoOTQ3MzgyKTtjbGFzcyBkZSBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc3R1ZHlPdmVybGF5PWUsdGhpcy5fYmFja2dyb3VuZENvbG9yU3Bhd249dC5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMsKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKTtjb25zdCBzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5PSgwLGNlLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxzLnNob3dCYXJDaGFuZ2Uud2Vha1JlZmVyZW5jZSgpLHMuc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUuYmluZCh0aGlzLCgwLGxlLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkudmFsdWUoKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfWRlc3Ryb3koKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3JTcGF3bi5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5LmRlc3Ryb3koKX1fdXBkYXRlSW1wbCgpe3N1cGVyLl91cGRhdGVJbXBsKCk7e2NvbnN0IGU9KDAsaGUuZ2V0RGF0YVZlbmRvclN0cmluZykodGhpcy5fc3R1ZHlPdmVybGF5LnN5bWJvbEluZm8oKSk7dGhpcy5fYWRkaXRpb25hbD1lPyQudChudWxsLHZvaWQgMCxzKDM2NzUzOCkpKyIgIitlOm51bGx9fV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgdWUoZSx0KX19dmFyIF9lPXMoMzc2NjQ1KSxwZT1zKDI3MzE4NykseWU9cygzMjA2NjUpLG1lPXMoNjMyNTM1KSx2ZT1zKDIyODI1MSksZmU9cyg3MzQ0NzkpLFNlPXMoNjU5MjkxKSxnZT1zKDY5Nzc5OSksYmU9cygzMTE2MTkpLHdlPXMoMTU3ODUzKSxDZT1zKDcwMTUwNiksUGU9cygyNzU4NDkpO2NsYXNzIHhlIGV4dGVuZHMgUGUuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7CnJldHVybiB0aGlzLl9zb3VyY2UuaXNBY3R1YWxJbnRlcnZhbCgpP3RoaXMuX3NvdXJjZS5pc0ZhaWxlZCgpP2Ake3RoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9OiAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6YCR7dGhpcy5fc291cmNlLnRpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX0gJHt0aGlzLnNvdXJjZVN0YXR1c1RleHQoKX1gOnRoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9fXZhciBEZT1zKDE0MTM1MCk7Y2xhc3MgSWUgZXh0ZW5kcyB1ZXtfc2hvd1Nlcmllc09ITEMoKXtyZXR1cm4hMH19dmFyIFRlPXMoNDg5MDMxKSxWZT1zKDIwNTYyMik7Y2xhc3MgUmV7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdmFsdWVzUHJvdmlkZXI9bmV3IHJlKGUsdCwhMSl9Z2V0SXRlbXMoKXtjb25zdCBlPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKCksdD10aGlzLl9zdHVkeS5zdHlsZSgpO3JldHVybigwLFZlLmZpbGxTeW1ib2xTb3VyY2VWYWx1ZXNQcm92aWRlckl0ZW1zVmlzaWJpbGl0eSkoZSx0aGlzLl9zdHVkeS5wcmljZVNvdXJjZSgpLHQsdGhpcy5fbW9kZWwpLGVbN10udmlzaWJsZT0hMSxlfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKSxzPXRoaXMuX3N0dWR5LmRhdGEoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT10fHxudWxsPT09c3x8ZT50fHxlPHM/bnVsbDp0aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSl9fXZhciBBZT1zKDcyMzUyNSk7KDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSIpO2NvbnN0IExlPSh5LkNoZWNrTW9iaWxlLmFueSgpLCEwKSxFZT0oMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiIpLE1lPSgoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIiksKDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIikpLGtlPSEoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iKSxCZT0oMCxhLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5T3ZlcmxheSIpO3ZhciBOZTtmdW5jdGlvbiBGZShlLHQpe3JldHVybiBudWxsPT1lW3RdfSFmdW5jdGlvbihlKXtlLlNuYXBTaG90U3ltYm9sSW5mb0tleT0iX19fc25hcHNob3QifShOZXx8KE5lPXt9KSk7Y2xhc3MgT2UgZXh0ZW5kcyBtLlN0dWR5e2NvbnN0cnVjdG9yKGUsdCxzLHIsbyxhKXtzdXBlcihlLGZ1bmN0aW9uKGUpe2UuaGFzQ2hpbGQoImN1cnJlbmN5SWQiKXx8ZS5hZGRDaGlsZCgiY3VycmVuY3lJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLGUuaGFzQ2hpbGQoInVuaXRJZCIpfHxlLmFkZENoaWxkKCJ1bml0SWQiLG5ldyBiLlByb3BlcnR5KG51bGwpKSxlLmhhc0NoaWxkKCJtZXRyaWNJZCIpfHxlLmFkZENoaWxkKCJtZXRyaWNJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLCgwLENlLmFsbENoYXJ0U3R5bGVzKSgpLmluY2x1ZGVzKGUuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl8fGUuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgyKTtjb25zdCB0PWUuY2hpbGRzKCk7aWYodC5saW5lU3R5bGUuaGFzQ2hpbGQoInN0eWxlVHlwZSIpKXtjb25zdCBlPXQubGluZVN0eWxlLmNoaWxkcygpLHM9ZS5zdHlsZVR5cGUudmFsdWUoKTtsZXQgaSxyOzA9PT1zJiYocj0xNCxpPXQubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkpLDE9PT1zJiYocj0xNSxpPXQuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKSksaSYmKGkuY29sb3Iuc2V0VmFsdWVTaWxlbnRseShlLmNvbG9yLnZhbHVlKCkpLGkubGluZXN0eWxlLnNldFZhbHVlU2lsZW50bHkoZS5saW5lc3R5bGUudmFsdWUoKSksaS5saW5ld2lkdGguc2V0VmFsdWVTaWxlbnRseShlLmxpbmV3aWR0aC52YWx1ZSgpKSxpLnByaWNlU291cmNlLnNldFZhbHVlU2lsZW50bHkoZS5wcmljZVNvdXJjZS52YWx1ZSgpKSksdm9pZCAwIT09ciYmMj09PXQuc3R5bGUudmFsdWUoKSYmdC5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KHIpLHQubGluZVN0eWxlLnJlbW92ZVByb3BlcnR5KCJzdHlsZVR5cGUiKX1yZXR1cm4gZS5hZGRFeGNsdWRlZEtleSgiY3VycmVuY3lJZCIsMSksZS5hZGRFeGNsdWRlZEtleSgidW5pdElkIiwxKSxlLmFkZEV4Y2x1ZGVkS2V5KCJtZXRyaWNJZCIsMSksZX0odCkscyxyLG8sYSksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyBuLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgbi5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwsdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2Jhc2U9MTAwLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLl9kYXRhPW5ldyBjLlBsb3RMaXN0KCgwLHUuc2VyaWVzUGxvdEZ1bmN0aW9uTWFwKSgpLEZlKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQy5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSxMZSYmdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpO2NvbnN0IGg9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksCmguYWxsb3dFeHRlbmRUaW1lU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25BbGxvd0V4dGVuZFRpbWVTY2FsZUNoYW5nZWQpLHRoaXMuX29uQWxsb3dFeHRlbmRUaW1lU2NhbGVDaGFuZ2VkKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeUNoYW5nZUlucHV0cygpfSkpLGguc3R5bGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFN0eWxlQ2hhbmdlZCksaC5saW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYmFzZWxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24oKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25NaW5UaWNrQ2hhbmdlZCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fY2hlY2tTdHlsZSgpKSksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgbC5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMuX2RhdGEsKGU9PnUuYmFyRnVuY3Rpb25zW2VdKSk7Y29uc3QgZD0oKT0+dGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5zZXRWYWx1ZSh0aGlzLnN5bWJvbEluZm8oKSk7dGhpcy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLGQpLHRoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsZCksZCgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPSgwLHAuY3JlYXRlQWxpYXNTeW1ib2xJbmZvV1YpKHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpKSwodGhpcy5fYWxpYXNTeW1ib2xJbmZvV1Z8fHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8pLnN1YnNjcmliZSgoKCk9PnRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpKSx0aGlzLl9vdmVybGF5VmFsdWVzUHJvdmlkZXI9bmV3IHJlKHRoaXMsZSksdGhpcy5fb3ZlcmxheUxlZ2VuZFZhbHVlc1Byb3ZpZGVyPW5ldyB1ZSh0aGlzLGUpLHRoaXMuX292ZXJsYXlUYWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgUmUodGhpcyxlKSx0aGlzLl9vdmVybGF5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgSWUodGhpcyxlKSx0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9pc1VuaXRPcmlnaW4uc2V0VmFsdWUoITApfWRlc3Ryb3koKXsoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIuZGVzdHJveSgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfWJhc2UoKXtyZXR1cm4gdGhpcy5fYmFzZX1wcmVjb21wdXRlZEJhclN0eWxlKGUpe3JldHVybiB0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5nZXQoZSl9c2V0UHJlY29tcHV0ZWRCYXJTdHlsZShlLHQpe3RoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzLnNldChlLHQpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31iYXJDb2xvcmVyKCl7cmV0dXJuIG5ldyBRLlNlcmllc0JhckNvbG9yZXIoe2RhdGE6KCk9PnRoaXMuZGF0YSgpLGJhcnM6KCk9PnRoaXMuZGF0YSgpLG5zQmFyczooKT0+bmV3IGMuUGxvdExpc3QscHJpY2VTY2FsZTooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSkscHJvcGVydGllczooKT0+dGhpcy5wcm9wZXJ0aWVzKCksZmlyc3RWYWx1ZTooKT0+dGhpcy5maXJzdFZhbHVlKCksYmFyRnVuY3Rpb246KCk9PnRoaXMuYmFyRnVuY3Rpb24oKSxsaW5lQ29sb3JBdFlQZXJjZW50RnJvbVRvcDplPT50aGlzLmxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpfSl9c3ltYm9sUGFyYW1zKCl7cmV0dXJuKDAsUC5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsUC5jb21wYXJlU3ltYm9sUGFyYW1zKSh0aGlzLGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCksdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSl9YXN5bmMgc2V0U3ltYm9sUGFyYW1zKGUpe3RoaXMuX3NldFN5bWJvbFBhcmFtc0ludGVybmFsKGUpfXN5bWJvbCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXsKcmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2x9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xDaGFuZ2VkKCl9c2V0U3ltYm9sKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfXN5bWJvbEluZm8oKXtpZighdGhpcy5fcmVzb2x2ZWRTeW1ib2xzKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ7cmV0dXJuIHQ9dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpP3RoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdHx8bnVsbDp0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGwsdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiZudWxsPT09dCYmKHQ9KDAsXy5nZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvKSh0aGlzLl9yZXNvbHZlZFN5bWJvbHMsZSx0aGlzLmN1cnJlbmN5KCkpLG51bGwhPT10JiYodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLl9fX3NuYXBzaG90PXQpKSx0fXN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnJlYWRvbmx5KCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPz90aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPz9uZXcgbi5XYXRjaGVkVmFsdWUobnVsbCkpLnZhbHVlKCl9c3VwcG9ydHNDb25mbGF0ZWRDaHVua3MoKXtyZXR1cm4hMH1jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxQLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLHguc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfXByaWNlU291cmNlKCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtzd2l0Y2goZS5zdHlsZS52YWx1ZSgpKXtjYXNlIDI6cmV0dXJuIGUubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7Y2FzZSAxNDpyZXR1cm4gZS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIGUuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMzpyZXR1cm4gZS5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEwOnJldHVybiBlLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEzOnJldHVybiBlLmNvbHVtblN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCl9cmV0dXJuIG51bGx9YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cXVvdGVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcXVvdGVzUHJvdmlkZXJ9cXVvdGVzKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9Y3VycmVuY3koKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpfHxudWxsfXNldEN1cnJlbmN5KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTplfSl9dW5pdCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQudmFsdWUoKXx8bnVsbH1zZXRVbml0KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHt1bml0OmV9KX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH1zZXRNZXRyaWMoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe21ldHJpYzplfSl9c3R5bGUoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKX1zZXRTdHlsZShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3R5bGU6ZX0pfWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9YmFyc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXN9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxTLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm5bblswXSwuLi5uWzFdPz9bXV0uam9pbihgICR7Uy5zeW1ib2xUaXRsZVNlcGFyYXRvcn0gYCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMudGl0bGUoZSx0LHMsaSxyKV19Zmlyc3RWYWx1ZSgpewpjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWUuZmlyc3RCYXIoKTtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiB0aGlzLl9vd25GaXJzdFZhbHVlO2NvbnN0IHM9dGhpcy5kYXRhKCkuc2VhcmNoKHQsaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsMSk7cmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU9bnVsbCE9PXM/dGhpcy5fYmFyRnVuY3Rpb24ocy52YWx1ZSwwKTpudWxsLHRoaXMuX293bkZpcnN0VmFsdWV9bGluZUNvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7c3dpdGNoKHRoaXMuc3R5bGUoKSl7Y2FzZSAyOnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjYXNlIDE0OnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm4gbnVsbH1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LG49dGhpcy5wcmljZVNjYWxlKCk7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpfHxudWxsPT09bnx8bi5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gaTtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm4gaTtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFhLnZpc2libGUudmFsdWUoKSlyZXR1cm4gaTtjb25zdCBsPXRoaXMubmVhcmVzdEluZGV4KG8ubGFzdEJhcigpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQsMSk7aWYodm9pZCAwPT09bClyZXR1cm4gaTtjb25zdCB1PXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT11KXJldHVybiBpO2NvbnN0IGM9dGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvdyg0KSxkPW51bGwhPT1jJiZvLmNvbnRhaW5zKGMuaW5kZXgpLF89bnVsbCE9PWM/Yy52YWx1ZTpudWxsLHA9dHx8ZD9fOnRoaXMuZGF0YSgpLnZhbHVlQXQobCk7aWYobnVsbD09PXApcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9iYXJGdW5jdGlvbihwLDIpO2lmKCEoMCxyLmlzTnVtYmVyKSh5KSlyZXR1cm4gaTtjb25zdCBtPW4ucHJpY2VUb0Nvb3JkaW5hdGUoeSx1KTtsZXQgdjtzd2l0Y2goYS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6dj1wWzFdPD1wWzRdP2EuYmFyU3R5bGUuY2hpbGRzKCkudXBDb2xvci52YWx1ZSgpOmEuYmFyU3R5bGUuY2hpbGRzKCkuZG93bkNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxOnY9cFsxXTw9cFs0XT9hLmNhbmRsZVN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNhbmRsZVN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgOTp2PXBbMV08PXBbNF0/YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS51cENvbG9yLnZhbHVlKCk6YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS5kb3duQ29sb3IudmFsdWUoKTticmVhaztjYXNlIDEzOnY9cFsxXTw9cFs0XT9hLmNvbHVtblN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNvbHVtblN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgMjp2PWEubGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNDp2PWEubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTticmVhaztjYXNlIDE1OnY9YS5zdGVwbGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAzOnY9YS5hcmVhU3R5bGUuY2hpbGRzKCkubGluZWNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNjp2PWEuaGxjQXJlYVN0eWxlLmNoaWxkcygpLmNsb3NlTGluZUNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxMDp7Y29uc3QgZT1hLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dj1tPE1hdGgucm91bmQobi5oZWlnaHQoKSooTWF0aC5hYnMoMTAwLWUuYmFzZUxldmVsUGVyY2VudGFnZS52YWx1ZSgpKS8xMDApKT9lLnRvcExpbmVDb2xvci52YWx1ZSgpOmUuYm90dG9tTGluZUNvbG9yLnZhbHVlKCk7YnJlYWt9Y2FzZSAxMjp2PWEuaGlsb1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAyMTp2PWEuaGxjQmFyc1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb3ZlcmxheSBzdHlsZSIpfWNvbnN0IGY9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHksdSwhMCksbm9EYXRhOiExLGNvb3JkaW5hdGU6bSxjb2xvcjp2fTtyZXR1cm4gcyYmKGYucHJpY2U9eSksZn1wcmljZVJhbmdlKGUpe2NvbnN0e3N0YXJ0VGltZVBvaW50OnQsZW5kVGltZVBvaW50OnN9PWU7aWYoZS5mb3JjZU92ZXJsYXlPbmx5KXJldHVybiBudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikodCkpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3Qgc3RhcnRCYXIiKSxudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikocykpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3QgZW5kQmFyIiksbnVsbDtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5wcmljZVNvdXJjZSgpO2xldCBuO249bnVsbCE9PWk/dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOmksb2Zmc2V0OjB9XSk6dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7Y29uc3Qgbz1udWxsIT09bj9uZXcgRC5QcmljZVJhbmdlKG4ubWluLG4ubWF4KTpudWxsO3JldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UobyxlKX1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW9wZW4oZSl7CnJldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbMV19aGlnaChlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzJdfWxvdyhlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzNdfWNsb3NlKGUpe3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbNF19aGwyKGUpe3JldHVybih0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkpLzJ9aGxjMyhlKXtyZXR1cm4odGhpcy5oaWdoKGUpK3RoaXMubG93KGUpK3RoaXMuY2xvc2UoZSkpLzN9b2hsYzQoZSl7cmV0dXJuKHRoaXMub3BlbihlKSt0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkrdGhpcy5jbG9zZShlKSkvNH1jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpe3JldHVybiExfWFzeW5jIHN0YXJ0KGUsdCl7dGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsO2NvbnN0IHM9c3VwZXIuc3RhcnQoZSx0KTtyZXR1cm4gdGhpcy5wcmljZVNjYWxlKCk/LnVwZGF0ZUZvcm1hdHRlcigpLExlJiZ0aGlzLl9zZXRRdW90ZXNTeW1ib2woKDAsdy5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5zeW1ib2woKSkpKSxzfXN0b3AoZSl7c3VwZXIuc3RvcChlKSx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKG51bGwpfWZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9mb3JtYXR0ZXJ8fHRoaXMuX3JlY3JlYXRlRm9ybWF0dGVyKCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mb3JtYXR0ZXIpfXN0YXR1c1ZpZXcoKXtyZXR1cm4ga2U/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9bW92ZUl0ZW0oZSx0LHMpe2lmKDEwPT09dGhpcy5zdHlsZSgpJiYwPT09dCl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VTY2FsZSgpKSxzPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUscj10LmhlaWdodCgpLG49MTAwLWUueS9yKjEwMCxvPW48MD8wOk1hdGgucm91bmQoMTAqbikvMTA7cy5jaGlsZHMoKS5iYXNlTGV2ZWxQZXJjZW50YWdlLnNldFZhbHVlKE1hdGgubWF4KE1hdGgubWluKG8sMTAwKSwwKSl9fW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxTLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1hbGVydENyZWF0aW9uQXZhaWxhYmxlKCl7cmV0dXJuIG5ldyBuLldhdGNoZWRWYWx1ZSghdGhpcy5wcmljZVNjYWxlKCk/LmlzUGVyY2VudGFnZSgpJiZzdXBlci5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSkucmVhZG9ubHkoKX1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9vdmVybGF5TGVnZW5kVmFsdWVzUHJvdmlkZXJ9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVRhYmxlVmlld1ZhbHVlc1Byb3ZpZGVyfXZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyfWRlZmF1bHRQbG90SWRGb3JBbGVydCgpe3JldHVybiIifXRhZ3MoKXtjb25zdCBlPVtdLHQ9dGhpcy5zeW1ib2xJbmZvKCk7aWYodCllLnB1c2godC5uYW1lKTtlbHNle2NvbnN0IHQ9dGhpcy5zeW1ib2woKTt0JiZlLnB1c2godCl9cmV0dXJuIGV9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyB4ZSh0aGlzKX1pbnB1dHNJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuIG51bGx9X29uUHJvcGVydGllc0NoYW5nZWQoKXtzdXBlci5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwfWFzeW5jIF90cnlDaGFuZ2VJbnB1dHMoKXthd2FpdCBzdXBlci5fdHJ5Q2hhbmdlSW5wdXRzKCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMucHJpY2VTY2FsZSgpPy51cGRhdGVGb3JtYXR0ZXIoKX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKCl7SS5jdXN0b21Gb3JtYXR0ZXJzPy5wcmljZUZvcm1hdHRlckZhY3Rvcnk/Lih0aGlzLnN5bWJvbEluZm8oKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnZhbHVlKCkpO3JldHVybigwLFMuY3JlYXRlU2VyaWVzRm9ybWF0dGVyKSh0aGlzLmFsaWFzU3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxTLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5hbGlhc1N5bWJvbEluZm8oKSwiZGVmYXVsdCIpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpc31fb25Vbml0Q2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZ0aGlzLmlzU3RhcnRlZCgpJiZ0aGlzLl90cnlDaGFuZ2VJbnB1dHMoKSx0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X29uTWV0cmljQ2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX21ldHJpY0NoYW5nZWQuZmlyZSgpfV9nZXRTeW1ib2xPYmplY3QoZSx0KXtjb25zdCBzPXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscj10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXImJihzWyJjdXJyZW5jeS1pZCJdPXIpCjtjb25zdCBuPXRoaXMudW5pdCgpO3RoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09biYmKHNbInVuaXQtaWQiXT1uKTtjb25zdCBvPXRoaXMubWV0cmljKCk7cmV0dXJuIXQmJnRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJm51bGwhPT1vJiYocy5tZXRyaWM9bykscy5hZGp1c3RtZW50PSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpPyJkaXZpZGVuZHMiOiJzcGxpdHMiLHN9X29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KXt0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2xTb3VyY2U9dCxzdXBlci5fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMCl9X29uU3ltYm9sRXJyb3IoKXtzdXBlci5fb25TeW1ib2xFcnJvcigpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3N1cGVyLl9vblN5bWJvbFJlc29sdmVkKGUsdCxzKSx0aGlzLl9iYXNlPXM/cy5wcmljZXNjYWxlL3MubWlubW92OjEwMCx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpO2NvbnN0IGk9dD09PXRoaXMuc3ltYm9sKCk/KDAsZy5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShzLHRoaXMuc3ltYm9sKCkpOm51bGwscj0oMCxTLnN5bWJvbEN1cnJlbmN5KShzKSxuPSgwLFMuc3ltYm9sVW5pdCkocyx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksbz0oMCxTLnN5bWJvbE1ldHJpYykocyx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKTt0aGlzLl9zZXRTeW1ib2xQYXJhbXNJbnRlcm5hbCh7c3ltYm9sOmk/P3ZvaWQgMCxjdXJyZW5jeTpyLHVuaXQ6bixtZXRyaWM6b30scyksTGUmJnRoaXMuX3NldFF1b3Rlc1N5bWJvbCgoMCx3LmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLnN5bWJvbCgpKSkpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDE1OTk4KSxzLmUoNTUyNTMpLHMuZSg2ODM4MSldKS50aGVuKHMuYmluZChzLDQ2OTM5OCkpLnRoZW4oKGU9PmUuU3R1ZHlPdmVybGF5RGVmaW5pdGlvbnNWaWV3TW9kZWwpKX1fc2V0UXVvdGVzU3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5zeW1ib2xJbmZvKCkscz0oMCxnLmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKHQsZSksaT1zJiZ0aGlzLmdldFN5bWJvbFN0cmluZyhzLCEwKTt0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGkpfV9vblF1b3Rlc1VwZGF0ZShlLHQpeyF0aGlzLl9sZWdlbmRWaWV3fHx2b2lkIDA9PT10LnZhbHVlcy5jaGFuZ2UmJnZvaWQgMD09PXQudmFsdWVzLmNoYW5nZV9wZXJjZW50fHwodGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcHJpY2VBeGlzVmlld3M9W107Y29uc3QgZT1uZXcgayh0aGlzKTt0aGlzLl9wcmljZUF4aXNWaWV3c0Jhc2U9W2VdO2NvbnN0IHQ9bmV3IE4odGhpcyk7dGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cz1bdF0sdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2xldCBzPW51bGwscj1udWxsO3N3aXRjaCh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6cj1uZXcgcGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTpyPW5ldyB5ZS5TZXJpZXNDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA5OnI9bmV3IGdlLlNlcmllc0hvbGxvd0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEzOnI9bmV3IGJlLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OnI9bmV3IG1lLlNlcmllc0xpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDM6cj1uZXcgdmUuU2VyaWVzQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTY6cj1uZXcgZmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTA6e3I9bmV3IFNlLlNlcmllc0Jhc2VsaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLmNoaWxkcygpO3M9bmV3IFYuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5wcmljZVNjYWxlKCkpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6cj1uZXcgd2UuU2VyaWVzSGlMb1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMjE6cj1uZXcgVGUuU2VyaWVzSExDQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfXImJnRoaXMuX3BhbmVWaWV3cy5wdXNoKHIpLG51bGwhPT1zJiZ0aGlzLl9wYW5lVmlld3MucHVzaChzKSx0aGlzLl9wYW5lVmlld3MucHVzaChuZXcgSCh0aGlzKSksCnRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGFlKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9sZWdlbmRWaWV3fHwodGhpcy5fbGVnZW5kVmlldz1uZXcgZGUodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBULlN0dWR5U3RhdHVzVmlldyh0aGlzKSksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld3x8KHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc9bmV3IERlLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlXSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfZS5QYW5lUHJpY2VBeGlzVmlldyhlLHRoaXMsdGhpcy5fbW9kZWwpKX1fY3JlYXRlU3R1ZHlPblNlcnZlcigpe2NvbnN0IGU9c3VwZXIuX2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKTtyZXR1cm4gdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpLGV9X21vZGlmeVN0dWR5T25TZXJ2ZXIoZSl7c3VwZXIuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSwwKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG89W24ubGlzdGVkRXhjaGFuZ2Usbi5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW24udGl0bGUsb119X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fbWVyZ2VEYXRhKGUpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5tZXJnZURhdGEoZSl9X2NsZWFyRGF0YSgpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIuY2xlYXJEYXRhKCl9X21vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSl9X2luaXRDdXJyZW5jeU1ldGFEYXRhKCl7KDAsby5jb21iaW5lKSgoZT0+e2NvbnN0IHQ9KDAsUy5zeW1ib2xDdXJyZW5jeSkoZSk7bnVsbCE9PWUmJm51bGwhPT10P3RoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUoe29yaWdpbmFsQ3VycmVuY3k6KDAsUy5zeW1ib2xPcmlnaW5hbEN1cnJlbmN5KShlKSxjdXJyZW50Q3VycmVuY3k6dCxiYXNlQ3VycmVuY3k6KDAsUy5zeW1ib2xCYXNlQ3VycmVuY3kpKGUpLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTooMCxTLnN5bWJvbEN1cnJlbmN5Q29udmVydGlibGUpKGUpLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigwLFMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3kpKGUpLGN1cnJlbmN5T3JpZ2luTmFtZTooMCxTLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKX0pOnRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCl9KSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvLndlYWtSZWZlcmVuY2UoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxvLmNvbWJpbmUpKCgoZSx0KT0+e2NvbnN0IHM9dGhpcy5fbW9kZWwsaT0oMCxTLnN5bWJvbFVuaXQpKGUscy51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09dD90aGlzLl91bml0TWV0YURhdGEuc2V0VmFsdWUoe3VuaXRPcmlnaW5OYW1lOigwLFMucHJvU3ltYm9sKShlLHRoaXMuc3ltYm9sKCkpLGNvbnZlcnRpYmxlR3JvdXBzOigwLEFlLnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsUy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxTLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBNZT8iIjooZT0+dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUpPy5hbGlhc05hbWU/P2UpKHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUoZS5wcm9fbmFtZSk/LmFsaWFzTmFtZT8/ZS5uYW1lO2lmKEVlKXN3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjpyZXR1cm4gZS5kZXNjcmlwdGlvbjtjYXNlInRpY2tlci1hbmQtZGVzY3JpcHRpb24iOnJldHVybmAke3R9LCAke2UuZGVzY3JpcHRpb259YDtjYXNlImxvbmctZGVzY3JpcHRpb24iOnJldHVybiBlLmxvbmdfZGVzY3JpcHRpb24/P2UuZGVzY3JpcHRpb259cmV0dXJuIHR9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsUy5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9vbkFsbG93RXh0ZW5kVGltZVNjYWxlQ2hhbmdlZCgpe31fc2V0U3ltYm9sUGFyYW1zSW50ZXJuYWwoZSx0KXsKY29uc3R7c3ltYm9sOnMsY3VycmVuY3k6aSx1bml0OnIsbWV0cmljOm4sc3R5bGU6b309ZSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9YS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCksdT1hLmN1cnJlbmN5SWQudmFsdWUoKSxjPWEudW5pdElkLnZhbHVlKCksaD1hLm1ldHJpY0lkLnZhbHVlKCksZD1hLnN0eWxlLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnNldFZhbHVlU2lsZW50bHkocyksdm9pZCAwIT09aSYmYS5jdXJyZW5jeUlkLnNldFZhbHVlU2lsZW50bHkoaSksdm9pZCAwIT09ciYmYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseShyKSx2b2lkIDAhPT1uJiZhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkobiksdm9pZCAwIT09byYmYS5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KG8pLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihhLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbEN1cnJlbmN5KShlKSksYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSxhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkoKDAsUy5zeW1ib2xNZXRyaWMpKGUsdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSkpLHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8uc2V0VmFsdWUoZSkpfWEuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpIT09bCYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLmZpcmVDaGFuZ2VkKCksYS5jdXJyZW5jeUlkLnZhbHVlKCkhPT11JiZhLmN1cnJlbmN5SWQuZmlyZUNoYW5nZWQoKSxhLnVuaXRJZC52YWx1ZSgpIT09YyYmYS51bml0SWQuZmlyZUNoYW5nZWQoKSxhLm1ldHJpY0lkLnZhbHVlKCkhPT1oJiZhLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCksYS5zdHlsZS52YWx1ZSgpIT09ZCYmYS5zdHlsZS5maXJlQ2hhbmdlZCgpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X3VwZGF0ZUJhckZ1bmN0aW9uKCl7dGhpcy5fYmFyRnVuY3Rpb249KDAsdi5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV9vbk1pblRpY2tDaGFuZ2VkKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKHt0eXBlOiJnbG9iYWwtY2hhbmdlIn0pLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fY2hlY2tTdHlsZSgpe2NvbnN0IGU9dGhpcy5zdHlsZSgpOygwLFMuaXNDbG9zZUJhc2VkU3ltYm9sKSh0aGlzLnN5bWJvbEluZm8oKSl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKT8oMCxTLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKXx8KHRoaXMuc2V0U3R5bGUoMiksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnNldFN0eWxlKHRoaXMuX3N0eWxlVG9SZWNvdmVyLm9yaWdpbmFsU3R5bGUpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR8fHQubWV0cmljQ2hhbmdlZH1lJiYodGhpcy5fbW9kZWwucmVhbGlnbkxpbmVUb29scyh0aGlzKSx0aGlzLl9yZWFsaWduVG9vbHNMYXN0UGFyYW1zPXRoaXMuc3ltYm9sUGFyYW1zKCkpfX19LDg3NDM2OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTdHVkeVN0cmF0ZWd5OigpPT5CfSk7dmFyIGk9cygxNjc1MDIpLHI9cygxMzg2MzgpLG49cygyMzIzNjQpLG89cyg5NDgzODApLGE9cyg0OTAzOTkpLGw9cygxOTcyNzIpLHU9cyg1MDU1NiksYz1zKDczNjUzMSksaD1zKDEzNDY3KSxkPXMoNzYzKSxfPXMoNTE1OTIpLHA9cygxNTEyMSkseT1zKDY0MDc0NCk7ZnVuY3Rpb24gbShlLHQscyl7cmV0dXJuIHM/TWF0aC5zaWduKGUpKihNYXRoLnJvdW5kKE1hdGguYWJzKGUpKSt0KTpNYXRoLnJvdW5kKGUpK3R9Y2xhc3Mgdntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl90ZXh0V2lkdGhzPXR9ZHJhdyhlLHQpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOml9PXQ7dm9pZCAwIT09dGhpcy5fdGV4dFdpZHRocy5yZW5kZXJpbmdJbmZvJiYoMCxfLmVxdWFsUmVuZGVyaW5nSW5mb3MpKHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbyx0KXx8KHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbz10LHRoaXMuX3RleHRXaWR0aHMud2lkdGguY2xlYXIoKSk7Y29uc3Qgcj10aGlzLl9kYXRhO2UubGluZUpvaW49Im1pdGVyIixlLm1pdGVyTGltaXQ9TWF0aC5yb3VuZCgyKnMpLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWF4KDIsKDAseS5jZWlsZWRFdmVuKSgyKnMpKTtmb3IoY29uc3QgcyBvZiByLml0ZW1zKXtlLmJlZ2luUGF0aCgpCjtjb25zdCBuPSJsb3dlciI9PT1zLnBvcztlLnNhdmUoKTtjb25zdCBvPU1hdGgucm91bmQoci5vcmRlckFycm93LnZNYXJnaW4qaSk7ZS50cmFuc2xhdGUoMCxuP286LW8pLHRoaXMuX2RyYXdPcmRlckFycm93KGUscy5vcmRlclBvaW50LHIub3JkZXJBcnJvdyxyLmV4aXRMaW5lV2lkdGgsbix0KSxlLnJlc3RvcmUoKSxlLnNhdmUoKSx0aGlzLl9kcmF3UHJpY2VBcnJvdyhlLHMucHJpY2VQb2ludCxyLnByaWNlQXJyb3csIW4sdCksZS5yZXN0b3JlKCksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpLGUuZmlsbFN0eWxlPXIuZXhpdExpbmVXaWR0aD9yLmV4aXRDb2xvcjoiYnV5Ij09PXMudHlwZT9yLmJ1eUNvbG9yOnIuc2VsbENvbG9yLGUuZmlsbCgpfWNvbnN0IG49ci50ZXh0O24udmlzaWJsZSYmKDAscC5kcmF3U2NhbGVkKShlLHMsaSwoKCk9PntlLmZvbnQ9bi5mb250U2l6ZSsicHggIituLmZvbnQsZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9InRvcCIsZS5maWxsU3R5bGU9ci5sYWJlbENvbG9yLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWluKDIsTWF0aC5mbG9vcigyKnMpKTtmb3IoY29uc3QgdCBvZiByLml0ZW1zKXtjb25zdCBzPSJsb3dlciI9PT10LnBvcztlLnNhdmUoKTtjb25zdCBpPXM/MTotMSxvPXIub3JkZXJBcnJvdztlLnRyYW5zbGF0ZSgwLChvLmhlaWdodCtvLnZNYXJnaW4rci5leGl0TGluZVdpZHRoKSppKTtjb25zdCBhPXM/bi52TWFyZ2luOi1uLmZvbnRTaXplLW4udk1hcmdpbixsPWkqKG4uZm9udFNpemUrbi5saW5lU3BhY2luZyk7aWYodC5sYWJlbCYmKGUudHJhbnNsYXRlKDAsYSksZS5zdHJva2VUZXh0KHQubGFiZWwsTWF0aC5jZWlsKHQub3JkZXJQb2ludC54KSx0Lm9yZGVyUG9pbnQueSksZS5maWxsVGV4dCh0LmxhYmVsLE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQubGFiZWwpfHx0aGlzLl90ZXh0V2lkdGhzLndpZHRoLnNldCh0LmxhYmVsLGUubWVhc3VyZVRleHQodC5sYWJlbCkud2lkdGgpKSx0LnF0eSl7Y29uc3Qgcz1Cb29sZWFuKHQubGFiZWwpP2w6YTtlLnRyYW5zbGF0ZSgwLHMpLGUuc3Ryb2tlVGV4dCh0LnF0eSxNYXRoLmNlaWwodC5vcmRlclBvaW50LngpLHQub3JkZXJQb2ludC55KSxlLmZpbGxUZXh0KHQucXR5LE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQucXR5KXx8dGhpcy5fdGV4dFdpZHRocy53aWR0aC5zZXQodC5xdHksZS5tZWFzdXJlVGV4dCh0LnF0eSkud2lkdGgpfWUucmVzdG9yZSgpfX0pKX1oaXRUZXN0KGUpe2NvbnN0IHQ9dGhpcy5fdGVzdE9yZGVyQXJyb3dzKGUpLHM9IXQmJnRoaXMuX2RhdGEudGV4dCYmdGhpcy5fdGVzdFRleHQoZSk7cmV0dXJuIHR8fHM/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfV9kcmF3T3JkZXJBcnJvdyhlLHQscyxpLHIsbil7bGV0IG8sYTtyPyhlLnJvdGF0ZShNYXRoLlBJKSxvPS10LngsYT0tdC55KToobz10LngsYT10LnkpLGEtPXMuaGVpZ2h0K2k7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86bCx2ZXJ0aWNhbFBpeGVsUmF0aW86dX09bixjPU1hdGgubWF4KDEsTWF0aC5mbG9vcihsKSksaD1jJTI/LjU6MCxkPXI/ImZsb29yIjoiY2VpbCI7bz1tKG8qbCxoLHIpLGE9TWF0aC5yb3VuZCgoTWF0aFtkXShhKSsuNSkqdSksZS50cmFuc2xhdGUobyxhKTtjb25zdCBfPSgwLHkuY2VpbGVkRXZlbikocy53aWR0aCpsKS8yK2gscD0oMCx5LmNlaWxlZEV2ZW4pKHMudGFpbFdpZHRoKmwpLzIraCx2PU1hdGgucm91bmQocy50YWlsSGVpZ2h0KnUpO2lmKGUubW92ZVRvKC1wLDApLGUubGluZVRvKHAsMCksZS5saW5lVG8ocCx2KSxlLmxpbmVUbyhfLHYpLGUubGluZVRvKDAsTWF0aC5yb3VuZChzLmhlaWdodCp1KSksaSl7Y29uc3QgdD1NYXRoLmZsb29yKGMvMik7ZS5saW5lVG8oXyt0LE1hdGgucm91bmQocy5oZWlnaHQqdSkpLGUubGluZVRvKF8rdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKHMuaGVpZ2h0KnUpKSxlLmxpbmVUbygwLE1hdGgucm91bmQocy5oZWlnaHQqdSkpfWUubGluZVRvKC1fLHYpLGUubGluZVRvKC1wLHYpLGUubGluZVRvKC1wLDApLGUubGluZVRvKHAsMCl9X2RyYXdQcmljZUFycm93KGUsdCxzLGkscil7bGV0IG4sbztpPyhlLnJvdGF0ZShNYXRoLlBJKSxuPS10Lngsbz0tdC55KToobj10Lngsbz10LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOmx9PXIsdT1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLGM9dSUyPy41OjA7bj1tKG4qYSxjLGkpLXUsbz1tKG8qbCxjLGkpO2NvbnN0IGg9KDAseS5jZWlsZWRFdmVuKSgyKnMud2lkdGgqbCkvMixkPS0oTWF0aC5yb3VuZChzLndpZHRoKmEpK2MpO2UudHJhbnNsYXRlKG4sbyksZS5tb3ZlVG8oMCwwKSxlLmxpbmVUbyhkLC1oKSxlLmxpbmVUbyhkLGgpLGUubGluZVRvKDAsMCksZS5saW5lVG8oZCwtaCl9X3Rlc3RPcmRlckFycm93cyhlKXtjb25zdCB0PXRoaXMuX2RhdGEscz10Lm9yZGVyQXJyb3cud2lkdGgvMjtmb3IoY29uc3QgaSBvZiB0Lml0ZW1zKXtjb25zdCByPWkub3JkZXJQb2ludDtpZihlLng8ci54LXN8fGUueD5yLngrcyljb250aW51ZTtjb25zdCBuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrKG4/dC5vcmRlckFycm93LnZNYXJnaW46LXQub3JkZXJBcnJvdy52TWFyZ2luKSxsPU1hdGgubWluKGEsYStvKSx1PU1hdGgubWF4KGEsYStvKTtpZighKGUueTxsfHxlLnk+dSkpcmV0dXJuITB9cmV0dXJuITF9X3Rlc3RUZXh0KGUpe2NvbnN0IHQ9dGhpcy5fZGF0YSxzPXQudGV4dDtpZighcy52aXNpYmxlKXJldHVybiExO2Zvcihjb25zdCBpIG9mIHQuaXRlbXMpewpjb25zdCByPWkub3JkZXJQb2ludCxuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cudk1hcmdpbit0Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrbyxsPShpLmxhYmVsPzE6MCkrKGkucXR5PzE6MCk7bGV0IHU9cy52TWFyZ2luK3MuZm9udFNpemUqbCtzLmxpbmVTcGFjaW5nKk1hdGgubWF4KDAsbC0xKTtufHwodT0tdSk7Y29uc3QgYz1NYXRoLm1pbihhLGErdSksaD1NYXRoLm1heChhLGErdSk7aWYoZS55PGN8fGUueT5oKWNvbnRpbnVlO2NvbnN0IGQ9aS5sYWJlbCYmaS5xdHk/biYmZS55PGErcy5mb250U2l6ZXx8IW4mJmUueT5hLXMuZm9udFNpemU/aS5sYWJlbDppLnF0eTppLmxhYmVsfHxpLnF0eSxfPXRoaXMuX3RleHRXaWR0aHMud2lkdGguZ2V0KGQpO2lmKCEodm9pZCAwPT09X3x8ZS54PHIueC1fLzJ8fGUueD5yLngrXy8yKSlyZXR1cm4hMH1yZXR1cm4hMX19dmFyIGYsUz1zKDkyNjE0OSksZz1zKDkzNjMyNiksYj1zKDc4OTE5MCk7IWZ1bmN0aW9uKGUpe2VbZS5PcmRlckFycm93Vk1hcmdpbj0xMV09Ik9yZGVyQXJyb3dWTWFyZ2luIixlW2UuT3JkZXJBcnJvd1dpZHRoPTEwXT0iT3JkZXJBcnJvd1dpZHRoIixlW2UuT3JkZXJBcnJvd0hlaWdodD0xNV09Ik9yZGVyQXJyb3dIZWlnaHQiLGVbZS5PcmRlckFycm93VGFpbFdpZHRoPTJdPSJPcmRlckFycm93VGFpbFdpZHRoIixlW2UuT3JkZXJBcnJvd1RhaWxIZWlnaHQ9MTBdPSJPcmRlckFycm93VGFpbEhlaWdodCIsZVtlLk9yZGVyQXJyb3dFeGl0TGluZVdpZHRoPTJdPSJPcmRlckFycm93RXhpdExpbmVXaWR0aCIsZVtlLlByaWNlQXJyb3dXaWR0aD01XT0iUHJpY2VBcnJvd1dpZHRoIixlW2UuVGV4dFZNYXJnaW49N109IlRleHRWTWFyZ2luIixlW2UuRm9udFNpemU9MTJdPSJGb250U2l6ZSIsZVtlLkxpbmVTcGFjaW5nPTJdPSJMaW5lU3BhY2luZyIsZVtlLlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZz0xMF09IlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZyJ9KGZ8fChmPXt9KSk7Y29uc3Qgdz17QnV5Q29sb3I6KDAsdS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksU2VsbENvbG9yOiIjRkYxNzQ0IixFeGl0Q29sb3I6IiNENTAwRjkiLExhYmVsRGFya0NvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksTGFiZWxMaWdodENvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIil9O2Z1bmN0aW9uIEMoZSl7cmV0dXJuITE9PT1lLmU/ImV4aXQiOmUuYj8iZW50cnlCdXkiOiJlbnRyeVNlbGwifWZ1bmN0aW9uIFAoZSl7cmV0dXJuIGUuYj8iYnV5Ijoic2VsbCJ9ZnVuY3Rpb24geChlLHQpe3JldHVybiB0PyFlLmI6ZS5ifWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4geChlLHQpPyJsb3dlciI6InVwcGVyIn1mdW5jdGlvbiBJKGUsdCxzKXtsZXQgaT1lW3RdLmdldChzKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9MCxlW3RdLnNldChzLGkpKSxpfWZ1bmN0aW9uIFQoZSx0LHMsaSl7Y29uc3Qgbj0oMCxyLmVuc3VyZURlZmluZWQpKGVbdF0uZ2V0KHMpKTtlW3RdLnNldChzLG4raSl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiB0JiYoZS5jfHxlLmlkfHwiVW50aXRsZWQiKXx8IiJ9ZnVuY3Rpb24gUihlLHQpe3JldHVybiB0JiYoZS5iPyIrIjoiLSIpK2UucXx8IiJ9ZnVuY3Rpb24gQShlLHQscyl7cmV0dXJuKDAsci5lbnN1cmVOb3ROdWxsKShlLmI/cy52YWx1ZUF0KHQsMyk6cy52YWx1ZUF0KHQsMikpfWZ1bmN0aW9uIEwoZSx0KXtyZXR1cm4oImV4aXQiPT09QyhlKT8yOjApK3Qudk1hcmdpbit0LmhlaWdodH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhzPXt3aWR0aDpuZXcgTWFwfSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Nlcmllcz10LHRoaXMuX21vZGVsPXMsdGhpcy5fb3JkZXJBcnJvdz17dk1hcmdpbjoxMSx3aWR0aDoxMCxoZWlnaHQ6MTUsdGFpbFdpZHRoOjIsdGFpbEhlaWdodDoxMH0sdGhpcy5fcHJpY2VBcnJvdz17d2lkdGg6NX0sdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0PXt2TWFyZ2luOjcsZm9udDp0aGlzLl9wcmV2aW91c0ZvbnQsZm9udFNpemU6MTIsbGluZVNwYWNpbmc6Mix2aXNpYmxlOiEwfSx0aGlzLl9pdGVtcz17ZW50cnlCdXk6W10sZW50cnlTZWxsOltdLGV4aXQ6W119LHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUpfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWNsZWFySXRlbXMoKXt0aGlzLl9pdGVtcy5lbnRyeUJ1eT1bXSx0aGlzLl9pdGVtcy5lbnRyeVNlbGw9W10sdGhpcy5faXRlbXMuZXhpdD1bXX1yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFlLnZpc2libGUudmFsdWUoKXx8IWUuc3RyYXRlZ3kuY2hpbGRzKCkub3JkZXJzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RofHx0aGlzLl9pdGVtcy5lbnRyeVNlbGwubGVuZ3RofHx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCl7Y29uc3QgZT1uZXcgYi5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RoJiZlLmFwcGVuZCh0aGlzLl9zdHJhdGVneU9yZGVyc1JlbmRlcmVyKHRoaXMuX2l0ZW1zLmVudHJ5QnV5LCExKSksdGhpcy5faXRlbXMuZW50cnlTZWxsLmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5lbnRyeVNlbGwsITEpKSx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5leGl0LCEwKSksZX1yZXR1cm4gbnVsbH0KX3N0cmF0ZWd5T3JkZXJzUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT0iYmxhY2siPT09KDAsaC5yZ2JUb0JsYWNrV2hpdGVTdHJpbmcpKCgwLGgucGFyc2VSZ2IpKHMpLDE1MCk7cmV0dXJuIG5ldyB2KHtpdGVtczplLGJ1eUNvbG9yOncuQnV5Q29sb3Isc2VsbENvbG9yOncuU2VsbENvbG9yLGV4aXRDb2xvcjp3LkV4aXRDb2xvcixsYWJlbENvbG9yOmk/dy5MYWJlbERhcmtDb2xvcjp3LkxhYmVsTGlnaHRDb2xvcixiZ0NvbG9yOnMsb3JkZXJBcnJvdzp0aGlzLl9vcmRlckFycm93LGV4aXRMaW5lV2lkdGg6dD8yOjAscHJpY2VBcnJvdzp0aGlzLl9wcmljZUFycm93LHRleHQ6dGhpcy5fdGV4dH0sdGhpcy5fdGV4dFdpZHRocyl9X3VwZGF0ZUltcGwoKXt0aGlzLmNsZWFySXRlbXMoKSx0aGlzLl9wcmV2aW91c0ZvbnQhPT1TLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkmJih0aGlzLl90ZXh0V2lkdGhzLndpZHRoLmNsZWFyKCksdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0LmZvbnQ9dGhpcy5fcHJldmlvdXNGb250KTtjb25zdCBlPXRoaXMuX3N0dWR5Lm9yZGVyc0RhdGEoKTtpZighZXx8IWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fc2VyaWVzLnByaWNlU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKHQuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8bnVsbD09PWkpcmV0dXJuO2NvbnN0IG49dGhpcy5fc3R1ZHkuYmFyc0luZGV4ZXMoKSxvPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLGcuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxhPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksZy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09b3x8dm9pZCAwPT09YSlyZXR1cm47Y29uc3RbbCx1XT1mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPVtdLG49W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDsrK28pe2NvbnN0IGE9aVtvXTthPHR8fGE+c3x8KHIucHVzaChlW29dKSxuLnB1c2goYSkpfXJldHVybltyLG5dfShlLG8sYSxuKSxbaCxkXT10aGlzLl9sYWJlbEFuZFF0eVZpc2liaWxpdHkobC5sZW5ndGgpLF89aHx8ZCxwPXRoaXMuX3RleHRIZWlnaHQoaCxkKSx5PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKSksbT1zLmlzSW52ZXJ0ZWQoKSx2PXt1cHBlcjpuZXcgTWFwLGxvd2VyOm5ldyBNYXB9O2ZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXtjb25zdCBpPWxbZV0scj14KGksbSksbj11W2VdLG89dC5pbmRleFRvQ29vcmRpbmF0ZShuKSxhPUEoaSxuLHRoaXMuX3Nlcmllcyk7bGV0IF89cy5wcmljZVRvQ29vcmRpbmF0ZShhLHkpO2NvbnN0IGY9RChpLG0pLFM9SSh2LGYsbik7Xys9cj9TOi1TO1QodixmLG4sTChpLHRoaXMuX29yZGVyQXJyb3cpK3ApO2NvbnN0IGc9cy5wcmljZVRvQ29vcmRpbmF0ZShpLnAseSksYj1DKGkpO3RoaXMuX2l0ZW1zW2JdLnB1c2goe29yZGVyUG9pbnQ6bmV3IGMuUG9pbnQobyxfKSxwcmljZVBvaW50Om5ldyBjLlBvaW50KG8sZyksbGFiZWw6VihpLGgpLHF0eTpSKGksZCkscG9zOmYsdHlwZTpQKGkpfSl9dGhpcy5fdGV4dC52aXNpYmxlPV99X2xhYmVsQW5kUXR5VmlzaWJpbGl0eShlKXtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuYmFyU3BhY2luZygpPDEwJiZ0aGlzLl9vcmRlckFycm93LndpZHRoKmUqMj50LndpZHRoKCkpcmV0dXJuWyExLCExXTtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuY2hpbGRzKCk7cmV0dXJuW3Muc2hvd0xhYmVscy52YWx1ZSgpLHMuc2hvd1F0eS52YWx1ZSgpXX1fdGV4dEhlaWdodChlLHQpe3JldHVybiBlfHx0P2UmJnQ/Mip0aGlzLl90ZXh0LmZvbnRTaXplK3RoaXMuX3RleHQudk1hcmdpbit0aGlzLl90ZXh0LmxpbmVTcGFjaW5nOnRoaXMuX3RleHQuZm9udFNpemUrdGhpcy5fdGV4dC52TWFyZ2luOjB9fXZhciBNPXMoMjI2OTM3KTtjb25zdCBrPVsic3RyYXRlZ3lfcHJvcHMiXTtjbGFzcyBCIGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsYSxsLHUpe3N1cGVyKGUsdCxzLGkscixhLGwpLHRoaXMud2F0Y2hlZERhdGE9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9yZXBvcnRDaGFuZ2VkPW5ldyBvLkRlbGVnYXRlLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX3NyY0JhcnNJbmRleGVzPVtdLHRoaXMuX3JlcG9ydERhdGFCdWZmZXI9bnVsbCx0aGlzLl9hY3RpdmVTdGF0ZT0hMSx1fHwodC5jaGlsZHMoKS52aXNpYmxlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCl9KSksdGhpcy5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCkpKSx0aGlzLl9wcm9jZXNzQ2hhbmdlVmlzaWJpbGl0eShhKSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1vZGVsKCkucmVtb3ZlU3RyYXRlZ3lTb3VyY2UodGhpcywwKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4gYS5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKX1jYW5IYXNBbGVydE9uTGluZVRvb2xzKCl7cmV0dXJuITF9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pbnB1dHMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0LmlkXTtzJiZ0LmludGVybmFsSUQmJihzLmludGVybmFsSUQ9dC5pbnRlcm5hbElEKX0pKSxlfXJlcG9ydERhdGEoKXsKcmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fcmVwb3J0RGF0YUJ1ZmZlcj1udWxsLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3JiZ0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3LmNsZWFySXRlbXMoKSx0aGlzLl9yZXBvcnRDaGFuZ2VkLmZpcmUoe2FjdGl2ZU9yZGVyc0NoYW5nZWQ6ITAsZmlsbGVkT3JkZXJzQ2hhbmdlZDohMCxwb3NpdGlvbkNoYW5nZWQ6ITB9KX1yZXBvcnRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3JlcG9ydENoYW5nZWR9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiB0aGlzLmlzU291cmNlSGlkZGVuKCk/bnVsbDp0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3fXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2NvbnN0IHQ9ZTt0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKSx0LnJlcG9ydERhdGEmJnQuYmFyc0luZGV4ZXMmJih0aGlzLl9yZXBvcnREYXRhPXQucmVwb3J0RGF0YSx0aGlzLl9iYXJzSW5kZXhlcz10LmJhcnNJbmRleGVzLHRoaXMud2F0Y2hlZERhdGEuc2V0VmFsdWUoe21ldGhvZDoiZGF0YV91cGRhdGUiLG5vblNlcmllc0RhdGE6e2luZGV4ZXNfcmVwbGFjZTohMSxkYXRhOntyZXBvcnQ6dGhpcy5fcmVwb3J0RGF0YX19fSkpLHQuYWN0aXZlU3RhdGUmJih0aGlzLl9hY3RpdmVTdGF0ZT0hMCl9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlU3RhdGV9dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldyYmdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldy51cGRhdGUoKX1zdGF0ZShlLHQpe2NvbnN0IHM9c3VwZXIuc3RhdGUoZSx0KTtyZXR1cm4gZSYmdGhpcy5fcmVwb3J0RGF0YSYmdGhpcy5fYmFyc0luZGV4ZXMmJihzLmRhdGF8fChzLmRhdGE9e30pLHMuZGF0YS5yZXBvcnREYXRhPXRoaXMuX3JlcG9ydERhdGEscy5kYXRhLmJhcnNJbmRleGVzPXRoaXMuX2JhcnNJbmRleGVzLHMuZGF0YS5hY3RpdmVTdGF0ZT10aGlzLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS52YWx1ZSgpPT09dGhpcyksc31waW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgTS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw0ODMzNjApKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTdHJhdGVneVNvdXJjZUNvZGVNb2RlbCh0aGlzKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsLnByb21pc2UoKSk6UHJvbWlzZS5yZXNvbHZlKG51bGwpfV9vbkRhdGEoZSl7ZS5tZXRob2QmJiJkYXRhX3VwZGF0ZSIhPT1lLm1ldGhvZCYmdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOmUubWV0aG9kfSksc3VwZXIuX29uRGF0YShlKX1fb25EYXRhVXBkYXRlZChlLHQscyxuKXtsZXQgbz10JiYhdC5pbmRleGVzX3JlcGxhY2UmJnQuZGF0YSYmdC5kYXRhLnJlcG9ydDtpZihvKXtjb25zdCBlPSEoMCxpLmRlZmF1bHQpKG8uYWN0aXZlT3JkZXJzLHRoaXMuX3JlcG9ydERhdGE/LmFjdGl2ZU9yZGVycykscz0hKDAsaS5kZWZhdWx0KShvLmZpbGxlZE9yZGVycyx0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnMpLG49ISgwLGkuZGVmYXVsdCkoby5wb3NpdGlvbix0aGlzLl9yZXBvcnREYXRhPy5wb3NpdGlvbik7dCYmIXQuaW5kZXhlc19yZXBsYWNlJiZ0LmlzVXBkYXRlJiZ0aGlzLl9yZXBvcnREYXRhQnVmZmVyJiYobz17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSksdGhpcy5fcmVwb3J0RGF0YT17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSx0aGlzLl9yZXBvcnREYXRhQnVmZmVyPXRoaXMuX3JlcG9ydERhdGEsdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOiJkYXRhX3VwZGF0ZSIsbm9uU2VyaWVzRGF0YTooMCxyLmVuc3VyZU5vdE51bGwpKHQpfSksdGhpcy5fcmVwb3J0Q2hhbmdlZC5maXJlKHthY3RpdmVPcmRlcnNDaGFuZ2VkOmUsZmlsbGVkT3JkZXJzQ2hhbmdlZDpzLHBvc2l0aW9uQ2hhbmdlZDpufSl9ZWxzZSB0aGlzLndhdGNoZWREYXRhLnNldFZhbHVlKHttZXRob2Q6ImRhdGFfdXBkYXRlIixub25TZXJpZXNEYXRhOntpbmRleGVzX3JlcGxhY2U6ITEsZGF0YTp7cmVwb3J0OnRoaXMuX3JlcG9ydERhdGFCdWZmZXJ9fX0pO2NvbnN0IGE9ISghdHx8IXQuaW5kZXhlc19yZXBsYWNlKTsoIm5vY2hhbmdlIiE9PXMmJnMubGVuZ3RoPjB8fCh0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/Lmxlbmd0aD8/MCkhPT10aGlzLl9iYXJzSW5kZXhlcy5sZW5ndGgpJiYob3x8YSkmJnRoaXMuX2NvbGxhdGVCYXJzSW5kZXhlcyhBcnJheS5pc0FycmF5KHMpP3M6dGhpcy5fc3JjQmFyc0luZGV4ZXMpLHN1cGVyLl9vbkRhdGFVcGRhdGVkKGUsdCxzLG4pfV9jcmVhdGVWaWV3cygpe3N1cGVyLl9jcmVhdGVWaWV3cygpLHRoaXMuX3N0cmF0ZWd5T3JkZXJzUGFuZVZpZXc9bmV3IEUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwpfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHtzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6ayxub0V4Y2hhbmdlczp0LGRpc3BsYXlNYXNrOmV9KX1fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpe3JldHVybiJzdHJhdGVneSJ9X2NvbGxhdGVCYXJzSW5kZXhlcyhlKXt0aGlzLl9zcmNCYXJzSW5kZXhlcz1lCjtjb25zdCB0PXRoaXMuX3JlcG9ydERhdGE/LmZpbGxlZE9yZGVycztpZih0JiZ0Lmxlbmd0aCl7dGhpcy5fYmFyc0luZGV4ZXMubGVuZ3RoPTA7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspdGhpcy5fYmFyc0luZGV4ZXNbc109ZVt0W3NdLnRtXX19X3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KGUpe2NvbnN0IHQ9ITA9PT1lPzI6MDt0aGlzLmlzU291cmNlSGlkZGVuKCk/dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsdCk6dGhpcy5tb2RlbCgpLmFkZFN0cmF0ZWd5U291cmNlKHRoaXMsdCl9fX0sOTYwOTYyKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfXMuZCh0LHtoYXNOdW1iZXI6KCk9Pml9KX0sMjQxNTMyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjYzNSAzLjEzNUE3IDcgMCAwIDEgMTYgMTAuMDAxaC0xYTYuMDAzIDYuMDAzIDAgMCAwLTcuMTctNS44ODVBNiA2IDAgMCAwIDkgMTZ2MUE3LjAwMSA3LjAwMSAwIDAgMSA0LjA1IDUuMDVhNyA3IDAgMCAxIDMuNTg1LTEuOTE2TTE0IDE0LjAwMWgydjFoLTJ2MmgtMXYtMmgtMnYtMWgydi0yaDF6bS00LTNIN3YtMWgyVjdoMXpNNC44MzYgMS42OTdsLTMuNjIgMy43MTZMLjUgNC43MTYgNC4xMiAxem0xMi42NjEgMy4wMTgtLjcxNy42OTgtMy42MTktMy43MTYuNzE3LS42OTh6Ii8+PC9zdmc+J30sMTg2OTgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDVhNS41IDUuNSAwIDEgMSAwIDExQTUuNSA1LjUgMCAwIDEgOSA1bS0uNSA1SDZ2MS41aDRWN0g4LjV6TTYuMDAyIDMuMDYzIDIuMDYgNi45OTUgMSA1LjkzMyA0Ljk0MyAyem0xMSAyLjg3LTEuMDYgMS4wNjJMMTIgMy4wNjMgMTMuMDU5IDJ6Ii8+PC9zdmc+J30sNDM1MjczKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMi41NyA1LjVoLS4wN2EzLjUgMy41IDAgMSAwIC4wNyA3QTQuOTggNC45OCAwIDAgMSA0IDlhNSA1IDAgMCAxIDguNTctMy41eiIvPjwvc3ZnPid9LDU1MTQzMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIuMjIgMTEuNzhBMy40NyAzLjQ3IDAgMCAwIDkgNi45OGEzLjQ4IDMuNDggMCAwIDAtMy4yMiA0LjggNi45NyA2Ljk3IDAgMCAxIDYuNDQgMHpNNC4xOCA5LjgzTDIuMSA5LjI4bC4zMy0xLjI0IDIuMDcuNTUtLjMzIDEuMjR6TTYuMzggNi4zNmwtLjktMS45NCAxLjE2LS41NC45IDEuOTQtMS4xNi41NHpNMTAuNDYgNS44MmwuOS0xLjk0IDEuMTYuNTQtLjkgMS45NC0xLjE2LS41NHpNMTMuNDkgOC42bDIuMDctLjU2LjMzIDEuMjQtMi4wNy41NS0uMzMtMS4yNHoiLz48L3N2Zz4nfSwyNDEyMjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTI0LjUgMTRBMTAuNSAxMC41IDAgMSAwIDE0IDI0LjVWMjZhMTIgMTIgMCAxIDEgMC0yNCAxMiAxMiAwIDAgMSAwIDI0di0xLjVjNS44IDAgMTAuNS00LjcgMTAuNS0xMC41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcuMyAxNEE0LjMgNC4zIDAgMCAwIDEzIDkuN2gtMS4zdjguNkgxM1YyMGgtM1Y4aDNhNiA2IDAgMCAxIC4zIDEySDEzdi0xLjdhNC4zIDQuMyAwIDAgMCA0LjMtNC4zIi8+PC9zdmc+J30sMzUzMjA2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMyAzYTIgMiAwIDAgMSAyIDJ2MThhMiAyIDAgMCAxLTEuOCAxLjk5TDIzIDI1SDVsLS4yLS4wMUEyIDIgMCAwIDEgMyAyMy4yTDMgMjN2LTYuMDhjLjQ5LjA1Ljk4LjMyIDEuNS41OFYyM2MwIC4yOC4yMi41LjUuNWgxOGEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY1LjVBNCA0IDAgMCAwIDMgMTBWNWMwLTEuMS45LTIgMi0yeiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYuMSAxNi45NmMtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NVYxNS4xYTIuNCAyLjQgMCAwIDEgMS45LS44NWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOXExLjIyLS4wMiAxLjg1LS44NXYxLjYyYy0uNC40Ny0xLjA0Ljg0LTEuOS44NE02LjEgMTMuN2MtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NHYtMS42MUEyLjQgMi40IDAgMCAxIDIuOSAxMWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOS44MSAwIDEuNDQtLjMyIDEuODUtLjg1djEuNjFjLS40LjQ4LTEuMDQuODUtMS45Ljg1TTExIDIwVjloNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjIweiIvPjwvc3ZnPid9LDUzNjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjMuNVYyNUg1di0xLjV6bS41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXYxOGMwIC4yOC4yMi41LjUuNVYyNWwtLjItLjAxQTIgMiAwIDAgMSAzIDIzLjJMMyAyM1Y1YzAtMS4xLjktMiAyLTJoMThhMiAyIDAgMCAxIDIgMnYxOGEyIDIgMCAwIDEtMS44IDEuOTlMMjMgMjV2LTEuNWEuNS41IDAgMCAwIC41LS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgMjBWOWg2LjV2MS43aC00Ljh2Mi45NWgzLjh2MS43aC0zLjh2Mi45NWg0LjhWMjB6Ii8+PC9zdmc+J30sNTUyMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDMuNVYyaDE4djEuNXptLS41LjV2MTQuMjNxLjAxLjI3LjIzLjQybDkgNS43N2MuMTYuMS4zNy4xLjU0IDBsOS01Ljc3YS41LjUgMCAwIDAgLjIzLS40MlY0YS41LjUgMCAwIDAtLjUtLjVWMmwuMi4wMWEyIDIgMCAwIDEgMS44IDJ2MTQuMjJhMiAyIDAgMCAxLS44MiAxLjYxbC0uMS4wNy05IDUuNzdhMiAyIDAgMCAxLTIuMTYgMGwtOS01Ljc3QTIgMiAwIDAgMSAzIDE4LjIzVjRhMiAyIDAgMCAxIDEuOC0xLjk5SDV2MS41YS41LjUgMCAwIDAtLjUuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDE4VjdoNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjE4eiIvPjwvc3ZnPid9LDMwNzcwOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjQuNVYyNkg1di0xLjV6bS41LS41VjkuNzhhLjUuNSAwIDAgMC0uMjMtLjQzbC05LTUuNzdhLjUuNSAwIDAgMC0uNTQgMGwtOSA1Ljc3YS41LjUgMCAwIDAtLjIzLjQzVjI0YzAgLjI4LjIyLjUuNS41VjI2bC0uMi0uMDFBMiAyIDAgMCAxIDMgMjRWOS43OGEyIDIgMCAwIDEgLjgyLTEuNjJsLjEtLjA3IDktNS43N2EyIDIgMCAwIDEgMi4xNiAwbDkgNS43N0EyIDIgMCAwIDEgMjUgOS43N1YyNGEyIDIgMCAwIDEtMiAydi0xLjVhLjUuNSAwIDAgMCAuNS0uNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIxVjEwaDYuNXYxLjdoLTQuOHYyLjk1aDMuOHYxLjdoLTMuOHYyLjk1aDQuOFYyMXoiLz48L3N2Zz4nfSw3NTI3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjQuNSAxNEExMC41IDEwLjUgMCAxIDAgMTQgMjQuNVYyNmExMiAxMiAwIDEgMSAwLTI0IDEyIDEyIDAgMCAxIDAgMjR2LTEuNWM1LjggMCAxMC41LTQuNyAxMC41LTEwLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMS4xIDE0LjAzIDE3LjA1IDEwIDE2IDExLjA2bDIuMjIgMi4yMmgtNS4zOEw4LjU2IDkgNy41IDEwLjA2bDQuNzIgNC43Mmg2TDE2IDE3bDEuMDYgMS4wNnpNMTAgMTVsLTMgMyAxLjA2IDEuMDYgMy0zeiIvPjwvc3ZnPid9LDY5MTk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNC41IDE0QTEwLjUgMTAuNSAwIDEgMCAxNCAyNC41VjI2YTEyIDEyIDAgMSAxIDAtMjQgMTIgMTIgMCAwIDEgMCAyNHYtMS41YzUuOCAwIDEwLjUtNC43IDEwLjUtMTAuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjk5IDhxMS4xNCAwIDEuOTcuNDNBMy4zIDMuMyAwIDAgMSAxNy43OCAxMUgxNnEtLjEtLjMtLjI5LS41NWEyIDIgMCAwIDAtLjctLjU0IDMgMyAwIDAgMC0xLjAzLS4ycS0uNTcgMC0xIC4yLS40NS4xOS0uNy41NGExLjQgMS40IDAgMCAwLS4yNS44NHEwIC40LjE4LjcyLjIuMy41OC41My40LjIyIDEuMDQuMzdsMS4xLjI2cTEuMDkuMjYgMS43Ni42OC42Ny40MSAxIDEuMDQuMy42MS4zMSAxLjQ5IDAgMS4xMy0uNDkgMS45Mi0uNDguODEtMS4zOSAxLjI2VDE0IDIwcS0xLjIgMC0yLjA4LS40MUEzLjI4IDMuMjggMCAwIDEgMTAgMTdoMS44cS4wOS4zLjMuNTMuMy4zNi44LjU2YTMuMSAzLjEgMCAwIDAgMi4yNS0uMDFxLjQ4LS4yMi43NS0uNi4yNy0uMzYuMjctLjg2di0uMDFxMC0uNjItLjQ0LTFhMyAzIDAgMCAwLTEuNDMtLjY0bC0xLjEtLjI1cS0xLjA1LS4yNS0xLjcxLS43dC0uOTgtMS4xcS0uMzItLjY1LS4zMi0xLjQ5IDAtMS4wNC40OS0xLjguNDgtLjc2IDEuMzQtMS4yQTQgNCAwIDAgMSAxNCA4Ii8+PC9zdmc+J319XSk7"}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/css/styles/owl.carousel.min.css","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.200Z","timestamp":1785124875200,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /css/styles/owl.carousel.min.css HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 01 Feb 2022 20:36:10 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f999ba-d17\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3351,"size_decoded":1373,"mime_type":"text/css","magic":"ASCII text, with very long lines (3184)","md5":"b2752a850d44f50036628eeaef3bfcfa","sha1":"fba46353cf90450ef3d362a123f1e7af3e8c561e","sha256":"521410e1fc44780061e09adc980275fb5ea277fd5d9e538454214ec4379ff4bc","sha512":"b52dd2e6a1b40658674113b2257bcd8de10ce14a4c5c7ad07d31a66d0d602a67a50b195210151ac614418ff1054f3a5b3f84554aba448a46e6749a1b0af844de","ssdeep":"","tlshash":"9161bbe5314a225f480f83121dd81e86393dcc52d8660a5a92bbd71447dae6d213ffcf","first_seen":"2023-04-05T13:49:19Z","last_seen":"2026-07-27T06:13:17.007165Z","times_seen":42593,"resource_available":false,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4zLjQKICogQ29weXJpZ2h0IDIwMTMtMjAxOCBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFCiAqLwoub3dsLWNhcm91c2VsLC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtwb3NpdGlvbjpyZWxhdGl2ZX0ub3dsLWNhcm91c2Vse2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO3otaW5kZXg6MX0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2V7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpwYW4tWTt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uOy1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVye2NvbnRlbnQ6Ii4iO2Rpc3BsYXk6YmxvY2s7Y2xlYXI6Ym90aDt2aXNpYmlsaXR5OmhpZGRlbjtsaW5lLWhlaWdodDowO2hlaWdodDowfS5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtLC5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbXttaW4taGVpZ2h0OjFweDtmbG9hdDpsZWZ0Oy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1ne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0ub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCwub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVke2Rpc3BsYXk6bm9uZX0ubm8tanMgLm93bC1jYXJvdXNlbCwub3dsLWNhcm91c2VsLm93bC1sb2FkZWR7ZGlzcGxheTpibG9ja30ub3dsLWNhcm91c2VsIC5vd2wtZG90LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2e2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCwub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldiwub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90e2JhY2tncm91bmQ6MCAwO2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7cGFkZGluZzowIWltcG9ydGFudDtmb250OmluaGVyaXR9Lm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZ3tvcGFjaXR5OjA7ZGlzcGxheTpibG9ja30ub3dsLWNhcm91c2VsLm93bC1oaWRkZW57b3BhY2l0eTowfS5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVte3Zpc2liaWxpdHk6aGlkZGVufS5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtey1tcy10b3VjaC1hY3Rpb246cGFuLXk7dG91Y2gtYWN0aW9uOnBhbi15Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ub3dsLWNhcm91c2VsLm93bC1ncmFie2N1cnNvcjptb3ZlO2N1cnNvcjpncmFifS5vd2wtY2Fyb3VzZWwub3dsLXJ0bHtkaXJlY3Rpb246cnRsfS5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW17ZmxvYXQ6cmlnaHR9Lm93bC1jYXJvdXNlbCAuYW5pbWF0ZWR7YW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW57ei1pbmRleDowfS5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXR7ei1pbmRleDoxfS5vd2wtY2Fyb3VzZWwgLmZhZGVPdXR7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dH1Aa2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowfX0ub3dsLWhlaWdodHt0cmFuc2l0aW9uOmhlaWdodCAuNXMgZWFzZS1pbi1vdXR9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSksLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5W3NyY149IiJde21heC1oZWlnaHQ6MH0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenl7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzAwMH0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDo4MHB4O3dpZHRoOjgwcHg7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotNDBweDttYXJnaW4tdG9wOi00MHB4O2JhY2tncm91bmQ6dXJsKG93bC52aWRlby5wbGF5LnBuZykgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXJ7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zLDEuMyl9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24sLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bntkaXNwbGF5Om5vbmV9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRue29wYWNpdHk6MDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWV7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9"}},"time_used":41,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":41,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.884Z","timestamp":1785124875884,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59465.8e9c06b76c9d50bc242b.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-1d791d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1b2de184cedad1112c03f760ade20ce1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1931549,"size_decoded":548405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"f8f27d4db01cfe50f3ffd3e990484148","sha1":"3c973ba80b7fd6d45633690af7aa0e4a3fba0645","sha256":"69c8983025d395ad464d6230d65cd7d0ff85eb063c00d6e250e809031f6e7aa0","sha512":"84aea9bbd1ac9e512fd30e2455d1ff25a9bdc2481f66a344af5bbe5e63d47fc51227ca65a24c8a36729c47e027201f6ebe950514126974b22312c1586671f9ed","ssdeep":"24576:fzalYAraWBQ4zQtuj0doGOpRYjjpQ78tGAzOJR/n43dFXOBmrmVUBsYdxS:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43O","tlshash":"f1254ba3b36024ab97e911e548b51503e35818867807c66cf17c6cef25adc4932fafbd","first_seen":"2026-07-24T11:36:47.876406Z","last_seen":"2026-07-27T06:24:31.809039Z","times_seen":120,"resource_available":false,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Mjg1LDU5NDY1XSx7NTA2NDQ2KGUpe2UuZXhwb3J0cz17c2NyZWVuOiJzY3JlZW4taXdyOU90cHMiLGZhZGU6ImZhZGUtaXdyOU90cHMiLHNjcmVlbmZhZGU6InNjcmVlbmZhZGUtaXdyOU90cHMifX0sMjU5MTMyKGUpe2UuZXhwb3J0cz17fX0sODU2MTYoZSl7ZS5leHBvcnRzPXtjc3NfdmFsdWVfY3VycmVuY3lfbGFiZWxfcmFkaXVzOiI0Iixjc3Nfd3JhcHBlcl9tYXJnaW46IjQiLGNzc19yb3dfbGVmdF9yaWdodF9wYWRkaW5nOiIzIixjc3NfZmFkZV9oZWlnaHQ6IjEwIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIixoaWRkZW46ImhpZGRlbi1iVENUUkNUaiIsInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiOiJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIixyb3c6InJvdy1iVENUUkNUaiIsZXhwYW5kZWQ6ImV4cGFuZGVkLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0IjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0LWJUQ1RSQ1RqIn19LDE0NDExMihlKXtlLmV4cG9ydHM9e319LDYxNTUyNihlKXtlLmV4cG9ydHM9e319LDI3OTg0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItaGVpZ2h0LXdpdGgtYm9yZGVyIjoiMzlweCIsImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItYm9yZGVyIjoiMXB4In19LDI4MjcxMChlKXtlLmV4cG9ydHM9e2Nzc192YWx1ZV9jaGFydF9ndWlfd3JhcHBlcl9jb2x1bW5fZ2FwOiI0In19LDQwMjQzKGUpe2UuZXhwb3J0cz17Y2hhcnRzU3BsaXR0ZXI6ImNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDIixob3ZlcmVkOiJob3ZlcmVkLXhxc2FPeDlDIn19LDI5MDMyNChlKXtlLmV4cG9ydHM9e2ljb246Imljb24taXJBMG9hSDgifX0sMTI0MzM2KGUpe2UuZXhwb3J0cz17cGFuZVNlcGFyYXRvcjoicGFuZVNlcGFyYXRvci1haTlNWEo5ayIsaGFuZGxlOiJoYW5kbGUtYWk5TVhKOWsiLG1vYmlsZToibW9iaWxlLWFpOU1YSjlrIixob3ZlcmVkOiJob3ZlcmVkLWFpOU1YSjlrIixzZWxlY3RlZDoic2VsZWN0ZWQtYWk5TVhKOWsiLGFjdGl2ZToiYWN0aXZlLWFpOU1YSjlrIn19LDY5MjY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWU6KCk9PnJ9KTt2YXIgcz1pKDIzMjM2NCksbj1pKDU2OTM5OCk7Y2xhc3MgciBleHRlbmRzIHMuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZnVuY3Rpb24oZSl7cmV0dXJuKDAsbi5pc0ZlYXR1cmVFbmFibGVkKShlKX0oZSkpLCgwLG4ub25GZWF0dXJlc1N0YXRlQ2hhbmdlZCkoKS5zdWJzY3JpYmUodGhpcywodD0+e2U9PT10JiZ0aGlzLnNldFZhbHVlKCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoZSkpfSkpfWRlc3Ryb3koKXsoMCxuLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfX19LDE3OTc3MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtlbWl0OigpPT5oLGVtaXRPbmNlOigpPT5kLG9uOigpPT5sLHN1YnNjcmliZTooKT0+Yyx1bnN1YnNjcmliZTooKT0+YX0pO3ZhciBzPWkoOTQ4MzgwKTtjb25zdCBuPXt9LHI9W10sbz17fTtmdW5jdGlvbiBhKGUsdCxpKXtuW2VdLnVuc3Vic2NyaWJlKGksdCl9ZnVuY3Rpb24gbChlLHQsaSl7YyhlLHQsaSl9ZnVuY3Rpb24gYyhlLHQsaSxyKXtuLmhhc093blByb3BlcnR5KGUpfHwobltlXT1uZXcgcy5EZWxlZ2F0ZSksb1tlXT90LmNhbGwoaSk6bltlXS5zdWJzY3JpYmUoaSx0LHIpfWZ1bmN0aW9uIGgoZSwuLi50KXtjb25zdCBpPVtlXS5jb25jYXQodCk7ci5mb3JFYWNoKChlPT57ZS5hcHBseShudWxsLGkpfSkpLG4uaGFzT3duUHJvcGVydHkoZSkmJm5bZV0uZmlyZS5hcHBseShuW2VdLHQpfWZ1bmN0aW9uIGQoZSl7b1tlXSYmY29uc29sZS53YXJuKGBTb21ldGhpbmcgd2VudCB3cm9uZzogZW1pdE9uY2UgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHdpdGggc2FtZSBldmVudCAoJHtlfSlgKSxvW2VdPSEwLGguYXBwbHkobnVsbCxhcmd1bWVudHMpfX0sNTA3Mjg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3B1c2hTdHJlYW1NdWx0aXBsZXhlcjooKT0+Yn0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoNjMyNjg2KSxyPWkoNzY4NzYwKSxvPWkoMTUwMTUwKSxhPWkoMzg2OTMxKSxsPWkoNTY5Mzk4KSxjPWkoMTUyNjk5KSxoPWkoOTMyMzY1KSxkPWkoMTU2ODUwKSx1PShpKDMwMDI4NiksaSgxMTczMTMpKSxwPWkoMjI0NDAwKSxfPWkoMjY5NTMxKSxtPWkoNjE1NzY5KSxnPWkoODQ4ODU1KTtjb25zdCBmPSgwLHMuZ2V0TG9nZ2VyKShwLmxvZ2dlclN1YnN5c3RlbUlkKSxTPXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLHVybFBhdGg6Im1lc3NhZ2UtcGlwZS13cyIsdHJhbnNwb3J0VHlwZTpwLlRyYW5zcG9ydFR5cGUuV2ViU29ja2V0fSx2PXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLnJlcGxhY2UoIndzczovLyIsImh0dHBzOi8vIiksdXJsUGF0aDoibWVzc2FnZS1waXBlLWVzIix0cmFuc3BvcnRUeXBlOnAuVHJhbnNwb3J0VHlwZS5FdmVudFNvdXJjZX07Y2xhc3MgeXtjb25zdHJ1Y3Rvcigpe3ZhciBlO3RoaXMuZ3VpZD0oMCxvLmd1aWQpKCksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz1udWxsLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPW51bGwsdGhpcy5fc3RhdHVzSGFuZGxlcnM9W10sdGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9W10sdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPW51bGwsdGhpcy5fY2hhbm5lbE11bHRpcGxleGVyPW5ldyBfLkNoYW5uZWxNdWx0aXBsZXhlcix0aGlzLl94RXZlbnRQcmVmaXg9Im11bHRpcGxleGVyLWJjLSIsCnRoaXMuX3N0b3JhZ2VQcmVmaXg9InB1c2hTdHJlYW1NdWx0aXBsZXhlclN0YXRlLiIsdGhpcy5fdXNlckNoYW5uZWxQcmVmaXg9InByaXZhdGVfIix0aGlzLl9zdGF0dXNQdWJsaWM9bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCx0aGlzLl9zdGF0dXNQcml2YXRlPW4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQsdGhpcy5feEV2ZW50U2VuZD10aGlzLl94RXZlbnRQcmVmaXgrInNlbmQiLHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXM9dGhpcy5feEV2ZW50UHJlZml4KyJjb25uZWN0aW9uU3RhdHVzIix0aGlzLl94RXZlbnRSZWNvbm5lY3RDb21tYW5kPXRoaXMuX3hFdmVudFByZWZpeCsicmVjb25uZWN0Q29tbWFuZCIsdGhpcy5feEV2ZW50UmVjb25uZWN0U3VjY2Vzcz10aGlzLl94RXZlbnRQcmVmaXgrInJlY29ubmVjdFN1Y2Nlc3MiLHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzPXRoaXMuX3hFdmVudFByZWZpeCsicmVxdWVzdExvZ3MiLHRoaXMuX3hFdmVudFNoYXJlTG9ncz10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlTG9ncyIsdGhpcy5fc3RhdGU9bmV3IG0uTXVsdGlwbGV4ZXJTdGF0ZSx0aGlzLl9zaGFyZUxvZ3NLZXk9dGhpcy5fc3RvcmFnZVByZWZpeCsic2hhcmVMb2dzIix0aGlzLl9sb2NrTmFtZT0icHVzaHN0cmVhbSIsdGhpcy5fbG9ja1Byb21pc2U9KDAsci5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RTdWNjZXNzQ29tbWFuZEZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3RdPXRoaXMuX2RlY29kZVBhcmFtcyhlKTt0aGlzLl9jYWxsUmVjb25uZWN0SGFuZGxlcnModCl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZT0oZSx0LGkpPT57dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9PdGhlcnMoZSx0LGkpLHRoaXMuX2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSwhMSl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZUZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3QsaSxzXT10aGlzLl9kZWNvZGVQYXJhbXMoZSk7dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9TZWxmKHQsaSxzLCEwKX0sdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fZGVjb2RlQ29ubmVjdGlvblN0YXR1cyhlKSxpPXRbMF0scz10WzFdO3RoaXMub3duUHVzaFN0cmVhbSgpfHx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvU2VsZihpLHMpfSx0aGlzLl9kaXNwYXRjaFJlY29ubmVjdENvbW1hbmRGcm9tT3RoZXI9KCk9Pnt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5mb3JjZUNvbm5lY3QoKX0sdGhpcy5fb25SZXF1ZXN0TG9ncz0oKT0+e2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBlPXRoaXMuX2dldE93bkxvZ3MoKTtsZXQgdD0iIjt0cnl7dD1KU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtmLmxvZ0Vycm9yKCJGYWlsZWQgdG8gc3RyaW5naWZ5IG93biBwdXNoc3RyZWFtIGxvZ3MiKX1oLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5LHQpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLHQpfX0sdGhpcy5fb25TdGF0ZUNoYW5nZT0oZSx0LGkpPT57Y29uc3Qgcz0icHJpdmF0ZSI9PT10P3RoaXMuX3B1c2hTdHJlYW1Qcml2YXRlOnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM7ImFkZCI9PT1lP3M/LmFkZENoYW5uZWwoaSk6cz8ucmVtb3ZlQ2hhbm5lbChpKX0sdGhpcy5fb25OZXdUYWJDcmVhdGU9KCk9Pnt0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvT3RoZXJzKHRoaXMuX3N0YXR1c1B1YmxpYyx0aGlzLl9zdGF0dXNQcml2YXRlKX0sKDAsZy53ZWJMb2NrRW5hYmxlZCkoKT9uYXZpZ2F0b3IubG9ja3MucmVxdWVzdCh0aGlzLl9sb2NrTmFtZSwoYXN5bmMoKT0+KHRoaXMuX3N0YXRlLm9uU3RhdGVDaGFuZ2UodGhpcy5fb25TdGF0ZUNoYW5nZSksdGhpcy5fc3RhdGUub25UYWJDcmVhdGUodGhpcy5fb25OZXdUYWJDcmVhdGUpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja1Byb21pc2UucHJvbWlzZSkpKToodGhpcy5fc3RhdGUub25TdGF0ZUNoYW5nZSh0aGlzLl9vblN0YXRlQ2hhbmdlKSx0aGlzLl9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKSksYy5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2VuZCx0aGlzLl9kaXNwYXRjaE1lc3NhZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXMsdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQsdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RDb21tYW5kRnJvbU90aGVyKSxjLlRWWFdpbmRvd0V2ZW50cy5vbih0aGlzLl94RXZlbnRSZWNvbm5lY3RTdWNjZXNzLHRoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmRGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzLHRoaXMuX29uUmVxdWVzdExvZ3MpLGU9KCk9Pnt3aW5kb3cubG9naW5TdGF0ZUNoYW5nZSYmd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2hhbmdlTG9naW5TdGF0ZSl9LCJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/ZSgpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUpfW9uKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9uKGUsdCl9b2ZmKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9mZihlLHQpfW9uU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzLnB1c2goe2hhbmRsZXI6ZSxpc1ByaXZhdGU6ITF9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQdWJsaWMpKSwwKX1vblByaXZhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzSGFuZGxlcnMucHVzaCh7aGFuZGxlcjplLAppc1ByaXZhdGU6ITB9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQcml2YXRlKSksMCl9b25SZWNvbm5lY3QoZSx0PSExKXt0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5wdXNoKHtoYW5kbGVyOmUsaXNQcml2YXRlOnR9KX1vZmZSZWNvbm5lY3QoZSl7dGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9dGhpcy5fcmVjb25uZWN0SGFuZGxlcnMuZmlsdGVyKCh0PT50LmhhbmRsZXIhPT1lKSl9b2ZmU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzPXRoaXMuX3N0YXR1c0hhbmRsZXJzLmZpbHRlcigodD0+dC5oYW5kbGVyIT09ZSkpfWZvcmNlQ29ubmVjdCgpe2YubG9nTm9ybWFsKGBDcmVhdGluZyBwdXNoc3RyZWFtIGNvbm5lY3Rpb24gYWZ0ZXIgZm9yY2UgY29ubmVjdC4gTWFpbiB0YWI6ICR7dGhpcy5vd25QdXNoU3RyZWFtKCl9YCksdGhpcy5vd25QdXNoU3RyZWFtKCk/KHRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmRpc2Nvbm5lY3QoKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uZGlzY29ubmVjdCgpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpKTpjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQpfWRpc2Nvbm5lY3QoKXt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl9Z2V0TG9ncyhlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pntjb25zdCBpPXNldFRpbWVvdXQoKCgpPT57Y29uc3QgZT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5KTt0KG51bGwhPT1lP0pTT04ucGFyc2UoZSk6W10pfSksMWUzKSxzPWU9PntsZXQgbjtjLlRWWFdpbmRvd0V2ZW50cy5vZmYodGhpcy5feEV2ZW50U2hhcmVMb2dzLHMpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLCIiKSxjbGVhclRpbWVvdXQoaSk7dHJ5e249SlNPTi5wYXJzZShlKX1jYXRjaChlKXtuPVtdLGYubG9nRXJyb3IoIkZhaWxlZCB0byBwYXJzZSBsb2dzIHJlY2VpdmVkIGZyb20gbWFzdGVyIHRhYiIpfXQobil9O3RoaXMub3duUHVzaFN0cmVhbSgpP3QodGhpcy5fZ2V0T3duTG9ncyhlKSk6KGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFNoYXJlTG9ncyxzKSxjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzKSl9KSl9b3duUHVzaFN0cmVhbSgpe3JldHVybiEhdGhpcy5fcHVzaFN0cmVhbVB1YmxpY3x8ISF0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZX1wdXNoU3RyZWFtKCl7aWYoIXRoaXMub3duUHVzaFN0cmVhbSgpKXRocm93IG5ldyBFcnJvcigiTm90IG93biBQdXNoU3RyZWFtIik7cmV0dXJuIHRoaXMuX3B1c2hTdHJlYW1QdWJsaWN9aXNDb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhdHVzUHVibGljPjB9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1B1YmxpYz8/bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZH1zdGF0dXNQcml2YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ByaXZhdGU/P24uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWR9dXNlckNoYW5uZWwoKXtpZighdGhpcy5fdXNlclByaXZhdGVDaGFubmVsKXRocm93IG5ldyBFcnJvcigiTm8gdXNlciBjaGFubmVsIik7cmV0dXJuIHRoaXMuX3VzZXJDaGFubmVsKHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCl9YWRkQ2hhbm5lbChlKXt0aGlzLl9zdGF0ZS5hZGRDaGFubmVsKGUuc3RhcnRzV2l0aCh0aGlzLl91c2VyQ2hhbm5lbFByZWZpeCk/InByaXZhdGUiOiJwdWJsaWMiLGUpfXJlbW92ZUNoYW5uZWwoZSl7dGhpcy5fc3RhdGUucmVtb3ZlQ2hhbm5lbChlLnN0YXJ0c1dpdGgodGhpcy5fdXNlckNoYW5uZWxQcmVmaXgpPyJwcml2YXRlIjoicHVibGljIixlKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2luc3RhbmNlJiYodGhpcy5faW5zdGFuY2U9bmV3IHkpLHRoaXMuX2luc3RhbmNlfV91c2VyQ2hhbm5lbChlKXtyZXR1cm4gdGhpcy5fdXNlckNoYW5uZWxQcmVmaXgrZX1fY29kZVBhcmFtcyhlKXtjb25zdCB0PVsuLi5lXTtyZXR1cm4gdC5wdXNoKChuZXcgRGF0ZSkuZ2V0VGltZSgpKSxKU09OLnN0cmluZ2lmeSh0KX1fZGVjb2RlUGFyYW1zKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gdC5wb3AoKSx0fV9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKXt0aGlzLl9wdXNoU3RyZWFtUHVibGljJiYoKDAsYS50cmFja0V2ZW50KSgiUHVzaHN0cmVhbURvdWJsZVB1YmxpYyIsd2luZG93LnVzZXImJndpbmRvdy51c2VyLnVzZXJuYW1lfHwiR3Vlc3QiLG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuZGlzY29ubmVjdCgpKTtjb25zdCBlPXsuLi50aGlzLl9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKSx0ZWxlbWV0cnlFbmFibGVkOigpPT4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSIpfTt0aGlzLl9wdXNoU3RyZWFtUHVibGljPW5ldyBwLlB1c2hTdHJlYW0odGhpcy5fZGlzcGF0Y2hNZXNzYWdlLGUpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuY29ubmVjdGlvblN0YXR1cygpLnN1YnNjcmliZSgoZT0+e3RoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdGhpcy5fc3RhdHVzUHJpdmF0ZSl9KSksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYy5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZSYmKCgwLGEudHJhY2tFdmVudCkoIlB1c2hzdHJlYW1Eb3VibGVQcml2YXRlIix3aW5kb3cudXNlciYmd2luZG93LnVzZXIudXNlcm5hbWV8fCJHdWVzdCIsbmF2aWdhdG9yLnVzZXJBZ2VudCksdGhpcy5fcHVzaFN0cmVhbVByaXZhdGUuZGlzY29ubmVjdCgpKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1uZXcgcC5QdXNoU3RyZWFtKHRoaXMuX2Rpc3BhdGNoTWVzc2FnZSx7Li4uZSxtYXhTaXplOjF9KSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5jb25uZWN0aW9uU3RhdHVzKCkuc3Vic2NyaWJlKChlPT57CnRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKHRoaXMuX3N0YXR1c1B1YmxpYyxlKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoITApfSkpLHRoaXMub24oInB1c2hzdHJlYW1fc2V0X3VzZXJfY2hhbm5lbCIsKGU9Pnt0aGlzLl9zZXRVc2VyQ2hhbm5lbChlKX0pKSx0aGlzLl9jb25uZWN0Q2hhbm5lbHMoKX1fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl7Y29uc3QgZT10aGlzLl9wdXNoU3RyZWFtUHVibGljO3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM9bnVsbCxlPy5kaXNjb25uZWN0KCk7Y29uc3QgdD10aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZTt0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1udWxsLHQ/LmRpc2Nvbm5lY3QoKSx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZUZyb21PdGhlcih0aGlzLl9jb2RlUGFyYW1zKFtuLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkLG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWRdKSl9X2Nvbm5lY3RDaGFubmVscygpe3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoInB1YmxpYyIpO2NvbnN0IGU9dGhpcy5fc3RhdGUuY29sbGVjdFB1c2hTdHJlYW1DaGFubmVscygicHVibGljIik7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmZS5tYXAoKGU9PnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoZSkpKSwiaXNfYXV0aGVudGljYXRlZCJpbiB3aW5kb3c/dGhpcy5fY29ubmVjdFVzZXJDaGFubmVsSW5pdGlhbCghMCk6d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Nvbm5lY3RVc2VyQ2hhbm5lbEluaXRpYWwpLHRoaXMuX2lzUHVibGljUHVzaHN0cmVhbUVuYWJsZWQoKSYmdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz8uY29ubmVjdCgpfV9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKXtyZXR1cm4oMCx1LmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iik/KDAsbC5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2V2ZW50c291cmNlX3B1c2hzdHJlYW1fbW9iaWxlIik/djpTOigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9ldmVudHNvdXJjZV9wdXNoc3RyZWFtX3RyYW5zcG9ydCIpP3Y6U31faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpe3JldHVybigwLHUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8ISgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfcHVzaHN0cmVhbV9jb25uZWN0aW9uc19mb3JfYW5vbnltb3VzX3VzZXJzIil8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHx3aW5kb3cuVHJhZGluZ1ZpZXc/Lm9uQ2hhcnRQYWdlfV9jb25uZWN0VXNlckNoYW5uZWxJbml0aWFsKGUpe2UmJih3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8odGhpcy5fdXNlclByaXZhdGVDaGFubmVsPXdpbmRvdy51c2VyLnByaXZhdGVfY2hhbm5lbD8/bnVsbCx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpOnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKX1fY2hhbmdlTG9naW5TdGF0ZShlKXtlfHwodGhpcy5faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpJiZ0aGlzLl9wdXNoU3RyZWFtUHVibGljPy5jb25uZWN0KCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD13aW5kb3cudXNlci5wcml2YXRlX2NoYW5uZWw/P251bGwsdGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpKToodGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8ucmVtb3ZlQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5kaXNjb25uZWN0KCkpLHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKSl9X3NldFVzZXJDaGFubmVsKGUpe2YubG9nTm9ybWFsKCJTZXQgdXNlciBjaGFubmVsICIrZSksZSE9PXRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmKHRoaXMub3duUHVzaFN0cmVhbSgpJiZ0aGlzLl91c2VyUHJpdmF0ZUNoYW5uZWwmJnRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5yZW1vdmVDaGFubmVsKHRoaXMudXNlckNoYW5uZWwoKSksdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPWUsdGhpcy5vd25QdXNoU3RyZWFtKCkmJnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmdGhpcy5fcHVzaFN0cmVhbVByaXZhdGU/LmFkZENoYW5uZWwodGhpcy51c2VyQ2hhbm5lbCgpKSl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdCl7dGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpLHRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl7ZSE9PXRoaXMuX3N0YXR1c1B1YmxpYyYmKHRoaXMuX3N0YXR1c1B1YmxpYz1lLHRoaXMuX2NhbGxTdGF0dXNIYW5kbGVycyhlLCExKSksdCE9PXRoaXMuX3N0YXR1c1ByaXZhdGUmJih0aGlzLl9zdGF0dXNQcml2YXRlPXQsdGhpcy5fY2FsbFN0YXR1c0hhbmRsZXJzKHQsITApKX1fY2FsbFN0YXR1c0hhbmRsZXJzKGUsdCl7Zi5sb2dOb3JtYWwoIkNvbm5lY3Rpb24gc3RhdHVzIGNoYW5nZTogIitlKyIsIHByaXZhdGUgIit0KyIsIGlzIG1haW4gdGFiICIrdGhpcy5vd25QdXNoU3RyZWFtKCkpLGQudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInNpdGUiLCJwdXNoc3RyZWFtX3N0YXR1c19jaGFuZ2UiKSx0aGlzLl9zdGF0dXNIYW5kbGVycy5mb3JFYWNoKChpPT57aS5pc1ByaXZhdGU9PT10JiZpLmhhbmRsZXIoZSl9KSl9X2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKXtmLmxvZ05vcm1hbCgiUmVjb25uZWN0aW9uIGhhcyBiZWVuIG1hZGUiKSx0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5mb3JFYWNoKCh0PT57dC5pc1ByaXZhdGU9PT1lJiZ0LmhhbmRsZXIoKX0pKX0KX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoZT0hMSl7aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpe3RoaXMuX2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKTtjb25zdCB0PXRoaXMuX2NvZGVQYXJhbXMoW2VdKTtjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdFN1Y2Nlc3MsdCl9fV9kZWNvZGVDb25uZWN0aW9uU3RhdHVzKGUpe2NvbnN0IHQ9cGFyc2VJbnQoZSwxMCk7cmV0dXJuIGlzTmFOKHQpP3RoaXMuX2RlY29kZVBhcmFtcyhlKTpbdCx0XX1fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpe2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBpPXRoaXMuX2NvZGVQYXJhbXMoW2UsdF0pO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50Q29ubmVjdGlvblN0YXR1cyxpKX19X2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSxzKXtjb25zdCBuPWUuY2hhbm5lbCxyPWUuY29udGVudDt0aGlzLl9lbWl0KHIsdCxuLHMpfV9kaXNwYXRjaE1lc3NhZ2VUb090aGVycyhlLHQsaSl7Y29uc3Qgcz1bZSx0LGldO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2VuZCx0aGlzLl9jb2RlUGFyYW1zKHMpKX1fZW1pdChlLHQsaSxzKXt0aGlzLl9jaGFubmVsTXVsdGlwbGV4ZXIuZW1pdChlLHQsaSxzKX1fZ2V0T3duTG9ncyhlKXtpZih0aGlzLm93blB1c2hTdHJlYW0oKSl7Y29uc3QgdD0oMCxzLmdldFJhd0xvZ0hpc3RvcnkpKGUscC5sb2dnZXJTdWJzeXN0ZW1JZCksaT10aGlzLnB1c2hTdHJlYW0oKT8uZ2V0TG9ncygpO3JldHVybltdLmNvbmNhdCh0LGk/P1tdKX1yZXR1cm5bXX19eS5faW5zdGFuY2U9bnVsbDtjb25zdCBiPXkuZ2V0SW5zdGFuY2UoKX0sODU2MTk2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9Pmx9KTt2YXIgcz1pKDEwMDU5NSksbj1pLm4ocykscj1pKDkzMjM2NSk7Y29uc3Qgbz0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PW4oKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPXIuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiByLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obyxgJHt0fWApLHR9KCkpLGk9bmV3IERhdGFWaWV3KHQpO3JldHVybiBpLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTI2OTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZYV2luZG93RXZlbnRzOigpPT5vLGdldFNjb3BlZFRWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoOTMyMzY1KTtjb25zdCByPSgwLHMuZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBvO2Z1bmN0aW9uIGEoZSl7cmV0dXJue29uOih0LGkpPT5vLm9uKGAke2V9LiR7dH1gLGkpLG9mZjoodCxpKT0+by5vZmYoYCR7ZX0uJHt0fWAsaSksZW1pdDoodCxpKT0+by5lbWl0KGAke2V9LiR7dH1gLGkpfX0hZnVuY3Rpb24oZSl7Y29uc3QgdD0idHZ4d2V2ZW50cy4iLGk9e307bGV0IHM7d2luZG93LkJyb2FkY2FzdENoYW5uZWw/KHM9bmV3IEJyb2FkY2FzdENoYW5uZWwoInR2eHdldmVudHMiKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtkYXRhOntldmVudDp0LHZhbHVlOnN9fT1lO2lbdF0mJmlbdF0uZm9yRWFjaCgoZT0+e2Uocyl9KSl9KSksZnVuY3Rpb24oKXtjb25zdCBlPVtdLGk9cGVyZm9ybWFuY2Uubm93KCk7Zm9yKGxldCBpPTA7aTxuLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtpKyspe2NvbnN0IHM9bi5UVkxvY2FsU3RvcmFnZS5rZXkoaSk7cy5zdGFydHNXaXRoKHQpJiZlLnB1c2gocyl9Y29uc3Qgcz1uLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtmb3IoY29uc3QgdCBvZiBlKW4uVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KTtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpLWk7ci5sb2dOb3JtYWwoYFRvdGFsIGtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2Ugb24gb3BlcmF0aW9uIHN0YXJ0OiAke3N9YCksci5sb2dOb3JtYWwoYEtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2UgdG8gYmUgZGVsZXRlZDogJHtlLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgS2V5cyB0byBiZSBkZWxldGVkIGZyb20gbG9jYWwgc3RvcmFnZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKSxyLmxvZ05vcm1hbChgUmVtb3Zpbmcga2V5cyBmcm9tIGxvY2FsIHN0b3JhZ2UgdG9vayAke299IG1zYCl9KCkpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZnVuY3Rpb24oZSl7Y29uc3R7bmV3VmFsdWU6cyxrZXk6cn09ZTtpZihudWxsPT09c3x8IXJ8fCFyLnN0YXJ0c1dpdGgodCkpcmV0dXJuO2NvbnN0IG89ci5zdWJzdHJpbmcoMTEpO2lbb10mJmlbb10uZm9yRWFjaCgodD0+e3QoZS5uZXdWYWx1ZSl9KSk7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHIpfSkpLGUub249ZnVuY3Rpb24oZSx0KXtpW2VdfHwoaVtlXT1bXSksaVtlXS5wdXNoKHQpfSxlLm9mZj1mdW5jdGlvbihlLHQpe2lmKCFpW2VdKXJldHVybjtjb25zdCBzPWlbZV0uaW5kZXhPZih0KTstMSE9PXMmJigxPT09aVtlXS5sZW5ndGg/ZGVsZXRlIGlbZV06aVtlXS5zcGxpY2UocywxKSl9LGUuZW1pdD1mdW5jdGlvbihlLGk9RGF0ZS5ub3coKSl7dHJ5e3M/cy5wb3N0TWVzc2FnZSh7ZXZlbnQ6ZSx2YWx1ZTppfSk6bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQrZSxpLnRvU3RyaW5nKCkpfWNhdGNoKGUpe3IubG9nRXJyb3IoZS5tZXNzYWdlKX19fShvfHwobz17fSkpfSw3NjgzMDUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cG9pbnRJbkJveDooKT0+cixwb2ludEluQ2lyY2xlOigpPT5hLHBvaW50SW5Qb2x5Z29uOigpPT5vLHBvaW50SW5UcmlhbmdsZTooKT0+bn0pO3ZhciBzPWkoMzUxOTAwKTtmdW5jdGlvbiBuKGUsdCxpLG4pewpjb25zdCByPXQuYWRkKGkpLnNjYWxlZCguNSkuYWRkKG4pLnNjYWxlZCguNSk7bGV0IG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKHQsaSxyLGUpO3JldHVybiBudWxsPT09byYmKG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKGksbixyLGUpLG51bGw9PT1vJiYobz0oMCxzLmludGVyc2VjdExpbmVTZWdtZW50cykobix0LHIsZSksbnVsbD09PW8pKX1mdW5jdGlvbiByKGUsdCl7cmV0dXJuIGUueD49dC5taW4ueCYmZS54PD10Lm1heC54JiZlLnk+PXQubWluLnkmJmUueTw9dC5tYXgueX1mdW5jdGlvbiBvKGUsdCl7bGV0IGk9dC5sZW5ndGgtMSxzPSExO2NvbnN0IG49ZS54LHI9ZS55O2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXRbZV0sYT10W2ldOyhvLnk8ciYmYS55Pj1yfHxhLnk8ciYmby55Pj1yKSYmby54KyhyLW8ueSkvKGEueS1vLnkpKihhLngtby54KTxuJiYocz0hcyksaT1lfXJldHVybiBzfWZ1bmN0aW9uIGEoZSx0LGkpe3JldHVybihlLngtdC54KSooZS54LXQueCkrKGUueS10LnkpKihlLnktdC55KTw9aSppfX0sNzAwNzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtjb25zdCBzPXQuc3VidHJhY3QoZSksbj1pLnN1YnRyYWN0KGUpLmRvdFByb2R1Y3Qocykvcy5kb3RQcm9kdWN0KHMpO3JldHVybntjb2VmZjpuLGRpc3RhbmNlOmUuYWRkU2NhbGVkKHMsbikuc3VidHJhY3QoaSkubGVuZ3RoKCl9fWZ1bmN0aW9uIG4oZSx0LGkpe2NvbnN0IG49cyhlLHQsaSk7aWYoMDw9bi5jb2VmZiYmbi5jb2VmZjw9MSlyZXR1cm4gbjt7Y29uc3Qgcz1lLnN1YnRyYWN0KGkpLmxlbmd0aCgpLG49dC5zdWJ0cmFjdChpKS5sZW5ndGgoKTtyZXR1cm4gczxuP3tjb2VmZjowLGRpc3RhbmNlOnN9Ontjb2VmZjoxLGRpc3RhbmNlOm59fX1pLmQodCx7ZGlzdGFuY2VUb0xpbmU6KCk9PnMsZGlzdGFuY2VUb1NlZ21lbnQ6KCk9Pm59KX0sMzUxOTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ludGVyc2VjdExpbmVBbmRCb3g6KCk9PmgsaW50ZXJzZWN0TGluZVNlZ21lbnRBbmRCb3g6KCk9Pm8saW50ZXJzZWN0TGluZVNlZ21lbnRzOigpPT5sLGludGVyc2VjdExpbmVzOigpPT5hLGludGVyc2VjdFBvbHlnb25BbmRIYWxmcGxhbmU6KCk9PnAsaW50ZXJzZWN0UmF5QW5kQm94OigpPT5kfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MzY1MzEpLHI9aSg3MDA3NCk7ZnVuY3Rpb24gbyhlLHQpe2xldCBpPWVbMF0ueCxzPWVbMF0ueSxyPWVbMV0ueCxvPWVbMV0ueTtjb25zdCBhPXQubWluLngsbD10Lm1pbi55LGM9dC5tYXgueCxoPXQubWF4Lnk7bGV0IGQ7ZnVuY3Rpb24gdShlLHQsaSxzLG4scil7bGV0IG89ZC5JbnNpZGU7cmV0dXJuIGU8aT9vfD1kLkxlZnQ6ZT5uJiYob3w9ZC5SaWdodCksdDxzP298PWQuQm90dG9tOnQ+ciYmKG98PWQuVG9wKSxvfSFmdW5jdGlvbihlKXtlW2UuSW5zaWRlPTBdPSJJbnNpZGUiLGVbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuUmlnaHQ9Ml09IlJpZ2h0IixlW2UuQm90dG9tPTRdPSJCb3R0b20iLGVbZS5Ub3A9OF09IlRvcCJ9KGR8fChkPXt9KSk7bGV0IHA9dShpLHMsYSxsLGMsaCksXz11KHIsbyxhLGwsYyxoKSxtPSExLGc9MDtmb3IoOzspe2lmKGc+MWUzKXRocm93IG5ldyBFcnJvcigiQ29oZW4gLSBTdXRoZXJsYW5kIGFsZ29yaXRobTogaW5maW5pdHkgbG9vcCIpO2lmKGcrKywhKHB8Xykpe209ITA7YnJlYWt9aWYocCZfKWJyZWFrO3tjb25zdCBlPXB8fF87bGV0IHQsbjtlJmQuVG9wPyh0PWkrKHItaSkqKGgtcykvKG8tcyksbj1oKTplJmQuQm90dG9tPyh0PWkrKHItaSkqKGwtcykvKG8tcyksbj1sKTplJmQuUmlnaHQ/KG49cysoby1zKSooYy1pKS8oci1pKSx0PWMpOihuPXMrKG8tcykqKGEtaSkvKHItaSksdD1hKSxlPT09cD8oaT10LHM9bixwPXUoaSxzLGEsbCxjLGgpKToocj10LG89bixfPXUocixvLGEsbCxjLGgpKX19cmV0dXJuIG0/KDAsbi5lcXVhbFBvaW50cykoKDAsbi5wb2ludCkoaSxzKSwoMCxuLnBvaW50KShyLG8pKT8oMCxuLnBvaW50KShpLHMpOigwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGkscyksKDAsbi5wb2ludCkocixvKSk6bnVsbH1mdW5jdGlvbiBhKGUsdCl7Y29uc3QgaT1lLkEscz10LkEscj1lLkIsbz10LkIsYT1lLkMsbD10LkMsYz1pKm8tcypyO2lmKE1hdGguYWJzKGMpPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgaD0ocipsLW8qYSkvYyxkPShzKmEtaSpsKS9jO3JldHVybiBuZXcgbi5Qb2ludChoLGQpfWZ1bmN0aW9uIGwoZSx0LGkscyl7Y29uc3Qgbj1mdW5jdGlvbihlLHQsaSxzKXtjb25zdCBuPXQuc3VidHJhY3QoZSkscj1zLnN1YnRyYWN0KGkpLG89bi54KnIueS1uLnkqci54O2lmKE1hdGguYWJzKG8pPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgYT1lLnN1YnRyYWN0KGkpO3JldHVybihhLnkqci54LWEueCpyLnkpL299KGUsdCxpLHMpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0IG89dC5zdWJ0cmFjdChlKS5zY2FsZWQobikuYWRkKGUpLGE9KDAsci5kaXN0YW5jZVRvU2VnbWVudCkoaSxzLG8pO3JldHVybiBNYXRoLmFicyhhLmRpc3RhbmNlKTwxZS02P246bnVsbH1mdW5jdGlvbiBjKGUsdCl7Zm9yKGNvbnN0IGkgb2YgZSlpZigoMCxuLmVxdWFsUG9pbnRzKShpLHQpKXJldHVybiExO3JldHVybiBlLnB1c2godCksITB9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5taW4ueCxyPXQubWluLnksbz10Lm1heC54LGE9dC5tYXgueTtpZigwPT09ZS5BKXtjb25zdCB0PS1lLkMvZS5CO3JldHVybiByPD10JiZ0PD1hPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGksdCksKDAsbi5wb2ludCkobyx0KSk6bnVsbH1pZigwPT09ZS5CKXtjb25zdCB0PS1lLkMvZS5BO3JldHVybiBpPD10JiZ0PD1vPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKHQsciksKDAsbi5wb2ludCkodCxhKSk6bnVsbH17Y29uc3QgdD1bXSxsPWk9Pntjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuLShlLkMrZS5BKnQpL2UuQn0oZSxpKTtyPD1zJiZzPD1hJiZjKHQsbmV3IG4uUG9pbnQoaSxzKSl9LGg9cz0+e2NvbnN0IHI9ZnVuY3Rpb24oZSx0KXsKcmV0dXJuLShlLkMrZS5CKnQpL2UuQX0oZSxzKTtpPD1yJiZyPD1vJiZjKHQsbmV3IG4uUG9pbnQocixzKSl9O3N3aXRjaChsKGkpLGgociksbChvKSxoKGEpLHQubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG51bGw7Y2FzZSAxOnJldHVybiB0WzBdO2Nhc2UgMjpyZXR1cm4oMCxuLmVxdWFsUG9pbnRzKSh0WzBdLHRbMV0pP3RbMF06KDAsbi5saW5lU2VnbWVudCkodFswXSx0WzFdKX1yZXR1cm4oMCxzLmFzc2VydCkoITEsIldlIHNob3VsZCBoYXZlIGF0IG1vc3QgdHdvIGludGVyc2VjdGlvbiBwb2ludHMiKSxudWxsfX1mdW5jdGlvbiBkKGUsdCxpKXtjb25zdCBzPWwoZSx0LGkubWluLG5ldyBuLlBvaW50KGkubWF4LngsaS5taW4ueSkpLHI9bChlLHQsbmV3IG4uUG9pbnQoaS5tYXgueCxpLm1pbi55KSxpLm1heCksbz1sKGUsdCxpLm1heCxuZXcgbi5Qb2ludChpLm1pbi54LGkubWF4LnkpKSxhPWwoZSx0LG5ldyBuLlBvaW50KGkubWluLngsaS5tYXgueSksaS5taW4pLGM9W107aWYobnVsbCE9PXMmJnM+PTAmJmMucHVzaChzKSxudWxsIT09ciYmcj49MCYmYy5wdXNoKHIpLG51bGwhPT1vJiZvPj0wJiZjLnB1c2gobyksbnVsbCE9PWEmJmE+PTAmJmMucHVzaChhKSwwPT09Yy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgaD1NYXRoLm1heCguLi5jKTtyZXR1cm4gZS5hZGRTY2FsZWQodC5zdWJ0cmFjdChlKSxoKX1mdW5jdGlvbiB1KGUsdCl7cmV0dXJuIShlLmxlbmd0aD4wJiYoKDAsbi5lcXVhbFBvaW50cykoZVtlLmxlbmd0aC0xXSx0KXx8KDAsbi5lcXVhbFBvaW50cykoZVswXSx0KSkpJiYoZS5wdXNoKHQpLCEwKX1mdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl7Y29uc3Qgcj1lW3NdLG89ZVsocysxKSVlLmxlbmd0aF0sbD0oMCxuLmxpbmVUaHJvdWdoUG9pbnRzKShyLG8pO2lmKCgwLG4ucG9pbnRJbkhhbGZwbGFuZSkocix0KSl7aWYodShpLHIpLCEoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19ZWxzZSBpZigoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19cmV0dXJuIGkubGVuZ3RoPj0zP2k6bnVsbH19LDczNjUzMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQb2ludDooKT0+cyxib3g6KCk9PmQsZXF1YWxQb2ludHM6KCk9PnIsaGFsZnBsYW5lVGhyb3VnaFBvaW50OigpPT5jLGxpbmU6KCk9Pm8sbGluZVNlZ21lbnQ6KCk9PmwsbGluZVRocm91Z2hQb2ludHM6KCk9PmEscG9pbnQ6KCk9Pm4scG9pbnRJbkhhbGZwbGFuZTooKT0+aH0pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLng9ZSx0aGlzLnk9dH1hZGQoZSl7cmV0dXJuIG5ldyBzKHRoaXMueCtlLngsdGhpcy55K2UueSl9YWRkU2NhbGVkKGUsdCl7cmV0dXJuIG5ldyBzKHRoaXMueCt0KmUueCx0aGlzLnkrdCplLnkpfXN1YnRyYWN0KGUpe3JldHVybiBuZXcgcyh0aGlzLngtZS54LHRoaXMueS1lLnkpfWRvdFByb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLngrdGhpcy55KmUueX1jcm9zc1Byb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLnktdGhpcy55KmUueH1zaWduZWRBbmdsZShlKXtyZXR1cm4gTWF0aC5hdGFuMih0aGlzLmNyb3NzUHJvZHVjdChlKSx0aGlzLmRvdFByb2R1Y3QoZSkpfWFuZ2xlKGUpe3JldHVybiBNYXRoLmFjb3ModGhpcy5kb3RQcm9kdWN0KGUpLyh0aGlzLmxlbmd0aCgpKmUubGVuZ3RoKCkpKX1sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSl9c2NhbGVkKGUpe3JldHVybiBuZXcgcyh0aGlzLngqZSx0aGlzLnkqZSl9bm9ybWFsaXplZCgpe3JldHVybiB0aGlzLnNjYWxlZCgxL3RoaXMubGVuZ3RoKCkpfXRyYW5zcG9zZWQoKXtyZXR1cm4gbmV3IHMoLXRoaXMueSx0aGlzLngpfWNsb25lKCl7cmV0dXJuIG5ldyBzKHRoaXMueCx0aGlzLnkpfX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIG5ldyBzKGUsdCl9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBlLng9PT10LngmJmUueT09PXQueX1mdW5jdGlvbiBvKGUsdCxpKXtpZigwPT09ZSYmMD09PXQpdGhyb3cgbmV3IEVycm9yKCJBIGFuZCBCIGNhbiBub3QgYmUgYm90aCBlcXVhbCB0byB6ZXJvLiIpO3JldHVybntBOmUsQjp0LEM6aX19ZnVuY3Rpb24gYShlLHQpe2lmKHIoZSx0KSl0aHJvdyBuZXcgRXJyb3IoIlBvaW50cyBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm4gbyhlLnktdC55LHQueC1lLngsZS54KnQueS10LngqZS55KX1mdW5jdGlvbiBsKGUsdCl7aWYocihlLHQpKXRocm93IG5ldyBFcnJvcigiUG9pbnRzIG9mIGEgc2VnbWVudCBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm5bZSx0XX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJue2VkZ2U6ZSxpc1Bvc2l0aXZlOnR9fShlLGUuQSp0LngrZS5CKnQueStlLkM+MCl9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5lZGdlO3JldHVybiBpLkEqZS54K2kuQiplLnkraS5DPjA9PT10LmlzUG9zaXRpdmV9ZnVuY3Rpb24gZChlLHQpe3JldHVybnttaW46bihNYXRoLm1pbihlLngsdC54KSxNYXRoLm1pbihlLnksdC55KSksbWF4Om4oTWF0aC5tYXgoZS54LHQueCksTWF0aC5tYXgoZS55LHQueSkpfX19LDEzNDY3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FyZUVxdWFsUmdiOigpPT51LGFyZUVxdWFsUmdiYTooKT0+XyxibGVuZFJnYmE6KCk9PncsZGlzdGFuY2VSZ2I6KCk9PnksaHNsVG9SZ2I6KCk9PlMsaW52ZXJ0UmdiOigpPT5iLG5vcm1hbGl6ZUFscGhhQ29tcG9uZW50OigpPT5oLHBhcnNlUmdiOigpPT5PLHBhcnNlUmdiYTooKT0+RixyZ2I6KCk9PmQscmdiVG9CbGFja1doaXRlU3RyaW5nOigpPT5CLHJnYlRvSGV4U3RyaW5nOigpPT5ELHJnYlRvSHNsOigpPT5nLHJnYmE6KCk9PnAscmdiYVRvU3RyaW5nOigpPT5WLHNoaWZ0Q29sb3I6KCk9PlQsc2hpZnRSZ2I6KCk9PkMsc2hpZnRSZ2JhOigpPT5QLHRyeVBhcnNlUmdiOigpPT5OLHRyeVBhcnNlUmdiYTooKT0+V30pO3ZhciBzPWkoNjAxODQxKSxuPWkoODMwNzgzKQo7ZnVuY3Rpb24gcihlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQodCl9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQoMWU0KnQpLzFlNH1mdW5jdGlvbiBhKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBoKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBkKGUsdCxpKXtyZXR1cm5bYShlKSxsKHQpLGMoaSldfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZVswXT09PXRbMF0mJmVbMV09PT10WzFdJiZlWzJdPT09dFsyXX1mdW5jdGlvbiBwKGUsdCxpLHMpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IGk9ZTtyZXR1cm4gcz10LFtpWzBdLGlbMV0saVsyXSxoKHMpXX17Y29uc3Qgbj10O3JldHVybiBpPWl8fDAscz1zfHwwLFthKGUpLGwobiksYyhpKSxoKHMpXX19ZnVuY3Rpb24gXyhlLHQpe3JldHVybiBlWzBdPT09dFswXSYmZVsxXT09PXRbMV0mJmVbMl09PT10WzJdJiZlWzNdPT09dFszXX1mdW5jdGlvbiBtKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBnKGUpe2NvbnN0W3QsaSxzXT1lLG49dC8yNTUscj1pLzI1NSxvPXMvMjU1LGE9TWF0aC5taW4obixyLG8pLGw9TWF0aC5tYXgobixyLG8pO2xldCBjPTAsaD0wO2NvbnN0IGQ9KGErbCkvMjtpZihhPT09bCljPTAsaD0wO2Vsc2V7Y29uc3QgZT1sLWE7c3dpdGNoKGg9ZD4uNT9lLygyLWwtYSk6ZS8obCthKSxsKXtjYXNlIG46Yz0oKHItbykvZSsocjxvPzY6MCkpLzY7YnJlYWs7Y2FzZSByOmM9KChvLW4pL2UrMikvNjticmVhaztjYXNlIG86Yz0oKG4tcikvZSs0KS82fX1yZXR1cm5bYyxoLGRdfWZ1bmN0aW9uIGYoZSx0LGkpe3JldHVybiBpPDAmJihpKz0xKSxpPjEmJihpLT0xKSxpPDEvNj9lKzYqKHQtZSkqaTppPC41P3Q6aTwyLzM/ZSsodC1lKSooMi8zLWkpKjY6ZX1mdW5jdGlvbiBTKGUpe2NvbnN0W3QsaSxzXT1lO2xldCBuLHIsbztpZigwPT09aSluPXI9bz1zO2Vsc2V7Y29uc3QgZT1zPC41P3MqKDEraSk6cytpLXMqaSxhPTIqcy1lO249ZihhLGUsdCsxLzMpLHI9ZihhLGUsdCksbz1mKGEsZSx0LTEvMyl9cmV0dXJuW2EoMjU1Km4pLGwoMjU1KnIpLGMoMjU1Km8pXX1jb25zdCB2PVsuMTk5LC42ODcsLjExNF07ZnVuY3Rpb24geShlLHQpe2NvbnN0W2kscyxuXT1lLFtyLG8sYV09dCxsPXItaSxjPW8tcyxoPWEtbjtyZXR1cm4gTWF0aC5zcXJ0KGwqbCtjKmMraCpoKX1mdW5jdGlvbiBiKGUpe2NvbnN0W3QsaSxzXT1lO3JldHVyblsyNTUtdCwyNTUtaSwyNTUtc119ZnVuY3Rpb24gdyhlLHQpe2NvbnN0W2kscyxuLHJdPWUsW28sZCx1LHBdPXQsXz1oKDEtKDEtcCkqKDEtcikpO3JldHVyblthKG8qcC9fK2kqciooMS1wKS9fKSxsKGQqcC9fK3MqciooMS1wKS9fKSxjKHUqcC9fK24qciooMS1wKS9fKSxfXX1mdW5jdGlvbiBDKGUsdCxpPS4wNSl7Y29uc3Qgcz1nKGUpLG49c1swXSt0Kmk7cmV0dXJuIHNbMF09bShuLU1hdGguZmxvb3IobikpLFMocyl9ZnVuY3Rpb24gUChlLHQsaT0uMDUpe2NvbnN0W3MsbixyLG9dPWUsW2EsbCxjXT1DKFtzLG4scl0sdCxpKTtyZXR1cm5bYSxsLGMsb119ZnVuY3Rpb24gVChlLHQsaT0uMDUpe3JldHVybiBWKFAoRihlKSx0LGkpKX12YXIgeCxNLEksTDtmdW5jdGlvbiBBKGUpe2NvbnN0IHQ9eC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD94LnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PU0ucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/TS5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIEQoZSl7Y29uc3RbdCxpLHNdPWUsbj10LnRvU3RyaW5nKDE2KSxyPWkudG9TdHJpbmcoMTYpLG89cy50b1N0cmluZygxNik7cmV0dXJuIiMiKygxPT09bi5sZW5ndGg/IjAiOiIiKStuKygxPT09ci5sZW5ndGg/IjAiOiIiKStyKygxPT09by5sZW5ndGg/IjAiOiIiKStvfWZ1bmN0aW9uIEUoZSl7Y29uc3QgdD1JLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P0kucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBSKGUpe2NvbnN0IHQ9TC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9MLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gVihlKXtjb25zdFt0LGkscyxuXT1lO3JldHVybmByZ2JhKCR7dH0sICR7aX0sICR7c30sICR7bn0pYH1mdW5jdGlvbiBCKGUsdCl7aWYodDwwfHx0PjI1NSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdGhyZXNob2xkIHZhbHVlLCB2YWxpZCB2YWx1ZXMgYXJlIFswLCAyNTVdIik7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB2WzBdKmVbMF0rdlsxXSplWzFdK3ZbMl0qZVsyXX0oZSk+PXQ/IndoaXRlIjoiYmxhY2sifWZ1bmN0aW9uIE4oZSl7ZT1lLnRvTG93ZXJDYXNlKCk7Y29uc3QgdD0oMCxuLnRyeVBhcnNlTmFtZWRSZ2JhKShlKTtpZihudWxsIT09dCl7Y29uc3RbZSxpLHNdPXQ7cmV0dXJuW2UsaSxzXX1jb25zdCBpPUEoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz1rKGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IHI9RShlKTtpZihudWxsIT09cilyZXR1cm4gcjtjb25zdCBvPVIoZSk7aWYobnVsbCE9PW8pe2NvbnN0W2UsdCxpXT1vO3JldHVybltlLHQsaV19cmV0dXJuIG51bGx9ZnVuY3Rpb24gTyhlKXtjb25zdCB0PU4oZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9ZnVuY3Rpb24gVyhlKXtlPWUudG9Mb3dlckNhc2UoKTtjb25zdCB0PSgwLG4udHJ5UGFyc2VOYW1lZFJnYmEpKGUpO2lmKG51bGwhPT10KXJldHVybiB0O2NvbnN0IGk9QShlKTtpZihudWxsIT09aSl7Y29uc3RbZSx0LHNdPWk7cmV0dXJuW2UsdCxzLDFdfWNvbnN0IHM9ayhlKTtpZihudWxsIT09cyl7Y29uc3RbZSx0LGldPXM7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IHI9RShlKTtpZihudWxsIT09cil7Y29uc3RbZSx0LGldPXI7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IG89UihlKQo7cmV0dXJuIG51bGwhPT1vP286bnVsbH1mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9VyhlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX0hZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYlwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccypcKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXSwxMCkpLGwocGFyc2VJbnQoZVsyXSwxMCkpLGMocGFyc2VJbnQoZVszXSwxMCkpXX19KHh8fCh4PXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXiMoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10sMTYpKV19fShNfHwoTT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdKShbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdK2VbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0rZVsyXSwxNikpLGMocGFyc2VJbnQoZVszXStlWzNdLDE2KSldfX0oSXx8KEk9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9ecmdiYVwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/W1xkXXswLDEwfSg/OlwuXGQrKT8pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKSxoKHBhcnNlRmxvYXQoZVs0XSkpXX19KEx8fChMPXt9KSl9LDcyNzA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZUdyb3VwOigpPT5sLGtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZTooKT0+YSxwcmVzc2VkS2V5czooKT0+byxyZWdpc3RlcldpbmRvdzooKT0+Y30pO3ZhciBzPWkoMjkxMzQxKSxuPWkoNzc5Mzg5KTtjb25zdCByPW5ldyBzLkFjdGlvbk1hbmFnZXIsbz1yLnByZXNzZWRLZXlzKCksYT1yLmtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIG5ldyBuLkFjdGlvbkdyb3VwKHIsZSl9ZnVuY3Rpb24gYyhlKXtyLmxpc3RlbihlKX19LDM0Mjc4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlLHQsaSl7cmV0dXJuIGUqKDEtaSkrdCppfWkuZCh0LHtkb0FuaW1hdGU6KCk9Pm8sbGVycDooKT0+c30pO2NvbnN0IG49e2Zyb206MCxkdXJhdGlvbjoyNTAsZWFzaW5nOmkoMjE4ODE0KS5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2luZz0hMCx0aGlzLl9jb21wbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4ubiwuLi5lfTtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGU9Pnt0aGlzLl9hbmltYXRpb24odCx0aGlzLl9vcHRpb25zLmZyb20sZSl9KSl9c3RvcCgpe3RoaXMuX2RvaW5nPSExfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9jb21wbGV0ZWR9X2FuaW1hdGlvbihlLHQsaSl7aWYoIXRoaXMuX2RvaW5nKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaEFuaW1hdGlvbigpO2NvbnN0IG49KGk9IWl8fGk8MWUxMj9wZXJmb3JtYW5jZS5ub3coKTppKS1lLHI9bj49dGhpcy5fb3B0aW9ucy5kdXJhdGlvbnx8dD09PXRoaXMuX29wdGlvbnMudG8sbz1zKHRoaXMuX29wdGlvbnMuZnJvbSx0aGlzLl9vcHRpb25zLnRvLHRoaXMuX29wdGlvbnMuZWFzaW5nKG4vdGhpcy5fb3B0aW9ucy5kdXJhdGlvbikpLGE9cj90aGlzLl9vcHRpb25zLnRvOm8sbD1hLXQ7dGhpcy5fb3B0aW9ucy5vblN0ZXAobCxhKSxyP3RoaXMuX2ZpbmlzaEFuaW1hdGlvbigpOndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHQ9Pnt0aGlzLl9hbmltYXRpb24oZSxhLHQpfSkpfV9maW5pc2hBbmltYXRpb24oKXt0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUmJnRoaXMuX29wdGlvbnMub25Db21wbGV0ZSgpLHRoaXMuX2NvbXBsZXRlZD0hMH19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbmV3IHIoZSl9fSwxMTU2NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VE9BU1RfQU5JTUFUSU9OX0RVUkFUSU9OOigpPT5zfSk7Y29uc3Qgcz01MDB9LDc4MzU5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBzPW5ldyBVUkwoZSksbj0iYmxvYjoiPT09bG9jYXRpb24ucHJvdG9jb2w/bmV3IFVSTChsb2NhdGlvbi5ocmVmLnNsaWNlKDUpKS5vcmlnaW4rIi8iOmxvY2F0aW9uLmhyZWYscj1uZXcgQmxvYihbInNlbGYuV0VCUEFDS19QVUJMSUNfUEFUSD0iLEpTT04uc3RyaW5naWZ5KG5ldyBVUkwoaS5wLG4pLmhyZWYpLCI7XG4iLCJzZWxmLmxvY2FsZT0iLEpTT04uc3RyaW5naWZ5KGkuZy5sb2NhbGUpLCI7XG4iLHQ/YHNlbGYubGFuZ3VhZ2U9JHtKU09OLnN0cmluZ2lmeSh0KX07XG5gOiIiLCJpbXBvcnRTY3JpcHRzKCIsSlNPTi5zdHJpbmdpZnkocy5ocmVmKSwiKTsiXSx7dHlwZToiYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9KTtyZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChyKX1pLmQodCx7V29ya2VyOigpPT5ufSk7Y2xhc3MgbiBleHRlbmRzIFdvcmtlcntjb25zdHJ1Y3RvcihlLHQpe2NvbnN0e2xhbmd1YWdlOmksLi4ubn09dD8/e307c3VwZXIocyhlLGkpLG4pfX19LDQxODI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBbGVydFByZXNlbnRhdGlvbjooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoODQ0MzAxKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLm5hbWV8fGUubWVzc2FnZXx8ZnVuY3Rpb24oZSl7Y29uc3R7cmVzb2x1dGlvbjp0LGNyb3NzSW50ZXJ2YWw6aX09ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmZpbmQoKGU9PiFlLmNyb3NzSW50ZXJ2YWwpKTtyZXR1cm4gdD97cmVzb2x1dGlvbjp0LnJlc29sdXRpb24sCmNyb3NzSW50ZXJ2YWw6ITF9OntyZXNvbHV0aW9uOm51bGwsY3Jvc3NJbnRlcnZhbDohMH19KGUuY29uZGl0aW9ucyk7cmV0dXJuIGZ1bmN0aW9uKHtzeW1ib2w6ZSx3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cixpbmNsdWRlRXhjaGFuZ2U6b30pe3JldHVybiB0PygwLG4uZm9ybWF0V2F0Y2hsaXN0VGl0bGUpKHt3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cn0pOigwLG4uZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbikoe3N5bWJvbDooMCxzLmVuc3VyZU5vdE51bGwpKGUpLHJlc29sdXRpb246aSxjcm9zc0ludGVydmFsOnJ9LG8pfSh7c3ltYm9sOigwLHMuZW5zdXJlTm90TnVsbCkoZS5zeW1ib2wpLHdhdGNobGlzdE5hbWU6ZS5pc1dhdGNobGlzdEFsZXJ0P2Uud2F0Y2hsaXN0TmFtZTpudWxsLHJlc29sdXRpb246dCxjcm9zc0ludGVydmFsOml9KX0oZSl9fSwxMTM3MTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdDooKT0+b30pO3ZhciBzPWkoMzYyMjM5KSxuPWkoODM2MDgxKSxyPWkoNzc4OTQ2KTthc3luYyBmdW5jdGlvbiBvKGUsdCxpKXtjb25zdCBvPWF3YWl0KDAscy5nZXRUcmFja2VyKSgpO28/LnRyYWNrU2VsZkRlc2MoImlnbHU6Y29tLnRyYWRpbmd2aWV3L2FsZXJ0c19jcmVhdGlvbi9qc29uc2NoZW1hLzEtMC01Iix7YWN0aW9uOiJjcmVhdGlvbl9hdHRlbXB0IixzeW1ib2w6ZSxtZXRob2Q6dCxzb3VyY2U6aSxwbGF0Zm9ybTooMCxyLmdldFBsYXRmb3JtKSgpLHVzZXJfaWQ6KDAsbi5nZXRVc2VySWQpKCksdXNlcl9wbGFuOigwLG4uZ2V0VXNlclBsYW4pKCksbG9jYWxlOigwLG4uZ2V0VXNlckxvY2FsZSkoKX0pfX0sNzM2MjgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQ2hhcnRBY3Rpb25DcmVhdG9yczooKT0+c30pO2NvbnN0IHM9KDAsaSg4Mzk0MjYpLmRlZmF1bHQpKChhc3luYygpPT57Y29uc3R7Z2V0Q3JlYXRlQWxlcnRBY3Rpb246ZX09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyNDQxKSxpLmUoNTc2NzQpXSkudGhlbihpLmJpbmQoaSwyNzQ1MzYpKSx7Z2V0RWRpdEFsZXJ0T25MaW5lRGF0YVNvdXJjZUFjdGlvbjp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI0NDEpLGkuZSg1NzY3NCldKS50aGVuKGkuYmluZChpLDg2MDkyNCkpO3JldHVybntjcmVhdGVBbGVydDplLGVkaXRBbGVydE9uTGluZURhdGFTb3VyY2U6dH19KSl9LDU1ODQ1NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPWUuZm9ybWF0dGVyKCk7aWYoaS5wYXJzZSl7Y29uc3QgZT1pLnBhcnNlKGkuZm9ybWF0KHQpKTtpZihlLnJlcylyZXR1cm4gZS52YWx1ZX1yZXR1cm4gdH1pLmQodCx7cm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb246KCk9PnN9KX0sNDg3ODIwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7QWxlcnRDaGFydERpc3BsYXlUYXJnZXQ6KCk9Pm4sQWxlcnRTdG9wUmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkF1dG89MF09IkF1dG8iLGVbZS5NYW51YWw9MV09Ik1hbnVhbCIsZVtlLkV4cGlyZWQ9Ml09IkV4cGlyZWQiLGVbZS5DcmVhdGVkPTNdPSJDcmVhdGVkIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuTGFiZWw9MF09IkxhYmVsIixlW2UuU3RhdHVzVmlldz0xXT0iU3RhdHVzVmlldyJ9KG58fChuPXt9KSl9LDE0NDUzNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydEFsZXJ0c0ZhY2FkZTooKT0+byxnZXRDaGFydEFsZXJ0c0ZhY2FkZUlmQ3JlYXRlZEJlZm9yZTooKT0+YX0pO3ZhciBzPWkoNTk2ODA0KTtsZXQgbixyO2FzeW5jIGZ1bmN0aW9uIG8oKXtyZXR1cm4gbnx8KG49YXN5bmMgZnVuY3Rpb24oKXtjb25zdFtlLHtnZXRBbGVydHNDb2xsZWN0aW9uOnR9LG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDkyNDE5KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNDM4MjcpLGkuZSg2MzI5MCksaS5lKDM4NDQyKV0pLnRoZW4oaS5iaW5kKGksNDc3MzE4KSksUHJvbWlzZS5hbGwoW2kuZSg4NDY5MyksaS5lKDg4OTk3KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzEzMTkpXSkudGhlbihpLmJpbmQoaSwxNDMyNjYpKSwoMCxzLmdldENoYXJ0U291cmNlSWRzR2V0dGVyKSgpXSk7cmV0dXJuIG5ldyBlLkNoYXJ0QWxlcnRzRmFjYWRlKHQoKSxuKX0oKSkscnx8KHI9YXdhaXQgbikscn1mdW5jdGlvbiBhKCl7cmV0dXJuIHI/P251bGx9fSwxNzU4MTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRBbGVydHNGYWNhZGU6KCk9PnMuZ2V0Q2hhcnRBbGVydHNGYWNhZGV9KTt2YXIgcz1pKDE0NDUzNCl9LDk3NjQ5OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjb25maXJtRGF0YXNvdXJjZVJlbW92aW5nOigpPT5vfSk7dmFyIHM9aSgxODUyNzEpLG49aSgyMzQ5NjQpO2NvbnN0IHI9cy50KG51bGwsdm9pZCAwLGkoMTE2NzY4KSk7ZnVuY3Rpb24gbyhlLHQpe2NvbnN0e2hhc0xvY2tlZFNvdXJjZXM6byx0ZXh0OmE9cixvbkNvbmZpcm06bCxvbkNsb3NlOmN9PWUsaD1vP3MudChudWxsLHZvaWQgMCxpKDQwOTIxKSk6cy50KG51bGwsdm9pZCAwLGkoMTQwNDA3KSk7cmV0dXJuIG5ldyBQcm9taXNlKChyPT4oMCxuLnNob3dDb25maXJtKSh7Li4uZSx0aXRsZTpoLHRleHQ6YSxtYWluQnV0dG9uVGV4dDpzLnQobnVsbCx7Y29udGV4dDoiQnV0dG9uIGluIGEgY29uZmlybWF0aW9uIGRpYWxvZyJ9LGkoMzE4NzM0KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnMudChudWxsLHtjb250ZXh0OiJCdXR0b24gaW4gYSBjb25maXJtYXRpb24gZGlhbG9nIn0saSgyNjQ3MzkpKSxvbkNvbmZpcm06ZT0+e2w/LihlKSxyKCEwKSxlLmRpYWxvZ0Nsb3NlKCl9LG9uQ2xvc2U6KCk9PntjPy4oKSxyKCExKX19LHQpKSl9fSw2MTA0NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7Q29uc3RhbnRzOigpPT5zfSksZnVuY3Rpb24oZSl7CmUuRHJhd2luZ0ljb25Db2xvcj0icmdiYSggMTcwLCAxNzAsIDE3MCwgMSkifShzfHwocz17fSkpfSw1ODYxNjUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7aGFzVXN1YWxBbGVydFBsb3RzOigpPT5sLGlzRmlyc3RBbGVydFBsb3RVc3VhbDooKT0+YX0pO3ZhciBzPWkoMjI0MTgzKSxuPWkoOTU2NDM3KSxyPWkoMjQxMyksbz1pKDI1MDQ2Nyk7ZnVuY3Rpb24gYShlKXtpZigoMCxzLmlzU2VyaWVzKShlKSlyZXR1cm4hMDtpZigoMCxuLmlzU3R1ZHkpKGUpJiYhKDAsbi5pc1N0dWR5U3RyYXRlZ3kpKGUpKXtjb25zdCB0PSgwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpO3JldHVybiFlLm1ldGFJbmZvKCkuaGFzQWxlcnRGdW5jdGlvbiYmdC5ldmVyeSgoZT0+ZS50eXBlIT09by5JbnRlcm5hbFN0dWR5UGxvdFR5cGUuQWxlcnRDb25kaXRpb24pKX1yZXR1cm4hMX1mdW5jdGlvbiBsKGUpe2lmKCgwLHMuaXNTZXJpZXMpKGUpKXJldHVybiEwO2lmKCgwLG4uaXNTdHVkeSkoZSkmJiEoMCxuLmlzU3R1ZHlTdHJhdGVneSkoZSkpe3JldHVybigwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpLnNvbWUoKGU9PmUudHlwZSE9PW8uSW50ZXJuYWxTdHVkeVBsb3RUeXBlLkFsZXJ0Q29uZGl0aW9uKSl9cmV0dXJuITF9fSw2ODM5MDIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U2VyaWVzSWRGb3JBbGVydDooKT0+byxnZXRTdHVkeUlkRm9yQWxlcnQ6KCk9PmF9KTt2YXIgcz1pKDE2NzkxMCksbj1pKDc0OTgxNCkscj1pKDI1NDY3Myk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybigwLHMuaGFzaCkoZStyLkludGVydmFsLm5vcm1hbGl6ZSh0KSkudG9TdHJpbmcoKX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4oMCxzLmhhc2gpKGUrKDAsbi5zb3J0ZWRTdHJpbmdpZnkpKHQpKyhpPz8iIikpLnRvU3RyaW5nKCl9fSw1OTY4MDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRTb3VyY2VJZHNHZXR0ZXI6KCk9PnN9KTtjb25zdCBzPSgwLGkoODM5NDI2KS5kZWZhdWx0KSgoYXN5bmMoKT0+e2NvbnN0e0NoYXJ0U291cmNlSWRzR2V0dGVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTEzNzgpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDIyNTMyKV0pLnRoZW4oaS5iaW5kKGksODc4ODA5KSk7cmV0dXJuIG5ldyBlfSkpfSwzNTMwNDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2FuUGxhY2VBbGVydE9uUmVzb2x1dGlvbjooKT0+cn0pO3ZhciBzPWkoMjU0NjczKSxuPWkoNDc5MzQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPXMuSW50ZXJ2YWwuaXNTZWNvbmRzKGUpLHI9dD90Py5hbGVydHNPblNlY29uZHM6KDAsbi5lbmFibGVkKSgiQUxFUlRTX09OX1NFQ09ORFMiKTtyZXR1cm4haXx8cn19LDE2MjU4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdEFwcGVuZGluZ1Jlc29sdXRpb25TdHJpbmc6KCk9Pm59KTt2YXIgcz1pKDQ2NTEzNyk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PSgwLHMuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb24pKGUpO3JldHVybigwLHMuZm9ybWF0RGlyZWN0aW9uYWxSZXNvbHV0aW9uKSh0KX19LDI2MTE1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtmb3JtYXRTeW1ib2xBbmRSZXNvbHV0aW9uOigpPT5hLGZvcm1hdFN5bWJvbFN0cmluZzooKT0+bH0pO3ZhciBzPWkoMzQ0MTAzKSxuPWkubihzKSxyPWkoMTExOTUzKSxvPWkoMTYyNTgpO2Z1bmN0aW9uIGEoZSx0KXtjb25zdCBpPWwoZS5zeW1ib2wsdCk7aWYoZS5jcm9zc0ludGVydmFsfHwhZS5yZXNvbHV0aW9uKXJldHVybiBpO3JldHVybiBpKygwLG8uZm9ybWF0QXBwZW5kaW5nUmVzb2x1dGlvblN0cmluZykoZS5yZXNvbHV0aW9uKX1mdW5jdGlvbiBsKGUsdCl7bGV0IGk9KDAsci51bndyYXBTaW1wbGVTeW1ib2wpKGUpO3JldHVybiB0fHwoaT1uKCkuc2hvcnROYW1lKGkpKSxpfX0sNDg1MTc5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5ufSk7dmFyIHM9aSgxNjI1OCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUud2F0Y2hsaXN0TmFtZTtpZihlLmNyb3NzSW50ZXJ2YWx8fCFlLnJlc29sdXRpb24pcmV0dXJuIHQ7cmV0dXJuIHQrKDAscy5mb3JtYXRBcHBlbmRpbmdSZXNvbHV0aW9uU3RyaW5nKShlLnJlc29sdXRpb24pfX0sODYyOTUxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gcigpLnRoZW4oKHQ9PnQuaGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZShlKSkpfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIHIoKS50aGVuKCh0PT50LmZpbHRlckFjY2Vzc2libGVEYXRhU291cmNlcyhlKSkpfWkuZCh0LHtmaWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXM6KCk9Pm4saGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZTooKT0+c30pO2NvbnN0IHI9KCk9PmkuZSg0MzQ1OCkudGhlbihpLmJpbmQoaSw0NzkxNDYpKX0sNDU2MDIzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dHb1Byb0FsZXJ0c09uU2Vjb25kc0RpYWxvZzooKT0+bn0pO3ZhciBzPWkoNzcwNzU1KTtpKDMwMDI4Nik7ZnVuY3Rpb24gbigpeygwLHMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJhbGVydHNPblNlY29uZHMifSl9fSwxNTMzNDcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQWN0aW9uQ3JlYXRvcnM6KCk9Pm59KTt2YXIgcz1pKDgzOTQyNik7Y29uc3Qgbj0oMCxzLmRlZmF1bHQpKChhc3luYygpPT5uZXcoKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoNTU4MDEpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDkyMjI5KV0pLnRoZW4oaS5iaW5kKGksNjM1MDgxKSkpLkFsZXJ0c0FjdGlvbkNyZWF0b3JzKSkpOygwLHMuZGVmYXVsdCkoKGFzeW5jKCk9PnsKY29uc3RbZSx7Z2V0QWxlcnRTZXNzaW9uOnR9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSgxMDc3NiksaS5lKDE1MTczKV0pLnRoZW4oaS5iaW5kKGksOTA5MDExKSksUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSldKTtyZXR1cm4gbmV3IGUuRmlyZXNBY3Rpb25DcmVhdG9ycyh0KCkpfSkpfSwzODY0NjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7aWYoZS5sZW5ndGg+dCl7Y29uc3QgaT0vW1xXXSskL2cscz1lLnN1YnN0cmluZygwLHQpLG49cy5yZXBsYWNlKGksIiIpO3JldHVybmAke24ubGVuZ3RoP246cy5zdWJzdHJpbmcoMCx0LTEpfeKApmB9cmV0dXJuIGV9aS5kKHQse2N1dFN0cmluZzooKT0+c30pfSw0MDAwNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtBbGVydEVkaXRvckFib3J0UmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5BbGVydElzSW52YWxpZD0iYWxlcnQtaXMtaW52YWxpZCIsZS5BbGVydHNNYWludGVuYW5jZT0iYWxlcnRzLW1haW50ZW5hbmNlIixlLkNoYXJ0TW9kZWxOb3RGb3VuZD0iY2hhcnQtbW9kZWwtbm90LWZvdW5kIixlLklzQWxyZWFkeVByZXNlbnQ9ImlzLWFscmVhZHktcHJlc2VudCIsZS5NYWluU2VyaWVzSXNBVFI9Im1haW4tc2VyaWVzLWlzLWF0ciIsZS5NYWluU2VyaWVzSXNQZXJjZW50YWdlTFRQPSJtYWluLXNlcmllcy1pcy1wZXJjZW50YWdlLWx0cCIsZS5NYWluU2VyaWVzSXNJblJlcGxheT0ibWFpbi1zZXJpZXMtaXMtaW4tcmVwbGF5IixlLk1haW5TZXJpZXNJc09mZmxpbmU9Im1haW4tc2VyaWVzLWlzLW9mZmxpbmUiLGUuU291cmNlSXNEYW5nZXJvdXM9InNvdXJjZS1pcy1kYW5nZXJvdXMiLGUuU3ltYm9sSW5mb1RpbWVvdXQ9InN5bWJvbC1pbmZvLXRpbWVvdXQiLGUuU3ltYm9sSXNJbnZhbGlkPSJzeW1ib2wtaXMtaW52YWxpZCIsZS5TeW1ib2xDdXJyZW5jeUNvbnZlcnRlZD0ic3ltYm9sLWN1cnJlbmN5LWNvbnZlcnRlZCIsZS5TeW1ib2xVbml0Q29udmVydGVkPSJzeW1ib2wtdW5pdC1jb252ZXJ0ZWQiLGUuU3ltYm9sQ3VycmVuY3lBbmRVbml0Q29udmVydGVkPSJzeW1ib2wtY3VycmVuY3ktYW5kLXVuaXQtY29udmVydGVkIixlLlN5bWJvbElzRWNvbm9taWNzPSJzeW1ib2wtaXMtZWNvbm9taWNzIixlLlN5bWJvbFdpdGhNZXRyaWNzPSJzeW1ib2wtd2l0aC1tZXRyaWNzIixlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0idW5zdXBwb3J0ZWQtcmVzb2x1dGlvbiIsZS5NYW51YWxBYm9ydD0ibWFudWFsLWFib3J0IixlLk1pc2xlYWRpbmdQcmljZVNjYWxlPSJtaXNsZWFkaW5nLXByaWNlLXNjYWxlIixlLlJlc29sdXRpb25Jc1RpY2tzPSJyZXNvbHV0aW9uLWlzLXRpY2tzIn0oc3x8KHM9e30pKX0sNzIxMDQyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQWxlcnRDcmVhdGlvbkF0dGVtcHQ6KCk9PnMudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdH0pO3ZhciBzPWkoMTEzNzE4KX0sODIyNzk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGU6KCk9PmEuQWxlcnRFZGl0b3JJbnZvY2F0aW9uTW9kZSxpbnZva2VBbGVydEVkaXRvcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoODYyOTUxKSxvPWkoNDAwMDYpLGE9aSg0MjM3NDUpO2NvbnN0IGw9KDAsbi5nZXRMb2dnZXIpKCJBbGVydHMuUHJpY2UuSW52b2tlQWxlcnRFZGl0b3IiKTthc3luYyBmdW5jdGlvbiBjKGUpewpjb25zdFt7Z2V0QWxlcnRzVHJhY2tlcnM6dH0se2dldEludm9jYXRpb25Nb2RlOm4sc2hvdWxkQWJvcnRBbGVydEVkaXRvcjpyLHNob3dBYm9ydEV4cGxhaW5pbmdEaWFsb2c6YX0se2xvY2tFZGl0b3JJbnZvY2F0aW9uOmN9XT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc5NDc2KS50aGVuKGkuYmluZChpLDQzNjgzNikpLFByb21pc2UuYWxsKFtpLmUoNzg0NCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSgzMjgxNiksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSg5MzQxNiksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDMyNzQ4KSxpLmUoODk1NTgpLGkuZSg2NjI3MCksaS5lKDEwMzY2KSxpLmUoNTE2ODIpLGkuZSgzNzc2NyksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSg5NDA1NCksaS5lKDQwODY3KSxpLmUoMzk3ODYpLGkuZSg1MDgwMCksaS5lKDYwODIpLGkuZSg5MDk2MCksaS5lKDY3NTQzKSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDczODcpLGkuZSg2ODU3OSksaS5lKDQxOTgwKSxpLmUoMjc0NDYpLGkuZSg3OTg5MiksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzM1MzUpLGkuZSg1NzA5MyksaS5lKDY5MDMyKSxpLmUoMTYwMzEpLGkuZSg2MzI5MCksaS5lKDcwNTMyKV0pLnRoZW4oaS5iaW5kKGksNDA0NTg5KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSw3NzYyNTYpKV0pLGQ9dCgpLm1haW50ZW5hbmNlO2Quc3luY09uVXNlckFjdGlvbigpO2NvbnN0IHU9cihlLGQpO2lmKG51bGwhPT11KXJldHVybiB1IT09by5BbGVydEVkaXRvckFib3J0UmVhc29uLklzQWxyZWFkeVByZXNlbnQmJmEodSxuKGUpKSxsLmxvZ1dhcm4oYEFib3J0ZWQ6ICR7dX1gKSx2b2lkIGUub25BYm9ydGVkPy4odSk7Y29uc3RbcCxfXT1jKGUpO3RyeXsKY29uc3Rbe2dldEFsZXJ0U2Vzc2lvbjp0fSx7aW52b2tlRGlhbG9nQWxlcnRFZGl0b3I6bixpbnZva2VTaWxlbnRBbGVydEVkaXRvcjpyLGNvbnZlcnRPcHRpb25zRm9yU2lsZW50SW52b2tlcjpvLGNvbnZlcnRPcHRpb25zRm9yRGlhbG9nSW52b2tlcjphfSxsXT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSwxNTQyOTYpKSxoKF8pXSksYz0oMCxzLmVuc3VyZU5vdE51bGwpKHQoKS51c2VyLnZhbHVlKCkpO2Uuc2lsZW50P3IobyhsKSxjKTpuKGEobCksYyl9Y2F0Y2goZSl7cCgpfX1hc3luYyBmdW5jdGlvbiBoKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LnNlcmllcyYmIWF3YWl0KDAsci5oYXNVc2VyQWNjZXNzVG9EYXRhU291cmNlKSh0LnNlcmllcykmJihkZWxldGUgdC5zZXJpZXMsZGVsZXRlIHQudmFsdWUpLHR9fSw0MjM3NDUoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuO2kuZCh0LHtBbGVydEVkaXRvckludm9jYXRpb25Nb2RlOigpPT5uLEV4cGlyYXRpb25QcmVzZXRUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5PcGVuRW5kZWQ9Im9wZW4tZW5kZWQiLGUuRml4ZWQ9ImZpeGVkIixlLk5leHRSZXBvcnQ9Im5leHQtcmVwb3J0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLkNyZWF0ZUFsZXJ0PSJjcmVhdGVfYWxlcnQiLGUuRWRpdEFsZXJ0PSJlZGl0X2FsZXJ0IixlLlNob3dSZWFkb25seUFsZXJ0PSJzaG93X2FsZXJ0In0obnx8KG49e30pKX0sNDkwMzk5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FsZXJ0c0F2YWlsYWJsZTooKT0+c30pO2NvbnN0IHM9KDAsaSg5MzAyMzEpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGVydHMiKX0sNjEzODcwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzU2lnbk1vZGFsT3BlbjooKT0+aCxzaG93U2lnbk1vZGFsOigpPT5jfSk7dmFyIHM9aSg4NDIxMDIpLG49aSg5Nzg1NCkscj1pKDcxOTE5NCksbz1pKDc1NjI3MSksYT1pKDkzNDA4MSk7bGV0IGw9KCk9PiExO2FzeW5jIGZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxzLmlzU2hvd1Byb21vVmlkZW8pKCksbj1PYmplY3QuYXNzaWduKHt9LGUse2lzU2hvd1ZpZGVvOnR9KTtpZih3aW5kb3cuVFZEJiZ3aW5kb3cuVFZELnNpZ25JbilyZXR1cm4gd2luZG93LlRWRC5zaWduSW4obik7e3QmJmZ1bmN0aW9uKCl7Y29uc3R7cG9zdGVyOmV9PWEuU1RPUllfUE9TVEVSU1soMCxyLnBpY2tTdG9yeUluZGV4KShvLlNUT1JZX05BTUVTKV0sdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5yZWw9InByZWxvYWQiLHQuYXM9ImltYWdlIix0LmhyZWY9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfSgpO2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg4NTUzNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoMTEyMTgpLGkuZSg4NTc5KSxpLmUoNzI2NjYpLGkuZSg3MDgxNSksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDM3NzY3KSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSg1MDYyMiksaS5lKDM4ODY4KSxpLmUoNTkzNTApLGkuZSgyMDk4NiksaS5lKDMyMzg3KSxpLmUoNDQ3ODApLGkuZSg3NTkzMCksaS5lKDg1OTc0KV0pLnRoZW4oaS5iaW5kKGksNzMwODQxKSk7cmV0dXJuIGw9ZS5pc1NpZ25Nb2RhbE9wZW4sZS5zaG93U2lnbk1vZGFsKG4pfX1mdW5jdGlvbiBoKCl7cmV0dXJuIGwoKX1uLm9uZVRhcFNpZ25Nb2RhbERlbGVnYXRlLnN1YnNjcmliZShudWxsLGMpfSwxNDE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGkpe2NvbnN0IHM9ZS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czooZS5zZXQodCxpKSxpKX1mdW5jdGlvbiBuKGUsdCxpKXtjb25zdCBzPWUuZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7Y29uc3Qgbj1pKCk7cmV0dXJuIGUuc2V0KHQsbiksbn1mdW5jdGlvbiByKGUsdCxpLG4pe2NvbnN0IHI9cyhlLHQsbmV3IE1hcCk7cmV0dXJuIHMocixpLG4pfWZ1bmN0aW9uIG8oZSx0LGkscil7cmV0dXJuIG4ocyhlLHQsbmV3IE1hcCksaSxyKX0KZnVuY3Rpb24gYShlLHQsaSxuLHIpe2NvbnN0IG89cyhlLHQsbmV3IE1hcCksYT1zKG8saSxuZXcgTWFwKTtyZXR1cm4gcyhhLG4scil9aS5kKHQse0Fic3RyYWN0TWFwQ29udGFpbmVyOigpPT5sLGdldERlZmF1bHQyOigpPT5yLGdldERlZmF1bHQyTGF6eTooKT0+byxnZXREZWZhdWx0MzooKT0+YX0pO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9tYXA9bmV3IE1hcCx0aGlzLl9zaXplPTB9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCksdGhpcy5fc2l6ZT0wfX19LDI2MDY5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xJTkVTVFlMRV9EQVNIRUQ6KCk9PnIsTElORVNUWUxFX0RPVFRFRDooKT0+bixMSU5FU1RZTEVfU09MSUQ6KCk9PnMsTElORVNUWUxFX1NQQVJTRV9ET1RURUQ6KCk9Pm99KTtjb25zdCBzPTAsbj0xLHI9MixvPTR9LDUxNzI5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjdWxhckNhY2hlQnVmZmVyOigpPT5vfSk7dmFyIHMsbj1pKDEzODYzOCk7ZnVuY3Rpb24gcihlKXtjb25zdHtwcmV2SXRlbTp0LG5leHRJdGVtOml9PWU7bnVsbCE9PXQmJih0Lm5leHRJdGVtPWkpLG51bGwhPT1pJiYoaS5wcmV2SXRlbT10KX0hZnVuY3Rpb24oZSl7ZVtlLkNhcGFjaXR5RmFjdG9yPTEuM109IkNhcGFjaXR5RmFjdG9yIn0oc3x8KHM9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKGU9MCx0PTEuMyl7dGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9sYXN0SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT1udWxsLHRoaXMuX3NpemU9ZSx0aGlzLl9zaXplTGltaXRlZD1lPjAsdGhpcy5fY2FwYWNpdHlGYWN0b3I9dH1zZXQoZSx0KXtjb25zdCBpPXtrZXk6ZSx2YWx1ZTp0LHByZXZJdGVtOnRoaXMuX2xhc3RJdGVtLG5leHRJdGVtOm51bGx9O251bGwhPT10aGlzLl9sYXN0SXRlbSYmKHRoaXMuX2xhc3RJdGVtLm5leHRJdGVtPWkpO2NvbnN0IHM9dGhpcy5fY2FjaGUuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zJiYocihzKSxzPT09dGhpcy5fZmlyc3RJdGVtJiYodGhpcy5fZmlyc3RJdGVtPXMubmV4dEl0ZW0pKSx0aGlzLl9jYWNoZS5zZXQoZSxpKSx0aGlzLl9sYXN0SXRlbT1pLG51bGw9PT10aGlzLl9maXJzdEl0ZW0mJih0aGlzLl9maXJzdEl0ZW09aSksdGhpcy5fc2l6ZUxpbWl0ZWQmJnRoaXMuX2NhY2hlLnNpemU+dGhpcy5fc2l6ZSp0aGlzLl9jYXBhY2l0eUZhY3RvciYmdGhpcy5fcmVtb3ZlRXh0cmFJdGVtcygpLHRoaXN9aGFzKGUpe3JldHVybiB0aGlzLl9jYWNoZS5oYXMoZSl9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHQ7aWYodD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtPz90KSx0IT09dGhpcy5fbGFzdEl0ZW0pe3IodCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xhc3RJdGVtKTtlLm5leHRJdGVtPXQsdC5wcmV2SXRlbT1lLHQubmV4dEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT10fXJldHVybiB0LnZhbHVlfWNsZWFyKCl7dGhpcy5fY2FjaGUuY2xlYXIoKSx0aGlzLl9maXJzdEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT1udWxsfWRlbGV0ZShlKXtjb25zdCB0PXRoaXMuX2NhY2hlLmdldChlKTtyZXR1cm4gdm9pZCAwIT09dCYmKHIodCksdD09PXRoaXMuX2xhc3RJdGVtJiYodGhpcy5fbGFzdEl0ZW09dC5wcmV2SXRlbSksdD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtKSksdGhpcy5fY2FjaGUuZGVsZXRlKGUpfSplbnRyaWVzKCl7aWYobnVsbCE9PXRoaXMuX2ZpcnN0SXRlbSlmb3IobGV0IGU9dGhpcy5fZmlyc3RJdGVtO251bGwhPT1lO2U9ZS5uZXh0SXRlbSl5aWVsZFtlLmtleSxlLnZhbHVlXX1zdGF0ZSgpe2NvbnN0IGU9W107Zm9yKGNvbnN0W3QsaV1vZiB0aGlzLmVudHJpZXMoKSllLnB1c2goW3QsaV0pO3JldHVybiBlfXJlc3RvcmVTdGF0ZShlKXtmb3IoY29uc3QgdCBvZiBlKXRoaXMuc2V0KHRbMF0sdFsxXSl9X3JlbW92ZUV4dHJhSXRlbXMoKXtjb25zdCBlPXRoaXMuX2NhY2hlLnNpemUtdGhpcy5fc2l6ZTtsZXQgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0SXRlbSk7Zm9yKGxldCBpPTA7aTxlO2krPTEpdGhpcy5fY2FjaGUuZGVsZXRlKHQua2V5KSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodC5uZXh0SXRlbSk7dC5wcmV2SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT10fX19LDIyMzU1NihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthdmFpbGFibGVUaW1lem9uZXM6KCk9PmwsdGltZXpvbmVJc0F2YWlsYWJsZTooKT0+ZCx0aW1lem9uZVRpdGxlOigpPT51fSk7dmFyIHM9aSg5MTQ3NzUpLG49aSgxODUyNzEpO2NvbnN0IHI9W3tpZDoiRXRjL1VUQyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDkxMjI1NSkpfX0se2lkOiJleGNoYW5nZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNjYwNykpfX1dLG89W3tpZDoiQWZyaWNhL0NhaXJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzUxODQyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9DYXNhYmxhbmNhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjUyNDIyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9Kb2hhbm5lc2J1cmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyNzAzMzApKX0sb2Zmc2V0OjB9LHtpZDoiQWZyaWNhL0xhZ29zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTUwNTE2KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9OYWlyb2JpIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTI0OTM0KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9UdW5pcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMwNzI0OCkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0FuY2hvcmFnZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNzkwMikpfSxvZmZzZXQ6MH0sewppZDoiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjE0MTQ0KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQm9nb3RhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTAzMzUzKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQ2FyYWNhcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3MjQyNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0NoaWNhZ28iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4MjE0NDgpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9FbF9TYWx2YWRvciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ1MTQ0NykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0hhbGlmYXgiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1ODIzODYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9KdW5lYXUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDI2MzEpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9MaW1hIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTU3NTAwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvTG9zX0FuZ2VsZXMiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MDg0MjYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9NZXhpY29fQ2l0eSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg3NDYwNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL05ld19Zb3JrIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjU4MTE3KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvUGhvZW5peCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTk1OSkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1NhbnRpYWdvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTE0MTU2KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvU2FvX1BhdWxvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTU1NDMwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvVG9yb250byIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDE2MzY3MikpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1ZhbmNvdXZlciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MTMyKSl9LG9mZnNldDowfSx7aWQ6IlVTL01vdW50YWluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODg5NTI5KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQWxtYXR5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDk1NzAzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQXNoa2hhYmFkIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzE5MDQ0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQmFocmFpbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODY2NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0Jhbmdrb2siLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5NzM1NzQpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9DaG9uZ3FpbmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDk2MzIpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Db2xvbWJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjA1MDkxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvRGhha2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgzNjA2OTApKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9EdWJhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3MzI3NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0hvX0NoaV9NaW5oIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDYyNzAyKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSG9uZ19Lb25nIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTgyMTk3KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmFrYXJ0YSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmVydXNhbGVtIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNzA0ODMxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2FyYWNoaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU4NTQ0MikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0thYnVsIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDgwNTUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2F0aG1hbmR1IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjgyNDcpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Lb2xrYXRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjg4NjUxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3VhbGFfTHVtcHVyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzQ3MDY0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3V3YWl0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzk1MTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTWFuaWxhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzYxNDQ1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTXVzY2F0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODI1NDE0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTmljb3NpYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI3NjU0NykpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1FhdGFyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTMzNzUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvUml5YWRoIixnZXQgdGl0bGUoKXsKcmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc4MDk1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvU2VvdWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDQ0MTgpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9TaGFuZ2hhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODgzMSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1NpbmdhcG9yZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDY0Mzc5NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RhaXBlaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3NjAyNikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RlaHJhbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc0Mjk4KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvVG9reW8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg3OTgxOTkpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9ZYW5nb24iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNzczNTQpKX0sb2Zmc2V0OjB9LHtpZDoiQXRsYW50aWMvQXpvcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzg0OTY0KSl9LG9mZnNldDowfSx7aWQ6IkF0bGFudGljL1JleWtqYXZpayIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc1Mzg1OCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvQWRlbGFpZGUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1MDE1MDIpKX0sb2Zmc2V0OjB9LHtpZDoiQXVzdHJhbGlhL0JyaXNiYW5lIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODkwNjg5KSl9LG9mZnNldDowfSx7aWQ6IkF1c3RyYWxpYS9QZXJ0aCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM1MDEwOCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvU3lkbmV5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTc5OTM0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9BbXN0ZXJkYW0iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMTM0NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQXRoZW5zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTg0MTcxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CZWxncmFkZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgwODM3NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQmVybGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTIzMTI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcmF0aXNsYXZhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTQ4ODI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcnVzc2VscyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM4NTkyNikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQnVjaGFyZXN0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjY0NTMxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CdWRhcGVzdCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MDI0MykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQ29wZW5oYWdlbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM2Njk1MikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvRHVibGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDMwODY4KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9IZWxzaW5raSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNTE0MCkpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvSXN0YW5idWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDc3OTgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xpc2JvbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDUwNzIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xqdWJsamFuYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQyMjAwNykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvTG9uZG9uIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjQ2NTA3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9MdXhlbWJvdXJnIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTc1NDQ3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9NYWRyaWQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MzE4OTIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL01hbHRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTYzMjM3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9Nb3Njb3ciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDYwNzQpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL09zbG8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4NDk3MzgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1BhcmlzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjE3ODc0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9QcmFndWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1NDQ0MDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JpZ2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjk2NDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JvbWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjU5OTEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1NvZmlhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTA0MzEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1N0b2NraG9sbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI1NTUxMSkpfSwKb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1RhbGxpbm4iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg2NTIxNzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1ZpZW5uYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNDQyKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9WaWxuaXVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTAwMzAxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9XYXJzYXciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNjQ3MzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1phZ3JlYiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc5MjM4NikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvWnVyaWNoIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDczNDk2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQXVja2xhbmQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MjE2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQ2hhdGhhbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgxODg0NikpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL0Zha2FvZm8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxMDQxNzcpKX0sb2Zmc2V0OjB9LHtpZDoiUGFjaWZpYy9Ib25vbHVsdSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg5OTc5MSkpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL05vcmZvbGsiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5Njc0MTIpKX0sb2Zmc2V0OjB9XTtmdW5jdGlvbiBhKGUsdCxpKXtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e2lkOnR9PWUse3N0cmluZzppLG9mZnNldDpufT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDp0LG9mZnNldDpuLGdldCB0aXRsZSgpe3JldHVybmAoJHtpfSkgJHtlLnRpdGxlfWB9fX0pKX0oZSkscj1pLmZpbHRlcigoKHthbGlhczplfSk9PkJvb2xlYW4oZSkpKS5tYXAoKGU9Pntjb25zdHthbGlhczp0LGlkOml9PWUse3N0cmluZzpuLG9mZnNldDpyfT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDppLG9mZnNldDpyLGdldCB0aXRsZSgpe3JldHVybmAoJHtufSkgJHtlLnRpdGxlfWB9LGFsaWFzOnR9fSkpLG89ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29ydCgoKGUsdCk9Pntjb25zdCBpPWUub2Zmc2V0LXQub2Zmc2V0O3JldHVybiAwIT09aT9pOmUudGl0bGUubG9jYWxlQ29tcGFyZSh0LnRpdGxlKX0pKX0obi5jb25jYXQocikpO3JldHVybiB0LmNvbmNhdChvKX1jb25zdCBsPWEobyxyLFtdKSxjPW5ldyBNYXA7bC5mb3JFYWNoKChlPT57Yy5zZXQoZS5pZCwhMCl9KSk7Y29uc3QgaD1uZXcgTWFwO3IuY29uY2F0KG8pLmZvckVhY2goKGU9PntoLnNldChlLmlkLCEwKX0pKTtmdW5jdGlvbiBkKGUpe3JldHVybiBjLmhhcyhlKX1mdW5jdGlvbiB1KGUpe2Zvcihjb25zdHtpZDp0LHRpdGxlOml9b2YgbylpZih0PT09ZSl7cmV0dXJuYCR7aX0gKCR7KDAscy5wYXJzZVR6T2Zmc2V0KShlKS5zdHJpbmd9KWB9Zm9yKGNvbnN0e2lkOnQsdGl0bGU6aX1vZiBsKWlmKHQ9PT1lKXJldHVybmAke2l9YDtyZXR1cm4gZX19LDg4NDI4KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SG9yaXpvbnRhbEFsaWduOigpPT5zLFZlcnRpY2FsQWxpZ246KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuUmlnaHQ9InJpZ2h0IixlLkNlbnRlcj0iY2VudGVyIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlRvcD0idG9wIixlLkJvdHRvbT0iYm90dG9tIixlLk1pZGRsZT0ibWlkZGxlIn0obnx8KG49e30pKX0sOTM3MDk4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1pLmQodCx7aXNOb25UcmFkYWJsZVN5bWJvbFR5cGU6KCk9PnN9KX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0saT1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpyfSx7cGF0dGVybjoiKSIsY3RvcjpvfSx7cGF0dGVybjoiKyIsY3RvcjpsfSx7cGF0dGVybjoiLSIsY3RvcjpjfSx7cGF0dGVybjoiKiIsY3RvcjpofSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3Rvcjp1fSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmd9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp2fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7cGF0dGVybjovJ1teJ10qLyxjdG9yOlN9LHtwYXR0ZXJuOi9bXDAtXHgyMFxzXSsvLGN0b3I6bn1dO2Z1bmN0aW9uIGkoZSx0KXt2YXIgaT1mdW5jdGlvbigpe307cmV0dXJuIGkucHJvdG90eXBlPXQucHJvdG90eXBlLGUucHJvdG90eXBlPW5ldyBpLGV9ZnVuY3Rpb24gcygpe31mdW5jdGlvbiBuKGUpe3RoaXMudmFsdWU9ZX1mdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8oKXt9ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIGMoKXt9ZnVuY3Rpb24gaCgpe31mdW5jdGlvbiBkKCl7fQpmdW5jdGlvbiB1KCl7fXMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LGkobixzKSxpKHIscyksci5wcm90b3R5cGUudmFsdWU9IigiLGkobyxzKSxvLnByb3RvdHlwZS52YWx1ZT0iKSIsaShhLHMpLGkobCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iKyIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iLSIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkoaCxhKSxoLnByb3RvdHlwZS52YWx1ZT0iKiIsaC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGgucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkodSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iXiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBwPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLF89L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGcoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGYoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIFMoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB2KCl7Zy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9aShtLHMpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1fLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9cC5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LGk9MjtpPj0xOy0taSl7dmFyIHM9dGhpcy5fdGlja2VyLnNsaWNlKDAsaSk7aWYoZShzKSl7dGhpcy5fcm9vdD1zLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShpKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0saShnLHMpLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0sZy5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0sZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0saShTLG0pLFMucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCxTLnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxpKHYsZyksdi5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciB5PW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpO2Z1bmN0aW9uIGIodCxpKXt2YXIgcyxyPVtdO2U6Zm9yKDtzPXkuZXhlYyh0KTspe2Zvcih2YXIgbz1lLmxlbmd0aDtvLS07KWlmKHNbbysxXSl7aWYoZVtvXS5jdG9yKXt2YXIgYT1uZXcgZVtvXS5jdG9yKHNbbysxXSk7YS5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGEpfWNvbnRpbnVlIGV9dmFyIGw9bmV3IGYoc1swXSk7bC5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGwpfWlmKGkmJmkucmVjb3Zlcil7dmFyIGM7Zm9yKG89ci5sZW5ndGg7by0tOyl7dmFyIGg9cltvXQo7aWYoaCBpbnN0YW5jZW9mIGd8fGggaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1jKXt2YXIgZD1uZXcgbSgiIiksdT1yLnNwbGljZShvLGMtbysxLGQpO2QudmFsdWU9dS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWM9b31lbHNlIGggaW5zdGFuY2VvZiBufHwoYz12b2lkIDApfX1yZXR1cm4gcn1mdW5jdGlvbiB3KGUpe2Zvcih2YXIgdD1bXSxpPTA7aTxlLmxlbmd0aDtpKyspZVtpXWluc3RhbmNlb2Ygbnx8dC5wdXNoKGVbaV0pO3JldHVybiB0fWZ1bmN0aW9uIEMoZSl7ZT13KGUpO2Zvcih2YXIgdCxpPVtdLHM9W10sbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgbD1lW25dO2lmKGwgaW5zdGFuY2VvZiBhKXMubGVuZ3RoJiZzW3MubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bC5wcmVjZWRlbmNlJiYoc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWwucHJlY2VkZW5jZSk7ZWxzZSBpZihsIGluc3RhbmNlb2YgcilzLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6bn0pO2Vsc2UgaWYobCBpbnN0YW5jZW9mIG8pe3ZhciBjPWVbKHQ9cy5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0saD1lW24rMV07aCBpbnN0YW5jZW9mIGEmJiEoaC5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEoYyBpbnN0YW5jZW9mIGEpfHxjLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxjLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmMuY29tbXV0YXRpdmUpfHwoaS51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLGkucHVzaChuKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKG49aS5sZW5ndGg7bi0tOyllLnNwbGljZShpW25dLDEpO3JldHVybiBlfWZ1bmN0aW9uIFAoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPWIoZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1QKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4oZT1QKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOmIsdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixpPSJ2YXIiLHM9dCxsPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sYz1bXSxoPTA7aDxlLmxlbmd0aDtoKyspe2lmKCEoKHU9ZVtoXSlpbnN0YW5jZW9mIG4pKXtpZihkZWxldGUgbC5pc0VtcHR5LHUuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX07aWYodS5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnUuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGwud2FybmluZ3MucHVzaChkKSxoIT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYodSBpbnN0YW5jZW9mIG18fHUgaW5zdGFuY2VvZiBnKXtpZihzPT09aSl7bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnV9KTtjb250aW51ZX1zPWl9ZWxzZSBpZih1IGluc3RhbmNlb2YgYSl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9cz0ib3BlcmF0b3IifWVsc2UgaWYodSBpbnN0YW5jZW9mIHIpe2lmKHM9PT1pKXtsLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pO2NvbnRpbnVlfWMucHVzaCh1KSxzPXR9ZWxzZSBpZih1IGluc3RhbmNlb2Ygbyl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9Yy5wb3AoKXx8bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnUscmVjb3Zlcjp7cHJlcGVuZDpuZXcgcn19KSxzPWl9ZWxzZSB1IGluc3RhbmNlb2YgZiYmbC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pfX1mb3IobC5icmFjZUJhbGFuY2U9Yy5sZW5ndGgscyE9PWkmJmwud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2MubGVuZ3RoOyl7dmFyIHU7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoodT1jLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnV9O3M9PT1pJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IG99KSxsLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGwuY3VycmVudFN0YXRlPXMsMD09PWwud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgbC53YXJuaW5ncywwPT09bC5lcnJvcnMubGVuZ3RoJiZkZWxldGUgbC5lcnJvcnMsbH0sZmFjdG9yT3V0QnJhY2VzOkMsbm9ybWFsaXplVG9rZW5zOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0ucGFyc2UmJmVbdF0ucGFyc2UoKTtyZXR1cm4gZX0sZmxpcDpmdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtmb3IodmFyIHQsaT0wLHM9MSxsPTIsYz0zLGg9aSx1PTAscD0wO3A8ZS5sZW5ndGg7cCsrKXt2YXIgXz1lW3BdCjtpZighKF8gaW5zdGFuY2VvZiBuKSlzd2l0Y2goaCl7Y2FzZSBpOmlmKCEoXyBpbnN0YW5jZW9mIGcmJjE9PStfLnZhbHVlKSlyZXR1cm4hMTtoPXM7YnJlYWs7Y2FzZSBzOmlmKCEoaD09PXMmJl8gaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTtoPWwsdD1wKzE7YnJlYWs7Y2FzZSBsOmlmKF8gaW5zdGFuY2VvZiByKWg9Yyx1PTE7ZWxzZSBpZihfIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGM6XyBpbnN0YW5jZW9mIHI/dSsrOl8gaW5zdGFuY2VvZiBvJiYtLXU8PTAmJihoPWwpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIEModHx8W25ldyBnKCIxIiksbmV3IGQsbmV3IHJdLmNvbmNhdChlKS5jb25jYXQobmV3IG8pKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHgoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4geChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiB4KGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6UCxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjpTLE51bWJlclRva2VuOmcsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOnIsQ2xvc2VCcmFjZVRva2VuOm8sdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1DKHcoYihlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLE0odCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIE0oQyh3KGIoZSkpKSl9fX0oKTtlLmV4cG9ydHM9aX0sODc0MzA2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1ZlcnNpb246KCk9Pm59KTt2YXIgcz1pKDEzODYzOCk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21ham9yPWUsdGhpcy5fbWlub3I9dH1tYWpvcigpe3JldHVybiB0aGlzLl9tYWpvcn1taW5vcigpe3JldHVybiB0aGlzLl9taW5vcn1pc1plcm8oKXtyZXR1cm4gMD09PXRoaXMuX21ham9yJiYwPT09dGhpcy5fbWlub3J9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFqb3IrIi4iK3RoaXMuX21pbm9yfWNvbXBhcmVUbyhlKXtyZXR1cm4gdGhpcy5fbWFqb3I8ZS5fbWFqb3I/LTE6dGhpcy5fbWFqb3I+ZS5fbWFqb3I/MTp0aGlzLl9taW5vcjxlLl9taW5vcj8tMTp0aGlzLl9taW5vcj5lLl9taW5vcj8xOjB9aXNMZXNzKGUpe3JldHVybiB0aGlzLmNvbXBhcmVUbyhlKTwwfWlzTGVzc09yRXF1YWwoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPD0wfWlzRXF1YWwoZSl7cmV0dXJuIDA9PT10aGlzLmNvbXBhcmVUbyhlKX1pc0dyZWF0ZXIoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPjB9aXNHcmVhdGVyT3JFcXVhbChlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk+PTB9c3RhdGljIHBhcnNlKGUpe2lmKGUgaW5zdGFuY2VvZiBuKXJldHVybiBuZXcgbihlLm1ham9yKCksZS5taW5vcigpKTtpZigibnVtYmVyIj09dHlwZW9mIGUpcmV0dXJuKDAscy5hc3NlcnQpKE1hdGguZmxvb3IoZSk9PT1lLCJWZXJzaW9uIHNob3VsZCBub3QgYmUgYSBmbG9hdCBudW1iZXIiKSxuZXcgbihlLDApO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1lLnNwbGl0KCIuIik7aWYoMT09PXQubGVuZ3RoKXtjb25zdCBpPXBhcnNlSW50KHRbMF0sMTApO3JldHVybigwLHMuYXNzZXJ0KSghaXNOYU4oaSksIkJhZCB2ZXJzaW9uIHN0cmluZzogIitlKSxuZXcgbihpLDApfWlmKDI9PT10Lmxlbmd0aCl7Y29uc3QgaT1wYXJzZUludCh0WzBdLDEwKTsoMCxzLmFzc2VydCkoIWlzTmFOKGkpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSk7Y29uc3Qgcj1wYXJzZUludCh0WzFdLDEwKTtyZXR1cm4oMCxzLmFzc2VydCkoIWlzTmFOKHIpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSksbmV3IG4oaSxyKX10aHJvdyBuZXcgRXJyb3IoIkJhZCB2ZXJzaW9uIHN0cmluZyAob25lIGRvdCBleHBlY3RlZCk6ICIrZSl9dGhyb3cgbmV3IEVycm9yKCJCYWQgdmVyc2lvbjogIitlKX19bi5aRVJPPW5ldyBuKDAsMCl9LDE1OTUxMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBzPWkoOTI3NTkzKSxuPWkoNzU1NjI3KSxyPWkoMTUwMTUwKTtjb25zdCBvPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiBvW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtvW2VdPXR9KGUsbmV3IHMuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmxbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyBjKGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgaChlKS5zbmFwc2hvdH19KSksb1tlXX1jb25zdCBsPXsKc2ltcGxlOlsiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJsb2dvIiwiY2giLCJjaHAiLCJjdXJyZW5jeS1sb2dvaWQiLCJjdXJyZW5jeV9jb2RlIiwiY3VycmVuY3lfaWQiLCJiYXNlX2N1cnJlbmN5X2lkIiwiY3VycmVudF9zZXNzaW9uIiwiZGVzY3JpcHRpb24iLCJleGNoYW5nZSIsImZvcm1hdCIsImZyYWN0aW9uYWwiLCJpc190cmFkYWJsZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsaXN0ZWRfZXhjaGFuZ2UiLCJsb2dvaWQiLCJscCIsImxwX3RpbWUiLCJtaW5tb3YiLCJtaW5tb3ZlMiIsIm9yaWdpbmFsX25hbWUiLCJwcmljZXNjYWxlIiwicHJvX25hbWUiLCJzaG9ydF9uYW1lIiwidHlwZSIsInR5cGVzcGVjcyIsInVwZGF0ZV9tb2RlIiwidm9sdW1lIiwidmFyaWFibGVfdGlja19zaXplIiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl19O2wuc2ltcGxlRGV0YWlsZWQ9Wy4uLmwuc2ltcGxlLCJhc2siLCJiaWQiLCJmdW5kYW1lbnRhbHMiLCJoaWdoX3ByaWNlIiwiaXNfdHJhZGFibGUiLCJsb3dfcHJpY2UiLCJvcGVuX3ByaWNlIiwicHJldl9jbG9zZV9wcmljZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsInN0YXR1cyIsImJhc2ljX2Vwc19uZXRfaW5jb21lIiwiYmV0YV8xX3llYXIiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwiaW5kdXN0cnkiLCJtYXJrZXRfY2FwX2Jhc2ljIiwicHJpY2VfZWFybmluZ3NfdHRtIiwic2VjdG9yIiwidm9sdW1lIiwiZGl2aWRlbmRzX3lpZWxkIiwidGltZXpvbmUiXSxsLmZ1bGw9W10sbC53YXRjaGxpc3Q9Wy4uLmwuc2ltcGxlLCJyY2hwIiwibmNocCIsInJ0YyIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwiZGl2aWRlbmRzX2F2YWlsYWJpbGl0eSIsImZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5IiwiZWFybmluZ3NfYXZhaWxhYmlsaXR5Il0sbC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sbC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sbC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIGkoZSl7Y29uc3QgaT10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBuLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOmksZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IHM9bmV3IFByb21pc2UoKCh0LHMpPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChpKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBuPSgwLHIuZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKHI9PnsiZXJyb3IiPT09ci5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLHMoIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KHIudmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09ci52YWx1ZXMsdChpKHIudmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUobixlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1zLHN9LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSwKdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90PXt9LHRoaXMuc25hcHNob3Q9ZT0+e2lmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXSlyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdO2NvbnN0IHQ9bmV3IFByb21pc2UoKCh0LGkpPT57aWYodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSl0KHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV0pO2Vsc2V7Y29uc3Qgcz0oMCxyLmd1aWQpKCk7dGhpcy5fbXVsdGlwbGV4ZXIuc3Vic2NyaWJlKHMsW2VdLChuPT57ImVycm9yIj09PW4uc3RhdHVzJiYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPW51bGwsaSgiUXVvdGVzIHNuYXBzaG90IGlzIG5vdCByZWNlaXZlZCIpKTtjb25zdCByPW4udmFsdWVzO3ImJnIubWlubW92JiZyLnByaWNlc2NhbGUmJnIuZGVzY3JpcHRpb24mJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCx0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdPXIsdChyKSx0aGlzLl9tdWx0aXBsZXhlci51bnN1YnNjcmliZShzLGUpKX0pKX19KSk7cmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT10LHR9LHRoaXMuX211bHRpcGxleGVyPWV9fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlPWEpfSw1Njk4NDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlQWxpYXNTeW1ib2xJbmZvV1Y6KCk9PnUsY3JlYXRlU3ltYm9sT3JBbGlhc1dWOigpPT5wLGdldFN5bWJvbEFsaWFzU2VydmljZTooKT0+ZH0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTMwNTY2KSxyPWkoOTQ4MzgwKSxvPWkoOTUyOTAwKSxhPWkoMjQxOTU2KTtmdW5jdGlvbiBsKGUpe3JldHVybiJTeW1ib2xBbGlhc1NlcnZpY2UiKyhlP2BfJHtlfWA6IiIpfWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25DaGFuZ2VkPW5ldyByLkRlbGVnYXRlO2NvbnN0IHQ9ZS5zdGF0ZT8/bi5nZXRKU09OKGwoZT8uaWQpKT8/W107dGhpcy5fYWxpYXNlc0J5UHJvTmFtZT1uZXcgTWFwKHQpLHRoaXMuX2FsaWFzZXNCeU5hbWU9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2FsaWFzZXNCeVByb05hbWUudmFsdWVzKCkpLm1hcCgoZT0+W2UuYWxpYXNOYW1lLGVdKSkpLHRoaXMuX2NvbnRleHQ9ZX1nZXRBbGxBbGlhc2VzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS52YWx1ZXMoKSl9Z2V0QWxpYXNCeVByb05hbWUoZSl7cmV0dXJuIHRoaXMuX2FsaWFzZXNCeVByb05hbWUuZ2V0KGUpPz9udWxsfWdldEFsaWFzQnlOYW1lKGUpe3JldHVybiB0aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKT8/bnVsbH1hZGRBbGlhcyhlKXtpZih0aGlzLl9hbGlhc2VzQnlOYW1lLmhhcyhlLmFsaWFzTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyAke2UuYWxpYXNOYW1lfSBhbHJlYWR5IGV4aXN0c2ApO2lmKHRoaXMuX2FsaWFzZXNCeVByb05hbWUuaGFzKGUuc3ltYm9sUHJvTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyBmb3Igc3ltYm9sICR7ZS5zeW1ib2xQcm9OYW1lfSBhbHJlYWR5IGV4aXN0c2ApO3RoaXMuX2FsaWFzZXNCeVByb05hbWUuc2V0KGUuc3ltYm9sUHJvTmFtZSxlKSx0aGlzLl9hbGlhc2VzQnlOYW1lLnNldChlLmFsaWFzTmFtZSxlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLnN5bWJvbFByb05hbWUsZS5hbGlhc05hbWUsZSksdGhpcy5fc2F2ZSgpfXVwZGF0ZUFsaWFzKGUpe2NvbnN0IHQ9dGhpcy5fYWxpYXNlc0J5TmFtZS5nZXQoZS5hbGlhc05hbWUpO2lmKCF0KXRocm93IG5ldyBFcnJvcihgQWxpYXMgJHtlLmFsaWFzTmFtZX0gZG9lcyBub3QgZXhpc3RgKTtpZigic3ltYm9sUHJvTmFtZSJpbiBlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHVwZGF0ZSBhbGlhcyBwcm8gbmFtZSIpOygwLHMubWVyZ2UpKHQsZSksdGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5zZXQodC5zeW1ib2xQcm9OYW1lLHQpLHRoaXMuX2FsaWFzZXNCeU5hbWUuc2V0KHQuYWxpYXNOYW1lLHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHQuc3ltYm9sUHJvTmFtZSx0LmFsaWFzTmFtZSx0KSx0aGlzLl9zYXZlKCl9cmVtb3ZlQWxpYXMoZSl7Y29uc3QgdD10aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEFsaWFzICR7ZX0gbm90IGZvdW5kYCk7dGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5kZWxldGUodC5zeW1ib2xQcm9OYW1lKSx0aGlzLl9hbGlhc2VzQnlOYW1lLmRlbGV0ZShlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLHQuc3ltYm9sUHJvTmFtZSxudWxsKSx0aGlzLl9zYXZlKCl9b25BbGlhc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2VkfXN0YXRlKGUpe2NvbnN0IHQ9bmV3IFNldChlPz9bXSk7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpLmZpbHRlcigoKFtpXSk9PiFlfHx0LmhhcyhpKSkpfV9zYXZlKCl7bi5zZXRKU09OKGwodGhpcy5fY29udGV4dD8uaWQpLEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpKX19Y29uc3QgaD1uZXcgTWFwO2Z1bmN0aW9uIGQoZSl7Y29uc3QgdD1lPz97aWQ6IiJ9O2xldCBpPWguZ2V0KHQuaWQpO3JldHVybiBpfHwoaT1uZXcgYyh0KSksaC5zZXQodC5pZCxpKSxpfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gdD8oMCxvLmNvbWJpbmUpKCgoZSxpKT0+e2lmKCFlKXJldHVybiBudWxsO2NvbnN0IHM9dC5nZXRBbGlhc0J5UHJvTmFtZShlLnByb19uYW1lKTtyZXR1cm57Li4uZSxuYW1lOnM/LmFsaWFzTmFtZT8/ZS5uYW1lLGRlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9uLGxvY2FsX2Rlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmxvY2FsX2Rlc2NyaXB0aW9uLC4uLnM/LmZvcm1hdHRpbmdPcHRpb25zfX0pLGUsKDAsYS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKChlPT4oZT8/MCkrMSksdC5vbkFsaWFzQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCk6ZX1mdW5jdGlvbiBwKGUsdCxpKXtyZXR1cm4gaT8oMCxvLmNvbWJpbmUpKCgoZSx0LHMpPT57CmlmKCF0KXJldHVybiBlO2NvbnN0IG49aS5nZXRBbGlhc0J5UHJvTmFtZSh0LnByb19uYW1lKTtyZXR1cm4gbj8uYWxpYXNOYW1lPz9lfSksZSx0LCgwLGEuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoZT0+KGU/PzApKzEpLGkub25BbGlhc0NoYW5nZWQoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpOmV9fSw1ODU5MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U2NyaXB0VHlwZTooKT0+c30pLGZ1bmN0aW9uKGUpe2VbZS5JbmRpY2F0b3I9MV09IkluZGljYXRvciIsZVtlLlN0cmF0ZWd5PTJdPSJTdHJhdGVneSIsZVtlLkxpYnJhcnk9M109IkxpYnJhcnkifShzfHwocz17fSkpfSw2ODY1MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0UHVibGljYXRpb25UeXBlOigpPT5vLGltcG9ydEVudHJ5Q29tcG9uZW50OigpPT5hfSk7dmFyIHM9aSg1ODU5MjcpO2NvbnN0IG49bmV3IFNldChbcy5TY3JpcHRUeXBlLkluZGljYXRvcixzLlNjcmlwdFR5cGUuTGlicmFyeSxzLlNjcmlwdFR5cGUuU3RyYXRlZ3ksImluZGljYXRvciIsImxpYnJhcnkiLCJzdHJhdGVneSJdKTt2YXIgcjtmdW5jdGlvbiBvKHtpc1ZpZGVvOmUsaXNTY3JpcHQ6dCxzY3JpcHRUeXBlOml9KXtzd2l0Y2goITApe2Nhc2UgZTpyZXR1cm4idmlkZW8iO2Nhc2UgdDpjYXNlIG4uaGFzKGl8fCIiKTpyZXR1cm4ic2NyaXB0IjtkZWZhdWx0OnJldHVybiJpZGVhIn19YXN5bmMgZnVuY3Rpb24gYShlKXtzd2l0Y2goZSl7Y2FzZSJ2aWRlbyI6cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzE2NjEpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSg1MTg0KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDY2MjcwKSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSg5NzY2MCksaS5lKDQ2NTkxKSxpLmUoNzE1MjgpLGkuZSgzMzEyMCksaS5lKDQ0NzcpLGkuZSgxNTA5KSxpLmUoNTUzMzYpLGkuZSg5MjM5MyksaS5lKDIwMjcxKSxpLmUoOTE2NzgpLGkuZSgyNzczNiksaS5lKDgwNzMxKSxpLmUoNzYzMjkpLGkuZSg2OTc0NyksaS5lKDI3NTQ5KSxpLmUoNjI4MDYpLGkuZSg1MjkyMCksaS5lKDM4ODY4KSxpLmUoMTY0MjEpLGkuZSgxNDY0MCksaS5lKDQwNDIpLGkuZSgzNjM1NiksaS5lKDIyMTQ0KSxpLmUoODM1MjkpLGkuZSg1OTgzMCksaS5lKDU5NDM3KSxpLmUoNzA3NTYpLGkuZSg3NDU2KSxpLmUoMjk5NDMpLGkuZSg2Mjg5MiksaS5lKDIyNDY0KSxpLmUoODQzMzUpLGkuZSgyMDEzKSxpLmUoMzMxMCksaS5lKDU3NTYpLGkuZSg3NDQ2MSksaS5lKDgzMjYxKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoODY0MTMpXSkudGhlbihpLmJpbmQoaSwzMzYyMzgpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld1ZpZGVvKSk7Y2FzZSJzY3JpcHQiOgpyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZSgxNDY5MyksaS5lKDg0MzA2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoNDc2MzIpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMzI3NDgpLGkuZSgxNjc2KSxpLmUoNjYyNzApLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSgxOTUxMyksaS5lKDk3NjYwKSxpLmUoNDY1OTEpLGkuZSg3MTUyOCksaS5lKDMzMTIwKSxpLmUoNDQ3NyksaS5lKDE1MDkpLGkuZSg1NTMzNiksaS5lKDkyMzkzKSxpLmUoMjAyNzEpLGkuZSg5MTY3OCksaS5lKDI3NzM2KSxpLmUoODA3MzEpLGkuZSg3NjMyOSksaS5lKDY5NzQ3KSxpLmUoMjc1NDkpLGkuZSg2MjgwNiksaS5lKDUyOTIwKSxpLmUoMzg4NjgpLGkuZSgxNjQyMSksaS5lKDE0NjQwKSxpLmUoNDA0MiksaS5lKDM2MzU2KSxpLmUoMjIxNDQpLGkuZSg4MzUyOSksaS5lKDU5ODMwKSxpLmUoNTk0MzcpLGkuZSg3MDc1NiksaS5lKDc0NTYpLGkuZSgyOTk0MyksaS5lKDYyODkyKSxpLmUoMjI0NjQpLGkuZSg4NDMzNSksaS5lKDIwMTMpLGkuZSgzMzEwKSxpLmUoNTc1NiksaS5lKDI3NTEzKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoNDIyODgpLGkuZSg3NzU3OCksaS5lKDg5NDYpLGkuZSg0ODg1NCksaS5lKDYxMTgzKSxpLmUoMTk0NjMpLGkuZSgzMDQyMSksaS5lKDI3OTEzKSxpLmUoMjk4NDQpLGkuZSg5NjA3OCksaS5lKDMzNjcpLGkuZSgzODAxNiksaS5lKDcxNTY1KV0pLnRoZW4oaS5iaW5kKGksOTc5NDEzKSkudGhlbigoZT0+ZS5QdWJsaWNhdGlvblZpZXdTY3JpcHQpKTtjYXNlImlkZWEiOnJldHVybiBQcm9taXNlLmFsbChbaS5lKDE0NjkzKSxpLmUoODQzMDYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoNTAyMjEpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgzMjc0OCksaS5lKDE2NzYpLGkuZSg2NjI3MCksaS5lKDk3NDQpLGkuZSg4MzA0MSksaS5lKDUxNjgyKSxpLmUoNzE0ODIpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoOTc2NjApLGkuZSg0NjU5MSksaS5lKDcxNTI4KSxpLmUoMzMxMjApLGkuZSg0NDc3KSxpLmUoMTUwOSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSgyMDI3MSksaS5lKDkxNjc4KSxpLmUoMjc3MzYpLGkuZSg4MDczMSksaS5lKDc2MzI5KSxpLmUoNjk3NDcpLGkuZSgyNzU0OSksaS5lKDYyODA2KSxpLmUoNTI5MjApLGkuZSgzODg2OCksaS5lKDE2NDIxKSxpLmUoMTQ2NDApLGkuZSg0MDQyKSxpLmUoMzYzNTYpLGkuZSgyMjE0NCksaS5lKDgzNTI5KSxpLmUoNTk4MzApLGkuZSg1OTQzNyksaS5lKDcwNzU2KSxpLmUoNzQ1NiksaS5lKDI5OTQzKSxpLmUoNjI4OTIpLGkuZSgyMjQ2NCksaS5lKDg0MzM1KSxpLmUoMjAxMyksaS5lKDMzMTApLGkuZSg1NzU2KSxpLmUoMjc1MTMpLGkuZSgzMjM4NyksaS5lKDcwNzEyKSxpLmUoODc4NTgpLGkuZSg1OTYxOSksaS5lKDgxODY4KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoMTkyMTMpXSkudGhlbihpLmJpbmQoaSw0OTA2NjkpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld0lkZWEpKX19IWZ1bmN0aW9uKGUpe2UuSWRlYT0iaWRlYSIsZS5TY3JpcHQ9InNjcmlwdCIsZS5WaWRlbz0idmlkZW8ifShyfHwocj17fSkpfSwzODcxMDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2hvd0RldGFpbHNEaWFsb2c6KCk9Pm99KTt2YXIgcz1pKDI5NjI2Mik7bGV0IG47Y2xhc3MgciBleHRlbmRzIHMuRGlhbG9nUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3Byb21pc2U9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7CmNvbnN0IHQ9dGhpcy5fcHJvbWlzZT1Qcm9taXNlLmFsbChbaS5lKDkzNzQ1KSxpLmUoNjYwMDIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgyNzUxNyksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDk4MDg0KSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoMzM1MTUpLGkuZSgxNDYyNSksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoODkyMDQpLGkuZSg5MTg1NSksaS5lKDQzNjQ0KSxpLmUoNTgwNTEpLGkuZSg2OTg2MSksaS5lKDU1MDExKSxpLmUoNDUzNjgpLGkuZSgzMDM3MyksaS5lKDIxNTgxKSxpLmUoNTE4ODApLGkuZSgxODQ3MiksaS5lKDQ3MDkyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDIxMjQ1KSxpLmUoNTY4OSksaS5lKDI1NTYyKSxpLmUoMjYxMDApLGkuZSgyOTM0OCksaS5lKDM2OTg2KSxpLmUoNjMwMzMpLGkuZSgyODkzNiksaS5lKDQ3NTUxKSxpLmUoNzM5NjApLGkuZSgyNTExKSxpLmUoNjM3MjMpLGkuZSgyMDA4NSksaS5lKDM2NTIxKSxpLmUoMjcyMTcpLGkuZSgyMjQwNSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg3ODMxMiksaS5lKDQ0NzgwKSxpLmUoMTM4MDUpLGkuZSg0MjI4OCksaS5lKDY5Njk3KSxpLmUoODAyMDcpLGkuZSg5NzY0NyksaS5lKDgzOTM1KSxpLmUoNTMyOTcpLGkuZSgzOTYwNiksaS5lKDY3ODUzKSxpLmUoMzcxMDYpLGkuZSgzNzI1OSksaS5lKDc0OTEpLGkuZSg4MDkxMildKS50aGVuKGkuYmluZChpLDgyOTA5NykpLnRoZW4oKGk9Pnt0aGlzLl9wcm9taXNlPT09dCYmKHRoaXMuX2RpYWxvZyYmKHRoaXMuX2RpYWxvZy5oaWRlKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpKSx0aGlzLl9kaWFsb2c9bmV3IGkuRGV0YWlsc0RpYWxvZ1JlbmRlcmVyLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nLnNob3coZSkpfSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn19ZnVuY3Rpb24gbyhlKXtyLmdldEluc3RhbmNlKCkuc2hvdyhlKX19LDY1OTY0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0RldGFpbHNSZWFkeTooKT0+c30pO2NvbnN0IHM9bmV3KGkoMjMyMzY0KS5XYXRjaGVkVmFsdWUpKCExKX0sNzI4NjM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVN5bWJvbE5vdGU6KCk9PmMsc2hvd1N5bWJvbE5vdGVzOigpPT5sfSk7dmFyIHM9aSg1NTExOTMpLG49aSg2NTk2NDcpLHI9aSg5NzEwNTEpO2xldCBvPW51bGw7ZnVuY3Rpb24gYShlLHQpe2lmKG8mJm4uaXNEZXRhaWxzUmVhZHkudW5zdWJzY3JpYmUobyksbz0oKT0+e2NvbnN0IGk9d2luZG93Py53aWRnZXRiYXI/LmxheW91dD8uZ2V0V2lkZ2V0QnlUeXBlKCJkZXRhaWwiKT8ud2lkZ2V0T2JqZWN0O2kubmF2aWdhdGUoZSx0KX0sbi5pc0RldGFpbHNSZWFkeS52YWx1ZSgpKXJldHVybiBvKCksdm9pZChvPW51bGwpO24uaXNEZXRhaWxzUmVhZHkuc3Vic2NyaWJlKG8se29uY2U6ITB9KX1mdW5jdGlvbiBsKGU9bnVsbCx0KXtjb25zdCBpPSgwLHIucGF0aFRvR3JvdXApKGU/PyIiKTt0PygwLHMuc2hvd05vdGVzRGlhbG9nKShpKTphKGkpfWZ1bmN0aW9uIGMoZT1udWxsLHQpe2NvbnN0IGk9KDAsci5wYXRoVG9Hcm91cCkoZT8/IiIpKyI/bmV3PSIrcGVyZm9ybWFuY2Uubm93KCk7dCYmKDAscy5zaG93Tm90ZXNEaWFsb2cpKGkpLGEoaSl9fSw5NzEwNTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7R1JPVVBfUEFUSF9QQVRURVJOOigpPT5uLE5PVEVTX1BBVEhfUEFUVEVSTjooKT0+cyxVTkFUVEVOREVEX1BBVEhfUEFUVEVSTjooKT0+cixwYXRoVG9Hcm91cDooKT0+b30pO2NvbnN0IHM9Ii9ub3Rlcy8iLG49Ii9ub3Rlcy9ncm91cHMvOnN5bWJvbC8iLHI9Ii9ub3Rlcy91bmF0dGVuZGVkLyI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9uLnJlcGxhY2UoIjpzeW1ib2wiLGVuY29kZVVSSUNvbXBvbmVudChlKSk6cn19LDgyNzAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2F2YWlsYWJsZU9mZmVyczooKT0+bn0pO3ZhciBzPWkoMzg0MDE3KTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2lzSW52YWxpZD0hMCx0aGlzLl9vZmZlcnM9e319cnVuT3JVcGRhdGUoZSl7dGhpcy5faXNJbnZhbGlkP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKCgoKT0+dGhpcy5fdXBkYXRlT2ZmZXJzKCkudGhlbihlKSkpOnNldFRpbWVvdXQoKCgpPT50aGlzLl91cGRhdGVPZmZlcnMoKS50aGVuKGUpKSwwKTplKHRoaXMuX29mZmVycyl9Z2V0RGF0YSgpe3JldHVybiB0aGlzLl9vZmZlcnN9aW52YWxpZGF0ZShlKXt0aGlzLl9pc0ludmFsaWQ9ITAsd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSx0aGlzLnJ1bk9yVXBkYXRlKGU/PygoKT0+e30pKX1zZXRJbml0aWFsKGUpe3RoaXMuX2lzSW52YWxpZD0hMSx0aGlzLl9vZmZlcnM9ZSx3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXRoaXMuX29mZmVyc31lbnN1cmVPZmZlcnMoKXtyZXR1cm4gbmV3IFByb21pc2UoKGU9PnRoaXMucnVuT3JVcGRhdGUoZSkpKX13aXRoQXZhaWxhYmxlT2ZmZXJzKGUpe3JldHVybiBhc3luYyguLi50KT0+KGF3YWl0IHRoaXMuZW5zdXJlT2ZmZXJzKCksZSguLi50KSl9YXN5bmMgX3VwZGF0ZU9mZmVycygpe3JldHVybiB3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzfHwod2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSksCnRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U/dGhpcy5fdXBkYXRlT2ZmZXJzUHJvbWlzZTp0aGlzLl9pc0ludmFsaWQ/KHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U9KDAscy5mZXRjaCkoIi9hcGkvdjEvb2ZmZXJzLyIse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChhc3luYyBlPT57Y29uc3QgdD1hd2FpdCBlLmpzb24oKTtyZXR1cm4gZGVsZXRlIHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2UsdGhpcy5faXNJbnZhbGlkPSExLHRoaXMuX29mZmVycz1PYmplY3QuZW50cmllcyh0KS5yZWR1Y2UoKChlLFt0LGldKT0+KGkmJihlW3RdPWkpLGUpKSx7fSksd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz10aGlzLl9vZmZlcnMsdH0pKS5jYXRjaCgoKCk9Pih7fSkpKSx0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlKTp0aGlzLl9vZmZlcnN9fX0sMjMyOTQ4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldFByb2R1Y3RJZDooKT0+aCxpc0V4Y2hhbmdlOigpPT5jLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmwsaXNQcm86KCk9Pm8saXNQcm9kdWN0RGVmaW5lZDooKT0+bixpc1RyaWFsOigpPT5yfSk7dmFyIHM9aSg1ODE4OTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gcihlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIG8oZSkmJiFyKGUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnR5cGU9PT1zLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGU/YyhlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sNTgxODkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Byb2R1Y3RUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHN8fChzPXt9KSl9LDc3NDUwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtVc2VyU3RhdHVzOigpPT5zfSk7dmFyIHMsbj1pKDg2NDAzNCkscj1pKDYzODU3MSk7IWZ1bmN0aW9uKGUpe2UuTm9uUHJvPSJub25fcHJvIixlLlBybz0icHJvIn0oc3x8KHM9e30pKTsoMCxyLm1lbW9pemUpKCgoKT0+d2luZG93LnVzZXIuaXNfdHJpYWwmJndpbmRvdy51c2VyLnByb19wbGFuP3dpbmRvdy51c2VyLmlzX2V4cGVydHx8d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzIT09cy5Qcm8/bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOm4uTU9OVEhMWV9TVUJTQ1JJUFRJT05fREFZU19MRU46bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOKSl9LDYwMjM4NihlLHQsaSl7InVzZSBzdHJpY3QiO2FzeW5jIGZ1bmN0aW9uIHMoKXtyZXR1cm4oYXdhaXQgaS5lKDg1MjI3KS50aGVuKGkuYmluZChpLDUwMzE4NSkpKS5vcGVuZWRQaW5lU2NyaXB0c31pLmQodCx7Z2V0T3BlbmVkUGluZVNjcmlwdHM6KCk9PnN9KX0sMjQ2OTg2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2VkaXRvclRlbGVtZXRyeTooKT0+bn0pO3ZhciBzPWkoMTU2ODUwKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TdGFydFRpbWU9bnVsbH1zdGFydE9wZW5pbmcoKXt0aGlzLl9vcGVuU3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWZpbmlzaE9wZW5pbmcoKXtudWxsIT09dGhpcy5fb3BlblN0YXJ0VGltZSYmKHMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInBpbmUiLCJvcGVuX2VkaXRvcl90aW1lX2ZyYW1lIix7dmFsdWU6TWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKS10aGlzLl9vcGVuU3RhcnRUaW1lKX0pLHRoaXMuX29wZW5TdGFydFRpbWU9bnVsbCl9fX0sNTQyMTY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5vfSk7dmFyIHM9aSgzNjIyMzkpO2NvbnN0IG49W107dmFyIHI7YXN5bmMgZnVuY3Rpb24gbyhlLHQpe2NvbnN0IGk9YXdhaXQoMCxzLmdldFRyYWNrZXIpKCkscj17ZXZlbnRfbmFtZTplLGV2ZW50X3BhcmFtOnQ/SlNPTi5zdHJpbmdpZnkodCk6bnVsbCx1c2VyX3BsYW46d2luZG93LnVzZXIucHJvX3BsYW58fCh3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8iZnJlZSI6InZpc2l0b3IiKX07aWYoaSl7aWYobi5sZW5ndGg+MCl7Zm9yKGNvbnN0IGUgb2YgbilpLnRyYWNrRWRpdG9yRXZlbnQoZSk7bi5sZW5ndGg9MH1pLnRyYWNrRWRpdG9yRXZlbnQocil9ZWxzZSBuLnB1c2gocil9IWZ1bmN0aW9uKGUpe2UuVmlldz0idmlldyIsZS5WaWV3UGluZT0idmlld19waW5lIixlLkV4cGVyaW1lbnQ9ImV4cGVyaW1lbnQiLGUuQXV0b2NvbXBsZXRlPSJhdXRvY29tcGxldGUiLGUuRmlyc3RFZGl0aW5nPSJmaXJzdF9lZGl0aW5nIixlLlRvcFBhbmVsQWN0aW9uPSJ0b3BfcGFuZWxfY2xpY2siLGUuSG92ZXJBbmNob3JMaW5rPSJob3Zlcl9hbmNob3JfbGluayIsZS5PcGVuUmVmZXJlbmNlRG9jPSJvcGVuX3JlZmVyZW5jZV9kb2MiLGUuT3BlblJlZmVyZW5jZUltcG9ydD0ib3Blbl9yZWZlcmVuY2VfaW1wb3J0IixlLkNsaWNrQWR2YW5jZWRNZW51PSJjbGlja19hZHZhbmNlZF9tZW51IixlLlN0YXR1c0Jhcj0ic3RhdHVzX2JhciIsZS5PdmVybG9hZE9wZXJhdGlvbj0ib3ZlcmxvYWRfb3BlcmF0aW9uIixlLkNoYXJ0Rmxvdz0iY2hhcnRfZmxvdyIsZS5JbnBsYWNlRGlmZkVkaXRvcj0iaW5wbGFjZV9kaWZmX2VkaXRvciIsZS5Db21waWxhdGlvblRpbWU9ImNvbXBpbGF0aW9uX3RpbWUiLGUuUHJvZmlsZXI9InByb2ZpbGVyIiwKZS5FZGl0b3JVc2VyRnVubmVsPSJlZGl0b3JfdXNlcl9mdW5uZWwiLGUuVmVyc2lvbkhpc3Rvcnk9InZlcnNpb25faGlzdG9yeSIsZS5TaG9ydFRpdGxlTGVuZ3RoV2FybmluZ0ZpeGVkPSJzaG9ydF90aXRsZV9sZW5ndGhfd2FybmluZ19maXhlZCIsZS5FZGl0b3JFcnJvcj0iZWRpdG9yX2Vycm9yIixlLlBhc3RlPSJwYXN0ZSIsZS5Cb3R0b21EdXBsaWNhdGVQb3B1cD0iYm90dG9tX2R1cGxpY2F0ZV9wb3B1cCIsZS5TZXR0aW5ncz0iZWRpdG9yX3NldHRpbmdzIn0ocnx8KHI9e30pKX0sMzQyMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVQaW5lRWRpdG9yRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyNDY5ODYpLG49aSg2MDIzODYpO2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3R7c2NyaXB0OnQscGFyYW1zOml9PWUuc2NyaXB0SW5mbztpZihudWxsPT09dHx8dm9pZCAwPT09dC52ZXJzaW9uKXJldHVybiExO2NvbnN0IHM9d2luZG93LlRyYWRpbmdWaWV3Py5ib3R0b21XaWRnZXRCYXI7aWYodm9pZCAwPT09c3x8IXMuaXNXaWRnZXRFbmFibGVkKCJzY3JpcHRlZGl0b3IiKSlyZXR1cm4hMTtjb25zdCByPShhd2FpdCgwLG4uZ2V0T3BlbmVkUGluZVNjcmlwdHMpKCkpLmdldFNjcmlwdEluZm8oe3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCxzY3JpcHRWZXJzaW9uOnQudmVyc2lvbn0pO3JldHVybiEobnVsbD09PXJ8fHIuYm90dG9tQ291bnQ8PTApJiYocy5hY3RpdmF0ZVNjcmlwdEVkaXRvclRhYihudWxsLGkpLCEwKX1hc3luYyBmdW5jdGlvbiBvKGUpe2lmKGUub3BlblNvdXJjZUlkJiZzLmVkaXRvclRlbGVtZXRyeS5zdGFydE9wZW5pbmcoKSxhd2FpdCByKGUpKXJldHVybjtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYoIWUuZm9yY2VPcGVuKXtjb25zdCBlPXQ/Lm1vZGVsKCJwaW5lLWRpYWxvZy1idXR0b24iKSxpPWU/LnZpc2libGUudmFsdWUoKTtpZighKHQ/LmlzVmlzaWJsZSgpJiZpJiZlKSlyZXR1cm59Y29uc3Qgbj1pLmUoNTQxNjApLnRoZW4oaS5iaW5kKGksMTQ2MTUzKSk7YXdhaXQoYXdhaXQgbikuc2hvd1BpbmVEaWFsb2coe2NoYXJ0UGFnZUdyaWQ6ZS5jaGFydFBhZ2VHcmlkPz90Py5jaGFydFBhZ2VHcmlkLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8/dD8uY2hhcnRXaWRnZXRDb2xsZWN0aW9uLHNjcmlwdEluZm86ZS5zY3JpcHRJbmZvLG9wZW5Tb3VyY2VJZDplLm9wZW5Tb3VyY2VJZH0pfX0sODkxNTgxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5zLnNlbmRFZGl0b3JTbm93cGxvd0V2ZW50fSk7dmFyIHM9aSg1NDIxNjQpfSw1Nzc3MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjAzNTQpLGkuZSg5ODA4NCksaS5lKDc0NjM2KSxpLmUoMzIzODcpLGkuZSgyODUwNyldKS50aGVuKGkuYmluZChpLDYwOTY4MikpKS5FcnJvckNhcmRSZW5kZXJlcn1pLmQodCx7Z2V0RXJyb3JDYXJkUmVuZGVyZXI6KCk9PnN9KX0sOTI2OTk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dTdXBwb3J0RGlhbG9nOigpPT5ufSk7aSgzMDAyODYpO3ZhciBzPWkoODI3MDEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI2OTczKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTQ2ODEpLGkuZSg2NjI3MCksaS5lKDMxODM3KSxpLmUoOTc0NCksaS5lKDIwOTcxKSxpLmUoNDk1MTgpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSgxNTA5KSxpLmUoNzY2NSksaS5lKDgwNzMxKSxpLmUoNTQzMTApLGkuZSgzNjM1NiksaS5lKDc4NDcxKSxpLmUoMjU2OTgpLGkuZSgzMzM2OCksaS5lKDk1MTU4KSxpLmUoMzIzODcpLGkuZSg3NTA0KSxpLmUoNDQ3ODApLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg5OTgyNyksaS5lKDgxODY4KSxpLmUoMjMzNjQpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg0ODg1NCksaS5lKDE5NDYzKSxpLmUoODYwOCldKS50aGVuKGkuYmluZChpLDkxMjI5OSkpO2F3YWl0IHMuYXZhaWxhYmxlT2ZmZXJzLmVuc3VyZU9mZmVycygpLG5ldyB0LlN1cHBvcnREaWFsb2coZSkub3BlbigpfX0sMzU3NTQ0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N1cHBvcnRJbmNpZGVudHNTZXJ2aWNlOigpPT5jLGlzU3VwcG9ydEluY2lkZW50VmlzaWJsZU9uQ2hhcnQ6KCk9Pmx9KTt2YXIgcz1pKDIyMTA2MSksbj1pKDM4NDAxNykscj1pKDYzOTExMyksbz1pKDUwNzI4NSk7Y29uc3QgYT0oMCxzLmdldExvZ2dlcikoIlN1cHBvcnQuSW5jaWRlbnRzTW9kZWwiKTtmdW5jdGlvbiBsKGUsdD13aW5kb3cubG9jYWxlKXtyZXR1cm4gZS5zaG93X29uX2NoYXJ0JiYhMSE9PWUuaXNfYWN0aXZlJiYodm9pZCAwPT09ZS5sYW5ndWFnZXx8ZS5sYW5ndWFnZS5zb21lKChlPT5lPT09dHx8ImFsbCI9PT1lKSkpfWNsYXNzIGN7Y29uc3RydWN0b3IoZT13aW5kb3cubG9jYWxlKXt0aGlzLl9pbmNpZGVudHM9W10sdGhpcy5fbGlzdGVuZXJzPW5ldyBTZXQsdGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbGFuZ3VhZ2U9ZX1pbmNpZGVudHMoKXtyZXR1cm4gdGhpcy5faW5jaWRlbnRzfXN1YnNjcmliZShlKXsKcmV0dXJuIHRoaXMuX2xpc3RlbmVycy5hZGQoZSksZSh0aGlzLl9pbmNpZGVudHMpLCgpPT57dGhpcy5fbGlzdGVuZXJzLmRlbGV0ZShlKX19YXN5bmMgbG9hZChlPXt9KXtjb25zdHtzdWJzY3JpYmVUb1B1c2hTdHJlYW06dD0hMX09ZTt0cnl7Y29uc3QgZT1hd2FpdCgwLG4uZmV0Y2gpKGAke3Iuc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdH0vc3VwcG9ydC9zdXBwb3J0LXBvcnRhbC1wcm9ibGVtcy8/bGFuZ3VhZ2U9JHt0aGlzLl9sYW5ndWFnZX1gKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuO2lmKCFlLm9rKXJldHVybiB2b2lkIGEubG9nV2FybigiQ291bGRuJ3QgbG9hZCBzdXBwb3J0IHBvcnRhbCBwcm9ibGVtcyIpO2NvbnN0IGk9KGF3YWl0IGUuanNvbigpKS5pc3N1ZXM7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9zZXRJbmNpZGVudHMoaSksdCYmdGhpcy5fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl9Y2F0Y2goZSl7dGhpcy5fZGVzdHJveWVkfHxhLmxvZ1dhcm4oYENvdWxkbid0IGxvYWQgc3VwcG9ydCBwb3J0YWwgcHJvYmxlbXM6ICR7U3RyaW5nKGUpfWApfX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiZvLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vZmYoInN1cHBvcnQtcG9ydGFsLXByb2JsZW0iLHRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyKSx0aGlzLl9saXN0ZW5lcnMuY2xlYXIoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9X3NldEluY2lkZW50cyhlKXt0aGlzLl9pbmNpZGVudHM9ZSx0aGlzLl9ub3RpZnlMaXN0ZW5lcnMoKX1fbm90aWZ5TGlzdGVuZXJzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbGlzdGVuZXJzKWUodGhpcy5faW5jaWRlbnRzKX1fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl7bnVsbD09PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiYodGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5faW5jaWRlbnRzLnNsaWNlKCk7c3dpdGNoKGUuYWN0aW9uKXtjYXNlImNyZWF0ZWQiOnQucHVzaChlLmRhdGEpO2JyZWFrO2Nhc2UibW9kaWZpZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pP3RbaV09ey4uLnRbaV0sLi4uZS5kYXRhfTp0LnB1c2goZS5kYXRhKTticmVha31jYXNlImRlbGV0ZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pJiZ0LnNwbGljZShpLDEpO2JyZWFrfX10aGlzLl9zZXRJbmNpZGVudHModCl9LG8ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJzdXBwb3J0LXBvcnRhbC1wcm9ibGVtIix0aGlzLl9wdXNoU3RyZWFtSGFuZGxlcikpfX19LDkyMjI0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTWU1CT0xfTElTVF9TRVJWSUNFOigpPT5zfSk7Y29uc3Qgcz0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJTeW1ib2xMaXN0U2VydmljZSIpfSw3NjAzOTAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse0RFTEVURURfU1lNQk9MU19MSVNUX0lEOigpPT5hLERlbGV0ZWRTeW1ib2xzTGlzdDooKT0+aCxpc0RlbGV0ZWRTeW1ib2xzTGlzdDooKT0+Y30pO3ZhciBzPWkoOTMyMzY1KSxuPWkoMzQ5MDMwKTtjb25zdCByPSJkZWxldGVkX3N5bWJvbHNfbGlzdCIsbz0iaXNfZGVsZXRlZF9zeW1ib2xzX2xpc3RfYWN0aXZlIixhPSJkZWxldGVkX3N5bWJvbHNfbGlzdF9pZCIsbD0iVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBhdHRlbXB0IHRvIHNldCBsb2NhbCBzdG9yYWdlIHZhbHVlIixjPWU9PmU9PT1hO2NsYXNzIGh7Y29uc3RydWN0b3IoKXt0aGlzLl9sb2dFcnJvcj0oZSx0KT0+e2UgaW5zdGFuY2VvZiBFcnJvcj9uLmxvZ2dlci5sb2dFcnJvcihlLm1lc3NhZ2UpOm4ubG9nZ2VyLmxvZ0Vycm9yKHQpfX1jcmVhdGVMaXN0KGUpe3RoaXMuX3NldExpc3QoZSl9cmVtb3ZlTGlzdCgpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocil9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSwiVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBsb2NhbCBzdG9yYWdlIGl0ZW0gcmVtb3ZhbCIpfX1hZGRTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7aWYoIXQpcmV0dXJuO2NvbnN0IGk9bmV3IFNldCh0LnN5bWJvbHMpO2Zvcihjb25zdCB0IG9mIGUpaS5hZGQodCk7Y29uc3Qgcz1BcnJheS5mcm9tKGkpO3MubGVuZ3RoPjEwMD90LnN5bWJvbHM9cy5yZXZlcnNlKCkuc2xpY2UoMCwxMDApLnJldmVyc2UoKTp0LnN5bWJvbHM9cyx0aGlzLl9zZXRMaXN0KHQpfXJlbW92ZVN5bWJvbHMoZSl7Y29uc3QgdD10aGlzLmdldExpc3QoKTtpZighdClyZXR1cm47Y29uc3QgaT1uZXcgU2V0KHQuc3ltYm9scyk7Zm9yKGNvbnN0IHQgb2YgZSlpLmRlbGV0ZSh0KTt0LnN5bWJvbHM9QXJyYXkuZnJvbShpKSx0aGlzLl9zZXRMaXN0KHQpfXJlcGxhY2VTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7dCYmKHQuc3ltYm9scz1lLHRoaXMuX3NldExpc3QodCkpfWdldElzQWN0aXZlKCl7dHJ5e3JldHVybiJ0cnVlIj09PXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKX1jYXRjaChlKXtyZXR1cm4gdGhpcy5fbG9nRXJyb3IoZSxsKSwhMX19c2V0SXNBY3RpdmUoZSl7dHJ5e3MuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShvLFN0cmluZyhlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19Z2V0TGlzdCgpe3RyeXtjb25zdCBlPXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtyZXR1cm4gZT9KU09OLnBhcnNlKGUpOm51bGx9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuX2xvZ0Vycm9yKGUsIlRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgYXR0ZW1wdCB0byBnZXQgbG9jYWwgc3RvcmFnZSB2YWx1ZSIpLG51bGx9fV9zZXRMaXN0KGUpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19fX0sMzQ5MDMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ2dlcjooKT0+c30pO2NvbnN0IHM9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIlBsYXRmb3JtLk1vZGVsLldhdGNobGlzdCIpfSwKNDU2NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2luaXRTeW1ib2xMaXN0U2VydmljZTooKT0+b30pO3ZhciBzPWkoOTMwMjMxKSxuPWkoNzA1MDEyKSxyPWkoOTIyMjQ4KTtmdW5jdGlvbiBvKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksODA0MzQzKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDc3OTkzOSkpLFByb21pc2UuYWxsKFtpLmUoNzM3NyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoOTQyMzIpLGkuZSgxMjA1MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgxODUxMiksaS5lKDQyNDU3KSxpLmUoMzk2MDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTI1MDkpLGkuZSg4NTQzNCksaS5lKDcyODUpLGkuZSgyODUxKSxpLmUoMTk5MzgpXSkudGhlbihpLmJpbmQoaSwxMjIzMDcpKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksNjMyMDM1KSksKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksMTc5NjEwKSldKS50aGVuKCgoW2UsdCxpLHMsb10pPT57aWYoKDAsbi5oYXNTZXJ2aWNlKShyLlNZTUJPTF9MSVNUX1NFUlZJQ0UpKXJldHVybigwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtjb25zdHtzdG9yZTphLHJ1bm5lcjpsfT1lLmNvbmZpZ3VyZVN0b3JlKCksYz1sLnJ1bih0LnN5bWJvbExpc3RSZXBvc2l0b3J5U2FnYSk7KDAsbi5yZWdpc3RlclNlcnZpY2UpKHIuU1lNQk9MX0xJU1RfU0VSVklDRSx7c3RvcmU6YSxydW5uZXI6bCxhY3Rpb25zOnthZGRTeW1ib2xzOnMuYWRkU3ltYm9sc1RodW5rLGluaXRXaWRnZXQ6aS5pbml0V2lkZ2V0LHNhdmVMaXN0QXM6cy5zYXZlTGlzdEFzVGh1bmssY3JlYXRlTmV3V2F0Y2hMaXN0OnMudXNlckNyZWF0ZVdhdGNobGlzdFRodW5rfSx0YXNrOmN9KTtjb25zdCBoPSgwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtyZXR1cm4gbnVsbCE9PW8mJm8uZ2V0Q3VzdG9tU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VJbnN0YW5jZShoKSxofSkpfX0sNTE5NTE1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1dBVENITElTVF9XSURHRVRfSUQ6KCk9PnN9KTtjb25zdCBzPSJ3YXRjaGxpc3Qtd2lkZ2V0In0sODI0NDc4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dXYXRjaExpc3RzRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyOTYyNjIpO2xldCBuO2NsYXNzIHIgZXh0ZW5kcyBzLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7dGhpcy5fbG9hZCgpLnRoZW4oKHQ9PnQuc2hvdyhlKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn1hc3luYyBfbG9hZCgpewpjb25zdCBlPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoODUwMTQpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcxNDE0KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoOTE4NTUpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDE5NTEzKSxpLmUoNzI1MTIpLGkuZSgxNTYzNCksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDU2MjEzKSxpLmUoNjg5NjQpLGkuZSgyMzY2OSksaS5lKDUwMDM1KSxpLmUoNzg4OTkpLGkuZSg0MjcyMSksaS5lKDQ3MjAxKSxpLmUoNTA1ODgpLGkuZSg2NDUpLGkuZSg5MTY3MCksaS5lKDU1MzkpLGkuZSgxNDY1NyksaS5lKDcxNDM3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg2NzIwOCksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg1MjUwOSksaS5lKDcyNjc0KSxpLmUoMzUyNTIpLGkuZSg5MzI3NyksaS5lKDEzODM0KV0pLnRoZW4oaS5iaW5kKGksMjYzNjg4KSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPWUud2F0Y2hsaXN0c0RpYWxvZ1JlbmRlcmVyKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlKSx0aGlzLl9kaWFsb2d9fWZ1bmN0aW9uIG8oZSl7ci5nZXRJbnN0YW5jZSgpLnNob3coZSl9fSw5OTQ1NDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVLZXlQcmVzc0hhbmRsZXI6KCk9Pl8sc2hvd0RpYWxvZzooKT0+bX0pO3ZhciBzPWkoOTMwMjMxKSxuPWkoMjIxMDYxKSxyPWkoMjIxNzAwKSxvPWkoMjQzOTM4KSxhPWkoODYyNTcyKSxsPWkoOTQzODQyKSxjPWkoMzg2OTMxKSxoPWkoMjM3MzY5KSxkPWkoNjE0MzgwKTtjb25zdCB1PSgwLG4uZ2V0TG9nZ2VyKSgiU3ltYm9sU2VhcmNoRGlhbG9nIik7ZnVuY3Rpb24gcChlKXtpZighKDAsby5nbG9iYWxLZXlwcmVzc01hdGNoZXMpKGUpKXJldHVybiExO2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZSk7cmV0dXJuKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIikmJmZ1bmN0aW9uKGUpe3JldHVybi9bMS05XS8udGVzdChlKX0odCk/KDAsYS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dH0pOigwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfaG90X2tleSIpJiYobSh7ZGVmYXVsdFZhbHVlOnQsc2VsZWN0U2VhcmNoT25Jbml0OiExLHNvdXJjZToia2V5Ym9hcmQiLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpfSksKDAsYy50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJob3RrZXkiKSksITB9ZnVuY3Rpb24gXygpeygwLGwubG9hZENoYW5nZUludGVydmFsRGlhbG9nKSgpLHIucHVzaEJhY2tMaXN0ZW5lcigic3ltYm9sRWRpdCIscCl9YXN5bmMgZnVuY3Rpb24gbShlKXt0cnl7YXdhaXQobmV3IGQuU3ltYm9sU2VhcmNoVUkpLnNob3coZSl9Y2F0Y2goZSl7dS5sb2dFcnJvcihgQW5vdGhlciBTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IG9wZW5lZCBvciBDdXN0b21VSSByZWplY3RlZCBzeW1ib2wgc2VsZWN0aW9uICR7KDAsaC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX19LDQxMTQwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFkaW5nU2VydmljZTooKT0+cix3YWl0VHJhZGluZ1NlcnZpY2U6KCk9Pm99KTt2YXIgcz1pKDcwNTAxMik7Y29uc3Qgbj0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJUcmFkaW5nU2VydmljZSIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4oMCxzLmhhc1NlcnZpY2UpKG4pPygwLHMuc2VydmljZSkobik6bnVsbH1mdW5jdGlvbiBvKCl7cmV0dXJuKDAscy53YWl0U2VydmljZVJlZ2lzdGVyZWQpKG4pfX0sMjE2MDgzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQnV0dG9uQ2xpY2s6KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQsaSxuKXsoMCxzLmdldFRyYWNrZXIpKCkudGhlbigocz0+e251bGwhPT1zJiZzLnRyYWNrVG9vbGJhckJ1dHRvbkNsaWNrKGUsaT9gJHt0fSAke2l9YDp0LG4pfSkpfX0sMjUwNDM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRleHRNZW51TWFuYWdlcjooKT0+c30pO3ZhciBzLG49aSgxOTg5MDEpLHI9aSg1MDkwNCksbz1pKDI3NjAxOSk7IWZ1bmN0aW9uKGUpe2xldCB0PW51bGwscz1udWxsO2NvbnN0IGE9W10sbD17Y3JlYXRlQWN0aW9uOmU9Pm5ldyByLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkN1c3RvbUFjdGlvbklkIixvcHRpb25zOmV9KSxjcmVhdGVBc3luY0FjdGlvbjplPT5uZXcgci5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DdXN0b21BY3Rpb25JZCIsb3B0aW9uczp7fSwKb3B0aW9uc0xvYWRlcjplfSksY3JlYXRlU2VwYXJhdG9yOigpPT5uZXcgci5TZXBhcmF0b3J9O2FzeW5jIGZ1bmN0aW9uIGMoZSxyPXt9LG89e21lbnVOYW1lOiIifSxjKXtudWxsIT09dCYmKGU9YXdhaXQgdChlLGwsbykpO2xldCBkPW51bGw7Y29uc3QgdT0oKT0+e2NvbnN0IGU9KDAsbi5pbmRleE9mKShhLChlPT5lLnJlbmRlcmVyPT09ZCkpOy0xIT09ZSYmYS5zcGxpY2UoZSwxKSx2b2lkIDAhPT1jJiZjKCl9O2xldCBwPSExO2lmKG51bGwhPT1zJiYoZD1hd2FpdCBzKGUsbyx1KSksZClwPSEwLGgoKTtlbHNle2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg3NTUyKSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMjQ1ODEpLGkuZSgxNzA4NyksaS5lKDcwODE1KSxpLmUoNzI1MTIpLGkuZSg1MjA5NSksaS5lKDcwNjU2KSxpLmUoNDQwMzEpLGkuZSgzNTA3MyksaS5lKDMyMzg3KSxpLmUoMjAzMzEpLGkuZSg3NDM2NCldKS50aGVuKGkuYmluZChpLDEwMjIzNykpO2Q9bmV3IHQuQ29udGV4dE1lbnVSZW5kZXJlcihlLHIsdSxoKX1yZXR1cm4gYS5wdXNoKHtyZW5kZXJlcjpkLGlzRXh0ZXJuYWw6cH0pLGR9ZnVuY3Rpb24gaCgpeygwLG8uZ2xvYmFsQ2xvc2VNZW51KSgpLGEuZm9yRWFjaCgoZT0+e2UuaXNFeHRlcm5hbCYmZS5yZW5kZXJlci5pc1Nob3duKCkmJmUucmVuZGVyZXIuaGlkZSgpfSkpfWUuY3JlYXRlTWVudT1jLGUuc2hvd01lbnU9ZnVuY3Rpb24oZSx0LGk9e30scyxuKXtyZXR1cm4gYyhlLGkscyxuKS50aGVuKChlPT5lLnNob3codCkpKX0sZS5zZXRDdXN0b21SZW5kZXJlckZhY3Rvcnk9ZnVuY3Rpb24oZSl7cz1lfSxlLnNldEN1c3RvbUl0ZW1zUHJvY2Vzc29yPWZ1bmN0aW9uKGUpe3Q9ZX0sZS5oaWRlQWxsPWgsZS5nZXRTaG93bj1mdW5jdGlvbigpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKWlmKGFbZV0ucmVuZGVyZXIuaXNTaG93bigpKXJldHVybiBhW2VdLnJlbmRlcmVyO3JldHVybiBudWxsfX0oc3x8KHM9e30pKX0sMzc5NzkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Rvb2xib3hUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkRlbGV0ZT0wXT0iRGVsZXRlIn0oc3x8KHM9e30pKX0sOTU4NTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Jlc2l6ZXJEZXRhY2hlclN0YXRlOigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgyMzIzNjQpO2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxpdmU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2NvbnRhaW5lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fd2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2hlaWdodD1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZGV0YWNoYWJsZT1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbmFibGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3Zpc2libGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsV2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsSGVpZ2h0PW5ldyBuLldhdGNoZWRWYWx1ZSx0aGlzLl9vd25lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fb3duZXJzU3RhY2s9W10sdGhpcy5vd25lcj10aGlzLl9vd25lci5yZWFkb25seSgpLHRoaXMuX2JyaWRnZT17YWxpdmU6dGhpcy5fYWxpdmUucmVhZG9ubHkoKSxjb250YWluZXI6dGhpcy5fY29udGFpbmVyLnJlYWRvbmx5KCksd2lkdGg6dGhpcy5fd2lkdGgucmVhZG9ubHkoKSxoZWlnaHQ6dGhpcy5faGVpZ2h0LnJlYWRvbmx5KCksZnVsbHNjcmVlbjp0aGlzLl9mdWxsc2NyZWVuLnJlYWRvbmx5KCksZGV0YWNoYWJsZTp0aGlzLl9kZXRhY2hhYmxlLnJlYWRvbmx5KCksZnVsbHNjcmVlbmFibGU6dGhpcy5fZnVsbHNjcmVlbmFibGUucmVhZG9ubHkoKSx2aXNpYmxlOnRoaXMuX3Zpc2libGUucmVhZG9ubHkoKSxhdmFpbFdpZHRoOnRoaXMuX2F2YWlsV2lkdGgucmVhZG9ubHkoKSxhdmFpbEhlaWdodDp0aGlzLl9hdmFpbEhlaWdodC5yZWFkb25seSgpLHJlbW92ZTooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLnJlbW92ZSYmZS5yZW1vdmUoKX0sbmVnb3RpYXRlV2lkdGg6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZVdpZHRoJiZ0Lm5lZ290aWF0ZVdpZHRoKGUpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZUhlaWdodCYmdC5uZWdvdGlhdGVIZWlnaHQoZSl9LHJlcXVlc3RGdWxsc2NyZWVuOigpPT57Y29uc3QgZT10aGlzLl9vd25lci52YWx1ZSgpO2UmJmUucmVxdWVzdEZ1bGxzY3JlZW4mJmUucmVxdWVzdEZ1bGxzY3JlZW4oKX0sZXhpdEZ1bGxzY3JlZW46KCk9Pntjb25zdCBlPXRoaXMuX293bmVyLnZhbHVlKCk7ZSYmZS5leGl0RnVsbHNjcmVlbiYmZS5leGl0RnVsbHNjcmVlbigpfSxkZXRhY2g6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0LmRldGFjaCYmdC5kZXRhY2goZSl9LGF0dGFjaDooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLmF0dGFjaCYmZS5hdHRhY2goKX19LGUmJnRoaXMucHVzaE93bmVyKGUpfWRlc3Ryb3koKXtmb3IoY29uc3QgZSBvZiB0aGlzLl9vd25lcnNTdGFjayl0aGlzLl91bnN1YnNjcmliZU93bmVyKGUpfWJyaWRnZSgpe3JldHVybiB0aGlzLl9icmlkZ2V9cHVzaE93bmVyKGUpe2lmKCFlLmFsaXZlLnZhbHVlKCkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIHRoaXMuX293bmVyc1N0YWNrKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIoZSk7Y29uc3QgdD17b3duZXI6ZX07dGhpcy5fb3duZXJzU3RhY2sucHVzaCh0KSx0aGlzLl9zdWJzY3JpYmVPd25lcih0KX1fc3Vic2NyaWJlT3duZXIoZSl7Y29uc3QgdD1lLm93bmVyO2lmKGUuZGVhdGhXYXRjaGVyfHwodGhpcy5fYWxpdmUuc2V0VmFsdWUoITApLGUuZGVhdGhXYXRjaGVyPXQuYWxpdmUuc3Bhd24oKSxlLmRlYXRoV2F0Y2hlci5zdWJzY3JpYmUoKHQ9Pnt0fHx0aGlzLl9kZWFkSGFuZGxlcihlKX0pKSksCnRoaXMuX293bmVyLnNldFZhbHVlKHQpLCFlLnN1YnNjcmlwdGlvbnMpe2NvbnN0IGk9ZS5zdWJzY3JpcHRpb25zPVtdO3RoaXMuX3Zpc2libGUuc2V0VmFsdWUoITEpO2NvbnN0IHM9KGUsdCk9PntpZihlKXtjb25zdCBzPWUuc3Bhd24oKTtpLnB1c2gocykscy5zdWJzY3JpYmUoKGU9Pnt0LnNldFZhbHVlKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pfWVsc2UgdC5kZWxldGVWYWx1ZSgpfTtzKHQuY29udGFpbmVyLHRoaXMuX2NvbnRhaW5lcikscyh0LndpZHRoLHRoaXMuX3dpZHRoKSxzKHQuaGVpZ2h0LHRoaXMuX2hlaWdodCkscyh0LmZ1bGxzY3JlZW4sdGhpcy5fZnVsbHNjcmVlbikscyh0LmRldGFjaGFibGUsdGhpcy5fZGV0YWNoYWJsZSkscyh0LmZ1bGxzY3JlZW5hYmxlLHRoaXMuX2Z1bGxzY3JlZW5hYmxlKSxzKHQuYXZhaWxXaWR0aCx0aGlzLl9hdmFpbFdpZHRoKSxzKHQuYXZhaWxIZWlnaHQsdGhpcy5fYXZhaWxIZWlnaHQpLHModC52aXNpYmxlLHRoaXMuX3Zpc2libGUpfX1fdW5zdWJzY3JpYmVPd25lcihlLHQpe2lmKGUuc3Vic2NyaXB0aW9ucyl7Zm9yKGNvbnN0IHQgb2YgZS5zdWJzY3JpcHRpb25zKXQudW5zdWJzY3JpYmUoKTtlLnN1YnNjcmlwdGlvbnM9bnVsbH10JiZlLmRlYXRoV2F0Y2hlciYmKGUuZGVhdGhXYXRjaGVyLnVuc3Vic2NyaWJlKCksZS5kZWF0aFdhdGNoZXI9bnVsbCl9X2RlYWRIYW5kbGVyKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXJzU3RhY2suaW5kZXhPZihlKTsoMCxzLmFzc2VydCkoLTEhPT10LCJzYW5pdGl6ZWQgb3duZXIgc2hvdWxkIGJlIGluIHN0YWNrIik7Zm9yKGxldCBlPXRoaXMuX293bmVyc1N0YWNrLmxlbmd0aC0xO2U+PXQ7ZS0tKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIodGhpcy5fb3duZXJzU3RhY2tbZV0sITApO3RoaXMuX293bmVyc1N0YWNrLmxlbmd0aD10LHQ+MD90aGlzLl9zdWJzY3JpYmVPd25lcih0aGlzLl9vd25lcnNTdGFja1t0LTFdKToodGhpcy5fYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX293bmVyLmRlbGV0ZVZhbHVlKCkpfX19LDMxNzQ2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtWaXNpYmlsaXR5QXBpOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSl7bGV0IHQ7dGhpcy5pc1Zpc2libGU9bmV3IHMuV2F0Y2hlZFZhbHVlKCEwKTtsZXQgaT1udWxsO2Zvcihjb25zdCBzIG9mWyIiLCJtb3oiLCJtcyIsIndlYmtpdCJdKXtjb25zdCBuPXM/YCR7c31IaWRkZW5gOiJoaWRkZW4iO2lmKG4gaW4gZSl7dD1gJHtzfXZpc2liaWxpdHljaGFuZ2VgLGk9KCk9Pnt0aGlzLmlzVmlzaWJsZS5zZXRWYWx1ZSghZVtuXSl9LGkoKSxlLmFkZEV2ZW50TGlzdGVuZXIodCxpLCExKTticmVha319dGhpcy5kZXN0cm95PSgpPT57aSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGksITEpLGk9bnVsbCl9fX19LDI5NjI2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEaWFsb2dSZW5kZXJlcjooKT0+bn0pO3ZhciBzPWkoMjMyMzY0KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yb290SW5zdGFuY2U9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1fc2V0VmlzaWJpbGl0eShlKXt0aGlzLl92aXNpYmlsaXR5LnNldFZhbHVlKGUpfX19LDEzODYzOChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gbihlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gcihuKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9aS5kKHQse2Fzc2VydDooKT0+cyxlbnN1cmU6KCk9Pm8sZW5zdXJlRGVmaW5lZDooKT0+bixlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDIxNDk4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oaSwuLi5zKT0+KHQ/LmFib3J0KCksdD1uZXcgQWJvcnRDb250cm9sbGVyLGk/LmFib3J0ZWQ/dC5hYm9ydCgpOmk/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PnQ/LmFib3J0KCkpLHtvbmNlOiEwfSksZSh0LnNpZ25hbCwuLi5zKSl9ZnVuY3Rpb24gbihlKXtpZighbChlKSl0aHJvdyBlfWZ1bmN0aW9uIHIoZSl7aWYobChlKSl0aHJvdyBlfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGU/LmFib3J0ZWQ/UHJvbWlzZS5yZWplY3QoYSgpKTpuZXcgUHJvbWlzZSgoKHQsaSk9PntlPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT5pKGEoKSkpLHtvbmNlOiEwfSl9KSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgRE9NRXhjZXB0aW9uKCJBYm9ydGVkIiwiQWJvcnRFcnJvciIpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvciYmIkFib3J0RXJyb3IiPT09ZS5uYW1lfHwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYibmFtZSJpbiBlJiYiQWJvcnRFcnJvciI9PT1lLm5hbWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBQcm9taXNlLnJhY2UoW28oZSksdF0pfWFzeW5jIGZ1bmN0aW9uIGgoZSx0KXtsZXQgaTt0cnl7YXdhaXQgYyhlLG5ldyBQcm9taXNlKChlPT57aT1zZXRUaW1lb3V0KGUsdCl9KSkpfWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGkpfX1pLmQodCx7Y3JlYXRlQWJvcnRFcnJvcjooKT0+YSxkZWxheTooKT0+aCxpc0Fib3J0RXJyb3I6KCk9PmwscmVzcGVjdEFib3J0OigpPT5jLHJlc3BlY3RMYXRlc3Q6KCk9PnMscmV0aHJvd0Fib3J0RXJyb3I6KCk9PnIsc2tpcEFib3J0RXJyb3I6KCk9Pm59KX0sNTU3NTEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzQ2FuY2VsbGVkOigpPT5yLAptYWtlQ2FuY2VsYWJsZTooKT0+bn0pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJDYW5jZWxUb2tlbiIpfX1mdW5jdGlvbiBuKGUpe2xldCB0PSExO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxuKT0+e2UudGhlbigoZT0+dD9uKG5ldyBzKTppKGUpKSksZS5jYXRjaCgoZT0+bih0P25ldyBzOmUpKSl9KSksY2FuY2VsKCl7dD0hMH19fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBzfX0sMTc1Mzk1KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKX1pLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyOigpPT5zfSl9LDU1NjkxMShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT1lfHwibnVtYmVyIj09dHlwZW9mIGUubm9kZVR5cGUpdD1lO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIERhdGUpdD1uZXcgRGF0ZShlLnZhbHVlT2YoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXt0PVtdO2xldCBpPTA7Y29uc3Qgbj1lLmxlbmd0aDtmb3IoO2k8bjtpKyspT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPXMoZVtpXSkpfWVsc2V7dD17fTtmb3IoY29uc3QgaSBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpJiYodFtpXT1zKGVbaV0pKX1yZXR1cm4gdH1pLmQodCx7ZGVlcENvcHk6KCk9PnN9KX0sMTMxMjk0KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PU9iamVjdC5jcmVhdGUoZSk7cmV0dXJuIHQucmVsZWFzZT0oKT0+e30sdC5vd25lcnNoaXA9KCk9PnQsdH1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZTtyZXR1cm4gdC5yZWxlYXNlPSgpPT50LmRlc3Ryb3koKSx0Lm93bmVyc2hpcD0oKT0+dCx0fWkuZCh0LHtvd25lcnNoaXA6KCk9Pm4sd2Vha1JlZmVyZW5jZTooKT0+c30pfSw2NDA3NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxpKX1mdW5jdGlvbiBuKGUpe3JldHVybiBlPDA/LTE6ZT4wPzE6MH1mdW5jdGlvbiByKGUpe2lmKGU8MClyZXR1cm4hMTtpZihlPjFlMTgpcmV0dXJuITA7Zm9yKGxldCB0PWU7dD4xO3QvPTEwKWlmKHQlMTAhPTApcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuIHQtZTw9aX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4gTWF0aC5hYnMoZS10KTxpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGU8PTA/TmFOOk1hdGgubG9nKGUpL01hdGgubG9nKDEwKX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGU8dD8tMTplPnQ/MTowfWZ1bmN0aW9uIGgoZSx0PWMpe2lmKGUubGVuZ3RoPDEpdGhyb3cgRXJyb3IoImFycmF5IGlzIGVtcHR5Iik7bGV0IGk9ZVswXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl0KGVbc10saSk8MCYmKGk9ZVtzXSk7cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQ9Yyl7aWYoZS5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT1lWzBdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKXQoZVtzXSxpKT4wJiYoaT1lW3NdKTtyZXR1cm4gaX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gcChlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIF8oZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBtKGUpe3JldHVybiBlJTI9PTB9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gTWF0aC5yb3VuZCgxZTEwKmUpLzFlMTB9aS5kKHQse2NlaWxlZEV2ZW46KCk9PnUsY2VpbGVkT2RkOigpPT5wLGNsYW1wOigpPT5zLGVxdWFsOigpPT5hLGZpeENvbXB1dGF0aW9uRXJyb3I6KCk9PmcsZ3JlYXRlck9yRXF1YWw6KCk9Pm8saXNCYXNlRGVjaW1hbDooKT0+cixpc0V2ZW46KCk9Pm0sbG9nMTA6KCk9PmwsbWF4OigpPT5kLG1pbjooKT0+aCxzaWduOigpPT5uLHRvSW50OigpPT5ffSl9LDYzODU3MShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPW5ldyBNYXA7cmV0dXJuIGZ1bmN0aW9uKC4uLnMpe2NvbnN0IG49IiIrKHQ/dC5hcHBseShudWxsLHMpOnNbMF0pO2lmKCFpLmhhcyhuKSl7Y29uc3QgdD1lLmFwcGx5KHRoaXMscyk7cmV0dXJuIGkuc2V0KG4sdCksdH1yZXR1cm4gaS5nZXQobil9fWkuZCh0LHttZW1vaXplOigpPT5zfSl9LDkxNDc3NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtwYXJzZVR6T2Zmc2V0OigpPT5ufSk7dmFyIHM9aSg3MDA4MDkpO2Z1bmN0aW9uIG4oZSx0PURhdGUubm93KCkpe2NvbnN0IGk9KDAscy5nZXRfdGltZXpvbmUpKGUpLm9mZnNldF91dGModCk7bGV0IG49IiI7Y29uc3Qgcj1pLzFlMy82MC82MDtyJTEmJihuPSI6IitNYXRoLnJvdW5kKE1hdGguYWJzKHIlMSo2MCkpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpKTtsZXQgbz0iIjtyZXR1cm4gbz1yPjA/IisiKyhyLXIlMSkrbjowPT09cj8iIjpTdHJpbmcoci1yJTErbikse29mZnNldDppLHN0cmluZzoiVVRDIitvfX19LDM3ODA4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVByaW1pdGl2ZVByb3BlcnR5OigpPT5ufSk7dmFyIHM9aSg3NjgyOTIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIG5ldyBzLlByb3BlcnR5KGUpfX0sNjM2OTEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Byb3BlcnR5QmFzZTooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fbGlzdGVuZXJzPW5ldyBuLkRlbGVnYXRlLHRoaXMuX211dGVDaGlsZENoYW5nZXM9ITEsdGhpcy5fb3duZXI9bnVsbCx0aGlzLl9uYW1lPSIifW5hbWVJbk93bmVyKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0TmFtZUluT3duZXIoZSl7dGhpcy5fbmFtZT1lfW93bmVyKCl7cmV0dXJuIHRoaXMuX293bmVyfXNldE93bmVyKGUpewp0aGlzLl9vd25lcj1lfXBhdGhUb1Jvb3QoKXtjb25zdCBlPXRoaXMuX293bmVyPy5wYXRoVG9Sb290KCk7cmV0dXJuIGU/YCR7ZX0uJHt0aGlzLl9uYW1lfWA6dGhpcy5fbmFtZX1wYXRoVG9Sb290UHJvcGVydHkoKXtpZighdGhpcy5fb3duZXIpcmV0dXJuIiI7Y29uc3QgZT10aGlzLl9vd25lci5wYXRoVG9Sb290UHJvcGVydHk/LigpO3JldHVybiBlP2Ake2V9LiR7dGhpcy5fbmFtZX1gOnRoaXMuX25hbWV9cmVtb3ZlUHJvcGVydHkoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAicmVtb3ZlUHJvcGVydHkiIG9uIHByb3BlcnR5ICR7dGhpcy5wYXRoVG9Sb290KCl9YCl9YWRkQ2hpbGQoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJhZGRDaGlsZCIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1oYXNDaGlsZChlKXtyZXR1cm4hMX1jaGlsZENvdW50KCl7cmV0dXJuIDB9Y2hpbGROYW1lcygpe3JldHVybltdfWNoaWxkcygpeygwLHMuYXNzZXJ0KSghMSxgVHJ5aW5nIHRvIGNhbGwgImNoaWxkcyIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1zdGF0ZShlLHQpe3JldHVybiB0aGlzLnZhbHVlKCl9bWVyZ2UoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJtZXJnZSIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1tZXJnZUFuZEZpcmUoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAibWVyZ2VBbmRGaXJlIiBvbiBwcm9wZXJ0eSAke3RoaXMucGF0aFRvUm9vdCgpfWApfWNoaWxkKGUpe2lmKHRoaXMuaGFzQ2hpbGQoZSkpcmV0dXJuIHRoaXMuY2hpbGRzKClbZV19bXV0ZUNoaWxkQ2hhbmdlcyhlKXt0aGlzLl9tdXRlQ2hpbGRDaGFuZ2VzPWV9ZmlyZUNoYW5nZWQoKXt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLHRoaXMucGF0aFRvUm9vdFByb3BlcnR5KCkpfWxpc3RlbmVycygpe3JldHVybiB0aGlzLl9saXN0ZW5lcnN9c3Vic2NyaWJlKGUsdCl7dGhpcy5saXN0ZW5lcnMoKS5zdWJzY3JpYmUoZSx0LCExKX11bnN1YnNjcmliZShlLHQpe3RoaXMubGlzdGVuZXJzKCkudW5zdWJzY3JpYmUoZSx0KX11bnN1YnNjcmliZUFsbChlKXt0aGlzLmxpc3RlbmVycygpLnVuc3Vic2NyaWJlQWxsKGUpfX19LDkyNTI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEYXRhVHlwZXM6KCk9PnMsY3JlYXRlUHJvcGVydHlTY2hlbWE6KCk9Pm0sZGF0YVR5cGU6KCk9PmQsZXh0cmFjdFN0YXRlV2l0aFNjaGVtYTooKT0+Zyxpc0FycmF5U2NoZW1hOigpPT5fLHZhbGlkYXRlU2NoZW1hOigpPT5wfSk7dmFyIHMsbj1pKDIwNjY3Mykscj1pKDMwNDIyMSksbz1pKDgxNzM1MCksYT1pKDI5NTYzNSksbD1pKDg4MDExNSksYz1pKDkxNzM3MSksaD1pKDEzODYzOCk7ZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKGUpP3MuTlVNQkVSOigwLHIuZGVmYXVsdCkoZSk/cy5TVFJJTkc6KDAsby5kZWZhdWx0KShlKT9zLkJPT0xFQU46KDAsYS5kZWZhdWx0KShlKT9zLkFSUkFZOm51bGw9PT1lP3MuTlVMTDoib2JqZWN0Ij09dHlwZW9mIGU/cy5PQkpFQ1Q6cy5VTktOT1dOfSFmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLk5VTUJFUj0ibnVtYmVyIixlLkJPT0xFQU49ImJvb2xlYW4iLGUuT0JKRUNUPSJvYmplY3QiLGUuQVJSQVk9ImFycmF5IixlLk5VTEw9Im51bGwiLGUuVU5LTk9XTj0idW5rbm93biJ9KHN8fChzPXt9KSk7Y29uc3QgdT1bcy5BUlJBWSxzLk9CSkVDVF07ZnVuY3Rpb24gcChlLHQpe3RyeXtjb25zdCBpPWQoZSk7aWYoKDAsaC5hc3NlcnQpKGk9PT10LnR5cGV8fGk9PT1zLk5VTEwmJnQubnVsbGFibGV8fHQudHlwZT09PXMuVU5LTk9XTiksdS5pbmNsdWRlcyhpKSlzd2l0Y2godC50eXBlKXtjYXNlIHMuQVJSQVk6KDAsaC5hc3NlcnQpKGUuZXZlcnkoKGU9PnAoZSx0LnN1YnNjaGVtYSkpKSk7YnJlYWs7Y2FzZSBzLk9CSkVDVDpmb3IoY29uc3RbaSxzXW9mIE9iamVjdC5lbnRyaWVzKHQuc3Vic2NoZW1hKSkoMCxoLmFzc2VydCkocChlW2ldLHMpKX1yZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS50eXBlPT09cy5BUlJBWX1mdW5jdGlvbiBtKGUsdCl7bGV0IGk7Y29uc3Qgbj1kKGUpO3N3aXRjaChuKXtjYXNlIHMuTlVNQkVSOmNhc2Ugcy5TVFJJTkc6Y2FzZSBzLkJPT0xFQU46aT17dHlwZTpuLHNhdmVGbGFnczp0fTticmVhaztjYXNlIHMuQVJSQVk6aT17dHlwZTpzLkFSUkFZLHNhdmVGbGFnczp0LHN1YnNjaGVtYTptKGVbMF0sdCl9O2JyZWFrO2Nhc2Ugcy5PQkpFQ1Q6e2NvbnN0IG49e307Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyhlKSluW2ldPW0ocyx0KTtpPXt0eXBlOnMuT0JKRUNULHNhdmVGbGFnczp0LHN1YnNjaGVtYTpufTticmVha31kZWZhdWx0Omk9e3R5cGU6cy5VTktOT1dOLHNhdmVGbGFnczp0fX1yZXR1cm4gaX1mdW5jdGlvbiBnKGUsdCxpKXtpZighZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuT0JKRUNUfSh0KXx8ISgwLGwuZGVmYXVsdCkoZSkpcmV0dXJuIGU7Y29uc3Qgbj1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiBuKXtjb25zdCBuPXQuc3Vic2NoZW1hW3NdO3ZvaWQgMD09PXQuc2F2ZUZsYWdzfHxufHwoMCxjLmRlZmF1bHQpKGUscyk7Y29uc3Qgcj1uPy5zYXZlRmxhZ3M7dm9pZCAwPT09cnx8ciZpfHwoMCxjLmRlZmF1bHQpKGUscyksbiYmZyhlW3NdLG4saSl9cmV0dXJuIGV9fSw3NjgyOTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7UHJvcGVydHk6KCk9Pm0saXNQcmltaXRpdmVUeXBlOigpPT5ffSk7dmFyIHM9aSgyMDY2NzMpLG49aSgzMDQyMjEpLHI9aSg4MTczNTApLG89aSg5MjgxMzIpLGE9aSgyOTU2MzUpLGw9aSgxMzg2MzgpLGM9aSgyMjEwNjEpLGg9aSgxMzEyOTQpLGQ9aSg2MzY5MTIpLHU9aSg5MjUyODIpO2NvbnN0IHA9KDAsYy5nZXRMb2dnZXIpKCJQcm9wZXJ0eSIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIG51bGw9PT1lfHwoMCxzLmRlZmF1bHQpKGUpJiZOdW1iZXIuaXNGaW5pdGUoZSl8fCgwLG4uZGVmYXVsdCkoZSl8fCgwLHIuZGVmYXVsdCkoZSkKfWNsYXNzIG0gZXh0ZW5kcyBkLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlLHQpe2lmKHN1cGVyKCksdGhpcy5fY2hpbGRzPVtdLHRoaXMuX2RlcGVuZGVudHM9W10sdGhpcy5fc2NoZW1hPXR8fCgwLHUuY3JlYXRlUHJvcGVydHlTY2hlbWEpKGUpLHZvaWQgMCE9PWUpaWYoKDAsdS52YWxpZGF0ZVNjaGVtYSkoZSx0aGlzLl9zY2hlbWEpfHxwLmxvZ1dhcm4oYFRoZSBzdGF0ZSB3aXRoIGEgZGF0YSB0eXBlOiAkeygwLHUuZGF0YVR5cGUpKGUpfSBkb2VzIG5vdCBtYXRjaCBhIHNjaGVtYWApLF8oZSkpdGhpcy5fdmFsdWU9ZTtlbHNle2xldCB0PU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHQ9dC5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxpXW9mIHQpdGhpcy5hZGRQcm9wZXJ0eShlLGkpfX1kZXN0cm95KCl7dGhpcy5saXN0ZW5lcnMoKS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRzKXRoaXMuY2hpbGQoZSk/LmRlc3Ryb3k/LigpfW1lcmdlKGUsdCl7bGV0IGk9bnVsbCxzPTA7aWYodCYmKGk9W10scz1pLmxlbmd0aCksdm9pZCAwPT09ZSlyZXR1cm4gaTtpZihfKGUpKXJldHVybiB0aGlzLl92YWx1ZSE9PWUmJmk/LnB1c2godGhpcyksdGhpcy5fdmFsdWU9ZSxpO2lmKCgwLGEuZGVmYXVsdCkoZSkpeygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKXx8cC5sb2dXYXJuKCJQcm9wZXJ0eSBpcyBub3QgYW4gYXJyYXkiKTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbj10aGlzLmNoaWxkcygpW3NdO2lmKG4pe2NvbnN0IHI9bi5tZXJnZShlW3NdLHQpO2k/LnB1c2goLi4ucil9ZWxzZXtjb25zdCB0PXRoaXMuYWRkUHJvcGVydHkoYCR7c31gLGVbc10pO2k/LnB1c2godCl9fX1lbHNle2xldCBzPU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHM9cy5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxuXW9mIHMpe2NvbnN0IHM9dGhpcy5jaGlsZHMoKVtlXTtpZihzKXtjb25zdCBlPXMubWVyZ2Uobix0KTtpPy5wdXNoKC4uLmUpfWVsc2V7Y29uc3QgdD10aGlzLmFkZFByb3BlcnR5KGUsbik7aT8ucHVzaCh0KX19fXJldHVybiBpJiZpLmxlbmd0aD5zJiZpLnB1c2godGhpcyksaX1tZXJnZUFuZEZpcmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWVyZ2UoZSwhMCkpO3RoaXMuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHModCl9c3RhdGUoZSx0KXtjb25zdCBpPSgwLG8uZGVmYXVsdCkodGhpcy52YWx1ZSk/dGhpcy52YWx1ZSgpOnZvaWQgMDtpZih2b2lkIDAhPT1pKXJldHVybiBpO2NvbnN0IHM9KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpP1tdOnt9O2Zvcihjb25zdCBpIG9mIHRoaXMuX2NoaWxkcyl7aWYoZSYmLTEhPT1lLmluZGV4T2YoaSkpY29udGludWU7aWYoKDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2kpKWNvbnRpbnVlO2lmKHZvaWQgMCE9PXQmJiJzdWJzY2hlbWEiaW4gdGhpcy5fc2NoZW1hKXtjb25zdCBlPSgwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKT90aGlzLl9zY2hlbWEuc3Vic2NoZW1hOnRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbaV07aWYodm9pZCAwIT09dGhpcy5fc2NoZW1hLnNhdmVGbGFncyYmIWUpY29udGludWU7aWYodm9pZCAwIT09ZT8uc2F2ZUZsYWdzJiYhKGUuc2F2ZUZsYWdzJnQpKWNvbnRpbnVlfWNvbnN0IG49dGhpcy5jaGlsZHMoKVtpXTtsZXQgcjtpZihlKXtjb25zdCBzPVtdO2Zvcihjb25zdCB0IG9mIGUpdC5zdGFydHNXaXRoKGkrIi4iKSYmcy5wdXNoKHQuc3Vic3RyaW5nKGkubGVuZ3RoKzEpKTtyPW4/LnN0YXRlKHMsdCl9ZWxzZSByPW4/LnN0YXRlKCk7KHZvaWQgMCE9PXJ8fG4/LnN0b3JlU3RhdGVJZlVuZGVmaW5lZCgpKSYmKCgwLGEuZGVmYXVsdCkocyk/c1sraV09cjpzW2ldPXIpfXJldHVybiBzfWNsb25lKCl7cmV0dXJuIG5ldyBtKHRoaXMuc3RhdGUoKSl9dmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9jaGlsZHMubGVuZ3RofWNoaWxkTmFtZXMoKXtyZXR1cm4gdGhpcy5fY2hpbGRzfWNoaWxkQnlQYXRoKGUpe2xldCB0PXRoaXM7Zm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgiLiIpKXtpZih2b2lkIDA9PT10KWJyZWFrO3Q9dC5jaGlsZChpKX1yZXR1cm4gdH1oYXNDaGlsZChlKXtyZXR1cm4gdGhpcy5fY2hpbGRzLmluY2x1ZGVzKGUpfXNldFZhbHVlKGUsdCl7KHRoaXMuX3ZhbHVlIT09ZXx8dCkmJih0aGlzLl92YWx1ZT1lLHRoaXMuZmlyZUNoYW5nZWQoKSl9c2V0VmFsdWVTaWxlbnRseShlKXt0aGlzLl92YWx1ZT1lfWFkZFByb3BlcnR5KGUsdCl7bGV0IGk7KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpJiZwLmxvZ1dhcm4oIlByb3BlcnR5IGlzIGFuIGFycmF5IiksdGhpcy5yZW1vdmVQcm9wZXJ0eShlKSx0aGlzLl9zY2hlbWEudHlwZT09PXUuRGF0YVR5cGVzLk9CSkVDVD9pPXRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbZV06dGhpcy5fc2NoZW1hLnR5cGU9PT11LkRhdGFUeXBlcy5BUlJBWSYmKGk9dGhpcy5fc2NoZW1hLnN1YnNjaGVtYSk7Y29uc3Qgcz1uZXcgbSh0LGkpO3JldHVybiB0aGlzW2VdPXMsdGhpcy5fY2hpbGRzLnB1c2goZSkscy5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9jaGlsZENoYW5nZWQoZSx0KX0pKSxzLnNldE93bmVyKHRoaXMpLHMuc2V0TmFtZUluT3duZXIoZSksc31yZW1vdmVQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuY2hpbGQoZSk7dCYmKHQuc2V0TmFtZUluT3duZXIoIiIpLHQuc2V0T3duZXIobnVsbCksdC51bnN1YnNjcmliZUFsbCh0aGlzKSxkZWxldGUgdGhpc1tlXSx0aGlzLl9jaGlsZHM9dGhpcy5fY2hpbGRzLmZpbHRlcigodD0+dCE9PWUpKSl9YWRkQ2hpbGQoZSx0KXtpZigoMCwKdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpKXRocm93IG5ldyBFcnJvcigiUHJvcGVydHkgaXMgYW4gYXJyYXkiKTt0aGlzW2VdJiZ0aGlzLnJlbW92ZVByb3BlcnR5KGUpLHRoaXNbZV09dCwtMT09PXRoaXMuX2NoaWxkcy5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHMucHVzaChlKSx0LnN1YnNjcmliZSh0aGlzLCgoZSx0KT0+dGhpcy5fY2hpbGRDaGFuZ2VkKGUsdCkpKSx0LnNldE93bmVyKHRoaXMpLHQuc2V0TmFtZUluT3duZXIoZSl9Y2hpbGRzKCl7cmV0dXJuIHRoaXN9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9b3duZXJzaGlwKCl7cmV0dXJuKDAsaC5vd25lcnNoaXApKHRoaXMpfXdlYWtSZWZlcmVuY2UoKXtyZXR1cm4oMCxoLndlYWtSZWZlcmVuY2UpKHRoaXMpfWFkZERlcGVuZGVudChlKXt0aGlzLl9kZXBlbmRlbnRzLnB1c2goZSl9cmVtb3ZlRGVwZW5kZW50KGUpe2NvbnN0IHQ9dGhpcy5fZGVwZW5kZW50cy5pbmRleE9mKGUpO3Q+PTAmJnRoaXMuX2RlcGVuZGVudHMuc3BsaWNlKHQsMSl9ZGVwZW5kZW50cygpe3JldHVybiB0aGlzLl9kZXBlbmRlbnRzfXN0YXRpYyppdGVyYXRlUHJvcGVydGllcyhlLHQpe2Zvcihjb25zdCBpIG9mIHQpeWllbGRbZS5jaGlsZHMoKVtpXSxpXX1fY2hpbGRDaGFuZ2VkKGUsdCl7dGhpcy5fbXV0ZUNoaWxkQ2hhbmdlc3x8dGhpcy5fbGlzdGVuZXJzLmZpcmUodGhpcyx0KX1fZmlyZU1lcmdlQW5kRmlyZUNoYW5nZWRQcm9wcyhlKXt0aGlzLm11dGVDaGlsZENoYW5nZXMoITApO2Zvcihjb25zdCB0IG9mIGUpdC5tdXRlQ2hpbGRDaGFuZ2VzKCEwKTtmb3IoY29uc3QgdCBvZiBlKXQubXV0ZUNoaWxkQ2hhbmdlcyghMSksdC5maXJlQ2hhbmdlZCgpO3RoaXMubXV0ZUNoaWxkQ2hhbmdlcyghMSl9fX0sNzQxNjkwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbWJpbmVQcm9wZXJ0eTooKT0+bn0pO3ZhciBzPWkoMzc4MDgpO2Z1bmN0aW9uIG4oZSwuLi50KXtjb25zdCBpPSgpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSksbj0oMCxzLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KShpKCkpLHI9KCk9Pm4uc2V0VmFsdWUoaSgpKSxvPXt9O2Zvcihjb25zdCBlIG9mIHQpZS5zdWJzY3JpYmUobyxyKTtyZXR1cm4gbi5kZXN0cm95PSgpPT57dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSksdC5mb3JFYWNoKChlPT5lLnJlbGVhc2UoKSkpfSxufX0sNTUyMTQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgcy5XYXRjaGVkVmFsdWUoZS52YWx1ZSgpKTtsZXQgaT0hMTtlLnN1YnNjcmliZSh0LCgoKT0+e2l8fChpPSEwLHQuc2V0VmFsdWUoZS52YWx1ZSgpKSxpPSExKX0pKTtjb25zdCBuPSgpPT57aXx8KGk9ITAsZS5zZXRWYWx1ZSh0LnZhbHVlKCkpLGk9ITEpfTtyZXR1cm4gdC5zdWJzY3JpYmUobiksdC5zcGF3bigoKCk9PntlLnVuc3Vic2NyaWJlQWxsKHQpLHQudW5zdWJzY3JpYmUobil9KSl9fSwzMTQ4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlV1ZGcm9tUHJvcGVydHk6KCk9Pm59KTt2YXIgcz1pKDI0MTk1Nik7ZnVuY3Rpb24gbihlKXtyZXR1cm4oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLnZhbHVlKCkpLGUpfX0sNDczMDY4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZX1pLmQodCx7Y3JlYXRlU2VydmljZURlc2NyaXB0b3I6KCk9PnN9KX0sNTgzMDM4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5pbmNsdWRlcygiOiIpP2Uuc3BsaXQoIjoiKTpbIiIsZV19aS5kKHQse3NwbGl0U3ltYm9sTmFtZTooKT0+c30pfSw2MDE4NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2xvbmU6KCk9Pm8sZGVlcEVxdWFsczooKT0+ZCxoYXNQcm9wZXJ0eTooKT0+Yyxpc0Fic2VudDooKT0+Xyxpc0FycmF5OigpPT51LGlzRXhpc3RlbnQ6KCk9Pm0saXNJbnRlZ2VyOigpPT5mLGlzTmFOOigpPT5wLGlzTnVtYmVyOigpPT5yLGlzT2JqZWN0OigpPT5sLGlzUHJvbWlzZTooKT0+dixpc1NhbWVUeXBlOigpPT5nLGlzU3RyaW5nOigpPT5TLG1lcmdlOigpPT5hLG5vdE51bGw6KCk9Pnksbm90VW5kZWZpbmVkOigpPT5ifSk7Y29uc3Qgcz1uZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5oYXMoZSl9ZnVuY3Rpb24gcihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIWV8fCJvYmplY3QiIT10eXBlb2YgZSlyZXR1cm4gZTtsZXQgdDt0PUFycmF5LmlzQXJyYXkoZSk/W106e307Zm9yKGNvbnN0IGkgaW4gZSlpZihlLmhhc093blByb3BlcnR5KGkpKXtjb25zdCBzPWVbaV07dFtpXT1zJiYib2JqZWN0Ij09dHlwZW9mIHM/byhzKTpzfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtpZighbChlKXx8IWwodCkpcmV0dXJuIGU7Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyh0KSluKGkpfHwocyYmKGgocyl8fCF1KHMpJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YocykhPT1PYmplY3QucHJvdG90eXBlKT9lW2ldPXM6KGUuaGFzT3duUHJvcGVydHkoaSkmJmwoZVtpXSl8fCFsKHMpfHwoZVtpXT1BcnJheS5pc0FycmF5KHMpP1tdOnt9KSxsKHMpJiZsKGVbaV0pP2EoZVtpXSxzKTplW2ldPXMpKTtyZXR1cm4gZX1mdW5jdGlvbiBsKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiB0IGluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gbnVsbCE9ZSYmKGUuY29uc3RydWN0b3I9PT1GdW5jdGlvbnx8IltvYmplY3QgRnVuY3Rpb25dIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSl9ZnVuY3Rpb24gZChlLHQsaT0iIil7aWYoZT09PXQpcmV0dXJuWyEwLGldO2lmKGgoZSkmJihlPXZvaWQgMCksaCh0KSYmKHQ9dm9pZCAwKSwKbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsaV07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LGldO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9ZS5sZW5ndGg7aWYocyE9PXQubGVuZ3RoKXJldHVyblshMSxpXTtmb3IobGV0IG49MDtuPHM7bisrKXtjb25zdCBzPWQoZVtuXSx0W25dLGkrIlsiK24rIl0iKTtpZighc1swXSlyZXR1cm4gc31yZXR1cm5bITAsaV19aWYoQXJyYXkuaXNBcnJheShlKXx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm5bITEsaV07aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKXJldHVyblshMSxpXTtmb3IoY29uc3QgcyBpbiBlKXtjb25zdCBuPWQoZVtzXSx0W3NdLGkrIlsiK3MrIl0iKTtpZighblswXSlyZXR1cm4gbn1yZXR1cm5bITAsaV19Y29uc3QgdT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtmdW5jdGlvbiBwKGUpe3JldHVybiEoZTw9MHx8ZT4wKX1mdW5jdGlvbiBfKGUpe3JldHVybiBudWxsPT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIG51bGwhPWV9ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBOdW1iZXIuaXNOYU4oZSl8fE51bWJlci5pc05hTih0KT9OdW1iZXIuaXNOYU4oZSk9PT1OdW1iZXIuaXNOYU4odCk6e30udG9TdHJpbmcuY2FsbChlKT09PXt9LnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmUlMT09MH1mdW5jdGlvbiBTKGUpe3JldHVybiBudWxsIT1lJiZlLmNvbnN0cnVjdG9yPT09U3RyaW5nfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGwoZSkmJiJ0aGVuImluIGUmJmgoZS50aGVuKX1mdW5jdGlvbiB5KGUpe3JldHVybiBudWxsIT09ZX1mdW5jdGlvbiBiKGUpe3JldHVybiB2b2lkIDAhPT1lfU51bWJlci5pc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfX0sNTcwNjAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RyYW5zbGF0ZWRTdHJpbmc6KCk9PnJ9KTtjb25zdCBzPS97KFx3Kyl9L2c7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlLnJlcGxhY2UocywoKGUsaSk9PnZvaWQgMCE9PXRbaV0/dFtpXTplKSl9Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX29yaWdpbmFsVGV4dD1lLHRoaXMuX3RyYW5zbGF0ZWRUZXh0PXR9b3JpZ2luYWxUZXh0KCl7cmV0dXJuIHRoaXMuX29yaWdpbmFsVGV4dH10cmFuc2xhdGVkVGV4dCgpe3JldHVybiB0aGlzLl90cmFuc2xhdGVkVGV4dH1mb3JtYXQoZSl7Y29uc3QgdD17fSxpPXt9O2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBuPWVbc107biBpbnN0YW5jZW9mIHI/KHRbc109bi5vcmlnaW5hbFRleHQoKSxpW3NdPW4udHJhbnNsYXRlZFRleHQoKSk6KHRbc109bi50b1N0cmluZygpLGlbc109bi50b1N0cmluZygpKX1jb25zdCBzPW4odGhpcy5fb3JpZ2luYWxUZXh0LHQpLG89bih0aGlzLl90cmFuc2xhdGVkVGV4dCxpKTtyZXR1cm4gbmV3IHIocyxvKX19fSwyMzczNjkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0RXJyb3JNZXNzYWdlOigpPT5hLGdldExvZ2dlck1lc3NhZ2U6KCk9Pm99KTt2YXIgcz1pKDc4MzI1NCksbj1pKDY0MTU5Myk7Y2xhc3MgciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHtkZXRhaWxlZEVycm9yTWVzc2FnZTplLHVzZXJGcmllbmRseU1lc3NhZ2U6dCxjYXVzZTppfSl7c3VwZXIodCksdGhpcy5uYW1lPSJVc2VyRnJpZW5kbHlFcnJvciIsdGhpcy5kZXRhaWxlZEVycm9yTWVzc2FnZT1lLHRoaXMuY2F1c2U9aX19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHI/KDAsbi5yZW1vdmVUYWdzKShlLmRldGFpbGVkRXJyb3JNZXNzYWdlKTphKGUpfWZ1bmN0aW9uIGEoZSl7aWYodm9pZCAwPT09ZSlyZXR1cm4gcy50KG51bGwsdm9pZCAwLGkoOTkxMjU4KSk7bGV0IHQ7cmV0dXJuIHQ9ZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGU/ImVycm9yImluIGU/ZS5lcnJvcjpKU09OLnN0cmluZ2lmeShlKTplLnRvU3RyaW5nKCksKDAsbi5yZW1vdmVUYWdzKSh0KX19LDUzNTMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldE1pblRpY2s6KCk9PmMsZ2V0TWluVGlja0RhdGE6KCk9PmwsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmR9KTt2YXIgcz1pKDcxMjc0NSksbj1pKDYwMTg0MSkscj1pKDUzNDQ0MCksbz1pKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxzLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBsKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTppLHZhcmlhYmxlTWluVGlja0RhdGE6cyxzaG91bGRDaGVja0ZvckVxdWFsaXR5OnJ9PWUsbz0oMCxuLmlzTnVtYmVyKSh0KT9oKHQpOnQ7cmV0dXJuIHZvaWQgMD09PXM/bzpmdW5jdGlvbihlLHQsaT0hMSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspe2lmKGU8dFtzXS5wcmljZSlyZXR1cm4gdFtzXS5taW5UaWNrO2lmKGkmJmU9PT10W3NdLnByaWNlKXJldHVybiB0W3NdLm1pblRpY2t9cmV0dXJuIHRbdC5sZW5ndGgtMV0ubWluVGlja30oaSxzLHIpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGEobChlKSl9ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLHIubnVtT2ZEZWNpbWFsUGxhY2VzKShlKSxpPU1hdGgucG93KDEwLHQpO3JldHVybntwcmljZVNjYWxlOmksbWluTW92ZTooMCxzLkJpZykoZSkubXVsKGkpLnRvTnVtYmVyKCl9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBpPVt7bWluVGljazooMCxuLmlzTnVtYmVyKShlKT9oKGUpOmUscHJpY2U6MS8wLG1heEluZGV4OjEvMH1dO3RyeXtjb25zdCBlPXQuc3BsaXQoIiAiKS5tYXAoKChlLHQpPT4oMCxvLmlzRXZlbikodCk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1OdW1iZXIoZSk7aWYoTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiBoKHQpO3tjb25zdCB0PWUuc3BsaXQoIi8iKQo7aWYodC5sZW5ndGg8Mnx8dC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbWludGljazogJHtlfWApO2NvbnN0IGk9TnVtYmVyKHRbMV0pLHM9TnVtYmVyKHRbMF0pO2lmKCFOdW1iZXIuaXNGaW5pdGUoaSl8fCFOdW1iZXIuaXNGaW5pdGUocykpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBuPTM9PT10Lmxlbmd0aD9OdW1iZXIodFsyXSk6dm9pZCAwO2lmKHZvaWQgMCE9PW4mJiFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCByPXtwcmljZVNjYWxlOmksbWluTW92ZTpzfTtyZXR1cm4gdm9pZCAwIT09biYmKHIubWluTW92ZTI9bikscn19KGUpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcHJpY2UgbGltaXQ6ICR7ZX1gKTtyZXR1cm4gdH0oZSkpKTtpZigoMCxvLmlzRXZlbikoZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhlbWUgbXVzdCBub3QgYmUgZXZlbnQgbnVtYmVyIG9mIGVsZW1lbnRzIik7Y29uc3QgaT1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTIpe2NvbnN0IG49ZVt0KzFdPz8xLzAscj1pW2kubGVuZ3RoLTFdPy5wcmljZT8/MCxvPWlbaS5sZW5ndGgtMV0/Lm1heEluZGV4Pz8wLGw9bj09PTEvMD8xLzA6bmV3IHMuQmlnKG4pLm1pbnVzKHIpLmRpdihhKGVbdF0pKS5wbHVzKG8pLnRvTnVtYmVyKCk7aS5wdXNoKHttaW5UaWNrOmVbdF0scHJpY2U6bixtYXhJbmRleDpsfSl9cmV0dXJuIGl9Y2F0Y2h7cmV0dXJuIGl9fX0sNzU0ODY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0RhdGVUaW1lV2l0aFR6Rm9ybWF0dGVyOigpPT5ofSk7dmFyIHM9aSg3MDA4MDkpLG49aSg5MTQ3NzUpLHI9aSgyOTcxMTEpLG89aSgyMzgxMDMpLGE9aSg2MjQ2NzgpLGw9aSg4MjYxNTYpO2NvbnN0IGM9e2RhdGVGb3JtYXQ6Ik1NTSBkZCIsdGltZUZvcm1hdDpvLmhvdXJNaW51dGVGb3JtYXR9O2NsYXNzIGh7Y29uc3RydWN0b3IoZT17fSl7Y29uc3R7ZGF0ZUZvcm1hdDp0LHRpbWVGb3JtYXQ6aSx0aW1lem9uZTpufT17Li4uYywuLi5lfTt0JiZpP3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGwuRGF0ZVRpbWVGb3JtYXR0ZXIoe2RhdGVGb3JtYXQ6dCx0aW1lRm9ybWF0Oml9KTp0P3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGEuRGF0ZUZvcm1hdHRlcih0KTppJiYodGhpcy5fZGF0ZUZvcm1hdHRlcj1uZXcgci5UaW1lRm9ybWF0dGVyKGkpKSx0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkobj8/IkV0Yy9VVEMiKX1mb3JtYXQoZSl7Y29uc3QgdD0xZTMqZSxpPSgwLG4ucGFyc2VUek9mZnNldCkodGhpcy5fdGltZXpvbmUubmFtZSgpLHQpLnN0cmluZztyZXR1cm4gdm9pZCAwPT09dGhpcy5fZGF0ZUZvcm1hdHRlcj9pOmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KCgwLHMudXRjX3RvX2NhbCkodGhpcy5fdGltZXpvbmUsdCkpfSAke2l9YH1zZXRUaW1lem9uZShlKXt0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkoZSl9fX0sODIyNDMxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse251bURlcGVuZGVuY3lGb3JtYXR0ZXI6KCk9PnIsbnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm86KCk9Pm4seWllbGRDdXJ2ZVRpY2ttYXJrc1ByaWNlRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg2MDE4NDEpO2Z1bmN0aW9uIG4oZSx0KXtpZighKDAscy5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLHMuaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9ZnVuY3Rpb24gcihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGk9Pntjb25zdCBzPWk/Py0xO2xldCBuPXQuZ2V0KHMpO3JldHVybiBufHwobj1lKGkpLHQuc2V0KHMsbikpLG59fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1mdW5jdGlvbihlLHQpe2xldCBpPXQ7Zm9yKDtpPjA7aS0tKXtjb25zdCB0PU1hdGgucG93KDEwLGkpO2lmKGUubWFwKChlPT5NYXRoLnJvdW5kKGUqdCkpKS5zb21lKChlPT5lJTEwKSkpYnJlYWt9cmV0dXJuIGl9KGUsNCk7cmV0dXJuIGUubWFwKChlPT5gJHtlLnRvRml4ZWQodCl9JWApKX19LDE3MjMwNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtGb3JtYXR0ZXJzU2VyaWFsaXplcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTg0Mzc2KSxyPWkoNzU1NjI3KSxvPWkoMTI1MjE4KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0icXVvdGVTZXNzaW9uUHJpY2UiLHRoaXMucmVzZXQoZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fcHJpY2VGb3JtYXR0ZXIuc3RhdGUoKX1yZXNldChlKXt0aGlzLl9wcmljZUZvcm1hdHRlcj1lfHxuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxLGZyYWN0aW9uYWw6ITF9KX11cGRhdGUoZSx0KXtjb25zdCBpPW51bGwhPXQucHJpY2VzY2FsZXx8bnVsbCE9dC5taW5tb3Z8fG51bGwhPXQuZnJhY3Rpb25hbHx8bnVsbCE9dC5taW5tb3ZlMixzPW51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3YmJm51bGwhPWUuZnJhY3Rpb25hbCYmbnVsbCE9ZS5taW5tb3ZlMjtpJiZzJiYodGhpcy5fcHJpY2VGb3JtYXR0ZXI9bmV3IHIuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZS5wcmljZXNjYWxlLG1pbk1vdmU6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWx8fCExLG1pbk1vdmUyOmUubWlubW92ZTJ9KSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX3ByaWNlRm9ybWF0dGVyLmZvcm1hdChlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUZvcm1hdHRlci5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX0Kc3RhdGljIHNlcmlhbGl6ZShlKXtyZXR1cm4gZS5zdGF0ZSgpfXN0YXRpYyBkZXNlcmlhbGl6ZShlKXtjb25zdCB0PW5ldyByLlByaWNlRm9ybWF0dGVyKGUpO3JldHVybiBuZXcgYSh0KX19Y29uc3QgbD17cHJpY2U6ci5QcmljZUZvcm1hdHRlcix2b2x1bWU6bi5Wb2x1bWVGb3JtYXR0ZXIscGVyY2VudGFnZTpvLlBlcmNlbnRhZ2VGb3JtYXR0ZXIscXVvdGVTZXNzaW9uUHJpY2U6YX07dmFyIGM7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuKDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pLmRlc2VyaWFsaXplKGUuc3RhdGUpfWUuc2VyaWFsaXplPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pO3JldHVybnt0eXBlOmUudHlwZSxzdGF0ZTp0LnNlcmlhbGl6ZShlKX19LGUuaXNTZXJpYWxpemFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlLnR5cGUmJmUudHlwZSBpbiBsfSxlLmRlc2VyaWFsaXplPXQsZS5zYWZlRGVzZXJpYWxpemU9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0KGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX19KGN8fChjPXt9KSl9LDI1MjQyNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW1pdGVkUHJlY2lzaW9uTnVtZXJpY0Zvcm1hdHRlcjooKT0+cn0pO3ZhciBzLG49aSgxMDcwNDUpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByZWNpc2lvbj0xXT0iRGVmYXVsdFByZWNpc2lvbiJ9KHN8fChzPXt9KSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlPXMuRGVmYXVsdFByZWNpc2lvbix0KXt0aGlzLl9wcmVjaXNpb249ZSx0aGlzLl9udW1lcmljRm9ybWF0dGVyPW5ldyBuLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjp0aGlzLl9wcmVjaXNpb24saWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OnR9KX1mb3JtYXQoZSx0KXtjb25zdCBpPWUudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLHM9TWF0aC5wb3coMTAsLXRoaXMuX3ByZWNpc2lvbik7cmV0dXJuIHRoaXMuX251bWVyaWNGb3JtYXR0ZXIuZm9ybWF0KE1hdGgubWF4KHBhcnNlRmxvYXQoaSkscyksdCl9cGFyc2UoZSx0KXtjb25zdCBpPXRoaXMuX251bWVyaWNGb3JtYXR0ZXIucGFyc2UoZSx0KTtyZXR1cm4gaS5yZXM/e3JlczohMCx2YWx1ZTppLnZhbHVlLHN1Z2dlc3Q6dGhpcy5mb3JtYXQoaS52YWx1ZSl9Oml9fX0sMjEyMzQ2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RpbWVTcGFuRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpLG49aSg1OTg5MjIpLHI9aSg1NDY0ODUpO2NsYXNzIG97Zm9ybWF0KGUsdCl7Y29uc3Qgbz1lPDA7ZT1NYXRoLmFicyhlKTtjb25zdCBhPU1hdGguZmxvb3IoZS84NjQwMCk7ZS09ODY0MDAqYTtjb25zdCBsPU1hdGguZmxvb3IoZS8zNjAwKTtlLT0zNjAwKmw7Y29uc3QgYz1NYXRoLmZsb29yKGUvNjApO2UtPTYwKmM7bGV0IGg9IiI7aWYoYSl7Y29uc3QgZT0oMCxyLmdldE51bWJlckZvcm1hdCkodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtoKz0oMCxuLmZvcm1hdE51bWJlcikoYSxlKStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDIzMDQ5MikpKyIgIn1yZXR1cm4gbCYmKGgrPWwrcy50KG51bGwse2NvbnRleHQ6ImRhdGVzIn0saSgxMjIwNTMpKSsiICIpLGMmJihoKz1jK3MudChudWxsLHtjb250ZXh0OiJkYXRlcyJ9LGkoMTY0NTE2KSkrIiAiKSxlJiYoaCs9ZStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDI2MjIwNSkpKyIgIiksbyYmKGg9Ii0iK2gpLGgudHJpbSgpfX19LDg1NjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZDooKT0+YX0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTk1NjU1KSxyPWkoODY2NzQ4KSxvPWkoODQ4NjAxKTthc3luYyBmdW5jdGlvbiBhKGUpe2NvbnN0IHQ9KDAsby5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdHtuc0RhdGE6aSxwYXJzZWREYXRhOmF9PXQ7cmV0dXJuIGkuaW5kZXhlc19yZXBsYWNlfHwoKDAscy5oYXNQcm9wZXJ0eSkoYSwiZGF0YUNvbXByZXNzZWQiKSYmKGkuZGF0YT1hd2FpdCgwLHIudW5wYWNrKShhLmRhdGFDb21wcmVzc2VkKSksKDAscy5oYXNQcm9wZXJ0eSkoYSwiZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCIpJiYoaS5ncmFwaGljc0NtZHM9KDAsbi52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKGF3YWl0KDAsci51bnBhY2spKGEuZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCkpKSksaX19LDg1NzE1MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQbG90TGlzdDooKT0+dSxtZXJnZU1pbk1heDooKT0+cH0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoMTk4OTAxKSxvPWkoODE0NTg5KSxhPWkoOTM2MzI2KTtjb25zdCBsPSgwLG4uZ2V0TG9nZ2VyKSgiQ2hhcnQuUGxvdExpc3QiKSxjPTMwO2Z1bmN0aW9uIGgoZSl7cmV0dXJuIGUuaW5kZXh9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS52YWx1ZVswXX1jbGFzcyB1e2NvbnN0cnVjdG9yKGU9bnVsbCx0PW51bGwpe3RoaXMuX2l0ZW1zPVtdLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPTAsdGhpcy5fc2hhcmVSZWFkPSExLHRoaXMuX21pbk1heENhY2hlPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4PW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWU9bmV3IE1hcCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Bsb3RGdW5jdGlvbnM9ZXx8bmV3IE1hcCx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlPXR9Y2xlYXIoKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1maXJzdCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2l0ZW1zW3RoaXMuX3N0YXJ0XTpudWxsfWxhc3QoKXsKcmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0Pm8uVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgdTp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7cmV0dXJuIG51bGwhPT10aGlzLnNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfWFkZChlLHQpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygiYWRkOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksITE7Y29uc3QgaT17aW5kZXg6ZSx2YWx1ZTp0fSxzPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QsaCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSxudWxsPT09cz8odGhpcy5faXRlbXMuc3BsaWNlKHRoaXMuX2xvd2VyYm91bmQoZSxoKSwwLGkpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCwhMCk6KHRoaXMuX2l0ZW1zW3NdPWksITEpfXNlYXJjaChlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcyxoLGkpfXNlYXJjaEJ5VGltZShlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXMsZCxpKX1mb2xkKGUsdCl7bGV0IGk9dDtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpPWUodGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpLGkpfXJldHVybiBpfWZpbmRGaXJzdChlLHQpe2NvbnN0IGk9dm9pZCAwIT09dCYmTWF0aC5taW4odGhpcy5fc3RhcnQrdCx0aGlzLl9lbmQpfHx0aGlzLl9lbmQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8aTsrK3Qpe2NvbnN0IGk9dGhpcy5faW5kZXhBdCh0KSxzPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShpLHMpKXJldHVybntpbmRleDppLHZhbHVlOnN9fXJldHVybiBudWxsfWZpbmRMYXN0KGUsdCl7Y29uc3QgaT12b2lkIDAhPT10JiZNYXRoLm1heCh0aGlzLl9lbmQtdCx0aGlzLl9zdGFydCl8fHRoaXMuX3N0YXJ0O2ZvcihsZXQgdD10aGlzLl9lbmQtMTt0Pj1pOy0tdCl7Y29uc3QgaT10aGlzLl9pbmRleEF0KHQpLHM9dGhpcy5fdmFsdWVBdCh0KTtpZihlKGkscykpcmV0dXJue2luZGV4OmksdmFsdWU6c319cmV0dXJuIG51bGx9ZWFjaChlKXtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpZihlKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSkpYnJlYWt9fXJlZHVjZShlLHQpe2xldCBpPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aT1lKGksdGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpKX1yZXR1cm4gaX1yYW5nZShlLHQpe2NvbnN0IGk9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gaS5faXRlbXM9dGhpcy5faXRlbXMsaS5fc3RhcnQ9dGhpcy5fbG93ZXJib3VuZChlLGgpLGkuX2VuZD10aGlzLl91cHBlcmJvdW5kKHQpLGkuX3NoYXJlUmVhZD0hMCxpfXBsb3R0YWJsZVJhbmdlKGUpe2NvbnN0IHQ9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gdC5faXRlbXM9dGhpcy5faXRlbXMsdC5fc3RhcnQ9dGhpcy5fdXBwZXJib3VuZChvLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpLHQuX2VuZD10aGlzLl9lbmQsdC5fc2hhcmVSZWFkPSEwLCEwPT09ZSYmdC5fc3RhcnQ+dGhpcy5fc3RhcnQmJih0Ll9zdGFydC09MSksdH1yYW5nZUNvdW50YmFjayhlLHQpe2lmKG51bGw9PT10aGlzLmZpcnN0SW5kZXgoKSlyZXR1cm4gbmV3IHU7Y29uc3QgaT1uZXcgdSh0aGlzLl9wbG90RnVuY3Rpb25zLHRoaXMuX2VtcHR5VmFsdWVQcmVkaWNhdGUpO3JldHVybiBpLl9pdGVtcz10aGlzLl9pdGVtcyxpLl9lbmQ9dGhpcy5fdXBwZXJib3VuZChlKSxpLl9zdGFydD1NYXRoLm1heCh0aGlzLl9zdGFydCxpLl9lbmQtdCksaS5fc2hhcmVSZWFkPSEwLGl9cmFuZ2VJdGVyYXRvcihlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLGgpLHM9dGhpcy5fdXBwZXJib3VuZCh0KTtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwoaSxzKX1mdWxsUmFuZ2VJdGVyYXRvcigpe3JldHVybiB0aGlzLl9yYW5nZUl0ZXJhdG9ySW1wbCh0aGlzLl9zdGFydCx0aGlzLl9lbmQpfW1pbk1heE9uUmFuZ2VDYWNoZWQoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGw7Zm9yKGNvbnN0IG4gb2YgaSl7cz1wKHMsdGhpcy5fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1pbk1heE9uUmFuZ2UoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGwKO2Zvcihjb25zdCBuIG9mIGkpe3M9cChzLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCBpPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihpPTEsdGhpcy5faXRlbXNbdGhpcy5fZW5kLXRoaXMuX3N0YXJ0LTFdLnZhbHVlPWVbMF0udmFsdWUpO2ZvcihsZXQgdD1pO3Q8ZS5sZW5ndGg7Kyt0KXtjb25zdCBpPWVbdF0scz10aGlzLmxhc3RJbmRleCgpO2lmKG51bGw9PT1zKXtsLmxvZ0Vycm9yKCJDYW4ndCBhZGQgdGFpbCB0byB0aGUgZW1wdHkgcGxvdGxpc3QiKTticmVha310aGlzLmFkZChzKzEsaS52YWx1ZSl9dGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpfW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiB2b2lkIGwubG9nRGVidWcoIm1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5faXRlbXMuc2xpY2UoKTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPXRoaXMuX2JzZWFyY2goaS5vbGQsaCk7aWYobnVsbCE9PWUmJnZvaWQgMCE9PXRbZV0paWYoaS5uZXc9PT1vLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCl0W2VdPXZvaWQgMDtlbHNle3RbZV09e2luZGV4OmkubmV3LHZhbHVlOnRbZV0udmFsdWV9O2NvbnN0IHM9dGhpcy5fYnNlYXJjaChpLm5ldyxoKTtpZihudWxsIT09cyl7Y29uc3QgZT10W3NdO3ZvaWQgMCE9PWUmJmUuaW5kZXg9PT1pLm5ldyYmKHRbc109dm9pZCAwKX19fXRoaXMuX2l0ZW1zPXQuZmlsdGVyKChlPT52b2lkIDAhPT1lKSkuc29ydCgoKGUsdCk9PmUuaW5kZXgtdC5pbmRleCkpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aH1yZW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiBsLmxvZ0RlYnVnKCJyZW1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKSxudWxsO2NvbnN0IHQ9dGhpcy5fbm9uQ2FjaGVkU2VhcmNoKGUsYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsaCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCk7cmV0dXJuIHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksaS5sZW5ndGg+MD9pWzBdOm51bGx9c3RhdGUoKXtjb25zdCBlPXRoaXMuX2l0ZW1zLnNsaWNlKHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCk7cmV0dXJue3N0YXJ0OjAsZW5kOmUubGVuZ3RoLGRhdGE6ZX19cmVzdG9yZVN0YXRlKGUpe2U/KHRoaXMuX3N0YXJ0PWUuc3RhcnQsdGhpcy5fZW5kPWUuZW5kLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9pdGVtcz1lLmRhdGEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCkpOnRoaXMuY2xlYXIoKX1faW5kZXhBdChlKXtyZXR1cm4gdGhpcy5faXRlbXNbZV0uaW5kZXh9X3ZhbHVlQXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLnZhbHVlfV9sZW5ndGgoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofV9zZWFyY2hJbXBsKGUsdCxpLHMsbixyKXtjb25zdCBvPXZvaWQgMCE9PXI/aTpzLGE9dm9pZCAwIT09cj8xZTQqKHQrMSkrcjp0O2xldCBsPW8uZ2V0KGUpO2lmKHZvaWQgMCE9PWwpe2NvbnN0IGU9bC5nZXQoYSk7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1jb25zdCBjPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLHQsbixyKTtpZihudWxsPT09YylyZXR1cm4gbnVsbDtjb25zdCBoPXtpbmRleDp0aGlzLl9pbmRleEF0KGMpLHZhbHVlOnRoaXMuX3ZhbHVlQXQoYyl9O3JldHVybiB2b2lkIDA9PT1sJiYobD1uZXcgTWFwLG8uc2V0KGUsbCkpLGwuc2V0KGEsaCksaH1fbm9uQ2FjaGVkU2VhcmNoKGUsdCxpLHMpe2NvbnN0IG49dGhpcy5fbG93ZXJib3VuZChlLGkpLHI9bj09PXRoaXMuX2VuZHx8ZSE9PWkodGhpcy5faXRlbXNbbl0pO2lmKHImJnQhPT1hLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXN3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RMZWZ0KG4scyk7Y2FzZSBhLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fc2VhcmNoTmVhcmVzdFJpZ2h0KG4scyk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9aWYodm9pZCAwPT09c3x8cnx8dD09PWEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpcmV0dXJuIHI/bnVsbDpuO3N3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX25vbkVtcHR5TmVhcmVzdExlZnQobixzKTtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfX1fbm9uRW1wdHlOZWFyZXN0UmlnaHQoZSx0KXtjb25zdCBpPSgwLApzLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksbj0oMCxzLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmaSh0aGlzLl92YWx1ZUF0KGUpLG4pOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxuPSgwLHMuZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZpKHRoaXMuX3ZhbHVlQXQoZSksbik7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCBpPWUtMSxzPWkhPT10aGlzLl9lbmQ/aTpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09cz90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KHMsdCk6c31fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3QgaT1lLHM9aSE9PXRoaXMuX2VuZD9pOm51bGw7cmV0dXJuIHZvaWQgMCE9PXQmJm51bGwhPT1zP3RoaXMuX25vbkVtcHR5TmVhcmVzdFJpZ2h0KHMsdCk6c31fYnNlYXJjaChlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLHQpO3JldHVybiBpIT09dGhpcy5fZW5kJiZlPT09dCh0aGlzLl9pdGVtc1tpXSk/aTpudWxsfV9sb3dlcmJvdW5kKGUsdCl7cmV0dXJuKDAsci5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSxpKT0+dChlKTxpKSx0aGlzLl9zdGFydCx0aGlzLl9lbmQpfV91cHBlcmJvdW5kKGUpe3JldHVybigwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUsdCk9PnQuaW5kZXg+ZSksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fcGxvdE1pbk1heChlLHQsaSl7bGV0IHM9bnVsbDtjb25zdCBuPXRoaXMuX3Bsb3RGdW5jdGlvbnMuZ2V0KGkpO2lmKHZvaWQgMD09PW4pdGhyb3cgbmV3IEVycm9yKGBQbG90ICIke2l9IiBpcyBub3QgcmVnaXN0ZXJlZGApO2ZvcihsZXQgaT1lO2k8dDtpKyspe2NvbnN0IGU9bih0aGlzLl9pdGVtc1tpXS52YWx1ZSk7bnVsbD09ZXx8TnVtYmVyLmlzTmFOKGUpfHwobnVsbD09PXM/cz17bWluOmUsbWF4OmV9OihlPHMubWluJiYocy5taW49ZSksZT5zLm1heCYmKHMubWF4PWUpKSl9cmV0dXJuIHN9X2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKXtjb25zdCB0PU1hdGguZmxvb3IoZS5pbmRleC9jKTt0aGlzLl9taW5NYXhDYWNoZS5mb3JFYWNoKChlPT5lLmRlbGV0ZSh0KSkpfV9wcmVwZW5kKGUpe3JldHVybigwLHMuYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxzLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZS5jb25jYXQodGhpcy5faXRlbXMpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9hcHBlbmQoZSl7cmV0dXJuKDAscy5hc3NlcnQpKCF0aGlzLl9zaGFyZVJlYWQsImNvbGxlY3Rpb24gc2hvdWxkIG5vdCBiZSByZWFkb25seSIpLCgwLHMuYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3RSb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZSksdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLGVbMF19X3VwZGF0ZUxhc3QoZSl7KDAscy5hc3NlcnQpKCF0aGlzLmlzRW1wdHkoKSwicGxvdCBsaXN0IHNob3VsZCBub3QgYmUgZW1wdHkiKTtjb25zdCB0PXRoaXMuX2l0ZW1zW3RoaXMuX2VuZC0xXTsoMCxzLmFzc2VydCkodC5pbmRleD09PWUuaW5kZXgsImxhc3Qgcm93IGluZGV4IHNob3VsZCBtYXRjaCBuZXcgcm93IGluZGV4IiksdGhpcy5faW52YWxpZGF0ZUNhY2hlRm9yUm93KGUpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV09ZX1fbWVyZ2UoZSl7cmV0dXJuKDAscy5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdCByb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz1mdW5jdGlvbihlLHQpe2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWUubGVuZ3RoLHM9dC5sZW5ndGg7bGV0IG49aStzLHI9MCxvPTA7Zm9yKDtyPGkmJm88czspZVtyXS5pbmRleDx0W29dLmluZGV4P3IrKzplW3JdLmluZGV4PnRbb10uaW5kZXg/bysrOihyKyssbysrLG4tLSk7cmV0dXJuIG59KGUsdCkscz1uZXcgQXJyYXkoaSk7bGV0IG49MCxyPTA7Y29uc3Qgbz1lLmxlbmd0aCxhPXQubGVuZ3RoO2xldCBsPTA7Zm9yKDtuPG8mJnI8YTspZVtuXS5pbmRleDx0W3JdLmluZGV4PyhzW2xdPWVbbl0sbisrKTplW25dLmluZGV4PnRbcl0uaW5kZXg/KHNbbF09dFtyXSxyKyspOihzW2xdPXRbcl0sbisrLHIrKyksbCsrO2Zvcig7bjxvOylzW2xdPWVbbl0sbisrLGwrKztmb3IoO3I8YTspc1tsXT10W3JdLHIrKyxsKys7cmV0dXJuIHN9KHRoaXMuX2l0ZW1zLGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9taW5NYXhPblJhbmdlQ2FjaGVkSW1wbChlLHQsaSl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7bGV0IG49bnVsbDtjb25zdCByPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5maXJzdEluZGV4KCkpLG89KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLmxhc3RJbmRleCgpKSxhPU1hdGgubWF4KGUsciksbD1NYXRoLm1pbih0LG8pLGg9TWF0aC5jZWlsKGEvYykqYyxkPU1hdGgubWF4KGgsTWF0aC5mbG9vcihsL2MpKmMpO249cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoYSxNYXRoLm1pbihoLHQsbCksaSkpO2xldCB1PXRoaXMuX21pbk1heENhY2hlLmdldChpKTt2b2lkIDA9PT11JiYodT1uZXcgTWFwLAp0aGlzLl9taW5NYXhDYWNoZS5zZXQoaSx1KSk7Zm9yKGxldCBlPU1hdGgubWF4KGgrMSxhKTtlPGQ7ZSs9Yyl7Y29uc3QgdD1NYXRoLmZsb29yKGUvYyk7bGV0IHM9dS5nZXQodCk7aWYodm9pZCAwPT09cyl7Y29uc3QgZT10KmMsbj0odCsxKSpjLTE7cz10aGlzLl9taW5NYXhPblJhbmdlKGUsbixpKSx1LnNldCh0LHMpfW49cChuLHMpfW49cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoZCxsLGkpKTtyZXR1cm4gbn1fbWluTWF4T25SYW5nZShlLHQsaSl7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGgpLHRoaXMuX3VwcGVyYm91bmQodCksaSl9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IGk9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4oaSs9MSxpPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbaV19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXt0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXguY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZS5jbGVhcigpLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCl9fWZ1bmN0aW9uIHAoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdDtpZihudWxsPT09dClyZXR1cm4gZTtyZXR1cm57bWluOk1hdGgubWluKGUubWluLHQubWluKSxtYXg6TWF0aC5tYXgoZS5tYXgsdC5tYXgpfX19LDYxOTE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTZXJpZXNEYXRhOigpPT5fLGJhckZ1bmN0aW9uOigpPT51LGJhckZ1bmN0aW9uczooKT0+aCxzZXJpZXNQbG90RnVuY3Rpb25NYXA6KCk9PmR9KTt2YXIgcyxuLHI9aSgxMzg2MzgpLG89aSg4NTcxNTEpLGE9aSg0NzU0NzgpOyFmdW5jdGlvbihlKXtlW2UuRnJvbUxlZnQ9LTFdPSJGcm9tTGVmdCIsZVtlLkZyb21SaWdodD0xXT0iRnJvbVJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuVGltZT0wXT0iVGltZSIsZVtlLk9wZW49MV09Ik9wZW4iLGVbZS5IaWdoPTJdPSJIaWdoIixlW2UuTG93PTNdPSJMb3ciLGVbZS5DbG9zZT00XT0iQ2xvc2UiLGVbZS5Wb2x1bWU9NV09IlZvbHVtZSIsZVtlLkFkdD02XT0iQWR0In0obnx8KG49e30pKTtjb25zdCBsPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCJdO3ZhciBjOyFmdW5jdGlvbihlKXtlW2UuRmlyc3RQcmljZT0wXT0iRmlyc3RQcmljZSIsZVtlLkxhc3RQcmljZT0xXT0iTGFzdFByaWNlIixlW2UuTGFzdFZhbHVlUHJpY2U9Ml09Ikxhc3RWYWx1ZVByaWNlIn0oY3x8KGM9e30pKTtjb25zdCBoPXtvcGVuOmU9PmVbMV0saGlnaDplPT5lWzJdLGxvdzplPT5lWzNdLGNsb3NlOmU9PmVbNF0saGwyOmU9PihlWzJdK2VbM10pLzIsaGxjMzplPT4oZVsyXStlWzNdK2VbNF0pLzMsb2hsYzQ6ZT0+KGVbMV0rZVsyXStlWzNdK2VbNF0pLzR9O2Z1bmN0aW9uIGQoKXtjb25zdCBlPW5ldyBNYXA7cmV0dXJuIGwuZm9yRWFjaCgoKHQsaSk9PntlLnNldCh0LHUodCkpfSkpLGV9ZnVuY3Rpb24gdShlLHQsaSl7Y29uc3Qgcz1oW3Q/P2VdLG49aFtlXSxyPWhbaT8/ZV07cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSAwOnJldHVybiBzKGUpO2Nhc2UgMjpyZXR1cm4gcihlKTtkZWZhdWx0OnJldHVybiBuKGUpfX19ZnVuY3Rpb24gcChlLHQpe3JldHVybiBudWxsPT1lW3RdfWNsYXNzIF97Y29uc3RydWN0b3IoKXt0aGlzLm1fYmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5tX25zQmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgYS5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMubV9iYXJzLChlPT5oW2VdKSl9YmFycygpe3JldHVybiB0aGlzLm1fYmFyc31uc0JhcnMoKXtyZXR1cm4gdGhpcy5tX25zQmFyc31jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1tZXJnZVJlZ3VsYXJCYXJzKGUpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1lcmdlRGF0YShlKX1zaXplKCl7cmV0dXJuIHRoaXMubV9iYXJzLnNpemUoKSt0aGlzLm1fbnNCYXJzLnNpemUoKX1lYWNoKGUpe3RoaXMubV9iYXJzLmVhY2goZSksdGhpcy5tX25zQmFycy5lYWNoKGUpfWNsZWFyKCl7dGhpcy5tX25zQmFycy5jbGVhcigpLHRoaXMubGFzdFByb2plY3Rpb25QcmljZT12b2lkIDAsdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jbGVhckRhdGEoKX1jbG9uZSgpe2NvbnN0IGU9bmV3IF87cmV0dXJuIGUubGFzdFByb2plY3Rpb25QcmljZT10aGlzLmxhc3RQcm9qZWN0aW9uUHJpY2UsZS5ib3hTaXplPXRoaXMuYm94U2l6ZSxlLnJldmVyc2FsQW1vdW50PXRoaXMucmV2ZXJzYWxBbW91bnQsZS5tX2JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlLm1fbnNCYXJzPXRoaXMubV9iYXJzLmNsb25lKCksZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMubV9iYXJzLmlzRW1wdHkoKSYmdGhpcy5tX25zQmFycy5pc0VtcHR5KCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpP3RoaXMubV9uc0JhcnMuZmlyc3QoKTp0aGlzLm1fYmFycy5maXJzdCgpfWxhc3QoKXtyZXR1cm4gdGhpcy5tX25zQmFycy5pc0VtcHR5KCk/dGhpcy5tX2JhcnMubGFzdCgpOnRoaXMubV9uc0JhcnMubGFzdCgpfXNlYXJjaChlLHQsaSl7cmV0dXJuIHRoaXMubnNCYXJzKCkuaXNFbXB0eSgpP3RoaXMuYmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuaXNFbXB0eSgpfHwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMubnNCYXJzKCkuZmlyc3RJbmRleCgpKTw9ZT90aGlzLm5zQmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxpKX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH0KcGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleChlLHQsaSl7aWYoaT09PXMuRnJvbVJpZ2h0KXtjb25zdCBpPShpLHMpPT57Y29uc3Qgbj1zW3RdO3JldHVybiBudWxsIT1uJiZlPj1ufSxzPXRoaXMubV9iYXJzLmZpbmRMYXN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kTGFzdChpKTtyZXR1cm4gbnVsbCE9PW4/bi5pbmRleDp0aGlzLm1fYmFycy5maXJzdEluZGV4KCl9aWYoaT09PXMuRnJvbUxlZnQpe2NvbnN0IGk9KGkscyk9Pntjb25zdCBuPXNbdF07cmV0dXJuIG51bGwhPW4mJmU8PW59LHM9dGhpcy5tX2JhcnMuZmluZEZpcnN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kRmlyc3QoaSk7cmV0dXJuIG51bGwhPT1uP24uaW5kZXg6dGhpcy5tX2JhcnMubGFzdEluZGV4KCl9dGhyb3cgbmV3IEVycm9yKCJwbG90VmFsdWVUb1RpbWVQb2ludEluZGV4OiB1bnN1cHBvcnRlZCBzZWFyY2ggbW9kZSIpfW1vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSksdGhpcy5tX25zQmFycy5tb3ZlKGUpfX19LDE3OTY3NChlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtEd2dFeHRlbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLk5vbmU9Im4iLGUuTGVmdD0ibCIsZS5SaWdodD0iciIsZS5Cb3RoPSJiIn0oc3x8KHM9e30pKX0sNTQ4NTYwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbixyLG87aS5kKHQse0R3Z0xhYmVsU3R5bGU6KCk9PnIsRHdnTGFiZWxUZXh0QWxpZ246KCk9PnMsRHdnTGFiZWxZbG9jOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MZWZ0PSJsZWZ0IixlLkNlbnRlcj0iY2VudGVyIixlLlJpZ2h0PSJyaWdodCJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5BYm92ZUJhcj0iYWIiLGUuQmVsb3dCYXI9ImJsIixlLlByaWNlPSJwciIsZS5BdXRvPSJhdXRvIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlLlhjcm9zcz0ieGNyIixlLkNyb3NzPSJjciIsZS5UcmlhbmdsZXVwPSJ0dXAiLGUuVHJpYW5nbGVkb3duPSJ0ZG4iLGUuRmxhZz0iZmxnIixlLkNpcmNsZT0iY2lyIixlLkFycm93dXA9ImF1cCIsZS5BcnJvd2Rvd249ImFkbiIsZS5MYWJlbFVwPSJsdXAiLGUuTGFiZWxEb3duPSJsZG4iLGUuTGFiZWxMZWZ0PSJsbGYiLGUuTGFiZWxSaWdodD0ibHJnIixlLkxhYmVsQ2VudGVyPSJsY24iLGUuTGFiZWxMZWZ0VXA9Imx1cGxmIixlLkxhYmVsTGVmdERvd249Imxsd2xmIixlLkxhYmVsUmlnaHRVcD0ibHVwcmciLGUuTGFiZWxSaWdodERvd249Imxsd3JnIixlLlNxdWFyZT0ic3EiLGUuRGlhbW9uZD0iZGlhIixlLlRleHRPdXRsaW5lPSJ0byIsZS5Ob25lPSJuIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLk1vbm9zcGFjZT0ibW9ub3NwYWNlIn0ob3x8KG89e30pKX0sMzk0OTYzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SEhpc3REaXJlY3Rpb246KCk9PnMsSEhpc3RMb2NhdGlvbjooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuTGVmdFRvUmlnaHQ9ImxlZnRfdG9fcmlnaHQiLGUuUmlnaHRUb0xlZnQ9InJpZ2h0X3RvX2xlZnQifShzfHwocz17fSkpLGZ1bmN0aW9uKGUpe2UuUmVsYXRpdmU9InJlbGF0aXZlIixlLkFic29sdXRlPSJhYnNvbHV0ZSJ9KG58fChuPXt9KSl9LDIyMzg2OShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuL15ccypzdHJhdGVneVxzKlwoL20udGVzdChlKX1pLmQodCx7aXNTdHJhdGVneTooKT0+c30pfSw5NjU3OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWFrZU5leHRTdHVkeUlkOigpPT5ufSk7bGV0IHM9MDtmdW5jdGlvbiBuKCl7cmV0dXJuIHMrKywic3QiK3N9fSwxNjQxNTYoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7UGluZUtpbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlN0dWR5PSJzdHVkeSIsZS5TdHJhdGVneT0ic3RyYXRlZ3kiLGUuTGlicmFyeT0ibGlicmFyeSJ9KHN8fChzPXt9KSl9LDU4OTUxMShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtQbG90U3ltYm9sU2l6ZTooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQXV0bz0iYXV0byIsZS5UaW55PSJ0aW55IixlLlNtYWxsPSJzbWFsbCIsZS5Ob3JtYWw9Im5vcm1hbCIsZS5MYXJnZT0ibGFyZ2UiLGUuSHVnZT0iaHVnZSJ9KHN8fChzPXt9KSl9LDY2Njk0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7aWYoZTwwKXRocm93IG5ldyBFcnJvcigiVGltZVBvaW50SW5kZXhJbmRleCBzaG91bGQgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXIiKTtyZXR1cm4gZX1pLmQodCx7ZW5zdXJlVGltZVBvaW50SW5kZXhJbmRleDooKT0+c30pfSwxOTg1NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse1N0dWR5RGF0YVNvdXJjZTooKT0+X30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKSxyPWkoMjIxMDYxKSxvPWkoNTUwOTA0KSxhPWkoODU3MTUxKSxsPWkoNzkxNDI3KSxjPWkoMTQyMzg5KSxoPWkoOTY1Nzk1KSxkPWkoNTA0NDMxKTtjb25zdCB1PSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZHlEYXRhU291cmNlIik7dmFyIHA7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ1BhcmVudD0yXT0iQXdhaXRpbmdQYXJlbnQiLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0zXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9NF09IkFjdGl2ZSJ9KHB8fChwPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQsaSxzLHI9ITEpe3RoaXMuX2lucHV0cz1udWxsLHRoaXMuX3N0YXR1cz1wLklkbGUsdGhpcy5fc3R1ZHlJZD1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTEsdGhpcy5fc3R1ZHlTdGF0dXM9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSx0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWQ9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZGF0YUNsZWFyZWQ9bmV3IG4uRGVsZWdhdGUsCnRoaXMuX2RhdGFVcGRhdGVkPW5ldyBuLkRlbGVnYXRlLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl9tZXRhSW5mbz1zLHRoaXMuX2ZvcmNlVXNlRXhjbGFtYXRpb25NYXJrPXIsdGhpcy5fc2VyaWVzU291cmNlPXQsdGhpcy5fdHVybmFyb3VuZFByZWZpeD1pLHRoaXMuX2NyZWF0ZVBsb3RzKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9bWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fbWV0YUluZm99aW5wdXRzKCl7cmV0dXJuIHRoaXMuX2lucHV0c31zZXRJbnB1dHMoZSl7dGhpcy5faW5wdXRzPWUsbnVsbCE9PXRoaXMuX3N0dWR5SWQmJih0aGlzLl90dXJuYXJvdW5kQ291bnRlcisrLHRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSksdGhpcy5fZ2F0ZXdheS5tb2RpZnlTdHVkeSh0aGlzLl9zdHVkeUlkLHRoaXMuX3R1cm5hcm91bmQoKSxlLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpKSx0aGlzLl9zdGF0dXM9PT1wLkFjdGl2ZSYmdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSkpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1wLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09cC5BY3RpdmV9c3RhcnQoKXt0aGlzLmlzU3RhcnRlZCgpP3UubG9nTm9ybWFsKCJzdGFydDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdGFydGVkLCBub3RoaW5nIHRvIGRvIik6KCgwLHMuYXNzZXJ0KShudWxsIT09dGhpcy5faW5wdXRzLCJJbnB1dHMgc2hvdWxkIGJlIGRlZmluZWQgd2hlbiBzdGFydGluZyBhIHN0dWR5IGRhdGEgc291cmNlIiksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnZhbHVlKCk/dGhpcy5fY3JlYXRlU3R1ZHkoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5fc3R1ZHlJZCYmKHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9nYXRld2F5LnJlbW92ZVN0dWR5KHRoaXMuX3N0dWR5SWQpLHRoaXMuX3N0dWR5SWQ9bnVsbCx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSx0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLklkbGUpKTp1LmxvZ05vcm1hbCgic3RvcDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdG9wcGVkLCBub3RoaW5nIHRvIGRvIil9c3R1ZHlJZCgpe3JldHVybiB0aGlzLl9zdHVkeUlkfXN0dWR5U3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0dWR5U3RhdHVzfXN0dWR5U3RhdHVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWR9cGxvdHMoKXtyZXR1cm4gdGhpcy5fcGxvdHN9Y2xlYXJEYXRhKCl7dGhpcy5fcGxvdHMuY2xlYXIoKSx0aGlzLl9kYXRhQ2xlYXJlZC5maXJlKCl9ZGF0YUNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fZGF0YUNsZWFyZWR9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWR9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9wbG90cy5tb3ZlKGUpfSkpfXBlbmRpbmdVcGRhdGVzUmVhZHkoKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGV9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtfLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1fY3JlYXRlU3R1ZHlFcnJvcihlKXtyZXR1cm57dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnRoaXMuX2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKX19X2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/e2Vycm9yOmUuc3BsaXQoIjoiLDIpWzBdfTplfV9jcmVhdGVQbG90cygpe3RoaXMuX3Bsb3RzPW5ldyBhLlBsb3RMaXN0KCgwLGQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY2hhbmdlU3RhdHVzVG8oZSl7KDAscy5hc3NlcnQpKHRoaXMuX3N0YXR1cyE9PWUsIlNvdXJjZSBhbmQgZGVzdGluYXRpb24gc3RhdHVzIHNob3VsZCBiZSBkaXN0aW5jdCIpLHUubG9nTm9ybWFsKGBTdGF0dXMgY2hhbmdlZCBmcm9tICR7cFt0aGlzLl9zdGF0dXNdfSB0byAke3BbZV19YCksdGhpcy5fc3RhdHVzPWV9X2NyZWF0ZVN0dWR5KCl7Y29uc3QgZT10aGlzLl9zZXJpZXNTb3VyY2UuaW5zdGFuY2VJZCgpO251bGwhPT1lP3RoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKToodGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ1BhcmVudCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNDcmVhdGVkLCEwKSl9X2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKXsoMCxzLmFzc2VydCkodGhpcy5fc3RhdHVzIT09cC5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLHMuYXNzZXJ0KSh0aGlzLl9zdHVkeVN0YXR1cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkLCdTdHVkeSBzdGF0dXMgc2hvdWxkIGJlICJVbmRlZmluZWQiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLApzLmFzc2VydCkobnVsbD09PXRoaXMuX3N0dWR5SWQsIlN0dWR5IGlkIHNob3VsZCBiZSBlbXB0eSB3aGVuIGNyZWF0aW5nIGEgc3R1ZHkiKSx0aGlzLl9zdHVkeUlkPSgwLGgubWFrZU5leHRTdHVkeUlkKSgpLHRoaXMuX2dhdGV3YXkuY3JlYXRlU3R1ZHkodGhpcy5fc3R1ZHlJZCx0aGlzLl90dXJuYXJvdW5kKCksZSxsLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlJZFdpdGhMYXRlc3RWZXJzaW9uKHRoaXMubWV0YUluZm8oKSx0aGlzLl9mb3JjZVVzZUV4Y2xhbWF0aW9uTWFyayksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbnB1dHMpLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHtpZDp0aGlzLl9tZXRhSW5mby5pZH0pLHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpfV9vbkdhdGV3YXlJc0Nvbm5lY3RlZENoYW5nZWQoZSl7ZT90aGlzLl9vbkdhdGV3YXlDb25uZWN0ZWQoKTp0aGlzLl9vbkdhdGV3YXlEaXNjb25uZWN0ZWQoKX1fb25HYXRld2F5Q29ubmVjdGVkKCl7dGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJnRoaXMuX2NyZWF0ZVN0dWR5KCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PXAuSWRsZSYmdGhpcy5fc3RhdHVzIT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9zdHVkeUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0Nvbm5lY3Rpb24pLHRoaXMuX3N0dWR5U3RhdHVzLnR5cGUhPT1jLlN0dWR5U3RhdHVzVHlwZS5VbmRlZmluZWQmJnRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSkpLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTF9X29uU2VyaWVzQ3JlYXRlZCgpe3RoaXMuX3N0YXR1cz09PXAuQXdhaXRpbmdQYXJlbnQmJnRoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZCgoMCxzLmVuc3VyZSkodGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKSkpfV9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHlTdGF0dXM7dGhpcy5fc3R1ZHlTdGF0dXM9ZSx1LmxvZ05vcm1hbChgU3R1ZHkgc3RhdHVzIHR5cGUgY2hhbmdlZCBmcm9tICR7Yy5TdHVkeVN0YXR1c1R5cGVbdC50eXBlXX0gdG8gJHtjLlN0dWR5U3RhdHVzVHlwZVtlLnR5cGVdfWApLHRoaXMuX3N0dWR5U3RhdHVzQ2hhbmdlZC5maXJlKHQsZSl9X29uTWVzc2FnZShlKXtpZigiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Qpe2NvbnN0e2N1c3RvbUlkOnQsdHVybmFyb3VuZDppLHBsb3RzOm4sbm9uc2VyaWVzOnJ9PWUucGFyYW1zO3Q9PT10aGlzLl9zdHVkeUlkJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoaSkmJnRoaXMuX29uRGF0YVVwZGF0ZShuLCgwLHMuZW5zdXJlRGVmaW5lZCkocikpfWVsc2UgaWYoInN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUxvYWRpbmcoZS50aW1lKX1lbHNlIGlmKCJzdHVkeV9jb21wbGV0ZWQiPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUNvbXBsZXRlZChlLnRpbWUpfWVsc2UgaWYoInN0dWR5X2Vycm9yIj09PWUubWV0aG9kKXtjb25zdFt0LGkscyxuXT1lLnBhcmFtczt0PT09dGhpcy5fc3R1ZHlJZCYmdGhpcy5fY2hlY2tUdXJuYXJvdW5kKGkpJiZ0aGlzLl9vblN0dWR5RXJyb3IocyxuLGUudGltZSl9ZWxzZSJjbGVhcl9kYXRhIj09PWUubWV0aG9kJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9X29uRGF0YVVwZGF0ZShlLHQpe2NvbnN0IGk9Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyKHQuZCk7cmV0dXJuIHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT5pKSwoKCk9PmkpKS50aGVuKHRoaXMuX29uRGF0YVVucGFja2VkLmJpbmQodGhpcyxlLHQuaW5kZXhlcykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQsaSl7dGhpcy5fc3RhdHVzIT09cC5JZGxlJiYodGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSYmKHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQWN0aXZlKSx0aGlzLmNsZWFyRGF0YSgpKSx0aGlzLl9tZXJnZVBsb3RzKGUpLHRoaXMuX2RhdGFVcGRhdGVkLmZpcmUoZSxpLHQpKX1fb25TdHVkeUxvYWRpbmcoZSl7dGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWRUbyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nLHN0YXJ0VGltZTpEYXRlLm5vdygpfSl9X29uU3R1ZHlFcnJvcihlLHQsaSl7dGhpcy5jbGVhckRhdGEoKSx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpfV9vblN0dWR5Q29tcGxldGVkKGUpe3RoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSl9X21lcmdlUGxvdHMoZSl7dGhpcy5fcGxvdHMubWVyZ2UoZSl9X3R1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1fY2hlY2tUdXJuYXJvdW5kKGUpe2NvbnN0IHQ9dGhpcy5fdHVybmFyb3VuZCgpO3JldHVybiBlPT09dHx8ZT09PXRoaXMuX3Nlcmllc1NvdXJjZS50dXJuYXJvdW5kKCl8fGU9PT1gJHt0aGlzLl9zZXJpZXNTb3VyY2UudHVybmFyb3VuZCgpfV8ke3R9YH19Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyPW8udW5wYWNrTm9uU2VyaWVzRGF0YX0sNTA0NDMxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUucGxvdHMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNldChlLmlkLChlPT5lW2krMV0pKX0pKSx0fWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gbnVsbD09ZVt0XX1pLmQodCx7c3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZTooKT0+biwKc3R1ZHlQbG90RnVuY3Rpb25NYXA6KCk9PnN9KX0sNjM0ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuYCR7ZX1AJHt0fWB9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8oQFteLV0rLVteLV0rKS4qJC8sIiQxIil9aS5kKHQse2V4dHJhY3RTdHVkeUlkOigpPT5uLHN0dWR5SWRTdHJpbmc6KCk9PnN9KX0sNjI4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRDb2xvckRlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+ZyxJbnB1dERpc3BsYXlGbGFnczooKT0+bixSYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+bCxTdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElEOigpPT5yLFN0dWR5U3RyYXRlZ3lRdHlUeXBlSW5wdXRWYWx1ZTooKT0+byxhcmVTdHVkeUlucHV0c0VxdWFsOigpPT5fLGVkaXRhYmxlU3R1ZHlJbnB1dHM6KCk9PnYsZ2V0SW5wdXRWYWx1ZTooKT0+dSxpc0V4dGVuZGVkSW5wdXQ6KCk9PmgsaXNFeHRlbmRlZElucHV0Qm9vbDooKT0+dyxpc0V4dGVuZGVkSW5wdXRTb3VyY2U6KCk9PmQsaXNTdHJhdGVneUlucHV0OigpPT5DLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0OigpPT5iLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzOigpPT55LGlzU3R1ZHlJbnB1dE9wdGlvbnNJbmZvOigpPT5wLGlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dDooKT0+UyxyYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lc0xpc3Q6KCk9Pm0scmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlOigpPT5mLHVzZXJFZGl0YWJsZUlucHV0RmlsdGVyOigpPT5QfSk7dmFyIHMsbixyLG8sYSxsLGM9aSg4ODAxMTUpO2Z1bmN0aW9uIGgoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKX1mdW5jdGlvbiBkKGUpe3JldHVybiJzb3VyY2UiPT09ZS50fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGgoZSk/ZS52OmV9ZnVuY3Rpb24gcChlKXtyZXR1cm5bInRleHQiLCJpbnRlZ2VyIiwiZmxvYXQiLCJwcmljZSIsInNlc3Npb24iLCJyZXNvbHV0aW9uIl0uaW5jbHVkZXMoZS50eXBlKSYmZS5oYXNPd25Qcm9wZXJ0eSgib3B0aW9ucyIpfWZ1bmN0aW9uIF8oZSx0LGkpe2Zvcihjb25zdCBzIG9mIGUpaWYodFtzLmlkXSE9PWlbcy5pZF0pcmV0dXJuITE7cmV0dXJuITB9IWZ1bmN0aW9uKGUpe2UuSW50ZWdlcj0iaW50ZWdlciIsZS5GbG9hdD0iZmxvYXQiLGUuUHJpY2U9InByaWNlIixlLkJvb2w9ImJvb2wiLGUuVGV4dD0idGV4dCIsZS5TeW1ib2w9InN5bWJvbCIsZS5TZXNzaW9uPSJzZXNzaW9uIixlLlNvdXJjZT0ic291cmNlIixlLlJlc29sdXRpb249InJlc29sdXRpb24iLGUuVGltZT0idGltZSIsZS5CYXJUaW1lPSJiYXJfdGltZSIsZS5Db2xvcj0iY29sb3IiLGUuVGV4dGFyZWE9InRleHRfYXJlYSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuU3RhdHVzTGluZT04XT0iU3RhdHVzTGluZSIsZVtlLkFsbD0xNV09IkFsbCJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5Jbml0aWFsQ2FwaXRhbD0iaW5pdGlhbF9jYXBpdGFsIixlLkN1cnJlbmN5PSJjdXJyZW5jeSIsZS5EZWZhdWx0UVRZVmFsdWU9ImRlZmF1bHRfcXR5X3ZhbHVlIixlLkRlZmF1bHRRVFlUeXBlPSJkZWZhdWx0X3F0eV90eXBlIixlLlB5cmFtaWRpbmc9InB5cmFtaWRpbmciLGUuQ29taXNzaW9uVmFsdWU9ImNvbW1pc3Npb25fdmFsdWUiLGUuQ29taXNzaW9uVHlwZT0iY29tbWlzc2lvbl90eXBlIixlLkJhY2t0ZXN0RmlsbExpbWl0c0Fzc3VtdGlvbj0iYmFja3Rlc3RfZmlsbF9saW1pdHNfYXNzdW1wdGlvbiIsZS5TbGlwcGFnZT0ic2xpcHBhZ2UiLGUuQ2FsY09uT3JkZXJGaWxscz0iY2FsY19vbl9vcmRlcl9maWxscyIsZS5DYWxjT25FdmVyeVRpY2s9ImNhbGNfb25fZXZlcnlfdGljayIsZS5DYWxjT25IaXN0b3J5QmFyPSJjYWxjX29uX2V2ZXJ5X2hpc3RvcnlfdGljayIsZS5NYXJnaW5Mb25nPSJtYXJnaW5fbG9uZyIsZS5NYXJnaW5TaG9ydD0ibWFyZ2luX3Nob3J0IixlLkJhckRldGFsaXphdGlvbj0idXNlX2Jhcl9tYWduaWZpZXIiLGUuUHJvY2Vzc09yZGVyc09uQ2xvc2U9InByb2Nlc3Nfb3JkZXJzX29uX2Nsb3NlIixlLkZpbGxPcmRlcnNPblN0YW5kYXJkT0hMQz0iZmlsbF9vcmRlcnNfb25fc3RhbmRhcmRfb2hsYyJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5GaXhlZD0iZml4ZWQiLGUuQ2FzaFBlck9yZGVyPSJjYXNoX3Blcl9vcmRlciIsZS5QZXJjZW50T2ZFcXVpdHk9InBlcmNlbnRfb2ZfZXF1aXR5In0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlBlcmNlbnQ9InBlcmNlbnQiLGUuQ2FzaFBlckNvbnRyYWN0PSJjYXNoX3Blcl9jb250cmFjdCIsZS5DYXNoUGVyT3JkZXI9ImNhc2hfcGVyX29yZGVyIn0oYXx8KGE9e30pKSxmdW5jdGlvbihlKXtlLkZpcnN0QmFyPSJmaXJzdF92aXNpYmxlX2Jhcl90aW1lIixlLkxhc3RCYXI9Imxhc3RfdmlzaWJsZV9iYXJfdGltZSIsZS5SZWFsdGltZT0ic3Vic2NyaWJlUmVhbHRpbWUifShsfHwobD17fSkpO2NvbnN0IG09T2JqZWN0LnZhbHVlcyhsKTt2YXIgZztmdW5jdGlvbiBmKGUpe3JldHVybntmcm9tOk1hdGgucm91bmQoZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lLzFlMyksdG86TWF0aC5yb3VuZChlLmxhc3RfdmlzaWJsZV9iYXJfdGltZS8xZTMpfX1mdW5jdGlvbiBTKGUpe3JldHVybigidGltZSI9PT1lLnR5cGV8fCJwcmljZSI9PT1lLnR5cGUpJiYhMCE9PWUuaXNIaWRkZW59ZnVuY3Rpb24gdihlKXtjb25zdCB0PWUuZmlsdGVyKFMpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm5bXTtjb25zdCBpPW5ldyBNYXAscz1bXTt0LmZvckVhY2goKGU9Pntjb25zdHtncm91cDp0LGlubGluZTpufT1lO2lmKHZvaWQgMD09PW4pcmV0dXJuIHZvaWQgcy5wdXNoKGUpO2NvbnN0IHI9bisodHx8IiIpO2lmKGkuaGFzKHIpKWkuZ2V0KHIpPy5wdXNoKGUpO2Vsc2V7Y29uc3QgdD1bZV07aS5zZXQocix0KSxzLnB1c2godCl9fSkpO2NvbnN0IG49W107Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspe2NvbnN0IHQ9c1tlXQo7QXJyYXkuaXNBcnJheSh0KT8yPT09dC5sZW5ndGgmJnRbMF0udHlwZSE9PXRbMV0udHlwZT9uLnB1c2godCk6bi5wdXNoKC4uLnQpOm4ucHVzaCh0KX1yZXR1cm4gbn1mdW5jdGlvbiB5KGUpe3JldHVybiBPYmplY3QudmFsdWVzKGcpLm1hcCgoZT0+ZSkpLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISF5KGUpfHxtLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKSYmInQiaW4gZSYmImJvb2wiPT09ZS50JiYidiJpbiBlJiYiYm9vbGVhbiI9PXR5cGVvZiBlLnZ9ZnVuY3Rpb24gQyhlKXtyZXR1cm4ic3RyYXRlZ3lfcHJvcHMiPT09ZS5ncm91cElkfWZ1bmN0aW9uIFAoZSl7cmV0dXJuIWUuZ3JvdXBJZCYmIWUuaXNIaWRkZW4mJmUuaWQhPT1sLkZpcnN0QmFyJiZlLmlkIT09bC5MYXN0QmFyfSFmdW5jdGlvbihlKXtlLkZnQ29sb3I9Il9fY2hhcnRfZmdjb2xvciIsZS5CZ0NvbG9yPSJfX2NoYXJ0X2JnY29sb3IifShnfHwoZz17fSkpfSw3OTE0MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3R1ZHlNZXRhSW5mbzooKT0+QyxnZXRTdHVkeUlkV2l0aFZlcnNpb246KCk9PnkscmVwbGF5U3RyYXRlZ3lTdHVkeUlkOigpPT5ifSk7dmFyIHM9aSgzMDQyMjEpLG49aSgyMDM2ODEpLHI9aSgxMzg2MzgpLG89aSg2MDE4NDEpLGE9aSgyMjEwNjEpLGw9aSgxNjQxNTYpLGM9aSgyNTA0NjcpLGg9aSg2MjgwNiksZD1pKDQwMzYpLHU9aSgyMjM4NjkpO2NvbnN0IHA9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5NZXRhSW5mbyIpLF89bmV3IFNldChbIkNvcnJlbGF0aW9uQ29lZmZpY2llbnRAdHYtYmFzaWNzdHVkaWVzIiwiQ29ycmVsYXRpb24gLSBMb2dAdHYtYmFzaWNzdHVkaWVzLTEiXSksbT1uZXcgU2V0KFtdKSxnPW5ldyBTZXQoWyJsaW5lIiwic2hhcGVzIiwiY2hhcnMiLCJhcnJvd3MiLCJhbGVydGNvbmRpdGlvbiJdKSxmPW5ldyBNYXAoW1siQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2d2FwIl0sWyJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwibGluZXRvb2xyZWdyZXNzaW9udHJlbmQiXSxbIlZiUEFuY2hvcmVkQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2cCJdXSksUz1bImZvcmVjYXN0cyIsImVzdGltYXRlcyJdLHY9WyJib29sIiwiY29sb3IiLCJ0aW1lIiwidGV4dF9hcmVhIl07ZnVuY3Rpb24geShlKXtyZXR1cm4gQy5jdXREb2xsYXJIYXNoKGUuaWQpKyItIitlLnZlcnNpb259Y29uc3QgYj0iUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIix3PVsidXNlVmVyc2lvbkZyb21NZXRhSW5mbyIsIl9mb3JjZU92ZXJsYXlQbG90SWRzIl07Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQ9ITEpe3RoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHM9bmV3IFNldCwoMCxvLm1lcmdlKSh0aGlzLHtwYWxldHRlczp7fSxpbnB1dHM6W10scGxvdHM6W10sZ3JhcGhpY3M6e30sZGVmYXVsdHM6e319KSwoMCxvLm1lcmdlKSh0aGlzLGUpO2NvbnN0IGk9ZS5mdWxsSWR8fGUuaWQ7KDAsby5tZXJnZSkodGhpcyxDLnBhcnNlSWRTdHJpbmcoaSkpLHRoaXMuX3VwZGF0ZUlucHV0RGlzcGxheURlZmF1bHRzKCksdGhpcy51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPXQsdGhpcy5wbG90cy5mb3JFYWNoKChlPT57Y29uc3QgdD1lLmlkLGk9dGhpcy5zdHlsZXM/Llt0XTtsZXQgcz0hIWk/LmZvcmNlT3ZlcmxheTshcyYmKDAsYy5pc09obGNQbG90KShlKSYmKHM9dGhpcy5vaGxjUGxvdHM/LltlLnRhcmdldF0/LmZvcmNlT3ZlcmxheT8/ITEscyYmdGhpcy5fZm9yY2VPdmVybGF5UGxvdElkcy5hZGQoZS50YXJnZXQpKSxzJiZ0aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLmFkZCh0KX0pKX1kZWZhdWx0SW5wdXRzKCl7cmV0dXJuIHRoaXMuaW5wdXRzLm1hcCgoZT0+ZS5kZWZ2YWwpKS5maWx0ZXIoby5pc0V4aXN0ZW50KX1zdGF0ZSgpe2NvbnN0IGU9e307Zm9yKGNvbnN0W3QsaV1vZiBPYmplY3QuZW50cmllcyh0aGlzKSl3LmluY2x1ZGVzKHQpfHx0aGlzLmhhc093blByb3BlcnR5KHQpJiYoZVt0XT0oMCxuLmRlZmF1bHQpKGkpLCJpZCI9PT10JiYoZVt0XSs9Ii0iK3RoaXMudmVyc2lvbikpO3JldHVybiBlfWlzUGluZSgpe3JldHVybiB2b2lkIDAhPT10aGlzLnBpbmV9aXNTdGFuZGFyZFBpbmUoKXtyZXR1cm4gdGhpcy5pc1BpbmUoKSYmQy5pc1N0YW5kYXJkUGluZSh0aGlzLmlkKX1pc0ZvcmVjYXN0KCl7cmV0dXJuIFMuaW5jbHVkZXModGhpcy5mdW5kYW1lbnRhbENhdGVnb3J5Py50b0xvd2VyQ2FzZSgpPz8iIil9c3ltYm9sSW5wdXRJZCgpe3JldHVybiB0aGlzLmlucHV0cy5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy5pZHx8bnVsbH1pbnB1dEJ5SWQoZSl7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLmlucHV0cy5maW5kKCh0PT50LmlkPT09ZSkpKX1pc1Bsb3RGb3JjZU92ZXJsYXkoZSl7cmV0dXJuIHRoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHMuaGFzKGUpfWhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl7cmV0dXJuIDAhPT10aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLnNpemV9c3RhdGljIGdldFNvdXJjZUlkc0J5SW5wdXRzKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSl8fCF0KXJldHVybltdO2NvbnN0IGk9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihDLmlzU291cmNlSW5wdXQobikmJigwLHMuZGVmYXVsdCkodFtuLmlkXSkpe2NvbnN0IGU9dFtuLmlkXTtlLmluY2x1ZGVzKCIkIikmJmkucHVzaChlLnNwbGl0KCIkIilbMF0pfXJldHVybiBpfXN0YXRpYyBpc1NvdXJjZUlucHV0KGUpe3JldHVybiBCb29sZWFuKGUuaWQmJigoInNvdXJjZSI9PT1lLmlkfHwic3JjIj09PWUuaWQpJiYoInRleHQiPT09ZS50eXBlfHwic291cmNlIj09PWUudHlwZSl8fCJzb3VyY2UiPT09ZS50eXBlKSl9c3RhdGljIGdldFNvdXJjZUlucHV0SWRzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KGkpJiZ0LnB1c2goaS5pZCk7cmV0dXJuIHR9c3RhdGljIGNhbkJlQ2hpbGQoZSx0KXtpZigoMCxzLmRlZmF1bHQpKGUpKXJldHVybiEwCjtpZighZSlyZXR1cm4hMTtpZihlLmV4dHJhJiYhQy5pc0FsbG93ZWRTb3VyY2VJbnB1dHNDb3VudChlLmV4dHJhLnNvdXJjZUlucHV0c0NvdW50LHQpfHwhMD09PWUuY2FuTm90QmVDaGlsZHx8ITE9PT1lLmNhbkJlQ2hpbGR8fF8uaGFzKGUuaWQpKXJldHVybiExO2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KHQpJiYoaSs9MSk7cmV0dXJuIEMuaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoaSx0KX1zdGF0aWMgaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoZSx0KXtyZXR1cm4gdCYmZT4wfHwxPT09ZX1zdGF0aWMgY2FuSGF2ZUNoaWxkcmVuKGUpe2lmKGUpe2lmKGUuaXNUVlNjcmlwdFN0cmF0ZWd5fHxlLlRWU2NyaXB0U291cmNlQ29kZSYmKDAsdS5pc1N0cmF0ZWd5KShlLlRWU2NyaXB0U291cmNlQ29kZSkpcmV0dXJuITE7aWYoZS5pZCYmIW0uaGFzKGUuaWQpJiZBcnJheS5pc0FycmF5KGUucGxvdHMpKWZvcihjb25zdCB0IG9mIGUucGxvdHMpaWYoZy5oYXModC50eXBlKSlyZXR1cm4hMH1yZXR1cm4hMX1zdGF0aWMgZ2V0Q2hpbGRTb3VyY2VJbnB1dFRpdGxlcyhlLHQsaSl7Y29uc3Qgcz17fTtpZih0LnBsb3RzJiZ0LnBsb3RzLmxlbmd0aCYmZS5vcHRpb25zJiZlLm9wdGlvbnMubGVuZ3RoKWZvcihjb25zdCBuIG9mIGUub3B0aW9ucyl7Y29uc3QgZT1uPytuLnNwbGl0KCIkIilbMV06TmFOLHI9aXNGaW5pdGUoZSkmJnQucGxvdHNbZV07ciYmZy5oYXMoci50eXBlKSYmKHNbbl09dC5zdHlsZXMmJnQuc3R5bGVzW3IuaWRdJiZ0LnN0eWxlc1tyLmlkXT8udGl0bGV8fHIuaWQsaSYmKHNbbl09aSsiOuKAiSIrc1tuXSkpfXJldHVybiBzfXN0YXRpYyBjYW5QbG90QmVTb3VyY2VPZkNoaWxkU3R1ZHkoZSl7cmV0dXJuIGcuaGFzKGUpfXN0YXRpYyBnZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUoZSl7Y29uc3QgdD1mLmdldChlLmlkKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2xldCBpPSJzdHVkeV8iK2UuaWQ7cmV0dXJuIGUucGluZSYmZS5waW5lLnZlcnNpb24mJihpKz0iXyIrZS5waW5lLnZlcnNpb24ucmVwbGFjZSgiLiIsIl8iKSksaX1zdGF0aWMgZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lQnlJZChlKXtjb25zdCB0PWYuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6InN0dWR5XyIrZX1zdGF0aWMgaXNTY3JpcHRTdHJhdGVneShlKXtpZihlLmV4dHJhJiZlLmV4dHJhLmtpbmQpcmV0dXJuIGUuZXh0cmEua2luZD09PWwuUGluZUtpbmQuU3RyYXRlZ3k7aWYoITA9PT1lLmlzVFZTY3JpcHRTdHJhdGVneSlyZXR1cm4hMDtjb25zdCB0PWUuVFZTY3JpcHRTb3VyY2VDb2RlfHxlLnNjcmlwdFNvdXJjZTtyZXR1cm4hIXQmJigwLHUuaXNTdHJhdGVneSkodCl9c3RhdGljIGlzUmVwbGF5U3RyYXRlZ3koZSl7cmV0dXJuIGUuaWQ9PT1ifXN0YXRpYyBwYXJzZUlkU3RyaW5nKGUpe3JldHVybigwLGQucGFyc2VJZFN0cmluZykoZSl9c3RhdGljIHZlcnNpb25PZihlKXtjb25zdCB0PSJfbWV0YWluZm9WZXJzaW9uImluIGUmJigwLG8uaXNOdW1iZXIpKGUuX21ldGFpbmZvVmVyc2lvbik/ZS5fbWV0YWluZm9WZXJzaW9uOjA7cmV0dXJuIHQ8MCYmcC5sb2dFcnJvcigiTWV0YWluZm8gZm9ybWF0IHZlcnNpb24gY2Fubm90IGJlIG5lZ2F0aXZlOiAiK3QpLHR9c3RhdGljIGdldFBhY2thZ2VOYW1lKGUpe2NvbnN0IHQ9L15bXkBdK0AoW14tXSstW14tXSspLy5leGVjKGV8fCIiKSxbLGk9InR2LWJhc2ljc3R1ZGllcyJdPXR8fFtdO3JldHVybiBpfXN0YXRpYyBjdXRCZWZvcmVEb2xsYXIoZSl7Y29uc3QgdD1lLmluZGV4T2YoIiQiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpfXN0YXRpYyBjdXREb2xsYXJIYXNoKGUpe2NvbnN0IHQ9ZS5pbmRleE9mKCIkIik7aWYoLTE9PT10KXJldHVybiBlO2NvbnN0IGk9ZS5pbmRleE9mKCJAIikscz1pPj0wP2Uuc3Vic3RyaW5nKGkpOiIiO3JldHVybiBlLnN1YnN0cmluZygwLHQpK3N9c3RhdGljIGhhc1B1YlN1ZmZpeChlKXtyZXR1cm4vXlBVQjsuKyQvLnRlc3QoZSl9c3RhdGljIGhhc1N0ZFN1ZmZpeChlKXtyZXR1cm4vXlNURDsuKyQvLnRlc3QoZSl9c3RhdGljIGlzU3RhbmRhcmRQaW5lKGUpe3JldHVybi9eKFN0cmF0ZWd5KT9TY3JpcHRcJFNURDsuKkB0di1zY3JpcHRpbmckLy50ZXN0KGUpfXN0YXRpYyBnZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oZSx0KXtjb25zdCBpPUMuY3V0RG9sbGFySGFzaChlLmlkKTtsZXQgcz1pO3JldHVybiBpLmluZGV4T2YoIlBvcnRmb2xpb0B0di1zY3JpcHRpbmciKT49MD9zKz10PyIhIjoiIjoiUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIj09PXM/cys9Ii01ODEhIjppLmluZGV4T2YoIkB0di1zY3JpcHRpbmciKT49MD9zKz0iLTEwMSEiOmkuZW5kc1dpdGgoIkNQQHR2LWJhc2ljc3R1ZGllcyIpP3MrPSItIitNYXRoLm1pbihlLnZlcnNpb24sMjA3KTppLmVuZHNXaXRoKCJDUEB0di1jaGFydHBhdHRlcm5zIik/cys9Ii0iK01hdGgubWluKGUudmVyc2lvbiw5KTppLmVuZHNXaXRoKCJAdHYtdm9sdW1lYnlwcmljZSIpfHx0P3MrPSItIitlLnZlcnNpb24rIiEiOnMrPSItIitlLnZlcnNpb24sc31zdGF0aWMgc2F2ZWRTdHVkaWVzT3ZlcnJpZGVzKCl7cmV0dXJuIHRoaXMuX3NhdmVkU3R1ZGllc092ZXJyaWRlc31zdGF0aWMgbWVyZ2VEZWZhdWx0c092ZXJyaWRlcyhlKXsoMCxvLm1lcmdlKSh0aGlzLl9zYXZlZFN0dWRpZXNPdmVycmlkZXMsZSl9c3RhdGljIGZpbmRTdHVkeU1ldGFJbmZvQnlEZXNjcmlwdGlvbihlLHQpe2lmKGUpe2NvbnN0IGk9dC50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCB0IG9mIGUpaWYodC5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpPT09aSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgc3R1ZHkgaWQ6Iit0KX10aHJvdyBuZXcgRXJyb3IoIlRoZXJlIGlzIG5vIHN0dWRpZXMgbWV0YWluZm8iKX1fdXBkYXRlSW5wdXREaXNwbGF5RGVmYXVsdHMoKXt0aGlzLmlucHV0cy5maWx0ZXIoKGU9PnZvaWQgMD09PWUuZGlzcGxheSkpLmZvckVhY2goKGU9PnsKdi5pbmNsdWRlcyhlLnR5cGUpP2UuZGlzcGxheT1oLklucHV0RGlzcGxheUZsYWdzLk5vbmU6ZS5kaXNwbGF5PWguSW5wdXREaXNwbGF5RmxhZ3MuQWxsfSkpfX1DLl9zYXZlZFN0dWRpZXNPdmVycmlkZXM9e319LDI1MDQ2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtJbnRlcm5hbFN0dWR5UGxvdFR5cGU6KCk9PnIsTGluZVN0dWR5UGxvdFN0eWxlOigpPT5zLE9obGNTdHVkeVBsb3RTdHlsZTooKT0+YSxQbG90U3ltYm9sU2l6ZTooKT0+bC5QbG90U3ltYm9sU2l6ZSxTdHVkeVBsb3REaXNwbGF5VGFyZ2V0OigpPT5vLFN0dWR5UGxvdFR5cGU6KCk9Pm4sZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrczooKT0+Vyxkb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRMaW5lU3R5bGU6KCk9Pk8saXNBbGVydENvbmRpdGlvblBsb3Q6KCk9PmssaXNBcnJvd3NQbG90OigpPT51LGlzQmFyQ29sb3JlclBsb3Q6KCk9PkMsaXNCZ0NvbG9yZXJQbG90OigpPT5QLGlzQ2FuZGxlQm9yZGVyQ29sb3JlclBsb3Q6KCk9PkksaXNDYW5kbGVXaWNrQ29sb3JlclBsb3Q6KCk9Pk0saXNDaGFyc1Bsb3Q6KCk9PmQsaXNDb2xvcmVyUGxvdDooKT0+dyxpc0RhdGFPZmZzZXRQbG90OigpPT5fLGlzRGF0YVBsb3Q6KCk9PnAsaXNEb3duQ29sb3JlclBsb3Q6KCk9PkEsaXNMaW5lUGxvdDooKT0+Yyxpc05vblZpc3VhbFBsb3Q6KCk9Pk4saXNPaGxjQ2xvc2VQbG90OigpPT5TLGlzT2hsY0NvbG9yZXJQbG90OigpPT54LGlzT2hsY0hpZ2hQbG90OigpPT5nLGlzT2hsY0xvd1Bsb3Q6KCk9PmYsaXNPaGxjT3BlblBsb3Q6KCk9Pm0saXNPaGxjUGxvdDooKT0+dixpc09obGNQbG90U3R5bGVCYXJzOigpPT5SLGlzT2hsY1Bsb3RTdHlsZUNhbmRsZXM6KCk9PlYsaXNQYWxldHRlQ29sb3JlclBsb3Q6KCk9PnksaXNQbG90U3VwcG9ydERpc3BsYXk6KCk9PkQsaXNQbG90VGl0bGVEZWZpbmVkOigpPT5FLGlzUGxvdFdpdGhUZWNobmljYWxWYWx1ZXM6KCk9PkIsaXNSZ2JhQ29sb3JlclBsb3Q6KCk9PmIsaXNTaGFwZXNQbG90OigpPT5oLGlzVGV4dENvbG9yZXJQbG90OigpPT5ULGlzVXBDb2xvcmVyUGxvdDooKT0+TH0pO3ZhciBzLG4scixvLGEsbD1pKDU4OTUxMSk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4ibGluZSI9PT1lLnR5cGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4ic2hhcGVzIj09PWUudHlwZX1mdW5jdGlvbiBkKGUpe3JldHVybiJjaGFycyI9PT1lLnR5cGV9ZnVuY3Rpb24gdShlKXtyZXR1cm4iYXJyb3dzIj09PWUudHlwZX1mdW5jdGlvbiBwKGUpe3JldHVybiJkYXRhIj09PWUudHlwZX1mdW5jdGlvbiBfKGUpe3JldHVybiJkYXRhb2Zmc2V0Ij09PWUudHlwZX1mdW5jdGlvbiBtKGUpe3JldHVybiJvaGxjX29wZW4iPT09ZS50eXBlfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIm9obGNfaGlnaCI9PT1lLnR5cGV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ib2hsY19sb3ciPT09ZS50eXBlfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIm9obGNfY2xvc2UiPT09ZS50eXBlfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0oZSl8fGcoZSl8fGYoZSl8fFMoZSl9ZnVuY3Rpb24geShlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiJwYWxldHRlImluIGV9ZnVuY3Rpb24gYihlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiEoInBhbGV0dGUiaW4gZSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24gQyhlKXtyZXR1cm4iYmFyX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFAoZSl7cmV0dXJuImJnX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFQoZSl7cmV0dXJuInRleHRfY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2hsY19jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBNKGUpe3JldHVybiJ3aWNrX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIEkoZSl7cmV0dXJuImJvcmRlcl9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBMKGUpe3JldHVybiJ1cF9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBBKGUpe3JldHVybiJkb3duX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIGsoZSl7cmV0dXJuIGUudHlwZT09PXIuQWxlcnRDb25kaXRpb259ZnVuY3Rpb24gRChlKXtyZXR1cm4gYyhlKXx8aChlKXx8ZChlKXx8dShlKX1mdW5jdGlvbiBFKGUpe3JldHVybiJQbG90IiE9PWV9ZnVuY3Rpb24gUihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0JhcnN9ZnVuY3Rpb24gVihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0NhbmRsZXN9ZnVuY3Rpb24gQihlKXtyZXR1cm4gdyhlKXx8QyhlKXx8UChlKXx8cChlKXx8XyhlKXx8eChlKXx8ayhlKXx8TChlKXx8QShlKXx8SShlKXx8TShlKXx8VChlKX1mdW5jdGlvbiBOKGUpe3JldHVybiB3KGUpfHxUKGUpfHxDKGUpfHxwKGUpfHxfKGUpfHx4KGUpfHxNKGUpfHxJKGUpfHxMKGUpfHxBKGUpfHxrKGUpfWZ1bmN0aW9uIE8oZSl7cmV0dXJuW3MuTGluZSxzLkxpbmVXaXRoQnJlYWtzLHMuU3RlcExpbmUscy5TdGVwTGluZVdpdGhCcmVha3Mscy5TdGVwTGluZVdpdGhEaWFtb25kcyxzLkFyZWEscy5BcmVhV2l0aEJyZWFrc10uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gVyhlKXtyZXR1cm5bcy5MaW5lLHMuQXJlYSxzLlN0ZXBMaW5lLHMuU3RlcExpbmVXaXRoRGlhbW9uZHNdLmluY2x1ZGVzKGUpfSFmdW5jdGlvbihlKXtlW2UuTGluZT0wXT0iTGluZSIsZVtlLkhpc3RvZ3JhbT0xXT0iSGlzdG9ncmFtIixlW2UuQ3Jvc3M9M109IkNyb3NzIixlW2UuQXJlYT00XT0iQXJlYSIsZVtlLkNvbHVtbnM9NV09IkNvbHVtbnMiLGVbZS5DaXJjbGVzPTZdPSJDaXJjbGVzIixlW2UuTGluZVdpdGhCcmVha3M9N109IkxpbmVXaXRoQnJlYWtzIixlW2UuQXJlYVdpdGhCcmVha3M9OF09IkFyZWFXaXRoQnJlYWtzIixlW2UuU3RlcExpbmU9OV09IlN0ZXBMaW5lIixlW2UuU3RlcExpbmVXaXRoRGlhbW9uZHM9MTBdPSJTdGVwTGluZVdpdGhEaWFtb25kcyIsZVtlLlN0ZXBMaW5lV2l0aEJyZWFrcz0xMV09IlN0ZXBMaW5lV2l0aEJyZWFrcyJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5MaW5lPSJsaW5lIixlLkNvbG9yZXI9ImNvbG9yZXIiLAplLkJhckNvbG9yZXI9ImJhcl9jb2xvcmVyIixlLkJnQ29sb3Jlcj0iYmdfY29sb3JlciIsZS5UZXh0Q29sb3Jlcj0idGV4dF9jb2xvcmVyIixlLk9obGNDb2xvcmVyPSJvaGxjX2NvbG9yZXIiLGUuQ2FuZGxlV2lja0NvbG9yZXI9IndpY2tfY29sb3JlciIsZS5DYW5kbGVCb3JkZXJDb2xvcmVyPSJib3JkZXJfY29sb3JlciIsZS5VcENvbG9yZXI9InVwX2NvbG9yZXIiLGUuRG93bkNvbG9yZXI9ImRvd25fY29sb3JlciIsZS5TaGFwZXM9InNoYXBlcyIsZS5DaGFycz0iY2hhcnMiLGUuQXJyb3dzPSJhcnJvd3MiLGUuRGF0YT0iZGF0YSIsZS5EYXRhT2Zmc2V0PSJkYXRhb2Zmc2V0IixlLk9obGNPcGVuPSJvaGxjX29wZW4iLGUuT2hsY0hpZ2g9Im9obGNfaGlnaCIsZS5PaGxjTG93PSJvaGxjX2xvdyIsZS5PaGxjQ2xvc2U9Im9obGNfY2xvc2UifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuQWxlcnRDb25kaXRpb249ImFsZXJ0Y29uZGl0aW9uIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlBhbmU9MV09IlBhbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuUHJpY2VTY2FsZT00XT0iUHJpY2VTY2FsZSIsZVtlLlN0YXR1c0xpbmU9OF09IlN0YXR1c0xpbmUiLGVbZS5QaW5lU2NyZWVuZXI9MTZdPSJQaW5lU2NyZWVuZXIiLGVbZS5BbGw9NDI5NDk2NzI5NV09IkFsbCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5PaGxjQmFycz0ib2hsY19iYXJzIixlLk9obGNDYW5kbGVzPSJvaGxjX2NhbmRsZXMifShhfHwoYT17fSkpfSwyMDI2MzcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3R1ZHlBdmFpbGFibGVQcmljZVNvdXJjZXM6KCk9PnN9KTtjb25zdCBzPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCIsImhsY2M0Il19LDE0MjM4OShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtTdHVkeVN0YXR1c1R5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuVW5kZWZpbmVkPTBdPSJVbmRlZmluZWQiLGVbZS5Mb2FkaW5nPTFdPSJMb2FkaW5nIixlW2UuQ29tcGxldGVkPTJdPSJDb21wbGV0ZWQiLGVbZS5FcnJvcj0zXT0iRXJyb3IifShzfHwocz17fSkpfSwxNzQzNDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuLHI7aS5kKHQse1ZvbHVtZUZvb3RwcmludFN1bW1hcnlNb2RlOigpPT5zLFZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXM6KCk9Pm59KSxmdW5jdGlvbihlKXtlW2UuSW5mb0JveD0wXT0iSW5mb0JveCIsZVtlLlRhYmxlPTFdPSJUYWJsZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5CdXlBbmRTZWxsPSJCdXkgYW5kIHNlbGwiLGUuRGVsdGE9IkRlbHRhIixlLlRvdGFsPSJUb3RhbCIsZS5MYWRkZXI9IkxhZGRlciJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkNsdXN0ZXI9MF09IkNsdXN0ZXIiLGVbZS5Qcm9maWxlPTFdPSJQcm9maWxlIn0ocnx8KHI9e30pKX0sMzQ0Nzg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtoaWRlOigpPT5iLHNob3c6KCk9Pl8sc2hvd09uRWxlbWVudDooKT0+cCx0ZW1wRm9yY2VIaWRlOigpPT55LHRvb2x0aXBDbGlja0hhbmRsZXI6KCk9PmYsdXBkYXRlVG9vbHRpcFRleHQ6KCk9Pm19KTt2YXIgcz1pKDM2MzI2OSksbj1pKDEzODYzOCkscj1pKDcyNzA5KSxvPWkoNjU4OTk1KSxhPWkoMTY3ODk2KSxsPWkoNDkwMzc4KTtsZXQgYz0hMSxoPW51bGwsZD1udWxsO3MubW9iaWxldG91Y2h8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGcsITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRhcmdldDtpZighKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jbG9zZXN0KCdbZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXM9InRydWUiXScpJiZ0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikpKXJldHVybjtnKGUsITApfSkse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1mb2N1cyIsKGZ1bmN0aW9uKGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmcoZSwhMCl9KSx7Y2FwdHVyZTohMH0pKTtjb25zdCB1PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKGgmJmgub3B0aW9ucy50YXJnZXQpe2xldCBlO2U9ImlzQ29ubmVjdGVkImluIGgub3B0aW9ucy50YXJnZXQ/aC5vcHRpb25zLnRhcmdldC5pc0Nvbm5lY3RlZDpkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGgub3B0aW9ucy50YXJnZXQpLGV8fGIoKX19KSkscD0oZSx0PXt9KT0+e2NvbnN0e2NvbnRlbnQ6aSwuLi5zfT1QKHQpLG49bC5nZXREYXRhRnJvbVRhcmdldChlKSxyPU9iamVjdC5hc3NpZ24obixzKTtyZXR1cm4ibm9uZSIhPT1pLnR5cGUmJihyLmNvbnRlbnQ9aSksISgibm9uZSI9PT1yLmNvbnRlbnQudHlwZSYmIXIuaG90a2V5KSYmKHIudGFyZ2V0PWUsXyhyKSwhMCl9LF89ZT0+e2NvbnN0IHQ9UChlKSxpPWwuZ2V0VG9vbHRpcCh0KTtpZihoPXtvcHRpb25zOnQsZWxlbWVudDppfSwoMCxhLnNldFRvb2x0aXApKGkpLCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwhYylyZXR1cm4gbC5oaWRlVG9vbHRpcChpKSx2b2lkKDAsby5zY2hlZHVsZVJlbmRlcikoKCgpPT53KGkpKSxmdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGUudG9vbHRpcERlbGF5fHxpc05hTihlLnRvb2x0aXBEZWxheSk/NTAwOmUudG9vbHRpcERlbGF5fSh0KSk7Y29uc3R7dG9vbHRpcERlYm91bmNlOnN9PWU7Im51bWJlciIhPXR5cGVvZiBzfHxpc05hTihzKT93KGkpOigwLG8uc2NoZWR1bGVSZW5kZXIpKCgoKT0+dyhpKSkscyl9LG09ZT0+bC51cGRhdGVUb29sdGlwVGV4dEZyb21UYXJnZXQoZSk7ZnVuY3Rpb24gZyhlLHQpe2lmKCJzb3VyY2VDYXBhYmlsaXRpZXMiaW4gZSYmZS5zb3VyY2VDYXBhYmlsaXRpZXM/LmZpcmVzVG91Y2hFdmVudHMpcmV0dXJuO2NvbnN0IGk9ZnVuY3Rpb24oZSx0LGkpe2NvbnN0IHM9W107Zm9yKDtlJiZlIT09dDspZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKGkpJiZzLnB1c2goZSksCmU9ZS5wYXJlbnRFbGVtZW50fHxDKGUucGFyZW50Tm9kZSk7cmV0dXJuIHN9KGUudGFyZ2V0LGUuY3VycmVudFRhcmdldCwiYXBwbHktY29tbW9uLXRvb2x0aXAiKTtmb3IoY29uc3QgcyBvZiBpKXtpZihlIGluc3RhbmNlb2YgTW91c2VFdmVudClpZigiYnV0dG9ucyJpbiBlKXtpZigxJmUuYnV0dG9ucyljb250aW51ZX1lbHNlIGlmKDE9PT1lLndoaWNoKWNvbnRpbnVlO2NvbnN0IGk9KCk9PnAocyk7aWYoaSgpKXtjb25zdCBlPWU9Pm4obnVsbCwhMCksbj0ocixvPSExKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tbW9uLXRvb2x0aXAtdXBkYXRlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLG4pLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixuKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUse2NhcHR1cmU6ITB9KSx0JiYocy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixuKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLG4pKSxkJiYoZC5kZXN0cm95KCksZD1udWxsKSxiKG8pfTtzLmFkZEV2ZW50TGlzdGVuZXIoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIsaSkscy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixuKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLHtjYXB0dXJlOiEwfSksdCYmKHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbikscy5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKSksbnVsbD09PWQmJihkPSgwLHIuY3JlYXRlR3JvdXApKHtkZXNjOiJUb29sdGlwIn0pLGQuYWRkKHtkZXNjOiJIaWRlIixob3RrZXk6MjcsaGFuZGxlcjpufSkpO2JyZWFrfX19ZnVuY3Rpb24gZihlKXtzLm1vYmlsZXRvdWNoJiYocChlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixTKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixTKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLFMpLHdpbmRvdy5zY3JlZW4ub3JpZW50YXRpb24/LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsUykpfWZ1bmN0aW9uIFMoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFMpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLFMpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsUyksd2luZG93LnNjcmVlbi5vcmllbnRhdGlvbj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixTKSxiKCl9ZnVuY3Rpb24gdigpeygwLGEuZW1wdHkpKCksYz0hMSxoPW51bGx9Y29uc3QgeT0oKT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaHx8IWMpcmV0dXJuO2NvbnN0e2VsZW1lbnQ6ZX09aDtsLmhpZGVUb29sdGlwKGUpLHYoKX0sYj0oZSx0KT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaClyZXR1cm47aWYoIWUmJiFjKXJldHVybjtjb25zdHtlbGVtZW50Omksb3B0aW9uczpzfT1oLHI9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpLGwuaGlkZVRvb2x0aXAoaSksZT92KCk6KDAsby5zY2hlZHVsZVJlbW92ZSkoKCgpPT57digpfSksMjUwKSx0Py4oKX07cy50b29sdGlwSGlkZURlbGF5PygwLG8uc2NoZWR1bGVIaWRlKSgoKCk9PntpLnF1ZXJ5U2VsZWN0b3IoIjpob3ZlciIpP2kuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscik6cigpfSkscy50b29sdGlwSGlkZURlbGF5KTpyKCl9O2Z1bmN0aW9uIHcoZSl7Y29uc3R7b3B0aW9uczp0fT0oMCxuLmVuc3VyZU5vdE51bGwpKGgpO2lmKGwuc2V0U3R5bGUoZSx0KSxsLnNob3dUb29sdGlwKGUpLCgwLG4uZW5zdXJlTm90TnVsbCkodSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxjPSEwLHQuZm9yY2VIaWRlT25Nb3ZlKXtjb25zdCBlPSgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpLGIoKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpfX1mdW5jdGlvbiBDKGUpe3JldHVybiBlJiYoZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFP2U6bnVsbCl9ZnVuY3Rpb24gUChlKXtpZihmdW5jdGlvbihlKXtyZXR1cm4iY29udGVudCJpbiBlfShlKSlyZXR1cm4gZTtjb25zdHtpbm5lcjp0LGh0bWw6aSx0ZXh0OnMsLi4ubn09ZTtsZXQgcj17dHlwZToibm9uZSJ9O3JldHVybiB0JiYocj17dHlwZToiZWxlbWVudCIsZGF0YTp0fSkscyYmKHI9e3R5cGU6aT8iaHRtbCI6InRleHQiLGRhdGE6c30pLHtjb250ZW50OnIsLi4ubn19fSw0MDE1MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q0hBUlRfV0FSTklOSUdfR1JPVVBfSUQ6KCk9Pm8sc2hvd0NoYXJ0V2FybmluZ05vdGlmaWNhdGlvbjooKT0+YX0pO3ZhciBzPWkoNjU3NTczKSxuPWkoNjUyMTE0KSxyPWkoNjEzMDQzKTtjb25zdCBvPSJjaGFydF93YXJuaW5nIjtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChpPT57bi50b2FzdE1hbmFnZXIuYWRkVG9hc3QoZSxvLHQpLCgwLHIuc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0KShlLDFlNCk7Y29uc3QgYT0oMCxzLnN1YnNjcmliZU9uVG9hc3QpKGUsKGU9PnsiUmVtb3ZlIiE9PWUudHlwZSYmZS5kZXRhaWxzIT09ci5DTE9TRV9EVUVfVE9fSU5BQ1RJVklUWV9FVkVOVF9ERVRBSUxTfHwoaSgpLGEoKSl9KSl9KSl9fSw2NTc1NzMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3Vic2NyaWJlT25Ub2FzdDooKT0+c30pCjtjb25zdCBzPWkoNjUyMTE0KS50b2FzdE1hbmFnZXIuc3Vic2NyaWJlT25Ub2FzdH0sNjEzMDQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NMT1NFX0RVRV9UT19JTkFDVElWSVRZX0VWRU5UX0RFVEFJTFM6KCk9PmEsc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0OigpPT5sfSk7dmFyIHM9aSg2NTIxMTQpLG49aSgyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW5ldyBTZXQscz1uZXcgbi5XYXRjaGVkVmFsdWUoImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUpLHI9dD8udGltZXJzfHx7c2V0VGltZW91dCxjbGVhclRpbWVvdXR9LG89ci5zZXRUaW1lb3V0LGE9ci5jbGVhclRpbWVvdXQ7bGV0IGw7Y29uc3QgYz10Py5pZ25vcmVWaXNpYmlsaXR5Q2hhbmdlO3Muc3Vic2NyaWJlKChlPT57aS5mb3JFYWNoKCh0PT50KCEhZSkpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KTtjb25zdCBoPSgpPT57cy5zZXRWYWx1ZSghMCksYShsKSxsPW8oKCgpPT57cy5zZXRWYWx1ZSghMSl9KSxlKX0sZD0oKT0+eyJoaWRkZW4iPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3Muc2V0VmFsdWUoITEpOmgoKX07cmV0dXJue3N1YnNjcmliZTp0PT57aS5zaXplPjB8fChhKGwpLGw9bygoKCk9PntzLnNldFZhbHVlKCExKX0pLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGgse3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsaCx7cGFzc2l2ZTohMH0pLGN8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQse3Bhc3NpdmU6ITB9KSksaS5hZGQodCl9LHVuc3Vic2NyaWJlOmU9PntpLmRlbGV0ZShlKSwwPT09aS5zaXplJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLGgpLGN8fGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQpLGEobCkpfSx2YWx1ZTooKT0+ISFzLnZhbHVlKCl9fXZhciBvPWkoMTIxMzEpO2NvbnN0IGE9InVzZXJBY3Rpdml0eVRpbWVvdXQiLGw9ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgbj1yKGkpO3JldHVybiBmdW5jdGlvbihpLHI9MmU0KXtjb25zdHtzdGFydDphLHJlc2V0Omx9PSgwLG8uY3JlYXRlVGltZXIpKCgoKT0+e2UucmVtb3ZlVG9hc3QoaSxzKX0pLHIpLGM9KCk9Pntjb25zdCBlPW4udmFsdWUoKSxpPXQudmFsdWU7ZSYmIWk/YSgpOmwoKX07bi5zdWJzY3JpYmUoYyksYygpO2NvbnN0IGg9dC5zdWJzY3JpYmUoYyksZD1lLnN1YnNjcmliZU9uVG9hc3QoaSwoZT0+eyJSZW1vdmVBbmltYXRpb25TdGFydCI9PT1lLnR5cGUmJihsKCksZCgpLG4udW5zdWJzY3JpYmUoYyksaCgpKX0pKX19KHMudG9hc3RNYW5hZ2VyLHMudG9hc3RVc2VySW50ZXJhY3Rpb25TdGF0dXMsMTVlMyxhKX0sNjUyMTE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RvYXN0TWFuYWdlcjooKT0+cix0b2FzdFVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+b30pO3ZhciBzPWkoMTE1NjQ0KTt2YXIgbj1pKDcxMDExMik7Y29uc3Qgcj1mdW5jdGlvbigpe2NvbnN0IGU9bmV3IFNldCx0PW5ldyBNYXAsaT17Z3JvdXBzOm5ldyBNYXB9O2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1pLmdyb3Vwcy5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBzPXtpZDplLGxpc3Q6bmV3IE1hcCxhZGRlZDpuZXcgU2V0LHJlbW92ZWQ6bmV3IFNldH07cmV0dXJuIGkuZ3JvdXBzLnNldChlLHMpLHN9ZnVuY3Rpb24gcihlLHMpe3QuZGVsZXRlKGUpLHMuYWRkZWQuZGVsZXRlKGUpLHMucmVtb3ZlZC5kZWxldGUoZSkscy5saXN0LmRlbGV0ZShlKSwwPT09cy5saXN0LnNpemU/aS5ncm91cHMuZGVsZXRlKHMuaWQpOmkuZ3JvdXBzLnNldChzLmlkLHsuLi5zfSksbyh7dHlwZToiUmVtb3ZlIix0b2FzdElkOmUsZ3JvdXBJZDpzLmlkfSl9ZnVuY3Rpb24gbyh0KXtpLmdyb3Vwcz1uZXcgTWFwKGkuZ3JvdXBzKSxlLmZvckVhY2goKGU9PntlKHQpfSkpO2NvbnN0IHM9YS5nZXQodC50b2FzdElkKTtzJiZzLmZvckVhY2goKGU9PntlKHQpfSkpfWNvbnN0IGE9bmV3IE1hcDtyZXR1cm57YWRkVG9hc3Q6ZnVuY3Rpb24oZSxzLHIsYSxsKXtpZih0LmdldChlKSlyZXR1cm47Y29uc3QgYz1uKHMpO2MuYWRkZWQuYWRkKGUpO2NvbnN0IGg9e2lkOmUsLi4ucixtYW51YWxBbmltYXRpb25TdGFydDpsfTtjLmxpc3Quc2V0KGUsaCksdC5zZXQoZSxzKSxpLmdyb3Vwcy5zZXQocyx7Li4uY30pLG8oe3R5cGU6IkFkZCIsdG9hc3RJZDplLGdyb3VwSWQ6cyxkYXRhOnIsZGV0YWlsczphfSl9LHJlbW92ZVRvYXN0OmZ1bmN0aW9uKGUsbil7Y29uc3QgYT10LmdldChlKTtpZighYSlyZXR1cm47Y29uc3QgbD1pLmdyb3Vwcy5nZXQoYSk7bCYmKGwucmVtb3ZlZC5oYXMoZSl8fChsLnJlbW92ZWQuYWRkKGUpLGkuZ3JvdXBzLnNldChhLHsuLi5sfSksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOmEsZGV0YWlsczpufSksc2V0VGltZW91dCgoKCk9PntyKGUsbCl9KSxzLlRPQVNUX0FOSU1BVElPTl9EVVJBVElPTikpKX0scmVtb3ZlR3JvdXA6ZnVuY3Rpb24oZSx0KXtjb25zdCBuPWkuZ3JvdXBzLmdldChlKTtpZighbilyZXR1cm47Y29uc3QgYT1bXTtuLmxpc3QuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5pZDtuLnJlbW92ZWQuaGFzKHMpfHwoYS5wdXNoKHMpLG4ucmVtb3ZlZC5hZGQocyksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLAp0b2FzdElkOnMsZ3JvdXBJZDplLGRldGFpbHM6dH0pKX0pKSxpLmdyb3Vwcy5zZXQoZSx7Li4ubn0pLHNldFRpbWVvdXQoKCgpPT57YS5mb3JFYWNoKChlPT57cihlLG4pfSkpfSkscy5UT0FTVF9BTklNQVRJT05fRFVSQVRJT04pfSxzdGFydEFkZEFuaW1hdGlvbjpmdW5jdGlvbihlKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCFzKXJldHVybjtjb25zdCBuPWkuZ3JvdXBzLmdldChzKTtuJiZuLmFkZGVkLmRlbGV0ZShlKSYmKGkuZ3JvdXBzLnNldChzLHsuLi5ufSksbyh7dHlwZToiQWRkQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOnN9KSl9LHN1YnNjcmliZU9uVG9hc3Q6ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9YS5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPW5ldyBTZXQ7cmV0dXJuIGEuc2V0KGUsaSksaX0oZSk7cmV0dXJuIGkuYWRkKHQpLCgpPT57aS5kZWxldGUodCksMD09PWkuc2l6ZSYmYS5kZWxldGUoZSl9fSxzdGF0ZTppLHN1YnNjcmliZTpmdW5jdGlvbih0KXtyZXR1cm4gZS5hZGQodCksKCk9PntlLmRlbGV0ZSh0KX19fX0oKSxvPSgwLG4uY3JlYXRlVXNlckludGVyYWN0aW9uU3RhdHVzKSgpfSw3NjAwOTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tUaW1pbmc6KCk9Pmh9KTt2YXIgcz1pKDE3OTc3MSksbj1pKDY4MDg0Mikscj1pKDYzMTYzNCksbz1pKDMxODk3NCksYT1pKDQ0OTUwOCk7bGV0IGw9ITE7ZnVuY3Rpb24gYygpe2lmKGx8fCgwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKSlyZXR1cm47KDAsci51cGRhdGVJbml0RGF0YSkoKTtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCk7aWYoIWUuZ2FJZClyZXR1cm4gdm9pZCh3aW5kb3cuZ3RhZz13aW5kb3cuZ3RhZ3x8KCgpPT57fSkpO2w9ITAsKDAsYS5lbnN1cmVHdGFnQm9vdHN0cmFwKShlLmdhSWQpO2NvbnN0IHQ9e2Fub255bWl6ZV9pcDohMH07d2luZG93LlRWRCYmKHQuYXBwX25hbWU9IlRWRCIsdC5hcHBfdmVyc2lvbj0oMCxvLmRlc2t0b3BBcHBWZXJzaW9uKSgpKSxlLmdhVmFycyYmd2luZG93Lmd0YWcoInNldCIsZS5nYVZhcnMpLHdpbmRvdy5ndGFnKCJjb25zZW50IiwiZGVmYXVsdCIse2FuYWx5dGljc19zdG9yYWdlOigwLG4uZ2V0Q29va2llU2V0dGluZykobi5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpPyJncmFudGVkIjoiZGVuaWVkIn0pLHdpbmRvdy5ndGFnKCJjb25maWciLGUuZ2FJZCx0KSxzLnN1YnNjcmliZShuLmNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQsKChlLHQpPT57ZT09PW4uQ29va2llU2V0dGluZ3MuQW5hbHl0aWNzJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FuYWx5dGljc19zdG9yYWdlOnQ/ImdyYW50ZWQiOiJkZW5pZWQifSl9KSxudWxsKX1mdW5jdGlvbiBoKGUsdCxpLHMpeygwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKXx8KGMoKSxsJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLCJ0aW1pbmdfY29tcGxldGUiLHtuYW1lOnQsdmFsdWU6aSxldmVudF9jYXRlZ29yeTplLGV2ZW50X2xhYmVsOnN9KSl9fSw4NzMzODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZGVza3RvcFZlcnNpb25Jc0xlc3M6KCk9Pm8sbGVzc1RoYW46KCk9PnJ9KTt2YXIgcz1pKDMxODk3NCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUubWF0Y2goL14oXGQrKS4oXGQrKS4oXGQrKS8pO2lmKCF0KXJldHVybiBudWxsO2NvbnN0WyxpLHMsbl09dDtyZXR1cm5bcGFyc2VJbnQoaSkscGFyc2VJbnQocykscGFyc2VJbnQobildfWZ1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW4oZSkscz1uKHQpO2lmKCFpfHwhcylyZXR1cm4hMTtjb25zdFtyLG8sYV09aSxbbCxjLGhdPXM7cmV0dXJuIHIhPT1sP3I8bDpvIT09Yz9vPGM6YSE9PWgmJmE8aH1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9KDAscy5kZXNrdG9wQXBwVmVyc2lvbikoKTtyZXR1cm4hIXQmJnIodCxlKX19LDQxNTIzNyhlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzLG47aS5yKHQpLGkuZCh0LHtNb250aHM6KCk9Pm4sV2Vla0RheXM6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuU1VOREFZPTFdPSJTVU5EQVkiLGVbZS5NT05EQVk9Ml09Ik1PTkRBWSIsZVtlLlRVRVNEQVk9M109IlRVRVNEQVkiLGVbZS5XRURORVNEQVk9NF09IldFRE5FU0RBWSIsZVtlLlRIVVJTREFZPTVdPSJUSFVSU0RBWSIsZVtlLkZSSURBWT02XT0iRlJJREFZIixlW2UuU0FUVVJEQVk9N109IlNBVFVSREFZIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuSkFOVUFSWT0wXT0iSkFOVUFSWSIsZVtlLkZFQlJVQVJZPTFdPSJGRUJSVUFSWSIsZVtlLk1BUkNIPTJdPSJNQVJDSCIsZVtlLkFQUklMPTNdPSJBUFJJTCIsZVtlLk1BWT00XT0iTUFZIixlW2UuSlVORT01XT0iSlVORSIsZVtlLkpVTFk9Nl09IkpVTFkiLGVbZS5BVUdVU1Q9N109IkFVR1VTVCIsZVtlLlNFUFRFTUJFUj04XT0iU0VQVEVNQkVSIixlW2UuT0NUT0JFUj05XT0iT0NUT0JFUiIsZVtlLk5PVkVNQkVSPTEwXT0iTk9WRU1CRVIiLGVbZS5ERUNFTUJFUj0xMV09IkRFQ0VNQkVSIn0obnx8KG49e30pKX0sMzgwNTQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHttb250aHNGdWxsTmFtZXM6KCk9PnIsbW9udGhzU2hvcnROYW1lczooKT0+byx3ZWVrRGF5c0Z1bGxOYW1lczooKT0+YSx3ZWVrRGF5c01pbmlOYW1lczooKT0+Yyx3ZWVrRGF5c1Nob3J0TmFtZXM6KCk9Pmx9KTt2YXIgcz1pKDE4NTI3MSksbj1pKDQxNTIzNyk7Y29uc3Qgcj17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDk0NDc4NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoMzM2MzApKSxbbi5Nb250aHMuTUFSQ0hdOnMudChudWxsLHZvaWQgMCxpKDYzNTY0MykpLFtuLk1vbnRocy5BUFJJTF06cy50KG51bGwsdm9pZCAwLGkoMTU1ODUyKSksW24uTW9udGhzLk1BWV06cy50KG51bGwsdm9pZCAwLGkoODQ5OTczKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDQwMjQ4MikpLFtuLk1vbnRocy5KVUxZXTpzLnQobnVsbCx2b2lkIDAsaSg5MjQ2ODkpKSwKW24uTW9udGhzLkFVR1VTVF06cy50KG51bGwsdm9pZCAwLGkoOTU5NzcyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNDE1MjYxKSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDgxNDUwMSkpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoOTcxNTYxKSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSgzMDk2NjYpKX0sbz17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDY1NzM3NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoNjE3MzQxKSksW24uTW9udGhzLk1BUkNIXTpzLnQobnVsbCx2b2lkIDAsaSgxMDMzMDUpKSxbbi5Nb250aHMuQVBSSUxdOnMudChudWxsLHZvaWQgMCxpKDUyNjc4NSkpLFtuLk1vbnRocy5NQVldOnMudChudWxsLHtjb250ZXh0OiJzaG9ydCJ9LGkoNzM0NzUwKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDg3NzQ1KSksW24uTW9udGhzLkpVTFldOnMudChudWxsLHZvaWQgMCxpKDE4Mzk1OSkpLFtuLk1vbnRocy5BVUdVU1RdOnMudChudWxsLHZvaWQgMCxpKDkzNzYyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoMTc4NDY5KSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDcyODMzNykpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNjQ2NTQ1KSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSg3NjkwMzYpKX0sYT17W24uV2Vla0RheXMuU1VOREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5MDkzMDQpKSxbbi5XZWVrRGF5cy5NT05EQVldOnMudChudWxsLHZvaWQgMCxpKDg4OTM5NCkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHZvaWQgMCxpKDQ1NjMzNCkpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNzcyNzY1KSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDgzNDY3MSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoMzE4NTI1KSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDM4Nzk1KSl9LGw9e1tuLldlZWtEYXlzLlNVTkRBWV06cy50KG51bGwsdm9pZCAwLGkoNTA3NDU4KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5NDc5MzYpKSxbbi5XZWVrRGF5cy5UVUVTREFZXTpzLnQobnVsbCx2b2lkIDAsaSg0NzQ5MykpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNDcwNDgwKSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDMwMTQ4OSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoNDI5OTkxKSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDU5MTQxOCkpfSxjPXtbbi5XZWVrRGF5cy5TVU5EQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoNjY5MTk5KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDM2NTUzNSkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoOTM5MzI5KSksW24uV2Vla0RheXMuV0VETkVTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDQ1MTI3MSkpLFtuLldlZWtEYXlzLlRIVVJTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDYyODU4MikpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgzOTg0NTkpKSxbbi5XZWVrRGF5cy5TQVRVUkRBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgyNjA0OTYpKX19LDU4MjQ3NihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gbihlKXtyZXR1cm4gdD0+e3ModCksZSh0KX19aS5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5zLHdyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudDooKT0+bn0pfSwxOTcwMzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmVhdHVyZUNoZWNrOigpPT5yfSk7dmFyIHM9aSg0NzkzNCk7ZnVuY3Rpb24gbihlLHQsaSl7cmV0dXJuIHQudmFsdWV8fCgwLHMuZW5hYmxlZCkoZSxpKX1mdW5jdGlvbiByKGUsdCxpKXtzd2l0Y2goZSl7Y2FzZSJTQ1JFRU5FUl9JTlRFUlZBTFMiOnJldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IGk9KDAscy5nZXRDb25maWcpKCJTQ1JFRU5FUl9JTlRFUlZBTFMiLHQpO3JldHVybiEoIWl8fCFpLmludGVydmFsKSYmaS5pbnRlcnZhbC5pbmNsdWRlcyhlLmludGVydmFsKX0odCxpKTtjYXNlIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCI6cmV0dXJuIG4oIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsdCxpKTtjYXNlIkFMRVJUU19OT19FWFBJUkFUSU9OIjpyZXR1cm4gbigiQUxFUlRTX05PX0VYUElSQVRJT04iLHQsaSk7ZGVmYXVsdDpyZXR1cm4oMCxzLmVuYWJsZWQpKGUsaSl9fX0sNjU1NTg0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3JlbG9naW5PckdvUHJvOigpPT5jLHJ1bk9yR29Qcm86KCk9PmwscnVuT3JHb1Byb1dpdGhvdXRTeW5jOigpPT5hfSk7dmFyIHM9aSgxNTI3MTcpLG49aSgxOTcwMzQpLHI9aSg2MTM4NzApLG89aSg3NzA3NTUpO2Z1bmN0aW9uIGEoZSx0LGkscyxyKXsoMCxuLmZlYXR1cmVDaGVjaykodCxzKT9lKCk6KDAsby5vcGVuUGF5d2FsbCkoey4uLmkscnVuT3JHb3Byb1dpdGhGZWF0dXJlQ2hlY2tPcHRpb25zOntmZWF0dXJlQ2hlY2s6KCk9PigwLG4uZmVhdHVyZUNoZWNrKSh0LHMpLHNpZ25JblN1Y2Nlc3M6ZX19LHIpfWFzeW5jIGZ1bmN0aW9uIGwoZSx0LGksbj17fSxvKXtjb25zdCBsPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLApsPT09d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/YShlLHQsaSxuLG8pOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTppLmdvcHJvU291cmNlLGZlYXR1cmU6aS5mZWF0dXJlLHNpZ25pblN1Y2Nlc3M6ZX0pfWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLGk9PT13aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxvLm9wZW5QYXl3YWxsKShlLHQpOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTplLmdvcHJvU291cmNlLGZlYXR1cmU6ZS5mZWF0dXJlfSl9fSwxNjE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVG91Y2hFdmVudDooKT0+bn0pO3ZhciBzPWkoMzYzMjY5KTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZS5zb3VyY2VDYXBhYmlsaXRpZXM7bGV0IGk9dCYmdC5maXJlc1RvdWNoRXZlbnRzO3JldHVybiB2b2lkIDA9PT1pJiYoaT1zLnRvdWNoKSxpfX0sODYyMjEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xvZ29TaXplOigpPT5zLkxvZ29TaXplLGdldExvZ29VcmxSZXNvbHZlcjooKT0+aH0pO3ZhciBzPWkoNjIwMzU0KSxuPWkoMTM4NjM4KSxyPWkoNjMxNjM0KSxvPWkoODEwNDEpO2NvbnN0IGE9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7KDAsbi5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugcy5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHMuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9by5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHMuTG9nb1NpemUuTWVkaXVtKX19bGV0IGM7ZnVuY3Rpb24gaCgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFjKXtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2M9bmV3IGwodCl9cmV0dXJuIGN9KCl9fSw0OTcwMTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWVkaWFTdGF0ZTooKT0+Y30pO3ZhciBzPWkoNTI3MzIzKSxuPWkubihzKSxyPWkoNzQ5NjQ4KSxvPWkoNzc4NDU4KSxhPWkoMTEyNTQyKTtjbGFzcyBsIGV4dGVuZHMobigpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5kZXZpY2U9bnVsbCx0aGlzLmJyZWFrcG9pbnRzPW8uYnJlYWtwb2ludHMsdGhpcy5fY2hlY2tEZXZpY2UoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGVja0RldmljZSksT2JqZWN0LmVudHJpZXMoby5icmVha3BvaW50cykuc29ydCgoKFtlLHRdLFtpLHNdKT0+dC1zKSkuZm9yRWFjaCgoKFtlLHRdLGkscyk9PntsZXQgbjtpZigwIT09aSl7Y29uc3RbLGVdPXNbaS0xXTtuPWUrMX1lbHNlIG49MDtjb25zdCByPSgwLGEubWF0Y2hNZWRpYU1pbk1heCkobix0KTtyLm1hdGNoZXMmJnRoaXMuX3NldE5ld0RldmljZShlKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9Pnt0Lm1hdGNoZXMmJih0aGlzLl9jaGVja0RldmljZSgpLHRoaXMuX3NldE5ld0RldmljZShlKSl9KSl9KSksKDAsci53aGVuRG9jdW1lbnRSZWFkeSkodGhpcy5fY2hlY2tEZXZpY2UuYmluZCh0aGlzKSksdGhpcy5pc1Bob25lU2l6ZURldmljZS5iaW5kKHRoaXMpfWlzUGhvbmVTaXplRGV2aWNlKCl7cmV0dXJuInBob25lIj09PXRoaXMuZGV2aWNlfHwicGhvbmUtdmVydGljYWwiPT09dGhpcy5kZXZpY2V9X2NoZWNrRGV2aWNlKCl7dGhpcy53aWR0aD13aW5kb3cuaW5uZXJXaWR0aCx0aGlzLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHR9X3NldE5ld0RldmljZShlKXtjb25zdCB0PXRoaXMuZGV2aWNlO3RoaXMuZGV2aWNlPWUsdGhpcy50cmlnZ2VyKCJjaGFuZ2VEZXZpY2UiLFtlLHRdKX19Y29uc3QgYz1uZXcgbH0sMzIyNjAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FkZFBlcmZNYXJrOigpPT5jLHBlcmZNZWFzdXJlT3BlcmF0aW9uOigpPT5ofSk7dmFyIHM9aSgxNTAxNTApO2Z1bmN0aW9uIG4oKXt9Y29uc3Qgcj1jb25zb2xlLnRpbWVTdGFtcD9jb25zb2xlLnRpbWVTdGFtcC5iaW5kKGNvbnNvbGUpOm4sbz13aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcms/cGVyZm9ybWFuY2UubWFyay5iaW5kKHBlcmZvcm1hbmNlKTpuLGE9d2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tZWFzdXJlP3BlcmZvcm1hbmNlLm1lYXN1cmUuYmluZChwZXJmb3JtYW5jZSk6bixsPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNYXJrcz9wZXJmb3JtYW5jZS5jbGVhck1hcmtzLmJpbmQocGVyZm9ybWFuY2UpOm47ZnVuY3Rpb24gYyhlKXtyKGUpLG8oZSl9YXN5bmMgZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9YG1lYXN1cmUtJHtlfS0keygwLHMucmFuZG9tSGFzaCkoKX1gO28oaSk7dHJ5ewpyZXR1cm4gYXdhaXQgdCgpfWZpbmFsbHl7YShlLGkpLGwoaSl9fX0sODMyODQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Jlc291cmNlTWV0cmljc09ic2VydmVyOigpPT5ufSk7Y29uc3Qgcz1uZXcgU2V0KFsiZmV0Y2giLCJ4bWxodHRwcmVxdWVzdCJdKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1uZXcgTWFwLHRoaXMuX29ic2VydmVyU3RhcnRlZD0hMX1yZWdpc3RlcihlLHQpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dyb3Vwcy52YWx1ZXMoKSlpZih0LnBhdHRlcm5OYW1lPT09ZSl0aHJvdyBuZXcgRXJyb3IoYFBhdHRlcm4gIiR7ZX0iIGlzIGFscmVhZHkgcmVnaXN0ZXJlZGApO3RoaXMuX2dyb3Vwcy5zZXQodCx7cGF0dGVybk5hbWU6ZSxwYXR0ZXJuOnQsdG90YWxEdXJhdGlvbjowLGNvdW50OjAsdG9wRW50cmllczpbXX0pLHRoaXMuX3N0YXJ0T2JzZXJ2ZXIoKX1nZXRTdGF0cygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZ3JvdXBzLnZhbHVlcygpKXQuY291bnQmJmUucHVzaCh7cGF0dGVybk5hbWU6dC5wYXR0ZXJuTmFtZSxhdmVyYWdlRHVyYXRpb246dC50b3RhbER1cmF0aW9uL3QuY291bnQsY291bnQ6dC5jb3VudCx0b3BFbnRyaWVzOnQudG9wRW50cmllc30pO3JldHVybiBlfV9zdGFydE9ic2VydmVyKCl7aWYoIXRoaXMuX29ic2VydmVyU3RhcnRlZCYmInVuZGVmaW5lZCIhPXR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyKXRyeXtuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoZT0+e2Zvcihjb25zdCB0IG9mIGUuZ2V0RW50cmllcygpKXRoaXMuX3Byb2Nlc3NFbnRyeSh0KX0pKS5vYnNlcnZlKHt0eXBlOiJyZXNvdXJjZSIsYnVmZmVyZWQ6ITB9KSx0aGlzLl9vYnNlcnZlclN0YXJ0ZWQ9ITB9Y2F0Y2h7fX1fcHJvY2Vzc0VudHJ5KGUpe2lmKCFzLmhhcyhlLmluaXRpYXRvclR5cGUpKXJldHVybjtjb25zdCB0PXt1cmw6ZS5uYW1lLHN0YXJ0VGltZTplLnN0YXJ0VGltZSxkdXJhdGlvbjplLmR1cmF0aW9ufTtmb3IoY29uc3QgaSBvZiB0aGlzLl9ncm91cHMudmFsdWVzKCkpe2lmKCFpLnBhdHRlcm4udGVzdChlLm5hbWUpKWNvbnRpbnVlO2kudG90YWxEdXJhdGlvbis9ZS5kdXJhdGlvbixpLmNvdW50Kys7Y29uc3Qgcz1pLnRvcEVudHJpZXM7cy5sZW5ndGg8NT8ocy5wdXNoKHQpLHMuc29ydCgoKGUsdCk9PnQuZHVyYXRpb24tZS5kdXJhdGlvbikpKTplLmR1cmF0aW9uPnNbcy5sZW5ndGgtMV0uZHVyYXRpb24mJihzW3MubGVuZ3RoLTFdPXQscy5zb3J0KCgoZSx0KT0+dC5kdXJhdGlvbi1lLmR1cmF0aW9uKSkpfX19fSw5NTY2ODcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7VGVsZW1ldHJ5R3JvdXA6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkZhc3Q9ImZhc3QiLGUuTWVkaXVtPSJtZWRpdW0iLGUuU2xvdz0ic2xvdyJ9KHN8fChzPXt9KSl9LDU2MzYyNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoYXNNZXRhSW5mbzooKT0+cyxpc0Fic2VudFBhcmFtOigpPT5ufSk7aSg5NTY2ODcpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYibWV0YUluZm8iaW4gZX1mdW5jdGlvbiBuKGUpe3JldHVybiBudWxsPT1lfX0sNjk3NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ1BpbmVNZXRhSW5mb0lzc3VlczooKT0+b30pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMjc1NzQyKTtmdW5jdGlvbiByKGUsdCxpKXsoMCxuLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgRGV0ZWN0ZWQgbWV0YSBpbmZvIChpZDogJHtlLmlkfSkgaXNzdWU6ICR7dH0uIFNvdXJjZTogJHtpfWAscy5MT0dMRVZFTC5FUlJPUiwiUGluZU1ldGFJbmZvVmFsaWRhdGlvbiIpfWZ1bmN0aW9uIG8oZSx0KXt0JiZ0LmRlZmF1bHRzJiZ0LmRlZmF1bHRzLmlucHV0cyYmIXQuZGVmYXVsdHMuaW5wdXRzLnRleHQmJnIodCwnbm8gImRlZmF1bHRzLmlucHV0cy50ZXh0IiB2YWx1ZScsZSksdCYmdC5pbnB1dHMmJih0LmlucHV0cy5maW5kKChlPT4idGV4dCI9PT1lLmlkKSl8fHIodCwnbm8gaW5wdXQgd2l0aCBpZCAidGV4dCInLGUpKX19LDYxMjMxKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7U2V2ZXJpdHk6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkVSUk9SPSJlcnJvciIsZS5XQVJOSU5HPSJ3YXJuaW5nIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLk9wZW5Ob0F1dGg9Im9wZW5fbm9fYXV0aCIsZS5DbG9zZWROb0F1dGg9ImNsb3NlZF9ub19hdXRoIixlLkNsb3NlZE5lZWRzQXV0aD0iY2xvc2VkX25lZWRzX2F1dGgifShufHwobj17fSkpfSw1Nzc5OTYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RU1QVFlfU09VUkNFX0NPREU6KCk9PmMsUElORV9TQ1JJUFRfTU9ESUZJRURfTE9DSzooKT0+aCxSRV9NRVNTQUdFX0xJTkVfV0lUSF9ESUdJVFM6KCk9PmQsVFZfU0NSSVBUX0RFTEVURUQ6KCk9Pm8sVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRDooKT0+bCxUVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRTooKT0+bixUVl9TQ1JJUFRfTU9ESUZJRUQ6KCk9PnIsVFZfU0NSSVBUX1JFTkFNRUQ6KCk9PmEscGluZVRlbGVtZXRyeUdyb3VwczooKT0+dX0pO3ZhciBzPWkoOTU2Njg3KQo7Y29uc3Qgbj0iVFZTY3JpcHRNb2RpZmljYXRpb25BY3RpdmUiLHI9IlRWU2NyaXB0TW9kaWZpZWQiLG89IlRWU2NyaXB0RGVsZXRlZCIsYT0iVFZTY3JpcHRSZW5hbWVkIixsPSJUVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQiLGM9IkNhbm5vdCBzYXZlIGVtcHR5IHNvdXJjZSBjb2RlIixoPSJwaW5lX3NjcmlwdF9tb2RpZmllZF9sb2NrIixkPS9bbHxMXWluZXM/IChcZCopLyx1PW5ldyBNYXAoW1siZGVsZXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiZ2V0IixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiaXNfYXV0aF90b19nZXQiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJpc19hdXRoX3RvX3dyaXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsicGFyc2VfdGl0bGUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJyZW5hbWUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJsaWJfbGlzdCIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbInZlcnNpb25zIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsibmFtZSIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbImxpc3QiLHMuVGVsZW1ldHJ5R3JvdXAuTWVkaXVtXSxbImV2YWxfcGluZV9leCIscy5UZWxlbWV0cnlHcm91cC5NZWRpdW1dLFsidHJhbnNsYXRlX2xpZ2h0IixzLlRlbGVtZXRyeUdyb3VwLk1lZGl1bV0sWyJwcm9jZXNzX2xlZ2FjeSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbInB1Ymxpc2giLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd10sWyJzYXZlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlX3NvdXJjZSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImdlbl9hbGVydCIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImNvbnZlcnQiLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd11dKX0sNjcxMDE5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3BpbmVGYWNhZGVGZXRjaDooKT0+cH0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMzg0MDE3KSxyPWkoMzcxMDcpLG89aSg1NjM2MjQpLGE9aSgxNTY4NTApLGw9aSg4MzI4NDUpLGM9aSg1Nzc5OTYpO2NvbnN0IGg9KDAscy5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIik7ZnVuY3Rpb24gZChlLHQpe2NvbnN0IGk9bmV3IFVSTChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiLyIpLm1hcCgoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKSkuam9pbigiLyIpfShlKSwoMCxyLmdldFBpbmVGYWNhZGVVcmwpKCkpO2Zvcihjb25zdCBlIGluIHQpe2NvbnN0IHM9dFtlXTsoMCxvLmlzQWJzZW50UGFyYW0pKHMpfHxpLnNlYXJjaFBhcmFtcy5zZXQoZSxTdHJpbmcocykpfXJldHVybiBpLnRvU3RyaW5nKCl9ZnVuY3Rpb24gdShlLHQpe2NvbnN0IGk9e21ldGhvZDplLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn07cmV0dXJuIlBPU1QiPT09ZSYmdCYmKGkuYm9keT1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBGb3JtRGF0YTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyhlKSl0LmFwcGVuZChpLGVbaV0pO3JldHVybiB0fSh0KSksaX1hc3luYyBmdW5jdGlvbiBwKHt1cmxQYXRoOmUsdXJsUGFyYW1zOnQsZGF0YTppLG1ldGhvZDpzPSJHRVQifSl7Y29uc3Qgcj1kKGUsdCksbz11KHMsaSksbD1mdW5jdGlvbihlKXtoLmxvZ05vcm1hbChgUmVxdWVzdGluZyBwaW5lIGZhY2FkZSBzY3JpcHRzLCB1cmw6ICR7ZX1gKTtjb25zdCB0PWUuc3BsaXQoIi8iKVswXSxpPWMucGluZVRlbGVtZXRyeUdyb3Vwcy5nZXQodCkscz1EYXRlLm5vdygpO3JldHVybiB0PT57Y29uc3Qgbj1EYXRlLm5vdygpLXM7aWYoYS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfdGltZV9mcmFtZWAse3ZhbHVlOm59KSx0KXJldHVybiBhLnRlbGVtZXRyeS5zZW5kUmVwb3J0KCJwaW5lIixgJHtpfV9ncm91cF9va2ApLHZvaWQgaC5sb2dOb3JtYWwoYFJlcXVlc3RpbmcgcGluZSBmYWNhZGUgc2NyaXB0cyBmaW5pc2hlZCwgdXJsOiAke2V9YCk7YS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfZXJyb3JgKSxoLmxvZ0Vycm9yKGBSZXF1ZXN0aW5nIHBpbmUgZmFjYWRlIHNjcmlwdHMgZmFpbGVkLCB1cmw6ICR7ZX1gKX19KGUpO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5mZXRjaCkocixvKTtpZighZS5vayl0aHJvdyBmdW5jdGlvbihlKXtyZXR1cm4gZS5zdGF0dXM+PTUwMD8iU2VydmVyIGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6NDEzPT09ZS5zdGF0dXM/IlRoZSBzaXplIG9mIHRoZSBzY3JpcHQgY29tcGlsYXRpb24gcmVxdWVzdCBpcyB0b28gbGFyZ2UuIjo0MjA9PT1lLnN0YXR1cz8iU2NyaXB0IHRpdGxlIGlzIHRvbyBsb25nLiBNYXggYWxsb3dlZCBsZW5ndGggaXMgMTI4IGNoYXJhY3RlcnMuIjo0MDM9PT1lLnN0YXR1cz8iVG8gdXNlIGl0LCBhc2sgdGhlIGF1dGhvciB0byBwdWJsaXNoIHRoZSBzY3JpcHQuIjplLnN0YXR1cz49NDAwPyJSZXF1ZXN0IGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiJ9KGUpO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIGwoITApLHR9Y2F0Y2goZSl7dGhyb3cgbCghMSksZX19bC5yZXNvdXJjZU1ldHJpY3NPYnNlcnZlci5yZWdpc3RlcigicGluZV9mYWNhZGVfZmV0Y2giLC9waW5lLWZhY2FkZS8pfSwzNzEwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthcHBseUdsb2JhbFNjcmlwdExpc3RlbmVyczooKT0+dixnZXRPbmx5UGluZVN0dWRpZXM6KCk9PnksZ2V0UGluZUZhY2FkZVVybDooKT0+YyxoYW5kbGVSZXN1bHQ6KCk9PmQsaGFuZGxlU2F2ZVJlc3VsdDooKT0+cCxoYW5kbGVUcmFuc2xhdGVSZXN1bHQ6KCk9PnUsaXNQaW5lUmVhc29uRGF0YTooKT0+YixvbkRlbGV0ZVNjcmlwdDooKT0+ZyxvbkxlZ2FjeVNjcmlwdFByb2NlZWQ6KCk9PlMsb25Nb2RpZnlTY3JpcHQ6KCk9Pm0sb25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkOigpPT5fLG9uUmVuYW1lU2NyaXB0OigpPT5mfSkKO3ZhciBzPWkoMTc5NzcxKSxuPWkoMTUyNjk5KSxyPWkoNjMyNDQ0KSxvPWkoNTc3OTk2KSxhPWkoMzA5MzYwKSxsPWkoNTYzNjI0KTtmdW5jdGlvbiBjKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5QSU5FX1VSTCxsb2NhdGlvbi5vcmlnaW4pO3JldHVybiBlLnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fChlLnBhdGhuYW1lKz0iLyIpLGUuaHJlZn1mdW5jdGlvbiBoKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZS5yZWFzb24pcmV0dXJuIGUucmVhc29uO2lmKGUucmVhc29uMilyZXR1cm57ZXJyb3JzOmUucmVhc29uMi5lcnJvcnM/P1tdLHdhcm5pbmdzOmUucmVhc29uMi53YXJuaW5ncz8/W119O2NvbnN0IHQ9e2Vycm9yczpbXSx3YXJuaW5nczpbXX07aWYoKDAsbC5oYXNNZXRhSW5mbykoZS5yZXN1bHQpKXtjb25zdCBpPWUucmVzdWx0JiZlLnJlc3VsdC5tZXRhSW5mbztpJiZ2b2lkIDAhPT1pLndhcm5pbmdzJiZpLndhcm5pbmdzLmZvckVhY2goKGU9PnQud2FybmluZ3MucHVzaCh7bWVzc2FnZTplfSkpKX1pZihlLnJlYXNvbil7KEFycmF5LmlzQXJyYXkoZS5yZWFzb24pP2UucmVhc29uOmUucmVhc29uLnNwbGl0KCJcbiIpKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLm1hdGNoKG8uUkVfTUVTU0FHRV9MSU5FX1dJVEhfRElHSVRTKSxzPWkmJmkubGVuZ3RoJiZOdW1iZXIoaVsxXSksbj17bWVzc2FnZTplfTtpZigibnVtYmVyIj09dHlwZW9mIHMpe24uc3RhcnQ9e2xpbmU6cyxjb2x1bW46MH07Y29uc3QgZT1uLm1lc3NhZ2Uuc3BsaXQoIjogIik7ZS5zaGlmdCgpLG4ubWVzc2FnZT1lLmpvaW4oIjogIil9dC5lcnJvcnMucHVzaChuKX0pKX1yZXR1cm4gdH1mdW5jdGlvbiBkKGUpe2lmKGUuc3VjY2VzcylyZXR1cm4gZS5yZXN1bHQ7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3Rocm93IGgoZSl9ZnVuY3Rpb24gdShlKXtpZihlLnN1Y2Nlc3MpcmV0dXJue3N1Y2Nlc3M6ZS5zdWNjZXNzLG1ldGFJbmZvOmUucmVzdWx0Lm1ldGFJbmZvLGNvbXBpbGVFcnJvcnM6aChlKX07dGhyb3cgbmV3IGEuUGluZUNvbXBpbGVGYWlsRXJyb3JJbXBsKGgoZSksZS5yZXN1bHQubWV0YUluZm8pfWZ1bmN0aW9uIHAoZSl7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3JldHVybntzdWNjZXNzOmUuc3VjY2VzcyxtZXRhSW5mbzplLnJlc3VsdC5tZXRhSW5mbyxjb21waWxlRXJyb3JzOmgoZSl9fWZ1bmN0aW9uIF8oZSx0LGkpe2NvbnN0IHI9e3NjcmlwdElkUGFydDplLHNjcmlwdFZlcnNpb25Ub1VwZGF0ZTp0LGFjdGl2ZTppfTtuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUNBVElPTl9BQ1RJVkUsSlNPTi5zdHJpbmdpZnkocikpLHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklDQVRJT05fQUNUSVZFLHIpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkKHIpfSkpfWZ1bmN0aW9uIG0oZSx0LGkscil7Y29uc3QgYT17c2NyaXB0TWV0YUluZm86ZSxzY3JpcHRWZXJzaW9uVG9VcGRhdGU6dCxjb21waWxhdGlvbkZhaWxlZDppLGNvbXBpbGVFcnJvcnM6cn07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklFRCxKU09OLnN0cmluZ2lmeShhKSkscy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUVELGEpLHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKT8udGhlbigoZT0+ZS5vblRWU2NyaXB0TW9kaWZpZWQoey4uLmEsaXNTZWxmQ2FsbDohMH0pKSl9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PXtzY3JpcHRJZFBhcnQ6ZX07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9ERUxFVEVELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfREVMRVRFRCx0KSxzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KGU/Lm9uVFZTY3JpcHREZWxldGVkKHsuLi50LGlzU2VsZkNhbGw6ITB9KSl9KSl9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IGk9e3NjcmlwdElkUGFydDplLHNjcmlwdE5hbWU6dH07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9SRU5BTUVELEpTT04uc3RyaW5naWZ5KGkpKSxzLmVtaXQoby5UVl9TQ1JJUFRfUkVOQU1FRCxpKX1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9e3NjcmlwdE1ldGFJbmZvOmV9O24uVFZYV2luZG93RXZlbnRzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELHQpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25UVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQodCl9KSl9ZnVuY3Rpb24gdihlLHQsaSl7bi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRSwoYXN5bmMgZT0+e2NvbnN0IHQ9YXdhaXQod2luZG93LnNjcmlwdFVwZGF0ZXI/LigpKTt0Py5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQoSlNPTi5wYXJzZShlKSl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJRUQsKGFzeW5jIGU9PntpLmNsZWFyKCk7Y29uc3QgdD1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO3Q/Lm9uVFZTY3JpcHRNb2RpZmllZChKU09OLnBhcnNlKGUpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9ERUxFVEVELChhc3luYyBzPT57ZS5jbGVhcigpLHQuY2xlYXIoKSxpLmNsZWFyKCk7Y29uc3Qgbj1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KG4/Lm9uVFZTY3JpcHREZWxldGVkKEpTT04ucGFyc2UocykpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9SRU5BTUVELChhc3luYyBlPT57aS5jbGVhcigpfSkpLG4uVFZYV2luZG93RXZlbnRzLm9uKG8uVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRCwoYXN5bmMgZT0+e2kuY2xlYXIoKTtjb25zdCB0PWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSkKO3Q/Lm9uVFZTY3JpcHRMZWdhY3lQaW5lUHJvY2Vzc2VkKEpTT04ucGFyc2UoZSkpfSkpfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT57Y29uc3QgdD0oMCxyLmV4dHJhY3RQaW5lSWQpKGUubWV0YUluZm8oKS5pZCk7cmV0dXJuIHQmJigwLHIuaXNDdXN0b21QaW5lSWQpKHQpfSkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmKCJlcnJvcnMiaW4gZXx8Indhcm5pbmdzImluIGUpfX0sMzA5MzYwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BpbmVDb21waWxlRmFpbEVycm9ySW1wbDooKT0+c30pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCJQaW5lIHRyYW5zbGF0aW9uIGZhaWxlZCIpLHRoaXMucmVhc29uPWUsdGhpcy5tZXRhSW5mbz10fX19LDQwNjg5MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtSZXF1ZXN0Q2FjaGU6KCk9Pm4sU2luZ2xlUmVxdWVzdENhY2hlOigpPT5yfSk7dmFyIHM9aSgxNTAxNTApO2NsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9jYWNoZT1uZXcgTWFwLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5zdWJzY3JpYmUodGhpcyx0aGlzLmNsZWFyKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKX1zZXQoZSx0KXt0aGlzLl9jYWNoZS5zZXQoZSx0KX1kZWxldGUoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmRlbGV0ZShlKX1jbGVhcigpe3RoaXMuX2NhY2hlLmNsZWFyKCl9fWNsYXNzIHIgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9rZXk9KDAscy5ndWlkKSgpfXJlc2V0KGUpe3N1cGVyLnNldCh0aGlzLl9rZXksZSl9Z2V0KCl7cmV0dXJuIHN1cGVyLmdldCh0aGlzLl9rZXkpfWNsZWFyKCl7c3VwZXIuY2xlYXIoKX19fSwzNjIyMzkoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7aWYoIXdpbmRvdy51c2VyfHx3aW5kb3cudXNlci5kb19ub3RfdHJhY2spcmV0dXJuIG51bGw7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg2NjM5OSldKS50aGVuKGkuYmluZChpLDE1ODMzMikpO3JldHVybiBlKCl9aS5kKHQse2dldFRyYWNrZXI6KCk9PnN9KX0sNDU2ODYyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb246KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQpeygwLHMuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmaS50cmFja0NoYXJ0RHJhd2luZ0NyZWF0aW9uKGUsdCl9KSl9fSwzMjMwNzkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkOigpPT5sfSk7dmFyIHM9aSg4NjA0NDIpLG49aSg2NzgyODUpLHI9aSgzNjIyMzkpLG89aSg4NTYxOTYpLGE9aSgzNTUxMjMpO2Z1bmN0aW9uIGwoZSx0KXt2b2lkIDAhPT10JiZmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUpfHwoMCxzLmlzTGluZVRvb2xOYW1lKShlKXx8KDAsbi50b29sSXNDdXJzb3IpKGUpfHwoMCxuLnRvb2xJc0VyYXNlcikoZSl8fCgwLG4udG9vbElzTWVhc3VyZSkoZSl9KGUpJiYoMCxvLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nVG9vbFNlbGVjdGVkIixhLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmKGU9InBlcmZvcm1hbmNlIj09PWU/Im1hZ2ljIjplLGkudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKGUsdCkpfSkpfX0sNTQ0ODg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrU3R1ZGllczooKT0+b30pO3ZhciBzPWkoMzIyNDE5KSxuPWkoNzkxNDI3KSxyPWkoMzYyMjM5KTtmdW5jdGlvbiBvKGUsdCxpLG8sYSl7Y29uc3QgbD0hZS5pc1BpbmUoKXx8ZS5pc1N0YW5kYXJkUGluZSgpP2UuZGVzY3JpcHRpb24/P2UubmFtZTplLnNjcmlwdElkUGFydCxjPWUucHJvZHVjdElkLGg9bi5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3koZSksZD13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW58fCIiLHU9dC5zdHVkaWVzV1YoKS52YWx1ZSgpLmxlbmd0aCt0LmFsbExpbmVUb29scygpLmZpbHRlcihzLmlzU3R1ZHlMaW5lVG9vbCkubGVuZ3RoLHA9dC5jaGFydEFwaSgpLmdldFN0dWR5Q291bnRlcigpLF89ZS5pc1BpbmUoKT9lLnNjcmlwdElkUGFydDplLmlkOygwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChlPT57ZSYmZS50cmFja1N0dWRpZXNBbmFseXRpY3MobCxjLGksaCx1LHAsbz8/bnVsbCxfLGQsSlNPTi5zdHJpbmdpZnkoYSkpfSkpfX0sODM2MDgxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZD93aW5kb3cudXNlci5wcm9fcGxhbnx8ImZyZWUiOiJ2aXNpdG9yIn1mdW5jdGlvbiBuKCl7cmV0dXJuIHdpbmRvdy5sb2NhbGV9ZnVuY3Rpb24gcigpe3JldHVybiB3aW5kb3cudXNlci5pZD93aW5kb3cudXNlci5pZC50b1N0cmluZygpOm51bGx9ZnVuY3Rpb24gbygpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gYSgpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3RyaWFsKX1pLmQodCx7Z2V0VXNlcklkOigpPT5yLGdldFVzZXJMb2NhbGU6KCk9Pm4sZ2V0VXNlclBsYW46KCk9PnMsZ2V0VXNlclByb1N0YXR1czooKT0+byxnZXRVc2VyVHJpYWxTdGF0dXM6KCk9PmF9KX0sOTY0MDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgcz1pKDM4NjkzMSk7Y29uc3Qgbj17ZmlsdGVyTmFtZXNNYXA6e3NjcmlwdF90eXBlOiJJbmRpY2F0b3JzIGFuZCBTdHJhdGVnaWVzIiwic2NyaXB0X3R5cGUtaW5kaWNhdG9ycyI6IkluZGljYXRvcnMiLCJzY3JpcHRfdHlwZS1zdHJhdGVnaWVzIjoiU3RyYXRlZ2llcyIsc3RyZWFtOiJBbGwgTWFya2V0cyIsInN0cmVhbS1zdG9ja3MiOiJTdG9ja3MiLCJzdHJlYW0taW5kaWNlcyI6IkluZGljZXMiLAoic3RyZWFtLWNvbW1vZGl0aWVzIjoiQ29tbW9kaXRpZXMiLCJzdHJlYW0tY3VycmVuY2llcyI6IkN1cnJlbmNpZXMiLCJzdHJlYW0tYml0Y29pbiI6IkJpdGNvaW4iLCJpbnRlcnZhbC1hbGwiOiJBbGwgSW50ZXJ2YWxzIiwiaW50ZXJ2YWwtbSI6IlNob3J0IFRlcm0iLCJpbnRlcnZhbC1oIjoiTWVkaXVtIFRlcm0iLCJpbnRlcnZhbC1kd20iOiJMb25nIFRlcm0iLCJzb3J0LXVubW9kZXJhdGVkIjoiVW5tb2RlcmF0ZWQiLCJzb3J0LXRyZW5kaW5nIjoiVHJlbmRpbmciLCJzb3J0LWRpc2N1c3NlZCI6Ik1vc3QgRGlzY3Vzc2VkIiwic29ydC12aWV3ZWQiOiJNb3N0IFZpZXdlZCIsInNvcnQtYWdyZWVkIjoiTW9zdCBBZ3JlZWQiLCJzb3J0LXN1Z2dlc3RlZCI6IlN1Z2dlc3RlZCIsInNvcnQtcmVjZW50IjoiQWxsIElkZWFzIiwidGltZS1kYXkiOiJUb2RheSIsInRpbWUtd2VlayI6IlRoaXMgV2VlayIsInRpbWUtbW9udGgiOiJUaGlzIE1vbnRoIiwidGltZS1hbGwiOiJBbGwgVGltZSIsImJ5LWV2ZXJ5b25lIjoiRXZlcnlvbmUiLCJieS1mb2xsb3dpbmciOiJGb2xsb3dpbmciLCJieS1tZSI6Ik15IElkZWFzIn0sZ29Qcm9GZWF0dXJlc01hcDp7Y3VzdG9tSW50ZXJ2YWxzOiJBZGQgQ3VzdG9tIEludGVydmFsIixpbnRyYWRheVNwcmVhZDoiSW5yYWRheSBTcHJlYWQiLGthZ2lSZW5rbzoiSmFwYW5lc2UgSW50cmFkYXkgQ2hhcnQiLGFsZXJ0czp7cHJlZml4OiJOZXcgQWxlcnRzIExpbWl0Iix3aWRnZXQ6IldpZGdldCIsY2hhcnQ6IkNoYXJ0IEhlYWRlciJ9LG11bHRpcGxlQ2hhcnRzOiJNdWx0aXBsZSBDaGFydHMgTGF5b3V0IixzYXZlZENoYXJ0c0xpbWl0OiJTYXZlIENoYXJ0IExpbWl0IixzdHVkeUxpbWl0OiJTdHVkaWVzIExpbWl0IixtdWx0aXBsZVdhdGNoTGlzdHM6e3ByZWZpeDoiV2F0Y2hsaXN0cyIsbmV3OiJDcmVhdGUgTmV3IExpc3QiLHJlbmFtZToiUmVuYW1lIExpc3QiLHNhdmVBczoiU2F2ZSBMaXN0IEFzIn0saW1wb3J0V2F0Y2hsaXN0OiJXYXRjaGxpc3RzIEltcG9ydCBXYXRjaGxpc3QiLGV4cG9ydFdhdGNobGlzdDoiV2F0Y2hsaXN0cyBFeHBvcnQgV2F0Y2hsaXN0IixCQVRTRXhjaGFuZ2VQb3B1cDoiQkFUUyBFeGNoYW5nZSBQb3B1cCIsRGF0YVF1YWxpdHlQb3B1cDoiRGF0YSBRdWFsaXR5IFBvcHVwIixGcmVlRGVsYXlQb3B1cDoiRnJlZSBEZWxheSBQb3B1cCIscHJvUlRQcm9kdWN0OiJWb2x1bWUgUHJvZmlsZSIsc3R1ZHlPblN0dWR5OiJVbmxpbWl0ZWQgU3R1ZHkgb24gU3R1ZHkifSx0cmFja0ZlYXR1cmU6e3NhdmVkQ2hhcnRzTGltaXQ6ITAsQkFUU0V4Y2hhbmdlUG9wdXA6ITAsRnJlZURlbGF5UG9wdXA6ITAsRGF0YVF1YWxpdHlQb3B1cDohMCxpbnRyYWRheVNwcmVhZDohMCxzdHVkeU9uU3R1ZHk6ITB9LHRyYWNrR29Qcm86ZnVuY3Rpb24oZSx0LGkpe2kmJiF0JiYodD1pLGk9bnVsbCk7dmFyIHI9bi5nb1Byb0ZlYXR1cmVzTWFwW3RdO2lmKHIpe2lmKGkpe2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm47cj0iezB9IHsxfSIuZm9ybWF0KHIucHJlZml4LHJbaV0pfSgwLHMudHJhY2tFdmVudCkoZSxyKX19fSxyPW59LDczNjA2MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFja0dvUHJvRmVhdHVyZTooKT0+bn0pO3ZhciBzPWkoOTY0MDEyKTtmdW5jdGlvbiBuKGUsdCl7cy5kZWZhdWx0LnRyYWNrR29Qcm8oIkdvcHJvIEZlYXR1cmVzIixlLHQpfX0sNTUxMTkzKGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlKXtQcm9taXNlLmFsbChbaS5lKDIxODcwKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDIzNjI0KSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzQzODEpLGkuZSgxNDYyNSksaS5lKDY1NyksaS5lKDYxODIxKSxpLmUoNjYyNzApLGkuZSg1NTAxMSksaS5lKDcxOTAxKSxpLmUoODA3MzEpLGkuZSg2ODk2NCksaS5lKDI5MTMzKSxpLmUoMTk4MzMpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoNDQ3ODApLGkuZSg4MjIzNyksaS5lKDQ4ODU0KSxpLmUoOTQxODIpLGkuZSgxMTQzNSldKS50aGVuKGkuYmluZChpLDk5NTIxMykpLnRoZW4oKHQ9Pnt0LnJlbmRlck5vdGVzRGlhbG9nKGUpfSkpfWkuZCh0LHtzaG93Tm90ZXNEaWFsb2c6KCk9PnN9KX0sMjM0OTY0KGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlLHQpe2NvbnN0IHM9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyODgzMSksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDg1NzkpLGkuZSgxNzA4NyksaS5lKDU3MzAwKSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNDA5MTQpLGkuZSg5MDk2MCksaS5lKDg3NzQwKSxpLmUoNzg4OTkpLGkuZSg2NzIxMiksaS5lKDgwOTE1KSxpLmUoMTUzNCksaS5lKDI4MTc2KSxpLmUoMzk2MDkpLGkuZSg1NTIyOSksaS5lKDY1MTAwKSxpLmUoNDI3MDYpXSkudGhlbihpLmJpbmQoaSw1MDYyNzUpKTtyZXR1cm4gcy5zaG93U2ltcGxlRGlhbG9nKGUscy5yZW5hbWVNb2R1bGUsdCl9YXN5bmMgZnVuY3Rpb24gbihlLHQpewpjb25zdCBzPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjg4MzEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDIzMiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg4NTc5KSxpLmUoMTcwODcpLGkuZSg1NzMwMCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDc4ODk5KSxpLmUoNjcyMTIpLGkuZSg4MDkxNSksaS5lKDE1MzQpLGkuZSgyODE3NiksaS5lKDM5NjA5KSxpLmUoNTUyMjkpLGkuZSg2NTEwMCksaS5lKDQyNzA2KV0pLnRoZW4oaS5iaW5kKGksNTA2Mjc1KSk7cmV0dXJuIHMuc2hvd1NpbXBsZURpYWxvZyhlLHMuY29uZmlybU1vZHVsZSx0KX1hc3luYyBmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI4ODMxKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQyMzIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoODU3OSksaS5lKDE3MDg3KSxpLmUoNTczMDApLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg0MDkxNCksaS5lKDkwOTYwKSxpLmUoODc3NDApLGkuZSg3ODg5OSksaS5lKDY3MjEyKSxpLmUoODA5MTUpLGkuZSgxNTM0KSxpLmUoMjgxNzYpLGkuZSgzOTYwOSksaS5lKDU1MjI5KSxpLmUoNjUxMDApLGkuZSg0MjcwNildKS50aGVuKGkuYmluZChpLDUwNjI3NSkpO3JldHVybiBzLnNob3dTaW1wbGVEaWFsb2coZSxzLndhcm5pbmdNb2R1bGUsdCl9aS5yKHQpLGkuZCh0LHtzaG93Q29uZmlybTooKT0+bixzaG93UmVuYW1lOigpPT5zLHNob3dXYXJuaW5nOigpPT5yfSl9LDg0NDM0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoaWRlU3RhdGVDaGFuZ2U6KCk9PnJ9KTt2YXIgcyxuPWkoOTQ4MzgwKTshZnVuY3Rpb24oZSl7ZS5EcmF3aW5ncz0iZHJhd2luZ3MiLGUuSW5kaWNhdG9ycz0iaW5kaWNhdG9ycyIsZS5Qb3NpdGlvbnM9InBvc2l0aW9ucyIsZS5BbGw9ImFsbCJ9KHN8fChzPXt9KSk7Y29uc3Qgcj1uZXcgbi5EZWxlZ2F0ZX0sNjE0MzgwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbFNlYXJjaFVJOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgzNzI5MSkscj1pKDIyNTI5OCksbz1pKDI3OTQwNSk7Y2xhc3MgYXthc3luYyBzaG93KGUpe2lmKG51bGwhPT1hLl9wcm92aWRlcil7Y29uc3QgdD1hd2FpdCBhLl9wcm92aWRlci5nZXRTeW1ib2woKSxpPSgwLG8uZ2V0U3ltYm9sU2VhcmNoQ29tcGxldGVPdmVycmlkZUZ1bmN0aW9uKSgpLHM9YXdhaXQgaSh0LnN5bWJvbCk7cmV0dXJuIGUuc2V0U3ltYm9sP2Uuc2V0U3ltYm9sKHMsInN5bWJvbCBzZWFyY2ggVUkiKTpyLmxpbmtpbmcuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKHMuc3ltYm9sLCJzeW1ib2wgc2VhcmNoIFVJIikse3N5bWJvbDpzLnN5bWJvbH19aWYoYS5fY3VycmVudFNob3dpbmdJbnN0YW5jZSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IHNob3duIiwiSW52YWxpZFN0YXRlRXJyb3IiKTt0cnl7YS5fY3VycmVudFNob3dpbmdJbnN0YW5jZT10aGlzLGEucHJlbG9hZCgpO2NvbnN0IHQ9YXdhaXQgYS5faW1wbGVtZW50YXRpb247cmV0dXJuKDAscy5hc3NlcnQpKG51bGwhPT10KSxuZXcgUHJvbWlzZSgoaT0+e3Quc2hvd0RlZmF1bHRTZWFyY2hEaWFsb2coey4uLmUsb25TZWFyY2hDb21wbGV0ZTplPT57aSh7c3ltYm9sOmUuc3ltYm9sfSl9fSl9KSl9ZmluYWxseXthLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGx9fXN0YXRpYyBzZXRQcm92aWRlcihlKXt0aGlzLl9wcm92aWRlcj1lfXN0YXRpYyBwcmVsb2FkKCl7bnVsbD09PXRoaXMuX3Byb3ZpZGVyJiZudWxsPT09dGhpcy5faW1wbGVtZW50YXRpb24mJih0aGlzLl9pbXBsZW1lbnRhdGlvbj0oMCxuLmxvYWROZXdTeW1ib2xTZWFyY2gpKCkpfX1hLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGwsYS5fcHJvdmlkZXI9bnVsbCxhLl9pbXBsZW1lbnRhdGlvbj1udWxsfSw2NTQ2MzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cnVuT3JTaWduSW46KCk9Pm8scnVuT3JTaWduSW5XaXRoUHJvbW86KCk9PmF9KTt2YXIgcz1pKDkzMDIzMSksbj1pKDYyMTkyNik7Y29uc3Qgcj0oMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtmdW5jdGlvbiBvKGUsdCl7cj9lKCk6d2luZG93LnJ1bk9yU2lnbkluKGUsdCl9ZnVuY3Rpb24gYShlLHQsaSl7cj9pKCk6KDAsbi5ydW5PclNpZ25pbldpdGhGZWF0dXJlKShpLHsuLi50LGZlYXR1cmU6ZX0pfX0sNjQzOTAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NhZmVTaG9ydE5hbWU6KCk9Pm59KTt2YXIgcz1pKDM0NDEwMyk7ZnVuY3Rpb24gbihlKXt0cnl7cmV0dXJuKDAscy5zaG9ydE5hbWUpKGUpfWNhdGNoKHQpe3JldHVybiBlfX19LDg1MjE0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydFN0b3JhZ2U6KCk9Pmd9KTt2YXIgcz1pKDM4NDAxNyksbj1pKDIxNDk4Nykscj1pKDMyMjYwMSksbz1pKDE1Njg1MCksYT1pKDEwMjY1NiksbD1pKDY4OTAyMSksYz1pKDMzOTUxKTtmdW5jdGlvbiBoKCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2UiXScpLHQ9bmV3IFVSTChlPy5ocmVmfHwiL2NoYXJ0cy1zdG9yYWdlLyIsbG9jYXRpb24uaHJlZik7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdH1mdW5jdGlvbiBkKGUpe2NvbnN0e2NoYXJ0czp0PXt9LGNvdW50U291cmNlc1RvdGFsOmk9MCxsaW1pdEJ5dGVzVG90YWw6cz0wLHNpemVCeXRlc1RvdGFsOm49MH09ZSxyPW5ldyBNYXA7Zm9yKGNvbnN0W2UsaV1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3R7c3ltYm9sczp0PXt9fT1pLHM9bmV3IE1hcAo7Zm9yKGNvbnN0W2Use2NvdW50U291cmNlczppLHNpemVCeXRlczpuLGlkczpyfV1vZiBPYmplY3QuZW50cmllcyh0KSlzLnNldChlLHtjb3VudFNvdXJjZXM6aSxzaXplQnl0ZXM6bixpZHM6cn0pO3Iuc2V0KGUscyl9cmV0dXJue2NoYXJ0czpyLGNvdW50U291cmNlc1RvdGFsOmksbGltaXRCeXRlc1RvdGFsOnMsc2l6ZUJ5dGVzVG90YWw6bn19Y29uc3QgdT17c291cmNlczpuZXcgTWFwLGdyb3VwczpuZXcgTWFwfTtjbGFzcyBwe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cz1uZXcgTWFwLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHM9bmV3IE1hcCx0aGlzLl9yZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9sYXlvdXRJZD12b2lkIDB9YXN5bmMgc2F2ZUxpbmVUb29sc0FuZEdyb3VwcyhlLHQsaSxzLGQpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXRocm93IG5ldyBFcnJvcigiVW5uYW1lZCBjaGFydCBjYW5ub3QgYmUgc2F2ZWQiKTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3QgdT1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxtPWBDaGFydFN0b3JhZ2UuU2F2ZS5Ub3RhbGx5UHJvY2Vzc2luZy4ke3V9YCxnPSgwLHIucGVyZk1lYXN1cmVPcGVyYXRpb24pKG0sKGFzeW5jKCk9Pnt0cnl7YXdhaXQgdGhpcy5fbGFzdFNhdmVSZXF1ZXN0fWNhdGNoKGUpe31pZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHA9YENoYXJ0U3RvcmFnZS5TYXZlLkdldHRpbmdUb2tlbi4ke3V9YCxtPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LHMsZCkpKSxnPW5ldyBVUkwobS5wYXRoLGgoKSk7bS5jaGFydElkJiZnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImNoYXJ0X2lkIixtLmNoYXJ0SWQpLGcuc2VhcmNoUGFyYW1zLmFwcGVuZCgibGF5b3V0X2lkIixlKSxnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsbS50b2tlbik7Y29uc3QgZj1gQ2hhcnRTdG9yYWdlLlNhdmUuR2V0dGluZ1Jlc3BvbnNlLiR7dX1gO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2ZldGNoKGYsZyx7bWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwiWC1CVUlMRC1USU1FIjp3aW5kb3cuQlVJTERfVElNRX0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDpkLGJvZHk6KDAsbC5zdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGkpfSk7aWYoIXIub2spe2NvbnN0IGU9NDI5PT09ci5zdGF0dXM7dGhyb3cgbmV3IGEuU2F2aW5nTGluZVRvb2xzRXJyb3IoZSxgUmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBzdWNjZXNzOiAke3Iuc3RhdHVzfWApfWNvbnN0IGM9YXdhaXQgXyhyKTtpZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO3JldHVybiBvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX3N1Y2Nlc3MiKSx7Y29udGVudDpjLHNhdmVkRHRvOmksbGF5b3V0SWQ6ZSxjaGFydElkOnQsc2hhcmluZ01vZGU6cyxzZXJ2ZXJVcGRhdGVUaW1lOjFlMypjLnNlcnZlclVwZGF0ZVRpbWV9fWNhdGNoKGUpe3Rocm93KDAsbi5pc0Fib3J0RXJyb3IpKGUpfHxvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX2Vycm9yIiksZX19KSk7cmV0dXJuIHRoaXMuX2xhc3RTYXZlUmVxdWVzdD1nfWFzeW5jIGxvYWRMaW5lVG9vbHNBbmRHcm91cHMoZSx0LGkpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXJldHVybiB1O3RoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKTtjb25zdCBzPWAke2V9LiR7dH0uJHtpLnJlcXVlc3RUeXBlfS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAsbj1gQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Rva2VuLiR7c31gLGE9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShuLCgoKT0+KDAsYy5nZXRTdG9yYWdlVGFyZ2V0KShlLHQsaS5zaGFyaW5nTW9kZSkpKSxkPW5ldyBVUkwoYGdldC8ke2EucGF0aH1gLGgoKSk7c3dpdGNoKGEuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsYS5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGEudG9rZW4pLGkucmVxdWVzdFR5cGUpe2Nhc2UibWFpblNlcmllc0xpbmVUb29scyI6ZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGkuc3ltYm9sKSwwPT09aS5zaGFyaW5nTW9kZSYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbmNsdWRlT3duZXJTb3VyY2UiLGkuc2VyaWVzU291cmNlSWQpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYnJva2VyTmFtZSIsaS5icm9rZXJOYW1lKTticmVhaztjYXNlInN0dWRpZXNMaW5lVG9vbHMiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZXhjbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKTticmVhaztjYXNlImxpbmVUb29sc1dpdGhvdXRTeW1ib2wiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIiwiIiksMD09PWkuc2hhcmluZ01vZGUmJmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiaW5jbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKX1jb25zdCBfPTAhPT1pLnNoYXJpbmdNb2RlJiYhZC5zZWFyY2hQYXJhbXMuZ2V0KCJzeW1ib2wiKSxtPWFzeW5jKCk9PntpZihfKXRyeXthd2FpdCB0aGlzLl9sYXN0U2hhcmVkVG9vbHNMb2FkaW5nUmVxdWVzdH1jYXRjaChlKXt9cmV0dXJuIHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Jlc3BvbnNlLiR7c31gLGQse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfTt0cnl7Y29uc3RbZSx0XT1hd2FpdChfP3RoaXMuX2xhc3RTaGFyZWRUb29sc0xvYWRpbmdSZXF1ZXN0PW0oKTptKCkpCjtyZXR1cm4gby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9zdWNjZXNzIiksKDAsbC5wYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTykoZXx8e30sdCl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9lcnJvciIpLGV9fWFzeW5jIHJlbW92ZUxpbmVUb29scyhlLHQsaSxzKXtpZighcC5fY2hlY2tMYXlvdXRJZChlKSlyZXR1cm4hMTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3Qgbj1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxhPWBDaGFydFN0b3JhZ2UuUmVtb3ZlLkdldHRpbmdUb2tlbi4ke259YCxsPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikoYSwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LGkpKSksZD1uZXcgVVJMKGwucGF0aCxoKCkpO2wuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsbC5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHMpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiand0IixsLnRva2VuKTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLlJlbW92ZS5HZXR0aW5nUmVzcG9uc2UuJHtufWAsZCx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfc3VjY2VzcyIpLCEwfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfZXJyb3IiKSxlfX1hc3luYyBnZXRMYXlvdXREcmF3aW5nc1NpemVJbmZvKGUsdCl7cmV0dXJuIHAuX2NoZWNrTGF5b3V0SWQoZSk/KHRoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKSx0aGlzLl9lbnF1ZXVlU2l6ZXNSZXF1ZXN0KCJsYXlvdXQiLGBsYXlvdXQuJHtlfS4ke3R9YCwoYXN5bmMoKT0+e2NvbnN0IGk9YCR7ZX0uJHt0fS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAscz1gQ2hhcnRTdG9yYWdlLkdldFNpemVzLkdldHRpbmdUb2tlbi4ke2l9YCxuPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocywoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LDApKSksYT1uZXcgVVJMKGBsYXlvdXQvJHtlfS9zaXplc2AsaCgpKTthLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksYS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLG4udG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHtpfWAsYSx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3NpemVfaW5mb19zdWNjZXNzIiksZChlfHx7fSl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc2l6ZV9pbmZvX2Vycm9yIiksZX19KSkpOntjaGFydHM6bmV3IE1hcCxjb3VudFNvdXJjZXNUb3RhbDowLGxpbWl0Qnl0ZXNUb3RhbDowLHNpemVCeXRlc1RvdGFsOjB9fWFzeW5jIGdldFVzZXJHbG9iYWxEcmF3aW5nc1NpemVJbmZvKGUpe3JldHVybiBwLl9jaGVja0xheW91dElkKGUpPyh0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSksdGhpcy5fZW5xdWV1ZVNpemVzUmVxdWVzdCgidXNlciIsYHVzZXIuJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3JlcXVlc3RzQ291bnRlcisrLGk9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShgQ2hhcnRTdG9yYWdlLkdldEdsb2JhbFNpemVzLkdldHRpbmdUb2tlbi4ke3R9YCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSwiIiwyKSkpLHM9bmV3IFVSTCgidXNlci9zaXplcyIsaCgpKTtzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSkscy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGkudG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRHbG9iYWxTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHt0fWAscyx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fc3VjY2VzcyIpLGQoZXx8e30pfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fZXJyb3IiKSxlfX0pKSk6e2NoYXJ0czpuZXcgTWFwLGNvdW50U291cmNlc1RvdGFsOjAsbGltaXRCeXRlc1RvdGFsOjAsc2l6ZUJ5dGVzVG90YWw6MH19YXN5bmMgX2ZldGNoRGF0YShlLHQsaSl7Y29uc3Qgcz1hd2FpdCB0aGlzLl9mZXRjaChlLHQsaSk7aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKCJSZXNwb25zZSBzdGF0dXMgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm5bYXdhaXQgXyhzKSxzLmhlYWRlcnMuZ2V0KCJYLVJlcXVlc3QtSWQiKV19X2ZldGNoKGUsdCxpKXtyZXR1cm4oMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShlLCgoKT0+KDAscy5mZXRjaCkodC50b1N0cmluZygpLGkpKSl9X2VucXVldWVTaXplc1JlcXVlc3QoZSx0LGkpe2NvbnN0IHM9dGhpcy5fYWN0aXZlU2l6ZXNSZXF1ZXN0cy5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBuPXRoaXMuX2xhc3RTaXplc1JlcXVlc3RzLmdldChlKSxyPShhc3luYygpPT57dHJ5e2F3YWl0IG59Y2F0Y2goZSl7fXJldHVybiBpKCl9KSgpO3RoaXMuX2xhc3RTaXplc1JlcXVlc3RzLnNldChlLHIpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuc2V0KHQscik7Y29uc3Qgbz0oKT0+ewp0aGlzLl9hY3RpdmVTaXplc1JlcXVlc3RzLmdldCh0KT09PXImJnRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuZGVsZXRlKHQpfTtyZXR1cm4gci50aGVuKG8sbykscn1fY2xlYW5TdGF0ZUlmTGF5b3V0SWRDaGFuZ2VkKGUpe3RoaXMuX2xheW91dElkIT09ZSYmKHRoaXMuX2xheW91dElkPWUsdGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cy5jbGVhcigpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuY2xlYXIoKSl9c3RhdGljIF9jaGVja0xheW91dElkKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmxlbmd0aD4wfX1hc3luYyBmdW5jdGlvbiBfKGUpe2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJCb2R5IGlzIG51bGwiKTtpZighdC5zdWNjZXNzKXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm4gdC5wYXlsb2FkfWxldCBtPW51bGw7YXN5bmMgZnVuY3Rpb24gZygpe3JldHVybiBudWxsPT09bSYmKG09bmV3IHApLG19fSw2ODkwMjEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9e307cmV0dXJuIGUuc291cmNlcyYmKHQuc291cmNlcz17fSxlLnNvdXJjZXMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNvdXJjZXNbaV09ZX0pKSksdC5kcmF3aW5nX2dyb3Vwcz17fSxlLmdyb3Vwcy5mb3JFYWNoKCgoZSxpKT0+e3QuZHJhd2luZ19ncm91cHNbaV09ZX0pKSx0LmNsaWVudElkPWUuY2xpZW50SWQsSlNPTi5zdHJpbmdpZnkodCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9e3NvdXJjZXM6bnVsbCxncm91cHM6bmV3IE1hcH07aWYobnVsbCE9PWUuc291cmNlcyl7aS5zb3VyY2VzPW5ldyBNYXA7Zm9yKGNvbnN0IHQgaW4gZS5zb3VyY2VzfHx7fSl7Y29uc3Qgcz1lLnNvdXJjZXNbdF07aS5zb3VyY2VzLnNldCh0LHMpfX1mb3IoY29uc3QgdCBpbiBlLmRyYXdpbmdfZ3JvdXBzfHx7fSl7Y29uc3Qgcz1lLmRyYXdpbmdfZ3JvdXBzW3RdO2kuZ3JvdXBzLnNldCh0LHMpfXJldHVybiBudWxsIT09dCYmKGkuc2VydmVyUmVxdWVzdElkPXQpLGkuY2xpZW50SWQ9ZS5jbGllbnRJZCxpLnN5bWJvbD1lLnN5bWJvbCxpfWkuZCh0LHtwYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTzooKT0+bixzdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE86KCk9PnN9KX0sMTAyNjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1NhdmluZ0xpbmVUb29sc0Vycm9yOigpPT5zfSk7Y2xhc3MgcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5zaG91bGRCZUNvb2xlZD1lfX1FcnJvcn0sMzM5NTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U3RvcmFnZVRhcmdldDooKT0+bCxnbG9iYWxseVNoYXJlZENoYXJ0SWQ6KCk9PmEsc2hhcmVkQ2hhcnRJZDooKT0+b30pO3ZhciBzPWkoMzg0MDE3KSxuPWkoMTU2ODUwKSxyPWkoMjE0OTg3KTtjb25zdCBvPSJfc2hhcmVkIixhPSJVc2VyU3luYyI7YXN5bmMgZnVuY3Rpb24gbChlLHQsaSxhKXt0cnl7Y29uc3QgbD1uZXcgVVJMKCIvY2hhcnQtdG9rZW4vIixsb2NhdGlvbi5ocmVmKTtsLnNlYXJjaFBhcmFtcy5hcHBlbmQoImltYWdlX3VybCIsZSksbC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1c2VyX2lkIixTdHJpbmcod2luZG93LnVzZXIuaWR8fC0xKSk7Y29uc3QgYz1hd2FpdCgwLHMuZmV0Y2gpKGwudG9TdHJpbmcoKSx7c2lnbmFsOmF9KTtpZighYy5vayl0aHJvdyBuZXcgRXJyb3IoYEh0dHAgcmVzcG9uc2UgaXMgbm90IG9rOiAke2Muc3RhdHVzfX1gKTtjb25zdCBoPWF3YWl0IGMuanNvbigpO2lmKG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3Rfc3VjY2VzcyIpLGE/LmFib3J0ZWQpdGhyb3coMCxyLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgZD0yPT09aT92b2lkIDA6MT09PWk/bzp0O3JldHVybnt0b2tlbjpoLnRva2VuLGNoYXJ0SWQ6ZCxwYXRoOjI9PT1pPyJ1c2VyL3NvdXJjZXMiOmBsYXlvdXQvJHtlfS9zb3VyY2VzYH19Y2F0Y2goZSl7dGhyb3coMCxyLmlzQWJvcnRFcnJvcikoZSl8fG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3RfZXJyb3IiKSxlfX19LDMwNzYxMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW5lVG9vbHNTeW5jaHJvbml6ZXI6KCk9PlIsbGluZVRvb2xEVE86KCk9Pkl9KTt2YXIgcz1pKDU0Nzg1MSksbj1pKDQ3NjY0KSxyPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxhPWkoMTc5NzcxKSxsPWkoMzIyNjAxKSxjPWkoMzY4MTEwKSxoPWkoMTAyNjU2KSxkPWkoMzE4OTc0KSx1PWkoODUyMTQ4KSxwPWkoNjAxODQxKSxfPWkoNzY4NzYwKTtjb25zdCBtPSgwLG8uZ2V0TG9nZ2VyKSgiQ2hhcnQuTGlua0tleVJlc29sdmVyIik7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fcGVuZGluZ1JlcXVlc3RzPW5ldyBNYXAsdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkPSgwLHMuZGVmYXVsdCkoKCgpPT50aGlzLl9zdGFydE5leHRSZXF1ZXN0KCkpLDUwMCksdGhpcy5fbGF5b3V0SWQ9ZSx0aGlzLl9jaGFydElkPXQsdGhpcy5fb3duZXJTb3VyY2VJZD1pfXJlc29sdmVMaW5rS2V5KGUsdCxpKXtjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFtlLHRdKX0oZSxpKSxuPXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5nZXQocyk/P25ldyBNYXA7aWYobi5oYXModCkpcmV0dXJuIG4uZ2V0KHQpLnByb21pc2U7Y29uc3Qgcj0oMCxfLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gbi5zZXQodCxyKSx0aGlzLl9wZW5kaW5nUmVxdWVzdHMuc2V0KHMsbiksdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkKCksci5wcm9taXNlfWFzeW5jIF9zdGFydE5leHRSZXF1ZXN0KCl7aWYoMD09PXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5zaXplKXJldHVybjtjb25zdCBlPWF3YWl0KDAsCnUuZ2V0Q2hhcnRTdG9yYWdlKSgpLHQ9dGhpcy5fcGVuZGluZ1JlcXVlc3RzLmVudHJpZXMoKS5uZXh0KCkudmFsdWUse3N5bWJvbDppLGJyb2tlck5hbWU6c309ZnVuY3Rpb24oZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO3JldHVybntzeW1ib2w6dFswXSxicm9rZXJOYW1lOnRbMV19fSh0WzBdKSxuPXRbMV0scj17cmVxdWVzdFR5cGU6Im1haW5TZXJpZXNMaW5lVG9vbHMiLHNlcmllc1NvdXJjZUlkOnRoaXMuX293bmVyU291cmNlSWQsc3ltYm9sOmksYnJva2VyTmFtZTpzLHNoYXJpbmdNb2RlOjB9O3RyeXtjb25zdCB0PWF3YWl0IGUubG9hZExpbmVUb29sc0FuZEdyb3Vwcyh0aGlzLl9sYXlvdXRJZCx0aGlzLl9jaGFydElkLHIsaSk7bnVsbCE9PXQmJm51bGwhPT10LnNvdXJjZXMmJih0LnNvdXJjZXMuZm9yRWFjaCgoKGUsdCk9PntpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaT1lLnN0YXRlLmxpbmtLZXk7aWYoIWkpcmV0dXJuO2NvbnN0IHM9bi5nZXQoaSk7cz8ucmVzb2x2ZShlLmlkKSxuLmRlbGV0ZShpKX0pKSx0LnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke3Quc2VydmVyUmVxdWVzdElkfWApKX1jYXRjaChlKXttLmxvZ0Vycm9yKGBFcnJvciByZXF1ZXN0aW5nIGxpbmUgdG9vbHM6ICR7ZX1gKX1uLmZvckVhY2goKGU9PntlLnJlc29sdmUobnVsbCl9KSksdGhpcy5fcGVuZGluZ1JlcXVlc3RzLmRlbGV0ZSh0WzBdKSxhd2FpdCB0aGlzLl9zdGFydE5leHRSZXF1ZXN0KCl9fXZhciBmPWkoNDY3NTM5KSxTPWkoMjU0ODM1KSx2PWkoNjkyNjQpLHk9aSgyMTQ5ODcpLGI9aSg4NjA0NDIpLHc9aSg2MDU4NzcpLEM9aSgzMDUyNzcpO2NvbnN0IFA9WzAsMSwyXSxUPSgwLG8uZ2V0TG9nZ2VyKSgiTGluZVRvb2xzU3luY2hyb25pemVyIik7ZnVuY3Rpb24geChlKXtyZXR1cm57bGluZXM6ZS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzRm9yQWxsU3ltYm9scygpLm1hcCgoZT0+KHtpZDplLmlkKCksek9yZGVyOmUuem9yZGVyKCl9KSkpfX1mdW5jdGlvbiBNKGUpe3JldHVybntpZDplLmlkLHRvb2xzOmUubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX19ZnVuY3Rpb24gSShlLHQpe2NvbnN0IGk9dC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKSxzPXtpZDplLmlkKCksb3duZXJTb3VyY2U6KDAsci5lbnN1cmVOb3ROdWxsKShlLm93bmVyU291cmNlKCkpLmlkKCksc3RhdGU6ZS5zdGF0ZSghMSl9O3JldHVybiBlLmJvdW5kVG9TeW1ib2woKSYmKHMuc3ltYm9sPWUuc3ltYm9sKCkpLHMuc2VydmVyVXBkYXRlVGltZT1lLnNlcnZlclVwZGF0ZVRpbWUoKT8/dm9pZCAwLHMuY3VycmVuY3lJZD1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCkscy51bml0SWQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCksbnVsbCE9PWkmJihzLmdyb3VwSWQ9aS5pZCksc31mdW5jdGlvbiBMKGUsdCl7cmV0dXJue2lkOmUuaWQsbmFtZTplLm5hbWUoKS52YWx1ZSgpLHN5bWJvbDplLnN5bWJvbCgpLGN1cnJlbmN5SWQ6ZS5jdXJyZW5jeUlkKCksdW5pdElkOmUudW5pdElkKCl9fWZ1bmN0aW9uIEEoZSx0LGkpe2xldCBzPSExO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBTZXQoaT8ua2V5cygpKTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxvKT0+e2NvbnN0IGE9IWl8fGkuaGFzKG8pO2UudGltZXN0YW1wPnR8fCFhPyhuLnNldChvLGUpLHIuZGVsZXRlKG8pKTpzfHw9ISFlLnNhdmVkVG9DaGFydENvbnRlbnR9KSkse3N0aWxsSW52YWxpZGF0ZWQ6bix2YWxpZGF0ZWQ6QXJyYXkuZnJvbShyKSxjb250YWluUmVzYXZlZEZyb21Db250ZW50OnN9fXZhciBrO2Z1bmN0aW9uIEQoZSl7cmV0dXJuKDAsYy5pc0xpbmVUb29sKShlKXx8KDAsUy5pc1N0dWR5TGluZVRvb2xTdHViKShlKX0hZnVuY3Rpb24oZSl7ZVtlLkF1dG9zYXZlRGVib3VuY2U9NTAwXT0iQXV0b3NhdmVEZWJvdW5jZSIsZVtlLkJhbkNvb2xpbmdUaW1lb3V0PTNlNV09IkJhbkNvb2xpbmdUaW1lb3V0In0oa3x8KGs9e30pKTtjb25zdCBFPS8oXHcrKVwvKFx3KylcLyhcdyspLztjbGFzcyBSe2NvbnN0cnVjdG9yKGUsdCxpLG4pe3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicz1uZXcgTWFwLHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcz1uZXcgU2V0LHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzPW5ldyBNYXAsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlPW5ldyBNYXAsdGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg9MCx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fZGVib3VuY2VkU2F2ZT0oMCxzLmRlZmF1bHQpKCgoKT0+dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZCghMSkpLDUwMCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sPW5ldyBNYXAsdGhpcy5fbGlua0tleVJlc29sdmVyPW51bGwsdGhpcy5fYnJva2VyTmFtZT0iIix0aGlzLl9sYXN0QmFuVGltZT1udWxsLHRoaXMuX2ludmFsaWRhdGVWaWFTeW5jPTAsdGhpcy5fc2F2aW5nQWJvcnRDb250cm9sbGVyc0J5U2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl90cnlUb1NhdmVDaGFydFN0YXRlTWlncmF0aW9uc09uY2U9ITAsdGhpcy5fcGVuZGluZ0xvYWRSZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9wZW5kaW5nU2F2ZVJlcXVlc3RzQ291bnRlcj0wLHRoaXMuX21haW5TZXJpZXNEcmF3aW5nc1JlYWR5PVsiIixQcm9taXNlLnJlc29sdmUoKV0sdGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25DaGFuZ2VBdXRvc2F2ZT1lPT57ZSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpfSx0aGlzLl9vcmlnaW49ZSx0aGlzLl9jaGFydE1vZGVsPXQsdGhpcy5fb3B0aW9ucz1pLHRoaXMuX2hhc0NoYW5nZXM9biwKdGhpcy5fYXNzaWduQWxsTGluZVRvb2xzKHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKSksdGhpcy5fY2hhcnRNb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1BhbmVzQ29sbGVjdGlvbkNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzRGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLm9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3Byb2Nlc3NMaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1Byb3BlcnRpZXNDaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2xpbmtLZXlSZXNvbHZlcj1uZXcgZyhlLmxheW91dElkLGUuY2hhcnRJZCx0Lm1haW5TZXJpZXMoKS5pZCgpKSx0aGlzLl9icm9rZXJJZFNlc3Npb249bmV3IHYuRmVhdHVyZVRvZ2dsZVdhdGNoZWRWYWx1ZSgiYnJva2VyX2lkX3Nlc3Npb24iLCExKSx0aGlzLl9hdXRvZml4Wk9yZGVyPW5ldyB2LkZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWUoImF1dG9maXhfbGluZV90b29sc196b3JkZXIiLCExKTtjb25zdCByPXRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMiwhMSksbz10aGlzLl9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKDEsITEpO3RoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMCwhMSxbcixvXSksdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKDAsITEpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0aGlzLnJlbG9hZEFsbExpbmVUb29scygpfSkpfWRlc3Ryb3koKXt0aGlzLl9kZWJvdW5jZWRTYXZlLmNhbmNlbCgpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Jyb2tlcklkU2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlWk9yZGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uYXV0b1NhdmVFbmFibGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvc2F2ZSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uY2hhcnRTYXZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Rlc3Ryb3llZD0hMH1yZWxvYWRBbGxMaW5lVG9vbHMoKXt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuY2xlYXIoKSxQLmZvckVhY2goKGU9PnswPT09ZSYmdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKGUsITApLHRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woZSwhMCl9KSk7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7ZSYmdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuX2hhc0NoYW5nZXN9aGFzVW5zYXZlZE1pZ3JhdGlvbnNGcm9tQ2hhcnRTdGF0ZSgpe3JldHVybiBOKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fE4odGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl9c2V0U2F2ZUNoYXJ0U2VydmljZShlKXt0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiYodGhpcy5fc2F2ZUNoYXJ0U2VydmljZS5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9zYXZlKSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlLmNoYXJ0U2F2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlQXV0b3NhdmUpLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuY2hhcnRTYXZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT0hMSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX0pLCEwKX1wcmVwYXJlRFRPKGU9ITEpe2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gUC5mb3JFYWNoKChpPT57dC5zZXQoaSx0aGlzLl9wcmVwYXJlRFRPSXRlbShlLGkpKX0pKSx0fWdldERUTyhlPTAsdD0hMSxpPSExKXtyZXR1cm4gaSYmdGhpcy5pbnZhbGlkYXRlQWxsKCksdGhpcy5fcHJlcGFyZURUT0l0ZW0odCxlLGkpfWFzeW5jIGFwcGx5RFRPKGUsdD0wKXt0aGlzLnJlc2V0SW52YWxpZGF0ZWQoRGF0ZS5ub3coKS52YWx1ZU9mKCksZSx0KSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQpfQptYXJrQXNWYWxpZGF0ZWRCZWNhdXNlT2ZTYXZpbmdUb0NvbnRlbnQoKXtWKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyksVih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzKSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX1yZXNldEludmFsaWRhdGVkKGUsdCxpLHMpe2NvbnN0IG49KGUsdCxzLG4pPT57aWYoIXMuaGFzKG4pfHxzLmdldChuKSlzLmhhcyhuKSYmdChuLGkpO2Vsc2V7Y29uc3Qgcz1lLmdldChuKTtzJiYocz09PWk/dChuLG51bGwpOjA9PT1pJiZ0KG4scykpfX07aWYobnVsbD09PXQuc291cmNlcylyZXR1cm47Y29uc3R7Z3JvdXBzOnIsc291cmNlczpvLGxpbmVUb29sc1RvVmFsaWRhdGU6bCxncm91cHNUb1ZhbGlkYXRlOmN9PXQsaD1BKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyxlLG5ldyBTZXQobD8/by5rZXlzKCkpKTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnM9aC5zdGlsbEludmFsaWRhdGVkLGgudmFsaWRhdGVkLmZvckVhY2gobi5iaW5kKHRoaXMsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLHRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZS5iaW5kKHRoaXMpLG8pKTtjb25zdCBkPUEodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3VwcyxlLG5ldyBTZXQoYz8/ci5rZXlzKCkpKTtpZihoLnZhbGlkYXRlZC5mb3JFYWNoKG4uYmluZCh0aGlzLHRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuYmluZCh0aGlzKSxyKSksdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcz1kLnN0aWxsSW52YWxpZGF0ZWQsQXJyYXkuZnJvbShvLmtleXMoKSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSk7dCYmKHZvaWQgMCE9PXM/dC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHMpOm51bGw9PT10LnNlcnZlclVwZGF0ZVRpbWUoKSYmdC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKChuZXcgRGF0ZSkudmFsdWVPZigpKSl9KSksMD09PWkpZm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpKW51bGw9PT1vLmdldChlKSYmdGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLmRlbGV0ZShlKTsoaC5jb250YWluUmVzYXZlZEZyb21Db250ZW50fHxkLmNvbnRhaW5SZXNhdmVkRnJvbUNvbnRlbnQpJiZhLmVtaXQoImxpbmVUb29sc1Jlc2F2ZWRGcm9tQ29udGVudCIpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfWFzeW5jIGFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9RS5leGVjKGUpO3JldHVybiA0PT09dD8ubGVuZ3RoP3tsYXlvdXRJZDp0WzFdLGNoYXJ0SWQ6dFsyXSxjbGllbnRJZDp0WzNdfTp7bGF5b3V0SWQ6IiIsY2hhcnRJZDoiIixjbGllbnRJZDplfX0oZS5jbGllbnRJZD8/IiIpO2lmKGkuY2xpZW50SWQhPT10aGlzLl9vcmlnaW4uY2xpZW50SWR8fGkuY2hhcnRJZCE9PXRoaXMuX29yaWdpbi5jaGFydElkKXJldHVybiB2b2lkIDA9PT1lLnN5bWJvbHx8bnVsbCE9PWUuc291cmNlcz90aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQsaSk6dm9pZCB0aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoaT0+aS5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10JiZpLnN5bWJvbCgpPT09ZS5zeW1ib2wpKTtpLmxlbmd0aD4wJiZ0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLnJlbW92ZVNvdXJjZXMoaSwhMCxudWxsKX0pKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aC0tLHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPDAmJihULmxvZ0Vycm9yKCJMb2dpYyBlcnJvciwgc3RhcnRBcHBseWluZ0xpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uL2VuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24gbWlzbWF0Y2gsIGF1dG9maXhpbmciKSx0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aD0wKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO2kmJigwLGMuaXNMaW5lVG9vbCkoaSkmJmkuc2V0QWxlcnQodCl9KSl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUpe3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoMCxjLmlzTGluZVRvb2wpKHQpJiZ0LnJlbW92ZUFsZXJ0KCl9KSl9YXN5bmMgbWFya1N5bmNlZExpbmVUb29sQXNEZWxldGVkKGUsdCl7aWYodGhpcy5fbGlua0tleVJlc29sdmVyKXtjb25zdCBpPWF3YWl0IHRoaXMuX2xpbmtLZXlSZXNvbHZlci5yZXNvbHZlTGlua0tleSh0LGUsdGhpcy5fYnJva2VyTmFtZSk7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2lmKG51bGwhPT1pKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkoZSk7bnVsbD09PXQ/dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoaSxwZXJmb3JtYW5jZS5ub3coKSk6dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpKSxpPXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUuaWQoKSl8fG5ldyBNYXA7dC5kZXRhY2hBbGVydCgpLAp0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KSxpLmRlbGV0ZSh0LmlkKCkpfSkpLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1yZXR1cm4gaX1yZXR1cm4gbnVsbH1pbnZhbGlkYXRlQWxsKGU9ITEpe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKCgoZSxpKT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGksdCl9KSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzRm9yQWxsU3ltYm9scygpLmZvckVhY2goKGU9Pnt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cChlLmlkLHQpfSkpLGUmJnRoaXMubWFya0FzVmFsaWRhdGVkQmVjYXVzZU9mU2F2aW5nVG9Db250ZW50KCl9ZXhlY3V0ZVN5bmNocm9uaXphdGlvbkluTGF5b3V0QWN0aW9uKGUpe3RoaXMuX2ludmFsaWRhdGVWaWFTeW5jKz0xO3RyeXtlKCl9ZmluYWxseXt0aGlzLl9pbnZhbGlkYXRlVmlhU3luYy09MX19aW52YWxpZGF0ZVZpYVN5bmMoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZVZpYVN5bmM+MH1mbHVzaFBlbmRpbmdTYXZpbmdzKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuc2l6ZXx8dGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNpemV8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplP3RoaXMuX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoITEsITApOm51bGx9aGFzUGVuZGluZ0xvYWRSZXF1ZXN0cygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgUCl7Y29uc3QgaT10aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZ2V0KHQpPz8iIjtpZighZS5zeW1ib2xTYW1lQXNDdXJyZW50KGkpKXJldHVybiEwfXJldHVybiB0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcj4wfWhhc1BlbmRpbmdTYXZlUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fcGVuZGluZ1NhdmVSZXF1ZXN0c0NvdW50ZXI+MHx8dGhpcy5oYXNDaGFuZ2VzKCkudmFsdWUoKSYmdGhpcy5faXNBdXRvc2F2ZUVuYWJsZWQoKX1hc3luYyBtYWluU2VyaWVzRHJhd2luZ3NSZWFkeShlKXtsZXRbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeTtpZih0PT09ZSlyZXR1cm4gaTtjb25zdCBzPSgwLF8uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9uZXh0UmVzb2x2ZWRTeW1ib2xEZWZlcnJlZFByb21pc2VzLnB1c2goW2Usc10pLGF3YWl0IHMucHJvbWlzZSxbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeSwoMCxyLmFzc2VydCkodD09PWUsIlVuZXhwZWN0ZWQgc3ltYm9sIHByb19uYW1lIiksaX1fYXNzaWduQWxsTGluZVRvb2xzKGUpe2UuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxpPW5ldyBNYXAodCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZS5pZCgpLGkpfSkpfV9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQoZSx0KXtEKHQpJiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1Yih0LmlkKCkscGVyZm9ybWFuY2Uubm93KCkpfV9wcm9jZXNzTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQoZSx0KXtjb25zdCBpPXBlcmZvcm1hbmNlLm5vdygpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUsaSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGUpO2xldCBuPXM/LmxpbmVUb29scygpLmxlbmd0aD9zLnNoYXJpbmdNb2RlKCkudmFsdWUoKTp2b2lkIDA7dCYmKCh0LmFmZmVjdGVkTGluZVRvb2xzfHxbXSkuZm9yRWFjaCgoZT0+dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxpKSkpLHQuYWZmZWN0ZWRMaW5lVG9vbHM/Lmxlbmd0aD4wJiZ2b2lkIDA9PT1uJiYobj10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KHQuYWZmZWN0ZWRMaW5lVG9vbHNbMF0pKSksdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLmhhcyhlKXx8dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsbj8/MCl9X3Byb2Nlc3NQYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKGUpe2NvbnN0IHQ9ZS5tYXAoKGU9PmUuaWQoKSkpLGk9bmV3IFNldCh0KSxzPXBlcmZvcm1hbmNlLm5vdygpO0FycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5rZXlzKCkpLmZpbHRlcigoZT0+IWkuaGFzKGUpKSkuZm9yRWFjaCgoZT0+e0FycmF5LmZyb20oKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChlKSkua2V5cygpKS5mb3JFYWNoKChlPT57dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxzKX0pKX0pKSxlLmZpbHRlcigoZT0+IXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuaGFzKGUuaWQoKSkpKS5mb3JFYWNoKChlPT57ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscykpKX0pKSx0aGlzLl9hc3NpZ25BbGxMaW5lVG9vbHMoZSl9X3Byb2Nlc3NEYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoZSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKEQpLGk9dC5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxzPW5ldyBNYXAoaSk7bGV0IG47Y29uc3Qgbz1wZXJmb3JtYW5jZS5ub3coKTtpZih0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmhhcyhlLmlkKCkpKXtjb25zdCBpPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoZS5pZCgpKSk7bj10LmZpbHRlcigoZT0+IWkuaGFzKGUuaWQoKSkpKSwKbi5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKSxBcnJheS5mcm9tKGkuZW50cmllcygpKS5maWx0ZXIoKGU9PiFzLmhhcyhlWzBdKSkpLmZvckVhY2goKGU9PntudWxsIT09ZVsxXSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpLHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGVbMF0sbyl9KSl9ZWxzZSBuPXQsdC5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKTtuLmZvckVhY2goKGU9PntpZigoMCxjLmlzTGluZVRvb2wpKGUpKXt0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZS5pZCgpLGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woZSk7dCYmdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKHQuaWQsZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCkpfX0pKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChlLmlkKCkscyl9X3VubG9hZExpbmVUb29scyhlLHQsaSl7Y29uc3Qgcz1lLmZpbHRlcigoZT0+IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5oYXMoZSkpKS5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSkuZmlsdGVyKGMuaXNMaW5lVG9vbCkuZmlsdGVyKHAubm90TnVsbCkuZmlsdGVyKChlPT5lLnNoYXJpbmdNb2RlKCkudmFsdWUoKT09PWkpKS5maWx0ZXIodCkuZmlsdGVyKChlPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvckxpbmVUb29sKGUpO3JldHVybiBudWxsPT09dHx8IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuaGFzKHQuaWQpfSkpO3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5mb3JFYWNoKChlPT57ZS5oYXNBbGVydCgpLnZhbHVlKCkmJmUuZGV0YWNoQWxlcnQoKTtjb25zdCB0PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKTsodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQodC5pZCgpKT8/bmV3IE1hcCkuZGVsZXRlKGUuaWQoKSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKHMpfSkpfSkpfV91bmxvYWRMaW5lc09uU2VyaWVzKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpO2lmKCFpPy5zaXplKXJldHVybjtjb25zdCBuPUFycmF5LmZyb20oaS5rZXlzKCkpLmZpbHRlcigodD0+IWUodCkpKTt0aGlzLl91bmxvYWRMaW5lVG9vbHMobiwoZT0+ZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PXMpLHQpfV9pc0F1dG9zYXZlRW5hYmxlZCgpe3JldHVybiBCb29sZWFuKHRoaXMuX3NhdmVDaGFydFNlcnZpY2UmJnRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkudmFsdWUoKSl9YXN5bmMgX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoZSx0KXtpZihudWxsIT09dGhpcy5fbGFzdEJhblRpbWUpe2lmKCEocGVyZm9ybWFuY2Uubm93KCktdGhpcy5fbGFzdEJhblRpbWU+PTNlNSkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3RoaXMuX2xhc3RCYW5UaW1lPW51bGx9aWYoIXRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCkmJiF0fHx0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHwiIj09PXRoaXMuX29yaWdpbi5sYXlvdXRJZClyZXR1cm47Y29uc3QgaT10aGlzLnByZXBhcmVEVE8oZSkscz1QLm1hcCgoZT0+e2NvbnN0IHQ9aS5nZXQoZSk7aWYoIXR8fG51bGw9PT10LnNvdXJjZXMpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmxpbmVUb29sc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5zb3VyY2VzLmtleXMoKSksbj10Lmdyb3Vwc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5ncm91cHMua2V5cygpKTtpZigwPT09cy5sZW5ndGgmJjA9PT1uLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpO2lmKHQuc291cmNlcy5zaXplfHx0Lmdyb3Vwcy5zaXplKXtjb25zdCBpPXRoaXMuX3NhdmluZ0Fib3J0Q29udHJvbGxlcnNCeVNoYXJpbmdNb2RlLmdldChlKTtpJiZpLmFib3J0KCk7Y29uc3Qgcz1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiB0aGlzLl9zYXZpbmdBYm9ydENvbnRyb2xsZXJzQnlTaGFyaW5nTW9kZS5zZXQoZSxzKSx0LnNvdXJjZXMuZm9yRWFjaCgoKHQsaSk9Pnt0JiZ0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoaSxlKX0pKSx0Lmdyb3Vwcy5mb3JFYWNoKCgodCxpKT0+e3QmJnRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZShpLGUpfSkpLHRoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyKz0xLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2F2ZUNoYXJ0U2VydmljZSkuc2F2ZUNoYXJ0TGluZVRvb2xzKHRoaXMuX29yaWdpbi5jaGFydElkLHQsZSxzLnNpZ25hbCkudGhlbigoKHtzZXJ2ZXJVcGRhdGVUaW1lOml9KT0+e3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlLGkpfSkpLmNhdGNoKChhc3luYyB0PT57aWYoIXRoaXMuX2Rlc3Ryb3llZCl7aWYodCBpbnN0YW5jZW9mIGguU2F2aW5nTGluZVRvb2xzRXJyb3ImJnQuc2hvdWxkQmVDb29sZWQmJih0aGlzLl9sYXN0QmFuVGltZT1wZXJmb3JtYW5jZS5ub3coKSksISgwLHkuaXNBYm9ydEVycm9yKSh0KSl0aHJvdyB0O1QubG9nRGVidWcoYFNhdmUgcmVxdWVzdCBoYXMgYmVlbiBhYm9ydGVkLiBDaGFydElkOiAke3RoaXMuX29yaWdpbi5jaGFydElkfSBzaGFyaW5nTW9kZTogJHtlfWApfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyLT0xfSkpfQpyZXR1cm4gdGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlKSxudWxsfSkpLmZpbHRlcihwLm5vdE51bGwpO3JldHVybiBzLmxlbmd0aD9Qcm9taXNlLmFsbChzKS50aGVuKCgoKT0+e30pKTp2b2lkIDB9YXN5bmMgX3NhdmVQcm9taXNlKGUsdCl7cmV0dXJuIHRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCk/dGhpcy5fZGVib3VuY2VkU2F2ZT8uZmx1c2goKT8/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZChlLHQpfV9zZXJpZXNMaW5lVG9vbHNVbmxvYWRlcihlLHQsaSl7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTsibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlJiZzLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS5zeW1ib2wpJiYodGhpcy5fdW5sb2FkTGluZXNPblNlcmllcyhpLGUuc2hhcmluZ01vZGUsdCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sLnNldChlLnNoYXJpbmdNb2RlLGUuc3ltYm9sKSl9X21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLHQ9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO3JldHVybiBuZXcgTWFwKHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KHQuaWQoKSkpfV9vblN5bWJvbFJlc29sdmVkKGUpe2NvbnN0IHQ9KHQsaSk9Pntjb25zdCBzPXtyZXF1ZXN0VHlwZToibWFpblNlcmllc0xpbmVUb29scyIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzeW1ib2w6ZS5wcm9fbmFtZSxicm9rZXJOYW1lOiIiLHNoYXJpbmdNb2RlOnR9O3JldHVybiB0aGlzLl9tYWtlTG9hZFJlcXVlc3RBbmRNZXJnZShzLHRoaXMuX3Nlcmllc0xpbmVUb29sc1VubG9hZGVyLmJpbmQodGhpcyxzLHRoaXMuX21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKSksZS5wcm9fbmFtZXx8ZS50aWNrZXJ8fGUuZnVsbF9uYW1lLGkpfSxpPXQoMikscz10KDEpLG49W2kscyx0KDAsW2ksc10pXSxyPVByb21pc2UuYWxsKG4pLnRoZW4oKCgpPT57dmFyIGU7aWYoIXRoaXMuX2Rlc3Ryb3llZCYmKHRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+MD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpJiZlLmxpbmtLZXkoKS52YWx1ZSgpKSkuZm9yRWFjaCgoZT0+e2lmKGUuc2hhcmUoMSksdGhpcy5fb3B0aW9ucy5taWdyYXRlU3luY2VkTGluZVRvb2xzKXt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscGVyZm9ybWFuY2Uubm93KCksITApO2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTt0JiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cCh0LmlkLHBlcmZvcm1hbmNlLm5vdygpLCEwKX19KSl9KSksdGhpcy5fYXV0b2ZpeFpPcmRlci52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cHNGb3JBbGxTeW1ib2xzKCkubGVuZ3RoKSl7Y29uc3QgdD17cGFuZXM6KGU9dGhpcy5fY2hhcnRNb2RlbCkucGFuZXMoKS5tYXAoeCksZ3JvdXBzOmUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3Vwc0ZvckFsbFN5bWJvbHMoKS5tYXAoTSl9LGk9KDAsQy5wcmVwYXJlWk9yZGVyRml4SWZSZXF1aXJlZCkodCk7dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCk7aT8uc2V0Wm9yZGVyKGUpfSkpfSkpfX0pKTt0aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeT1bZS5wcm9fbmFtZSxyXTtmb3IoY29uc3RbdCxpXW9mIHRoaXMuX25leHRSZXNvbHZlZFN5bWJvbERlZmVycmVkUHJvbWlzZXMpdD09PWUucHJvX25hbWU/aS5yZXNvbHZlKCk6aS5yZWplY3QobmV3IEVycm9yKCJTeW1ib2wgbWlzbWF0Y2giKSk7dGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXX1hc3luYyBfbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoZSx0LGkscyl7Y29uc3Qgbj10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxyPXRoaXMuX2N1cnJlbnRseUxvYWRlZFN5bWJvbC5nZXQoZS5zaGFyaW5nTW9kZSk/PyIiO2lmKCEhbi5zeW1ib2xTYW1lQXNDdXJyZW50KHIpKXJldHVybjt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZGVsZXRlKGUuc2hhcmluZ01vZGUpO2NvbnN0IG89YXdhaXQoMCx1LmdldENoYXJ0U3RvcmFnZSkoKTtyZXR1cm4gdGhpcy5fZGVzdHJveWVkP3ZvaWQgMDp0aGlzLl9zYXZlUHJvbWlzZSgibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlKS5jYXRjaCgoKCk9Pnt9KSkudGhlbigoKCk9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOih0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcis9MSxvLmxvYWRMaW5lVG9vbHNBbmRHcm91cHModGhpcy5fb3JpZ2luLmxheW91dElkLHRoaXMuX29yaWdpbi5jaGFydElkLGUsaSkpKSkuY2F0Y2goKCgpPT5udWxsKSkudGhlbigoYXN5bmMgaT0+e2lmKCF0aGlzLl9kZXN0cm95ZWQpe2lmKHMpdHJ5e2lmKGF3YWl0IFByb21pc2UuYWxsKHMpLHRoaXMuX2Rlc3Ryb3llZClyZXR1cm59Y2F0Y2goZSl7fWlmKHRoaXMuX3BlbmRpbmdMb2FkUmVxdWVzdHNDb3VudGVyLT0xLG51bGwhPT1pKXtjb25zdCBzPWkuc291cmNlcztzJiYodCgoZT0+cy5oYXMoZSkpKSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhpLGUuc2hhcmluZ01vZGUpKSxpLnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke2kuc2VydmVyUmVxdWVzdElkfWApfX19KSl9X3Jlc3RvcmVHcm91cHMoZSx0LGkscyl7Y29uc3Qgbj1uZXcgTWFwO3JldHVybih0Lmdyb3Vwc3x8bmV3IE1hcCkuZm9yRWFjaCgoKHQsbyk9PnsKY29uc3QgYT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKG8pO2lmKG51bGw9PT10KXtpZihhKXtjb25zdCBlPXMmJnMubGF5b3V0SWQ9PT10aGlzLl9vcmlnaW4ubGF5b3V0SWQmJnMuY2hhcnRJZD09PXRoaXMuX29yaWdpbi5jaGFydElkO2EubGluZVRvb2xzKClbMF0uc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09aSYmKGUmJjAhPT1pfHwobmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsYSxhLmxpbmVUb29scygpKS5yZWRvKCksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8sbnVsbCkpKX19ZWxzZXtpZihhJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0LnNlcnZlclVwZGF0ZVRpbWUpO2lmKG51bGwhPT1lJiZlPj1pKXJldHVybjthLnNldE5hbWUodC5uYW1lKX1lbHNlIG4uc2V0KG8sdCk7dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8saSl9fSkpLG59X2NyZWF0ZU5ld0xpbmVUb29sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZS5vd25lclNvdXJjZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZSh0KSkscz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSxuPXRoaXMuX2NoYXJ0TW9kZWwucmVzdG9yZVNvdXJjZSghMSxzLG51bGwsZS5zdGF0ZSxudWxsKTtpZihudWxsIT09bil7Y29uc3QgZT10aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChpLmlkKCkpfHxuZXcgTWFwO2Uuc2V0KG4uaWQoKSxuLmxpbmtLZXkoKS52YWx1ZSgpKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChpLmlkKCksZSl9cmV0dXJuIG59X21pZ3JhdGVTdGF0ZUZyb21NZXRhaW5mbyhlKXtjb25zdCB0PXZvaWQgMCE9PWUuc3ltYm9sJiZlLnN5bWJvbCE9PWUuc3RhdGUuc3RhdGUuc3ltYm9sO3QmJihlLnN0YXRlLnN0YXRlLnN5bWJvbD1lLnN5bWJvbCk7Y29uc3QgaT12b2lkIDAhPT1lLmN1cnJlbmN5SWQmJmUuY3VycmVuY3lJZCE9PWUuc3RhdGUuc3RhdGUuY3VycmVuY3lJZDtpJiYoZS5zdGF0ZS5zdGF0ZS5jdXJyZW5jeUlkPWUuY3VycmVuY3lJZCk7Y29uc3Qgcz12b2lkIDAhPT1lLnVuaXRJZCYmZS51bml0SWQhPT1lLnN0YXRlLnN0YXRlLnVuaXRJZDtyZXR1cm4gcyYmKGUuc3RhdGUuc3RhdGUudW5pdElkPWUudW5pdElkKSx0fHxpfHxzfV9yZXN0b3JlTGluZVRvb2woZSx0LGkscyl7aWYoKHQuc3RhdGUucG9pbnRzPz9bXSkuc29tZSgoZT0+ISgwLHAuaXNOdW1iZXIpKGUudGltZV90KSkpKXJldHVybiBudWxsO2xldCBuPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGw9PT1uJiZ0LnN0YXRlLmxpbmtLZXkmJihuPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkodC5zdGF0ZS5saW5rS2V5KSksbnVsbCE9PW4mJiEoMCxjLmlzTGluZVRvb2wpKG4pKXJldHVybiBudWxsO2lmKHRoaXMuX29yaWdpbi5jbGllbnRJZD09PXM/LmNsaWVudElkJiYhbilyZXR1cm4gbnVsbDtpZihuJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IHI9dC5zZXJ2ZXJVcGRhdGVUaW1lLG89bi5zZXJ2ZXJVcGRhdGVUaW1lKCk7aWYobnVsbCE9PWUmJmU+PXJ8fG51bGwhPT1vJiZvPj1yKXJldHVybiAwIT09aSYmKG4uc2hhcmUoaSksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKG4uaWQoKSxpKSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobix0LnN0YXRlLmFsZXJ0SWQpLG51bGw7dGhpcy5fb3JpZ2luLmNsaWVudElkIT09cz8uY2xpZW50SWQmJih0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVMaW5lVG9vbFN0YXRlKG4sdC5zdGF0ZSwhMSksbi5zaGFyaW5nTW9kZSgpLnZhbHVlKCkhPT1pJiYobi5zaGFyZShpKSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUobi5pZCgpLGkpKSxuLmNhbGNJc0FjdHVhbFN5bWJvbCgpKX0wIT09aSYmKHQub3duZXJTb3VyY2U9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSx0LnN0YXRlLm93bmVyU291cmNlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLmlkKCkpLDA9PT1pJiZ0LnN0YXRlLmxpbmtLZXkmJih0LnN0YXRlLnNoYXJpbmdNb2RlPz89MSk7Y29uc3Qgcj10aGlzLl9taWdyYXRlU3RhdGVGcm9tTWV0YWluZm8odCk7bGV0IG89bnx8dGhpcy5fY3JlYXRlTmV3TGluZVRvb2wodCk7aWYobyYmKHImJnRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQuaWQscGVyZm9ybWFuY2Uubm93KCksITApLHQuc2VydmVyVXBkYXRlVGltZSYmby5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHQuc2VydmVyVXBkYXRlVGltZSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobyx0LnN0YXRlLmFsZXJ0SWQpLDAhPT1pJiZvLnNoYXJlKGkpLHZvaWQgMD09PXMmJigwLGMuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkobykpKXt0aGlzLl9yZW1vdmVUZXh0TGluZVRvb2xJZkVtcHR5KG8pJiYobz1udWxsKX1yZXR1cm4gb31fcmVzdG9yZUxpbmVUb29sQWxlcnQoZSx0KXt0P2UucmVzdG9yZUFsZXJ0KCt0KS5jYXRjaCgoZT0+e1QubG9nRXJyb3IoYEZhaWxlZCB0byByZXN0b3JlIGxpbmVUb29sIGFsZXJ0OiAke0Vycm9yLGV9YCl9KSk6ZS5kZXRhY2hBbGVydCgpfV9yZW1vdmVMaW5lVG9vbChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO251bGwhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KX1fcmVtb3ZlVGV4dExpbmVUb29sSWZFbXB0eShlKXtyZXR1cm4hKCFlLnJlbW92ZUlmRWRpdGFibGVUZXh0SXNFbXB0eSgpfHwwIT09ZS5lZGl0YWJsZVRleHRQcm9wZXJ0aWVzKCkudGV4dC52YWx1ZSgpLmxlbmd0aCkmJih0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSwKdGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZS5pZCgpLHBlcmZvcm1hbmNlLm5vdygpLCEwKSwhMCl9X3Jlc3RvcmVMaW5lRFRPKGUsdCxpLHMsbixvKXtpZighdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldCh0KSlpZihudWxsPT09ZSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KTtpZighZSlyZXR1cm47aWYoISgwLGMuaXNMaW5lVG9vbCkoZSkpcmV0dXJuO2lmKGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09biYmdGhpcy5fb3JpZ2luLmNsaWVudElkIT09bz8uY2xpZW50SWQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTtudWxsIT09aSYmbmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsaSxbZV0pLnJlZG8oKSx0aGlzLl9yZW1vdmVMaW5lVG9vbCh0KSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUodCxudWxsKX19ZWxzZXtpZigwPT09biYmbnVsbCE9ZS5zdGF0ZS5saW5rS2V5KXtpZih0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSlyZXR1cm4gdm9pZCB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMuYWRkKGUuaWQpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGUuaWQscGVyZm9ybWFuY2Uubm93KCksITApfWlmKDA9PT1lLnN0YXRlLnBvaW50cz8ubGVuZ3RoJiZbIkxpbmVUb29sUmlza1Jld2FyZExvbmciLCJMaW5lVG9vbFJpc2tSZXdhcmRTaG9ydCJdLmluY2x1ZGVzKGUuc3RhdGUudHlwZSkpcmV0dXJuIHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQscGVyZm9ybWFuY2Uubm93KCksITApLHZvaWQgdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKHQsbik7Y29uc3QgYT10aGlzLl9yZXN0b3JlTGluZVRvb2wocyxlLG4sbyk7aWYoYSlpZihlLmdyb3VwSWQpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChhKSxzPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQoZS5ncm91cElkKTtpZihudWxsIT09dCYmcz09PXQpcmV0dXJuO2lmKG51bGwhPT10JiYodC5leGNsdWRlSXRlbShhKSwwPT09dC5saW5lVG9vbHMoKS5sZW5ndGgmJjA9PT10LnN1Ymdyb3VwcygpLmxlbmd0aCYmdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAodCkpLHMmJiFzLmNvbnRhaW5zSXRlbShhKSlzLmFkZEl0ZW1zKFthXSk7ZWxzZSBpZighcyYmaS5oYXMoZS5ncm91cElkKSl7Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKGkuZ2V0KGUuZ3JvdXBJZCkpO3RoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKFthXSx0Lm5hbWUsdC5pZCl9fWVsc2V7dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKFthXSkuZm9yRWFjaCgoZT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUscGVyZm9ybWFuY2Uubm93KCksITApfSkpfXRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZSh0LG4pfX1hc3luYyBfYXBwbHlMaW5lVG9vbHNBbmRHcm91cHNEVE8oZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jaGFydFNhdmVUaW1lKCksbj10aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+dGhpcy5fcmVzdG9yZUdyb3VwcyhzLGUsdCxpKSkpLHI9YENoYXJ0U3RvcmFnZS5TeW5jaHJvbml6ZXIuQXBwbHlpbmdEVE8uJHtgJHt0aGlzLl9vcmlnaW4ubGF5b3V0SWR9LiR7dGhpcy5fb3JpZ2luLmNoYXJ0SWR9YH1gLG89bmV3IFNldDtpZigoZS5zb3VyY2VzfHxuZXcgTWFwKS5mb3JFYWNoKChlPT57ZSYmby5hZGQoKDAsdy5nZXRMaW5lVG9vbFR5cGVGcm9tU3RhdGUpKGUuc3RhdGUpKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKG8pLm1hcCgoZT0+KDAsYy5pbml0TGluZVRvb2wpKGUpKSkpLCF0aGlzLl9kZXN0cm95ZWQpcmV0dXJuKDAsbC5wZXJmTWVhc3VyZU9wZXJhdGlvbikociwoKCk9PnRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57KGUuc291cmNlc3x8bmV3IE1hcCkuZm9yRWFjaCgoKGUscik9Pnt0cnl7aWYoZSYmKDAsYi5pc010cFByZWRpY3RvclRvb2xOYW1lKShlLnN0YXRlLnR5cGUpKXJldHVybiB2b2lkIFQubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7ZS5zdGF0ZS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApO3RoaXMuX3Jlc3RvcmVMaW5lRFRPKGUscixuLHMsdCxpKX1jYXRjaCh0KXtULmxvZ0Vycm9yKGBFcnJvciByZXN0b3JpbmcgbGluZSB0b29sICR7cn0gKCR7ZT8uc3RhdGUudHlwZX0pOiAke3R9YCksZT8uc3RhdGUudHlwZSYmIW8uaGFzKGUuc3RhdGUudHlwZSkmJlQubG9nRXJyb3IoYExpbmUgdG9vbCAke2Uuc3RhdGUudHlwZX0gbWF5IG5lZWQgdG8gYmUgaW5pdGlhbGlzZWQgZmlyc3RgKX19KSksKGUuZ3JvdXBzfHxuZXcgTWFwKS5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZGVsZXRlKHQpfSkpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfSkpfSkpKSl9X3dpdGhvdXRJbnZhbGlkYXRpbmcoZSl7dHJ5e3JldHVybiB0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrLGUoKX1maW5hbGx5e3RoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoLS19fV9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLHQsaSl7aWYodGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg+MCYmIWkpcmV0dXJuCjtjb25zdHtpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnMsc2F2ZWRUb0NoYXJ0Q29udGVudDpufT10aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUpfHx7fSxyPSh2b2lkIDA9PT1zfHxzKSYmdGhpcy5pbnZhbGlkYXRlVmlhU3luYygpO3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZSx7dGltZXN0YW1wOnQsaW52YWxpZGF0ZWRWaWFTeW5jT25seTpyLHNhdmVkVG9DaGFydENvbnRlbnQ6bn0pLHRoaXMuX2hhc0NoYW5nZXMuc2V0VmFsdWUoITApLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1faW52YWxpZGF0ZUxpbmVUb29sR3JvdXAoZSx0LGkpe2lmKHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPjAmJiFpKXJldHVybjtjb25zdHtzYXZlZFRvQ2hhcnRDb250ZW50OnN9PXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZ2V0KGUpfHx7fTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNldChlLHt0aW1lc3RhbXA6dCxpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnRoaXMuaW52YWxpZGF0ZVZpYVN5bmMoKSxzYXZlZFRvQ2hhcnRDb250ZW50OnN9KSx0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKCEwKSx0aGlzLl9kZWJvdW5jZWRTYXZlKCl9X3ByZXBhcmVEVE9JdGVtKGUsdCxpPSExKXtjb25zdCBzPW5ldyBNYXAsbj1uZXcgTWFwLHI9W10sbz1bXTtpZih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZm9yRWFjaCgoKG8sYSk9PntpZigwIT09dCYmby5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KXJldHVybiB2b2lkIHIucHVzaChhKTtjb25zdCBsPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGEpO2lmKCEoMCxTLmlzU3R1ZHlMaW5lVG9vbFN0dWIpKGwpKWlmKG51bGw9PT1sKXsodGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmdldChhKT09PXR8fGkpJiZzLnNldChhLG51bGwpfWVsc2V7aWYobD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpfHxsPT09dGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdFZGl0ZWQoKXx8IWwuaXNTYXZlZEluQ2hhcnQoKSlyZXR1cm47Y29uc3Qgcj1sLm93bmVyU291cmNlKCk9PT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxvPSFlfHxyLGM9bC5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10fHxpO2lmKG8pe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChsKTtpZihjKXMuc2V0KGEsSShsLHRoaXMuX2NoYXJ0TW9kZWwpKSxudWxsIT09ZSYmbi5zZXQoZS5pZCxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpO2Vsc2V7Y29uc3QgaT10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KGEpO2k9PT10JiZzLnNldChhLG51bGwpLG51bGwhPT1lJiZpPT09dCYmbi5zZXQoZS5pZCxudWxsKX19fX0pKSwwPT09dClmb3IoY29uc3QgZSBvZiB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpcy5oYXMoZSl8fHMuc2V0KGUsbnVsbCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZm9yRWFjaCgoKGUsaSk9PntpZigwIT09dCYmZS5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KW8ucHVzaChpKTtlbHNlIGlmKCFuLmhhcyhpKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGkpO2lmKG51bGw9PT1lKXt0aGlzLl9vcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuZ2V0KGkpPT09dCYmbi5zZXQoaSxudWxsKX1lbHNlIGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09dCYmbi5zZXQoaSxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpfX0pKSx7c291cmNlczpzLGdyb3VwczpuLGNsaWVudElkOnRoaXMuX2dlbmVyYXRlT3JpZ2luKCksbGluZVRvb2xzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKHMua2V5cygpKS5jb25jYXQociksZ3JvdXBzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKG4ua2V5cygpKS5jb25jYXQobyl9fV9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZSx0KXtudWxsIT09dD90aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuc2V0KGUsdCk6dGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmRlbGV0ZShlKX1fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsdCl7bnVsbCE9PXQ/dGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLnNldChlLHQpOnRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZS5kZWxldGUoZSl9X2xvYWRBbmRNZXJnZUxpbmVUb29sc09uU3R1ZGllcyhlLHQpe2NvbnN0IGk9e3JlcXVlc3RUeXBlOiJzdHVkaWVzTGluZVRvb2xzIixzZXJpZXNTb3VyY2VJZDp0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNoYXJpbmdNb2RlOmV9LHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7dGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoaSwoaT0+e2NvbnN0IHI9dD8oMCxuLmRlZmF1bHQpKEFycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy52YWx1ZXMoKSkubWFwKChlPT5BcnJheS5mcm9tKGUua2V5cygpKSkpKS5maWx0ZXIoKGU9PiFpKGUpKSk6W107dGhpcy5fdW5sb2FkTGluZVRvb2xzKHIsKGU9PmUub3duZXJTb3VyY2UoKSE9PXMpLGUpfSkpfV9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKGUsdCxpKXtjb25zdCBzPXtyZXF1ZXN0VHlwZToibGluZVRvb2xzV2l0aG91dFN5bWJvbCIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzaGFyaW5nTW9kZTplfSxuPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLG89KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UobikpLGE9dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoby5pZCgpKTtyZXR1cm4gdGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UocywoaT0+ewpjb25zdCBzPXQmJmE/QXJyYXkuZnJvbShhLmtleXMoKSkuZmlsdGVyKChlPT4haShlKSkpOltdO3RoaXMuX3VubG9hZExpbmVUb29scyhzLChlPT4hZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PW4pLGUpfSksdm9pZCAwLGkpfV9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKXt0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKHRoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT90aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuc2l6ZT4wfHx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNpemU+MHx8dGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLnNpemU+MDpCKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fEIodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplPjApfV9nZW5lcmF0ZU9yaWdpbigpe3JldHVybmAke3RoaXMuX29yaWdpbi5sYXlvdXRJZH0vJHt0aGlzLl9vcmlnaW4uY2hhcnRJZH0vJHt0aGlzLl9vcmlnaW4uY2xpZW50SWR9YH19ZnVuY3Rpb24gVihlKXtmb3IoY29uc3RbLHRdb2YgZSl0LnNhdmVkVG9DaGFydENvbnRlbnQ9ITB9ZnVuY3Rpb24gQihlKXtmb3IoY29uc3RbLHRdb2YgZSlpZighdC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIE4oZSl7Zm9yKGNvbnN0Wyx0XW9mIGUpaWYodC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfX0sMjkxODQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbDooKT0+bn0pO3ZhciBzPWkoNTgzMDM4KTtmdW5jdGlvbiBuKGUpe3JldHVybiFlfHwiRUNPTk9NSUNTIiE9PSgwLHMuc3BsaXRTeW1ib2xOYW1lKShlLmZ1bGxfbmFtZSlbMF19fSw3MjI1NzEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZDaGFydEFwaTooKT0+bGV9KTt2YXIgcz1pKDIwMzY4MSksbj1pKDU0Nzg1MSkscj1pKDIwNjY3Myksbz1pKDMwNDIyMSksYT1pKDgxNzM1MCksbD1pKDEzODYzOCksYz1pKDYwMTg0MSksaD1pKDIzMjM2NCksZD1pKDIyMTA2MSksdT1pKDc4MDk3NSkscD1pKDc3MzA4OCksXz1pKDkzMDIzMSksbT1pKDYwNjEwKSxnPWkoNDAzNiksZj1pKDUyMTMzMyksUz1pKDIxNzUyNyksdj1pKDc0Njk0OSkseT1pKDY2MTg1OCksYj1pKDM4NDAxNyksdz1pKDg4OTUxNSksQz1pKDc2ODc2MCksUD1pKDU4OTc0OSksVD1pKDExNjMxMCkseD1pKDQ3OTM0KSxNPWkoNTY5Mzk4KSxJPWkoODYyMjEzKSxMPWkoMTE3MzEzKSxBPWkoMTU2ODUwKSxrPWkoNjQwNzQ0KSxEPWkoNzgzMzQwKSxFPWkoOTMwMDQ1KSxSPWkoNDYzNDQ3KTtjb25zdCBWPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZGllcy5TdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSIse2NvbG9yOiIjNjA2In0pLEI9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5UcmFmZmljTWV0ZXIiLHttYXhDb3VudDoyMCxjb2xvcjoiIzI2OCJ9KSxOPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ29yZSIse2NvbG9yOiIjNzA2In0pLE89KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtjb2xvcjoiIzcwNiJ9KSxXPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ2hhcnRTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAwLGNvbG9yOiIjNzA2In0pLEY9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDowLGNvbG9yOiIjNzA2In0pLEg9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzcwNiJ9KSx6PSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7bWF4Q291bnQ6NTAsY29sb3I6IiM2NjAifSksVT0oMCxkLmdldExvZ2dlcikoIkNoYXJ0QXBpLlF1b3RlU2Vzc2lvbiIse2hpZ2hSYXRlOiEwLG1heENvdW50OjEwLGNvbG9yOiIjNjYwIn0pLEc9ISgwLEwuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxqPSgwLE0uaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIikscT0oMCxNLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCAkPSExLFk9ITEsSz0hMTtjb25zdCBYPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBaKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLGsudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1hbdF19ZnVuY3Rpb24gSihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBRKGUsdCxpKXtjb25zdCBzPXRbaV0/PzA7dFtpXT1zK2V9Y29uc3QgZWU9US5iaW5kKG51bGwsMSksdGU9US5iaW5kKG51bGwsLTEpLGllPSgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLHNlPSIvY2hhcnQtYXBpL3Byb19oYXNoIixuZT0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IHJlPW51bGw7ZnVuY3Rpb24gb2UoKXtpZihudWxsPT09cmUpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxsLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO3JlPSgwLGIuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKQp9KSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsSS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7cmV0dXJuIGUuY3VycmVuY2llcy5mb3JFYWNoKChlPT57dm9pZCAwIT09ZS5sb2dvaWQmJihlLmxvZ29Vcmw9dC5nZXRTeW1ib2xMb2dvVXJsKGUubG9nb2lkLEkuTG9nb1NpemUuTWVkaXVtKSl9KSksZX0pKX1yZXR1cm4gcmV9bGV0IGFlPW51bGw7Y2xhc3MgbGV7Y29uc3RydWN0b3IoZSl7dGhpcy5zZXNzaW9uaWQ9bnVsbCx0aGlzLl9iYW5JbmZvPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50PURhdGUubm93KCktcGVyZm9ybWFuY2Uubm93KCksdGhpcy5faW5pdENhY2hlUHJvbWlzZT0oMCxULmNyZWF0ZUpzb25TZXJpYWxpemFibGVDYWNoZSkoIlRWQ2hhcnRBcGkiKSx0aGlzLl90cmFmZmljU3RhdHM9e3RvdGFsOjAsc2luY2VDb25uZWN0OjAsbGFzdENodW5rOjB9LHRoaXMuX2xvd1F1YWxpdHlFbmFibGVkPSExLHRoaXMuX2Jyb2tlcklkPSIiLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PTAsdGhpcy5fbW9kaWZ5U3R1ZHlNYXA9bmV3IE1hcCx0aGlzLl9kaXNjb25uZWN0Q291bnQ9MCx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGU9bmV3IEUuSlNPTkRhdGFIYW5kbGVyLHRoaXMuX3Nlc3Npb25zPXt9LHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzPXt9LHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdLHRoaXMuX2xvYWROZXdCYXJzPSExLHRoaXMuX21ldGFkYXRhUmVxdWVzdE5leHROdW1iZXI9MSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3M9bmV3IE1hcCx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnM9bmV3IE1hcCx0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlPW51bGwsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbj1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub25SZWNvbm5lY3QodGhpcy5fYmluZFNvY2tldEV2ZW50cy5iaW5kKHRoaXMpKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldExvZ2dlcihOLGQuZ2V0TG9nSGlzdG9yeSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5zZXRUZWxlbWV0cnkoQS50ZWxlbWV0cnkpLHRoaXMuX2JpbmRTb2NrZXRFdmVudHMoKSx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT0oKT0+ITAsd2luZG93Py5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fHRoaXMuX2VuYWJsZUxvd1F1YWxpdHlNb2RlKCksc2V0SW50ZXJ2YWwoKCgpPT57Qi5sb2dOb3JtYWwoIkxhc3QgMzAgc2Vjb25kczoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaykrIiBTaW5jZSBsYXN0IGNvbm5lY3Q6IitaKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3QpKyIgVG90YWwgdHJhZmZpYzoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLnRvdGFsKSksdGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaz0wfSksM2U0KSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zdWJzY3JpYmUoKGU9PntlJiZ0aGlzLmRpc2Nvbm5lY3QoKX0pKX1jb25uZWN0KGUpe3RoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucz1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uaXNDb25uZWN0ZWQoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RpbmcoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5jb25uZWN0KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZGlzY29ubmVjdCgpfXNlbnRNZXRob2RzQ291bnRlcnMoKXtyZXR1cm4gdGhpcy5fc2VudE1ldGhvZHNDb3VudGVyc31yZWNlaXZlZE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxmLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIG9lKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gb2UoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgaSBvZiBlLnVuaXRzKXRbaS50eXBlXXx8KHRbaS50eXBlXT1bXSksdFtpLnR5cGVdLnB1c2goaSk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsbC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxiLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBpPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO2kmJihpLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIgo7cmV0dXJuImJvdmVzcGEiPT09ZT95LmZpbHRlcigoZT0+WyIiLCJzdG9jayIsImZ1dHVyZXMiLCJpbmRleCJdLmluY2x1ZGVzKGUudmFsdWUpKSk6ImNtZSI9PT1lP3kuZmlsdGVyKChlPT5lLnZhbHVlIT09Uy50eXBlcy5RVUFOREwpKTp5fXN5bWJvbHNHcm91cGluZygpe3JldHVybntmdXR1cmVzOi9eKC4rPykoWzEyXSF8XHdcZHs0fSk/JC99fWNvbm5lY3RlZCgpe3JldHVybiEhdGhpcy5faXNDb25uZWN0ZWR9YXV0aFRva2VuTWFuYWdlcigpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYXV0aFRva2VuTWFuYWdlcil9Y3JlYXRlU2Vzc2lvbihlLHQpe3RoaXMuX3Nlc3Npb25zW2VdPXQsdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV09e30sdGhpcy5jb25uZWN0ZWQoKSYmdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQmJnQub25NZXNzYWdlKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuQ29ubmVjdGVkLHBhcmFtczpbXX0pfXJlbW92ZVNlc3Npb24oZSl7ZGVsZXRlIHRoaXMuX3Nlc3Npb25zW2VdLGRlbGV0ZSB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXX1kaXNjb25uZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fZGlzY29ubmVjdENvdW50fHwwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UGluZ0luZm8oKX1jb25uZWN0aW9uQmFuSW5mbygpe3JldHVybiB0aGlzLl9iYW5JbmZvLnJlYWRvbmx5KCl9Y29ubmVjdGlvbnNMaW1pdFJlYWNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQucmVhZG9ubHkoKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fc2VydmVyVGltZUJhc2VQb2ludCtwZXJmb3JtYW5jZS5ub3coKSl9Y29tcGVuc2F0ZUNvbm5lY3Rpb25MYWcoZSl7Y29uc3QgdD10aGlzLnNlcnZlclRpbWUoKSxpPU1hdGguZmxvb3IoZS10KTtpPjAmJih0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50Kz1pKX1zZXRCcm9rZXIoZSl7cmV0dXJuIGU9PT10aGlzLl9icm9rZXJJZHx8KHRoaXMuX2Jyb2tlcklkPWUsdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKSl9Y2hhcnRDcmVhdGVTZXNzaW9uKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjaGFydF9jcmVhdGVfc2Vzc2lvbiIsW2UsdF0pfWNoYXJ0RGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2RlbGV0ZV9zZXNzaW9uIixbZV0pfXN3aXRjaFRpbWV6b25lKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJzd2l0Y2hfdGltZXpvbmUiLFtlLHRdKX1yZXNvbHZlU3ltYm9sKGUsdCxpLHMpe3JldHVybiBBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzWyJyZXNvbHZlX3N5bWJvbF8iK2VdPXdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhzLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXNvbHZlX3N5bWJvbCIsW2UsdCxpXSl9cmVxdWVzdEZpcnN0QmFyVGltZShlLHQsaSxzKXtyZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocyx0LCEwKSx0aGlzLl9zZW5kUmVxdWVzdCgiZ2V0X2ZpcnN0X2Jhcl90aW1lIixbZSx0LGldKX1jcmVhdGVTZXJpZXMoZSx0LGkscyxuLHIsbyxhKXtBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLnB1c2goImNyZWF0ZV9zZXJpZXNfIitlKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGw9bnVsbD09PW8/IiI6KDAscC5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKG8sITApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3NlcmllcyIsW2UsdCxpLHMsbixyLGxdKX1yZW1vdmVTZXJpZXMoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfc2VyaWVzIixbZSx0XSl9bW9kaWZ5U2VyaWVzKGUsdCxpLHMsbixyLG8sYSl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8oYSx0KTtjb25zdCBsPW51bGw9PT1vPyIiOigwLHAuY29udmVydFRpbWVGcmFtZVRvU3RyKShvLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQsaSxzLG4sbF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LGkscyl7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitpKTtjb25zdCBuPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW25dPW5ldyBSLkhhbmRsZXJJbmZvKHMsbiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxuLGldKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQsaSxzKXtyZXR1cm4gcyYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBSLkhhbmRsZXJJbmZvKHMsdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LGldKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsCnRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X2RhdGFfcHJvYmxlbXMiLFtdKT90aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYj1lOnQoKX0pKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbH0pKSksdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2V9YXN5bmMgcmVxdWVzdE1ldGFkYXRhKCl7cmV0dXJuIG51bGw9PT10aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSYmKHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPSgwLEMuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2UuZmluYWxseSgoKCk9Pnt0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsfSkpLHRoaXMuX3JlcXVlc3RNZXRhZGF0YSgpKSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFsbFN0dWRpZXNNZXRhZGF0YSgpe3Rocm93IG5ldyBFcnJvcigiVGhpcyBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIil9c2V0TG9hZE5ldyhlKXt0aGlzLl9sb2FkTmV3QmFycz0hIWV9c2V0SXNOb25Db3VudGVkU3R1ZHlGbihlKXt0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT1lfWNhbkNyZWF0ZVN0dWR5KGUsdCxpKXtjb25zdHtpZDpzLGNoaWxkOm4sZnVuZGFtZW50YWw6cixmb3JlY2FzdDpvLHN0dWJUaXRsZTphfT10LGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCx4LmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIikpLmNoaWxkX2xpbWl0O2lmKG4mJighKDAseC5lbmFibGVkKSgiU1RVRFlfT05fU1RVRFkiKXx8KHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyW2VdPz8wKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJjaGlsZCIsbGltaXRWYWx1ZTpjfTtpZihpKXJldHVybntzdWNjZXNzOiEwfTtpZihvJiYhKDAseC5lbmFibGVkKSgiRlVOREFNRU5UQUxTX0ZPUkVDQVNUIikpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmb3JlY2FzdCIsc2NyaXB0TmFtZTphfTtjb25zdCBoPSgwLGwuZW5zdXJlTm90TnVsbCkoKDAseC5nZXRDb25maWcpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKSkubGltaXQ7aWYociYmKCEoMCx4LmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKXx8dGhpcy5nZXRGdW5kYW1lbnRhbENvdW50ZXIoZSk+PWgpKXJldHVybntzdWNjZXNzOiExLHJlYXNvbjoiZnVuZGFtZW50YWwiLGxpbWl0VmFsdWU6aH07Y29uc3QgZD0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLHguZ2V0Q29uZmlnKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpKS5saW1pdDtyZXR1cm4gcnx8dGhpcy5faXNOb25Db3VudGVkU3R1ZHkocyl8fCgwLHguZW5hYmxlZCkoIklORElDQVRPUlNfT05fQ0hBUlQiKSYmISh0aGlzLmdldFN0dWR5Q291bnRlcihlKT49ZCk/e3N1Y2Nlc3M6ITB9OntzdWNjZXNzOiExLHJlYXNvbjoiZ2VuZXJhbCIsbGltaXRWYWx1ZTpkfX1jcmVhdGVTdHVkeShlLHQsaSxzLG4scixvLGEpe2NvbnN0IGw9dGhpcy5jYW5DcmVhdGVTdHVkeShlLGEpO3JldHVybiBsLnN1Y2Nlc3N8fCJjaGlsZCIhPT1sLnJlYXNvbj8odGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8obyx0KSx0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3N0dWR5IixbZSx0LGkscyxuLHJdKSxhLmZ1bmRhbWVudGFsP2VlKHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcixlKTp0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShhLmlkKXx8ZWUodGhpcy5fc3R1ZHlDb3VudGVyLGUpLGEuY2hpbGQmJmVlKHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyLGUpLHRoaXMuX3N0dWR5U3BlY3Muc2V0KEooZSx0KSxhKSwhMCk6KCgwLHcuc2hvd1Rvb01hbnlTdHVkaWVzTm90aWNlKShsLmxpbWl0VmFsdWUpLCExKX1tb2RpZnlTdHVkeShlLHQsaSxzLHIsbyl7UShvPW8/PzAsdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksMCE9PW8mJigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KEooZSx0KSkpLmNoaWxkPW8+MCksdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocix0KTtjb25zdCBhPWUrdDtpZih0aGlzLl9tb2RpZnlTdHVkeU1hcC5oYXMoYSkpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQsaSxzKT8/ITB9e2NvbnN0IHI9KDAsbi5kZWZhdWx0KSgoKGUsdCxpLHMpPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LGksc10pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLHIpLHIoZSx0LGkscyk/PyEwfX1ub3RpZnlTdHVkeShlLHQsaSxzKXtyZXR1cm4gTi5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtpfSwgJHtKU09OLnN0cmluZ2lmeShzKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxpLEpTT04uc3RyaW5naWZ5KHMpXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBpPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGkpPy5mbHVzaCgpO2NvbnN0IHM9dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09cylyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUoaSk7Y29uc3Qgbj1KKGUsdCkscj0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KG4pKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUobiksci5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoci5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxyLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxzfWNyZWF0ZVBvaW50c2V0KGUsdCxpLHMsbixyLG8pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhvLHQpLAp0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3BvaW50c2V0IixbZSx0LGkscyxuLHJdKX1tb2RpZnlQb2ludHNldChlLHQsaSxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhuLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJtb2RpZnlfcG9pbnRzZXQiLFtlLHQsaSxzXSl9cmVtb3ZlUG9pbnRzZXQoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfcG9pbnRzZXQiLFtlLHRdKX1nZXRNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1nZXRUaW1lc2NhbGVNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1xdW90ZUNyZWF0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9jcmVhdGVfc2Vzc2lvbiIsW2VdKX1xdW90ZURlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9kZWxldGVfc2Vzc2lvbiIsW2VdKX1xdW90ZUFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2FkZF9zeW1ib2xzIixbZSx0XSl9cXVvdGVSZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9yZW1vdmVfc3ltYm9scyIsW2UsdF0pfXF1b3RlRmFzdFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2Zhc3Rfc3ltYm9scyIsW2UsdF0pfXF1b3RlU2V0RmllbGRzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9zZXRfZmllbGRzIixbZSx0XSl9cXVvdGVIaWJlcm5hdGVBbGwoZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9oaWJlcm5hdGVfYWxsIixbZV0pfWRlcHRoQ3JlYXRlU2Vzc2lvbihlLHQsaSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jcmVhdGVfc2Vzc2lvbiIsW2UsdCxpXSl9ZGVwdGhEZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfZGVsZXRlX3Nlc3Npb24iLFtlXSl9ZGVwdGhTZXRTeW1ib2woZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zeW1ib2wiLFtlLHRdKX1kZXB0aENsZWFyU3ltYm9sKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfY2xlYXJfc3ltYm9sIixbZV0pfWRlcHRoU2V0U2NhbGUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zY2FsZSIsW2UsdF0pfXVucGFjayhlKXtyZXR1cm4gdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS51bnBhY2soZSl9c2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoZSx0KX1zZXRWaXNpYmxlVGltZVJhbmdlKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRWaXNpYmxlVGltZVJhbmdlIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCIpfV9pbml0KCl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwfV9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oZSl7MD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyJiYhdGhpcy5fYXV0aFRva2VuTWFuYWdlci5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJihOLmxvZ0luZm8oZSksdGhpcy5fYXV0aFRva2VuTWFuYWdlci5yZXNldCgpKX1fc2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gcSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHNlbmRpbmcgYSBtZXNzYWdlLCByZXF1ZXN0aW5nIG5ldyB0b2tlbiIpLDAhPT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD8odGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUucHVzaCh7bWV0aG9kOmUsYXJnczp0fSksITApOnRoaXMuX3NlbmRSZXF1ZXN0SW1wbChlLHQpfV9zZW5kUmVxdWVzdEltcGwoZSx0KXtjb25zdCBpPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUsaSsxKTtjb25zdCBuPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxsPXttOmUscDooMCxzLmRlZmF1bHQpKG4pfSxoPWwubS5pbmNsdWRlcygic3R1ZHkiKSYmbC5wWzVdO2gmJmZ1bmN0aW9uKGUpe2lmKCEoMCxjLmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3QgaT1lW3RdO2lmKCEoKDAsYy5pc09iamVjdCkoaSl8fCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSl8fCgwLGEuZGVmYXVsdCkoaSkpKXJldHVybiExfXJldHVybiEwfShoKSYmInRleHQiaW4gaCYmKGgudGV4dD1oLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGQ9SlNPTi5zdHJpbmdpZnkobCk7aWYobi5sZW5ndGg+MCl7Y29uc3QgZT1uWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/ei5sb2dOb3JtYWwoInNlbmQ6ICIrZCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmTy5sb2dOb3JtYWwoInNlbmQ6ICIrZCw0MDk2KX1lbHNlIE4ubG9nTm9ybWFsKCJzZW5kOiAiK2QpO2NvbnN0IHU9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLG4pO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQodSl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSwKdGhpcy5fYXV0aFRva2VuRGZkPXRoaXMuX2dldEF1dGhUb2tlbkRmZCh0aGlzLl9jb25uZWN0T25seU9wdGlvbnMudG9rZW5HcmFiU2Vzc2lvbiksdGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPXt9LHRoaXMuc2Vzc2lvbmlkPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0U2Vzc2lvbklkKCksIXRoaXMuc2Vzc2lvbmlkfHx0aGlzLl9pc0Nvbm5lY3RlZClyZXR1cm47dGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3MuY2xlYXIoKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMCx0aGlzLl9iYW5JbmZvLnNldFZhbHVlKG51bGwpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCExKTtjb25zdCBlPUpTT04ucGFyc2UodGhpcy5zZXNzaW9uaWQpO3RoaXMuX3NlbmRMb3dRdWFsaXR5TW9kZUlmRW5hYmxlZCgpLHRoaXMuX21ldGFkYXRhU2VydmVySGFzaD1lLnN0dWRpZXNfbWV0YWRhdGFfaGFzaHx8bnVsbDtjb25zdCB0PXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvbkVzdGFibGlzaGVkKCk7dHJ5e3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9TWF0aC5yb3VuZChlLnRpbWVzdGFtcE1zLXQpfWNhdGNoKGUpe3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKX1pZihOLmxvZ0luZm8oIlRpbWUgc2hpZnQgd2l0aCBzZXJ2ZXI6ICIrdGhpcy5fZm9ybWF0VGltZSh0aGlzLnNlcnZlclRpbWUoKS1EYXRlLm5vdygpKSksdGhpcy5fYXV0aFRva2VuRGZkKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MSxOLmxvZ0luZm8oIldhaXQgZm9yIGF1dGggdG9rZW4gYmVmb3JlIHNlbmQgbWVzc2FnZXMiKTtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbkRmZDtlLnRoZW4oKHQ9PntpZihudWxsIT09dGhpcy5fYXV0aFRva2VuRGZkJiZ0aGlzLl9hdXRoVG9rZW5EZmQ9PT1lKXtpZihOLmxvZ05vcm1hbCgiQXV0aCB0b2tlbiByZXF1ZXN0IGlzIGZpbmlzaGVkLCB0b2tlbjogIitCb29sZWFuKHQpKSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0KXtjb25zdCBlPVt7bWV0aG9kOiJzZXRfYXV0aF90b2tlbiIsYXJnczpbdF19XTtpZihHKXtjb25zdCB0PXdpbmRvdy5pbml0RGF0YSYmd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvO3QmJmUucHVzaCh7bWV0aG9kOiJzZXRfbG9jYWxlIixhcmdzOlt0Lmlzbyx0LmZsYWcudG9VcHBlckNhc2UoKV19KX10aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS51bnNoaWZ0KC4uLmUpfXRoaXMuX29uU2VuZGluZ1F1ZXVlUmVxdWVzdEZpbmlzaGVkKCksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITAsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9ZWxzZSBOLmxvZ05vcm1hbCgiQ29tZXMgYXV0aCB0b2tlbiBhZnRlciByZXF1ZXN0aW5nIG5ldyB0b2tlbiBvciBhZnRlciBzb2NrZXQgZGlzY29ubmVjdGVkIil9KSkuY2F0Y2goKGU9PntOLmxvZ05vcm1hbCgoMCxQLmVycm9yVG9TdHJpbmcpKGUpKX0pKX1lbHNlIE4ubG9nV2FybigiRGVmZXJyZWQgYXV0aCB0b2tlbiBvYmplY3QgaXMgbm90IHZhbGlkIiksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITA7IiIhPT10aGlzLl9icm9rZXJJZCYmdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKTtjb25zdCBpPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvblN0YXJ0KCk7QS50ZWxlbWV0cnkuc2V0U2Vzc2lvbkluZm8odGhpcy5zZXNzaW9uaWQpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3RlZCIpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnQtaX0pLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicmVjb25uZWN0X2NvdW50X2ZyYW1lIix7dmFsdWU6dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRSZWNvbm5lY3RDb3VudCgpfSksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksJHx8KCQ9ITAsQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOml9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1ELldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3QgaT1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tpXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7QS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IHM9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitpXQo7Im51bWJlciI9PXR5cGVvZiBzJiZBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9yZXNvbHZlX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktcyxhZGRpdGlvbmFsOntzeW1ib2w6dH19KX1pZihbInNlcmllc19lcnJvciIsInNlcmllc19jb21wbGV0ZWQiXS5pbmNsdWRlcyhlLm1ldGhvZCkmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MubGVuZ3RoPjApe2NvbnN0IGU9ImNyZWF0ZV9zZXJpZXNfIitpLHQ9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5pbmRleE9mKGUpO3Q+PTAmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3Muc3BsaWNlKHQsMSl9S3x8InNlcmllc19lcnJvciIhPT1lLm1ldGhvZHx8KEs9ITApO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTtpZihudWxsIT09cyYmInNlcmllc19jb21wbGV0ZWQiPT09ZS5tZXRob2QmJihLfHwoSz0hMCxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImZpcnN0X3Nlcmllc19mdWxsX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktc30pLEEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3M9W10pLFl8fChZPSEwLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicGFnZV9mdWxsX2xvYWRfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX0pKSksaS5zdGFydHNXaXRoKCJjc18iKSl7bGV0IGk9InJlY3Y6ICIrdDsiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Q/KGk9KDAsZC5pc0hpZ2hSYXRlRW5hYmxlZCkoKT9pOmkuc2xpY2UoMCw1MDApLFcubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSkpOiJzdHVkeV9sb2FkaW5nIj09PWUubWV0aG9kP0YubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSk6InRpY2ttYXJrX3VwZGF0ZSI9PT1lLm1ldGhvZD9ILmxvZ05vcm1hbCh0aGlzLl9hcHBlbmREdXJhdGlvbihpLGUudGltZSkpOk8ubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSl9aWYoaS5zdGFydHNXaXRoKCJxc18iKSl7KCJxdW90ZV9zeW1ib2xfZGF0YSI9PT1lLm1ldGhvZD9VLmxvZ05vcm1hbDp6LmxvZ05vcm1hbCkoInJlY3Y6ICIrdCl9c3dpdGNoKGUubWV0aG9kKXtjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVPYmplY3RzKGUpLHM9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSksbj10aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2Uocyk7dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6bn0pLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUucHJlcGFyZURhdGFVcGRhdGVPYmplY3RzKGksdCwoKGUsdCxpKT0+e3RoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoZSx0LGkpfSkpO2JyZWFrfWNhc2UidGlja21hcmtfdXBkYXRlIjpjb25zdCB0PXsuLi50aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZS5wYXJhbXNbMF0pLGNoYW5nZXM6W119O3RoaXMuX3Nlc3Npb25zW2ldLm9uTWVzc2FnZSh7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGUscGFyYW1zOnR9KTticmVhaztjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlOntjb25zdCB0PXRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuZ2V0RGF0YVVwZGF0ZU9iamVjdHMoZSk7dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMoaSx0LCgoZSx0LGkpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl9KSk7YnJlYWt9Y2FzZSJpbmRleF91cGRhdGUiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWlmKGUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBzPXttZXRob2Q6ImluZGV4X3VwZGF0ZSIscGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCxzKX1icmVhaztjYXNlIEQuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOk4ubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tpXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCx7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczoKY2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURhdGFFbmQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUluc3RhbmNlSWQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURlcHRoOmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlFcnJvcjpjYXNlIEQuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5T2s6dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKGUpO2JyZWFrO2Nhc2Uic2VyaWVzX3RpbWVmcmFtZSI6Y29uc3Qgcz1lLnBhcmFtc1s0XTtlLnBhcmFtc1s0XT1udWxsPT1zP251bGw6KDAscC5jb252ZXJ0U3RyVG9UaW1lRnJhbWUpKHMpLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztjYXNlInN5bWJvbF9yZXNvbHZlZCI6IWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUuY29ycmVjdGlvbnMpe2NvbnN0IHQ9KGUuc3Vic2Vzc2lvbnM/P1tdKS5maW5kKCh0PT50LmlkPT09ZS5zdWJzZXNzaW9uX2lkKSk7dm9pZCAwIT09dCYmKGUuY29ycmVjdGlvbnM9dFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pfX0oZS5wYXJhbXNbMV0pLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztkZWZhdWx0OnRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKX19X25vdGlmeVNlc3Npb25zKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX3Nlc3Npb25zKWlmKHRoaXMuX3Nlc3Npb25zLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBpPXRoaXMuX3Nlc3Npb25zW3RdOyJmdW5jdGlvbiI9PXR5cGVvZiBpLm9uTWVzc2FnZSYmaS5vbk1lc3NhZ2UoZSl9fV9vbk1lc3NhZ2UoZSl7cSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksdGhpcy5fY2FsY1RyYWZmaWNTdGF0cyhlKTtjb25zdCB0PXRoaXMudW5wYWNrKGUpO3RoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzLnNldCh0Lm1ldGhvZCwodGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuZ2V0KHQubWV0aG9kKT8/MCkrMSksInRfbXMiaW4gdCYmKDAsci5kZWZhdWx0KSh0LnRfbXMpJiZ3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyh0LnRfbXMpLCJwcm90b2NvbF9zd2l0Y2hlZCIhPT10Lm1ldGhvZD8icHJvdG9jb2xfZXJyb3IiIT09dC5tZXRob2Q/dGhpcy5fZGlzcGF0Y2hOb3RpZmljYXRpb24odCxlKTp0aGlzLl9wcm9jZXNzUHJvdG9jb2xFcnJvcih0KTpOLmxvZ0Vycm9yKCJVbmV4cGVjdGVkIHByb3RvY29sIGNoYW5naW5nIHJlcXVlc3QsIHRyeSBza2lwcGluZy4gUmVxdWVzdGVkIHByb3RvY29sOiIrdC5wYXJhbXNbMF0pfWFzeW5jIF9wcm9jZXNzZWRNZXRhZGF0YShlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpLGk9YXdhaXQgdGhpcy5faW5pdENhY2hlUHJvbWlzZSxuPXdpbmRvdy5wcm8uaGFzaCgpLHI9KDAsXy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik7dHJ5e2F3YWl0IGkuc2V0VmFsdWUobmUsKDAscy5kZWZhdWx0KShlKSk7Y29uc3Qgbz1BcnJheS5mcm9tKG5ldyBTZXQoZS5wYXJhbXNbMV0ubWV0YWluZm8ubWFwKChlPT57cmV0dXJuYCR7KHQ9KDAsZy5wYXJzZUlkU3RyaW5nKShlLmlkKSkucGFja2FnZUlkfS0ke3QudmVyc2lvbn1gO3ZhciB0fSkpKSk7aWYoTi5sb2dOb3JtYWwoYFVwZGF0ZWQgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgdW5pcXVlIHBhY2thZ2UgaWRzOiAke28uam9pbigiLCAiKX1gKSwhcil0cnl7YXdhaXQgaS5zZXRWYWx1ZShzZSwoMCxzLmRlZmF1bHQpKG4pKSxOLmxvZ05vcm1hbCgiVXBkYXRlZCBwcm9faGFzaCBjYWNoZSIpfWNhdGNoKGUpe3QucmVqZWN0KCksTi5sb2dFcnJvcigiQ2Fubm90IHVwZGF0ZSBwcm9faGFzaCBjYWNoZSwgcmVhc29uOiAiK2UpfX1jYXRjaChlKXt0LnJlamVjdCgpLE4ubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxzLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgcz10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1zJiYocy5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0scy5oYW5kbGVyPy4oaSkpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTtWLmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSksaT13aW5kb3cucHJvLG49aS5oYXNoKCkscj0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtOLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCBvPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgby5taWdyYXRlVmFsdWUoInByb19oYXNoIixzZSksYXdhaXQgby5taWdyYXRlVmFsdWUoaWUsbmUpO2NvbnN0IGE9YXdhaXQgby5nZXRWYWx1ZShzZSk7aWYobnVsbCE9PWEmJmE9PT1ufHxyKXtOLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKQo7Y29uc3Qgcj1hd2FpdCBvLmdldFZhbHVlKG5lKSxhPW51bGwhPT1yJiZyLnBhcmFtc1sxXS5oYXNofHxudWxsO2lmKG51bGw9PT1hfHxudWxsPT09dGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNofHx0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2ghPT1hKU4ubG9nTm9ybWFsKGBNZXRhZGF0YSBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9Jywgc2VydmVyOiAnJHt0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h9JylgKSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpO2Vsc2V7aWYoIWkuaGFzUGFja2FnZSgidHYtdm9sdW1lYnlwcmljZSIpfHx2b2lkIDAhPT1yLnBhcmFtc1sxXS5tZXRhaW5mby5maW5kKChlPT5lLmlkLmluY2x1ZGVzKCJAdHYtdm9sdW1lYnlwcmljZSIpKSkpcmV0dXJuIE4ubG9nTm9ybWFsKCJVc2luZyBzdHVkaWVzX21ldGFkYXRhIGZyb20gYnJvd3NlciBjYWNoZSIpLHZvaWQgdC5yZXNvbHZlKCgwLHMuZGVmYXVsdCkocikpO04ubG9nTm9ybWFsKGBEZS1zeW5jIGRldGVjdGVkISBwcm8uaGFzaCBjb250YWlucyBWYlBSIHN0dWRpZXMsIGJ1dCBkYXRhIGZyb20gY2FjaGUgZG9lc24ndCBhbmQgcHJvLmhhc2ggaXNuJ3QgY2hhbmdlZCwgcHJvLmhhc2g9JHtufWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9fWVsc2UgTi5sb2dOb3JtYWwoYFBybyBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9JywgY3VycmVudDogJyR7bn0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9Y2F0Y2godCl7Ti5sb2dFcnJvcigiQ2Fubm90IGdldCBzdHVkaWVzX21ldGFkYXRhLCByZWFzb246ICIrdCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1maW5hbGx5e1YubG9nTm9ybWFsKGBSZXF1ZXN0aW5nIHN0dWRpZXMgbWV0YWRhdGEgIyR7ZX0gZmluaXNoZWRgKX19X21ha2VOZXh0UmVxdWVzdElkKCl7cmV0dXJuIm1ldGFkYXRhXyIrdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcisrfV9wcm9jZXNzUHJvdG9jb2xFcnJvcihlKXtjb25zdCB0PWUucGFyYW1zWzBdO04ubG9nRXJyb3IoYFByb3RvY29sIGVycm9yLiBSZWFzb249JHt0fS5gKSwiYmFubmVkIiE9PXQmJiJiYW5uZWQgYnkgdXNlcl9pZCIhPT10JiYiYmFubmVkIGJ5IGlwIiE9PXR8fCh0aGlzLl9iYW5JbmZvLnNldFZhbHVlKHtyZWFzb246dH0pLHRoaXMuZGlzY29ubmVjdCgpKSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zZXRWYWx1ZSgidXNlciBjb25uZWN0aW9ucyBsaW1pdCByZWFjaGVkIj09PXQpfV9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpe3JldHVybiBOLmxvZ05vcm1hbCgiUmVxdWVzdCBzdHVkaWVzX21ldGFkYXRhIGZyb20gc2VydmVyIiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3Rfc3R1ZGllc19tZXRhZGF0YSIsW2VdKX1fYmluZFNvY2tldEV2ZW50cygpe3RoaXMuY29ubmVjdERmZD1uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJjb25uZWN0IiwoKCk9Pnt0aGlzLl9vbkNvbm5lY3QoKSxlKCl9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigibWVzc2FnZSIsdGhpcy5fb25NZXNzYWdlLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImRpc2Nvbm5lY3QiLCgoKT0+e3RoaXMuX2F1dGhUb2tlbkRmZCYmKHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsKSx0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrKCksdGhpcy5faXNDb25uZWN0ZWQ9ITEsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5EaXNjb25uZWN0ZWQscGFyYW1zOltdfSksdGhpcy5fYmFuSW5mby52YWx1ZSgpfHwodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9bnVsbCksdGhpcy5fZGlzY29ubmVjdENvdW50PSh0aGlzLl9kaXNjb25uZWN0Q291bnR8fDApKzEsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpJiYodGhpcy5fdGVsZW1ldHJ5RGlzY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9PntBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImRpc2Nvbm5lY3QiKX0pLDVlMyksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIWp8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe04ubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiCjtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZbZV18fCJ3aWRnZXRfdXNlcl90b2tlbiIpfWlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ1bmF1dGhvcml6ZWRfdXNlcl90b2tlbiIpO2lmKCF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKXtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbk1hbmFnZXI9bmV3IG0uQXV0aFRva2VuO2UuaW52YWxpZGF0ZWQuc3Vic2NyaWJlKG51bGwsKGFzeW5jKCk9Pnt0cnl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQrPTE7Y29uc3QgdD1hd2FpdCBlLmdldCgpO2lmKCF0KXJldHVybiB2b2lkIE4ubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCBidXQgbmV3IHRva2VuIGlzIGVtcHR5Iik7aWYoIXRoaXMuY29ubmVjdGVkKCkpcmV0dXJuIHZvaWQgTi5sb2dJbmZvKGBBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBzb2NrZXQgaXMgbm90IGNvbm5lY3RlZC4gVG9rZW46ICR7dH1gKTtOLmxvZ0luZm8oIkF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgcmVmcmVzaGluZyB0b2tlbiBhbmQgcmVzZW5kaW5nIHRvIHNlc3Npb24iKSx0aGlzLl9zZW5kUmVxdWVzdEltcGwoInNldF9hdXRoX3Rva2VuIixbdF0pfWNhdGNoKGUpe3Rocm93IE4ubG9nRXJyb3IoYEZhaWxlZCB0byByZWZyZXNoIGF1dGggdG9rZW4gYWZ0ZXIgaW52YWxpZGF0aW9uOiAkeygwLFAuZXJyb3JUb1N0cmluZykoZSl9YCksZX1maW5hbGx5e3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLDA9PT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCYmZS5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9fSkpfXJldHVybiB0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmdldChlKX1fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudC09MSxOLmxvZ0luZm8oYFNlbmRpbmcgcXVldWUgcmVxdWVzdCBmaW5pc2hlZC4gUmVtYWluaW5nIHBlbmRpbmcgcmVxdWVzdHM9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudDwwJiZOLmxvZ0Vycm9yKGBJbnZhbGlkIHF1ZXVlIHN0YXRlPSR7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnR9YCksMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9mbHVzaFBlbmRpbmdNZXNzYWdlcygpfV9mbHVzaFBlbmRpbmdNZXNzYWdlcygpe04ubG9nSW5mbyhgRmx1c2ggcGVuZGluZyBtZXNzYWdlcy4gQ291bnQ9JHt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5sZW5ndGh9YCksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUuZm9yRWFjaCgoZT0+dGhpcy5fc2VuZFJlcXVlc3QoZS5tZXRob2QsZS5hcmdzKSkpLHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdfX0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlPW5ldyBsZSh3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbikpfSw2ODI4MjIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U3Vic2Vzc2lvbklkOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5SZWd1bGFyPSJyZWd1bGFyIixlLkV4dGVuZGVkPSJleHRlbmRlZCIsZS5QcmVNYXJrZXQ9InByZW1hcmtldCIsZS5Qb3N0TWFya2V0PSJwb3N0bWFya2V0IixlLlR3ZW50eUZvdXJIb3VyPSIyNGgiLGUuTmlnaHQ9Im5pZ2h0In0oc3x8KHM9e30pKX0sNDc3MTU1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FjdGlvbldpdGhTdGFuZGFyZEljb246KCk9PnJ9KTt2YXIgcz1pKDUwOTA0KSxuPWkoNjEzODgxKTtjbGFzcyByIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3R7b3B0aW9uczp0LGN1c3RvbUFjdGlvbk9wdGlvbnM6aX09ZTt0Lmljb25JZCYmKHQuaWNvbj10Lmljb24/P24uaWNvbnMuZ2V0KHQuaWNvbklkKSksaSYmaS5pY29uSWQmJihpLmljb249aS5pY29uPz9uLmljb25zLmdldChpLmljb25JZCkpLHN1cGVyKGUpfX19LDUwOTA0KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse0FjdGlvbjooKT0+YyxMb2FkZXI6KCk9PmQsU2VwYXJhdG9yOigpPT5ofSksZnVuY3Rpb24oZSl7ZS5Ob3JtYWw9Im5vcm1hbCIsZS5CaWc9ImJpZyJ9KHN8fChzPXt9KSk7dmFyIG49aSgxMzg2MzgpLHI9aSgyMzU3MjQpLG89aSgxNTAxNTApLGE9aSg5NDgzODApO2NsYXNzIGwgZXh0ZW5kcyBhLkRlbGVnYXRle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fb25TdGFydExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RhcnRMaXN0ZW5pbmc9ZXx8bnVsbH1zdWJzY3JpYmUoZSx0LGkpe2NvbnN0IHM9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIuc3Vic2NyaWJlKGUsdCxpKSxzJiZ0aGlzLl9saXN0ZW5lcnMubGVuZ3RoPjAmJnRoaXMuX29uU3RhcnRMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmc9dGhpcy5fb25TdGFydExpc3RlbmluZygpKX11bnN1YnNjcmliZShlLHQpe2NvbnN0IGk9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIudW5zdWJzY3JpYmUoZSx0KSwhaSYmMD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGgmJnRoaXMuX29uU3RvcExpc3RlbmluZyYmKHRoaXMuX29uU3RvcExpc3RlbmluZygpLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsKX11bnN1YnNjcmliZUFsbChlKXtjb25zdCB0PTA9PT10aGlzLl9saXN0ZW5lcnMubGVuZ3RoO3N1cGVyLnVuc3Vic2NyaWJlQWxsKGUpLCF0JiYwPT09dGhpcy5fbGlzdGVuZXJzLmxlbmd0aCYmdGhpcy5fb25TdG9wTGlzdGVuaW5nJiYodGhpcy5fb25TdG9wTGlzdGVuaW5nKCksdGhpcy5fb25TdG9wTGlzdGVuaW5nPW51bGwpfWRlc3Ryb3koKXt0aGlzLl9vblN0b3BMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmcoKSx0aGlzLl9vblN0b3BMaXN0ZW5pbmc9bnVsbCksc3VwZXIuZGVzdHJveSgpfX1jbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0iYWN0aW9uIiwKdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2xvYWRPcHRpb25zUHJvbWlzZT1udWxsLHRoaXMuX2N1c3RvbUFjdGlvbj1udWxsO2NvbnN0e2FjdGlvbklkOnQsb3B0aW9uczppLG9wdGlvbnNMb2FkZXI6cyxjdXN0b21BY3Rpb25PcHRpb25zOnIsY3VzdG9tQWN0aW9uT3B0aW9uc0xvYWRlcjphLGlkOmg9by5ndWlkKCksb25TdGFydExpc3RlbmluZzpkfT1lOygwLG4uYXNzZXJ0KSh2b2lkIDAhPT10LCJhY3Rpb25JZCBtdXN0IGJlIGRlZmluZWQiKSx0aGlzLmlkPWgsdGhpcy5fb25VcGRhdGU9bmV3IGwoZCksdGhpcy5fb3B0aW9ucz17YWN0aW9uSWQ6dCwuLi5pfSx0aGlzLnVwZGF0ZShpKSx0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj1zPz9udWxsLHRoaXMuX2xvYWRPcHRpb25zR2V0dGVyJiYodGhpcy5fb3B0aW9ucy5sb2FkaW5nPSEwKSxyJiYodGhpcy5fY3VzdG9tQWN0aW9uPW5ldyBjKHthY3Rpb25JZDp0LG9wdGlvbnM6cixvcHRpb25zTG9hZGVyOmEsaWQ6aH0pKX1jdXN0b20oKXtyZXR1cm4gdGhpcy5fY3VzdG9tQWN0aW9ufWV4ZWN1dGUoKXt0aGlzLl9vcHRpb25zLmNoZWNrYWJsZSYmdGhpcy51cGRhdGUoe2NoZWNrZWQ6IXRoaXMuX29wdGlvbnMuY2hlY2tlZH0pLHRoaXMuX29wdGlvbnMub25FeGVjdXRlJiZ0aGlzLl9vcHRpb25zLm9uRXhlY3V0ZSh0aGlzKX1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhYmVsfHwiIn1nZXRTdWJJdGVtcygpe3JldHVybiB0aGlzLl9vcHRpb25zLnN1Ykl0ZW1zfHxbXX1pc0Rpc2FibGVkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmRpc2FibGVkfWlzQWN0aXZlKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmFjdGl2ZX1pc0NoZWNrYWJsZSgpe3JldHVybiEwPT09dGhpcy5fb3B0aW9ucy5jaGVja2FibGV9aXNDaGVja2VkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmNoZWNrZWR9aXNMb2FkaW5nKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmxvYWRpbmd9bG9hZE9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlP3RoaXMuX2xvYWRPcHRpb25zUHJvbWlzZTp0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj8odGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlPXRoaXMuX2xvYWRPcHRpb25zR2V0dGVyKCkudGhlbigoZT0+dGhpcy51cGRhdGUoey4uLmUsbG9hZGluZzohMX0pKSksdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlKTpudWxsfWdldFNpemUoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5zaXplPz8ibm9ybWFsIn1nZXRQYXlsb2FkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucGF5bG9hZH11cGRhdGUoZSl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fdW5iaW5kU2hvcnRjdXQoKSxlLmhvdGtleUhhc2gmJih0aGlzLl9vcHRpb25zLnNob3J0Y3V0SGludD0oMCxyLmh1bWFuUmVhZGFibGVIYXNoKShlLmhvdGtleUhhc2gpKSx0aGlzLl9vcHRpb25zPU9iamVjdC5hc3NpZ24odGhpcy5fb3B0aW9ucyxlKSx0aGlzLl9iaW5kU2hvcnRjdXQoKSx0aGlzLl9vblVwZGF0ZS5maXJlKHRoaXMpKX1vblVwZGF0ZSgpe3JldHVybiB0aGlzLl9vblVwZGF0ZX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLmxvYWRPcHRpb25zKCkse2FjdGlvbklkOnRoaXMuX29wdGlvbnMuYWN0aW9uSWQsbGFiZWw6dGhpcy5nZXRMYWJlbCgpLHN0eWxlZExhYmVsOnRoaXMuX29wdGlvbnMuc3R5bGVkTGFiZWwsZGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkKCksYWN0aXZlOnRoaXMuaXNBY3RpdmUoKSxzdWJJdGVtczp0aGlzLmdldFN1Ykl0ZW1zKCksY2hlY2thYmxlOnRoaXMuaXNDaGVja2FibGUoKSxjaGVja2VkOnRoaXMuaXNDaGVja2VkKCksbG9hZGluZzp0aGlzLmlzTG9hZGluZygpLHNpemU6dGhpcy5nZXRTaXplKCksZG9Ob3RDbG9zZU9uQ2xpY2s6dGhpcy5fb3B0aW9ucy5kb05vdENsb3NlT25DbGlja3x8ITEsc2hvcnRjdXRIaW50OnRoaXMuX29wdGlvbnMuc2hvcnRjdXRIaW50LGhpbnQ6dGhpcy5fb3B0aW9ucy5oaW50LGljb246dGhpcy5fb3B0aW9ucy5pY29uLGljb25JZDp0aGlzLl9vcHRpb25zLmljb25JZCxpY29uQ2hlY2tlZDp0aGlzLl9vcHRpb25zLmljb25DaGVja2VkLHRvb2xib3g6dGhpcy5fb3B0aW9ucy50b29sYm94LHNob3dUb29sYm94T25Ib3Zlcjp0aGlzLl9vcHRpb25zLnNob3dUb29sYm94T25Ib3Zlcnx8ITEsc3RhdE5hbWU6dGhpcy5fb3B0aW9ucy5zdGF0TmFtZSxuYW1lOnRoaXMuX29wdGlvbnMubmFtZSxpbnZpc2libGVIb3RrZXk6dGhpcy5fb3B0aW9ucy5pbnZpc2libGVIb3RrZXksbm9JbnRlcmFjdGl2ZTp0aGlzLl9vcHRpb25zLm5vSW50ZXJhY3RpdmUsanN4TGFiZWw6ImpzeExhYmVsImluIHRoaXMuX29wdGlvbnM/dGhpcy5fb3B0aW9ucy5qc3hMYWJlbDp2b2lkIDAsaXNSZXBlYXRBY2NlcHRlZDp0aGlzLl9vcHRpb25zLmlzUmVwZWF0QWNjZXB0ZWR9fWRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fb25VcGRhdGUuZGVzdHJveSgpLHRoaXMuX3VuYmluZFNob3J0Y3V0KCksdGhpcy5fb3B0aW9ucy5vbkRlc3Ryb3k/LigpLHRoaXMuX2N1c3RvbUFjdGlvbj8uZGVzdHJveSgpfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31fYmluZFNob3J0Y3V0KCl7aWYoIXRoaXMuX29wdGlvbnMuaG90a2V5R3JvdXB8fCF0aGlzLl9vcHRpb25zLmhvdGtleUhhc2gpcmV0dXJuO2NvbnN0IGU9InN0cmluZyI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmxhYmVsP3RoaXMuX29wdGlvbnMubGFiZWw6dGhpcy5fb3B0aW9ucy5uYW1lO3RoaXMuX2hvdGtleUFjdGlvbj10aGlzLl9vcHRpb25zLmhvdGtleUdyb3VwLmFkZCh7aG90a2V5OnRoaXMuX29wdGlvbnMuaG90a2V5SGFzaCxpc1JlcGVhdEFjY2VwdGVkOnRoaXMuX29wdGlvbnMuaXNSZXBlYXRBY2NlcHRlZCxkZXNjOmUsaGFuZGxlcjooKT0+dGhpcy5leGVjdXRlKCksaXNEaXNhYmxlZDooKT0+dGhpcy5pc0Rpc2FibGVkKCl9KX1fdW5iaW5kU2hvcnRjdXQoKXt0aGlzLl9ob3RrZXlBY3Rpb24mJih0aGlzLl9ob3RrZXlBY3Rpb24uZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9ob3RrZXlBY3Rpb24pfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpewp0aGlzLnR5cGU9InNlcGFyYXRvciIsdGhpcy5pZD1vLmd1aWQoKSx0aGlzLl9oaW50PWV9Z2V0SGludCgpe3JldHVybiB0aGlzLl9oaW50fX1jbGFzcyBkIGV4dGVuZHMgY3tjb25zdHJ1Y3RvcihlKXtzdXBlcih7YWN0aW9uSWQ6ZSxvcHRpb25zOnt9fSl9aXNMb2FkaW5nKCl7cmV0dXJuITB9Z2V0U2l6ZSgpe3JldHVybiJiaWcifX19LDYxMzg4MShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtpY29uczooKT0+eH0pLGZ1bmN0aW9uKGUpe2UuQ2hhcnRTaG93RGF0YVdpbmRvdz0iQ2hhcnQuU2hvd0RhdGFXaW5kb3ciLGUuQ2hhcnRSZXNldD0iQ2hhcnQuUmVzZXQiLGUuQ2hhcnRSZW1vdmVTZWxlY3RlZE9iamVjdD0iQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLGUuU2V0dGluZ3M9IlNldHRpbmdzIixlLkNoYXJ0SGlkZT0iQ2hhcnQuSGlkZSIsZS5DaGFydFN5bWJvbEluZm89IkNoYXJ0LlN5bWJvbEluZm8iLGUuQ2hhcnRGaW5hbmNpYWxzPSJDaGFydC5GaW5hbmNpYWxzIixlLkNoYXJ0VGVjaG5pY2Fscz0iQ2hhcnQuVGVjaG5pY2FscyIsZS5DaGFydERldGFpbHNNZXRyaWNzPSJDaGFydC5EZXRhaWxzTWV0cmljcyIsZS5DaGFydFNlYXNvbmFscz0iQ2hhcnQuU2Vhc29uYWxzIixlLkNoYXJ0QW5hbHlzaXM9IkNoYXJ0LkFuYWx5c2lzIixlLkNoYXJ0U3RvY2tCb25kcz0iQ2hhcnQuU3RvY2tCb25kcyIsZS5DaGFydEZvcndhcmRDdXJ2ZT0iQ2hhcnQuRm9yd2FyZEN1cnZlIixlLkNoYXJ0RGVyaXZhdGl2ZXM9IkNoYXJ0LkRlcml2YXRpdmVzIixlLkNoYXJ0TmV3c0RpYWxvZz0iQ2hhcnQuTmV3c0RpYWxvZyIsZS5DaGFydENvbnRyYWN0cz0iQ2hhcnQuQ29udHJhY3RzIixlLkNoYXJ0Rm9yZWNhc3Q9IkNoYXJ0LkZvcmVjYXN0IixlLkNoYXJ0T3B0aW9ucz0iQ2hhcnQuT3B0aW9ucyIsZS5DaGFydERvY3VtZW50cz0iQ2hhcnQuRG9jdW1lbnRzIixlLkNoYXJ0RXRmcz0iQ2hhcnQuRXRmcyIsZS5DaGFydEVjb25vbXlJZGljYXRvcnM9IkNoYXJ0LkVjb25vbXlJbmRpY2F0b3JzIixlLkFsZXJ0QWRkPSJBbGVydC5BZGQiLGUuQWxlcnRFZGl0PSJBbGVydC5FZGl0IixlLkFsZXJ0UmVzdGFydD0iQWxlcnQuUmVzdGFydCIsZS5BbGVydFN0b3A9IkFsZXJ0LlN0b3AiLGUuQWxlcnRGaXJlc0Rvd25sb2FkPSJBbGVydC5GaXJlc0Rvd25sb2FkIixlLkNsZWFyQWxsPSJBbGVydC5DbGVhciIsZS5DaGFydFZpc3VhbE9yZGVyPSJDaGFydC5WaXN1YWxPcmRlciIsZS5DaGFydFNob3dPYmplY3Q9IkNoYXJ0LlNob3dPYmplY3QiLGUuQ2hhcnRQcmljZVNjYWxlPSJDaGFydC5QcmljZVNjYWxlIixlLkNoYXJ0TW92ZT0iQ2hhcnQuTW92ZSIsZS5DaGFydEFwcGx5SW5kaWNhdG9yPSJDaGFydC5BcHBseUluZGljYXRvciIsZS5DaGFydFVubG9ja09iamVjdD0iQ2hhcnQuVW5sb2NrT2JqZWN0IixlLkNoYXJ0TG9ja09iamVjdD0iQ2hhcnQuTG9ja09iamVjdCIsZS5DaGFydEFuY2hvckxpbmVUb29sPSJDaGFydC5BbmNob3JMaW5lVG9vbCIsZS5DaGFydEluc2VydFJvd1RhYmxlPSJDaGFydC5JbnNlcnRSb3dUYWJsZSIsZS5DaGFydEluc2VydENvbHVtblRhYmxlPSJDaGFydC5JbnNlcnRDb2x1bW5UYWJsZSIsZS5DaGFydFJlbW92ZVJvd1RhYmxlPSJDaGFydC5SZW1vdmVSb3dUYWJsZSIsZS5DaGFydFJlbW92ZUNvbHVtblRhYmxlPSJDaGFydC5SZW1vdmVDb2x1bW5UYWJsZSIsZS5DaGFydENsb25lPSJDaGFydC5DbG9uZSIsZS5DaGFydEFkZEhvcnpMaW5lPSJDaGFydC5BZGRIb3J6TGluZSIsZS5XYXRjaGxpc3RBZGRTeW1ib2w9IldhdGNobGlzdC5BZGRTeW1ib2wiLGUuV2F0Y2hsaXN0Q3JlYXRlTmV3PSJXYXRjaGxpc3QuQ3JlYXRlTmV3IixlLlRleHROb3RlQWRkPSJUZXh0Tm90ZS5BZGQiLGUuVHJhZGluZ1NlbGw9IlRyYWRpbmcuU2VsbCIsZS5UcmFkaW5nQnV5PSJUcmFkaW5nLkJ1eSIsZS5UcmFkaW5nQWRkT3JkZXI9IlRyYWRpbmcuQWRkT3JkZXIiLGUuT2JqZWN0c1RyZWVDcmVhdGVHcm91cD0iT2JqZWN0c1RyZWUuQ3JlYXRlR3JvdXAiLGUuT2JqZWN0c1RyZWVSZW5hbWVJdGVtPSJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixlLkluZGljYXRvckFkZFRvRmF2b3JpdGVzPSJJbmRpY2F0b3IuQWRkVG9GYXZvcml0ZXMifShzfHwocz17fSkpO3ZhciBuPWkoMTkwMzU1KSxyPWkoNjA5MDk2KSxvPWkoODEyMDg0KSxhPWkoNTE0MjE2KSxsPWkoMzc0MTYpLGM9aSgyMTUyOTIpLGg9aSg3NTYyODgpLGQ9aSg1NzYxMDMpLHU9aSg1NzAzNjIpLHA9aSg5NTc4NDYpLF89aSgzMTIzMDYpLG09aSgzNjk5MjQpLGc9aSg4NTQzOTkpLGY9aSg1OTE5NjkpLFM9aSg1MjI4ODkpLHY9aSg3MDkwMDkpLHk9aSgxMDE2MyksYj1pKDYzNTE3OSksdz1pKDk0Njk0MiksQz1pKDgwNzU2MyksUD1pKDU1ODk3OSk7bGV0IFQ9W1siQ2hhcnQuUmVzZXQiLENdLFsiQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLFBdLFsiU2V0dGluZ3MiLHddLFsiQ2hhcnQuSGlkZSIsaSgyMzAyNTIpXSxbIkNoYXJ0LlN5bWJvbEluZm8iLGkoNzY5NzUyKV0sWyJDaGFydC5WaXN1YWxPcmRlciIsaSg3NjMzMTYpXSxbIkNoYXJ0LlNob3dPYmplY3QiLGkoNTE4NjcpXSxbIkNoYXJ0LlByaWNlU2NhbGUiLGkoMjE0MTg2KV0sWyJDaGFydC5Nb3ZlIixpKDYzMTk2MyldLFsiQ2hhcnQuQXBwbHlJbmRpY2F0b3IiLGkoMjkwMDQ0KV0sWyJDaGFydC5VbmxvY2tPYmplY3QiLGkoODY3MTc0KV0sWyJDaGFydC5Mb2NrT2JqZWN0IixpKDc2NTM1MyldLFsiQ2hhcnQuQW5jaG9yTGluZVRvb2wiLGkoNjk3MDg1KV0sWyJDaGFydC5JbnNlcnRSb3dUYWJsZSIsaSg3MTMxNDApXSxbIkNoYXJ0Lkluc2VydENvbHVtblRhYmxlIixpKDM4NzYzOCldLFsiQ2hhcnQuUmVtb3ZlUm93VGFibGUiLFBdLFsiQ2hhcnQuUmVtb3ZlQ29sdW1uVGFibGUiLFBdLFsiQ2hhcnQuQ2xvbmUiLGkoOTM3MjEpXSxbIkNoYXJ0LkFkZEhvcnpMaW5lIixpKDgxNjk1MyldLFsiSW5kaWNhdG9yLkFkZFRvRmF2b3JpdGVzIixiXV0KO1Q9VC5jb25jYXQoW1siVGV4dE5vdGUuQWRkIixkXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdLFsiV2F0Y2hsaXN0LkNyZWF0ZU5ldyIsaF0sWyJDaGFydC5GaW5hbmNpYWxzIix1XSxbIkNoYXJ0LlRlY2huaWNhbHMiLHBdLFsiQWxlcnQuQWRkIixfXSxbIkFsZXJ0LkVkaXQiLG1dLFsiQWxlcnQuUmVzdGFydCIsZl0sWyJBbGVydC5TdG9wIixTXSxbIkFsZXJ0LkZpcmVzRG93bmxvYWQiLGddLFsiQWxlcnQuQ2xlYXIiLHZdLFsiQ2hhcnQuRGV0YWlsc01ldHJpY3MiLHldXSksVD1ULmNvbmNhdChbWyJDaGFydC5TaG93RGF0YVdpbmRvdyIsbl0sWyJUcmFkaW5nLlNlbGwiLHJdLFsiVHJhZGluZy5CdXkiLG9dLFsiVHJhZGluZy5BZGRPcmRlciIsYV0sWyJPYmplY3RzVHJlZS5DcmVhdGVHcm91cCIsbF0sWyJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixjXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdXSk7Y29uc3QgeD1uZXcgTWFwKFQpfSwzNTY0MzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKCl7cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzkxODIpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDg4NDgzKSxpLmUoNjc3OSksaS5lKDU5NjQ5KSxpLmUoNDc3MjMpXSkudGhlbihpLmJpbmQoaSw1NzUyNjIpKX1pLmQodCx7YWN0aW9uc1Byb3ZpZGVyTW9kdWxlOigpPT5zfSl9LDQ4MzAxNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtkZWZhdWx0Q2hhcnRXaWRnZXRBY3Rpb25zT3B0aW9uczooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuQ29weT0iQ29weSJ9KHN8fChzPXt9KSk7Y29uc3Qgbj17Z2VuZXJhbDohMCxtYWluU2VyaWVzOiEwLG1haW5TZXJpZXNUcmFkZTohMSxlc2RTdHVkaWVzOiEwLHN0dWRpZXM6ITAsZnVuZGFtZW50YWxzOiEwLGxpbmVUb29sczohMCxwdWJsaXNoZWRDaGFydHM6ITAsb3JkZXJzQW5kUG9zaXRpb25zOiEwLGFsZXJ0czohMCxjaGFydEV2ZW50czohMCxvYmplY3RUcmVlOiEwLGdvdG9MaW5lVG9vbDohMX19LDI4MmUzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NsaXBib2FyZERhdGFGb3JTb3VyY2VzOigpPT5sLGlzTGluZVRvb2xDbGlwYm9hcmREYXRhOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MDQ1NzIpLHI9aSg5NTY0MzcpLG89aSg4ODE5Mik7ZnVuY3Rpb24gYShlKXtyZXR1cm4iZHJhd2luZyI9PT1lLnR5cGV9ZnVuY3Rpb24gbChlLHQpe2lmKDE9PT10Lmxlbmd0aCYmKDAsci5pc1N0dWR5KSh0WzBdKSl7Y29uc3QgZT10WzBdO3JldHVybnt0aXRsZTplLnRpdGxlKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLHNvdXJjZXM6W3tzb3VyY2U6KDAscy5lbnN1cmVOb3ROdWxsKShlLnN0YXRlKCkpLHR5cGU6InN0dWR5In1dfX1jb25zdCBpPXtzb3VyY2VzOltdLHRpdGxlOiIifTtyZXR1cm4gaS5zb3VyY2VzPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkmJigwLG8uaXNMaW5lVG9vbCkoZSkpKS5tYXAoKHQ9Pntjb25zdCBpPXt0eXBlOiJkcmF3aW5nIixnZW9tZXRyeTp0Lmdlb21ldHJ5KCksc291cmNlOnsuLi50LnN0YXRlKCExKSxwb2ludHM6dC5ub3JtYWxpemVkUG9pbnRzKCl9LG1vZGVsSWQ6ZX07cmV0dXJuIGRlbGV0ZSBpLnNvdXJjZS5hbGVydElkLGl9KSksaS5zb3VyY2VzLmxlbmd0aD4wPygxPT09aS5zb3VyY2VzLmxlbmd0aD9pLnRpdGxlPXRbMF0udGl0bGUobi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSk6aS50aXRsZT0iRHJhd2luZ3MiLGkpOm51bGx9fSwxNTEyMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRFeGNsdXNpb25BcmVhOigpPT5QLGFkZEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5DLGNhbGNUZXh0SG9yaXpvbnRhbFNoaWZ0OigpPT5iLGNsZWFyUmVjdDooKT0+XyxjcmVhdGVCb3VuZENhbnZhczooKT0+dixjcmVhdGVEaXNjb25uZWN0ZWRDYW52YXM6KCk9PmcsY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzQnlSZW5kZXJpbmdJbmZvOigpPT5mLGRpc2FibGVTZWxlY3Rpb246KCk9PncsZHJhd1NjYWxlZDooKT0+bSxkcmF3V2l0aEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5ULGZpbGxSZWN0OigpPT5wLGdldEJpbmRpbmdSZW5kZXJpbmdJbmZvOigpPT5oLGdldENvbnRleHQyRDooKT0+ZCxnZXRQcmVzY2FsZWRDb250ZXh0MkQ6KCk9PnUsbWVhc3VyZVRleHQ6KCk9Pk0sdHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplOigpPT55fSk7dmFyIHM9aSg5MTg3NzkpLG49aSgxMzg2MzgpLHI9aSg4NzE3MCksbz1pKDgyMjcyNiksYT1pKDk2OTE2OCksbD1pKDMxODk3NCk7ZnVuY3Rpb24gYyhlKXtyZXR1cm57aG9yaXpvbnRhbFBpeGVsUmF0aW86TWF0aC5tYXgoMSxlLmJpdG1hcFNpemUud2lkdGgvZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCksdmVydGljYWxQaXhlbFJhdGlvOk1hdGgubWF4KDEsZS5iaXRtYXBTaXplLmhlaWdodC9lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuey4uLmMoZSksYml0bWFwU2l6ZTplLmJpdG1hcFNpemUsbWVkaWFTaXplOmUuY2FudmFzRWxlbWVudENsaWVudFNpemV9fWZ1bmN0aW9uIGQoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSk7cmV0dXJuIHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSx0fWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSksaT0oMCxyLmdldENhbnZhc0RldmljZVBpeGVsUmF0aW8pKGUpO3JldHVybiB0LnNldFRyYW5zZm9ybShpLDAsMCxpLDAsMCksdH1mdW5jdGlvbiBwKGUsdCxpLHMsbixyKXtlLnNhdmUoKSxlLmZpbGxTdHlsZT1yLGUuZmlsbFJlY3QodCxpLHMsbiksZS5yZXN0b3JlKCl9ZnVuY3Rpb24gXyhlLHQsaSxzLG4scil7ZS5zYXZlKCksZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249ImNvcHkiLGUuZmlsbFN0eWxlPXIsZS5maWxsUmVjdCh0LGkscyxuKSxlLnJlc3RvcmUoKX1mdW5jdGlvbiBtKGUsdCxpLHMpe2Uuc2F2ZSgpLGUuc2NhbGUodCxpKSxzKCksZS5yZXN0b3JlKCl9CmZ1bmN0aW9uIGcoZSx0LGkpe2NvbnN0IHM9UyhlKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9KDAsci5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKShzKSkscy53aWR0aD10LndpZHRoKmkscy5oZWlnaHQ9dC5oZWlnaHQqaSxzfWZ1bmN0aW9uIGYoZSx0KXtjb25zdHtiaXRtYXBTaXplOmksbWVkaWFTaXplOnN9PXQsbj1TKGUpO3JldHVybiBuLnN0eWxlLndpZHRoPWAke3Mud2lkdGh9cHhgLG4uc3R5bGUuaGVpZ2h0PWAke3MuaGVpZ2h0fXB4YCxuLndpZHRoPWkud2lkdGgsbi5oZWlnaHQ9aS5oZWlnaHQsbn1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4gdyh0KSx0fWZ1bmN0aW9uIHYoZSx0KXtjb25zdCBpPVMoKDAsbi5lbnN1cmVOb3ROdWxsKShlLm93bmVyRG9jdW1lbnQpKTtlLmFwcGVuZENoaWxkKGkpO2NvbnN0IHI9KDAscy5iaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbykoaSx7dHlwZToiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Iix0cmFuc2Zvcm06KGUsdCk9PjA9PT1lLndpZHRofHwwPT09ZS5oZWlnaHQ/ZTp7d2lkdGg6TWF0aC5tYXgoZS53aWR0aCx0LndpZHRoKSxoZWlnaHQ6TWF0aC5tYXgoZS5oZWlnaHQsdC5oZWlnaHQpfX0pO3JldHVybiByLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCkscn1mdW5jdGlvbiB5KGUpe2NvbnN0IHQ9ZS5zdWdnZXN0ZWRCaXRtYXBTaXplO3JldHVybiBudWxsIT09dCYmdC53aWR0aD4wJiZ0LmhlaWdodD4wJiYoZS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKSwhMCl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJjZW50ZXIiPT09ZS50ZXh0QWxpZ24/MDooMCxhLmlzUnRsKSgpPyJzdGFydCI9PT1lLnRleHRBbGlnbnx8InJpZ2h0Ij09PWUudGV4dEFsaWduP3Q6MDoic3RhcnQiPT09ZS50ZXh0QWxpZ258fCJsZWZ0Ij09PWUudGV4dEFsaWduPzA6dH1mdW5jdGlvbiB3KGUpe2Uuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLm1zVXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLndlYmtpdFRhcEhpZ2hsaWdodENvbG9yPSJ0cmFuc3BhcmVudCJ9ZnVuY3Rpb24gQyhlLHQpe2NvbnN0e2NvbnRleHQ6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpuLGJpdG1hcFNpemU6cn09ZTtpLmJlZ2luUGF0aCgpLGkucmVjdCgwLDAsci53aWR0aCxyLmhlaWdodCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldHt4OnIseTpvfT10W2VdO3IqPXMsbyo9biwwIT09ZT9pLmxpbmVUbyhyLG8pOmkubW92ZVRvKHIsbyl9aS5jbG9zZVBhdGgoKSxpLmNsaXAoImV2ZW5vZGQiKX1mdW5jdGlvbiBQKGUsdCxpKXtDKHtjb250ZXh0OmUsLi4udH0saSl9ZnVuY3Rpb24gVChlLHQsaSl7ZS5jb250ZXh0LnNhdmUoKSxDKGUsdCksaSgpLGUuY29udGV4dC5yZXN0b3JlKCl9bGV0IHg7ZnVuY3Rpb24gTShlLHQsaSl7cmV0dXJuIHh8fGZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtlLndpZHRoPTAsZS5oZWlnaHQ9MCwoMCxsLmlzTWFjKSgpJiYoZS5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZChlKSkseD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSkseC50ZXh0QmFzZWxpbmU9ImFscGhhYmV0aWMiLHgudGV4dEFsaWduPSJjZW50ZXIifSgpLHQmJnguZm9udCE9PXQmJih4LmZvbnQ9dCksaT9pLmdldE1ldHJpY3MoeCxlKTooMCxvLmdldE1pblRleHRNZXRyaWNzKSh4Lm1lYXN1cmVUZXh0KGUpKX19LDU3MDY1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjaGFydEZsb2F0aW5nVG9vbHRpcEVuYWJsZWRXVjooKT0+YX0pO3ZhciBzPWkoOTMwNTY2KSxuPWkoMjMyMzY0KTtjb25zdCByPSJjaGFydF9mbG9hdGluZ190b29sdGlwX2VuYWJsZWQiO2Z1bmN0aW9uIG8oKXtyZXR1cm4gcy5nZXRKU09OKHIsdHJ1ZSl9Y29uc3QgYT1uZXcgbi5XYXRjaGVkVmFsdWUobygpKTthLnN1YnNjcmliZSgoKCk9PnMuc2V0VmFsdWUocixhLnZhbHVlKCkpKSkscy5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5hLnNldFZhbHVlKG8oKSkpKX0sNDY0ODM1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NoYXJ0SG90a2V5c0xpc3RlbmVyOigpPT5nLGdsb2JhbEVudmlyb25tZW50U3RhdGU6KCk9Pm0sbW9kaWZpZXJQcmVzc2VkOigpPT5fLHNoaWZ0UHJlc3NlZDooKT0+cH0pO3ZhciBzPWkoNzI3MDkpLG49aSgyMzU3MjQpLHI9aSg3MjEzNjkpLG89aSgzNjgxMTApO3ZhciBhPWkoMjMyMzY0KSxsPWkoOTAxMzcwKTtjb25zdCBjPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLlNoaWZ0KSksaD1uZXcgYS5XYXRjaGVkVmFsdWUoQm9vbGVhbigocy5wcmVzc2VkS2V5cy52YWx1ZSgpPz8wKSZuLk1vZGlmaWVycy5Nb2QpKSxkPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLkFsdCkpLHU9W24uTW9kaWZpZXJzLk5vbmUsbi5Nb2RpZmllcnMuQWx0LG4uTW9kaWZpZXJzLk1vZCxuLk1vZGlmaWVycy5BbHQrbi5Nb2RpZmllcnMuU2hpZnRdO2Z1bmN0aW9uIHAoKXtyZXR1cm4gY31mdW5jdGlvbiBfKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbSgpe3JldHVybiBuZXcgbC5FbnZpcm9ubWVudFN0YXRlKHthbHRLZXk6ZC52YWx1ZSgpLGN0cmxLZXk6XygpLnZhbHVlKCksbWV0YUtleTpfKCkudmFsdWUoKSxzaGlmdEtleTpwKCkudmFsdWUoKX0pfXMucHJlc3NlZEtleXMuc3Vic2NyaWJlKCgoZT0wKT0+e2Muc2V0VmFsdWUoQm9vbGVhbihlJm4uTW9kaWZpZXJzLlNoaWZ0KSksaC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuTW9kKSksZC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuQWx0KSl9KSk7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsLAp0aGlzLl9ib3VuZEtleXVwSGFuZGxlcj1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0PWUsdGhpcy5fcGFyZW50PXQsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj10aGlzLl9rZXlkb3duSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPXRoaXMuX2tleXVwSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2JvdW5kS2V5ZG93bkhhbmRsZXIpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9ib3VuZEtleXVwSGFuZGxlcil9ZGVzdHJveSgpe251bGwhPT10aGlzLl9ib3VuZEtleWRvd25IYW5kbGVyJiYodGhpcy5fcGFyZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlciksdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsKSxudWxsIT09dGhpcy5fYm91bmRLZXl1cEhhbmRsZXImJih0aGlzLl9wYXJlbnQub3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fYm91bmRLZXl1cEhhbmRsZXIpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPW51bGwpfV9rZXlkb3duSGFuZGxlcihlKXt0aGlzLl9jaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLl9jaGFydFdpZGdldC5pc0FjdGl2ZSgpLnZhbHVlKCkmJihlLmRlZmF1bHRQcmV2ZW50ZWR8fCgidGV4dC1lZGl0b3IiPT09d2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgiZGF0YS1uYW1lIikmJnRoaXMuX2hhbmRsZVRhYktleURvd24oZSl8fHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09d2luZG93LmRvY3VtZW50LmJvZHkmJih0aGlzLl9oYW5kbGVNb3ZlRHJhd2luZ3NLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVTY3JvbGxLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVab29tS2V5RG93bihlKSkpJiZlLnByZXZlbnREZWZhdWx0KCkpfV9rZXl1cEhhbmRsZXIoZSl7dGhpcy5fY2hhcnRXaWRnZXQuaGFzTW9kZWwoKSYmdGhpcy5faGFuZGxlU2Nyb2xsS2V5VXAoZSl9X2hhbmRsZVRhYktleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7aWYoOT09PXQpe2NvbnN0IHQ9aS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpWzBdO2lmKHZvaWQgMCE9PXQmJihzPXQsKDAsby5pc0xpbmVUb29sKShzKSYmIkxpbmVUb29sVGFibGUiPT09cy5zdGF0ZSgpLnR5cGUpKXtjb25zdCBpPSgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKTtyZXR1cm4gdC5zd2l0Y2hBY3RpdmVDZWxsKGk9PT1uLk1vZGlmaWVycy5TaGlmdCl9cmV0dXJuITF9dmFyIHM7cmV0dXJuITF9X2hhbmRsZU1vdmVEcmF3aW5nc0tleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7c3dpdGNoKHQpe2Nhc2UgMzc6cmV0dXJuIGkubW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCk7Y2FzZSAzOTpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1JpZ2h0KCk7Y2FzZSAzODpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1VwKCk7Y2FzZSA0MDpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKX1yZXR1cm4hMX1faGFuZGxlU2Nyb2xsS2V5RG93bihlKXtpZihudWxsIT09dGhpcy5fcHJlc3NlZEtleUNvZGUpcmV0dXJuITE7Y29uc3QgdD0oMCxuLmhhc2hGcm9tRXZlbnQpKGUpLGk9MjU1JnQscz0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSk7bGV0IG87aWYoMzc9PT1pKW89MTtlbHNle2lmKDM5IT09aSlyZXR1cm4hMTtvPS0xfWlmKG4uaXNNYWNLZXlib2FyZCYmcz09PW4uTW9kaWZpZXJzLk1vZHx8IXUuaW5jbHVkZXMocykpcmV0dXJuITE7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3RoaXMuX3ByZXNzZWRLZXlDb2RlPWk7Y29uc3QgYT10aGlzLl9jaGFydFdpZGdldC5zY3JvbGxIZWxwZXIoKTtyZXR1cm4gcz09PW4uTW9kaWZpZXJzLk5vbmU/YS5tb3ZlQnlCYXIobyk6cz09PW4uTW9kaWZpZXJzLkFsdHx8cz09PW4uTW9kaWZpZXJzLk1vZD9hLm1vdmUobyk6LTE9PT1vP2Euc2Nyb2xsVG9SZWFsdGltZSghMCk6YS5zY3JvbGxUb0ZpcnN0QmFyKCksITB9X2hhbmRsZVNjcm9sbEtleVVwKGUpe2lmKG51bGw9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSlyZXR1cm4hMTtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3JldHVybigyNTUmdCk9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSYmKHRoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fY2hhcnRXaWRnZXQuc2Nyb2xsSGVscGVyKCkuc3RvcE1vdmUoKSwhMCl9X2hhbmRsZVpvb21LZXlEb3duKGUpe2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPTI1NSZ0O2lmKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PW4uTW9kaWZpZXJzLk1vZHx8KDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO2NvbnN0IHM9dGhpcy5fY2hhcnRXaWRnZXQubW9kZWwoKTtpZigzOD09PWkpcy56b29tSW4oKTtlbHNle2lmKDQwIT09aSlyZXR1cm4hMTtzLnpvb21PdXQoKX1yZXR1cm4hMH19fSw5ODg3NzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRXaWRnZXRDb2xsZWN0aW9uOigpPT5hZn0pO3ZhciBzPWkoMTY3NTAyKSxuPWkoMzA0MjIxKSxyPWkoNzQwMTYyKSxvPWkoNzAwODA5KSxhPWkoNjAxODQxKSxsPWkoMTM4NjM4KSxjPWkoMjIxMDYxKSxoPWkoMjMyMzY0KSxkPWkoNDAyMDQ1KSx1PWkoOTUyOTAwKSxwPWkoMTg1MjcxKSxfPWkoOTU4NTAwKSxtPWkoODYwNDQyKTt2YXIgZz1pKDE5ODkwMSksZj1pKDk0ODM4MCk7ZnVuY3Rpb24gUyhlKXtjb25zdCB0PXt9O3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxzKT0+e2Uuc3Vic2NyaWJlKHQsaSwhMCl9KSksZGVzdHJveTooKT0+ewplLnVuc3Vic2NyaWJlQWxsKHQpfX19dmFyIHY9aSgzNjIyODkpLHk9aSg1NzA2MDMpO2NvbnN0IGI9KCk9PlByb21pc2UuYWxsKFtpLmUoMTExNTEpLGkuZSg5MzUyOCldKS50aGVuKGkuYmluZChpLDIwNTY1NikpO2Z1bmN0aW9uIHcoZSx0PXt9KXtyZXR1cm4gYigpLnRoZW4oKGk9PmkuY29weVRvQ2xpcGJvYXJkSW1hZ2VPZkNoYXJ0KGUsdCkpKX1mdW5jdGlvbiBDKGUsdD17fSl7cmV0dXJuIGIoKS50aGVuKChpPT5pLmdldEltYWdlT2ZDaGFydFNpbGVudGx5KGUsdCkpKX12YXIgUD1pKDg4MzA1MyksVD1pKDY3ODI4NSkseD1pKDI1NDY3MyksTT1pKDg4MjA3OCksST1pKDQ2NTEzNyksTD1pKDc5ODM4KSxBPWkoMTI4OTk4KSxrPWkoNjY1MTg3KSxEPWkoMjAwNjY2KSxFPWkoNzY1MTczKTtjb25zdCBSPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IHRvb2xiYXJzIHRoZW1lIixwLnQobnVsbCx2b2lkIDAsaSg2NjMxMjgpKSk7Y2xhc3MgViBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGk9ITApe3N1cGVyKFIpLHRoaXMuX3ByZXZUaGVtZU5hbWU9ZSx0aGlzLl90aGVtZU5hbWU9dCx0aGlzLl9zeW5jU3RhdGU9aX11bmRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fcHJldlRoZW1lTmFtZSkmJigoMCxELnNldFRoZW1lKSh0aGlzLl9wcmV2VGhlbWVOYW1lKSx0aGlzLl9zeW5jU3RhdGUmJigwLGsuc3luY1RoZW1lKSgpKX1yZWRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpJiYoKDAsRC5zZXRUaGVtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpLHRoaXMuX3N5bmNTdGF0ZSYmKDAsay5zeW5jVGhlbWUpKCkpfX1jbGFzcyBCIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITApe3N1cGVyKHMsdm9pZCAwLG4pLHRoaXMuX3NldHRlcj1lLHRoaXMuX29sZFZhbHVlPXQsdGhpcy5fbmV3VmFsdWU9aX1yZWRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX25ld1ZhbHVlKX11bmRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX29sZFZhbHVlKX19Y2xhc3MgTiBleHRlbmRzIEJ7Y29uc3RydWN0b3IoZSx0LGkscyxuPSEwKXtzdXBlcigoZT0+dGhpcy5fdndTdGF0ZS5zZXRWYWx1ZShlKSksdCxpLHMsbiksdGhpcy5fdndTdGF0ZT1lfX12YXIgTz1pKDcyMDA3Mik7Y29uc3QgVz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDk5MzkpKSk7Y2xhc3MgRiBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihXLmZvcm1hdCh7dGl0bGU6Ty5sYXlvdXRzW3RdLnRpdGxlfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX25ld0xheW91dFR5cGU9dCx0aGlzLl9vbGRMYXlvdXRUeXBlPWUubGF5b3V0LnZhbHVlKCl9cmVkbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fbmV3TGF5b3V0VHlwZSl9dW5kbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fb2xkTGF5b3V0VHlwZSl9fWNvbnN0IEg9KDAsYy5nZXRMb2dnZXIpKCJDb21tb24uVW5kb1N0YWNrIik7Y2xhc3Mgentjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbW1hbmRzPVtdLHRoaXMuX29uQ2hhbmdlPW5ldyBmLkRlbGVnYXRlfW9uQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX2NvbW1hbmRzLmxlbmd0aH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbW1hbmRzLmxlbmd0aH1jbGVhcigpe3RoaXMuaXNFbXB0eSgpfHwodGhpcy5fY29tbWFuZHMubGVuZ3RoPTAsdGhpcy5fb25DaGFuZ2UuZmlyZSgpKX1wdXNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEUuVW5kb0NvbW1hbmQpKXRocm93IG5ldyBUeXBlRXJyb3IoImFyZ3VtZW50IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVW5kb0NvbW1hbmQiKTt0aGlzLl9jb21tYW5kcy5wdXNoKGUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9cG9wKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIHZvaWQgSC5sb2dEZWJ1ZygicG9wOiB1bmRvIHN0YWNrIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9jb21tYW5kcy5wb3AoKTtyZXR1cm4gdGhpcy5fb25DaGFuZ2UuZmlyZShlKSxlfWhlYWQoKXtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuIHRoaXMuX2NvbW1hbmRzW3RoaXMuX2NvbW1hbmRzLmxlbmd0aC0xXX19Y2xhc3MgVSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwhMSksdGhpcy5fc3ViY29tbWFuZHM9W119YWRkQ29tbWFuZChlKXt0aGlzLl9zdWJjb21tYW5kcy5wdXNoKGUpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aH1yZWRvKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5fc3ViY29tbWFuZHMubGVuZ3RoO3QrKyl0aGlzLl9zdWJjb21tYW5kc1t0XS5yZWRvKGUpfXVuZG8oZSl7Zm9yKGxldCB0PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aC0xO3Q+PTA7dC0tKXRoaXMuX3N1YmNvbW1hbmRzW3RdLnVuZG8oZSl9Y29tbWFuZHMoKXtyZXR1cm4gdGhpcy5fc3ViY29tbWFuZHN9YWZmZWN0c1N0YXRlKCl7cmV0dXJuIHRoaXMuX3N1YmNvbW1hbmRzLnNvbWUoKGU9PmUuYWZmZWN0c1N0YXRlKCkpKX19Y29uc3QgRz0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5VbmRvSGlzdG9yeSIpO3ZhciBqPWkoNTE4NzUpLHE9aSg5MzAyMzEpLCQ9aSgxNzk3NzEpLFk9aSg3MjcwOSksSz1pKDIzNTcyNCksWD1pKDExNzMxMyksWj1pKDIwOTM5KSxKPWkoMzE4OTc0KSxRPWkoOTMwNTY2KSxlZT1pKDI5NjI2Mik7Y2xhc3MgdGUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXt0aGlzLl9sb2FkKCkudGhlbigodD0+e3RoaXMuX2RpYWxvZz8uaGlkZSgpLAp0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZz10LHQudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHQuc2hvdyhlKSwkLmVtaXQoImNvbXBhcmVfYWRkIil9KSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfV9sb2FkKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDMyNzgpLGkuZSgxNzMzNildKS50aGVuKGkuYmluZChpLDU0NzU3NykpLFByb21pc2UuYWxsKFtpLmUoMzMyMjUpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg1MDIyMSksaS5lKDMzNTE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSgxOTUxMyksaS5lKDcxNTI4KSxpLmUoODg2NDEpLGkuZSg1MjA5NSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDcwOTIpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTAwMzUpLGkuZSg4MTEwNyksaS5lKDY4NTc5KSxpLmUoNjY0NyksaS5lKDQ3MjAxKSxpLmUoODAwNDEpLGkuZSg4NzY3MyksaS5lKDQzODA4KSxpLmUoNDYwNTUpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg4OTQ2KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDk5MzA5KSxpLmUoNjg3MjUpLGkuZSg2MzQwMiksaS5lKDU3MDkzKSxpLmUoNDg2NTIpLGkuZSgxMzMxKSxpLmUoMjIzNDcpXSkudGhlbihpLmJpbmQoaSw1NzMxNjMpKV0pLnRoZW4oKChbZSx0XSk9Pntjb25zdCBpPW5ldyBlLkNvbXBhcmVNb2RlbCh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pO3JldHVybiB0LmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcihpKX0pKX19Y2xhc3MgaWUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbixzPXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtyZXR1cm4gcy5nZW5lcmFsUHJvcGVydGllc0RlZmluaXRpb25zKCkudGhlbigobj0+UHJvbWlzZS5hbGwoW2kuZSgyNzA0MCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDkxODU1KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSgyNzczNiksaS5lKDg3NzQwKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDI3MjEpLGkuZSg0NTI0MiksaS5lKDc4NjMpLGkuZSg0NjI0NSksaS5lKDk4NTA5KSxpLmUoNTUyOTApLGkuZSg5MTY3MCksaS5lKDg2NTQ0KSxpLmUoMzIzODcpLGkuZSg4MDkxNSksaS5lKDQwNzU0KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg1MDYyNSldKS50aGVuKGkuYmluZChpLDc2ODM4OCkpLnRoZW4oKGk9Pntjb25zdCByPW5ldyBpLkdlbmVyYWxDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcih7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQscHJvcGVydHlQYWdlczpuLGFjdGl2ZVBhZ2VJZDp0aGlzLl9hY3RpdmVQYWdlSWQsbW9kZWw6cy5tb2RlbCgpfSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPXIsci52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksci5zaG93KGUpLHRoaXMuX2FjdGl2ZVBhZ2VJZD12b2lkIDAscn0pKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy52aXNpYmxlKCkudmFsdWUoKX0KZm9jdXNPblRleHQoKXt9c2V0QWN0aXZlUGFnZShlKXt0aGlzLl9hY3RpdmVQYWdlSWQ9ZX19Y2xhc3Mgc2UgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobnVsbCksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3RhcmdldEluZGV4PXR9cmVkbygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMuX3RhcmdldEluZGV4LHZvaWQgMCx0aGlzLl9wYW5lSWQpO3RoaXMuX3BhbmVJZD1lLmlkKCl9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYW5lSWQpLHQ9dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZpbmQoKHQ9PnQuaWQoKT09PWUpKTt2b2lkIDAhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVBhbmUodCl9Y3JlYXRlZFBhbmVJZCgpe3JldHVybiB0aGlzLl9wYW5lSWR9fXZhciBuZT1pKDQwMTUyMykscmU9aSg0MDg3NzUpO2NvbnN0IG9lPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiLHAudChudWxsLHZvaWQgMCxpKDIwOTU5OSkpKTtjbGFzcyBhZSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKG9lKSx0aGlzLl9zd2FwcGVyPWUsdGhpcy5fZnJvbT10LHRoaXMuX3RvPWl9cmVkbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9dW5kbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9fXZhciBsZT1pKDQ5NzAxOCksY2U9aSgxNDc4MDUpLGhlPWkoMjM0OTY0KSxkZT1pKDU1NDY1NCk7aSg3MjI1NzEpO3ZhciB1ZT1pKDUyODg3Mik7dmFyIHBlPWkoNzU0ODY0KSxfZT1pKDU5MjM3MCksbWU9aSgzNzgwOCk7Y29uc3QgZ2U9InJlcGxheV9tb2RlIjtmdW5jdGlvbiBmZSgpe3JldHVybiBKLkNoZWNrTW9iaWxlLmFueSgpPyJBY3RpdmVDaGFydCI6US5nZXRWYWx1ZShnZSwiQWN0aXZlQ2hhcnQiKX1jb25zdCBTZT0oMCxtZS5jcmVhdGVQcmltaXRpdmVQcm9wZXJ0eSkoZmUoKSk7ZnVuY3Rpb24gdmUoZSl7Y29uc3R7ZnVsbElkOnQscGluZTppfT1lO3JldHVybmAke3R9JHtpP2Bbdi4ke2kudmVyc2lvbn1dYDoiIn1gfVEub25TeW5jLnN1YnNjcmliZShudWxsLCgoKT0+U2Uuc2V0VmFsdWUoZmUoKSkpKSxTZS5zdWJzY3JpYmUobnVsbCwoKCk9PlEuc2V0VmFsdWUoZ2UsU2UudmFsdWUoKSkpKTtjb25zdCB5ZT0vKFtcdywlLCQsOyxALC1dKilcW3YuKFtcdywuLC1dKilcXS87ZnVuY3Rpb24gYmUoZSl7Y29uc3QgdD15ZS5leGVjKGUpO3JldHVybiB0P3tmdWxsSWQ6dFsxXSxwaW5lOnt2ZXJzaW9uOnRbMl19fTp7ZnVsbElkOmV9fXZhciB3ZT1pKDc3MDc1NSksQ2U9aSg0NzkzNCksUGU9aSg1NjkzOTgpLFRlPWkoNjMxNjM0KSx4ZT1pKDU2OTg0NiksTWU9aSg3MzYwNjMpLEllPWkoMTU2ODUwKSxMZT1pKDQ5MDQ0Nik7Y29uc3QgQWU9KDAsYy5nZXRMb2dnZXIpKCJUaW1pbmdzTWV0ZXIuU2VydmljZSIpLGtlPSgwLGMuZ2V0TG9nZ2VyKSgiVGltaW5nc01ldGVyLlN0YXRzIix7bWF4Q291bnQ6MTYwfSk7dmFyIERlOyFmdW5jdGlvbihlKXtlW2UuSW52YWxpZFRpbWU9LTFdPSJJbnZhbGlkVGltZSIsZVtlLkxvZ2dlckR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0xNWUzXT0iTG9nZ2VyRHVtcFRpbWluZ3NTdGF0c0ludGVydmFsIixlW2UuVGVsZW1ldHJ5RHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPTZlNV09IlRlbGVtZXRyeUR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbCJ9KERlfHwoRGU9e30pKTtjb25zdCBFZT17W0xlLkludmFsaWRhdGlvbkxldmVsLk5vbmVdOiJub25lIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yXToiY3Vyc29yIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHRdOiJsaWdodCIsW0xlLkludmFsaWRhdGlvbkxldmVsLkZ1bGxdOiJmdWxsIn07ZnVuY3Rpb24gUmUoZSx0KXtyZXR1cm4gZS5sYXN0VGltZT10LGUudG90YWxUaW1lKz10LCsrZS5jb3VudCx0PmUubWF4VGltZSYmKGUubWF4VGltZT10KSxlfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlLnRvRml4ZWQoMil9ZnVuY3Rpb24gQmUoZSl7Y29uc3QgdD1lLmNvdW50O2lmKDA9PT10KXJldHVybiJubyBldmVudHMiO2NvbnN0IGk9ZS50b3RhbFRpbWUvdCxzPVZlKGUubWF4VGltZSk7cmV0dXJuYGNvdW50PSR7dH0sIGxhc3Q9JHtWZShlLmxhc3RUaW1lKX0sIG1heD0ke3N9LCBhdmc9JHtWZShpKX1gfWNsYXNzIE5le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY3VycmVudERyYXdJdGVtcz17fSx0aGlzLl9jdXJyZW50V2FpdGluZ0l0ZW09e2NvdW50OjAsbGFzdFRpbWU6MCxtYXhUaW1lOjAsdG90YWxUaW1lOjB9LHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLHRoaXMuX2xvZ1ByZWZpeD1gWyR7ZX1dYCx0aGlzLl9kdW1wVGltdG91dD10fXN0YXJ0Q29sbGVjdCgpezAhPT10aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwmJihBZS5sb2dXYXJuKGAke3RoaXMuX2xvZ1ByZWZpeH0gTXVsdGlwbGUgc3RhcnQgZGV0ZWN0ZWRgKSx0aGlzLnN0b3BDb2xsZWN0KCkpLHRoaXMuX2NsZWFyQ3VycmVudFN0YXRlKCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPXNldEludGVydmFsKHRoaXMuX2R1bXBUaW1pbmdzU3RhdHMuYmluZCh0aGlzKSx0aGlzLl9kdW1wVGltdG91dCksQWUubG9nTm9ybWFsKGAke3RoaXMuX2xvZ1ByZWZpeH0gQ29sbGVjdGluZyBzdGFydGVkYCl9c3RvcENvbGxlY3QoKXswIT09dGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwpLHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLEFlLmxvZ05vcm1hbChgJHt0aGlzLl9sb2dQcmVmaXh9IENvbGxlY3Rpbmcgc3RvcHBlZC4gRHVtcGluZyBsYXN0IHN0YXRlLi4uYCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0cygpKX11cGRhdGVUaW1pbmdzKGUsdCxpKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdPVJlKHRoaXMuX2N1cnJlbnREcmF3SXRlbXNbZV0/P3tjb3VudDowLGxhc3RUaW1lOjAsbWF4VGltZTowLHRvdGFsVGltZTowfSxpKSwKUmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtLHQpfV9kdW1wVGltaW5nc1N0YXRzKCl7dGhpcy5fY2xlYXJDdXJyZW50U3RhdGUoKX1fY2xlYXJDdXJyZW50U3RhdGUoKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zPXt9LHRoaXMuX2N1cnJlbnRXYWl0aW5nSXRlbT17Y291bnQ6MCxsYXN0VGltZTowLG1heFRpbWU6MCx0b3RhbFRpbWU6MH19fWNsYXNzIE9lIGV4dGVuZHMgTmV7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwxNWUzKX1fZHVtcFRpbWluZ3NTdGF0cygpe2NvbnN0IGU9W3RoaXMuX2xvZ1ByZWZpeCwiIGF3YWl0aW5nOiIsQmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtKSwuLi5PYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5tYXAoKGU9PmA7ICR7ZX06ICR7QmUodGhpcy5fY3VycmVudERyYXdJdGVtc1tlXSl9YCkpXS5qb2luKCIiKTtrZS5sb2dOb3JtYWwoZSksc3VwZXIuX2R1bXBUaW1pbmdzU3RhdHMoKX19Y2xhc3MgV2UgZXh0ZW5kcyBOZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLDZlNSl9X2R1bXBUaW1pbmdzU3RhdHMoKXtPYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdLGk9YGNoYXJ0X3JlbmRlcmluZ190aW1lXyR7ZX1fYXZnX3RpbWVgO0llLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoaSx7dmFsdWU6dC50b3RhbFRpbWUvdC5jb3VudH0pfSkpLHN1cGVyLl9kdW1wVGltaW5nc1N0YXRzKCl9fWNsYXNzIEZle2NvbnN0cnVjdG9yKGUpe3RoaXMuX3dhaXREcmF3U3RhcnRUaW1lPS0xLHRoaXMuX3N0YXJ0RHJhd1RpbWU9LTEsdGhpcy5fY3VycmVudERyYXdMZXZlbD1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsLHRoaXMuX2N1cnJlbnRDaGFydFN0eWxlPTEsdGhpcy5fYWdncmVnYXRvcnM9W10sdGhpcy5fYWdncmVnYXRvcnMucHVzaChuZXcgT2UoZSkpLHRoaXMuX2FnZ3JlZ2F0b3JzLnB1c2gobmV3IFdlKGUpKX1kZXN0cm95KCl7dGhpcy5zdG9wQ29sbGVjdCgpfXN0YXJ0Q29sbGVjdCgpe3RoaXMuX2FnZ3JlZ2F0b3JzLmZvckVhY2goKGU9PntlLnN0YXJ0Q29sbGVjdCgpfSkpfXN0b3BDb2xsZWN0KCl7dGhpcy5fYWdncmVnYXRvcnMuZm9yRWFjaCgoZT0+e2Uuc3RvcENvbGxlY3QoKX0pKX1zdGFydFdhaXRpbmdEcmF3KCl7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfXN0YXJ0RHJhdyhlLHQpe3RoaXMuX3N0YXJ0RHJhd1RpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2N1cnJlbnREcmF3TGV2ZWw9ZSx0aGlzLl9jdXJyZW50Q2hhcnRTdHlsZT10fXN0b3BEcmF3KCl7Y29uc3QgZT13aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7aWYoLTE9PT10aGlzLl9zdGFydERyYXdUaW1lfHwtMT09PXRoaXMuX3dhaXREcmF3U3RhcnRUaW1lKXJldHVybjtjb25zdCB0PXRoaXMuX3N0YXJ0RHJhd1RpbWUtdGhpcy5fd2FpdERyYXdTdGFydFRpbWU7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9LTE7Y29uc3QgaT1lLXRoaXMuX3N0YXJ0RHJhd1RpbWUscz0obj10aGlzLl9jdXJyZW50RHJhd0xldmVsLHI9dGhpcy5fY3VycmVudENoYXJ0U3R5bGUsbj09PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0P2Ake0VlW25dfV8ke0wuU1RZTEVfU0hPUlRfTkFNRVNbcl19YDpFZVtuXSk7dmFyIG4scjt0aGlzLl9hZ2dyZWdhdG9ycy5mb3JFYWNoKChlPT57ZS51cGRhdGVUaW1pbmdzKHMsdCxpKX0pKSx0aGlzLl9zdGFydERyYXdUaW1lPS0xfX12YXIgSGU9aSgzODMzNTEpLHplPWkoODA5OTkzKSxVZT1pKDYzMjY4NiksR2U9aSgzMzk1MSksamU9aSg2ODkwMjEpLHFlPWkoMjE0OTg3KSwkZT1pKDc4MzU5Myk7Y29uc3QgWWU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fdGltZXJXb3JrZXI9bnVsbCx0aGlzLl90aW1lcklkQ291bnRlcj0xLHRoaXMuX3RpbWVyc01hcD1uZXcgTWFwLHRoaXMuX3JlamVjdHNUb0NhbGw9bmV3IFNldCx0aGlzLl9wcm9jZXNzTWVzc2FnZT1lPT57Y29uc3QgdD10aGlzLl90aW1lcnNNYXAuZ2V0KGUuZGF0YS50dXJuYXJvdW5kKTtzd2l0Y2goZS5kYXRhLnR5cGUpe2Nhc2UidGltZXJDcmVhdGVkIjp0JiYodC5zY2hlZHVsZWRGb3JSZW1vdmluZz8oImludGVydmFsIj09PXQudHlwZT90aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDplLmRhdGEuaWR9KTp0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOmUuZGF0YS5pZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpOnQud29ya2VyVGltZXJJZD1lLmRhdGEuaWQpO2JyZWFrO2Nhc2UidGltZXJGaXJlZCI6dCYmKHQuY2FsbGJhY2soKSwidGltZW91dCI9PT10LnR5cGUmJnRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpfX19ZGVzdHJveSgpe3RoaXMuX3JlamVjdHNUb0NhbGwuZm9yRWFjaCgoZT0+ZSgoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKSkpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsLHRoaXMuX3RpbWVyc01hcC5jbGVhcigpfXNldFRpbWVvdXQoZSx0KXtyZXR1cm4gdGhpcy5fc2V0VGltZW91dEltcGwoZSx0LCJ0aW1lb3V0Iil9Y2xlYXJUaW1lb3V0KGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOnQud29ya2VyVGltZXJJZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlKSk6dC5zY2hlZHVsZWRGb3JSZW1vdmluZz0hMCl9c2V0SW50ZXJ2YWwoZSx0KXtjb25zdCBpPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQoaSx7Y2FsbGJhY2s6ZSx0eXBlOiJpbnRlcnZhbCJ9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRJbnRlcnZhbCIsZGVsYXk6dCx0dXJuYXJvdW5kOml9KSxpfQpjbGVhckludGVydmFsKGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDp0LndvcmtlclRpbWVySWR9KSx0aGlzLl9kZWxldGVUaW1lckZyb21NYXAoZSkpOnQuc2NoZWR1bGVkRm9yUmVtb3Zpbmc9ITApfWFzeW5jIGNyZWF0ZVRpbWVvdXQoZSx0KXtsZXQgaTtyZXR1cm4gbmV3IFByb21pc2UoKChzLG4pPT57aT1uLHRoaXMuX3JlamVjdHNUb0NhbGwuYWRkKGkpO2NvbnN0IHI9dGhpcy5zZXRUaW1lb3V0KHMsZSk7dD8uc2lnbmFsPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dGhpcy5jbGVhclRpbWVvdXQociksbigoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3JlamVjdHNUb0NhbGwuZGVsZXRlKGkpfSkpfWFzeW5jKmNyZWF0ZUludGVydmFsKGUsdCl7bGV0IGk9KCk9Pnt9LHM9ZT0+e307Y29uc3Qgbj10aGlzLnNldEludGVydmFsKCgoKT0+e2koKX0pLGUpO3Quc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9Pnt0aGlzLmNsZWFySW50ZXJ2YWwobikscygoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKTt0cnl7Zm9yKDs7KWF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+e2k9ZSx0aGlzLl9yZWplY3RzVG9DYWxsLmRlbGV0ZShzKSxzPXQsdGhpcy5fcmVqZWN0c1RvQ2FsbC5hZGQocyl9KSkseWllbGR9Y2F0Y2goZSl7aWYoISgwLHFlLmlzQWJvcnRFcnJvcikoZSkpdGhyb3cgZX19X2dldFRpbWVyV29ya2VyKCl7cmV0dXJuIG51bGw9PT10aGlzLl90aW1lcldvcmtlciYmKHRoaXMuX3RpbWVyV29ya2VyPW5ldyAkZS5Xb3JrZXIobmV3IFVSTChpLnAraS51KDg0MjA2KSxpLmIpLHtuYW1lOiJUaW1lciB3b3JrZXIiLGxhbmd1YWdlOndpbmRvdy5sYW5ndWFnZX0pLHRoaXMuX3RpbWVyV29ya2VyLm9ubWVzc2FnZT10aGlzLl9wcm9jZXNzTWVzc2FnZSksdGhpcy5fdGltZXJXb3JrZXJ9X3NldFRpbWVvdXRJbXBsKGUsdCxpKXtjb25zdCBzPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQocyx7Y2FsbGJhY2s6ZSx0eXBlOml9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRUaW1lb3V0IixkZWxheTp0LHR1cm5hcm91bmQ6c30pLHN9X2RlbGV0ZVRpbWVyRnJvbU1hcChlKXtpZih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLDA9PT10aGlzLl90aW1lcnNNYXAuc2l6ZSl7Y29uc3QgZT10aGlzLl9zZXRUaW1lb3V0SW1wbCgoKCk9PnsxPT09dGhpcy5fdGltZXJzTWFwLnNpemUmJnRoaXMuX3RpbWVyc01hcC5oYXMoZSkmJih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsKX0pLDZlNCwidGVybWluYWxfdGltZXIiKX19X25leHRUaW1lcklkKCl7cmV0dXJuIHRoaXMuX3RpbWVySWRDb3VudGVyKyt9fSxLZT1uZXcgU2V0KFsiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiIsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iXSk7dmFyIFhlOyFmdW5jdGlvbihlKXtlW2UuT25lTWludXRlPTZlNF09Ik9uZU1pbnV0ZSIsZVtlLkZpdmVNaW51dGVzPTNlNV09IkZpdmVNaW51dGVzIixlW2UuVGVuTWludXRlcz02ZTVdPSJUZW5NaW51dGVzIixlW2UuU2l4dHlNaW51dGVzPTM2ZTVdPSJTaXh0eU1pbnV0ZXMifShYZXx8KFhlPXt9KSk7Y29uc3QgWmU9bmV3IGguV2F0Y2hlZFZhbHVlKEplKCkpO2Z1bmN0aW9uIEplKCl7cmV0dXJuKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iKT8zNmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIik/NmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iKT8zZTU6NmU0fSgwLFBlLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkuc3Vic2NyaWJlKG51bGwsKGU9PntpZighZnVuY3Rpb24oZSl7cmV0dXJuIEtlLmhhcyhlKX0oZSkpcmV0dXJuO2NvbnN0IHQ9SmUoKTtaZS5zZXRWYWx1ZSh0LCExKX0pKTtjb25zdCBRZT1aZS5yZWFkb25seSgpLGV0PSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIik7ZnVuY3Rpb24gdHQoZSl7Y29uc3QgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2Utbm90aWZpY2F0aW9ucyJdJyk7cmV0dXJuIHQ/LmhyZWY/ZT9uZXcgVVJMKGUsdC5ocmVmKTpuZXcgVVJMKHQuaHJlZik6bnVsbH12YXIgaXQ7ZnVuY3Rpb24gc3QoZSx0KXtyZXR1cm4gQm9vbGVhbihlLm1ldGFJbmZvLnVpZC52YWx1ZSgpKSYmIXQuY29udGFpbnNEYXRhJiYhdC5vbldpZGdldCYmZnVuY3Rpb24oKXtpZighKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpKXJldHVybiEwO2NvbnN0IGU9L1RyYWRpbmdWaWV3XC8oXGQrKVwuKFxkKylcLihcZCspXC4/Ly5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpO2lmKG51bGw9PT1lKXJldHVybiEwO2NvbnN0IHQ9TnVtYmVyKGVbMV0pLTEsaT1OdW1iZXIoZVsyXSktMTUscz1OdW1iZXIoZVszXSktMDtpZih0PjB8fDA9PT10JiZpPjB8fDA9PT10JiYwPT09aSYmcz4wKXJldHVybiEwO3JldHVybiExfSgpJiZudWxsIT09dHQoKX0hZnVuY3Rpb24oZSl7ZVtlLk1pbk1ham9yVmVyc2lvbj0xXT0iTWluTWFqb3JWZXJzaW9uIixlW2UuTWluTWlub3JWZXJzaW9uPTE1XT0iTWluTWlub3JWZXJzaW9uIixlW2UuTWluUGF0Y2hWZXJzaW9uPTBdPSJNaW5QYXRjaFZlcnNpb24ifShpdHx8KGl0PXt9KSk7Y29uc3QgbnQ9KDAsYy5nZXRMb2dnZXIpKCJDaGFydFN0b3JhZ2VDaGFuZ2VzU3Vic2NyaXB0aW9uIikKO2NsYXNzIHJ0IGV4dGVuZHMgemUuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKGU9PnRoaXMuX29uTWVzc2FnZShlKSkpLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9vbkNoYW5nZVZpc2liaWxpdHlCb3VuZD10aGlzLl9vbkNoYW5nZVZpc2liaWxpdHkuYmluZCh0aGlzKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPW51bGwsdGhpcy5faGliZXJuYXRlRGVsYXk9UWUuc3Bhd24oKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcz1uZXcgU2V0LHRoaXMuX2hhdmVFdmVyQmVlbkhpYmVybmF0ZWQ9ITEsdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSx0aGlzLl9maXJlQmVmb3JlVW5oaWJlcm5hdGluZ09uUmVjb25uZWN0VGltZXJJZD0wLHRoaXMuX3JlY29ubmVjdD0oKT0+e3RoaXMuX3RyeVJlY29ubmVjdCgpfSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uPWUsdGhpcy5fbGF5b3V0VmlzaWJpbGl0eT1lLnJlc2l6ZXJCcmlkZ2UoKS52aXNpYmxlLnNwYXduKCksdGhpcy5fbGF5b3V0VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VWaXNpYmlsaXR5Qm91bmQse2NhbGxXaXRoTGFzdDohMH0pLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25faW5pdGlhbF9jb25uZWN0IiksdGhpcy5fY29ubmVjdGlvblN0YXR1cy5zdWJzY3JpYmUoKGU9PntlPT09VWUuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQmJkllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25fZGlzY29ubmVjdGVkIil9KSksdGhpcy5fc3Vic2NyaWJlRm9yU2hhcmluZ0xheW91dD10LHRoaXMuY29ubmVjdCgpLHRoaXMuX2hpYmVybmF0ZURlbGF5LnN1YnNjcmliZSgoZT0+e251bGwhPT10aGlzLl9oaWJlcm5hdGVUaW1lcklkJiZ0aGlzLl9zY2hlZHVsZUhpYmVybmF0aW9uKGUpfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0c0NvbGxlY3Rpb24ubWV0YUluZm8udWlkLnN1YnNjcmliZSh0aGlzLl9yZWNvbm5lY3QpfWRlc3Ryb3koKXt0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9oaWJlcm5hdGVEZWxheS5kZXN0cm95KCksdGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudW5zdWJzY3JpYmUodGhpcy5fcmVjb25uZWN0KSx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9c3Vic2NyaWJlT25DaGFuZ2VzKGUpe3RoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5hZGQoZSl9dW5zdWJzY3JpYmVPbkNoYW5nZXMoZSl7dGhpcy5fb25DaGFuZ2VzQ2FsbGJhY2tzLmRlbGV0ZShlKX1iZWZvcmVVbmhpYmVybmF0aW5nKCl7cmV0dXJuIHRoaXMuX2JlZm9yZVVuaGliZXJuYXRpbmd9YXN5bmMgX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KCJTdWJzY3JpcHRpb24gaXMgYmVpbmcgZGVzdHJveWVkIik7Y29uc3QgaT1hd2FpdCgwLEdlLmdldFN0b3JhZ2VUYXJnZXQpKHQsIiIsMCkscz10dChldD9gL2F1dGgvY2hhcnRzLXN0b3JhZ2UvbGF5b3V0LyR7dH0vc3Vic2NyaWJlYDpgL2NoYXJ0cy1zdG9yYWdlL2xheW91dC8ke3R9L3N1YnNjcmliZWApO251bGwhPT1zPyhzLnNlYXJjaFBhcmFtcy5kZWxldGUoImp3dCIpLGV0fHxzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsaS50b2tlbiksZXQ/cy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpZCIsInByaXZhdGUiKTp0aGlzLl9zdWJzY3JpYmVGb3JTaGFyaW5nTGF5b3V0JiZ3aW5kb3cudXNlci5pZCYmd2luZG93LnVzZXIuaXNfcHJvJiZzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImlkIiwiIit3aW5kb3cudXNlci5pZCksdGhpcy5fdXJsPXMudG9TdHJpbmcoKSk6dGhpcy5fdXJsPSIifV90cnlSZWNvbm5lY3RJbXBsKCl7c3VwZXIuX3RyeVJlY29ubmVjdEltcGwoKSxJZS50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc3Vic2NyaXB0aW9uX3JlY29ubmVjdGluZyIpfV9vbk9wZW5DYWxsYmFjaygpe3N1cGVyLl9vbk9wZW5DYWxsYmFjaygpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3QmJihudC5sb2dOb3JtYWwoIlVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fYmVmb3JlVW5oaWJlcm5hdGluZy5maXJlKCksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPTApfV9vbk1lc3NhZ2UoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbWVzc2FnZSB0eXBlLCBleHBlY3RlZCBzdHJpbmciKTtjb25zdCB0PUpTT04ucGFyc2UoZSk7T2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsamUucGFyc2VMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGVbMV0sIiIpLGk9ZVswXTtsZXQgcz0wO2k9PT1HZS5zaGFyZWRDaGFydElkP3M9MTppPT09R2UuZ2xvYmFsbHlTaGFyZWRDaGFydElkJiYocz0yKSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uLmFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oaSx0LHMpfSkpLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5mb3JFYWNoKCh0PT50KGUpKSl9X29uQ2hhbmdlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fbGF5b3V0VmlzaWJpbGl0eS52YWx1ZSgpO250LmxvZ05vcm1hbChgVmlzaWJpbGl0eSBjaGFuZ2VkIHRvICR7ZX0sIGNvbm5lY3Rpb24gc3RhdHVzOiAke3RoaXMuY29ubmVjdGlvblN0YXR1cygpLnZhbHVlKCl9YCksCmU/dGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKSE9PVVlLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj8odGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKT09PVVlLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiZ0aGlzLmNvbm5lY3QoKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nLmZpcmUoKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkJiYobnQubG9nTm9ybWFsKCJDb25uZWN0IGR1ZSB0byBiZWNvbWluZyB2aXNpYmxlIiksSWUudGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3VuaGliZW5hdGVfc3Vic2NyaXB0aW9uIikpKTooKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHxKLkNoZWNrTW9iaWxlLmlPUygpfHxKLkNoZWNrTW9iaWxlLkFuZHJvaWQoKSkmJihudC5sb2dOb3JtYWwoIlNjaGVkdWxlIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMCxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPXNldFRpbWVvdXQoKCgpPT57bnQubG9nTm9ybWFsKCJDYW5jZWwgU2NoZWR1bGVkIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMX0pLDVlMykpOmV8fHRoaXMuX3NjaGVkdWxlSGliZXJuYXRpb24oUWUudmFsdWUoKSl9X3NjaGVkdWxlSGliZXJuYXRpb24oZSl7bnVsbCE9PXRoaXMuX2hpYmVybmF0ZVRpbWVySWQmJlllLmNsZWFyVGltZW91dCh0aGlzLl9oaWJlcm5hdGVUaW1lcklkKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPVllLnNldFRpbWVvdXQoKCgpPT50aGlzLl9kaXNjb25uZWN0SWZJbnZpc2libGUoKSksZSl9X2Rpc2Nvbm5lY3RJZkludmlzaWJsZSgpe3RoaXMuX2hpYmVybmF0ZVRpbWVySWQ9bnVsbCx0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LnZhbHVlKCl8fChudC5sb2dOb3JtYWwoIkRpc2Nvbm5lY3QgZHVlIHRvIGJlY29taW5nIGludmlzaWJsZSIpLHRoaXMuZGlzY29ubmVjdCgpLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19oaWJlbmF0ZV9zdWJzY3JpcHRpb24iKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkPSEwKX19dmFyIG90PWkoNzkxNDI3KSxhdD1pKDYwNTI1NyksbHQ9aSgxNTAxNTApLGN0PWkoNjQxNTkzKSxodD1pKDU1NzA2NSk7Y29uc3QgZHQ9KDAsYy5nZXRMb2dnZXIpKCJDbGlwYm9hcmQiKTt2YXIgdXQ7IWZ1bmN0aW9uKGUpe2UuTWFnaWNBdHRyTmFtZT0iZGF0YS10cmFkaW5ndmlldy1jbGlwIn0odXR8fCh1dD17fSkpO2NsYXNzIHB0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2U9ZX13cml0ZShlKXtyZXR1cm4oMCxodC53cml0ZUltcGwpKHRoaXMuX3RvUmF3KGUpLHRoaXMuX2UpfV90b1JhdyhlKXtjb25zdCB0PXtmaWxlczpbXX07dC50ZXh0PWUudGV4dCx2b2lkIDAhPT1lLmFwcD90Lmh0bWw9dGhpcy5fc2VyaWFsaXplQXBwRGF0YShlLmFwcCxlLnRleHQpOmUuaHRtbCYmKHQuaHRtbD1lLmh0bWwpO2Zvcihjb25zdCBpIG9mIGUuZmlsZXN8fFtdKXQuZmlsZXMucHVzaChpKTtyZXR1cm4gdH1fc2VyaWFsaXplQXBwRGF0YShlLHQpe2NvbnN0IGk9KDAsY3QuaHRtbEVzY2FwZSkoZSkscz10PygwLGN0Lmh0bWxFc2NhcGUpKHQuc2xpY2UoMCwyNTYpKToiJiMxMjgyMDA7IjtyZXR1cm5gPG1ldGEgY2hhcnNldD0idXRmLTgiPjxzcGFuICR7dXQuTWFnaWNBdHRyTmFtZX09IiR7aX0iPiR7c308L3NwYW4+YH19Y2xhc3MgX3R7Y29uc3RydWN0b3IoZSl7dGhpcy5fZT1lfWFzeW5jIHJlYWQoKXt0aGlzLl9lJiYwPT09dGhpcy5fZS5ldmVudFBoYXNlJiYoZHQubG9nV2FybigiQ2Fubm90IHVzZSBhbiBhbHJlYWR5IGRpc3BhdGNoZWQgQ2xpcGJvYXJkRXZlbnQgZm9yIHJlYWRpbmciKSx0aGlzLl9lPW51bGwpO2NvbnN0IGU9dGhpcy5fZT90aGlzLl9yZWFkVXNpbmdFdmVudCh0aGlzLl9lKTphd2FpdCB0aGlzLl9yZWFkVXNpbmdBcGkoKTtyZXR1cm4gdGhpcy5fZnJvbVJhdyhlKX1fcmVhZFVzaW5nRXZlbnQoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZSkoZS5jbGlwYm9hcmREYXRhKTtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT17ZmlsZXM6W119O2ZvcihsZXQgZT0wO2U8dC5maWxlcy5sZW5ndGg7ZSsrKWkuZmlsZXMucHVzaCh0LmZpbGVzW2VdKTtmb3IobGV0IGU9MDtlPHQuaXRlbXMubGVuZ3RoO2UrKyl7Y29uc3Qgcz10Lml0ZW1zW2VdOyJzdHJpbmciPT09cy5raW5kJiYoInRleHQvcGxhaW4iPT09cy50eXBlP2kudGV4dD10LmdldERhdGEocy50eXBlKToidGV4dC9odG1sIj09PXMudHlwZT9pLmh0bWw9dC5nZXREYXRhKHMudHlwZSk6aS5maWxlcy5wdXNoKG5ldyBCbG9iKFt0LmdldERhdGEocy50eXBlKV0se3R5cGU6cy50eXBlfSkpKX1yZXR1cm4gaX1hc3luYyBfcmVhZFVzaW5nQXBpKCl7Y29uc3QgZT0oMCxodC5nZXRDbGlwYm9hcmQpKCk7aWYoIWV8fCFlLnJlYWQpdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0LGk7Y29uc3Qgcz1bXSxuPWF3YWl0IGUucmVhZCgpO2Zvcihjb25zdCBlIG9mIG4pZm9yKGNvbnN0IG4gb2YgZS50eXBlcykidGV4dC9odG1sIj09PW4/dD1lLmdldFR5cGUobikudGhlbih0aGlzLl9yZWFkQmxvYkFzVGV4dCk6InRleHQvcGxhaW4iPT09bj9pPWUuZ2V0VHlwZShuKS50aGVuKHRoaXMuX3JlYWRCbG9iQXNUZXh0KTpzLnB1c2goZS5nZXRUeXBlKG4pKTtyZXR1cm57dGV4dDphd2FpdCBpLGh0bWw6YXdhaXQgdCxmaWxlczphd2FpdCBQcm9taXNlLmFsbChzKX19X2Zyb21SYXcoZSl7Y29uc3QgdD17fTtpZih2b2lkIDAhPT1lLnRleHQmJih0LnRleHQ9ZS50ZXh0KSx2b2lkIDAhPT1lLmh0bWwpe2NvbnN0IGk9dGhpcy5fcGFyc2VBcHBEYXRhKGUuaHRtbCk7aT90LmFwcD1pOnQuaHRtbD1lLmh0bWx9CnJldHVybiBlLmZpbGVzLmxlbmd0aD4wJiYodC5maWxlcz1lLmZpbGVzKSx0fV9wYXJzZUFwcERhdGEoZSl7aWYoLTE9PT1lLnNsaWNlKDAsMTAyNCkuaW5kZXhPZih1dC5NYWdpY0F0dHJOYW1lKSlyZXR1cm47Y29uc3QgdD0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQvaHRtbCIpLnF1ZXJ5U2VsZWN0b3IoYFske3V0Lk1hZ2ljQXR0ck5hbWV9XWApO3JldHVybiB0P3QuZ2V0QXR0cmlidXRlKHV0Lk1hZ2ljQXR0ck5hbWUpfHwiIjp2b2lkIDB9X3JlYWRCbG9iQXNUZXh0KGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKHQsaSk9Pntjb25zdCBzPW5ldyBGaWxlUmVhZGVyO3Mub25sb2FkZW5kPSgpPT57dChzLnJlc3VsdCl9LHMub25lcnJvcj0oKT0+e2kocy5lcnJvcil9LHMucmVhZEFzVGV4dChlKX0pKX19Y2xhc3MgbXR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FsbGJhY2tzPU9iamVjdC5hc3NpZ24oe30sZSksdGhpcy5fYm91bmRPbkNvcHk9dGhpcy5fb25Db3B5RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uQ3V0PXRoaXMuX29uQ3V0RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uUGFzdGU9dGhpcy5fb25QYXN0ZUV2LmJpbmQodGhpcyl9bGlzdGVuKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsdGhpcy5fYm91bmRPbkNvcHkpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImN1dCIsdGhpcy5fYm91bmRPbkN1dCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLHRoaXMuX2JvdW5kT25QYXN0ZSl9YXN5bmMgcGVlaygpe2lmKCJncmFudGVkIiE9PShhd2FpdCBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoe25hbWU6ImNsaXBib2FyZC1yZWFkIn0pKS5zdGF0ZSl0aHJvdyBuZXcgRXJyb3IoImNsaXBib2FyZC1yZWFkIGlzIG5vdCBncmFudGVkIik7cmV0dXJuIG5ldyBfdChudWxsKS5yZWFkKCl9dWlSZXF1ZXN0Q29weShlKXt0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmNvcHlSZXF1ZXN0ZWQobmV3IHB0KG51bGwpLGUpfXVpUmVxdWVzdEN1dChlKXt0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkKG5ldyBwdChudWxsKSxlKX11aVJlcXVlc3RQYXN0ZShlKXt0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QobnVsbCksZSl9ZGVzdHJveSgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLHRoaXMuX2JvdW5kT25Db3B5KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjdXQiLHRoaXMuX2JvdW5kT25DdXQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhc3RlIix0aGlzLl9ib3VuZE9uUGFzdGUpfV9vbkNvcHlFdihlKXtlLmRlZmF1bHRQcmV2ZW50ZWR8fHRoaXMuX2NhbGxiYWNrcy5jb3B5UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZChuZXcgcHQoZSkpfV9vbkN1dEV2KGUpe2UuZGVmYXVsdFByZXZlbnRlZHx8dGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZChuZXcgcHQoZSkpfV9vblBhc3RlRXYoZSl7ZS5kZWZhdWx0UHJldmVudGVkfHx0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QoZSkpfX12YXIgZ3Q9aSg3MjEzNjkpO2Z1bmN0aW9uIGZ0KGUpe2NvbnN0IHQ9ZS50YXJnZXQ7cmV0dXJuIG51bGwhPT10JiYxPT09dC5ub2RlVHlwZSYmKDAsZ3QuaXNUZXh0RWRpdGluZ0ZpZWxkKSh0KX1mdW5jdGlvbiBTdChlKXtjb25zdCB0PWUudGFyZ2V0O2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IGk9KHQub3duZXJEb2N1bWVudHx8dCkuZ2V0U2VsZWN0aW9uKCk7cmV0dXJuIG51bGwhPT1pJiYhaS5pc0NvbGxhcHNlZH1jbGFzcyB2dCBleHRlbmRzIG10e19vbkNvcHlFdihlKXtpZighZnQoZSkmJiFTdChlKSlyZXR1cm4gc3VwZXIuX29uQ29weUV2KGUpfV9vbkN1dEV2KGUpe2lmKCFmdChlKSYmIVN0KGUpKXJldHVybiBzdXBlci5fb25DdXRFdihlKX1fb25QYXN0ZUV2KGUpe2lmKCFmdChlKSlyZXR1cm4gc3VwZXIuX29uUGFzdGVFdihlKX19dmFyIHl0PWkoOTE4Nzc5KSxidD1pKDgzOTQyNiksd3Q9aSgxNDQ1NTUpLEN0PWkoNjM5Nzg4KSxQdD1pKDczNjUzMSksVHQ9aSg0NTk5OTQpLHh0PWkoNzI4NTQpLE10PWkoMzg2OTMxKSxJdD1pKDQyNTY1OSksTHQ9aSgyOTExMjkpLEF0PWkoNzY4NzYwKSxrdD1pKDEwMjUzKSxEdD1pKDY4Mjc3OSksRXQ9aSg5OTQ1NDApLFJ0PWkoNzQ0NTM0KTtsZXQgVnQ7Y2xhc3MgQnQgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fc3Vic2NyaWJlPWU9Pnt0aGlzLl9zZXRWaXNpYmlsaXR5KGUpfX1zaG93KCl7dGhpcy5fbG9hZCgpLnRoZW4oKGU9PmUuc2hvdygpKSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBWdHx8KFZ0PW5ldyBCdCksVnR9X2xvYWQoKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoNjIyNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzE0MTQpLGkuZSg4OTIwNCksaS5lKDg5NTU4KSxpLmUoOTc0NCksaS5lKDY5ODYxKSxpLmUoMTk1MTMpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzA2NTYpLGkuZSg3MTkwMSksaS5lKDgxMjQ3KSxpLmUoMzkxNiksaS5lKDkwMzc4KSxpLmUoNzkyNyksaS5lKDY2MjI5KSxpLmUoNzkzOTgpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoOTkzMDkpLGkuZSg3NjAzMyksaS5lKDI0ODc5KSxpLmUoNTc2MzgpLGkuZSg4NDk1MildKS50aGVuKGkuYmluZChpLDkyMDY0KSkudGhlbigoZT0+KHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyBlLk9iamVjdFRyZWVEaWFsb2dSZW5kZXJlcix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZykpKX19dmFyIE50PWkoNjI4MDYpLE90PWkoNzY4MjkyKTt2YXIgV3QsRnQ9aSg4OTkyMzUpO2FzeW5jIGZ1bmN0aW9uIEh0KGUsdCxzLG4scixvPSJkZWZhdWx0Iil7bGV0IGwsYz1bXTtjb25zdCBoPWUubW9kZWwoKS5tb2RlbCgpLGQ9KDAsYS5jbG9uZSkodCksdT1uZXcgT3QuUHJvcGVydHkoe2lucHV0czpkfSksXz1mdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2wiPT09dD9lLmlucHV0cy5maWx0ZXIoKHQ9PnQuaWQ9PT1lLnN5bWJvbElucHV0SWQoKSkpOmUuaW5wdXRzLmZpbHRlcigoZT0+ZS5jb25maXJtKSl9KHMsbyksbT0oKT0+e2wmJmgucmVtb3ZlQ3VzdG9tU291cmNlKGwpfSxnPSgpPT57bSgpLHIoKX0sZj1lPT57bih7aW5wdXRzOmUscGFyZW50U291cmNlczpjfSksbSgpfSxTPV8uZmlsdGVyKE50LmlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dCk7aWYoUy5sZW5ndGg+MCl0cnl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDU0MTY4NikpLG49YXdhaXQgdC5zZWxlY3RJbnB1dFZhbHVlc09uQ2hhcnQoZSxTLHUscy5zaG9ydERlc2NyaXB0aW9uLHMuaW5wdXRzKTtpZihsPW4uY3VzdG9tU291cmNlSWQsbi5kZXN0UGFuZSYmb3QuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJbnB1dElkcyhzKS5sZW5ndGg+MCl7Y29uc3QgZT1uLmRlc3RQYW5lLm1haW5EYXRhU291cmNlKCk7Yz1lPT09aC5tYWluU2VyaWVzKCk/W106W2VdfWVsc2UgYz1bXX1jYXRjaChlKXtyZXR1cm4gdm9pZCBnKCl9Uy5sZW5ndGghPT1fLmxlbmd0aD9Qcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDQyMTIwNSkpLnRoZW4oKHQ9PnsKY29uc3Qgbj1uZXcgdC5Db25maXJtSW5wdXRzRGlhbG9nUmVuZGVyZXIoZnVuY3Rpb24oZSl7aWYoInN5bWJvbCI9PT1lKXJldHVybiBwLnQobnVsbCx2b2lkIDAsaSgzNDQzMjApKTtyZXR1cm4gcC50KG51bGwsdm9pZCAwLGkoNzQ3MjU5KSl9KG8pLF8sdSxvLHMsZixnLCgwLEZ0LmdldFRpbWV6b25lTmFtZSkoZS5tb2RlbCgpKSk7cmV0dXJuIG4uc2hvdygpLG59KSk6Zih1LnN0YXRlKCkuaW5wdXRzfHx7fSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TeW1ib2w9InN5bWJvbCJ9KFd0fHwoV3Q9e30pKTtsZXQgenQ9bnVsbDt2YXIgVXQ9aSg2NTQ2MzYpLEd0PWkoMTg5ODYzKSxqdD1pKDIyMzU1Nik7ZnVuY3Rpb24gcXQoZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9ZnVuY3Rpb24gJHQoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2Zvcihjb25zdCBpIGluIHQpaWYocXQodCxpKSl7Y29uc3Qgcz10W2ldLG49ZVtpXTtuP24ucHVzaChzKTplW2ldPVtzXX1yZXR1cm4gZX0pLHt9KX12YXIgWXQsS3Q9aSgxNTEyMSksWHQ9aSg0NjQ4MzUpOyFmdW5jdGlvbihlKXtlW2UuQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscz0uMDAzXT0iQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscyIsZVtlLk1heFNwZWVkUGVyTVNlY1BpeGVscz0xLjFdPSJNYXhTcGVlZFBlck1TZWNQaXhlbHMifShZdHx8KFl0PXt9KSk7Y2xhc3MgWnR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2hhcnRNb2RlbD1udWxsLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fY2hhcnQud2l0aE1vZGVsKHRoaXMsKCgpPT57dGhpcy5fY2hhcnRNb2RlbD10aGlzLl9jaGFydC5tb2RlbCgpfSkpfWRlc3Ryb3koKXt0aGlzLl9hbmltYXRpb24/LnN0b3AoKX1tb3ZlKGUpe2lmKG51bGwhPT10aGlzLl9jaGFydE1vZGVsKXtpZih0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD0uMDAzLGk9MS4xLHM9TWF0aC5yb3VuZChpL3QpO3RoaXMuX21vdmVJbXBsKCgobixyLG8pPT57Y29uc3QgYT1NYXRoLm1pbihyLHMpLGw9ZSp0Kk1hdGgucG93KGEsMikvMjtpZihyPD1zKXJldHVybiBuK2w7Y29uc3QgYz1OdW1iZXIuaXNGaW5pdGUobyk/TWF0aC5tYXgoMCxzLW8pOjA7cmV0dXJuIG4rbCtlKihyLWEtYykqaStlKihpKmMtdCpNYXRoLnBvdyhjLDIpLzIpfSksKGU9Pk1hdGgubWF4KDAscy1lKStzKSl9fW1vdmVCeUJhcihlKXtpZihudWxsIT09dGhpcy5fY2hhcnRNb2RlbCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYodC5pc0VtcHR5KCl8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPTMwMCxuPWkubGFzdEJhcigpO3RoaXMuX21vdmVJbXBsKCgoaSxyKT0+e2NvbnN0IG89TWF0aC5mbG9vcihNYXRoLm1heCgwLHItcykvMTAwKSsxLGE9bitlKm8sbD10LmluZGV4VG9Db29yZGluYXRlKG4pO3JldHVybiBpKyh0LmluZGV4VG9Db29yZGluYXRlKGEpLWwpfSksKCgpPT4wKSwhMCl9fXN0b3BNb3ZlKCl7dGhpcy5fYW5pbWF0aW9uPy5zdG9wKCksdGhpcy5fYW5pbWF0aW9uPW51bGx9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjt0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSx0KTtjb25zdCBpPXRoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpOyFpLmxvY2suZGF0ZVJhbmdlLnZhbHVlKCkmJmkubG9jay50cmFja1RpbWUudmFsdWUoKSYmaS5jaGFydE1vZGVscygpLnZhbHVlKCkuZm9yRWFjaCgodD0+e3QhPT10aGlzLl9jaGFydE1vZGVsJiZ0LnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSl9KSl9c2Nyb2xsVG9GaXJzdEJhcigpe3RoaXMuX2NoYXJ0TW9kZWw/LnRpbWVTY2FsZSgpLnNjcm9sbFRvRmlyc3RCYXIoKX1fbW92ZUltcGwoZSx0LGkpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2lmKGkmJm51bGwhPT1zLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSl7Y29uc3QgZT1zLmluZGV4VG9Db29yZGluYXRlKHMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLmxhc3RCYXIoKSkrcy5iYXJTcGFjaW5nKCkvMjtNYXRoLmFicyhzLndpZHRoKCktZSk+cy5iYXJTcGFjaW5nKCkvNiYmcy5zZXRSaWdodE9mZnNldChNYXRoLnJvdW5kKHMucmlnaHRPZmZzZXQoKSkpfWNvbnN0IG49cGVyZm9ybWFuY2Uubm93KCk7bGV0IHI9MS8wO3RoaXMuX2FuaW1hdGlvbj17Z2V0U3RhcnRQb3NpdGlvbjooKT0+MCxnZXRQb3NpdGlvbjp0PT4odD1NYXRoLm1pbihyLHQpLGUoMCx0LW4sci10KSksZmluaXNoZWQ6ZT0+ZT49cixzdG9wOigpPT57Y29uc3QgZT1wZXJmb3JtYW5jZS5ub3coKS1uO3I9cGVyZm9ybWFuY2Uubm93KCkrdChlKX19LHRoaXMuX2NoYXJ0TW9kZWwubW9kZWwoKS5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCksdGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnNldFRpbWVTY2FsZUFuaW1hdGlvbih0aGlzLl9hbmltYXRpb24pfX12YXIgSnQ9aSgxODcwNjIpO2xldCBRdD1udWxsO2Z1bmN0aW9uIGVpKGUsdCxzLG4scixvKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMjk0MzkpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDgzMDQxKSxpLmUoNTE2ODIpLGkuZSgyMDIpLGkuZSg5NzY2MCksaS5lKDcyNTEyKSxpLmUoMzUxOTgpLGkuZSgxNTYzNCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDIzNjY5KSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSg3NTYwMyksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDI1MjM3KV0pLnRoZW4oaS5iaW5kKGksNDg4OTQ4KSkudGhlbigoaT0+e1F0Py5oaWRlKCk7Y29uc3QgYT1pLkVkaXRPYmplY3REaWFsb2dSZW5kZXJlcjtyZXR1cm4gUXQ9bmV3IGEoZSx0LHMscixvKSxRdC5zaG93KG4pLFF0fSkpfXZhciB0aT1pKDk1NjQzNyk7bGV0IGlpPW51bGw7ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGUmJmUubG9sbGlwb3BzQXRJbmRleH12YXIgbmk9aSg5MjY5OTUpLHJpPWkoMzY4MTEwKSxvaT1pKDMyMjQxOSk7Y29uc3QgYWk9e1tKdC5UYWJOYW1lcy5zeW1ib2xdOiJzeW1ib2wiLFtKdC5UYWJOYW1lcy5sZWdlbmRdOiJsZWdlbmQiLFtKdC5UYWJOYW1lcy5zY2FsZXNdOiJzY2FsZXMiLFtKdC5UYWJOYW1lcy50cmFkaW5nXToidHJhZGluZyIsW0p0LlRhYk5hbWVzLmV2ZW50c106ImV2ZW50cyIsW0p0LlRhYk5hbWVzLmFsZXJ0c106ImFsZXJ0cyIsW0p0LlRhYk5hbWVzLnRpbWV6b25lU2Vzc2lvbnNdOiJjYW52YXMiLFtKdC5UYWJOYW1lcy50ZXh0XToidGV4dCIsW0p0LlRhYk5hbWVzLnN0eWxlXToic3R5bGUiLFtKdC5UYWJOYW1lcy52aXNpYmlsaXR5XToidmlzaWJpbGl0eSJ9LGxpPXtbSnQuVGFiTmFtZXMuc3R5bGVdOiJzdHlsZSIsW0p0LlRhYk5hbWVzLnZpc2liaWxpdHldOiJ2aXNpYmlsaXRpZXMifTthc3luYyBmdW5jdGlvbiBjaShlLHQscz17fSxuLHIpe2NvbnN0IG89bi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLHtpbml0aWFsVGFiOmwsdGFiTmFtZTpjfT1zO2lmKGMmJiFsJiYocy5pbml0aWFsVGFiPWxpW2NdKSwoMCxvaS5pc1N0dWR5TGluZVRvb2wpKGUpJiZmdW5jdGlvbihlKXtpZighKDAsb2kuaXNTdHVkeUxpbmVUb29sKShlKSlyZXR1cm4hMTtyZXR1cm5bIkxpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGUiLCJMaW5lVG9vbFZiUEZpeGVkIiwiTGluZVRvb2xBbmNob3JlZFZvbHVtZVByb2ZpbGUiXS5maWx0ZXIoYS5ub3ROdWxsKS5zb21lKCh0PT5lLnRvb2xuYW1lPT09dCkpfShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigoaT0+bnVsbCE9PWk/ZWkoZSx0LG5pLnNob3dTdXBwb3J0RGlhbG9nLHMscixpKTpudWxsKSk7aWYoKDAsdGkuaXNTdHVkeSkoZSkmJmZ1bmN0aW9uKGUpe2NvbnN0e3Nob3J0SWQ6dH09ZS5tZXRhSW5mbygpO3JldHVybiJPdmVybGF5Ij09PXR9KGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigobj0+e2lmKG51bGwhPT1uKXtyZXR1cm4gZnVuY3Rpb24oZSl7CnJldHVybiBQcm9taXNlLmFsbChbaS5lKDM3MDEyKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNzg2NTIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSgzNTE5OCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDM4NDc5KSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDIwNTY0KSxpLmUoNTEyNTYpLGkuZSg0NTMzMSksaS5lKDQ1MjQyKSxpLmUoNzg2MyksaS5lKDQ2MjQ1KSxpLmUoNTUyOTApLGkuZSg3NDQ3MSksaS5lKDIwMzcwKSxpLmUoMTc4NjEpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0MDc1NCksaS5lKDk1NTU0KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoOTkzMDkpLGkuZSg1NTIyOSksaS5lKDczNTM1KSxpLmUoMjY1MDEpLGkuZSgxMDk5OSksaS5lKDM4OTczKSxpLmUoOTY5NzApLGkuZSgxMjA2MCldKS50aGVuKGkuYmluZChpLDI3NzU5NykpLnRoZW4oKHQ9PntpaT8uaGlkZSgpO2NvbnN0IGk9dC5Tb3VyY2VQcm9wZXJ0aWVzRWRpdG9yUmVuZGVyZXI7cmV0dXJuIGlpPW5ldyBpKGUpLGlpLnNob3coe3Nob3VsZFJldHVybkZvY3VzOmUuc2hvdWxkUmV0dXJuRm9jdXN9KSxpaX0pKX0oe3Byb3BlcnR5UGFnZXM6bixtb2RlbDp0LHNvdXJjZTplLGFjdGl2ZVBhZ2VJZDpjJiZhaVtjXSxzaG91bGRSZXR1cm5Gb2N1czpzLnNob3VsZFJldHVybkZvY3VzfSl9cmV0dXJuIG51bGx9KSk7aWYoKDAsdGkuaXNTdHVkeVN0dWIpKGUpKXJldHVybiBudWxsO2lmKCgwLHRpLmlzU3R1ZHkpKGUpJiYhc2koZSkpcmV0dXJuIGVpKGUsdCxuaS5zaG93U3VwcG9ydERpYWxvZyxzLHIpO3tjb25zdCB0PXNpKGUpPyJldmVudHMiOmMmJmFpW2NdLGk9bi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpO3JldHVybiBpLnNldEFjdGl2ZVBhZ2UodCksaS5zaG93KHMpfX12YXIgaGksZGk9aSg4NzE3MCksdWk9aSg2NzAyMTQpLHBpPWkoMjI3ODI1KSxfaT1pKDc5MTUyMSksbWk9aSg1MDY0NDYpO2NsYXNzIGdpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U9bnVsbCx0aGlzLl9jdz1lLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLnNjcmVlbiksdC5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KSx0aGlzLl9jdy53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9ZGVzdHJveSgpe3RoaXMuaGlkZSgpLHRoaXMuX2VsZW1lbnQucmVtb3ZlKCl9c2hvdyhlLHQpe2lmKGUpe2NvbnN0IGU9dGhpcy5fY3cubW9kZWwoKS5tYWluU2VyaWVzKCkuc3RhdHVzKCk7aWYoMSE9PWUmJjIhPT1lKXJldHVybn10aGlzLl9hZGRpdGlvbmFsUmVhZHlQcm9taXNlPXQsdGhpcy5fY3cuc2V0SW5Mb2FkaW5nU3RhdGUoITApLHRoaXMuX3Nob3dlZHx8KHRoaXMuX3Nob3dlZD0hMCx0aGlzLl9zaG93KCkpfWhpZGUoKXt0aGlzLl9jdy5zZXRJbkxvYWRpbmdTdGF0ZSghMSksdGhpcy5fc2hvd2VkJiZ0aGlzLl9oaWRlKCl9aXNTaG93bigpe3JldHVybiB0aGlzLl9zaG93ZWR9X2Nvbm5lY3RUb01vZGVsKCl7Y29uc3QgZT10aGlzLl9jdy5tb2RlbCgpLm1haW5TZXJpZXMoKSx0PWUuZGF0YUV2ZW50cygpO3Quc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcywoZT0+e2UhPT1faS5wZXJtaXNzaW9uRGVuaWVkJiZ0aGlzLmhpZGUoKX0pKSx0LnNlcmllc0Vycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9sb2FkaW5nX3NjcmVlbl9vbl9zZXJpZXNfZXJyb3IiKSYmdGhpcy5oaWRlKCl9KSksZS5zdGF0dXNXVigpLnN1YnNjcmliZSgoZT0+e2lmKDQhPT1lJiYxMiE9PWUmJjEzIT09ZSYmMTQhPT1lfHx0aGlzLmhpZGUoKSxMLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKGUpKXtjb25zdCBlPXRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U7ZT9lLnRoZW4oKCgpPT57dGhpcy5oaWRlKCl9KSk6dGhpcy5oaWRlKCl9fSkpfV9zaG93KCl7Y29uc3QgZT10aGlzLl9jdy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCk7bGV0IHQ7aWYoZS5iYWNrZ3JvdW5kVHlwZS52YWx1ZSgpPT09cGkuQ29sb3JUeXBlLlNvbGlkKXQ9ZS5iYWNrZ3JvdW5kLnZhbHVlKCk7ZWxzZXt0PWBsaW5lYXItZ3JhZGllbnQoJHtlLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IudmFsdWUoKX0sJHtlLmJhY2tncm91bmRHcmFkaWVudEVuZENvbG9yLnZhbHVlKCl9KWB9dGhpcy5fZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kPXQsdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLmZhZGUpfV9oaWRlKCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShtaS5mYWRlKX19ZnVuY3Rpb24gZmkoZSx0KXtsZXR7ZGVsdGFYOmksZGVsdGFZOnN9PWU7c3dpdGNoKGkvPTEwMCxzLz0xMDAsdC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTppKj0xMjAscyo9MTIwO2JyZWFrCjtjYXNlIHQuRE9NX0RFTFRBX0xJTkU6aSo9MzIscyo9MzJ9cmV0dXJue2RlbHRhWDppLGRlbHRhWTpzfX0hZnVuY3Rpb24oZSl7ZVtlLk1heE5leHRFdmVudERlbGF5PTEwMF09Ik1heE5leHRFdmVudERlbGF5IixlW2UuSWdub3JlU21hbGxlckRlbHRhQ29lZmY9M109Iklnbm9yZVNtYWxsZXJEZWx0YUNvZWZmIn0oaGl8fChoaT17fSkpO2NsYXNzIFNpe2NvbnN0cnVjdG9yKCl7dGhpcy5fdG90YWxEZWx0YVg9MCx0aGlzLl90b3RhbERlbHRhWT0wLHRoaXMuX3ByZXZXaGVlbFRpbWU9MH1wcm9jZXNzV2hlZWwoZSl7ZS50aW1lU3RhbXAtdGhpcy5fcHJldldoZWVsVGltZT4xMDAmJnRoaXMuX3Jlc2V0KCk7Y29uc3QgdD0hKDAsSi5pc01hYykoKSYmZS5zaGlmdEtleSxpPXQ/LWUuZGVsdGFZOmUuZGVsdGFYLHM9dD9lLmRlbHRhWDplLmRlbHRhWTt0aGlzLl90b3RhbERlbHRhWCs9aSx0aGlzLl90b3RhbERlbHRhWSs9cyx0aGlzLl9wcmV2V2hlZWxUaW1lPWUudGltZVN0YW1wO2NvbnN0IG49e2RlbHRhWDppLGRlbHRhWTpzfTtyZXR1cm4gMD09PXRoaXMuX3RvdGFsRGVsdGFYfHwwPT09dGhpcy5fdG90YWxEZWx0YVl8fChNYXRoLmFicyh0aGlzLl90b3RhbERlbHRhWCk+PU1hdGguYWJzKDMqdGhpcy5fdG90YWxEZWx0YVkpJiYobi5kZWx0YVk9MCksTWF0aC5hYnModGhpcy5fdG90YWxEZWx0YVkpPj1NYXRoLmFicygzKnRoaXMuX3RvdGFsRGVsdGFYKSYmKG4uZGVsdGFYPTApKSxmaShuLGUpfV9yZXNldCgpe3RoaXMuX3RvdGFsRGVsdGFYPTAsdGhpcy5fdG90YWxEZWx0YVk9MH19dmFyIHZpLHlpPWkoMTM0NjcpLGJpPWkoNjQwNzQ0KSx3aT1pKDY2MzQpLENpPWkoMTI0MzM2KTshZnVuY3Rpb24oZSl7ZVtlLkhlaWdodD0xXT0iSGVpZ2h0IixlW2UuTWluUGFuZUhlaWdodD0zMF09Ik1pblBhbmVIZWlnaHQifSh2aXx8KHZpPXt9KSk7Y2xhc3MgUGl7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2hhbmRsZUVsPW51bGwsdGhpcy5fcmVzaXplSW5mbz1udWxsLHRoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjoiIixiYWNrZ3JvdW5kQ29sb3I6IiIsY29sb3I6IiJ9LHRoaXMuX3NlbGVjdGVkPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9jaGFydD1lLHRoaXMuX3RvcFBhbmVJbmRleD10LHRoaXMuX2JvdHRvbVBhbmVJbmRleD1pLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENpLnBhbmVTZXBhcmF0b3IpLHRoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLHRoaXMuYWRqdXN0U2l6ZSgpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e30pKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChDaS5oYW5kbGUpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQocyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHMsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiExLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMH0pLHRoaXMuX2hhbmRsZUVsPXMsdGhpcy5faGFuZGxlRWwuY2xhc3NMaXN0LnRvZ2dsZShDaS5tb2JpbGUsSi5DaGVja01vYmlsZS5hbnkoKSksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSgoZT0+dGhpcy5faGFuZGxlRWw/LmNsYXNzTGlzdC50b2dnbGUoQ2kuc2VsZWN0ZWQsZSkpKX1kZXN0cm95KCl7dGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudCYmdGhpcy5fZWxlbWVudC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnQpfXRvcFBhbmVJbmRleCgpe3JldHVybiB0aGlzLl90b3BQYW5lSW5kZXh9Ym90dG9tUGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2JvdHRvbVBhbmVJbmRleH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9aGlkZSgpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIil9c2hvdygpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIil9c2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWQucmVhZG9ubHkoKX1hZGp1c3RTaXplKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5oZWlnaHQ9UGkuaGVpZ2h0KCkrInB4In1tb3VzZUVudGVyRXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7bnVsbCE9PXQmJm51bGwhPT1pJiYoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmhvdmVyZWQpfW1vdXNlTGVhdmVFdmVudChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmhvdmVyZWQpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRhcEV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoIXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSYmdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoITEpfXVwZGF0ZSgpe3RoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLnRvU3RyaW5nKCl9cGFpbnQoKXt9aW1hZ2UoKXsKY29uc3R7dG9wUGFuZTplfT10aGlzLl90b3BCb3R0b21QYW5lKCExKSx0PWUubGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCkuZ2V0V2lkdGgoKSxpPWUud2lkdGgoKSxzPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLmdldFdpZHRoKCksbj10aGlzLl9jb2xvcigpLHI9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6dCxoZWlnaHQ6MX0pKSxvPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkocik7by5maWxsU3R5bGU9bixvLmZpbGxSZWN0KDAsMCx0LDEpO2NvbnN0IGE9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6aSxoZWlnaHQ6MX0pKSxsPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYSk7bC5maWxsU3R5bGU9bixsLmZpbGxSZWN0KDAsMCxpLDEpO2NvbnN0IGM9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6cyxoZWlnaHQ6MX0pKSxoPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYyk7cmV0dXJuIGguZmlsbFN0eWxlPW4saC5maWxsUmVjdCgwLDAscywxKSx7dHlwZToic2VwYXJhdG9yIixsZWZ0QXhpczp7Y29udGVudDpyLnRvRGF0YVVSTCgpLGNhbnZhczpyLGNvbnRlbnRXaWR0aDp0LGNvbnRlbnRIZWlnaHQ6MX0scmlnaHRBeGlzOntjb250ZW50OmMudG9EYXRhVVJMKCksY2FudmFzOmMsY29udGVudFdpZHRoOnMsY29udGVudEhlaWdodDoxfSxjb250ZW50OmEudG9EYXRhVVJMKCksY2FudmFzOmEsY29udGVudFdpZHRoOmksY29udGVudEhlaWdodDoxfX1zdGF0aWMgaGVpZ2h0KCl7Y29uc3QgZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtyZXR1cm4gZT49MT8xOjEvZX1fbW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7aWYobnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPXQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkraS5zdGF0ZSgpLnN0cmV0Y2hGYWN0b3IoKSxuPXMvKHQuaGVpZ2h0KCkraS5oZWlnaHQoKSkscj0zMCpuO3M8PTIqcnx8KHRoaXMuX3Jlc2l6ZUluZm89e3N0YXJ0WTplLnBhZ2VZLHByZXZTdHJldGNoVG9wUGFuZTp0LnN0YXRlKCkuc3RyZXRjaEZhY3RvcigpLG1heFBhbmVTdHJldGNoOnMtcix0b3RhbFN0cmV0Y2g6cyxwaXhlbFN0cmV0Y2hGYWN0b3I6bixtaW5QYW5lU3RyZXRjaDpyfSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmFjdGl2ZSkpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2NvbnN0e3RvcFBhbmU6dCxib3R0b21QYW5lOml9PXRoaXMuX3RvcEJvdHRvbVBhbmUoITApLHM9dGhpcy5fcmVzaXplSW5mbztpZihudWxsPT09c3x8bnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBuPShlLnBhZ2VZLXMuc3RhcnRZKSpzLnBpeGVsU3RyZXRjaEZhY3RvcixyPSgwLGJpLmNsYW1wKShzLnByZXZTdHJldGNoVG9wUGFuZStuLHMubWluUGFuZVN0cmV0Y2gscy5tYXhQYW5lU3RyZXRjaCk7dC5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3IociksaS5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3Iocy50b3RhbFN0cmV0Y2gtciksdGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtjb25zdHt0b3BQYW5lOnQsYm90dG9tUGFuZTppfT10aGlzLl90b3BCb3R0b21QYW5lKCEwKSxzPXRoaXMuX3Jlc2l6ZUluZm87bnVsbCE9PXMmJm51bGwhPT10JiZudWxsIT09aSYmKHRoaXMuX2NoYXJ0Lm1vZGVsKCkuYWRkUGFuZVN0cmV0Y2hGYWN0b3JVbmRvQ29tbWFuZCh0LnN0YXRlKCksaS5zdGF0ZSgpLHMucHJldlN0cmV0Y2hUb3BQYW5lLHQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkpLHRoaXMuX3Jlc2l6ZUluZm89bnVsbCwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmFjdGl2ZSkpfV9jb2xvcigpe2NvbnN0IGU9dGhpcy5fY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLnNlcGFyYXRvckNvbG9yLnZhbHVlKCksdD10aGlzLl9jaGFydC5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9jb2xvckNhY2hlLmxpbmVDb2xvciE9PWV8fHRoaXMuX2NvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09dCl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYmEpKHQpLHM9KDAseWkucGFyc2VSZ2JhKShlKSxuPTA9PT1pWzNdJiYwPT09c1szXT8icmdiYSgwLDAsMCwwKSI6KDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5ibGVuZFJnYmEpKGkscykpO3RoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjplLGJhY2tncm91bmRDb2xvcjp0LGNvbG9yOm59fXJldHVybiB0aGlzLl9jb2xvckNhY2hlLmNvbG9yfV90b3BCb3R0b21QYW5lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtsZXQgaT1udWxsLHM9bnVsbDtmb3IobGV0IHM9dGhpcy5fdG9wUGFuZUluZGV4O3M+PTA7LS1zKXtjb25zdCBuPXRbc107aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7aT1uO2JyZWFrfX1mb3IobGV0IGk9dGhpcy5fYm90dG9tUGFuZUluZGV4O2k8dC5sZW5ndGg7KytpKXtjb25zdCBuPXRbaV07aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7cz1uO2JyZWFrfX1yZXR1cm57dG9wUGFuZTppLGJvdHRvbVBhbmU6c319fXZhciBUaSx4aT1pKDk2NDQ4NiksTWk9aSg3NjMpLElpPWkoOTMwNTA2KSxMaT1pKDkwMTM3MCksQWk9aSgxODQ2MTYpLGtpPWkoMzI5NjY2KSxEaT1pKDc4NjQzNik7IWZ1bmN0aW9uKGUpe2VbZS5HZWFyPTBdPSJHZWFyIixlW2UuU3ltYm9sPTFdPSJTeW1ib2wiLGVbZS5BdXRvPTJdPSJBdXRvIn0oVGl8fChUaT17fSkpCjt2YXIgRWksUmk9aSg1OTA4OTQpLFZpPWkoNDM5ODc5KSxCaT1pKDgyMjcyNiksTmk9aSgyNTA0MzkpLE9pPWkoMzU2MzgwKSxXaT1pKDkyNjE0OSksRmk9aSg0NjYzNDEpOyFmdW5jdGlvbihlKXtlW2UuTGFiZWxSYWRpdXM9OS41XT0iTGFiZWxSYWRpdXMiLGVbZS5MYWJlbEZvbnRTaXplPTExXT0iTGFiZWxGb250U2l6ZSJ9KEVpfHwoRWk9e30pKTtjb25zdCBIaT17ZW5hYmxlVG9vbHRpcDohMCxzaG93TGFiZWxzOiEwLGVuYWJsZU1lbnU6ITAsZW5hYmxlSGlnaGxpZ2h0OiEwfTtmdW5jdGlvbiB6aShlLHQpe3JldHVybiBNYXRoLm1heCgxLE1hdGguZmxvb3IoZS5ib3JkZXJTaXplKnQpKX1jbGFzcyBVaXtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scj1udWxsKXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5fb2Zmc2V0PTAsdGhpcy5fYXhpc0luZm89bnVsbCx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9oaWdobGlnaHRlZD0hMSx0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkPSExLHRoaXMuX2lzTW91c2VPdmVyU3R1Yj0hMSx0aGlzLl9sYWJlbE1vZGU9Mix0aGlzLl9maXhlZExhYmVsTW9kZT1udWxsLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSg1KSx0aGlzLl9nZWFyUmVuZGVyZXI9KDAsVmkuc3ZnUmVuZGVyZXIpKEZpKSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMudXBkYXRlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKX0sdGhpcy5fdGltZUF4aXNXaWRnZXQ9cix0aGlzLl9pc0xlZnQ9ImxlZnQiPT09ZTtjb25zdHtyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpvLHNvdXJjZXNUaXRsZXNQcm92aWRlcjphLGNvbnRleHRNZW51SXRlbXNQcm92aWRlcjpsLGJhY2tncm91bmRCYXNlZFRoZW1lOmMsb25BY3RpdmVPckhvdmVyZWRDaGFydDpkPW5ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCkscmVxdWVzdFJlcGFpbnQ6dSxnZXRCYWNrZ3JvdW5kVG9wQ29sb3I6cCxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6XyxzaG93SG9yaXpvbnRhbEJvcmRlcjptfT1zO3RoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyPW8sdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyPWEsdGhpcy5fY29udGV4dE1lbnVJdGVtc1Byb3ZpZGVyPWwsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9Yyx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PWQsdGhpcy5fcmVxdWVzdFJlcGFpbnQ9dSx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cCx0aGlzLl9nZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I9Xyx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlcj1Cb29sZWFuKG0pLHRoaXMuX3Byb3BlcnRpZXM9dCx0aGlzLl9heGlzSW5mbz1pLHRoaXMuX2xhYmVsT3B0aW9ucz17Li4uSGksLi4ubn0sdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlVG9vbHRpcCYmdGhpcy5fY2VsbC5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX2NlbGwuc3R5bGUud2lkdGg9IjI1cHgiLHRoaXMuX2NlbGwuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jZWxsLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzJiYodGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZVRvb2x0aXAmJigwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9jZWxsLCJ0ZXh0IiwoZT0+dGhpcy5fdG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQuc3Vic2NyaWJlKHUpKSx0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3JlcXVlc3RSZXBhaW50KCkpKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITAsdHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGc9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2cuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixnLnN0eWxlLmxlZnQ9IjAiLGcuc3R5bGUudG9wPSIwIix0aGlzLl9jZWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9ZGVzdHJveSgpe3RoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fcHJvcGVydGllcy5saW5lQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnJlbGVhc2UoKSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnVuc3Vic2NyaWJlKHRoaXMuX3JlcXVlc3RSZXBhaW50KSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnJlbGVhc2UoKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfQp1cGRhdGUoKXt9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfW9uTGFiZWxIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX29uTGFiZWxIb3ZlcmVkfXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPWAke2Uud2lkdGh9cHhgLHRoaXMuX2NlbGwuc3R5bGUubWluV2lkdGg9YCR7ZS53aWR0aH1weGAsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9YCR7ZS5oZWlnaHR9cHhgKSx0aGlzLl9vZmZzZXQhPT10JiYodGhpcy5fb2Zmc2V0PXQsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PWAke3R9cHhgKX1wYWludChlKXswIT09dGhpcy5fc2l6ZS53aWR0aCYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGx8fGUuaW52YWxpZGF0ZVN0dWJzKSYmKCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyksdGhpcy5fcGFpbnRJbXBsKCgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSwoMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZykpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxLdC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXNCeVJlbmRlcmluZ0luZm8pKGRvY3VtZW50LGUpO3JldHVybiB0aGlzLl9wYWludEltcGwoKDAsS3QuZ2V0Q29udGV4dDJEKSh0KSxlLCEwKSx0fXNldExhYmVsTW9kZShlKXtlIT09dGhpcy5fbGFiZWxNb2RlJiYodGhpcy5fbGFiZWxNb2RlPWUsdGhpcy5fY2VsbC5jbGFzc0xpc3QudG9nZ2xlKCJhcHBseS1jb21tb24tdG9vbHRpcCIsMSE9PWUmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVUb29sdGlwKSl9X3BhaW50SW1wbChlLHQsaSl7dGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSx0aGlzLl9kcmF3VmVydGljYWxCb3JkZXIoZSx0KSx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlciYmdGhpcy5fZHJhd0hvcml6b250YWxCb3JkZXIoZSx0KSx0aGlzLl9sYWJlbE9wdGlvbnMuc2hvd0xhYmVscyYmdGhpcy5fZHJhd0xhYmVsKGUsdCxpKX1fc2V0SGlnaGxpZ2h0ZWQoZSl7dGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZUhpZ2hsaWdodCYmKHRoaXMuX29uTGFiZWxIb3ZlcmVkLmZpcmUoInN0dWJCdXR0b24iLGUpLHRoaXMuX2hpZ2hsaWdodGVkIT09ZSYmKHRoaXMuX2hpZ2hsaWdodGVkPWUpLHRoaXMuX3JlcXVlc3RSZXBhaW50KCkpfV9kcmF3VmVydGljYWxCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKTtjb25zdCBpPXppKHRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLm9wdGlvbnMoKSx0Lmhvcml6b250YWxQaXhlbFJhdGlvKSxzPXRoaXMuX2lzTGVmdD90LmJpdG1hcFNpemUud2lkdGgtaTowO2UuZmlsbFJlY3QocywwLGksdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9X2RyYXdIb3Jpem9udGFsQm9yZGVyKGUsdCl7ZS5zYXZlKCksZS5maWxsU3R5bGU9dGhpcy5faG9yekJvcmRlckNvbG9yKCk7Y29uc3QgaT16aSh0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlci5vcHRpb25zKCksdC52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9dGhpcy5faXNMZWZ0PzA6aTtlLmZpbGxSZWN0KHMsMCx0LmJpdG1hcFNpemUud2lkdGgtaSxpKSxlLnJlc3RvcmUoKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcigpLHM9dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yKCkse2JpdG1hcFNpemU6bn09dDtpZihpPT09cz8oMCxLdC5jbGVhclJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsaSk6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LGkscyksdGhpcy5faGlnaGxpZ2h0ZWQpe2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0xhYmVsKGUsdCxpKXtjb25zdCBzPXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCksbj10aGlzLl9heGlzSW5mbztpZihudWxsPT09bnx8IWkmJiF0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnZhbHVlKCkpcmV0dXJuO2NvbnN0e2JpdG1hcFNpemU6cixob3Jpem9udGFsUGl4ZWxSYXRpbzpvLHZlcnRpY2FsUGl4ZWxSYXRpbzphfT10LGw9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLG8pLGM9TWF0aC5yb3VuZChyLndpZHRoKS1sLGg9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLGEpLGQ9TWF0aC5yb3VuZChyLmhlaWdodCktaCx1PSgwLFB0LnBvaW50KShsK2MvMixoK2QvMik7aWYoMT09PXRoaXMuX2xhYmVsTW9kZXx8Mj09PXRoaXMuX2xhYmVsTW9kZSYmKCF0aGlzLl9oaWdobGlnaHRlZHx8aSkpe2UuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siKSxlLmdsb2JhbEFscGhhPS41LGUuYmVnaW5QYXRoKCksZS5hcmModS54LHUueSw5LjUqbywwLDIqTWF0aC5QSSwhMCksZS5maWxsKCksZS5nbG9iYWxBbHBoYT0xLGUuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKDExLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLGUudGV4dEFsaWduPSJjZW50ZXIiLGUudGV4dEJhc2VsaW5lPSJtaWRkbGUiCjtjb25zdCB0PXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKGUsbi5sYWJlbCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxvLGEsKCgpPT57ZS5maWxsVGV4dChuLmxhYmVsLHUueC9vLHUueS9hK3QpfSkpfWVsc2UgaWYoIWkmJnRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQudmFsdWUoKSl7Y29uc3QgdD10aGlzLl9nZWFyUmVuZGVyZXIudmlld0JveCgpLGk9TWF0aC5yb3VuZCh1LngtdC53aWR0aCpvLzIpLG49TWF0aC5yb3VuZCh1LnktdC5oZWlnaHQqYS8yKTtlLmZpbGxTdHlsZT1rLnRoZW1lc1tzXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItdGV4dC1wcmltYXJ5IiksZS5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLHRoaXMuX2dlYXJSZW5kZXJlci5yZW5kZXIoZSx7dGFyZ2V0Vmlld0JveDp7eDppLHk6bix3aWR0aDp0LndpZHRoKm8saGVpZ2h0OnQuaGVpZ2h0KmF9LGRvTm90QXBwbHlDb2xvcnM6ITB9KX19X3ZlcnRCb3JkZXJDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci52YWx1ZSgpfV9ob3J6Qm9yZGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fdGltZUF4aXNXaWRnZXQ/LmxpbmVDb2xvcigpPz90aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKX1fdG9vbHRpcENvbnRlbnQoKXtyZXR1cm4gdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyKCkuam9pbigiXG4iKX1fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl90aW1lQXhpc1dpZGdldD8uY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKX1fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITEsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkJiZ0aGlzLl9zZXRIaWdobGlnaHRlZCghMSl9YXN5bmMgX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKGUucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fZml4ZWRMYWJlbE1vZGV8fDE9PT10aGlzLl9sYWJlbE1vZGV8fCF0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlTWVudXx8IXRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzKXJldHVybiB2b2lkIE5pLkNvbnRleHRNZW51TWFuYWdlci5oaWRlQWxsKCk7dGhpcy5fZml4ZWRMYWJlbE1vZGU9dGhpcy5fbGFiZWxNb2RlLHRoaXMuc2V0TGFiZWxNb2RlKDApO2NvbnN0IHQ9dGhpcy5fY2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWF3YWl0IHRoaXMuX2NvbnRleHRNZW51SXRlbXNQcm92aWRlcigpO3RoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKSxOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDp0aGlzLl9pc0xlZnQ/dC5sZWZ0OnQucmlnaHQsY2xpZW50WTp0LnRvcCxhdHRhY2hUb1hCeTp0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImJvdHRvbSJ9LHtzdGF0TmFtZToiUHJpY2VTY2FsZUxhYmVsQ29udGV4dE1lbnUiLGRvTm90Q2xvc2VPbjp0aGlzLmdldEVsZW1lbnQoKX0se21lbnVOYW1lOiJQcmljZVNjYWxlTGFiZWxDb250ZXh0TWVudSJ9LCgoKT0+e3RoaXMuX2lzTW91c2VPdmVyU3R1Ynx8dGhpcy5fc2V0SGlnaGxpZ2h0ZWQoITEpLHRoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITEsdGhpcy5zZXRMYWJlbE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXhlZExhYmVsTW9kZSkpLHRoaXMuX2ZpeGVkTGFiZWxNb2RlPW51bGx9KSl9fXZhciBHaT1pKDM0MjcxMik7Y2xhc3Mgaml7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9bnVsbCl7dGhpcy5fYXhpc2VzPVtdLHRoaXMuX3N0dWJzPVtdLHRoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUsdGhpcy5fcHJpY2VBeGlzV2lkZ2V0RmFjdG9yeT1pLHRoaXMuX3RpbWVBeGlzV2lkZ2V0PXIsdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9cy5yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl90aXRsZXNQcm92aWRlcj1zLnRpdGxlc1Byb3ZpZGVyLHRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyPXMuc3R1YkNvbnRleHRNZW51UHJvdmlkZXIsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9cy5iYWNrZ3JvdW5kQmFzZWRUaGVtZSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PXMub25BY3RpdmVPckhvdmVyZWRDaGFydCx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cy5nZXRCYWNrZ3JvdW5kVG9wQ29sb3IsdGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yPXMuZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHRoaXMuX3JlcXVlc3RSZXBhaW50PXMucmVxdWVzdFJlcGFpbnQsdGhpcy5fc2hvd0hvcmlzb250YWxCb3JkZXI9Qm9vbGVhbihzLnNob3dIb3Jpem9udGFsQm9yZGVyKSx0aGlzLl9sYWJlbHNPcHRpb25zPXsuLi5IaSwuLi5ufTtjb25zdCBvPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fc3R1YlByb3BlcnRpZXM9e2xpbmVDb2xvcjpvLmxpbmVDb2xvcixmb250U2l6ZTpvLmZvbnRTaXplfSx0aGlzLl9zaWRlPXQsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQoImNoYXJ0LW1hcmt1cC10YWJsZSIsInByaWNlLWF4aXMtY29udGFpbmVyIiksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifWRlc3Ryb3koKXt0aGlzLnNldFNjYWxlcyhbXSwwLDAsMCksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpLAp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5yZWxlYXNlKCl9b25MYWJlbEhvdmVyZWQoKXtyZXR1cm4gdGhpcy5fb25MYWJlbEhvdmVyZWR9c2V0U2NhbGVzKGUsdCxpLHMpe2Zvcig7ZS5sZW5ndGg+dGhpcy5fYXhpc2VzLmxlbmd0aCYmdGhpcy5fYXhpc2VzLmxlbmd0aDx0Oyl7Y29uc3QgZT0oMCxHaS5nZXRQcmljZUF4aXNOYW1lSW5mbykodGhpcy5fc2lkZSx0aGlzLl9heGlzZXMubGVuZ3RoKSx0PXRoaXMuX3ByaWNlQXhpc1dpZGdldEZhY3RvcnkodGhpcy5fc2lkZSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLGUsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUpO3RoaXMuX2F4aXNlcy5wdXNoKHQpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodC5nZXRFbGVtZW50KCkpfWZvcig7ZS5sZW5ndGg8dGhpcy5fYXhpc2VzLmxlbmd0aDspe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9heGlzZXMucG9wKCkpO3RoaXMuX2NlbGwucmVtb3ZlQ2hpbGQoZS5nZXRFbGVtZW50KCkpLGUuZGVzdHJveSgpfWZvcihsZXQgdD0wO3Q8dGhpcy5fYXhpc2VzLmxlbmd0aDsrK3QpdGhpcy5fYXhpc2VzW3RdLnNldFByaWNlU2NhbGUoZVt0XSk7Y29uc3Qgbj10LWUubGVuZ3RoLHI9TWF0aC5tYXgoMCxuKTtmb3IoO3RoaXMuX3N0dWJzLmxlbmd0aD5yOyl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWJzLnBvcCgpKTtlLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2VsbC5yZW1vdmVDaGlsZChlLmdldEVsZW1lbnQoKSksZS5kZXN0cm95KCl9Zm9yKDt0aGlzLl9zdHVicy5sZW5ndGg8bjspe2NvbnN0IGU9dGhpcy5fbGFiZWxzT3B0aW9ucy5zaG93TGFiZWxzPygwLEdpLmdldFByaWNlQXhpc05hbWVJbmZvKSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJzLmxlbmd0aCk6bnVsbCx0PW5ldyBVaSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJQcm9wZXJ0aWVzLGUsdGhpcy5fc3R1YlBhcmFtcyh0aGlzLl9zdHVicy5sZW5ndGgpLHRoaXMuX2xhYmVsc09wdGlvbnMsdGhpcy5fdGltZUF4aXNXaWRnZXQpO3Qub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKHQsaSk9Pnt0aGlzLl9sYWJlbHNPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlSGlnaGxpZ2h0JiZ0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKHtvd25lcjp0LGF4aXM6KDAsbC5lbnN1cmVOb3ROdWxsKShlKX0saSl9KSksdGhpcy5fc3R1YnMucHVzaCh0KSx0aGlzLl9jZWxsLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1jb25zdCBvPXRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlTWVudTsxPT09cz90aGlzLl9zdHVicy5mb3JFYWNoKCgoZSx0KT0+ZS5zZXRMYWJlbE1vZGUobz8wOjEpKSk6dGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsdCk9PmUuc2V0TGFiZWxNb2RlKHQ8aSYmbz8yOjEpKSl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSkpfW9wdGltYWxXaWR0aHMoKXtyZXR1cm4gdGhpcy5fYXhpc2VzLm1hcCgoZT0+ZS5vcHRpbWFsV2lkdGgoKSkpfXNldFNpemVzKGUsdCl7dGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApLGhlaWdodDplfSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5taW5XaWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9dGhpcy5fc2l6ZS5oZWlnaHQrInB4Iix0Lmxlbmd0aCE9PXRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RoJiYoMCxsLmFzc2VydCkodC5sZW5ndGg9PT10aGlzLl9heGlzZXMubGVuZ3RoK3RoaXMuX3N0dWJzLmxlbmd0aCwiV2lkZ2V0cyBjb3VudCBzaG91bGQgYmUgdGhlIHNhbWUgYXMgd2lkdGhzIG9uZSIpO2xldCBpPTA7dGhpcy5fZm9yRWFjaFdpZGdldEZyb21MZWZ0KCgocyxuKT0+e2NvbnN0IHI9dFtuXTtzLnNldFNpemVBbmRPZmZzZXQoKDAseXQuc2l6ZSkoe3dpZHRoOnIsaGVpZ2h0OmV9KSxpKSxpKz1yfSkpfXVwZGF0ZSgpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZSgpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoZT0+ZS51cGRhdGUoKSkpfXBhaW50KGUsdCl7dGhpcy5fYXhpc2VzLmZvckVhY2goKCh0LGkpPT50LnBhaW50KGUoaSkpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsaSk9PmUucGFpbnQodCkpKX1wYWludFN0dWJzKGUpe3RoaXMuX3N0dWJzLmZvckVhY2goKHQ9PnQucGFpbnQoZSkpKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWZpbmRBeGlzV2lkZ2V0Rm9yU2NhbGUoZSl7Y29uc3QgdD10aGlzLl9heGlzZXMuZmluZCgodD0+dC5wcmljZVNjYWxlKCk9PT1lKSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fWdldFNjcmVlbnNob3REYXRhKCl7Y29uc3QgZT10aGlzLl9nZXRJbWFnZSgpO3JldHVybntjYW52YXM6ZSxjb250ZW50OmUudG9EYXRhVVJMKCksY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxjb250ZW50V2lkdGg6dGhpcy5fc2l6ZS53aWR0aH19Z2V0SW1hZ2UoKXtyZXR1cm4gdGhpcy5fZ2V0SW1hZ2UoKX1zbG90c0NvdW50KCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RofXNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSl7dGhpcy5fYXhpc2VzLmZvckVhY2goKHQ9Pntjb25zdCBpPXQuYXhpc0luZm8oKSxzPWUuZmluZCgoZT0+ZS5sYWJlbD09PWk/LmxhYmVsKSk7dC5zZXRIaWdobGlnaHRlZCh2b2lkIDAhPT1zKX0pKX1heGVzKCl7cmV0dXJuIHRoaXMuX2F4aXNlc31fc3R1YlBhcmFtcyhlKXtyZXR1cm57CnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOnRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLGJhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnNwYXduT3duZXJzaGlwKCksb25BY3RpdmVPckhvdmVyZWRDaGFydDp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5zcGF3bk93bmVyc2hpcCgpLHNvdXJjZXNUaXRsZXNQcm92aWRlcjooKT0+dGhpcy5fdGl0bGVzUHJvdmlkZXIodGhpcy5fc2lkZSxlKSxjb250ZXh0TWVudUl0ZW1zUHJvdmlkZXI6KCk9PnRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyKHRoaXMuX3NpZGUsZSksZ2V0QmFja2dyb3VuZFRvcENvbG9yOnRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcixnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHJlcXVlc3RSZXBhaW50OnRoaXMuX3JlcXVlc3RSZXBhaW50LHNob3dIb3Jpem9udGFsQm9yZGVyOnRoaXMuX3Nob3dIb3Jpc29udGFsQm9yZGVyfX1fZ2V0SW1hZ2UoKXtjb25zdCBlPSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksdD0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKGUpO2xldCBpPTA7cmV0dXJuIHRoaXMuX2ZvckVhY2hXaWRnZXRGcm9tTGVmdCgoKGUscyk9Pntjb25zdCBuPWUuZ2V0V2lkdGgoKTswIT09biYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYodC5kcmF3SW1hZ2UoZS5nZXRJbWFnZSgpLGksMCxuLHRoaXMuX3NpemUuaGVpZ2h0KSxpKz1uKX0pKSxlfV9mb3JFYWNoV2lkZ2V0RnJvbUxlZnQoZSl7Y29uc3QgdD1bLi4udGhpcy5fYXhpc2VzLC4uLnRoaXMuX3N0dWJzXSxpPSJsZWZ0Ij09PXRoaXMuX3NpZGUscz1pPy0xOnQubGVuZ3RoLG49aT8tMToxO2ZvcihsZXQgcj1pP3QubGVuZ3RoLTE6MDtyIT09cztyKz1uKWUodFtyXSxyLHQpfX12YXIgcWk9aSg2MzcyNTgpLCRpPWkoODczNTczKSxZaT1pKDE5Mjc1MSksS2k9aSg4NTYxNik7ZnVuY3Rpb24gWGkoZSx0LGkscz0hMSl7cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpIT09aSYmKGUuY2xhc3NMaXN0LnRvZ2dsZSgicmVhZG9ubHkiLGkpLGUuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIixzJiZpKSx0Py5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGkpLCEwKX1jbGFzcyBaaXtjb25zdHJ1Y3RvcihlPTApe3RoaXMuX3dpZHRoPW51bGwsdGhpcy5fbGFiZWxCb3R0b209bnVsbCx0aGlzLl9jdXJyZW5jeUluZm89bnVsbCx0aGlzLl91bml0SW5mbz1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPW51bGwsdGhpcy5fbWV0cmljSW5mbz1udWxsLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlciJdLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuc2V0QXR0cmlidXRlKCJkYXRhLW5hbWUiLCJjdXJyZW5jeS11bml0LWxhYmVsLXdyYXBwZXIiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiXSx0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LmFkZChLaS5yb3csImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5kYXRhc2V0Lm5hbWU9ImN1cnJlbmN5LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fY3VycmVuY3lMYWJlbERpdiwidGV4dCIsKGU9PnRoaXMuX2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX2N1cnJlbmN5VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jdXJyZW5jeVRleHQuY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXRleHQiXSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX2N1cnJlbmN5VGV4dCksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd24uY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24iXSx0aGlzLl9jdXJyZW5jeUFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUFycm93RG93biksdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc05hbWU9S2kucm93LHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJyZWFkb25seSIpLCgwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZWFzdXJlVW5pdElkVG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0KSx0aGlzLl91bml0TGFiZWxEaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLAp0aGlzLl91bml0TGFiZWxEaXYuZGF0YXNldC5uYW1lPSJ1bml0LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fdW5pdExhYmVsRGl2LCJ0ZXh0IiwoZT0+dGhpcy5fdW5pdFRvb2x0aXBDb250ZW50KCkpKSx0aGlzLl91bml0VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0VGV4dC5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dCJdLHRoaXMuX3VuaXRMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl91bml0VGV4dCksdGhpcy5fdW5pdEFycm93RG93bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0QXJyb3dEb3duLmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIl0sdGhpcy5fdW5pdEFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fdW5pdExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX3VuaXRBcnJvd0Rvd24pLHRoaXMuX21ldHJpY0xhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmRhdGFzZXQubmFtZT0ibWV0cmljLWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fbWV0cmljTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZXRyaWNUb29sdGlwQ29udGVudCgpKSksdGhpcy5fbWV0cmljVGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tZXRyaWNUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljVGV4dCksdGhpcy5fbWV0cmljQXJyb3dEb3duPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0Fycm93RG93bi5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93biJdLHRoaXMuX21ldHJpY0Fycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljQXJyb3dEb3duKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYpLHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX3VuaXRMYWJlbERpdiksdGhpcy5fY29udHJvbHNDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljTGFiZWxEaXYpLHRoaXMuZGlzYWJsZUN1cnJlbmN5KCksdGhpcy5kaXNhYmxlVW5pdCgpLHRoaXMuZGlzYWJsZU1ldHJpYygpLHRoaXMuc2V0Rm9udFNpemUoZSl9ZWxlbWVudCgpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyfWN1cnJlbmN5TGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5TGFiZWxEaXZ9dW5pdExhYmVsRWxlbWVudCgpe3JldHVybiB0aGlzLl91bml0TGFiZWxEaXZ9bWV0cmljTGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21ldHJpY0xhYmVsRGl2fWlzRW5hYmxlZCgpe3JldHVybiB0aGlzLmN1cnJlbmN5TGFiZWxFbmFibGVkKCl8fHRoaXMudW5pdExhYmVsRW5hYmxlZCgpfHx0aGlzLm1lYXN1cmVVbml0SWRMYWJsZUVuYWJsZWQoKXx8dGhpcy5tZXRyaWNMYWJlbEVuYWJsZWQoKX1pc0hpZGRlbigpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmNsYXNzTGlzdC5jb250YWlucyhLaS5oaWRkZW4pfXNldEN1cnJlbmN5RXhwYW5kZWQoZSl7dGhpcy5fY3VycmVuY3lMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXNldFVuaXRFeHBhbmRlZChlKXt0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LnRvZ2dsZShLaS5leHBhbmRlZCxlKX1zZXRNZXRyaWNFeHBhbmRlZChlKXt0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXdpZHRoKCl7aWYobnVsbCE9PXRoaXMuX3dpZHRoKXJldHVybiB0aGlzLl93aWR0aDtsZXQgZT0wO2lmKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl9jdXJyZW5jeVRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10aGlzLl9jdXJyZW5jeUFycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9aWYodGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgrMip0aGlzLl90ZXh0TWFyZ2luQW5kUGFkZGluZygpKX1pZih0aGlzLnVuaXRMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl91bml0VGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX3VuaXRBcnJvd0Rvd24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgraS53aWR0aCsyKnRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkpfWlmKHRoaXMubWV0cmljTGFiZWxFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWV0cmljVGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX21ldHJpY0Fycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9cmV0dXJuIHRoaXMuX3dpZHRoPWV9ZHJhd0xhYmVsKGUsdCxpKXtpZighdGhpcy5pc0VuYWJsZWQoKSlyZXR1cm47Y29uc3Qgcz1NYXRoLnJvdW5kKE51bWJlcihLaS5jc3Nfd3JhcHBlcl9tYXJnaW4pKmkpLG49KDAsCmJpLmNlaWxlZEV2ZW4pKHQqaSktMipzLHI9TWF0aC5yb3VuZCh0aGlzLmxhYmVsQm90dG9tKCkqaSksbz1yLTIqcyxhPU1hdGgucm91bmQoTnVtYmVyKEtpLmNzc192YWx1ZV9jdXJyZW5jeV9sYWJlbF9yYWRpdXMpKmkpO2UuZmlsbFN0eWxlPWdldENvbXB1dGVkU3R5bGUodGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlcikuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QoMCwwLE1hdGguY2VpbCh0KmkpLHIpO2NvbnN0IGw9W107bC5wdXNoKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKT90aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCk/dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy51bml0TGFiZWxFbmFibGVkKCk/dGhpcy5fdW5pdFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKHRoaXMuX2ZvbnRTaXplLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO2NvbnN0IGM9bmV3IEJpLlRleHRXaWR0aENhY2hlO2xldCBoPTA7Y29uc3QgZD1bXTtsLmZvckVhY2goKHQ9PntsZXQgaT0wOyIiIT09dCYmKGk9Yy55TWlkQ29ycmVjdGlvbihlLHQpLGgrKyksZC5wdXNoKGkpfSkpO2NvbnN0IHU9by9oO2UuYmVnaW5QYXRoKCk7Y29uc3QgcD1nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKTtlLmZpbGxTdHlsZT1wLmJhY2tncm91bmRDb2xvcixlLnN0cm9rZVN0eWxlPXAuYm9yZGVyQ29sb3IsKDAsRGkuZHJhd1JvdW5kUmVjdCkoZSxzLHMsbixvLGEpLGUuZmlsbCgpLGUuc3Ryb2tlKCksZS5maWxsU3R5bGU9Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KS5jb2xvcixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLnRleHRBbGlnbj0ibGVmdCI7Y29uc3QgXz1NYXRoLnJvdW5kKHRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkqaSkrcyxtPXUvMjtsZXQgZz1zK207bC5mb3JFYWNoKCgodCxzKT0+eyIiIT09dCYmKCgwLEt0LmRyYXdTY2FsZWQpKGUsaSxpLCgoKT0+e2UuZmlsbFRleHQodCxfL2ksKGcrZFtzXSkvaSl9KSksZz1NYXRoLmNlaWwoZysyKm0pKX0pKX1zZXRIaWRkZW4oZSl7dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKEtpLmhpZGRlbixlKX1lbmFibGVDdXJyZW5jeSgpe3RoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlQ3VycmVuY3koKXt0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlVW5pdCgpe3RoaXMuX3VuaXRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVVbml0KCl7dGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWVhc3VyZVVuaXRJZCgpe3RoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVNZWFzdXJlVW5pdElkKCl7dGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1jdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygianMtaGlkZGVuIil9dW5pdExhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJqcy1oaWRkZW4iKX1tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCl7cmV0dXJuIXRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfW1ldHJpY0xhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfWN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygicmVhZG9ubHkiKX11bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfW1ldHJpY0NvbnZlcnNpb25BdmFpbGFibGUoKXtyZXR1cm4hdGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfXNldEN1cnJlbmN5SW5mbyhlKXtpZih0aGlzLl9jdXJyZW5jeUluZm89PT1lKXJldHVybiExO3RoaXMuX2N1cnJlbmN5SW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLmRpc3BsYXllZFZhbHVlcy5nZXQoZS5zZWxlY3RlZEN1cnJlbmN5KSk7cmV0dXJuIHRoaXMuX2N1cnJlbmN5VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ9dCx0aGlzLl93aWR0aD1udWxsKSxYaSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LHRoaXMuX2N1cnJlbmN5QXJyb3dEb3duLGUucmVhZE9ubHkpJiYodGhpcy5fd2lkdGg9bnVsbCksITB9c2V0VW5pdEluZm8oZSl7CmlmKG51bGwhPT10aGlzLl91bml0SW5mbyYmdGhpcy5fdW5pdEluZm8uc2VsZWN0ZWRVbml0PT09ZS5zZWxlY3RlZFVuaXQmJjA9PT10aGlzLl91bml0SW5mby5hdmFpbGFibGVHcm91cHMuc2l6ZT09KDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmdGhpcy5fdW5pdEluZm8ub3JpZ2luYWxVbml0cy5zaXplPT09ZS5vcmlnaW5hbFVuaXRzLnNpemUpcmV0dXJuIHRoaXMuX3VuaXRJbmZvPWUsITE7dGhpcy5fdW5pdEluZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkVW5pdD9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldChlLnNlbGVjdGVkVW5pdCkpO3JldHVybiB0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX3VuaXRMYWJlbERpdix0aGlzLl91bml0QXJyb3dEb3duLDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfXNldE1lYXN1cmVVbml0SWRJbmZvKGUpe2lmKHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPT09ZSlyZXR1cm4hMTt0aGlzLl9tZWFzdXJlVW5pdElkSW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP3AudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSgyMTcxNjEpKTooMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KGUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkKSk7cmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50IT09dCYmKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50PXQsdGhpcy5fd2lkdGg9bnVsbCksWGkodGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LG51bGwsMD09PWUubmFtZXMuc2l6ZSwhMCkmJih0aGlzLl93aWR0aD1udWxsKSwhMH1zZXRNZXRyaWNJbmZvKGUpe2lmKHRoaXMuX21ldHJpY0luZm89PT1lKXJldHVybiExO3RoaXMuX21ldHJpY0luZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkTWV0cmljSWQ/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDIxNzE2MSkpOigwLGwuZW5zdXJlRGVmaW5lZCkoZS5uYW1lcy5nZXQoZS5zZWxlY3RlZE1ldHJpY0lkKSk7cmV0dXJuIHRoaXMuX21ldHJpY1RleHQudGV4dENvbnRlbnQhPT10JiYodGhpcy5fbWV0cmljVGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX21ldHJpY0xhYmVsRGl2LHRoaXMuX21ldHJpY0Fycm93RG93bixlLnJlYWRPbmx5KSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfWN1cnJlbmN5SW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeUluZm99dW5pdEluZm8oKXtyZXR1cm4gdGhpcy5fdW5pdEluZm99bWVhc3VyZVVuaXRJZEluZm8oKXtyZXR1cm4gdGhpcy5fbWVhc3VyZVVuaXRJZEluZm99bWV0cmljSW5mbygpe3JldHVybiB0aGlzLl9tZXRyaWNJbmZvfXNldEZvbnRTaXplKGUpe3RoaXMuX2ZvbnRTaXplIT09ZSYmKHRoaXMuX2ZvbnRTaXplPWUsdGhpcy5fY3VycmVuY3lMYWJlbERpdi5zdHlsZS5mb250U2l6ZT1lKyJweCIsdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl91bml0TGFiZWxEaXYuc3R5bGUuZm9udFNpemU9ZSsicHgiLHRoaXMuX21ldHJpY0xhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwpfWxhYmVsQm90dG9tKCl7aWYobnVsbCE9PXRoaXMuX2xhYmVsQm90dG9tKXJldHVybiB0aGlzLl9sYWJlbEJvdHRvbTtjb25zdCBlPXRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWUueS10Lnk7cmV0dXJuIHRoaXMuX2xhYmVsQm90dG9tPWUuaGVpZ2h0KzIqaX1fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKXt0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpfV90ZXh0TWFyZ2luQW5kUGFkZGluZygpe3JldHVybiBOdW1iZXIoS2kuY3NzX3dyYXBwZXJfbWFyZ2luKStOdW1iZXIoS2kuY3NzX3Jvd19sZWZ0X3JpZ2h0X3BhZGRpbmcpKzJ9X2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9BcnJheS5mcm9tKGUuY3VycmVuY2llcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUuZGlzcGxheWVkVmFsdWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUucmVhZE9ubHk/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDE5MTQ1NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg3ODkwNDkpKX1fdW5pdFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl91bml0SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRVbml0P0FycmF5LmZyb20oZS51bml0cykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6MD09PWUuYXZhaWxhYmxlR3JvdXBzLnNpemU/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDU1Njc2NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg0MDUwMTMpKX1fbWVhc3VyZVVuaXRJZFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl9tZWFzdXJlVW5pdElkSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP0FycmF5LmZyb20oZS5tZWFzdXJlVW5pdElkcykubWFwKCh0PT4oMCwKbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUuZGVzY3JpcHRpb25zLmdldChlLnNlbGVjdGVkTWVhc3VyZVVuaXRJZCl8fCIifV9tZXRyaWNUb29sdGlwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fbWV0cmljSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZXRyaWNJZD9BcnJheS5mcm9tKGUubWV0cmljcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6ZS5yZWFkT25seT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoOTk0ODQ1KSk6cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDgzMzc0NikpfV91cGRhdGVWaXNpYmlsaXR5KCl7Y29uc3QgZT10aGlzLmlzRW5hYmxlZCgpO3RoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZSl9fWFzeW5jIGZ1bmN0aW9uIEppKGUsdCxzLG4scil7Y29uc3R7VW5pdENvbnZlcnNpb25SZW5kZXJlcjpvfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDE2NTk4KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg4MTA3MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoODkyMDQpLGkuZSgzMjE3NiksaS5lKDIwMiksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSgzMjg1NyksaS5lKDUyOTYxKSxpLmUoMzIzODcpLGkuZSgzOTYwOSksaS5lKDM1OTY0KSxpLmUoODI5NyldKS50aGVuKGkuYmluZChpLDc2MzgwMikpO3JldHVybiBuZXcgbyhlLHMsdCxuLHIpfWFzeW5jIGZ1bmN0aW9uIFFpKGUsdCxzKXtjb25zdHtDdXJyZW5jeU1lbnVSZXN1bHRFdmVudHM6bn09YXdhaXQgaS5lKDYzODg1KS50aGVuKGkuYmluZChpLDIyMDM5KSk7cmV0dXJuIG5ldyBuKGUsdCxzKX12YXIgZXM9aSg1MDkwNCk7Y2xhc3MgdHN7Y29uc3RydWN0b3IoZSl7Y29uc3R7YWN0aW9uOnQscHJvcGVydHk6aSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpuLGNhbGxiYWNrOnI9bnVsbH09ZTt0aGlzLl9wcm9wZXJ0eT1pLHRoaXMuX3VuZG9Nb2RlbD1zLHRoaXMuX3VuZG9UZXh0PW4sdGhpcy5fYWN0aW9uPXQsdGhpcy5zZXRWYWx1ZShpLnZhbHVlKCkpLGkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKSxudWxsIT09cj90LnVwZGF0ZSh7b25FeGVjdXRlOnIuYmluZCh0aGlzKX0pOnQudXBkYXRlKHtvbkV4ZWN1dGU6dGhpcy5fb25BY3Rpb25DYWxsYmFjay5iaW5kKHRoaXMpfSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnR5LnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKX12YWx1ZSgpe3JldHVybiB0aGlzLl9hY3Rpb24uaXNDaGVja2VkKCl9c2V0VmFsdWUoZSl7dGhpcy5fYWN0aW9uLnVwZGF0ZSh7Y2hlY2tlZDpCb29sZWFuKGUpfSl9X29uQWN0aW9uQ2FsbGJhY2soKXt0aGlzLl91bmRvTW9kZWwuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydHksdGhpcy52YWx1ZSgpLHRoaXMuX3VuZG9UZXh0KX1fcHJvcGVydHlDaGFuZ2VkKGUpe3RoaXMuc2V0VmFsdWUoZS52YWx1ZSgpKX19Y2xhc3MgaXMgZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlKSx0aGlzLl9iaW5kaW5nPW5ldyB0cyh7YWN0aW9uOnRoaXMsLi4udH0pfWRlc3Ryb3koKXt0aGlzLl9iaW5kaW5nLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9fXZhciBzcz1pKDM1NjQzNCksbnM9aSgyNTI0MjcpLHJzPWkoMTUyNzY2KSxvcz1pKDE2OTg0NSksYXM9aSg0NzcxNTUpO2Z1bmN0aW9uIGxzKGUsdCxpKXtyZXR1cm4gbnVsbD09PWk/W106aS5maWx0ZXIoKGk9PntpZighaS5pc1Zpc2libGUoKXx8aS5pZ25vcmVBbGlnbm1lbnQoKSlyZXR1cm4hMTtjb25zdHt0b3RhbDpzfT1pLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KGUpLG49aS5jb29yZGluYXRlKCk7cmV0dXJuIG4+LXMmJm48dCtzfSkpfWkoMTQ0MTEyKTtjb25zdCBjcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIixwLnQobnVsbCx2b2lkIDAsaSg5MTc1OTApKSksaHM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHZvaWQgMCxpKDU5OTE0MSkpKSxkcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgbG9nIHNjYWxlIixwLnQobnVsbCx2b2lkIDAsaSg3Nzc0ODUpKSksdXM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDI3ODc1MSkpLHBzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg5MTE3MTEpKSxfcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODQ2NzkpKSxtcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoMjEzMDc1KSksZ3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDkxNjI3NykpLGZzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgzNDI5MTUpKSxTcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNjQyODQzKSksdnM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDY0MDA5NikpLHlzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgxOTcxMDUpKSxicz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODg2MDEzKSksd3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDc0OTE3OSkpLENzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg4NDc4MzQpKSxQcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNDcxOTgwKSk7Y29uc3QgVHM9ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgbnMuTGltaXRlZFByZWNpc2lvbk51bWVyaWNGb3JtYXR0ZXIoZSk7cmV0dXJuKGUsaSk9PigwLGEuaXNOdW1iZXIpKGkpJiYhZS5pc0xvZygpP3QuZm9ybWF0KGkpOiIifSg0KSx4cz0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXJyZW5jeV9tZW51X2Rpc2FibGVkIiksTXM9KDAsCnEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVuaXRfbWVudV9kaXNhYmxlZCIpLElzPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1ldHJpY19tZW51X2Rpc2FibGVkIiksTHM9e2NvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxtZXRyaWNDb252ZXJzaW9uRW5hYmxlZDohMSxjb3VudGRvd25FbmFibGVkOiEwLGNvbnRleHRNZW51OntnZW5lcmFsOiEwLHNvdXJjZTohMH0scHJlc3NlZE1vdXNlTW92ZVNjYWxlOiEwLG1vdXNlV2hlZWxTY2FsZTohMCxwaW5jaFNjYWxlOiEwLGNyb3BwZWRUaWNrTWFya3M6ITB9O3ZhciBBcyxrczshZnVuY3Rpb24oZSl7ZVtlLkxhYmVsT2Zmc2V0PTRdPSJMYWJlbE9mZnNldCIsZVtlLkRlZmF1bHRPcHRpbWFsV2lkdGg9MzRdPSJEZWZhdWx0T3B0aW1hbFdpZHRoIixlW2UuV2hlZWxTY2FsZUNvZWZmPTE1XT0iV2hlZWxTY2FsZUNvZWZmIixlW2UuQ3VycmVuY3lMYWJlbEZvbnRTaXplPTEyXT0iQ3VycmVuY3lMYWJlbEZvbnRTaXplIn0oQXN8fChBcz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5CYWNrPTBdPSJCYWNrIixlW2UuVG9wPTFdPSJUb3AiLGVbZS5BbGw9Ml09IkFsbCJ9KGtzfHwoa3M9e30pKTtjbGFzcyBEc3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4scixvLGwsYyl7dGhpcy5fYWN0aW9ucz1udWxsLHRoaXMuX3ByaWNlU2NhbGU9bnVsbCx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwsdGhpcy5fc2NhbGVNb2RlQnV0dG9uc1Byb21pc2U9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSgxZTMpLHRoaXMuX2NvbG9yPW51bGwsdGhpcy5fZm9udFNpemU9bnVsbCx0aGlzLl9pc1Zpc2libGU9ITAsdGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9tZXRyaWNNZW51PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWU9IiIsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hpZ2hsaWdodGVkPSExLHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGU9bnVsbCx0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW51bGwsdGhpcy5fZHJhZ1NjYWxlQWN0aXZlPSExLHRoaXMuX29mZnNldD1OYU4sdGhpcy5fcGluY2hpbmc9ITEsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9bnVsbCx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zZWxlY3RlZFZpYVRhcD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHk9KCk9PntpZihudWxsPT09dGhpcy5fY3VycmVuY3lMYWJlbClyZXR1cm47Y29uc3QgZT0oMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCk7bGV0IHQ9IXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpO2lmKHQpc3dpdGNoKGUpe2Nhc2UiYWx3YXlzT2ZmIjp0PSExO2JyZWFrO2Nhc2UidmlzaWJsZU9uTW91c2VPdmVyIjpjb25zdCBlPXRoaXMuX2NoYXJ0LmFueVByaWNlQXhpc0hvdmVyZWQoKS52YWx1ZSgpLGk9ISF0aGlzLl9jdXJyZW5jeU1lbnUscz0hIXRoaXMuX3VuaXRNZW51O3Q9ZXx8aXx8czticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6dD10aGlzLl9zZWxlY3RlZFZpYVRhcC52YWx1ZSgpfXRoaXMuX2N1cnJlbmN5TGFiZWwuc2V0SGlkZGVuKCF0KX0sdGhpcy5faGFuZGxlQWN0dWFsQXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PWFzeW5jIGU9Pntjb25zdCB0PWUudmFsdWUoKTtpZigiYWx3YXlzT2ZmIj09PXQpdGhpcy5fc2NhbGVNb2RlQnV0dG9ucyYmdGhpcy5fZGVzdHJveVNjYWxlTW9kZUJ1dHRvbnMoKTtlbHNle2lmKCF0aGlzLl9zY2FsZU1vZGVCdXR0b25zKXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT10aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT8/dGhpcy5fY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpO3RyeXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zPWF3YWl0IHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnNQcm9taXNlfWNhdGNoKGUpe2lmKCgwLHFlLmlzQWJvcnRFcnJvcikoZSkpcmV0dXJufXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSl9ImFsd2F5c09uIj09PXQ/KHRoaXMuX2lzSG92ZXJlZC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSk6InZpc2libGVPbk1vdXNlT3ZlciI9PT10Pyh0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9pc0hvdmVyZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpKToodGhpcy5faXNIb3ZlcmVkLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSksdGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSgpfXRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpfSx0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLl9pc0hvdmVyZWQudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGVkVmlhVGFwLnZhbHVlKCk7bGV0IGk9ITE7aWYoIXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpJiYhdGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpc3dpdGNoKCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS52YWx1ZSgpKXsKY2FzZSJ2aXNpYmxlT25Nb3VzZU92ZXIiOmk9ZTticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6aT10O2JyZWFrO2Nhc2UiYWx3YXlzT24iOmk9ITB9dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8uZWxlbWVudCgpLmNsYXNzTGlzdC50b2dnbGUoInByaWNlLWF4aXNfX21vZGVCdXR0b25zX2hpZGRlbiIsIWkpfSx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zPSgpPT57dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8udXBkYXRlKCl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fcGFuZT10LHRoaXMuX3VuZG9Nb2RlbD1pLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9pc0xlZnQ9ImxlZnQiPT09cix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKExzKSxvKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1uLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPWMsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTmFtZT0icHJpY2UtYXhpcyIsdGhpcy5fY2VsbC5kYXRhc2V0Lm5hbWU9YHByaWNlLWF4aXMtJHtsLmxhYmVsfWAsdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9LHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBkPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtkLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZC5zdHlsZS56SW5kZXg9IjEiLGQuc3R5bGUubGVmdD0iMCIsZC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCB1PXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDt1LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdS5zdHlsZS56SW5kZXg9IjIiLHUuc3R5bGUubGVmdD0iMCIsdS5zdHlsZS50b3A9IjAiLHRoaXMuX2NlbGwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsdHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fb3B0aW9ucy5jdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkfHx0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZD8odGhpcy5fY3VycmVuY3lMYWJlbD1uZXcgWmkoMTIpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodGhpcy5fY3VycmVuY3lMYWJlbC5lbGVtZW50KCkpKTp0aGlzLl9jdXJyZW5jeUxhYmVsPW51bGwsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUmJih0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW5ldyBTaSx0aGlzLl9jZWxsLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKSx7cGFzc2l2ZTohMX0pKSx0aGlzLl9heGlzSW5mbz1sLHRoaXMuX29mZnNldD0wLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSwoMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5LmJpbmQodGhpcykpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVBY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX2hhbmRsZUFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSgoMCxvcy5hY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpKCkpLmNhdGNoKCgoKT0+e30pKSx0aGlzLl9jaGFydC5hbnlQcmljZUF4aXNIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy51cGRhdGUoKX1hc3luYyBnZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7dGhpcy5faW5pdEFjdGlvbnMoKTtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucyksaT10aGlzLl9jaGFydC5hY3Rpb25zKCkscz1bXTtpZih0aGlzLl9wcmljZVNjYWxlPy5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSYmcy5wdXNoKHQucmVzZXQsbmV3IGVzLlNlcGFyYXRvcikscy5wdXNoKHRoaXMuX2F1dG9TY2FsZUFjdGlvbigpKSx0aGlzLl9pc01haW5TZXJpZXNBeGlzKCkmJnMucHVzaCh0aGlzLl9sb2NrU2NhbGVBY3Rpb24oKSksCnMucHVzaChpLnNjYWxlU2VyaWVzT25seSx0aGlzLl9pbnZlcnRBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX3JlZ3VsYXJTY2FsZUFjdGlvbigpLHRoaXMuX3BlcmNlbnRhZ2VBY3Rpb24oKSx0aGlzLl9pbmRleGVkVG8xMDBBY3Rpb24oKSx0aGlzLl9sb2dBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCksbmV3IGVzLlNlcGFyYXRvciksISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpKXtjb25zdCBlPVtpLnNob3dTeW1ib2xMYWJlbHNBY3Rpb24saS5zaG93U2VyaWVzTGFzdFZhbHVlLGkuc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlLGkuc2hvd1ByZVBvc3RNYXJrZXRQcmljZUxhYmVsLGkuc2hvd0hpZ2hMb3dQcmljZUxhYmVscywoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2F2ZXJhZ2VfY2xvc2VfcHJpY2VfbGluZV9hbmRfbGFiZWwiKT9pLnNob3dBdmVyYWdlQ2xvc2VQcmljZUxhYmVsOm51bGwsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaGFzQ3VzdG9tU291cmNlKCJiaWRhc2siKT9pLnNob3dCaWRBc2tMYWJlbHM6bnVsbCxpLnNob3dTdHVkeVBsb3ROYW1lc0FjdGlvbixpLnNob3dTdHVkeUxhc3RWYWx1ZSx0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQ/aS5zaG93Q291bnRkb3duOm51bGwsbmV3IGVzLlNlcGFyYXRvcix0LmFsaWduTGFiZWxzXS5maWx0ZXIoYS5ub3ROdWxsKTtzLnB1c2gobmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzIixvcHRpb25zOntsYWJlbDpwcyxzdWJJdGVtczplfX0pKX1jb25zdHtjcmVhdGVMaW5lc0FjdGlvbjpufT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcy5wdXNoKG4odGhpcy5fY2hhcnQpKSx0aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuaXNNZW51RW5hYmxlZCgpJiZzLnB1c2goaS5hZGRQbHVzQnV0dG9uKSxlJiYhdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19jaGFydF9wcm9wZXJ0eV9wYWdlIikmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Byb3BlcnR5X3BhZ2Vfc2NhbGVzIikmJmkuc2NhbGVzUHJvcGVydGllcyYmcy5wdXNoKG5ldyBlcy5TZXBhcmF0b3IsaS5zY2FsZXNQcm9wZXJ0aWVzKSxzfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKGUpeyh0aGlzLl9zaXplLndpZHRoPHRoaXMub3B0aW1hbFdpZHRoKCl8fGUpJiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5mdWxsVXBkYXRlKCl9b3B0aW1hbFdpZHRoKCl7aWYoIXRoaXMuaXNWaXNpYmxlKCkpcmV0dXJuIDA7bGV0IGU9MDtjb25zdCB0PXRoaXMucmVuZGVyZXJPcHRpb25zKCk7aWYodGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXtjb25zdCB0PSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KTt0LmZvbnQ9dGhpcy5iYXNlRm9udCgpO2NvbnN0IGk9dGhpcy5fdmlld3MoMix0aGlzLl9ncm91cGVkU291cmNlcygpKTtmb3IoY29uc3QgcyBvZiBpKXtpZighcy5pc0F4aXNMYWJlbFZpc2libGUoKXx8cy5pc091dHNpZGVPZlZpc2libGVQcmljZVJhbmdlPy4oKSljb250aW51ZTtjb25zdCBpPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxzLnRleHQoKSk7ZT1NYXRoLm1heChlLGkpO2NvbnN0IG49cy5zZWNvbmRMaW5lVGV4dCgpO24mJihlPU1hdGgubWF4KGUsdGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dCh0LG4pKSk7Y29uc3Qgcj1zLnRoaXJkTGluZVRleHQoKTtyJiYoZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxyKSkpfWNvbnN0IHM9dGhpcy5wcmljZVNjYWxlKCk7Zm9yKGNvbnN0IGkgb2Ygcy5tYXJrcygpKWU9TWF0aC5tYXgoZSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsaS5sYWJlbCkpO2NvbnN0IG49cy5tYWluU291cmNlKCk/LmZpcnN0VmFsdWUoKXx8bnVsbDtpZihudWxsIT09biYmIXMuaXNQZXJjZW50YWdlKCkmJiFzLmlzSW5kZXhlZFRvMTAwKCkpe2NvbnN0IGk9cy5jb29yZGluYXRlVG9QcmljZSgxLG4pLHI9cy5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9zaXplLmhlaWdodC0yLG4pO2lmKE1hdGguYWJzKGktcik+MWUtMTQpe2NvbnN0IG89TWF0aC5tYXgoMCwtTWF0aC5sb2cxMChNYXRoLm1heChNYXRoLmFicyhpKSxNYXRoLmFicyhyKSkpKSxhPS4xMTExMTExMTExMTExMS9NYXRoLnBvdygxMCxNYXRoLmZsb29yKG8pKSxsPXMuZm9ybWF0UHJpY2UoTWF0aC5taW4oaSxyKS1hLG4pLGM9cy5mb3JtYXRQcmljZShNYXRoLm1heChpLHIpK2Esbik7ZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxsKSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsYykpfX19Y29uc3QgaT10aGlzLl9pc0N1cnJlbmN5TGFiZWxFbmFibGVkKCk/TWF0aC5yb3VuZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLndpZHRoKCkpOjAscz1lfHwzNDtsZXQgbj1NYXRoLm1heChpLHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnM/LndpZHRoKCk/PzAsTWF0aC5jZWlsKHQuYm9yZGVyU2l6ZSt0LmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIrdC5wYWRkaW5nSW5uZXIrdC5wYWRkaW5nT3V0ZXIrcys0KSk7cmV0dXJuIG4rPW4lMixufXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPWUud2lkdGgrInB4IiksdGhpcy5fb2Zmc2V0IT09dCYmKHRoaXMuX29mZnNldD10LAp0aGlzLl9jZWxsLnN0eWxlLmxlZnQ9dCsicHgiKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT10aGlzLl9zaXplLHQ9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCxlKTtyZXR1cm4oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpLmRyYXdJbWFnZSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsMCwwLGUud2lkdGgsZS5oZWlnaHQpLG51bGw9PT10aGlzLl9jdXJyZW5jeUxhYmVsfHx0aGlzLl9jdXJyZW5jeUxhYmVsLmlzSGlkZGVuKCl8fHRoaXMuX2N1cnJlbmN5TGFiZWwuZHJhd0xhYmVsKCgwLEt0LmdldENvbnRleHQyRCkodCksZS53aWR0aCwoMCxkaS5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKSh0KSksdH11cGRhdGUoKXtudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUubWFya3MoKSx0aGlzLnJlbmRlcmVyT3B0aW9ucygpKX1wYWludChlKXtpZighdGhpcy5faXNWaXNpYmxlfHwwPT09dGhpcy5fc2l6ZS53aWR0aHx8MD09PXRoaXMuX3NpemUuaGVpZ2h0KXJldHVybjtpZihlPT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuTm9uZSlyZXR1cm47Y29uc3QgdD10aGlzLl9wYW5lLnN0YXRlKCksaT0hdC5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0LmNvbGxhcHNlZCgpLnZhbHVlKCk7aWYoaSYmZTxMZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsKXJldHVybjtjb25zdCBzPXRoaXMuX3BhbmUuaGFzU3RhdGUoKTsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3Qgbj1udWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmIXRoaXMuX2N1cnJlbmN5TGFiZWwuaXNIaWRkZW4oKSxyPShlLHQsaSk9PntpZihuKXtlLnNhdmUoKSxlLmJlZ2luUGF0aCgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5sYWJlbEJvdHRvbSgpO2UucmVjdCgwLGkqdC52ZXJ0aWNhbFBpeGVsUmF0aW8sdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLGUuY2xpcCgpfWkoKSxuJiZlLnJlc3RvcmUoKX0sbz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX2dyb3VwZWRTb3VyY2VzKCkpKSxhPSgwLGJ0LmRlZmF1bHQpKCgoKT0+dGhpcy5fdmlld3MoMSxvKCkpKSksYz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX3ZpZXdzKDAsbygpKSkpO2lmKGU+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSx0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtpfHwodGhpcy5fYWxpZ25MYWJlbHMoWy4uLmEoKSwuLi5jKCldKSxzJiZ0aGlzLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSksdGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSxpfHxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3RHJhd2luZ3NIaWdobGlnaHQoZSx0KX0pKSx0aGlzLl9kcmF3Qm9yZGVyKGUsdCkscyYmIWkmJih0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYodGhpcy5fc2NhbGVNb2RlQnV0dG9ucy5lbGVtZW50KCkuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9oaWdobGlnaHRlZD90aGlzLl9oaWdobGlnaHRDb2xvcigpOnRoaXMuYmFja2dyb3VuZENvbG9yKCkpLHIoZSx0LCgoKT0+e3RoaXMuX2RyYXdUaWNrTWFya3MoZSx0KSx0aGlzLl9kcmF3TGFiZWxzKGMoKSxlLHQpfSkpKX1pZihzJiYhaSl7Y29uc3QgZT0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCksdD0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7ZS5jbGVhclJlY3QoMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0KSxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3TGFiZWxzKGEoKSxlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXJMYWJlbChlLHQpfSkpfX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX3NldEN1cnNvcigiIil9cHJpY2VTY2FsZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSl9c2V0UHJpY2VTY2FsZShlKXt0aGlzLl9wcmljZVNjYWxlIT09ZSYmKG51bGwhPT10aGlzLl9wcmljZVNjYWxlJiYodGhpcy5fcHJpY2VTY2FsZS5vbk1hcmtzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKSx0aGlzLl9wcmljZVNjYWxlLm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpLHRoaXMuX3ByaWNlU2NhbGU9ZSxudWxsIT09ZSYmKGUub25NYXJrc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQpLGUubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCghMCkpKSx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQoKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYoZS5tb2RlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMpLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMoKSkpKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlfXNldFZpc2libGUoZSl7KGU9ISFlKSE9PXRoaXMuX2lzVmlzaWJsZSYmKHRoaXMuX2NlbGwuc3R5bGUuZGlzcGxheT1lPyJ0YWJsZS1jZWxsIjoibm9uZSIsdGhpcy5faXNWaXNpYmxlPWUpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fY3VycmVuY3lNZW51JiYodGhpcy5fY3VycmVuY3lNZW51LmRlc3Ryb3koKSx0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCksbnVsbCE9PXRoaXMuX3VuaXRNZW51JiYodGhpcy5fdW5pdE1lbnUuZGVzdHJveSgpLHRoaXMuX3VuaXRNZW51PW51bGwpLApudWxsIT09dGhpcy5fbWV0cmljTWVudSYmKHRoaXMuX21ldHJpY01lbnUuZGVzdHJveSgpLHRoaXMuX21ldHJpY01lbnU9bnVsbCksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fY2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl9jYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUub25NYXJrc0NoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCksdGhpcy5fcHJpY2VTY2FsZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpKSx0aGlzLl9wcmljZVNjYWxlPW51bGwsdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksbnVsbCE9PXRoaXMuX2FjdGlvbnMmJihPYmplY3QudmFsdWVzKHRoaXMuX2FjdGlvbnMpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9hY3Rpb25zPW51bGwpLCgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnQuYW55UHJpY2VBeGlzSG92ZXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2Rlc3Ryb3lTY2FsZU1vZGVCdXR0b25zKCksdGhpcy5fZGVzdHJveWVkPSEwfWF4aXNJbmZvKCl7cmV0dXJuIHRoaXMuX2F4aXNJbmZvfXNldEhpZ2hsaWdodGVkKGUpe3RoaXMuX2hpZ2hsaWdodGVkPWV9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bGluZUNvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubGluZUNvbG9yLnZhbHVlKCl9dGV4dENvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCl9Zm9udFNpemUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS52YWx1ZSgpfWJhc2VGb250KGU9ITEpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxlPyJib2xkIjoiIil9cmVuZGVyZXJPcHRpb25zKCl7bGV0IGU9dGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpO3JldHVybiB0aGlzLl9jb2xvcj09PWUuY29sb3ImJnRoaXMuX2ZvbnRTaXplPT09ZS5mb250U2l6ZXx8KHRoaXMuX2NvbG9yPWUuY29sb3IpLHRoaXMuX2ZvbnRTaXplIT09ZS5mb250U2l6ZSYmKHRoaXMuX3dpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9mb250U2l6ZT1lLmZvbnRTaXplLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpKSx0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoZT1PYmplY3QuYXNzaWduKHt9LGUse3BhZGRpbmdJbm5lcjpNYXRoLm1heChlLnBhZGRpbmdJbm5lcixxaS5BTEVSVF9MQUJFTF9XSURUSCl9KSksZX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl8fCh0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITApLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSkpfW1vdXNlTW92ZUV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpLHRoaXMuX21vdXNlRW50ZXJPclRvdWNoU3RhcnRFdmVudChlKSx0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXBpbmNoU3RhcnRFdmVudChlLHQsaSxzKXtyZXR1cm4gcy5ib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50fXBpbmNoRXZlbnQoZSx0LGkpe2lmKHRoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5waW5jaFNjYWxlKXtpZih0aGlzLl9kcmFnU2NhbGVBY3RpdmUmJnRoaXMuX2ZpbmlzaFNjYWxlKCksIXRoaXMuX3BpbmNoaW5nKXJldHVybiB0aGlzLl9waW5jaGluZz0hMCx2b2lkIHRoaXMuX3VuZG9Nb2RlbC5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UodGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpO3RoaXMuX3VuZG9Nb2RlbC50d29Qb2ludHNTY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpfX1waW5jaEVuZEV2ZW50KCl7dGhpcy5fcGluY2hpbmc9ITEsCnRoaXMuX3VuZG9Nb2RlbC5lbmRUd29Qb2ludHNTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKSx0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghMSl9bW91c2VVcEV2ZW50KGUpe3RoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9dG91Y2hFbmRFdmVudChlKXt0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpLHRoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfW1vdXNlTGVhdmVFdmVudChlKXt0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMSksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1kb3VibGVUYXBFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1jb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9dG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9ZGF0YVNvdXJjZUF0UG9pbnQoZSx0KXtpZighdGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fcGFuZS5zdGF0ZSgpO2lmKCFpLm1heGltaXplZCgpLnZhbHVlKCkmJmkuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXRoaXMuX2dyb3VwZWRTb3VyY2VzKCksbj1bLi4ucy5zb3VyY2VzLC4uLnMudG9wTGV2ZWxTb3VyY2VzLC4uLmkuY3VzdG9tU291cmNlcygpLC4uLmkuc291cmNlc0J5R3JvdXAoKS5tdWx0aXBhbmVTb3VyY2VzKCldO2xldCByPW51bGwsbz1udWxsO2lmKCF0aGlzLl9wcmljZVNjYWxlKXJldHVybiBudWxsO2NvbnN0IGE9KGUsdCk9Pntjb25zdCBpPW8/LnRhcmdldCgpPz8wO2UudGFyZ2V0KCk+aSYmKG89ZSxyPXQpfSxsPW5ldyBQdC5Qb2ludChlLHQpLGM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO2ZvcihsZXQgZT1uLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCB0PW5bZV0scz10LnByaWNlQXhpc1ZpZXdzKGksdGhpcy5fcHJpY2VTY2FsZSk7aWYocyYmMCE9PXMubGVuZ3RoKWZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCBpPXNbZV0ucmVuZGVyZXIoKTtpZih2b2lkIDAhPT1pLmhpdFRlc3Qpe2NvbnN0IGU9aS5oaXRUZXN0KGwsYyx0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIpO251bGwhPT1lJiZhKGUsdCl9fX1yZXR1cm4gdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9byxyfXJlc2V0KCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD10aGlzLnByaWNlU2NhbGUoKTt0aGlzLl91bmRvTW9kZWwucmVzZXRQcmljZVNjYWxlKGUsdCksdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCEwKX11cGRhdGVDdXJyZW5jeUxhYmVsKCl7dGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbEN1cnJlbmN5KCksdGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbFVuaXQoKSx0aGlzLl91cGRhdGVDdXJyZW5jeUxhYmVsTWV0cmljKCl9X3VwZGF0ZUN1cnJlbmN5TGFiZWxDdXJyZW5jeSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsKWlmKHRoaXMuX29wdGlvbnMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT10aGlzLnByaWNlU2NhbGUoKS5jdXJyZW5jeSh0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCkudmFsdWUoKSk7bnVsbD09PWV8fCJhbHdheXNPZmYiPT09KDAscnMuYWN0dWFsQ3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eSkoKS52YWx1ZSgpP3RoaXMuX2N1cnJlbmN5TGFiZWwuZGlzYWJsZUN1cnJlbmN5KCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlQ3VycmVuY3koKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldEN1cnJlbmN5SW5mbyhlKSl9ZWxzZSB0aGlzLl9jdXJyZW5jeUxhYmVsLmRpc2FibGVDdXJyZW5jeSgpfV91cGRhdGVDdXJyZW5jeUxhYmVsVW5pdCgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsJiZ0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSx0PXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmF2YWlsYWJsZVVuaXRzKCkudmFsdWUoKSxpPXRoaXMucHJpY2VTY2FsZSgpLnVuaXQodCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlVW5pdCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZVVuaXQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldFVuaXRJbmZvKGkpKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpLm1lYXN1cmVVbml0SWQodCk7bnVsbD09PXN8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWVhc3VyZVVuaXRJZCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZU1lYXN1cmVVbml0SWQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldE1lYXN1cmVVbml0SWRJbmZvKHMpKX19X3VwZGF0ZUN1cnJlbmN5TGFiZWxNZXRyaWMoKXtpZihudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLApycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVNZXRyaWNzKCksaT10aGlzLnByaWNlU2NhbGUoKS5tZXRyaWModCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWV0cmljKCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlTWV0cmljKCksdGhpcy5fY3VycmVuY3lMYWJlbC5zZXRNZXRyaWNJbmZvKGkpKX19X2dyb3VwZWRTb3VyY2VzKCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD1lLm1vZGVsKCksaT10aGlzLl9wYW5lLnN0YXRlKCkuc291cmNlc0J5R3JvdXAoKSxzPXRoaXMuX2lzTGVmdD9pLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTppLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCksbj10aGlzLl9wcmljZVNjYWxlPT09ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHI9bmV3IFNldChlLmN1c3RvbVNvdXJjZXMoKSksbz10PT4hIXIuaGFzKHQpfHwodC5wcmljZVNjYWxlKCk9PT10aGlzLl9wcmljZVNjYWxlfHxuJiZlLmlzT3ZlcmxheSh0KSksYT17c291cmNlczpbLi4ucy5maWx0ZXIobyksLi4uZS5jdXN0b21Tb3VyY2VzKCldLHRvcExldmVsU291cmNlczpuZXcgU2V0fTtpZihuKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKS5kYXRhU291cmNlcygpO2Zvcihjb25zdCBpIG9mIHQpZS5pc092ZXJsYXkoaSkmJmEuc291cmNlcy5wdXNoKGkpfWNvbnN0IGw9dC5saW5lQmVpbmdFZGl0ZWQoKT8/dC5saW5lQmVpbmdDcmVhdGVkKCk7bCYmbyhsKSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZChsKSxhLmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZD1sKTtjb25zdCBjPXQuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO2MmJm8oYykmJihhLnRvcExldmVsU291cmNlcy5hZGQoYyksYS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWMpO2NvbnN0IGg9dC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihvKTtoLmxlbmd0aD4wJiYodC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZvckVhY2goKGU9PmEudG9wTGV2ZWxTb3VyY2VzLmFkZChlKSkpLGEuc291cmNlc0JlaW5nTW92ZWQ9aCk7Y29uc3QgZD10LnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKS5maWx0ZXIobyk7ZC5sZW5ndGg+MCYmKGQuZm9yRWFjaCgoZT0+YS50b3BMZXZlbFNvdXJjZXMuYWRkKGUpKSksYS5zZWxlY3RlZFNvdXJjZXM9ZCk7Y29uc3QgdT10LmhvdmVyZWRTb3VyY2UoKTtyZXR1cm4gdSYmbyh1KSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZCh1KSxhLmhvdmVyZWRTb3VyY2U9dSksYX1faXNDdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fY3VycmVuY3lMYWJlbC5pc0VuYWJsZWQoKX1fYWxpZ25MYWJlbHMoZSl7Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKSxpPXQubWFpblNvdXJjZSgpLHM9dGhpcy5fcGFuZS5zdGF0ZSgpLG49aT97bGFiZWxzOigpPT5pLnByaWNlQXhpc1ZpZXdzKHMsdCl9Om51bGw7IWZ1bmN0aW9uKGUpe2NvbnN0e3Zpc2libGVWaWV3czp0LGhlaWdodDppLHNjYWxlOnMscmVuZGVyZXJPcHRpb25zOm59PWU7bGV0IHI9aS8yO2NvbnN0IG89bHMobixpLHQpLGE9cy5tYWluU291cmNlKCk7bGV0IGw9W107bnVsbCE9PWEmJihsPWxzKG4saSxhLmxhYmVscygpKSxsLmxlbmd0aCYmKHI9bFswXS5jb29yZGluYXRlKCkpKTtjb25zdCBjPW8uZmlsdGVyKChlPT5lLmNvb3JkaW5hdGUoKTw9cikpLGg9by5maWx0ZXIoKGU9PmUuY29vcmRpbmF0ZSgpPnIpKTtjLnNvcnQoKChlLHQpPT57Y29uc3QgaT10LmNvb3JkaW5hdGUoKS1lLmNvb3JkaW5hdGUoKTtpZihpKXJldHVybiBpO2NvbnN0IHM9bC5pbmNsdWRlcyhlKT8xOjA7cmV0dXJuKGwuaW5jbHVkZXModCk/MTowKS1zfSkpLGMubGVuZ3RoPjAmJmgubGVuZ3RoPjAmJmgucHVzaChjWzBdKSxoLnNvcnQoKChlLHQpPT5lLmNvb3JkaW5hdGUoKS10LmNvb3JkaW5hdGUoKSkpO2Zvcihjb25zdCBlIG9mIG8pZS5zZXRGaXhlZENvb3JkaW5hdGUoZS5jb29yZGluYXRlKCkpO2lmKHMubGFiZWxzQWxpZ25pbmdFbmFibGVkKCkpe2lmKGgubGVuZ3RoPjB8fGMubGVuZ3RoPjApe3tjb25zdCBlPWNbMF0/P2hbMF0sdD1lLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpLHt0b3A6cyxib3R0b206cix0b3RhbDpvfT1lLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pO288aSYmdC1zPDAmJnQrcj4wJiZlLnNldEZpeGVkQ29vcmRpbmF0ZShzKX17Y29uc3QgZT1oWzBdPz9jWzBdLHQ9ZS5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309ZS50b3BCb3R0b21Ub3RhbEhlaWdodChuKTtvPGkmJnQtczxpJiZ0K3I+aSYmZS5zZXRGaXhlZENvb3JkaW5hdGUoaS1yKX19Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2NvbnN0IHQ9Y1tlXSxpPWNbZS0xXSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309dC50b3BCb3R0b21Ub3RhbEhlaWdodChuKSxhPXQuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCksbD1pLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2lmKGE+bC1vKXQuc2V0Rml4ZWRDb29yZGluYXRlKGwtbyk7ZWxzZSBpZihsPjAmJmEtczwwJiZhK3I+MCl7Y29uc3R7dG9wOmV9PWkudG9wQm90dG9tVG90YWxIZWlnaHQobik7dC5zZXRGaXhlZENvb3JkaW5hdGUoTWF0aC5taW4obC1lLXIscykpfX1mb3IobGV0IGU9MTtlPGgubGVuZ3RoO2UrKyl7Y29uc3QgdD1oW2VdLHM9aFtlLTFdLHtib3R0b206cix0b3RhbDpvfT1zLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pLGE9dC5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSxsPXMuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCk7aWYoYTxsK28pdC5zZXRGaXhlZENvb3JkaW5hdGUobCtvKTtlbHNlIGlmKGw8aSl7Y29uc3R7dG9wOmUsYm90dG9tOnN9PXQudG9wQm90dG9tVG90YWxIZWlnaHQobik7YS1lPGkmJmErcz5pJiZ0LnNldEZpeGVkQ29vcmRpbmF0ZShNYXRoLm1heChsK3IrZSxpLXMpKX19fX0oe3Zpc2libGVWaWV3czplLGhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzY2FsZTp7CmxhYmVsc0FsaWduaW5nRW5hYmxlZDooKT0+dGhpcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmFsaWduTGFiZWxzLnZhbHVlKCksbWFpblNvdXJjZTooKT0+bn0scmVuZGVyZXJPcHRpb25zOnRoaXMucmVuZGVyZXJPcHRpb25zKCl9KX1fZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5wcmljZVNjYWxlKCkubWFya3MoKTtlLnNhdmUoKTtjb25zdCBzPXRoaXMucmVuZGVyZXJPcHRpb25zKCkse2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnJ9PXQsbz10aGlzLl9pc0xlZnQ/TWF0aC5mbG9vcigodGhpcy5fc2l6ZS53aWR0aC1zLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIpKm4pOjAsYT10aGlzLl9pc0xlZnQ/TWF0aC5yb3VuZChvLXMucGFkZGluZ0lubmVyKm4pOk1hdGgucm91bmQobysocy5hZGRpdGlvbmFsUGFkZGluZ0lubmVyK3MucGFkZGluZ0lubmVyKSpuKSxjPXRoaXMuZm9udFNpemUoKSxoPXRoaXMuX2lzQ3VycmVuY3lMYWJlbEVuYWJsZWQoKT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmxhYmVsQm90dG9tKCk6MCxkPWkubWFwKCh0PT57aWYodGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzKXJldHVybnt2aXNpYmxlOiEwLHlDb3JyZWN0aW9uOnRoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKX07Y29uc3QgaT10LmNvb3JkLWMvMixzPXQuY29vcmQrYy8yLG49IShzPnRoaXMuX3NpemUuaGVpZ2h0fHxpPGgpO3JldHVybnt2aXNpYmxlOiEocz50aGlzLl9zaXplLmhlaWdodHx8aTxoKSx5Q29ycmVjdGlvbjpuP3RoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKTowfX0pKTtlLmZpbGxTdHlsZT10aGlzLnRleHRDb2xvcigpLGUudGV4dEFsaWduPXRoaXMuX2lzTGVmdD8icmlnaHQiOiJsZWZ0IixlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCB1PSF0aGlzLnByaWNlU2NhbGUoKS5pc0xvZygpLHA9dGhpcy5iYXNlRm9udCgpLF89dGhpcy5iYXNlRm9udCghMCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxuLHIsKCgpPT57Zm9yKGxldCB0PWkubGVuZ3RoO3QtLTspe2lmKCFkW3RdLnZpc2libGUpY29udGludWU7Y29uc3Qgcz1pW3RdO2UuZm9udD11JiZzLmJvbGQ/XzpwLGUuZmlsbFRleHQocy5sYWJlbCxhL24scy5jb29yZCtkW3RdLnlDb3JyZWN0aW9uKX19KSksZS5yZXN0b3JlKCl9YXN5bmMgX3Nob3dDdXJyZW5jaWVzQ29udGV4dE1lbnUoKXtpZih0aGlzLl9jdXJyZW5jeU1lbnUpcmV0dXJuIHRoaXMuX2N1cnJlbmN5TWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCk7bGV0IGU7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkN1cnJlbmN5IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSgpLHRoaXMuX2N1cnJlbmN5TGFiZWw/LnNldEN1cnJlbmN5RXhwYW5kZWQoITEpfTtpZih4cyllPWF3YWl0IFFpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9jdXJyZW5jeV9tZW51X2lubmVyIix0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5pZCgpLHRoaXMuX3BhbmUuc3RhdGUoKS5pZCgpLHRoaXMucHJpY2VTY2FsZSgpLmlkKCldLHQpO2Vsc2V7Y29uc3R7Y3VycmVuY3lBY3Rpb25zOnN9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTY1OTgpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDgxMDcyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDY2MDUpLGkuZSg4OTIwNCksaS5lKDMyMTc2KSxpLmUoMjAyKSxpLmUoODg2NDEpLGkuZSg3MDY1NiksaS5lKDMyODU3KSxpLmUoNTI5NjEpLGkuZSgzMjM4NyksaS5lKDM5NjA5KSxpLmUoMzU5NjQpLGkuZSg4Mjk3KV0pLnRoZW4oaS5iaW5kKGksNzM2MTY5KSk7ZT1hd2FpdCBKaShfcywoKCk9PnModGhpcy5fdW5kb01vZGVsLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmN1cnJlbmN5TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRDdXJyZW5jeUV4cGFuZGVkKCEwKSx0aGlzLl9jdXJyZW5jeU1lbnU9ZSl9YXN5bmMgX3Nob3dVbml0c0NvbnRleHRNZW51KCl7aWYodGhpcy5fdW5pdE1lbnUpcmV0dXJuIHRoaXMuX3VuaXRNZW51LmRlc3Ryb3koKSx2b2lkKHRoaXMuX3VuaXRNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJVbml0IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5KCksdGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0VW5pdEV4cGFuZGVkKCExKX07aWYoTXMpZT1hd2FpdCBRaSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLnVuaXRMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV91bml0X21lbnVfaW5uZXIiLHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlkKCksdGhpcy5fcGFuZS5zdGF0ZSgpLmlkKCksdGhpcy5wcmljZVNjYWxlKCkuaWQoKV0sdCk7ZWxzZXsKY29uc3R7dW5pdEFjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSwxODYwNDApKTtlPWF3YWl0IEppKG1zLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0SW5mbygpLHRoaXMucHJpY2VTY2FsZSgpKSksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRVbml0RXhwYW5kZWQoITApLHRoaXMuX3VuaXRNZW51PWUpfWFzeW5jIF9zaG93TWV0cmljc0NvbnRleHRNZW51KCl7aWYodGhpcy5fbWV0cmljTWVudSlyZXR1cm4gdGhpcy5fbWV0cmljTWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9tZXRyaWNNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJNZXRyaWMgc3dpdGNoZXIiKTtjb25zdCB0PSgpPT57dGhpcy5fbWV0cmljTWVudT1udWxsLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkoKSx0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRNZXRyaWNFeHBhbmRlZCghMSl9O2lmKElzKWU9YXdhaXQgUWkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9tZXRyaWNfbWVudV9pbm5lciIsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaWQoKSx0aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSx0aGlzLnByaWNlU2NhbGUoKS5pZCgpXSx0KTtlbHNle2NvbnN0e21ldHJpY0FjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSw0Mzk5MTQpKTtlPWF3YWl0IEppKGdzLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLm1ldHJpY0xhYmVsRWxlbWVudCgpLHQsITApfXRoaXMuX2Rlc3Ryb3llZD9lLmRlc3Ryb3koKToodGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0TWV0cmljRXhwYW5kZWQoITApLHRoaXMuX21ldHJpY01lbnU9ZSl9X29uRm9udFNpemVDaGFuZ2VkKCl7dGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCl9X21vdXNlT3JUb3VjaE1vdmVFdmVudChlKXtpZighdGhpcy5fcHJpY2VTY2FsZSlyZXR1cm47aWYodGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJkZWZhdWx0Iik7aWYoZS5sb2NhbFg8MHx8ZS5sb2NhbFk8MHx8ZS5sb2NhbFg+PXRoaXMuX3NpemUud2lkdGh8fGUubG9jYWxZPj10aGlzLl9zaXplLmhlaWdodClyZXR1cm47bGV0IHQ9ITA7Y29uc3QgaT10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpPygoMCxxaS5pc0FsZXJ0TGFiZWwpKGkpP3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZGVmYXVsdCIpOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgicG9pbnRlciIpLHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Py5kYXRhKCk/LmhvdmVyTW9kZWxGcm9tQXhpcyYmKHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnNldEhvdmVyZWRTb3VyY2UoaSx0aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpPz9udWxsLDApLHQ9ITEpKTp0aGlzLl9zZXRSZXNpemVDdXJzb3IoKSx0JiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5wcmVzc2VkTW91c2VNb3ZlU2NhbGUmJiF0aGlzLl9waW5jaGluZyYmKHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMCx0aGlzLl91bmRvTW9kZWwuc3RhcnRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSxlLmxvY2FsWSkpfV9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fc2V0UmVzaXplQ3Vyc29yKCl9X3ByZXNzZWRNb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYodGhpcy5fZHJhZ1NjYWxlQWN0aXZlKXtjb25zdCB0PXRoaXMucHJpY2VTY2FsZSgpO3RoaXMuX3VuZG9Nb2RlbC5zY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHQsZS5sb2NhbFkpfX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXt0aGlzLl9maW5pc2hTY2FsZSgpfV9maW5pc2hTY2FsZSgpe3RoaXMuX2RyYWdTY2FsZUFjdGl2ZSYmKHRoaXMuX3VuZG9Nb2RlbC5lbmRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSksdGhpcy5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMSl9X21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWwpewppZih0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93Q3VycmVuY2llc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC51bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLnVuaXRMYWJlbEVsZW1lbnQoKS5jb250YWlucyhlLnRhcmdldCkpcmV0dXJuIHRoaXMuX3Nob3dVbml0c0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC5tZXRyaWNDb252ZXJzaW9uQXZhaWxhYmxlKCkmJnRoaXMuX2N1cnJlbmN5TGFiZWwubWV0cmljTGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93TWV0cmljc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCl9ZS5pc1RvdWNoJiZ0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghdGhpcy5fc2VsZWN0ZWRWaWFUYXAudmFsdWUoKSk7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0JiZ0aGlzLl91bmRvTW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxhc3RTZWxlY3RlZEhpdHRlc3REYXRhKCk9PT10aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpfHwoZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHQsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ/LmRhdGEoKT8/bnVsbCkpfSkpfV9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpe3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiIil9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWw/LmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpfHx0aGlzLl9jdXJyZW5jeUxhYmVsPy51bml0TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybjtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3Q/dGhpcy5fcGFuZS5wcm9jZXNzRG91YmxlQ2xpY2tPblNvdXJjZSh0LHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Pz92b2lkIDAse29yaWdpbjoicHJpY2Vfc2NhbGUifSk6KHRoaXMucmVzZXQoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiRG91YmxlIGNsaWNrIHByaWNlIHNjYWxlIikpfWFzeW5jIF9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe2lmKHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKG51bGwhPT10JiZ0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LnNvdXJjZSl7cmV0dXJuIHZvaWQgdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCl8fChpLmNsZWFyU2VsZWN0aW9uKCksaS5hZGRJdGVtVG9TZWxlY3Rpb24odCkpLHRoaXMuX3BhbmUuc2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUse29yaWdpbjoicHJpY2Vfc2NhbGUifSl9KSl9aWYodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudS5nZW5lcmFsKXtjb25zdCB0PWF3YWl0IHRoaXMuZ2V0Q29udGV4dE1lbnVBY3Rpb25zKCEwKSxpPXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmlkKCk9PT10aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSkpLHM9dGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuY2hhcnRNb2RlbHMoKS52YWx1ZSgpLmZpbmRJbmRleCgoZT0+ZS5pZCgpPT09dGhpcy5fdW5kb01vZGVsLmlkKCkpKSxuPXRoaXMuX3ByaWNlU2NhbGU/LmlkKCkmJi0xIT09aSYmLTEhPT1zO05pLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudSh0LGUse3N0YXROYW1lOiJQcmljZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlByaWNlU2NhbGVDb250ZXh0TWVudSIsLi4ubiYme2RldGFpbDp7dHlwZToicHJpY2VTY2FsZSIsaWQ6dGhpcy5fcHJpY2VTY2FsZT8uaWQoKT8/IiIscGFuZUluZGV4OmksY2hhcnRJbmRleDpzfX19KX19fV9zZXRSZXNpemVDdXJzb3IoKXtjb25zdCBlPXRoaXMucHJpY2VTY2FsZSgpO2UuaXNQZXJjZW50YWdlKCl8fGUuaXNJbmRleGVkVG8xMDAoKT90aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIiIpOnRoaXMuX3pvb21BdmFpbGFibGUoKSYmKHRoaXMuX29wdGlvbnMucHJlc3NlZE1vdXNlTW92ZVNjYWxlfHx0aGlzLl9vcHRpb25zLm1vdXNlV2hlZWxTY2FsZSkmJnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibnMtcmVzaXplIil9X3NldEN1cnNvckNsYXNzTmFtZShlKXtsZXQgdD0iIjtlJiYhdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnZhbHVlKCkmJih0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10KX1fem9vbUF2YWlsYWJsZSgpe3JldHVybiF0aGlzLnByaWNlU2NhbGUoKS5pc0VtcHR5KCkmJnRoaXMucHJpY2VTY2FsZSgpLmhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnpvb21FbmFibGVkKCl9X29uTW91c2V3aGVlbChlKXtpZighdGhpcy5fem9vbUF2YWlsYWJsZSgpfHwhdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUpcmV0dXJuO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb3VzZVdoZWVsSGVscGVyKS5wcm9jZXNzV2hlZWwoZSkuZGVsdGFZO2lmKDA9PT10KXJldHVybgo7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT10aGlzLl91bmRvTW9kZWwscz10aGlzLl9wYW5lLnN0YXRlKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXRoaXMuX2NlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1lLmNsaWVudFktci50b3AsYT1vKzE1KnQ7aS5zdGFydFNjYWxlUHJpY2Uocyx0aGlzLnByaWNlU2NhbGUoKSxvLCEwKSxpLnNjYWxlUHJpY2VUbyhzLG4sYSksaS5lbmRTY2FsZVByaWNlKHMsbiksZS5zdG9wUHJvcGFnYXRpb24oKX1fZHJhd0Nyb3NzSGFpckxhYmVsKGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkscz1pLm1vZGVsKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXMuY3Jvc3NoYWlyU291cmNlKCkucHJpY2VBeGlzVmlld3MoaSxuKTtyJiZyLmxlbmd0aD4wJiZ0aGlzLl9kcmF3TGFiZWxzKHIsZSx0KX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQ7aWYoaT09PXM/KDAsS3QuY2xlYXJSZWN0KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpOigwLERpLmNsZWFyUmVjdFdpdGhHcmFkaWVudCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxpLHMpLHRoaXMuX2hpZ2hsaWdodGVkKXtlLmdsb2JhbEFscGhhPS41O2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0RyYXdpbmdzSGlnaGxpZ2h0KGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkubW9kZWwoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49aS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiFlLmlzRml4ZWQoKSYmZS5wcmljZVNjYWxlKCk9PT1zKSkucmVkdWNlKCgoZSx0KT0+e2NvbnN0IGk9dC5wcmljZUF4aXNQb2ludHMoKTtyZXR1cm4gMD09PWkubGVuZ3RoP2U6ZS5jb25jYXQoaSl9KSxbXSk7bi5sZW5ndGg+MCYmdGhpcy5faGlnaHRsaWdodEJhY2tncm91bmQoZSxuLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KTtjb25zdCByPWkuY3Jvc3NoYWlyU291cmNlKCk7ci5zdGFydE1lYXN1cmVQb2ludCgpJiZ0aGlzLl9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHIubWVhc3VyZVBvaW50cygpLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpLGUuZmlsbFN0eWxlPXRoaXMubGluZUNvbG9yKCk7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dCxzPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLnJlbmRlcmVyT3B0aW9ucygpLmJvcmRlclNpemUqaSkpLG49dGhpcy5faXNMZWZ0P3QuYml0bWFwU2l6ZS53aWR0aC1zOjA7ZS5maWxsUmVjdChuLDAscyx0LmJpdG1hcFNpemUuaGVpZ2h0KSxlLnJlc3RvcmUoKX1fZHJhd0xhYmVscyhlLHQsaSl7Y29uc3Qgcz10aGlzLnJlbmRlcmVyT3B0aW9ucygpLG49dGhpcy5faXNMZWZ0PyJyaWdodCI6ImxlZnQiO2Zvcihjb25zdCByIG9mIGUpci5pc0F4aXNMYWJlbFZpc2libGUoKSYmKHQuc2F2ZSgpLHIucmVuZGVyZXIoKS5kcmF3KHQsaSxzLHRoaXMuX3dpZHRoQ2FjaGUsbiksdC5yZXN0b3JlKCkpfV9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHQsaSxzKXtpZighaSlyZXR1cm47Y29uc3Qgbj1pLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bilyZXR1cm47bGV0IHI9dFswXS5wcmljZSxvPXRbMF0ucHJpY2U7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspcj1NYXRoLm1pbihyLHRbZV0ucHJpY2UpLG89TWF0aC5tYXgobyx0W2VdLnByaWNlKTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzphLHZlcnRpY2FsUGl4ZWxSYXRpbzpsfT1zLGM9dGhpcy5wcmljZVNjYWxlKCksaD1NYXRoLmZsb29yKGMucHJpY2VUb0Nvb3JkaW5hdGUocixuKSpsKSxkPU1hdGguY2VpbChjLnByaWNlVG9Db29yZGluYXRlKG8sbikqbCk7KDAsS3QuZmlsbFJlY3QpKGUsTWF0aC5mbG9vcihhKSxoLHMuYml0bWFwU2l6ZS53aWR0aCxkLWgsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzSGlnaGxpZ2h0Q29sb3IudmFsdWUoKSl9X3ZpZXdzT3JNYXhNaW5WaWV3cyhlKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKSxpPXRoaXMucHJpY2VTY2FsZSgpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm5bXTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIGVbMF0ucHJpY2VBeGlzVmlld3ModCxpKT8/W107e2xldCBzPTEvMCxuPS0xLzAscj1udWxsLG89bnVsbDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWEucHJpY2VBeGlzVmlld3ModCxpKT8/W107Zm9yKGNvbnN0IHQgb2YgZSl7aWYoIXQuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgZT10LmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2U+PW4mJihuPWUsbz10KSxlPD1zJiYocz1lLHI9dCl9fXJldHVybiBvJiZyP1tvLHJdOltdfX1fdmlld3MoZSx0KXtjb25zdCBpPXRoaXMuX3BhbmUuc3RhdGUoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49W107aWYoMSE9PWUpZm9yKGNvbnN0IGUgb2YgdC5zb3VyY2VzKXQudG9wTGV2ZWxTb3VyY2VzLmhhcyhlKXx8bi5wdXNoKC4uLmUucHJpY2VBeGlzVmlld3MoaSxzKT8/W10pO2lmKDAhPT1lKXtjb25zdCBlPW5ldyBTZXQscj10PT4hZS5oYXModCksbz10PT57Y29uc3QgaT10LmZpbHRlcihyKTtuLnB1c2goLi4udGhpcy5fdmlld3NPck1heE1pblZpZXdzKGkpKTtmb3IoY29uc3QgdCBvZiBpKWUuYWRkKHQpfTt0LmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQmJm8oW3QuY3VzdG9tU291cmNlQmVpbmdNb3ZlZF0pLHQuc291cmNlc0JlaW5nTW92ZWQmJm8odC5zb3VyY2VzQmVpbmdNb3ZlZCksdC5zZWxlY3RlZFNvdXJjZXMmJm8odC5zZWxlY3RlZFNvdXJjZXMpLHQuaG92ZXJlZFNvdXJjZSYmbyhbdC5ob3ZlcmVkU291cmNlXSksCnQubGluZUJlaW5nRWRpdGVkT3JDcmVhdGVkJiZvKFt0LmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZF0pO2Zvcihjb25zdCBlIG9mWy4uLnQuc291cmNlcywuLi5pLmN1c3RvbVNvdXJjZXMoKV0pZS50b3BQcmljZUF4aXNWaWV3cyYmbi5wdXNoKC4uLmUudG9wUHJpY2VBeGlzVmlld3MoaSxzKT8/W10pfXJldHVybiBufV9pbml0QWN0aW9ucygpe2lmKCF0aGlzLl9wYW5lLmhhc1N0YXRlKCl8fG51bGwhPT10aGlzLl9hY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3VuZG9Nb2RlbCx0PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5SZXNldCIsb3B0aW9uczp7bGFiZWw6ZnMsaWNvbklkOiJDaGFydC5SZXNldCIsc2hvcnRjdXRIaW50OigwLEsuaHVtYW5SZWFkYWJsZUhhc2gpKEsuTW9kaWZpZXJzLkFsdCs4Miksc3RhdE5hbWU6IlJlc2V0U2NhbGUiLG9uRXhlY3V0ZTooKT0+dGhpcy5yZXNldCgpfX0pLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQXV0b1NjYWxlIixvcHRpb25zOntsYWJlbDpTcyxjaGVja2FibGU6ITAsY2hlY2tlZDohMCxzdGF0TmFtZToiVG9nZ2xlQXV0b1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6dnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5wcmljZVNjYWxlKCkuaXNQZXJjZW50YWdlKCksc3RhdE5hbWU6IlRvZ2dsZVBlcmNhbnRhZ2UiLG9uRXhlY3V0ZTooKT0+e2UudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVJbmRleGVkVG8xMDAiLG9wdGlvbnM6e2xhYmVsOnlzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzSW5kZXhlZFRvMTAwKCksc3RhdE5hbWU6IlRvZ2dsZUluZGV4ZWRUbzEwMCIsb25FeGVjdXRlOigpPT57ZS50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHI9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOmJzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzTG9nKCksc3RhdE5hbWU6IlRvZ2dsZUxvZ1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVSZWd1bGFyIixvcHRpb25zOntsYWJlbDp3cyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc1JlZ3VsYXIoKSxzdGF0TmFtZToiVG9nZ2xlUmVndWxhclNjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLGE9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlTm9PdmVybGFwcGluZ0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOkNzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hbGlnbkxhYmVscy52YWx1ZSgpLHN0YXROYW1lOiJUb2dnbGVQcmVjaXNlTGFiZWxzIn19LHtwcm9wZXJ0eTp0aGlzLnByaWNlU2NhbGUoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYWxpZ25MYWJlbHMsdW5kb01vZGVsOmUsdW5kb1RleHQ6Y3N9KSxsPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLlRvZ2dsZUludmVydFNjYWxlIixvcHRpb25zOntsYWJlbDpQcyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc0ludmVydGVkKCksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsb25FeGVjdXRlOigpPT57ZS5pbnZlcnRQcmljZVNjYWxlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pO3RoaXMuX2FjdGlvbnM9e3Jlc2V0OnQsc2V0QXV0b1NjYWxlOmksc2V0UGVyY2VudGFnZTpzLHNldEluZGV4ZWRUbzEwMDpuLHNldExvZzpyLHNldFJlZ3VsYXI6byxhbGlnbkxhYmVsczphLGludmVydFNjYWxlOmx9LHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX1fbG9nQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkubG9nU2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRMb2d9X3BlcmNlbnRhZ2VBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5wZXJjZW50U2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRQZXJjZW50YWdlfV9pbmRleGVkVG8xMDBBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLnNldEluZGV4ZWRUbzEwMH1fYXV0b1NjYWxlQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkuYXV0b1Nlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0QXV0b1NjYWxlfV9yZWd1bGFyU2NhbGVBY3Rpb24oKXsKcmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkucmVndWxhclNlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0UmVndWxhcn1fbG9ja1NjYWxlQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCkubG9ja1Nlcmllc1NjYWxlLHQ9VHModGhpcy5wcmljZVNjYWxlKCksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW8oKSk7cmV0dXJuIGUudXBkYXRlKHtoaW50OnR9KSxlfV9pbnZlcnRBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbnZlcnRTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLmludmVydFNjYWxlfV9pc01haW5TZXJpZXNBeGlzKCl7cmV0dXJuIHRoaXMucHJpY2VTY2FsZSgpLmhhc01haW5TZXJpZXMoKX1fdXBkYXRlU2NhbGVzQWN0aW9ucygpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCksdD10aGlzLl9pc01haW5TZXJpZXNBeGlzKCksaT0oMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcm9wZXJ0aWVzKCkscz10JiZlLmlzTG9ja1NjYWxlKCksbj10JiY2PT09aS5zdHlsZS52YWx1ZSgpLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKTtyLnNldFJlZ3VsYXIudXBkYXRlKHtjaGVja2VkOmUuaXNSZWd1bGFyKCksZGlzYWJsZWQ6c3x8bn0pLHIuc2V0UGVyY2VudGFnZS51cGRhdGUoe2NoZWNrZWQ6ZS5pc1BlcmNlbnRhZ2UoKSxkaXNhYmxlZDpzfHxufSksci5zZXRJbmRleGVkVG8xMDAudXBkYXRlKHtjaGVja2VkOmUuaXNJbmRleGVkVG8xMDAoKSxkaXNhYmxlZDpzfHxufSksci5zZXRMb2cudXBkYXRlKHtjaGVja2VkOmUuaXNMb2coKSxkaXNhYmxlZDpzfHxufSksci5zZXRBdXRvU2NhbGUudXBkYXRlKHtjaGVja2VkOmUuaXNBdXRvU2NhbGUoKSxkaXNhYmxlZDplLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpfSl9X2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5wcmljZVNjYWxlU2xvdHNDb3VudCgpO2lmKHQubGVmdCt0LnJpZ2h0PT09MSlyZXR1cm4gMD09PXQubGVmdD9lLm1vdmVTY2FsZVRvTGVmdDplLm1vdmVTY2FsZVRvUmlnaHQ7Y29uc3QgaT1bXTtyZXR1cm4gaS5wdXNoKGUubWVyZ2VMZWZ0U2NhbGVzQWN0aW9uKSxpLnB1c2goZS5tZXJnZVJpZ2h0U2NhbGVzQWN0aW9uKSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlcyIsb3B0aW9uczp7bGFiZWw6dXMsc3ViSXRlbXM6aX19KX1fc2V0Q3Vyc29yKGUpe2xldCB0PSIiOyJncmFiYmluZyIhPT1lJiYibnMtcmVzaXplIiE9PWV8fCh0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1hc3luYyBfY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpe2NvbnN0e1ByaWNlU2NhbGVNb2RlQnV0dG9uc1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjI1MTApLGkuZSg0MTUwNiksaS5lKDMyMzg3KSxpLmUoNzEzNzUpXSkudGhlbihpLmJpbmQoaSw5MzE4NzApKTtpZih0aGlzLl9kZXN0cm95ZWQpdGhyb3coMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHQ9bmV3IGUoe2NsYXNzTmFtZToicHJpY2UtYXhpc19fbW9kZUJ1dHRvbnMiLHNldE1vZGU6ZT0+e3RoaXMuX3ByaWNlU2NhbGUmJigibG9nIj09PWU/dGhpcy5fY2hhcnQubW9kZWwoKS5zZXRQcmljZVNjYWxlTW9kZSh7bG9nOiF0aGlzLl9wcmljZVNjYWxlLmlzTG9nKCl9LHRoaXMuX3ByaWNlU2NhbGUsZHMpOnRoaXMuX2NoYXJ0Lm1vZGVsKCkuc2V0UHJpY2VTY2FsZU1vZGUoe2F1dG9TY2FsZTohdGhpcy5fcHJpY2VTY2FsZS5pc0F1dG9TY2FsZSgpfSx0aGlzLl9wcmljZVNjYWxlLGhzKSl9LGdldE1vZGU6KCk9PnRoaXMuX3ByaWNlU2NhbGU/Lm1vZGUoKX0pO3JldHVybiB0LmVsZW1lbnQoKS5zdHlsZS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZENvbG9yKCksdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0LmVsZW1lbnQoKSksdGhpcy5fcHJpY2VTY2FsZT8ubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0fV9kZXN0cm95U2NhbGVNb2RlQnV0dG9ucygpe3RoaXMuX3NjYWxlTW9kZUJ1dHRvbnMmJih0aGlzLl9pc0hvdmVyZWQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fc2VsZWN0ZWRWaWFUYXAudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3ByaWNlU2NhbGU/Lm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zLmRlc3Ryb3koKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwpfV9oaWdobGlnaHRDb2xvcigpe2NvbnN0IGU9dGhpcy5iYWNrZ3JvdW5kQ29sb3IoKSx0PXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCk7aWYobnVsbD09PXRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGV8fHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09ZXx8dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS50aGVtZSE9PXQpe2NvbnN0IGk9KDAsCiRpLmFwcGx5VHJhbnNwYXJlbmN5KShrLnRoZW1lc1t0aGlzLl9iYWNrZ3JvdW5kQmFzZWRUaGVtZS52YWx1ZSgpXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiKSw1MCkscz0oMCx5aS5yZ2JhVG9TdHJpbmcpKCgwLHlpLmJsZW5kUmdiYSkoKDAseWkucGFyc2VSZ2JhKSh0aGlzLmJhY2tncm91bmRDb2xvcigpKSwoMCx5aS5wYXJzZVJnYmEpKGkpKSk7dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZT17dGhlbWU6dCxiYWNrZ3JvdW5kQ29sb3I6ZSxyZXN1bHRDb2xvcjpzfX1yZXR1cm4gdGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS5yZXN1bHRDb2xvcn1fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKXsidmlzaWJsZU9uTW91c2VPdmVyIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSYmdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubGlnaHRVcGRhdGUoKX19dmFyIEVzPWkoOTI1OTg1KSxScz1pKDMyMzA3OSk7Y29uc3QgVnM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5DaGFydFVuZG9Nb2RlbCIpO3ZhciBCczshZnVuY3Rpb24oZSl7ZVtlLk1lcmdlVGltZW91dD0xZTNdPSJNZXJnZVRpbWVvdXQifShCc3x8KEJzPXt9KSk7Y29uc3QgTnM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2NhbGUgcHJpY2UiLHAudChudWxsLHZvaWQgMCxpKDI1Njk2OCkpKTtjbGFzcyBPcyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9ITApe3N1cGVyKE5zLCExLHIpLHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZT1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZUluZGV4PWUucGFuZXMoKS5pbmRleE9mKHQpLHRoaXMuX3ByaWNlU2NhbGVJZD1pLmlkKCksdGhpcy5fc3RhdGU9cyx0aGlzLl90aW1lc3RhbXA9bj9wZXJmb3JtYW5jZS5ub3coKTpudWxsfXVuZG8oKXtpZihudWxsIT09dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKXJldHVybiB2b2lkIFZzLmxvZ0RlYnVnKCJQcmljZVNjYWxlQ2hhbmdlVW5kb0NvbW1hbmQudW5kbzogQ29tbWFuZCBpcyBhbHJlYWR5IHVuZG9uZSIpO2NvbnN0W2UsdF09dGhpcy5fcGFuZUFuZFNjYWxlKCk7dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPXQuc3RhdGUoKSx0aGlzLl9tb2RlbC5yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCx0aGlzLl9zdGF0ZSl9cmVkbygpe2lmKG51bGw9PT10aGlzLl9uZXdQcmljZVNjYWxlU3RhdGUpcmV0dXJuIHZvaWQgVnMubG9nRGVidWcoIlByaWNlU2NhbGVDaGFuZ2VVbmRvQ29tbWFuZC5yZWRvOiBDb21tYW5kIGlzIG5vdCB1bmRvbmUiKTtjb25zdFtlLHRdPXRoaXMuX3BhbmVBbmRTY2FsZSgpO3RoaXMuX21vZGVsLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUoZSx0LHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSksdGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPW51bGx9Y2FuTWVyZ2UoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBPcyYmbnVsbCE9PXRoaXMuX3RpbWVzdGFtcCYmbnVsbCE9PWUuX3RpbWVzdGFtcCYmbnVsbD09PXRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSYmZS5fbW9kZWw9PT10aGlzLl9tb2RlbCYmZS5fcGFuZUluZGV4PT09dGhpcy5fcGFuZUluZGV4JiZlLl9wcmljZVNjYWxlSWQ9PT10aGlzLl9wcmljZVNjYWxlSWQmJk1hdGguYWJzKGUuX3RpbWVzdGFtcC10aGlzLl90aW1lc3RhbXApPDFlM31tZXJnZShlKXt0aGlzLl90aW1lc3RhbXA9ZS5fdGltZXN0YW1wfV9wYW5lQW5kU2NhbGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpKTtyZXR1cm5bZSx0XX19dmFyIFdzPWkoNDgzMDE2KSxGcz1pKDczNjI4KSxIcz1pKDU0MjM0OSksenM9aSgyOTE4NDMpLFVzPWkoMTc1ODE1KSxHcz1pKDQ5MDM5OSksanM9aSgxMTc4MjApLHFzPWkoODcwNTYyKTtjbGFzcyAkc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9wYW5lPW51bGwsdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuX3BhbmU/Lm1vZGVsKCkubGlnaHRVcGRhdGUoKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1lLHRoaXMuX3NpZGU9dCx0aGlzLl9jZWxsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwicHJpY2UtYXhpcy1jb250YWluZXIiKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPSIyNXB4Iix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGk9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2kuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnN0eWxlLnRvcD0iMHB4IixpLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHRoaXMuX2NlbGwsdGhpcyl9ZGVzdHJveSgpe3RoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1nZXRTY3JlZW5zaG90RGF0YShlKXtjb25zdCB0PSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksaT0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpCjtyZXR1cm4gMCE9PXRoaXMuX3NpemUud2lkdGgmJjAhPT10aGlzLl9zaXplLmhlaWdodCYmaS5kcmF3SW1hZ2UodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LDAsMCx0aGlzLl9zaXplLndpZHRoLHRoaXMuX3NpemUuaGVpZ2h0KSx7Y29udGVudDp0LnRvRGF0YVVSTCgpLGNhbnZhczp0LGNvbnRlbnRXaWR0aDp0aGlzLl9zaXplLndpZHRoLGNvbnRlbnRIZWlnaHQ6dGhpcy5fc2l6ZS5oZWlnaHR9fXNldFBhbmUoZSl7dGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31wYWludCgpe2lmKDA9PT10aGlzLl9zaXplLndpZHRofHwwPT09dGhpcy5fc2l6ZS5oZWlnaHQpcmV0dXJuOygwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyk7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIpKTtpZih0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdC5jbGVhclJlY3QoMCwwLHRoaXMuX3NpemUud2lkdGgsdGhpcy5fc2l6ZS5oZWlnaHQpLHRoaXMuX2RyYXdCYWNrZ3JvdW5kKHQsZSksdGhpcy5fZHJhd0JvcmRlcih0LGUpLCF0aGlzLl9wYW5lPy5jb2xsYXBzZWQoKS52YWx1ZSgpKXsodGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLmZvckVhY2goKGk9PnsoaS53aWRnZXRTaWRlQXJlYVZpZXdzPy4odGhpcy5fc2lkZSk/P1tdKS5mb3JFYWNoKChpPT5pLnJlbmRlcmVyKGUpPy5kcmF3KHQsZSkpKX0pKX19cmVzdG9yZURlZmF1bHRDdXJzb3IoKXt9c2V0U2l6ZXMoZSx0KXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDp0LnJlZHVjZSgoKGUsdCk9PmUrdCksMCksaGVpZ2h0OmV9KSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLmhlaWdodD10aGlzLl9zaXplLmhlaWdodCsicHgiLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudCh0aGlzLl9zaXplKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7fW9wdGltYWxXaWR0aHMoKXtyZXR1cm4odGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBpPSh0LndpZGdldFNpZGVBcmVhVmlld3M/Lih0aGlzLl9zaWRlKT8/W10pLnJlZHVjZSgoKGUsdCk9Pk1hdGgubWF4KGUsdC5vcHRpbWFsV2lkdGgoKSkpLDApO3JldHVybiBNYXRoLm1heChlLGkpfSksMCl9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJvY2Vzc1RvdWNoTW91c2VFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfW1vdXNlRW50ZXJFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfWxvbmdUYXBFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfV9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpe2lmKCF0aGlzLl9wYW5lKXJldHVybjtjb25zdCB0PSgwLFB0LnBvaW50KShlLmxvY2FsWCxlLmxvY2FsWSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZSh0aGlzLl9oaXRUZXN0U291cmNlcyh0KSl9X2hpdFRlc3RTb3VyY2VzKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZTtpZighdHx8dC5jb2xsYXBzZWQoKS52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dC5kYXRhU291cmNlcygpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBpPXQud2lkZ2V0U2lkZUFyZWFWaWV3cz8uKHRoaXMuX3NpZGUpO2lmKGkmJmkubGVuZ3RoKWZvcihjb25zdCBuIG9mIGkpe2NvbnN0IGk9bi5yZW5kZXJlcihzKTtpZighaSljb250aW51ZTtjb25zdCByPWkuaGl0VGVzdChlLHMpO2lmKHIpcmV0dXJue3NvdXJjZTp0LGhpdHRlc3Q6cixyZW5kZXJlcjppLGlzQ3VzdG9tOiExfX19cmV0dXJuIG51bGx9X3VwZGF0ZUhvdmVyZWRTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9wYW5lO2lmKCF0KXJldHVybjtjb25zdCBpPXQubW9kZWwoKSx7c291cmNlOnM9bnVsbCxoaXR0ZXN0Om49bnVsbH09ZXx8e307aS5zZXRIb3ZlcmVkU291cmNlKHMsbj8uZGF0YSgpfHxudWxsKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQscj10aGlzLl9wYW5lPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKT8/MCxvPXRoaXMuX3BhbmU/Lm1vZGVsKCkubWFpblBhbmUoKSxhPXI+KG8/dGhpcy5fcGFuZT8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2Yobyk/PzA6MCk/czppOygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxhKX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpO2UuZmlsbFN0eWxlPWkKO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnN9PXQsbj1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLmJvcmRlclNpemUqcykpLHI9ImxlZnQiPT09dGhpcy5fc2lkZT90LmJpdG1hcFNpemUud2lkdGgtbjowO2UuZmlsbFJlY3QociwwLG4sdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9fXZhciBZcz1pKDk3NjgxMyksS3M9aSgzNDQ3ODUpLFhzPWkoNTc3NzEzKSxacz1pKDgyODg1NyksSnM9aSg2MzQ0OTgpO2Z1bmN0aW9uIFFzKGUpe3JldHVybiJzdGFydE1vdmluZyJpbiBlJiYibW92ZSJpbiBlJiYiZW5kTW92aW5nImluIGUmJiJjb252ZXJ0WUNvb3JkaW5hdGVUb1ByaWNlRm9yTW92aW5nImluIGV9dmFyIGVuPWkoNjM2OTY2KSx0bj1pKDk2NjQwNCk7aSg0MDA0MCksaSgyNTkxMzIpO2NvbnN0IHNuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjcm9sbCIscC50KG51bGwsdm9pZCAwLGkoNjE0OTA2KSkpLG5uPXAudChudWxsLHZvaWQgMCxpKDg4Mjc2KSkscm49cC50KG51bGwsdm9pZCAwLGkoOTg3NCkpO2Z1bmN0aW9uIG9uKGUsdCxpKXtlLmRyYXdCYWNrZ3JvdW5kJiZlLmRyYXdCYWNrZ3JvdW5kKHQsaSl9ZnVuY3Rpb24gYW4oZSx0LGkpe2UuZHJhdyh0LGkpfWZ1bmN0aW9uIGxuKGUsdCl7cmV0dXJuIGUucGFuZVZpZXdzKHQpfWZ1bmN0aW9uIGNuKGUsdCl7cmV0dXJuIGUudG9wUGFuZVZpZXdzPy4odCk/P1tdfWZ1bmN0aW9uIGhuKGUsdCl7cmV0dXJuIGUubGFiZWxQYW5lVmlld3ModCl9ZnVuY3Rpb24gZG4oZSx0KXtjb25zdCBpPWUuc3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpO3JldHVybiBudWxsPT09aT9udWxsOltpXX1mdW5jdGlvbiB1bihlLHQpe3JldHVybiBudWxsPT09ZXx8ZS5zb3VyY2UhPT10P251bGw6ZS5oaXR0ZXN0LmRhdGEoKX1mdW5jdGlvbiBwbihlLHQsaSxzLG4pe2NvbnN0IHI9ZS5yZXN1bHQ/LmhpdHRlc3QudGFyZ2V0KCk/PzA7dC50YXJnZXQoKT5yJiYoZS5yZXN1bHQ9e2hpdHRlc3Q6dCxzb3VyY2U6aSxyZW5kZXJlcjpzLGlzQ3VzdG9tOm59KX1jb25zdCBfbj17Y29udGV4dE1lbnVFbmFibGVkOiEwLGNvbnRleHRNZW51OldzLmRlZmF1bHRDaGFydFdpZGdldEFjdGlvbnNPcHRpb25zLHByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQ6ITAsbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjb250cm9sc0VuYWJsZWQ6ITAscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITAsc291cmNlU2VsZWN0aW9uRW5hYmxlZDohMCxjb3VudGRvd25FbmFibGVkOiEwfSxtbj1uZXcgTWFwKFtbTWkuQXJlYU5hbWUuVGV4dCwiVGV4dCJdLFtNaS5BcmVhTmFtZS5TdHlsZSwiU3R5bGUiXV0pLGduPSEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIik7dmFyIGZuOyFmdW5jdGlvbihlKXtlW2UuTWluU2Nyb2xsU3BlZWQ9LjJdPSJNaW5TY3JvbGxTcGVlZCIsZVtlLk1heFNjcm9sbFNwZWVkPTddPSJNYXhTY3JvbGxTcGVlZCIsZVtlLkR1bXBpbmdDb2VmZj0uOTk3XT0iRHVtcGluZ0NvZWZmIixlW2UuU2Nyb2xsTWluTW92ZT0xNV09IlNjcm9sbE1pbk1vdmUiLGVbZS5TUGVuTWF4RGlzdGFuY2U9NV09IlNQZW5NYXhEaXN0YW5jZSIsZVtlLkNvbGxhcHNlZEhlaWdodD0zM109IkNvbGxhcHNlZEhlaWdodCJ9KGZufHwoZm49e30pKTtsZXQgU249bnVsbDtmdW5jdGlvbiB2bihlLHQpe3JldHVybiEoMCxNaS5zaG91bGREZWZhdWx0QWN0aW9uQmVFeGVjdXRlZCkoZSx0LCJwcmVzc2VkTW91c2VNb3ZlSGFuZGxlciIsInRvdWNoTW92ZUhhbmRsZXIiKX12YXIgeW47IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRG93bldpdGhvdXRNb3ZlPTFdPSJEb3duV2l0aG91dE1vdmUiLGVbZS5Eb3duV2l0aE1vdmU9Ml09IkRvd25XaXRoTW92ZSJ9KHlufHwoeW49e30pKTtjbGFzcyBibntjb25zdHJ1Y3RvcihlLHQsaSxzKXt0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCx0aGlzLl9pc0Rlc3Ryb3llZD0hMSx0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9KDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPW51bGwsdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz1udWxsLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydD0hMSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX3RoZW1lZFRvcENvbG9yPW51bGwsdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW51bGwsdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9lZGl0RGlhbG9nPW51bGwsdGhpcy5fcHJvY2Vzc2luZz0hMSx0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTAsdGhpcy5fdG91Y2hNb3ZlPSExLHRoaXMuX3N0YXJ0VG91Y2hQb2ludD1udWxsLHRoaXMuX2lzU2VsZWN0aW5nPSExLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX2NvbnRleHRNZW51WD0wLHRoaXMuX2NvbnRleHRNZW51WT0wLHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPW51bGwsdGhpcy5faXNTY3JvbGxpbmc9ITEsdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZT1udWxsLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCx0aGlzLl9wcmV2UGluY2hTY2FsZT0xLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3dhc1BpbmNoZWQ9ITEsdGhpcy5fbG9uZ1RhcD0hMSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCwKdGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW51bGwsdGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vblNoaWZ0S2V5U3RhdGVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT0iIix0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbCx0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXI9ITEsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbCx0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx0aGlzLl9lcnJvclJlbmRlcmVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRQcmljZUF4aXNlcz1uZXcgZC5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92aXN1YWxseUNvbGxhcHNlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX21heGltaXplZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj1udWxsLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgV2Vha1NldCx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsLHRoaXMuX2lnbm9yaW5nTW91c2VNb3ZlbWVudD0hMSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+dGhpcy5fc3RhdGUmJnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpLHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkPSgpPT57dGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQuc2V0VmFsdWUoIXRoaXMuc3RhdGUoKS5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl9LHRoaXMuX3VwZGF0ZU1heGltaXplZD0oKT0+e3RoaXMuX21heGltaXplZC5zZXRWYWx1ZSh0aGlzLnN0YXRlKCkubWF4aW1pemVkKCkudmFsdWUoKSl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fc3RhdGU9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF9uKSxpKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPXMsdGhpcy5fc3RhdGUmJnRoaXMuX3N1YnNjcmliZVRvU3RhdGUoKTtjb25zdCBuPXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsY291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsY3JvcHBlZFRpY2tNYXJrczp0aGlzLl9vcHRpb25zLmNyb3BwZWRUaWNrTWFya3N9O3ZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYobi5jb250ZXh0TWVudT10aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudSk7Y29uc3Qgcj0oZSx0LGkscyxyKT0+bmV3IERzKHRoaXMuX2NoYXJ0LHRoaXMsdGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxpLHQsZSxuLHMsciksbz1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGM9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCkscD17YmFja2dyb3VuZEJhc2VkVGhlbWU6ZS5iYWNrZ3JvdW5kQmFzZWRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksc3R1YkNvbnRleHRNZW51UHJvdmlkZXI6KCk9PlByb21pc2UucmVzb2x2ZShbXSksdGl0bGVzUHJvdmlkZXI6KCk9PltdLHJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmMsZ2V0QmFja2dyb3VuZFRvcENvbG9yOigpPT50aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLHJlcXVlc3RSZXBhaW50OigpPT50aGlzLl9jaGFydE1vZGVsKCkubGlnaHRVcGRhdGUoKX07dGhpcy5fcm93RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9yb3dFbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiO2NvbnN0IF89e3Nob3dMYWJlbHM6ITF9O3RoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyPXQubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP25ldyBqaShvLCJsZWZ0IixyLHAsXyk6bmV3ICRzKGMsImxlZnQiKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lcj10Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcj9uZXcgamkobywicmlnaHQiLHIscCxfKTpuZXcgJHMoYywicmlnaHQiKSx0aGlzLl9wYW5lQ2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9wYW5lQ2VsbC5jbGFzc0xpc3QuYWRkKCJjaGFydC1tYXJrdXAtdGFibGUiLCJwYW5lIiksdGhpcy5fcGFuZUNlbGwuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZSIpLHRoaXMuX2Rpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kaXYuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9kaXYuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZS13aWRnZXQtY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9wYW5lQ2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kaXYpLHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2RpdiwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpCjtjb25zdCBtPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDttLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PSIwIixtLnN0eWxlLnRvcD0iMCIsbS5kYXRhc2V0Lm5hbWU9InBhbmUtY2FudmFzIix0aGlzLl90b3BDYW52YXNCaW5kaW5nPSgwLEt0LmNyZWF0ZUJvdW5kQ2FudmFzKSh0aGlzLl9kaXYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBnPXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtnLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZy5zdHlsZS5sZWZ0PSIwIixnLnN0eWxlLnRvcD0iMCIsZy5kYXRhc2V0LnFhSWQ9InBhbmUtdG9wLWNhbnZhcyIsdGhpcy5fcm93RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGFuZUNlbGwpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSxtLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7Y29uc3QgZj10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpO2YuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIpLHRoaXMuX21haW5TZXJpZXNJbnRlcnZhbD1mLmludGVydmFsT2JqKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyKCksdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSx0aGlzLl9zdGF0ZSYmIXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJnRoaXMuX29wdGlvbnMuY29udHJvbHNFbmFibGVkJiZ0aGlzLl9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KHRoaXMuX3N0YXRlKSwoMCxacy5tYWduZXRFbmFibGVkKSgpLnN1YnNjcmliZSh0aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZExpc3RlbmVyKSwoMCxYdC5zaGlmdFByZXNzZWQpKCkuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZUNlbGwuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLChlPT57ZS5kYXRhVHJhbnNmZXImJkFycmF5LmZyb20oZS5kYXRhVHJhbnNmZXIuZmlsZXMpLnNvbWUoanMuYmxvYkltYWdlRmlsdGVyKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSkpLHRoaXMuX3BhbmVDZWxsLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLChlPT57aWYod2luZG93LnVzZXIuaWQmJmUuZGF0YVRyYW5zZmVyJiZ0aGlzLl9zdGF0ZSl7Y29uc3QgdD1BcnJheS5mcm9tKGUuZGF0YVRyYW5zZmVyLmZpbGVzKS5maW5kKGpzLmJsb2JJbWFnZUZpbHRlcik7aWYodCl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9KDAsanMudXBsb2FkSW1hZ2UpKHQpLHM9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KSxuPWFzeW5jKCk9Pnthd2FpdCgwLGtpLmVuc3VyZUxpbmVUb29sTG9hZGVkKSgiTGluZVRvb2xJbWFnZSIpLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkucGFzdGVJbWFnZUFzTGluZVRvb2woaSxzLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpKX07aS5jYXRjaCgoZT0+eygwLG5lLnNob3dDaGFydFdhcm5pbmdOb3RpZmljYXRpb24pKCJjb3B5Iix7dGl0bGU6cm4sdGV4dDplLm1lc3NhZ2V9KX0pKSxuKCl9fX0pKSx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LHRoaXMse3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWcsc2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExfSksdGhpcy5fcGFuZUNlbGxNb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fcGFuZUNlbGwse2RvdWJsZVRhcEV2ZW50OnRoaXMuX3BhbmVEYmxDbGlja09yVGFwRXZlbnQuYmluZCh0aGlzKSxtb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fcGFuZURibENsaWNrT3JUYXBFdmVudC5iaW5kKHRoaXMpfSx7c2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExLHRyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbCx0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuX2hpZ2hsaWdodFByaWNlQXhpc2VzQnlMYWJlbChlLm1hcCgoZT0+ZS5heGlzKSkpfSkpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTAsdGhpcy5faXNEZXN0cm95ZWQ9ITE7Y29uc3QgUz0oMCx1LmNvbWJpbmUpKChlPT57Y29uc3QgdD10aGlzLl9jaGFydC5wYW5lV2lkZ2V0U2VwYXJhdG9ycyh0aGlzKQo7cmV0dXJuW3Quc2VwYXJhdG9yQWJvdmU/LnNlbGVjdGVkKCk/LndlYWtSZWZlcmVuY2UoKT8/bmV3IGguV2F0Y2hlZFZhbHVlKCExKS5vd25lcnNoaXAoKSx0LnNlcGFyYXRvckJlbG93Py5zZWxlY3RlZCgpPy53ZWFrUmVmZXJlbmNlKCk/P25ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCldfSksdGhpcy5fY2hhcnQucGFuZVdpZGdldHNXVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQ9KDAsdS5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKEJvb2xlYW4pKSxTLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fY2hhcnQub25QYW5lV2lkZ2V0RGVzdHJveWVkKHRoaXMpO3RoaXMuX2NoYXJ0TW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuY2xlYXIoKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLHRoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9sc1Jlc2l6ZU9ic2VydmVyJiZ0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmKHRoaXMuX3BhbmVDb250cm9scy5kZXN0cm95KCksdGhpcy5fcGFuZUNvbnRyb2xzPW51bGwpLHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5kZXN0cm95KCksdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLl91bnN1YnNjcmliZUZyb21TdGF0ZSgpLCgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudW5zdWJzY3JpYmUodGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lciksKDAsWHQuc2hpZnRQcmVzc2VkKSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5vblBhbmVEZXN0cm95ZWQodGhpcyksdGhpcy5fZXJyb3JSZW5kZXJlciYmdGhpcy5fZXJyb3JSZW5kZXJlci50aGVuKChlPT57ZS5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlcj1udWxsfSkpLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYW5lQ2VsbE1vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9yb3dFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnJlbW92ZUNoaWxkKHRoaXMuX3Jvd0VsZW1lbnQpLHRoaXMuX2FueVNlcGFyYXRvclNlbGVjdGVkLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuZGVzdHJveSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXVwZGF0ZU9wdGlvbnMoZSl7aWYoKDAsYS5tZXJnZSkodGhpcy5fb3B0aW9ucyxlKSwhMT09PWUubGVnZW5kV2lkZ2V0RW5hYmxlZCYmdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksZS5sZWdlbmRXaWRnZXRFbmFibGVkJiYhdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSwhdGhpcy5fc3RhdGUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3RhdGUubW9kZSgpLGk9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCk7aWYodD09PU0uUGFuZU1vZGUuUmVndWxhciYmISh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mIGppKSl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKTtjb25zdCBlPXtzaG93TGFiZWxzOiExfSx0PXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLGNvdW50ZG93bkVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jb3VudGRvd25FbmFibGVkLGNyb3BwZWRUaWNrTWFya3M6dGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzfSxzPShlLGkscyxuLHIpPT5uZXcgRHModGhpcy5fY2hhcnQsdGhpcyx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHMsaSxlLHQsbixyKSxuPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHI9KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG89KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLGE9e2JhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2NoYXJ0LmJhY2tncm91bmRCYXNlZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjooKT0+UHJvbWlzZS5yZXNvbHZlKFtdKSx0aXRsZXNQcm92aWRlcjooKT0+W10sCnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmksZ2V0QmFja2dyb3VuZFRvcENvbG9yOm8sZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yOnIscmVxdWVzdFJlcGFpbnQ6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpfTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgamkobiwibGVmdCIscyxhLGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyBqaShuLCJyaWdodCIscyxhLGUpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSl9dCE9PU0uUGFuZU1vZGUuV2lkZ2V0fHx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mICRzfHwodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgJHMoaSwibGVmdCIpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyAkcyhpLCJyaWdodCIpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSkpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1zZXRTaXplKGUpeygwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuX3NpemUsZSl8fCh0aGlzLl9zaXplPWUsdGhpcy5fY2FudmFzQmluZGluZy5yZXNpemVDYW52YXNFbGVtZW50KGUpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9wYW5lQ2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fcGFuZUNlbGwuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fZGl2LnN0eWxlLndpZHRoPWUud2lkdGgrInB4Iix0aGlzLl9kaXYuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fcm93RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLDA9PT1lLmhlaWdodCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZVdpZGdldE1vZGVCeVNpemUoZSksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUud2lkdGgpKX13aWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9zaXplLmhlaWdodH1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fY2hhcnRNb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9aGlnaGxpZ2h0ZWRQcmljZUF4aXNlcygpe3JldHVybiB0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzfXByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKGUsdCxpKXtpZigoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlKSl7Y29uc3QgdD1lLnRleHRFZGl0aW5nQWN0aXZhdGlvblRpbWUoKTtudWxsIT09dCYmcGVyZm9ybWFuY2Uubm93KCktdDw1MDAmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCl9aWYoKDAscWkuaXNBbGVydExhYmVsKShlKSl7Y29uc3QgdD1lLmFsZXJ0KCkscz10LmlkKCkudmFsdWUoKTtpZih0LmlzTmV3KCkudmFsdWUoKSlyZXR1cm47KDAsVXMuZ2V0Q2hhcnRBbGVydHNGYWNhZGUpKCkudGhlbigoZT0+eygwLE10LnRyYWNrRXZlbnQpKCJjaGFydF9hbGVydCIsImVkaXQiLGBkb3VibGVfY2xpY2tfb25fJHtpPy5vcmlnaW4/PyJsaW5lIn1gKSxlLm9wZW5FZGl0RGlhbG9nKHMse2FjdGlvblNvdXJjZToiYWxlcnRfbGFiZWxfZG91YmxlX2NsaWNrIixkYXRhU291cmNlSHViOnRoaXMuX2NoYXJ0TW9kZWwoKSxtZXRob2Q6ImFsZXJ0X2xhYmVsX2RvdWJsZV9jbGljayIsc291cmNlOiJjaGFydCJ9KX0pKX1lbHNlKDAsQWkuaXNEYXRhU291cmNlKShlKSYmZS5pZCgpIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkJiZ0aGlzLl9zaG93RWRpdERpYWxvZ0ZvclNvdXJjZShlLHQpfXN0cmV0Y2hGYWN0b3IoKXtyZXR1cm4gdGhpcy5fc3RhdGU/dGhpcy5fc3RhdGUuc3RyZXRjaEZhY3RvcigpOjB9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5zZXRTdHJldGNoRmFjdG9yKGUpfXNldEN1cnNvckZvclRvb2woZSx0LGkpe2lmKHQmJnQubW9kKCkmJmUmJmUhPT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7aWYodm9pZCAwIT09aSl7c3dpdGNoKGkpe2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVmVydGljYWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJucy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkhvcml6b250YWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJldy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkRpYWdvbmFsTmVTd1Jlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5lc3ctcmVzaXplIik7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoImRlZmF1bHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLlBvaW50ZXI6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7YnJlYWsKO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuR3JhYmJpbmc6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVGV4dDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoInRleHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLk5vbmU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJub25lIil9cmV0dXJufWNvbnN0IHM9VC50b29sLnZhbHVlKCk7aWYoKDAsVC50b29sSXNDdXJzb3IpKHMpKXtpZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpfHx0aGlzLl9pc1Njcm9sbGluZ3x8dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZ3JhYmJpbmciKTtpZihlJiZ0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIil9bGV0IG49IiI7c3dpdGNoKHMpe2Nhc2UiZXJhc2VyIjpuPSJlcmFzZXIiO2JyZWFrO2Nhc2Uiem9vbSI6bj0iem9vbS1pbiJ9aWYoIW4pc3dpdGNoKFQuY3Vyc29yVG9vbC52YWx1ZSgpKXtjYXNlImFycm93IjpuPSJkZWZhdWx0IjticmVhaztjYXNlImRvdCI6bj0iZG90IjticmVhaztjYXNlImRlbW9uc3RyYXRpb24iOm49ImRlbW9uc3RyYXRpb24iO2JyZWFrO2Nhc2UicGVyZm9ybWFuY2UiOm49InBlcmZvcm1hbmNlIn10aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUobil9c2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IG49cy5kYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5oYXNDb250ZXh0TWVudSgpKSk7dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKG4sZSx2b2lkIDAsdCxpKX1hc3luYyBzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKGUsdCxpLHMsbil7aWYoIWUubGVuZ3RofHwhdGhpcy5fc3RhdGUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtBY3Rpb25zUHJvdmlkZXI6cn09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3Qgbz1lWzBdLGw9KDAsYS5tZXJnZSkoKDAsYS5jbG9uZSkodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSksaXx8e30pLGM9bmV3IHIodGhpcy5fY2hhcnQsbCk7aWYobz09PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIG8uaGFuZGxlQ29udGV4dE1lbnVFdmVudCh0KSxQcm9taXNlLnJlc29sdmUobnVsbCk7e2NvbnN0IGk9YXdhaXQgYy5jb250ZXh0TWVudUFjdGlvbnNGb3JTb3VyY2VzKGUsdGhpcy5fc3RhdGUsdCxzPy5vcmlnaW4sbj8uZGF0YSgpPy5jdXN0b21BY3Rpb25zKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTt7bGV0IGU9e21lbnVOYW1lOiIifTtyZXR1cm4gbyBpbnN0YW5jZW9mIGVuLlNlcmllcz9lPXttZW51TmFtZTpzPy5vcmlnaW4/PyJPYmplY3RUcmVlQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZToic2VyaWVzIixpZDpvLmluc3RhbmNlSWQoKX19OigwLHJpLmlzTGluZVRvb2wpKG8pP2U9e21lbnVOYW1lOnM/Lm9yaWdpbj8/Ik9iamVjdFRyZWVDb250ZXh0TWVudSIsZGV0YWlsOnt0eXBlOiJzaGFwZSIsaWQ6bz8uaWQoKT8/bnVsbH19OigwLHRpLmlzU3R1ZHkpKG8pJiYoZT17bWVudU5hbWU6cz8ub3JpZ2luPz8iT2JqZWN0VHJlZUNvbnRleHRNZW51IixkZXRhaWw6e3R5cGU6InN0dWR5IixpZDpvPy5pZCgpfHxudWxsfX0pLE5pLkNvbnRleHRNZW51TWFuYWdlci5jcmVhdGVNZW51KGkse3Rha2VGb2N1czohMCxyZXR1cm5Gb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6bC5pc0tleWJvYXJkRXZlbnQsc3RhdE5hbWU6by5jb250ZXh0TWVudVN0YXROYW1lKCl9LGUscz8ub25DbG9zZSkudGhlbigoZT0+KGUuc2hvdyh0KSxlKSkpfX19bGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCl7cmV0dXJuIHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyfXJpZ2h0UHJpY2VBeGlzZXNDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9c2V0UHJpY2VBeGlzU2l6ZXMoZSx0LGkpe3RoaXMuX3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpLnNldFNpemVzKHQsaSl9c3RhdGUoKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKX1oYXNTdGF0ZSgpe3JldHVybiBudWxsIT09dGhpcy5fc3RhdGV9c2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUhPT1lJiYodGhpcy5oYXNTdGF0ZSgpJiYodGhpcy5fdW5zdWJzY3JpYmVGcm9tU3RhdGUoKSx0aGlzLl9wYW5lQ29udHJvbHM/LmRlc3Ryb3koKSx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCksdGhpcy5fc3RhdGU9ZSx0aGlzLmhhc1N0YXRlKCkmJih0aGlzLnVwZGF0ZU9wdGlvbnModGhpcy5fb3B0aW9ucyksdGhpcy5fc3Vic2NyaWJlVG9TdGF0ZSgpLHRoaXMuX2xvYWRBbmRDcmVhdGVQYW5lQ29udHJvbHNXaWRnZXQodGhpcy5zdGF0ZSgpKSx0aGlzLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKSx0aGlzLl91cGRhdGVBY2Nlc3NpYmlsaXR5QXR0cigpKSl9Z2V0U2NyZWVuc2hvdERhdGEoZSl7Y29uc3QgdD1bXSxpPVtdO2xldCBzLG49W107Y29uc3Qgcj10aGlzLnN0YXRlKCksbz1yLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P1tdOnIuc291cmNlc0J5R3JvdXAoKS5wcmljZVNvdXJjZXMoKS5zbGljZSgpLnJldmVyc2UoKSxhPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO2Zvcihjb25zdCBsIG9mIG8pe2NvbnN0IG89bC5zdGF0dXNWaWV3KCk7aWYoKDAsCnRpLmlzU3R1ZHkpKGwpJiYoYS5zaG93TGVnZW5kLnZhbHVlKCl8fGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSl7Y29uc3Qgcz1hLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLG49ITA7aWYobC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkucGFuZUZvclNvdXJjZShsKT09PXImJm8mJm4pe3QucHVzaChzP2wuc3RhdHVzUHJvdmlkZXIoZT8uc3RhdHVzKS50ZXh0KCk6IiIpO2NvbnN0IG49KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIik/dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8ubGFzdEJhcigpPz9udWxsOm51bGwscj1sLmxlZ2VuZFZhbHVlc1Byb3ZpZGVyKCkuZ2V0VmFsdWVzKG4pO2kucHVzaChyKX19ZWxzZSBpZihsPT09dGhpcy5fY2hhcnRNb2RlbCgpLm1haW5TZXJpZXMoKSYmbyYmYS5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSl7Y29uc3QgdD1sLnN0YXR1c1Byb3ZpZGVyKGU/LnN0YXR1c3x8e30pLmdldFNwbGl0VGl0bGUoKTtzPU9iamVjdC52YWx1ZXModCkuZmlsdGVyKChlPT4iIiE9PWUpKS5qb2luKCIgwrcgIik7Y29uc3QgaT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKT90aGlzLl9jaGFydE1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P251bGw6bnVsbDtuPWwubGVnZW5kVmFsdWVzUHJvdmlkZXIoKS5nZXRWYWx1ZXMoaSl9fXJldHVybnt0eXBlOiJwYW5lIixsZWZ0QXhpczp0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJpZ2h0QXhpczp0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLGNvbnRlbnQ6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnRvRGF0YVVSTCgpLGNhbnZhczp0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsY29udGVudFdpZHRoOnRoaXMuX3NpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzdHVkaWVzOnQsc3R1ZGllc1ZhbHVlczppLGNvbnRhaW5zTWFpblNlcmllczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpLG1haW5TZXJpZXNUZXh0OnMsbWFpblNlcmllc1ZhbHVlczpufX11cGRhdGVQcmljZUF4aXNXaWRnZXRzU3RhdGVzKCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCksdD1lLnBhbmVGb3JTb3VyY2UoZS5tYWluU2VyaWVzKCkpO2lmKHQpaWYodGhpcy5fc3RhdGU/Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcil7Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCkscz10aGlzLnN0YXRlKCksbj1zLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxyPXMudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRTY2FsZXMobixpLmxlZnQsdC5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsaS5sZWZ0K2kucmlnaHQpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFNjYWxlcyhyLGkucmlnaHQsdC5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KX1lbHNlIHRoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpKX11cGRhdGVQcmljZUF4aXNXaWRnZXRzKCl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCl9dXBkYXRlKCl7dGhpcy5oYXNTdGF0ZSgpJiYodGhpcy51cGRhdGVQcmljZUF4aXNXaWRnZXRzKCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpLHRoaXMudXBkYXRlQ29udHJvbHMoKSl9dXBkYXRlU3RhdHVzV2lkZ2V0KGUpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmKGUubGVnZW5kV2lkZ2V0TGF5b3V0SW52YWxpZGF0ZWQoKT90aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlTGF5b3V0KCk6dGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpKX11cGRhdGVDb250cm9scygpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZSgpfXVwZGF0ZVRoZW1lZENvbG9ycyhlKXt0aGlzLl90aGVtZWRUb3BDb2xvcj1lLnRvcENvbG9yLHRoaXMuX3VwZGF0ZUJ5VGhlbWVkQ29sb3JzKCl9c3RhdHVzV2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFdpZGdldH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3Jvd0VsZW1lbnR9Y2FudmFzRWxlbWVudCgpe3JldHVybiB0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnR9Z2V0UmVuZGVyaW5nSW5mbygpe3JldHVybigwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKX1oYXNDYW52YXMoZSl7cmV0dXJuIHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV8fHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV9cGluY2hTdGFydEV2ZW50KCl7cmV0dXJuIG51bGw9PT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKSYmbnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUucGluY2hpbmdQYW5lKCkmJih0aGlzLl9vblRvdWNoRXZlbnQoKSwhIXRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUucGluY2gmJih0aGlzLl9jaGFydE1vZGVsKCkuc3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTEsdGhpcy5fcGluY2hpbmc9ITAsdGhpcy5fd2FzUGluY2hlZD0hMCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFBpbmNoaW5nUGFuZSh0aGlzKSwhMCkpfQpwaW5jaEV2ZW50KGUsdCxpLHMpe2lmKG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKXx8dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5waW5jaGluZ1BhbmUoKSE9PXRoaXMpcmV0dXJuO2lmKHRoaXMuX29uVG91Y2hFdmVudCgpLCF0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBuPTEwKihzLXRoaXMuX3ByZXZQaW5jaFNjYWxlKTt0aGlzLl9wcmV2UGluY2hTY2FsZT1zLHRoaXMuX2NoYXJ0TW9kZWwoKS56b29tVGltZShlLngsbiwhMCksdGhpcy5fcHJldlBpbmNoU2NhbGU9c31waW5jaEVuZEV2ZW50KCl7bnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2Nyb2xsaW5nUGFuZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpPT09dGhpcyYmKHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2V0UGluY2hpbmdQYW5lKG51bGwpKX1tb3VzZUNsaWNrRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VDbGlja09yVGFwRXZlbnQoZSl9dGFwRXZlbnQoZSl7dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLmhhc1N0YXRlKCkmJnRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUsdGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKX10b3VjaFN0YXJ0RXZlbnQoZSl7aWYodGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zdGFydFRvdWNoKHRoaXMpLHRoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbCE9PVNuJiZTbi5zdGF0ZUlkPT09dGhpcy5zdGF0ZSgpLmlkKCkmJk1hdGguYWJzKFNuLngtZS5sb2NhbFgpK01hdGguYWJzKFNuLnktZS5sb2NhbFkpPDU7dGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlUGFuZVdpZGdldCh0aGlzKTtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtudWxsIT09aSYmaS5zb3VyY2U9PT10fHx0LnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKTohdGhpcy5fY2hhcnQucmVhZE9ubHkoKSYmbnVsbCE9PWkmJigoMCxyaS5pc0xpbmVUb29sKShpLnNvdXJjZSkmJmkuc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpfHwoMCxxaS5pc0FsZXJ0TGFiZWwpKGkuc291cmNlKSkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBzPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmkuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O3Quc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKHMpJiYodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKGkuc291cmNlLGkuaGl0dGVzdC5kYXRhKCkpKX0pKX10aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLGkpLHRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZVVwRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuZW5kVG91Y2godGhpcyksdGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXByZXNzZWRNb3VzZU1vdmVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jaGFydC5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKT9udWxsIT09dGhpcy5fY2hhcnQuYWN0aXZlUGFuZVdpZGdldCgpLnZhbHVlKCkmJnRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKTp0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXRvdWNoTW92ZUV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShudWxsLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX13aGVlbENsaWNrRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbD09PXR8fHQuaXNDdXN0b20pcmV0dXJuO2lmKCh0LmhpdHRlc3QudGFyZ2V0KCl8fDApPD1NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZClyZXR1cm47Y29uc3QgaT1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSxzPXQuaGl0dGVzdC5lcmFzZU1hcmtlcigpCjtpZihpLm1vZCgpJiZ2b2lkIDAhPT1zJiZ0LnNvdXJjZS5wcm9jZXNzRXJhc2UpcmV0dXJuIHZvaWQgdC5zb3VyY2UucHJvY2Vzc0VyYXNlKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscyk7Y29uc3Qgbj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO24uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSl8fG4uc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKTtlLmFkZEl0ZW1Ub1NlbGVjdGlvbihpLHVuKHQsaSkpfSkpLHRoaXMuX2NoYXJ0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWRvdWJsZVRhcEV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKSl9bG9uZ1RhcEV2ZW50KGUpe2lmKG51bGw9PT10aGlzLl9zdGF0ZXx8dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKSlyZXR1cm47aWYodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fbG9uZ1RhcD0hMCxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fHwhdGhpcy5fdHJhY2tpbmdNb2RlU2hvdWxkQmVBY3RpdmUoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkuc2VsZWN0aW9uKCk7aWYoIXQuaXNFbXB0eSgpKXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09aSYmdC5pc1NlbGVjdGVkKGkuc291cmNlKSlyZXR1cm59dGhpcy5zdGFydFRyYWNraW5nTW9kZShuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkpfW1vdXNlRW50ZXJFdmVudChlKXtpZih0aGlzLl9vbk1vdXNlRXZlbnQoKSwhdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9jaGFydC5zZXRBY3RpdmVQYW5lV2lkZ2V0KHRoaXMpO2NvbnN0IHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3RoaXMuX3VwZGF0ZUhvdmVyZWRTb3VyY2UodCxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSksdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9Y29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jb250ZXh0TWVudUV2ZW50KGUpfXRvdWNoQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpfHwodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY29udGV4dE1lbnVFdmVudChlKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX1jYW5jZWxab29tKCl7dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmNsZWFyU2VsZWN0aW9uKCksdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9c3RhcnRUcmFja2luZ01vZGUoZSx0LGkpe3RoaXMuc3RhdGUoKS5tb2RlKCkhPT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXM9bnVsbCx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCx0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD1udWxsLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1lLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5zZXRDdXJzb3JQb3NpdGlvbih0LngsdC55LGkpLHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY3VycmVudFBvaW50KCkpfXNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCl7dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpfWNsb25lTGluZVRvb2xzKGUsdCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY2xvbmVMaW5lVG9vbHMoZSx0KX1leGl0VHJhY2tpbmdNb2RlKCl7bnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiYodGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT0hMCx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCkpfXRyYWNraW5nTW9kZUVuYWJsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7dGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuc2V0KGUsdCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCkpfWNvbnRhaW5zTWFpblNlcmllcygpe3JldHVybiEhdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCl9cGFpbnQoZSx0KXtpZighdGhpcy5fY2hhcnRVbmRvTW9kZWwoKXx8IXRoaXMuaGFzU3RhdGUoKXx8MD09PXRoaXMuX3NpemUud2lkdGh8fDA9PT10aGlzLl9zaXplLmhlaWdodClyZXR1cm47KDAsS3QudHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplKSh0aGlzLl9jYW52YXNCaW5kaW5nKSwoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcpLAp0aGlzLl9zdGF0ZSYmKGUucHJpY2VTY2FsZVNpZGVNYXhMZXZlbCgibGVmdCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcnx8ZS5wcmljZVNjYWxlU2lkZU1heExldmVsKCJyaWdodCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcikmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlU2NhbGVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKHRoaXMuc3RhdGUoKSkpLG51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihTbi54LFNuLnksU24uZW52U3RhdGUpOnRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlP3RoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbD09PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCYmIXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKFNuLngsU24ueSxTbi5lbnZTdGF0ZSk6U249bnVsbCkpO2NvbnN0IGk9ZS5mdWxsSW52YWxpZGF0aW9uKCk7aWYoaT5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3ImJm51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KFNuLngsU24ueSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShlLCgwLFh0Lmdsb2JhbEVudmlyb25tZW50U3RhdGUpKCkpfWlmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnBhaW50KGUuZ2V0dGVyRm9yUHJpY2VTY2FsZUludmFsaWRhdGlvbkxldmVsQnlTaWRlKCJsZWZ0IiksdCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIucGFpbnQoZS5nZXR0ZXJGb3JQcmljZVNjYWxlSW52YWxpZGF0aW9uTGV2ZWxCeVNpZGUoInJpZ2h0IiksdCksaT09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fc3RhdGUmJih0aGlzLl9zdGF0ZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fc3RhdGUuY29sbGFwc2VkKCkudmFsdWUoKXx8dGhpcy5fc3RhdGUubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpO2lmKGk+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTt0aGlzLl9tYWtlU3VyZUlzVXBkYXRlZCh0KSx0aGlzLl9kcmF3QmFja2dyb3VuZChlLHQpLHMmJnRoaXMuX2RyYXdTb3VyY2VzKGUsdCl9aWYobnVsbCE9PXRoaXMuX3N0YXRlKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKTtlLmNsZWFyUmVjdCgwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLHMmJnRoaXMuX2RyYXdUb3BWaWV3cyhlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXIoZSx0KSxzJiZ0aGlzLl9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl9dGhpcy5fdXBkYXRlRW5kT2ZTZXJpZXNCYW5uZXIoKX1jYW5jZWxDcmVhdGluZ0xpbmVUb29sKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCk7aWYodClpZih0LnBvaW50c0NvdW50KCk8PTAmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHQudG9vbG5hbWUpKXtjb25zdCBpPXQucG9pbnRzKCk7aWYoaS5sZW5ndGg+Mil7Y29uc3Qgcz1pW2kubGVuZ3RoLTJdO2UuY29udGludWVDcmVhdGluZ0xpbmUocyksdGhpcy5fZmluaXNoVG9vbCh0KX1lbHNlIGUuY2FuY2VsQ3JlYXRpbmdMaW5lKCl9ZWxzZSBlLmNhbmNlbENyZWF0aW5nTGluZSgpO251bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5jYW5jZWxab29tKCksdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIGRyYXdSaWdodFRoZXJlKGUsdCl7dGhpcy5oYXNTdGF0ZSgpJiYoYXdhaXQoMCxraS5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5kcmF3UmlnaHRUaGVyZShlLHRoaXMuc3RhdGUoKSx2b2lkIDAsdCkpfWNhbmNlbE1lYXN1cmluZygpe3RoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIHNldEVycm9yTWVzc2FnZShlKXtpZighZSYmIXRoaXMuX2Vycm9yUmVuZGVyZXIpcmV0dXJuO2lmKCF0aGlzLl9lcnJvclJlbmRlcmVyKXt0aGlzLl9lcnJvclJlbmRlcmVyPXRoaXMuX2NyZWF0ZUVycm9yQmxvY2soKTtjb25zdCBlPWF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXI7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuO3RoaXMuX2Rpdi5pbnNlcnRCZWZvcmUoZS5jb250YWluZXIsdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50Lm5leHRTaWJsaW5nKX1sZXQgdDtpZihlKXtjb25zdCBpPXRoaXMuX3N0YXRlPy5jb250YWluc01haW5TZXJpZXMoKXx8dGhpcy5fc3RhdGU/Lm1heGltaXplZCgpLnZhbHVlKCk7dD17bWVzc2FnZTppP2UubWVzc2FnZTp2b2lkIDAsdGl0bGU6ZS50aXRsZSxpY29uOmk/ZS5pY29uOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6YGxpbmVhci1ncmFkaWVudCgke3RoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpfSwgJHt0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKX0pYCx0aGVtZTp0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRoZW1lKCkudmFsdWUoKSwKYnV0dG9uczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpP2UuYnV0dG9uczp2b2lkIDAsbWFpblBhbmU6aX19KGF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXIpLnVwZGF0ZSh0KX1jb2xsYXBzZWRIZWlnaHQoKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5jZWlsKHRoaXMuX3BhbmVDb250cm9scz8uYm90dG9tV2l0aE1hcmdpbigpPz8wKSwzMyl9dmlzdWFsbHlDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQucmVhZG9ubHkoKX1tYXhpbWl6ZWQoKXtyZXR1cm4gdGhpcy5fbWF4aW1pemVkLnJlYWRvbmx5KCl9c2V0Q3Vyc29yUG9zaXRpb24oZSx0LGkpe3RoaXMuX3VwZGF0ZUxhc3RDcm9zc2hhaXJQb3NpdGlvbihlLHQsaSksdGhpcy5fY2hhcnRNb2RlbCgpLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24odGhpcy5fY29ycmVjdFhDb29yZChlKSx0aGlzLl9jb3JyZWN0WUNvb3JkKHQpLHRoaXMuc3RhdGUoKSxpKX1kYXRhU291cmNlQXRQb2ludChlLHQpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQXRQb2ludChlLHQpPy5zb3VyY2U/P251bGx9X3RyeUV4aXRUcmFja2luZ01vZGUoZSl7dGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeSYmKHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLGV8fHRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKSl9X3RyeVN0YXJ0TWVhc3VyZShlLHQsaSxzLG4pe3JldHVybiEoISgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHx0LnN0YXJ0TWVhc3VyZVBvaW50KCkpJiYoZS5pc1RvdWNofHx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLGkpLHM9dGhpcy5fY2hhcnRNb2RlbCgpLm1hZ25ldCgpLmFsaWduKHMsbix0aGlzLnN0YXRlKCkpLHQuc3RhcnRNZWFzdXJpbmcoe3ByaWNlOnMsaW5kZXg6bn0sdGhpcy5zdGF0ZSgpKSwhMCl9X3RyeUZpbmlzaE1lYXN1cmUoZSx0KXtpZih0LnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0LmVuZE1lYXN1cmVQb2ludCgpKXtsZXQgaT10LnByaWNlO2NvbnN0IHM9dC5pbmRleDtyZXR1cm4gaT10aGlzLl9jaGFydE1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaSxzLHRoaXMuc3RhdGUoKSksdC5maW5pc2hNZWFzdXJlKHtwcmljZTppLGluZGV4OnN9KSxlLmlzVG91Y2g/KDAsVC5yZXNldFRvQ3Vyc29yKSgpOnRoaXMuX25lZWRSZXNldE1lYXN1cmVMYXRlcj0hMCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCksITB9cmV0dXJuITF9X3RyeVN0YXJ0Wm9vbShlLHQsaSxzKXtjb25zdCBuPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS56b29tRW5hYmxlZCgpO2lmKCJ6b29tIj09PVQudG9vbC52YWx1ZSgpJiZuKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj1uLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkpLS41Km4udGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3JldHVybiB0aGlzLl9maXJzdFpvb21Qb2ludD17cHJpY2U6dCxpbmRleDppLHg6cix5OmUubG9jYWxZfSx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLHMpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5zdGFydFNlbGVjdGlvbih0aGlzLnN0YXRlKCkpLCEwfXJldHVybiExfV9maW5pc2hab29tKGUpe2NvbnN0IHQ9dGhpcy5zdGF0ZSgpLGk9dC5kZWZhdWx0UHJpY2VTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLmZpcnN0VmFsdWUoKSxuPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShzKSkscj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89TWF0aC5yb3VuZChyLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSksYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0Wm9vbVBvaW50KTtvIT09YS5pbmRleCYmci56b29tVG9WaWV3cG9ydChhLmluZGV4LG8sYS5wcmljZSxuLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2ZpcnN0Wm9vbVBvaW50PW51bGwsKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCkmJnRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKX1fdHJ5RmluaXNoWm9vbShlKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50JiYodGhpcy5fZmluaXNoWm9vbShlKSwhMCl9X3RyeUhhbmRsZUVyYXNlck1vdXNlRG93bihlLHQpe2lmKCgwLFQudG9vbElzRXJhc2VyKShULnRvb2wudmFsdWUoKSkmJiFlLmlzQ3VzdG9tJiYoIShpPWUuc291cmNlKXx8IWkuY3VzdG9taXphdGlvbnx8IWkuY3VzdG9taXphdGlvbi5kaXNhYmxlRXJhc2luZykpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZigoMCxyaS5pc0xpbmVUb29sKShlLnNvdXJjZSl8fCgwLHRpLmlzU3R1ZHkpKGUuc291cmNlKSl7Y29uc3Qgcz1lLmhpdHRlc3QuZXJhc2VNYXJrZXIoKTtyZXR1cm4gdC5tb2QoKSYmdm9pZCAwIT09cyYmZS5zb3VyY2UucHJvY2Vzc0VyYXNlP2Uuc291cmNlLnByb2Nlc3NFcmFzZShpLHMpOmkucmVtb3ZlU291cmNlKGUuc291cmNlLCExKSwhMH19dmFyIGk7cmV0dXJuITF9X3RyeVN0YXJ0Q2hhbmdpbmdMaW5lVG9vbChlLHQsaSxzKXtpZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpcmV0dXJuITE7Y29uc3Qgbj10LmhpdHRlc3Q7aWYoKCFlLmlzVG91Y2h8fCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKSYmbiYmKDAscmkuaXNMaW5lVG9vbCkodC5zb3VyY2UpJiZuLnRhcmdldCgpPT09TWkuSGl0VGFyZ2V0LkNoYW5nZVBvaW50KXtjb25zdCByPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbz0oMCxsLmVuc3VyZSkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCk/LmZpcnN0VmFsdWUoKSksYT1uLmRhdGEoKT8ub3duZXJTb3VyY2VJZCxjPSgwLApsLmVuc3VyZU5vdE51bGwpKGE/dGhpcy5fY2hhcnRNb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChhKTp0LnNvdXJjZS5vd25lclNvdXJjZSgpKSxoPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLmNvb3JkaW5hdGVUb1ByaWNlKGUubG9jYWxZLG8pO3Iuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2Usbi5kYXRhKCkpfSkpO2xldCBkPWg7dC5zb3VyY2UucHJpY2VTY2FsZSgpPT09ci5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoZD1yLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaCxzLHRoaXMuc3RhdGUoKSkpO2NvbnN0IHU9bi5kYXRhKCk/Lm5vbkRpc2NyZXRlSW5kZXg7dSYmKHM9ci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9GbG9hdEluZGV4KGUubG9jYWxYKSk7Y29uc3QgcD1uLmRhdGEoKT8ucG9pbnRJbmRleDtyZXR1cm4gdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz17c291cmNlOnQuc291cmNlLG93bmVyU291cmNlOmMsc3RhcnRQb2ludDp7aW5kZXg6cyxwcmljZTpkLG5vbkRpc2NyZXRlSW5kZXg6dX0sc2NyZWVuUG9pbnQ6e3g6ZS5sb2NhbFgseTplLmxvY2FsWX0scG9pbnRJbmRleDpwLGVudlN0YXRlOml9LCEwfXJldHVybiB0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsITF9X3RyeVN0YXJ0Q2xvbmluZyhlLHQsaSxzKXtpZihpLm1vZCgpKXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUuY2xvbmVhYmxlKCkpKTtpZihzJiZzLmNsb25lYWJsZSgpJiZ0LnB1c2gocyksdC5sZW5ndGg+MClyZXR1cm4gdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHM9dC5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksITB9cmV0dXJuITF9X3RyeUZpbmlzaENsb25uaW5nKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj10aGlzLl9jaGFydE1vZGVsKCk7aWYodC5tb2QoKSYmdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQpLnN1YnRyYWN0KHIpLmxlbmd0aCgpLGE9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHQ9bi5kYXRhU291cmNlRm9ySWQoZSk7bnVsbCE9PXQmJmEucHVzaCh0KX1pZigwPT09YS5sZW5ndGgpcmV0dXJuITE7aWYobz44KXtjb25zdCBuPXRoaXMuY2xvbmVMaW5lVG9vbHMoYSwhMCkubWFwKChlPT4oMCxsLmVuc3VyZU5vdE51bGwpKHMubW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKSk7cy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKTtsZXQgdD1udWxsO24uZm9yRWFjaCgocz0+e251bGw9PT10JiYodD11bihpLHMpKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihzLHQpfSkpfSkpO2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoblswXS5wcmljZVNjYWxlKCkpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpLGg9e2luZGV4OnMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgoZS5sb2NhbFgpLHByaWNlOm8uY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShjKSl9O3Muc3RhcnRNb3ZpbmdTb3VyY2VzKG4se2xvZ2ljYWw6aCxzY3JlZW46cn0sbnVsbCx0KSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGx9cmV0dXJuITB9cmV0dXJuITF9X21vdXNlRG93bkV2ZW50Rm9yTGluZVRvb2woZSx0LGkscyl7Y29uc3Qgbj1ULnRvb2wudmFsdWUoKTtpZighdGhpcy5oYXNTdGF0ZSgpfHwoMCxtLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykobil8fHRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldClyZXR1cm47Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBvPSExLGE9bnVsbDsoMCxULmhpZGVBbGxEcmF3aW5ncykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpLCgwLFQubG9ja0RyYXdpbmdzKSgpLnNldFZhbHVlKCExKSxlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKG4pJiYhKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKXx8ci5saW5lQmVpbmdDcmVhdGVkKCkpJiZ0aGlzLl9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKTtjb25zdCBjPXIubGluZUJlaW5nQ3JlYXRlZCgpO2lmKGMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtjb25zdCBuPSgwLGwuZW5zdXJlKShjLm93bmVyU291cmNlKCk/LmZpcnN0VmFsdWUoKSk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMpe2lmKCF0aGlzLl9zdGFydFRvdWNoUG9pbnQpe3RoaXMuX3N0YXJ0VG91Y2hQb2ludD1uZXcgUHQuUG9pbnQoZS5wYWdlWCxlLnBhZ2VZKTtjb25zdCB0PWMucG9pbnRzKCksaT10W3QubGVuZ3RoLTFdLHM9ci50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShpLmluZGV4KSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKGkucHJpY2Usbik7cmV0dXJuIHZvaWQodGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG8pKX19ZWxzZSBpZighZS5pc1RvdWNoKXthPWM7Y29uc3QgaD1yLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKGghPT10aGlzLl9zdGF0ZSYmbnVsbCE9PWgpe2NvbnN0IGk9dGhpcy5fZXh0ZXJuYWxQYW5lWENvb3JkKGgsZS5sb2NhbFgpLHM9dGhpcy5fZXh0ZXJuYWxQYW5lWUNvb3JkKGgsZS5sb2NhbFkpO289ci5jb250aW51ZUNyZWF0aW5nTGluZSh7CmluZGV4Ok1hdGgucm91bmQoci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleChpKSkscHJpY2U6KDAsbC5lbnN1cmUpKGMucHJpY2VTY2FsZSgpPy5jb29yZGluYXRlVG9QcmljZShzLG4pKX0sdCl9ZWxzZXtjb25zdCBlPXIubW9kZWwoKS5tYWduZXQoKS5hbGlnbihzLGksdGhpcy5zdGF0ZSgpKTtvPXIuY29udGludWVDcmVhdGluZ0xpbmUoe2luZGV4OmkscHJpY2U6ZX0sdCl9fX1lbHNle2NvbnN0IHQ9KDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKTtpZighZS5pc1RvdWNofHxlLnN0eWx1c3x8dCl7Y29uc3QgZT1udWxsPT09Y3x8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGMpJiZjLmhhc09ubHlPbmVQb2ludCgpLGw9e2luZGV4OmkscHJpY2U6dCYmIWU/czpyLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24ocyxpLHRoaXMuc3RhdGUoKSl9O2E9ci5jcmVhdGVMaW5lVG9vbCh7cGFuZTp0aGlzLnN0YXRlKCkscG9pbnQ6bCxsaW5ldG9vbDpuLGFjdGlvblNvdXJjZToiRHJhdyIsa2VlcFNlbGVjdGVkR3JvdXA6ITB9KSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbyYmKHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbj0hMCksci5saW5lQmVpbmdDcmVhdGVkKCl8fChvPSEwKX19Y29uc3QgaD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7YSYmci5zZWxlY3Rpb25NYWNybygoZT0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkoYSksaD8uaGl0dGVzdC5kYXRhKCkpfSkpLG8mJmEmJih0aGlzLl9maW5pc2hUb29sKGEsaCksZS5wcmV2ZW50RGVmYXVsdCgpKX1faGFuZGxlU2VsZWN0aW9uTW91c2VEb3duQW5kR2V0SnVzdERlc2VsZWN0ZWRTb3VyY2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtsZXQgbj1udWxsO2lmKG51bGw9PT10fHx0LnNvdXJjZS5pc1NlbGVjdGlvbkVuYWJsZWQoKSl7Y29uc3Qgcj10Py5oaXR0ZXN0LmRhdGEoKT8uc2tpcFNvdXJjZVNlbGVjdGlvbjtzLnNlbGVjdGlvbk1hY3JvKChzPT57aWYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZXx8bnVsbD09PXR8fHJ8fCEoZS5pc1RvdWNoP3QuaGl0dGVzdC50YXJnZXQoKT49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQ6dC5oaXR0ZXN0LnRhcmdldCgpPk1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kKSl7aWYoIWkubW9kKCkpe2NvbnN0IHQ9e3R5cGU6ImNsZWFyIixpbnRlcmFjdGlvblR5cGU6ZS5pc1RvdWNoPyJ0b3VjaCI6InBvaW50ZXIifTtzLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZSh0KSYmcy5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2Nsb25uaW5nQXRNb3ZlTGluZVRvb2xzPW51bGwsdGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQ9bnVsbH19ZWxzZSBpLm1vZCgpfHxzLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodC5zb3VyY2UpfHxzLmNsZWFyU2VsZWN0aW9uKCksaS5tb2QoKSYmcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHQuc291cmNlKT8obj10LnNvdXJjZSxzLnJlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uKHQuc291cmNlKSk6cy5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2UsdC5oaXR0ZXN0LmRhdGEoKSkscy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpLmxlbmd0aD4xJiYoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiTXVsdGlzZWxlY3QiLCJDbGljayBTZWxlY3QiKX0pKX1yZXR1cm4gbn1fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHQpe3RoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksdCl9X3VwZGF0ZUNvbW1vblRvb2x0aXAoZSx0KXtsZXQgaT1udWxsO2lmKG51bGwhPT1lJiZudWxsIT09ZS5oaXR0ZXN0KXtjb25zdCB0PWUuaGl0dGVzdC5kYXRhKCk7dCYmKGk9dC50b29sdGlwfHxudWxsKX1pZihudWxsPT09dGhpcy5fcHJldlRvb2x0aXBEYXRhJiZudWxsPT09aSlyZXR1cm47aWYobnVsbD09PWl8fCIiPT09aS50ZXh0KXJldHVybiB0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx2b2lkKDAsS3MuaGlkZSkodCk7aWYodGhpcy5fcHJldlRvb2x0aXBEYXRhJiYoMCxzLmRlZmF1bHQpKGksdGhpcy5fcHJldlRvb2x0aXBEYXRhKSlyZXR1cm47dGhpcy5fcHJldlRvb2x0aXBEYXRhPWk7Y29uc3Qgbj0oMCxhLmNsb25lKShpKTtpZih2b2lkIDAhPT1uLnJlY3Qpe2NvbnN0IGU9dGhpcy5fcGFuZUNlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bi5yZWN0LngrPWUubGVmdCxuLnJlY3QueSs9ZS50b3B9KDAsS3Muc2hvdykobil9X3NldEN1cnNvclBvc2l0aW9uT25FeHRlcm5hbFBhbmUoZSx0LGkscyl7dD10aGlzLl9leHRlcm5hbFBhbmVYQ29vcmQoZSx0KSxpPXRoaXMuX2V4dGVybmFsUGFuZVlDb29yZChlLGkpO3RoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKGUpLnNldEN1cnNvclBvc2l0aW9uKHQsaSxzKX1fdXBkYXRlTGFzdENyb3NzaGFpclBvc2l0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuc3RhdGUoKS5pZCgpO1NuPXt4OmUseTp0LGVudlN0YXRlOmksc3RhdGVJZDpzfX1fc2V0Q3Vyc29yQ2xhc3NOYW1lKGUpe2xldCB0PSIiO2UmJih0PSJwYW5lLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX3BhbmVDZWxsLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZSksdCYmdGhpcy5fcGFuZUNlbGwuY2xhc3NMaXN0LmFkZCh0KSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPXQsdGhpcy5fcGFuZUNlbGwuc3R5bGUuY3Vyc29yKX1fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKXtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0KTt0LmhpdHRlc3QudHJ5Q2FsbE1vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlLHtzb3VyY2VXYXNTZWxlY3RlZDppfSl9fV9jcm9zc0hhaXJTaG91bGRCZVZpc2libGUoKXsKY29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHwoMCxULnRvb2xJc01lYXN1cmUpKFQudG9vbC52YWx1ZSgpKXx8ZS5zdGFydE1lYXN1cmVQb2ludCgpJiYhZS5lbmRNZWFzdXJlUG9pbnQoKXx8bnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50fHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0VkaXRlZCgpfHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKX1fY2xlYXJDdXJzb3JQb3NpdGlvbigpe1NuPW51bGwsdGhpcy5fY2hhcnRNb2RlbCgpLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9X2RhdGFTb3VyY2VBdFBvaW50KGUsdCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXtyZXN1bHQ6bnVsbH0scz10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PXMubGluZUJlaW5nQ3JlYXRlZCgpKXJldHVybiBpLnJlc3VsdDtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3QpcmV0dXJuIHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdDtjb25zdCBuPW5ldyBTZXQ7aWYodGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3QmJnRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LnNvdXJjZUF0UG9pbnQuaGl0dGVzdC5kYXRhKCkpe2lmKCF0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5jYW5jZWxsZWRDb250YWluZXI/LmNhbmNlbGxlZClyZXR1cm4gdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludDtuLmFkZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LnNvdXJjZS5pZCgpKX1pZih0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdCYmdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludC5oaXR0ZXN0LmRhdGEoKSYmIXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LmNhbmNlbGxlZENvbnRhaW5lcj8uY2FuY2VsbGVkKXJldHVybiB0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50O2NvbnN0IHI9dGhpcy5zdGF0ZSgpLG89KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuX21ha2VTdXJlSXNVcGRhdGVkKG8pO2NvbnN0IGE9cG4uYmluZChudWxsLGkpLGw9bmV3IFB0LlBvaW50KGUsdCk7aWYoIXIubWF4aW1pemVkKCkudmFsdWUoKSYmci5jb2xsYXBzZWQoKS52YWx1ZSgpfHwoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihULmFjdGl2ZVBvaW50U2VsZWN0aW9uTW9kZS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCkpcmV0dXJuIHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sW3MuY3Jvc3NoYWlyU291cmNlKCldLGwsYSwhMSxuKSxpLnJlc3VsdDtjb25zdCBjPXIuc291cmNlc0J5R3JvdXAoKSxoPXMuc2VsZWN0aW9uKCksZD1oLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT5lLmlzTXVsdGlQYW5lRW5hYmxlZCgpfHxzLnBhbmVGb3JTb3VyY2UoZSk9PT1yKSk7dGhpcy5faGl0VGVzdFNvdXJjZXMobyxkLGwsYSwhMSxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGguY3VzdG9tU291cmNlcygpLGwsYSwhMCxuKSxoLmFsbFNvdXJjZXMoKS5mb3JFYWNoKChlPT5uLmFkZChlLmlkKCkpKSksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxbcy5jcm9zc2hhaXJTb3VyY2UoKV0sbCxhLCExLG4pLHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sci5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLGwsYSwhMCxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGMudHJhZGluZ1NvdXJjZXMoKSxsLGEsITEsbiksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxyLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCksbCxhLCEwLG4pO2NvbnN0IHU9Yy5oaXRUZXN0U291cmNlcygpO2lmKHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sdSxsLGEsITEsbiksdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3QgZT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKTtpZihudWxsIT09ZSYmIW4uaGFzKGUuaWQoKSkpe2NvbnN0IHQ9ZS5zdHJhdGVneU9yZGVyc1BhbmVWaWV3KCk7aWYobnVsbCE9PXQpe2NvbnN0IHM9dC5yZW5kZXJlcihvKTtpZihudWxsIT09cyl7Y29uc3QgdD1zLmhpdFRlc3QobCxvKTt0JiZwbihpLHQsZSxzLCExKX19fX1yZXR1cm4gbnVsbD09PWkucmVzdWx0JiZ0aGlzLl9oaXRUZXN0U291cmNlcyhvLHIuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5CYWNrZ3JvdW5kKSxsLGEsITAsbiksaS5yZXN1bHR9X3NvdXJjZVdhc1NlbGVjdGVkKGUpe3JldHVybiEhZSYmdGhpcy5fc2VsZWN0aW9uQmVmb3JlTW91c2VEb3duLmhhcyhlLnNvdXJjZSl9X2hpdFRlc3RTb3VyY2VzKGUsdCxpLHMsbixyKXtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpO2ZvcihsZXQgYT10Lmxlbmd0aC0xO2E+PTA7LS1hKXtjb25zdCBsPXRbYV07aWYoci5oYXMobC5pZCgpKSljb250aW51ZTtjb25zdCBjPWwucGFuZVZpZXdzKG8pO2lmKG51bGwhPT1jJiYwIT09Yy5sZW5ndGgpZm9yKGxldCB0PWMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IHI9Y1t0XS5yZW5kZXJlcihlKTtpZihyJiZyLmhpdFRlc3Qpe2NvbnN0IHQ9ci5oaXRUZXN0KGksZSk7bnVsbCE9PXQmJnModCxsLHIsbil9fX19X3RyeVN0YXJ0TW92aW5nTGluZVRvb2woZSx0LGkscyl7aWYobnVsbD09PXQuc291cmNlfHwhdC5zb3VyY2UubW92YWJsZSgpfHxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXJldHVybiExO2lmKCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbz0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlLnByaWNlU2NhbGUoKSksYT1udWxsPT09cj9OYU46by5jb29yZGluYXRlVG9QcmljZShlLmxvY2FsWSxyKTtsZXQgYz0odC5zb3VyY2UuaXNTZWxlY3Rpb25FbmFibGVkKCk/bi5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk6W3Quc291cmNlXSkuZmlsdGVyKFFzKTtjb25zdCBoPWMuZmlsdGVyKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpO2M9aC5sZW5ndGg+MD9oOmMuaW5jbHVkZXModC5zb3VyY2UpP1t0LnNvdXJjZV06W2NbMF1dO2NvbnN0IGQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSx1PXtpbmRleDpzLHByaWNlOmF9LHA9dC5oaXR0ZXN0LmRhdGEoKT8uYWN0aXZlSXRlbTtyZXR1cm4gdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPXtzb3VyY2U6YyxzdGFydFBvaW50Ontsb2dpY2FsOnUsc2NyZWVuOmR9LGFjdGl2ZUl0ZW06dm9pZCAwPT09cD9udWxsOnAsZW52U3RhdGU6aX0sITB9cmV0dXJuIHRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsLCExfV9jaGFydE1vZGVsKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKX1fY2hhcnRVbmRvTW9kZWwoKXtyZXR1cm4gdGhpcy5fY2hhcnQubW9kZWwoKX1fZXh0ZXJuYWxQYW5lWENvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydC5wYW5lQnlTdGF0ZShlKSkscz1pLl9kaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7cmV0dXJuIGkuX2NvcnJlY3RYQ29vcmQodC1zKX1fZXh0ZXJuYWxQYW5lWUNvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnQucGFuZUJ5U3RhdGUoZSkpLHM9aS5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtyZXR1cm4gaS5fY29ycmVjdFlDb29yZCh0LXMpfV9jb3JyZWN0WENvb3JkKGUpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKGUsdGhpcy5fc2l6ZS53aWR0aC0xKSl9X2NvcnJlY3RZQ29vcmQoZSl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oZSx0aGlzLl9zaXplLmhlaWdodC0xKSl9X3Byb2Nlc3NTY3JvbGwoZSl7aWYoIXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fc3RhcnRTY3JvbGxpbmdQb3N8fHRoaXMuX3ByZXZlbnRTY3JvbGwoKXx8KHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPXt4OmUuY2xpZW50WCx5OmUuY2xpZW50WSx0aW1lc3RhbXA6dCxsb2NhbFg6ZS5sb2NhbFgsbG9jYWxZOmUubG9jYWxZfSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBzPXRoaXMuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zJiYhdGhpcy5faXNTY3JvbGxpbmcmJih0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy54IT09ZS5jbGllbnRYfHx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy55IT09ZS5jbGllbnRZKSlyZXR1cm4gaS5iZWdpblVuZG9NYWNybyhzbiksbnVsbD09PXRoaXMuX3Njcm9sbFhBbmltYXRpb24mJnRoaXMuX29wdGlvbnMudXNlS2luZXRpY1Njcm9sbCYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb249bmV3IEVzLktpbmV0aWNBbmltYXRpb24oLjIsNywuOTk3LDE1KSx0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy50aW1lc3RhbXApKSxpLnNlbGVjdGlvbigpLmlzRW1wdHkoKXx8KHM9aS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKClbMF0ucHJpY2VTY2FsZSgpKSxudWxsPT09c3x8cy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxQcmljZVNjYWxlPXMsaS5zdGFydFNjcm9sbFByaWNlKHRoaXMuc3RhdGUoKSxzLGUubG9jYWxZKSksaS5zdGFydFNjcm9sbFRpbWUoZS5sb2NhbFgpLHRoaXMuX2lzU2Nyb2xsaW5nPSEwLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQgdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zZXRTY3JvbGxpbmdQYW5lKHRoaXMpO3RoaXMuX2lzU2Nyb2xsaW5nJiYobnVsbCE9PXRoaXMuX3Njcm9sbFByaWNlU2NhbGUmJmkuc2Nyb2xsUHJpY2VUbyh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSxlLmxvY2FsWSksaS5zY3JvbGxUaW1lVG8oZS5sb2NhbFgpLG51bGwhPT10aGlzLl9zY3JvbGxYQW5pbWF0aW9uJiZ0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0KSl9X2ZpbmlzaFNjcm9sbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtlLmVuZFNjcm9sbFRpbWUoKSxudWxsIT09dGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSYmZS5lbmRTY3JvbGxQcmljZSh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSksZS5lbmRVbmRvTWFjcm8oKSx0aGlzLl9pc1Njcm9sbGluZz0hMSx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcz1udWxsLHRoaXMuX3Njcm9sbFByaWNlU2NhbGU9bnVsbCx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFNjcm9sbGluZ1BhbmUobnVsbCl9X2VuZFNjcm9sbChlKXtpZighdGhpcy5faXNTY3JvbGxpbmcpcmV0dXJuITE7dGhpcy5fZmluaXNoU2Nyb2xsKCk7Y29uc3QgdD10aGlzLl9zY3JvbGxVbmRvQ29tbWFuZEluU3RhY2soKSxpPXBlcmZvcm1hbmNlLm5vdygpO3JldHVybiBudWxsIT09dGhpcy5fc2Nyb2xsWEFuaW1hdGlvbiYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb24uc3RhcnQoZS5jbGllbnRYLGkpLAp0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmZpbmlzaGVkKGkpfHwodGhpcy5fY2hhcnRNb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9jaGFydE1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKHRoaXMuX3Njcm9sbFhBbmltYXRpb24pLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCkpLHR9X3ByZXZlbnRTY3JvbGwoKXtyZXR1cm4gdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwJiZ0aGlzLl9sb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8KDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxCb29sZWFuKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkubGluZUJlaW5nQ3JlYXRlZCgpKXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludHx8dGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydH1faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmV9X3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl7cmV0dXJuISF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXAmJihudWxsPT09dGhpcy5fY2hhcnQudHJhY2tpbmdNb2RlUGFuZVdpZGdldCgpJiYoISF0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8IXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50KSl9X2ZpbmlzaFRvb2woZSx0PW51bGwpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxzPWUudG9vbG5hbWU7aWYocz09PVQudG9vbC52YWx1ZSgpJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLGkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKHQsZSkpfSkpLCgwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKGUpJiZlLmFjdGl2YXRlRWRpdGluZ09uQ3JlYXRpb24oKSllLmFjdGl2YXRlVGV4dEVkaXRpbmdPbih0aGlzLl9kaXYsITApO2Vsc2UgaWYoKDAsbS5pc1RleHRUb29sTmFtZSkocykpe2NvbnN0IHQ9aS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpO3RoaXMuX2NoYXJ0LnNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2UoZSxKdC5UYWJOYW1lcy50ZXh0LHZvaWQgMCx0KX10aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9ZS5pZCgpLCgwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwiY3JlYXRlIil9X2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGUsdCxpLHMsbil7Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89Mj09PW4/TmFOOnIudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodCk7ci5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkuZm9yRWFjaCgoZT0+e2xldCBhPW8sbD1lLmNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoaSx0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSk7aWYobnVsbD09PWwpe2lmKDEhPT1uKXJldHVybjtsPU5hTn1pZigoMCx0aS5pc1N0dWR5KShlKSl7Y29uc3QgZT1yLm1haW5TZXJpZXMoKS5iYXJzKCkuZmlyc3RJbmRleCgpO251bGwhPT1lJiYyIT09biYmKGE9TWF0aC5tYXgobyxlKSksMSE9PW4mJihsPXRoaXMuX2NoYXJ0TW9kZWwoKS5tYWduZXQoKS5hbGlnbihsLG8sdGhpcy5zdGF0ZSgpKSl9bnVsbCE9PXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0JiZ2b2lkIDAhPT10aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LmhpdHRlc3QuZGF0YSgpPy5jdXJzb3JUeXBlfHx0aGlzLnNldEN1cnNvckZvclRvb2woKSxyLm1vdmVTb3VyY2VzKHtzY3JlZW46bmV3IFB0LlBvaW50KHQsaSksbG9naWNhbDp7aW5kZXg6YSxwcmljZTpsfX0scyl9KSl9X3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKXt0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXImJigoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fbmVlZFJlc2V0TWVhc3VyZUxhdGVyPSExKX1fbWFrZVN1cmVJc1VwZGF0ZWQoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCksaT1bLi4udC5kYXRhU291cmNlcygpLC4uLnQuY3VzdG9tU291cmNlcygpXTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPXMucGFuZVZpZXdzKHQpO2lmKG51bGwhPT1pKWZvcihjb25zdCB0IG9mIGkpdC5tYWtlU3VyZUlzVXBkYXRlZD8uKGUpfX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKSxzPWkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxuPWkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9zdGF0ZT8ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpe2NvbnN0IGk9dGhpcy5fc3RhdGU/Lm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3N0YXRlKT8/MCxyPXRoaXMuX3N0YXRlPy5tb2RlbCgpLm1haW5QYW5lKCksbz1pPihyP3RoaXMuX3N0YXRlPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihyKT8/MDowKT9uOnM7KDAsS3QuY2xlYXJSZWN0KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxvKX1lbHNlIHM9PT1uPygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQsbik6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxzLG4pfV9kcmF3V2F0ZXJtYXJrKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkud2F0ZXJtYXJrU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuO3RoaXMuc3RhdGUoKS5jb250YWluc01haW5TZXJpZXMoKSYmdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3Q3Jvc3NIYWlyKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO2kuaW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpLAppLnZpc2libGV8fG51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8aS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkscz1baS5saW5lQmVpbmdDcmVhdGVkKCksaS5saW5lQmVpbmdFZGl0ZWQoKSwuLi5pLnNvdXJjZXNCZWluZ01vdmVkKCksaS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCldLmZpbHRlcigoZT0+ISFlKSk7Zm9yKGNvbnN0IG4gb2Ygcyl7KGkucGFuZUZvclNvdXJjZShuKT09PXRoaXMuc3RhdGUoKXx8KDAsQWkuaXNEYXRhU291cmNlKShuKSYmbi5pc011bHRpUGFuZUVuYWJsZWQoKSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixuKX19X2RyYXdUb3BWaWV3cyhlLHQpe2Zvcihjb25zdCBpIG9mIHRoaXMuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpKWkudG9wUGFuZVZpZXdzJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsY24sYW4saSl9X2RyYXdTb3VyY2VzKGUsdCl7Y29uc3QgaT10aGlzLnN0YXRlKCkscz1pLm1vZGVsKCksbj1pLnNvdXJjZXNCeUdyb3VwKCkscj1uLnRyYWRpbmdTb3VyY2VzKCksbz1uLmdlbmVyYWxTb3VyY2VzKCksbD1uLnBoYW50b21Tb3VyY2VzKCksYz1pLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCkuc2xpY2UoKSxoPWkuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kKS5zbGljZSgpLGQ9aS5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLnNsaWNlKCksdT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKSxwPXMucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk7dGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLHMuZ3JpZFNvdXJjZSgpKSx0aGlzLl9kcmF3V2F0ZXJtYXJrKGUsdCk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2Ygbyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgaCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgbCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Y29uc3QgXz1uZXcgU2V0O1tzLmxpbmVCZWluZ0NyZWF0ZWQoKSxzLmxpbmVCZWluZ0VkaXRlZCgpLC4uLnMuc291cmNlc0JlaW5nTW92ZWQoKSxzLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKV0uZmlsdGVyKGEubm90TnVsbCkuZm9yRWFjaCgoZT0+Xy5hZGQoZS5pZCgpKSkpO2xldCBtPXMuaG92ZXJlZFNvdXJjZSgpO251bGwhPT1tJiYoKDAsQWkuaXNEYXRhU291cmNlKShtKSYmIW0uc2hvd09uVG9wT25Ib3ZlcmluZygpfHxfLmhhcyhtLmlkKCkpfHwoMCxBaS5pc0RhdGFTb3VyY2UpKG0pJiYhby5pbmNsdWRlcyhtKT9tPW51bGw6Xy5hZGQobS5pZCgpKSk7Y29uc3QgZz1zLmhpZ2hsaWdodGVkUGxvdEluZm8oKSxmPWc/by5maWx0ZXIoKGU9PigwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmIV8uaGFzKGUuaWQoKSkpKTpbXTtmLmZvckVhY2goKGU9Pl8uYWRkKGUuaWQoKSkpKTtjb25zdCBTPXMuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLmZpbHRlcigoZT0+ISgoMCxBaS5pc0RhdGFTb3VyY2UpKGUpJiYhby5pbmNsdWRlcyhlKSkmJiFfLmhhcyhlLmlkKCkpKSk7Uy5mb3JFYWNoKChlPT5fLmFkZChlLmlkKCkpKSk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7dSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSYmISgwLEpzLmlzU3R1ZHlTdHJhdGVneVN0dWIpKHUpJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4sdSxfKSxwJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4scCxfKTtmb3IoY29uc3QgaSBvZiByKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGhuLGFuLGksXyk7Zm9yKGNvbnN0IGkgb2Ygcil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIFMpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpLGk9PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KTtmb3IoY29uc3QgaSBvZiBTKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpKTttJiYodGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLG0pLG09PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KSx0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsaG4sYW4sbSkpO2Zvcihjb25zdCBpIG9mIGwpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7aWYoZyYmZi5sZW5ndGgpZm9yKGNvbnN0IGkgb2YgZil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSl9X2RyYXdTb3VyY2VJbXBsKGUsdCxpLHMsbixyKXtpZihyJiZyLmhhcyhuLmlkKCkpKXJldHVybjtjb25zdCBvPWkobix0aGlzLnN0YXRlKCkpO2lmKG8pZm9yKGNvbnN0IGkgb2Ygbyl7Y29uc3Qgbj1pLnJlbmRlcmVyKHQpO24mJihlLnNhdmUoKSxzKG4sZSx0KSxlLnJlc3RvcmUoKSl9fQpfdXBkYXRlQnlUaGVtZWRDb2xvcnMoKXtudWxsIT09dGhpcy5fbGVnZW5kV2lkZ2V0JiZ0aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSxudWxsIT09dGhpcy5fcGFuZUNvbnRyb2xzJiZ0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKX1fc2Nyb2xsVW5kb0NvbW1hbmRJblN0YWNrKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCk7aWYoZS5pc0VtcHR5KCkpcmV0dXJuITE7Y29uc3QgdD1lLmhlYWQoKTtpZighKHQgaW5zdGFuY2VvZiBVKSlyZXR1cm4hMTtpZih0LmlzRW1wdHkoKSlyZXR1cm4hMTtyZXR1cm4gdC5jb21tYW5kcygpWzBdaW5zdGFuY2VvZiBPc31fb25TdGF0ZURlc3Ryb3llZCgpe3RoaXMuc2V0U3RhdGUobnVsbCl9X29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3RoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsfV9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKGUsdCl7aWYobnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCYmKHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdC5yZW5kZXJlciE9PWU/LnJlbmRlcmVyfHx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/LmFjdGl2ZUl0ZW0hPT1lLmhpdHRlc3QuZGF0YSgpPy5hY3RpdmVJdGVtKSl7Y29uc3QgZT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKSh0LHtzb3VyY2VXYXNTZWxlY3RlZDplfSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH1pZighdC5pc1RvdWNoJiZudWxsIT09ZSl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZChlKTt0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q/LnJlbmRlcmVyIT09ZS5yZW5kZXJlciYmKGUuaGl0dGVzdC50cnlDYWxsTW91c2VFbnRlckhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1lKSxlLmhpdHRlc3QudHJ5Q2FsbE1vdXNlTW92ZUhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pfX1fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCl7aWYobnVsbCE9PXRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXMpe2NvbnN0IGU9dGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtczsoMCxNdC50cmFja0V2ZW50KSgiY2hhcnRfYWxlcnQiLCJlZGl0Iiwic3RhcnRfY2hhbmdlX2xpbmVfdG9vbF9wYXJhbXMiKSx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnN0YXJ0Q2hhbmdpbmdMaW5ldG9vbChlLnNvdXJjZSxlLm93bmVyU291cmNlLGUuc3RhcnRQb2ludCxlLnBvaW50SW5kZXgsZS5lbnZTdGF0ZSl9aWYobnVsbCE9PXRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcyl7Y29uc3QgZT10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM7KDAsTXQudHJhY2tFdmVudCkoImNoYXJ0X2FsZXJ0IiwiZWRpdCIsInN0YXJ0X21vdmluZ19zb3VyY2VzIiksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5zdGFydE1vdmluZ1NvdXJjZXMoZS5zb3VyY2UsZS5zdGFydFBvaW50LGUuYWN0aXZlSXRlbSxlLmVudlN0YXRlKX10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGx9X3RyYWNraW5nTW9kZVNob3VsZEJlQWN0aXZlKCl7cmV0dXJuISghdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8dGhpcy5fY3Jvc3NIYWlyU2hvdWxkQmVWaXNpYmxlKCkpJiZ0aGlzLl9sb25nVGFwfV9wcm9jZXNzT3V0c2lkZUNsaWNrKGUsdCl7bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihudWxsIT09ZSYmKGk9ZS5pc0N1c3RvbT9zLmN1c3RvbVNvdXJjZU5hbWUoZS5zb3VyY2UpOmUuc291cmNlLmlkKCkpLG51bGwhPT10aGlzLl9sYXN0Q2xpY2tlZFNvdXJjZSYmdGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaWQhPT1pKXtjb25zdCBlPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlkO2xldCBpPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlzQ3VzdG9tP3MuY3VzdG9tU291cmNlRm9yTmFtZShlKTpzLmRhdGFTb3VyY2VGb3JJZChlKTtudWxsIT09aXx8dGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaXNDdXN0b218fChpPXMuZGF0YVNvdXJjZUZvcklkKGUpKSxudWxsIT09aSYmaS5vbkNsaWNrT3V0c2lkZSYmKGkub25DbGlja091dHNpZGUoKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS51cGRhdGVTb3VyY2UoaSkpfXRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwhPT1pP3tpZDppLGlzQ3VzdG9tOmU/LmlzQ3VzdG9tPz8hMX06bnVsbH1hc3luYyBzaG93Q29uZmV0dGkoZSx0KXt7Y29uc3Qgcz1hd2FpdCBpLmUoODY3NDApLnRoZW4oaS5iaW5kKGksMjM3NTM3KSk7InBlcmZvcm1hbmNlIj09PVQudG9vbC52YWx1ZSgpJiZzLmNvbmZldHRpKGUsdCl9fV9tb3VzZUNsaWNrT3JUYXBFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjtxcy5wZXJmb3JtYW5jZVRlc3RNb2RlJiYicGVyZm9ybWFuY2UiPT09VC50b29sLnZhbHVlKCkmJnRoaXMuc2hvd0NvbmZldHRpKGUucGFnZVgsZS5wYWdlWSk7bGV0IHQ9bnVsbCxpPW51bGw7dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJnRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbiYmIXRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLm1vdXNlTW92ZXx8KHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLGk9dCYmdC5zb3VyY2UpCjtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1Cb29sZWFuKHQ/LmhpdHRlc3QuZGF0YSgpPy5oaWRlQ3Jvc3NoYWlyTGluZXNPbkhvdmVyKTt0aGlzLl9wcm9jZXNzT3V0c2lkZUNsaWNrKHQsZSksIXRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpfHxufHxlLmlzVG91Y2gmJnRoaXMudHJhY2tpbmdNb2RlRW5hYmxlZCgpJiYhdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeXx8cy5jcm9zc2hhaXJTb3VyY2UoKS50cnlTZWxlY3RDdXJyZW50UG9pbnQoKTtjb25zdCByPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpOyEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJm51bGwhPT10JiZ0LmhpdHRlc3QudHJ5Q2FsbENsaWNrT3JUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnJ9KSYmcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSgoMCxsLmVuc3VyZU5vdE51bGwpKGkpKSwhZS5pc1RvdWNofHx0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKXx8dCYmdC5zb3VyY2U9PT1zLmNyb3NzaGFpclNvdXJjZSgpfHx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCksaSYmKDAscmkuaXNMaW5lVG9vbCkoaSkmJnRoaXMuX2xhc3RGaW5pc2hlZFRvb2xJZCE9PWkuaWQoKSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsaS5pZCgpLCJjbGljayIpLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsfV9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLHQpe3RoaXMuX3ByZXNzZWRNb3ZlU3RhZ2U9MSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSExLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgU2V0KHRoaXMuX2NoYXJ0TW9kZWwoKS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkpLGUuaXNUb3VjaCYmKHRoaXMuX2xvbmdUYXA9ITEsdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT1udWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50LHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpKSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbDtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz17bW91c2VNb3ZlOiExLHRvb2xDcmVhdGlvbjpCb29sZWFuKGkubGluZUJlaW5nQ3JlYXRlZCgpKX0sZS5pc1RvdWNoJiZ0aGlzLl9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXI/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk6ZG9jdW1lbnQuYm9keS5mb2N1cygpO2Vsc2V7Y29uc3QgZT1kb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtudWxsIT09ZSYmZS5yZW1vdmVBbGxSYW5nZXMoKX0oMCwkLmVtaXQpKCJtb3VzZV9kb3duIix7Y2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFkscGFnZVg6ZS5wYWdlWCxwYWdlWTplLnBhZ2VZLHNjcmVlblg6ZS5zY3JlZW5YLHNjcmVlblk6ZS5zY3JlZW5ZfSksdGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsKTtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKTtzLm1haW5TZXJpZXMoKS5jbGVhckdvdG9EYXRlUmVzdWx0KCk7Y29uc3Qgcj10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3Qgbz1zLmNyb3NzaGFpclNvdXJjZSgpO2lmKCFlLmlzVG91Y2gmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSl7Y29uc3QgdD1udWxsIT09cy5saW5lQmVpbmdDcmVhdGVkKCk/cy5tb2RlbCgpLnBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKTpudWxsO251bGwhPT10JiZ0IT09dGhpcy5fc3RhdGU/dGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZSh0LGUubG9jYWxYLGUubG9jYWxZLG4pOnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksbil9ZS5pc1RvdWNoJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PW8ucGFuZT8oMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpOnRoaXMuX2NoYXJ0LnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7bGV0IGM9bnVsbD09YT9udWxsOnIuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksYSksaD1pLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKTtpZihvLnN0YXJ0TWVhc3VyZVBvaW50KCkmJm8uZW5kTWVhc3VyZVBvaW50KCkmJm8uY2xlYXJNZWFzdXJlKCksbi5zaGlmdCgpJiYoMCxULnRvb2xJc0N1cnNvcikoVC50b29sLnZhbHVlKCkpKXtjb25zdCBlPXMuc2VsZWN0aW9uKCkuaXNFbXB0eSgpOyhudWxsPT09dHx8ZSYmIXQuaGl0dGVzdC5kYXRhKCk/Lmhhc093blNob3J0Y3V0c0JlaGF2aW91ckZvcj8uc2hpZnRLZXkpJiYoVC50b29sLnNldFZhbHVlKCJtZWFzdXJlIiksKDAsUnMudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKSgibWVhc3VyZSIsIktleWJvYXJkIHNob3J0Y3V0IiksZXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSkpfQppZigoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fG51bGw9PT1jfHwhdGhpcy5fdHJ5U3RhcnRNZWFzdXJlKGUsbyxuLGMsaCkpJiYoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fCF0aGlzLl90cnlGaW5pc2hNZWFzdXJlKGUsbykpJiYhKHRoaXMuX3RyeUZpbmlzaFpvb20oZSl8fG51bGwhPT1jJiZ0aGlzLl90cnlTdGFydFpvb20oZSxjLGgsbikpKXtpZihlLmlzVG91Y2gmJihudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50Pyh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249by5jdXJyZW50UG9pbnQoKSx0aGlzLl9zdGFydFRyYWNrUG9pbnQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSk6dGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCkmJm51bGw9PT10aGlzLl9jaGFydC50cmFja2luZ01vZGVQYW5lV2lkZ2V0KCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSksZS5pc1RvdWNoJiYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZT1udWxsPT09dHx8IXMuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSkpLCF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSYmIXRoaXMuX2lzU2Nyb2xsaW5nKXtpZihlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHxudWxsIT09by5tZWFzdXJlUGFuZSgpLnZhbHVlKCkpKXJldHVybiB2b2lkIHRoaXMuX2luaXRUb29sQ3JlYXRpb25Nb2RlUGFyYW1zKGUpO2lmKG51bGwhPT1jJiYoKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxzLmxpbmVCZWluZ0NyZWF0ZWQoKSkpcmV0dXJuIG4uc2hpZnQoKXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSksdm9pZCB0aGlzLl9tb3VzZURvd25FdmVudEZvckxpbmVUb29sKGUsbixoLGMpfWlmKCgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpJiZuLmFsdE9ubHkoKSl7ZS5pc1RvdWNoJiYhdGhpcy50cmFja2luZ01vZGVFbmFibGVkKCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7dC5jcmVhdGVIaWdobGlnaHRlcigpO2NvbnN0IGk9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChvLm9yaWdpblgoKSxvLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7aSYmdC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGkpfWVsc2V7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fc291cmNlV2FzU2VsZWN0ZWQodCk7dC5oaXR0ZXN0LnRyeUNhbGxNb3VzZURvd25PclRvdWNoU3RhcnRIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KX1pZighdGhpcy5fY2hhcnQucmVhZE9ubHkoKSl7Y29uc3Qgcj10aGlzLl9oYW5kbGVTZWxlY3Rpb25Nb3VzZURvd25BbmRHZXRKdXN0RGVzZWxlY3RlZFNvdXJjZShlLHQsbik7aWYobnVsbCE9PXQmJiF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBpPXQuaGl0dGVzdC5kYXRhKCk7aWYodC5pc0N1c3RvbSl7aWYodC5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihlKSlyZXR1cm4gcy5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZSh0LnNvdXJjZSxpKSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSEwLHRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0PXtzb3VyY2VBdFBvaW50OnQsY2FuY2VsbGVkQ29udGFpbmVyOnMubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpPz92b2lkIDB9LHZvaWQgcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbigoMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKSwoMCxsLmVuc3VyZU5vdE51bGwpKGkpKX0pKX1lbHNlIGlmKGk/LmFyZWFOYW1lPT09TWkuQXJlYU5hbWUuU291cmNlSXRlbU1vdmUpe2NvbnN0IG49aT8uYWN0aXZlSXRlbTtpZih2b2lkIDAhPT1uKXJldHVybiBzLnN0YXJ0Q3VzdG9tTW92aW5nKHQuc291cmNlLG4sZSksdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9e3NvdXJjZUF0UG9pbnQ6dH0sdm9pZCBzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkodC5zb3VyY2UpLCgwLGwuZW5zdXJlTm90TnVsbCkoaSkpfSkpfX1pZihudWxsIT09dCYmdGhpcy5fdHJ5SGFuZGxlRXJhc2VyTW91c2VEb3duKHQsbikpcmV0dXJuO2NvbnN0IG89bnVsbCE9PXQmJigwLHJpLmlzTGluZVRvb2wpKHQuc291cmNlKSYmdC5zb3VyY2UuaXNMb2NrZWQmJnQuc291cmNlLmlzTG9ja2VkKCk7aWYoISgoMCxULmxvY2tEcmF3aW5ncykoKS52YWx1ZSgpfHxvKSYmbnVsbCE9PXQmJiF0LmlzQ3VzdG9tKXtpZighdC5zb3VyY2UudXNlckVkaXRFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHM9dC5oaXR0ZXN0LmRhdGEoKT8uc25hcHBpbmdQcmljZSxvPXQuaGl0dGVzdC5kYXRhKCk/LnNuYXBwaW5nSW5kZXg7bGV0IHU9ZS5sb2NhbFkscD1lLmxvY2FsWDtjb25zdCBfPXQuaGl0dGVzdC5kYXRhKCk/Lm93bmVyU291cmNlSWQsbT1fP2kuZGF0YVNvdXJjZUZvcklkKF8pOnQuc291cmNlLm93bmVyU291cmNlKCk7aWYodm9pZCAwIT09cyYmbnVsbCE9PWEmJih1PSgwLGwuZW5zdXJlKShtPy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKHMsYSksYz1zKSx2b2lkIDAhPT1vJiYocD1pLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG8pLGg9byksdT09PWUubG9jYWxZJiZwPT09ZS5sb2NhbFh8fChlPXsuLi5lLGxvY2FsWTp1LGxvY2FsWDpwfSwKdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuKSksdGhpcy5fdHJ5U3RhcnRDaGFuZ2luZ0xpbmVUb29sKGUsdCxuLGgpKXJldHVybiB2b2lkKHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdD10KTtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCwoZD10LmhpdHRlc3QudGFyZ2V0KCkpPT09TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludHx8ZD09PU1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kJiYoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gpe2lmKHRoaXMuX3RyeVN0YXJ0Q2xvbmluZyhlLHQsbixyKSlyZXR1cm47aWYodGhpcy5fdHJ5U3RhcnRNb3ZpbmdMaW5lVG9vbChlLHQsbixoKSlyZXR1cm4gdm9pZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD17c291cmNlQXRQb2ludDp0fSk7dGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbH19aWYobnVsbCE9PXQmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0LnNvdXJjZSkmJnQuc291cmNlLmlzRHJhZ2dhYmxlKCkmJnRoaXMuX3N0YXRlPy5oYXNEYXRhU291cmNlKHQuc291cmNlKSYmdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS50cnlTZXREcmFnZ2luZ1NvdXJjZSh0LnNvdXJjZSx0aGlzKSlyZXR1cm59dmFyIGQ7bnVsbCE9PXQmJnQuaGl0dGVzdC50YXJnZXQoKT09PU1pLkhpdFRhcmdldC5SZWd1bGFyfHwodGhpcy5fcHJvY2Vzc2luZz0hMCl9fX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTA7Y29uc3QgdD1lLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQsaT1lLmlzVG91Y2gmJnRoaXMuX3dhc1BpbmNoZWQ7ZS5pc1RvdWNoJiYodGhpcy5fd2FzUGluY2hlZD0hMSx0aGlzLl9sb25nVGFwPSExKSx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCkuY3VzdG9tU291cmNlTW92aW5nSGl0VGVzdERhdGEoKTtudWxsIT09bnx8cy5jdXN0b21Nb3ZlQmVpbmdQcm9jZXNzZWQoKXx8dGhpcy5fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKSx0aGlzLl9pc1NlbGVjdGluZz0hMTtjb25zdCByPXMubW9kZWwoKSxvPXIuY3Jvc3NoYWlyU291cmNlKCksYT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYoby5zZWxlY3Rpb24oKSYmbnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtjb25zdCBlPXRoaXMuc3RhdGUoKS5saW5lVG9vbHNGb3JBcmVhKG8uc2VsZWN0aW9uKCksKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpKTtzLnNlbGVjdGlvbk1hY3JvKCh0PT57bGV0IGk9bnVsbDtlLmZvckVhY2goKGU9PntudWxsPT09aSYmKGk9dW4oYSxlKSksdC5hZGRJdGVtVG9TZWxlY3Rpb24oZSxpKX0pKX0pKSxvLmNsZWFyU2VsZWN0aW9uKCksKDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIk11bHRpc2VsZWN0IiwiQXJlYSBTZWxlY3QiKX0oMCwkLmVtaXQpKCJtb3VzZV91cCIse2NsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZLHBhZ2VYOmUucGFnZVgscGFnZVk6ZS5wYWdlWSxzY3JlZW5YOmUuc2NyZWVuWCxzY3JlZW5ZOmUuc2NyZWVuWX0pO2NvbnN0IGM9ZS5pc1RvdWNoJiZ0aGlzLl90b3VjaE1vdmU7ZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSExKTtjb25zdCBoPW5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpLGQ9VC50b29sLnZhbHVlKCk7aWYoZS5pc1RvdWNoJiYoKDAsVC50b29sSXNNZWFzdXJlKShkKXx8bnVsbCE9PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpKSl7aWYoIWMmJiFlLnN0eWx1cyYmbnVsbD09PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZvLnBhbmUhPT10aGlzLl9zdGF0ZSlyZXR1cm4gdm9pZCB0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZKTtpZighYyYmIWUuc3R5bHVzJiZ0aGlzLl90cnlTdGFydE1lYXN1cmUoZSxvLGgsby5wcmljZSxvLmluZGV4KSlyZXR1cm47aWYoKCFjfHxlLnN0eWx1cykmJnRoaXMuX3RyeUZpbmlzaE1lYXN1cmUoZSxvKSlyZXR1cm59aWYoZS5pc1RvdWNoJiYhYyYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJigwLG0uaXNMaW5lVG9vbE5hbWUpKGQpJiYhcy5saW5lQmVpbmdDcmVhdGVkKCkpe2lmKHRoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSlyZXR1cm47aWYoby5wYW5lIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxoKTtjb25zdCB0PW8uY3VycmVudFBvaW50KCksaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKSxuPSgwLGwuZW5zdXJlKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPXtpbmRleDpNYXRoLnJvdW5kKHMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodC54KSkscHJpY2U6aS5jb29yZGluYXRlVG9QcmljZSh0Lnksbil9LGM9KDAsbC5lbnN1cmVOb3ROdWxsKShzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOnRoaXMuc3RhdGUoKSxwb2ludDpyLGxpbmV0b29sOmQsYWN0aW9uU291cmNlOiJEcmF3IixrZWVwU2VsZWN0ZWRHcm91cDohMH0pKTtyZXR1cm4gdGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby50b29sQ3JlYXRpb249ITApLHMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmFkZEl0ZW1Ub1NlbGVjdGlvbihjKX0pKSxzLmxpbmVCZWluZ0NyZWF0ZWQoKXx8KHRoaXMuX2ZpbmlzaFRvb2woYyxhKSxlLnByZXZlbnREZWZhdWx0KCkpLHZvaWQodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwpfWNvbnN0IHU9cy5saW5lQmVpbmdDcmVhdGVkKCkKO2lmKHUmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHUudG9vbG5hbWUpJiZlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSl7aWYodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwsIWN8fGUuc3R5bHVzKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodS5sYXN0UG9pbnQoKSksaT1zLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKHtpbmRleDp0LmluZGV4LHByaWNlOnQucHJpY2V9LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTt0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249bnVsbCxpJiYodGhpcy5fZmluaXNoVG9vbCh1LGEpLGUucHJldmVudERlZmF1bHQoKSl9cmV0dXJufWlmKG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5fZmlyc3Rab29tUG9pbnQuZHJhZ2dpbmdNb2RlKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaFpvb20oZSk7aWYodGhpcy5fcHJvY2Vzc2luZz0hMSxzLmN1c3RvbU1vdmVCZWluZ1Byb2Nlc3NlZCgpKXJldHVybiB2b2lkIHMuZW5kQ3VzdG9tTW92aW5nKCk7aWYobnVsbCE9PW4pe2lmKG4uYmVpbmdNb3ZlZCYmIW4uY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGEpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSxuLm1vdXNlVXBIYW5kbGVyLG4udG91Y2hFbmRIYW5kbGVyKSx0aGlzLnNldEN1cnNvckZvclRvb2woKX1pZihyLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHZuKGUsbikpcmV0dXJufWlmKHIubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHMuZW5kQ2hhbmdpbmdMaW5ldG9vbCghMSksdm9pZCh0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCkpO2lmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSl7Y29uc3QgdD1zLmxpbmVCZWluZ0NyZWF0ZWQoKTtudWxsIT09dCYmKHQuZmluaXNoKCksIkxpbmVUb29sQnJ1c2giPT09dC50b29sbmFtZSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsdC5pZCgpLCJjcmVhdGUiKSk7Y29uc3QgaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihpLmlzRW1wdHkoKSlyZXR1cm47aWYoIXQpcmV0dXJuO2NvbnN0IG49KDAsbC5lbnN1cmUpKHQub3duZXJTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksbiksbz17aW5kZXg6TWF0aC5yb3VuZChzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSkscHJpY2U6cn07cmV0dXJuIHZvaWQgcy5jb250aW51ZUNyZWF0aW5nTGluZShvKX1jb25zdCBwPXIuY3Jvc3NoYWlyU291cmNlKCkuY3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpO2lmKHAuaXNUaGVyZVVuZmluaXNoZWRIaWdobGlnaHRlcigpKXJldHVybiB2b2lkIHAuZmluaXNoSGlnaGxpZ2h0ZXIoKTtpZihyLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiBzLmVuZE1vdmluZ1NvdXJjZSghMSwhMSksci5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5mb3JFYWNoKChlPT57dGhpcy5zZXRDdXJzb3JGb3JUb29sKGUpfSkpLHZvaWQgci5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suY3Vyc29yKCkpO2lmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpKXtjb25zdCB0PWUubG9jYWxYPj0wJiZlLmxvY2FsWDx0aGlzLl9zaXplLndpZHRoO2lmKCghYXx8YS5zb3VyY2UhPT1vKSYmdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLnN5bmNNb2RlbCgpO2lmKHQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnBvaW50cygpLnJvdWdoVGltZShzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSwoKGUsaSk9PnQucHJvamVjdFRpbWUoZSxpKSkpO251bGwhPT1pJiZ0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5zeW5jU2Nyb2xsKDFlMyppLHRoaXMuX2NoYXJ0TW9kZWwoKSl9fX1jb25zdCBfPXRoaXMuX2lzU2Nyb2xsaW5nLGc9dGhpcy5fZW5kU2Nyb2xsKGUpLGY9dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpO2lmKG51bGwhPT1mKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJmkhPT10aGlzJiZpLnN0YXRlKCkubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSxzLm1lcmdlVG9QYW5lKGYsaS5zdGF0ZSgpKSk7aWYodGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KSlpZihyLmlzVW5tZXJnZUF2YWlsYWJsZUZvclNvdXJjZShmKSlnJiZzLnVuZG9IaXN0b3J5KCkudW5kbygpLHMudW5tZXJnZVRvTmV3Qm90dG9tUGFuZShmKTtlbHNle2NvbnN0IGU9ci5wYW5lcygpLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShyLnBhbmVGb3JTb3VyY2UoZikpLGk9ZS5pbmRleE9mKHQpO2khPT1lLmxlbmd0aC0xJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSx0Lm1heGltaXplZCgpLnZhbHVlKCkmJnMudG9nZ2xlTWF4aW1pemVkUGFuZSh0KSxzLm1vdmVQYW5lKGksZS5sZW5ndGgtMSkpfXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpO2NvbnN0IG49dGhpcy5fY2hhcnQuZ2V0VGltZVNjYWxlKCk7biYmbi5yZXN0b3JlRGVmYXVsdEN1cnNvcigpO2NvbnN0IG89dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3QgdD1vW2VdO3Q9PT10aGlzJiZhJiYhYS5pc0N1c3RvbT90LnNldEN1cnNvckZvclRvb2woYS5zb3VyY2V8fHZvaWQgMCk6dC5zZXRDdXJzb3JGb3JUb29sKCksdC5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHQucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCl9fQp0aGlzLl9jaGFydC5yZWFkT25seSgpfHx0fHxoLm1vZCgpfHxffHxpfHxudWxsIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkfHxudWxsIT09YSYmIWEuaGl0dGVzdC5kYXRhKCk/LnNraXBTb3VyY2VTZWxlY3Rpb24mJihhLmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmR8fCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCkmJnMuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBpPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmEuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O2lmKHQuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGkpKXt0LmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKGEuc291cmNlKTt0LmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKGEsZSkpfX0pKSxlLmlzVG91Y2gmJih0aGlzLl90b3VjaE1vdmU9ITEpfV9tb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby5tb3VzZU1vdmU9ITApLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKTtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0aGlzLl9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKHQsZSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCFpKXJldHVybjtjb25zdCBzPWUubG9jYWxYLG49ZS5sb2NhbFk7dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG4pO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSk7aWYobnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtpZih0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKHQscixlKSwhZS5pc1RvdWNoJiZpLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1pLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKG51bGwhPT1lJiZlIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZShlLHMsbixyKX1lLmlzVG91Y2h8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24ocyxuLHIpfWVsc2UgdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHIpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5kcmFnRXhwb3J0RW5hYmxlZCgpLnZhbHVlKCkmJnZvaWQgMCE9PWUuYnV0dG9ucyYmIUJvb2xlYW4oMSZlLmJ1dHRvbnMpKXJldHVybjtpZighdGhpcy5oYXNTdGF0ZSgpfHx0aGlzLl9waW5jaGluZ3x8ZS5pc1RvdWNoJiZ0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcClyZXR1cm47dGhpcy5fcHJlc3NlZE1vdmVTdGFnZT0yLHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvJiYodGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8ubW91c2VNb3ZlPSEwKSx0aGlzLl9yZXNldE1lYXN1cmVJZlJlcXVpcmVkKCksdGhpcy5fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCksZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSEwLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEpO2NvbnN0IHQ9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHM9aS5jcm9zc2hhaXJTb3VyY2UoKSxuPWUubG9jYWxYLHI9ZS5sb2NhbFk7aWYodGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChuLHIpLG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludClyZXR1cm4gdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlKSx2b2lkKHRoaXMuX2ZpcnN0Wm9vbVBvaW50LmRyYWdnaW5nTW9kZT0hMCk7Y29uc3Qgbz1ULnRvb2wudmFsdWUoKTtpZihlLmlzVG91Y2gmJnRoaXMuX3N0YXJ0VG91Y2hQb2ludCYmKDAsbS5pc0xpbmVUb29sTmFtZSkobykmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKG8pJiYhaS5saW5lQmVpbmdDcmVhdGVkKCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSlyZXR1cm4gdm9pZCB0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHRoaXMuc3RhdGUoKSk7Y29uc3QgYT1zLm1lYXN1cmVQYW5lKCkudmFsdWUoKTtpZihlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSYmKCgwLFQudG9vbElzTWVhc3VyZSkobyl8fG51bGwhPT1hKSlyZXR1cm4gdm9pZChlLnN0eWx1cz90aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTp0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLGF8fHRoaXMuc3RhdGUoKSkpO2NvbnN0IGM9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMmJmMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtpZih0aGlzLl9zdGFydFRvdWNoUG9pbnQpe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmVCZWluZ0NyZWF0ZWQoKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkubW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKTt0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHMpfXJldHVybn1pZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpe3RoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITE7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbiksaT1uZXcgUHQuUG9pbnQobixyKS5zdWJ0cmFjdCh0aGlzLl9zdGFydFRyYWNrUG9pbnQpLHM9ZS5hZGQoaSk7dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihzLngscy55LHQpfWVsc2UgZS5pc1RvdWNoJiZ0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKG4scix0KQo7Y29uc3QgaD10aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKTtpZigoMCxtLmlzTGluZVRvb2xOYW1lKShvKSYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikobykmJiFoJiYhdC5tb2QoKSlyZXR1cm47aWYoKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShvKSYmIWgpe2NvbnN0IHQ9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChlLmxvY2FsWCxlLmxvY2FsWSwoMCxsLmVuc3VyZU5vdE51bGwpKHQub3duZXJTb3VyY2UoKSkpO3JldHVybiB2b2lkKHMmJmkuY29udGludWVDcmVhdGluZ0xpbmUocykpfWNvbnN0IGQ9aS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7aWYoZC5pc1RoZXJlVW5maW5pc2hlZEhpZ2hsaWdodGVyKCkpe2NvbnN0IGU9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChzLm9yaWdpblgoKSxzLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7cmV0dXJuIHZvaWQoZSYmZC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGUpKX1pZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJihpIT09dGhpcz9pLnNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCk6aS5zZXRDdXJzb3JGb3JUb29sKCkpO2NvbnN0IHM9dGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KTtzJiZzLnNldEN1cnNvcigiZ3JhYmJpbmciKX1pZihpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdT10aGlzLl9vcHRpb25zLmhhbmRsZVNjcm9sbDtpZigoIXUucHJlc3NlZE1vdXNlTW92ZXx8ZS5pc1RvdWNoKSYmKCF1LmhvcnpUb3VjaERyYWcmJiF1LnZlcnRUb3VjaERyYWd8fCFlLmlzVG91Y2gpKXJldHVybjtpZih0aGlzLl9jaGFydE1vZGVsKCkuZHJhZ0V4cG9ydEVuYWJsZWQoKS52YWx1ZSgpJiZ0aGlzLl9pZ25vcmluZ01vdXNlTW92ZW1lbnQpcmV0dXJuO2lmKGkuY3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCkpcmV0dXJuIHZvaWQgaS5wcm9jZXNzQ3VzdG9tTW92ZShlKTtjb25zdCBwPWkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO2lmKG51bGwhPT1wJiYodGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsLCEwKSxwLmNhbmNlbGxlZHx8KGkubW9kZWwoKS5wcm9jZXNzaW5nQ3VzdG9tU291cmNlTW92ZSgpLCgwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0aGlzLl9zZWxlY3Rpb25CZWZvcmVNb3VzZURvd24uaGFzKGkubW9kZWwoKS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCkpfSxwLnByZXNzZWRNb3VzZU1vdmVIYW5kbGVyLHAudG91Y2hNb3ZlSGFuZGxlcikpLHZuKGUscCkpKXJldHVybjtpZihpLm1vZGVsKCkubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihuLHIsdCk7aWYoaS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGkubW9kZWwoKS5zb3VyY2VzQmVpbmdNb3ZlZCgpLGUubG9jYWxYLGUubG9jYWxZLHQsaS5tb2RlbCgpLmxhc3RIaXR0ZXN0RGF0YSgpPy5wb3NzaWJsZU1vdmluZ0RpcmVjdGlvbnMpO2NvbnN0IF89dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKHRoaXMuX3RyeUZpbmlzaENsb25uaW5nKGUsbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksXykpcmV0dXJuO2NvbnN0IGc9KDAsVC50b29sSXNNZWFzdXJlKShvKXx8cy5zdGFydE1lYXN1cmVQb2ludCgpJiZzLmVuZE1lYXN1cmVQb2ludCgpO3RoaXMuX2NoYXJ0LnJlYWRPbmx5KCl8fCF0Lm1vZCgpfHwoMCxtLmlzTGluZVRvb2xOYW1lKShvKXx8Z3x8aD8odGhpcy5fcHJvY2Vzc1Njcm9sbChlKSx0aGlzLl9wcmV2ZW50U2Nyb2xsKCkmJiF0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiZ0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSk6dGhpcy5faXNTZWxlY3Rpbmd8fChzLnN0YXJ0U2VsZWN0aW9uKHRoaXMuc3RhdGUoKSksdGhpcy5faXNTZWxlY3Rpbmc9ITApfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZighdClyZXR1cm47Y29uc3QgaT10LmNyb3NzaGFpclNvdXJjZSgpO2UuaXNUb3VjaHx8bnVsbCE9PWkubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZudWxsPT09aS5lbmRNZWFzdXJlUG9pbnQoKXx8dGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpO2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksbnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCl7Y29uc3QgdD10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH10aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKG51bGwpLHRoaXMuX2NoYXJ0LnNldEFjdGl2ZVBhbmVXaWRnZXQobnVsbCl9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJiEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKXx8bnVsbCxpPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpCjtpZihudWxsIT09dCYmdC5pc0N1c3RvbSl0LmhpdHRlc3QudHJ5Q2FsbERibENsaWNrT3JEYmxUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KTtlbHNlIGlmKG51bGwhPT10JiYoZS5pc1RvdWNofHx0LmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQpKXQuaGl0dGVzdC50cnlDYWxsRGJsQ2xpY2tPckRibFRhcEhhbmRsZXIoZSx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pJiYhKDAsTWkuc2hvdWxkRGVmYXVsdEFjdGlvbkJlRXhlY3V0ZWQpKGUsKDAsbC5lbnN1cmVOb3ROdWxsKSh0LmhpdHRlc3QuZGF0YSgpKSwiZG91YmxlQ2xpY2tIYW5kbGVyIiwiZG91YmxlVGFwSGFuZGxlciIpfHx0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdD90LmhpdHRlc3Q6dm9pZCAwKTtlbHNlIGlmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpJiYhKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpJiYhdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuaXNFbXB0eSgpKXtjb25zdCB0PXRoaXMuc3RhdGUoKTtuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKS5tb2QoKSYmIXQubWF4aW1pemVkKCkudmFsdWUoKT8odC5jb2xsYXBzZWQoKS52YWx1ZSgpfHx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS52YWx1ZSgpKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuc3RhdGUoKSk6dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVNYXhpbWl6ZWRQYW5lKHRoaXMuc3RhdGUoKSl9fV9jb250ZXh0TWVudUV2ZW50KGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZih0LmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXApcmV0dXJuIHQuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksdm9pZCgwLFQucmVzZXRUb0N1cnNvcikoITApO2lmKHRoaXMuX3BpbmNoaW5nKXJldHVybjtpZihudWxsPT09dGhpcy5fZmlyc3Rab29tUG9pbnR8fHRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcHx8dGhpcy5jYW5jZWxab29tKCksISgwLFQudG9vbElzQ3Vyc29yKShULnRvb2wudmFsdWUoKSl8fHRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpKXtpZihlLmlzVG91Y2gpcmV0dXJuO3JldHVybigwLFQucmVzZXRUb0N1cnNvcikoITApLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQodC5saW5lQmVpbmdDcmVhdGVkKCkmJnQuY2FuY2VsQ3JlYXRpbmdMaW5lKCkpfWlmKCF0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51RW5hYmxlZClyZXR1cm47Y29uc3QgaT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSkscz1pP2kuc291cmNlOm51bGw7aWYoZS5pc1RvdWNoJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXtpZih0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXJldHVybjt0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9ZS5pc1RvdWNoJiYodGhpcy5fY29udGV4dE1lbnVPcGVuZWRPbkxhc3RUYXA9ITAsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwpLHRoaXMuX2NvbnRleHRNZW51WD1lLmxvY2FsWCx0aGlzLl9jb250ZXh0TWVudVk9ZS5sb2NhbFk7Y29uc3Qgbj1pJiZpLmhpdHRlc3Q/aS5oaXR0ZXN0LnRhcmdldCgpOjAscj1uPj1NaS5IaXRUYXJnZXQuUmVndWxhcnx8bj49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQmJmUuaXNUb3VjaDtpZih0LnNlbGVjdGlvbk1hY3JvKCh0PT57bnVsbCE9PXMmJnI/dC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHMpfHwodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKHMsdW4oaSxzKSkpOih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LmdlbmVyYWwmJnRoaXMuX3Nob3dDb250ZXh0TWVudShlKSx0LmNsZWFyU2VsZWN0aW9uKCkpfSkpLG51bGwhPT1pJiZyJiZudWxsIT09cylpZigoMCxBaS5pc0RhdGFTb3VyY2UpKHMpJiZzLmhhc0NvbnRleHRNZW51KCkpcy5pc1NlbGVjdGlvbkVuYWJsZWQoKT90aGlzLnNob3dDb250ZXh0TWVudUZvclNlbGVjdGlvbihlLHZvaWQgMCxpLmhpdHRlc3QpOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcyhbc10sZSx2b2lkIDAsdm9pZCAwLGkuaGl0dGVzdCk7ZWxzZXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGkpO2kuaGl0dGVzdC50cnlDYWxsQ29udGV4dE1lbnVIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnR9KX19X29uTW91c2VFdmVudCgpe3RoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwsdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwPSExfV9vblRvdWNoRXZlbnQoKXt0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9ITB9X2xvY2FsQ29vcmRpbmF0ZXNUb0xpbmVEYXRhU291cmNlUG9pbnQoZSx0LGkpe2NvbnN0IHM9dGhpcy5zdGF0ZSgpLmRlZmF1bHRQcmljZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1uZXcgUHQuUG9pbnQoZSx0KSxyPSgwLGwuZW5zdXJlKShpLmZpcnN0VmFsdWUoKSk7cmV0dXJuIG4ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHIpLG4uaW5kZXg9TWF0aC5yb3VuZCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUpKSxufV9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0LnRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKTtpZihudWxsIT09dCYmdCE9PXRoaXMpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO3QuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITAsdC5fdHJ5RXhpdFRyYWNraW5nTW9kZSghMCksCnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoaS54LGUubG9jYWxZKSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9fWFzeW5jIF9zaG93Q29udGV4dE1lbnUoZSl7Y29uc3QgdD1lPT5lIGluc3RhbmNlb2YgZXMuU2VwYXJhdG9yLGk9dGhpcy5fY3VzdG9tQWN0aW9ucygpLHM9KGF3YWl0IHRoaXMuX2luaXRBY3Rpb25zKGUpKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7aS5yZW1vdmUuZm9yRWFjaCgoZT0+e2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBpPXNbdF07aWYoaSBpbnN0YW5jZW9mIGVzLkFjdGlvbiYmaS5nZXRMYWJlbCgpPT09ZSl7cy5zcGxpY2UodCwxKTticmVha319fSkpO2NvbnN0IG49aS50b3AuY29uY2F0KHMpLmNvbmNhdChpLmJvdHRvbSk7Zm9yKGxldCBlPW4ubGVuZ3RoLTE7ZT4wO2UtLSl0KG5bZV0pJiZ0KG5bZS0xXSkmJm4uc3BsaWNlKGUsMSk7bi5sZW5ndGgmJnQoblswXSkmJm4uc3BsaWNlKDAsMSksbi5sZW5ndGgmJnQobltuLmxlbmd0aC0xXSkmJm4uc3BsaWNlKG4ubGVuZ3RoLTEsMSksTmkuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KG4sZSx7c3RhdE5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSx7bWVudU5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSl9YXN5bmMgX2luaXRBY3Rpb25zKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQuYWN0aW9ucygpLGk9W107aWYodGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSYmKGkucHVzaCh0LmNoYXJ0UmVzZXQpLGkucHVzaChuZXcgZXMuU2VwYXJhdG9yKSksIXRoaXMuc3RhdGUoKS5pc0VtcHR5KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpe2NvbnN0e2NyZWF0ZVBhc3RlQWN0aW9uOnQsY3JlYXRlQWN0aW9uQ29weVByaWNlOnN9PWF3YWl0KDAsc3MuYWN0aW9uc1Byb3ZpZGVyTW9kdWxlKSgpLG49cyh0aGlzLnN0YXRlKCksZS5sb2NhbFkpLHI9dCh0aGlzLl9jaGFydCx0aGlzLnN0YXRlKCkpOyhufHxyKSYmKG4mJmkucHVzaChuKSxyJiZpLnB1c2gociksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKX1pZihHcy5hbGVydHNBdmFpbGFibGUmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJihpLmxlbmd0aCYmaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCkpLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpKSl7Y29uc3QgdD0oYXdhaXQoMCxGcy5nZXRBbGVydHNDaGFydEFjdGlvbkNyZWF0b3JzKSgpKS5jcmVhdGVBbGVydCh0aGlzLl9jaGFydCx7bG9jYWxZOmUubG9jYWxZLHBhbmU6dGhpcy5zdGF0ZSgpfSk7bnVsbCE9PXQmJmkucHVzaCh0KX1pZih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51Lm1haW5TZXJpZXNUcmFkZSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3R7Y3JlYXRlQWN0aW9uVHJhZGU6dH09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCkscz1hd2FpdCB0KHRoaXMuX2NoYXJ0LHRoaXMuX2NoYXJ0Lm9wdGlvbnMoKS5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcsZSk7cyYmaS5wdXNoKC4uLnMpfWlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHQubW92ZUNoYXJ0QWN0aW9uJiYhdC5tb3ZlQ2hhcnRBY3Rpb24uaXNEaXNhYmxlZCgpJiZpLnB1c2godC5tb3ZlQ2hhcnRBY3Rpb24sbmV3IGVzLlNlcGFyYXRvciksaS5wdXNoKHRoaXMuX2NyZWF0ZUxvY2tUaW1lQXhpc0FjdGlvbihlKSksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpO2NvbnN0IHM9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpOygwLHpzLmlzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbCkocykmJnQub3BlblRhYmxlVmlldyYmaS5wdXNoKHQub3BlblRhYmxlVmlldyksdC5wYW5lT2JqZWN0VHJlZSYmaS5wdXNoKHQucGFuZU9iamVjdFRyZWUpLHQuYXBwbHlDb2xvclRoZW1lJiZpLnB1c2godC5hcHBseUNvbG9yVGhlbWUpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHRoaXMuX2NoYXJ0LmFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzQXZhaWxhYmxlKCkmJihpLnB1c2godC5hcHBseVN0dWRpZXNUb0FsbENoYXJ0cyksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKTtjb25zdCBuPXQucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scy5nZXRTdGF0ZSgpLmRpc2FibGVkO258fGkucHVzaCh0LnBhbmVSZW1vdmVBbGxEcmF3aW5nVG9vbHMpO2NvbnN0IHI9dC5wYW5lUmVtb3ZlQWxsU3R1ZGllcy5nZXRTdGF0ZSgpLmRpc2FibGVkO3JldHVybiByfHxpLnB1c2godC5wYW5lUmVtb3ZlQWxsU3R1ZGllcyksbiYmcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpJiZpLnB1c2godC5jaGFydFByb3BlcnRpZXMpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvciYmaS5wb3AoKSxpfV9sb2FkQW5kQ3JlYXRlTGVnZW5kV2lkZ2V0KCl7ClByb21pc2UuYWxsKFtpLmUoNDk2NzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTcwODcpLGkuZSg3MDgxNSksaS5lKDkzNDE2KSxpLmUoMTIwNTEpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoODkwNDQpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTI5MjApLGkuZSg2MjYwMCksaS5lKDc1MjE3KSxpLmUoOTg2OTYpLGkuZSg2NTY3NSksaS5lKDkwNzQxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDY4NzI1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDY1NTg4KV0pLnRoZW4oaS5iaW5kKGksNjcxODE4KSkudGhlbigoZT0+e2lmKHRoaXMuX2lzRGVzdHJveWVkfHwhdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkfHx0aGlzLl9sZWdlbmRXaWRnZXQpcmV0dXJuO2NvbnN0IHQ9ZS5MZWdlbmRXaWRnZXQsaT0oMCx4aS5kZWVwRXh0ZW5kKSh7fSx0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldCk7aS5jYW5TaG93U291cmNlQ29kZT0hdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmIUouQ2hlY2tNb2JpbGUuYW55KCksaS5yZWFkT25seU1vZGU9aS5yZWFkT25seU1vZGV8fHRoaXMuX2NoYXJ0LnJlYWRPbmx5KCksaS5zdGF0dXNlc1dpZGdldHM9e3NvdXJjZVN0YXR1c2VzRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZCxzb3VyY2VTdGF0dXNlczp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0fHx7fSxtYXJrZXRTdGF0dXNFbmFibGVkOnRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZCxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkLGRhdGFVcGRhdGVNb2RlOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0fHx7fSxkYXRhUHJvYmxlbUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbVdpZGdldEVuYWJsZWQscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCxhbGVydFN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWR9O2NvbnN0IHM9KDAsdS5jb21iaW5lKSgoKGUsdCk9PmduJiZ0aGlzLl9jaGFydCE9PWUmJiF0KSx0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9jay5jcm9zc2hhaXIud2Vha1JlZmVyZW5jZSgpKSxuPSgwLHUuY29tYmluZSkoKChlLHQpPT5udWxsIT09ZT9lPT09dGhpcy5fc3RhdGU6KDAsVC50b29sSXNNZWFzdXJlKSh0KSksdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkud2Vha1JlZmVyZW5jZSgpLFQudG9vbC53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2xlZ2VuZFdpZGdldD1uZXcgdCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHRoaXMsdGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzLm93bmVyc2hpcCgpLHRoaXMuX3Zpc3VhbGx5Q29sbGFwc2VkLnNwYXduT3duZXJzaGlwKCksbi5vd25lcnNoaXAoKSxpLHtzaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb246dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb24uYmluZCh0aGlzKSxzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcy5iaW5kKHRoaXMpLHNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2U6dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZS5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93R2VuZXJhbENoYXJ0UHJvcGVydGllczp0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93T2JqZWN0c1RyZWVEaWFsb2c6dGhpcy5fY2hhcnQuc2hvd09iamVjdHNUcmVlRGlhbG9nLmJpbmQodGhpcy5fY2hhcnQpLG9uTGVnZW5kUm93Rm9jdXNlZDooKT0+e3RoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnNldFZhbHVlKHRoaXMuX2NoYXJ0KX19KTtjb25zdCByPXRoaXMuX2xlZ2VuZFdpZGdldC5nZXRFbGVtZW50KCk7ci5jbGFzc0xpc3QuYWRkKCJjaGFydC1ndWktd3JhcHBlcl9fbGVnZW5kIiksdGhpcy5fZGl2LnByZXBlbmQociksdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZUxheW91dCgpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKHRoaXMuX3NpemUpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVUaGVtZWRDb2xvcnModGhpcy5fdGhlbWVkVG9wQ29sb3IpO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAua2V5cygpKSl0aGlzLl9sZWdlbmRXaWRnZXQuYWRkQ3VzdG9tV2lkZ2V0VG9MZWdlbmQoZSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLmdldChlKSkpfSkpfV9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KGUpewpQcm9taXNlLmFsbChbaS5lKDQ5Njc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoOTQ5NDgpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDE3MDg3KSxpLmUoNzA4MTUpLGkuZSg5MzQxNiksaS5lKDEyMDUxKSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDM3OTIpLGkuZSg3ODQwNCksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNjU2NzUpLGkuZSg5MDc0MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg2ODcyNSksaS5lKDM2OTM4KSxpLmUoNjc5MzApLGkuZSg2NTU4OCldKS50aGVuKGkuYmluZChpLDI5NzcwNykpLnRoZW4oKHQ9PntpZih0aGlzLl9pc0Rlc3Ryb3llZHx8dGhpcy5fc3RhdGUhPT1lKXJldHVybjtjb25zdCBpPXQuUGFuZUNvbnRyb2xzV2lkZ2V0O3RoaXMuX3BhbmVDb250cm9scz1uZXcgaSh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLGUse2JhY2tncm91bmRUaGVtZU5hbWU6dGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCksYW55U2VwYXJhdG9yU2VsZWN0ZWQ6dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQud2Vha1JlZmVyZW5jZSgpfSx0aGlzLl9kaXYpLHRoaXMuX3BhbmVDb250cm9scy51cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCh0aGlzLl9zaXplLndpZHRoKSx0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlUmVzdHJpY3RMZWdlbmRXaWR0aC5iaW5kKHRoaXMpKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkpLHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXJfX3BhbmVDb250cm9scyIpLHRoaXMuX3N0YXRlPy5jb2xsYXBzZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkuZnVsbFVwZGF0ZSgpfSkpfV9oYW5kbGVSZXN0cmljdExlZ2VuZFdpZHRoKGUpe251bGwhPT10aGlzLl9sZWdlbmRXaWRnZXQmJm51bGwhPT10aGlzLl9wYW5lQ29udHJvbHMmJnRoaXMuX2xlZ2VuZFdpZGdldC5hZGRNYXJnaW4oZVtlLmxlbmd0aC0xXS5jb250ZW50UmVjdC53aWR0aCl9X29uTWFnbmV0U3RhdGVDaGFuZ2VkKCl7dGhpcy5fY2hhcnQuaXNBY3RpdmUoKS52YWx1ZSgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl8fHRoaXMuX2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZSghMCkpJiZ0aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkudmlzaWJsZSYmdGhpcy5fdXBkYXRlTGluZVRvb2xVc2luZ01hZ25ldE9yU2hpZnQoKX1fb25TaGlmdEtleVN0YXRlQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0LmlzQWN0aXZlKCkudmFsdWUoKSYmdGhpcy5faXNUb29sQWN0aW9uQWN0aXZlT25QYW5lKCExKSYmdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnZpc2libGUmJnRoaXMuX3VwZGF0ZUxpbmVUb29sVXNpbmdNYWduZXRPclNoaWZ0KExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCgwLFh0LnNoaWZ0UHJlc3NlZCkoKS52YWx1ZSgpKSl9X2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKSxpPXQubGluZUJlaW5nQ3JlYXRlZCgpfHx0LmxpbmVCZWluZ0VkaXRlZCgpfHx0LnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjAmJnQuc291cmNlc0JlaW5nTW92ZWQoKVswXTtyZXR1cm4gaT90LnBhbmVGb3JTb3VyY2UoaSk9PT10aGlzLl9zdGF0ZTplJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnQuY3Jvc3NoYWlyU291cmNlKCkucGFuZT09PXRoaXMuX3N0YXRlfV91cGRhdGVMaW5lVG9vbFVzaW5nTWFnbmV0T3JTaGlmdChlKXtpZihudWxsPT09dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uKXJldHVybjtjb25zdHt4OnQseTppfT10aGlzLl9wcmV2TW92ZUV2ZW50UG9zaXRpb24scz10aGlzLl9jaGFydE1vZGVsKCkuc291cmNlc0JlaW5nTW92ZWQoKTtzLmxlbmd0aD4wPyhULmlzU3R1ZHlFZGl0aW5nTm93LnZhbHVlKCkmJnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24odCxpLGUpLHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKHMsdCxpLGUpKTp0aGlzLnNldEN1cnNvclBvc2l0aW9uKHQsaSxlKX1fc2hvd0VkaXREaWFsb2dGb3JTb3VyY2UoZSx0KXtpZih0aGlzLl9vcHRpb25zLnByb3BlcnR5UGFnZXNFbmFibGVkJiZlLnVzZXJFZGl0RW5hYmxlZCgpKWlmKGU9PT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLm1haW5TZXJpZXMoKSl0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSl8fCgwLHRpLmlzU3R1ZHkpKGUpfHxzaShlKSl7bGV0IGk7Y29uc3Qgcz10Py5kYXRhKCk7aWYobnVsbCE9cyl7Y29uc3QgZT1zLmFyZWFOYW1lO3ZvaWQgMCE9PWUmJihpPW1uLmdldChlKSl9dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLGkpLnRoZW4oKGU9Pnt0aGlzLl9lZGl0RGlhbG9nPWV9KSl9fV9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKXt0aGlzLl9zdGFydFRvdWNoUG9pbnQ9bmV3IFB0LlBvaW50KGUucGFnZVgsZS5wYWdlWSksdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jdXJyZW50UG9pbnQoKX1fdXBkYXRlQ3Jvc3NoYWlyUG9zaXRpb25JblRvb2xDcmVhdGlvbk1vZGUoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUpewpjb25zdCBpPXRoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKHQpO3JldHVybiBpLl9zdGFydFRvdWNoUG9pbnQ9dGhpcy5fc3RhcnRUb3VjaFBvaW50LGkuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24sdm9pZCBpLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHQpfWNvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3RoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSYmKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj1pLmN1cnJlbnRQb2ludCgpKTtjb25zdCBzPWUucGFnZVgsbj1lLnBhZ2VZLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24pLG89bmV3IFB0LlBvaW50KHMsbikuc3VidHJhY3QoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydFRvdWNoUG9pbnQpKSxhPXIuYWRkKG8pO3RoaXMuc2V0Q3Vyc29yUG9zaXRpb24oYS54LGEueSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9X3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXI6dGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZXMoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCk7Zm9yKGNvbnN0IGkgb2YgdC5sZWZ0UHJpY2VTY2FsZXMoKSl0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLGUpO2Zvcihjb25zdCBpIG9mIHQucmlnaHRQcmljZVNjYWxlcygpKXQucmVjYWxjdWxhdGVQcmljZVNjYWxlKGksZSk7Zm9yKGNvbnN0IGkgb2YgdC5zb3VyY2VzQnlHcm91cCgpLm92ZXJsYXlQcmljZVNjYWxlU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKGkpfHx0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLnByaWNlU2NhbGUoKSxlKX1fY3JlYXRlTG9ja1RpbWVBeGlzQWN0aW9uKGUpe2NvbnN0IHQ9MD09PVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpPy50eXBlO3JldHVybiBuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuQ3Jvc3NoYWlyLkxvY2tWZXJ0aWNhbEN1cnNvciIsb3B0aW9uczp7bGFiZWw6bm4sc3RhdE5hbWU6IkxvY2tDdXJzb3JJblRpbWUiLGNoZWNrYWJsZTohMCxjaGVja2VkOnQsb25FeGVjdXRlOigpPT50aGlzLl90b2dnbGVMb2NrVGltZUF4aXMoZS5sb2NhbFgsIXQpfX0pfV90b2dnbGVMb2NrVGltZUF4aXMoZSx0KXtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkudGltZVNjYWxlKCksaT10LmNvb3JkaW5hdGVUb0luZGV4KGUpLHM9dC5wb2ludHMoKS5yb3VnaFRpbWUoaSk7aWYobnVsbCE9PXMpcmV0dXJuIHZvaWQgVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHt0eXBlOjAsdGltZTpzfSl9VC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKG51bGwpfV9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLmhhc1RvdWNoZXNPbk90aGVyUGFuZXModGhpcyl8fG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpfV91cGRhdGVIb3ZlcmVkU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCk7bGV0IHI9ITE7Y29uc3Qgbz1lJiZlLnNvdXJjZSxhPXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCk7aWYobi5jcm9zc2hhaXJTb3VyY2UoKS5pc1JlcGxheVNlbGVjdGlvbigpKXRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibm9uZSIpO2Vsc2UgaWYoISghYXx8ZSYmKDAscmkuaXNMaW5lVG9vbCkoZS5zb3VyY2UpKXx8dGhpcy5fZWRpdERpYWxvZyYmdGhpcy5fZWRpdERpYWxvZy52aXNpYmxlKCkudmFsdWUoKSlhJiYobi5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksdGhpcy5zZXRDdXJzb3JGb3JUb29sKCkpO2Vsc2V7Y29uc3QgbD1ULnRvb2wudmFsdWUoKTtsZXQgYz1udWxsO2lmKCF0aGlzLl9wcm9jZXNzaW5nJiYoKDAsVC50b29sSXNDdXJzb3IpKGwpfHwoMCxULnRvb2xJc0VyYXNlcikobCkmJiFhfHx0Lm1vZCgpfHwhcy5saW5lQmVpbmdDcmVhdGVkKCkpKXtjb25zdCB0PWU/LmhpdHRlc3Q7cj1Cb29sZWFuKHQ/LmRhdGEoKT8uaGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlciksdCYmdC50YXJnZXQoKT5NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZD8oYz1vLCFvPy5pc0hvdmVyZWRFbmFibGVkKCl8fCgwLFQudG9vbElzRXJhc2VyKShsKSYmbz09PXMubWFpblNlcmllcygpP24uc2V0SG92ZXJlZFNvdXJjZShudWxsLG51bGwpOm4uc2V0SG92ZXJlZFNvdXJjZShvLHQuZGF0YSgpLDApKTpuLnNldEhvdmVyZWRTb3VyY2UobnVsbCxudWxsKX1hP3RoaXMuc2V0Q3Vyc29yRm9yVG9vbChjLHQsWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCk6dGhpcy5fb3B0aW9ucy5zb3VyY2VTZWxlY3Rpb25FbmFibGVkJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik6dGhpcy5zZXRDdXJzb3JGb3JUb29sKGMsdCxlPy5oaXR0ZXN0LmRhdGEoKT8uY3Vyc29yVHlwZSkpO2NvbnN0IGg9bi5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCksZD1udWxsIT09aD9baF06bi5zb3VyY2VzQmVpbmdNb3ZlZCgpO2lmKCghZC5sZW5ndGh8fG51bGwhPT1lJiYtMT09PWQuaW5kZXhPZihlLnNvdXJjZSkpJiZ0aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKGUpLCFhJiZudWxsIT09ZSYmaSYmZS5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihpKSl7c3dpdGNoKChlLmhpdHRlc3QuZGF0YSgpfHx7fSkuY3Vyc29yVHlwZSl7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5WZXJ0aWNhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5zLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuSG9yaXpvbnRhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIndlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGlhZ29uYWxOZVN3UmVzaXplOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibmVzdy1yZXNpemUiKQo7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpfX19dGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLDEhPT10aGlzLl9wcmVzc2VkTW92ZVN0YWdlJiZuLmNyb3NzaGFpclNvdXJjZSgpLnNldExpbmVzU2hvdWxkQmVIaWRkZW4ocil9YXN5bmMgX2NyZWF0ZUVycm9yQmxvY2soKXtyZXR1cm4gbmV3KGF3YWl0KDAsWHMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jdXN0b21BY3Rpb25zKCl7Y29uc3QgZT17dG9wOltdLGJvdHRvbTpbXSxyZW1vdmU6W119LHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50aW1lU2NhbGUoKSxpPXRoaXMuX3N0YXRlJiZ0aGlzLl9zdGF0ZS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXN0b21faXRlbXNfaW5fY29udGV4dF9tZW51IikpcmV0dXJuIGU7Y29uc3Qgcz10LmlzRW1wdHkoKT92b2lkIDA6dC5pbmRleFRvVXNlclRpbWUodC5jb29yZGluYXRlVG9JbmRleCh0aGlzLl9jb250ZXh0TWVudVgpKTtsZXQgbjtpZihpJiYhaS5pc0VtcHR5KCkpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpO249aS5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9jb250ZXh0TWVudVksKDAsbC5lbnN1cmVOb3ROdWxsKShlKSl9cmV0dXJuKDAsJC5lbWl0KSgib25Db250ZXh0TWVudSIse3VuaXh0aW1lOm51bGwhPXM/cy5nZXRUaW1lKCkvMWUzOnZvaWQgMCxwcmljZTpuLGNhbGxiYWNrOnQ9PntbLi4udF0uZm9yRWFjaCgodD0+e2lmKHQudGV4dClpZih0LnRleHQubGVuZ3RoPjEmJiItIj09PXQudGV4dFswXSllLnJlbW92ZS5wdXNoKHQudGV4dC5zbGljZSgxKSk7ZWxzZXtsZXQgaTtpPSItIj09PXQudGV4dD9uZXcgZXMuU2VwYXJhdG9yOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5FeHRlcm5hbEFjdGlvbklkIixvcHRpb25zOntsYWJlbDp0LnRleHQsb25FeGVjdXRlOnQuY2xpY2t9fSksdC5wb3NpdGlvbiYmInRvcCI9PT10LnBvc2l0aW9uP2UudG9wLnB1c2goaSk6ZS5ib3R0b20ucHVzaChpKX19KSl9fSksZX1faGlnaGxpZ2h0UHJpY2VBeGlzZXNCeUxhYmVsKGUpe3RoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJih0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRIaWdobGlnaHRlZFByaWNlQXhpc2VzKGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSkpfV9zdWJzY3JpYmVUb1N0YXRlKCl7Y29uc3QgZT10aGlzLnN0YXRlKCk7ZS5vbkRlc3Ryb3llZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3RhdGVEZXN0cm95ZWQsITApLGUuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCksZS5tYXhpbWl6ZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzdWFsbHlDb2xsYXBzZWQse2NhbGxXaXRoTGFzdDohMH0pLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkLHtjYWxsV2l0aExhc3Q6ITB9KSxlLm1heGltaXplZCgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVNYXhpbWl6ZWQse2NhbGxXaXRoTGFzdDohMH0pfV91bnN1YnNjcmliZUZyb21TdGF0ZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZSgpO2Uub25EZXN0cm95ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmRhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZU1heGltaXplZCksdGhpcy5fbWF4aW1pemVkLnNldFZhbHVlKCExKX1fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIoKXtpZih0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5pc01haW5QYW5lKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5zeW1ib2woKSxzPSgwLEkuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbCkoZS5pbnRlcnZhbCgpKS5oaW50LG49cC50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0LGludGVydmFsOnN9fSxpKDYyODQzMCkpO3RoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG4pfWVsc2UgdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9YXN5bmMgX3VwZGF0ZUVuZE9mU2VyaWVzQmFubmVyKCl7e2NvbnN0IGU9KCk9PntpZih3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9zdGF0ZTtpZighZSlyZXR1cm4gdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKSxudWxsO2lmKCF0aGlzLl9jaGFydC5pc0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIG51bGw7Y29uc3QgdD1lLm1vZGVsKCkubWFpblNlcmllcygpO2lmKCF0KXJldHVybiBudWxsO2lmKCFlLmlzTWFpblBhbmUoKS52YWx1ZSgpKXJldHVybiBudWxsO2lmKDI9PT10LnN0YXR1cygpfHx0LnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXJldHVybiB0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITEpLG51bGw7Y29uc3QgaT10LmJhcnMoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1pP251bGw6e3N0YXRlOmUsc2VyaWVzOnQsZmlyc3RJbmRleDppfX0sdD0oKT0+e2lmKHRoaXMuX2xlZ2VuZFdpZGdldCl7Y29uc3QgZT10aGlzLl9sZWdlbmRXaWRnZXQuZ2V0RWxlbWVudCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBlLmJvdHRvbS1lLnRvcH1yZXR1cm4gMH0KO2xldCBzPWUoKTtpZighc3x8ImVuZCI9PT1zLnNlcmllcy5lbmRPZkRhdGFUeXBlKCkpcmV0dXJuIHZvaWQgdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKTtzLnNlcmllcy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKCExKTtjb25zdCBuPXMuc2VyaWVzLmVuZE9mRGF0YVR5cGUoKSxyPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpLm1vZGVsKCkudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUocy5maXJzdEluZGV4KS1zLnN0YXRlLm1vZGVsKCkudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2lmKCF0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXImJiEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDczMTEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoNTE4NCksaS5lKDEyMDUxKSxpLmUoMzgyNjIpLGkuZSg3NDI3MyksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSg5MTgzMyldKS50aGVuKGkuYmluZChpLDMxOTEyNikpO2lmKHM9ZSgpLCFzKXJldHVybjt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXJ8fCh0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI9bmV3IHQuRW5kT2ZTZXJpZXNCYW5uZXIsdGhpcy5fZGl2LmFwcGVuZENoaWxkKHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lci5lbGVtZW50KCkpKX1jb25zdCBvPXQoKTt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITApLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj8udXBkYXRlKHMuc3RhdGUsbyxyLG4pO2NvbnN0IGE9dGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5jdXJyZW50U2l6ZSgpO3Muc2VyaWVzLmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIobnVsbCE9PWEmJjAhPT1hKX19X3BhbmVEYmxDbGlja09yVGFwRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbCE9PXQmJigwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKHQuc291cmNlKSl7Y29uc3QgZT10LnNvdXJjZS50ZXh0RWRpdGluZ0FjdGl2YXRpb25UaW1lKCk7bnVsbCE9PWUmJnBlcmZvcm1hbmNlLm5vdygpLWU8NTAwJiZ0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdCl9fX1jbGFzcyB3bntjb25zdHJ1Y3Rvcigpe3RoaXMuX2RyYWdnaW5nU291cmNlPW51bGwsdGhpcy5fYWN0aXZlVG91Y2hQYW5lcz1uZXcgU2V0LHRoaXMuX3Njcm9sbGluZ1BhbmU9bnVsbCx0aGlzLl9waW5jaGluZ1BhbmU9bnVsbH1vblBhbmVEZXN0cm95ZWQoZSl7dGhpcy5fYWN0aXZlVG91Y2hQYW5lcy5kZWxldGUoZSksdGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUmJih0aGlzLl9zY3JvbGxpbmdQYW5lPW51bGwpLHRoaXMuX3BpbmNoaW5nUGFuZT09PWUmJih0aGlzLl9waW5jaGluZ1BhbmU9bnVsbCl9c3RhcnRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmFkZChlKX1lbmRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmRlbGV0ZShlKX1oYXNUb3VjaGVzT25PdGhlclBhbmVzKGUpe3JldHVybiB0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLnNpemU+MXx8MT09PXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuc2l6ZSYmIXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuaGFzKGUpfXRyeVNldERyYWdnaW5nU291cmNlKGUsdCl7cmV0dXJuIXRoaXMuaGFzVG91Y2hlc09uT3RoZXJQYW5lcyh0KSYmKCgwLGwuYXNzZXJ0KShudWxsPT09dGhpcy5fZHJhZ2dpbmdTb3VyY2V8fHRoaXMuX2RyYWdnaW5nU291cmNlPT09ZSksdGhpcy5fZHJhZ2dpbmdTb3VyY2U9ZSwhMCl9Y2xlYXJEcmFnZ2luZ1NvdXJjZSgpe251bGwhPT10aGlzLl9kcmFnZ2luZ1NvdXJjZSYmKHRoaXMuX2RyYWdnaW5nU291cmNlPW51bGwpfWRyYWdnaW5nU291cmNlKCl7cmV0dXJuIHRoaXMuX2RyYWdnaW5nU291cmNlfXNldFNjcm9sbGluZ1BhbmUoZSl7KDAsbC5hc3NlcnQpKG51bGw9PT1lfHxudWxsPT09dGhpcy5fc2Nyb2xsaW5nUGFuZXx8dGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUpLHRoaXMuX3Njcm9sbGluZ1BhbmU9ZX1zY3JvbGxpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3Njcm9sbGluZ1BhbmV9c2V0UGluY2hpbmdQYW5lKGUpeygwLGwuYXNzZXJ0KShudWxsPT09ZXx8bnVsbD09PXRoaXMuX3BpbmNoaW5nUGFuZXx8dGhpcy5fcGluY2hpbmdQYW5lPT09ZSksdGhpcy5fcGluY2hpbmdQYW5lPWV9cGluY2hpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3BpbmNoaW5nUGFuZX19dmFyIENuPWkoNDY1Nzc3KSxQbj1pKDQ4Mzc4Myk7aSg2MTU1MjYpO2NvbnN0IFRuPSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIik7dmFyIHhuOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSIsZVtlLk9mZnNldFNpemU9NV09Ik9mZnNldFNpemUifSh4bnx8KHhuPXt9KSk7Y29uc3QgTW49e2NvbnRleHRNZW51RW5hYmxlZDohMCx0aW1lem9uZU1lbnVFbmFibGVkOiEwLHByZXNzZWRNb3VzZU1vdmVTY2FsZTohMH0sSW49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKSxMbj1wLnQobnVsbCx2b2lkIDAsaSgxMDk5NTYpKTtjbGFzcyBBbntjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz1udWxsLHRoaXMuX29uTGFiZWxIb3ZlcmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vdXNlZG93bj0hMSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPSJpbnZhbGlkIix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKE1uKSx0fHx7fSksdGhpcy5jaGFydD1lLHRoaXMuX3Byb3BlcnRpZXM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcywKdGhpcy5fZWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW47Y29uc3Qgcj1lLm1vZGVsKCkubW9kZWwoKS5yZW5kZXJlck9wdGlvbnNQcm92aWRlcigpLG89KCk9PnRoaXMuYmFja2dyb3VuZENvbG9yKCksbD0oKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZSBheGlzIGRvZXMgbm90IHN1cHBvcnQgcmVhbCBwcmljZSBzY2FsZXMiKX0sYz17dGl0bGVzUHJvdmlkZXI6aSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjphc3luYyhlLHQpPT57Y29uc3QgaT1hd2FpdCBzKGUsdCksbj10aGlzLmdldENvbnRleHRNZW51QWN0aW9ucyghMCk7cmV0dXJuIDA9PT1uLmxlbmd0aD9pOmkuY29uY2F0KG5ldyBlcy5TZXBhcmF0b3Isbil9LGJhY2tncm91bmRCYXNlZFRoZW1lOm4uc3Bhd25Pd25lcnNoaXAoKSxvbkFjdGl2ZU9ySG92ZXJlZENoYXJ0OigwLHUuY29tYmluZSkoKChlLHQpPT5lfHx0KSx0aGlzLmNoYXJ0LmlzQWN0aXZlKCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuY2hhcnQuaXNIb3ZlcmVkKCkud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSxyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpyLGdldEJhY2tncm91bmRUb3BDb2xvcjpvLGdldEJhY2tncm91bmRCb3R0b21Db2xvcjpvLHJlcXVlc3RSZXBhaW50OigpPT57dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCkuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkpfSxzaG93SG9yaXpvbnRhbEJvcmRlcjohMH07dGhpcy5fbGhzU3R1YkNvbnRhaW5lcj1uZXcgamkodGhpcy5fcHJvcGVydGllcywibGVmdCIsbCxjLHRoaXMuX29wdGlvbnMucHJpY2VBeGlzTGFiZWxzT3B0aW9ucyx0aGlzKSx0aGlzLl9saHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMsKChlLHQpPT57dGhpcy5fb25MYWJlbEhvdmVyZWQuZmlyZShlLHQpfSkpLHRoaXMuX3Joc1N0dWJDb250YWluZXI9bmV3IGppKHRoaXMuX3Byb3BlcnRpZXMsInJpZ2h0IixsLGMsdGhpcy5fb3B0aW9ucy5wcmljZUF4aXNMYWJlbHNPcHRpb25zLHRoaXMpLHRoaXMuX3Joc1N0dWJDb250YWluZXIub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKGUsdCl9KSksdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNTdHViQ29udGFpbmVyLmdldEVsZW1lbnQoKSksdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NlbGwpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwidGltZS1heGlzIiksdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9IjI1cHgiLHRoaXMuX2R2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2R2LnN0eWxlLndpZHRoPSIxMDAlIix0aGlzLl9kdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2R2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fZHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kdiksdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fZHYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBoPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2R2LCgwLHl0LnNpemUpKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcik7Y29uc3QgZD10aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQ7ZC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGQuc3R5bGUuekluZGV4PSIyIixkLnN0eWxlLmxlZnQ9IjAiLGQuc3R5bGUudG9wPSIwIix0aGlzLl9kdi5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSx0aGlzLnVwZGF0ZSgpLHRoaXMuX21pblZpc2libGVTcGFuPUNuLk1JTlVURV9TUEFOLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyPW5ldyB3aS5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMX0pLHRoaXMuc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pfWRlc3Ryb3koKXt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlci5kZXN0cm95KCksdGhpcy5fdG9wQ2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLAp0aGlzLl9yaHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5vbkxhYmVsSG92ZXJlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xoc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpfXNldEN1cnNvcihlKXtsZXQgdD0iIjsiZ3JhYmJpbmciIT09ZSYmImV3LXJlc2l6ZSIhPT1lfHwodD0idGltZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuc2V0Q3Vyc29yKCIiKX1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9b3B0aW1hbEhlaWdodCgpe2NvbnN0IGU9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtyZXR1cm4gTWF0aC5jZWlsKGUuYm9yZGVyU2l6ZStlLm9mZnNldFNpemUrZS5mb250U2l6ZStlLnBhZGRpbmdUb3ArZS5wYWRkaW5nQm90dG9tK2UubGFiZWxCb3R0b21PZmZzZXQpfXNldFNpemVzKGUsdCxpKXt0aGlzLnNpemUmJigwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuc2l6ZSxlKXx8KHRoaXMuc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4IiksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTaXplcyhlLmhlaWdodCx0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNpemVzKGUuaGVpZ2h0LGkpfXJlbmRlcmVyT3B0aW9ucygpe2lmKCF0aGlzLl9yZW5kZXJlck9wdGlvbnN8fHRoaXMuX3JlbmRlcmVyT3B0aW9ucy5mb250U2l6ZSE9PXRoaXMuZm9udFNpemUoKSl7Y29uc3QgZT10aGlzLmZvbnRTaXplKCk7dGhpcy5fcmVuZGVyZXJPcHRpb25zPXtib3JkZXJTaXplOjEsb2Zmc2V0U2l6ZTo1LGZvbnRTaXplOmUsZm9udDooMCxSaS5tYWtlRm9udCkoZSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSx3aWR0aENhY2hlOm5ldyBCaS5UZXh0V2lkdGhDYWNoZSxwYWRkaW5nVG9wOjMqZS8xMixwYWRkaW5nQm90dG9tOjMqZS8xMixwYWRkaW5nSG9yaXpvbnRhbDo5KmUvMTIsbGFiZWxCb3R0b21PZmZzZXQ6NCplLzEyfX1yZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zfWJhY2tncm91bmRDb2xvcigpe3JldHVybiB0aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpfWxpbmVDb2xvcigpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5saW5lQ29sb3IudmFsdWUoKTtpZigwPT09KDAseWkucGFyc2VSZ2JhKShlKVszXSl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5sYXN0UGFuZSgpO2lmKGUmJmUuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gdGhpcy5jaGFydC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuc2VwYXJhdG9yQ29sb3IudmFsdWUoKX1yZXR1cm4gZX10ZXh0Q29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50ZXh0Q29sb3IudmFsdWUoKX1mb250U2l6ZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCl9YmFzZUZvbnQoKXtyZXR1cm4oMCxSaS5tYWtlRm9udCkodGhpcy5mb250U2l6ZSgpLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWJhc2VCb2xkRm9udCgpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSwiIiwiYm9sZCIpfWhhc0NhbnZhcyhlKXtyZXR1cm4gdGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZXx8dGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZX1vbkxhYmVsSG92ZXJlZCgpe3JldHVybiB0aGlzLl9vbkxhYmVsSG92ZXJlZH1nZXRTY3JlZW5zaG90RGF0YSgpe3JldHVybntjb250ZW50OnRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC50b0RhdGFVUkwoKSxjYW52YXM6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LGNvbnRlbnRXaWR0aDp0aGlzLnNpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLnNpemUuaGVpZ2h0LGxoc1N0dWI6dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJoc1N0dWI6dGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpfX1nZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7Y29uc3QgdD10aGlzLmNoYXJ0LGk9dC5hY3Rpb25zKCkscz1bXTtpZihlfHwodC5tb2RlbCgpLnRpbWVTY2FsZSgpLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKSYmKHMucHVzaChpLnRpbWVTY2FsZVJlc2V0KSxzLnB1c2gobmV3IGVzLlNlcGFyYXRvcikpLHRoaXMuX29wdGlvbnMudGltZXpvbmVNZW51RW5hYmxlZCYmcy5wdXNoKGkuYXBwbHlUaW1lWm9uZSkscy5wdXNoKGkuc2Vzc2lvbkJyZWFrcykpLCF0Lm1vZGVsKCkubWFpblNlcmllcygpLmlzRFdNKCkpe2NvbnN0IGU9dC5tb2RlbCgpPy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKGUpewpjb25zdCBpPXQubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNlc3Npb25JZCxuPShlLnN1YnNlc3Npb25zfHxbXSkuZmlsdGVyKChlPT4hZS5wcml2YXRlJiYoVG58fCIyNGgiIT09ZS5pZCkpKS5zbGljZSgpLnNvcnQoUG4uY29tcGFyZVN1YnNlc3Npb25zRm9yTWVudSk7aWYobi5sZW5ndGg+MSl7Y29uc3Qgcj1lLnR5cGUsbz1uLm1hcCgoZT0+bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNldFNlc3Npb24iLG9wdGlvbnM6e2xhYmVsOigwLFBuLnRyYW5zbGF0ZVNlc3Npb25EZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyKSxjaGVja2FibGU6ITAsY2hlY2tlZDppLnZhbHVlKCk9PT1lLmlkLHN0YXROYW1lOiJTZXRTZXNzaW9uIixvbkV4ZWN1dGU6KCk9Pnt0Lm1vZGVsKCkuc2V0UHJvcGVydHkoaSxlLmlkLEluKX19fSkpKSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXRTZXNzaW9uIixvcHRpb25zOntsYWJlbDpMbixzdGF0TmFtZToiU2V0U2Vzc2lvbiIsc3ViSXRlbXM6b319KTtzLnB1c2goYSl9fX1yZXR1cm4hdC5vbldpZGdldCgpJiYoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiKSYmaS5zY2FsZXNQcm9wZXJ0aWVzJiYocy5sZW5ndGgmJnMucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxzLnB1c2goaS5zY2FsZXNQcm9wZXJ0aWVzKSksc311cGRhdGUoKXtpZighdGhpcy5jaGFydC5oYXNNb2RlbCgpKXJldHVybjtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKS5tYXJrcygpO2lmKGUpe3RoaXMuX21pblZpc2libGVTcGFuPUNuLllFQVJfU1BBTjtmb3IoY29uc3QgdCBvZiBlKXRoaXMuX21pblZpc2libGVTcGFuPU1hdGgubWluKHQuc3Bhbix0aGlzLl9taW5WaXNpYmxlU3Bhbil9fXVwZGF0ZVByaWNlQXhpc1N0dWJzKCl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSx0PXRoaXMuY2hhcnQuaGFzTWF4aW1pemVkUGFuZSgpPygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jaGFydC5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCkpLnN0YXRlKCk6ZS5wYW5lRm9yU291cmNlKGUubWFpblNlcmllcygpKTtpZighdClyZXR1cm47Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCk7dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTY2FsZXMoW10saS5sZWZ0LHQubGVmdFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNjYWxlcyhbXSxpLnJpZ2h0LHQucmlnaHRQcmljZVNjYWxlcygpLmxlbmd0aCxpLmxlZnQraS5yaWdodCl9cGFpbnQoZSl7aWYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmV8fDA9PT10aGlzLnNpemUud2lkdGh8fDA9PT10aGlzLnNpemUuaGVpZ2h0KXJldHVybjsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3QgdD0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCk7aWYoZS5sZXZlbD5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3Ipe2NvbnN0IGk9KDAsS3QuZ2V0Q29udGV4dDJEKSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQpLHM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuZHJhd0JhY2tncm91bmQoaSxzKSx0aGlzLmNoYXJ0Lmhhc01vZGVsKCkmJih0aGlzLmRyYXdCb3JkZXIoaSxzKSx0aGlzLmRyYXdUaWNrTWFya3MoaSxzKSx0aGlzLmRyYXdCYWNrTGFiZWxzKGkscyksdGhpcy5kcmF3Q3Jvc3NIYWlyTGFiZWwodCxzKSksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5wYWludFN0dWJzKGUpLHRoaXMuX3Joc1N0dWJDb250YWluZXIucGFpbnRTdHVicyhlKX10aGlzLmRyYXdDcm9zc0hhaXJMYWJlbCh0LCgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKSl9ZHJhd0JhY2tncm91bmQoZSx0KXtpZigoMCxLdC5jbGVhclJlY3QpKGUsMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpLCF0aGlzLmNoYXJ0Lmhhc01vZGVsKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpO2lmKCFpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSl7Y29uc3Qgcz1pLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc0ZpeGVkKCkpKS5yZWR1Y2UoKChlLHQpPT57Y29uc3QgaT10LnRpbWVBeGlzUG9pbnRzKCk7cmV0dXJuIDA9PT1pLmxlbmd0aD9lOmUuY29uY2F0KGkpfSksW10pO3MubGVuZ3RoPjAmJnRoaXMuX2hpZ2hsaWdodEJhY2tncm91bmQoZSxzLHQpfWNvbnN0IHM9aS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3Muc3RhcnRNZWFzdXJlUG9pbnQoKSYmdGhpcy5faGlnaGxpZ2h0QmFja2dyb3VuZChlLHMubWVhc3VyZVBvaW50cygpLHQpfWRyYXdCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLmxpbmVDb2xvcigpO2NvbnN0IGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMucmVuZGVyZXJPcHRpb25zKCkuYm9yZGVyU2l6ZSp0LnZlcnRpY2FsUGl4ZWxSYXRpbykpLHM9dC5iaXRtYXBTaXplLndpZHRoO2UuZmlsbFJlY3QoMCwwLHMsaSksZS5yZXN0b3JlKCl9ZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpLnRpbWVTY2FsZSgpLm1hcmtzKCk7aWYoIWl8fDA9PT1pLmxlbmd0aClyZXR1cm47bGV0IHM9aS5yZWR1Y2UoKChlLHQpPT5lLnNwYW4+dC5zcGFuP2U6dCksaVswXSkuc3BhbjtzPjMwJiZzPDQwJiYocz0zMCksZS5zYXZlKCksZS5zdHJva2VTdHlsZT10aGlzLmxpbmVDb2xvcigpCjtjb25zdCBuPXRoaXMucmVuZGVyZXJPcHRpb25zKCkscj1uLmJvcmRlclNpemUrbi5vZmZzZXRTaXplK24ucGFkZGluZ1RvcCtuLmZvbnRTaXplLzI7ZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsZS5maWxsU3R5bGU9dGhpcy50ZXh0Q29sb3IoKSwoMCxLdC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS5mb250PXRoaXMuYmFzZUZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3BhbjxzJiZlLmZpbGxUZXh0KG4ubGFiZWwsbi5jb29yZCxyKX1lLmZvbnQ9dGhpcy5iYXNlQm9sZEZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3Bhbj49cyYmZS5maWxsVGV4dChuLmxhYmVsLG4uY29vcmQscil9fSkpLGUucmVzdG9yZSgpfWRyYXdCYWNrTGFiZWxzKGUsdCl7ZS5zYXZlKCk7Y29uc3QgaT1uZXcgU2V0LHM9dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCk7bGV0IG49cy5kYXRhU291cmNlcygpO2NvbnN0IHI9cy5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlKTtzLmhvdmVyZWRTb3VyY2UoKSYmaS5hZGQocy5ob3ZlcmVkU291cmNlKCkpO2Zvcihjb25zdCBlIG9mIHMuc291cmNlc0JlaW5nTW92ZWQoKSlpLmFkZChlKTtjb25zdCBvPXMuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO251bGwhPT1vJiZpLmFkZChvKTtjb25zdCBhPXMubGluZUJlaW5nRWRpdGVkKCk/P3MubGluZUJlaW5nQ3JlYXRlZCgpO2EmJmkuYWRkKGEpLGkuYWRkKHRoaXMuY2hhcnQubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKSksbj1uLmNvbmNhdChzLmN1c3RvbVNvdXJjZXMoKSk7Y29uc3QgbD10aGlzLnJlbmRlcmVyT3B0aW9ucygpO2ZvcihsZXQgcz0wO3M8bi5sZW5ndGg7cysrKXtjb25zdCByPW5bc107aWYoIWkuaGFzKHIpJiZyLnRpbWVBeGlzVmlld3Mpe2NvbnN0IGk9ci50aW1lQXhpc1ZpZXdzKCk7aWYoaSlmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdLnJlbmRlcmVyKCkuZHJhdyhlLHQsbCl9fWUucmVzdG9yZSgpfWRyYXdDcm9zc0hhaXJMYWJlbChlLHQpe2Uuc2F2ZSgpLGUuY2xlYXJSZWN0KDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCk7Y29uc3QgaT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSxzPVtdLG49aS5saW5lQmVpbmdFZGl0ZWQoKT8/aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobiYmbi50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW4udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3Qgcj1pLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKTt0aGlzLl9hZGRWaWV3c09yTWF4TWluKG51bGw9PT1yP1tdOltyXSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc291cmNlc0JlaW5nTW92ZWQoKSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLHMpO2NvbnN0IG89aS5ob3ZlcmVkU291cmNlKCk7aWYobyYmKDAsQWkuaXNEYXRhU291cmNlKShvKSYmIWkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZChvKSYmby50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW8udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3QgYT1pLmNyb3NzaGFpclNvdXJjZSgpLGw9YS50aW1lQXhpc1ZpZXdzJiZhLnRpbWVBeGlzVmlld3MoKTtsJiZsLmxlbmd0aCYmcy5wdXNoKGwpO2NvbnN0IGM9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtmb3IoY29uc3QgaSBvZiBzKWZvcihjb25zdCBzIG9mIGkpZS5zYXZlKCkscy5yZW5kZXJlcigpLmRyYXcoZSx0LGMpLGUucmVzdG9yZSgpO2UucmVzdG9yZSgpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpLHRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfW1vdXNlRG93bk91dHNpZGVFdmVudCgpe3RoaXMuX291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpfXRvdWNoU3RhcnRPdXRzaWRlRXZlbnQoKXt0aGlzLl9vdXRzaWRlTW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfWNvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX10b3VjaENvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX1tb3VzZURvdWJsZUNsaWNrRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9ZG91YmxlVGFwRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9X291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fbW91c2Vkb3duJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9oaWdobGlnaHRCYWNrZ3JvdW5kKGUsdCxpKXtjb25zdCBzPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKTtsZXQgbj10WzBdLmluZGV4LHI9dFswXS5pbmRleAo7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspbj1NYXRoLm1pbihuLHRbZV0uaW5kZXgpLHI9TWF0aC5tYXgocix0W2VdLmluZGV4KTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpvfT1pLGE9TWF0aC5mbG9vcihzLmluZGV4VG9Db29yZGluYXRlKG4pKm8pLGw9TWF0aC5jZWlsKHMuaW5kZXhUb0Nvb3JkaW5hdGUocikqbyk7KDAsS3QuZmlsbFJlY3QpKGUsYSwwLGwtYSxpLmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYXhpc0hpZ2hsaWdodENvbG9yLnZhbHVlKCkpfV9hZGRWaWV3c09yTWF4TWluKGUsdCl7aWYoZS5sZW5ndGg8PTEpe2Zvcihjb25zdCBpIG9mIGUpaWYoaS50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPWkudGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9fWVsc2UgdC5wdXNoKHRoaXMuX21pbk1heFZpZXdzKGUpKX1fbWluTWF4Vmlld3MoZSl7Y29uc3QgdD1bXTtsZXQgaT0xLzAscz0tMS8wLG49bnVsbCxyPW51bGw7Zm9yKGNvbnN0IHQgb2YgZSlpZih0LnRpbWVBeGlzVmlld3Mpe2NvbnN0IGU9dC50aW1lQXhpc1ZpZXdzKCk7aWYoZSYmZS5sZW5ndGgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IG89ZVt0XSxhPW8uY29vcmRpbmF0ZSgpO2E+PXMmJihzPWEscj1vKSxhPD1pJiYoaT1hLG49byl9fXJldHVybiByJiZ0LnB1c2gociksbiYmdC5wdXNoKG4pLHR9X3pvb21BdmFpbGFibGUoKXtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpO3JldHVybiFlLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSYmZS56b29tRW5hYmxlZCgpJiZ0aGlzLl9vcHRpb25zLnByZXNzZWRNb3VzZU1vdmVTY2FsZSYmIXRoaXMuY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe2lmKHRoaXMuX21vdXNlZG93bnx8IXRoaXMuX3pvb21BdmFpbGFibGUoKSlyZXR1cm47dGhpcy5fbW91c2Vkb3duPSEwO2NvbnN0IHQ9dGhpcy5jaGFydC5tb2RlbCgpO3QudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0LnN0YXJ0U2NhbGVUaW1lKGUubG9jYWxYKX1fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKXt0aGlzLl96b29tQXZhaWxhYmxlKCkmJnRoaXMuY2hhcnQubW9kZWwoKS5zY2FsZVRpbWVUbyhlLmxvY2FsWCl9X21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fem9vbUF2YWlsYWJsZSgpJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkJiZOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUodGhpcy5nZXRDb250ZXh0TWVudUFjdGlvbnMoKSxlLHtzdGF0TmFtZToiVGltZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlRpbWVTY2FsZUNvbnRleHRNZW51In0pfV9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5zZXRDdXJzb3IoImV3LXJlc2l6ZSIpfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe3RoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKX1fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkRvdWJsZSBjbGljayB0aW1lIHNjYWxlIiksdGhpcy5jaGFydC5tb2RlbCgpLnJlc2V0VGltZVNjYWxlKCl9fXZhciBrbj1pKDUyNzMyMyksRG49aS5uKGtuKSxFbj1pKDIxODgxNCksUm49KGkoODg5NTE1KSxpKDE3MjEwOSkpLFZuPWkoNzczMDg4KTtmdW5jdGlvbiBCbihlLHQpe3JldHVybiEheC5JbnRlcnZhbC5pc0VxdWFsKGUucmVzLHQucmVzKSYmKDAsVm4uYXJlRXF1YWxUaW1lRnJhbWVzKShlLnZhbCx0LnZhbCl9dmFyIE5uPWkoNzA0NTcyKSxPbj1pKDM0Mjc4KTtjb25zdCBXbj17ZHVyYXRpb246MjUwLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3MgRm57Y29uc3RydWN0b3IoZSl7dGhpcy5fb25GaW5pc2hDYWxsZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4uV24sLi4uZX0sdGhpcy5fc3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWdldFN0YXJ0UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5mcm9tfWdldFBvc2l0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSk7cmV0dXJuIDE9PT10Pyh0aGlzLl9vcHRpb25zLm9uRmluaXNoJiYhdGhpcy5fb25GaW5pc2hDYWxsZWQmJih0aGlzLl9vcHRpb25zLm9uRmluaXNoKCEwKSx0aGlzLl9vbkZpbmlzaENhbGxlZD0hMCksdGhpcy5fb3B0aW9ucy50byk6KDAsT24ubGVycCkodGhpcy5fb3B0aW9ucy5mcm9tLHRoaXMuX29wdGlvbnMudG8sdGhpcy5fb3B0aW9ucy5lYXNpbmcodCkpfWZpbmlzaGVkKGUpe3JldHVybiAxPT09dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSl9b25GaW5pc2goZSl7dGhpcy5fb25GaW5pc2hDYWxsZWR8fCh0aGlzLl9vcHRpb25zLm9uRmluaXNoPy4oZSksdGhpcy5fb25GaW5pc2hDYWxsZWQ9ITApfV9jYWxjdWxhdGVQcm9ncmVzcyhlKXtjb25zdCB0PWUtdGhpcy5fc3RhcnRUaW1lO3JldHVybiB0Pj10aGlzLl9vcHRpb25zLmR1cmF0aW9uPzE6dC90aGlzLl9vcHRpb25zLmR1cmF0aW9ufX12YXIgSG49aSgyODJlMyk7ZnVuY3Rpb24gem4oZSx0LGkscyl7bGV0IG49bnVsbDtpZihpLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKSl7Y29uc3Qgcj1pLmF2YWlsYWJsZUN1cnJlbmNpZXMoKS52YWx1ZSgpLG89dC5jdXJyZW5jeShyKSxhPWUuY3VycmVuY3koKTtudWxsIT09byYmbnVsbCE9PW8uc2VsZWN0ZWRDdXJyZW5jeSYmIW8uYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsJiZvLnNlbGVjdGVkQ3VycmVuY3khPT1hJiYocyYmbnVsbD09PWF8fG51bGwhPT1hJiZyPy5jb252ZXJ0aWJsZShhKSkmJihuPW8uc2VsZWN0ZWRDdXJyZW5jeSl9cmV0dXJuIG59CmNvbnN0IFVuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBjb2xsYXBzZWQgcGFuZSBzdGF0ZSIscC50KG51bGwsdm9pZCAwLGkoMTQ1MzY2KSkpO2NsYXNzIEduIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKFVuKSx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fcGFuZUluZGV4PXR9cmVkbygpe3RoaXMuX2NoYXJ0TW9kZWwudG9nZ2xlQ29sbGFwc2VkUGFuZSh0aGlzLl9wYW5lSW5kZXgpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnRvZ2dsZUNvbGxhcHNlZFBhbmUodGhpcy5fcGFuZUluZGV4KX19Y29uc3Qgam49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIixwLnQobnVsbCx2b2lkIDAsaSg3ODQxMjgpKSk7Y2xhc3MgcW4gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoam4pLHRoaXMuX21vZGVsPWU7Y29uc3QgaT1lLm1heGltaXplZFBhbmUoKS52YWx1ZSgpLHM9bnVsbD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZihpKTt0aGlzLl9tYXhpbWl6ZWRQYW5lSW5kZXg9dD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZih0KSx0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4PXN9cmVkbygpe3RoaXMuX3NldE1heGltaXplZFBhbmUodGhpcy5fbWF4aW1pemVkUGFuZUluZGV4KX11bmRvKCl7dGhpcy5fc2V0TWF4aW1pemVkUGFuZSh0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4KX1fc2V0TWF4aW1pemVkUGFuZShlKXt0aGlzLl9tb2RlbC5zZXRNYXhpbWl6ZWRQYW5lKG51bGw9PT1lP251bGw6dGhpcy5fbW9kZWwucGFuZXMoKVtlXSl9fXZhciAkbj1pKDQzODUzOSksWW49aSg4MzY4MjgpO2NvbnN0IEtuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0IixwLnQobnVsbCx2b2lkIDAsaSg5NjM1NTEpKSksWG49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBhbGwgc2NhbGVzIHRvIHJpZ2h0IixwLnQobnVsbCx2b2lkIDAsaSg3OTEzNzEpKSksWm49KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5NZXJnZUFsbFNjYWxlcyIpO2NsYXNzIEpuIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scil7c3VwZXIociksdGhpcy5fbW9kZWw9ZSx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fdGFyZ2V0UG9zaXRpb249cyx0aGlzLl90YXJnZXRJbmRleD1uLHRoaXMuX3NjYWxlSWQ9aS5pZCgpLHRoaXMuX3NvdXJjZVBvc2l0aW9uPXQucHJpY2VTY2FsZVBvc2l0aW9uKGkpLCJvdmVybGF5IiE9PXRoaXMuX3NvdXJjZVBvc2l0aW9uJiYodGhpcy5fc291cmNlSW5kZXg9dC5wcmljZVNjYWxlSW5kZXgoaSx0aGlzLl9zb3VyY2VQb3NpdGlvbikpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9zY2FsZUlkKSk7ZS5tb3ZlUHJpY2VTY2FsZSh0LHRoaXMuX3RhcmdldFBvc2l0aW9uLHRoaXMuX3RhcmdldEluZGV4KSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZXMoKVt0aGlzLl9wYW5lSW5kZXhdLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHRoaXMuX3NjYWxlSWQpKTtlLm1vdmVQcmljZVNjYWxlKHQsdGhpcy5fc291cmNlUG9zaXRpb24sdGhpcy5fc291cmNlSW5kZXgpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX19dmFyIFFuPWkoNjU2MTkxKTtjbGFzcyBlciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX2NyZWF0ZWRJZHM9W10sdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMSx0aGlzLl9tb2RlbD1lLHRoaXMuX3dpdGhvdXRTaGlmdD1pLHRoaXMuX29yaWdTdGF0ZXM9dC5tYXAoKGU9PmUuc3RhdGUoITApKSk7Y29uc3Qgbj1lLmxpbmVUb29sc0dyb3VwTW9kZWwoKTt0aGlzLl9vcmlnR3JvdXBzPXQubWFwKChlPT57Y29uc3QgdD1uLmdyb3VwRm9yTGluZVRvb2woZSk7cmV0dXJuIHQmJnQuaWR9KSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpO2xldCB0O3RoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnR8fCh0PSJDbG9uZSIsdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMCk7Y29uc3QgaT10aGlzLl9vcmlnU3RhdGVzLm1hcCgoKGkscyk9Pntjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGkuaWQpKSxyPTA9PT10aGlzLl9jcmVhdGVkSWRzLmxlbmd0aD92b2lkIDA6KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVkSWRzW3NdKSxvPSgwLHJpLmNsb25lTGluZVRvb2wpKHRoaXMuX21vZGVsLG4sIXRoaXMuX3dpdGhvdXRTaGlmdCxyLHQpO3ZvaWQgMCE9PWkuc2hhcmluZ01vZGUmJm8uc2hhcmUoaS5zaGFyaW5nTW9kZSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKG4ucHJpY2VTY2FsZSgpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UobikpLmFkZERhdGFTb3VyY2UobyxhLCExKTtjb25zdCBjPXRoaXMuX29yaWdHcm91cHNbc107aWYobnVsbCE9PWMpe2NvbnN0IHQ9ZS5ncm91cEZvcklkKGMpO3QmJnQuYWRkSXRlbXMoW29dKX1yZXR1cm4gdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKG8pLG99KSk7MD09PXRoaXMuX2NyZWF0ZWRJZHMubGVuZ3RoJiYodGhpcy5fY3JlYXRlZElkcz1pLm1hcCgoZT0+ZS5pZCgpKSkpLHRoaXMuX21vZGVsLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGkuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMuX21vZGVsLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKQo7dGhpcy5fY3JlYXRlZElkcy5mb3JFYWNoKCh0PT57Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSkscz1lLmdyb3VwRm9yTGluZVRvb2woaSk7bnVsbCE9PXMmJnMuZXhjbHVkZUl0ZW0oaSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGkpfSkpfW5ld0lkcygpe3JldHVybiB0aGlzLl9jcmVhdGVkSWRzfX12YXIgdHI9aSg4NDg3ODUpLGlyPWkoNDY3NTM5KSxzcj1pKDc2NTg3MSk7Y2xhc3MgbnIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHM9ITApe3N1cGVyKGkscywoMCxzci5zb3VyY2VzQWZmZWN0U3RhdGUpKHQpKSx0aGlzLl9uZXdTdGF0ZXM9W10sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zYXZlZFN0YXRlcz10Lm1hcCgoZT0+ZS5zdGF0ZSghMSkpKX1yZWRvKCl7dGhpcy5fYXBwbHlTdGF0ZSh0aGlzLl9uZXdTdGF0ZXMpfXVuZG8oKXswPT09dGhpcy5fbmV3U3RhdGVzLmxlbmd0aCYmdGhpcy5zYXZlTmV3U3RhdGUoKSx0aGlzLl9hcHBseVN0YXRlKHRoaXMuX3NhdmVkU3RhdGVzKX1zYXZlTmV3U3RhdGUoKXtjb25zdCBlPXRoaXMuX3NhdmVkU3RhdGVzLmZpbHRlcihhLm5vdE51bGwpLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZS5pZCkpKSk7dGhpcy5fbmV3U3RhdGVzPWUubWFwKChlPT5lLnN0YXRlKCExKSkpfV9hcHBseVN0YXRlKGUpe2Zvcihjb25zdCB0IG9mIGUpaWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGwhPT1lKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBpPXQuc3RhdGUuaW5wdXRzLHM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2Zvcihjb25zdCBlIGluIGkpc1tlXSYmc1tlXS5zZXRWYWx1ZShpW2VdKX1lbHNle2NvbnN0IGk9ZTt0aGlzLl9tb2RlbC5yZXN0b3JlTGluZVRvb2xTdGF0ZShpLHQsITApLGkuc3luY2hyb25pemVBbGVydCghMCl9fX19dmFyIHJyPWkoOTk5OTc0KTtjbGFzcyBvciBleHRlbmRzIHJyLk1vdmVTb3VyY2VVbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKSx0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKSxpPXRoaXMuX2NoYXJ0TW9kZWwuY2hpbGRyZW4oZSwhMCwhMCk7dC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLmRldGFjaFNvdXJjZShlKSkpLHRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpfSkpO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMudGFyZ2V0UGFuZUluZGV4KGUpKSxuPXMuZmluZFN1aXRhYmxlU2NhbGUoZSk7cy5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5hZGREYXRhU291cmNlKGUsbiwhMSksaS5mb3JFYWNoKChlPT5zLmFkZERhdGFTb3VyY2UoZSxuLCExKSkpfSkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSk7ci5yZXN0b3JlU3RhdGUodGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKHMuaXNPdmVybGF5KGUpKSksci5zZXRIZWlnaHQocy5oZWlnaHQoKSksdGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShlKSksaT10aGlzLl9jaGFydE1vZGVsLmNoaWxkcmVuKGUsITAsITApO3QuYnVsa0FjdGlvbk1hY3JvKCgoKT0+e2kuZm9yRWFjaCgoZT0+dGhpcy5fY2hhcnRNb2RlbC5kZXRhY2hTb3VyY2UoZSkpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpOygwLGwuYXNzZXJ0KSh0LCJVbmRvIG9mIGRldGFjaGluZyBtdXN0IHJlbW92ZSBwYW5lIil9KSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5faW5pdGlhbFBhbmVJbmRleF07bGV0IG49cy5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9pbml0aWFsUHJpY2VTY2FsZUlkKTtudWxsPT09biYmKG49cy5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbih0aGlzLl9pbml0aWFsUHJpY2VTY2FsZVBvc2l0aW9uLHRoaXMuX2luaXRpYWxQcmljZVNjYWxlSW5kZXgpKSxzLmJ1bGtBY3Rpb25NYWNybygoKCk9PntzLmFkZERhdGFTb3VyY2UoZSxuLCEwKSxpLmZvckVhY2goKGU9PnMuYWRkRGF0YVNvdXJjZShlLG4sITEpKSl9KSk7Y29uc3Qgcj0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtyLnJlc3RvcmVTdGF0ZSh0aGlzLl9vcmlnaW5hbFByaWNlU2NhbGVTdGF0ZSgpKSxyLnNldEhlaWdodChzLmhlaWdodCgpKSx0aGlzLl9jaGFydE1vZGVsLmZ1bGxVcGRhdGUoKX19Y2xhc3MgYXIgZXh0ZW5kcyBvcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4KzE7Zm9yKGxldCBlPXRoaXMuX2luaXRpYWxQYW5lSW5kZXgrMTtlPHQubGVuZ3RoO2UrKylpZih0W2VdLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gZTx0Lmxlbmd0aC0xJiZ0W2VdLmNvbnRhaW5zTWFpblNlcmllcygpJiZ0W2UrMV0ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/ZSsxOmU7cmV0dXJuIHQubGVuZ3RofX1jbGFzcyBsciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9CnRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4O2ZvcihsZXQgZT10aGlzLl9pbml0aWFsUGFuZUluZGV4LTE7ZT49MDtlLS0paWYodFtlXS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpcmV0dXJuIGU+MCYmdFtlXS5jb250YWluc01haW5TZXJpZXMoKSYmdFtlLTFdLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P2UtMTplO3JldHVybiAwfX1jbGFzcyBjciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9dGFyZ2V0UGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGh9fXZhciBocj1pKDk2NDU3MyksZHI9aSg5MDA3OTcpLHVyPWkoNzc1ODY5KSxwcj1pKDUyMzc2NSksX3I9aSg0NTYyMyk7Y29uc3QgbXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3JlYXRlIHt0b29sfSIscC50KG51bGwsdm9pZCAwLGkoNTQ5OTg2KSkpO2NsYXNzIGdyIGV4dGVuZHMgcHIuTGluZVRvb2xTeW5jaHJvbml6ZVVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKHttb2RlbDplLHBhbmU6dCxsaW5lVG9vbDppLG93bmVyU291cmNlOnMsZHJhd09uQWxsQ2hhcnRzTW9kZTpuPTAsaWQ6cixrZWVwU2VsZWN0ZWRHcm91cDpvPSExfSl7c3VwZXIoZSxtci5mb3JtYXQoe3Rvb2w6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhpLF9yLmxpbmVUb29sc0xvY2FsaXplZE5hbWVzW2ldKX0pLCExLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9saW5lSWQ9bnVsbCx0aGlzLl9saW5lU3RhdGU9bnVsbCx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fbGluZVRvb2w9aSx0aGlzLl9vd25lclNvdXJjZUlkPXMuaWQoKSx0aGlzLl9saW5lSWQ9cj8/bnVsbCx0aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlPW4sdGhpcy5fa2VlcFNlbGVjdGVkR3JvdXA9b31rZWVwU2VsZWN0ZWRHcm91cCgpe3JldHVybiB0aGlzLl9rZWVwU2VsZWN0ZWRHcm91cH1zdGFydENyZWF0aW5nTGluZShlLHQsaSxzLG4scil7Y29uc3Qgbz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSxhPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX293bmVyU291cmNlSWQpfHx2b2lkIDAsbD10aGlzLl9jaGFydE1vZGVsLmNyZWF0ZUxpbmVUb29sKHtwYW5lOm8scG9pbnQ6ZSxsaW5ldG9vbDp0aGlzLl9saW5lVG9vbCxwcm9wZXJ0aWVzOnQsbGlua0tleTppLHNoYXJpbmdNb2RlOnMsb3duZXJTb3VyY2U6YSxpZDp0aGlzLl9saW5lSWQ/P3ZvaWQgMCxmcm9tRXh0ZXJuYWxNb2RlbDpuLGFjdGlvblNvdXJjZTpyfSk7cmV0dXJuIHRoaXMuX2xpbmVJZD1sLmlkKCksdGhpcy5fZnJvbUV4dGVybmFsTW9kZWw9biwhdGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyl7KDAsbC5hc3NlcnQpKHRoaXMuX2xpbmVJZD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpPy5pZCgpLCJDYW5ub3QgY29udGludWUgbm90IGxlYXN0IGNyZWF0ZWQgbGluZSIpO2NvbnN0IG49dGhpcy5fY2hhcnRNb2RlbC5jb250aW51ZUNyZWF0aW5nTGluZShlLHQsaSxzLHRoaXMuX2Zyb21FeHRlcm5hbE1vZGVsKTtyZXR1cm4gbiYmdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKSxufWxpbmUoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2xpbmVJZD9udWxsOnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX2xpbmVJZCl9ZHJhd09uQWxsQ2hhcnRzKCl7cmV0dXJuIDAhPT10aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlfV9yZWRvKCl7aWYobnVsbD09PXRoaXMuX2xpbmVTdGF0ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTb3VyY2UoITEsdGhpcy5fcGFuZUluZGV4LG51bGwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lU3RhdGUpLG51bGwpO251bGwhPT1lJiYodGhpcy5fbGluZUlkPWUuaWQoKSx0aGlzLl9saW5lU3RhdGU9bnVsbCxlLnNoYXJlKHRoaXMuX2RyYXdPbkFsbENoYXJ0c01vZGUpKX1fdW5kbygpe2NvbnN0IGU9dGhpcy5saW5lKCk7bnVsbCE9PWUmJih0aGlzLl9saW5lU3RhdGU9ZS5zdGF0ZSghMSksdGhpcy5fY2hhcnRNb2RlbC5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZUlkPW51bGwpfX1jb25zdCBmcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IHRvIGZyb250IixwLnQobnVsbCx2b2lkIDAsaSgzODY1MjIpKSksU3I9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2VuZCB7dGl0bGV9IHRvIGJhY2siLHAudChudWxsLHZvaWQgMCxpKDUwMTUwNykpKSx2cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0VGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSgxMDg2MDIpKSkseXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDc4MTcyMSkpKSxicj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDU0MDAzOCkpKSx3cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDg4NzI4MikpKSxDcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIGdyb3VwIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDUxNzYyMikpKSxQcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyBncm91cCB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDYwMjQzMSkpKTtmdW5jdGlvbiBUcihlKXsKcmV0dXJuIG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZS5uYW1lKCksZS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfWNsYXNzIHhyIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsKDAsc3Iuc291cmNlc0FmZmVjdFN0YXRlKSh0KSksdGhpcy5fc291cmNlc0J5UGFuZXM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbFN0YXRlPW5ldyBNYXAsdGhpcy5fbW9kZWw9ZSx0LmZvckVhY2goKHQ9Pntjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKSxzPWUucGFuZXMoKS5pbmRleE9mKGkpLG49dGhpcy5fc291cmNlc0J5UGFuZXMuZ2V0KHMpfHxbXTtuLnB1c2godC5pZCgpKSx0aGlzLl9zb3VyY2VzQnlQYW5lcy5zZXQocyxuKX0pKSxBcnJheS5mcm9tKHRoaXMuX3NvdXJjZXNCeVBhbmVzLmtleXMoKSkuZm9yRWFjaCgodD0+e2NvbnN0IGk9ZS5wYW5lcygpW3RdLHM9bmV3IE1hcCxuPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLm11bHRpcGFuZVNvdXJjZXMoKSk7aS5zb3VyY2VzQnlHcm91cCgpLmFsbEluY2x1ZGluZ0hpZGRlbigpLmZpbHRlcigoZT0+IW4uaGFzKGUpKSkuZm9yRWFjaCgoZT0+e3Muc2V0KGUuaWQoKSxlLnpvcmRlcigpKX0pKSx0aGlzLl9vcmlnaW5hbFN0YXRlLnNldCh0LHMpfSkpfXVuZG8oKXt0aGlzLl9vcmlnaW5hbFN0YXRlLmZvckVhY2goKChlLHQpPT57Y29uc3QgaT10aGlzLl9tb2RlbC5wYW5lcygpW3RdLHM9bmV3IE1hcDtlLmZvckVhY2goKChlLHQpPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkuZGF0YVNvdXJjZUZvcklkKHQpKTtzLnNldChuLGUpfSkpLGkuc2V0Wk9yZGVycyhzKX0pKX1yZWRvKCl7dGhpcy5fc291cmNlc0J5UGFuZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBpPXRoaXMuX21vZGVsLnBhbmVzKClbdF0scz1lLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShpLmRhdGFTb3VyY2VGb3JJZChlKSkpKTt0aGlzLl9wYW5lT3BlcmF0aW9uKGkscyl9KSl9fWNsYXNzIE1yIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsZnIuZm9ybWF0KHt0aXRsZTpUcih0WzBdKX0pKX1fcGFuZU9wZXJhdGlvbihlLHQpe2UuYnJpbmdUb0Zyb250KHQpfX1jbGFzcyBJciBleHRlbmRzIHhye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LFNyLmZvcm1hdCh7dGl0bGU6VHIodFswXSl9KSl9X3BhbmVPcGVyYXRpb24oZSx0KXtlLnNlbmRUb0JhY2sodCl9fWNsYXNzIExyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRBZnRlcih0LHRoaXMuX3RhcmdldFNvdXJjZSl9fWNsYXNzIEFyIGV4dGVuZHMgTHJ7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpLHZyLmZvcm1hdCh7dGl0bGU6VHIodFswXSksdGFyZ2V0VGl0bGU6VHIoaSl9KSl9fWNsYXNzIGtyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRCZWZvcmUodCx0aGlzLl90YXJnZXRTb3VyY2UpfX1jbGFzcyBEciBleHRlbmRzIGtye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSx5ci5mb3JtYXQoe3RpdGxlOlRyKHRbMF0pLHRhcmdldFRpdGxlOlRyKGkpfSkpfX1mdW5jdGlvbiBFcihlLHQpe2NvbnN0IGk9dFswXSxzPWUuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLmZpbHRlcigoZT0+ZS56b3JkZXIoKTxpLnpvcmRlcigpKSk7aWYoMD09PXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IG1vdmUgYmFja3dhcmQgc291cmNlIHRoYXQgYWxyZWFkeSBvbiBiYWNrIik7bGV0IG49c1tzLmxlbmd0aC0xXTtpZigoMCxyaS5pc0xpbmVUb29sKShuKSl7Y29uc3QgdD1lLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wobik7bnVsbCE9PXQmJihuPXQubGluZVRvb2xzKClbMF0pfXJldHVybiBufWNsYXNzIFJyIGV4dGVuZHMga3J7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsaSxFcih0LGkpLGJyLmZvcm1hdCh7dGl0bGU6VHIoaVswXSl9KSl9fWZ1bmN0aW9uIFZyKGUsdCl7Y29uc3QgaT10W3QubGVuZ3RoLTFdLHM9ZS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCkuZmlsdGVyKChlPT5lLnpvcmRlcigpPmkuem9yZGVyKCkpKTtpZigwPT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYnJpbmcgZm9yd2FyZCBzb3VyY2UgdGhhdCBhbHJlYWR5IG9uIGJhY2siKTtsZXQgbj1zWzBdO2lmKCgwLHJpLmlzTGluZVRvb2wpKG4pKXtjb25zdCB0PWUubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChuKTtpZihudWxsIT09dCl7Y29uc3QgZT10LmxpbmVUb29scygpO249ZVtlLmxlbmd0aC0xXX19cmV0dXJuIG59Y2xhc3MgQnIgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSxpLFZyKHQsaSksd3IuZm9ybWF0KHt0aXRsZTpUcihpWzBdKX0pKX19ZnVuY3Rpb24gTnIoZSx0KXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUucGFuZUZvclNvdXJjZSh0LmxpbmVUb29scygpWzBdKSl9Y2xhc3MgT3IgZXh0ZW5kcyBrcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxFcihOcihlLHQpLHQubGluZVRvb2xzKCkpLENyLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19Y2xhc3MgV3IgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxWcihOcihlLHQpLHQubGluZVRvb2xzKCkpLFByLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19dmFyIEZyPWkoNjk0Mzg5KTtjb25zdCBIcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZWFycmFuZ2UgcGFuZXMiLHAudChudWxsLHZvaWQgMCxpKDc5NzQ5MSkpKTtjbGFzcyB6ciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpewppZihzdXBlcihIciksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2luZGV4PXQsKDAsYS5pc051bWJlcikoaSkpdGhpcy5fZHN0SW5kZXg9aTtlbHNle2NvbnN0IHM9InVwIj09PWk/LTE6MTt0aGlzLl9kc3RJbmRleD10K3MsZS5wYW5lcygpW3RoaXMuX2RzdEluZGV4XS5tb2RlKCk9PT1Gci5QYW5lTW9kZS5XaWRnZXQmJih0aGlzLl9kc3RJbmRleD10aGlzLl9kc3RJbmRleCtzKX19cmVkbygpe3RoaXMuX2NoZWNrSW5kaWNlcygpJiZ0aGlzLl9jaGFydE1vZGVsLm1vdmVQYW5lKHRoaXMuX2luZGV4LHRoaXMuX2RzdEluZGV4KX11bmRvKCl7dGhpcy5fY2hlY2tJbmRpY2VzKCkmJnRoaXMuX2NoYXJ0TW9kZWwubW92ZVBhbmUodGhpcy5fZHN0SW5kZXgsdGhpcy5faW5kZXgpfV9jaGVja0luZGljZXMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGg7cmV0dXJuIHRoaXMuX2luZGV4Pj0wJiZ0aGlzLl9pbmRleDxlJiZ0aGlzLl9kc3RJbmRleD49MCYmdGhpcy5fZHN0SW5kZXg8ZX19dmFyIFVyPWkoMzYyMjM5KTt2YXIgR3I9aSg5NzQ2NjMpLGpyPWkoMjI1Mjk4KSxxcj1pKDI2NDUxMyk7Y2xhc3MgJHIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbixyKXtzdXBlcihzKSx0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHM9e30sdGhpcy5fZGVwZW5kZW50VmFsdWVzPVtdLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX21haW5TZXJpZXM9aSx0aGlzLl92YWx1ZT10LHRoaXMuX21vZGVsPW4sdGhpcy5fY2hhcnRXaWRnZXQ9cn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLHQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5fZGVwZW5kZW50VmFsdWVzPSgwLHFyLnByZXBhcmVEZXBlbmRlbnRWYWx1ZXMpKHRoaXMuX3Byb3BlcnR5KSx0aGlzLl9wcmV2UmVzb2x1dGlvbj10LmludGVydmFsLnZhbHVlKCksdGhpcy5fcHJldlZhbHVlPXRoaXMuX3Byb3BlcnR5LnZhbHVlKCksdGhpcy5fc3RvcmVQcmljZUF4aXNQcm9wcygpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKTtjb25zdCBpPXQuaW50ZXJ2YWwudmFsdWUoKSxzPXRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpLG49KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKSh0aGlzLl92YWx1ZSxpLHMpO2pyLmxpbmtpbmcuaW50ZXJ2YWxTeW5jRW5hYmxlZCgpP2pyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IobiwiQ2hhcnQgc3R5bGUiLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZCx0aGlzLl9jaGFydFdpZGdldCk6dGhpcy5faW50ZXJ2YWxDaGFuZ2VXYXNUcmFja2VkfHx4LkludGVydmFsLmlzRXF1YWwoaSxuKXx8KDAsSGUudHJhY2tJbnRlcnZhbENoYW5naW5nKShuLCJDaGFydCBzdHlsZSIpLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMCxlLnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZCh0aGlzLl92YWx1ZSxuKSwoMCxBLnNldExhc3RVc2VkU3R5bGUpKHRoaXMuX3ZhbHVlLGUuc3ltYm9sSW5mbygpKSwoMCxBLnByZXBhcmVQcmljZUF4aXNQcm9wZXJ0aWVzKSh0KSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSksdGhpcy5faW52YWxpZGF0ZU1vZGVsKCksdGhpcy5fY2hhcnRXaWRnZXQuc2NyZWVuLnNob3coITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXM7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLGUuc2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKHRoaXMuX3ByZXZWYWx1ZSx0aGlzLl9wcmV2UmVzb2x1dGlvbiksdGhpcy5fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCksanIubGlua2luZy5pbnRlcnZhbFN5bmNFbmFibGVkKCkmJmpyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IodGhpcy5fcHJldlJlc29sdXRpb24sIkNoYXJ0IHN0eWxlIHVuZG8iLCEwLHRoaXMuX2NoYXJ0V2lkZ2V0KSwoMCxxci5yZXN0b3JlRGVwZW5kZW50VmFsdWVzKSh0aGlzLl9wcm9wZXJ0eSx0aGlzLl9kZXBlbmRlbnRWYWx1ZXMpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9pbnZhbGlkYXRlTW9kZWwoKSx0aGlzLl9jaGFydFdpZGdldC5zY3JlZW4uc2hvdyghMCl9X3N0b3JlUHJpY2VBeGlzUHJvcHMoKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpO3RoaXMuX3ByZXZQcmljZUF4aXNQcm9wcz1lLm1vZGUoKX1fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCl7dGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHMpfV9pbnZhbGlkYXRlTW9kZWwoKXt0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSl9fWNvbnN0IFlyPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBkYXRlIHJhbmdlIixwLnQobnVsbCx2b2lkIDAsaSgyNDcwMTQpKSk7Y2xhc3MgS3IgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoWXIpLHRoaXMuX21vZGVsc0RhdGE9W10sdGhpcy5fcmFuZ2VPcHRpb25zPXQsdGhpcy5fbW9kZWxzRGF0YS5wdXNoKHttb2RlbDplLHByZXZSZXNvbHV0aW9uOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLGJhclNwYWNpbmc6ZS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkscmlnaHRPZmZzZXQ6ZS50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpLHJhbmdlT3B0aW9uczplLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpfSl9cmVkbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbAo7eC5JbnRlcnZhbC5pc0VxdWFsKHRoaXMuX3JhbmdlT3B0aW9ucy5yZXMsaS52YWx1ZSgpKT90LmxvYWREYXRhVG8odGhpcy5fcmFuZ2VPcHRpb25zLnZhbCk6KHQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9yYW5nZU9wdGlvbnMudmFsKSx0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6dGhpcy5fcmFuZ2VPcHRpb25zLnJlc30pKX19dW5kbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbDtlLnByZXZSZXNvbHV0aW9uIT09aS52YWx1ZSgpPyhudWxsIT09ZS5yYW5nZU9wdGlvbnMmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZShlLnJhbmdlT3B0aW9ucy52YWwpLHQuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDplLnByZXZSZXNvbHV0aW9ufSkpOm51bGwhPT1lLnJhbmdlT3B0aW9ucyYmdC5sb2FkRGF0YVRvKGUucmFuZ2VPcHRpb25zLnZhbCk7Y29uc3Qgcz1lLm1vZGVsLnRpbWVTY2FsZSgpO3Muc2V0QmFyU3BhY2luZyhlLmJhclNwYWNpbmcpLHMuc2V0UmlnaHRPZmZzZXQoZS5yaWdodE9mZnNldCl9fWNhbk1lcmdlKGUpe3JldHVybiBlIGluc3RhbmNlb2YgS3ImJkJuKGUuX3JhbmdlT3B0aW9ucyx0aGlzLl9yYW5nZU9wdGlvbnMpfW1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEtyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29tbWFuZCB0byBtZXJnZSIpO3RoaXMuX21vZGVsc0RhdGE9dGhpcy5fbW9kZWxzRGF0YS5jb25jYXQoZS5fbW9kZWxzRGF0YSl9fXZhciBYcj1pKDU5MDY5NSk7Y29uc3QgWnI9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbHNHcm91cCIpO2xldCBKcj0hMTtmdW5jdGlvbiBRcihlKXtyZXR1cm4gZS5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpfWZ1bmN0aW9uIGVvKGUpe2Zvcihjb25zdCB0IG9mIGUuaXRlbXMoKSl7aWYoISgwLFhyLmlzTGluZVRvb2xzR3JvdXApKHQpKXJldHVybiB0O2NvbnN0IGU9ZW8odCk7aWYobnVsbCE9PWUpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdG8oZSx0KXtmb3IoY29uc3QgaSBvZiBlLml0ZW1zKCkpKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSk/dG8oaSx0KTp0LnB1c2goaS5pZCgpKX1jbGFzcyBpb3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5faW5zdGFuY2VJZD0oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX2l0ZW1zU2V0PW5ldyBTZXQsdGhpcy5fbGluZVRvb2xzQ2FjaGU9bnVsbCx0aGlzLl9zdWJncm91cHNDYWNoZT1udWxsLHRoaXMuX3BhcmVudEdyb3VwPW51bGwsdGhpcy5pZD1pfHwoMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbmFtZT1uZXcgaC5XYXRjaGVkVmFsdWUodCksdGhpcy5faW5zZXJ0SXRlbXMoZSl9aW5zdGFuY2VJZCgpe3JldHVybiB0aGlzLl9pbnN0YW5jZUlkfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfWxpbmVUb29scygpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzQ2FjaGUmJih0aGlzLl9saW5lVG9vbHNDYWNoZT10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9saW5lVG9vbHNDYWNoZX1zdWJncm91cHMoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3N1Ymdyb3Vwc0NhY2hlJiYodGhpcy5fc3ViZ3JvdXBzQ2FjaGU9dGhpcy5faXRlbXMuZmlsdGVyKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9zdWJncm91cHNDYWNoZX1wYXJlbnRHcm91cCgpe3JldHVybiB0aGlzLl9wYXJlbnRHcm91cH1zZXRQYXJlbnRHcm91cChlKXt0aGlzLl9wYXJlbnRHcm91cD1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1zZXROYW1lKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCgoKT0+e3RoaXMuX25hbWUuc2V0VmFsdWUoZSl9KSl9c2hvdWxkQmVSZW1vdmVkT25EZXNlbGVjdCgpe3JldHVybiExfWlzQWN0dWFsU3ltYm9sKCl7Y29uc3QgZT1lbyh0aGlzKTtyZXR1cm4gbnVsbCE9PWUmJmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5zeW1ib2woKX1jdXJyZW5jeUlkKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpPz9udWxsfXVuaXRJZCgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpPz9udWxsfWlzU3luY2hyb25pemFibGUoKXtyZXR1cm4gdGhpcy5faXRlbXMuc29tZSgoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKX1zaGFyaW5nTW9kZSgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkuc2hhcmluZ01vZGUoKX1zaGFyZShlKXt0aGlzLl9pdGVtcy5mb3JFYWNoKCh0PT50LnNoYXJlKGUpKSl9Y29udGFpbnNJdGVtKGUpe3JldHVybiB0aGlzLl9pdGVtc1NldC5oYXMoZSl9Z3JvdXBGb3JMaW5lVG9vbChlKXtpZih0aGlzLl9pdGVtc1NldC5oYXMoZSkpcmV0dXJuIHRoaXM7Zm9yKGNvbnN0IHQgb2YgdGhpcy5zdWJncm91cHMoKSl7Y29uc3QgaT10Lmdyb3VwRm9yTGluZVRvb2woZSk7aWYobnVsbCE9PWkpcmV0dXJuIGl9cmV0dXJuIG51bGx9YWRkSXRlbXMoZSl7dGhpcy5fZG9BbmRGaXJlT25DaGFuZ2UoKHQ9Pnt0aGlzLl9pbnNlcnRJdGVtcyhlLHQpfSkpfWV4Y2x1ZGVJdGVtKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCh0PT57dGhpcy5fcmVtb3ZlSXRlbXMoW2VdLHQpfSkpfWV4Y2x1ZGVJdGVtcyhlKXt0aGlzLl9kb0FuZEZpcmVPbkNoYW5nZSgodD0+e3RoaXMuX3JlbW92ZUl0ZW1zKGUsdCl9KSl9c3RhdGUoKXtyZXR1cm57aWQ6dGhpcy5pZCxuYW1lOnRoaXMuX25hbWUudmFsdWUoKSx0b29sczp0aGlzLmxpbmVUb29scygpLm1hcCgoZT0+ZS5pZCgpKSl9fXZpc2liaWxpdHkoKXtsZXQgZT0hMSx0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKWlmKCgwLApYci5pc0xpbmVUb29sc0dyb3VwKShpKSl7Y29uc3Qgcz1pLnZpc2liaWxpdHkoKTtlPWV8fCJJbnZpc2libGUiIT09cyx0PXR8fCJWaXNpYmxlIiE9PXN9ZWxzZSBlPWV8fFFyKGkpLHQ9dHx8IVFyKGkpO3JldHVybiBlJiYhdD8iVmlzaWJsZSI6dCYmIWU/IkludmlzaWJsZSI6IlBhcnRpYWwifWxvY2tlZCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5sb2NrZWQoKTtlPWV8fCJVbmxvY2tlZCIhPT1zLHQ9dHx8IkxvY2tlZCIhPT1zfWVsc2V7Y29uc3Qgcz1pLnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlPWV8fHMsdD10fHwhc31yZXR1cm4gZSYmIXQ/IkxvY2tlZCI6dCYmIWU/IlVubG9ja2VkIjoiUGFydGlhbCJ9aXNBY3R1YWxJbnRlcnZhbCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHwiSXNOb3RBY3R1YWxJbnRlcnZhbCIhPT1zLHQ9dHx8IklzQWN0dWFsSW50ZXJ2YWwiIT09c31lbHNle2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHxzLHQ9dHx8IXN9cmV0dXJuIGUmJiF0PyJJc0FjdHVhbEludGVydmFsIjp0JiYhZT8iSXNOb3RBY3R1YWxJbnRlcnZhbCI6IlBhcnRpYWwifW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vbkNoYW5nZWR9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdC50b29scyl7Y29uc3QgdD1lLmRhdGFTb3VyY2VGb3JJZChzKTtudWxsIT09dCYmaS5wdXNoKHQpfXJldHVybiBpLmxlbmd0aD4wP25ldyBpbyhpLHQubmFtZSx0LmlkKTpudWxsfV9pbnNlcnRJdGVtcyhlLHQpe2Zvcihjb25zdCBpIG9mIGUpe2lmKCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGkpKXtpZih0aGlzLl93b3VsZENyZWF0ZUN5Y2xlKGkpKXtKcnx8KFpyLmxvZ1dhcm4oYEN5Y2xlIGRldGVjdGVkOiBjYW5ub3QgYWRkIGdyb3VwICR7aS5pZH0gaW50byBncm91cCAke3RoaXMuaWR9OyBza2lwcGluZ2ApLEpyPSEwKTtjb250aW51ZX1jb25zdCBlPWkucGFyZW50R3JvdXAoKTtudWxsIT09ZSYmZS5leGNsdWRlSXRlbShpKSxpLnNldFBhcmVudEdyb3VwKHRoaXMpLGkub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUpKSksdm9pZCAwIT09dCYmdG8oaSx0KX1lbHNlIHZvaWQgMCE9PXQmJnQucHVzaChpLmlkKCkpO3RoaXMuX2l0ZW1zU2V0LmFkZChpKSx0aGlzLl9pdGVtcy5wdXNoKGkpfXRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fcmVtb3ZlSXRlbXMoZSx0KXtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSl0aGlzLl9pdGVtc1NldC5kZWxldGUocykmJihpLmFkZChzKSwoMCxYci5pc0xpbmVUb29sc0dyb3VwKShzKT8ocy5vbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzLnNldFBhcmVudEdyb3VwKG51bGwpLHRvKHMsdCkpOnQucHVzaChzLmlkKCkpKTt0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiFpLmhhcyhlKSkpLHRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fZmlyc3RMaW5lVG9vbCgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZW8odGhpcykpfV93b3VsZENyZWF0ZUN5Y2xlKGUpe2lmKGU9PT10aGlzKXJldHVybiEwO2xldCB0PXRoaXMucGFyZW50R3JvdXAoKTtmb3IoO251bGwhPT10Oyl7aWYodD09PWUpcmV0dXJuITA7dD10LnBhcmVudEdyb3VwKCl9cmV0dXJuITF9X2ludmFsaWRhdGVDYWNoZXMoKXt0aGlzLl9saW5lVG9vbHNDYWNoZT1udWxsLHRoaXMuX3N1Ymdyb3Vwc0NhY2hlPW51bGx9X2RvQW5kRmlyZU9uQ2hhbmdlKGUpe2NvbnN0IHQ9W10saT10aGlzLnZpc2liaWxpdHkoKSxzPXRoaXMubG9ja2VkKCksbj10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKTtlKHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHthZmZlY3RlZExpbmVUb29sczp0LHZpc2liaWxpdHlDaGFuZ2VkOmkhPT10aGlzLnZpc2liaWxpdHkoKSxsb2NrZWRDaGFuZ2VkOnMhPT10aGlzLmxvY2tlZCgpLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOm4hPT10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKX0pfX1pKDgyOTE4MCk7Y2xhc3Mgc28gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihpLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fbW9kZWw9ZSx0aGlzLl9ncm91cElkPXQuaWQsdGhpcy5fZ3JvdXBOYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbGluZVRvb2xzSWRzPXQubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX1yZWRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKTt0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAoZSl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSksdD1uZXcgaW8oZSx0aGlzLl9ncm91cE5hbWUsdGhpcy5fZ3JvdXBJZCk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmFkZEdyb3VwKHQpfX1jb25zdCBubz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUgbGluZSB0b29scyBncm91cCIscC50KG51bGwsdm9pZCAwLGkoMjg4Nzk3KSkpO2NsYXNzIHJvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG5vLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fZ3JvdXBJZD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlc0lkcz10Lm1hcCgoZT0+ZS5pZCgpKSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fc291cmNlc0lkcy5tYXAoKGU9PnRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSkpLHQ9bnVsbD09PXRoaXMuX2dyb3VwSWQ/dm9pZCAwOnRoaXMuX2dyb3VwSWQKO3RoaXMuX2dyb3VwSWQ9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKGUsdGhpcy5fdGl0bGUsdCkuaWR9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dyb3VwSWQpKSk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLnJlbW92ZUdyb3VwKGUpfWNyZWF0ZWRHcm91cElkKCl7cmV0dXJuIHRoaXMuX2dyb3VwSWR9fWNvbnN0IG9vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFkZCBsaW5lIHRvb2wocykgdG8gZ3JvdXAge2dyb3VwfSIscC50KG51bGwsdm9pZCAwLGkoNDM5NTkwKSkpO2NsYXNzIGFvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIob28uZm9ybWF0KHtncm91cDp0Lm5hbWUoKS52YWx1ZSgpfSksdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9saW5lVG9vbHNJZHM9aS5tYXAoKGU9PmUuaWQoKSkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLHQ9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7ZS5hZGRJdGVtcyh0KX11bmRvKCl7Y29uc3QgZT10aGlzLl9saW5lVG9vbHNJZHMubWFwKChlPT50aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKS5leGNsdWRlSXRlbXMoZSl9fWNsYXNzIGxvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9vbGROYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbmV3TmFtZT1pfXJlZG8oKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLnNldE5hbWUodGhpcy5fbmV3TmFtZSl9dW5kbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCh0aGlzLl9ncm91cElkKSkuc2V0TmFtZSh0aGlzLl9vbGROYW1lKX19dmFyIGNvPWkoOTQzOTUpO2NsYXNzIGhvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fb3JpZ2luTGlua0tleT1udWxsLHRoaXMuX21vZGVsPWksdGhpcy5faWQ9ZS5pZCgpLHRoaXMuX3RhcmdldFNoYXJpbmdNb2RlPXQsdGhpcy5fb3JpZ2luU2hhcmluZ01vZGU9ZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCksdGhpcy5fb3JpZ2luTGlua0tleT1lLmxpbmtLZXkoKS52YWx1ZSgpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl90YXJnZXRTaGFyaW5nTW9kZSksMCE9PXRoaXMuX3RhcmdldFNoYXJpbmdNb2RlJiYwPT09dGhpcy5fb3JpZ2luU2hhcmluZ01vZGUmJihlLmxpbmtLZXkoKS5zZXRWYWx1ZSgoMCxsdC5yYW5kb21IYXNoKSgpKSx0aGlzLl9tb2RlbC5jb3B5VG9PdGhlckNoYXJ0cyhbZV0sITEpKSwwPT09dGhpcy5fdGFyZ2V0U2hhcmluZ01vZGUmJjAhPT10aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSYmZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSksMD09PXRoaXMuX29yaWdpblNoYXJpbmdNb2RlPygoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6dGhpcy5fbW9kZWwsc3ltYm9sOmUuc3ltYm9sKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHNvdXJjZVRpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKGNvLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksdW5saW5rOiEwfSksZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpOmUubGlua0tleSgpLnNldFZhbHVlKHRoaXMuX29yaWdpbkxpbmtLZXkpKX19CmNvbnN0IHVvPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNyZWF0ZSBsaW5lIHRvb2xzIGdyb3VwIGZyb20gc2VsZWN0aW9uIixwLnQobnVsbCx2b2lkIDAsaSgxMzQ1NTgpKSkscG89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZpbmcgbGluZSB0b29scyBncm91cCB7bmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDY2NjE0MCkpKSxfbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9IixwLnQobnVsbCx2b2lkIDAsaSg2ODk1ODApKSksbW89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiLHAudChudWxsLHZvaWQgMCxpKDM1NjU0MSkpKSxnbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIGdyb3VwIHtncm91cH0gaW52aXNpYmxlIixwLnQobnVsbCx2b2lkIDAsaSg1NzIzMzQpKSksZm89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayBncm91cCB7Z3JvdXB9IixwLnQobnVsbCx2b2lkIDAsaSg3MDYzMDgpKSksU289bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidW5sb2NrIGdyb3VwIHtncm91cH0iLHAudChudWxsLHZvaWQgMCxpKDk1MjUyMykpKSx2bz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDM4NTMxMCkpKTtjbGFzcyB5b3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9lbnZpcm9ubWVudD1lfWNyZWF0ZUdyb3VwRnJvbVNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTsoMCxsLmFzc2VydCkoIWUuc2VsZWN0aW9uKCkuaXNFbXB0eSgpLCJDYW5ub3QgY3JlYXRlIGdyb3VwIGZyb20gZW1wdHkgc2VsZWN0aW9uIik7Y29uc3QgdD0oMCxkci5zb3J0U291cmNlcykoZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKSk7KDAsbC5hc3NlcnQpKHQubGVuZ3RoPT09ZS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkubGVuZ3RoLCJBIGdyb3VwIGNvdWxkIGNvbnRhaW4gbGluZSB0b29scyBvbmx5Iik7Y29uc3QgaT10Lmxlbmd0aD4xfHxudWxsIT09dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0WzBdKSxzPXQucmVkdWNlKCgoZSx0KT0+ZS56b3JkZXIoKT50LnpvcmRlcigpP2U6dCksdFswXSk7bGV0IG49cztjb25zdCByPWUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wocyk7aWYobnVsbCE9PXIpe2NvbnN0IGU9ci5saW5lVG9vbHMoKTtuPWVbZS5sZW5ndGgtMV19dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8odW8pO2NvbnN0IG89bmV3IE1hcCxhPW5ldyBTZXQ7dC5mb3JFYWNoKCh0PT57Y29uc3QgaT10aGlzLl9ncm91cEZvckxpbmVUb29sKHQpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPW8uZ2V0KGkpfHxbXTtzLnB1c2godCksby5zZXQoaSxzKTtjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKTthLmFkZChuKX0pKSwoMCxsLmFzc2VydCkoYS5zaXplPD0xLCJBbGwgc2VsZWN0ZWQgc291cmNlcyBzaG91bGQgYmUgb24gdGhlIHNhbWUgcGFuZSIpLG8uZm9yRWFjaCgoKHQsaSk9Pntjb25zdCBzPW5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoZSxpLHQpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChzKX0pKTtjb25zdCBjPW5ldyBybyhlLCgwLGRyLnNvcnRTb3VyY2VzKSh0KSk7aWYodGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGMpLGkpe2NvbnN0IGk9bmV3IEFyKGUsdCxuKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSl9dGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCk7Y29uc3QgaD0oMCxsLmVuc3VyZU5vdE51bGwpKGMuY3JlYXRlZEdyb3VwSWQoKSk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKShlLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGgpKX1yZW1vdmVHcm91cChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aS5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSghMSksdGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhlLm5hbWUoKSxlLnRpdGxlKE5uLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSksbGlua0tleTplLmxpbmtLZXkoKS52YWx1ZSgpfSkpKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhwby5mb3JtYXQoe25hbWU6ZS5uYW1lKCkudmFsdWUoKX0pKTtjb25zdCBuPW5ldyBzbyh0LGUsbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pO2NvbnN0IHI9bmV3IHRyLlJlbW92ZVNvdXJjZXNVbmRvQ29tbWFuZCh0LGksbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKHIpO2NvbnN0IG89dC5tYWluU2VyaWVzKCkuc3ltYm9sKCk7cy5mb3JFYWNoKChlPT57bnVsbCE9PWUubGlua0tleSYmKDAsVC5yZW1vdmVMaW5lVG9vbCkoe3dpdGhVbmRvOiEwLG1vZGVsOnQsc3ltYm9sOm8sc291cmNlVGl0bGU6ZS50aXRsZSxsaW5lVG9vbFN0YXRlOmUuc3RhdGUsbGlua0tleTplLmxpbmtLZXl9KX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1ncm91cHMoKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzKCl9ZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9bmV3IGlyLkV4Y2x1ZGVMaW5lVG9vbHNGcm9tR3JvdXBVbmRvQ29tbWFuZChpLGUsW3RdKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQocyl9YWRkTGluZVRvb2xUb0dyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9aS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpZihzPT09ZSlyZXR1cm47Y29uc3Qgbj1fby5mb3JtYXQoewpsaW5lVG9vbDpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKSxuYW1lOmUubmFtZSgpLnZhbHVlKCl9KTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhuKSxudWxsIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoaSxzLFt0XSkpO3tjb25zdCBzPWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpO3Quc2hhcmluZ01vZGUoKS52YWx1ZSgpIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBobyh0LHMsaSxudWxsKSl9dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBhbyhpLGUsW3RdKSksdGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCl9YnJpbmdUb0Zyb250KGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBNcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1zZW5kVG9CYWNrKGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBJcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLGk9bmV3IFdyKHQsZSk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuX2Vudmlyb25tZW50LmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZS5saW5lVG9vbHMoKV0pfXNlbmRCYWNrd2FyZChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1uZXcgT3IodCxlKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QWZ0ZXIoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7bGV0IHM7aWYodCBpbnN0YW5jZW9mIGlvKXtjb25zdCBlPXQubGluZVRvb2xzKCk7cz1lW2UubGVuZ3RoLTFdfWVsc2Ugcz10O2NvbnN0IG49bmV3IEFyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QmVmb3JlKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO2xldCBzO2lmKHQgaW5zdGFuY2VvZiBpbyl7cz10LmxpbmVUb29scygpWzBdfWVsc2Ugcz10O2NvbnN0IG49bmV3IERyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9YXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aVswXSxuPWlbaS5sZW5ndGgtMV0scj0oMCxsLmVuc3VyZU5vdE51bGwpKHQucGFuZUZvclNvdXJjZShpWzBdKSkuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLG89clswXSxhPXJbci5sZW5ndGgtMV07cmV0dXJue2JyaW5nRm9yd2FyZEVuYWJsZWQ6biE9PWEsYnJpbmdUb0Zyb250RW5hYmxlZDpuIT09YSxzZW5kQmFja3dhcmRFbmFibGVkOnMhPT1vLHNlbmRUb0JhY2tFbmFibGVkOnMhPT1vfX1zZXRHcm91cFZpc2liaWxpdHkoZSx0KXtjb25zdCBpPSh0P21vOmdvKS5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCl9KSxzPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8oaSksZS5saW5lVG9vbHMoKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLnByb3BlcnRpZXMoKS52aXNpYmxlLG49bmV3IHFyLlNldFByb3BlcnR5VW5kb0NvbW1hbmQoaSx0LG51bGwscywhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbik7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfSkpLHRoaXMuX2Vudmlyb25tZW50LmVuZFVuZG9NYWNybygpfXNldEdyb3VwTG9jayhlLHQpe2NvbnN0IGk9KHQ/Zm86U28pLmZvcm1hdCh7Z3JvdXA6ZS5uYW1lKCkudmFsdWUoKX0pLHM9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhpKSxlLmxpbmVUb29scygpLmZvckVhY2goKGU9Pntjb25zdCBpPWUucHJvcGVydGllcygpLmZyb3plbixuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGksdCxudWxsLHMsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChuKX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1zZXRHcm91cE5hbWUoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCkscz12by5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCksbmV3TmFtZTp0fSksbj1uZXcgbG8oaSxlLHQscyk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfWNhbkJlR3JvdXBwZWQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO3JldHVybiBuZXcgU2V0KGUubWFwKChlPT50LnBhbmVGb3JTb3VyY2UoZSkpKSkuc2l6ZTw9MX1fZ3JvdXBGb3JMaW5lVG9vbChlKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKX19dmFyIGJvPWkoNDEyMzg0KSx3bz1pKDU0NDg4NSksQ289aSgzMDUyNzcpCjtjb25zdCBQbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBzdHVkeSB0ZW1wbGF0ZSB7dGVtcGxhdGV9IixwLnQobnVsbCx2b2lkIDAsaSgzODE1MTMpKSk7ZnVuY3Rpb24gVG8oZSl7Zm9yKGNvbnN0IHQgb2YgZS5wYW5lcylmb3IoY29uc3QgZSBvZiB0LnNvdXJjZXMpaWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoZSkpcmV0dXJuIGUuaWQ7cmV0dXJuIG51bGx9dmFyIHhvOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0wXT0iSW5pdGlhbCIsZVtlLlVuZG9pbmc9MV09IlVuZG9pbmciLGVbZS5SZWRvaW5nPTJdPSJSZWRvaW5nIn0oeG98fCh4bz17fSkpO2NsYXNzIE1vIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihQby5mb3JtYXQoe3RlbXBsYXRlOml9KSksdGhpcy5fbmV3U3ltYm9sUGFyYW1zPXt9LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fdGVtcGxhdGVDb250ZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT0oMCxyLmRlZmF1bHQpKHt9LGUpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShUbyhpKSk7Zm9yKGNvbnN0IGUgb2YgaS5wYW5lcyl7ZS5tYWluU291cmNlSWQ9PT1zJiYoZS5tYWluU291cmNlSWQ9dCk7Zm9yKGNvbnN0IGkgb2YgZS5zb3VyY2VzKWlmKGkuaWQ9PT1zKXtpLmlkPXQ7Y29uc3Qgbj1lPT57Y29uc3QgaT1lLmluZGV4T2Yocyk7LTEhPT1pJiZlLnNwbGljZShpLDEsdCl9O2lmKGUubGVmdEF4aXNlc1N0YXRlJiZlLnJpZ2h0QXhpc2VzU3RhdGU/KGUubGVmdEF4aXNlc1N0YXRlLmZvckVhY2goKGU9Pm4oZS5zb3VyY2VzKSkpLGUucmlnaHRBeGlzZXNTdGF0ZS5mb3JFYWNoKChlPT5uKGUuc291cmNlcykpKSk6KG4oZS5sZWZ0QXhpc1NvdXJjZXMpLG4oZS5yaWdodEF4aXNTb3VyY2VzKSksZS5vdmVybGF5UHJpY2VTY2FsZXMpe2NvbnN0IGk9ZS5vdmVybGF5UHJpY2VTY2FsZXNbc107aSYmKGRlbGV0ZSBlLm92ZXJsYXlQcmljZVNjYWxlc1tzXSxlLm92ZXJsYXlQcmljZVNjYWxlc1t0XT1pKX19ZWxzZSBpLm93bmVyU291cmNlPT09cyYmKGkub3duZXJTb3VyY2U9dCl9cmV0dXJuIGl9KHQsZS5tYWluU2VyaWVzKCkuaWQoKSksdGhpcy5faW5pdGlhbFN0YXRlPWUuc3R1ZHlUZW1wbGF0ZSghMCwhMCwhMCksdGhpcy5fZXZlbnRTb3VyY2U9cztjb25zdCBuPWUubWFpblNlcmllcygpO3Quc3ltYm9sJiYodGhpcy5fbmV3U3ltYm9sUGFyYW1zPXtzeW1ib2w6dC5zeW1ib2wsY3VycmVuY3k6dC5jdXJyZW5jeT8/bnVsbCx1bml0OnQudW5pdD8/bnVsbH0pLHQuaW50ZXJ2YWwmJih0aGlzLl9uZXdTeW1ib2xQYXJhbXMuaW50ZXJ2YWw9dC5pbnRlcnZhbCx0aGlzLl9uZXdTeW1ib2xQYXJhbXMuc3R5bGU9KDAsQS5nZXRDaGFydFN0eWxlQnlSZXNvbHV0aW9uKSh0LmludGVydmFsLG4uc3R5bGUoKSkpLHRoaXMuX2luaXRpYWxTeW1ib2xQYXJhbXM9e3N5bWJvbDpuLnN5bWJvbCgpLGN1cnJlbmN5Om4uY3VycmVuY3koKSx1bml0Om4udW5pdCgpLGludGVydmFsOm4uaW50ZXJ2YWwoKSxzdHlsZTpuLnN0eWxlKCl9LHRoaXMuX2luaXRpYWxTdGF0ZT1lLnN0dWR5VGVtcGxhdGUoKSx0aGlzLl9pbml0aWFsR3JvdXBzU3RhdGU9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9uZXdTeW1ib2xQYXJhbXMpO2NvbnN0IGU9dGhpcy5fbWVyZ2UodGhpcy5fdGVtcGxhdGVDb250ZW50LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPzI6MCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpO3RoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5yZW1vdmVMaW5lVG9vbHMoZSk7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpOygwLEEucHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXMpKHQpLHRoaXMuX21vZGVsLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uKSx0aGlzLl9tb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9pbml0aWFsU3ltYm9sUGFyYW1zKSx0aGlzLl9tZXJnZSh0aGlzLl9pbml0aWFsU3RhdGUsMSksdGhpcy5faGFzQWxyZWFkeUJlZW5VbmRvbmU9ITB9X21lcmdlKGUsdCl7Y29uc3QgaT1lLnZlcnNpb258fDAscz10aGlzLl9tb2RlbCxuPXMubWFpblNlcmllcygpOygwLGwuYXNzZXJ0KShuLmlkKCk9PT1UbyhlKSksbi5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmxvY2tTY2FsZS5zZXRWYWx1ZSghMSk7Y29uc3Qgcj1zLnBhbmVzKCksbz1bXTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1yW2VdLGk9dC5jb250YWluc01haW5TZXJpZXMoKSxzPXQuZGF0YVNvdXJjZXMoKTtmb3IobGV0IGU9cy5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1zW2VdOyghaXx8KCgwLHRpLmlzU3R1ZHkpKHQpfHwoMCx0aS5pc1N0dWR5U3R1YikodCkpJiZ0LmlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKSkmJm8ucHVzaCh0KX19cy5yZXNldERlZmVycmVkU3R1ZGllcygpO2NvbnN0IGM9MD09PXQ/dGhpcy5fZXZlbnRTb3VyY2U6MT09PXQ/InVuZG8iOnRoaXMuX2V2ZW50U291cmNlP2ByZWRvXyR7dGhpcy5fZXZlbnRTb3VyY2V9YDoicmVkbyIsaD0oMCxiby5jbG9zZVNvdXJjZXNTZXQpKHMsbywhMCk7Zm9yKGxldCBlPTA7ZTxoLmxlbmd0aDsrK2Upe2NvbnN0IHQ9aFtlXTsoMCx0aS5pc1N0dWR5KSh0KSYmKDAsd28udHJhY2tTdHVkaWVzKSh0Lm1ldGFJbmZvKCksdC5tb2RlbCgpLCJyZW1vdmUiLGMpLHMucmVtb3ZlU291cmNlKHQpfWNvbnN0IGQ9ZS5wYW5lcztsZXQgdT0wO2ZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSsrKXtsZXQgdD0tMTtjb25zdCBuPSgwLGEuY2xvbmUpKGRbZV0pO24uc291cmNlcy5zb3J0KCgoZSx0KT0+ZS56b3JkZXItdC56b3JkZXIpKTtmb3IobGV0IGU9MDtlPG4uc291cmNlcy5sZW5ndGg7ZSsrKXsKY29uc3QgaT1uLnNvdXJjZXNbZV07aWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoaSkmJihkZWxldGUgaS5zdGF0ZSx0PWUpLCgwLFAuaXNTdHVkeVN0YXRlKShpKSl7Y29uc3QgZT1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhpLm1ldGFJbmZvKTsoMCx3by50cmFja1N0dWRpZXMpKGUscywiYWRkIixjKX19Y29uc3Qgbz10Pi0xLGg9bz9yW2UtdV06cy5jcmVhdGVQYW5lKGUtdSk7aWYobyYmaTwzJiYoMCxDby5yZW9yZGVyRGF0YVNvdXJjZXNTdGF0ZVpPcmRlcikobi5zb3VyY2VzKSxoLnJlc3RvcmVTdGF0ZSh7c3RhdGU6bix3aXRoRGF0YTohMSx2ZXJzaW9uOmksaXNTdHVkeVRlbXBsYXRlOiEwfSksbnVsbCE9PWgubWFpbkRhdGFTb3VyY2UoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmFsZXJ0c1dhdGNoZXIoKSk7Zm9yKGNvbnN0IHQgb2YgaC5kYXRhU291cmNlcygpKWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfWVsc2UgdSsrLHMucmVtb3ZlUGFuZShoKX1yZXR1cm4gcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCksbi5wcmljZVNjYWxlKCkuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSkscy5zdGFydE5vdFN0YXJ0ZWRTdHVkaWVzKCkscy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKSxzLmZ1bGxVcGRhdGUoKSxofX12YXIgSW89aSg1NDA1ODgpO2NvbnN0IExvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKTt2YXIgQW87IWZ1bmN0aW9uKGUpe2VbZS5QYXN0ZVlDb29yZE9mZnNldD0tNDBdPSJQYXN0ZVlDb29yZE9mZnNldCJ9KEFvfHwoQW89e30pKTtjb25zdCBrbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg4MzcwNjYpKSk7Y2xhc3MgRG8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoa28sdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9uZWVkQ29weVRvT3RoZXJDaGFydHM9ITEsdGhpcy5fc291cmNlU3RhdGU9bnVsbCx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50PSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJbmRleD10aGlzLl9tb2RlbC5wYW5lcygpLmluZGV4T2YoaXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSkpKSx0aGlzLl9wYXN0ZVdpdGhEYXRhPSEhcyx0aGlzLl9rZWVwWkluZGV4PSEhbn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpW3RoaXMuX3BhbmVJbmRleF0sdD0oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0aGlzLl9jbGlwYm9hcmREYXRhLnNvdXJjZS5pZCkpLGk9dD09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtsZXQgcztudWxsPT09dGhpcy5fc291cmNlU3RhdGUmJih0aGlzLl9zb3VyY2VTdGF0ZT10aGlzLl9nZXRTb3VyY2VTdGF0ZSh0LGkpKSx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50fHwocz0iUGFzdGUiLHRoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnQ9ITApO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dGhpcy5fc291cmNlU3RhdGUsd2l0aERhdGE6dGhpcy5fcGFzdGVXaXRoRGF0YSxrZWVwWk9yZGVyOnRoaXMuX2tlZXBaSW5kZXgsb3duZXJTb3VyY2U6dCxhY3Rpb25Tb3VyY2U6c30pKTsoMCxsLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKS5hZGREYXRhU291cmNlKG4pLHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0JiZuLmNlbnRlclBvc2l0aW9uJiZuLmNlbnRlclBvc2l0aW9uKCksbi5yZXN0b3JlRml4ZWRQb2ludCgpLG4uY3JlYXRlU2VydmVyUG9pbnRzKCksdGhpcy5fbmVlZENvcHlUb090aGVyQ2hhcnRzPUJvb2xlYW4oaSYmbi5pc1N5bmNocm9uaXphYmxlKCkmJjAhPT1uLnNoYXJpbmdNb2RlKCkudmFsdWUoKSksdGhpcy5fbW9kZWwuc2V0U2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbighMCl9dW5kbygpe2lmKCF0aGlzLl9zb3VyY2VTdGF0ZSlyZXR1cm4gdm9pZCBMby5sb2dFcnJvcigiVGhpcyBjb21tYW5kIHdhcyBuZXZlciBleGVjdXRlZCAtIG5vdGhpbmcgdG8gdW5kbyIpO2NvbnN0IGU9dGhpcy5zb3VyY2UoKTt0aGlzLl9jbGlwYm9hcmREYXRhLmNlbnRlcmVkT25DaGFydCYmKHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0PSExLHRoaXMuX3NvdXJjZVN0YXRlLnBvaW50cz1lLm5vcm1hbGl6ZWRQb2ludHMoKSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXNvdXJjZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlU3RhdGUpLmlkKSl9bmVlZENvcHlUb090aGVyQ2hhcnRzKCl7cmV0dXJuIHRoaXMuX25lZWRDb3B5VG9PdGhlckNoYXJ0c31fZ2V0U291cmNlU3RhdGUoZSx0KXtjb25zdCBpPSgwLGEuY2xvbmUpKHRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlKTtkZWxldGUgaS5zdGF0ZS5zeW1ib2wsdD8obnVsbCE9aS5saW5rS2V5fHx2b2lkIDAhPT1pLnNoYXJpbmdNb2RlJiYwIT09aS5zaGFyaW5nTW9kZSkmJihpLmxpbmtLZXk9KDAsbHQucmFuZG9tSGFzaCkoKSk6KGkubGlua0tleT1udWxsLGkuc2hhcmluZ01vZGU9MCk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxuPXRoaXMuX21vZGVsLHtzeW1ib2w6cixjdXJyZW5jeUlkOm8sdW5pdElkOmN9PXRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlLnN0YXRlLGg9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnN5bWJvbFNvdXJjZSgpKTtsZXQgZD0hMTshaC5zeW1ib2xTYW1lQXNDdXJyZW50KHIpfHwobnVsbCE9PW8/byE9PSgwLEEuc3ltYm9sQ3VycmVuY3kpKGguc3ltYm9sSW5mbygpLHZvaWQgMCwhMCk6aC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpKXx8KG51bGwhPT1jP2MhPT0oMCwKQS5zeW1ib2xVbml0KShoLnN5bWJvbEluZm8oKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk6aC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpfHwoKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpP2Q9ITA6KDAsdGkuaXNTdHVkeSkoZSkmJihkPUJvb2xlYW4oZS5tZXRhSW5mbygpLmlzX3ByaWNlX3N0dWR5KSkpLGkuc3RhdGUuY3VycmVuY3lJZD1uLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmaC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpP2guY3VycmVuY3koKTpudWxsLGkuc3RhdGUudW5pdElkPW4udW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmguaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpP2gudW5pdCgpOm51bGw7Y29uc3QgdT1lPT57Y29uc3QgdD1lLngqbi50aW1lU2NhbGUoKS53aWR0aCgpLGk9ZS55KnMuaGVpZ2h0KCktNDA7cmV0dXJuIG5ldyBQdC5Qb2ludCh0LGkpfSxwPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5maXJzdFZhbHVlKCkpO2lmKHRoaXMuX21vZGVsLmlkKCk9PT10aGlzLl9jbGlwYm9hcmREYXRhLm1vZGVsSWR8fCFkKXtmb3IobGV0IGU9MDtlPHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnkubGVuZ3RoOysrZSl7Y29uc3QgdD11KHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnlbZV0pLHI9bi50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleCh0LngpLG89bi50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChyKTtpZihkKXtjb25zdCB0PXMucHJpY2VUb0Nvb3JkaW5hdGUoaS5wb2ludHNbZV0ucHJpY2UscCkrLTQwO28ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHApfWVsc2Ugby5wcmljZT1zLmNvb3JkaW5hdGVUb1ByaWNlKHQueSxwKTtpLnBvaW50c1tlXT1vfWkuc3RhdGUuaW50ZXJ2YWw9bi5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX1yZXR1cm4gaS5pZD0oMCxsdC5yYW5kb21IYXNoTikoNiksaX19Y2xhc3MgRW8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKHMpLHRoaXMuX25ld1NvdXJjZXNDdXJyZW5jaWVzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXM9bmV3IE1hcCx0aGlzLl9zaG93RmFkZT0hMSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj1lLm1haW5TZXJpZXMoKTtmb3IoY29uc3QgZSBvZiB0LnByaWNlRGF0YVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCl8fCFlLmlzQ3VycmVuY3lPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS5jdXJyZW5jeU1ldGFkYXRhKCkudmFsdWUoKT8ub3JpZ2luYWxDdXJyZW5jeT8/bnVsbDt0aGlzLl9uZXdTb3VyY2VzQ3VycmVuY2llcy5zZXQoZS5pZCgpLHQpLHRoaXMuX29sZFNvdXJjZXNDdXJyZW5jaWVzLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUuY3VycmVuY3koKSE9PXR9fXJlZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fbmV3U291cmNlc0N1cnJlbmNpZXMpfXVuZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXMpfV9hcHBseUN1cnJlbmNpZXMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldEN1cnJlbmN5KGUpfSkpLHRoaXMuX2NoYXJ0TW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSksdGhpcy5fc2hvd0ZhZGUmJnRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCkubG9hZGluZ1NjcmVlbigpLnNob3coITApfX1jbGFzcyBSbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyksdGhpcy5fbmV3U291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fc2hvd0ZhZGU9ITEsdGhpcy5fY2hhcnRNb2RlbD1lO2NvbnN0IG49ZS5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IGUgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpe2lmKCFlLmlzVmlzaWJsZSgpfHwhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5vcmlnaW5hbFVuaXQ/P251bGw7dGhpcy5fbmV3U291cmNlc1VuaXRzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc1VuaXRzLnNldChlLmlkKCksZS51bml0KCkpLHRoaXMuX3Nob3dGYWRlPXRoaXMuX3Nob3dGYWRlfHxlPT09biYmZS51bml0KCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlVbml0cyh0aGlzLl9uZXdTb3VyY2VzVW5pdHMpfXVuZG8oKXt0aGlzLl9hcHBseVVuaXRzKHRoaXMuX29sZFNvdXJjZXNVbml0cyl9X2FwcGx5VW5pdHMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldFVuaXQoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fXZhciBWbz1pKDE2MzYwMyk7Y2xhc3MgQm8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbj0hMSl7c3VwZXIoZSksdGhpcy5fY2hhcnRzPW5ldyBNYXAsdGhpcy5fZmlyc3RSZWRvPSEwLHRoaXMuX2NyZWF0aW9uVGltZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9saW5raW5nR3JvdXBJbmRleD1zLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKTtjb25zdCByPW5ldyBNYXAsbz1uZXcgTWFwO2lmKG4pZm9yKGNvbnN0IGUgb2Ygcy5tb2RlbCgpLm1vZGVsKCkuYWxsU3R1ZGllcyghMCkpZS5pZCgpIT09dC5pZCgpJiZlLnN5bWJvbFNvdXJjZSgpPT09dCYmKGUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCkmJiFlLmN1cnJlbmN5TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0Q3VycmVuY3lPbkNoYW5naW5nU3ltYm9sU291cmNlU3ltYm9sJiZyLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSwKZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpJiYhZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0VW5pdE9uQ2hhbmdpbmdTeW1ib2xTb3VyY2VTeW1ib2wmJm8uc2V0KGUuaWQoKSxlLnVuaXQoKSkpO3RoaXMuX2NoYXJ0cy5zZXQocyx7c291cmNlSWQ6dC5pZCgpLG5ld1N5bWJvbFBhcmFtczppLHByZXZTeW1ib2xQYXJhbXM6dC5zeW1ib2xQYXJhbXMoKSxzaG93RmFkZTp0aGlzLl9zaG93RmFkZSh0LHMpLGNoYXJ0V2lkZ2V0OnMsY3VycmVuY3lPcmlnaW5Tb3VyY2VzOnIsdW5pdE9yaWdpblNvdXJjZXM6b30pfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITApLHRoaXMuX2NoYXJ0cy5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9zeW1ib2xTb3VyY2UoZSkuc2V0U3ltYm9sUGFyYW1zKGUubmV3U3ltYm9sUGFyYW1zKTtmb3IoY29uc3RbdF1vZiBlLmN1cnJlbmN5T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0Q3VycmVuY3kobnVsbCl9Zm9yKGNvbnN0W3Rdb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChudWxsKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLHRoaXMuX2ZpcnN0UmVkb3x8KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9saW5raW5nR3JvdXBJbmRleCwhMSksdGhpcy5fZmlyc3RSZWRvPSExfXVuZG8oKXsoMCxaLm11dGVMaW5raW5nR3JvdXApKHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LCEwKSx0aGlzLl9jaGFydHMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fc3ltYm9sU291cmNlKGUpLnNldFN5bWJvbFBhcmFtcyhlLnByZXZTeW1ib2xQYXJhbXMpO2Zvcihjb25zdFt0LGldb2YgZS5jdXJyZW5jeU9yaWdpblNvdXJjZXMpe3RoaXMuX2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpLnNldEN1cnJlbmN5KGkpfWZvcihjb25zdFt0LGldb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChpKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITEpfWNhbk1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEJvKXx8ZS5fbGlua2luZ0dyb3VwSW5kZXghPT10aGlzLl9saW5raW5nR3JvdXBJbmRleHx8IXRoaXMuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8IWUuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8ZS5fY3JlYXRpb25UaW1lLXRoaXMuX2NyZWF0aW9uVGltZT41MDApcmV0dXJuITE7Zm9yKGNvbnN0W3Rdb2YgZS5fY2hhcnRzKWlmKHRoaXMuX2NoYXJ0cy5oYXModCkpcmV0dXJuITE7cmV0dXJuITB9bWVyZ2UoZSl7aWYoZSBpbnN0YW5jZW9mIEJvKWZvcihjb25zdFt0LGldb2YgZS5fY2hhcnRzKXRoaXMuX2NoYXJ0cy5zZXQodCxpKX1fc2hvd0ZhZGUoZSx0KXtyZXR1cm4gZT09PXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3N5bWJvbFNvdXJjZShlKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2hhcnRXaWRnZXQubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlLnNvdXJjZUlkKSl9X2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZS5jaGFydFdpZGdldC5tb2RlbCgpLm1vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHQpKX1fY29udGFpbnNNYWluU2VyaWVzT25seSgpe2Zvcihjb25zdFtlLHRdb2YgdGhpcy5fY2hhcnRzKWlmKHQuc291cmNlSWQhPT1lLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9fWNvbnN0IE5vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wiLHAudChudWxsLHZvaWQgMCxpKDE4NzY5KSkpO2NsYXNzIE9vIGV4dGVuZHMgQm97Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKE5vLGUse3N5bWJvbDp0LGN1cnJlbmN5Om51bGwsdW5pdDpudWxsfSxpLCEwKSx0aGlzLl9zeW1ib2w9dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIE9vJiZlLl9zeW1ib2w9PT10aGlzLl9zeW1ib2wmJnN1cGVyLmNhbk1lcmdlKGUpfX12YXIgV289aSgyMDM2ODEpO2NvbnN0IEZvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxIbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBpbmRpY2F0b3IiLHAudChudWxsLHZvaWQgMCxpKDc2MzMzOSkpKTtjbGFzcyB6byBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKEhvKSx0aGlzLl9zb3VyY2VTdGF0ZT1udWxsLHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJZD1pfXJlZG8oKXtpZighdGhpcy5fc291cmNlU3RhdGUpe2NvbnN0IGU9KDAsV28uZGVmYXVsdCkodGhpcy5fY2xpcGJvYXJkRGF0YS5zb3VyY2UpO2UuaWQ9KDAsbHQucmFuZG9tSGFzaE4pKDYpLHRoaXMuX3NvdXJjZVN0YXRlPWV9bGV0IGUsdDtlPXRoaXMuX3BhbmVJZD8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JJZCh0aGlzLl9wYW5lSWQpKTp0aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcy5fbW9kZWwubWFpblNlcmllcygpKSk6dGhpcy5fbW9kZWwuY3JlYXRlUGFuZSgpO2NvbnN0IGk9IWUubWFpbkRhdGFTb3VyY2UoKTt0aGlzLl9zb3VyY2VTdGF0ZS56b3JkZXI9ZS5uZXdTdHVkeVpPcmRlcigpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVTdHVkeSh7c291cmNlOnRoaXMuX3NvdXJjZVN0YXRlfSkpCjtpZihpfHwodD10aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT90PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6dGhpcy5fcGFuZUlkP2UuZmluZFN1aXRhYmxlU2NhbGUocyk6ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQhPT1zLnByaWNlU2NhbGUoKSYmZS5tb3ZlKHMsdCkpLCgwLHRpLmlzU3R1ZHkpKHMpfHwoMCx0aS5pc1N0dWR5U3R1Yikocykpe3tjb25zdCBlPXRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPyJyZWRvX3Bhc3RlIjoicGFzdGUiOygwLHdvLnRyYWNrU3R1ZGllcykobmV3IG90LlN0dWR5TWV0YUluZm8odGhpcy5fc291cmNlU3RhdGUubWV0YUluZm8pLHMubW9kZWwoKSwiYWRkIixlKX1zLnN0YXJ0KCl9fXVuZG8oKXtpZihudWxsPT09dGhpcy5fc291cmNlU3RhdGUpcmV0dXJuIHZvaWQgRm8ubG9nRXJyb3IoIlRoaXMgY29tbWFuZCB3YXMgbmV2ZXIgZXhlY3V0ZWQgLSBub3RoaW5nIHRvIHVuZG8iKTtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZVN0YXRlLmlkKSk7dGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVN0YXRlfX1jbGFzcyBVbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuKXtzdXBlcihudWxsLCExKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVBPXQsdGhpcy5fcGFuZUI9aSx0aGlzLl9wcmV2U3RyZXRjaEE9cyx0aGlzLl9jdXJyU3RyZXRjaEE9bn1yZWRvKCl7Y29uc3QgZT10aGlzLl9wYW5lQS5zdHJldGNoRmFjdG9yKCkrdGhpcy5fcGFuZUIuc3RyZXRjaEZhY3RvcigpO3RoaXMuX3BhbmVBLnNldFN0cmV0Y2hGYWN0b3IodGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9wYW5lQi5zZXRTdHJldGNoRmFjdG9yKGUtdGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fcGFuZUEuc3RyZXRjaEZhY3RvcigpK3RoaXMuX3BhbmVCLnN0cmV0Y2hGYWN0b3IoKTt0aGlzLl9wYW5lQS5zZXRTdHJldGNoRmFjdG9yKHRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fcGFuZUIuc2V0U3RyZXRjaEZhY3RvcihlLXRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfX1jb25zdCBHbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIixwLnQobnVsbCx2b2lkIDAsaSg5NjU3OTApKSk7Y2xhc3Mgam8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKEdvLCExKSx0aGlzLl9lbmRFdmVudD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlSWQ9dC5pZCgpLHRoaXMuX2l0ZW1JbmRleD1pLHRoaXMuX3N0YXJ0RXZlbnQ9c31tb3ZlKGUpe3RoaXMuX2VuZEV2ZW50PWUsdGhpcy5fbW92ZShlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbmRFdmVudH11bmRvKCl7dGhpcy5fbW92ZSh0aGlzLl9zdGFydEV2ZW50KX1yZWRvKCl7dGhpcy5fbW92ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VuZEV2ZW50KSl9X21vdmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9zb3VyY2VJZCkpOygwLGwuYXNzZXJ0KSh2b2lkIDAhPT10Lm1vdmVJdGVtLCdUaGUgbWV0aG9kICJtb3ZlSXRlbSIgaXMgbm90IGRlZmluZWQnKSx0Lm1vdmVJdGVtJiZ0Lm1vdmVJdGVtKG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksdGhpcy5faXRlbUluZGV4LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKX19dmFyIHFvPWkoMTg1NjA4KTtjbGFzcyAkbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoaSksdGhpcy5fbmV3TW9kZT1lLHRoaXMuX3ByaWNlU2NhbGVJZD10LmlkKCksdGhpcy5fbW9kZWw9cyx0aGlzLl9vbGRNb2RlPXQubW9kZSgpfXJlZG8oKXt0aGlzLl9hcHBseU1vZGUodGhpcy5fbmV3TW9kZSl9dW5kbygpe3RoaXMuX2FwcGx5TW9kZSh0aGlzLl9vbGRNb2RlKX1fYXBwbHlNb2RlKGUpe2NvbnN0IHQ9dGhpcy5fZmluZFByaWNlU2NhbGVCeUlkKCk7bnVsbCE9PXQmJigoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksdC5zZXRNb2RlKGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSkpfV9maW5kUHJpY2VTY2FsZUJ5SWQoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IGk9ZVt0XS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpO2lmKG51bGwhPT1pKXJldHVybiBpfXJldHVybiBudWxsfX12YXIgWW89aSg1NDc4NTEpLEtvPWkoNTg3MTY4KSxYbz1pKDUwNTU2KSxabz1pKDkzNjMyNiksSm89aSg4MTA0MSksUW89aSg5MzIzNjUpLGVhPWkoMTU2ODI5KSx0YT1pKDIyNjkzNyksaWE9aSg0NTcwODMpLHNhPWkoOTI4MTMyKSxuYT1pKDE0MzgwOCkscmE9aSg4NzIzNDMpO2NvbnN0IG9hPSgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDE5NzI3MikpLnRoZW4oKGU9PmUuU3R1ZHkpKSkpOygwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgiU3R1ZHkiLG9hKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDQ3MjcpKS50aGVuKChlPT5lLnN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X092ZXJsYXkiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyMzI2MCkpLnRoZW4oKGU9PmUuc3R1ZHlfT3ZlcmxheSkpKSwibG9vcCIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0NvbXBhcmUiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDg1OTY0OSkpLnRoZW4oKGU9PmUuU3R1ZHlDb21wYXJlKSkpLCJsb29wIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MjAxMjApKS50aGVuKChlPT5lLlZvbHVtZVN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBWaXNpYmxlIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZiUFZpc2libGVXcmFwcGVyKSkpLCJub1JvdGF0aW9ucyIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1ZiUEZpeGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfU2NyaXB0V2l0aERhdGFPZmZzZXQiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyMjkwKSkudGhlbigoZT0+ZS5zdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldCkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRWFybmluZ3MiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX0VBUk5JTkdTKSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9TcGxpdHMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX1NQTElUUykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRGl2aWRlbmRzIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw5MDk1OTMpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ESVZJREVORFMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0JhclNldENvbnRpbnVvdXNSb2xsRGF0ZXMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwzNjM2MTgpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ST0xMREFURVMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkobmEuZnVuZGFtZW50YWxzUHJlZml4LCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyNTEzNykpLnRoZW4oKGU9PmUuRnVuZGFtZW50YWwpKSksKGU9PjE9PT1lLnBsb3RzLmxlbmd0aD8ibG9vcCI6Im5vUm90YXRpb25zIiksKChlLHQpPT4oMCxuYS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9FbGxpb3R0V2F2ZSIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoNDkzMDcpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDMzOCldKS50aGVuKGkuYmluZChpLDU0MTkyNCkpLnRoZW4oKGU9PmUuc3R1ZHlfRWxsaW90dFdhdmUpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0xpbmVhclJlZ3Jlc3Npb24iLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDUwMjcyNikpLnRoZW4oKGU9PmUuTGluZWFyUmVncmVzc2lvblN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9QaXZvdFBvaW50c0hpZ2hMb3ciLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDQ5MzA3KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSgzMjI3MyldKS50aGVuKGkuYmluZChpLDc2ODcwNCkpLnRoZW4oKGU9PmUuc3R1ZHlfUGl2b3RQb2ludHNIaWdoTG93KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBTZXNzaW9ucyIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksMjQzNzIzKSkudGhlbigoZT0+ZS5TZXNzaW9uVm9sdW1lU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQUGVyaW9kaWMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyNzA1NikpLnRoZW4oKGU9PmUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4MzMxNzcpKS50aGVuKChlPT5lLlNlc3Npb25Wb2x1bWUyU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfWmlnWmFnIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSg0OTMwNyksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoMjkwNzQpXSkudGhlbihpLmJpbmQoaSw0NTk5NDApKS50aGVuKChlPT5lLnN0dWR5X1ppZ1phZykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQQXV0b0FuY2hvcmVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPUGVyaW9kaWMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MTQxMCkpLnRoZW4oKGU9PmUuVHBvUGVyaW9kaWNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPU2Vzc2lvbnMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDMzNDc0MikpLnRoZW4oKGU9PmUuVHBvU2Vzc2lvbnNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDYyOTMpKS50aGVuKChlPT5lLlZvbHVtZUZvb3RwcmludFN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJTdHVkeVN0cmF0ZWd5IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NzQzNjkpKS50aGVuKChlPT5lLlN0dWR5U3RyYXRlZ3kpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDU0NzU3MikpLnRoZW4oKGU9PmUuUmVwbGF5U3R1ZHlTdHJhdGVneSkpKSkpO2xldCBhYT0wO2FzeW5jIGZ1bmN0aW9uIGxhKGUsdCxpLHMsbixyLG8sYSl7bGV0IGM7Y29uc3QgaD0yPT09bztpZihvdC5TdHVkeU1ldGFJbmZvLmlzUmVwbGF5U3RyYXRlZ3kocykmJihjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiKSksb3QuU3R1ZHlNZXRhSW5mby5pc1NjcmlwdFN0cmF0ZWd5KHMpJiYoYz0oMCxyYS5nZXRTdHVkeUluZm9CeU5hbWUpKCJTdHVkeVN0cmF0ZWd5IikpLCgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShzKSYmKGM9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKShuYS5mdW5kYW1lbnRhbHNQcmVmaXgpKSwhYyl7Y29uc3QgZT0oMCxuYS5zdHVkeU5hbWVCeU1ldGFJbmZvKShzKTtjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoZT8/IlN0dWR5Iik/P29hfWMuc3R1ZHlDb25zdHJ1Y3Rvcnx8KGFhKz0xLGMuc3R1ZHlDb25zdHJ1Y3Rvcj1hd2FpdCgwLGwuZW5zdXJlRGVmaW5lZCkoYy5zdHVkeUNvbnN0cnVjdG9yQXN5bmNHZXR0ZXIpKCksYWEtPTEpO2NvbnN0IGQ9bmV3KCgwLGwuZW5zdXJlRGVmaW5lZCkoYz8uc3R1ZHlDb25zdHJ1Y3RvcikpKGUsdCxpLHMsbixoLCEhYSk7cmV0dXJuIHZvaWQgMCE9PXImJmQuc2V0SWQociksZH1mdW5jdGlvbiBjYShlLHQpe3JldHVybiBlLmlkPT09dC5pZCYmKHM9dCwoKGk9ZSkucGluZT9pLnBpbmUudmVyc2lvbjp2b2lkIDApPT09KHMucGluZT9zLnBpbmUudmVyc2lvbjp2b2lkIDApKTt2YXIgaSxzfWNvbnN0IGhhPVsiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiLCJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIkNvcnJlbGF0aW9uIENvZWZmQHR2LWJhc2ljc3R1ZGllcyIsIlNwcmVhZEB0di1iYXNpY3N0dWRpZXMiLCJSYXRpb0B0di1iYXNpY3N0dWRpZXMiXTtjb25zdCBkYT1bImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiLCJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLXNreS1ibHVlLTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTcwMCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCIsImNvbG9yLXR2LWJsdWUtYTEwMCIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMCIsImNvbG9yLXJpcGUtcmVkLWE0MDAiLCJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1ncmFwZXMtcHVycGxlLWExMDAiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIl07Y2xhc3MgdWF7Y29uc3RydWN0b3IoZSx0PWRhKXt0aGlzLl91c2VyRGVmYXVsdFVzZWQ9ITEsdGhpcy5fY2FsY0NvbG9yT2Zmc2V0PWUsdGhpcy5fY29sb3JzPXR9Z2V0Q29sb3IoZSx0PSExKXtjb25zdCBpPXRoaXMuX2NhbGNDb2xvck9mZnNldCgpO2lmKDA9PT1pJiYodGhpcy5fdXNlckRlZmF1bHRVc2VkPSExKSwwPT09aSYmIXQpcmV0dXJuIHRoaXMuX3VzZXJEZWZhdWx0VXNlZD0hMCxlO2NvbnN0IHM9dGhpcy5fY29sb3JzWyhpLSh0aGlzLl91c2VyRGVmYXVsdFVzZWQ/MTowKSkldGhpcy5fY29sb3JzLmxlbmd0aF0sbj1Yby5jb2xvcnNQYWxldHRlW3NdLHI9KDAsJGkuaXNIZXhDb2xvcikoZSk/MTooMCx5aS5wYXJzZVJnYmEpKGUpWzNdO3JldHVybigwLCRpLmdlbmVyYXRlQ29sb3IpKG4sKDAsCiRpLmFscGhhVG9UcmFuc3BhcmVuY3kpKHIpKX19Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9jYWxjQ29sb3JPZmZzZXQ9ZSx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0PXR9Z2V0Q29sb3IoZSl7Y29uc3QgdD10aGlzLl9jYWxjQ29sb3JPZmZzZXQoKTtpZigoMCwkaS5pc0hleENvbG9yKShlKSl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYikoZSk7cmV0dXJuKDAseWkucmdiVG9IZXhTdHJpbmcpKCgwLHlpLnNoaWZ0UmdiKShpLHQsdGhpcy5fbW9kZWxTdGFydE9mZnNldCkpfXtjb25zdCBpPSgwLHlpLnBhcnNlUmdiYSkoZSk7cmV0dXJuKDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5zaGlmdFJnYmEpKGksdCx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0KSl9fX1jbGFzcyBfYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yb3RhdG9ycz1uZXcgV2Vha01hcCx0aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldD1lPT57Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtpZihpKXtjb25zdCBlPWkuY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1yZXR1cm4gY2F9KGUpO3JldHVybiB0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChpPT4oMCx0aS5pc1N0dWR5KShpKSYmdChlLGkubWV0YUluZm8oKSkpKS5sZW5ndGh9LHRoaXMuX2NoYXJ0TW9kZWw9ZX1nZXRDb2xvclJvdGF0b3IoZSl7aWYodGhpcy5fcm90YXRvcnMuaGFzKGUpKXtjb25zdCB0PXRoaXMuX3JvdGF0b3JzLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0fWNvbnN0IHQ9dGhpcy5fY3JlYXRlQ29sb3JSb3RhdG9yKGUpO3JldHVybiB0aGlzLl9yb3RhdG9ycy5zZXQoZSx0KSx0fV9jcmVhdGVDb2xvclJvdGF0b3IoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtyZXR1cm4gaT8oMCxzYS5kZWZhdWx0KShpLmNvbG9yUm90YXRpb25Nb2RlKT9pLmNvbG9yUm90YXRpb25Nb2RlKGUpOmkuY29sb3JSb3RhdGlvbk1vZGU6dm9pZCAwPT09ZS5waW5lfHxvdC5TdHVkeU1ldGFJbmZvLmlzU3RhbmRhcmRQaW5lKGUuaWQpPzEhPT1lLnBsb3RzLmxlbmd0aD8ic2hpZnQiOiJsb29wIjpudWxsfShlKSxpPSgpPT50aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldChlKTtzd2l0Y2godCl7Y2FzZSJsb29wIjpyZXR1cm4gbmV3IHVhKGkpO2Nhc2Uic2hpZnQiOnJldHVybiBuZXcgcGEoaSx0aGlzLl9jaGFydE1vZGVsLmdldFN0dWR5U2hpZnRDb2xvclN0YXJ0T2Zmc2V0KCkpO2Nhc2UgbnVsbDpjYXNlIm5vUm90YXRpb25zIjpyZXR1cm4gbnVsbH19fXZhciBtYSxnYSxmYT1pKDM2Mjc3MyksU2E9aSg2ODE3OTkpOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSJ9KG1hfHwobWE9e30pKSxmdW5jdGlvbihlKXtlW2UuQWRkaXRpb25hbElubmVyUGFkZGluZz00XT0iQWRkaXRpb25hbElubmVyUGFkZGluZyIsZVtlLkhvcnpQYWRkaW5nPTRdPSJIb3J6UGFkZGluZyIsZVtlLlZlcnRQYWRkaW5nPTIuNV09IlZlcnRQYWRkaW5nIixlW2UuTGluZVNwYWNpbmc9Ml09IkxpbmVTcGFjaW5nIn0oZ2F8fChnYT17fSkpO2NsYXNzIHZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz17Ym9yZGVyU2l6ZToxLGFkZGl0aW9uYWxQYWRkaW5nSW5uZXI6MCxmb250U2l6ZTpOYU4sZm9udDoiIixjb2xvcjoiIixwYW5lQmFja2dyb3VuZENvbG9yOiIiLHBhZGRpbmdCb3R0b206MCxwYWRkaW5nSW5uZXI6MCxwYWRkaW5nT3V0ZXI6MCxwYWRkaW5nVG9wOjAsbGluZVNwYWNpbmc6MH0sdGhpcy5fY2hhcnRNb2RlbD1lfW9wdGlvbnMoKXtjb25zdCBlPXRoaXMuX3JlbmRlcmVyT3B0aW9ucyx0PXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLGk9dC5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCk7cmV0dXJuIGUuZm9udFNpemUhPT1pJiYoZS5mb250U2l6ZT1pLGUuZm9udD0oMCxSaS5tYWtlRm9udCkoaSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSxlLnBhZGRpbmdUb3A9aS8xMioyLjUsZS5wYWRkaW5nQm90dG9tPWkvMTIqMi41LGUucGFkZGluZ0lubmVyPWkvMTIqNCxlLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXI9aS8xMio0LGUucGFkZGluZ091dGVyPWkvMTIqNCxlLmxpbmVTcGFjaW5nPWkvMTIqMiksZS5jb2xvcj10LnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksZS5wYW5lQmFja2dyb3VuZENvbG9yPXQucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHRoaXMuX3JlbmRlcmVyT3B0aW9uc319dmFyIHlhPWkoNzk0ODEyKSxiYT1pKDk2MTgzMSk7Y29uc3Qgd2E9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LnNlc3Npb25zLHh0LmRhcmtUaGVtZS5jb250ZW50LnNlc3Npb25zKTtjb25zdCBDYT1bImdyYXBoaWNzIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wcmVNYXJrZXQudmlzaWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucHJlTWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucG9zdE1hcmtldC52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wb3N0TWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMuZWxlY3Ryb25pYy52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5lbGVjdHJvbmljLmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQudmVydExpbmVzLnNlc3NCcmVha3MuYXZhaWxhYmxlIl07Y2xhc3MgUGEgZXh0ZW5kcyBHci5EZWZhdWx0UHJvcGVydHl7Y29uc3RydWN0b3IoZSl7c3VwZXIoe2RlZmF1bHROYW1lOiJzZXNzaW9ucyIsdGhlbWVkQ29sb3JzOndhLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsuLi5DYV0sCmV4Y2x1ZGVkU3RhdGVLZXlzOlsuLi5DYV0sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Wy4uLkNhXX0pLHRoaXMuX3N5bWJvbEluZm89ZSx0aGlzLl9zeW1ib2xJbmZvLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKSkpLHRoaXMuaGFzQ2hpbGQoImdyYXBoaWNzIil8fHRoaXMuYWRkUHJvcGVydHkoImdyYXBoaWNzIix7fSksdGhpcy5tZXJnZSh7c2Vzc2lvbkhpZ2hsaWdodDp7dmVydGxpbmVzOntzZXNzQnJlYWtzOnthdmFpbGFibGU6ITB9fSxiYWNrZ3JvdW5kczp7cHJlTWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scG9zdE1hcmtldDp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG5pZ2h0TWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0sZWxlY3Ryb25pYzp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG91dE9mU2Vzc2lvbjp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9fX19KSx0aGlzLl91cGRhdGVHcmFwaGljc1Byb3BzKCksdGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sSW5mby5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXJlc3RvcmVTdGF0ZShlKXtjb25zdCB0PWUucHJvcGVydGllczshZnVuY3Rpb24oZSl7Y29uc3QgdD1lLGk9ImdyYXBoaWNzImluIGU/ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczp2b2lkIDA7aWYodm9pZCAwIT09aSl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKGkub3V0T2ZTZXNzaW9uKTtlLmNvbG9yPT09YmEuc2Vzc2lvbnNQcmVmZXJlbmNlc0RlZmF1bHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5vdXRPZlNlc3Npb24uY29sb3J8fCJwb3N0TWFya2V0ImluIGk/KHQuc2Vzc2lvbkhpZ2hsaWdodD10LnNlc3Npb25IaWdobGlnaHQ/P3t9LHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcz1pKToodC5zZXNzaW9uSGlnaGxpZ2h0PXQuc2Vzc2lvbkhpZ2hsaWdodD8/e30sdC5zZXNzaW9uSGlnaGxpZ2h0LmJhY2tncm91bmRzPXsuLi50LnNlc3Npb25IaWdobGlnaHQ/LmJhY2tncm91bmRzPz97fSxwb3N0TWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scHJlTWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH19KX1jb25zdCBzPSJncmFwaGljcyJpbiBlP2UuZ3JhcGhpY3MudmVydGxpbmVzOnZvaWQgMDtzJiYodC5zZXNzaW9uSGlnaGxpZ2h0Pz89e30sdC5zZXNzaW9uSGlnaGxpZ2h0LnZlcnRsaW5lcz1zKSwoMCxHci5jbGVhblVwU3RhdGVLZXlzKSh0LENhKX0odCksImdyYXBoaWNzImluIGUucHJvcGVydGllcyYmKCgwLHIuZGVmYXVsdCkoZS5wcm9wZXJ0aWVzLnNlc3Npb25IaWdobGlnaHQsZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSxkZWxldGUgZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZSh0KSx0aGlzLnJlbW92ZUR1cGxpY2F0ZVByb3BlcnRpZXMoKX1sb2FkVGhlbWVTdGF0ZShlKXsiZ3JhcGhpY3MiaW4gZSYmKCgwLHIuZGVmYXVsdCkoZS5zZXNzaW9uSGlnaGxpZ2h0LGUuZ3JhcGhpY3MpLGRlbGV0ZSBlLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZShlKX1yZW1vdmVEdXBsaWNhdGVQcm9wZXJ0aWVzKCl7dGhpcy5oYXNDaGlsZCgicHJvcGVydGllcyIpJiYodGhpcy5yZW1vdmVQcm9wZXJ0eSgicHJvcGVydGllcyIpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLmZpcmVDaGFuZ2VkKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpKX1fdXNlclNldHRpbmdzKCl7Y29uc3QgZT1zdXBlci5fdXNlclNldHRpbmdzKCk7cmV0dXJuIGUmJiFlLnNlc3Npb25IaWdobGlnaHQmJihlLnNlc3Npb25IaWdobGlnaHQ9ZS5ncmFwaGljcyksZGVsZXRlIGU/LmdyYXBoaWNzLGV9X3VwZGF0ZUdyYXBoaWNzUHJvcHMoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtlJiYodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN0YXRlKCkpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucz8uZmlsdGVyKChlPT4hZS5wcml2YXRlKSkubWFwKChlPT5lLmlkKSk/P1tdO3JldHVybiJmdXR1cmVzIj09PWUudHlwZSYmdC5pbmNsdWRlcygicmVndWxhciIpJiZ0LmluY2x1ZGVzKCJ1c19yZWd1bGFyIil9KGUpJiYoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmJhY2tncm91bmRzKS5jaGlsZHMoKS5wcmVNYXJrZXQubWVyZ2VBbmRGaXJlKHRoaXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKS5iYWNrZ3JvdW5kcy5jaGlsZHMoKS5lbGVjdHJvbmljLnN0YXRlKCkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5iYWNrZ3JvdW5kcykuY2hpbGRzKCkucG9zdE1hcmtldC5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLmJhY2tncm91bmRzLmNoaWxkcygpLmVsZWN0cm9uaWMuc3RhdGUoKSkpKX19Y2xhc3MgVGEgZXh0ZW5kcyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSwoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHRoaXMuX21vZGVsPXQsdGhpcy5fcHJvcGVydGllcz1pLHQubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVZpc2libGVPZlByZUFuZFBvc3RNYXJrZXRCYWNrZ3JvdW5kKSx0aGlzLl91cGRhdGVWaXNpYmxlT2ZQcmVBbmRQb3N0TWFya2V0QmFja2dyb3VuZCgpLGUudGhlbigoZT0+eyF0aGlzLl9kZXN0cm95ZWQmJnRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhJiYoZS5yZXN0b3JlU3RhdGVEYXRhKHRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhKSwKdGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9bnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LHZvaWQgMCwhMSxlLCJzZXNzaW9ucyIpO2NvbnN0IHQ9dGhpcy5nZXQoKTt0JiZ0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodCl9c3RhdGUoZSl7Y29uc3QgdD17cHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLnN0YXRlKCl9O3JldHVybiBlJiYodC5kYXRhPXRoaXMuZ2V0KCk/LnN0YXRlRGF0YSgpPz90aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT8/dm9pZCAwKSx0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKGUub2xkU3RhdGUmJihlPWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT17cHJvcGVydGllczp7Z3JhcGhpY3M6ZS5zdGF0ZS5ncmFwaGljc319O3JldHVybiB2b2lkIDAhPT1lLmRhdGEmJnZvaWQgMCE9PWUubWV0YUluZm8mJnQmJihpLmRhdGE9e21ldGFJbmZvOmUubWV0YUluZm8sZ3JhcGhpY3M6ZS5kYXRhLmdyYXBoaWNzfSksaX0oZSx0KSksdGhpcy5fcHJvcGVydGllcy5yZXN0b3JlU3RhdGUoZSksdGhpcy5fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHZvaWQgMCE9PWUuZGF0YSYmdCl7Y29uc3QgdD10aGlzLmdldCgpO3Q/dC5yZXN0b3JlU3RhdGVEYXRhKGUuZGF0YSk6dGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9ZS5kYXRhfX1fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7aWYoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQuY2hpbGRzKCkse3ByZU1hcmtldDppLHBvc3RNYXJrZXQ6cyxlbGVjdHJvbmljOm4sb3V0T2ZTZXNzaW9uOnJ9PXQuYmFja2dyb3VuZHMuY2hpbGRzKCkse3Nlc3NCcmVha3M6b309dC52ZXJ0bGluZXMuY2hpbGRzKCksYT1lLnN1YnNlc3Npb25faWQsbD1hJiYoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoYSxlKSxjPSgwLEEuc3ltYm9sSGFzUHJlT3JQb3N0TWFya2V0KShlKSxoPSJmdXR1cmVzIj09PWUudHlwZSYmKDAsQS5zeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbikoZSk7aS5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoYyYmIWwpLHMuY2hpbGRzKCkuYXZhaWxhYmxlLnNldFZhbHVlKGMmJiFsKSxuLmNoaWxkcygpLmF2YWlsYWJsZS5zZXRWYWx1ZShoJiYhbCksci5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoKGN8fGgpJiYhbCksby5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoITApfX19dmFyIHhhPWkoOTI1MjgyKTtjb25zdCBNYT0ic3ltYm9sV2F0ZXJtYXJrIixJYT17dGlja2VyOiExLGludGVydmFsOiExLGRlc2NyaXB0aW9uOiExLGN1c3RvbTohMSxyZXBsYXk6ITAsY29sb3I6IiJ9LExhPSJyZ2JhKDgwLCA4MywgOTQsIDAuMjUpIixBYT1bInJnYmEoODAsIDgzLCA5NCwgMC4yMCkiLCJyZ2JhKDgwLCA4MywgOTQsIDAuMzApIl07ZnVuY3Rpb24ga2EoKXtjb25zdCBlPVEuZ2V0SlNPTihNYSl8fHt9O3JldHVybnsuLi5JYSwuLi5EYShlKX19ZnVuY3Rpb24gRGEoZSl7Y29uc3R7Y29sb3I6dCx2aXNpYmlsaXR5OmksLi4uc309ZSxyPXsuLi5zfTtyZXR1cm4gdm9pZCAwIT09aSYmKHIudGlja2VyPXMudGlja2VyPz9pLHIuaW50ZXJ2YWw9cy5pbnRlcnZhbD8/aSxyLmRlc2NyaXB0aW9uPXMuZGVzY3JpcHRpb24/P2ksci5jdXN0b209cy5jdXN0b20/P2kpLCgwLG4uZGVmYXVsdCkodCkmJnQhPT1MYSYmKHIuY29sb3I9dCkscn1jbGFzcyBFYSBleHRlbmRzIE90LlByb3BlcnR5e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5fZGVmYXVsdENvbG9ycz10fXZhbHVlKGUpe2NvbnN0IHQ9c3VwZXIudmFsdWUoKTtyZXR1cm4gdm9pZCAwPT09ZXx8dCYmdC5sZW5ndGg+MD90OnRoaXMuX2dldERlZmF1bHRDb2xvcihlKX1fZ2V0RGVmYXVsdENvbG9yKGUpe2NvbnN0W3QsaV09dGhpcy5fZGVmYXVsdENvbG9ycztyZXR1cm4gZT09PUpvLlN0ZFRoZW1lLkxpZ2h0P3Q6aX19Y29uc3QgUmE9KDAsYnQuZGVmYXVsdCkoKCgpPT57Y29uc3R7Y29sb3I6ZSwuLi50fT1rYSgpLGk9bmV3IE90LlByb3BlcnR5KHsuLi5JYSwuLi50fSwoMCx4YS5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoSWEpKTtyZXR1cm4gaS5hZGRDaGlsZCgiY29sb3IiLG5ldyBFYShlLEFhKSksUS5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5pLm1lcmdlQW5kRmlyZShrYSgpKSkpLGkuc3Vic2NyaWJlKG51bGwsKCgpPT5RLnNldEpTT04oTWEsaS5zdGF0ZSgpKSkpLGl9KSk7dmFyIFZhLEJhPWkoNjYzMDQ2KSxOYT1pKDUyODM5NiksT2E9aSg2MTU2NzMpLFdhPWkoNzc4NDU4KSxGYT1pKDU3MzA1NCk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lT2Zmc2V0PTRdPSJMaW5lT2Zmc2V0IixlW2UuTGluZVBhZGRpbmc9OF09IkxpbmVQYWRkaW5nIn0oVmF8fChWYT17fSkpO2NsYXNzIEhhIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3dpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKCF0aGlzLl9kYXRhKXJldHVybjtjb25zdHtsaW5lczp0LGNvbG9yOml9PXRoaXMuX2RhdGEse2NvbnRleHQ6cyxtZWRpYVNpemU6e3dpZHRoOm4saGVpZ2h0OnJ9fT1lO2xldCBvPTA7Y29uc3QgYT1bXSxsPXQuZmlsdGVyKChlPT4hIWUudGV4dCkpLGM9bC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7CmNvbnN0IHQ9bFtlXSx7Zm9udDppLGxpbmVIZWlnaHQ6cn09emEodCwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSx7d2lkdGg6YyxwYWRkaW5nUmlnaHQ6aH09VWEodC5pY29uLDA9PT1lLG48V2EubW9iaWxlRmlyc3RCcmVha3BvaW50c1sibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIl0pO3MuZm9udD1pO2NvbnN0IGQ9dGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dChzLHQudGV4dCkrYytoKzE2LHU9ZD5uP24vZDoxO2EucHVzaCh1KSxvKz1yKnUrNH1sZXQgaD1NYXRoLm1heCgoci1vKS8yLDApO3MuZmlsbFN0eWxlPWk7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7Y29uc3QgdD1sW2VdLGk9YVtlXSx7Zm9udDpyLGxpbmVIZWlnaHQ6byx2ZXJ0T2Zmc2V0OmN9PXphKHQsMD09PWUsbjxXYS5tb2JpbGVGaXJzdEJyZWFrcG9pbnRzWyJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiXSk7dHJ5e3Muc2F2ZSgpLHMuZm9udD1yLHMudGV4dEJhc2VsaW5lPSJ0b3AiLHMudGV4dEFsaWduPSJsZWZ0Ijtjb25zdHtpY29uOmEsdGV4dDpsfT10LHt3aWR0aDpkLHBhZGRpbmdSaWdodDp1LHBhdGg6cH09VWEoYSwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSxfPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQocyxsKStkK3U7aWYocy50cmFuc2xhdGUoKG4taSpfKS8yLGgpLHMuc2NhbGUoaSxpKSxwKXtjb25zdCBlPXt4OjAseTooby1kKS8yfTt0cnl7cy50cmFuc2xhdGUoZS54LGUueSkscy5maWxsKHAsImV2ZW5vZGQiKX1maW5hbGx5e3MudHJhbnNsYXRlKC1lLngsLWUueSl9fXMudHJhbnNsYXRlKGQrdSwwKSxzLmZpbGxUZXh0KGwsMCxjKSxoKz1vKmkrNH1maW5hbGx5e3MucmVzdG9yZSgpfX19fWZ1bmN0aW9uIHphKGUsdCxpKXtyZXR1cm4iZ2V0Rm9udE1ldHJpY3MiaW4gZT9lLmdldEZvbnRNZXRyaWNzKHQsaSk6ZX1mdW5jdGlvbiBVYShlLHQsaSl7cmV0dXJuIHZvaWQgMD09PWU/R2E6KDAsc2EuZGVmYXVsdCkoZSk/ZSh0LGkpOmV9Y29uc3QgR2E9e3dpZHRoOjAscGFkZGluZ1JpZ2h0OjB9LGphPW5ldyBQYXRoMkQoIk0yOCA1NEM0Mi4zNTk0IDU0IDU0IDQyLjM1OTQgNTQgMjhDNTQgMTMuNjQwNiA0Mi4zNTk0IDIgMjggMkMxMy42NDA2IDIgMiAxMy42NDA2IDIgMjhDMiA0Mi4zNTk0IDEzLjY0MDYgNTQgMjggNTRaTTI2IDE2VjI4VjQwTDE0IDI4TDI2IDE2Wk0yNiAyOEwzOCA0MFYxNkwyNiAyOFoiKSxxYT1qYSwkYT0oMCxEaS5zY2FsZVBhdGgyRCkoamEsLjc4NTcxNDI4NiksWWE9KDAsRGkuc2NhbGVQYXRoMkQpKGphLC41KTtmdW5jdGlvbiBLYShlLHQpe3JldHVybiBlLnZhbHVlKHQpfWZ1bmN0aW9uIFhhKGUpe3JldHVybigwLFJpLm1ha2VGb250KShlLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWNsYXNzIFphe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcmVuZGVyZXI9bmV3IEhhLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX21vZGVsPWUsdGhpcy5fd2F0ZXJtYXJrPXR9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3R7dGlja2VyOmUsaW50ZXJ2YWw6dCxkZXNjcmlwdGlvbjpzLGN1c3RvbTpuLHJlcGxheTpyfT10aGlzLl93YXRlcm1hcmsucHJvcGVydGllcygpLnN0YXRlKCksbz10aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS52YWx1ZSgpLGw9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGM9bC5hbGlhc1N5bWJvbEluZm8oKSxoPXImJmwuaXNJblJlcGxheSgpLnZhbHVlKCksZD1udWxsO2lmKCFjfHwhKGQ/bjplfHx0fHxzfHxoKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW5kZXJlci5zZXREYXRhKG51bGwpO2lmKGQpe2NvbnN0IGU9ZCh7c3ltYm9sSW5mbzpjLGludGVydmFsOmwuaW50ZXJ2YWwoKX0pLHQ9ZT8ubWFwKChlPT4oe3RleHQ6ZS50ZXh0LGZvbnQ6WGEoZS5mb250U2l6ZSksbGluZUhlaWdodDplLmxpbmVIZWlnaHQsdmVydE9mZnNldDplLnZlcnRPZmZzZXR9KSkpO3JldHVybiB2b2lkIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoe2NvbG9yOkthKHRoaXMuX3dhdGVybWFyay5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY29sb3IsbyksbGluZXM6dD8/W119KX1sZXQgdT1jLm5hbWU7aWYoL1FVQU5ETC8udGVzdChjLmV4Y2hhbmdlKSl7Y29uc3QgZT11LnNwbGl0KC9cLy8pO2UubGVuZ3RoJiYodT1lW2UubGVuZ3RoLTFdKX1jb25zdCBfPXtkZXNjcmlwdGlvbjpjLmRlc2NyaXB0aW9uLHNob3J0X2Rlc2NyaXB0aW9uOmMuc2hvcnRfZGVzY3JpcHRpb24scHJvX25hbWU6Yy5wcm9fbmFtZSxzaG9ydF9uYW1lOmMubmFtZSxsb2NhbF9kZXNjcmlwdGlvbjpjLmxvY2FsX2Rlc2NyaXB0aW9uLGxhbmd1YWdlOmMubGFuZ3VhZ2V9LG09W2U/dTpudWxsLHQ/KDAsT2EudHJhbnNsYXRlZEludGVydmFsU3RyaW5nKShsLmludGVydmFsKCkpOm51bGxdLmZpbHRlcihhLm5vdE51bGwpLGc9W3t0ZXh0OnU/bS5qb2luKCIsICIpOiIifSx7dGV4dDpzJiYoMCxOYS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKF8pfHwiIn0se3RleHQ6aCYmcC50KG51bGwsdm9pZCAwLGkoODkzMDI4KSl8fCIiLGljb246SmF9XS5maWx0ZXIoKGU9PmUudGV4dC5sZW5ndGg+MCkpLm1hcCgoKHt0ZXh0OmUsaWNvbjp0fSk9Pih7dGV4dDplLGljb246dCxnZXRGb250TWV0cmljczpRYX0pKSk7dGhpcy5fcmVuZGVyZXIuc2V0RGF0YSh7Y29sb3I6S2EodGhpcy5fd2F0ZXJtYXJrLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jb2xvcixvKSxsaW5lczpnfSl9fWNvbnN0IEphPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3JldHVybiB0P2U/e3BhdGg6JGEsd2lkdGg6NDQscGFkZGluZ1JpZ2h0OjEyfTp7cGF0aDpZYSx3aWR0aDoyOCxwYWRkaW5nUmlnaHQ6OH06ZT97cGF0aDpxYSx3aWR0aDo1NixwYWRkaW5nUmlnaHQ6MTZ9OntwYXRoOllhLHdpZHRoOjI4LApwYWRkaW5nUmlnaHQ6MTJ9fSksKChlLHQpPT5gJHtlfS0ke3R9YCkpO2NvbnN0IFFhPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe2NvbnN0W2kscyxuXT10bFt0P2U/MjozOmU/MDoxXTtyZXR1cm57Zm9udDpYYShpKSxsaW5lSGVpZ2h0OnMsdmVydE9mZnNldDpufX0pLCgoZSx0KT0+YCR7ZX0tJHt0fS0ke1dpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCl9YCkpO3ZhciBlbDshZnVuY3Rpb24oZSl7ZVtlLkZpcnN0TGluZT0wXT0iRmlyc3RMaW5lIixlW2UuT3RoZXJMaW5lcz0xXT0iT3RoZXJMaW5lcyIsZVtlLkZpcnN0TGluZU1vYmlsZT0yXT0iRmlyc3RMaW5lTW9iaWxlIixlW2UuT3RoZXJMaW5lc01vYmlsZT0zXT0iT3RoZXJMaW5lc01vYmlsZSJ9KGVsfHwoZWw9e30pKTtjb25zdCB0bD17MDpbODAsODAsNl0sMTpbMzYsNDQsOF0sMjpbNDgsNDgsNF0sMzpbMjgsMzYsNl19LGlsPSJzeW1ib2xXYXRlcm1hcmsiO2NsYXNzIHNsIGV4dGVuZHMgdXIuRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3VwZGF0ZVNvdXJjZT0oKT0+e3RoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcm9wZXJ0aWVzPVJhKCksKDAseWEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsaWwpLHRoaXMuX3Byb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wYW5lVmlldz1uZXcgWmEoZSx0aGlzKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wcm9wZXJ0aWVzLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSxzdXBlci5kZXN0cm95KCl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9bmFtZSgpe3JldHVybiJ3YXRlcm1hcmsifXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl7UmEoKS5tZXJnZUFuZEZpcmUoSWEpfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsZnVuY3Rpb24oZSl7Y29uc3R7dmlzaWJpbGl0eTp0LC4uLml9PWUscz17Li4uaX07cmV0dXJuIHZvaWQgMCE9PXQmJihzLnRpY2tlcj10LHMuaW50ZXJ2YWw9dCxzLmRlc2NyaXB0aW9uPXQscy5jdXN0b209dCksc30oZSksaWwpfXBhbmVWaWV3cygpe3JldHVyblt0aGlzLl9wYW5lVmlld119dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fcGFuZVZpZXcudXBkYXRlKCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJXYXRlcm1hcmtDb250ZXh0TWVudSJ9fXZhciBubCxybD1pKDEzMTI5NCksb2w9aSg2MzY5MTIpOyFmdW5jdGlvbihlKXtlW2UuU3RlcEZvckNoYW5nZVZhbHVlPS4xXT0iU3RlcEZvckNoYW5nZVZhbHVlIixlW2UuTWluVmFsdWU9MWUtN109Ik1pblZhbHVlIixlW2UuTWF4VmFsdWU9OTk5OTk5OTldPSJNYXhWYWx1ZSJ9KG5sfHwobmw9e30pKTtjbGFzcyBhbCBleHRlbmRzIG9sLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21vZGVsPWV9ZGVzdHJveSgpe3RoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9Z2V0U3RlcENoYW5nZVZhbHVlKCl7cmV0dXJuLjF9Z2V0TWluVmFsdWUoKXtyZXR1cm4gMWUtN31nZXRNYXhWYWx1ZSgpe3JldHVybiA5OTk5OTk5OX12YWx1ZSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzU2NhbGVSYXRpbygpfXNldFZhbHVlKGUsdCl7KGUhPT10aGlzLnZhbHVlKCl8fHQpJiYodGhpcy5fbW9kZWwuc2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSksdGhpcy5maXJlQ2hhbmdlZCgpKX1zZXRWYWx1ZVNpbGVudGx5KGUpe2UhPT10aGlzLnZhbHVlKCkmJnRoaXMuX21vZGVsLnNldE1haW5TZXJpZXNTY2FsZVJhdGlvKGUpfXN0YXRlKCl7cmV0dXJuIG51bGx9Y2xvbmUoKXtyZXR1cm4gbmV3IGFsKHRoaXMuX21vZGVsKX1zdG9yZVN0YXRlSWZVbmRlZmluZWQoKXtyZXR1cm4hMH13ZWFrUmVmZXJlbmNlKCl7cmV0dXJuKDAscmwud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAscmwub3duZXJzaGlwKSh0aGlzKX19dmFyIGxsPWkoMjc1NzQyKSxjbD1pKDg1NTYyNik7Y2xhc3MgaGx7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9tYXAxPW5ldyBNYXAsdGhpcy5fbWFwMj1uZXcgTWFwLHRoaXMuX2dldHRlcjE9ZSx0aGlzLl9nZXR0ZXIyPXR9YWRkKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0dGVyMShlKSxpPXRoaXMuX2dldHRlcjIoZSk7dGhpcy5fbWFwMS5zZXQodCxlKSx0aGlzLl9tYXAyLnNldChpLHQpfWdldEJ5S2V5MShlKXtyZXR1cm4gdGhpcy5fbWFwMS5nZXQoZSk/P251bGx9Z2V0QnlLZXkyKGUpe2NvbnN0IHQ9dGhpcy5fbWFwMi5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0aGlzLl9tYXAxLmdldCh0KT8/bnVsbH1yZW1vdmVCeUtleTEoZSl7Y29uc3QgdD10aGlzLl9tYXAxLmdldChlKTt2b2lkIDAhPT10JiYodGhpcy5fbWFwMS5kZWxldGUoZSksdGhpcy5fbWFwMi5kZWxldGUodGhpcy5fZ2V0dGVyMih0KSkpfXJlbW92ZUJ5S2V5MihlKXtjb25zdCB0PXRoaXMuX21hcDIuZ2V0KGUpO3ZvaWQgMCE9PXQmJih0aGlzLl9tYXAyLmRlbGV0ZShlKSx0aGlzLl9tYXAxLmRlbGV0ZSh0KSl9fXZhciBkbCx1bD1pKDI1NDgzNSkscGw9aSg3MzY1ODcpLF9sPWkoOTQzMTMwKSxtbD1pKDIyNzk4NCksZ2w9aSg4ODE5MiksZmw9aSgyMjQxODMpO2Z1bmN0aW9uIFNsKGUsdCxpKXtyZXR1cm4gaS5oYXNEYXRhU291cmNlKHQpP2JsKHQsaSk9PT1lOiEhaS5pc01haW5QYW5lKCkudmFsdWUoKSYmYmwoaS5tb2RlbCgpLm1haW5TZXJpZXMoKSxpKT09PWV9IWZ1bmN0aW9uKGUpe2UuVHJhZGluZz0idHJhZGluZyIsZS5EcmF3aW5nPSJkcmF3aW5nIiwKZS5EcmF3aW5nRm9yQWxsU3ltYm9scz0iZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlLlBoYW50b209InBoYW50b20iLGUuUmVzdFJvd1NvdXJjZXM9InJlc3RSb3dTb3VyY2VzIixlLkxlZ2VuZFZpZXdTb3VyY2VzPSJsZWdlbmRWaWV3U291cmNlcyIsZS5MZWZ0UHJpY2VTY2FsZT0ibGVmdFByaWNlU2NhbGUiLGUuUmlnaHRQcmljZVNjYWxlPSJyaWdodFByaWNlU2NhbGUiLGUuT3ZlcmxheVByaWNlU2NhbGU9Im92ZXJsYXlQcmljZVNjYWxlIixlLk11bHRpcGFuZVNvdXJjZXM9Im11bHRpcGFuZSIsZS5BbGxXaXRob3V0TXVsdGlwYW5lPSJhbGxXaXRob3V0TXVsdGlwYW5lIixlLkFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuPSJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsZS5QbG90U291cmNlPSJwbG90U291cmNlIixlLk9iamVjdFRyZWU9Im9iamVjdFRyZWUiLGUuSGl0VGVzdD0iaGl0VGVzdCIsZS5HZW5lcmFsPSJnZW5lcmFsIixlLlByaWNlPSJwcmljZSIsZS5FeGNlcHRTcGVjaWFsPSJleGNlcHRTcGVjaWFsIixlLlZpc2libGVFeGNlcHRTcGVjaWFsPSJ2aXNpYmxlRXhjZXB0U3BlY2lhbCIsZS5BbGxTb3J0ZWQ9ImFsbFNvcnRlZCIsZS5WaXNpYmxlU29ydGVkPSJ2aXNpYmxlU29ydGVkIn0oZGx8fChkbD17fSkpO2NvbnN0IHZsPW5ldyBNYXAoW1sicHJpY2UiLGU9PigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKV0sWyJ0cmFkaW5nIixlPT4oMCxyaS5pc1RyYWRpbmcpKGUpXSxbImRyYXdpbmciLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiYhKDAscmkuaXNUcmFkaW5nKShlKSYmIWUuaXNQaGFudG9tKCldLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmISgwLHJpLmlzVHJhZGluZykoZSkmJiFlLmlzUGhhbnRvbSgpXSxbInBoYW50b20iLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzUGhhbnRvbSgpXSxbInJlc3RSb3dTb3VyY2VzIixlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSkmJiEoMCxyaS5pc1RyYWRpbmcpKGUpXSxbImxlZ2VuZFZpZXdTb3VyY2VzIiwoZSx0KT0+dC5oYXNEYXRhU291cmNlKGUpJiYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpfHwoMCxnbC5pc1N0dWR5TGluZVRvb2wpKGUpKV0sWyJsZWZ0UHJpY2VTY2FsZSIsU2wuYmluZChudWxsLCJsZWZ0IildLFsicmlnaHRQcmljZVNjYWxlIixTbC5iaW5kKG51bGwsInJpZ2h0IildLFsib3ZlcmxheVByaWNlU2NhbGUiLFNsLmJpbmQobnVsbCwib3ZlcmxheSIpXSxbIm11bHRpcGFuZSIsKGUsdCk9PiF0Lmhhc0RhdGFTb3VyY2UoZSldLFsiYWxsV2l0aG91dE11bHRpcGFuZSIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJwbG90U291cmNlIiwoZSx0KT0+KDAsZmwuaXNTZXJpZXMpKGUpfHwoMCx0aS5pc1N0dWR5KShlKSYmdC5oYXNEYXRhU291cmNlKGUpJiYhZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCldLFsib2JqZWN0VHJlZSIsKGUsdCk9PntpZigoMCxyaS5pc0xpbmVUb29sKShlKSl7Y29uc3QgaT1lLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpcmV0dXJuIHQuaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoaSl9cmV0dXJuIHQuaGFzRGF0YVNvdXJjZShlKX1dXSkseWw9bmV3IE1hcChbWyJwcmljZSIsInZpc2libGVTb3J0ZWQiXSxbInRyYWRpbmciLCJ2aXNpYmxlU29ydGVkIl0sWyJkcmF3aW5nIiwidmlzaWJsZVNvcnRlZCJdLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIiwiYWxsU29ydGVkIl0sWyJwaGFudG9tIiwidmlzaWJsZVNvcnRlZCJdLFsicmVzdFJvd1NvdXJjZXMiLCJ2aXNpYmxlU29ydGVkIl0sWyJsZWdlbmRWaWV3U291cmNlcyIsInZpc2libGVTb3J0ZWQiXSxbImxlZnRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsicmlnaHRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsib3ZlcmxheVByaWNlU2NhbGUiLCJ2aXNpYmxlU29ydGVkIl0sWyJtdWx0aXBhbmUiLCJ2aXNpYmxlU29ydGVkIl0sWyJhbGxXaXRob3V0TXVsdGlwYW5lIiwidmlzaWJsZVNvcnRlZCJdLFsiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iLCJhbGxTb3J0ZWQiXSxbInBsb3RTb3VyY2UiLCJ2aXNpYmxlU29ydGVkIl0sWyJvYmplY3RUcmVlIiwidmlzaWJsZVNvcnRlZCJdXSk7ZnVuY3Rpb24gYmwoZSx0KXtjb25zdCBpPWUucHJpY2VTY2FsZSgpO3JldHVybiBudWxsPT09aT8ib3ZlcmxheSI6dC5wcmljZVNjYWxlUG9zaXRpb24oaSl9ZnVuY3Rpb24gd2woZSl7bGV0IHQ9bnVsbDtyZXR1cm57c291cmNlczplLGhhc1NvdXJjZTppPT4obnVsbD09PXQmJih0PW5ldyBNYXAoZS5tYXAoKGU9PltlLmlkKCksZV0pKSkpLHQuaGFzKGkuaWQoKSkpfX1jbGFzcyBDbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9ncm91cGVkU291cmNlcz1uZXcgTWFwLHRoaXMuX3NvdXJjZXM9bnVsbCx0aGlzLl9wYW5lPWV9Y2xlYXIoKXt0aGlzLl9ncm91cGVkU291cmNlcy5jbGVhcigpLHRoaXMuX3NvdXJjZXM9bnVsbH1kZXN0cm95KCl7dGhpcy5jbGVhcigpfWFsbCgpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVTb3J0ZWQiKXx8dGhpcy5fc29ydFNvdXJjZXMoKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgidmlzaWJsZVNvcnRlZCIpKS5zb3VyY2VzfWFsbEluY2x1ZGluZ0hpZGRlbigpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImFsbFNvcnRlZCIpfHx0aGlzLl9zb3J0U291cmNlcygpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJhbGxTb3J0ZWQiKSkuc291cmNlc31hbGxXaXRob3V0TXVsdGlwYW5lKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZSIpfWFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iKX0Kb2JqZWN0VHJlZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvYmplY3RUcmVlIil9aGFzT2JqZWN0VHJlZVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZSgib2JqZWN0VHJlZSIpLmhhc1NvdXJjZShlKX16T3JkZXJWaXNpYmxlU291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVFeGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxXaXRob3V0TXVsdGlwYW5lKCkuZmlsdGVyKChlPT4hZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCkpKTt0aGlzLl9ncm91cGVkU291cmNlcy5zZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIikpLnNvdXJjZXN9YWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKXtpZighdGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKCJleGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxJbmNsdWRpbmdIaWRkZW4oKS5maWx0ZXIoKGU9PiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSkpLmZpbHRlcigoZT0+dGhpcy5fcGFuZS5oYXNEYXRhU291cmNlKGUpKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJleGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoImV4Y2VwdFNwZWNpYWwiKSkuc291cmNlc310cmFkaW5nU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoInRyYWRpbmciKX1wcmljZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwcmljZSIpfXBsb3RTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicGxvdFNvdXJjZSIpfWxpbmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZyIpfWhhc0xpbmVTb3VyY2UoZSl7cmV0dXJuIHRoaXMuX2dldEdyb3VwZWRTb3VyY2VzQnlHcm91cFR5cGUoImRyYXdpbmciKS5oYXNTb3VyY2UoZSl9bGluZVNvdXJjZXNGb3JBbGxTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIil9cGhhbnRvbVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwaGFudG9tIil9YWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicmVzdFJvd1NvdXJjZXMiKX1oaXRUZXN0U291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImhpdFRlc3QiKSl7Y29uc3QgZT10aGlzLmFsbEV4Y2VwdExpbmVBbmRUcmFkaW5nU291cmNlcygpLmNvbmNhdCh0aGlzLmxpbmVTb3VyY2VzKCkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiaGl0VGVzdCIsd2woKDAsZHIuc29ydFNvdXJjZXMpKGUsdGhpcy5fcGFuZSkpKX1yZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgiaGl0VGVzdCIpKS5zb3VyY2VzfWdlbmVyYWxTb3VyY2VzKCl7aWYoIXRoaXMuX2dyb3VwZWRTb3VyY2VzLmhhcygiZ2VuZXJhbCIpKXtjb25zdCBlPXRoaXMuYWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCkuY29uY2F0KHRoaXMubGluZVNvdXJjZXMoKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJnZW5lcmFsIix3bCgoMCxkci5zb3J0U291cmNlcykoZSx0aGlzLl9wYW5lKSkpfXJldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJnZW5lcmFsIikpLnNvdXJjZXN9bGVmdFByaWNlU2NhbGVzU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZnRQcmljZVNjYWxlIil9cmlnaHRQcmljZVNjYWxlc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJyaWdodFByaWNlU2NhbGUiKX1vdmVybGF5UHJpY2VTY2FsZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvdmVybGF5UHJpY2VTY2FsZSIpfW11bHRpcGFuZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJtdWx0aXBhbmUiKX1sZWdlbmRWaWV3U291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZ2VuZFZpZXdTb3VyY2VzIil9X2dldFNvdXJjZXNCeUdyb3VwVHlwZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZShlKS5zb3VyY2VzfV9nZXRHcm91cGVkU291cmNlc0J5R3JvdXBUeXBlKGUpe2NvbnN0IHQ9KDAsbC5lbnN1cmVEZWZpbmVkKSh5bC5nZXQoZSkpO3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXModCk/dGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKGUpfHx0aGlzLl9ncm91cFNvdXJjZXMoZSk6KHRoaXMuX3NvcnRTb3VyY2VzKCksdGhpcy5fZ3JvdXBTb3VyY2VzKGUpKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldChlKSl9X3NvcnRTb3VyY2VzKCl7bnVsbD09PXRoaXMuX3NvdXJjZXMmJih0aGlzLl9zb3VyY2VzPXRoaXMuX3BhbmUuZGF0YVNvdXJjZXMoKSk7Y29uc3QgZT10aGlzLl9wYW5lLm1vZGVsKCkubXVsdGlQYW5lU291cmNlcyh0aGlzLl9wYW5lKSx0PSgwLGRyLnNvcnRTb3VyY2VzKSh0aGlzLl9zb3VyY2VzLmNvbmNhdChlKSx0aGlzLl9wYW5lKSxpPXQuZmlsdGVyKChlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSl8fGUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCkmJmUuaXNBY3R1YWxNZXRyaWMoKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiYWxsU29ydGVkIix3bCh0KSksdGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJ2aXNpYmxlU29ydGVkIix3bChpKSl9X2dyb3VwU291cmNlcyhlKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoeWwuZ2V0KGUpKSxpPXZsLmdldChlKQo7aWYodm9pZCAwIT09aSl7Y29uc3Qgcz0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCh0KSkuc291cmNlcy5maWx0ZXIoKGU9PmkoZSx0aGlzLl9wYW5lKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldChlLHdsKHMpKX19fXZhciBQbD1pKDYzNTUwOSksVGw9aSgxMjM2MTcpLHhsPWkoNzEyNzQ1KTtmdW5jdGlvbiBNbChlLHQsaSl7Y29uc3Qgcz1lLmRpdih0KS50b051bWJlcigpO3JldHVybiBNYXRoLmFicyhNYXRoLnJvdW5kKHMpLXMpPGl9Y29uc3QgSWw9WzIsNV0sTGw9WzUsMl07Y2xhc3MgQWx7Y29uc3RydWN0b3IoZSx0LGkpe2lmKHRoaXMuX2Jhc2U9ZSx0aGlzLl9pbnRlZ3JhbERpdmlkZXJzPXQsKDAsYmkuaXNCYXNlRGVjaW1hbCkoZSkpdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzPVsyLDIuNSwyXTtlbHNle3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycz1bXTtjb25zdCBlPWk/SWw6TGw7Zm9yKGxldCB0PXRoaXMuX2Jhc2U7MSE9PXQ7KXtpZih0JWVbMF09PTApdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLnB1c2goZVswXSksdC89ZVswXTtlbHNle2lmKHQlZVsxXSE9MCl0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgYmFzZSIpO3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycy5wdXNoKGVbMV0pLHQvPWVbMV19aWYodGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4xMDApdGhyb3cgbmV3IEVycm9yKCJzb21ldGhpbmcgd3Jvbmcgd2l0aCBiYXNlIil9fX10aWNrU3BhbihlLHQsaSl7Y29uc3Qgcz0wPT09dGhpcy5fYmFzZT8wOjEvdGhpcy5fYmFzZSxuPU1hdGgubWluKDFlLTE0LChlLXQpLzFlMyk7bGV0IHI9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoKDAsYmkubG9nMTApKGUtdCkpKSk7aWYoIWlzRmluaXRlKHIpKXJldHVybiAxZTMwNTtsZXQgbz0wLGE9dGhpcy5faW50ZWdyYWxEaXZpZGVyc1swXTtmb3IoOzspe2NvbnN0IGU9KDAsYmkuZ3JlYXRlck9yRXF1YWwpKHIscyxuKSYmcj5zK24sdD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbiksbD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkociwxLG4pLGM9bmV3IHhsLkJpZyhyKS5kaXYoYSksaD0wPT09c3x8TWwoYyxzLG4pO2lmKCEoZSYmdCYmbCYmaCkpYnJlYWs7cj1jLnRvTnVtYmVyKCksYT10aGlzLl9pbnRlZ3JhbERpdmlkZXJzWysrbyV0aGlzLl9pbnRlZ3JhbERpdmlkZXJzLmxlbmd0aF19aWYocjw9cytuJiYocj1zKSxyPU1hdGgubWF4KDEsciksdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4wJiYoMCxiaS5lcXVhbCkociwxLG4pKWZvcihvPTAsYT10aGlzLl9mcmFjdGlvbmFsRGl2aWRlcnNbMF07Oyl7Y29uc3QgZT0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbikmJnI+cytuLHQ9bmV3IHhsLkJpZyhyKS5kaXYoYSksbD0wPT09c3x8TWwodCxzLG4pO2lmKCFlfHwhbClicmVhaztyPXQudG9OdW1iZXIoKSxhPXRoaXMuX2ZyYWN0aW9uYWxEaXZpZGVyc1srK28ldGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aF19cmV0dXJuIHJ9fXZhciBrbDshZnVuY3Rpb24oZSl7ZVtlLlN0ZXBzTGltaXQ9MzBdPSJTdGVwc0xpbWl0IixlW2UuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0PTZdPSJIZXVyaXN0aWNBbGdvVmFsdWVzTGVuZ3RoTGltaXQiLGVbZS5IZXVyaXN0aWNBbGdvUmF0aW9MaW1pdD0yXT0iSGV1cmlzdGljQWxnb1JhdGlvTGltaXQifShrbHx8KGtsPXt9KSk7Y2xhc3MgRGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fYmFzZT0oMCxiaS5pc0Jhc2VEZWNpbWFsKShlKT8xOmV9bmV4dFN0ZXBEaXZpZGVycygpe3JldHVybiAxPT09dGhpcy5fYmFzZT9bWzEwLDVdLFsyXV06KHRoaXMuX2Jhc2U9TWF0aC5yb3VuZCh0aGlzLl9iYXNlLzIpLFtbMl1dKX19ZnVuY3Rpb24gRWwoZSx0KXtyZXR1cm4gZS5sZW5ndGg+a2wuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0JiYoZS5sZW5ndGgrMSkvdC5sZW5ndGg+PWtsLkhldXJpc3RpY0FsZ29SYXRpb0xpbWl0fWZ1bmN0aW9uIFJsKGUsdCl7Y29uc3QgaT1lLmZpbHRlcigoZT0+dChlLmNhbmRpZGF0ZVZhbHVlcykpKTtyZXR1cm4gaS5sZW5ndGg+MD9pLnJlZHVjZSgoKGUsdCk9PnQuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD5lLmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg/dDplKSxpWzBdKTplLmZpbmQoKGU9PmUuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD4wKSl8fGVbMF19ZnVuY3Rpb24gVmwoZSx0KXtpZihlLmxlbmd0aDw9MSlyZXR1cm5bXTtsZXQgaT1lLm1hcCgoZT0+TWF0aC5yb3VuZChlKnQpKSkscz0xO2NvbnN0IG49bmV3IERsKHQpLHI9RWwuYmluZChudWxsLGUpLG89ZT0+ZS5tYXAoKGU9PmUqcy90KSk7Zm9yKGxldCB0PTA7dDxrbC5TdGVwc0xpbWl0OysrdCl7aWYocihpKSlyZXR1cm4gbyhpKTtjb25zdCB0PW4ubmV4dFN0ZXBEaXZpZGVycygpO2xldCBhPSExO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9UmwoZS5tYXAoKGU9Pih7ZGl2aWRlcjplLGNhbmRpZGF0ZVZhbHVlczppLmZpbHRlcigodD0+TWF0aC5hYnModCklZT09MCkpfSkpKSxyKTtpZih0LmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg+MCl7aT10LmNhbmRpZGF0ZVZhbHVlcy5tYXAoKGU9PmUvdC5kaXZpZGVyKSkscyo9dC5kaXZpZGVyLGE9ITA7YnJlYWt9fWlmKCFhKXJldHVybiBpLmxlbmd0aD09PWUubGVuZ3RoP1tdOm8oaSl9cmV0dXJuW119Y2xhc3MgQmx7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fbWFya3M9bnVsbCx0aGlzLl9wcmljZVNjYWxlPWUsdGhpcy5fYmFzZT10LHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWxGdW5jPWksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmM9c31iYXNlKCl7cmV0dXJuIHRoaXMuX2Jhc2V9c2V0QmFzZShlKXtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJiYXNlIDwgMCIpO3RoaXMuX2Jhc2U9ZX10aWNrU3BhbihlLHQsaT0wKXtpZihlPHQpdGhyb3cgbmV3IEVycm9yKCJoaWdoIDwgbG93IikKO2NvbnN0IHM9dGhpcy5fcHJpY2VTY2FsZS5oZWlnaHQoKSxuPXRoaXMuX3RpY2tNYXJrSGVpZ2h0KCkscj0oZS10KSpuL3Msbz1bbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCEwKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITApLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMCksbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCExKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITEpLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMSldLnJlZHVjZSgoKHMsbik9Pntjb25zdCBvPW4udGlja1NwYW4oZSx0LHIpO3JldHVybiBvPmk/TWF0aC5taW4obyxzKTpzfSksMS8wKTtyZXR1cm4gbz4wJiZpc0Zpbml0ZShvKT9vOmUtdH1yZWJ1aWxkVGlja01hcmtzKCl7dGhpcy5fbWFya3M9bnVsbH1tYXJrcygpe3JldHVybiBudWxsPT09dGhpcy5fbWFya3MmJih0aGlzLl9tYXJrcz10aGlzLl9yZWJ1aWxkVGlja01hcmtzSW1wbCgpKSx0aGlzLl9tYXJrc31fZm9udEhlaWdodCgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlLmZvbnRTaXplKCl9X3RpY2tNYXJrSGVpZ2h0KCl7cmV0dXJuIE1hdGguY2VpbCgyLjUqdGhpcy5fZm9udEhlaWdodCgpKX1fcmVidWlsZFRpY2tNYXJrc0ltcGwoKXtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUsdD1bXSxpPWUubWFpblNvdXJjZSgpO2lmKGUuaXNFbXB0eSgpfHwhZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZSgpfHxudWxsPT09aSlyZXR1cm4gdDtsZXQgcz1pLmZpcnN0VmFsdWUoKTtudWxsPT09cyYmKHM9MCk7Y29uc3Qgbj1lLmhlaWdodCgpLHI9dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMobi0xLHMpLG89dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMoMCxzKSxhPU1hdGgubWF4KHIsbyksbD1NYXRoLm1pbihyLG8pO2lmKGE9PT1sKXJldHVybiB0O2xldCBjPXRoaXMudGlja1NwYW4oYSxsKSxoPWElYztoKz1oPDA/YzowO2NvbnN0IGQ9YT49bD8xOi0xO2xldCB1PW51bGw7Y29uc3QgcD1lLmZvcm1hdHRlcigpO2xldCBfPU5hTjtjb25zdCBtPVtdO2ZvcihsZXQgdD1hLWg7dD5sO3QtPWMpe3Q9PT1fJiYoYz10aGlzLnRpY2tTcGFuKGEsbCxjKSksXz10O2NvbnN0IGk9dGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmModCxzKTtudWxsIT09dSYmTWF0aC5hYnMoaS11KTx0aGlzLl90aWNrTWFya0hlaWdodCgpfHwobS5wdXNoKHtsb2dpY2FsOnQsY29vcmQ6aX0pLHU9aSxlLmlzTG9nKCkmJihjPXRoaXMudGlja1NwYW4odCpkLGwpKSl9Y29uc3QgZz1tLm1hcCgoZT0+ZS5sb2dpY2FsKSksZj10aGlzLl9iYXNlfHxNYXRoLnBvdygxMCwtTWF0aC5jZWlsKE1hdGgubG9nMTAoYykpKSxTPVZsKGcsZiksdj0xLygxMDAqZik7cmV0dXJuIG0ubWFwKChlPT57Y29uc3R7bG9naWNhbDp0LGNvb3JkOml9PWU7cmV0dXJue2Nvb3JkOmksbGFiZWw6cC5mb3JtYXQodCksYm9sZDpTLnNvbWUoKGU9Pk1hdGguYWJzKGUtdCk8dikpfX0pKX19dmFyIE5sPWkoNzU1NjI3KSxPbD1pKDIzMzI0Nyk7KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9wcmljZV9zY2FsZV9pZl9hbGxfc291cmNlc19oaWRkZW4iKTtjb25zdCBXbD0oMCxPbC5nZXRQZXJjZW50YWdlRm9ybWF0dGVyKSgpLEZsPW5ldyBObC5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxfSksSGw9e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsbG9nOiExLGxvZ0Rpc2FibGVkOiExLGFsaWduTGFiZWxzOiEwLGlzSW52ZXJ0ZWQ6ITEsaW5kZXhlZFRvMTAwOiExfTtmdW5jdGlvbiB6bChlKXtyZXR1cm4gZS5pc0N1cnJlbmN5U291cmNlKCkmJmUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCl9ZnVuY3Rpb24gVWwoZSl7cmV0dXJuIGUuaXNDdXJyZW5jeVNvdXJjZSgpJiYhZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKX1mdW5jdGlvbiBHbChlKXtyZXR1cm4gZS5pc1VuaXRTb3VyY2UoKSYmZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWZ1bmN0aW9uIGpsKGUpe3JldHVybiBlLmlzVW5pdFNvdXJjZSgpJiYhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWNsYXNzIHFse2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlPW51bGwsdGhpcy5fc291cmNlc1RoYXRBZmZlY3RWaXNpYmlsaXR5PVtdLHRoaXMuX2hhc1Nlcmllcz0hMSx0aGlzLl9zdHVkaWVzQ291bnQ9MCx0aGlzLl9kcmF3aW5nQ291bnQ9MCx0aGlzLl9zZXJpZXNMaWtlU291cmNlcz1bXSx0aGlzLl9wcmljZURhdGFTb3VyY2VzPVtdLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLl9sYXN0U291cmNlUmVtb3ZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZVNlcmllc09ubHk9ITEsdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZT17aXNWYWxpZDohMCx2aXNpYmxlQmFyczpudWxsLGxvZ2ljYWxSYW5nZTpudWxsfSx0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITEsdGhpcy5fbG9nRm9ybXVsYT0oMCxUbC5sb2dGb3JtdWxhRm9yQmFzZSkobnVsbCksdGhpcy5tX2hlaWdodD0wLHRoaXMuX21hcmdpbnM9e3RvcDowLGJvdHRvbTowfSx0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl90b3BQaXhlbE1hcmdpbj0wLHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPTAsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX2ludGVybmFsSGVpZ2h0Q2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9bnVsbCx0aGlzLl9zY3JvbGxTdGFydFBvaW50PW51bGwsdGhpcy5fY3VycmVuY3lDYWNoZT1udWxsLHRoaXMuX3VuaXRDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX21ldHJpY0NhY2hlPW51bGwsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZT0hMSwKdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tYXhQcmljZVJhbmdlPW51bGwsdGhpcy5fbWluUHJpY2VSYW5nZT1udWxsLHRoaXMuX3ByaWNlUmFuZ2VDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vZGVDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsMTAwLHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwuYmluZCh0aGlzKSx0aGlzLl9sb2dpY2FsVG9Db29yZGluYXRlLmJpbmQodGhpcykpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pZD0iIix0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9kcm9wU2NhbGVDYWNoZT0oKT0+e3RoaXMuX3NvdXJjZXNGb3JBdXRvc2NhbGU9bnVsbCx0aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwsdGhpcy5fdW5pdENhY2hlPW51bGwsdGhpcy5fbWV0cmljQ2FjaGU9bnVsbCx0aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGU9bnVsbH0sdD1PYmplY3QuYXNzaWduKHt9LEhsLHQpLHRoaXMuX3Byb3BlcnRpZXM9bmV3IE90LlByb3BlcnR5KHQpLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXM9ZSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlzSW52ZXJ0ZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Jc0ludmVydGVkQ2hhbmdlZCksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO2lmKGUmJmUubW9kZWwoKSl7Y29uc3QgdD1lLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKTt0JiZlLm1vZGVsKCkudXBkYXRlUGFuZSh0KX19KSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9tYXJrc0NhY2hlPW51bGx9KSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5sb2NrU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpLHRoaXMuc2V0SWQoKDAsbHQucmFuZG9tSGFzaCkoKSl9aWQoKXtyZXR1cm4gdGhpcy5faWR9c2V0SWQoZSl7dGhpcy5faWQ9ZX1pc0xvZygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvZy52YWx1ZSgpfWlzUGVyY2VudGFnZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBlcmNlbnRhZ2UudmFsdWUoKX1pc0ludmVydGVkKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaXNJbnZlcnRlZC52YWx1ZSgpfWlzSW5kZXhlZFRvMTAwKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5kZXhlZFRvMTAwLnZhbHVlKCl9aXNBdXRvU2NhbGUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUudmFsdWUoKSYmIXRoaXMuaXNMb2NrU2NhbGUoKX1pc0xvY2tTY2FsZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvY2tTY2FsZS52YWx1ZSgpfWlzUmVndWxhcigpe3JldHVybiF0aGlzLmlzUGVyY2VudGFnZSgpJiYhdGhpcy5pc0xvZygpJiYhdGhpcy5pc0luZGV4ZWRUbzEwMCgpfWlzU2NhbGVTZXJpZXNPbmx5KCl7cmV0dXJuIHRoaXMuX3NjYWxlU2VyaWVzT25seX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9aGVpZ2h0KCl7cmV0dXJuIHRoaXMubV9oZWlnaHR9c2V0SGVpZ2h0KGUpe3RoaXMubV9oZWlnaHQhPT1lJiYodGhpcy5tX2hlaWdodD1lLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX1pbnRlcm5hbEhlaWdodCgpe2lmKHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGUpcmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU7Y29uc3QgZT10aGlzLmhlaWdodCgpLXRoaXMudG9wUGl4ZWxNYXJnaW4oKS10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCk7cmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU9ZSxlfWZvbnRTaXplKCl7cmV0dXJuIHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKX1wcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5fcHJpY2VSYW5nZX1zZXRQcmljZVJhbmdlKGUsdCxpKXtpZighKGUgaW5zdGFuY2VvZiBQbC5QcmljZVJhbmdlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbmNvcnJlY3QgcHJpY2UgcmFuZ2UiKTtjb25zdCBzPXRoaXMuX3ByaWNlUmFuZ2U7aWYoIXQmJlBsLlByaWNlUmFuZ2UuY29tcGFyZShzLGUpKXJldHVybjtjb25zdCBuPW51bGwhPT10aGlzLl9tYXhQcmljZVJhbmdlJiZ0aGlzLl9tYXhQcmljZVJhbmdlLmNvbnRhaW5zU3RyaWN0bHkoZSkscj1udWxsIT09dGhpcy5fbWluUHJpY2VSYW5nZSYmZS5jb250YWluc1N0cmljdGx5KHRoaXMuX21pblByaWNlUmFuZ2UpO3RoaXMuaXNMb2NrU2NhbGUoKSYmIXQmJihufHxyKXx8KHRoaXMuX21hcmtzQ2FjaGU9bnVsbCx0aGlzLl9wcmljZVJhbmdlPWUsaXx8dGhpcy5fcHJpY2VSYW5nZUNoYW5nZWQuZmlyZShzLGUpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSkpfXNldE1pblByaWNlUmFuZ2UoZSl7dGhpcy5fbWluUHJpY2VSYW5nZT1lfXNldE1heFByaWNlUmFuZ2UoZSl7dGhpcy5fbWF4UHJpY2VSYW5nZT1lfXJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKXt0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSEwfXByaWNlUmFuZ2VTaG91bGRCZVJlY2FsY3VsYXRlZE9uY2UoKXtpZighdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZXx8dGhpcy5pc0xvY2tTY2FsZSgpKXJldHVybiExO2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCkKO3JldHVybiBudWxsIT09ZSYmZS5wcmljZVJhbmdlUmVhZHkoKX1wcmljZVJhbmdlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wcmljZVJhbmdlQ2hhbmdlZH1tb2RlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybnthdXRvU2NhbGU6ZS5hdXRvU2NhbGUudmFsdWUoKSxsb2NrU2NhbGU6ZS5sb2NrU2NhbGUudmFsdWUoKSxwZXJjZW50YWdlOmUucGVyY2VudGFnZS52YWx1ZSgpLGluZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLGxvZzplLmxvZy52YWx1ZSgpfX1zZXRNb2RlKGUpe2NvbnN0IHQ9e30saT10aGlzLm1vZGUoKSxzPXRoaXMuX3Byb3BlcnRpZXMuc3RhdGUoKTtsZXQgbj1udWxsO3ZvaWQgMCE9PWUuYXV0b1NjYWxlJiZlLmF1dG9TY2FsZSE9PXMuYXV0b1NjYWxlJiYodC5hdXRvU2NhbGU9ZS5hdXRvU2NhbGUsdGhpcy5fc2V0QXV0b1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmF1dG9TY2FsZSkpLHZvaWQgMCE9PWUubG9ja1NjYWxlJiZlLmxvY2tTY2FsZSE9PXMubG9ja1NjYWxlJiYodC5sb2NrU2NhbGU9ZS5sb2NrU2NhbGUsdGhpcy5fc2V0TG9ja1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvY2tTY2FsZSkpLHZvaWQgMCE9PWUucGVyY2VudGFnZSYmZS5wZXJjZW50YWdlIT09cy5wZXJjZW50YWdlJiYodC5wZXJjZW50YWdlPWUucGVyY2VudGFnZSx0aGlzLl9zZXRQZXJjZW50YWdlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLnBlcmNlbnRhZ2UpLHRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UuaXNWYWxpZD0hMSksdm9pZCAwIT09ZS5pbmRleGVkVG8xMDAmJmUuaW5kZXhlZFRvMTAwIT09cy5pbmRleGVkVG8xMDAmJih0LmluZGV4ZWRUbzEwMD1lLmluZGV4ZWRUbzEwMCx0aGlzLl9zZXRJbmRleGVkVG8xMDBWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUuaW5kZXhlZFRvMTAwKSx0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITEpLHZvaWQgMCE9PWUubG9nJiZlLmxvZyE9PXMubG9nJiYodC5sb2c9ZS5sb2csdGhpcy5fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvZykpO2NvbnN0IHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtzLmxvZyYmIXIubG9nLnZhbHVlKCkmJih0aGlzLl9jYW5Db252ZXJ0UHJpY2VSYW5nZUZyb21Mb2codGhpcy5fcHJpY2VSYW5nZSk/KG49dGhpcy5fY29udmVydFByaWNlUmFuZ2VGcm9tTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpOnIuYXV0b1NjYWxlLnNldFZhbHVlKCEwKSksIXMubG9nJiZyLmxvZy52YWx1ZSgpJiYobj10aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpLHMuYXV0b1NjYWxlIT09ci5hdXRvU2NhbGUudmFsdWUoKSYmci5hdXRvU2NhbGUuZmlyZUNoYW5nZWQoKSxzLmF1dG9TY2FsZURpc2FibGVkIT09ci5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpJiZyLmF1dG9TY2FsZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2NrU2NhbGUhPT1yLmxvY2tTY2FsZS52YWx1ZSgpJiZyLmxvY2tTY2FsZS5maXJlQ2hhbmdlZCgpLHMucGVyY2VudGFnZSE9PXIucGVyY2VudGFnZS52YWx1ZSgpJiYoci5wZXJjZW50YWdlLmZpcmVDaGFuZ2VkKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSkscy5pbmRleGVkVG8xMDAhPT1yLmluZGV4ZWRUbzEwMC52YWx1ZSgpJiYoci5pbmRleGVkVG8xMDAuZmlyZUNoYW5nZWQoKSx0aGlzLnVwZGF0ZUZvcm1hdHRlcigpKSxzLnBlcmNlbnRhZ2VEaXNhYmxlZCE9PXIucGVyY2VudGFnZURpc2FibGVkLnZhbHVlKCkmJnIucGVyY2VudGFnZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2chPT1yLmxvZy52YWx1ZSgpJiZyLmxvZy5maXJlQ2hhbmdlZCgpLHMubG9nRGlzYWJsZWQhPT1yLmxvZ0Rpc2FibGVkLnZhbHVlKCkmJnIubG9nRGlzYWJsZWQuZmlyZUNoYW5nZWQoKSx2b2lkIDA9PT10LmxvZyYmdm9pZCAwPT09dC5wZXJjZW50YWdlJiZ2b2lkIDA9PT10LmxvY2tTY2FsZSYmdm9pZCAwPT09dC5hdXRvU2NhbGUmJnZvaWQgMD09PXQuaW5kZXhlZFRvMTAwfHx0aGlzLl9tb2RlQ2hhbmdlZC5maXJlKGksdGhpcy5tb2RlKCkpfW1vZGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21vZGVDaGFuZ2VkfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5fbWFrZVN1cmVJdElzVmFsaWQoKSwwPT09dGhpcy5tX2hlaWdodHx8IXRoaXMuX3ByaWNlUmFuZ2V8fHRoaXMuX3ByaWNlUmFuZ2UuaXNFbXB0eSgpfWhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfWNhbkRldGFjaFNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLnNvbWUoKHQ9PnQhPT1lJiYhc2kodCkmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmISgoMCx0aS5pc1N0dWR5KSh0KSYmdC5pc0xpbmtlZFRvU2VyaWVzKCkpKSl9dXBkYXRlQWxsVmlld3MoZSl7Y29uc3QgdD10aGlzLl9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKX1sb2dGb3JtdWxhKCl7cmV0dXJuIHRoaXMuX2xvZ0Zvcm11bGF9c3RhdGUoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJue2lkOnRoaXMuX2lkLG1fcHJpY2VSYW5nZTp0aGlzLmlzQXV0b1NjYWxlKCk/bnVsbDp0aGlzLnByaWNlUmFuZ2UoKT8uc2VyaWFsaXplKCl8fG51bGwsbV9pc0F1dG9TY2FsZTp0aGlzLmlzQXV0b1NjYWxlKCksbV9pc1BlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLnZhbHVlKCksbV9pc0luZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLG1faXNMb2c6ZS5sb2cudmFsdWUoKSxtX2lzTG9ja1NjYWxlOnRoaXMuaXNMb2NrU2NhbGUoKSxtX2lzSW52ZXJ0ZWQ6dGhpcy5pc0ludmVydGVkKCksbV90b3BNYXJnaW46dGhpcy5fbWFyZ2lucy50b3AsbV9ib3R0b21NYXJnaW46dGhpcy5fbWFyZ2lucy5ib3R0b20sYWxpZ25MYWJlbHM6ZS5hbGlnbkxhYmVscy52YWx1ZSgpLApsb2dGb3JtdWxhOigwLGEuY2xvbmUpKHRoaXMuX2xvZ0Zvcm11bGEpLGhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlOnRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfX1yZXN0b3JlU3RhdGUoZSl7bGV0IHQ9ZS5tX3ByaWNlUmFuZ2U7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN0YXRlIik7aWYodm9pZCAwPT09ZS5tX2lzQXV0b1NjYWxlKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3RhdGUiKTt2b2lkIDAhPT1lLmlkJiYodGhpcy5faWQ9ZS5pZCk7Y29uc3QgaT17YXV0b1NjYWxlOmUubV9pc0F1dG9TY2FsZX07dm9pZCAwIT09ZS5tX2lzUGVyY2VudGFnZSYmKGkucGVyY2VudGFnZT1lLm1faXNQZXJjZW50YWdlKSx2b2lkIDAhPT1lLm1faXNJbmRleGVkVG8xMDAmJihpLmluZGV4ZWRUbzEwMD1lLm1faXNJbmRleGVkVG8xMDApLHZvaWQgMCE9PWUubV9pc0xvZyYmKGkubG9nPWUubV9pc0xvZyksdm9pZCAwIT09ZS5tX2lzTG9ja1NjYWxlJiYoaS5sb2NrU2NhbGU9ZS5tX2lzTG9ja1NjYWxlKSx2b2lkIDAhPT1lLm1faXNJbnZlcnRlZCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pc0ludmVydGVkLnNldFZhbHVlKGUubV9pc0ludmVydGVkKSx0aGlzLnNldE1vZGUoaSksdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZT8/bnVsbCE9PXQsdD8odCBpbnN0YW5jZW9mIFBsLlByaWNlUmFuZ2V8fCh0PW5ldyBQbC5QcmljZVJhbmdlKHQpKSx0aGlzLnNldFByaWNlUmFuZ2UodCwhMCkpOnRoaXMuY2xlYXJQcmljZVJhbmdlKCksZS5sb2dGb3JtdWxhJiYodGhpcy5fbG9nRm9ybXVsYT1lLmxvZ0Zvcm11bGEpLHZvaWQgMCE9PWUubV90b3BNYXJnaW4mJih0aGlzLl9tYXJnaW5zLnRvcD1lLm1fdG9wTWFyZ2luKSx2b2lkIDAhPT1lLm1fYm90dG9tTWFyZ2luJiYodGhpcy5fbWFyZ2lucy5ib3R0b209ZS5tX2JvdHRvbU1hcmdpbiksdm9pZCAwIT09ZS5hbGlnbkxhYmVscyYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hbGlnbkxhYmVscy5zZXRWYWx1ZShlLmFsaWduTGFiZWxzKSx0aGlzLl9tYWluU291cmNlPW51bGwsdGhpcy5fc2NhbGVTZXJpZXNPbmx5PSExfXByaWNlVG9Mb2dpY2FsKGUpe3JldHVybiB0aGlzLmlzTG9nKCkmJmU/KDAsVGwudG9Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1sb2dpY2FsVG9QcmljZShlKXtyZXR1cm4gdGhpcy5pc0xvZygpPygwLFRsLmZyb21Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMuaGVpZ2h0KCkqZX1wcmljZVRvQ29vcmRpbmF0ZShlLHQpe2NvbnN0IGk9dGhpcy5fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCk7cmV0dXJuIHRoaXMuX2xvZ2ljYWxUb0Nvb3JkaW5hdGUoaSl9Y29vcmRpbmF0ZVRvUHJpY2UoZSx0KXtsZXQgaT10aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsKGUpO3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP2k9KDAsVGwuZnJvbVBlcmNlbnQpKGksdCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpJiYoaT0oMCxUbC5mcm9tSW5kZXhlZFRvMTAwKShpLHQpKSxpfW1haW5Tb3VyY2UoKXtpZihudWxsIT09dGhpcy5fbWFpblNvdXJjZSlyZXR1cm4gdGhpcy5fbWFpblNvdXJjZTtsZXQgZTtmb3IoY29uc3QgdCBvZiB0aGlzLl9wcmljZURhdGFTb3VyY2VzKXtpZigoMCxmbC5pc1NlcmllcykodCkpe2U9dDticmVha31lfHwoZT10KX1yZXR1cm4gdGhpcy5fbWFpblNvdXJjZT1lfHxudWxsLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX21haW5Tb3VyY2V9cHJpY2VUb0Nvb3JkaW5hdGVGbihlKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHQ9dGhpcy5ib3R0b21QaXhlbE1hcmdpbigpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCksbj1pLm1heFZhbHVlKCkscj10aGlzLmludGVybmFsSGVpZ2h0KCktMSxvPXRoaXMuaXNJbnZlcnRlZCgpLGE9ci8obi1zKSxjPXRoaXMubV9oZWlnaHQsaD1lPT57Y29uc3QgaT10K2EqKGUtcyk7cmV0dXJuIG8/aTpjLTEtaX07cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/dD0+aCgoMCxUbC50b1BlcmNlbnQpKHQsZSkpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT90PT5oKCgwLFRsLnRvSW5kZXhlZFRvMTAwKSh0LGUpKTp0aGlzLmlzTG9nKCk/ZT0+aCgoMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKSk6ZT0+aChlKX1wcmljZXNBcnJheVRvQ29vcmRpbmF0ZXMoZSx0LGkpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxyPW4ubWluVmFsdWUoKSxvPW4ubWF4VmFsdWUoKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGM9dGhpcy5pc0ludmVydGVkKCksaD1hLyhvLXIpO3ZvaWQgMD09PWkmJihpPWUubGVuZ3RoKTtjb25zdCBkPXRoaXMuaXNQZXJjZW50YWdlKCksdT10aGlzLmlzSW5kZXhlZFRvMTAwKCkscD10aGlzLmlzTG9nKCksXz10aGlzLm1faGVpZ2h0O2xldCBtLGc7Zm9yKGxldCBuPTA7bjxpO24rKyltPWVbbl0sTnVtYmVyLmlzRmluaXRlKG0pJiYoZD9tPSgwLFRsLnRvUGVyY2VudCkobSx0KTp1P209KDAsVGwudG9JbmRleGVkVG8xMDApKG0sdCk6cCYmKG09KDAsVGwudG9Mb2cpKG0sdGhpcy5fbG9nRm9ybXVsYSkpLGc9cytoKihtLXIpLGVbbl09Yz9nOl8tMS1nKX1maWxsWUNvb3JkaW5hdGVzKGUsdCxpKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1zLm1pblZhbHVlKCksbz1zLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMSxjPXRoaXMuaXNJbnZlcnRlZCgpLGg9YS8oby1yKSxkPWk/LnN0YXJ0SXRlbUluZGV4Pz8wLHU9aT8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aAo7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKSlmb3IobGV0IGk9ZDtpPHU7aSsrKWVbaV0ueT0oMCxUbC50b1BlcmNlbnQpKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzSW5kZXhlZFRvMTAwKCkpZm9yKGxldCBpPWQ7aTx1O2krKyllW2ldLnk9KDAsVGwudG9JbmRleGVkVG8xMDApKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzTG9nKCkpZm9yKGxldCB0PWQ7dDx1O3QrKyllW3RdLnk9dGhpcy5wcmljZVRvTG9naWNhbChlW3RdLnByaWNlKTtlbHNlIGZvcihsZXQgdD1kO3Q8dTt0KyspZVt0XS55PWVbdF0ucHJpY2U7Zm9yKGxldCB0PWQ7dDx1O3QrKyl7Y29uc3QgaT1lW3RdLnk7aWYoaXNOYU4oaSl8fG51bGw9PWkpY29udGludWU7Y29uc3Qgcz1uK2gqKGktcik7ZVt0XS55PWM/czp0aGlzLm1faGVpZ2h0LTEtc319YmFyUHJpY2VzVG9Db29yZGluYXRlcyhlLHQpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxzPWUsbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1pLm1pblZhbHVlKCksbz1pLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMTtsZXQgYz1udWxsO2lmKHRoaXMuaXNQZXJjZW50YWdlKCk/Yz1UbC50b1BlcmNlbnQ6dGhpcy5pc0luZGV4ZWRUbzEwMCgpP2M9VGwudG9JbmRleGVkVG8xMDA6dGhpcy5pc0xvZygpJiYoYz0oZSx0KT0+ZT8oMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKTplKSwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9Im9wZW4iaW4gc1swXSxkPSJjbG9zZSJpbiBzWzBdO2lmKG51bGwhPT1jKWZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtpZighc1tlXSljb250aW51ZTtjb25zdCBpPXNbZV07aCYmKGkub3Blbj1jKGkub3Blbix0KSksaS5oaWdoPWMoaS5oaWdoLHQpLGkubG93PWMoaS5sb3csdCksZCYmKGkuY2xvc2U9YyhpLmNsb3NlLHQpKSx2b2lkIDAhPT1pLmFkZGl0aW9uYWxQcmljZSYmKGkuYWRkaXRpb25hbFByaWNlPWMoaS5hZGRpdGlvbmFsUHJpY2UsdCkpfWNvbnN0IHU9YS8oby1yKSxwPXRoaXMuaXNJbnZlcnRlZCgpO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXNbZV07aWYoIXQpY29udGludWU7aWYoaCl7Y29uc3QgZT1uK3UqKHQub3Blbi1yKSxpPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZTt0Lm9wZW49aX1jb25zdCBpPW4rdSoodC5oaWdoLXIpLG89cD9pOnRoaXMubV9oZWlnaHQtMS1pO3QuaGlnaD1vO2NvbnN0IGE9bit1Kih0Lmxvdy1yKSxsPXA/YTp0aGlzLm1faGVpZ2h0LTEtYTtpZih0Lmxvdz1sLGQpe2NvbnN0IGU9bit1Kih0LmNsb3NlLXIpLGk9cD9lOnRoaXMubV9oZWlnaHQtMS1lO3QuY2xvc2U9aX1pZih2b2lkIDAhPT10LmFkZGl0aW9uYWxQcmljZSl7Y29uc3QgZT1uK3UqKHQuYWRkaXRpb25hbFByaWNlLXIpO3QuYWRkaXRpb25hbFByaWNlPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZX19fWZvcm1hdHRlcigpe3JldHVybiBudWxsPT09dGhpcy5fZm9ybWF0dGVyJiZ0aGlzLnVwZGF0ZUZvcm1hdHRlcigpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fZm9ybWF0dGVyKX11cGRhdGVGb3JtYXR0ZXIoKXt0aGlzLl9tYXJrc0NhY2hlPW51bGw7Y29uc3QgZT10aGlzLm1haW5Tb3VyY2UoKTtsZXQgdD0xMDA7ZSYmKHQ9ZS5iYXNlKCkpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuaXNQZXJjZW50YWdlKCk/KHRoaXMuX2Zvcm1hdHRlcj1XbCx0PTEwMCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpPyh0aGlzLl9mb3JtYXR0ZXI9RmwsdD0xMDApOnRoaXMuX2Zvcm1hdHRlcj1lP2UuZm9ybWF0dGVyKCk6RmwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsdCx0aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsLmJpbmQodGhpcyksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCl9Zm9ybWF0UHJpY2UoZSx0LGkpe3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP3RoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCxpKTp0aGlzLmlzSW5kZXhlZFRvMTAwKCk/dGhpcy5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSk6dGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUFic29sdXRlKGUsdCl7cmV0dXJuIHRoaXMuX21haW5Tb3VyY2VGb3JtYXR0ZXIoKS5mb3JtYXQoZSx0KX1mb3JtYXRQcmljZVBlcmNlbnRhZ2UoZSx0LGkpe3JldHVybiBlPSgwLFRsLnRvUGVyY2VudCkoZSx0KSxXbC5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSl7Y29uc3Qgcz0oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTtyZXR1cm4gdGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQocyxpKX1nZXRGb3JtYXR0ZWRWYWx1ZXMoZSx0LGkscyl7cz8/PXRoaXMuZm9ybWF0UHJpY2VBYnNvbHV0ZShlKTtjb25zdCBuPXRoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCx7c2lnblBvc2l0aXZlOml9KSxyPXRoaXMuZm9ybWF0UHJpY2VJbmRleGVkVG8xMDAoZSx0KTtyZXR1cm57Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnIsdGV4dDooMCxUbC5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkodGhpcyx7Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnJ9KX19cmVzZXRTY2FsZSgpe3RoaXMuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSl9cmVzZXRTY2FsZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlQXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzfXByaWNlRGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fcHJpY2VEYXRhU291cmNlc31zZXJpZXNMaWtlU291cmNlcygpe3JldHVybiB0aGlzLl9zZXJpZXNMaWtlU291cmNlc31hZGREYXRhU291cmNlKGUsdCl7dGhpcy5fYWRkRGF0YVNvdXJjZUltcGwoZSx0KX1yZW1vdmVEYXRhU291cmNlKGUpewpjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKCgwLGwuYXNzZXJ0KSgtMSE9PXQsIlNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKHQsMSksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuaW5kZXhPZihlKTtpZigoMCxsLmFzc2VydCkoLTEhPT10LCJTb3VyY2UgaXMgbm90IGZvdW5kIiksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UodCwxKSxlLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudW5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUuY3VycmVuY3lNZXRhZGF0YSgpLnVuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLnVuaXRPcmlnaW5Tb3VyY2UoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmluZGV4T2YoZSk7KDAsbC5hc3NlcnQpKC0xIT09dCwiU291cmNlIGlzIG5vdCBmb3VuZCIpLHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnNwbGljZSh0LDEpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSwoMCxmbC5pc1NlcmllcykoZSkmJih0aGlzLl9oYXNTZXJpZXM9ITEpfWUuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfXRoaXMubWFpblNvdXJjZSgpfHx0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMH0pLCgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLm9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQtLSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKHRoaXMuX2RyYXdpbmdDb3VudC0tLDA9PT10aGlzLl9kcmF3aW5nQ291bnQmJigwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKTtjb25zdCBpPXRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5pbmRleE9mKGUpOy0xIT09aSYmKHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5zcGxpY2UoaSwxKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpLGU9PT10aGlzLl9tYWluU291cmNlJiYodGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX21hcmtzQ2FjaGU9bnVsbCksdGhpcy5fbWFpblNvdXJjZT1udWxsLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLmludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKSx0aGlzLl91cGRhdGVMb2dGb3JtdWxhKCksMD09PXRoaXMubV9kYXRhU291cmNlcy5sZW5ndGgmJnRoaXMuX2xhc3RTb3VyY2VSZW1vdmVkLmZpcmUoKX1yZXBsYWNlU291cmNlKGUsdCl7Y29uc3QgaT0oMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSk/dGhpcy5fcHJpY2VEYXRhU291cmNlcy5pbmRleE9mKGUpOnZvaWQgMDtyZXR1cm4gdGhpcy5fYWRkRGF0YVNvdXJjZUltcGwodCx2b2lkIDAsLTE9PT1pP3ZvaWQgMDppKSx0aGlzLnJlbW92ZURhdGFTb3VyY2UoZSksLTEhPT1pfWN1cnJlbmN5KGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUNhY2hlJiZlLnNpemUoKT09PXRoaXMuX2N1cnJlbmN5Q2FjaGUuYXZhaWxhYmxlQ3VycmVuY2llc0NvdW50KXJldHVybiB0aGlzLl9jdXJyZW5jeUNhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBTZXQsbj1uZXcgU2V0LHI9bmV3IE1hcCxvPW5ldyBTZXQsYT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcih6bCk7bGV0IGwsYz0wPT09YS5sZW5ndGh8fGFbMF0ubW9kZWwoKS5yZWFkT25seSgpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWEpe3Q9bnVsbDticmVha31jb25zdHtvcmlnaW5hbEN1cnJlbmN5OnAsaXNDdXJyZW5jeUNvbnZlcnRpYmxlOl8sY3VycmVuY3lPcmlnaW5OYW1lOm0sYmFzZUN1cnJlbmN5OmcsY3VycmVudEN1cnJlbmN5OmZ9PWE7aWYobnVsbD09PXApe3Q9bnVsbDticmVha31yLnNldChwLGUuaXRlbShwKT8uY29kZT8/cCksci5zZXQoZixlLml0ZW0oZik/LmNvZGU/P2YpLG51bGwhPT1nJiZzLmFkZChnKSxoPWgmJnA9PT1mLG4uYWRkKGYpLGkuYWRkKHApLHZvaWQgMD09PWw/bD1mOm51bGwhPT1sJiZsIT09ZiYmKGw9bnVsbCksY3x8ZS5jb252ZXJ0aWJsZShmKSYmX3x8KGM9ITApLGQrPTEsby5hZGQobSl9aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fcHJpY2VEYXRhU291cmNlcy5maWx0ZXIoVWwpO2Zvcihjb25zdCBzIG9mIGkpe2lmKCFzLmlzQ3VycmVuY3lTb3VyY2UoKXx8IXMuaXNWaXNpYmxlKCl8fHMuaXNGYWlsZWQoKSljb250aW51ZTtjb25zdCBpPXMuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWkpe3Q9bnVsbDticmVha31jb25zdCBvPWkuY3VycmVudEN1cnJlbmN5O24uYWRkKG8pLHUrPTE7Y29uc3R7aXNDdXJyZW5jeUNvbnZlcnRpYmxlOmh9PWk7Y3x8ZS5jb252ZXJ0aWJsZShvKSYmaHx8KGM9ITApLApyLnNldChvLGUuaXRlbShvKT8uY29kZT8/byk7Y29uc3QgZD1zLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz0hMCksdm9pZCAwPT09bClsPW87ZWxzZSBpZihudWxsIT09bCYmbCE9PW8pe2w9bnVsbDticmVha319fXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09ZCYmMD09PXU/bnVsbDp7cmVhZE9ubHk6YyxzZWxlY3RlZEN1cnJlbmN5Omx8fG51bGwsY3VycmVuY2llczpuLG9yaWdpbmFsQ3VycmVuY2llczppLGJhc2VDdXJyZW5jaWVzOnMsb3JpZ2luU291cmNlc0NvdW50OmQsYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsOmgsZGlzcGxheWVkVmFsdWVzOnIsc3ltYm9sczpvfSksdGhpcy5fY3VycmVuY3lDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVDdXJyZW5jaWVzQ291bnQ6ZS5zaXplKCl9LHR9dW5pdChlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fdW5pdENhY2hlJiZlLnNpemUoKT09PXRoaXMuX3VuaXRDYWNoZS5hdmFpbGFibGVVbml0c0NvdW50KXJldHVybiB0aGlzLl91bml0Q2FjaGUudmFsdWU7bGV0IHQ7Y29uc3QgaT1uZXcgU2V0LHM9bmV3IFNldCxuPW5ldyBNYXAscj1uZXcgTWFwLG89bmV3IFNldCxhPXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuZmlsdGVyKEdsKTtsZXQgbCxjPTA9PT1hLmxlbmd0aHx8YVswXS5tb2RlbCgpLnJlYWRPbmx5KCk/bmV3IFNldDplLmFsbEdyb3VwcygpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUudW5pdE1ldGFkYXRhKCkudmFsdWUoKTtpZighYSl7dD1udWxsO2JyZWFrfWNvbnN0e3VuaXRPcmlnaW5OYW1lOnAsY29udmVydGlibGVHcm91cHM6XyxvcmlnaW5hbFVuaXQ6bSxjdXJyZW50VW5pdDpmfT1hO2lmKG51bGw9PT1tKXt0PW51bGw7YnJlYWt9bi5zZXQobSxlLm5hbWUobSkpLHIuc2V0KG0sZS5kZXNjcmlwdGlvbihtKSksbi5zZXQoZixlLm5hbWUoZikpLHIuc2V0KGYsZS5kZXNjcmlwdGlvbihmKSksaD1oJiZtPT09ZixzLmFkZChmKSxpLmFkZChtKSx2b2lkIDA9PT1sP2w9ZjpudWxsIT09bCYmbCE9PWYmJihsPW51bGwpLGMuc2l6ZT4wJiYoYz0oMCxnLmludGVyc2VjdCkoYyxuZXcgU2V0KF8pKSksZCs9MSxvLmFkZChwKX1pZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcihqbCk7Zm9yKGNvbnN0IG8gb2YgaSl7aWYoIW8uaXNVbml0U291cmNlKCl8fCFvLmlzVmlzaWJsZSgpfHxvLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgaT1vLnVuaXRNZXRhZGF0YSgpLnZhbHVlKCk7aWYobnVsbD09PWkpe3Q9bnVsbDticmVha31jb25zdCBoPWkuY3VycmVudFVuaXQ7cy5hZGQoaCksdSs9MSxjLnNpemU+MCYmKGM9KDAsZy5pbnRlcnNlY3QpKGMsbmV3IFNldChpLmNvbnZlcnRpYmxlR3JvdXBzKSkpLG4uc2V0KGgsZS5uYW1lKGgpKSxyLnNldChoLGUuZGVzY3JpcHRpb24oaCkpO2NvbnN0IGQ9by51bml0T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz1uZXcgU2V0KSx2b2lkIDA9PT1sKWw9aDtlbHNlIGlmKG51bGwhPT1sJiZsIT09aCl7bD1udWxsO2JyZWFrfX19aWYodm9pZCAwPT09dClpZigwPT09ZCYmMD09PXUpdD1udWxsO2Vsc2V7dD17YXZhaWxhYmxlR3JvdXBzOmMsc2VsZWN0ZWRVbml0Omx8fG51bGwsdW5pdHM6cyxvcmlnaW5hbFVuaXRzOmksc3ltYm9sU291cmNlQ291bnQ6ZCxhbGxVbml0c0FyZU9yaWdpbmFsOmgsbmFtZXM6bixkZXNjcmlwdGlvbnM6cixzeW1ib2xzOm99fXJldHVybiB0aGlzLl91bml0Q2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlVW5pdHNDb3VudDplLnNpemUoKX0sdH1tZXRyaWMoZSl7aWYoIWUuaXNSZWFkeSgpKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZXRyaWNDYWNoZSYmZS5zaXplKCk9PT10aGlzLl9tZXRyaWNDYWNoZS5hdmFpbGFibGVNZXRyaWNzQ291bnQpcmV0dXJuIHRoaXMuX21ldHJpY0NhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBNYXAsbj1uZXcgU2V0O2xldCByLG89MD09PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmxlbmd0aHx8dGhpcy5fc2VyaWVzTGlrZVNvdXJjZXNbMF0ubW9kZWwoKS5yZWFkT25seSgpLGE9MCxjPTA7Y29uc3QgaD10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBoKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBjPWwuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1jKXt0PW51bGw7YnJlYWt9Y29uc3QgaD1sLm1ldHJpYygpO2lmKG51bGw9PT1oKXt0PW51bGw7YnJlYWt9cy5zZXQoaCxlLm5hbWUoaCkpLGkuYWRkKGgpLHZvaWQgMD09PXI/cj1oOm51bGwhPT1yJiZyIT09aCYmKHI9bnVsbCksb3x8ZS5jb252ZXJ0aWJsZShoKXx8KG89ITApLGErPTEsbi5hZGQoKDAsQS5wcm9TeW1ib2wpKGMsbC5zeW1ib2woKSkpfWlmKG51bGwhPT10KWZvcihjb25zdCBuIG9mIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMpe2lmKGguaW5jbHVkZXMobikpY29udGludWU7Y29uc3QgYT1uO2lmKCFhLmlzTWV0cmljU291cmNlKCl8fCFhLmlzVmlzaWJsZSgpfHxhLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgZD1hLm1ldHJpYygpO2lmKG51bGw9PT1kKXt0PW51bGw7YnJlYWt9aS5hZGQoZCksYys9MTtjb25zdCB1PSgwLGwuZW5zdXJlTm90TnVsbCkoYS5zeW1ib2xTb3VyY2UoKSk7aWYobnVsbD09PWEuY3VycmVuY3lTb3VyY2VTeW1ib2xJbmZvKCkpe3Q9bnVsbDticmVha31pZihvfHxlLmNvbnZlcnRpYmxlKGQpfHwobz0hMCkscy5zZXQoZCxlLm5hbWUoZCkpLGguaW5jbHVkZXModSl8fChvPSEwKSx2b2lkIDA9PT1yKXI9ZDtlbHNlIGlmKG51bGwhPT1yJiZyIT09ZCl7cj1udWxsO2JyZWFrfX1yZXR1cm4gdm9pZCAwPT09dCYmKHQ9MD09PWEmJjA9PT1jP251bGw6e3JlYWRPbmx5Om8sc2VsZWN0ZWRNZXRyaWNJZDpyfHxudWxsLG1ldHJpY3M6aSxuYW1lczpzfSksdGhpcy5fbWV0cmljQ2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlTWV0cmljc0NvdW50OmUuc2l6ZSgpfSx0fW1lYXN1cmVVbml0SWQoZSl7CmlmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGUmJmUuc2l6ZSgpPT09dGhpcy5fbWVhc3VyZVVuaXRJZENhY2hlLmF2YWlsYWJsZVVuaXRzQ291bnQpcmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZS52YWx1ZTtsZXQgdCxpO2NvbnN0IHM9bmV3IE1hcCxuPW5ldyBNYXAscj1uZXcgU2V0O2xldCBvPTA7Y29uc3QgYT10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBhKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPWwubWVhc3VyZVVuaXRJZCgpO2lmKG51bGw9PT1hKXt0PW51bGw7YnJlYWt9ci5hZGQoYSkscy5zZXQoYSxlLm5hbWUoYSkpLG4uc2V0KGEsZS5kZXNjcmlwdGlvbihhKSksdm9pZCAwPT09aT9pPWE6bnVsbCE9PWkmJmkhPT1hJiYoaT1udWxsKSxvKz0xfXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09bz9udWxsOntzZWxlY3RlZE1lYXN1cmVVbml0SWQ6aXx8bnVsbCxtZWFzdXJlVW5pdElkczpyLG5hbWVzOnMsZGVzY3JpcHRpb25zOm4sc3ltYm9sU291cmNlQ291bnQ6b30pLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVVbml0c0NvdW50OmUuc2l6ZSgpfSx0fXNldE1hcmdpbnMoZSl7aWYoISgwLGEuaXNOdW1iZXIpKGUudG9wKXx8ISgwLGEuaXNOdW1iZXIpKGUuYm90dG9tKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIG1hcmdpbiIpO2lmKGUudG9wPDB8fGUudG9wPjMwfHxlLmJvdHRvbTwwfHxlLmJvdHRvbT4zMCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiaW52YWxpZCBtYXJnaW4iKTt0aGlzLl9tYXJnaW5zLnRvcD09PWUudG9wJiZ0aGlzLl9tYXJnaW5zLmJvdHRvbT09PWUuYm90dG9tfHwodGhpcy5fbWFyZ2lucz1lLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX10b3BNYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLnRvcH1ib3R0b21NYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLmJvdHRvbX1pbnZhbGlkYXRlTWFyZ2lucygpe3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsfXRvcFBpeGVsTWFyZ2luKCl7cmV0dXJuIHRoaXMuaXNJbnZlcnRlZCgpP3RoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbjp0aGlzLnRvcE1hcmdpbigpKnRoaXMuaGVpZ2h0KCkrdGhpcy5fdG9wUGl4ZWxNYXJnaW59Ym90dG9tUGl4ZWxNYXJnaW4oKXtyZXR1cm4gdGhpcy5pc0ludmVydGVkKCk/dGhpcy50b3BNYXJnaW4oKSp0aGlzLmhlaWdodCgpK3RoaXMuX3RvcFBpeGVsTWFyZ2luOnRoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbn1tYXJrcygpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8odGhpcy5fbWFya3NDYWNoZT1udWxsLFtdKToobnVsbD09PXRoaXMuX21hcmtzQ2FjaGUmJih0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCksdGhpcy5fbWFya3NDYWNoZT10aGlzLl9tYXJrQnVpbGRlci5tYXJrcygpLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKSksdGhpcy5fbWFya3NDYWNoZSl9b25NYXJrc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NYXJrc0NoYW5nZWR9cHJpY2VSYW5nZUluUHJpY2UoKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpPy5maXJzdFZhbHVlKCk/P251bGw7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLmhlaWdodCgpO3JldHVybntmcm9tOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UodC0xLGUpLHRvOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UoMCxlKX19c2V0UHJpY2VSYW5nZUluUHJpY2UoZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpKXJldHVybjtjb25zdCB0PXRoaXMuaXNJbnZlcnRlZCgpLGk9dD90aGlzLmJvdHRvbU1hcmdpbigpOnRoaXMudG9wTWFyZ2luKCkscz10P3RoaXMudG9wTWFyZ2luKCk6dGhpcy5ib3R0b21NYXJnaW4oKSxuPXRoaXMuaXNMb2coKTtsZXQgcj1uPygwLFRsLnRvTG9nKShlLmZyb20sdGhpcy5fbG9nRm9ybXVsYSk6ZS5mcm9tLG89bj8oMCxUbC50b0xvZykoZS50byx0aGlzLl9sb2dGb3JtdWxhKTplLnRvO2NvbnN0IGE9by1yO3IrPXMqYSxvLT1pKmEsdGhpcy5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKX1oYXNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX2hhc1Nlcmllc31nZXRTdHVkaWVzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIodGkuaXNTdHVkeSl9bGFzdFNvdXJjZVJlbW92ZWQoKXtyZXR1cm4gdGhpcy5fbGFzdFNvdXJjZVJlbW92ZWR9c291cmNlc0ZvckF1dG9zY2FsZSgpe3JldHVybiB0aGlzLl9tYWluU291cmNlJiZ0aGlzLl9zY2FsZVNlcmllc09ubHkhPT10aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlU2VyaWVzT25seS52YWx1ZSgpJiYodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT1udWxsKSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlfHwodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT10aGlzLl9yZWNhbGN1bGF0ZVNvdXJjZXNGb3JBdXRvc2NhbGUoKSksdGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZX1yZWNhbGN1bGF0ZVByaWNlUmFuZ2UoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlPXt2aXNpYmxlQmFyczplLGxvZ2ljYWxSYW5nZTp0LGlzVmFsaWQ6ITF9fWludGVybmFsSGVpZ2h0Q2hhbmdlZCgpe3JldHVybiB0aGlzLl9pbnRlcm5hbEhlaWdodENoYW5nZWR9b3JkZXJlZFNvdXJjZXMoKXtpZih0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcylyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM7bGV0IGU9dGhpcy5tX2RhdGFTb3VyY2VzLnNsaWNlKCkKO3JldHVybiBlPWUuZmlsdGVyKChlPT4hc2koZSkpKSxlPSgwLGRyLnNvcnRTb3VyY2VzKShlKSx0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1lLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3J1Y2VzfWludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKXt0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1udWxsLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGx9c3RhcnRTY2FsZShlKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fHxudWxsIT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90fHwodGhpcy5fc2NhbGVTdGFydFBvaW50PXRoaXMubV9oZWlnaHQtZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9dGhpcy5wcmljZVJhbmdlKCk/LmNsb25lKCk/P251bGwpfXNjYWxlVG8oZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fc2NhbGVTdGFydFBvaW50KXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pLChlPXRoaXMubV9oZWlnaHQtZSk8MCYmKGU9MCk7bGV0IHQ9KHRoaXMuX3NjYWxlU3RhcnRQb2ludCsuMioodGhpcy5tX2hlaWdodC0xKSkvKGUrLjIqKHRoaXMubV9oZWlnaHQtMSkpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVJhbmdlU25hcHNob3QpLmNsb25lKCk7dD1NYXRoLm1heCh0LC4xKSxpLnNjYWxlQXJvdW5kQ2VudGVyKHQpLHRoaXMuc2V0UHJpY2VSYW5nZShpKX1lbmRTY2FsZSgpe3RoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmKHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1zdGFydFR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc0VtcHR5KCl8fHRoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbilyZXR1cm47Y29uc3QgaT1NYXRoLm1pbihlLHQpLHM9TWF0aC5tYXgoZSx0KTt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249e3RvcExvZ2ljYWw6dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbChpKSxib3R0b21Mb2dpY2FsOnRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwocyl9fXR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fdHdvUG9pbnRzU2NhbGVTdGFydFBvc2l0aW9uKXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pO2NvbnN0IGk9TWF0aC5taW4oZSx0KSxzPU1hdGgubWF4KGUsdCkse3RvcExvZ2ljYWw6bixib3R0b21Mb2dpY2FsOnJ9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbixvPXRoaXMuYm90dG9tUGl4ZWxNYXJnaW4oKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGw9KHRoaXMuX2ludmVydGVkQ29vcmRpbmF0ZShpKS1vKS9hLGM9KHItbikvKCh0aGlzLl9pbnZlcnRlZENvb3JkaW5hdGUocyktbykvYS1sKTtpZighTnVtYmVyLmlzRmluaXRlKGMpKXJldHVybjtjb25zdCBoPW4tYypsLGQ9aCtjO3RoaXMuc2V0UHJpY2VSYW5nZShuZXcgUGwuUHJpY2VSYW5nZSh0aGlzLnByaWNlVG9Mb2dpY2FsKGgpLHRoaXMucHJpY2VUb0xvZ2ljYWwoZCkpKX1pc0JlaW5nU2NhbGVkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9zY2FsZVN0YXJ0UG9pbnR8fG51bGwhPT10aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb259ZW5kVHdvUG9pbnRzU2NhbGUoKXt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbH1zdGFydFNjcm9sbChlKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGw9PT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiZudWxsPT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90JiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxTdGFydFBvaW50PWUsdGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90PXRoaXMucHJpY2VSYW5nZSgpPy5jbG9uZSgpPz9udWxsKSl9c2Nyb2xsVG8oZSl7aWYodGhpcy5pc0F1dG9TY2FsZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fc2Nyb2xsU3RhcnRQb2ludHx8bnVsbD09PXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdClyZXR1cm47Y29uc3QgdD10aGlzLnByaWNlUmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47bGV0IGk9ZS10aGlzLl9zY3JvbGxTdGFydFBvaW50O3RoaXMuaXNJbnZlcnRlZCgpJiYoaSo9LTEpO2NvbnN0IHM9aSoodC5sZW5ndGgoKS8odGhpcy5pbnRlcm5hbEhlaWdodCgpLTEpKSxuPXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdC5jbG9uZSgpO24uc2hpZnQocyksdGhpcy5zZXRQcmljZVJhbmdlKG4sITApLHRoaXMuX21hcmtzQ2FjaGU9bnVsbH1lbmRTY3JvbGwoKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGwhPT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiYodGhpcy5fc2Nyb2xsU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1jbGVhclByaWNlUmFuZ2UoKXt0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZX1fYWRkRGF0YVNvdXJjZUltcGwoZSx0LGkpe2lmKHR8fC0xPT09dGhpcy5tX2RhdGFTb3VyY2VzLmluZGV4T2YoZSkpe2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSl7aWYodm9pZCAwPT09aT90aGlzLl9wcmljZURhdGFTb3VyY2VzLnB1c2goZSk6dGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UoaSwwLGUpLGUuY3VycmVuY3lDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwpKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl91bml0Q2FjaGU9bnVsbCkpLGUubWV0cmljQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fbWV0cmljQ2FjaGU9bnVsbCkpLAplLmN1cnJlbmN5T3JpZ2luU291cmNlKCkuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLmN1cnJlbmN5TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUudW5pdE9yaWdpblNvdXJjZSgpLnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnB1c2goZSksZS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX2N1cnJlbmN5Q2FjaGU9bnVsbCx0aGlzLl91bml0Q2FjaGU9bnVsbCx0aGlzLl9tZXRyaWNDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX0pKSwoMCxmbC5pc1NlcmllcykoZSkpKXtjb25zdCB0PWUucHJvcGVydGllcygpO3RoaXMuX2hhc1Nlcmllc3x8KHQuY2hpbGRzKCkubG9ja1NjYWxlJiYodGhpcy5zZXRNb2RlKHtsb2NrU2NhbGU6dC5jaGlsZHMoKS5sb2NrU2NhbGUudmFsdWUoKX0pLHQucmVtb3ZlUHJvcGVydHkoImxvY2tTY2FsZSIpKSx0LmNoaWxkcygpLnBuZlN0eWxlLmhhc0NoaWxkKCJsb2NrU2NhbGUiKSYmdC5jaGlsZHMoKS5wbmZTdHlsZS5yZW1vdmVQcm9wZXJ0eSgibG9ja1NjYWxlIikpLHRoaXMuX2hhc1Nlcmllcz0hMH1lLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKXx8KHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5wdXNoKGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpfSgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQrKyksKDAscmkuaXNMaW5lVG9vbCkoZSkmJigwPT09dGhpcy5fZHJhd2luZ0NvdW50JiYoMCxULmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksdGhpcy5fZHJhd2luZ0NvdW50KyspLHRoaXMubV9kYXRhU291cmNlcy5wdXNoKGUpLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLm1haW5Tb3VyY2UoKT09PWUmJih0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5fbWFya3NDYWNoZT1udWxsKSx0aGlzLl9kcm9wU2NhbGVDYWNoZSgpLHRoaXMudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5faW5pdFNjYWxlUHJvcGVydGllcygpLHRoaXMuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX3VwZGF0ZUlzVmlzaWJsZSgpLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX19X3JlY2FsY3VsYXRlU291cmNlc0ZvckF1dG9zY2FsZSgpe3RoaXMuX21haW5Tb3VyY2UmJih0aGlzLl9zY2FsZVNlcmllc09ubHk9dGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHkudmFsdWUoKSk7Y29uc3QgZT10aGlzLl9zY2FsZVNlcmllc09ubHkmJnRoaXMuX2hhc1NlcmllcztyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLmZpbHRlcigodD0+ISghdC5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpJiYhKDAsZmwuaXNTZXJpZXMpKHQpKSYmKGU/KDAsZmwuaXNTZXJpZXMpKHQpOigwLHRpLmlzU3R1ZHkpKHQpPyF0LmlzU291cmNlSGlkZGVuKCkmJnQuaXNJbmNsdWRlZEluQXV0b1NjYWxlKCk6dC5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSkpKX1fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCksaT10LmluZGV4ZWRUbzEwMC52YWx1ZSgpfHx0LnBlcmNlbnRhZ2UudmFsdWUoKXx8dC5sb2NrU2NhbGUudmFsdWUoKTtlP3QuYXV0b1NjYWxlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShpKTp0LmF1dG9TY2FsZURpc2FibGVkLnNldFZhbHVlKGkpfV9zZXRBdXRvU2NhbGVWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LmF1dG9TY2FsZS5zZXRWYWx1ZVNpbGVudGx5KGUpLGUmJih0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseSghMSksdC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZVNpbGVudGx5KCExKSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldExvY2tTY2FsZVZhbHVlV2l0aERlcGVuZGVudFByb3BlcnRpZXMoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3QubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoZSksZSYmKHQuYXV0b1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQucGVyY2VudGFnZS5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmxvZy5zZXRWYWx1ZVNpbGVudGx5KCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShlKSx0LmxvZ0Rpc2FibGVkLnNldFZhbHVlU2lsZW50bHkoZSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldFBlcmNlbnRhZ2VWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksCnQubG9nLnNldFZhbHVlU2lsZW50bHkoITEpLHQubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0SW5kZXhlZFRvMTAwVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksdC5sb2cuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5sb2cuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpe2NvbnN0IGU9dGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS52aXNpYmxlQmFycyx0PXRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UubG9naWNhbFJhbmdlO2lmKG51bGw9PT1lfHxudWxsPT09dClyZXR1cm47bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuc291cmNlc0ZvckF1dG9zY2FsZSgpLG49dGhpcy5pc1BlcmNlbnRhZ2UoKSxyPXRoaXMuaXNJbmRleGVkVG8xMDAoKTtsZXQgbz0wLGE9MDtjb25zdCBsPXtzdGFydFRpbWVQb2ludDplLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmUubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDp0LmxlZnQoKSxsb2dpY0VuZFBvaW50OnQucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOnRoaXMsc2NhbGVTZXJpZXNPbmx5OnRoaXMuX3NjYWxlU2VyaWVzT25seX07Zm9yKGNvbnN0IGUgb2Ygcyl7aWYoIWUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT10fHxuJiYwPT09dCljb250aW51ZTtjb25zdCBzPWUuYXV0b1NjYWxlSW5mbyhsKTtsZXQgYz1zLnJhbmdlO2MmJihuP2M9KDAsVGwudG9QZXJjZW50UmFuZ2UpKGMsdCk6ciYmKGM9KDAsVGwudG9JbmRleGVkVG8xMDBSYW5nZSkoYyx0KSksaT1udWxsPT09aT9jOmkubWVyZ2UoYykpLHZvaWQgMCE9PXMudG9wUGl4ZWxNYXJnaW4mJihvPU1hdGgubWF4KG8scy50b3BQaXhlbE1hcmdpbikpLHZvaWQgMCE9PXMuYm90dG9tUGl4ZWxNYXJnaW4mJihhPU1hdGgubWF4KGEscy5ib3R0b21QaXhlbE1hcmdpbikpfShNYXRoLmFicyhvLXRoaXMuX3RvcFBpeGVsTWFyZ2luKT4wfHxNYXRoLmFicyhhLXRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luKT4wKSYmKHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPWEsdGhpcy5fdG9wUGl4ZWxNYXJnaW49byx0aGlzLl9tYXJrc0NhY2hlPW51bGwsdGhpcy5faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKSksaT8odGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITAsaS5taW5WYWx1ZSgpPT09aS5tYXhWYWx1ZSgpJiYoaT1uZXcgUGwuUHJpY2VSYW5nZShpLm1pblZhbHVlKCktLjUsaS5tYXhWYWx1ZSgpKy41KSksdGhpcy5zZXRQcmljZVJhbmdlKGkpKTp0aGlzLl9wcmljZVJhbmdlfHx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UoLS41LC41KSksdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS5pc1ZhbGlkPSEwO2NvbnN0IGM9dGhpcy5tYWluU291cmNlKCk7bnVsbCE9PWMmJnRoaXMuX3JlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSFjLnByaWNlUmFuZ2VSZWFkeSgpKX1fbWFrZVN1cmVJdElzVmFsaWQoKXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWR8fCh0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITAsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpKX1faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKXt0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDaGFuZ2VkLmZpcmUoKX1fY29vcmRpbmF0ZVRvTG9naWNhbChlKXtpZih0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpLHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGUpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCkrKGkubWF4VmFsdWUoKS1pLm1pblZhbHVlKCkpKigodC10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkpLyh0aGlzLmludGVybmFsSGVpZ2h0KCktMSkpO3JldHVybiB0aGlzLmxvZ2ljYWxUb1ByaWNlKHMpfV9sb2dpY2FsVG9Db29yZGluYXRlKGUpe2lmKHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5pc0VtcHR5KCkpcmV0dXJuIDA7ZT10aGlzLnByaWNlVG9Mb2dpY2FsKGUpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksaT10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkrKHRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xKSooZS10Lm1pblZhbHVlKCkpLyh0Lm1heFZhbHVlKCktdC5taW5WYWx1ZSgpKTtyZXR1cm4gdGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGkpfV9jb252ZXJ0UHJpY2VSYW5nZUZyb21Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCxUbC5mcm9tTG9nKShlLm1pblZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSksaT0oMCxUbC5mcm9tTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NvbnZlcnRQcmljZVJhbmdlVG9Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGwKO2NvbnN0IHQ9KDAsVGwudG9Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLnRvTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NhbkNvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyhlKXtpZihudWxsPT09ZSlyZXR1cm4hMTtjb25zdCB0PSgwLFRsLmZyb21Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLmZyb21Mb2cpKGUubWF4VmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKTtyZXR1cm4gaXNGaW5pdGUodCkmJmlzRmluaXRlKGkpfV9vblNvdXJjZVZpc2liaWxpdHlDaGFuZ2VkKCl7dGhpcy5fZHJvcFNjYWxlQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKX1fdXBkYXRlSXNWaXNpYmxlKCl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKCEwKX1fdXBkYXRlTG9nRm9ybXVsYSgpe2NvbnN0IGU9dGhpcy5pc0xvZygpP3RoaXMuX2NvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyh0aGlzLnByaWNlUmFuZ2UoKSk6bnVsbCx0PXRoaXMubWFpblNvdXJjZSgpO2lmKG51bGw9PT10KXRoaXMuX2xvZ0Zvcm11bGE9KDAsVGwubG9nRm9ybXVsYUZvckJhc2UpKG51bGwpO2Vsc2V7Y29uc3QgZT10LmJhc2UoKXx8bnVsbCxpPSgwLFRsLmxvZ0Zvcm11bGFGb3JCYXNlKShlKTsoMCxUbC5sb2dGb3JtdWxhc0FyZVNhbWUpKGksdGhpcy5fbG9nRm9ybXVsYSl8fCh0aGlzLl9sb2dGb3JtdWxhPWkpfWUmJnRoaXMuc2V0UHJpY2VSYW5nZSh0aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKGUpKX1faW52ZXJ0ZWRDb29yZGluYXRlKGUpe3JldHVybiB0aGlzLmlzSW52ZXJ0ZWQoKT9lOnRoaXMuaGVpZ2h0KCktMS1lfV9pbml0U2NhbGVQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLmlzTG9ja1NjYWxlKCksdD10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtlJiYodC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSksdC5sb2cuc2V0VmFsdWUoITEpLHQuYXV0b1NjYWxlLnNldFZhbHVlKCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWUoZSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZShlKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCExKSx0LnBlcmNlbnRhZ2UudmFsdWUoKSYmKHQubG9nLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSkpLHQuaW5kZXhlZFRvMTAwLnZhbHVlKCkmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSl9X2NvcnJlY3RlZE1hcmdpbnMoKXtpZihudWxsPT09dGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlKXtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsIT09ZT9lLmNvcnJlY3RTY2FsZU1hcmdpbnModGhpcy5fbWFyZ2lucyk6dGhpcy5fbWFyZ2luc31yZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlfV9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpe3JldHVybiB0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c3x8KHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPXRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PiEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0FjdHVhbFN5bWJvbCgpJiZlLmlzQWN0dWFsQ3VycmVuY3koKSkpKSx0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c31fbWFpblNvdXJjZUZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCk7cmV0dXJuIGU/LmZvcm1hdHRlcigpfHxGbH1fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCl7cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/KDAsVGwudG9QZXJjZW50KShlLHQpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT8oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTplfV9vbklzSW52ZXJ0ZWRDaGFuZ2VkKCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX21hcmtCdWlsZGVyLnJlYnVpbGRUaWNrTWFya3MoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGUuc2V0VmFsdWUoIXRoaXMuaXNMb2NrU2NhbGUoKSYmIXRoaXMuaXNBdXRvU2NhbGUoKSl9fXZhciAkbD1pKDEwOTQyOSksWWw9aSg4Njc4MzEpLEtsPWkoODIwMTgwKSxYbD1pKDEzNjc5KSxabD1pKDUwOTYzKSxKbD1pKDQ3NzMpLFFsPWkoNzAxNTA2KSxlYz1pKDk1MDU1NCk7ZnVuY3Rpb24gdGMoZSl7ZS53aWNrVXBDb2xvcj1lLndpY2tVcENvbG9yPz9lLndpY2tDb2xvcixlLndpY2tEb3duQ29sb3I9ZS53aWNrRG93bkNvbG9yPz9lLndpY2tDb2xvcixkZWxldGUgZS53aWNrQ29sb3J9ZnVuY3Rpb24gaWMoZSl7ZSYmKGUuY29sb3JUeXBlPz89cGkuQ29sb3JUeXBlLlNvbGlkKX1mdW5jdGlvbiBzYyhlLHQsaSl7Y29uc3Qgcz1wYXJzZUludChlLnNsaWNlKDAsMikpLG49cGFyc2VJbnQoZS5zbGljZSgyKSkscj0oMCxvLmdldF9jYWwpKHQsMmUzLG8uSkFOVUFSWSwxLDAsMCwwKTsoMCxvLnNldF9obXMpKHIscyxuLDAsMCx0KTtjb25zdCBhPSgwLG8uY2FsX3RvX3V0YykodCxyLCEwKSxsPSgwLG8udXRjX3RvX2NhbCkoaSxhKTtyZXR1cm5gJHtsLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9JHtsLmdldFVUQ01pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWNvbnN0IG5jPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGFuZSIpO3ZhciByYztmdW5jdGlvbiBvYyhlLHQsaSl7ZS5zZXRNYXJnaW5zKHt0b3A6dCxib3R0b206aX0pfSFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFN0cmV0Y2hGYWN0b3I9MWUzXT0iRGVmYXVsdFN0cmV0Y2hGYWN0b3IiLGVbZS5MYXJnZVBhbmVTaXplUmF0aW89MV09IkxhcmdlUGFuZVNpemVSYXRpbyIsZVtlLk1lZGl1bVBhbmVTaXplUmF0aW89LjZdPSJNZWRpdW1QYW5lU2l6ZVJhdGlvIixlW2UuU21hbGxQYW5lU2l6ZVJhdGlvPS4zXT0iU21hbGxQYW5lU2l6ZVJhdGlvIixlW2UuVGlueVBhbmVTaXplUmF0aW89LjE1XT0iVGlueVBhbmVTaXplUmF0aW8ifShyY3x8KHJjPXt9KSkKO2NvbnN0IGFjPSJjaGFydC5wYW5lIjtjbGFzcyBsY3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VXYXRjaGVkVmFsdWVzU3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMubV9tYWluRGF0YVNvdXJjZT1udWxsLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzPW5ldyBDbCh0aGlzKSx0aGlzLl9zb3VyY2VzQnlJZD1uZXcgTWFwLHRoaXMuX3ByaWNlU291cmNlc0J5SWQ9bmV3IE1hcCx0aGlzLl9zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl90YWdzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zdHJldGNoRmFjdG9yPTFlMyx0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITEsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGwsdGhpcy5fcmlnaHRQcmljZVNjYWxlcz1bXSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1udWxsLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89bnVsbCx0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1JlY2FsY3VsYXRpbmdTY2FsZXM9ITEsdGhpcy5fcHJpY2VEYXRhU291cmNlcz1bXSx0aGlzLl9zeW1ib2xTb3VyY2VzPVtdLHRoaXMuX3N0dWR5U291cmNlcz1bXSx0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzPVtdLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2J1bGtBY3Rpb25zPXthY3RpdmVDb3VudGVyOjB9LHRoaXMuX2hlaWdodD0wLHRoaXMuX3dpZHRoPTAsdGhpcy5fc2l6ZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2lzTWFpblBhbmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2V4ZWN1dGlvbnNQb3NpdGlvbkNvbnRyb2xsZXI9bnVsbCx0aGlzLl9zZXJpZXNEaXNwbGF5RXJyb3I9bnVsbCx0aGlzLl9vblByaWNlU2NhbGVJc1Zpc2libGVDaGFuZ2VkPSgpPT57dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfSx0aGlzLl9yZWNhbGNTeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xTb3VyY2VzKWlmKGUuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApO3RoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9LHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9KCk9PnswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCk6dGhpcy5fYnVsa0FjdGlvbnMuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITB9LHRoaXMuX29uU2VyaWVzRGlzcGxheUVycm9yPWU9Pnt9LHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9ZT0+ZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSx0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5zb21lKGUpfHx0aGlzLl9yaWdodFByaWNlU2NhbGVzLnNvbWUoZSk7dGhpcy5fcmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZS5zZXRWYWx1ZSh0KX0sdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5PSgwLGNsLmNyZWF0ZVByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSkoaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS52YWx1ZSgpKSx0aGlzLl9pZD1zPz8oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbW9kZT1uPz9NLlBhbmVNb2RlLlJlZ3VsYXIsdGhpcy5fdGltZVNjYWxlPWUsdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsdGhpcy5fcHJvcGVydGllcz10LHRoaXMuX21vZGVsPWksdGhpcy5fbWF4aW1pemVkPSgwLHUuY29tYmluZSkoKGU9PmU9PT10aGlzKSxpLm1heGltaXplZFBhbmUoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlPSgwLHUuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdGhpcy5faXNNYWluUGFuZS53ZWFrUmVmZXJlbmNlKCksaS5wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpLndlYWtSZWZlcmVuY2UoKSksaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS5zdWJzY3JpYmUobnVsbCwoZT0+e3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKGUudmFsdWUoKSksdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5LmFwcGx5KHRoaXMpfSkpLHRoaXMuX3RpbWVTY2FsZS5iYXJTcGFjaW5nQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMubV9tYWluRGF0YVNvdXJjZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSYmdGhpcy5fcmVjYWxjdWxhdGVQcmljZVNjYWxlQnlTY2FsZVJhdGlvKHRoaXMubV9tYWluRGF0YVNvdXJjZS5wcmljZVNjYWxlKCkpfSkpLGkub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKSwKaS5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSksdC5jaGlsZHMoKS50b3BNYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdC5jaGlsZHMoKS5ib3R0b21NYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdGhpcy5fbGluZVRvb2xzQnlMaW5rS2V5PW5ldyBobCgoZT0+ZS5saW5rS2V5KCkudmFsdWUoKSksKGU9PmUuaWQoKSkpLHRoaXMuX3VwZGF0ZU1hcmdpbnMoKX1kZXN0cm95KCl7aWYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50b3BNYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5ib3R0b21NYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGVmdFByaWNlU2NhbGVzLmNvbmNhdCh0aGlzLl9yaWdodFByaWNlU2NhbGVzKS5mb3JFYWNoKChlPT57ZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuaXNWaXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZVZhbHVlKX0pKSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcyl0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGUuZGVzdHJveSYmZS5kZXN0cm95KCk7dGhpcy5fc2VyaWVzRGlzcGxheUVycm9yPy5kZXN0cm95KCksdGhpcy5fbW9kZWwub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWF4aW1pemVkLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlLmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQuZmlyZSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfW1vZGUoKXtyZXR1cm4gdGhpcy5fbW9kZX1idWxrQWN0aW9uTWFjcm8oZSl7dGhpcy5iZWdpbkJ1bGtBY3Rpb24oKSxlKCksdGhpcy5lbmRCdWxrQWN0aW9uKCl9YmVnaW5CdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcis9MX1lbmRCdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlci09MSx0aGlzLl9wcm9jZXNzQWZ0ZXJCdWxrQWN0aW9uKCl9ZGVmYXVsdFByaWNlU2NhbGUoKXtjb25zdCBlPXRoaXMubV9tYWluRGF0YVNvdXJjZT8ucHJpY2VTY2FsZSgpPz9udWxsO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYXhpc1Byb3BlcnRpZXMuc3RhdGUoKTtyZXR1cm4gdC5hdXRvU2NhbGU9ITAsbmV3IHFsKHRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHQpfWxlZnRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXN9cmlnaHRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9yaWdodFByaWNlU2NhbGVzfXZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByaWNlU2NhbGVTbG90c0NvdW50KCksdD10aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUubGVmdCYmaT8uaXNWaXNpYmxlKCkudmFsdWUoKSl7Y29uc3Qgcz0oMCxnLm1vdmVUb0hlYWQpKHQsaSk7cmV0dXJuIHMuc3BsaWNlKGUubGVmdCksc31yZXR1cm4gdH12aXNpYmxlUmlnaHRQcmljZVNjYWxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJpY2VTY2FsZVNsb3RzQ291bnQoKSx0PXRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUucmlnaHQmJmk/LmlzVmlzaWJsZSgpLnZhbHVlKCkpe2NvbnN0IHM9KDAsZy5tb3ZlVG9IZWFkKSh0LGkpO3JldHVybiBzLnNwbGljZShlLnJpZ2h0KSxzfXJldHVybiB0fWNsZWFyU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2ZvcihsZXQgaT10aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoLTE7aT49MDtpLS0pdGhpcy5tX2RhdGFTb3VyY2VzW2ldPT09dCYmdGhpcy5fcmVtb3ZlU291cmNlRnJvbUNvbGxlY3Rpb25zKGksZSl9c291cmNlc0J5R3JvdXAoKXtyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXN9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5nZXQoZSl8fG51bGx9bGluZVRvb2xCeUxpbmtLZXkoZSl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5nZXRCeUtleTEoZSl9Y2hhbmdlU291cmNlSWQoZSx0KXtlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiYoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpPy5hZGRQZXJzaXN0ZW50TG9nRW50cnkoYGNoYW5nZVNvdXJjZUlkIGZvciBzZXJpZXMgZnJvbSAke2UuaWQoKX0gdG8gJHt0fWAsYy5MT0dMRVZFTC5JTkZPLGFjKSwoMCxsLmFzc2VydCkodGhpcy5oYXNEYXRhU291cmNlKGUpKTtjb25zdCBpPWUuaWQoKTtlLnNldElkKHQpLHRoaXMuX3NvdXJjZXNCeUlkLmRlbGV0ZShpKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodCxlKSwoMCwKSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiYodGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5kZWxldGUoaSksdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodCxlKSl9bW92ZVByaWNlU2NhbGUoZSx0LGkpe2NvbnN0IHM9dGhpcy5wcmljZVNjYWxlUG9zaXRpb24oZSk7aWYocyE9PXQpdGhpcy5yZW1vdmVQcmljZVNjYWxlKGUpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShlLHQsaSksZS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKTtlbHNlIGlmKHZvaWQgMCE9PWkmJiJvdmVybGF5IiE9PXMpe2NvbnN0IHQ9ImxlZnQiPT09cz90aGlzLl9sZWZ0UHJpY2VTY2FsZXM6dGhpcy5fcmlnaHRQcmljZVNjYWxlcyxuPXQuaW5kZXhPZihlKTt0LnNwbGljZShuLDEpLHQuc3BsaWNlKGksMCxlKX19bWFpbkRhdGFTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21haW5EYXRhU291cmNlfWlzRW1wdHkoKXtyZXR1cm4gbnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZX1yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSx0KXtpZighZSlyZXR1cm47bGV0IGk9ZS5zb3VyY2VzRm9yQXV0b3NjYWxlKCk7aWYoZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkmJihpPVsuLi5pLC4uLnRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLm11bHRpcGFuZVNvdXJjZXMoKV0pLChlLmlzQXV0b1NjYWxlKCl8fGUucHJpY2VSYW5nZVNob3VsZEJlUmVjYWxjdWxhdGVkT25jZSgpfHxudWxsPT09ZS5wcmljZVJhbmdlKCkpJiZpLmxlbmd0aD4wJiYhdGhpcy50aW1lU2NhbGUoKS5pc0VtcHR5KCkpe2NvbnN0IGk9ZS5wcmljZVJhbmdlKCkscz10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSxuPXRoaXMudGltZVNjYWxlKCkubG9naWNhbFJhbmdlKCk7ZS5yZWNhbGN1bGF0ZVByaWNlUmFuZ2UocyxuKSxQbC5QcmljZVJhbmdlLmNvbXBhcmUoaSxlLnByaWNlUmFuZ2UoKSl8fGUudXBkYXRlQWxsVmlld3ModCl9fW9uU291cmNlVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9aW5zZXJ0RGF0YVNvdXJjZShlLHQsaSxzKXtlLnNldFpvcmRlcihpKSx0fHwocz0hMSx0PXRoaXMuZmluZFN1aXRhYmxlU2NhbGUoZSkpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSk7bGV0IG49ITE7ZT09PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk/KHRoaXMubV9tYWluRGF0YVNvdXJjZT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLG49ITApOm51bGw9PT10aGlzLm1fbWFpbkRhdGFTb3VyY2UmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMubV9tYWluRGF0YVNvdXJjZT1lLG49ITApLHN8fHQuYWRkRGF0YVNvdXJjZShlLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuaW52YWxpZGF0ZU1hcmdpbnMoKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMub25Tb3VyY2VUYWdzQ2hhbmdlZCksbiYmdGhpcy5fbW9kZT09PU0uUGFuZU1vZGUuUmVndWxhciYmdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksdGhpcy5faXNJbkluc2VydE1hbnlEYXRhU291cmNlc1N0YXRlfHwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpLnN5bmNTb3VyY2VBbGVydExhYmVscyhlKX1hZGREYXRhU291cmNlKGUsdCxpKXtsZXQgcz1lLnpvcmRlcigpO2l8fCgoMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTcGVjaWFsbHlaT3JkZXJlZFNvdXJjZSgpPyhzPW51bGwhPT10aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI/dGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyKzE6dGhpcy5uZXdMaW5lVG9vbFpPcmRlcigpLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSYmKHRoaXMuX2xhc3RMaW5lRGF0YVNvdXJjZVpPcmRlcj1zKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSYmKHM9dGhpcy5uZXdTdHVkeVpPcmRlcigpKSksdGhpcy5pbnNlcnREYXRhU291cmNlKGUsdCxzKX1yZW1vdmVEYXRhU291cmNlKGUsdD0hMSxpPSExLHM9ITEpe2xldCBuPXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKC0xPT09bilyZXR1cm4gdm9pZCBuYy5sb2dEZWJ1ZygicmVtb3ZlRGF0YVNvdXJjZTogaW52YWxpZCBkYXRhIHNvdXJjZSIpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKSkuZGV0YWNoU291cmNlQWxlcnRMYWJlbHMoZSksbj10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZihlKSx0aGlzLl9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMobixpKSxlPT09dGhpcy5tX21haW5EYXRhU291cmNlJiYodGhpcy5tX21haW5EYXRhU291cmNlPW51bGwpO2NvbnN0IHI9ZS5wcmljZVNjYWxlKCk7c3x8dGhpcy5yZW1vdmVTb3VyY2VGcm9tUHJpY2VTY2FsZShlKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vblNvdXJjZVRhZ3NDaGFuZ2VkKSwoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJiF0JiZ0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpLCgwLHRpLmlzU3R1ZHkpKGUpJiZlLm1ldGFJbmZvKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKSYmdGhpcy5fbW9kZWwucmVtb3ZlTXVsdGlQYW5lU291cmNlKGUpLHRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKSxyJiYoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHIsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKX1oYXNEYXRhU291cmNlKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX0KaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoZSl7cmV0dXJuIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuc29tZSgodD0+dC5zaWduYXR1cmUoKS52YWx1ZSgpPT09ZSkpfWhhc1ByaWNlRGF0YVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fZGF0YVNvdXJjZXN9cHJpY2VEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9wcmljZURhdGFTb3VyY2VzfXN0dWR5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHVkeVNvdXJjZXN9bG9sbGlwb3BEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzfXN5bWJvbFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlc31yZXBsYWNlU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMubV9tYWluRGF0YVNvdXJjZT09PWUsbj1pPy5yZXBsYWNlU291cmNlKGUsdCk7dGhpcy5yZW1vdmVEYXRhU291cmNlKGUsITAsdm9pZCAwLG4pLHRoaXMuaW5zZXJ0RGF0YVNvdXJjZSh0LGksZS56b3JkZXIoKSxuKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLHMmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dCx0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpKX1maW5kU3VpdGFibGVTY2FsZShlLHQsaSl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneS5maW5kU3VpdGFibGVTY2FsZSh0aGlzLGUsdCxpKX1jcmVhdGVOZXdQcmljZVNjYWxlSWZQb3NzaWJsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUodGhpcyl9Y2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSh0aGlzKX1pc092ZXJsYXkoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtyZXR1cm4gbnVsbD09PXR8fCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpfXJlY2FsY3VsYXRlKGUpe3RoaXMuX2xlZnRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXRoaXMuaXNPdmVybGF5KHQpJiYhKDAscmkuaXNMaW5lVG9vbCkodCkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHQucHJpY2VTY2FsZSgpLGUpO3RoaXMudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwudXBkYXRlUGFuZSh0aGlzKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLmFsbCgpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKTtmb3IoY29uc3QgdCBvZiB0aGlzLm1vZGVsKCkuY3VzdG9tU291cmNlcygpKXQudXBkYXRlVmlld3NGb3JQYW5lKHRoaXMsZSl9dXBkYXRlTG9sbGlwb3BWaWV3cyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzKXQudXBkYXRlQWxsVmlld3MoZSl9cHJpY2VTY2FsZVBvc2l0aW9uKGUpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/ImxlZnQiOnRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/InJpZ2h0Ijoib3ZlcmxheSJ9Y3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oZSx0KXtjb25zdCBpPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmF4aXNQcm9wZXJ0aWVzLnN0YXRlKCk7aS5hdXRvU2NhbGU9ITA7Y29uc3Qgcz1uZXcgcWwodGhpcy5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGkpO3JldHVybiBzLnNldEhlaWdodCh0aGlzLmhlaWdodCgpKSxvYyhzLHRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0aGlzLl9kZWZhdWx0Qm90dG9tTWFyZ2luKCkpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShzLGUsdCksc31yZW1vdmVQcmljZVNjYWxlKGUpe2UubW9kZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByaWNlUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5pbnRlcm5hbEhlaWdodENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmlzVmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uUHJpY2VTY2FsZUlzVmlzaWJsZUNoYW5nZWQpLGUucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlPW51bGwsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKTtjb25zdCB0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5pbmRleE9mKGUpOy0xIT09dCYmKHRoaXMuX2xlZnRQcmljZVNjYWxlc1t0XS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2xlZnRQcmljZVNjYWxlcy5zcGxpY2UodCwxKSk7Y29uc3QgaT10aGlzLl9yaWdodFByaWNlU2NhbGVzLmluZGV4T2YoZSk7aWYoLTEhPT1pJiYodGhpcy5fcmlnaHRQcmljZVNjYWxlc1tpXS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuc3BsaWNlKGksMSkpLG51bGw9PT1lLm1haW5Tb3VyY2UoKSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkubGVuZ3RoOzAhPT10JiZuYy5sb2dFcnJvcigiSW52YWxpZCBwcmljZVNjYWxlIHN0YXRlOiBlbXB0eSBtYWluU291cmNlIGJ1dCBub24tZW1wdHkgZGF0YSBzb3VyY2VzPSIrdCl9dGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfXByaWNlU2NhbGVJbmRleChlLHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLmxlZnRQcmljZVNjYWxlcygpLmluZGV4T2YoZSk7Y2FzZSJyaWdodCI6CnJldHVybiB0aGlzLnJpZ2h0UHJpY2VTY2FsZXMoKS5pbmRleE9mKGUpfX1tb3ZlKGUsdCxpKXtjb25zdCBzPWUucHJpY2VTY2FsZSgpO3RoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksdC5hZGREYXRhU291cmNlKGUpLGUuc2V0UHJpY2VTY2FsZSh0KSx0LmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksZS5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSYmKG51bGwhPT1zJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpfXNldFpPcmRlcnMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+e3Quc2V0Wm9yZGVyKGUpfSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKSwwPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlciYmdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1pc01haW5QYW5lKCl7cmV0dXJuIHRoaXMuX2lzTWFpblBhbmUucmVhZG9ubHkoKX1pc0xhc3QoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5wYW5lcygpO3JldHVybiBlW2UubGVuZ3RoLTFdPT09dGhpc31uZXdTdHVkeVpPcmRlcigpe3JldHVybigwLENvLm5ld1N0dWR5Wk9yZGVyKSh0aGlzLl9wcmljZURhdGFTb3VyY2VzKX1uZXdMaW5lVG9vbFpPcmRlcihlKXtyZXR1cm4oMCxDby5uZXdMaW5lVG9vbFpPcmRlcikodGhpcy5zb3VyY2VzQnlHcm91cCgpLnpPcmRlclZpc2libGVTb3VyY2VzKCksZSl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9Y29udGFpbnNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX3NvdXJjZXNCeUlkLmhhcyh0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpfWFwcGx5UHJpY2VTY2FsZVJhdGlvKGUsdCl7bnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUhPT1lfHx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPT09dHx8IXRoaXMuaXNNYWluUGFuZSgpLnZhbHVlKCl8fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlJiZlIT09dGhpcy5tYWluRGF0YVNvdXJjZSgpPy5wcmljZVNjYWxlKCl8fCh0aGlzLl9zZXROZXdQcmljZVJhbmdlQnlTY2FsZVJhdGlvKGUsdCx0aGlzLl9tYWluU291cmNlVmlzaWJsZVByaWNlUmFuZ2UoZSksITAsITApLG51bGwhPT10aGlzLl9sb2NrZWRQcmljZVNjYWxlP3RoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKTplLmlzTG9nKCl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5T25DaGFuZ2VkKCkpfXNlbmRUb0JhY2soZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuek9yZGVyVmlzaWJsZVNvdXJjZXMoKTt0aGlzLl9iYXRjaFJlb3JkZXIoZSx0WzBdLENvLm1vdmVCZWZvcmVTb3VyY2UpfWJyaW5nVG9Gcm9udChlKXtjb25zdCB0PXRoaXMuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpO3RoaXMuX2JhdGNoUmVvcmRlcihlLHRbdC5sZW5ndGgtMV0sQ28ubW92ZUFmdGVyU291cmNlKX1zZW5kQmFja3dhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsSW5jbHVkaW5nSGlkZGVuKCksaT10LmluZGV4T2YoZVswXSk7aWYoMD09PWkpdGhpcy5icmluZ1RvRnJvbnQoZSk7ZWxzZXtjb25zdCBzPXRbaS0xXTt0aGlzLmluc2VydEJlZm9yZShlLHMpfX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKSxpPXQuaW5kZXhPZihlW2UubGVuZ3RoLTFdKTtpZihpPT09dC5sZW5ndGgtMSl0aGlzLnNlbmRUb0JhY2soZSk7ZWxzZXtjb25zdCBzPXRbaSsxXTt0aGlzLmluc2VydEFmdGVyKGUscyl9fWluc2VydEFmdGVyKGUsdCl7dGhpcy5fYmF0Y2hSZW9yZGVyKGUsdCxDby5tb3ZlQWZ0ZXJTb3VyY2UpfWluc2VydEJlZm9yZShlLHQpe3RoaXMuX2JhdGNoUmVvcmRlcihlLHQsQ28ubW92ZUJlZm9yZVNvdXJjZSl9bWF4aW1pemVkKCl7cmV0dXJuIHRoaXMuX21heGltaXplZH1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkfWNvbGxhcHNpbmdBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2luZ0F2YWlsYWJsZX1nZXRQcmljZVNjYWxlQnlJZChlKXtjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5maW5kKCh0PT50LnByaWNlU2NhbGUoKT8uaWQoKT09PWUpKTtyZXR1cm4gdm9pZCAwPT09dD9udWxsOnQucHJpY2VTY2FsZSgpfXByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3l9c2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KGUpe3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT1lLGUuYXBwbHkodGhpcyl9ZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKGUsdCxpLHMpe2lmKCgwLEFpLmlzRGF0YVNvdXJjZSkoZSkmJnRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09dGhpcylyZXR1cm5bXTtjb25zdCBuPWUucHJpY2VTY2FsZSgpO2lmKHQ9PT1uKXJldHVybiBpO2lmKG51bGw9PT1uKXJldHVybltdO2lmKCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKG4pKXJldHVybiB0PT09dGhpcy5kZWZhdWx0UHJpY2VTY2FsZSgpP2k6W107Y29uc3Qgcj10aGlzLnByaWNlU2NhbGVQb3NpdGlvbih0KTtpZihyIT09dGhpcy5wcmljZVNjYWxlUG9zaXRpb24obikpcmV0dXJuW107Y29uc3Qgbz0ibGVmdCI9PT1yP3RoaXMubGVmdFByaWNlU2NhbGVzKCk6dGhpcy5yaWdodFByaWNlU2NhbGVzKCk7cmV0dXJuIG8uaW5kZXhPZih0KTxvLmluZGV4T2Yobik/czpbXX1hY3Rpb25Ob1NjYWxlSXNFbmFibGVkKGUpewpyZXR1cm4hKCF0aGlzLmlzT3ZlcmxheShlKSYmKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXx8dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpPjF9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfXNldFByaWNlQXV0b1NjYWxlKGUsdCl7ZS5zZXRNb2RlKHthdXRvU2NhbGU6dH0pLHRoaXMudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShlLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfXN0YXRlKGUpe2NvbnN0e3dpdGhEYXRhOnQsc2tpcExpbmVUb29sc0Zyb21PdGhlclN5bWJvbHM6aSx3aXBlU2Vuc2l0aXZlRGF0YTpzLHNraXBMaW5lVG9vbHM6bixza2lwTm9uU2hhcmVkTGluZVRvb2xzOnIsc2tpcEhpZGRlblNvdXJjZXM6byxpbmNsdWRlU291cmNlczphLGlzU3R1ZHlUZW1wbGF0ZTpsfT1lPz97fSxjPXtzb3VyY2VzOltdLG1haW5Tb3VyY2VJZDp0aGlzLm1fbWFpbkRhdGFTb3VyY2U/LmlkKCksc3RyZXRjaEZhY3Rvcjp0aGlzLl9zdHJldGNoRmFjdG9yLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOltdLG92ZXJsYXlQcmljZVNjYWxlczp7fSxwcmljZVNjYWxlUmF0aW86dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyxpc0NvbGxhcHNlZDp0aGlzLl9jb2xsYXBzZWQudmFsdWUoKSxpc01heGltaXplZDp0aGlzLl9tYXhpbWl6ZWQudmFsdWUoKSxtb2RlOnRoaXMuX21vZGV9LGg9bmV3IE1hcCxkPW5ldyBNYXAsdT1lPT57aWYoaC5oYXMoZSkpcmV0dXJuIGguZ2V0KGUpO2xldCB0PSExO2lmKCgwLHRpLmlzU3R1ZHkpKGUpKXQ9IShlLmlzVmlzaWJsZSgpfHxlLmhhc0NoaWxkcmVuKCkmJmUuZ2V0QWxsQ2hpbGRyZW4oKS5zb21lKChlPT5lLmlzVmlzaWJsZSgpKSkpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSkpaWYoZS5pc1Zpc2libGUoKSl7Y29uc3QgaT1lLm93bmVyU291cmNlKCk7dD0hIWkmJnUoaSl9ZWxzZSB0PSEwO3JldHVybiBoLnNldChlLHQpLHR9LHA9ZT0+e2lmKGQuaGFzKGUpKXJldHVybiBkLmdldChlKTtsZXQgYT1udWxsO2NvbnN0IGM9bCYmIWUuaXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXx8KDAscWkuaXNBbGVydExhYmVsKShlKXx8IWUuc3RhdGV8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiZufHxvJiZ1KGUpfHwhZS5pc1NhdmVkSW5DaGFydChCb29sZWFuKHQpKXx8IShhPWUuc3RhdGUodCxzKSl8fGkmJigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzQWN0dWFsU3ltYm9sJiYhZS5pc0FjdHVhbFN5bWJvbCgpfHxyJiYoMCxyaS5pc0xpbmVUb29sKShlKSYmMD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpfHxlLmlzUGhhbnRvbSgpP251bGw6YTtyZXR1cm4gZC5zZXQoZSxjKSxjfTtpZihhKXtjLnNvdXJjZXM9W107Zm9yKGxldCBlPTA7ZTx0aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoO2UrKyl7Y29uc3QgdD1wKHRoaXMubV9kYXRhU291cmNlc1tlXSk7bnVsbCE9PXQmJmMuc291cmNlcy5wdXNoKHQpfX1jb25zdCBfPWU9Pm51bGwhPT1kLmdldChlKSxtPWU9PiFufHwhKDAscmkuaXNMaW5lVG9vbCkoZSk7Yy5sZWZ0QXhpc2VzU3RhdGU9dGhpcy5fbGVmdFByaWNlU2NhbGVzLm1hcCgoZT0+KHtzdGF0ZTplLnN0YXRlKCksc291cmNlczplLmRhdGFTb3VyY2VzKCkuZmlsdGVyKF8pLmZpbHRlcihtKS5tYXAoKGU9PmUuaWQoKSkpfSkpKSxjLnJpZ2h0QXhpc2VzU3RhdGU9dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSgpLHNvdXJjZXM6ZS5kYXRhU291cmNlcygpLmZpbHRlcihfKS5maWx0ZXIobSkubWFwKChlPT5lLmlkKCkpKX0pKSksYy5vdmVybGF5UHJpY2VTY2FsZXM9e307Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKHRoaXMuaXNPdmVybGF5KGUpJiZlLmlzU2F2ZWRJbkNoYXJ0KEJvb2xlYW4odCkpKXtjb25zdCB0PWUucHJpY2VTY2FsZSgpO2Mub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV09dD8uc3RhdGUoKT8/bnVsbH1yZXR1cm4gY31yZXN0b3JlU3RhdGUoZSl7Y29uc3R7c3RhdGU6dCx3aXRoRGF0YTppLHZlcnNpb246cyxzZXJpZXNJZDpuPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNldHRpbmdzTWlncmF0aW9uOnI9e30sY29udGVudE92ZXJyaWRlczpvLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoPTAsaXNTdHVkeVRlbXBsYXRlOmQ9ITF9PWU7KDAsbGwuZ2V0UGVyc2lzdGVudExvZ2dlcikoKT8uYWRkUGVyc2lzdGVudExvZ0VudHJ5KGBSZXN0b3JpbmcgcGFuZSB3aXRoIHNlcmllc0lkICR7bn1gLGMuTE9HTEVWRUwuSU5GTyxhYyksdGhpcy5fbW9kZT10Lm1vZGU/P00uUGFuZU1vZGUuUmVndWxhcix0LnN0cmV0Y2hGYWN0b3ImJih0aGlzLl9zdHJldGNoRmFjdG9yPXQuc3RyZXRjaEZhY3Rvcik7Y29uc3QgdT17fTtpZih0LnNvdXJjZXMpe2NvbnN0IGU9dC5zb3VyY2VzLmZpbHRlcigoZT0+ISFlJiYoIk1haW5TZXJpZXMiPT09ZS50eXBlfHwoIWUucG9pbnRzPy5zb21lKChlPT5udWxsPT09ZS50aW1lX3R8fCFpc0Zpbml0ZShlLnRpbWVfdCkpKXx8KG5jLmxvZ05vcm1hbCgiRHJvcHBlZCBpbnZhbGlkICIrZS50eXBlKyIuIFJlYXNvbjogbm9uLW51bWVyaWMgcG9pbnQgdGltZSIpLCExKSkpKSksbD1lLmZpbmRJbmRleChQLmlzTWFpblNlcmllc1N0YXRlKTstMSE9PWwmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuc2V0T2Jzb2xldGVaT3JkZXIoZVtsXS56b3JkZXIpLHM8MyYmKDAsQ28ucmVvcmRlckRhdGFTb3VyY2VzU3RhdGVaT3JkZXIpKGUpO2NvbnN0IGM9LTEhPT10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpO3RoaXMuY2xlYXJTZXJpZXMoQm9vbGVhbihhKSksdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsYyYmdGhpcy5fYWRkU291cmNlVG9Db2xsZWN0aW9ucyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksYSksKCgpPT57Y29uc3QgaT1lLmZpbmQoKGU9PmUuaWQ9PT10Lm1haW5Tb3VyY2VJZCkpCjtpZih2b2lkIDA9PT1pKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlRoZXJlIGlzIG5vIG1haW4gc291cmNlIHdpdGggaWQgIit0Lm1haW5Tb3VyY2VJZCsiLCB0b3RhbCBzb3VyY2VzPSIrZS5sZW5ndGgpO2lmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKGkudHlwZSkpcmV0dXJuIHZvaWQgbmMubG9nTm9ybWFsKCJUaGUgdHlwZSBvZiBtYWluIHNvdXJjZSBpcyBub3QgbGluZSB0b29sIC0gZml4IGlzIHVubmVjZXNzYXJ5Iik7bGV0IHM9bnVsbDtmb3IoY29uc3QgdCBvZiBlKWlmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKHQudHlwZSkpe2lmKG51bGwhPT1zKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlBhbmUgY29udGFpbnMgbW9yZSB0aGFuIDEgcG9zc2libHkgbWFpbiBzb3VyY2VzIC0gYXV0byBmaXggY2Fubm90IGJlIGFwcGxpZWQiKTtzPXR9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQgbmMubG9nV2FybigiUGFuZSBjb250YWlucyBvbmx5IGxpbmUgdG9vbHMgLSBwb3NzaWJsZSB3ZSBuZWVkIHRvIHJlbW92ZSB0aGlzIHBhbmU/Iik7Y29uc3Qgbj10Lm1haW5Tb3VyY2VJZDtsZXQgcj0wO3QubWFpblNvdXJjZUlkPXMuaWQsZS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZT09PW4mJihlLm93bmVyU291cmNlPXM/LmlkLHIrPTEpfSkpLG5jLmxvZ05vcm1hbCgiQXV0byBmaXggYnJva2VuIHBhbmUgaXMgYXBwbGllZCwgY2hhbmdlZCBsaW5lIHRvb2xzPSIrcisiLCBjaGFuZ2VkIGZyb209IituKyIgdG89IitzLmlkKX0pKCk7Zm9yKGNvbnN0IHQgb2YgZSlpZigic3R1ZHlfU2Vzc2lvbnMiPT09dC50eXBlKXtjb25zdCBlPXQ7ZS5vbGRTdGF0ZT0hMCx0aGlzLm1vZGVsKCkuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoZSxpKTticmVha31mb3IoY29uc3QgdCBvZiBlKSJzdHVkeV9TZXNzaW9ucyIhPT10LnR5cGUmJihudWxsPT09dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpfHwiTWFpblNlcmllcyI9PT10LnR5cGU/KHVbdC5pZF09dC5vd25lclNvdXJjZSwoMCxQLmlzTWFpblNlcmllc1N0YXRlKSh0KT90aGlzLl9yZXN0b3JlTWFpblNlcmllcyh0LGksYyxyLG8sYSxkKTooMCxQLmlzU3R1ZHlTdGF0ZSkodCk/dGhpcy5yZXN0b3JlU3R1ZHkoe3NvdXJjZTp0LHdpdGhEYXRhOmksc2VyaWVzSWQ6bixzZXR0aW5nc01pZ3JhdGlvbjpyLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoLHNraXBNYWluU291cmNlUmVjYWxjdWxhdGlvbjohMH0pOigwLFAuaXNMaW5lVG9vbFN0YXRlKSh0KT8odC5zdGF0ZSYmKHQuc3RhdGUuek9yZGVyVmVyc2lvbj0yKSx0aGlzLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dCx3aXRoRGF0YTppLHJlc3RvcmVTaWxlbnRseTphfSkpOnQudHlwZT09PXBsLkNoYXJ0RXZlbnRzU291cmNlSWQuVmFsdWUmJnRoaXMuX3Jlc3RvcmVTcGVjaWFsU291cmNlKHQsaSxhKSk6bmMubG9nRXJyb3IoIkR1cGxpY2F0ZSBpZCB3aGlsZSByZXN0b3JpbmcgcGFuZTogIit0LnR5cGUrIiwiK3QuaWQpKX1jb25zdCBwPW5ldyBTZXQsXz0oZSx0KT0+e2UucHJpY2VTY2FsZSgpIT09dCYmKHRoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuYWRkRGF0YVNvdXJjZShlKSl9LGc9KGUsaSxzKT0+e2lmKHAuaGFzKGUpKXJldHVybjtwLmFkZChlKTtjb25zdCBuPXMubV9zaG93U3ltYm9sTGFiZWxzO3ZvaWQgMCE9PW4mJmU9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiZ0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy5zZXRWYWx1ZShuKSx0aGlzLl9tb2RlbC5jaGlsZHJlbihlLCEwLCEwKS5mb3JFYWNoKChlPT57dC5vdmVybGF5UHJpY2VTY2FsZXM/LltlLmlkKCldfHxnKGUsaSxzKX0pKSxfKGUsaSl9LGY9ZT0+e2NvbnN0IHQ9KDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5wYW5lUHJvcGVydGllcy5heGlzUHJvcGVydGllcyxpPW5ldyBxbCh0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdCk7cmV0dXJuIGkucmVzdG9yZVN0YXRlKGUuc3RhdGUpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCksZS5zb3VyY2VzLmZvckVhY2goKGU9Pntjb25zdCBzPXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3MmJmcocyxpLHQpfSkpLDA9PT1pLmRhdGFTb3VyY2VzKCkubGVuZ3RoP251bGw6aX0sUz1lPT5lLm1hcChmKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7bGV0IHY7aWYodC5sZWZ0QXhpc2VzU3RhdGUpdj1TKHQubGVmdEF4aXNlc1N0YXRlKTtlbHNle2NvbnN0IGU9Zih7c3RhdGU6dC5sZWZ0QXhpc1N0YXRlLHNvdXJjZXM6dC5sZWZ0QXhpc1NvdXJjZXN9KTt2PW51bGwhPT1lP1tlXTpbXX1sZXQgeTtpZih0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuc2xpY2UoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVByaWNlU2NhbGUoZSkpKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdi5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwibGVmdCIpKSksdC5yaWdodEF4aXNlc1N0YXRlKXk9Uyh0LnJpZ2h0QXhpc2VzU3RhdGUpO2Vsc2V7Y29uc3QgZT1mKHtzdGF0ZTp0LnJpZ2h0QXhpc1N0YXRlLHNvdXJjZXM6dC5yaWdodEF4aXNTb3VyY2VzfSk7eT1udWxsIT09ZT9bZV06W119dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5zbGljZSgpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlUHJpY2VTY2FsZShlKSkpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXM9W10seS5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwicmlnaHQiKSkpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dC5wcmljZVNjYWxlUmF0aW98fHQubGVmdFByaWNlU2NhbGVSYXRpb3x8dC5yaWdodFByaWNlU2NhbGVSYXRpb3x8bnVsbDtjb25zdCBiPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXtpZihwLmhhcyhlKSljb250aW51ZTtsZXQgaQo7aWYodC5vdmVybGF5UHJpY2VTY2FsZXMmJnQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pe2xldCBzPXQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV07Yi5oYXMocz8uaWQpP2k9Yi5nZXQocz8uaWQpOihzPSgwLGwuZW5zdXJlKShzKSxpPW5ldyBxbCh0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcyksaS5zZXRIZWlnaHQodGhpcy5faGVpZ2h0KSxzLm1faXNBdXRvU2NhbGU9ITAscy5tX2lzTG9nPSExLHMubV9pc1BlcmNlbnRhZ2U9ITEscy5tX2lzTG9ja1NjYWxlPSExLGkucmVzdG9yZVN0YXRlKHMpLGIuc2V0KHMuaWQsaSkpfWVsc2UgaT1uZXcgcWwodGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCk7XyhlLGkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHUpKXtjb25zdCB0PXVbZV0saT10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTt0JiZpJiZudWxsPT09aS5vd25lclNvdXJjZSgpJiZpLnNldE93bmVyU291cmNlKHRoaXMuZGF0YVNvdXJjZUZvcklkKHQpKX1pZih0Lm1haW5Tb3VyY2VJZCYmIXRoaXMuY29udGFpbnNNYWluU2VyaWVzKCkmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dGhpcy5kYXRhU291cmNlRm9ySWQodC5tYWluU291cmNlSWQpKSwhdGhpcy5tX21haW5EYXRhU291cmNlKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcylpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT1lO2JyZWFrfWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcykoMCxyaS5pc0xpbmVUb29sKShlKT8oZS5vd25lclNvdXJjZSgpfHxlLnNldE93bmVyU291cmNlKHRoaXMubWFpbkRhdGFTb3VyY2UoKSksZS5pc0ZpeGVkKCkmJmUucmVzdG9yZUZpeGVkUG9pbnQoKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLm93bmVyU291cmNlKCkmJmUuaXNMaW5rZWRUb1NlcmllcygpJiZlLnNldE93bmVyU291cmNlKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpO3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZSh0LmlzQ29sbGFwc2VkPz8hMSksdC5pc01heGltaXplZCYmdGhpcy5fbW9kZWwuc2V0TWF4aW1pemVkUGFuZSh0aGlzKSx0aGlzLl91cGRhdGVNYXJnaW5zKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKX1vblByaWNlU2NhbGVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZH1zZXRQYW5lU2l6ZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSJsYXJnZSI6dD0xO2JyZWFrO2Nhc2UibWVkaXVtIjp0PS42O2JyZWFrO2Nhc2Uic21hbGwiOnQ9LjM7YnJlYWs7Y2FzZSJ0aW55Ijp0PS4xNTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBzaXplIGVudW0gdmFsdWU6ICIrZSl9dGhpcy5fc3RyZXRjaEZhY3Rvcj0xZTMqdH1zdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMuX3N0cmV0Y2hGYWN0b3J9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLl9zdHJldGNoRmFjdG9yPWV9Y3VzdG9tU291cmNlcyhlKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmN1c3RvbVNvdXJjZXMoZSl9Y3JlYXRlRHJhd2luZ3NDYWNoZXMoKXswfWNsZWFyRHJhd2luZ0NhY2hlcygpezB9ZXhlY3V0aW9uc1Bvc2l0aW9uQ29udHJvbGxlcigpe3JldHVybiBudWxsfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHR9c2V0SGVpZ2h0KGUpe2lmKHRoaXMuX2hlaWdodCE9PWUmJih0aGlzLl9oZWlnaHQ9ZSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKSl7dGhpcy5fbGVmdFByaWNlU2NhbGVzLmZvckVhY2goKHQ9PnQuc2V0SGVpZ2h0KGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50LnNldEhlaWdodChlKSkpO2ZvcihsZXQgdD0wO3Q8dGhpcy5tX2RhdGFTb3VyY2VzLmxlbmd0aDt0Kyspe2NvbnN0IGk9dGhpcy5tX2RhdGFTb3VyY2VzW3RdO3RoaXMuaXNPdmVybGF5KGkpJiZpLnByaWNlU2NhbGUoKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShpLnByaWNlU2NhbGUoKSkuc2V0SGVpZ2h0KGUpfXRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fc2l6ZUNoYW5nZWQuZmlyZSgpfX1zZXRXaWR0aChlKXtyZXR1cm4gdGhpcy5fd2lkdGghPT1lJiYodGhpcy5fd2lkdGg9ZSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX3NpemVDaGFuZ2VkLmZpcmUoKSwhMCl9b25TaXplQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zaXplQ2hhbmdlZH1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9ZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkfXN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkfXByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkfXN5bWJvbFNvdXJjZVJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkfXN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmV9c291cmNlUHJvcGVydGllc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc291cmNlUHJvcGVydGllc0NoYW5nZWR9c291cmNlWk9yZGVyQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZH1saW5lVG9vbHNGb3JBcmVhKGUsdCl7Y29uc3QgaT10aGlzLmxvZ2ljYWxSZWN0VG9QaXhlbHMoZSkKO3JldHVyblsuLi50aGlzLm1fZGF0YVNvdXJjZXMsLi4udGhpcy5tb2RlbCgpLm11bHRpUGFuZVNvdXJjZXModGhpcyldLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PihlLnBhbmVWaWV3cyh0aGlzKXx8W10pLnNvbWUoKGU9Pntjb25zdCBzPWUucmVuZGVyZXIodCk7cmV0dXJuIHMmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3gmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3goaSx0KX0pKSkpfWxvZ2ljYWxSZWN0VG9QaXhlbHMoZSl7Y29uc3QgdD10aGlzLmRlZmF1bHRQcmljZVNjYWxlKCksaT10aGlzLnRpbWVTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLG49dC5wcmljZVRvQ29vcmRpbmF0ZShlLnAxLnByaWNlLHMpLHI9aS5pbmRleFRvQ29vcmRpbmF0ZShlLnAxLmluZGV4KSxvPXQucHJpY2VUb0Nvb3JkaW5hdGUoZS5wMi5wcmljZSxzKSxhPWkuaW5kZXhUb0Nvb3JkaW5hdGUoZS5wMi5pbmRleCksYz1uZXcgUHQuUG9pbnQoTWF0aC5taW4ocixhKSxNYXRoLm1pbihuLG8pKSxoPW5ldyBQdC5Qb2ludChNYXRoLm1heChyLGEpLE1hdGgubWF4KG4sbykpO3JldHVybigwLFB0LmJveCkoYyxoKX10aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlfXJlc3RvcmVMaW5lVG9vbChlKXtjb25zdHt3aXRoRGF0YTp0LHJlc3RvcmVTaWxlbnRseTpzLGFjdGlvblNvdXJjZTpuLG93bmVyU291cmNlOnJ9PWU7bGV0e2tlZXBaT3JkZXI6byxzdGF0ZTphfT1lO2lmKCgwLG0uaXNNdHBQcmVkaWN0b3JUb29sTmFtZSkoYS50eXBlKSlyZXR1cm4gbmMubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7YS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApLG51bGw7aWYoYS50YXJnZXRTaWduYXR1cmUmJiFtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzKXJldHVybiBuYy5sb2dXYXJuKGBEcmF3aW5nIHdpdGggaWQgJHthLmlkfSB3YXMgY3JlYXRlZCB3aGlsZSBzaGFyZV9kcmF3aW5nc19vbl9pbmRpY2F0b3JzIHdhcyBvbiwgYnV0IG5vdyBpdCBpcyBvZmYsIHNvIGl0IGlzIHNraXBwZWQgd2hpbGUgcmVzdG9yaW5nIHN0YXRlYCksbnVsbDtjb25zdCBjPXI/PyhhLm93bmVyU291cmNlP3RoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChhLm93bmVyU291cmNlKTpudWxsKTtpZihtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoYS5vd25lclNvdXJjZSYmIWEudGFyZ2V0U2lnbmF0dXJlJiZjJiYoKDAsdGkuaXNTdHVkeSkoYyl8fCgwLHRpLmlzU3R1ZHlTdHViKShjKSkmJihhLnRhcmdldFNpZ25hdHVyZT1jLnNpZ25hdHVyZSgpLnZhbHVlKCk/P3ZvaWQgMCksYS50YXJnZXRTaWduYXR1cmUmJiF0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpKSlyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlc3RvcmVMaW5lVG9vbChlKTtkZWxldGUgYS5zdGF0ZS5sYXN0VXBkYXRlVGltZSxhLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKGEuc3RhdGUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxvPXZvaWQgMD09PW98fG8sKDAsWGwuZWxsaW90dE1pZ3JhdGVTdGF0ZSkoYSksKDAsWmwubWlncmF0ZVN0YXRlKShhKSxBcnJheS5pc0FycmF5KGEucG9zaXRpb25QZXJjZW50cykmJihhLnBvc2l0aW9uUGVyY2VudHM9YS5wb3NpdGlvblBlcmNlbnRzWzBdKTtjb25zdCBoPWEudHlwZSxkPWEuaWQsdT1hLnN0YXRlLF89bz9hLnpvcmRlcjp0aGlzLm5ld0xpbmVUb29sWk9yZGVyKCk7KDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGgpLCJpbnZhbGlkIGRhdGEgc291cmNlIHR5cGU6IitoKyIgKGV4cGVjdGVkIHRvIGJlIGEgTGluZSBUb29sKSIpO2xldCBnLGYsUz1udWxsO2lmKCgwLFAuaXNTdHVkeUxpbmVUb29sU3RhdGUpKGEpKXtTPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlTdGF0ZShhKTthPWU7Y29uc3Qgcj1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKTtpZighdCYmcil7Y29uc3QgZT1yLnByb2R1Y3RJZDtpZighd2luZG93LnBybz8uaGFzUGFja2FnZShlKSl7Y29uc3QgZT1uZXcgdWwuU3R1ZHlMaW5lVG9vbFN0dWIodGhpcy5fbW9kZWwsYSxyLnNob3J0RGVzY3JpcHRpb24pO3JldHVybiBlLnNldElkKGQpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSxzKSx2b2lkIDAhPT1fJiZlLnNldFpvcmRlcihfKSxlLnNldEZhaWxlZChwLnQobnVsbCx2b2lkIDAsaSgzODYzNzMpKSksbnVsbH19Y29uc3Qgbz1TLnVwZGF0ZU1ldGFJbmZvKHIpPz9yO2Y9KDAscmkuY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXMpKHRoaXMuX21vZGVsLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaCxyLG8sdSxTKSxnPSgwLHJpLmNyZWF0ZUxpbmVUb29sKShoLHRoaXMuX21vZGVsLGYsbywhMCx2b2lkIDAsbil9ZWxzZSBmPSgwLHJpLmNyZWF0ZUxpbmVUb29sUHJvcGVydGllcykodGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxoLCF0aGlzLl9tb2RlbC5yZWFkT25seSgpLHUpLGc9KDAscmkuY3JlYXRlTGluZVRvb2wpKGgsdGhpcy5fbW9kZWwsZixudWxsLCEwLHZvaWQgMCxuKTtnLnNldElkKGQpLGcubGlua0tleSgpLnNldFZhbHVlKGEubGlua0tleXx8bnVsbCk7Y29uc3Qgdj1hLmFsZXJ0SWQ7diYmZy5jYW5IYXNBbGVydCgpJiZHcy5hbGVydHNBdmFpbGFibGUmJiF0aGlzLl9tb2RlbC5yZWFkT25seSgpJiYhdGhpcy5fbW9kZWwuaXNKdXN0Q2xvbmVkQ2hhcnQoKSYmZy5yZXN0b3JlQWxlcnQoK3YpO2xldCB5PWEuaW5kZXhlcz8/W107aWYoeT15LnNsaWNlKDAsYS5wb2ludHM/Lmxlbmd0aD8/eS5sZW5ndGgpLApnLmlzRml4ZWQoKT92b2lkIDAhPT1hLnBvc2l0aW9uUGVyY2VudHM/Zy5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyhhLnBvc2l0aW9uUGVyY2VudHMpOmcucmVzdG9yZVBvc2l0aW9uUGVyY2VudHMoe3g6LjUseTouNX0pOmEucG9pbnRzJiZnLnJlc3RvcmVQb2ludHMoYS5wb2ludHMseSx0KSxnLnJlc3RvcmVEYXRhKXtjb25zdCBlPWE7KDAsUC5pc1N0dWR5TGluZVRvb2xTdGF0ZSkoZSk/dCYmKFMmJihlLmdyYXBoaWNzPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlEYXRhKG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLGUuZ3JhcGhpY3MpKSxnLnJlc3RvcmVEYXRhKGUpKTpnLnJlc3RvcmVEYXRhKGUpfWNvbnN0IGI9bnVsbD09YS52ZXJzaW9uPzE6YS52ZXJzaW9uLHc9bnVsbD09Zy52ZXJzaW9uPzE6Zy52ZXJzaW9uO3JldHVybiBiIT09dyYmZy5taWdyYXRlVmVyc2lvbj8uKGIsdyx7cGFuZTp0aGlzLG1vZGVsOnRoaXMuX21vZGVsLHByb3BlcnRpZXM6Zn0pLHZvaWQgMCE9PV8mJmcuc2V0Wm9yZGVyKF8pLHImJigwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShmLHIpLCFhLnRhcmdldFNpZ25hdHVyZXx8IWcuc3VwcG9ydHNUYXJnZXRTaWduYXR1cmUoKXx8YyYmKDAsdGkuaXNTdHVkeVN0dWIpKGMpP2cuc2V0T3duZXJTb3VyY2UoYyk6Zy5zZXRUYXJnZXRTaWduYXR1cmUoYS50YXJnZXRTaWduYXR1cmUpLGcuaXNGaXhlZCgpJiZnLnJlc3RvcmVGaXhlZFBvaW50KCksdm9pZCAwIT09YS5zaGFyaW5nTW9kZSYmZy5zaGFyZShhLnNoYXJpbmdNb2RlKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGcscyksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSxnfXJlc3RvcmVTdHVkeShlKXtjb25zdHtzb3VyY2U6dCx3aXRoRGF0YTpzLHNlcmllc0lkOm89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCksc2V0dGluZ3NNaWdyYXRpb246YSxyZXN0b3JlU2lsZW50bHk6bCxyZWFzb246Yyxza2lwTWFpblNvdXJjZVJlY2FsY3VsYXRpb246aH09ZTtpZihzJiZ2b2lkIDA9PT10LmRhdGEmJnZvaWQgMD09PXQubm9uU2VyaWVzRGF0YSYmdm9pZCAwPT09dC5pbmRleGVzKXJldHVybiBuYy5sb2dFcnJvcigiQ2Fubm90IHJlc3RvcmUgKHNraXBwaW5nKSBzdHVkeSB3aXRob3V0IGRhdGEgIit0LmlkKyIsICIrdC5tZXRhSW5mby5pZCksbnVsbDtjb25zdCBkPXQubWV0YUluZm8sdT0oMCxuLmRlZmF1bHQpKGQpO3UmJihuYy5sb2dXYXJuKGBDYW5ub3QgcmVzdG9yZSAoc2tpcHBpbmcpIHN0dWR5IHdpdGggc3RyaW5nIG1ldGFJbmZvLCBwcm9iYWJseSBjaGFydCBvdmVyd3JpdGluZyAke2R9YCksdC5tZXRhSW5mbz17Li4uYmUoZCksaW5wdXRzOltdfSk7Y29uc3QgXz10LmlkLG09dC5zdGF0ZSxnPXQuem9yZGVyLGY9KHQucGFyZW50U291cmNlcz8/KHQub3duZXJTb3VyY2U/W3Qub3duZXJTb3VyY2VdOltdKSkuZmlsdGVyKChlPT5lIT09bykpO2xldCBTPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQubWV0YUluZm8pLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odik7aWYoZnVuY3Rpb24oZSl7cmV0dXJuIlNjcmlwdCRUVl9FQVJOSU5HU0B0di1zY3JpcHRpbmciPT09ZXx8IlNjcmlwdCRUVl9ESVZJREVORFNAdHYtc2NyaXB0aW5nIj09PWV8fCJTY3JpcHQkVFZfU1BMSVRTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0VBUk5JTkdTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0RJVklERU5EU0B0di1zY3JpcHRpbmciPT09ZXx8IkVTRCRUVl9TUExJVFNAdHYtc2NyaXB0aW5nIj09PWV8fCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IlNwbGl0c0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkJhclNldENvbnRpbnVvdXNSb2xsRGF0ZXNAdHYtY29yZXN0dWRpZXMiPT09ZX0oeS5pZCkmJiFzKXJldHVybiBuYy5sb2dOb3JtYWwoIlNraXBwaW5nIHN0dWR5ICIreS5pZCksbnVsbDtsZXQgYj1tO2NvbnN0IHc9bmV3IFNhLlN0dWR5U3R1Yih0aGlzLl9tb2RlbCx0LHkuc2hvcnREZXNjcmlwdGlvbj8/eS5uYW1lKTt3LnNldElkKF8pLHcuc2V0Wm9yZGVyKGcpO2NvbnN0IEM9S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMuX21vZGVsKTtDLmdldChfKTtsZXQgUD0hMTtjb25zdCBUPShlLG4scik9PntpZihQJiZ0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoXykhPT13KXJldHVybjt3LnNldFN0YXR1cyh7dHlwZTpZbC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3Qgbz1hc3luYyBvPT57Y29uc3R7cHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDphfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDQzNzc0OSkpLGw9YSh5LGUsYixyKSxoPWU/P3ksZD1uPz9TLHU9IXMmJmguaXNUVlNjcmlwdCYmdC5tZXRhSW5mby5pc1RWU2NyaXB0JiZoLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24hPT10Lm1ldGFJbmZvLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24scD1hd2FpdCBsYSh0aGlzLl9tb2RlbCxsLG8saCxkLHZvaWQgMCxjLHUpO2lmKHAuc2V0SWQoXykscC5zZXRPd25GaXJzdFZhbHVlKHQub3duRmlyc3RWYWx1ZT8/bnVsbCksdC5jdXN0b21GaWVsZHMmJnAucmVzdG9yZVN0YXRlQ3VzdG9tRmllbGRzKHQuY3VzdG9tRmllbGRzKSxzKXtjb25zdCBlPXQse2RhdGE6aSxuc0RhdGE6cyxpbmRleGVzOm59PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFN0dWR5RGF0YSh5LGUuZGF0YSxlLm5vblNlcmllc0RhdGEsZS5pbmRleGVzKTtwLnJlc3RvcmVEYXRhKGkscyxuKX0KdGhpcy5fbW9kZWwucmVwbGFjZVN0dWR5U3R1Yih3LHApLEMuYWRkKF8scCl9O2lmKGYubGVuZ3RoPjApe2NvbnN0IGU9Zi5tYXAoKGU9PkMuZ2V0KGUpKSk7UHJvbWlzZS5hbGwoZSkudGhlbihvKX1lbHNlIG8oW10pfSx4PSgwLFdvLmRlZmF1bHQpKG0pLE09dT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2NvbnN0IGU9b3QuU3R1ZHlNZXRhSW5mby5wYXJzZUlkU3RyaW5nKHQubWV0YUluZm8uZnVsbElkKSxpPSJ0di1zY3JpcHRpbmciPT09ZS5wYWNrYWdlSWQ/e3R5cGU6InBpbmUiLHBpbmVJZDpvdC5TdHVkeU1ldGFJbmZvLmN1dEJlZm9yZURvbGxhcihlLnNob3J0SWQpLHBpbmVWZXJzaW9uOnQubWV0YUluZm8ucGluZT8udmVyc2lvbn06e3R5cGU6ImphdmEiLHN0dWR5SWQ6ZS5pZH07cmV0dXJuKDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoaSl9KSkudGhlbigoZT0+e2lmKCFlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdldCBzdHVkeSBtZXRhSW5mbzogIit0Lm1ldGFJbmZvLmZ1bGxJZCk7Uz1lLHQubWV0YUluZm89ZS5zdGF0ZSgpLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odil9KSk6UHJvbWlzZS5yZXNvbHZlKCk7bGV0IEk7aWYocyl7Y29uc3QgZT1lYy5TdHVkeVZlcnNpb25pbmcucGF0Y2hQcm9wc1N0YXRlQW5kTWV0YUluZm8obSx5LHtvbGRTaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eTohYT8uc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHl9KSx0PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbyh4LFMse29sZFNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5OiFhPy5zaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eX0pO0k9UHJvbWlzZS5yZXNvbHZlKFtuZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKSxuZXcgb3QuU3R1ZHlNZXRhSW5mbyh0Lm1ldGFJbmZvKV0pfWVsc2V7e2NvbnN0IGU9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCkudGhlbigoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDY3OTIxKSkpKTtJPU0udGhlbigoKCk9PlByb21pc2UuYWxsKFt5LFNdLm1hcCgoKHQsaSk9PmUudGhlbigoZT0+e2NvbnN0e3BpbmVJZEZvckphdmFJZDpuLG1pZ3JhdGVKYXZhU3RhdGVUb1BpbmU6cn09ZSxvPW4odC5pZCk7aWYobylyZXR1cm4oMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7cGluZUlkOm8scGluZVZlcnNpb246Imxhc3QiLHR5cGU6InBpbmUifSkudGhlbigoZT0+KHIoMD09PWk/bTp4LHQsZSkseT1lLCQuZW1pdCgiY2hhcnRfbWlncmF0ZWQiKSxlKSkpO3tjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbygwPT09aT9tOngsdCx7b2xkU2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk6cyYmIWE/LnNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5fSk7cmV0dXJuIGI9ZS5wcm9wc1N0YXRlLG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pfX0pKSkpKSkpfX1JLnRoZW4oKChbZSx0XSk9Pntjb25zdCBzPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtpZih0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkpcmV0dXJuIHZvaWQgVChlLHQscyk7Y29uc3Qgbj1bZSx0XS5tYXAoKChlLHQpPT5zLnVwZGF0ZU1ldGFJbmZvQXN5bmMoZSwxPT09dCkpKS5tYXAoKGU9PmUuc3luYz9Qcm9taXNlLnJlc29sdmUoZS5yZXN1bHQpOmUucmVzdWx0KSk7UHJvbWlzZS5hbGwobikudGhlbigoaT0+VChpWzBdPz9lLGlbMV0/P3QscykpKS5jYXRjaCgoZT0+eyJUbyB1c2UgaXQsIGFzayB0aGUgYXV0aG9yIHRvIHB1Ymxpc2ggdGhlIHNjcmlwdC4iPT09ZT93LnNldEZhaWxlZChlLHAudChudWxsLHZvaWQgMCxpKDMwMDU1OCkpKTp3LnNldEZhaWxlZCgiZXJyb3I6ICIrZSl9KSl9KSkuY2F0Y2goKCgpPT53LnNldEZhaWxlZChwLnQobnVsbCx7Y29udGV4dDoiU3R1ZHkgbG9hZGluZyBpbiBjaGFydCJ9LGkoNzcwOTQxKSkpKSksdy5zZXRab3JkZXIoZyk7Y29uc3QgTD10Lm1ldGFJbmZvLmxpbmtlZFRvU2VyaWVzP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKTpmLmxlbmd0aD90aGlzLmRhdGFTb3VyY2VGb3JJZChmWzBdKTpudWxsO3JldHVybiB3LnNldE93bmVyU291cmNlKEwpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnModyxsKSxQPSEwLGh8fHRoaXMuX3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx3fWNsaXBib2FyZExpbmVUb29sT3duZXJTb3VyY2UoZSl7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTtpZihudWxsIT09dCl7Y29uc3QgZT10Lm93bmVyU291cmNlKCk7aWYobnVsbCE9PWUmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZX1jb25zdCBpPXRoaXMubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSYmbnVsbCE9PWkuZmlyc3RWYWx1ZSgpKXJldHVybiBpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSlpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1yZWFsaWduTGluZVRvb2xzKGUpe2xldCB0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcykhKDAsCnJpLmlzTGluZVRvb2wpKGkpfHx2b2lkIDAhPT1lJiZpLm93bmVyU291cmNlKCk/LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSE9PWUmJmkub3duZXJTb3VyY2UoKT8udW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCkhPT1lfHwoaS5yZWFsaWduKCksaS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdD0hMCk7cmV0dXJuIHQmJnRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0fXN0YXJ0U2NhbGVQcmljZShlLHQpe2Uuc3RhcnRTY2FsZSh0KX1zY2FsZVByaWNlVG8oZSx0KXtlLnNjYWxlVG8odCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1lbmRTY2FsZVByaWNlKGUpe2UuZW5kU2NhbGUoKX1zdGFydFNjcm9sbFByaWNlKGUsdCl7ZS5zdGFydFNjcm9sbCh0KX1zY3JvbGxQcmljZVRvKGUsdCl7ZS5zY3JvbGxUbyh0KSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfWVuZFNjcm9sbFByaWNlKGUpe2UuZW5kU2Nyb2xsKCl9cmVzZXRQcmljZVNjYWxlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2UucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnZhbHVlKCkmJmUucmVzZXRTY2FsZSgpLGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHQsaSksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCl7ZS5yZXN0b3JlU3RhdGUodCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1iZWdpbkluc2VydE1hbnlMaW5lRGF0YVNvdXJjZXMoKXt0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITAsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGx9ZW5kSW5zZXJ0TWFueUxpbmVEYXRhU291cmNlcygpe3RoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZT0hMSx0aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI9bnVsbDt7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpO2Zvcihjb25zdCB0IG9mIHRoaXMubV9kYXRhU291cmNlcyllLnN5bmNTb3VyY2VBbGVydExhYmVscyh0KX19cmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCk7aS5pbmRleE9mKGUpPj0wJiZ0LnJlbW92ZURhdGFTb3VyY2UoZSksMD09PWkubGVuZ3RoJiZ0aGlzLnJlbW92ZVByaWNlU2NhbGUodCl9fV9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCl7dGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZm9yRWFjaCgoZT0+ZS5pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSx0aGlzLl9yaWdodFByaWNlU2NhbGVzLmZvckVhY2goKGU9PmUuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSl9X3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCl7bGV0IGU9ITE7aWYobnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZSlmb3IoY29uc3QgdCBvZiB0aGlzLm1fZGF0YVNvdXJjZXMpaWYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKHQpJiYhdGhpcy5pc092ZXJsYXkodCkmJighKDAsdGkuaXNTdHVkeSkodCl8fCF0LmlzTGlua2VkVG9TZXJpZXMoKSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT10LGU9ITA7YnJlYWt9aWYodGhpcy5tX21haW5EYXRhU291cmNlJiZlKXtsZXQgZT10aGlzLm1fZGF0YVNvdXJjZXMuZmlsdGVyKHJpLmlzTGluZVRvb2wpO2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UucHJpY2VTY2FsZSgpKSwhMCl9ZWxzZSBpZighdGhpcy5tX21haW5EYXRhU291cmNlfHx0aGlzLmlzT3ZlcmxheSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UpJiYwPT09dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpKXtsZXQgZT1udWxsO2lmKHRoaXMubV9kYXRhU291cmNlcy5pbmNsdWRlcyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpKWU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2Vsc2UgZm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5pc092ZXJsYXkodCkmJnQuc2hvd0luT2JqZWN0VHJlZSgpKXtlPXQ7YnJlYWt9aWYobnVsbCE9PWUpe2NvbnN0IHQ9dGhpcy5tX21haW5EYXRhU291cmNlPT09ZTt0aGlzLm1fbWFpbkRhdGFTb3VyY2U9ZTtjb25zdCBpPXRoaXMuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUoKTtpZih0JiZlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpO3RoaXMuX21vZGVsLmNoaWxkcmVuKGUsITAsITApLmZvckVhY2goKGU9Pnt0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGkuYWRkRGF0YVNvdXJjZShlKSxlLnNldFByaWNlU2NhbGUoaSl9KSksdGhpcy5yZW1vdmVQcmljZVNjYWxlKHQpfXRoaXMubW92ZShlLGksITApLHRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUucHJpY2VTY2FsZSgpLCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKX19fV9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUsdCl7dGhpcy5tX2RhdGFTb3VyY2VzLnB1c2goZSksdGhpcy5fc291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCk7Y29uc3QgaT0oKT0+e3RoaXMuX3NvdXJjZVByb3BlcnRpZXNDaGFuZ2VkLmZpcmUoZSl9O2lmKGUucHJvcGVydGllcygpLnN1YnNjcmliZSh0aGlzLGkpLAplLnpPcmRlckNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fc291cmNlc1pPcmRlckNoYW5nZWQuZmlyZShlLHQpKSksKDAscmkuaXNMaW5lVG9vbCkoZSkpe2Uubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxpKSxlLmZpeGVkUG9pbnRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsaSksZS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSxlLmhhc0FsZXJ0KCkuc3Vic2NyaWJlKGkpLGUuc2hhcmluZ01vZGUoKS5zdWJzY3JpYmUoaSk7Y29uc3QgdD0oKT0+e3RoaXMuX2xpbmVUb29sc0J5TGlua0tleS5yZW1vdmVCeUtleTIoZS5pZCgpKSx0aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkuYWRkKGUpfTtlLmxpbmtLZXkoKS5zdWJzY3JpYmUodCksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuc2V0KGUuaWQoKSx7bGlua0tleUNhbGxiYWNrOnQsY29tbW9uQ2FsbGJhY2s6aX0pLHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5hZGQoZSl9Y29uc3Qgcz0oMCxJby5pc1N5bWJvbFNvdXJjZSkoZSk/ZTpudWxsO2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMuX3ByaWNlU291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSxlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksZS51bml0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5wdXNoKGUpLCgwLHRpLmlzU3R1ZHkpKGUpJiZ0aGlzLl9zdHVkeVNvdXJjZXMucHVzaChlKSx0aGlzLl9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCksbnVsbCE9PXMmJih0aGlzLl9zeW1ib2xTb3VyY2VzLnB1c2gocykscy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWQuZmlyZShlKSkpLHMuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSkscy5zeW1ib2xIaWJlcm5hdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxzPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCEwKSksKDAsdGkuaXNTdHVkeSkoZSl8fCgwLHRpLmlzU3R1ZHlTdHViKShlKSkpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3QmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKHQpJiYoMCxfbC5hZGRVc2VyU2NyaXB0T25MYXlvdXQpKHQuc2NyaXB0SWRQYXJ0LCgwLGwuZW5zdXJlRGVmaW5lZCkodC5waW5lKS52ZXJzaW9uKX1lLmlzTXVsdGlQYW5lQXZhaWxhYmxlKCkmJnRoaXMubW9kZWwoKS5hZGRNdWx0aVBhbmVTb3VyY2UoZSksc2koZSkmJih0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzLnB1c2goZSksdGhpcy51cGRhdGVMb2xsaXBvcFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdHx8MCE9PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXJ8fHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpfV9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMoZSx0KXtjb25zdCBpPXRoaXMubV9kYXRhU291cmNlc1tlXSxzPWkuaWQoKTtpZihpLnByb3BlcnRpZXMoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLnpPcmRlckNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKGUsMSksdGhpcy5fc291cmNlc0J5SWQuZGVsZXRlKGkuaWQoKSksKDAscmkuaXNMaW5lVG9vbCkoaSkpe2lmKGkubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLmZpeGVkUG9pbnRDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuaGFzKHMpKXtjb25zdCBlPXRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmdldChzKTtlJiYoaS5oYXNBbGVydCgpLnVuc3Vic2NyaWJlKGUuY29tbW9uQ2FsbGJhY2spLGkuc2hhcmluZ01vZGUoKS51bnN1YnNjcmliZShlLmNvbW1vbkNhbGxiYWNrKSxpLmxpbmtLZXkoKS51bnN1YnNjcmliZShlLmxpbmtLZXlDYWxsYmFjaykpLHRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmRlbGV0ZShzKX10aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkucmVtb3ZlQnlLZXkyKGkuaWQoKSl9dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpO2NvbnN0IG49KDAsSW8uaXNTeW1ib2xTb3VyY2UpKGkpP2k6bnVsbDtpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoaSkmJih0aGlzLl9wcmljZVNvdXJjZXNCeUlkLmRlbGV0ZShpLmlkKCkpLGkuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fcHJpY2VEYXRhU291cmNlcyxpKSwoMCx0aS5pc1N0dWR5KShpKSYmKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zdHVkeVNvdXJjZXMsaSksdGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLG51bGwhPT1uJiYoKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zeW1ib2xTb3VyY2VzLG4pLG4uc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxuLnN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSksCm4uc3ltYm9sSGliZXJuYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxuPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCExKSksKDAsdGkuaXNTdHVkeSkoaSl8fCgwLHRpLmlzU3R1ZHlTdHViKShpKSkpe2NvbnN0IGU9aS5tZXRhSW5mbygpO2UmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKGUpJiYoMCxfbC5yZW1vdmVVc2VyU2NyaXB0RnJvbUxheW91dCkoZS5zY3JpcHRJZFBhcnQsKDAsbC5lbnN1cmVEZWZpbmVkKShlLnBpbmUpLnZlcnNpb24pfWkuaXNNdWx0aVBhbmVBdmFpbGFibGUoKSYmdGhpcy5tb2RlbCgpLnJlbW92ZU11bHRpUGFuZVNvdXJjZShpKSxzaShpKSYmKCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fbG9sbGlwb3BEYXRhU291cmNlcyxpKSx0aGlzLnVwZGF0ZUxvbGxpcG9wVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGkuaWQoKSkpKSx0fHwwIT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcnx8dGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCl9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpbyhlKXt0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpJiZlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmKG51bGwhPT10aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvP3RoaXMuX2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X2RlZmF1bHRCb3R0b21NYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYm90dG9tTWFyZ2luLnZhbHVlKCl9X2RlZmF1bHRUb3BNYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudG9wTWFyZ2luLnZhbHVlKCl9X3VwZGF0ZU1hcmdpbnMoKXtjb25zdCBlPXRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0PXRoaXMuX2RlZmF1bHRCb3R0b21NYXJnaW4oKTtmb3IoY29uc3QgaSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcylpZih0aGlzLmlzT3ZlcmxheShpKSl7Y29uc3Qgcz1pLnByaWNlU2NhbGUoKTtudWxsIT09cyYmKG9jKHMsZSx0KSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKX1mb3IoY29uc3QgZSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpdGhpcy5yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSwoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9yaWdodFByaWNlU2NhbGVzKXRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUsKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1fYmF0Y2hSZW9yZGVyKGUsdCxpKXtpKHRoaXMuc291cmNlc0J5R3JvdXAoKS56T3JkZXJWaXNpYmxlU291cmNlcygpLGUsdCksdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMuX29uRGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpLHRoaXMubW9kZWwoKS5mdWxsVXBkYXRlKCl9X3BsYWNlUHJpY2VTY2FsZShlLHQsaSl7aWYoIm92ZXJsYXkiPT09dClyZXR1cm4gdm9pZCBlLmludmFsaWRhdGVNYXJnaW5zKCk7Y29uc3Qgcz0ibGVmdCI9PT10P3RoaXMuX2xlZnRQcmljZVNjYWxlczp0aGlzLl9yaWdodFByaWNlU2NhbGVzLG49dm9pZCAwPT09aT9zLmxlbmd0aDppO3Muc3BsaWNlKG4sMCxlKSxlLm1vZGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25QcmljZVNjYWxlTW9kZUNoYW5nZWQuYmluZCh0aGlzLGUpKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGN1bGF0ZVRpbWVTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByaWNlU2NhbGVTZXRNaW5NYXhQcmljZVJhbmdlLmJpbmQodGhpcyxlKSksZS5pc1Zpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZS5pc0xvY2tTY2FsZSgpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0aGlzLl9sb2NrZWRQcmljZVNjYWxlPWUsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKSxlLmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfV9vblByaWNlU2NhbGVNb2RlQ2hhbmdlZChlLHQsaSl7aWYoaS5sb2NrU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlIT09ZSYmbnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUuc2V0TW9kZSh7bG9ja1NjYWxlOiExfSksdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1lLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89KDAsaWEuc2NhbGVSYXRpbykodGhpcy50aW1lU2NhbGUoKSxlKSksdC5sb2NrU2NhbGUmJiFpLmxvY2tTY2FsZSYmKHRoaXMuX2xvY2tlZFByaWNlU2NhbGU9bnVsbCx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPW51bGwpLAp0LnBlcmNlbnRhZ2U9PT1pLnBlcmNlbnRhZ2UmJnQuaW5kZXhlZFRvMTAwPT09aS5pbmRleGVkVG8xMDApcmV0dXJuO2NvbnN0IHM9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbj10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO251bGwhPT1zJiZudWxsIT09biYmKGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHMsbiksZS51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSl9X2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpe3RoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlc3x8bnVsbD09PXRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW98fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlfHwodGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSEwLHRoaXMuX3NldE5ld1ByaWNlUmFuZ2VCeVNjYWxlUmF0aW8odGhpcy5fbG9ja2VkUHJpY2VTY2FsZSx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvLHRoaXMuX21haW5Tb3VyY2VWaXNpYmxlUHJpY2VSYW5nZSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fc2V0TmV3UHJpY2VSYW5nZUJ5U2NhbGVSYXRpbyhlLHQsaSxzLG4pe2NvbnN0IHI9KDAsaWEucHJpY2VSYW5nZUJ5U2NhbGVSYXRpbykoZSx0aGlzLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0KTtlLnNldFByaWNlUmFuZ2UobnVsbCE9PXI/cjppLHMsbil9X2FwcGx5T2xkU2NhbGVSYXRpb1RvVGltZVNjYWxlKCl7dGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzfHxudWxsPT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpb3x8KHRoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlcz0hMCx0aGlzLl9zZXROZXdCYXJTcGFjaW5nQnlTY2FsZVJhdGlvKCksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fdHJ5VG9BcHBseU5ld1ByaWNlU2NhbGVSYXRpbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnNjYWxlUmF0aW8pKHRoaXMudGltZVNjYWxlKCksZSk7dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz09PXR8fGUuaXNMb2coKXx8KHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dCx0aGlzLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpKX1fcmVjYWxjdWxhdGVUaW1lU2NhbGVCeVNjYWxlUmF0aW8oZSl7ZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJihudWxsIT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz90aGlzLl9hcHBseU9sZFNjYWxlUmF0aW9Ub1RpbWVTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X3NldE5ld0JhclNwYWNpbmdCeVNjYWxlUmF0aW8oKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkuZ2V0VmFsaWRCYXJTcGFjaW5nKCgwLGlhLmJhclNwYWNpbmdCeVNjYWxlUmF0aW8pKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbG9ja2VkUHJpY2VTY2FsZSksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbykpO3RoaXMudGltZVNjYWxlKCkuaXNWYWxpZEJhclNwYWNpbmcoZSkmJnRoaXMudGltZVNjYWxlKCkuc2V0QmFyU3BhY2luZyhlKX1fbWFpblNvdXJjZVZpc2libGVQcmljZVJhbmdlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBuZXcgUGwuUHJpY2VSYW5nZSgtLjUsLjUpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmxvZ2ljYWxSYW5nZSgpKSxuPXtzdGFydFRpbWVQb2ludDppLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmkubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDpzLmxlZnQoKSxsb2dpY0VuZFBvaW50OnMucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOmUsc2NhbGVTZXJpZXNPbmx5OmUuaXNTY2FsZVNlcmllc09ubHkoKX07cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcmljZVJhbmdlKG4pKX1fc2V0TWluTWF4UHJpY2VSYW5nZSgpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnByaWNlUmFuZ2VCeVNjYWxlUmF0aW8pKGUsdGhpcy50aW1lU2NhbGUoKS5tYXhCYXJTcGFjaW5nKCksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyksaT0oMCxpYS5wcmljZVJhbmdlQnlTY2FsZVJhdGlvKShlLHRoaXMudGltZVNjYWxlKCkubWluQmFyU3BhY2luZygpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW8pO251bGwhPT10JiZlLnNldE1heFByaWNlUmFuZ2UodCksbnVsbCE9PWkmJmUuc2V0TWluUHJpY2VSYW5nZShpKX1fb25QcmljZVNjYWxlU2V0TWluTWF4UHJpY2VSYW5nZShlKXtlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmdGhpcy5fc2V0TWluTWF4UHJpY2VSYW5nZSgpfV9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKXswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkLmZpcmUoKTp0aGlzLl9idWxrQWN0aW9ucy5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSEwfV9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7MD09PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXI/dGhpcy5fcHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpOnRoaXMuX2J1bGtBY3Rpb25zLnByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPSEwfV9ub25PdmVybGF5UHJpY2VzU291cmNlc0NvdW50KCl7cmV0dXJuIHRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PighKDAsdGkuaXNTdHVkeSkoZSl8fCFlLmlzTGlua2VkVG9TZXJpZXMoKSkmJigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpJiYhdGhpcy5pc092ZXJsYXkoZSkpKSkubGVuZ3RofV9yZXN0b3JlTWFpblNlcmllcyhlLHQsaSxzLG4scixoKXtjb25zdCBkPWUuaWQsdT1lLnN0YXRlCjtpZih1JiZuJiYodS5zdHlsZT1uLnN0eWxlPz91LnN0eWxlLHUuaW50ZXJ2YWw9bi5pbnRlcnZhbHx8dS5pbnRlcnZhbCxuLnN5bWJvbCYmbi5zeW1ib2whPT11LnN5bWJvbCYmKHUuc3ltYm9sPW4uc3ltYm9sLGRlbGV0ZSB1LmN1cnJlbmN5SWQsZGVsZXRlIHUudW5pdElkKSksdSYmWyJjYW5kbGVTdHlsZSIsImhvbGxvd0NhbmRsZVN0eWxlIiwiaGFTdHlsZSJdLmZvckVhY2goKGU9Pnt1W2VdJiYodVtlXS53aWNrVXBDb2xvcj11W2VdLndpY2tVcENvbG9yfHx1W2VdLndpY2tDb2xvcix1W2VdLndpY2tEb3duQ29sb3I9dVtlXS53aWNrRG93bkNvbG9yfHx1W2VdLndpY2tDb2xvcil9KSksdSYmKHUuc3RhdHVzVmlld1N0eWxlPXUuc3RhdHVzVmlld1N0eWxlfHx7fSwhdS5zdGF0dXNWaWV3U3R5bGUuc3ltYm9sVGV4dFNvdXJjZSkpe2NvbnN0IGU9ISF1LnN0YXR1c1ZpZXdTdHlsZS5zaG93U3ltYm9sQXNEZXNjcmlwdGlvbjt1LnN0YXR1c1ZpZXdTdHlsZS5zeW1ib2xUZXh0U291cmNlPWU/InRpY2tlciI6ImRlc2NyaXB0aW9uIn1pZih1KXt1LmV4dGVuZGVkSG91cnM/dS5zZXNzaW9uSWQ9ImV4dGVuZGVkIjp1LnNlc3Npb25JZHx8KHUuc2Vzc2lvbklkPSJyZWd1bGFyIiksZGVsZXRlIHUuZXh0ZW5kZWRIb3VycywoMCxRbC5hbGxDaGFydFN0eWxlcykoKS5pbmNsdWRlcyh1LnN0eWxlKXx8KHUuc3R5bGU9Mik7Y29uc3QgZT11LmxpbmVTdHlsZS5zdHlsZVR5cGU7bGV0IHQ7ZGVsZXRlIHUubGluZVN0eWxlLnN0eWxlVHlwZSwwPT09ZSYmKHQ9MTQsdS5saW5lV2l0aE1hcmtlcnNTdHlsZT0oMCxhLmNsb25lKSh1LmxpbmVTdHlsZSkpLDE9PT1lJiYodD0xNSx1LnN0ZXBsaW5lU3R5bGU9KDAsYS5jbG9uZSkodS5saW5lU3R5bGUpKSx2b2lkIDAhPT10JiYyPT09dS5zdHlsZSYmKHUuc3R5bGU9dCk7Y29uc3QgaT11LnZvbEZvb3RwcmludFN0eWxlPy5leHRlbmRlZFN1bW1hcnk/LmZ1dHVyZXNCbG9ja0luZm87aSYmKHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmV4dGVuZGVkT3BlbkludGVyZXN0QmxvY2tJbmZvPXtvcGVuSW50ZXJlc3RMb3c6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RMb3cudmlzaWJsZT8/ITB9LG9wZW5JbnRlcmVzdEhpZ2g6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RIaWdoLnZpc2libGU/PyEwfX0sZGVsZXRlIHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmZ1dHVyZXNCbG9ja0luZm8pO2NvbnN0IHM9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk7bGV0IG49dS5zdnBTdHlsZT8uaW5wdXRzPy5jdXN0b21TZXNzaW9uVFo/P251bGw7aWYobnVsbCE9PXMmJm51bGwhPT1uJiYobj0iZXhjaGFuZ2UiPT09bi50b0xvd2VyQ2FzZSgpP3M6bixuIT09cykpe2NvbnN0IGU9dS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvbj8/IiIsW3QsaV09ZS5zcGxpdCgiLSIpLHI9KDAsby5nZXRfdGltZXpvbmUpKG4pLGE9KDAsby5nZXRfdGltZXpvbmUpKHMpLGw9c2ModCxyLGEpLGM9c2MoaSxyLGEpO3Uuc3ZwU3R5bGUuaW5wdXRzLmN1c3RvbVNlc3Npb249YCR7bH0tJHtjfWAsdS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvblRaPXN9fWlmKHUpZm9yKGNvbnN0IGUgb2ZbImxpbmVTdHlsZSIsImxpbmVXaXRoTWFya2Vyc1N0eWxlIiwic3RlcGxpbmVTdHlsZSJdKWljKHVbZV0pO2lmKCFpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlbW92ZURhdGFTb3VyY2UoZSwhMSxyKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUscil9Y29uc3QgcD10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLF89cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5tX21haW5EYXRhU291cmNlPXA7Y29uc3QgbT11JiZ1LnN0eWxlP3Uuc3R5bGU6dm9pZCAwOzY9PT1tJiYiQVRSIj09PV8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk/Xy5wbmZTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKTo0PT09bSYmIkFUUiI9PT1fLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkmJl8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKSx1JiYhdS5oYXNPd25Qcm9wZXJ0eSgic2hvd1Nlc3Npb25zIikmJih1LnNob3dTZXNzaW9ucz0hMSksdSYmdm9pZCAwPT09dS5zZXR0bGVtZW50QXNDbG9zZSYmKHUuc2V0dGxlbWVudEFzQ2xvc2U9ITEpLHUmJnQmJih1LnNob3dDb3VudGRvd249ITEpLHUmJih0JiYhKCJzaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHkiaW4gcykmJiJzaG93TGFzdFZhbHVlImluIHUmJnRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUuc2V0VmFsdWUodS5zaG93TGFzdFZhbHVlKSxkZWxldGUgdS5zaG93TGFzdFZhbHVlKSx1JiZ0aGlzLl9yZXN0b3JlTWFpblNlcmllc1N0dWR5SW5wdXRzKGUscC5zdHlsZVN0dWR5SW5mb3MoKSk7Y29uc3QgZz1wLnNlc3Npb25JZCgpOygwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgUmVzdG9yZSBzZXJpZXMuIHNvdXJjZS5pZDogJHtlLmlkfSBpZDogJHtkfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnJlc3RvcmVTdGF0ZShlLHQsaCksdGhpcy5jaGFuZ2VTb3VyY2VJZChwLGQpLCgwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2VyaWVzIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZXN0b3JlZC4gaWQ6ICR7cC5pZCgpfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnNlc3Npb25JZCgpIT09ZyYmXy5zZXNzaW9uSWQuZmlyZUNoYW5nZWQoKX1hc3luYyBfcmVzdG9yZU1haW5TZXJpZXNTdHVkeUlucHV0cyhlLHQpe2F3YWl0KDAsCmF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCkscz0oMCxsLmVuc3VyZURlZmluZWQpKGUuc3RhdGUpLG49e2hhU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCxzLmhhU3R5bGU/LmlucHV0cykscmVua29TdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg0LCEwLHMucmVua29TdHlsZT8uaW5wdXRzKSxwYlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDcsITAscy5wYlN0eWxlPy5pbnB1dHMpLGthZ2lTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwLHMua2FnaVN0eWxlPy5pbnB1dHMpLHBuZlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDYsITAscy5wbmZTdHlsZT8uaW5wdXRzKSxyYW5nZVN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDExLCEwLHMucmFuZ2VTdHlsZT8uaW5wdXRzKSx2b2xGb290cHJpbnRTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSgxNywhMCxzLnZvbEZvb3RwcmludFN0eWxlPy5pbnB1dHMpLHRwb1N0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDE4LCEwLHMudHBvU3R5bGU/LmlucHV0cyksc3ZwU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITAscy5zdnBTdHlsZT8uaW5wdXRzKX0scj17fTtmb3IoY29uc3Rbb11vZiBPYmplY3QuZW50cmllcyhMLlNZTUJPTF9TVFJJTkdfREFUQSkpe2NvbnN0IGE9YCR7TC5TVFlMRV9TSE9SVF9OQU1FU1tvXX1TdHlsZWAsbD1zW2FdPy5pbnB1dHM7aWYobnVsbD09bCljb250aW51ZTtjb25zdCBjPWEgaW4gZT9lW2FdLnN0dWR5SWQ6blthXSxoPW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhjKSxkPXRbYV0uc3R1ZHlJZCx1PW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhkKSxwPWkudXBkYXRlU3R1ZHlJbnB1dHMoaC5pZCxoLnZlcnNpb24sdS52ZXJzaW9uLGwuaW5wdXRzLG51bGwpO3JbYV09e2lucHV0czpwfX10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUocil9X3Jlc3RvcmVTcGVjaWFsU291cmNlKGUsdCxpKXtlLnR5cGU9PT1wbC5DaGFydEV2ZW50c1NvdXJjZUlkLlZhbHVlJiZ0JiZ0aGlzLl9tb2RlbC5yZXN0b3JlQ2hhcnRFdmVudHMoZSl9X3Byb2Nlc3NBZnRlckJ1bGtBY3Rpb24oKXtjb25zdCBlPXRoaXMuX2J1bGtBY3Rpb25zOzA9PT1lLmFjdGl2ZUNvdW50ZXImJih0aGlzLl9kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUoKSxlLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkJiYodGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLGUuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITEpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQmJih0aGlzLl9wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksZS5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD0hMSksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkJiYodGhpcy5fZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZC5maXJlKCksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSExKSl9fXZhciBjYyxoYz1pKDUxNTk3MyksZGM9aSg0MDM4MTcpOyFmdW5jdGlvbihlKXtlW2UuTGVmdD0wXT0iTGVmdCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLk5lYXJlc3Q9Ml09Ik5lYXJlc3QifShjY3x8KGNjPXt9KSk7Y29uc3QgdWM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lUG9pbnRzIik7ZnVuY3Rpb24gcGMoZSx0KXtyZXR1cm4gbnVsbD09PWV8fG51bGw9PT10P2U9PT10OmUuZmlyc3RJbmRleD09PXQuZmlyc3RJbmRleCYmZS5sYXN0SW5kZXg9PT10Lmxhc3RJbmRleH1jbGFzcyBfY3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3pvZmZzZXQ9MCx0aGlzLl9pdGVtcz1bXSx0aGlzLl9yYW5nZT1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwscGMpfWNsZWFyKCl7dGhpcy5fem9mZnNldD0wLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3JhbmdlLnNldFZhbHVlKG51bGwpfXNpemUoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofXJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLnJlYWRvbmx5KCl9bWVyZ2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fbWVyZ2VJbXBsKGUsdCxpKTtyZXR1cm4gdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSxzfWFkZFRhaWwoZSx0KXtmb3IobGV0IGk9dD8xOjA7aTxlLmxlbmd0aDtpKyspdGhpcy5faXRlbXMucHVzaChlW2ldKTt0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpfXJlbW92ZShlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7aWYobnVsbD09PXQpcmV0dXJuW107Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCkscz1bXTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKylzLnB1c2goe2NoYW5nZToicmVtb3ZlIixpbmRleDplK3QsdmFsdWU6aVt0XX0pO3JldHVybiB0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpLHN9dmFsdWVBdChlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7cmV0dXJuIG51bGwhPT10P3RoaXMuX2l0ZW1zW3RdPz9udWxsOm51bGx9aW5kZXhPZihlLHQpe2lmKHRoaXMuX2l0ZW1zLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKGU+dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdKXJldHVybiB0P3RoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk6bnVsbDtmb3IobGV0IGk9MDtpPHRoaXMuX2l0ZW1zLmxlbmd0aDsrK2kpe2lmKGU9PT10aGlzLl9pdGVtc1tpXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpO2lmKGU8dGhpcy5faXRlbXNbaV0pcmV0dXJuIHQ/dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpOm51bGx9cmV0dXJuIG51bGx9c3RhdGUoZSl7bGV0IHQ9MCxpPXRoaXMuX2l0ZW1zLmxlbmd0aDtyZXR1cm4gbnVsbCE9PWUmJih0PXRoaXMuX2luZGV4VG9PZmZzZXQoZS5maXJzdEJhcigpKT8/MCwKaT0odGhpcy5faW5kZXhUb09mZnNldChlLmxhc3RCYXIoKSk/P2ktMSkrMSkse2l0ZW1zOnRoaXMuX2l0ZW1zLnNsaWNlKHQsaSksem9mZnNldDp0aGlzLl96b2Zmc2V0LXR9fXJlc3RvcmVTdGF0ZShlKXtudWxsIT09ZSYmKHRoaXMuX2l0ZW1zPWUuaXRlbXMsdGhpcy5fem9mZnNldD1lLnpvZmZzZXQsdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSl9cm91Z2hUaW1lKGUsdD1udWxsKXtlPU1hdGgucm91bmQoZSk7Y29uc3QgaT10aGlzLnZhbHVlQXQoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl0sYz0obC1hKS8oby1yKTtpZihlPHIpe3JldHVybiBhLShyLWUpKmN9aWYoZT5vKXtjb25zdCBpPWUtbztpZihpPDUwMCYmbnVsbCE9dClyZXR1cm4gdChsLGkpO3JldHVybiBsK2kqY31yZXR1cm4gbnVsbH1yb3VnaEluZGV4KGUsdD1udWxsLGk9MCl7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl07aWYoZT49YSYmZTw9bClyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsaSk7Y29uc3QgYz0obC1hKS8oby1yKTtpZihlPGEpe2NvbnN0IHQ9YS1lO3JldHVybiByLU1hdGgucm91bmQodC9jKX1pZihlPmwpe2NvbnN0IGk9ZS1sO2xldCBzPU1hdGgudHJ1bmMoaS9jKTtpZihzPDUwMCYmbnVsbCE9PXQpe2NvbnN0IGk9dChsLGUpO2kuc3VjY2VzcyYmKHM9aS5yZXN1bHQpfXJldHVybiBvK3N9cmV0dXJuIG51bGx9Y2xvc2VzdEluZGV4TGVmdChlKXtyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsMCl9Zmlyc3RQb2ludCgpe3JldHVybiAwPT09dGhpcy5faXRlbXMubGVuZ3RoP251bGw6dGhpcy5faXRlbXNbMF19bGFzdFBvaW50KCl7cmV0dXJuIDA9PT10aGlzLl9pdGVtcy5sZW5ndGg/bnVsbDp0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV19X2Nsb3Nlc3RJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5faXRlbXM7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO2lmKE51bWJlci5pc05hTihlKSlyZXR1cm4gbnVsbDtjb25zdCBzPWkubGVuZ3RoLTE7aWYoZT49aVtzXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHMpO2NvbnN0IG49KDAsZy5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSx0KT0+ZTx0KSk7aWYobjw9cyYmdGhpcy5faXRlbXNbbl09PT1lKXJldHVybiB0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgobik7aWYoMD09PXQpcmV0dXJuIDA9PT1uP251bGw6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4tMSk7aWYoMT09PXQpcmV0dXJuIG4+cz9udWxsOnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChuKTtjb25zdCByPWUtKHRoaXMuX2l0ZW1zW24tMV0/Py0xLzApLG89KHRoaXMuX2l0ZW1zW25dPz8xLzApLWU7cmV0dXJuIHRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChyPG8/bi0xOm4pfV9tZXJnZUltcGwoZSx0LGkpe2lmKDA9PT1pLmxlbmd0aClyZXR1cm4gdWMubG9nRXJyb3IoIm1lcmdlOiAndmFsdWVzJyBkb2VzIG5vdCBjb250YWluIGFueSB0aW1lIHBvaW50cyIpLFtdO2lmKHQ+dGhpcy5fem9mZnNldCYmZSt0PjApcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogd2hlbiB0aGUgZmlyc3QgdGltZSBwb2ludCBpbmRleCBpcyB1cGRhdGVkLCB3ZSBzaG91bGQgZmlsbCB0aGUgdGltZSBwb2ludHMgc3RhcnRpbmcgZnJvbSB0aGUgZmlyc3Qgb25lIiksW107aWYoMD09PXRoaXMuX2l0ZW1zLmxlbmd0aClyZXR1cm4gdGhpcy5faXRlbXM9aS5zbGljZSgpLHRoaXMuX3pvZmZzZXQ9dCxbe2NoYW5nZToicmVidWlsZCIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApfV07Y29uc3Qgcz1lK3RoaXMuX3pvZmZzZXQ7aWYoczwwKXtjb25zdCBuPU1hdGguYWJzKHMpO2lmKGkubGVuZ3RoPG4pcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogJ3ZhbHVlcycgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggdGltZSBwb2ludHMgdG8gZmlsbCBpbiB0aGUgbmV3IGl0ZW1zLiAnaW5kZXgnOiAiK2UudG9TdHJpbmcoKSsiLCBwcmV2aW91cyAnem9mZnNldCc6ICIrdGhpcy5fem9mZnNldC50b1N0cmluZygpKyIsIG5ldyAnem9mZnNldCc6ICIrdC50b1N0cmluZygpKyIsICd2YWx1ZXMubGVuZ3RoJzogIitpLmxlbmd0aCksW107dGhpcy5faXRlbXM9bmV3IEFycmF5KG4pLmNvbmNhdCh0aGlzLl9pdGVtcyksdGhpcy5fem9mZnNldD10O2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7KytzKXRoaXMuX2l0ZW1zW2Urcyt0XT1pW3NdO3JldHVyblt7Y2hhbmdlOiJyZWJ1aWxkIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoMCl9XX1jb25zdCBuPVtdO2xldCByPXM7Zm9yKDtyPHRoaXMuX2l0ZW1zLmxlbmd0aCYmci1zPGkubGVuZ3RoOysrcil0aGlzLl9pdGVtc1tyXT1pW3Itc10sbi5wdXNoKHtjaGFuZ2U6InVwZGF0ZSIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHIpLHZhbHVlOmlbci1zXX0pO2NvbnN0IG89cytpLmxlbmd0aDtpZihvPnRoaXMuX2l0ZW1zLmxlbmd0aCl7Y29uc3QgZT1vLXRoaXMuX2l0ZW1zLmxlbmd0aDtmb3IobGV0IHQ9cjt0PHIrZTsrK3Qpe2NvbnN0IGU9dGhpcy5faXRlbXMubGVuZ3RoO3RoaXMuX2l0ZW1zLnB1c2goaVt0LXNdKSxuLnB1c2goe2NoYW5nZToiYXBwZW5kIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSksdmFsdWU6aVt0LXNdfSl9fWVsc2V7Zm9yKGxldCBlPW87ZTx0aGlzLl9pdGVtcy5sZW5ndGg7KytlKW4ucHVzaCh7Y2hhbmdlOiJyZW1vdmUiLGluZGV4OnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChlKSx2YWx1ZTp0aGlzLl9pdGVtc1tlXX0pO3RoaXMuX2l0ZW1zLmxlbmd0aD1vfXJldHVybiB0aGlzLl96b2Zmc2V0PXQsbn0KX3VwZGF0ZUZpcnN0QW5kTGFzdEluZGV4KCl7Y29uc3QgZT10aGlzLl9vZmZzZXRUb0luZGV4KDApLHQ9dGhpcy5fb2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk7dGhpcy5fcmFuZ2Uuc2V0VmFsdWUobnVsbD09PWV8fG51bGw9PT10P251bGw6e2ZpcnN0SW5kZXg6ZSxsYXN0SW5kZXg6dH0pfV92YWxpZE9mZnNldFRvSW5kZXgoZSl7cmV0dXJuIGUtdGhpcy5fem9mZnNldH1fb2Zmc2V0VG9JbmRleChlKXtyZXR1cm4gMDw9ZSYmZTx0aGlzLnNpemUoKT90aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSk6bnVsbH1faW5kZXhUb09mZnNldChlKXtjb25zdCB0PWUrdGhpcy5fem9mZnNldDtyZXR1cm4gMDw9dCYmdDx0aGlzLnNpemUoKT90Om51bGx9fXZhciBtYz1pKDgxNDU4OSk7Y29uc3QgZ2M9bmV3IE1hcChbWzAsLjFdLFsxMSwuMV0sWzEsLjM1XSxbOSwuMzVdLFsxMiwuMzVdLFs4LC4zNV1dKTtjbGFzcyBmY3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3N0eWxlU3BlY2lmaWNSYW5nZXM9bmV3IE1hcCx0aGlzLl9sb2dpY2FsUmFuZ2U9ZSx0aGlzLl9kZWZhdWx0U3R5bGU9dH1zdHJpY3RSYW5nZShlKXtpZihudWxsPT09dGhpcy5fbG9naWNhbFJhbmdlKXJldHVybiBudWxsO3ZvaWQgMD09PWUmJihlPXRoaXMuX2RlZmF1bHRTdHlsZSk7bGV0IHQ9dGhpcy5fc3R5bGVTcGVjaWZpY1Jhbmdlcy5nZXQoZSk7aWYodm9pZCAwPT09dCl7Y29uc3QgaT0oZ2MuZ2V0KGUpfHwwKS8yO3Q9bmV3IGhjLkJhcnNSYW5nZShNYXRoLmZsb29yKHRoaXMuX2xvZ2ljYWxSYW5nZS5sZWZ0KCkraSksTWF0aC5jZWlsKHRoaXMuX2xvZ2ljYWxSYW5nZS5yaWdodCgpLWkpKSx0aGlzLl9zdHlsZVNwZWNpZmljUmFuZ2VzLnNldChlLHQpfXJldHVybiB0fWxvZ2ljYWxSYW5nZSgpe3JldHVybiB0aGlzLl9sb2dpY2FsUmFuZ2V9aXNWYWxpZCgpe3JldHVybiBudWxsIT09dGhpcy5fbG9naWNhbFJhbmdlfXN0YXRpYyBpbnZhbGlkKCl7cmV0dXJuIG5ldyBmYyhudWxsLDEpfX12YXIgU2MsdmM9aSgyMzgxMDMpLHljPWkoMzgwNTQwKSxiYz1pKDUxNzI5Myksd2M9aSgyNTAzMzQpLENjPWkoMjk3MTExKSxQYz1pKDU5MTc0MSksVGM9aSgxODk5OTgpOyFmdW5jdGlvbihlKXtlW2UuTWFya1BhZGRpbmdGb3IxNFB4Rm9udD01XT0iTWFya1BhZGRpbmdGb3IxNFB4Rm9udCIsZVtlLk1pbk1hcmtTaXplRm9yMTRQeEZvbnQ9NTBdPSJNaW5NYXJrU2l6ZUZvcjE0UHhGb250IixlW2UuRGVmYXVsdFNraXBJdGVtc1JhdGlvPS41XT0iRGVmYXVsdFNraXBJdGVtc1JhdGlvIixlW2UuTWF4RGF5QXZlcmFnZURldmlhdGlvblBlcmNlbnQ9MjVdPSJNYXhEYXlBdmVyYWdlRGV2aWF0aW9uUGVyY2VudCJ9KFNjfHwoU2M9e30pKTtjb25zdCB4Yz1Dbi5ZRUFSX1NQQU4tMSxNYz1Dbi5ZRUFSX1NQQU4tMixJYz1Dbi5EQVlfU1BBTi0xLExjPUNuLkhPVVJfU1BBTi0xLEFjPUNuLkhPVVJfU1BBTi0yLGtjPUNuLkhPVVJfU1BBTi0zLERjPXtbQ24uTUlMTElTRUNPTkRfU1BBTl06MSxbQ24uSE9VUl9TUEFOKzJdOjEsW0NuLkhPVVJfU1BBTisxXToxLFtDbi5TRUNPTkRfU1BBTl06LjksW01jXTouMSxbQ24uREFZX1NQQU5dOi44NX0sRWM9e1tDbi5EQVlfU1BBTl06MjMwfTtmdW5jdGlvbiBSYyhlLHQpe3JldHVybiBudWxsIT09d2MuY3VzdG9tRm9ybWF0dGVycy50aWNrTWFya0Zvcm1hdHRlcj93Yy5jdXN0b21Gb3JtYXR0ZXJzLnRpY2tNYXJrRm9ybWF0dGVyKGUsdCk6ZnVuY3Rpb24oZSx0KXtzd2l0Y2godCl7Y2FzZSJUaW1lV2l0aE1pbGxpc2Vjb25kcyI6cmV0dXJuIG5ldyBDYy5UaW1lRm9ybWF0dGVyKHZjLmhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdCkuZm9ybWF0KGUpO2Nhc2UiVGltZVdpdGhTZWNvbmRzIjpjYXNlIlRpbWUiOmNvbnN0IGk9IlRpbWVXaXRoU2Vjb25kcyI9PT10PygwLFBjLmdldEhvdXJNaW51dGVTZWNvbmRGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpOigwLFBjLmdldEhvdXJNaW51dGVGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3JldHVybiBuZXcgQ2MuVGltZUZvcm1hdHRlcihpKS5mb3JtYXQoZSk7Y2FzZSJEYXlPZk1vbnRoIjpyZXR1cm4gZS5nZXRVVENEYXRlKCkudG9TdHJpbmcoKTtjYXNlIk1vbnRoIjpyZXR1cm4geWMubW9udGhzU2hvcnROYW1lc1tlLmdldFVUQ01vbnRoKCldO2Nhc2UiWWVhciI6cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpfX0oZSx0KX1jb25zdCBWYz0oMCxCYS5kZWZhdWx0KSgoZT0+KDAsUmkucGFyc2VGb250KShlKT8uc2l6ZT8/MTIpKTtmdW5jdGlvbiBCYyhlLHQsaSxzKXtjb25zdCBuPU5jKGUsdCkscj1NYXRoLm1heChlLndpZHRoLHMpO3JldHVybntsZWZ0Om4tci8yLWkscmlnaHQ6bityLzIraX19ZnVuY3Rpb24gTmMoZSx0KXtyZXR1cm4gZS5pbmRleCp0fWZ1bmN0aW9uIE9jKGUsdCl7cmV0dXJuIHQ9PT1lLmxlbmd0aD9udWxsOmVbdF19ZnVuY3Rpb24gV2MoZSx0LGkscyxuKXtjb25zdCByPUJjKGUsaSxzLG4pLG89QmModCxpLHMsbik7cmV0dXJuIHIucmlnaHQ+by5sZWZ0fWZ1bmN0aW9uIEZjKGUpe3JldHVybiBuZXcgRGF0ZSgxZTMqZSl9ZnVuY3Rpb24gSGMoZSl7aWYoZS5zcGFuPj1Dbi5NT05USF9TUEFOJiZlLnNwYW48Q24uWUVBUl9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X21vbnRoKShGYyhlLnRpbWUpKTtyZXR1cm4gdD09PW8uSlVMWT94Yzp0PT09by5NQVJDSHx8dD09PW8uTUFZfHx0PT09by5TRVBURU1CRVJ8fHQ9PT1vLk5PVkVNQkVSP01jOkNuLk1PTlRIX1NQQU59aWYoZS5zcGFuPj1Dbi5NSU5VVEVfU1BBTiYmZS5zcGFuPENuLkhPVVJfU1BBTil7Y29uc3QgdD0oMCxvLmdldF9taW51dGVzKShGYyhlLnRpbWUpKTtyZXR1cm4gdCUzMD09MD9MYzp0JTE1PT0wP0FjOnQlNT09MD9rYzpDbi5NSU5VVEVfU1BBTn1pZihlLnNwYW4+PUNuLkhPVVJfU1BBTiYmZS5zcGFuPENuLkRBWV9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X2hvdXJzKShGYyhlLnRpbWUpKTtyZXR1cm4gMD09PXR8fDEyPT09dD9JYzplLnNwYW59CnJldHVybiBlLnNwYW4+PUNuLldFRUtfU1BBTiYmZS5zcGFuPENuLk1PTlRIX1NQQU4/Q24uREFZX1NQQU46ZS5zcGFufWZ1bmN0aW9uIHpjKGUsdCl7Y29uc3QgaT1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09Q24uTUlMTElTRUNPTkRfU1BBTiYmdD8iVGltZVdpdGhNaWxsaXNlY29uZHMiOmU8Q24uTUlOVVRFX1NQQU4mJnQ/IlRpbWVXaXRoU2Vjb25kcyI6ZTxDbi5EQVlfU1BBTiYmdD8iVGltZSI6ZTxDbi5XRUVLX1NQQU58fGU8Q24uTU9OVEhfU1BBTj8iRGF5T2ZNb250aCI6ZTxDbi5ZRUFSX1NQQU4/Ik1vbnRoIjoiWWVhciJ9KGUsdCkscz1uZXcgYmMuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxNTApO3JldHVybiBlPT57bGV0IHQ9cy5nZXQoZS50aW1lKTtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9UmMoRmMoZS50aW1lKSxpKSxzLnNldChlLnRpbWUsdCkpLHR9fWNsYXNzIFVje2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fbGFiZWxzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZm9ybWF0dGVyQnlTcGFuPW5ldyBNYXAsdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlKDFlNCksdGhpcy5fdGltZVZpc2libGU9ZSx0aGlzLl9zcGFyc2VNYXJrcz10LHRoaXMuX2ZvbnQ9aTtUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9sYWJlbHNJbnZhbGlkYXRlZD0hMCx0aGlzLl9mb3JtYXR0ZXJCeVNwYW4uY2xlYXIoKSx0aGlzLl9jYWNoZT1udWxsfSkpLHRoaXMuX2ZvbnQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3RleHRXaWR0aENhY2hlLnJlc2V0KCksdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2FjaGU9bnVsbH0pKSx0aGlzLl9zcGFyc2VNYXJrcy5zdWJzY3JpYmUoKCgpPT57dGhpcy5fY2FjaGU9bnVsbH0pKX1kZXN0cm95KCl7VGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVZpc2libGUucmVsZWFzZSgpLHRoaXMuX3NwYXJzZU1hcmtzLnJlbGVhc2UoKSx0aGlzLl9mb250LnJlbGVhc2UoKX1yZXNldCgpe3RoaXMuX3Jlc2V0SW1wbCgpLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWluZGV4VG9UaW1lKGUpe2NvbnN0IHQ9dGhpcy5fbWFya3NCeUluZGV4LmdldChlKTtyZXR1cm4gdD9uZXcgRGF0ZSgxZTMqdC50aW1lKTpudWxsfW5lYXJlc3RJbmRleChlKXtsZXQgdD10aGlzLm1pbkluZGV4Pz8wLGk9dGhpcy5tYXhJbmRleD8/MDtmb3IoO2ktdD4yOyl7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0KSkudGltZT09PWUpcmV0dXJuIHQ7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldChpKSkudGltZT09PWUpcmV0dXJuIGk7Y29uc3Qgcz1NYXRoLnJvdW5kKCh0K2kpLzIpOzFlMyooMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQocykpLnRpbWU+ZT9pPXM6dD1zfXJldHVybiB0fWVzdGltYXRlTGVmdChlKXtjb25zdCB0PXRoaXMuX2RlbnNpdHkoKTtpZih2b2lkIDA9PT10aGlzLm1pbkluZGV4fHwhdClyZXR1cm4gMDtyZXR1cm4oMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZS1lKS90fW1lcmdlKGUsdCl7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCBpPWVbMF0uaW5kZXgscz1lW2UubGVuZ3RoLTFdLmluZGV4LG49aTw9KHRoaXMubWluSW5kZXg/PzApJiZzPj0odGhpcy5tYXhJbmRleD8/MCk7KHR8fG4pJiZ0aGlzLl9yZXNldEltcGwoKTtjb25zdCByPXRoaXMuX21hcmtzQnlTcGFuLG89bmV3IFNldDtpZih0aGlzLl9tYXJrc0J5SW5kZXguc2l6ZT4wKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleCxpPXRoaXMuX21hcmtzQnlJbmRleC5nZXQoZSk7aSYmKGkuaW5kZXg9PT1lJiZpLm92ZXJyaWRkZW5TcGFuPT09SGModCkmJmkudGltZT09PXQudGltZXx8dGhpcy5fcmVtb3ZlVGlja21hcmsoaSkpO2NvbnN0IHM9dGhpcy5fbWFya3NCeVRpbWUuZ2V0KHQudGltZSk7cyYmcy5pbmRleCE9PWUmJnRoaXMuX3JlbW92ZVRpY2ttYXJrKHMpfWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleDtpZih0aGlzLl9tYXJrc0J5SW5kZXguaGFzKGUpKWNvbnRpbnVlO2NvbnN0IGk9SGModCkscz10aGlzLl9mb3JtYXRMYWJlbCh0KSxuPXsuLi50LGxhYmVsOnMsb3ZlcnJpZGRlblNwYW46aSx3aWR0aDooMCxLdC5tZWFzdXJlVGV4dCkocyx0aGlzLl9mb250LnZhbHVlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpLndpZHRofTt0aGlzLl9tYXJrc0J5SW5kZXguc2V0KGUsbiksdGhpcy5fbWFya3NCeVRpbWUuc2V0KHQudGltZSxuKTtsZXQgYT1yW2ldO3ZvaWQgMD09PWEmJihhPVtdLHJbaV09YSk7Y29uc3QgbD0wPT09YS5sZW5ndGh8fGFbYS5sZW5ndGgtMV0udGltZTx0LnRpbWU7YS5wdXNoKG4pLGx8fG8uYWRkKGkpfXRoaXMubWluSW5kZXg9TWF0aC5taW4odGhpcy5taW5JbmRleD8/MS8wLGkpLHRoaXMubWF4SW5kZXg9TWF0aC5tYXgodGhpcy5tYXhJbmRleD8/LTEvMCxzKTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOylyW2VdJiYocltlXS5sZW5ndGh8fGRlbGV0ZSByW2VdLG8uaGFzKGUpJiZyW2VdLnNvcnQoKChlLHQpPT5lLnRpbWUtdC50aW1lKSkpO3RoaXMuX2NhY2hlPW51bGwsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWJ1aWxkKGUpe2lmKHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkJiYodGhpcy5fbWFya3NCeUluZGV4LmZvckVhY2goKGU9PntlLmxhYmVsPXRoaXMuX2Zvcm1hdExhYmVsKGUpfSkpLHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkPSExKSwKdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQmJih0aGlzLl9tYXJrc0J5SW5kZXguZm9yRWFjaCgoZT0+e2Uud2lkdGg9KDAsS3QubWVhc3VyZVRleHQpKGUubGFiZWwsdGhpcy5fZm9udC52YWx1ZSgpLHRoaXMuX3RleHRXaWR0aENhY2hlKS53aWR0aH0pKSx0aGlzLl93aWR0aHNJbnZhbGlkYXRlZD0hMSksdGhpcy5fY2FjaGU/LmJhclNwYWNpbmc9PT1lKXJldHVybiB0aGlzLl9jYWNoZS5tYXJrcztjb25zdCB0PVZjKHRoaXMuX2ZvbnQudmFsdWUoKSksaT01LzE0KnQscz01MC8xNCp0O2xldCBuPVtdO2ZvcihsZXQgdD10aGlzLl9tYXJrc0J5U3Bhbi5sZW5ndGg7dC0tOyl7aWYoIXRoaXMuX21hcmtzQnlTcGFuW3RdKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fbWFya3NCeVNwYW5bdF07aWYoMD09PXIubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IG89dDxDbi5EQVlfU1BBTiYmdGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKSxhPW47bj1bXTtsZXQgYz0wLGg9MDtjb25zdCBkPXIubGVuZ3RoPjI/RWNbdF06dm9pZCAwO2xldCB1PW51bGwscD0tMS8wLF89bnVsbCxtPTA7Zm9yKDtjPGEubGVuZ3RofHxoPHIubGVuZ3RoOyl7Y29uc3QgdD1PYyhhLGMpLG89T2MocixoKTtpZih2b2lkIDAhPT1kJiZudWxsIT09byYmbyE9PXUpe2lmKG51bGwhPT1fKXtjb25zdCB0PW51bGwhPT11JiZ1LmluZGV4Pl8uaW5kZXg/dTpfLGk9TmMobyxlKS1OYyh0LGUpO3A9TWF0aC5tYXgocCxpKX11PW99bnVsbCE9PXQ/bnVsbCE9PW8/dC5pbmRleDxvLmluZGV4PygoMCxsLmFzc2VydCkobnVsbD09PV98fCFXYyhfLHQsZSxpLHMpKSxuLnB1c2godCksXz10LGMrKyk6KG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpfHxXYyhvLHQsZSxpLHMpP20rKzoobi5wdXNoKG8pLF89byksaCsrKTooKDAsbC5hc3NlcnQpKG51bGw9PT1ffHwhV2MoXyx0LGUsaSxzKSksbi5wdXNoKHQpLF89dCxjKyspOihudWxsIT09byYmKG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpP20rKzoobi5wdXNoKG8pLF89bykpLGgrKyl9aWYodGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmYS5sZW5ndGg+MCYmbS9yLmxlbmd0aD4oRGNbdF0/Py41KSYmIW8pe249YTticmVha31pZih2b2lkIDAhPT1kJiZOdW1iZXIuaXNGaW5pdGUocCkmJnA8PWQpYnJlYWt9cmV0dXJuIHRoaXMuX2NhY2hlPXttYXJrczpuLGJhclNwYWNpbmc6ZX0sbn1tYXJrc0J5U3Bhbigpe2NvbnN0IGU9e307Zm9yKGxldCB0PXRoaXMuX21hcmtzQnlTcGFuLmxlbmd0aDt0LS07KWlmKHRoaXMuX21hcmtzQnlTcGFuW3RdKXtjb25zdCBpPVtdO2VbdF09aTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tYXJrc0J5U3Bhblt0XSlpLnB1c2goW2UuaW5kZXgsZS50aW1lLGUub3ZlcnJpZGRlblNwYW5dKX1yZXR1cm4gZX1zdGF0ZShlKXtsZXQgdD1bXTtmb3IobGV0IGU9dGhpcy5fbWFya3NCeVNwYW4ubGVuZ3RoO2UtLTspdGhpcy5fbWFya3NCeVNwYW5bZV0mJih0PXQuY29uY2F0KHRoaXMuX21hcmtzQnlTcGFuW2VdKSk7aWYobnVsbCE9PWUpe2NvbnN0IGk9ZS5maXJzdEJhcigpLHM9ZS5sYXN0QmFyKCk7dD10LmZpbHRlcigoZT0+ZS5pbmRleD49aSYmZS5pbmRleDw9cykpfXJldHVybnttYXJrczp0Lm1hcCgoZT0+W2Uuc3BhbixlLnRpbWUsZS5pbmRleF0pKSx2ZXJzaW9uOjJ9fXJlc3RvcmVTdGF0ZShlKXtpZih0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMubWluSW5kZXg9dm9pZCAwLGUmJmUubWFya3MmJmUubWFya3MubGVuZ3RoKWlmKDI9PT1lLnZlcnNpb24pe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKTt0aGlzLm1lcmdlKHQpfWVsc2UgdGhpcy5tZXJnZShlLm1hcmtzKX1yZW1vdmVUYWlsKGUpe2xldCB0PS0xLzA7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fbWFya3NCeUluZGV4LnZhbHVlcygpKWkudGltZT5lP3RoaXMuX3JlbW92ZVRpY2ttYXJrKGkpOnQ9TWF0aC5tYXgodCxpLmluZGV4KTt0aGlzLm1heEluZGV4PU51bWJlci5pc0Zpbml0ZSh0KT90OnZvaWQgMCx2b2lkIDA9PT10aGlzLm1heEluZGV4JiYodGhpcy5taW5JbmRleD12b2lkIDApLHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9bnVsbH1hZGRUYWlsKGUpe2lmKHZvaWQgMCE9PXRoaXMubWF4SW5kZXgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5pbmRleD10aGlzLm1heEluZGV4K3QrMTt0aGlzLm1lcmdlKGUpfV9yZXNldEltcGwoKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWluSW5kZXg9dm9pZCAwLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fZm9ybWF0dGVyQnlTcGFuLmNsZWFyKCl9X3JlbW92ZVRpY2ttYXJrKGUpe2NvbnN0IHQ9ZS5pbmRleCxpPWUudGltZTtpZih0aGlzLl9tYXJrc0J5SW5kZXguZ2V0KHQpIT09ZSlyZXR1cm47dGhpcy5fbWFya3NCeUluZGV4LmRlbGV0ZSh0KSx0aGlzLl9tYXJrc0J5VGltZS5kZWxldGUoaSk7Y29uc3Qgcz10aGlzLl9tYXJrc0J5U3BhbltlLm92ZXJyaWRkZW5TcGFuXSxuPSgwLGcubG93ZXJib3VuZCkocyxlLCgoZSx0KT0+ZS50aW1lPHQudGltZSkpOygwLGwuYXNzZXJ0KShuPj0wJiZuPHMubGVuZ3RoJiZzW25dLnRpbWU9PT1pLCJTZWFyY2hlZCB0aWNrbWFyayBpcyBub3QgZm91bmQiKSxzLnNwbGljZShuLDEpLDA9PT1zLmxlbmd0aCYmZGVsZXRlIHRoaXMuX21hcmtzQnlTcGFuW2Uub3ZlcnJpZGRlblNwYW5dfV9kZW5zaXR5KCl7aWYodm9pZCAwPT09dGhpcy5taW5JbmRleHx8dm9pZCAwPT09dGhpcy5tYXhJbmRleClyZXR1cm4gMDtjb25zdCBlPXRoaXMubWF4SW5kZXgtdGhpcy5taW5JbmRleDtpZigwPT09ZSlyZXR1cm4gMDtyZXR1cm4gMWUzKigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQodGhpcy5tYXhJbmRleCkpLnRpbWUtKDAsCmwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZSkvZX1fZm9ybWF0TGFiZWwoZSl7Y29uc3QgdD1IYyhlKTtsZXQgaT10aGlzLl9mb3JtYXR0ZXJCeVNwYW4uZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT16Yyh0LHRoaXMuX3RpbWVWaXNpYmxlLnZhbHVlKCkpLHRoaXMuX2Zvcm1hdHRlckJ5U3Bhbi5zZXQodCxpKSksaShlKX1fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKXtpZihudWxsPT09dGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZSl7Y29uc3QgZT10aGlzLl9tYXJrc0J5U3BhbltDbi5EQVlfU1BBTl0/P1tdO3RoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9ZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGg8MylyZXR1cm4gMDtjb25zdCB0PVtdO2xldCBpPW51bGw7Zm9yKGNvbnN0IHMgb2YgZSl7aWYobnVsbCE9PWkpe2NvbnN0IGU9TWF0aC5hYnMocy5pbmRleC1pKTt0LnB1c2goZSl9aT1zLmluZGV4fWNvbnN0IHM9dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApL3QubGVuZ3RoO3JldHVybiB0LnJlZHVjZSgoKGUsdCk9PmUrTWF0aC5hYnModC1zKSkpL3QubGVuZ3RoL3MqMTAwfShlKT49MjV9cmV0dXJuIHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGV9fWNsYXNzIEdje2NvbnN0cnVjdG9yKCl7dGhpcy5fYmFzZUluZGV4PTB9c2V0QmFzZUluZGV4KGUpe3RoaXMuX2Jhc2VJbmRleD1lfWluZGV4VG9Ub3RhbFdlaWdodChlKXtyZXR1cm4gZS10aGlzLl9iYXNlSW5kZXh9dG90YWxXZWlnaHRUb0luZGV4KGUpe3JldHVybiB0aGlzLl9iYXNlSW5kZXgrZX1pbmRleFJhbmdlVG9XZWlnaHRzKGUsdCxpKXtjb25zdCBzPWUtdGhpcy5fYmFzZUluZGV4O3JldHVyblt7bGVmdDpzLS41LGNlbnRlcjpzLHJpZ2h0OnMrLjUsdGltZVBvaW50SW5kZXg6ZX1dfXN0YXRlKGUpe3JldHVybnt0eXBlOiJjb25zdGFudCIsc3RhdGU6e2Jhc2VJbmRleDp0aGlzLl9iYXNlSW5kZXh9fX1yZXN0b3JlU3RhdGUoZSl7dGhpcy5fYmFzZUluZGV4PWUuc3RhdGUuYmFzZUluZGV4fW5lZWRBZGp1c3RpbmdPbkRhdGFSZXN0b3JpbmcoKXtyZXR1cm4hMX19dmFyIGpjPWkoNDc1NTU5KTt2YXIgcWM9aSgyNDE5NTYpLCRjPWkoNTUyMTQ1KTtjb25zdCBZYz17cHJlc2VydmVCYXJTcGFjaW5nOiExLGxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemU6ITEscmlnaHRCYXJTdGF5c09uU2Nyb2xsOiEwLG1pbkJhclNwYWNpbmc6LjV9LEtjPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxvd19kZW5zaXR5X2JhcnMiKSxYYz1LYz8xOjIsWmM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lU2NhbGUiKTt2YXIgSmM7IWZ1bmN0aW9uKGUpe2VbZS5EZWZhdWx0UmlnaHRPZmZzZXQ9MTBdPSJEZWZhdWx0UmlnaHRPZmZzZXQiLGVbZS5EZWZhdWx0QmFyU3BhY2luZz02XT0iRGVmYXVsdEJhclNwYWNpbmciLGVbZS5VbnBsb3R0YWJsZUluZGV4Q29vcmQ9LTUwMF09IlVucGxvdHRhYmxlSW5kZXhDb29yZCIsZVtlLkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9NV09IkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UiLGVbZS5NYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3Q9MjBdPSJNYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3QifShKY3x8KEpjPXt9KSk7Y2xhc3MgUWN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl93aWR0aD0wLHRoaXMuX3dpZHRoQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yaWdodE9mZnNldD0xMCx0aGlzLl9yaWdodE9mZnNldENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fbWF4UmlnaHRPZmZzZXRDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoMTApLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9bmV3IGguV2F0Y2hlZFZhbHVlKDUpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xhc3REZWZhdWx0UmlnaHRPZmZzZXQ9dm9pZCAwLHRoaXMuX2Jhc2VJbmRleD1udWxsLHRoaXMuX2xlZnRFZGdlSW5kZXg9bnVsbCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9iYXJTcGFjaW5nPTYsdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nPW51bGwsdGhpcy5fdmlzaWJsZUJhcnM9ZmMuaW52YWxpZCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRzPW5ldyBfYyx0aGlzLl9vblNjcm9sbD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXNldERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3Njcm9sbERhdGE9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZT1udWxsLHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9yZXNldEF2YWlsYWJsZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BvaW50V2VpZ2h0cz1uZXcgR2MsdGhpcy5fd2VpZ2h0ZWRQb2ludHNDYWNoZT1bXSx0aGlzLl90aHJvdHRsZVJlcXVlc3RNb3JlRGF0YU9uU2Nyb2xsPSgwLEtvLmRlZmF1bHQpKHRoaXMuX3JlcXVlc3RNb3JlRGF0YSwzMDApLHRoaXMuX29wdGlvbnM9KDAseGkuZGVlcEV4dGVuZCkoe30sWWMsdCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdGhpcy5fdGlja01hcmtzPW5ldyBVYygoMCx1LmNvbWJpbmUpKChlPT4hZS5pc0RXTSgpKSxlLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksKDAsCnUuY29tYmluZSkoKChlLHQpPT4hZS5pc1RpY2tzKCkmJiFlLmlzU2Vjb25kcygpJiYhKDAsQS5pc1JhbmdlQmFzZWRTdHlsZSkodCkpLGUubWFpblNlcmllcygpLmludGVydmFsT2JqKCkud2Vha1JlZmVyZW5jZSgpLCgwLCRjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKShlLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUpLm93bmVyc2hpcCgpKS5vd25lcnNoaXAoKSwoMCxxYy5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+KDAsUmkubWFrZUZvbnQpKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZSkub3duZXJzaGlwKCkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldC5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0LnNldFZhbHVlKCExKSx0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpfSkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2Uuc3Vic2NyaWJlKChlPT57aWYoZT49MTAwfHxlPDApe2NvbnN0IHQ9TWF0aC5tYXgoMCxNYXRoLm1pbihlLDk5KSk7dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS5zZXRWYWx1ZSh0KX1lbHNlIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC5zZXRWYWx1ZSghMCksdGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0T3B0aW9uc1VwZGF0ZWQoKX0pKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2RlZmF1bHRSaWdodE9mZnNldE9wdGlvbnNVcGRhdGVkKCl9KSksdGhpcy5fb3B0aW9ucy5wcmVzZXJ2ZUJhclNwYWNpbmcmJih0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy52YWx1ZSgpfHw2KSx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUpLHRoaXMuX3dpZHRoQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5kZXN0cm95KCksdGhpcy5fd2lkdGhDaGFuZ2VkLmRlc3Ryb3koKSx0aGlzLl90aWNrTWFya3MuZGVzdHJveSgpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3dpZHRofHwhdGhpcy5jYW5Ob3JtYWxpemUoKX1jYW5Ob3JtYWxpemUoKXtyZXR1cm4gdGhpcy5fcG9pbnRzLnNpemUoKT4wfXVwZGF0ZShlLHQsaSxzLG4pe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsaS5sZW5ndGg+MCYmdGhpcy5fcG9pbnRzLm1lcmdlKGUsdCxpKSx0aGlzLl90aWNrTWFya3MubWVyZ2UocyxuKSx0aGlzLmNvcnJlY3RPZmZzZXQoKX1hZGRUYWlsKGUsdCxpKXt0aGlzLl90aWNrTWFya3MucmVtb3ZlVGFpbCh0KTtjb25zdCBzPWUucGFyYW1zLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl90aWNrTWFya3MubWF4SW5kZXgpKyhpPzA6MSk7Zm9yKGxldCBlPTA7ZTxzLm1hcmtzLmxlbmd0aDtlKyspcy5tYXJrc1tlXS5pbmRleD1uK2U7dGhpcy5fdGlja01hcmtzLmFkZFRhaWwocy5tYXJrcyksdGhpcy5fcG9pbnRzLmFkZFRhaWwocy5jaGFuZ2VzLGkpO2NvbnN0IHI9dGhpcy5fcmlnaHRPZmZzZXQtcy5jaGFuZ2VzLmxlbmd0aDt0aGlzLl91cGRhdGVSaWdodE9mZnNldChyKX1zdGF0ZShlKXtjb25zdCB0PXttX2JhclNwYWNpbmc6dGhpcy5iYXJTcGFjaW5nKCksbV9yaWdodE9mZnNldDp0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSxyaWdodE9mZnNldFBlcmNlbnRhZ2U6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpLHVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldDp0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKX07aWYoZSl7dC5tX3JpZ2h0T2Zmc2V0PU1hdGgubWF4KDAsdGhpcy5fcmlnaHRPZmZzZXQpO2NvbnN0IGU9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLDApLHM9ZT9lLnVuaXRlKGkpOmk7dC5wb2ludHM9dGhpcy5fcG9pbnRzLnN0YXRlKHMpLHQudGlja21hcmtzPXRoaXMuX3RpY2tNYXJrcy5zdGF0ZShzKSx0LndpZHRoPXRoaXMuX3dpZHRoLHQud2VpZ2h0cz10aGlzLl9wb2ludFdlaWdodHMuc3RhdGUocyksdC5iYXNlSW5kZXg9dGhpcy5fYmFzZUluZGV4fXJldHVybiB0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKHZvaWQgMD09PWUubV9iYXJTcGFjaW5nKXJldHVybiB2b2lkIFpjLmxvZ0RlYnVnKCJyZXN0b3JlU3RhdGU6IGludmFsaWQgc3RhdGUiKTtpZih2b2lkIDA9PT1lLm1fcmlnaHRPZmZzZXQpcmV0dXJuIHZvaWQgWmMubG9nRGVidWcoInJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2Uud2VpZ2h0cyYmKHRoaXMuX3BvaW50V2VpZ2h0cz1mdW5jdGlvbihlKXtsZXQgdDtzd2l0Y2goZS50eXBlKXtjYXNlImNvbnN0YW50IjpyZXR1cm4gdD1uZXcgR2MsdC5yZXN0b3JlU3RhdGUoZSksdDtjYXNlImNvbXB1dGVkIjpyZXR1cm4gdD1uZXcgamMuQ29tcHV0ZWRUaW1lUG9pbnRXZWlnaHRzLHQucmVzdG9yZVN0YXRlKGUpLHR9dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHRpbWUgcG9pbnQgd2VpZ3RocyB0eXBlICR7ZS50eXBlfWApfShlLndlaWdodHMpKTtsZXQgaT1lLm1fYmFyU3BhY2luZzt0aGlzLl9zbmFwc2hvdEJhclNwYWNpbmc9dD9pOm51bGwKO2NvbnN0IHM9ZS5tX3JpZ2h0T2Zmc2V0PDAmJiF0P3RoaXMucmlnaHRPZmZzZXREZWZhdWx0VmFsdWUoKTplLm1fcmlnaHRPZmZzZXQsbj1zPDA/dGhpcy5yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpOk1hdGgucm91bmQocyk7aWYodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnNldFZhbHVlKG4pLHZvaWQgMCE9PWUucmlnaHRPZmZzZXRQZXJjZW50YWdlJiZOdW1iZXIuaXNGaW5pdGUoZS5yaWdodE9mZnNldFBlcmNlbnRhZ2UpJiZ0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlLnNldFZhbHVlKGUucmlnaHRPZmZzZXRQZXJjZW50YWdlKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc2V0VmFsdWUoQm9vbGVhbihlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCkpLHRoaXMuX3JpZ2h0T2Zmc2V0PXMsdGhpcy5fYmFzZUluZGV4PWUuYmFzZUluZGV4Pz90aGlzLl9iYXNlSW5kZXgsdCYmKHRoaXMuX3JlcXVlc3RlZFRpY2ttYXJrc0NvdW50PTEvMCx0aGlzLl9lbmRPZkRhdGE9ITAsdGhpcy5fcG9pbnRzLnJlc3RvcmVTdGF0ZShlLnBvaW50c3x8bnVsbCksdGhpcy5fdGlja01hcmtzLnJlc3RvcmVTdGF0ZShlLnRpY2ttYXJrc3x8bnVsbCksZS53aWR0aCYmdGhpcy5fd2lkdGg+MCYmKGkqPXRoaXMuX3dpZHRoL2Uud2lkdGgpKSx0JiZ0aGlzLl9wb2ludFdlaWdodHMubmVlZEFkanVzdGluZ09uRGF0YVJlc3RvcmluZygpKXt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxpKTtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk7aWYoZSl7Y29uc3QgdD1lLmZpcnN0SW5kZXg7bGV0IHM9aSxuPWkscj0wOygoKT0+e3I9dGhpcy5pbmRleFRvQ29vcmRpbmF0ZSh0KSxyPDA/KG49aSxzPWkvMTApOihzPWksbj0xMCppKX0pKCk7Zm9yKGxldCBlPTA7ZTwyMCYmTWF0aC5hYnMocik+MjtlKyspe2NvbnN0IGU9KG4rcykvMjt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSxyPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCkscjwwP249ZTpzPWV9fX1lbHNlIHRoaXMuX3RyeVRvVXBkYXRlQmFyU3BhY2luZyh0aGlzLl9iYXJTcGFjaW5nLGkpO3RoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC52YWx1ZSgpJiYodGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpKSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpfW1hcmtzKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9iYXJTcGFjaW5nLHQ9NSooKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKXx8MCkrNCksaT1NYXRoLnJvdW5kKHQvZSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxuPU1hdGgubWF4KHMuZmlyc3RCYXIoKSxzLmZpcnN0QmFyKCktaSkscj1NYXRoLm1heChzLmxhc3RCYXIoKSxzLmxhc3RCYXIoKS1pKSxvPXRoaXMuX3RpY2tNYXJrcy5idWlsZChlKSxhPVtdO2Zvcihjb25zdCBlIG9mIG8pbjw9ZS5pbmRleCYmZS5pbmRleDw9ciYmYS5wdXNoKHtjb29yZDp0aGlzLmluZGV4VG9Db29yZGluYXRlKGUuaW5kZXgpLGxhYmVsOmUubGFiZWwsc3BhbjplLnNwYW4sbWFqb3I6ITF9KTtyZXR1cm4gYX12aXNpYmxlQmFyc1N0cmljdFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLnN0cmljdFJhbmdlKCl9dmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkfXZpc2libGVTdHJpY3REYXRhUmFuZ2UoZSl7Y29uc3QgdD10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPWUuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLHM9ZS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpO3JldHVybiBudWxsPT09aXx8bnVsbD09PXM/bnVsbDpuZXcgaGMuQmFyc1JhbmdlKGkuaW5kZXgscy5pbmRleCl9dmlzaWJsZUV4dGVuZGVkRGF0YVJhbmdlKGUsdCl7Y29uc3QgaT10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4gbnVsbDtsZXQgcz0xPT09dD9udWxsOmUuc2VhcmNoKGkuZmlyc3RCYXIoKS0xLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0KSxuPTA9PT10P251bGw6ZS5zZWFyY2goaS5sYXN0QmFyKCkrMSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpO3JldHVybiBudWxsPT09cyYmKHM9ZS5zZWFyY2goaS5maXJzdEJhcigpLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLG51bGw9PT1uJiYobj1lLnNlYXJjaChpLmxhc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCkpLG51bGw9PT1zfHxudWxsPT09bj9udWxsOm5ldyBoYy5CYXJzUmFuZ2Uocy5pbmRleCxuLmluZGV4KX1sb2dpY2FsUmFuZ2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWR9dGlja01hcmtzKCl7cmV0dXJuIHRoaXMuX3RpY2tNYXJrc31wb2ludHMoKXtyZXR1cm4gdGhpcy5fcG9pbnRzfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofXNldFdpZHRoKGUsdCl7aWYoIU51bWJlci5pc0Zpbml0ZShlKXx8ZTw9MClyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRXaWR0aDogaW52YWxpZCBhcmd1bWVudDogJHtlfWApO2lmKHRoaXMuX3dpZHRoPT09ZSlyZXR1cm47Y29uc3QgaT10aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKSYmdGhpcy5fcmlnaHRPZmZzZXQ+MD90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyh0aGlzLl9yaWdodE9mZnNldCk6LTEKO2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsKHR8fHRoaXMuX29wdGlvbnMubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSkmJnRoaXMuX3dpZHRoKXtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmcqZS90aGlzLl93aWR0aDt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyx0KX1lbHNlIHRoaXMuX3dpZHRoJiZ0aGlzLnNldEJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyk7aWYobnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpLmZpcnN0QmFyKCk8PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2NvbnN0IHQ9dGhpcy5fd2lkdGgtZTt0aGlzLl9yaWdodE9mZnNldC09TWF0aC5yb3VuZCh0L3RoaXMuX2JhclNwYWNpbmcpKzF9fXRoaXMuX3dpZHRoPWUsdGhpcy5fd2lkdGhDaGFuZ2VkLmZpcmUoZSk7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldDtpPjA/dGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgoaSk6dGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2V0TGVmdEVkZ2VGaXgoZSl7dGhpcy5fbGVmdEVkZ2VJbmRleD1lO2NvbnN0IHQ9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dC5maXJzdEJhcigpLWU7aWYoaTwwKXtjb25zdCBlPXRoaXMuX3JpZ2h0T2Zmc2V0LWktMTt0aGlzLnNjcm9sbFRvT2Zmc2V0QW5pbWF0ZWQoZSw1MDApfX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMud2lkdGgoKSplfWluZGV4VG9Db29yZGluYXRlKGUpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5iYXNlSW5kZXgoKSxpPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQodCt0aGlzLl9yaWdodE9mZnNldCsuNSktdGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChlKTtyZXR1cm4gdGhpcy5fd2lkdGgtaSp0aGlzLl9iYXJTcGFjaW5nfWluZGV4VG9Vc2VyVGltZShlKXtyZXR1cm4gdGhpcy5fdGlja01hcmtzLmluZGV4VG9UaW1lKGUpfXRpbWVQb2ludFRvSW5kZXgoZSx0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLl9wb2ludHMuaW5kZXhPZihlLCExKTtjYXNlIDE6cmV0dXJuIHRoaXMuX3BvaW50cy5jbG9zZXN0SW5kZXhMZWZ0KGUpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX3BvaW50cy5pbmRleE9mKGUsITApfX1pbmRleFRvVGltZVBvaW50KGUpe3JldHVybiB0aGlzLl9wb2ludHMudmFsdWVBdChlKX10aW1lVG9Db29yZGluYXRlKGUpe2NvbnN0IHQ9dGhpcy5fcG9pbnRzLmNsb3Nlc3RJbmRleExlZnQoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BvaW50cy52YWx1ZUF0KHQpKSxzPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCk7aWYoczw9MHx8cz49dGhpcy5fd2lkdGgpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLmJhclNwYWNpbmcoKSxyPXRoaXMuYmFzZUluZGV4KCk7bGV0IG87bz0wPT09cj90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKCkvMWUzOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQocikpLSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoci0xKSk7Y29uc3QgYT1zKyhlLWkpL28qbisxO3JldHVybiBhPD0wfHxhPj10aGlzLl93aWR0aD9udWxsOmF9YmFyQm9yZGVycyhlKXtjb25zdCB0PXt0aW1lUG9pbnRJbmRleDplLGxlZnQ6TmFOLGNlbnRlcjpOYU4scmlnaHQ6TmFOfTtyZXR1cm4gdGhpcy5maWxsQmFyQm9yZGVycyhbdF0pLHR9ZmlsbEJhckJvcmRlcnMoZSx0LGkpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm47bGV0IHM9dD8uc3RhcnRJdGVtSW5kZXg/PzA7Y29uc3Qgbj0odD8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aCktMTtpZighMD09PWkmJihzPSgwLGcudXBwZXJib3VuZCkoZSxtYy5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYLCgoZSx0KT0+ZTx0LnRpbWVQb2ludEluZGV4KSxzLG4rMSkpLHM+bilyZXR1cm47Y29uc3Qgcj10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG89dGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4UmFuZ2VUb1dlaWdodHMoZVtzXS50aW1lUG9pbnRJbmRleCxlW25dLnRpbWVQb2ludEluZGV4LHRoaXMuX3dlaWdodGVkUG9pbnRzQ2FjaGUpO2xldCBhPTAsYz1vW2FdO2NvbnN0IGg9YyxkPW9bby5sZW5ndGgtMV07bGV0IHU9TmFOLHA9TmFOLF89TmFOLG09ITA7Zm9yKGxldCB0PXM7dDw9bjt0Kz0xKXtjb25zdCBpPWVbdF07aWYoaS50aW1lUG9pbnRJbmRleDxoLnRpbWVQb2ludEluZGV4KXU9aC5sZWZ0LShoLnRpbWVQb2ludEluZGV4LWkudGltZVBvaW50SW5kZXgpLHA9dSsuNSxfPXUrMTtlbHNlIGlmKGkudGltZVBvaW50SW5kZXg+ZC50aW1lUG9pbnRJbmRleClfPWQucmlnaHQrKGkudGltZVBvaW50SW5kZXgtZC50aW1lUG9pbnRJbmRleCkscD1fLS41LHU9Xy0xO2Vsc2UgZm9yKG0mJih1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodCxtPSExKTtjLnRpbWVQb2ludEluZGV4PGkudGltZVBvaW50SW5kZXg7KWErPTEsKDAsbC5hc3NlcnQpKGE8by5sZW5ndGgsIkJhciBib3JkZXJzIGNvb3JkaW5hdGVzIGFyZSBub3QgY29ycmVjdCIpLGM9b1thXSx1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodDtpLmxlZnQ9dGhpcy5fd2lkdGgtKHItdSkqdGhpcy5fYmFyU3BhY2luZyxpLmNlbnRlcj10aGlzLl93aWR0aC0oci1wKSp0aGlzLl9iYXJTcGFjaW5nLGkucmlnaHQ9dGhpcy5fd2lkdGgtKHItXykqdGhpcy5fYmFyU3BhY2luZ319dGltZWRWYWx1ZXNUb0Nvb3JkaW5hdGVzKGUsdCxpKXsKY29uc3Qgcz10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG49dD8uc3RhcnRJdGVtSW5kZXg/PzA7bGV0IHI9bjtjb25zdCBvPXQ/LmVuZEl0ZW1JbmRleD8/ZS5sZW5ndGg7ITA9PT1pJiYocj0oMCxnLnVwcGVyYm91bmQpKGUsbWMuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWCwoKGUsdCk9PmU8dC54KSxuLG8pKTtmb3IobGV0IHQ9cjt0PG87Kyt0KXtjb25zdCBpPWVbdF0sbj1zLXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQoaS54KTtpLng9dGhpcy5fd2lkdGgtbip0aGlzLl9iYXJTcGFjaW5nfWZvcihsZXQgdD1uO3Q8cjsrK3QpZVt0XS54PS01MDB9cmlnaHRPZmZzZXRGb3JUaW1lUG9pbnQoZSl7Y29uc3QgdD10aGlzLnRpbWVUb0Nvb3JkaW5hdGUoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0odC10aGlzLl9iYXNlSW5kZXhCYXJDZW50ZXJDb29yZGluYXRlKCkpL3RoaXMuX2JhclNwYWNpbmc7cmV0dXJuIHRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgoaSl9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2xldCBpPXRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7aTwwJiYoaT10aGlzLnJpZ2h0T2Zmc2V0RGVmYXVsdFZhbHVlKCkpO2NvbnN0IHM9KCk9Pnt2b2lkIDAhPT10JiZ0KCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9O2lmKGUpe2NvbnN0IGU9dGhpcy5sb2dpY2FsUmFuZ2UoKSx0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWV8fG51bGw9PT10KXJldHVybjtjb25zdCBpPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUoZS5yaWdodCgpKy41KSxuPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCt0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSsuNSk7cmV0dXJuIHRoaXMuX21vZGVsLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx2b2lkIHRoaXMuX21vZGVsLnNldFRpbWVTY2FsZUFuaW1hdGlvbihuZXcgRm4oe2Zyb206MCx0bzppLW4sZHVyYXRpb246MWUzLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VJbk91dFF1aW50LG9uRmluaXNoOnN9KSl9dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl91cGRhdGVSaWdodE9mZnNldChpKSx0aGlzLl9vblNjcm9sbC5maXJlKCkscygpfXNjcm9sbFRvRmlyc3RCYXIoZT0oKT0+e30pe3RoaXMuX21vZGVsLmdvdG9UaW1lKG5ldyBEYXRlKCIxODAwLTAxLTAxIikuZ2V0VGltZSgpKS50aGVuKGUpLHRoaXMuX29uU2Nyb2xsLmZpcmUoKX1zY3JvbGxUb09mZnNldEFuaW1hdGVkKGUsdCl7aWYoIWlzRmluaXRlKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgZmluaXRlIG51bWJlciIpO2NvbnN0IGk9dm9pZCAwPT09dD80MDA6dDtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldCxuPURhdGUubm93KCkscj0oKT0+e3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITA7Y29uc3QgdD0oRGF0ZS5ub3coKS1uKS9pO2lmKHQ+PTEpcmV0dXJuIHRoaXMuX3VwZGF0ZVJpZ2h0T2Zmc2V0KGUpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx2b2lkIHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz1zKyhlLXMpKnQ7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQobyksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSxzZXRUaW1lb3V0KHIsMjApfTtyKCl9ZGVmYXVsdFJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldH1yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpe3JldHVybiAxMH1kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlKCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2V9dXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldH1iYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX2JhclNwYWNpbmd9YmFyU3BhY2luZ1NjYWxlUmF0aW8oKXtyZXR1cm4gbnVsbD09PXRoaXMuX3NuYXBzaG90QmFyU3BhY2luZz8xOnRoaXMuX2JhclNwYWNpbmcvdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nfXNldEJhclNwYWNpbmcoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRCYXJTcGFjaW5nOiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7ZT10aGlzLmdldFZhbGlkQmFyU3BhY2luZyhlKTtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmc+ZTt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSYmKHRoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nJiYoKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy5zZXRWYWx1ZSh0aGlzLl9iYXJTcGFjaW5nKSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSkpLHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0JiZ0aGlzLnJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKSl9YmFyU3BhY2luZ0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWR9Z2V0VmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBudWxsPT1lJiYoZT10aGlzLmJhclNwYWNpbmcoKSksZTx0aGlzLm1pbkJhclNwYWNpbmcoKT90aGlzLm1pbkJhclNwYWNpbmcoKTplPnRoaXMubWF4QmFyU3BhY2luZygpP3RoaXMubWF4QmFyU3BhY2luZygpOmV9CmlzVmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBlPj10aGlzLm1pbkJhclNwYWNpbmcoKSYmZTw9dGhpcy5tYXhCYXJTcGFjaW5nKCl9cHJlc2VydmVCYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nfW5vcm1hbGl6ZUJhckluZGV4KGUpe2xldCB0PTAsaT0wO2NvbnN0IHM9dGhpcy5iYXNlSW5kZXgoKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleDtyZXR1cm4gZTxuPyh0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQobikpLGk9ZS1uKTplPnM/KHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb2ludHMudmFsdWVBdChzKSksaT1lLXMpOih0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoZSkpLGk9MCkse3RpbWVfdDp0LG9mZnNldDppfX1kZW5vcm1hbGl6ZVRpbWVQb2ludChlKXtjb25zdCB0PXRoaXMuX3BvaW50cy5pbmRleE9mKGUudGltZV90LCExKTtpZihudWxsIT09dClyZXR1cm4gdCtlLm9mZnNldH1yaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl9yaWdodE9mZnNldH1yaWdodE9mZnNldENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkfW1pblJpZ2h0T2Zmc2V0KCl7Y29uc3QgZT10aGlzLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKT8uZmlyc3RJbmRleCx0PXRoaXMuX2Jhc2VJbmRleDtpZih2b2lkIDA9PT1lfHxudWxsPT09dClyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fbGVmdEVkZ2VJbmRleCl7Y29uc3QgZT10aGlzLndpZHRoKCkvdGhpcy5fYmFyU3BhY2luZztyZXR1cm4gdGhpcy5fbGVmdEVkZ2VJbmRleC10K2UtMX1yZXR1cm4gZS10LTErWGN9bWF4UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy53aWR0aCgpL3RoaXMuX2JhclNwYWNpbmctWGN9bWF4UmlnaHRPZmZzZXRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21heFJpZ2h0T2Zmc2V0Q2hhbmdlZH1vblJlc2V0KCl7cmV0dXJuIHRoaXMuX3Jlc2V0RGVsZWdhdGV9YmFzZUluZGV4KCl7cmV0dXJuIHRoaXMuX2Jhc2VJbmRleHx8MH16b29tKGUsdCxpKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHwhTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiB2b2lkIFpjLmxvZ1dhcm4oYHpvb206IGludmFsaWQgYXJndW1lbnRzOiAke2V9LCAke3R9LCAke2l9YCk7Y29uc3Qgcz10aGlzLnJpZ2h0T2Zmc2V0KCksbj12b2lkIDAhPT1pPyFpOnRoaXMuX29wdGlvbnMucmlnaHRCYXJTdGF5c09uU2Nyb2xsLHI9biYmdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpJiZzPj0wLG89cj90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyhzKTp2b2lkIDAsYT10aGlzLmNvb3JkaW5hdGVUb0luZGV4KGUpLGw9dGhpcy5iYXJTcGFjaW5nKCksYz1sK3QqKGwvMTApO3RoaXMuc2V0QmFyU3BhY2luZyhjKSxufHwodGhpcy5zdGFydFNjcm9sbCh0aGlzLmluZGV4VG9Db29yZGluYXRlKGEpKSx0aGlzLnNjcm9sbFRvKGUpLHRoaXMuZW5kU2Nyb2xsKCkpLHImJnZvaWQgMCE9PW8mJnRoaXMuc2V0UmlnaHRPZmZzZXQodGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgobykpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfXpvb21Ub0JhcnNSYW5nZShlLHQpe2lmKG51bGwhPT10aGlzLl9sZWZ0RWRnZUluZGV4JiYoZT1NYXRoLm1heChlLHRoaXMuX2xlZnRFZGdlSW5kZXgpKSx0PGUpcmV0dXJuO2NvbnN0IGk9dGhpcy5iYXNlSW5kZXgoKSxzPXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PXQtaTtjb25zdCBuPWUtLjUscj10Ky41LG89TWF0aC5tYXgodGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChyKS10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KG4pLFhjKTt0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpL28pLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2Nyb2xsVG9CYXIoZSl7bnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgmJihlPU1hdGgubWF4KGUsdGhpcy5fbGVmdEVkZ2VJbmRleCkpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmxvZ2ljYWxSYW5nZSgpKS5sZW5ndGgoKStlLTE7dGhpcy5fcmlnaHRPZmZzZXQ9dC10aGlzLmJhc2VJbmRleCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfWNvb3JkaW5hdGVUb0luZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKHRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKSl9Y29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKXtjb25zdCB0PShlLXRoaXMuX2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKSkvdGhpcy5fYmFyU3BhY2luZyxpPXRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgodCk7cmV0dXJuIE1hdGgucm91bmQoMWU2KmkpLzFlNn1jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSl7bGV0IHQ9dGhpcy5jb29yZGluYXRlVG9JbmRleChlKTtjb25zdCBpPXRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO3JldHVybiBudWxsPT09aXx8aS5jb250YWlucyh0KXx8KHQ9TWF0aC5taW4oTWF0aC5tYXgoaS5maXJzdEJhcigpLHQpLGkubGFzdEJhcigpKSksdH1jYW5ab29tSW4oKXtyZXR1cm4gdGhpcy5iYXJTcGFjaW5nKCk8dGhpcy5tYXhCYXJTcGFjaW5nKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLmJhclNwYWNpbmcoKT50aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWluQmFyU3BhY2luZygpe3JldHVybiB0aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWF4QmFyU3BhY2luZygpe2NvbnN0IGU9dGhpcy53aWR0aCgpO3JldHVybiBLYz9lOmUvWGN9bWluVmlzaWJsZUJhckNvdW50KCl7CnJldHVybiBYY31yZXNldFJpZ2h0T2Zmc2V0KCl7dGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKX1yZXNldCgpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fcG9pbnRzLmNsZWFyKCksdGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGlja01hcmtzLnJlc2V0KCksdGhpcy5fbGVmdEVkZ2VJbmRleD1udWxsLHRoaXMuX3Jlc2V0RGVsZWdhdGUuZmlyZSgpLHRoaXMuZGlzY29ubmVjdCgpfXJlc2V0QXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0QXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMX1zZXRCYXNlSW5kZXgoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dEZWJ1Zyhgc2V0QmFzZUluZGV4OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7Y29uc3QgdD10aGlzLl9iYXNlSW5kZXghPT1lO3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fYmFzZUluZGV4PWUsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLl9iYXNlSW5kZXgpLHRoaXMuY29ycmVjdE9mZnNldCgpLHQmJih0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCkpfXJlc2V0QmFzZUluZGV4KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9iYXNlSW5kZXg9bnVsbH1zZXRSaWdodE9mZnNldChlKXtOdW1iZXIuaXNGaW5pdGUoZSk/KHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoZSkpOlpjLmxvZ1dhcm4oYHNldFJpZ2h0T2Zmc2V0OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCl9Y29ycmVjdEJhclNwYWNpbmcoKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5wb2ludHMoKS5zaXplKCk8dGhpcy53aWR0aCgpL3RoaXMuYmFyU3BhY2luZygpJiYodGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKSx0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpLyh0aGlzLnBvaW50cygpLnNpemUoKSt0aGlzLnJpZ2h0T2Zmc2V0KCkpKSl9c2V0VGltZVBvaW50V2VpZ2h0cyhlKXt0aGlzLl93ZWlnaHRlZFBvaW50c0NhY2hlPVtdLHRoaXMuX3BvaW50V2VpZ2h0cz1lPz9uZXcgR2MsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLmJhc2VJbmRleCgpKSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwfWNvcnJlY3RPZmZzZXQoKXtjb25zdCBlPXRoaXMubWF4UmlnaHRPZmZzZXQoKTt0aGlzLl9yaWdodE9mZnNldD5lJiYodGhpcy5fcmlnaHRPZmZzZXQ9ZSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwKTtjb25zdCB0PXRoaXMubWluUmlnaHRPZmZzZXQoKTtudWxsIT09dCYmdGhpcy5fcmlnaHRPZmZzZXQ8dCYmKHRoaXMuX3JpZ2h0T2Zmc2V0PXQsdGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCl9bG9naWNhbFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLmxvZ2ljYWxSYW5nZSgpfXJlc3RvcmVEZWZhdWx0KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMDtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO3RoaXMuc2V0QmFyU3BhY2luZyg2KSx0aGlzLnJlc2V0UmlnaHRPZmZzZXQoKSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9maXJlVmlzaWJsZUJhcnNDaGFuZ2VkSWZSZXF1aXJlZChlLHRoaXMuX3Zpc2libGVCYXJzKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1zdGFydFNjYWxlKGUpe3RoaXMuX3Njcm9sbERhdGEmJnRoaXMuZW5kU2Nyb2xsKCksbnVsbD09PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmbnVsbD09PXRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlJiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9ZSx0aGlzLl9zYXZlQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCkpKX1zY2FsZVRvKGUpe2lmKG51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSlyZXR1cm47Y29uc3QgdD0oMCxiaS5jbGFtcCkodGhpcy5fd2lkdGgtZSwwLHRoaXMuX3dpZHRoKSxpPSgwLGJpLmNsYW1wKSh0aGlzLl93aWR0aC0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlU3RhcnRQb2ludCksMCx0aGlzLl93aWR0aCk7aWYoMD09PXR8fDA9PT1pKXJldHVybjtjb25zdCBzPXRoaXMuYmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKHRoaXMucmlnaHRPZmZzZXQoKSk7dGhpcy5zZXRCYXJTcGFjaW5nKHRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlLmJhclNwYWNpbmcqdC9pKSx0aGlzLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCkmJnRoaXMucmlnaHRPZmZzZXQoKT49MCYmdGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnBlcmNlbnRzVG9CYXJJbmRleExlbmd0aChzKSl9ZW5kU2NhbGUoKXtudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50JiYodGhpcy5fc2NhbGVTdGFydFBvaW50PW51bGwsdGhpcy5fY2xlYXJDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKSl9c3RhcnRTY3JvbGwoZSl7bnVsbD09PXRoaXMuX3Njcm9sbERhdGEmJm51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSYmKHRoaXMuaXNFbXB0eSgpfHwodGhpcy5fc2Nyb2xsRGF0YT17c3RhcnRDb29yZGluYXRlOmUsCnN0YXJ0UmlnaHRFZGdlTG9naWNhbDp0aGlzLmJhc2VJbmRleCgpK3RoaXMuX3JpZ2h0T2Zmc2V0Ky41LHN0YXJ0QmFzZUluZGV4OnRoaXMuYmFzZUluZGV4KCl9LHRoaXMuX3NhdmVDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSkpfXNjcm9sbFRvKGUpe2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsbnVsbD09PXRoaXMuX3Njcm9sbERhdGEpcmV0dXJuO2NvbnN0e3N0YXJ0Q29vcmRpbmF0ZTp0LHN0YXJ0UmlnaHRFZGdlTG9naWNhbDppLHN0YXJ0QmFzZUluZGV4OnN9PXRoaXMuX3Njcm9sbERhdGEsbj1lLXQscj1pKyh0aGlzLmJhc2VJbmRleCgpLXMpLG89dGhpcy5pbmRleFRvQ29vcmRpbmF0ZShyKSxhPXRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChvLW4pLS41LXRoaXMuYmFzZUluZGV4KCk7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoYSksdGhpcy5fb25TY3JvbGwuZmlyZSgpfWVuZFNjcm9sbCgpe251bGwhPT10aGlzLl9zY3JvbGxEYXRhJiYodGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGhyb3R0bGVSZXF1ZXN0TW9yZURhdGFPblNjcm9sbCgpKX1pc0JlaW5nU2Nyb2xsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3Njcm9sbERhdGF9aXNCZWluZ1NjYWxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfWludmFsaWRhdGVWaXNpYmxlQmFycygpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITB9b25UaW1lU2NhbGVDb21wbGV0ZWQoZSl7aWYodGhpcy5fcmVxdWVzdGluZ01vcmVEYXRhPSExLHRoaXMuX2VuZE9mRGF0YT1lLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZpeF9sZWZ0X2VkZ2UiKSYmdGhpcy5fZW5kT2ZEYXRhKXtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk/LmZpcnN0SW5kZXg7dm9pZCAwIT09ZSYmdGhpcy5zZXRMZWZ0RWRnZUZpeChlKX10aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1yZXF1ZXN0TW9yZUhpc3RvcnlQb2ludHMoZSl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YShlKX10YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpP3RoaXMucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKSk6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnZhbHVlKCl9cGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKGUpe3JldHVybi4wMSplKnRoaXMuX3dpZHRoL3RoaXMuX2JhclNwYWNpbmd9YmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKGUpe3JldHVybiAxMDAqZSp0aGlzLl9iYXJTcGFjaW5nL3RoaXMuX3dpZHRofXJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKXt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucmVxdWVzdE1vcmVEYXRhKCl9X3JlcXVlc3RNb3JlRGF0YSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5yZXF1ZXN0TW9yZURhdGEoKX1fcmVxdWVzdEZ1dHVyZVRpY2ttYXJrc0lmTmVlZGVkKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YSgpfV9yZXF1ZXN0SGlzdG9yeVBvaW50cyhlKXt0aGlzLl9tb2RlbC5jaGFydEFwaSgpLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmKHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT9aYy5sb2dOb3JtYWwoIlNraXBwaW5nIGxvYWRpbmcgbW9yZSBkYXRhIGR1ZSBhY3RpdmUgbG9hZGluZyIpOih0aGlzLl9yZXF1ZXN0aW5nTW9yZURhdGE9ITAsdGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEoZSkpKX1fdXBkYXRlVmlzaWJsZUJhcnMoKXtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiB2b2lkKHRoaXMuX3Zpc2libGVCYXJzLmlzVmFsaWQoKSYmKHRoaXMuX3Zpc2libGVCYXJzPWZjLmludmFsaWQoKSx0aGlzLl92aXNpYmxlQmFyc0NoYW5nZWQuZmlyZShudWxsLGUuc3RyaWN0UmFuZ2UoKSksdGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKG51bGwsZS5sb2dpY2FsUmFuZ2UoKSkpKTtjb25zdCB0PXRoaXMud2lkdGgoKS90aGlzLmJhclNwYWNpbmcoKSxpPXRoaXMuYmFzZUluZGV4KCkscz1pK3RoaXMuX3JpZ2h0T2Zmc2V0LG49cysuNSxyPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQobiktdCxvPU1hdGgubWluKG4tMSx0aGlzLl9wb2ludFdlaWdodHMudG90YWxXZWlnaHRUb0luZGV4KHIpKSsuNTtOdW1iZXIuaXNGaW5pdGUobykmJk51bWJlci5pc0Zpbml0ZShzKT8odGhpcy5fdmlzaWJsZUJhcnM9bmV3IGZjKG5ldyBkYy5Mb2dpY2FsUmFuZ2UobyxzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3R5bGUoKSksdGhpcy5fbG9ja0JhcnNBbmRMb2dpY2FsUmFuZ2VFdmVudHN8fHRoaXMuX2ZpcmVWaXNpYmxlQmFyc0NoYW5nZWRJZlJlcXVpcmVkKGUsdGhpcy5fdmlzaWJsZUJhcnMpKTpaYy5sb2dXYXJuKGB1cGRhdGVWaXNpYmxlQmFycyBlcnJvcjogYmFzZUluZGV4OiAke2l9LCBiYXJTcGFjaW5nOiAke3RoaXMuX2JhclNwYWNpbmd9LCByaWdodE9mZnNldDogJHt0aGlzLl9yaWdodE9mZnNldH1gKX1fZmlyZVZpc2libGVCYXJzQ2hhbmdlZElmUmVxdWlyZWQoZSx0KXtoYy5CYXJzUmFuZ2UuY29tcGFyZShlLnN0cmljdFJhbmdlKCksdC5zdHJpY3RSYW5nZSgpKXx8dGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkLmZpcmUodC5zdHJpY3RSYW5nZSgpLGUuc3RyaWN0UmFuZ2UoKSksZGMuTG9naWNhbFJhbmdlLmNvbXBhcmUoZS5sb2dpY2FsUmFuZ2UoKSx0LmxvZ2ljYWxSYW5nZSgpKXx8dGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKHQubG9naWNhbFJhbmdlKCksZS5sb2dpY2FsUmFuZ2UoKSl9X2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKXtjb25zdCBlPXRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUsdD10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KGUpCjtyZXR1cm4gdGhpcy5fd2lkdGgtdCp0aGlzLl9iYXJTcGFjaW5nfV90cnlUb1VwZGF0ZUJhclNwYWNpbmcoZSx0KXtyZXR1cm4gZSE9PXQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwLHRoaXMuX2JhclNwYWNpbmc9dCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5maXJlKHQpLCEwKX1fc2F2ZUNvbW1vblRyYW5zaXRpb25zU3RhcnRTdGF0ZSgpe3RoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlPXtiYXJTcGFjaW5nOnRoaXMuYmFyU3BhY2luZygpLHJpZ2h0T2Zmc2V0OnRoaXMucmlnaHRPZmZzZXQoKX19X2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCl7dGhpcy5fY29tbW9uVHJhbnNpdGlvblN0YXJ0U3RhdGU9bnVsbH1fbWF4UmlnaHRPZmZzZXRPbkNoYW5nZWQoKXt0aGlzLl9tYXhSaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLm1heFJpZ2h0T2Zmc2V0KCkpfV91cGRhdGVSaWdodE9mZnNldChlKXtjb25zdCB0PXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PWUsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT10JiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfV9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpe3RoaXMucmlnaHRPZmZzZXQoKTt0aGlzLnNldFJpZ2h0T2Zmc2V0KHRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCkpLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUoKSx0aGlzLl9sYXN0RGVmYXVsdFJpZ2h0T2Zmc2V0PXRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0QXZhaWxhYmxlLnNldFZhbHVlKDYhPT10aGlzLmJhclNwYWNpbmcoKXx8dGhpcy5yaWdodE9mZnNldCgpIT09dGhpcy50YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKSl9fXZhciBlaD1pKDgyNjE1NiksdGg9aSg2MjQ2NzgpLGloPWkoNDYyNTg5KTtjbGFzcyBzaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9vbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JvdXBzPVtdLHRoaXMuX2dyb3Vwcz1lfHxbXSx0aGlzLl9ncm91cHMuZm9yRWFjaCgoZT0+e2Uub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKHQ9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQsdCkpKX0pKX1kZXN0cm95KCl7dGhpcy5fZ3JvdXBzLmZvckVhY2goKGU9PmUub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpKSx0aGlzLl9ncm91cHMubGVuZ3RoPTB9Z3JvdXBzKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9Pm51bGw9PT1lLnBhcmVudEdyb3VwKCkmJmUuaXNBY3R1YWxTeW1ib2woKSkpfWdyb3Vwc0ZvckFsbFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+bnVsbD09PWUucGFyZW50R3JvdXAoKSkpfWNyZWF0ZUdyb3VwKGUsdCxpKXt0PXR8fHRoaXMuX2dlbmVyYXRlTmV4dE5hbWUoKTtjb25zdCBzPWUubGVuZ3RoPjA/dGhpcy5fcGFyZW50R3JvdXBGb3JJdGVtKGVbMF0pOm51bGw7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT10aGlzLl9wYXJlbnRHcm91cEZvckl0ZW0odCk7bnVsbCE9PWUmJmUuZXhjbHVkZUl0ZW0odCl9Y29uc3Qgbj1uZXcgaW8oZSx0LGkpO3RoaXMuX2dyb3Vwcy5wdXNoKG4pLG4ub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKG4uaWQsZSkpKSxudWxsIT09cyYmcy5hZGRJdGVtcyhbbl0pO2NvbnN0IHI9W107ZS5mb3JFYWNoKChlPT57KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/dG8oZSxyKTpyLnB1c2goZS5pZCgpKX0pKTtjb25zdCBvPXt2aXNpYmlsaXR5Q2hhbmdlZDohMSxsb2NrZWRDaGFuZ2VkOiExLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOiExLGFmZmVjdGVkTGluZVRvb2xzOnJ9O3JldHVybiB0aGlzLl9vbkNoYW5nZWQuZmlyZShuLmlkLG8pLHRoaXMuX3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpLG59YWRkR3JvdXAoZSl7dGhpcy5fZ3JvdXBzLnB1c2goZSksZS5vbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCx0KSkpLHRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQpfXJlbW92ZUdyb3VwKGUpe2Uub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgdD1lLnBhcmVudEdyb3VwKCk7bnVsbCE9PXQmJnQuZXhjbHVkZUl0ZW0oZSk7Y29uc3QgaT1lLnN1Ymdyb3VwcygpO2kubGVuZ3RoPjAmJmUuZXhjbHVkZUl0ZW1zKGkpO2NvbnN0IHM9dGhpcy5fZ3JvdXBzLmZpbmRJbmRleCgodD0+dC5pZD09PWUuaWQpKTstMSE9PXMmJnRoaXMuX2dyb3Vwcy5zcGxpY2UocywxKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLmlkKX1ncm91cEZvcklkKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5pZD09PWUpKXx8bnVsbH1ncm91cEZvckxpbmVUb29sKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5jb250YWluc0l0ZW0oZSkpKXx8bnVsbH1yZW1vdmVMaW5lVG9vbHMoZSl7Y29uc3QgdD1uZXcgU2V0O3JldHVybiB0aGlzLl9ncm91cHMuZm9yRWFjaCgoaT0+e2NvbnN0IHM9ZS5maWx0ZXIoKGU9PmkuY29udGFpbnNJdGVtKGUpKSk7cy5sZW5ndGgmJihpLmV4Y2x1ZGVJdGVtcyhzKSx0LmFkZChpLmlkKSl9KSksdGhpcy5fcmVtb3ZlRW1wdHlHcm91cHNDYXNjYWRlKCksQXJyYXkuZnJvbSh0KX1zdGF0ZShlKXtyZXR1cm57Z3JvdXBzOihlP3RoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpOnRoaXMuX2dyb3VwcykubWFwKChlPT5lLnN0YXRlKCkpKX19b25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlZH1maXJlQ2hhbmdlZEFsbCgpe3RoaXMuX2dyb3Vwcy5mb3JFYWNoKChlPT57dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCl9KSl9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W10KO2Zvcihjb25zdCBzIG9mIHQuZ3JvdXBzKXtjb25zdCB0PWlvLmZyb21TdGF0ZShlLHMpO251bGwhPT10JiZpLnB1c2godCl9cmV0dXJuIG5ldyBzaChpKX1fcGFyZW50R3JvdXBGb3JJdGVtKGUpe3JldHVybigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2UucGFyZW50R3JvdXAoKTp0aGlzLmdyb3VwRm9yTGluZVRvb2woZSl9X3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpe2xldCBlPSEwO2Zvcig7ZTspe2NvbnN0IHQ9dGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+MD09PWUubGluZVRvb2xzKCkubGVuZ3RoJiYwPT09ZS5zdWJncm91cHMoKS5sZW5ndGgpKTtlPXQubGVuZ3RoPjAsdC5mb3JFYWNoKChlPT50aGlzLnJlbW92ZUdyb3VwKGUpKSl9fV9nZW5lcmF0ZU5leHROYW1lKCl7Y29uc3QgZT1uZXcgU2V0KHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpLm1hcCgoZT0+ZS5uYW1lKCkudmFsdWUoKSkpKTtmb3IobGV0IHQ9MTs7dCsrKXtjb25zdCBpPWBHcm91cCAke3R9YCxzPWBHcm91cF8ke3R9YDtpZighZS5oYXMoaSkmJiFlLmhhcyhzKSlyZXR1cm4gaX19fXZhciBuaD1pKDY0MjcxOSkscmg9aSg3NzE3OTUpO2Z1bmN0aW9uIG9oKGUpe3JldHVybiBCb29sZWFuKGUuc2Vzc2lvbi50aW1lem9uZSkmJkJvb2xlYW4oZS5zZXNzaW9uLnNwZWMpfWNsYXNzIGFoe2NvbnN0cnVjdG9yKGUsdCl7dmFyIGksczt0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyPW51bGwsdGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl90YXJnZXQ9dCx0aGlzLl9zb3VyY2VTZXNzaW9uPW5oLlNlc3Npb25JbmZvLmZyb21TdGF0ZShlLnNlc3Npb24pLHRoaXMuX3RhcmdldFNlc3Npb249bmguU2Vzc2lvbkluZm8uZnJvbVN0YXRlKHQuc2Vzc2lvbiksdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZT14LkludGVydmFsLmlzRXF1YWwoZS5yZXNvbHV0aW9uLHQucmVzb2x1dGlvbil8fHguSW50ZXJ2YWwuaXNUaWNrcyhlLnJlc29sdXRpb24pJiZ4LkludGVydmFsLmlzVGlja3ModC5yZXNvbHV0aW9uKSx0aGlzLl9pc1Nlc3Npb25UaGVTYW1lPShpPWUuc2Vzc2lvbixzPXQuc2Vzc2lvbixpLnRpbWV6b25lPT09cy50aW1lem9uZSYmaS5zcGVjPT09cy5zcGVjJiZpLmhvbGlkYXlzPT09cy5ob2xpZGF5cyYmaS5jb3JyZWN0aW9ucz09PXMuY29ycmVjdGlvbnMpfXNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZSl7aWYodGhpcy5faXNTZXNzaW9uVGhlU2FtZSYmdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZSlyZXR1cm4gZTtpZighb2godGhpcy5fc291cmNlKXx8IW9oKHRoaXMuX3RhcmdldCkpcmV0dXJuIGU7bGV0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpe2NvbnN0IGk9MWUzKmUscz10aGlzLl9zb3VyY2VUYXJnZXRCdWlsZGVyKCk7cy5tb3ZlVG8oaSk7Y29uc3Qgbj1zLmluZGV4T2ZCYXIoaSk7dD1zLnN0YXJ0T2ZCYXIoTWF0aC5tYXgoMCxuKSkvMWUzLHRoaXMuX2NhY2hlLnNldChlLHQpfXJldHVybiB0fV9zb3VyY2VUYXJnZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyJiYodGhpcy5fc291cmNlVGFyZ2V0QmFyQnVpbGRlcj0oMCxyaC5uZXdCYXJCdWlsZGVyKSh0aGlzLl90YXJnZXQucmVzb2x1dGlvbix0aGlzLl90YXJnZXRTZXNzaW9uLHRoaXMuX3NvdXJjZVNlc3Npb24pKSx0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyfX12YXIgbGg9aSg0Njk4NzYpO2NvbnN0IGNoPSIjMDAwMDAwIjthc3luYyBmdW5jdGlvbiBoaChlKXsoYXdhaXQoMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKSkuaW52b2tlQWxlcnRFZGl0b3IoZSl9Y2xhc3MgZGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZD1uZXcgTWFwLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fY2hhcnRNb2RlbD1lfWRlc3Ryb3koKXt0aGlzLnJlbW92ZUFsbEFsZXJ0TGFiZWxzKCl9cmVtb3ZlQWxsQWxlcnRMYWJlbHMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2U7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5jbGVhcigpLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmNsZWFyKCksZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSkpfSkpfXJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpdGhpcy5fcmVtb3ZlQWxlcnRMYWJlbCh0KTtpZigoMCxmbC5pc1NlcmllcykoZSkpe2NvbnN0IHQ9ZS5hY3RpdmVTdHVkeUJpbmRpbmcoKTt0JiZ0aGlzLnJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKHQpfX1zeW5jU291cmNlQWxlcnRMYWJlbHMoZSl7aWYoISgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKXx8IWUuaGFzU3RhdGVGb3JBbGVydCgpKXJldHVybjtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXQuYWxlcnRPd25lclNvdXJjZSgpLmlkRm9yQWxlcnQoKT09PXQuYWxlcnRTZXJpZXNJZCgpfHx0LmFsZXJ0KCkuaXNPSExDKCl8fHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCk7Y29uc3QgdD10aGlzLl9hbGVydHNCeUFsZXJ0U2VyaWVzSWQuZ2V0KGUuaWRGb3JBbGVydCgpKSxpPXRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSk7dm9pZCAwIT09dCYmdC5mb3JFYWNoKChlPT57aS5zb21lKCh0PT50LmFsZXJ0KCk9PT1lKSl8fHRoaXMuX3VwZGF0ZUFsZXJ0TGFiZWxzQnlBbGVydChlLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuZ2V0KGUpKSl9KSkKO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpO2khPT1zPyhudWxsIT09aSYmaS5yZW1vdmVEYXRhU291cmNlKHQpLHMuYWRkRGF0YVNvdXJjZSh0LCgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpLCExKSk6ZS5wcmljZVNjYWxlKCkhPT10LnByaWNlU2NhbGUoKSYmcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSkpfWlmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfX1kZXRhY2hTb3VyY2VBbGVydExhYmVscyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKHQpO2lmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuZGV0YWNoU291cmNlQWxlcnRMYWJlbHModCl9fWFkZEFsZXJ0KGUsdCl7KDAsbC5hc3NlcnQpKCF0aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5oYXMoZSksIkFsZXJ0IGlzIGFscmVhZHkgYWRkZWQgb24gdGhlIGNoYXJ0IiksdGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuc2V0KGUsdCk7bGV0IGk9dGhpcy5fYWxlcnRzQnlBbGVydFNlcmllc0lkLmdldCh0KTt2b2lkIDA9PT1pJiYoaT1uZXcgU2V0LHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5zZXQodCxpKSksaS5hZGQoZSksdGhpcy5fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl9aXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHQpe2NvbnN0IGk9dGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmdldChlKTtpZih2b2lkIDA9PT1pKXJldHVybiExO2NvbnN0IHM9bmV3IFNldCh0KTtmb3IoY29uc3QgZSBvZiBpKWlmKHMuaGFzKGUpKXJldHVybiEwO3JldHVybiExfXJlbW92ZUFsZXJ0KGUpe2NvbnN0IHQ9dGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmdldChlKTt2b2lkIDAhPT10JiZ0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJmkuZm9yRWFjaCgodD0+e3QuYWxlcnQoKT09PWUmJnRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCl9KSl9KSk7Y29uc3QgaT10aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5nZXQoZSk7aWYoIWkpcmV0dXJuO3RoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmRlbGV0ZShlKTtjb25zdCBzPXRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5nZXQoaSk7dm9pZCAwIT09cyYmcy5kZWxldGUoZSl9X3JlbW92ZUFsZXJ0TGFiZWwoZSl7Y29uc3QgdD1lLmFsZXJ0T3duZXJTb3VyY2UoKSxpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJihpLmRlbGV0ZShlKSwwPT09aS5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLmRlbGV0ZSh0KSk7Y29uc3Qgcz1lLmFsZXJ0KCksbj10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KHMpO3ZvaWQgMCE9PW4mJihuLmRlbGV0ZShlKSwwPT09bi5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZGVsZXRlKHMpKTtjb25zdCByPXRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5nZXQocyk7dm9pZCAwIT09ciYmKHIuZGVsZXRlKHQpLDA9PT1yLnNpemUmJnRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5kZWxldGUocykpLHRoaXMuX2NoYXJ0TW9kZWwucmVtb3ZlU291cmNlKGUpfV9maW5kUGFuZXMoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgaSBvZiB0aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkpe2NvbnN0IHM9aS5wcmljZURhdGFTb3VyY2VzKCksbj1uZXcgU2V0O2Zvcihjb25zdCB0IG9mIHMpaWYodC5oYXNTdGF0ZUZvckFsZXJ0KCkmJnQuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQodCksKDAsZmwuaXNTZXJpZXMpKHQpKXtjb25zdCBpPXQuYWN0aXZlU3R1ZHlCaW5kaW5nKCk7aSYmaS5oYXNTdGF0ZUZvckFsZXJ0KCkmJmkuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQoaSl9bi5zaXplPjAmJnQucHVzaCh7cGFuZTppLHNvdXJjZXM6bn0pfXJldHVybiB0fV9hZGRMYWJlbFRvUGFuZShlLHQsaSxzKXtjb25zdCBuPW5ldyBxaS5BbGVydExhYmVsKHRoaXMuX2NoYXJ0TW9kZWwsZSxzLGhoKTtpLmFkZERhdGFTb3VyY2UobixzLnByaWNlU2NhbGUoKSwhMSk7bGV0IHI9dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZS5nZXQocyk7dm9pZCAwPT09ciYmKHI9bmV3IFNldCx0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLnNldChzLHIpKSxyLmFkZChuKTtsZXQgbz10aGlzLl9hbGVydExhYmVsc093bmVyU291cmNlc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PW8mJihvPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LnNldChlLG8pKSxvLmFkZChzKTtsZXQgYT10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PWEmJihhPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LnNldChlLGEpKSxhLmFkZChuKX1fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl7Y29uc3QgaT10aGlzLl9maW5kUGFuZXModCk7aWYoaS5sZW5ndGgpZm9yKGNvbnN0IHMgb2YgaSlzLnNvdXJjZXMuZm9yRWFjaCgoaT0+dGhpcy5fYWRkTGFiZWxUb1BhbmUoZSx0LHMucGFuZSxpKSkpO2Vsc2UgaWYoZS5pc09ITEMoKSl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9hZGRMYWJlbFRvUGFuZShlLHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLGkpfXRoaXMuX2NoYXJ0TW9kZWwubGlnaHRVcGRhdGUoKX1fZ2V0QWxlcnRMYWJlbHNCeVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KGUpCjtyZXR1cm4gdm9pZCAwPT09dD9bXTpBcnJheS5mcm9tKHQpfX12YXIgdWg9aSg0ODc4MjApLHBoPWkoNjU2NjQpLF9oPWkoNjM1Njk5KSxtaD1pKDM3NjY0NSksZ2g9aSg1OTYyNzIpLGZoPWkoOTY5NCksU2g9aSgxMzE2ODApO2NsYXNzIHZoIGV4dGVuZHMgZmguUHJpY2VMaW5lQXhpc1ZpZXd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXR9X3ZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksdD1lLnByaWNlU2NhbGUoKSxpPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pKXJldHVybntub0RhdGE6ITB9O2NvbnN0IHM9dGhpcy5fc291cmNlLnByaWNlKCksbj10aGlzLl9zb3VyY2UuY3VycmVudFNlc3Npb24oKSxyPSgwLFNoLmNvbG9yUHJvcGVydHlCeU1hcmtldFN0YXR1cykodGhpcy5fc291cmNlLnByb3BlcnRpZXMoKSxuKTtpZihudWxsPT1zfHwhcilyZXR1cm57bm9EYXRhOiEwfTtyZXR1cm57bm9EYXRhOiExLGNvb3JkaW5hdGU6dC5wcmljZVRvQ29vcmRpbmF0ZShzLGkpLGNvbG9yOiIiLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZToiIixmb3JtYXR0ZWRQcmljZUFic29sdXRlOiIiLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOiIiLHRleHQ6IiIsaW5kZXg6MH19X3ByaWNlTGluZUNvbG9yKGUpe2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksdCkpLnZhbHVlKCl9X2xpbmVXaWR0aCgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVXaWR0aC52YWx1ZSgpfV9saW5lU3R5bGUoKXtyZXR1cm4gdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUudmFsdWUoKX1faXNWaXNpYmxlKCl7aWYoIXRoaXMuX3NvdXJjZS5jYW5CZVZpc2libGVPblN5bWJvbEFuZEludGVydmFsKCl8fCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcmljZSgpLHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuIG51bGwhPT1lJiYoInByZV9tYXJrZXQiPT09dHx8InBvc3RfbWFya2V0Ij09PXQpfX12YXIgeWg9aSg3MTY3OCk7Y29uc3QgYmg9e3ByZV9tYXJrZXQ6cC50KG51bGwse2NvbnRleHQ6Im1hcmtldF9zdGF0dXMifSxpKDk2NjQxMikpLHBvc3RfbWFya2V0OnAudChudWxsLHtjb250ZXh0OiJtYXJrZXRfc3RhdHVzIn0saSg2MTkyMzMpKSxuaWdodDpwLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LGkoODIwMjE5KSl9O2NsYXNzIHdoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtpZihlLnZpc2libGU9ITEsdC52aXNpYmxlPSExLCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj1zLnByaWNlU2NhbGUoKSxyPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1yKXJldHVybjtpZighdGhpcy5fc291cmNlLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9zb3VyY2UucHJpY2UoKSxhPXRoaXMuX3NvdXJjZS5jdXJyZW50U2Vzc2lvbigpLGM9KDAsU2guY29sb3JQcm9wZXJ0eUJ5TWFya2V0U3RhdHVzKSh0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLGEpO2lmKG51bGw9PW98fCFjKXJldHVybjtjb25zdCBoPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KShjLnZhbHVlKCkpO2UudmlzaWJsZT0hMCx0LnZpc2libGU9ITAsZS50ZXh0PW4uZm9ybWF0UHJpY2VBYnNvbHV0ZShvKSx0LnRleHQ9KDAsbC5lbnN1cmVEZWZpbmVkKShiaFthXSksaS5jb29yZGluYXRlPW4ucHJpY2VUb0Nvb3JkaW5hdGUobyxyKSxpLmJhY2tncm91bmQ9aCxpLnRleHRDb2xvcj10aGlzLmdlbmVyYXRlVGV4dENvbG9yKGgpLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfX12YXIgQ2g9aSg3NDM0Nyk7Y2xhc3MgUGggZXh0ZW5kcyBDaC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQ7Y29uc3Qgcz17ZG91YmxlQ2xpY2tIYW5kbGVyOmksZG91YmxlVGFwSGFuZGxlcjppfTt0aGlzLl9saW5lUmVuZGVyZXIuc2V0SGl0VGVzdChuZXcgTWkuSGl0VGVzdFJlc3VsdChNaS5IaXRUYXJnZXQuUmVndWxhcixzKSl9X3VwZGF0ZUltcGwoKXtjb25zdCBlPXRoaXMuX2xpbmVSZW5kZXJlckRhdGE7ZS52aXNpYmxlPSExO2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0LmlzVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXQucHJpY2VTY2FsZSgpLG49dC5maXJzdFZhbHVlKCk7aWYobnVsbD09PW4pcmV0dXJuO2lmKCF0aGlzLl9zb3VyY2UuY2FuQmVWaXNpYmxlT25TeW1ib2xBbmRJbnRlcnZhbCgpKXJldHVybjtjb25zdCByPXRoaXMuX3NvdXJjZS5wcmljZSgpLG89dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCksYT0oMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksbyk7bnVsbCE9ciYmYSYmKGUudmlzaWJsZT0hMCxlLnk9cy5wcmljZVRvQ29vcmRpbmF0ZShyLG4pLGUubGluZXN0eWxlPWkubGluZVN0eWxlLnZhbHVlKCksZS5saW5ld2lkdGg9aS5saW5lV2lkdGgudmFsdWUoKSwKZS5jb2xvcj1hLnZhbHVlKCkpfX1jbGFzcyBUaCBleHRlbmRzIGdoLkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCksdGhpcy5fZXh0cmFIb3Vyc1ByaWNlPW51bGwsdGhpcy5fY3VycmVudFNlc3Npb249ImhvbGlkYXkiLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyPXQubWFpblNlcmllcygpLnF1b3Rlc1Byb3ZpZGVyKCksdGhpcy5fcHJlUG9zdE1hcmtldExpbmVQYW5lVmlldz1uZXcgUGgodCx0aGlzLGkpLHRoaXMuX3ByZVBvc3RQcmljZUF4aXNWaWV3PW5ldyB3aCh0LHRoaXMpLHRoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3PW5ldyBtaC5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldyx0Lm1haW5TZXJpZXMoKSx0KSx0aGlzLl9wcmVQb3N0UHJpY2VMaW5lQXhpc1ZpZXc9bmV3IHZoKHQsdGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUXVvdGVzKSx0aGlzLl91cGRhdGVRdW90ZXMoKX1kZXN0cm95KCl7dGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RNYXJrZXRMaW5lUGFuZVZpZXddOltdfWxhYmVsUGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3XTpbXX1wcmljZUF4aXNWaWV3cyhlLHQpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/ZS5maW5kVGFyZ2V0UHJpY2VBeGlzVmlld3ModGhpcyx0LFt0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlld10sW3RoaXMuX3ByZVBvc3RQcmljZUxpbmVBeGlzVmlld10pOltdfXByaWNlU2NhbGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKX11cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmVQb3N0TWFya2V0TGluZVBhbmVWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldy51cGRhdGUoZSksdGhpcy5fcHJlUG9zdFByaWNlTGluZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0TGFiZWxQYW5lVmlldy51cGRhdGUoZSl9cHJpY2UoKXtyZXR1cm4gdGhpcy5fZXh0cmFIb3Vyc1ByaWNlfWN1cnJlbnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRTZXNzaW9ufWNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKTtpZighZSlyZXR1cm4hMTtjb25zdCBpPWUuc3Vic2Vzc2lvbl9pZDtpZighaSlyZXR1cm4hMTtzd2l0Y2godGhpcy5fY3VycmVudFNlc3Npb24pe2Nhc2UibmlnaHQiOnJldHVybiB0fHwhKDAsQS5pc1N0b2NrMjRoU2Vzc2lvbklkKShpKTtjYXNlInByZV9tYXJrZXQiOmNhc2UicG9zdF9tYXJrZXQiOnJldHVybiB0fHwoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoaSxlKTtkZWZhdWx0OnJldHVybiExfX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldH1fdXBkYXRlUXVvdGVzKCl7Y29uc3QgZT10aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXMoKS52YWx1ZSgpO251bGw9PT1lP3RoaXMuX2V4dHJhSG91cnNQcmljZT1udWxsOih2b2lkIDAhPT1lLmN1cnJlbnRfc2Vzc2lvbiYmKHRoaXMuX2N1cnJlbnRTZXNzaW9uPWUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9leHRyYUhvdXJzUHJpY2U9Im5pZ2h0Ij09PXRoaXMuX2N1cnJlbnRTZXNzaW9uP2UubnRjOmUucnRjKTtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksaT10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKTt0aGlzLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSYmKHR8fGkpJiYodGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpKX1fYXJlVmlld3NBdmFpbGFibGVGb3JQYW5lKGUpe3JldHVybiF0aGlzLl9tb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSYmIXRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmdGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpPT09ZX19dmFyIHhoPWkoOTczOTcpLE1oPWkoMjgxOTU2KTtmdW5jdGlvbiBJaChlLHQpe3JldHVybiBlLmNvZGU8dC5jb2RlPy0xOmUuY29kZT50LmNvZGU/MTowfWNsYXNzIExoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lkc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb2Rlc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zPWU7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpLHRoaXMuX2NvZGVzVG9JdGVtcy5zZXQodC5jb2RlLHQpfWNvbnZlcnRpYmxlKGUpe3JldHVybiB2b2lkIDAhPT10aGlzLl9pZHNUb0l0ZW1zLmdldChlKX1jdXJyZW5jeUNvZGVCeUlkKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8uY29kZT8/bnVsbH1jdXJyZW5jeUlkQnlDb2RlKGUpe3JldHVybiB0aGlzLl9jb2Rlc1RvSXRlbXMuZ2V0KGUpPy5pZD8/bnVsbH1pdGVtKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8/bnVsbH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubGVuZ3RofWZpbHRlckNvbnZlcnRpYmxlKGUsdCl7Y29uc3QgaT10aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmZpbHRlcihmdW5jdGlvbihlLHQpe3JldHVybiBpPT4hZS5oYXMoaS5pZCkmJnQoaS5pZCl9KGUsdCkpO3JldHVybiBpLnNvcnQoSWgpLGl9CmdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWNsYXNzIEFoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FsbEdyb3Vwcz1uZXcgU2V0LHRoaXMuX2lkVG9OYW1lPW5ldyBNYXAsdGhpcy5faWRUb0Rlc2NyaXB0aW9uPW5ldyBNYXAsdGhpcy5fZ3JvdXBlZFVuaXRJZHM9bmV3IE1hcCx0aGlzLl9ncm91cGVkVW5pdHM9bmV3IE1hcCx0aGlzLl9ncm91cEJ5SWQ9bmV3IE1hcCx0aGlzLl9zaXplPTAsdGhpcy5fdW5pdHM9ZTtmb3IoY29uc3QgdCBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkodCkpe3RoaXMuX2FsbEdyb3Vwcy5hZGQodCksdGhpcy5fZ3JvdXBlZFVuaXRJZHMuc2V0KHQsbmV3IFNldChlW3RdLm1hcCgoZT0+ZS5pZCkpKSksdGhpcy5fZ3JvdXBlZFVuaXRzLnNldCh0LGVbdF0pO2Zvcihjb25zdCBpIG9mIGVbdF0pdGhpcy5fc2l6ZSsrLHRoaXMuX2lkVG9OYW1lLnNldChpLmlkLGkubmFtZSksdGhpcy5faWRUb0Rlc2NyaXB0aW9uLnNldChpLmlkLGkuZGVzY3JpcHRpb24pLHRoaXMuX2dyb3VwQnlJZC5zZXQoaS5pZCx0KX19dW5pdHNDaGFuZ2VkKGUpe3JldHVybiB0aGlzLl91bml0cyE9PWV9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfW5hbWUoZSl7cmV0dXJuIHRoaXMuX2lkVG9OYW1lLmdldChlKXx8ZX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gdGhpcy5faWRUb0Rlc2NyaXB0aW9uLmdldChlKXx8ZX11bml0R3JvdXBCeUlkKGUpe3JldHVybiB0aGlzLl9ncm91cEJ5SWQuZ2V0KGUpfHxudWxsfWFsbEdyb3Vwcygpe3JldHVybiBuZXcgU2V0KHRoaXMuX2FsbEdyb3Vwcyl9dW5pdHNCeUdyb3VwcyhlKXtjb25zdCB0PVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdCBpPXRoaXMuX2dyb3VwZWRVbml0cy5nZXQoZSk7dm9pZCAwIT09aSYmdC5wdXNoKHtuYW1lOmUsdW5pdHM6aX0pfSkpLHR9Y29udmVydGlibGUoZSx0KXtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PXRoaXMuX2dyb3VwZWRVbml0SWRzLmdldChpKTtpZih2b2lkIDAhPT10JiZ0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4hMX19Y2xhc3Mga2h7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPW51bGwsdGhpcy5fc291cmNlUGFuZT1udWxsLHRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZT0hMSx0aGlzLl9tb2RlbD1lfWRlc3Ryb3koKXt0aGlzLl9zb3VyY2U9bnVsbCx0aGlzLl9zb3VyY2VQYW5lPW51bGx9c291cmNlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZX1vblRvb2xDaGFuZ2VkKCl7dGhpcy5fcmVtb3ZlU291cmNlKCksdGhpcy5fY3VycmVudFRvb2xTdXBwb3J0c1BoYW50b21Nb2RlPSgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKSYmKDAscmkuc3VwcG9ydHNQaGFudG9tTW9kZSkoVC50b29sLnZhbHVlKCkpfW9uQ3Vyc29yUG9zaXRpb25VcGRhdGVkKCl7aWYoIXRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZSlyZXR1cm47Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKTtpZih0aGlzLl9zb3VyY2VQYW5lIT09ZS5wYW5lJiZ0aGlzLl9yZW1vdmVTb3VyY2UoKSxudWxsPT09ZS5wYW5lfHwhKDAsYS5pc051bWJlcikoZS5pbmRleCl8fCEoMCxhLmlzTnVtYmVyKShlLnByaWNlKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW1vdmVTb3VyY2UoKTtjb25zdCB0PXtpbmRleDplLmluZGV4LHByaWNlOmUucHJpY2V9O251bGwhPT10aGlzLl9zb3VyY2U/dGhpcy5fc291cmNlLnNldFBvaW50KDAsdCk6KHRoaXMuX3NvdXJjZT10aGlzLl9tb2RlbC5jcmVhdGVMaW5lVG9vbCh7cGFuZTplLnBhbmUscG9pbnQ6dCxsaW5ldG9vbDpULnRvb2wudmFsdWUoKX0pLHRoaXMuX3NvdXJjZVBhbmU9ZS5wYW5lKX1fcmVtb3ZlU291cmNlKCl7bnVsbCE9PXRoaXMuX3NvdXJjZSYmKHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UpLHRoaXMuX3NvdXJjZT1udWxsLHRoaXMuX3NvdXJjZVBhbmU9bnVsbCl9fWNsYXNzIERoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbnZlcnRpYmxlSXRlbXM9ZSx0aGlzLl9pZHNUb0l0ZW1zPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpO3RoaXMuX2lkc1RvTmFtZXM9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2lkc1RvSXRlbXMuZW50cmllcygpKS5tYXAoKChbZSx0XSk9PltlLHQubmFtZV0pKSl9Y29udmVydGlibGUoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpfWl0ZW0oZSl7cmV0dXJuIHRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpPz9udWxsfXNpemUoKXtyZXR1cm4gdGhpcy5fY29udmVydGlibGVJdGVtcy5sZW5ndGh9bmFtZShlKXtyZXR1cm4gdGhpcy5faWRzVG9OYW1lcy5nZXQoZSk/P2V9aXNSZWFkeSgpe3JldHVybiB0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmxlbmd0aD4wfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWZ1bmN0aW9uIEVoKGUsdCxpKXtsZXQgcz1udWxsO2lmKGkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCBlPWkuYXZhaWxhYmxlTWV0cmljcygpLG49dC5tZXRyaWMoZSk7bnVsbCE9PW4mJihzPW4uc2VsZWN0ZWRNZXRyaWNJZCl9cmV0dXJuIHN9dmFyIFJoPWkoNDkyMzgxKSxWaD1pKDE2ODI1OCk7Y29uc3QgQmg9KGUsdCk9PiEwLE5oPShlLHQpPT4hdC5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCksT2g9KGUsdCk9PnQuaXNQbG90Rm9yY2VPdmVybGF5KGUuaWQpO2Z1bmN0aW9uIFdoKGUsdCl7Y29uc3QgaT1lLnByaWNlU2NhbGUoKSxzPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47Y29uc3Qgbj1lLmJhcnMoKS52YWx1ZUF0KHQpO2lmKG51bGw9PT1uKXJldHVybjtsZXQgcjtpZihudWxsIT09ZS5wcmljZVNvdXJjZSgpKXI9W2UuYmFyRnVuY3Rpb24oKShuKV07ZWxzZSBzd2l0Y2goZS5zdHlsZSgpKXtjYXNlIDEyOnI9WygwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2Nhc2UgMTY6Y2FzZSAyMToKcj1bKDAsbC5lbnN1cmUpKG5bMl0pLCgwLGwuZW5zdXJlKShuWzRdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2RlZmF1bHQ6cj1bKDAsbC5lbnN1cmUpKG5bMV0pLCgwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSksKDAsbC5lbnN1cmUpKG5bNF0pXX1yZXR1cm4gci5tYXAoKGU9Pih7eTppLnByaWNlVG9Db29yZGluYXRlKGUscykscHJpY2U6ZX0pKSl9dmFyIEZoOyFmdW5jdGlvbihlKXtlW2UuTWFnbmV0VG9sZXJhbmNlPTUwXT0iTWFnbmV0VG9sZXJhbmNlIn0oRmh8fChGaD17fSkpO2NsYXNzIEhoe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFZhbHVlPW51bGx9YWxpZ24oZSx0LGkpe3RoaXMuX2xhc3RWYWx1ZT1udWxsO2xldCBzPWU7aWYoISgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPWkubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09bilyZXR1cm4gcztjb25zdCByPW4ucHJpY2VTY2FsZSgpO2lmKCFyfHxyLmlzRW1wdHkoKSlyZXR1cm4gcztjb25zdCBvPW4ubW9kZWwoKS5tYWluU2VyaWVzKCksYT0oMCxacy5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycykoKS52YWx1ZSgpO2lmKCFhJiZuIT09bylyZXR1cm4gcztjb25zdCBjPSgwLGwuZW5zdXJlKShuLmZpcnN0VmFsdWUoKSksaD1yLnByaWNlVG9Db29yZGluYXRlKGUsYyksZD1pLmNvbnRhaW5zTWFpblNlcmllcygpP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIFdoKGUsdCl9KG8sdCk/P1tdOltdO2lmKGEpe2kubW9kZWwoKS5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUuaXNWaXNpYmxlKCkpKS5mb3JFYWNoKChlPT57Y29uc3Qgcz1mdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1lLm1vZGVsKCksbj1zLnBhbmVGb3JTb3VyY2UoZSkscj1zLm1haW5QYW5lKCksbz1zLm1haW5TZXJpZXMoKTtpZigoMCx0aS5pc092ZXJsYXlTdHVkeSkoZSkpcmV0dXJuIGk9PT1uP1doKGUsdCk6dm9pZCAwO2NvbnN0IGE9ZS5tZXRhSW5mbygpO2lmKCFhKXJldHVybjtjb25zdCBsPWUuZGF0YSgpLnZhbHVlQXQodCk7aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGM9YS5oYXNGb3JjZU92ZXJsYXlQbG90cygpO2lmKCEoaT09PW58fGMmJmk9PT1yKSlyZXR1cm47Y29uc3QgaD1lLnByaWNlU2NhbGUoKSxkPW8ucHJpY2VTY2FsZSgpLHU9ZS5maXJzdFZhbHVlKCkscD1vLmZpcnN0VmFsdWUoKTtpZighaHx8IWR8fG51bGw9PT11fHxudWxsPT09cClyZXR1cm47bGV0IF8sbSxnO249PT1yPyhfPUJoLG09ZCxnPXApOmk9PT1uPyhfPU5oLG09aCxnPXUpOihfPU9oLG09ZCxnPXApO2NvbnN0IGY9YS5wbG90cyxTPWYuZmlsdGVyKCh0PT4hKDAsVmguaXNQbG90V2l0aFRlY2huaWNhbFZhbHVlcykodCkmJmUuaXNQbG90VmlzaWJsZUF0KHQuaWQsVmguU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKSYmXyh0LGEpKSksdj1bXTtmb3IoY29uc3QgZSBvZiBTKXtjb25zdCB0PWxbZi5pbmRleE9mKGUpKzFdO2lmKG51bGwhPXQpe2NvbnN0IGk9YS5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCkscz0oaT9kOmgpLnByaWNlVG9Db29yZGluYXRlKHQsaT9wOnUpO3YucHVzaCh7eTpzLHByaWNlOm0uY29vcmRpbmF0ZVRvUHJpY2UocyxnKX0pfX1yZXR1cm4gdn0oZSx0LGkpO3MmJmQucHVzaCguLi5zKX0pKX1pZigwPT09ZC5sZW5ndGgpcmV0dXJuIHM7ZC5zb3J0KCgoZSx0KT0+TWF0aC5hYnMoZS55LWgpLU1hdGguYWJzKHQueS1oKSkpO2NvbnN0IHU9ZFswXTtyZXR1cm4oKDAsWnMubWFnbmV0TW9kZSkoKS52YWx1ZSgpPT09UmguTWFnbmV0TW9kZS5TdHJvbmdNYWduZXR8fE1hdGguYWJzKHUueS1oKTw1MCkmJihzPXUucHJpY2UsdGhpcy5fbGFzdFZhbHVlPXMpLHN9bGFzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX2xhc3RWYWx1ZX1yZXNldExhc3RWYWx1ZSgpe3RoaXMuX2xhc3RWYWx1ZT1udWxsfX1jbGFzcyB6aHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyBkLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89bnVsbCx0aGlzLl9hcHBsaWVkVGltZUZyYW1lQ2hhbmdlZEJvdW5kPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fbW9kZWw9ZSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc2VyaWVzVGltZUZyYW1lKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNUaW1lRnJhbWUpLHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpfWRlc3Ryb3koKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lLnVuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnNlcmllc1RpbWVGcmFtZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfWFwcGxpZWRUaW1lRnJhbWUoKXtyZXR1cm4gdGhpcy5fYXBwbGllZFRpbWVGcmFtZX1fYXBwbGllZFRpbWVGcmFtZUNoYW5nZWQoKXt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxpLHMpe2lmKHMpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7dGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89e2xvZ2ljYWxSYW5nZTplLmxvZ2ljYWxSYW5nZSgpLGJhc2VJbmRleDplLmJhc2VJbmRleCgpfSxlLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9fV9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSgpe2lmKG51bGw9PT10aGlzLl9hcHBsaWVkVGltZUZyYW1lSW5mbylyZXR1cm4KO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD1lLmxvZ2ljYWxSYW5nZSgpLGk9ZS5iYXNlSW5kZXgoKSxzPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmxvZ2ljYWxSYW5nZSxuPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmJhc2VJbmRleDsobnVsbD09PXR8fG51bGw9PT1zfHxNYXRoLmFicyhpLXQubGVmdCgpLShuLXMubGVmdCgpKSk+PS4wMXx8TWF0aC5hYnMoaS10LnJpZ2h0KCktKG4tcy5yaWdodCgpKSk+PS4wMSkmJnRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc2V0VmFsdWUobnVsbCl9fXZhciBVaD1pKDcwNjg4NCksR2g9aSg5MzQzMDUpO2NsYXNzIGpoIGV4dGVuZHMgR2guQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbH1zZXREYXRhKGUpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KGUpe3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm47Y29uc3R7Y29udGV4dDp0LHZlcnRpY2FsUGl4ZWxSYXRpbzppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTpufT1lLHI9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHMpKTt0LmxpbmVXaWR0aD1yO2NvbnN0IG89TWF0aC5jZWlsKG4uaGVpZ2h0KmkpLGE9TWF0aC5jZWlsKG4ud2lkdGgqcyk7aWYodC5saW5lQ2FwPSJidXR0Iix0aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUpe3Quc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS52ZXJ0TGluZXNDb2xvciwoMCxEaS5zZXRMaW5lU3R5bGUpKHQsdGhpcy5fZGF0YS52ZXJ0TGluZVN0eWxlKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhLnRpbWVNYXJrcyl7Y29uc3QgaT1NYXRoLnJvdW5kKGUuY29vcmQqcyk7KDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkodCxpLDAsbyl9fWlmKHRoaXMuX2RhdGEuaG9yekxpbmVzVmlzaWJsZSl7dC5zdHJva2VTdHlsZT10aGlzLl9kYXRhLmhvcnpMaW5lc0NvbG9yLCgwLERpLnNldExpbmVTdHlsZSkodCx0aGlzLl9kYXRhLmhvcnpMaW5lU3R5bGUpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGEucHJpY2VNYXJrcyl7Y29uc3Qgcz1NYXRoLnJvdW5kKGUuY29vcmQqaSk7KDAsRGkuZHJhd0hvcml6b250YWxMaW5lKSh0LHMsMCxhKX19fX1jbGFzcyBxaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgamgsdGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQ9dGhpcy5fcGFuZS5tb2RlbCgpLnRpbWVTY2FsZSgpO2lmKGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXRoaXMuX3BhbmUubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkscz10Lm1hcmtzKCksbj1pLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKSxyPWkudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLG89e2hvcnpMaW5lc1Zpc2libGU6bi52aXNpYmxlLnZhbHVlKCksdmVydExpbmVzVmlzaWJsZTpyLnZpc2libGUudmFsdWUoKSxob3J6TGluZXNDb2xvcjpuLmNvbG9yLnZhbHVlKCksdmVydExpbmVzQ29sb3I6ci5jb2xvci52YWx1ZSgpLGhvcnpMaW5lU3R5bGU6bi5zdHlsZS52YWx1ZSgpLHZlcnRMaW5lU3R5bGU6ci5zdHlsZS52YWx1ZSgpLHByaWNlTWFya3M6ZS5tYXJrcygpLHRpbWVNYXJrczpudWxsIT09cz9zOltdfTtyZXR1cm4gdGhpcy5fcmVuZGVyZXIuc2V0RGF0YShvKSx0aGlzLl9yZW5kZXJlcn19Y2xhc3MgJGggZXh0ZW5kcyB1ci5EYXRhU291cmNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZX1pZCgpe3JldHVybiJncmlkIn1wYW5lVmlld3MoZSl7cmV0dXJuIGUubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP1tuZXcgcWgoZSldOm51bGx9bmFtZSgpe3JldHVybiJHcmlkIn1tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkdyaWRDb250ZXh0TWVudSJ9fXZhciBZaD1pKDQ0MTgwNyksS2g9aSgyNjA2OSk7ZnVuY3Rpb24gWGgoZSl7Y29uc3QgdD1lO3QudmVydEdyaWRQcm9wZXJ0aWVzPXQudmVydEdyaWRQcm9wZXJ0aWVzPz8oMCxZaC5kZWZhdWx0KSh0LmdyaWRQcm9wZXJ0aWVzKSx0LmhvcnpHcmlkUHJvcGVydGllcz10LmhvcnpHcmlkUHJvcGVydGllcz8/KDAsWWguZGVmYXVsdCkodC5ncmlkUHJvcGVydGllcyk7Y29uc3QgaT10LnZlcnRHcmlkUHJvcGVydGllcyxzPXQuaG9yekdyaWRQcm9wZXJ0aWVzO3ZvaWQgMD09PWk/LnN0eWxlJiZ2b2lkIDA9PT1zPy5zdHlsZSYmKGkmJihpLnN0eWxlPUtoLkxJTkVTVFlMRV9TT0xJRCkscyYmKHMuc3R5bGU9S2guTElORVNUWUxFX1NPTElEKSk7Y29uc3Qgbj10LmdyaWRMaW5lc01vZGU7dm9pZCAwIT09biYmKGkmJihpLnZpc2libGU9ImJvdGgiPT09bnx8InZlcnQiPT09bikscyYmKHMudmlzaWJsZT0iYm90aCI9PT1ufHwiaG9yeiI9PT1uKSxkZWxldGUgdC5ncmlkTGluZXNNb2RlKX12YXIgWmg9aSgxMjE0NzkpO2NsYXNzIEpoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dCx0aGlzLl9wcmljZVNjYWxlPWksdGhpcy5fcHJpY2VQcm92aWRlcj1zLHRoaXMuX3Byb3BlcnRpZXM9ZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzfXNldEhpdFRlc3REYXRhKGUpe3RoaXMuX2hpdFRlc3REYXRhPWV9c2V0WENvb3JkKGUpe3RoaXMuX3hDb29yZD1lfWlnbm9yZUFsaWdubWVudCgpe3JldHVybiEwfWFkZGl0aW9uYWxQYWRkaW5nKGUpe3JldHVybiAwfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LGkpe2lmKGUudmlzaWJsZT0hMSx0LnZpc2libGU9ITEsdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXRoaXMuX3ByaWNlU2NhbGUsbj1zLm1haW5Tb3VyY2UoKSxyPW51bGwhPT1uP24uZmlyc3RWYWx1ZSgpOm51bGwKO2lmKCF0aGlzLl9pc1Zpc2libGUoKXx8cy5pc0VtcHR5KCl8fG51bGw9PT1yKXJldHVybjtjb25zdCBvPXRoaXMuX2N1cnJlbnRQcmljZShzKTtpZihudWxsPT09bylyZXR1cm47aS5iYWNrZ3JvdW5kPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KSh0aGlzLl9iZ0NvbG9yKCkpLGkudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3IoaS5iYWNrZ3JvdW5kKTtjb25zdCBhPXRoaXMuYWRkaXRpb25hbFBhZGRpbmcocy5mb250U2l6ZSgpKTtpLmFkZGl0aW9uYWxQYWRkaW5nVG9wPWEsaS5hZGRpdGlvbmFsUGFkZGluZ0JvdHRvbT1hLGkuY29vcmRpbmF0ZT1zLnByaWNlVG9Db29yZGluYXRlKG8sciksZS50ZXh0PXMuZm9ybWF0UHJpY2UobyxyKSxlLnZpc2libGU9ITAsdC52aXNpYmxlPSEwLHQuaGl0VGVzdERhdGE9dGhpcy5faGl0VGVzdERhdGEsdC54Q29vcmQ9dGhpcy5feENvb3JkfV9jdXJyZW50UHJpY2UoZSl7cmV0dXJuIHRoaXMuX3ByaWNlUHJvdmlkZXIoZSl9fWNsYXNzIFFoIGV4dGVuZHMgSmh7YWRkaXRpb25hbFBhZGRpbmcoZSl7cmV0dXJuIDIvMTIqZX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpO3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dQcmljZVNjYWxlQ3Jvc3NoYWlyTGFiZWwudmFsdWUoKSYmKHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09ZSkmJihlPz90aGlzLl9zb3VyY2UucGFuZSk9PT10aGlzLl9wYW5lfV9jdXJyZW50UHJpY2UoZSl7Y29uc3QgdD1ULmNyb3NzaGFpckxvY2sudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXQmJjE9PT10LnR5cGU/dGhpcy5fcGFuZT09PXRoaXMuX3NvdXJjZS5sb2NrZWRQYW5lKCk/dC5wcmljZTpudWxsOnN1cGVyLl9jdXJyZW50UHJpY2UoZSl9X2JnQ29sb3IoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuIHRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP2UuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyay52YWx1ZSgpOmUuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yTGlnaHQudmFsdWUoKX1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtjb25zdCBzPXQudmlzaWJsZTtzdXBlci5fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKSx0aGlzLl9zb3VyY2UuaXNIb3ZlcmVkKCk/dC5iYWNrZ3JvdW5nPXRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS02MDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktNjUwIl06dC5iYWNrZ3JvdW5nPXZvaWQgMCxzfHwodC52aXNpYmxlPXMpfX1jbGFzcyBlZCBleHRlbmRzIEpoe19pc1Zpc2libGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3NvdXJjZS5tZWFzdXJlUGFuZSgpLnZhbHVlKCl9X2JnQ29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbi52YWx1ZSgpfX12YXIgdGQ9aSg0MjM5MDApLGlkPWkoODYyOTUxKSxzZD1pKDU4NjE2NSksbmQ9aSg1NTg0NTUpLHJkPWkoODIyNzk1KSxvZD1pKDcyMTA0MiksYWQ9aSg2MjE5MjYpO2Z1bmN0aW9uIGxkKGUsdCl7Y29uc3R7ZGF0YVNvdXJjZTpzLHk6bixkaXNhYmxlZDpyLGFuYWx5dGljc09wdDp7bWV0aG9kOm8sc291cmNlOmEsYWN0aW9uU291cmNlOmwsZ2FPcmlnaW46Y319PXQsaD1zLnByaWNlU2NhbGUoKSxkPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ofHxoLmlzUGVyY2VudGFnZSgpfHxoLmlzSW5kZXhlZFRvMTAwKCl8fG51bGw9PT1kKXJldHVybiBudWxsO2NvbnN0IHU9aC5jb29yZGluYXRlVG9QcmljZShuLGQpO2lmKG51bGw9PT11KXJldHVybiBudWxsO2NvbnN0IF89cy5mb3JtYXR0ZXIoKS5mb3JtYXQodSksbT0oMCxJby5pc1N5bWJvbFNvdXJjZSkocyk/cy5zeW1ib2xUaXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCwhMCk6cy50aXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx7fSwhMCksZz17bGFiZWw6KDAsc2QuaGFzVXN1YWxBbGVydFBsb3RzKShzKT9wLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bSxwcmljZTpffX0saSg3MTU4MzgpKTpwLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bX19LGkoOTcxODgpKSxzdGF0TmFtZToiQWRkQWxlcnRPblNvdXJjZSIsaWNvbklkOiJBbGVydC5BZGQiLHNob3J0Y3V0SGludDooMCxLLmh1bWFuUmVhZGFibGVIYXNoKShLLk1vZGlmaWVycy5BbHQrNjUpLGRpc2FibGVkOnJ9O3JldHVybiByfHwoZy5vbkV4ZWN1dGU9YXN5bmMoKT0+e2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCk7KDAsb2QudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkodC5zeW1ib2woKSxvLGEpOygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+KGFzeW5jKCk9Pntjb25zdCB0PXtkYXRhU291cmNlSHViOmUubW9kZWwoKSxzaWxlbnQ6ITAsYWN0aW9uU291cmNlOmwsbWV0aG9kOm8sc291cmNlOmF9OygwLHJpLmlzTGluZVRvb2wpKHMpP3QuZHJhd2luZz1zOih0LnNlcmllcz1zLHQudmFsdWU9KDAsbmQucm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb24pKHMsdSkpLCgwLHJkLmludm9rZUFsZXJ0RWRpdG9yKSh0KX0pKCkpLHtmZWF0dXJlOiJhbGVydCIsc291cmNlOmN9KX0pLG5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQWxlcnQuQWRkIixvcHRpb25zOmd9KX12YXIgY2QsaGQ9aSg5MzcwOTgpLGRkPWkoNTQzNTcwKTtjbGFzcyB1ZCBleHRlbmRzIG1oLlBhbmVQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoZSx0LHMpLHRoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsLHRoaXMuX2hhc0FjdGlvbnM9ITEsdGhpcy5fZ2FPcmlnaW49IkNIIG1lbnUiLHRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXc9ZSxlLnNldFBhbmVSZW5kZXJlckxhYmVsSWNvbigwKSx0aGlzLl9jcm9zc2hhaXI9dCx0aGlzLl9zY2FsZT1pLHRoaXMuX29wdGlvbnM9bix0aGlzLl91cGRhdGVHYU9yaWdpbigpLAp0aGlzLl9icm9rZXJTZXJ2aWNlU3Bhd249dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPy50cmFkaW5nQnJva2VyU2VydmljZS5zcGF3bigpLHRoaXMuX2Jyb2tlclNlcnZpY2VTcGF3bj8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsfSkse29uY2U6ITB9KX1kZXN0cm95KCl7dGhpcy5fYnJva2VyU2VydmljZVNwYXduPy5kZXN0cm95KCl9X3VwZGF0ZUltcGwoZSl7Y29uc3QgdD10aGlzLl9jcm9zc2hhaXIueSxpPXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxuPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkud2lkdGgoKSxyPXRoaXMuX2Nyb3NzaGFpci5tb2RlbCgpLnByaWNlQXhpc1JlbmRlcmVyT3B0aW9ucygpLG89aSsyKnRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXcuYWRkaXRpb25hbFBhZGRpbmcoaSkrci5wYWRkaW5nVG9wK3IucGFkZGluZ0JvdHRvbSxhPW8sbD10LW8vMixjPXRoaXMuX2Nyb3NzaGFpci5wYW5lLGg9dGhpcy5fbWFpbkRhdGFTb3VyY2VPblBhbmUoKSxkPWgmJmguc3ltYm9sU291cmNlKCksdT0hIWQmJihkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCl8fGQuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpKTtpZih0aGlzLl91cGRhdGVHYU9yaWdpbigpLG51bGwhPT1oKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5wcmljZVNjYWxlKCk7cmV0dXJuIHQ/Lm1vZGUoKT8/bnVsbH0oaCksdD1oLmlkRm9yQWxlcnQoKSxpPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbj10aGlzLl9jcm9zc0hhaXJNZW51Q2FjaGVkU3RhdGUscj0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jcm9zc2hhaXJfbWVudSIpO251bGwhPT1uJiZuLmlkPT09dCYmKDAscy5kZWZhdWx0KShuLnByaWNlU2NhbGUsZSkmJm4uaXNDdXJyZW5jeU9yVW5pdENvbnZlcnRlZD09PXUmJm4uaXNJblJlcGxheT09PWkmJm4uaXNNZW51RW5hYmxlZD09PXJ8fCh0aGlzLl91cGRhdGVUb29sdGlwQW5kQWN0aW9uc0F2YWlsYWJpbGl0eShoLGUsdSksdGhpcy5fY3Jvc3NIYWlyTWVudUNhY2hlZFN0YXRlPXtpZDp0LHByaWNlU2NhbGU6ZSxpc0N1cnJlbmN5T3JVbml0Q29udmVydGVkOnUsaXNJblJlcGxheTppLGlzTWVudUVuYWJsZWQ6cn0pfW51bGwhPT1oJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoaCkmJmguc3ltYm9sKCk7Y29uc3QgcD1udWxsIT09YyYmKGMubWF4aW1pemVkKCkudmFsdWUoKXx8IWMuY29sbGFwc2VkKCkudmFsdWUoKSkmJnRoaXMuX2hhc0FjdGlvbnM7dGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRQYW5lTGFiZWxWaXNpYmxlKHApO2NvbnN0IF89dGhpcy5fcG9zaXRpb24oKTtpZihudWxsIT09Xyl7Y29uc3QgZT0wLHQ9bi1hLGk9Qm9vbGVhbihkZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnZhbHVlKCkpLHM9aT90aGlzLl9jcm9zc2hhaXIueDp2b2lkIDAscj12b2lkIDAhPT1zP3MtYS8yOiJsZWZ0Ij09PV8/ZTp0LGM9dm9pZCAwIT09cz9zK2EvMjoibGVmdCI9PT1fP2UrYTp0K2EsaD0oMCxQdC5ib3gpKG5ldyBQdC5Qb2ludChyLGwpLG5ldyBQdC5Qb2ludChjLGwrbykpO3RoaXMuX2RhdGE9e2l0ZW1Cb3g6aCxjbGlja0hhbmRsZXI6dGhpcy5faGFuZGxlQ2xpY2suYmluZCh0aGlzLF8saSxoKX0sdGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRIaXRUZXN0RGF0YSh0aGlzLl9kYXRhKSx0aGlzLl9jcm9zc2hhaXJQcmljZUF4aXNWaWV3LnNldFhDb29yZChzKX1zdXBlci5fdXBkYXRlSW1wbChlKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zY2FsZX1fdXBkYXRlR2FPcmlnaW4oKXt0aGlzLl9nYU9yaWdpbj1Cb29sZWFuKGRkLnNob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSk/IkNIIG1lbnUgY3Vyc29yIjoiQ0ggbWVudSJ9X3VwZGF0ZVRvb2x0aXBBbmRBY3Rpb25zQXZhaWxhYmlsaXR5KGUsdCxpKXt0aGlzLl9oYXNBY3Rpb25zPSExO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSxuPXMmJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCkscj0haSYmZS5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmIXMsbz0hdGhpcy5fb3B0aW9ucy5kaXNhYmxlRHJhd0hvcml6TGluZU1lbnVBY3Rpb24sYT0haSYmZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpJiZudWxsIT10aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdCcm9rZXJTZXJ2aWNlLnZhbHVlKCkmJiFuO3RoaXMuX2hhc0FjdGlvbnM9YXx8cnx8b31faGFuZGxlQ2xpY2soZSx0LGkscyxuKXtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybiB2b2lkKDAsJG4uc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZToicGx1c01lbnUifSk7KDAsTXQudHJhY2tFdmVudCkodGhpcy5fZ2FPcmlnaW4sImNsaWNrIik7Y29uc3Qgcj10aGlzLl9tYWluRGF0YVNvdXJjZU9uUGFuZSgpLG89bnVsbCE9PXImJigwLElvLmlzU3ltYm9sU291cmNlKShyKT9yLnN5bWJvbCgpOm51bGwsYT17cGFnZVg6bi5wYWdlWCxwYWdlWTpuLnBhZ2VZLGNsaWVudFg6bi5jbGllbnRYLGNsaWVudFk6bi5jbGllbnRZLHNjcmVlblg6bi5zY3JlZW5YLHNjcmVlblk6bi5zY3JlZW5ZLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSxzeW1ib2w6b307JC5lbWl0KCJvblBsdXNDbGljayIsYSksdGhpcy5fZ2V0TWVudUl0ZW1zKGUpLnRoZW4oKHM9PntzLmxlbmd0aD4wJiZ0aGlzLl9zaG93Q29udGV4dE1lbnUocyx0LGksbixlKX0pKX1hc3luYyBfZ2V0TWVudUl0ZW1zKGUpewpjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2xJbmZvKCkscz10aGlzLl9vcHRpb25zLmRpc2FibGVUcmFkaW5nTWVudUFjdGlvbnM/bnVsbDp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdDaGFydENvbnRleHRNZW51U2VydmljZS52YWx1ZSgpPz9udWxsLG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkubWFpbkRhdGFTb3VyY2UoKSxyPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbz0hcixhPXImJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCksYz1uPT09dCYmISgwLGhkLmlzTm9uVHJhZGFibGVTeW1ib2xUeXBlKShpPy50eXBlKSYmbnVsbCE9PXMmJiFhLGg9bz90aGlzLl9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKTpQcm9taXNlLnJlc29sdmUoW10pLGQ9Yz90aGlzLl9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCk6UHJvbWlzZS5yZXNvbHZlKFtdKSx1PXRoaXMuX2NyZWF0ZUFkZEhvcml6b250YWxMaW5lTWVudUl0ZW0oKTtyZXR1cm4gUHJvbWlzZS5hbGwoW2gsZCx1XSkudGhlbigoKFtlLHQsaV0pPT57dC5sZW5ndGg+MCYmKDAsbC5lbnN1cmVOb3ROdWxsKShzKS50cmFja0V2ZW50KHRoaXMuX2dhT3JpZ2luLCJjbGljayIpO2NvbnN0IG49ZS5sZW5ndGg+MCYmdC5sZW5ndGg+MDtyZXR1cm5bLi4uZSxuP25ldyBlcy5TZXBhcmF0b3I6bnVsbCwuLi50LChlLmxlbmd0aD4wfHx0Lmxlbmd0aD4wKSYmaS5sZW5ndGg+MD9uZXcgZXMuU2VwYXJhdG9yOm51bGwsLi4uaV0uZmlsdGVyKChlPT5udWxsIT09ZSkpfSkpfV9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKXtpZihudWxsPT09dGhpcy5fY3Jvc3NoYWlyLnBhbmUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpO2lmKHguSW50ZXJ2YWwuaXNUaWNrcyh0KSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO2lmKCEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IG49dGhpcy5fY3Jvc3NoYWlyLnk7aWYodGhpcy5fb3B0aW9ucy5tZW51Rm9yTWFpblNvdXJjZU9ubHkpe2lmKGkuYWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpLnZhbHVlKCkmJmkuaXNWaXNpYmxlKCkpe2NvbnN0IGU9bGQodGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKSx0aGlzLl9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoaSxuLCExKSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsPT09ZT9bXTpbZV0pfXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pfWNvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkuc291cmNlc0J5R3JvdXAoKTtsZXQgbz0oImxlZnQiPT09ZT9yLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTpyLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCkpLmZpbHRlcigoZT0+KDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKSkuZmlsdGVyKChlPT5lLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpJiZlLmlzVmlzaWJsZSgpKSk7cmV0dXJuIG8ucmV2ZXJzZSgpLG89KDAsZy5tb3ZlVG9IZWFkKShvLHRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKSwoMCxpZC5maWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXMpKG8pLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBTZXQoZSksaT1bXTtmb3IoY29uc3QgZSBvZiBvKXtjb25zdCBzPWxkKHRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCksdGhpcy5fZ2V0QWRkQWxlcnRBY3Rpb25PcHRpb25zKGUsbiwhdC5oYXMoZSkpKTtudWxsIT09cyYmaS5wdXNoKHMpfXJldHVybiBpfSkpfV9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoZSx0LGkpe3JldHVybntkYXRhU291cmNlOmUseTp0LGRpc2FibGVkOmksYW5hbHl0aWNzT3B0OnttZXRob2Q6ImNyb3NzaGFpcl9tZW51Iixzb3VyY2U6ImNoYXJ0IixhY3Rpb25Tb3VyY2U6ImNyb3NzaGFpcl9tZW51IixnYU9yaWdpbjp0aGlzLl9nYU9yaWdpbn19fV9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIueSx0PXRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcz8udHJhZGluZ0NoYXJ0Q29udGV4dE1lbnVTZXJ2aWNlLnZhbHVlKCk/P251bGw7aWYobnVsbD09PXR8fG51bGw9PT10aGlzLl9jcm9zc2hhaXIucGFuZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO3JldHVybiEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpP1Byb21pc2UucmVzb2x2ZShbXSk6KDAsdGQuY3JlYXRlVHJhZGVDb250ZXh0KSh7c2VyaWVzOmksaXNNYWluQ2hhcnQ6ITEseTplfSkudGhlbigoZT0+dC5nZXRDaGFydENvbnRleHRNZW51QWN0aW9ucyhlLHtvbmx5TWFpbkFjdGlvbnM6ITAsaGlkZU5vdEV4ZWN1dGFibGVBY3Rpb246ITAsZ2FPcmlnaW46dGhpcy5fZ2FPcmlnaW59KSkpfWFzeW5jIF9jcmVhdGVBZGRIb3Jpem9udGFsTGluZU1lbnVJdGVtKCl7aWYobnVsbD09PXRoaXMuX2Nyb3NzaGFpci5wYW5lKXJldHVybltdO2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09ZSlyZXR1cm5bXTtjb25zdCB0PXRoaXMuX2Nyb3NzaGFpci55LGk9YXdhaXQgdGhpcy5fZ2V0QWN0aW9uQWRkSG9yaXpvbnRhbExpbmUoe3NvdXJjZTplLHk6dCxwYW5lOnRoaXMuX2Nyb3NzaGFpci5wYW5lfSkKO3JldHVybiBudWxsPT09aT9bXTpbaV19YXN5bmMgX2dldEFjdGlvbkFkZEhvcml6b250YWxMaW5lKGUpe2lmKHRoaXMuX29wdGlvbnMuZGlzYWJsZURyYXdIb3JpekxpbmVNZW51QWN0aW9uKXJldHVybiBudWxsO2NvbnN0e3NvdXJjZTp0LHk6aSxwYW5lOnN9PWUsbj10aGlzLl9nZXRWYWx1ZSh0LGkpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0e2NyZWF0ZURyYXdIb3Jpem9udGFsTGluZUFjdGlvbjpyfT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcih0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHMse2luZGV4OjAscHJpY2U6bn0pfV9nZXRWYWx1ZShlLHQpe2NvbnN0IGk9ZS5wcmljZVNjYWxlKCkscz1lLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1zP251bGw6aS5jb29yZGluYXRlVG9QcmljZSh0LHMpfV9zaG93Q29udGV4dE1lbnUoZSx0LGkscyxuKXtjb25zdCByPSJsZWZ0Ij09PW47c2V0VGltZW91dCgoKCk9Pntjb25zdCBuPXMuY2xpZW50WC1zLmxvY2FsWCxvPXMuY2xpZW50WS1zLmxvY2FsWSxhPWkubWluLngrbixjPWkubWF4LngrbixoPWkubWluLnkrbyxkPWMtYSx1PWkubWF4Lnkrby1oLHA9dD9ULmNyb3NzaGFpckxvY2sudmFsdWUoKTp2b2lkIDA7aWYodm9pZCAwIT09cCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKHRoaXMuX2Nyb3NzaGFpci5pbmRleCkpO1QuY3Jvc3NoYWlyTG9jay5zZXRWYWx1ZSh7dHlwZToxLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSx0aW1lOmUsbW9kZWxJZDp0aGlzLl9jaGFydE1vZGVsLmlkKCkscGFuZUlkOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3Jvc3NoYWlyLnBhbmUpLmlkKCl9KX1OaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoZSx7Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFksYm94Ont4OmEsdzpkLHk6aCxoOnV9LGF0dGFjaFRvWEJ5OnQ/ImF1dG8iOnI/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImF1dG8tc3RyaWN0IixtYXJnaW5YOnQ/MDotZH0se3N0YXROYW1lOnQ/IkNvbnRleHRQbHVzTWVudSI6IlNjYWxlUGx1c01lbnUifSx7bWVudU5hbWU6IkNyb3NzaGFpck1lbnVWaWV3In0sKCgpPT57dm9pZCAwIT09cCYmVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHApfSkpfSkpfV9tYWluRGF0YVNvdXJjZU9uUGFuZSgpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmU7cmV0dXJuIG51bGwhPT1lP2UubWFpbkRhdGFTb3VyY2UoKTpudWxsfX1jbGFzcyBwZCBleHRlbmRzIEdoLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyP251bGw6bmV3IE1pLkhpdFRlc3RSZXN1bHQoTWkuSGl0VGFyZ2V0LkN1c3RvbSx7Y2xpY2tIYW5kbGVyOnRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyLHRhcEhhbmRsZXI6dGhpcy5fZGF0YS5jbGlja0hhbmRsZXJ9KX1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUsaT10aGlzLl9kYXRhLmhvcnpMaW5lc1Zpc2libGU7aWYoIXQmJiFpKXJldHVybjtjb25zdHtjb250ZXh0OnMsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cixiaXRtYXBTaXplOm99PWU7cy5saW5lV2lkdGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuX2RhdGEubGluZVdpZHRoKm4pKSxzLnN0cm9rZVN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixzLmxpbmVDYXA9ImJ1dHQiLCgwLERpLnNldExpbmVTdHlsZSkocyx0aGlzLl9kYXRhLmxpbmVTdHlsZSk7Y29uc3QgYT1NYXRoLnJvdW5kKHRoaXMuX2RhdGEueCpuKSxsPU1hdGgucm91bmQodGhpcy5fZGF0YS55KnIpLGM9TWF0aC5jZWlsKG8ud2lkdGgqbiksaD1NYXRoLmNlaWwoby5oZWlnaHQqcik7dCYmYT49MCYmKDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkocyxhLDAsaCksaSYmbD49MCYmKDAsRGkuZHJhd0hvcml6b250YWxMaW5lKShzLGwsMCxjKSx0aGlzLl9kYXRhLmRyYXdDZW50ZXImJihzLmJlZ2luUGF0aCgpLHMuYXJjKGEsbCxNYXRoLnJvdW5kKDMqbiksMCwyKk1hdGguUEksITApLHMuZmlsbFN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsKCkpLHRoaXMuX2RhdGEuc2Npc3NvcnMmJmZ1bmN0aW9uKGUsdCxpKXtjb25zdHtjb250ZXh0OnMsYml0bWFwU2l6ZTpuLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm99PWUsYT0yNCpyLGw9TWF0aC5yb3VuZCh0LWEvMik7bGV0IGM9TWF0aC5yb3VuZChpLWEvMik7aWYoYzwwKWM9MDtlbHNle2NvbnN0IGU9bi5oZWlnaHQtYTtjPmUmJihjPWUpfXMudHJhbnNsYXRlKGwsYykscy5zY2FsZShyLG8pLHMuZmlsbFN0eWxlPSIjMGYwZjBmIixzLmZpbGwoX2QpLHMuc3Ryb2tlU3R5bGU9IiNmZmYiLHMubGluZVdpZHRoPTEscy5zdHJva2UoX2QpfShlLGEsbCl9fSFmdW5jdGlvbihlKXsKZS5QYXRoPSJtMTUuNjggMy43Mi0zLjgyIDUuNTItMy44My01LjUyLS4yOC0uNDItLjQyLjNhMi44NCAyLjg0IDAgMCAwLS42OCAzLjkybDMuMjcgNC43My0xLjE2IDEuNjhhMy4zNCAzLjM0IDAgMCAwLTQuMjYgMy4yMiAzLjM0IDMuMzQgMCAwIDAgMy4zMiAzLjM1IDMuMzQgMy4zNCAwIDAgMCAzLjA4LTQuNmwxLTEuNDQgMS4xMyAxLjYyYTMuMzQgMy4zNCAwIDAgMCAzLjE1IDQuNDJjMS44NCAwIDMuMzItMS41IDMuMzItMy4zNWEzLjM0IDMuMzQgMCAwIDAtNC40Mi0zLjE3bC0xLjIzLTEuNzggMy4yMi00LjY1YTIuODYgMi44NiAwIDAgMC0uNjktMy45NmwtLjQxLS4yOS0uMjkuNDJaTTcuODIgMTYuMjdjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS4zOS44Ny0uODYuODdhLjg3Ljg3IDAgMCAxLS44Ni0uODdjMC0uNS40LS44OC44Ni0uODhabTguMzYgMGMuNDcgMCAuODYuMzkuODYuODggMCAuNDgtLjQuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuMzktLjg4Ljg2LS44OFoiLGVbZS5TaXplPTI0XT0iU2l6ZSIsZS5GaWxsQ29sb3I9IiMwZjBmMGYiLGUuU3Ryb2tlQ29sb3I9IiNmZmYiLGVbZS5TdHJva2VXaWR0aD0xXT0iU3Ryb2tlV2lkdGgifShjZHx8KGNkPXt9KSk7Y29uc3QgX2Q9bmV3IFBhdGgyRCgibTE1LjY4IDMuNzItMy44MiA1LjUyLTMuODMtNS41Mi0uMjgtLjQyLS40Mi4zYTIuODQgMi44NCAwIDAgMC0uNjggMy45MmwzLjI3IDQuNzMtMS4xNiAxLjY4YTMuMzQgMy4zNCAwIDAgMC00LjI2IDMuMjIgMy4zNCAzLjM0IDAgMCAwIDMuMzIgMy4zNSAzLjM0IDMuMzQgMCAwIDAgMy4wOC00LjZsMS0xLjQ0IDEuMTMgMS42MmEzLjM0IDMuMzQgMCAwIDAgMy4xNSA0LjQyYzEuODQgMCAzLjMyLTEuNSAzLjMyLTMuMzVhMy4zNCAzLjM0IDAgMCAwLTQuNDItMy4xN2wtMS4yMy0xLjc4IDMuMjItNC42NWEyLjg2IDIuODYgMCAwIDAtLjY5LTMuOTZsLS40MS0uMjktLjI5LjQyWk03LjgyIDE2LjI3Yy40NyAwIC44Ni4zOS44Ni44OCAwIC40OC0uMzkuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuNC0uODguODYtLjg4Wm04LjM2IDBjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS40Ljg3LS44Ni44N2EuODcuODcgMCAwIDEtLjg2LS44N2MwLS41LjM5LS44OC44Ni0uODhaIik7Y29uc3QgbWQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXTtjbGFzcyBnZHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3JlbmRlcmVyRGF0YT17fSx0aGlzLl9yZW5kZXJlcj1uZXcgcGQodGhpcy5fcmVuZGVyZXJEYXRhKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9wYW5lPXR9dXBkYXRlKCl7fXJlbmRlcmVyKCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdD10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpLGk9KHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09dCkmJih0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlfHxlKSYmIXRoaXMuX3NvdXJjZS5saW5lc1Nob3VsZEJlSGlkZGVuKCkscz10aGlzLl9yZW5kZXJlckRhdGE7aWYoIWl8fG51bGw9PT10aGlzLl9wYW5lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fc291cmNlLnBhbmVGb3JQb2ludFNlbGVjdCgpLHI9dGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCksbz10Pz90aGlzLl9zb3VyY2UucGFuZSxhPXRoaXMuX3BhbmU9PT1vLGM9cnx8KG51bGwhPT1uP289PT1uJiZ0aGlzLl9wYW5lPT09bjphKTtpZihzLnNjaXNzb3JzPSExLGUmJihyfHx0aGlzLl9zb3VyY2UuaXNPbkhvdmVyZWRDaGFydFdpZGdldCgpKSYmYyl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NvdXJjZS5wb2ludFRvU2VsZWN0KCkpO3MuY29sb3I9dGhpcy5fc291cmNlLmxpbmVDb2xvcigpfHxtZCxyPyhzLmxpbmVXaWR0aD0yLHMuc2Npc3NvcnM9YSk6cy5saW5lV2lkdGg9MSxzLmxpbmVTdHlsZT1LaC5MSU5FU1RZTEVfU09MSUQscy5ob3J6TGluZXNWaXNpYmxlPSEwLHMudmVydExpbmVzVmlzaWJsZT0hMCxzLmRyYXdDZW50ZXI9ITEsInRpbWUiPT09ZT9zLmhvcnpMaW5lc1Zpc2libGU9ITE6InByaWNlIj09PWUmJihzLnZlcnRMaW5lc1Zpc2libGU9ITEpfWVsc2V7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLHQ9VC50b29sLnZhbHVlKCksaT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLG49aS5pc1RvdWNoJiYhaS5zdHlsdXMmJigoMCxtLmlzTGluZVRvb2xOYW1lKSh0KXx8KDAsVC50b29sSXNNZWFzdXJlKSh0KSk7bGV0IHI7cj1uP21kOmUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjb25zdCBhPWUuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnZhbHVlKCk7IW4mJmE+MCYmKHI9KDAsJGkuZ2VuZXJhdGVDb2xvcikocixhKSk7Y29uc3QgbD0hdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCkmJnRoaXMuX3BhbmU9PT1vJiYodGhpcy5fcGFuZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fcGFuZS5jb2xsYXBzZWQoKS52YWx1ZSgpKTtzLmNvbG9yPXIscy5ob3J6TGluZXNWaXNpYmxlPWwscy52ZXJ0TGluZXNWaXNpYmxlPSEwLHMubGluZVdpZHRoPWUuY2hpbGRzKCkud2lkdGgudmFsdWUoKSxzLmxpbmVTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkscy5kcmF3Q2VudGVyPW4mJnRoaXMuX3BhbmU9PT1vfXJldHVybiBzLng9dGhpcy5fc291cmNlLmxvY2tlZFgoKT8/dGhpcy5fc291cmNlLngscy55PXRoaXMuX3NvdXJjZS5sb2NrZWRZKCk/P3RoaXMuX3NvdXJjZS55LHRoaXMuX3JlbmRlcmVyfX12YXIgZmQ9aSgzNjk0NDApO2NvbnN0IFNkPXtiYWNrZ3JvdW5kQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSw3MCksYm9yZGVyQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSwyMCl9O2NsYXNzIHZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlciwKdGhpcy5fcmVjdGFuZ2xlPW51bGwsdGhpcy5fY3Jvc3NoYWlyPWV9dXBkYXRlKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIuc2VsZWN0aW9uKCk7bnVsbCE9PWUmJm51bGwhPT10aGlzLl9jcm9zc2hhaXIucGFuZT90aGlzLl9yZWN0YW5nbGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubG9naWNhbFJlY3RUb1BpeGVscyhlKTp0aGlzLl9yZWN0YW5nbGU9bnVsbH1yZW5kZXJlcigpe2lmKCF0aGlzLl9yZWN0YW5nbGUpcmV0dXJuIG51bGw7Y29uc3QgZT17YmFja2NvbG9yOlNkLmJhY2tncm91bmRDb2xvcixjb2xvcjpTZC5ib3JkZXJDb2xvcixmaWxsQmFja2dyb3VuZDohMCxsaW5ld2lkdGg6MSxwb2ludHM6W3RoaXMuX3JlY3RhbmdsZS5taW4sdGhpcy5fcmVjdGFuZ2xlLm1heF0sZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07cmV0dXJuIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fcmVuZGVyZXJ9fXZhciB5ZD1pKDIxMjM0NiksYmQ9aSg5NjkxNjgpLHdkPWkoODg0MjgpLENkPWkoNjY0ODE1KSxQZD1pKDQ3MDk4NiksVGQ9aSg3ODkxOTApLHhkPWkoNjYwMTYxKTtjb25zdCBNZD1wLnQobnVsbCx2b2lkIDAsaSgzMzgwOTMpKSxJZD1wLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxpKDU5NjE2OCkpLExkPSgwLE9sLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKCksQWQ9bmV3IHlkLlRpbWVTcGFuRm9ybWF0dGVyLGtkPSgwLE9sLmdldFZvbHVtZUZvcm1hdHRlcikoKSxEZD0oMCxYby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksRWQ9KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxSZD17YmdDb2xvclBvc2l0aXZlOigwLCRpLmdlbmVyYXRlQ29sb3IpKERkLDgwKSxiZ0NvbG9yTmVnYXRpdmU6KDAsJGkuZ2VuZXJhdGVDb2xvcikoRWQsODApLGNvbG9yUG9zaXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yTmVnYXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxsYWJlbEJnQ29sb3JQb3NpdGl2ZTpEZCxsYWJlbEJnQ29sb3JOZWdhdGl2ZTpFZH07dmFyIFZkLEJkOyFmdW5jdGlvbihlKXtlW2UuTWluQXJyb3dEaXN0YW5jZT01MF09Ik1pbkFycm93RGlzdGFuY2UifShWZHx8KFZkPXt9KSk7Y2xhc3MgTmR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ob3J6VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl92ZXJ0VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl9iZ1JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlcix0aGlzLl9sYWJlbFJlbmRlcmVyPW5ldyBQZC5UZXh0UmVuZGVyZXIsdGhpcy5fcDE9bnVsbCx0aGlzLl9wMj1udWxsLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dH11cGRhdGUoZSl7Y29uc3RbdCxpXT10aGlzLl9zb3VyY2UubWVhc3VyZVBvaW50cygpO2lmKHZvaWQgMD09PWkpcmV0dXJuIHRoaXMuX3AxPW51bGwsdm9pZCh0aGlzLl9wMj1udWxsKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLm1lYXN1cmVQYW5lKCkudmFsdWUoKSksbj10LnByaWNlLHI9aS5wcmljZSxvPWkuaW5kZXgtdC5pbmRleCxhPSgwLGJkLmZvcmNlTFRSU3RyKSgiIitvKSxjPSgwLGwuZW5zdXJlTm90TnVsbCkocy5tYWluRGF0YVNvdXJjZSgpKSxoPWMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1oKXJldHVybiB0aGlzLl9wMT1udWxsLHZvaWQodGhpcy5fcDI9bnVsbCk7Y29uc3QgZD10aGlzLl9zb3VyY2UubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZSh0LmluZGV4KSx1PXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkuaW5kZXgpLHA9cy5kZWZhdWx0UHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKG4saCksXz1zLmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUocixoKTt0aGlzLl9wMT1uZXcgUHQuUG9pbnQoZCxwKSx0aGlzLl9wMj1uZXcgUHQuUG9pbnQodSxfKTtjb25zdCBtPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZSh0LmluZGV4KSxnPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZShpLmluZGV4KTtsZXQgZj1udWxsO251bGwhPT1tJiZudWxsIT09ZyYmKGY9KGcudmFsdWVPZigpLW0udmFsdWVPZigpKS8xZTMpO2NvbnN0IFM9ci1uLHY9MTAwKlMvTWF0aC5hYnMobikseT10aGlzLl9wYW5lLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxiPXkmJigwLE9sLmdldFBpcEZvcm1hdHRlcikoeSksdz0oMCxsLmVuc3VyZU5vdE51bGwpKGMuZm9ybWF0dGVyKCkpLEM9KHcuZm9ybWF0Q2hhbmdlPy4ocixuKT8/dy5mb3JtYXQoUykpKyIgKCIrTGQuZm9ybWF0KE1hdGgucm91bmQoMTAwKnYpLzEwMCkrIikgIisoYj9iLmZvcm1hdChTKToiIiksUD1udWxsIT09Zj9BZC5mb3JtYXQoZik6bnVsbCxUPW51bGwhPT1QPyIsICIrKDAsYmQuc3RhcnRXaXRoTFRSKShQKToiIjtsZXQgeD0oMCxiZC5mb3JjZUxUUlN0cikoQykrIlxuIitNZC5mb3JtYXQoe2NvdW50OmF9KStUO2NvbnN0IE09dGhpcy5fc291cmNlLm1lYXN1cmVWb2x1bWUoKTtOdW1iZXIuaXNOYU4oTSl8fCh4Kz1gXG4ke0lkfSAke2tkLmZvcm1hdChNKX1gKTtjb25zdCBJPXI8bj9SZC5iZ0NvbG9yTmVnYXRpdmU6UmQuYmdDb2xvclBvc2l0aXZlLEw9cjxuP1JkLmNvbG9yTmVnYXRpdmU6UmQuY29sb3JQb3NpdGl2ZSxBPXI8bj9SZC5sYWJlbEJnQ29sb3JOZWdhdGl2ZTpSZC5sYWJlbEJnQ29sb3JQb3NpdGl2ZSxrPXtwb2ludHM6W3RoaXMuX3AxLHRoaXMuX3AyXSxsaW5ld2lkdGg6MCxmaWxsQmFja2dyb3VuZDohMCxjb2xvcjpJLGJhY2tjb2xvcjpJLGV4dGVuZExlZnQ6ITEsZXh0ZW5kUmlnaHQ6ITF9O3RoaXMuX2JnUmVuZGVyZXIuc2V0RGF0YShrKTtjb25zdCBEPXRoaXMuX3AxLmFkZCh0aGlzLl9wMikuc2NhbGVkKC41KTt7CmNvbnN0IGU9TWF0aC5yb3VuZChELnkpLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3AxLngsZSksaT1uZXcgUHQuUG9pbnQodGhpcy5fcDIueCxlKSxzPXtwb2ludHM6W3QsaV0sY29sb3I6TCxsaW5ld2lkdGg6MSxsaW5lc3R5bGU6S2guTElORVNUWUxFX1NPTElELGV4dGVuZGxlZnQ6ITEsZXh0ZW5kcmlnaHQ6ITEsbGVmdGVuZDp4ZC5MaW5lRW5kLk5vcm1hbCxyaWdodGVuZDpNYXRoLmFicyh0LngtaS54KT49NTA/eGQuTGluZUVuZC5BcnJvdzp4ZC5MaW5lRW5kLk5vcm1hbH07dGhpcy5faG9yelRyZW5SZW5kZXJlci5zZXREYXRhKHMpfXtjb25zdCBlPU1hdGgucm91bmQoRC54KSx0PW5ldyBQdC5Qb2ludChlLHRoaXMuX3AxLnkpLGk9bmV3IFB0LlBvaW50KGUsdGhpcy5fcDIueSkscz17cG9pbnRzOlt0LGldLGNvbG9yOkwsbGluZXdpZHRoOjEsbGluZXN0eWxlOktoLkxJTkVTVFlMRV9TT0xJRCxleHRlbmRsZWZ0OiExLGV4dGVuZHJpZ2h0OiExLGxlZnRlbmQ6eGQuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6TWF0aC5hYnModC55LWkueSk+PTUwP3hkLkxpbmVFbmQuQXJyb3c6eGQuTGluZUVuZC5Ob3JtYWx9O3RoaXMuX3ZlcnRUcmVuUmVuZGVyZXIuc2V0RGF0YShzKX1jb25zdCBFPXt4OjAseToxMH0sUj0uNSoodGhpcy5fcDEueCt0aGlzLl9wMi54KSxWPXRoaXMuX3AyLnksQj1uZXcgUHQuUG9pbnQoUixWKSxOPXtwb2ludHM6W0JdLHRleHQ6eCxjb2xvcjoiI0ZGRkZGRiIsaG9yekFsaWduOndkLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOndkLlZlcnRpY2FsQWxpZ24uTWlkZGxlLGZvbnQ6V2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxvZmZzZXRYOkUueCxvZmZzZXRZOkUueSxib2xkOiExLGl0YWxpYzohMSxmb250c2l6ZToxMixsaW5lU3BhY2luZzo4LGJhY2tncm91bmRDb2xvcjpBLGJveFBhZGRpbmdWZXJ0OjksYm94UGFkZGluZ0hvcno6OSxiYWNrZ3JvdW5kUm91bmRSZWN0OjR9O3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0RGF0YShOKTtjb25zdCBPPXRoaXMuX2xhYmVsUmVuZGVyZXIubWVhc3VyZSgpLFc9KDAsUGQuY2FsY3VsYXRlTGFiZWxQb3NpdGlvbikoTyx0aGlzLl9wMSx0aGlzLl9wMixFLHRoaXMuX3BhbmUuaGVpZ2h0KCkpO3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0UG9pbnRzKFtXXSl9cmVuZGVyZXIoKXtpZihudWxsPT09dGhpcy5fcDF8fG51bGw9PT10aGlzLl9wMilyZXR1cm4gbnVsbDtjb25zdCBlPW5ldyBUZC5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gZS5hcHBlbmQodGhpcy5fYmdSZW5kZXJlciksZS5hcHBlbmQodGhpcy5faG9yelRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fdmVydFRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fbGFiZWxSZW5kZXJlciksZX19IWZ1bmN0aW9uKGUpe2VbZS5MaWdodD0wXT0iTGlnaHQiLGVbZS5EYXJrPTFdPSJEYXJrIn0oQmR8fChCZD17fSkpO3ZhciBPZD1pKDQ1NzApO2NsYXNzIFdkIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3N2Z01hcD1uZXcgTWFwLHRoaXMuX2RhdGE9ZSx0aGlzLl9zdmdNYXAuc2V0KGUudGhlbWUsdGhpcy5fY3JlYXRlU3ZnUmVuZGVyZXIoZS50aGVtZSkpfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1zZXREYXRhKGUpe3RoaXMuX3N2Z01hcC5oYXMoZS50aGVtZSl8fHRoaXMuX3N2Z01hcC5zZXQoZS50aGVtZSx0aGlzLl9jcmVhdGVTdmdSZW5kZXJlcihlLnRoZW1lKSksdGhpcy5fZGF0YT1lfV9kcmF3SW1wbChlKXtjb25zdHtjb250ZXh0OnQsbWVkaWFTaXplOml9PWUse3RoZW1lOnMseDpufT10aGlzLl9kYXRhLHI9dGhpcy5fc3ZnTWFwLmdldChzKTtpZighcilyZXR1cm47Y29uc3Qgbz1yLnZpZXdCb3goKSx7d2lkdGg6YSxoZWlnaHQ6bH09byxjPWEvMjtuK2M8MHx8bi1jPmkud2lkdGh8fCh0LnRyYW5zbGF0ZShuLWMsaS5oZWlnaHQtbCksci5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDpvfSkpfV9jcmVhdGVTdmdSZW5kZXJlcihlKXtjb25zdCB0PTE9PT1lP09kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIikpLnJlcGxhY2UoImxpbmVDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNDUwIikpOk9kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci13aGl0ZSIpKS5yZXBsYWNlKCJsaW5lQ29sb3IiLCgwLFhvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpKTtyZXR1cm4oMCxWaS5zdmdSZW5kZXJlcikodCl9fWNsYXNzIEZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX3JlbmRlcmVyPW5ldyBXZCh0aGlzLl9nZXRSZW5kZXJEYXRhKDApKX11cGRhdGUoKXt9cmVuZGVyZXIoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS52aXNpYmxlJiZ0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlLHQ9dGhpcy5fc291cmNlLmxvY2tlZFgoKSxpPTA9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZTtyZXR1cm4gZSYmaSYmbnVsbCE9PXQ/KHRoaXMuX3JlbmRlcmVyLnNldERhdGEodGhpcy5fZ2V0UmVuZGVyRGF0YSh0KzEpKSx0aGlzLl9yZW5kZXJlcik6bnVsbH1fZ2V0UmVuZGVyRGF0YShlKXtyZXR1cm57eDplLHRoZW1lOnRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpPzE6MH19fWNvbnN0IEhkPTMwO2NsYXNzIHpke2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9yZW5kZXJlcj1uZXcgZmQuUmVjdGFuZ2xlUmVuZGVyZXIsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsdGhpcy5fcGFuZT10LHRoaXMuX21vZGVsPWl9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fcmVuZGVyZXIuc2V0RGF0YShudWxsKSwKIXRoaXMuX3BhbmV8fCF0aGlzLl9zb3VyY2UudmlzaWJsZSlyZXR1cm47aWYoIXRoaXMuX3NvdXJjZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5sYXN0VmFsdWVEYXRhKHZvaWQgMCwhMCwhMCkuaW5kZXgpcmV0dXJuO2NvbnN0IGU9bmV3IFB0LlBvaW50KHRoaXMuX3NvdXJjZS5sb2NrZWRYKCk/P3RoaXMuX3NvdXJjZS54LDApLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3BhbmUud2lkdGgoKSx0aGlzLl9wYW5lLmhlaWdodCgpKSxpPXtiYWNrY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksZmlsbEJhY2tncm91bmQ6ITAsbGluZXdpZHRoOjAscG9pbnRzOltlLHRdLGRpc2FibGVJbnRlcmFjdGlvbnM6ITAsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07dGhpcy5fcmVuZGVyZXIuc2V0RGF0YShpKX19dmFyIFVkPWkoNzc5NTE2KSxHZD1pKDY0MDI5Mik7Y2xhc3MgamQgZXh0ZW5kcyBVZC5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX2RhdGVJdGVtPW5ldyBVZC5EYXRhV2luZG93SXRlbSgiIixwLnQobnVsbCx2b2lkIDAsaSg1MDc3MjkpKSwiIiksdGhpcy5fdGltZUl0ZW09bmV3IFVkLkRhdGFXaW5kb3dJdGVtKCIiLHAudChudWxsLHZvaWQgMCxpKDg2MjExOSkpLCIiKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fZGF0ZUl0ZW0pLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fdGltZUl0ZW0pfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31fdXBkYXRlSW1wbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlzRFdNKCk7aWYodGhpcy5fdGltZUl0ZW0uc2V0VmlzaWJsZSghZSksdGhpcy5fdGltZUl0ZW0uc2V0VmFsdWUoR2Qubm90QXZhaWxhYmxlKSx0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZShHZC5ub3RBdmFpbGFibGUpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47bGV0IHQ9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCk7aWYoISgwLGEuaXNOdW1iZXIpKHQpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybjt0PWUuaW5kZXh9Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVXNlclRpbWUodCk7bnVsbCE9PWkmJih0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSxlfHx0aGlzLl90aW1lSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC50aW1lRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSl9fXZhciBxZD1pKDkyNzE4Nyk7Y29uc3QgJGQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSxZZD1wLnQobnVsbCx7Y29udGV4dDoiUmVwbGF5In0saSgxNTc0MTcpKTtjbGFzcyBLZCBleHRlbmRzIHFkLlRpbWVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzPSExKXtzdXBlcihlKSx0aGlzLl9pbmRleFByb3ZpZGVyPWksdGhpcy5faGlnaGxpZ2h0ZWQ9cyx0aGlzLl9zb3VyY2U9dCx0aGlzLl9wcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXN9X2dldFRleHQoZSl7aWYodGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaW5kZXhUb1VzZXJUaW1lKGUpO3JldHVybiBudWxsIT09dD9gJHtZZH06ICR7dGhpcy5fbW9kZWwuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQodCl9YDoiIn1yZXR1cm4gc3VwZXIuX2dldFRleHQoZSl9X2dldEJnQ29sb3IoKXtpZih0aGlzLl9zb3VyY2UuaXNSZXBsYXlTZWxlY3Rpb24oKSlyZXR1cm4gJGQ7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9oaWdobGlnaHRlZD9lLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQ29tbW9uLnZhbHVlKCk6dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JEYXJrLnZhbHVlKCk6ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodC52YWx1ZSgpfV9nZXRJbmRleCgpe3JldHVybiB0aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlfHxudWxsIT09dGhpcy5fc291cmNlLmxvY2tlZFBhbmUoKT90aGlzLl9pbmRleFByb3ZpZGVyKCk6bnVsbH1faXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsLnZhbHVlKCl9fXZhciBYZCxaZD1pKDkyMjk2MiksSmQ9aSg4MzUzMyk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lV2lkdGg9MzZdPSJMaW5lV2lkdGgiLGVbZS5DaXJjbGVCb3JkZXJXaWR0aD0xXT0iQ2lyY2xlQm9yZGVyV2lkdGgiLGVbZS5BbmltYXRpb25EdXJhdGlvbj00ZTNdPSJBbmltYXRpb25EdXJhdGlvbiJ9KFhkfHwoWGQ9e30pKTt2YXIgUWQ9aSg1MDc2MDQpO2NvbnN0IGV1PSgwLCRpLmFwcGx5QWxwaGEpKFFkLmNvbG9ycy5jb2xvclJpcGVSZWQ1MDAsLjI1KSx0dT0oMCwkaS5hcHBseUFscGhhKShRZC5jb2xvcnMuY29sb3JSaXBlUmVkNTAwLC4wMyk7Y2xhc3MgaXV7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2lyY2xlUmVuZGVyZXI9bmV3IEpkLkNpcmNsZVJlbmRlcmVyLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2NpcmNsZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7CmNvbnN0IGU9dGhpcy5fc291cmNlLm9yaWdpblgoKSx0PXRoaXMuX3NvdXJjZS5vcmlnaW5ZKCk7TnVtYmVyLmlzRmluaXRlKGUpJiZOdW1iZXIuaXNGaW5pdGUodCk/dGhpcy5fY2lyY2xlUmVuZGVyZXIuc2V0RGF0YSh7Y2VudGVyOigwLFB0LnBvaW50KShlLHQpLHJhZGl1czoxOCxsaW5lV2lkdGg6MSxjb2xvcjp0dSxiYWNrQ29sb3I6ZXUsZGlzYWJsZUludGVyYWN0aW9uczohMH0pOnRoaXMuX2NpcmNsZVJlbmRlcmVyLnNldERhdGEobnVsbCl9fWNsYXNzIHN1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZXJzPW5ldyBNYXAsdGhpcy5fdG9vbHNGYWN0b3J5PW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnM9KDAsS28uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5fY3Jvc3NoYWlyLmlkKCkpO2xldCB0PSExO2NvbnN0IGk9QXJyYXkuZnJvbSh0aGlzLl9oaWdobGlnaHRlcnMua2V5cygpKTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KHMpKSl0LmFuaW1hdGlvblByb2dyZXNzKCk8MT8odC51cGRhdGVBbGxWaWV3cyhlKSxpLnB1c2godCkpOnQuZGVzdHJveT8uKCk7aS5sZW5ndGg+MD8odGhpcy5faGlnaGxpZ2h0ZXJzLnNldChzLGkpLHQ9ITApOnRoaXMuX2hpZ2hsaWdodGVycy5kZWxldGUocyl9dCYmdGhpcy5fY3Jvc3NoYWlyLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMuX2Nyb3NzaGFpcil9KSwyMCx7bGVhZGluZzohMH0pLHRoaXMuX2Nyb3NzaGFpcj1lLHRoaXMuX3ZpZXc9bmV3IGl1KGUpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2N1cnJlbnRUb29sLnN1YnNjcmliZSgoZT0+eygwLFQudG9vbElzRGVtb25zdHJhdGlvbikoZSkmJm51bGw9PT10aGlzLl90b29sc0ZhY3RvcnkmJih0aGlzLl90b29sc0ZhY3Rvcnk9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKChhc3luYygpPT57Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDcwOTA5KSxpLmUoNzc0NzkpXSkudGhlbihpLmJpbmQoaSwzOTc4OTcpKTtyZXR1cm4odCxpLHMsbik9Pm5ldyBlLkxpbmVUb29sRGVtb25zdHJhdGlvbkhpZ2hsaWdodGVyKHQsaSxzLG4pfSkoKSkpfSkse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXtmb3IoY29uc3RbLGVdb2YgdGhpcy5faGlnaGxpZ2h0ZXJzKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95Py4oKTt0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCl9dXBkYXRlKGUpe3RoaXMuX3ZpZXcudXBkYXRlKGUpO2Zvcihjb25zdFssdF1vZiB0aGlzLl9oaWdobGlnaHRlcnMpZm9yKGNvbnN0IGkgb2YgdClpLnVwZGF0ZUFsbFZpZXdzKGUpfXBhbmVWaWV3cyhlKXtjb25zdCB0PVtdO2U9PT10aGlzLl9jcm9zc2hhaXIucGFuZSYmKDAsVC50b29sSXNEZW1vbnN0cmF0aW9uKShULmN1cnNvclRvb2wudmFsdWUoKSkmJnQucHVzaCh0aGlzLl92aWV3KTtmb3IoY29uc3QgaSBvZiB0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KGUpPz9bXSl7Y29uc3Qgcz1pLnBhbmVWaWV3cyhlKTtzJiZ0LnB1c2goLi4ucyl9cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVycy5zaXplPjAmJnRoaXMuX3Rocm90dGxlVXBkYXRlSGlnaGxpZ2h0ZXJzKCksdH1jcmVhdGVIaWdobGlnaHRlcigpe2NvbnN0IGU9dGhpcy5fdG9vbHNGYWN0b3J5Py5nZXQoKTtpZighZSlyZXR1cm47dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI9ZSh0aGlzLl9jcm9zc2hhaXIubW9kZWwoKSxldSwzNiw0ZTMpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSksaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpbkRhdGFTb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9hY3RpdmVIaWdobGlnaHRlci5zZXRPd25lclNvdXJjZShpKTtjb25zdCBzPXRoaXMuX2hpZ2hsaWdodGVycy5nZXQodCk/P1tdO3MucHVzaCh0aGlzLl9hY3RpdmVIaWdobGlnaHRlciksdGhpcy5faGlnaGxpZ2h0ZXJzLnNldCh0LHMpfWFkZEhpZ2hsaWdodGVyUG9zaXRpb24oZSl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmFkZFBvaW50KGUpLHRoaXMudXBkYXRlKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9jcm9zc2hhaXIuaWQoKSkpfWlzVGhlcmVVbmZpbmlzaGVkSGlnaGxpZ2h0ZXIoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyfWZpbmlzaEhpZ2hsaWdodGVyKCl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmZpbmlzaCgpLHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnMoKX19Y29uc3QgbnU9e21lbnVFbmFibGVkOiExLG1lbnVGb3JNYWluU291cmNlT25seTohMSxkaXNhYmxlVHJhZGluZ01lbnVBY3Rpb25zOiExLGRpc2FibGVEcmF3SG9yaXpMaW5lTWVudUFjdGlvbjohMX07bGV0IHJ1PTA7Y29uc3Qgb3U9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5Dcm9zc2hhaXIiKTtjbGFzcyBhdSBleHRlbmRzIHVyLkRhdGFTb3VyY2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5wYW5lPW51bGwsdGhpcy5wcmljZT1OYU4sdGhpcy5pbmRleD1OYU4sdGhpcy52aXNpYmxlPSEwLHRoaXMuYXJlTGluZXNWaXNpYmxlPSEwLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLl9sb2NrRGF0YT1udWxsLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb249bmV3IHN1KHRoaXMpLHRoaXMuX21lYXN1cmVQYW5lPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZT1uZXcgV2Vha01hcCx0aGlzLl9zdGFydE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2VuZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPW51bGwsCnRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ITEsdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldD0hMSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9bmV3IGguV2F0Y2hlZFZhbHVlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3NlbGVjdGlvblBhbmU9bnVsbCx0aGlzLl9zZWxlY3Rpb25WaWV3PW5ldyB2ZCh0aGlzKSx0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fdGltZUxvY2tQYW5lVmlldz1udWxsLHRoaXMuX2Nyb3NzaGFpclBhbmVWaWV3Q2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlPW5ldyBXZWFrTWFwLHRoaXMuX3ByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTix0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX21vdmVkRGVsZWdhdGU9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsLHRoaXMuX3ZvbHVtZUNhbGN1bGF0b3I9bnVsbCx0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQ9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxudSxpfHx7fSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGpkKGUpLHRoaXMuc2V0U2VsZWN0aW9uRW5hYmxlZCghMSk7Y29uc3Qgcz1lPT50PT50PT09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpKS5kZWZhdWx0UHJpY2VTY2FsZSgpP2UoKTpudWxsO3RoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyPWU9Pntjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lKTtpZihlPT09dC5kZWZhdWx0UHJpY2VTY2FsZSgpKXJldHVybiB0aGlzLnByaWNlO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmRlZmF1bHRQcmljZVNjYWxlKCkubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUodGhpcy5wcmljZSxpKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5tYWluU291cmNlKCkpLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PW4/bnVsbDplLmNvb3JkaW5hdGVUb1ByaWNlKHMsbil9LHRoaXMuX3N0YXJ0TWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLnByaWNlKSksdGhpcy5fZW5kTWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpKS5wcmljZSkpLHRoaXMuX3Byb3BlcnRpZXM9dDt0aGlzLl90aW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PnRoaXMuYXBwbGllZEluZGV4KCkpLCExKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLmluZGV4KSwhMCksdGhpcy5fZW5kTWVhc3VyZVRpbWVBeGlzVmlldz1uZXcgS2QoZSx0aGlzLCgoKT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkpLmluZGV4KSwhMCksdGhpcy5fY3Vyc29yVG9vbD1ULmN1cnNvclRvb2wuc3Bhd24oKSxlLnJlYWRPbmx5KCl8fHRoaXMuX2N1cnNvclRvb2wuc3Vic2NyaWJlKChlPT50aGlzLmFyZUxpbmVzVmlzaWJsZT0iYXJyb3ciIT09ZSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2Nyb3NzaGFpckxvY2s9VC5jcm9zc2hhaXJMb2NrLnNwYXduKCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvcj1kZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnNwYXduKCk7Y29uc3Qgbj0oKT0+e3RoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9O3RoaXMuX2Nyb3NzaGFpckxvY2suc3Vic2NyaWJlKG4pLHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3Iuc3Vic2NyaWJlKG4pfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdm9sdW1lQ2FsY3VsYXRvciYmdGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksdGhpcy5fY3Jvc3NoYWlyTG9jay5kZXN0cm95KCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci5kZXN0cm95KCksdGhpcy5fY3Vyc29yVG9vbC5kZXN0cm95KCksdGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fY3Jvc3NoYWlyRGVtb25zdHJhdGlvbi5kZXN0cm95KCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3N1YnNjcmliZWQ9ITEpLHRoaXMuX21vZGVsLnBhbmVzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKGU9PmUuZm9yRWFjaCgoZT0+ZS5kZXN0cm95Py4oKSkpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmNsZWFyKCksc3VwZXIuZGVzdHJveSgpfW5hbWUoKXtyZXR1cm4iQ3Jvc3NoYWlyIn1tb3ZlZCgpe3JldHVybiB0aGlzLl9tb3ZlZERlbGVnYXRlfW9yaWdpblgoKXtyZXR1cm4gdGhpcy5fb3JpZ2luWH1vcmlnaW5ZKCl7cmV0dXJuIHRoaXMuX29yaWdpbll9c2F2ZU9yaWdpbkNvb3JkcyhlLHQpe3RoaXMuX29yaWdpblg9ZSx0aGlzLl9vcmlnaW5ZPXR9Y2xlYXJPcmlnaW5Db29yZHMoKXt0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTn1jdXJyZW50UG9pbnQoKXtyZXR1cm4gbmV3IFB0LlBvaW50KHRoaXMueCx0aGlzLnkpfW1vZGVsKCl7CnJldHVybiB0aGlzLl9tb2RlbH1hcHBsaWVkSW5kZXgoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS5pbmRleD8/dGhpcy5pbmRleH1sb2NrZWRYKCl7cmV0dXJuIHRoaXMuX2dldExvY2tEYXRhKCkueENvb3JkPz9udWxsfWxvY2tlZFkoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS55Q29vcmQ/P251bGx9bG9ja2VkUGFuZSgpe2NvbnN0IGU9VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1lfHwxIT09ZS50eXBlP251bGw6dGhpcy5fbW9kZWwuaWQoKT09PWUubW9kZWxJZD90aGlzLl9tb2RlbC5wYW5lRm9ySWQoZS5wYW5lSWQpOnRoaXMuX21vZGVsLm1haW5QYW5lKCl9aW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpe3RoaXMuX2xvY2tEYXRhPW51bGx9c3RhcnRNZWFzdXJlUG9pbnQoKXtyZXR1cm4gdGhpcy5fc3RhcnRNZWFzdXJlUG9pbnR8fG51bGx9ZW5kTWVhc3VyZVBvaW50KCl7cmV0dXJuIHRoaXMuX2VuZE1lYXN1cmVQb2ludHx8bnVsbH1tZWFzdXJlVm9sdW1lKCl7aWYobnVsbD09PXRoaXMuX3ZvbHVtZUNhbGN1bGF0b3IpcmV0dXJuIE5hTjtjb25zdFtlLHRdPXRoaXMubWVhc3VyZVBvaW50cygpO3JldHVybiB2b2lkIDA9PT10P05hTjp0aGlzLl92b2x1bWVDYWxjdWxhdG9yLnZvbHVtZShlLmluZGV4LHQuaW5kZXgpfW1lYXN1cmVQYW5lKCl7cmV0dXJuIHRoaXMuX21lYXN1cmVQYW5lLnJlYWRvbmx5KCl9Y3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpe3JldHVybiB0aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9ufXN0YXJ0TWVhc3VyaW5nKGUsdCl7dGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQ9ZSx0aGlzLl9tZWFzdXJlUGFuZS5zZXRWYWx1ZSh0KSx0LmNvbnRhaW5zTWFpblNlcmllcygpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl92b2x1bWVDYWxjdWxhdG9yKSx0aGlzLl92b2x1bWVDYWxjdWxhdG9yPW5ldyBaZC5TZXJpZXNUaW1lUmFuZ2VWb2x1bWVDYWxjdWxhdG9yKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVQYW5lKHQpfWZpbmlzaE1lYXN1cmUoZSl7dGhpcy5fZW5kTWVhc3VyZVBvaW50PWUsdGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0KCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLHRoaXMuX2VuZE1lYXN1cmVQb2ludCl9Y2xlYXJNZWFzdXJlKCl7dGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksZGVsZXRlIHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50LGRlbGV0ZSB0aGlzLl9lbmRNZWFzdXJlUG9pbnQsZGVsZXRlIHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludCx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLG51bGwhPT10aGlzLl92b2x1bWVDYWxjdWxhdG9yJiYodGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fdm9sdW1lQ2FsY3VsYXRvcj1udWxsKX1tZWFzdXJlUG9pbnRzKCl7Y29uc3QgZT1bKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydE1lYXN1cmVQb2ludCldLHQ9dGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpO3JldHVybiBudWxsIT09dCYmZS5wdXNoKHQpLGV9c3RhcnRTZWxlY3Rpb24oZSl7dGhpcy5fc2VsZWN0aW9uU3RhcnRQb2ludD10aGlzLmN1cnJlbnRMb2dpY2FsUG9pbnQoKSx0aGlzLl9zZWxlY3Rpb25QYW5lPWV9Y2xlYXJTZWxlY3Rpb24oKXt0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fc2VsZWN0aW9uUGFuZT1udWxsfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50P3twMTp0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50LHAyOnRoaXMuY3VycmVudExvZ2ljYWxQb2ludCgpfTpudWxsfWN1cnJlbnRMb2dpY2FsUG9pbnQoKXtyZXR1cm57aW5kZXg6dGhpcy5hcHBsaWVkSW5kZXgoKSxwcmljZTp0aGlzLnByaWNlfX1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWxpbmVDb2xvcigpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LmxpbmVDb2xvcj8/bnVsbH1jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsfXJlcXVlc3RQb2ludFBhcmFtcygpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXN9cmVxdWVzdFNlbGVjdFBvaW50KGUpeygwLGwuYXNzZXJ0KSh0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsIlBvaW50IGFscmVhZHkgcmVxdWVzdGVkIik7Y29uc3R7cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm49MyxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6cixzZWxlY3RQb2ludE1vZGU6bz1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeSxhbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YTphPWUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5fT1lO3RoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz17cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm4sc2VsZWN0RnJvbUFsbENoYXJ0c0lmT3V0T2ZEYXRhOnIsc2VsZWN0UG9pbnRNb2RlOm8sYWxpZ25Ub1RoZUxhdGVzdEJhcklmVGltZVBvaW50SXNPdXRPZkRhdGE6YX0saSYmKCgwLGwuYXNzZXJ0KSgtMSE9PXRoaXMuX21vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSwiQ2hhcnQgbW9kZWwgZG9lc24ndCBjb250YWluIHNwZWNpZmllZCBwYW5lIiksdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCkpLHRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKG8pfW9uUG9pbnRTZWxlY3RlZCgpewpyZXR1cm4gdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlfXRyeVNlbGVjdEN1cnJlbnRQb2ludCgpe2NvbnN0IGU9dGhpcy5wYW5lO2lmKCFlKXJldHVybjtjb25zdHtwb2ludFR5cGU6dCxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6aSxpZ25vcmVJZk91dE9mRGF0YTpzLHBhbmU6bn09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXMpLHI9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXIuZmlyc3RJbmRleCgpLGE9ci5sYXN0SW5kZXgoKTtpZihudWxsPT09b3x8bnVsbD09PWEpcmV0dXJuO2xldCBjPW51bGw7aWYoIXIuc2VhcmNoKHRoaXMuaW5kZXgsWm8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpJiYicHJpY2UiIT09dCYmaSYmKGM9TWF0aC5taW4oLi4uQXJyYXkuZnJvbShULmJhclRpbWVzVW5kZXJDdXJzb3IudmFsdWVzKCkpKT8/bnVsbCxudWxsPT09YykpcmV0dXJuO2lmKG4mJm4hPT1lKXJldHVybjtsZXQgaCxkPWM7aWYoInByaWNlIiE9PXQmJm51bGw9PT1jKXtjb25zdCBlPXRoaXMuaW5kZXg7c3dpdGNoKHMpe2Nhc2UgMzppZihlPG98fGU+YSlyZXR1cm47YnJlYWs7Y2FzZSAxOmlmKGU8bylyZXR1cm47YnJlYWs7Y2FzZSAyOmlmKGU+YSlyZXR1cm59aWYoZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGUpLG51bGw9PT1kKXJldHVybn1pZigidGltZSIhPT10KXtjb25zdCB0PWUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10LmZpcnN0VmFsdWUoKSxzPXQucHJpY2VTY2FsZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47aD1zLmNvb3JkaW5hdGVUb1ByaWNlKHRoaXMueSxpKX10aGlzLl9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShULlNlbGVjdFBvaW50TW9kZS5Ob25lKSx0aGlzLl9wb2ludFNlbGVjdGVkRGVsZWdhdGUuZmlyZSh7dGltZTpkPz92b2lkIDAscHJpY2U6aH0sZSl9aXNPbkhvdmVyZWRDaGFydFdpZGdldCgpe3JldHVybiB0aGlzLl9pc09uSG92ZXJlZENoYXJ0V2lkZ2V0fXNldE9uSG92ZXJlZENoYXJ0V2lkZ2V0KGUpe3RoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ9ZX1pc1JlcGxheVNlbGVjdGlvbigpe3JldHVybigiQWxsQ2hhcnRzIj09PVNlLnZhbHVlKCl8fHRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQpJiZ0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheX1jbGVhclBvc2l0aW9uKCl7dGhpcy52aXNpYmxlPSExLHRoaXMuaW5kZXg9TmFOLHRoaXMucHJpY2U9TmFOLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLnBhbmU9bnVsbCx0aGlzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eURlcGVuZGVudFBhbmVWaWV3cygpfXNldFBvc2l0aW9uKGUsdCxpKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5jbGVhck1lYXN1cmUpLHRoaXMuX3N1YnNjcmliZWQ9ITApLHRoaXMudmlzaWJsZT0hMDtjb25zdCBzPXRoaXMuX21vZGVsLmlkKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLnNlYXJjaCh0aGlzLmluZGV4LFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG4mJlQuYmFyVGltZXNVbmRlckN1cnNvci5zZXQocyxuLnZhbHVlWzBdKSx0aGlzLl90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKX1zZXRMaW5lc1Nob3VsZEJlSGlkZGVuKGUpe3RoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ZX1saW5lc1Nob3VsZEJlSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW59aGFuZGxlQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31wcmljZUF4aXNWaWV3cyhlLHQpe2NvbnN0IGk9dGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGUscz0haXx8InRpbWUiIT09aXx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQsbj1bXTtyZXR1cm4odGhpcy5sb2NrZWRQYW5lKCk/P3RoaXMucGFuZSk9PT1lJiZzJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX3ByaWNlQXhpc1ZpZXdzLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cyxlLHQsdGhpcy5fY3VycmVudFBvc1ByaWNlUHJvdmlkZXIsUWgsITApWzBdKSx0aGlzLl9zdGFydE1lYXN1cmVQb2ludCYmbi5wdXNoKHRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9zdGFydE1lYXN1cmVQcmljZVByb3ZpZGVyLGVkKVswXSksdGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VQcm92aWRlcixlZClbMF0pLG59dGltZUF4aXNWaWV3cygpe2NvbnN0IGU9W10sdD10aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LnBvaW50VHlwZSxpPSF0fHwicHJpY2UiIT09dHx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW58fCF0aGlzLnZpc2libGUmJm51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8IWl8fGUucHVzaCh0aGlzLl90aW1lQXhpc1ZpZXcpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiZlLnB1c2godGhpcy5fc3RhcnRNZWFzdXJlVGltZUF4aXNWaWV3KSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJmUucHVzaCh0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3KSxlfXBhbmVWaWV3cyhlKXtpZih2b2lkIDA9PT1lfHxlLm1vZGUoKSE9PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gbnVsbDtjb25zdCB0PVtdCjtpZih0aGlzLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2xldCBpPXRoaXMuX3BvaW50U2VsZWN0aW9uUGFuZVZpZXdDYWNoZS5nZXQoZSk7aXx8KGk9bmV3IHpkKHRoaXMsZSx0aGlzLl9tb2RlbCksdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLnNldChlLGkpKSx0LnB1c2goaSl9bGV0IGk9dGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5nZXQoZSk7aWYoaXx8KGk9bmV3IGdkKHRoaXMsZSksdGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksdC5wdXNoKGkpLGU9PT10aGlzLl9zZWxlY3Rpb25QYW5lJiZ0LnB1c2godGhpcy5fc2VsZWN0aW9uVmlldyksZT09PXRoaXMuX21lYXN1cmVQYW5lLnZhbHVlKCkpe2xldCBpPXRoaXMuX21lYXN1cmVQYW5lVmlld0NhY2hlLmdldChlKTtpfHwoaT1uZXcgTmQodGhpcyxlKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksaS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHQucHVzaChpKX1pZigoZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCl8fHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSkmJjEhPT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZSl7Y29uc3QgaT1lPT09dGhpcy5wYW5lLHM9IUouQ2hlY2tNb2JpbGUuYW55KCl8fHdpbmRvdy5zY3JlZW4ud2lkdGg+PTMyMCxuPVQudG9vbC52YWx1ZSgpLHI9KDAsbS5pc0xpbmVUb29sTmFtZSkobiksbz1udWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl8fHRoaXMuX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjB8fG51bGwhPT10aGlzLl9tb2RlbC5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCl8fCgwLFQudG9vbElzTWVhc3VyZSkobik7aWYoaSYmdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldCYmdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZzJiYhciYmIW8pe2NvbnN0IGk9ZS5tYWluRGF0YVNvdXJjZSgpO2lmKG51bGwhPT1pKXtjb25zdCBzPWkucHJpY2VTY2FsZSgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MsZSxzLHRoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyLFFoLCEwKVsxXTtudWxsIT09aSYmdC5wdXNoKGkpfX19fXJldHVybiAwPT09VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk/LnR5cGUmJihudWxsPT09dGhpcy5fdGltZUxvY2tQYW5lVmlldyYmKHRoaXMuX3RpbWVMb2NrUGFuZVZpZXc9bmV3IEZkKHRoaXMpKSx0LnB1c2godGhpcy5fdGltZUxvY2tQYW5lVmlldykpLHQucHVzaCguLi50aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9uLnBhbmVWaWV3cyhlKSksdH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld311cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiYodGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXcudXBkYXRlKGUpKSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJih0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3LnVwZGF0ZShlKSksdGhpcy5fdGltZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9zZWxlY3Rpb25WaWV3LnVwZGF0ZSgpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb24udXBkYXRlKGUpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHlEZXBlbmRlbnRQYW5lVmlld3MoKX1pc01lbnVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubWVudUVuYWJsZWR9aXNIb3ZlcmVkRW5hYmxlZCgpe3JldHVybiBkZC5hZGRQbHVzQnV0dG9uUHJvcGVydHkudmFsdWUoKXx8dGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci52YWx1ZSgpfWlzSG92ZXJlZCgpe3JldHVybiB0aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCk9PT10aGlzfXBvaW50VG9TZWxlY3QoKXtyZXR1cm4gdGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGU/P251bGx9cGFuZUZvclBvaW50U2VsZWN0KCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkNyb3NzSGFpckNvbnRleHRNZW51In1yZXN0YXJ0KCl7dGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHMmJnRoaXMuX2NyZWF0ZU1lYXN1cmVQb2ludHNldFdpdGhOb3JtYWxpemVkUG9pbnRzKHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzKX1fbGFzdE1lYXN1cmVQb2ludCgpe3JldHVybiB0aGlzLl9lbmRNZWFzdXJlUG9pbnQ/dGhpcy5fZW5kTWVhc3VyZVBvaW50OihudWxsIT09dGhpcy5wYW5lJiZ0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpPT09dGhpcy5wYW5lJiYodGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50PXtwcmljZTp0aGlzLl9tb2RlbC5tYWduZXQoKS5hbGlnbih0aGlzLnByaWNlLHRoaXMuaW5kZXgsdGhpcy5wYW5lKSxpbmRleDp0aGlzLmluZGV4fSksdGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50fHxudWxsKX1fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKGUsdCxpLHMsbixyLG89ITEpe2xldCBhPWUuZ2V0KGkpLGM9bnVsbCE9PXQ/dC5nZXQoaSk6dm9pZCAwO3ZvaWQgMD09PWEmJihhPW5ldyBNYXAsCmUuc2V0KGksYSksdGhpcy5pc01lbnVFbmFibGVkKCkmJm51bGwhPT10JiYoYz1uZXcgTWFwLHQuc2V0KGksYykpLG8mJmkub25EZXN0cm95ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUGFuZURlc3Ryb3llZChpKSkpKTtsZXQgaD1hLmdldChzKTtpZih2b2lkIDA9PT1oKXtpZihoPW5ldyByKHRoaXMsaSxzLG4pLGEuc2V0KHMsaCksdm9pZCAwIT09Yyl7Y29uc3QgZT1uZXcgdWQoaCx0aGlzLHMsdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucyk7Yy5zZXQocyxlKX1vJiZzLmxhc3RTb3VyY2VSZW1vdmVkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblByaWNlU2NhbGVDbGVhcmVkKHMpKSl9bGV0IGQ9bnVsbDtyZXR1cm4gdm9pZCAwIT09YyYmKGQ9KDAsbC5lbnN1cmVEZWZpbmVkKShjLmdldChzKSkpLFtoLGRdfV9vblBhbmVEZXN0cm95ZWQoZSl7ZS5vbkRlc3Ryb3llZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZ2V0KGUpPy5mb3JFYWNoKChlPT5lLmRlc3Ryb3k/LigpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5kZWxldGUoZSksdGhpcy5fZW5kTWVhc3VyZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKX1fb25QcmljZVNjYWxlQ2xlYXJlZChlKXtlLmxhc3RTb3VyY2VSZW1vdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+dC5kZWxldGUoZSkpKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZ2V0KGUpPy5kZXN0cm95Py4oKSx0LmRlbGV0ZShlKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpLHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpfV90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKXtyZXR1cm4hIXRoaXMuX3RyeVRvVXBkYXRlRGF0YShlLHQsaSkmJih0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb3ZlZERlbGVnYXRlLmZpcmUoe2luZGV4OnRoaXMuaW5kZXgscHJpY2U6dGhpcy5wcmljZX0pLCEwKX1fdHJ5VG9VcGRhdGVEYXRhKGUsdCxpKXtjb25zdCBzPXRoaXMueCxuPXRoaXMueSxyPXRoaXMucHJpY2Usbz10aGlzLmluZGV4LGE9dGhpcy5wYW5lLGM9dGhpcy5fcHJpY2VTY2FsZUJ5UGFuZShpKTtpZih0aGlzLmluZGV4PWUsdGhpcy54PWlzTmFOKGUpP05hTjp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShlKSxudWxsIT09YyYmbnVsbCE9PWkpe3RoaXMucGFuZT1pLHRoaXMucHJpY2U9dDtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7dGhpcy55PW51bGw9PT1lP05hTjpjLnByaWNlVG9Db29yZGluYXRlKHQsZSl9ZWxzZSB0aGlzLnBhbmU9bnVsbCx0aGlzLnByaWNlPU5hTix0aGlzLnk9TmFOO3JldHVybiBzIT09dGhpcy54fHxuIT09dGhpcy55fHxvIT09dGhpcy5pbmRleHx8ciE9PXRoaXMucHJpY2V8fGEhPT10aGlzLnBhbmV9X3ByaWNlU2NhbGVCeVBhbmUoZSl7cmV0dXJuIGUmJiFlLmRlZmF1bHRQcmljZVNjYWxlKCkuaXNFbXB0eSgpP2UuZGVmYXVsdFByaWNlU2NhbGUoKTpudWxsfV9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShlKXtlPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmKHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZSYmdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcGFuZUNvbGxlY3Rpb25DaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM9bnVsbCksVC5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUuc2V0VmFsdWUoZSksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnNldFZhbHVlKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X3BhbmVDb2xsZWN0aW9uQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMucGFuZUZvclBvaW50U2VsZWN0KCk7bnVsbCE9PXQmJi0xPT09ZS5pbmRleE9mKHQpJiZ0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpfV91cGRhdGVWaXNpYmlsaXR5RGVwZW5kZW50UGFuZVZpZXdzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tb2RlbCgpLnBhbmVzKCkpdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLmdldChlKT8udXBkYXRlKCl9X2dldExvY2tEYXRhKCl7aWYobnVsbD09PXRoaXMuX2xvY2tEYXRhKXtjb25zdCBlPVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpO2lmKG51bGw9PT1lKXRoaXMuX2xvY2tEYXRhPXt9O2Vsc2V7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXQucG9pbnRzKCkucm91Z2hJbmRleChlLnRpbWUpPz92b2lkIDAscz12b2lkIDA9PT1pP3ZvaWQgMDp0LmluZGV4VG9Db29yZGluYXRlKGkpO3N3aXRjaChlLnR5cGUpe2Nhc2UgMDp0aGlzLl9sb2NrRGF0YT17aW5kZXg6aSx4Q29vcmQ6c307YnJlYWs7Y2FzZSAxOntsZXQgdDtjb25zdCBuPXRoaXMubG9ja2VkUGFuZSgpO2lmKG51bGwhPT1uKXtjb25zdCBpPW4ubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSl7Y29uc3Qgcz1pLmZpcnN0VmFsdWUoKSxuPWkucHJpY2VTY2FsZSgpO251bGwhPT1uJiZudWxsIT09cyYmKHQ9bi5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLHMpKX19dGhpcy5fbG9ja0RhdGE9e2luZGV4OmkseENvb3JkOnMseUNvb3JkOnR9fX19fXJldHVybiB0aGlzLl9sb2NrRGF0YX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc2VyaWVzU291cmNlKCkuc3ltYm9sSW5zdGFuY2VJZCgpO2lmKG51bGw9PT10KXJldHVybjt0aGlzLl9yZW1vdmVNZWFzdXJlUG9pbnRzZXQoKSwrK3J1LHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZD17bWVhc3VyZVBvaW50c2V0SWQ6cnUsCnN5bWJvbElkOnR9LHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPWU7Y29uc3QgaT0oMCxaaC5nZXRTZXJ2ZXJJbnRlcnZhbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkuY3JlYXRlUG9pbnRzZXQodGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpLCJ0dXJuYXJvdW5kIix0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQuc3ltYm9sSWQsaSxlLHRoaXMuX29uUG9pbnRzZXRSZXNwb25zZS5iaW5kKHRoaXMpKX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0KGUsdCl7Y29uc3QgaT10aGlzLl9ub3JtYWxpemVQb2ludChlKSxzPXRoaXMuX25vcm1hbGl6ZVBvaW50KHQpLG49W1tpLnRpbWVfdCxpLm9mZnNldF0sW3MudGltZV90LHMub2Zmc2V0XV07dGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMobil9X3JlbW92ZU1lYXN1cmVQb2ludHNldCgpe251bGwhPT10aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQmJnRoaXMuX21vZGVsLmNoYXJ0QXBpKCkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5jaGFydEFwaSgpLnJlbW92ZVBvaW50c2V0KHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSksdGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHM9bnVsbH1fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpe3JldHVybiJwb2ludHNldE1lYXN1cmVfIisoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZCkubWVhc3VyZVBvaW50c2V0SWR9X25vcm1hbGl6ZVBvaW50KGUpe3JldHVybnsuLi50aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChlLmluZGV4KSxwcmljZTplLnByaWNlfX1fb25Qb2ludHNldFJlc3BvbnNlKGUpe2lmKCJwb2ludHNldF9lcnJvciI9PT1lLm1ldGhvZClyZXR1cm4gdm9pZCBvdS5sb2dFcnJvcihgRXJyb3IgZ2V0dGluZyBwb2ludHNldDogJHtlLnBhcmFtc1swXX0gJHtlLnBhcmFtc1sxXX1gKTtpZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSlyZXR1cm47aWYobnVsbD09PXRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50fHxudWxsPT09dGhpcy5fZW5kTWVhc3VyZVBvaW50KXJldHVybjtjb25zdCB0PWUucGFyYW1zLnBsb3RzO2lmKDIhPT10Lmxlbmd0aClyZXR1cm47Y29uc3QgaT10WzBdLnZhbHVlWzBdLHM9dFsxXS52YWx1ZVswXTt0aGlzLl9zdGFydE1lYXN1cmVQb2ludC5pbmRleD1pLHRoaXMuX2VuZE1lYXN1cmVQb2ludC5pbmRleD1zLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX19dmFyIGx1PWkoMTQxNjUpLGN1PWkoOTEwMTI2KSxodT1pKDg3NTMwMSksZHU9aSg3MjM1MjUpLHV1PWkoMzA5MzYwKSxwdT1pKDE1NTYzKTtjb25zdCBfdT0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlJbnNlcnRlciIpLG11PS9eUFVCOy4qLztjbGFzcyBndXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3BhcmVudFNvdXJjZXM9W10sdGhpcy5fcHJvcHNTdGF0ZT12b2lkIDAsdGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT12b2lkIDAsdGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT0hMSx0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ITAsdGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWM9ITAsdGhpcy5fcGFuZVNpemU9dm9pZCAwLHRoaXMuX2ZvcmNlT3ZlcmxheT0hMSx0aGlzLl9pbnNlcnRlckltcGw9dCx0aGlzLl9zdHVkeURlc2NyaXB0b3I9ZX1zZXRQYXJlbnRTb3VyY2VzKGUpe3RoaXMuX3BhcmVudFNvdXJjZXM9ZX1zZXRQYW5lU2l6ZShlKXt0aGlzLl9wYW5lU2l6ZT1lfXNldFByZWZlcnJlZFByaWNlU2NhbGUoZSl7dGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT1lfXNldEFsbG93Q2hhbmdlQ3VycmVuY3koZSl7dGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT1lfXNldEFsbG93Q2hhbmdlVW5pdChlKXt0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ZX1zZXRBbGxvd0NoYW5nZU1ldHJpYyhlKXt0aGlzLl9hbGxvd0NoYW5nZU1ldHJpYz1lfXNldEZvcmNlT3ZlcmxheShlKXt0aGlzLl9mb3JjZU92ZXJsYXk9ZX1zZXRQcm9wZXJ0aWVzU3RhdGUoZSl7dGhpcy5fcHJvcHNTdGF0ZT1lfXNldFRhcmdldFByaWNlU2NhbGVNb2RlKGUpe3RoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlPWV9c2V0RXZlbnRTb3VyY2UoZSl7dGhpcy5fZXZlbnRTb3VyY2U9ZX1hc3luYyBpbnNlcnQoZSx0LGkpe2xldCBzPW51bGw7dmFyIHI7aXx8KHM9dm9pZCAwIT09KHI9dGhpcy5faW5zZXJ0ZXJJbXBsKS5jcmVhdGVTdHViJiZ2b2lkIDAhPT1yLnJlbW92ZVN0dWI/dGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWIoKTpudWxsKTtjb25zdCBvPShlLHQpPT57aWYoaSl7Y29uc3Qgcz0oMCxuLmRlZmF1bHQpKGUpP3tlcnJvcjplfTp7ZXJyb3I6ZS5tZXNzYWdlLGVkaXRvckVycm9yOmV9O2kuc2V0U3RhdHVzKHt0eXBlOllsLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnN9KSx0JiZpLnNldE1ldGFJbmZvKHQpLHRoaXMuX2luc2VydGVySW1wbC5zdG9yZUZhaWxlZFN0dWIoaSl9fTtsZXQgbCxjLGgsZD0hMDt0cnl7bD1hd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9Y2F0Y2goZSl7X3UubG9nV2FybihgQ2Fubm90IGdldCBzdHVkeSAke0pTT04uc3RyaW5naWZ5KHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9YCk7Y29uc3QgdD10aGlzLl9zdHVkeURlc2NyaXB0b3IucGluZUlkLHM9bXUudGVzdCh0KSxyPSJFcnJvcjogY2Fubm90IGNvbXBpbGUgc2NyaXB0IjtsZXQgYT0hMTtpZighKGUgaW5zdGFuY2VvZiB1dS5QaW5lQ29tcGlsZUZhaWxFcnJvckltcGwpKXJldHVybiBvKHIpLApQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90R2V0TWV0YWluZm8pO2k/LmdldERlc2NyaXB0b3IoKT8uaXNPdmVybGF5JiYodGhpcy5fZm9yY2VPdmVybGF5PSEwKSxsPW5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLCgwLG4uZGVmYXVsdCkoZS5yZWFzb24pfHwhZS5yZWFzb24uZXJyb3JzLmxlbmd0aD9jPVt7bWVzc2FnZTpyfV06KGE9ITAsYz1lLnJlYXNvbi5lcnJvcnMpLHMmJmEmJihoPXB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5ub3RDb21waWxlUHViKX1maW5hbGx5e251bGwhPT1zJiYoZD10aGlzLl9pbnNlcnRlckltcGwucmVtb3ZlU3R1YihzKSl9aWYoIWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5TdHViV2FzUmVtb3ZlZCk7aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2lmKCF0aGlzLl9jYW5BcHBseVN0dWR5VG9QYXJlbnQobCkpcmV0dXJuIG8oIkVycm9yOiBjYW5ub3QgYmUgY2hpbGQiKSxQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkKTtjb25zdCB1PXsuLi5sLmRlZmF1bHRzLmlucHV0c307bGV0IHA9e307aWYodm9pZCAwIT09ZSl7Y29uc3QgdD1vdC5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShsKSxpPSgwLGEuY2xvbmUpKCgwLCRsLmRlZmF1bHRzKSh0KSk7KDAsYS5tZXJnZSkodSxpLmlucHV0cyk7Y29uc3Qgcz1hd2FpdCBlKHUsbC5pbnB1dHMsbCk7cD1zLmlucHV0cyx0aGlzLl9wYXJlbnRTb3VyY2VzPXMucGFyZW50U291cmNlcz8/W119aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2NvbnN0IF89dGhpcy5faW5zZXJ0U3R1ZHkobCxwLGkpO2lmKG51bGw9PT1fKXJldHVybiBvKCJFcnJvcjogdW5rbm93biBlcnJvciIpLFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5Vbmtub3duKTthd2FpdCBfLnN0YXJ0UHJvbWlzZTtjb25zdCBtPWF3YWl0IF8uc3R1ZHk7cmV0dXJuIGMmJm0uc2V0RXJyb3JDb21waWxhdGlvbihjKSxoP1Byb21pc2UucmVqZWN0KGgpOm19X2luc2VydFN0dWR5KGUsdCxpKXtyZXR1cm4gdGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWR5KHtzdHVkeU1ldGFJbmZvOmUsaW5wdXRzOnQsdGFyZ2V0Wk9yZGVyOm51bGwsc3R1YlRvUmVwbGFjZTppLHByb3BzU3RhdGU6dGhpcy5fcHJvcHNTdGF0ZSxmb3JjZU92ZXJsYXk6dGhpcy5fZm9yY2VPdmVybGF5LHBhcmVudFNvdXJjZXM6dGhpcy5fcGFyZW50U291cmNlcyxwcmVmZXJyZWRQcmljZVNjYWxlOnRoaXMuX3ByZWZlcnJlZFByaWNlU2NhbGUsYWxsb3dDaGFuZ2VDdXJyZW5jeTp0aGlzLl9hbGxvd0NoYW5nZUN1cnJlbmN5LGFsbG93Q2hhbmdlVW5pdDp0aGlzLl9hbGxvd0NoYW5nZVVuaXQsYWxsb3dDaGFuZ2VNZXRyaWM6dGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWMscGFuZVNpemU6dGhpcy5fcGFuZVNpemUsdGFyZ2V0U2NhbGVNb2RlOnRoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlLGV2ZW50U291cmNlOnRoaXMuX2V2ZW50U291cmNlfSl9X2NhbkFwcGx5U3R1ZHlUb1BhcmVudChlKXtyZXR1cm4gMD09PXRoaXMuX3BhcmVudFNvdXJjZXMubGVuZ3RofHxvdC5TdHVkeU1ldGFJbmZvLmNhbkJlQ2hpbGQoZSx0cnVlKX19Y2xhc3MgZnV7Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJpY2VTb3VyY2VOYW1lc0J5SWQ9bmV3IE1hcCxlLmZvckVhY2goKGU9PnRoaXMuX3ByaWNlU291cmNlTmFtZXNCeUlkLnNldChlLmlkLGUubmFtZSkpKX1uYW1lKGUpe3JldHVybiB0aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5nZXQoZSk/P251bGx9cHJpY2VTb3VyY2VzQ2hhbmdlZChlKXtyZXR1cm4gZS5sZW5ndGghPT10aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5zaXplfX12YXIgU3U9aSgzMTQ4MDYpO2NvbnN0IHZ1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkZXNlbGVjdGVkIGVtcHR5IGxpbmUgdG9vbHMiLHAudChudWxsLHZvaWQgMCxpKDYzNTQ5NikpKSx5dT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhdXRvX2VuYWJsZV9zeW1ib2xfbGFiZWxzIiksYnU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZml4X2xlZnRfZWRnZSIpLHd1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRNb2RlbCIpO2Z1bmN0aW9uIEN1KGUsdCl7Y29uc3QgaT1lLmluZGV4T2YodCk7cmV0dXJuLTEhPT1pJiYoZS5zcGxpY2UoaSwxKSwhMCl9ZnVuY3Rpb24gUHUoZSl7Y29uc3QgdD0oMCx0bi5jcm9zc2hhaXJNb3ZlRXZlbnQpKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IHM9ZVtpXS5kYXRhU291cmNlcygpO2ZvcihsZXQgZT1zLmxlbmd0aDtlLS07KXNbZV0uZGF0YVdpbmRvd1ZpZXcoKT8udXBkYXRlKHQpLHNbZV0uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8udXBkYXRlKHQpO2NvbnN0IG49ZVtpXS5wcmljZURhdGFTb3VyY2VzKCk7Zm9yKGxldCBlPW4ubGVuZ3RoO2UtLTspbltlXS5sZWdlbmRWaWV3KCk/LnVwZGF0ZSh0KX19Y29uc3QgVHU9e2lzU25hcHNob3Q6ITEscmVhZE9ubHk6ITEsd2F0ZXJtYXJrRW5hYmxlZDohMCxzaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyOiEwLGN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQ6ITEsdW5pdENvbnZlcnNpb25FbmFibGVkOiExLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOiExLGNvdW50ZG93bkVuYWJsZWQ6ITAsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDohMCxvbldpZGdldDohMSxoaWRlSWRlYXM6ITF9O3ZhciB4dTshZnVuY3Rpb24oZSl7ZVtlLk1uUGFuZUhlaWdodD0zMF09Ik1uUGFuZUhlaWdodCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0PTJlM109IlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0IiwKZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNMYXJnZVRpbWVvdXQ9NWUzXT0iUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0xhcmdlVGltZW91dCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0TGlicmFyeT01MDBdPSJSZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzVGltZW91dExpYnJhcnkiLGVbZS5SZWNhbGNDb2xvclN0dWRpZXNUaW1lb3V0PTI1MF09IlJlY2FsY0NvbG9yU3R1ZGllc1RpbWVvdXQifSh4dXx8KHh1PXt9KSk7Y29uc3QgTXU9e3Rocm90dGxlOktvLmRlZmF1bHQsZGVib3VuY2U6WW8uZGVmYXVsdH0sSXU9bmV3IE1hcChbW0lpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uLHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlLHt0aW1lb3V0OjVlMyxhZGFwdGVyOiJ0aHJvdHRsZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQse3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dLFtJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlN0dWR5Q3JlYXRpb24se3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dXSksTHU9QXJyYXkuZnJvbShJdS52YWx1ZXMoKSk7ZnVuY3Rpb24gQXUoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2lmKCEoMCxyaS5pc0xpbmVUb29sKSh0KXx8IXQuaXNTeW5jaHJvbml6YWJsZSgpKXJldHVybiBlO2NvbnN0IGk9dC5saW5rS2V5KCkudmFsdWUoKTtyZXR1cm4gaT8oZVswXS5hZGQoaSksZVsxXS5hZGQodC50b29sbmFtZSksZSk6ZX0pLFtuZXcgU2V0LG5ldyBTZXRdKX1mdW5jdGlvbiBrdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmUoKX1mdW5jdGlvbiBEdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl9Y2xhc3MgRXV7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25SZWFycmFuZ2VQYW5lcz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsPW5ldyBzaCx0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLHRoaXMuX2xpbmVCZWluZ0VkaXRlZD1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YT1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWQ9bnVsbCx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHk9bmV3IGguV2F0Y2hlZFZhbHVlKDApLHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pbmFjdGl2aXR5R2Fwc1dhdGNoZWRWYWx1ZT1udWxsLHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50PW5ldyBoLldhdGNoZWRWYWx1ZSgibm9uZSIpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkPVtdLHRoaXMuX2xpbmVDYW5jZWxsZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lcj1uZXcga2godGhpcyksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Jlc3RvcmluZ1N0YXRlPSExLHRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSExLHRoaXMuX2lzVGltZVNjcm9sbGluZz0hMSx0aGlzLl9tYWduZXQ9bmV3IEhoLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsdGhpcy5fbW9kZWxJbnRlcnZhbHM9W10sdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9bmV3IHZhKHRoaXMpLHRoaXMuX3N0dWR5SW5zZXJ0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD0wLHRoaXMuX3JlcGxheVN0YXR1cz1uZXcgaC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fcGFuZXM9W10sdGhpcy5fbWF4aW1pemVkUGFuZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc3RyYXRlZ3lTb3VyY2VzPVtdLHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZT1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY3JvbGxFbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Njcm9sbCIpLHRoaXMuX3pvb21FbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3pvb20iKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyPW51bGwsdGhpcy5fYWxlcnRzV2F0Y2hlcj1udWxsLHRoaXMuX2hvdmVyZWRTb3VyY2U9bnVsbCx0aGlzLl9ob3ZlcmVkU291cmNlQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1udWxsLHRoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPW51bGwsdGhpcy5fdG9wbW9zdEN1c3RvbVNvdXJjZXM9W10sdGhpcy5fZmdDdXN0b21Tb3VyY2VzPVtdLAp0aGlzLl9iZ0N1c3RvbVNvdXJjZXM9W10sdGhpcy5fYWxsQ3VzdG9tU291cmNlcz1bXSx0aGlzLl9jdXN0b21Tb3VyY2VzTWFwPW5ldyBNYXAsdGhpcy5fZHJhZ0V4cG9ydEVuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aVBhbmVTb3VyY2VzPVtdLHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eT1uZXcgT3QuUHJvcGVydHksdGhpcy5faWQ9KDAsbHQuZ3VpZCkoKSx0aGlzLl9jaGFydFNhdmVUaW1lPW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3Q9bnVsbCx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXM9bmV3IGZ1KFtdKSx0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1udWxsLHRoaXMuX2F2YWlsYWJsZVVuaXRzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1udWxsLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc0J5U3ltYm9sPW5ldyBNYXAsdGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj0hMSx0aGlzLl93YXRjaGVkVGhlbWVTcGF3bj1ELndhdGNoZWRUaGVtZS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyB4aC5HcmFkaWVudENvbG9yQ2FjaGUsdGhpcy5fc3R1ZGllc1dWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXM9e3JlYXNvbnM6bmV3IFNldH0sdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzUGFyYW1zPXt9LHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3k9bmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeT1uZXcgX2EodGhpcyksdGhpcy5fbWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eT1uZXcgYWwodGhpcyksdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGxEZWJvdW5jZWRCeUFkYXB0ZXI9bmV3IE1hcChPYmplY3Qua2V5cyhNdSkubWFwKChlPT5bZSxuZXcgTWFwKEx1LmZpbHRlcigodD0+dC5hZGFwdGVyPT09ZSkpLm1hcCgoZT0+W2UudGltZW91dCxNdVtlLmFkYXB0ZXJdKHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsLmJpbmQodGhpcyx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpLGUudGltZW91dCldKSkpXSkpKSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsRGVib3VuY2VkPSgwLFlvLmRlZmF1bHQpKHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc0ltcGwuYmluZCh0aGlzLHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcyksMjUwKSx0aGlzLl93aWR0aD0wLHRoaXMuX3Jlc2V0U2NhbGVzPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2NoYXJ0VGhlbWVMb2FkZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc2VsZWN0aW9uPW5ldyBmYS5Nb2RlbFNlbGVjdGlvbix0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzPW51bGwsdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JpZFNvdXJjZT1uZXcgJGgodGhpcyksdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cz1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX3N5bmNQb2ludENhY2hlPW5ldyBNYXAsdGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlPW51bGwsdGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9bnVsbCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPW51bGwsdGhpcy5fc2Vzc2lvbnM9bnVsbCx0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzPW51bGwsdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9dm9pZCAwLHRoaXMuX2xpbmVUb29sc1N5bmNCbG9jaz0wLHRoaXMuX29uRGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQ9KCk9PnswIT09dGhpcy5fc2VsZWN0aW9uLmxpbmVUb29sR3JvdXBzKCkubGVuZ3RoJiZ0aGlzLmNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpfSx0aGlzLl9jbGVhclNlbGVjdGlvbj0oKT0+e3RoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fc2VsZWN0aW9uLmNsZWFyKCl9LHRoaXMuX3JlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uPWU9Pnt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlKGUpfSx0aGlzLl9hZGRJdGVtVG9TZWxlY3Rpb249KGUsdCk9Pntjb25zdCBpPXRoaXMuX3NlbGVjdGlvbi5pc1NlbGVjdGVkKGUpOygwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2l8fHRoaXMuX3NlbGVjdGlvbi5hZGQoZSk6aSYmdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9PT10fHxlLmlzU2VsZWN0aW9uRW5hYmxlZCgpJiYodGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9dHx8bnVsbCxpfHx0aGlzLl9zZWxlY3Rpb24uYWRkKGUpLCgwLHRpLmlzU3R1ZHlTdHJhdGVneSkoZSkmJnRoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSkpfSx0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lcylpZihlLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCEwKTt0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfSwKdGhpcy5fcmVjYWxjQWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5PSgpPT57aWYodGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7c3dpdGNoKGUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIil7Y2FzZSJkaXZpZGVuZHMiOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgyKTtjYXNlInNwbGl0cyI6cmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDEpO2Nhc2UiYW55IjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc2V0VmFsdWUoMyl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5zeW1ib2xTb3VyY2VzKCkpe2lmKHQuc3ltYm9sSGliZXJuYXRlZCgpLnZhbHVlKCl8fHQ9PT1lKWNvbnRpbnVlO2lmKCJhbnkiPT09KHQuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIikpcmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDMpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgwKX0sdGhpcy5fcmVjYWxjQWxsb3dlZEFkanVzdG1lbnQ9KCk9Pntjb25zdCBlPXRoaXMubWFpblNlcmllcygpLHQ9ZS5zeW1ib2xJbmZvKCk/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiO2lmKCJkaXZpZGVuZHMiPT09dHx8InNwbGl0cyI9PT10KXJldHVybiB2b2lkIHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50LnNldFZhbHVlKHQpO2xldCBpPSJub25lIjtmb3IoY29uc3QgZSBvZiB0aGlzLnN5bWJvbFNvdXJjZXMoKSl7aWYoZS5zeW1ib2xIaWJlcm5hdGVkKCkudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIjtpZigiYW55Ij09PXQpcmV0dXJuIHZvaWQgdGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoImFueSIpOyJzcGxpdHMiPT09dCYmImRpdmlkZW5kcyIhPT1pJiYoaT0ic3BsaXRzIiksImRpdmlkZW5kcyI9PT10JiYoaT0iZGl2aWRlbmRzIil9dGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoaSl9LHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9KCk9Pntzd2l0Y2godGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnZhbHVlKCkpe2Nhc2UgMjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNFbmFibGVkLnNldFZhbHVlKCEwKTtjYXNlIDA6Y2FzZSAxOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoITEpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKSl9LHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPWU9PntsZXQgdD10aGlzLl9wYW5lcy5maWx0ZXIoKGU9PiFlLmNvbGxhcHNlZCgpLnZhbHVlKCkpKS5sZW5ndGg7MD09PXQmJmUmJnRoaXMuX3BhbmVzLmxlbmd0aD4wJiYodGhpcy5fcGFuZXNbMF0uY29sbGFwc2VkKCkuc2V0VmFsdWUoITEpLHQ9MSksdGhpcy5fcGFuZUNvbGxhcHNpbmdBdmFpbGFibGUuc2V0VmFsdWUodD4xKX0sdGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKXx8dGhpcy5fcGFuZXMuc29tZSgoZT0+ZS5yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSkpO3RoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlLnNldFZhbHVlKGUpfSx0aGlzLl9vbkRyYXdpbmdzVmlzaWJpbGl0eUNoYW5nZWQ9ZT0+e2NvbnN0IHQ9IWUudmFsdWUoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpe2NvbnN0IGk9KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKTt0JiZpPygwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwic2hvdyIpOiF0JiZpJiYoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksImhpZGUiKX10aGlzLnNlbGVjdGlvbk1hY3JvKChlPT5lLmNsZWFyU2VsZWN0aW9uKCkpKX0sdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQ9KCk9Pnt0aGlzLmFsbFN0dWRpZXMoKS5zb21lKChlPT5lLmNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCkmJmUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdGhpcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKGUpKSk/dGhpcy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSk6dGhpcy5saWdodFVwZGF0ZSgpfTtjb25zdHtjaGFydFNlc3Npb246dCxpbnZhbGlkYXRlSGFuZGxlcjppLHByb3BlcnRpZXM6cyxzZXJpZXNQcm9wZXJ0aWVzOm4sZGF0YVJlcXVlc3Q6cix1bmRvTW9kZWw6byxiYXJzTWFya3NDb250YWluZXJzRmFjdG9yeTpjLG9wdGlvbnM6cCxoaWJlcm5hdGVWVzpfLGxpbmtpbmdHcm91cFdWOlMsaXNBdXRvU2F2ZUVuYWJsZWQ6dixzeW1ib2xBbGlhc1NlcnZpY2U6eSxkcmF3VGltZTpifT1lO3RoaXMuX2F2YWlsYWJsZU1ldHJpY3M9bmV3IERoKFtdKSx0aGlzLl9jaGFydFNlc3Npb249dCx0aGlzLl9pbnZhbGlkYXRlSGFuZGxlcj1pLHRoaXMuX3VuZG9Nb2RlbD1vLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKFR1KSxwKSx0aGlzLl9oaWJlcm5hdGVXVj1fLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PVMsdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWQ9dix0aGlzLl9yZWFkT25seT10aGlzLl9vcHRpb25zLnJlYWRPbmx5LHRoaXMuX2lzU25hcHNob3Q9dGhpcy5fb3B0aW9ucy5pc1NuYXBzaG90LHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT15LAp0aGlzLl9zeW1ib2xBbGlhc1NlcnZpY2U/Lm9uQWxpYXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9kcmF3VGltZT1iLHRoaXMuX2FsZXJ0c1dhdGNoZXI9bmV3IGRoKHRoaXMpLHRoaXMub25XaWRnZXQoKXx8bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCkpKSx0aGlzLl9jaGFydFNhdmVUaW1lPShuZXcgRGF0ZSkudmFsdWVPZigpLHRoaXMuX2JhY2tncm91bmRDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCEwKSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvciksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kVHlwZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3Iuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja2dyb3VuZENvbG9yKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLmZ1bGxVcGRhdGUpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUodGhpcy5yZWNhbGNDb2xvclN0dWRpZXMuYmluZCh0aGlzLCExKSksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yLnN1YnNjcmliZSh0aGlzLnJlY2FsY0NvbG9yU3R1ZGllcy5iaW5kKHRoaXMsITEpKSx0aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yPW5ldyBoLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUoKCgpPT50aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yLnNldFZhbHVlKHRoaXMuX2dldEJhY2tncm91bmRDb3VudGVyQ29sb3IoKSkpKSx0aGlzLl9iYWNrZ3JvdW5kVGhlbWU9KDAsdS5jb21iaW5lKSgoZT0+IndoaXRlIj09PWU/Sm8uU3RkVGhlbWUuRGFyazpKby5TdGRUaGVtZS5MaWdodCksdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2lzRGFyaz0oMCx1LmNvbWJpbmUpKChlPT5lPT09Sm8uU3RkVGhlbWUuRGFyayksdGhpcy5fYmFja2dyb3VuZFRoZW1lLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fd2F0Y2hlZFRoZW1lU3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCl9KSksKDAsVC5pbml0KSgpO2NvbnN0IHc9dGhpcy5fcmVhZE9ubHk/bmV3IE90LlByb3BlcnR5KCgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyksKDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyIpKSk6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5jcm9zc0hhaXJQcm9wZXJ0aWVzO3RoaXMuX2Nyb3NzSGFpclNvdXJjZT1uZXcgYXUodGhpcyx3LHRoaXMuX29wdGlvbnMuY3Jvc3NIYWlyKSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9dGhpcy5fY3Jvc3NIYWlyU291cmNlLnNlbGVjdFBvaW50TW9kZSgpLnNwYXduKCksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnN1YnNjcmliZSgoZT0+e2lmKGUhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZ0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1ULnRvb2wudmFsdWUoKTt0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpLFQudG9vbC5zZXRWYWx1ZShlKX19KSksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGU7Y29uc3QgQz17Y291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR9O3RoaXMuX21haW5TZXJpZXM9bmV3IGVuLlNlcmllcyh0aGlzLG4sQyxyKSx0aGlzLl90aW1lU2NhbGU9bmV3IFFjKHRoaXMsdGhpcy5fb3B0aW9ucy50aW1lU2NhbGUpLHRoaXMuX3RpbWVTY2FsZS5yZXNldEF2YWlsYWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyB6aCh0aGlzKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX3RpbWVTY2FsZSx0aGlzLl90aW1lU2NhbGUuaW52YWxpZGF0ZVZpc2libGVCYXJzKTtjb25zdCBQPSgpPT50aGlzLmZ1bGxVcGRhdGUoKTt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLCgoKT0+ewp0aGlzLl9tYWluU2VyaWVzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9tYWluU2VyaWVzLmlkKCkpKSxQKCl9KSksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLCgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLnZpc2libGVCYXJzU3RyaWN0UmFuZ2VDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckF2ZXJhZ2VQcmljZUNhY2hlKSx0aGlzLmNyZWF0ZVBhbmUodm9pZCAwLHtheGlzUHJvcGVydGllczpuLmNoaWxkcygpLnByaWNlQXhpc1Byb3BlcnRpZXMuc3RhdGUoWyJhdXRvU2NhbGUiXSl9KSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKSx0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQ9dGhpcy5fdXBkYXRlU3R1ZGllc01heE9mZnNldC5iaW5kKHRoaXMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcywoKGUsdCxpLHMpPT57aWYobnVsbCE9PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmbnVsbCE9PWkmJnMmJigwLFZuLmFyZUVxdWFsVGltZUZyYW1lcykodGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlLnJhbmdlLGkpKXtjb25zdCBlPXRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnZhbHVlKCk7bnVsbCE9PWUmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxlLnZhbCkmJnRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKG51bGwpLHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT1udWxsfX0pKSx0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuY29tcGxldGVkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PntudWxsPT09dGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlJiZudWxsIT09dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2UmJnRoaXMuZ290b1RpbWVSYW5nZSh0aGlzLl9sYXN0R290b1RpbWVSYW5nZS5mcm9tLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlLnRvLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlKX0pKTtjb25zdCB4PXRoaXMuX3BhbmVzWzBdO3guc2V0U3RyZXRjaEZhY3RvcigyKnguc3RyZXRjaEZhY3RvcigpKSx0aGlzLl9wcm9wZXJ0aWVzLnN1YnNjcmliZSh0aGlzLHRoaXMubGlnaHRVcGRhdGUpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUuc3Vic2NyaWJlKG51bGwsKCgpPT57dGhpcy5fY2hhcnRTZXNzaW9uJiZ0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKX0pKSx4LmFkZERhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcyx4LmZpbmRTdWl0YWJsZVNjYWxlKHRoaXMuX21haW5TZXJpZXMpLCExKSx0aGlzLl9iYXJzTWFya3NTb3VyY2VzPWModGhpcyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyllLnNldE93bmVyU291cmNlKHRoaXMuX21haW5TZXJpZXMpLHguYWRkRGF0YVNvdXJjZShlLHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLCEwKTtpZih0aGlzLl9tYWluU2VyaWVzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEludGVydmFsQ2hhbmdlZCksdGhpcy5fY3JlYXRlTG9sbGlwb3BTb3VyY2VzV2F0Y2hlcigpLHRoaXMuX3dhdGVybWFya1NvdXJjZT10aGlzLl9vcHRpb25zLndhdGVybWFya0VuYWJsZWQ/bmV3IHNsKHRoaXMpOm51bGwsdGhpcy5fdGltZXpvbmVFeGNlcHRFeGNoYW5nZT0oMCx1LmNvbWJpbmUpKCgoZSx0KT0+ImV4Y2hhbmdlIiE9PWU/ZTp0KSwoMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZSkub3duZXJzaGlwKCksKDAscWMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT8udGltZXpvbmU/P251bGwpLHRoaXMubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkpLm93bmVyc2hpcCgpKSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpLCF0aGlzLm9uV2lkZ2V0KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImFsZXJ0cyIpJiZ0aGlzLl9pbml0QWxlcnRzTGlzdCgpLHRoaXMuX21haW5TZXJpZXMuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLmdvdG9UaW1lKHZvaWQgMCx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dGhpcy5fc2Nyb2xsaW5nU3RhdGUudGFyZ2V0UG9pbnRBbGlnbm1lbnQsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6dGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGx9KSxidSYmIXRoaXMuX21haW5TZXJpZXMucmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCkpewpjb25zdCBlPXRoaXMuX21haW5TZXJpZXMuYmFycygpLmZpcnN0KCk7bnVsbCE9PWUmJnRoaXMuX3RpbWVTY2FsZS5zZXRMZWZ0RWRnZUZpeChlLmluZGV4KX19KSksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcy5vbGRTdGFydFZpc2libGVJbmRleD1OYU4sdGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLm9sZEVuZFZpc2libGVJbmRleD1OYU59KSksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCksIXRoaXMuX3JlYWRPbmx5KXt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5hZGRDaGlsZCgicHJpY2VBeGlzUHJvcGVydGllcyIsdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpKTtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTtlLnNob3dTdHVkeVRpdGxlcy5zdWJzY3JpYmUodGhpcywodD0+e3QudmFsdWUoKXx8ZS5zaG93U3R1ZHlBcmd1bWVudHMuc2V0VmFsdWUoITEpfSkpfXRoaXMuX21haW5TZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSx0aGlzLl9tYWluU2VyaWVzLm9uVGltZUZyYW1lQXBwbGllZCgpLnN1YnNjcmliZSh0aGlzLChlPT57Y29uc3QgdD1lP3tyZXM6dGhpcy5fbWFpblNlcmllcy5pbnRlcnZhbCgpLHZhbDplfTpudWxsO3RoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKHQpfSkpLHRoaXMuX21heGltaXplZFBhbmUuc3Vic2NyaWJlKCgoKT0+by5tb2RlbCgpLmZ1bGxVcGRhdGUoKSkpLHRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRHJhd2luZ3NWaXNpYmlsaXR5Q2hhbmdlZCksKDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkluZGljYXRvcnNWaXNpYmlsaXR5Q2hhbmdlZCksaWguZGF0ZUZvcm1hdFByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fY3VycmVudFRvb2wuc3Vic2NyaWJlKChlPT57aWYoKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkpe2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zU29ydGVkKCkubWFwKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKT9lLmlkOmUuaWQoKSkpO3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1lLHRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSl9dGhpcy5fbWF5YmVVcGRhdGVQcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXAoKSwhKDAsa2kuaXNMaW5lVG9vbExvYWRlZCkoZSkmJigwLGtpLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKT8oMCxraS5sb2FkTGluZVRvb2wpKGUpLnRoZW4oKCgpPT50aGlzLl9waGFudG9tU291cmNlQ29udGFpbmVyLm9uVG9vbENoYW5nZWQoKSkpOnRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25Ub29sQ2hhbmdlZCgpfSkpLHRoaXMuX3NpZ25hdHVyZVNvdXJjZXM9dGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNwYXduKCk7Y29uc3QgTT0oMCx1LmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+ZS5zaWduYXR1cmUoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fc2lnbmF0dXJlU291cmNlcy53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX3NvdXJjZXNTaWduYXR1cmVzPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmUuZmlsdGVyKGEubm90TnVsbCkpLE0ub3duZXJzaGlwKCkpfWRlc3Ryb3koKXt0aGlzLl9hYm9ydENvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLmNsZWFySW50ZXJ2YWxzKCksdGhpcy5yZXNldERlZmVycmVkU3R1ZGllcygpLHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT8ub25BbGlhc0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLmFsbFN0dWRpZXMoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlKSkpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSwoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EcmF3aW5nc1Zpc2liaWxpdHlDaGFuZ2VkKSx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5kZXN0cm95KCksdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWQuZGVzdHJveSgpLG51bGwhPT10aGlzLl93YXRlcm1hcmtTb3VyY2UmJih0aGlzLl93YXRlcm1hcmtTb3VyY2UuZGVzdHJveSgpLHRoaXMuX3dhdGVybWFya1NvdXJjZT1udWxsKSxBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAua2V5cygpKS5mb3JFYWNoKHRoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZSx0aGlzKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLmxlbmd0aCksKDAsbC5hc3NlcnQpKDA9PT10aGlzLl9mZ0N1c3RvbVNvdXJjZXMubGVuZ3RoKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX2JnQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLGwuYXNzZXJ0KSgwPT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLApsLmFzc2VydCkoMD09PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuc2l6ZSksdGhpcy5fcGFuZXMuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9wYW5lcy5sZW5ndGg9MCx0aGlzLl9zZXNzaW9ucz1udWxsLG51bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiYodGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1udWxsKSxudWxsIT09dGhpcy5fYWxlcnRzV2F0Y2hlciYmdGhpcy5fYWxlcnRzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93TGVnZW5kLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUeXBlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dhdGNoZWRUaGVtZVNwYXduLmRlc3Ryb3koKSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9bnVsbCwoMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksKDAsb3MuYXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvdW50ZG93bi51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCk/LmRlc3Ryb3koKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnNldFZhbHVlKG51bGwpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Nyb3NzSGFpclNlbGVjdFBvaW50TW9kZS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21haW5TZXJpZXMub25UaW1lRnJhbWVBcHBsaWVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcy5fdGltZVNjYWxlLHRoaXMuX3RpbWVTY2FsZS5pbnZhbGlkYXRlVmlzaWJsZUJhcnMpLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckhpZ2hMb3dQcmljZUNhY2hlKSx0aGlzLl90aW1lU2NhbGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLm9uU2Nyb2xsKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmRlc3Ryb3koKSx0aGlzLl90aW1lem9uZUV4Y2VwdEV4Y2hhbmdlLmRlc3Ryb3koKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPy5kZXN0cm95KCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fY3Jvc3NIYWlyU291cmNlLmRlc3Ryb3koKSx0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCksdGhpcy5fc2lnbmF0dXJlU291cmNlcy5kZXN0cm95KCksdGhpcy5fc291cmNlc1NpZ25hdHVyZXMuZGVzdHJveSgpLHRoaXMuX29uRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9vbkRlc3Ryb3llZC5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX29uRGVzdHJveWVkfXJlc3RhcnQoKXt0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKSx0aGlzLl90aW1lU2NhbGUucmVzZXQoKSx0aGlzLl9tYWluU2VyaWVzLnJlc3RhcnQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5yZXN0YXJ0JiZlIT09dGhpcy5fbWFpblNlcmllcyYmZS5yZXN0YXJ0KCk7dGhpcy5fc2Vzc2lvbnM/LmdldCgpPy5yZXN0YXJ0KCl9dmVyc2lvbigpe3JldHVybiAzfWNvbGxhcHNlZCgpe3JldHVybiB0aGlzLl9oaWJlcm5hdGVXVn12aXNpYmxlUmFuZ2VTdHVkaWVzSW5wdXRzKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMucmVhZG9ubHkoKX1jaGFydFNhdmVUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2F2ZVRpbWV9c2V0Q2hhcnRTYXZlVGltZShlKXt0aGlzLl9jaGFydFNhdmVUaW1lPWV9c3RhcnROb3RTdGFydGVkU3R1ZGllcygpewppZighdGhpcy5fbWFpblNlcmllcy5pc1N0YXJ0ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBzdHVkaWVzOiBtYWluIHNlcmllcyBpcyBub3Qgc3RhcnRlZCIpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSkoMCx0aS5pc1N0dWR5KShlKSYmIWUuaXNTdGFydGVkKCkmJmUucmVzdGFydD8uKCl9dW5kb01vZGVsKCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbH1vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInRpbWVzY2FsZV91cGRhdGUiOntjb25zdCB0PWUucGFyYW1zO3RoaXMuX3VwZGF0ZVRpbWVTY2FsZSh7aW5kZXg6dC5pbmRleCx6b2Zmc2V0OnQuem9mZnNldCx2YWx1ZXM6dC5jaGFuZ2VzLGluZGV4RGlmZnM6dC5pbmRleF9kaWZmLGJhc2VJbmRleDp0LmJhc2VJbmRleCxtYXJrczp0Lm1hcmtzLGNsZWFyRmxhZzp0LmNsZWFyLGNsZWFyVGlja01hcmtzOnQuY2xlYXJUaWNrTWFya3N9KTticmVha31jYXNlInRpbWVzY2FsZV9jb21wbGV0ZWQiOntjb25zdCB0PUJvb2xlYW4oZS5wYXJhbXNbMF0pO3RoaXMuX3RpbWVTY2FsZS5vblRpbWVTY2FsZUNvbXBsZXRlZCh0KTticmVha319fWFkZFN0cmF0ZWd5U291cmNlKGUsdCl7MSE9PXQmJi0xPT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJih0aGlzLl9zdHJhdGVneVNvdXJjZXMucHVzaChlKSx0aGlzLl9zdHJhdGVneVNvdXJjZXNDaGFuZ2UuZmlyZSh0KSx0aGlzLnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpKX1yZW1vdmVTdHJhdGVneVNvdXJjZShlLHQpe2lmKDE9PT10KXJldHVybjtjb25zdCBpPXRoaXMuX3N0cmF0ZWd5U291cmNlcy5pbmRleE9mKGUpO2lmKC0xIT09aSl7aWYodGhpcy5fc3RyYXRlZ3lTb3VyY2VzLnNwbGljZShpLDEpWzBdPT09dGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2UudmFsdWUoKSYmdGhpcy51bnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKCksdGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmxlbmd0aD4wKXtjb25zdCBlPXRoaXMuX3N0cmF0ZWd5U291cmNlc1t0aGlzLl9zdHJhdGVneVNvdXJjZXMubGVuZ3RoLTFdO3RoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSl9dGhpcy5fc3RyYXRlZ3lTb3VyY2VzQ2hhbmdlLmZpcmUodCl9fXNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpey0xIT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlLnNldFZhbHVlKGUpfXVuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXt0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5zZXRWYWx1ZShudWxsKX1hY3RpdmVTdHJhdGVneVNvdXJjZSgpe3JldHVybiB0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5yZWFkb25seSgpfXN0cmF0ZWd5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHJhdGVneVNvdXJjZXN9c3RyYXRlZ3lTb3VyY2VzQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZX1yZXBsYXlTdHVkeVN0cmF0ZWd5KCl7cmV0dXJuIHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3l9c2V0UmVwbGF5U3R1ZHlTdHJhdGVneShlKXt0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5LnNldFZhbHVlKGUpfWFzeW5jIHJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7aWYobnVsbD09PXRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMpe2NvbnN0IGU9YXdhaXQoMCxwaC5nZXRSZXBsYXlTdHJhdGVneU1ldGFJbmZvKSgpO2lmKG51bGwhPT10aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzKXJldHVybiB0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzO3RoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHM9bmV3IEdyLkRlZmF1bHRQcm9wZXJ0eSh7ZGVmYXVsdE5hbWU6InJlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMiLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOigpPT4oMCxhLmNsb25lKShlLmRlZmF1bHRzLmlucHV0cyl9KX1yZXR1cm4gdGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0c31jbGVhclJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7dGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0cz1udWxsfXNldFNjcm9sbEVuYWJsZWQoZSl7dGhpcy5fc2Nyb2xsRW5hYmxlZD1lfXNjcm9sbEVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRW5hYmxlZH1zZXRab29tRW5hYmxlZChlKXt0aGlzLl96b29tRW5hYmxlZD1lfXpvb21FbmFibGVkKCl7cmV0dXJuIHRoaXMuX3pvb21FbmFibGVkfWRyYWdFeHBvcnRFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2RyYWdFeHBvcnRFbmFibGVkfWFzeW5jIHNldERyYWdFeHBvcnRFbmFibGVkKGUpe2NvbnNvbGUuZXJyb3IoImZlYXR1cmUgaXMgbm90IGVuYWJsZWQiKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe3RoaXMuc2V0VGltZVZpZXdwb3J0KGUsdCk7bGV0IHI9TWF0aC5taW4oaSxzKSxvPU1hdGgubWF4KGkscyk7Y29uc3QgYT1uLmRlZmF1bHRQcmljZVNjYWxlKCk7YS5pc1BlcmNlbnRhZ2UoKXx8YS5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSxhLmlzTG9nKCkmJihyPWEucHJpY2VUb0xvZ2ljYWwociksbz1hLnByaWNlVG9Mb2dpY2FsKG8pKSxhLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9c2V0VGltZVZpZXdwb3J0KGUsdCl7Y29uc3QgaT10aGlzLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpO251bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJm51bGwhPT1pJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxpLnZhbCkmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsfHwodGhpcy50aW1lU2NhbGUoKS56b29tVG9CYXJzUmFuZ2UoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksCnRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbiksdGhpcy5saWdodFVwZGF0ZSgpKX1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfWNhblpvb21Jbigpe3JldHVybiB0aGlzLl90aW1lU2NhbGUuY2FuWm9vbUluKCkmJnRoaXMuX3pvb21FbmFibGVkfWNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLmNhblpvb21PdXQoKSYmdGhpcy5fem9vbUVuYWJsZWR9b25QYW5lVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9cGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkfWRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWR9c3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZX1hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5fWFkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzRW5hYmxlZH1hbGxvd2VkQWRqdXN0bWVudCgpe3JldHVybiB0aGlzLl9hbGxvd2VkQWRqdXN0bWVudH1wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZX1zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VQcm9wZXJpdGVzQ2hhbmdlZH1zb3VyY2VaT3JkZXJDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWR9em9vbVRpbWUoZSx0LGkpe2lmKCF0aGlzLl96b29tRW5hYmxlZClyZXR1cm47Y29uc3Qgcz10aGlzLnRpbWVTY2FsZSgpO2lmKHMuaXNFbXB0eSgpfHwwPT09dClyZXR1cm47Y29uc3Qgbj1zLndpZHRoKCk7ZT1NYXRoLm1heCgxLE1hdGgubWluKGUsbi0yKSkscy56b29tKGUsdCxpKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9bGluZUJlaW5nRWRpdGVkKCl7cmV0dXJuIHRoaXMuX2xpbmVCZWluZ0VkaXRlZD8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZVBvaW50QmVpbmdFZGl0ZWQoKXtyZXR1cm4gdGhpcy5fbGluZUJlaW5nRWRpdGVkPy5wb2ludEluZGV4Pz9udWxsfWxpbmVQb2ludEJlaW5nQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LnN0YXJ0Q2hhbmdpbmdQb2ludD8/bnVsbH1hY3RpdmVJdGVtQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZH1tYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXN9dXBkYXRlQWxsUGFuZVZpZXdzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXQudXBkYXRlQWxsVmlld3MoZSk7dGhpcy5fd2F0ZXJtYXJrU291cmNlPy51cGRhdGVBbGxWaWV3cyhlKX1kYXRhU291cmNlcygpe2NvbnN0IGU9W3RoaXMuY3Jvc3NoYWlyU291cmNlKCldO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuZGF0YVNvdXJjZXMoKSllLnB1c2goaSk7cmV0dXJuIGV9cHJpY2VEYXRhU291cmNlcygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpZS5wdXNoKGkpO3JldHVybiBlfXN5bWJvbFNvdXJjZXMoKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuc3ltYm9sU291cmNlcygpKWUucHVzaChpKTtyZXR1cm4gZX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7bGV0IHQ9W3RoaXMuX2Nyb3NzSGFpclNvdXJjZV07Zm9yKGxldCBpPTA7aTx0aGlzLl9wYW5lcy5sZW5ndGg7aSsrKXtsZXQgcz10aGlzLl9wYW5lc1tpXS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpO2UmJihzPXMuc2xpY2UoKS5yZXZlcnNlKCkpLHQ9dC5jb25jYXQocyl9cmV0dXJuIHR9bGluZVRvb2xCeUxpbmtLZXkoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpe2NvbnN0IGk9dC5saW5lVG9vbEJ5TGlua0tleShlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLl90aW1lU2NhbGV9c2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGlvbn1wcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXBJZHMoKXtyZXR1cm4gdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzfXNlbGVjdGlvbk1hY3JvKGUsdD0hMSl7Y29uc3QgaT10aGlzLnNlbGVjdGlvbigpLmFsbEl0ZW1zKCk7ZSh7cmVtb3ZlSXRlbUZyb21TZWxlY3Rpb246dGhpcy5fcmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24sYWRkSXRlbVRvU2VsZWN0aW9uOnRoaXMuX2FkZEl0ZW1Ub1NlbGVjdGlvbixjbGVhclNlbGVjdGlvbjp0aGlzLl9jbGVhclNlbGVjdGlvbixzZWxlY3Rpb25PcGVyYXRpb25BdmFpbGFibGU6dGhpcy5fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlLmJpbmQodGhpcyksc2VsZWN0aW9uOnRoaXMuc2VsZWN0aW9uLmJpbmQodGhpcyl9KTtjb25zdCBzPXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKSxuPSgwLGcuc3VidHJhY3QpKGkscykscj0oMCxnLnN1YnRyYWN0KShzLGkpO3IuY29uY2F0KGkpLmZvckVhY2goKGU9PnsoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKXx8ZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zZWxlY3Rpb25DaGFuZ2VFdmVudCkoKSl9KSkKO2NvbnN0IG89W10sYT1bXTtpZighdClmb3IoY29uc3QgZSBvZiBuKSgwLHJpLmlzTGluZVRvb2wpKGUpJiYoKDAscmkuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkoZSkmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCksZS5zaG91bGRCZVJlbW92ZWRPbkRlc2VsZWN0KCkmJm51bGwhPT10aGlzLmRhdGFTb3VyY2VGb3JJZChlLmlkKCkpJiZvLnB1c2goZSkpLCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpJiZlLnNob3VsZEJlUmVtb3ZlZE9uRGVzZWxlY3QoKSYmbnVsbCE9PXRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZ3JvdXBGb3JJZChlLmlkKSYmYS5wdXNoKGUpO2lmKDE9PT1yLmxlbmd0aCl7Y29uc3RbZV09cjsoMCxyaS5pc0xpbmVUb29sKShlKSYmZS5oYXNBbGVydCgpLnZhbHVlKCkmJjA9PT1lLmFsZXJ0U3RhdHVzKCkudmFsdWUoKSYmZS5zeW5jaHJvbml6ZUFsZXJ0KCkuY2F0Y2goKCgpPT57fSkpfW8ubGVuZ3RoPjAmJnRoaXMuX3VuZG9Nb2RlbC5yZW1vdmVTb3VyY2VzKG8sITEsdnUpLGEubGVuZ3RoPjAmJmEuZm9yRWFjaCgoZT0+e3RoaXMuX3VuZG9Nb2RlbC5saW5lVG9vbHNHcm91cENvbnRyb2xsZXIoKS5yZW1vdmVHcm91cChlKX0pKSx0aGlzLmxpZ2h0VXBkYXRlKCksKG4ubGVuZ3RoPjB8fHIubGVuZ3RoPjApJiZ0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQuZmlyZSgpLHRoaXMuX21heWJlVXBkYXRlUHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwKCl9b25TZWxlY3RlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRTb3VyY2VDaGFuZ2VkfWNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpO3RoaXMuX3NlbGVjdGlvbi5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSxlLmxlbmd0aCE9PXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKS5sZW5ndGgmJnRoaXMuX3NlbGVjdGVkU291cmNlQ2hhbmdlZC5maXJlKCl9bGluZVRvb2xzR3JvdXBNb2RlbCgpe3JldHVybiB0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsfXJlc3RvcmVMaW5lVG9vbHNHcm91cHMoZSl7dGhpcy5fdW5zdWJzY3JpYmVGcm9tTGluZVRvb2xzR3JvdXBNb2RlbCgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWw9c2guZnJvbVN0YXRlKHRoaXMsZSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCl9cmVhbGlnbkxpbmVUb29scyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9wYW5lcykodm9pZCAwPT09ZXx8dC5oYXNEYXRhU291cmNlKGUpKSYmdC5yZWFsaWduTGluZVRvb2xzKGUpJiZ0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSh0KX1jb3B5VG9PdGhlckNoYXJ0cyhlLHQpe2NvbnN0IGk9dGhpcy5tYWluU2VyaWVzKCkscz1pLnN5bmNNb2RlbCgpLG49dGhpcy50aW1lU2NhbGUoKTtpZihzKWZvcihjb25zdCByIG9mIGUpe2lmKCFyLmlzU3luY2hyb25pemFibGUoKSljb250aW51ZTtjb25zdCBlPXIubGlua0tleSgpLnZhbHVlKCl8fCgwLGx0LnJhbmRvbUhhc2gpKCk7ci5saW5rS2V5KCkuc2V0VmFsdWUoZSk7Y29uc3Qgbz1yLnN0YXRlKCExKSxhPXIubm9ybWFsaXplZFBvaW50cygpLGM9ci5ub3JtYWxpemVkUG9pbnRzRm9yQ3JlYXRpbmcoKSxoPXIucHJvcGVydGllcygpLmludGVydmFsLnZhbHVlKCksZD1pLmludGVydmFsKCksdT1lPT57aWYoeC5JbnRlcnZhbC5pc0VxdWFsKGgsZCkpcmV0dXJuIGUubWFwKChlPT57Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKG4udGltZVBvaW50VG9JbmRleChlLnRpbWVfdCkpK2Uub2Zmc2V0O3JldHVybntwcmljZTplLnByaWNlLHRpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodCkpfX0pKTt7Y29uc3QgdD1zLmNyZWF0ZU5ld01vZGVsV2l0aFJlc29sdXRpb24oaCk7cmV0dXJuIGUubWFwKChlPT4oe3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOjA9PT1lLm9mZnNldD9lLnRpbWVfdDp0LnByb2plY3RUaW1lKGUudGltZV90LGUub2Zmc2V0KX0pKSl9fSxwPXUoYSksXz11KGMpLG09ey4uLm8saWQ6ci5pZCgpLGxpbmtLZXk6ZSxwb2ludHM6cCxwb2ludHNGb3JDcmVhdGluZzpfLGxpbmV0b29sOnIudG9vbG5hbWUsbW9kZWw6dGhpcyxzeW1ib2w6aS5zeW1ib2woKSx3aXRoVW5kbzp0LHpPcmRlcjpyLnpvcmRlcigpLGZpbmFsU3RhdGU6e3BvaW50czphLGludGVydmFsOmh9LHBvaW50UG9zaXRpb25QZXJjZW50czpyLmlzRml4ZWQoKT9yLmNhbGNQb3NpdGlvblBlcmNlbnRzKCk6dm9pZCAwLHNoYXJpbmdNb2RlOnIuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTsoMCxULmNvcHlMaW5lVG9vbCkobSl9fWlzU25hcHNob3QoKXtyZXR1cm4gdGhpcy5faXNTbmFwc2hvdH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vcHRpb25zLm9uV2lkZ2V0fWhpZGVJZGVhcygpe3JldHVybiB0aGlzLl9vcHRpb25zLmhpZGVJZGVhc311cGRhdGVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9pbnZhbGlkYXRpb25NYXNrRm9yU291cmNlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlU291cmNlUHJpY2VTY2FsZShlKXtjb25zdCB0PXRoaXMuX2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2VQcmljZVNjYWxlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlUGFuZShlKXt0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSkpfXVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleChlKXtjb25zdCB0PXRoaXMubWFpblNlcmllcygpLmJhcnMoKSxpPSh0LmZpcnN0SW5kZXgoKT8/MS8wKTwoZT8uaW5kZXg/Py0xLzApLHM9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpO2lmKHQuaXNFbXB0eSgpfHx0aGlzLl91cGRhdGVCYXNlSW5kZXgoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lmxhc3RJbmRleCgpKSwhIShlJiZlLmluZGV4PjApKSxpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY3JvbGxlZCgpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY2FsZWQoKSl7CmNvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpLXMsdD10aGlzLl90aW1lU2NhbGUucmlnaHRPZmZzZXQoKTt0LXRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpPmUmJnRoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldCh0LWUpfX1zZXRJbnRlcnZhbChlLHQpe2NvbnN0IGk9c2V0SW50ZXJ2YWwoZSx0KTtyZXR1cm4gdGhpcy5fbW9kZWxJbnRlcnZhbHMucHVzaChpKSxpfWNsZWFySW50ZXJ2YWwoZSl7Y2xlYXJJbnRlcnZhbChlKTtjb25zdCB0PXRoaXMuX21vZGVsSW50ZXJ2YWxzLmluZGV4T2YoZSk7dD4tMSYmdGhpcy5fbW9kZWxJbnRlcnZhbHMuc3BsaWNlKHQsMSl9Y2xlYXJJbnRlcnZhbHMoKXtmb3IobGV0IGU9MDtlPHRoaXMuX21vZGVsSW50ZXJ2YWxzLmxlbmd0aDtlKyspY2xlYXJJbnRlcnZhbCh0aGlzLl9tb2RlbEludGVydmFsc1tlXSk7dGhpcy5fbW9kZWxJbnRlcnZhbHM9W119Y3JlYXRlU3R1ZHlJbnNlcnRlcihlKXtyZXR1cm4gbmV3IGd1KGUse2NyZWF0ZVN0dWR5OmU9PnRoaXMuaW5zZXJ0U3R1ZHlXaXRoUGFyYW1zKGUpLHN0b3JlRmFpbGVkU3R1YjplPT57fX0pfWluc2VydFN0dWR5V2l0aFBhcmFtcyhlKXtjb25zdHtzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOnMsdGFyZ2V0Wk9yZGVyOm4scHJvcHNTdGF0ZTpyLGZvcmNlT3ZlcmxheTpvLHBhcmVudFNvdXJjZXM6YyxwcmVmZXJyZWRQcmljZVNjYWxlOmgsYWxsb3dDaGFuZ2VDdXJyZW5jeTpkLGFsbG93Q2hhbmdlVW5pdDp1LGFsbG93Q2hhbmdlTWV0cmljOnAscGFuZVNpemU6Xyx0YXJnZXRTY2FsZU1vZGU6bSxpZDpnfT1lO2xldCBmPW51bGw7aWYoIW8mJnZvaWQgMCE9PXQuZ3JvdXBpbmdLZXkpe2NvbnN0IGU9dGhpcy5maW5kTm9uT3ZlcmxheVN0dWR5V2l0aEdyb3VwaW5nS2V5KHQuZ3JvdXBpbmdLZXkpO251bGwhPT1lJiYoZj1lLnBhbmUpfW51bGw9PT1mJiYob3x8dC5pc19wcmljZV9zdHVkeT9mPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGM/LlswXT8/dGhpcy5fbWFpblNlcmllcykpOihmPXRoaXMuY3JlYXRlUGFuZSgpLHZvaWQgMCE9PV8mJmYuc2V0UGFuZVNpemUoXykpKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09dC5pZCYmdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh7bG9nOiExLHBlcmNlbnRhZ2U6ITB9KTtjb25zdCBTPSgwLGEubWVyZ2UpKCgwLFdvLmRlZmF1bHQpKHI/P3t9KSx7aW5wdXRzOnMscGFyZW50U291cmNlczpbXX0pO2xldCB2PSExLHk9bnVsbCxiPW51bGw7Y29uc3Qgdz1jPz9bXSxDPVByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDM3NzQ5KSkudGhlbigoKHtwcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzOmV9KT0+ZSh0LFMsZiwoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSx3KSkpLnRoZW4oKGU9Pntjb25zdCBpPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pO3JldHVybiBsYSh0aGlzLGUsdyxpLG5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pLGcsdm9pZCAwKX0pKSxQPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gQy50aGVuKChlPT57aWYodilyZXR1cm4gZS5zdG9wKCksdm9pZCBlLmRlc3Ryb3k/LigpO3k9ZS5pZCgpO2NvbnN0IHQ9Zi5maW5kU3VpdGFibGVTY2FsZShlLGM/LlswXT8/dGhpcy5tYWluU2VyaWVzKCksaCk7aWYoYj10Lm1vZGUoKSx0PT09dGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoZSkpe2NvbnN0IGk9ZD96bihlLHQsdGhpcywhMCk6bnVsbCxzPXU/KDAsZHUuc291cmNlTmV3VW5pdE9uUGlubmluZ1RvUHJpY2VTY2FsZSkoZSx0LHRoaXMsITApOm51bGwsbj1wP0VoKGUsdCx0aGlzKTpudWxsO251bGw9PT1pJiZudWxsPT09cyYmbnVsbD09PW58fGUuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTppPz92b2lkIDAsdW5pdDpzPz92b2lkIDAsbWV0cmljOm4/P3ZvaWQgMH0pfWlmKCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShmKS5oYXNEYXRhU291cmNlKHRoaXMubWFpblNlcmllcygpKSYmeXUmJiFRLmdldEJvb2woImVuYWJsZV9zeW1ib2xfbGFiZWxzX29uX2luc2VydGluZ19jb21wYXJlX29uY2UiLCExKSYmKCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMuc2V0VmFsdWUoITApLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSxRLnNldFZhbHVlKCJlbmFibGVfc3ltYm9sX2xhYmVsc19vbl9pbnNlcnRpbmdfY29tcGFyZV9vbmNlIiwhMCkpLFAucmVzb2x2ZShlLnN0YXJ0KCkpLG4mJmYuaWQoKT09PW4ucGFuZUlkKWYuaW5zZXJ0RGF0YVNvdXJjZShlLHQsbi56b3JkZXIpO2Vsc2V7Zi5hZGREYXRhU291cmNlKGUsdCwhMSk7bnVsbCE9PWUucHJlZmVycmVkWk9yZGVyKCkmJmYuaW5zZXJ0QWZ0ZXIoW2VdLHRoaXMubWFpblNlcmllcygpKX12b2lkIDAhPT1tJiZ0LnNldE1vZGUobSksZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2V0T3duZXJTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGYsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGwoe3N0dWRpZXM6W2VdLHJlYXNvbnM6bmV3IFNldChbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uXSl9KSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKHsKc3R1ZGllczpbZV0sZm9yY2U6ITB9KSx0aGlzLl9zdHVkeUluc2VydGVkLmZpcmUoZSksdGhpcy5hbGVydHNXYXRjaGVyKCk/LnN5bmNTb3VyY2VBbGVydExhYmVscyhlKSxlLm1heE9mZnNldCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQse2NhbGxXaXRoTGFzdDohMH0pfSkpLHtzdHVkeTpDLHN0YXJ0UHJvbWlzZTpQLnByb21pc2UsY2FuY2VsOigpPT52PSEwLGVudGl0eUlkOigpPT55LG9yaWdpbmFsU2NhbGVNb2RlOigpPT5ifX1yZXBsYWNlU3R1ZHlTdHViKGUsdCl7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcz1lLnByaWNlU2NhbGUoKSxuPWUuem9yZGVyKCkscj1lLm93bmVyU291cmNlKCk7cmV0dXJuIHRoaXMucGFuZUZvclNvdXJjZShlKT09PWk/aS5yZXBsYWNlU291cmNlKGUsdCxzKTooaS5pbnNlcnREYXRhU291cmNlKHQscyxuKSx0aGlzLnJlbW92ZVNvdXJjZShlKSksdC5zZXRPd25lclNvdXJjZShyKSx0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoaT0+e2kub3duZXJTb3VyY2UoKT09PWUmJihpLnNldE93bmVyU291cmNlKHQpLCgwLHJpLmlzTGluZVRvb2wpKGkpJiZpLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCkmJiFpLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCkmJmkuc2V0VGFyZ2V0U2lnbmF0dXJlKHQuc2lnbmF0dXJlKCkudmFsdWUoKSkpfSkpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdC5zdGFydCgpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGksKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHQuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLCEwfWluc2VydFN0dWR5U3R1YihlLHQsaSxzKXtjb25zdCBuPXZvaWQgMCE9PXQscj1uZXcgU2EuU3R1ZHlTdHViKHRoaXMsaT8/bnVsbCxlLHQscz8/bnVsbCk7bGV0IG87aWYodHx8IW4pe289KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1haW5QYW5lKCkpO2NvbnN0IGU9ITA9PT10P3RoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTpvLmNyZWF0ZVByaWNlU2NhbGVBdFBvc2l0aW9uKCJvdmVybGF5Iik7by5hZGREYXRhU291cmNlKHIsZSwhMSl9ZWxzZSBvPXRoaXMuY3JlYXRlUGFuZSgpLG8uYWRkRGF0YVNvdXJjZShyLG51bGwsITEpO3JldHVybiByLnNldFpvcmRlcihvLm5ld1N0dWR5Wk9yZGVyKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKG8sKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHIuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHJ9cmVtb3ZlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5kYXRhU291cmNlRm9ySWQoZSk7cmV0dXJuIG51bGw9PT10Pyh3dS5sb2dOb3JtYWwoIlN0dWR5U3R1YiBpZD0iK2UrIiBpcyBub3QgZm91bmQgaW4gY2hhcnQgbW9kZWwiKSwhMSk6KHRoaXMucmVtb3ZlU291cmNlKHQpLCEwKX1yZXN0b3JlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5pbnNlcnRTdHVkeVN0dWIoZS50aXRsZSxlLmlzT3ZlcmxheSxlLmRlc2NyaXB0b3IpO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UodCk/LmNoYW5nZVNvdXJjZUlkKHQsZS5pZCksdC5zZXRTdGF0dXMoZS5zdGF0dXMpLHR9YnVsa0FjdGlvbk1hY3JvKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXM7dC5mb3JFYWNoKChlPT5lLmJlZ2luQnVsa0FjdGlvbigpKSksZSgpLHQuZm9yRWFjaCgoZT0+ZS5lbmRCdWxrQWN0aW9uKCkpKX1hbGxMaW5lVG9vbHMoKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sKX1hbGxMaW5lVG9vbHNJbmNsdWRpbmdIaWRkZW4oKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sLER1KX1zZXRIb3ZlcmVkU291cmNlKGUsdD1udWxsLGkpe2NvbnN0IHM9dGhpcy5faG92ZXJlZFNvdXJjZSE9PWU7dGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1pPz9udWxsLCFzJiYoMCxNaS5oaXRUZXN0UmVzdWx0RGF0YUFyZUVxdWFsKSh0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhLHQpfHwodGhpcy5fbGFzdEhvdmVyZWRIaXR0ZXN0RGF0YT10LHRoaXMuX2hvdmVyZWRTb3VyY2UmJih0aGlzLl9ob3ZlcmVkU291cmNlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLmhvdmVyQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKHRoaXMuX2hvdmVyZWRTb3VyY2UpKSx0aGlzLl9ob3ZlcmVkU291cmNlPWUsdGhpcy5faG92ZXJlZFNvdXJjZSYmKHRoaXMuX2hvdmVyZWRTb3VyY2UudXBkYXRlQWxsVmlld3MoKDAsdG4uaG92ZXJDaGFuZ2VFdmVudCkoKSksdGhpcy51cGRhdGVTb3VyY2UodGhpcy5faG92ZXJlZFNvdXJjZSkpLHMmJnRoaXMuX2hvdmVyZWRTb3VyY2VDaGFuZ2VkLmZpcmUoZSkpfXNldEhpZ2hsaWdodGVkUGxvdChlLHQpeygwLGEuZGVlcEVxdWFscykoZSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm8/LnN0dWR5SWRzKSYmdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPy5wbG90SWQ9PT10fHwodGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89e3N0dWR5SWRzOmUscGxvdElkOnR9LHRoaXMuX3VwZGF0ZUhpZ2hsaWdodGVkU291cmNlKCkpfWNsZWFySGlnaGxpZ2h0ZWRQbG90KCl7dGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89bnVsbH1oaWdobGlnaHRlZFBsb3RJbmZvKCl7cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVkU291cmNlSW5mb31wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Y2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRTZXNzaW9ufWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXNzaW9ucz8uZ2V0KCk/LnN0b3AoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5kaXNjb25uZWN0JiZlLmRpc2Nvbm5lY3QoKTt0aGlzLl90aW1lU2NhbGUuZGlzY29ubmVjdCgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2V9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLl9ncmlkU291cmNlfXB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lU291cmNlKCl7CmZvcihjb25zdCBlIG9mIHRoaXMuX2JhcnNNYXJrc1NvdXJjZXMpaWYoZSBpbnN0YW5jZW9mIF9lLlB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lKXJldHVybiBlO3JldHVybiBudWxsfWhvdmVyZWRTb3VyY2UoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZX1ob3ZlcmVkU291cmNlT3JpZ2luKCl7cmV0dXJuIHRoaXMuX2hvdmVyZWRTb3VyY2VPcmlnaW59aG92ZXJlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWR9bGFzdEhpdHRlc3REYXRhKCl7cmV0dXJuIHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGF9bGFzdFNlbGVjdGVkSGl0dGVzdERhdGEoKXtyZXR1cm4gdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGF9bGlnaHRVcGRhdGUoKXt0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpKX1mdWxsVXBkYXRlKCl7dGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suZnVsbCgpKX1kcmF3VGltZSgpe3JldHVybiB0aGlzLl9kcmF3VGltZX1hc3luYyBzeW5jVGltZVdpdGhNb2RlbChlLHQsaSl7Y29uc3Qgcz10aGlzLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtpZihudWxsPT09cylyZXR1cm47Y29uc3Qgbj0xZTMqdGhpcy5jcmVhdGVTeW5jUG9pbnQoZSxzLnN5bmNTb3VyY2VUYXJnZXQoKSkuc291cmNlVGltZVRvVGFyZ2V0VGltZSh0LzFlMykscj0oMCxvLmdldF90aW1lem9uZSkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWV6b25lRXhjZXB0RXhjaGFuZ2UoKS52YWx1ZSgpKSk7bGV0IGE9KDAsby51dGNfdG9fY2FsKShyLG4pO3JldHVybiB0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpJiYoYT1zLmdldFNlc3Npb24oKS5zcGVjLmNvcnJlY3RUcmFkaW5nRGF5KGEpLCgwLG8uc2V0X2htcykoYSwwLDAsMCwwLCgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpKSksdGhpcy5fZ290b1RpbWVJbXBsKGEuZ2V0VGltZSgpLHt0YXJnZXRQb2ludEFsaWdubWVudDoiY2VudGVyIixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITEsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITEsLi4uaX0pLmNhdGNoKCgoKT0+e30pKX1nb3RvVGltZShlLHQpe3JldHVybiB0aGlzLl9nb3RvVGltZUltcGwoZSx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6ImNlbnRlciIsYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlOiEwLGF1dG9zY2FsZUFmdGVyU2Nyb2xsOiEwLC4uLnR9KS5jYXRjaCgoKCk9Pnt9KSl9cmVjYWxjdWxhdGVQYW5lKGUsdCl7ZT8ucmVjYWxjdWxhdGUodCl9cmVjYWxjdWxhdGVBbGxQYW5lcyhlKXt0aGlzLl9wYW5lcy5mb3JFYWNoKCh0PT50LnJlY2FsY3VsYXRlKGUpKSksdGhpcy51cGRhdGVBbGxQYW5lVmlld3MoZSksdGhpcy5jcm9zc2hhaXJTb3VyY2UoKS51cGRhdGVBbGxWaWV3cyhlKX1hc3luYyBnb3RvVGltZVJhbmdlKGUsdCxpKXtjb25zdCBzPXRoaXMudGltZVNjYWxlKCksbj1zLnRpY2tNYXJrcygpLHI9dGhpcy5tYWluU2VyaWVzKCk7aWYoaXx8dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U/LmRlZmVycmVkLnJlamVjdCgpLHZvaWQgMD09PW4ubWluSW5kZXgpcmV0dXJuIHZvaWQoaXx8KHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlPXtmcm9tOmUsdG86dCxkZWZlcnJlZDooMCxBdC5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCl9KSk7bGV0IGE9ZSxjPXQ7aWYobnVsbCE9PXIuc3ltYm9sSW5mbygpKXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSkscz0oMCxvLmdldF90aW1lem9uZSkoaSksbj0oMCxvLnV0Y190b19jYWwpKHMsZSksaD0oMCxvLnV0Y190b19jYWwpKHMsdCk7aWYoci5pc0RXTSgpKXtjb25zdCBlPSgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpOygwLG8uc2V0X2htcykobiwwLDAsMCwwLGUpLCgwLG8uc2V0X2htcykoaCwwLDAsMCwwLGUpfWE9bi5nZXRUaW1lKCksYz1oLmdldFRpbWUoKX1jb25zdCBoPSgwLGwuZW5zdXJlRGVmaW5lZCkobi5tYXhJbmRleCksZD0oMCxsLmVuc3VyZURlZmluZWQpKG4ubWluSW5kZXgpO2lmKCEoYT49KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGQpKS52YWx1ZU9mKCl8fHIuZW5kT2ZEYXRhKCl8fGkpKXtjb25zdCBzPXt0eXBlOiJ0aW1lLXJhbmdlIixmcm9tOmUvMWUzLHRvOnQvMWUzfTtyZXR1cm4gbnVsbD09PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT17cmFuZ2U6cyxhY3R1YWw6ITB9LHIubG9hZERhdGFUbyhzKSksaXx8KGk9dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9e2Zyb206ZSx0bzp0LGRlZmVycmVkOigwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKX0pLGkuZGVmZXJyZWQucHJvbWlzZX17Y29uc3QgZT0oZSx0KT0+ZTx0LHQ9ZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGUpKS52YWx1ZU9mKCksbz0oMCxnLmxvd2VyYm91bmRFeHQpKHQsYSxlLG4ubmVhcmVzdEluZGV4KGEpLGgpO2xldCB1PWE9PT1jP286KDAsZy5sb3dlcmJvdW5kRXh0KSh0LGMsZSxuLm5lYXJlc3RJbmRleChjKSxoKTt0aGlzLl9sYXN0R290b1RpbWVSYW5nZT1udWxsLG51bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJih0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsPSExKTtjb25zdCBwPXMuYmFzZUluZGV4KCk7aWYobytNYXRoLm1heCh1LW8rMSxzLm1pblZpc2libGVCYXJDb3VudCgpKT5wKXtjb25zdCBlPXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7dS1wPGUmJih1PXArZSl9Y29uc3QgXz1vPT09dSYmbz09PWQmJnIuZW5kT2ZEYXRhKCk/by0xOm87cy56b29tVG9CYXJzUmFuZ2UoXyx1KSx0aGlzLnVwZGF0ZUFsbFBhbmVWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCksaT8uZGVmZXJyZWQucmVzb2x2ZSgpfX1wYW5lRm9yU291cmNlKGUpe2lmKGU9PT10aGlzLl9tYWluU2VyaWVzLmFjdGl2ZVN0dWR5QmluZGluZygpKXJldHVybiB0aGlzLm1haW5QYW5lKCk7aWYoISgwLApBaS5pc0RhdGFTb3VyY2UpKGUpKXJldHVybiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAudmFsdWVzKCkpLmluY2x1ZGVzKGUpP3RoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSk6bnVsbDtmb3IobGV0IHQ9dGhpcy5fcGFuZXMubGVuZ3RoLTE7dD49MDt0LS0paWYodGhpcy5fcGFuZXNbdF0uaGFzRGF0YVNvdXJjZShlKSlyZXR1cm4gdGhpcy5fcGFuZXNbdF07cmV0dXJuIGUgaW5zdGFuY2VvZiBNaC5CYXJzTWFya3NDb250YWluZXI/dGhpcy5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKTpudWxsfXBhbmVGb3JMaW5lVG9vbHNHcm91cChlKXtyZXR1cm4gdGhpcy5wYW5lRm9yU291cmNlKGUubGluZVRvb2xzKClbMF0pfW1haW5QYW5lKCl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKGU9PmUuaXNNYWluUGFuZSgpLnZhbHVlKCkpKT8/bnVsbH1sYXN0UGFuZSgpe3JldHVybiB0aGlzLl9wYW5lc1t0aGlzLl9wYW5lcy5sZW5ndGgtMV19cmVtb3ZlU291cmNlKGUsdCl7dGhpcy5zZWxlY3Rpb25NYWNybygodD0+dC5yZW1vdmVJdGVtRnJvbVNlbGVjdGlvbihlKSksITApLHRoaXMuX2hvdmVyZWRTb3VyY2U9PT1lJiYodGhpcy5faG92ZXJlZFNvdXJjZT1udWxsLHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGE9bnVsbCksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQuaW5jbHVkZXMoZSkmJih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQubGVuZ3RofHwodGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9bnVsbCkpLGU9PT10aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LmxpbmVEYXRhU291cmNlJiYodGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSksZT09PXRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiYodGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSksIXQmJmUuc3RvcCYmZS5zdG9wKCk7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkucmVtb3ZlU291cmNlQWxlcnRMYWJlbHMoZSk7Y29uc3QgaT10aGlzLmRldGFjaFNvdXJjZShlKSxzPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtyZXR1cm4oMCx0aS5pc1N0dWR5KShlKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpJiZlLnByaWNlU2NhbGUoKT09PXMmJnMuaXNQZXJjZW50YWdlKCkmJjE9PT1zLnNlcmllc0xpa2VTb3VyY2VzKCkubGVuZ3RoJiZzLnNldE1vZGUoe3BlcmNlbnRhZ2U6ITF9KSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLCgwLHRpLmlzU3R1ZHkpKGUpJiYoKDAsJC5lbWl0KSgic3R1ZHlfZXZlbnQiLGUuaWQoKSwicmVtb3ZlIiksZS5pc0NoaWxkU3R1ZHkoKSYmZS5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgodD0+dC51bnNldENoaWxkKGUpKSksZS5tYXhPZmZzZXQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQpKSwhdCYmZS5kZXN0cm95JiZlLmRlc3Ryb3koKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKGUucmVtb3ZlQWxlcnQoKSwoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksInJlbW92ZSIpKSxpfW1haW5TZXJpZXNTY2FsZVJhdGlvKCl7cmV0dXJuKDAsaWEuc2NhbGVSYXRpbykodGhpcy5fdGltZVNjYWxlLHRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9c2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5fbWFpblNlcmllcykpLmFwcGx5UHJpY2VTY2FsZVJhdGlvKHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLGUpfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUudmFsdWUoKX10aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lRXhjZXB0RXhjaGFuZ2V9YWxsU3R1ZGllcyhlKXtjb25zdCB0PWU/ZT0+KDAsdGkuaXNTdHVkeSkoZSkmJiFzaShlKTp0aS5pc1N0dWR5O3JldHVybiB0aGlzLl9nZXRBbGxTb3VyY2VzKHQpfXN0dWRpZXNXVihlKXtyZXR1cm4gZT90aGlzLl9zdHVkaWVzRXhjbHVkZUludGVybmFsV1YucmVhZG9ubHkoKTp0aGlzLl9zdHVkaWVzV1YucmVhZG9ubHkoKX1zaWduYXR1cmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX3NpZ25hdHVyZVNvdXJjZXN9c291cmNlc1NpZ25hdHVyZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlc1NpZ25hdHVyZXN9bGlzdFVzZXJTdHVkaWVzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IHMgb2YgaS5wcmljZURhdGFTb3VyY2VzKCkpaWYoISgwLHRpLmlzRnVuZGFtZW50YWxTdHVkeSkocykmJigwLHRpLmlzU3R1ZHkpKHMpJiZzLnNob3dJbk9iamVjdFRyZWUoKSl7Y29uc3R7aWQ6aSxzaG9ydERlc2NyaXB0aW9uOm59PXMubWV0YUluZm8oKTtpZihlLmRvbnRDb3VudFZvbHVtZSYmIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRDb21wYXJlJiYiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRPdmVybGF5JiYiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiPT09aSljb250aW51ZTt0LnB1c2gobil9cmV0dXJuIHR9ZmluZE5vbk92ZXJsYXlTdHVkeVdpdGhHcm91cGluZ0tleShlLHQpe2NvbnN0IGk9dm9pZCAwIT09dD9bdF06dGhpcy5fcGFuZXM7Zm9yKGNvbnN0IHQgb2YgaSl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCkuZmluZCgoaT0+KDAsdGkuaXNTdHVkeSkoaSkmJmkubWV0YUluZm8oKS5ncm91cGluZ0tleT09PWUmJiF0LmlzT3ZlcmxheShpKSkpO2lmKHZvaWQgMCE9PWkpcmV0dXJue3BhbmU6dCxzdHVkeTppfX1yZXR1cm4gbnVsbH1jYW5Nb3ZlUGFuZVVwKGUpe2lmKDA9PT1lKXJldHVybiExCjtjb25zdCB0PXRoaXMuX3BhbmVzW2VdLGk9dGhpcy5fcGFuZXNbZS0xXTtyZXR1cm4gdC5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldD9pLmNvbnRhaW5zTWFpblNlcmllcygpOmkubW9kZSgpIT09TS5QYW5lTW9kZS5XaWRnZXR8fCF0LmNvbnRhaW5zTWFpblNlcmllcygpfHwxIT09ZX1tb3ZlUGFuZVVwKGUpe3RoaXMubW92ZVBhbmUoZSxlLTEpfWNhbk1vdmVQYW5lRG93bihlKXtpZihlPT09dGhpcy5fcGFuZXMubGVuZ3RoLTEpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9wYW5lc1tlXSxpPXRoaXMuX3BhbmVzW2UrMV07cmV0dXJuIHQubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/aS5jb250YWluc01haW5TZXJpZXMoKTppLm1vZGUoKSE9PU0uUGFuZU1vZGUuV2lkZ2V0fHwhdC5jb250YWluc01haW5TZXJpZXMoKXx8ZSE9PXRoaXMuX3BhbmVzLmxlbmd0aC0yfW1vdmVQYW5lRG93bihlKXt0aGlzLm1vdmVQYW5lKGUsZSsxKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXNbZV07dGhpcy5fcGFuZXMuc3BsaWNlKGUsMSksdGhpcy5fcGFuZXMuc3BsaWNlKHQsMCxpKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX29uUmVhcnJhbmdlUGFuZXMuZmlyZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXNbZV07dC5jb2xsYXBzZWQoKS5zZXRWYWx1ZSghdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSx0aGlzLmZ1bGxVcGRhdGUoKX1zZW5kVG9CYWNrKGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5zZW5kVG9CYWNrKHQpKSl9YnJpbmdUb0Zyb250KGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5icmluZ1RvRnJvbnQodCkpKX1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yfWJhY2tncm91bmRUb3BDb2xvcigpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3J9YmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7Y29uc3QgdD10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT10aGlzLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoaSx0LGUpfWJhY2tncm91bmRDb3VudGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci5yZWFkb25seSgpfWRhcmsoKXtyZXR1cm4gdGhpcy5faXNEYXJrfWJhY2tncm91bmRUaGVtZSgpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVGhlbWV9cmVhZE9ubHkoKXtyZXR1cm4gdGhpcy5fcmVhZE9ubHl9ZGVmYXVsdFJlc29sdXRpb25zKCl7cmV0dXJuIHRoaXMuY2hhcnRBcGkoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUN1cnJlbmNpZXMoKSx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnJlYWRvbmx5KCl9Y3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWR9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlVW5pdHMoKSx0aGlzLl9hdmFpbGFibGVVbml0cy5yZWFkb25seSgpfXVuaXRDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVNZXRyaWNzKCl7bGV0IGU9dGhpcy5fZ2V0QWxsQXZhaWxhYmxlTWV0cmljcygpO2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5tZXRyaWNzO3JldHVybiB0JiYoZT1lLmZpbHRlcigoZT0+dm9pZCAwIT09dC5pdGVtc1tlLmlkXSkpKSxlLmxlbmd0aCE9PXRoaXMuX2F2YWlsYWJsZU1ldHJpY3Muc2l6ZSgpJiYodGhpcy5fYXZhaWxhYmxlTWV0cmljcz1uZXcgRGgoZSkpLHRoaXMuX2F2YWlsYWJsZU1ldHJpY3N9bWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSk7cmV0dXJuIG51bGwhPT10JiZ0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXMucHJpY2VTb3VyY2VzQ2hhbmdlZCh0KSYmKHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlcz1uZXcgZnUodCkpLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc31yZXNldERlZmVycmVkU3R1ZGllcygpe0tsLkRlZmVycmVkU3R1ZGllcy5pbnN0YW5jZSh0aGlzKS5yZXNldCgpfXdhaXRGb3JTdHVkeShlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiB0JiYoMCx0aS5pc1N0dWR5KSh0KT9Qcm9taXNlLnJlc29sdmUodCk6S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMpLmdldChlKX1yZXNldFdhaXRGb3JTdHVkeShlKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykuZGVsZXRlKGUpfWlzSnVzdENsb25lZENoYXJ0KCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbC5pc0p1c3RDbG9uZWRDaGFydCgpfXN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9e3BhbmVzOltdLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9O2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZXMoKSlzLnBhbmVzLnB1c2goZS5zdGF0ZSh7aW5jbHVkZVNvdXJjZXM6ITAsaXNTdHVkeVRlbXBsYXRlOiEwfSkpO2NvbnN0IG49dGhpcy5tYWluU2VyaWVzKCk7cmV0dXJuIGUmJihzLnN5bWJvbD1uLnN5bWJvbCgpLHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZpJiYocy5jdXJyZW5jeT1uLmN1cnJlbmN5KCkpLHRoaXMudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmkmJihzLnVuaXQ9bi51bml0KCkpKSx0JiYocy5pbnRlcnZhbD1uLmludGVydmFsKCkpLHN9ZGF0YVNvdXJjZUZvcklkKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXsKY29uc3QgaT10LmRhdGFTb3VyY2VGb3JJZChlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfWdldFN0dWR5QnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAsdGkuaXNTdHVkeSkodCk/dDpudWxsfWdldExpbmVUb29sQnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAscmkuaXNMaW5lVG9vbCkodCk/dDpudWxsfXJlc3RvcmVMaW5lVG9vbFN0YXRlKGUsdCxpKXt0LnBvc2l0aW9uUGVyY2VudHM/ZS5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyh0LnBvc2l0aW9uUGVyY2VudHMpOihlLmNsZWFyRml4ZWRQb2ludCgpLGUucmVzdG9yZVBvaW50cyh0LnBvaW50cyx0LmluZGV4ZXN8fFtdKSksdC5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsSmwubWVyZ2VJbnRlcnZhbFZpc2liaWxpdGllc0RlZmF1bHRzKSh0LnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksZS5saW5rS2V5KCkuc2V0VmFsdWUodC5saW5rS2V5fHxudWxsKSxlLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUodC5zdGF0ZSksZS5yZXN0b3JlRGF0YSYmZS5yZXN0b3JlRGF0YSh0KSxlLmNyZWF0ZVNlcnZlclBvaW50cygpLGUuc2V0Wm9yZGVyKHQuem9yZGVyPz9lLnpvcmRlcigpKSx0aGlzLmZ1bGxVcGRhdGUoKTtjb25zdCBzPWUubGlua0tleSgpLnZhbHVlKCk7bnVsbCE9PXMmJmkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2smJigwLFQucmVzdG9yZUxpbmVUb29sU3RhdGUpKHttb2RlbDp0aGlzLGxpbmtLZXk6cyxzdGF0ZTp0fSl9cmVzdG9yZUZhY3RvcnlEZWZhdWx0cyhlKXtlLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKSx0aGlzLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5WaWV3cG9ydENoYW5nZVVzZXJBY3Rpb24pfXByZWZlcmVuY2VzKCl7cmV0dXJuKDAsY3UucHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcyx0aGlzLm1haW5TZXJpZXMoKSl9YXBwbHlQcmVmZXJlbmNlcyhlKXtmb3IoY29uc3RbdCxpXW9mIE9iamVjdC5lbnRyaWVzKGUpKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQodCk7dm9pZCAwIT09aSYmdm9pZCAwIT09ZSYmZS5tZXJnZUFuZEZpcmUoaSl9aWYodm9pZCAwIT09ZS50aW1lU2NhbGUpe2NvbnN0IHQ9ZS50aW1lU2NhbGU7dGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0KSx0aGlzLl90aW1lU2NhbGUuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSksdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnNldFZhbHVlKHQudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KX10aGlzLl9wcm9wZXJ0aWVzLnNhdmVEZWZhdWx0cygpLHRoaXMuX21haW5TZXJpZXMuYXBwbHlQcmVmZXJlbmNlcyhlLm1haW5TZXJpZXMpLHRoaXMuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoe3Byb3BlcnRpZXM6ZS5zZXNzaW9uc30sITEpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCl9cmVzdG9yZVRoZW1lKGUsdCxpKXtlLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlfHwoZS5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZT1lLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlKSx0aGlzLl91bmRvTW9kZWwuY2hhcnRMb2FkVGhlbWUoZSx0LGkpfXVwZGF0ZVNjYWxlcygpe3RoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCl9b25SZXNldFNjYWxlcygpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlc31zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyxuLHIpe3RoaXMuX3NvdXJjZXNCZWluZ01vdmVkPWUsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9aTtsZXQgbz0hMTtpZih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5mb3JFYWNoKChlPT57IW8mJigwLHRpLmlzU3R1ZHkpKGUpJiYobz0hMCk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShlKSksYz0oMCxyaS5pc0xpbmVUb29sKShlKSxoPWMmJmUubGlua0tleSgpLnZhbHVlKCk7aWYoITEhPT1oJiZudWxsIT09aCYmcy5oYXMoaCkmJmMmJmUuaXNGaXhlZCgpKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkocy5nZXQoaCkpLG89e3NjcmVlbjp0aGlzLl9wZXJjZW50UG9zaXRpb25Ub1BvaW50KHQsYSl9O2Uuc3RhcnRNb3ZpbmcobyxpLG4scil9ZWxzZSBlLnN0YXJ0TW92aW5nKHQsaSxuLHIpO2NvbnN0IGQ9dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soYSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCk7dGhpcy5pbnZhbGlkYXRlKGQpfSkpLCFyKXtjb25zdFtzLHJdPUF1KGUpO2lmKHMuc2l6ZSYmdC5sb2dpY2FsKXtjb25zdCBvPXRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodC5sb2dpY2FsLmluZGV4KSxhPXtsaW5rS2V5czpbLi4uc10sdG9vbE5hbWVzOlsuLi5yXSxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6dC5sb2dpY2FsLnByaWNlLHRpbWVTdGFtcDpvfSxhY3RpdmVJdGVtOm51bGwhPT1pP2k6dm9pZCAwLGVudlN0YXRlOm4scG9pbnRQb3NpdGlvblBlcmNlbnRzOm5ldyBNYXB9O2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCBpPWUubGlua0tleSgpLnZhbHVlKCk7aWYoaSYmZS5pc1N5bmNocm9uaXphYmxlKCkmJmUuaXNGaXhlZCgpKXtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTthLnBvaW50UG9zaXRpb25QZXJjZW50cy5zZXQoaSx0aGlzLl9wb2ludFRvUGVyY2VudFBvc2l0aW9uKCgwLGwuZW5zdXJlRGVmaW5lZCkodC5zY3JlZW4pLHMpKX19fSkpLCgwLFQuc3RhcnRNb3ZpbmdMaW5lVG9vbCkoYSl9fQpULmlzVG9vbE1vdmluZ05vdy5zZXRWYWx1ZSghMCksbyYmVC5pc1N0dWR5RWRpdGluZ05vdy5zZXRWYWx1ZSghMCl9bW92ZVNvdXJjZXMoZSx0LGkscyl7aWYodGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKChlPT4hZS5pc0xvY2tlZHx8IWUuaXNMb2NrZWQoKSkpLmZvckVhY2goKG49Pntjb25zdCByPSgwLHJpLmlzTGluZVRvb2wpKG4pP24ubGlua0tleSgpLnZhbHVlKCk6bnVsbDtpZihudWxsIT09ciYmdC5oYXMocikpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UobikpLG89KDAsbC5lbnN1cmVEZWZpbmVkKSh0LmdldChyKSksYT17c2NyZWVuOnRoaXMuX3BlcmNlbnRQb3NpdGlvblRvUG9pbnQobyxlKX07bi5tb3ZlKGEsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQsaSxzKX1lbHNlIG4ubW92ZShlLHRoaXMuX2FjdGl2ZUl0ZW1CZWluZ01vdmVkLGkscyl9KSksdGhpcy5saWdodFVwZGF0ZSgpLCFzJiZlLmxvZ2ljYWwmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0W3Qsc109QXUodGhpcy5fc291cmNlc0JlaW5nTW92ZWQpLG49dGhpcy5leHRlcm5hbFRpbWVTdGFtcChlLmxvZ2ljYWwuaW5kZXgpLHI9e2xpbmtLZXlzOlsuLi50XSx0b29sTmFtZXM6Wy4uLnNdLG1vZGVsOnRoaXMscG9pbnQ6e3ByaWNlOmUubG9naWNhbC5wcmljZSx0aW1lU3RhbXA6bn0sZW52U3RhdGU6aSxwb2ludFBvc2l0aW9uUGVyY2VudHM6bmV3IE1hcH07dGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZvckVhY2goKHQ9PntpZih0LmxpbmtLZXkoKS52YWx1ZSgpJiZ0LmlzU3luY2hyb25pemFibGUoKSYmdC5pc0ZpeGVkKCkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodCkpO3IucG9pbnRQb3NpdGlvblBlcmNlbnRzLnNldCh0LmxpbmtLZXkoKS52YWx1ZSgpLHRoaXMuX3BvaW50VG9QZXJjZW50UG9zaXRpb24oKDAsbC5lbnN1cmVEZWZpbmVkKShlLnNjcmVlbiksaSkpfX0pKSwoMCxULm1vdmVMaW5lVG9vbCkocil9fWVuZE1vdmluZ1NvdXJjZXMoZSx0LGkpe2NvbnN0IHM9dGhpcy5fc291cmNlc0JlaW5nTW92ZWQubWFwKChzPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShzKSkscj1zLmVuZE1vdmluZyhlLHQsaSksbz10aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gby5pbnZhbGlkYXRlQWxsKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSx0aGlzLmludmFsaWRhdGUobykscn0pKTtpZighdCYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3RbZSx0XT1BdSh0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZCksaT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIocmkuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzU3luY2hyb25pemFibGUoKSYmISFlLmxpbmtLZXkpKS5tYXAoKGU9Pntjb25zdCB0PXtwb2ludHM6ZS5ub3JtYWxpemVkUG9pbnRzKCksaW50ZXJ2YWw6dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX07cmV0dXJuIGUuaXNGaXhlZCgpJiYodC5wb2ludFBvc2l0aW9uUGVyY2VudHM9ZS5jYWxjUG9zaXRpb25QZXJjZW50cygpKSx0fSkpO2Uuc2l6ZSYmKDAsVC5maW5pc2hNb3ZpbmdMaW5lVG9vbCkoe2xpbmtLZXlzOlsuLi5lXSx0b29sTmFtZXM6Wy4uLnRdLG1vZGVsOnRoaXMsZmluYWxTdGF0ZXM6aSxjaGFuZ2VzOnN9KX10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLFQuaXNUb29sTW92aW5nTm93LnNldFZhbHVlKCExKSxULmlzU3R1ZHlFZGl0aW5nTm93LnNldFZhbHVlKCExKX1zb3VyY2VzQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZH1zZXRNb3ZpbmdDdXN0b21Tb3VyY2UoZSx0KXt0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWUsdGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhPW51bGwhPT10P3tiZWluZ01vdmVkOiExLGNhbmNlbGxlZDohMSwuLi50fTpudWxsfXByb2Nlc3NpbmdDdXN0b21Tb3VyY2VNb3ZlKCl7bnVsbCE9PXRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YSYmKHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YS5iZWluZ01vdmVkPSEwKX1jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGF9Y3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhJiZ0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGEuYmVpbmdNb3ZlZD90aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkOm51bGx9bGluZVRvb2xzU3luY2hyb25pemVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcn1zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIoZSl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fd2lkdGh9c2V0V2lkdGgoZSx0KXsodGhpcy5fcGFuZXMucmVkdWNlKCgodCxpKT0+aS5zZXRXaWR0aChlKXx8dCksITEpfHx0aGlzLl93aWR0aCE9PWUpJiYodGhpcy5fd2lkdGg9ZSx0aGlzLl90aW1lU2NhbGUuc2V0V2lkdGgoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSl9c2V0UGFuZUhlaWdodChlLHQpe2Uuc2V0SGVpZ2h0KHQpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVzZXRTY2FsZXNBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1tYXhpbWl6ZWRQYW5lKCl7CnJldHVybiB0aGlzLl9tYXhpbWl6ZWRQYW5lLnJlYWRvbmx5KCl9c2V0TWF4aW1pemVkUGFuZShlKXsoMCxsLmFzc2VydCkobnVsbD09PWV8fHRoaXMuX3BhbmVzLmluY2x1ZGVzKGUpLCJUaGUgcGFuZSBpcyBub3QgcGFydCBvZiB0aGlzIGNoYXJ0IiksdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShlKX1wYW5lcygpe3JldHVybiB0aGlzLl9wYW5lc31wYW5lRm9ySWQoZSl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKHQ9PnQuaWQoKT09PWUpKXx8bnVsbH1jcmVhdGVQYW5lKGUsdCxpLHMpe3RoaXMuX3Jlc3RvcmluZ1N0YXRlfHx0aGlzLl9tYXhpbWl6ZWRQYW5lLnNldFZhbHVlKG51bGwpO2NvbnN0IG49dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllczt0JiZuLm1lcmdlKHQpO2NvbnN0IHI9bmV3IGxjKHRoaXMuX3RpbWVTY2FsZSxuLHRoaXMsaSxzPz9NLlBhbmVNb2RlLlJlZ3VsYXIpO3JldHVybiB2b2lkIDAhPT1lP3RoaXMuX3BhbmVzLnNwbGljZShlLDAscik6dGhpcy5fcGFuZXMucHVzaChyKSxyLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25QYW5lVGFnc0NoYW5nZWQoKSkpLHIuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmZpcmUocikpKSxyLmRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCkpKSxyLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKHIpKSksci5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChyKSkpLHIuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQuZmlyZShyLGUpKSksci5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWQuZmlyZShyLGUpKSksci5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLChlPT50aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZC5maXJlKHIsZSkpKSxyLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmUpLHIuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxyLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVjYWxjUGFuZUNvbGxhcHNpbmdBdmFpbGFibGUoKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKSxyfXJlbW92ZVBhbmUoZSl7ZT09PXRoaXMuX21heGltaXplZFBhbmUudmFsdWUoKSYmdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShudWxsKSxlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3BhbmVzLmluZGV4T2YoZSk7LTEhPT10JiYodGhpcy5fcGFuZXMuc3BsaWNlKHQsMSksZS5kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNvdXJjZVByb3BlcnRpZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vblRhZ3NDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjYWxjU3ltYm9sUmVzb2x2aW5nQWN0aXZlKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxlLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9yZWNhbGNQYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSghMCkpLHRoaXMuX3VwZGF0ZVJlc2V0U2NhbGVzQXZhaWxhYmxlVmFsdWUoKTt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnBhbmU9PT1lJiZ0aGlzLmNsZWFyQ3VycmVudFBvc2l0aW9uKCksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKHRoaXMuX3BhbmVzKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLHRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnBhbmVzT3JkZXIoKSl9Y2hhbmdlUGFuZXNIZWlnaHQoZSx0KXtpZih0aGlzLl9wYW5lcy5sZW5ndGg8MilyZXR1cm47KDAsbC5hc3NlcnQpKGU+PTAmJmU8dGhpcy5fcGFuZXMubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKTtjb25zdCBpPXRoaXMuX3BhbmVzW2VdLHM9dGhpcy5fcGFuZXMucmVkdWNlKCgoZSx0KT0+ZSt0LnN0cmV0Y2hGYWN0b3IoKSksMCksbj10aGlzLl9wYW5lcy5yZWR1Y2UoKChlLHQpPT5lK3QuaGVpZ2h0KCkpLDApLHI9bi0zMCoodGhpcy5fcGFuZXMubGVuZ3RoLTEpO3Q9TWF0aC5taW4ocixNYXRoLm1heCgzMCx0KSk7Y29uc3Qgbz1zL24sYT1pLmhlaWdodCgpO2kuc2V0U3RyZXRjaEZhY3Rvcih0Km8pO2xldCBjPXQtYSxoPXRoaXMuX3BhbmVzLmxlbmd0aC0xO2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVzKWlmKGUhPT1pKXsKY29uc3QgdD1NYXRoLm1pbihyLE1hdGgubWF4KDMwLGUuaGVpZ2h0KCktYy9oKSk7Yy09ZS5oZWlnaHQoKS10LGgtPTE7Y29uc3QgaT10Km87ZS5zZXRTdHJldGNoRmFjdG9yKGkpfXRoaXMuZnVsbFVwZGF0ZSgpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2UuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkoZS5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSksdGhpcy5fdW5kb01vZGVsLnN5bmNDcm9zc2hhaXIobnVsbCksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5vbkN1cnNvclBvc2l0aW9uVXBkYXRlZCgpfWdldFRwb1N1bW1hcnlQYW5lKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSx0PWUuc3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3Mscz1lLnN1bW1hcnkuY2hpbGRzKCkuaW5mb0Jsb2Nrcy5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9TWF0aC5tYXgobipfaC5jb25zdGFudHMuY2VsbEhlaWdodCwzMCk7cmV0dXJuIHRoaXMuX2dldFdpZGdldFBhbmUodCxyKX1nZXRWb2x1bWVGb290cHJpbnRTdW1tYXJ5UGFuZSgpe2NvbnN0IGU9dGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudm9sRm9vdHByaW50U3R5bGUuY2hpbGRzKCksdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuYmxvY2tJbmZvLHM9aS5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7aWYociYmKDAsZWEuaXNGdXR1cmVzKShyLnR5cGUpJiYhKDAsZWEuaGFzQ3J5cHRvVHlwZXNwZWMpKHIudHlwZXNwZWNzKSl7Y29uc3QgdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5vcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0/LmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpfWlmKHImJigoMCxlYS5pc0Z1dHVyZXMpKHIudHlwZSl8fCJzd2FwIj09PXIudHlwZSkmJigwLGVhLmhhc0NyeXB0b1R5cGVzcGVjKShyLnR5cGVzcGVjcykpe2NvbnN0IHQ9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZuKyt9KSl9Y29uc3Qgbz1NYXRoLm1heChuKl9oLmNvbnN0YW50cy5jZWxsSGVpZ2h0LDMwKTtyZXR1cm4gdGhpcy5fZ2V0V2lkZ2V0UGFuZSh0LG8pfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5jcm9zc2hhaXJTb3VyY2UoKS5zYXZlT3JpZ2luQ29vcmRzKGUsdCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9c2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpe2xldCBuPU5hTjtjb25zdCByPXRoaXMuX3RpbWVTY2FsZS5jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSksbz0odGhpcy5fbGluZUJlaW5nRWRpdGVkPz90aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXSk/Lm93bmVyU291cmNlLnByaWNlU2NhbGUoKT8/aS5kZWZhdWx0UHJpY2VTY2FsZSgpO2xldCBhPW51bGw7IW8uaXNFbXB0eSgpJiZOdW1iZXIuaXNGaW5pdGUodCkmJihhPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbnVsbCE9PWEmJihuPW8uY29vcmRpbmF0ZVRvUHJpY2UodCxhKSkpO2NvbnN0IGM9dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSxoPWMucmVxdWVzdFBvaW50UGFyYW1zKCksZD1oPy5zZWxlY3RQb2ludE1vZGU/P1QuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdT1kIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSxwPVQudG9vbC52YWx1ZSgpLF89dGhpcy5tYWluU2VyaWVzKCksZz1jLmluZGV4LGY9Yy5wcmljZSxTPWQ9PT1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeXx8VC5pc1N0dWR5RWRpdGluZ05vdy52YWx1ZSgpLHY9ZD09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheTtsZXQgeT0hMTtjb25zdCBiPSgwLFpzLm1hZ25ldFNuYXBzVG9JbmRpY2F0b3JzKSgpLnZhbHVlKCk7aWYobz09PXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpfHxiKWlmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikocCkpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7eT1udWxsPT09ZXx8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGUpJiZlLmhhc09ubHlPbmVQb2ludCgpfWVsc2V7eT1Cb29sZWFuKHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpfHx0aGlzLl9saW5lQmVpbmdFZGl0ZWR8fCgwLG0uaXNMaW5lVG9vbE5hbWUpKHApfHwoMCxULnRvb2xJc01lYXN1cmUpKHApKXx8U30hdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJnk/KG49dGhpcy5fbWFnbmV0LmFsaWduKG4scixpKSxudWxsIT09YSYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihyLG4saSkpOnRoaXMuX21hZ25ldC5yZXNldExhc3RWYWx1ZSgpO2xldCB3PW51bGw7aWYoaXNOYU4obil8fCh3PWkpLHRoaXMuX2lzVGltZVNjcm9sbGluZyl7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uJiZ1KXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7Y29uc3Qgcz1NYXRoLm1pbihNYXRoLm1heChyLGUpLHQpCjtzIT09ciYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihzLG4saSl9fWVsc2UgYy5zZXRQb3NpdGlvbihjLmluZGV4LG4sdyk7cmV0dXJufWMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITApLGMuc2V0UG9zaXRpb24ocixuLHcpLCgwLGwuZW5zdXJlTm90TnVsbCkoYy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKTtjb25zdCBDPV8uc3luY01vZGVsKCksUD10aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKTtpZih0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCl8fFA/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSxQKXtjb25zdCBlPVAubGlua0tleSgpLnZhbHVlKCk7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uKXtjb25zdCB0PVAuc2V0TGFzdFBvaW50KHtpbmRleDpyLHByaWNlOm59LHMpO2lmKFAudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKFAuaWQoKSkpLHQucHJpY2U9PT1uJiZ0LmluZGV4PT09cnx8dGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcih0LmluZGV4LHQucHJpY2UsaSksQyYmZSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3QgaT10aGlzLl90aW1lU2NhbGUucG9pbnRzKCkucm91Z2hUaW1lKHQuaW5kZXgsQy5wcm9qZWN0VGltZS5iaW5kKEMpKTsoMCxULnNldExpbmVUb29sTGFzdFBvaW50KSh7bW9kZWw6dGhpcyxsaW5rS2V5OmUscG9pbnQ6e3RpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKGkpLHByaWNlOnQucHJpY2V9fSl9fX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQmJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQucG9pbnRJbmRleCl7Y29uc3QgZT17aW5kZXg6cixwcmljZTpufSx7bGluZURhdGFTb3VyY2U6dCxwb2ludEluZGV4Om8sc3RhcnRDaGFuZ2luZ1BvaW50OmF9PXRoaXMuX2xpbmVCZWluZ0VkaXRlZDtpZihhPy5ub25EaXNjcmV0ZUluZGV4KXtjb25zdCB0PXRoaXMuY3Jvc3NoYWlyU291cmNlKCkub3JpZ2luWCgpO051bWJlci5pc0Zpbml0ZSh0KSYmKGUuaW5kZXg9dGhpcy5fdGltZVNjYWxlLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgodCkpfXRoaXMuY2hhbmdlTGluZVBvaW50KGUscyk7Y29uc3QgbD10LmFsaWduQ3Jvc3NIYWlyVG9BbmNob3Iobyk/dC5nZXRQb2ludChvKTplO251bGwhPT1sJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGwuaW5kZXgsbC5wcmljZSxpKX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJjE9PT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fc291cmNlc0JlaW5nTW92ZWRbMF07aWYoZS5hbGlnbkNyb3NzSGFpclRvTW92ZVBvaW50Py4oKSl7Y29uc3QgdD1lLmN1cnJlbnRNb3ZpbmdQb2ludD8uKCk7dCYmdC5sb2dpY2FsJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKHQubG9naWNhbC5pbmRleCx0LmxvZ2ljYWwucHJpY2UsaSl9fWlmKCF0aGlzLl9pc1NldHRpbmdzRXh0ZXJuYWxQb3NpdGlvbiYmKFN8fHYpKXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7bGV0IHM9TWF0aC5tYXgocixlKTtoPy5hbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YSYmKHM9TWF0aC5taW4ocyx0KSkscyE9PXImJnRoaXMuX3NldENvcnJlY3RlZFBvc2l0aW9uVG9Dcm9zc2hhaXIocyxuLGkpfX0oZyE9PXJ8fGYhPT1uKSYmdGhpcy5fc3luY0Nyb3NzaGFpcihzKX1zZXRFeHRlcm5hbFBvc2l0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2lmKHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLG51bGwhPT1lJiYoMCxhLmlzTnVtYmVyKShlLnRpbWVTdGFtcCkpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYodCl7Y29uc3Qgcz10aGlzLmNyZWF0ZVN5bmNQb2ludChlLnN5bmNTb3VyY2VUYXJnZXQsdC5zeW5jU291cmNlVGFyZ2V0KCkpLnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZS50aW1lU3RhbXApO2k9dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoSW5kZXgocyx0LmRpc3RhbmNlLmJpbmQodCksMSl9fWlmKG51bGwhPT1lJiZudWxsIT1pJiZOdW1iZXIuaXNGaW5pdGUoaSkpe3RoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSEwO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpKSxyPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvQ29vcmRpbmF0ZShpKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkobi5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbCE9PW8pe2xldCBpPU5hTjt2b2lkIDAhPT1lLnByaWNlJiZOdW1iZXIuaXNGaW5pdGUoZS5wcmljZSkmJihpPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKS5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLG8pKSxzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24ocixpLG4sdCl9cmV0dXJuIHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLHZvaWQodGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb249ITEpfXMuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkocy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5fdGltZVNjYWxlLnN0YXJ0U2NhbGUoZSl9c2NhbGVUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjYWxlVG8oZSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLAp0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2NhbGVUaW1lKCl7dGhpcy5fdGltZVNjYWxlLmVuZFNjYWxlKCksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLl90aW1lU2NhbGUucmVzdG9yZURlZmF1bHQoKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5fcmVzZXRTY2FsZXMuZmlyZSgpfXN0YXJ0U2NhbGVQcmljZShlLHQsaSl7ZS5zdGFydFNjYWxlUHJpY2UodCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe2Uuc2NhbGVQcmljZVRvKHQsaSksdGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLmlzTG9ja1NjYWxlKCk/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9ZW5kU2NhbGVQcmljZShlLHQpe2UuZW5kU2NhbGVQcmljZSh0KSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfXN0YXJ0VHdvUG9pbnRzU2NhbGVQcmljZShlLHQsaSxzKXt0LnN0YXJ0VHdvUG9pbnRzU2NhbGUoaSxzKX10d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl7dC50d29Qb2ludHNTY2FsZShpLHMpLHQudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUpKX1lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCl7dC5lbmRUd29Qb2ludHNTY2FsZSgpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlKSl9cmVzZXRQcmljZVNjYWxlKGUsdCl7ZS5yZXNldFByaWNlU2NhbGUodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCxpKXtlLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWRldGFjaFNvdXJjZShlKXtjb25zdCB0PXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4hIXQmJih0LnJlbW92ZURhdGFTb3VyY2UoZSksdC5pc0VtcHR5KCk/KHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiZ0PT09dGhpcy5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksdGhpcy5yZW1vdmVQYW5lKHQpLCEwKToodGhpcy5mdWxsVXBkYXRlKCksITEpKX1yZXN0b3JlU291cmNlKGUsdCxpLHMsbil7Y29uc3Qgcj1lP3RoaXMuY3JlYXRlUGFuZSh0KTp0aGlzLnBhbmVzKClbdF0sbz0oMCxQLmlzU3R1ZHlTdGF0ZSkocyksYT1vP3IucmVzdG9yZVN0dWR5KHtzb3VyY2U6c30pOigwLFAuaXNMaW5lVG9vbFN0YXRlKShzKT9yLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6c30pOm51bGw7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGw9bnVsbDtpZihuPyhsPXIuZ2V0UHJpY2VTY2FsZUJ5SWQobi5pZCksbHx8KGw9ci5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbihuLnBvc2l0aW9uLG4ucHJpY2VTY2FsZUluZGV4KSxsLnNldElkKG4uaWQpKSk6bD1hLm93bmVyU291cmNlKCk/LnByaWNlU2NhbGUoKT8/bCxsJiYoYS5zZXRQcmljZVNjYWxlKGwpLGwuYWRkRGF0YVNvdXJjZShhKSksIWUmJmkmJmkub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBlPXRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWkub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pKTtlLmZvckVhY2goKGU9PnIucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSkpKTtjb25zdCB0PW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3Qgcz1pLm92ZXJsYXlQcmljZVNjYWxlc1tlLmlkKCldO2lmKCFzKXJldHVybjtsZXQgbjt0LmhhcyhzLmlkKT9uPXQuZ2V0KHMuaWQpOihuPXIuY3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oIm92ZXJsYXkiKSxuLnJlc3RvcmVTdGF0ZShzKSx0LnNldChzLmlkLG4pKSxlLnNldFByaWNlU2NhbGUobiksbi5hZGREYXRhU291cmNlKGUpfSkpfXJldHVybiBlJiZpJiZyLnJlc3RvcmVTdGF0ZSh7c3RhdGU6aSx3aXRoRGF0YTohMSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfSksbyYmKHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoYS5pZCgpKSksdGhpcy5faW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZXMoKSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKGEpKSxhfWNoaWxkcmVuKGUsdCxpKXtyZXR1cm4gdGhpcy5kYXRhU291cmNlcygpLmZpbHRlcigocz0+ISgwLHRpLmlzU3R1ZHkpKHMpfHxzaShzKXx8ZS5pc1NlcmllcyYmcy5pc0xpbmtlZFRvU2VyaWVzKCk/ISgoMCxyaS5pc0xpbmVUb29sKShzKSYmaSYmcy5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09cy50YXJnZXRTaWduYXR1cmUoKSkmJnMub3duZXJTb3VyY2UoKT09PWU6IXQmJnMucGFyZW50U291cmNlcygpLmluY2x1ZGVzKGUpKSl9b25SZWFycmFuZ2VQYW5lcygpe3JldHVybiB0aGlzLl9vblJlYXJyYW5nZVBhbmVzfXN0dWR5SW5zZXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlJbnNlcnRlZH1maW5pc2hMaW5lVG9vbChlKXtjb25zdCB0PWUubGlua0tleSgpLnZhbHVlKCk7KDAsClQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCkmJm51bGwhPT10JiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmKDAsVC5maW5pc2hMaW5lVG9vbCkoe2xpbmtLZXk6dCxtb2RlbDp0aGlzfSl9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9saW5lQmVpbmdFZGl0ZWQ9e2xpbmVEYXRhU291cmNlOmUsb3duZXJTb3VyY2U6dCxzdGFydENoYW5naW5nUG9pbnQ6aT8/bnVsbCxwb2ludEluZGV4OnM/P251bGx9LGUuc3RhcnRDaGFuZ2luZyhzLGksciksVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCEwKTtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTtlLnN0YXJ0RHJhZ1BvaW50JiZ2b2lkIDAhPT1zJiZ2b2lkIDAhPT1pJiZlLnN0YXJ0RHJhZ1BvaW50KHMsaSkscnx8dm9pZCAwPT09c3x8dm9pZCAwPT09aXx8ZS5zZXRQb2ludChzLGksbixyKSxlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKTtjb25zdCBhPXRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKG8sTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpO3RoaXMuaW52YWxpZGF0ZShhKTtjb25zdCBjPWUubGlua0tleSgpLnZhbHVlKCk7aWYoYyYmZS5pc1N5bmNocm9uaXphYmxlKCkmJnZvaWQgMCE9PXMmJnZvaWQgMCE9PWkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKGkuaW5kZXgpKTsoMCxULnN0YXJ0Q2hhbmdpbmdMaW5lVG9vbCkoe2xpbmtLZXk6Yyxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6aS5wcmljZSx0aW1lU3RhbXA6dH0scG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxwb2ludEluZGV4OnMsZW52U3RhdGU6bnx8bnVsbH0pfX1jcmVhdGVMaW5lVG9vbChlKXtjb25zdHtwb2ludDp0LGxpbmV0b29sOmksbGlua0tleTpzPW51bGwsc2hhcmluZ01vZGU6bj0wLGlkOnIsZnJvbUV4dGVybmFsTW9kZWw6byxhY3Rpb25Tb3VyY2U6YyxwYW5lOmh9PWU7bGV0e3Byb3BlcnRpZXM6ZCxvd25lclNvdXJjZTp1fT1lO3U9KDAsbC5lbnN1cmVEZWZpbmVkKSh1fHwoMCxsLmVuc3VyZU5vdE51bGwpKGgubWFpbkRhdGFTb3VyY2UoKSkpO2xldCBwPWg7aWYobWwuc2hhcmVEcmF3aW5nc09uSW5kaWNhdG9ycyYmKDAsdGkuaXNTdHVkeSkodSkmJihwPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tYWluUGFuZSgpKSksKDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGkpLGBDYW5ub3QgY3JlYXRlIHVua25vd24gbGluZSB0b29sOiAke2l9YCksZCl7Y29uc3QgZT17Li4uaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHN9LHQ9ZC5jaGlsZHMoKS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3RhdGUoKTsoMCxhLm1lcmdlKShlLHQ/P3t9KTtjb25zdCBzPWQuc3RhdGUoKTtzLmludGVydmFsc1Zpc2liaWxpdGllcz1lLGQ9KDAscmkuY3JlYXRlTGluZVRvb2xQcm9wZXJ0aWVzKSh0aGlzLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaSwhdGhpcy5yZWFkT25seSgpLHMpfWNvbnN0IF89KDAscmkuY3JlYXRlTGluZVRvb2wpKGksdGhpcyxkLG51bGwsdm9pZCAwLHIsYyk7aWYoIkxpbmVUb29sRXhlY3V0aW9uIiE9PWkpe2xldCBlO3N3aXRjaChpKXtjYXNlIkxpbmVUb29sSWNvbiI6ZT1fLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pY29uLnZhbHVlKCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbEVtb2ppIjplPV8ucHJvcGVydGllcygpLmNoaWxkcygpLmVtb2ppLnZhbHVlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbFN0aWNrZXIiOmU9Xy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RpY2tlci52YWx1ZSgpfSgwLE10LnRyYWNrRXZlbnQpKCJkcmF3aW5ncyIsIlN0dWR5X0RyYXdpbmdfIitpLGUpfSgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoXykmJigwLE10LnRyYWNrRXZlbnQpKCJzdHVkaWVzIixgU3R1ZHlfJHtfLm1ldGFJbmZvKCkuaWR9YCxfLm1ldGFJbmZvKCkuZGVzY3JpcHRpb24pO2NvbnN0IGc9IV8ubGlua0tleSgpLnZhbHVlKCkmJiFzO2R8fCgwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShfLnByb3BlcnRpZXMoKSx1KSxtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoMCx0aS5pc1N0dWR5KSh1KT9fLnNldFRhcmdldFNpZ25hdHVyZSh1LnNpZ25hdHVyZSgpLnZhbHVlKCkpOl8uc2V0T3duZXJTb3VyY2UodSk7Y29uc3QgZj11LnByaWNlU2NhbGUoKTtpZihfLnNldFByaWNlU2NhbGUoZiksdT09PXRoaXMubWFpblNlcmllcygpJiZfLnNoYXJlKG4pLHAuYWRkRGF0YVNvdXJjZShfLGYsITEpLG51bGwhPT1fLnByZWZlcnJlZFpPcmRlcigpJiZwLmluc2VydEFmdGVyKFtfXSx0aGlzLm1haW5TZXJpZXMoKSksKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKSl7Y29uc3QgZT1fLmlzU3luY2hyb25pemFibGUoKT9zfHwoMCxsdC5yYW5kb21IYXNoKSgpOm51bGw7Xy5saW5rS2V5KCkuc2V0VmFsdWUoZSl9ZWxzZSBfLmxpbmtLZXkoKS5zZXRWYWx1ZShzKTtsZXQgUztpZihnJiZfLmVuYWJsZUN1cnJlbnRJbnRlcnZhbFZpc2liaWxpdHkoKSxfLmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkoaC5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGk9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9Db29yZGluYXRlKHQuaW5kZXgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShmKS5wcmljZVRvQ29vcmRpbmF0ZSh0LnByaWNlLGUpO1M9Xy5hZGRGaXhlZFBvaW50KG5ldyBQdC5Qb2ludChpLHMpKX1lbHNlIFM9Xy5hZGRQb2ludCh0KTtyZXR1cm4gU3x8KHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnVuc2hpZnQoe2xpbmVEYXRhU291cmNlOl8sZnJvbUV4dGVybmFsOiEhbyxvd25lclNvdXJjZTp1LHBhbmU6aH0pLApULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCEwKSksdGhpcy5mdWxsVXBkYXRlKCksX31lbmRDaGFuZ2luZ0xpbmV0b29sKGUsdCl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmVCZWluZ0VkaXRlZCkubGluZURhdGFTb3VyY2Uscz1pLmVuZENoYW5naW5nKCExLGUsdCk7dGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbj17cG9pbnRzOmkubm9ybWFsaXplZFBvaW50cygpLGludGVydmFsOnRoaXMubWFpblNlcmllcygpLmludGVydmFsKCl9LHI9aS5saW5rS2V5KCkudmFsdWUoKTtudWxsPT09cnx8IWkuaXNTeW5jaHJvbml6YWJsZSgpfHx0fHx0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2t8fCgwLFQuZmluaXNoQ2hhbmdpbmdMaW5lVG9vbCkoe21vZGVsOnRoaXMsbGlua0tleTpyLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxmaW5hbFN0YXRlOm4sY2hhbmdlczpzfSl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyxuKXtjb25zdCByPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5saW5lQmVpbmdDcmVhdGVkKCkpLG89ci5hZGRQb2ludChlLHQsaSxuKTtyLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShyLmlkKCkpKTtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gbyYmKHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnNoaWZ0KCksMD09PXRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLmxlbmd0aCYmVC5pc1Rvb2xDcmVhdGluZ05vdy5zZXRWYWx1ZSghMSkpLHRoaXMuaW52YWxpZGF0ZShhKSxvfWNhbmNlbENyZWF0aW5nTGluZSgpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9ZS5pc1N5bmNocm9uaXphYmxlKCk7dGhpcy5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSx0aGlzLl9saW5lQ2FuY2VsbGVkLmZpcmUoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSwoMCxULmRyYXdPbkFsbENoYXJ0cykoKS52YWx1ZSgpJiZ0JiYhdGhpcy5fbGluZVRvb2xzU3luY0Jsb2NrJiYoMCxULmNhbmNlbExpbmVUb29sKSh7bW9kZWw6dGhpc30pfWNhbmNlbEFsbERyYXdpbmdPcGVyYXRpb25zKCl7dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksKDAsVC5yZXNldFRvQ3Vyc29yKSghMCl9bGluZUJlaW5nQ3JlYXRlZCgpe3JldHVybiB0aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXT8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCl7cmV0dXJuIHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkWzBdPy5mcm9tRXh0ZXJuYWw/PyExfXBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKXtyZXR1cm4gdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWRbMF0/LnBhbmU/P251bGx9bGluZUNhbmNlbGxlZCgpe3JldHVybiB0aGlzLl9saW5lQ2FuY2VsbGVkfWlzUGhhbnRvbUxpbmUoZSl7cmV0dXJuIHRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIuc291cmNlKCk9PT1lfWFsaWduVG80NURlZ3JlZXMoZSx0LGkpe2NvbnN0W3Msbl09aSxyPXsuLi5ufTtlLnNuYXBQb2ludDQ1RGVncmVlKHMsciksdGhpcy5zdGFydENoYW5naW5nTGluZXRvb2woZSx0LG4sbi5wb2ludEluZGV4KSx0aGlzLmNoYW5nZUxpbmVQb2ludChyLExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCEwKSksdGhpcy5lbmRDaGFuZ2luZ0xpbmV0b29sKCExKX1jaGFuZ2VMaW5lUG9pbnQoZSx0LGkpe2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lQmVpbmdFZGl0ZWQpLG49cy5saW5lRGF0YVNvdXJjZSxyPSgwLGwuZW5zdXJlTm90TnVsbCkocy5wb2ludEluZGV4KTtsZXQgbz1lLnByaWNlLGE9ZS5pbmRleDtpZihuLnNldFBvaW50KHIsZSx0LGkpLCFpKXtjb25zdCB0PW4uYWxpZ25Dcm9zc0hhaXJUb0FuY2hvcihyKT9uLmdldFBvaW50KHIpOmU7bnVsbCE9PXQmJihhPXQuaW5kZXgsbz10LnByaWNlKX1uLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShuLmlkKCkpKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3QgYz1uLmxpbmtLZXkoKS52YWx1ZSgpO2lmKCFpJiZudWxsIT09YyYmbi5pc1N5bmNocm9uaXphYmxlKCkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShzLnN0YXJ0Q2hhbmdpbmdQb2ludCksaT17aW5kZXhlc0NoYW5nZWQ6YSE9PWUuaW5kZXgscHJpY2VzQ2hhbmdlZDpvIT09ZS5wcmljZX0saD1uLmdldENoYW5nZVBvaW50Rm9yU3luYyhyKTtpZihudWxsIT09aCl7Y29uc3QgZT10aGlzLmV4dGVybmFsVGltZVN0YW1wKGEpO251bGwhPT1lJiYobz1oLnByaWNlLCgwLFQuY2hhbmdlTGluZVRvb2wpKHtsaW5rS2V5OmMsbW9kZWw6dGhpcyxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCkscG9pbnQ6e3ByaWNlOm8sdGltZVN0YW1wOmV9LHBvc2l0aW9uUGVyY2VudHM6bi5wb3NpdGlvblBlcmNlbnRzKCksZW52U3RhdGU6dCxjaGFuZ2VzOml9KSl9fX1jaGFuZ2VMaW5lUG9pbnRzKGUsdCxpKXtjb25zdCBzPWUucG9pbnRzKCksbj1lLmxpbmtLZXkoKS52YWx1ZSgpOyFpJiZuJiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmdC5mb3JFYWNoKCgodCxpKT0+e2NvbnN0IHI9c1tpXSxvPXIucHJpY2UhPT10LnByaWNlLGE9ci5pbmRleCE9PXQuaW5kZXg7aWYoZS5nZXRDaGFuZ2VQb2ludEZvclN5bmMoaSkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKHQuaW5kZXgpKTsoMCxULmNoYW5nZUxpbmVUb29sKSh7bGlua0tleTpuLG1vZGVsOnRoaXMsc3ltYm9sOnRoaXMubWFpblNlcmllcygpLnN5bWJvbCgpLHBvaW50OntwcmljZTp0LnByaWNlLHRpbWVTdGFtcDppfSwKcG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxjaGFuZ2VzOntwcmljZXNDaGFuZ2VkOm8saW5kZXhlc0NoYW5nZWQ6YX19KX19KSksZS5zZXRQb2ludHModCksZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSksdGhpcy5saWdodFVwZGF0ZSgpfXN0YXJ0U2Nyb2xsVGltZShlKXt0aGlzLl90aW1lU2NhbGUuc3RhcnRTY3JvbGwoZSksdGhpcy5faXNUaW1lU2Nyb2xsaW5nPSEwLHRoaXMubWFpblNlcmllcygpLmNsZWFyR290b0RhdGVSZXN1bHQoKX1zY3JvbGxUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjcm9sbFRvKGUpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLl9pc1RpbWVTY3JvbGxpbmc9ITF9c3RhcnRTY3JvbGxQcmljZShlLHQsaSl7ZS5zdGFydFNjcm9sbFByaWNlKHQsaSl9c2Nyb2xsUHJpY2VUbyhlLHQsaSl7ZS5zY3JvbGxQcmljZVRvKHQsaSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1lbmRTY3JvbGxQcmljZShlLHQpe2UuZW5kU2Nyb2xsUHJpY2UodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1hZGRDdXN0b21Tb3VyY2UoZSx0LGk9SWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCl7dGhpcy5fY3VzdG9tU291cmNlc01hcC5oYXMoZSkmJnd1LmxvZ1dhcm4oYEF0dGVtcHQgdG8gYWRkIHRoZSBzYW1lIGN1c3RvbSBzb3VyY2UgbXVsdGlwbGUgdGltZSAiJHtlfSJgKSx3dS5sb2dOb3JtYWwoYEFkZGluZyBjdXN0b20gc291cmNlICIke2V9ImApO2NvbnN0IHM9dChlLHRoaXMpO3N3aXRjaChpKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6dGhpcy5fYmdDdXN0b21Tb3VyY2VzLnB1c2gocyk7YnJlYWs7Y2FzZSBJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kOnRoaXMuX2ZnQ3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2Nhc2UgSWkuQ3VzdG9tU291cmNlTGF5ZXIuVG9wbW9zdDp0aGlzLl90b3Btb3N0Q3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGN1c3RvbSBzb3VyY2VzIGxheWVyICR7aX1gKX10aGlzLl9hbGxDdXN0b21Tb3VyY2VzLnB1c2gocyksdGhpcy5fY3VzdG9tU291cmNlc01hcC5zZXQoZSxzKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVtb3ZlQ3VzdG9tU291cmNlKGUpe3RoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZShlKSx0aGlzLmxpZ2h0VXBkYXRlKCl9aGFzQ3VzdG9tU291cmNlKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmhhcyhlKX1jdXN0b21Tb3VyY2VGb3JOYW1lKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmdldChlKXx8bnVsbH1jdXN0b21Tb3VyY2VOYW1lKGUpe2xldCB0PW51bGw7cmV0dXJuIHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZm9yRWFjaCgoKGkscyk9PntpPT09ZSYmKHQ9cyl9KSksdH1jdXN0b21Tb3VyY2VzKGUpe3N3aXRjaChlKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6cmV0dXJuIHRoaXMuX2JnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkZvcmVncm91bmQ6cmV0dXJuIHRoaXMuX2ZnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3Q6cmV0dXJuIHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX2FsbEN1c3RvbVNvdXJjZXN9fWFkZE11bHRpUGFuZVNvdXJjZShlKXt0aGlzLl9tdWx0aVBhbmVTb3VyY2VzLnB1c2goZSksdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMubGlnaHRVcGRhdGUoKX1yZW1vdmVNdWx0aVBhbmVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9tdWx0aVBhbmVTb3VyY2VzLmluZGV4T2YoZSk7LTE9PT10P3d1LmxvZ1dhcm4oIkF0dGVtcHQgdG8gcmVtb3ZlIG11bHRpLXBhbmUgc291cmNlIHdoaWNoIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtb2RlbCIpOih0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5fbXVsdGlQYW5lU291cmNlcy5zcGxpY2UodCwxKSksdGhpcy5saWdodFVwZGF0ZSgpfW11bHRpUGFuZVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMuX211bHRpUGFuZVNvdXJjZXMuZmlsdGVyKCh0PT4hZS5oYXNEYXRhU291cmNlKHQpKSl9b25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9cmVuZGVyZXJPcHRpb25zUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXJ9bWFnbmV0KCl7cmV0dXJuIHRoaXMuX21hZ25ldH1wcmljZUF4aXNSZW5kZXJlck9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpfXByaWNlU2NhbGVTbG90c0NvdW50KCl7bGV0IGU9MCx0PTA7dGhpcy5fcGFuZXMuZm9yRWFjaCgoaT0+e2U9TWF0aC5tYXgoaS5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsZSksdD1NYXRoLm1heChpLnJpZ2h0UHJpY2VTY2FsZXMoKS5sZW5ndGgsdCl9KSk7Y29uc3QgaT1lK3Q7aWYoSi5DaGVja01vYmlsZS5hbnkoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQ9ZS5wcmljZVNjYWxlUG9zaXRpb24odGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKQo7cmV0dXJuKCJvdmVybGF5Ij09PXQ/ZS5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoPjA6InJpZ2h0Ij09PXQpP3tsZWZ0OjAscmlnaHQ6MSx0b3RhbGx5U2xvdHM6aX06e2xlZnQ6MSxyaWdodDowLHRvdGFsbHlTbG90czppfX1yZXR1cm57bGVmdDplLHJpZ2h0OnQsdG90YWxseVNsb3RzOml9fWRhdGVUaW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyfWRhdGVGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdHRlcn10aW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX3RpbWVGb3JtYXR0ZXJ9aXNVbm1lcmdlQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKS5kYXRhU291cmNlcygpLmZpbHRlcih0aGlzLl91bm1lcmdlQXZhaWxhYmxlLHRoaXMpLmxlbmd0aD4xfWlzTWVyZ2VEb3duQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5wYW5lRm9yU291cmNlKGUpLGk9dGhpcy5wYW5lcygpLmZpbHRlcigoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpKTtyZXR1cm4gdCE9PWlbaS5sZW5ndGgtMV19aXNNZXJnZVVwQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UoZSkhPT10aGlzLnBhbmVzKCkuZmlsdGVyKChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcikpWzBdfWlzUHJpY2VTY2FsZVZpc2libGUoZSl7Y29uc3QgdD1lLm1haW5Tb3VyY2UoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKHQpKSxzPWkucHJpY2VTY2FsZVBvc2l0aW9uKGUpO2lmKCJvdmVybGF5Ij09PXMpcmV0dXJuITA7Y29uc3Qgbj1pLnByaWNlU2NhbGVJbmRleChlLHMpLHI9dGhpcy5wcmljZVNjYWxlU2xvdHNDb3VudCgpW3NdO3JldHVybiB2b2lkIDAhPT1uJiZuPHJ9Z2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXR9c2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoZSl7dGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9ZX1zZXNzaW9ucygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvbnMpfWNyZWF0ZVNlc3Npb25zKGUpe2lmKG51bGw9PT10aGlzLl9zZXNzaW9ucyl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBQYShlKTtyZXR1cm4oMCx5YS5hcHBseURlZmF1bHRzT3ZlcnJpZGVzKSh0LmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQsdm9pZCAwLCExLCJzZXNzaW9ucyIpLHQucmVtb3ZlRHVwbGljYXRlUHJvcGVydGllcygpLHR9KHRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc2Vzc2lvbnM9bmV3IFRhKChhc3luYygpPT57Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDcwNjI0OCkpO3JldHVybiB0aGlzLmFkZEN1c3RvbVNvdXJjZSgic2Vzc2lvbnMiLCgoaSxuKT0+e2NvbnN0IHI9bmV3IHMuU2Vzc2lvbnMoaSxuLHQsZSk7cmV0dXJuIHIuc3RhcnQoKSxyfSksSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCksdGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJzZXNzaW9ucyIpfSkoKSx0aGlzLHQpfX1jcmVhdGVQcmVQb3N0TWFya2V0KGUpe3RoaXMuYWRkQ3VzdG9tU291cmNlKCJwcmVQb3N0TWFya2V0IiwoKHQsaSk9Pm5ldyBUaCh0LGksZSkpKX1jcmVhdGVJbmFjdGl2aXR5R2FwcygpezB9aW5hY3Rpdml0eUdhcHMoKXt0aHJvdyBuZXcgRXJyb3IoImluYWN0aXZpdHlfZ2FwcyBmZWF0dXJlc2V0IGlzIG5vdCBlbmFibGVkIil9c2V0SW5hY3Rpdml0eUdhcHNTZXNzaW9uKGUpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJpbmFjdGl2aXR5R2FwcyIpKS5zZXRTZXNzaW9uKGV8fCJzZXNzaW9uIil9d2F0ZXJtYXJrU291cmNlKCl7cmV0dXJuIHRoaXMuX3dhdGVybWFya1NvdXJjZX13YXRlcm1hcmtDb250ZW50UHJvdmlkZXIoKXtyZXR1cm4gbmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpfXN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCl7cmV0dXJuIHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeX1yZXBsYXlTdGF0dXMoKXtyZXR1cm4gdGhpcy5fcmVwbGF5U3RhdHVzfXNldFJlcGxheVN0YXR1cyhlKXt0aGlzLl9yZXBsYXlTdGF0dXMuc2V0VmFsdWUoZSl9aXNJblJlcGxheSgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5nZXRTeW1ib2xTdHJpbmcoKX1pbnRlcnZhbCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmludGVydmFsKCl9b25JblJlcGxheVN0YXRlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7dGhpcy5fbWFpblNlcmllcy5zd2l0Y2hUb1JlcGxheShlLHQsaSl9c3dpdGNoVG9SZWFsdGltZSgpe3RoaXMuX21haW5TZXJpZXMuc3dpdGNoVG9SZWFsdGltZSgpLHRoaXMuX3RpbWVTY2FsZS5yZXNldFJpZ2h0T2Zmc2V0KCksdGhpcy5zZXRSZXBsYXlTdGF0dXMoMCksdGhpcy5fc2Nyb2xsaW5nU3RhdGUmJih0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSx0aGlzLl9zY3JvbGxpbmdTdGF0ZT1udWxsKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmNhbkNoYW5nZVJlc29sdXRpb24oZSl9CmNhbkNoYW5nZVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uUmVwbGF5TW9kaWZpZWQoKX1tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpe3RoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHkuZmlyZUNoYW5nZWQoKX1nZXRUaGVtZU5hbWVJZlN0ZFRoZW1lKCl7Y29uc3QgZT10aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLHQ9dGhpcy5wcm9wZXJ0aWVzKCksaT10aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCk7cmV0dXJuIGUuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJnQuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCk/Sm8uU3RkVGhlbWUuTGlnaHQ6ZS5hbGxUaGVtZVByb3BlcnRpZXNBcmVEZWZhdWx0KEpvLlN0ZFRoZW1lLkRhcmspJiZ0LmFsbFRoZW1lUHJvcGVydGllc0FyZURlZmF1bHQoSm8uU3RkVGhlbWUuRGFyaykmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5EYXJrKT9Kby5TdGRUaGVtZS5EYXJrOm51bGx9dGhlbWUoKXtyZXR1cm57Y2hhcnRQcm9wZXJ0aWVzOnRoaXMucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGhlbWVTdGF0ZSgpLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9fXRlbXBsYXRlKCl7cmV0dXJue2NoYXJ0UHJvcGVydGllczp0aGlzLnByb3BlcnRpZXMoKS50ZW1wbGF0ZSgpLHNlc3Npb25zOnRoaXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfX1vbkNoYXJ0VGhlbWVMb2FkZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUaGVtZUxvYWRlZH1jaGFydFRoZW1lTG9hZGVkKCl7dGhpcy5fY2hhcnRUaGVtZUxvYWRlZC5maXJlKCl9YXN5bmMgY29sb3JTdHVkaWVzUHJvcGVydGllc1JlYWR5KCl7dGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbCh0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpO2NvbnN0IGU9dGhpcy5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKS5sZW5ndGg+MCkpO2F3YWl0IFByb21pc2UuYWxsKGUubWFwKChlPT5lLnByb3BlcnRpZXNQYXRjaGVkKCkpKSl9c3RhdGUoZSl7Y29uc3R7d2l0aERhdGE6dCxza2lwTGluZVRvb2xzRnJvbU90aGVyU3ltYm9sczppLHNraXBMaW5lVG9vbHM6c309ZSxuPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLG89ci50cmFkaW5nUHJvcGVydGllcy5zdGF0ZSgpLGE9e3BhbmVzOnRoaXMuX3BhbmVzLm1hcCgodD0+dC5zdGF0ZSh7Li4uZSxpbmNsdWRlU291cmNlczohMH0pKSksdGltZVNjYWxlOnRoaXMuX3RpbWVTY2FsZS5zdGF0ZSh0KSxjaGFydFByb3BlcnRpZXM6e3BhbmVQcm9wZXJ0aWVzOnIucGFuZVByb3BlcnRpZXMuc3RhdGUoKSxzY2FsZXNQcm9wZXJ0aWVzOnIuc2NhbGVzUHJvcGVydGllcy5zdGF0ZSgpLHB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllczpuP24uc3RhdGUodCk6dm9pZCAwLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczpyLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcz8uc3RhdGUoKSx0cmFkaW5nUHJvcGVydGllczpvLHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ci5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCksaW5hY3Rpdml0eUdhcHM6ci5pbmFjdGl2aXR5R2Fwcy52YWx1ZSgpfSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkuc3RhdGUodCksdmVyc2lvbjp0aGlzLnZlcnNpb24oKSx0aW1lem9uZTp0aGlzLnRpbWV6b25lKCksc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbjp0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuLGxpbmtpbmdHcm91cDp0aGlzLl9saW5raW5nR3JvdXBJbmRleC52YWx1ZSgpfTtyZXR1cm4gc3x8KGEubGluZVRvb2xzR3JvdXBzPXRoaXMubGluZVRvb2xzR3JvdXBNb2RlbCgpLnN0YXRlKGkpKSxhfWlzSW5SZXN0b3JlU3RhdGUoKXtyZXR1cm4gdGhpcy5fcmVzdG9yaW5nU3RhdGV9cmVzdG9yZVN0YXRlKGUsdCxpKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykucmVzZXQoKTtjb25zdCBzPXt9O2lmKCFlLnBhbmVzKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKCFBcnJheS5pc0FycmF5KGUucGFuZXMpKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKGUucGFuZXMubGVuZ3RoPDEpcmV0dXJuIHZvaWQgd3UubG9nRGVidWcoIkNoYXJ0TW9kZWwucmVzdG9yZVN0YXRlOiBpbnZhbGlkIHN0YXRlIik7dGhpcy5fcmVzdG9yaW5nU3RhdGU9ITA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKTtpZih0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuPWUuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj8/ITAsZS5jaGFydFByb3BlcnRpZXMmJiFlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmKGUuY2hhcnRQcm9wZXJ0aWVzLnRpbWV6b25lPWUudGltZXpvbmUpLGUuY2hhcnRQcm9wZXJ0aWVzKXtjb25zdCBpPSgwLAokbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5zY2FsZXNQcm9wZXJ0aWVzOygwLGEubWVyZ2UpKGksZS5jaGFydFByb3BlcnRpZXMuc2NhbGVzUHJvcGVydGllcyksISgic2hvd0xhc3RWYWx1ZSJpbiBpKXx8InNob3dTZXJpZXNMYXN0VmFsdWUiaW4gaXx8InNob3dTdHVkeUxhc3RWYWx1ZSJpbiBpfHwoaS5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlLGkuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlKSwic2hvd1Nlcmllc0xhc3RWYWx1ZSJpbiBpJiYocy5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9ITApLCJzaG93U3R1ZHlMYXN0VmFsdWUiaW4gaSYmKHMuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9ITApLCghdGhpcy5pc1NuYXBzaG90KCkmJiF0aGlzLnJlYWRPbmx5KCkmJiJzaG93Q3VycmVuY3kiaW4gaXx8InNob3dVbml0ImluIGkpJiYoKDAscnMubWlncmF0ZVNob3dDdXJyZW5jeUFuZFNob3dVbml0UHJvcGVydGllcykoaS5zaG93Q3VycmVuY3ksaS5zaG93VW5pdCksZGVsZXRlIGkuc2hvd0N1cnJlbmN5LGRlbGV0ZSBpLnNob3dVbml0KTt7Y29uc3QgdD1lLmNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcztYaCh0KSwiYmFja2dyb3VuZFR5cGUiaW4gdHx8KHQuYmFja2dyb3VuZFR5cGU9cGkuQ29sb3JUeXBlLlNvbGlkKSwic2VwYXJhdG9yQ29sb3IiaW4gdHx8KHQuc2VwYXJhdG9yQ29sb3I9KDAsay5nZXRUaGVtZWRDb2xvcikoImNvbG9yLWNoYXJ0LXBhZ2UtYmciKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5tZXJnZUFuZEZpcmUodCl9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLm1lcmdlQW5kRmlyZShpKSxlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSksZS5jaGFydFByb3BlcnRpZXMuY2hhcnRFdmVudHNTb3VyY2VQcm9wZXJ0aWVzJiZ0aGlzLl9wcm9wZXJ0aWVzLmhhc0NoaWxkKCJjaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMiKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyksZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMmJnRoaXMuX3Byb3BlcnRpZXMuaGFzQ2hpbGQoInRyYWRpbmdQcm9wZXJ0aWVzIikmJih2b2lkIDA9PT1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5ob3Jpem9udGFsQWxpZ25tZW50JiYoZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMuaG9yaXpvbnRhbEFsaWdubWVudD0obj1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5saW5lTGVuZ3RoKTw9NDA/SWkuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LlJpZ2h0Om4+PTYwP0lpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5MZWZ0OklpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudHJhZGluZ1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLnRyYWRpbmdQcm9wZXJ0aWVzKSksdGhpcy5fdGltZVNjYWxlLnJlc3RvcmVTdGF0ZShlLnRpbWVTY2FsZSx0KSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpfXZhciBuO2lmKGUudGltZVNjYWxlJiZ0aGlzLl90aW1lU2NhbGUucmVzdG9yZVN0YXRlKGUudGltZVNjYWxlLHQpLCF0aGlzLnJlYWRPbmx5KCkpe2NvbnN0IHQ9dGhpcy5fZ2V0RXhjZWVkaW5nQ2hpbGRTdHVkaWVzKGUucGFuZXMpO2lmKHQubGVuZ3RoKXtmb3IobGV0IGk9ZS5wYW5lcy5sZW5ndGgtMTtpPj0wOy0taSl7Y29uc3Qgcz1lLnBhbmVzW2ldO2ZvcihsZXQgZT1zLnNvdXJjZXMubGVuZ3RoLTE7ZT49MDstLWUpe2NvbnN0IGk9cy5zb3VyY2VzW2VdO350LmluZGV4T2YoaSkmJnMuc291cmNlcy5zcGxpY2UoZSwxKX1zLnNvdXJjZXMubGVuZ3RofHxzLm1vZGUhPT1NLlBhbmVNb2RlLlJlZ3VsYXJ8fGUucGFuZXMuc3BsaWNlKGksMSl9e2NvbnN0IGU9d2luZG93LnVzZXIucHJvX3BsYW4sdD0icHJvX3ByZW1pdW1fZXhwZXJ0Ij09PWV8fCJwcm9fcHJlbWl1bV9leHBlcnRfdHJpYWwiPT09ZTtzZXRUaW1lb3V0KCgoKT0+KDAsd2Uub3BlblBheXdhbGwpKHtmZWF0dXJlOiJzdHVkeU9uU3R1ZHkiLGlzTWF4UGxhbjp0fSkpLDUwMCl9fX1jb25zdCByPWUudmVyc2lvbnx8MCxvPWUucGFuZXM7bGV0IGM9Il9zZXJpZXNJZCIsaD0xO2Zvcihjb25zdCBlIG9mIG8pe2NvbnN0IHQ9ZS5zb3VyY2VzLmZpbmQoKGU9PiJNYWluU2VyaWVzIj09PWUudHlwZSkpO2lmKHQpe2M9dC5pZCx0LnN0YXRlJiYoaD10LnN0YXRlLnN0eWxlKTticmVha319Y29uc3QgZD0hMCx1PW9bMF07dGhpcy5wYW5lcygpWzBdLnJlc3RvcmVTdGF0ZSh7c3RhdGU6dSx3aXRoRGF0YTp0LHZlcnNpb246cixzZXJpZXNJZDpjLHNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSx0aGlzLnBhbmVzKClbMF0ubWFpbkRhdGFTb3VyY2UoKXx8dGhpcy5yZW1vdmVQYW5lKHRoaXMucGFuZXMoKVswXSk7bGV0IHA9MTtmb3IobGV0IG49MTtuPGUucGFuZXMubGVuZ3RoO24rKyl7Y29uc3Qgbz1lLnBhbmVzW25dO2lmKDA9PT1vLnNvdXJjZXMubGVuZ3RoJiYoby5tb2RlPz9NLlBhbmVNb2RlLlJlZ3VsYXIpPT09TS5QYW5lTW9kZS5SZWd1bGFyKXt3dS5sb2dXYXJuKCJFbXB0eSBwYW5lIGRldGVjdGVkIC0gcmVzdG9yaW5nIGlzIHNraXBwZWQuIGlkeD0iK24rIiwgc3RhdGU9IitKU09OLnN0cmluZ2lmeShvKSk7Y29udGludWV9Y29uc3QgYT10aGlzLnBhbmVzKClbcF18fHRoaXMuY3JlYXRlUGFuZSgpO2EucmVzdG9yZVN0YXRlKHtzdGF0ZTpvLHdpdGhEYXRhOnQsdmVyc2lvbjpyLHNlcmllc0lkOmMsCnNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSxhLm1haW5EYXRhU291cmNlKCl8fGEubW9kZSgpIT09TS5QYW5lTW9kZS5SZWd1bGFyP3ArPTE6dGhpcy5yZW1vdmVQYW5lKGEpfWlmKHUuaXNDb2xsYXBzZWQmJnRoaXMuX3BhbmVzWzBdLmNvbGxhcHNlZCgpLnNldFZhbHVlKCEwKSxlLmNoYXJ0UHJvcGVydGllcyYmZS5jaGFydFByb3BlcnRpZXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVQcm9wZXJ0aWVzKXtjb25zdCBpPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKTtpJiZpLnJlc3RvcmVEYXRhKGUuY2hhcnRQcm9wZXJ0aWVzLnB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllcyx0KX10aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpO2NvbnN0IF89dGhpcy5kYXRhU291cmNlcygpO2xldCBtPTA7Zm9yKGxldCBlPTA7ZTxfLmxlbmd0aDtlKyspe2NvbnN0IHQ9X1tlXTsoMCxyaS5pc0xpbmVUb29sKSh0KSYmKG0rKyx0LmNhbGNJc0FjdHVhbFN5bWJvbCgpKX10aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCgpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCksdGhpcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCk7Y29uc3QgZz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWFpblBhbmUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKSxnLmFkZERhdGFTb3VyY2UoZSx0aGlzLl9tYWluU2VyaWVzLnByaWNlU2NhbGUoKSwhMCk7bGV0IGY9UW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibGluZXRvb2xzX2xpbWl0Iil8fDFlMztyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5zZXR0aW5ncyYmKGY9d2luZG93LnVzZXIuc2V0dGluZ3MubGluZXRvb2xzX2xpbWl0fHxmKSxlLnNlc3Npb25zJiZ0aGlzLnNlc3Npb25zKCkucmVzdG9yZVN0YXRlKGUuc2Vzc2lvbnMsdCksZS5saW5lVG9vbHNHcm91cHMmJnRoaXMucmVzdG9yZUxpbmVUb29sc0dyb3VwcyhlLmxpbmVUb29sc0dyb3VwcyksbT5mJiZtJTEwMD09MD97bGluZXNfbGltaXRfZXhjZWVkZWQ6ITAsbGluZV90b29sc19jb3VudDptfToodGhpcy5wYW5lcygpLmZvckVhY2goKGU9PnRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKGUpKSksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5maXJlQ2hhbmdlZEFsbCgpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnNldFZhbHVlKGUubGlua2luZ0dyb3VwPz9udWxsKSx0aGlzLl9yZXN0b3JpbmdTdGF0ZT0hMSx7fSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVufXNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oZSl7dGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj1lfWV4dGVybmFsVGltZVN0YW1wKGUpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7cmV0dXJuIHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKGUsdCYmdC5wcm9qZWN0VGltZS5iaW5kKHQpKX1zeW5jTG9sbGlwb3BTb3VyY2VzKCl7dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlckxvYWRlcj8uY2FsbEZ1bmN0aW9uKCgoKT0+e251bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiZ0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyLnN5bmNTb3VyY2VzKCl9KSl9cmVzdG9yZUNoYXJ0RXZlbnRzKGUpe3RoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI/LmNhbGxGdW5jdGlvbigoKCk9PntudWxsIT09dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlciYmdGhpcy5fb3B0aW9ucy5jaGFydEV2ZW50c0VuYWJsZWQmJnRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXIucmVzdG9yZUNoYXJ0RXZlbnRzKGUpfSkpfXJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoZSl7aWYodGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMuYWRkKGUpLHRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCkmJnRoaXMuX21haW5TZXJpZXMuaXNDb21wbGV0ZWQoKSl7Y29uc3QgdD0oMCxsLmVuc3VyZURlZmluZWQpKEl1LmdldChlKSkuYWRhcHRlcixpPU1hdGgubWluKC4uLkFycmF5LmZyb20odGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMpLm1hcCgoZT0+KDAsbC5lbnN1cmVEZWZpbmVkKShJdS5nZXQoZSkpKSkuZmlsdGVyKChlPT5lLmFkYXB0ZXI9PT10KSkubWFwKChlPT5lLnRpbWVvdXQpKSk7KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbERlYm91bmNlZEJ5QWRhcHRlci5nZXQodCk/LmdldChpKSkoKX1lbHNlIHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsKHRoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcyl9cmVjYWxjQ29sb3JTdHVkaWVzKGUpe3RoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcy5mb3JjZT10aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNQYXJhbXMuZm9yY2V8fEJvb2xlYW4oZSksdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbERlYm91bmNlZCgpfXJlY2FsY1N0dWR5QmFzZWRMaW5lVG9vbHMoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSkmJmUucmVjYWxjU3R1ZHlJZk5lZWRlZCgpfSkpfWFsZXJ0c1dhdGNoZXIoKXtyZXR1cm4gdGhpcy5fYWxlcnRzV2F0Y2hlcn1hbGVydHNDb2xsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24ucmVhZG9ubHkoKX1zaG93TGVnZW5kKCl7cmV0dXJuIHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eX1pZCgpe3JldHVybiB0aGlzLl9pZH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpewp0aGlzLl9jcm9zc0hhaXJTb3VyY2UuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9cmVxdWVzdFNlbGVjdFBvaW50KGUpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2UucmVxdWVzdFNlbGVjdFBvaW50KGUpfW9uUG9pbnRTZWxlY3RlZCgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2Uub25Qb2ludFNlbGVjdGVkKCl9cmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZSgpe2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpaS5zeW1ib2xTb3VyY2UoKT09PWUmJmkuZGlzYWJsZVByaWNlUmFuZ2VSZWFkeSgpfWludmFsaWRhdGUoZSl7dGhpcy5faW52YWxpZGF0ZUhhbmRsZXI/LihlKX1hcHBsaWVkVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuYXBwbGllZFRpbWVGcmFtZSgpfWJhcnNNYXJrc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fYmFyc01hcmtzU291cmNlc31jcmVhdGVTeW5jUG9pbnQoZSx0KXtyZXR1cm4oMCxsdS5nZXREZWZhdWx0MkxhenkpKHRoaXMuX3N5bmNQb2ludENhY2hlLGUudW5pcXVlSWQsdC51bmlxdWVJZCwoKCk9Pm5ldyBhaChlLHQpKSl9aXNBdXRvU2F2ZUVuYWJsZWQoKXtyZXR1cm4gdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWR9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl90aW1lU2NhbGUudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCkudmFsdWUoKT90aGlzLl90aW1lU2NhbGUucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKSk6TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnZhbHVlKCksdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCl9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCk/TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKS52YWx1ZSgpLHRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCkpOnRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5zdHVkeUF3YXJlRGVmYXVsdFJpZ2h0T2Zmc2V0KCkpfWNsZWFyQWxsU3R1ZGllcygpe3RoaXMuZGF0YVNvdXJjZXMoKS5mb3JFYWNoKChlPT5lLmNsZWFyRGF0YT8uKCkpKX1zZXRUaW1lU2NhbGVBbmltYXRpb24oZSx0KXtjb25zdCBpPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKSxzPXRoaXMuX3RpbWVTY2FsZTtpLnNldFRpbWVTY2FsZUFuaW1hdGlvbihlLHQ/P3Mud2lkdGgoKS1zLmluZGV4VG9Db29yZGluYXRlKHMuYmFzZUluZGV4KCkpKSx0aGlzLmludmFsaWRhdGUoaSl9c3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKTtjb25zdCBlPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKTtlLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmludmFsaWRhdGUoZSl9bG9sbGlwb3BTb3VyY2VzT3B0aW9ucygpe2NvbnN0IGU9dGhpcy5fb3B0aW9ucztyZXR1cm57Y2hhcnRFdmVudHNFbmFibGVkOiF0aGlzLl9vcHRpb25zLmlzU25hcHNob3QmJnRoaXMuX29wdGlvbnMuY2hhcnRFdmVudHNFbmFibGVkLGVzZEVuYWJsZWQ6ZS5lc2RFbmFibGVkLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDplLm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCxjb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQ6ZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvbkVuYWJsZWQ6ZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxsYXRlc3RVcGRhdGVzRW5hYmxlZDplLmxhdGVzdFVwZGF0ZXNFbmFibGVkfX1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWR9c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe2Uuc2V0UHJpY2VBdXRvU2NhbGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5yZWR1Y2UoKChlLHQpPT4odC50YWdzJiZlLnB1c2goLi4udC50YWdzKCkpLGUpKSxbXSl9YXN5bmMgd2l0aG91dExpbmVUb29sc1N5bmNBY3Rpb24oZSl7dHJ5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jaysrLGF3YWl0IGUoKX1maW5hbGx5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jay0tfX1zeW1ib2xBbGlhc1NlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQWxpYXNTZXJ2aWNlfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpe3JldHVybiB0aGlzLl91bmRvTW9kZWwuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBBY3RpdmUoKXtyZXR1cm4gdGhpcy5fdW5kb01vZGVsLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl9X3N1YnNjcmliZVRvTGluZVRvb2xzR3JvdXBNb2RlbCgpe3RoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZCl9X3Vuc3Vic2NyaWJlRnJvbUxpbmVUb29sc0dyb3VwTW9kZWwoKXt0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsLm9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfV9tYXliZVVwZGF0ZVByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cCgpe2NvbnN0IGU9dGhpcy5fY3VycmVudFRvb2wudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGlvbi5hbGxJdGVtc1NvcnRlZCgpLm1hcCgoZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/ZS5pZDplLmlkKCkpKTsoMCwKbS5pc0xpbmVUb29sTmFtZSkoZSkmJnQubGVuZ3RoP3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz10OiEoMCxULnRvb2xJc0N1cnNvcikoZSkmJiEoMCxULnRvb2xJc01lYXN1cmUpKGUpfHx0Lmxlbmd0aHx8KHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1udWxsKX1fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKGUudXBkYXRlQWxsVmlld3MoKDAsdG4uc2VsZWN0aW9uQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKGUpKX0pKX1faW5pdEFsZXJ0c0xpc3QoKXtyZXR1cm4gdGhpcy5fYWxlcnRzTGlzdFByb21pc2V8fCh0aGlzLl9hbGVydHNMaXN0UHJvbWlzZT0oMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKS50aGVuKChlPT57Y29uc3QgdD1lLmNyZWF0ZUNvbGxlY3Rpb24oKCgpPT50aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLnByb1N5bWJvbCgpKSk7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zZXRWYWx1ZSh0KSx0LmFsZXJ0QWRkZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9hZGRBbGVydExhYmVsVG9DaGFydC5iaW5kKHRoaXMpKSx0LmFsZXJ0UmVtb3ZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWxGcm9tQ2hhcnQuYmluZCh0aGlzKSksdC5maXJzdENvbmRpdGlvbkFsZXJ0U2VyaWVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkuaXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHRoaXMuc291cmNlc0JlaW5nTW92ZWQoKSl8fCh0aGlzLl9yZW1vdmVBbGVydExhYmVsRnJvbUNoYXJ0KGUpLHRoaXMuX2FkZEFsZXJ0TGFiZWxUb0NoYXJ0KGUpKX0pKSx0LnN5bmMoKTtjb25zdCBpPWU9Pnt0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKVtlXSh0aGlzLHMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xFcnJvcigpW2VdKHRoaXMsdGhpcy5fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQpLHRoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbFtlXSh0aGlzLHMpfSxzPSgpPT57dD8uc3luYygpfTtyZXR1cm4gd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKCgpPT57dD8ucmVzZXQoKSxpKHdpbmRvdy5pc19hdXRoZW50aWNhdGVkPyJzdWJzY3JpYmUiOiJ1bnN1YnNjcmliZSIpfSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZpKCJzdWJzY3JpYmUiKSx0fSkpKSx0aGlzLl9hbGVydHNMaXN0UHJvbWlzZX1fdXBkYXRlU3R1ZGllc01heE9mZnNldCgpe2NvbnN0IGU9TWF0aC5tYXgoLi4udGhpcy5hbGxTdHVkaWVzKCkubWFwKChlPT5lLm1heE9mZnNldCgpLnZhbHVlKCkpKSk7dGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD1lO2NvbnN0IHQ9dGhpcy5fdGltZVNjYWxlLnJpZ2h0T2Zmc2V0KCk7aWYodDwwKXJldHVybjtpZihlPD10KXJldHVybjtjb25zdCBpPXRoaXMuX3RpbWVTY2FsZS5sb2dpY2FsUmFuZ2UoKTtpP3RoaXMuX3RpbWVTY2FsZS56b29tVG9CYXJzUmFuZ2UoaS5sZWZ0KCksdGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpK01hdGgubWF4KHRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpLGUpKTp0aGlzLl90aW1lU2NhbGUuc2V0UmlnaHRPZmZzZXQoTWF0aC5tYXgodCxlKSl9X3VwZGF0ZUJhc2VJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5fdGltZVNjYWxlLHM9aS5iYXNlSW5kZXgoKSxuPWkubG9naWNhbFJhbmdlKCk7aWYobnVsbCE9PW4mJnQpe2NvbnN0IHQ9bi5jb250YWlucyhzKSxyPWUtcyxvPXQ/bnVsbDppLnJpZ2h0T2Zmc2V0KCktcjtpZighdGhpcy5fb3B0aW9ucy5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyJiZ0KXtjb25zdCBlPWkud2lkdGgoKS9pLmJhclNwYWNpbmcoKSx0PWUvKGUrcikscz1NYXRoLm1heChpLm1pbkJhclNwYWNpbmcoKSxpLmJhclNwYWNpbmcoKSp0KTtpLnNldEJhclNwYWNpbmcocyl9bnVsbCE9PW8mJmkuc2V0UmlnaHRPZmZzZXQobyl9aS5zZXRCYXNlSW5kZXgoZSl9YXN5bmMgX2NyZWF0ZUxvbGxpcG9wU291cmNlc1dhdGNoZXIoKXt7Y29uc3QgZT10aGlzLmxvbGxpcG9wU291cmNlc09wdGlvbnMoKSx0PVtlLmVzZEVuYWJsZWQsZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxlLmxhdGVzdFVwZGF0ZXNFbmFibGVkLGUuY2hhcnRFdmVudHNFbmFibGVkXSxzPSgwLEoub25XaWRnZXQpKCksbj10aGlzLmlzU25hcHNob3QoKTsodC5zb21lKEJvb2xlYW4pfHwhc3x8bikmJihhd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKGkuZSg4MTYwNSkudGhlbihpLmJpbmQoaSw2NjQwKSkpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXIuY2FsbEZ1bmN0aW9uKChlPT57dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1uZXcgZS5Mb2xsaXBvcFNvdXJjZXNXYXRjaGVyKHRoaXMpfSkpKX19X3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCl7Y29uc3QgZT1paC5kYXRlRm9ybWF0UHJvcGVydHkudmFsdWUoKSx0PXRoaXMub25XaWRnZXQoKT92b2lkIDA6bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpO2lmKHRoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IHRoLkRhdGVGb3JtYXR0ZXIoZSx0KSx0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpKXRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyB0aC5EYXRlRm9ybWF0dGVyKGUsdCksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcigoMCwKUGMuZ2V0SG91ck1pbnV0ZUZvcm1hdCkoVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudmFsdWUoKSkpO2Vsc2V7Y29uc3QgaT14LkludGVydmFsLnBhcnNlKHRoaXMubWFpblNlcmllcygpLmludGVydmFsKCkpLHM9KDAsUGMuZ2V0VGltZUZvcm1hdEZvckludGVydmFsKShpLFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3RoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyBlaC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDplLHdpdGhXZWVrZGF5OnQsdGltZUZvcm1hdDpzLGRhdGVUaW1lU2VwYXJhdG9yOiIgICAifSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcihzKX19X2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2UoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZihlPT09dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSlyZXR1cm4gTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKTtpZih0aGlzLl93YXRlcm1hcmtTb3VyY2U9PT1lKXJldHVybiB0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzaygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQpO2lmKC0xIT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5pbmRleE9mKGUpKXtjb25zdCBlPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBlLmludmFsaWRhdGVBbGwodCksZX1pZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbnVsbDtpZihlLmlzTXVsdGlQYW5lRW5hYmxlZCgpKXJldHVybiBuZXcgTGUuSW52YWxpZGF0aW9uTWFzayh0KTtjb25zdCBpPXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4gbnVsbCE9PWk/dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soaSx0KTpudWxsfV9wYW5lSW52YWxpZGF0aW9uTWFzayhlLHQ9TGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpe2NvbnN0IGk9bmV3IExlLkludmFsaWRhdGlvbk1hc2sscz10aGlzLl9wYW5lcy5pbmRleE9mKGUpO3JldHVybiBpLmludmFsaWRhdGVBbGxQYW5lKHMsdCksaX1faW52YWxpZGF0aW9uTWFza0ZvclNvdXJjZVByaWNlU2NhbGUoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbmV3IExlLkludmFsaWRhdGlvbk1hc2sodCk7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7bGV0IHM9ZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLl9wYW5lcy5pbmRleE9mKGkpO2xldCByPWkucHJpY2VTY2FsZVBvc2l0aW9uKHMpO2lmKCJvdmVybGF5Ij09PXIpe2NvbnN0IGU9dGhpcy5fcGFuZXNbbl0uZGVmYXVsdFByaWNlU2NhbGUoKTtzPWUscj1pLnByaWNlU2NhbGVQb3NpdGlvbihlKX1jb25zdCBvPWkucHJpY2VTY2FsZUluZGV4KHMscik7aWYodm9pZCAwPT09bylyZXR1cm4gbnVsbDtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBhLmludmFsaWRhdGVQcmljZVNjYWxlKG4scixvLHQpLGF9X3JlbW92ZUN1c3RvbVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgd3UubG9nV2FybihgQXR0ZW1wdCB0byByZW1vdmUgY3VzdG9tIHNvdXJjZSB3aGljaCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbW9kZWwgLSAiJHtlfSJgKTt3dS5sb2dOb3JtYWwoYFJlbW92aW5nIGN1c3RvbSBzb3VyY2UgIiR7ZX0iYCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSksdGhpcy5faG92ZXJlZFNvdXJjZT09PXQmJnRoaXMuc2V0SG92ZXJlZFNvdXJjZShudWxsKSx0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPT09dCYmdGhpcy5zZXRNb3ZpbmdDdXN0b21Tb3VyY2UobnVsbCxudWxsKTtjb25zdCBpPUN1KHRoaXMuX2JnQ3VzdG9tU291cmNlcyx0KSxzPUN1KHRoaXMuX2ZnQ3VzdG9tU291cmNlcyx0KSxuPUN1KHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLHQpLHI9Q3UodGhpcy5fYWxsQ3VzdG9tU291cmNlcyx0KTsoMCxsLmFzc2VydCkoaXx8c3x8biwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gb25lIG9mIHRoZSBsYXllcnMiKSwoMCxsLmFzc2VydCkociwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gdGhlIGFycmF5IiksdGhpcy5fY3VzdG9tU291cmNlc01hcC5kZWxldGUoZSksdC5kZXN0cm95KCl9X3VwZGF0ZVNob3dMZWdlbmRQcm9wZXJ0eSgpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dMZWdlbmQsdD10aGlzLl9zaG93TGVnZW5kUHJvcGVydHk7aWYoZS52YWx1ZSgpKXQuc2V0VmFsdWUoITApO2Vsc2V7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZXMpe2xldCBpPTA7Zm9yKGNvbnN0IHMgb2YgZS5wcmljZURhdGFTb3VyY2VzKCkpaWYobnVsbCE9PXMuc3RhdHVzVmlldygpJiYoaSsrLGk+PTIpKXJldHVybiB2b2lkIHQuc2V0VmFsdWUoITEpfXQuc2V0VmFsdWUoITApfX1fcG9pbnRUb1BlcmNlbnRQb3NpdGlvbihlLHQpe3JldHVybnt4OmUueC90aGlzLl90aW1lU2NhbGUud2lkdGgoKSx5OmUueS8oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodC5tYWluRGF0YVNvdXJjZSgpKS5wcmljZVNjYWxlKCkpLmhlaWdodCgpfX1fcGVyY2VudFBvc2l0aW9uVG9Qb2ludChlLHQpe2NvbnN0IGk9ZS54KnRoaXMuX3RpbWVTY2FsZS53aWR0aCgpLHM9ZS55KigwLGwuZW5zdXJlTm90TnVsbCkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLnByaWNlU2NhbGUoKSkuaGVpZ2h0KCk7cmV0dXJuIG5ldyBQdC5Qb2ludChpLHMpfV9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbChlKXsKaWYoIXRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCl8fCF0aGlzLl9tYWluU2VyaWVzLmlzQ29tcGxldGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZShudWxsKTtpZih0aGlzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9tYWluU2VyaWVzLmJhcnMoKSxzPWkuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLG49aS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpLHI9aS5sYXN0SW5kZXgoKSxvPXM/cy5pbmRleDp2b2lkIDAsYT1uP24uaW5kZXg6dm9pZCAwLGw9bz09PWUub2xkU3RhcnRWaXNpYmxlSW5kZXgsYz1hPT09ZS5vbGRFbmRWaXNpYmxlSW5kZXgsaD1bSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzQ29tcGxldGVkLElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU3R1ZHlDcmVhdGlvbl0uc29tZSgodD0+ZS5yZWFzb25zLmhhcyh0KSkpO2wmJmMmJiFofHwoZS5yZWFzb25zLmNsZWFyKCksZS5vbGRTdGFydFZpc2libGVJbmRleD12b2lkIDAhPT1vP286TmFOLGUub2xkRW5kVmlzaWJsZUluZGV4PXZvaWQgMCE9PWE/YTpOYU4sdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZSh7Zmlyc3RWaXNpYmxlQmFyVGltZToxZTMqKHM/LnZhbHVlWzBdPz8wKSxsYXN0VmlzaWJsZUJhclRpbWU6MWUzKihuPy52YWx1ZVswXT8/MCksc3Vic2NyaWJlUmVhbHRpbWU6bj8uaW5kZXg9PT1yfSkpfV9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKGUpe2NvbnN0IHQ9dGhpcy5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcCguNSksaT10aGlzLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0yMDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scz10PT09ZS5vbGRCZ0NvbG9yLG49aT09PWUub2xkRmdDb2xvcjtpZihzJiZuJiYhZS5mb3JjZSlyZXR1cm47ZS5mb3JjZT0hMSxlLm9sZEJnQ29sb3I9dCxlLm9sZEZnQ29sb3I9aTtjb25zdCByPWUuc3R1ZGllcz8/dGhpcy5wcmljZURhdGFTb3VyY2VzKCk7ZS5zdHVkaWVzPXZvaWQgMDtmb3IoY29uc3QgZSBvZiByKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBzPWUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKSxuPWUucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztzLmZvckVhY2goKGU9Pntjb25zdCBzPWUuaWQ9PT1OdC5DaGFydENvbG9yRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzLkZnQ29sb3I/aTp0O24uY2hpbGRzKClbZS5pZF0uc2V0VmFsdWVTaWxlbnRseShzKX0pKSxzLmxlbmd0aD4wJiZuLmZpcmVDaGFuZ2VkKCl9fV9nZXRBbGxTb3VyY2VzKGUsdD1rdSl7Y29uc3QgaT1bXTtmb3IoY29uc3QgcyBvZiB0aGlzLl9wYW5lcyl7Y29uc3Qgbj10KHMpO2Zvcihjb25zdCB0IG9mIG4pZSh0KSYmaS5wdXNoKHQpfXJldHVybiBpfV9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpe3RoaXMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fYWRkQWxlcnRMYWJlbFRvQ2hhcnQoZSl7e2lmKCFlLmlzQWxlcnRQcmVzZW50T25UYXJnZXQodWguQWxlcnRDaGFydERpc3BsYXlUYXJnZXQuTGFiZWwpKXJldHVybjtjb25zdCB0PWUuZmlyc3RDb25kaXRpb25TZXJpZXNJZCgpO2lmKG51bGw9PT10KXJldHVybjsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5hZGRBbGVydChlLHQpfX1fcmVtb3ZlQWxlcnRMYWJlbEZyb21DaGFydChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGVydChlKX1fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQoKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGxBbGVydExhYmVscygpfV91cGRhdGVUaW1lU2NhbGUoZSl7Y29uc3R7aW5kZXg6dCx6b2Zmc2V0OmksdmFsdWVzOnMsaW5kZXhEaWZmczpuLGJhc2VJbmRleDpyLG1hcmtzOm8sY2xlYXJGbGFnOmEsY2xlYXJUaWNrTWFya3M6bH09ZTtpZihhKXt0aGlzLl90aW1lU2NhbGUucmVzZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5jbGVhckRhdGE/LigpfWlmKG4ubGVuZ3RoPjApZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUubW92ZURhdGE/LihuKTtjb25zdCBjPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvVGltZVBvaW50KHRoaXMuX3RpbWVTY2FsZS5iYXNlSW5kZXgoKSksaD10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCk7dGhpcy5fdGltZVNjYWxlLnVwZGF0ZSh0LGkscyxvLGx8fCExKTtjb25zdCBkPXRoaXMuX3RpbWVTY2FsZS5wb2ludHMoKS5yYW5nZSgpLnZhbHVlKCk7bGV0IHU9IkNoYXJ0TW9kZWwucHJvdG90eXBlLl91cGRhdGVUaW1lU2NhbGUoIit0KyIsIitpKyIsIitzLmxlbmd0aCsiLCIrbi5sZW5ndGgrIiwiK28ubGVuZ3RoKyIsIithKyIpIjtpZih1Kz0iVGltZVNjYWxlOiB7Zmlyc3Q6IisoZD8uZmlyc3RJbmRleD8/bnVsbCkrIixsYXN0OiIrKGQ/Lmxhc3RJbmRleD8/bnVsbCkrIn0iLG51bGw9PT1yKXt0aGlzLl90aW1lU2NhbGUucmVzZXRCYXNlSW5kZXgoKTtjb25zdCBlPXRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpO3RoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldChNYXRoLm1heChlLHRoaXMuX2NhY2hlZFN0dWRpZXNNYXhPZmZzZXQpKX1lbHNlIGlmKHZvaWQgMCE9PXIpe2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9UaW1lUG9pbnQociksdD1udWxsIT09YyYmbnVsbCE9PWUmJmU+Yzt0aGlzLl91cGRhdGVCYXNlSW5kZXgocix0KX0KaWYod3UubG9nRGVidWcodSksIWgmJmghPT10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCkpZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKSEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0ZpeGVkKCl8fGUuaXNTb3VyY2VIaWRkZW4oKXx8ZS5wcm9jZXNzSGliZXJuYXRlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUudXBkYXRlQWxsVmlld3Moe3R5cGU6ImRhdGEtc291cmNlLWNoYW5nZSIsc291cmNlSWQ6ZS5pZCgpLGNsZWFyRGF0YTohMH0pO3RoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpfV9nZXRBdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpPygwLGEuaXNBcnJheSkodGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QpP3RoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0OihudWxsIT09dGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3R8fCh0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzTGlzdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZUN1cnJlbmNpZXMoKSksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QudGhlbigoZT0+e3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0PWUsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zZXRWYWx1ZShuZXcgTGgoZSkpLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVVbml0cygpe3JldHVybiB0aGlzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpP3RoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0IGluc3RhbmNlb2YgUHJvbWlzZXx8bnVsbD09PXRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0PyhudWxsIT09dGhpcy5fYXZhaWxhYmxlVW5pdHNPYmplY3R8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZVVuaXRzKCkpLHRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1lLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnNldFZhbHVlKG5ldyBBaChlKSksdGhpcy5mdWxsVXBkYXRlKCkpfSkpLmNhdGNoKChlPT57d3UubG9nV2FybihgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyB1bml0cyBjb25maWc6ICR7ZX1gKX0pKSkse30pOnRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0Ont9fV9nZXRBbGxBdmFpbGFibGVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKT8oMCxhLmlzQXJyYXkpKHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0KT90aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdDoobnVsbCE9PXRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0fHwodGhpcy5fYWxsQXZhaWxhYmxlTWV0cmljc0xpc3Q9KDAscWUucmVzcGVjdEFib3J0KSh0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLHRoaXMuY2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCkpLHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1lLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5nZXQoZSk7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdDtpZigoMCxhLmlzUHJvbWlzZSkodCkpcmV0dXJuW107Y29uc3QgaT10aGlzLmNoYXJ0QXBpKCkuYXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpO3JldHVybiB0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSxpKSxpLnRoZW4oKHQ9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSx0KSx0aGlzLmZ1bGxVcGRhdGUoKSl9KSkuY2F0Y2goKGU9Pnt3dS5sb2dXYXJuKGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIHByaWNlIHNvdXJjZXMgY29uZmlnOiAke2V9YCl9KSksW119X2NsZWFyQXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7dGhpcy5fYXZhaWxhYmxlUHJpY2VTb3VyY2VzQnlTeW1ib2wuY2xlYXIoKX1fb25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXt0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpfV9nZXRCYWNrZ3JvdW5kQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHQuYmFja2dyb3VuZFR5cGUudmFsdWUoKT09PXBpLkNvbG9yVHlwZS5HcmFkaWVudCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxpKXtpZigoMCxrLmdldEN1cnJlbnRUaGVtZSkoKS5uYW1lPT09Sm8uU3RkVGhlbWUuRGFyayYmKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IiLGUsSm8uU3RkVGhlbWUuRGFyaykmJigwLGsuaXNTdGRUaGVtZWREZWZhdWx0VmFsdWUpKCJjaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IiLHQsSm8uU3RkVGhlbWUuRGFyaykpcmV0dXJuIGNoO3JldHVybiBpP2U6dAp9KHQuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci52YWx1ZSgpLHQuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudmFsdWUoKSxCb29sZWFuKGUpKX1yZXR1cm4gZnVuY3Rpb24oZSl7aWYoKDAsay5nZXRDdXJyZW50VGhlbWUpKCkubmFtZT09PUpvLlN0ZFRoZW1lLkRhcmsmJigwLFguaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmKDAsay5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIixlLEpvLlN0ZFRoZW1lLkRhcmspKXJldHVybiBjaDtyZXR1cm4gZX0odC5iYWNrZ3JvdW5kLnZhbHVlKCkpfV9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCl7Y29uc3QgZT10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCk7cmV0dXJuImJsYWNrIj09PSgwLHlpLnJnYlRvQmxhY2tXaGl0ZVN0cmluZykoKDAseWkucGFyc2VSZ2IpKGUpLDE1MCk/IndoaXRlIjoiYmxhY2sifV91cGRhdGVCYWNrZ3JvdW5kQ29sb3IoKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3Iuc2V0VmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvci5zZXRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ29sb3IoITApKX1fc3luY0Nyb3NzaGFpcihlKXtpZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24pe2NvbnN0IHQ9dGhpcy5fdW5kb01vZGVsLm1haW5TZXJpZXMoKSxpPXQuc3luY01vZGVsKCkscz10aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCksbj1zLnBhbmU7aWYobnVsbCE9PWkmJm51bGwhPT1uKXtjb25zdCByPXt0aW1lU3RhbXA6dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoVGltZShzLmluZGV4LGkucHJvamVjdFRpbWUuYmluZChpKSksc3luY1NvdXJjZVRhcmdldDppLnN5bmNTb3VyY2VUYXJnZXQoKX07bi5tYWluRGF0YVNvdXJjZSgpPT09dCYmKHIucHJpY2U9cy5wcmljZSxyLnN5bWJvbD10LnN5bWJvbCgpKSx0aGlzLl91bmRvTW9kZWwuc3luY0Nyb3NzaGFpcihyLGUpfXRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25DdXJzb3JQb3NpdGlvblVwZGF0ZWQoKX19X2dvdG9UaW1lSW1wbChlLHQpe2NvbnN0IGk9dGhpcy50aW1lU2NhbGUoKSxzPXRoaXMubWFpblNlcmllcygpO2xldCBuO2lmKHZvaWQgMCE9PWUpe2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSxuPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhcy5pc0RXTSgpKXtjb25zdCB0PXMuc3ltYm9sSW5mbygpO2lmKG51bGwhPT10KXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSksbj0oMCxvLmNhbF90b191dGMpKCgwLG8uZ2V0X3RpbWV6b25lKShpKSxuZXcgRGF0ZShlKSkscj0oMCxVaC5jcmVhdGVUaW1lVG9CYXJUaW1lQWxpZ25lcikocy5pbnRlcnZhbCgpLHQpKG4pO2U9KDAsby51dGNfdG9fY2FsKSgoMCxvLmdldF90aW1lem9uZSkoaSkscikuZ2V0VGltZSgpfX10aGlzLl9zY3JvbGxpbmdTdGF0ZT17dGFyZ2V0RGF0ZTplLGRlZmVycmVkOm4sdGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dC50YXJnZXRQb2ludEFsaWdubWVudCxhdXRvc2NhbGVBZnRlclNjcm9sbDp0LmF1dG9zY2FsZUFmdGVyU2Nyb2xsfX1lbHNle2lmKCF0aGlzLl9zY3JvbGxpbmdTdGF0ZSlyZXR1cm4gd3UubG9nRXJyb3IoInNjcm9sbFRvIGNhbGxlZCB3aXRob3V0IGFuIGFyZ3VtZW50IiksUHJvbWlzZS5yZWplY3QoKTtlPXRoaXMuX3Njcm9sbGluZ1N0YXRlLnRhcmdldERhdGUsbj10aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZH1pZih2b2lkIDA9PT1pLnRpY2tNYXJrcygpLm1pbkluZGV4KXJldHVybiBuLnJlc29sdmUodm9pZCAwKSxuLnByb21pc2U7dGhpcy5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCk7bGV0IHI9KChlLG4pPT57aWYoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkoaS50aWNrTWFya3MoKS5pbmRleFRvVGltZSgoMCxsLmVuc3VyZURlZmluZWQpKGkudGlja01hcmtzKCkubWluSW5kZXgpKSkudmFsdWVPZigpLWUpKG4pPDApe2xldCByPWkudGlja01hcmtzKCkubmVhcmVzdEluZGV4KG4pO2NvbnN0IG89cy5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW8pcmV0dXJuIm5vX2RhdGEiO3I9TWF0aC5taW4ocixvKTtsZXQgYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtmb3IoO2E8biYmcjxvOylyKyssYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtpZigoMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKS5jb250YWlucyhyKSYmIXQuYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlKXJldHVybiJpbl92aXNpYmxlX3JhbmdlIjtpZigibm9uZSIhPT1lKXtjb25zdCB0PWkud2lkdGgoKTtpZigibGVmdCI9PT1lKWkuc2Nyb2xsVG9CYXIocik7ZWxzZXtjb25zdCBlPWkuaW5kZXhUb0Nvb3JkaW5hdGUocikscz1pLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgoZS10LzIpO2kuc2Nyb2xsVG9CYXIocyl9fXJldHVybnt0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQocikpfX1yZXR1cm4ibm9fZGF0YSJ9KSh0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXRQb2ludEFsaWdubWVudCx0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXREYXRlKTtpZigibm9fZGF0YSI9PT1yKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoaS50aWNrTWFya3MoKS5taW5JbmRleCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxvPW4ubGFzdEJhcigpLW4uZmlyc3RCYXIoKTtpZihzLnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXtjb25zdCB0PWkudGlja01hcmtzKCkuZXN0aW1hdGVMZWZ0KGUpO2kucmVxdWVzdE1vcmVIaXN0b3J5UG9pbnRzKE1hdGguY2VpbCh0K28vMikpfWVsc2UgaS56b29tVG9CYXJzUmFuZ2UodC1vLzIsdCtvLzIpLHI9ewp0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQodCkpLGVvZDohMH19aWYoIm5vX2RhdGEiIT09ciYmImluX3Zpc2libGVfcmFuZ2UiIT09cil7aWYodGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGwpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKGkubG9naWNhbFJhbmdlKCkpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZXMoKSl7Zm9yKGNvbnN0IHMgb2YgaS5sZWZ0UHJpY2VTY2FsZXMoKSlzLnJlY2FsY3VsYXRlUHJpY2VSYW5nZShlLHQpO2Zvcihjb25zdCBzIG9mIGkucmlnaHRQcmljZVNjYWxlcygpKXMucmVjYWxjdWxhdGVQcmljZVJhbmdlKGUsdCl9fXRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsbi5yZXNvbHZlKHIpfXJldHVybiJpbl92aXNpYmxlX3JhbmdlIj09PXImJihuLnJlamVjdCgiYWxyZWFkeSB2aXNpYmxlIiksdGhpcy5fc2Nyb2xsaW5nU3RhdGU9bnVsbCksbi5wcm9taXNlfV9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGUsdCxpKXt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnNldFBvc2l0aW9uKGUsdCxpKX1fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGUpe2NvbnN0IHQ9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zKCk7aWYoMT09PXQubGVuZ3RoKXtjb25zdFtpXT10O2lmKCEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShpKSYmISgwLEFpLmlzRGF0YVNvdXJjZSkoaSkmJmkuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKXJldHVybiBpLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZShlKX1yZXR1cm4hMH1fb25TeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9jbGVhckF2YWlsYWJsZVByaWNlU291cmNlcygpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCksdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZShlKX1fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9wYW5lcy5zb21lKChlPT5lLmhhc0RhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcykpKSYmKHRoaXMuX3N0dWRpZXNXVi5zZXRWYWx1ZSh0aGlzLmFsbFN0dWRpZXMoKSksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNldFZhbHVlKHRoaXMuYWxsU3R1ZGllcyghMCkpKX1fdW5tZXJnZUF2YWlsYWJsZShlKXtyZXR1cm4gZT09PXRoaXMuX21haW5TZXJpZXN8fCgwLHRpLmlzU3R1ZHkpKGUpJiYhZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2hvd0luT2JqZWN0VHJlZSgpfV9nZXRFeGNlZWRpbmdDaGlsZFN0dWRpZXMoZSl7bGV0IHQ9W107Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDsrK2kpdD10LmNvbmNhdChlW2ldLnNvdXJjZXN8fFtdKTtsZXQgaT0wLHM9MTtzPSgwLENlLmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIik/LmNoaWxkX2xpbWl0Pz8xO2NvbnN0IG49W10scj17fTtsZXQgbz0wLGE9MWU2O2Zvcig7dC5sZW5ndGgmJi0tYTspe2NvbnN0IGU9dFtvXTsoZS5vd25lclNvdXJjZSYmcltlLm93bmVyU291cmNlXXx8IWUub3duZXJTb3VyY2UpJiYocltlLmlkXT1lLHQuc3BsaWNlKHQuaW5kZXhPZihlKSwxKSxlLm93bmVyU291cmNlJiYoMCxQLmlzU3R1ZHlTdGF0ZSkoZSkmJmUuc3RhdGUmJmUuc3RhdGUuaXNDaGlsZFN0dWR5JiYrK2k+cyYmbi5wdXNoKGUpKSxvPShvKzEpJXQubGVuZ3RofXJldHVybiBufV9zZW5kVG8oZSx0KXtjb25zdCBpPW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcGFuZXMuaW5kZXhPZih0KTtpLmhhcyhzKXx8aS5zZXQocyxbXSksaS5nZXQocyk/LnB1c2goZSl9KSk7Zm9yKGNvbnN0W2Usc11vZiBpLmVudHJpZXMoKSl0KHRoaXMuX3BhbmVzW2VdLHMpO3RoaXMuZnVsbFVwZGF0ZSgpfV9pbml0aWFsaXNlSW5hY3Rpdml0eUdhcHMoKXtpZighKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaW5hY3Rpdml0eV9nYXBzIikpcmV0dXJuO3RoaXMuY3JlYXRlSW5hY3Rpdml0eUdhcHMoKTtjb25zdCBlPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuY3VzdG9tU291cmNlRm9yTmFtZSgiaW5hY3Rpdml0eUdhcHMiKTtlP3Quc3RhcnQoKTp0LnN0b3AoKX07aWYobnVsbD09PXRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmluYWN0aXZpdHlHYXBzO3RoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlPWNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKHQpLHRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlLnN1YnNjcmliZSgodD0+e2UodCl9KSksZSh0LnZhbHVlKCkpfX1fZ2V0V2lkZ2V0UGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXMuZmluZCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpO2lmKGkpcmV0dXJuIGk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLl9tYWluU2VyaWVzKSksbj10aGlzLl9wYW5lcy5pbmRleE9mKHMpO2xldCByPTAsbz0wO3RoaXMuX3BhbmVzLmZvckVhY2goKGU9PntlLmNvbGxhcHNlZCgpLnZhbHVlKCl8fChyKz1lLmhlaWdodCgpLG8rPWUuc3RyZXRjaEZhY3RvcigpKX0pKTtjb25zdCBhPXRoaXMuY3JlYXRlUGFuZShlP24rMTpuLHZvaWQgMCx2b2lkIDAsTS5QYW5lTW9kZS5XaWRnZXQpO2lmKHI+dCl7Y29uc3QgZT10Km8vKHItdCk7YS5zZXRTdHJldGNoRmFjdG9yKGUpfXJldHVybiBhfX12YXIgUnU9aSg1NTY2NTEpLFZ1PWkoNzc1MjUzKSxCdT1pKDU5MTE5OCk7dmFyIE51PWkoODI1NjIxKSxPdT1pKDY4NTU1NSksV3U9aSg2NTU1ODQpO2NsYXNzIEZ1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzKSx0aGlzLl9uZXdTb3VyY2VzTWV0cmljcz1uZXcgTWFwLAp0aGlzLl9vbGRTb3VyY2VzTWV0cmljcz1uZXcgTWFwLHRoaXMuX3Nob3dGYWRlPSExLHRoaXMuX2NoYXJ0TW9kZWw9ZTtjb25zdCBuPWUubWFpblNlcmllcygpO2Zvcihjb25zdCBlIG9mIHQuc2VyaWVzTGlrZVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgdD1pfHwoMCxBLnN5bWJvbE9yaWdpbmFsTWV0cmljKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUuc3ltYm9sSW5mbygpKSx0aGlzLl9jaGFydE1vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX25ld1NvdXJjZXNNZXRyaWNzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc01ldHJpY3Muc2V0KGUuaWQoKSxlLm1ldHJpYygpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUubWV0cmljKCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX25ld1NvdXJjZXNNZXRyaWNzKX11bmRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX29sZFNvdXJjZXNNZXRyaWNzKX1fYXBwbHlNZXRyaWNzKGUpe2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKS5zZXRNZXRyaWMoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fWNvbnN0IEh1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInpvb20iLHAudChudWxsLHZvaWQgMCxpKDI3ODU2NSkpKTtjbGFzcyB6dSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHIpe3N1cGVyKEh1KSx0aGlzLl9iYXJTcGFjaW5nPW51bGwsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PW51bGwsdGhpcy5fbGVmdEJhcnNPZmZzZXQ9bnVsbCx0aGlzLl9wcmljZU1vZGU9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX3N0YXJ0QmFyPXQsdGhpcy5fZW5kQmFyPWksdGhpcy5fc3RhcnRQcmljZT1zLHRoaXMuX2VuZFByaWNlPW4sdGhpcy5fcGFuZT1yfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKTt0aGlzLl9sZWZ0QmFyc09mZnNldD1lLmZpcnN0QmFyKCktdGhpcy5fc3RhcnRCYXIsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PWUubGFzdEJhcigpLXRoaXMuX2VuZEJhcix0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0aGlzLl9wcmljZU1vZGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLm1vZGUoKSx0aGlzLl9tb2RlbC56b29tVG9WaWV3cG9ydCh0aGlzLl9zdGFydEJhcix0aGlzLl9lbmRCYXIsdGhpcy5fc3RhcnRQcmljZSx0aGlzLl9lbmRQcmljZSx0aGlzLl9wYW5lKX11bmRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSx0PXRoaXMuX3BhbmUuZGVmYXVsdFByaWNlU2NhbGUoKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpO2Uuc2V0QmFyU3BhY2luZygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhclNwYWNpbmcpKSxlLnpvb21Ub0JhcnNSYW5nZShpLmZpcnN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sZWZ0QmFyc09mZnNldCksaS5sYXN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yaWdodEJhcnNPZmZzZXQpKSx0LnNldE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZU1vZGUpKSx0LnJlY2FsY3VsYXRlUHJpY2VSYW5nZSgoMCxsLmVuc3VyZU5vdE51bGwpKGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSwoMCxsLmVuc3VyZU5vdE51bGwpKGUubG9naWNhbFJhbmdlKCkpKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9fWNvbnN0IFV1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxHdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ6b29tIixwLnQobnVsbCx2b2lkIDAsaSgyNzg1NjUpKSk7Y2xhc3MganUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihHdSksdGhpcy5fYmFzZUNtZD1lLHRoaXMuX3pvb21TdGFjaz10LHRoaXMuX2luT3V0PWl9dW5kbyhlKXtpZih0aGlzLl9pbk91dCl7aWYodGhpcy5fYmFzZUNtZCE9PXRoaXMuX3pvb21TdGFjay5oZWFkKCkpcmV0dXJuIHZvaWQgVXUubG9nRGVidWcoInpvb20gc3RhY2sgaW5jb25zaXN0ZW5jeSIpO3RoaXMuX2Jhc2VDbWQudW5kbyhlKSx0aGlzLl96b29tU3RhY2sucG9wKCl9ZWxzZSB0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCl9cmVkbyhlKXtpZih0aGlzLl9pbk91dCl0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCk7ZWxzZXtpZih0aGlzLl9iYXNlQ21kIT09dGhpcy5fem9vbVN0YWNrLmhlYWQoKSlyZXR1cm4gdm9pZCBVdS5sb2dEZWJ1Zygiem9vbSBzdGFjayBpbmNvbnNpc3RlbmN5Iik7dGhpcy5fYmFzZUNtZC51bmRvKGUpLHRoaXMuX3pvb21TdGFjay5wb3AoKX19fWNvbnN0IHF1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg0ODg4ODEpKSk7Y2xhc3MgJHUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIocXUsdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3NvdXJjZUlkPXQuaWQoKSx0aGlzLl9saW5rS2V5PXQubGlua0tleSgpLnZhbHVlKCl9cmVkbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSkubGlua0tleSgpLnNldFZhbHVlKG51bGwpfXVuZG8oKXsoMCwKbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKS5saW5rS2V5KCkuc2V0VmFsdWUodGhpcy5fbGlua0tleSl9fXZhciBZdT1pKDMxNjY1NSk7Y29uc3QgS3U9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzdG9yZSBkZWZhdWx0cyIscC50KG51bGwsdm9pZCAwLGkoMTI5NTEwKSkpO2NsYXNzIFh1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaT1LdSxzPSEwKXtzdXBlcihpLHZvaWQgMCxzKSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj10LnBhdGhUb1Jvb3QoKTt0aGlzLl90YXJnZXRPYmo9KDAsWXUuaXNSb290UGF0aCkobik/bjp0LHRoaXMuX3N0YXRlPXQuc3RhdGUoKX1yZWRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHModGhpcy5fZ2V0UHJvcGVydHkoZSkpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX11bmRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlKS5tZXJnZUFuZEZpcmUodGhpcy5fc3RhdGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCl9X2dldFByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fdGFyZ2V0T2JqO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oMCxZdS5wcm9wZXJ0eUJ5UGF0aCkoZSx0KTp0fX1jbGFzcyBadSBleHRlbmRzIFh1e2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKGUsdCxpLHM/PyFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKX1yZWRvKGUpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbikuY2hpbGQoImludGVydmFsc1Zpc2liaWxpdGllcyIpPy5tZXJnZUFuZEZpcmUoaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHMpLHN1cGVyLnJlZG8oZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jb25zdCBKdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZXN0b3JlIHN0dWR5IGRlZmF1bHRzIixwLnQobnVsbCx2b2lkIDAsaSg2NjI5MDMpKSk7Y2xhc3MgUXUgZXh0ZW5kcyBadXtjb25zdHJ1Y3RvcihlLHQsaT1KdSl7c3VwZXIoZSx0LnByb3BlcnRpZXMoKSxpLCEwKSx0aGlzLl9zdHVkeUlkPXQuaWQoKX1yZWRvKGUpe3N1cGVyLnJlZG8oZSksdGhpcy5fY2hhcnRNb2RlbC5yZWNhbGNDb2xvclN0dWRpZXMoITApLHRoaXMuX3BhdGNoUHJvcGVydGllcygpfXVuZG8oZSl7c3VwZXIudW5kbyhlKSx0aGlzLl9jaGFydE1vZGVsLnJlY2FsY0NvbG9yU3R1ZGllcyghMCksdGhpcy5fcGF0Y2hQcm9wZXJ0aWVzKCl9X3BhdGNoUHJvcGVydGllcygpe3tjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwuZ2V0U3R1ZHlCeUlkKHRoaXMuX3N0dWR5SWQpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiU3R1ZHkgaXMgbm90IGRlZmluZWQiKTtlLnBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpfX19ZnVuY3Rpb24gZXAoZSx0KXtyZXR1cm4oMCxHci5leHRyYWN0U3RhdGUpKGUsdC5tYXAoKGU9PmUucGF0aCkpKX1jb25zdCB0cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBjaGFydCB0aGVtZSIscC50KG51bGwsdm9pZCAwLGkoNjQ3NjU2KSkpO2NsYXNzIGlwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodHApLHRoaXMuX21vZGVsPWUsdC5zZXNzaW9ucyYmKHRoaXMuX25ld1Nlc3Npb25Qcm9wcz1pP3Quc2Vzc2lvbnM6ZXAodC5zZXNzaW9ucywoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuc2Vzc2lvbnMseHQuZGFya1RoZW1lLmNvbnRlbnQuc2Vzc2lvbnMpKSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5jYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5oYVN0eWxlKTtjb25zdCBzPXQ7cy5jaGFydFByb3BlcnRpZXM9cy5jaGFydFByb3BlcnRpZXM/P3twYW5lUHJvcGVydGllczp7fSxzY2FsZXNQcm9wZXJ0aWVzOnZvaWQgMH0sWGgocy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMpO2NvbnN0IG49dGhpcy5fbW9kZWwucHJvcGVydGllcygpLnN0YXRlKCkucGFuZVByb3BlcnRpZXMubGVnZW5kUHJvcGVydGllcztkZWxldGUgbi5iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5O2NvbnN0IHI9cy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXM7aSYmKHIubGVnZW5kUHJvcGVydGllcz17Li4uci5sZWdlbmRQcm9wZXJ0aWVzLC4uLm59KTtjb25zdCBvPSgwLFdvLmRlZmF1bHQpKCgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcyIpKTtpZihkZWxldGUgby50aW1lem9uZSxpKXtjb25zdCBlPW8ucGFuZVByb3BlcnRpZXM7ZSYmKGRlbGV0ZSBlLnRvcE1hcmdpbixkZWxldGUgZS5ib3R0b21NYXJnaW4pfWNvbnN0IGE9KDAseGkuZGVlcEV4dGVuZCkoe30sbyx0LmNoYXJ0UHJvcGVydGllcyk7dGhpcy5fbmV3Q2hhcnRQcm9wcz1pP2E6ZXAoYSwoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuY2hhcnRQcm9wZXJ0aWVzLHh0LmRhcmtUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcykpLGUudGltZVNjYWxlKCkucHJlc2VydmVCYXJTcGFjaW5nKCkmJiJiYXJTcGFjaW5nImluIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcyYmZGVsZXRlIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcy5iYXJTcGFjaW5nLGljKHQubWFpblNvdXJjZVByb3BlcnRpZXMubGluZVN0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmxpbmVXaXRoTWFya2Vyc1N0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLnN0ZXBsaW5lU3R5bGUpCjtjb25zdCBsPSgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcy5tYWluU2VyaWVzUHJvcGVydGllcyIpLGM9KDAseGkuZGVlcEV4dGVuZCkoe30sbCx0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzKTtpJiYoZGVsZXRlIGMudmlzaWJsZSxkZWxldGUgYy5zeW1ib2wsZGVsZXRlIGMuc2hvcnROYW1lLGRlbGV0ZSBjLnRpbWVmcmFtZSxkZWxldGUgYy5pbnRlcnZhbCxkZWxldGUgYy5jdXJyZW5jeUlkLGRlbGV0ZSBjLnVuaXRJZCxkZWxldGUgYy5zZXNzaW9uSWQsZGVsZXRlIGMuZXNkQnJlYWtzU3R5bGUpLHRoaXMuX25ld1Nlcmllc1Byb3BzPWk/YzplcChjLCgwLEdyLmV4dHJhY3RUaGVtZWRDb2xvcnMpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcykpLHRoaXMuX29sZENoYXJ0UHJvcHM9aT9lLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSx0aGlzLl9vbGRTZXJpZXNQcm9wcz1pP2UubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCksdGhpcy5fb2xkU2Vzc2lvblByb3BzPWk/dGhpcy5fbW9kZWwuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkuc3RhdGUoKTp0aGlzLl9tb2RlbC5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCl9dW5kbygpe3RoaXMuX21lcmdlKHRoaXMuX29sZENoYXJ0UHJvcHMsdGhpcy5fb2xkU2VyaWVzUHJvcHMsdGhpcy5fb2xkU2Vzc2lvblByb3BzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkub25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLHRoaXMuX21vZGVsLmNoYXJ0VGhlbWVMb2FkZWQoKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3Q2hhcnRQcm9wcyx0aGlzLl9uZXdTZXJpZXNQcm9wcyx0aGlzLl9uZXdTZXNzaW9uUHJvcHMpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5fbW9kZWwudXBkYXRlU2NhbGVzKCksdGhpcy5fbW9kZWwuY2hhcnRUaGVtZUxvYWRlZCgpfV9tZXJnZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbDsoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCk7Y29uc3Qgbj1zLnByb3BlcnRpZXMoKSxyPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKSxvPXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCk7bi5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLG4ubWVyZ2VBbmRGaXJlKGUpLG4uc2F2ZURlZmF1bHRzKCksInByaWNlQXhpc1Byb3BlcnRpZXMiaW4gdCYmcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnNldE1vZGUoe2F1dG9TY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXM/LmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ucGVyY2VudGFnZSxsb2c6dC5wcmljZUF4aXNQcm9wZXJ0aWVzPy5sb2csbG9ja1NjYWxlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ubG9ja1NjYWxlfSksci5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLHIubG9hZFRoZW1lU3RhdGUodCksci5zYXZlRGVmYXVsdHMoKSxzLm1haW5TZXJpZXMoKS5jcmVhdGVQYW5lVmlldygpLHMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSgpLHMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksaSYmKG8uYXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhELndhdGNoZWRUaGVtZS52YWx1ZSgpKSxvLmxvYWRUaGVtZVN0YXRlKGkpLG8uc2F2ZURlZmF1bHRzKCkpLHMuZnVsbFVwZGF0ZSgpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX19Y29uc3Qgc3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHJlc29sdXRpb24iLHAudChudWxsLHZvaWQgMCxpKDc0MzM0MSkpKTtjbGFzcyBucCBleHRlbmRzIEJve2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihzcCxlLGZ1bmN0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz0oMCxBLmlzUmFuZ2VTdHlsZSkoZS5zdHlsZSgpKSxuPXguSW50ZXJ2YWwuaXNSYW5nZSh0KTtyZXR1cm4hcyYmbj9pPTExOnMmJiFuJiYoaT0oMCxBLmdldExhc3RVc2VkU3R5bGUpKCkpLHtpbnRlcnZhbDp0LHN0eWxlOml9fShlLHQpLGkpLHRoaXMuX3Jlc29sdXRpb249dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG5wJiZlLl9yZXNvbHV0aW9uPT09dGhpcy5fcmVzb2x1dGlvbiYmc3VwZXIuY2FuTWVyZ2UoZSl9X3Nob3dGYWRlKGUsdCl7cmV0dXJuITB9fWNsYXNzIHJwIGV4dGVuZHMgTntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZmlyc3RSZWRvPSEwfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITApLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITApLHN1cGVyLnJlZG8oKSx0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpLHRoaXMuX2ZpcnN0UmVkbz0hMX11bmRvKCl7KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9uZXdWYWx1ZSwhMCksKDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9vbGRWYWx1ZSwhMCksc3VwZXIudW5kbygpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpfX12YXIgb3A9aSg1MjkxNjUpO2NsYXNzIGFwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3N0dWJEZXNjcmlwdG9yPSgwLGwuZW5zdXJlTm90TnVsbCkodC5nZXREZXNjcmlwdG9yKCkpfXJlZG8oKXsKdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc3R1YkRlc2NyaXB0b3IuaWQpfHx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTdHVkeVN0dWIodGhpcy5fc3R1YkRlc2NyaXB0b3IpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVN0dWR5U3R1Yih0aGlzLl9zdHViRGVzY3JpcHRvci5pZCl9fWNsYXNzIGxwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX3NvdXJjZT1lLHRoaXMuX25ld1N0YXRlPXQsdGhpcy5fb2xkU3RhdGU9ZS5wcm9wZXJ0aWVzKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fc291cmNlLmFwcGx5VGVtcGxhdGUodGhpcy5fbmV3U3RhdGUpfXVuZG8oKXt0aGlzLl9zb3VyY2UuYXBwbHlUZW1wbGF0ZSh0aGlzLl9vbGRTdGF0ZSl9fXZhciBjcD1pKDIxNDc3MSksaHA9aSg5MjMxNzYpLGRwPWkoMjU1MDM2KSx1cD1pKDcxNDM1KSxwcD1pKDc2NzcwNCksX3A9aSgyNTk5OTgpO2NvbnN0IG1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSk7Y2xhc3MgZ3AgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobXApLHRoaXMuX3ByZWZzPW51bGwsdGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD1udWxsLHRoaXMuX29sZFNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucz1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkPW51bGwsdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD1udWxsLHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcz1udWxsLHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcmVmcz10LnZhbHVlKCk/LmdldFByZWZzKCk/P251bGwsbnVsbCE9PXRoaXMuX3ByZWZzJiYodGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD10aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnZhbHVlKCksdGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zPXRoaXMuX3ByZWZzLnNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucy52YWx1ZSgpLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT10aGlzLl9wcmVmcy5zaG93UHJpY2VzV2l0aC56ZXJvVm9sdW1lLnZhbHVlKCksdGhpcy5fb2xkU2hvd1ByaWNlc1dpdGhTcHJlYWQ9dGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguc3ByZWFkLnZhbHVlKCksdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD10aGlzLl9wcmVmcy5vcmRlckV4ZWN1dGVkU291bmRQYXJhbXMuZW5hYmxlZC52YWx1ZSgpKSx0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzPSgwLGN1LmRlZmF1bHRzUHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSx0aGlzLl9vbGRQcmVmZXJlbmNlcz1lLnByZWZlcmVuY2VzKCksdGhpcy5fcHJldkRhdGVGb3JtYXQ9aWguZGF0ZUZvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXM9KDAsX3AuZ2V0TGFiZWxzU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX3ByZXZBbGVydE5vdGlmaWNhdGlvbnNQcmVmZXJlbmNlcz0oMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCh0aGlzLl9wcmV2V2l0aFdlZWtkYXk9bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpKSx0aGlzLl9wcmV2VGltZUhvdXJzRm9ybWF0PVRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFkZFBsdXNCdXR0b249ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldlNob3dPcGVuTWFya2VyU3RhdHVzPWNwLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSx0aGlzLl9wcmV2Q3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eT0oMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSx0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PSgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnZhbHVlKCksdGhpcy5fcHJldk5hdmlnYXRpb25CdXR0b25zVmlzaWJpbGl0eT0oMCxocC5wcm9wZXJ0eSkoKS52YWx1ZSgpLHRoaXMuX3ByZXZQYW5lQnV0dG9uc1Zpc2liaWxpdHk9KDAsZHAucHJvcGVydHkpKCkudmFsdWUoKTtjb25zdCBpPXRoaXMuX21vZGVsLndhdGVybWFya1NvdXJjZSgpO251bGwhPT1pJiYodGhpcy5fcHJldldhdGVybWFya1ByZWZlcmVuY2VzPWkucHJvcGVydGllcygpLnN0YXRlKCkpfXJlZG8oKXtudWxsIT09dGhpcy5fcHJlZnMmJih0aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnNldFZhbHVlKCExKSx0aGlzLl9wcmVmcy5zaG93T25seVJlamVjdGlvbk5vdGlmaWNhdGlvbnMuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnplcm9Wb2x1bWUuc2V0VmFsdWUoITApLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSghMCksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLm9yZGVyRXhlY3V0ZWRTb3VuZFBhcmFtcy52b2x1bWUuc2V0VmFsdWUoLjUpKSwiQXV0byI9PT10aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXM/LnRwb1N0eWxlPy5pbnB1dHM/LnJvd1NpemUmJmRlbGV0ZSB0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXMudHBvU3R5bGUuaW5wdXRzLnRpY2tzUGVyUm93LHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fZGVmYXVsdHNQcmVmZXJlbmNlcyksCnRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLCgwLGloLnJlc3RvcmVEYXRlRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxUYy5yZXN0b3JlVGltZUhvdXJzRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxkZC5yZXN0b3JlQWRkUGx1c0J1dHRvblNldHRpbmdzVmFsdWUpKCksKDAsY3AucmVzdG9yZVNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkpKCksKDAscnMucmVzdG9yZUN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLG9zLnJlc3RvcmVBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGhwLnJlc3RvcmVOYXZpZ2F0aW9uQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGRwLnJlc3RvcmVQYW5lQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGxoLnJlc3RvcmVXaXRoV2Vla2RheVNldHRpbmdzVmFsdWUpKCksKDAscHAucmVzdG9yZVNob3dPblNjcmVlbnNob3RTZXR0aW5nc1ZhbHVlKSgpLCgwLHVwLnJlc3RvcmVTaG93TmV3c05vdGlmaWNhdGlvblNldHRpbmdzVmFsdWUpKCksKDAsX3AucmVzdG9yZVNldHRpbmdzUHJvcGVydHkpKCk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl9dW5kbygpe251bGwhPT10aGlzLl9wcmVmcyYmKHRoaXMuX3ByZWZzLm5vQ29uZmlybUVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGROb0NvbmZpcm1FbmFibGVkKSksdGhpcy5fcHJlZnMuc2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zLnNldFZhbHVlKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zKSksdGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguemVyb1ZvbHVtZS5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZSkpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkKSksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGRPcmRlckV4ZWN1dGVkU291bmRFbmFibGVkKSkpLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fb2xkUHJlZmVyZW5jZXMpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2RGF0ZUZvcm1hdCksVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkuc2V0VmFsdWUodGhpcy5fcHJldlRpbWVIb3Vyc0Zvcm1hdCksY3Auc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2U2hvd09wZW5NYXJrZXJTdGF0dXMpLGRkLmFkZFBsdXNCdXR0b25Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2QWRkUGx1c0J1dHRvbiksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnNldFZhbHVlKHRoaXMuX3ByZXZDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSwoMCxvcy5hdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5KSwoMCxocC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2TmF2aWdhdGlvbkJ1dHRvbnNWaXNpYmlsaXR5KSwoMCxkcC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2UGFuZUJ1dHRvbnNWaXNpYmlsaXR5KSxudWxsIT09dGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXMmJigwLF9wLmdldExhYmVsc1NldHRpbmdzUHJvcGVydHkpKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzKSxudWxsIT09dGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzJiYoMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5tZXJnZUFuZEZpcmUodGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzKSx0aGlzLl9tb2RlbC5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3ByZXZXaXRoV2Vla2RheSk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmbnVsbCE9PXRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyYmZS5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyl9fWNsYXNzIGZwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihpKSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX25ld1ZhbHVlPXQsdGhpcy5fbW9kZWw9cyx0aGlzLl9wcmljZVNjYWxlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdGhpcy5fb2xkVmFsdWU9dGhpcy5fcHJvcGVydHkudmFsdWUoKSx0aGlzLl9vbGRNb2RlPXRoaXMuX3ByaWNlU2NhbGUubW9kZSgpfXJlZG8oKXt0aGlzLl9vbGRWYWx1ZT10aGlzLl9wcm9wZXJ0eS52YWx1ZSgpLHRoaXMuX29sZE1vZGU9dGhpcy5fcHJpY2VTY2FsZS5tb2RlKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3ByaWNlU2NhbGUuc2V0TW9kZSh7YXV0b1NjYWxlOiExLHBlcmNlbnRhZ2U6ITEsbG9nOiExfSksdGhpcy5fcHJvcGVydHkuc2V0VmFsdWUodGhpcy5fbmV3VmFsdWUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9dW5kbygpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9wcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9vbGRWYWx1ZSksdGhpcy5fcHJpY2VTY2FsZS5zZXRNb2RlKHRoaXMuX29sZE1vZGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSwKdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfX1jbGFzcyBTcCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXt2YXIgcyxuO3N1cGVyKG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSkpLHRoaXMuX21vZGVsPWUsdGhpcy5fbmV3UHJvcGVydGllcz10LHM9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLm1haW5TZXJpZXMpLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzKSxbImNhbmRsZVN0eWxlIiwiaG9sbG93Q2FuZGxlU3R5bGUiLCJoYVN0eWxlIl0uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9c1tlXTt2b2lkIDAhPT10JiYodC53aWNrVXBDb2xvcj10LndpY2tVcENvbG9yfHx0LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrRG93bkNvbG9yfHx0LndpY2tDb2xvcil9KSksbi52ZXJ0R3JpZFByb3BlcnRpZXM9bi52ZXJ0R3JpZFByb3BlcnRpZXN8fCgwLFloLmRlZmF1bHQpKG4uZ3JpZFByb3BlcnRpZXMpLG4uaG9yekdyaWRQcm9wZXJ0aWVzPW4uaG9yekdyaWRQcm9wZXJ0aWVzfHwoMCxZaC5kZWZhdWx0KShuLmdyaWRQcm9wZXJ0aWVzKSx2b2lkIDA9PT1zLmhvbGxvd0NhbmRsZVN0eWxlJiYocy5ob2xsb3dDYW5kbGVTdHlsZT0oMCxZaC5kZWZhdWx0KShzLmNhbmRsZVN0eWxlKSksdGhpcy5fb2xkUHJvcGVydGllcz0oMCxjdS5wcmVmZXJlbmNlc0J5V2hpdGVMaXN0KShlLGUubWFpblNlcmllcygpKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3UHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX11bmRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fb2xkUHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX1fbWVyZ2UoZSl7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXMoZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jbGFzcyB2cHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sZWZ0U2NhbGVzPWUubGVmdFByaWNlU2NhbGVzKCkubWFwKChlPT5lLmlkKCkpKSx0aGlzLl9yaWdodFNjYWxlcz1lLnJpZ2h0UHJpY2VTY2FsZXMoKS5tYXAoKGU9PmUuaWQoKSkpfXJlc3RvcmVQYW5lKGUpe3RoaXMuX2xlZnRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwibGVmdCIpKSksdGhpcy5fcmlnaHRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwicmlnaHQiKSkpfX1jbGFzcyB5cCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGkpLHRoaXMuX2NoYXJ0TW9kZWw9ZSx0aGlzLl90YXJnZXRTdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKHQpLHRoaXMuX2luaXRpYWxTdGF0ZT1lLnBhbmVzKCkubWFwKChlPT5uZXcgdnAoZSkpKX1yZWRvKCl7dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZvckVhY2goKGU9PmUuc2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KHRoaXMuX3RhcmdldFN0cmF0ZWd5KSkpLHRoaXMuX2NoYXJ0TW9kZWwuZnVsbFVwZGF0ZSgpfXVuZG8oKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLl9pbml0aWFsU3RhdGVbdF0ucmVzdG9yZVBhbmUoZVt0XSk7dGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCl9fWNvbnN0IGJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNlbmQge3RpdGxlfSBiYWNrd2FyZCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg4MjgwOTIpKSksd3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiYnJpbmcge3RpdGxlfSBmb3J3YXJkIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDM4NTUwNCkpKSxDcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0fSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg2MTcwNDApKSksUHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXR9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0MDYxMykpKSxUcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjdXQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0MTE4MTgpKSkseHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3V0IHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTM5NzE3KSkpLE1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDQ0NTUzOSkpKSxJcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgZHJhd2luZ3MgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMTIyNjA2KSkpLExwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNzc3NTc3KSkpLEFwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBsaW5lIHRvb2wocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCIKfSxpKDY5MzY0OSkpKSxrcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIGRyYXdpbmcocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTcwMTA1KSkpLERwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk0NjkyOSkpKSxFcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBmYWN0b3J5IGRlZmF1bHRzIHRvIHNlbGVjdGVkIHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzY1ODc0KSkpLFJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjdXJyZW5jeSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxODk2MDMpKSksVnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHVuaXQiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTU0ODkxKSkpLEJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBtZXRyaWMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNDMyMTI0KSkpLE5wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNsb25lIGxpbmUgdG9vbHMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzU4KSkpLE9wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU1NTkxOCkpKSxXcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSBkb3duIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcyMTcwOSkpKSxGcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSB0byBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk3NjgxNSkpKSxIcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk1MTg0NykpKSx6cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIGRvd24iLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMjI5NDE3KSkpLFVwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubWVyZ2UgdG8gbmV3IGJvdHRvbSBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5NDIyKSkpLEdwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgcmlnaHQgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTY3OTM1KSkpLGpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNTkxNCkpKSxxcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIHt0aXRsZX0gbm8gc2NhbGUgKEZ1bGwgc2NyZWVuKSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg1MDA4NDMpKSksJHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzZXQgc2NhbGVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYyOTU0MikpKSxZcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUge3Rvb2x9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0OTAxNikpKSxLcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcwODkwOCkpKSxYcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5NjU1MzkpKSksWnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIHBhbmUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODI4MjUzKSkpLEpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImludmVydCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg3Nzk1MTcpKSksUXA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzg4ODg3KSkpLGVfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBsb2NrIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYwMjQ5NykpKSx0Xz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcmVndWxhciBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNzQ2NDApKSksaV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGluZGV4ZWQgdG8gMTAwIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDg3MTkxMCkpKSxzXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzMjk4NDEpKSksbl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGxvZyBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0ODM5OTUpKSkscl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBsZWZ0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI5NTIwNCkpKSxvXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIHJpZ2h0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDUyNTY0MykpKSxhXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhbGlnbiB0byA0NSBkZWdyZWVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQiCn0saSgyMzEyNjMpKSksbF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2V0IHByaWNlIHNjYWxlIHNlbGVjdGlvbiBzdHJhdGVneSB0byB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU0NzQ0NSkpKSxjXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgYWxsIGluZGljYXRvcnMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTMxNzE5KSkpLGhfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkcmF3aW5ncyIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5MjU5NjMpKSksZF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI1NjkpKSksdV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidHVybiBsaW5lIHRvb2xzIHNoYXJpbmcgb2ZmIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5MjIwMSkpKSxwXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzNTU0MDcpKSksX189bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2hhcmUgbGluZSB0b29scyBnbG9iYWxseSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxMDIxOTcpKSksbV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGxpbmtpbmcgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODU3MjIzKSkpLGdfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGRyYXdpbmcgdGVtcGxhdGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNjE4Mzg2KSkpLGZfPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxTXz0oMCxQZS5pc0ZlYXR1cmVFbmFibGVkKSgiaGlkZV90d2VldF9kcmF3aW5ndG9vbCIpO3ZhciB2XztmdW5jdGlvbiB5XyhlLHQpe3JldHVybnticmluZ0ZvcndhcmRFbmFibGVkOmUuYnJpbmdGb3J3YXJkRW5hYmxlZHx8dC5icmluZ0ZvcndhcmRFbmFibGVkLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ZS5icmluZ1RvRnJvbnRFbmFibGVkfHx0LmJyaW5nVG9Gcm9udEVuYWJsZWQsc2VuZEJhY2t3YXJkRW5hYmxlZDplLnNlbmRCYWNrd2FyZEVuYWJsZWR8fHQuc2VuZEJhY2t3YXJkRW5hYmxlZCxzZW5kVG9CYWNrRW5hYmxlZDplLnNlbmRUb0JhY2tFbmFibGVkfHx0LnNlbmRUb0JhY2tFbmFibGVkfX0hZnVuY3Rpb24oZSl7ZVtlLlVwPTBdPSJVcCIsZVtlLkRvd249MV09IkRvd24iLGVbZS5MZWZ0PTJdPSJMZWZ0IixlW2UuUmlnaHQ9M109IlJpZ2h0In0odl98fCh2Xz17fSkpO2Z1bmN0aW9uIGJfKCl7cmV0dXJuKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKT8xPT09KDAsVC5kcmF3T25BbGxDaGFydHNNb2RlKSgpLnZhbHVlKCk/MToyOjB9ZnVuY3Rpb24gd18oZSx0KXsoMCxKLm9uV2lkZ2V0KSgpPygwLCRuLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6ImluZGljYXRvcnMifSk6KDAsWW4uc2hvd1N0dWRpZXNMaW1pdEdvUHJvRGlhbG9nKShlLHQpfWNsYXNzIENfIGV4dGVuZHMoRG4oKSl7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHM9W10sdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbCx0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl96b29tU3RhY2s9bmV3IHosdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbDtjb25zdHtjaGFydFdpZGdldDp0LGNoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9IaXN0b3J5OmEsYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6bCxvcHRpb25zOmMsaGliZXJuYXRlVlc6aCxsaW5raW5nR3JvdXBXVjpkLGlzQXV0b1NhdmVFbmFibGVkOnUsZHJhd1RpbWU6cH09ZTt0aGlzLl9jaGFydFdpZGdldD10LHRoaXMuX3RyYWRpbmdQcmVmZXJlbmNlc1NlcnZpY2U9ZS50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlLHRoaXMubV9tb2RlbD1uZXcgRXUoe2NoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9Nb2RlbDp0aGlzLGJhcnNNYXJrc0NvbnRhaW5lcnNGYWN0b3J5Omwsb3B0aW9uczpjLGhpYmVybmF0ZVZXOmgsbGlua2luZ0dyb3VwV1Y6ZCxpc0F1dG9TYXZlRW5hYmxlZDp1LHN5bWJvbEFsaWFzU2VydmljZTp0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpLGRyYXdUaW1lOnB9KSx0aGlzLl91bmRvSGlzdG9yeT1hLHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcj1uZXcgeW8oe21vZGVsOnRoaXMuX21vZGVsLmJpbmQodGhpcykscHVzaFVuZG9Db21tYW5kOnRoaXMuX3B1c2hVbmRvQ29tbWFuZC5iaW5kKHRoaXMpLGJlZ2luVW5kb01hY3JvOmU9Pnt0aGlzLl91bmRvSGlzdG9yeS5iZWdpblVuZG9NYWNybyhlKX0sZW5kVW5kb01hY3JvOnRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNyby5iaW5kKHRoaXMuX3VuZG9IaXN0b3J5KSxlbWl0RXZlbnQ6dGhpcy5lbWl0RXZlbnQuYmluZCh0aGlzKX0pfWlkKCl7cmV0dXJuIHRoaXMuX21vZGVsKCkuaWQoKX11bmRvSGlzdG9yeSgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeX1zZXRXYXRjaGVkVmFsdWUoZSx0LGkpe3RoaXMuX3VuZG9IaXN0b3J5LnNldFdhdGNoZWRWYWx1ZShlLHQsaSl9bGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcgp9bWVyZ2VBbGxTY2FsZXMoZSl7IWZ1bmN0aW9uKGUsdCl7ZS5iZWdpblVuZG9NYWNybygibGVmdCI9PT10P0tuOlhuKSxlLm1vZGVsKCkucGFuZXMoKS5mb3JFYWNoKChpPT57Y29uc3Qgcz0ibGVmdCI9PT10P2kudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTppLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxuPSgibGVmdCI9PT10P2kudmlzaWJsZUxlZnRQcmljZVNjYWxlcygpOmkudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKSkuY29uY2F0KHMpLHI9Im92ZXJsYXkiPT09aS5wcmljZVNjYWxlUG9zaXRpb24oaS5kZWZhdWx0UHJpY2VTY2FsZSgpKT9uWzBdOmkuZGVmYXVsdFByaWNlU2NhbGUoKTtlLm1vdmVQcmljZVNjYWxlKGkscix0LDApLG4uZm9yRWFjaCgodD0+e2lmKHQ9PT1yKXJldHVybjtsZXQgcz10Lm1haW5Tb3VyY2UoKTtmb3IoO251bGwhPT1zOyl7ZS5tb3ZlVG9TY2FsZShzLGkscixudWxsLCEwKTtjb25zdCBuPXQubWFpblNvdXJjZSgpO2lmKG49PT1zKXtabi5sb2dFcnJvcigiTG9vcCBkZXRlY3RlZCB3aGlsZSB0cnlpbmcgdG8gbWVyZ2Ugc2NhbGVzIik7YnJlYWt9cz1ufX0pKX0pKSxlLmVuZFVuZG9NYWNybygpLGUubW9kZWwoKS5mdWxsVXBkYXRlKCl9KHRoaXMsZSl9bW92ZVByaWNlU2NhbGUoZSx0LGkscyl7Y29uc3Qgbj1uZXcgSm4odGhpcy5fbW9kZWwoKSxlLHQsaSxzLExwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9Y3JlYXRlTGluZVRvb2woe3BhbmU6ZSxwb2ludDp0LGxpbmV0b29sOmkscHJvcGVydGllczpzLGxpbmtLZXk6bixvd25lclNvdXJjZTpyLHN5bmNocm9uaXphdGlvbk1vZGU6bz1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQsc2hhcmluZ01vZGU6YT1iXygpLGlkOmMsYWN0aW9uU291cmNlOmgsa2VlcFNlbGVjdGVkR3JvdXA6ZH0pe2lmKCEoMCxSdS5lbnN1cmVEcmF3aW5nQ3JlYXRpb25BbGxvd2VkKShpLGgsImNoYXJ0X2RyYXdpbmciKSlyZXR1cm4gVC50b29sLnZhbHVlKCk9PT1pJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksbnVsbDtjb25zdCB1PW9wLmxpbmVUb29sc1N0dWR5SWRzW2ldO2lmKCgwLGwuYXNzZXJ0KSghKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKSh1KXx8ISF1KSx1KXtjb25zdCBlPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOnV9KTtpZighZS5zdWNjZXNzKXJldHVybiB3Xyh0aGlzLm1vZGVsKCksZSksKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigwLFQucmVzZXRUb0N1cnNvcikoKSxudWxsfWNvbnN0IHA9WXAuZm9ybWF0KHt0b29sOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoaSxfci5saW5lVG9vbHNMb2NhbGl6ZWROYW1lc1tpXSl9KTt0aGlzLmJlZ2luVW5kb01hY3JvKHApO2NvbnN0IF89byE9PVJuLkNyZWF0ZUxpbmVUb29sU3luY01vZGUuRm9yY2VPZmYsZz1uZXcgZ3Ioe21vZGVsOnRoaXMuX21vZGVsKCkscGFuZTplLGxpbmVUb29sOmksb3duZXJTb3VyY2U6cnx8KDAsbC5lbnN1cmVOb3ROdWxsKShlLm1haW5EYXRhU291cmNlKCkpLGRyYXdPbkFsbENoYXJ0c01vZGU6YSxpZDpjLGtlZXBTZWxlY3RlZEdyb3VwOmQmJnZvaWQgMD09PW59KSxmPWcuc3RhcnRDcmVhdGluZ0xpbmUodCxzLG58fG51bGwsYSxvPT09Um4uQ3JlYXRlTGluZVRvb2xTeW5jTW9kZS5Gb3JjZU9mZixoKSxTPSgwLGwuZW5zdXJlTm90TnVsbCkoZy5saW5lKCkpO3RoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy51bnNoaWZ0KGcpO2xldCB2PW51bGw7aWYoZiYmKF8mJnRoaXMuZmluaXNoTGluZVRvb2woUyksdGhpcy5fcHVzaFVuZG9Db21tYW5kKGcpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLHY9e3BvaW50czpTLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksKHZvaWQgMD09PW4mJm89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQmJigwLFQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCl8fG89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkZvcmNlT24pJiZTLmlzU3luY2hyb25pemFibGUoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcCh0LmluZGV4KSkscz17cG9pbnQ6e3ByaWNlOnQucHJpY2UsdGltZVN0YW1wOmV9LGxpbmV0b29sOmkscHJvcGVydGllczpTLnByb3BlcnRpZXMoKSxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCksbW9kZWw6dGhpcy5tb2RlbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShTLmxpbmtLZXkoKS52YWx1ZSgpKSxmaW5hbFN0YXRlOnYsaWQ6Uy5pZCgpLHNoYXJpbmdNb2RlOlMuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTtTLmlzRml4ZWQoKSYmKHMucG9pbnRQb3NpdGlvblBlcmNlbnRzPVMuY2FsY1Bvc2l0aW9uUGVyY2VudHMoKSksKDAsVC5jcmVhdGVMaW5lVG9vbCkocyl9aWYoZCYmdm9pZCAwPT09bil7Y29uc3QgdD10aGlzLl9yZXNvbHZlUHJldmlvdXNTZWxlY3RlZEdyb3VwKGUpO251bGwhPT10JiYoZj90aGlzLl9saW5lVG9vbHNHcm91cENvbnRyb2xsZXIuYWRkTGluZVRvb2xUb0dyb3VwKHQsUyk6dC5hZGRJdGVtcyhbU10pKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxTfWNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpe2NvbnN0IG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHNbMF0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obi50ZXh0KCkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKSksbz1uLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpO2xldCBhPW51bGw7aWYobyYmKHRoaXMuZmluaXNoTGluZVRvb2wociksdGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLGE9e3BvaW50czpyLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksbi5kcmF3T25BbGxDaGFydHMoKSYmci5pc1N5bmNocm9uaXphYmxlKCkpe2NvbnN0IGk9KDAsCmwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcChlLmluZGV4KSk7KDAsVC5jb250aW51ZUxpbmVUb29sKSh7cG9pbnQ6e3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOml9LGVudlN0YXRlOnQsZmluYWxTdGF0ZTphLG1vZGVsOnRoaXMuX21vZGVsKCl9KX1pZihuLmtlZXBTZWxlY3RlZEdyb3VwKCkmJm8pe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UocikpLHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmKHQuZXhjbHVkZUl0ZW0ociksdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LHIpKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxvfWNvbnRpbnVlRXh0ZXJuYWxMaW5lKGUsdCxpKXtjb25zdCBzPSgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fY3JlYXRlTGluZUNvbW1hbmRzWzBdKSxuPXMuY29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkpO3JldHVybiBuJiYodGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpKSxufWZpbmlzaExpbmVUb29sKGUpe3RoaXMuX21vZGVsKCkuZmluaXNoTGluZVRvb2woZSl9Y2FuY2VsQ3JlYXRpbmdMaW5lKCl7dGhpcy5tX21vZGVsLmNhbmNlbENyZWF0aW5nTGluZSgpfWxpbmVCZWluZ0NyZWF0ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmxpbmVCZWluZ0NyZWF0ZWQoKX1wYXN0ZUltYWdlQXNMaW5lVG9vbChlLHQsaSxzKXtjb25zdCBuPXRoaXMuX21vZGVsKCkudGltZVNjYWxlKCkscj1uLndpZHRoKCksbz1pLmhlaWdodCgpLGE9aS5kZWZhdWx0UHJpY2VTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGEubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGg9e3ByaWNlOmEuY29vcmRpbmF0ZVRvUHJpY2Uoby8yLGMpLGluZGV4Om4uY29vcmRpbmF0ZVRvSW5kZXgoci8yKX0sZD0oMCxyaS5jcmVhdGVMaW5lVG9vbFByb3BlcnRpZXMpKGkubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpLCJMaW5lVG9vbEltYWdlIiwhaS5tb2RlbCgpLnJlYWRPbmx5KCkpO3ZvaWQgMCE9PXMmJmQuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnNldFZhbHVlKHMpO2NvbnN0IHU9KDAsbC5lbnN1cmVOb3ROdWxsKShhLm1haW5Tb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKGQsdSk7Y29uc3QgcD10aGlzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOmkscG9pbnQ6aCxsaW5ldG9vbDoiTGluZVRvb2xJbWFnZSIscHJvcGVydGllczpkLGFjdGlvblNvdXJjZToiUGFzdGUiLGtlZXBTZWxlY3RlZEdyb3VwOiEwfSk7cmV0dXJuIHAmJihwLnNldEJsb2JJbWFnZVVybCh0KSx0aGlzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHAsbnVsbCl9KSksZS50aGVuKChlPT57cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudXJsLnNldFZhbHVlKGUpfSkpLmNhdGNoKChlPT57Y29uc3QgdD1wLmxpbmtLZXkoKS52YWx1ZSgpLGk9dGhpcy5tb2RlbCgpO251bGwhPT10JiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6aSxsaW5rS2V5OnQsc3ltYm9sOnAuc3ltYm9sKCksc291cmNlVGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhwLm5hbWUoKSxwLnRyYW5zbGF0ZWRUeXBlKCkpLGxpbmVUb29sU3RhdGU6cC5zdGF0ZSghMSl9KSxpLnJlbW92ZVNvdXJjZShwKX0pKSkscH1sb2FkUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLGk9dC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKTtyZXR1cm4obnVsbD09PWl8fCFCbihpLGUpKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgS3IodCxlKSksKDAsJC5lbWl0KSgidGltZWZyYW1lX2ludGVydmFsIixlKSwhMCl9bWFpblNlcmllcygpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllcygpfW1vZGVsKCl7cmV0dXJuIHRoaXMubV9tb2RlbH1hbGxVbmRvTW9kZWxzKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmNoYXJ0TW9kZWxzKCkudmFsdWUoKX1wdWJsaXNoZWRDaGFydHNUaW1lbGluZVNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKX11bmxpbmtMaW5lcyhlKXtjb25zdCB0PXRoaXMubW9kZWwoKTt0aGlzLmJlZ2luVW5kb01hY3JvKEFwKTtmb3IoY29uc3QgaSBvZiBlKW51bGwhPT1pLmxpbmtLZXkoKS52YWx1ZSgpJiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITAsbW9kZWw6dGhpcy5tb2RlbCgpLHN5bWJvbDppLnN5bWJvbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmtLZXkoKS52YWx1ZSgpKSxzb3VyY2VUaXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxpKSxsaW5lVG9vbFN0YXRlOmkuc3RhdGUoITEpLHVubGluazohMH0pLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgJHUodCxpKSk7dGhpcy5lbmRVbmRvTWFjcm8oKX16b29tRnJvbVZpZXdwb3J0KCl7Y29uc3QgZT1uZXcganUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl96b29tU3RhY2suaGVhZCgpKSx0aGlzLl96b29tU3RhY2ssITEpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChlKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe2NvbnN0IHI9bmV3IHp1KHRoaXMubV9tb2RlbCxlLHQsaSxzLG4pLG89bmV3IGp1KHIsdGhpcy5fem9vbVN0YWNrLCEwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobyl9em9vbVN0YWNrKCl7cmV0dXJuIHRoaXMuX3pvb21TdGFja310aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLm1fbW9kZWwuc2VsZWN0aW9uKCl9c2VsZWN0aW9uTWFjcm8oZSx0KXtyZXR1cm4gdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKGUsdCl9Cm9uU2VsZWN0ZWRTb3VyY2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5vblNlbGVjdGVkU291cmNlQ2hhbmdlZCgpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uVGFnc0NoYW5nZWQoKX1saW5lQ2FuY2VsbGVkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5saW5lQ2FuY2VsbGVkKCl9aG92ZXJlZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuaG92ZXJlZFNvdXJjZSgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCl9YWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCl9c2V0UHJvcGVydHkoZSx0LGkscyl7aWYoZSYmZS52YWx1ZSgpIT09dCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKTtjb25zdCBuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGUsdCxpLHRoaXMubV9tb2RlbCwhcyk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoInNldFByb3BlcnR5Iil9fXNldFByb3BlcnRpZXMoZSx0LGkscz0hMCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKSx0aGlzLm1fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKCgpPT57Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdGhpcy5zZXRQcm9wZXJ0eShlW25dLHRbbl0saSwhcyl9KSksdGhpcy5lbmRVbmRvTWFjcm8oKX1iZWdpblVuZG9NYWNybyhlKXtyZXR1cm4gdGhpcy5fdW5kb0hpc3RvcnkuYmVnaW5VbmRvTWFjcm8oZSl9ZW5kVW5kb01hY3JvKCl7dGhpcy5fdW5kb0hpc3RvcnkuZW5kVW5kb01hY3JvKCl9aW52ZXJ0UHJpY2VTY2FsZShlKXtjb25zdCB0PWUucHJvcGVydGllcygpLmNoaWxkcygpLmlzSW52ZXJ0ZWQ7dGhpcy5zZXRQcm9wZXJ0eSh0LCF0LnZhbHVlKCksSnApfXRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKGUpe2NvbnN0IHQ9e2F1dG9TY2FsZTohZS5pc0F1dG9TY2FsZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxRcCl9dG9nZ2xlUHJpY2VTY2FsZUxvY2tTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9ja1NjYWxlOiFlLmlzTG9ja1NjYWxlKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLGVfKX10b2dnbGVQcmljZVNjYWxlUGVyY2VudGFnZVNjYWxlTW9kZShlKXtjb25zdCB0PXtwZXJjZW50YWdlOiFlLmlzUGVyY2VudGFnZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxzXyl9dG9nZ2xlUHJpY2VTY2FsZUluZGV4ZWRUbzEwMFNjYWxlTW9kZShlKXtjb25zdCB0PXtpbmRleGVkVG8xMDA6IWUuaXNJbmRleGVkVG8xMDAoKX07dGhpcy5zZXRQcmljZVNjYWxlTW9kZSh0LGUsaV8pfXRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9nOiFlLmlzTG9nKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLG5fKX1zZXRQcmljZVNjYWxlUmVndWxhclNjYWxlTW9kZShlKXt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHtsb2c6ITEscGVyY2VudGFnZTohMSxpbmRleGVkVG8xMDA6ITF9LGUsdF8pfXdpdGhNYWNybyhlLHQpe2NvbnN0IGk9dGhpcy5iZWdpblVuZG9NYWNybyhlKTt0cnl7dCgpfWZpbmFsbHl7dGhpcy5lbmRVbmRvTWFjcm8oKX1yZXR1cm4gaX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZXMoKX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMubV9tb2RlbC5vcmRlcmVkRGF0YVNvdXJjZXMoZSl9YmFyc01hcmtzU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuYmFyc01hcmtzU291cmNlcygpfXJlbW92ZUFsbERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGhfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuZW5kVW5kb01hY3JvKCl9cmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGRfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuX3JlbW92ZUFsbFN0dWRpZXNJbXBsKCksdGhpcy5lbmRVbmRvTWFjcm8oKX1yZW1vdmVBbGxTdHVkaWVzKCl7dGhpcy5iZWdpblVuZG9NYWNybyhjXyksdGhpcy5fcmVtb3ZlQWxsU3R1ZGllc0ltcGwoKSx0aGlzLmVuZFVuZG9NYWNybygpfXNjcm9sbENoYXJ0QnlCYXIoZSl7aWYoIXRoaXMubV9tb2RlbC5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9ZSp0aGlzLm1fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKHQpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfWNhblpvb21Jbigpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbUluKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbU91dCgpfXpvb21PdXQoKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkud2lkdGgoKTt0aGlzLmNhblpvb21PdXQoKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZSgwKSx0aGlzLnNjYWxlVGltZVRvKGUpLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9em9vbUluKCl7Y29uc3QgZT10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCk7dGhpcy5jYW5ab29tSW4oKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZShlKSx0aGlzLnNjYWxlVGltZVRvKDApLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9c2Nyb2xsQ2hhcnQoZSl7dGhpcy5tX21vZGVsLnNjcm9sbEVuYWJsZWQoKSYmKHRoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpKX1zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyl7ZS5maWx0ZXIoKGU9PmUuZG9lc01vdmluZ0FmZmVjdHNVbmRvKCkpKS5sZW5ndGgmJih0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxlLGtwLCExKSksdGhpcy5tb2RlbCgpLnN0YXJ0TW92aW5nU291cmNlcyhlLHQsaSxuZXcgTWFwLHMpfW1vdmVTb3VyY2VzKGUsdCl7CnRoaXMubW9kZWwoKS5tb3ZlU291cmNlcyhlLG5ldyBNYXAsdCl9ZW5kTW92aW5nU291cmNlKGUsdCl7dGhpcy5tb2RlbCgpLmVuZE1vdmluZ1NvdXJjZXMoZSx2b2lkIDAsdCksbnVsbCE9PXRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kKSksdGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kPW51bGx9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sZS5jaGFuZ2VQb2ludFVuZG9UZXh0KHMpLCExKSx0aGlzLm1vZGVsKCkuc3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKX1jaGFuZ2VMaW5lUG9pbnQoZSx0KXt0aGlzLm1vZGVsKCkuY2hhbmdlTGluZVBvaW50KGUsdCl9YWxpZ25Ub29sVG80NURlZ3JlZXMoZSx0KXtjb25zdCBpPWUuYWxpZ25UbzQ1RGVncmVlc1BvaW50cygpO2kmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sYV8sITEpKSx0aGlzLm1vZGVsKCkuYWxpZ25UbzQ1RGVncmVlcyhlLHQsaSkpfWVuZENoYW5naW5nTGluZXRvb2woZSl7dGhpcy5tb2RlbCgpLmVuZENoYW5naW5nTGluZXRvb2woZSksbnVsbCE9PXRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kKSksdGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kPW51bGx9c2V0Q2hhcnRTdHlsZVByb3BlcnR5KGUsdCxpKXtpZihlLnZhbHVlKCkhPT10KXtjb25zdCBzPU91LmNoYXJ0U3R5bGVQZXJtaXNzaW9ucy5nZXQodCksbj0oKT0+e3RoaXMuYmVnaW5VbmRvTWFjcm8oaSk7Y29uc3Qgcz1uZXcgJHIoZSx0LHRoaXMubWFpblNlcmllcygpLGksdGhpcy5tb2RlbCgpLHRoaXMuX2NoYXJ0V2lkZ2V0KTt2YXIgbjt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoInNldENoYXJ0U3R5bGVQcm9wZXJ0eSIpLG49ZS52YWx1ZSgpLCgwLFVyLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e2lmKG51bGwhPT1lKXtjb25zdCB0PUwuU1RZTEVfU0hPUlRfTkFNRVNbbl07ZS50cmFja0NoYXJ0U3R5bGUodCl9fSkpLHRoaXMuZW5kVW5kb01hY3JvKCl9O3M/KDAsV3UucnVuT3JHb1BybykobixzLmZlYXR1cmUse2ZlYXR1cmU6cy5mZWF0dXJlTmFtZX0pOm4oKX19c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tX21vZGVsLGUsdCx0LnN0YXRlKCkpKSx0aGlzLm1fbW9kZWwuc2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpfXNldFByaWNlU2NhbGVNb2RlKGUsdCxpKXtpZighKDAscy5kZWZhdWx0KSh0Lm1vZGUoKSxlKSl7Y29uc3Qgcz1uZXcgJG8oZSx0LGksdGhpcy5tX21vZGVsKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9fXNldFByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneShlKXtjb25zdCB0PXRoaXMubV9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYodC5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCk9PT1lKXJldHVybjsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLCJDaGFuZ2UgUHJpY2VTY2FsZSBTZWxlY3Rpb24gU3RyYXRlZ3kiKTtjb25zdCBpPWxfLmZvcm1hdCh7dGl0bGU6ZX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8oaSksdGhpcy5zZXRQcm9wZXJ0eSh0LnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUsZSxpKTtjb25zdCBzPW5ldyB5cCh0aGlzLm1fbW9kZWwsZSxpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbmRVbmRvTWFjcm8oKX1zZXRTY2FsZVJhdGlvUHJvcGVydHkoZSx0LGkpe2lmKGUudmFsdWUoKSE9PXQpe2NvbnN0IHM9bmV3IGZwKGUsdCxpLHRoaXMubV9tb2RlbCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpfX1jcmVhdGVVbmRvQ2hlY2twb2ludCgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpfXVuZG9Ub0NoZWNrcG9pbnQoZSl7dGhpcy5fdW5kb0hpc3RvcnkudW5kb1RvQ2hlY2twb2ludChlKX1yZXN0b3JlUHJvcGVydGllc0ZvclNvdXJjZShlKXsoMCxyaS5pc0xpbmVUb29sKShlKT90aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSk6dGhpcy5fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpfXJlc3RvcmVMaW5lVG9vbHNGYWN0b3J5RGVmYXVsdHMoZSl7MT09PWUubGVuZ3RoP3RoaXMuX3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlWzBdKToodGhpcy5iZWdpblVuZG9NYWNybyhFcCksZS5mb3JFYWNoKChlPT50aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSkpKSx0aGlzLmVuZFVuZG9NYWNybygpKX1yZXN0b3JlUHJlZmVyZW5jZXMoKXtjb25zdCBlPW5ldyBncCh0aGlzLm1vZGVsKCksdGhpcy5fdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGUpfXJlc3RvcmVTdGF0ZShlLHQsaSl7cmV0dXJuIHRoaXMubV9tb2RlbC5yZXN0b3JlU3RhdGUoZSx0LGkpfWFzeW5jIGNsaXBib2FyZENvcHkoZSx0PXRoaXMuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikpcmV0dXJuO2NvbnN0IGk9dC5maWx0ZXIoKGU9PmUuY29waWFibGUoKSkpO2lmKDA9PT1pLmxlbmd0aClyZXR1cm47Zm9yKGNvbnN0IGUgb2YgaSlpZigoMCx0aS5pc1N0dWR5KShlKSYmZS5pc0NoaWxkU3R1ZHkoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbiBub3QgY29weSBjaGlsZCBzdHVkeSIpO2NvbnN0IHM9KDAsSG4uY2xpcGJvYXJkRGF0YUZvclNvdXJjZXMpKHRoaXMuX21vZGVsKCkuaWQoKSxpKTtyZXR1cm4gbnVsbCE9PXM/ZS53cml0ZSh7CmFwcDpKU09OLnN0cmluZ2lmeShzKSx0ZXh0OnMudGl0bGV9KTp2b2lkIDB9YXN5bmMgY2xpcGJvYXJkQ3V0KGUsdD10aGlzLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCkpe2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpKXJldHVybjtjb25zdCBpPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2F3YWl0IHRoaXMuY2xpcGJvYXJkQ29weShlLGkpO2NvbnN0IHM9aS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IG49KDE9PT1zLmxlbmd0aD9UcDp4cCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxzWzBdKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obiksdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKCgoKT0+dGhpcy5yZW1vdmVTb3VyY2VzKHMsITEsbikpLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIGNsaXBib2FyZFBhc3RlKGUsdCl7bGV0IGk9bnVsbDtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpJiYoaT1pfHxhd2FpdCBlLnJlYWQoKSxpLmFwcCkpe2NvbnN0IGU9SlNPTi5wYXJzZShpLmFwcCk7aWYobnVsbCE9PWF3YWl0IHRoaXMucGFzdGVTb3VyY2VGcm9tQ2xpcCh0LGUpKXJldHVybn1hd2FpdCB0aGlzLl9wcm9jZXNzU3BlY2lhbExpbmVUb29sc0NvbnRlbnRzKGUsaSx0KX1hcHBseVN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9bmV3IE1vKHRoaXMuX21vZGVsKCksZSx0LGkpO3RoaXMuYmVnaW5VbmRvTWFjcm8ocy50ZXh0KCkpO2NvbnN0IG49dGhpcy5tX21vZGVsLnBhbmVzKCkucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodC5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+ZS5vd25lclNvdXJjZSgpIT09dGhpcy5tX21vZGVsLm1haW5TZXJpZXMoKSYmKCFlLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCl8fG51bGw9PT1lLnRhcmdldFNpZ25hdHVyZSgpKSkpKSksW10pO3RoaXMucmVtb3ZlU291cmNlcyhuLCExLG51bGwpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVuZFVuZG9NYWNybygpLCgwLCQuZW1pdCkoImxvYWRfc3R1ZHlfdGVtcGxhdGUiKX1jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxpPXt9KXtjb25zdHtzdHViVGl0bGU6cyxpc092ZXJsYXk6bn09aSxyPXtjcmVhdGVTdHVkeTplPT57Y29uc3R7c3R1ZHlNZXRhSW5mbzppLGlucHV0czpzLHN0dWJUb1JlcGxhY2U6bixwcm9wc1N0YXRlOnIsZm9yY2VPdmVybGF5Om8scGFyZW50U291cmNlczphLHByZWZlcnJlZFByaWNlU2NhbGU6bCxhbGxvd0NoYW5nZUN1cnJlbmN5OmMsYWxsb3dDaGFuZ2VVbml0OmgsYWxsb3dDaGFuZ2VNZXRyaWM6ZCxwYW5lU2l6ZTp1LHRhcmdldFNjYWxlTW9kZTpwLGV2ZW50U291cmNlOl99PWU7aWYoIXRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUoaSx0KSlyZXR1cm4gZl8ubG9nTm9ybWFsKCJDYW5ub3QgaW5zZXJ0IHN0dWR5ICIraS5pZCksbnVsbDsoMCxNdC50cmFja0V2ZW50KSgic3R1ZGllcyIsIlN0dWR5XyIraS5pZCxpLmRlc2NyaXB0aW9uKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aS5pZCYmKDAsTXQudHJhY2tFdmVudCkoImNvbXBhcmUiLCJzeW1ib2w6IitzLnN5bWJvbCksbiYmdGhpcy5tX21vZGVsLnJlbW92ZVNvdXJjZShuKTtjb25zdCBtPXRoaXMuX2luc2VydFN0dWR5KGkscyxyLG8sYSxsLGMsaCxkLHUsbnVsbCxwLF8pO3JldHVybiBtLnN0dWR5LnRoZW4oKGU9PigwLCQuZW1pdCkoInN0dWR5X2V2ZW50IixlLmlkKCksImNyZWF0ZSIpKSksbX0sc3RvcmVGYWlsZWRTdHViOmU9Pnt0aGlzLl9zdG9yZUZhaWxlZFN0dWIoZSl9fTt2b2lkIDAhPT1zJiYoci5jcmVhdGVTdHViPSgpPT50aGlzLm1fbW9kZWwuaW5zZXJ0U3R1ZHlTdHViKHMsbikuaWQoKSxyLnJlbW92ZVN0dWI9ZT0+dGhpcy5tX21vZGVsLnJlbW92ZVN0dWR5U3R1YihlKSk7Y29uc3Qgbz1uZXcgZ3UoZSxyKTtyZXR1cm4gby5zZXRQYXJlbnRTb3VyY2VzKHQpLG99YXBwbHlMaW5lVG9vbFRlbXBsYXRlKGUsdCxpKXt0aGlzLmJlZ2luVW5kb01hY3JvKGkpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKTtjb25zdCBzPW5ldyBscChlLHQsaSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMubW9kZWwoKS51cGRhdGVTb3VyY2UoZSl9YXBwbHlMaW5lVG9vbHNUZW1wbGF0ZShlKXtpZigic291cmNlcyJpbiBlKXtjb25zdHtzb3VyY2VzOnQsZGF0YTppfT1lO3RoaXMuYmVnaW5VbmRvTWFjcm8oZ18pO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5hcHBseUxpbmVUb29sVGVtcGxhdGUoZSxpLG51bGwpO3RoaXMuZW5kVW5kb01hY3JvKCl9ZWxzZXtjb25zdHtwcm9wZXJ0aWVzOnQsZGF0YTppfT1lO2kuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzPSgwLEpsLm1lcmdlSW50ZXJ2YWxWaXNpYmlsaXRpZXNEZWZhdWx0cykoaS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHQuYXBwbHlUZW1wbGF0ZShpLHQuZmFjdG9yeURlZmF1bHRzKCkpLHQuc2F2ZURlZmF1bHRzKCl9fXJlcGxheVN0YXR1cygpe3JldHVybiB0aGlzLm1fbW9kZWwucmVwbGF5U3RhdHVzKCl9c2V0UmVwbGF5U3RhdHVzKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuc2V0UmVwbGF5U3RhdHVzKGUpfWlzSW5SZXBsYXkoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmdldFN5bWJvbFN0cmluZygpfWludGVydmFsKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5pbnRlcnZhbCgpfW9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7CnRoaXMuX3VuZG9IaXN0b3J5LmNsZWFyU3RhY2soKSx0aGlzLm1fbW9kZWwuc3dpdGNoVG9SZXBsYXkoZSx0LGkpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLl91bmRvSGlzdG9yeS5jbGVhclN0YWNrKCksdGhpcy5tX21vZGVsLnN3aXRjaFRvUmVhbHRpbWUoKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuQ2hhbmdlUmVzb2x1dGlvbihlKX1jYW5DaGFuZ2VTeW1ib2woZSl7cmV0dXJuIHRoaXMubW9kZWwoKS5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLm1vZGVsKCkub25SZXBsYXlNb2RpZmllZCgpfXN0YXJ0Q3VzdG9tTW92aW5nKGUsdCxpKXt0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bmV3IGpvKHRoaXMubW9kZWwoKSxlLHQsaSl9Y3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmR9cHJvY2Vzc0N1c3RvbU1vdmUoZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLm1vdmUoZSl9ZW5kQ3VzdG9tTW92aW5nKCl7bnVsbCE9PXRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZCYmdGhpcy5fY3VycmVudEN1c3RvbU1vdmVDb21tYW5kLmhhc0NoYW5nZXMoKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLHRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZD1udWxsKX1zdGF0ZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnN0YXRlKGUpfXBhbmVzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lcygpfWNsb25lTGluZVRvb2xzKGUsdCl7aWYoZS5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZS50b29sbmFtZSwiQ2xvbmUiLCJjaGFydF9kcmF3aW5nX2Nsb25lIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKE5wKTtjb25zdCBpPW5ldyBlcih0aGlzLl9tb2RlbCgpLGUsdCxOcCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpO2NvbnN0IHM9aS5uZXdJZHMoKS5tYXAoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlKSkpKS5maWx0ZXIoKGU9PjAhPT1lLnNoYXJpbmdNb2RlKCkudmFsdWUoKSkpO3JldHVybiBzLmxlbmd0aCYmdGhpcy5fbW9kZWwoKS5jb3B5VG9PdGhlckNoYXJ0cyhzLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMuZW1pdEV2ZW50KCJjbG9uZUxpbmVUb29scyIpLGkubmV3SWRzKCl9cmVtb3ZlU291cmNlKGUsdCxpKXt0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSE9PWU/dGhpcy5yZW1vdmVTb3VyY2VzKFtlXSx0LE1wLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KSxpKTp0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpfXJlbW92ZVNlbGVjdGVkU291cmNlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwoKS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpO2lmKCFlLmxlbmd0aClyZXR1cm47Y29uc3QgdD0oZS5sZW5ndGg+MT9JcDpNcCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMucmVtb3ZlU291cmNlcyhlLCExLHQpfXJlbW92ZVNvdXJjZXMoZSx0LGkscyl7c3x8KGU9ZS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKSk7Y29uc3Qgbj10aGlzLl9tb2RlbCgpLHI9bi5saW5lVG9vbHNHcm91cE1vZGVsKCk7dGhpcy5iZWdpblVuZG9NYWNybyhpKSxuLnNlbGVjdGlvbk1hY3JvKChzPT57Y29uc3Qgbz1uZXcgTWFwO2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCB0PXIuZ3JvdXBGb3JMaW5lVG9vbChlKTtpZihudWxsIT09dCl7Y29uc3QgaT1vLmdldCh0KXx8W107aS5wdXNoKGUpLG8uc2V0KHQsaSl9bnVsbCE9PWUubGlua0tleSgpLnZhbHVlKCkmJigwLFQucmVtb3ZlTGluZVRvb2wpKHt3aXRoVW5kbzohMCxtb2RlbDp0aGlzLm1vZGVsKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHN5bWJvbDp0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbCgpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksc291cmNlVGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KX19KSk7Y29uc3QgYT1uZXcgdHIuUmVtb3ZlU291cmNlc1VuZG9Db21tYW5kKG4sZSxpKSxjPWEucmVtb3ZlZElkcygpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChhKSwhdCYmYy5sZW5ndGg+MCYmKDE9PT1jLmxlbmd0aD90aGlzLmVtaXRFdmVudCgicmVtb3ZlU291cmNlIixbY1swXV0pOnRoaXMuZW1pdEV2ZW50KCJyZW1vdmVTb3VyY2VzIixbY10pKX0pLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIHNjcm9sbFRvTGluZVRvb2woZSl7Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBpPWUucG9pbnRzKCkubWFwKChlPT5lLmluZGV4KSkscz10aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKTtpZihudWxsPT09cylyZXR1cm47bGV0IG49cy5maXJzdEluZGV4O2NvbnN0IHI9cy5sYXN0SW5kZXgsbz10Lmxlbmd0aCgpLzI7aWYoMD09PWkubGVuZ3RofHxpLnNvbWUoKGU9PnQuY29udGFpbnMoZSkpKSlyZXR1cm47Y29uc3QgYz0oKT0+e2NvbnN0IHQ9ZS5wb2ludHMoKS5tYXAoKGU9PmUuaW5kZXgpKSxpPXQuZmlsdGVyKChlPT5lPD1yKSkucmVkdWNlKCgoZSx0KT0+bnVsbD09PWU/dDpNYXRoLm1heChlLHQpKSxudWxsKTtyZXR1cm4gbnVsbCE9PWk/aTp0LnJlZHVjZSgoKGUsdCk9Pk1hdGgubWluKGUsdCkpKX07bGV0IGg9YygpO2lmKG4tbz5oKXsKY29uc3QgdD1lLnBvaW50cygpLm1hcCgoZT0+ZS50aW1lKSkuZmlsdGVyKGEubm90VW5kZWZpbmVkKS5tYXAoKGU9PjFlMyplKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybjtjb25zdCBpPXQucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0KSksdFswXSk7YXdhaXQgdGhpcy5tb2RlbCgpLmdvdG9UaW1lKGkpLGg9YygpO2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSkuY29udGFpbnMoaCkpcmV0dXJuO249KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleH1uLW8+aCYmdGhpcy5tYWluU2VyaWVzKCkuc2V0R290b0RhdGVSZXN1bHQoe3RpbWVzdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkudmFsdWVBdChuKSksZW9kOiEwfSk7Y29uc3QgZD10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCkvMix1PXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUoaCk7dGhpcy5tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLm1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKG5ldyBGbih7ZnJvbTowLHRvOmQtdSxkdXJhdGlvbjpFbi5kdXIsZWFzaW5nOkVuLmVhc2luZ0Z1bmMuZWFzZUluT3V0Q3ViaWN9KSl9bWVyZ2VTb3VyY2VVcChlKXtjb25zdCB0PW5ldyBoci5NZXJnZVVwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLE9wKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVNvdXJjZURvd24oZSl7Y29uc3QgdD1uZXcgaHIuTWVyZ2VEb3duVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLFdwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVRvUGFuZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxuPW5ldyBoci5NZXJnZVRvVGFyZ2V0UGFuZSh0aGlzLl9tb2RlbCgpLGUscyxGcCxpKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSxuKX11bm1lcmdlU291cmNlVXAoZSl7Y29uc3QgdD1uZXcgbHIodGhpcy5fbW9kZWwoKSxlLEhwKTt0aGlzLl93aXRoS2VlcFdpZGdldFBhbmVQb3NpdGlvbkd1YXJkKCgoKT0+dGhpcy5fbWVyZ2VVbm1lcmdlU291cmNlKGUsdCkpLHQudGV4dCgpKX11bm1lcmdlU291cmNlRG93bihlKXtjb25zdCB0PW5ldyBhcih0aGlzLl9tb2RlbCgpLGUsenApO3RoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KSksdC50ZXh0KCkpfXVubWVyZ2VUb05ld0JvdHRvbVBhbmUoZSl7Y29uc3QgdD1uZXcgY3IodGhpcy5fbW9kZWwoKSxlLFVwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tb3ZlTGVmdCgpe3RoaXMuYmVnaW5VbmRvTWFjcm8ocl8pLCgwLE9uLmRvQW5pbWF0ZSkoe3RvOnRoaXMubV9tb2RlbC50aW1lU2NhbGUoKS53aWR0aCgpLzUsb25TdGVwOmU9Pnt0aGlzLnN0YXJ0U2Nyb2xsVGltZShlKSx0aGlzLnNjcm9sbFRpbWVUbygwKSx0aGlzLmVuZFNjcm9sbFRpbWUoKX0sb25Db21wbGV0ZTooKT0+e3RoaXMuZW5kVW5kb01hY3JvKCl9fSl9bW92ZVJpZ2h0KCl7dGhpcy5iZWdpblVuZG9NYWNybyhvXyksKDAsT24uZG9BbmltYXRlKSh7dG86dGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpLndpZHRoKCkvNSxvblN0ZXA6ZT0+e3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfSxvbkNvbXBsZXRlOigpPT57dGhpcy5lbmRVbmRvTWFjcm8oKX19KX1hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCksaT1lLmZpbHRlcihyaS5pc0xpbmVUb29sKSxzPWkubWFwKChlPT50Lmdyb3VwRm9yTGluZVRvb2woZSkpKTsoMCxsLmFzc2VydCkobmV3IFNldChzKS5zaXplPD0xLCJDYW5ub3QgbW92ZSBsaW5lIHRvb2xzIGZyb20gZGlmZmVyZW50IGdyb3VwIik7Y29uc3Qgbj0wPT09cy5sZW5ndGg/bnVsbDpzWzBdO2xldCByPXticmluZ0ZvcndhcmRFbmFibGVkOiExLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ITEsc2VuZEJhY2t3YXJkRW5hYmxlZDohMSxzZW5kVG9CYWNrRW5hYmxlZDohMX07Y29uc3Qgbz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mKDAsZHIuc29ydFNvdXJjZXMpKGUpKXtpZigoMCxyaS5pc0xpbmVUb29sKSh0KSYmbnVsbCE9PW4pe2NvbnN0IGU9KDAsZHIuc29ydFNvdXJjZXMpKG4ubGluZVRvb2xzKCkuZmlsdGVyKChlPT4hby5oYXMoZSl8fGU9PT10KSkpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDp0IT09ZVtlLmxlbmd0aC0xXSxicmluZ1RvRnJvbnRFbmFibGVkOnQhPT1lW2UubGVuZ3RoLTFdLHNlbmRCYWNrd2FyZEVuYWJsZWQ6dCE9PWVbMF0sc2VuZFRvQmFja0VuYWJsZWQ6dCE9PWVbMF19KTtjb250aW51ZX1jb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCk7aWYoMD09PWUubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGk9dC56b3JkZXIoKSxzPWVbMF0uem9yZGVyKCksYT1lW2UubGVuZ3RoLTFdLnpvcmRlcigpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDppIT09YSxicmluZ1RvRnJvbnRFbmFibGVkOmkhPT1hLHNlbmRCYWNrd2FyZEVuYWJsZWQ6aSE9PXMsc2VuZFRvQmFja0VuYWJsZWQ6aSE9PXN9KX1yZXR1cm4gcn1zZW5kVG9CYWNrKGUpe2lmKCF0aGlzLmF2YWlsYWJsZVpPcmRlck9wZXJhdGlvbnMoZSkuc2VuZFRvQmFja0VuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIHRvIGJhY2sgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpCjt0PW5ldyBEcih0aGlzLm1vZGVsKCksKDAsZHIuc29ydFNvdXJjZXMpKGUpLGlbMF0pfX1udWxsPT09dCYmKHQ9bmV3IElyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSkpKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2VdKX1icmluZ1RvRnJvbnQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ1RvRnJvbnRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgdG8gZnJvbnQgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpO3Q9bmV3IEFyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSksaVtpLmxlbmd0aC0xXSl9fW51bGw9PT10JiYodD1uZXcgTXIodGhpcy5tb2RlbCgpLCgwLGRyLnNvcnRTb3VyY2VzKShlKSkpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZV0pfXNlbmRCYWNrd2FyZChlKXtpZighdGhpcy5hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpLnNlbmRCYWNrd2FyZEVuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIGJhY2t3YXJkIG9wZXJhdGlvbiBpcyB1bmF2YWlsYWJsZSIpO2NvbnN0IHQ9YnAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMuX3NlbmRCYWNrT3JCcmluZ0ZvcndhcmQodCwoMCxkci5zb3J0U291cmNlcykoZSksKChlLHQpPT5uZXcgUnIodGhpcy5tb2RlbCgpLGUsdCkpKX1icmluZ0ZvcndhcmQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ0ZvcndhcmRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgZm9yd2FyZCBvcGVyYXRpb24gaXMgdW5hdmFpbGFibGUiKTtjb25zdCB0PXdwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSl9KTt0aGlzLl9zZW5kQmFja09yQnJpbmdGb3J3YXJkKHQsKDAsZHIuc29ydFNvdXJjZXMpKGUpLCgoZSx0KT0+bmV3IEJyKHRoaXMubW9kZWwoKSxlLHQpKSl9aW5zZXJ0QWZ0ZXIoZSx0KXtlPSgwLGRyLnNvcnRTb3VyY2VzKShlKTtjb25zdCBpPUNwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSksdGFyZ2V0OigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLHQpfSk7dGhpcy5faW5zZXJ0QWZ0ZXJPckJlZm9yZShpLGUsdCwoKCk9Pm5ldyBBcih0aGlzLm1vZGVsKCksZSx0KSkpfWluc2VydEJlZm9yZShlLHQpe2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2NvbnN0IGk9UHAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKSx0YXJnZXQ6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsdCl9KTt0aGlzLl9pbnNlcnRBZnRlck9yQmVmb3JlKGksZSx0LCgoKT0+bmV3IERyKHRoaXMubW9kZWwoKSxlLHQpKSl9ZGV0YWNoVG9SaWdodChlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgdG8gbmV3IHJpZ2h0IHNjYWxlIik7Y29uc3QgaT1HcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsInJpZ2h0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoVG9MZWZ0KGUsdCl7KDAsTXQudHJhY2tFdmVudCkoIkNoYXJ0IiwiTW92ZSB0byBuZXcgbGVmdCBzY2FsZSIpO2NvbnN0IGk9anAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlKX0pLHM9bmV3IFZvLk1vdmVUb05ld1ByaWNlU2NhbGVVbmRvQ29tbWFuZCh0aGlzLm1vZGVsKCksZSx0LCJsZWZ0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoTm9TY2FsZShlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1ha2Ugc291cmNlIG5vIHNjYWxlIik7Y29uc3QgaT1xcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsIm92ZXJsYXkiLGkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1tb3ZlVG9TY2FsZShlLHQsaSxzLG4peygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgc291cmNlIHRvIHRhcmdldCBzY2FsZSIpLHRoaXMuYmVnaW5VbmRvTWFjcm8ocyk7Y29uc3Qgcj1uZXcgVm8uTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQodGhpcy5tb2RlbCgpLGUsdCxpLHMpLG89bj9udWxsOnpuKGUsaSx0aGlzLl9tb2RlbCgpKSxhPW4/bnVsbDooMCxkdS5zb3VyY2VOZXdVbml0T25QaW5uaW5nVG9QcmljZVNjYWxlKShlLGksdGhpcy5fbW9kZWwoKSksbD1uP251bGw6RWgoZSxpLHRoaXMuX21vZGVsKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSwKbnVsbCE9PW8mJnRoaXMuc2V0UHJpY2VTY2FsZUN1cnJlbmN5KGksbyksbnVsbCE9PWEmJnRoaXMuc2V0UHJpY2VTY2FsZVVuaXQoaSxhKSxudWxsIT09bCYmdGhpcy5zZXRQcmljZVNjYWxlTWV0cmljKGksbCksdGhpcy5lbmRVbmRvTWFjcm8oKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1zZXRMaW5raW5nR3JvdXBJbmRleChlKXtjb25zdCB0PXRoaXMubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpO3RoaXMuX3VuZG9IaXN0b3J5LmJlZ2luVW5kb01hY3JvKG1fKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IHJwKHQsdC52YWx1ZSgpLGUsbV8pKSx0aGlzLl9tb2RlbCgpLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApLHRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNybygpfXN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpe3QuaXNBdXRvU2NhbGUoKXx8KHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFN0YXRlPXQuc3RhdGUoKSx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9aSx0aGlzLl9tb2RlbCgpLnN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpKX1zY3JvbGxQcmljZVRvKGUsdCxpKXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZSYmdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsUG9zJiZNYXRoLmFicyh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3MtaSk+MjAmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubV9tb2RlbCxlLHQsdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGUsdm9pZCAwLCExKSksdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbCksdGhpcy5fbW9kZWwoKS5zY3JvbGxQcmljZVRvKGUsdCxpKSl9ZW5kU2Nyb2xsUHJpY2UoZSx0KXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZT1udWxsLHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFBvcz1udWxsLHRoaXMuX21vZGVsKCkuZW5kU2Nyb2xsUHJpY2UoZSx0KSl9c3RhcnRTY3JvbGxUaW1lKGUpe3RoaXMubW9kZWwoKS5zdGFydFNjcm9sbFRpbWUoZSl9c2Nyb2xsVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY3JvbGxUaW1lVG8oZSl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMubW9kZWwoKS5lbmRTY3JvbGxUaW1lKCl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5tb2RlbCgpLnN0YXJ0U2NhbGVUaW1lKGUpfXNjYWxlVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY2FsZVRpbWVUbyhlKX1lbmRTY2FsZVRpbWUoKXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVUaW1lKCl9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLm1vZGVsKCkucmVzZXRUaW1lU2NhbGUoKX1zdGFydFNjYWxlUHJpY2UoZSx0LGkscyl7dGhpcy5fc2NhbGVQcmljZUluZm89e3ByaWNlU2NhbGVTdGF0ZTp0LnN0YXRlKCksdHJ5TWVyZ2VDb25zZWN1dGl2ZVNjYWxlczpzfSx0aGlzLm1vZGVsKCkuc3RhcnRTY2FsZVByaWNlKGUsdCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe3RoaXMubW9kZWwoKS5zY2FsZVByaWNlVG8oZSx0LGkpfWVuZFNjYWxlUHJpY2UoZSx0KXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVQcmljZShlLHQpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY2FsZVByaWNlSW5mbyk7KDAscy5kZWZhdWx0KShpLnByaWNlU2NhbGVTdGF0ZSx0LnN0YXRlKCkpfHx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubW9kZWwoKSxlLHQsaS5wcmljZVNjYWxlU3RhdGUsaS50cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzKSksdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbH1zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyxuKXt0aGlzLl9zY2FsZVByaWNlSW5mbz17cHJpY2VTY2FsZVN0YXRlOnQuc3RhdGUoKSx0cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzOm59LHRoaXMubW9kZWwoKS5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyl9dHdvUG9pbnRzU2NhbGVQcmljZVRvKGUsdCxpLHMpe3RoaXMubW9kZWwoKS50d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl9ZW5kVHdvUG9pbnRzU2NhbGVQcmljZShlLHQpe3RoaXMubW9kZWwoKS5lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlUHJpY2VJbmZvKTsoMCxzLmRlZmF1bHQpKGkucHJpY2VTY2FsZVN0YXRlLHQuc3RhdGUoKSl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tb2RlbCgpLGUsdCxpLnByaWNlU2NhbGVTdGF0ZSxpLnRyeU1lcmdlQ29uc2VjdXRpdmVTY2FsZXMpKSx0aGlzLl9zY2FsZVByaWNlSW5mbz1udWxsfXJlc2V0UHJpY2VTY2FsZShlLHQpe2NvbnN0IGk9dC5zdGF0ZSgpO3RoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUoZSx0KSwoMCxzLmRlZmF1bHQpKGksdC5zdGF0ZSgpKXx8dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBPcyh0aGlzLm1fbW9kZWwsZSx0LGkpKX1yZWFycmFuZ2VQYW5lcyhlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5wYW5lcygpLmZpbmRJbmRleCgodD0+dD09PWUpKTt0PDB8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgR24odGhpcy5fbW9kZWwoKSx0KSl9dG9nZ2xlTWF4aW1pemVkUGFuZShlKXsKdGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBxbih0aGlzLl9tb2RlbCgpLGUpKX1yZWFkT25seSgpe3JldHVybiB0aGlzLm1fbW9kZWwucmVhZE9ubHkoKX1jaGVja0lmRmVhdHVyZUF2YWlsYWJsZShlLHQpe2NvbnN0IGk9dC5sZW5ndGg+MCxzPSgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlKSxuPSgwLG5hLmlzRm9yZWNhc3RTdHVkeU1ldGFJbmZvKShlKSxyPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOmUuaWQsY2hpbGQ6aSxmdW5kYW1lbnRhbDpzLHN0dWJUaXRsZTplLmRlc2NyaXB0aW9ufHxlLnNob3J0RGVzY3JpcHRpb24sZm9yZWNhc3Q6bn0pO3JldHVybiEhci5zdWNjZXNzfHwod18odGhpcy5tb2RlbCgpLHIpLCExKX1hc3luYyBwYXN0ZVNvdXJjZUZyb21DbGlwKGUsdCxpKXtjb25zdCBzPXQ7aWYoIXN8fDA9PT1zLnNvdXJjZXMubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG49ZXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpO2lmKCFzLnNvdXJjZXMuc29tZSgoZT0+ImRyYXdpbmciIT09ZS50eXBlfHxudWxsIT09bi5jbGlwYm9hcmRMaW5lVG9vbE93bmVyU291cmNlKGUuc291cmNlLmlkKSkpKXJldHVybiBudWxsO2NvbnN0IHI9QXJyYXkuZnJvbShuZXcgU2V0KHMuc291cmNlcy5maWx0ZXIoSG4uaXNMaW5lVG9vbENsaXBib2FyZERhdGEpLm1hcCgoZT0+ZS5zb3VyY2UudHlwZSkpKSk7YXdhaXQgUHJvbWlzZS5hbGwoci5tYXAoKGU9PigwLHJpLmluaXRMaW5lVG9vbCkoZSkpKSk7aWYoci5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZSwiUGFzdGUiLCJjaGFydF9kcmF3aW5nX3Bhc3RlIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKEtwLmZvcm1hdCh7dGl0bGU6cy50aXRsZX0pKTtjb25zdCBvPVtdLGE9W107Zm9yKGNvbnN0IHQgb2Ygcy5zb3VyY2VzKWlmKCJkcmF3aW5nIj09PXQudHlwZSYmbnVsbCE9PW4uY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0LnNvdXJjZS5pZCkpe2NvbnN0IGU9YXdhaXQgdGhpcy5wYXN0ZUxpbmVUb29sKG4sdCx2b2lkIDAsdm9pZCAwLCEwKTthLnB1c2goZSksby5wdXNoKGUpfWVsc2Uic3R1ZHkiPT09dC50eXBlJiZ0LnNvdXJjZSYmdC5zb3VyY2UubWV0YUluZm8mJnRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUobmV3IG90LlN0dWR5TWV0YUluZm8odC5zb3VyY2UubWV0YUluZm8pLFtdKSYmby5wdXNoKHRoaXMucGFzdGVTdHVkeSh0LGk/ZTp2b2lkIDApKTtyZXR1cm4gYS5sZW5ndGgmJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksYS5mb3JFYWNoKCh0PT57ZS5hZGRJdGVtVG9TZWxlY3Rpb24odCxudWxsKX0pKX0pKSx0aGlzLmVuZFVuZG9NYWNybygpLG99YXN5bmMgcGFzdGVMaW5lVG9vbChlLHQsaSxzLG4pe2F3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKHQuc291cmNlLnR5cGUpLHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksKDAsSmwubWFrZUludGVydmFsc1Zpc2liaWxpdGllc1Zpc2libGVBdEludGVydmFsKSh0LnNvdXJjZS5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkpO2NvbnN0IHI9bmV3IERvKHRoaXMubW9kZWwoKSx0LGUsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocik7Y29uc3Qgbz1yLnNvdXJjZSgpO2lmKG4pe2NvbnN0IHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LG8pfXJldHVybiByLm5lZWRDb3B5VG9PdGhlckNoYXJ0cygpJiZ0aGlzLl9tb2RlbCgpLmNvcHlUb090aGVyQ2hhcnRzKFtvXSwhMCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihvLG51bGwpfSkpLG99cGFzdGVTdHVkeShlLHQpe2NvbnN0IGk9bmV3IHpvKHRoaXMubW9kZWwoKSxlLHQ/LmlkKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5zdGF0ZSgpKS5pZDtyZXR1cm4oMCwkLmVtaXQpKCJzdHVkeV9ldmVudCIscywicGFzdGVfc3R1ZHkiKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHMpKX1yZW1vdmVQYW5lKGUpe2NvbnN0IHQ9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0uZGF0YVNvdXJjZXMoKS5zbGljZSgpO3RoaXMucmVtb3ZlU291cmNlcyh0LCExLFpwKX1jcmVhdGVQYW5lKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuY3JlYXRlUGFuZShlKX1zZXRQcmljZVNjYWxlQ3VycmVuY3koZSx0KXtjb25zdCBpPW5ldyBFbyh0aGlzLm1fbW9kZWwsZSx0LFJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZVVuaXQoZSx0KXtjb25zdCBpPW5ldyBSbyh0aGlzLm1fbW9kZWwsZSx0LFZwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZU1ldHJpYyhlLHQpe3tjb25zdCBpPW5ldyBGdSh0aGlzLm1fbW9kZWwsZSx0LEJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9fXNldFN5bWJvbChlLHQpe2Uuc3ltYm9sU2FtZUFzUmVzb2x2ZWQodCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT28oZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c2V0UmVzb2x1dGlvbihlLHQpe3guSW50ZXJ2YWwuaXNFcXVhbChlLmludGVydmFsKCksdCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnAoZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c3luY0Nyb3NzaGFpcihlLHQpe3RoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bmNDcm9zc2hhaXIoZSx0aGlzLl9jaGFydFdpZGdldC5pZCgpLHQpfWxvYWRpbmdTY3JlZW4oKXsKcmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LnNjcmVlbn1jaGFydExvYWRUaGVtZShlLHQsaSl7Y29uc3Qgcz1uZXcgaXAodGhpcy5tb2RlbCgpLGUsdCk7aT9zLnJlZG8oKTp0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuaXNKdXN0Q2xvbmVkQ2hhcnQoKX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmlzTXVsdGlwbGVMYXlvdXQoKX1hZGRQYW5lU3RyZXRjaEZhY3RvclVuZG9Db21tYW5kKGUsdCxpLHMpe2NvbnN0IG49bmV3IFVvKHRoaXMubW9kZWwoKSxlLHQsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9YXBwbHlQcmVmZXJlbmNlcyhlKXt7Y29uc3QgdD1uZXcgU3AodGhpcy5tX21vZGVsLGUpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KX19cGFuZUZvclNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnBhbmVGb3JTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMubV9tb2RlbC5kZXN0cm95KCl9bW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCl7cmV0dXJuIHRoaXMuX21vdmVTZWxlY3RlZFRvb2xzKDIpfW1vdmVTZWxlY3RlZFRvb2xzVXAoKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMCl9bW92ZVNlbGVjdGVkVG9vbHNSaWdodCgpe3JldHVybiB0aGlzLl9tb3ZlU2VsZWN0ZWRUb29scygzKX1tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMSl9aW5zZXJ0U3R1ZHlXaXRob3V0Q2hlY2soZSx0LGkscyl7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5KGUsdCx7fSwhMSxbXSx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGk/P251bGwsdm9pZCAwLHZvaWQgMCxzKX1zYXZlTGluZVRvb2xTdGF0ZShlLHQpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnIodGhpcy5tX21vZGVsLFtlXSx0KSl9cmVzZXRTY2FsZXMoKXt0aGlzLl9tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmJlZ2luVW5kb01hY3JvKCRwKSx0aGlzLnJlc2V0VGltZVNjYWxlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX21vZGVsLnBhbmVzKCkpe2Zvcihjb25zdCB0IG9mIGUubGVmdFByaWNlU2NhbGVzKCkpdGhpcy5yZXNldFByaWNlU2NhbGUoZSx0KTtmb3IoY29uc3QgdCBvZiBlLnJpZ2h0UHJpY2VTY2FsZXMoKSl0aGlzLnJlc2V0UHJpY2VTY2FsZShlLHQpfXRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSl9c2hhcmVMaW5lVG9vbHMoZSx0KXtjb25zdCBpPTA9PT10P3VfOjE9PT10P3BfOl9fO3RoaXMud2l0aE1hY3JvKGksKCgpPT57MD09PXQmJnRoaXMudW5saW5rTGluZXMoZSksZS5mb3JFYWNoKChpPT57Y29uc3Qgcz10aGlzLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woaSk7aWYocyl7Y29uc3Qgbj1zLmxpbmVUb29scygpLnNvbWUoKGU9PmUuaXNTeW5jaHJvbml6YWJsZSgpKSk7cy5saW5lVG9vbHMoKS5ldmVyeSgodD0+ZS5pbmNsdWRlcyh0KSkpJiYoMD09PXR8fGkuaXNTeW5jaHJvbml6YWJsZSgpfHwhbil8fHRoaXMubGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCkuZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKHMsaSl9dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBobyhpLHQsdGhpcy5tb2RlbCgpLG51bGwpKX0pKX0pKX1jYW5DcmVhdGVTdHVkeShlLHQpe3JldHVybiB0aGlzLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeShlLHQpfWNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9ja31vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKX1wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl9aW52YWxpZGF0ZShlKXt0aGlzLm1fbW9kZWwuaW52YWxpZGF0ZShlKX1zZXRXaWR0aChlKXt0aGlzLm1fbW9kZWwuc2V0V2lkdGgoZSl9c2V0UGFuZUhlaWdodChlLHQpe3RoaXMubV9tb2RlbC5zZXRQYW5lSGVpZ2h0KGUsdCl9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpfWxpbmVCZWluZ0VkaXRlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl9c291cmNlc0JlaW5nTW92ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCl9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuZ3JpZFNvdXJjZSgpfXdhdGVybWFya1NvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwud2F0ZXJtYXJrU291cmNlKCl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpfXNldEhvdmVyZWRTb3VyY2UoZSx0KXt0aGlzLm1fbW9kZWwuc2V0SG92ZXJlZFNvdXJjZShlLHQpfXNldEN1cnJlbnRQb3NpdGlvbihlLHQsaSxzKXt0aGlzLm1fbW9kZWwuc2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5tX21vZGVsLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9dmVyc2lvbigpe3JldHVybiB0aGlzLm1fbW9kZWwudmVyc2lvbigpfXJlc3RhcnQoKXt0aGlzLm1fbW9kZWwucmVzdGFydCgpfWRpc2Nvbm5lY3QoKXt0aGlzLm1fbW9kZWwuZGlzY29ubmVjdCgpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5jYWxjdWxhdGVEZWZhdWx0VGFncygpfWRyYXdSaWdodFRoZXJlKGUsdCxpLHMpe2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGUpKXtpZih2b2lkIDA9PT1pKXtjb25zdCBlPXRoaXMuY3Jvc3NoYWlyU291cmNlKCkscz10aGlzLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oZS5wcmljZSxlLmluZGV4LHQpO2k9e2luZGV4OmUuaW5kZXgscHJpY2U6c319CmNvbnN0IG49dGhpcy5jcmVhdGVMaW5lVG9vbCh7cG9pbnQ6aSxsaW5ldG9vbDplLHBhbmU6dCxhY3Rpb25Tb3VyY2U6cyxrZWVwU2VsZWN0ZWRHcm91cDohMH0pO24mJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24obil9KSl9fXVubG9hZERhdGFTb3VyY2VzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeVN0dWIpKGUpKSk7KDAsYm8ucmVtb3ZlQWxsU291cmNlc1dpdGhEZXBlbmRlbmNpZXMpKGUsdCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpfWNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl7cmV0dXJuIHRoaXMuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJm51bGwhPT10aGlzLl9jaGFydFdpZGdldC5hY3RpdmVQYW5lV2lkZ2V0KCkudmFsdWUoKX1fbW9kZWwoKXtyZXR1cm4gdGhpcy5tX21vZGVsfV9wdXNoVW5kb0NvbW1hbmQoZSl7dGhpcy5fdW5kb0hpc3RvcnkucHVzaFVuZG9Db21tYW5kKGUpfV9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KXt0aGlzLmJlZ2luVW5kb01hY3JvKHQudGV4dCgpKTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpKSxzPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzKCkuZmlsdGVyKCh0PT50Lm93bmVyU291cmNlKCk9PT1lKSkpO3RoaXMuX21vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwcygpLmZpbHRlcigoZT0+e2NvbnN0IHQ9ZS5saW5lVG9vbHMoKS5zb21lKChlPT5zLmhhcyhlKSkpLGk9ZS5saW5lVG9vbHMoKS5zb21lKChlPT4hcy5oYXMoZSkpKTtyZXR1cm4gdCYmaX0pKS5mb3JFYWNoKChlPT57dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLGUubGluZVRvb2xzKCkpKX0pKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbmRVbmRvTWFjcm8oKX1faW5zZXJ0U3R1ZHkoZSx0LGkscyxuLHIsbyxhLGwsYyxoLGQsdSxwKXtjb25zdCBfPVhwLmZvcm1hdCh7dGl0bGU6ZS5kZXNjcmlwdGlvbn0pLG09bmV3IHFvLkluc2VydFN0dWR5Q29tbWFuZCh7Y2hhcnRNb2RlbDp0aGlzLm1vZGVsKCksc3R1ZHlNZXRhSW5mbzplLGlucHV0czp0LHByb3BzOmksYWRkQXNPdmVybGF5OnMscGFyZW50U291cmNlczpuLHByZWZlcnJlZFByaWNlU2NhbGU6cixhbGxvd0NoYW5nZUN1cnJlbmN5Om8sYWxsb3dDaGFuZ2VVbml0OmEsYWxsb3dDaGFuZ2VNZXRyaWM6bCxwYW5lU2l6ZTpjLHRhcmdldFpPcmRlcjpoPz9udWxsLHRhcmdldFNjYWxlTW9kZTpkLHN0dWR5SWQ6cCx1bmRvVGV4dDpfLGV2ZW50U291cmNlOnV9KTtyZXR1cm4gdGhpcy5fcHVzaFVuZG9Db21tYW5kKG0pLG0uaW5zZXJ0ZWRTdHVkeSgpfV9zdG9yZUZhaWxlZFN0dWIoZSl7Y29uc3QgdD1YcC5mb3JtYXQoe3RpdGxlOmUudGl0bGUoKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8odCk7Y29uc3QgaT1uZXcgYXAodGhpcy5tb2RlbCgpLGUsdCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuZW5kVW5kb01hY3JvKCl9X3Jlc29sdmVQcmV2aW91c1NlbGVjdGVkR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLmxpbmVUb29sc0dyb3VwTW9kZWwoKSxpPWU9PigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP3RoaXMuX21vZGVsKCkucGFuZUZvckxpbmVUb29sc0dyb3VwKGUpOnRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShlKSxzPXQ9PmkodCk9PT1lLG49ZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSl8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiYhIXQuZ3JvdXBGb3JMaW5lVG9vbChlKSxyPXRoaXMuX21vZGVsKCkuc2VsZWN0aW9uKCkuYWxsSXRlbXNTb3J0ZWQoKSxvPXIubGVuZ3RoP3I6KHRoaXMuX21vZGVsKCkucHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzKCk/P1tdKS5tYXAoKGU9PnQuZ3JvdXBGb3JJZChlKT8/dGhpcy5fbW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKS5maWx0ZXIoYS5pc0V4aXN0ZW50KTtyZXR1cm4oZT0+e2NvbnN0IGk9ZS5maWx0ZXIobikuZmlsdGVyKHMpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCByPWlbaS5sZW5ndGgtMV07cmV0dXJuKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkocik/cjp0Lmdyb3VwRm9yTGluZVRvb2wocil9KShvKX1hc3luYyBfcHJvY2Vzc1NwZWNpYWxMaW5lVG9vbHNDb250ZW50cyhlLHQsaSl7aWYodD10fHxhd2FpdCBlLnJlYWQoKSx3aW5kb3cudXNlci5pZCYmdC5maWxlcyl7Y29uc3QgZT1BcnJheS5mcm9tKHQuZmlsZXMpLmZpbmQoanMuYmxvYkltYWdlRmlsdGVyKTtpZihlKXtjb25zdCB0PVVSTC5jcmVhdGVPYmplY3RVUkwoZSkscz0oMCxqcy51cGxvYWRJbWFnZSkoZSk7cmV0dXJuIHZvaWQgMD09PWkmJihpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKSkpLGF3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKCJMaW5lVG9vbEltYWdlIiksdGhpcy5wYXN0ZUltYWdlQXNMaW5lVG9vbChzLHQsaSksdm9pZCBhd2FpdCBzfX10LnRleHQmJih3aW5kb3cudXNlci5pZCYmIVNfJiYoMCxWdS5pc1R3aXR0ZXJVcmwpKHQudGV4dCk/KDAsVnUuY3JlYXRlVHdlZXRMaW5lVG9vbEJ5VXJsKSh0LnRleHQsdGhpcywhMCk6d2luZG93LnVzZXIuaWQmJigwLE51LmlzSWRlYVVybCkodC50ZXh0KT8oMCxOdS5jcmVhdGVJZGVhTGluZVRvb2xCeVVybCkodC50ZXh0LHRoaXMsITApOmFzeW5jIGZ1bmN0aW9uKGUsdCxpKXtpZihudWxsPT09dC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQubWFpblNlcmllcygpLG49aT8/KDAsCmwuZW5zdXJlTm90TnVsbCkodC5tb2RlbCgpLnBhbmVGb3JTb3VyY2UocykpLHI9bi5kZWZhdWx0UHJpY2VTY2FsZSgpLG89KDAsbC5lbnN1cmVOb3ROdWxsKShyLm1haW5Tb3VyY2UoKSksYT10LnRpbWVTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKShvLmZpcnN0VmFsdWUoKSksaD1hLmNvb3JkaW5hdGVUb0luZGV4KHQudGltZVNjYWxlKCkud2lkdGgoKS8yKSxkPW4uaGVpZ2h0KCkvMix1PXtwcmljZTpyLmNvb3JkaW5hdGVUb1ByaWNlKGQsYyksdGltZV90OigwLGwuZW5zdXJlTm90TnVsbCkoYS5pbmRleFRvVGltZVBvaW50KGgpKSxvZmZzZXQ6MH0scD1uLm5ld0xpbmVUb29sWk9yZGVyKCEwKSxfPUJ1LkxpbmVUb29sVGV4dC5jcmVhdGVQcm9wZXJ0aWVzKHQubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpKSxtPV8uc3RhdGUoKTtfLmRlc3Ryb3koKSxtLnRleHQ9ZTtjb25zdCBnPXt0eXBlOiJkcmF3aW5nIixzb3VyY2U6e2lkOigwLGx0LnJhbmRvbUhhc2hOKSg2KSx6b3JkZXI6cCx0eXBlOiJMaW5lVG9vbFRleHQiLHN0YXRlOm0sc3ltYm9sOm8uc3ltYm9sU291cmNlKCkuc3ltYm9sKCksb3duZXJTb3VyY2U6by5pZCgpLHBvaW50czpbdV19LGdlb21ldHJ5OltdLG1vZGVsSWQ6dC5tb2RlbCgpLmlkKCksY2VudGVyZWRPbkNoYXJ0OiEwfSxmPWF3YWl0IHQucGFzdGVMaW5lVG9vbChuLGcsITEsITEpO1Euc2V0VmFsdWUoImhpbnQucGFzdGVUZXh0IiwhMCx7Zm9yY2VGbHVzaDohMH0pfSh0LnRleHQsdGhpcyxpKSl9X2luc2VydEFmdGVyT3JCZWZvcmUoZSx0LGkscyl7Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShpKSk7aWYodC5zb21lKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmdGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09bikpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGluc2VydCBsaW5lIHRvb2wgYWZ0ZXIgdGFyZ2V0IG9uIGFub3RoZXIgcGFuZSIpO3RoaXMuYmVnaW5VbmRvTWFjcm8oZSksdC5mb3JFYWNoKChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKSkhPT1uJiZ0aGlzLm1lcmdlVG9QYW5lKGUsbil9KSk7Y29uc3Qgcj1zKCk7dGhpcy5fd2l0aEtlZXBXaWRnZXRQYW5lUG9zaXRpb25HdWFyZCgoKCk9PnRoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSksci50ZXh0KCkpLHRoaXMuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFt0XSksdGhpcy5lbmRVbmRvTWFjcm8oKX1fc2VuZEJhY2tPckJyaW5nRm9yd2FyZChlLHQsaSl7Y29uc3Qgcz1uZXcgTWFwO3QuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UoZSkpLGk9cy5nZXQodCl8fFtdO2kucHVzaChlKSxzLnNldCh0LGkpfSkpLHRoaXMuYmVnaW5VbmRvTWFjcm8oZSkscy5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKHQsZSkpfSkpLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW3RdKX1fbW92ZVNlbGVjdGVkVG9vbHMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc1NvdXJjZUhpZGRlbigpKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKCgwLFQubG9ja0RyYXdpbmdzKSgpLnZhbHVlKCkpcmV0dXJuITA7Y29uc3QgaT10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4hMTtjb25zdCBzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPWkub3duZXJTb3VyY2UoKTtpZihudWxsPT09ZSljb250aW51ZTtsZXQgcz10LmdldChlKTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPWUucHJpY2VTY2FsZSgpLHI9ZS5wcmljZVN0ZXAoKSxvPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ufHxudWxsPT09cnx8bnVsbD09PW8pY29udGludWU7aWYobnVsbD09PW4ucHJpY2VSYW5nZSgpKWNvbnRpbnVlO3M9e3NvdXJjZXM6W10scHJpY2VTY2FsZTpuLHByaWNlU3RlcDpyLHN0YXJ0UHJpY2U6aS5wb2ludHMoKVswXS5wcmljZSxmaXJzdFZhbHVlOm99LHQuc2V0KGUscyl9cy5zb3VyY2VzLnB1c2goaSl9cmV0dXJuIHR9KHQpO2lmKDA9PT1zLnNpemUpcmV0dXJuITE7dGhpcy5iZWdpblVuZG9NYWNybyhrcCk7Y29uc3Qgbj1pLmZpcnN0QmFyKCkscj10aGlzLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG4pLG89bisoMz09PWU/MToyPT09ZT8tMTowKSxhPXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUobyk7cmV0dXJuIFQuaXNEaXJlY3Rpb25hbE1vdmVtZW50QWN0aXZlLnNldFZhbHVlKCEwKSxzLmZvckVhY2goKHQ9Pntjb25zdHtzdGFydFByaWNlOmkscHJpY2VTdGVwOnMscHJpY2VTY2FsZTpsLGZpcnN0VmFsdWU6Y309dCxoPWkrKDA9PT1lP3M6MT09PWU/LXM6MCksZD1sLnByaWNlVG9Db29yZGluYXRlKGksYyksdT1sLnByaWNlVG9Db29yZGluYXRlKGgsYykscD17bG9naWNhbDp7aW5kZXg6bixwcmljZTppfSxzY3JlZW46bmV3IFB0LlBvaW50KHIsZCl9LF89e2xvZ2ljYWw6e2luZGV4Om8scHJpY2U6aH0sc2NyZWVuOm5ldyBQdC5Qb2ludChhLHUpfTt0aGlzLnN0YXJ0TW92aW5nU291cmNlcyh0LnNvdXJjZXMscCxudWxsKSx0aGlzLm1vdmVTb3VyY2VzKF8pLHRoaXMuZW5kTW92aW5nU291cmNlKCExLCEwKX0pKSxULmlzRGlyZWN0aW9uYWxNb3ZlbWVudEFjdGl2ZS5zZXRWYWx1ZSghMSksdGhpcy5lbmRVbmRvTWFjcm8oKSwhMH1fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpe2NvbnN0IHQ9bmV3IFF1KHRoaXMubV9tb2RlbCxlKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCl9X3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKERwKSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApO2NvbnN0IHQ9bmV3IFp1KHRoaXMubV9tb2RlbCxlLnByb3BlcnRpZXMoKSxEcCkKO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZShlKX1fcmVtb3ZlQWxsRHJhd2luZ1Rvb2xzSW1wbChlLHQpe3RoaXMuc2VsZWN0aW9uTWFjcm8oKCgpPT57dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCk7dGhpcy5kYXRhU291cmNlcygpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc1VzZXJEZWxldGFibGUoKSkpLmZpbHRlcigoZT0+IXR8fHQ9PT1lLnRvb2xuYW1lKSkuZmlsdGVyKCh0PT5lfHwhdC5pc0xvY2tlZD8uKCkpKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlLCExKSkpfSksITApfV9yZW1vdmVBbGxTdHVkaWVzSW1wbCgpe2NvbnN0IGU9dGhpcy5kYXRhU291cmNlcygpLHQ9ZS5maWx0ZXIodGkuaXNTdHVkeSkuZmlsdGVyKChlPT4hZS5pc0NoaWxkU3R1ZHkoKSYmZS5yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKSkpLGk9ZS5maWx0ZXIodGkuaXNTdHVkeVN0dWIpO3QuY29uY2F0KGkpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlU291cmNlKGUsITEpKSl9X3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoZSx0KXtjb25zdCBpPXRoaXMubV9tb2RlbC5wYW5lcygpLmZpbmRJbmRleCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpLHM9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmNvbnRhaW5zTWFpblNlcmllcygpKSk7aWYoLTE9PT1pfHwtMT09PXMpcmV0dXJuIHZvaWQgZSgpO2NvbnN0IG49aT5zO3RoaXMuYmVnaW5VbmRvTWFjcm8odCksZSgpO2NvbnN0IHI9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0KSksbz10aGlzLm1fbW9kZWwucGFuZXMoKS5maW5kSW5kZXgoKGU9PmUuY29udGFpbnNNYWluU2VyaWVzKCkpKTtpZihvIT09cyl7Y29uc3QgZT1uP28rMTpvO3RoaXMubW92ZVBhbmUocixlPnI/ZS0xOmUpfXRoaXMuZW5kVW5kb01hY3JvKCl9fXZhciBQXz1pKDY5MjY0KSxUXz1pKDY5NzQ3MikseF89aSgyMTYwODMpO2NsYXNzIE1fe2NvbnN0cnVjdG9yKCl7dGhpcy5fc2Vzc2lvbj17c3RhcnREYXRlOihuZXcgRGF0ZSkudG9JU09TdHJpbmcoKSx1cmw6d2luZG93LmxvY2F0aW9uLmhyZWYsZW50cmllczpbXX19YWRkUGVyc2lzdGVudExvZ0VudHJ5KGUsdCxpKXt0aGlzLl9zZXNzaW9uLmVudHJpZXMucHVzaCh7ZGF0ZToobmV3IERhdGUpLnRvSVNPU3RyaW5nKCksbGV2ZWw6dCxtZXNzYWdlOmUsY2F0ZWdvcnk6aX0pfWFzeW5jIGdldExhc3RTZXNzaW9ucyhlKXtyZXR1cm5bdGhpcy5fc2Vzc2lvbl19cGVuZGluZ0VudHJpZXMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbi5lbnRyaWVzfX12YXIgSV89aSg3Mzc1MjMpLExfPWkoNzI4NTgzKSxBXz1pKDI5MDMyNCk7Y29uc3Qga189cC50KG51bGwsdm9pZCAwLGkoNzQyNjQyKSk7ZnVuY3Rpb24gRF8oZSl7aWYoInJlcGxhY2VkX3RvX2V4Y2hhbmdlIj09PWUudHlwZSlyZXR1cm57dGV4dDprXyx3YXJuaW5nSWNvbjpMXyx3YXJuaW5nQ2xhc3NOYW1lOkFfLmljb24sd2FybmluZ1R5cGU6Im5vdGFjY3VyYXRlIixzb2x1dGlvbklkOmRlLnNvbHV0aW9uSWRzLldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0V9fWNsYXNzIEVfe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpbnQ9bnVsbCx0aGlzLl9kZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9jaGFydD1lO2UubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lBY3RpdmVIaW50KCk7dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fZGVzdHJveUFjdGl2ZUhpbnQoKXtudWxsIT09dGhpcy5fYWN0aXZlSGludCYmKHRoaXMuX2FjdGl2ZUhpbnQuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZUhpbnQ9bnVsbCksdGhpcy5fZGVmZXJyZWRQcm9taXNlPW51bGx9YXN5bmMgX2NyZWF0ZUhpbnQoKXtpZihudWxsPT09dGhpcy5fZGVmZXJyZWRQcm9taXNlKXtjb25zdCBlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTt0aGlzLl9kZWZlcnJlZFByb21pc2U9ZSxQcm9taXNlLmFsbChbaS5lKDIwNTc2KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDk0MDU0KSxpLmUoNDAxNjgpLGkuZSgzMjM4NyksaS5lKDM2ODA0KV0pLnRoZW4oaS5iaW5kKGksNDQ4MTYwKSkudGhlbigodD0+e2UucmVzb2x2ZShuZXcgdC5DaGFydFdhcm5pbmdIaW50UmVuZGVyZXIodGhpcy5fY2hhcnQpKX0pKX1yZXR1cm4gdGhpcy5fZGVmZXJyZWRQcm9taXNlLnByb21pc2V9X29uU3ltYm9sUmVzb2x2ZWQoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLElfLmZpcnN0UmVwbGFjZWRCeUJhdHNFeGNoYW5nZSkoZSk7cmV0dXJuIG51bGwhPT10P3t0eXBlOiJyZXBsYWNlZF90b19leGNoYW5nZSIsZXhjaGFuZ2U6dH06bnVsbH0oZSksaT10JiZmdW5jdGlvbihlKXtyZXR1cm5gd2FybmluZy5ub1N1YnNjXyR7ZS5leGNoYW5nZX1gfSh0KTtpZihudWxsPT09dHx8bnVsbD09PWl8fEJvb2xlYW4oUS5nZXRCb29sKGkpKSlyZXR1cm4gdm9pZCB0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpO2NvbnN0IHM9ey4uLkRfKHQpLG9uQ2xvc2U6KCk9PntRLnNldFZhbHVlKGksITAse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpfX07bnVsbCE9PXRoaXMuX2FjdGl2ZUhpbnQ/dGhpcy5fYWN0aXZlSGludC5zaG93KHMpOnRoaXMuX2NyZWF0ZUhpbnQoKS50aGVuKChlPT57dGhpcy5fYWN0aXZlSGludD1lLHRoaXMuX2FjdGl2ZUhpbnQuc2hvdyhzKX0pKX19dmFyIFJfPWkoOTc2NDk5KSxWXz1pKDY0MTAzNSk7cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgQl97CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD1udWxsLHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMSx0aGlzLl9jaGFydD1lLHRoaXMuX2NoYXJ0LndpdGhNb2RlbCh0aGlzLHRoaXMuX2Nvbm5lY3RUb01vZGVsKX1fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpe2NvbnN0IHQ9dGhpcy5fZ2V0UHJvU3ltYm9sKCksaT1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHQpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksaS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsdCk7cmV0dXJuIGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSIke2kudG9TdHJpbmcoKX0iPmAsbGlua0VuZDoiPC9hPiJ9KX1hc3luYyBfc2hvd0RpYWxvZyhlKXsoYXdhaXQoMCxWXy5jcmVhdGVOb3RpY2VEaWFsb2cpKHtjb250ZW50OmV9KSkub3BlbigpfV9yZXZlcnRTeW1ib2xDaGFuZ2UoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFByb1N5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbC5wcm9fbmFtZTplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1fY29ubmVjdFRvTW9kZWwoKXtjb25zdCBlPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpO2UuZGF0YUV2ZW50cygpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmKHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMCl9KSwhMCksZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fb25TeW1ib2xSZXNvbHZlZCgpe2NvbnN0IGU9bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmIXRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcix0PXRoaXMuX2dldFN5bWJvbCgpO2lmKCEodGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sJiZ0JiZ0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wucHJvX25hbWU9PT10LnByb19uYW1lKSYmKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIikmJiFlJiYiQVNYIj09PXQ/LmV4Y2hhbmdlKXtjb25zdCBlPXAudChudWxsLHZvaWQgMCxpKDM2NzgwMCkpLHQ9dGhpcy5fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpO3JldHVybiB0aGlzLl9zaG93RGlhbG9nKHQpLHZvaWQgdGhpcy5fcmV2ZXJ0U3ltYm9sQ2hhbmdlKCl9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfX1mdW5jdGlvbiBOXygpe2NvbnN0IGU9d2luZG93LndpZGdldGJhcjtpZihlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5zZXRQYWdlKCJvYmplY3RfdHJlZSIpKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkodC53aWRnZXQoIm9iamVjdF90cmVlIikpOygwLGwuZW5zdXJlRGVmaW5lZCkoaS5wcm9wZXJ0aWVzKS5zZXRWYWx1ZSh7c2VsZWN0ZWRQYWdlOiJkYXRhLXdpbmRvdyJ9KX1lbHNlO31jb25zdCBPXz0idHJhZGVkR3JvdXA6IixXXz1gJHtPX31QbGFjZU9yZGVyYCxGXz1gJHtPX31FZGl0T3JkZXJgO3ZhciBIXz1pKDY2NDM3Nik7Y29uc3Qgel89cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgVV97Y29uc3RydWN0b3IoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPW51bGwsdGhpcy5fY2hhcnQ9ZSx0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9X2dldFBvcHVwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fZ2V0UHJvU3ltYm9sKCksdD1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGUpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsZSk7cmV0dXJuIHpfLmZvcm1hdCh7bGlua1N0YXJ0OmA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iJHt0LnRvU3RyaW5nKCl9Ij5gLGxpbmtFbmQ6IjwvYT4ifSl9X29uUG9wdXBDbG9zZWQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFN5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbDplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpfV9jb25uZWN0VG9Nb2RlbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCk7ZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQpLAplLmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnNob3cpfV9vblN5bWJvbFJlc29sdmVkKCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfV9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKCl7dGhpcy5zaG93KCl9fWNsYXNzIEdfIGV4dGVuZHMgVV97c2hvdygpeygwLFZfLmNyZWF0ZU5vdGljZURpYWxvZykoe2NvbnRlbnQ6dGhpcy5fZ2V0UG9wdXBDb250ZW50KCl9KS50aGVuKChlPT57ZS5vbigiZGVzdHJveSIsdGhpcy5fb25Qb3B1cENsb3NlZC5iaW5kKHRoaXMpKSxlLm9wZW4oKX0pKX19dmFyIGpfPWkoNzQ4OTEyKTt2YXIgcV89aSgzMDc2MTApO3ZhciAkXz1pKDg3MzM4Nik7dmFyIFlfPWkoMTUzNTgyKSxLXz1pKDM4NzEwMSksWF89aSg3Mjg2MzkpLFpfPWkoNjQzOTAzKSxKXz1pKDYxMzg4MSk7dmFyIFFfPWkoNzQ1OTkwKSxlbT1pKDEwMzk5OCk7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUuaGFzTW9kZWwoKT9lLm1vZGVsKCkubWFpblNlcmllcygpLnByb1N5bWJvbCgpOmUuc3ltYm9sV1YoKS52YWx1ZSgpfXZhciBpbT1pKDc2Mjg1MSksc209aSg0NTY3MDUpLG5tPWkoNTE5NTE1KSxybT1pKDc2MDM5MCk7Y2xhc3Mgb20gZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7YWN0aW9uSWQ6IkNoYXJ0LkFkZFN5bWJvbFRvV2F0Y2hMaXN0IixvcHRpb25zOnQ9e2ljb25JZDoiV2F0Y2hsaXN0LkFkZFN5bWJvbCIsaWNvbjpKXy5pY29ucy5nZXQoIldhdGNobGlzdC5BZGRTeW1ib2wiKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4NyxzdGF0TmFtZToiQWRkVG9XYXRjaGxpc3QiLGxhYmVsOm9tLmZvcm1hdExhYmVsKGUpLG9uRXhlY3V0ZTooKT0+dGhpcy5fZXhlY3V0ZSgpLC4uLnR9fSksdGhpcy51cGRhdGVTeW1ib2w9dGhpcy51cGRhdGVTeW1ib2wuYmluZCh0aGlzKSx0aGlzLl9zeW1ib2w9ZX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sPXZvaWQgMCxzdXBlci5kZXN0cm95KCl9cHJlcGFyZSgpe31zdGF0aWMgZm9ybWF0TGFiZWwoZSl7cmV0dXJuIHAudChudWxsLHZvaWQgMCxpKDU3OTkzNCkpLmZvcm1hdCh7c3ltYm9sOigwLFpfLnNhZmVTaG9ydE5hbWUpKGUpfSl9dXBkYXRlU3ltYm9sKGUpe3RoaXMuX3N5bWJvbD1lLHRoaXMudXBkYXRlKHtsYWJlbDpvbS5mb3JtYXRMYWJlbChlKX0pfV9leGVjdXRlKCl7Y29uc3QgZT10aGlzLl9zeW1ib2w7ZSYmKDAsYWQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57KDAsc20uaW5pdFN5bWJvbExpc3RTZXJ2aWNlKSgpLnRoZW4oKHQ9Pnt0LnN0b3JlLmRpc3BhdGNoKHQuYWN0aW9ucy5hZGRTeW1ib2xzKG5tLldBVENITElTVF9XSURHRVRfSUQsW2VdKSl9KSl9KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfX1jbGFzcyBhbSBleHRlbmRzIG9te2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS52YWx1ZSgpLHQpLHRoaXMuX3N5bWJvbFJlZj0oMCx1LmNvbWJpbmUpKChlPT5lKSxlKSx0aGlzLl9zeW1ib2xSZWYuc3Vic2NyaWJlKHRoaXMudXBkYXRlU3ltYm9sLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sUmVmJiZ0aGlzLl9zeW1ib2xSZWYuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlZj1udWxsLHN1cGVyLmRlc3Ryb3koKX19Y2xhc3MgbG0gZXh0ZW5kcyBhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCgwLHhlLmNyZWF0ZVN5bWJvbE9yQWxpYXNXVikoZS5zeW1ib2xXVigpLndlYWtSZWZlcmVuY2UoKSxlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSxlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpKS5vd25lcnNoaXAoKSx7c3ViSXRlbXM6W25ldyBlcy5Mb2FkZXIoIkxvYWRpbmciKV0sLi4udH0pLHRoaXMuX2hhZFN5bWJvbE9uSW5pdD0hMSx0aGlzLl9pc01vYmlsZT0oMCxZXy5pc01vYmlsZSkoKSx0aGlzLl9vblJlcXVlc3Q9bnVsbCx0aGlzLl91bnN1YnNjcmliZT1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fbG9hZCgpfXByZXBhcmUoKXtzdXBlci5wcmVwYXJlKCksdGhpcy5faGFkU3ltYm9sT25Jbml0PSExLHRoaXMuX2lzTW9iaWxlPSgwLFlfLmlzTW9iaWxlKSgpLHRoaXMudXBkYXRlKHtzdWJJdGVtczpbbmV3IGVzLkxvYWRlcigiTG9hZGluZyIpXX0pLHRoaXMuX29uUmVxdWVzdD8uKCl9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlPy4oKSx0aGlzLl9jaGFydD1udWxsLHRoaXMuX29uUmVxdWVzdD1udWxsLHN1cGVyLmRlc3Ryb3koKX1fZXhlY3V0ZSgpeygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e2lmKHRoaXMuX2NoYXJ0KXtjb25zdCBlPXRtKHRoaXMuX2NoYXJ0KTsoMCxzbS5pbml0U3ltYm9sTGlzdFNlcnZpY2UpKCkudGhlbigodD0+e3Quc3RvcmUuZGlzcGF0Y2godC5hY3Rpb25zLmFkZFN5bWJvbHMobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbZV0pKX0pKX19KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfWFzeW5jIF9sb2FkKCl7Y29uc3RbZSx0LHMsbixyLHt3YXRjaGxpc3RTb3J0Q29tcGFyYXRvcjpvfSxhXT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDY0NjQ0KS50aGVuKGkudC5iaW5kKGksNzc5NDc0LDE5KSksKDAsCnNtLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksOTY5MjYyKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDE5NTI2OSkpLFByb21pc2UuYWxsKFtpLmUoOTY4MjMpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMjQ1ODEpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDc4NjUyKSxpLmUoNzA4MTUpLGkuZSgxNDYyNSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNjk4NjEpLGkuZSgyMDIpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzUzMDQpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoNzE5MDEpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSg5MDk2MCksaS5lKDQzNzkyKSxpLmUoODc3NDApLGkuZSg3ODQwNCksaS5lKDM5MTYpLGkuZSg4MTEwNyksaS5lKDc4ODk5KSxpLmUoNTEyNTYpLGkuZSg0MjMwMSksaS5lKDM1MzQyKSxpLmUoNDIwMzMpLGkuZSg1MDU4OCksaS5lKDgwMDQxKSxpLmUoOTAzNzgpLGkuZSg3MjI0OSksaS5lKDMwOTIyKSxpLmUoMzc1NjcpLGkuZSg4Nzc2NyksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg4MDkxNSksaS5lKDE4NTEyKSxpLmUoNDg2MjApLGkuZSg1MDA0OSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1NTIyOSksaS5lKDQ2MjE3KSxpLmUoNjg3MjUpLGkuZSg2NjkzMyksaS5lKDY5Njk3KSxpLmUoNTI1MDkpLGkuZSg2MzQwMiksaS5lKDI0ODc5KSxpLmUoNjcxMjApLGkuZSg0MjMyNyksaS5lKDM1MjUyKSxpLmUoNjA0OTMpXSkudGhlbihpLmJpbmQoaSw1MTAxMTYpKSxQcm9taXNlLmFsbChbaS5lKDk2ODIzKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDI0NTgxKSxpLmUoMjc1MTcpLGkuZSg4NjQyMyksaS5lKDg1NzkpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg3ODY1MiksaS5lKDcwODE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDY5ODYxKSxpLmUoMjAyKSxpLmUoNzI1MTIpLGkuZSg1NTAxMSksaS5lKDc1MzA0KSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDcxOTAxKSxpLmUoODkwNDQpLGkuZSg0MDkxNCksaS5lKDgxMjQ3KSxpLmUoOTA5NjApLGkuZSg0Mzc5MiksaS5lKDg3NzQwKSxpLmUoNzg0MDQpLGkuZSgzOTE2KSxpLmUoODExMDcpLGkuZSg3ODg5OSksaS5lKDUxMjU2KSxpLmUoNDIzMDEpLGkuZSgzNTM0MiksaS5lKDQyMDMzKSxpLmUoNTA1ODgpLGkuZSg4MDA0MSksaS5lKDkwMzc4KSxpLmUoNzIyNDkpLGkuZSgzMDkyMiksaS5lKDM3NTY3KSxpLmUoODc3NjcpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQ4NjIwKSxpLmUoNTAwNDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg2OTY5NyksaS5lKDUyNTA5KSxpLmUoNjM0MDIpLGkuZSgyNDg3OSksaS5lKDY3MTIwKSxpLmUoNDIzMjcpLGkuZSgzNTI1MiksaS5lKDYwNDkzKV0pLnRoZW4oaS5iaW5kKGksNTQ2MTU0KSksUHJvbWlzZS5hbGwoW2kuZSg5NjgyMyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgyNDU4MSksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoNzg2NTIpLGkuZSg3MDgxNSksaS5lKDE0NjI1KSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODkyMDQpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDIwMiksaS5lKDcyNTEyKSxpLmUoNTUwMTEpLGkuZSg3NTMwNCksaS5lKDUyMDk1KSxpLmUoNDQwMzEpLGkuZSg3MTkwMSksaS5lKDg5MDQ0KSxpLmUoNDA5MTQpLGkuZSg4MTI0NyksaS5lKDkwOTYwKSxpLmUoNDM3OTIpLGkuZSg4Nzc0MCksaS5lKDc4NDA0KSxpLmUoMzkxNiksaS5lKDgxMTA3KSxpLmUoNzg4OTkpLGkuZSg1MTI1NiksaS5lKDQyMzAxKSxpLmUoMzUzNDIpLGkuZSg0MjAzMyksaS5lKDUwNTg4KSxpLmUoODAwNDEpLGkuZSg5MDM3OCksaS5lKDcyMjQ5KSxpLmUoMzA5MjIpLGkuZSgzNzU2NyksaS5lKDg3NzY3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDU1MjI5KSxpLmUoNDYyMTcpLGkuZSg2ODcyNSksaS5lKDY2OTMzKSxpLmUoNjk2OTcpLGkuZSg1MjUwOSksaS5lKDYzNDAyKSxpLmUoMjQ4NzkpLGkuZSg2NzEyMCksaS5lKDQyMzI3KSxpLmUoMzUyNTIpLGkuZSg2MDQ5MyldKS50aGVuKGkuYmluZChpLDkyMDM5MikpXSkKO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3R7c3RvcmU6bH09dDt0aGlzLl9vblJlcXVlc3Q9KCk9PmwuZGlzcGF0Y2gocy5nZXRDdXN0b21XYXRjaGxpc3RzVGh1bmsobnVsbCkpLHRoaXMuX3Vuc3Vic2NyaWJlPWwuc3Vic2NyaWJlKCgoKT0+e2lmKCF0aGlzLl9jaGFydClyZXR1cm47Y29uc3QgdD1sLmdldFN0YXRlKCk7aWYobnVsbD09PXIuZ2V0Q3VzdG9tTGlzdHNTdGF0ZSh0KS50aW1lc3RhbXApcmV0dXJuO2NvbnN0IHM9dG0odGhpcy5fY2hhcnQpLGM9ci5nZXRDdXN0b21MaXN0cyh0KSx7YWN0aXZlU3ltYm9sTGlzdDpofT10LGQ9Yy5maW5kKChlPT5lLmlkPT09aD8uaWQpKTt0aGlzLl9oYWRTeW1ib2xPbkluaXR8fCh0aGlzLl9oYWRTeW1ib2xPbkluaXQ9ISFkJiZkLnN5bWJvbHMuaW5jbHVkZXMocykpO2NvbnN0IHU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibXVsdGlwbGVfd2F0Y2hsaXN0cyIpP2MuZmlsdGVyKChlPT5lLmlkIT09aD8uaWQpKS5zb3J0KG8pOltdO2xldCBfPWQ/W2QsLi4udV06dTtfPV8uZmlsdGVyKChlPT4hKDAscm0uaXNEZWxldGVkU3ltYm9sc0xpc3QpKGUuaWQpKSk7Y29uc3QgbT1fLm1hcCgodD0+e2NvbnN0IGk9dC5zeW1ib2xzLmluY2x1ZGVzKHMpLHI9e3Nob3J0Y3V0SGludDp0LmlkPT09aD8uaWQ/KDAsSy5odW1hblJlYWRhYmxlSGFzaCkoSy5Nb2RpZmllcnMuQWx0Kzg3KTp2b2lkIDAsaW52aXNpYmxlSG90a2V5OnQuaWQ9PT1oPy5pZD9pOnZvaWQgMCxkb05vdENsb3NlT25DbGljazohMCxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPWk/bi5yZW1vdmVTeW1ib2xzVGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbc10sdC5pZCwhMCk6bi5hZGRTeW1ib2xzVG9DdXN0b21MaXN0VGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCx0LmlkLFtzXSk7dC5pZCE9PWg/LmlkfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZHx8dGhpcy5faGFkU3ltYm9sT25Jbml0P2wuZGlzcGF0Y2goZSk6d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2wuZGlzcGF0Y2goZSl9KSx7c291cmNlOiJDaGFydCBjb250ZXh0IG1lbnUifSl9fTtyZXR1cm4gbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5BY3Rpb25zIixvcHRpb25zOnsuLi5yLGxhYmVsOnQubmFtZSxjaGVja2FibGU6ITAsY2hlY2tlZDppLHN0YXROYW1lOiJBZGRUb1dhdGNobGlzdCJ9LGN1c3RvbUFjdGlvbk9wdGlvbnM6ey4uLnIsanN4TGFiZWw6ZS5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVXYXRjaGxpc3RJdGVtLHt0aXRsZTp0Lm5hbWUsaXNDaGVja2VkOmksaXNTbWFsbFNpemU6dGhpcy5faXNNb2JpbGV9KX19KX0pKSxnPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ3JlYXRlIixvcHRpb25zOntsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykocC50KG51bGwsdm9pZCAwLGkoODc2MTYpKSksc3RhdE5hbWU6IkNyZWF0ZU5ld1dhdGNobGlzdCIsaWNvbklkOnRoaXMuX2lzTW9iaWxlPyJXYXRjaGxpc3QuQ3JlYXRlTmV3Ijp2b2lkIDAsb25FeGVjdXRlOigpPT57KDAsV3UucnVuT3JHb1BybykoKCgpPT57bC5kaXNwYXRjaChuLnVzZXJDcmVhdGVXYXRjaGxpc3RUaHVuayhudWxsLHtzeW1ib2xzOltzXX0pKX0pLCJNVUxUSVBMRV9XQVRDSExJU1RTIix7ZmVhdHVyZToibXVsdGlwbGVXYXRjaExpc3RzIixmZWF0dXJlTG9jYXRpb246Im1vdmVTeW1ib2xzVG9OZXcifSl9fX0pO3RoaXMudXBkYXRlKHtzdWJJdGVtczpbLi4ubSxuZXcgZXMuU2VwYXJhdG9yLGddfSl9KSl9fXZhciBjbT1pKDg4MDExNSksaG09aSgzNzk3OTMpO2Z1bmN0aW9uIGRtKGUpe3JldHVybigwLGNtLmRlZmF1bHQpKGUpJiYiZGlhbG9nQ2xvc2UiaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZGlhbG9nQ2xvc2V9YXN5bmMgZnVuY3Rpb24gdW0oZSl7aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybntzdWJJdGVtczpbXSxkaXNhYmxlZDohMH07Y29uc3RbdCxzLG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDY2NTE4NykpLFByb21pc2UuYWxsKFtpLmUoNzQxMTQpLGkuZSg2NDI1KV0pLnRoZW4oaS5iaW5kKGksMzE2NTE3KSksUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw0MTM0NTEpKV0pLHI9YXdhaXQgdC5nZXRUaGVtZU5hbWVzKCksbz1bXSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5TYXZlQXMiLG9wdGlvbnM6e25hbWU6InRoZW1lLXNhdmUtYXMiLHN0YXROYW1lOiJTYXZlVGhlbWVBcyIsbGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc4NDc0MSkpKSxvbkV4ZWN1dGU6YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKHQsaSk9PntzLnNob3dUaGVtZVNhdmVEaWFsb2dBc3luYyhlLm1vZGVsKCkubW9kZWwoKS50ZW1wbGF0ZSgpLHQsdCxpKX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX19KTtyZXR1cm4gby5wdXNoKGEpLHImJnIubGVuZ3RoJiYoby5sZW5ndGgmJm8ucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxyLmZvckVhY2goKGk9Pntjb25zdCByPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5BcHBseS5DdXN0b20iLG9wdGlvbnM6e2xhYmVsOnQudHJhbnNsYXRlU3RkVGhlbWVOYW1lKGkpLGNoZWNrYWJsZTohMSxzdGF0TmFtZToiTG9hZFRoZW1lIixvbkV4ZWN1dGU6KCk9PntuLmxvYWRUaGVtZShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHt0aGVtZU5hbWU6aSxzdGFuZGFyZFRoZW1lOiExfSkudGhlbigoKCk9Pnt3aW5kb3cuc2F2ZXIuc2F2ZUNoYXJ0U2lsZW50bHkoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiU3dpdGNoIHRvIGN1c3RvbSB0aGVtZSIpfSkpfSx0b29sYm94Ont0eXBlOmhtLlRvb2xib3hUeXBlLkRlbGV0ZSxhY3Rpb246YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKGUsdCk9PnsKcy5zaG93UmVtb3ZlVGhlbWVEaWFsb2dBc3luYyhpLGUsZSx0KX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX0sc2hvd1Rvb2xib3hPbkhvdmVyOiEwfX0pO28ucHVzaChyKX0pKSkse3N1Ykl0ZW1zOm8sZGlzYWJsZWQ6MD09PW8ubGVuZ3RofX1hc3luYyBmdW5jdGlvbiBwbShlLHQpe3Q/Pz1lLmFjdGlvbnMoKS5hcHBseUNvbG9yVGhlbWUsdD8udXBkYXRlKGF3YWl0IHVtKGUpKX12YXIgX209aSgzNDIyMCksbW09aSg5NTI1NDUpLGdtPWkoNjQ0Mjk1KTtmdW5jdGlvbiBmbShlKXtjb25zdCB0PWUubW9kZWwoKS5kYXRhU291cmNlcygpLHM9dC5maWx0ZXIoZ2wuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzQWN0dWFsU3ltYm9sKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKS5sZW5ndGgsbj10LmZpbHRlcih0aS5pc1N0dWR5KS5maWx0ZXIoKGU9PmUucmVtb3ZlQnlSZW1vdmVBbGxTdHVkaWVzKCkpKS5sZW5ndGgscj1wLnQobnVsbCx7cGx1cmFsOiJ7YW1vdW50fSBkcmF3aW5ncyIsY291bnQ6cyxyZXBsYWNlOnthbW91bnQ6cy50b1N0cmluZygpfX0saSg0MDY0ODUpKSxvPXAudChudWxsLHtwbHVyYWw6InthbW91bnR9IGluZGljYXRvcnMiLGNvdW50Om4scmVwbGFjZTp7YW1vdW50Om4udG9TdHJpbmcoKX19LGkoMTQxNjYyKSk7cmV0dXJue2RyYXdpbmdzOntsYWJlbDpwLnQobnVsbCx7cmVwbGFjZTp7ZHJhd2luZ3M6cn19LGkoMTQ1Mzk2KSksZGlzYWJsZWQ6MD09PXN9LHN0dWRpZXM6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntpbmRpY2F0b3JzOm99fSxpKDEyODEzMykpLGRpc2FibGVkOjA9PT1ufSxhbGw6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntkcmF3aW5nczpyLGluZGljYXRvcnM6b319LGkoNjgzMjA4KSksZGlzYWJsZWQ6MD09PXMmJjA9PT1ufX19dmFyIFNtPWkoNzgzMjU0KSx2bT1pKDg2MjU3Mik7ZnVuY3Rpb24geW0oZSl7Y29uc3QgdD1lLm9wdGlvbnMoKSxzPXtsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykoU20udChudWxsLHZvaWQgMCxpKDU5Nzc3MCkpKSxzdGF0TmFtZToiQ2hhbmdlSW50ZXJ2YWwiLG9uRXhlY3V0ZTooKT0+KDAsdm0uc2hvd0NoYW5nZUludGVydmFsRGlhbG9nQXN5bmMpKHtpbml0VmFsOmpyLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxzZWxlY3RPbkluaXQ6ITB9KX07cmV0dXJuISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyIpfHx0LnJlYWRPbmx5fHx0LmhpZGVTeW1ib2xTZWFyY2h8fChzLnNob3J0Y3V0SGludD0iLCIscy5ob3RrZXlHcm91cD1lLmhvdGtleXMoKSxzLmhvdGtleUhhc2g9MTg4KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93Q2hhbmdlSW50ZXJ2YWwiLG9wdGlvbnM6c30pfWNsYXNzIGJtIGV4dGVuZHMgZXMuQWN0aW9ue2NvbnN0cnVjdG9yKGUsdD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpKXtzdXBlcih7Li4uZSxvcHRpb25zOnsuLi5lLm9wdGlvbnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e3RoaXMuX3d2LnNldFZhbHVlKCF0aGlzLl93di52YWx1ZSgpKX19fSksdGhpcy5fdXBkYXRlQ2hlY2tlZD1lPT57dGhpcy51cGRhdGUoe2NoZWNrZWQ6ZX0pfSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSx0aGlzLl93dj10fWRlc3Ryb3koKXt0aGlzLl93di51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSxzdXBlci5kZXN0cm95KCl9fXZhciB3bT1pKDc0MTY5MCkKO2NvbnN0IENtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjYWxlIHByaWNlIGNoYXJ0IG9ubHkiLHAudChudWxsLHZvaWQgMCxpKDIzMTgzMSkpKSxQbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzdGF5IGluIGRyYXdpbmcgbW9kZSIscC50KG51bGwsdm9pZCAwLGkoNDgyMTE4KSkpLFRtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUgbWFya3Mgb24gYmFycyIscC50KG51bGwsdm9pZCAwLGkoNDc3NjY1KSkpLHhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFzdCB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgyMjU5MDApKSksTW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1OTQyMDkpKSksSW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZXZpb3VzIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODg2OTExKSkpLExtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE1NjEwOCkpKSxBbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyB2YWx1ZSBsYWJlbHMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNjI0MzYwKSkpLGttPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBpbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIG5hbWUgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM4NjMzNSkpKSxEbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE0MTU1MykpKSxFbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGluZXMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk2MDQ5KSkpLFJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTc2NzAxKSkpLFZtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODQ0OTg0KSkpLEJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNzY3NDUpKSksTm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM5NDI4MikpKSxPbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxhYmVscyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1Njk4NykpKSxXbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxpbmVzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE4NDY2NikpKSxGbT0obmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTE2NDYpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg0MDUzNTIpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGNvdW50ZG93biB0byBiYXIgY2xvc2UgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk5MjU0KSkpKSxIbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgcGx1cyBidXR0b24gdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNzM5MDg3KSkpLHptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzZXNzaW9uIGJyZWFrcyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNDYyMDIpKSksVW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzIyOTEyKSkpLEdtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB0aW1lem9uZSIscC50KG51bGwsdm9pZCAwLGkoMTMxNDA4KSkpO2Z1bmN0aW9uIGptKGUpe2NvbnN0IHQ9ZS5ob3RrZXlzKCkscz1lLm1vZGVsKCksbj1lLm9wdGlvbnMoKSxyPWUucHJvcGVydGllcygpLG89bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUludmVydFByaWNlU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDE1OTI1KSksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy5pbnZlcnRQcmljZVNjYWxlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3M319KSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXJpZXMuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYzMzc1MikpLGNoZWNrYWJsZTohMCxvbkV4ZWN1dGU6ZT0+e2NvbnN0IHQ9cy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO3MudG9nZ2xlUHJpY2VTY2FsZUF1dG9TY2FsZU1vZGUodCksZS51cGRhdGUoe2NoZWNrZWQ6dC5pc0F1dG9TY2FsZSgpfSl9fX0pLGw9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNjYWxlcy5Ub2dnbGVMb2NrUHJpY2VUb0JhclJhdGlvIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg0MTE3NjgpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZUxvY2tTY2FsZSIsCm9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9ja1NjYWxlTW9kZShzLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkpfX0pLGM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZVJlZ3VsYXIiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg3NDkxNzkpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVJlZ3VsYXJTY2FsZSIsb25FeGVjdXRlOmU9Pntjb25zdCB0PXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtzLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHQpLGUudXBkYXRlKHtjaGVja2VkOnQuaXNSZWd1bGFyKCl9KX19fSksZD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTU1ODMzKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVQZXJjYW50YWdlIixvbkV4ZWN1dGU6KCk9PnMudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUocy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzgwfX0pLHU9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUluZGV4ZWRUbzEwMCIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTUyMDU0KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVJbmRleGVkVG8xMDAiLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9fSksXz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDUwMzU1OCkpLHN0YXROYW1lOiJUb2dnbGVMb2dTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9nU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3Nn19KSxtPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DaGFuZ2VUaW1lWm9uZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjI0MTk4KSksc3RhdE5hbWU6IlRpbWVab25lIixvbkRlc3Ryb3k6KCk9PmUucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnVuc3Vic2NyaWJlQWxsKG0pfX0pLGc9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUsZj0oKT0+e2NvbnN0IHQ9W10saT1qdC5hdmFpbGFibGVUaW1lem9uZXMscz1lPT5lLmlkPT09Zy52YWx1ZSgpO2kuZm9yRWFjaCgoaT0+e2NvbnN0IG49bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkNoYW5nZVRpbWVab25lIixvcHRpb25zOntsYWJlbDppLnRpdGxlLGNoZWNrYWJsZTohMCxjaGVja2VkOnMoaSksc3RhdE5hbWU6IlNldFRpbWVab25lIixvbkV4ZWN1dGU6KCk9PntlLm1vZGVsKCkuc2V0UHJvcGVydHkoZyxpLmlkLEdtKX19fSk7dC5wdXNoKG4pfSkpLG0udXBkYXRlKHtzdWJJdGVtczp0fSl9O2YoKSxnLnN1YnNjcmliZShtLGYpO2NvbnN0IFM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5UaW1lU2NhbGUuUmVzZXQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkwNjQzNikpLGljb25JZDoiQ2hhcnQuUmVzZXQiLHN0YXROYW1lOiJSZXNldFNjYWxlIixvbkV4ZWN1dGU6KCk9PnMucmVzZXRUaW1lU2NhbGUoKSxob3RrZXlHcm91cDplLmhvdGtleXMoKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCtLLk1vZGlmaWVycy5BbHQrODF9fSksdj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93SW5zZXJ0SW5kaWNhdG9ycyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDcyNDkwOSkpKSxzdGF0TmFtZToiSW5zZXJ0SW5kaWNhdG9yIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0luZGljYXRvcnMoKSwuLi5uLmluZGljYXRvcnNEaWFsb2dTaG9ydGN1dEVuYWJsZWQ/e2hvdGtleUdyb3VwOnQsaG90a2V5SGFzaDoxOTF9OnZvaWQgMH19KSx5PW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDb21wYXJlT3JBZGRTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg5MjI0NCkpKSxzdGF0TmFtZToiQ29tcGFyZU9yQWRkU3ltYm9sIixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlQ29tcGFyZU9yQWRkKCl9fSksYj1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiQ2hhcnRQcm9wZXJ0aWVzIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoKX19KSx3PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93R2VuZXJhbFNldHRpbmdzLlN5bWJvbFRhYiIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiTWFpblNlcmllc1Byb3BlcnRpZXMiLG9uRXhlY3V0ZTooKT0+ZS5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpfX0pLEM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHZW5lcmFsU2V0dGluZ3MuU2NhbGVzVGFiIixvcHRpb25zOntsYWJlbDooMCwKaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDMxNjAxOCkpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiU2NhbGVzUHJvcGVydGllcyIsb25FeGVjdXRlOigpPT5lLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKEp0LlRhYk5hbWVzLnNjYWxlcyl9fSksUD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VsZWN0ZWRPYmplY3QuVG9nZ2xlTG9ja2VkIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NTQzMTApKSxzdGF0TmFtZToiVG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl9fSkseD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LkhpZGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc2OTM5MSkpLGljb25JZDoiQ2hhcnQuSGlkZSIsc3RhdE5hbWU6IkhpZGVTZWxlY3RlZE9iamVjdCIsb25FeGVjdXRlOigpPT5lLmhpZGVTZWxlY3RlZE9iamVjdCgpfX0pLE09bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGVTZXJpZXNPbmx5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NjIxNDUpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlNjYWxlUHJpY2VDaGFydE9ubHkifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHksdW5kb01vZGVsOnMsdW5kb1RleHQ6Q219KSxJPW5ldyBibSh7YWN0aW9uSWQ6IkNoYXJ0LkRyYXdpbmdUb29sYmFyLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYyMzcxNikpLHN0YXROYW1lOiJUb2dnbGVEcmF3aW5nVG9vbGJhciJ9fSxuLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlKSxMPW5ldyBpcyh7YWN0aW9uSWQ6IiIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoODc2NjU5KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVTdGF5SW5EcmF3aW5nTW9kZSJ9fSx7cHJvcGVydHk6VC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6UG19KSxBPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0Lk1hcmtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDEzOTM1NSkpLGNoZWNrYWJsZTohMCxzdGF0TmFtZToiVG9nZ2xlSGlkZU1hcmtzT25CYXJzIn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOmU9PlQuaGlkZU1hcmtzT25CYXJzKCkuc2V0VmFsdWUoZS5pc0NoZWNrZWQoKSl9KSxEPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVNlcmllc0xhc3RWYWx1ZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDk1NzE5OSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xMYXN0VmFsdWUifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzTGFzdFZhbHVlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnhtfSksRT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVTeW1ib2xOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzcwNDM3KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbExhYmVscyJ9fSx7cHJvcGVydHk6ci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMsdW5kb01vZGVsOnMsdW5kb1RleHQ6TG19KSxSPSgwLHdtLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5TGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSksVj1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVJbmRpY2F0b3JzVmFsdWVMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNDI0NjMpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlU3R1ZGllc0FuZEZ1bmRhbWVudGFsc1ByaWNlTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntSLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Uix1bmRvTW9kZWw6cyx1bmRvVGV4dDpudWxsLGNhbGxiYWNrOigpPT57Y29uc3QgZT0hUi52YWx1ZSgpO3MuYmVnaW5VbmRvTWFjcm8oQW0pLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeUxhc3RWYWx1ZSxlLG51bGwpLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZSxlLG51bGwpLHMuZW5kVW5kb01hY3JvKCl9fSksQj0oMCx3bS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZXx8dCksci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeVBsb3RMYWJlbHMud2Vha1JlZmVyZW5jZSgpLHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93RnVuZGFtZW50YWxOYW1lTGFiZWwud2Vha1JlZmVyZW5jZSgpKSxOPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUluZGljYXRvcnNOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMzk0NDc4KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN0dWRpZXNBbmRGdW5kYW1lbnRhbHNOYW1lTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntCLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Qix1bmRvTW9kZWw6cywKdW5kb1RleHQ6bnVsbCxjYWxsYmFjazooKT0+e2NvbnN0IGU9IUIudmFsdWUoKTtzLmJlZ2luVW5kb01hY3JvKGttKSxzLnNldFByb3BlcnR5KHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlQbG90TGFiZWxzLGUsbnVsbCkscy5zZXRQcm9wZXJ0eShyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsLGUsbnVsbCkscy5lbmRVbmRvTWFjcm8oKX19KSxPPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5oaWdoTG93QXZnUHJpY2UuY2hpbGRzKCksVz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVIaWdoTG93UHJpY2VMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4MjM0MzApKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlSGlnaExvd1ByaWNlTGFiZWxzIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxhYmVsc1Zpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6T219KSxGPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUhpZ2hMb3dMaW5lc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDI1NjIyMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVIaWdoTG93UHJpY2VMaW5lIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxpbmVzVmlzaWJsZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpXbX0pLEg9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVDb3VudGRvd25Ub0JhckNsb3NlVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjcxNjYxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUNvdW50ZG93biJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb3VudGRvd24sdW5kb01vZGVsOnMsdW5kb1RleHQ6Rm19KSx6PW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQWRkT3JkZXJQbHVzQnV0dG9uVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjg4OTE1KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksc3RhdE5hbWU6IlRvZ2dsZUFkZE9yZGVyUGx1c0J1dHRvbiJ9fSx7cHJvcGVydHk6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkhtfSksVT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd1N5bWJvbEluZm8iLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKSgoMCxZXy5pc01vYmlsZSkoKT9wLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5NjA5NjgpKTpwLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5ODY0NjgpKSksaWNvbklkOiJDaGFydC5TeW1ib2xJbmZvIixjaGVja2FibGU6ITEsc3RhdE5hbWU6IlN5bWJvbEluZm8iLG9uRXhlY3V0ZTooKT0+e2lmKCgwLFlfLmlzTW9iaWxlKSgpKSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3IikmJm4ub25EZXRhaWxzV2Vidmlld09wZW4/bi5vbkRldGFpbHNXZWJ2aWV3T3BlbigpOigwLEtfLnNob3dEZXRhaWxzRGlhbG9nKSgpLCgwLE10LnRyYWNrRXZlbnQpKCJDb250ZXh0TWVudUNsaWNrIiwiTW9iaWxlIiwiU3ltYm9sSW5mbyIpO2Vsc2V7Y29uc3QgdD1lLm1vZGVsKCkubW9kZWwoKSxpPXQubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihpKXtjb25zdCBlPXQuYXZhaWxhYmxlVW5pdHMoKS52YWx1ZSgpLHM9dC51bml0Q29udmVyc2lvbkVuYWJsZWQoKTsoMCxtbS5zaG93U3ltYm9sSW5mb0RpYWxvZykoe3N5bWJvbEluZm86aSxzaG93VW5pdDpzLHVuaXREZXNjcmlwdGlvbjp0PT50JiZlP2UuZGVzY3JpcHRpb24odCk6IiIsZGF0ZUZvcm1hdHRlcjp0LmRhdGVGb3JtYXR0ZXIoKX0pfX19fX0pLEc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTWVyZ2VBbGxTY2FsZXNUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDg3Mjk4MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvTGVmdCIsb25FeGVjdXRlOigpPT5zLm1lcmdlQWxsU2NhbGVzKCJsZWZ0Iil9fSksaj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM2MzM3MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSwkPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLk1vdmVUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDcwNTAxNikpLHN0YXROYW1lOiJNb3ZlU2NhbGVUb0xlZnQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygibGVmdCIpfX0pLFk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTW92ZVRvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkxODc5KSksc3RhdE5hbWU6Ik1vdmVTY2FsZVRvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSxYPW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuU2NhbGVzLlJlc2V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyMDc4NDUpKSxpY29uSWQ6IkNoYXJ0LlJlc2V0IixzdGF0TmFtZToiUmVzZXRDaGFydCIsb25FeGVjdXRlOigpPT5lLkdVSVJlc2V0U2NhbGVzKCksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4Mn0KfSksWj1lLm1vZGVsKCkubW9kZWwoKS5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLnZlcnRsaW5lcy5jaGlsZHMoKS5zZXNzQnJlYWtzLmNoaWxkcygpLnZpc2libGUsUT0oMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkoZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pc0RXTVByb3BlcnR5KCkpLGVlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXNzaW9uQnJlYWtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5MjQ5NikpLGNoZWNrYWJsZTohMCxjaGVja2VkOloudmFsdWUoKSxzdGF0TmFtZToiVG9nZ2xlU2Vzc2lvbkJyZWFrcyIsZGlzYWJsZWQ6US52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e1omJnMuc2V0UHJvcGVydHkoWiwhWi52YWx1ZSgpLHptKX0sb25EZXN0cm95OigpPT5RLmRlc3Ryb3koKX19KTtRLnN1YnNjcmliZSgoKCk9PmVlLnVwZGF0ZSh7ZGlzYWJsZWQ6US52YWx1ZSgpfSkpKTtjb25zdCB0ZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODAyMjIpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVByaWNlTGluZSJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUsdW5kb01vZGVsOnMsdW5kb1RleHQ6VW19KSxpZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVW5kbyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzQxMzMpKSxvbkV4ZWN1dGU6KCk9PnsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLHMudW5kb0hpc3RvcnkoKS51bmRvKCl9LG9uRGVzdHJveTooKT0+e2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwoaWUpfSxkaXNhYmxlZDohMCxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kKzkwLGlzUmVwZWF0QWNjZXB0ZWQ6ITB9fSk7ZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCkub25DaGFuZ2UoKS5zdWJzY3JpYmUoaWUsKCgpPT5pZS51cGRhdGUoe2Rpc2FibGVkOmUubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLmlzRW1wdHkoKX0pKSk7Y29uc3Qgc2U9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlZG8iLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5ODMwNykpLG9uRXhlY3V0ZTooKT0+eygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJSZWRvIiksZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkucmVkbygpfSxvbkRlc3Ryb3k6KCk9PntlLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5vbkNoYW5nZSgpLnVuc3Vic2NyaWJlQWxsKHNlKX0sZGlzYWJsZWQ6ITAsaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCs4OSxpc1JlcGVhdEFjY2VwdGVkOiEwfX0pO2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHNlLCgoKT0+c2UudXBkYXRlKHtkaXNhYmxlZDplLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5pc0VtcHR5KCl9KSkpO2NvbnN0IG5lPXtpbnZlcnRTZXJpZXNTY2FsZTpvLGF1dG9TZXJpZXNTY2FsZTphLGxvY2tTZXJpZXNTY2FsZTpsLHJlZ3VsYXJTZXJpZXNTY2FsZTpjLHBlcmNlbnRTZXJpZXNTY2FsZTpkLGluZGV4ZWRUbzEwMFNlcmllc1NjYWxlOnUsbG9nU2VyaWVzU2NhbGU6XyxhcHBseVRpbWVab25lOm0sc3ltYm9sU2VhcmNoOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDaGFuZ2VTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg2OTI3NjcpKSksc3RhdE5hbWU6IkNoYW5nZVN5bWJvbCIsb25FeGVjdXRlOigpPT57KDAsRXQuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZToiIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfX19KSxjaGFuZ2VJbnRlcnZhbDp5bShlKSx0aW1lU2NhbGVSZXNldDpTLGluc2VydEluZGljYXRvcjp2LGNvbXBhcmVPckFkZDp5LGNoYXJ0UHJvcGVydGllczpiLG1haW5TZXJpZXNQcm9wZXJ0aWVzQWN0aW9uOncsc2NhbGVzUHJvcGVydGllczpDLGxpbmVUb2dnbGVMb2NrOlAsc2VyaWVzSGlkZTp4LHN0dWR5SGlkZTp4LGxpbmVIaWRlOngsc2NhbGVTZXJpZXNPbmx5Ok0sZHJhd2luZ1Rvb2xiYXJBY3Rpb246SSxzdGF5SW5EcmF3aW5nTW9kZUFjdGlvbjpMLGhpZGVBbGxNYXJrczpBLHNob3dTZXJpZXNMYXN0VmFsdWU6RCxzaG93U3ltYm9sTGFiZWxzQWN0aW9uOkUsc2hvd1N0dWR5TGFzdFZhbHVlOlYsc2hvd1N0dWR5UGxvdE5hbWVzQWN0aW9uOk4sc2hvd0hpZ2hMb3dQcmljZUxhYmVsczpXLHNob3dIaWdoTG93UHJpY2VMaW5lczpGLHNob3dDb3VudGRvd246SCxhZGRQbHVzQnV0dG9uOnosc2hvd1N5bWJvbEluZm9EaWFsb2c6VSxtZXJnZUxlZnRTY2FsZXNBY3Rpb246RyxtZXJnZVJpZ2h0U2NhbGVzQWN0aW9uOmosbW92ZVNjYWxlVG9MZWZ0OiQsbW92ZVNjYWxlVG9SaWdodDpZLGNoYXJ0UmVzZXQ6WCxzZXNzaW9uQnJlYWtzOmVlLHNob3dQcmljZUxpbmU6dGUsdW5kbzppZSxyZWRvOnNlfTtpZihuLmdvVG9EYXRlRW5hYmxlZCYmKG5lLmdvdG9EYXRlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHb1RvRGF0ZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc0NTk5OCkpKSwKc3RhdE5hbWU6IkdvVG9EYXRlIixvbkV4ZWN1dGU6KCk9PigwLGdtLnNob3dHb1RvRGF0ZURpYWxvZykoZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzcxfX0pKSwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X29iamVjdF90cmVlIikpe2NvbnN0IHQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSxzPXt9O2xldCBuO3tjb25zdCBlPSgpPT57d2luZG93LndpZGdldGJhciYmKG49ZT0+dC5zZXRWYWx1ZShlKSx3aW5kb3cud2lkZ2V0YmFyLnZpc2libGUoKS5zdWJzY3JpYmUobix7Y2FsbFdpdGhMYXN0OiEwfSkpfTt3aW5kb3cud2lkZ2V0YmFyP2UoKTp3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy5zdWJzY3JpYmUocywodD0+e3QmJmUoKX0pLCEwKX1jb25zdCByPSgpPT57Y29uc3QgZT1wLnQobnVsbCx7Y29udGV4dDoiQWN0aW9uIGxhYmVsIn0saSg2NDY4NDgpKTtyZXR1cm4gdC52YWx1ZSgpP2U6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKGUpfTtuZS5wYW5lT2JqZWN0VHJlZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuT2JqZWN0VHJlZS5TaG93IixvcHRpb25zOntsYWJlbDpyKCksc3RhdE5hbWU6Ik9iamVjdHNUcmVlIixvbkV4ZWN1dGU6KCk9PmUuc2hvd09iamVjdHNUcmVlUGFuZWxPckRpYWxvZygpLG9uRGVzdHJveTooKT0+e3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZShuKSx3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy51bnN1YnNjcmliZUFsbChzKSx0LmRlc3Ryb3koKX19fSksdC5zdWJzY3JpYmUoKCgpPT57bmUucGFuZU9iamVjdFRyZWU/LnVwZGF0ZSh7bGFiZWw6cigpfSl9KSl9aWYoKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJvcGVydHlfcGFnZXMiKSYmKG5lLmZvcm1hdD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlNob3dTZXR0aW5nc0RpYWxvZyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiRWRpdFNlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUuc2hvd1NlbGVjdGVkU291cmNlc1Byb3BlcnRpZXMoKX19KSksIWUucmVhZE9ubHkoKSl7Y29uc3Qgcz1mdW5jdGlvbihlKXtjb25zdCB0PWZtKGUpLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5kcmF3aW5ncy5sYWJlbCxkaXNhYmxlZDp0LmRyYXdpbmdzLmRpc2FibGVkLHN0YXROYW1lOiJSZW1vdmVBbGxEcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKSxvbkRlc3Ryb3k6KCk9PmUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKGUpfX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbEluZGljYXRvcnMiLG9wdGlvbnM6e2xhYmVsOnQuc3R1ZGllcy5sYWJlbCxkaXNhYmxlZDp0LnN0dWRpZXMuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzKCl9fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUmVtb3ZlQWxsSW5kaWNhdG9yc0FuZExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5hbGwubGFiZWwsZGlzYWJsZWQ6dC5hbGwuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnNBbmREcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzKCl9fSk7cmV0dXJuIGUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZShlLCgoKT0+e2NvbnN0e3N0dWRpZXM6dCxkcmF3aW5nczpyLGFsbDpvfT1mbShlKTtzLnVwZGF0ZSh7ZGlzYWJsZWQ6dC5kaXNhYmxlZCxsYWJlbDp0LmxhYmVsfSksaS51cGRhdGUoe2Rpc2FibGVkOnIuZGlzYWJsZWQsbGFiZWw6ci5sYWJlbH0pLG4udXBkYXRlKHtkaXNhYmxlZDpvLmRpc2FibGVkLGxhYmVsOm8ubGFiZWx9KX0pKSx7ZHJhd2luZ3M6aSxzdHVkaWVzOnMsYWxsOm59fShlKTtuZS5wYW5lUmVtb3ZlQWxsU3R1ZGllcz1zLnN0dWRpZXMsbmUucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scz1zLmRyYXdpbmdzLG5lLnBhbmVSZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzPXMuYWxsLG5lLmFwcGx5U3R1ZGllc1RvQWxsQ2hhcnRzPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5BcHBseUluZGljYXRvcnNUb0FsbENoYXJ0cyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTI0MTc2KSksc3RhdE5hbWU6IkFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzIixvbkV4ZWN1dGU6KCk9PmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHMoZSl9fSksbmUuc3R1ZHlSZW1vdmU9bmUubGluZVJlbW92ZT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlJlbW92ZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxpY29uSWQ6IkNoYXJ0LlJlbW92ZVNlbGVjdGVkT2JqZWN0IixzdGF0TmFtZToiUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLG9uRXhlY3V0ZTooKT0+eyhlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk/P2UpLnJlbW92ZVNlbGVjdGVkU291cmNlcygpfSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5pc01hY0tleWJvYXJkPzg6NDZ9fSl9aWYoISgwLEoub25XaWRnZXQpKCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInRleHRfbm90ZXMiKSYmKG5lLmFkZFRvVGV4dE5vdGVzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zeW1ib2xXVigpLnNwYXduKCkscz1uZXcgZXMuQWN0aW9uKHsKYWN0aW9uSWQ6Ik5vdGUuQ3JlYXRlIixvcHRpb25zOntpY29uSWQ6IlRleHROb3RlLkFkZCIsaWNvbjpKXy5pY29ucy5nZXQoIlRleHROb3RlLkFkZCIpLGxhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMDIyNCkpLHN0YXROYW1lOiJBZGRUb1RleHROb3RlcyIsb25FeGVjdXRlOigpPT57d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e3dpbmRvdy53aWRnZXRiYXI/LnNldFBhZ2UoImJhc2UiKSwoMCxYXy5jcmVhdGVTeW1ib2xOb3RlKShlLnN5bWJvbFdWKCkudmFsdWUoKSwoMCxZXy5pc01vYmlsZSkoKSl9KSx7c291cmNlOiJBZGQgdGV4dCBub3RlIGluIGNoYXJ0IGNvbnRleHQgbWVudSJ9KX0saG90a2V5SGFzaDpLLk1vZGlmaWVycy5BbHQrNzgsaG90a2V5R3JvdXA6ZS5ob3RrZXlzKCksb25EZXN0cm95OigpPT50LmRlc3Ryb3koKX19KTtyZXR1cm4gdC5zdWJzY3JpYmUoKHQ9Pntjb25zdCBuPWUubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LnByb19uYW1lLHI9ZS5tb2RlbCgpLm1vZGVsKCkuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKG4/P3QpLG89KDAsWl8uc2FmZVNob3J0TmFtZSkodCk7cy51cGRhdGUoe2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM0MzMzMSkpLmZvcm1hdCh7c3ltYm9sOnI/LmFsaWFzTmFtZT8/b30pfSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksc30oZSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYoISgwLEouaXNEZXNrdG9wQXBwKSgpfHwoMCwkXy5kZXNrdG9wVmVyc2lvbklzTGVzcykoIjEuMC4xMCIpfHwoMCxKLmlzRGVza3RvcEFwcCkoKSYmISgwLCRfLmRlc2t0b3BWZXJzaW9uSXNMZXNzKSgiMS4wLjExIikpKXtjb25zdCB0PW5lLmFwcGx5Q29sb3JUaGVtZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVGhlbWUuQXBwbHkiLG9wdGlvbnM6e25hbWU6ImFwcGx5LWNvbG9yLXRoZW1lIixsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNTQ2NzYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkxvYWRpbmciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM3MjczMikpfX0pXSxzdGF0TmFtZToiQ29sb3JUaGVtZSIsb25EZXN0cm95OigpPT57d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmVBbGwodCksay50aGVtZUxpc3RDaGFuZ2VkLnVuc3Vic2NyaWJlQWxsKHQpfX0sb3B0aW9uc0xvYWRlcjooKT0+dW0oZSl9KSxzPSgpPT5wbShlLG5lLmFwcGx5Q29sb3JUaGVtZSk7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHQscyksay50aGVtZUxpc3RDaGFuZ2VkLnN1YnNjcmliZSh0LHMpfSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfc291cmNlX2NvZGUiKSYmKG5lLnZpZXdTb3VyY2VDb2RlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5JbmRpY2F0b3IuUGluZVNvdXJjZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc5MzQwMikpKSxzdGF0TmFtZToiT3BlblNlbGVjdGVkT2JqZWN0U291cmNlIixvbkV4ZWN1dGU6KCk9Pntjb25zdFtlXT1zLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoISgwLHRpLmlzU3R1ZHkpKGUpKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8oKTt0JiZ0LnNjcmlwdElkUGFydCYmdC5waW5lJiYoMCxfbS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZS52ZXJzaW9ufX0sb3BlblNvdXJjZUlkOiJzdHVkeV9tZW51In0pLmNhdGNoKGVtLnNob3dTY3JpcHRJbmZvRXJyb3JOb3RpY2VEaWFsb2cpfX19KSksbmUuaGlkZUFsbExpbmVUb29scz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5Ub2dnbGVWaXNpYmlsaXR5LkFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTg4MjYwKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVIaWRlTWFya3NPbkJhcnMiLGhvdGtleUdyb3VwOmUuaG90a2V5cygpLGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs3Mn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOigpPT4oMCxSdC50b2dnbGVIaWRlTW9kZSkoKX0pLG5lLm9wZW5UYWJsZVZpZXc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk9wZW5UYWJsZVZpZXciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzODMzNikpLHN0YXROYW1lOiJUYWJsZSB2aWV3IixvbkV4ZWN1dGU6YXN5bmMoKT0+e2NvbnN0e3Nob3dDaGFydFRhYmxlVmlld0RpYWxvZzp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIwMzM3KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMjc1MTcpLGkuZSg5ODA4NCksaS5lKDcwODE1KSxpLmUoNTAyMjEpLGkuZSgzMzUxNSksaS5lKDE0NjI1KSxpLmUoOTM0MTYpLGkuZSg2NTcpLGkuZSg2MDcwKSxpLmUoNzY2NSksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNzQ2MzYpLGkuZSg3MTk5MSksaS5lKDQ5OTk3KSxpLmUoMzIzODcpLGkuZSgyMzc0MyksaS5lKDY2MjM1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDQ2NjUwKV0pLnRoZW4oaS5iaW5kKGksNzI1OTE4KSk7dCh7d2lkZ2V0OmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYWN0aXZlQ2hhcnRXaWRnZXR9KX19fSk7Y29uc3QgcmU9KDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iKSxvZT1zLm1haW5TZXJpZXMoKTt7Y29uc3QgZT1uZS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw9bmV3IGlzKHsKYWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVByZVBvc3RNYXJrZXRMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NTgyNjIpKTpwLnQobnVsbCx2b2lkIDAsaSg1NjUxNjEpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxkaXNhYmxlZDohKG9lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKXx8b2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnZhbHVlKCkpLHN0YXROYW1lOiJUb2dnbGVQcmVQb3N0TWFya2V0UHJpY2VMYWJlbCIsb25EZXN0cm95OigpPT57b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbChlKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSl9fX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwsdW5kb01vZGVsOnMsdW5kb1RleHQ6cmU/Vm06Um19KTtvZS5pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkuc3Vic2NyaWJlKGUsKHQ9PntlLnVwZGF0ZSh7ZGlzYWJsZWQ6IXQudmFsdWUoKX0pfSkpfXtjb25zdCBlPW5lLnNob3dQcmVQb3N0TWFya2V0UHJpY2VMaW5lPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NjY4NTUpKTpwLnQobnVsbCx2b2lkIDAsaSg0MjExMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLGRpc2FibGVkOiEob2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS52YWx1ZSgpfHxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKSksc3RhdE5hbWU6IlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmUiLG9uRGVzdHJveTooKT0+e29lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKGUpfX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnJlP05tOkJtfSk7b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS5zdWJzY3JpYmUoZSwodD0+e2UudXBkYXRlKHtkaXNhYmxlZDohdC52YWx1ZSgpfSl9KSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKX17Y29uc3Qgbz1uZS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWU9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlU3ltYm9sUHJldkNsb3NlVmFsdWVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODIxNSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xQcmV2Q2xvc2VWYWx1ZSIsb25EZXN0cm95OigpPT5zLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKG8pfX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWUsdW5kb01vZGVsOnMsdW5kb1RleHQ6TW19KTtzLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnN1YnNjcmliZShvLCgoKT0+e28udXBkYXRlKHtkaXNhYmxlZDpzLm1haW5TZXJpZXMoKS5pc0RXTSgpfSl9KSk7Y29uc3QgYT1uZS5zaG93U2VyaWVzUHJldkNsb3NlTGluZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmV2Q2xvc2VMaW5lVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzk0MzMxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbFByZXZDbG9zZUxpbmUiLG9uRGVzdHJveTooKT0+cy5tYWluU2VyaWVzKCkub25SZXN0YXJ0ZWQoKS51bnN1YnNjcmliZUFsbChhKX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByZXZDbG9zZVByaWNlTGluZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpJbX0pO3MubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKGEsKCgpPT57YS51cGRhdGUoe2Rpc2FibGVkOnMubWFpblNlcmllcygpLmlzRFdNKCl9KX0pKSxuZS5zaG93QmlkQXNrTGFiZWxzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUJpZEFza0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMTUwNCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVCaWRBc2tMYWJlbHMifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93QmlkQXNrTGFiZWxzLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkRtfSksbmUuc2hvd0JpZEFza0xpbmVzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUJpZEFza0xpbmVzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTE5Mzc2KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUJpZEFza0xpbmVzIn19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmlkQXNrLmNoaWxkcygpLnZpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6RW19KQo7Y29uc3QgbD1lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0Q2FuQmVNb3ZlZCgpLnNwYXduKCksYz1uZS5tb3ZlQ2hhcnRBY3Rpb249bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyODgzOTYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0LkZvcndhcmQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDU5NTgzOCkpLHN0YXROYW1lOiJNb3ZlQ2hhcnRSaWdodCIsb25FeGVjdXRlOigpPT5lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLm1vdmVBY3RpdmVDaGFydFdpdGhVbmRvKCExKX19KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTW92ZUNoYXJ0SW5MYXlvdXQuQmFjayIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNTAwMTQ3KSksc3RhdE5hbWU6Ik1vdmVDaGFydExlZnQiLG9uRXhlY3V0ZTooKT0+ZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5tb3ZlQWN0aXZlQ2hhcnRXaXRoVW5kbyghMCl9fSldLG9uRGVzdHJveTooKT0+bC5kZXN0cm95KCl9fSk7aWYobC5zdWJzY3JpYmUoKGU9PmMudXBkYXRlKHtkaXNhYmxlZDohZX0pKSx7Y2FsbFdpdGhMYXN0OiEwfSksbi5hZGRUb1dhdGNobGlzdEVuYWJsZWQpe2NvbnN0IGk9e2hvdGtleUdyb3VwOnQsc3RhdE5hbWU6IkFkZFRvV2F0Y2hsaXN0In07bmUuYWRkVG9XYXRjaGxpc3Q9bmV3IGxtKGUsaSksdC5hZGQoe2Rlc2M6IkFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0Iixob3RrZXk6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs4NyxoYW5kbGVyOigpPT4oMCxRXy5zaG93QWRkU3ltYm9sRGlhbG9nKShbdG0oZSldKX0pfX1yZXR1cm4gbmV9dmFyIHFtPWkoMzIyNjAxKSwkbT1pKDc0OTQwMik7aSgyODI3MTApO2NvbnN0IFltPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnRXaWRnZXQiLHtjb2xvcjoiIzYwNiJ9KSxLbT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyIpLFhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUge3RpdGxlfSIscC50KG51bGwsdm9pZCAwLGkoNTg5ODE1KSkpLFptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg3NzA2MzkpKSksSm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg2MjA5MjcpKSksUW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKTtsZXQgZWc9bnVsbDtpZihsb2NhdGlvbi5zZWFyY2gudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygibG9nY2FudmFzc2F2ZXJlc3RvcmVsZWFrcyIpKXtpZighSi5pc0Nocm9tZSl0aHJvdyBuZXcgRXJyb3IoIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBzYXZlL3Jlc3RvcmUgbGVhayBkZXRlY3Rpb24gaXMgYXZhaWxhYmxlIGZvciBub3cgaW4gQ2hyb21lIG9ubHkiKTtpLmUoMTYxMjYpLnRoZW4oaS5iaW5kKGksNDI4OTEyKSkudGhlbigoZT0+e2UuZW5hYmxlQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc0RldGVjdGlvbigpLGVnPWUucmVwb3J0Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc30pKX1jb25zdCB0Zz17YWRkVG9XYXRjaGxpc3RFbmFibGVkOiEwLHNob3dGaW5hbmNpYWxzRW5hYmxlZDohMSxzb3VyY2VTZWxlY3Rpb25FbmFibGVkOiEwLHByb3BlcnR5UGFnZXNFbmFibGVkOiEwLHBhbmVDb250ZXh0TWVudUVuYWJsZWQ6ITAscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxnb1RvRGF0ZUVuYWJsZWQ6ITEsbWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZDohMCxjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOiEwLGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDohMCxwYW5lQ29udHJvbHNFbmFibGVkOiEwLGlzU3ltYm9sQXZhaWxhYmxlOmU9PlByb21pc2UucmVzb2x2ZSghMCksbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjaGFydEV2ZW50c0VuYWJsZWQ6ITAsbmV3c05vdGlmaWNhdGlvbnNFbmFibGVkOiEwLGVzZEVuYWJsZWQ6ITEsbGF0ZXN0VXBkYXRlc0VuYWJsZWQ6ITEsY29udGludW91c0NvbnRyYWN0U3dpdGNoZXNFbmFibGVkOiExLGZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkOiExLGNyb3BwZWRUaWNrTWFya3M6ITAsY291bnRkb3duRW5hYmxlZDohMCxsYXN0UHJpY2VBbmltYXRpb25FbmFibGVkOiEwLHVzZUtpbmV0aWNTY3JvbGw6Si5DaGVja01vYmlsZS5hbnkoKSxpbmRpY2F0b3JzRGlhbG9nU2hvcnRjdXRFbmFibGVkOiEwLGhhbmRsZVNjYWxlOnttb3VzZVdoZWVsOiEwLHBpbmNoOiEwLGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOiEwLHByaWNlOiEwfX0saGFuZGxlU2Nyb2xsOnttb3VzZVdoZWVsOiEwLHByZXNzZWRNb3VzZU1vdmU6ITAsaG9yelRvdWNoRHJhZzohMCx2ZXJ0VG91Y2hEcmFnOiEwfX0saWc9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMpO3ZhciBzZztmdW5jdGlvbiBuZyhlLHQsaSxzPTApe2NvbnN0IG49dC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCkscj1lLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtsZXQgbz1pO2lmKG51bGwhPT1uJiZudWxsIT09cil7Y29uc3QgdD1lLmNyZWF0ZVN5bmNQb2ludChuLnN5bmNTb3VyY2VUYXJnZXQoKSxyLnN5bmNTb3VyY2VUYXJnZXQoKSk7MCE9PXMmJihpPW4ucHJvamVjdFRpbWUoaSxzKSksbz10LnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoaSl9cmV0dXJuIGUudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hJbmRleChvLHImJnIuZGlzdGFuY2UuYmluZChyKSl9IWZ1bmN0aW9uKGUpewplW2UuU2hvd1RpbWVBeGlzTWluQ2hhcnRIZWlnaHQ9NjFdPSJTaG93VGltZUF4aXNNaW5DaGFydEhlaWdodCIsZVtlLlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoPTEwMl09IlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoIn0oc2d8fChzZz17fSkpO2NvbnN0IHJnPW5ldyBTZXQoWyJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIiwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiLCJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyIsIkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiLCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiLCJTcGxpdHNAdHYtYmFzaWNzdHVkaWVzIiwiQmFyU2V0Q29udGludW91c1JvbGxEYXRlc0B0di1jb3Jlc3R1ZGllcyIsIlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyIsIkluYWN0aXZpdHlHYXBzQHR2LWJhc2ljc3R1ZGllcyIsIlZiUFNlc3Npb25zUm91Z2hAdHYtdm9sdW1lYnlwcmljZSIsIkFuY2hvcmVkVldBUEB0di1iYXNpY3N0dWRpZXMiLCJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSIsIkxvbmdTaG9ydFBvc2l0aW9uQHR2LWJhc2ljc3R1ZGllcyIsIlJlcGxheVN0cmF0ZWd5QHR2LXNjcmlwdGluZyJdKSxvZz0oMCxidC5kZWZhdWx0KSgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5zZXRJc05vbkNvdW50ZWRTdHVkeUZuKChlPT5yZy5oYXMoZSkpKX0pKTt2YXIgYWc7IWZ1bmN0aW9uKGUpe2UuQ2FuY2VsZWQ9ImNhbmNlbGVkIixlLkxpbWl0cz0ibGltaXRzIn0oYWd8fChhZz17fSkpO2NsYXNzIGxnIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoYENyZWF0ZVN0dWR5RXJyb3I6ICR7ZX1gKSx0aGlzLnJlYXNvbj1lfX1sZy5SZWFzb25zPWFnO2NsYXNzIGNne2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aXZlUGFuZVdpZGdldD1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fbWFpbkRpdj1udWxsLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuX2VsVG9vbHRpcERpdj1udWxsLHRoaXMuX3BhbmVXaWRnZXRzPW5ldyBoLldhdGNoZWRWYWx1ZShbXSksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lU2VwYXJhdG9ycz1bXSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXM9bnVsbCx0aGlzLl9tb2RlbENyZWF0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW5ldyBoLldhdGNoZWRWYWx1ZSgibGlnaHQiKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduPW51bGwsdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd249bnVsbCx0aGlzLl9saHNBeGVzV2lkdGg9MCx0aGlzLl9yaHNBeGVzV2lkdGg9MCx0aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2hvdGtleXNMaXN0ZW5lcj1udWxsLHRoaXMuX21vdXNlV2hlZWxIZWxwZXI9bnVsbCx0aGlzLl9vbldoZWVsQm91bmQ9bnVsbCx0aGlzLl9qdXN0QWN0aXZhdGVkPSExLHRoaXMuX2luaXRlZD0hMSx0aGlzLl9jb250YWluc0RhdGE9ITEsdGhpcy5faW5pdGlhbExvYWRpbmc9ITEsdGhpcy5fb25XaWRnZXQ9ITEsdGhpcy5fd2lkZ2V0Q3VzdG9tZXI9dm9pZCAwLHRoaXMuX2RlZkludGVydmFsPW51bGwsdGhpcy5fZGVmU3R5bGU9bnVsbCx0aGlzLl9kZWZUaW1lZnJhbWU9bnVsbCx0aGlzLl9kZWZNZXRyaWM9bnVsbCx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT1udWxsLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCx0aGlzLl9kcmF3UGxhbm5lZD0hMSx0aGlzLl9kcmF3UmFmSWQ9MCx0aGlzLl9kcmF3VGltZT1uZXcgaC5XYXRjaGVkVmFsdWUocGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX2luTG9hZGluZ1N0YXRlPSExLHRoaXMuX3RpbWluZ3NNZXRlcj1udWxsLHRoaXMuX3RhZ3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlZHJhdz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhV2luZG93V2lkZ2V0PW51bGwsdGhpcy5fcmVzaXplSGFuZGxlcj1udWxsLHRoaXMuX3NwaW5uZXI9bnVsbCx0aGlzLl9zeW1ib2xXVj1uZXcgaC5XYXRjaGVkVmFsdWUsdGhpcy5fcmVzb2x1dGlvbldWPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9hY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZD10aGlzLl91cGRhdGVUaGVtZWRDb2xvci5iaW5kKHRoaXMpLHRoaXMuX2Rpc2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZWNvbm5lY3RCYWlsb3V0PW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9jaGFydFdpZGdldEluaXRpYWxpemVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Fib3V0VG9CZURlc3Ryb3llZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9bnVsbCx0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPW51bGwsdGhpcy5fbm9FeGNoYW5nZVN1YnNjcnB0aW9uV2FybmluZz1udWxsLHRoaXMuX2hpcDNEaXNjbGFpbWVyUmVzb3VyY2U9bnVsbCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPW5ldyB3bix0aGlzLl9vblpvb209bmV3IGYuRGVsZWdhdGUsdGhpcy5fb25TY3JvbGw9bmV3IGYuRGVsZWdhdGUsCnRoaXMuX2F2YWlsYWJsZVNjcmVlbj1udWxsLHRoaXMuX3dpZGdldFN5bWJvbENoYW5nZVJlc3RyaWN0aW9ucz1udWxsLHRoaXMuX2hvdmVyZWRQcmljZUF4ZXM9bmV3IFNldCx0aGlzLl9hbnlBeGlzSG92ZXJlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hY3RpdmVIaW50PW51bGwsdGhpcy5fZXZlbnRIaW50RGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fd2FybmluZ0hpbnREZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXM9e30sdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2JhcnNCdXR0b249bnVsbCx0aGlzLl9tb2RlbFdWPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zPSgpPT57Y29uc3QgZT10aGlzLmFjdGlvbnMoKSx0PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksaT10LnByaWNlU2NhbGUoKSxzPXQucHJvcGVydGllcygpLG49aS5pc0xvY2tTY2FsZSgpLHI9Nj09PXMuY2hpbGRzKCkuc3R5bGUudmFsdWUoKTtlLnBlcmNlbnRTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUGVyY2VudGFnZSgpfSksZS5sb2dTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzTG9nKCl9KSxlLnJlZ3VsYXJTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUmVndWxhcigpfSksZS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzSW5kZXhlZFRvMTAwKCl9KSxlLmludmVydFNlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzSW52ZXJ0ZWQoKX0pLGUubG9ja1Nlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzTG9ja1NjYWxlKCl9KSxlLmF1dG9TZXJpZXNTY2FsZS51cGRhdGUoe2NoZWNrZWQ6aS5pc0F1dG9TY2FsZSgpLGRpc2FibGVkOmkucHJvcGVydGllcygpLmNoaWxkcygpLmF1dG9TY2FsZURpc2FibGVkLnZhbHVlKCl9KX0sdGhpcy5faW52YWxpZGF0aW9uSGFuZGxlcj1lPT57aWYoIShlIGluc3RhbmNlb2YgTGUuSW52YWxpZGF0aW9uTWFzaykpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1hc2siKTtudWxsIT09dGhpcy5faW52YWxpZGF0aW9uTWFzaz90aGlzLl9pbnZhbGlkYXRpb25NYXNrLm1lcmdlKGUpOnRoaXMuX2ludmFsaWRhdGlvbk1hc2s9ZSx0aGlzLl9kcmF3UGxhbm5lZHx8KHRoaXMuX2RyYXdQbGFubmVkPSEwLHRoaXMuX29wdGlvbnMudmlzaWJsZS53aGVuKCgoKT0+e2NvbnN0IGU9IWRvY3VtZW50LmhpZGRlbix0PXRoaXMuc2NyZWVuJiZ0aGlzLnNjcmVlbi5pc1Nob3duKCk7bnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmZSYmIXQmJnRoaXMuX3RpbWluZ3NNZXRlci5zdGFydFdhaXRpbmdEcmF3KCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50KS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KTt0aGlzLl9kcmF3UmFmSWQ9aS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5faW52YWxpZGF0aW9uUkFGQ2FsbGJhY2suYmluZCh0aGlzKSl9KSkpfSx0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZD1lPT57ZT90aGlzLl9vbkNvbm5lY3Rpb24oKTp0aGlzLl9vbkRpc2Nvbm5lY3QoKX0sdGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvPWU9PntlP3RoaXMuX3NwaW5uZXI/LnN0b3AoKTp0aGlzLl9zcGlubmVyPy5zcGluKCl9LHRoaXMuX2lkPXQsdGhpcy5fb3B0aW9ucz0oMCxhLm1lcmdlKSgoMCxhLmNsb25lKSh0ZyksZSksdGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPWUuZXh0ZXJuYWxTZXJ2aWNlcyx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249dGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24sdGhpcy5faXNBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCEhdGhpcy5fb3B0aW9ucy5pc0FjdGl2ZSksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVj10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyYmKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwPXRoaXMuX29wdGlvbnMuY3VzdG9tTGVnZW5kV2lkZ2V0RmFjdG9yaWVzKSx0aGlzLl9zdWJzY3JpYmVUb0RyYXdpbmdTdGF0ZSgpLHRoaXMud2l0aE1vZGVsKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmJhY2tncm91bmRUb3BDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKSxlLmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKX0pKTtjb25zdCBzPSgwLHUuY29tYmluZSkoKGU9PltlP2UubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKTpuZXcgaC5XYXRjaGVkVmFsdWUobnVsbCkub3duZXJzaGlwKCldKSx0aGlzLl9tb2RlbFdWLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc3ltYm9sSW5mb1dWPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmVbMF0pLHMub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLFEuZ2V0Qm9vbCkoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIil8fCh0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihpLmUoNTk3OSkudGhlbihpLmJpbmQoaSwzNjM2NTMpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkhpcDNEaXNjbGFpbWVyKHRoaXMuX21vZGVsV1Yud2Vha1JlZmVyZW5jZSgpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSwKdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDUyODgyKSxpLmUoNjA5NjkpXSkudGhlbihpLmJpbmQoaSwyNDU4NjEpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkVycm9yUmVuZGVyZXIobmV3IGguV2F0Y2hlZFZhbHVlKHRoaXMpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpLHRoaXMuX3Njcm9sbEhlbHBlcj1uZXcgWnQodGhpcyksdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9QnQuZ2V0SW5zdGFuY2UoKSx0aGlzLl9wcm9wZXJ0aWVzPW5ldyBHci5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMiLHVzZVVzZXJQcmVmZXJlbmNlczp0aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsic2NhbGVzUHJvcGVydGllcy5heGlzSGlnaGxpZ2h0Q29sb3IiLCJzY2FsZXNQcm9wZXJ0aWVzLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQWN0aXZlIiwic2NhbGVzUHJvcGVydGllcy5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbiIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1ByaWNlU2NhbGVDcm9zc2hhaXJMYWJlbCIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsIiwic2NhbGVzUHJvcGVydGllcy5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodCIsInNjYWxlc1Byb3BlcnRpZXMuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyayIsImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsInBhbmVQcm9wZXJ0aWVzLmdyaWRMaW5lc01vZGUiXSxleGNsdWRlZFRlbXBsYXRlS2V5czpbInRpbWV6b25lIiwidHJhZGluZ1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsImNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyIsInByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUiLCJwYW5lUHJvcGVydGllcy50b3BNYXJnaW4iLCJwYW5lUHJvcGVydGllcy5ib3R0b21NYXJnaW4iLCJ2b2x1bWVQYW5lU2l6ZSIsImFsZXJ0c1Byb3BlcnRpZXMiXSxleGNsdWRlZFN0YXRlS2V5czpbImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyJdLHRoZW1lZENvbG9yczppZ30pLHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzPW5ldyBqXy5TZXJpZXNQcm9wZXJ0aWVzSW1wbCx0aGlzLl9zdGFydFNwaW5uZXIodGhpcy5fb3B0aW9ucy5jb250YWluZXIudmFsdWUoKSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jaGFydFNlc3Npb249bmV3IFR0LkNoYXJ0U2Vzc2lvbih3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSksb2coKSx0aGlzLl9pc011bHRpcGxlTGF5b3V0PSgwLHUuY29tYmluZSkoKGU9PigwLE8uaXNNdWx0aXBsZUxheW91dCkoZSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5sYXlvdXQud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVTZXJpZXNPbmx5LnN1YnNjcmliZShudWxsLCgoKT0+e2NvbnN0IGU9dGhpcy5tb2RlbCgpLm1vZGVsKCk7ZS5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLGUuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSl9KSksdGhpcy5faG90a2V5cz1ZLmNyZWF0ZUdyb3VwKHtkZXNjOiJDaGFydCBhY3Rpb25zIixpc0Rpc2FibGVkOigpPT4hdGhpcy5pc0FjdGl2ZSgpLnZhbHVlKCl9KSwoMCxKLm9uV2lkZ2V0KSgpfHwodGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPW5ldyBQXy5GZWF0dXJlVG9nZ2xlV2F0Y2hlZFZhbHVlKCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyIsITEpLHRoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlci5zdWJzY3JpYmUoKGFzeW5jIGU9PntpZihlKXtpZigoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpKXJldHVybjsoMCxsbC5zZXRQZXJzaXN0ZW50TG9nZ2VyKShuZXcgTV8pO2NvbnN0e2luaXRQZXJzaXN0ZW50TG9nZ2VyOmV9PWF3YWl0IGkuZSg2NTkwOSkudGhlbihpLmJpbmQoaSwzOTE0MykpO3RoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlcj8udmFsdWUoKT9lKCk6KDAsbGwuc2V0UGVyc2lzdGVudExvZ2dlcikobnVsbCl9ZWxzZSgwLGxsLnNldFBlcnNpc3RlbnRMb2dnZXIpKG51bGwpfSkse2NhbGxXaXRoTGFzdDohMH0pKSx0aGlzLl9jb21wYXJlRGlhbG9nPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDb21wYXJlRGlhbG9nUmVuZGVyZXIoKSx0aGlzLl9vcHRpb25zLnRpbWVTY2FsZVdpZGdldCYmKHRoaXMuX29wdGlvbnMudGltZVNjYWxlV2lkZ2V0LnByZXNzZWRNb3VzZU1vdmVTY2FsZT10aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUpO2NvbnN0IG49dGhpcy5fb3B0aW9ucy5vbkNtZVdpZGdldDtuJiZZbS5sb2dXYXJuKCJbQ2hhcnRXaWRnZXRdICdvbkNtZVdpZGdldCcgb3B0aW9uIGlzIGRlcHJpY2F0ZWQiKTtjb25zdCByPXRoaXMuX29wdGlvbnMud2lkZ2V0Q3VzdG9tZXIsbz10aGlzLl9vcHRpb25zLnRpbWV6b25lO2xldCBjPXRoaXMuX29wdGlvbnMuZGVmU3ltYm9sPz8iIixkPXguSW50ZXJ2YWwuaXNWYWxpZCh0aGlzLl9vcHRpb25zLmRlZkludGVydmFsKT90aGlzLl9vcHRpb25zLmRlZkludGVydmFsOm51bGw7Y29uc3QgcD10aGlzLl9vcHRpb25zLmRlZlN0eWxlO2xldCBfPSgwLEEuaXNWYWxpZFN0eWxlKShwKT9wOm51bGw7Y29uc3QgbT10aGlzLl9vcHRpb25zLmRlZlNlc3Npb25JZCxnPXZvaWQgMCE9PXRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lPyJzdHJpbmciPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5kZWZUaW1lZnJhbWU/e3ZhbHVlOnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLnRvVXBwZXJDYXNlKCksdHlwZToicGVyaW9kLWJhY2sifTp7Ci4uLnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLHR5cGU6InRpbWUtcmFuZ2UifTpudWxsO2xldCBTPXRoaXMuX29wdGlvbnMuZGVmTWV0cmljPz9udWxsO3RoaXMuX2NvbnRlbnQ9dGhpcy5fb3B0aW9ucy5jb250ZW50LHRoaXMuX2luaXRpYWxMb2FkaW5nPXRoaXMuX29wdGlvbnMuaW5pdGlhbExvYWRpbmcsdGhpcy5fY29udGFpbnNEYXRhPSEhdGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGEsdGhpcy5fb25XaWRnZXQ9ISF0aGlzLl9vcHRpb25zLm9uV2lkZ2V0LHRoaXMuX2NvbXBhcmVTeW1ib2xzPXRoaXMuX29wdGlvbnMuY29tcGFyZVN5bWJvbHMsdGhpcy5fZGVmU3ltYm9sPWMsdGhpcy5fZGVmSW50ZXJ2YWw9ZCx0aGlzLl9kZWZUaW1lZnJhbWU9Zyx0aGlzLl9kZWZTdHlsZT1fLHRoaXMuX2RlZk1ldHJpYz1TLHRoaXMuX29uV2lkZ2V0JiYobj90aGlzLl93aWRnZXRDdXN0b21lcj0iY21lIjpyJiYodGhpcy5fd2lkZ2V0Q3VzdG9tZXI9cikpLHRoaXMuX2NvbXBhcmVEaWFsb2c9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpO2NvbnN0IHY9dGhpcy5fY29udGVudFNlcmllc1Byb3BlcnRpZXMoKTt2JiYoYz12LnN5bWJvbCxkPXYuaW50ZXJ2YWwsUz12Lm1ldHJpY0lkKSx2b2lkIDA9PT10aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzJiYodGhpcy5fb3B0aW9ucy51c2VVc2VyQ2hhcnRQcmVmZXJlbmNlcz0hMCk7Y29uc3QgeT0iY2hhcnRwcm9wZXJ0aWVzLm1haW5TZXJpZXNQcm9wZXJ0aWVzIixiPXRoaXMuX29wdGlvbnMudXNlVXNlckNoYXJ0UHJlZmVyZW5jZXM/KDAsJGwuZGVmYXVsdHMpKHkpOigwLCRsLmZhY3RvcnlEZWZhdWx0cykoeSksdz10aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcyxDPWR8fGIuaW50ZXJ2YWx8fCJEIjtudWxsIT09XyYmKDAsQS5pc1ZhbGlkU3R5bGUpKF8pfHwoXz0oMCxBLmlzVmFsaWRTdHlsZSkoYi5zdHlsZSk/Yi5zdHlsZTooMCxBLmdldERlZmF1bHRTdHlsZSkoeC5JbnRlcnZhbC5pc1JhbmdlKEMpKSk7Y29uc3QgUD0oMCxDdC5kZWZhdWx0KSh7dmlzaWJsZTohMCxzeW1ib2w6Y3x8KDAsRHQuZ2V0RGVmYXVsdFN5bWJvbCkoKSxzaG9ydE5hbWU6IiIsdGltZWZyYW1lOiIiLGludGVydmFsOkMsY3VycmVuY3lJZDpudWxsLHVuaXRJZDpudWxsLHN0eWxlOl8sc2Vzc2lvbklkOm0sbWV0cmljSWQ6U30sYS5ub3RVbmRlZmluZWQpO3cubWVyZ2UoUCksdGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoYyksdGhpcy5fcmVzb2x1dGlvbldWLnNldFZhbHVlKEMpLHRoaXMuX2NvbnRhaW5zRGF0YSYmdGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2Uoe3Nob3dDb3VudGRvd246ITF9KSxvJiYoMCxqdC50aW1lem9uZUlzQXZhaWxhYmxlKShvKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShvKSx0aGlzLl9vcHRpb25zLmNvbnRhaW5lci5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zZXRFbGVtZW50KGUpfSkse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IFQ9KCk9Pnt0aGlzLnJlc2l6ZSgpfTt0aGlzLl9vcHRpb25zLndpZHRoLnN1YnNjcmliZShUKSx0aGlzLl9vcHRpb25zLmhlaWdodC5zdWJzY3JpYmUoVCksdGhpcy5fb3B0aW9ucy52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaW1pbmdzTWV0ZXJTdGF0ZS5iaW5kKHRoaXMpKX1yZWZyZXNoTWFya3MoKXt0aGlzLm1vZGVsKCkuYmFyc01hcmtzU291cmNlcygpLmZvckVhY2goKGU9PmUucmVmcmVzaERhdGEoKSkpfWNsZWFyTWFya3MoZSl7dGhpcy5tb2RlbCgpLmJhcnNNYXJrc1NvdXJjZXMoKS5mb3JFYWNoKCh0PT50LmNsZWFyTWFya3MoZSkpKX1zZXRUaW1lem9uZShlKXtjb25zdCB0PWU7dCYmKDAsanQudGltZXpvbmVJc0F2YWlsYWJsZSkodCk/dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUuc2V0VmFsdWUodCk6Y29uc29sZS53YXJuKCJJbmNvcnJlY3QgdGltZXpvbmU6ICIrSlNPTi5zdHJpbmdpZnkodCkpfWdldFRpbWV6b25lKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnZhbHVlKCl9ZGVzdHJveSgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fdW5zZXRBY3Rpb25zKCksdGhpcy5faG90a2V5cz8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX25vRXhjaGFuZ2VTdWJzY3JwdGlvbldhcm5pbmc/LmRlc3Ryb3koKSx0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPy5kZXN0cm95KCksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVMb2dpblN0YXRlQ2hhbmdlZCksdGhpcy5oYXNNb2RlbCgpJiYodGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkubW92ZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUFyaWFQcmljZURlc2NyaXB0aW9uKSx0aGlzLm1vZGVsKCkuZGVzdHJveSgpKSx0aGlzLl9tb2RlbFdWLmRlc3Ryb3koKSx3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0aW9uQmFuSW5mbygpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZVRvQmFuSW5mbyksdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcC5jbGVhcigpLHRoaXMuX3Njcm9sbEhlbHBlci5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFydFNlc3Npb25Jc0Nvbm5lY3RlZENoYW5nZWQpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPy5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQ9ITAsdGhpcy5fYWJvdXRUb0JlRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT8uKCksdGhpcy5fcmVtb3ZlTWF4aW1pemVIb3RrZXk9bnVsbCwwIT09dGhpcy5fZHJhd1JhZklkJiZ0aGlzLl9wYXJlbnQ/Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2RyYXdSYWZJZCksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24/LmRlc3Ryb3koKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3bj8uZGVzdHJveSgpLHRoaXMuX3RpbWluZ3NNZXRlcj8uc3RvcENvbGxlY3QoKSx0aGlzLl90aW1pbmdzTWV0ZXI9bnVsbDtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5kZXN0cm95KCk7dGhpcy5fcGFuZVdpZGdldHMuc2V0VmFsdWUoW10pO2ZvcihsZXQgZT0wO2U8dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoO2UrKyl0aGlzLl9wYW5lU2VwYXJhdG9yc1tlXS5kZXN0cm95KCk7dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoPTAsdGhpcy5faG90a2V5c0xpc3RlbmVyPy5kZXN0cm95KCksdGhpcy5fYmFyc0J1dHRvbj8uZGVzdHJveSgpLHRoaXMuX2NvbnRyb2xCYXJOYXZpZ2F0aW9uPy5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCx0aGlzLl9tYWluRGl2JiYodGhpcy5fb25XaGVlbEJvdW5kJiZ0aGlzLl9tYWluRGl2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbldoZWVsQm91bmQpLHRoaXMuX21haW5EaXYucmVtb3ZlKCkpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2lzTXVsdGlwbGVMYXlvdXQuZGVzdHJveSgpLFQuY3JlYXRlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY29udGludWVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jYW5jZWxsZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULmJlZW5TZXRMaW5lVG9vbExhc3RQb2ludC51bnN1YnNjcmliZUFsbCh0aGlzKSxULnN0YXJ0ZWRNb3ZpbmdMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULm1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZE1vdmluZ0xpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuc3RhcnRlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jaGFuZ2VkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5yZW1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY2hhbmdlZExpbmVTdHlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2xTdGF0ZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jb3BpZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLmRlc3Ryb3koKX10aXRsZSgpe3JldHVybiBwLnQobnVsbCx2b2lkIDAsaSg2MjU3ODgpKX1lbXVsYXRlQ3JpdGljYWxFcnJvcigpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5yZW1vdmVTZXJpZXMoIi0xIil9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2Vzc2lvbn1vbkRpc2Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0ZWR9b25SZWNvbm5lY3RCYWlsb3V0KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdEJhaWxvdXR9b25Db25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGVkfWNoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZH1zZXRCYXJzQnV0dG9uKGUpe3RoaXMuX2JhcnNCdXR0b249ZX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxpLHMsbil7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1jaGFydFdpZGdldENvbGxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9ufWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfWxpbmVUb29sc1N5bmNocm9uaXplcigpe3JldHVybiB0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXJ9YWN0aW9ucygpe3JldHVybiBudWxsPT09dGhpcy5fYWN0aW9ucz90aGlzLl9zZXRBY3Rpb25zKCk6dGhpcy5fYWN0aW9uc31kZWZhdWx0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2RlZlN5bWJvbH1yZXF1ZXN0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKX1leGl0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKX1pbkZ1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuLnZhbHVlKCl9bW9kZWxDcmVhdGVkKCl7cmV0dXJuIHRoaXMuX21vZGVsQ3JlYXRlZH1jb250YWluc1N0dWR5QnlQcmVkaWNhdGUoZSl7cmV0dXJuISF0aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5kYXRhU291cmNlcygpLnNvbWUoKHQ9PiEhKDAsdGkuaXNTdHVkeSkodCkmJmUodC5tZXRhSW5mbygpKSkpfW1vZGVsKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbFdWLnZhbHVlKCkpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfWxheW91dElkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Cm1haW5TZXJpZXNQcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzfXJlYWRPbmx5KCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fb3B0aW9ucy5yZWFkT25seSl9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNBY3RpdmUucmVhZG9ubHkoKX1pc0hvdmVyZWQoKXtyZXR1cm4gdGhpcy5faXNIb3ZlcmVkLnJlYWRvbmx5KCl9Y3Jvc3NIYWlyU3luY0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmxvY2suY3Jvc3NoYWlyLnZhbHVlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZS52YWx1ZSgpfXNldFZpc2libGUoZSl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKGUpfXZpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlLnJlYWRvbmx5KCl9aXNDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnZhbHVlKCl9c2V0Q29sbGFwc2VkKGUpe3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZShlKX1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnJlYWRvbmx5KCl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4hISh0aGlzLl9vcHRpb25zfHx7fSkuanVzdENsb25lZH1yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsRHJhd2luZ1Rvb2xzKGUpfSkpOnRoaXMubW9kZWwoKS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoITApfXJlbW92ZUFsbFN0dWRpZXMoKXt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllcygpfXJlbW92ZUFsbFN0dWRpZXNEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKX0pKTp0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyghMCl9cmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl7dGhpcy5yZW1vdmVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl9cmVtb3ZlRGF0YVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCksaT1lLmZpbHRlcigoZT0+ZSE9PXQubWFpblNlcmllcygpJiZlIT09dC5saW5lQmVpbmdDcmVhdGVkKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2xldCBzPW51bGw7KDAsdGkuaXNTdHVkeSkoaVswXSkmJigoMCxsLmFzc2VydCkoMT09PWkubGVuZ3RoLCJDYW5ub3QgcmVtb3ZlIHNldmVyYWwgc3R1ZGllcyAobm8gbXVsdGkgc2VsZWN0IGZvciBzdHVkaWVzKSIpLHM9aVswXSk7Y29uc3Qgbj1pLmZpbmQoKGU9PmUuaGFzQWxlcnQoKS52YWx1ZSgpKSkscj0hIWkuZmluZCgoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSk7aWYobikoMCxSXy5jb25maXJtRGF0YXNvdXJjZVJlbW92aW5nKSh7aGFzTG9ja2VkU291cmNlczpyfSkudGhlbigoZT0+e2UmJnQucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSk7ZWxzZSBpZihzJiZzLmhhc0NoaWxkcmVuKCkpe2NvbnN0IGU9cy5nZXRBbGxDaGlsZHJlbigpLm1hcCgoZT0+ZS5uYW1lKCEwKSkpOygwLEx0LnNob3dEZWxldGVTdHVkeVRyZWVDb25maXJtKShlLCgoKT0+e3QucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSl9ZWxzZSByPygwLCRtLnNob3dEZWxldGVMb2NrZWRMaW5lVG9vbHNDb25maXJtKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVTZWxlY3RlZCwoZT0+e2V8fHQuc2VsZWN0aW9uTWFjcm8oKGU9PntpLmZpbHRlcigoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSkuZm9yRWFjaCgodD0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSl9KSksdC5yZW1vdmVTZWxlY3RlZFNvdXJjZXMoKX0pKTp0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWdldFN5bWJvbChlKXtpZighdGhpcy5oYXNNb2RlbCgpKXJldHVybiB0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sfHwoMCxEdC5nZXREZWZhdWx0U3ltYm9sKSgpO2lmKCFlKXJldHVybiB0aGlzLl9zeW1ib2xXVi52YWx1ZSgpO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7cmV0dXJuIHQuc2hvcnROYW1lJiZ0LnNob3J0TmFtZS52YWx1ZSgpP3Quc2hvcnROYW1lPy52YWx1ZSgpPz8iIjp0LnN5bWJvbD8udmFsdWUoKT8/IiJ9c2V0U3ltYm9sKGUpe2lmKHRoaXMuaGFzTW9kZWwoKSl7dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZSk7Y29uc3QgdD10aGlzLm1vZGVsKCk7dC5zZXRTeW1ib2wodC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7c3ltYm9sOmV9KSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sPWV9c2V0UmVzb2x1dGlvbihlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKTtjb25zdCB0PXRoaXMubW9kZWwoKTt0LnNldFJlc29sdXRpb24odC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7aW50ZXJ2YWw6ZX0pLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuaW50ZXJ2YWw9ZX1nZXRSZXNvbHV0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi52YWx1ZSgpfXN5bWJvbFdWKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFdWLnJlYWRvbmx5KCl9CnN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvV1Z9cmVzb2x1dGlvbldWKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi5yZWFkb25seSgpfWxvYWRSYW5nZShlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuc2NyZWVuLnNob3coKTt0aGlzLm1vZGVsKCkubG9hZFJhbmdlKGUpfHx0aGlzLnNjcmVlbi5oaWRlKCl9fWFzeW5jIHNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKGUsdCl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3Qgcz1hd2FpdCB0aGlzLl9zaG93Q2hhcnRQcm9wZXJ0aWVzKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksZSx7ZG9Ob3RDbG9zZU9uQmdDbGljazohMCxvblJlc2V0VG9EZWZhdWx0OmFzeW5jKCk9Pnt0aGlzLm1vZGVsKCkucmVzdG9yZVByZWZlcmVuY2VzKCk7Y29uc3RbZSx0XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw2NjUxODcpKSxQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDQxMzQ1MSkpXSkscz1lLmdldEN1cnJlbnRUaGVtZSgpLm5hbWU7dC5sb2FkVGhlbWUodGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKSx7dGhlbWVOYW1lOnMsc3RhbmRhcmRUaGVtZTohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czp0Py5zaG91bGRSZXR1cm5Gb2N1c30pO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IG49KCk9PntzLmhpZGUoKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLnVuc3Vic2NyaWJlKG4pfTtyZXR1cm4gdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi5zdWJzY3JpYmUobiksc31zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKGUsdCxpLHMpe3JldHVybigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikmJmUudXNlckVkaXRFbmFibGVkKCk/ZT09PXRoaXMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKT90aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKHQpOigoaT1pfHx7fSkub25SZXNldFRvRGVmYXVsdD0oKT0+eygoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSkpJiZ0aGlzLm1vZGVsKCkucmVzdG9yZVByb3BlcnRpZXNGb3JTb3VyY2UuYmluZCh0aGlzLm1vZGVsKCksZSl9LHRoaXMuX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscykpOlByb21pc2UucmVzb2x2ZShudWxsKX10b2dnbGVDb21wYXJlT3JBZGQoKXt0aGlzLl9jb21wYXJlRGlhbG9nLnZpc2libGUoKS52YWx1ZSgpP3RoaXMuX2NvbXBhcmVEaWFsb2cuaGlkZSgpOnRoaXMuX2NvbXBhcmVEaWFsb2cuc2hvdygpfXRhZ3MoKXtyZXR1cm4gdGhpcy5oYXNNb2RlbCgpP3RoaXMubW9kZWwoKS5jYWxjdWxhdGVEZWZhdWx0VGFncygpOltdfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31vd25lckRvY3VtZW50KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLm93bmVyRG9jdW1lbnR9YXN5bmMgc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZXMoZSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtzb3VyY2VzOnQsdGl0bGU6cyx0YWJOYW1lOm4scmVuYW1hYmxlOnJ9PWUsbz10aGlzLm1vZGVsKCksYT0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkpKSksbD0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSkpLFt7Y3JlYXRlUHJvcGVydHlQYWdlOmN9LHtnZXRTZWxlY3Rpb25TdHlsZVByb3BlcnRpZXNEZWZpbml0aW9uczpofSx7Z2V0U2VsZWN0aW9uSW50ZXJ2YWxzVmlzaWJpbGl0aWVzUHJvcGVydGllc0RlZmluaXRpb246ZH0se2dldFNlbGVjdGlvbkNvb3JkaW5hdGVzUHJvcGVydHlEZWZpbml0aW9uOnV9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksNTAxNTIyKSksUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksOTkzOTQpKSxQcm9taXNlLmFsbChbaS5lKDkwOTA3KSxpLmUoNTkzMjgpXSkudGhlbihpLmJpbmQoaSw0ODUwMCkpLFByb21pc2UuYWxsKFtpLmUoOTA5MDcpLGkuZSg1OTMyOCldKS50aGVuKGkuYmluZChpLDU3NjgxNykpXSk7cmV0dXJuIGFzeW5jIGZ1bmN0aW9uKGUpewpjb25zdHtTb3VyY2VzUHJvcGVydGllc0VkaXRvclJlbmRlcmVyOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzcwMTIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoMjc3MzYpLGkuZSg4Nzc0MCksaS5lKDY3NTQzKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSgxNzg2MSksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDEyMDYwKV0pLnRoZW4oaS5iaW5kKGksMjgyNDA0KSkscz1uZXcgdChlKTtyZXR1cm4gbnVsbCE9PXp0JiYoenQuaGlkZSgpLHp0PXMpLHMuc2hvdygpLHN9KHtzb3VyY2VzOnQscHJvcGVydHlQYWdlczpbYyhoKGEsbyksInN0eWxlIixwLnQobnVsbCx2b2lkIDAsaSg5MzE5OTIpKSksYyh7ZGVmaW5pdGlvbnM6W3UodCxvKV19LCJkaXNwbGFjZW1lbnQiLHAudChudWxsLHZvaWQgMCxpKDM3MTU0OSkpKSxjKGQobCxvKSwidmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoOTg3NzMzKSkpXSx1bmRvTW9kZWw6byx0aXRsZTpzLGFjdGl2ZVRhYklkOm4scmVuYW1hYmxlOnJ9KX1nZXRQcmljZUF4aXNXaWR0aENoYW5nZWRCeU5hbWUoZSl7cmV0dXJuImxlZnQiPT09ZT90aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ6dGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkfWdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzQXhlc1dpZHRoOnRoaXMuX3Joc0F4ZXNXaWR0aH10aW1lQXhpc0hlaWdodCgpe3JldHVybiBudWxsIT09dGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fdGltZUF4aXNXaWRnZXQuc2l6ZS5oZWlnaHQ6MH13aXRoTW9kZWwoZSx0KXt0aGlzLmhhc01vZGVsKCk/dC5jYWxsKGUpOnRoaXMubW9kZWxDcmVhdGVkKCkuc3Vic2NyaWJlKGUsdCwhMCl9bW9kZWxXVigpe3JldHVybiB0aGlzLl9tb2RlbFdWLnJlYWRvbmx5KCl9aGFzTW9kZWwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21vZGVsV1YudmFsdWUoKX1vblJlZHJhdygpe3JldHVybiB0aGlzLl9yZWRyYXd9Y29weUxpbmVUb090aGVyQ2hhcnRzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmxpbmVEYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKTtlLm1vZGVsKCkuY29weVRvT3RoZXJDaGFydHModCwhMCl9dG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl7Y29uc3QgZT10aGlzLm1vZGVsKCk7ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5mb3JFYWNoKCh0PT57Y29uc3QgaT10LnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlLnNldFByb3BlcnR5KHQucHJvcGVydGllcygpLmZyb3plbiwhaSwoaT9abTpKbSkuZm9ybWF0KHt0aXRsZTpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pLFFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pfSkpfWhpZGVEYXRhU291cmNlcyhlKXtpZihlLmxlbmd0aCl7Y29uc3QgdD1lLm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkudmlzaWJsZSkpLGk9ZS5tYXAoKCgpPT4hMSkpO3RoaXMubW9kZWwoKS5zZXRQcm9wZXJ0aWVzKHQsaSxYbS5mb3JtYXQoe3RpdGxlOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZVswXS5uYW1lKCksZVswXS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfSkpfX1oaWRlU2VsZWN0ZWRPYmplY3QoKXt0aGlzLmhpZGVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiEoMCxxaS5pc0FsZXJ0TGFiZWwpKGUpKSkpfXVubGlua1NlbGVjdGVkTGluZSgpe2NvbnN0IGU9dGhpcy5tb2RlbCgpLHQ9ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKTtlLnVubGlua0xpbmVzKHQpfXBhbmVXaWRnZXRzV1YoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHN9cGFuZVdpZGdldHMoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKX1wYW5lV2lkZ2V0U2VwYXJhdG9ycyhlKXtjb25zdCB0PXRoaXMucGFuZVdpZGdldHMoKS5pbmRleE9mKGUpLGk9e307cmV0dXJuIHRoaXMuX3BhbmVTZXBhcmF0b3JzLmZvckVhY2goKGU9PntlLnRvcFBhbmVJbmRleCgpPT09dCYmKGkuc2VwYXJhdG9yQmVsb3c9ZSksZS5ib3R0b21QYW5lSW5kZXgoKT09PXQmJihpLnNlcGFyYXRvckFib3ZlPWUpfSkpLGl9YWN0aXZlUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnJlYWRvbmx5KCl9cGFuZUJ5U3RhdGUoZSl7CnJldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKHQ9PnQuaGFzU3RhdGUoKSYmdC5zdGF0ZSgpPT09ZSkpPz9udWxsfXBhbmVCeUNhbnZhcyhlKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5maW5kKCh0PT50Lmhhc0NhbnZhcyhlKSkpPz9udWxsfXRpbWVBeGlzQnlDYW52YXMoZSl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5oYXNDYW52YXMoZSk/dGhpcy5fdGltZUF4aXNXaWRnZXQ6bnVsbH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2VsZWN0UG9pbnRNb2RlKCl9Y2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpLGUuc2V0UmVwbGF5U3RhdHVzKGUuaXNJblJlcGxheSgpLnZhbHVlKCk/MzowKSxlLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9cmVxdWVzdFNlbGVjdFBvaW50KGUsdCl7Y29uc3QgaT10aGlzLm1vZGVsKCk7cmV0dXJuIGUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZpLm1vZGVsKCkuc2V0UmVwbGF5U3RhdHVzKDEpLG5ldyBQcm9taXNlKCgocyxuKT0+e2NvbnN0IHI9KCk9PiEhdGhpcy5pc1Zpc2libGUoKXx8KG4oIkNoYXJ0d2lkZ2V0IG11c3QgYmUgdmlzaWJsZSIpLHRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksITEpO2lmKCFyKCkpcmV0dXJuOygwLFQucmVzZXRUb0N1cnNvcikoITApLGkubGluZUJlaW5nQ3JlYXRlZCgpJiZpLmNhbmNlbENyZWF0aW5nTGluZSgpO2xldCBvPSExO2NvbnN0IGE9e307aS5tb2RlbCgpLm9uUG9pbnRTZWxlY3RlZCgpLnN1YnNjcmliZShhLCgoZSx0KT0+e289ITAsdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLHRoaXMuX2hpZGVIaW50KCkscyh7cG9pbnQ6ZSxwYW5lOnR9KX0pLCEwKSxpLm1vZGVsKCkucmVxdWVzdFNlbGVjdFBvaW50KGUpLHRoaXMuc3RhcnRUcmFja2luZ01vZGUoKSx2b2lkIDAhPT10JiZ0aGlzLl9zaG93RXZlbnRIaW50KHQpLHRoaXMuX2lzVmlzaWJsZS5zdWJzY3JpYmUociksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS5zdWJzY3JpYmUoKCgpPT57c2V0VGltZW91dCgoKCk9PntvfHwodGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5faGlkZUhpbnQoKSxpLm1vZGVsKCkub25Qb2ludFNlbGVjdGVkKCkudW5zdWJzY3JpYmVBbGwoYSksdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLG4oImNhbmNlbGxlZCIpKX0pKX0pLHtvbmNlOiEwfSl9KSl9c2hvd1JlcGxheU9yZGVyQ29uZmlybWF0aW9uRGlhbG9nKCl7cmV0dXJuIHRoaXMubW9kZWwoKS5pc0luUmVwbGF5KCkudmFsdWUoKT9uZXcgUHJvbWlzZSgoKGUsdCk9PnsoMCxoZS5zaG93Q29uZmlybSkoe3RleHQ6cC50KG51bGwsdm9pZCAwLGkoNTU4NDQ0KSksb25Db25maXJtOnQ9PntlKCksdC5kaWFsb2dDbG9zZSgpfSxvbkNsb3NlOnR9KX0pKTpQcm9taXNlLnJlc29sdmUoKX1zaG93U291cmNlUHJvcGVydGllcyhlLHQpe2U9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiYodD1KdC5UYWJOYW1lcy5zeW1ib2wpLHRoaXMuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLHQpfW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfW9uWm9vbSgpe3JldHVybiB0aGlzLl9vblpvb219b25UYWdzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl90YWdzQ2hhbmdlZH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vbldpZGdldH1jb250YWluc1ZvbHVtZSgpe3JldHVybiB0aGlzLm1vZGVsKCkuZGF0YVNvdXJjZXMoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpfWNvbnRhaW5zU3R1ZHkoZSl7cmV0dXJuIHRoaXMuY29udGFpbnNTdHVkeUJ5UHJlZGljYXRlKCh0PT50LmlkPT09ZXx8dC5mdWxsSWQ9PT1lKSl9aXNTbWFsbCgpe3JldHVybiB0aGlzLl93aWR0aCgpPDU1MHx8dGhpcy5faGVpZ2h0KCk8MzAwfW9uQ21lV2lkZ2V0KCl7cmV0dXJuImNtZSI9PT10aGlzLl93aWRnZXRDdXN0b21lcn13aWRnZXRDdXN0b21lcigpe3JldHVybiB0aGlzLl93aWRnZXRDdXN0b21lcn1jb21wYXJlU3ltYm9scygpe3JldHVybiB0aGlzLl9jb21wYXJlU3ltYm9sc31pbWFnZXMoZSl7d2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSEwO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKTt0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpO2NvbnN0IGk9KHQsaSk9Pnt0LnBhaW50KGksTGUuSW52YWxpZGF0aW9uTWFzay50aW1lU2NhbGUoTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQsITApLmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKTtjb25zdCBzPXtzaG93Q29sbGFwc2VkU3R1ZGllczpCb29sZWFuKGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSxzdGF0dXM6ZT8uc3RhdHVzfTtyZXR1cm4gdC5nZXRTY3JlZW5zaG90RGF0YShzKX0scz1bXSxuPXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKG51bGwhPT1uKXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuaW5kZXhPZihuKTtzLnB1c2goaShuLExlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKS5pbnZhbGlkYXRpb25Gb3JQYW5lKGUpKSl9ZWxzZXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7ZS5mb3JFYWNoKCgodCxuKT0+e3MucHVzaChpKHQsTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpLmludmFsaWRhdGlvbkZvclBhbmUobikpKSxuPGUubGVuZ3RoLTEmJnMucHVzaCh0aGlzLl9wYW5lU2VwYXJhdG9yc1tuXS5pbWFnZSgpKX0pKX1sZXQgcgo7dGhpcy5fdGltZUF4aXNXaWRnZXQmJih0aGlzLl90aW1lQXhpc1dpZGdldC5wYWludChMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkuaW52YWxpZGF0aW9uRm9yVGltZVNjYWxlKCkpLHI9dGhpcy5fdGltZUF4aXNXaWRnZXQuZ2V0U2NyZWVuc2hvdERhdGEoKSksd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSExLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e3QuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz10aGlzLm1haW5TZXJpZXNRdW90ZXNBbmRNZXRhaW5mbygpO3JldHVybntwYW5lczpzLHRpbWVBeGlzOnIsY29sb3JzOnt0ZXh0OnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksYmc6dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHNjYWxlczp0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpfSxtZXRhOm8ubWV0YSxvaGxjOm8ub2hsYyxxdW90ZXM6by5xdW90ZXN9fWluc2VydFN0dWR5KGUsdCxpLHMsbil7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5T3JSZXBsYWNlU3R1YihlLHQsdm9pZCAwLGkscyxuKX1yZXBsYWNlU3R1YkJ5U3R1ZHkoZSx0LGkscyxuLHIpe3JldHVybiBlLnVwZGF0ZURlc2NyaXB0b3IodCksdGhpcy5faW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKHQsaSxlLHMsbixyKX1hZGRPdmVybGF5U3R1ZHkoZSx0LGkpe2NvbnN0IHM9dGhpcy5tb2RlbCgpO3JldHVybiB0aGlzLl9vcHRpb25zJiZ0aGlzLl9vcHRpb25zLmlzU3ltYm9sQXZhaWxhYmxlP3RoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUoZSkudGhlbigoYXN5bmMgbj0+e2lmKCFuKXJldHVybiBudWxsO2F3YWl0KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3Qgcj1zLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIoe3R5cGU6ImphdmEiLHN0dWR5SWQ6Ik92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIn0sW10pLG89e2FsbG93RXh0ZW5kVGltZVNjYWxlOml9O2lmKCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiKSl7Y29uc3QgZT0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJzdHVkeV9PdmVybGF5QHR2LWJhc2ljc3R1ZGllcy5zdHlsZSIpO28uc3R5bGU9ZX1yZXR1cm4gci5zZXRQcm9wZXJ0aWVzU3RhdGUobyksci5zZXRGb3JjZU92ZXJsYXkodCksci5pbnNlcnQoKCgpPT5Qcm9taXNlLnJlc29sdmUoe2lucHV0czp7c3ltYm9sOmV9LHBhcmVudFNvdXJjZXM6W119KSkpfSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1zaG93SW5kaWNhdG9ycyhlLHQpe2lmKHdpbmRvdy5zdHVkeU1hcmtldClyZXR1cm4gd2luZG93LnN0dWR5TWFya2V0LnZpc2libGUoKS52YWx1ZSgpP3ZvaWQgd2luZG93LnN0dWR5TWFya2V0LmhpZGUoKTood2luZG93LnN0dWR5TWFya2V0LnNob3coZSx0KSwoMCx4Xy50cmFja0J1dHRvbkNsaWNrKSgiaG90a2V5IiwiaW5kaWNhdG9ycyIsdm9pZCAwLCEwKSx3aW5kb3cuc3R1ZHlNYXJrZXQpfXNldFNhdmVDaGFydFNlcnZpY2UoZSl7dGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLG51bGwhPT10aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXImJnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5zZXRTYXZlQ2hhcnRTZXJ2aWNlKGUpfWdldFNhdmVDaGFydFNlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc2F2ZUNoYXJ0U2VydmljZX1tYWluU2VyaWVzUXVvdGVzQW5kTWV0YWluZm8oKXtsZXQgZSx0LGk7Y29uc3Qgcz10aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk7aWYocyl7Y29uc3Qgbj1lPT5udWxsPT1lPyIiOnMuZm9ybWF0dGVyKCkuZm9ybWF0KGUse3NpZ25OZWdhdGl2ZTohMCx1c2VSdGxGb3JtYXQ6ITF9KSxyPWU9Pm51bGw9PWU/IiI6ZSsiIjtlPXtyZXNvbHV0aW9uOnMuaW50ZXJ2YWwoKSxzeW1ib2w6cy5zeW1ib2woKSx2YWx1ZXM6cy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpLmdldFZhbHVlcyhudWxsKX07Y29uc3Qgbz1zLnN5bWJvbEluZm8oKTtvJiYoZS5zeW1ib2w9by5mdWxsX25hbWUsZS5kZXNjcmlwdGlvbj1vLmRlc2NyaXB0aW9uLGUuZXhjaGFuZ2U9by5leGNoYW5nZSk7Y29uc3QgYT1zLmJhcnMoKS5sYXN0KCk7bnVsbCE9PWEmJih0PWEudmFsdWUuc2xpY2UoMSw1KS5tYXAobikpO2NvbnN0IGw9cy5xdW90ZXMoKTtsJiYoaT17Y2hhbmdlOm4obC5jaGFuZ2UpLGNoYW5nZVBlcmNlbnQ6cihsLmNoYW5nZV9wZXJjZW50KSxsYXN0Om4obC5sYXN0X3ByaWNlKX0pfXJldHVybnttZXRhOmUsb2hsYzp0LHF1b3RlczppfX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2lzTXVsdGlwbGVMYXlvdXR9dXBkYXRlQ3Jvc3NIYWlyUG9zaXRpb25JZk5lZWRlZCgpe2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpO2lmKGUuaXNUb3VjaCl7Y29uc3QgdD10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXTtpZih0Lmhhc1N0YXRlKCkmJighZS5zdHlsdXMmJih0aGlzLl9pc0xpbmVUb29sTW9kZUV4Y2VwdEJydXNoKCl8fCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpKXx8dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSkpe2NvbnN0IGU9LjUqdGhpcy5tb2RlbCgpLm1vZGVsKCkudGltZVNjYWxlKCkud2lkdGgoKSxpPS41KnQuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpLmhlaWdodCgpO3Quc2V0Q3Vyc29yUG9zaXRpb24oZSxpKX0KY29uc3QgaT10aGlzLm1vZGVsKCkubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtpLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShpLmlkKCkpKX19fXRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKXtpZighKDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoKXJldHVybiBudWxsO2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpZihlLnRyYWNraW5nTW9kZUVuYWJsZWQoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1zdGFydFRyYWNraW5nTW9kZSgpe2lmKCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCl7dGhpcy5leGl0VHJhY2tpbmdNb2RlKCksdGhpcy51cGRhdGVDcm9zc0hhaXJQb3NpdGlvbklmTmVlZGVkKCk7Y29uc3QgZT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXSx0PXRoaXMubW9kZWwoKS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO2Uuc3RhcnRUcmFja2luZ01vZGUodCx0KX19ZXhpdFRyYWNraW5nTW9kZSgpeygwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCYmdGhpcy5wYW5lV2lkZ2V0cygpLnNvbWUoKGU9PmUudHJhY2tpbmdNb2RlRW5hYmxlZCgpKSkmJih0aGlzLnBhbmVXaWRnZXRzKCkuZm9yRWFjaCgoZT0+ZS5leGl0VHJhY2tpbmdNb2RlKCkpKSx0aGlzLm1vZGVsKCkubW9kZWwoKS5jbGVhckN1cnJlbnRQb3NpdGlvbigpKX1vblRvb2xDaGFuZ2VkKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmxpbmVCZWluZ0NyZWF0ZWQoKSYmIWUubGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCkmJnRoaXMuX2NhbmNlbENyZWF0aW5nTGluZSgpLHRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksdGhpcy5leGl0VHJhY2tpbmdNb2RlKCl9c2V0SW5Mb2FkaW5nU3RhdGUoZSl7dGhpcy5faW5Mb2FkaW5nU3RhdGU9ZX1wYWludChlKXt0aGlzLl9kcmF3VGltZS5zZXRWYWx1ZShwZXJmb3JtYW5jZS5ub3coKSk7Y29uc3QgdD1lPz9MZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKTt0LnZhbGlkYXRpb25BY3Rpb25zKCkuZm9yRWFjaCgoZT0+ZSgpKSk7Y29uc3QgaT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTt0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKChlLHMpPT57bnVsbCE9PWkmJmkhPT1lfHxlLnBhaW50KHQuaW52YWxpZGF0aW9uRm9yUGFuZShzKSx0LmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKX0pKSx0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQucGFpbnQodC5pbnZhbGlkYXRpb25Gb3JUaW1lU2NhbGUoKSksZWc/LigpLHRoaXMuX3JlZHJhdy5maXJlKCl9R1VJUmVzZXRTY2FsZXMoKXsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiUmVzZXQgU2NhbGVzIiksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkucmVzZXRTY2FsZXMoKX1hcHBseU92ZXJyaWRlcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdFtpLHNdb2YgT2JqZWN0LmVudHJpZXMoZSkpaS5zdGFydHNXaXRoKCJtYWluU2VyaWVzUHJvcGVydGllcy5wcmljZUF4aXNQcm9wZXJ0aWVzIil8fCh0W2ldPXMpO2lmKCgwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5wcm9wZXJ0aWVzKCksdm9pZCAwLCExLHQsdm9pZCAwKSx0aGlzLmhhc01vZGVsKCkpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5tb2RlbCgpLm1vZGVsKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0KSwoMCx5YS5hcHBseVByb3BlcnRpZXNPdmVycmlkZXMpKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0LCJtYWluU2VyaWVzUHJvcGVydGllcyIpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNlc3Npb25zKCkuYXBwbHlPdmVycmlkZXModCk7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5hcHBseU92ZXJyaWRlcyh0KX19c2hvd0Z1bmRhbWVudGFscyhlKXt0aGlzLnNob3dJbmRpY2F0b3JzKGU/W2VdOnZvaWQgMCwiZnVuZGFtZW50YWxzIil9bWF4aW1pemVkUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKGU9PmUubWF4aW1pemVkKCkudmFsdWUoKSkpPz9udWxsfWhhc01heGltaXplZFBhbmUoKXtyZXR1cm4gbnVsbCE9PXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpfXNldEFjdGl2ZShlKXsoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihlJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUoKTp0aGlzLmV4aXRUcmFja2luZ01vZGUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSllLnVwZGF0ZSgpO2V8fHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9pc0FjdGl2ZS5zZXRWYWx1ZShlKX1qdXN0QWN0aXZhdGVkKCl7cmV0dXJuIHRoaXMuX2p1c3RBY3RpdmF0ZWR9c2V0QWN0aXZlUGFuZVdpZGdldChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKGUpfW9uUGFuZVdpZGdldERlc3Ryb3llZChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnZhbHVlKCk9PT1lJiZ0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpfWdldFJlc2l6ZXJEZXRhY2hlcigpe3JldHVybiB0aGlzLl9vcHRpb25zfXRvZ2dsZUZ1bGxzY3JlZW4oKXtjb25zdCBlPXRoaXMuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpJiYoZS5mdWxsc2NyZWVuLnZhbHVlKCk/ZS5leGl0RnVsbHNjcmVlbigpOmUucmVxdWVzdEZ1bGxzY3JlZW4oKSl9YXN5bmMgZ2VuZXJhbFByb3BlcnRpZXNEZWZpbml0aW9ucygpe3JldHVybiBhd2FpdCgwLAphdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQWxsSmF2YVN0dWRpZXMoKSx0aGlzLl9nZXRDaGFydFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKS50aGVuKChlPT5lLnByb3BlcnR5UGFnZXMoKSkpfXByb3BlcnRpZXNEZWZpbml0aW9uc0ZvclNvdXJjZShlKXtyZXR1cm4oMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSl8fCgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSk/ZS5nZXRQcm9wZXJ0eURlZmluaXRpb25zVmlld01vZGVsKCkudGhlbigoZT0+bnVsbD09PWU/bnVsbDplLnByb3BlcnR5UGFnZXMoKSkpLmNhdGNoKChlPT4oWW0ubG9nV2FybihlKSxudWxsKSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1iYWNrZ3JvdW5kVG9wVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZFRvcFRoZW1lLnJlYWRvbmx5KCl9YmFja2dyb3VuZEJhc2VkVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVhZG9ubHkoKX1iYWNrZ3JvdW5kQm90dG9tVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnJlYWRvbmx5KCl9c3RhdGUoZSl7aWYodGhpcy5oYXNNb2RlbCgpKXtjb25zdCB0PXRoaXMubW9kZWwoKS5zdGF0ZShlKTtyZXR1cm4gdC5jaGFydElkPXRoaXMuaWQoKSx0fXJldHVybiB0aGlzLl9jb250ZW50fWxpbmVUb29sc0FuZEdyb3Vwc0RUTygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKS5wcmVwYXJlRFRPKCl9YXBwbHlMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbihlLHQpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5hcHBseUxpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uKGUsdCl9cmVsb2FkQWxsTGluZVRvb2xzKCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5yZWxvYWRBbGxMaW5lVG9vbHMoKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LnN0YXJ0QXBwbHlpbmdMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbigpfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LmVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZWxldGVBbGVydEJ5RXh0ZXJuYWxTb3VyY2UoZSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpOiEhdGhpcy5fb3B0aW9ucy5jb250ZW50LnNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW59Z2V0VGltZVNjYWxlKCl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0fXNob3dPYmplY3RzVHJlZVBhbmVsT3JEaWFsb2coKXtsZXQgZT0hMTtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYodCYmdC5pc1Zpc2libGUoKSl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc2V0UGFnZSgib2JqZWN0X3RyZWUiKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkud2lkZ2V0KCJvYmplY3RfdHJlZSIpKTsoMCxsLmVuc3VyZURlZmluZWQpKHMucHJvcGVydGllcykuc2V0VmFsdWUoe3NlbGVjdGVkUGFnZToib2JqZWN0X3RyZWUifSksZT0ib2JqZWN0X3RyZWUiPT09aS5uYW1lfWV8fHRoaXMuc2hvd09iamVjdHNUcmVlRGlhbG9nKCl9c2hvd09iamVjdHNUcmVlRGlhbG9nKCl7dGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI/LnNob3coKX1hZGRDdXN0b21XaWRnZXRUb0xlZ2VuZChlLHQpe3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLnNldChlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpLmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl9YXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHNBdmFpbGFibGUoKXtpZighdGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hcHBseUluZGljYXRvcnNUb0FsbENoYXJ0c0F2YWlsYWJsZSgpKXJldHVybiExO2Zvcihjb25zdCBlIG9mIHRoaXMubW9kZWwoKS5tb2RlbCgpLnBhbmVzKCkpe2lmKGUuc291cmNlc0J5R3JvdXAoKS5hbGwoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpKSkpcmV0dXJuITB9cmV0dXJuITF9d2lkZ2V0KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KX1hZGRDb21wYXJlQXNPdmVybGF5KGUsdCxpKXtjb25zdCBzPXRoaXMubW9kZWwoKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUpKGUpLnRoZW4oKGFzeW5jIG49PntpZighbilyZXR1cm4gbnVsbDthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IHI9cy5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyJ9LFtdKTtyZXR1cm4gci5zZXRGb3JjZU92ZXJsYXkoITApLHIuc2V0UHJlZmVycmVkUHJpY2VTY2FsZSgiYXMtc2VyaWVzIiksITAhPT1pJiZyLnNldFRhcmdldFByaWNlU2NhbGVNb2RlKHtwZXJjZW50YWdlOiEwfSksdm9pZCAwIT09dCYmci5zZXRQcm9wZXJ0aWVzU3RhdGUoe2FsbG93RXh0ZW5kVGltZVNjYWxlOnR9KSxyLmluc2VydCgoYXN5bmMoKT0+KHtpbnB1dHM6e3N5bWJvbDplfSxwYXJlbnRTb3VyY2VzOltdfSkpKX0pKX1zY3JvbGxIZWxwZXIoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsSGVscGVyfXJlc2l6ZSgpe2NvbnN0IGU9dGhpcy5faGVpZ2h0KCkrInB4Iix0PXRoaXMuX3dpZHRoKCkrInB4IixpPSgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5EaXYpO2kuc3R5bGUuaGVpZ2h0PWUsaS5zdHlsZS53aWR0aD10LHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLmhlaWdodD1lLHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLndpZHRoPXQsdGhpcy5fcmVzaXplSGFuZGxlciYmdGhpcy5fbWFpbkRpdiYmdGhpcy5fcmVzaXplSGFuZGxlcigpfWNoYXJ0UGFpbnRlZCgpe3JldHVybiB0aGlzLl9kcmF3UGxhbm5lZD8obnVsbD09PXRoaXMuX2NoYXJ0UGFpbnRlZFByb21pc2UmJih0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSksdGhpcy5fY2hhcnRQYWludGVkUHJvbWlzZS5wcm9taXNlKTpQcm9taXNlLnJlc29sdmUoKX1zZXREYXRhV2luZG93V2lkZ2V0KGUpe3RoaXMuX2RhdGFXaW5kb3dXaWRnZXQ9ZX1yZW1vdmVEYXRhV2luZG93V2lkZ2V0KCl7dGhpcy5fZGF0YVdpbmRvd1dpZGdldD1udWxsfXNob3dTZWxlY3RlZFNvdXJjZXNQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoMT09PXQubGVuZ3RoKXRoaXMuc2hvd1NvdXJjZVByb3BlcnRpZXModFswXSxlKTtlbHNle2NvbnN0IGk9dC5maWx0ZXIocmkuaXNMaW5lVG9vbCk7aS5sZW5ndGg+MCYmdGhpcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlcyh7c291cmNlczppLHRhYk5hbWU6ZX0pfX1zZXRUaW1pbmdzTWV0ZXIoZSl7dGhpcy5fdGltaW5nc01ldGVyPWUsdGhpcy5fdXBkYXRlVGltaW5nc01ldGVyU3RhdGUoKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9ZXhlY3V0ZUFjdGlvbkJ5SWQoZSl7aWYoInRha2VTY3JlZW5zaG90Ij09PWUpcmV0dXJuIGNvbnNvbGUud2FybignQWN0aW9uICJ0YWtlU2NyZWVuc2hvdCIgaXMgZGVwcmVjYXRlZC4gVXNlIG1ldGhvZCAidGFrZVNjcmVlbnNob3QiIGluc3RlYWQnKSx2b2lkIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi50YWtlU2NyZWVuc2hvdCgpO2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07dD90LmV4ZWN1dGUoKTpjb25zb2xlLndhcm4oIlVua25vd24gYWN0aW9uIGlkOiAiK2UpfWdldENoZWNrYWJsZUFjdGlvblN0YXRlKGUpe2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07aWYodCl7aWYodC5pc0NoZWNrYWJsZSgpKXJldHVybiB0LmlzQ2hlY2tlZCgpO2NvbnNvbGUud2FybigiQWN0aW9uICIrZSsiIGhhcyBubyBzdGF0ZSIpfWVsc2UgY29uc29sZS53YXJuKCJVbmtub3duIGFjdGlvbiBpZDogIitlKTtyZXR1cm4gbnVsbH1jb25uZWN0KCl7dGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhcnRTZXNzaW9uSXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpfWZpbmlzaEluaXRXaXRob3V0Q29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNhYmxlKCksdGhpcy5faW5pdCgpLHRoaXMuX2NoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQuZmlyZSgpfXJlY29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QoKX11cGRhdGUoKXtpZih0aGlzLmhhc01vZGVsKCkpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkpZS51cGRhdGUoKTt0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQudXBkYXRlKCl9fXNldFByaWNlQXhpc0hvdmVyZWQoZSx0KXt0P3RoaXMuX2hvdmVyZWRQcmljZUF4ZXMuYWRkKGUpOnRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuZGVsZXRlKGUpLHRoaXMuX2FueUF4aXNIb3ZlcmVkLnNldFZhbHVlKHRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuc2l6ZT4wKX1hbnlQcmljZUF4aXNIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX2FueUF4aXNIb3ZlcmVkLnJlYWRvbmx5KCl9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9b2Zmc2V0SW5Eb2N1bWVudChlKXtjb25zdCB0PXRoaXMucGFuZUJ5U3RhdGUoZSk7aWYoIXQpcmV0dXJue2xlZnQ6TmFOLHRvcDpOYU59O2NvbnN0IGk9dC5nZXRFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue2xlZnQ6TWF0aC5yb3VuZChpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSx0b3A6TWF0aC5yb3VuZChpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCl9fXNob3dIaW50KGUsLi4udCl7MD09PWU/dGhpcy5fc2hvd0V2ZW50SGludCguLi50KToxPT09ZSYmdGhpcy5fc2hvd1dhcm5pbmdIaW50KC4uLnQpfWhvdGtleXMoKXtyZXR1cm4gdGhpcy5faG90a2V5c31vbkFib3V0VG9Mb2FkQ29udGVudCgpe2lmKHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCk7Zm9yKGNvbnN0IHQgb2YgZS5kYXRhU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKHQpJiZ0LmRldGFjaEFsZXJ0KCk7ZS5pc0luUmVwbGF5KCkudmFsdWUoKSYmZS5zd2l0Y2hUb1JlYWx0aW1lKCl9dGhpcy5fY2hhcnRTZXNzaW9uLmRpc2Nvbm5lY3QoKX1hc3luYyBsb2FkQ29udGVudChlLHQpe3RoaXMuc2NyZWVuLnNob3coKTtjb25zdCBpPXRoaXMubW9kZWwoKTtpLm1vZGVsKCkuc2V0TWF4aW1pemVkUGFuZShudWxsKSxpLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpO2NvbnN0IHM9aS5tYWluU2VyaWVzKCk7aS5tb2RlbCgpLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiZpLm1vZGVsKCkuc3dpdGNoVG9SZWFsdGltZSgpO2xldCBuLHI7aS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhck1lYXN1cmUoKSxpLnVubG9hZERhdGFTb3VyY2VzKCksCmkubW9kZWwoKS5hbGVydHNXYXRjaGVyKCk/LmRldGFjaFNvdXJjZUFsZXJ0TGFiZWxzKHMpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0KHRoaXMuX29uRGF0YS5iaW5kKHRoaXMpKSx0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpLHMucHVyZ2VTeW1ib2xJbmZvKCksZS5sb2FkaW5nPSEwLHRoaXMuX2lkPSgwLGwuZW5zdXJlRGVmaW5lZCkoZS5jaGFydElkKSxhd2FpdCgwLHJpLmVuc3VyZUFsbExpbmVUb29sc0xvYWRlZEZvckxheW91dCkoW2VdKSx0aGlzLl9jb250ZW50PWUsdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LHRoaXMuX2luaXRpYWxMb2FkaW5nPXQ7Y29uc3Qgbz10aGlzLl9jb250ZW50U2VyaWVzUHJvcGVydGllcygpO2lmKG8mJihuPW8scj1lLmNoYXJ0UHJvcGVydGllcy5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lKSwhbil0aHJvdyBFcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGV0ZXJtaW5pbmcgbWFpbiBzZXJpZXMgb24gdGhlIGNoYXJ0Iik7Y29uc3QgYT1zLnN0eWxlKCk7dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKHt2aXNpYmxlOiEwLHN5bWJvbDpuLnN5bWJvbCx0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6bi5pbnRlcnZhbHx8IkQiLHN0eWxlOm4uc3R5bGV9KSx2b2lkIDAhPT1yJiZ0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUuc2V0VmFsdWUociksYSE9PXMuc3R5bGUoKSYmcy5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5faW5pdCgpLGkudW5kb0hpc3RvcnkoKS5jbGVhclN0YWNrKCksdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZC5maXJlKCksaS5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXJlc2V0RHJhd2luZ1N0YXRlKCl7aWYoKDAsVC5yZXNldFRvQ3Vyc29yKSghMCksdGhpcy5oYXNNb2RlbCgpKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnBhbmUpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShlKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKX19Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKS52YWx1ZSgpfV9jbGVhclNlbGVjdGlvbkhvdGtleSgpe3JldHVybntkZXNjOiJDYW5jZWwgc2VsZWN0aW9uIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e2lmKHRoaXMuX2NoZWNrSXNUcmFkZWRHcm91cFNlbGVjdGVkKCkmJnRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcy50cmFkaW5nLnRyYWRlZENvbnRleHRMaW5raW5nLnZhbHVlKCk/LmNsZWFyKCksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSlyZXR1cm4gdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZ0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uZ2V0QWxsKCkuZm9yRWFjaCgoZT0+e2UhPT10aGlzJiZlLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5SZXBsYXkmJmUuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9KSksdm9pZCB0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpO2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCk7MT09PWUubGVuZ3RoJiYoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlWzBdKSYmZVswXS50ZXh0RWRpdGluZ0p1c3RGaW5pc2hlZCgpfHx0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9Pnt0aGlzLl9jYW5jZWxDcmVhdGluZ0xpbmUoKSxlLmNsZWFyU2VsZWN0aW9uKCl9KSk7Y29uc3QgdD10aGlzLm1vZGVsKCkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO3QmJnQuY2FuY2VsTW92ZUhhbmRsZXImJnQuY2FuY2VsTW92ZUhhbmRsZXIoKSYmKHQuY2FuY2VsbGVkPSEwLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCkpfX0saXNEaXNhYmxlZDooKT0+e2lmKCF0aGlzLmhhc01vZGVsKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmlzRW1wdHkoKSxpPW51bGw9PT1lLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkudmFsdWUoKSxzPXRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmU7cmV0dXJuIHQmJmkmJnN9fX1hc3luYyBfaW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKGUsdCxpLHMsbixyKXt0cnl7e2NvbnN0IGk9dGhpcy5tb2RlbCgpLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh7aWQ6ImphdmEiPT09ZS50eXBlP2Uuc3R1ZHlJZDoiIixjaGlsZDp0Lmxlbmd0aD4wLGZ1bmRhbWVudGFsOnM/LmlzRnVuZGFtZW50YWwsZm9yZWNhc3Q6cz8uaXNGb3JlY2FzdCxzdHViVGl0bGU6cz8uc3R1YlRpdGxlfSk7aWYoIWkuc3VjY2Vzcyl0aHJvdygwLFluLnNob3dTdHVkaWVzTGltaXRHb1Byb0RpYWxvZykodGhpcy5tb2RlbCgpLm1vZGVsKCksaSksbmV3IGxnKGxnLlJlYXNvbnMuTGltaXRzKX1yZXR1cm4gdC5sZW5ndGgmJmF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+eygwLFV0LnJ1bk9yU2lnbkluKShlLHtzb3VyY2U6InN0dWR5IG9uIHN0dWR5IixvblVubW91bnRFdmVudDooKT0+dChuZXcgbGcoYWcuQ2FuY2VsZWQpKX0pfSkpLHI/LigpLCJqYXZhIj09PWUudHlwZSYmYXdhaXQoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5yZXF1ZXN0TWV0YUluZm8oKSxhd2FpdCB0aGlzLl9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LGkscyxuKX1jYXRjaChlKXsKcmV0dXJuIGkmJmUgaW5zdGFuY2VvZiBsZyYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVtb3ZlU291cmNlKGksITApLG51bGx9fV9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LHMsbixyKXtjb25zdCBvPXRoaXMubW9kZWwoKS5jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxuKTtvLnNldEV2ZW50U291cmNlKG4/LmV2ZW50U291cmNlKSxvLnNldEZvcmNlT3ZlcmxheSgiamF2YSI9PT1lLnR5cGUmJiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PWUuc3R1ZHlJZCYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidm9sdW1lX2ZvcmNlX292ZXJsYXkiKSk7Y29uc3QgYT1vLmluc2VydCgoKGUsaSxzKT0+bmV3IFByb21pc2UoKChuLG8pPT57dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKSxyP24ocihlLGkscykpOiFmdW5jdGlvbihlKXtyZXR1cm4gaGEuaW5jbHVkZXMoZS5pZCl9KHMpPyhpPz9bXSkuc29tZSgoZT0+ZS5jb25maXJtKSk/KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIklucHV0cyBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSkpKTpuKHtpbnB1dHM6e30scGFyZW50U291cmNlczp0fSk6KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIlN5bWJvbCBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSksInN5bWJvbCIpKX0pKSksdm9pZCAwLHMpO3JldHVybiBhLnRoZW4oKCgpPT57KDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpfSkpLmNhdGNoKChlPT57c3x8KGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDYzMzkwNykpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoOTAwMDQxKSksYnV0dG9uVGV4dDpwLnQobnVsbCx2b2lkIDAsaSgxMTE4OTgpKSxiYWNrZHJvcDohMH0pLGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90Q29tcGlsZVB1YiYmKDAsaGUuc2hvd1dhcm5pbmcpKHt0aXRsZTpwLnQobnVsbCx2b2lkIDAsaSg2MjE5ODQpKSx0ZXh0OnAudChudWxsLHZvaWQgMCxpKDM4NjM3NykpLGJ1dHRvblRleHQ6cC50KG51bGwsdm9pZCAwLGkoMTExODk4KSksYmFja2Ryb3A6ITB9KSxlPT09cHUuSW5zZXJ0aW9uRXJyb3JDb2RlLkNhbm5vdEdldE1ldGFpbmZvJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDIxMjU2NCkpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoMjg1ZTMpKSxidXR0b25UZXh0OnAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpLGJhY2tkcm9wOiEwfSkpfSkpLGF9YXN5bmMgX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscyl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm4gbnVsbDt0JiYoKDAsUS5zZXRWYWx1ZSkoInByb3BlcnRpZXNfZGlhbG9nLmFjdGl2ZV90YWIuY2hhcnQiLHQpLGkudGFiTmFtZT10KTtjb25zdCBuPWF3YWl0IGNpKGUsdGhpcy5tb2RlbCgpLGksdGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24scyk7cmV0dXJuIG4/LnZpc2libGUoKS52YWx1ZSgpP246bnVsbH1fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKXt7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcz8/PW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcy5zZXRWYWx1ZSghMSk7Y29uc3QgZT17cmVhZE9ubHlNb2RlOnRoaXMucmVhZE9ubHkoKSxtaWdyYXRlU3luY2VkTGluZVRvb2xzOnRoaXM9PT10aGlzLl9vcHRpb25zLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRBbGwoKVswXX0sdD17bGF5b3V0SWQ6dGhpcy5sYXlvdXRJZCgpLGNoYXJ0SWQ6dGhpcy5faWQsY2xpZW50SWQ6dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudElkfSxpPXFfLkxpbmVUb29sc1N5bmNocm9uaXplcjt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI9bmV3IGkodCx0aGlzLm1vZGVsKCkubW9kZWwoKSxlLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXMpLG51bGwhPT10aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiZ0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuc2V0U2F2ZUNoYXJ0U2VydmljZSh0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlKSx0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuaW52YWxpZGF0ZUFsbCghMCksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubW9kZWwoKS5zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKX19X3VwZGF0ZVRoZW1lZENvbG9yKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoLjUpO2xldCBpPWUuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxzPWUuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtjb25zdCBuPSgwLEl0LmlzQ29sb3JEYXJrKSh0KSxyPSgwLEl0LmlzQ29sb3JEYXJrKShpKSxvPSgwLEl0LmlzQ29sb3JEYXJrKShzKTt0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldC0tdGhlbWVkLWRhcmsiLG4pLHRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0LS10aGVtZWQtbGlnaHQiLCFuKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayIsciksdGhpcy53aWRnZXQoKS5jbGFzc0xpc3QudG9nZ2xlKCJjaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IiwhciksCnRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0X19ib3R0b20tLXRoZW1lZC1kYXJrIixvKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQiLCFvKSx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWUuc2V0VmFsdWUocj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUuc2V0VmFsdWUobj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnNldFZhbHVlKG8/ImRhcmsiOiJsaWdodCIpLGk9PT1zJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLGksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKSkmJihpPW51bGwscz1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpKWUudXBkYXRlVGhlbWVkQ29sb3JzKHt0b3BDb2xvcjppLGJvdHRvbUNvbG9yOnN9KX1faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpe2NvbnN0IGU9VC50b29sLnZhbHVlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGUpJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lfV9jYW5jZWxDcmVhdGluZ0xpbmUoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5tb2RlbCgpLHQ9ZS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpJiZpLmV4Y2x1ZGVJdGVtcyhbdF0pO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnBhbmVGb3JTb3VyY2UodCkpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShzKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHQudG9vbG5hbWU9PT1ULnRvb2wudmFsdWUoKSYmKDAsVC5yZXNldFRvQ3Vyc29yKSgpfWNvbnN0IGk9ZS5jcm9zc2hhaXJTb3VyY2UoKS5tZWFzdXJlUGFuZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShpKSkuY2FuY2VsTWVhc3VyaW5nKCl9fV9hZGp1c3RTaXplKGUpe2xldCB0PTA7Y29uc3QgaT10aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkucHJpY2VTY2FsZVNsb3RzQ291bnQoKTpudWxsLHM9bmV3IFVpbnQzMkFycmF5KG51bGw9PT1pPzA6aS5sZWZ0KSxuPW5ldyBVaW50MzJBcnJheShudWxsPT09aT8wOmkucmlnaHQpLHI9e3ZhbHVlOjB9LG89e3ZhbHVlOjB9LGE9KDAsZGkuZ2V0Q2FudmFzRGV2aWNlUGl4ZWxSYXRpbykoZG9jdW1lbnQuYm9keSksbD0oZSx0KT0+ZSt0LGM9KGUsdCxpKT0+e0FycmF5LmlzQXJyYXkoaSk/aS5mb3JFYWNoKCgodCxpKT0+e2VbaV09TWF0aC5tYXgoZVtpXSx0KX0pKTp0LnZhbHVlPU1hdGgubWF4KHQudmFsdWUsaSl9LGg9KGUsdCxpKT0+e2lmKGkudmFsdWU+dCl7Y29uc3Qgcz1pLnZhbHVlL3Q7bGV0IG49MDtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdPU1hdGguY2VpbChlW3RdKnMpLG4rPWVbdF07cmV0dXJuIG59cmV0dXJuIHR9LGQ9dGhpcy5fd2lkdGgoKSx1PXRoaXMuX2hlaWdodCgpLHA9dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoLF89dGhpcy5oYXNNYXhpbWl6ZWRQYW5lKCk/MDpQaS5oZWlnaHQoKSpwLG09bnVsbCE9PXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX3RpbWVBeGlzV2lkZ2V0Lm9wdGltYWxIZWlnaHQoKTowO2xldCBnPXUtbT49NjE/bTowO2clMiYmKGcrPTEpO2NvbnN0IGY9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSxTPU1hdGgubWF4KDEsTWF0aC5mbG9vcigodS1fLWcpL2YubGVuZ3RoKSk7bGV0IHY9MCx5PW51bGw7Y29uc3QgYj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiBmKWlmKCFifHxiPT09ZSl7ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS51cGRhdGVDdXJyZW5jeUxhYmVscygpO2NvbnN0IGk9ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5vcHRpbWFsV2lkdGhzKCk7ZS5yaWdodFByaWNlQXhpc2VzQ29udGFpbmVyKCkudXBkYXRlQ3VycmVuY3lMYWJlbHMoKTtjb25zdCBhPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLm9wdGltYWxXaWR0aHMoKTtjKHMscixpKSxjKG4sbyxhKSxiIT09ZSYmZS5zdGF0ZSgpLmNvbGxhcHNlZCgpLnZhbHVlKCk/dis9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKToodCs9ZS5zdHJldGNoRmFjdG9yKCkseT1lKX1sZXQgdz1zLnJlZHVjZShsLDApOzA9PT13JiYwIT09cy5sZW5ndGgmJjAhPT1yLnZhbHVlJiYoc1swXT13PXIudmFsdWUpO2xldCBDPW4ucmVkdWNlKGwsMCk7MD09PUMmJjAhPT1uLmxlbmd0aCYmMCE9PW8udmFsdWUmJihuWzBdPUM9by52YWx1ZSksdz1oKHMsdyxyKSxDPWgobixDLG8pO2xldCBQPU1hdGgubWF4KGQtdy1DLDApO2lmKFA8PTEwMil7dz0wLEM9MCxQPWQ7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspc1tlXT0wO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKW5bZV09MH1mb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycyllLmFkanVzdFNpemUoKTtjb25zdCBUPV8rditnLHg9dTxUPzA6dS1ULE09eC90O2xldCBJPTAsTD0hMTtjb25zdCBBPXRoaXMuaGFzTW9kZWwoKT90aGlzLm1vZGVsKCkubW9kZWwoKTp2b2lkIDA7dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgoZSx0KT0+e3ZvaWQgMCE9PUEmJmUuc2V0U3RhdGUoQS5wYW5lcygpW3RdKTtsZXQgaT0wO2lmKHRoaXMuaGFzTWF4aW1pemVkUGFuZSgpKWk9dGhpcy5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCk9PT1lP3g6MDtlbHNlIGlmKGUuc3RhdGUoKS5jb2xsYXBzZWQoKS52YWx1ZSgpKWk9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKTtlbHNle2NvbnN0IHQ9ZT09PXk/TWF0aC5jZWlsKCh4LUkpKmEpL2E6TWF0aC5yb3VuZChlLnN0cmV0Y2hGYWN0b3IoKSpNKmEpL2EKO2k9TWF0aC5tYXgodCwyKSxJKz1pfWUuc2V0UHJpY2VBeGlzU2l6ZXMoImxlZnQiLGkscyksZS5zZXRQcmljZUF4aXNTaXplcygicmlnaHQiLGksbiksTD1MfHxpIT09ZS5oZWlnaHQoKSxlLnNldFNpemUoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Oml9KSksQSYmZS5zdGF0ZSgpJiZBLnNldFBhbmVIZWlnaHQoZS5zdGF0ZSgpLGkpfSkpLG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQuc2V0U2l6ZXMoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Omd9KSxzLG4pLEEmJkEuc2V0V2lkdGgoUCxlKSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbiYmdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24udXBkYXRlUG9zaXRpb24oKSx0aGlzLl9saHNBeGVzV2lkdGghPT13JiYodGhpcy5fbGhzQXhlc1dpZHRoPXcsdGhpcy5fbGhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkLmZpcmUodykpLHRoaXMuX3Joc0F4ZXNXaWR0aCE9PUMmJih0aGlzLl9yaHNBeGVzV2lkdGg9Qyx0aGlzLl9yaHNQcmljZUF4aXNXaWR0aENoYW5nZWQuZmlyZShDKSksTCYmJC5lbWl0KCJwYW5lc19oZWlnaHRfY2hhbmdlZCIpfV9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS5wYW5lcygpLHQ9ZS5sZW5ndGgsaT10aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmxlbmd0aCxzPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuc2xpY2UoKTtmb3IobGV0IGU9dDtlPGk7ZSsrKXsoMCxsLmVuc3VyZURlZmluZWQpKHMucG9wKCkpLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX3BhbmVTZXBhcmF0b3JzLnBvcCgpO2UmJmUuZGVzdHJveSgpfWNvbnN0IG49dGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGE7Zm9yKGxldCByPTA7cjx0O3IrKyl7Y29uc3QgdD1yPj1pLG89e2NvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudUVuYWJsZWQsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsaGFuZGxlU2NhbGU6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY2FsZSxoYW5kbGVTY3JvbGw6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQsbGVnZW5kV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldEVuYWJsZWQmJmVbcl0ubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZDohbixzb3VyY2VTdGF0dXNlc1dpZGdldDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNXaWRnZXRFbmFibGVkJiYhbixjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0RW5hYmxlZCYmIW4sY2hhcnRXYXJuaW5nV2lkZ2V0OnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0LGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZCYmIW4sbGVnZW5kV2lkZ2V0OnRoaXMuX29wdGlvbnMubGVnZW5kV2lkZ2V0LHByb3BlcnR5UGFnZXNFbmFibGVkOnRoaXMuX29wdGlvbnMucHJvcGVydHlQYWdlc0VuYWJsZWQsc291cmNlU2VsZWN0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQsY29udHJvbHNFbmFibGVkOnRoaXMuX29wdGlvbnMucGFuZUNvbnRyb2xzRW5hYmxlZCxjcm9wcGVkVGlja01hcmtzOnRoaXMuX29wdGlvbnMuY3JvcHBlZFRpY2tNYXJrcyxjb3VudGRvd25FbmFibGVkOnRoaXMuX29wdGlvbnMuY291bnRkb3duRW5hYmxlZCxjdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXM6bmV3IE1hcCh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcCksdXNlS2luZXRpY1Njcm9sbDp0aGlzLl9vcHRpb25zLnVzZUtpbmV0aWNTY3JvbGwscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSxhbGVydFN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSYmIXRoaXMuX29uV2lkZ2V0fTtpZih2b2lkIDAhPT10aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudSYmKG8uY29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wYW5lQ29udGV4dE1lbnUpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYoby5wcmljZVNjYWxlQ29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnUpLHQpe2NvbnN0IHQ9bmV3IGJuKHRoaXMsZVtyXSxvLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUpO2lmKHMucHVzaCh0KSxyPjApe2NvbnN0IGU9bmV3IFBpKHRoaXMsci0xLHIpO3RoaXMuX3BhbmVTZXBhcmF0b3JzLnB1c2goZSksdGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fZWxNYWluVGFibGUuaW5zZXJ0QmVmb3JlKGUuZ2V0RWxlbWVudCgpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmdldEVsZW1lbnQoKSk6dGhpcy5fZWxNYWluVGFibGUuYXBwZW5kQ2hpbGQoZS5nZXRFbGVtZW50KCkpfXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX2VsTWFpblRhYmxlLmluc2VydEJlZm9yZSh0LmdldEVsZW1lbnQoKSx0aGlzLl90aW1lQXhpc1dpZGdldC5nZXRFbGVtZW50KCkpOnRoaXMuX2VsTWFpblRhYmxlLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1lbHNle3Nbcl0udXBkYXRlT3B0aW9ucyhvKX19Y29uc3Qgcj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycylyP2UuaGlkZSgpOmUuc2hvdygpO2ZvcihsZXQgaT0wO2k8dDtpKyspe2NvbnN0IHQ9ZVtpXSxuPXNbaV0KO24uaGFzU3RhdGUoKSYmbi5zdGF0ZSgpPT09dD9uLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKTpuLnNldFN0YXRlKHQpfWZvcihsZXQgZT10O2UtLTspc1tlXS51cGRhdGVDb250cm9scygpO3RoaXMuX3BhbmVXaWRnZXRzLnNldFZhbHVlKFsuLi5zXSksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2U/LnVwZGF0ZVBhbmVXaWRnZXRzKCl9KSksdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IoKX1fd2lkdGgoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy53aWR0aC52YWx1ZSgpfV9oZWlnaHQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5oZWlnaHQudmFsdWUoKX1fdXBkYXRlKGUsdCl7Y29uc3QgaT1lP2UuZnVsbEludmFsaWRhdGlvbigpOkxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGwscz0hIWUmJmUuaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKTtpZihudWxsIT09dGhpcy5fdGltaW5nc01ldGVyJiZ0aGlzLl90aW1pbmdzTWV0ZXIuc3RhcnREcmF3KGksdGhpcy5tb2RlbCgpLm1vZGVsKCkubWFpblNlcmllcygpLnN0eWxlKCkpLGk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5oYXNNb2RlbCgpP3RoaXMuX3VwZGF0ZUd1aShzKTp0aGlzLl9hZGp1c3RTaXplKHMpKSxpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvciYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py51cGRhdGUoKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLnVwZGF0ZVByaWNlQXhpc1dpZGdldHMoKX0pKSx0aGlzLl9hcHBseVRpbWVTY2FsZUludmFsaWRhdGlvbnMoZSx0KSx0aGlzLl9pbnZhbGlkYXRpb25NYXNrPy5mdWxsSW52YWxpZGF0aW9uKCk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5faW52YWxpZGF0aW9uTWFzay5tZXJnZShlKSx0aGlzLl9hZGp1c3RTaXplKHRoaXMuX2ludmFsaWRhdGlvbk1hc2suaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKSksdGhpcy5fYXBwbHlUaW1lU2NhbGVJbnZhbGlkYXRpb25zKHRoaXMuX2ludmFsaWRhdGlvbk1hc2ssdCksZT10aGlzLl9pbnZhbGlkYXRpb25NYXNrLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCkpLHRoaXMucGFpbnQoZSksdGhpcy5fZGF0YVdpbmRvd1dpZGdldCl7Y29uc3QgdD1lLm1heFBhbmVJbnZhbGlkYXRpb24oKTt0PT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuRnVsbD90aGlzLl9kYXRhV2luZG93V2lkZ2V0LmZ1bGxVcGRhdGUoKTp0PkxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUmJnRoaXMuX2RhdGFXaW5kb3dXaWRnZXQudXBkYXRlKCl9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgodCxpKT0+e3QudXBkYXRlU3RhdHVzV2lkZ2V0KGUuaW52YWxpZGF0aW9uRm9yUGFuZShpKSl9KSksbnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmdGhpcy5fdGltaW5nc01ldGVyLnN0b3BEcmF3KCksZSYmZS5wYW5lc09yZGVySW52YWxpZGF0ZWQoKSYmJC5lbWl0KCJwYW5lc19vcmRlcl9jaGFuZ2VkIil9X2luaXRNYXhpbWl6ZUhvdGtleShlKXtjb25zdCB0PWU9PiFlLmRlZmF1bHRQcmV2ZW50ZWQmJigwLEsubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PUsuTW9kaWZpZXJzLkFsdCYmISgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpLGk9ZT0+e3QoZSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHM9ZT0+e3QoZSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSl9O3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscywhMCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIscywhMCl9fV9vbk1vdXNld2hlZWwoZSl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm47aWYoIXRoaXMubW9kZWwoKS5tb2RlbCgpLnpvb21FbmFibGVkKCl8fG51bGw9PT10aGlzLl9tb3VzZVdoZWVsSGVscGVyKXJldHVybjtpZih0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybjtjb25zdCB0PXRoaXMuX21vdXNlV2hlZWxIZWxwZXIucHJvY2Vzc1doZWVsKGUpLGk9dC5kZWx0YVgscz0tdC5kZWx0YVk7aWYoMCE9PWkmJnRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLm1vdXNlV2hlZWx8fDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2lmKGUuY2FuY2VsYWJsZSYmZS5wcmV2ZW50RGVmYXVsdCgpLDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2NvbnN0IHQ9TWF0aC5zaWduKHMpKk1hdGgubWluKDEsTWF0aC5hYnMocykpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWUuY2xpZW50WC10aGlzLl9saHNBeGVzV2lkdGgtaS5sZWZ0O2lmKCFOdW1iZXIuaXNGaW5pdGUobil8fCFOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHZvaWQgWW0ubG9nV2FybigiSW5jb3JyZWN0IG1vdXNlIHdoZWVsIHByb2Nlc3Npbmc6IHNjcm9sbFBvc2l0aW9uOiAiK24rIiwgem9vbVNjYWxlOiAiK3QpO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkubW9kKCk7dGhpcy5tb2RlbCgpLm1vZGVsKCkuem9vbVRpbWUobix0LCEhcnx8dm9pZCAwKSx0aGlzLl9vblpvb20uZmlyZShyKX0wIT09aSYmdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCYmdGhpcy5tb2RlbCgpLnNjcm9sbENoYXJ0KC04MCppKX19X2JlZ2luUmVxdWVzdEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi52YWx1ZSgpIT09dGhpcztpZih0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc2V0VmFsdWUodGhpcyksZSl7dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFyaWFEZXNjcmliZUNoYXJ0KHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0V1YudmFsdWUoKSk7Y29uc3QgZT0oMCwKdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKTtlLmlzVG91Y2gmJiFlLnN0eWx1cyYmdGhpcy5faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpJiZ0aGlzLnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSx0aGlzLl9qdXN0QWN0aXZhdGVkPSEwfX1fZW5kUmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2p1c3RBY3RpdmF0ZWQmJnNldFRpbWVvdXQoKCgpPT50aGlzLl9qdXN0QWN0aXZhdGVkPSExKSwwKX1fcmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZSgpLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUoKX1fY3JlYXRlU2Vzc2lvbnMoZSl7Y29uc3QgdD10aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzLmJpbmQodGhpcyxKdC5UYWJOYW1lcy5ldmVudHMpO2UuY3JlYXRlU2Vzc2lvbnModCl9X2NyZWF0ZVByZVBvc3RNYXJrZXQoZSl7e2NvbnN0IHQ9dGhpcy5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMsSnQuVGFiTmFtZXMuc2NhbGVzKTtlLmNyZWF0ZVByZVBvc3RNYXJrZXQodCl9fV9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpe2NvbnN0IGU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIpJiZ0aGlzLl9vcHRpb25zLmFkZFZvbHVtZSx0PSF0aGlzLl9jb250ZW50LGk9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIik7dGhpcy5fY29udGVudCYmdGhpcy5fY29udGVudC5sb2FkaW5nO2lmKGUmJnQpe2NvbnN0IGU9KCk9PntzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZighdClyZXR1cm47Y29uc3QgaT0oMCxBLmhhc1ZvbHVtZSkodCk7aWYoIXRoaXMuY29udGFpbnNWb2x1bWUoKSYmaSl7Y29uc3QgdD0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMudm9sdW1lUGFuZVNpemUiKTthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9ZS5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pO2kuc2V0Rm9yY2VPdmVybGF5KCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInZvbHVtZV9mb3JjZV9vdmVybGF5IikpLGkuc2V0UGFuZVNpemUodCksKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV92b2x1bWVfbWEiKSYmaS5zZXRQcm9wZXJ0aWVzU3RhdGUoe3N0eWxlczp7dm9sX21hOntkaXNwbGF5OlZoLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZX19fSksaS5pbnNlcnQoKX1lbHNlIGlmKCFpJiZ0aGlzLmNvbnRhaW5zVm9sdW1lKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpWzBdO2UucmVtb3ZlU291cmNlKHQpfX0pKX07dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyxlLGkpfX1vbk1vZGVsVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9X2luaXRCYWNrZ3JvdW5kQ29sb3IoKXtudWxsPT09dGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24mJih0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3JTcGF3bj10aGlzLm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLl9vbkJhY2tncm91bmRDb2xvckNoYW5nZWQuYmluZCh0aGlzKSkpLG51bGw9PT10aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3biYmKHRoaXMuX2JhY2tncm91bmRCb3R0b21Db2xvclNwYXduPXRoaXMubW9kZWwoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnNwYXduKCksdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd24uc3Vic2NyaWJlKHRoaXMuX29uQmFja2dyb3VuZENvbG9yQ2hhbmdlZC5iaW5kKHRoaXMpKSl9X3VwZGF0ZUd1aShlKXt0aGlzLmhhc01vZGVsKCkmJih0aGlzLl9tYWtlVGltZUF4aXNXaWRnZXQoKSx0aGlzLl9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCksdGhpcy5fZWxNYWluVGFibGUuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsdGhpcy5fYWRqdXN0U2l6ZShlKSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLGBDaGFydCBTdHlsZSAke3RoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZ2V0U3R5bGVTaG9ydE5hbWUoKS50b1VwcGVyQ2FzZSgpfWApfV9hZGRQZXJmTWFyayhlKXsoMCxxbS5hZGRQZXJmTWFyaykoYENoYXJ0V2lkZ2V0LiR7dGhpcy5faWR9LiR7ZX1gKX1fc2V0RWxlbWVudChlKXtpZighZSlyZXR1cm47aWYodGhpcy5fbWFpbkRpdil7dGhpcy5fbWFpbkRpdi5yZW1vdmUoKTtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7ZS5zZWxlY3ROb2RlQ29udGVudHMoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpKSxlLmRlbGV0ZUNvbnRlbnRzKCl9dGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24mJih0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbi5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCksbnVsbCE9PXRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5JiZ0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleSgpLHRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5PXRoaXMuX2luaXRNYXhpbWl6ZUhvdGtleShlKTtjb25zdCB0PWUub3duZXJEb2N1bWVudCxzPXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc0xpc3QuYWRkKCJjaGFydC1jb250YWluZXItYm9yZGVyIiksZS5pbnNlcnRCZWZvcmUocyxlLmZpcnN0Q2hpbGQpLHRoaXMuX3BhcmVudD1zO2NvbnN0IG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLmNsYXNzTGlzdC5hZGQoImNoYXJ0LXdpZGdldCIpLHRoaXMuX21haW5EaXY9biwKdGhpcy5fZWxUb29sdGlwRGl2PXQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxUb29sdGlwRGl2LmNsYXNzTmFtZT0idG9vbHRpcC13cmFwcGVyIix0aGlzLl9tYWluRGl2LmFwcGVuZENoaWxkKHRoaXMuX2VsVG9vbHRpcERpdiksdGhpcy5fZWxNYWluVGFibGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbE1haW5UYWJsZS5jbGFzc05hbWU9ImNoYXJ0LW1hcmt1cC10YWJsZSIsdGhpcy5fbWFpbkRpdi5hcHBlbmRDaGlsZCh0aGlzLl9lbE1haW5UYWJsZSksbi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyZWdpb24iKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIscC50KG51bGwse3JlcGxhY2U6e2luZGV4OnRoaXMuaWQoKX19LGkoODQzMzY3KSkpLHRoaXMuX2hvdGtleXNMaXN0ZW5lciYmdGhpcy5faG90a2V5c0xpc3RlbmVyLmRlc3Ryb3koKSx0aGlzLl9lcnJvclJlbmRlcmVyUmVzb3VyY2UuY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2V0Q29udGFpbmVyKHRoaXMuX3BhcmVudCl9KSksdGhpcy5faG90a2V5c0xpc3RlbmVyPW5ldyBYdC5DaGFydEhvdGtleXNMaXN0ZW5lcih0aGlzLHRoaXMuX21haW5EaXYpLCh0aGlzLl9vcHRpb25zLmNvbnRyb2xCYXJFbmFibGVkfHwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjb250cm9sX2JhciIpKSYmdGhpcy5fY3JlYXRlQ29udHJvbEJhcigpLHRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUubW91c2VXaGVlbHx8dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCl7dGhpcy5fbW91c2VXaGVlbEhlbHBlcj1uZXcgU2k7Y29uc3QgZT10aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKTt0aGlzLl9vbldoZWVsQm91bmQ9ZSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixlLHtwYXNzaXZlOiExfSl9dGhpcy5fbWFpbkRpdi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwoKCk9PnRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCkpKSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLCgoKT0+dGhpcy5faXNIb3ZlcmVkLnNldFZhbHVlKCExKSkpLHRoaXMucmVzaXplKCksdGhpcy5fanVzdEFjdGl2YXRlZD0hMSx0aGlzLndpdGhNb2RlbCh0aGlzLCgoKT0+e3MuYXBwZW5kQ2hpbGQobiksbi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9iZWdpblJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fZW5kUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9yZXF1ZXN0QWN0aXZlLmJpbmQodGhpcykpfSkpLHRoaXMuX2luaXRlZCYmKG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl90aW1lQXhpc1dpZGdldD1udWxsKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9wYW5lV2lkZ2V0cy5zZXRWYWx1ZShbXSksdGhpcy5fcGFuZVNlcGFyYXRvcnMuZm9yRWFjaCgoZT0+e2UuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVTZXBhcmF0b3JzLmxlbmd0aD0wLHRoaXMuX3VwZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSxwZXJmb3JtYW5jZS5ub3coKSkpfV9pbml0KCl7dGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmNsZWFyRGF0YSgpLHRoaXMuX2luaXRDb2xvcnMoKSx0aGlzLl9tYWtlRGVmYXVsdEd1aSgpO3RoaXMuX21ha2VEZWZhdWx0TW9kZWwoKSwoKCk9Pnt0aGlzLl9jaGVja09ic29sZXRlVGltZXpvbmUoKSx0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0ZWQoKSYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVzdGFydCgpLHRoaXMuX2NvbnRlbnQmJih0aGlzLl9pbml0Q29sb3JzKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy51cGRhdGUoKSksdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e3RoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIoTGUuSW52YWxpZGF0aW9uTWFzay5mdWxsKCkpfSx0aGlzLl9yZXNpemVIYW5kbGVyKCksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLmFwcGVuZENoaWxkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWFpbkRpdikpLHRoaXMuX3NwaW5uZXImJih0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9zcGlubmVyPW51bGwpLHRoaXMuX2FjdGl2YXRlU3ltYm9sU2VhcmNoSG90a2V5cygpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5vblNjcm9sbCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25TY3JvbGwuZmlyZSgpKSksdGhpcy5faW5pdGVkPSEwfSkoKX1fbWFrZURlZmF1bHRNb2RlbCgpe2xldCBlO2lmKHRoaXMuX2NvbnRlbnQmJnRoaXMuX2NvbnRlbnQudGltZVNjYWxlLnBvaW50cyl7Y29uc3QgdD10aGlzLl9jb250ZW50LnRpbWVTY2FsZS5wb2ludHMuaXRlbXNbMF07ZT17c3RhcnREYXRlOnR9fWNvbnN0IHQ9KCk9Pntjb25zdCB0PXtyZWFkT25seTp0aGlzLnJlYWRPbmx5KCksaXNTbmFwc2hvdDohIXRoaXMuX2NvbnRhaW5zRGF0YSwuLi4oMCwKa3QucGlja0ZpZWxkcykodGhpcy5fb3B0aW9ucyxbInRpbWVTY2FsZSIsImNyb3NzSGFpciIsImNoYXJ0RXZlbnRzRW5hYmxlZCIsIm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCIsImVzZEVuYWJsZWQiLCJsYXRlc3RVcGRhdGVzRW5hYmxlZCIsImNvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzRW5hYmxlZCIsImZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkIiwiY291bnRkb3duRW5hYmxlZCIsImxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQiLCJjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkIiwidW5pdENvbnZlcnNpb25FbmFibGVkIiwibWV0cmljQ29udmVyc2lvbkVuYWJsZWQiLCJ3YXRlcm1hcmtFbmFibGVkIiwic2hpZnRWaXNpYmxlUmFuZ2VPbk5ld0JhciIsImhpZGVJZGVhcyIsIm9uV2lkZ2V0Il0pfTt2b2lkIDAhPT10LmNyb3NzSGFpciYmKHQuY3Jvc3NIYWlyLmV4dGVybmFsU2VydmljZXM9dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcpO2NvbnN0IGk9bmV3IENfKHtjaGFydFNlc3Npb246dGhpcy5fY2hhcnRTZXNzaW9uLGludmFsaWRhdGVIYW5kbGVyOnRoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIscHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLHNlcmllc1Byb3BlcnRpZXM6dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMsZGF0YVJlcXVlc3Q6ZSxjaGFydFdpZGdldDp0aGlzLHVuZG9IaXN0b3J5OnRoaXMuX29wdGlvbnMudW5kb0hpc3RvcnksYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6dGhpcy5fb3B0aW9ucy5iYXJzTWFya3NDb250YWluZXJzRmFjdG9yeSxvcHRpb25zOnQsaGliZXJuYXRlVlc6dGhpcy5fY29sbGFwc2VkLGxpbmtpbmdHcm91cFdWOnRoaXMuX2xpbmtpbmdHcm91cEluZGV4LGlzQXV0b1NhdmVFbmFibGVkOnRoaXMuX3NhdmVDaGFydFNlcnZpY2U/LmF1dG9TYXZlRW5hYmxlZCgpPz9uZXcgaC5XYXRjaGVkVmFsdWUoITApLGRyYXdUaW1lOnRoaXMuX2RyYXdUaW1lLnJlYWRvbmx5KCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXMudHJhZGluZy50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlfSk7cmV0dXJuIGkubW9kZWwoKS5mdWxsVXBkYXRlKCksdGhpcy5fY3JlYXRlU2Vzc2lvbnMoaS5tb2RlbCgpKSx0aGlzLl9jcmVhdGVQcmVQb3N0TWFya2V0KGkubW9kZWwoKSksaX07dGhpcy5fbW9kZWxXVi5zZXRWYWx1ZSh0aGlzLl9tb2RlbFdWLnZhbHVlKCl8fHQoKSwhMCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2V0Q2hhcnRTYXZlVGltZSgxZTMqdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm1ldGFJbmZvLmxhc3RNb2RpZmllZC52YWx1ZSgpKSx0aGlzLl9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpO2lmKHRoaXMuX2NvbnRlbnQpe2xldCBlPXRoaXMuX3NldFN5bWJvbEludGVydmFsQ29udGVudE92ZXJyaWRlcztLbSYmdGhpcy5faW5pdGlhbExvYWRpbmcmJihlPXsuLi5lLHN5bWJvbDp0aGlzLl9kZWZTeW1ib2wsaW50ZXJ2YWw6dGhpcy5fZGVmSW50ZXJ2YWw/P3ZvaWQgMCxzdHlsZTp0aGlzLl9kZWZTdHlsZT8/dm9pZCAwfSx0aGlzLl9kZWZJbnRlcnZhbCYmeC5JbnRlcnZhbC5pc1JhbmdlKHRoaXMuX2RlZkludGVydmFsKSYmKGUuc3R5bGU9MTEpKSx0aGlzLl9hcHBseVNhdmVkTW9kZWxTdGF0ZSh0aGlzLl9jb250YWluc0RhdGEsZSksdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LEttJiZ0aGlzLl9kZWZTeW1ib2wmJnRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKX10aGlzLl9zZXRBY3Rpb25zKCksdGhpcy5fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKSwoKCk9Pntjb25zdCBlPXRoaXMubW9kZWwoKTtlLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25Nb2RlbFRhZ3NDaGFuZ2VkKCkpKSx0aGlzLl9pbml0QmFja2dyb3VuZENvbG9yKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy5fbW9kZWxDcmVhdGVkLmZpcmUoZSksdGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpO2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0aGlzLl9kZWZUaW1lZnJhbWUmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9kZWZUaW1lZnJhbWUpLHRoaXMuX2RlZk1ldHJpYyYmdC5zZXRNZXRyaWModGhpcy5fZGVmTWV0cmljKSx0LmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoZT0+dC5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSkpKSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShpLnN5bWJvbC52YWx1ZSgpKSxpLnN5bWJvbC5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZS52YWx1ZSgpKSkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShpLmludGVydmFsLnZhbHVlKCkpLGkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlLnZhbHVlKCkpKSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlTG9naW5TdGF0ZUNoYW5nZWQpLHRoaXMuX2hhbmRsZUxvZ2luU3RhdGVDaGFuZ2VkKCksdC5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+e2NvbnN0IGk9ZS5wcm9fbmFtZSxzPWUucHJvX3Blcm07aSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZShpLHMpLnRoZW4oKGU9PntlfHx0LnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOigwLER0LmdldERlZmF1bHRTeW1ib2wpKCl9KX0pKX0pKSx2b2lkIDAhPT10aGlzLl9vcHRpb25zLnJlcXVlc3RGYWxsYmFja1N5bWJvbCYmdC5kYXRhRXZlbnRzKCkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+eygwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fb3B0aW9ucy5yZXF1ZXN0RmFsbGJhY2tTeW1ib2wpKGkuc3ltYm9sLnZhbHVlKCkse3R5cGU6Imdyb3VwX25vdF9wZXJtaXR0ZWQiLApzeW1ib2xHcm91cDplfSkudGhlbigoZT0+e2UmJnQuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfSkpfSkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodC5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKS5iaW5kKHQpKCkuc3Vic2NyaWJlKHRoaXMuc2NyZWVuLHRoaXMuc2NyZWVuLnNob3cpLGkuc3R5bGUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKSxpLnN0eWxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTdHlsZUNoYW5nZWQpLHQuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fYWRkUGVyZk1hcmsoIlNlcmllc0NvbXBsZXRlZCIpKSwhMCksdC5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2FkZFBlcmZNYXJrKCJTZXJpZXNGaXJzdERhdGFSZWNlaXZlZCIpKSwhMCk7Y29uc3Qgcz10aGlzLl9vcHRpb25zO3QuZGF0YUV2ZW50cygpLmNoYXJ0VHlwZU5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3Quc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDoiRCJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoKDAsTWUudHJhY2tHb1Byb0ZlYXR1cmUpKCJrYWdpUmVua28iKSwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImthZ2lSZW5rbyJ9KSl9KSksdC5kYXRhRXZlbnRzKCkuaW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJpbnRyYWRheVNwcmVhZCJ9KX0pKSx0LmRhdGFFdmVudHMoKS5jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLChpPT57Y29uc3Qgbj1lLm1vZGVsKCkuZGVmYXVsdFJlc29sdXRpb25zKCkscj1uLmZpbmQoKGU9PigwLEkuY29tcGFyZVJlc29sdXRpb25zKShlLGkpPj0wKSk/P25bbi5sZW5ndGgtMV07dC5zZXRTeW1ib2xQYXJhbXMoe2ludGVydmFsOnJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImN1c3RvbUludGVydmFscyJ9KX0pKSx0LmRhdGFFdmVudHMoKS5zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJzZWNvbmRzSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLnRpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJ0aWNrSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLmludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntpZih0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSksIXMubXV0ZVNlc3Npb25FcnJvcnMpe2xldCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodC5zeW1ib2xJbmZvKCkpLmxpc3RlZF9leGNoYW5nZTsoMCxUXy5nZXRFeGNoYW5nZXMpKCkuZm9yRWFjaCgodD0+e3QudmFsdWU9PT1lJiYoZT10Lm5hbWUpfSkpLCgwLFd1LnJlbG9naW5PckdvUHJvKSh7ZmVhdHVyZToiaW50cmFkYXlFeGNoYW5nZSJ9KX19KSksdC5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBpPXQuaW50ZXJ2YWwoKSxzPWUubW9kZWwoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKSxuPSgwLEEuZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKCkscj0oMCxJLmdldFJlc29sdXRpb25CeUNoYXJ0U3R5bGUpKG4saSxzKTt0LnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZChuLHIpfSkpLHQucmVxdWVzdGluZ1N0eWxlU3VwcG9ydFJlY292ZXJlZC5zdWJzY3JpYmUobnVsbCwoaT0+e2NvbnN0IHM9dC5pbnRlcnZhbCgpLG49ZS5tb2RlbCgpLmRlZmF1bHRSZXNvbHV0aW9ucygpLHI9KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKShpLHMsbik7dC5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQoaSxyKX0pKX0pKCl9X2FwcGx5U2F2ZWRNb2RlbFN0YXRlKGUsdCl7dGhpcy5fYWRqdXN0U2l6ZSgpO2NvbnN0IHM9dGhpcy5tb2RlbCgpLG49cy5yZXN0b3JlU3RhdGUodGhpcy5fY29udGVudCxlLHQpLHI9cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMuX3N5bWJvbFdWLnNldFZhbHVlKHIuc3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShyLmludGVydmFsLnZhbHVlKCkpLG4mJm4ubGluZXNfbGltaXRfZXhjZWVkZWQmJiF0aGlzLnJlYWRPbmx5KCkmJlByb21pc2UuYWxsKFtpLmUoODM0NTApLGkuZSg1NDY4MSksaS5lKDMxODM3KSxpLmUoMjA5NzEpLGkuZSg0OTUxOCksaS5lKDc1MzA0KSxpLmUoMzgwMDIpLGkuZSg3MDM2NCksaS5lKDg5MTk1KSxpLmUoNzUwNCksaS5lKDgzMjI1KSxpLmUoNDY2MDApLGkuZSgxNzUxNSldKS50aGVuKGkuYmluZChpLDQwODMwOSkpLnRoZW4oKCh7c2hvd0xpbmV0b29sc0xpbWl0RXhjZWVkZWREaWFsb2c6ZX0pPT57ZSh0aGlzKX0pKX1fYWRkSG90a2V5cygpe2lmKHRoaXMuX2hvdGtleXMuYWRkKHtkZXNjOiJNYXhpbWl6ZSIsaG90a2V5OksuTW9kaWZpZXJzLkFsdCsxMyxoYW5kbGVyOigpPT50aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSxpc0Rpc2FibGVkOigpPT4hdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpfSksdGhpcy5faG90a2V5cy5hZGQodGhpcy5fY2xlYXJTZWxlY3Rpb25Ib3RrZXkoKSksdGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzRGlhbG9nU2hvcnRj"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.617Z","timestamp":1785124876617,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fca-602\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:50 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e1a08371b16f484aa1be8a6e2d70e1d9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1538,"size_decoded":1517,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1538), with no line terminators","md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-27T06:24:31.708566Z","times_seen":261,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk3OV0sezM2MzY1MyhlLHMsbyl7by5kKHMse0hpcDNEaXNjbGFpbWVyOigpPT5hfSk7dmFyIHQ9byg1OTY3MDYpLGw9byg5NTY0MzcpLG49byg5MzA1NjYpO2Z1bmN0aW9uIGkoZSl7bnVsbCE9PWUmJigwLHQuaXNIaXAzU3ltYm9sKShlLnR5cGVzcGVjcykmJihCb29sZWFuKG4uZ2V0Qm9vbCgiaGlwMy5kaXNjbGFpbWVyQWNjZXB0ZWQiKSl8fFByb21pc2UuYWxsKFtvLmUoODcwMDcpLG8uZSg0NjYwKSxvLmUoNDE1MjQpXSkudGhlbihvLmJpbmQobywzMTkwMTEpKS50aGVuKChlPT5lLnNob3dIaXAzRGlzY2xhaW1lckRpYWxvZyh7b25BY2NlcHQ6KCk9Pm4uc2V0VmFsdWUoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIiwhMCx7Zm9yY2VGbHVzaDohMH0pfSkpKSl9Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zPVtdLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbCx0aGlzLl9vbk1vZGVsQ2hhbmdlZD1lPT57dGhpcy5fZGV0YWNoRnJvbU1vZGVsKCksdGhpcy5fYXR0YWNoZWRNb2RlbD1lLG51bGwhPT1lJiYoZS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9zeW5jU3ltYm9sSW5mb1NwYXducygpKX0sdGhpcy5fc3luY1N5bWJvbEluZm9TcGF3bnM9KCk9PntpZih0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLG51bGw9PT10aGlzLl9hdHRhY2hlZE1vZGVsKXJldHVybjtjb25zdCBlPXRoaXMuX2F0dGFjaGVkTW9kZWwubW9kZWwoKSxzPW5ldyBTZXQoW2UubWFpblNlcmllcygpLC4uLmUuZGF0YVNvdXJjZXMoKS5maWx0ZXIobC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSldKTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWUuc3ltYm9sSW5mb1dWKCkuc3Bhd25Pd25lcnNoaXAoKTtzLnN1YnNjcmliZShpKSx0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLnB1c2gocyl9fSx0aGlzLl9tb2RlbFdWPWUsdGhpcy5fbW9kZWxXVi5zdWJzY3JpYmUodGhpcy5fb25Nb2RlbENoYW5nZWQse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9tb2RlbFdWLnVuc3Vic2NyaWJlKHRoaXMuX29uTW9kZWxDaGFuZ2VkKSx0aGlzLl9kZXRhY2hGcm9tTW9kZWwoKSx0aGlzLl9tb2RlbFdWLnJlbGVhc2UoKX1fZGV0YWNoRnJvbU1vZGVsKCl7dGhpcy5fYXR0YWNoZWRNb2RlbD8ubW9kZWwoKS5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbH1fcmVsZWFzZVN5bWJvbEluZm9TcGF3bnMoKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSksdGhpcy5fc3ltYm9sSW5mb1NwYXducy5sZW5ndGg9MH19fX1dKTs="}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.773Z","timestamp":1785124876773,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/68725.df46d140ffcce5cbedbf.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6e6d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b3e959ea8d62ce156e06270431b90f18\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28269,"size_decoded":10427,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-27T06:24:31.648779Z","times_seen":60,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOSw2ODcyNV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTQ1OTg1KHQpe3QuZXhwb3J0cz17YmxvY2tJY29uOiJibG9ja0ljb24tZ3ZPUVZpVjcifX0sNzk1NDY1KHQpe3QuZXhwb3J0cz17d3JhcDoid3JhcC1ZWnc4UlhlaSIsdWlNYXJrZXI6InVpTWFya2VyLVladzhSWGVpIixyZWQ6InJlZC1ZWnc4UlhlaSIsYmx1ZToiYmx1ZS1ZWnc4UlhlaSIsZ3JlZW46ImdyZWVuLVladzhSWGVpIixvcmFuZ2U6Im9yYW5nZS1ZWnc4UlhlaSIscHVycGxlOiJwdXJwbGUtWVp3OFJYZWkiLGN5YW46ImN5YW4tWVp3OFJYZWkiLHBpbms6InBpbmstWVp3OFJYZWkiLHVpTWFya2VyX19zbWFsbDoidWlNYXJrZXJfX3NtYWxsLVladzhSWGVpIn19LDE3NTg2Myh0KXt0LmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJ0b29sdGlwLW9mZnNldCI6IjIwcHgiLGRpYWxvZzoiZGlhbG9nLXF5Q3cwUGFOIixkcmFnZ2luZzoiZHJhZ2dpbmctcXlDdzBQYU4iLG1vYmlsZToibW9iaWxlLXF5Q3cwUGFOIixmdWxsc2NyZWVuOiJmdWxsc2NyZWVuLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRlZEFwcGVhcmFuY2U6ImRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZS1xeUN3MFBhTiIsZGlhbG9nQW5pbWF0aW9uOiJkaWFsb2dBbmltYXRpb24tcXlDdzBQYU4iLGRpYWxvZ1Rvb2x0aXA6ImRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU4ifX0sOTIzNTEzKHQpe3QuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItekxWbTZCNHQiLGNvbnRlbnQ6ImNvbnRlbnQtekxWbTZCNHQiLGFycm93SG9sZGVyOiJhcnJvd0hvbGRlci16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWxvdyI6ImFycm93SG9sZGVyLS1iZWxvdy16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hYm92ZSI6ImFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFmdGVyIjoiYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlLWZpeCI6ImFycm93SG9sZGVyLS1hYm92ZS1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeCI6ImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4LXpMVm02QjR0IixsYWJlbDoibGFiZWwtekxWbTZCNHQiLGNsb3NlQnV0dG9uOiJjbG9zZUJ1dHRvbi16TFZtNkI0dCJ9fSw0OTA4OTModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UG9wdXBDb250ZXh0OigpPT5pfSk7Y29uc3QgaT1zKDc3OTQ3NCkuY3JlYXRlQ29udGV4dChudWxsKX0sOTkxMDY2KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0RpYWxvZzooKT0+ZH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoNjA3ODMyKSxyPXMoOTAzNDIpLGw9cygzNDUxMTYpLGg9cyg0NDg0MTEpLGM9cy5uKGgpO2NsYXNzIGQgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX21hbmFnZXI9bmV3IHIuT3ZlcmxhcE1hbmFnZXIsdGhpcy5faGFuZGxlU2xvdD10PT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIodCl9fXJlbmRlcigpe2NvbnN0e3JvdW5kZWQ6dD0hMCxzaGFkb3dlZDplPSEwLGZ1bGxzY3JlZW46cz0hMSxkYXJrZXI6bz0hMSxjbGFzc05hbWU6cixiYWNrZHJvcDpoLGNvbnRhaW5lclRhYkluZGV4OmQ9LTF9PXRoaXMucHJvcHMsdT1uKCkocixjKCkuZGlhbG9nLHQmJmMoKS5yb3VuZGVkLGUmJmMoKS5zaGFkb3dlZCxzJiZjKCkuZnVsbHNjcmVlbixvJiZjKCkuZGFya2VyKSxwPSgwLGwuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSxtPXRoaXMucHJvcHMuc3R5bGU/ey4uLnRoaXMuX2NyZWF0ZVN0eWxlcygpLC4uLnRoaXMucHJvcHMuc3R5bGV9OnRoaXMuX2NyZWF0ZVN0eWxlcygpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxoJiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse29uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrQmFja2Ryb3AsY2xhc3NOYW1lOmMoKS5iYWNrZHJvcH0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4ucCxjbGFzc05hbWU6dSxzdHlsZTptLHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZSxvbkZvY3VzOnRoaXMucHJvcHMub25Gb2N1cyxvbk1vdXNlRG93bjp0aGlzLnByb3BzLm9uTW91c2VEb3duLG9uTW91c2VVcDp0aGlzLnByb3BzLm9uTW91c2VVcCxvbkNsaWNrOnRoaXMucHJvcHMub25DbGljayxvbktleURvd246dGhpcy5wcm9wcy5vbktleURvd24sdGFiSW5kZXg6ZCwiYXJpYS1sYWJlbCI6dGhpcy5wcm9wcy5jb250YWluZXJBcmlhTGFiZWx9LHRoaXMucHJvcHMuY2hpbGRyZW4pKSxpLmNyZWF0ZUVsZW1lbnQoYS5TbG90LHtyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKX1fY3JlYXRlU3R5bGVzKCl7Y29uc3R7Ym90dG9tOnQsbGVmdDplLHdpZHRoOnMscmlnaHQ6aSx0b3A6byx6SW5kZXg6bixoZWlnaHQ6YX09dGhpcy5wcm9wcztyZXR1cm57Ym90dG9tOnQsbGVmdDplLHJpZ2h0OmksdG9wOm8sekluZGV4Om4sbWF4V2lkdGg6cyxoZWlnaHQ6YX19fX0sMjE3Mjc0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Jsb2NrSWNvbjooKT0+aH0pO3ZhciBpPXMoOTE0NDg3KSxvPXMubihpKSxuPXMoNzc5NDc0KSxhPXMoOTQ4NDUwKSxyPXMoMTQ1OTg1KSxsPXMubihyKQo7Y29uc3QgaD1uLmZvcndhcmRSZWYoKCh0LGUpPT57Y29uc3R7Y2xhc3NOYW1lOnMsaWNvbjppLGFyaWFMYWJlbDpyLGFyaWFMYWJlbGxlZGJ5OmgsdGl0bGU6YywuLi5kfT10LHU9ZDtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShzLGwoKS5ibG9ja0ljb24pLHJlZjplLGljb246aSxhcmlhTGFiZWw6cixhcmlhTGFiZWxsZWRieTpoLHRpdGxlOmMsLi4udX0pfSkpfSw4MzE1MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLnIoZSkscy5kKGUse01hcmtlZFN5bWJvbHNMaXN0U2VydmljZTooKT0+ZCxnZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxvPXMoMTg1MjcxKSxuPXMoNzEyMTM0KSxhPXMoNTAwNTE0KSxyPXMoMjM0OTY0KSxsPXMoMjQzNjMxKSxoPXMoNzcwNzU1KSxjPXMoMzEzMzAwKTtjbGFzcyBke2dldFN5bWJvbHNCeUNvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xzQnlDb2xvcih0KX1zZXRTeW1ib2xzQ29sb3IodCxlKXswIT09dC5sZW5ndGgmJnRoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLnNldFN5bWJvbHNDb2xvcih0LGUpfSkpfWdldFN5bWJvbENvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xDb2xvcih0KX1tYXJrTWFueSh0KXt0aGlzLl9ydW5XaXRoU3luYygoKCk9Pnt0aGlzLl9tb2RlbC5tYXJrTWFueSh0KX0pKX1jbGVhckFsbFN5bWJvbHNDb2xvcigpe3RoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSl9YWRqdXN0U3ltYm9sc0NvbG9ycyh0KXtjb25zdCBlPW5ldyBsLkNvbG9yTWFuYWdlcih7Y29udGV4dDpsLkNvbG9yQ29udGV4dC5TeW1ib2xNYXJrZXJ9KSxzPSF0Lm1hcCgodD0+dGhpcy5nZXRTeW1ib2xDb2xvcih0KSkpLmluY2x1ZGVzKG51bGwpO3RoaXMuc2V0U3ltYm9sc0NvbG9yKHQscz9udWxsOmUuZ2V0Q29sb3IoKSl9b25TeW1ib2xDaGFuZ2UodCxlKXtjb25zdCBzPXRoaXMuX3N5bWJvbENoYW5nZUhhbmRsZXJzLmdldCh0KTtzP3MucHVzaChlKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxbZV0pfW9mZlN5bWJvbENoYW5nZSh0LGUpe2NvbnN0IHM9dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnMuZ2V0KHQpO2lmKHMpe2NvbnN0IGk9cy5maWx0ZXIoKHQ9PnQhPT1lKSk7aS5sZW5ndGg+MD90aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxpKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5kZWxldGUodCl9fW9uTGlzdENoYW5nZSh0KXt0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMucHVzaCh0KX1vZmZMaXN0Q2hhbmdlKHQpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycz10aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfW9uSW5pdCh0KXt0aGlzLl9pbml0SGFuZGxlcnMucHVzaCh0KX1vZmZJbml0KHQpe3RoaXMuX2luaXRIYW5kbGVycz10aGlzLl9pbml0SGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5kZXN0cm95KCksdGhpcy5fdW5zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl9aXNJbml0ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfV9zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3Vuc3Vic2NyaWJlTG9naW5TdGF0ZUNoYW5nZSgpe3dpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3N5bmNTeW1ib2xzKCl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpe3RoaXMuX3N5bmM9dGhpcy5fbW9kZWwuc3luY1N5bWJvbHMoKTtjb25zdCB0PSgpPT57dGhpcy5fc3luYz1udWxsLHRoaXMuX2luaXRlZD0hMH07cmV0dXJuIHRoaXMuX3N5bmMudGhlbih0KS5jYXRjaCh0KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9Y29uc3RydWN0b3IodCl7dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnM9W10sdGhpcy5faW5pdEhhbmRsZXJzPVtdLHRoaXMuX3N5bmM9bnVsbCx0aGlzLl9pbml0ZWQ9ITEsdGhpcy5faGFuZGxlQ2hhbmdlPSh0LGUpPT57aWYodC5saXN0cyE9PWUubGlzdHMpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycy5mb3JFYWNoKChzPT57dHJ5e3ModCxlKX1jYXRjaHt9fSkpO2Zvcihjb25zdFtzLGldb2YgQXJyYXkuZnJvbSh0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5lbnRyaWVzKCkpKXtjb25zdCBvPSgwLG4uZ2V0U3ltYm9sQ29sb3IpKHQscyksYT0oMCxuLmdldFN5bWJvbENvbG9yKShlLHMpO28hPT1hJiZpLmZvckVhY2goKHQ9Pnt0cnl7dChvLGEpfWNhdGNoe319KSl9fX0sdGhpcy5fb25Mb2dpblN0YXRlQ2hhbmdlPSgpPT57bGV0IHQ7dGhpcy5fbW9kZWwuY2xvc2VDb25uZWN0aW9uKCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX21vZGVsLmNvbm5lY3QoKSx0PXRoaXMuX3N5bmNTeW1ib2xzKCkpOih0aGlzLl9tb2RlbC5hbm9ueW1pemUoKSx0aGlzLl9pbml0ZWQ9ITEsdD1Qcm9taXNlLnJlc29sdmUoKSksdC50aGVuKHRoaXMuX2ZpcmVJbml0KX0sdGhpcy5fZmlyZUluaXQ9KCk9Pnt0aGlzLl9pbml0SGFuZGxlcnMuZm9yRWFjaCgodD0+dCgpKSl9LHRoaXMuX3J1bldpdGhTeW5jPXQ9Pnt0aGlzLl9zeW5jP3RoaXMuX3N5bmMudGhlbih0KTp0KCl9LHRoaXMuX2hhbmRsZVJlc3RyaWN0ZWRDb2xvcj0oKT0+eygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX0sdGhpcy5faGFuZGxlTGltaXQ9KCk9PnsoMCxjLmdldFdhdGNobGlzdFN5bWJvbHNMaW1pdCkoKTxjLk1BWF9XQVRDSExJU1RfTEVOR1RIPygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pOigwLHIuc2hvd1dhcm5pbmcpKHsKdGl0bGU6by50KG51bGwsdm9pZCAwLHMoODQxNzk5KSksdGV4dDpvLnQobnVsbCx7cmVwbGFjZTp7bGltaXQ6U3RyaW5nKGMuTUFYX1dBVENITElTVF9MRU5HVEgpfX0scyg4NjA3MjIpKX0sbnVsbCl9LHRoaXMuX21vZGVsPW5ldyBhLk1hcmtlZFN5bWJvbHNMaXN0TW9kZWwoe2FwaTp0P3QuYXBpOnZvaWQgMCxxdW90ZVNlc3Npb246dD90LnF1b3RlU2Vzc2lvbjp2b2lkIDAsb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2hhbmdlLGxpbWl0OnQ/LmxpbWl0LG9uTGltaXQ6dGhpcy5faGFuZGxlTGltaXQsb25SZXN0cmljdGVkQ29sb3I6dGhpcy5faGFuZGxlUmVzdHJpY3RlZENvbG9yLGNvbG9yczp0Py5jb2xvcnMsZXZlbnQ6Im1hcmtlZC1zeW1ib2xzIn0pLHRoaXMuX3N1YnNjcmliZUxvZ2luU3RhdGVDaGFuZ2UoKSx0aGlzLl9zeW5jU3ltYm9scygpLnRoZW4odGhpcy5fZmlyZUluaXQpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgZCkpfSw4Mjk3NjModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7VWlNYXJrZXI6KCk9Pmh9KTt2YXIgaT1zKDcxMjEzNCksbz1zKDM2MzI2OSksbj1zKDkxNDQ4NyksYT1zLm4obikscj1zKDg1MjUzMSksbD1zKDc5NTQ2NSk7Y2xhc3MgaHtzZXRDb2xvcih0KXt0aGlzLnJlbW92ZUNvbG9yKCksdGhpcy5hZGRDbGFzcyhsW3RdKX1yZW1vdmVDb2xvcigpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZShsW2kuTGlzdENvbG9yLlJlZF0sbFtpLkxpc3RDb2xvci5PcmFuZ2VdLGxbaS5MaXN0Q29sb3IuUHVycGxlXSxsW2kuTGlzdENvbG9yLkdyZWVuXSxsW2kuTGlzdENvbG9yLkJsdWVdLGxbaS5MaXN0Q29sb3IuQ3lhbl0sbFtpLkxpc3RDb2xvci5QaW5rXSl9YWRkQ2xhc3ModCl7dGhpcy5fZWxlbS5jbGFzc0xpc3QuYWRkKHQpfXJlbW92ZUNsYXNzKHQpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZSh0KX1nZXRFbGVtKCl7cmV0dXJuIHRoaXMuX2VsZW19YXBwZW5kVG8odCl7dGhpcy5kZXRhY2goKSx0aGlzLl9jb250YWluZXI9dCx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbSksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX1kZXRhY2goKXt0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpLHRoaXMuX2NvbnRhaW5lciYmKHRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbGVtKSxkZWxldGUgdGhpcy5fY29udGFpbmVyKX1fcmVuZGVyKHQpe2NvbnN0IGU9YSgpKGwudWlNYXJrZXIse1t0LmNsYXNzTmFtZV06Qm9vbGVhbih0LmNsYXNzTmFtZSksW2xbdC5jb2xvcl1dOkJvb2xlYW4odC5jb2xvcil9KSxzPXQuc3BlY2lhbEltYWdlfHxyLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGkuY2xhc3NOYW1lPWUsaS5pbm5lckhUTUw9cyx0aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKSxpfV9hZGRFdmVudExpc3RlbmVycygpe2lmKHRoaXMuX29wdHMub25DbGljayl7Y29uc3QgdD1vLm1vYmlsZXRvdWNoPyJ0b3VjaHN0YXJ0IjoiY2xpY2siO3RoaXMuX2VsZW0uYWRkRXZlbnRMaXN0ZW5lcih0LHRoaXMuX29uQ2xpY2spfXRoaXMuX29wdHMub25EYmxDbGljayYmdGhpcy5fZWxlbS5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25EYmxDbGljayl9X3JlbW92ZUV2ZW50TGlzdGVuZXJzKCl7aWYodGhpcy5fb3B0cy5vbkNsaWNrKXtjb25zdCB0PW8ubW9iaWxldG91Y2g/InRvdWNoc3RhcnQiOiJjbGljayI7dGhpcy5fZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKHQsdGhpcy5fb25DbGljayl9dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLl9vbkRibENsaWNrKX1jb25zdHJ1Y3Rvcih0KXt0aGlzLl9vbkNsaWNrPXQ9Pnt0aGlzLl9vcHRzLm9uQ2xpY2smJnRoaXMuX29wdHMub25DbGljayh0KX0sdGhpcy5fb25EYmxDbGljaz10PT57dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9vcHRzLm9uRGJsQ2xpY2sodCl9LHRoaXMuX2NvbnRhaW5lcj10LmNvbnRhaW5lcix0aGlzLl9vcHRzPXQsdGhpcy5fZWxlbT10aGlzLl9yZW5kZXIodCksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX19fSw0NDM4MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0Q29sb3JlZExpc3RUaXRsZTooKT0+bixnZXRTb3J0QnlDb2xvckNvbXBhcmF0b3I6KCk9PnIsbWFrZU1hcmtlZExpc3RGcm9tUmVjb3JkOigpPT5hfSk7dmFyIGk9cyg3MTIxMzQpLG89cyg3ODMyNTQpO2Z1bmN0aW9uIG4odCl7cmV0dXJue1tpLkxpc3RDb2xvci5SZWRdOm8udChudWxsLHZvaWQgMCxzKDE2NTUwMSkpLFtpLkxpc3RDb2xvci5HcmVlbl06by50KG51bGwsdm9pZCAwLHMoNDU5NDAyKSksW2kuTGlzdENvbG9yLk9yYW5nZV06by50KG51bGwsdm9pZCAwLHMoNTA2MzMwKSksW2kuTGlzdENvbG9yLlB1cnBsZV06by50KG51bGwsdm9pZCAwLHMoOTA3ODc0KSksW2kuTGlzdENvbG9yLkJsdWVdOm8udChudWxsLHZvaWQgMCxzKDU3MzgwNykpLFtpLkxpc3RDb2xvci5DeWFuXTpvLnQobnVsbCx2b2lkIDAscyg4MzkzOTApKSxbaS5MaXN0Q29sb3IuUGlua106by50KG51bGwsdm9pZCAwLHMoOTQxOTg2KSl9W3RdfWZ1bmN0aW9uIGEodCl7cmV0dXJue3R5cGU6ImNvbG9yZWQiLGlkOnQuY29sb3IsY29sb3I6dC5jb2xvcixzeW1ib2xzOnQuc3ltYm9scyxuYW1lOnQubmFtZXx8bih0LmNvbG9yKSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLHNoYXJlZDp0LnNoYXJlZCxwZXJzaXN0ZWRTdGF0ZTp0LnBlcnNpc3RlZFN0YXRlfX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9LTE9PT10Py0xLzA6MS8wO3JldHVybihzLGkpPT57Y29uc3Qgbz1sKHMsZSksbj1sKGksZSk7cmV0dXJuIG89PT1uPzA6dCooby1uKX19ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBudWxsPT09dD9lOmkuTElTVF9DT0xPUlMuaW5kZXhPZih0KX19LDc0NTY1NCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtxdW90ZVNlc3Npb25BZGFwdGVyczooKT0+ZH0pCjt2YXIgaT1zKDEzODYzOCksbz1zKDE1OTUxMyksbj1zKDM0NDEwMyksYT1zKDEwMTcxMikscj1zKDQ5ODY1MSksbD1zKDQ3OTM0KSxoPXMoOTI5NDg4KTtjbGFzcyBje2NvbnN0cnVjdG9yKHQsZSxzPSJ3YXRjaGxpc3QiKXt0aGlzLl9zeW1ib2xEYXRhSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9mYXN0U3ltYm9scz1uZXcgU2V0LHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzPW5ldyBTZXQsdGhpcy5fc3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fY2FuY2VsU3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXI9dD0+e2NvbnN0IGU9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LnN5bWJvbG5hbWUpLHtmaWx0ZXJlZDpzLGtlZXBTdWJzY3JpcHRpb246b309dGhpcy5fYXBwbHlEYXRhRmlsdGVycyh0KTtvfHx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoW2VdKSx0aGlzLl9zZXRTeW1ib2xEYXRhQ2FjaGUoZSxzKTtjb25zdCBuPXRoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5nZXQoZSk7biYmbihzKX0sdGhpcy5fY2xpZW50SWQ9dCx0aGlzLl9xdW90ZVNlc3Npb249KDAsby5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkocyksdGhpcy5fbGFzdFN5bWJvbERhdGE9ZXx8bmV3IE1hcH1kZXN0cm95KCl7Y29uc3QgdD1BcnJheS5mcm9tKHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzKTt0aGlzLl91bnN1YnNjcmliZVN5bWJvbHModCl9YWRkRmFzdFN5bWJvbCh0KXt0aGlzLl9mYXN0U3ltYm9scy5oYXModCl8fCF0aGlzLl9zdWJzY3JpYmVkU3ltYm9scy5oYXModCl8fCgwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8KHRoaXMuX2Zhc3RTeW1ib2xzLmFkZCh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1yZW1vdmVGYXN0U3ltYm9sKHQpe3RoaXMuX2Zhc3RTeW1ib2xzLmhhcyh0KSYmKHRoaXMuX2Zhc3RTeW1ib2xzLmRlbGV0ZSh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1hZGRTeW1ib2xEYXRhSGFuZGxlcih0LGUpeygwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8dGhpcy5fc3ltYm9sRGF0YUhhbmRsZXJzLnNldCh0LGUpfXJlbW92ZVN5bWJvbERhdGFIYW5kbGVyKHQpe3RoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5kZWxldGUodCl9YWRkVG9TdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9zdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNsZWFyU3Vic2NyaXB0aW9uU2V0KCl7dGhpcy5fc3Vic2NyaXB0aW9uU2V0LmNsZWFyKCl9YWRkVG9DYW5jZWxTdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNvbW1pdFN1YnNjcmlwdGlvbkNoYW5nZXMoKXtBcnJheS5mcm9tKHRoaXMuX3N1YnNjcmlwdGlvblNldCkuZm9yRWFjaCgodD0+e3RoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5oYXModCkmJih0aGlzLl9zdWJzY3JpcHRpb25TZXQuZGVsZXRlKHQpLHRoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5kZWxldGUodCkpfSkpLHRoaXMuX3N1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9zdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9zdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpfWdldExhc3RTeW1ib2xEYXRhKHQpe3JldHVybiB0aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCl9X3N1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0LHRoaXMuX3F1b3RlU2Vzc2lvbkRhdGFIYW5kbGVyKSx0LmZvckVhY2goKHQ9PnRoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmFkZCh0KSkpfV91bnN1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXIpLHQuZm9yRWFjaCgodD0+e3RoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmRlbGV0ZSh0KX0pKX1fc2V0U3ltYm9sRGF0YUNhY2hlKHQsZSl7Y29uc3Qgcz10aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCk/LnZhbHVlc3x8e307dGhpcy5fbGFzdFN5bWJvbERhdGEuc2V0KHQsey4uLmUsdmFsdWVzOnsuLi5zLC4uLmUudmFsdWVzfX0pfV9hcHBseURhdGFGaWx0ZXJzKHQpe3tjb25zdCBlPSgpPT4oMCxsLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIikscz10PT4oey4uLnQsc3RhdHVzOiJzZl9kYXRhIix2YWx1ZXM6e319KTtpZigodD0+KDAsYS5pc1NmUXVvdGVEYXRhKSh0KXx8KDAsci5pc0lEQ0V4Y2hhbmdlKSgoMCxuLmdldEV4Y2hhbmdlKSgoMCxpLmVuc3VyZURlZmluZWQpKHQuc3ltYm9sbmFtZSkpLCEwKSkodCkmJiFlKCkpcmV0dXJue2ZpbHRlcmVkOnModCksa2VlcFN1YnNjcmlwdGlvbjohMX19cmV0dXJue2ZpbHRlcmVkOnQsa2VlcFN1YnNjcmlwdGlvbjohMH19fWNvbnN0IGQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fYWRhcHRlcnNNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sRGF0YT1uZXcgTWFwfWRlc3Ryb3koKXt0aGlzLl9hZGFwdGVyc01hcC5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpfSkpLHRoaXMuX2xhc3RTeW1ib2xEYXRhLmNsZWFyKCl9Z2V0KHQsZT0id2F0Y2hsaXN0Iil7bGV0IHM7Y29uc3QgaT10aGlzLl9hZGFwdGVyc01hcC5nZXQodCk7aWYoaSl7Y29uc3Qgbz1pLmdldChlKTtvP3M9bzoocz1uZXcgYyh0LHRoaXMuX2xhc3RTeW1ib2xEYXRhLGUpLGkuc2V0KGUscykpfWVsc2V7CnM9bmV3IGModCx0aGlzLl9sYXN0U3ltYm9sRGF0YSxlKTtjb25zdCBpPW5ldyBNYXA7aS5zZXQoZSxzKSx0aGlzLl9hZGFwdGVyc01hcC5zZXQodCxpKX1yZXR1cm4gc319fSw5OTU2ODIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7RHJhZ0hhbmRsZXI6KCk9Pm99KTt2YXIgaT1zKDUzMTkyOCk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcih0LGUscz17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsaS5jbGFtcFBvc2l0aW9uKSgoMCxpLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uVG91Y2hEcmFnU3RhcnQ9dD0+e2lmKHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMCx0LnByZXZlbnREZWZhdWx0KCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlLHtwYXNzaXZlOiExfSk7Y29uc3QgZT0oMCxpLmNsYW1wUG9zaXRpb24pKCgwLGkucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdTdGFydChlKX0sdGhpcy5fb25Nb3VzZURyYWdFbmQ9dD0+e3QudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSYmdGhpcy5faGVhZGVyLmNvbnRhaW5zKHQudGFyZ2V0KSYmdC5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZURyYWdNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5fb25EcmFnU3RvcCgpfSx0aGlzLl9vblRvdWNoRHJhZ0VuZD10PT57dGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlKSx0aGlzLl9vbkRyYWdTdG9wKCksdGhpcy5fY2FuQmVUb3VjaENsaWNrJiYodGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLCgwLGkuc2ltdWxhdGVDbGljaykodC50YXJnZXQpKX0sdGhpcy5fb25Nb3VzZURyYWdNb3ZlPXQ9Pntjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Nb3VzZUV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uVG91Y2hEcmFnTW92ZT10PT57dGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLHQucHJldmVudERlZmF1bHQoKTtjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Ub3VjaEV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uRHJhZ1N0b3A9KCk9Pnt0aGlzLl9kcmFnPW51bGwsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdFbmQmJnRoaXMuX29wdGlvbnMub25EcmFnRW5kKCl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2hlYWRlcj1lLHRoaXMuX29wdGlvbnM9cyx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCl9ZGVzdHJveSgpe251bGwhPT10aGlzLl9mcmFtZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fZnJhbWUpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEcmFnU3RhcnQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX29uTW91c2VEcmFnRW5kKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fb25Nb3VzZURyYWdFbmQpfXVwZGF0ZU9wdGlvbnModCl7dGhpcy5fb3B0aW9ucz10fV9kcmFnU3RhcnQodCl7Y29uc3QgZT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5fZHJhZz17c3RhcnRYOnQueCxzdGFydFk6dC55LGZpbmlzaFg6dC54LGZpbmlzaFk6dC55LGRpYWxvZ1g6ZS5sZWZ0LGRpYWxvZ1k6ZS50b3B9O2NvbnN0IHM9TWF0aC5yb3VuZChlLmxlZnQpLGk9TWF0aC5yb3VuZChlLnRvcCk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7c31weCwgJHtpfXB4KWAsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCYmdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCgpfV9kcmFnTW92ZSh0KXtpZih0aGlzLl9kcmFnKXtpZih0aGlzLl9kcmFnLmZpbmlzaFg9dC54LHRoaXMuX2RyYWcuZmluaXNoWT10LnksbnVsbCE9PXRoaXMuX2ZyYW1lKXJldHVybjt0aGlzLl9mcmFtZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57aWYodGhpcy5fZHJhZyl7Y29uc3QgZT10LngtdGhpcy5fZHJhZy5zdGFydFgscz10LnktdGhpcy5fZHJhZy5zdGFydFk7dGhpcy5fbW92ZURpYWxvZyh0aGlzLl9kcmFnLmRpYWxvZ1grZSx0aGlzLl9kcmFnLmRpYWxvZ1krcyl9dGhpcy5fZnJhbWU9bnVsbH0pKX19X21vdmVEaWFsb2codCxlKXsKY29uc3Qgcz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46b309dGhpcy5fb3B0aW9ucyxuPSgwLGkuY2xhbXBTZWdtZW50KSh0LHMud2lkdGgsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsaS5jbGFtcFNlZ21lbnQpKGUscy5oZWlnaHQsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtQb3B1cERpYWxvZzooKT0+TH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoMTM4NjM4KSxyPXMoOTkxMDY2KSxsPXMoNzE4NTUzKSxoPXMoOTMwMjMxKSxjPXMoNjU5ODc4KSxkPXMoOTk1NjgyKSx1PXMoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBte2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9pc0Z1bGxzY3JlZW49ITEsdGhpcy5faGFuZGxlUmVzaXplPSgpPT57bnVsbD09PXRoaXMuX2ZyYW1lJiYodGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMucmVjYWxjdWxhdGVCb3VuZHMoKSx0aGlzLl9mcmFtZT1udWxsfSkpKX0sdGhpcy5fZGlhbG9nPXQsdGhpcy5fZ3VhcmQ9ZS5ndWFyZHx8cCx0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbj1lLmNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uLHRoaXMuX2luaXRpYWxIZWlnaHQ9dC5zdHlsZS5oZWlnaHQsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5faGFuZGxlUmVzaXplKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX2d1YXJkPXQuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249dC5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbn1zZXRGdWxsc2NyZWVuKHQpe3RoaXMuX2lzRnVsbHNjcmVlbiE9PXQmJih0aGlzLl9pc0Z1bGxzY3JlZW49dCx0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCkpfWNlbnRlckFuZEZpdCgpe2NvbnN0e3g6dCx5OmV9PXRoaXMuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLHM9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpLGk9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpO2lmKHM9PT1pKWlmKHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKXtjb25zdHtsZWZ0OnQsdG9wOmV9PXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKHRoaXMuX2RpYWxvZyxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5fZ3VhcmQpO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2UgdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD1pKyJweCI7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHt0fXB4LCAke2V9cHgpYH1nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHM9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpLGk9dC8yLXRoaXMuX2RpYWxvZy5jbGllbnRXaWR0aC8yLG89ZS8yLXMvMit0aGlzLl9nZXRUb3BPZmZzZXQoKTtyZXR1cm57eDpNYXRoLnJvdW5kKGkpLHk6TWF0aC5yb3VuZChvKX19cmVjYWxjdWxhdGVCb3VuZHMoKXtjb25zdHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfT10aGlzLl9nZXRDbGllbnREaW1lbnNpb25zKCkse3ZlcnRpY2FsOnN9PXRoaXMuX2d1YXJkLGk9dGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb24/Lih0aGlzLl9kaWFsb2cse2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9LHt2ZXJ0aWNhbDpzfSk7aWYodGhpcy5faXNGdWxsc2NyZWVuKXtpZih0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT0ibm9uZSIsaSl7Y29uc3R7bGVmdDp0LHRvcDplLHdpZHRoOnMsaGVpZ2h0Om99PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWAscyYmKHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD1gJHtzfXB4YCx0aGlzLl9kaWFsb2cuc3R5bGUubWluV2lkdGg9InVuc2V0IiksbyYmKHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9YCR7b31weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbkhlaWdodD0idW5zZXQiKX19ZWxzZSBpZihpKXtjb25zdHtsZWZ0OnQsdG9wOmV9PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWB9ZWxzZXt0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IiIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iIjtjb25zdCBpPXRoaXMuX2RpYWxvZy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWUtMipzLG49KDAsdS5jbGFtcFNlZ21lbnQpKGkubGVmdCxpLndpZHRoLDAsdCksYT0oMCx1LmNsYW1wU2VnbWVudCkoaS50b3AsaS5oZWlnaHQscyxlKTt0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQobil9cHgsICR7TWF0aC5yb3VuZChhKX1weClgLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bzxpLmhlaWdodD9vKyJweCI6dGhpcy5faW5pdGlhbEhlaWdodH19CmRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89cyg1ODU0OCksZz1zKDQ5MDg5MyksYj1zKDg3MjUxOCkseT1zKDMzMjY2MCksZj1zKDExNzMxMyksUz1zKDMzNzM2Mik7dmFyIHY9cyg2OTIyNjYpLEM9cygxNDc5MDEpLHc9cygxNzU4NjMpO2NvbnN0IEQ9d1sidG9vbHRpcC1vZmZzZXQiXSxFPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIik/Y2xhc3MgZXh0ZW5kcyBte2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLl9lbmFibGVkPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIil9X2dldENsaWVudERpbWVuc2lvbnMoKXtjb25zdCB0PXN1cGVyLl9nZXRDbGllbnREaW1lbnNpb25zKCk7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgZT1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7ZSYmKHQuY2xpZW50SGVpZ2h0PWUuaGVpZ2h0KX1yZXR1cm4gdH1fZ2V0VG9wT2Zmc2V0KCl7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgdD1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7aWYodClyZXR1cm4gdC50b3B9cmV0dXJuIHN1cGVyLl9nZXRUb3BPZmZzZXQoKX19Om07Y2xhc3MgeCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9jbGVhblVwRnVuY3Rpb25zPVtdLHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PW51bGwsdGhpcy5fZXZlbnREaXNwYXRjaGVyPW5ldyB5LkRpYWxvZ0V2ZW50RGlzcGF0Y2hlcix0aGlzLl9oYW5kbGVEaWFsb2dSZWY9dD0+e2NvbnN0e3JlZmVyZW5jZTplfT10aGlzLnByb3BzO3RoaXMuX2RpYWxvZz10LCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6bnVsbCE9ZSYmKGUuY3VycmVudD10KX0sdGhpcy5faGFuZGxlRm9jdXM9KCk9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlTW91c2VEb3duPXQ9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlVG91Y2hTdGFydD10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuc3RhdGU9e2NhbkZpdFRvb2x0aXA6ITF9LHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9cmVuZGVyKCl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChnLlBvcHVwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpc30saS5jcmVhdGVFbGVtZW50KGwuT3V0c2lkZUV2ZW50LHttb3VzZURvd246ITAsdG91Y2hTdGFydDohMCxoYW5kbGVyOnRoaXMucHJvcHMub25DbGlja091dHNpZGV9LCh0PT5pLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjp0LCJkYXRhLW91dHNpZGUtYm91bmRhcnktZm9yIjp0aGlzLnByb3BzLm5hbWUsb25Gb2N1czp0aGlzLl9oYW5kbGVGb2N1cyxvbk1vdXNlRG93bjp0aGlzLl9oYW5kbGVNb3VzZURvd24sb25Ub3VjaFN0YXJ0OnRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsImRhdGEtZGlhbG9nLW5hbWUiOnRoaXMucHJvcHNbImRhdGEtZGlhbG9nLW5hbWUiXSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIiwiZGF0YS1xYS1pZCI6KDAsQy5kYXRhUWFJZHMpKCJ1aS1saWItUG9wdXBEaWFsb2ciLHRoaXMucHJvcHMuZGF0YVFhSWQpfSxpLmNyZWF0ZUVsZW1lbnQoci5EaWFsb2cse3N0eWxlOnRoaXMuX2FwcGx5QW5pbWF0aW9uQ1NTVmFyaWFibGVzKCksLi4udGhpcy5wcm9wcyxyZWZlcmVuY2U6dGhpcy5faGFuZGxlRGlhbG9nUmVmLGNsYXNzTmFtZTpuKCkody5kaWFsb2csKDAsZi5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYhdGhpcy5wcm9wcy5ub01vYmlsZUFwcFNoYWRvd3MmJncubW9iaWxlLHRoaXMucHJvcHMuZnVsbHNjcmVlbiYmdy5mdWxsc2NyZWVuLHRoaXMucHJvcHMuY2xhc3NOYW1lKX0sdGhpcy5wcm9wcy5kaWFsb2dUb29sdGlwJiZ0aGlzLnN0YXRlLmNhbkZpdFRvb2x0aXAmJmkuY3JlYXRlRWxlbWVudCh2LlRvb2x0aXBXaWRnZXQse2NsYXNzTmFtZTp3LmRpYWxvZ1Rvb2x0aXB9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCksdGhpcy5wcm9wcy5jaGlsZHJlbikpKSkpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZHJhZ2dhYmxlOnQsYm91bmRCeVNjcmVlbjplLG9uRHJhZ1N0YXJ0OnN9PXRoaXMucHJvcHMsaT0oMCxhLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RpYWxvZyk7aWYodGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctb3BlbiIpLHQpe2NvbnN0IHQ9aS5xdWVyeVNlbGVjdG9yKCJbZGF0YS1kcmFnZy1hcmVhXSIpO2lmKHQmJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7Y29uc3Qgbz1uZXcgZC5EcmFnSGFuZGxlcihpLHQse2JvdW5kQnlTY3JlZW46Qm9vbGVhbihlKSxvbkRyYWdTdGFydDpzfSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+by5kZXN0cm95KCkpKSx0aGlzLl9kcmFnPW99fXRoaXMucHJvcHMuYXV0b2ZvY3VzJiYhaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmaS5mb2N1cygpLAoodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsYi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOm8sY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IEUoaSx7Z3VhcmQ6byxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSx0aGlzLnByb3BzLnNob3VsZEZvcmNlRm9jdXMpe2lmKHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKGkpO2kuZm9jdXMoKX1pZighaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7Y29uc3QgdD0oMCx1LmZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudCkoaSk7dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmZvY3VzKCl9fWNvbXBvbmVudERpZFVwZGF0ZSh0KXtjb25zdCBlPXQuZnVsbHNjcmVlbjtpZih0aGlzLl9yZXNpemUpe2NvbnN0e2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX09dGhpcy5wcm9wczt0aGlzLl9yZXNpemUudXBkYXRlT3B0aW9ucyh7Z3VhcmQ6dCxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjplfSksdGhpcy5fcmVzaXplLnNldEZ1bGxzY3JlZW4odGhpcy5faXNGdWxsU2NyZWVuKCkpfWlmKHRoaXMuX2RyYWcmJnRoaXMuX2RyYWcudXBkYXRlT3B0aW9ucyh7Ym91bmRCeVNjcmVlbjpCb29sZWFuKHRoaXMucHJvcHMuYm91bmRCeVNjcmVlbiksb25EcmFnU3RhcnQ6dGhpcy5wcm9wcy5vbkRyYWdTdGFydH0pLHQuZnVsbHNjcmVlbiE9PXRoaXMucHJvcHMuZnVsbHNjcmVlbil7Y29uc3QgdD10aGlzLnByb3BzLmZ1bGxzY3JlZW47dCYmIWU/dGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpOiF0JiZlJiZ0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1mdWxsc2NyZWVuLW9mZiIpfX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKHRoaXMucHJvcHMuc2hvdWxkUmV0dXJuRm9jdXMmJnRoaXMuX3ByZXZBY3RpdmVFbGVtZW50JiZkb2N1bWVudC5ib2R5LmNvbnRhaW5zKHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50KSYmKG51bGw9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keXx8dGhpcy5fZGlhbG9nPy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpdHJ5e3NldFRpbWVvdXQoKCgpPT57dGhpcy5fcHJldkFjdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pKX1jYXRjaHt9Zm9yKGNvbnN0IHQgb2YgdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucyl0KCk7KHRoaXMuX2lzRnVsbFNjcmVlbigpfHx0aGlzLnByb3BzLmZpeGVkQm9keSkmJigwLGIuc2V0Rml4ZWRCb2R5U3RhdGUpKCExKSx0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKSx0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1jbG9zZSIpfWZvY3VzKCl7dGhpcy5fZGlhbG9nJiZ0aGlzLl9kaWFsb2cuZm9jdXMoKX1jZW50ZXJBbmRGaXQoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5jZW50ZXJBbmRGaXQoKX1yZWNhbGN1bGF0ZUJvdW5kcygpe3RoaXMuX3Jlc2l6ZSYmdGhpcy5fcmVzaXplLnJlY2FsY3VsYXRlQm91bmRzKCl9X21vdmVUb1RvcCgpe3RoaXMucHJvcHMuaXNaSW5kZXhGaXhlZHx8bnVsbCE9PXRoaXMuY29udGV4dCYmdGhpcy5jb250ZXh0Lm1vdmVUb1RvcCgpfV9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpe3JldHVybnsiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRZIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWSI6bnVsbH19X2FwcGx5QXBwZWFyYW5jZUFuaW1hdGlvbih0KXtpZih0aGlzLl9yZXNpemUmJnRoaXMuX2RpYWxvZyl7Y29uc3R7eDplLHk6c309dCx7eDppLHk6b309dGhpcy5fcmVzaXplLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKTt0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIixgJHtlfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSIsYCR7c31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIixgJHtpfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiLGAke299cHhgKSx0aGlzLl9kaWFsb2cuY2xhc3NMaXN0LmFkZCh3LmRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZSl9fV9oYW5kbGVUb29sdGlwRml0KCl7aWYodGhpcy5fcmVzaXplKXtjb25zdCB0PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCkueS1wYXJzZUludChEKT49MDt0aGlzLnNldFN0YXRlKHtjYW5GaXRUb29sdGlwOnR9KX19X2lzRnVsbFNjcmVlbigpewpyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX14LmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCx4LmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBMPSgwLGMubWFrZU92ZXJsYXBhYmxlKSh4LCEwKX0sNTMxOTI4KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBpLG89cyg2NDA3NDQpLG49cyg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLHMsaSl7cmV0dXJuIHQrZT5pJiYodD1pLWUpLHQ8cyYmKHQ9cyksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLG8uY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAsby5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpO2UuaW5pdEV2ZW50KCJjbGljayIsITAsITApLHQuZGlzcGF0Y2hFdmVudChlKX10IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2xpY2soKX1mdW5jdGlvbiBoKHQpe3JldHVybnt4OnQuY2xpZW50WCx5OnQuY2xpZW50WX19ZnVuY3Rpb24gYyh0KXtyZXR1cm57eDp0LnRvdWNoZXNbMF0uY2xpZW50WCx5OnQudG91Y2hlc1swXS5jbGllbnRZfX1mdW5jdGlvbiBkKHQpe2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yKCJbYXV0b2ZvY3VzXTpub3QoW2Rpc2FibGVkXSkiKTtpZihlKXJldHVybiBlO2lmKHQudGFiSW5kZXg+PTApcmV0dXJuIHQ7Y29uc3Qgcz0oMCxuLmdldEFjdGl2ZUVsZW1lbnRTZWxlY3RvcnMpKCksaT1BcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbChzKSkuZmlsdGVyKCgwLG4uY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKHQpKTtsZXQgbz1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksYT1udWxsO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF0scz1lLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKTtpZihudWxsIT09cyl7Y29uc3QgdD1wYXJzZUludChzLDEwKTshaXNOYU4odCkmJnQ+byYmKG89dCxhPWUpfX1yZXR1cm4gYX0hZnVuY3Rpb24odCl7dFt0Lk1vdXNlR3VhcmRab25lPTIwXT0iTW91c2VHdWFyZFpvbmUifShpfHwoaT17fSkpfSw5MTEzMjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7ZXh0cmFjdFRhYlBhdGg6KCk9PmIsZ2V0U3ltYm9sUGFnZVBhdGg6KCk9PmgsbWFrZVN5bWJvbENoYXJ0VXJsOigpPT5nLG1ha2VTeW1ib2xQYWdlVXJsOigpPT5ffSk7cyg5NjM5MDApO3ZhciBpPXMoMzA5ODM2KSxvPXMoMjQxOTM3KSxuPXMoODUxNDU4KSxhPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBsKHQpe2NvbnN0IGU9ey4uLnR9O2lmKCJzcHJlYWQiPT09ZS50eXBlfHwiZXhwcmVzc2lvbiI9PT1lLnR5cGUpe2NvbnN0IHQ9ZS5zaG9ydE5hbWUmJmMoZS5zaG9ydE5hbWUpLHM9ZS5wcm9OYW1lJiZjKGUucHJvTmFtZSk7ZS50eXBlPXZvaWQgMCxlLnNob3J0TmFtZT10LGUucHJvTmFtZT1zfXJldHVybiBlfWZ1bmN0aW9uIGgodCxlKXtjb25zdCBzPWwodCk7cmV0dXJuIHUocChzLGUpLGQocykpfWZ1bmN0aW9uIGModCl7cmV0dXJuKDAsbi50b2tlbml6ZSkodCkuZmluZCgodD0+InN5bWJvbCI9PT10LnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXtzaG9ydE5hbWU6dC5zaG9ydE5hbWUsZXhjaGFuZ2U6dC5leGNoYW5nZSxwcm9OYW1lOnQucHJvTmFtZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3Mscm9vdDp0LnJvb3R9O3JldHVybiBlLnByb05hbWUmJmUucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW2UuZXhjaGFuZ2UsZS5zaG9ydE5hbWVdPWUucHJvTmFtZS5zcGxpdCgiOiIpKSxlfWZ1bmN0aW9uIHUodCxlKXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudChlLnNob3J0TmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KGUuZXhjaGFuZ2V8fCIiKSxvPWVuY29kZVVSSUNvbXBvbmVudChlLnByb05hbWV8fCIiKSxuPWVuY29kZVVSSUNvbXBvbmVudChlLnJvb3R8fCIiKTtyZXR1cm4gdC5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLGkpLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLG8pLnJlcGxhY2UoInt0dnJvb3R9IixuKX1mdW5jdGlvbiBwKHQsZT0iIil7Y29uc3Qgcz1kKHQpLHt0eXBlOmksdHlwZXNwZWNzOm8sc2hvcnROYW1lOm4scHJvTmFtZTpsLGV4Y2hhbmdlOmgscm9vdDpjfT1zO3JldHVybiB2b2lkIDA9PT1uJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7ZX1gOml8fG8/ImNvbW1vZGl0eSI9PT1pJiZvJiZvLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohY3x8IW98fCJmdXR1cmVzIiE9PWl8fG8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmbj8uZW5kc1dpdGgoIjEhIil8fG8uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9oJiYoImZvcmV4Ij09PWl8fG8mJigwLAphLmhhc0NyeXB0b1R5cGVzcGVjKShvKSk/Ii9zeW1ib2xzL3t0dnN5bWJvbH0vP2V4Y2hhbmdlPXt0dmV4Y2hhbmdlfSI6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dmV4Y2hhbmdlfS17dHZyb290fTEhLyR7ZX0/Y29udHJhY3Q9e3R2c3ltYm9sfWA6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWB9ZnVuY3Rpb24gbSh0LGUscyxuKXtjb25zdCBhPSh3aW5kb3cubG9jYWxlX2RvbWFpbnM/KDAsby5kZXRlcm1pbmVCYXNlVXJsKSh3aW5kb3cubG9jYWxlX2RvbWFpbnMsbik6d2luZG93LmxvY2F0aW9uLm9yaWdpbikrdSh0LGQobChlKSkpO3JldHVybiBzPygwLGkuYWRkVXRtVG9VcmwpKGEscyk6YX1mdW5jdGlvbiBfKHQsZSxzLGkpe2NvbnN0IG89bCh0KTtyZXR1cm4gbShwKG8saSksbyxlLHMpfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gbSgiL2NoYXJ0Lz9zeW1ib2w9e3R2cHJvc3ltYm9sfSIsdCxlKX1mdW5jdGlvbiBiKHQsZSl7Y29uc3Qgcz1oKHtwcm9OYW1lOnR9KTtyZXR1cm4gZS5zdGFydHNXaXRoKHMpP2UucmVwbGFjZShzLnNsaWNlKDAscy5sZW5ndGgtMSksIiIpOm51bGx9fSw4MDY2OTModCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjcwNyA5bDQuNjQ3LTQuNjQ2LS43MDctLjcwOEw5IDguMjkzIDQuMzU0IDMuNjQ2bC0uNzA4LjcwOEw4LjI5MyA5bC00LjY0NyA0LjY0Ni43MDguNzA4TDkgOS43MDdsNC42NDYgNC42NDcuNzA4LS43MDdMOS43MDcgOXoiLz48L3N2Zz4nfSw4NTI1MzEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDEyIiB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgZm9jdXNhYmxlPSJmYWxzZSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHBhdGggZD0iTTE0IDEybC00LTYgNC02SDB2MTJ6Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.227Z","timestamp":1785124877227,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-3a0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c8fded4358607ce96483144216441236\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":928,"size_decoded":1232,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (928), with no line terminators","md5":"54605d628ac900602ae36083dee3b441","sha1":"ca358793dd82a43278f12335674d256d92b49ad7","sha256":"3196d030409bb0320a5fae323a6210b652289760b0b3de4774d7a6fb6ef0f00e","sha512":"ad0740ba5a5400fb690d0b94d291463e7961d11b57ca38bccce61f1dcbd54fd95d7e6288efac1d46ce072b9b765e27820b6ed7bb94d12db613a20587c96b7d27","ssdeep":"","tlshash":"2811c2697250f778b562a89a6604b44c24c4d911054381eada63961dc4d32b70bb6fd8","first_seen":"2026-04-17T19:04:15.912861Z","last_seen":"2026-07-27T06:24:31.79677Z","times_seen":149,"resource_available":false,"data":"LnNlYXJjaC1sQU51YlNjMnthbGw6dW5zZXQ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDt3aWR0aDoxMDAlOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnNlYXJjaC1sQU51YlNjMjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5pbnB1dENvbnRhaW5lci1sQU51YlNjMnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweDtwYWRkaW5nOjZweCA4cHh9LmlucHV0Q29udGFpbmVyLWxBTnViU2MyOmZvY3VzLXdpdGhpbiAuc2VhcmNoSW5wdXRJY29uLWxBTnViU2Mye2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX0uYWN0aW9ucy1sQU51YlNjMnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5kaXZpZGVyLWxBTnViU2Mye21hcmdpbjowIDhweH0uc2VhcmNoSW5wdXRJY29uLWxBTnViU2Mye2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtoZWlnaHQ6MjhweDttaW4td2lkdGg6MjhweDt3aWR0aDoyOHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2Fberthenergy-inc.biz","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"143.204.238.18","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.391Z","timestamp":1785124877391,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sat, 27 Dec 2025 00:00:00 GMT","end":"Sun, 24 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"0A:93:73:BB:95:EC:D1:52:11:5B:CC:2D:92:43:D4:FD:5A:2E:BE:A4","sha256":"70:E8:96:A5:F6:09:13:92:CB:0D:3F:A5:37:C4:A1:0D:4A:F7:52:C0:C1:B6:21:DB:D5:92:33:3F:B5:7D:EE:0F"}}},"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2Fberthenergy-inc.biz HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\nx-amz-cf-pop: ARN53-P4\r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 2a1f7d47d7641ae8baf84743cec275d0.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://s.tradingview.com\r\ncross-origin-resource-policy: same-site\r\naccess-control-max-age: 86400\r\nvary: Origin\r\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: b6ZjFPtoZjmz6dLol1Joc5HUnDbL_wfHagDHkHWZM4dr8vU68zvUfw==\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":[{"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":0,"size_decoded":546,"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-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":""}},"time_used":498,"timings":{"blocked":-1,"dns":17,"connect":21,"send":0,"wait":459,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.772Z","timestamp":1785124877772,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-151e0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e12b18cd93c2179fbb1bb7c0db41c615\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86496,"size_decoded":25526,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"5a9f63c99f9d5d568eb64759326caab4","sha1":"f30d6d870db604980bcccf56754fbd2b4a793d63","sha256":"495aa62cf17213bfa7fb11fea84b8a177d37180b0e424c8a4a20e73d4779c4c7","sha512":"e7b5c45bd3574d3ad6dd7d4faf79de3c2d68454439c5275a44af309c26968b86e399c6cdfb0a40091870ffaec3555511470b6bb6715e8b78034da4aeda759237","ssdeep":"1536:N9l5HPSFvpMa7EVaVxGbCjD+blIXkrza8u9BkrvDfG3Q9q+6Feg43qD:N96Fvph7EVa324Xkrza8I2DfG3Q9qtey","tlshash":"8b8308d2709134aa43b35ada6cb0440797252c56394f887c707d89ff18eec5436bdbba","first_seen":"2026-07-22T16:00:00.360345Z","last_seen":"2026-07-27T06:24:31.691566Z","times_seen":50,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTE2NjhdLHs2ODc1OTAoZSx0LGkpe3ZhciByLG47aS5kKHQse0hBbGlnbjooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuTGVmdD0ibGVmdCIsZS5DZW50ZXI9ImNlbnRlciIsZS5SaWdodD0icmlnaHQifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuVG9wPSJ0b3AiLGUuTWlkZGxlPSJtaWRkbGUiLGUuQm90dG9tPSJib3R0b20ifShufHwobj17fSkpfSw0NTUxODgoZSx0LGkpe3ZhciByLG47aS5kKHQse1RleHRNYXJrVHlwZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuVHJpYW5nbGU9InRyaWFuZ2xlIixlLlJlY3RhbmdsZT0icmVjdGFuZ2xlIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlZlcmRhbmE9IlZlcmRhbmEiLGUuQ291cmllck5ldz0iQ291cmllciBOZXciLGUuVGltZXNOZXdSb21hbj0iVGltZXMgTmV3IFJvbWFuIixlLkFyaWFsPSJBcmlhbCJ9KG58fChuPXt9KSl9LDE1OTcxMChlLHQsaSl7aS5kKHQse0xvY2F0aW9uVG9ZTWl4aW46KCk9PmF9KTt2YXIgcj1pKDEzODYzOCksbj1pKDY0MDc0NCksbz1pKDk2MDQ2NCk7Y2xhc3MgYXtfbG9jYXRpb25Ub1koZSx0LGk9MCl7bGV0IGE7c3dpdGNoKGUpe2Nhc2Ugby5NYXJrTG9jYXRpb24uQWJvdmVCYXI6YT0yO2JyZWFrO2Nhc2Ugby5NYXJrTG9jYXRpb24uQmVsb3dCYXI6YT0zfWNvbnN0IHM9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1zKXJldHVybiAwO2k+PTEmJihpLT0xKTtjb25zdCBsPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpKSxkPVtdO2ZvcihsZXQgZT0taTtlPD1pO2UrKyl7Y29uc3QgaT10aGlzLl9wcm92aWRlci5zZXJpZXMoKS5iYXJzKCkudmFsdWVBdCh0K2UpO2lmKG51bGwhPT1pKXtjb25zdCBlPWlbYV07aWYobnVsbD09ZSljb250aW51ZTtkLnB1c2gobC5wcmljZVRvQ29vcmRpbmF0ZShlLHMpKX19c3dpdGNoKGUpe2Nhc2Ugby5NYXJrTG9jYXRpb24uQWJvdmVCYXI6cmV0dXJuKDAsbi5taW4pKGQpLTE1O2Nhc2Ugby5NYXJrTG9jYXRpb24uQmVsb3dCYXI6cmV0dXJuKDAsbi5tYXgpKGQpKzE1fX19fSw4ODA3NjEoZSx0LGkpe2kuZCh0LHtQb2x5Z29uUmVuZGVyZXI6KCk9PnB9KTt2YXIgcj1pKDc2ODMwNSksbj1pKDcwMDc0KSxvPWkoNjY0ODE1KSxhPWkoNjYwMTYxKSxzPWkoNzYzKSxsPWkoODczNTczKSxkPWkoNTczMDU0KSxoPWkoNjA0MjE0KSxjPWkoNzg2NDM2KSx1PWkoMjYwNjkpLGY9aSg1MTU5Mik7Y2xhc3MgcCBleHRlbmRzIGQuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9iYWNrSGl0dGVzdD1uZXcgcy5IaXRUZXN0UmVzdWx0KHMuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQpLHRoaXMuX3BvaW50cz1bXSx0aGlzLl9oaXR0ZXN0PWU/P25ldyBzLkhpdFRlc3RSZXN1bHQocy5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKGUpe3RoaXMuX2RhdGE9ZSx0aGlzLl9wb2ludHM9ZS5wb2ludHN9aGl0VGVzdChlKXtpZihudWxsPT09dGhpcy5fZGF0YXx8dGhpcy5fZGF0YS5kaXNhYmxlSW50ZXJhY3Rpb25zKXJldHVybiBudWxsO2NvbnN0IHQ9TWF0aC5tYXgoKDAsaC5pbnRlcmFjdGlvblRvbGVyYW5jZSkoKS5saW5lLE1hdGguY2VpbCh0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKSksaT10aGlzLl9wb2ludHMubGVuZ3RoO2lmKDE9PT1pKXtyZXR1cm4oMCxyLnBvaW50SW5DaXJjbGUpKGUsdGhpcy5fcG9pbnRzWzBdLHQpP3RoaXMuX2hpdHRlc3Q6bnVsbH1mb3IobGV0IHI9MTtyPGk7cisrKXtjb25zdCBpPXRoaXMuX3BvaW50c1tyLTFdLG89dGhpcy5fcG9pbnRzW3JdO2lmKCgwLG4uZGlzdGFuY2VUb1NlZ21lbnQpKGksbyxlKS5kaXN0YW5jZTw9dClyZXR1cm4gdGhpcy5faGl0dGVzdH1pZih0aGlzLl9kYXRhLmZpbGxlZCYmdGhpcy5fZGF0YS5maWxsQmFja2dyb3VuZCYmaT4wKXtjb25zdCByPXRoaXMuX3BvaW50c1swXSxvPXRoaXMuX3BvaW50c1tpLTFdO2lmKCgwLG4uZGlzdGFuY2VUb1NlZ21lbnQpKHIsbyxlKS5kaXN0YW5jZTw9dClyZXR1cm4gdGhpcy5faGl0dGVzdH1yZXR1cm4gdGhpcy5fZGF0YS5maWxsZWQmJnRoaXMuX2RhdGEuZmlsbEJhY2tncm91bmQmJigwLHIucG9pbnRJblBvbHlnb24pKGUsdGhpcy5fZGF0YS5wb2ludHMpP3RoaXMuX2JhY2tIaXR0ZXN0Om51bGx9X2RyYXdJbXBsKGUpe2NvbnN0IHQ9ZS5jb250ZXh0LGk9dGhpcy5fcG9pbnRzLmxlbmd0aDtpZihudWxsPT09dGhpcy5fZGF0YXx8MD09PWkpcmV0dXJuO2NvbnN0IHI9dC5nbG9iYWxBbHBoYTt0cnl7aWYodm9pZCAwIT09dGhpcy5fZGF0YS5nbG9iYWxBbHBoYSYmKHQuZ2xvYmFsQWxwaGE9dGhpcy5fZGF0YS5nbG9iYWxBbHBoYSksMT09PWkpcmV0dXJuIHZvaWQgdGhpcy5fZHJhd1BvaW50KHQsdGhpcy5fcG9pbnRzWzBdLHRoaXMuX2RhdGEubGluZXdpZHRoLzIsdGhpcy5fZGF0YS5jb2xvcik7dC5iZWdpblBhdGgoKTtjb25zdCBlPXRoaXMuX2RhdGEubGluZXN0eWxlPT09dS5MSU5FU1RZTEVfU09MSUQ/InJvdW5kIjoiYnV0dCIscj10aGlzLl9kYXRhLmxpbmVjYXA/P2U7dC5saW5lQ2FwPXIsdC5zdHJva2VTdHlsZT10aGlzLl9kYXRhLmNvbG9yLHQubGluZVdpZHRoPXRoaXMuX2RhdGEubGluZXdpZHRoLHQubGluZUpvaW49dGhpcy5fZGF0YS5saW5lam9pbj8/InJvdW5kIiwoMCxjLnNldExpbmVTdHlsZSkodCx0aGlzLl9kYXRhLmxpbmVzdHlsZSk7Y29uc3Qgbj10aGlzLl9wb2ludHNbMF07dC5tb3ZlVG8obi54LG4ueSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcG9pbnRzKXQubGluZVRvKGUueCxlLnkpO2lmKHRoaXMuX2RhdGEuZmlsbGVkJiZ0aGlzLl9kYXRhLmZpbGxCYWNrZ3JvdW5kJiYodC5maWxsU3R5bGU9KDAsbC5nZW5lcmF0ZUNvbG9yKSh0aGlzLl9kYXRhLmJhY2tjb2xvcix0aGlzLl9kYXRhLnRyYW5zcGFyZW5jeSksdC5maWxsKCkpLAp0aGlzLl9kYXRhLmZpbGxlZCYmIXRoaXMuX2RhdGEuc2tpcENsb3NlUGF0aCYmdC5jbG9zZVBhdGgoKSxpPjEpe2lmKHRoaXMuX2RhdGEubGVmdGVuZD09PWEuTGluZUVuZC5BcnJvdyl7Y29uc3QgZT10aGlzLl9jb3JyZWN0QXJyb3dQb2ludHModGhpcy5fcG9pbnRzWzFdLHRoaXMuX3BvaW50c1swXSx0LmxpbmVXaWR0aCxyKTsoMCxvLmRyYXdBcnJvdykoZVswXSxlWzFdLHQsdC5saW5lV2lkdGgsZi5kcHIxUGl4ZWxSYXRpb0luZm8pfWlmKHRoaXMuX2RhdGEucmlnaHRlbmQ9PT1hLkxpbmVFbmQuQXJyb3cpe2NvbnN0IGU9dGhpcy5fY29ycmVjdEFycm93UG9pbnRzKHRoaXMuX3BvaW50c1tpLTJdLHRoaXMuX3BvaW50c1tpLTFdLHQubGluZVdpZHRoLHIpOygwLG8uZHJhd0Fycm93KShlWzBdLGVbMV0sdCx0LmxpbmVXaWR0aCxmLmRwcjFQaXhlbFJhdGlvSW5mbyl9fXRoaXMuX2RhdGEubGluZXdpZHRoPjAmJnQuc3Ryb2tlKCl9ZmluYWxseXt0Lmdsb2JhbEFscGhhPXJ9fV9kcmF3UG9pbnQoZSx0LGkscil7MCE9PWkmJihlLmJlZ2luUGF0aCgpLGUuZmlsbFN0eWxlPXIsZS5hcmModC54LHQueSxpLDAsMipNYXRoLlBJLCEwKSxlLmZpbGwoKSxlLmNsb3NlUGF0aCgpKX1fY29ycmVjdEFycm93UG9pbnRzKGUsdCxpLHIpe2NvbnN0IG49dC5zdWJ0cmFjdChlKSxvPW4ubGVuZ3RoKCk7aWYoImJ1dHQiPT09cnx8bzwxKXJldHVybltlLHRdO2NvbnN0IGE9bytpLzI7cmV0dXJuW2Usbi5zY2FsZWQoYS9vKS5hZGQoZSldfX19LDIyMDI3NihlLHQsaSl7aS5yKHQpLGkuZCh0LHtCYWNrZ3JvdW5kUGFuZVZpZXc6KCk9Pmx9KTt2YXIgcj1pKDEzODYzOCksbj1pKDc4OTE5MCksbz1pKDE1MTIxKSxhPWkoODczNTczKTtjbGFzcyBze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KGUpe3JldHVybiBudWxsfWRyYXcoZSx0KXt9ZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGEscj0oMCxhLmdlbmVyYXRlQ29sb3IpKHRoaXMuX2RhdGEuY29sb3IsdGhpcy5fZGF0YS50cmFuc3BhcmVuY3kpLG49TWF0aC5yb3VuZChpLngxKnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8pLHM9TWF0aC5yb3VuZChpLngyKnQudmVydGljYWxQaXhlbFJhdGlvKTsoMCxvLmZpbGxSZWN0KShlLG4sMCxzLW4sdC5iaXRtYXBTaXplLmhlaWdodCxyKX19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5fZGF0YT1bXX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBuLkNvbXBvc2l0ZVJlbmRlcmVyO2Zvcihjb25zdCB0IG9mIHRoaXMuX2RhdGEpZS5hcHBlbmQobmV3IHModCkpO3JldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmJhY2tncm91bmRzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbj10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bilyZXR1cm47Y29uc3Qgbz1uLmZpcnN0QmFyKCksYT1uLmxhc3RCYXIoKSxzPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmJhY2tncm91bmRzKTtpLmZvckVhY2goKChlLGkpPT57Y29uc3Qgbj1zLmNoaWxkcygpW2ldPy5jaGlsZHMoKTtpZighbj8udmlzaWJsZS52YWx1ZSgpKXJldHVybjtsZXQgbCxkO2UuZm9yRWFjaCgoZT0+e2NvbnN0IGk9bnVsbCE9PWUuc3RhcnQ/ZS5zdGFydDooMCxyLmVuc3VyZU5vdE51bGwpKHQucG9pbnRzKCkucmFuZ2UoKS52YWx1ZSgpKS5maXJzdEluZGV4LHM9ZS5zdG9wO2lmKHM8b3x8YTxpKXJldHVybjtsZXQgaD10LmJhckJvcmRlcnMoaSkubGVmdDtjb25zdCBjPXQuYmFyQm9yZGVycyhzKS5yaWdodDtkPT09aS0xJiYoaD1sfHxoKSxsPWMsZD1zLGg8MCYmYzwwfHxoPnQud2lkdGgoKSYmYz50LndpZHRoKCl8fHRoaXMuX2RhdGEucHVzaCh7eDE6aCx4MjpjLGNvbG9yOm4uY29sb3IudmFsdWUoKSx0cmFuc3BhcmVuY3k6bi50cmFuc3BhcmVuY3kudmFsdWUoKX0pfSkpfSkpfX19LDcxMTE1OShlLHQsaSl7aS5yKHQpLGkuZCh0LHtEd2dCb3hQYW5lVmlldzooKT0+TSxnZXREd2dCb3hEcmF3UGF0dGVybjooKT0+RH0pO3ZhciByLG4sbyxhPWkoMTM4NjM4KSxzPWkoNzM2NTMxKTshZnVuY3Rpb24oZSl7ZS5Tb2xpZD0ic29sIixlLkRvdHRlZD0iZG90IixlLkRhc2hlZD0iZHNoIixlLkxlZnRBcnJvdz0iYWwiLGUuUmlnaHRBcnJvdz0iYXIiLGUuQm90aEFycm93PSJhYiJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5Ub3A9InRvcCIsZS5DZW50ZXI9ImNlbnRlciIsZS5Cb3R0b209ImJvdHRvbSJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5Nb25vc3BhY2U9Im1vbm9zcGFjZSJ9KG98fChvPXt9KSk7dmFyIGw9aSgxNzk2NzQpLGQ9aSg1ODk1MTEpLGg9aSgyNTQ3MzEpLGM9aSg4MjI3MjYpLHU9aSgyOTM0MTgpLGY9aSg5NDExMDApLHA9aSg3NjgzMDUpLGc9aSg3NjMpLF89aSg3ODY0MzYpLHg9aSg0NzA5ODYpLHc9aSg3MDM4MDkpO2Z1bmN0aW9uIHYoZSx0KXtjb25zdCBpPWUuc3R5bGUuZXh0ZW5kTGVmdD8wOmUubGVmdFRvcC54LHI9ZS5zdHlsZS5leHRlbmRSaWdodD90OmUucmlnaHRCb3R0b20ueDtyZXR1cm4oMCxzLmJveCkoKDAscy5wb2ludCkoaSxlLmxlZnRUb3AueSksKDAscy5wb2ludCkocixlLnJpZ2h0Qm90dG9tLnkpKX1jbGFzcyBte2NvbnN0cnVjdG9yKGUpe3RoaXMuX2xvY3M9bnVsbCx0aGlzLl90ZXh0UmVuZGVyZXI9bmV3IHguVGV4dFJlbmRlcmVyLHRoaXMuX2xvY3M9ZT8/bnVsbH0Kc2V0RGF0YShlKXt0aGlzLl9sb2NzPWV9ZHJhdyhlLHQpe2lmKG51bGw9PT10aGlzLl9sb2NzKXJldHVybjtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpyLGJpdG1hcFNpemU6bn09dDtlLmxpbmVDYXA9ImJ1dHQiO2NvbnN0IG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKTt0aGlzLl9sb2NzLmZvckVhY2goKHM9Pntjb25zdHtiYWNrZ3JvdW5kQ29sb3I6bCxib3JkZXJDb2xvcjpkLGV4dGVuZExlZnQ6aCxleHRlbmRSaWdodDpjLGJvcmRlcldpZHRoOnUsZGFzaFBhdHRlcm46Zix0ZXh0OnB9PXMuc3R5bGUsZz1NYXRoLmZsb29yKHUqaSkseD1oPy1nOk1hdGgucm91bmQocy5sZWZ0VG9wLngqaSksdj1NYXRoLnJvdW5kKHMubGVmdFRvcC55KnIpLG09Yz9uLndpZHRoK2c6TWF0aC5yb3VuZChzLnJpZ2h0Qm90dG9tLngqaSkseT1NYXRoLnJvdW5kKHMucmlnaHRCb3R0b20ueSpyKTtpZigoMCxfLmZpbGxSZWN0V2l0aEJvcmRlcikoe2NvbnRleHQ6ZSwuLi50fSx4LHYsbSx5LG8sdm9pZCAwPT09bD92b2lkIDA6e2NvbG9yOmx9LHZvaWQgMD09PWR8fDA9PT11P3ZvaWQgMDp7Y29sb3I6ZCxib3JkZXJXaWR0aDpnLGJvcmRlck1vZGU6ImNlbnRlciIsZGFzaFBhdHRlcm46Zn0pLHApe2xldCBuPSExO2NvbnN0IG89TWF0aC5hYnMocy5yaWdodEJvdHRvbS54LXMubGVmdFRvcC54KSxsPU1hdGguYWJzKHMucmlnaHRCb3R0b20ueS1zLmxlZnRUb3AueSksZD1NYXRoLm1pbihzLnJpZ2h0Qm90dG9tLngscy5sZWZ0VG9wLngpLGg9TWF0aC5taW4ocy5yaWdodEJvdHRvbS55LHMubGVmdFRvcC55KTsiYXV0byIhPT1wLmZvbnRTaXplTW9kZSYmImF1dG8iIT09cC53b3JkV3JhcHx8KGUuc2F2ZSgpLGUuYmVnaW5QYXRoKCksZS5yZWN0KGQqaSxoKnIsbyppLGwqciksZS5jbGlwKCksbj0hMCk7Y29uc3QgYz17dGV4dFNpemVNb2RlOnAuZm9udFNpemVNb2RlLGZvbnRTaXplOnAuZm9udFNpemV9LHU9e2hvcml6b250YWxUZXh0QWxpZ25tZW50OnAuaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQsdmVydGljYWxUZXh0QWxpZ25tZW50OnAudmVydGljYWxUZXh0QWxpZ25tZW50LHRleHQ6cC50ZXh0LHRleHRDb2xvcjpwLnRleHRDb2xvcixzaXplT3B0aW9uczpjLGZvbnRUeXBlOnMuc3R5bGUuZm9udFR5cGUsdGV4dEZvcm1hdHRpbmc6cC50ZXh0Rm9ybWF0dGluZ30sZj0oMCx3LnRleHRCb3hEYXRhKShkLGgsbyxsLHUpO2Yud29yZFdyYXBXaWR0aD0iYXV0byI9PT1wLndvcmRXcmFwP01hdGgubWF4KDEsby0oMCxhLmVuc3VyZURlZmluZWQpKGYuZm9udFNpemUpLzYpOnZvaWQgMCx0aGlzLl90ZXh0UmVuZGVyZXIuc2V0RGF0YShmKSx0aGlzLl90ZXh0UmVuZGVyZXIuZHJhdyhlLHQpLG4mJmUucmVzdG9yZSgpfX0pKX1oaXRUZXN0KGUsdCl7aWYobnVsbD09PXRoaXMuX2xvY3MpcmV0dXJuIG51bGw7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fbG9jcylpZigoMCxwLnBvaW50SW5Cb3gpKGUsdihpLHQubWVkaWFTaXplLndpZHRoKSkpcmV0dXJuIG5ldyBnLkhpdFRlc3RSZXN1bHQoZy5IaXRUYXJnZXQuUmVndWxhcik7cmV0dXJuIG51bGx9fXZhciB5PWkoMTQxNjUpO2NsYXNzIGIgZXh0ZW5kcyB5LkFic3RyYWN0TWFwQ29udGFpbmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbWF4U2l6ZT1lLHRoaXMuX2tleXNRdWV1ZT1bXX1nZXQoZSl7Y29uc3QgdD10aGlzLl9rZXlzRm9yRGF0YShlKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdFtpLHIsbl09dCxvPSgwLHkuZ2V0RGVmYXVsdDIpKHRoaXMuX21hcCxpLHIsbmV3IE1hcCk7bGV0IGE9by5nZXQobik7cmV0dXJuIHZvaWQgMCE9PWF8fCh0aGlzLl9zaXplPj10aGlzLl9tYXhTaXplP3RoaXMuX2RlbGV0ZUZpcnN0S2V5KCk6Kyt0aGlzLl9zaXplLHRoaXMuX2tleXNRdWV1ZS5wdXNoKHQpLGE9dGhpcy5fY3JlYXRlVmFsdWVJdGVtKGUpLG8uc2V0KG4sYSkpLGF9X2RlbGV0ZUZpcnN0S2V5KCl7Y29uc3QgZT0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX2tleXNRdWV1ZS5zaGlmdCgpKSxbdCxpLHJdPWUsbj0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcC5nZXQodCkpLG89KDAsYS5lbnN1cmVEZWZpbmVkKShuLmdldChpKSk7by5kZWxldGUociksMD09PW8uc2l6ZSYmbi5kZWxldGUoaSksMD09PW4uc2l6ZSYmdGhpcy5fbWFwLmRlbGV0ZSh0KX19dmFyIFQ9aSg5MjYxNDkpO2NvbnN0IEM9KCk9Pih7Ym9sZDohMSxpdGFsaWM6ITEsZm9udDpULkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCl9KTtjbGFzcyBSIGV4dGVuZHMgYntjb25zdHJ1Y3RvcihlLHQ9QygpKXtzdXBlcihlKSx0aGlzLl9mb250T3B0aW9ucz10LHRoaXMuX21lYXN1cmVDYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5fbWVhc3VyZUNvbnRleHQ9KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZWFzdXJlQ2FudmFzLmdldENvbnRleHQoIjJkIikpfV9rZXlzRm9yRGF0YShlKXtyZXR1cm5bZS5saW5lcy5qb2luKCJcbiIpLGUuYm94V2lkdGgsZS5ib3hIZWlnaHRdfV9jcmVhdGVWYWx1ZUl0ZW0oZSl7cmV0dXJuKDAsdy5jYWxjdWxhdGVGb250U2l6ZUZvckJveCkodGhpcy5fbWVhc3VyZUNvbnRleHQsdGhpcy5fZm9udE9wdGlvbnMsZS5saW5lcyxlLmJveFdpZHRoLGUuYm94SGVpZ2h0KX19dmFyIFM9aSgzNDU5MzYpO2NvbnN0IFA9bmV3IE1hcChbW3IuU29saWQsW11dLFtyLkRhc2hlZCxbNSw2XV0sW3IuRG90dGVkLFsxLDJdXV0pO2Z1bmN0aW9uIEQoZSl7Y29uc3QgdD1QLmdldChlKTtpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYm94IHN0eWxlOiAke2V9YCk7cmV0dXJuIHR9Y2xhc3MgTXtjb25zdHJ1Y3RvcihlLHQsaSxyKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9yZW5kZXJlcj1uZXcgbSx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsaC5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IGMuVGV4dFdpZHRoQ2FjaGUsdGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9ncmFwaGljc1Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCwKdGhpcy5fZm9yY2VPdmVybGF5PWl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKGUpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX2ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVJlbmRlcmVyKGUpKSx0aGlzLl9yZW5kZXJlcn1fdXBkYXRlUmVuZGVyZXIoZSl7dGhpcy5fcmVuZGVyZXIuc2V0RGF0YShudWxsKTtjb25zdCB0PXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJpY2VTY2FsZSh0aGlzLl9mb3JjZU92ZXJsYXkpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIXR8fHQuaXNFbXB0eSgpfHxpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3Qgcj10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLmdyYXBoaWNzKCkuZHdnYm94ZXMoKTtpZigwPT09ci5zaXplKXJldHVybjtpZihudWxsPT09aS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpcmV0dXJuO2NvbnN0IG49dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFsZXR0ZXMuY2hpbGRzKCksbz10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLm1ldGFJbmZvKCkuaXNSR0I7aWYoIW8mJih2b2lkIDA9PT1ufHx2b2lkIDA9PT1uLnBhbGV0dGVfY29tbW9uKSlyZXR1cm47Y29uc3QgZD1vP3ZvaWQgMDooMCxhLmVuc3VyZURlZmluZWQpKG4ucGFsZXR0ZV9jb21tb24pLmNoaWxkcygpLmNvbG9ycy5jaGlsZHMoKSxoPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09aClyZXR1cm47Y29uc3QgYz17eDE6MCx5MTowLHgyOjAseTI6MCxleHRlbmQ6bC5Ed2dFeHRlbmQuTm9uZX0sZj1bXSxwPSgwLGEuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnYm94ZXMpLHttZWRpYVNpemU6e3dpZHRoOmcsaGVpZ2h0Ol99fT1lO3IuZm9yRWFjaCgoKGUscik9PntpZighKDAsYS5lbnN1cmVEZWZpbmVkKShwLmNoaWxkcygpW3JdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IG49ZS5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtuPy5mb3JFYWNoKChlPT57aWYobnVsbD09PWUuYmFja2dyb3VuZENvbG9ySW5kZXgmJm51bGw9PT1lLmJvcmRlckNvbG9ySW5kZXgpcmV0dXJuO2xldCByLG4scDtpZihvPyhyPW51bGw9PT1lLmJhY2tncm91bmRDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj1udWxsPT09ZS5ib3JkZXJDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5ib3JkZXJDb2xvckluZGV4KSxwPW51bGw9PT1lLnRleHRDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS50ZXh0Q29sb3JJbmRleCkpOihyPW51bGwhPT1lLmJhY2tncm91bmRDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS5iYWNrZ3JvdW5kQ29sb3JJbmRleF0uY2hpbGRzKCkuY29sb3IudmFsdWUoKTp2b2lkIDAsbj1udWxsIT09ZS5ib3JkZXJDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS5ib3JkZXJDb2xvckluZGV4XS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOnZvaWQgMCxwPW51bGwhPT1lLnRleHRDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS50ZXh0Q29sb3JJbmRleF0uY2hpbGRzKCkuY29sb3IudmFsdWUoKTp2b2lkIDApLHZvaWQgMD09PXImJnZvaWQgMD09PW4pcmV0dXJuO2NvbnN0IHg9KDAsdS5jb252ZXJ0UG9pbnRzVG9TY3JlZW5EaW1lbnNpb24pKGUubGVmdCxlLnRvcCxlLnJpZ2h0LGUuYm90dG9tLGUuZXh0ZW5kLHQsaSxnLGgsYyk7aWYobnVsbD09PXgpcmV0dXJuO2NvbnN0e3gxOncseDI6dix5MTptLHkyOnksZXh0ZW5kOmJ9PXgsVD1NYXRoLm1pbih3LHYpLEM9TWF0aC5tYXgodyx2KSxSPU1hdGgubWluKG0seSksUz1NYXRoLm1heChtLHkpLFA9e2JvcmRlcldpZHRoOmUuYm9yZGVyV2lkdGgsYm9yZGVyQ29sb3I6bixiYWNrZ3JvdW5kQ29sb3I6cixkYXNoUGF0dGVybjpEKGUuYm9yZGVyU3R5bGUpLGV4dGVuZExlZnQ6KDAsdS5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoYixsLkR3Z0V4dGVuZC5MZWZ0KSxleHRlbmRSaWdodDooMCx1LmlzRXh0ZW5kSW5TYW1lRGlyZWN0aW9uKShiLGwuRHdnRXh0ZW5kLlJpZ2h0KSx0ZXh0OnRoaXMuX2dldFRleHRTdHlsZURhdGEoZSxwLEMtVCxTLVIpLGZvbnRUeXBlOmUuZm9udFR5cGV9LE09e2xlZnRUb3A6bmV3IHMuUG9pbnQoTWF0aC5taW4oVCxDKSxSKSxyaWdodEJvdHRvbTpuZXcgcy5Qb2ludChNYXRoLm1heChULEMpLFMpLHN0eWxlOlB9LEw9TS5yaWdodEJvdHRvbS54PC1NLnN0eWxlLmJvcmRlcldpZHRoJiYhTS5zdHlsZS5leHRlbmRSaWdodCxCPU0ubGVmdFRvcC54PmcrTS5zdHlsZS5ib3JkZXJXaWR0aCYmIU0uc3R5bGUuZXh0ZW5kTGVmdCxBPU0ucmlnaHRCb3R0b20ueTwtTS5zdHlsZS5ib3JkZXJXaWR0aCxJPU0ubGVmdFRvcC55Pl8rTS5zdHlsZS5ib3JkZXJXaWR0aDtMfHxCfHxBfHxJfHxmLnB1c2goTSl9KSl9KSksdGhpcy5fcmVuZGVyZXIuc2V0RGF0YShmKX1fZ2V0VGV4dFN0eWxlRGF0YShlLHQsaSxyKXtjb25zdCBuPWUuZm9udFNpemUsbz1lLnRleHQmJnQ/e3RleHQ6ZS50ZXh0LHdvcmRXcmFwOmUud29yZFdyYXAsdGV4dENvbG9yOnQsaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQ6ZS5ob3Jpem9udGFsVGV4dEFsaWdubWVudCx2ZXJ0aWNhbFRleHRBbGlnbm1lbnQ6ZS52ZXJ0aWNhbFRleHRBbGlnbm1lbnQsdGV4dEZvcm1hdHRpbmc6ZS50ZXh0Rm9ybWF0dGluZ306dm9pZCAwO2lmKG8mJnZvaWQgMCE9PW4pe2NvbnN0IHQ9bztpZihuPT09ZC5QbG90U3ltYm9sU2l6ZS5BdXRvfHwwPT09bil7Y29uc3Qgbj17bGluZXM6KDAsUy53b3JkV3JhcCkoKDAsYS5lbnN1cmVEZWZpbmVkKShlLnRleHQpLCIiLHRoaXMuX3RleHRXaWR0aENhY2hlLCEwLHZvaWQgMCkubWFwKChlPT5lLnRleHQpKSxib3hXaWR0aDppLGJveEhlaWdodDpyfQo7dC5mb250U2l6ZU1vZGU9ImF1dG8iO2NvbnN0IG89YCR7ZS5mb250VHlwZT8/ImRlZmF1bHQifS0ke2UudGV4dEZvcm1hdHRpbmd9YDtsZXQgcztpZih0aGlzLl9jYWNoZS5oYXMobykpcz0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX2NhY2hlLmdldChvKSk7ZWxzZXtjb25zdHtib2xkOnQsaXRhbGljOml9PSgwLGYuY29udmVydER3Z1RleHRGb3JtYXR0aW5nVG9PYmplY3QpKGUudGV4dEZvcm1hdHRpbmcpLHI9ZS5mb250VHlwZT9ULkNIQVJUX01PTk9TUEFDRV9GT05UX0ZBTUlMWTpDKCkuZm9udDtzPW5ldyBSKDVlMyx7Ym9sZDp0LGl0YWxpYzppLGZvbnQ6cn0pLHRoaXMuX2NhY2hlLnNldChvLHMpfXQuZm9udFNpemU9KDAsYS5lbnN1cmVOb3ROdWxsKShzLmdldChuKSl9ZWxzZSB0LmZvbnRTaXplTW9kZT0iZml4ZWQiLHQuZm9udFNpemU9bjtyZXR1cm4gdH19fX0sOTM5MzY4KGUsdCxpKXtpLnIodCksaS5kKHQse0R3Z0xhYmVsUGFuZVZpZXc6KCk9PlZ9KTt2YXIgcj1pKDEzODYzOCksbj1pKDU0ODU2MCksbz1pKDI1NDczMSksYT1pKDc4OTE5MCkscz1pKDExODc1MiksbD1pKDY1MTk2NiksZD1pKDMzMDg2MSksaD1pKDMwMjQ2OSksYz1pKDc0NzQ2NSksdT1pKDU0NDI0MyksZj1pKDE2ODQ4NykscD1pKDczNjUzMSksZz1pKDg0NjUyOSk7Y2xhc3MgXyBleHRlbmRzIGcuUGFuZVJlbmRlcmVyTGFiZWxCYXNle19jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmNlbnRlcixpPWUuY2VudGVyK2Uuc2hhcGVXaWR0aCxyPWUueS1lLnNoYXBlSGVpZ2h0K2UudmVydE9mZnNldCxuPWUueStlLnZlcnRPZmZzZXQsbz1uZXcgcC5Qb2ludCh0LHIpLGE9bmV3IHAuUG9pbnQoaSxuKTtyZXR1cm4oMCxwLmJveCkobyxhKX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpyLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT1lLG89dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MCxhPXRoaXMuX2dldEFycm93U2l6ZSh0KSxzPU1hdGgucm91bmQodC5jZW50ZXIqcikrbyxsPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQpKm4pK28sZD1NYXRoLnJvdW5kKCh0LmNlbnRlcithKSpyKStvLGg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC1hKSpuKStvLGM9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC0yKmEpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyk7Y29uc3QgdT1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0LXQuc2hhcGVIZWlnaHQtYSkqbikrbyxmPU1hdGgucm91bmQoKHQuY2VudGVyK3Quc2hhcGVXaWR0aCthKSpyKStvO3RoaXMuX2RyYXdDb3JuZXIoZSxkLHUsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGYsaCxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuLWUuc2hhcGVIZWlnaHQvMi10aGlzLl9nZXRBcnJvd1NpemUoZSl9fWNsYXNzIHggZXh0ZW5kcyBnLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXIsaT1lLmNlbnRlcitlLnNoYXBlV2lkdGgscj1lLnkrZS52ZXJ0T2Zmc2V0LG49ZS55K2Uuc2hhcGVIZWlnaHQrZS52ZXJ0T2Zmc2V0LG89bmV3IHAuUG9pbnQodCxyKSxhPW5ldyBwLlBvaW50KGksbik7cmV0dXJuKDAscC5ib3gpKG8sYSl9X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0OmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86bn09ZSxvPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYT10aGlzLl9nZXRBcnJvd1NpemUodCkscz1NYXRoLnJvdW5kKHQuY2VudGVyKnIpK28sbD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpuKStvLGQ9TWF0aC5yb3VuZCgodC5jZW50ZXIrYSkqcikrbyxoPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrMiphKSpuKStvLGM9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCthKSpuKStvLHU9TWF0aC5yb3VuZCgodC5jZW50ZXIrdC5zaGFwZVdpZHRoK2EpKnIpK28sZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0K3Quc2hhcGVIZWlnaHQrYSkqbikrbztpLm1vdmVUbyhkLGgpLGkubGluZVRvKHMsbCksaS5saW5lVG8oZCxjKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxjLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodFVwKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxmLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGYsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnREb3duKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuIGUuc2hhcGVIZWlnaHQvMit0aGlzLl9nZXRBcnJvd1NpemUoZSl9fWNsYXNzIHcgZXh0ZW5kcyBnLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXItZS5zaGFwZVdpZHRoLGk9ZS5jZW50ZXIscj1lLnktZS5zaGFwZUhlaWdodCtlLnZlcnRPZmZzZXQsbj1lLnkrZS52ZXJ0T2Zmc2V0LG89bmV3IHAuUG9pbnQodCxyKSxhPW5ldyBwLlBvaW50KGksbik7cmV0dXJuKDAscC5ib3gpKG8sYSl9X2RyYXdJdGVtU2hhcGUoZSx0KXsKY29uc3R7Y29udGV4dDppLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm59PWUsbz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLHM9TWF0aC5yb3VuZCh0LmNlbnRlcipyKStvLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbikrbyxkPU1hdGgucm91bmQoKHQuY2VudGVyLWEpKnIpK28saD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0LTIqYSkqbikrbyxjPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqbikrbyx1PU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSpyKStvLGY9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC10LnNoYXBlSGVpZ2h0LWEpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyksdGhpcy5fZHJhd0Nvcm5lcihlLHUsYyxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSx1LGYsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGQsZixnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksaS5saW5lVG8oZCxoKX1fZ2V0QXJyb3dTaXplKGUpe3JldHVybiBlLnN0ZXBYL01hdGguc3FydCgyKX1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybi1lLnNoYXBlSGVpZ2h0LzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyB2IGV4dGVuZHMgZy5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLWUuc2hhcGVXaWR0aCxpPWUuY2VudGVyLHI9ZS55K2UudmVydE9mZnNldCxuPWUueStlLnNoYXBlSGVpZ2h0K2UudmVydE9mZnNldCxvPW5ldyBwLlBvaW50KHQsciksYT1uZXcgcC5Qb2ludChpLG4pO3JldHVybigwLHAuYm94KShvLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDppLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm59PWUsbz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLHM9TWF0aC5yb3VuZCh0LmNlbnRlcipyKStvLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbikrbyxkPU1hdGgucm91bmQoKHQuY2VudGVyLWEpKnIpK28saD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0K2EpKm4pK28sYz1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KzIqYSkqbikrbyx1PU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSpyKStvLGY9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCt0LnNoYXBlSGVpZ2h0K2EpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyksdGhpcy5fZHJhd0Nvcm5lcihlLGQsZixnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxmLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLHUsaCxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuIGUuc2hhcGVIZWlnaHQvMit0aGlzLl9nZXRBcnJvd1NpemUoZSl9fXZhciBtLHk9aSg0MDc1ODQpLGI9aSgzNjMzMjYpLFQ9aSg4ODQyOCksQz1pKDg3NDEzNSk7Y2xhc3MgUiBleHRlbmRzIEMuUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7c2V0SXRlbXMoZSx0KXt0aGlzLl9zZXRCYXNlRGF0YShlLHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2l0ZW1zKTA9PT1lLnZlcnRPZmZzZXQmJihlLnRleHRWZXJ0T2Zmc2V0PTApfV9kcmF3SXRlbVRleHQoZSx0KXtjb25zdCBpPXRoaXMuX2dldFRleHRDYWNoZSh0KTtpZihudWxsPT09aSlyZXR1cm47Y29uc3Qgcj10LmNlbnRlcixuPXQueSt0LnRleHRWZXJ0T2Zmc2V0LG89dC5zdHlsZT8udGV4dENvbG9yfHx0aGlzLl90ZXh0Q29sb3IsYT10LnZlcnRPZmZzZXQscz17c3R5bGU6e2ZpbGxTdHlsZTpvfSxsb2NhdGlvbjp7eDpyLHk6bixob3J6QWxpZ246VC5Ib3Jpem9udGFsQWxpZ24uQ2VudGVyLHZlcnRBbGlnbjphPjA/VC5WZXJ0aWNhbEFsaWduLlRvcDpULlZlcnRpY2FsQWxpZ24uQm90dG9tfX07aS5wYWludFRvKGUscyl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUudmVydE9mZnNldCxpPXRoaXMuX2dldFRleHRDYWNoZShlKTtpZighaSlyZXR1cm47Y29uc3Qgcj1pLnRleHRJbWFnZVdpZHRoLG49aS50ZXh0SW1hZ2VIZWlnaHQsbz1yLzIsYT1lLnkrZS50ZXh0VmVydE9mZnNldCxzPXQ+MD8wOi1uLGw9dD4wP246MCxkPW5ldyBwLlBvaW50KGUuY2VudGVyLW8sYStzKSxoPW5ldyBwLlBvaW50KGUuY2VudGVyK28sYStsKTtyZXR1cm4oMCxwLmJveCkoZCxoKX19IWZ1bmN0aW9uKGUpe2VbZS5PdXRsaW5lV2lkdGg9NF09Ik91dGxpbmVXaWR0aCJ9KG18fChtPXt9KSk7Y2xhc3MgUyBleHRlbmRzIGYuUGFuZVJlbmRlcmVyTGFiZWxDZW50ZXJ7X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IGk9dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBuPXQudGV4dEhvcml6T2Zmc2V0fHwwLG89dC5jZW50ZXIrbixhPXQudmVydE9mZnNldCxzPXQueSthK3QudGV4dFZlcnRPZmZzZXQsbD10LnN0eWxlPy50ZXh0Q29sb3J8fHRoaXMuX3RleHRDb2xvcixkPXQuc3R5bGU/LmJvcmRlckNvbG9yfHx0aGlzLl9ib3JkZXJDb2xvcixoPXtzdHlsZTp7ZmlsbFN0eWxlOigwLHIuZW5zdXJlRGVmaW5lZCkobCksc3Ryb2tlU3R5bGU6ZCxsaW5lV2lkdGg6NH0sbG9jYXRpb246e3g6byx5OnMsaG9yekFsaWduOlQuSG9yaXpvbnRhbEFsaWduLkNlbnRlciwKdmVydEFsaWduOlQuVmVydGljYWxBbGlnbi5NaWRkbGV9fTtpLnBhaW50VG8oZSxoKX1fZHJhd0l0ZW1TaGFwZShlLHQpe319dmFyIFAsRD1pKDE2ODI1OCksTT1pKDUxMjQzNyksTD1pKDQ3NzM4OCksQj1pKDkyNjE0OSksQT1pKDE0MzgwOCksST1pKDk0MTEwMCk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lU3BhY2luZ0NvZWZmPS4xNjY2NjY2NjY2NjY2NjY2Nl09IkxpbmVTcGFjaW5nQ29lZmYiLGVbZS5QYW5lSGVpZ2h0TGltaXQ9MTMwXT0iUGFuZUhlaWdodExpbWl0IixlW2UuVGV4dEltYWdlQ2FjaGVTaXplPTVlM109IlRleHRJbWFnZUNhY2hlU2l6ZSIsZVtlLkZ1bmRhbWVudGFsc01pbkxhYmVsc1NwYWNpbmc9NjBdPSJGdW5kYW1lbnRhbHNNaW5MYWJlbHNTcGFjaW5nIixlW2UuSGlkZVNoYXBlTXVsdGlwbGllcj0uNV09IkhpZGVTaGFwZU11bHRpcGxpZXIiLGVbZS5UZXh0T3V0bGluZU11bHRpcGxpZXI9MS4xXT0iVGV4dE91dGxpbmVNdWx0aXBsaWVyIixlW2UuT3RoZXJTdHlsZXNNdWx0aXBsaWVyPTEuMl09Ik90aGVyU3R5bGVzTXVsdGlwbGllciJ9KFB8fChQPXt9KSk7Y29uc3Qgej17W24uRHdnTGFiZWxUZXh0QWxpZ24uTGVmdF06ImxlZnQiLFtuLkR3Z0xhYmVsVGV4dEFsaWduLkNlbnRlcl06ImNlbnRlciIsW24uRHdnTGFiZWxUZXh0QWxpZ24uUmlnaHRdOiJyaWdodCJ9O3ZhciBIO2Z1bmN0aW9uIEUoZSx0LGkpe3N3aXRjaChmdW5jdGlvbihlKXtpZihlLmxlbmd0aDwyKXJldHVybiAwO2xldCB0PU1hdGguYWJzKGVbMF0uY2VudGVyLWVbMV0uY2VudGVyKTtmb3IobGV0IGk9MjtpPE1hdGgubWluKDUsZS5sZW5ndGgpOysraSl0PU1hdGgubWF4KHQsTWF0aC5hYnMoZVtpLTFdLmNlbnRlci1lW2ldLmNlbnRlcikpO3JldHVybiB0PDMwPzI6dDw2MD8xOjB9KGUpKXtjYXNlIDA6cmV0dXJuIGU7Y2FzZSAxOmNvbnN0IHI9ZS5sZW5ndGg7cmV0dXJuIGUuZmlsdGVyKCgoZSxuKT0+KHQtaSsoci1uKSklMj09MCkpO2Nhc2UgMjpyZXR1cm5bXX19IWZ1bmN0aW9uKGUpe2VbZS5BbGxJdGVtc0F2YWlsYWJsZT0wXT0iQWxsSXRlbXNBdmFpbGFibGUiLGVbZS5FdmVuSXRlbXNBdmFpbGFibGU9MV09IkV2ZW5JdGVtc0F2YWlsYWJsZSIsZVtlLlVuYXZhaWxhYmxlPTJdPSJVbmF2YWlsYWJsZSJ9KEh8fChIPXt9KSk7Y2xhc3MgVntjb25zdHJ1Y3RvcihlLHQsaSxyKXt0aGlzLl9yZW5kZXJlclR5cGVCeVN0eWxlPW5ldyBNYXAoW1tuLkR3Z0xhYmVsU3R5bGUuQXJyb3dkb3duLGwuUGFuZVJlbmRlcmVyQXJyb3dEb3duXSxbbi5Ed2dMYWJlbFN0eWxlLkFycm93dXAsbC5QYW5lUmVuZGVyZXJBcnJvd1VwXSxbbi5Ed2dMYWJlbFN0eWxlLkNpcmNsZSxkLlBhbmVSZW5kZXJlckNpcmNsZVNoYXBlXSxbbi5Ed2dMYWJlbFN0eWxlLkNyb3NzLGguUGFuZVJlbmRlcmVyQ3Jvc3NTaGFwZV0sW24uRHdnTGFiZWxTdHlsZS5EaWFtb25kLGMuUGFuZVJlbmRlcmVyRGlhbW9uZF0sW24uRHdnTGFiZWxTdHlsZS5GbGFnLHUuUGFuZVJlbmRlcmVyRmxhZ1NoYXBlXSxbbi5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bixmLlBhbmVSZW5kZXJlckxhYmVsRG93bl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFVwLGYuUGFuZVJlbmRlcmVyTGFiZWxVcF0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnQsZi5QYW5lUmVuZGVyZXJMYWJlbExlZnRdLFtuLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodCxmLlBhbmVSZW5kZXJlckxhYmVsUmlnaHRdLFtuLkR3Z0xhYmVsU3R5bGUuTGFiZWxDZW50ZXIsZi5QYW5lUmVuZGVyZXJMYWJlbENlbnRlcl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnRVcCx4XSxbbi5Ed2dMYWJlbFN0eWxlLkxhYmVsTGVmdERvd24sX10sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0VXAsdl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0RG93bix3XSxbbi5Ed2dMYWJlbFN0eWxlLlNxdWFyZSx5LlBhbmVSZW5kZXJlclNxdWFyZV0sW24uRHdnTGFiZWxTdHlsZS5UcmlhbmdsZXVwLHMuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4VXBdLFtuLkR3Z0xhYmVsU3R5bGUuVHJpYW5nbGVkb3duLHMuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bl0sW24uRHdnTGFiZWxTdHlsZS5YY3Jvc3MsYi5QYW5lUmVuZGVyZXJYQ3Jvc3NdLFtuLkR3Z0xhYmVsU3R5bGUuTm9uZSxSXSxbbi5Ed2dMYWJlbFN0eWxlLlRleHRPdXRsaW5lLFNdXSksdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLG8ucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX2dyYXBoaWNzUHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3JlbmRlcmVyPW5ldyBhLkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX3RleHRDYWNoZT1uZXcgTS5UZXh0SW1hZ2VDYWNoZXNDb250YWluZXIoNWUzKSx0aGlzLl9pc0Z1bmRhbWVudGFsPSgwLEEuaXNGdW5kYW1lbnRhbFN0dWR5TWV0YUluZm8pKGUubWV0YUluZm8oKSksdGhpcy5fZm9yY2VPdmVybGF5PWl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5faW52YWxpZGF0ZWQ9ITEsdGhpcy5fdXBkYXRlVmlld0ludGVybmFsKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSkpLHRoaXMuX3JlbmRlcmVyfV9zaGlmdExhYmVscygpe2lmKCF0aGlzLl9pc0Z1bmRhbWVudGFsKXJldHVybiExO2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5tZXRhSW5mbygpO2lmKDEhPT1lLnBsb3RzLmxlbmd0aClyZXR1cm4hMTtjb25zdCB0PXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVtlLnBsb3RzWzBdLmlkXS5jaGlsZHMoKS5wbG90dHlwZS52YWx1ZSgpO3JldHVybiB0PT09RC5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fHQ9PT1ELkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc31fdXBkYXRlVmlld0ludGVybmFsKGUpe3RoaXMuX3JlbmRlcmVyLmNsZWFyKCkKO2NvbnN0IHQ9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighdHx8dC5pc0VtcHR5KCl8fGkuaXNFbXB0eSgpKXJldHVybjtjb25zdCBvPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZ3JhcGhpY3MoKS5kd2dsYWJlbHMoKSxhPWkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLHM9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5maXJzdFZhbHVlKHZvaWQgMCx0aGlzLl9mb3JjZU92ZXJsYXkpO2lmKDA9PT1vLnNpemV8fG51bGw9PT1hfHxudWxsPT09cylyZXR1cm47Y29uc3QgbD1hLmZpcnN0QmFyKCksZD1hLmxhc3RCYXIoKSxoPU1hdGgucm91bmQoZSpMLkR3Z0xhYmVsUGFuZVZpZXdDb25zdGFudHMuQVVUT19TSVpFX01VTFQpO2xldCBjPW51bGw7Y29uc3QgdT1bXSxmPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnbGFiZWxzKTtvLmZvckVhY2goKChlLGkpPT57aWYoISgwLHIuZW5zdXJlRGVmaW5lZCkoZi5jaGlsZHMoKVtpXSkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPWUuZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7aWYoIW4pcmV0dXJuO2NvbnN0IG89bi5zaXplO2xldCBhPS0xO24uZm9yRWFjaCgoZT0+e2ErPTE7Y29uc3QgaT1lLng7aWYoaTxsfHxkPGkpcmV0dXJuO2xldCBuLGY7aWYodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5tZXRhSW5mbygpLmlzUkdCKW49bnVsbD09PWUuY29sb3JJbmRleD92b2lkIDA6dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleCksZj1udWxsPT09ZS50ZXh0Q29sb3JJbmRleD92b2lkIDA6dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUudGV4dENvbG9ySW5kZXgpO2Vsc2V7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcy5jaGlsZHMoKTtpZih2b2lkIDA9PT10fHx2b2lkIDA9PT10LnBhbGV0dGVfY29tbW9uKXJldHVybjtjb25zdCBpPXQucGFsZXR0ZV9jb21tb24uY2hpbGRzKCkscj1udWxsPT09ZS5jb2xvckluZGV4P251bGw6aS5jb2xvcnMuY2hpbGRzKClbZS5jb2xvckluZGV4XSxvPW51bGw9PT1lLnRleHRDb2xvckluZGV4P251bGw6aS5jb2xvcnMuY2hpbGRzKClbZS50ZXh0Q29sb3JJbmRleF07aWYodm9pZCAwPT09cnx8dm9pZCAwPT09bylyZXR1cm47bj1udWxsPT09cj92b2lkIDA6ci5jaGlsZHMoKS5jb2xvci52YWx1ZSgpLGY9bnVsbD09PW8/dm9pZCAwOm8uY2hpbGRzKCkuY29sb3IudmFsdWUoKX1pZih2b2lkIDA9PT1uJiZ2b2lkIDA9PT1mKXJldHVybjtjb25zdCBwPWUuc2l6ZSxnPWUuc3R5bGUsXz0oMCxMLmNhbGN1bGF0ZUxhYmVsSGVpZ2h0KShMLkR3Z0xhYmVsUGFuZVZpZXdDb25zdGFudHMuTk9STUFMX1NJWkUscCxoKSx4PXRoaXMuX2dldEludmVydGVkWWxvYyhlLnlsb2MsdC5pc0ludmVydGVkKCkpLHc9dm9pZCAwPT09Zj8iIjplLnRleHQsdj16W2UudGV4dEFsaWduXSxtPWUudG9vbHRpcCx5PSJtb25vc3BhY2UiPT09ZS5mb250VHlwZT9CLkNIQVJUX01PTk9TUEFDRV9GT05UX0ZBTUlMWTpCLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkse2JvbGQ6YixpdGFsaWM6VH09KDAsSS5jb252ZXJ0RHdnVGV4dEZvcm1hdHRpbmdUb09iamVjdCkoZS50ZXh0Rm9ybWF0dGluZyksQz1fKkwuRHdnTGFiZWxQYW5lVmlld0NvbnN0YW50cy5GT05UX1NJWkVfTVVMVCxSPU1hdGgucm91bmQoLjE2NjY2NjY2NjY2NjY2NjY2KkMpLFM9dy5sZW5ndGg/KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl90ZXh0Q2FjaGUuZ2V0KHt0ZXh0OncsYm9sZDpiLGl0YWxpYzpULGZvbnQ6eSxmb250U2l6ZTpDLGxpbmVTcGFjaW5nOlIsYWxpZ246dn0pKS50ZXh0SW1hZ2VIZWlnaHQ6MCxQPXRoaXMuX2dldExvY2F0aW9uRGF0YSh7aW5kZXg6aSxwcmljZTplLnkseWxvYzp4LHNpemU6XyxzdHlsZTpnLGZpcnN0VmFsdWU6cyxoaWRlU2hhcGU6dm9pZCAwPT09bnx8Im4iPT09Zyx0ZXh0SGVpZ2h0OlN9KSxEPXtjZW50ZXI6dGhpcy5fc2hpZnRMYWJlbHMoKT9QLnJpZ2h0OlAuY2VudGVyLGxlZnQ6TmFOLHJpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDpOYU4seTpQLnkwLHdpZHRoOlAuc2hhcGVXaWR0aCxoZWlnaHQ6UC5zaGFwZUhlaWdodCx2ZXJ0T2Zmc2V0OlAudmVydE9mZnNldCx0ZXh0OncsZm9udFNpemU6UC5mb250U2l6ZSxmb250OnksYm9sZDpiLGl0YWxpYzpULHN0eWxlOntjb2xvcjpuLGJvcmRlckNvbG9yOm4sdGV4dENvbG9yOmZ9LHRleHRBbGlnbjp2LGxpbmVTcGFjaW5nOlIsdG9vbHRpcDptfTtsZXQgTTtQLnN0eWxlIT09Yz8oTT17aXRlbXM6W10sYWxsSXRlbXNJbmNsdWRpbmdJbnZpc2libGVTaXplOm8sZW5kVmlzaWJsZUl0ZW1JbmRleDphLHN0eWxlOlAuc3R5bGV9LHUucHVzaChNKSxjPVAuc3R5bGUpOk09dVt1Lmxlbmd0aC0xXSxNLml0ZW1zLnB1c2goRCksTS5lbmRWaXNpYmxlSXRlbUluZGV4PWF9KSl9KSksdS5mb3JFYWNoKCh0PT57bGV0IGk9dC5pdGVtcztpZih0aGlzLl9pc0Z1bmRhbWVudGFsKXN3aXRjaCh0LnN0eWxlKXtjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbFVwOmNhc2Ugbi5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnQ6Y2FzZSBuLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbENlbnRlcjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnRVcDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnREb3duOmNhc2Ugbi5Ed2dMYWJlbFN0eWxlLkxhYmVsUmlnaHRVcDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0RG93bjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5UZXh0T3V0bGluZTppPUUoaSx0LmFsbEl0ZW1zSW5jbHVkaW5nSW52aXNpYmxlU2l6ZSx0LmVuZFZpc2libGVJdGVtSW5kZXgpfWNvbnN0IG89bmV3KCgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcmVuZGVyZXJUeXBlQnlTdHlsZS5nZXQodC5zdHlsZSkpKSh7Cml0ZW1zOmksYmFyU3BhY2luZzplfSx7dGV4dENhY2hlOnRoaXMuX3RleHRDYWNoZSxza2lwUmVuZGVyaW5nT3B0aW1pemF0aW9uczohMH0pO3RoaXMuX3JlbmRlcmVyLmFwcGVuZChvKX0pKX1fZ2V0TG9jYXRpb25EYXRhKGUpe2NvbnN0IHQ9TC5Ed2dMYWJlbFBhbmVWaWV3Q29uc3RhbnRzLGk9ZS5zaXplKnQuRk9OVF9TSVpFX01VTFQscj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxvPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJpY2VTY2FsZSh0aGlzLl9mb3JjZU92ZXJsYXkpO2xldCBhPU5hTjtpZihlLnlsb2M9PT1uLkR3Z0xhYmVsWWxvYy5QcmljZXx8ZS55bG9jPT09bi5Ed2dMYWJlbFlsb2MuQXV0bylhPW8ucHJpY2VUb0Nvb3JkaW5hdGUoZS5wcmljZSxlLmZpcnN0VmFsdWUpO2Vsc2V7Y29uc3QgdD1lLnlsb2M9PT1uLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcj8yOjMsaT10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnNlcmllcygpLmJhcnMoKS52YWx1ZUF0KGUuaW5kZXgpO2lmKG51bGwhPT1pKXtjb25zdCByPWlbdF07bnVsbCE9ciYmKGE9by5wcmljZVRvQ29vcmRpbmF0ZShyLGUuZmlyc3RWYWx1ZSkpfX1jb25zdCBzPWUuc2l6ZSp0LlNIQVBFX1dJRFRIX01VTFQsbD1lLnNpemUqdC5TSEFQRV9IRUlHSFRfTVVMVCxkPWUuaGlkZVNoYXBlPy41Kmw6KGUuc3R5bGU9PT1uLkR3Z0xhYmVsU3R5bGUuVGV4dE91dGxpbmU/MS4xOjEuMikqbCxoPWQqdGhpcy5fZ2V0WUxvY1NpZ24oZS55bG9jLGEsby5oZWlnaHQoKSxkLGUudGV4dEhlaWdodCk7cmV0dXJuey4uLnIuYmFyQm9yZGVycyhlLmluZGV4KSx5MDphLHNoYXBlV2lkdGg6cyxzaGFwZUhlaWdodDpsLHZlcnRPZmZzZXQ6aCxmb250U2l6ZTppLHN0eWxlOmUuc3R5bGV9fV9nZXRZTG9jU2lnbihlLHQsaSxyLG8pe3N3aXRjaChlKXtjYXNlIG4uRHdnTGFiZWxZbG9jLlByaWNlOnJldHVybiAwO2Nhc2Ugbi5Ed2dMYWJlbFlsb2MuQWJvdmVCYXI6cmV0dXJuLTE7Y2FzZSBuLkR3Z0xhYmVsWWxvYy5CZWxvd0JhcjpyZXR1cm4gMTtjYXNlIG4uRHdnTGFiZWxZbG9jLkF1dG86cmV0dXJuIGk8MTMwP3Q+LjUqaT8tMToxOi1NYXRoLnNpZ24odC1pK3IrMipvKX19X2dldEludmVydGVkWWxvYyhlLHQpe2lmKHQpe2lmKGU9PT1uLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcilyZXR1cm4gbi5Ed2dMYWJlbFlsb2MuQmVsb3dCYXI7aWYoZT09PW4uRHdnTGFiZWxZbG9jLkJlbG93QmFyKXJldHVybiBuLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcn1yZXR1cm4gZX19fSwxMzU2NzcoZSx0LGkpe2kucih0KSxpLmQodCx7RHdnTGluZUZpbGxQYW5lVmlldzooKT0+cH0pO3ZhciByPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoMTc5Njc0KSxhPWkoMjU0NzMxKSxzPWkoMjkzNDE4KSxsPWkoNzg5MTkwKSxkPWkoODgwNzYxKSxoPWkoNzYzKTtjb25zdCBjPXt4MTowLHkxOjAseDI6MCx5MjowLGV4dGVuZDpvLkR3Z0V4dGVuZC5Ob25lfSx1PXt4MTowLHkxOjAseDI6MCx5MjowLGV4dGVuZDpvLkR3Z0V4dGVuZC5Ob25lfTtmdW5jdGlvbiBmKGUsdCxpLHIpe2NvbnN0IG89dC5zdWJ0cmFjdChlKS5ub3JtYWxpemVkKCk7aWYoTWF0aC5hYnMoby54KT5NYXRoLmFicyhvLnkpKXtjb25zdCB0PShpLWUueCkvby54O3JldHVybiBuZXcgbi5Qb2ludChlLmFkZFNjYWxlZChvLHQpLngsZS5hZGRTY2FsZWQobyx0KS55KX17Y29uc3QgdD0oci1lLnkpL28ueTtyZXR1cm4gbmV3IG4uUG9pbnQoZS5hZGRTY2FsZWQobyx0KS54LGUuYWRkU2NhbGVkKG8sdCkueSl9fWNsYXNzIHB7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsYS5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZvcmNlT3ZlcmxheT1pLHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09cj9uZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSxyKTpuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGwuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgZC5Qb2x5Z29uUmVuZGVyZXIodGhpcy5faGl0VGVzdFJlc3VsdCk7aS5zZXREYXRhKHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLnBhbGV0dGVzLHQ9dGhpcy5fcHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQjtpZigodm9pZCAwPT09ZXx8dm9pZCAwPT09ZS5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbikmJiF0KXJldHVybjtjb25zdCBpPXQ/dm9pZCAwOigwLHIuZW5zdXJlRGVmaW5lZCkoZS5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbikuY2hpbGRzKCksYT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksbD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighYXx8YS5pc0VtcHR5KCl8fGwuaXNFbXB0eSgpKXJldHVybjtpZihudWxsPT09bC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpcmV0dXJuO2NvbnN0IGQ9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09ZClyZXR1cm47Y29uc3QgaD10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVzKCkscD10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVmaWxscygpO2lmKDA9PT1wLnNpemV8fDA9PT1oLnNpemUpcmV0dXJuO2NvbnN0IGc9bmV3IE1hcDtoLmZvckVhY2goKGU9Pntjb25zdCB0PWUuZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7dD8uZm9yRWFjaCgoZT0+e2cuc2V0KGUuaWQsZSl9KSl9KSk7Y29uc3QgXz0oMCwKci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnbGluZWZpbGxzKTtwLmZvckVhY2goKChlLGgpPT57KDAsci5lbnN1cmVEZWZpbmVkKShfLmNoaWxkcygpW2hdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IGg9Zy5nZXQoZS5saW5lMSkscD1nLmdldChlLmxpbmUyKTtpZihoJiZwKXtjb25zdCBnPWZ1bmN0aW9uKGUsdCxpLHIsYSl7Y29uc3QgbD1yLndpZHRoKCksZD0oMCxzLmNvbnZlcnRQb2ludHNUb1NjcmVlbkRpbWVuc2lvbikoZS54MSxlLnkxLGUueDIsZS55MixlLmV4dGVuZCxpLHIsbCxhLGMpLGg9KDAscy5jb252ZXJ0UG9pbnRzVG9TY3JlZW5EaW1lbnNpb24pKHQueDEsdC55MSx0LngyLHQueTIsdC5leHRlbmQsaSxyLGwsYSx1KTtpZihudWxsPT09ZHx8bnVsbD09PWgpcmV0dXJuIG51bGw7bGV0IHA9bmV3IG4uUG9pbnQoZC54MSxkLnkxKSxnPW5ldyBuLlBvaW50KGQueDIsZC55MiksXz1uZXcgbi5Qb2ludChoLngxLGgueTEpLHg9bmV3IG4uUG9pbnQoaC54MixoLnkyKTtpZigoMCxuLmVxdWFsUG9pbnRzKShwLGcpfHwoMCxuLmVxdWFsUG9pbnRzKShfLHgpKXJldHVybltwLGcseCxfXTtjb25zdCB3PSgwLHMuaXNFeHRlbmRJblNhbWVEaXJlY3Rpb24pKGQuZXh0ZW5kLG8uRHdnRXh0ZW5kLkxlZnQpLHY9KDAscy5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoZC5leHRlbmQsby5Ed2dFeHRlbmQuUmlnaHQpLG09KDAscy5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoaC5leHRlbmQsby5Ed2dFeHRlbmQuTGVmdCkseT0oMCxzLmlzRXh0ZW5kSW5TYW1lRGlyZWN0aW9uKShoLmV4dGVuZCxvLkR3Z0V4dGVuZC5SaWdodCksYj13JiZtLFQ9diYmeSxDPWkuaGVpZ2h0KCksUj0tbCxTPTIqbCxQPS1DLEQ9MipDO2xldCBNPVIsTD1TO3AueD5nLngmJihNPVMsTD1SKTtsZXQgQj1QLEE9RDtwLnk+Zy55JiYoQj1ELEE9UCk7bGV0IEk9Uix6PVM7Xy54PngueCYmKEk9Uyx6PVIpO2xldCBIPVAsRT1EO3JldHVybiBfLnk+eC55JiYoSD1ELEU9UCksKGJ8fG51bGw9PT1lLngxJiZ3KSYmKHA9ZihnLHAsTSxCKSksKGJ8fG51bGw9PT10LngxJiZtKSYmKF89Zih4LF8sSSxIKSksKFR8fG51bGw9PT1lLngyJiZ2KSYmKGc9ZihwLGcsTCxBKSksKFR8fG51bGw9PT10LngyJiZ5KSYmKHg9ZihfLHgseixFKSksW3AsZyx4LF9dfShoLHAsYSxsLGQpO2lmKG51bGwhPT1nKXtsZXQgbjtpZih0KW49dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLHIuZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuY29sb3JJbmRleF07bj10P3QuY2hpbGRzKCkuY29sb3IudmFsdWUoKToidHJhbnNwYXJlbnQifXRoaXMuX2RhdGEucHVzaCh7cG9pbnRzOmcsZmlsbEJhY2tncm91bmQ6ITAsZmlsbGVkOiEwLGJhY2tjb2xvcjpuLGNvbG9yOm4sbGluZXdpZHRoOjAsbGluZXN0eWxlOjB9KX19fSkpfSkpfX19LDEyOTkzMihlLHQsaSl7aS5yKHQpLGkuZCh0LHtEd2dMaW5lUGFuZVZpZXc6KCk9PnZ9KTt2YXIgcixuPWkoMTM4NjM4KSxvPWkoNzM2NTMxKSxhPWkoMTc5Njc0KSxzPWkoMjU0NzMxKSxsPWkoMjkzNDE4KSxkPWkoNzAwNzQpOyFmdW5jdGlvbihlKXtlLlNvbGlkPSJzb2wiLGUuRG90dGVkPSJkb3QiLGUuRGFzaGVkPSJkc2giLGUuTGVmdEFycm93PSJhbCIsZS5SaWdodEFycm93PSJhciIsZS5Cb3RoQXJyb3c9ImFiIn0ocnx8KHI9e30pKTt2YXIgaD1pKDc2MyksYz1pKDkzNDMwNSksdT1pKDYwNDIxNCk7Y29uc3QgZj17W3IuU29saWRdOntkYXNoUGF0dGVybjpbXSxkYXNoUGF0dGVyblNpemU6MCxkcmF3TGVmdEFycm93OiExLGRyYXdSaWdodEFycm93OiExfSxbci5EYXNoZWRdOntkYXNoUGF0dGVybjpbNSw2XSxkYXNoUGF0dGVyblNpemU6MTEsZHJhd0xlZnRBcnJvdzohMSxkcmF3UmlnaHRBcnJvdzohMX0sW3IuRG90dGVkXTp7ZGFzaFBhdHRlcm46WzEsMl0sZGFzaFBhdHRlcm5TaXplOjMsZHJhd0xlZnRBcnJvdzohMSxkcmF3UmlnaHRBcnJvdzohMX0sW3IuTGVmdEFycm93XTp7ZGFzaFBhdHRlcm46W10sZGFzaFBhdHRlcm5TaXplOjAsZHJhd0xlZnRBcnJvdzohMCxkcmF3UmlnaHRBcnJvdzohMX0sW3IuUmlnaHRBcnJvd106e2Rhc2hQYXR0ZXJuOltdLGRhc2hQYXR0ZXJuU2l6ZTowLGRyYXdMZWZ0QXJyb3c6ITEsZHJhd1JpZ2h0QXJyb3c6ITB9LFtyLkJvdGhBcnJvd106e2Rhc2hQYXR0ZXJuOltdLGRhc2hQYXR0ZXJuU2l6ZTowLGRyYXdMZWZ0QXJyb3c6ITAsZHJhd1JpZ2h0QXJyb3c6ITB9fSxwPW5ldyBNYXA7ZnVuY3Rpb24gZyhlLHQpe2xldCBpPXAuZ2V0KGUpO3ZvaWQgMD09PWkmJihpPW5ldyBNYXAscC5zZXQoZSxpKSk7bGV0IHI9aS5nZXQodCk7cmV0dXJuIHZvaWQgMD09PXImJihyPWUubWFwKChlPT5lKnQpKSxpLnNldCh0LHIpKSxyfWZ1bmN0aW9uIF8oZSx0LGkscil7aWYoaS5zdWJ0cmFjdCh0KS5sZW5ndGgoKTwxKXJldHVybjtjb25zdCBuPSgwLHUuZ2V0QXJyb3dQb2ludHMpKHQsaSxyLCEwKTtmb3IoY29uc3QgdCBvZiBuKXtjb25zdCBpPXRbMF0ueCxyPXRbMF0ueSxuPXRbMV0ueCxvPXRbMV0ueTtlLm1vdmVUbyhpLHIpLGUubGluZVRvKG4sbyl9fWNsYXNzIHggZXh0ZW5kcyBjLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCx1LmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmUse2l0ZW1zOmksaXRlbUNvdW50OnJ9PXRoaXMuX2RhdGE7bGV0IG49MDtmb3IoY29uc3QgbyBvZiBpKXtpZihuPT09cilicmVhaztjb25zdCBpPU1hdGgubWF4KHQsby53aWR0aC8yKTtpZigoMCxkLmRpc3RhbmNlVG9TZWdtZW50KShvLmV4dFAxLG8uZXh0UDIsZSkuZGlzdGFuY2U8PWkpcmV0dXJuIG5ldyBoLkhpdFRlc3RSZXN1bHQoaC5IaXRUYXJnZXQuUmVndWxhcik7bis9MX1yZXR1cm4gbnVsbH0KX2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdCB0PWUuY29udGV4dDt0LmxpbmVDYXA9ImJ1dHQiO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWU7Zm9yKGNvbnN0W2Usbl1vZiB0aGlzLl9kYXRhLml0ZW1zQnlDb2xvcil7bGV0IGE7dC5zdHJva2VTdHlsZT1lO2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IG49ZltlLnN0eWxlXSxzPWcobi5kYXNoUGF0dGVybixlLndpZHRoKmkpLGw9TWF0aC5mbG9vcihlLndpZHRoKmkpO3ZvaWQgMCE9PWEmJmEubGluZVdpZHRoPT09ZS53aWR0aCYmYS5wYXR0ZXJuPT09c3x8KHZvaWQgMCE9PWE/KHQuc3Ryb2tlKCksYS5saW5lV2lkdGg9ZS53aWR0aCxhLnBhdHRlcm49cyk6YT17bGluZVdpZHRoOmUud2lkdGgscGF0dGVybjpzfSx0LmJlZ2luUGF0aCgpLHQubGluZVdpZHRoPWwsdC5zZXRMaW5lRGFzaChzKSk7Y29uc3QgZD1sJTImJk1hdGguYWJzKGUuZXh0UDEueS1lLmV4dFAyLnkpPjFlLTg/LjU6MCxoPWwlMiYmTWF0aC5hYnMoZS5leHRQMS54LWUuZXh0UDIueCk+MWUtOD8uNTowLGM9KDAsby5wb2ludCkoTWF0aC5yb3VuZChlLnAxLngqaSkrZCxNYXRoLnJvdW5kKGUucDEueSpyKStoKSx1PSgwLG8ucG9pbnQpKE1hdGgucm91bmQoZS5wMi54KmkpK2QsTWF0aC5yb3VuZChlLnAyLnkqcikraCkscD1NYXRoLnJvdW5kKGUuZXh0UDEueCppKStkLHg9TWF0aC5yb3VuZChlLmV4dFAxLnkqcikraCx3PU1hdGgucm91bmQoZS5leHRQMi54KmkpK2Qsdj1NYXRoLnJvdW5kKGUuZXh0UDIueSpyKStoO3QubW92ZVRvKHAseCksdC5saW5lVG8odyx2KTtjb25zdCBtPWUud2lkdGgqaTtuLmRyYXdMZWZ0QXJyb3cmJl8odCx1LGMsbSksbi5kcmF3UmlnaHRBcnJvdyYmXyh0LGMsdSxtKX12b2lkIDAhPT1hJiZ0LnN0cm9rZSgpfX19dmFyIHc9aSg3MTYwMjEpO2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5fbG9jYXRpb25EYXRhQ2FjaGU9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmVuZGVyZXI9bmV3IHgsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLHMucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX2dyYXBoaWNzUHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZvcmNlT3ZlcmxheT1pfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVSZW5kZXJlcihlKSksdGhpcy5fcmVuZGVyZXJ9X3VwZGF0ZVJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLnNldERhdGEobnVsbCk7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByaWNlU2NhbGUodGhpcy5fZm9yY2VPdmVybGF5KSxpPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCF0fHx0LmlzRW1wdHkoKXx8aS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVzKCk7aWYoMD09PXIuc2l6ZSlyZXR1cm47aWYobnVsbD09PWkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKXJldHVybjtjb25zdCBzPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09cylyZXR1cm47Y29uc3QgZD17eDE6MCx5MTowLHgyOjAseTI6MCxleHRlbmQ6YS5Ed2dFeHRlbmQuTm9uZX0saD1uZXcgTWFwO2xldCBjPTA7Y29uc3QgdT0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmR3Z2xpbmVzKSx7bWVkaWFTaXplOnt3aWR0aDpwLGhlaWdodDpnfX09ZTtmb3IoY29uc3RbZSxfXW9mIHIpe2lmKCEoMCxuLmVuc3VyZURlZmluZWQpKHUuY2hpbGRzKClbZV0pLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSljb250aW51ZTtjb25zdCByPV8uZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7aWYocilmb3IoY29uc3QgZSBvZiByKXtpZihudWxsPT09ZS5jb2xvckluZGV4KWNvbnRpbnVlO2xldCByO2lmKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQilyPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmNvbG9ySW5kZXgpO2Vsc2V7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcztpZih2b2lkIDA9PT10fHx2b2lkIDA9PT10LmNoaWxkcygpLnBhbGV0dGVfY29tbW9uKWNvbnRpbnVlO3I9dC5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbi5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKClbZS5jb2xvckluZGV4XS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfWlmKHZvaWQgMD09PXIpY29udGludWU7Y29uc3Qgbj0oMCxsLmNvbnZlcnRQb2ludHNUb1NjcmVlbkRpbWVuc2lvbikoZS54MSxlLnkxLGUueDIsZS55MixlLmV4dGVuZCx0LGkscCxzLGQpO2lmKG51bGw9PT1uKWNvbnRpbnVlO2NvbnN0e3gxOnUseDI6Xyx5MTp4LHkyOnYsZXh0ZW5kOm19PW4seT1tPT09YS5Ed2dFeHRlbmQuQm90aHx8bT09PWEuRHdnRXh0ZW5kLkxlZnQsYj1tPT09YS5Ed2dFeHRlbmQuQm90aHx8bT09PWEuRHdnRXh0ZW5kLlJpZ2h0LFQ9bmV3IG8uUG9pbnQodSx4KSxDPW5ldyBvLlBvaW50KF8sdiksUj0oMCx3LmludGVyc2VjdExpbmVXaXRoVmlld3BvcnQpKFQsQyx5LGIscCxnLGZbZS5zdHlsZV0uZGFzaFBhdHRlcm5TaXplKmUud2lkdGgpO2lmKG51bGw9PT1SKWNvbnRpbnVlO2xldCBTO3RoaXMuX2xvY2F0aW9uRGF0YUNhY2hlLmxlbmd0aD5jPyhTPXRoaXMuX2xvY2F0aW9uRGF0YUNhY2hlW2NdLFMucDE9VCxTLnAyPUMsUy5leHRQMT1SWzBdLFMuZXh0UDI9UlsxXSxTLndpZHRoPWUud2lkdGg+MD9lLndpZHRoOjEsUy5zdHlsZT1lLnN0eWxlKTooUz17cDE6VCxwMjpDLGV4dFAxOlJbMF0sZXh0UDI6UlsxXSx3aWR0aDplLndpZHRoPjA/ZS53aWR0aDoxLHN0eWxlOmUuc3R5bGV9LHRoaXMuX2xvY2F0aW9uRGF0YUNhY2hlLnB1c2goUykpO2xldCBQPWguZ2V0KHIpCjt2b2lkIDA9PT1QJiYoUD1bXSxoLnNldChyLFApKSxQLnB1c2goUyksYys9MX19dGhpcy5fcmVuZGVyZXIuc2V0RGF0YSh7aXRlbXM6dGhpcy5fbG9jYXRpb25EYXRhQ2FjaGUsaXRlbUNvdW50OmMsaXRlbXNCeUNvbG9yOmh9KX19fSw4Mjg4NzAoZSx0LGkpe2kucih0KSxpLmQodCx7RHdnUG9seWxpbmVQYW5lVmlldzooKT0+U30pO3ZhciByLG49aSgxMzg2MzgpLG89aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlLlNvbGlkPSJzb2wiLGUuRG90dGVkPSJkb3QiLGUuRGFzaGVkPSJkc2giLGUuQXJyb3dMZWZ0PSJhbCIsZS5BcnJvd1JpZ2h0PSJhciIsZS5BcnJvd0JvdGg9ImFiIn0ocnx8KHI9e30pKTt2YXIgYT1pKDI1NDczMSkscz1pKDEwMCksbD1pKDY2MzA0NiksZD1pKDcwMDc0KSxoPWkoNTczMDU0KSxjPWkoNzYzKSx1PWkoNjA0MjE0KTtjb25zdCBmPXtbci5Tb2xpZF06W10sW3IuRGFzaGVkXTpbNSw2XSxbci5Eb3R0ZWRdOlsxLDJdLFtyLkFycm93TGVmdF06W10sW3IuQXJyb3dSaWdodF06W10sW3IuQXJyb3dCb3RoXTpbXX0scD0oMCxsLmRlZmF1bHQpKCgoZSx0KT0+ZltlXS5tYXAoKGU9PmUqdCkpKSwoKGUsdCk9PmAke2V9XyR7dH1gKSk7ZnVuY3Rpb24gZyhlLHQpe2xldCBpPSEwO2Zvcihjb25zdCByIG9mIHQucG9pbnRzKWk/KGUubW92ZVRvKHIueCxyLnkpLGk9ITEpOmUubGluZVRvKHIueCxyLnkpfWZ1bmN0aW9uIF8oZSx0KXtmb3IoY29uc3QgaSBvZiB0LmJlemllckN1cnZlcyl7Y29uc3RbdCxyLG4sb109aTtlLmxpbmVUbyh0LngsdC55KSxlLmJlemllckN1cnZlVG8oci54LHIueSxuLngsbi55LG8ueCxvLnkpfX1mdW5jdGlvbiB4KGUsdCxpLHIpe2lmKGkuc3VidHJhY3QodCkubGVuZ3RoKCk8MSlyZXR1cm47Y29uc3Qgbj0oMCx1LmdldEFycm93UG9pbnRzKSh0LGksciwhMCk7Zm9yKGNvbnN0IHQgb2YgbillLm1vdmVUbyh0WzBdLngsdFswXS55KSxlLmxpbmVUbyh0WzFdLngsdFsxXS55KX1jbGFzcyB3IGV4dGVuZHMgaC5NZWRpYUNvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCx1LmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmU7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fZGF0YS5pdGVtcyl7Y29uc3Qgcj1NYXRoLm1heCh0LGkud2lkdGgvMik7aWYoaS5jdXJ2ZWQpZm9yKGNvbnN0IHQgb2YgaS5iZXppZXJDdXJ2ZXMpe2NvbnN0W2ksbixvLGFdPXQ7aWYoKDAscy5jdWJpY0JlemllckhpdFRlc3QpKGksbixvLGEsZSxyKSlyZXR1cm4gbmV3IGMuSGl0VGVzdFJlc3VsdChjLkhpdFRhcmdldC5SZWd1bGFyKX1lbHNlIGZvcihsZXQgdD0xO3Q8aS5wb2ludHMubGVuZ3RoO3QrPTEpe2NvbnN0IG49aS5wb2ludHNbdF0sbz1pLnBvaW50c1t0LTFdO2lmKCgwLGQuZGlzdGFuY2VUb1NlZ21lbnQpKG8sbixlKS5kaXN0YW5jZTw9cilyZXR1cm4gbmV3IGMuSGl0VGVzdFJlc3VsdChjLkhpdFRhcmdldC5SZWd1bGFyKX19cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdCB0PWUuY29udGV4dDt0LmxpbmVDYXA9ImJ1dHQiO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGEuaXRlbXMpe3Quc3Ryb2tlU3R5bGU9ZS5jb2xvcjtjb25zdCBpPU1hdGgubWF4KDEsZS53aWR0aCkscj1wKGUuc3R5bGUsaSk7dC5saW5lV2lkdGg9aSx0LnNldExpbmVEYXNoKHIpLHQuYmVnaW5QYXRoKCksZS5jdXJ2ZWQ/Xyh0LGUpOmcodCxlKSxlLmNsb3NlZCYmdC5jbG9zZVBhdGgoKSxlLmZpbGxDb2xvciYmKHQuZmlsbFN0eWxlPWUuZmlsbENvbG9yLHQuZmlsbCgpKSxlLmxlZnRBcnJvd1BvaW50cyYmeCh0LGUubGVmdEFycm93UG9pbnRzWzBdLGUubGVmdEFycm93UG9pbnRzWzFdLGkpLGUucmlnaHRBcnJvd1BvaW50cyYmeCh0LGUucmlnaHRBcnJvd1BvaW50c1swXSxlLnJpZ2h0QXJyb3dQb2ludHNbMV0saSksdC5zdHJva2UoKX19fXZhciB2PWkoMzI0MDY0KTtmdW5jdGlvbiBtKGUpe3JldHVybiBlPT09ci5BcnJvd0xlZnR8fGU9PT1yLkFycm93Qm90aH1mdW5jdGlvbiB5KGUpe3JldHVybiBlPT09ci5BcnJvd1JpZ2h0fHxlPT09ci5BcnJvd0JvdGh9ZnVuY3Rpb24gYihlKXtyZXR1cm4oMCxvLnBvaW50KShlLngsZS55KX1mdW5jdGlvbiBUKGUpe3JldHVybnt4OmUueCx5OmUueX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5tYXAoYil9ZnVuY3Rpb24gUihlKXtjb25zdCB0PVtdLGk9ZS5wb2ludHMscj1lLmNsb3NlZCxuPWkubGVuZ3RoLG89cj9uLTE6bi0yO2xldCBhPWlbbi0xXTtmb3IobGV0IGU9MDtlPD1vO2UrPTEpe2NvbnN0IHM9aVtlXSxsPWlbKGUrMSklbl0sZD1pWyhlKzIpJW5dLGg9KGwueC1hLngpLzMsYz0obC55LWEueSkvMyx1PShkLngtcy54KS8zLGY9KGQueS1zLnkpLzMscD1bcyx7eDpzLngraCx5OnMueStjfSx7eDpsLngtdSx5OmwueS1mfSxsXTtyfHwoMD09PWU/KHBbMV0ueD0ocy54K3BbMl0ueCkvMixwWzFdLnk9KHMueStwWzJdLnkpLzIpOmU9PT1vJiYocFsyXS54PShsLngrcFsxXS54KS8yLHBbMl0ueT0obC55K3BbMV0ueSkvMikpLHQucHVzaChwKSxhPXN9Y29uc3QgbD1lLnN0eWxlO2xldCBkLGg7aWYobShsKSl7Y29uc3RbZSxpLHIsbl09Qyh0WzBdKTtkPVtUKCgwLHMuY3ViaWNCZXppZXJQb2ludCkoZSxpLHIsbiwuMSkpLFQoZSldfWlmKHkobCkpe2NvbnN0W2UsaSxuLG9dPUModFt0Lmxlbmd0aC0ocj8yOjEpXSk7aD1bVCgoMCxzLmN1YmljQmV6aWVyUG9pbnQpKGUsaSxuLG8sLjkpKSxUKG8pXX1yZXR1cm57YmV6aWVyQ3VydmVQb2ludHM6dCxsZWZ0QXJyb3dQb2ludHM6ZCxyaWdodEFycm93UG9pbnRzOmh9fWNsYXNzIFN7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmVuZGVyZXI9bmV3IHcsdGhpcy5fY3VydmVkTGluZXNEYXRhQ2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLGEucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLAp0aGlzLl9ncmFwaGljc1Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9mb3JjZU92ZXJsYXk9aX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVSZW5kZXJlcigpKSx0aGlzLl9yZW5kZXJlcn1fdXBkYXRlUmVuZGVyZXIoKXt0aGlzLl9yZW5kZXJlci5zZXREYXRhKG51bGwpO2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZ3JhcGhpY3MoKS5kd2dwb2x5bGluZXMoKTtpZigwPT09aS5zaXplKXJldHVybjtjb25zdCByPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1yKXJldHVybjtjb25zdCBhPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz1pPT4oMCxvLnBvaW50KSh0LmluZGV4VG9Db29yZGluYXRlKGkueCksZS5wcmljZVRvQ29vcmRpbmF0ZShpLnksYSkpLGw9ZT0+ZS5tYXAocyksZD0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmR3Z3BvbHlsaW5lcyksaD1bXSxjPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQjtsZXQgdTtpZighYyl7Y29uc3QgZT10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcztpZih2b2lkIDA9PT1lfHx2b2lkIDA9PT1lLmNoaWxkcygpLnBhbGV0dGVfY29tbW9uKXJldHVybjt1PWUuY2hpbGRzKCkucGFsZXR0ZV9jb21tb24uY2hpbGRzKCkuY29sb3JzLmNoaWxkcygpfWZvcihjb25zdFtlLHRdb2YgaSl7aWYoISgwLG4uZW5zdXJlRGVmaW5lZCkoZC5jaGlsZHMoKVtlXSkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IGk9dC5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtpZihpKWZvcihjb25zdCBlIG9mIGkpe2lmKCEoMCx2LmlzRHdnUG9seWxpbmVJbkJhcnNSYW5nZSkoZSxyKSljb250aW51ZTtsZXQgdCxpO2lmKGM/KHQ9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3IpLG51bGwhPT1lLmZpbGxDb2xvciYmKGk9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuZmlsbENvbG9yKSkpOih0PSgwLG4uZW5zdXJlRGVmaW5lZCkodSlbZS5jb2xvcl0uY2hpbGRzKCkuY29sb3IudmFsdWUoKSxudWxsIT09ZS5maWxsQ29sb3ImJihpPSgwLG4uZW5zdXJlRGVmaW5lZCkodSlbZS5maWxsQ29sb3JdLmNoaWxkcygpLmNvbG9yLnZhbHVlKCkpKSx2b2lkIDAhPT10KWlmKCFlLmN1cnZlZHx8ZS5wb2ludHMubGVuZ3RoPDMpe2NvbnN0IHI9ZS5wb2ludHMubWFwKHMpLG49bShlLnN0eWxlKSYmci5sZW5ndGg+MT9bclsxXSxyWzBdXTp2b2lkIDAsbz15KGUuc3R5bGUpJiZyLmxlbmd0aD4xP1tyW3IubGVuZ3RoLTJdLHJbci5sZW5ndGgtMV1dOnZvaWQgMDtoLnB1c2goey4uLmUsY3VydmVkOiExLHBvaW50czpyLGNvbG9yOnQsZmlsbENvbG9yOmksbGVmdEFycm93UG9pbnRzOm4scmlnaHRBcnJvd1BvaW50czpvfSl9ZWxzZXtsZXQgcj10aGlzLl9jdXJ2ZWRMaW5lc0RhdGFDYWNoZS5nZXQoZSk7dm9pZCAwPT09ciYmKHI9UihlKSx0aGlzLl9jdXJ2ZWRMaW5lc0RhdGFDYWNoZS5zZXQoZSxyKSk7Y29uc3Qgbj1yLmJlemllckN1cnZlUG9pbnRzLm1hcChsKTtsZXQgbyxhO2lmKHIubGVmdEFycm93UG9pbnRzKXtjb25zdCBlPXMoci5sZWZ0QXJyb3dQb2ludHNbMF0pLHQ9cyhyLmxlZnRBcnJvd1BvaW50c1sxXSk7bz1bdC5hZGQoZS5zdWJ0cmFjdCh0KS5ub3JtYWxpemVkKCkuc2NhbGVkKDEwKSksdF19aWYoci5yaWdodEFycm93UG9pbnRzKXtjb25zdCBlPXMoci5yaWdodEFycm93UG9pbnRzWzBdKSx0PXMoci5yaWdodEFycm93UG9pbnRzWzFdKTthPVt0LmFkZChlLnN1YnRyYWN0KHQpLm5vcm1hbGl6ZWQoKS5zY2FsZWQoMTApKSx0XX1oLnB1c2goey4uLmUsY3VydmVkOiEwLGJlemllckN1cnZlczpuLGxlZnRBcnJvd1BvaW50czpvLHJpZ2h0QXJyb3dQb2ludHM6YSxjb2xvcjp0LGZpbGxDb2xvcjppfSl9fX10aGlzLl9yZW5kZXJlci5zZXREYXRhKHtpdGVtczpofSl9fX0sNjk5MTIzKGUsdCxpKXtpLnIodCksaS5kKHQse0R3Z1RhYmxlUGFuZVZpZXc6KCk9Pnl9KTt2YXIgcixuLG89aSgxMzg2MzgpLGE9aSgyNTQ3MzEpLHM9aSg3ODkxOTApLGw9aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlLlRvcD0idG9wIixlLkNlbnRlcj0iY2VudGVyIixlLkJvdHRvbT0iYm90dG9tIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLk1vbm9zcGFjZT0ibW9ub3NwYWNlIn0obnx8KG49e30pKTt2YXIgZCxoPWkoOTI2MTQ5KSxjPWkoNzYzKSx1PWkoNDcwOTg2KSxmPWkoODIyNzI2KSxwPWkoNTkwODk0KSxnPWkoNzAzODA5KSxfPWkoOTQxMTAwKTshZnVuY3Rpb24oZSl7ZVtlLlRhYmxlTWFyZ2luPTEwXT0iVGFibGVNYXJnaW4iLGVbZS5FbXB0eUNlbGxEZWZhdWx0V2lkdGg9MjBdPSJFbXB0eUNlbGxEZWZhdWx0V2lkdGgiLGVbZS5FbXB0eUNlbGxEZWZhdWx0SGVpZ2h0PTVdPSJFbXB0eUNlbGxEZWZhdWx0SGVpZ2h0In0oZHx8KGQ9e30pKTtjb25zdCB4PW5ldyB1LlRleHRSZW5kZXJlcjtmdW5jdGlvbiB3KGUsdCxpLHIpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOm99PXI7dC5jZWxscy5mb3JFYWNoKCh0PT57aWYodC5tZXJnZWQpcmV0dXJuO2NvbnN0IGE9aS5jZWxsc1t0LmNlbGwucm93XVt0LmNlbGwuY29sdW1uXSxzPWkucG9zaXRpb24ueCthLm9mZnNldFgsbD1pLnBvc2l0aW9uLnkrYS5vZmZzZXRZLGQ9ZnVuY3Rpb24oZSx0LGkscixuKXtyZXR1cm4oMCxnLnRleHRCb3hEYXRhKShlLHQsaSxyLHsKaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQ6bi5jZWxsLmhvcml6b250YWxUZXh0QWxpZ25tZW50LHZlcnRpY2FsVGV4dEFsaWdubWVudDpuLmNlbGwudmVydGljYWxUZXh0QWxpZ25tZW50LHRleHQ6bi5jZWxsLnRleHQsdGV4dENvbG9yOm4uc3R5bGUudGV4dENvbG9yLHNpemVPcHRpb25zOnt0ZXh0U2l6ZU1vZGU6ImZpeGVkIixmb250U2l6ZTpuLmNlbGwuZm9udFNpemV9LGZvbnRUeXBlOm4uY2VsbC5mb250VHlwZSx0ZXh0Rm9ybWF0dGluZzpuLmNlbGwudGV4dEZvcm1hdHRpbmd9KX0ocy9uLGwvbyxhLndpZHRoL24sYS5oZWlnaHQvbyx0KTtlLnNhdmUoKTtjb25zdCBoPW5ldyBQYXRoMkQ7aC5yZWN0KHMsbCxhLndpZHRoLGEuaGVpZ2h0KSxlLmNsaXAoaCwiZXZlbm9kZCIpLHguc2V0RGF0YShkKSx4LmRyYXcoZSxyKSxlLnJlc3RvcmUoKX0pKX1jbGFzcyB2e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl93aWR0aHNDYWNoZXM9bmV3IE1hcCx0aGlzLl9wcmVjYWxjdWxhdGVkPW51bGwsdGhpcy5zZXREYXRhKGUpLHRoaXMuX21lYXN1cmVDYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5fbWVhc3VyZUN0eD0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX21lYXN1cmVDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSl9c2V0RGF0YShlKXt0aGlzLl9kYXRhPWUsdGhpcy5fcHJlY2FsY3VsYXRlZD1udWxsfWRyYXcoZSx0KXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcmVjYWxjdWxhdGVEYXRhKHQpLHI9dGhpcy5fZGF0YTshZnVuY3Rpb24oZSx0LGkpe2UuZmlsbFN0eWxlPXQuc3R5bGUuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QoaS5wb3NpdGlvbi54LGkucG9zaXRpb24ueSxpLnRvdGFsV2lkdGgsaS50b3RhbEhlaWdodCl9KGUscixpKSxmdW5jdGlvbihlLHQsaSl7dC5jZWxscy5mb3JFYWNoKCh0PT57aWYodC5tZXJnZWQpcmV0dXJuO2NvbnN0IHI9aS5jZWxsc1t0LmNlbGwucm93XVt0LmNlbGwuY29sdW1uXSxuPWkucG9zaXRpb24ueCtyLm9mZnNldFgsbz1pLnBvc2l0aW9uLnkrci5vZmZzZXRZLGE9ci53aWR0aCxzPXIuaGVpZ2h0O2UuZmlsbFN0eWxlPXQuc3R5bGUuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QobixvLGEscyl9KSl9KGUscixpKSx3KGUscixpLHQpLGZ1bmN0aW9uKGUsdCxpLHIpe2lmKHQudGFibGUuYm9yZGVyV2lkdGg+MCl7Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5ib3JkZXJXaWR0aCpyLmhvcml6b250YWxQaXhlbFJhdGlvKSksbz1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5ib3JkZXJXaWR0aCpyLnZlcnRpY2FsUGl4ZWxSYXRpbykpO2UuZmlsbFN0eWxlPXQuc3R5bGUuYm9yZGVyQ29sb3I7Zm9yKGxldCByPTA7cjx0LnRhYmxlLmNvbHVtbnM7cisrKWZvcihsZXQgYT0wO2E8dC50YWJsZS5yb3dzO2ErKyl7Y29uc3QgdD1pLmNlbGxzW2FdW3JdO251bGw9PT10Lm1lcmdlZE1haW5DZWxsJiYodC5oZWlnaHQ+MCYmdC5lbmRSb3c8aS5sYXN0Tm9uRW1wdHlSb3dFbmQmJmUuZmlsbFJlY3QoaS5wb3NpdGlvbi54K3Qub2Zmc2V0WCxpLnBvc2l0aW9uLnkrdC5vZmZzZXRZK3QuaGVpZ2h0LHQud2lkdGgrKHQuZW5kQ29sdW1uPGkubGFzdE5vbkVtcHR5Q29sdW1uRW5kP246MCksbyksdC53aWR0aD4wJiZ0LmVuZENvbHVtbjxpLmxhc3ROb25FbXB0eUNvbHVtbkVuZCYmZS5maWxsUmVjdChpLnBvc2l0aW9uLngrdC5vZmZzZXRYK3Qud2lkdGgsaS5wb3NpdGlvbi55K3Qub2Zmc2V0WSxuLHQuaGVpZ2h0KSl9fX0oZSxyLGksdCksZnVuY3Rpb24oZSx0LGkscil7aWYodC50YWJsZS5mcmFtZVdpZHRoPjApe2NvbnN0IG49TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQudGFibGUuZnJhbWVXaWR0aCpyLmhvcml6b250YWxQaXhlbFJhdGlvKSksbz1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5mcmFtZVdpZHRoKnIudmVydGljYWxQaXhlbFJhdGlvKSk7ZS5maWxsU3R5bGU9dC5zdHlsZS5mcmFtZUNvbG9yLGUuZmlsbFJlY3QoaS5wb3NpdGlvbi54LW4saS5wb3NpdGlvbi55LW8saS50b3RhbFdpZHRoKzIqbixvKSxlLmZpbGxSZWN0KGkucG9zaXRpb24ueC1uLGkucG9zaXRpb24ueStpLnRvdGFsSGVpZ2h0LGkudG90YWxXaWR0aCsyKm4sbyksZS5maWxsUmVjdChpLnBvc2l0aW9uLngtbixpLnBvc2l0aW9uLnksbixpLnRvdGFsSGVpZ2h0KSxlLmZpbGxSZWN0KGkucG9zaXRpb24ueCtpLnRvdGFsV2lkdGgsaS5wb3NpdGlvbi55LG4saS50b3RhbEhlaWdodCl9fShlLHIsaSx0KX1oaXRUZXN0KGUsdCl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLl9wcmVjYWxjdWxhdGVEYXRhKHQpLHI9dGhpcy5fZGF0YSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86b309dCxhPWUueCpuLHM9ZS55Km8sbD1NYXRoLm1heCgxLHIudGFibGUuZnJhbWVXaWR0aCpuKSxkPU1hdGgubWF4KDEsci50YWJsZS5mcmFtZVdpZHRoKm8pO2lmKCEoYT49aS5wb3NpdGlvbi54LWwmJmE8PWkucG9zaXRpb24ueCtpLnRvdGFsV2lkdGgrMipsJiZzPj1pLnBvc2l0aW9uLnktZCYmczw9aS5wb3NpdGlvbi55K2kudG90YWxIZWlnaHQrMipkKSlyZXR1cm4gbnVsbDtjb25zdCBoPWkuY2VsbHNXaXRoVG9vbHRpcC5maW5kKChlPT57Y29uc3QgdD1pLnBvc2l0aW9uLngrZS5vZmZzZXRYLHI9aS5wb3NpdGlvbi55K2Uub2Zmc2V0WTtyZXR1cm4gYT49dCYmYTw9dCtlLndpZHRoJiZzPj1yJiZzPD1yK2UuaGVpZ2h0fSkpLHU9dm9pZCAwPT09aD92b2lkIDA6e3Rvb2x0aXA6ey4uLmgudG9vbHRpcCxyZWN0Ont4OihpLnBvc2l0aW9uLngraC5vZmZzZXRYKS9uLHk6KGkucG9zaXRpb24ueStoLm9mZnNldFkpL28sdzpoLndpZHRoL24saDpoLmhlaWdodC9vfX19O3JldHVybiBuZXcgYy5IaXRUZXN0UmVzdWx0KGMuSGl0VGFyZ2V0LlJlZ3VsYXIsdSl9X3ByZWNhbGN1bGF0ZURhdGEoZSl7aWYobnVsbCE9PXRoaXMuX3ByZWNhbGN1bGF0ZWQpcmV0dXJuIHRoaXMuX3ByZWNhbGN1bGF0ZWQ7Y29uc3QgdD0oMCwKby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kYXRhKTtsZXQgaT0tMSxyPS0xO2NvbnN0IG49QXJyYXkuZnJvbSh7bGVuZ3RoOnQudGFibGUucm93c30sKChlLGkpPT5BcnJheS5mcm9tKHtsZW5ndGg6dC50YWJsZS5jb2x1bW5zfSwoKGUsdCk9Pih7bWVyZ2VkTWFpbkNlbGw6bnVsbCxuZXh0Q29sdW1uQ2VsbDpudWxsLG5leHRSb3dDZWxsOm51bGwsc3RhcnRDb2x1bW46dCxlbmRDb2x1bW46dCxzdGFydFJvdzppLGVuZFJvdzppLHdpZHRoOjAsaGVpZ2h0OjAsb2Zmc2V0WDowLG9mZnNldFk6MCxjb2xTcGFuOi0xLHJvd1NwYW46LTEsbWVyZ2VkOiExLGVtcHR5OiEwfSkpKSkpLGE9W10se2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmR9PWU7dC5jZWxscy5mb3JFYWNoKChpPT57aWYoaS5tZXJnZWQpe3JldHVybiB2b2lkKG5baS5jZWxsLnJvd11baS5jZWxsLmNvbHVtbl0uZW1wdHk9ITEpfWNvbnN0IHI9TWF0aC5jZWlsKHRoaXMuX2NlbGxXaWR0aChlLGksdCkqcyksbz1NYXRoLmNlaWwodGhpcy5fY2VsbEhlaWdodChlLGksdCkqZCksbD1pLmNlbGwucm93LGg9aS5jZWxsLnJvdytpLmNlbGwucm93U3Bhbi0xLGM9aS5jZWxsLmNvbHVtbix1PWkuY2VsbC5jb2x1bW4raS5jZWxsLmNvbFNwYW4tMSxmPWkuY2VsbC5jb2xTcGFuLHA9aS5jZWxsLnJvd1NwYW47bGV0IGc9bnVsbDtmb3IobGV0IGU9aS5jZWxsLnJvdztlPE1hdGgubWluKGkuY2VsbC5yb3craS5jZWxsLnJvd1NwYW4sdC50YWJsZS5yb3dzKTsrK2UpZm9yKGxldCBzPWkuY2VsbC5jb2x1bW47czxNYXRoLm1pbihpLmNlbGwuY29sdW1uK2kuY2VsbC5jb2xTcGFuLHQudGFibGUuY29sdW1ucyk7KytzKXtjb25zdCB0PW5bZV1bc10sZD1lIT09bHx8cyE9PWM7ZHx8KGc9dCx2b2lkIDAhPT1pLmNlbGwudG9vbHRpcCYmIiIhPT1pLmNlbGwudG9vbHRpcCYmKHQudG9vbHRpcD17Y29udGVudDp7dHlwZToidGV4dCIsZGF0YTppLmNlbGwudG9vbHRpcH19LGEucHVzaCh0KSkpLHQubWVyZ2VkTWFpbkNlbGw9ZD9nOm51bGwsdC5zdGFydFJvdz1sLHQuZW5kUm93PWgsdC5zdGFydENvbHVtbj1jLHQuZW5kQ29sdW1uPXUsdC53aWR0aD1yLHQuaGVpZ2h0PW8sdC5jb2xTcGFuPWYsdC5yb3dTcGFuPXAsdC5lbXB0eT0hMX19KSk7Y29uc3QgaD0wPT09dC50YWJsZS5ib3JkZXJXaWR0aD8wOk1hdGgubWF4KDEsTWF0aC5yb3VuZCh0LnRhYmxlLmJvcmRlcldpZHRoKnMpKSxjPTA9PT10LnRhYmxlLmJvcmRlcldpZHRoPzA6TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQudGFibGUuYm9yZGVyV2lkdGgqZCkpLHU9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKDIwKnMpKSxmPU1hdGgubWF4KDEsTWF0aC5yb3VuZCg1KmQpKTtmb3IobGV0IGU9MDtlPHQudGFibGUuY29sdW1uczsrK2Upe2xldCByPVtdLG89ITEsYT0hMTtmb3IobGV0IHM9MDtzPHQudGFibGUucm93czsrK3Mpe2NvbnN0IHQ9bltzXVtlXTt0LmVtcHR5P2E9ITA6KG89ITAsaT1lKSxudWxsPT09dC5tZXJnZWRNYWluQ2VsbD8oci5mb3JFYWNoKChlPT5lLm5leHRSb3dDZWxsPXQpKSxyPVt0XSk6ci5wdXNoKHQpfWlmKG8mJmEpZm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07dC5lbXB0eSYmKHQud2lkdGg9dSl9fWZvcihsZXQgZT0wO2U8dC50YWJsZS5yb3dzOysrZSl7bGV0IGk9W10sbz0hMSxhPSExO2ZvcihsZXQgcz0wO3M8dC50YWJsZS5jb2x1bW5zOysrcyl7Y29uc3QgdD1uW2VdW3NdO3QuZW1wdHk/YT0hMDoobz0hMCxyPWUpLG51bGw9PT10Lm1lcmdlZE1haW5DZWxsPyhpLmZvckVhY2goKGU9PmUubmV4dENvbHVtbkNlbGw9dCkpLGk9W3RdKTppLnB1c2godCl9aWYobyYmYSlmb3IobGV0IGk9MDtpPHQudGFibGUuY29sdW1uczsrK2kpe2NvbnN0IHQ9bltlXVtpXTt0LmVtcHR5JiYodC5oZWlnaHQ9Zil9fWxldCBwPTAsZz0wLF89MDtmb3IobGV0IGU9MDtlPHQudGFibGUuY29sdW1uczsrK2Upe2NvbnN0IHI9W107bGV0IG89ITE7Zm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07aWYodC5lbmRDb2x1bW49PT1lKXtjb25zdCBlPXQubWVyZ2VkTWFpbkNlbGw/P3Q7Xz1NYXRoLm1heChfLGUub2Zmc2V0WCtlLndpZHRoKSxyLnB1c2goZSksbz1vfHwhZS5lbXB0eX19Zm9yKGNvbnN0IGUgb2YgcillLndpZHRoKz1fLShlLm9mZnNldFgrZS53aWR0aCkscD1NYXRoLm1heChwLGUub2Zmc2V0WCtlLndpZHRoKTtpZihyLmxlbmd0aD4wKXtjb25zdCByPW8mJmk+ZT9oOjA7Zm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07bnVsbCE9PXQubmV4dENvbHVtbkNlbGwmJih0Lm5leHRDb2x1bW5DZWxsLm9mZnNldFg9TWF0aC5tYXgodC5uZXh0Q29sdW1uQ2VsbC5vZmZzZXRYLF8rcikpfX19bGV0IHg9MDtmb3IobGV0IGU9MDtlPHQudGFibGUucm93czsrK2Upe2NvbnN0IGk9W107bGV0IG89ITE7Zm9yKGxldCByPTA7cjx0LnRhYmxlLmNvbHVtbnM7KytyKXtjb25zdCB0PW5bZV1bcl07aWYodC5lbmRSb3c9PT1lKXtjb25zdCBlPXQubWVyZ2VkTWFpbkNlbGw/P3Q7eD1NYXRoLm1heCh4LGUub2Zmc2V0WStlLmhlaWdodCksaS5wdXNoKGUpLG89b3x8IWUuZW1wdHl9fWZvcihjb25zdCBlIG9mIGkpZS5oZWlnaHQrPXgtKGUub2Zmc2V0WStlLmhlaWdodCksZz1NYXRoLm1heChnLGUub2Zmc2V0WStlLmhlaWdodCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgaT1vJiZyPmU/YzowO2ZvcihsZXQgcj0wO3I8dC50YWJsZS5jb2x1bW5zOysrcil7Y29uc3QgdD1uW2VdW3JdO251bGwhPT10Lm5leHRSb3dDZWxsJiYodC5uZXh0Um93Q2VsbC5vZmZzZXRZPU1hdGgubWF4KHQubmV4dFJvd0NlbGwub2Zmc2V0WSx4K2kpKX19fWNvbnN0IHc9ZnVuY3Rpb24oZSx0LGkscil7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86byxiaXRtYXBTaXplOmF9PXQscz1NYXRoLnJvdW5kKDEwKm8pLGQ9TWF0aC5yb3VuZCgxMCpuKTtsZXQgaD0wCjtlLnRhYmxlLnBvc2l0aW9uLnN0YXJ0c1dpdGgoInRvcF8iKT9oPXM6ZS50YWJsZS5wb3NpdGlvbi5zdGFydHNXaXRoKCJtaWRkbGVfIik/aD1NYXRoLnJvdW5kKChhLmhlaWdodC1yKS8yKTplLnRhYmxlLnBvc2l0aW9uLnN0YXJ0c1dpdGgoImJvdHRvbV8iKSYmKGg9YS5oZWlnaHQtcy1yKTtsZXQgYz0wO3JldHVybiBlLnRhYmxlLnBvc2l0aW9uLmVuZHNXaXRoKCJsZWZ0Iik/Yz1kOmUudGFibGUucG9zaXRpb24uZW5kc1dpdGgoImNlbnRlciIpP2M9TWF0aC5yb3VuZCgoYS53aWR0aC1pKS8yKTplLnRhYmxlLnBvc2l0aW9uLmVuZHNXaXRoKCJyaWdodCIpJiYoYz1hLndpZHRoLWktZCksbmV3IGwuUG9pbnQoYyxoKX0odCxlLHAsZyk7cmV0dXJuIHRoaXMuX3ByZWNhbGN1bGF0ZWQ9e3Bvc2l0aW9uOncsdG90YWxXaWR0aDpwLHRvdGFsSGVpZ2h0OmcsY2VsbHM6bixjZWxsc1dpdGhUb29sdGlwOmEsbGFzdE5vbkVtcHR5Q29sdW1uRW5kOmksbGFzdE5vbkVtcHR5Um93RW5kOnJ9LHRoaXMuX3ByZWNhbGN1bGF0ZWR9X2NlbGxXaWR0aChlLHQsaSl7Y29uc3Qgcj10LmNlbGwud2lkdGhJblBlcmNlbnRzT2ZQYW5lV2lkdGg7aWYodC5tZXJnZWR8fCIiPT09dC5jZWxsLnRleHQmJjA9PT1yKXJldHVybiAwO2lmKHIpe3JldHVybihlLm1lZGlhU2l6ZS53aWR0aC0yMCkqci8xMDB9Y29uc3QgYT10LmNlbGwudGV4dC5zcGxpdCgiXG4iKSx7Ym9sZDpzLGl0YWxpYzpsfT0oMCxfLmNvbnZlcnREd2dUZXh0Rm9ybWF0dGluZ1RvT2JqZWN0KSh0LmNlbGwudGV4dEZvcm1hdHRpbmcpLGQ9dC5jZWxsLmZvbnRUeXBlPT09bi5Nb25vc3BhY2U/aC5DSEFSVF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6aC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGM9KDAsby5lbnN1cmVEZWZpbmVkKSgoMCxnLmdldEZvbnRTaXplKSh0LmNlbGwuZm9udFNpemUpKSx1PWAke3QuY2VsbC5mb250VHlwZT8/ImRlZmF1bHQifS0ke2N9LSR7dC5jZWxsLnRleHRGb3JtYXR0aW5nfWA7bGV0IHg7dGhpcy5fd2lkdGhzQ2FjaGVzLmhhcyh1KT94PSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fd2lkdGhzQ2FjaGVzLmdldCh1KSk6KHg9bmV3IGYuVGV4dFdpZHRoQ2FjaGUsdGhpcy5fd2lkdGhzQ2FjaGVzLnNldCh1LHgpKSx0aGlzLl9tZWFzdXJlQ3R4LmZvbnQ9KDAscC5tYWtlRm9udCkoYyxkLGw/Iml0YWxpYyI6dm9pZCAwLHM/ImJvbGQiOnZvaWQgMCk7Y29uc3Qgdz1hLm1hcCgoZT0+eC5tZWFzdXJlVGV4dCh0aGlzLl9tZWFzdXJlQ3R4LGUpKSk7cmV0dXJuIE1hdGgubWF4KC4uLncpKzIqaS50YWJsZS5ib3JkZXJXaWR0aCsyKmMvM31fY2VsbEhlaWdodChlLHQsaSl7Y29uc3Qgcj10LmNlbGwuaGVpZ2h0SW5QZXJjZW50T2ZQYW5lSGVpZ2h0O2lmKHQubWVyZ2VkfHwiIj09PXQuY2VsbC50ZXh0JiYwPT09cilyZXR1cm4gMDtpZihyKXtyZXR1cm4oZS5tZWRpYVNpemUuaGVpZ2h0LTIwKSpyLzEwMH1jb25zdCBuPXQuY2VsbC50ZXh0LnNwbGl0KCJcbiIpLmxlbmd0aCxhPSgwLG8uZW5zdXJlRGVmaW5lZCkoKDAsZy5nZXRGb250U2l6ZSkodC5jZWxsLmZvbnRTaXplKSk7cmV0dXJuIGEqbithKigyLzMpKzIqaS50YWJsZS5ib3JkZXJXaWR0aH19ZnVuY3Rpb24gbShlKXtlLmFsbENlbGxzLmZvckVhY2goKHQ9PntpZih0LmNlbGwucm93U3Bhbj4xfHx0LmNlbGwuY29sU3Bhbj4xKWZvcihsZXQgaT10LmNlbGwucm93O2k8dC5jZWxsLnJvdyt0LmNlbGwucm93U3BhbjsrK2kpZm9yKGxldCByPXQuY2VsbC5jb2x1bW47cjx0LmNlbGwuY29sdW1uK3QuY2VsbC5jb2xTcGFuOysrcil7Y29uc3Qgbj1lLmNlbGxzQnlSb3dBbmRDb2x1bW4uZ2V0KGkpPy5nZXQocik7dm9pZCAwIT09biYmbiE9PXQmJihuLm1lcmdlZD0hMCl9fSkpfWNsYXNzIHl7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fZGF0YT1bXSx0aGlzLl9yZW5kZXJlcnM9W10sdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLGEucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX3NvdXJjZT1lLHRoaXMuX2ZvcmNlT3ZlcmxheT1pfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSk7Y29uc3QgZT1uZXcgcy5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdGhpcy5fZGF0YS5mb3JFYWNoKCgodCxpKT0+e3RoaXMuX3JlbmRlcmVycy5sZW5ndGg8PWk/dGhpcy5fcmVuZGVyZXJzLnB1c2gobmV3IHYodCkpOnRoaXMuX3JlbmRlcmVyc1tpXS5zZXREYXRhKHQpLGUuYXBwZW5kKHRoaXMuX3JlbmRlcmVyc1tpXSl9KSksdGhpcy5fcmVuZGVyZXJzLnNwbGljZSh0aGlzLl9kYXRhLmxlbmd0aCksZX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnBhbGV0dGVzLmNoaWxkcygpLHQ9dGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaXNSR0I7aWYoKHZvaWQgMD09PWV8fHZvaWQgMD09PWUucGFsZXR0ZV9jb21tb24pJiYhdClyZXR1cm47Y29uc3QgaT10P3ZvaWQgMDooMCxvLmVuc3VyZURlZmluZWQpKGUucGFsZXR0ZV9jb21tb24pLmNoaWxkcygpLHI9dGhpcy5fc291cmNlLmdyYXBoaWNzKCkuZHdndGFibGVzKCksbj10aGlzLl9zb3VyY2UuZ3JhcGhpY3MoKS5kd2d0YWJsZWNlbGxzKCksYT1uZXcgTWFwO24uZm9yRWFjaCgoKGUscik9PntlLmZvckVhY2goKGU9PntsZXQgcixuLHM9YS5nZXQoZS50YWJsZUlkKTtpZih2b2lkIDA9PT1zJiYocz17YWxsQ2VsbHM6W10sY2VsbHNCeVJvd0FuZENvbHVtbjpuZXcgTWFwfSxhLnNldChlLnRhYmxlSWQscykpLHQpcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS50ZXh0Q29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuYmFja2dyb3VuZENvbG9ySW5kZXhdLGE9KDAsCm8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UudGV4dENvbG9ySW5kZXhdO2lmKCFhKXJldHVybjtyPXQ/dC5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOiJ0cmFuc3BhcmVudCIsbj1hLmNoaWxkcygpLmNvbG9yLnZhbHVlKCl9Y29uc3QgbD17Y2VsbDplLG1lcmdlZDohMSxzdHlsZTp7YmFja2dyb3VuZENvbG9yOnIsdGV4dENvbG9yOm59fTtzLmFsbENlbGxzLnB1c2gobCk7bGV0IGQ9cy5jZWxsc0J5Um93QW5kQ29sdW1uLmdldChlLnJvdyk7dm9pZCAwPT09ZCYmKGQ9bmV3IE1hcCxzLmNlbGxzQnlSb3dBbmRDb2x1bW4uc2V0KGUucm93LGQpKSxkLnNldChlLmNvbHVtbixsKX0pKX0pKSxhLmZvckVhY2gobSk7Y29uc3Qgcz0oMCxvLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdndGFibGVzKTtyLmZvckVhY2goKChlLHIpPT57aWYoKDAsby5lbnN1cmVEZWZpbmVkKShzLmNoaWxkcygpW3JdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHI9ZS5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtyPy5mb3JFYWNoKChlPT57bGV0IHIsbixzO2lmKHQpcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5ib3JkZXJDb2xvckluZGV4KSxzPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmZyYW1lQ29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuYmFja2dyb3VuZENvbG9ySW5kZXhdLGE9KDAsby5lbnN1cmVEZWZpbmVkKShpKS5jb2xvcnMuY2hpbGRzKClbZS5ib3JkZXJDb2xvckluZGV4XSxsPSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuZnJhbWVDb2xvckluZGV4XTtyPXQ/dC5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOiJ0cmFuc3BhcmVudCIsbj1hP2EuY2hpbGRzKCkuY29sb3IudmFsdWUoKToidHJhbnNwYXJlbnQiLHM9bD9sLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk6InRyYW5zcGFyZW50In10aGlzLl9kYXRhLnB1c2goe3RhYmxlOmUsc3R5bGU6e2JhY2tncm91bmRDb2xvcjpyLGJvcmRlckNvbG9yOm4sZnJhbWVDb2xvcjpzfSxjZWxsczphLmdldChlLmlkKT8uYWxsQ2VsbHM/P1tdfSl9KSl9fSkpfX19LDk0MTEwMChlLHQsaSl7dmFyIHI7ZnVuY3Rpb24gbihlKXtyZXR1cm57Ym9sZDohKDEmfmUpLGl0YWxpYzohKDImfmUpfX1pLmQodCx7Y29udmVydER3Z1RleHRGb3JtYXR0aW5nVG9PYmplY3Q6KCk9Pm59KSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkJvbGQ9MV09IkJvbGQiLGVbZS5JdGFsaWM9Ml09Ikl0YWxpYyJ9KHJ8fChyPXt9KSl9LDIyMTE2NShlLHQsaSl7aS5yKHQpLGkuZCh0LHtISGlzdFBhbmVWaWV3OigpPT5ofSk7dmFyIHIsbj1pKDEzNDY3KSxvPWkoMTM4NjM4KSxhPWkoOTQxNjEyKSxzPWkoNzg5MTkwKSxsPWkoOTgyOTQpLGQ9aSg4NzM1NzMpOyFmdW5jdGlvbihlKXtlLlVwRG9taW5hdGVQb3N0Zml4PSJVcERvbWluYXRlIixlLkRvd25Eb21pbmF0ZVBvc3RmaXg9IkRvd25Eb21pbmF0ZSJ9KHJ8fChyPXt9KSk7Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsaSxyLG49ITEsbz0oKT0+bnVsbCxhPSExKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9oaXN0Qm94QmdTdHlsZT1udWxsLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9oaXN0Qm94QmdTdHlsZT1yPz9udWxsLHRoaXMuX2FsdGVybmF0ZUxlZnRJbmRleD1vLHRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M9bix0aGlzLl9hbHdheXNWaXNpYmxlPWEsdGhpcy5fcmVuZGVyZXJEYXRhPXtoaXN0b2dyYW1zOltdLHN0eWxlczp7fX0sdGhpcy5faGhpc3RSZW5kZXJlcj1uZXcgbC5ISGlzdFJlbmRlcmVyKHRoaXMuX3JlbmRlcmVyRGF0YSl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT1uZXcgcy5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gZS5hcHBlbmQodGhpcy5faGhpc3RSZW5kZXJlciksZX1fcmVzZXRSZW5kZXJlcnNEYXRhKCl7dGhpcy5fcmVuZGVyZXJEYXRhLmhpc3RvZ3JhbXM9W10sdGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlcz17fSx0aGlzLl9yZW5kZXJlckRhdGEuaGlzdEJveEJnQ29sb3I9dm9pZCAwfV9wcmVwYXJlU3R5bGVzKCl7Y29uc3QgZT0oMCxvLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLmhoaXN0cyksdD1PYmplY3Qua2V5cyhlKSxpPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmhoaXN0cykscj10aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGQoImlucHV0cyIpPy5jaGlsZCgidm9sdW1lIik/LnZhbHVlKCk9PT1hLkhIaXN0Vm9sdW1lTW9kZS5EZWx0YTtmb3IoY29uc3QgbiBvZiB0KXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaS5jaGlsZHMoKVtuXSkuY2hpbGRzKCksYT0oMCxvLmVuc3VyZURlZmluZWQpKGVbbl0pO2lmKHIpdGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlc1tuKyJVcERvbWluYXRlIl09e2NvbG9yczpjKHQuY29sb3JzWzBdLnZhbHVlKCksdC50cmFuc3BhcmVuY2llc1swXS52YWx1ZSgpKSx2aXNpYmxlOnQudmlzaWJsZS52YWx1ZSgpLHBlcmNlbnRXaWR0aDp0LnBlcmNlbnRXaWR0aC52YWx1ZSgpLGxvY2F0aW9uOmEubG9jYXRpb24sZGlyZWN0aW9uOnQuZGlyZWN0aW9uLnZhbHVlKCksc2hvd1ZhbHVlczp0LnNob3dWYWx1ZXMudmFsdWUoKSxhZGRUb1RvdGFsVmFsdWU6ITEsdmFsdWVzQ29sb3I6dC52YWx1ZXNDb2xvci52YWx1ZSgpfSx0aGlzLl9yZW5kZXJlckRhdGEuc3R5bGVzW24rIkRvd25Eb21pbmF0ZSJdPXtjb2xvcnM6Yyh0LmNvbG9yc1sxXS52YWx1ZSgpLHQudHJhbnNwYXJlbmNpZXNbMV0udmFsdWUoKSksCnZpc2libGU6dC52aXNpYmxlLnZhbHVlKCkscGVyY2VudFdpZHRoOnQucGVyY2VudFdpZHRoLnZhbHVlKCksbG9jYXRpb246YS5sb2NhdGlvbixkaXJlY3Rpb246dC5kaXJlY3Rpb24udmFsdWUoKSxzaG93VmFsdWVzOnQuc2hvd1ZhbHVlcy52YWx1ZSgpLGFkZFRvVG90YWxWYWx1ZTohMSx2YWx1ZXNDb2xvcjp0LnZhbHVlc0NvbG9yLnZhbHVlKCl9O2Vsc2V7Y29uc3QgZT0oMCxkLmdlbmVyYXRlQ29sb3IpKHQuY29sb3JzWzBdLnZhbHVlKCksdC50cmFuc3BhcmVuY2llc1swXS52YWx1ZSgpKSxpPXQuY29sb3JzWzFdPygwLGQuZ2VuZXJhdGVDb2xvcikodC5jb2xvcnNbMV0udmFsdWUoKSx0LnRyYW5zcGFyZW5jaWVzWzFdLnZhbHVlKCkpOmU7dGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlc1tuXT17Y29sb3JzOltlLGldLHZpc2libGU6dC52aXNpYmxlLnZhbHVlKCkscGVyY2VudFdpZHRoOnQucGVyY2VudFdpZHRoLnZhbHVlKCksbG9jYXRpb246YS5sb2NhdGlvbixkaXJlY3Rpb246dC5kaXJlY3Rpb24udmFsdWUoKSxzaG93VmFsdWVzOnQuc2hvd1ZhbHVlcy52YWx1ZSgpLGFkZFRvVG90YWxWYWx1ZTohMCx2YWx1ZXNDb2xvcjp0LnZhbHVlc0NvbG9yLnZhbHVlKCl9fX1pZih0aGlzLl9oaXN0Qm94QmdTdHlsZSl7Y29uc3QgZT10aGlzLl9oaXN0Qm94QmdTdHlsZS5jaGlsZHMoKTt0aGlzLl9yZW5kZXJlckRhdGEuaGlzdEJveEJnQ29sb3I9KDAsZC5nZW5lcmF0ZUNvbG9yKShlLmNvbG9yLnZhbHVlKCksZS50cmFuc3BhcmVuY3kudmFsdWUoKSl9fV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9yZXNldFJlbmRlcmVyc0RhdGEoKTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5oaGlzdHNCeVRpbWVQb2ludEluZGV4KCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgcj10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09cilyZXR1cm47Y29uc3Qgbj1yLmZpcnN0QmFyKCksYT1yLmxhc3RCYXIoKTt0aGlzLl9wcmVwYXJlU3R5bGVzKCksKDAsby5lbnN1cmVEZWZpbmVkKShpKS5mb3JFYWNoKChpPT57bGV0IHI9MS8wLG89LTEvMDtmb3IoY29uc3QgZSBvZiBpKXtjb25zdCB0PXRoaXMuX2hoaXN0Rmlyc3RCYXJUaW1lKGUpO2lmKG51bGw9PT10KXJldHVybjtyPU1hdGgubWluKHIsdCksbz1NYXRoLm1heChvLGUubGFzdEJhclRpbWUpfSF0aGlzLl9hbHdheXNWaXNpYmxlJiYobzxufHxyPmEpfHx0aGlzLl91cGRhdGVEYXRhRm9yUmVuZGVyZXJzKGksZSx0KX0pKX1fdXBkYXRlRGF0YUZvclJlbmRlcmVycyhlLHQsaSl7aWYoZS5zaXplPD0wKXJldHVybjtsZXQgcj1udWxsO2lmKGUuZm9yRWFjaCgoZT0+e3I9cnx8ZX0pKSxudWxsPT09cilyZXR1cm47bGV0IG49cjtlLmZvckVhY2goKGU9PntlLnByaWNlTG93PG4ucHJpY2VMb3cmJihuPWUpfSkpO2NvbnN0IHM9dGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkKCJpbnB1dHMiKT8uY2hpbGQoInZvbHVtZSIpPy52YWx1ZSgpPT09YS5ISGlzdFZvbHVtZU1vZGUuRGVsdGEsZD1mdW5jdGlvbihlLHQsaSxyKXtjb25zdCBuPXQuYmFyQm9yZGVycyhlLmZpcnN0QmFyVGltZT8/ciksbz10LmJhckJvcmRlcnMoZS5sYXN0QmFyVGltZSk7cmV0dXJuIGk/KDAsbC5yYW5nZSkobi5sZWZ0LG8ucmlnaHQpOigwLGwucmFuZ2UpKG4uY2VudGVyLG8uY2VudGVyKX0ocixpLHRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3MsKDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9oaGlzdEZpcnN0QmFyVGltZShyKSkpLGg9KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCkpLGM9W107ZS5mb3JFYWNoKChlPT57bnVsbD09ZS5yYXRlW2UucmF0ZS5sZW5ndGgtMV0mJmUucmF0ZS5zcGxpY2UoLTEsMSk7bGV0IGk9W10scj1bXSxuPWUuc3R5bGVJZDtpZihzKXtjb25zdFt0LG8sYV09ZS5yYXRlWzBdPmUucmF0ZVsxXT9bZS5yYXRlWzFdLGUucmF0ZVswXSwiVXBEb21pbmF0ZSJdOltlLnJhdGVbMF0sZS5yYXRlWzFdLCJEb3duRG9taW5hdGUiXTtpPVtvLXQsdCx0XSxyPVtvLXRdLG4rPWF9ZWxzZSBpPWUucmF0ZSxyPWUucmF0ZTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4oMCxsLnJhbmdlKSh0LnByaWNlVG9Db29yZGluYXRlKGUucHJpY2VIaWdoLGkpLHQucHJpY2VUb0Nvb3JkaW5hdGUoZS5wcmljZUxvdyxpKSl9KGUsdCxoKTtjLnB1c2goe2hlaWdodDpvLm1heC1vLm1pbix5Om8ubWluLHN1YkJhclZhbHVlczppLGRpc3BsYXllZFZhbHVlczpyLHN0eWxlSWQ6bn0pfSkpLGMuc29ydCgoKGUsdCk9PmUueS10LnkpKSx0aGlzLl9yZW5kZXJlckRhdGEuaGlzdG9ncmFtcy5wdXNoKHt4UmFuZ2U6ZCx5UmFuZ2U6KDAsbC5yYW5nZSkoY1swXS55LGNbYy5sZW5ndGgtMV0ueStjW2MubGVuZ3RoLTFdLmhlaWdodCksYmFyczpjfSl9X2hoaXN0Rmlyc3RCYXJUaW1lKGUpe3JldHVybiBlLmZpcnN0QmFyVGltZT8/dGhpcy5fYWx0ZXJuYXRlTGVmdEluZGV4KCl9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgaTtpZigoMCxkLmlzSGV4Q29sb3IpKGUpKWk9MTAwLXQ7ZWxzZXtjb25zdCByPSgwLG4udHJ5UGFyc2VSZ2JhKShlKTtpPTEwMC0obnVsbCE9PXI/KDAsZC5hbHBoYVRvVHJhbnNwYXJlbmN5KShyWzNdKTp0KX1yZXR1cm5bKDAsZC5nZW5lcmF0ZUNvbG9yKShlLDEwMC1pLCEwKSwoMCxkLmdlbmVyYXRlQ29sb3IpKGUsMTAwLWkvMiwhMCksKDAsZC5nZW5lcmF0ZUNvbG9yKShlLDEwMC1pLzQsITApXX19LDk4Mjk0KGUsdCxpKXtpLmQodCx7SEhpc3RSZW5kZXJlcjooKT0+Zixmb250U2l6ZVRvU3RhcnRUZXh0SGlkaW5nOigpPT5jLHJhbmdlOigpPT5oLHN1Z2dlc3RGb250U2l6ZTooKT0+X30pO3ZhciByPWkoNzM2NTMxKSxuPWkoMTM0NjcpLG89aSgzOTQ5NjMpLGE9aSgxNTEyMSkscz1pKDc2MyksbD1pKDIzMzI0NyksZD1pKDkyNjE0OSkKO2Z1bmN0aW9uIGgoZSx0KXtyZXR1cm57bWluOk1hdGgubWluKGUsdCksbWF4Ok1hdGgubWF4KGUsdCl9fWNvbnN0IGM9Ny41LHU9KDAsbC5nZXRWb2x1bWVGb3JtYXR0ZXIpKCk7Y2xhc3MgZntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9aGl0VGVzdChlLHQpe2NvbnN0IGk9dGhpcy5fZGF0YTtmb3IoY29uc3QgciBvZiBpLmhpc3RvZ3JhbXMpe2lmKHIueVJhbmdlLm1pbj49ZS55fHxlLnk+PXIueVJhbmdlLm1heCljb250aW51ZTtsZXQgbj1udWxsO2Zvcihjb25zdCBhIG9mIHIuYmFycyl7Y29uc3QgbD1pLnN0eWxlc1thLnN0eWxlSWRdO2lmKCFsLnZpc2libGUpY29udGludWU7aWYobC5sb2NhdGlvbj09PW8uSEhpc3RMb2NhdGlvbi5BYnNvbHV0ZSYmKHIueFJhbmdlLm1pbj49ZS54fHxlLng+PXIueFJhbmdlLm1heCkpY29udGludWU7bnVsbD09PW4mJihuPTAsci5iYXJzLmZvckVhY2goKGU9Pntjb25zdCB0PWUuc3ViQmFyVmFsdWVzLnJlZHVjZSgoKGUsdCk9PmUrdCkpO249TWF0aC5tYXgobix0KX0pKSk7Y29uc3QgZD1wKHIueFJhbmdlLGwsdC5tZWRpYVNpemUud2lkdGgpLHt4QmFzZVBvaW50Omgsc2lnbjpjLHhSYW5nZVdpZHRoOnV9PWQsZj1NYXRoLm1heChsLnBlcmNlbnRXaWR0aCp1LzEwMC1hLnN1YkJhclZhbHVlcy5sZW5ndGgsMCk7bGV0IGc9aDtmb3IobGV0IHQ9MDt0PGEuc3ViQmFyVmFsdWVzLmxlbmd0aDt0Kyspe2NvbnN0IGk9YS55LHI9YS55K2EuaGVpZ2h0LG89ZyxsPW8rYyooZiphLnN1YkJhclZhbHVlc1t0XS9uKTtpZihnPWwsKGUueD49byYmZS54PD1sfHxlLng+PWwmJmUueDw9bykmJmUueT49aSYmZS55PD1yKXJldHVybiBuZXcgcy5IaXRUZXN0UmVzdWx0KHMuSGl0VGFyZ2V0LlJlZ3VsYXIpfX19cmV0dXJuIG51bGx9ZHJhdyhlLHQpe2NvbnN0IGk9dGhpcy5fZGF0YSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86b309dDtlLnNhdmUoKSxpLmhpc3RvZ3JhbXMuZm9yRWFjaCgoYT0+e2lmKGkuaGlzdEJveEJnQ29sb3Ipe2UuYmVnaW5QYXRoKCksZS5maWxsU3R5bGU9aS5oaXN0Qm94QmdDb2xvcjtjb25zdCB0PU1hdGgucm91bmQoYS54UmFuZ2UubWluKnIpLG49TWF0aC5yb3VuZChhLnlSYW5nZS5taW4qbykscz1NYXRoLnJvdW5kKGEueFJhbmdlLm1heCpyKS10LGw9TWF0aC5yb3VuZChhLnlSYW5nZS5tYXgqbyktbjtlLnJlY3QodCxuLHMsbCksZS5maWxsKCl9Y29uc3Qgcz1bXTtsZXQgbD0wLGQ9MDthLmJhcnMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5zdWJCYXJWYWx1ZXMucmVkdWNlKCgoZSx0KT0+ZSt0KSk7bD1NYXRoLm1heChsLHQpLGQrPWUuaGVpZ2h0fSkpO2NvbnN0IGg9ZC9hLmJhcnMubGVuZ3RoLHU9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPU1hdGguZmxvb3IoZSp0KTtyZXR1cm4gaT49MSp0P01hdGguZmxvb3IodCk6MH0oaCxyKSxmPVtdO2lmKGEuYmFycy5mb3JFYWNoKChuPT57Y29uc3QgZD1pLnN0eWxlc1tuLnN0eWxlSWRdO2lmKCFkLnZpc2libGUpcmV0dXJuO2lmKGQuc2hvd1ZhbHVlcyYmZC5hZGRUb1RvdGFsVmFsdWUpZm9yKGxldCBlPTA7ZTxuLnN1YkJhclZhbHVlcy5sZW5ndGg7ZSsrKXNbZV09KHNbZV18fDApK24uc3ViQmFyVmFsdWVzW2VdO2NvbnN0IGg9cChhLnhSYW5nZSxkLHQubWVkaWFTaXplLndpZHRoKSx7eEJhc2VQb2ludDpjLHNpZ246Xyx4UmFuZ2VXaWR0aDp3fT1oO2lmKG4ueT50Lm1lZGlhU2l6ZS5oZWlnaHR8fG4ueStuLmhlaWdodDwwKXJldHVybjtjb25zdCB2PU1hdGgubWF4KGQucGVyY2VudFdpZHRoKncvMTAwLW4uc3ViQmFyVmFsdWVzLmxlbmd0aCwwKTtsZXQgbT1jO2ZvcihsZXQgdD0wO3Q8bi5zdWJCYXJWYWx1ZXMubGVuZ3RoO3QrKyl7Y29uc3QgaT1uLnksYT1uLnkrbi5oZWlnaHQscz1tLGg9cytfKih2Km4uc3ViQmFyVmFsdWVzW3RdL2wpO2lmKE1hdGguYWJzKGgtcyk8LjUpY29udGludWU7bT1oLGUuYmVnaW5QYXRoKCksZS5maWxsU3R5bGU9ZC5jb2xvcnNbdF07Y29uc3QgYz1NYXRoLnJvdW5kKHMqciksZj1NYXRoLnJvdW5kKGkqbykscD1NYXRoLnJvdW5kKGgqciktYyxnPU1hdGgubWF4KE1hdGgucm91bmQoYSpvKS1mLXUsMSk7ZS5yZWN0KGMsZixwLGcpLGUuZmlsbCgpfWlmKCFkLnNob3dWYWx1ZXMpcmV0dXJuO2NvbnN0IHk9ZyhuLmRpc3BsYXllZFZhbHVlcyxkLmRpcmVjdGlvbiksYj14KHcsbi55LG4uaGVpZ2h0LGgsZCx5KTtmLnB1c2goYil9KSkscy5sZW5ndGg+MCl7Y29uc3QgZT1pLnN0eWxlc1thLmJhcnNbMF0uc3R5bGVJZF0scj1wKGEueFJhbmdlLGUsdC5tZWRpYVNpemUud2lkdGgpLG89ZyhzLGUuZGlyZWN0aW9uKSxsPWEuYmFyc1thLmJhcnMubGVuZ3RoLTFdLGQ9eChyLnhSYW5nZVdpZHRoLGwueStsLmhlaWdodCxoLHIsZSxvKTtkLmNvbG9yPSgwLG4uc2hpZnRDb2xvcikoZC5jb2xvciwxLjUpLGYucHVzaChkKX1jb25zdCBfPU1hdGgubWluKC4uLmYubWFwKChlPT5lLmZvbnRTaXplKSkpO2lmKF8+PWMpZm9yKGNvbnN0IGkgb2YgZilpLmZvbnRTaXplPV8sdyhlLHQsaSl9KSksZS5yZXN0b3JlKCl9fWZ1bmN0aW9uIHAoZSx0LGkpe2NvbnN0IHI9dC5sb2NhdGlvbj09PW8uSEhpc3RMb2NhdGlvbi5BYnNvbHV0ZSxuPXQubG9jYXRpb249PT1vLkhIaXN0TG9jYXRpb24uUmVsYXRpdmUsYT10LmRpcmVjdGlvbj09PW8uSEhpc3REaXJlY3Rpb24uTGVmdFRvUmlnaHQscz10LmRpcmVjdGlvbj09PW8uSEhpc3REaXJlY3Rpb24uUmlnaHRUb0xlZnQ7bGV0IGwsZDtpZihyJiZhKWw9ZS5taW4sZD0xO2Vsc2UgaWYociYmcylsPWUubWF4LGQ9LTE7ZWxzZSBpZihuJiZhKWw9MCxkPTE7ZWxzZXtpZighbnx8IXMpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGxvY2F0aW9uL2RpcmVjdGlvbiB2YWx1ZXM6ICR7dC5sb2NhdGlvbn0vJHt0LmRpcmVjdGlvbn1gKTtsPWksZD0tMX12YXIgaDtyZXR1cm57eEJhc2VQb2ludDpsLHNpZ246ZCx4UmFuZ2VXaWR0aDpuP2k6KGg9ZSkubWF4LWgubWlufX1mdW5jdGlvbiBnKGUsdCl7cmV0dXJuIHQ9PT1vLkhIaXN0RGlyZWN0aW9uLlJpZ2h0VG9MZWZ0JiYoZT1lLnNsaWNlKCkpLnJldmVyc2UoKSwKZS5tYXAoKGU9PnUuZm9ybWF0KGUpKSkuam9pbigieCIpfWZ1bmN0aW9uIF8oZSx0LGkpe3JldHVybntmb250U2l6ZTpNYXRoLm1pbihNYXRoLnJvdW5kKDEuNyplL2kubGVuZ3RoKSxNYXRoLnJvdW5kKC42KnQpKSx2ZXJ0aWNhbE9mZnNldDouNyp0fX1mdW5jdGlvbiB4KGUsdCxpLG4sYSxzKXtjb25zdHtmb250U2l6ZTpsLHZlcnRpY2FsT2Zmc2V0OmR9PV8oZSxpLHMpLGg9YS5kaXJlY3Rpb249PT1vLkhIaXN0RGlyZWN0aW9uLkxlZnRUb1JpZ2h0PyJsZWZ0IjoicmlnaHQiLHt4QmFzZVBvaW50OmMsc2lnbjp1fT1uLGY9YyszKnUscD10K2Q7cmV0dXJue3RleHQ6cyxjb2xvcjphLnZhbHVlc0NvbG9yLGZvbnRTaXplOmwsYWxpZ246aCxwb2ludDpuZXcgci5Qb2ludChmLHApfX1mdW5jdGlvbiB3KGUsdCxpKXtjb25zdHt0ZXh0OnIsY29sb3I6bixmb250U2l6ZTpvLGFsaWduOnMscG9pbnQ6bH09aTtlLmZvbnQ9YCR7b31weCAke2QuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKX1gLGUuZmlsbFN0eWxlPW4sZS50ZXh0QWxpZ249cywoMCxhLmRyYXdTY2FsZWQpKGUsdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0LnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9PmUuZmlsbFRleHQocixsLngsbC55KSkpfX0sNjc3OTA5KGUsdCxpKXtpLnIodCksaS5kKHQse0hvcml6TGluZVBhbmVWaWV3OigpPT5zfSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3NjMpLG89aSg3ODkxOTApLGE9aSg2NTA0ODApO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LGkscj0hMSxvPSgpPT5udWxsKXt0aGlzLl9kYXRhPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9leHRlbmRUb0JhcnNFbmRpbmdzPXIsdGhpcy5fYWx0ZXJuYXRlU3RhcnRJbmRleD1vLHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgbi5IaXRUZXN0UmVzdWx0KG4uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgbi5IaXRUZXN0UmVzdWx0KG4uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IG8uQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgYS5Ib3Jpem9udGFsTGluZVJlbmRlcmVyO2kuc2V0RGF0YSh0KSxpLnNldEhpdFRlc3QodGhpcy5faGl0VGVzdFJlc3VsdCksZS5hcHBlbmQoaSl9cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkuaG9yaXpsaW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IG49dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PW4pcmV0dXJuO2NvbnN0IG89dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBhPW4uZmlyc3RCYXIoKSxzPW4ubGFzdEJhcigpLGw9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuaG9yaXpsaW5lcyk7aS5mb3JFYWNoKCgoaSxuKT0+e2NvbnN0IGQ9KDAsci5lbnN1cmVEZWZpbmVkKShsLmNoaWxkcygpW25dKS5jaGlsZHMoKTtkLnZpc2libGUudmFsdWUoKSYmaS5mb3JFYWNoKChpPT57Y29uc3Qgbj1pLnN0YXJ0SW5kZXg/P3RoaXMuX2FsdGVybmF0ZVN0YXJ0SW5kZXgoKSxsPWkuZW5kSW5kZXg7aWYobnVsbD09PW4pcmV0dXJuO2lmKCFpLmV4dGVuZFJpZ2h0JiZNYXRoLm1heChuLGwpPGF8fCFpLmV4dGVuZExlZnQmJk1hdGgubWluKG4sbCk+cylyZXR1cm47bGV0IGgsYztpZighaS5leHRlbmRMZWZ0KXtjb25zdCBlPXQuYmFyQm9yZGVycyhuKTtoPXRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M/ZS5sZWZ0OmUuY2VudGVyfWlmKCFpLmV4dGVuZFJpZ2h0KXtjb25zdCBlPXQuYmFyQm9yZGVycyhsKTtjPXRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M/ZS5yaWdodDplLmNlbnRlcn10aGlzLl9kYXRhLnB1c2goe3k6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLG8pLGxlZnQ6aCxyaWdodDpjLGNvbG9yOmQuY29sb3IudmFsdWUoKSxsaW5ld2lkdGg6ZC53aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpkLnN0eWxlLnZhbHVlKCl9KX0pKX0pKX19fSwxODE0MzAoZSx0LGkpe2kucih0KSxpLmQodCx7TGV2ZWxQYW5lVmlldzooKT0+Y30pO3ZhciByLG49aSgxMzg2MzgpLG89aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlW2UuVG9wTGVmdD0wXT0iVG9wTGVmdCIsZVtlLlRvcENlbnRlcj0xXT0iVG9wQ2VudGVyIixlW2UuVG9wUmlnaHQ9Ml09IlRvcFJpZ2h0IixlW2UuTWlkZGxlTGVmdD0zXT0iTWlkZGxlTGVmdCIsZVtlLk1pZGRsZUNlbnRlcj00XT0iTWlkZGxlQ2VudGVyIixlW2UuTWlkZGxlUmlnaHQ9NV09Ik1pZGRsZVJpZ2h0IixlW2UuQm90dG9tTGVmdD02XT0iQm90dG9tTGVmdCIsZVtlLkJvdHRvbUNlbnRlcj03XT0iQm90dG9tQ2VudGVyIixlW2UuQm90dG9tUmlnaHQ9OF09IkJvdHRvbVJpZ2h0In0ocnx8KHI9e30pKTt2YXIgYT1pKDg4NDI4KSxzPWkoNzg5MTkwKSxsPWkoNjUwNDgwKSxkPWkoNDcwOTg2KSxoPWkoOTI2MTQ5KTtjbGFzcyBje2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fbGluZVJlbmRlcmVycz1bXSx0aGlzLl90ZXh0UmVuZGVyZXJzPVtdLHRoaXMuX3JlbmRlcmVyPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dH11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXsKcmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9yZW5kZXJlci5jbGVhcigpO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmhsaW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1zKXJldHVybjtjb25zdCBjPXRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcyx1PSgwLG4uZW5zdXJlRGVmaW5lZCkoYy5jaGlsZHMoKS5obGluZXMpLGY9KDAsbi5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5ncmFwaGljc0luZm8oKS5obGluZXMpO2xldCBwPTAsZz0wO2ZvcihpLmZvckVhY2goKChpLGMpPT57Y29uc3QgXz0oMCxuLmVuc3VyZURlZmluZWQpKHUuY2hpbGRzKClbY10pLmNoaWxkcygpLHg9KDAsbi5lbnN1cmVEZWZpbmVkKShmW2NdKS5lbmFibGVUZXh0JiYoMCxuLmVuc3VyZURlZmluZWQpKF8uc2hvd1RleHQpLnZhbHVlKCksdz1fLnZpc2libGUudmFsdWUoKTsoeHx8dykmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IGM9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxuLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLHMpO2lmKHgpe2NvbnN0IGU9KDAsbi5lbnN1cmVEZWZpbmVkKShfLnRleHRQb3MpLnZhbHVlKCksW3MsbF09ZnVuY3Rpb24oZSx0KXtpZihlPT09ci5Ub3BMZWZ0fHxlPT09ci5NaWRkbGVMZWZ0fHxlPT09ci5Cb3R0b21MZWZ0KXJldHVyblthLkhvcml6b250YWxBbGlnbi5MZWZ0LDRdO2lmKGU9PT1yLlRvcENlbnRlcnx8ZT09PXIuTWlkZGxlQ2VudGVyfHxlPT09ci5Cb3R0b21DZW50ZXIpcmV0dXJuW2EuSG9yaXpvbnRhbEFsaWduLkNlbnRlcix0LzJdO2lmKGU9PT1yLlRvcFJpZ2h0fHxlPT09ci5NaWRkbGVSaWdodHx8ZT09PXIuQm90dG9tUmlnaHQpcmV0dXJuW2EuSG9yaXpvbnRhbEFsaWduLlJpZ2h0LHRdO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgVGV4dFBvcyB2YWx1ZSIpfShlLHQud2lkdGgoKSksW3UsZl09ZnVuY3Rpb24oZSx0KXtpZihlPT09ci5Ub3BMZWZ0fHxlPT09ci5Ub3BDZW50ZXJ8fGU9PT1yLlRvcFJpZ2h0KXJldHVyblthLlZlcnRpY2FsQWxpZ24uQm90dG9tLHQtNF07aWYoZT09PXIuTWlkZGxlTGVmdHx8ZT09PXIuTWlkZGxlQ2VudGVyfHxlPT09ci5NaWRkbGVSaWdodClyZXR1cm5bYS5WZXJ0aWNhbEFsaWduLk1pZGRsZSx0LTJdO2lmKGU9PT1yLkJvdHRvbUxlZnR8fGU9PT1yLkJvdHRvbUNlbnRlcnx8ZT09PXIuQm90dG9tUmlnaHQpcmV0dXJuW2EuVmVydGljYWxBbGlnbi5Ub3AsdF07dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBUZXh0UG9zIHZhbHVlIil9KGUsYyksZz17cG9pbnRzOltuZXcgby5Qb2ludChsLGYpXSxvZmZzZXRYOjAsb2Zmc2V0WTowLHRleHQ6aS50ZXh0fHwiIixjb2xvcjpfLmNvbG9yLnZhbHVlKCksZm9udDpoLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCksZm9udHNpemU6KDAsbi5lbnN1cmVEZWZpbmVkKShfLmZvbnRTaXplKS52YWx1ZSgpLGhvcnpBbGlnbjpzLHZlcnRBbGlnbjp1fTtsZXQgeDt2b2lkIDA9PT10aGlzLl90ZXh0UmVuZGVyZXJzW3BdPyh4PW5ldyBkLlRleHRSZW5kZXJlcix0aGlzLl90ZXh0UmVuZGVyZXJzW3BdPXgpOng9dGhpcy5fdGV4dFJlbmRlcmVyc1twXSx4LnNldERhdGEoZykscCsrfWlmKHcpe2NvbnN0IGU9e3Zpc2libGU6ITAseTpjLGNvbG9yOl8uY29sb3IudmFsdWUoKSxsaW5ld2lkdGg6Xy53aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpfLnN0eWxlLnZhbHVlKCl9O2xldCB0O3ZvaWQgMD09PXRoaXMuX2xpbmVSZW5kZXJlcnNbZ10/KHQ9bmV3IGwuSG9yaXpvbnRhbExpbmVSZW5kZXJlcix0aGlzLl9saW5lUmVuZGVyZXJzW2ddPXQpOnQ9dGhpcy5fbGluZVJlbmRlcmVyc1tnXSx0LnNldERhdGEoZSksZysrfX0pKX0pKTt0aGlzLl90ZXh0UmVuZGVyZXJzLmxlbmd0aD5wOyl0aGlzLl90ZXh0UmVuZGVyZXJzLnBvcCgpO2Zvcig7dGhpcy5fbGluZVJlbmRlcmVycy5sZW5ndGg+ZzspdGhpcy5fbGluZVJlbmRlcmVycy5wb3AoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9saW5lUmVuZGVyZXJzKXRoaXMuX3JlbmRlcmVyLmFwcGVuZChlKTtmb3IoY29uc3QgZSBvZiB0aGlzLl90ZXh0UmVuZGVyZXJzKXRoaXMuX3JlbmRlcmVyLmFwcGVuZChlKX19fSw1Njg5NjMoZSx0LGkpe2kucih0KSxpLmQodCx7TGluZVBhbmVWaWV3OigpPT5kfSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSg3NjMpLGE9aSg3ODkxOTApLHM9aSg2NjAxNjEpLGw9aSg2NjQ4MTUpO2NsYXNzIGR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2RhdGE9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGEuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgbC5UcmVuZExpbmVSZW5kZXJlcjtpLnNldERhdGEodCksaS5zZXRIaXRUZXN0KHRoaXMuX2hpdFRlc3RSZXN1bHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkKO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5saW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IG89dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PW8pcmV0dXJuO2NvbnN0IGE9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1hKXJldHVybjtjb25zdCBsPW8uZmlyc3RCYXIoKSxkPW8ubGFzdEJhcigpLGg9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkubGluZXMpO2kuZm9yRWFjaCgoKGksbyk9Pntjb25zdCBjPSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVtvXSkuY2hpbGRzKCk7Yy52aXNpYmxlLnZhbHVlKCkmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IG89aS5zdGFydEluZGV4KyhpLnN0YXJ0T2Zmc2V0fHwwKSxoPWkuZW5kSW5kZXgrKGkuZW5kT2Zmc2V0fHwwKTtpZihNYXRoLm1heChvLGgpPGx8fE1hdGgubWluKG8saCk+ZClyZXR1cm47Y29uc3QgdT10LmluZGV4VG9Db29yZGluYXRlKG8pLGY9dC5pbmRleFRvQ29vcmRpbmF0ZShoKSxwPWUucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShpLnN0YXJ0UHJpY2UpLGEpLGc9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuZW5kUHJpY2UpLGEpLF89bmV3IG4uUG9pbnQodSxwKSx4PW5ldyBuLlBvaW50KGYsZyk7dGhpcy5fZGF0YS5wdXNoKHtwb2ludHM6W18seF0sZXh0ZW5kbGVmdDohMSxleHRlbmRyaWdodDohMSxsZWZ0ZW5kOnMuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6cy5MaW5lRW5kLk5vcm1hbCxjb2xvcjpjLmNvbG9yLnZhbHVlKCksbGluZXdpZHRoOmMud2lkdGgudmFsdWUoKSxsaW5lc3R5bGU6Yy5zdHlsZS52YWx1ZSgpfSl9KSl9KSl9fX0sNDkzNjgxKGUsdCxpKXtpLnIodCksaS5kKHQse1BvbHlnb25QYW5lVmlldzooKT0+ZH0pO3ZhciByPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoNzYzKSxhPWkoNzg5MTkwKSxzPWkoMjYwNjkpLGw9aSg4ODA3NjEpO2NsYXNzIGR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2RhdGE9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGEuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgbC5Qb2x5Z29uUmVuZGVyZXIodGhpcy5faGl0VGVzdFJlc3VsdCk7aS5zZXREYXRhKHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLnBvbHlnb25zKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbz10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm47Y29uc3QgYT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PWEpcmV0dXJuO2NvbnN0IGw9by5maXJzdEJhcigpLGQ9by5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5wb2x5Z29ucyksYz0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLnBvbHlnb25zKTtpLmZvckVhY2goKChpLG8pPT57Y29uc3QgdT0oMCxyLmVuc3VyZURlZmluZWQpKGguY2hpbGRzKClbb10pLmNoaWxkcygpLGY9KDAsci5lbnN1cmVEZWZpbmVkKShjW29dKTsxMDAhPT11LnRyYW5zcGFyZW5jeS52YWx1ZSgpJiZpLmZvckVhY2goKGk9PntsZXQgbz0xLzAsaD0tMS8wO2Zvcihjb25zdCBlIG9mIGkucG9pbnRzKXtjb25zdCB0PWUuaW5kZXgrKGUub2Zmc2V0fHwwKTtvPU1hdGgubWluKG8sdCksaD1NYXRoLm1heChoLHQpfWlmKGg8bHx8ZDxvKXJldHVybjtjb25zdCBjPWkucG9pbnRzLm1hcCgoaT0+e2NvbnN0IG89dC5pbmRleFRvQ29vcmRpbmF0ZShpLmluZGV4KyhpLm9mZnNldHx8MCkpLHM9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLGEpO3JldHVybiBuZXcgbi5Qb2ludChvLHMpfSkpO3RoaXMuX2RhdGEucHVzaCh7cG9pbnRzOmMsY29sb3I6dS5jb2xvci52YWx1ZSgpLGJhY2tjb2xvcjp1LmNvbG9yLnZhbHVlKCksbGluZXdpZHRoOmYuc2hvd0JvcmRlcj8xOjAsbGluZXN0eWxlOnMuTElORVNUWUxFX1NPTElELGZpbGxlZDohMCxmaWxsQmFja2dyb3VuZDohMCx0cmFuc3BhcmVuY3k6dS50cmFuc3BhcmVuY3kudmFsdWUoKSxkaXNhYmxlSW50ZXJhY3Rpb25zOiFmLm1vdXNlVG91Y2hhYmxlfSl9KSl9KSl9fX0sNjkwMTgzKGUsdCxpKXtpLnIodCksaS5kKHQse1NoYXBlTWFya1BhbmVWaWV3OigpPT54fSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSg2ODc1OTApLGE9aSg5NjA0NjQpLHM9aSg3ODkxOTApLGw9aSg3NjgzMDUpLGQ9aSg3NjMpLGg9aSgxNTEyMSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9ZHJhdyhlLHQpe2NvbnN0IGk9ImRvd24iPT09dGhpcy5fZGF0YS5kaXJlY3Rpb24/MToidXAiPT09dGhpcy5fZGF0YS5kaXJlY3Rpb24/LTE6MCxyPXRoaXMuX2RhdGEucG9pbnQueCxuPXRoaXMuX2RhdGEucG9pbnQueTsoMCwKaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS5maWxsU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmJlZ2luUGF0aCgpLGUuYXJjKHIrMSxuKzIqdGhpcy5fZGF0YS5zaXplKmksdGhpcy5fZGF0YS5zaXplLDAsMipNYXRoLlBJKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc3Ryb2tlKCl9KSl9aGl0VGVzdChlKXtjb25zdCB0PSJkb3duIj09PXRoaXMuX2RhdGEuZGlyZWN0aW9uPzE6InVwIj09PXRoaXMuX2RhdGEuZGlyZWN0aW9uPy0xOjAsaT1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngrLjUsdGhpcy5fZGF0YS5wb2ludC55Ky41KzIqdGhpcy5fZGF0YS5zaXplKnQpO3JldHVybigwLGwucG9pbnRJbkNpcmNsZSkoZSxpLHRoaXMuX2RhdGEuc2l6ZSk/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfX1jbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9ZX1kcmF3KGUsdCl7Y29uc3QgaT0iZG93biI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8xOiJ1cCI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8tMTowLHI9dGhpcy5fZGF0YS5zaXplLG89bmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LXIvMix0aGlzLl9kYXRhLnBvaW50Lnktci8yK2kqciksYT1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50Lngrci8yLHRoaXMuX2RhdGEucG9pbnQueStyLzIraSpyKS5zdWJ0cmFjdChvKSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86bH09dCxkPU1hdGgubWF4KDEsTWF0aC5mbG9vcihzKSksaD1kLzIsYz1kJTI/LjU6MCx1PU1hdGgucm91bmQoby54KnMpK2MsZj1NYXRoLnJvdW5kKChvLngrYS54KSpzKStjLHA9TWF0aC5yb3VuZChvLnkqbCkrYyxnPU1hdGgucm91bmQoKG8ueSthLnkpKmwpK2M7ZS5iZWdpblBhdGgoKSxlLmZpbGxTdHlsZT10aGlzLl9kYXRhLmNvbG9yLGUucmVjdCh1K2gscCtoLGYtdS1kLGctcC1kKSxlLmZpbGwoKSxlLmxpbmVXaWR0aD1kLGUuYmVnaW5QYXRoKCksZS5yZWN0KHUscCxmLXUsZy1wKSxlLnN0cm9rZSgpfWhpdFRlc3QoZSl7Y29uc3QgdD0iZG93biI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8xOiJ1cCI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8tMTowLGk9dGhpcy5fZGF0YS5zaXplLHI9bmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LWkvMix0aGlzLl9kYXRhLnBvaW50LnktaS8yK3QqaSksbz1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngraS8yLHRoaXMuX2RhdGEucG9pbnQueStpLzIrdCppKTtyZXR1cm4oMCxsLnBvaW50SW5Cb3gpKGUsKDAsbi5ib3gpKHIsbykpP25ldyBkLkhpdFRlc3RSZXN1bHQoZC5IaXRUYXJnZXQuUmVndWxhcik6bnVsbH19Y2xhc3MgZntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl9hcnJvd0RpcmVjdGlvbj10fWRyYXcoZSx0KXtjb25zdCBpPXRoaXMuX2Fycm93RGlyZWN0aW9uLHI9dGhpcy5fZGF0YS5zaXplLG49dGhpcy5fZGF0YS5jb2xvcixvPXRoaXMuX2RhdGEucG9pbnQueCsxO2xldCBhPXRoaXMuX2RhdGEucG9pbnQueTtjb25zdCBzPTEuMSpyO3N3aXRjaChpKXtjYXNlInVwIjphLT1zO2JyZWFrO2Nhc2UiZG93biI6YSs9c31jb25zdCBsPXIvNixkPXIvNCxjPXIvMyx1PXIvMixmPS42NjY2NjY2KnI7KDAsaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57c3dpdGNoKGUuZmlsbFN0eWxlPW4sZS5iZWdpblBhdGgoKSxpKXtjYXNlInVwIjplLm1vdmVUbyhvLGEpLGUubGluZVRvKG8tdSxhK2YpLGUubGluZVRvKG8tZCxhK2YpLGUubGluZVRvKG8sYStjKSxlLmxpbmVUbyhvK2QsYStmKSxlLmxpbmVUbyhvK3UsYStmKSxlLmxpbmVUbyhvLGEpO2JyZWFrO2Nhc2UiZG93biI6ZS5tb3ZlVG8obyxhK3IpLGUubGluZVRvKG8tdSxhK2MpLGUubGluZVRvKG8tZCxhK2MpLGUubGluZVRvKG8sYStmKSxlLmxpbmVUbyhvK2QsYStjKSxlLmxpbmVUbyhvK3UsYStjKSxlLmxpbmVUbyhvLGErcik7YnJlYWs7Y2FzZSJyaWdodCI6ZS5tb3ZlVG8obytsLGEpLGUubGluZVRvKG8tbCxhLWQpLGUubGluZVRvKG8tbCxhK2QpLGUubGluZVRvKG8rbCxhKTticmVhaztjYXNlImxlZnQiOmUubW92ZVRvKG8tbCxhKSxlLmxpbmVUbyhvK2wsYS1kKSxlLmxpbmVUbyhvK2wsYStkKSxlLmxpbmVUbyhvLWwsYSl9ZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLnN0cm9rZSgpfSkpfWhpdFRlc3QoZSl7Y29uc3RbdCxpLHJdPXRoaXMuX2hpdFRyaWFuZ2xlKCk7cmV0dXJuKDAsbC5wb2ludEluVHJpYW5nbGUpKGUsdCxpLHIpP25ldyBkLkhpdFRlc3RSZXN1bHQoZC5IaXRUYXJnZXQuUmVndWxhcik6bnVsbH1faGl0VHJpYW5nbGUoKXtjb25zdCBlPXRoaXMuX2RhdGEucG9pbnQueDtsZXQgdD10aGlzLl9kYXRhLnBvaW50Lnk7Y29uc3QgaT10aGlzLl9hcnJvd0RpcmVjdGlvbixyPXRoaXMuX2RhdGEuc2l6ZSxvPTEuMSpyO3N3aXRjaChpKXtjYXNlInVwIjp0LT1vO2JyZWFrO2Nhc2UiZG93biI6dCs9b31jb25zdCBhPXIvNixzPXIvNCxsPXIvMyxkPXIvMixoPS42NjY2NjY2KnI7c3dpdGNoKGkpe2Nhc2UidXAiOnJldHVybltuZXcgbi5Qb2ludChlLHQpLG5ldyBuLlBvaW50KGUrZCx0K2gpLG5ldyBuLlBvaW50KGUtZCx0K2gpXTtjYXNlImRvd24iOnJldHVybltuZXcgbi5Qb2ludChlLHQrciksbmV3IG4uUG9pbnQoZStkLHQrbCksbmV3IG4uUG9pbnQoZS1kLHQrbCldO2Nhc2UicmlnaHQiOnJldHVybltuZXcgbi5Qb2ludChlK2EsdCksbmV3IG4uUG9pbnQoZS1hLHQtcyksbmV3IG4uUG9pbnQoZS1hLHQrcyldO2Nhc2UibGVmdCI6cmV0dXJuW25ldyBuLlBvaW50KGUtYSx0KSxuZXcgbi5Qb2ludChlK2EsdC1zKSxuZXcgbi5Qb2ludChlK2EsdCtzKV19fX12YXIgcD1pKDE1OTcxMCksZz1pKDg3MzU3Myk7Y29uc3QgXz0oMCxpKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ2hhcnQuU2hhcGVNYXJrUGFuZVZpZXciKTtjbGFzcyB4IGV4dGVuZHMgcC5Mb2NhdGlvblRvWU1peGlue2NvbnN0cnVjdG9yKGUsdCxpKXsKc3VwZXIoKSx0aGlzLl9kYXRhPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9kYXRhPVtdfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IHMuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSlzd2l0Y2godC5zaGFwZSl7Y2FzZSJjaXJjbGUiOmUuYXBwZW5kKG5ldyBjKHQpKTticmVhaztjYXNlInNxdWFyZSI6ZS5hcHBlbmQobmV3IHUodCkpO2JyZWFrO2Nhc2UiYXJyb3dVcCI6ZS5hcHBlbmQobmV3IGYodCwidXAiKSk7YnJlYWs7Y2FzZSJhcnJvd0Rvd24iOmUuYXBwZW5kKG5ldyBmKHQsImRvd24iKSk7YnJlYWs7Y2FzZSJhcnJvd1JpZ2h0IjplLmFwcGVuZChuZXcgZih0LCJyaWdodCIpKTticmVhaztjYXNlImFycm93TGVmdCI6ZS5hcHBlbmQobmV3IGYodCwibGVmdCIpKX1yZXR1cm4gZX1fdXBkYXRlVmlld0ludGVybmFsKCl7dGhpcy5fZGF0YT1bXTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5zaGFwZW1hcmtzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5zaGFwZW1hcmtzKSxjPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3NJbmZvKCkuc2hhcGVtYXJrcyk7aS5mb3JFYWNoKCgoaSxhKT0+e2NvbnN0IHU9KDAsci5lbnN1cmVEZWZpbmVkKShoLmNoaWxkcygpW2FdKS5jaGlsZHMoKSxmPSgwLHIuZW5zdXJlRGVmaW5lZCkoY1thXSk7dS52aXNpYmxlLnZhbHVlKCkmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IHI9aS50aW1lO2lmKHI8bHx8ZDxyKXJldHVybjtpZihudWxsPT09dGhpcy5fcHJvdmlkZXIuc2VyaWVzKCkuYmFycygpLnZhbHVlQXQocikpcmV0dXJuO2NvbnN0IGE9Zi5sb2NhdGlvbixoPWYuc2hhcGUsYz11LnNpemUudmFsdWUoKSxwPSgwLGcuZ2VuZXJhdGVDb2xvcikodS5jb2xvci52YWx1ZSgpLHUudHJhbnNwYXJlbmN5LnZhbHVlKCkpLHtjZW50ZXI6XyxsZWZ0OngscmlnaHQ6dyx5OnYsZGlyZWN0aW9uOm19PXRoaXMuX2NhbGNDb29yZHNGb3JTaGFwZShhLHIsYyxpLnByaWNlLHMsZSx0KTtsZXQgeTtzd2l0Y2goZi5oYWxpZ24pe2Nhc2Ugby5IQWxpZ24uTGVmdDp5PXg7YnJlYWs7Y2FzZSBvLkhBbGlnbi5SaWdodDp5PXc7YnJlYWs7Y2FzZSBvLkhBbGlnbi5DZW50ZXI6eT1ffXN3aXRjaChoKXtjYXNlImNpcmNsZSI6Y2FzZSJzcXVhcmUiOnRoaXMuX2RhdGEucHVzaCh7c2hhcGU6aCxjb2xvcjpwLGRpcmVjdGlvbjptLHBvaW50Om5ldyBuLlBvaW50KHksdiksc2l6ZTpjfSk7YnJlYWs7Y2FzZSJhcnJvd1VwIjpjYXNlImFycm93RG93biI6Y2FzZSJhcnJvd1JpZ2h0IjpjYXNlImFycm93TGVmdCI6dGhpcy5fZGF0YS5wdXNoKHtzaGFwZTpoLGNvbG9yOnAscG9pbnQ6bmV3IG4uUG9pbnQoeSx2KSxzaXplOmN9KX19KSl9KSl9X2NhbGNDb29yZHNGb3JTaGFwZShlLHQsaSxuLG8scyxsKXtjb25zdCBkPWwuYmFyQm9yZGVycyh0KTtzd2l0Y2goZSl7Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZTpyZXR1cm57Li4uZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246IiJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVEb3duOnJldHVybnsuLi5kLHk6cy5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKG4pLG8pLGRpcmVjdGlvbjoiZG93biJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVVcDpyZXR1cm57Li4uZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpyZXR1cm57Li4uZCx5OnRoaXMuX2xvY2F0aW9uVG9ZKGUsdCxNYXRoLmZsb29yKDIqaS9sLmJhclNwYWNpbmcoKSkrMSksZGlyZWN0aW9uOiJ1cCJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQmVsb3dCYXI6cmV0dXJuey4uLmQseTp0aGlzLl9sb2NhdGlvblRvWShlLHQsTWF0aC5mbG9vcigyKmkvbC5iYXJTcGFjaW5nKCkpKzEpLGRpcmVjdGlvbjoiZG93biJ9O2RlZmF1bHQ6cmV0dXJuIF8ubG9nV2FybigiQmFkIGxvY2F0aW9uIHZhbHVlOiAiK2UpLHsuLi5kLHk6TmFOLGRpcmVjdGlvbjoidXAifX19fX0sODY3NzE3KGUsdCxpKXtpLnIodCksaS5kKHQse1RleHRNYXJrUGFuZVZpZXc6KCk9Pnh9KTt2YXIgcj1pKDEzODYzOCksbj1pKDczNjUzMSksbz1pKDQ1NTE4OCksYT1pKDk2MDQ2NCkscz1pKDc4OTE5MCksbD1pKDc2ODMwNSksZD1pKDc2MyksaD1pKDE1MTIxKSxjPWkoOTY5MTY4KTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fZGF0YT1lLHRoaXMuX3RleHRDYWNoZT10fWRyYXcoZSx0KXtpZighdGhpcy5fZGF0YSlyZXR1cm47Y29uc3QgaT1mKHRoaXMuX2RhdGEuZGlyZWN0aW9uKTtsZXQgcj10aGlzLl9kYXRhLnBvaW50Lng7ImxlZnQiPT09dGhpcy5fZGF0YS5oYWxpZ24/ci09dGhpcy5fZGF0YS5zaXplOiJyaWdodCI9PT10aGlzLl9kYXRhLmhhbGlnbiYmKHIrPXRoaXMuX2RhdGEuc2l6ZSk7Y29uc3Qgbj10aGlzLl9kYXRhLnBvaW50Lnk7ZS5mb250PXRoaXMuX2ZvbnRTdHlsZSgpO2NvbnN0IG89ZS5tZWFzdXJlVGV4dCh0aGlzLl9kYXRhLnRleHQpLndpZHRoCjt0aGlzLl90ZXh0Q2FjaGUudGV4dFdpZHRoPW87Y29uc3QgYT10aGlzLl9kYXRhLmZvbnRTaXplO2UudGV4dEFsaWduPSgwLGMuaXNSdGwpKCk/InJpZ2h0IjoibGVmdCI7Y29uc3Qgcz0oMCxoLmNhbGNUZXh0SG9yaXpvbnRhbFNoaWZ0KShlLG8pLGw9LjY1KmEsZD0xKmE7KDAsaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS50cmFuc2xhdGUocixuKSxlLmJlZ2luUGF0aCgpLGUubW92ZVRvKDAsMCksZS5saW5lVG8obCxkKmkpLGUubGluZVRvKC41Km8rbCxkKmkpLGUubGluZVRvKC41Km8rbCwoZCsxLjc1KmEpKmkpLGUubGluZVRvKC41Ki1vLWwsKGQrMS43NSphKSppKSxlLmxpbmVUbyguNSotby1sLGQqaSksZS5saW5lVG8oLWwsZCppKSxlLmxpbmVUbygwLDApLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5ib3JkZXJDb2xvcixlLnN0cm9rZSgpLGUuZmlsbFN0eWxlPXRoaXMuX2RhdGEuY29sb3IsZS5maWxsKCksZS5maWxsU3R5bGU9dGhpcy5fZGF0YS5mb250Q29sb3IsZS5maWxsVGV4dCh0aGlzLl9kYXRhLnRleHQsLjUqLW8rcyxpPDA/aSpkLS41KmE6ZCsxLjI1KmEpfSkpfWhpdFRlc3QoZSl7Y29uc3QgdD10aGlzLl90ZXh0Q2FjaGUudGV4dFdpZHRofHwwLGk9dGhpcy5fZGF0YS5mb250U2l6ZSxyPWYodGhpcy5fZGF0YS5kaXJlY3Rpb24pLG89LjY1KmksYT0xKmk7bGV0IHM9dGhpcy5fZGF0YS5wb2ludC54OyJsZWZ0Ij09PXRoaXMuX2RhdGEuaGFsaWduP3MtPXRoaXMuX2RhdGEuc2l6ZToicmlnaHQiPT09dGhpcy5fZGF0YS5oYWxpZ24mJihzKz10aGlzLl9kYXRhLnNpemUpO2NvbnN0IGg9dGhpcy5fZGF0YS5wb2ludC55LGM9cy0uNSp0LW8sdT1zKy41KnQrbztsZXQgcD1oK2EqcixnPWgrKGErMS43NSppKSpyO2lmKGc8cCl7Y29uc3QgZT1wO3A9ZyxnPWV9aWYoKDAsbC5wb2ludEluQm94KShlLCgwLG4uYm94KShuZXcgbi5Qb2ludChjLHApLG5ldyBuLlBvaW50KHUsZykpKSlyZXR1cm4gbmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTtjb25zdCBfPVtuZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngsdGhpcy5fZGF0YS5wb2ludC55KSxuZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngrLjY1KmksdGhpcy5fZGF0YS5wb2ludC55K2kqciksbmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LS42NSppLHRoaXMuX2RhdGEucG9pbnQueStpKnIpXSx4PShlLngtX1swXS54KSooX1sxXS55LV9bMF0ueSktKGUueS1fWzBdLnkpKihfWzFdLngtX1swXS54KTtyZXR1cm4oKGUueC1fWzFdLngpKihfWzJdLnktX1sxXS55KS0oZS55LV9bMV0ueSkqKF9bMl0ueC1fWzFdLngpKSp4PjAmJigoZS54LV9bMl0ueCkqKF9bMF0ueS1fWzJdLnkpLShlLnktX1syXS55KSooX1swXS54LV9bMl0ueCkpKng+MD9uZXcgZC5IaXRUZXN0UmVzdWx0KGQuSGl0VGFyZ2V0LlJlZ3VsYXIpOm51bGx9X2ZvbnRTdHlsZSgpe3JldHVybih0aGlzLl9kYXRhLmJvbGQ/ImJvbGQgIjoiIikrKHRoaXMuX2RhdGEuaXRhbGljPyJpdGFsaWMgIjoiIikrYCR7dGhpcy5fZGF0YS5mb250U2l6ZX1weCAke3RoaXMuX2RhdGEuZm9udH1gfX1mdW5jdGlvbiBmKGUpe2lmKCJ1cCI9PT1lKXJldHVybiAxO2lmKCJkb3duIj09PWUpcmV0dXJuLTE7dGhyb3cgbmV3IEVycm9yKGAke2V9IGlzIG5vdCBzdXBwb3J0ZWQgYnkgVHJpYW5nbGVUZXh0TWFya1JlbmRlcmVyYCl9Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl90ZXh0Q2FjaGU9dH1kcmF3KGUsdCl7Y29uc3QgaT10aGlzLl9kYXRhLnBvaW50Lngscj10aGlzLl9kYXRhLnBvaW50Lnk7ZS5mb250PXRoaXMuX2ZvbnRTdHlsZSgpO2NvbnN0IG49ZS5tZWFzdXJlVGV4dCh0aGlzLl9kYXRhLnRleHQpLndpZHRoO3RoaXMuX3RleHRDYWNoZS50ZXh0V2lkdGg9biwoMCxoLmRyYXdTY2FsZWQpKGUsdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0LnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9Pntzd2l0Y2goZS50cmFuc2xhdGUoaSxyKSxlLmJlZ2luUGF0aCgpLGUubW92ZVRvKDAsMCksZS50ZXh0QWxpZ249dGhpcy5fZGF0YS5oYWxpZ24sdGhpcy5fZGF0YS52YWxpZ24pe2Nhc2UibWlkZGxlIjplLnRleHRCYXNlbGluZT0ibWlkZGxlIjticmVhaztjYXNlInRvcCI6ZS50ZXh0QmFzZWxpbmU9ImJvdHRvbSI7YnJlYWs7Y2FzZSJib3R0b20iOmUudGV4dEJhc2VsaW5lPSJoYW5naW5nIn1lLmZpbGxTdHlsZT10aGlzLl9kYXRhLmZvbnRDb2xvcixlLmZpbGxUZXh0KHRoaXMuX2RhdGEudGV4dCwwLDApfSkpfWhpdFRlc3QoZSl7bGV0IHQ9dGhpcy5fZGF0YS5wb2ludC54LGk9dGhpcy5fZGF0YS5wb2ludC55O2NvbnN0IHI9dGhpcy5fdGV4dENhY2hlLnRleHRXaWR0aHx8MCxvPXRoaXMuX2RhdGEuZm9udFNpemU7c3dpdGNoKHRoaXMuX2RhdGEuaGFsaWduKXtjYXNlInJpZ2h0Ijp0LT1yO2JyZWFrO2Nhc2UiY2VudGVyIjp0LT1yLzJ9c3dpdGNoKHRoaXMuX2RhdGEudmFsaWduKXtjYXNlIm1pZGRsZSI6aS09by8yO2JyZWFrO2Nhc2UiYm90dG9tIjppLT1vfWNvbnN0IGE9bmV3IG4uUG9pbnQodCxpKSxzPW5ldyBuLlBvaW50KHQrcixpK28pO3JldHVybigwLGwucG9pbnRJbkJveCkoZSwoMCxuLmJveCkoYSxzKSk/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfV9mb250U3R5bGUoKXtyZXR1cm4odGhpcy5fZGF0YS5ib2xkPyJib2xkICI6IiIpKyh0aGlzLl9kYXRhLml0YWxpYz8iaXRhbGljICI6IiIpK2Ake3RoaXMuX2RhdGEuZm9udFNpemV9cHggJHt0aGlzLl9kYXRhLmZvbnR9YH19dmFyIGc9aSgxNTk3MTApLF89aSg4NzM1NzMpO2NsYXNzIHggZXh0ZW5kcyBnLkxvY2F0aW9uVG9ZTWl4aW57Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5fZGF0YT1bXSx0aGlzLl90ZXh0Q2FjaGU9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10fXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpewp0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyO2ZvcihsZXQgdD0wO3Q8dGhpcy5fZGF0YS5sZW5ndGg7dCsrKXtjb25zdCBpPXRoaXMuX2RhdGFbdF0scj10aGlzLl90ZXh0Q2FjaGVbdF07c3dpdGNoKGkuc2hhcGUpe2Nhc2UidHJpYW5nbGUiOmUuYXBwZW5kKG5ldyB1KGkscikpO2JyZWFrO2Nhc2UicmVjdGFuZ2xlIjplLmFwcGVuZChuZXcgcChpLHIpKX19cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkudGV4dG1hcmtzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS50ZXh0bWFya3MpLGM9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5ncmFwaGljc0luZm8oKS50ZXh0bWFya3MpO2kuZm9yRWFjaCgoKGksYSk9Pntjb25zdCB1PSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVthXSkuY2hpbGRzKCksZj0oMCxyLmVuc3VyZURlZmluZWQpKGNbYV0pO3UudmlzaWJsZS52YWx1ZSgpJiZpLmZvckVhY2goKGk9PntsZXQgcj1pLnRpbWU7aWYocjxsfHxkPHIpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9wcm92aWRlci5zZXJpZXMoKS5iYXJzKCkudmFsdWVBdChyKSlyZXR1cm47cj1pLnRpbWUrKGkub2Zmc2V0fHwwKTtjb25zdCBhPXt0ZXh0OmkudGV4dD9pLnRleHQ6IiIsYm9sZDp1LmZvbnRCb2xkLnZhbHVlKCksaXRhbGljOnUuZm9udEl0YWxpYy52YWx1ZSgpLGZvbnQ6dS5mb250RmFtaWx5LnZhbHVlKCksZm9udENvbG9yOigwLF8uZ2VuZXJhdGVDb2xvcikodS5mb250Q29sb3IudmFsdWUoKSx1LnRyYW5zcGFyZW5jeS52YWx1ZSgpKSxmb250U2l6ZTp1LmZvbnRTaXplLnZhbHVlKCl9LGg9Zi5sb2NhdGlvbixjPWYuc2hhcGU7c3dpdGNoKGMpe2Nhc2Ugby5UZXh0TWFya1R5cGUuVHJpYW5nbGU6e2NvbnN0e3g6byx5OmwsZGlyZWN0aW9uOmR9PXRoaXMuX2NhbGNDb29yZHNGb3JUcmlhbmdsZVNoYXBlKGgsciw1MCxpLnByaWNlLHMsZSx0KTt0aGlzLl9kYXRhLnB1c2goe3NoYXBlOmMsY29sb3I6KDAsXy5nZW5lcmF0ZUNvbG9yKSh1LmNvbG9yLnZhbHVlKCksdS50cmFuc3BhcmVuY3kudmFsdWUoKSksYm9yZGVyQ29sb3I6InJnYigwLCAwLCAwKSIsZGlyZWN0aW9uOmQscG9pbnQ6bmV3IG4uUG9pbnQobyxsKSxoYWxpZ246Zi5oYWxpZ24sc2l6ZTouNSp0LmJhclNwYWNpbmcoKSwuLi5hfSl9YnJlYWs7Y2FzZSBvLlRleHRNYXJrVHlwZS5SZWN0YW5nbGU6e2NvbnN0e3g6byx5Omx9PXRoaXMuX2NhbGNDb29yZHNGb3JSZWN0YW5nbGVTaGFwZShoLHIsaS5wcmljZSxzLGUsdCk7dGhpcy5fZGF0YS5wdXNoKHtzaGFwZTpjLHBvaW50Om5ldyBuLlBvaW50KG8sbCksaGFsaWduOmYuaGFsaWduLHZhbGlnbjpmLnZhbGlnbj8/Im1pZGRsZSIsLi4uYX0pfX10aGlzLl90ZXh0Q2FjaGUucHVzaCh7fSl9KSl9KSl9X2NhbGNDb29yZHNGb3JUcmlhbmdsZVNoYXBlKGUsdCxpLG4sbyxzLGwpe2NvbnN0IGQ9TWF0aC5yb3VuZChsLmluZGV4VG9Db29yZGluYXRlKHQpKTtzd2l0Y2goZSl7Y2FzZSBhLk1hcmtMb2NhdGlvbi5Ub3A6cmV0dXJue3g6ZCx5OnMuaGVpZ2h0KCktaSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkJvdHRvbTpyZXR1cm57eDpkLHk6aSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZURvd246cmV0dXJue3g6ZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkFic29sdXRlVXA6cmV0dXJue3g6ZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpyZXR1cm57eDpkLHk6dGhpcy5fbG9jYXRpb25Ub1koZSx0KSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkJlbG93QmFyOnJldHVybnt4OmQseTp0aGlzLl9sb2NhdGlvblRvWShlLHQpLGRpcmVjdGlvbjoidXAifTtkZWZhdWx0OnJldHVybnt4OmQseTpOYU4sZGlyZWN0aW9uOiJ1cCJ9fX1fY2FsY0Nvb3Jkc0ZvclJlY3RhbmdsZVNoYXBlKGUsdCxpLG4sbyxzKXtjb25zdCBsPU1hdGgucm91bmQocy5pbmRleFRvQ29vcmRpbmF0ZSh0KSk7c3dpdGNoKGUpe2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVEb3duOmNhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVVcDpjYXNlIGEuTWFya0xvY2F0aW9uLkFic29sdXRlOnJldHVybnt4OmwseTpvLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaSksbil9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJvdmVCYXI6Y2FzZSBhLk1hcmtMb2NhdGlvbi5CZWxvd0JhcjpyZXR1cm57eDpsLHk6dGhpcy5fbG9jYXRpb25Ub1koZSx0KX07Y2FzZSBhLk1hcmtMb2NhdGlvbi5SaWdodDpjYXNlIGEuTWFya0xvY2F0aW9uLkxlZnQ6cmV0dXJue3g6cy53aWR0aCgpLHk6by5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkpLG4pfTtkZWZhdWx0OnJldHVybnt4OmwseTpOYU59fX19fSw3MDM4MDkoZSx0LGkpe2kuZCh0LHtjYWxjdWxhdGVGb250U2l6ZUZvckJveDooKT0+cCxnZXRGb250U2l6ZTooKT0+Zix0ZXh0Qm94RGF0YTooKT0+dX0pCjt2YXIgcj1pKDIwNjY3Myksbj1pKDczNjUzMSksbz1pKDU4OTUxMSksYT1pKDg4NDI4KSxzPWkoOTI2MTQ5KSxsPWkoMTk4OTAxKSxkPWkoNTkwODk0KSxoPWkoOTQxMTAwKTtjb25zdCBjPW5ldyBNYXA7ZnVuY3Rpb24gdShlLHQsaSxyLG8pe2xldCBsPWUsZD1hLkhvcml6b250YWxBbGlnbi5MZWZ0OyJjZW50ZXIiPT09by5ob3Jpem9udGFsVGV4dEFsaWdubWVudD8oZD1hLkhvcml6b250YWxBbGlnbi5DZW50ZXIsbCs9aS8yKToicmlnaHQiPT09by5ob3Jpem9udGFsVGV4dEFsaWdubWVudCYmKGQ9YS5Ib3Jpem9udGFsQWxpZ24uUmlnaHQsbCs9aS0xKTtsZXQgYz10LHU9YS5WZXJ0aWNhbEFsaWduLlRvcDsiY2VudGVyIj09PW8udmVydGljYWxUZXh0QWxpZ25tZW50Pyh1PWEuVmVydGljYWxBbGlnbi5NaWRkbGUsYys9ci8yKToiYm90dG9tIj09PW8udmVydGljYWxUZXh0QWxpZ25tZW50JiYodT1hLlZlcnRpY2FsQWxpZ24uQm90dG9tLGMrPXItMSk7Y29uc3R7Ym9sZDpwLGl0YWxpYzpnfT0oMCxoLmNvbnZlcnREd2dUZXh0Rm9ybWF0dGluZ1RvT2JqZWN0KShvLnRleHRGb3JtYXR0aW5nKTtyZXR1cm57cG9pbnRzOltuZXcgbi5Qb2ludChsLGMpXSx0ZXh0Om8udGV4dCxjb2xvcjpvLnRleHRDb2xvcixib2xkOnAsaXRhbGljOmcsdmVydEFsaWduOnUsaG9yekFsaWduOmQsZm9udDoibW9ub3NwYWNlIj09PW8uZm9udFR5cGU/cy5DSEFSVF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6cy5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGZvbnRTaXplOmYoby5zaXplT3B0aW9ucy5mb250U2l6ZSksb2Zmc2V0WDowLG9mZnNldFk6MH19ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxyLmRlZmF1bHQpKGUpP2U+MD9lOmMuZ2V0KG8uUGxvdFN5bWJvbFNpemUuQXV0byk6Yy5nZXQoZSl9ZnVuY3Rpb24gcChlLHQsaSxyLG4pe2NvbnN0IG89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTWF0aC5mbG9vciguOSp0LyhlKy4zMykpfShpLmxlbmd0aCxuKTtyZXR1cm4oMCxsLmxvd2VyYm91bmRFeHQpKChlPT5lKSx2b2lkIDAsKG49PmZ1bmN0aW9uKGUsdCxpLHIpe2UuZm9udD0oMCxkLm1ha2VGb250KShyLHQuZm9udCx0Lml0YWxpYz8iaXRhbGljICI6dm9pZCAwLHQuYm9sZD8iYm9sZCAiOnZvaWQgMCk7Y29uc3Qgbj1yLzM7cmV0dXJuIGkucmVkdWNlKCgodCxpKT0+TWF0aC5tYXgodCxlLm1lYXN1cmVUZXh0KGkpLndpZHRoK24pKSwwKX0oZSx0LGksbik8PXIpLDIsbyktMX1jLnNldChvLlBsb3RTeW1ib2xTaXplLkF1dG8sMTQpLGMuc2V0KG8uUGxvdFN5bWJvbFNpemUuVGlueSw4KSxjLnNldChvLlBsb3RTeW1ib2xTaXplLlNtYWxsLDEwKSxjLnNldChvLlBsb3RTeW1ib2xTaXplLk5vcm1hbCwxNCksYy5zZXQoby5QbG90U3ltYm9sU2l6ZS5MYXJnZSwyMCksYy5zZXQoby5QbG90U3ltYm9sU2l6ZS5IdWdlLDM2KX0sNDkxMTEzKGUsdCxpKXtpLnIodCksaS5kKHQse1RyZW5kQ2hhbm5lbFBhbmVWaWV3OigpPT5ofSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSgzNTE5MDApLGE9aSg3NjMpLHM9aSg3ODkxOTApLGw9aSgyNjA2OSksZD1pKDg4MDc2MSk7Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5fZGF0YT1bXSx0aGlzLl9oaXRUZXN0UmVzdWx0PXZvaWQgMCE9PWk/bmV3IGEuSGl0VGVzdFJlc3VsdChhLkhpdFRhcmdldC5DdXN0b20saSk6bmV3IGEuSGl0VGVzdFJlc3VsdChhLkhpdFRhcmdldC5SZWd1bGFyKX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyO2Zvcihjb25zdCB0IG9mIHRoaXMuX2RhdGEpe2NvbnN0IGk9bmV3IGQuUG9seWdvblJlbmRlcmVyKHRoaXMuX2hpdFRlc3RSZXN1bHQpO2kuc2V0RGF0YSh0KSxlLmFwcGVuZChpKX1yZXR1cm4gZX1fdXBkYXRlVmlld0ludGVybmFsKCl7dGhpcy5fZGF0YT1bXTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS50cmVuZGNoYW5uZWxzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbz10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm47Y29uc3QgYT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PWEpcmV0dXJuO2NvbnN0IHM9by5maXJzdEJhcigpLGQ9by5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS50cmVuZGNoYW5uZWxzKSx1PSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3NJbmZvKCkudHJlbmRjaGFubmVscyk7aS5mb3JFYWNoKCgoaSxvKT0+e2NvbnN0IGY9KDAsci5lbnN1cmVEZWZpbmVkKShoLmNoaWxkcygpW29dKS5jaGlsZHMoKSxwPSgwLHIuZW5zdXJlRGVmaW5lZCkodVtvXSk7aS5mb3JFYWNoKChpPT57Y29uc3Qgbz1pLnN0YXJ0SW5kZXgsaD1pLmVuZEluZGV4O2lmKE1hdGgubWF4KG8saCk8cyYmIWkuZXh0ZW5kUmlnaHR8fE1hdGgubWluKG8saCk+ZCYmIWkuZXh0ZW5kTGVmdClyZXR1cm47Y29uc3QgdT1lLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaS5zdGFydEhpZ2hQcmljZSksYSksZz1lLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaS5zdGFydExvd1ByaWNlKSxhKSxfPWUucHJpY2VUb0Nvb3JkaW5hdGUoKDAsCnIuZW5zdXJlRGVmaW5lZCkoaS5lbmRIaWdoUHJpY2UpLGEpLHg9Xy0odS1nKSx3PXQuaW5kZXhUb0Nvb3JkaW5hdGUobyksdj10LmluZGV4VG9Db29yZGluYXRlKGgpLFttLHldPWMobmV3IG4uUG9pbnQodyx1KSxuZXcgbi5Qb2ludCh2LF8pLHQud2lkdGgoKSxlLmhlaWdodCgpLGkuZXh0ZW5kTGVmdCxpLmV4dGVuZFJpZ2h0KSxbYixUXT1jKG5ldyBuLlBvaW50KHcsZyksbmV3IG4uUG9pbnQodix4KSx0LndpZHRoKCksZS5oZWlnaHQoKSxpLmV4dGVuZExlZnQsaS5leHRlbmRSaWdodCk7dGhpcy5fZGF0YS5wdXNoKHtwb2ludHM6W20sYixULHldLGNvbG9yOmYuY29sb3IudmFsdWUoKSxiYWNrY29sb3I6Zi5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpwLmJvcmRlcldpZHRoPz8wLGxpbmVzdHlsZTpsLkxJTkVTVFlMRV9TT0xJRCxmaWxsZWQ6ITAsZmlsbEJhY2tncm91bmQ6ITAsdHJhbnNwYXJlbmN5OmkudHJhbnNwYXJlbmN5P01hdGgubWluKGkudHJhbnNwYXJlbmN5K2YudHJhbnNwYXJlbmN5LnZhbHVlKCksMTAwKTpmLnRyYW5zcGFyZW5jeS52YWx1ZSgpfSl9KSl9KSl9fWZ1bmN0aW9uIGMoZSx0LGkscixhLHMpe2lmKCgwLG4uZXF1YWxQb2ludHMpKGUsdCkpcmV0dXJuW2UsdF07Y29uc3QgbD1uZXcgbi5Qb2ludCgwLDApLGQ9bmV3IG4uUG9pbnQoaSxyKTtpZihhKXtjb25zdCByPWUuc3VidHJhY3QodCksYT0oMCxvLmludGVyc2VjdFJheUFuZEJveCkoZSxlLmFkZChyKSwoMCxuLmJveCkobCxkKSk7YT9lPWE6dD1uZXcgbi5Qb2ludChpLHQueSl9aWYocyl7Y29uc3Qgcj10LnN1YnRyYWN0KGUpLGE9KDAsby5pbnRlcnNlY3RSYXlBbmRCb3gpKHQsdC5hZGQociksKDAsbi5ib3gpKGwsZCkpO3Q9YXx8bmV3IG4uUG9pbnQoaSx0LnkpfXJldHVybltlLHRdfX0sNjQ1NzE3KGUsdCxpKXtpLnIodCksaS5kKHQse1ZlcnRMaW5lUGFuZVZpZXc6KCk9Pmx9KTt2YXIgcj1pKDEzODYzOCksbj1pKDc2Myksbz1pKDY4NzU5MCksYT1pKDc4OTE5MCkscz1pKDU0MDg0NSk7Y2xhc3MgbHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5faGl0VGVzdFJlc3VsdD12b2lkIDAhPT1pP25ldyBuLkhpdFRlc3RSZXN1bHQobi5IaXRUYXJnZXQuQ3VzdG9tLGkpOm5ldyBuLkhpdFRlc3RSZXN1bHQobi5IaXRUYXJnZXQuUmVndWxhcil9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT1uZXcgYS5Db21wb3NpdGVSZW5kZXJlcjtmb3IoY29uc3QgdCBvZiB0aGlzLl9kYXRhKXtjb25zdCBpPW5ldyBzLlZlcnRpY2FsTGluZVJlbmRlcmVyO2kuc2V0RGF0YSh0KSxpLnNldEhpdFRlc3QodGhpcy5faGl0VGVzdFJlc3VsdCksZS5hcHBlbmQoaSl9cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLnZlcnRsaW5lcyxuPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkudmVydGxpbmVzKCk7aWYoMD09PW4uc2l6ZXx8dm9pZCAwPT09aSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS52ZXJ0bGluZXMpO24uZm9yRWFjaCgoKG4sYSk9Pntjb25zdCBjPSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVthXSkuY2hpbGRzKCksdT0oMCxyLmVuc3VyZURlZmluZWQpKGlbYV0pO2MudmlzaWJsZS52YWx1ZSgpJiZuLmZvckVhY2goKGk9Pntjb25zdCBuPWkuaW5kZXg7aWYobjxsfHxkPG4pcmV0dXJuO2NvbnN0e2xlZnQ6YSxjZW50ZXI6aCxyaWdodDpmfT10LmJhckJvcmRlcnMobik7bGV0IHA7c3dpdGNoKHUuaGFsaWduKXtjYXNlIG8uSEFsaWduLkxlZnQ6cD1hO2JyZWFrO2Nhc2Ugby5IQWxpZ24uUmlnaHQ6cD1mO2JyZWFrO2RlZmF1bHQ6cD1ofXRoaXMuX2RhdGEucHVzaCh7eDpwLHRvcDppLmV4dGVuZFRvcD92b2lkIDA6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuZW5kUHJpY2UpLHMpLGJvdHRvbTppLmV4dGVuZEJvdHRvbT92b2lkIDA6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuc3RhcnRQcmljZSkscyksY29sb3I6Yy5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpjLndpZHRoLnZhbHVlKCksbGluZXN0eWxlOmMuc3R5bGUudmFsdWUoKX0pfSkpfSkpfX19LDUwMTM2MyhlLHQsaSl7aS5kKHQse0xpbmVhclJlZ3Jlc3Npb25QYW5lVmlldzooKT0+aH0pO3ZhciByPWkoNzYzKSxuPWkoODczNTczKSxvPWkoNzg5MTkwKSxhPWkoNTcyNzk2KSxzPWkoNjY0ODE1KSxsPWkoNDcwOTg2KSxkPWkoNzQyMTQyKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fbGluZXM9W10sdGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXI9bmV3IGwuVGV4dFJlbmRlcmVyLHRoaXMuX3BlYXJzb25zPW51bGwsdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dH11cGRhdGUoKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBvLkNvbXBvc2l0ZVJlbmRlcmVyLHQ9W3RoaXMuX2xpbmVzWzFdLHRoaXMuX2xpbmVzWzBdLHRoaXMuX2xpbmVzWzJdXSxpPVtdCjtmb3IoY29uc3QgZSBvZiB0KWUmJmkucHVzaChlKTtmb3IobGV0IG89MTtvPGkubGVuZ3RoO28rKyl7Y29uc3QgaT10W29dLmNvbG9yLHM9dFtvXS5saW5ld2lkdGgsbD10W29dLmxpbmVzdHlsZSxkPXRbb10uZXh0ZW5kcmlnaHQsaD17bGluZTE6e2NvbG9yOmksbGluZVN0eWxlOmwsbGluZVdpZHRoOnMscG9pbnRzOlt0W29dLnBvaW50c1swXSx0W29dLnBvaW50c1sxXV19LGxpbmUyOntjb2xvcjppLGxpbmVTdHlsZTpsLGxpbmVXaWR0aDpzLHBvaW50czpbdFtvLTFdLnBvaW50c1swXSx0W28tMV0ucG9pbnRzWzFdXX0sZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDpkLGJhY2tDb2xvcjooMCxuLmdlbmVyYXRlQ29sb3IpKHRbb10uY29sb3IsdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5zdHlsZXMudHJhbnNwYXJlbmN5LnZhbHVlKCkpLHNraXBMaW5lczohMCxmaWxsQmFja2dyb3VuZDohMH0sYz1uZXcgYS5QYXJhbGxlbENoYW5uZWxSZW5kZXJlcihuZXcgci5IaXRUZXN0UmVzdWx0KHIuSGl0VGFyZ2V0LlJlZ3VsYXIpLG5ldyByLkhpdFRlc3RSZXN1bHQoci5IaXRUYXJnZXQuUmVndWxhcikpO2Muc2V0RGF0YShoKSxlLmFwcGVuZChjKX1mb3IoY29uc3QgdCBvZiBmdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pntjb25zdCB0PXsuLi5lfTtyZXR1cm4gdC5jb2xvcj0oMCxuLnJlc2V0VHJhbnNwYXJlbmN5KSh0LmNvbG9yKSx0fSkpfSh0aGlzLl9saW5lcykpe2NvbnN0IGk9bmV3IHMuVHJlbmRMaW5lUmVuZGVyZXI7aS5zZXREYXRhKHQpLGkuc2V0SGl0VGVzdChuZXcgci5IaXRUZXN0UmVzdWx0KHIuSGl0VGFyZ2V0LlJlZ3VsYXIpKSxlLmFwcGVuZChpKX1yZXR1cm4gdGhpcy5fcGVhcnNvbnMmJih0aGlzLl9wZWFyc29ucy5jb2xvcj0oMCxuLnJlc2V0VHJhbnNwYXJlbmN5KSh0aGlzLl9wZWFyc29ucy5jb2xvciksdGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXIuc2V0RGF0YSh0aGlzLl9wZWFyc29ucyksZS5hcHBlbmQodGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXIpKSxlfV91cGRhdGVJbXBsKCl7Y29uc3QgZT0oMCxkLnByZXBhcmVMaW5lYXJSZWdyZXNzaW9uUmVuZGVyZXJzRGF0YSkodGhpcy5fbW9kZWwsdGhpcy5fc291cmNlKTt0aGlzLl9saW5lcz1lLmxpbmVzLHRoaXMuX3BlYXJzb25zPWUucGVhcnNvbnN9fX19XSk7"}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/benefit-icon-1.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.244Z","timestamp":1785124875244,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/benefit-icon-1.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 4804\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-12c4\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":4804,"size_decoded":5029,"mime_type":"image/png","magic":"PNG image data, 125 x 125, 8-bit/color RGBA, non-interlaced","md5":"3d0b3e46f92eddf29a61eece32e23e7c","sha1":"0a900059cdc92771b7c6727d9c5d2a29904c464a","sha256":"bf466ba6ba8799b553adcb6d07d556fca6367bb552d3301ccbfb4e835e125e9e","sha512":"828bd71313ca93763d09940910922e52a1163b437acf2923e55cfc406d455b8e84fce6cdd93b0a51f09ad1136653c0c79bd1827940c0d8705d090907dc15c2fe","ssdeep":"96:ySK2fQaxolF+cmvvRGj7nMEK3vVzIPRx7ptHh9cEv8t4CC:B1HxqF03gwt3vmPRx7ptHSt1C","tlshash":"6da17e45db518e411e44a381389180b73c64cc5cdad46bceec95ccae347c4da956ddab","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.181319Z","times_seen":19,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAYAAACPgGwlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MjMwOEUwQTQ2NzUxMUVBOUY4Qjk0MDAyNjFFREM0QSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0MjMwOEUwQjQ2NzUxMUVBOUY4Qjk0MDAyNjFFREM0QSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQyMzA4RTA4NDY3NTExRUE5RjhCOTQwMDI2MUVEQzRBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQyMzA4RTA5NDY3NTExRUE5RjhCOTQwMDI2MUVEQzRBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ZYOOIAAADzlJREFUeNrsXQlwG9UZ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"}},"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/wow.min.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.220Z","timestamp":1785124875220,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/wow.min.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:43:34 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b76-1fab\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":8107,"size_decoded":3324,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (8051)","md5":"1e9116fe65d2344b4689a5eba2447462","sha1":"84c74a8c88b2fc9d2d8d8e1b90fc8322a667f697","sha256":"828a49558961d12d520f31a04957d50caab7af6ecb73c4b33c4d0527e7381159","sha512":"5b4a6ba394c34ae2aec016a0f4444f31d37377c139cf9a7b0665aa31f954b0637e8d6dc93eb56f1391791095c80e4def5fd618bc9f9f679e60ac853d987cef87","ssdeep":"192:umEE6yAmu6qUxbU5E9nrrJGkEPIAeJ3KO4poIR:3EE/Amu6qUxPB9GkAI///IR","tlshash":"07f1b9a4374a70718a9a6176c92f0202a532256a74d4c8ec757cddd4eeb4a2d336bf3c","first_seen":"2023-03-07T01:23:49Z","last_seen":"2026-07-27T05:21:09.059506Z","times_seen":1156,"resource_available":true,"data":"LyohIFdPVyB3b3cuanMgLSB2MS4yLjEgLSAyMDE2LTA5LTA1CiogaHR0cHM6Ly93b3dqcy51awoqIENvcHlyaWdodCAoYykgMjAxNiBUaG9tYXMgR3JhaW5nZXI7IExpY2Vuc2VkIE1JVCAqLyFmdW5jdGlvbihhLGIpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFsibW9kdWxlIiwiZXhwb3J0cyJdLGIpO2Vsc2UgaWYoInVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzKWIobW9kdWxlLGV4cG9ydHMpO2Vsc2V7dmFyIGM9e2V4cG9ydHM6e319O2IoYyxjLmV4cG9ydHMpLGEuV09XPWMuZXhwb3J0c319KHRoaXMsZnVuY3Rpb24oYSxiKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYyhhLGIpe2lmKCEoYSBpbnN0YW5jZW9mIGIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfWZ1bmN0aW9uIGQoYSxiKXtyZXR1cm4gYi5pbmRleE9mKGEpPj0wfWZ1bmN0aW9uIGUoYSxiKXtmb3IodmFyIGMgaW4gYilpZihudWxsPT1hW2NdKXt2YXIgZD1iW2NdO2FbY109ZH1yZXR1cm4gYX1mdW5jdGlvbiBmKGEpe3JldHVybi9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChhKX1mdW5jdGlvbiBnKGEpe3ZhciBiPWFyZ3VtZW50cy5sZW5ndGg8PTF8fHZvaWQgMD09PWFyZ3VtZW50c1sxXT8hMTphcmd1bWVudHNbMV0sYz1hcmd1bWVudHMubGVuZ3RoPD0yfHx2b2lkIDA9PT1hcmd1bWVudHNbMl0/ITE6YXJndW1lbnRzWzJdLGQ9YXJndW1lbnRzLmxlbmd0aDw9M3x8dm9pZCAwPT09YXJndW1lbnRzWzNdP251bGw6YXJndW1lbnRzWzNdLGU9dm9pZCAwO3JldHVybiBudWxsIT1kb2N1bWVudC5jcmVhdGVFdmVudD8oZT1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxlLmluaXRDdXN0b21FdmVudChhLGIsYyxkKSk6bnVsbCE9ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3Q/KGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKSxlLmV2ZW50VHlwZT1hKTplLmV2ZW50TmFtZT1hLGV9ZnVuY3Rpb24gaChhLGIpe251bGwhPWEuZGlzcGF0Y2hFdmVudD9hLmRpc3BhdGNoRXZlbnQoYik6YiBpbihudWxsIT1hKT9hW2JdKCk6Im9uIitiIGluKG51bGwhPWEpJiZhWyJvbiIrYl0oKX1mdW5jdGlvbiBpKGEsYixjKXtudWxsIT1hLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYywhMSk6bnVsbCE9YS5hdHRhY2hFdmVudD9hLmF0dGFjaEV2ZW50KCJvbiIrYixjKTphW2JdPWN9ZnVuY3Rpb24gaihhLGIsYyl7bnVsbCE9YS5yZW1vdmVFdmVudExpc3RlbmVyP2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpOm51bGwhPWEuZGV0YWNoRXZlbnQ/YS5kZXRhY2hFdmVudCgib24iK2IsYyk6ZGVsZXRlIGFbYl19ZnVuY3Rpb24gaygpe3JldHVybiJpbm5lckhlaWdodCJpbiB3aW5kb3c/d2luZG93LmlubmVySGVpZ2h0OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9T2JqZWN0LmRlZmluZVByb3BlcnR5KGIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBsLG0sbj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXTtkLmVudW1lcmFibGU9ZC5lbnVtZXJhYmxlfHwhMSxkLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gZCYmKGQud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGQua2V5LGQpfX1yZXR1cm4gZnVuY3Rpb24oYixjLGQpe3JldHVybiBjJiZhKGIucHJvdG90eXBlLGMpLGQmJmEoYixkKSxifX0oKSxvPXdpbmRvdy5XZWFrTWFwfHx3aW5kb3cuTW96V2Vha01hcHx8ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Yyh0aGlzLGEpLHRoaXMua2V5cz1bXSx0aGlzLnZhbHVlcz1bXX1yZXR1cm4gbihhLFt7a2V5OiJnZXQiLHZhbHVlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8dGhpcy5rZXlzLmxlbmd0aDtiKyspe3ZhciBjPXRoaXMua2V5c1tiXTtpZihjPT09YSlyZXR1cm4gdGhpcy52YWx1ZXNbYl19fX0se2tleToic2V0Iix2YWx1ZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8dGhpcy5rZXlzLmxlbmd0aDtjKyspe3ZhciBkPXRoaXMua2V5c1tjXTtpZihkPT09YSlyZXR1cm4gdGhpcy52YWx1ZXNbY109Yix0aGlzfXJldHVybiB0aGlzLmtleXMucHVzaChhKSx0aGlzLnZhbHVlcy5wdXNoKGIpLHRoaXN9fV0pLGF9KCkscD13aW5kb3cuTXV0YXRpb25PYnNlcnZlcnx8d2luZG93LldlYmtpdE11dGF0aW9uT2JzZXJ2ZXJ8fHdpbmRvdy5Nb3pNdXRhdGlvbk9ic2VydmVyfHwobT1sPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe2ModGhpcyxhKSwidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJm51bGwhPT1jb25zb2xlJiYoY29uc29sZS53YXJuKCJNdXRhdGlvbk9ic2VydmVyIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyLiIpLGNvbnNvbGUud2FybigiV09XLmpzIGNhbm5vdCBkZXRlY3QgZG9tIG11dGF0aW9ucywgcGxlYXNlIGNhbGwgLnN5bmMoKSBhZnRlciBsb2FkaW5nIG5ldyBjb250ZW50LiIpKX1yZXR1cm4gbihhLFt7a2V5OiJvYnNlcnZlIix2YWx1ZTpmdW5jdGlvbigpe319XSksYX0oKSxsLm5vdFN1cHBvcnRlZD0hMCxtKSxxPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlfHxmdW5jdGlvbihhKXt2YXIgYj0vKFwtKFthLXpdKXsxfSkvZztyZXR1cm57Z2V0UHJvcGVydHlWYWx1ZTpmdW5jdGlvbihjKXsiZmxvYXQiPT09YyYmKGM9InN0eWxlRmxvYXQiKSxiLnRlc3QoYykmJmMucmVwbGFjZShiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBlckNhc2UoKX0pO3ZhciBkPWEuY3VycmVudFN0eWxlO3JldHVybihudWxsIT1kP2RbY106dm9pZCAwKXx8bnVsbH19fSxyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3ZhciBiPWFyZ3VtZW50cy5sZW5ndGg8PTB8fHZvaWQgMD09PWFyZ3VtZW50c1swXT97fTphcmd1bWVudHNbMF07Yyh0aGlzLGEpLHRoaXMuZGVmYXVsdHM9e2JveENsYXNzOiJ3b3ciLGFuaW1hdGVDbGFzczoiYW5pbWF0ZWQiLG9mZnNldDowLG1vYmlsZTohMCxsaXZlOiEwLGNhbGxiYWNrOm51bGwsc2Nyb2xsQ29udGFpbmVyOm51bGx9LHRoaXMuYW5pbWF0ZT1mdW5jdGlvbigpe3JldHVybiJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93P2Z1bmN0aW9uKGEpe3JldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYSgpfX0oKSx0aGlzLnZlbmRvcnM9WyJtb3oiLCJ3ZWJraXQiXSx0aGlzLnN0YXJ0PXRoaXMuc3RhcnQuYmluZCh0aGlzKSx0aGlzLnJlc2V0QW5pbWF0aW9uPXRoaXMucmVzZXRBbmltYXRpb24uYmluZCh0aGlzKSx0aGlzLnNjcm9sbEhhbmRsZXI9dGhpcy5zY3JvbGxIYW5kbGVyLmJpbmQodGhpcyksdGhpcy5zY3JvbGxDYWxsYmFjaz10aGlzLnNjcm9sbENhbGxiYWNrLmJpbmQodGhpcyksdGhpcy5zY3JvbGxlZD0hMCx0aGlzLmNvbmZpZz1lKGIsdGhpcy5kZWZhdWx0cyksbnVsbCE9Yi5zY3JvbGxDb250YWluZXImJih0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihiLnNjcm9sbENvbnRhaW5lcikpLHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlPW5ldyBvLHRoaXMud293RXZlbnQ9Zyh0aGlzLmNvbmZpZy5ib3hDbGFzcyl9cmV0dXJuIG4oYSxbe2tleToiaW5pdCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQ9d2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkKGRvY3VtZW50LnJlYWR5U3RhdGUsWyJpbnRlcmFjdGl2ZSIsImNvbXBsZXRlIl0pP3RoaXMuc3RhcnQoKTppKGRvY3VtZW50LCJET01Db250ZW50TG9hZGVkIix0aGlzLnN0YXJ0KSx0aGlzLmZpbmlzaGVkPVtdfX0se2tleToic3RhcnQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZih0aGlzLnN0b3BwZWQ9ITEsdGhpcy5ib3hlcz1bXS5zbGljZS5jYWxsKHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuIit0aGlzLmNvbmZpZy5ib3hDbGFzcykpLHRoaXMuYWxsPXRoaXMuYm94ZXMuc2xpY2UoMCksdGhpcy5ib3hlcy5sZW5ndGgpaWYodGhpcy5kaXNhYmxlZCgpKXRoaXMucmVzZXRTdHlsZSgpO2Vsc2UgZm9yKHZhciBiPTA7Yjx0aGlzLmJveGVzLmxlbmd0aDtiKyspe3ZhciBjPXRoaXMuYm94ZXNbYl07dGhpcy5hcHBseVN0eWxlKGMsITApfWlmKHRoaXMuZGlzYWJsZWQoKXx8KGkodGhpcy5jb25maWcuc2Nyb2xsQ29udGFpbmVyfHx3aW5kb3csInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyKSxpKHdpbmRvdywicmVzaXplIix0aGlzLnNjcm9sbEhhbmRsZXIpLHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwodGhpcy5zY3JvbGxDYWxsYmFjayw1MCkpLHRoaXMuY29uZmlnLmxpdmUpe3ZhciBkPW5ldyBwKGZ1bmN0aW9uKGIpe2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7YysrKWZvcih2YXIgZD1iW2NdLGU9MDtlPGQuYWRkZWROb2Rlcy5sZW5ndGg7ZSsrKXt2YXIgZj1kLmFkZGVkTm9kZXNbZV07YS5kb1N5bmMoZil9fSk7ZC5vYnNlcnZlKGRvY3VtZW50LmJvZHkse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSl9fX0se2tleToic3RvcCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnN0b3BwZWQ9ITAsaih0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXJ8fHdpbmRvdywic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXIpLGood2luZG93LCJyZXNpemUiLHRoaXMuc2Nyb2xsSGFuZGxlciksbnVsbCE9dGhpcy5pbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKX19LHtrZXk6InN5bmMiLHZhbHVlOmZ1bmN0aW9uKCl7cC5ub3RTdXBwb3J0ZWQmJnRoaXMuZG9TeW5jKHRoaXMuZWxlbWVudCl9fSx7a2V5OiJkb1N5bmMiLHZhbHVlOmZ1bmN0aW9uKGEpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgYSYmbnVsbCE9PWF8fChhPXRoaXMuZWxlbWVudCksMT09PWEubm9kZVR5cGUpe2E9YS5wYXJlbnROb2RlfHxhO2Zvcih2YXIgYj1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3RoaXMuY29uZmlnLmJveENsYXNzKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBlPWJbY107ZChlLHRoaXMuYWxsKXx8KHRoaXMuYm94ZXMucHVzaChlKSx0aGlzLmFsbC5wdXNoKGUpLHRoaXMuc3RvcHBlZHx8dGhpcy5kaXNhYmxlZCgpP3RoaXMucmVzZXRTdHlsZSgpOnRoaXMuYXBwbHlTdHlsZShlLCEwKSx0aGlzLnNjcm9sbGVkPSEwKX19fX0se2tleToic2hvdyIsdmFsdWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXBwbHlTdHlsZShhKSxhLmNsYXNzTmFtZT1hLmNsYXNzTmFtZSsiICIrdGhpcy5jb25maWcuYW5pbWF0ZUNsYXNzLG51bGwhPXRoaXMuY29uZmlnLmNhbGxiYWNrJiZ0aGlzLmNvbmZpZy5jYWxsYmFjayhhKSxoKGEsdGhpcy53b3dFdmVudCksaShhLCJhbmltYXRpb25lbmQiLHRoaXMucmVzZXRBbmltYXRpb24pLGkoYSwib2FuaW1hdGlvbmVuZCIsdGhpcy5yZXNldEFuaW1hdGlvbiksaShhLCJ3ZWJraXRBbmltYXRpb25FbmQiLHRoaXMucmVzZXRBbmltYXRpb24pLGkoYSwiTVNBbmltYXRpb25FbmQiLHRoaXMucmVzZXRBbmltYXRpb24pLGF9fSx7a2V5OiJhcHBseVN0eWxlIix2YWx1ZTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMsZD1hLmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctZHVyYXRpb24iKSxlPWEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1kZWxheSIpLGY9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LWl0ZXJhdGlvbiIpO3JldHVybiB0aGlzLmFuaW1hdGUoZnVuY3Rpb24oKXtyZXR1cm4gYy5jdXN0b21TdHlsZShhLGIsZCxlLGYpfSl9fSx7a2V5OiJyZXNldFN0eWxlIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5ib3hlcy5sZW5ndGg7YSsrKXt2YXIgYj10aGlzLmJveGVzW2FdO2Iuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSJ9fX0se2tleToicmVzZXRBbmltYXRpb24iLHZhbHVlOmZ1bmN0aW9uKGEpe2lmKGEudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImFuaW1hdGlvbmVuZCIpPj0wKXt2YXIgYj1hLnRhcmdldHx8YS5zcmNFbGVtZW50O2IuY2xhc3NOYW1lPWIuY2xhc3NOYW1lLnJlcGxhY2UodGhpcy5jb25maWcuYW5pbWF0ZUNsYXNzLCIiKS50cmltKCl9fX0se2tleToiY3VzdG9tU3R5bGUiLHZhbHVlOmZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGImJnRoaXMuY2FjaGVBbmltYXRpb25OYW1lKGEpLGEuc3R5bGUudmlzaWJpbGl0eT1iPyJoaWRkZW4iOiJ2aXNpYmxlIixjJiZ0aGlzLnZlbmRvclNldChhLnN0eWxlLHthbmltYXRpb25EdXJhdGlvbjpjfSksZCYmdGhpcy52ZW5kb3JTZXQoYS5zdHlsZSx7YW5pbWF0aW9uRGVsYXk6ZH0pLGUmJnRoaXMudmVuZG9yU2V0KGEuc3R5bGUse2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OmV9KSx0aGlzLnZlbmRvclNldChhLnN0eWxlLHthbmltYXRpb25OYW1lOmI/Im5vbmUiOnRoaXMuY2FjaGVkQW5pbWF0aW9uTmFtZShhKX0pLGF9fSx7a2V5OiJ2ZW5kb3JTZXQiLHZhbHVlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGIpaWYoYi5oYXNPd25Qcm9wZXJ0eShjKSl7dmFyIGQ9YltjXTthWyIiK2NdPWQ7Zm9yKHZhciBlPTA7ZTx0aGlzLnZlbmRvcnMubGVuZ3RoO2UrKyl7dmFyIGY9dGhpcy52ZW5kb3JzW2VdO2FbIiIrZitjLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Muc3Vic3RyKDEpXT1kfX19fSx7a2V5OiJ2ZW5kb3JDU1MiLHZhbHVlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXEoYSksZD1jLmdldFByb3BlcnR5Q1NTVmFsdWUoYiksZT0wO2U8dGhpcy52ZW5kb3JzLmxlbmd0aDtlKyspe3ZhciBmPXRoaXMudmVuZG9yc1tlXTtkPWR8fGMuZ2V0UHJvcGVydHlDU1NWYWx1ZSgiLSIrZisiLSIrYil9cmV0dXJuIGR9fSx7a2V5OiJhbmltYXRpb25OYW1lIix2YWx1ZTpmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7dHJ5e2I9dGhpcy52ZW5kb3JDU1MoYSwiYW5pbWF0aW9uLW5hbWUiKS5jc3NUZXh0fWNhdGNoKGMpe2I9cShhKS5nZXRQcm9wZXJ0eVZhbHVlKCJhbmltYXRpb24tbmFtZSIpfXJldHVybiJub25lIj09PWI/IiI6Yn19LHtrZXk6ImNhY2hlQW5pbWF0aW9uTmFtZSIsdmFsdWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLnNldChhLHRoaXMuYW5pbWF0aW9uTmFtZShhKSl9fSx7a2V5OiJjYWNoZWRBbmltYXRpb25OYW1lIix2YWx1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hbmltYXRpb25OYW1lQ2FjaGUuZ2V0KGEpfX0se2tleToic2Nyb2xsSGFuZGxlciIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGVkPSEwfX0se2tleToic2Nyb2xsQ2FsbGJhY2siLHZhbHVlOmZ1bmN0aW9uKCl7aWYodGhpcy5zY3JvbGxlZCl7dGhpcy5zY3JvbGxlZD0hMTtmb3IodmFyIGE9W10sYj0wO2I8dGhpcy5ib3hlcy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLmJveGVzW2JdO2lmKGMpe2lmKHRoaXMuaXNWaXNpYmxlKGMpKXt0aGlzLnNob3coYyk7Y29udGludWV9YS5wdXNoKGMpfX10aGlzLmJveGVzPWEsdGhpcy5ib3hlcy5sZW5ndGh8fHRoaXMuY29uZmlnLmxpdmV8fHRoaXMuc3RvcCgpfX19LHtrZXk6Im9mZnNldFRvcCIsdmFsdWU6ZnVuY3Rpb24oYSl7Zm9yKDt2b2lkIDA9PT1hLm9mZnNldFRvcDspYT1hLnBhcmVudE5vZGU7Zm9yKHZhciBiPWEub2Zmc2V0VG9wO2Eub2Zmc2V0UGFyZW50OylhPWEub2Zmc2V0UGFyZW50LGIrPWEub2Zmc2V0VG9wO3JldHVybiBifX0se2tleToiaXNWaXNpYmxlIix2YWx1ZTpmdW5jdGlvbihhKXt2YXIgYj1hLmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctb2Zmc2V0Iil8fHRoaXMuY29uZmlnLm9mZnNldCxjPXRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lciYmdGhpcy5jb25maWcuc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcHx8d2luZG93LnBhZ2VZT2Zmc2V0LGQ9YytNYXRoLm1pbih0aGlzLmVsZW1lbnQuY2xpZW50SGVpZ2h0LGsoKSktYixlPXRoaXMub2Zmc2V0VG9wKGEpLGY9ZSthLmNsaWVudEhlaWdodDtyZXR1cm4gZD49ZSYmZj49Y319LHtrZXk6ImRpc2FibGVkIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiF0aGlzLmNvbmZpZy5tb2JpbGUmJmYobmF2aWdhdG9yLnVzZXJBZ2VudCl9fV0pLGF9KCk7YlsiZGVmYXVsdCJdPXIsYS5leHBvcnRzPWJbImRlZmF1bHQiXX0pOw=="}},"time_used":63,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":63,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.870Z","timestamp":1785124875870,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-ab54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: df8eb2506fb5227a38a2421fbf698202\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-27T06:16:23.019163Z","times_seen":875,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.886Z","timestamp":1785124875886,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-4b09f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dbd4c93598c17c40ab92eaed07c4649f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":307359,"size_decoded":95622,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-27T06:24:31.657426Z","times_seen":120,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw3NzAzOCw4MDkzOSw4NTQzNF0sezY2ODI5NihlKXtlLmV4cG9ydHM9e319LDg2MDU0OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLHN0YXR1c2VzV3JhcDoic3RhdHVzZXNXcmFwLVVSSWpFQjk4IixzbWFsbDoic21hbGwtVVJJakVCOTgiLG1lZGl1bToibWVkaXVtLVVSSWpFQjk4IixsYXJnZToibGFyZ2UtVVJJakVCOTgiLGJsaW5raW5nOiJibGlua2luZy1VUklqRUI5OCIsc3RhdHVzSXRlbToic3RhdHVzSXRlbS1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbiI6ImJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3BlbjoibWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ2xvc2U6Im1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4IixtYXJrZXRTdGF0dXNQcmU6Im1hcmtldFN0YXR1c1ByZS1VUklqRUI5OCIsbWFya2V0U3RhdHVzUG9zdDoibWFya2V0U3RhdHVzUG9zdC1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3Zlcm5pZ2h0OiJtYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTgiLG1hcmtldFN0YXR1c0hvbGlkYXk6Im1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTgiLG1hcmtldFN0YXR1c0RlbGlzdGVkOiJtYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzRXhwaXJlZDoibWFya2V0U3RhdHVzRXhwaXJlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ3VzdG9tOiJtYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTgiLGludmFsaWRTeW1ib2w6ImludmFsaWRTeW1ib2wtVVJJakVCOTgiLGFjdGl2ZVN0cmF0ZWd5OiJhY3RpdmVTdHJhdGVneS1VUklqRUI5OCIsYWxlcnQ6ImFsZXJ0LVVSSWpFQjk4IixhbGVydEl0ZW1zQ29udGFpbmVyOiJhbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4IixhbGVydEl0ZW06ImFsZXJ0SXRlbS1VUklqRUI5OCIscmVwbGF5TW9kZUF1dG9QbGF5OiJyZXBsYXlNb2RlQXV0b1BsYXktVVJJakVCOTgiLHJlcGxheU1vZGVQYXVzZToicmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4IixyZXBsYXlNb2RlUG9pbnRTZWxlY3Q6InJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbi1jdXN0b20iOiJibGlua2luZy1hbmltYXRpb24tY3VzdG9tLVVSSWpFQjk4Iixub3RBY2N1cmF0ZToibm90QWNjdXJhdGUtVVJJakVCOTgiLG9wZW5lZEluUGluZUVkaXRvcjoib3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4IixvcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcjoib3BlbmVkSW5EZXRhY2hlZFBpbmVFZGl0b3ItVVJJakVCOTgiLGRlbGF5OiJkZWxheS1VUklqRUI5OCIsZW9kOiJlb2QtVVJJakVCOTgiLGRhdGFQcm9ibGVtSGlnaDoiZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4IixkYXRhUHJvYmxlbUxvdzoiZGF0YVByb2JsZW1Mb3ctVVJJakVCOTgiLGhhc0Vycm9yOiJoYXNFcnJvci1VUklqRUI5OCIsdXBkYXRlQXZhaWxhYmxlOiJ1cGRhdGVBdmFpbGFibGUtVVJJakVCOTgifX0sMTE0MDY4KGUpe2UuZXhwb3J0cz17ImNvbW1vbi10b29sdGlwIjoiY29tbW9uLXRvb2x0aXAtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0taGlkZGVuIjoiY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsIjoiY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZmFydGhlciI6ImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsIjoiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtZmFydGhlciI6ImNvbW1vbi10b29sdGlwLWZhcnRoZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCI6ImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHkiOiJjb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIjoiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2J1dHRvbiI6ImNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIjoiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ciOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleS1FSkJEOTZ6WCIsCiJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jayI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dCI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduIjoiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WCJ9fSwxMjQzMjcoZSl7ZS5leHBvcnRzPXt9fSwzMjA0MDMoZSx0KXsidXNlIHN0cmljdCI7dmFyIHMsaT0hKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93fHwhd2luZG93LmRvY3VtZW50fHwhd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO2Z1bmN0aW9uIG4oKXtpZihzKXJldHVybiBzO2lmKCFpfHwhd2luZG93LmRvY3VtZW50LmJvZHkpcmV0dXJuImluZGV0ZXJtaW5hdGUiO3ZhciBlPXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQUJDRCIpKSxlLmRpcj0icnRsIixlLnN0eWxlLmZvbnRTaXplPSIxNHB4IixlLnN0eWxlLndpZHRoPSI0cHgiLGUuc3R5bGUuaGVpZ2h0PSIxcHgiLGUuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixlLnN0eWxlLnRvcD0iLTEwMDBweCIsZS5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHM9InJldmVyc2UiLGUuc2Nyb2xsTGVmdD4wP3M9ImRlZmF1bHQiOihlLnNjcm9sbExlZnQ9MSwwPT09ZS5zY3JvbGxMZWZ0JiYocz0ibmVnYXRpdmUiKSksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKSxzfXQuZGV0ZWN0U2Nyb2xsVHlwZT1uLHQuZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQ9ZnVuY3Rpb24oZSx0KXt2YXIgcz1lLnNjcm9sbExlZnQ7aWYoInJ0bCIhPT10KXJldHVybiBzO3ZhciBpPW4oKTtpZigiaW5kZXRlcm1pbmF0ZSI9PT1pKXJldHVybiBOdW1iZXIuTmFOO3N3aXRjaChpKXtjYXNlIm5lZ2F0aXZlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoK3M7Y2FzZSJyZXZlcnNlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoLXN9cmV0dXJuIHN9fSw0NDM3NzYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzKDEyNDMyNykscyg5MjY0MTUpLHMoMjc3MDI5KSxzKDIyMjk4NikscygzMTQxMzMpO3ZhciBpPXMoMzE4OTc0KSxuPShzKDQyOTY2KSxzKDgyOTE4MCkscyg3MjI1NzEpLHMoMjg0NDg0KSxzKDU2OTgxOSkscyg1NjkzOTgpLHMoOTMyMzY1KSxzKDg0Mjk4Mykscyg5MzA1NjYpKSxyPShzKDIzMzM5OSkscygxMzg2MzgpKSxvPXMoOTMwMjMxKTsoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpJiZuLnN5bmModm9pZCAwKTt2YXIgYT1zKDc5NDgxMiksbD1zKDc4MzI1NCksdT1zKDk4ODc3NiksYz1zKDI4NjQxMyksZD1zKDk1MTQ2OSksaD1zKDY4Mjc3OSkscD1zKDIyNTI5OCksbT1zKDM0NDEwMyksXz1zLm4obSksZz1zKDkwNjU5MykseT1zLm4oZyksZj1zKDE1OTUxMyksdj1zKDEyODk5OCksYj1zKDI1NDY3MyksUz1zKDQ2NTEzNyk7ZnVuY3Rpb24gdygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDk4MTExKSxzLmUoMjA1OTApLHMuZSg5MzA2NildKS50aGVuKHMuYmluZChzLDM4MTg1MCkpfXZhciBQPXMoMjMyMzY0KTtjbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5fdmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzRmlyc3RTaG93PSEwLHRoaXMuX2RpYWxvZ1Byb21pc2U9bnVsbCx0aGlzLl9kaWFsb2c9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1zaG93KGUsdCxzKXt0aGlzLl9pc0ZpcnN0U2hvdyYmKHRoaXMuX2lzRmlyc3RTaG93PSExLHRoaXMuX29uRmlyc3RTaG93KCkpO2NvbnN0IGk9QXJyYXkuaXNBcnJheShlKT9lOltdLG49QXJyYXkuaXNBcnJheShlKT92b2lkIDA6ZTtudWxsPT09dGhpcy5fZGlhbG9nJiZ0aGlzLl9yZXF1ZXN0RGlhbG9nKGksdCxzLG4pLHRoaXMuX2RpYWxvZz8ub3BlbihpLHZvaWQgMCx0LHMsbil9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfWdldERpYWxvZygpe3JldHVybiB0aGlzLl9kaWFsb2d9cmVzZXRBbGxQYWdlcygpe3RoaXMuX2RpYWxvZz8ucmVzZXRBbGxTdHVkaWVzKCl9X29uRmlyc3RTaG93KCl7fV9vbkRpYWxvZ0hpZGRlbigpe31fcmVxdWVzdERpYWxvZyhlLHQscyxpKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RpYWxvZ1Byb21pc2UmJih0aGlzLl9kaWFsb2dQcm9taXNlPXRoaXMuX2NyZWF0ZURpYWxvZygpLnRoZW4oKG49Pnt0aGlzLl9kaWFsb2c9bix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSksZXx8dGhpcy5fb25EaWFsb2dIaWRkZW4oKX0pKSx0aGlzLl9kaWFsb2cub3BlbihlLHZvaWQgMCx0LHMsaSl9KSkpLHRoaXMuX2RpYWxvZ1Byb21pc2V9fWNsYXNzIEMgZXh0ZW5kcyBUe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2U9ZSx0aGlzLl9vcHRpb25zPXR9YXN5bmMgX2NyZWF0ZURpYWxvZygpewpyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU5ODI5KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDk0OCkscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDcyNjY2KSxzLmUoMTAzODUpLHMuZSg1MjA2NSkscy5lKDY2MDUpLHMuZSgzMjE3Nikscy5lKDcxNDgyKSxzLmUoODg2NDEpLHMuZSg3MDY1Nikscy5lKDM5MTYpLHMuZSg2ODk2NCkscy5lKDQyNzIxKSxzLmUoMTc3NTEpLHMuZSgyOTMxNSkscy5lKDE0NjU3KSxzLmUoNTExODQpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoMTY5NDkpXSkudGhlbihzLmJpbmQocyw4ODUyMTgpKSkuU3R1ZHlUZWNobmljYWxzU2VhcmNoRGlhbG9nKSh0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2UsdGhpcy5fb3B0aW9ucyl9fXZhciBFPXMoNjAxODQxKSxJPXMoNjc4Mjg1KSxMPXMoMzY4MTEwKSxNPXMoNDczMzE4KSxEPXMoODY3ODMxKTthc3luYyBmdW5jdGlvbiB4KGUsdCxzLGkpe2NvbnN0IG49ZS5tb2RlbCgpLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKHQscyxpKTtyZXR1cm4gbi5zZXRTdGF0dXMoe3R5cGU6RC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6RGF0ZS5ub3coKX0pLG59Y2xhc3MgUntjb25zdHJ1Y3RvcihlKXt0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249ZX1hc3luYyBpbnNlcnRTdHVkeShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e2Rlc2NyaXB0b3I6cyxpbnNlcnRpb25JbmZvOmkscGFyZW50SWRzOm49W10sc3ltYm9sOnIsb25JbnNlcnRTdGFydDpvfT1lLGE9aS5zdHViVGl0bGU/PyIiLGw9YXdhaXQoMCxNLndhaXRGb3JNb2RlbCkodCk7aWYoaS5pc0Z1bmRhbWVudGFsKXtjb25zdCBlPXZvaWQgMCE9PXI/ZnVuY3Rpb24oZSl7cmV0dXJuKHQscyxpKT0+e2NvbnN0IG49e30scj1pLnN5bWJvbElucHV0SWQoKTtyZXR1cm4gciYmKG5bcl09ZSkse2lucHV0czpuLHBhcmVudFNvdXJjZXM6W119fX0ocik6dm9pZCAwLG49YXdhaXQgeCh0LGEsITEscyksbD1hd2FpdCB0LnJlcGxhY2VTdHViQnlTdHVkeShuLHMsW10saSxlLG8pO3JldHVybiBsPy5tZXRhSW5mbygpPz9udWxsfWNvbnN0IHU9bi5tYXAoKGU9PmwuZ2V0U3R1ZHlCeUlkKGUpKSkuZmlsdGVyKEUubm90TnVsbCk7aWYodm9pZCAwIT09aS5pc092ZXJsYXkmJiJwaW5lIj09PXMudHlwZSl7Y29uc3QgZT1hd2FpdCB4KHQsYSxpLmlzT3ZlcmxheSxzKSxuPWF3YWl0IHQucmVwbGFjZVN0dWJCeVN0dWR5KGUscyx1LGksdm9pZCAwLG8pO3JldHVybiBuPy5tZXRhSW5mbygpPz9udWxsfWlmKCJqYXZhIj09PXMudHlwZSl7Y29uc3QgZT0oMCxMLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkocy5zdHVkeUlkKTtpZihudWxsIT09ZSlyZXR1cm4gYXdhaXQoMCxMLmluaXRMaW5lVG9vbCkoZSksSS50b29sLnNldFZhbHVlKGUpLG51bGx9Y29uc3QgYz1hd2FpdCB0Lmluc2VydFN0dWR5KHMsdSxpLHZvaWQgMCxvKTtyZXR1cm4gYz8ubWV0YUluZm8oKT8/bnVsbH1nZXRTdHVkeU9uU3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0Q2hpbGRTdHVkeUNvdW50ZXIoKT8/MH1nZXRGdW5kYW1lbnRhbFN0dWRpZXNDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0RnVuZGFtZW50YWxDb3VudGVyKCk/PzB9Z2V0U3R1ZGllc0NvdW50ZXIoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJXaWRnZXRNb2RlbCgpLnZhbHVlKCk/Lm1vZGVsKCkuY2hhcnRBcGkoKS5nZXRTdHVkeUNvdW50ZXIoKT8/MH19dmFyIGs9cyg3NTk5NzApLFY9cyg2NjUxODcpLEE9cygyMDA2NjYpLEY9cyg3Mzg0NTgpLEI9cygzMDg4MTApLE89cygxOTYwNDkpLE49cyg4MDI1ODYpO2NvbnN0IFc9ezg6W0IudGltZUZyYW1lcy55dGQsQi50aW1lRnJhbWVzWyIxMm0iXSxCLnRpbWVGcmFtZXNbIjYwbSJdLEIudGltZUZyYW1lcy5hbGxdLDM6W0IudGltZUZyYW1lc1siMWQiXSxCLnRpbWVGcmFtZXNbIjVkIl0sQi50aW1lRnJhbWVzWyIxbSJdLEIudGltZUZyYW1lc1siM20iXSxCLnRpbWVGcmFtZXNbIjZtIl0sQi50aW1lRnJhbWVzLnl0ZCxCLnRpbWVGcmFtZXNbIjEybSJdLEIudGltZUZyYW1lc1siNjBtIl0sQi50aW1lRnJhbWVzLmFsbF19LFU9bmV3IE1hcChbWyIxRCIsKDAsTi5nZXRGcm9tRm9yRGF5KSgxKV0sWyI1RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg1KV0sWyI3RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg3KV0sWyIxTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgxKV0sWyIzTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgzKV0sWyI2TSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSg2KV0sWyIxMk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgxKV0sWyIyNE0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgyKV0sWyIzNk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgzKV0sWyI2ME0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSg1KV0sWyJZVEQiLCgwLE4uZ2V0U3RhcnRPZlRoZVllYXIpKCldLFsiTEFTVFNFU1NJT04iLCgwLE4uZ2V0RnJvbUZvckRheSkoMSldLFsiQUxMIiwtMS8wXV0pO2Z1bmN0aW9uIHooZSx0LHM9LTEvMCl7bGV0IGk7bnVsbCE9PWU/aT0oV1szXXx8W10pLmZpbHRlcigodD0+bnVsbD09PSgwLE8uZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQudGFyZ2V0UmVzb2x1dGlvbikpKTooOT09PXQmJih0PTMpLDY9PT10JiYodD04KSxpPVdbdF18fFtdKTtjb25zdCBuPVtdO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXtjb25zdCB0PWlbZV07aWYobi5wdXNoKHQpLCgwLApyLmVuc3VyZURlZmluZWQpKFUuZ2V0KHQudmFsdWUudmFsdWUpKTxzKWJyZWFrfXJldHVybiBuLmxlbmd0aCYmIkFMTCIhPT1uW24ubGVuZ3RoLTFdLnZhbHVlLnZhbHVlJiYobltuLmxlbmd0aC0xXT17Li4ubltuLmxlbmd0aC0xXSx0ZXh0OkIudGltZUZyYW1lcy5hbGwudGV4dCx2YWx1ZTp7Li4ubltuLmxlbmd0aC0xXS52YWx1ZSx2YWx1ZTpCLnRpbWVGcmFtZXMuYWxsLnZhbHVlLnZhbHVlfX0pLG59ZnVuY3Rpb24gSChlLHQscyl7Y29uc3QgaT17bmFtZTplLGZyYW1lRWxlbWVudElkOnQsZGF0YTpzfTt3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKGksIioiKX1mdW5jdGlvbiBqKGUsdCl7ZnVuY3Rpb24gcyhzKXtzLmRhdGEmJnMuZGF0YS5uYW1lJiZzLmRhdGEubmFtZT09PWUmJnQocy5kYXRhLmRhdGEpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9fXZhciAkLHE7ZnVuY3Rpb24gSyhlKXtyZXR1cm4ic2Vla2luZ2FscGhhIj09PWV8fCJzbWFydGxhYi1jdXN0b20iPT09ZT9Qcm9taXNlLmFsbChbcy5lKDk0MjQ0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDQ2NzU2KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoMzQxNyldKS50aGVuKHMuYmluZChzLDM0MTcpKToiY21lIj09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMjA4MCkscy5lKDg0MzA2KSxzLmUoNDY5MDcpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSg4NjQyMykscy5lKDM3NTEzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDcwNjU2KSxzLmUoNzE5MDEpLHMuZSg4MTI0Nykscy5lKDkwOTYwKSxzLmUoMjM2NjkpLHMuZSg4MTEwNykscy5lKDQyMzAxKSxzLmUoNjc5MjUpLHMuZSgzMjg1Nykscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg0MjAzMykscy5lKDg2OTk3KSxzLmUoOTg1MDkpLHMuZSgyNzY2NSkscy5lKDMyNDI3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoNTAwNzcpXSkudGhlbihzLmJpbmQocywxNTAwNzcpKTpQcm9taXNlLmFsbChbcy5lKDk5MTI0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDMyMzg3KSxzLmUoMjM3NDMpLHMuZSg5OTMwOSkscy5lKDY5Njk3KSxzLmUoNTMyOTcpLHMuZSgzODA4Nikscy5lKDI2MTE4KSxzLmUoNTgwOCkscy5lKDM5MTY2KV0pLnRoZW4ocy5iaW5kKHMsOTM5MTY2KSl9IWZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlNldFN5bWJvbD0ic2V0LXN5bWJvbCIsZS5TZXRJbnRlcnZhbD0ic2V0LWludGVydmFsIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfSgkfHwoJD17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlN5bWJvbENsaWNrPSJ0di13aWRnZXQtc3ltYm9sLWNsaWNrIixlLldpZGdldExvYWQ9InR2LXdpZGdldC1sb2FkIixlLldpZGdldFJlYWR5PSJ0di13aWRnZXQtcmVhZHkiLGUuUmVzaXplSWZyYW1lPSJ0di13aWRnZXQtcmVzaXplLWlmcmFtZSIsZS5Ob0RhdGE9InR2LXdpZGdldC1uby1kYXRhIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShxfHwocT17fSkpO3ZhciBZPXMoMTg1MjcxKSxHPXMoODYwNDQyKSxKPXMoMjM1NzI0KQo7Y29uc3QgWD1bIkxpbmVUb29sVHJlbmRMaW5lIiwiTGluZVRvb2xSYXkiLCJMaW5lVG9vbEluZm9MaW5lIiwiTGluZVRvb2xFeHRlbmRlZCIsIkxpbmVUb29sUmVncmVzc2lvblRyZW5kIiwiTGluZVRvb2xSb3RhdGVkUmVjdGFuZ2xlIiwiTGluZVRvb2xQYXJhbGxlbENoYW5uZWwiLCJMaW5lVG9vbEZsYXRCb3R0b20iLCJMaW5lVG9vbERpc2pvaW50QW5nbGUiLCJMaW5lVG9vbFBpdGNoZm9yayIsIkxpbmVUb29sU2NoaWZmUGl0Y2hmb3JrIiwiTGluZVRvb2xTY2hpZmZQaXRjaGZvcmsyIiwiTGluZVRvb2xJbnNpZGVQaXRjaGZvcmsiLCJMaW5lVG9vbFZlcnRMaW5lIiwiTGluZVRvb2xDcm9zc0xpbmUiLCJMaW5lVG9vbEhvcnpMaW5lIiwiTGluZVRvb2xIb3J6UmF5IiwiTGluZVRvb2xUcmVuZEFuZ2xlIl07ZnVuY3Rpb24gUShlLHQ9ITEsYT0hMSl7aWYoISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBvcHVwX2hpbnRzIikpcmV0dXJuKCk9Pnt9O2NvbnN0IGw9ZS5nZXRDb250YWluZXIoKTtsZXQgdT1udWxsLGM9bnVsbCxkPW51bGw7cmV0dXJuIEkudG9vbC5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wuc3Vic2NyaWJlKG51bGwscCksSS5maW5pc2hlZExpbmVUb29sLnN1YnNjcmliZShudWxsLG0pLGUubGF5b3V0U2l6ZXNDaGFuZ2VkKCkuc3Vic2NyaWJlKF8pLHR8fGkuQ2hlY2tNb2JpbGUuYW55KCl8fCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKXx8KGQ9ZnVuY3Rpb24oZSx0KXtsZXQgcz0hMTtjb25zdCBpPW49PntuPyhzJiZ0KG4pLGUub25ab29tKCkudW5zdWJzY3JpYmUobnVsbCxpKSk6c3x8KHQobikscz0hMCl9O3JldHVybiBlLm9uWm9vbSgpLnN1YnNjcmliZShudWxsLGkpLCgpPT5lLm9uWm9vbSgpLnVuc3Vic2NyaWJlKG51bGwsaSl9KGUsKGZ1bmN0aW9uKGUpe2lmKCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKSlyZXR1cm47aWYoZSljJiYoZD1udWxsLGYoImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpKTtlbHNle2coWS50KG51bGwsdm9pZCAwLHMoNDc1Mjk5KSkuZm9ybWF0KHtrZXk6KDAsSi5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShKLk1vZGlmaWVycy5Nb2QsITEpfSksImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpfX0pKSksKCk9PntJLnRvb2wudW5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxwKSxJLmZpbmlzaGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxtKSxlLmxheW91dFNpemVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKF8pLGQ/LigpfTtmdW5jdGlvbiBoKCl7Y29uc3QgdD1JLnRvb2wudmFsdWUoKSxuPWkuQ2hlY2tNb2JpbGUuYW55KCk7aWYodT8uaGlkZSgpLCFuJiYoMCxJLnRvb2xJc0RlbW9uc3RyYXRpb24pKHQpJiZ5KCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpKXtyZXR1cm4gdm9pZCBnKFkudChudWxsLHZvaWQgMCxzKDU4MjMwMykpLmZvcm1hdCh7a2V5OigwLEouaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoSi5Nb2RpZmllcnMuQWx0LCExKX0pLCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpfWlmKGEmJm4mJihyPXQsWC5pbmNsdWRlcyhyKSkpcmV0dXJuIHZvaWQgYXN5bmMgZnVuY3Rpb24odCl7e2NvbnN0IGk9KCk9PigwLEkucmVzZXRUb0N1cnNvcikoITApO2lmKHUpdS5zaG93KHQsaSk7ZWxzZXtjb25zdCBuPWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMjcxNzQpLHMuZSg1MTg0KSxzLmUoNTE4Nikscy5lKDMyMzg3KSxzLmUoMjE3NjYpXSkudGhlbihzLmJpbmQocywzNTIzNzYpKTt1PW5ldyBuLkRyYXdpbmdIaW50c1JlbmRlcmVyKGUpLHQ9PT1JLnRvb2wudmFsdWUoKSYmdS5zaG93KHQsaSl9fX0odCk7dmFyIHI7aWYoIkxpbmVUb29sVGV4dEFic29sdXRlIj09PXQmJnkoImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpKXJldHVybiB2b2lkIGcoWS50KG51bGwsdm9pZCAwLHMoOTQ0NzA4KSksImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpO2lmKCF5KCJoaW50LnRvdWNoUGFpbnRpbmciKSlyZXR1cm47Y29uc3Qgbz0oMCxHLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykodCk7ISgwLEcuaXNTdHVkeUxpbmVUb29sTmFtZSkodCl8fCJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI9PT10fHxvfHxuPygwLEcuaXNMaW5lVG9vbE5hbWUpKHQpJiYhKDAsRy5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKSh0KSYmIW8mJm4/ZyhZLnQobnVsbCx2b2lkIDAscyg3MzA5MzUpKSwiaGludC50b3VjaFBhaW50aW5nIik6YyYmYy5oaWRlKCk6ZyhZLnQobnVsbCx2b2lkIDAscygxNjE1MjgpKSwiaGludC50b3VjaFBhaW50aW5nIil9ZnVuY3Rpb24gcCgpe2NvbnN0IGU9SS50b29sLnZhbHVlKCk7IkxpbmVUb29sUGF0aCI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKT9nKFkudChudWxsLHZvaWQgMCxzKDY0MTE2MSkpLCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKToiTGluZVRvb2xQb2x5bGluZSI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUG9seWxpbmVCeURibENsaWNrIikmJmcoWS50KG51bGwsdm9pZCAwLHMoNTgwOTg1KSksImhpbnQuZmluaXNoQnVpbGRQb2x5bGluZUJ5RGJsQ2xpY2siKX1mdW5jdGlvbiBtKCl7aWYoYyl7Y29uc3QgZT1JLnRvb2wudmFsdWUoKTsiTGluZVRvb2xQYXRoIj09PWU/ZigiaGludC5maW5pc2hCdWlsZFBhdGhCeURibENsaWNrIik6IkxpbmVUb29sUG9seWxpbmUiPT09ZSYmZigiaGludC5maW5pc2hCdWlsZFBvbHlsaW5lQnlEYmxDbGljayIpfX1mdW5jdGlvbiBfKCl7aWYoIXkoImhpbnQuc3RhcnRSZXNpemluZ0NoYXJ0SW5MYXlvdXQiKSlyZXR1cm47ZyhpLkNoZWNrTW9iaWxlLmFueSgpP1kudChudWxsLHZvaWQgMCxzKDEzNzE0OSkpOlkudChudWxsLHZvaWQgMCxzKDI5NjQ3MSkpLCJoaW50LnN0YXJ0UmVzaXppbmdDaGFydEluTGF5b3V0Iil9ZnVuY3Rpb24gZyhlLHQpe2lmKGMpYy5zaG93KGUsZi5iaW5kKG51bGwsdCkpO2Vsc2V7Y29uc3QgaT1JLnRvb2wudmFsdWUoKQo7UHJvbWlzZS5hbGwoW3MuZSgxMzQ5Mikscy5lKDQxODExKSxzLmUoMzIzODcpLHMuZSg3NzU4OCldKS50aGVuKHMuYmluZChzLDEyNDAxNikpLnRoZW4oKHM9PntjPW5ldyBzLkNoYXJ0RXZlbnRIaW50UmVuZGVyZXIobCksaT09PUkudG9vbC52YWx1ZSgpJiZjLnNob3coZSxmLmJpbmQobnVsbCx0KSl9KSl9fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIUJvb2xlYW4obi5nZXRCb29sKGUpKX1mdW5jdGlvbiBmKGUpe24uc2V0VmFsdWUoZSwhMCx7Zm9yY2VGbHVzaDohMH0pLCgwLHIuZW5zdXJlTm90TnVsbCkoYykuZGVzdHJveSgpLG51bGwhPT1kJiZkKCksYz1udWxsfX12YXIgWj1zKDE3OTc3MSk7ZnVuY3Rpb24gZWUoZSx0KXtjb25zdCBpPVkudChudWxsLHZvaWQgMCxzKDIyMjkpKS5mb3JtYXQoe2Vtb2ppOiLwn5GNIn0pLG49WS50KG51bGwsdm9pZCAwLHMoMzg4NzcwKSkuZm9ybWF0KHtlbW9qaToi8J+RjSJ9KSxvPVkudChudWxsLHZvaWQgMCxzKDgzNDgyMikpLmZvcm1hdCh7ZW1vamk6IvCfkY0ifSk7Wi5vbigib25TZXJ2ZXJTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShpKSksbnVsbCksWi5vbigib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShuKSksbnVsbCksWi5vbigib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShvKSksbnVsbCk7bGV0IGE9bnVsbDtjb25zdCBsPWUuZ2V0Q29udGFpbmVyKCk7ZnVuY3Rpb24gdShlKXthP2Euc2hvdyhlKTpQcm9taXNlLmFsbChbcy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NDA1NCkscy5lKDI0NjAzKSxzLmUoMzIzODcpLHMuZSg0MzE4MCldKS50aGVuKHMuYmluZChzLDQwMTY3MSkpLnRoZW4oKHM9PnthfHwoYT1uZXcgcy5DaGFydFNjcmVlbnNob3RIaW50UmVuZGVyZXIoKDAsci5lbnN1cmVOb3ROdWxsKShsKSx7Ym90dG9tUGFkZGluZzp0LnNlcmllc0NvbnRyb2xCYXJFbmFibGVkfSksYS5zaG93KGUpKX0pKX19dmFyIHRlPXMoNzA1MDEyKSxzZT1zKDUwODc0Nyk7Y2xhc3MgaWV7Y29uc3RydWN0b3IoZT1bXSl7dGhpcy5fbGlzdD17aWQ6IkRFRkFVTFRfU0lOR0xFX1dBVENITElTVCIsdHlwZToiY3VzdG9tIixuYW1lOmwudChudWxsLHZvaWQgMCxzKDM5Nzc4OCkpLGRlc2NyaXB0aW9uOm51bGwsc3ltYm9sczpbLi4uZV0sc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9fWdldEN1c3RvbVdhdGNoTGlzdHMoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFt0aGlzLl9saXN0XSl9Z2V0U3ltYm9scyhlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9Y3JlYXRlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cHV0V2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVtb3ZlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVuYW1lV2F0Y2hMaXN0KGUsdCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9Wy4uLnRdLFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0LnN5bWJvbHMpfWFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fbGlzdC5zeW1ib2xzLnB1c2goLi4udCksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9cmVtb3ZlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9dGhpcy5fbGlzdC5zeW1ib2xzLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKSxQcm9taXNlLnJlc29sdmUodGhpcy5fbGlzdC5zeW1ib2xzKX1zZXRBY3RpdmUoZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0KX1nZXRBY3RpdmUoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3QpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1nZXRDdXN0b21XYXRjaGxpc3QoZSl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fXZhciBuZT1zKDE1MDE1MCkscmU9cyg5NDgzODApO2NvbnN0IG9lPW5ldyByZS5EZWxlZ2F0ZSxhZT1uZXcgcmUuRGVsZWdhdGUsbGU9bmV3IHJlLkRlbGVnYXRlLHVlPW5ldyByZS5EZWxlZ2F0ZSxjZT1uZXcgcmUuRGVsZWdhdGU7dmFyIGRlPXMoNTgwNTI2KSxoZT1zKDYyMTIwKTtjbGFzcyBwZXtjb25zdHJ1Y3RvcihlPVtdLHQ9bil7aWYodGhpcy5fbGlzdHM9e30sdGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5PSJ3aWRnZXRiYXIud2lkZ2V0LndhdGNobGlzdCIsKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidHJhZGluZ190ZXJtaW5hbCIpJiYodGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5Kz0idGVybWluYWwiKSx0aGlzLl9zZXR0aW5ncz10LHRoaXMuX3NldHRpbmdzLm9uU3luYy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVMaXN0cyksdGhpcy5fdXBkYXRlTGlzdHMoKSwwPT09T2JqZWN0LmtleXModGhpcy5fbGlzdHMpLmxlbmd0aCl7Y29uc3QgdD10aGlzLl9jcmVhdGVMaXN0KHt0aXRsZTp0aGlzLl9waWNrVGl0bGUoKSxzeW1ib2xzOlsuLi5lXX0sITApO3RoaXMuc2V0QWN0aXZlKHtpZDp0LmlkLHR5cGU6ImN1c3RvbSJ9KX19ZGVzdHJveSgpe3RoaXMuX3NldHRpbmdzLm9uU3luYy51bnN1YnNjcmliZUFsbCh0aGlzKX1nZXRDdXN0b21XYXRjaExpc3RzKCl7dGhpcy5fdXBkYXRlTGlzdHMoKTtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9saXN0cykuZm9yRWFjaCgodD0+e2NvbnN0IHM9dGhpcy5fZ2V0TGlzdCh0KTtzJiZlLnB1c2godGhpcy5fdG9TeW1ib2xMaXN0KHMpKX0pKSxQcm9taXNlLnJlc29sdmUoZSl9Y3JlYXRlV2F0Y2hMaXN0KGUpe2NvbnN0IHQ9ISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndhdGNobGlzdF9jcm9zc190YWJfc3luYyIpLHM9dGhpcy5fY3JlYXRlTGlzdCh7aWQ6ZS5pZCx0aXRsZTplLm5hbWV8fHRoaXMuX3BpY2tUaXRsZSgpLApzeW1ib2xzOmUuc3ltYm9sc3x8W119LHQpO3JldHVybiBsZS5maXJlKHMuaWQsWy4uLnMuc3ltYm9sc10pLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QocykpfXB1dFdhdGNoTGlzdChlKXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0IHQ9dGhpcy5fZ2V0TGlzdChlLmlkKSxzPXQ/LnRpdGxlLGk9ZS5uYW1lLG49e2lkOmUuaWQsc3ltYm9sczooMCxkZS5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUuaWQsZS5zeW1ib2xzKSx0aXRsZTplLm5hbWV9O3JldHVybiB0aGlzLnNhdmVMaXN0KG4pLHZvaWQgMCE9PXMmJnMhPT1pJiZjZS5maXJlKGUuaWQscyxpKSxudWxsIT09dD9vZS5maXJlKGUuaWQpOmxlLmZpcmUoZS5pZCxlLnN5bWJvbHMpLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QobikpfXJlbW92ZVdhdGNoTGlzdChlKXtjb25zdHtpZDp0fT1lO3JldHVybiB0aGlzLl9zZXR0aW5ncy5yZW1vdmUoYHNhdmVkd2F0Y2guJHt0fWAse2ZvcmNlRmx1c2g6ITB9KSxkZWxldGUgdGhpcy5fbGlzdHNbdF0sdWUuZmlyZSh0KSxQcm9taXNlLnJlc29sdmUoKX1yZW5hbWVXYXRjaExpc3QoZSx0KXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0e25hbWU6c309ZTtlLm5hbWU9dDtjb25zdCBpPXRoaXMuX2dldExpc3QoZS5pZCk7cmV0dXJuIHRoaXMuc2F2ZUxpc3Qoe2lkOmUuaWQsc3ltYm9sczppP2kuc3ltYm9sczplLnN5bWJvbHMsdGl0bGU6dH0pLGNlLmZpcmUoZS5pZCxzLHQpLFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0TGlzdChlLmlkKTtyZXR1cm4gbnVsbD09PXN8fChzLnN5bWJvbHM9KDAsZGUucmVtb3RlU3ltYm9sc0Zvcm1Mb2NhbFN0YXRlKShlLmlkLHQpLGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5kZWxldGUoZS5pZCksdGhpcy5zYXZlTGlzdChzKSxvZS5maXJlKGUuaWQpKSxQcm9taXNlLnJlc29sdmUobnVsbCl9YWRkU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO3JldHVybiBudWxsPT09cz9Qcm9taXNlLnJlc29sdmUoW10pOihzLnN5bWJvbHMucHVzaCguLi50KSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKSl9cmVtb3ZlU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO2lmKG51bGw9PT1zKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGk9bmV3IFNldCh0KTtyZXR1cm4gcy5zeW1ib2xzPXMuc3ltYm9scy5maWx0ZXIoKGU9PiFpLmhhcyhlKSYmIWkuaGFzKCgwLGRlLnNlcGFyYXRvclJlbW90ZVJlcHJlc2VudGF0aW9uKShlLCExKSkpKSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKX1zZXRBY3RpdmUoZSl7cmV0dXJuIHRoaXMuX3NldHRpbmdzLnNldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSxlLmlkKSxhZS5maXJlKCksUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fZ2V0QWN0aXZlKCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QoZSkpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgaT10aGlzLl9nZXRMaXN0KGUpO2lmKG51bGw9PT1pKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3R7b2xkU2VwYXJhdG9yOm4sbmV3U2VwYXJhdG9yOnJ9PSgwLGRlLnJlbW90ZVJlbmFtZVNlcGFyYXRvcnMpKGUsdCxzKSxvPWkuc3ltYm9scy5pbmRleE9mKG4pO3JldHVybi0xPT09b3x8KGkuc3ltYm9sc1tvXT1yLHRoaXMuc2F2ZUxpc3QoaSksb2UuZmlyZShlKSksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXNhdmVMaXN0KGUsdD0hMSl7Y29uc3Qgcz17c3ltYm9sczplLnN5bWJvbHMsdGl0bGU6U3RyaW5nKGUudGl0bGUpfTt0aGlzLl9zZXR0aW5ncy5zZXRKU09OKGBzYXZlZHdhdGNoLiR7ZS5pZH1gLHMse2ZvcmNlRmx1c2g6ITAsc2tpcENyb3NzV2luZG93RXZlbnQ6dH0pLHRoaXMuX2xpc3RzW2UuaWRdPXN9Z2V0Q3VzdG9tV2F0Y2hsaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9X2NyZWF0ZUxpc3QoZSx0PSExKXtjb25zdCBzPXtpZDplLmlkPz8oMCxuZS5yYW5kb21IYXNoKSgpLHN5bWJvbHM6ZS5zeW1ib2xzLHRpdGxlOmUudGl0bGV9O3JldHVybiB0aGlzLnNhdmVMaXN0KHMsdCksc31fZ2V0TGlzdChlKXtpZih0aGlzLl91cGRhdGVMaXN0cygpLHRoaXMuX2xpc3RzLmhhc093blByb3BlcnR5KGUpKXtjb25zdCB0PXRoaXMuX2xpc3RzW2VdO3JldHVybntpZDplLHN5bWJvbHM6dC5zeW1ib2xzLnNsaWNlKCksdGl0bGU6dC50aXRsZX19cmV0dXJuIG51bGx9X3RvU3ltYm9sTGlzdChlKXtjb25zdHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfT0oMCxkZS5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzKTtyZXR1cm57dHlwZToiY3VzdG9tIixpZDplLmlkLG5hbWU6ZS50aXRsZSxkZXNjcmlwdGlvbjpudWxsLHN5bWJvbHM6dCxzaGFyZWQ6ITEsY29sbGFwc2VkU2VwYXJhdG9yczpzLHBlcnNpc3RlZFN0YXRlOm51bGx9fV91cGRhdGVMaXN0cygpe3RoaXMuX2xpc3RzPXt9O3RoaXMuX3NldHRpbmdzLmtleXMoKS5mb3JFYWNoKChlPT57Y29uc3QgdD0vXnNhdmVkd2F0Y2hcLiguKikkLy5leGVjKGUpO2lmKCF0KXJldHVybgo7Y29uc3Qgcz10WzFdLGk9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTihlLG51bGwpO2kmJihpLnN5bWJvbHN8fChpLnN5bWJvbHM9W10pLHRoaXMuX2xpc3RzW3NdPWkpfSkpfV9nZXRBY3RpdmUoKXtjb25zdCBlPXRoaXMuX3NldHRpbmdzLmdldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSksW3Qsc109T2JqZWN0LmVudHJpZXModGhpcy5fbGlzdHMpWzBdLGk9e2lkOnQsLi4uc307cmV0dXJuIHZvaWQgMCE9PWUmJnRoaXMuX2dldExpc3QoZSl8fGl9X3BpY2tUaXRsZSgpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9saXN0cykubWFwKChlPT50aGlzLl9saXN0c1tlXS50aXRsZSkpO2ZvcihsZXQgdD0xOzt0Kyspe2NvbnN0IGk9bC50KG51bGwsdm9pZCAwLHMoMzk3Nzg4KSkrKHQ+MT9gICgke3R9KWA6IiIpO2lmKC0xPT09ZS5pbmRleE9mKGkpKXJldHVybiBpfX19dmFyIG1lPXMoOTU4NTAwKTtjbGFzcyBfZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2N1bWVudD1lLHRoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZTtjb25zdCB0PSgpPT57Y29uc3QgZT1bImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsc2NyZWVuRWxlbWVudCIsIm1vekZ1bGxTY3JlZW5FbGVtZW50IiwibXNGdWxsc2NyZWVuRWxlbWVudCJdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBzPWVbdF07aWYocyBpbiB0aGlzLl9kb2N1bWVudCl7dGhpcy5pc0Z1bGxzY3JlZW4uc2V0VmFsdWUoISF0aGlzLl9kb2N1bWVudFtzXSk7YnJlYWt9fX07dCgpO2Zvcihjb25zdCBzIG9mWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSllLmFkZEV2ZW50TGlzdGVuZXIocyx0LCExKX1lbnRlcigpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcihjb25zdCB0IG9mWyJyZXF1ZXN0RnVsbHNjcmVlbiIsIm1velJlcXVlc3RGdWxsU2NyZWVuIiwid2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4iLCJtc1JlcXVlc3RGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMCl9ZXhpdCgpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQ7Zm9yKGNvbnN0IHQgb2ZbImV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1vekV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtc0V4aXRGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMSl9fWNsYXNzIGdle2NvbnN0cnVjdG9yKGUpe3RoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZSx0aGlzLl9oYW5kbGVFeGl0PWU9PnsyNyE9PSgwLEouaGFzaEZyb21FdmVudCkoZSl8fGUuZGVmYXVsdFByZXZlbnRlZHx8KGUucHJldmVudERlZmF1bHQoKSx0aGlzLmV4aXQoKSl9LHRoaXMuX2VsZW1lbnQ9ZX1lbnRlcigpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCEwKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuU2hvdyIpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9ZXhpdCgpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCExKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuSGlkZSIpLHRoaXMuX2VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9fXZhciB5ZSxmZT1zKDMxNzQ2MiksdmU9cygxMTczMTMpOyFmdW5jdGlvbihlKXtlLlF1aXJrcz0icXVpcmtzIixlLlZpc3VhbD0idmlzdWFsIn0oeWV8fCh5ZT17fSkpO2Z1bmN0aW9uIGJlKGUsdCl7bGV0IHM9MDtmb3IoY29uc3R7bWluOmksbWF4Om59b2YgdCl7aWYoZTxpfHxuPGkpY29udGludWU7Y29uc3QgdD1NYXRoLm1pbihlLG4pO2lmKHM9TWF0aC5tYXgocyx0KSxlPT09cylicmVha31yZXR1cm4gc31mdW5jdGlvbiBTZShlKXtjb25zdCB0PVtdO2lmKHZvaWQgMD09PWUpcmV0dXJuW107QXJyYXkuaXNBcnJheShlKXx8KGU9W2VdKTtmb3IoY29uc3QgcyBvZiBlKXtsZXQgZSxpO2lzRmluaXRlKHMpP2U9aT1OdW1iZXIocyk6KGU9K3MubWluLGk9K3MubWF4KSwoZTwwfHxpc05hTihlKSkmJihlPTApLGlzTmFOKGkpJiYoaT0xLzApLGU8PWkmJmk+MCYmdC5wdXNoKHttaW46ZSxtYXg6aX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLm1pbi10Lm1pbnx8ZS5tYXgtdC5tYXgpKSx0fWZ1bmN0aW9uIHdlKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9ZS5sZW5ndGg7cy0tOyl7aWYoZVtzXS5taW4hPT10W3NdLm1pbilyZXR1cm4hMTtpZihlW3NdLm1heCE9PXRbc10ubWF4KXJldHVybiExfXJldHVybiEwfXZhciBQZT1zKDY1NzI0NSk7Y29uc3QgVGU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibm9fbWluX2NoYXJ0X3dpZHRoIik7dmFyIENlOyFmdW5jdGlvbihlKXtlW2UuTWluQ2hhcnRIZWlnaHQ9MzAwXT0iTWluQ2hhcnRIZWlnaHQiLGVbZS5NaW5DaGFydFdpZHRoPTMwMF09Ik1pbkNoYXJ0V2lkdGgiLGVbZS5EZWZhdWx0T2Zmc2V0PTRdPSJEZWZhdWx0T2Zmc2V0IixlW2UuVGhpbk9mZnNldD0xXT0iVGhpbk9mZnNldCIsZVtlLlRvcFRvb2xiYXJNYXJnaW49MF09IlRvcFRvb2xiYXJNYXJnaW4ifShDZXx8KENlPXt9KSk7Y29uc3QgRWU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiYnlwYXNzX2NoYXJ0X2hlaWdodF9jaGVjayIpO2Z1bmN0aW9uIEllKGUpe2NvbnN0IHQ9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSIpLHM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2luX2Z1bGxzY3JlZW5fbW9kZSIpO3JldHVybiJjZW50ZXIiPT09ZXx8ImxlZnQiPT09ZSYmdHx8InRvcCI9PT1lJiZzfHwiYW5hbHlzaXMiPT09ZX0KY29uc3QgTGU9Wy4uLnoobnVsbCwzKV07TGUuc3BsaWNlKDcsMCxCLnRpbWVGcmFtZXNbIjI0bSJdKTt2YXIgTWU9cyg2MzI0NDQpLERlPXMoMjI3ODI1KSx4ZT1zKDYzOTExMyk7Y29uc3QgUmU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07dmFyIGtlPXMoNDMzNzM1KSxWZT1zKDQwMDE4MSk7dmFyIEFlPXMoODkwODM1KSxGZT1zKDk1MjkwMCksQmU9cyg3ODQ1MTMpO2NsYXNzIE9le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdmlld3M9bmV3IE1hcCx0aGlzLl92aWV3UmVxdWVzdElkPW51bGwsdGhpcy5fZ2V0Q29udGV4dD1lLHRoaXMuX29uVmlld0NoYW5nZWQ9dH1oYXNWaWV3KGUpe3JldHVybiB0aGlzLl92aWV3cy5oYXMoZSl9cmVnaXN0ZXJWaWV3KGUsdCl7dGhpcy5fdmlld3Muc2V0KGUsdCl9c2hvd1ZpZXcoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9vblZpZXdDaGFuZ2VkKG51bGwpOygwLHIuYXNzZXJ0KSh0aGlzLmhhc1ZpZXcoZSksYEFuYWx5c2lzIHZpZXcgd2l0aCBhIG5hbWUgIiR7ZX0iIGlzIG5vdCByZWdpc3RlcmVkIWApO2NvbnN0IHM9dGhpcy5fdmlld1JlcXVlc3RJZD0oMCxuZS5yYW5kb21IYXNoKSgpOygwLHIuZW5zdXJlKSh0aGlzLl92aWV3cy5nZXQoZSkpKHQpLnRoZW4oKHQ9PntpZih0aGlzLl92aWV3UmVxdWVzdElkIT09cylyZXR1cm47Y29uc3QgaT10aGlzLl9nZXRDb250ZXh0KGUpO3Quc2V0Q29udGV4dChpKSx0aGlzLl9vblZpZXdDaGFuZ2VkKGUpLHQuc2V0Q2xvc2VBY3Rpb24oKCgpPT57dGhpcy5fb25WaWV3Q2hhbmdlZChudWxsKX0pKSx0LnNob3coKX0pKX19dmFyIE5lPXMoMjk2MjYyKTtjbGFzcyBXZSBleHRlbmRzIE5lLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9yZXF1ZXN0SWQ9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fWFzeW5jIHNob3coZSl7Y29uc3QgdD10aGlzLl9yZXF1ZXN0SWQ9KDAsbmUucmFuZG9tSGFzaCkoKSxzPWF3YWl0IHRoaXMucHJlcGFyZShlKTt0PT09dGhpcy5fcmVxdWVzdElkJiZzLnNob3coKX1oaWRlKCl7dGhpcy5fZGlhbG9nPy5oaWRlKCl9cHJlcGFyZShlKXtyZXR1cm4gdGhpcy5fbG9hZChlKX1hc3luYyBfbG9hZChlKXtjb25zdCB0PWF3YWl0IHRoaXMuX3JlbmRlcmVyKCk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyB0KGUpLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nfX1sZXQgVWU7Y2xhc3MgemUgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gVWU/Pz1uZXcgemUsVWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7Q2hhcnRUYWJsZVZpZXdEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzM3KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoOTM0MTYpLHMuZSg2NTcpLHMuZSg2MDcwKSxzLmUoNzY2NSkscy5lKDUyOTIwKSxzLmUoNjI2MDApLHMuZSg3NTIxNykscy5lKDk4Njk2KSxzLmUoNzQ2MzYpLHMuZSg3MTk5MSkscy5lKDQ5OTk3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoMzY5MzgpLHMuZSg2NzkzMCkscy5lKDQ2NjUwKV0pLnRoZW4ocy5iaW5kKHMsNDA2MTgzKSk7cmV0dXJuIGV9fXZhciBIZT1zKDMwODM4OCksamU9cyg3MzEwOTEpLCRlPXMoMzUzODEpO2xldCBxZSxLZSxZZSxHZSxKZSxYZSxRZTtjbGFzcyBaZSBleHRlbmRzIFdle2FzeW5jIHByZXBhcmUoZSl7Y29uc3QgdD1lPy5zeW1ib2w/ZS5zeW1ib2w6cC5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpO2lmKGU/LnNuYXBzaG90KXtjb25zdHtzbmFwc2hvdDpzfT1lO3JldHVybiBzdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0LC4uLnMsZXhjaGFuZ2U6cy5saXN0ZWRfZXhjaGFuZ2V9KX17Y29uc3QgaT1hc3luYygpPT57Y29uc3R7c25hcHNob3RlcjplfT1hd2FpdCBzLmUoNzExODUpLnRoZW4ocy5iaW5kKHMsMzIwNTUpKTtyZXR1cm4gZSgpLmdldFNuYXBzaG90KHQsbmV3IFNldCgkZS5URUNITklDQUxTX1FTX0ZJRUxEUykpfSxbLG5dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9yZW5kZXJlcigpLGkoKV0pO3JldHVybiJlcnJvciI9PT1uLnN0YXR1cz9zdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0fSk6c3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dCwuLi5uLnZhbHVlcyxleGNoYW5nZTpuLnZhbHVlcy5saXN0ZWRfZXhjaGFuZ2V9KX19YXN5bmMgY2FuQmVTaG93bihlKXtjb25zdCB0PWV8fHAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPW5ldyBTZXQoWy4uLiRlLlRFQ0hOSUNBTFNfUVNfRklFTERTLCJkZXNjcmlwdGlvbiJdKSxuPWF3YWl0KGFzeW5jKCk9Pntjb25zdHtzbmFwc2hvdGVyOmV9PWF3YWl0IHMuZSg3NDM0MSkudGhlbihzLmJpbmQocywzMjA1NSkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7aWYoImVycm9yIj09PW4uc3RhdHVzKXJldHVybiExO2NvbnN0e3ZhbHVlczp7dHlwZTpyLGxpc3RlZF9leGNoYW5nZTpvLGRlc2NyaXB0aW9uOmF9fT1uO2lmKCFqZS5TWU1CT0xfVFlQRV9CTEFDS19MSVNULmhhcyhyKSl0cnl7Y29uc3QgZT1hd2FpdCgwLApIZS5nZXRTeW1ib2xEYXRhKShudWxsLHQsWyJSZWNvbW1lbmQuQWxsIl0pO3JldHVybiBCb29sZWFuKGUmJjAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJmEmJm8mJnIpfWNhdGNoKGUpe3JldHVybiExfXJldHVybiExfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBxZXx8KHFlPW5ldyBaZSkscWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7VGVjaG5pY2Fsc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDAxNTcpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoOTE4NTUpLHMuZSg2MDcwKSxzLmUoNTgwNTEpLHMuZSgzNzc2Nykscy5lKDI2MTAwKSxzLmUoOWUzKSxzLmUoMzY5ODYpLHMuZSgyNzA4NSkscy5lKDg2MDg3KSxzLmUoMzIzODcpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzQ5NjIpXSkudGhlbihzLmJpbmQocywxOTUwNTApKTtyZXR1cm4gZX19Y2xhc3MgZXQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gS2V8fChLZT1uZXcgZXQpLEtlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZpbmFuY2lhbHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU0ODYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDM3NzQ2KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoODg2NDEpLHMuZSg0MDg2Nykscy5lKDUwODAwKSxzLmUoNzY2NSkscy5lKDI3MzM3KSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDc2MzI5KSxzLmUoMzkxNikscy5lKDY4OTY0KSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoMjU1NjIpLHMuZSgyOTM0OCkscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSgyODkzNikscy5lKDE4Njc0KSxzLmUoMTI1MjcpLHMuZSgyNTExKSxzLmUoODA3NjEpLHMuZSgxNTM4Mykscy5lKDQwOTAyKSxzLmUoMTI0MTIpLHMuZSgzMjM4Nykscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzkzNSkscy5lKDM5NjA2KSxzLmUoMjg4NjQpLHMuZSgzNzI1OSkscy5lKDE5MjYxKSxzLmUoMjU0ODIpLHMuZSg3NjI3NCldKS50aGVuKHMuYmluZChzLDI4ODUyMikpO3JldHVybiBlfX1jbGFzcyB0dCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBZZXx8KFllPW5ldyB0dCksWWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U2Vhc29uYWxzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg2MTk1MCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSgzNTc5NCkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NjYwKSxzLmUoMjE1ODEpLHMuZSgxODQ0Mikscy5lKDU2MDMpLHMuZSgxNDY0MCkscy5lKDYxNDEzKSxzLmUoMTYzOTkpLHMuZSg0NTI0Mikscy5lKDU5ODMwKSxzLmUoODQyMjQpLHMuZSg0MzkxOSkscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDcwOTU3KSxzLmUoMzg0NDkpXSkudGhlbihzLmJpbmQocyw5NDc3OTMpKTtyZXR1cm4gZX19Y2xhc3Mgc3QgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gR2V8fChHZT1uZXcgc3QpLEdlfWFzeW5jIF9yZW5kZXJlcigpewpjb25zdHtBbmFseXNpc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ5MjYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSgxOTU5NSkscy5lKDE5Nzg3KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoNDcwOTIpLHMuZSg1NjAzKSxzLmUoNzYzMjkpLHMuZSgzOTE2KSxzLmUoMjEyNDUpLHMuZSgyNTU2Mikscy5lKDgwNzgyKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDI5MzQ4KSxzLmUoNzM4Nykscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSg0NzAyMSkscy5lKDYzMDMzKSxzLmUoMTg2NzQpLHMuZSgxMjUyNykscy5lKDYzNzIzKSxzLmUoMTQ2OTcpLHMuZSg1MDc0Mykscy5lKDcwMjU1KSxzLmUoODE4MTgpLHMuZSg0MDkwMikscy5lKDc4MTgyKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzE1NCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgzNzEwNikscy5lKDI4ODY0KSxzLmUoMTkyNjEpLHMuZSg3Njc1NSkscy5lKDk5OTM2KSxzLmUoMTUxNjApXSkudGhlbihzLmJpbmQocyw5MTE3MykpO3JldHVybiBlfX1jbGFzcyBpdCBleHRlbmRzIFdle2FzeW5jIGNhbkJlU2hvd24oZSl7Y29uc3QgdD1lfHxwLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCksaT1uZXcgU2V0KFsicmVjb21tZW5kYXRpb25fbWFyayIsInByb19uYW1lIl0pLG49YXdhaXQoYXN5bmMoKT0+e2NvbnN0e3NuYXBzaG90ZXI6ZX09YXdhaXQgcy5lKDY1NjQ2KS50aGVuKHMuYmluZChzLDgwNDI4OCkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7cmV0dXJuISgiZXJyb3IiPT09bi5zdGF0dXN8fCFuLnZhbHVlcy5yZWNvbW1lbmRhdGlvbl9tYXJrKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gSmV8fChKZT1uZXcgaXQpLEplfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZvcmVjYXN0RGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5ODM4Mykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDk4MDg0KSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSg0MzMyNSkscy5lKDE0NjI1KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSgzMjE3Nikscy5lKDYwNzApLHMuZSg5NzQ0KSxzLmUoMzc3NjcpLHMuZSgxOTUxMykscy5lKDMwMzczKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDM5MTYpLHMuZSgyMTI0NSkscy5lKDI1NTYyKSxzLmUoMjYxMDApLHMuZSg5ZTMpLHMuZSgxNzg2NSkscy5lKDE4Njc0KSxzLmUoNzM5NjApLHMuZSg4MDc2MSkscy5lKDg3NzIxKSxzLmUoMzIzODcpLHMuZSg0NDc4MCkscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgyODg2NCkscy5lKDI1NDgyKSxzLmUoNzQ1MjMpXSkudGhlbihzLmJpbmQocyw3NTMxMjgpKTtyZXR1cm4gZX19Y2xhc3MgbnQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gWGV8fChYZT1uZXcgbnQpLFhlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Rlcml2YXRpdmVzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgzMzE3Nikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoOTQ5NDgpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMjQ1ODEpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoMTY3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoODA3ODIpLHMuZSg1NzI1NCkscy5lKDczODcpLHMuZSgxMjUyNykscy5lKDUwNzQzKSxzLmUoOTYzNTIpLHMuZSgxNTM4Mykscy5lKDU4MDQzKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDY2MjM1KSxzLmUoODMxNTQpLHMuZSg3Njc1NSkscy5lKDk0ODIyKV0pLnRoZW4ocy5iaW5kKHMsNzE4NzY0KSk7cmV0dXJuIGV9fWNsYXNzIHJ0IGV4dGVuZHMgV2V7c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIFFlfHwoUWU9bmV3IHJ0KSxRZX1hc3luYyBfcmVuZGVyZXIoKXsKY29uc3R7T3B0aW9uc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ1KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDc0MzgxKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDQzMzI1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoMTY3Nikscy5lKDkxODU1KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDgzMDQxKSxzLmUoNTE2ODIpLHMuZSgyMDIpLHMuZSg5NzY2MCkscy5lKDMzMTIwKSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDYwODIpLHMuZSgxODQ0Mikscy5lKDQ3MDkyKSxzLmUoMjc3MzYpLHMuZSg5MDMzMCkscy5lKDI1Njk4KSxzLmUoMjMzMSkscy5lKDY4NTc5KSxzLmUoNDc1NTEpLHMuZSg0NzU3OSkscy5lKDg3NjczKSxzLmUoMjAwODUpLHMuZSg0NzQ1Nykscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDcyMTEpLHMuZSg1NzA5Mykscy5lKDY3ODUzKSxzLmUoNDg2NTIpLHMuZSgyODQ0Mikscy5lKDM0OTU0KV0pLnRoZW4ocy5iaW5kKHMsNTI4NTY2KSk7cmV0dXJuIGV9fXZhciBvdD1zKDgzOTQyNik7Y2xhc3MgYXQgZXh0ZW5kcyBXZXtwcmVwYXJlKGUpe2NvbnN0IHQ9ZT8uc3ltYm9sP2Uuc3ltYm9sOnAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtyZXR1cm4gc3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dH0pfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Vjb25vbXlJbmRpY2F0b3JEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDEyNjYzKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoMTU1MjYpLHMuZSg5MzQxNikscy5lKDY1Nykscy5lKDUyNjgwKSxzLmUoNjA3MCkscy5lKDk0MDU0KSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDE4NDQyKSxzLmUoMTQ2NDApLHMuZSg4MDc4Mikscy5lKDY5ODA5KSxzLmUoNDUyNDIpLHMuZSg4MTgxOCkscy5lKDk2MzUyKSxzLmUoMjU4OTUpLHMuZSg4NDIyNCkscy5lKDI0NjAzKSxzLmUoMjc2OTYpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoNDQ3ODApLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoNzIxMSkscy5lKDcwOTU3KSxzLmUoMTAzMjIpLHMuZSgxMTMwNCldKS50aGVuKHMuYmluZChzLDM0NTY4MCkpO3JldHVybiBlfX1jb25zdCBsdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBhdCkpO2NsYXNzIHV0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U3RvY2tCb25kc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTE1MjYpLHMuZSg0MjUzNSkscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoNzExOTApLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoNjQ4OSldKS50aGVuKHMuYmluZChzLDc2MDgzOSkpO3JldHVybiBlfX1jb25zdCBjdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB1dCkpO2NsYXNzIGR0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0RvY3VtZW50c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNjk4MTIpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDcxNDE0KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoMTk1MTMpLHMuZSg3MTUyOCkscy5lKDU1MzM2KSxzLmUoOTIzOTMpLHMuZSgyNjU5Mikscy5lKDYzMTAwKSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDg5NDYpLHMuZSg1ODQxOCldKS50aGVuKHMuYmluZChzLDUyNjY4MikpO3JldHVybiBlfX1jb25zdCBodD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBkdCkpO2NsYXNzIHB0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7TmV3c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDY4MzEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg3MjY2Nikscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoMzI3NDgpLHMuZSg5MTg1NSkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDQ1MzY4KSxzLmUoMjAyNzEpLHMuZSg1MTg4MCkscy5lKDE4NDcyKSxzLmUoMjU4MDkpLHMuZSgxNzY5Mykscy5lKDgyMjcxKSxzLmUoMjI0NjQpLHMuZSg3NjY2NCkscy5lKDQ5MjkpLHMuZSg3MTM1MCkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDk3NjQ3KSxzLmUoMjE0MjYpLHMuZSgxNTM5NCkscy5lKDQ3NTc3KV0pLnRoZW4ocy5iaW5kKHMsOTgyNDc0KSk7cmV0dXJuIGV9fWNvbnN0IG10PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IHB0KSk7Y2xhc3MgX3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtFdGZzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgxMTUyNikscy5lKDIxMDgwKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgzNzc0Nikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDE3MDg3KSxzLmUoNzI2NjYpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSg1MjY4MCkscy5lKDkxODU1KSxzLmUoMTIwNTEpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDU4MDUxKSxzLmUoNzE0ODIpLHMuZSg1MjA5NSkscy5lKDQ0MDMxKSxzLmUoMjE1ODEpLHMuZSg4OTA0NCkscy5lKDQzNzkyKSxzLmUoNzg0MDQpLHMuZSg1NjAzKSxzLmUoNjE0MTMpLHMuZSg1NzI1NCkscy5lKDE2Mzk5KSxzLmUoMzA3ODkpLHMuZSg3MDI4MCkscy5lKDMyMzg3KSxzLmUoMzA2OTkpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoMTQ4ODkpLHMuZSg0MjIxMikscy5lKDY4NzI1KSxzLmUoODAyMDcpLHMuZSg4MzE1NCkscy5lKDYxNDk1KSxzLmUoMTk3NzYpLHMuZSg4MjA4KV0pLnRoZW4ocy5iaW5kKHMsNjY4NDgwKSk7cmV0dXJuIGV9fWNvbnN0IGd0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IF90KSk7Y2xhc3MgeXQgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtGb3J3YXJkQ3VydmVEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDE0OTkxKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDk4MDg0KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNDM2NDQpLHMuZSg2MDcwKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDU2MDMpLHMuZSg1Njg5KSxzLmUoNjE0MTMpLHMuZSg5OTk0NCkscy5lKDUzMjI4KSxzLmUoMzIzODcpLHMuZSg2NjIzNSkscy5lKDgzMTU0KSxzLmUoODUxMDgpLHMuZSg2ODUxOSldKS50aGVuKHMuYmluZChzLDgzMjM0NSkpO3JldHVybiBlfX1jb25zdCBmdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB5dCkpO2xldCB2dDtjbGFzcyBidCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB2dHx8KHZ0PW5ldyBidCksdnR9YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0JvbmRZaWVsZEN1cnZlRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NDkwNCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoNTY4OSkscy5lKDYxNDEzKSxzLmUoOTk5NDQpLHMuZSg2OTE4NSkscy5lKDMyMzg3KSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDg1MTA4KSxzLmUoMzcyMTMpXSkudGhlbihzLmJpbmQocyw0OTU3MTYpKTtyZXR1cm4gZX19Y2xhc3MgU3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtDb250cmFjdHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDExNTI2KSxzLmUoMzkzNykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoODc0OTgpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoMzQ1NTUpXSkudGhlbihzLmJpbmQocyw3MDYwNTMpKTtyZXR1cm4gZX19Y29uc3Qgd3Q9KDAsb3QuZGVmYXVsdCkoKCgpPT5uZXcgU3QpKTtjbGFzcyBQdCBleHRlbmRzIFdle2FzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0NvbW11bml0eURpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMzcwOTEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg3NDM4MSkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSg1NzMwMCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoNzE0ODIpLHMuZSgzNzc2Nykscy5lKDE5NTEzKSxzLmUoOTc2NjApLHMuZSg3MTUyOCkscy5lKDk0MDU0KSxzLmUoNDUzNjgpLHMuZSg0NDc3KSxzLmUoNTUzMzYpLHMuZSg3NjY1KSxzLmUoOTIzOTMpLHMuZSgxODQ0Mikscy5lKDkxNjc4KSxzLmUoNjk3NDcpLHMuZSgzODg2OCkscy5lKDE2NDIxKSxzLmUoMTQ2NDApLHMuZSg0MDQyKSxzLmUoMjIxNDQpLHMuZSg4MzUyOSkscy5lKDU5ODMwKSxzLmUoNTk0MzcpLHMuZSg3MDc1Nikscy5lKDc0NTYpLHMuZSg2Mjg5Mikscy5lKDI2NTkyKSxzLmUoNzQyMzMpLHMuZSg3MTk5MSkscy5lKDEyNjY2KSxzLmUoNjg2ODYpLHMuZSgzMjM4Nykscy5lKDgxODY4KSxzLmUoNDMyMykscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDMwNDIxKSxzLmUoMjk4NDQpLHMuZSg5NjA3OCkscy5lKDk0MDg1KV0pLnRoZW4ocy5iaW5kKHMsNDU0OTM2KSk7cmV0dXJuIGV9fWNvbnN0IFR0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IFB0KSk7dmFyIEN0PXMoODczNzk0KSxFdD1zKDQzMzUzNCk7cyg2NjgyOTYpO2NvbnN0IEl0PXdpbmRvdy5pbml0RGF0YSxMdD13aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsTXQ9ZnVuY3Rpb24oZSx0PVtdLHMpe3JldHVybiBmdW5jdGlvbihlLHQscyxpPVtdLG4pe2NvbnN0IHI9cy5zbGljZSgxKSxvPWRlY29kZVVSSUNvbXBvbmVudChyKTtsZXQgYT17fTt0cnl7IiIhPT1vJiYoYT1KU09OLnBhcnNlKG8pLHZvaWQgMCE9PW4mJm4oZSxhKSxPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57KFJlW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGFbZV19KSkpfWNhdGNoKGUpe2E9e30sY29uc29sZS53YXJuKCJIYXNoIHBhcmFtcyBwYXJzaW5nIGVycm9yISBIYXNoIHBhcmFtcyBpZ25vcmVkLiIpfWNvbnN0IGw9dC5zbGljZSgxKSx1PXQuaW5jbHVkZXMoIiUiKT9kZWNvZGVVUklDb21wb25lbnQobCk6dCxjPW5ldyBVUkxTZWFyY2hQYXJhbXModSk7bGV0IGQ9e307dHJ5e2MuZm9yRWFjaCgoKGUsdCk9PntpLmluY2x1ZGVzKHQpfHwoZFt0XT1lKX0pKSx2b2lkIDAhPT1uJiZuKGUsZCl9Y2F0Y2goZSl7ZD17fSwKY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGEsZCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxzKX0oTHQpO3RyeXshYXN5bmMgZnVuY3Rpb24oZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxWZS5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYygiaWdsdTpjb20udHJhZGluZ3ZpZXcvd2lkZ2V0X2xvYWRfbWV0YV9pbmZvL2pzb25zY2hlbWEvMS0wLTAiLGUpfSh7d2lkZ2V0X2lkOiJhZHZhbmNlZC1jaGFydCIsc3ltYm9sczpKU09OLnN0cmluZ2lmeShbTXQuc3ltYm9sXSksY3VzdG9tZXI6TXQuY3VzdG9tZXJ9KX1jYXRjaHt9Y29uc3QgRHQ9dm9pZCAwIT09TXQuZXh0ZW5kZWRfaG91cnM/YXMoTXQuZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOnZvaWQgMCE9PUx0LmRlZl9leHRlbmRlZF9ob3Vycz9hcyhMdC5kZWZfZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOkx0LmRlZl9zZXNzaW9uX2lkO2NvbnN0IHh0PUx0LmN1c3RvbWVyLFJ0PUx0LmN1c3RvbWVyUmVhZGFibGVOYW1lLGt0PU10LnJhbmdlfHxMdC5kZWZfcmFuZ2UsVnQ9YXMoTXQud2l0aGRhdGVyYW5nZXM/P0x0LmRlZl93aXRoZGF0ZXJhbmdlcyksQXQ9YXMoTXQuc2F2ZV9pbWFnZT8/SXQuZGVmX3NhdmVfaW1hZ2UsITApO2xldCBGdDsodm9pZCAwPT09TXQuYWxsb3dfc3ltYm9sX2NoYW5nZT9hcyhMdC5kZWZfaGlkZV9zeW1ib2xfZWRpdCk6IWFzKE10LmFsbG93X3N5bWJvbF9jaGFuZ2UpKSYmKCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwhMSksKDAsby5zZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIiwhMCksKDAsby5zZXRFbmFibGVkKSgic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwhMSkpLCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zY3JlZW5zaG90IixCb29sZWFuKEF0KSksImJvdmVzcGEiPT09eHQmJigoMCxvLmRpc2FibGUpKCJoZWFkZXJfc2V0dGluZ3MiKSxGdD1be3N5bWJvbDoiSUJPViIsdGl0bGU6IkJvdmVzcGEgSW5kZXgifSx7c3ltYm9sOiJJQlhYIix0aXRsZToiQnJhemlsIDEwMCBJbmRleCJ9LHtzeW1ib2w6IklCWEwiLHRpdGxlOiJCcmF6aWwgNTAgSW5kZXgifSx7c3ltYm9sOiJJQlJBIix0aXRsZToiQnJhemlsIEJyb2FkLUJhc2VkIEluZGV4In0se3N5bWJvbDoiSUdDWCIsdGl0bGU6IlNwZWNpYWwgQ29ycG9yYXRlIEdvdmVybmFuY2UgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJVEFHIix0aXRsZToiU3BlY2lhbCBUYWctQWxvbmcgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJR05NIix0aXRsZToiTm92byBNZXJjYWRvIENvcnBvcmF0ZSBHb3Zlcm5hbmNlIEVxdWl0eSBJbmRleCJ9XSksd2luZG93LnBybz1uZXcgYy5Qcm8od2luZG93LnNob3BDb25mKTtsZXQgQnQ9TXQuc3ltYm9sfHxMdC5kZWZfc3ltYm9sfHwoMCxoLmdldERlZmF1bHRTeW1ib2wpKCk7ImNtZSI9PT1NdC5zeW1ib2xvZ3kmJihCdD0oZT0+e2NvbnN0IHQ9bmV3KF8oKS5TeW1ib2xUb2tlbikoZSk7aWYoIXQucm9vdCgpKXJldHVybiBlO2NvbnN0IHM9ZC5DTUVUb1RWU3ltYm9sb2d5QWRhcHRlci5jb252ZXJ0U3ltYm9sRGF0YVRvVFYodC5yb290KCksdC5leGNoYW5nZSgpLE10LnZlbnVlPz8iIik7cmV0dXJuIm9rIiE9PXMuc3RhdHVzP2U6KHMuZGF0YS5zeW1ib2wmJnQucm9vdChzLmRhdGEuc3ltYm9sKSxzLmRhdGEuZXhjaGFuZ2UmJnQuZXhjaGFuZ2Uocy5kYXRhLmV4Y2hhbmdlKSx0LnRvU3RyaW5nKCkpfSkoQnQpKTtjb25zdCBPdD15KCkocGFyZW50KSxOdD1bXTtsZXQgV3QsVXQ9W107aWYoTXQud2F0Y2hsaXN0JiYoVXQ9KEFycmF5LmlzQXJyYXkoTXQud2F0Y2hsaXN0KT9NdC53YXRjaGxpc3Q6TXQud2F0Y2hsaXN0LnNwbGl0KC9ceDFmLykpLm1hcCgoZT0+ZS50cmltKCkpKS5maWx0ZXIoQm9vbGVhbikpLFV0Lmxlbmd0aHx8TXQuZWRpdGFibGV3YXRjaGxpc3Qpe2NvbnN0IGU9e3R5cGU6IndhdGNobGlzdCIscHJvcGVydGllczp7bGlzdDpVdH19O2UucmVhZG9ubHk9IU10LmVkaXRhYmxld2F0Y2hsaXN0LE10LmVkaXRhYmxld2F0Y2hsaXN0PyhlLmRhdGE9e2hpZGVUaXRsZUJ1dHRvbjohMH0sZS5zZXR0aW5nc0tleT0ib253aWRnZXQud2F0Y2hsaXN0IixlLnVuQXV0aEVkaXRhYmxlPSEwLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IHBlKGUpOygwLHRlLnJlZ2lzdGVyU2VydmljZSkoc2UuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UsdCl9KFV0KSk6ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgaWUoZSk7KDAsdGUucmVnaXN0ZXJTZXJ2aWNlKShzZS5TWU1CT0xfTElTVF9SRVBPU0lUT1JZX0JBQ0tFTkRfU0VSVklDRSx0KX0oVXQpLE50LnB1c2goZSl9YXMoTXQuZGV0YWlscykmJk50LnB1c2goe3R5cGU6ImRldGFpbCJ9KSx2b2lkIDAhPT1NdC53aWRnZXRiYXJfd2lkdGgmJihXdD0rTXQud2lkZ2V0YmFyX3dpZHRoKSwoIVd0fHwhaXNGaW5pdGUoV3QpfHxXdDwyMDApJiYoV3Q9MjAwKTtjb25zdCB6dD1OdC5sZW5ndGg/W3tuYW1lOiJiYXNlIix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg3MTYwNjYpKSxpY29uOkN0LHdpZGdldHM6TnQubWFwKChlPT5lKSl9XTpbXTtNdC5ob3RsaXN0JiZ6dC5wdXNoKHtuYW1lOiJob3RsaXN0Iix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg4MjEyNDgpKSxpY29uOkV0LHdpZGdldHM6W3t0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoidm9sdW1lX2dhaW5lcnMifX19LHt0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfZ2FpbmVycyJ9fX0sewp0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfbG9vc2VycyJ9fX1dfSk7Y29uc3QgSHQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQ9ZT0+eyJ2aXN1YWwiPT09dGhpcy5fdmlld3BvcnRUeXBlJiZ0aGlzLl93aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLGAke2V9cHhgLCJpbXBvcnRhbnQiKX0sdGhpcy5fd2luZG93PWUsdGhpcy5fZnVsbHNjcmVlbkFwaT10P25ldyBnZShlLmRvY3VtZW50LmJvZHkpOm5ldyBfZShlLmRvY3VtZW50KSx0aGlzLl92aWV3cG9ydFR5cGU9aS5DaGVja01vYmlsZS5pT1MoKSYmISgwLHZlLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJnRoaXMuX3dpbmRvdy52aXN1YWxWaWV3cG9ydD8idmlzdWFsIjoicXVpcmtzIiwidmlzdWFsIj09PXRoaXMuX3ZpZXdwb3J0VHlwZT90aGlzLl92aWV3cG9ydD0oMCxyLmVuc3VyZSkodGhpcy5fd2luZG93LnZpc3VhbFZpZXdwb3J0KTp0aGlzLl92aWV3cG9ydD10aGlzLl93aW5kb3c7Y29uc3Qgcz10aGlzLl9sYXlvdXRTaXplU2Vuc29yPXRoaXMuX3dpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLmlkPSJsYXlvdXQtc2l6ZS1zZW5zb3IiLHMuc3R5bGUucG9zaXRpb249ImZpeGVkIixzLnN0eWxlLnRvcD0iMCIscy5zdHlsZS5sZWZ0PSIwIixzLnN0eWxlLnJpZ2h0PSIwIixzLnN0eWxlLmJvdHRvbT0iMCIscy5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixzLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy5faW5pdEZ1bGxzY3JlZW4oKX1hbGxvY2F0ZSgpe3RoaXMuZnJlZSgpO2NvbnN0IGU9dGhpcy5fd2luZG93LmRvY3VtZW50LHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTGlzdC5hZGQoImpzLXJvb3RyZXNpemVyX19jb250ZW50cyIpLHQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0LnN0eWxlLndpZHRoPSIxMDAlIix0LnN0eWxlLmhlaWdodD0iMTAwJSIsZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdCksZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdGhpcy5fbGF5b3V0U2l6ZVNlbnNvciksdGhpcy5fdmlzaWJpbGl0eUFwaT1uZXcgZmUuVmlzaWJpbGl0eUFwaSh0aGlzLl93aW5kb3cuZG9jdW1lbnQpO2NvbnN0IHM9e2FsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbmFibGU6bmV3IFAuV2F0Y2hlZFZhbHVlKCEwKSxjb250YWluZXI6bmV3IFAuV2F0Y2hlZFZhbHVlKHQpLHdpZHRoOm5ldyBQLldhdGNoZWRWYWx1ZSxoZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsV2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsSGVpZ2h0Om5ldyBQLldhdGNoZWRWYWx1ZSx2aXNpYmxlOnRoaXMuX3Zpc2liaWxpdHlBcGkuaXNWaXNpYmxlLGZ1bGxzY3JlZW46dGhpcy5fZnVsbHNjcmVlbkFwaS5pc0Z1bGxzY3JlZW4scmVtb3ZlOigpPT57cy5hbGl2ZS5zZXRWYWx1ZSghMSl9LGF0dGFjaDooKT0+e3MuYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX3dpbmRvdy5jbG9zZSgpfSxyZXF1ZXN0RnVsbHNjcmVlbjooKT0+e3RoaXMuX3JlcXVlc3RGdWxsc2NyZWVuKCl9LGV4aXRGdWxsc2NyZWVuOigpPT57dGhpcy5fZXhpdEZ1bGxzY3JlZW4oKX19O3JldHVybiBzLmFsaXZlLnN1YnNjcmliZSgoZT0+e2V8fHMhPT10aGlzLl9hcmVhfHx0aGlzLmZyZWUoKX0pKSx0aGlzLl9hcmVhPXMsdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e2NvbnN0IGU9dGhpcy5fd2lkdGgocyl8fDgwMCx0PXRoaXMuX2hlaWdodChzKXx8NjAwO3MuYXZhaWxIZWlnaHQuc2V0VmFsdWUodCkscy5hdmFpbFdpZHRoLnNldFZhbHVlKGUpLHMuaGVpZ2h0LnNldFZhbHVlKHQpLHMud2lkdGguc2V0VmFsdWUoZSl9LHRoaXMuX2FyZWEuaGVpZ2h0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVEb2N1bWVudEhlaWdodCx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVzaXplSGFuZGxlcigpLHRoaXMuX3ZpZXdwb3J0LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplSGFuZGxlciksbmV3IG1lLlJlc2l6ZXJEZXRhY2hlclN0YXRlKHMpLmJyaWRnZSgpfWZyZWUoKXtpZih0aGlzLl9yZXNpemVIYW5kbGVyJiYodGhpcy5fdmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyKSx0aGlzLl9yZXNpemVIYW5kbGVyPXZvaWQgMCksdGhpcy5fdmlzaWJpbGl0eUFwaSYmKHRoaXMuX3Zpc2liaWxpdHlBcGkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlBcGk9dm9pZCAwKSx0aGlzLl9hcmVhKXtjb25zdCBlPXRoaXMuX2FyZWE7dGhpcy5fYXJlYT12b2lkIDAsZS5oZWlnaHQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQpLGUuYWxpdmUuc2V0VmFsdWUoITEpO2NvbnN0IHQ9ZS5jb250YWluZXIudmFsdWUoKSxzPXQ/LnBhcmVudEVsZW1lbnQ7cyYmKHMucmVtb3ZlQ2hpbGQodCkscy5yZW1vdmVDaGlsZCh0aGlzLl9sYXlvdXRTaXplU2Vuc29yKSl9fV9oZWlnaHQoZSl7aWYoInZpc3VhbCI9PT10aGlzLl92aWV3cG9ydFR5cGUpcmV0dXJuIHRoaXMuX2xheW91dFNpemVTZW5zb3IuY2xpZW50SGVpZ2h0O3JldHVybiBlLmNvbnRhaW5lci52YWx1ZSgpLmNsaWVudEhlaWdodH1fd2lkdGgoZSl7cmV0dXJuIGUuY29udGFpbmVyLnZhbHVlKCkuY2xpZW50V2lkdGh9X3JlcXVlc3RGdWxsc2NyZWVuKCl7dGhpcy5fZnVsbHNjcmVlbkFwaS5lbnRlcigpfV9leGl0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuZXhpdCgpfV9pbml0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuaXNGdWxsc2NyZWVuLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Jlc2l6ZUhhbmRsZXImJnRoaXMuX3Jlc2l6ZUhhbmRsZXIoKX0pKX19KHdpbmRvdyksanQ9bmV3IGNsYXNzewpjb25zdHJ1Y3RvcihlKXt0aGlzLl9wcm9jZXNzVmlzaWJpbGl0eT1lPT57Y29uc3QgdD1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiB0aGlzLmFmZmVjdHNMYXlvdXQoZS5uYW1lKT8odCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLCExKSwhMCk6KHQmJnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhMCksITEpfSx0aGlzLl9zZXRXaWR0aD0oZSx0LHMpPT57bGV0IGk9czt0aGlzLl9mdWxsc2NyZWVuQXJlYSE9PWUubmFtZSYmKGUuYXZhaWxXaWR0aC5zZXRWYWx1ZShzKSxlLmNhbk5lZ290aWF0ZS53aWR0aCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy53aWR0aCkpKSx0fHwoaT0wKTtjb25zdCBuPWUuY29udGFpbmVyLnZhbHVlKCk7cmV0dXJuIG4mJnQmJihuLnN0eWxlLndpZHRoPWkrInB4IiksZS53aWR0aC5zZXRWYWx1ZShpKSxpfSx0aGlzLl9zZXRIZWlnaHQ9KGUsdCxzKT0+e2xldCBpPXM7dGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lLm5hbWUmJihlLmF2YWlsSGVpZ2h0LnNldFZhbHVlKHMpLGUuY2FuTmVnb3RpYXRlLmhlaWdodCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy5oZWlnaHQpKSksdHx8KGk9MCk7Y29uc3Qgbj1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiBuJiZ0JiYobi5zdHlsZS5oZWlnaHQ9aSsicHgiKSxlLmhlaWdodC5zZXRWYWx1ZShpKSxpfTtjb25zdCB0PWUuY29udGFpbmVyLnZhbHVlKCk7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJicmlkZ2UuY29udGFpbmVyLnZhbHVlKCkgbXVzdCBiZSBhbiBlbGVtZW50Iik7dGhpcy5fY29udGFpbmVyPXQsdGhpcy5fYXZhaWxhYmxlQXJlYXM9WyJsZWZ0IiwidHJhZGluZ3BhbmVsIiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJjZW50ZXIiLCJ0b3BsZWZ0IiwiZXh0cmF0b3AiLCJhbmFseXNpcyJdLHRoaXMuX2FyZWFzPXt9LHRoaXMuX2JyaWRnZT1lLHRoaXMuX3dpZHRoPWUud2lkdGgsdGhpcy5faGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX3dpZHRoLnN1YnNjcmliZSgoKCk9PnRoaXMucmVjYWxjdWxhdGUoKSkpLHRoaXMuX2hlaWdodC5zdWJzY3JpYmUoKCgpPT50aGlzLnJlY2FsY3VsYXRlKCkpKSx0aGlzLl9icmlkZ2UudmlzaWJsZS5zdWJzY3JpYmUoKCgpPT50aGlzLl91cGRhdGVWaXNpYmlsaXR5KCkpKSx0aGlzLl9icmlkZ2UuZnVsbHNjcmVlbi5zdWJzY3JpYmUoKCgpPT50aGlzLl9vblBhcmVudEZ1bGxzY3JlZW5DaGFuZ2UoKSkpLHRoaXMucmVjYWxjdWxhdGUoKX1hbGxvY2F0ZShlKXtjb25zdCB0PWUmJmUuYXJlYU5hbWU7aWYoLTE9PT10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biBvcHRpb25zLmFyZWFOYW1lIik7dGhpcy5mcmVlKHQpO2NvbnN0IHM9dGhpcy5fY3JlYXRlRE9NKHQpLGk9e25hbWU6dCxjYW5OZWdvdGlhdGU6e3dpZHRoOiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fHwidHJhZGluZ3BhbmVsIj09PXR8fCJ0b3BsZWZ0Ij09PXQsaGVpZ2h0OiJ0b3AiPT09dHx8ImJvdHRvbSI9PT10fHwidG9wbGVmdCI9PT10fHwiZXh0cmF0b3AiPT09dH0sbmVnb3RpYXRpb25zOnt3aWR0aDpbXSxoZWlnaHQ6W119LHJlbW92ZTooKT0+e2Zvcihjb25zdCBlIGluIHRoaXMuX2FyZWFzKXRoaXMuX2FyZWFzW2VdPT09aSYmdGhpcy5mcmVlKGUpfSxuZWdvdGlhdGVXaWR0aDplPT57aWYoIWkuY2FuTmVnb3RpYXRlLndpZHRoKXJldHVybjtjb25zdCB0PVNlKGUpO3dlKGkubmVnb3RpYXRpb25zLndpZHRoLHQpfHwoaS5uZWdvdGlhdGlvbnMud2lkdGg9dCx0aGlzLnJlY2FsY3VsYXRlKCkpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2lmKCFpLmNhbk5lZ290aWF0ZS5oZWlnaHQpcmV0dXJuO2NvbnN0IHQ9U2UoZSk7d2UoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0LHQpfHwoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0PXQsdGhpcy5yZWNhbGN1bGF0ZSgpKX0scmVxdWVzdEZ1bGxzY3JlZW46KCk9Pnt0aGlzLl9mdWxsc2NyZWVuQXJlYXx8KCJyaWdodCIhPT10JiYiY2VudGVyIiE9PXR8fCh0aGlzLl9mdWxsc2NyZWVuQXJlYT10KSwiY2VudGVyIj09PXQmJnRoaXMuX2JyaWRnZS5yZXF1ZXN0RnVsbHNjcmVlbigpLHRoaXMuX3VwZGF0ZUZ1bGxzY3JlZW4oKSl9LGV4aXRGdWxsc2NyZWVuOigpPT57dD09PXRoaXMuX2Z1bGxzY3JlZW5BcmVhJiYodGhpcy5fZnVsbHNjcmVlbkFyZWE9dm9pZCAwLCJjZW50ZXIiPT09dCYmdGhpcy5fYnJpZGdlLmV4aXRGdWxsc2NyZWVuKCksdGhpcy5fdXBkYXRlRnVsbHNjcmVlbigpKX0sd2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGhlaWdodDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxXaWR0aDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxIZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGFsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksY29udGFpbmVyOm5ldyBQLldhdGNoZWRWYWx1ZShzKSx2aXNpYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbjpuZXcgUC5XYXRjaGVkVmFsdWUoITEpLGZ1bGxzY3JlZW5hYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSgicmlnaHQiPT09dHx8ImNlbnRlciI9PT10KSxyZFN0YXRlOm5ldyBtZS5SZXNpemVyRGV0YWNoZXJTdGF0ZX07cmV0dXJuIGkucmRTdGF0ZS5wdXNoT3duZXIoaSksdGhpcy5fYXJlYXNbdF09aSxpLnJkU3RhdGUub3duZXIuc3Vic2NyaWJlKChlPT57Y29uc3Qgcz1pLmNvbnRhaW5lci52YWx1ZSgpO2lmKGUhPT1pKXMmJihzLmlubmVySFRNTD0iIixzLnBhcmVudEVsZW1lbnQmJnMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChzKSk7ZWxzZXtsZXQgZT1udWxsO2ZvcihsZXQgcz10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpO3MtLTspe2NvbnN0IHQ9dGhpcy5fYXZhaWxhYmxlQXJlYXNbc107aWYodGhpcy5hZmZlY3RzTGF5b3V0KHQpKXtlPXRoaXMuX2FyZWFzW3RdLmNvbnRhaW5lci52YWx1ZSgpO2JyZWFrfX1zJiYoZSYmcy5wYXJlbnRFbGVtZW50P3MuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJhZnRlcmVuZCIsZSk6dGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHMpKX10aGlzLnJlY2FsY3VsYXRlKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksCmkucmRTdGF0ZS5icmlkZ2UoKX1mcmVlKGUpe2NvbnN0IHQ9dGhpcy5fYXJlYXNbZV07aWYoIXQpcmV0dXJuO3RoaXMuX2FyZWFzW2VdPXZvaWQgMDtjb25zdCBzPXQuY29udGFpbmVyLnZhbHVlKCk7cyYmcy5wYXJlbnRFbGVtZW50JiZzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQocyksdC5hbGl2ZS5zZXRWYWx1ZSghMSl9cmVjYWxjdWxhdGUoKXtjb25zdCBlPXt9O3RoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuPWU7Y29uc3QgdD10aGlzLl9hcmVhcy50b3BsZWZ0LHM9dGhpcy5fYXJlYXMubGVmdCxpPXRoaXMuX2FyZWFzLnRyYWRpbmdwYW5lbCxuPXRoaXMuX2FyZWFzLnJpZ2h0LHI9dGhpcy5fYXJlYXMudG9wLG89dGhpcy5fYXJlYXMuYm90dG9tLGE9dGhpcy5fYXJlYXMuY2VudGVyLGw9dGhpcy5fYXJlYXMuZXh0cmF0b3AsdT10aGlzLl9hcmVhcy5hbmFseXNpcyxjPXRoaXMuX3dpZHRoLnZhbHVlKCksZD10aGlzLl9oZWlnaHQudmFsdWUoKTtsZXQgaD0wLHA9MCxtPTAsXz0wLGc9MCx5PTAsZj0wLHY9MDtpZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJmwpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkobCk7dj10aGlzLl9zZXRIZWlnaHQobCxlLGQpLHRoaXMuX3NldFdpZHRoKGwsZSxjKX1pZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJnQpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkodCk7Zj10aGlzLl9zZXRIZWlnaHQodCxlLGQpLHk9dGhpcy5fc2V0V2lkdGgodCxlLGMpO2NvbnN0IHM9dC5jb250YWluZXIudmFsdWUoKTtlJiZzJiYocy5zdHlsZS50b3A9disicHgiKX1sZXQgYj0wO2lmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcil7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShyKSx0PXIuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD15KyJweCIsdC5zdHlsZS50b3A9disicHgiKTtjb25zdCBzPWMteTt0aGlzLl9zZXRXaWR0aChyLGUscyksaD10aGlzLl9zZXRIZWlnaHQocixlLGQpLGgmJihiPTEpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcyl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShzKSx0PU1hdGgubWF4KGYsaCk7bT10aGlzLl9zZXRXaWR0aChzLGUsYyksbSYmKG0rPTQpLG0mJjE9PT1iJiYoYj00KTtjb25zdCBpPXMuY29udGFpbmVyLnZhbHVlKCk7ZSYmaSYmKGkuc3R5bGUudG9wPXQrditiKyJweCIpLHRoaXMuX3NldEhlaWdodChzLGUsZC10LXYtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZpKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGkpO2xldCB0PWMtbTtUZXx8KHQtPTMwMCksZz10aGlzLl9zZXRXaWR0aChpLGUsdCksZyYmMT09PWImJihiPTQpLHRoaXMuX3NldEhlaWdodChpLGUsZC12LWgtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZuKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG4pO2xldCB0PWMtbS1nO1RlfHwodC09MzAwKSxfPXRoaXMuX3NldFdpZHRoKG4sZSx0KSxfJiYxPT09YiYmKGI9NCksdGhpcy5fc2V0SGVpZ2h0KG4sZSxkLXYtaC1iKTtjb25zdCBzPW4uY29udGFpbmVyLnZhbHVlKCk7ZSYmcyYmKHMuc3R5bGUudG9wPWgrditiKyJweCIpfWNvbnN0IFM9ZytfLHc9Uz80OjA7bGV0IFA9MCxUPWMtbS1nLV8tdztjb25zdCBDPUJvb2xlYW4oZ3x8IVMpO2lmKCFfJiZnJiYoVCs9NCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZvKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG8pLHQ9by5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSksdGhpcy5fc2V0V2lkdGgobyxlLFQpO2NvbnN0IHM9ZC12O1A9TWF0aC5taW4oMzAwLHMtMCk7Y29uc3QgaT10aGlzLl9zZXRIZWlnaHQobyxlLHMtMCk7cD0wPT09aT8wOmkrNH1jb25zdCBFPUJvb2xlYW4oaCYmKG18fFMpKTtpZih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgibGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyIsRSksUGUuc2V0TmV3QmxhY2tDb2xvciYmdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoImJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIiwhMCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZhKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGEpLHQ9YS5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsIXB8fCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIixDfHwhcCksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLWxlZnQtcmFkaXVzIixCb29sZWFuKCFtJiZTKSksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyIsQykpLHRoaXMuX3NldFdpZHRoKGEsZSxUKTtjb25zdCBzPWQtaC1wLXYtYjt0aGlzLl9zZXRIZWlnaHQoYSxlLE1hdGgubWF4KHMsUCkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmdSl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eSh1KSx0PXUuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD0iMHB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsITApLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLEN8fCFwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCEwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSk7Y29uc3Qgcz1jLV8tdwo7dGhpcy5fc2V0V2lkdGgodSxlLHMpO2NvbnN0IGk9ZC1oLXYtYjt0aGlzLl9zZXRIZWlnaHQodSxlLGkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmaSYmdGhpcy5hZmZlY3RzTGF5b3V0KCJ0cmFkaW5ncGFuZWwiKSl7Y29uc3QgZT1pLmNvbnRhaW5lci52YWx1ZSgpO2UmJihlLnN0eWxlLnJpZ2h0PWcmJl8/YCR7Xys0fXB4YDpgJHtffXB4YCxlLnN0eWxlLnRvcD12K2grYisicHgiLGUuc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXM9RSYmXz8iNHB4IjoiMHB4Iil9ZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZ0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9YWZmZWN0c0xheW91dChlKXtjb25zdCB0PXRoaXMuX2FyZWFzW2VdO2lmKCF0KXJldHVybiExO2lmKHQucmRTdGF0ZS5vd25lci52YWx1ZSgpIT09dClyZXR1cm4hMTtpZih0aGlzLl9mdWxsc2NyZWVuQXJlYSYmdGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lKXJldHVybiBJZShlKTtpZih0aGlzLl93aWR0aC52YWx1ZSgpPD01Njd8fHRoaXMuX2hlaWdodC52YWx1ZSgpPD00NDUmJiFFZSl7aWYoIVsiY2VudGVyIiwidG9wIiwibGVmdCIsInRvcGxlZnQiLCJleHRyYXRvcCIsImFuYWx5c2lzIl0uaW5jbHVkZXMoZSkpcmV0dXJuITF9cmV0dXJuITB9X3VwZGF0ZVZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2JyaWRnZS52aXNpYmxlLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDx0aGlzLl9hdmFpbGFibGVBcmVhcy5sZW5ndGg7dCsrKXtjb25zdCBzPXRoaXMuX2F2YWlsYWJsZUFyZWFzW3RdLGk9dGhpcy5fYXJlYXNbc107aSYmKGUmJnRoaXMuYWZmZWN0c0xheW91dChzKT9pLnZpc2libGUuc2V0VmFsdWUoITApOmkudmlzaWJsZS5zZXRWYWx1ZSghMSkpfX1fb25QYXJlbnRGdWxsc2NyZWVuQ2hhbmdlKCl7dGhpcy5fYnJpZGdlLmZ1bGxzY3JlZW4udmFsdWUoKXx8KHRoaXMuX2Z1bGxzY3JlZW5BcmVhPXZvaWQgMCx0aGlzLl91cGRhdGVGdWxsc2NyZWVuKCkpfV91cGRhdGVGdWxsc2NyZWVuKCl7Y29uc3QgZT12b2lkIDAhPT10aGlzLl9mdWxsc2NyZWVuQXJlYTtmb3IobGV0IHQ9MDt0PHRoaXMuX2F2YWlsYWJsZUFyZWFzLmxlbmd0aDt0Kyspe2NvbnN0IHM9dGhpcy5fYXZhaWxhYmxlQXJlYXNbdF0saT10aGlzLl9hcmVhc1tzXTtpZighaSljb250aW51ZTtpZihzPT09dGhpcy5fZnVsbHNjcmVlbkFyZWEpe2kuZnVsbHNjcmVlbi5zZXRWYWx1ZSghMCk7Y29udGludWV9aS5mdWxsc2NyZWVuLnNldFZhbHVlKCExKTtjb25zdCBuPWkuY29udGFpbmVyLnZhbHVlKCk7biYmbi5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGUmJiFJZShzKSl9dGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMucmVjYWxjdWxhdGUoKX1fY3JlYXRlRE9NKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgibGF5b3V0X19hcmVhLS0iK2UpLHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIiwidHJhZGluZ3BhbmVsIj09PWUmJih0LnN0eWxlLmJvcmRlclRvcFJpZ2h0UmFkaXVzPSI0cHgiKSwiYm90dG9tIj09PWU/dC5zdHlsZS5ib3R0b209IjAiOnQuc3R5bGUudG9wPSIwIiwicmlnaHQiPT09ZXx8InRyYWRpbmdwYW5lbCI9PT1lP3Quc3R5bGUucmlnaHQ9IjAiOnQuc3R5bGUubGVmdD0iMCIsdH19KEh0LmFsbG9jYXRlKCkpLCR0PWFzKE10LmhpZGVfdG9wX3Rvb2xiYXIpP251bGw6anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJ0b3AifSkscXQ9dm9pZCAwPT09TXQuaGlkZV9zaWRlX3Rvb2xiYXJ8fCtNdC5oaWRlX3NpZGVfdG9vbGJhcj9udWxsOmp0LmFsbG9jYXRlKHthcmVhTmFtZToibGVmdCJ9KSxLdD1qdC5hbGxvY2F0ZSh7YXJlYU5hbWU6ImNlbnRlciJ9KSxZdD16dC5sZW5ndGg/anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJyaWdodCJ9KTpudWxsLEd0PW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2FuYWx5c2lzVmlld1NldD1uZXcgT2UoKGU9Pih7bGF5b3V0OnRoaXMscm9vdDp0aGlzLl9hbmFseXNpc0FyZWEuY29udGFpbmVyLnZhbHVlKCksaGVhZGVyOiJ3b3Jrc3BhY2UifSkpLChlPT5CZS5hY3R1YWxDb250ZW50LnNldFZhbHVlKGUpKSksdGhpcy5fY2hhcnRSZXNpemVyPWUsdGhpcy5fYW5hbHlzaXNBcmVhPXRoaXMuX2NoYXJ0UmVzaXplci5hbGxvY2F0ZSh7YXJlYU5hbWU6ImFuYWx5c2lzIn0pLHRoaXMuX2NhblNob3dGbG9hdGluZ1Rvb2xiYXJzPSgwLEZlLmNvbWJpbmUpKChlPT5udWxsPT09ZSksQmUuYWN0dWFsQ29udGVudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzQXJlYS5jb250YWluZXIudmFsdWUoKS5zdHlsZS5kaXNwbGF5PWU/ImdyaWQiOiJub25lIn0pLHtjYWxsV2l0aExhc3Q6ITB9KSxCZS5hY3R1YWxDb250ZW50LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnNldFZhbHVlKG51bGwhPT1lKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1hbmFseXNpc1BhbmVsVmlzaWJsZSgpe3JldHVybiB0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eX1jYW5TaG93RmxvYXRpbmdUb29sYmFycygpe3JldHVybiB0aGlzLl9jYW5TaG93RmxvYXRpbmdUb29sYmFyc31yZWdpc3RlckFuYWx5c2lzVmlldyhlLHQpe3RoaXMuX2FuYWx5c2lzVmlld1NldC5yZWdpc3RlclZpZXcoZSx0KX1oYXNBbmFseXNpc1ZpZXcoZSl7cmV0dXJuIHRoaXMuX2FuYWx5c2lzVmlld1NldC5oYXNWaWV3KGUpfXNob3dBbmFseXNpc1ZpZXcoZSx0KXt0aGlzLl9hbmFseXNpc1ZpZXdTZXQuc2hvd1ZpZXcoZSx0KX19KGp0KTtpZihmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZmluYW5jaWFscyIsKGFzeW5jIGU9PmV0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInRlY2huaWNhbHMiLChhc3luYyBlPT5aZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSwKZS5yZWdpc3RlckFuYWx5c2lzVmlldygic2Vhc29uYWxzIiwoYXN5bmMgZT0+dHQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiYW5hbHlzaXMiLChhc3luYyBlPT5zdC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJmb3JlY2FzdCIsKGFzeW5jIGU9Pml0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm9wdGlvbnMiLChhc3luYyBlPT5ydC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJlY29ub215LWluZGljYXRvcnMiLChhc3luYyBlPT5sdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJib25kcyIsKGFzeW5jIGU9PmN0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImRvY3VtZW50cyIsKGFzeW5jIGU9Pmh0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm5ld3MiLChhc3luYyBlPT5tdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJldGZzIiwoYXN5bmMgZT0+Z3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsKGFzeW5jIGU9PmZ0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIiwoYXN5bmMgZT0+YnQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29udHJhY3RzIiwoYXN5bmMgZT0+d3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29tbXVuaXR5IiwoYXN5bmMgZT0+VHQoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZGVyaXZhdGl2ZXMiLChhc3luYyBlPT5udC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0pKGUpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImNoYXJ0LXRhYmxlLXZpZXciLChhc3luYyBlPT56ZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0oR3QpLEFlLmN1cnJlbnRMYXlvdXQuc2V0VmFsdWUoR3QpLCgwLHhlLnNldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3QpKE10LnN1cHBvcnRfaG9zdD8/IiIpLGt0KXtjb25zdCBlPShKdD1rdCxMZS5maW5kKChlPT5lLnZhbHVlLnZhbHVlPT09SnQpKSk7ZSYmKE10LnJhbmdlPWt0LE10LmludGVydmFsPWUudGFyZ2V0UmVzb2x1dGlvbil9dmFyIEp0O2xldCBYdCxRdDtYdD12b2lkIDA9PT1NdC5pbnRlcnZhbD92b2lkIDA9PT1NdC5zdHlsZT9MdC5kZWZfaW50ZXJ2YWw/PyIxIjooMCxTLmdldERlZmF1bHRSZXNvbHV0aW9uKSgoMCx2LmlzUmFuZ2VTdHlsZSkocGFyc2VJbnQoTXQuc3R5bGUpKSk6TXQuaW50ZXJ2YWwsUXQ9dm9pZCAwPT09TXQuc3R5bGU/dm9pZCAwPT09TXQuaW50ZXJ2YWw/THQuZGVmX3N0eWxlPz8xOigwLHYuZ2V0RGVmYXVsdFN0eWxlKShiLkludGVydmFsLmlzUmFuZ2UoTXQuaW50ZXJ2YWwpKTpwYXJzZUludChNdC5zdHlsZSk7Y29uc3QgWnQ9d2luZG93LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1uZXcgdS5DaGFydFdpZGdldENvbGxlY3Rpb24oe3Jlc2l6ZXJCcmlkZ2U6S3QscGFkZGluZzo1LGVkZ2U6TnVtYmVyKE10LnBhZGRpbmcpfHwwLHB1Ymxpc2hlZENoYXJ0c0VuYWJsZWQ6ITEsc2F2ZUNoYXJ0RW5hYmxlZDohMSxleHRlcm5hbFNlcnZpY2VzOnt0cmFkaW5nOnt0cmFkZWRDb250ZXh0TGlua2luZzpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHNlbGxCdXlCdXR0b25zVmlzaWJpbGl0eVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdCcm9rZXJTZXJ2aWNlOm5ldyBQLldhdGNoZWRWYWx1ZShudWxsKSx0cmFkaW5nQ2hhcnRDb250ZXh0TWVudVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdQbGFjZU9yZGVyU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCl9fSx3aWRnZXRPcHRpb25zOntvbldpZGdldDohMCx1c2VVc2VyQ2hhcnRQcmVmZXJlbmNlczohYXMoTXQuZG9Ob3RTdG9yZVNldHRpbmdzLCExKSxhZGRUb1dhdGNobGlzdEVuYWJsZWQ6ITEscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITEsY2hhcnRFdmVudHNFbmFibGVkOiExLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDohMSxlc2RFbmFibGVkOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVzZG9ud2lkZ2V0Iiksc291cmNlU3RhdHVzZXNXaWRnZXQ6e2Vycm9yU29sdXRpb246ITF9LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6ITAsY2hhcnRXYXJuaW5nV2lkZ2V0OntzdWJzY3JpcHRpb25GdWxsSW5mbzohMX0sd2lkZ2V0Q3VzdG9tZXI6eHQsY3VzdG9tZXJSZWFkYWJsZU5hbWU6UnQsaGlkZUlkZWFzOiEwLGNvbnRyb2xCYXJFbmFibGVkOiEwLGFkZFZvbHVtZTohYXMoTXQuaGlkZV92b2x1bWUpLG11dGVTZXNzaW9uRXJyb3JzOiEoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJyZWZlcnJhbF9wcm9ncmFtX2Zvcl93aWRnZXRfb3duZXJzIiksZGVmU3ltYm9sOkJ0LGRlZkludGVydmFsOlh0LGRlZlN0eWxlOlF0LGRlZlNlc3Npb25JZDpEdCx0aW1lem9uZTpNdC50aW1lem9uZXx8THQuZGVmX3RpbWV6b25lLGRlZlRpbWVmcmFtZTprdCxpc0RyYXdpbmdUb29sYmFyVmlzaWJsZTprLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlLHdhdGVybWFya0VuYWJsZWQ6ITAscGFuZUNvbnRleHRNZW51RW5hYmxlZDohMSxjb21wYXJlU3ltYm9sczpGdCx0aW1lU2NhbGVXaWRnZXQ6e2NvbnRleHRNZW51RW5hYmxlZDohMSx0aW1lem9uZU1lbnVFbmFibGVkOiExfSx0aW1lU2NhbGU6e3ByZXNlcnZlQmFyU3BhY2luZzohMCxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExfSxsZWdlbmRXaWRnZXRFbmFibGVkOiFhcyhNdC5oaWRlX2xlZ2VuZCksbGVnZW5kV2lkZ2V0Ontjb250ZXh0TWVudTp7c2V0dGluZ3M6ITEsZnVuZGFtZW50YWxzOiExLApzaG93T3Blbk1hcmtldFN0YXR1czohMH19LGdvVG9EYXRlRW5hYmxlZDohMSxoYW5kbGVTY3JvbGw6e3ZlcnRUb3VjaERyYWc6YXMoTXQudmVydHRvdWNoZHJhZyksaG9yelRvdWNoRHJhZzphcyhNdC5ob3J6dG91Y2hkcmFnLCEwKX0saGFuZGxlU2NhbGU6e21vdXNlV2hlZWw6ImludmVzdG9wZWRpYSIhPT14dCYmImV1cmV4IiE9PXh0fSxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiEwLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMH0sc2VyaWVzQ29udHJvbEJhckVuYWJsZWQ6ISFWdCxzZXJpZXNDb250cm9sQmFyOnt0aW1lRnJhbWVzV2lkZ2V0RW5hYmxlZDohMCx0aW1lRnJhbWVzV2lkZ2V0Ontnb1RvRGF0ZUVuYWJsZWQ6ITEsYXZhaWxhYmxlVGltZUZyYW1lczp6fSx0aW1lV2lkZ2V0RW5hYmxlZDohMCx0aW1lV2lkZ2V0Ont0aW1lem9uZU1lbnVFbmFibGVkOiExfSxhZGp1c3RGb3JEaXZpZGVuZHNCdXR0b25FbmFibGVkOiEwLHNlc3Npb25JZEJ1dHRvbkVuYWJsZWQ6Qm9vbGVhbihEdCksYmFja0FkanVzdG1lbnRCdXR0b25FbmFibGVkOiExLHNldHRsZW1lbnRBc0Nsb3NlQnV0dG9uRW5hYmxlZDohMSxwZXJjZW50YWdlU2NhbGVCdXR0b25FbmFibGVkOiExLGxvZ1NjYWxlQnV0dG9uRW5hYmxlZDohMSxhdXRvU2NhbGVCdXR0b25FbmFibGVkOiExLGxheW91dEZ1bGxzY3JlZW5CdXR0b25FbmFibGVkOiEwLG1vYmlsZUNoYW5nZUxheW91dEVuYWJsZWQ6ITF9LG1vYmlsZUZvcmNlQ2hhcnRNYXhpbWl6ZUVuYWJsZWQ6ITF9KTtsZXQgZXM9ITE7WnQub25BYm91dFRvQmVEZXN0cm95ZWQuc3Vic2NyaWJlKG51bGwsKCgpPT57ZXM9ITB9KSwhMCksTXQuc3R1ZGllc19vdmVycmlkZXMmJlp0LmFwcGx5U3R1ZGllc092ZXJyaWRlcyhKU09OLnBhcnNlKE10LnN0dWRpZXNfb3ZlcnJpZGVzKSksUHJvbWlzZS5hbGwoW3MuZSg4OTYxOCkscy5lKDgwNjM5KSxzLmUoNDk4ODMpXSkudGhlbihzLmJpbmQocyw5MDg0NTQpKS50aGVuKChlPT57ZS5hZGRCcmFuZGluZ1NvdXJjZShadCl9KSk7Y29uc3QgdHM9WnQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtpZih3aW5kb3cuY2hhcnRXaWRnZXQ9dHMsIVp0LnJlYWRPbmx5KCkpe2NvbnN0IGU9bmV3IFIoWnQpO3dpbmRvdy5zdHVkeU1hcmtldD1uZXcgQyhlLHtvbldpZGdldDohMH0pfWxldCBzcztpZihwLmxpbmtpbmcuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKFp0KSxIKHEuTmFtZXMuV2lkZ2V0TG9hZCxNdC5mcmFtZUVsZW1lbnRJZHx8bnVsbCx2b2lkIDApLE10LnRoZW1lKXtjb25zdCBlPU10LnRoZW1lLnRvTG93ZXJDYXNlKCk7aWYoVi50aGVtZXNbZV0peygwLEEuc2V0VGhlbWUpKGUpO2NvbnN0IHQ9Vi5nZXRTdGRUaGVtZShlKTt0JiZ0LmNvbnRlbnQmJihzcz10LmNvbnRlbnQsTXQuc3R5bGUmJihzcy5tYWluU291cmNlUHJvcGVydGllcy5zdHlsZT1wYXJzZUludChNdC5zdHlsZSkpLCgwLGEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykoc3Mse21haW5TZXJpZXNQcm9wZXJ0aWVzOiJtYWluU291cmNlUHJvcGVydGllcyJ9LCEwKSl9fWxldCBpcz0hMSxucz0hMTtmdW5jdGlvbiBycyhlKXtyZXR1cm4oMCxNZS5pc1BpbmVJZFN0cmluZykoZSk/e3R5cGU6InBpbmUiLHBpbmVJZDplfTp7dHlwZToiamF2YSIsc3R1ZHlJZDplfX1mdW5jdGlvbiBvcygpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5sb2FkaW5nLWluZGljYXRvciIpLmZvckVhY2goKGU9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJihlLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX0pKX1mdW5jdGlvbiBhcyhlLHQ9ITEpe3JldHVybiExPT09ZXx8ITA9PT1lP2U6IjEiPT09ZXx8MT09PWV8fCJ0cnVlIj09PWV8fCIwIiE9PWUmJjAhPT1lJiYiZmFsc2UiIT09ZSYmdH10cy53aXRoTW9kZWwobnVsbCwoZnVuY3Rpb24oKXtjb25zdCBlPXRzLm1vZGVsKCkubWFpblNlcmllcygpO3RzLmFwcGx5T3ZlcnJpZGVzKHsibWFpblNlcmllc1Byb3BlcnRpZXMuc2hvd0NvdW50ZG93biI6ITF9KSxzcyYmdHMubW9kZWwoKS5tb2RlbCgpLnJlc3RvcmVUaGVtZShzcywhMSksTXQuYmFja2dyb3VuZENvbG9yJiZ0cy5hcHBseU92ZXJyaWRlcyh7InBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiOk10LmJhY2tncm91bmRDb2xvciwicGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZFR5cGUiOkRlLkNvbG9yVHlwZS5Tb2xpZH0pLE10LmdyaWRDb2xvciYmdHMuYXBwbHlPdmVycmlkZXMoeyJwYW5lUHJvcGVydGllcy52ZXJ0R3JpZFByb3BlcnRpZXMuY29sb3IiOk10LmdyaWRDb2xvciwicGFuZVByb3BlcnRpZXMuaG9yekdyaWRQcm9wZXJ0aWVzLmNvbG9yIjpNdC5ncmlkQ29sb3J9KSxhc3luYyBmdW5jdGlvbihlKXtpZighZSlyZXR1cm47dHJ5e2NvbnN0IHQ9InN0cmluZyI9PXR5cGVvZiBlP0pTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUpKTplO2lmKCFBcnJheS5pc0FycmF5KHQpfHwwPT09dC5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9dHMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgaT10W2VdO2lmKGkuc3ltYm9sJiZpLnBvc2l0aW9uJiZrZS5Db21wYXJlT3B0aW9uW2kucG9zaXRpb25dKXN3aXRjaChpLnBvc2l0aW9uKXtjYXNlIlNhbWVTY2FsZSI6dHMuYWRkQ29tcGFyZUFzT3ZlcmxheShpLnN5bWJvbCwhMSxzLmlzWWllbGQoKSk7YnJlYWs7Y2FzZSJOZXdQcmljZVNjYWxlIjp0cy5hZGRPdmVybGF5U3R1ZHkoaS5zeW1ib2wsITApO2JyZWFrO2Nhc2UiTmV3UGFuZSI6dHMuYWRkT3ZlcmxheVN0dWR5KGkuc3ltYm9sLCExKX19fWNhdGNoKGUpe3JldHVybn19KE10LmNvbXBhcmVTeW1ib2xzKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZShlLCgoKT0+eyFmdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybjtjb25zdCBzPWUubW9kZWwoKS5tb2RlbCgpLGk9eHQ/MjA6NTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCJzdHJpbmciPT10eXBlb2YgdD90OkpTT04uc3RyaW5naWZ5KHQpKTtlLnNsaWNlKDAsaSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9cy5jcmVhdGVTdHVkeUluc2VydGVyKHJzKGUuaWQpKQo7dC5zZXRGb3JjZU92ZXJsYXkoZS5vdmVybGF5KSx0Lmluc2VydCgoKCk9PlByb21pc2UucmVzb2x2ZSh7aW5wdXRzOmUuaW5wdXRzLHBhcmVudFNvdXJjZXM6W119KSkpfSkpfWNhdGNoKGUpeygoQXJyYXkuaXNBcnJheSh0KT90OnQuc3BsaXQoL1x4MWYvKSl8fFtdKS5zbGljZSgwLGkpLmZvckVhY2goKGU9PntzLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIocnMoZSkpLmluc2VydCgpfSkpfX0od2luZG93LmNoYXJ0V2lkZ2V0LE10LnN0dWRpZXMpfSksITApLGUuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3NzJiZvcygpLFEmJiFpcyYmKFEoWnQsITApLGlzPSEwKSxlZSYmIW5zJiYoZWUoWnQse3Nlcmllc0NvbnRyb2xCYXJFbmFibGVkOiEhVnR9KSxucz0hMCl9KSksZS5kYXRhRXZlbnRzKCkuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntIKHEuTmFtZXMuTm9EYXRhLE10LmZyYW1lRWxlbWVudElkfHxudWxsLHZvaWQgMCl9KSl9KSkscXQmJihhc3luYygpPT57CmNvbnN0W2UsdCx7RHJhd2luZ1Rvb2xiYXI6aX0se0xpbmVUb29sUHJvcGVydGllc1dpZGdldDpufV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDc3OTQ3NCwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLmJpbmQocyw1OTM5MjcpKSxQcm9taXNlLmFsbChbcy5lKDU0ODUyKSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNjc3OTkpLHMuZSgyNDU4MSkscy5lKDg2NDIzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDc4NjUyKSxzLmUoNzA4MTUpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDc1MzA0KSxzLmUoNTIwOTUpLHMuZSg3MDY1Nikscy5lKDQ0MDMxKSxzLmUoNzE5MDEpLHMuZSg0MDkxNCkscy5lKDgxMjQ3KSxzLmUoMjM2NjkpLHMuZSgzODQ3OSkscy5lKDIwNTY0KSxzLmUoNjc5MjUpLHMuZSgzNTM0Mikscy5lKDIzMjU0KSxzLmUoNjY0Nykscy5lKDg2OTk3KSxzLmUoNzkyNykscy5lKDc5NzkxKSxzLmUoMzUwNzMpLHMuZSg1MDMxNikscy5lKDM1Mzk5KSxzLmUoMzIzODcpLHMuZSg4MDkxNSkscy5lKDE4NTEyKSxzLmUoMzUzOTApLHMuZSgzODA4Nikscy5lKDc2MDMzKSxzLmUoMjYxMTgpLHMuZSgyMDMzMSkscy5lKDQyOTM0KV0pLnRoZW4ocy5iaW5kKHMsMjQ3MjEyKSldKTtlc3x8KHQucmVuZGVyKGUuY3JlYXRlRWxlbWVudChpLHtjaGFydFdpZGdldENvbGxlY3Rpb246WnQscmVzaXplckJyaWRnZTpxdCxzY3JlZW5zaG90QnV0dG9uOiJjbWUiPT09eHR9KSxxdC5jb250YWluZXIudmFsdWUoKSksd2luZG93LmxpbmVUb29sUHJvcGVydGllc1Rvb2xiYXI9bmV3IG4oWnQpKX0pKCksJHQmJihhc3luYygpPT57CmNvbnN0W2UsdCxpLHtIZWFkZXJUb29sYmFyOm59XT1hd2FpdCBQcm9taXNlLmFsbChbSyh4dCksUHJvbWlzZS5hbGwoW3MuZSgxNjE5Mykscy5lKDUwMzE2KSxzLmUoODM2NzUpLHMuZSgzMjM4Nykscy5lKDQzOTI2KV0pLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDE2MTkzKSxzLmUoNTAzMTYpLHMuZSg4MzY3NSkscy5lKDMyMzg3KSxzLmUoNDM5MjYpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoMTYxOTMpLHMuZSg1MDMxNikscy5lKDgzNjc1KSxzLmUoMzIzODcpLHMuZSg0MzkyNildKS50aGVuKHMuYmluZChzLDUyMzgwMSkpXSkscj1hd2FpdCBlLmdldFRvb2xTZXQoKSxvPUYubW9iaWxldG91Y2g/WyJmdWxsIl06dm9pZCAwO2kucmVuZGVyKHQuY3JlYXRlRWxlbWVudChuLHt0b29sczpyLGNoYXJ0QXBpSW5zdGFuY2U6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsYXZhaWxhYmxlVGltZUZyYW1lczp6LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpadCxpZGVhczohMSxyZXNpemVyQnJpZGdlOiR0LHBvcHVwQnV0dG9uOmFzKE10LnNob3dfcG9wdXBfYnV0dG9uKSxzdHVkeU1hcmtldDp3aW5kb3cuc3R1ZHlNYXJrZXQsd2luZG93TWVzc2FnZVNlcnZpY2U6T3QsaXNGdW5kYW1lbnRhbDohMSxhbGxvd2VkTW9kZXM6b30pLCR0LmNvbnRhaW5lci52YWx1ZSgpKX0pKCksWXQmJihhc3luYygpPT57Y29uc3Rbe1dpZGdldEJhcjplfSx7Y29uZmlndXJhdGlvbjp0fV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDUyMDYyMSkpLFByb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDM2OTI3MSkpXSk7enQuZm9yRWFjaCgoZT0+e2Uud2lkZ2V0cz1lLndpZGdldHM/LmZpbHRlcigoZT0+ISh2b2lkIDAhPT1lLmlzRW5hYmxlZCYmIWUuaXNFbmFibGVkKSkpfSkpO3dpbmRvdy53aWRnZXRiYXI9bmV3IGUoe3Jlc2l6ZXJCcmlkZ2U6WXQsYWZmZWN0c0xheW91dDooKT0+anQuYWZmZWN0c0xheW91dCgicmlnaHQiKSxyZWFkb25seTohMCxzdGF0ZTp7d2lkdGg6V3QscGFnZXM6enR9LHNob3dDbG9zZUJ1dHRvbjohMCxjb25maWd1cmF0aW9uOigpPT50KHtjaGFydEFwaUluc3RhbmNlOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSksbW9kZWxzOigpPT5bXX0pfSkoKSx0cy5vbkRpc2Nvbm5lY3RlZCgpLnN1YnNjcmliZShudWxsLChlPT57dmFyIHQ7b3MoKSxlJiYodD0oKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmRpc2Nvbm5lY3QoKSxzZXRUaW1lb3V0KCgoKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbm5lY3QoKSx0cy5yZWNvbm5lY3QoKX0pLDUwMCl9LHcoKS50aGVuKChlPT5lLnNob3dDcml0aWNhbEVycm9yTWVzc2FnZSh0KSkpKX0pKSx0cy5vblJlY29ubmVjdEJhaWxvdXQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt2YXIgZTtlPSgpPT57c2V0VGltZW91dCgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0KCl9KSwwKX0sdygpLnRoZW4oKHQ9PnQuc2hvd0Rpc2Nvbm5lY3RlZE1lc3NhZ2UoZSkpKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudHYtY29udGVudCIpLmZvckVhY2goKGU9PntlLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQubWF0Y2hlcygiaW5wdXQsIHRleHRhcmVhIil8fGUucHJldmVudERlZmF1bHQoKX0pKX0pKSxNdC53aG90cmFkZXMmJigwLG8uc2V0RW5hYmxlZCkoIndob3RyYWRlc19hdXRoX29ubHkiLCEwKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubG9hZGluZy1pbmRpY2F0b3IiKS5mb3JFYWNoKChlPT57ZS5yZW1vdmUoKX0pKSwoKCk9PntsZXQgZTtjb25zdCB0PXQ9Pnt2b2lkIDAhPT1lJiYoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikudW5zdWJzY3JpYmUoIndpZGdldFF1b3RlTGlzdGVuZXIiLGUpLGU9dCwoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikuc3Vic2NyaWJlKCJ3aWRnZXRRdW90ZUxpc3RlbmVyIix0LChlPT57Y29uc3QgdD1lLnZhbHVlcyxzPVsiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJsYXN0X3ByaWNlIiwib3JpZ2luYWxfbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIiwidm9sdW1lIl0saT17fTtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1zW2VdO2lmKCF0Lmhhc093blByb3BlcnR5KG4pKXJldHVybjtpW25dPXRbbl19aS52b2x1bWU9MWUxMDA9PT10LnZvbHVtZT92b2lkIDA6dC52b2x1bWUsT3QucG9zdChwYXJlbnQsInF1b3RlVXBkYXRlIixpKX0pKX07dHMud2l0aE1vZGVsKG51bGwsKCgpPT57Y29uc3QgZT10cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wuc3Vic2NyaWJlKGUsKGU9Pnt0KGUudmFsdWUoKSksInRlbGVncmFtIj09PXh0JiZPdC5wb3N0KHBhcmVudCwic3ltYm9sQ2hhbmdlZCIsZS52YWx1ZSgpKX0pKX0pKSxPdC5vbigicXVvdGVTdWJzY3JpYmUiLCgoKT0+e2NvbnN0IGU9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpO3QoZSl9KSksT3Qub24oImltYWdlQ2FudmFzIiwoKGUsdCk9PntadC5jbGllbnRTbmFwc2hvdCgpLnRoZW4oKGU9Pnt0cnl7dCh7ZGF0YVVybDplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIiksd2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9KX1jYXRjaHt0KCl9fSkpLmNhdGNoKCgoKT0+e3QoKX0pKX0pKSwKT3Qub24oInN5bWJvbEluZm8iLCgoZSx0KT0+e2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0cy5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpLGk9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dCh7bmFtZTpzLm5hbWUsZXhjaGFuZ2U6cy5leGNoYW5nZSxkZXNjcmlwdGlvbjpzLmRlc2NyaXB0aW9uLHR5cGU6cy50eXBlLGludGVydmFsOml9KX0pKSxPdC5vbigid2lkZ2V0UmVhZHkiLCgoZSx0KT0+e3RzLndpdGhNb2RlbChudWxsLCgoKT0+e2xldCBlO3RzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT90KCk6KGU9KCk9Pnt0KCksdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUobnVsbCxlKX0sdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsZSkpfSkpfSkpLGooJC5OYW1lcy5TZXRTeW1ib2wsKGU9PntlJiZlLnN5bWJvbCYmWnQuc2V0U3ltYm9sKGUuc3ltYm9sKX0pKSxqKCQuTmFtZXMuU2V0SW50ZXJ2YWwsKGU9PntlJiZlLmludGVydmFsJiZadC5zZXRSZXNvbHV0aW9uKGUuaW50ZXJ2YWwpfSkpfSkoKSx3aW5kb3cuYXBwbHlTdHVkaWVzT3ZlcnJpZGVzPWU9PntlJiZ3aW5kb3cuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFwcGx5U3R1ZGllc092ZXJyaWRlcyhlKX19LDkzMDIzMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkaXNhYmxlOigpPT51LGlzRmVhdHVyZXNldEVuYWJsZWQ6KCk9PmEsc2V0RW5hYmxlZDooKT0+bH0pO3ZhciBpPXMoNjM1MTgpO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBNYXAsbz1uZXcgU2V0O2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2NvbnN0IHM9ci5nZXQoZSk7cmV0dXJuISFzJiZzLnNvbWUoYSl9ZnVuY3Rpb24gbChlLHQpe24uc2V0KFN0cmluZyhlKSxCb29sZWFuKHQpKX1mdW5jdGlvbiB1KGUpe2woZSwhMSl9IWZ1bmN0aW9uKCl7Zm9yKGNvbnN0W2UsdF1vZiBPYmplY3QuZW50cmllcyhpKSlpZihvLmFkZChlKSwic3Vic2V0cyJpbiB0KWZvcihjb25zdCBzIG9mIHQuc3Vic2V0cyl7by5hZGQocyk7bGV0IHQ9ci5nZXQocyk7dm9pZCAwPT09dCYmKHQ9W10sci5zZXQocyx0KSksdC5wdXNoKGUpfX0oKSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRGlzYWJsZWRGZWF0dXJlc2V0cykmJl9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMuZm9yRWFjaCh1KSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyYmQXJyYXkuaXNBcnJheShfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bChlLCEwKX0pKX0sNzkyNjEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEZyZXNoSW5pdERhdGE6KCk9PnUsZ2V0SW5pdERhdGE6KCk9PmwsdXBkYXRlSW5pdERhdGE6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCk7Y29uc3Qgbj0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ29tbW9uLkluaXREYXRhIikscj13aW5kb3cuaW5pdERhdGF8fHt9O2Z1bmN0aW9uIG8oKXshZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdztlLmluaXREYXRhJiZlLmluaXREYXRhIT09ciYmKE9iamVjdC5hc3NpZ24ocixlLmluaXREYXRhKSxlLmluaXREYXRhPXIpfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLGkuZW5zdXJlTm90TnVsbCkocy50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24ocixlKX1jYXRjaChlKXtuLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxpLmVuc3VyZU5vdE51bGwpKHMucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQocyl9fWNvbnN0IHQ9ci5jb250ZW50O3QmJnIuc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLnIuc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtvKCl9ZnVuY3Rpb24gbCgpe3JldHVybiByfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbygpLHJ9fSwyNjk1MzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q2hhbm5lbE11bHRpcGxleGVyOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZXJzPXt9LHRoaXMuX3NwZWNpYWxIYW5kbGVycz17fX1vbihlLHQpe2NvbnN0IHM9dGhpcy5faXNTcGVjaWFsQ2hhbm5lbChlKT90aGlzLl9zcGVjaWFsSGFuZGxlcnM6dGhpcy5faGFuZGxlcnM7c1tlXXx8KHNbZV09W10pLHNbZV0ucHVzaCh0KX1vZmYoZSx0KXtjb25zdCBzPXRoaXMuX2lzU3BlY2lhbENoYW5uZWwoZSk/dGhpcy5fc3BlY2lhbEhhbmRsZXJzOnRoaXMuX2hhbmRsZXJzO2lmKCEoZSBpbiBzKSlyZXR1cm47aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCBkZWxldGUgc1tlXTtjb25zdCBpPXNbZV0uaW5kZXhPZih0KTtpPj0wJiZzW2VdLnNwbGljZShpLDEpfWVtaXQoZSx0LHMsaSl7dGhpcy5faGFuZGxlcnNbc10mJnRoaXMuX2hhbmRsZXJzW3NdLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpO2Zvcihjb25zdCBuIG9mIE9iamVjdC5rZXlzKHRoaXMuX3NwZWNpYWxIYW5kbGVycykpe2NvbnN0IHI9Il4iK24ucmVwbGFjZSgvXCovZywiLio/IikrIiQiO25ldyBSZWdFeHAocikudGVzdChzKSYmdGhpcy5fc3BlY2lhbEhhbmRsZXJzW25dLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpfX1faXNTcGVjaWFsQ2hhbm5lbChlKXtyZXR1cm4vXCovLnRlc3QoZSl9fX0sNjE1NzY5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse011bHRpcGxleGVyU3RhdGU6KCk9Pmx9KQo7dmFyIGk9cyg5NDgzODApLG49cygxNTAxNTApLHI9cyg3Njg3NjApLG89cygxNTI2OTkpLGE9cyg4NDg4NTUpO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9pZD0oMCxuLmd1aWQpKCksdGhpcy5fc3RhdGU9e1t0aGlzLl9pZF06e319LHRoaXMuX3hFdmVudFByZWZpeD0ibXVsdGlwbGV4ZXItc3RhdGUtIix0aGlzLl94RXZlbnRDcmVhdGVUYWI9dGhpcy5feEV2ZW50UHJlZml4KyJjcmVhdGUtbmV3LXRhYiIsdGhpcy5feEV2ZW50U2hhcmVTdGF0ZT10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlLXN0YXRlIix0aGlzLl9sb2NrTmFtZT0idGFiX2Rlc3RydWN0aW9uIix0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2NyZWF0ZWRMb2Nrcz17fSx0aGlzLl9sb2NrRW5hYmxlZD0oMCxhLndlYkxvY2tFbmFibGVkKSgpLHRoaXMuX2xvY2tQcm9taXNlPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX2xvY2tDcmVhdGVkPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX29uVGFiQ3JlYXRlQ2I9bnVsbCx0aGlzLl9vblRhYkNyZWF0ZT1lPT57dGhpcy5fb25UYWJDcmVhdGVDYiYmdGhpcy5fb25UYWJDcmVhdGVDYigpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zdGF0ZVt0XT17fSx0aGlzLl9zaGFyZVN0YXRlKCksdGhpcy5fcmVxdWVzdFRhYlJlbW92ZUxvY2sodCl9LHRoaXMuX3NoYXJlU3RhdGU9YXN5bmMoKT0+e2F3YWl0IHRoaXMuX2xvY2tDcmVhdGVkLnByb21pc2U7Y29uc3QgZT1KU09OLnN0cmluZ2lmeShbdGhpcy5faWQsdGhpcy5fc3RhdGVbdGhpcy5faWRdXSk7by5UVlhXaW5kb3dFdmVudHMuZW1pdCh0aGlzLl94RXZlbnRTaGFyZVN0YXRlLGUpfSx0aGlzLl9yZXF1ZXN0VGFiUmVtb3ZlTG9jaz1lPT57IXRoaXMuX2NyZWF0ZWRMb2Nrc1tlXSYmdGhpcy5fbG9ja0VuYWJsZWQmJih0aGlzLl9jcmVhdGVkTG9ja3NbZV09MSxuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChgJHt0aGlzLl9sb2NrTmFtZX1fJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3N0YXRlW2VdfHx7fTt0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx7fSx0LCJhZGQiKSx0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx0LHt9LCJyZW1vdmUiKSxkZWxldGUgdGhpcy5fc3RhdGVbZV0sZGVsZXRlIHRoaXMuX2NyZWF0ZWRMb2Nrc1tlXX0pKSl9LHRoaXMuX29uU2hhcmVTdGF0ZUZyb21PdGhlcj1lPT57Y29uc3RbdCxzXT1KU09OLnBhcnNlKGUpLGk9dGhpcy5fc3RhdGVbdF18fHt9O3RoaXMuX2NvbXBhcmVUYWJTdGF0ZSh0LHMsaSwiYWRkIiksdGhpcy5fY29tcGFyZVRhYlN0YXRlKHQsaSxzLCJyZW1vdmUiKSx0aGlzLl9zdGF0ZVt0XT1zLHRoaXMuX3JlcXVlc3RUYWJSZW1vdmVMb2NrKHQpfSx0aGlzLl9yZW1vdmVDaGFubmVsPShlLHQpPT57ZGVsZXRlIHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXVt0XSx0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihlLHQpfHx0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLmZpcmUoInJlbW92ZSIsZSx0KTswPT09T2JqZWN0LmtleXModGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdKS5sZW5ndGgmJmRlbGV0ZSB0aGlzLl9zdGF0ZVt0aGlzLl9pZF1bZV19LG8uVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENyZWF0ZVRhYix0aGlzLl9vblRhYkNyZWF0ZSksby5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2hhcmVTdGF0ZSx0aGlzLl9vblNoYXJlU3RhdGVGcm9tT3RoZXIpLHRoaXMuX2xvY2tFbmFibGVkP25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGAke3RoaXMuX2xvY2tOYW1lfV8ke3RoaXMuX2lkfWAsKGFzeW5jKCk9PihvLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudENyZWF0ZVRhYixKU09OLnN0cmluZ2lmeSh0aGlzLl9pZCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpLHRoaXMuX2xvY2tQcm9taXNlLnByb21pc2UpKSk6dGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpfWFkZENoYW5uZWwoZSx0KXt0aGlzLl9pc05vdEVtcHR5KGUsdCk/dGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdKys6KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXXx8KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXT17fSksdGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdPTEpLHRoaXMuX2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCl8fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZSgiYWRkIixlLHQpLHRoaXMuX3NoYXJlU3RhdGUoKX1yZW1vdmVDaGFubmVsKGUsdCl7dGhpcy5faXNFeGlzdChlLHQpJiYodGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdLS0sdGhpcy5faXNOb3RFbXB0eShlLHQpfHx0aGlzLl9yZW1vdmVDaGFubmVsKGUsdCksdGhpcy5fc2hhcmVTdGF0ZSgpKX1jb2xsZWN0UHVzaFN0cmVhbUNoYW5uZWxzKGUpe2NvbnN0IHQ9bmV3IFNldDtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLmZvckVhY2goKHM9Pntjb25zdCBpPXRoaXMuX3N0YXRlW3NdW2VdO3RoaXMuX3N0YXRlW3NdW2VdJiZPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChlPT50LmFkZChlKSkpfSkpLEFycmF5LmZyb20odCl9b25TdGF0ZUNoYW5nZShlKXt0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLnN1YnNjcmliZShudWxsLGUpfW9mZlN0YXRlQ2hhbmdlKGUpe3RoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCxlKX1vblRhYkNyZWF0ZShlKXt0aGlzLl9vblRhYkNyZWF0ZUNiPWV9X2lzRXhpc3QoZSx0LHM9dGhpcy5faWQpe3JldHVybiB2b2lkIDAhPT10aGlzLl9zdGF0ZVtzXSYmdm9pZCAwIT09dGhpcy5fc3RhdGVbc11bZV0mJnZvaWQgMCE9PXRoaXMuX3N0YXRlW3NdW2VdW3RdfV9pc05vdEVtcHR5KGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gdGhpcy5faXNFeGlzdChlLHQscykmJnRoaXMuX3N0YXRlW3NdW2VdW3RdPjB9X2NvbXBhcmVUYWJTdGF0ZShlLHQscyxpKXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT57Ck9iamVjdC5rZXlzKHRbbl0pLmZvckVhY2goKHQ9Pnt0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihuLHQsZSl8fHNbbl0mJnNbbl1bdF18fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZShpLG4sdCl9KSl9KSl9X2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLnNvbWUoKGk9PmkhPT1zJiZ0aGlzLl9pc05vdEVtcHR5KGUsdCxpKSkpfX19LDIyNDQwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQdXNoU3RyZWFtOigpPT5fLFRyYW5zcG9ydFR5cGU6KCk9Pm0sbG9nZ2VyU3Vic3lzdGVtSWQ6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDIyMTA2MSkscj1zKDgwOTk5Myksbz1zKDYzMjY4NiksYT1zKDI5NTYyNik7Y29uc3QgbD0oMCxuLmdldExvZ2dlcikoIlBlcnNpc3RlbnRXZWJzb2NrZXRUcmFuc3BvcnQiKTtjbGFzcyB1IGV4dGVuZHMgYS5QZXJzaXN0ZW50VHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSxsLHQpfXNlbmRNZXNzYWdlKGUpe3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXMudmFsdWUoKT09PW8uQ29ubmVjdGlvblN0YXR1cy5PcGVuP3RoaXMuX3NvY2tldD90aGlzLl9zb2NrZXQuc2VuZChlKTpsLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgzIik6bC5sb2dXYXJuKCJBdHRlbXB0IHRvIHNlbmQgbWVzc2FnZSBidXQgY29ubmVjdGlvbiBpcyBub3Qgb3BlbmVkIil9X2NyZWF0ZU5hdGl2ZVRyYW5zcG9ydChlKXtjb25zdCB0PW5ldyBXZWJTb2NrZXQoZSx0aGlzLl9jb25uZWN0aW9uT3B0aW9ucz8ucHJvdG9jb2xzKTtyZXR1cm4gdC5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5fc29ja2V0RXJyb3JIYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fc29ja2V0TWVzc2FnZUhhbmRsZXIpLHR9X2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKXtpZihudWxsPT09dGhpcy5fc29ja2V0KXJldHVybjt0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuX3NvY2tldEVycm9ySGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJvcGVuIix0aGlzLl9zb2NrZXRPcGVuSGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0aGlzLl9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpO2NvbnN0IGU9dGhpcy5fc29ja2V0O3RoaXMuX3NvY2tldD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUoby5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCksZS5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NFRCYmZS5jbG9zZSgpfX12YXIgYz1zKDE1Njg1MCk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9xdWV1ZT1bXSx0aGlzLl9pc1dvcmtpbmc9ITEsdGhpcy5fb25SZXNvbHZlPSgpPT57dGhpcy5fcXVldWUubGVuZ3RoPjAmJnRoaXMuX2NyZWF0ZVByb21pc2UodGhpcy5fcXVldWVbMF0pfSx0aGlzLl9sb2dnZXI9ZX1lbnF1ZXVlKGUpe3RoaXMuX2xvZ2dlci5sb2dOb3JtYWwoYEFkZGluZyBjaGFubmVsIGluIHN0YWNrLiBRdWV1ZSBzaXplOiAke3RoaXMuX3F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9pc1dvcmtpbmd8fHRoaXMuX2NyZWF0ZVByb21pc2UoZSksdGhpcy5fcXVldWUucHVzaChlKX1fY3JlYXRlUHJvbWlzZShlKXt0aGlzLl9pc1dvcmtpbmc9ITAsdGhpcy5fd3JhcChlKS50aGVuKHRoaXMuX29uUmVzb2x2ZSl9X3dyYXAoZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57ZSgpLmNhdGNoKChlPT50aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBFcnJvciB3aGVuIHRyeWluZyBoYW5kbGluZyBjaGFubmVsOiAke2UubWVzc2FnZX1gKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5faXNXb3JraW5nPSExLHRoaXMuX3F1ZXVlLnNoaWZ0KCksdCgpfSkpfSkpfX1jb25zdCBoPSJQdXNoU3RyZWFtIixwPSgwLG4uZ2V0TG9nZ2VyKShoKTt2YXIgbTshZnVuY3Rpb24oZSl7ZVtlLkV2ZW50U291cmNlPTBdPSJFdmVudFNvdXJjZSIsZVtlLldlYlNvY2tldD0xXT0iV2ViU29ja2V0In0obXx8KG09e30pKTtjbGFzcyBfe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY2hhbm5lbHM9W10sdGhpcy5fcXVldWU9bmV3IGQocCksdGhpcy5fdHJhbnNwb3J0PXQudHJhbnNwb3J0VHlwZT09PW0uRXZlbnRTb3VyY2U/bmV3IHIuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0KHRoaXMuX29uUHVzaFN0cmVhbU1lc3NhZ2UuYmluZCh0aGlzKSk6bmV3IHUodGhpcy5fb25QdXNoU3RyZWFtTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uUHVzaFN0cmVhbUNsb3NlLmJpbmQodGhpcykpLHRoaXMuX3NldHRpbmdzPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZX1hZGRDaGFubmVsKGUpe3RoaXMuX3F1ZXVlLmVucXVldWUoKCgpPT50aGlzLl9hZGRDaGFubmVsKGUpKSl9cmVtb3ZlQ2hhbm5lbChlKXt0aGlzLl9xdWV1ZS5lbnF1ZXVlKCgoKT0+dGhpcy5fcmVtb3ZlQ2hhbm5lbChlKSkpfWdldENoYW5uZWxzKCl7cmV0dXJuIHRoaXMuX2NoYW5uZWxzfWhhc0NoYW5uZWwoZSl7cmV0dXJuLTEhPT10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpfWNvbm5lY3Rpb25TdGF0dXMoKXtyZXR1cm4gdGhpcy5fdHJhbnNwb3J0LmNvbm5lY3Rpb25TdGF0dXMoKX1yZWNvbm5lY3RFdmVudCgpe3JldHVybiB0aGlzLl90cmFuc3BvcnQuc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudCgpfWNvbm5lY3QoKXsoMCxpLmFzc2VydCkoMCE9PXRoaXMuX2NoYW5uZWxzLmxlbmd0aCwiVGhlcmUgaXMgbm8gY2hhbm5lbHMiKSx0aGlzLl90cmFuc3BvcnQuY29ubmVjdCgpfWRpc2Nvbm5lY3QoKXsKdGhpcy5fdHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1nZXRMb2dzKGUpe3JldHVybigwLG4uZ2V0UmF3TG9nSGlzdG9yeSkoZSxoKX1hc3luYyBfYWRkQ2hhbm5lbChlKXsoMCxpLmFzc2VydCkoIXRoaXMuaGFzQ2hhbm5lbChlKSxgQ2hhbm5lbCB3aXRoIG5hbWUgJHtlfSBoYXMgYWxyZWFkeSBiZWVuIHN1YnNjcmliZWRgKSxwLmxvZ05vcm1hbChgQWRkaW5nIGNoYW5uZWwgJHtlfWApLHRoaXMuX2NoYW5uZWxzLnB1c2goZSk7Y29uc3R7bWF4U2l6ZTp0fT10aGlzLl9zZXR0aW5ncztyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5fY2hhbm5lbHMubGVuZ3RoPnQmJih0aGlzLl9jaGFubmVscz10aGlzLl9jaGFubmVscy5zbGljZSh0aGlzLl9jaGFubmVscy5sZW5ndGgtdCkpLHRoaXMuX3RyYW5zcG9ydC5zZXRVcmwodGhpcy5fZ2VuZXJhdGVVcmwoKSl9YXN5bmMgX3JlbW92ZUNoYW5uZWwoZSl7Y29uc3QgdD10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpO3JldHVybigwLGkuYXNzZXJ0KSgtMSE9PXQsYFRoZXJlIGlzIG5vIGNoYW5uZWwgd2l0aCBuYW1lICR7ZX1gKSxwLmxvZ05vcm1hbChgUmVtb3ZpbmcgY2hhbm5lbCAke2V9YCksdGhpcy5fY2hhbm5lbHMuc3BsaWNlKHQsMSksdGhpcy5fdHJhbnNwb3J0LnNldFVybCh0aGlzLl9nZW5lcmF0ZVVybCgpKX1fb25QdXNoU3RyZWFtTWVzc2FnZShlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBtZXNzYWdlIHR5cGUsIGV4cGVjdGVkIHN0cmluZyIpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zZXR0aW5ncy50ZWxlbWV0cnlFbmFibGVkKCkmJnRoaXMuX2hhbmRsZUJhc2ljVGVsZW1ldHJ5KHQpO2NvbnN0IHM9dC5pZCxpPXQuY2hhbm5lbDstMj09PXM/cC5sb2dXYXJuKCJSZWNlaXZlZCB1bmV4cGVjdGVkIG1lc3NhZ2U6IGFib3V0IHJlbW92ZWQgdGhlIGNoYW5uZWwiKTpzPjAmJihwLmxvZ0RlYnVnKGBSZWNlaXZlZCBtZXNzYWdlOiBpZD0iJHtzfSIgY2hhbm5lbD0iJHtpfSJgKSx0aGlzLl9tZXNzYWdlSGFuZGxlcih0LnRleHQscyxpKSl9X2hhbmRsZUJhc2ljVGVsZW1ldHJ5KGUpe3RyeXtjb25zdCB0PSJ0cmFkaW5nIixzPWUudGV4dC5jb250ZW50Ll90cyxpPWUudGV4dC5jb250ZW50Ll9ydHMsbj1EYXRlLm5vdygpO2lmKHMpe2NvbnN0IGU9bi1zO2U+MCYmZTwzNmU1JiYoYy50ZWxlbWV0cnkuc2VuZFJlcG9ydCh0LCJzZXJ2aWNlMmNsaWVudF90aW1lIix7dmFsdWU6ZX0pLGkmJmMudGVsZW1ldHJ5LnNlbmRSZXBvcnQodCwibmdpbngyY2xpZW50X3RpbWUiLHt2YWx1ZTpuLWl9KSl9fWNhdGNoKGUpe319X29uUHVzaFN0cmVhbUNsb3NlKGUpezEwMDU9PT1lLmNvZGUmJmMudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2NvZGVfMTAwNSIpfV9nZW5lcmF0ZVVybCgpe2NvbnN0IGU9dGhpcy5fY2hhbm5lbHMuam9pbigiLyIpO3JldHVybiBwLmxvZ05vcm1hbChgR2VuZXJhdGUgcHVzaHN0cmVhbSB1cmwgLSAke2V9YCksYCR7dGhpcy5fc2V0dGluZ3MudXJsfS8ke3RoaXMuX3NldHRpbmdzLnVybFBhdGh9LyR7ZX1gfX19LDg0ODg1NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt3ZWJMb2NrRW5hYmxlZDooKT0+bn0pO3ZhciBpPXMoNzM4NDU4KTtmdW5jdGlvbiBuKCl7cmV0dXJuIWkuaXNJT1MmJiFpLmlzSVBhZCYmdm9pZCAwIT09bmF2aWdhdG9yLmxvY2tzfX0sOTMwNTY2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtkZWZhdWx0OigpPT5KLGdldEJvb2w6KCk9PlYsZ2V0RmxvYXQ6KCk9PkEsZ2V0SW50OigpPT5GLGdldEpTT046KCk9PlIsZ2V0VmFsdWU6KCk9Pngsa2V5czooKT0+TixrZXlzTWFzazooKT0+Vyxsb2FkZWQ6KCk9PkssbG9hZGVkTW9kZWw6KCk9Plksb25TeW5jOigpPT5qLHJlbW92ZTooKT0+ayxzZXRKU09OOigpPT5PLHNldFNldHRpbmdzQWRhcHRlcjooKT0+cSxzZXRWYWx1ZTooKT0+QixzeW5jOigpPT4kfSk7dmFyIGk9cyg5NDgzODApLG49cygyMjEwNjEpLHI9cyg1NDA1NzgpLG89cyg5MzAyMzEpLGE9cyg1NjkzOTgpLGw9cyg5MDk3OTgpLHU9cygzNzcyMjYpLGM9cygzODQwMTcpLGQ9cygxNTI2OTkpLGg9cyg5MzIzNjUpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IHA9WyJzLnRyYWRpbmd2aWV3LmNvbSIsImJldGFjZG4udHJhZGluZ3ZpZXcuY29tIl0sbT0oKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiKSwibG9jYWwiPT09d2luZG93LmVudmlyb25tZW50PzVlMzoxMmU0KSxfPSgwLHUub25XaWRnZXQpKCk/InRyYWRpbmd2aWV3LXdpZGdldCI6InRyYWRpbmd2aWV3IixnPV8rIi4iO2xldCB5LGYsdixiPSExLFM9bnVsbCx3PXt9LFA9W107Y29uc3QgVD1bL153aWRnZXRiYXJcLndpZGdldFwud2F0Y2hsaXN0LisvLC8uK3F1aWNrcyQvLC9ed2lkZ2V0YmFyXC5sYXlvdXQtc2V0dGluZ3MkLywvXkNoYXJ0U2lkZVRvb2xiYXJXaWRnZXRcLnZpc2libGUkLywvXm9ud2lkZ2V0XC53YXRjaGxpc3QkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzJC8sL15jaGFydFwuZmF2b3JpdGVEcmF3aW5nc1Bvc2l0aW9uJC8sL15jaGFydFwuZmF2b3JpdGVMaWJyYXJ5SW5kaWNhdG9ycyQvLC9ebG9hZENoYXJ0RGlhbG9nLmZhdm9yaXRlcyQvLC9eQ2hhcnRGYXZvcml0ZURyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlLywvXnRyYWRpbmdcLmNoYXJ0XC5wcm90ZXJ0eSQvLC9edHJhZGluZ19mbG9hdGluZ190b29sYmFyXC5wb3NpdGlvbiQvLC9edHJhZGluZ1wub3JkZXJXaWRnZXRNb2RlXC4vLC9ec3ltYm9sV2F0ZXJtYXJrJC8sL15waW5lcmVmZXJlbmNlXC5zaXplJC8sL15waW5lcmVmZXJlbmNlXC5wb3NpdGlvbiQvLC9eaGludFwuKy8sL15DaGFydERyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlL107Y29uc3QgQz0oKT0+IShTfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksRT1lPT5nK2UsST0oMCxuLmdldExvZ2dlcikoIkxpYi5UVlNldHRpbmdzIiksTD1lPT57aWYoYnx8dilyZXR1cm47aWYoKDAsCmEuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfc2F2ZV9zZXR0aW5ncyIpKXJldHVybiB2b2lkIEk/LmxvZ1dhcm4oIlNldHRpbmdzIGZsYXNoaW5nIGhhcyBiZWVuIHNraXBwZWQgYmVjYXVzZSBvZiBkaXNhYmxlX3NhdmVfc2V0dGluZ3MgZmVhdHVyZXRvZ2dsZSIpO2lmKCgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpKXJldHVybjtpZihDKCkpcmV0dXJuO2lmKDA9PT1QLmxlbmd0aClyZXR1cm47Y29uc3QgdD1QO1A9W107Y29uc3Qgcz17fTtmb3IobGV0IGU9dC5sZW5ndGg7ZS0tOyl7Y29uc3QgaT10W2VdO3NbaV09d1tpXT8/bnVsbH1jb25zdCBpPW5ldyBGb3JtRGF0YTtpLmFwcGVuZCgiZGVsdGEiLEpTT04uc3RyaW5naWZ5KHMpKSxlJiZuYXZpZ2F0b3Iuc2VuZEJlYWNvbj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL3NhdmVzZXR0aW5ncy8iLGkpOigwLGMuZmV0Y2gpKCIvc2F2ZXNldHRpbmdzLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGJvZHk6aX0pLnRoZW4oKHM9PntpZihzLm9rfHwoUD1QLmNvbmNhdCh0KSksWzQyOSw1MDNdLmluY2x1ZGVzKHMuc3RhdHVzKSl7Y29uc3QgdD0xZTMqKyhzLmhlYWRlcnMuZ2V0KCJyZXRyeS1hZnRlciIpfHwwKXx8M2U1O3Y9c2V0VGltZW91dCgoKCk9Pnt2PXZvaWQgMCxMKGUpfSksdCl9fSkpLmNhdGNoKCgoKT0+e1A9UC5jb25jYXQodCl9KSl9LE09KCk9Pnt5PXZvaWQgMCxQLmxlbmd0aCYmTCgpfSxEPShlLHQ9e30pPT57aWYoUyludWxsPT13W2VdP1MucmVtb3ZlVmFsdWUoZSk6Uy5zZXRWYWx1ZShlLHdbZV0pO2Vsc2UgaWYoQygpKXRyeXtudWxsPT13W2VdP2guVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShFKGUpKTpoLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oRShlKSx3W2VdKX1jYXRjaChlKXt9ZWxzZSBQLnB1c2goZSkseXx8KHk9c2V0VGltZW91dChNLG0pKTt0LnNraXBDcm9zc1dpbmRvd0V2ZW50fHxkLlRWWFdpbmRvd0V2ZW50cy5lbWl0KCJzZXR0aW5ncyIsSlNPTi5zdHJpbmdpZnkoe2tleTplLHZhbHVlOndbZV19KSl9O2Z1bmN0aW9uIHgoZSx0KXtjb25zdCBzPXdbZV07cmV0dXJuIHM/P3R9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O3RyeXtyZXR1cm4gSlNPTi5wYXJzZShzKX1jYXRjaChzKXtyZXR1cm4gayhlKSx0fX1mdW5jdGlvbiBrKGUsdD17fSl7cmV0dXJuIG51bGwhPXdbZV0mJihkZWxldGUgd1tlXSxEKGUpKSx0LmZvcmNlRmx1c2gmJkwoKSxHfWZ1bmN0aW9uIFYoZSx0KXtjb25zdCBzPXgoZSk7cmV0dXJuIG51bGw9PXM/dDohKCFzfHwiZmFsc2UiPT09c3x8MD09K3MpfWZ1bmN0aW9uIEEoZSx0KXtjb25zdCBzPXgoZSk7aWYobnVsbD09cylyZXR1cm4gdDtjb25zdCBpPXBhcnNlRmxvYXQocyk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGZsb2F0IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIGl9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O2NvbnN0IGk9cGFyc2VJbnQocywxMCk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGludCAoa2V5OiAiJytlKyciKScpO3JldHVybiBpfWZ1bmN0aW9uIEIoZSx0LHM9e30pe2NvbnN0IGk9IiIrdDtyZXR1cm4gd1tlXSE9PWkmJih3W2VdPWksRChlLHMpKSxzLmZvcmNlRmx1c2gmJiFmJiYoZj1zZXRUaW1lb3V0KCgoKT0+e2Y9dm9pZCAwLEwoKX0pLDEwKSksR31mdW5jdGlvbiBPKGUsdCxzKXtyZXR1cm4gQihlLEpTT04uc3RyaW5naWZ5KHQpLHMpLEd9ZnVuY3Rpb24gTigpe3JldHVybiBPYmplY3Qua2V5cyh3KX1mdW5jdGlvbiBXKGUpe2NvbnN0IHQ9TigpLHM9W10saT1uZXcgUmVnRXhwKCJeIisoMCxyLnJlZ0V4cEVzY2FwZSkoZSkucmVwbGFjZSgvXFxcKlxcXCovZ2ksIi4rIikucmVwbGFjZSgvXFxcKi9naSwiW14uXSsiKSsiJCIsImdpIik7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0paS50ZXN0KHRbZV0pJiZzLnB1c2godFtlXSksaS5sYXN0SW5kZXg9MDtyZXR1cm4gc31kLlRWWFdpbmRvd0V2ZW50cy5vbigic2V0dGluZ3MiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO251bGw9PXQudmFsdWU/ZGVsZXRlIHdbdC5rZXldOndbdC5rZXldPXQudmFsdWV9KSk7Y29uc3QgVT1lPT57Zm9yKGxldCB0PTA7dDxULmxlbmd0aDsrK3QpaWYoVFt0XS5leGVjKGUpKXJldHVybiEwO3JldHVybiExfSx6PWU9PmUuc3Vic3RyaW5nKDAsZy5sZW5ndGgpPT09ZyxIPWU9Pnt3PXt9O2NvbnN0IHQ9MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aDt0fHwoZT0+e09iamVjdC5rZXlzKGUpLmZvckVhY2goKHQ9Pnt3W3RdPWVbdF0rIiJ9KSl9KShlKSwoZT0+e2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO3MmJnoocykmJihlJiZCKHMuc3Vic3RyaW5nKGcubGVuZ3RoKSxoLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpLGguVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShzKSl9fSkodCl9LGo9bmV3IGkuRGVsZWdhdGU7ZnVuY3Rpb24gJChlKXtudWxsIT09ZT8oUz9IKFMuaW5pdGlhbFNldHRpbmdzfHx7fSk6QygpPygoKCk9PntpZighKDAsdS5vbldpZGdldCkoKXx8IXAuaW5jbHVkZXMod2luZG93LmxvY2F0aW9uLmhvc3QpKXJldHVybjtjb25zdCBlPSJ0cmFkaW5ndmlldy4iO2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKDA9PT1zLmluZGV4T2YoZSkpe2NvbnN0IHQ9cy5yZXBsYWNlKGUsXysiLiIpO2guVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0LGguVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKSksaC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHMpfX19KSgpLCgoKT0+e3c9e307Y29uc3QgZT0hKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2F2ZV9jaGFydF9wcm9wZXJ0aWVzX3RvX2xvY2FsX3N0b3JhZ2UiKTtmb3IobGV0IHQ9aC5UVkxvY2FsU3RvcmFnZS5sZW5ndGg7dC0tOyl7CmNvbnN0IHM9aC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoIXN8fCF6KHMpKWNvbnRpbnVlO2NvbnN0IGk9cy5zdWJzdHJpbmcoZy5sZW5ndGgpO2UmJiFVKGkpfHwod1tpXT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpfX0pKCkpOkgoZXx8e30pLGouZmlyZSgpKTpiPSEwfWZ1bmN0aW9uIHEoZSl7Uz1lfWNvbnN0IEs9ITEsWT0hMSxHPXtsb2FkZWQ6Syxsb2FkZWRNb2RlbDpZLGdldFZhbHVlOngsZ2V0SlNPTjpSLGdldEJvb2w6VixnZXRGbG9hdDpBLGdldEludDpGLHNldFZhbHVlOkIsc2V0SlNPTjpPLHJlbW92ZTprLGtleXM6TixrZXlzTWFzazpXLHN5bmM6JCxvblN5bmM6aixzZXRTZXR0aW5nc0FkYXB0ZXI6cX0sSj1HO3dpbmRvdy5UVlNldHRpbmdzPUcsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCgpPT57ImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJiEwIT09ZG9jdW1lbnQuaGlkZGVufHxMKCl9KSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKCk9PntMKCEwKX0pKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIiwoKCk9PntMKCEwKX0pKSxsLmZsdXNoRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsKCgpPT57TCgpfSkpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdHtjbGVhck9sZFNldHRpbmdzOmV9PWF3YWl0IHMuZSgzNTk4MCkudGhlbihzLmJpbmQocyw3NTQxODUpKTtlKCl9KSwzZTQpfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9PlMsRklSU1RfREFZX09GX1dFRUs6KCk9PnAsRlJJREFZOigpPT5kLEpBTlVBUlk6KCk9Pl8sSlVMWTooKT0+ZixMQVNUX0RBWV9PRl9XRUVLOigpPT5tLE1BUkNIOigpPT5nLE1BWTooKT0+eSxNT05EQVk6KCk9PmEsTk9WRU1CRVI6KCk9PmIsU0FUVVJEQVk6KCk9PmgsU0VQVEVNQkVSOigpPT52LFNVTkRBWTooKT0+byxUSFVSU0RBWTooKT0+YyxUVUVTREFZOigpPT5sLFdFRE5FU0RBWTooKT0+dSxhZGRfZGF0ZTooKT0+QSxhZGRfbWludXRlczooKT0+RixjYWxfdG9fdXRjOigpPT5HLGNsb25lOigpPT5PLGRheXNfcGVyX3llYXI6KCk9PlcsZ2V0X2NhbDooKT0+cSxnZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXM6KCk9PkssZ2V0X2NhbF91dGM6KCk9PlksZ2V0X2RheV9vZl9tb250aDooKT0+TSxnZXRfZGF5X29mX3dlZWs6KCk9PkQsZ2V0X2RheV9vZl95ZWFyOigpPT54LGdldF9kYXlzX2luX21vbnRoOigpPT5OLGdldF9ob3VyczooKT0+SSxnZXRfbWludXRlczooKT0+TCxnZXRfbWludXRlc19mcm9tX21pZG5pZ2h0OigpPT5SLGdldF9taW51dGVzX3dpdGhfaG91cnM6KCk9PmssZ2V0X21vbnRoOigpPT5FLGdldF90aW1lem9uZTooKT0+SixnZXRfeWVhcjooKT0+Qyxpc19sZWFwX3llYXI6KCk9PlUsbWlsbGlzZWNvbmRzUGVyRGF5OigpPT5ULG1pbnV0ZXNQZXJEYXk6KCk9PncsbWludXRlc1BlcldlZWs6KCk9PlAsc2V0X2htczooKT0+VixzZXRfc2Vjb25kczooKT0+Qix0aW1lX3NlY29uZHM6KCk9PnosdGltZV9zZWNvbmRzX2RpZmY6KCk9PkgsdXRjX3RvX2NhbDooKT0+aix1dGNfdG9fY2FsX3RzOigpPT4kfSk7dmFyIGk9cyg3MTIxODEpO2NvbnN0IG49ezA6MCwxOjMxLDI6NTksMzo5MCw0OjEyMCw1OjE1MSw2OjE4MSw3OjIxMiw4OjI0Myw5OjI3MywxMDozMDQsMTE6MzM0fTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludmFsaWQ9ITEsdGhpcy5fbmFtZT1lO2xldCB0PWkudHpEYXRhPy5bZV0/P251bGw7IXQmJlgmJih0PVguaW5zdGFuY2UoKS5nZXRUaW1lem9uZURhdGEoZSkpLHR8fCh0PXt0aW1lOltdLG9mZnNldDpbXX0sdGhpcy5faW52YWxpZD0hMCksdC50aW1lLmxlbmd0aCE9PXQub2Zmc2V0Lmxlbmd0aCYmKHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKTtjb25zdCBzPXQ7aWYoIXMudGltZV91dGMpe2NvbnN0IGU9dC50aW1lLGk9dC5vZmZzZXQsbj1lLmxlbmd0aCxyPW5ldyBBcnJheShuKTtmb3IobGV0IHQ9MDt0PG47dCsrKWVbdF0qPTFlMyxpW3RdKj0xZTMsclt0XT1lW3RdLWlbdF07cy50aW1lX3V0Yz1yfXRoaXMudHo9c31vZmZzZXRfdXRjKGUpe3JldHVybiByLm9mZnNldCh0aGlzLnR6LnRpbWVfdXRjLHRoaXMudHoub2Zmc2V0LGUpfW9mZnNldF9sb2MoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZSx0aGlzLnR6Lm9mZnNldCxlKX1uYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9aXNfdmFsaWQoKXtyZXR1cm4hdGhpcy5faW52YWxpZH1jb3JyZWN0aW9uX2xvYyhlKXtjb25zdCB0PXRoaXMudHoudGltZSxzPXRoaXMudHoub2Zmc2V0LGk9USh0LGUpO2lmKGk8MSlyZXR1cm4gMDtjb25zdCBuPXNbaV0tc1tpLTFdO2lmKG4+MCl7aWYoZS10W2ktMV08PW4pcmV0dXJuIG59cmV0dXJuIDB9c3RhdGljIG9mZnNldChlLHQscyl7Y29uc3QgaT1RKGUscyk7cmV0dXJuLTE9PT1pPzA6dFtpXX19Y29uc3Qgbz0xLGE9MixsPTMsdT00LGM9NSxkPTYsaD03LHA9byxtPWgsXz0wLGc9Mix5PTQsZj02LHY9OCxiPTEwLFM9MTEsdz0xNDQwLFA9MTAwODAsVD04NjRlNTtmdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBEKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1uW3RdO3JldHVybiB0Pl8rMSYmVShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBSKGUpe3JldHVybiA2MCpJKGUpK0woZSl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gUihlKX1mdW5jdGlvbiBWKGUsdCxzLGksbixyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMoaSksZS5zZXRVVENNaWxsaXNlY29uZHMobiksCnZvaWQgMCE9PXImJmZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmdldFRpbWUoKSxpPXQuY29ycmVjdGlvbl9sb2Mocyk7ZS5zZXRUaW1lKHMraSl9KGUscil9ZnVuY3Rpb24gQShlLHQpe2Uuc2V0VGltZShlLmdldFRpbWUoKSt0KlQpfWZ1bmN0aW9uIEYoZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIEIoZSx0KXtjb25zdCBzPTg2NDAwLGk9dCVzPDA/LTE6MCxuPU1hdGgudHJ1bmModC9zKStpLHI9dC1uKnMsbz1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7VihlLG8sYSxyLTM2MDAqby02MCphLDApLEEoZSxuKX1mdW5jdGlvbiBPKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gTihlLHQpe2xldCBzO3N3aXRjaChlKXtjYXNlIDA6Y2FzZSAyOmNhc2UgNDpjYXNlIDY6Y2FzZSA3OmNhc2UgOTpjYXNlIDExOnM9MzE7YnJlYWs7Y2FzZSAxOnM9MjgsVSh0KSYmcysrO2JyZWFrO2RlZmF1bHQ6cz0zMH1yZXR1cm4gc31mdW5jdGlvbiBXKGUpe3JldHVybiBVKGUpPzM2NjozNjV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZSU0PT0wJiYoZSUxMDAhPTB8fGUlNDAwPT0wKX1mdW5jdGlvbiB6KGUpe3JldHVybiAxZTMqZX1mdW5jdGlvbiBIKGUsdCl7cmV0dXJuIGVlKGUpLWVlKHQpfWZ1bmN0aW9uIGooZSx0KXtyZXR1cm4gbmV3IERhdGUoJChlLHQpKX1mdW5jdGlvbiAkKGUsdCl7cmV0dXJuIHQrZS5vZmZzZXRfdXRjKHQpfWZ1bmN0aW9uIHEoZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsaSxufHwwLHJ8fDAsb3x8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gSyhlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gWShlLHQscyxpPTAsbj0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLGksbixyKSl9ZnVuY3Rpb24gRyhlLHQscyl7bGV0IGk9dC5nZXRUaW1lKCk7cyYmKGkrPWUuY29ycmVjdGlvbl9sb2MoaSkpO3JldHVybiBpLWUub2Zmc2V0X2xvYyhpKX1mdW5jdGlvbiBKKGUpe3JldHVybiBuZXcgcihlKX1sZXQgWDtmdW5jdGlvbiBRKGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBpPTAsbj1zLTEscj1aKChpK24pLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihuPXItMSxuPGkpcmV0dXJuIHJ9ZWxzZSBpZihpPXIrMSxuPGkpcmV0dXJuIHI8cy0xP3IrMTotMTtyPVooKGkrbikvMil9fWZ1bmN0aW9uIFooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gZWUoZSl7cmV0dXJuIGU8MD9aKGUvMWUzKS0oZSUxZTMhPTA/MTowKTpaKGUvMWUzKX19LDc3OTM4OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25Hcm91cDooKT0+bn0pO3ZhciBpPXMoOTkyODAzKTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aW9ucz1uZXcgTWFwLHRoaXMuX21hbmFnZXI9ZSx0aGlzLm9yZGVyPXQ/Lm9yZGVyPz8wLHRoaXMubW9kYWw9ISghdHx8IXQubW9kYWwpLHQmJih0aGlzLmRlc2M9dC5kZXNjKSx0JiZ0LmlzRGlzYWJsZWQ/ImZ1bmN0aW9uIj09dHlwZW9mIHQuaXNEaXNhYmxlZD90aGlzLmlzRGlzYWJsZWQ9dC5pc0Rpc2FibGVkOnRoaXMuaXNEaXNhYmxlZD0oKT0+ITA6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMSx0aGlzLl9tYW5hZ2VyLnJlZ2lzdGVyR3JvdXAodGhpcyl9YWRkKGUpe2xldCB0PXRoaXMuX2FjdGlvbnMuZ2V0KGUuaG90a2V5KTt0fHwodD1bXSx0aGlzLl9hY3Rpb25zLnNldChlLmhvdGtleSx0KSk7Y29uc3Qgcz1uZXcgaS5BY3Rpb24odGhpcyxlKTtyZXR1cm4gdC5wdXNoKHMpLHN9cmVtb3ZlKGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO2lmKCF0KXJldHVybjtjb25zdCBzPXQuZmluZEluZGV4KCh0PT50PT09ZSkpO3M+PTAmJigxPT09dC5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoZS5ob3RrZXkpOnQuc3BsaWNlKHMsMSkpfWhhbmRsZUhvdGtleShlLHQpe2NvbnN0IHM9dGhpcy5fYWN0aW9ucy5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Zm9yKGNvbnN0IGkgb2YgcylpZigoIWkuZWxlbWVudHx8dC50YXJnZXQmJmkuZWxlbWVudC5jb250YWlucyh0LnRhcmdldCkpJiYhaS5pc0Rpc2FibGVkKHQpKXJldHVybiB0LnJlcGVhdCYmIWkuaXNSZXBlYXRBY2NlcHRlZHx8KGkuaGFuZGxlcih0KSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSkpLHQucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssZV1vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtuLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1lfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl7bi5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJm4uX21hdGNoZWRIb3RrZXlIYW5kbGVyKGUpfX19LDI5MTM0MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25NYW5hZ2VyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cygyMzU3MjQpLHI9cyg3MjEzNjkpLG89cyg2OTYyMDgpO2NsYXNzIGEgZXh0ZW5kcyBpLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShlLHQpe2NvbnN0IHM9dGhpcy52YWx1ZSgpOyh0fHx2b2lkIDA9PT1zfHxzLmNvZGUhPT1lLmNvZGV8fHMubW9kaWZpZXJzIT09ZS5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShlKX19Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgaS5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBhKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksCnRoaXMuX2tleURvd25MaXN0ZW5lcj1lPT57aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYodGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgoMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSksZS5jb2RlKSksISgwLHIuaXNOYXRpdmVVSUludGVyYWN0aW9uKSh0LGUudGFyZ2V0KSlmb3IobGV0IHM9dGhpcy5fZ3JvdXBzLmxlbmd0aDtzLS0gPjA7KXtjb25zdCBpPXRoaXMuX2dyb3Vwc1tzXTtpZighaS5pc0Rpc2FibGVkKCkpe2lmKGkuaGFuZGxlSG90a2V5KHQsZSkpcmV0dXJuO2lmKGkubW9kYWwpcmV0dXJufX19LHRoaXMuX2tleVVwTGlzdGVuZXI9ZT0+e2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0KSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSwiIikpfSx0aGlzLl9ibHVyRXZlbnQ9KCk9Pnt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSgwKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKDAsIiIpKX0sdGhpcy5fbW91c2VFdmVudD1lPT57Y29uc3QgdD0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSkscz0yNTUmKHRoaXMuX3ByZXNzZWRLZXlzLnZhbHVlKCk/PzApO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHR8cyl9fWxpc3RlbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX11bmxpc3RlbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX1yZWdpc3Rlckdyb3VwKGUpe3RoaXMuX2dyb3Vwcy5wdXNoKGUpLHRoaXMuc29ydEdyb3VwcygpfXVucmVnaXN0ZXJHcm91cChlKXtmb3IobGV0IHQ9dGhpcy5fZ3JvdXBzLmxlbmd0aDt0LS07KXRoaXMuX2dyb3Vwc1t0XT09PWUmJnRoaXMuX2dyb3Vwcy5zcGxpY2UodCwxKX1wcm9tb3RlR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9nZXRNb2RhbE9yZGVyRXBvY2goKSxzPXUoZSx0KTtsZXQgaT10aGlzLl9ncm91cHMuZmluZEluZGV4KChlPT51KGUsdCk9PT1zKSksbj0wO2Zvcig7aTx0aGlzLl9ncm91cHMubGVuZ3RoJiZ1KHRoaXMuX2dyb3Vwc1tpXSx0KT09PXM7KXtjb25zdCByPXRoaXMuX2dyb3Vwc1tpXTtyPT09ZT9uPTE6dShyLHQpPT09cyYmKHRoaXMuX2dyb3Vwc1tpLW5dPXIpLGkrK310aGlzLl9ncm91cHNbaS1uXT1lfXByZXNzZWRLZXlzKCl7cmV0dXJuIHRoaXMuX3ByZXNzZWRLZXlzLnJlYWRvbmx5KCl9a2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCl7cmV0dXJuIHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5yZWFkb25seSgpfXNvcnRHcm91cHMoKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpO3RoaXMuX2dyb3Vwcy5zb3J0KCgodCxzKT0+dShzLGUpLXUodCxlKSkpfV9nZXRNaW5PcmRlcigpe3JldHVybiB0aGlzLl9ncm91cHMucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0Lm9yZGVyKSksMCl9X2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gdShlLHQpe3JldHVybiBlLm9yZGVyKyhlLm1vZGFsP3Q6MCl9fSw5OTI4MDMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QWN0aW9uOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyb3VwPWU7Y29uc3R7aG90a2V5OnMsaGFuZGxlcjppLGRlc2M6bixpc0Rpc2FibGVkOnIsZWxlbWVudDpvPW51bGwsaXNSZXBlYXRBY2NlcHRlZDphPSExfT10O3RoaXMuaG90a2V5PXMsdGhpcy5oYW5kbGVyPWksdGhpcy5kZXNjPW4sdGhpcy5lbGVtZW50PW8sdGhpcy5pc1JlcGVhdEFjY2VwdGVkPWEsdGhpcy5pc0Rpc2FibGVkPXI/ImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw2OTYyMDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7S2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlOigpPT5ufSk7dmFyIGk9cygyMzU3MjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLm1vZGlmaWVycz1lLHRoaXMuY29kZT10fWFsdE9yT3B0aW9uQ29kZSgpe3JldHVybiJBbHRMZWZ0Ij09PXRoaXMuY29kZXx8IkFsdFJpZ2h0Ij09PXRoaXMuY29kZX1jb250cm9sT3JNZXRhQ29kZSgpe3JldHVybiBpLmlzTWFjS2V5Ym9hcmQ/Ik1ldGFMZWZ0Ij09PXRoaXMuY29kZXx8Ik1ldGFSaWdodCI9PT10aGlzLmNvZGV8fCJPU0xlZnQiPT09dGhpcy5jb2RlfHwiT1NSaWdodCI9PT10aGlzLmNvZGU6IkNvbnRyb2xMZWZ0Ij09PXRoaXMuY29kZXx8IkNvbnRyb2xSaWdodCI9PT10aGlzLmNvZGV9fX0sNjY1MTQ1KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGk7cy5kKHQse01lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlVzZUxhc3RTZXNzaW9uPTBdPSJVc2VMYXN0U2Vzc2lvbiIsZVtlLlVzZTFEPTFdPSJVc2UxRCIsZVtlLlVzZUxhc3RTZXNzaW9uQW5kMUQ9Ml09IlVzZUxhc3RTZXNzaW9uQW5kMUQifShpfHwoaT17fSkpfSwKODAyNTg2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERheVJlc29sdXRpb25UaW1lRnJhbWVPcHRpb25zOigpPT5jLGdldEZyb21Gb3JEYXk6KCk9PmEsZ2V0RnJvbUZvck1vbnRoc0FnbzooKT0+cixnZXRGcm9tRm9yWWVhcnNBZ286KCk9Pm8sZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9uczooKT0+ZCxnZXRNaW5pVGltZUZyYW1lT3B0aW9uczooKT0+dSxnZXRTdGFydE9mVGhlWWVhcjooKT0+bH0pO3ZhciBpPXMoNjY1MTQ1KSxuPXMoNjkzNTAwKTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0TW9udGgodC5nZXRNb250aCgpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RGF0ZSh0LmdldERhdGUoKS1lKSxNYXRoLnRydW5jKHQudmFsdWVPZigpLzFlMyl9ZnVuY3Rpb24gbCgpe3JldHVybiBNYXRoLnRydW5jKG5ldyBEYXRlKChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSwwLDEpLnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bygxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm8oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjZtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cig2KX0sey4uLnQueXRkLHRhcmdldFJlc29sdXRpb246IjFEIixmcm9tOnIoNil9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9XX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsbi5nZXRUaW1lRnJhbWVzKSgpLHM9W107cmV0dXJuIGUhPT1pLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZTFEJiZzLnB1c2goey4uLnQubGFzdHNlc3Npb259KSxlIT09aS5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbiYmcy5wdXNoKHsuLi50WyIxZCJdfSksWy4uLnMsey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiNjAiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMTIwIixmcm9tOnIoMyl9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9LHsuLi50WyI2MG0iXSx0YXJnZXRSZXNvbHV0aW9uOiIxVyIsZnJvbTpvKDUpfSx7Li4udC5hbGx9XX19LDY5MzUwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUaW1lRnJhbWVzOigpPT5yfSk7dmFyIGk9cyg3ODMyNTQpLG49cygyMTU3MzApO2Z1bmN0aW9uIHIoZSl7cmV0dXJueyIxZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTM4MTAwKSksdmFsdWU6e3ZhbHVlOiIxRCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMUQiXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9LCI1ZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoODI4NTUpKSx2YWx1ZTp7dmFsdWU6IjVEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1RCJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjUiKSxkZXNjcmlwdGlvbjooMCxuLmRheXNTdHJpbmdMaXRlcmFsKSg1KX0sIjF3Ijp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg0OTIxMzUpKSx2YWx1ZTp7dmFsdWU6IjdEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1VyJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjE1IiksZGVzY3JpcHRpb246KDAsbi53ZWVrc1N0cmluZ0xpdGVyYWwpKDEpfSwiMW0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgzMjczMykpLHZhbHVlOnt2YWx1ZToiMU0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMzAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDEpfSwiM20iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgxOTA3OCkpLHZhbHVlOnt2YWx1ZToiM00iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjNNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiNjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDMpfSwiNm0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDY4MDc2KSksdmFsdWU6e3ZhbHVlOiI2TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxMjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDYpfSwiMTJtIjp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg3NzAzMDMpKSx2YWx1ZTp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMTJNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMSl9LCIyNG0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzNDc3NykpLHZhbHVlOnt2YWx1ZToiMjRNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIyNE0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgyKX0sIjM2bSI6ewp0ZXh0OmkudChudWxsLHZvaWQgMCxzKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsbi55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjppLnQobnVsbCx2b2lkIDAscyg0ODU0MjApKX0sYWxsOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+byxob3Vyc1N0cmluZ0xpdGVyYWw6KCk9PnIsbWludXRlc1N0cmluZ0xpdGVyYWw6KCk9Pm4sbW9udGhzU3RyaW5nTGl0ZXJhbDooKT0+bCxzdHJpbmdBc1Jlc29sdXRpb246KCk9PmMsd2Vla3NTdHJpbmdMaXRlcmFsOigpPT5hLHllYXJzU3RyaW5nTGl0ZXJhbDooKT0+dX0pO3ZhciBpPXMoNzgzMjU0KTtjb25zdCBuPWU9PmkudChudWxsLHtwbHVyYWw6IntzdHJ9IG1pbnV0ZXMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNDM5MCkpLHI9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gaG91cnMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoMjEwNTc0KSksbz1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBkYXlzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxzKDEwMzAzMCkpLGE9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gd2Vla3MiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjQ0NjI1KSksbD1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBtb250aHMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjk0NjE3KSksdT1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSB5ZWFycyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scygyMTY0MDIpKSxjPWU9PmV9LDMwODgxMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt0aW1lRnJhbWVzOigpPT5pfSk7Y29uc3QgaT0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKX0sODQ0MzAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2Zvcm1hdFN5bWJvbEFuZFJlc29sdXRpb246KCk9PmkuZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbixmb3JtYXRTeW1ib2xTdHJpbmc6KCk9PmkuZm9ybWF0U3ltYm9sU3RyaW5nLGZvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5uLmZvcm1hdFdhdGNobGlzdFRpdGxlfSk7cygxNjI1OCk7dmFyIGk9cygyNjExNTQpLG49cyg0ODUxNzkpfSw5NjI3MzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Zm9ybWF0U3R1ZHlFcnJvcjooKT0+cix0cmllc1RyYW5zbGF0ZUVycm9yOigpPT5ufSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGEuZ2V0KGUpfHxlfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuZm9ybWF0KHtib2xkSGlnaGxpZ2h0U3RhcnQ6IjxiPiIsYm9sZEhpZ2hsaWdodEVuZDoiPC9iPiJ9KX0KY29uc3Qgbz1bWyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iLGkudChudWxsLHZvaWQgMCxzKDI5OTE4OCkpXSxbIlRoZSBkYXRhIHZlbmRvciBkb2Vzbid0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLiIsaS50KG51bGwsdm9pZCAwLHMoODIzMTY2KSldLFsnSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIGluY3JlYXNlICJSb3cgU2l6ZSIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg2NjA2MDkpKV0sWyJIaXN0b2dyYW0gaXMgdG9vIGxhcmdlLCBwbGVhc2UgcmVkdWNlICdSb3cgU2l6ZScgaW5wdXQuIixpLnQobnVsbCx2b2lkIDAscygzMzMwOSkpXSxbJ0hpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSAiVGlja3MgUGVyIFJvdyIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg0NjkyMCkpXSxbIlRoaXMgc2NyaXB0IGlzIGludml0ZS1vbmx5LiBUbyByZXF1ZXN0IGFjY2VzcywgcGxlYXNlIGNvbnRhY3QgaXRzIGF1dGhvci4iLGkudChudWxsLHZvaWQgMCxzKDQ4NzY5NSkpXSxbIlZvbHVtZSBQcm9maWxlIGluZGljYXRvciBhdmFpbGFibGUgb25seSBvbiBvdXIgdXBncmFkZWQgcGxhbnMuIixpLnQobnVsbCx2b2lkIDAscygzMzI1ODcpKV0sWyJWT0xVTUVfQklTVF9NSVhFRCIsaS50KG51bGwsdm9pZCAwLHMoNDk3NjQyKSldLFsiUnVudGltZSBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNzMwNjM4KSldLFsiQWNjZXNzIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg1NDIyKSldLFsiVXNlci1kZWZpbmVkIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg0MjA0NDkpKV0sWyJDb21waWxhdGlvbiBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNjk3ODgxKSldLFsiTWV0cmljIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg3ODkyOTEpKV0sWyJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIixpLnQobnVsbCx2b2lkIDAscyg5MjM5MTIpKV0sWyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiIsaS50KG51bGwsdm9pZCAwLHMoMTc3ODU0KSldLFsiVGhlcmUncyBubyBkYXRhIGZvciB5b3VyIHNlbGVjdGVkIHBlcmlvZCBhbmQgY2hhcnQgdGltZWZyYW1lLiIsaS50KG51bGwsdm9pZCAwLHMoNzEyMTg2KSldLFsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iLGkudChudWxsLHZvaWQgMCxzKDE4MjAyMCkpXSxbIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIixpLnQobnVsbCx2b2lkIDAscyg5MzI4KSldLFsiY2hlY2sgc3R1ZHkgdW5leHBlY3RlZCBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNDAwMzIwKSldLFsiVG8gY2FsY3VsYXRlIHRoZSBWV0FQIGluZGljYXRvciwgbW9yZSBkYXRhIGlzIG5lZWRlZC4gWm9vbSBvdXQgb3Igc2Nyb2xsIGxlZnQgdG8gbG9hZCBtb3JlIGhpc3RvcmljYWwgZGF0YS4iLGkudChudWxsLHZvaWQgMCxzKDc1MzAyNCkpXSxbIlZXQVAgaXMgd2FpdGluZyBmb3IgbW9yZSBkYXRhIixpLnQobnVsbCx2b2lkIDAscygzNjQ3MzYpKV0sWyJUaGUgYmFyIG1hZ25pZmllciBpcyBvbmx5IGF2YWlsYWJsZSB0byB0aGUgUHJlbWl1bSBwbGFuIG9yIGhpZ2hlci4iLGkudChudWxsLHZvaWQgMCxzKDI4MDYyKSldLFsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIixpLnQobnVsbCx2b2lkIDAscygxMjMyMTkpKV1dLGE9bmV3IE1hcChvKX0sMjQ2ODkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoMjc4MjApLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg0MDQyKSxzLmUoMjU1NTQpLHMuZSg5OTQ0OCkscy5lKDMyMzg3KSxzLmUoMzk2MDkpLHMuZSg5MTA3KV0pLnRoZW4ocy5iaW5kKHMsNTg3MzU0KSl9cy5kKHQse2ltcG9ydFBvcHVwUmVuZGVyOigpPT5pfSl9LDE0NzgwNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+YSxnZXRQdWJsaWNhdGlvblR5cGU6KCk9Pm4uZ2V0UHVibGljYXRpb25UeXBlLG9wZW5QdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+dSxwcmVsb2FkUHVibGljYXRpb25WaWV3UG9wdXA6KCk9Pmx9KTt2YXIgaT1zKDI0Njg5KSxuPXMoNjg2NTEzKTtsZXQgcj0hMTthc3luYyBmdW5jdGlvbiBvKCl7cmV0dXJuIHI9ITAsUHJvbWlzZS5hbGwoW3MuZSgzNDI4NCkscy5lKDEyMzg1KSxzLmUoMzMxMCkscy5lKDMzNjcpLHMuZSg2NjQ3MildKS50aGVuKHMuYmluZChzLDQzNTM4MCkpfWFzeW5jIGZ1bmN0aW9uIGEoKXtpZighcilyZXR1cm47Y29uc3QgZT1hd2FpdCBvKCk7YXdhaXQgZS5jbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cCgpfWFzeW5jIGZ1bmN0aW9uIGwoZSl7bygpLCgwLGkuaW1wb3J0UG9wdXBSZW5kZXIpKCksKDAsbi5pbXBvcnRFbnRyeUNvbXBvbmVudCkoZSl9YXN5bmMgZnVuY3Rpb24gdShlKXtyZXR1cm4oYXdhaXQgbygpKS5vcGVuUHVibGljYXRpb25WaWV3UG9wdXAoZSl9fSwyMTYxMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7aWYobnVsbCE9ZSYmImJvb2xlYW4iIT10eXBlb2YgZSYmIWlzTmFOKE51bWJlcihlKSkpcmV0dXJuIE51bWJlcihlKX1mdW5jdGlvbiBuKGUpe2lmKG51bGwhPWUmJiJudW1iZXIiIT10eXBlb2YgZSYmImJvb2xlYW4iIT10eXBlb2YgZSlyZXR1cm4gU3RyaW5nKGUpfXMuZCh0LHsKdG9OdW1iZXJPclVuZGVmaW5lZDooKT0+aSx0b1N0cmluZ09yVW5kZWZpbmVkOigpPT5ufSl9LDMyNjA0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCYWRSZXF1ZXN0RXJyb3JSZXNwb25zZTooKT0+bn0pO3ZhciBpPXMoMTMzODc0KTtjbGFzcyBuIGV4dGVuZHMgaS5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iQmFkUmVxdWVzdEVycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1lLmVycm9yOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fX0sMTMzODc0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0Vycm9yUmVzcG9uc2U6KCk9Pml9KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3N0YXR1cz1lLnN0YXR1cyx0aGlzLl9zdGF0dXNUZXh0PWUuc3RhdHVzVGV4dHx8IiJ9Z2V0SW5mbygpe3JldHVybntuYW1lOnRoaXMubmFtZSxzdGF0dXM6dGhpcy5fc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5fc3RhdHVzVGV4dCxtZXNzYWdlOnRoaXMubWVzc2FnZX19fX0sMzA4Mzg4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldFN5bWJvbERhdGE6KCk9Pmx9KTt2YXIgaT1zKDM4NDAxNyksbj1zKDIxNjA3OSkscj1zKDMyNjA0OCksbz1zKDE1ODc2MyksYT1zKDc3MDgyNSk7ZnVuY3Rpb24gbChlLHQscyxsLHU9ITAsYz0hMSl7Y29uc3QgZD1zLmpvaW4oIiwiKSxoPSgwLG4uZ2V0U3ltYm9sRGF0YVVybCkodCxkLGwsdSxjKSxwPXtzaWduYWw6ZSxtZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4oMCxpLmZldGNoKShoLHAse2xvZ09uRXJyb3JTdGF0dXM6ITF9KS50aGVuKChlPT57aWYoNDAwPT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IGk9ZS5lcnJtc2c7dGhyb3cgbmV3IHIuQmFkUmVxdWVzdEVycm9yUmVzcG9uc2Uoe3N0YXR1czp0LHN0YXR1c1RleHQ6cyxlcnJvcjppfSl9KSl9aWYoNDA0PT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoaT0+e2lmKCJzeW1ib2xfbm90X2V4aXN0cyI9PT1pLmNvZGUpe2NvbnN0IGU9aS5lcnJtc2c7dGhyb3cgbmV3IGEuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSh7c3RhdHVzOnQsc3RhdHVzVGV4dDpzLGVycm9yOmV9KX10aHJvdyBuZXcgby5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1pZihlLm9rKXJldHVybiBlLmpzb24oKS50aGVuKChlPT5lKSk7dGhyb3cgbmV3IG8uSHR0cEVycm9yUmVzcG9uc2UoZSl9KSl9fSwxNTg3NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SHR0cEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9Ikh0dHBFcnJvclJlc3BvbnNlIix0aGlzLl9zdGF0dXM+PTIwMCYmdGhpcy5fc3RhdHVzPDMwMD90aGlzLm1lc3NhZ2U9YEh0dHAgZmFpbHVyZSBkdXJpbmcgcGFyc2luZyBmb3IgJHtlLnVybHx8Iih1bmtub3duIHVybCkifWA6dGhpcy5tZXNzYWdlPWBIdHRwIGZhaWx1cmUgcmVzcG9uc2UgZm9yICR7ZS51cmx8fCIodW5rbm93biB1cmwpIn06ICR7ZS5zdGF0dXN9ICR7ZS5zdGF0dXNUZXh0fWB9fX0sNzcwODI1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1N5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IlN5bWJvbERvZXNOb3RFeGlzdEVycm9yIix0aGlzLm1lc3NhZ2U9ZS5lcnJvcnx8InN5bWJvbCBkb2VzIG5vdCBleGlzdCJ9fX0sMjE2MDc5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiB3aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20ifWZ1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkoKTtyZXR1cm4gdD9gJHtzfS8ke3R9L2A6MT09PWUubGVuZ3RoP2Ake3N9LyR7ZVswXX0vYDpgJHtzfS9nbG9iYWwvYH1mdW5jdGlvbiByKGUsdCxzLG4scil7Y29uc3Qgbz1pKCksYT17c3ltYm9sOmUsZmllbGRzOnR9O24mJihhLm5vXzQwND0idHJ1ZSIpLHImJihhLnByaWNlX2NvbnZlcnNpb249ImRpc2FibGVkIikscyYmKGFbImxhYmVsLXByb2R1Y3QiXT1zKTtjb25zdCBsPW5ldyBVUkwoYCR7b30vc3ltYm9sYCk7cmV0dXJuIE9iamVjdC5rZXlzKGEpLmZvckVhY2goKGU9PntsLnNlYXJjaFBhcmFtcy5hcHBlbmQoZSxhW2VdKX0pKSxsLnRvU3RyaW5nKCl9ZnVuY3Rpb24gbyhlLHQpe3JldHVybmAke2koKX0vZW51bT9pZD0ke2V9Jmxhbmc9JHt0fHx3aW5kb3cubGFuZ3VhZ2V8fCJlbiJ9YH1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuYCR7aSgpfS9lbnVtL29yZGVyZWQ/aWQ9JHtlfSZsYW5nPSR7dHx8d2luZG93Lmxhbmd1YWdlfHwiZW4ifWB9cy5kKHQse2dldEJhY2tlbmRVcmw6KCk9Pm4sZ2V0RW51bU9yZGVyZWRSZWdpc3RyeVVybDooKT0+YSxnZXRFbnVtUmVnaXN0cnlVcmw6KCk9Pm8sZ2V0U3ltYm9sRGF0YVVybDooKT0+cn0pfSw2NDEwMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2NyZWF0ZU5vdGljZURpYWxvZzooKT0+bixzaG93Tm90aWNlRGlhbG9nOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtzLmUoODcyMzgpLHMuZSg1NDY4MSkscy5lKDMxODM3KSxzLmUoMjA5NzEpLHMuZSg0OTUxOCkscy5lKDc1MzA0KSxzLmUoMzgwMDIpLHMuZSg3MDM2NCkscy5lKDg5MTk1KSxzLmUoNzUwNCkscy5lKDQ2NjAwKSxzLmUoMTA3MDQpXSkudGhlbihzLmJpbmQocywyMzU3MikpKS5jcmVhdGVEaWFsb2coe3dpZHRoOjQwMCxkZXN0cm95T25DbG9zZTohMCx0aXRsZTppLnQobnVsbCx2b2lkIDAscyg1NjE2MDApKSwKY29udGVudDppLnQobnVsbCx2b2lkIDAscyg3MjM2MykpLGNvbnRlbnRXcmFwVGVtcGxhdGU6JzxkaXYgY2xhc3M9InR2LWRpYWxvZ19fc2VjdGlvbiB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+PGRpdiBjbGFzcz0idHYtdGV4dCI+PHA+PC9wPjwvZGl2PjwvZGl2PicsYWN0aW9uc1dyYXBUZW1wbGF0ZTonPGRpdiBjbGFzcz0idHYtZGlhbG9nX19zZWN0aW9uIHR2LWRpYWxvZ19fc2VjdGlvbi0tYWN0aW9ucyB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+JyxhY3Rpb25zOlt7bmFtZToib2siLHR5cGU6InByaW1hcnkiLHRleHQ6aS50KG51bGwsdm9pZCAwLHMoMjA4MDc4KSksbWV0aG9kOiJjbG9zZSIsa2V5OlsxMywzMl19XSwuLi5lfSl9ZnVuY3Rpb24gcihlKXtuKGUpLnRoZW4oKGU9PmUub3BlbigpKSl9fSw1MDg3NDcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0U6KCk9Pml9KTtjb25zdCBpPSgwLHMoNDczMDY4KS5jcmVhdGVTZXJ2aWNlRGVzY3JpcHRvcikoIlN5bWJvbExpc3RSZXBvc2l0b3J5QmFja2VuZCIpfSw1ODA1MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+bCxyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT5jLHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+dSxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+ZH0pO3ZhciBpPXMoMTM4NjM4KSxuPXMoOTAxMDIyKSxyPXMoNzA1MDEyKSxvPXMoOTIyMjQ4KTtjb25zdCBhPW5ldyBSZWdFeHAoYF4ke24uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD1bXSxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFssaSxyXT1lLm1hdGNoKGEpfHxbXTtpZihyKXtjb25zdCBlPWAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3J9YDtpJiZzLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfX1mdW5jdGlvbiB1KGUsdCl7Y29uc3Qgcz1tKGUpO3JldHVybiB0Lm1hcCgoZT0+cz8uaGFzT3duUHJvcGVydHkoZSk/ZChlLHNbZV0pOmUpKX1mdW5jdGlvbiBjKGUsdCxzKXtjb25zdCBpPW0oZSk7aWYoaT8uaGFzT3duUHJvcGVydHkocykpe2NvbnN0IGU9aVtzXTtyZXR1cm57b2xkU2VwYXJhdG9yOmQodCxlKSxuZXdTZXBhcmF0b3I6ZChzLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOnN9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBzPWUucmVwbGFjZShuLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtzfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLHIuc2VydmljZSkoby5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5pfSk7Y29uc3QgaT1uZXcgU2V0fSw0MzM3MzUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse0NvbXBhcmVPcHRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlW2UuU2FtZVBjdFNjYWxlPTBdPSJTYW1lUGN0U2NhbGUiLGVbZS5OZXdQcmljZVNjYWxlPTFdPSJOZXdQcmljZVNjYWxlIixlW2UuTmV3UGFuZT0yXT0iTmV3UGFuZSIsZVtlLlNhbWVTY2FsZT0zXT0iU2FtZVNjYWxlIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN5bWJvbFNlYXJjaD0ic3ltYm9sU2VhcmNoIixlLldhdGNobGlzdD0id2F0Y2hsaXN0IixlLkV4Y2hhbmdlPSJleGNoYW5nZSIsZS5Db21wYXJlPSJjb21wYXJlIixlLk9wdGlvbnM9Im9wdGlvbnMifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuRml4ZWQ9ImZpeGVkIixlLkF1dG89ImF1dG8ifShyfHwocj17fSkpfSwzNTM4MShlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtURUNITklDQUxTX1FTX0ZJRUxEUzooKT0+bixURUNITklDQUxTX1NDUkVFTkVSX0NPTFVNTlM6KCk9PnUscmVxdWlyZWRNQUNvbHVtbnM6KCk9PmEscmVxdWlyZWRPc2NDb2x1bW5zOigpPT5vLHJlcXVpcmVkUGl2b3RzQ29sdW1uczooKT0+bCxyZXF1aXJlZFJlY29tbWVuZENvbHVtbnM6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlR5cGU9InR5cGUiLGUuTGlzdGVkRXhjaGFuZ2U9Imxpc3RlZF9leGNoYW5nZSIsZS5QcmljZXNjYWxlPSJwcmljZXNjYWxlIixlLlR5cGVzcGVjcz0idHlwZXNwZWNzIixlLlByb05hbWU9InByb19uYW1lIixlLlNob3J0TmFtZT0ic2hvcnRfbmFtZSJ9KGl8fChpPXt9KSkKO2NvbnN0IG49WyJ0eXBlIiwibGlzdGVkX2V4Y2hhbmdlIiwicHJpY2VzY2FsZSIsInR5cGVzcGVjcyIsInByb19uYW1lIiwic2hvcnRfbmFtZSJdLHI9WyJSZWNvbW1lbmQuT3RoZXIiLCJSZWNvbW1lbmQuQWxsIiwiUmVjb21tZW5kLk1BIl0sbz1bIlJTSSIsIlN0b2NoLksiLCJDQ0kyMCIsIkFEWCIsIkFPIiwiTW9tIiwiTUFDRC5tYWNkIiwiU3RvY2guUlNJLksiLCJXLlIiLCJCQlBvd2VyIiwiVU8iXSxhPVsiRU1BMTAiLCJTTUExMCIsIkVNQTIwIiwiU01BMjAiLCJFTUEzMCIsIlNNQTMwIiwiRU1BNTAiLCJTTUE1MCIsIkVNQTEwMCIsIlNNQTEwMCIsIkVNQTIwMCIsIlNNQTIwMCIsIkljaGltb2t1LkJMaW5lIiwiVldNQSIsIkh1bGxNQTkiXSxsPVsiUGl2b3QuTS5DbGFzc2ljLlIzIiwiUGl2b3QuTS5DbGFzc2ljLlIyIiwiUGl2b3QuTS5DbGFzc2ljLlIxIiwiUGl2b3QuTS5DbGFzc2ljLk1pZGRsZSIsIlBpdm90Lk0uQ2xhc3NpYy5TMSIsIlBpdm90Lk0uQ2xhc3NpYy5TMiIsIlBpdm90Lk0uQ2xhc3NpYy5TMyIsIlBpdm90Lk0uRmlib25hY2NpLlIzIiwiUGl2b3QuTS5GaWJvbmFjY2kuUjIiLCJQaXZvdC5NLkZpYm9uYWNjaS5SMSIsIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSIsIlBpdm90Lk0uRmlib25hY2NpLlMxIiwiUGl2b3QuTS5GaWJvbmFjY2kuUzIiLCJQaXZvdC5NLkZpYm9uYWNjaS5TMyIsIlBpdm90Lk0uQ2FtYXJpbGxhLlIzIiwiUGl2b3QuTS5DYW1hcmlsbGEuUjIiLCJQaXZvdC5NLkNhbWFyaWxsYS5SMSIsIlBpdm90Lk0uQ2FtYXJpbGxhLk1pZGRsZSIsIlBpdm90Lk0uQ2FtYXJpbGxhLlMxIiwiUGl2b3QuTS5DYW1hcmlsbGEuUzIiLCJQaXZvdC5NLkNhbWFyaWxsYS5TMyIsIlBpdm90Lk0uV29vZGllLlIzIiwiUGl2b3QuTS5Xb29kaWUuUjIiLCJQaXZvdC5NLldvb2RpZS5SMSIsIlBpdm90Lk0uV29vZGllLk1pZGRsZSIsIlBpdm90Lk0uV29vZGllLlMxIiwiUGl2b3QuTS5Xb29kaWUuUzIiLCJQaXZvdC5NLldvb2RpZS5TMyIsIlBpdm90Lk0uRGVtYXJrLlIxIiwiUGl2b3QuTS5EZW1hcmsuTWlkZGxlIiwiUGl2b3QuTS5EZW1hcmsuUzEiXSx1PVsuLi5yLC4uLm8sLi4uYSwuLi5sXX0sNzU5OTcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlOigpPT5sfSk7dmFyIGk9cyg5MzA1NjYpLG49cyg5MzAyMzEpLHI9cygyMzIzNjQpO2NvbnN0IG89ISgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVmdF90b29sYmFyX2J5X2RlZmF1bHQiKSxhPWkuZ2V0Qm9vbCgiQ2hhcnREcmF3aW5nVG9vbGJhcldpZGdldC52aXNpYmxlIixvKSxsPW5ldyByLldhdGNoZWRWYWx1ZShhKX0sODkwODM1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2N1cnJlbnRMYXlvdXQ6KCk9Pml9KTtjb25zdCBpPW5ldyhzKDIzMjM2NCkuV2F0Y2hlZFZhbHVlKShudWxsKX0sMTk4OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhbGN1bGF0ZU1pbk1heDooKT0+Qyxjb2xsZWN0QWxsUGF0aHM6KCk9Pk0sY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHM6KCk9PmIsZmluZEZpcnN0OigpPT5mLGluZGV4T2Y6KCk9PnYsaW50ZXJzZWN0OigpPT5fLGpvaW46KCk9PmcsbG93ZXJib3VuZDooKT0+bCxsb3dlcmJvdW5kRXh0OigpPT5hLG1hcEVudHJpZXNHZW5lcmF0b3I6KCk9PncsbWluTWF4OigpPT5ULG1vdmVBZnRlcjooKT0+cCxtb3ZlQmVmb3JlOigpPT5tLG1vdmVUb0hlYWQ6KCk9PmgsbmVzdGVkTWFwR2VuZXJhdG9yOigpPT5QLHJlbW92ZUVtcHR5T2JqZWN0c0Zyb21SZWNvcmRJbnBsYWNlOigpPT5JLHJlbW92ZUl0ZW1Gcm9tQXJyYXk6KCk9PnkscmV2ZXJ0UmVjb3JkOigpPT5ELHN1YnRyYWN0OigpPT5kLHN1bTooKT0+Uyx1cHBlcmJvdW5kOigpPT5jfSk7dmFyIGk9cygxNDQ1NTUpLG49cyg4ODAxMTUpLHI9cygxMzg2MzgpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gZTx0fWZ1bmN0aW9uIGEoZSx0LHMsaSxuKXtsZXQgcj1uLWk7Zm9yKDswPHI7KXtjb25zdCBuPXI+PjEsbz1pK247cyhlKG8pLHQpPyhpPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaX1mdW5jdGlvbiBsKGUsdCxzLGk9MCxuPWUubGVuZ3RoKXtyZXR1cm4gYSgodD0+ZVt0XSksdCxzLGksbil9ZnVuY3Rpb24gdShlLHQscz0wLGk9ZS5sZW5ndGgpe3JldHVybiBsKGUsdCxvLHMsaSl9ZnVuY3Rpb24gYyhlLHQscyxpPTAsbj1lLmxlbmd0aCl7bGV0IHI9bi1pO2Zvcig7MDxyOyl7Y29uc3Qgbj1yPj4xLG89aStuO3ModCxlW29dKT9yPW46KGk9bysxLHItPW4rMSl9cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQpe3JldHVybiBlLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKX1mdW5jdGlvbiBoKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7cmV0dXJuIHM8MD9lLnNsaWNlKCk6W3RdLmNvbmNhdChlLnNsaWNlKDAscykpLmNvbmNhdChlLnNsaWNlKHMrMSkpfWZ1bmN0aW9uIHAoZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPGUubGVuZ3RoLTE/dShvLHMrMSk6bi5sZW5ndGgsbi5zcGxpY2UocywwLC4uLnIpLHtuZXdJdGVtczpuLG1vdmVkSXRlbXNTdGFydEluZGV4OnN9fWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPD1lLmxlbmd0aC0xP3UobyxzKTpuLmxlbmd0aCxuLnNwbGljZShzLDAsLi4ucikse25ld0l0ZW1zOm4sbW92ZWRJdGVtc1N0YXJ0SW5kZXg6c319ZnVuY3Rpb24gXyhlLHQpe2NvbnN0IHM9bmV3IFNldDtyZXR1cm4gZS5mb3JFYWNoKChlPT57dC5oYXMoZSkmJnMuYWRkKGUpfSkpLHN9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IHM9bmV3IFNldChlKTtyZXR1cm4gdC5mb3JFYWNoKChlPT5zLmFkZChlKSkpLHN9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5pbmRleE9mKHQpOygwLApyLmFzc2VydCkoLTEhPT1zLCJJdGVtIGlzIG5vdCBmb3VuZCIpLGUuc3BsaWNlKHMsMSl9ZnVuY3Rpb24gZihlLHQpe2Zvcihjb25zdCBzIG9mIGUpaWYodChzKSlyZXR1cm4gcztyZXR1cm4gbnVsbH1mdW5jdGlvbiB2KGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspaWYodChlW3NdKSlyZXR1cm4gcztyZXR1cm4tMX1mdW5jdGlvbiBiKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdLmlkKCkhPT10W3NdLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApfWZ1bmN0aW9uKncoZSl7Zm9yKGNvbnN0W3Qsc11vZiBlKXlpZWxkW3Qsc119ZnVuY3Rpb24qUChlLHQpe2Zvcihjb25zdFtzLGldb2YgZSlpZih2b2lkIDA9PT10KWZvcihjb25zdFssZV1vZiBpKXlpZWxkW3MsZV07ZWxzZXtjb25zdCBlPWkuZ2V0KHQpO3ZvaWQgMCE9PWUmJih5aWVsZFtzLGVdKX19ZnVuY3Rpb24gVChlKXtyZXR1cm5bTWF0aC5taW4oLi4uZSksTWF0aC5tYXgoLi4uZSldfWZ1bmN0aW9uIEMoZSx0KXtyZXR1cm4gVChlLm1hcCh0KSl9ZnVuY3Rpb24gRShlKXtmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSlBcnJheS5pc0FycmF5KGVbdF0pPyhFKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpOigwLG4uZGVmYXVsdCkoZVt0XSkmJihJKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpfWZ1bmN0aW9uIEkoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiB0KUFycmF5LmlzQXJyYXkoZVtzXSk/KEUoZVtzXSksKDAsaS5kZWZhdWx0KShlW3NdKSYmZGVsZXRlIGVbc10pOigwLG4uZGVmYXVsdCkoZVtzXSkmJihJKGVbc10pLCgwLGkuZGVmYXVsdCkoZVtzXSkmJmRlbGV0ZSBlW3NdKTtyZXR1cm4gZX1mdW5jdGlvbiBMKGUsdCxzKXtjb25zdCBpPU9iamVjdC5rZXlzKGUpO2Zvcihjb25zdCByIG9mIGkpe2NvbnN0IGk9dD9gJHt0fS4ke3J9YDpyOygwLG4uZGVmYXVsdCkoZVtyXSk/TChlW3JdLGkscyk6cy5wdXNoKGkpfX1mdW5jdGlvbiBNKGUpe2NvbnN0IHQ9W107cmV0dXJuIEwoZSwiIix0KSx0fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLnJlZHVjZSgoKGUsW3Qsc10pPT4oZVtzXT10LGUpKSx7fSl9fSw4MTUzNTQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldCB0PWU7Y29uc3Qgcz0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLCgpPT57dD1udWxsfX1zLmQodCx7Y2FsbFdoZW5PbmxpbmU6KCk9Pml9KX0sMTE1MjkzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RldGVjdEF1dG9EaXJlY3Rpb246KCk9PncsZm9yY2VMVFJTdHI6KCk9PnAsZm9yY2VMVFJTdHJTc3I6KCk9Pm0sZm9yY2VSVExNYXJrc1N0cjooKT0+ZCxmb3JjZVJUTFN0cjooKT0+ZyxnZXRMVFJTY3JvbGxMZWZ0OigpPT55LGdldExUUlNjcm9sbExlZnRPZmZzZXQ6KCk9PmYsaXNSdGw6KCk9Pm8sc2V0RG9jdW1lbnREaXJHZXR0ZXI6KCk9PnIsc3RhcnRXaXRoTFRSOigpPT5oLHN0cmlwTFRSTWFya3M6KCk9PmMsc3RyaXBMVFJTdHJTc3I6KCk9Pl99KTt2YXIgaT1zKDMyMDQwMyk7bGV0IG49KCk9Pm51bGw7ZnVuY3Rpb24gcihlKXtuPWV9Y29uc3Qgbz0oKT0+InJ0bCI9PT1mdW5jdGlvbigpe2NvbnN0IGU9bigpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiRG9jdW1lbnQgZGlyZWN0aW9uIGdldHRlciBpcyBub3Qgc2V0LCBjYWxsIHNldERvY3VtZW50RGlyR2V0dGVyIHRvIHNldCBpdCIpO3JldHVybiBlfSgpLGE9IuKAqiIsbD0i4oCsIix1PW5ldyBSZWdFeHAoIuKAjnzigI984oCqfOKAq3zigKwiLCJnIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4iIiE9PWUmJm8oKSYmbnVsbCE9ZT9lLnJlcGxhY2UodSwiIik6ZX1mdW5jdGlvbiBkKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI8iK2UrIuKAjiI6ZX1mdW5jdGlvbiBoKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI4iK2U6ZX1mdW5jdGlvbiBwKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lP2ErZStsOmV9ZnVuY3Rpb24gbShlKXtyZXR1cm4gYStlK2x9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKGEpJiZlLmVuZHNXaXRoKGwpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigKsiK2UrbDplfWZ1bmN0aW9uIHkoZSl7cmV0dXJuKDAsaS5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCkoZSwicnRsIil9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IHM9KDAsaS5kZXRlY3RTY3JvbGxUeXBlKSgpO2lmKCJpbmRldGVybWluYXRlIj09PXMpcmV0dXJuIDA7c3dpdGNoKHMpe2Nhc2UibmVnYXRpdmUiOnQ9ZS5jbGllbnRXaWR0aC1lLnNjcm9sbFdpZHRoK3Q7YnJlYWs7Y2FzZSJyZXZlcnNlIjp0PWUuc2Nyb2xsV2lkdGgtZS5jbGllbnRXaWR0aC10fXJldHVybiB0fXZhciB2OyFmdW5jdGlvbihlKXtlLkxUUj0ibHRyIixlLlJUTD0icnRsIixlLlVOS05PV049IiJ9KHZ8fCh2PXt9KSk7Y29uc3QgYj0vW15cdTAwMDAtXHUwMDQwXHUwMDVCLVx1MDA2MFx1MDA3Qi1cdTAwQkZcdTAwRDdcdTAwRjdcdTAyQjktXHUwMkZGXHUyMDAwLVx1MjAwRVx1MjAxMC1cdTIwMjlcdTIwMkNcdTIwMkYtXHUyQkZGXS8sUz0vW1x1MDU5MC1cdTA3RkZcdTIwMEZcdTIwMkJcdTIwMkVcdUZCMUQtXHVGREZEXHVGRTcwLVx1RkVGQ10vO2Z1bmN0aW9uIHcoZSl7Y29uc3QgdD1iLmV4ZWMoZSk7cmV0dXJuIHQ/Uy50ZXN0KHRbMF0pPyJydGwiOiJsdHIiOiIifX0sNzA1MDEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhc1NlcnZpY2U6KCk9PnUscmVnaXN0ZXJTZXJ2aWNlOigpPT5hLHNlcnZpY2U6KCk9PmMsdW5yZWdpc3RlclNlcnZpY2U6KCk9Pmwsd2FpdFNlcnZpY2VSZWdpc3RlcmVkOigpPT5kfSk7dmFyIGk9cyg3Njg3NjApLG49cygyMzIzNjQpCjtjb25zdCByPXt9LG89bmV3IE1hcDtmdW5jdGlvbiBhKGUsdCl7aWYodShlKSl0aHJvdyBuZXcgRXJyb3IoIlNlcnZpY2UgYWxyZWFkeSByZWdpc3RlcmVkIik7aChlKS5zZXRWYWx1ZSh0KTtjb25zdCBzPW8uZ2V0KGUpO3ZvaWQgMCE9PXMmJihvLmRlbGV0ZShlKSxzLnJlc29sdmUodCkpfWZ1bmN0aW9uIGwoZSl7aWYoIXUoZSkpdGhyb3cgbmV3IEVycm9yKCJTZXJ2aWNlIG5vdCBmb3VuZCIpO2goZSkuc2V0VmFsdWUobnVsbCl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbnVsbCE9PWgoZSkudmFsdWUoKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9aChlKS52YWx1ZSgpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiU2VydmljZUxvY2F0b3I6IFNlcnZpY2UgIitlKyIgbm90IGZvdW5kIik7cmV0dXJuIHR9ZnVuY3Rpb24gZChlKXtpZih1KGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYyhlKSk7bGV0IHQ9by5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQmJih0PSgwLGkuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLG8uc2V0KGUsdCkpLHQucHJvbWlzZX1mdW5jdGlvbiBoKGUpe2xldCB0PXJbZV07cmV0dXJuIHR8fCh0PW5ldyBuLldhdGNoZWRWYWx1ZShudWxsKSxyW2VdPXQpLHR9fSw0OTExNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7YXZhaWxhYmxlRGF0ZUZvcm1hdHM6KCk9PmIsZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+ZixkZWZhdWx0RGF0ZUZvcm1hdDooKT0+dyxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PnYseXl5eTooKT0+eX0pO3ZhciBpPXMoNzgzMjU0KSxuPXMoODIyNDMxKSxyPXMoODU2MzI0KTtjb25zdCBvPXsxOigpPT5pLnQobnVsbCx2b2lkIDAscyg2NTczNzQpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg2MTczNDEpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygxMDMzMDUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscyg1MjY3ODUpKSw1OigpPT5pLnQobnVsbCx7Y29udGV4dDoic2hvcnQifSxzKDczNDc1MCkpLDY6KCk9PmkudChudWxsLHZvaWQgMCxzKDg3NzQ1KSksNzooKT0+aS50KG51bGwsdm9pZCAwLHMoMTgzOTU5KSksODooKT0+aS50KG51bGwsdm9pZCAwLHMoOTM3NjIpKSw5OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzg0NjkpKSwxMDooKT0+aS50KG51bGwsdm9pZCAwLHMoNzI4MzM3KSksMTE6KCk9PmkudChudWxsLHZvaWQgMCxzKDY0NjU0NSkpLDEyOigpPT5pLnQobnVsbCx2b2lkIDAscyg3NjkwMzYpKX0sYT17MTooKT0+aS50KG51bGwsdm9pZCAwLHMoODk3NjcpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg5NDg5MjMpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygzNjc5MzUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzU1MDcpKX0sbD0oZSx0KT0+KHQ/ZS5nZXRNb250aCgpOmUuZ2V0VVRDTW9udGgoKSkrMSx1PShlLHQpPT50P2UuZ2V0RGF0ZSgpOmUuZ2V0VVRDRGF0ZSgpLGM9KGUsdCk9PnQ/ZS5nZXRGdWxsWWVhcigpOmUuZ2V0VVRDRnVsbFllYXIoKSxkPShlLHQpPT5lLnRvTG9jYWxlRGF0ZVN0cmluZygoMCxyLmdldExhbmd1YWdlKSgpPygwLHIubWFwTGFuZ3VhZ2VDb2RlKSgoMCxyLmdldExhbmd1YWdlKSgpKTp2b2lkIDAse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZToibG9jYWwiPT09dD92b2lkIDA6dH0pLGg9KGUsdCk9PmFbKChlLHQpPT5NYXRoLmZsb29yKChsKGUsdCktMSkvMykrMSkoZSx0KV0oKSxwPShlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMiksbT0oZSx0KT0+b1tsKGUsdCldKCksXz0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobChlLHQpLDIpLGc9KGUsdCk9PigwLG4ubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGMoZSx0KSUxMDAsMikseT0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYyhlLHQpLDQpLGY9eyJxcSAneXkiOihlLHQpPT5gJHtoKGUsdCl9ICcke2coZSx0KX1gLCJxcSB5eXl5IjooZSx0KT0+YCR7aChlLHQpfSAke3koZSx0KX1gLCJkZCBNTU0gJ3l5IjooZSx0KT0+YCR7cChlLHQpfSAke20oZSx0KX0gJyR7ZyhlLHQpfWAsIk1NTSAneXkiOihlLHQpPT5gJHttKGUsdCl9ICcke2coZSx0KX1gLCJNTU0gZGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7cChlLHQpfSwgJHt5KGUsdCl9YCwiTU1NIGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7KChlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMCkpKGUsdCl9LCAke3koZSx0KX1gLCJNTU0geXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHt5KGUsdCl9YCwiTU1NIGRkIjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJkZCBNTU0iOihlLHQpPT5gJHtwKGUsdCl9ICR7bShlLHQpfWAsInl5eXktTU0tZGQiOihlLHQpPT5gJHt5KGUsdCl9LSR7XyhlLHQpfS0ke3AoZSx0KX1gLCJ5eS1NTS1kZCI6KGUsdCk9PmAke2coZSx0KX0tJHtfKGUsdCl9LSR7cChlLHQpfWAsInl5L01NL2RkIjooZSx0KT0+YCR7ZyhlLHQpfS8ke18oZSx0KX0vJHtwKGUsdCl9YCwieXl5eS9NTS9kZCI6KGUsdCk9PmAke3koZSx0KX0vJHtfKGUsdCl9LyR7cChlLHQpfWAsImRkLU1NLXl5eXkiOihlLHQpPT5gJHtwKGUsdCl9LSR7XyhlLHQpfS0ke3koZSx0KX1gLCJkZC1NTS15eSI6KGUsdCk9PmAke3AoZSx0KX0tJHtfKGUsdCl9LSR7ZyhlLHQpfWAsImRkL01NL3l5IjooZSx0KT0+YCR7cChlLHQpfS8ke18oZSx0KX0vJHtnKGUsdCl9YCwiZGQvTU0veXl5eSI6KGUsdCk9PmAke3AoZSx0KX0vJHtfKGUsdCl9LyR7eShlLHQpfWAsIk1NL2RkL3l5IjooZSx0KT0+YCR7XyhlLHQpfS8ke3AoZSx0KX0vJHtnKGUsdCl9YCwiTU0vZGQveXl5eSI6KGUsdCk9PmAke18oZSx0KX0vJHtwKGUsdCl9LyR7eShlLHQpfWB9O2Z1bmN0aW9uIHYoZSx0KXtyZXR1cm4iamEiPT09KDAsci5nZXRMYW5ndWFnZSkoKT8ocyxpKT0+YCR7ZltlXShzLGkpfSAoJHtkKHMsdCl9KWA6KHMsaSk9PmAke2Qocyx0KX0gJHtmW2VdKHMsaSl9YH0KY29uc3QgYj1PYmplY3Qua2V5cyhmKSxTPVsiamEiLCJrbyIsInpoIiwiemhfVFciXSx3PSgpPT5TLmluY2x1ZGVzKCgwLHIuZ2V0TGFuZ3VhZ2UpKCkpPyJ5eXl5LU1NLWRkIjoiZGQgTU1NICd5eSJ9LDYzMjY4NihlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtDb25uZWN0aW9uU3RhdHVzOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLkNsb3NlZD0wXT0iQ2xvc2VkIixlW2UuQ29ubmVjdGluZz0xXT0iQ29ubmVjdGluZyIsZVtlLk9wZW49Ml09Ik9wZW4ifShpfHwoaT17fSkpfSw4MDk5OTMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0OigpPT5hfSk7dmFyIGk9cygyMjEwNjEpLG49cyg2MzI2ODYpLHI9cygyOTU2MjYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJQZXJzaXN0ZW50V2Vic29ja2V0VHJhbnNwb3J0Iik7Y2xhc3MgYSBleHRlbmRzIHIuUGVyc2lzdGVudFRyYW5zcG9ydHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLG8pLHRoaXMuX3NwZWNpYWxpemVkRXJyb3JIYW5kbGVyQm91bmQ9dGhpcy5fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIuYmluZCh0aGlzKX1fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KGUpe2NvbnN0IHQ9bmV3IEV2ZW50U291cmNlKGUse3dpdGhDcmVkZW50aWFsczohMH0pO3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm9wZW4iLHRoaXMuX3NvY2tldE9wZW5IYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0fV9kaXNjb25uZWN0VHJhbnNwb3J0KCl7aWYobnVsbD09PXRoaXMuX3NvY2tldClyZXR1cm47dGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlciksdGhpcy5fcmVtb3ZlT25PZmZsaW5lTGlzdGVuZXIoKTtjb25zdCBlPXRoaXMuX3NvY2tldDt0aGlzLl9zb2NrZXQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLGUucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5DTE9TRUQmJmUuY2xvc2UoKX1fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIoZSl7ZS5ldmVudFBoYXNlPT09RXZlbnRTb3VyY2UuQ0xPU0VEP3RoaXMuX3NvY2tldENsb3NlSGFuZGxlcihlKTp0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXIoKX19fSwyOTU2MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudFRyYW5zcG9ydDooKT0+dX0pO3ZhciBpLG49cyg4MTUzNTQpLHI9cygyMzIzNjQpLG89cyg5NDgzODApLGE9cygyMTQ5ODcpLGw9cyg2MzI2ODYpOyFmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTMwMF09Ik5vcm1hbCIsZVtlLlRvb01hbnlSZWNvbm5lY3RzPTVlM109IlRvb01hbnlSZWNvbm5lY3RzIn0oaXx8KGk9e30pKTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl91cmw9IiIsdGhpcy5fc29ja2V0PW51bGwsdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLHRoaXMuX3NvY2tldENsb3NlSGFuZGxlcj10aGlzLl9vbkNsb3NlQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXI9dGhpcy5fb25FcnJvckNhbGxiYWNrLmJpbmQodGhpcyksdGhpcy5fc29ja2V0T3BlbkhhbmRsZXI9dGhpcy5fb25PcGVuQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlcj10aGlzLl9vbk1lc3NhZ2VDYWxsYmFjay5iaW5kKHRoaXMpLHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZT1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9zaG91bGRSZWNvbm5lY3Q9ITAsdGhpcy5fbWF4UmVjb25uZWN0Q291bnQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdHJ5UmVjb25uZWN0PSgpPT57aWYodGhpcy5fZGlzY29ubmVjdCgpLHRoaXMuX3Nob3VsZFJlY29ubmVjdCl7Y29uc3QgZT10aGlzLl9nZXRSZWNvbm5lY3RUaW1lb3V0KCk7dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgU2xlZXBpbmcgc29tZSB0aW1lIGJlZm9yZSByZWNvbm5lY3QgJHtlfW1zYCksdGhpcy5fcmVjb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0SW1wbC5iaW5kKHRoaXMpLGUpfWVsc2UgdGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiU2tpcCByZWNvbm5lY3RpbmcgYmVjYXVzZSBvZiBzaG91bGRSZWNvbm5lY3Qgc3RhdGUiKX0sdGhpcy5fb25PZmZsaW5lSGFuZGxlcj0oKT0+e3RoaXMuX3JlbW92ZU9uT2ZmbGluZUxpc3RlbmVyKCksdGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb2ZmbGluZSAtIHRyeWluZyB0byByZWNvbm5lY3QiKSx0aGlzLl90cnlSZWNvbm5lY3QoKX0sdGhpcy5fbG9nZ2VyPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZSx0aGlzLl9jbG9zZUhhbmRsZXI9cyx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIiwoKCk9Pnt0LmxvZ05vcm1hbCgiVW5sb2FkIGV2ZW50IGNvbWVzIC0gZGlzY29ubmVjdGluZyB3aXRob3V0IHJlY29ubmVjdCBhZnRlciB0aGF0Li4uIiksdGhpcy5fc2hvdWxkUmVjb25uZWN0PSExLHRoaXMuX2Rpc2Nvbm5lY3QoKX0pLCExKX1zZXRVcmwoZSx0KXtpZih0aGlzLl91cmw9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKQo7Y29uc3Qgcz10aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkO3JldHVybiBzJiZ0aGlzLl9kaXNjb25uZWN0KCksdGhpcy5fdXJsPWUsdGhpcy5fY29ubmVjdGlvbk9wdGlvbnM9dCxzP3RoaXMuY29ubmVjdCgpOlByb21pc2UucmVzb2x2ZSgpfXVybCgpe3JldHVybiB0aGlzLl91cmx9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9jb25uZWN0SW1wbCgpfXNldE1heFJlY29ubmVjdENvdW50KGUpe3RoaXMuX21heFJlY29ubmVjdENvdW50PWV9Y29ubmVjdGlvblN0YXR1cygpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3Nob3VsZFJlY29ubmVjdD0hMSx0aGlzLl9kaXNjb25uZWN0KCl9bWF4UmVjb25uZWN0UmVhY2hlZEV2ZW50KCl7cmV0dXJuIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfXN1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnQoKXtyZXR1cm4gdGhpcy5fc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfWFzeW5jIF9wcmVwYXJlUGFyYW1zRm9yQ29ubmVjdGlvbihlKXt9X2Rpc2Nvbm5lY3QoKXt0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX2Nvbm5lY3RBYm9ydENvbnRyb2xsZXI9bnVsbCxjbGVhclRpbWVvdXQodGhpcy5fcmVjb25uZWN0VGltZW91dElkKSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkP3RoaXMuX3NvY2tldD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgQ2xvc2luZyBjb25uZWN0aW9uIHRvOiAke3RoaXMuX3NvY2tldC51cmx9LCBjdXJyZW50U3RhdHVzOiAke2wuQ29ubmVjdGlvblN0YXR1c1t0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCldfWApLHRoaXMuX2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKSk6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiRGlzY29ubmVjdGluZyB3aXRob3V0IHNvY2tldCAtIHByb2JhYmx5IHdpdGhpbiBwcmVwYXJpbmcsIGl0IHNob3VsZCBiZSBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgYWJvcnRpbmciKTp0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJBdHRlbXB0IHRvIGNsb3NlIGNvbm5lY3Rpb24gYnV0IGl0IGlzIGNsb3NlZCBhbHJlYWR5Iil9X29uRXJyb3JDYWxsYmFjaygpe3RoaXMuX2xvZ2dlci5sb2dJbmZvKCJDb25uZWN0aW9uIGlzIGNsb3NlZCBieSBlcnJvciIpLHRoaXMuX3RyeVJlY29ubmVjdCgpfV9vbkNsb3NlQ2FsbGJhY2soZSl7dGhpcy5fbG9nZ2VyLmxvZ0luZm8oYENvbm5lY3Rpb24gaXMgY2xvc2VkIC0gY29kZT0ke2UuY29kZX0gbXNnPSR7ZS5yZWFzb259YCksdGhpcy5fY2xvc2VIYW5kbGVyPy4oZSksdGhpcy5fdHJ5UmVjb25uZWN0KCl9X3RyeVJlY29ubmVjdEltcGwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21heFJlY29ubmVjdENvdW50JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD09PXRoaXMuX21heFJlY29ubmVjdENvdW50Pyh0aGlzLl9sb2dnZXIubG9nV2FybigiTWF4aW11bSBhdHRlbXB0cyB0byByZWNvbm5lY3QgdG8gd2Vic29ja2V0IHJlYWNoZWQiKSx2b2lkIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlLmZpcmUoKSk6KHRoaXMuX3JlY29ubmVjdENvdW50Kz0xLHRoaXMuX2xvZ2dlci5sb2dJbmZvKGBSZWNvbm5lY3RpbmcgY291bnQ6ICR7dGhpcy5fcmVjb25uZWN0Q291bnR9YCksbmF2aWdhdG9yLm9uTGluZT8odGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHZvaWQgdGhpcy5jb25uZWN0KCkpOih0aGlzLl9sb2dnZXIubG9nSW5mbygiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHZvaWQodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49KDAsbi5jYWxsV2hlbk9ubGluZSkoKCgpPT57dGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLmNvbm5lY3QoKX0pKSkpKX1fb25PcGVuQ2FsbGJhY2soKXt0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJDb25uZWN0aW9uIG9wZW5lZCIpLHRoaXMuX3JlY29ubmVjdENvdW50PjAmJnRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZS5maXJlKCksdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5PcGVuKX1fb25NZXNzYWdlQ2FsbGJhY2soZSl7dGhpcy5fbWVzc2FnZUhhbmRsZXIoZS5kYXRhKX1fZ2V0UmVjb25uZWN0VGltZW91dCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudDw1PzMwMDo1ZTN9X3NldE9uT2ZmbGluZUxpc3RlbmVyKCl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuX29uT2ZmbGluZUhhbmRsZXIpfV9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvZmZsaW5lIix0aGlzLl9vbk9mZmxpbmVIYW5kbGVyKX1hc3luYyBfY29ubmVjdEltcGwoKXtpZih0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIkF0dGVtcHQgdG8gb3BlbiBjb25uZWN0aW9uIGJ1dCBpdCBpcyBub3QgY2xvc2VkIik7dGhpcy5fc29ja2V0JiYodGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgyIiksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuJiYodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsKSx0aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBDb25uZWN0aW5nIHRvICR7dGhpcy5fdXJsfWApLHRoaXMuX3Nob3VsZFJlY29ubmVjdD0hMCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIKO2NvbnN0IGU9dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlci5zaWduYWw7dHJ5e2lmKHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUobC5Db25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpLGF3YWl0IHRoaXMuX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpLGUuYWJvcnRlZCl0aHJvdygwLGEuY3JlYXRlQWJvcnRFcnJvcikoKTt0aGlzLl9zb2NrZXQ9dGhpcy5fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KHRoaXMuX3VybCksdGhpcy5fc2V0T25PZmZsaW5lTGlzdGVuZXIoKX1jYXRjaChlKXt0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLCgwLGEuc2tpcEFib3J0RXJyb3IpKGUpfWZpbmFsbHl7dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlcj1udWxsfX19fSw5MDEwMjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U0VQQVJBVE9SX1BSRUZJWDooKT0+aSxpc1NlcGFyYXRvckl0ZW06KCk9Pm59KTtjb25zdCBpPSIjIyMiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aChpKX19LDY0MTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYXBpdGFsaXplRmlyc3RMZXR0ZXJJbldvcmQ6KCk9Pm0sZGVjb2RlSFRNTEVudGl0aWVzOigpPT51LGVuY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+XyxodG1sRXNjYXBlOigpPT5kLHJlbW92ZVNwYWNlczooKT0+cCxyZW1vdmVUYWdzOigpPT5ofSk7Y29uc3QgaT0vWzwiJyY+XS9nLG49ZT0+YCYjJHtlLmNoYXJDb2RlQXQoMCl9O2Ascj17IiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImcXVvdDsiOiciJywiJmFwb3M7IjoiJyIsIiZhbXA7IjoiJiIsIiYjNjA7IjoiPCIsIiYjNjI7IjoiPiIsIiYjMzQ7IjonIicsIiYjMzk7IjoiJyIsIiYjMDM5OyI6IiciLCImIzM4OyI6IiYifSxvPU9iamVjdC5hc3NpZ24oe30sLi4uT2JqZWN0LmVudHJpZXMocikubWFwKCgoW2UsdF0pPT4oe1t0XTplfSkpKSksYT1uZXcgUmVnRXhwKE9iamVjdC5rZXlzKHIpLmpvaW4oInwiKSwiZyIpLGw9bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhvKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiB1KGUpe3JldHVybiBlLnJlcGxhY2UoYSwoZT0+cltlXXx8ZSkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUucmVwbGFjZShsLChlPT5vW2VdfHxlKSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5yZXBsYWNlKGksbil9ZnVuY3Rpb24gaChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC8oPChbXj5dKyk+KS9naSwiIil9ZnVuY3Rpb24gcChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9ccysvZywiIil9ZnVuY3Rpb24gbShlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9cYlx3L2csKGU9PmUudG9VcHBlckNhc2UoKSkpfWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1JbnRsLlNlZ21lbnRlcjtpZih0KXtjb25zdCBzPW5ldyB0KHZvaWQgMCx7Z3JhbnVsYXJpdHk6ImdyYXBoZW1lIn0pLFt7c2VnbWVudDppfT17c2VnbWVudDpudWxsfV09cy5zZWdtZW50KGUpO3JldHVybiBpPy50b1VwcGVyQ2FzZSgpPz9udWxsfXtjb25zdCB0PWUuY29kZVBvaW50QXQoMCk7cmV0dXJuIHQ/U3RyaW5nLmZyb21Db2RlUG9pbnQodCkudG9VcHBlckNhc2UoKTpudWxsfX19LDExMTk1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtERUZBVUxUX0FESlVTVE1FTlQ6KCk9PnIsREVGQVVMVF9TRVNTSU9OOigpPT5uLERFRkFVTFRfU0VUVExFTUVOVF9BU19DTE9TRTooKT0+byxjb21wYXJlU3ltYm9sczooKT0+YixkZWNvZGVFeHRlbmRlZFN5bWJvbDooKT0+ZyxlbmNvZGVFeHRlbmRlZFN5bWJvbDooKT0+YSxlbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWw6KCk9PnAsZXh0cmFjdEV4dGVuZGVkU3ltYm9sOigpPT5mLGdldEV4dGVuZGVkU3ltYm9sOigpPT5fLGlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sOigpPT5tLGlzUmVwbGF5U3ltYm9sOigpPT5oLGlzU3R1ZHlTeW1ib2w6KCk9PmMscmVwbGFjZUV4dGVuZGVkU3ltYm9sOigpPT5TLHN5bWJvbFdpdGhvdXRQcmVmaXg6KCk9PncsdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGk9cyg2MDE4NDEpO2NvbnN0IG49InJlZ3VsYXIiLHI9InNwbGl0cyIsbz0hMDtmdW5jdGlvbiBhKGUpe3JldHVybiI9IitKU09OLnN0cmluZ2lmeShsKGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5zb3J0KCkucmVkdWNlKCgodCxzKT0+KCJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGVbc10pP3Rbc109bChlW3NdKTp0W3NdPWVbc10sdCkpLHt9KX1mdW5jdGlvbiB1KGUpe3JldHVybigwLGkuaXNTdHJpbmcpKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIXUoZSkmJiJpbnB1dHMiaW4gZX1mdW5jdGlvbiBkKGUpe3JldHVybiF1KGUpJiYicmVwbGF5ImluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIXUoZSkmJmQoZS5zeW1ib2wpfShlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBjKGUpfHxoKGUpfHxlLnNlc3Npb258fGUuYWRqdXN0bWVudHx8ZVsiY3VycmVuY3ktaWQiXXx8ZVsidW5pdC1pZCJdfHxlLm1ldHJpYz9hKGUpOmUuc3ltYm9sfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIj0iPT09ZVswXX1mdW5jdGlvbiBfKGUpe3JldHVybiB1KGUpP2coZSk6ZX1mdW5jdGlvbiBnKGUpe2lmKCFtKGUpKXJldHVybntzeW1ib2w6ZX07dHJ5e3JldHVybiBKU09OLnBhcnNlKGUuc2xpY2UoMSkpfWNhdGNoKHQpe3JldHVybntzeW1ib2w6ZX19fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIHUoZSk/ZTp5KGUuc3ltYm9sKX1mdW5jdGlvbiBmKGUpe2lmKHUoZSkpcmV0dXJue3N5bWJvbDplfTtsZXQgdD1lO2Zvcig7IXUodC5zeW1ib2wpOyl0PXQuc3ltYm9sO3JldHVybiB0fWNvbnN0IHY9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIGIoZSx0KXtyZXR1cm4gdi5ldmVyeSgocz0+ZVtzXT09PXRbc10pKX0KZnVuY3Rpb24gUyhlLHQpe2xldCBzPWU7Zm9yKDshdShzLnN5bWJvbCk7KXM9cy5zeW1ib2w7cy5zeW1ib2w9dH1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnNwbGl0KCI6Iikuc2xpY2UoLTEpLnBvcCgpPz9lfX0sMzY3OTQ2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1pKGUudXBkYXRlX21vZGUpO3JldHVybiBudWxsPT09dHx8KGUudXBkYXRlX21vZGU9dC5tb2RlLGUudXBkYXRlX21vZGVfc2Vjb25kcz10LmludGVydmFsKSxlfXMuZCh0LHtub3JtYWxpemVVcGRhdGVNb2RlOigpPT5uLHBhcnNlVXBkYXRlTW9kZTooKT0+aX0pfSwzNTYzODAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VG9vbHRpcERhdGE6KCk9Pm4sc2V0VG9vbHRpcERhdGE6KCk9PnJ9KTtjb25zdCBpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkuZ2V0KGUpO3JldHVybiBzIGluc3RhbmNlb2YgRnVuY3Rpb24/cyh0KTpzJiZzW3RdfWZ1bmN0aW9uIHIoZSx0LHMpe2lmKHMgaW5zdGFuY2VvZiBGdW5jdGlvbilyZXR1cm4gdm9pZCBpLnNldChlLHMpO2NvbnN0IG49aS5nZXQoZSkscj12b2lkIDA9PT1ufHxuIGluc3RhbmNlb2YgRnVuY3Rpb24/e306bjtyW3RdPXMsaS5zZXQoZSxyKX19LDQ5MDM3OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXREYXRhRnJvbVRhcmdldDooKT0+XyxnZXRUb29sdGlwOigpPT5nLGhpZGVUb29sdGlwOigpPT52LHNldFN0eWxlOigpPT55LHNob3dUb29sdGlwOigpPT5mLHVwZGF0ZVRvb2x0aXBUZXh0RnJvbVRhcmdldDooKT0+bX0pO3ZhciBpLG49cygxMzg2MzgpLHI9cyg0NDM1NTcpLG89cyg5NjkxNjgpLGE9KHMoODI5MTgwKSxzKDUxODc1KSksbD1zKDY0MDc0NCksdT1zKDMxODk3NCksYz1zKDY4NjY1MCksZD1zKDM1NjM4MCksaD1zKDM0NTE1MSkscD1zKDExNDA2OCk7ZnVuY3Rpb24gbShlKXtjb25zdCB0PWUuaGFzQXR0cmlidXRlKCJkYXRhLXRvb2x0aXAiKT9lLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik6ZS5nZXRBdHRyaWJ1dGUoInRpdGxlIik7cmV0dXJuIHQmJigoMCxkLnNldFRvb2x0aXBEYXRhKShlLCJ0ZXh0Iix0KSxlLnJlbW92ZUF0dHJpYnV0ZSgidGl0bGUiKSksKDAsZC5nZXRUb29sdGlwRGF0YSkoZSwidGV4dCIpfHwiIn1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bShlKSxzPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT17aDpzLmhlaWdodCx3OnMud2lkdGgseDpzLmxlZnQseTpzLnRvcH0sbj1lLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2xvci10aGVtZSIpfHwiIixyPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1odG1sIiksbz1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWRlbGF5Iil8fCIiKSxhPXBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtZGVib3VuY2UiKXx8IiIpO2xldCBsPXt0eXBlOiJub25lIn07cmV0dXJuIHQmJihsPXt0eXBlOnI/Imh0bWwiOiJ0ZXh0IixkYXRhOnR9KSx7YWJvdmU6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWFib3ZlIiksYmVsb3c6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWJlbG93Iiksb3RsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1vdGwiKSxvdHI6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW90ciIpLHZlcnRpY2FsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC12ZXJ0aWNhbCIpLGhvdGtleTplLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWhvdGtleSIpLG5hcnJvdzplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtbmFycm93Iiksd2lkZTplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtd2lkZSIpLGNvbG9yVGhlbWU6bix0b29sdGlwRGVsYXk6byx0b29sdGlwRGVib3VuY2U6YSxyZWN0OmksY29udGVudDpsLHRhcmdldDplfX1mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9KDAsbi5lbnN1cmVOb3ROdWxsKShUKS5jbG9uZU5vZGUoITApLHM9SSh0KSx7Y29udGVudDppfT1lO3N3aXRjaChpLnR5cGUpe2Nhc2UiZWxlbWVudCI6cy5pbm5lckhUTUw9IiIscy5hcHBlbmRDaGlsZChpLmRhdGEpO2JyZWFrO2Nhc2UiaHRtbCI6cy5pbm5lckhUTUw9aS5kYXRhO2JyZWFrO2Nhc2UidGV4dCI6aWYoZS5ob3RrZXkpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShFKS5jbG9uZU5vZGUoITApO2UuaW5uZXJUZXh0PWkuZGF0YSxzLmFwcGVuZENoaWxkKGUpfWVsc2Ugcy5pbm5lclRleHQ9aS5kYXRhfWlmKGUuaG90a2V5KXtjb25zdCB0PSJub25lIiE9PWkudHlwZSxyPSgwLG4uZW5zdXJlTm90TnVsbCkoQykuY2xvbmVOb2RlKCEwKSxvPSgwLGguaG90S2V5RGVzZXJpYWxpemUpKGUuaG90a2V5KSxhPW8ua2V5cy5tYXAoKGU9PmA8c3BhbiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJ1dHRvbiJdfSI+JHtlfTwvc3Bhbj5gKSk7ci5pbm5lckhUTUw9ZnVuY3Rpb24oZSx0KXtjb25zdCBzPS97XGR9fHtob3RrZXlfXGR9L2dpO3JldHVybiBlLnJlcGxhY2UocywoZT0+e2NvbnN0IHM9TnVtYmVyKGUubWF0Y2goL1xkLykpO3JldHVybiB0W3NdfSkpfShvLnRleHQsYSkucmVwbGFjZSgvXHNcK1xzL2csYDxzcGFuIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19wbHVzLXNpZ24iXX0iPis8L3NwYW4+YCkscy5jbGFzc0xpc3QuYWRkKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSJdKSx0JiZyLmNsYXNzTGlzdC5hZGQocFsiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlciJdKSxzLmFwcGVuZENoaWxkKHIpfXJldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixhLnByZXZlbnREZWZhdWx0KSx0fWZ1bmN0aW9uIHkoZSx0KXsKY29uc3Qgcz10LnJlY3Q7aWYoIXMpcmV0dXJuOygwLGMuc2V0VG9vbHRpcENvbG9yVGhlbWUpKGUsdC5jb2xvclRoZW1lfHwiZGVmYXVsdCIpO2NvbnN0IGk9SShlKSxuPWUucXVlcnlTZWxlY3RvcihgLiR7cFsiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXIiXX1gKTt0LmFkZENsYXNzJiZlLmNsYXNzTGlzdC5hZGQodC5hZGRDbGFzcyksdC5hZGRCb2R5Q2xhc3MmJmkuY2xhc3NMaXN0LmFkZCh0LmFkZEJvZHlDbGFzcyksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlIl0sQm9vbGVhbih0LndpZGUpKSxpLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLXBhZGRpbmciXSxCb29sZWFuKHQubm9QYWRkaW5nKSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ciXSxCb29sZWFuKHQubmFycm93KSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zIl0sITApLGkuc3R5bGUubGVmdD1iKDApLGkuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoKyhCb29sZWFuKHQubm9QYWRkaW5nKT8wOjIpKTtjb25zdCByPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgsYT11LkNoZWNrTW9iaWxlLmlPUygpfHx1LkNoZWNrTW9iaWxlLkFuZHJvaWQoKXx8KDAsdS5zdXBwb3J0VG91Y2gpKCkmJigwLHUuaXNNYWMpKCk/d2luZG93LmlubmVySGVpZ2h0OmRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LGQ9dC52ZXJ0aWNhbCxoPXQuZXh0ZW5kTWFyZ2lufHxkJiZzLnc8MjB8fCFkJiZzLmg8MjA7ZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyIl0saCksZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbCJdLCFkKTtjb25zdCBtPWZ1bmN0aW9uKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19YCl9KGUpLF89ZS5vZmZzZXRIZWlnaHQ7aWYoZCl7Y29uc3QgdT0xMCxjPWEtMTAsZD0xMixoPXUrZCxnPWMtZCx5PSgwLGwuY2xhbXApKHMueStzLmgvMixoLGcpLV8vMixmPXkrXztlLnN0eWxlLmxlZnQ9YihzLngrcy53KSxlLnN0eWxlLnRvcD1iKHkpLHk8dT9pLnN0eWxlLnRvcD1uLnN0eWxlLnRvcD1iKHUteSk6Zj5jJiYoaS5zdHlsZS50b3A9bi5zdHlsZS50b3A9YihjLWYpKTtjb25zdHtyaWdodDp2fT0oZS5xdWVyeVNlbGVjdG9yKCI6bGFzdC1jaGlsZCIpfHxpKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxTPXYrMTA+cjtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLFMpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFTKTtsZXQgdz1TPyJhZnRlciI6ImJlZm9yZSI7KDAsby5pc1J0bCkoKT8odz10Lm90cj8iYWZ0ZXIiOncsdz10Lm90bD8iYmVmb3JlIjp3KToodz10Lm90cj8iYmVmb3JlIjp3LHc9dC5vdGw/ImFmdGVyIjp3KSxtLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZSJdLCJiZWZvcmUiPT09dyksbS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciJdLCJhZnRlciI9PT13KSwiYWZ0ZXIiPT09dyYmKGUuc3R5bGUubGVmdD0iYXV0byIsZS5zdHlsZS5yaWdodD1iKHItcy54KSl9ZWxzZXtjb25zdCBvPXMueC0oaS5vZmZzZXRXaWR0aC1zLncpLzIsbD1yLWUub2Zmc2V0V2lkdGgtMjA8PTA/KHItZS5vZmZzZXRXaWR0aCkvMjoxMCx1PXItbC1lLm9mZnNldFdpZHRoLGM9TWF0aC5tYXgobCxNYXRoLm1pbihvLHUpKTtlLnN0eWxlLmxlZnQ9YihjKTtjb25zdCBkPXU8bztlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFkKTtjb25zdCBoPWZ1bmN0aW9uKGUsdCxzLGkpe2lmKGUuYWJvdmUpcmV0dXJuIEwodCxpKT8iYWJvdmUiOiJiZWxvdyI7aWYoZS5iZWxvdylyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe3JldHVybiBzLnkrcy5oK3QrMTA8ZX0odCxzLGkpPyJiZWxvdyI6ImFib3ZlIjtyZXR1cm4gTChzLGkpPyJhYm92ZSI6ImJlbG93In0odCxhLF8scyk7ImFib3ZlIj09PWg/ZS5zdHlsZS5ib3R0b209YihhLXMueSk6ZS5zdHlsZS50b3A9YihzLnkrcy5oKSxtLmNsYXNzTGlzdC5hZGQoImFib3ZlIj09PWg/cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlIl06cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93Il0pO2NvbnN0e2xlZnQ6Z309aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtsZXQgeT1NYXRoLnRydW5jKHMueCtzLncvMi0oZytpLmNsaWVudFdpZHRoLzIpKTtlLnN0eWxlLmxlZnQ9YihjK3kpLGUuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoK24uY2xpZW50V2lkdGgpLHk9ZD9NYXRoLm1heCgwLHkpOk1hdGgubWluKDAseSksbi5zdHlsZS5sZWZ0PWIoLXkpLGkuc3R5bGUubGVmdD1iKC15KX19ZnVuY3Rpb24gZihlKXtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWhpZGRlbiJdLCExKX1mdW5jdGlvbiB2KGUpe2UuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taGlkZGVuIl0sITApfWZ1bmN0aW9uIGIoZSl7cmV0dXJuYCR7TWF0aC5mbG9vcihlKX1weGB9IWZ1bmN0aW9uKGUpe2VbZS5WaWV3cG9ydFBhZGRpbmc9MTBdPSJWaWV3cG9ydFBhZGRpbmcifShpfHwoaT17fSkpCjtjb25zdCBTPWBcblx0PGRpdiBpZD0iY29tbW9uLXRvb2x0aXAtd3JhcHBlciIgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXAiXX0iPlxuXHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiXX0iID5cblx0XHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2JvZHkiXX0ganMtdG9vbHRpcC1ib2R5Ij48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19Ij48L2Rpdj5cblx0PC9kaXY+XG5gLHc9YFxuXHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2siXX0iPjwvZGl2PlxuYCxQPWBcblx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQiXX0iPjwvZGl2PlxuYCxUPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoUyksQz0oMCxyLnBhcnNlSHRtbEVsZW1lbnQpKHcpLEU9KDAsci5wYXJzZUh0bWxFbGVtZW50KShQKTtmdW5jdGlvbiBJKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19ib2R5Il19YCl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiAxMCtlPHQueX19LDE2Nzg5NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtlbXB0eTooKT0+byxzZXRUb29sdGlwOigpPT5hfSk7Y29uc3QgaT0idG9vbHRpcC1yb290LWVsZW1lbnQiO2xldCBuO2Z1bmN0aW9uIHIoKXtjb25zdCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGkpO2U/bj1lOihuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uaWQ9aSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG4pKX1mdW5jdGlvbiBvKCl7biYmKG4uaW5uZXJIVE1MPSIiKX1mdW5jdGlvbiBhKGUpe28oKSxufHxyKCksbi5hcHBlbmRDaGlsZChlKX0iaW50ZXJhY3RpdmUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9yKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscil9LDY1ODk5NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbGVhclNjaGVkdWxlOigpPT5vLHNjaGVkdWxlSGlkZTooKT0+bCxzY2hlZHVsZVJlbW92ZTooKT0+YSxzY2hlZHVsZVJlbmRlcjooKT0+dX0pO2xldCBpPTAsbj0wLHI9MDtmdW5jdGlvbiBvKCl7Y2xlYXJUaW1lb3V0KGkpLGNsZWFyVGltZW91dChuKSxjbGVhclRpbWVvdXQocil9ZnVuY3Rpb24gYShlLHQpe3I9c2V0VGltZW91dChlLHQpfWZ1bmN0aW9uIGwoZSx0KXtuPXNldFRpbWVvdXQoZSx0KX1mdW5jdGlvbiB1KGUsdCl7aT1zZXRUaW1lb3V0KGUsdCl9fSw2ODY2NTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0VG9vbHRpcENvbG9yVGhlbWU6KCk9PnJ9KTtjb25zdCBpPXtkZWZhdWx0OiIiLHdoaXRlOiJ0aGVtZS13aGl0ZSIsY2hhcnQ6InRoZW1lLWNoYXJ0IixuZXdzOiJ0aGVtZS1uZXdzIiwicm91bmQtc2hhZG93IjoidGhlbWUtcm91bmQtc2hhZG93In0sbj1PYmplY3Qua2V5cyhpKTtmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1uLmluY2x1ZGVzKHQpP2lbdF06IiI7ZS5jbGFzc0xpc3QucmVtb3ZlKC4uLm4ubWFwKChlPT5pW2VdKSkuZmlsdGVyKChlPT4hIWUpKSkscyYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKHMpJiZlLmNsYXNzTGlzdC5hZGQocyl9fSw3MzEwOTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX1RZUEVfQkxBQ0tfTElTVDooKT0+aX0pO2NvbnN0IGk9bmV3IFNldChbInNwcmVhZCIsImVjb25vbWljIl0pfSw0NzkzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYW5VcGdyYWRlUGxhbjooKT0+aCxlbmFibGVkOigpPT51LGdldENvbmZpZzooKT0+ZCxnZXRQcm9kdWN0RmVhdHVyZXNDb25maWc6KCk9PmMsZ2V0UHJvZHVjdElkOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpLG49cyg1MDI1ODcpLHI9cygxMjc3MTEpLG89cygzMTg5NzQpLGE9cygyMTIyMjkpO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9d2luZG93LnVzZXI7InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy51c2VyJiYodD13aW5kb3cudXNlciksZSYmKHQ9ZSk7bGV0IHM9dD8ucHJvX3BsYW58fCJmcmVlIjtyZXR1cm4iZnJlZSIhPT1zJiYhKDAsYS5pc1RyaWFsUHJvZHVjdCkocyl8fChzPSgwLGEuZ2V0UHJvZHVjdEZvclRyaWFsKShzKSksc31mdW5jdGlvbiB1KGUsdCxzKXtsZXQgaT13aW5kb3cudXNlcjtzJiYoaT1zKTtjb25zdCBuPWQoZSx0LGkpO2lmKCFuKXJldHVybiExO2lmKG4uZGlzYWJsZV9vbl90cmlhbCYmKCFpfHxpLmlzX3RyaWFsKSlyZXR1cm4hMTtjb25zdCByPW4uZGlzYWJsZV9vbl9saXRlX3BsYW47aWYociYmaS5pc19saXRlX3BsYW4pe2lmKCJhbGwiPT09cilyZXR1cm4hMTtpZigiZXhjbHVkZV9tb2JpbGUiPT09ciYmIW8uQ2hlY2tNb2JpbGUuYW55KCkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PW5bZV07cmV0dXJuIHQ/dC5leHRlbmRzP09iamVjdC5hc3NpZ24oe30sYyh0LmV4dGVuZHMpLHQpOnQ6bnVsbH1mdW5jdGlvbiBkKGUsdCxzKXtsZXQgaT1jKHR8fChsKHMpPz8iIikpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IG49d2luZG93LlRyYWRpbmdWaWV3Py53aWRnZXRDdXN0b21lcjtyZXR1cm4gbiYmcltuXSYmKGk9T2JqZWN0LmFzc2lnbih7fSxpLHJbbl0pKSxpJiZpW2VdfHxudWxsfWZ1bmN0aW9uIGgoKXtjb25zdCBlPWQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiKT8ubGltaXQ/PzAsdD0oMCxpLmVuc3VyZURlZmluZWQpKHdpbmRvdy5wcm8pLHM9dC5nZXRQcm9kdWN0c0J5VHlwZSh0LlBST0RVQ1RfVFlQRVMucHJvX3BsYW4pO2Zvcihjb25zdCB0IG9mIHMpaWYoKGQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiLCgwLGkuZW5zdXJlRGVmaW5lZCkodC5pZCkpPy5saW1pdD8/MCk+ZSlyZXR1cm4hMDtyZXR1cm4hMX19LDYzMTYzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5vLGdldEluaXREYXRhOigpPT5yLHVwZGF0ZUluaXREYXRhOigpPT5ufSk7dmFyIGk9cyg3OTI2MTIpO2Z1bmN0aW9uIG4oKXsoMCxpLnVwZGF0ZUluaXREYXRhKSgpfQpmdW5jdGlvbiByKCl7cmV0dXJuKDAsaS5nZXRJbml0RGF0YSkoKX1mdW5jdGlvbiBvKCl7cmV0dXJuKDAsaS5nZXRGcmVzaEluaXREYXRhKSgpfX0sNjMyNDQ0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZT09PW4oZSl9ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUuaW5kZXhPZigiJCIpLHM9ZS5pbmRleE9mKCJAIik7cmV0dXJuIHQ8MCYmcz49MD9udWxsOmUuc3Vic3RyaW5nKE1hdGgubWF4KHQrMSwwKSxzPj0wP3M6ZS5sZW5ndGgpfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiUFVCOyIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiVVNFUjsiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIlNURDsiKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLmluY2x1ZGVzKCJDYW5kbGVzdGljayUxUGF0dGVybiUxIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCJFREdSXyIpfXMuZCh0LHtleHRyYWN0UGluZUlkOigpPT5uLGlzQ2FuZGxlU3RpY2tJZDooKT0+bCxpc0N1c3RvbVBpbmVJZDooKT0+byxpc0VkZ3JQaW5lSWQ6KCk9PnUsaXNQaW5lSWRTdHJpbmc6KCk9PmksaXNQdWJsaXNoZWRQaW5lSWQ6KCk9PnIsaXNTdGFuZGFyZFBpbmVJZDooKT0+YX0pfSw5MzE1OTIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGluZUtpbmQ6KCk9Pm4uUGluZUtpbmQsU2V2ZXJpdHk6KCk9PmkuU2V2ZXJpdHksaXNTY3JpcHRMaWJyYXJ5OigpPT5vLGlzU2NyaXB0U3RyYXRlZ3k6KCk9PnJ9KTt2YXIgaT1zKDYxMjMxKSxuPXMoMTY0MTU2KTtmdW5jdGlvbiByKGUpe3JldHVybiBlLmtpbmQ9PT1uLlBpbmVLaW5kLlN0cmF0ZWd5fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUua2luZD09PW4uUGluZUtpbmQuTGlicmFyeX19LDM2ODMxMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQaW5lS2luZDooKT0+ZC5QaW5lS2luZCxjb252ZXJ0U2NyaXB0OigpPT52LGRlbGV0ZVBpbmU6KCk9PkQsZ2V0TGFzdFZlcnNpb246KCk9PmssZ2V0UGluZUZhY2FkZVVybDooKT0+by5nZXRQaW5lRmFjYWRlVXJsLGdldFBpbmVTb3VyY2VDb2RlOigpPT5JLGdldFZlcnNpb25zOigpPT5SLGlzQXV0aFRvR2V0UGluZVNvdXJjZUNvZGU6KCk9PkUsaXNBdXRoVG9Xcml0ZVBpbmVTY3JpcHQ6KCk9PkMsaXNTY3JpcHRMaWJyYXJ5OigpPT5kLmlzU2NyaXB0TGlicmFyeSxpc1NjcmlwdFN0cmF0ZWd5OigpPT5kLmlzU2NyaXB0U3RyYXRlZ3kscGFyc2VTY3JpcHRUaXRsZUFzeW5jOigpPT5ULHJlbmFtZVBpbmU6KCk9PngscmVuYW1lVmVyc2lvbjooKT0+VixyZXF1ZXN0QnVpbHRpblNjcmlwdHM6KCk9Pk0scmVxdWVzdFVzZXJTY3JpcHRzOigpPT5MLHNhdmVOZXc6KCk9Pncsc2F2ZU5ld0RyYWZ0OigpPT5TLHNhdmVOZXh0OigpPT5QLHNhdmVOZXh0RHJhZnQ6KCk9PmIsdHJhbnNsYXRlU2NyaXB0QXN5bmM6KCk9PmYsdHJhbnNsYXRlU2NyaXB0QXN5bmMyOigpPT55fSk7dmFyIGk9cygyMjEwNjEpLG49cygzODY5MzEpLHI9cyg0MDY4OTIpLG89cygzNzEwNyksYT1zKDYzMjQ0NCksbD1zKDU3Nzk5NiksdT1zKDY3MTAxOSksYz1zKDY5NzcwNSksZD1zKDkzMTU5Mik7cyg1NjM2MjQpO2NvbnN0IGg9KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIikscD1uZXcgci5SZXF1ZXN0Q2FjaGUsbT1uZXcgci5SZXF1ZXN0Q2FjaGUsXz1uZXcgci5TaW5nbGVSZXF1ZXN0Q2FjaGU7KDAsby5hcHBseUdsb2JhbFNjcmlwdExpc3RlbmVycykocCxtLF8pO2NvbnN0IGc9e307ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9YCR7ZX0tJHt0fWA7bGV0IGk9Z1tzXTtyZXR1cm4gaXx8KGk9YXN5bmMgZnVuY3Rpb24oZSx0KXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpO3RyeXtjb25zdCBzPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOmB0cmFuc2xhdGUvJHtlfS8ke3R9YH0pLGk9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKHMpOygwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYzIiLGkubWV0YUluZm8pO3JldHVybit0PDAmJihwLmRlbGV0ZShlKSxtLmRlbGV0ZShlKSxfLmNsZWFyKCksKDAsby5vbkxlZ2FjeVNjcmlwdFByb2NlZWQpKGkubWV0YUluZm8pKSxpfWNhdGNoKGUpe3Rocm93IGV9fShlLHQpLmNhdGNoKChlPT57dGhyb3cgZGVsZXRlIGdbc10sZX0pKSxnW3NdPWkpLGl9YXN5bmMgZnVuY3Rpb24gZihlLHQscz17fSxpPSExKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmB0cmFuc2xhdGVfc291cmNlLyR7dH1gLHVybFBhcmFtczp7aXNfcGluZV9leDppfSxkYXRhOntzb3VyY2U6ZSxpbnB1dHM6SlNPTi5zdHJpbmdpZnkocyl9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYyIsdC5tZXRhSW5mbyksdH0pKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJuKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6ImNvbnZlcnQiLGRhdGE6e3NvdXJjZTplLHZlcnNpb25fdG86U3RyaW5nKHQpfX0pLnRoZW4oKGU9PntpZihlLnJlYXNvbjI/LmVycm9ycz8ubGVuZ3RoKXRocm93IGUucmVhc29uMjtpZihlLnJlYXNvbil0aHJvdyBlLnJlYXNvbjtyZXR1cm4oMCxvLmhhbmRsZVJlc3VsdCkoZSl9KSl9ZnVuY3Rpb24gYihlLHQscyxpPSExKXtpZigoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnNhdmVOZXh0RHJhZnQiKSwhdClyZXR1cm4gUHJvbWlzZS5yZWplY3QobC5FTVBUWV9TT1VSQ0VfQ09ERSk7KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMCk7Y29uc3Qgcj0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0X2RyYWZ0LyR7ZX1gLAp1cmxQYXJhbXM6e2FsbG93X2NyZWF0ZV9uZXc6aX0sZGF0YTp7c291cmNlOnR9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5leHREcmFmdCIsdC5tZXRhSW5mbyksdH0pKTtyZXR1cm4gci5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKSxyfWZ1bmN0aW9uIFMoZSl7cmV0dXJuKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3RHJhZnQiKSxlPygwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOiJzYXZlL25ld19kcmFmdCIsdXJsUGFyYW1zOnthbGxvd191c2VfZXhpc3RpbmdfZHJhZnQ6ITB9LGRhdGE6e3NvdXJjZTplfX0pLnRoZW4oKGU9Pntjb25zdCB0PSgwLG8uaGFuZGxlU2F2ZVJlc3VsdCkoZSk7cmV0dXJuKDAsYy5sb2dQaW5lTWV0YUluZm9Jc3N1ZXMpKCJQaW5lLnNhdmVOZXdEcmFmdCIsdC5tZXRhSW5mbyksdH0pKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiB3KHtzY3JpcHRTb3VyY2U6ZSxzY3JpcHROYW1lOnQsYWxsb3dPdmVyd3JpdGU6cyxjdXJyZW50VmVyc2lvbjppfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3IiksIWUpcmV0dXJuIFByb21pc2UucmVqZWN0KGwuRU1QVFlfU09VUkNFX0NPREUpO2NvbnN0IHI9e25hbWU6dH07cmV0dXJuIHMmJihyLmFsbG93X292ZXJ3cml0ZT0hMCksKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InNhdmUvbmV3Iix1cmxQYXJhbXM6cixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT57Xy5jbGVhcigpO2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5ldyIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxpLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKX1mdW5jdGlvbiBQKHtzY3JpcHRJZFBhcnQ6ZSxzY3JpcHRTb3VyY2U6dCxjdXJyU2NyaXB0VmVyc2lvbjpzLGlzTGVnYWN5U2NyaXB0Omksc2NyaXB0TmFtZTpyfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV4dCIpLCF0KXJldHVybiBQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKTtjb25zdCBhPXthbGxvd19jcmVhdGVfbmV3Oml9LGQ9e3NvdXJjZTp0fTtyZXR1cm4gdm9pZCAwIT09ciYmKGEubmFtZT1yKSwoMCxvLm9uTW9kaWZ5U2NyaXB0QWN0aXZlQ2hhbmdlZCkoZSxzLCEwKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0LyR7ZX1gLHVybFBhcmFtczphLGRhdGE6ZH0pLnRoZW4oKGU9PntfLmNsZWFyKCk7Y29uc3QgdD0oMCxvLmhhbmRsZVNhdmVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS5zYXZlTmV4dCIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxzLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKS5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKX1mdW5jdGlvbiBUKGUpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucGFyc2VTY3JpcHRUaXRsZSIpLGU/KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InBhcnNlX3RpdGxlIixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT4oMCxvLmhhbmRsZVJlc3VsdCkoZSkpKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiBDKGUpe2lmKCgwLGEuaXNDdXN0b21QaW5lSWQpKGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoITApO2NvbnN0IHQ9bS5nZXQoZSk7aWYodClyZXR1cm4gdDsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmlzQXV0aFRvV3JpdGVQaW5lU2NyaXB0Iik7Y29uc3Qgcz0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fd3JpdGUvJHtlfWB9KTtyZXR1cm4gbS5zZXQoZSxzKSxzfWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBzPXAuZ2V0KGUpO2lmKHMpcmV0dXJuIHM7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlIik7Y29uc3QgaT0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fZ2V0LyR7ZX0vJHt0fWB9KTtyZXR1cm4gcC5zZXQoZSxpKSxpfWZ1bmN0aW9uIEkoZSx0LHMpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIuZ2V0UGluZVNvdXJjZUNvZGUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGdldC8ke2V9LyR7dH1gLHVybFBhcmFtczp7bm9fNHh4OnN9fSl9ZnVuY3Rpb24gTCgpe2lmKCgwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdFVzZXJTY3JpcHRzIiksIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGU9Xy5nZXQoKTtpZihlKXJldHVybiBlO2NvbnN0IHQ9KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic2F2ZWQifX0pO3JldHVybiBfLnJlc2V0KHQpLHR9YXN5bmMgZnVuY3Rpb24gTSgpeygwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdEJ1aWx0aW5TY3JpcHRzIik7dHJ5e2gubG9nTm9ybWFsKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMiKTtjb25zdCBlPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic3RhbmRhcmQifX0pO3JldHVybiBoLmxvZ05vcm1hbCgiUmVxdWVzdCBidWlsdC1pbiBzY3JpcHRzIGZpbmlzaGVkIiksZX1jYXRjaChlKXsKdGhyb3cgaC5sb2dXYXJuKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMgZmluaXNoZWQgd2l0aCBmYWlsIiksZX19ZnVuY3Rpb24gRChlKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmRlbGV0ZVBpbmUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgZGVsZXRlLyR7ZX1gfSkudGhlbigodD0+KHAuZGVsZXRlKGUpLG0uZGVsZXRlKGUpLF8uY2xlYXIoKSwoMCxvLm9uRGVsZXRlU2NyaXB0KShlKSx0KSkpfWZ1bmN0aW9uIHgoZSx0LHM9ITEpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVuYW1lUGluZSIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmByZW5hbWUvJHt0fWAsdXJsUGFyYW1zOntuYW1lOmUsZm9yY2U6c319KS50aGVuKChzPT4oXy5jbGVhcigpLCgwLG8ub25SZW5hbWVTY3JpcHQpKHQsZSkscykpKX1hc3luYyBmdW5jdGlvbiBSKGUsdCl7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5nZXRWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9YCx1cmxQYXJhbXM6e2xpbWl0OnQ/U3RyaW5nKHQpOnZvaWQgMH19KX1jYXRjaChlKXtyZXR1cm4gaC5sb2dXYXJuKCJSZXF1ZXN0IHNjcmlwdCB2ZXJzaW9ucyBmaW5pc2hlZCB3aXRoIGZhaWwiKSxbXX19YXN5bmMgZnVuY3Rpb24gayhlKXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmdldExhc3RWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCB0aGUgbGFzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4oYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9L2xhc3RgfSkpWzBdPz9udWxsfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlcXVlc3Qgc2NyaXB0IHZlcnNpb25zIGZpbmlzaGVkIHdpdGggZmFpbCIpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFYoZSx0LHMpe3RyeXtoLmxvZ05vcm1hbChgUmVuYW1lIHNjcmlwdCB2ZXJzaW9uICR7dH1gKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUFVUIix1cmxQYXRoOmBuYW1lLyR7ZX0vJHt0fWAsdXJsUGFyYW1zOntuYW1lOnM/PyIifX0pfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlbmFtZSBzY3JpcHQgdmVyc2lvbiBmaW5pc2hlZCB3aXRoIGZhaWwiKSxudWxsfX19LDkwNjU5MyhlLHQscyl7InVzZSBzdHJpY3QiO2NvbnN0e2lzRmVhdHVyZXNldEVuYWJsZWQ6aX09cyg5MzAyMzEpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O3ZhciBuLHIsbyxhLGwsdSxjLGQ9KHI9T2JqZWN0LmNyZWF0ZShudWxsKSxvPU9iamVjdC5jcmVhdGUobnVsbCksYT1PYmplY3QuY3JlYXRlKG51bGwpLGw9MCx1PTAsYz0iVHJhZGluZ1ZpZXciLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe3ZhciB0O3RyeXt0PUpTT04ucGFyc2UoZS5kYXRhKSxpKCJjaGFydGluZ19saWJyYXJ5X2RlYnVnX21vZGUiKSYmY29uc29sZS5sb2coYCR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfSBQb3N0TWVzc2FnZTogaW5jb21pbmcgbWVzc2FnZTogYCtKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2goZSl7cmV0dXJufWlmKHQmJnQucHJvdmlkZXImJnQucHJvdmlkZXI9PT1jKWlmKCJnZXQiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oZSl7dmFyIHM9e2lkOnQuaWQsdHlwZToib24iLG5hbWU6dC5uYW1lLGNsaWVudF9pZDp0LmNsaWVudF9pZCxkYXRhOmUscHJvdmlkZXI6Y307bi5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSkpfSkpfWVsc2UgaWYoIm9uIj09PXQudHlwZSlyW3QuY2xpZW50X2lkXSYmclt0LmNsaWVudF9pZF1bdC5pZF0mJihyW3QuY2xpZW50X2lkXVt0LmlkXS5jYWxsKHQsdC5kYXRhKSxkZWxldGUgclt0LmNsaWVudF9pZF1bdC5pZF0pO2Vsc2UgaWYoInBvc3QiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oKXt9KSl9KSl9fSkpLGZ1bmN0aW9uKGUsdCl7clt0XT1PYmplY3QuY3JlYXRlKG51bGwpLGFbdF09ZSxuPWU7dmFyIHM9IiI7cmV0dXJue29uOmZ1bmN0aW9uKGUsdCxzKXtvW2VdJiZzfHwob1tlXT1bXSksb1tlXS5wdXNoKHQpfSxnZXQ6ZnVuY3Rpb24oZSxzLGkpe3ZhciBuPXtpZDpsKyssdHlwZToiZ2V0IixuYW1lOmUsY2xpZW50X2lkOnQsZGF0YTpzLHByb3ZpZGVyOmN9O3JbdF1bbi5pZF09aSxhW3RdLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KG4pLCIqIil9LHBvc3Q6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXtpZDp1KyssdHlwZToicG9zdCIsbmFtZTp0LGNsaWVudF9pZDpzLGRhdGE6aSxwcm92aWRlcjpjfTtlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5wb3N0TWVzc2FnZSYmZS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShuKSwiKiIpfSxzZXRDbGllbnRJZDpmdW5jdGlvbihlKXtzPWV9fX0pO2UuZXhwb3J0cz1kfSw0MDAxODEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNzA2NDQpLHMuZSg5NTIwNyldKS50aGVuKHMuYmluZChzLDQ3NzE1MCkpO3JldHVybiBlKCl9cy5kKHQse2dldFRyYWNrZXI6KCk9Pml9KX0sMTU2ODI5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gbihlLHQpewpyZXR1cm4ic3RvY2siPT09ZSYmdC5pbmNsdWRlcygicmlnaHQiKXx8InJpZ2h0Ij09PWV9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKGUsdCl8fCJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJmdW5kIikmJnQuaW5jbHVkZXMoImV0ZiIpfHwic3RydWN0dXJlZCI9PT1lJiZ0LmluY2x1ZGVzKCJldG4iKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygibXV0dWFsIil9KGUsdCl8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImV0ZiIpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuImJvbmQiPT09ZX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiY29ycG9yYXRlIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1mdW5jdGlvbiBjKGUpe3JldHVybiJvcHRpb24iPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiJkZXgiPT09ZT8uY2VudHJhbGl6YXRpb259ZnVuY3Rpb24gaChlKXtyZXR1cm4ic3ByZWFkIj09PWV9ZnVuY3Rpb24gcChlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuImZvcmV4Ij09PWV9ZnVuY3Rpb24gXyhlLHQscyl7cmV0dXJuIGkodCkmJiJzcG90Ij09PWUmJiJVU0QiPT09c31mdW5jdGlvbiBnKGUsdCl7cmV0dXJuInNwb3QiPT09ZSYmdC5pbmNsdWRlcygiY3J5cHRvYXNzZXQiKX1mdW5jdGlvbiB5KGUsdCl7cmV0dXJuIEJvb2xlYW4oImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiZ292ZXJubWVudCIpJiZ0LmluY2x1ZGVzKCJiZW5jaG1hcmsiKSl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBCb29sZWFuKCJib25kIj09PWUmJnQuaW5jbHVkZXMoImdvdmVybm1lbnQiKSYmIXQuaW5jbHVkZXMoImJlbmNobWFyayIpKX1mdW5jdGlvbiB2KGUpe3JldHVybiBCb29sZWFuKGUudHlwZXNwZWNzPy5pbmNsdWRlcygieWllbGQiKSl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJjb21tb24iKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoInByZWZlcnJlZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiZm9yd2FyZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiYm9udXMiKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoImNmZCIpfHwiZnVuZCI9PT1lJiZ0LmluY2x1ZGVzKCJ1bml0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInRydXN0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInJlaXQiKXx8ImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygiZXRuIil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImNsb3NlZGVuZCIpfHwiYm9uZCI9PT1lJiZ0LmluY2x1ZGVzKCJjb252ZXJ0aWJsZSIpfHwiZHIiPT09ZXx8IndhcnJhbnQiPT09ZXx8InN0cnVjdHVyZWQiPT09ZSYmIXQuaW5jbHVkZXMoImV0biIpfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIGU/LmluY2x1ZGVzKCJkaXNjb250aW51ZWQiKT8/ITF9ZnVuY3Rpb24gdyhlLHQ9W10pe3JldHVybiBiKGUsdCkmJnQuaW5jbHVkZXMoInByZS1pcG8iKX1zLmQodCx7aGFzQ3J5cHRvVHlwZXNwZWM6KCk9PmksaXNCb25kOigpPT5hLGlzQ29ycG9yYXRlQm9uZDooKT0+bCxpc0NyeXB0b1Nwb3RVc2Q6KCk9Pl8saXNDcnlwdG9hc3NldFNwb3Q6KCk9PmcsaXNEZXg6KCk9PmQsaXNFY29ub21pY1N5bWJvbDooKT0+dSxpc0V0ZjooKT0+cixpc0ZvcmV4U3ltYm9sOigpPT5tLGlzRnVuZEV0ZjooKT0+byxpc0Z1dHVyZXM6KCk9PnAsaXNHb3Zlcm5tZW50QmVuY2htYXJrQm9uZDooKT0+eSxpc0dvdmVybm1lbnRPbmx5Qm9uZDooKT0+Zixpc09wdGlvbjooKT0+Yyxpc1ByZUlwbzooKT0+dyxpc1JpZ2h0OigpPT5uLGlzU3ByZWFkOigpPT5oLGlzU3RvY2tzU3ltYm9sOigpPT5iLGlzU3ltYm9sRGVsaXN0ZWQ6KCk9PlMsaXNZaWVsZDooKT0+dn0pfSw3Mjg1NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXJrVGhlbWU6KCk9PnUsZ2V0U3RkQ2hhcnRUaGVtZTooKT0+ZCxnZXRTdGRUaGVtZU5hbWVzOigpPT5jLGxpZ2h0VGhlbWU6KCk9PmwsdHJhbnNsYXRlVGhlbWVOYW1lOigpPT5ofSk7dmFyIGk9cygxODUyNzEpLG49cyg2MDE4NDEpLHI9cyg3MTY3NjgpLG89cyg5ODQ0MjYpLGE9cyg4MTA0MSk7bGV0IGw9KDAsbi5jbG9uZSkoci5saWdodCksdT0oMCxuLmNsb25lKShvLmRhcmspO2Z1bmN0aW9uIGMoKXtyZXR1cm5bYS5TdGRUaGVtZS5MaWdodCxhLlN0ZFRoZW1lLkRhcmtdfWZ1bmN0aW9uIGQoZSl7cmV0dXJuKDAsbi5jbG9uZSkoZT09PWEuU3RkVGhlbWUuTGlnaHQ/bDplPT09YS5TdGRUaGVtZS5EYXJrP3U6dm9pZCAwKX1mdW5jdGlvbiBoKGUpe3JldHVybntbYS5TdGRUaGVtZS5MaWdodF06aS50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0scygyNDcxNjcpKSxbYS5TdGRUaGVtZS5EYXJrXTppLnQobnVsbCx7Y29udGV4dDoiY29sb3JUaGVtZU5hbWUifSxzKDk0NTM2MikpfVtlXXx8ZX19LDc4NDUxMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxDb250ZW50OigpPT5yfSk7dmFyIGksbj1zKDIzMjM2NCk7IWZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Eb2N1bWVudHM9ImRvY3VtZW50cyIsZS5OZXdzPSJuZXdzIixlLklkZWFzPSJpZGVhcyIsZS5TZWFzb25hbHM9InNlYXNvbmFscyIsZS5BbmFseXNpcz0iYW5hbHlzaXMiLGUuVGVjaG5pY2Fscz0idGVjaG5pY2FscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkNvbnRyYWN0cz0iY29udHJhY3RzIixlLllpZWxkQ3VydmU9InlpZWxkLWN1cnZlIixlLkVjb25vbXlJbmRpY2F0b3JzPSJlY29ub215LWluZGljYXRvcnMiLGUuT3B0aW9ucz0ib3B0aW9ucyIsZS5Cb25kcz0iYm9uZHMiLGUuRXRmcz0iZXRmcyIsZS5DaGFydFRhYmxlVmlldz0iY2hhcnQtdGFibGUtdmlldyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMifShpfHwoaT17fSkpO2NvbnN0IHI9bmV3IG4uV2F0Y2hlZFZhbHVlKG51bGwpfSw3NDQ1MzQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7CmdldEhpZGVPcHRpb25zOigpPT5kLGdldFNhdmVkSGlkZU1vZGU6KCk9Pm0sdG9nZ2xlSGlkZU1vZGU6KCk9PnAsdG9nZ2xlSGlkZU9wdGlvbnM6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDQxMTQwNykscj1zKDE4NTI3MSksbz1zKDkzMDU2NiksYT1zKDY3ODI4NSksbD1zKDg0NDM0NCk7bGV0IHU9bnVsbDtmdW5jdGlvbiBjKGUsdCl7bGV0IHM9ITE7cmV0dXJuKCk9PntpZihzKXJldHVybjtzPSEwO2NvbnN0IG49bSgpLHI9ZnVuY3Rpb24oZSl7aWYoImFsbCI9PT1lKXJldHVybiBfKCk7Y29uc3QgdD0oMCxpLmVuc3VyZURlZmluZWQpKGQoKS5nZXQoZSkpLHM9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LmdldEJveGVkVmFsdWUpKCkudmFsdWUoKTtyZXR1cm4gdC5pbnZlcnRlZD8hczpzfShlKTtpZigiYWxsIj09PW58fG49PT1lKXtpZigiYWxsIj09PW4pZm9yKGNvbnN0IGUgb2YoMCxpLmVuc3VyZU5vdE51bGwpKHUpLnZhbHVlcygpKWUhPT10JiZlLmdldEJveGVkVmFsdWUmJmUuZ2V0Qm94ZWRWYWx1ZSgpLnNldFZhbHVlKGUuaW52ZXJ0ZWQ/IXI6cik7bC5oaWRlU3RhdGVDaGFuZ2UuZmlyZSh7aGlkZU1vZGU6bixpc0FjdGl2ZTpyfSl9cz0hMX19ZnVuY3Rpb24gZCgpe2lmKG51bGwhPT11KXJldHVybiB1O2NvbnN0IGU9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDE1NzIxMCkpLGRhdGFOYW1lOiJoaWRlLWRyYXdpbmctdG9vbHMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg2NDkzNzMpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg4MDk5MzkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsRHJhd2luZ3MpKCksdHJhY2tMYWJlbDoiaGlkZSBkcmF3aW5ncyJ9LHQ9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDgwNzg4MCkpLGRhdGFOYW1lOiJoaWRlLWluZGljYXRvcnMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscygyMDYzNzkpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg1MzkzNDkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsSW5kaWNhdG9ycykoKSx0cmFja0xhYmVsOiJoaWRlIGluZGljYXRvcnMifTt1PW5ldyBNYXAoW1siZHJhd2luZ3MiLGVdLFsiaW5kaWNhdG9ycyIsdF1dKSwoMCxhLmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUobnVsbCxjKCJkcmF3aW5ncyIsZSkpLCgwLGEuaGlkZUFsbEluZGljYXRvcnMpKCkuc3Vic2NyaWJlKG51bGwsYygiaW5kaWNhdG9ycyIsdCkpO2NvbnN0IGk9KDAsbi50cmFkaW5nU2VydmljZSkoKTtpZihpKXtjb25zdCBlPXtsYWJlbDpyLnQobnVsbCx2b2lkIDAscyg3NjI5ODgpKSxkYXRhTmFtZToiaGlkZS1wb3NpdGlvbnMtYW5kLW9yZGVycyIsdG9vbHRpcDp7YWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDc3NjA2MykpLGluYWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDg0NjQxMykpfSxnZXRCb3hlZFZhbHVlOigpPT5pLnNob3dUcmFkZWRTb3VyY2VzLGludmVydGVkOiEwLHRyYWNrTGFiZWw6ImhpZGUgcG9zaXRpb25zIn07dS5zZXQoInBvc2l0aW9ucyIsZSksaS5zaG93VHJhZGVkU291cmNlcy5zdWJzY3JpYmUoYygicG9zaXRpb25zIixlKSl9Y29uc3Qgbz17bGFiZWw6ci50KG51bGwsdm9pZCAwLHMoODI0OTkzKSksZGF0YU5hbWU6ImhpZGUtYWxsIix0b29sdGlwOnthY3RpdmU6aT9yLnQobnVsbCx2b2lkIDAscyg0MjA2MjQpKTpyLnQobnVsbCx2b2lkIDAscyg4MTg3NjMpKSxpbmFjdGl2ZTppP3IudChudWxsLHZvaWQgMCxzKDg2NjMzMCkpOnIudChudWxsLHZvaWQgMCxzKDgwMDM0OSkpfSx0cmFja0xhYmVsOiJoaWRlIGFsbCJ9O3JldHVybiB1LnNldCgiYWxsIixvKSx1fWZ1bmN0aW9uIGgoZSl7ZygoKHQscyxpKT0+e2NvbnN0IG49aS5nZXRCb3hlZFZhbHVlPy4oKTtuJiZuLnNldFZhbHVlKGkuaW52ZXJ0ZWQ/IWU6ZSl9KSl9ZnVuY3Rpb24gcChlKXtlP28uc2V0VmFsdWUoIkNoYXJ0VG9vbHNIaWRlTW9kZSIsZSk6ZT1tKCk7Y29uc3QgdD1fKCk7bGV0IHM9IXQ7cmV0dXJuImFsbCI9PT1lPyhnKCgoZSx0LGkpPT57ZS5zZXRWYWx1ZShpLmludmVydGVkPyFzOnMpfSkpLGwuaGlkZVN0YXRlQ2hhbmdlLmZpcmUoe2hpZGVNb2RlOmUsaXNBY3RpdmU6c30pLHMpOihnKCgoaSxuLHIpPT57Y29uc3Qgbz1yLmludmVydGVkO2lmKG49PT1lKXtjb25zdCBlPXQ/IW86IWkudmFsdWUoKTtpLnNldFZhbHVlKGUpLHM9bz8hZTplfWVsc2UgaS5zZXRWYWx1ZShCb29sZWFuKG8pKX0pKSxsLmhpZGVTdGF0ZUNoYW5nZS5maXJlKHtoaWRlTW9kZTplLGlzQWN0aXZlOnN9KSxzKX1mdW5jdGlvbiBtKCl7Y29uc3QgZT1vLmdldFZhbHVlKCJDaGFydFRvb2xzSGlkZU1vZGUiLCJkcmF3aW5ncyIpO3JldHVybiBkKCkuaGFzKGUpP2U6ImRyYXdpbmdzIn1mdW5jdGlvbiBfKCl7bGV0IGU9ITA7cmV0dXJuIGcoKCh0LHMsaSk9Pntjb25zdCBuPXQudmFsdWUoKTtlPWUmJihpLmludmVydGVkPyFuOm4pfSkpLGV9ZnVuY3Rpb24gZyhlKXtkKCkuZm9yRWFjaCgoKHQscyk9Pntjb25zdCBpPXQuZ2V0Qm94ZWRWYWx1ZT8uKCk7aSYmZShpLHMsdCl9KSl9fSw4OTkyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q2hhcnRUaW1lem9uZU9mZnNldE1zOigpPT5yLGdldENoYXJ0VGltZXpvbmVPZmZzZXRTZWM6KCk9Pm8sZ2V0VGltZXpvbmVOYW1lOigpPT5ufSk7dmFyIGk9cyg3MDA4MDkpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1lLm1vZGVsKCkudGltZXpvbmUoKTtpZigiZXhjaGFuZ2UiIT09dClyZXR1cm4gdDtjb25zdCBzPWUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO3JldHVybiBzPy50aW1lem9uZX1mdW5jdGlvbiByKGUsdCl7aWYodm9pZCAwPT09dClyZXR1cm4gMDtyZXR1cm4oMCxpLmdldF90aW1lem9uZSkodCkub2Zmc2V0X3V0YyhlKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIHIoMWUzKmUsdCkvMWUzfX0sMTUzNTgyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhblNob3dOZXdTeW1ib2xTZWFyY2g6KCk9PmwsZ2V0Q3VycmVudExvY2FsZUluZm9Db3VudHJ5OigpPT51LGlzTW9iaWxlOigpPT5vLGlzUGxhdGZvcm1Nb2JpbGU6KCk9PmF9KQo7dmFyIGk9cygxMTczMTMpLG49cyg5MzAyMzEpLHI9cygzMTg5NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA2MDJweCkgYW5kIChtaW4taGVpZ2h0OiA0NDVweCkiKS5tYXRjaGVzO3JldHVybiByLkNoZWNrTW9iaWxlLmFueSgpJiYhZX1mdW5jdGlvbiBhKCl7cmV0dXJuISgwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmbygpfWZ1bmN0aW9uIGwoKXtyZXR1cm4hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiEoMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil9ZnVuY3Rpb24gdSgpe3JldHVybiB3aW5kb3cuaW5pdERhdGE/LmN1cnJlbnRMb2NhbGVJbmZvPy5mbGFnLnRvVXBwZXJDYXNlKCl9fSw0MDA0MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRDaGFydFdpZGdldEFwaVRpbWVDb252ZXJ0ZXI6KCk9Pmx9KTt2YXIgaT1zKDEzODYzOCksbj1zKDkzMDIzMSkscj1zKDcwNjg4NCk7Y29uc3Qgbz0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbmRfb2ZfcGVyaW9kX3RpbWVzY2FsZV9tYXJrcyIpLGE9KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2Vjb25kYXJ5X3Nlcmllc19leHRlbmRfdGltZV9zY2FsZSIpO2Z1bmN0aW9uIGwoZSx0LHMpe3JldHVybiBuZXcgYyhmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSt0LnNlc3Npb24rdC50aW1lem9uZSsodC5jb3JyZWN0aW9uc3x8IiIpKyh0LnNlc3Npb25faG9saWRheXN8fCIiKX0oZSx0KTtsZXQgaT11LmdldChzKTt2b2lkIDA9PT1pJiYoaT0oMCxyLmNyZWF0ZUR3bUFsaWduZXIpKGUsdCksdS5zZXQocyxpKSk7cmV0dXJuIGl9KGUsdCkscyl9Y29uc3QgdT1uZXcgTWFwO2NsYXNzIGN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9kd21BbGlnbmVyPWUsdGhpcy5fY2hhcnRNb2RlbD10fWNvbnZlcnRQdWJsaWNUaW1lVG9JbnRlcm5hbFRpbWUoZSl7cmV0dXJuIG51bGwhPT10aGlzLl9kd21BbGlnbmVyP3RoaXMuX2R3bUFsaWduZXIudGltZVRvU2Vzc2lvblN0YXJ0KDFlMyplKS8xZTM6ZX1jb252ZXJ0SW50ZXJuYWxUaW1lVG9QdWJsaWNUaW1lKGUpe3JldHVybiBudWxsIT09dGhpcy5fZHdtQWxpZ25lcj90aGlzLl9kd21BbGlnbmVyLnRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheSgxZTMqZSkvMWUzOmV9Y29udmVydFRpbWVQb2ludEluZGV4VG9QdWJsaWNUaW1lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKTtpZih0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgcz1vP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmluZGV4VG9Vc2VyVGltZSh0KTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtyZXR1cm4gcy5nZXRUaW1lKCkvMWUzfSh0LGUpOnRoaXMuY29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSk7aWYobnVsbCE9PXMpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLGk9dC5jb250YWlucyhlKSxuPXQuZmlyc3RJbmRleCgpLHI9dC5sYXN0SW5kZXgoKTshaSYmKG51bGwhPT1uJiZudWxsIT09ciYmbjw9ZSYmZTw9cikmJmF8fChzPXRoaXMuY29udmVydEludGVybmFsVGltZVRvUHVibGljVGltZShzKSl9cmV0dXJuIHN9Y29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpKXJldHVybiBudWxsO2NvbnN0IHM9dC5wb2ludHMoKSx7Zmlyc3RJbmRleDpuLGxhc3RJbmRleDpyfT0oMCxpLmVuc3VyZU5vdE51bGwpKHMucmFuZ2UoKS52YWx1ZSgpKTtsZXQgbz1udWxsO2lmKG48PWUmJmU8PXIpbz1zLnZhbHVlQXQoZSk7ZWxzZSBpZihlPnIpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYobnVsbCE9PXMpe2NvbnN0IG49KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmluZGV4VG9UaW1lUG9pbnQocikpO289cy5wcm9qZWN0VGltZShuLGUtcil9fXJldHVybiBudWxsIT09byYmTnVtYmVyLmlzRmluaXRlKG8pP286bnVsbH19fSw0NzMzMTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7d2FpdEZvck1vZGVsOigpPT5pfSk7Y29uc3QgaT1lPT5uZXcgUHJvbWlzZSgodD0+e2Uud2l0aE1vZGVsKG51bGwsKCgpPT57dChlLm1vZGVsKCkubW9kZWwoKSl9KSl9KSl9LDI3NzI1NyhlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtNb3VzZUV2ZW50SGFuZGxlckRlbGF5OigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlJlc2V0Q2xpY2s9NTAwXT0iUmVzZXRDbGljayIsZVtlLkxvbmdUYXA9MzMzXT0iTG9uZ1RhcCIsZVtlLlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzPTUwMF09IlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzIn0oaXx8KGk9e30pKX0sNjYzNChlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7TW91c2VFdmVudEhhbmRsZXI6KCk9PmYsTW91c2VFdmVudEhhbmRsZXJEZWxheTooKT0+aS5Nb3VzZUV2ZW50SGFuZGxlckRlbGF5LGRlZmF1bHRQcmV2ZW50ZWRIYW5kbGVyOigpPT5nLGdldENsaWNrUG9zaXRpb246KCk9Pm0saWdub3JlQ2xpY2tPclRhcE9uRGJsQ2xpY2tPckRibFRhcEhhbmRsZXJzOigpPT55LGlzVG91Y2hNb3VzZUV2ZW50OigpPT5ffSk7dmFyIGk9cygyNzcyNTcpLG49cyg4Mzk0MjYpLHI9cygxMzg2MzgpLG89cyg2MDE4NDEpLGE9cygzMTg5NzQpLGw9cyg1ODI0NzYpLHU9cyg2NzAyMTQpO2xldCBjPTI7Y29uc3QgZD1hLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjt2YXIgaDshZnVuY3Rpb24oZSl7ZVtlLkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2U9NV09IkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5DYW5jZWxUYXBNYW5oYXR0YW5EaXN0YW5jZT01XT0iQ2FuY2VsVGFwTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5Eb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlPTVdPSJEb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlIixlW2UuRG91YmxlVGFwTWFuaGF0dGFuRGlzdGFuY2U9MzBdPSJEb3VibGVUYXBNYW5oYXR0YW5EaXN0YW5jZSIKfShofHwoaD17fSkpO2NvbnN0IHA9e3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMSx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsaWdub3JlQ2xpY2tBbmRUYXBPbkRibENsaWNrT3JEYmxUYXA6ITF9O2Z1bmN0aW9uIG0oZSl7aWYoXyhlKSlyZXR1cm57eDplLmNsaWVudFgseTplLmNsaWVudFl9O2lmKCJ0b3VjaGVzImluKHQ9ZSkmJnZvaWQgMCE9PXQudG91Y2hlcyl7aWYoMT09PWUudG91Y2hlcy5sZW5ndGgpe2NvbnN0IHQ9KDAsci5lbnN1cmVOb3ROdWxsKShlLnRhcmdldCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLnRvdWNoZXNbMF07cmV0dXJue3g6cy5jbGllbnRYLXQubGVmdCx5OnMuY2xpZW50WS10LnRvcH19cmV0dXJuIG51bGx9dmFyIHQ7cmV0dXJue3g6ZS5vZmZzZXRYLHk6ZS5vZmZzZXRZfX1mdW5jdGlvbiBfKGUpe3JldHVybiJpc1RvdWNoImluIGUmJiJzdHlsdXMiaW4gZX1mdW5jdGlvbiBnKGUpe3JldHVybiB0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUodCl9fWZ1bmN0aW9uIHkoZSx0KXtsZXQgcz0hMTtyZXR1cm57Y2xpY2tPclRhcDooLi4uaSk9Pnt0Py4oKT9lLmNsaWNrT3JUYXAoLi4uaSk6KHM9ITEsc2V0VGltZW91dCgoKCk9PiFzJiZlLmNsaWNrT3JUYXAoLi4uaSkpLDUwMSkpfSxkb3VibGVDbGlja09yRG91YmxlVGFwOiguLi50KT0+e3M9ITAsZS5kb3VibGVDbGlja09yRG91YmxlVGFwPy4oLi4udCl9fX1jbGFzcyBme2NvbnN0cnVjdG9yKGUsdCxzKXtpZih0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9bnVsbCx0aGlzLl9jbGlja1Bvc2l0aW9uPXt4Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl9sb25nVGFwQWN0aXZlPSExLHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPW51bGwsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsLHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX3BpbmNoUHJldmVudGVkPSExLHRoaXMuX3ByZXZlbnRUb3VjaERyYWdQcm9jZXNzPSExLHRoaXMuX21vdXNlUHJlc3NlZD0hMSx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcD0wLHRoaXMuX2FjdGl2ZVRvdWNoSWQ9bnVsbCx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwPWU9Pnt0aGlzLl9tb3VzZVVwSGFuZGxlcihlKX0sdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaz1lPT57aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSl7Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7aWYoKyt0aGlzLl90YXBDb3VudCx0aGlzLl90YXBUaW1lb3V0SWQmJnRoaXMuX3RhcENvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fdGFwUG9zaXRpb24pO3M8MzAmJiF0aGlzLl9jYW5jZWxUYXAmJnRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHQsdGhpcy5faGFuZGxlcnMuZG91YmxlVGFwRXZlbnQpLHRoaXMuX3Jlc2V0VGFwVGltZW91dCgpfX1lbHNle2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKCsrdGhpcy5fY2xpY2tDb3VudCx0aGlzLl9jbGlja1RpbWVvdXRJZCYmdGhpcy5fY2xpY2tDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTpzfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLHRoaXMuX2NsaWNrUG9zaXRpb24pO3M8NSYmIXRoaXMuX2NhbmNlbENsaWNrJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlRG91YmxlQ2xpY2tFdmVudCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX19fSx0aGlzLl90YXJnZXQ9ZSx0aGlzLl9vcHRpb25zPSgwLG8ubWVyZ2UpKCgwLG8uY2xvbmUpKHApLHN8fHt9KSx0aGlzLl9vcHRpb25zLmlnbm9yZUNsaWNrQW5kVGFwT25EYmxDbGlja09yRGJsVGFwKXtpZih0Lm1vdXNlQ2xpY2tFdmVudCYmdC5tb3VzZURvdWJsZUNsaWNrRXZlbnQpe2NvbnN0IGU9eSh7Y2xpY2tPclRhcDp0Lm1vdXNlQ2xpY2tFdmVudC5iaW5kKHQpLGRvdWJsZUNsaWNrT3JEb3VibGVUYXA6dC5tb3VzZURvdWJsZUNsaWNrRXZlbnQuYmluZCh0KX0pO3QubW91c2VDbGlja0V2ZW50PWUuY2xpY2tPclRhcCx0Lm1vdXNlRG91YmxlQ2xpY2tFdmVudD1lLmRvdWJsZUNsaWNrT3JEb3VibGVUYXB9aWYodC50YXBFdmVudCYmdC5kb3VibGVUYXBFdmVudCl7Y29uc3QgZT15KHtjbGlja09yVGFwOnQudGFwRXZlbnQuYmluZCh0KSxkb3VibGVDbGlja09yRG91YmxlVGFwOnQuZG91YmxlVGFwRXZlbnQuYmluZCh0KX0pO3QudGFwRXZlbnQ9ZS5jbGlja09yVGFwLHQuZG91YmxlVGFwRXZlbnQ9ZS5kb3VibGVDbGlja09yRG91YmxlVGFwfX10aGlzLl9oYW5kbGVycz10LHRoaXMuX2luaXQoKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZU1vdXNlRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHMoKSwKdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZVRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJih0aGlzLl91bnN1YnNjcmliZU1vdXNlbW92ZSgpLHRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb2JpbGVTYWZhcmlFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVBpbmNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsKSx0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX1fbW91c2VFbnRlckhhbmRsZXIoZSl7dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCk7Y29uc3QgdD10aGlzLl9tb3VzZU1vdmVIYW5kbGVyLmJpbmQodGhpcyk7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0KX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZUVudGVyRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3Jlc2V0Q2xpY2tUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX2NsaWNrVGltZW91dElkJiZjbGVhclRpbWVvdXQodGhpcy5fY2xpY2tUaW1lb3V0SWQpLHRoaXMuX2NsaWNrQ291bnQ9MCx0aGlzLl9jbGlja1RpbWVvdXRJZD1udWxsLHRoaXMuX2NsaWNrUG9zaXRpb249e3g6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfX1fcmVzZXRUYXBUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RhcFRpbWVvdXRJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3RhcFRpbWVvdXRJZCksdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9fV9tb3VzZU1vdmVIYW5kbGVyKGUpe2lmKHRoaXMuX21vdXNlUHJlc3NlZHx8bnVsbCE9PXRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pcmV0dXJuO2lmKHRoaXMuX2ZpcmVzVG91Y2hFdmVudHMoZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VNb3ZlRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3RvdWNoTW92ZUhhbmRsZXIoZSl7Y29uc3QgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQpcmV0dXJuO2lmKHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksbnVsbCE9PXRoaXMuX3BpbmNoSW5mbylyZXR1cm47aWYodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3MpcmV0dXJuO3RoaXMuX3BpbmNoUHJldmVudGVkPSEwO2NvbnN0IHM9dGhpcy5fdG91Y2hNb3VzZU1vdmVXaXRoRG93bkluZm8oYih0KSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pKSx7eE9mZnNldDppLHlPZmZzZXQ6bixtYW5oYXR0YW5EaXN0YW5jZTpvfT1zO2lmKHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2V8fCEobzw1KSl7aWYoIXRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2Upe2NvbnN0IGU9LjUqaSx0PXRoaXMuX29wdGlvbnMuc2hvdWxkQWxsb3dUb3VjaERyYWc/LigpPz8hMSxzPW4+PWUmJighdGhpcy5fb3B0aW9ucy50cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGx8fHQpLHI9ZT5uJiYoIXRoaXMuX29wdGlvbnMudHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsfHx0KTtzfHxyfHwodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3M9ITApLHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2U9ITAsdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1pZighdGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3Mpe2NvbnN0IHM9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUsdCk7dGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQocyx0aGlzLl9oYW5kbGVycy50b3VjaE1vdmVFdmVudCksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX1fbW91c2VNb3ZlV2l0aERvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLCgwLApyLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb24pKSx7bWFuaGF0dGFuRGlzdGFuY2U6c309dDtpZihzPj01JiYodGhpcy5fY2FuY2VsQ2xpY2s9ITAsdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKSksdGhpcy5fY2FuY2VsQ2xpY2spe2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMucHJlc3NlZE1vdXNlTW92ZUV2ZW50KX19X3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGUsdCl7Y29uc3Qgcz1NYXRoLmFicyh0LngtZS54KSxpPU1hdGguYWJzKHQueS1lLnkpO3JldHVybnt4T2Zmc2V0OnMseU9mZnNldDppLG1hbmhhdHRhbkRpc3RhbmNlOnMraX19X3RvdWNoRW5kSGFuZGxlcihlKXtsZXQgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQmJjA9PT1lLnRvdWNoZXMubGVuZ3RoJiYodD1lLmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09dClyZXR1cm47dGhpcy5fYWN0aXZlVG91Y2hJZD1udWxsLHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHM9bnVsbCk7Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSx0KTtpZih0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoRW5kRXZlbnQpLCsrdGhpcy5fdGFwQ291bnQsdGhpcy5fdGFwVGltZW91dElkJiZ0aGlzLl90YXBDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTplfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKHQpLHRoaXMuX3RhcFBvc2l0aW9uKTtlPDMwJiYhdGhpcy5fY2FuY2VsVGFwJiZ0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLmRvdWJsZVRhcEV2ZW50KSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1lbHNlIHRoaXMuX2NhbmNlbFRhcHx8KHRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMudGFwRXZlbnQpLHRoaXMuX2hhbmRsZXJzLnRhcEV2ZW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSk7MD09PXRoaXMuX3RhcENvdW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSwwPT09ZS50b3VjaGVzLmxlbmd0aCYmdGhpcy5fbG9uZ1RhcEFjdGl2ZSYmKHRoaXMuX2xvbmdUYXBBY3RpdmU9ITEsKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSkpfV90b3VjaENhbmNlbEhhbmRsZXIoZSl7dGhpcy5fdG91Y2hFbmRIYW5kbGVyKGUpfV9tb3VzZVVwSGFuZGxlcihlKXtpZigwIT09ZS5idXR0b24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tb3VzZVByZXNzZWQ9ITEsdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpLGEuaXNGRil7dGhpcy5fdGFyZ2V0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKX1pZighdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlpZih0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlVXBFdmVudCksKyt0aGlzLl9jbGlja0NvdW50LHRoaXMuX2NsaWNrVGltZW91dElkJiZ0aGlzLl9jbGlja0NvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fY2xpY2tQb3NpdGlvbik7czw1JiYhdGhpcy5fY2FuY2VsQ2xpY2smJnRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VEb3VibGVDbGlja0V2ZW50KSx0aGlzLl9yZXNldENsaWNrVGltZW91dCgpfWVsc2UgdGhpcy5fY2FuY2VsQ2xpY2t8fHRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VDbGlja0V2ZW50KX1fY2xlYXJMb25nVGFwVGltZW91dCgpe251bGwhPT10aGlzLl9sb25nVGFwVGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCl9X3RvdWNoU3RhcnRIYW5kbGVyKGUpe2lmKG51bGwhPT10aGlzLl9hY3RpdmVUb3VjaElkKXJldHVybiB0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdm9pZCB0aGlzLl9yZXNldFRhcFRpbWVvdXQoKTtjb25zdCB0PWUuY2hhbmdlZFRvdWNoZXNbMF07dGhpcy5fYWN0aXZlVG91Y2hJZD10LmlkZW50aWZpZXIsdGhpcy5fbGFzdFRvdWNoRXZlbnRUaW1lU3RhbXA9dyhlKTtjb25zdCBzPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9wcmV2ZW50VG91Y2hEcmFnUHJvY2Vzcz0hMSx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPWIodCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwpO3tjb25zdCB0PXRoaXMuX3RvdWNoTW92ZUhhbmRsZXIuYmluZCh0aGlzKSxpPXRoaXMuX3RvdWNoRW5kSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPSgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHQpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGkpfSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCx7cGFzc2l2ZTohMX0pLApzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLHtwYXNzaXZlOiExfSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9sb25nVGFwSGFuZGxlci5iaW5kKHRoaXMsZSksMzMzKX1jb25zdCBpPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KGksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydEV2ZW50KSx0aGlzLl90YXBUaW1lb3V0SWR8fCh0aGlzLl90YXBDb3VudD0wLHRoaXMuX3RhcFRpbWVvdXRJZD1zZXRUaW1lb3V0KHRoaXMuX3Jlc2V0VGFwVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fdGFwUG9zaXRpb249Yih0KSl9X3doZWVsQ2xpY2tIYW5kbGVyKGUpe2lmKDEhPT1lLmJ1dHRvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy53aGVlbENsaWNrRXZlbnQpfV9tb3VzZURvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90YXJnZXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7YS5pc0ZGJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9tb3VzZU1vdmVTdGFydFBvc2l0aW9uPWIoZSksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpO3tjb25zdCBlPXRoaXMuX21vdXNlTW92ZVdpdGhEb3duSGFuZGxlci5iaW5kKHRoaXMpLHM9dGhpcy5fbW91c2VVcEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz0oKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHMpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX1pZih0aGlzLl9tb3VzZVByZXNzZWQ9ITAsdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZURvd25FdmVudCksdGhpcy5fY2xpY2tUaW1lb3V0SWR8fCh0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9yZXNldENsaWNrVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fY2xpY2tQb3NpdGlvbj1iKGUpKX1faW5pdCgpe2NvbnN0IGU9dGhpcy5fbW91c2VFbnRlckhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsZSk7Y29uc3QgdD10aGlzLl90b3VjaENhbmNlbEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHQpO3tjb25zdCBlPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LHQ9ZT0+IWUudGFyZ2V0fHwhdGhpcy5fdGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSxzPWU9PntpZighdChlKSlyZXR1cm47Y29uc3Qgcz1lLmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQodGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUscyksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydE91dHNpZGVFdmVudCl9LGk9ZT0+e3QoZSkmJiF0aGlzLl9maXJlc1RvdWNoRXZlbnRzKGUpJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSksdGhpcy5faGFuZGxlcnMubW91c2VEb3duT3V0c2lkZUV2ZW50KX07dGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHM9KCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMpfSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVNb3VzZUV2ZW50cz0oKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpKX0sZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscyx7cGFzc2l2ZTohMH0pfWEuQ2hlY2tNb2JpbGUuaU9TKCkmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cz0oKT0+e3RoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljayl9LHRoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaykpO2NvbnN0IHM9dGhpcy5fbW91c2VMZWF2ZUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscyk7Y29uc3QgaT10aGlzLl9jb250ZXh0TWVudUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGkpO2NvbnN0IG49dGhpcy5fdG91Y2hTdGFydEhhbmRsZXIuYmluZCh0aGlzKTtsZXQgcjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbix7cGFzc2l2ZTohMH0pLGEuaXNDaHJvbWUmJihyPWU9PntpZigxPT09ZS5idXR0b24pcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSwhMX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIscikpO2NvbnN0IG89dGhpcy5fbW91c2VEb3duSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pO2NvbnN0IGw9dGhpcy5fd2hlZWxDbGlja0hhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihkLGwpO2NvbnN0IHU9KCk9Pnt9Cjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix1LHtwYXNzaXZlOiExfSksdGhpcy5fdW5zdWJzY3JpYmVUYXJnZXRFbGVtZW50RXZlbnRzPSgpPT57dGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHMpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsaSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4pLHImJnRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHIpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGQsbCksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdSl9LHRoaXMuX2luaXRQaW5jaCgpfV9pbml0UGluY2goKXtpZih2b2lkIDA9PT10aGlzLl9oYW5kbGVycy5waW5jaFN0YXJ0RXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQpcmV0dXJuO2NvbnN0IGU9ZT0+dGhpcy5fY2hlY2tQaW5jaFN0YXRlKGUudG91Y2hlcyk7dGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGUse3Bhc3NpdmU6ITB9KTtjb25zdCB0PWU9PntpZihudWxsPT09dGhpcy5fcGluY2hJbmZvKXJldHVybjtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpLHM9UChlLnRvdWNoZXMsdGhpcy5fcGluY2hJbmZvLnNlY29uZFRvdWNoSWQpO2lmKHQmJnMmJnZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQpe2NvbnN0e3N0YXJ0UGluY2hEaXN0YW5jZTppLHN0YXJ0UGluY2hNaWRkbGVQb2ludDpufT10aGlzLl9waW5jaEluZm8scj1TKHQscykvaSxvPXYodGhpcy5fdGFyZ2V0KTt0aGlzLl9oYW5kbGVycy5waW5jaEV2ZW50KG4se3g6dC5jbGllbnRYLW8ubGVmdCx5OnQuY2xpZW50WS1vLnRvcH0se3g6cy5jbGllbnRYLW8ubGVmdCx5OnMuY2xpZW50WS1vLnRvcH0sciksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0LHtwYXNzaXZlOiExfSk7Y29uc3Qgcz1lPT50aGlzLl9jaGVja1BpbmNoU3RhdGUoZS50b3VjaGVzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCksdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzKX19X2NoZWNrUGluY2hTdGF0ZShlKXsxPT09ZS5sZW5ndGgmJih0aGlzLl9waW5jaFByZXZlbnRlZD0hMSksMiE9PWUubGVuZ3RofHx0aGlzLl9waW5jaFByZXZlbnRlZHx8dGhpcy5fbG9uZ1RhcEFjdGl2ZT90aGlzLl9zdG9wUGluY2goKTp0aGlzLl9zdGFydFBpbmNoKGUpfV9zdGFydFBpbmNoKGUpe2lmKHZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoU3RhcnRFdmVudCYmbnVsbD09PXRoaXMuX3BpbmNoSW5mbyl7Y29uc3QgdD12KHRoaXMuX3RhcmdldCk7bGV0IHMsaTtlWzBdLmlkZW50aWZpZXI9PT10aGlzLl9hY3RpdmVUb3VjaElkPyhzPWVbMF0saT1lWzFdKToocz1lWzFdLGk9ZVswXSk7Y29uc3Qgbj17eDpzLmNsaWVudFgtdC5sZWZ0LHk6cy5jbGllbnRZLXQudG9wfSxyPXt4OmkuY2xpZW50WC10LmxlZnQseTppLmNsaWVudFktdC50b3B9LG89e3g6KG4ueCtyLngpLzIseToobi55K3IueSkvMn07dGhpcy5faGFuZGxlcnMucGluY2hTdGFydEV2ZW50KG8sbixyLHtib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50OnRoaXMuX3RhcmdldC5jb250YWlucyhpLnRhcmdldCl9KSYmKHRoaXMuX3BpbmNoSW5mbz17c3RhcnRQaW5jaERpc3RhbmNlOlMocyxpKSxzdGFydFBpbmNoTWlkZGxlUG9pbnQ6byxzZWNvbmRUb3VjaElkOmkuaWRlbnRpZmllcn0pfXRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKX1fc3RvcFBpbmNoKCl7bnVsbCE9PXRoaXMuX3BpbmNoSW5mbyYmKHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQ/LigpKX1fbW91c2VMZWF2ZUhhbmRsZXIoZSl7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47aWYoIXRoaXMuX2FjY2VwdE1vdXNlTGVhdmUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VMZWF2ZUV2ZW50KSx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpfV9sb25nVGFwSGFuZGxlcihlKXtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMubG9uZ1RhcEV2ZW50KSx0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoQ29udGV4dE1lbnVFdmVudCksdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2xvbmdUYXBBY3RpdmU9ITB9X2NvbnRleHRNZW51SGFuZGxlcihlKXtpZigoMCxsLnByZXZlbnREZWZhdWx0KShlKSxudWxsIT09dGhpcy5fdG91Y2hNb3ZlU3RhcnRQb3NpdGlvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy5jb250ZXh0TWVudUV2ZW50KSx0aGlzLl9jYW5jZWxDbGljaz0hMH1fZmlyZXNUb3VjaEV2ZW50cyhlKXsKcmV0dXJuIGUuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT1lLnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP2Uuc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dyhlKTx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcCs1MDB9X3Byb2Nlc3NUb3VjaEV2ZW50KGUsdCl7KDAsdS5zZXRMYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKShlKSx0JiZ0LmNhbGwodGhpcy5faGFuZGxlcnMsZSl9X3Byb2Nlc3NNb3VzZUV2ZW50KGUsdCl7d2luZG93LlRWRCYmKCJtb3VzZWVudGVyIj09PWUuc3JjVHlwZXx8Im1vdXNlbW92ZSI9PT1lLnNyY1R5cGUpJiZjPjA/Yy0tOigibW91c2VsZWF2ZSIhPT1lLnNyY1R5cGUmJigwLHUuc2V0TGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoZSksdCYmdC5jYWxsKHRoaXMuX2hhbmRsZXJzLGUpKX1fbWFrZUNvbXBhdEV2ZW50KGUsdCl7Y29uc3Qgcz10fHxlLGk9dD92b2lkIDA6ZS5idXR0b25zLHI9KDAsbi5kZWZhdWx0KSgoKCk9PnRoaXMuX3RhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH0pKTtyZXR1cm57Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFkscGFnZVg6cy5wYWdlWCxwYWdlWTpzLnBhZ2VZLHNjcmVlblg6cy5zY3JlZW5YLHNjcmVlblk6cy5zY3JlZW5ZLGdldCBsb2NhbFgoKXtyZXR1cm4gcy5jbGllbnRYLXIoKS5sZWZ0fSxnZXQgbG9jYWxZKCl7cmV0dXJuIHMuY2xpZW50WS1yKCkudG9wfSxjdHJsS2V5OmUuY3RybEtleSxhbHRLZXk6ZS5hbHRLZXksc2hpZnRLZXk6ZS5zaGlmdEtleSxtZXRhS2V5OmUubWV0YUtleSxidXR0b25zOmksaXNUb3VjaDohZS50eXBlLnN0YXJ0c1dpdGgoIm1vdXNlIikmJiJjb250ZXh0bWVudSIhPT1lLnR5cGUmJiJjbGljayIhPT1lLnR5cGUsc3R5bHVzOiJzdHlsdXMiPT09dD8udG91Y2hUeXBlLHNyY1R5cGU6ZS50eXBlLHRhcmdldDpzLnRhcmdldCx2aWV3OmUudmlldyxwcmV2ZW50RGVmYXVsdDooKT0+eyJ0b3VjaHN0YXJ0IiE9PWUudHlwZSYmKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX19ZnVuY3Rpb24gdihlKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH19ZnVuY3Rpb24gYihlKXtyZXR1cm57eDplLnBhZ2VYLHk6ZS5wYWdlWX19ZnVuY3Rpb24gUyhlLHQpe2NvbnN0IHM9ZS5jbGllbnRYLXQuY2xpZW50WCxpPWUuY2xpZW50WS10LmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMraSppKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnRpbWVTdGFtcHx8cGVyZm9ybWFuY2Uubm93KCl9ZnVuY3Rpb24gUChlLHQpe2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKWlmKGVbc10uaWRlbnRpZmllcj09PXQpcmV0dXJuIGVbc107cmV0dXJuIG51bGx9fSw3NDU5OTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2FkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleTooKT0+byxzaG93QWRkU3ltYm9sRGlhbG9nOigpPT5hfSk7dmFyIGk9cyg2MjE5MjYpLG49cyg4MjQ0NzgpLHI9cygxNzk3NzEpO2NvbnN0IG89ImFkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleSI7ZnVuY3Rpb24gYShlKXsoMCxpLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+eygwLG4uc2hvd1dhdGNoTGlzdHNEaWFsb2cpKHthZGRTeW1ib2xzOmUsb25PcGVuOmx9KX0pLHtmZWF0dXJlOiJ3YXRjaExpc3QiLHNvdXJjZToiYWRkIHN5bWJvbCB0byB3YXRjaGxpc3QifSl9ZnVuY3Rpb24gbCgpe3IuZW1pdChvKX19LDcwNjg4NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjcmVhdGVEd21BbGlnbmVyOigpPT5kLGNyZWF0ZVRpbWVUb0JhclRpbWVBbGlnbmVyOigpPT5ofSk7dmFyIGk9cyg3MDA4MDkpLG49cygyNTQ2NzMpLHI9cyg2NDI3MTkpLG89cyg3NzE3OTUpO2NvbnN0IGE9bmV3IHIuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLCIwMDAwLTAwMDA6MTIzNDU2NyIpO3ZhciBsPXMoOTMwMjMxKTtmdW5jdGlvbiB1KCl7cmV0dXJuISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcmVzb2x1dGlvbl9yZWJ1aWxkIil9Y29uc3QgYz1uZXcgTWFwO2Z1bmN0aW9uIGQoZSx0KXtjb25zdCBzPXUoKSxsPWAke3N9fCR7ZX18JHt0LnRpbWV6b25lfXwke3Quc2Vzc2lvbn18JHt0LnNlc3Npb25faG9saWRheXM/PyIifXwke3QuY29ycmVjdGlvbnM/PyIifWA7bGV0IGQ9Yy5nZXQobCk7cmV0dXJuIHZvaWQgMD09PWQmJihkPWZ1bmN0aW9uKGUsdCxzKXtpZighZXx8IW4uSW50ZXJ2YWwuaXNEV00odCkpcmV0dXJuIG51bGw7Y29uc3QgbD1uZXcgci5TZXNzaW9uSW5mbyhzLnRpbWV6b25lLHMuc2Vzc2lvbixzLnNlc3Npb25faG9saWRheXMscy5jb3JyZWN0aW9ucyksdT0oMCxvLm5ld0JhckJ1aWxkZXIpKHQsbCxhKTtyZXR1cm57dGltZVRvU2Vzc2lvblN0YXJ0OmU9PnUudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KGUpLHRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheTplPT57Y29uc3QgdD0oMCxpLnV0Y190b19jYWwpKGwudGltZXpvbmUsZSkscz1sLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkodCk7cmV0dXJuKDAsaS5zZXRfaG1zKShzLDAsMCwwLDAsKDAsaS5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpLHMuZ2V0VGltZSgpfX19KHMsZSx0KSxjLnNldChsLGQpKSxkfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe2lmKCFlKXJldHVybiBlPT5lO2NvbnN0IGk9bmV3IHIuU2Vzc2lvbkluZm8ocy50aW1lem9uZSxzLnNlc3Npb24scy5zZXNzaW9uX2hvbGlkYXlzLHMuY29ycmVjdGlvbnMpLG49KDAsby5uZXdCYXJCdWlsZGVyKSh0LGksaSwhMSk7cmV0dXJuIGU9Pm4uYWxpZ25UaW1lSWZQb3NzaWJsZShlKX0odSgpLGUsdCl9fSw5NzQ2NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGVmYXVsdFByb3BlcnR5OigpPT5OLGFsbG93U2F2aW5nRGVmYXVsdHM6KCk9Pk0sY2xlYW5VcFN0YXRlS2V5czooKT0+RSxjcmVhdGVEZWZhdWx0c1N0YXRlOigpPT5JLGV4dHJhY3RBbGxQcm9wZXJ0aWVzS2V5czooKT0+RCxleHRyYWN0U3RhdGU6KCk9PlIsZXh0cmFjdFRoZW1lZENvbG9yczooKT0+a30pCjt2YXIgaT1zKDIwMzY4MSksbj1zKDc0MDE2Mikscj1zKDkxNzM3MSksbz1zKDU1NDcxOCksYT1zKDEwNTk3MCksbD1zKDg2NDAzNiksdT1zKDE2NzUwMiksYz1zKDE0NDU1NSksZD1zKDg4MDExNSksaD1zKDMwNDIyMSkscD1zKDEzODYzOCksbT1zKDEzNDY3KSxfPXMoMjIxMDYxKSxnPXMoNDI1NjU5KSx5PXMoODEwNDEpLGY9cygyMDA2NjYpLHY9cyg0NTM5NjgpLGI9cyg5NDgzODApLFM9cyg5MjUyODIpLHc9cygxMDk0MjkpLFA9KHMoNzk0ODEyKSxzKDc2ODI5MikpO2NvbnN0IFQ9KDAsXy5nZXRMb2dnZXIpKCJUaGVtZWREZWZhdWx0cyIpO2Z1bmN0aW9uIEMoZSl7cmV0dXJuIGUudmFsdWUoKT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodH1mdW5jdGlvbiBFKGUsdCxzKXtmb3IoY29uc3QgaSBvZiB0KWlmKCgwLHIuZGVmYXVsdCkoZSxpKSxzKXtjb25zdCB0PWkuc3BsaXQoIi4iKTtmb3IodC5wb3AoKTt0Lmxlbmd0aDspe2NvbnN0IHM9KDAsby5kZWZhdWx0KShlLHQpO2lmKCEoMCxkLmRlZmF1bHQpKHMpfHwwIT09T2JqZWN0LmtleXMocykubGVuZ3RoKWJyZWFrOygwLHIuZGVmYXVsdCkoZSx0KSx0LnBvcCgpfX19ZnVuY3Rpb24gSShlLHQscyl7dC5zdGFydHNXaXRoKCJzdHVkeV8iKSYmVC5sb2dFcnJvcigiY3JlYXRlRGVmYXVsdHNTdGF0ZTogc2hvdWxkIG5vdCBjYWxsIHRoaXMgZm9yIHN0dWRpZXMiKTtjb25zdCByPXt9LG89KDAsaS5kZWZhdWx0KSgoZT93LmRlZmF1bHRzOncuZmFjdG9yeURlZmF1bHRzKSh0KSk7cmV0dXJuIEUobyxzKSwoMCxuLmRlZmF1bHQpKHIsbykscn1sZXQgTD0hMTtmdW5jdGlvbiBNKGUpe0w9ZX1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgcz1PYmplY3Qua2V5cyhlKSxpPVtdO3JldHVybiBzLmZvckVhY2goKHM9Pntjb25zdCBuPWVbc107aWYoKDAsZC5kZWZhdWx0KShuKSl7RChuKS5mb3JFYWNoKChlPT5pLnB1c2goYCR7c30uJHtlfWApKSl9ZWxzZSB0Py5oYXMocyl8fGkucHVzaChzKX0pKSxpfWZ1bmN0aW9uIHgoZSx0LHM9IiIpe2lmKDE9PT10Lmxlbmd0aCYmIioiPT09dFswXSlyZXR1cm4gZTtjb25zdCBpPXt9O2Zvcihjb25zdCBuIG9mIHQpe2NvbnN0IHI9bi5zcGxpdCgiLiIpLG89clswXSxhPWVbb10sbD0iIj09PXM/bzpgJHtzfS4ke299YDtpZihlLmhhc093blByb3BlcnR5KG8pKWlmKHIubGVuZ3RoPjEpe2lmKCEoMCxkLmRlZmF1bHQpKGEpKXtULmxvZ0Vycm9yKGBwYXRoICR7bH0gbXVzdCBiZSBhbiBvYmplY3QsIGJ1dCBpdCBpcyBhIHByaW1pdGl2ZWApO2NvbnRpbnVlfXtjb25zdCBlPXQuZmlsdGVyKChlPT5lLnN0YXJ0c1dpdGgoYCR7b30uYCkpKS5tYXAoKGU9PmUuc3BsaXQoIi4iKS5zbGljZSgxKS5qb2luKCIuIikpKTtpW29dPXgoYSxlLGwpfX1lbHNle2lmKCgwLGQuZGVmYXVsdCkoYSkpe1QubG9nRXJyb3IoYHBhdGggJHtsfSBtdXN0IGJlIGEgcHJpbWl0aXZlLCBidXQgaXQgaXMgYW4gb2JqZWN0YCk7Y29udGludWV9aVtvXT1hfX1yZXR1cm4gaX1mdW5jdGlvbiBSKGUsdCxzKXtpZighZSlyZXR1cm57fTtsZXQgaT1lO3JldHVybiB0JiYoaT14KGUsdCkpLHMmJkUoaSxzLCEwKSxpfWZ1bmN0aW9uIGsoZSx0KXtjb25zdCBzPUQoZSksaT1bXTtmb3IoY29uc3QgbiBvZiBzKXtjb25zdCBzPSgwLG8uZGVmYXVsdCkoZSxuKSxyPSgwLG8uZGVmYXVsdCkodCxuKTsoMCxwLmFzc2VydCkodm9pZCAwIT09cyxgTGlnaHQgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksKDAscC5hc3NlcnQpKHZvaWQgMCE9PXIsYERhcmsgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksaS5wdXNoKHtwYXRoOm4sY29sb3JzOltzLHJdfSl9cmV0dXJuIGl9ZnVuY3Rpb24gVihlLHQpe2UuaW5jbHVkZXModCl8fGUucHVzaCh0KX1mdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7LTEhPT1zJiZlLnNwbGljZShzLDEpfWZ1bmN0aW9uIEYoZSx0KXtjb25zdCBzPSgwLGwuZGVmYXVsdCkoZSwoKGUscyxpKT0+e2lmKHZvaWQgMD09PXRbaV0pcmV0dXJuIGU7aWYoISgwLHUuZGVmYXVsdCkocyx0W2ldKSlpZigoMCxkLmRlZmF1bHQpKHMpJiYoMCxkLmRlZmF1bHQpKHRbaV0pKXtjb25zdCBuPUYocyx0W2ldKTt2b2lkIDAhPT1uJiYoZVtpXT1uKX1lbHNlIGVbaV09cztyZXR1cm4gZX0pLHt9KTtyZXR1cm4oMCxjLmRlZmF1bHQpKHMpP3ZvaWQgMDpzfWZ1bmN0aW9uIEIoZSl7cmV0dXJuIGU9PT15LlN0ZFRoZW1lLkRhcms/MTowfWZ1bmN0aW9uIE8oZSx0KXtpZihlPT09dClyZXR1cm4hMDtpZih0eXBlb2YgZSE9dHlwZW9mIHQpcmV0dXJuITE7aWYoISgwLGguZGVmYXVsdCkoZSl8fCEoMCxoLmRlZmF1bHQpKHQpKXJldHVybiExO2NvbnN0IHM9KDAsbS50cnlQYXJzZVJnYmEpKGUpLGk9KDAsbS50cnlQYXJzZVJnYmEpKHQpO3JldHVybiEoIXN8fCFpKSYmISEoMCxnLmNvbG9yc0FyZUNsb3NlRW5vdWdoKShlLHQpfWNsYXNzIE4gZXh0ZW5kcyBQLlByb3BlcnR5e2NvbnN0cnVjdG9yKGUpe2NvbnN0e2RlZmF1bHROYW1lOnQsbm9uVGhlbWVkRGVmYXVsdHNLZXlzOnMsdGhlbWVkRGVmYXVsdHNLZXlzOmksZXhjbHVkZWREZWZhdWx0c0tleXM6cj1bXSx0aGVtZWRDb2xvcnM6byxyZXBsYWNlVGhlbWVkQ29sb3JzT25UaGVtZUNoYW5nZTphPSExLGFsbFN0YXRlS2V5czpsLGV4Y2x1ZGVkU3RhdGVLZXlzOnU9W10sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Yz1bXSxzdGF0ZTpkLHVzZVVzZXJQcmVmZXJlbmNlczpoPSEwLHNhdmVOb25EZWZhdWx0VXNlclByZWZlcmVuY2VzT25seTptPSExLGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6Xz0hMSxhbHdheXNTYXZlRGVmYXVsdEtleXM6Zz1bInZlcnNpb24iXSxzYXZlRGVmYXVsdHNDb25zdW1lcjpQPXcuc2F2ZURlZmF1bHRzLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOlQ9KCk9PkkoITEsdCxbXSksc2NoZW1hOkU9KDAsUy5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoVCgpKSx0aGVtZTpMPWYud2F0Y2hlZFRoZW1lLnNwYXduT3duZXJzaGlwKCl9PWU7c3VwZXIodm9pZCAwLEUpLHRoaXMuX3RoZW1lZENvbG9ycz1bXSwKdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50PW5ldyBiLkRlbGVnYXRlLHRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlPSExLHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzPSExLHRoaXMuX2RlZmF1bHROYW1lPXQsdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzPWgsdGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5PW0sdGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cz1fLHRoaXMuX3NhdmVEZWZhdWx0c0NvbnN1bWVyPVAsdGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI9VCx0aGlzLl9hbGxTdGF0ZUtleXM9bCx0aGlzLl9leGNsdWRlZFN0YXRlS2V5cz11LHRoaXMuX25vblRoZW1lZERlZmF1bHRzS2V5cz1zLHRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cz1pLHRoaXMuX2FsbERlZmF1bHRzS2V5cz1zfHxpP1suLi5zPz9bXSwuLi5pPz9bXV06dm9pZCAwLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPXIsdGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXM9Yyx0aGlzLl90aGVtZWRDb2xvcnM9byx0aGlzLl9hbHdheXNTYXZlRGVmYXVsdEtleXM9ZywoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsRGVmYXVsdHNLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMubGVuZ3RoLCJEZWZhdWx0cyBrZXlzIGFuZCBleGNsdWRlZCBkZWZhdWx0cyBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSwoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsU3RhdGVLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMubGVuZ3RoLCJTdGF0ZSBrZXlzIGFuZCBleGNsdWRlZCBzdGF0ZSBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSx0aGlzLl90aGVtZT1MO2NvbnN0IE09Qyh0aGlzLl90aGVtZSk7dGhpcy5tZXJnZSgoMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c0ZvclRoZW1lKCgwLHYuaXNTdGRUaGVtZU5hbWUpKE0pP006eS5TdGRUaGVtZS5MaWdodCksdGhpcy5fdXNlclNldHRpbmdzKCksUihkLGwsdSkpKSxvJiZhJiZ0aGlzLnNldFRoZW1lZENvbG9ycyhvKSx0aGlzLl9yZXN0b3JlRmFjdG9yeURlZmF1bHRzRXZlbnQ9bmV3IGIuRGVsZWdhdGV9ZGVzdHJveSgpe3RoaXMuX3RoZW1lPy5yZWxlYXNlKCksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU/LigpLHN1cGVyLmRlc3Ryb3koKX1hcHBseVRlbXBsYXRlKGUsdCl7dGhpcy5tZXJnZUFuZEZpcmUoUigoMCxuLmRlZmF1bHQpKCgwLGkuZGVmYXVsdCkodCksZSksdGhpcy5fYWxsU3RhdGVLZXlzLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKSl9cHJlZmVyZW5jZXMoKXtyZXR1cm4gUih0aGlzLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0aGlzLl9hbGxEZWZhdWx0c0tleXMpfXRlbXBsYXRlKCl7cmV0dXJuIFIodGhpcy5zdGF0ZSh2b2lkIDAsNCksdm9pZCAwLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKX1tZXJnZVByZWZlcmVuY2VzKGUpe3RoaXMubWVyZ2VBbmRGaXJlKFIoZSx0aGlzLl9hbGxEZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpKX1hZGRFeGNsdWRlZEtleShlLHQpezEmdCYmVih0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyxlKSwyJnQmJlYodGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsZSksNCZ0JiZWKHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzLGUpfXJlbW92ZUV4Y2x1ZGVkS2V5KGUsdCl7MSZ0JiZBKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzLGUpLDImdCYmQSh0aGlzLl9leGNsdWRlZFN0YXRlS2V5cyxlKX1yZXN0b3JlRmFjdG9yeURlZmF1bHRzKCl7Y29uc3QgZT10aGlzLmZhY3RvcnlEZWZhdWx0cygpO0UoZSx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyksdGhpcy5tZXJnZUFuZEZpcmUoZSksdGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfIikmJiF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV9WYlBGaXhlZCIpfHx0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcih0aGlzLl9kZWZhdWx0TmFtZSksdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50LmZpcmUoKX1vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50fXNhdmVEZWZhdWx0cygpe2lmKCF0aGlzLl91c2VVc2VyUHJlZmVyZW5jZXN8fHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzKXJldHVybjtsZXQgZTtpZih0aGlzLl9zYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHkpe2NvbnN0IHQ9dGhpcy5zdGF0ZSh0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cykscz10aGlzLmZhY3RvcnlEZWZhdWx0cygpO2lmKGU9RihSKHQsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzKSxSKHMsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSksdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLmxlbmd0aCl7Y29uc3Qgcz1SKHQsdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzKTtlPWU/P3t9LCgwLG4uZGVmYXVsdCkoZSxzKX1jb25zdCBpPXRoaXMudGhlbWVEZWZhdWx0cyhDKHRoaXMuX3RoZW1lKSkscj10aGlzLnRoZW1lU3RhdGUoKSxvPUYocixpKTsoMCxjLmRlZmF1bHQpKG8pfHwoZT1lPz97fSwoMCxuLmRlZmF1bHQpKGUscikpfWVsc2UgZT10aGlzLnByZWZlcmVuY2VzKCk7dGhpcy5fc2F2ZURlZmF1bHRzQ29uc3VtZXIodGhpcy5fZGVmYXVsdE5hbWUsZSl9dGhlbWVEZWZhdWx0cyhlKXtpZih0aGlzLl90aGVtZWRDb2xvcnMpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz17fSxpPUIodCk7Zm9yKGNvbnN0e3BhdGg6dCxjb2xvcnM6bn1vZiBlKSgwLGEuZGVmYXVsdCkocyx0LG5baV0pO3JldHVybiBzfSh0aGlzLl90aGVtZWRDb2xvcnMsZT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodCk7cmV0dXJuIFIodGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIoKSx0aGlzLl90aGVtZWREZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpfQpmYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fZmFjdG9yeURlZmF1bHRzRm9yVGhlbWUoQyh0aGlzLl90aGVtZSkpfXRoZW1lU3RhdGUoKXtjb25zdCBlPXN1cGVyLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0PXRoaXMuX3RoZW1lZENvbG9ycztyZXR1cm4gUihlLHQ/dC5tYXAoKGU9PmUucGF0aCkpOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyl9YWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChlKXsoMCxwLmFzc2VydCkoISF0aGlzLl90aGVtZWRDb2xvcnMsIlRoaXMgbWV0aG9kIHNob3VsZCBub3QgYmUgY2FsbGVkIGlmIHRoZW1lZCBjb2xvcnMgYXJlIG5vdCBzZXQiKTtyZXR1cm4gZnVuY3Rpb24oZSx0LHM9W10pe2Zvcihjb25zdCBpIG9mIHMpe2NvbnN0IHM9aS5wYXRoO2lmKCFPKCgwLG8uZGVmYXVsdCkoZSxzKSwoMCxvLmRlZmF1bHQpKHQscykpKXJldHVybiExfXJldHVybiEwfSh0aGlzLnRoZW1lU3RhdGUoKSx0aGlzLnRoZW1lRGVmYXVsdHMoZSksdGhpcy5fdGhlbWVkQ29sb3JzKX1jbG9uZShlKXtyZXR1cm4gbmV3IE4odGhpcy5fb3B0aW9ucygpKX1zZXRUaGVtZWRDb2xvcnMoZSl7aWYodGhpcy5fdGhlbWVkQ29sb3JzPWUsdm9pZCAwPT09dGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWUpe2NvbnN0IGU9KCk9Pnt0aGlzLl91cGRhdGVUaGVtZWRDb2xvcnMoITEpfTt0aGlzLl90aGVtZS5zdWJzY3JpYmUoZSksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU9KCk9PnRoaXMuX3RoZW1lLnVuc3Vic2NyaWJlKGUpfXRoaXMuX3VwZGF0ZVRoZW1lZENvbG9ycyghMCl9YXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhlKXt0aGlzLl90aGVtZWRDb2xvcnMmJnRoaXMubWVyZ2VBbmRGaXJlKHRoaXMudGhlbWVEZWZhdWx0cyhlKSl9c3RhdGUoZSx0KXtyZXR1cm4gUihzdXBlci5zdGF0ZShbLi4udGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsLi4uZT8/W11dLHQpLHRoaXMuX2FsbFN0YXRlS2V5cyl9ZnVsbFN0YXRlKCl7cmV0dXJuIHN1cGVyLnN0YXRlKCl9X3VwZGF0ZVRoZW1lZENvbG9ycyhlKXtpZighdGhpcy5fdGhlbWVkQ29sb3JzKXJldHVybjtjb25zdCB0PUModGhpcy5fdGhlbWUpLHM9dD09PXkuU3RkVGhlbWUuTGlnaHQ/eS5TdGRUaGVtZS5EYXJrOnkuU3RkVGhlbWUuTGlnaHQ7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fdGhlbWVkQ29sb3JzKXtjb25zdCBuPSgwLHAuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZEJ5UGF0aChpLnBhdGgpKSxyPWkuY29sb3JzW0IocyldOygiIj09PW4udmFsdWUoKXx8IWUmJk8obi52YWx1ZSgpLHIpKSYmbi5zZXRWYWx1ZShpLmNvbG9yc1tCKHQpXSl9fV91c2VyU2V0dGluZ3MoKXtpZighdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzKXJldHVybjtjb25zdCBlPUkoITAsdGhpcy5fZGVmYXVsdE5hbWUsW10pO2lmKCFlKXJldHVybjtyZXR1cm4gUigoMCxTLmV4dHJhY3RTdGF0ZVdpdGhTY2hlbWEpKGUsdGhpcy5fc2NoZW1hLDEpLHRoaXMuX2FsbERlZmF1bHRzS2V5cyx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyl9X29wdGlvbnMoKXtyZXR1cm57ZGVmYXVsdE5hbWU6dGhpcy5fZGVmYXVsdE5hbWUsZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI6dGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIsc3RhdGU6dGhpcy5zdGF0ZSgpLG5vblRoZW1lZERlZmF1bHRzS2V5czp0aGlzLl9ub25UaGVtZWREZWZhdWx0c0tleXMsdGhlbWVkRGVmYXVsdHNLZXlzOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyxleGNsdWRlZERlZmF1bHRzS2V5czp0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyx0aGVtZWRDb2xvcnM6dGhpcy5fdGhlbWVkQ29sb3JzLHJlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlOnRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlLGFsbFN0YXRlS2V5czp0aGlzLl9hbGxTdGF0ZUtleXMsZXhjbHVkZWRTdGF0ZUtleXM6dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMsZXhjbHVkZWRUZW1wbGF0ZUtleXM6dGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXMsdXNlVXNlclByZWZlcmVuY2VzOnRoaXMuX3VzZVVzZXJQcmVmZXJlbmNlcyxzYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHk6dGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5LGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6dGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cyxzYXZlRGVmYXVsdHNDb25zdW1lcjp0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcixhbHdheXNTYXZlRGVmYXVsdEtleXM6dGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLHRoZW1lOnRoaXMuX3RoZW1lLnNwYXduT3duZXJzaGlwKCl9fV9jaGlsZENoYW5nZWQoZSx0KXtzdXBlci5fY2hpbGRDaGFuZ2VkKGUsdCksdGhpcy5fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHModCkmJnRoaXMuc2F2ZURlZmF1bHRzKCl9X2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSl7dGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITAsc3VwZXIuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSksdGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITEsZS5zb21lKChlPT50aGlzLl9wcm9wZXJ0eUFmZmVjdHNEZWZhdWx0cyhlLnBhdGhUb1Jvb3RQcm9wZXJ0eSgpKSkpJiZ0aGlzLnNhdmVEZWZhdWx0cygpfV9mYWN0b3J5RGVmYXVsdHNGb3JUaGVtZShlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyKCksdGhpcy50aGVtZURlZmF1bHRzKGUpKX1fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHMoZSl7CnJldHVybih0aGlzLl9pZ25vcmVBbGxvd1NhdmluZ0RlZmF1bHRzfHxMKSYmIXRoaXMuX2RlZmF1bHROYW1lLnN0YXJ0c1dpdGgoInJlcGxheVN0dWR5U3RyYXRlZ3kiKSYmKCF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV8iKXx8dGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfVmJQRml4ZWQiKSkmJih0aGlzLl9hbGxEZWZhdWx0c0tleXMmJnRoaXMuX2FsbERlZmF1bHRzS2V5cy5pbmNsdWRlcyhlKXx8IXRoaXMuX2FsbERlZmF1bHRzS2V5cyYmIXRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPy5pbmNsdWRlcyhlKSkmJigwLFAuaXNQcmltaXRpdmVUeXBlKSh0aGlzLmNoaWxkQnlQYXRoKGUpPy52YWx1ZSgpKX19fSwxMDk0MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXJ7Y2xvbmU6aSxtZXJnZTpufT1zKDYwMTg0MSkscj1zKDkzMDUwNikuUGxEaXNwbGF5O2NvbnN0e2dldFN0ZENoYXJ0VGhlbWU6b309cyg3Mjg1NCkse0RFRkFVTFRfVEhFTUU6YX09cyg2NjUxODcpLGw9cyg1MDc2MDQpLmNvbG9yczt2YXIgdT1zKDkzMDUwNikuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LGM9cygxNjgyNTgpLlNUVURZUExPVERJU1BMQVlUQVJHRVQsZD1zKDQ2NTc3NyksaD1zKDIyNjQ3NykuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZSxwPXMoNDkyMzgxKS5NYWduZXRNb2RlLG09cygyMjc4MjUpLkNvbG9yVHlwZTtjb25zdCBfPXMoMzk4ODk5KS5ERUZBVUxUX0xJTkVfVE9PTF9MSU5FX1dJRFRIO3ZhciBnPXMoOTYxODMxKS5zZXNzaW9uc1ByZWZlcmVuY2VzRGVmYXVsdCx5PXMoNzA5NDYpLmF4aXNMYWJlbEJhY2tncm91bmRDb2xvcixmPXMoNTE4Nzk1KS5tYWluU2VyaWVzUHJvcGVydGllcztjb25zdHtkZWZhdWx0c0FzSXM6dixhcHBseURlZmF1bHRzT3ZlcnJpZGVzOmIsYXBwbHlEZWZhdWx0T3ZlcnJpZGVzVG9MaW5ldG9vbHM6U309cyg3OTQ4MTIpLHtMSU5FU1RZTEVfU09MSUQ6dyxMSU5FU1RZTEVfRE9UVEVEOlAsTElORVNUWUxFX0RBU0hFRDpUfT1zKDI2MDY5KSx7Y29sb3JXaGl0ZTpDLGNvbG9yVHZCbHVlNTAwOkUsY29sb3JUdkJsdWU1MDBBbHBoYTMwOkksY29sb3JUdkJsdWU1MDBBbHBoYTI1OkwsY29sb3JUdkJsdWU1MDBBbHBoYTIwOk0sY29sb3JEZWVwQmx1ZTUwMDpELGNvbG9yU2t5Qmx1ZTUwMDp4LGNvbG9yUmlwZVJlZDUwMDpSLGNvbG9yUmlwZVJlZDUwMEFscGhhMzA6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTIwOlYsY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTA6QSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhNzA6Rixjb2xvckJlcnJ5UGluazUwMDpCLGNvbG9yTWludHlHcmVlbjUwMDpPLGNvbG9ySWd1YW5hR3JlZW41MDA6Tixjb2xvclRhbk9yYW5nZTUwMDpXLGNvbG9yQ29sZEdyYXkxNTA6VSxjb2xvckNvbGRHcmF5NTAwOnosY29sb3JDb2xkR3JheTkwMDpILGNvbG9yQ29sZEdyYXk3NTA6an09bDt2YXIgJD1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlLHQscyxpKXtjb25zdCBuPXtjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzfTtyZXR1cm4gaSYmKG4udGV4dD0iIiksbn0scz1mdW5jdGlvbihlLHQscyxpLG4pe3JldHVybntjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzLGxpbmVzdHlsZTp2b2lkIDA9PT1pP3c6aSxsaW5ld2lkdGg6dm9pZCAwPT09bj9fOm59fTtpZih2b2lkIDA9PT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyl7dmFyIHY7c3dpdGNoKHdpbmRvdy5sb2NhbGUpe2Nhc2UiYXJfQUUiOnY9IkFzaWEvRHViYWkiO2JyZWFrO2Nhc2UiYXUiOnY9IkF1c3RyYWxpYS9TeWRuZXkiO2JyZWFrO2Nhc2UiYnIiOnY9IkFtZXJpY2EvU2FvX1BhdWxvIjticmVhaztjYXNlImNhIjp2PSJBbWVyaWNhL1Rvcm9udG8iO2JyZWFrO2Nhc2UiZGVfREUiOmNhc2UiaXQiOnY9IkV1cm9wZS9CZXJsaW4iO2JyZWFrO2Nhc2UiZXMiOnY9IkV1cm9wZS9NYWRyaWQiO2JyZWFrO2Nhc2UiaGVfSUwiOmNhc2UidHIiOnY9IkV1cm9wZS9BdGhlbnMiO2JyZWFrO2Nhc2UiaHVfSFUiOmNhc2UicGwiOnY9IkV1cm9wZS9XYXJzYXciO2JyZWFrO2Nhc2UiaWQiOmNhc2UidGhfVEgiOmNhc2UidmlfVk4iOnY9IkFzaWEvQmFuZ2tvayI7YnJlYWs7Y2FzZSJpbiI6dj0iQXNpYS9Lb2xrYXRhIjticmVhaztjYXNlImphIjpjYXNlImtyIjp2PSJBc2lhL1Rva3lvIjticmVhaztjYXNlIm1zX01ZIjp2PSJBc2lhL1NpbmdhcG9yZSI7YnJlYWs7Y2FzZSJydSI6dj0iRXVyb3BlL01vc2NvdyI7YnJlYWs7Y2FzZSJ1ayI6dj0iRXVyb3BlL0xvbmRvbiI7YnJlYWs7Y2FzZSJ6aF9DTiI6Y2FzZSJ6aF9UVyI6dj0iQXNpYS9TaGFuZ2hhaSI7YnJlYWs7ZGVmYXVsdDp2PSJFdGMvVVRDIn1jb25zdCBlPW8oYSk7VHJhZGluZ1ZpZXcuZGVmYXVsdFByb3BlcnRpZXM9e2NoYXJ0cHJvcGVydGllczpuKHt0aW1lem9uZTp2LHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ImF1dG8iLGluYWN0aXZpdHlHYXBzOiExLHBhbmVQcm9wZXJ0aWVzOntiYWNrZ3JvdW5kVHlwZTptLlNvbGlkLHZlcnRHcmlkUHJvcGVydGllczp7c3R5bGU6UCx2aXNpYmxlOiEwfSxob3J6R3JpZFByb3BlcnRpZXM6e3N0eWxlOlAsdmlzaWJsZTohMH0sY3Jvc3NIYWlyUHJvcGVydGllczp7c3R5bGU6VCx0cmFuc3BhcmVuY3k6MCx3aWR0aDoxfSx0b3BNYXJnaW46MTAsYm90dG9tTWFyZ2luOjgsYXhpc1Byb3BlcnRpZXM6e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsaW5kZXhlZFRvMTAwOiExLGxvZzohMSxsb2dEaXNhYmxlZDohMSxhbGlnbkxhYmVsczohMCxpc0ludmVydGVkOiExfSxsZWdlbmRQcm9wZXJ0aWVzOntzaG93U3R1ZHlBcmd1bWVudHM6ITAsc2hvd1N0dWR5VGl0bGVzOiEwLHNob3dTdHVkeVZhbHVlczohMCxzaG93U2VyaWVzVGl0bGU6ITAsc2hvd1Nlcmllc09ITEM6ITAsc2hvd0xlZ2VuZDohMCxzaG93TGFzdERheUNoYW5nZTohMSxzaG93QmFyQ2hhbmdlOiEwLHNob3dWb2x1bWU6ITEsc2hvd0JhY2tncm91bmQ6ITAsc2hvd1ByaWNlU291cmNlOiEwLApiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OjUwLHNob3dMb2dvOiEwLHNob3dUcmFkaW5nQnV0dG9uczohMCxzaG93VHJhZGluZ0J1dHRvbnNNb2JpbGU6ITAsc2hvd1Nlcmllc0xlZ2VuZENsb3NlT25Nb2JpbGU6ITAsYmFyQ2hhbmdlVXBDb2xvcjpPLGJhckNoYW5nZURvd25Db2xvcjpSLHVzZUJhckNoYW5nZUN1c3RvbUNvbG9yczohMX0sc2VwYXJhdG9yQ29sb3I6VX0sc2NhbGVzUHJvcGVydGllczp7Zm9udFNpemU6MTIsc2NhbGVTZXJpZXNPbmx5OiExLHNob3dTZXJpZXNMYXN0VmFsdWU6ITAsc2VyaWVzTGFzdFZhbHVlTW9kZTpoLkxhc3RWYWx1ZUFjY29yZGluZ1RvU2NhbGUsc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlOiExLHNob3dTdHVkeUxhc3RWYWx1ZTohMCxzaG93U3ltYm9sTGFiZWxzOiExLHNob3dTdHVkeVBsb3RMYWJlbHM6ITEsc2hvd0JpZEFza0xhYmVsczohMSxzaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw6ITAsc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsOiExLHNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZTohMCxiYXJTcGFjaW5nOmQuREVGQVVMVF9CQVJfU1BBQ0lORyxheGlzSGlnaGxpZ2h0Q29sb3I6TCxheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbjp5LmNvbW1vbixheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckFjdGl2ZTp5LmFjdGl2ZSxzaG93UHJpY2VTY2FsZUNyb3NzaGFpckxhYmVsOiEwLHNob3dUaW1lU2NhbGVDcm9zc2hhaXJMYWJlbDohMCxjcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodDpILGNyb3NzaGFpckxhYmVsQmdDb2xvckRhcms6aixzYXZlTGVmdEVkZ2U6ITF9LG1haW5TZXJpZXNQcm9wZXJ0aWVzOm4oZixlLmNvbnRlbnQubWFpblNvdXJjZVByb3BlcnRpZXMpLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczp7dmlzaWJsZTohMCxmdXR1cmVPbmx5OiEwLGJyZWFrczp7Y29sb3I6IiM1NTU1NTUiLHZpc2libGU6ITEsc3R5bGU6VCx3aWR0aDoxfX0sdHJhZGluZ1Byb3BlcnRpZXM6e3Nob3dQb3NpdGlvbnM6ITAscG9zaXRpb25QTDp7dmlzaWJpbGl0eTohMCxkaXNwbGF5OnIuTW9uZXl9LGJyYWNrZXRzUEw6e3Zpc2liaWxpdHk6ITAsZGlzcGxheTpyLk1vbmV5fSxwb3NpdGlvbkFuZEJyYWNrZXRzUEw6ITAsc2hvd1Byb2plY3RNYXJrZXRPcmRlcjohMCxzaG93T3JkZXJzOiEwLHNob3dFeGVjdXRpb25zOiEwLHNob3dFeGVjdXRpb25zTGFiZWxzOiExLHNob3dSZXZlcnNlOiEwLGhvcml6b250YWxBbGlnbm1lbnQ6dS5SaWdodCxleHRlbmRMZWZ0OiEwLGxpbmVMZW5ndGg6NSxsaW5lV2lkdGg6MSxsaW5lU3R5bGU6d30sdm9sdW1lUGFuZVNpemU6ImxhcmdlIn0sZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyksc2Vzc2lvbnM6bihnLGUuY29udGVudC5zZXNzaW9ucyksZHJhd2luZ3M6e21hZ25ldDohMSxtYWduZXRTbmFwc1RvSW5kaWNhdG9yczohMSxtYWduZXRNb2RlOnAuV2Vha01hZ25ldCxzdGF5SW5EcmF3aW5nTW9kZTohMSxkcmF3T25BbGxDaGFydHM6ITAsZHJhd09uQWxsQ2hhcnRzTW9kZToxfSxsaW5ldG9vbGV4ZWN1dGlvbjp7ZGlyZWN0aW9uOiJidXkiLGFycm93SGVpZ2h0OjgsYXJyb3dTcGFjaW5nOjEsYXJyb3dCdXlDb2xvcjoiIzQwOTRlOCIsYXJyb3dTZWxsQ29sb3I6IiNlNzU2NTYiLHRleHQ6IiIsdGV4dENvbG9yOmwuY29sb3JCbGFjayx0ZXh0VHJhbnNwYXJlbmN5OjAsZm9udEZhbWlseToiVmVyZGFuYSIsZm9udFNpemU6MTAsZm9udEJvbGQ6ITEsZm9udEl0YWxpYzohMSx0b29sdGlwOiIifSxsaW5ldG9vbGJhbGxvb246e2NvbG9yOkMsYmFja2dyb3VuZENvbG9yOkYsYm9yZGVyQ29sb3I6QSxmb250c2l6ZToxNCx0cmFuc3BhcmVuY3k6MzB9LGxpbmV0b29sY29tbWVudDp7Y29sb3I6QyxiYWNrZ3JvdW5kQ29sb3I6RSxib3JkZXJDb2xvcjpFLGZvbnRzaXplOjE2LHRyYW5zcGFyZW5jeTowfSxsaW5ldG9vbGVsbGlwc2U6e2NvbG9yOlIsZmlsbEJhY2tncm91bmQ6ITAsYmFja2dyb3VuZENvbG9yOlYsdHJhbnNwYXJlbmN5OjUwLGxpbmV3aWR0aDpfLHRleHRDb2xvcjpSLGZvbnRTaXplOjE0LGJvbGQ6ITEsaXRhbGljOiExfSxsaW5ldG9vbHBhcmFsbGVsY2hhbm5lbDp7bGluZWNvbG9yOkUsbGluZXdpZHRoOl8sbGluZXN0eWxlOncsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMSxmaWxsQmFja2dyb3VuZDohMCxiYWNrZ3JvdW5kQ29sb3I6TSx0cmFuc3BhcmVuY3k6MjAsc2hvd01pZGxpbmU6ITAsbWlkbGluZWNvbG9yOkUsbWlkbGluZXdpZHRoOjEsbWlkbGluZXN0eWxlOlQsbGFiZWxWaXNpYmxlOiExLGxhYmVsSG9yekFsaWduOiJsZWZ0IixsYWJlbFZlcnRBbGlnbjoiYm90dG9tIixsYWJlbFRleHRDb2xvcjpFLGxhYmVsRm9udFNpemU6MTQsbGFiZWxCb2xkOiExLGxhYmVsSXRhbGljOiExfSxsaW5ldG9vbGZpYnNwZWVkcmVzaXN0YW5jZWZhbjp7ZmlsbEJhY2tncm91bmQ6ITAsdHJhbnNwYXJlbmN5OjgwLGdyaWQ6e2NvbG9yOiJyZ2JhKDIxLCA1NiwgMTUzLCAwLjgpIixsaW5ld2lkdGg6MSxsaW5lc3R5bGU6dyx2aXNpYmxlOiEwfSxsaW5ld2lkdGg6XyxsaW5lc3R5bGU6dyxzaG93VG9wTGFiZWxzOiEwLHNob3dCb3R0b21MYWJlbHM6ITAsc2hvd0xlZnRMYWJlbHM6ITAsc2hvd1JpZ2h0TGFiZWxzOiEwLHJldmVyc2U6ITEsaGxldmVsMTp0KDAseiwhMCksaGxldmVsMjp0KC4yNSxXLCEwKSxobGV2ZWwzOnQoLjM4Mix4LCEwKSxobGV2ZWw0OnQoLjUsTiwhMCksaGxldmVsNTp0KC42MTgsTywhMCksaGxldmVsNjp0KC43NSxFLCEwKSxobGV2ZWw3OnQoMSx6LCEwKSx2bGV2ZWwxOnQoMCx6LCEwKSx2bGV2ZWwyOnQoLjI1LFcsITApLHZsZXZlbDM6dCguMzgyLHgsITApLHZsZXZlbDQ6dCguNSxOLCEwKSx2bGV2ZWw1OnQoLjYxOCxPLCEwKSx2bGV2ZWw2OnQoLjc1LEUsITApLHZsZXZlbDc6dCgxLHosITApfSxsaW5ldG9vbGZpYndlZGdlOntzaG93Q29lZmZzOiEwLGZpbGxCYWNrZ3JvdW5kOiEwLHRyYW5zcGFyZW5jeTo4MCx0cmVuZGxpbmU6e3Zpc2libGU6ITAsY29sb3I6IiM4MDgwODAiLGxpbmV3aWR0aDpfLGxpbmVzdHlsZTp3fSxsZXZlbDE6cyguMjM2LFIsITApLApsZXZlbDI6cyguMzgyLFcsITApLGxldmVsMzpzKC41LE4sITApLGxldmVsNDpzKC42MTgsTywhMCksbGV2ZWw1OnMoLjc4Nix4LCEwKSxsZXZlbDY6cygxLHosITApLGxldmVsNzpzKDEuNjE4LEUsITEpLGxldmVsODpzKDIuNjE4LFIsITEpLGxldmVsOTpzKDMuNjE4LEQsITEpLGxldmVsMTA6cyg0LjIzNixCLCExKSxsZXZlbDExOnMoNC42MTgsQiwhMSl9LGxpbmV0b29sZmlic3BlZWRyZXNpc3RhbmNlYXJjczp7c2hvd0NvZWZmczohMCxmaWxsQmFja2dyb3VuZDohMCx0cmFuc3BhcmVuY3k6ODAsZnVsbENpcmNsZXM6ITEsdHJlbmRsaW5lOnt2aXNpYmxlOiEwLGNvbG9yOnosbGluZXdpZHRoOl8sbGluZXN0eWxlOlR9LGxldmVsMTpzKC4yMzYsUiwhMCksbGV2ZWwyOnMoLjM4MixXLCEwKSxsZXZlbDM6cyguNSxPLCEwKSxsZXZlbDQ6cyguNjE4LE4sITApLGxldmVsNTpzKC43ODYseCwhMCksbGV2ZWw2OnMoMSx6LCEwKSxsZXZlbDc6cygxLjYxOCxFLCEwKSxsZXZlbDg6cygyLjYxOCxCLCEwKSxsZXZlbDk6cygzLjYxOCxFLCEwKSxsZXZlbDEwOnMoNC4yMzYsQiwhMCksbGV2ZWwxMTpzKDQuNjE4LFIsITApfSxsaW5ldG9vbHJlZ3Jlc3Npb250cmVuZDp7bGluZXdpZHRoOjEsbGluZXN0eWxlOncsc3R5bGVzOnt1cExpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sZG93bkxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sYmFzZUxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6ayxsaW5lc3R5bGU6VCxsaW5ld2lkdGg6MX0sZXh0ZW5kTGluZXM6ITEsc2hvd1BlYXJzb25zOiEwLHRyYW5zcGFyZW5jeTo3MH19fSxiKFRyYWRpbmdWaWV3LmRlZmF1bHRQcm9wZXJ0aWVzLmNoYXJ0cHJvcGVydGllcyksUygpfWZvcih2YXIgJD1lLnNwbGl0KCIuIikscT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyxLPTA7SzwkLmxlbmd0aDtLKyspcSYmKHE9cVskW0tdXSk7cmV0dXJuIG51bGwhPXE/aShxKTp7fX07ZnVuY3Rpb24gcShlKXtyZXR1cm4gdihlLCQpfVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0cz1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQ/VFZTZXR0aW5ncy5yZW1vdmUoZSk6VFZTZXR0aW5ncy5zZXRKU09OKGUsdCl9LFRyYWRpbmdWaWV3LmZhY3RvcnlEZWZhdWx0cz0kLHdpbmRvdy5kZWZhdWx0cz1xLHQuZGVmYXVsdHM9cSx0LmZhY3RvcnlEZWZhdWx0cz0kLHQuc2F2ZURlZmF1bHRzPVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0c30sNDY4NTM4KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGksbjtzLmQodCx7RHJhd2luZ1N5bmNNb2RlOigpPT5pLFNlbGVjdFBvaW50TW9kZTooKT0+bn0pLGZ1bmN0aW9uKGUpe2VbZS5MYXlvdXQ9MV09IkxheW91dCIsZVtlLkdsb2JhbD0yXT0iR2xvYmFsIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlJlcGxheT0xXT0iUmVwbGF5IixlW2UuU3R1ZHk9Ml09IlN0dWR5In0obnx8KG49e30pKX0sNjc4Mjg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtEcmF3aW5nU3luY01vZGU6KCk9PmkuRHJhd2luZ1N5bmNNb2RlLFNlbGVjdFBvaW50TW9kZTooKT0+aS5TZWxlY3RQb2ludE1vZGUsYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlOigpPT5aLGFsaWduVG80NURlZ3JlZXM6KCk9Pk1lLGJhclRpbWVzVW5kZXJDdXJzb3I6KCk9PnRlLGJlZW5TZXRMaW5lVG9vbExhc3RQb2ludDooKT0+VyxjYW5jZWxMaW5lVG9vbDooKT0+b2UsY2FuY2VsbGVkTGluZVRvb2w6KCk9Pk4sY2hhbmdlTGluZVN0eWxlOigpPT5nZSxjaGFuZ2VMaW5lVG9vbDooKT0+aGUsY2hhbmdlZExpbmVTdHlsZTooKT0+RyxjaGFuZ2VkTGluZVRvb2w6KCk9PiQsY29udGludWVMaW5lVG9vbDooKT0+cmUsY29udGludWVkTGluZVRvb2w6KCk9Pk8sY29waWVkTGluZVRvb2w6KCk9PkosY29weUxpbmVUb29sOigpPT55ZSxjcmVhdGVMaW5lVG9vbDooKT0+bmUsY3JlYXRlZExpbmVUb29sOigpPT5CLGNyb3NzaGFpckxvY2s6KCk9PkksY3Vyc29yVG9vbDooKT0+UixkcmF3T25BbGxDaGFydHM6KCk9PkRlLGRyYXdPbkFsbENoYXJ0c01vZGU6KCk9PnhlLGVtb2ppVG9vbDooKT0+RCxmaW5pc2hDaGFuZ2luZ0xpbmVUb29sOigpPT5wZSxmaW5pc2hMaW5lVG9vbDooKT0+X2UsZmluaXNoTW92aW5nTGluZVRvb2w6KCk9PmNlLGZpbmlzaGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+cSxmaW5pc2hlZExpbmVUb29sOigpPT5ZLGZpbmlzaGVkTW92aW5nTGluZVRvb2w6KCk9PkgsaGlkZUFsbERyYXdpbmdzOigpPT5DZSxoaWRlQWxsSW5kaWNhdG9yczooKT0+RWUsaGlkZU1hcmtzT25CYXJzOigpPT5MZSxpY29uVG9vbDooKT0+TSxpbml0OigpPT53ZSxpc0RpcmVjdGlvbmFsTW92ZW1lbnRBY3RpdmU6KCk9PkYsaXNTdHVkeUVkaXRpbmdOb3c6KCk9PmVlLGlzVG9vbENyZWF0aW5nTm93OigpPT5rLGlzVG9vbEVkaXRpbmdOb3c6KCk9PlYsaXNUb29sTW92aW5nTm93OigpPT5BLGxvY2tEcmF3aW5nczooKT0+SWUsbW92ZUxpbmVUb29sOigpPT51ZSxtb3ZlZExpbmVUb29sOigpPT56LHByb3BlcnRpZXM6KCk9PlRlLHJlbW92ZUxpbmVUb29sOigpPT5tZSxyZW1vdmVkTGluZVRvb2w6KCk9PksscmVzZXRUb0N1cnNvcjooKT0+dixyZXN0b3JlTGluZVRvb2w6KCk9PmZlLHJlc3RvcmVMaW5lVG9vbFN0YXRlOigpPT52ZSxyZXN0b3JlZExpbmVUb29sOigpPT5YLHJlc3RvcmVkTGluZVRvb2xTdGF0ZTooKT0+USxydW5PbkRyYXdpbmdTdGF0ZVJlYWR5OigpPT5QZSxzZXRMaW5lVG9vbExhc3RQb2ludDooKT0+YWUsc3RhcnRDaGFuZ2luZ0xpbmVUb29sOigpPT5kZSxzdGFydE1vdmluZ0xpbmVUb29sOigpPT5sZSxzdGFydGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+aixzdGFydGVkTW92aW5nTGluZVRvb2w6KCk9PlUsc3RpY2tlclRvb2w6KCk9PngsdG9vbDooKT0+TCx0b29sSXNDdXJzb3I6KCk9Pl8sdG9vbElzRGVtb25zdHJhdGlvbjooKT0+eSx0b29sSXNFcmFzZXI6KCk9PmcsdG9vbElzTWVhc3VyZTooKT0+Zix0cnlTZWxlY3RMaW5lVG9vbDooKT0+Yn0pCjt2YXIgaT1zKDQ2ODUzOCksbj1zKDEzODYzOCkscj1zKDM3ODA4KSxvPXMoOTc0NjYzKSxhPXMoMjMyMzY0KSxsPXMoNDAyMDQ1KSx1PXMoOTQ4MzgwKSxjPXMoOTMwNTY2KSxkPXMoMTc5NzcxKSxoPXMoMzg2OTMxKSxwPXMoNTU2NjUxKTtjb25zdCBtPW5ldyBTZXQoWyJjdXJzb3IiLCJhcnJvdyIsImRvdCIsInBlcmZvcm1hbmNlIiwiZGVtb25zdHJhdGlvbiJdKTtmdW5jdGlvbiBfKGUpe3JldHVybiBtLmhhcyhlKX1mdW5jdGlvbiBnKGUpe3JldHVybiJlcmFzZXIiPT09ZX1mdW5jdGlvbiB5KGUpe3JldHVybiJkZW1vbnN0cmF0aW9uIj09PWV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibWVhc3VyZSI9PT1lfWZ1bmN0aW9uIHYoZT0hMSl7aWYoIWUmJlMpe2lmKFMuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUudmFsdWUoKSlyZXR1cm59TC5zZXRWYWx1ZShSLnZhbHVlKCkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISEoMCxwLmVuc3VyZURyYXdpbmdTZWxlY3RBbGxvd2VkKShlKSYmKEwuc2V0VmFsdWUoZSksITApfWxldCBTPW51bGwsdz1udWxsLFA9bnVsbCxUPW51bGwsQz1udWxsLEU9bnVsbDtjb25zdCBJPW5ldyBsLldhdGNoZWRPYmplY3QobnVsbCksTD1uZXcgYS5XYXRjaGVkVmFsdWUsTT1uZXcgYS5XYXRjaGVkVmFsdWUsRD1uZXcgYS5XYXRjaGVkVmFsdWUseD1uZXcgYS5XYXRjaGVkVmFsdWUsUj1uZXcgYS5XYXRjaGVkVmFsdWUsaz1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLFY9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSxBPW5ldyBhLldhdGNoZWRWYWx1ZSghMSksRj1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLEI9bmV3IHUuRGVsZWdhdGUsTz1uZXcgdS5EZWxlZ2F0ZSxOPW5ldyB1LkRlbGVnYXRlLFc9bmV3IHUuRGVsZWdhdGUsVT1uZXcgdS5EZWxlZ2F0ZSx6PW5ldyB1LkRlbGVnYXRlLEg9bmV3IHUuRGVsZWdhdGUsaj1uZXcgdS5EZWxlZ2F0ZSwkPW5ldyB1LkRlbGVnYXRlLHE9bmV3IHUuRGVsZWdhdGUsSz1uZXcgdS5EZWxlZ2F0ZSxZPW5ldyB1LkRlbGVnYXRlLEc9bmV3IHUuRGVsZWdhdGUsSj1uZXcgdS5EZWxlZ2F0ZSxYPW5ldyB1LkRlbGVnYXRlLFE9bmV3IHUuRGVsZWdhdGUsWj1uZXcgYS5XYXRjaGVkVmFsdWUoaS5TZWxlY3RQb2ludE1vZGUuTm9uZSksZWU9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSx0ZT1uZXcgTWFwO2Z1bmN0aW9uIHNlKGUsdCl7Y29uc3Qgcz10fHx7dmFsdWU6ITF9O3JldHVybiB0PT57cy52YWx1ZXx8KHMudmFsdWU9ITAsZS5maXJlKHQpLHMudmFsdWU9ITEpfX1jb25zdCBpZT17dmFsdWU6ITF9LG5lPXNlKEIsaWUpLHJlPXNlKE8saWUpLG9lPXNlKE4saWUpLGFlPXNlKFcsaWUpLGxlPXNlKFUpLHVlPXNlKHopLGNlPXNlKEgpLGRlPXNlKGopLGhlPXNlKCQpLHBlPXNlKHEpLG1lPXNlKEspLF9lPXNlKFkpLGdlPXNlKEcsaWUpLHllPXNlKEosaWUpLGZlPXNlKFgpLHZlPXNlKFEpO2xldCBiZT0hMSxTZT1bXTtmdW5jdGlvbiB3ZSgpe2lmKGJlKXJldHVybjtjb25zdCBlPWMuZ2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLCJjdXJzb3IiKTtMLnNldFZhbHVlKF8oZSk/ZToiY3Vyc29yIiksTC5zdWJzY3JpYmUoKGU9PntfKGUpP1Iuc2V0VmFsdWUoZSk6ZyhlKSYmKDAsaC50cmFja0V2ZW50KSgiQ2hhcnQgY3Vyc29ycyIsZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksUi5zdWJzY3JpYmUoKGU9PnsoMCxoLnRyYWNrRXZlbnQpKCJDaGFydCBjdXJzb3JzIixlKSxlJiYicGVyZm9ybWFuY2UiIT09ZSYmIXkoZSkmJmMuc2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLGUpfSkpLFM9bmV3IG8uRGVmYXVsdFByb3BlcnR5KHtkZWZhdWx0TmFtZToiZHJhd2luZ3MifSksdz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksUD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksVD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksQz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghYy5nZXRCb29sKCJCYXJzTWFya3NDb250YWluZXIudmlzaWJpbGUiLCEwKSksRT0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksTC5zdWJzY3JpYmUoKGU9PnsoMCxkLmVtaXQpKCJvblNlbGVjdGVkTGluZVRvb2xDaGFuZ2VkIil9KSksYmU9ITAsU2UuZm9yRWFjaCgoZT0+ZSgpKSksU2U9W119ZnVuY3Rpb24gUGUoZSl7YmU/ZSgpOlNlLnB1c2goZSl9ZnVuY3Rpb24gVGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFMpfWZ1bmN0aW9uIENlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKSh3KX1mdW5jdGlvbiBFZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoUCl9ZnVuY3Rpb24gSWUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFQpfWZ1bmN0aW9uIExlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKShDKX1mdW5jdGlvbiBNZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoRSl9ZnVuY3Rpb24gRGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHN9ZnVuY3Rpb24geGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHNNb2RlfX0sOTQzOTUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse1RpdGxlRGlzcGxheVRhcmdldDooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5BZnRlck1haW5TZXJpZXM9MF09IkFmdGVyTWFpblNlcmllcyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLklkbGU9MF09IklkbGUiLGVbZS5Qcm9jZXNzaW5nPTFdPSJQcm9jZXNzaW5nIixlW2UuQWN0aXZlPTJdPSJBY3RpdmUiLGVbZS5TdG9wcGVkPTNdPSJTdG9wcGVkIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuRGF0YVdpbmRvdz0xXT0iRGF0YVdpbmRvdyIsZVtlLlN0YXR1c0xpbmU9Ml09IlN0YXR1c0xpbmUiLGVbZS5BbGVydHM9M109IkFsZXJ0cyJ9KHJ8fChyPXt9KSl9LDIxNDc1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb2xsZWN0aWJsZUNvbG9yUHJvcGVydHlEaXJlY3RXcmFwcGVyOigpPT5hLENvbGxlY3RpYmxlQ29sb3JQcm9wZXJ0eVVuZG9XcmFwcGVyOigpPT5vfSk7dmFyIGk9cygxMzg2MzgpLG49cyg3NjgyOTIpCjtjbGFzcyByIGV4dGVuZHMgbi5Qcm9wZXJ0eXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2xpc3RlbmVyc01hcHBlcnM9W10sdGhpcy5faXNQcm9jZXNzPSExLHRoaXMuX2Jhc2VQcm9wZXJ0eT1lfWRlc3Ryb3koKXt0aGlzLl9iYXNlUHJvcGVydHkuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX12YWx1ZSgpe2NvbnN0IGU9dGhpcy5fYmFzZVByb3BlcnR5LnZhbHVlKCk7cmV0dXJuIm1peGVkIj09PWU/IiI6ZX12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2Jhc2VQcm9wZXJ0eS52aXNpYmxlKCl9c2V0VmFsdWUoZSl7dGhpcy5faXNQcm9jZXNzPSEwLHRoaXMuX2Jhc2VQcm9wZXJ0eS5zZXRWYWx1ZSgiIj09PWU/Im1peGVkIjplLHZvaWQgMCx7YXBwbHlWYWx1ZTp0aGlzLl9hcHBseVZhbHVlLmJpbmQodGhpcyl9KSx0aGlzLl9pc1Byb2Nlc3M9ITEsdGhpcy5fbGlzdGVuZXJzTWFwcGVycy5mb3JFYWNoKChlPT57ZS5tZXRob2QuY2FsbChlLm9iaix0aGlzLCIiKX0pKX1zdWJzY3JpYmUoZSx0KXtjb25zdCBzPXM9Pnt0aGlzLl9pc1Byb2Nlc3N8fHQuY2FsbChlLHRoaXMsIiIpfSxpPXtvYmo6ZSxtZXRob2Q6dCxjYWxsYmFjazpzfTt0aGlzLl9saXN0ZW5lcnNNYXBwZXJzLnB1c2goaSksdGhpcy5fYmFzZVByb3BlcnR5LnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlKGUsdCl7Y29uc3Qgcz0oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX2xpc3RlbmVyc01hcHBlcnMuZmluZCgocz0+cy5vYmo9PT1lJiZzLm1ldGhvZD09PXQpKT8uY2FsbGJhY2spO3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlQWxsKGUpe3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZUFsbChlKX19Y2xhc3MgbyBleHRlbmRzIHJ7Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUpLHRoaXMuX3Byb3BlcnR5QXBwbGllcj10LHRoaXMuX3VuZG9UZXh0PXN9X2FwcGx5VmFsdWUoZSx0KXt0aGlzLl9wcm9wZXJ0eUFwcGxpZXIuc2V0UHJvcGVydHkoZSx0LHRoaXMuX3VuZG9UZXh0KX19Y2xhc3MgYSBleHRlbmRzIHJ7X2FwcGx5VmFsdWUoZSx0KXtlLnNldFZhbHVlKHQpfX19LDg4MTkyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzTGluZVRvb2w6KCk9PnIsaXNTdHVkeUxpbmVUb29sOigpPT5vfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg4NjA0NDIpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKDAsaS5pc09iamVjdCkoZSkmJiJpc0xpbmVUb29sImluIGUmJmUuaXNMaW5lVG9vbH1mdW5jdGlvbiBvKGUpe3JldHVybiByKGUpJiYoMCxuLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUudG9vbG5hbWUpfX0sNzA3OTYzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xpbmVUb29sQ29sbGVjdGVkUHJvcGVydHk6KCk9PnUsTGluZVRvb2xDb2xvcnNQcm9wZXJ0eTooKT0+ZCxMaW5lVG9vbFdpZHRoc1Byb3BlcnR5OigpPT5jLE11bHRpcGxlTGluZUNvbG9yc1Byb3BlcnR5OigpPT5tLE11bHRpcGxlTGluZVdpZHRoc1Byb3BlcnR5OigpPT5wfSk7dmFyIGk9cygyMjEwNjEpLG49cygxMzEyOTQpLHI9cyg2MzY5MTIpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbENvbGxlY3RlZFByb3BlcnR5Iik7Y2xhc3MgYXthcHBseVZhbHVlKGUsdCl7ZS5zZXRWYWx1ZSh0KX19Y2xhc3MgbCBleHRlbmRzIHIuUHJvcGVydHlCYXNle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9wcm9wZXJ0aWVzPWUsZS5mb3JFYWNoKCgoZSx0KT0+ZS5zdWJzY3JpYmUodGhpcywoKGUscyk9Pnt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLGAke3R9LiR7c31gKX0pKSkpLHRoaXMuX3Nob3dJZlByb3BlcnR5PXR9dmlzaWJsZSgpe3JldHVybiF0aGlzLl9zaG93SWZQcm9wZXJ0eXx8dGhpcy5fc2hvd0lmUHJvcGVydHk/LnZhbHVlKCl9dmFsdWUoKXtpZigwPT09dGhpcy5fcHJvcGVydGllcy5sZW5ndGgpcmV0dXJuIG8ubG9nRXJyb3IoIkluY29ycmVjdCBjYWxsLCBzaG91bGQgbm90IHJlcXVlc3QgdmFsdWUgb2YgMCBwcm9wZXJ0aWVzIiksIm1peGVkIjtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXNbMF0udmFsdWUoKTtyZXR1cm4gMT09PXRoaXMuX3Byb3BlcnRpZXMubGVuZ3RofHx0aGlzLl9wcm9wZXJ0aWVzLmV2ZXJ5KCh0PT50LnZhbHVlKCk9PT1lKSk/ZToibWl4ZWQifXNldFZhbHVlU2lsZW50bHkoZSl7Im1peGVkIiE9PWUmJnRoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgodD0+dC5zZXRWYWx1ZVNpbGVudGx5KGUpKSl9aGFzQ2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGh9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxlbmd0aH1jaGlsZE5hbWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMubWFwKCgoZSx0KT0+dC50b1N0cmluZygpKSl9Y2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGg/dGhpcy5fcHJvcGVydGllc1t0XTp2b2lkIDB9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgoZT0+ZS51bnN1YnNjcmliZUFsbCh0aGlzKSkpLHRoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9d2Vha1JlZmVyZW5jZSgpe3JldHVybigwLG4ud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAsbi5vd25lcnNoaXApKHRoaXMpfX1jbGFzcyB1IGV4dGVuZHMgbHtzZXRWYWx1ZShlLHQscyl7aWYoIm1peGVkIj09PWUpcmV0dXJuO2NvbnN0IGk9cz8/bmV3IGE7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT5pLmFwcGx5VmFsdWUodCxlKSkpfX1jbGFzcyBjIGV4dGVuZHMgdXt9Y2xhc3MgZCBleHRlbmRzIHV7Zmlyc3RDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzWzBdLnZhbHVlKCl9fWNsYXNzIGggZXh0ZW5kcyBse3NldFZhbHVlKGUsdCxzKXtpZigibWl4ZWQiPT09ZSlyZXR1cm47Y29uc3QgaT1zPz9uZXcgYQo7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT50LnNldFZhbHVlKGUsdm9pZCAwLGkpKSl9fWNsYXNzIHAgZXh0ZW5kcyBoe31jbGFzcyBtIGV4dGVuZHMgaHt9fSw1MjkxNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bGluZVRvb2xzU3R1ZHlJZHM6KCk9Pml9KTtjb25zdCBpPXtMaW5lVG9vbEFuY2hvcmVkVldBUDoiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xSZWdyZXNzaW9uVHJlbmQ6IlJlZ3Jlc3Npb25UcmVuZEB0di1iYXNpY3N0dWRpZXMiLExpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGU6IlZiUEZpeGVkQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xWYlBGaXhlZDoiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSJ9O3tjb25zdCBlPXtMaW5lVG9vbEFuY2hvcmVkVm9sdW1lUHJvZmlsZToiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIn07Zm9yKGNvbnN0W3Qsc11vZiBPYmplY3QuZW50cmllcyhlKSlpW3RdPXN9fSwzNjgxMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y2xvbmVMaW5lVG9vbDooKT0+TyxjcmVhdGVMaW5lVG9vbDooKT0+TCxjcmVhdGVMaW5lVG9vbFByb3BlcnRpZXM6KCk9PkQsY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXM6KCk9PngsZW5zdXJlQWxsTGluZVRvb2xzTG9hZGVkRm9yTGF5b3V0OigpPT5FLGluaXRBbGxMaW5lVG9vbHNGcm9tQ29udGVudDooKT0+SSxpbml0TGluZVRvb2w6KCk9PncsaXNCcnVzaEJhc2VkTGluZVRvb2w6KCk9PmssaXNFZGl0YWJsZVRleHRMaW5lVG9vbDooKT0+Rixpc0xpbmVUb29sOigpPT5mLmlzTGluZVRvb2wsaXNUcmFkaW5nOigpPT5WLHByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlOigpPT5NLHNldE5ld1Rvb2xQcm9wZXJ0aWVzOigpPT5iLHN1cHBvcnRzUGhhbnRvbU1vZGU6KCk9PlIsdHJ5RmluZFN0dWR5TGluZVRvb2xOYW1lQnlTdHVkeUlkOigpPT5CLHVuc2V0TmV3VG9vbFByb3BlcnRpZXM6KCk9PlN9KTt2YXIgaT1zKDg4MDExNSksbj1zKDEzODYzOCkscj1zKDczNjUzMSksbz1zKDIyMTA2MSksYT1zKDQ3NzMpLGw9cyg2OTE3OTUpLHU9cyg2Nzc5NTgpLGM9cygxMjg5OTgpLGQ9cyg4NjA0NDIpLGg9cyg1MjkxNjUpLHA9cyg0NTY4NjIpLG09cyg4NTYxOTYpLF89cygzNTUxMjMpLGc9cygzMjk2NjYpLHk9cyg2MDU4NzcpLGY9cyg4ODE5Mik7bGV0IHY9bnVsbDtmdW5jdGlvbiBiKGUsdCxzKXtyZXR1cm4gbnVsbCE9PXYmJnYudG9vbD09PWUmJnYudG9vbERhdGE9PT10fHwoUyghMCksdj17cHJvcGVydGllczpEKHMuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxlLCFzLnJlYWRPbmx5KCkpLHRvb2w6ZSx0b29sRGF0YTp0fSksdi5wcm9wZXJ0aWVzfWZ1bmN0aW9uIFMoZSl7ZSYmdj8ucHJvcGVydGllcy5kZXN0cm95KCksdj1udWxsfWFzeW5jIGZ1bmN0aW9uIHcoZSl7YXdhaXQoMCxnLmxvYWRNZXRhSW5mb0ZvckxpbmV0b29sSWZSZXF1aXJlZCkoZSk7Y29uc3QgdD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTsoMCxnLmlzTGluZVRvb2xMb2FkZWQpKHQpfHwoMCxkLmlzTGluZVRvb2xOYW1lKSh0KSYmYXdhaXQoMCxnLmxvYWRMaW5lVG9vbCkodCl9ZnVuY3Rpb24gUChlLHQpe2NvbnN0IHM9ImNoYXJ0cyJpbiBlP2UuY2hhcnRzOltlXTtmb3IoY29uc3QgZSBvZiBzKXtmb3IoY29uc3QgcyBvZiBlLnBhbmVzKWZvcihjb25zdCBlIG9mIHMuc291cmNlcyl0KCgwLHkuZ2V0TGluZVRvb2xUeXBlRnJvbVN0YXRlKShlKSk7ZS5saW5lVG9vbHNHcm91cHM/Lmdyb3Vwcy5mb3JFYWNoKChlPT57ZS50b29scy5mb3JFYWNoKChlPT50KGUpKSl9KSl9fWNsYXNzIFQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGBGYWlsZWQgdG8gbG9hZCBsaW5lIHRvb2w6ICR7ZX1gKSx0aGlzLm5hbWU9IkxpbmVUb29sTG9hZEVycm9yIix0aGlzLnRvb2xOYW1lPWUsdGhpcy5vcmlnaW5hbEVycm9yPXR9fWNvbnN0IEM9KDAsby5nZXRMb2dnZXIpKCJMaW5lVG9vbHNTeW5jaHJvbml6ZXIiKTthc3luYyBmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9bmV3IFNldCxzPWU9PnsoMCxnLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKSYmdC5hZGQoZSl9O2Zvcihjb25zdCB0IG9mIGUpUCh0LHMpO2NvbnN0IGk9Wy4uLnRdLG49KGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChpLm1hcCgoZT0+KDAsZy5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSkuY2F0Y2goKHQ9Pnt0aHJvdyBuZXcgVChlLHQpfSkpKSkpKS5maWx0ZXIoKGU9PiJyZWplY3RlZCI9PT1lLnN0YXR1cykpO24ubGVuZ3RoPjAmJm4uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5yZWFzb247Qy5sb2dFcnJvcihgRmFpbGVkIHRvIGxvYWQgbGluZSB0b29sOiAke3QudG9vbE5hbWV9YCl9KSl9YXN5bmMgZnVuY3Rpb24gSShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1uZXcgU2V0O1AoZSwoZT0+eygwLGQuaXNMaW5lVG9vbE5hbWUpKGUpJiZ0LmFkZChlKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKHQpLm1hcCgoZT0+dyhlKSkpKX1mdW5jdGlvbiBMKGUsdCxzLGkscixvLGEpeygwLG4uYXNzZXJ0KSgoMCxkLmlzTGluZVRvb2xOYW1lKShlKSwiVW5rbm93biBsaW5lIHRvb2w6ICIrZSk7Y29uc3QgbD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTtsZXQgdTtpZigoMCxuLmFzc2VydCkoKDAsZy5pc0xpbmVUb29sTG9hZGVkKShsKSxgTGluZSB0b29sICR7bH0gaXMgbm90IGxvYWRlZGApLHJ8fHN8fG51bGw9PT12fHx2LnRvb2whPT1lfHwocz12LnByb3BlcnRpZXMsUyghMSkpLCgwLGcuaXNBc3luY1N0dWR5TGluZVRvb2xOYW1lKShsKSl7dT1uZXcoKDAsZy5nZXRMb2FkZWRMaW5lVG9vbCkobCkpKHQscywoMCxuLmVuc3VyZURlZmluZWQpKGkpLHIsbyl9ZWxzZXt1PW5ldygoMCxnLmdldExvYWRlZExpbmVUb29sKShsKSkodCxzLHIsbyl9cmV0dXJuIHUudG9vbG5hbWU9ZSxTKCEwKSx2b2lkIDAhPT1hJiYoMCxtLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nQ3JlYXRpb25zIixfLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLApwLnRyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb24pKGUsYSksdX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHQuc3ltYm9sU291cmNlKCkpLGk9cy5zeW1ib2xJbmZvKCkscj10LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSxvPXQudW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCksYT1pPygwLGMuZXh0cmFjdExpbmVUb29sU3ltYm9sRnJvbVN5bWJvbEluZm8pKGkscy5zeW1ib2woKSk6cy5zeW1ib2woKTtlLmNoaWxkcygpLnN5bWJvbC5zZXRWYWx1ZShhKSxzLm1vZGVsKCkuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZyLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCkmJmUuY2hpbGRzKCkuY3VycmVuY3lJZC5zZXRWYWx1ZShyLmN1cnJlbmN5KCkpLHMubW9kZWwoKS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSYmby5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkmJmUuY2hpbGRzKCkudW5pdElkLnNldFZhbHVlKG8udW5pdCgpKSxzLm1vZGVsKCkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmZS5jaGlsZHMoKS5tZXRyaWNJZC5zZXRWYWx1ZShzLm1vZGVsKCkubWFpblNlcmllcygpLm1ldHJpYygpPz8icHJpY2UiKSxlLmNoaWxkcygpLnN5bWJvbFN0YXRlVmVyc2lvbi5zZXRWYWx1ZSgyKSxlLmNoaWxkcygpLnpPcmRlclZlcnNpb24uc2V0VmFsdWUoMil9ZnVuY3Rpb24gRChlLHQscyxpKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkodCksYCR7dH0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHI9KDAsZy5hc0xpbmVUb29sTmFtZSkodCk7aWYoKDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkociksYExpbmUgdG9vbCAke3J9IGlzIG5vdCBsb2FkZWRgKSwoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkocikpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHIpLmNyZWF0ZVByb3BlcnRpZXMoZSxpKX1yZXR1cm4oMCxnLmdldExvYWRlZExpbmVUb29sKShyKS5jcmVhdGVQcm9wZXJ0aWVzKGUsaSxzKX1mdW5jdGlvbiB4KGUsdCxzLGkscixvKXsoMCxuLmFzc2VydCkoKDAsZC5pc1N0dWR5TGluZVRvb2xOYW1lKSh0KSxgJHt0fSBzaG91bGQgYmUgbmFtZSBvZiB0aGUgc3R1ZHkgbGluZSB0b29sYCk7Y29uc3QgYT0oMCxnLmFzTGluZVRvb2xOYW1lKSh0KTtpZigoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkoYSkpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKGEpLmNyZWF0ZVByb3BlcnRpZXNGcm9tU3R1ZHlNZXRhSW5mb0FuZFN0YXRlKHMsaSxyLG8sZSl9dGhyb3cgbmV3IEVycm9yKGBQcm9wZXJ0eSBjcmVhdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIHN0dWR5IGxpbmUgdG9vbCAke3R9YCl9ZnVuY3Rpb24gUihlKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkoZSksYCR7ZX0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHQ9KDAsZy5hc0xpbmVUb29sTmFtZSkoZSk7KDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkodCksYExpbmUgdG9vbCAke3R9IGlzIG5vdCBsb2FkZWRgKTtjb25zdCBzPSgwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHQpO3JldHVybiB2b2lkIDAhPT1zJiZCb29sZWFuKHMuc3VwcG9ydFBoYW50b21Nb2RlKX1mdW5jdGlvbiBrKGUpe3JldHVybiBlIGluc3RhbmNlb2YgbC5MaW5lRGF0YVNvdXJjZSYmKDAsZC5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShlLnRvb2xuYW1lKX1mdW5jdGlvbiBWKGUpe3JldHVybiBlIGluc3RhbmNlb2YgdS5MaW5lVG9vbFRyYWRpbmd9Y29uc3QgQT1bImVkaXRhYmxlVGV4dFN0eWxlIiwiZWRpdGFibGVUZXh0IiwiZWRpdGFibGVUZXh0UHJvcGVydGllcyJdO2Z1bmN0aW9uIEYoZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKSYmQS5ldmVyeSgodD0+dCBpbiBlKSl9ZnVuY3Rpb24gQihlKXtsZXQgdD1udWxsO3JldHVybiBlPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZD90PSJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI6ZT09PWgubGluZVRvb2xzU3R1ZHlJZHMuTGluZVRvb2xWYlBGaXhlZD90PSJMaW5lVG9vbFZiUEZpeGVkIjplPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbEZpeGVkUmFuZ2VWb2x1bWVQcm9maWxlJiYodD0iTGluZVRvb2xGaXhlZFJhbmdlVm9sdW1lUHJvZmlsZSIpLHR9ZnVuY3Rpb24gTyhlLHQscyxpLG8pe2NvbnN0IGw9dC50b29sbmFtZSx1PXQucHJvcGVydGllcygpLnN0YXRlKCk7dS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsYS5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHU/LmludGVydmFsc1Zpc2liaWxpdGllcyk7Y29uc3QgYz1EKGUuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSx0LnRvb2xuYW1lLCFlLnJlYWRPbmx5KCksdSk7Yy5jaGlsZHMoKS52aXNpYmxlLnNldFZhbHVlKCEwKTtjb25zdCBkPSgwLG4uZW5zdXJlTm90TnVsbCkodC5vd25lclNvdXJjZSgpKSxoPUwobCxlLGMsbnVsbCx2b2lkIDAsdm9pZCAwLG8pO3ZvaWQgMCE9PWkmJmguc2V0SWQoaSksaC5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09ZC5zaWduYXR1cmUoKS52YWx1ZSgpP2guc2V0VGFyZ2V0U2lnbmF0dXJlKGQuc2lnbmF0dXJlKCkudmFsdWUoKSk6aC5zZXRPd25lclNvdXJjZShkKSxoLnRvb2xuYW1lPWw7Y29uc3QgcD1oLmNsb25lUG9zaXRpb25PZmZzZXQoKTtpZih0LmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZml4ZWRQb2ludCgpKSxpPXM/ZS5hZGQobmV3IHIuUG9pbnQocC54Q29vcmRPZmZzZXQscC55Q29vcmRPZmZzZXQpKTplO2guYWRkRml4ZWRQb2ludChpKX1jb25zdCBtPXQubm9ybWFsaXplZFBvaW50cygpLF89cz9mdW5jdGlvbihlLHQscyl7Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKSxyPSgwLG4uZW5zdXJlTm90TnVsbCkodC5maXJzdFZhbHVlKCkpO3JldHVybiBlLm1hcCgoZT0+ewpjb25zdCB0PWUucHJpY2Usbj1pLnByaWNlVG9Db29yZGluYXRlKHQscikrcy55Q29vcmRPZmZzZXQsbz1pLmNvb3JkaW5hdGVUb1ByaWNlKG4sciksYT1lLmludGVydmFsO3JldHVybnt0aW1lX3Q6ZS50aW1lX3QscHJpY2U6byxvZmZzZXQ6ZS5vZmZzZXQrcy5iYXJPZmZzZXQsaW50ZXJ2YWw6YX19KSl9KG0sZCxwKTptLGc9dC5wb2ludHMoKTtyZXR1cm4gaC5yZXN0b3JlUG9pbnRzKF8sZyksaC5jbG9uZURhdGEmJmguY2xvbmVEYXRhKHQpLGgucmVjYWxjdWxhdGVTdGF0ZUJ5RGF0YSYmaC5yZWNhbGN1bGF0ZVN0YXRlQnlEYXRhKCksaH19LDgyODg1NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHttYWduZXRFbmFibGVkOigpPT5nLG1hZ25ldE1vZGU6KCk9PnksbWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PmYsc2V0SXNNYWduZXRFbmFibGVkOigpPT52LHNldE1hZ25ldE1vZGU6KCk9PmIsc2V0TWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PlN9KTt2YXIgaT1zKDIzMjM2NCksbj1zKDk3NDY2Mykscj1zKDQ5MjM4MSksbz1zKDY3ODI4NSksYT1zKDg2MDQ0MiksbD1zKDQ2NDgzNSk7Y29uc3QgdT1uZXcgaS5XYXRjaGVkVmFsdWUoITEpLGM9bmV3IGkuV2F0Y2hlZFZhbHVlKHIuTWFnbmV0TW9kZS5XZWFrTWFnbmV0KSxkPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksaD0oMCxsLm1vZGlmaWVyUHJlc3NlZCkoKSxwPSgwLGwuc2hpZnRQcmVzc2VkKSgpO2Z1bmN0aW9uIG0oKXtjb25zdCBlPWgudmFsdWUoKTtpZihwLnZhbHVlKCkmJihvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8by5pc1Rvb2xDcmVhdGluZ05vdy52YWx1ZSgpKSlyZXR1cm4gdm9pZCB1LnNldFZhbHVlKCExKTtsZXQgdCxzO2lmKG8uYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlLnZhbHVlKCk9PT1vLlNlbGVjdFBvaW50TW9kZS5SZXBsYXkpdD1zPSExO2Vsc2V7Y29uc3QgaT1vLnRvb2wudmFsdWUoKSxuPW8uaXNTdHVkeUVkaXRpbmdOb3cudmFsdWUoKXx8by5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUudmFsdWUoKT09PW8uU2VsZWN0UG9pbnRNb2RlLlN0dWR5O3Q9ZSYmKCgwLGEuaXNMaW5lVG9vbE5hbWUpKGkpfHxvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8KDAsby50b29sSXNNZWFzdXJlKShpKXx8bikscz0oMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnZhbHVlKCl9Yy5zZXRWYWx1ZSghcyYmdD9yLk1hZ25ldE1vZGUuU3Ryb25nTWFnbmV0OigwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnZhbHVlKCkpLHUuc2V0VmFsdWUodD8hczpzKX1mdW5jdGlvbiBfKCl7ZC5zZXRWYWx1ZSgoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMudmFsdWUoKSl9ZnVuY3Rpb24gZygpe3JldHVybiB1fWZ1bmN0aW9uIHkoKXtyZXR1cm4gY31mdW5jdGlvbiBmKCl7cmV0dXJuIGR9ZnVuY3Rpb24gdihlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnNldFZhbHVlKGUpLCgwLG4uYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfWZ1bmN0aW9uIGIoZSl7KDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldE1vZGUuc2V0VmFsdWUoZSksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldC5zZXRWYWx1ZSghMCksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9ZnVuY3Rpb24gUyhlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMuc2V0VmFsdWUoZSksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9KDAsby5ydW5PbkRyYXdpbmdTdGF0ZVJlYWR5KSgoKCk9PnsoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycy5zdWJzY3JpYmUobnVsbCxfKSxoLnN1YnNjcmliZShtKSxwLnN1YnNjcmliZShtKSxvLnRvb2wuc3Vic2NyaWJlKG0pLG8uaXNUb29sRWRpdGluZ05vdy5zdWJzY3JpYmUobSksbSgpLF8oKX0pKX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cyg0MDIwNDUpLHI9cygxNTk1MTMpLG89cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBuLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IGkuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSx0aGlzLl9oaWJlcm5hdGVkPXQsdGhpcy5faGliZXJuYXRlZD8uc3Vic2NyaWJlKChlPT57ZT90aGlzLnBhdXNlKCk6dGhpcy5yZXN1bWUoKX0pKX1zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCE9PWUmJih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2w9bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZHx8KHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkPSJzZXJpZXMtIisoMCxhLmd1aWQpKCkpLHRoaXMuX3Vuc3Vic2NyaWJlUXVvdGVTZXNzaW9uKCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPWUsdGhpcy5fcXVvdGVTeW1ib2xDaGFuZ2VkLmZpcmUoKSxlJiZ0aGlzLl9zdWJzY3JpYmVRdW90ZVNlc3Npb24oZSkpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2x9cXVvdGVzVXBkYXRlKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1VwZGF0ZX0KcXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDQ2NTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjb21wYXJlUmVzb2x1dGlvbnM6KCk9Pm0uY29tcGFyZVJlc29sdXRpb25zLGNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5nczooKT0+SSxmb3JtYXREaXJlY3Rpb25hbFJlc29sdXRpb246KCk9PkIsZ2V0QXBwbGljYWJsZUludGVydmFsRm9yRnJlcXVlbmN5OigpPT5tLmdldEFwcGxpY2FibGVJbnRlcnZhbEZvckZyZXF1ZW5jeSxnZXREZWZhdWx0UmVzb2x1dGlvbjooKT0+dyxnZXRNYXhSZXNvbHV0aW9uVmFsdWU6KCk9PkUsZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZTooKT0+UCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbjooKT0+RCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsOigpPT54LGludGVydmFsSXNTdXBwb3J0ZWQ6KCk9PkYsaXNBdmFpbGFibGU6KCk9PmIsaXNJbnRlcnZhbEVuYWJsZWQ6KCk9PkEsaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkOigpPT5ULGlzU2Vjb25kc0VuYWJsZWQ6KCk9PmssbWVyZ2VSZXNvbHV0aW9uczooKT0+TCxub3JtYWxpemVJbnRlcnZhbFN0cmluZzooKT0+dixzZXRMYXN0VXNlZFJlc29sdXRpb246KCk9PlMsc29ydFJlc29sdXRpb25zOigpPT5NfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg5MzAyMzEpLHI9cygxODUyNzEpLG89cygyNTQ2NzMpLGE9cygxMjg5OTgpLGw9cyg5MzA1NjYpLHU9cyg1NjkzOTgpLGM9cygyMjUyOTgpLGQ9cygxNzY4NTEpLGg9cyg5NjkxNjgpLHA9cyg2MTk5OTIpLG09cyg3MDg1OSk7Y29uc3QgXz1bMSw1LDEwLDE1LDMwLDQ1XSxnPVsxLDEwLDEwMCwxZTNdLHk9KDAsdS5pc0ZlYXR1cmVFbmFibGVkKSgiY3VzdG9tX3RpY2tzIik7dmFyIGY7ZnVuY3Rpb24gdihlKXtyZXR1cm4gby5JbnRlcnZhbC5wYXJzZShlKS52YWx1ZSgpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1vLkludGVydmFsLnBhcnNlKGUpO2lmKHQuaXNSYW5nZSgpKXJldHVybiBjLmxpbmtpbmcucmFuZ2UudmFsdWUoKTtpZighKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmdC5pc1RpY2tzKCkpcmV0dXJuITE7Y29uc3Qgcz10LnZhbHVlKCksaT1jLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24udmFsdWUoKTtpZih2b2lkIDAhPT1pJiYoMCxtLmNvbXBhcmVSZXNvbHV0aW9ucykocyxpKTwwKXJldHVybiExO2NvbnN0IG49Yy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnZhbHVlKCk7cmV0dXJuIHZvaWQgMCE9PW4/dm9pZCAwIT09bi5maW5kKChlPT52KGUpPT09cykpOnQuaXNUaWNrcygpP0Jvb2xlYW4oYy5saW5raW5nLnRpY2tzLnZhbHVlKCkpOnQuaXNJbnRyYWRheSgpP0Jvb2xlYW4oYy5saW5raW5nLmludHJhZGF5LnZhbHVlKCkpOnQuaXNEV00oKX1mdW5jdGlvbiBTKGUpe28uSW50ZXJ2YWwuaXNWYWxpZChlKSYmKG8uSW50ZXJ2YWwuaXNSYW5nZShlKT9sLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFJhbmdlUmVzb2x1dGlvbiIsZSk6bC5zZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIixlKSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZT8iMTAwUiI6IjFEIn1mdW5jdGlvbiBQKGUsdCxzKXtjb25zdCBpPWEuaXNSYW5nZVN0eWxlKGUpLG49by5JbnRlcnZhbC5pc1JhbmdlKHQpO3JldHVybiFpJiZuP2Z1bmN0aW9uKGUpe2NvbnN0IHQ9bC5nZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1RpbWVCYXNlZCh0KSlyZXR1cm4gdDtsZXQgcz0iMUQiO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9by5JbnRlcnZhbC5wYXJzZSh0KTtpZihlLmlzVGltZUJhc2VkKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpCjtpZigiMUQiPT09dClyZXR1cm4gdDtzPXR9fXJldHVybiBzfShzKTppJiYhbj9mdW5jdGlvbihlKXtjb25zdCB0PWwuZ2V0VmFsdWUoImNoYXJ0Lmxhc3RVc2VkUmFuZ2VSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1JhbmdlKHQpKXJldHVybiB0O2xldCBzPSIxMDBSIjtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPW8uSW50ZXJ2YWwucGFyc2UodCk7aWYoZS5pc1JhbmdlKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpO2lmKCIxMDBSIj09PXQpcmV0dXJuIHQ7cz10fX1yZXR1cm4gc30ocyk6dH1mdW5jdGlvbiBUKGUpe2NvbnN0e2ludGVydmFsOnQsZ3VpUmVzb2x1dGlvbktpbmQ6c309by5JbnRlcnZhbC5wYXJzZUV4dChlKTtpZighdC5pc1ZhbGlkKCkpcmV0dXJuITE7Y29uc3QgaT10Lm11bHRpcGxpZXIoKTtpZihzPT09by5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKXJldHVybiBfLmluY2x1ZGVzKGkpO2lmKCgwLHAuaXNUaWNrc0VuYWJsZWQpKCkmJnM9PT1vLlJlc29sdXRpb25LaW5kLlRpY2tzKXJldHVybiEheXx8Zy5pbmNsdWRlcyhpKTtyZXR1cm4ocz09PW8uU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzP2kvNjA6aSk8PUMocyl9ZnVuY3Rpb24gQyhlKXtjb25zdCB0PW0ubWF4UmVzb2x1dGlvblZhbHVlc1tlXTtyZXR1cm4gTnVtYmVyLmlzTmFOKHQpPzE6dH1mdW5jdGlvbiBFKGUpe3JldHVybiBDKG8uSW50ZXJ2YWwucGFyc2VFeHQoZSkuZ3VpUmVzb2x1dGlvbktpbmQpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZTpPYmplY3Qua2V5cyhlKS5tYXAoby5JbnRlcnZhbC5ub3JtYWxpemUpLmZpbHRlcihpLm5vdE51bGwpfWZ1bmN0aW9uIEwoLi4uZSl7bGV0IHQ9W10uY29uY2F0KC4uLmUpO3JldHVybiB0PSgwLGQudW5pcSkodC5maWx0ZXIoVCkubWFwKHYpKSxNKHQpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuc29ydChtLmNvbXBhcmVSZXNvbHV0aW9ucyl9ZnVuY3Rpb24gRChlKXtjb25zdHttdWx0aXBsaWVyOnQsc2hvcnRLaW5kOnN9PXgoZSk7cmV0dXJuYCR7dH0ke3N9YH1mdW5jdGlvbiB4KGUsdCl7Y29uc3Qgcz1vLkludGVydmFsLnBhcnNlKGUpO2xldCBpPXMubXVsdGlwbGllcigpLG49cy5raW5kKCk7aWYoIXMuaXNWYWxpZCgpKXtpZih0KXJldHVybiBudWxsO3Rocm93IG5ldyBUeXBlRXJyb3IoYENhbid0IHRyYW5zbGF0ZSBpbnZhbGlkIGludGVydmFsOiAke2V9YCl9cmV0dXJuIHMuaXNNaW51dGVIb3VycygpJiYoaT1NYXRoLmZsb29yKGkvNjApLG49by5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHttdWx0aXBsaWVyOmkudG9TdHJpbmcoKSxzaG9ydEtpbmQ6UihuKSxoaW50OmAke2l9ICR7UihuLGkpfWAsbWF5T21pdE11bHRpcGxpZXI6cy5pc0RXTSgpJiYxPT09aSxtYXlPbWl0U2hvcnRLaW5kOnMuaXNNaW51dGVzKCkmJiFzLmlzTWludXRlSG91cnMoKX19ZnVuY3Rpb24gUihlLHQpe2lmKCF0KXJldHVybntbby5SZXNvbHV0aW9uS2luZC5JbnZhbGlkXToiIixbby5SZXNvbHV0aW9uS2luZC5UaWNrc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyMTgwMzYpKSxbby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDM5MDgwOSkpLFtvLlJlc29sdXRpb25LaW5kLk1pbnV0ZXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoNjE4NCkpLFtvLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyNDA3MykpLFtvLlJlc29sdXRpb25LaW5kLkRheXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMTkxNDMyKSksW28uUmVzb2x1dGlvbktpbmQuV2Vla3NdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMzIzNTcwKSksW28uUmVzb2x1dGlvbktpbmQuTW9udGhzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDg4OTEwKSksW28uUmVzb2x1dGlvbktpbmQuUmFuZ2VdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMjgxMTA3KSl9W2VdO3N3aXRjaChlKXtjYXNlIG8uUmVzb2x1dGlvbktpbmQuVGlja3M6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6InRpY2tzIixjb3VudDp0fSxzKDUwNjQ0NykpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5EYXlzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJkYXlzIixjb3VudDp0fSxzKDc0MzAwMikpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5XZWVrczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoid2Vla3MiLGNvdW50OnR9LHMoMzg4MTA1KSk7Y2FzZSBvLlJlc29sdXRpb25LaW5kLk1vbnRoczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoibW9udGhzIixjb3VudDp0fSxzKDMyMzQ4NSkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJzZWNvbmRzIixjb3VudDp0fSxzKDY2NTUzMCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5NaW51dGVzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJtaW51dGVzIixjb3VudDp0fSxzKDExMzY0MikpO2Nhc2Ugby5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnM6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6ImhvdXJzIixjb3VudDp0fSxzKDQxOTExNCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5SYW5nZTpyZXR1cm4gci50KG51bGwse3BsdXJhbDoicmFuZ2VzIixjb3VudDp0fSxzKDYxNjQ5KSk7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gaygpe3JldHVybiEwfWZ1bmN0aW9uIFYoZSl7cmV0dXJuISghKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmZS5pc1RpY2tzKCkpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIFYoby5JbnRlcnZhbC5wYXJzZShlKSl9ZnVuY3Rpb24gRihlKXtpZigoMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiKSl7Y29uc3QgdD1vLkludGVydmFsLm5vcm1hbGl6ZShlKTtyZXR1cm4gbnVsbCE9PXQmJmIodCl9e2NvbnN0IHQ9by5JbnRlcnZhbC5wYXJzZShlKQo7aWYoIXQuaXNWYWxpZCgpfHwhVih0KSlyZXR1cm4hMTtpZighKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIikpe2NvbnN0IHQ9by5JbnRlcnZhbC5ub3JtYWxpemUoZSkscz13aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5kZWZhdWx0UmVzb2x1dGlvbnMoKS5maWx0ZXIoQSk7aWYoIXR8fC0xPT09cy5pbmRleE9mKHQpKXJldHVybiExfWNvbnN0IHM9Yy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmKDAsbS5nZXRBcHBsaWNhYmxlSW50ZXJ2YWxGb3JGcmVxdWVuY3kpKHMsdC52YWx1ZSgpKSE9PXQudmFsdWUoKSlyZXR1cm4hMTtpZih0LmlzUmFuZ2UoKSlyZXR1cm4gYy5saW5raW5nLnJhbmdlLnZhbHVlKCk7aWYodC5pc1RpY2tzKCkpcmV0dXJuIGMubGlua2luZy50aWNrcy52YWx1ZSgpO2lmKHQuaXNJbnRyYWRheSgpKXJldHVybiBjLmxpbmtpbmcuaW50cmFkYXkudmFsdWUoKTt7Y29uc3QgZT1jLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKTtyZXR1cm4hZXx8ZS5pbmNsdWRlcyh0LnZhbHVlKCkpfX19ZnVuY3Rpb24gQihlKXtyZXR1cm4oMCxoLmlzUnRsKSgpPyIgIisoMCxoLmZvcmNlUlRMU3RyKSgiICwiK2UpOiIsICIrZX0hZnVuY3Rpb24oZSl7ZS5DdXN0b21Vc2VyUmVzb2x1dGlvbnNLZXk9IkludGVydmFsV2lkZ2V0LmludGVydmFscyIsZS5MYXN0VXNlZFJhbmdlUmVzb2x1dGlvbktleT0iY2hhcnQubGFzdFVzZWRSYW5nZVJlc29sdXRpb24iLGUuTGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uS2V5PSJjaGFydC5sYXN0VXNlZFRpbWVCYXNlZFJlc29sdXRpb24iLGUuRGVmYXVsdFJhbmdlUmVzb2x1dGlvbj0iMTAwUiIsZS5EZWZhdWx0VGltZUJhc2VkUmVzb2x1dGlvbj0iMUQifShmfHwoZj17fSkpfSw2MzY5NjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2VyaWVzOigpPT52dH0pO3ZhciBpPXMoMTY3NTAyKSxuPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxvPXMoOTUyOTAwKSxhPXMoNjAxODQxKSxsPXMoOTQ4MzgwKSx1PXMoMjIxMDYxKSxjPXMoMjU0NjczKSxkPXMoODU3MTUxKSxoPXMoOTM2MzI2KSxwPXMoMTIxNDc5KSxtPXMoMzg2OTMxKSxfPXMoMTc5NzcxKSxnPXMoOTMwMjMxKSx5PXMoNzY4NzYwKSxmPXMoNTQyMzQ5KSx2PXMoOTMwNTA2KSxiPXMoNjE5MTY1KSxTPXMoNjM1NTA5KSx3PXMoNzY4MjkyKSxQPXMoMTI4OTk4KSxUPXMoMzE0OTE0KSxDPXMoNjgyODIyKSxFPXMoNzU1NjI3KSxJPXMoNzk4MzgpLEw9cygyNTc4MSksTT1zKDYyNjc1NiksRD1zKDU0NjU3NSkseD1zKDE1Mjc2NiksUj1zKDM3Njc5Nyksaz1zKDYwOTA0MSksVj1zKDgyNzY5OCksQT1zKDY5OTU1MCksRj1zKDM1NzIxOSksQj1zKDY0NTI4NSksTz1zKDU2OTg0NiksTj1zKDk0NzM4MiksVz1zKDE1Njg1MCksVT1zKDY4MzkwMiksej1zKDE3MjMwNCksSD1zKDQ4Mzc4Myksaj1zKDkxMTQzMCksJD1zKDQ5MDM5OSkscT1zKDY1NTU4NCksSz1zKDY4NTU1NSksWT1zKDI5MzQ0NyksRz1zKDg5MTQ0MSksSj1zKDU2OTM5OCksWD1zKDIyNjkzNyksUT1zKDI3NTc0MiksWj1zKDk3Mzk3KSxlZT1zKDY4MjgwNiksdGU9cyg3MzkzNjMpLHNlPXMoNDE3MjkpLGllPXMoNDk5Njk1KSxuZT1zKDk2OTQpLHJlPXMoODY2OTUwKSxvZT1zKDM3NjY0NSksYWU9cygzMjI0NjApLGxlPXMoODUzMjQ1KSx1ZT1zKDIzNDg2NiksY2U9cyg4OTQ2OTcpLGRlPXMoMjA2NTcwKSxoZT1zKDQwNzc5OSkscGU9cyg2MTU2NzMpLG1lPXMoMjM0OTMyKSxfZT1zKDQ5MDQ0NiksZ2U9cyg0Njg3NzQpLHllPXMoODM3MjAzKSxmZT1zKDk2NjQwNCksdmU9cyg0NjUxMzcpLGJlPXMoMzQ3MDQyKSxTZT1zKDgwNjgxOCksd2U9cygxNTc4NTMpLFBlPXMoMTY4NzcxKSxUZT1zKDM2MDIzOCksQ2U9cyg3NDgyMTApLEVlPXMoNTQ5NjEzKSxJZT1zKDEzMDkxNSksTGU9cygzMTg5NzQpLE1lPXMoMzExNjE5KSxEZT1zKDI3MzE4NykseGU9cygzMjA2NjUpLFJlPXMoNjMyNTM1KSxrZT1zKDIyODI1MSksVmU9cyg3MzQ0NzkpLEFlPXMoNjU2NDA5KSxGZT1zKDY5Nzc5OSksQmU9cyg2NTkyOTEpLE9lPXMoMTk2MDQ5KSxOZT1zKDIxNzAxNiksV2U9cyg5ODE4NTMpLFVlPXMoMzY0NzgyKSx6ZT1zKDM1ODA4OCksSGU9cyg0NTk2NzMpLGplPXMoNDE2MzUpLCRlPXMoOTU2NDM3KSxxZT0ocygyNTAzMzQpLHMoMTU2ODI5KSksS2U9cyg2OTk2NjgpLFllPXMoNzA0NTcyKSxHZT1zKDg2NjczMSksSmU9cyg4Njc4MzEpLFhlPXMoMjQxOTU2KSxRZT1zKDE4OTgwMCksWmU9cygyMjc4MjUpLGV0PXMoNzkzODYyKSx0dD1zKDQ4OTAzMSksc3Q9cyg5NjkxNjgpLGl0PXMoMjA1NjIyKSxudD1zKDcyMzUyNSk7Y29uc3QgcnQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJpY2Vfc2NhbGVfYWx3YXlzX2xhc3RfYmFyX3ZhbHVlIiksb3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzcGxheV9kYXRhX21vZGUiKSxhdD0hKDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iKSxsdD0oMCxnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3ByaWNlX3NjYWxlX2dsb2JhbF9sYXN0X2Jhcl92YWx1ZSIpLHV0PSgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm5vX2JhcnNfc3RhdHVzIiksY3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRpbmdfbGlicmFyeV9kZWJ1Z19tb2RlIiksZHQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfc3R5bGVfaGlsb19sYXN0X3ByaWNlIiksaHQ9KDAsdS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXMiKSxwdD1QZS5sYXN0RGF5Q2hhbmdlQXZhaWxhYmxlJiZMZS5DaGVja01vYmlsZS5hbnkoKXx8UGUuYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2U7bGV0IG10PSExO2NvbnN0IF90PXtjb3VudGRvd25FbmFibGVkOiEwLGxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQ6ITB9O2Z1bmN0aW9uIGd0KGUsdCxzKXtyZXR1cm4gdm9pZCAwPT09dD9udWxsOmAke2V9PSR7dH0gKCR7cz8iY2hhbmdlZCI6InVuY2hhbmdlZCJ9KWB9ZnVuY3Rpb24geXQoZSl7CmNvbnN0IHQ9ZS5zdGF0ZSgpO3JldHVybiB0LmRhdGEuZm9yRWFjaCgoZT0+ZS52YWx1ZS5zcGxpY2UoNywxKSkpLHR9ZnVuY3Rpb24gZnQoZSl7Y29uc3R7c2VyaWVzU3RhdHVzOnQsYWRkaXRpb25hbFN0dWR5U3RhdHVzOnN9PWU7aWYoSS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKHQpKXJldHVybiAyO2lmKHMpe2lmKDQhPT10JiZzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuRXJyb3IpcmV0dXJuIDEzO2lmKEkuc2VyaWVzUmVhZHlTdGF0dXNlcy5oYXModCkmJihzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ3x8cy50eXBlPT09SmUuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZCkpcmV0dXJuIDJ9cmV0dXJuIHR9Y2xhc3MgdnQgZXh0ZW5kcyBmLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQsdSxkKXtzdXBlcihlLCJfc2VyaWVzSWQiKSx0aGlzLmlzU2VyaWVzPSEwLHRoaXMucmVxdWVzdGluZ1N0eWxlSXNOb3RTdXBwb3J0ZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5yZXF1ZXN0aW5nU3R5bGVTdXBwb3J0UmVjb3ZlcmVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhbmVWaWV3PW51bGwsdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1udWxsLHRoaXMuX3dhdGVybGluZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZ290b0RhdGVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlU3RlcD1udWxsLHRoaXMuX3N5bWJvbEluZm89bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHk9bmV3IHcuUHJvcGVydHkoITApLHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eSghMCksdGhpcy5faGlnaExvd1ByaWNlQ2FjaGU9bmV3IE1hcCx0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZT1uZXcgTWFwLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bnVsbCx0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblJlc3RhcnRlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblN0YXR1c0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5faW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlc3Npb25JZENoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fcmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlPSEwLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3PW5ldyBtZS5MYXN0UHJpY2VDaXJjbGVQYW5lVmlldyh0aGlzKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZGF0YVBvd2VyZWRCeT1udWxsLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc3luY01vZGVsPW51bGwsdGhpcy5fZGF0YT1udWxsLHRoaXMuX2xhc3RDb21wbGV0ZUZsYWdzPW51bGwsdGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5fcXVvdGVzTGFzdFNwbGl0cz1uZXcgci5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xhc3RTcGxpdHM9KDAsby5jb21iaW5lKSgoKGUsdCk9PnR8fGUpLHRoaXMuX3F1b3Rlc0xhc3RTcGxpdHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX292ZXJyaWRkZW5MYXN0U3BsaXRzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYm94U2l6ZVZhbHVlPW5ldyByLldhdGNoZWRWYWx1ZSx0aGlzLl9iYXNlPTEwMCx0aGlzLl9wb2ludFZhbHVlPTEsdGhpcy5fZm9ybWF0dGluZ0RlcHM9bnVsbCx0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPW5ldyBFLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOnRoaXMuX2Jhc2V9KSx0aGlzLl9mb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVQcmljZVN0ZXA9bnVsbCx0aGlzLl9sYXN0QmFyQ2xvc2VUaW1lPW51bGwsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZD10aGlzLl9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzPSExLHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNCb3VuZD10aGlzLl9yZWFsaWduTGluZVRvb2xzLmJpbmQodGhpcyksdGhpcy5fdGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkPSExLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZT0hMSx0aGlzLl9jdXJyZW50U2Vzc2lvbj0ib3V0X29mX3Nlc3Npb24iLHRoaXMuX29uU3R5bGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29ic29sZXRlWk9yZGVyPTAsdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVlc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ITEsdGhpcy5fZ290b0RhdGVSZXN1bHRDbGVhcmVkPSExLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3PW51bGwsdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsLHRoaXMuX3BlbmRpbmdUaW1lUmFuZ2U9bnVsbCx0aGlzLl9yZXBsYXlTdWJzY3JpYmVyPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9bnVsbCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXk9bmV3IGwuRGVsZWdhdGUsdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fc3RhdHVzPW5ldyByLldhdGNoZWRWYWx1ZSh7c2VyaWVzU3RhdHVzOjB9KSx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWw9IiIsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGU9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPW51bGwsdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQ9KDAseS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPW51bGwsdGhpcy5fc3R1ZHlCaW5kaW5ncz1udWxsLHRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyBaLkdyYWRpZW50Q29sb3JDYWNoZSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbCx0aGlzLl9zeW1ib2xTb3VyY2VXVj1uZXcgci5XYXRjaGVkVmFsdWUodGhpcyksdGhpcy5fY3VycmVuY3lPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VuaXRPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VwZGF0ZVRpbWVTY2FsZVRpbWVQb2ludFdlaWdodHM9KCk9Pnt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5zZXRUaW1lUG9pbnRXZWlnaHRzKDE5PT09dGhpcy5zdHlsZSgpP3RoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0czpudWxsKX07Y29uc3QgaD10LmNoaWxkcygpLHA9aC5pbnRlcnZhbDt0aGlzLl9pbnRlcnZhbE9iaj1uZXcgci5XYXRjaGVkVmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSxwLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW50ZXJ2YWxPYmouc2V0VmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSkpLHRoaXMuX3Nlcmllc1N0YXR1cz0oMCxvLmNvbWJpbmUpKGZ0LHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M9bmV3IEcuU2VyaWVzU3R1ZGllc0JpbmRpbmdzKHRoaXMpLHRoaXMuX3N0dWR5QmluZGluZ3Mub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLnN0YXR1cygpLHQ9dGhpcy5fc3RhdHVzLnZhbHVlKCkscz10aGlzLl9zdHVkeUJpbmRpbmdzPy5zdGF0dXMoKTtzPy50eXBlIT09SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfHx0aGlzLmlzRmFpbGVkKCl8fCh0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9KDAsSmUuY29udmVydFN0dWR5U3RhdHVzVG9TdHJpbmcpKHMpKSx0aGlzLl91cGRhdGVTdGF0dXMoey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLGFkZGl0aW9uYWxTdHVkeVN0YXR1czpzfSksdGhpcy5zdGF0dXMoKSE9PWUmJih0aGlzLl9zdGF0dXNWaWV3LnVwZGF0ZSgpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSksKDAsaS5kZWZhdWx0KSh0LHRoaXMuX3N0YXR1cyl8fHRoaXMuX29uU3RhdHVzQ2hhbmdlZC5maXJlKCl9KSksdGhpcy5fc2VyaWVzU291cmNlPW5ldyB5ZS5TZXJpZXNEYXRhU291cmNlKGUuY2hhcnRBcGkoKSwicyIsZCk7Y29uc3QgXz10aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpO18uc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxfLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksXy5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc1RpbWVGcmFtZSksXy5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzRXJyb3IpLF8ubG9hZGluZygpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzTG9hZGluZyksXy5jb21wbGV0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0NvbXBsZXRlZCksXy5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVVwZGF0ZWQpLF8uYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkJhclJlY2VpdmVkKSxfLnVuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkKSxfLmNsZWFyZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0RhdGFDbGVhcmVkKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQS5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblF1b3Rlc1VwZGF0ZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYmluZFRvU2VyaWVzUHJvcGVydGllcyh0KSx0aGlzLl9wcm9wZXJ0aWVzPXQsaC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksaC50aW1lZnJhbWUuc3Vic2NyaWJlKHRoaXMsdGhpcy5jaGFuZ2VUaW1lRnJhbWUpLHQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCksdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eShoLnNlc3Npb25JZC52YWx1ZSgpKSxoLnNlc3Npb25JZC5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZVNlc3Npb25JZFByb3h5UHJvcGVydHkoKSkpLAp0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZWQpLHRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5PW5ldyB3LlByb3BlcnR5LHRoaXMuX3JlY2FsY1N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCksaC5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSksdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF90KSx1KSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1oLnN0eWxlLnZhbHVlKCksdGhpcy5fcHJpY2VBeGlzVmlldz1uZXcgRi5TZXJpZXNQcmljZUF4aXNWaWV3KHRoaXMsZSx7YWx3YXlzU2hvd0dsb2JhbExhc3Q6IWx0LHNob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSk7bGV0IGY9bnVsbDtydHx8bHR8fChmPW5ldyBGLlNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlLHt2aXNpYmxlT25IaXN0b3J5T25seTohMCxzaG93U3ltYm9sTGFiZWw6ITEsc2hvd0NvdW50ZG93bjohMSxhbHdheXNTaG93R2xvYmFsTGFzdDohMSx1c2VTb2xpZEJvZHlDb2xvcjohMX0pKSx0aGlzLl9wcmljZUxpbmVQcmljZUF4aXNWaWV3PW5ldyBuZS5TZXJpZXNQcmljZUxpbmVBeGlzVmlldyh0aGlzKSx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3M9W3RoaXMuX3ByaWNlTGluZVByaWNlQXhpc1ZpZXddLHRoaXMuX3Byb2plY3Rpb25QcmljZUF4aXNWaWV3PW5ldyByZS5Qcm9qZWN0aW9uU2VyaWVzUHJpY2VBeGlzVmlldyh0aGlzLGUse3Nob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSksdGhpcy5fcHJpY2VBeGlzVmlld3M9W3RoaXMuX3ByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXddLG51bGwhPT1mJiZ0aGlzLl9wcmljZUF4aXNWaWV3cy5wdXNoKGYpLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bmV3IHRlLlByZXZDbG9zZVNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy51bnNoaWZ0KHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLHRoaXMuX3ByZXZDbG9zZVByaWNlTGluZVZpZXc9bmV3IHNlLlNlcmllc1ByZXZDbG9zZVByaWNlTGluZVBhbmVWaWV3KHRoaXMpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3PW5ldyBvZS5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmljZUF4aXNWaWV3LHRoaXMsZSksdGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXc9bnVsbCE9PWY/bmV3IG9lLlBhbmVQcmljZUF4aXNWaWV3KGYsdGhpcyxlKTpudWxsLHRoaXMuX3Byb2plY3Rpb25QYW5lUHJpY2VBeGlzVmlldz1uZXcgb2UuUGFuZVByaWNlQXhpc1ZpZXcodGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXcsdGhpcyxlKSx0aGlzLl9sYWJlbFBhbmVWaWV3cz1bdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblBhbmVQcmljZUF4aXNWaWV3XSxudWxsIT09dGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcmJnRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2godGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3M9W10sdGhpcy5fYXZlcmFnZVBhbmVWaWV3cz1bXSx0aGlzLl9jcmVhdGVIaWdoTG93QXZnVmlld3MoKSx0aGlzLl9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKSxoLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKSx0aGlzLl91cGRhdGVMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUoKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQpLHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBnZS5TZXJpZXNEYXRhV2luZG93Vmlldyh0aGlzLGUpLHRoaXMuX2xlZ2VuZFZpZXc9bmV3IE0uU2VyaWVzTGVnZW5kVmlldyh0aGlzLGUpLHRoaXMuX3N0YXR1c1ZpZXc9bmV3IEwuU2VyaWVzU3RhdHVzVmlldyh0aGlzLGguc3RhdHVzVmlld1N0eWxlKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW5ldyBldC5TZXJpZXNDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoZSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IEQuTWFya2V0U3RhdHVzTW9kZWwodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZU1vZGVsPW90P25ldyBrLkRhdGFVcGRhdGVkTW9kZU1vZGVsKHRoaXMuX3N5bWJvbEluZm8uc3Bhd24oKS5vd25lcnNoaXAoKSx0aGlzLl9zZXJpZXNTdGF0dXMuc3Bhd24oKS5vd25lcnNoaXAoKSwoMCxYZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M/LnJ0X3VwZGF0ZV9wZXJpb2QpLF8uY29tcGxldGVkKCkpLm93bmVyc2hpcCgpKTpudWxsLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWw9bmV3IFYuRGF0YVByb2JsZW1Nb2RlbCh0aGlzLl9xdW90ZXNQcm92aWRlcix0aGlzLl9zeW1ib2xJbmZvLnNwYXduKCkub3duZXJzaGlwKCkpLGguYmFja0FkanVzdG1lbnQuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5yZXN0YXJ0KCl9KSksaC5zZXR0bGVtZW50QXNDbG9zZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmlzRFdNKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMucmVzdGFydCgpfSkpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jaGVja0NoYXJ0U3R5bGUoKSkpLCgwLApnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKXx8UHJvbWlzZS5hbGwoW3MuZSg3MzExKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSgxMjA1MSkscy5lKDM4MjYyKSxzLmUoNzQyNzMpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoOTE4MzMpXSkudGhlbihzLmJpbmQocywzMDA4MjgpKS50aGVuKChlPT57dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXc9bmV3IGUuRW5kT2ZEYXRhTG9sbGlwb3BQYW5lVmlldyh0aGlzKX0pKSx0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9hbGlhc1N5bWJvbEluZm89KDAsTy5jcmVhdGVBbGlhc1N5bWJvbEluZm9XVikodGhpcy5fc3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCkpLHRoaXMuX2FsaWFzU3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksJC5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSwhKDAsSi5pc0ZlYXR1cmVFbmFibGVkKSgiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIil8fHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8dGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKGU9PntpZigoMCxQLmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk+MCl7aWYodGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldylyZXR1cm47dGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1uZXcgWC5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDI3MjkyKSxzLmUoMTI0NDgpXSkudGhlbihzLmJpbmQocywxMDA4MjApKS50aGVuKCgoe0RlbGF5U3RhdHVzUGFuZVZpZXc6ZX0pPT5uZXcgZSh0aGlzKSkpLChlPT57ZS5kZXN0cm95KCksdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsfSkpfWVsc2UgdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz8uZGVzdHJveSgpfSkpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJ2aXNpYmxlIiwxKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJjdXJyZW5jeUlkIiwxKSx0aGlzLl9mdXR1cmVCYXJzUGFuZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1uZXcgR2UuU2VyaWVzSG9yaXpvbnRhbEJhc2VMaW5lUGFuZVZpZXcodGhpcyk7Zm9yKGNvbnN0WyxlXW9mIE9iamVjdC5lbnRyaWVzKEkuU1RZTEVfU0hPUlRfTkFNRVMpKXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQoYCR7ZX1TdHlsZWApPy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCkpKTtjb25zdCB2PWgucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCk7di5ib3hTaXplLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi53aWNrcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuc291cmNlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLGgucGJTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubGIuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNykpKTtjb25zdCBiPWgua2FnaVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtiLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg1KSkpLGIuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSk7Y29uc3QgUz1oLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtTLmJveFNpemUuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNikpKSxTLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zb3VyY2VzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg2KSkpLFMuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5vbmVTdGVwQmFja0J1aWxkaW5nLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksaC5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5waGFudG9tQmFycy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcygxMSkpKSx0aGlzLl9pc0RXTVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KHRoaXMuaXNEV00oKSksCnRoaXMuX29uUmVzdGFydGVkLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faXNEV01Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLmlzRFdNKCkpKSksaC5kaXZpZGVuZHNBZGp1c3RtZW50Py5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoaC5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpOygwLG0udHJhY2tFdmVudCkoIkRpdmlkZW5kcyBhZGp1c3QiLCEwPT09ZT8iT24iOiJPZmYiKSx0aGlzLnJlc3RhcnQoKX0pKSx0aGlzLl9kYXRhUG93ZXJlZEJ5PW51bGwsaC5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQpLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQoaC5zaG93Q291bnRkb3duKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLGgubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmxpbmVXaXRoTWFya2Vyc1N0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYXJlYVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguY29sdW1uU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5faXNJblJlcGxheT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSksdGhpcy5fcmVwbGF5U3Vic2NyaWJlci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fbGVnZW5kVmFsdWVzUHJvdmlkZXI9bmV3IGxlLlNlcmllc0xlZ2VuZFZhbHVlc1Byb3ZpZGVyKHRoaXMsdGhpcy5tb2RlbCgpKSx0aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgaXQuU2VyaWVzVGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcj1uZXcgUWUuU2VyaWVzVmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgdWUuU2VyaWVzQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKTtjb25zdCBUPSgpPT57Y29uc3QgdD10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCkscz0oMCxQLnN5bWJvbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PXQmJm51bGwhPT1zP3RoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZSh7dW5pdE9yaWdpbk5hbWU6dGhpcy5wcm9TeW1ib2woKSxjb252ZXJ0aWJsZUdyb3VwczooMCxudC51bml0Q29udmVydGlibGVHcm91cHMpKHQscyx0aGlzLl9hdmFpbGFibGVVbml0cy52YWx1ZSgpKSxpc0NvbnZlcnRlZFRvT3RoZXJVbml0OigwLFAuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCkodCxlLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvcmlnaW5hbFVuaXQ6KDAsUC5zeW1ib2xPcmlnaW5hbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksY3VycmVudFVuaXQ6c30pOnRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKX07dGhpcy5fYXZhaWxhYmxlVW5pdHM9ZS5hdmFpbGFibGVVbml0cygpLnNwYXduKCksdGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT57Y29uc3QgZT10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCksdD0oMCxQLnN5bWJvbEN1cnJlbmN5KShlKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7b3JpZ2luYWxDdXJyZW5jeTooMCxQLnN5bWJvbE9yaWdpbmFsQ3VycmVuY3kpKGUpLGN1cnJlbnRDdXJyZW5jeTp0LGJhc2VDdXJyZW5jeTooMCxQLnN5bWJvbEJhc2VDdXJyZW5jeSkoZSksaXNDdXJyZW5jeUNvbnZlcnRpYmxlOigwLFAuc3ltYm9sQ3VycmVuY3lDb252ZXJ0aWJsZSkoZSksaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6KDAsUC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSkoZSksY3VycmVuY3lPcmlnaW5OYW1lOnRoaXMucHJvU3ltYm9sKCl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKFQpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnN1YnNjcmliZShUKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSwoMCxRLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2V0IHNlcmllcyBJZCB0byAke2V9YCx1LkxPR0xFVkVMLklORk8sImNoYXJ0LnNlcmllcyIpfXN1cHBvcnRzQ29uZmxhdGVkQ2h1bmtzKCl7cmV0dXJuITB9Y29uZmxhdGVkQ2h1bmtzKGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLmNvbmZsYXRlZENodW5rcyhlLHQpfXNlcmllc0Vycm9yTWVzc2FnZSgpe2NvbnN0e3Nlcmllc1N0YXR1czplLGFkZGl0aW9uYWxTdHVkeVN0YXR1czp0fT10aGlzLl9zdGF0dXMudmFsdWUoKQo7cmV0dXJuIHRoaXMuaXNGYWlsZWQoKT90aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U6SS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKGUpP251bGw6dD8udHlwZT09PUplLlN0dWR5U3RhdHVzVHlwZS5FcnJvcj8oMCxKZS5jb252ZXJ0U3R1ZHlTdGF0dXNUb1N0cmluZykoe3R5cGU6SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246dC5lcnJvckRlc2NyaXB0aW9ufSwhMCk6bnVsbH1kZXN0cm95KCl7dGhpcy5fbGFzdFNwbGl0cy5kZXN0cm95KCksdGhpcy5fc2VyaWVzU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5jbGVhckdvdG9EYXRlUmVzdWx0KCksdGhpcy5fbGVnZW5kVmlldy5kZXN0cm95KCksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8ucmVsZWFzZSgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmRlc3Ryb3koKSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWwuZGVzdHJveSgpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9wYW5lVmlldyYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5kZXN0cm95KCksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl91bnN1YnNjcmliZVJlc3RhcnRUb1Nlc3Npb25JZENoYW5nZSgpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZGVzdHJveSgpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5kZXN0cm95KCksdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucmVzb2x2ZSgpLHRoaXMuX3Byb3BlcnRpZXMuZGVzdHJveSgpLHRoaXMuX2lzSW5SZXBsYXkuZGVzdHJveSgpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUudW5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSwkLmFsZXJ0c0F2YWlsYWJsZSYmdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksdGhpcy5faW50ZXJ2YWxDaGFuZ2VkLmRlc3Ryb3koKSxudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKSxzdXBlci5kZXN0cm95KCl9YmFyQ29sb3Jlcigpe2lmKHRoaXMuX2JhckNvbG9yZXJDYWNoZSlyZXR1cm4gdGhpcy5fYmFyQ29sb3JlckNhY2hlO2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKXtjb25zdCBpPXRbc10uZGF0YVNvdXJjZXMoKS5maWx0ZXIoJGUuaXNTdHVkeSkuZmlsdGVyKChlPT5lLmhhc0JhckNvbG9yZXIoKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpLnNvcnQoKChlLHQpPT5lLnpvcmRlcigpLXQuem9yZGVyKCkpKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKGlbdF0uYmFyQ29sb3JlcigpKTtudWxsPT09ZT9lPXM6ZS5wdXNoQmFja0JhckNvbG9yZXIocyl9fXJldHVybiBudWxsPT09ZT9lPW5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpOmUucHVzaEJhY2tCYXJDb2xvcmVyKG5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpKSx0aGlzLl9iYXJDb2xvcmVyQ2FjaGU9ZSxlfWNyZWF0ZVBhbmVWaWV3KCl7dGhpcy5fcGFuZVZpZXc9bnVsbCx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fd2F0ZXJsaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlTGluZVZpZXc9dGhpcy5oYXNDbG9zZVByaWNlKCk/bmV3IGJlLlNlcmllc1ByaWNlTGluZVBhbmVWaWV3KHRoaXMpOm51bGw7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7c3dpdGNoKGUpe2Nhc2UgMDp0aGlzLl9wYW5lVmlldz1uZXcgRGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTc6Y2FzZSAxOTpjYXNlIDE6dGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsLDE9PT1lfHwxOT09PWU/MTouMik7YnJlYWs7Y2FzZSAyOmNhc2UgMTg6Y2FzZSAxNDpjYXNlIDE1OnRoaXMuX3BhbmVWaWV3PW5ldyBSZS5TZXJpZXNMaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAzOnRoaXMuX3BhbmVWaWV3PW5ldyBrZS5TZXJpZXNBcmVhUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAxNjp0aGlzLl9wYW5lVmlldz1uZXcgVmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgODp0aGlzLl9wYW5lVmlldz1uZXcgQWUuU2VyaWVzSGVpa2VuQXNoaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgOTp0aGlzLl9wYW5lVmlldz1uZXcgRmUuU2VyaWVzSG9sbG93Q2FuZGxlc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTM6dGhpcy5fcGFuZVZpZXc9bmV3IE1lLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEwOnt0aGlzLl9wYW5lVmlldz1uZXcgQmUuU2VyaWVzQmFzZWxpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKQo7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dGhpcy5fd2F0ZXJsaW5lVmlldz1uZXcgU2UuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PnRoaXMucHJpY2VTY2FsZSgpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6dGhpcy5fcGFuZVZpZXc9bmV3IHdlLlNlcmllc0hpTG9QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDIxOnRoaXMuX3BhbmVWaWV3PW5ldyB0dC5TZXJpZXNITENCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9c3dpdGNoKGUpe2Nhc2UgNDp0aGlzLl9wYW5lVmlldz1uZXcgVGUuU2VyaWVzUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBUZS5TZXJpZXNQcm9qZWN0aW9uUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDc6dGhpcy5fcGFuZVZpZXc9bmV3IENlLlNlcmllc1ByaWNlQnJlYWtQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBDZS5TZXJpZXNQcm9qZWN0aW9uUHJpY2VCcmVha1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgNTp0aGlzLl9wYW5lVmlldz1uZXcgRWUuU2VyaWVzS2FnaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpLHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXc9bmV3IEVlLlNlcmllc1Byb2plY3Rpb25LYWdpUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA2OnRoaXMuX3BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQbkZQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQcm9qZWN0aW9uUG5GUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9aWYoMTE9PT1lJiYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmJhclN0eWxlLnZhbHVlKCk9PT1LZS5SYW5nZUJhclN0eWxlLkJhcnM/KHRoaXMuX3BhbmVWaWV3PW5ldyBEZS5TZXJpZXNCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1uZXcgaWUuU2VyaWVzUHJvamVjdGlvblJhbmdlQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKToodGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBpZS5TZXJpZXNQcm9qZWN0aW9uUmFuZ2VDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCkpKSwyMD09PWUmJih0aGlzLl9wYW5lVmlldz1ZLkVtcHR5UGFuZVZpZXcuaW5zdGFuY2UoKSksbnVsbD09PXRoaXMuX3BhbmVWaWV3KXRocm93IEVycm9yKCJVbmtub3duIGNoYXJ0IHN0eWxlIGFzc2lnbmVkOiAiK2UpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc316b3JkZXIoKXtyZXR1cm4gMH1xdW90ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9xdW90ZXNQcm92aWRlcn1jdXJyZW50U2Vzc2lvbigpe3JldHVybiB0aGlzLl9jdXJyZW50U2Vzc2lvbn1zeW5jTW9kZWwoKXtpZighdGhpcy5fc3luY01vZGVsKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5pbnRlcnZhbCgpO2lmKCFlfHwhdClyZXR1cm4gbnVsbDt0aGlzLl9zeW5jTW9kZWw9bmV3IFIuU3luY01vZGVsKGUsdCl9cmV0dXJuIHRoaXMuX3N5bmNNb2RlbH1sYWJlbFBhbmVWaWV3cygpe3JldHVybiB0aGlzLl9sYWJlbFBhbmVWaWV3c310b3BQYW5lVmlld3MoKXtjb25zdCBlPVtdO2lmKG51bGwhPT10aGlzLl9nb3RvRGF0ZVZpZXcmJmUucHVzaCh0aGlzLl9nb3RvRGF0ZVZpZXcpLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSl7Y29uc3QgdD10aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldzt0LmFuaW1hdGlvbkFjdGl2ZSgpJiZzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbW9kZWwuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSksMCksdC5pbnZhbGlkYXRlU3RhZ2UoKSxlLnB1c2godCl9cmV0dXJuIDAhPT1lLmxlbmd0aD9lOm51bGx9cGFuZVZpZXdzKGUpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJiF0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmUoKSlyZXR1cm4gbnVsbDtjb25zdCB0PWU9PT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLHM9dD9bKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYXNlSG9yaXpvbnRhbExpbmVWaWV3KSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BhbmVWaWV3KV06W107aWYocy5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3M/LnBhbmVWaWV3cyhlKT8/W10pLHQpe2lmKDE3IT09dGhpcy5zdHlsZSgpJiZ0aGlzLl9kZWxheVN0YXR1c1BhbmVWaWV3KXtjb25zdCBlPXRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXcuZ2V0KCk7ZSYmKGUuc2V0QmFyc1Byb3ZpZGVyKHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXcpLHMucHVzaChlKSl9dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXcmJnMucHVzaCh0aGlzLl9lbmRPZkRhdGFQYW5lVmlldyksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3KSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldyksbnVsbCE9PXRoaXMuX3dhdGVybGluZVZpZXcmJnMucHVzaCh0aGlzLl93YXRlcmxpbmVWaWV3KSxzLnB1c2goKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3KSksbnVsbCE9PXRoaXMuX3ByaWNlTGluZVZpZXcmJnMucHVzaCh0aGlzLl9wcmljZUxpbmVWaWV3KSwKd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmUmJih0aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldy5zdG9wQW5pbWF0aW9uKCkscy5wdXNoKHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3KSkscy5wdXNoKC4uLnRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MpLHMucHVzaCguLi50aGlzLl9hdmVyYWdlUGFuZVZpZXdzKX1yZXR1cm4gc313aWRnZXRTaWRlQXJlYVZpZXdzKGUpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy53aWRnZXRTaWRlQXJlYVZpZXdzKGUpPz9udWxsfXByaWNlQXhpc1ZpZXdzKGUsdCl7cmV0dXJuIGUuZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKHRoaXMsdCx0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3MpfWNsZWFySGlnaExvd1ByaWNlQ2FjaGUoKXt0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5jbGVhcigpfWNsZWFyQXZlcmFnZVByaWNlQ2FjaGUoKXt0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZS5jbGVhcigpfXByaWNlU2NhbGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByaWNlU2NhbGUpfXNldFByaWNlU2NhbGUoZSl7dGhpcy5fcHJpY2VTY2FsZSE9PWUmJih0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZC5maXJlKCksdGhpcy5fcHJpY2VTY2FsZT1lLHRoaXMuX3Byb3BlcnRpZXMucmVtb3ZlUHJvcGVydHkoInByaWNlQXhpc1Byb3BlcnRpZXMiKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZENoaWxkKCJwcmljZUF4aXNQcm9wZXJ0aWVzIixlLnByb3BlcnRpZXMoKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCksKDAsXy5lbWl0KSgic2VyaWVzX2V2ZW50IiwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpLHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkLmZpcmUoZSkpfXByaWNlU2NhbGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkfXByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkfWFwcGx5UHJlZmVyZW5jZXMoZSl7Y29uc3QgdD0oMCxhLmNsb25lKShlKTt0aGlzLnByaWNlU2NhbGUoKS5zZXRNb2RlKHthdXRvU2NhbGU6dC5wcmljZUF4aXNQcm9wZXJ0aWVzLmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcy5wZXJjZW50YWdlLGxvZzp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9nLGxvY2tTY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9ja1NjYWxlfSksdGhpcy5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQodC5zdHlsZSk7Y29uc3R7c3R5bGU6cyxpbnRlcnZhbDppLC4uLm59PXQ7dGhpcy5fcHJvcGVydGllcy5tZXJnZVByZWZlcmVuY2VzKG4pLHRoaXMuX3Byb3BlcnRpZXMuc2F2ZURlZmF1bHRzKCksdGhpcy5jcmVhdGVQYW5lVmlldygpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCl9ZGlzY29ubmVjdCgpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnN0b3AoKSx0aGlzLl9zZXJpZXNTb3VyY2Uuc3RvcCgpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fdXBkYXRlU3RhdHVzKHsuLi50aGlzLl9zdGF0dXMudmFsdWUoKSxzZXJpZXNTdGF0dXM6MH0pfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl9aXNDb21wbGV0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQ29tcGxldGVkfXJlc3RhcnQoZSl7aWYoNT09PXRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cylyZXR1cm47bGV0IHQ9bnVsbDt0aGlzLl9wZW5kaW5nVGltZVJhbmdlJiYodD10aGlzLl9wZW5kaW5nVGltZVJhbmdlLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3Nlcmllc1NvdXJjZS5zZXRUaW1lZnJhbWUodCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsKSk7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCksaT0oMCxwLmdldFNlcnZlckludGVydmFsKShzKSxuPXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpO3RoaXMuX3Nlcmllc1NvdXJjZS5jYW5Nb2RpZnlTZXJpZXMobixpKT8odGhpcy5fc2VyaWVzTG9hZGVkPSExLHRoaXMuX3Nlcmllc0NvbXBsZXRlZD0hMSx0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuX29uUmVzdGFydGVkLmZpcmUoKSx0aGlzLl9zZXRTdGF0dXMoMSksdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSxjLkludGVydmFsLmlzRXF1YWwocyx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWwpfHx0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQocyksZXx8dGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCkscyksdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUodCksdGhpcy5fZGF0YT1udWxsLHRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0KSx0aGlzLl9zZXJpZXNTb3VyY2UubW9kaWZ5U2VyaWVzKG4saSx0KSx0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10aGlzLmludGVydmFsKCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpKTp0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fCh0aGlzLl91cGRhdGVTeW1ib2xJbmZvKG51bGwpLHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSl9aXNTeW1ib2xJbnZhbGlkKCl7cmV0dXJuIDQ9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXN9CmdldFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCgpKX1nZXRBbGVydFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLmFjdHVhbFN5bWJvbCgpLCEwLCEwKSl9Z2V0QWxlcnRQcm9TeW1ib2xTdHJpbmcoKXtyZXR1cm4oMCxoZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5wcm9TeW1ib2woKSwhMCwhMCkpfWdldFF1b3Rlc1N5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtza2lwTWV0cmljOiEwfSkpfWludmFsaWRhdGVCYXJTdHlsZXNDYWNoZShlKXtodC5sb2dEZWJ1ZygiSW52YWxpZGF0ZSBzdHlsZSBjYWNoZSBzdGFydGluZyBmcm9tICIrZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5iYXJzKCksZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5uc0JhcnMoKSl9aXNMb2FkaW5nKCl7cmV0dXJuIEkuc2VyaWVzTG9hZGluZ1N0YXR1c2VzLmhhcyh0aGlzLnN0YXR1c1dWKCkudmFsdWUoKSl9aXNGYWlsZWQoKXtjb25zdCBlPXRoaXMuc3RhdHVzKCk7cmV0dXJuIDEyPT09ZXx8ND09PWV8fDEwPT09ZXx8MTQ9PT1lfHwxMz09PWV9aXNTdGF0dXNFcnJvcigpe3JldHVybiAxMj09PXRoaXMuc3RhdHVzKCl9dW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUucmVhZG9ubHkoKX1hY3R1YWxTeW1ib2woKXtyZXR1cm4oMCxQLmFjdHVhbFN5bWJvbCkodGhpcy5zeW1ib2xJbmZvKCksdGhpcy5zeW1ib2woKSl9cHJvU3ltYm9sKCl7cmV0dXJuKDAsUC5wcm9TeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMuc3ltYm9sKCkpfW9uU3R5bGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXN0eWxlKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9c2V0U3R5bGUoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N0eWxlOmV9KX1pc1JhbmdlQmFzZWRTdHlsZSgpe3JldHVybigwLFAuaXNSYW5nZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSl9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4gdGhpcy5zeW1ib2woKT09PWV8fCgwLGRlLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiB0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5zeW1ib2xTYW1lQXNDdXJyZW50KGUpOnRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzLnZhbHVlKCl9c3RhdHVzV1YoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzfWNvbXBvc2l0ZVN0YXR1c1ZXKCl7cmV0dXJuIHRoaXMuX3N0YXR1c31zeW1ib2woKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sfXNlcmllc1NvdXJjZSgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2V9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8/dGhpcy5fc3ltYm9sSW5mbykudmFsdWUoKX1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mby5yZWFkb25seSgpfWxhc3RTcGxpdHMoKXtyZXR1cm4gdGhpcy5fbGFzdFNwbGl0c31vdmVycmlkZUxhc3RTcGxpdHMoZSl7dGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHMuc2V0VmFsdWUoZSl9c3ltYm9sUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKX1zeW1ib2xSZXNvbHZpbmdBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlfXN5bWJvbEhpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVld9Z2V0U3ltYm9sTmFtZSgpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKT8ubmFtZT8/IiJ9Zmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5maXJzdEJhcigpO3JldHVybiBudWxsPT09ZT9udWxsOnRoaXMuX2JhckZ1bmN0aW9uKGUsMCl9Zmlyc3RCYXIoKXtjb25zdCBlPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmZpcnN0QmFyKCkscz10aGlzLmRhdGEoKS5zZWFyY2godCxoLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG51bGwhPT1zP3MudmFsdWU6bnVsbH1mb3JtYXR0ZXIoZT0hMCl7cmV0dXJuIGU/dGhpcy5fZm9ybWF0dGVyOnRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXJ9ZGVmYXVsdEZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyfXByaWNlU3RlcChlPSEwKXtyZXR1cm4gZT90aGlzLl9wcmljZVN0ZXA6dGhpcy5faWdub3JlTWluTW92ZVByaWNlU3RlcH1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmJhcnMoKX1uc0JhcnMoKXtyZXR1cm4gdGhpcy5kYXRhKCkubnNCYXJzKCl9aW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKX1zZXRJbnRlcnZhbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6ZX0pfWludGVydmFsT2JqKCl7CnJldHVybiB0aGlzLl9pbnRlcnZhbE9iai5yZWFkb25seSgpfXByZXZDbG9zZSgpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCk7aWYoZS5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMucXVvdGVzKCkscz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsPT09dHx8bnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3QgaT10LnByZXZfY2xvc2VfcHJpY2U7cmV0dXJuIHZvaWQgMD09PWk/bnVsbDp7Y29vcmRpbmF0ZTplLnByaWNlVG9Db29yZGluYXRlKGkscyksZm9ybWF0dGVkUHJpY2VQZXJjZW50YWdlOmUuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGkscyx7c2lnblBvc2l0aXZlOiEwfSksZm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTplLmZvcm1hdFByaWNlQWJzb2x1dGUoaSksZm9ybWF0dGVkUHJpY2VJbmRleGVkVG8xMDA6ZS5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChpLHMpfX1wcmljZUxpbmVDb2xvcihlKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VMaW5lQ29sb3IudmFsdWUoKXx8ZX1oYXNDbG9zZVByaWNlKCl7cmV0dXJuIGR0fHwxMiE9PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9bGFzdFZhbHVlRGF0YShlLHQscyl7Y29uc3QgaT17bm9EYXRhOiEwfSxuPXRoaXMucHJpY2VTY2FsZSgpO2lmKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG4uaXNFbXB0eSgpfHx0aGlzLmRhdGEoKS5pc0VtcHR5KCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCk7aWYobnVsbD09PXJ8fG51bGw9PT1vKXJldHVybiBpO2xldCBhLGw7aWYodCl7Y29uc3QgZT10aGlzLmRhdGEoKS5iYXJzKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybiBpO2E9ZS52YWx1ZSxsPWUuaW5kZXh9ZWxzZXtjb25zdCBlPXRoaXMuZGF0YSgpLmJhcnMoKS5zZWFyY2goci5sYXN0QmFyKCksaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWUpcmV0dXJuIGk7YT1lLnZhbHVlLGw9ZS5pbmRleH1jb25zdCB1PSh2b2lkIDAhPT1lP2FbZV06dGhpcy5fYmFyRnVuY3Rpb24oYSwyKSk/P05hTixjPXRoaXMuYmFyQ29sb3JlcigpLmJhclN0eWxlKGwsITEpLGQ9bi5wcmljZVRvQ29vcmRpbmF0ZSh1LG8pLHA9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHUsbywhMCksbm9EYXRhOiExLGNvbG9yOmMuYmFyQ29sb3IsY29vcmRpbmF0ZTpkLGluZGV4Omx9O3JldHVybiBzJiYocC5wcmljZT11KSxwfWlzRFdNKCl7cmV0dXJuIHRoaXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzRFdNKCl9aXNQdWxzZSgpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT1lJiYoZS5yZXNvbHV0aW9ucz8/W10pLmxlbmd0aD4wfWRhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YT8/dGhpcy5fc2VyaWVzU291cmNlLmRhdGEoKX1jbGVhckRhdGEoKXsoMCxuLmFzc2VydCkobnVsbD09PXRoaXMuX2RhdGEsIkNhbm5vdCBjbGVhciBsb2FkZWQgZGF0YSIpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmNsZWFyRGF0YSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5jbGVhckRhdGEoKX1uZWFyZXN0RGF0YShlLHQpe3JldHVybiB0aGlzLmRhdGEoKS5zZWFyY2goZSx0KT8/dm9pZCAwfW5lYXJlc3RJbmRleChlLHQpe3JldHVybiB0aGlzLm5lYXJlc3REYXRhKGUsdCk/LmluZGV4fW5lYXJlc3RWYWx1ZShlLHQscyl7Y29uc3QgaT10aGlzLm5lYXJlc3REYXRhKGUscyk7cmV0dXJuIGk/LnZhbHVlW3RdPz92b2lkIDB9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkfW9uSW50ZXJ2YWxDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2ludGVydmFsQ2hhbmdlZH1vblN0YXR1c0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25TdGF0dXNDaGFuZ2VkfW9uUmVzdGFydGVkKCl7cmV0dXJuIHRoaXMuX29uUmVzdGFydGVkfWZpeExhc3RCYXIoZSl7aWYoIXRoaXMuX2Z1dHVyZUJhcnNQYW5lVmlldyl7Y29uc3QgdD10aGlzLmJhcnMoKS5sYXN0SW5kZXgoKTt0JiYodGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW5ldyBqLkZ1dHVyZUJhcnNQYW5lVmlldyh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCksdGhpcyx0LGUpKX19cmVxdWVzdE1vcmVEYXRhKGUpe2lmKCFJLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKHRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cykpcmV0dXJuO2lmKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLmJhcnMoKS5zaXplKCkpcmV0dXJuO2NvbnN0IHM9dC5sYXN0QmFyKCktKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmRhdGEoKS5sYXN0KCkpLmluZGV4O2lmKHRoaXMuX3ByZWRpY3RCYXJzPHMmJih0aGlzLl9wcmVkaWN0QmFycz1zLHRoaXMuX3Nlcmllc1NvdXJjZS5yZXF1ZXN0TW9yZVRpY2ttYXJrcyhzKSksIXRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSlyZXR1cm47Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSkscj1lfHxNYXRoLm1heChpLXQuZmlyc3RCYXIoKSxpLSh0aGlzLl9zdHVkeUJpbmRpbmdzPy5yZXF1ZXN0TW9yZURhdGFJbmRleCgpPz9pKSk7aWYocjw9MClyZXR1cm47aWYoIU51bWJlci5pc0Zpbml0ZShyKSlyZXR1cm4gdm9pZCBodC5sb2dXYXJuKCJyZXF1ZXN0TW9yZURhdGE6IGludmFsaWQgYmFyIGNvdW50OiAiK3IrIiwgdmlzaWJsZSBiYXJzOiBbIit0LmZpcnN0QmFyKCkrIiwgIit0Lmxhc3RCYXIoKSsiXSwgbGFzdCBpbmRleDogIisoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgrIiwgcHJlZGljdGVkIGJhcnM6ICIrdGhpcy5fcHJlZGljdEJhcnMrIiwgcmVxdWlyZWQgYmFyczoiK2UpO3RoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZT0hMQo7Y29uc3Qgbz10aGlzLl9jb2xvck9uUHJldkJhcigpPzI6MDt0aGlzLl9zZXJpZXNTb3VyY2UucmVxdWVzdE1vcmVEYXRhKHIrbyksdGhpcy5fc2V0U3RhdHVzKDIpfWlzTmVlZFJlc3RhcnQoZSl7cmV0dXJuIDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJih2b2lkIDA9PT1lJiYoZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKSwoMCxQLnN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0KSh0aGlzLl9wcmV2Q2hhcnRTdHlsZSxlKSl9aXNTdHlsZVN1cHBvcnRlZChlKXtyZXR1cm4hdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKXx8KDAsUC5pc1N0eWxlU3VwcG9ydGVkRm9yUmVwbGF5KShlKX1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnZhbHVlKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfXByaWNlUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlO2lmKHRoaXMuZGF0YSgpLmlzRW1wdHkoKXx8IXQpcmV0dXJuIG51bGw7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6cyxlbmRUaW1lUG9pbnQ6aX09ZTtpZih0LmlzTG9ja1NjYWxlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW8oKTtpZihudWxsIT09ZSl7Y29uc3Qgcz10LmludGVybmFsSGVpZ2h0KCkvKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkvZSkscj0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLnNlYXJjaChpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKS52YWx1ZSxvPSgoMCxuLmVuc3VyZSkoclsyXSkrKDAsbi5lbnN1cmUpKHJbM10pKS8yO3JldHVybiBuZXcgUy5QcmljZVJhbmdlKG8tLjUqcyxvKy41KnMpfX1jb25zdCByPXRoaXMucHJpY2VTb3VyY2UoKTtsZXQgbyxhLGw7aWYobnVsbCE9PXI/KG89dGhpcy5kYXRhKCkuYmFycygpLm1pbk1heE9uUmFuZ2VDYWNoZWQocyxpLFt7bmFtZTpyLG9mZnNldDowfV0pLGE9dGhpcy5kYXRhKCkubnNCYXJzKCkubWluTWF4T25SYW5nZUNhY2hlZChzLGksW3tuYW1lOnIsb2Zmc2V0OjB9XSkpOihvPXRoaXMuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHMsaSxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKSxhPXRoaXMuZGF0YSgpLm5zQmFycygpLm1pbk1heE9uUmFuZ2UocyxpLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pKSxvPSgwLGQubWVyZ2VNaW5NYXgpKG8sYSksbnVsbD09PW8pbD1uZXcgUy5QcmljZVJhbmdlKC0uNSwuNSk7ZWxzZSBpZihvLm1pbj09PW8ubWF4KXtjb25zdCBlPTUvKHRoaXMuc3ltYm9sSW5mbygpPy5wcmljZXNjYWxlPz8xMDApO2w9bmV3IFMuUHJpY2VSYW5nZShvLm1pbi1lLG8ubWF4K2UpfWVsc2UgbD1uZXcgUy5QcmljZVJhbmdlKG8ubWluLG8ubWF4KTtyZXR1cm4gdC5pc0xvZygpP25ldyBTLlByaWNlUmFuZ2UodC5wcmljZVRvTG9naWNhbChsLm1pblZhbHVlKCkpLHQucHJpY2VUb0xvZ2ljYWwobC5tYXhWYWx1ZSgpKSk6bH1hdXRvU2NhbGVJbmZvKGUpe2xldCB0PXtyYW5nZTp0aGlzLnByaWNlUmFuZ2Uoey4uLmUsc2NhbGVTZXJpZXNPbmx5OiEwfSksdG9wUGl4ZWxNYXJnaW46dGhpcy5fcGFuZVZpZXc/LnRvcFBpeGVsTWFyZ2luPy4oKSxib3R0b21QaXhlbE1hcmdpbjp0aGlzLl9wYW5lVmlldz8uYm90dG9tUGl4ZWxNYXJnaW4/LigpfTtpZighZS5zY2FsZVNlcmllc09ubHkpe2NvbnN0IHM9dGhpcy5fbW9kZWwuYWxsU3R1ZGllcygpLmZpbHRlcigoZT0+ZS5pc1Zpc2libGUoKSkpLGk9KGUsdCk9PnZvaWQgMD09PWU/dDp2b2lkIDA9PT10P2U6TWF0aC5tYXgoZSx0KSxuPXMubWFwKCh0PT50LmF1dG9TY2FsZUluZm8oey4uLmUsZm9yY2VPdmVybGF5T25seTohMH0pKSk7dGhpcy5fc3R1ZHlCaW5kaW5ncyYmbi5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3MuYXV0b1NjYWxlSW5mb3MoZSkpO2NvbnN0IHI9KGUsdCk9Pih7cmFuZ2U6ZS5yYW5nZT90LnJhbmdlP2UucmFuZ2UubWVyZ2UodC5yYW5nZSk6ZS5yYW5nZTp0LnJhbmdlLHRvcFBpeGVsTWFyZ2luOmkoZS50b3BQaXhlbE1hcmdpbix0LnRvcFBpeGVsTWFyZ2luKSxib3R0b21QaXhlbE1hcmdpbjppKGUuYm90dG9tUGl4ZWxNYXJnaW4sdC5ib3R0b21QaXhlbE1hcmdpbil9KTt0PW4ucmVkdWNlKHIsdCl9cmV0dXJuIHR9b25DaGFydFN0eWxlQ2hhbmdlZCgpe2lmKHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5pc05lZWRSZXN0YXJ0KCkpe3RoaXMuZGF0YSgpLmNsZWFyKCk7Y29uc3QgZT0oMCxQLmlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXkpKHRoaXMuc3R5bGUoKSk7dGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSYmIWUmJnRoaXMuX3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKSx0aGlzLl9zYXZlTGVmdEVkZ2VJZlJlcXVpcmVkKCExKXx8dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoITEpLHRoaXMucmVzdGFydChlKX1jb25zdCBlPXRoaXMucHJvcGVydGllcygpO3RoaXMuX3ByZXZDaGFydFN0eWxlIT09ZS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpJiZ0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCksdGhpcy5fb25TdHlsZUNoYW5nZWQuZmlyZShlLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKSx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9c2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKGUsdCl7Y29uc3Qgcz10aGlzLmludGVydmFsKCksaT10Pz8oMCwKdmUuZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZSkoZSxzLHRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpKSxuPWMuSW50ZXJ2YWwuaXNFcXVhbChpLHMpO3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDpuP3ZvaWQgMDppLHN0eWxlOmV9KX1nZXRJbnB1dHNQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiBlPy5jaGlsZHMoKS5pbnB1dHM/P25ldyB3LlByb3BlcnR5fWdldElucHV0c0luZm9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zdHVkeUJpbmRpbmdzPy5nZXRJbnB1dHNJbmZvUHJvcGVydGllcygpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiB0Py5jaGlsZHMoKS5pbnB1dEluZm8/P25ldyB3LlByb3BlcnR5fWdldFNvdXJjZUljb24oKXtyZXR1cm57dHlwZToibG9hZFN2ZyIsc3ZnSWQ6YHNlcmllcy4ke3RoaXMuc3R5bGUoKX1gfX1vblNvdXJjZUljb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXB1cmdlU3ltYm9sSW5mbygpe3RoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fcXVvdGVzTGFzdFNwbGl0cy5zZXRWYWx1ZShudWxsKX1pZEZvckFsZXJ0KCl7cmV0dXJuKDAsVS5nZXRTZXJpZXNJZEZvckFsZXJ0KSh0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksdGhpcy5pbnRlcnZhbCgpKX1oYXNTdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gc3VwZXIuaGFzU3RhdGVGb3JBbGVydCgpJiYhKDAsUC5pc0Vjb25vbWljU3ltYm9sKShlKSYmISgwLFAuaXNNZXRyaWNBY3RpdmUpKGUpfXN0YXRlRm9yQWxlcnQoKXtjb25zdCBlPXRoaXMuaWRGb3JBbGVydCgpLHQ9ei5Gb3JtYXR0ZXJzU2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fZm9ybWF0dGVyKTtsZXQgcztjb25zdCBpPXRoaXMuaXNEV00oKT9DLlN1YnNlc3Npb25JZC5SZWd1bGFyOnRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkscj10aGlzLnN5bWJvbEluZm8oKTtpZihyJiZyLnN1YnNlc3Npb25zJiZyLnN1YnNlc3Npb25zLmxlbmd0aD4xKXtjb25zdCBlPXIuc3Vic2Vzc2lvbnM/LmZpbmQoKGU9PmUuaWQ9PT1pKSk7ZSYmKHM9KDAsSC50cmFuc2xhdGVTZXNzaW9uRXh0ZW5kZWREZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyLnR5cGUpKX1jb25zdCBvPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3JldHVybntpZDplLHR5cGU6Ik1haW5TZXJpZXMiLGFjdHVhbFN5bWJvbDp0aGlzLmFjdHVhbFN5bWJvbCgpLHN5bWJvbFN0cmluZzp0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6dGhpcy5pbnRlcnZhbCgpLHN0eWxlOm8uc3R5bGUudmFsdWUoKSxzdHlsZUlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpLHNlc3Npb25JZDppLHNlc3Npb25EZXNjcmlwdGlvbjpzLGRpdmlkZW5kc0FkanVzdG1lbnQ6KDAsbi5lbnN1cmVEZWZpbmVkKShvLmRpdmlkZW5kc0FkanVzdG1lbnQpLnZhbHVlKCksYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50LGlzU3ByZWFkOnRoaXMuaXNTcHJlYWQoKSxmb3JtYXR0ZXI6dH19YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuc3RhdGVGb3JBbGVydCgpfXN0eWxlU3R1ZHlJbmZvcygpe2xldCBlPXtoYVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCkpfSxyZW5rb1N0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNCwhMCkpfSxwYlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNywhMCkpfSxrYWdpU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwKSl9LHBuZlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNiwhMCkpfSxyYW5nZVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTEsITApKX19O3JldHVybiBlPXsuLi5lLHZvbEZvb3RwcmludFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTcsITApKX0sdHBvU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSgxOCwhMCx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnRwb1N0eWxlLmNoaWxkcygpLmlucHV0cy5zdGF0ZSgpKSl9LHN2cFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITApKX19LGV9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpfWlzU3ByZWFkKCl7cmV0dXJuInNwcmVhZCI9PT10aGlzLnN5bWJvbEluZm8oKT8udHlwZX1pc1lpZWxkKCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PWUmJigwLHFlLmlzWWllbGQpKGUpfWRpdmlkZW5kc0FkanVzdG1lbnRQcm9wZXJ0eSgpe3JldHVybigwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KX1zZXNzaW9uSWRQcm94eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25JZFByb3h5UHJvcGVydHl9c3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHl9c2V0VGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkKGUpe3RoaXMuX3RleHRTb3VyY2VJc0Fsd2F5c1RpY2tlclJlc3RyaWN0aW9uRW5hYmxlZD1lLAp0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSgpfWlzRFdNUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNEV01Qcm9wZXJ0eX1pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eX1pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzT3Zlcm5pZ2h0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHl9aXNTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eX1pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNCYWNrQWRqdXN0bWVudEZvcmJpZGRlblByb3BlcnR5fWdldFN0eWxlU2hvcnROYW1lKCl7Y29uc3QgZT10aGlzLnN0eWxlKCksdD1JLlNUWUxFX1NIT1JUX05BTUVTW2VdO3JldHVybigwLG4uYXNzZXJ0KSghIXQsYE1pc3NlZCBzaG9ydCBuYW1lIGZvciBzdHlsZSAke2V9YCksdH1pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlKCl7dGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKX1wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5KCl7cmV0dXJuIHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXl9b25UaW1lRnJhbWVBcHBsaWVkKCl7cmV0dXJuIHRoaXMuX29uVGltZUZyYW1lQXBwbGllZH1vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWR9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9vblJlcGxheVN1YnNjcmliZXJTZXJpZXNNb2RpZmllZH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8/dGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIGF0P3RoaXMuX3N0YXR1c1ZpZXc6bnVsbH1sZWdlbmRWaWV3KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFZpZXd9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9aXNNYWluU2VyaWVzKCl7cmV0dXJuITB9ZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWRNb2RlTW9kZWx9ZGF0YVByb2JsZW1Nb2RlbCgpe3JldHVybiB0aGlzLl9kYXRhUHJvYmxlbU1vZGVsfXNldERlZmF1bHRUaW1lZnJhbWUoZSl7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1lfWxvYWREYXRhVG8oZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUoZSksdGhpcy5fc2VyaWVzU291cmNlLm1vZGlmeVNlcmllcyh0aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSwoMCxwLmdldFNlcnZlckludGVydmFsKSh0KSxlKX1pc0luUmVwbGF5KCl7cmV0dXJuIHRoaXMuX2lzSW5SZXBsYXl9cXVvdGVzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmlzRW1wdHkoKT9udWxsOnRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9YmFzZSgpe3JldHVybiB0aGlzLl9iYXNlfXBvaW50VmFsdWUoKXtyZXR1cm4gdGhpcy5fcG9pbnRWYWx1ZX1iYXJDbG9zZVRpbWUoKXtyZXR1cm4gdGhpcy5fbGFzdEJhckNsb3NlVGltZX1wcmljZVNvdXJjZSgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3N3aXRjaCh0LnN0eWxlLnZhbHVlKCkpe2Nhc2UgMjplPXQubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7YnJlYWs7Y2FzZSAxODplPXQudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDE0OmU9dC5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTU6ZT10LnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDM6ZT10LmFyZWFTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTA6ZT10LmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDEzOmU9dC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpfXJldHVybiBlfWxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpe2xldCB0O3N3aXRjaCh0aGlzLnN0eWxlKCkpe2Nhc2UgMjp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVTdHlsZS5jaGlsZHMoKTticmVhaztjYXNlIDE0OnQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCk7YnJlYWs7Y2FzZSAxNTp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCk7YnJlYWs7ZGVmYXVsdDp0PW51bGx9cmV0dXJuIHQ/dC5jb2xvclR5cGU/LnZhbHVlKCk9PT1aZS5Db2xvclR5cGUuU29saWQ/dC5jb2xvci52YWx1ZSgpOnRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoKDAsbi5lbnN1cmVEZWZpbmVkKSh0LmdyYWRpZW50U3RhcnRDb2xvcikudmFsdWUoKSwoMCxuLmVuc3VyZURlZmluZWQpKHQuZ3JhZGllbnRFbmRDb2xvcikudmFsdWUoKSxlKTpudWxsfXVwZGF0ZUFsbFZpZXdzKGUpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmdldCgpPy51cGRhdGUoZSksImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9wYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2xlZ2VuZFZpZXcudXBkYXRlKCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy51cGRhdGUoZSksdGhpcy5fYXZlcmFnZVBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX3dhdGVybGluZVZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJpY2VMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2dvdG9EYXRlVmlldz8udXBkYXRlKGUpLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT8udXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZShlKSl9c3R5bGVTdHVkeUluZm8oZSl7cmV0dXJuIHRoaXMuc3R5bGVTdHVkeUluZm9zKClbZV19YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cHJlY29tcHV0ZWRCYXJTdHlsZShlKXtyZXR1cm4gdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZ2V0KGUpfXNldFByZWNvbXB1dGVkQmFyU3R5bGUoZSx0KXt0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5zZXQoZSx0KX1zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxkZS5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsZGUuY29tcGFyZVN5bWJvbFBhcmFtcykodGhpcyxlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpfXNldFN5bWJvbFBhcmFtcyhlKXtjb25zdHtzeW1ib2w6dCxjdXJyZW5jeTpzLHVuaXQ6aSxtZXRyaWM6cixzdHlsZTpvLGludGVydmFsOmEsc2Vzc2lvbjpsfT1lLHtzeW1ib2xDaGFuZ2VkOnUsaW50ZXJ2YWxDaGFuZ2VkOmMsY3VycmVuY3lDaGFuZ2VkOmQsdW5pdENoYW5nZWQ6aCxtZXRyaWNDaGFuZ2VkOnAsc3R5bGVDaGFuZ2VkOm0sc2Vzc2lvbkNoYW5nZWQ6X309dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKGUpLGc9W2d0KCJzeW1ib2wiLHQsdSksZ3QoImludGVydmFsIixhLGMpLGd0KCJjdXJyZW5jeSIscyxkKSxndCgidW5pdCIsaSxoKSxndCgibWV0cmljIixyLHApLGd0KCJzdHlsZSIsbyxtKSxndCgic2Vzc2lvbiIsbCxfKV0uZmlsdGVyKChlPT5udWxsIT09ZSkpLmpvaW4oIjsgIik7aHQubG9nSW5mbyhgQXBwbHlpbmcgc2VyaWVzIHN5bWJvbCBwYXJhbXM6ICR7Z31gKTtjb25zdCB5PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3ZvaWQgMCE9PXQmJnkuc3ltYm9sLnNldFZhbHVlKHQpLHZvaWQgMCE9PXMmJnkuY3VycmVuY3lJZC5zZXRWYWx1ZShzKSx2b2lkIDAhPT1pJiZ5LnVuaXRJZC5zZXRWYWx1ZShpKSx2b2lkIDAhPT1yJiZwJiYoeS5tZXRyaWNJZC5zZXRWYWx1ZShyKSxudWxsIT09ciYmKDAsUC5zZXRMYXN0VXNlZE1ldHJpYykocikpLGMmJnkuaW50ZXJ2YWwuc2V0VmFsdWUoKDAsbi5lbnN1cmVEZWZpbmVkKShhKSksdm9pZCAwIT09byYmbSYmeS5zdHlsZS5zZXRWYWx1ZShvKTtsZXQgZj0hMTt2b2lkIDAhPT1sJiZfJiYoeS5zZXNzaW9uSWQuc2V0VmFsdWUobCksZj0hdGhpcy5pc0RXTSgpKSxtJiYoZnx8PXRoaXMuaXNOZWVkUmVzdGFydCgpLHRoaXMub25DaGFydFN0eWxlQ2hhbmdlZCgpKTtsZXQgdj1Qcm9taXNlLnJlc29sdmUoKTtyZXR1cm4hZiYmKHV8fGN8fGR8fGh8fHApJiYodj10aGlzLl9hcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoe3N5bWJvbENoYW5nZWQ6dSxjdXJyZW5jeUNoYW5nZWQ6ZCx1bml0Q2hhbmdlZDpoLG1ldHJpY0NoYW5nZWQ6cCxpbnRlcnZhbENoYW5nZWQ6YyxzdHlsZUNoYW5nZWQ6bX0pKSwodXx8ZHx8aHx8cCkmJnRoaXMubW9kZWwoKS5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSx2fXNldFN5bWJvbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOmV9KX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCl8fG51bGx9c2V0Q3VycmVuY3koZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe2N1cnJlbmN5OmV9KX1jdXJyZW5jeU9yaWdpblNvdXJjZSgpe3JldHVybiB0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZS5yZWFkb25seSgpfXNldE1ldHJpYyhlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7bWV0cmljOmV9KX11bml0KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpfHxudWxsfXNldFVuaXQoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3VuaXQ6ZX0pfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZS5yZWFkb25seSgpfW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxQLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9c3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9c3ltYm9sU291cmNlV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlV1YucmVhZG9ubHkoKX1iYXJzUHJvdmlkZXIoKXtyZXR1cm4gdGhpc310aXRsZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUaXRsZShlKX1uYW1lKCl7CnJldHVybiB0aGlzLnN5bWJvbFRpdGxlKFllLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1zeW1ib2xUaXRsZShlLHQscyl7bGV0IGk9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7Y29uc3Qgbj10aGlzLmFsaWFzU3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiYoaT0oMCxQLnN5bWJvbFRpdGxlKShuLHQpKSxzKXJldHVybiBpO2xldCByPSgwLHBlLnRyYW5zbGF0ZWRJbnRlcnZhbFN0cmluZykodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKSk7cmV0dXJuIGU9PT1ZZS5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyYmKHI9KDAsc3QuZm9yY2VSVExTdHIpKHIpKSxgJHtpfSwgJHtyfWB9c2V0T2Jzb2xldGVaT3JkZXIoZSl7dGhpcy5fb2Jzb2xldGVaT3JkZXI9ZX1vYnNvbGV0ZVpPcmRlcigpe3JldHVybiB0aGlzLl9vYnNvbGV0ZVpPcmRlcn12YWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl92YWx1ZXNQcm92aWRlcn1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpPz90aGlzLl9sZWdlbmRWYWx1ZXNQcm92aWRlcn10YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy50YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpPz90aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcn1kYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uZGF0YVdpbmRvd1ZhbHVlc1Byb3ZpZGVyKCk/P3RoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX3N0dWR5QmluZGluZ3M/LmFjdGl2ZVN0dWR5KCk/LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKT8/dGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1zdGF0dXNQcm92aWRlcihlKXtyZXR1cm4gbmV3IGNlLlNlcmllc1N0YXR1c1Byb3ZpZGVyKHRoaXMsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLGUpfW1vdmVJdGVtKGUsdCxzKXtpZigxMD09PXRoaXMuc3R5bGUoKSYmMD09PXQpe2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCkscz10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLGk9dC5oZWlnaHQoKSxuPTEwMC1lLnkvaSoxMDAscj1uPDA/MDpNYXRoLnJvdW5kKDEwKm4pLzEwO3MuY2hpbGRzKCkuYmFzZUxldmVsUGVyY2VudGFnZS5zZXRWYWx1ZShNYXRoLm1heChNYXRoLm1pbihyLDEwMCksMCkpfX1yZXJlcXVlc3REYXRhKCl7dGhpcy5fYXBwbHlTeW1ib2xQYXJhbXNDaGFuZ2VzKHtmb3JjZTohMH0pfXN3aXRjaFRvUmVwbGF5KGUsdCxzKXt0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnNldFZhbHVlKGUpLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9dCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkLmZpcmUoKSxlLm9uU2VyaWVzTW9kaWZpZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkLmZpcmUoKSkpLGUubW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLHMpLHRoaXMucmVyZXF1ZXN0RGF0YSgpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiYodGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMucmVyZXF1ZXN0RGF0YSgpKX1hc3luYyBjYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3tpZighdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSlyZXR1cm4hMDtjb25zdCB0PSJjaGFuZ2VSZXNvbHV0aW9uIjtpZighKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShlKSlyZXR1cm4gdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDMsdCksITE7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSksaT1hd2FpdCBzLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyh0aGlzLmdldFN5bWJvbFN0cmluZygpLGUpO3JldHVybiBpLnJlc3x8dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpIT09c3x8dGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsdCksaS5yZXN9fWFzeW5jIGNhbkNoYW5nZVN5bWJvbChlKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJue3Jlc3VsdDohMH07Y29uc3QgdD10aGlzLl9nZXRFeHRlbmRlZFN5bWJvbE9iamVjdCh7b3ZlcnJpZGRlblN5bWJvbDplfSk7ZGVsZXRlIHRbImN1cnJlbmN5LWlkIl0sZGVsZXRlIHRbInVuaXQtaWQiXTtjb25zdCBzPSgwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHQpLGk9ImNoYW5nZVN5bWJvbCI7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkucmVzb2x2ZVN5bWJvbCgoMCxCLm1ha2VOZXh0U3ltYm9sSWQpKCkscywobz0+e2lmKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSE9PXImJnQobmV3IEVycm9yKCJSZXBsYXkgc3Vic2NyaWJlciBjaGFuZ2VkIikpLCJzeW1ib2xfZXJyb3IiPT09by5tZXRob2QpdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDAsaSksZSh7cmVzdWx0OiExLHJlYXNvbjowfSk7ZWxzZSBpZihvLnBhcmFtc1sxXS5pc19yZXBsYXlhYmxlKXtjb25zdCBvPXRoaXMuaW50ZXJ2YWwoKTsoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShvKT9yLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyhzLG8pLnRoZW4oKHM9Pih0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkhPT1yJiZ0KG5ldyBFcnJvcigiUmVwbGF5IHN1YnNjcmliZXIgY2hhbmdlZCIpKSxzLnJlcz9lKHtyZXN1bHQ6ITB9KToodGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsaSksZSh7cmVzdWx0OiExLHJlYXNvbjoyfSkpKSkpOih0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMyxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjN9KSl9ZWxzZSB0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMSxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjF9KX0pKX0pKX19cmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZX1zZXJpZXNMb2FkZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzTG9hZGVkfWVuZE9mRGF0YSgpe3JldHVybiB2b2lkIDAhPT10aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWR9ZW5kT2ZEYXRhVHlwZSgpe3JldHVybiB0aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWQ/P251bGx9ZGF0YVBvd2VyZWRCeSgpe3JldHVybiB0aGlzLl9kYXRhUG93ZXJlZEJ5fWJveFNpemVWYWx1ZSgpe3JldHVybiB0aGlzLl9ib3hTaXplVmFsdWV9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2hhbmdlVGltZUZyYW1lKCl7KDAsbS50cmFja0V2ZW50KSgiR1VJIiwiQ2hhbmdlIHRpbWVmcmFtZSIpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9c3RhdGUoZSl7Y29uc3QgdD10aGlzLm9ic29sZXRlWk9yZGVyKCk7bGV0IHM9e3R5cGU6Ik1haW5TZXJpZXMiLGlkOnRoaXMuaWQoKSx6b3JkZXI6dCwuLi50aGlzLnN0eWxlU3R1ZHlJbmZvcygpLGZvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLHN0dWR5QmluZGluZ3M6dGhpcy5fc3R1ZHlCaW5kaW5ncz8uc3RhdGUoISFlKX07Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSh2b2lkIDAsMik7aWYoaS5zeW1ib2w9KDAsUC5zeW1ib2xUb1NhdmVJblN0YXRlKSh0aGlzLnN5bWJvbEluZm8oKT8/dGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5sYXN0U3ltYm9sUmVzb2x2ZUluZm8oaS5zeW1ib2wpLGkuc3ltYm9sKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKXx8KGkudW5pdElkPW51bGwpLHMuc3RhdGU9aSxlKXtsZXQgZT10aGlzLmJhcnMoKTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApO251bGwhPT10JiYoZT1lLnJhbmdlKHQuZmlyc3RCYXIoKSx0Lmxhc3RCYXIoKSkpLHM9ey4uLnMsYmFyczp5dChlKSxuc0JhcnM6eXQodGhpcy5uc0JhcnMoKSksc3ltYm9sSW5mbzp0aGlzLnN5bWJvbEluZm8oKSxydFByaWNlOnRoaXMuZGF0YSgpLmxhc3RQcm9qZWN0aW9uUHJpY2UsYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50fX1yZXR1cm4gc31yZXN0b3JlU3RhdGUoZSx0LHMpe3QmJnRoaXMuX3NldFN0YXR1cyg1KSwhdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmUuc3RhdGUmJmRlbGV0ZSBlLnN0YXRlLnVuaXRJZCxlLnN0YXRlJiZjLkludGVydmFsLmlzUmFuZ2UoZS5zdGF0ZS5pbnRlcnZhbCkmJihlLnN0YXRlLnN0eWxlPTExKTtjb25zdCBpPWUuc3RhdGU7aWYodm9pZCAwIT09aSl7Y29uc3QgZT1pLnN0eWxlLHQ9Sy5jaGFydFN0eWxlUGVybWlzc2lvbnMuZ2V0KGUpO3QmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJihpLnN0eWxlPTIsKDAscS5ydW5PckdvUHJvV2l0aG91dFN5bmMpKCgoKT0+e2kuc3R5bGU9ZX0pLHQuZmVhdHVyZSx7ZmVhdHVyZTp0LmZlYXR1cmVOYW1lfSkpfWlmKHRoaXMuX3Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuc3RhdGUpLG51bGwhPT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm1ldHJpY0lkLnZhbHVlKCl8fHN8fHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubWV0cmljSWQuc2V0VmFsdWUoInByaWNlIiksdGhpcy5fcHJldkNoYXJ0U3R5bGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSx0aGlzLmNyZWF0ZVBhbmVWaWV3KCksdCl7Y29uc3QgdD1lO3RoaXMucmVzdG9yZURhdGEodC5iYXJzLHQubnNCYXJzLHQuc3ltYm9sSW5mbyx0LnJ0UHJpY2UsdC5ib3hTaXplLHQucmV2ZXJzYWxBbW91bnQpfWUuZm9ybWF0dGluZ0RlcHMmJih0aGlzLl9mb3JtYXR0aW5nRGVwcz1lLmZvcm1hdHRpbmdEZXBzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RvcmVTdGF0ZShlLnN0dWR5QmluZGluZ3M/P3t9LHQpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnN5bmNTdHVkeSh0aGlzLnN0eWxlKCkpfXJlc3RvcmVEYXRhKGUsdCxzLGksbixyKXt0aGlzLl91cGRhdGVTdGF0dXMoe3Nlcmllc1N0YXR1czo1fSksdGhpcy5fZGF0YT1uZXcgYi5TZXJpZXNEYXRhLHRoaXMuX2RhdGEuYmFycygpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9kYXRhLm5zQmFycygpLnJlc3RvcmVTdGF0ZSh0KSx0aGlzLl91cGRhdGVTeW1ib2xJbmZvKHMpLHRoaXMuX2RhdGEubGFzdFByb2plY3Rpb25QcmljZT1pLHRoaXMuX2RhdGEuYm94U2l6ZT1uO2NvbnN0IG89dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7bnx8KDY9PT1vLnN0eWxlLnZhbHVlKCk/dGhpcy5fZGF0YS5ib3hTaXplPW8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLmJveFNpemUudmFsdWUoKTo0PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5ib3hTaXplPW8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuYm94U2l6ZS52YWx1ZSgpKSksdGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1yLApyfHw1PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1vLmthZ2lTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucmV2ZXJzYWxBbW91bnQudmFsdWUoKSl9YXN5bmMgc2V0R290b0RhdGVSZXN1bHQoZSx0KXt0aGlzLl9nb3RvRGF0ZVJlc3VsdENsZWFyZWQ9ITE7Y29uc3QgaT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU1MzgpLHMuZSg4ODM1OCldKS50aGVuKHMuYmluZChzLDcwOTA2NykpO3RoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZHx8KHRoaXMuX2dvdG9EYXRlVmlldz1uZXcgaS5Hb3RvRGF0ZVZpZXcodGhpcyxlLHQpLHRoaXMuX2dvdG9EYXRlVmlldy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9Y2xlYXJHb3RvRGF0ZVJlc3VsdCgpe3RoaXMuX2dvdG9EYXRlVmlldz1udWxsLHRoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZD0hMH1kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKGUpe3RoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ZSx0aGlzLl9nb3RvRGF0ZVZpZXc/LmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIoZSl9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKX1tb3ZlRGF0YShlKXtjb25zdCB0PXRoaXMuX3Nlcmllc1NvdXJjZS5tb3ZlRGF0YShlKTtudWxsIT09dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzJiZ0aGlzLl92b2x1bWVQb2ludFdlaWdodHMubW92ZURhdGEoZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8ubW92ZURhdGEoZSksdC50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkfHx0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fHRoaXMuX29uSW5kZXhEaWZmc0FwcGxpZWQoZSl9KSl9YXN5bmMgc2VyaWVzQ3JlYXRlZCgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucHJvbWlzZS50aGVuKCgoKT0+e30pKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/UHJvbWlzZS5yZXNvbHZlKG51bGwpOm5ldyBQcm9taXNlKChlPT57dGhpcy5kYXRhRXZlbnRzKCkuY3JlYXRlZCgpLnN1YnNjcmliZSh0aGlzLGUsITApfSkpXSk7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoIlNlcmllcyBoYXMgYmVlbiBkZXN0cm95ZWQiKTtyZXR1cm4gdH1hY3RpdmVTdHVkeUJpbmRpbmcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIlNlcmllc0NvbnRleHRNZW51In1fdXBkYXRlQmFyRnVuY3Rpb24oKXt0aGlzLl9iYXJGdW5jdGlvbj0oMCxIZS5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV91cGRhdGVTZXNzaW9uSWRQcm94eVByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSWQudmFsdWUoKTtsZXQgcz10O2lmKGUpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihzPWUuc3Vic2Vzc2lvbl9pZHx8dCl9dGhpcy5faWdub3JlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZXM9ITAsdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eS5zZXRWYWx1ZShzKSx0aGlzLl9pZ25vcmVTZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlcz0hMX1fb25TZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzfHx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnZhbHVlKCkpLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbFJlc29sdmVkKGUpe3RoaXMuX3Nlcmllc0Vycm9yTWVzc2FnZT1udWxsLHRoaXMuX3VwZGF0ZVN5bWJvbEluZm8oZSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCgoMCxtLnRyYWNrRXZlbnQpKCJTeW1ib2wiLGUubGlzdGVkX2V4Y2hhbmdlLGUubmFtZSksKDAsbS50cmFja0V2ZW50KSgiU3ltYm9sIFR5cGUiLGUudHlwZSxlLmxpc3RlZF9leGNoYW5nZSkpO2NvbnN0IHQ9ZS5taW5tb3YvZS5wcmljZXNjYWxlLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ND09PXMuc3R5bGUudmFsdWUoKSYmcy5yZW5rb1N0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtib3hTaXplOnR9KTo2PT09cy5zdHlsZS52YWx1ZSgpJiZzLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5tZXJnZSh7Ym94U2l6ZTp0fSk6NT09PXMuc3R5bGUudmFsdWUoKSYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnJldmVyc2FsQW1vdW50LnZhbHVlKCk8dCYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtyZXZlcnNhbEFtb3VudDp0fSksdGhpcy5fY2hlY2tDaGFydFN0eWxlKCksdGhpcy5fZm9ybWF0dGluZ0RlcHM9e2Zvcm1hdDplLmZvcm1hdCxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSxtaW5tb3Y6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWlubW92ZTI6ZS5taW5tb3ZlMix2YXJpYWJsZV90aWNrX3NpemU6ZS52YXJpYWJsZV90aWNrX3NpemV9LHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbEVycm9yKGUpe3RoaXMuX3NldFN0YXR1cyg0KSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3J0TmFtZS5zZXRWYWx1ZSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpKSx0aGlzLl9tb2RlbC5jbGVhckFsbFN0dWRpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLApmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKCJzeW1ib2xfZXJyb3IiLHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKGUsITEpKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9zZW5kVGVsZW1ldHJ5Q291bnRlcihlLHQpe3ZvaWQgMD09PXQmJih0PXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkpO2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7Y291bnQ6MX0se2FkZGl0aW9uYWw6dH0pO1cudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YShlLHQpe3Q9dm9pZCAwPT09dHx8dDtjb25zdCBzPXtzeW1ib2w6dGhpcy5hY3R1YWxTeW1ib2woKX07cmV0dXJuIHQmJihzLnJlc29sdXRpb249dGhpcy5pbnRlcnZhbCgpKSx2b2lkIDAhPT1lJiYocy5yZWFzb249ZSksc31fb25TZXJpZXNUaW1lRnJhbWUoZSx0LHMsaSxuKXtjb25zdCByPSgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSk/ZSsuNTplO2xldCBvPXQ7aWYodm9pZCAwPT09biludWxsIT09cyYmInBlcmlvZC1iYWNrIiE9PXMudHlwZXx8KG8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKSk7ZWxzZSBpZihuLmFwcGx5RGVmYXVsdFJpZ2h0TWFyZ2luKW8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKTtlbHNlIGlmKG4ucGVyY2VudFJpZ2h0TWFyZ2luKXtjb25zdCBlPXQtcisxLHM9TWF0aC5tYXgoMCxNYXRoLm1pbiguOTksbi5wZXJjZW50UmlnaHRNYXJnaW4vMTAwKSk7bys9cyplLygxLXMpfXRoaXMuX21vZGVsLnNldFRpbWVWaWV3cG9ydChyLG8pfV9vblNlcmllc0Vycm9yKGUpe2xldCB0PWUuZXJyb3I7Y29uc3Qgcz1lLmN0eDtpZihzKXtjb25zdCBlPXt9O09iamVjdC5rZXlzKHMpLmZvckVhY2goKHQ9PntlW3RdPXNbdF0udG9TdHJpbmcoKX0pKSx0PXQuZm9ybWF0KGUpfWN0JiZodC5sb2dOb3JtYWwoIkVycm9yIHJlYXNvbjogIit0KSx0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9dDtjb25zdCBpPSgwLE5lLmRldGVybWluZVNlcmllc0Vycm9yU3RhdHVzKSh7aGFzRGV0YWlsZWRFcnJvck1hcHBpbmc6ITAsZXJyb3JNZXNzYWdlOnQsbm9CYXJzU3RhdHVzQXZhaWxhYmxlOnV0LGhhc1N5bWJvbEluZm86ISF0aGlzLnN5bWJvbEluZm8oKX0pO3RoaXMuX3NldFN0YXR1cyhpKSx0aGlzLl9zZXJpZXNMb2FkZWQ9ITAsdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIoInNlcmllc19lcnJvciIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEodCkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblNlcmllc0xvYWRpbmcoZSl7dGhpcy5fc2V0U3RhdHVzKDIpfV9vbkRhdGFVcGRhdGVkKGUsdCxzLGkscil7dCYmciYmdGhpcy5fY29sb3JPblByZXZCYXIoKSYmdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHIudmFsdWUpO2NvbnN0IG89dGhpcy5zeW1ib2xJbmZvKCk7aWYoaSYmbyl7bGV0IGU9MCx0PTA7aWYoKDAsUC5oYXNWb2x1bWUpKG8pKWZvcihjb25zdCBzIG9mIHRoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCkpe2NvbnN0IGk9cy52YWx1ZVs1XTswIT09aSYmKGUrPWksdCs9MSl9dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPXQ+MD9uZXcgZWUuVm9sdW1lQmFzZWRUaW1lUG9pbnRXZWlnaHRzKGUvdCk6bnVsbCx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9aWYobnVsbCE9PXRoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0cyl7Y29uc3QgZT10P3RoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCk6cz90aGlzLmJhcnMoKS5yYW5nZUl0ZXJhdG9yKHMuaW5kZXgsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmJhcnMoKS5sYXN0SW5kZXgoKSkpOm51bGw7aWYobnVsbCE9PWUpZm9yKGNvbnN0IHQgb2YgZSl0aGlzLl92b2x1bWVQb2ludFdlaWdodHMuc2V0Vm9sdW1lKHQuaW5kZXgsdC52YWx1ZVs1XSl9dD90aGlzLl9yZXF1ZXN0TW9yZURhdGFBdmFpbGFibGU9ITA6dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLl9zZXJpZXNMb2FkZWQmJnRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbGFzdEJhckNsb3NlVGltZT1lJiZlLmNsb3NlVGltZXx8bnVsbCx0aGlzLl9ib3hTaXplVmFsdWUuc2V0VmFsdWUodGhpcy5kYXRhKCkuYm94U2l6ZSksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKTtjb25zdCBhPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSxsPXRoaXMuYmFycygpLmxhc3RJbmRleCgpO251bGwhPT1hJiZudWxsIT09bD90aGlzLl9kYXRhUmFuZ2VVcGRhdGVkLmZpcmUoe3R5cGU6InBhcnRpYWwiLHN0YXJ0SW5kZXg6cz8uaW5kZXg/P2EsZW5kSW5kZXg6dD9yPy5pbmRleD8/bDpsfSk6dGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pLHRoaXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSgpLHRoaXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSgpO2NvbnN0IHU9dGhpcy5tb2RlbCgpLGM9KDAsbi5lbnN1cmVOb3ROdWxsKSh1LnBhbmVGb3JTb3VyY2UodGhpcykpO3UucmVjYWxjdWxhdGVQYW5lKGMsKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCkscmVhbHRpbWU6IXQsZmlyc3RVcGRhdGVkVGltZVBvaW50SW5kZXg6cz8uaW5kZXg/P3ZvaWQgMH0pKSx1LnVwZGF0ZVNvdXJjZSh0aGlzKX1fcGxvdHNEYXRhUmFuZ2UoKXtjb25zdCBlPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSx0PXRoaXMuYmFycygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1fc2V0U3RhdHVzKGUpe2NvbnN0IHQ9ey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLHNlcmllc1N0YXR1czplfTt0aGlzLl91cGRhdGVTdGF0dXModCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9vblN0YXR1c0NoYW5nZWQuZmlyZSgpfV9vbkJhclJlY2VpdmVkKGUpe3RoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlKX1fb25VbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKSk7dGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPWUucmVhc29uLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKGUpLHRoaXMuX3NldFN0YXR1cygxNCksdGhpcy5fc2VyaWVzTG9hZGVkPSEwLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkuY2xlYXIoKSx0aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9KDAsT2UuZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IGk9ITA7cmV0dXJuKDAsVWUuYnVpbGRVbnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSkoe3N5bWJvbEluZm86ZSxyZXNvbHV0aW9uOnQscmVhc29uOnMsaGFzUmVzb2x1dGlvblBvbGljeTppLGlzSW50ZXJuYWxEYXRhRmVlZDohMCxkZWZhdWx0UmVzb2x1dGlvbnM6dGhpcy5fbW9kZWwuZGVmYXVsdFJlc29sdXRpb25zKCksaXNBdXRoZW50aWNhdGVkOiEhd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsaXNQcm86ISF3aW5kb3cudXNlcj8uaXNfcHJvfSl9X3JlY3JlYXRlRm9ybWF0dGVyKCl7e2NvbnN0IGU9KDAsemUuY3JlYXRlU2VyaWVzRm9ybWF0dGVycykoe2Zvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLGFsaWFzRm9ybWF0dGluZ0RlcHM6dGhpcy5hbGlhc1N5bWJvbEluZm8oKSxzeW1ib2xGb3JtYXR0aW5nRGVwczp0aGlzLnN5bWJvbEluZm8oKSxtaW5UaWNrOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKX0pO3RoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9ZS5kZWZhdWx0Rm9ybWF0dGVyLHRoaXMuX2Zvcm1hdHRlcj1lLmZvcm1hdHRlcix0aGlzLl9pZ25vcmVNaW5Nb3ZlRm9ybWF0dGVyPWUuaWdub3JlTWluTW92ZUZvcm1hdHRlcn10aGlzLl9wcmljZVNjYWxlPy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKX1fcmVjcmVhdGVQcmljZVN0ZXAoKXtjb25zdHtwcmljZVN0ZXA6ZSxpZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwOnR9PSgwLHplLmNhbGN1bGF0ZVByaWNlU3RlcHMpKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLl9pZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwPXQsdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX3JlY3JlYXRlUHJpY2VTdGVwKCl9X29uUXVvdGVzVXBkYXRlKGUsdCl7e2NvbnN0IHM9dm9pZCAwIT09dC52YWx1ZXMuY2hhbmdlfHx2b2lkIDAhPT10LnZhbHVlcy5jaGFuZ2VfcGVyY2VudDtzJiZwdCYmdGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKTtjb25zdCBpPXZvaWQgMCE9PXQudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U7aSYmKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fcHJldkNsb3NlUHJpY2VMaW5lVmlldykudXBkYXRlKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSkpLChzfHxpKSYmdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKGUudmFsdWVzLmxhc3Rfc3BsaXRzPz9udWxsKX12b2lkIDAhPT1lLnZhbHVlcy5jdXJyZW50X3Nlc3Npb24mJmUudmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiE9PXRoaXMuX2N1cnJlbnRTZXNzaW9uJiYodGhpcy5fY3VycmVudFNlc3Npb249ZS52YWx1ZXMuY3VycmVudF9zZXNzaW9uLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpKX1fdXBkYXRlSXNOb25SZWd1bGFyTWFya2V0UHJpY2VzRm9yYmlkZGVuUHJvcGVydGllcygpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7e2NvbnN0IHQ9KDAsUC5zeW1ib2xIYXNQcmVPclBvc3RNYXJrZXQpKGUpJiYodGhpcy5pc0RXTSgpfHwhIWUmJigwLFAuaXNSZWd1bGFyU2Vzc2lvbklkKSh0aGlzLnNlc3Npb25JZFByb3h5UHJvcGVydHkoKS52YWx1ZSgpLGUpKTt0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX17Y29uc3QgdD0hdGhpcy5pc0RXTSgpJiYoMCxKLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIikmJigwLFAuc3ltYm9sSGFzTmlnaHRNYXJrZXQpKGUpJiYhIWUmJiEoMCxQLmlzU3RvY2syNGhTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkpJiYhKDAsUC5pc1JlZ3VsYXJTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCksZSk7dGhpcy5faXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX19X3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKXtjb25zdCBlPXRoaXMuaXNEV00oKSYmQm9vbGVhbih0aGlzLnN5bWJvbEluZm8oKT8uaGFzX3NldHRsZW1lbnQpO3RoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXsKY29uc3QgZT1Cb29sZWFuKHRoaXMuc3ltYm9sSW5mbygpPy5oYXNfYmFja2FkanVzdG1lbnQpO3RoaXMuX2lzQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3RoaXMuX3JlcGxheVN1YnNjcmliZXIuc2V0VmFsdWUobnVsbCksdGhpcy5faXNSZXBsYXlSZXNvbHV0aW9uQXZhaWxhYmxlRm9yVXNlcj1udWxsLHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWQuZmlyZSgpLGU/Lm9uU2VyaWVzTW9kaWZpZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlPy5kZXN0cm95KCl9fV9nZXRTeW1ib2xGb3JBcGkoKXtyZXR1cm4gdGhpcy5zeW1ib2woKX1fZ2V0U3ltYm9sT2JqZWN0KGUsdCxzKXtjb25zdCBpPXRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtvdmVycmlkZGVuU3ltYm9sOmUsc2tpcFNhdmVkTWV0cmljOnMsZG9Ob3RBZGRVbnN1cHBvcnRlZE9uQ3VycmVudFN5bWJvbEZpZWxkczp0fSksbj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpO2lmKEkuU1lNQk9MX1NUUklOR19EQVRBLmhhc093blByb3BlcnR5KG4pJiYhSS5jaGFydFN0eWxlc1dpdGhBdHRhY2hlZFN0dWRpZXMuaW5jbHVkZXMobikpe3JldHVybntzeW1ib2w6aSx0eXBlOnRoaXMuc3R5bGVTdHVkeUluZm8odGhpcy5nZXRTdHlsZVNob3J0TmFtZSgpKyJTdHlsZSIpLnN0dWR5SWQrIiEiLGlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpfX1yZXR1cm4gaX1fZ2V0RXh0ZW5kZWRTeW1ib2xPYmplY3QoZT17fSl7Y29uc3R7b3ZlcnJpZGRlblN5bWJvbDp0LHNraXBNZXRyaWM6cyxza2lwU2F2ZWRNZXRyaWM6aSxkb05vdEFkZFVuc3VwcG9ydGVkT25DdXJyZW50U3ltYm9sRmllbGRzOnJ9PWUsbz17c3ltYm9sOnQ/P3RoaXMuX2dldFN5bWJvbEZvckFwaSgpfSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5jdXJyZW5jeSgpO251bGwhPT1sJiYob1siY3VycmVuY3ktaWQiXT1sKTtjb25zdCB1PXRoaXMudW5pdCgpO2lmKHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09dSYmKG9bInVuaXQtaWQiXT11KSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpJiYhcyl7bGV0IGU9dGhpcy5tZXRyaWMoKTtpfHxudWxsIT09ZXx8bnVsbCE9PXRoaXMuc3ltYm9sSW5mbygpfHwoZT0oMCxQLmdldExhc3RVc2VkTWV0cmljKSgpKSxudWxsIT09ZSYmKG8ubWV0cmljPWUpfXRoaXMuaXNEV00oKXx8KG8uc2Vzc2lvbj1hLnNlc3Npb25JZC52YWx1ZSgpKTt7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKSx0PWU/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiLHM9ImFueSI9PT10fHwiZGl2aWRlbmRzIj09PXQsaT0iYW55Ij09PXR8fCJzcGxpdHMiPT09dDtyP2E/LmRpdmlkZW5kc0FkanVzdG1lbnQ/LnZhbHVlKCkmJnM/by5hZGp1c3RtZW50PSJkaXZpZGVuZHMiOmkmJihvLmFkanVzdG1lbnQ9InNwbGl0cyIpOm8uYWRqdXN0bWVudD0oMCxuLmVuc3VyZURlZmluZWQpKGEuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKT8iZGl2aWRlbmRzIjoic3BsaXRzIiwhYS5iYWNrQWRqdXN0bWVudC52YWx1ZSgpfHxyJiYhZT8uaGFzX2JhY2thZGp1c3RtZW50fHwoby5iYWNrYWRqdXN0bWVudD0iZGVmYXVsdCIpLGEuc2V0dGxlbWVudEFzQ2xvc2UudmFsdWUoKXx8ciYmIWU/Lmhhc19zZXR0bGVtZW50fHwob1sic2V0dGxlbWVudC1hcy1jbG9zZSJdPSExKX1yZXR1cm4gb31fY2hlY2tDaGFydFN0eWxlKCl7Y29uc3QgZT10aGlzLnN0eWxlKCk7KDAsUC5pc0Nsb3NlQmFzZWRTeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpKXx8dGhpcy5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpPygwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KToiaGxjIj09PXRoaXMuc3ltYm9sSW5mbygpPy52aXNpYmxlX3Bsb3RzX3NldD8oMCxQLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnJlcXVlc3RpbmdTdHlsZVN1cHBvcnRSZWNvdmVyZWQuZmlyZSh0aGlzLl9zdHlsZVRvUmVjb3Zlci5vcmlnaW5hbFN0eWxlKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fdXBkYXRlU3ltYm9sSW5mbyhlKXtpZihlKXtjb25zdCB0PXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpLHM9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxuPSgwLFAuc3ltYm9sQ3VycmVuY3kpKGUpLHI9KDAsUC5zeW1ib2xVbml0KShlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvPSgwLFAuc3ltYm9sTWV0cmljKShlLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpOyJhbHdheXNPZmYiPT09KDAseC5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKXx8bj09PXMuY3VycmVuY3lJZC52YWx1ZSgpJiZyPT09cy51bml0SWQudmFsdWUoKXx8dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpO2NvbnN0IGE9biE9PXMuY3VycmVuY3lJZC52YWx1ZSgpLGw9ciE9PXMudW5pdElkLnZhbHVlKCksdT1vIT09cy5tZXRyaWNJZC52YWx1ZSgpO3MuY3VycmVuY3lJZC5zZXRWYWx1ZVNpbGVudGx5KG4pLHMudW5pdElkLnNldFZhbHVlU2lsZW50bHkocikscy5tZXRyaWNJZC5zZXRWYWx1ZVNpbGVudGx5KG8pLHRoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUoZSksCnMuc2hvcnROYW1lLnNldFZhbHVlKGUubmFtZSk7Y29uc3QgYz0oMCxULmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKGUsdGhpcy5zeW1ib2woKSk7YyYmcy5zeW1ib2wuc2V0VmFsdWUoYyksYSYmcy5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbCYmcy51bml0SWQuZmlyZUNoYW5nZWQoKSx1JiZzLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCk7Y29uc3QgZD10aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSxoPXRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2woKTsoMCxpLmRlZmF1bHQpKHQsaCkmJiEoMCxpLmRlZmF1bHQpKGQsaCkmJnRoaXMuX3Nlcmllc1NvdXJjZS51cGRhdGVFeHRTeW1ib2woZCksdGhpcy5fdXBkYXRlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eSghMCl9ZWxzZSB0aGlzLl9zeW1ib2xJbmZvLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9dGhpcy5hbGlhc1N5bWJvbEluZm8oKTt0aGlzLl9iYXNlPXQ/dC5wcmljZXNjYWxlL3QubWlubW92OjEwMCx0aGlzLl9wb2ludFZhbHVlPWUmJmUucG9pbnR2YWx1ZXx8MTtjb25zdCBzPXRoaXMuZ2V0UXVvdGVzU3ltYm9sU3RyaW5nKCk7cyE9PXRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnN5bWJvbCgpJiZ0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKG51bGwpLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnNldFF1b3Rlc1Nlc3Npb25TeW1ib2wocyksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuc2V0U3ltYm9sSW5mbyhlKSxlJiZ0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLHRoaXMuX3N0YXR1c1ZpZXcudXBkYXRlKCksdGhpcy5wcmljZVNjYWxlKCkudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCFlKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fZGF0YVBvd2VyZWRCeT0oMCxOLmdldERhdGFWZW5kb3JTdHJpbmcpKGUpLHRoaXMuX3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl91cGRhdGVTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl9X2NyZWF0ZUhpZ2hMb3dBdmdWaWV3cygpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaGlnaExvd0F2Z1ByaWNlLHQ9dGhpcy5fZ2V0SGlnaExvd1ByaWNlLmJpbmQodGhpcykscz0oMCxhZS5jcmVhdGVIaWdoTG93Vmlld3MpKHRoaXMuX21vZGVsLHRoaXMsZSx0KTt0aGlzLl9oaWdoTG93QXZnUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lVmlld3MpLHRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lUHJpY2VBeGlzVmlld3MpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUF4aXNWaWV3cyksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUxpbmVBeGlzVmlld3MpfV9jcmVhdGVBdmVyYWdlVmlld3MoKXt9X2dldEhpZ2hMb3dQcmljZShlKXtpZighdGhpcy5faGlnaExvd1ByaWNlQ2FjaGUuaGFzKGUpKXtjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gZS5taW5NYXhPblJhbmdlQ2FjaGVkKHQscyxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKX0odGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxlLmZpcnN0QmFyKCksZS5sYXN0QmFyKCkpO2lmKG51bGw9PT10KXJldHVybiBudWxsO3RoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLnNldCgxLHQubWluKSx0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5zZXQoMCx0Lm1heCl9cmV0dXJuIHRoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLmdldChlKX1fZ2V0QXZlcmFnZVByaWNlKGUpe3JldHVybiBudWxsfV91cGRhdGVDb21wbGV0ZVN0YXR1c01vZGUoZSl7c3dpdGNoKGU9InB1bHNlZCI9PT1lPyJkZWxheWVkIjplKXtjYXNlInN0cmVhbWluZyI6dGhpcy5fc2V0U3RhdHVzKDMpO2JyZWFrO2Nhc2UiZW5kb2ZkYXkiOnRoaXMuX3NldFN0YXR1cyg2KTticmVhaztjYXNlImRlbGF5ZWQiOnRoaXMuX3NldFN0YXR1cyg4KTticmVhaztjYXNlInJlcGxheSI6dGhpcy5fc2V0U3RhdHVzKDExKX1lLm1hdGNoKC9kZWxheWVkX3N0cmVhbWluZy8pJiZ0aGlzLl9zZXRTdGF0dXMoOSl9X29uU2VyaWVzQ29tcGxldGVkKGUpe2lmKDE0PT09dGhpcy5fc3RhdHVzLnZhbHVlKCkuc2VyaWVzU3RhdHVzKXJldHVybjt0aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic2VyaWVzX2xvYWRlZCIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEoKSksdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fdXBkYXRlQ29tcGxldGVTdGF0dXNNb2RlKGUudXBkYXRlTW9kZSksdGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M9ZS5mbGFncz8/bnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKSk7dC5yZWNhbGN1bGF0ZVByaWNlU2NhbGUodGhpcy5wcmljZVNjYWxlKCksKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpO2NvbnN0IGk9X2UuSW52YWxpZGF0aW9uTWFzay5mdWxsKCk7aWYobnVsbCE9PXRoaXMuX21vZGVsLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpJiZpLmxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemUoKSx0aGlzLl9tb2RlbC5pbnZhbGlkYXRlKGkpLCF0aGlzLnByaWNlU2NhbGUoKS5pc0xvY2tTY2FsZSgpfHx0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLl9zZXJpZXNMb2FkZWR8fCh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuY29ycmVjdE9mZnNldCgpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5jb3JyZWN0QmFyU3BhY2luZygpLHRoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUodCx0aGlzLnByaWNlU2NhbGUoKSkpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMCx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITAsCnRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQpLHRoaXMubW9kZWwoKS5yZWNhbGNTdHVkeUJhc2VkTGluZVRvb2xzKCksIW10KXttdD0hMDsoMCxzKDc2MDA5OCkudHJhY2tUaW1pbmcpKCJDaGFydCIsIlRpbWUgdG8gc2VyaWVzIix3aW5kb3cucGVyZm9ybWFuY2Uubm93KCkpfWlmKHRoaXMucmVxdWVzdE1vcmVEYXRhKCksbnVsbCE9PXRoaXMuX3NhdmVkTGVmdEVkZ2UmJjIhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpe2NvbnN0IGU9MWUzKnRoaXMuX3NhdmVkTGVmdEVkZ2UsdD10aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZTtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX21vZGVsLnN5bmNUaW1lV2l0aE1vZGVsKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5zeW5jTW9kZWwoKSkuc3luY1NvdXJjZVRhcmdldCgpLGUse3RhcmdldFBvaW50QWxpZ25tZW50OiJsZWZ0IixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITAsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITF9KS50aGVuKCgoKT0+e3Q/LnJlc29sdmUoKX0pKS5jYXRjaCgoKCk9Pnt9KSl9KSwwKSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbH10aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fb25TZXJpZXNEYXRhQ2xlYXJlZCgpe3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbm90aWZ5SW50ZXJ2YWxDaGFuZ2VkKGUpe2NvbnN0IHQ9e3RpbWVmcmFtZTp0aGlzLl9wZW5kaW5nVGltZVJhbmdlPz92b2lkIDB9O3RoaXMuX2ludGVydmFsQ2hhbmdlZC5maXJlKGUsdCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT10LnRpbWVmcmFtZT8/bnVsbH1fb25DdXJyZW5jeUNoYW5nZWQoKXt0aGlzLl9jdXJyZW5jeUNoYW5nZWQuZmlyZSgpfV9vblVuaXRDaGFuZ2VkKCl7dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfV9vbk1ldHJpY0NoYW5nZWQoKXt0aGlzLl9tZXRyaWNDaGFuZ2VkLmZpcmUoKX1fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZChlLHQ9bnVsbCl7aWYodGhpcy5fc2F2ZWRMZWZ0RWRnZT1udWxsLCF0JiYhZSYmdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2F2ZUxlZnRFZGdlLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWUuaXNFbXB0eSgpKXtsZXQgdD1lLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8uZmlyc3RCYXIoKTtpZih2b2lkIDAhPT10KXtjb25zdCBzPXRoaXMuX3Nlcmllc1NvdXJjZS5kYXRhKCk/LmJhcnMoKS5maXJzdCgpO3JldHVybiBudWxsIT1zJiYodD1NYXRoLm1heCh0LHMuaW5kZXgpKSx0aGlzLl9zYXZlZExlZnRFZGdlPWUuaW5kZXhUb1RpbWVQb2ludCh0KSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZT0oMCx5LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhMH19fXJldHVybiExfWFzeW5jIF9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoZSx0KXtpZih0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpKXtjb25zdCBzPSgpPT50aGlzLl9yZW1vdmVSZXBsYXlTdWJzY3JpYmVyKCk7ZSYmKGMuSW50ZXJ2YWwuaXNSYW5nZSh0KT9zKCk6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKSh0KT9hd2FpdCB0aGlzLmNhbkNoYW5nZVJlc29sdXRpb24odCl8fHMoKToocygpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZmlyZSgzLCJjaGFuZ2VSZXNvbHV0aW9uIikpKX19YXN5bmMgX2FwcGx5U3ltYm9sUGFyYW1zQ2hhbmdlcyhlKXt0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuY2xlYXJHb3RvRGF0ZVJlc3VsdCgpO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9dGhpcy5jdXJyZW5jeSgpLGk9dGhpcy51bml0KCksbj10aGlzLm1ldHJpYygpO2MuSW50ZXJ2YWwuaXNSYW5nZSh0KSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yYW5nZS5zZXRWYWx1ZShjLkludGVydmFsLnBhcnNlKHQpLm11bHRpcGxpZXIoKSk7Y29uc3R7c3ltYm9sQ2hhbmdlZDpyLGludGVydmFsQ2hhbmdlZDpvLGN1cnJlbmN5Q2hhbmdlZDphLHVuaXRDaGFuZ2VkOmwsbWV0cmljQ2hhbmdlZDp1LGZvcmNlOmR9PWUsaD1vJiZjLkludGVydmFsLnBhcnNlKHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbCkuaXNEV00oKSE9PWMuSW50ZXJ2YWwucGFyc2UodCkuaXNEV00oKTtpZigobnVsbCE9PXMmJmF8fG51bGwhPT1pJiZsfHxudWxsIT09biYmdSkmJnRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7KG51bGw9PT1lfHxudWxsIT09cyYmZS5vcmlnaW5hbF9jdXJyZW5jeV9pZCE9PXN8fG51bGwhPT1pJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1pKSYmdGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpfWlmKHRoaXMuX3N5bmNNb2RlbD1udWxsLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10LDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJighdGhpcy5fc2VyaWVzU291cmNlLmlzU3RhcnRlZCgpfHxyfHxhfHxsfHx1fHxoKSYmdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSx0aGlzLl9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoISFvLHQpLDU9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpcmV0dXJuIHZvaWQgdGhpcy5fcmVhbGlnbkxpbmVUb29scygpO3RoaXMuX3NldFN0YXR1cygxKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fdXBkYXRlQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eSgpLHRoaXMuX3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpLApvJiZ0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQodCksdGhpcy5fb25SZXN0YXJ0ZWQuZmlyZSgpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fbGluZVN0eWxlTGFzdFByaWNlQ2lyY2xlUGFuZVZpZXcuc3RvcEFuaW1hdGlvbigpO2xldCBtPW51bGw7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSYmKG09dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSx0aGlzLl9wZW5kaW5nVGltZVJhbmdlPW51bGwpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5maXJlKG0pLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdCk7Y29uc3QgXz10aGlzLl9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSkmJnRoaXMuX3Zpc2libGVCYXJzQ291bnQoKXx8bnVsbDt0aGlzLm1vZGVsKCkucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyh2LlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzUmVzdGFydCksdGhpcy5fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZCghIXIsbSksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3Nlcmllc1NvdXJjZS5tb2RpZnlTZXJpZXModGhpcy5fZ2V0UmVzb2x2aW5nU3ltYm9sT2JqZWN0KCksKDAscC5nZXRTZXJ2ZXJJbnRlcnZhbCkodCksbSxkLF8pLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc2VyaWVzU291cmNlLnN0YXJ0KCkpLChyfHxhfHxsKSYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZSYmYXdhaXQgdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2UucHJvbWlzZX1fcmVhbGlnbkxpbmVUb29scygpe3RoaXMubW9kZWwoKS5yZWFsaWduTGluZVRvb2xzKCl9YXN5bmMgX29uQmVmb3JlTW9kaWZ5U2VyaWVzKGUsdCl7Y29uc3Qgcz10aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCk7cz8ubW9kaWZ5U2VyaWVzKGUsdCl9X2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpe2xldCBlPXRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLl9zeW1ib2xGb3JSZXNvbHZlKCkpO2NvbnN0IHQ9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3JldHVybiB0JiYoZT10LmdlbmVyYXRlUmVwbGF5U3ltYm9sKGUpKSxlfV9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3Nlc3Npb25JZENoYW5nZWQuZmlyZSgpLHRoaXMuaXNEV00oKXx8KHRoaXMuX3NhdmVMZWZ0RWRnZUlmUmVxdWlyZWQoITEpLHRoaXMucmVzdGFydCghMCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCkpLHRoaXMuX3N5bmNNb2RlbD1udWxsfV9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKXt0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3Vuc3Vic2NyaWJlUmVzdGFydFRvU2Vzc2lvbklkQ2hhbmdlKCl7dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpe2lmKCF0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR8fCgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcHVsc2VfYW5pbWF0aW9uIikpcmV0dXJuO2NvbnN0IGU9dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkscz10aGlzLnN5bWJvbEluZm8oKTt0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmU9KDAsV2UuaXNMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUpKHtzdHlsZTp0LnN0eWxlLnZhbHVlKCksdmlzaWJsZTp0LnZpc2libGUudmFsdWUoKSxpc1NuYXBzaG90OnRoaXMuX21vZGVsLmlzU25hcHNob3QoKSxoYXNTeW1ib2xJbmZvOiEhcyxpc1JlZ3VsYXJTZXNzaW9uOiFzfHwoMCxQLmlzUmVndWxhclNlc3Npb25JZCkodGhpcy5zZXNzaW9uSWRQcm94eVByb3BlcnR5KCkudmFsdWUoKSxzKSxpc0RXTTp0aGlzLmlzRFdNKCksY3VycmVudFNlc3Npb246dGhpcy5jdXJyZW50U2Vzc2lvbigpfSksdGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZlIT09dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLm1vZGVsKCkuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYoZT09PXQuc3ltYm9sfHxlPT09dC5pbnRlcnZhbHx8ZT09PXQudGltZWZyYW1lKXJldHVybjtjb25zdCBzPXRoaXMuX2lkLnZhbHVlKCk7dGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KShzKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSwoMCxfLmVtaXQpKCJzZXJpZXNfcHJvcGVydGllc19jaGFuZ2VkIixzKX1fcmVjYWxjU3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXt0aGlzLl90ZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQ/dGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc2V0VmFsdWUoInRpY2tlciIpOnRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudmFsdWUoKSl9X2NsZWFyU3R5bGVQbG90KGUsdCl7aWYoMD09PWUuc2l6ZSgpKXJldHVybjtpZih2b2lkIDA9PT10JiZlIT09dGhpcy5uc0JhcnMoKSlyZXR1cm4gdm9pZCh0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcz1uZXcgV2Vha01hcCkKO2NvbnN0IHM9dD8/KDAsbi5lbnN1cmVOb3ROdWxsKShlLmZpcnN0SW5kZXgoKSksaT0oMCxuLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzE7ZS5yYW5nZShzLGkpLmVhY2goKChlLHQpPT4odGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHQpLCExKSkpfV92aXNpYmxlQmFyc0NvdW50KCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7cmV0dXJuIGU/LmNvdW50KCl9X3N5bWJvbEZvclJlc29sdmUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKT90aGlzLl9zZXJpZXNTb3VyY2UucmVzb2x2ZWRTeW1ib2woKT8/ZTplfV9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSl7cmV0dXJuITF9X29uU2hvd0NvdW50ZG93bkNoYW5nZWQoZSl7ZS52YWx1ZSgpP3RoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPXRoaXMuX21vZGVsLnNldEludGVydmFsKCgoKT0+e3RoaXMuX3ByaWNlQXhpc1ZpZXcudXBkYXRlQ291bnRkb3duPy4oKSx0aGlzLl9wcm9qZWN0aW9uUHJpY2VBeGlzVmlldy51cGRhdGVDb3VudGRvd24/LigpfSksNTAwKTpudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKX1fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fdXBkYXRlU3RhdHVzKGUpezE0IT09ZS5zZXJpZXNTdGF0dXMmJnRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKG51bGwpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX1fd2FzQ29tcGxldGVkQmVmb3JlKCl7cmV0dXJuIHRoaXMuaXNDb21wbGV0ZWQoKSYmKHRoaXMuX3N0dWR5QmluZGluZ3M/Lndhc0NvbXBsZXRlZEJlZm9yZSgpPz8hMCl9X2NvbG9yT25QcmV2QmFyKCl7Y29uc3QgZT1uZXcgTWFwKFtbMSwiY2FuZGxlU3R5bGUiXSxbMCwiYmFyU3R5bGUiXSxbMTksInZvbENhbmRsZXNTdHlsZSJdLFs4LCJoYVN0eWxlIl0sWzEzLCJjb2x1bW5TdHlsZSJdXSk7ZS5zZXQoMTcsInZvbEZvb3RwcmludFN0eWxlIik7Y29uc3QgdD1lLmdldCh0aGlzLnN0eWxlKCkpO3JldHVybiEhdCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKVt0XS5jaGlsZHMoKS5iYXJDb2xvcnNPblByZXZDbG9zZS52YWx1ZSgpfV9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoZSl7dGhpcy5zdHlsZSgpPT09ZSYmdGhpcy5yZXN0YXJ0KCl9fX0sODM3MjAzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PmkuU2VyaWVzRGF0YVNvdXJjZX0pO3ZhciBpPXMoOTM1MjQwKSxuPXMoMTExOTUzKSxyPXMoODU2NTYpLG89cyg5MzAyMzEpO2kuU2VyaWVzRGF0YVNvdXJjZS5zZXROb25TZXJpZXNEYXRhVW5wYWNrZXIoci51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCksaS5TZXJpZXNEYXRhU291cmNlLnNldFN5bWJvbEVuY29kZXIobi5lbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWwpLGkuU2VyaWVzRGF0YVNvdXJjZS5zZXRFeHRyYWN0U3ltYm9sRmVhdHVyZXNldHMoe3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiKSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0aW5nX2xpYnJhcnlfc2luZ2xlX3N5bWJvbF9yZXF1ZXN0IiksdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV90aWNrZXJfb25fc3ltYm9sX2luZm9fdXBkYXRlIiksdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIil9KX0sNDM3NzQ5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHthcHBseURlZmF1bHRDb2xvcnNUb1Byb3BzU3RhdGU6KCk9PngsYmxhY2tsaXN0ZWRQcm9wZXJ0aWVzOigpPT5rLHByZXBhcmVTdHVkeVByb3BlcnRpZXM6KCk9PlIscHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDooKT0+VCxwcmVwYXJlU3R1ZHlQcm9wc1N0YXRlRm9yTG9hZENoYXJ0OigpPT5DLHN0dWR5R2VuZXJhbFByb3BzU3RhdGU6KCk9Pkksc3R1ZHlQcm9wc0V4Y2x1ZGVEZWZhdWx0c0tleXM6KCk9PlZ9KTt2YXIgaT1zKDc0MDE2Miksbj1zKDYwMTg0MSkscj1zKDIyMTA2MSksbz1zKDc5MTQyNyksYT1zKDUwNTU2KSxsPXMoMjYwNjkpLHU9cyg1MDk1NDQpLGM9cyg5NTA1NTQpLGQ9cyg4NzUzMDEpLGg9cygzNjQ0NjYpLHA9cygxNjgyNTgpLG09cyg4NzExOTQpLF89cyg1NTQ5MDQpO2NvbnN0IGc9KDAsci5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeSIpLHk9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksZj0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKSx2PSgwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGI9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUz0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTUwMCIpLHc9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUD0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKTtmdW5jdGlvbiBUKGUsdCxzLGksbixyKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1DKGUsdCxzLGkscik7cmV0dXJuIEEodHx8ZSxuLGEsbywhMCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxuLHIpfWZ1bmN0aW9uIEMoZSx0LHMscixhKXsKZS52ZXJzaW9uJiZzLnZlcnNpb24mJmUudmVyc2lvbiE9PXMudmVyc2lvbiYmZy5sb2dXYXJuKCJTZXJpYWxpemVkIG1ldGFJbmZvIHZlcnNpb24gIitlLnZlcnNpb24rIiBpcyBub3QgZXF1YWwgdG8gdGhlIHNhdmVkIHN0YXRlIHZlcnNpb24gIitzLnZlcnNpb24pO2NvbnN0IGw9dHx8ZSxjPSgwLG4uY2xvbmUpKGwuZGVmYXVsdHMpPz97fSxkPW8uU3R1ZHlNZXRhSW5mby5nZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUobCksaD1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpO2xldCBwPUkoKTtyZXR1cm4oMCxpLmRlZmF1bHQpKHAsRShlKSksdCYmKDAsaS5kZWZhdWx0KShwLEUodCkpLCgwLGkuZGVmYXVsdCkocCwoMCxuLmNsb25lKShlLmRlZmF1bHRzKSksKDAsaS5kZWZhdWx0KShwLGMpLCgwLGkuZGVmYXVsdCkocCwoMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShkKSksKDAsaS5kZWZhdWx0KShwLCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKGgpKSwoMCxpLmRlZmF1bHQpKHAsTChsLHIsZCkpLCgwLGkuZGVmYXVsdCkocCxMKGUscixoKSksdCYmbnVsbCE9dC5fc2VydmVyTWV0YUluZm9WZXJzaW9uJiZudWxsIT1lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24mJnQuaXNQaW5lKCkmJmUuaXNQaW5lKCkmJnQuX3NlcnZlck1ldGFJbmZvVmVyc2lvbj5lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24/KDAsXy5tZXJnZVNlcmlhbGl6ZWRTdGF0ZVJlbWFwcGluZ0lucHV0c0J5TmFtZSkocCxzLGUsdCk6KDAsaS5kZWZhdWx0KShwLHMpLHgocCxsKSxwPXIudXBkYXRlU3R1ZHlTdGF0ZShwLGUsdCksdm9pZCAwIT09YSYmdCYmKHA9YShzLHAsZSx0KSksby5TdHVkeU1ldGFJbmZvLnZlcnNpb25PZihsKT49MSYmKDAsaS5kZWZhdWx0KShwLE0oYyxwKSkscH1mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9e307aWYoZS5wbG90cylmb3IobGV0IHM9MDtzPGUucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT1lLnBsb3RzW3NdLHI9aS5pZDtpZigoMCxwLmlzQ29sb3JlclBsb3QpKGkpKWNvbnRpbnVlO2NvbnN0IG89e2Rpc3BsYXk6cC5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbCxjb2xvcjp5LGxpbmVzdHlsZTpsLkxJTkVTVFlMRV9TT0xJRCxsaW5ld2lkdGg6MixwbG90dHlwZTpwLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lLHRyYWNrUHJpY2U6ITF9OygwLHAuaXNCYXJDb2xvcmVyUGxvdCkoaSkmJihvLnRyYW5zcGFyZW5jeT0wKSxvLnBsb3R0eXBlPWkudHlwZSxvLnRpdGxlPXIsdFtyXT0oMCxuLmNsb25lKShvKX1yZXR1cm57c3R5bGVzOnR9fWZ1bmN0aW9uIEkoKXtjb25zdCBlPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykoInN0dWR5IikpO3JldHVybiBlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxuLmNsb25lKShkLmludGVydmFsc1Zpc2liaWxpdGllc0RlZmF1bHRzKSxlfWZ1bmN0aW9uIEwoZSx0LHMpe2xldCBpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykocyx0KSk7cmV0dXJuIk92ZXJsYXkiIT09ZS5zaG9ydElkJiYiQ29tcGFyZSIhPT1lLnNob3J0SWR8fChpLmN1cnJlbmN5SWQ9bnVsbCxpLnVuaXRJZD1udWxsKSxlLmlzVFZTY3JpcHQmJmUuVFZTY3JpcHRTb3VyY2VDb2RlIT09aS5UVlNjcmlwdFNvdXJjZUNvZGUmJihpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKHMpKSksaX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz17fTtyZXR1cm4gYy5TdHVkeVZlcnNpb25pbmcubWVyZ2VJbnB1dHNPYmpQYXJ0KHMsZS5pbnB1dHM/P3t9KSxjLlN0dWR5VmVyc2lvbmluZy5tZXJnZUlucHV0c09ialBhcnQocyx0LmlucHV0cykse2lucHV0czpzfX1mdW5jdGlvbiBEKGUsdCxzLHIpe2lmKG8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk8MSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgZnVuY3Rpb24gY2Fubm90IHdvcmsgd2l0aCBtZXRhaW5mbyBvZiB0aGUgb2xkIGZvcm1hdCB2ZXJzaW9uLiBSZXF1aXJlZCBmb3JtYXQgdmVyc2lvbiA+PSAxIik7Y29uc3QgYT1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpLGw9KDAsbi5jbG9uZSkoZS5kZWZhdWx0cyksYz0oMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShhKSxkPUkoKTtpZigoMCxpLmRlZmF1bHQpKGQsRShlKSksKDAsaS5kZWZhdWx0KShkLGwpLCgwLGkuZGVmYXVsdCkoZCxjKSwoMCxpLmRlZmF1bHQpKGQsTChlLHIsYSkpLCgwLGkuZGVmYXVsdCkoZCx0KSwoMCxpLmRlZmF1bHQpKGQsTShsLGQpKSx4KGQsZSksbnVsbCE9PXMpe2NvbnN0IHQ9cy5tb2RlbCgpLnN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCkuZ2V0Q29sb3JSb3RhdG9yKGUpO251bGwhPT10JiYoIk92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIj09PWUuaWQ/ZC5saW5lU3R5bGUuY29sb3I9dC5nZXRDb2xvcihkLmxpbmVTdHlsZS5jb2xvcixjLmxpbmVTdHlsZS5jb2xvcj09PWQubGluZVN0eWxlLmNvbG9yKTooMCxpLmRlZmF1bHQpKGQsZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyhlLnN0eWxlcykpe2NvbnN0IGk9ZS5zdHlsZXNbc107aWYoKDAsbi5pc09iamVjdCkoaSkmJiJjb2xvciJpbiBpKXtjb25zdCBlPWkuY29sb3I7aS5jb2xvcj10LmdldENvbG9yKGUpfX1yZXR1cm4gZX0oZCx0KSkpfXJldHVybiByLnVwZGF0ZVN0dWR5SW5wdXRzSWZOZWVkZWQoZCxkLnZlcnNpb24/P2UudmVyc2lvbixlKSxkfWZ1bmN0aW9uIHgoZSx0KXtpZih0LnBsb3RzJiZlLnN0eWxlcylmb3IobGV0IHM9MDtzPHQucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT10LnBsb3RzW3NdLG49aS5pZDtpZigoMCxwLmlzTGluZVBsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJm51bGw9PT10LmNvbG9yJiYodC5jb2xvcj15KX1lbHNlIGlmKCgwLHAuaXNTaGFwZXNQbG90KShpKSl7Y29uc3QgdD1lLnN0eWxlc1tuXTt0JiYobnVsbD09PXQuY29sb3ImJih0LmNvbG9yPWYpLG51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPWIpKX1lbHNlIGlmKCgwLHAuaXNDaGFyc1Bsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJihudWxsPT09dC5jb2xvciYmKHQuY29sb3I9dyksCm51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPVApKX1lbHNlIGlmKCgwLHAuaXNPaGxjUGxvdCkoaSkpe2NvbnN0IHQ9ZS5vaGxjUGxvdHM/LltpLnRhcmdldF07dCYmbnVsbD09PXQuY29sb3ImJih0LmNvbG9yPXYpfX1pZihlLmJhbmRzKWZvcihsZXQgdD0wO3Q8ZS5iYW5kcy5sZW5ndGg7Kyt0KXtjb25zdCBzPWUuYmFuZHNbdF07bnVsbD09PXMuY29sb3ImJihzLmNvbG9yPVMpfX1mdW5jdGlvbiBSKGUsdCxzLGkscil7cmV0dXJuIGZ1bmN0aW9uKGUsdCxzLGkscixhKXtjb25zdCBsPUQoZSx0LHMsaSksdT1vLlN0dWR5TWV0YUluZm8uZ2V0U291cmNlSW5wdXRJZHMoZSk7cmV0dXJuIHUuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBzPWwuaW5wdXRzW2VdO3Q8YS5sZW5ndGg/bC5pbnB1dHNbZV09YCR7YVt0XS5pZCgpfSQwYDooMCxuLmlzU3RyaW5nKShzKSYmcy5pbmNsdWRlcygiJCIpJiYobC5pbnB1dHNbZV09ImNsb3NlIil9KSksQShlLHIsbCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxyKX1jb25zdCBrPVsiaWQiLCJkZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uX2xvY2FsaXplZCIsInNob3J0RGVzY3JpcHRpb24iLCJfbWV0YWluZm9WZXJzaW9uIiwiaXNfcHJpY2Vfc3R1ZHkiLCJpc19oaWRkZW5fc3R1ZHkiLCJwcmljZVNjYWxlIiwiZnVsbElkIiwic2hvcnRJZCIsInNjcmlwdElkUGFydCIsInBhY2thZ2VJZCIsInByb2R1Y3RJZCIsImlzVFZTY3JpcHRTdHViIiwiZGVmYXVsdHMiLCJzeW1ib2xTb3VyY2UiLCJoaXN0b3J5Q2FsY3VsYXRpb25NYXlDaGFuZ2UiLCJmb3JtYXQiLCJsaW5rZWRUb1NlcmllcyIsImlzVFZMaWJyYXJ5IiwiZG9jcyIsImV4cG9ydHMiLCJleHBvcnRUeXBlcyIsImV4dHJhIiwidXNlc1ByaXZhdGVMaWIiLCJmaW5hbmNpYWxQZXJpb2QiLCJncm91cGluZ0tleSIsInBpbmUiLCJpc1JHQiIsImlzVFZTY3JpcHQiLCJUVlNjcmlwdE1ldGFJbmZvRXhwcnMiLCJ1c2VQbG90c1pPcmRlciIsImlzVFZTY3JpcHRTdHJhdGVneSIsIlRWU2NyaXB0U291cmNlQ29kZSIsImxvb2thaGVhZEZ1dHVyZURhdGEiLCJoYXNBbGVydEZ1bmN0aW9uIiwiZGVmYXVsdFN0cmF0ZWd5QWxlcnRNZXNzYWdlIiwidGFncyIsImNhbkJlQ2hpbGQiLCJjYW5Ob3RCZUNoaWxkIiwiX3NlcnZlck1ldGFJbmZvVmVyc2lvbiIsIndhcm5pbmdzIl07ZnVuY3Rpb24gVihlKXtjb25zdCB0PVsidmlzaWJsZSIsInByZWNpc2lvbiIsIm1pblRpY2siLCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLCJpbnB1dHMuZmlyc3RfdmlzaWJsZV9iYXJfdGltZSIsImlucHV0cy5sYXN0X3Zpc2libGVfYmFyX3RpbWUiLCJpbnB1dHMuc3Vic2NyaWJlUmVhbHRpbWUiXTtmb3IobGV0IHM9MDtzPGUuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IGk9ZS5pbnB1dHNbc107aS5pc0hpZGRlbiYmKHQucHVzaChgaW5wdXRzLiR7c31gKSx0LnB1c2goYGlucHV0cy4ke2kuaWR9YCkpfXJldHVybiB0fWZ1bmN0aW9uIEEoZSx0LHMsaSxuKXtmb3IoY29uc3QgZSBvZiBrKWRlbGV0ZSBzW2VdO2NvbnN0IHI9bmV3IG0uU3R1ZHlEZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOnQsc3RhdGU6cyxleGNsdWRlZERlZmF1bHRzS2V5czpWKGUpLGV4Y2x1ZGVkU3RhdGVLZXlzOlsidmVyc2lvbiJdLHRoZW1lOml9KTtyLnJlbW92ZVByb3BlcnR5KCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiKSxyLmFkZENoaWxkKCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLG5ldyBoLkludGVydmFsc1Zpc2liaWxpdGllc1Byb3BlcnR5KHMmJnMuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWQmJiJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWR8fCFyLmhhc0NoaWxkKCJmb250Iil8fHIucmVtb3ZlUHJvcGVydHkoImZvbnQiKTtjb25zdCBhPW8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk7cmV0dXJuIHIuaGFzQ2hpbGQoInZlcnNpb24iKT9yLmNoaWxkcygpLnZlcnNpb24/LnNldFZhbHVlKGEpOnIuYWRkUHJvcGVydHkoInZlcnNpb24iLGEpLGUuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiYhbiYmci5hZGRQcm9wZXJ0eSgicGF0Y2hNZXRhSW5mb0RlZmF1bHRzIiwhMCkscn19LDg3MjM0MyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0PSJzaGlmdCIscyl7cmV0dXJue3N0dWR5Q29uc3RydWN0b3JBc3luY0dldHRlcjplLGNvbG9yUm90YXRpb25Nb2RlOnQsY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I6c319cy5kKHQse2FkZFN0dWR5SW5mb1RvTWFwOigpPT5yLGNyZWF0ZVN0dWR5SW5mbzooKT0+aSxnZXRTdHVkeUNsYXNzTmFtZTooKT0+YSxnZXRTdHVkeUluZm9CeU5hbWU6KCk9Pm99KTtjb25zdCBuPW5ldyBNYXA7ZnVuY3Rpb24gcihlLHQpe24uc2V0KGUsdCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbi5nZXQoZSl9ZnVuY3Rpb24gYShlKXtmb3IoY29uc3RbdCxzXW9mIG4uZW50cmllcygpKWlmKHMuc3R1ZHlDb25zdHJ1Y3Rvcj09PWUpcmV0dXJuIHQ7cmV0dXJuIG51bGx9fSw2MDUyNTcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZW1wdHlQaW5lSWQ6KCk9Pl8uZW1wdHlQaW5lSWQsaXNTdHVkeURlc2NyaXB0b3I6KCk9Pl8uaXNTdHVkeURlc2NyaXB0b3Isc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnk6KCk9PnZ9KTt2YXIgaT1zKDgzOTQyNiksbj1zKDE4NTI3MSkscj1zKDEzODYzOCksbz1zKDIyMTA2MSksYT1zKDc5MTQyNyksbD1zKDI3NDM5OSksdT1zKDg3NDMwNiksYz1zKDk1MDU1NCksZD1zKDM2MjI4OSksaD1zKDM2ODMxMikscD1zKDMwOTM2MCksbT1zKDc2ODc2MCksXz1zKDQ2MDM2MCk7Y29uc3QgZz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkiLHtjb2xvcjoiIzYwNiJ9KTtjbGFzcyB5e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzUmVhZHk9ITEsdGhpcy5fc3R1ZHlWZXJzaW9uaW5nPW51bGwsdGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZT1udWxsLAp0aGlzLl9qYXZhU3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlPVtdLHRoaXMuX2NvbXBpbGVFcnJvcnM9bmV3IFdlYWtNYXAsdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnM9W10sdGhpcy5fY2hhcnRBcGk9ZX1hc3luYyByZXF1ZXN0TWV0YUluZm8oKXtpZihudWxsPT09dGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvRGVmZXJyZWRQcm9taXNlKXt0aGlzLl9yYXdTdHVkaWVzTWV0YUluZm9EZWZlcnJlZFByb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT1hd2FpdCB0aGlzLl9jaGFydEFwaS5yZXF1ZXN0TWV0YWRhdGEoKSx0PWUucGFyYW1zWzFdLm1ldGFpbmZvLnNsaWNlKCk7e2NvbnN0IHM9ZS5wYXJhbXNbMV0ubWlncmF0aW9ucy5zbGljZSgpO3RoaXMuX3Byb2Nlc3NTaXRlTWV0YUluZm8odCxzKX10aGlzLl9zdHVkeVZlcnNpb25pbmc9bmV3IGMuU3R1ZHlWZXJzaW9uaW5nKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnMpLHRoaXMuX3JlcXVlc3RGaW5pc2hlZCgpLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5yZXNvbHZlKHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbyl9cmV0dXJuIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFzeW5jIGZpbmRCeUlkKGUpe3RoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3QgdD10aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKTtpZihudWxsIT09dCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JzLmdldCh0KTtyZXR1cm4gZT9Qcm9taXNlLnJlamVjdChlKTpQcm9taXNlLnJlc29sdmUodCl9cmV0dXJuInBpbmUiPT09ZS50eXBlP3RoaXMuX2NvbXBpbGVQaW5lKGUpOlByb21pc2UucmVqZWN0KGB1bmV4cGVjdGVkIHN0dWR5IGlkPSR7ZS5zdHVkeUlkfSB3aXRoIHR5cGU9JHtlLnR5cGV9YCl9ZmluZEJ5SWRTeW5jKGUpe3JldHVybiB0aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKX1pc1JlYWR5KCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl9YXN5bmMgZmluZEFsbEphdmFTdHVkaWVzKCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mb31zdHVkeVZlcnNpb25pbmcoKXtyZXR1cm4oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5VmVyc2lvbmluZyl9Z2V0SW50ZXJuYWxNZXRhSW5mb0FycmF5KCl7cmV0dXJuIHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm99YWRkUGluZU1ldGFJbmZvKGUsdCl7Y29uc3Qgcz1mKHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLGUpO3JldHVybiB0JiYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoPjApJiYodD1BcnJheS5pc0FycmF5KHQpP25ldyBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCh7d2FybmluZ3M6W10sZXJyb3JzOnR9LGUpOnQsdGhpcy5fY29tcGlsZUVycm9ycy5zZXQocyx0KSksc31hc3luYyBnZXRMYXRlc3RNZXRhSW5mb0ZvclBpbmVTdHVkeShlLHQpe2NvbnN0IHM9YXdhaXQoMCxoLnJlcXVlc3RVc2VyU2NyaXB0cykoKTtsZXQgaTtpZihzKXtjb25zdCBuPXMuZmluZCgodD0+dC5zY3JpcHRJZFBhcnQ9PT1lKSk7aWYobil7Y29uc3QgZT11LlZlcnNpb24ucGFyc2UodCkscz11LlZlcnNpb24ucGFyc2Uobi52ZXJzaW9uKTtlLmlzTGVzcyhzKSYmKGk9bi52ZXJzaW9uKX19aWYodm9pZCAwIT09aSl7Y29uc3QgdD17dHlwZToicGluZSIscGluZUlkOmUscGluZVZlcnNpb246aX07cmV0dXJuIHRoaXMuZmluZEJ5SWQodCl9cmV0dXJuIG51bGx9X3Byb2Nlc3NNaWdyYXRpb25zKGUpe3RoaXMuX3N0dWRpZXNNaWdyYXRpb25zPVtdO2ZvcihsZXQgdD0wO2UmJnQ8ZS5sZW5ndGg7dCsrKXRoaXMuX3N0dWRpZXNNaWdyYXRpb25zLnB1c2goZVt0XSl9X3Byb2Nlc3NTaXRlTWV0YUluZm8oZSx0KXtmb3IoY29uc3QgdCBvZiBlKWMuU3R1ZHlWZXJzaW9uaW5nLnZlcmlmeUlucHV0c01heFZhbHVlKHQpLChpPXQpLmRlc2NyaXB0aW9uX2xvY2FsaXplZD1uLnQoaS5kZXNjcmlwdGlvbix7Y29udGV4dDoic3R1ZHkifSxzKDg4NDY5MykpO3ZhciBpO3RoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbz1lLHRoaXMuX3Byb2Nlc3NNaWdyYXRpb25zKHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbylmKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sZSk7KDAsZC5vdmVycmlkZVN0dWR5RGVmYXVsdHMpKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8pfV9wcm9jZXNzTGlicmFyeU1ldGFJbmZvKGUpe31fcmVxdWVzdEZpbmlzaGVkKCl7dGhpcy5faXNSZWFkeT0hMH1fZmluZFN0dWR5TWV0YUluZm8oZSl7cmV0dXJuImphdmEiPT09ZS50eXBlPygoMCxyLmFzc2VydCkoMCE9PXRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8ubGVuZ3RoLCJKYXZhIHN0dWRpZXMgbWV0YWluZm8gc2hvdWxkIGJlIGRlZmluZSBoZXJlIiksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mby5maW5kKCh0PT50LmlkPT09ZS5zdHVkeUlkKSl8fG51bGwpOnRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLmZpbmQoKHQ9PnQuc2NyaXB0SWRQYXJ0PT09ZS5waW5lSWQmJih2b2lkIDA9PT1lLnBpbmVWZXJzaW9ufHwoMCxyLmVuc3VyZURlZmluZWQpKHQucGluZSkudmVyc2lvbj09PWUucGluZVZlcnNpb24pKSl8fG51bGx9X2NvbXBpbGVQaW5lKGUpe2cubG9nTm9ybWFsKGBDb21waWxpbmcgJHtlLnBpbmVJZH0gc2NyaXB0YCk7Y29uc3QgdD0oMCxoLnRyYW5zbGF0ZVNjcmlwdEFzeW5jMikoZS5waW5lSWQsZS5waW5lVmVyc2lvbnx8Imxhc3QiKS50aGVuKCgoe21ldGFJbmZvOnQsY29tcGlsZUVycm9yczpzfSk9PihnLmxvZ05vcm1hbChgQ29tcGlsaW5nICR7ZS5waW5lSWR9IGlzIHN1Y2Nlc3NmdWxgKSx0aGlzLmFkZFBpbmVNZXRhSW5mbygoMCxyLmVuc3VyZURlZmluZWQpKHQpLHMuZXJyb3JzKSkpKTtyZXR1cm4gdC5jYXRjaCgodD0+e3QgaW5zdGFuY2VvZiBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCYmdGhpcy5hZGRQaW5lTWV0YUluZm8odC5tZXRhSW5mbyx0KSwKZy5sb2dOb3JtYWwoYENvbXBpbGluZyAke2UucGluZUlkfSBpcyBmYWlsZWRgKX0pKSx0fX1mdW5jdGlvbiBmKGUsdCl7Y29uc3Qgcz1uZXcgYS5TdHVkeU1ldGFJbmZvKHQpLnN0YXRlKCk7KDAsbC5taWdyYXRlTWV0YUluZm9BbmRQcm9wU3RhdGUpKHMpO2NvbnN0IGk9bmV3IGEuU3R1ZHlNZXRhSW5mbyhzKTtsZXQgbj0hMDtjb25zdCByPWUuZmluZEluZGV4KChlPT5lLmlkPT09aS5pZCkpO2lmKC0xPT09cillLnB1c2goaSk7ZWxzZXtjb25zdCB0PWVbcl0scz12b2lkIDAhPT10LnBpbmU/dS5WZXJzaW9uLnBhcnNlKHQucGluZS52ZXJzaW9uKTpudWxsLG89dm9pZCAwIT09aS5waW5lP3UuVmVyc2lvbi5wYXJzZShpLnBpbmUudmVyc2lvbik6bnVsbDtudWxsPT09b3x8bnVsbD09PXN8fG8uaXNHcmVhdGVyT3JFcXVhbChzKT8oKDAsZC5yZW1vdmVTdHVkeURlZmF1bHRzKSh0KSxlW3JdPWkpOm49ITF9cmV0dXJuIG4mJigwLGQuY3JlYXRlU3R1ZHlEZWZhdWx0cykoaSksaX1jb25zdCB2PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgeSh3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSkpKX0sODIyNzI2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RleHRXaWR0aENhY2hlOigpPT5yLGdldE1pblRleHRNZXRyaWNzOigpPT5ufSk7dmFyIGk9cyg1MTcyOTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJue3dpZHRoOmUud2lkdGgsYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCxhY3R1YWxCb3VuZGluZ0JveERlc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQsZm9udEJvdW5kaW5nQm94QXNjZW50OmUuZm9udEJvdW5kaW5nQm94QXNjZW50LGZvbnRCb3VuZGluZ0JveERlc2NlbnQ6ZS5mb250Qm91bmRpbmdCb3hEZXNjZW50fX1jbGFzcyBye2NvbnN0cnVjdG9yKGU9MTUwKXt0aGlzLl9mb250U3R5bGU9IiIsdGhpcy5fY2FjaGU9bmV3IGkuQ2lyY3VsYXJDYWNoZUJ1ZmZlcihlLDEuNSl9cmVzZXQoKXt0aGlzLl9jYWNoZS5jbGVhcigpfW1lYXN1cmVUZXh0KGUsdCxzKXtsZXQgaT10O3JldHVybiBzPy5tb25vJiYoaT10LnJlcGxhY2UoL1xkL2csIjAiKSksdGhpcy5nZXRNZXRyaWNzKGUsaSkud2lkdGh9eU1pZENvcnJlY3Rpb24oZSx0KXtjb25zdCBzPXRoaXMuZ2V0TWV0cmljcyhlLHQpO3JldHVybiB2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50JiZ2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudD8ocy5hY3R1YWxCb3VuZGluZ0JveEFzY2VudC1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCkvMjowfWdldE1ldHJpY3MoZSx0KXtlLmZvbnQhPT10aGlzLl9mb250U3R5bGUmJih0aGlzLnJlc2V0KCksdGhpcy5fZm9udFN0eWxlPWUuZm9udCk7Y29uc3Qgcz10aGlzLl9jYWNoZS5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBpPWUudGV4dEJhc2VsaW5lO2UudGV4dEJhc2VsaW5lPSJtaWRkbGUiO2NvbnN0IHI9bihlLm1lYXN1cmVUZXh0KHQpKTtyZXR1cm4gZS50ZXh0QmFzZWxpbmU9aSwwPT09ci53aWR0aCYmdC5sZW5ndGh8fHRoaXMuX2NhY2hlLnNldCh0LHIpLHJ9fX0sNjM5MTEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3NldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3Q6KCk9Pm4sc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdDooKT0+aX0pO2xldCBpPSIiO2Z1bmN0aW9uIG4oZSl7aT1lfX0sNzcwNzU1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5QYXl3YWxsOigpPT5vfSk7dmFyIGk9cyg5MzAyMzEpLG49cyg5OTk2NDApLHI9cyg0Mzg1MzkpO3MoMzAwMjg2KTthc3luYyBmdW5jdGlvbiBvKGUsdD17fSl7aWYobi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaXNIaWRkZW5GZWF0dXJlKGUuZmVhdHVyZSkpcmV0dXJuIHZvaWQgbi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaW52b2tlKGUuZmVhdHVyZSk7aWYoKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybigwLHIuc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZTplLmZlYXR1cmV9KTtjb25zdHtwYXl3YWxsczpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDg0NjkzKSxzLmUoNDk2ODQpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoMjAzNTQpLHMuZSg1MTg0KSxzLmUoMTEyMTgpLHMuZSg3MjY2Nikscy5lKDMyNjMyKSxzLmUoNTA2MjIpLHMuZSgzMzIyMSkscy5lKDU5MzUwKSxzLmUoMzMyMykscy5lKDM4MjYyKSxzLmUoODc0NzQpLHMuZSgzMjM4Nykscy5lKDc1NDg5KSxzLmUoNjg3NDEpLHMuZSg3MDU5MCkscy5lKDg2MDAxKV0pLnRoZW4ocy5iaW5kKHMsODE3ODE2KSk7by5vcGVuKGUsdCl9fSw2NTcyNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0TmV3QmxhY2tDb2xvcjooKT0+aX0pO2NvbnN0IGk9KDAscyg1NjkzOTgpLmlzRmVhdHVyZUVuYWJsZWQpKCJzZXRfbmV3X2JsYWNrX2NvbG9yIil9LDk1MTQ2OShlKXsidXNlIHN0cmljdCI7dmFyIHQ9e30scz17WENCVDoiQ0JPVCIsWE5ZTToiTllNRVgiLFhDTUU6IkNNRSIsWENFQzoiQ09NRVgifTt0LmNvbnZlcnRTeW1ib2xEYXRhVG9UVj1mdW5jdGlvbihlLHQsaSl7cmV0dXJuIGk9Mj09PWl8fCJmbG9vciI9PT1pfHwicGl0Ij09PWk/IlBJVCI6IkdCWCIsdCYmc1t0XT97c3RhdHVzOiJvayIsZGF0YTp7c3ltYm9sOmUsZXhjaGFuZ2U6c1t0XSsiXyIraX19OntzdGF0dXM6ImVycm9yIixkYXRhOiJFeGNoYW5nZSBgIit0KyJgIGlzIG5vdCBzdXBwb3J0ZWQifX0sZS5leHBvcnRzPXR9LDUyODM5NihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1gIyR7ZX0tc3ltYm9sLWRlc2NyaXB0aW9uYCxuPWkudCh0LHZvaWQgMCxzKDI1ODY2NykpO3JldHVybiBuPT09dD9udWxsOm59ZnVuY3Rpb24gcihlKXtpZih2b2lkIDAhPT1lLnByb19uYW1lKXtjb25zdCB0PW4oZS5wcm9fbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQKO2lmKHZvaWQgMCE9PWUuc2hvcnRfbmFtZSl7Y29uc3QgdD1uKGUuc2hvcnRfbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHR9fXJldHVybiJlbiIhPT1lLmxhbmd1YWdlJiZ2b2lkIDAhPT1lLmxvY2FsX2Rlc2NyaXB0aW9uJiZlLmxhbmd1YWdlPT09d2luZG93Lmxhbmd1YWdlfHwiZW4iPT09ZS5sYW5ndWFnZSYmdm9pZCAwIT09ZS5sb2NhbF9kZXNjcmlwdGlvbiYmZS5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZT9lLmxvY2FsX2Rlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb258fCIifX0sNzQ5ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQpe3R8fCh0PXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9e2NtcDp0fSk7dmFyIHM9dC5zcGFjZXx8IiI7Im51bWJlciI9PXR5cGVvZiBzJiYocz1BcnJheShzKzEpLmpvaW4oIiAiKSk7dmFyIGksbz0iYm9vbGVhbiI9PXR5cGVvZiB0LmN5Y2xlcyYmdC5jeWNsZXMsYT10LnJlcGxhY2VyfHxmdW5jdGlvbihlLHQpe3JldHVybiB0fSxsPXQuY21wJiYoaT10LmNtcCxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxzKXt2YXIgbj17a2V5OnQsdmFsdWU6ZVt0XX0scj17a2V5OnMsdmFsdWU6ZVtzXX07cmV0dXJuIGkobixyKX19KSx1PVtdO3JldHVybiBmdW5jdGlvbiBlKHQsaSxjLGQpe3ZhciBoPXM/IlxuIituZXcgQXJyYXkoZCsxKS5qb2luKHMpOiIiLHA9cz8iOiAiOiI6IjtpZihjJiZjLnRvSlNPTiYmImZ1bmN0aW9uIj09dHlwZW9mIGMudG9KU09OJiYoYz1jLnRvSlNPTigpKSx2b2lkIDAhPT0oYz1hLmNhbGwodCxpLGMpKSl7aWYoIm9iamVjdCIhPXR5cGVvZiBjfHxudWxsPT09YylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoYyk7aWYobihjKSl7Zm9yKHZhciBtPVtdLF89MDtfPGMubGVuZ3RoO18rKyl7dmFyIGc9ZShjLF8sY1tfXSxkKzEpfHxKU09OLnN0cmluZ2lmeShudWxsKTttLnB1c2goaCtzK2cpfXJldHVybiJbIittLmpvaW4oIiwiKStoKyJdIn1pZigtMSE9PXUuaW5kZXhPZihjKSl7aWYobylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoIl9fY3ljbGVfXyIpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkNvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04iKX11LnB1c2goYyk7dmFyIHk9cihjKS5zb3J0KGwmJmwoYykpO2ZvcihtPVtdLF89MDtfPHkubGVuZ3RoO18rKyl7dmFyIGY9ZShjLGk9eVtfXSxjW2ldLGQrMSk7aWYoZil7dmFyIHY9SlNPTi5zdHJpbmdpZnkoaSkrcCtmO20ucHVzaChoK3Mrdil9fXJldHVybiB1LnNwbGljZSh1LmluZGV4T2YoYyksMSksInsiK20uam9pbigiLCIpK2grIn0ifX0oeyIiOmV9LCIiLGUsMCl9cy5kKHQse3NvcnRlZFN0cmluZ2lmeTooKT0+aX0pO3ZhciBuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT17fS50b1N0cmluZy5jYWxsKGUpfSxyPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fHxmdW5jdGlvbigpe3JldHVybiEwfSxzPVtdO2Zvcih2YXIgaSBpbiBlKXQuY2FsbChlLGkpJiZzLnB1c2goaSk7cmV0dXJuIHN9fSwxMTM1NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cHJlcGFyZUN1cnJlbmN5Rm9yRGlzcGxheTooKT0+cixwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+bn0pO3ZhciBpPXMoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe2xldCB0PVtdO2NvbnN0IG49ZnVuY3Rpb24oZSl7c3dpdGNoKGUpe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDU1ODQxMikpO2Nhc2UiREVHQyI6cmV0dXJuIuKEgyI7ZGVmYXVsdDpyZXR1cm4gZX19KGUuY3VycmVuY3lfY29kZXx8ZS52YWx1ZV91bml0X2lkfHwiIik7c3dpdGNoKGUubWVhc3VyZSl7Y2FzZSJwcmljZSI6Y2FzZSJ1bml0Ijp0PVtuLGUudW5pdF9pZF07YnJlYWs7ZGVmYXVsdDp0PVtuXX1yZXR1cm4gdC5maWx0ZXIoQm9vbGVhbikuam9pbigi4oCJL+KAiSIpfWZ1bmN0aW9uIHIoZSx0KXtyZXR1cm4iJSI9PT10JiZ2b2lkIDAhPT1lP3t2YWx1ZTpgJHtlfSVgLGN1cnJlbmN5OnZvaWQgMH06e3ZhbHVlOmUsY3VycmVuY3k6dHx8dm9pZCAwfX19LDQzMzUzNChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0IDQ0IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMjkuNDggMTUuMzJjLS4xNi0uMTQtLjQtLjA3LS40OC4xM2E2LjA1IDYuMDUgMCAwIDEtMi4zOCAzLjEzIDYuMTYgNi4xNiAwIDAgMS0uOC40MmMtLjA2LjAzLS4xNC0uMDMtLjEzLS4xYTE5LjQ1IDE5LjQ1IDAgMCAwIC4wOC0uOXYtLjFjLjM4LTUuOTEtMi40My05LjEzLTQuNTktMTAuNDFhNy40IDcuNCAwIDAgMC0uNzktLjRjLS4xLS4wNS0uMjEuMTMtLjIuMjRhNS43IDUuNyAwIDAgMS0uMDQuNzN2LjAxYy0uMjcgMi40OS0yLjIyIDQuMjktNC4yMSA2LjE0LTEuNjMgMS41LTMuMjkgMy4wNS00LjExIDUuMDJhMTAuNDggMTAuNDggMCAwIDAtLjgzIDQuMDZBMTAuOSAxMC45IDAgMCAwIDIwLjE3IDM0Yy45NS0uNTkgMS4zNC0xLjgyIDEuMzMtMy4wNCAwLS4zNS0uMDQtLjctLjExLTEuMDMuMjggMCAuNjguMTQgMS4wNy40MUEzLjM2IDMuMzYgMCAwIDEgMjMuODMgMzQgMTAuODkgMTAuODkgMCAwIDAgMzMgMjMuMjljMC0zLjE1LTEuMzYtNS45OC0zLjUyLTcuOTdabS00LjU2IDE3LjRjNC4xLTEuMjMgNy4wOC01IDcuMDgtOS40MyAwLTIuNS0uOTQtNC43OC0yLjUtNi41MmE2LjQzIDYuNDMgMCAwIDEtMy4yNyAzLjE0bS0xLjMgMTIuODFhNC4zIDQuMyAwIDAgMC0yLjItMy4zOWMtLjQtLjIzLS44OC0uNC0xLjM0LS40aC0xLjIybC4yNCAxLjJjLjEzLjYyLjEyIDEuMy0uMDMgMS44Ni0uMS40MS0uMjcuNzMtLjQ4Ljk0QTkuOSA5LjkgMCAwIDEgMTIgMjMuM2MwLTEuMy4yNy0yLjUzLjc1LTMuNjcuNDItMSAxLjEtMS45MSAxLjk1LTIuODEuNi0uNjQgMS4yMy0xLjIzIDEuOS0xLjg0bC44Ny0uODJjMS41Ny0xLjUgMy4yLTMuMjIgMy42MS01LjU0IDEuOSAxLjM0IDQuMjkgNC40NCAzLjYxIDEwLjE2LS4wOS43OC43IDEuNTIgMS41NSAxLjE0Ii8+PC9zdmc+J30sODczNzk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NCA0NCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yOCAxNkgxNnYxaDEydi0xWk0yOCAyMEgxNnYxaDEydi0xWk0xNiAyNGgxMnYxSDE2di0xWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjIgMzAtMTAgNFYxMmExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MjJsLTEwLTRabS05IDIuNTJWMTJoMTh2MjAuNTJsLTktMy42LTkgMy42WiIvPjwvc3ZnPid9LDgwOTQzNihlKXsidXNlIHN0cmljdCIKO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImR1ciI6IjM1MG1zIiwiZHVyLWZhc3QiOiI2MG1zIiwiZWFzZS1pbi1saWtlIjoiY3ViaWMtYmV6aWVyKDAuMzMsIDAsIDAuMTEsIDEpIiwiZWFzZS1vdXQtbGlrZSI6ImN1YmljLWJlemllcigwLjg5LCAwLCAwLjY3LCAxKSIsInNpemUtZmVlZC1pdGVtLXdpZHRoIjoiNDgwcHgiLCJzaXplLWZlZWQtaGlkZW50IjoiMjBweCIsInNpemUtZmVlZC12aWRlbnQiOiIyMHB4Iiwic2l6ZS1iYXNlLWluZGVudCI6IjRweCIsInNpemUtbGF5b3V0LXNtYWxsLWhvcnpwYWRkaW5nIjoiMTJweCIsInNpemUtbGF5b3V0LWhvcnpwYWRkaW5nIjoiMjBweCIsInNpemUtZHJhd2luZ3MtdG9vbGJhci1pdGVtLWhlaWdodCI6IjM4cHgiLCJzaXplLWhlYWRlci1saW5raW5kZW50IjoiMTVweCIsInNpemUtaGVhZGVyLWhlaWdodCI6IjY0cHgiLCJzaXplLW5hdi1oZWFkZXItaGVpZ2h0IjoiNThweCIsInNpemUtc3RpY2t5LXN5bWJvbC1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtZGlhbG9nLWZpeGVkLWhlYWRlci1oZWlnaHQiOiI3MnB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nIjoiMjBweCIsInNpemUtc2l0ZS13aWRnZXQtcGFkZGluZy10YWJsZXQiOiIxMnB4Iiwic2l6ZS1jb2xsYXBzZS10YWJzLWhlaWdodCI6IjU2cHgiLCJzaXplLW5vLXNjcm9sbC1jaG9pY2VyLWhlaWdodCI6IjU2cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1pbmRlbnQiOiI0cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1yYWRpdXMiOiIwIiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0IjoiODBweCIsInNpemUtc2VhcmNoYmFyLWhlaWdodC10YWJsZXQiOiI1NHB4Iiwic2l6ZS1zZWFyY2hiYXItYnRuLXdpZHRoLXRhYmxldCI6IjY2cHgiLCJzaXplLWNvbnRlbnQtdG9wLXZpbmRlbnQiOiI0OHB4Iiwic2l6ZS1sYXlvdXQtd2lkdGgiOiIxMDIwcHgiLCJzaXplLWxheW91dC13aWR0aC13aWRlIjoiMTUyMHB4Iiwic2l6ZS1jaGVja2JveC1zaWRlIjoiMThweCIsInNpemUtY2hlY2tib3gtY2xpY2stZXhwYW5kIjoiMTBweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXhzbWFsbCI6IjE5cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0LS1zbWFsbCI6IjI3cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0IjoiMzRweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLWxhcmdlIjoiNDhweCIsInNpemUtY29udHJvbC1pbnB1dC1wYWRkaW5nLWhvcnoiOiIxMnB4Iiwic2l6ZS10YWJzLWhvcnotaW5kZW50IjoiMTZweCIsInNpemUtYXZhdGFyLWJvcmRlci1yYWRpdXMiOiIzcHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZyI6IjI1cHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZy10YWJsZXQiOiIyMHB4IiwicmFkaXVzLWVtYmVkLXdpZGdldC13cmFwcGVyIjoiM3B4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE2cHgtbGluZS1oZWlnaHQiOiIyNHB4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE4cHgtbGluZS1oZWlnaHQiOiIyOHB4IiwibWVkaWEtbm90ZWJvb2siOiJhbGwgYW5kIChtYXgtd2lkdGg6IDE1MzBweCkiLCJtZWRpYS10YWJsZXQiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDEwMTlweCkiLCJtZWRpYS1waG9uZSI6ImFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIiwibWVkaWEtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSIsIm1lZGlhLWV4dHJlbWUtdGhpbiI6ImFsbCBhbmQgKG1heC13aWR0aDogMzI5cHgpIiwibWVkaWEtc2hvdy1kcmF3ZXIiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDU2N3B4KSIsIm1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMzMwcHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lIjoiYWxsIGFuZCAobWluLXdpZHRoOiA0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktbm90ZWJvb2siOiJhbGwgYW5kIChtaW4td2lkdGg6IDEwMjBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTUzMXB4KSIsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMjBweCkiLCJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDU2OHB4KSIsIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogNzY4cHgpIiwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSIsIm1lZGlhLW1mLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtZXh0cmEtbGFyZ2UiOiJhbGwgYW5kIChtaW4td2lkdGg6IDI1NjBweCkiLCJjb250YWluZXItdGFibGV0IjoiKG1heC13aWR0aDogMTAxOXB4KSIsImNvbnRhaW5lci1waG9uZSI6IihtYXgtd2lkdGg6IDc2N3B4KSIsImNvbnRhaW5lci1waG9uZS12ZXJ0aWNhbCI6IihtYXgtd2lkdGg6IDQ3OXB4KSIsImNvbnRhaW5lci1tZi1waG9uZS12ZXJ0aWNhbCI6IihtaW4td2lkdGg6IDMwMHB4KSIsImNvbnRhaW5lci1tZi1waG9uZS1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA1NDhweCkiLCJjb250YWluZXItbWYtdGFibGV0LXZlcnRpY2FsIjoiKG1pbi13aWR0aDogNzAycHgpIiwiY29udGFpbmVyLW1mLXRhYmxldC1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA5NThweCkiLCJjb250YWluZXItbWYtbGFwdG9wIjoiKG1pbi13aWR0aDogMTIxNHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLW1lZGl1bSI6IihtaW4td2lkdGg6IDEzNzRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1sYXJnZSI6IihtaW4td2lkdGg6IDE4NTRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6IihtaW4td2lkdGg6IDI0OTRweCkiLCJtZWRpYS1sYXB0b3AiOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkiLCJtZWRpYS1sYXB0b3AtYW5kLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIiwibWVkaWEtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS1oZWlnaHQ6IDgxMnB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIiwibWVkaWEtcGhvbmUtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWF4LWhlaWdodDogNDQwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS13aWRnZXRiYXItYnJlYWtwb2ludCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTA2NHB4KSIsInotaW5kZXgtY29udGVudC1wYWdlIjoxLCJ6LWluZGV4LWNoYXJ0LWxlZ2VuZCI6Niwiei1pbmRleC1jaGFydC1yaWdodC1jb3JuZXItY29udHJvbHMiOjcsInotaW5kZXgtbG9hZGluZy1zY3JlZW4iOjgsInotaW5kZXgtZHJvcGRvd24iOjk5LCJ6LWluZGV4LXRvb2xiYXItcG9wdXAtbWVudSI6MTAwLCJ6LWluZGV4LXRvb2x0aXAiOjEwMDAsInotaW5kZXgtdXNlci1saW5rLXBvcHVwIjo5MDAsInotaW5kZXgtc3RpY2t5LXNlYXJjaC1iYXIiOjEwMSwiei1pbmRleC1yZXNpemFibGUtZHJhd2VyIjo4MDAsInotaW5kZXgtZnVsbHNjcmVlbiI6MTAyLCJkaXNhYmxlZC1zdGF0ZS1vcGFjaXR5IjowLjUsInNpemUtZ2FwLW1pbmltdW0iOiIyMHB4Iiwic2l6ZS1nYXAtbWVkaXVtIjoiNDBweCIsInNpemUtZ2FwLW1heGltdW0iOiIxMDBweCJ9JykKfX0sZT0+e2UuTygwLFs3NzAzOF0sKCgpPT57Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XS5tYXAoZS5FKX0pLDUpO2UuTygwLFs1ODY2Nyw2MjM1MSw5NTExNCwzOTA1LDU0NjgxLDMxODM3LDUxNTA4LDQ5NTE4LDMyNjMyLDg0MDgsOTk1MjcsMTE0MDksMzAyMDAsNTI4NDIsODg5MDYsMTM4MDksODU1MTAsMzM3MzUsMTMxNDgsNDkyNjUsOTk4MjcsNTYyNTgsNTM2MjcsMzQ2NzgsNDQ5MTEsNjU4NjIsNTEwMzEsMzU1Miw5NDgyNSwxMjE4MSw2OTM0LDk1MjQ0LDU1OTY5LDkzNDI2LDYzMTYwLDk3NDcyLDU5NDY1XSwoKCk9PntyZXR1cm4gdD00NDM3NzYsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78404.b5ecd6dc65f13def5eab.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.729Z","timestamp":1785124876729,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78404.b5ecd6dc65f13def5eab.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-192\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: db62aaf396137fdeccb2ff2acab5e912\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":402,"size_decoded":972,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (402), with no line terminators","md5":"1adcd7be7207d17f717ccc6eadb15c6d","sha1":"7c83ca692ff4bc9fc3a86f1a092266f0d48d8e77","sha256":"eea22714fdf62b6e84e4c6bf541cde06dc649c42a4e8ef4e618ba26446fd56fc","sha512":"dbe0864fd7c99e3526d69cd4162c10d36bc06090a2a4e50519e98b968eb75f82038172ebce2c56e9ca927f0ee45b4e6764a6c55b4bce29f953039423e1ea61a5","ssdeep":"","tlshash":"11e022e3c104147eb52fad5a46a360507391d8bd6529eff92183bafc9aca4e13233c56","first_seen":"2026-07-22T16:00:00.400221Z","last_seen":"2026-07-27T06:24:31.623055Z","times_seen":56,"resource_available":false,"data":"LndyYXBwZXIteWZOYmd0Z057YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47d2lkdGg6MTAwJX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7LmJ1dHRvbnMteWZOYmd0Z057cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9fS5jb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTntwYWRkaW5nOjZweH0uY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z046Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDotNnB4fUBtZWRpYSAobWF4LXdpZHRoOjQ0MHB4KXsuY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z057cGFkZGluZzo4cHh9LmNvbG9yU2VsZWN0QnV0dG9uLXlmTmJndGdOOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6LThweH19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32857.e4968cc906ac5769906a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.871Z","timestamp":1785124876871,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32857.e4968cc906ac5769906a.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-36c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b8f7d43fdba16efeee24e0e60708fe75\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":876,"size_decoded":1159,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (876), with no line terminators","md5":"2300c14fa93a6ca1be5ffcb4cde75b7a","sha1":"72f13b32bf8fc0e3ab8b60346fefa2fca04e68bd","sha256":"d1c022b9f3d492df3952eec63edac14172bf0bef9d6fc6d4b74ec034fb3daf44","sha512":"f696e9482d69b33dd34f340bf9db4d17972f5e08b58b5bd428647093fced8bfa93ad0aa0ae0ddb380e127ec490ea2c07363d59641c264138a29601add8b7c743","ssdeep":"","tlshash":"0d119088b301e03e7d0f2a3e439ac1dc62149852e9012f7db172d17044c57d676f252c","first_seen":"2026-06-30T21:57:43.416866Z","last_seen":"2026-07-27T06:24:31.536254Z","times_seen":173,"resource_available":false,"data":"LnN1bW1hcnktRTZ0eklRa1J7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MDtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZToxMnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MTAwJX0uc3VtbWFyeS1FNnR6SVFrUi5ob3ZlcmVkLUU2dHpJUWtSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc3VtbWFyeS1FNnR6SVFrUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LnN1bW1hcnktRTZ0eklRa1I6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5jYXJldC1FNnR6SVFrUntoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazoycHggMnB4O21hcmdpbi1pbmxpbmU6YXV0byAwO3dpZHRoOjE4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/conversions_en.json","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.064Z","timestamp":1785124877064,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /conversions_en.json HTTP/1.1\r\nHost: s3.tradingview.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://s.tradingview.com/\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/json\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"515bac03f6b5494f4a2d397393953729\"\r\nlast-modified: Mon, 15 Jun 2026 15:45:26 GMT\r\nx-amz-id-2: AcTEzbgJj5UVjviOBerPMHl9CcyGFkXAB50eHmkW2BDfGgX4Yc7TglEScD4yMvyRQ/R65eYs1cIAtqsKtJeZ+qBUqkJPY/pt\r\nx-amz-request-id: X29DMBVXVHJYXCJD\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: Yn7olbYD7o6TYkLq4b0mzbwmM.NLtydg\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/15/2026 15:54:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 471fefab38f00696f6574a00d856258b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.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":32165,"size_decoded":7567,"mime_type":"application/json","magic":"JSON text data","md5":"c35fd928c50e8b2349e85132fa6f8286","sha1":"49b62853a99436088ce7d39b040dd57bb927544d","sha256":"ad70a372c2fb1521db79bec862591a3a359a6bcd2ebdd99235fa781df4830cb2","sha512":"1932532c69fa69b4a039070fcc8ef701e2411e0a55db2ff6691f28e1a85f907276924eb7a64ed86c180321be77bbca6b21729dc6b322d41e5143354536492d94","ssdeep":"192:VRw3A1ugr/uPIbl9oucdDYjUl5On5AIEZK0kLt707iY35IZCCxuUupPj8T+1JQAh:VREA//CIudDYjB5AXZWt7zY6ZCNphjT3","tlshash":"e8e243181e49fa249b9ad3e35cbbdc28e4bc0309c9a5c9cd4db387b9028c3d5e552977","first_seen":"2026-06-15T23:45:30.057746Z","last_seen":"2026-07-27T06:24:31.787696Z","times_seen":198,"resource_available":false,"data":"ewoiY3VycmVuY2llcyI6IFsKeyJpZCI6IkFFRCIsImNvZGUiOiJBRUQiLCJkZXNjcmlwdGlvbiI6IlVuaXRlZCBBcmFiIEVtaXJhdGVzIERpcmhhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BRSJ9LAp7ImlkIjoiQUZOIiwiY29kZSI6IkFGTiIsImRlc2NyaXB0aW9uIjoiQWZnaGFuIEFmZ2hhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQUYifSwKeyJpZCI6IkFMTCIsImNvZGUiOiJBTEwiLCJkZXNjcmlwdGlvbiI6IkFsYmFuaWFuIExlayIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTCJ9LAp7ImlkIjoiQU1EIiwiY29kZSI6IkFNRCIsImRlc2NyaXB0aW9uIjoiQXJtZW5pYW4gRHJhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTSJ9LAp7ImlkIjoiQU9BIiwiY29kZSI6IkFPQSIsImRlc2NyaXB0aW9uIjoiQW5nb2xhbiBLd2FuemEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQU8ifSwKeyJpZCI6IkFSUyIsImNvZGUiOiJBUlMiLCJkZXNjcmlwdGlvbiI6IkFyZ2VudGluZSBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FSIn0sCnsiaWQiOiJBVUQiLCJjb2RlIjoiQVVEIiwiZGVzY3JpcHRpb24iOiJBdXN0cmFsaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVSJ9LAp7ImlkIjoiQVdHIiwiY29kZSI6IkFXRyIsImRlc2NyaXB0aW9uIjoiQXJ1YmFuIEZsb3JpbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVyJ9LAp7ImlkIjoiQVpOIiwiY29kZSI6IkFaTiIsImRlc2NyaXB0aW9uIjoiQXplcmJhaWphbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQVoifSwKeyJpZCI6IkJBTSIsImNvZGUiOiJCQU0iLCJkZXNjcmlwdGlvbiI6IkJvc25pYS1IZXJ6ZWdvdmluYSBDb252ZXJ0aWJsZSBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JBIn0sCnsiaWQiOiJCQkQiLCJjb2RlIjoiQkJEIiwiZGVzY3JpcHRpb24iOiJCYXJiYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JCIn0sCnsiaWQiOiJCRFQiLCJjb2RlIjoiQkRUIiwiZGVzY3JpcHRpb24iOiJCYW5nbGFkZXNoaSBUYWthIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JEIn0sCnsiaWQiOiJCR04iLCJjb2RlIjoiQkdOIiwiZGVzY3JpcHRpb24iOiJCdWxnYXJpYW4gTGV2Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JHIn0sCnsiaWQiOiJCSEQiLCJjb2RlIjoiQkhEIiwiZGVzY3JpcHRpb24iOiJCYWhyYWluaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CSCJ9LAp7ImlkIjoiQklGIiwiY29kZSI6IkJJRiIsImRlc2NyaXB0aW9uIjoiQnVydW5kaWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JJIn0sCnsiaWQiOiJCTUQiLCJjb2RlIjoiQk1EIiwiZGVzY3JpcHRpb24iOiJCZXJtdWRhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk0ifSwKeyJpZCI6IkJORCIsImNvZGUiOiJCTkQiLCJkZXNjcmlwdGlvbiI6IkJydW5laSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk4ifSwKeyJpZCI6IkJPQiIsImNvZGUiOiJCT0IiLCJkZXNjcmlwdGlvbiI6IkJvbGl2aWFuIEJvbGl2aWFubyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CTyJ9LAp7ImlkIjoiQlJMIiwiY29kZSI6IkJSTCIsImRlc2NyaXB0aW9uIjoiQnJhemlsaWFuIFJlYWwiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQlIifSwKeyJpZCI6IkJTRCIsImNvZGUiOiJCU0QiLCJkZXNjcmlwdGlvbiI6IkJhaGFtaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CUyJ9LAp7ImlkIjoiQlROIiwiY29kZSI6IkJUTiIsImRlc2NyaXB0aW9uIjoiQmh1dGFuZXNlIE5ndWx0cnVtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JUIn0sCnsiaWQiOiJCV1AiLCJjb2RlIjoiQldQIiwiZGVzY3JpcHRpb24iOiJCb3Rzd2FuYW4gUHVsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CVyJ9LAp7ImlkIjoiQllOIiwiY29kZSI6IkJZTiIsImRlc2NyaXB0aW9uIjoiQmVsYXJ1c2lhbiBSdWJsZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWSJ9LAp7ImlkIjoiQlpEIiwiY29kZSI6IkJaRCIsImRlc2NyaXB0aW9uIjoiQmVsaXplIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWiJ9LAp7ImlkIjoiQ0FEIiwiY29kZSI6IkNBRCIsImRlc2NyaXB0aW9uIjoiQ2FuYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NBIn0sCnsiaWQiOiJDREYiLCJjb2RlIjoiQ0RGIiwiZGVzY3JpcHRpb24iOiJDb25nb2xlc2UgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0QifSwKeyJpZCI6IkNIRiIsImNvZGUiOiJDSEYiLCJkZXNjcmlwdGlvbiI6IlN3aXNzIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NIIn0sCnsiaWQiOiJDTEYiLCJjb2RlIjoiQ0xGIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFVuaXQgb2YgQWNjb3VudCAoVUYpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NMIn0sCnsiaWQiOiJDTFAiLCJjb2RlIjoiQ0xQIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0wifSwKeyJpZCI6IkNOWSIsImNvZGUiOiJDTlkiLCJkZXNjcmlwdGlvbiI6IkNoaW5lc2UgWXVhbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DTiJ9LAp7ImlkIjoiQ09QIiwiY29kZSI6IkNPUCIsImRlc2NyaXB0aW9uIjoiQ29sb21iaWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ08ifSwKeyJpZCI6IkNSQyIsImNvZGUiOiJDUkMiLCJkZXNjcmlwdGlvbiI6IkNvc3RhIFJpY2FuIENvbMOzbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DUiJ9LAp7ImlkIjoiQ1VQIiwiY29kZSI6IkNVUCIsImRlc2NyaXB0aW9uIjoiQ3ViYW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVSJ9LAp7ImlkIjoiQ1ZFIiwiY29kZSI6IkNWRSIsImRlc2NyaXB0aW9uIjoiQ2FwZSBWZXJkZWFuIEVzY3VkbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DViJ9LAp7ImlkIjoiQ1pLIiwiY29kZSI6IkNaSyIsImRlc2NyaXB0aW9uIjoiQ3plY2ggS29ydW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NaIn0sCnsiaWQiOiJESkYiLCJjb2RlIjoiREpGIiwiZGVzY3JpcHRpb24iOiJEamlib3V0aWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RKIn0sCnsiaWQiOiJES0siLCJjb2RlIjoiREtLIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggS3JvbmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvREsifSwKeyJpZCI6IkRPUCIsImNvZGUiOiJET1AiLCJkZXNjcmlwdGlvbiI6IkRvbWluaWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RPIn0sCnsiaWQiOiJEWkQiLCJjb2RlIjoiRFpEIiwiZGVzY3JpcHRpb24iOiJBbGdlcmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9EWiJ9LAp7ImlkIjoiRUdQIiwiY29kZSI6IkVHUCIsImRlc2NyaXB0aW9uIjoiRWd5cHRpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRUcifSwKeyJpZCI6IkVSTiIsImNvZGUiOiJFUk4iLCJkZXNjcmlwdGlvbiI6IkVyaXRyZWFuIE5ha2ZhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0VSIn0sCnsiaWQiOiJFVEIiLCJjb2RlIjoiRVRCIiwiZGVzY3JpcHRpb24iOiJFdGhpb3BpYW4gQmlyciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVCJ9LAp7ImlkIjoiRVVSIiwiY29kZSI6IkVVUiIsImRlc2NyaXB0aW9uIjoiRXVybyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVSJ9LAp7ImlkIjoiRkpEIiwiY29kZSI6IkZKRCIsImRlc2NyaXB0aW9uIjoiRmlqaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GSiJ9LAp7ImlkIjoiR0JQIiwiY29kZSI6IkdCUCIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HQiJ9LAp7ImlkIjoiR0VMIiwiY29kZSI6IkdFTCIsImRlc2NyaXB0aW9uIjoiR2VvcmdpYW4gTGFyaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HRSJ9LAp7ImlkIjoiR0hTIiwiY29kZSI6IkdIUyIsImRlc2NyaXB0aW9uIjoiR2hhbmFpYW4gQ2VkaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HSCJ9LAp7ImlkIjoiR0lQIiwiY29kZSI6IkdJUCIsImRlc2NyaXB0aW9uIjoiR2licmFsdGFyIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dJIn0sCnsiaWQiOiJHTUQiLCJjb2RlIjoiR01EIiwiZGVzY3JpcHRpb24iOiJHYW1iaWFuIERhbGFzaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTSJ9LAp7ImlkIjoiR05GIiwiY29kZSI6IkdORiIsImRlc2NyaXB0aW9uIjoiR3VpbmVhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTiJ9LAp7ImlkIjoiR1RRIiwiY29kZSI6IkdUUSIsImRlc2NyaXB0aW9uIjoiR3VhdGVtYWxhbiBRdWV0emFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dUIn0sCnsiaWQiOiJHWUQiLCJjb2RlIjoiR1lEIiwiZGVzY3JpcHRpb24iOiJHdXlhbmFlc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dZIn0sCnsiaWQiOiJIS0QiLCJjb2RlIjoiSEtEIiwiZGVzY3JpcHRpb24iOiJIb25nIEtvbmcgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hLIn0sCnsiaWQiOiJITkwiLCJjb2RlIjoiSE5MIiwiZGVzY3JpcHRpb24iOiJIb25kdXJhbiBMZW1waXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hOIn0sCnsiaWQiOiJIVEciLCJjb2RlIjoiSFRHIiwiZGVzY3JpcHRpb24iOiJIYWl0aWFuIEdvdXJkZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVCJ9LAp7ImlkIjoiSFVGIiwiY29kZSI6IkhVRiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuIEZvcmludCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVSJ9LAp7ImlkIjoiSURSIiwiY29kZSI6IklEUiIsImRlc2NyaXB0aW9uIjoiSW5kb25lc2lhbiBSdXBpYWgiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSUQifSwKeyJpZCI6IklMUyIsImNvZGUiOiJJTFMiLCJkZXNjcmlwdGlvbiI6IklzcmFlbGkgTmV3IFNoZWtlbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiSU5SIiwiY29kZSI6IklOUiIsImRlc2NyaXB0aW9uIjoiSW5kaWFuIFJ1cGVlIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lOIn0sCnsiaWQiOiJJUUQiLCJjb2RlIjoiSVFEIiwiZGVzY3JpcHRpb24iOiJJcmFxaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JUSJ9LAp7ImlkIjoiSVJSIiwiY29kZSI6IklSUiIsImRlc2NyaXB0aW9uIjoiSXJhbmlhbiBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lSIn0sCnsiaWQiOiJJU0siLCJjb2RlIjoiSVNLIiwiZGVzY3JpcHRpb24iOiJJY2VsYW5kaWMgS3LDs25hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lTIn0sCnsiaWQiOiJKTUQiLCJjb2RlIjoiSk1EIiwiZGVzY3JpcHRpb24iOiJKYW1haWNhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSk0ifSwKeyJpZCI6IkpPRCIsImNvZGUiOiJKT0QiLCJkZXNjcmlwdGlvbiI6IkpvcmRhbmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9KTyJ9LAp7ImlkIjoiSlBZIiwiY29kZSI6IkpQWSIsImRlc2NyaXB0aW9uIjoiSmFwYW5lc2UgWWVuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0pQIn0sCnsiaWQiOiJLRVMiLCJjb2RlIjoiS0VTIiwiZGVzY3JpcHRpb24iOiJLZW55YW4gU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS0UifSwKeyJpZCI6IktHUyIsImNvZGUiOiJLR1MiLCJkZXNjcmlwdGlvbiI6Ikt5cmd5c3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0tHIn0sCnsiaWQiOiJLSFIiLCJjb2RlIjoiS0hSIiwiZGVzY3JpcHRpb24iOiJDYW1ib2RpYW4gUmllbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LSCJ9LAp7ImlkIjoiS01GIiwiY29kZSI6IktNRiIsImRlc2NyaXB0aW9uIjoiQ29tb3JpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS00ifSwKeyJpZCI6IktQVyIsImNvZGUiOiJLUFciLCJkZXNjcmlwdGlvbiI6Ik5vcnRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1AifSwKeyJpZCI6IktSVyIsImNvZGUiOiJLUlciLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1IifSwKeyJpZCI6IktXRCIsImNvZGUiOiJLV0QiLCJkZXNjcmlwdGlvbiI6Ikt1d2FpdGkgRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IktZRCIsImNvZGUiOiJLWUQiLCJkZXNjcmlwdGlvbiI6IkNheW1hbiBJc2xhbmRzIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LWSJ9LAp7ImlkIjoiS1pUIiwiY29kZSI6IktaVCIsImRlc2NyaXB0aW9uIjoiS2F6YWtoc3RhbmkgVGVuZ2UiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1oifSwKeyJpZCI6IkxBSyIsImNvZGUiOiJMQUsiLCJkZXNjcmlwdGlvbiI6Ikxhb3RpYW4gS2lwIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xBIn0sCnsiaWQiOiJMQlAiLCJjb2RlIjoiTEJQIiwiZGVzY3JpcHRpb24iOiJMZWJhbmVzZSBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MQiJ9LAp7ImlkIjoiTEtSIiwiY29kZSI6IkxLUiIsImRlc2NyaXB0aW9uIjoiU3JpIExhbmthbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MSyJ9LAp7ImlkIjoiTFJEIiwiY29kZSI6IkxSRCIsImRlc2NyaXB0aW9uIjoiTGliZXJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xSIn0sCnsiaWQiOiJMU0wiLCJjb2RlIjoiTFNMIiwiZGVzY3JpcHRpb24iOiJMZXNvdGhvIExvdGkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFMifSwKeyJpZCI6IkxZRCIsImNvZGUiOiJMWUQiLCJkZXNjcmlwdGlvbiI6IkxpYnlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MWSJ9LAp7ImlkIjoiTUFEIiwiY29kZSI6Ik1BRCIsImRlc2NyaXB0aW9uIjoiTW9yb2NjYW4gRGlyaGFtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01BIn0sCnsiaWQiOiJNREwiLCJjb2RlIjoiTURMIiwiZGVzY3JpcHRpb24iOiJNb2xkb3ZhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTUQifSwKeyJpZCI6Ik1HQSIsImNvZGUiOiJNR0EiLCJkZXNjcmlwdGlvbiI6Ik1hbGFnYXN5IEFyaWFyeSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NRyJ9LAp7ImlkIjoiTUtEIiwiY29kZSI6Ik1LRCIsImRlc2NyaXB0aW9uIjoiTWFjZWRvbmlhbiBEZW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NSyJ9LAp7ImlkIjoiTU1LIiwiY29kZSI6Ik1NSyIsImRlc2NyaXB0aW9uIjoiTXlhbm1hciBLeWF0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01NIn0sCnsiaWQiOiJNTlQiLCJjb2RlIjoiTU5UIiwiZGVzY3JpcHRpb24iOiJNb25nb2xpYW4gVHVncmlrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01OIn0sCnsiaWQiOiJNT1AiLCJjb2RlIjoiTU9QIiwiZGVzY3JpcHRpb24iOiJNYWNhbmVzZSBQYXRhY2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTU8ifSwKeyJpZCI6Ik1SVSIsImNvZGUiOiJNUlUiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGFuaWFuIG91Z3VpeWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVIifSwKeyJpZCI6Ik1VUiIsImNvZGUiOiJNVVIiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGlhbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVSJ9LAp7ImlkIjoiTVZSIiwiY29kZSI6Ik1WUiIsImRlc2NyaXB0aW9uIjoiTWFsZGl2aWFuIFJ1Zml5YWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVYifSwKeyJpZCI6Ik1XSyIsImNvZGUiOiJNV0siLCJkZXNjcmlwdGlvbiI6Ik1hbGF3aWFuIEt3YWNoYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVyJ9LAp7ImlkIjoiTVhOIiwiY29kZSI6Ik1YTiIsImRlc2NyaXB0aW9uIjoiTWV4aWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01YIn0sCnsiaWQiOiJNWFYiLCJjb2RlIjoiTVhWIiwiZGVzY3JpcHRpb24iOiJNZXhpY2FuIEludmVzdG1lbnQgVW5pdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWCJ9LAp7ImlkIjoiTVlSIiwiY29kZSI6Ik1ZUiIsImRlc2NyaXB0aW9uIjoiTWFsYXlzaWFuIFJpbmdnaXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVkifSwKeyJpZCI6Ik1aTiIsImNvZGUiOiJNWk4iLCJkZXNjcmlwdGlvbiI6Ik1vemFtYmljYW4gTWV0aWNhbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWiJ9LAp7ImlkIjoiTkFEIiwiY29kZSI6Ik5BRCIsImRlc2NyaXB0aW9uIjoiTmFtaWJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05BIn0sCnsiaWQiOiJOR04iLCJjb2RlIjoiTkdOIiwiZGVzY3JpcHRpb24iOiJOaWdlcmlhbiBOYWlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9ORyJ9LAp7ImlkIjoiTklPIiwiY29kZSI6Ik5JTyIsImRlc2NyaXB0aW9uIjoiTmljYXJhZ3VhbiBDw7NyZG9iYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OSSJ9LAp7ImlkIjoiTk9LIiwiY29kZSI6Ik5PSyIsImRlc2NyaXB0aW9uIjoiTm9yd2VnaWFuIEtyb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05PIn0sCnsiaWQiOiJOUFIiLCJjb2RlIjoiTlBSIiwiZGVzY3JpcHRpb24iOiJOZXBhbGVzZSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OUCJ9LAp7ImlkIjoiTlpEIiwiY29kZSI6Ik5aRCIsImRlc2NyaXB0aW9uIjoiTmV3IFplYWxhbmQgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05aIn0sCnsiaWQiOiJPTVIiLCJjb2RlIjoiT01SIiwiZGVzY3JpcHRpb24iOiJPbWFuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L09NIn0sCnsiaWQiOiJQQUIiLCJjb2RlIjoiUEFCIiwiZGVzY3JpcHRpb24iOiJQYW5hbWFuaWFuIEJhbGJvYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QQSJ9LAp7ImlkIjoiUEVOIiwiY29kZSI6IlBFTiIsImRlc2NyaXB0aW9uIjoiUGVydXZpYW4gU29sIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BFIn0sCnsiaWQiOiJQR0siLCJjb2RlIjoiUEdLIiwiZGVzY3JpcHRpb24iOiJQYXB1YSBOZXcgR3VpbmVhbiBLaW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BHIn0sCnsiaWQiOiJQSFAiLCJjb2RlIjoiUEhQIiwiZGVzY3JpcHRpb24iOiJQaGlsaXBwaW5lIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEgifSwKeyJpZCI6IlBLUiIsImNvZGUiOiJQS1IiLCJkZXNjcmlwdGlvbiI6IlBha2lzdGFuaSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QSyJ9LAp7ImlkIjoiUExOIiwiY29kZSI6IlBMTiIsImRlc2NyaXB0aW9uIjoiUG9saXNoIFpsb3R5Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BMIn0sCnsiaWQiOiJQWUciLCJjb2RlIjoiUFlHIiwiZGVzY3JpcHRpb24iOiJQYXJhZ3VheWFuIEd1YXJhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUFkifSwKeyJpZCI6IlFBUiIsImNvZGUiOiJRQVIiLCJkZXNjcmlwdGlvbiI6IlFhdGFyaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1FBIn0sCnsiaWQiOiJST04iLCJjb2RlIjoiUk9OIiwiZGVzY3JpcHRpb24iOiJSb21hbmlhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUk8ifSwKeyJpZCI6IlJTRCIsImNvZGUiOiJSU0QiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlMifSwKeyJpZCI6IlJVQiIsImNvZGUiOiJSVUIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gUnVibGUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlUifSwKeyJpZCI6IlJXRiIsImNvZGUiOiJSV0YiLCJkZXNjcmlwdGlvbiI6IlJ3YW5kYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlcifSwKeyJpZCI6IlNBUiIsImNvZGUiOiJTQVIiLCJkZXNjcmlwdGlvbiI6IlNhdWRpIFJpeWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NBIn0sCnsiaWQiOiJTQkQiLCJjb2RlIjoiU0JEIiwiZGVzY3JpcHRpb24iOiJTb2xvbW9uIElzbGFuZHMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NCIn0sCnsiaWQiOiJTQ1IiLCJjb2RlIjoiU0NSIiwiZGVzY3JpcHRpb24iOiJTZXljaGVsbG9pcyBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TQyJ9LAp7ImlkIjoiU0RHIiwiY29kZSI6IlNERyIsImRlc2NyaXB0aW9uIjoiU3VkYW5lc2UgUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0QifSwKeyJpZCI6IlNFSyIsImNvZGUiOiJTRUsiLCJkZXNjcmlwdGlvbiI6IlN3ZWRpc2ggS3JvbmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0UifSwKeyJpZCI6IlNHRCIsImNvZGUiOiJTR0QiLCJkZXNjcmlwdGlvbiI6IlNpbmdhcG9yZSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0cifSwKeyJpZCI6IlNMTCIsImNvZGUiOiJTTEwiLCJkZXNjcmlwdGlvbiI6IlNpZXJyYSBMZW9uZWFuIExlb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NMIn0sCnsiaWQiOiJTT1MiLCJjb2RlIjoiU09TIiwiZGVzY3JpcHRpb24iOiJTb21hbGkgU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU08ifSwKeyJpZCI6IlNSRCIsImNvZGUiOiJTUkQiLCJkZXNjcmlwdGlvbiI6IlN1cmluYW1lc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NSIn0sCnsiaWQiOiJTVE4iLCJjb2RlIjoiU1ROIiwiZGVzY3JpcHRpb24iOiJTYW8gVG9tZSBhbmQgUHJpbmNpcGUgZG9icmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1QifSwKeyJpZCI6IlNWQyIsImNvZGUiOiJTVkMiLCJkZXNjcmlwdGlvbiI6IlNhbHZhZG9yYW4gQ29sw7NuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NWIn0sCnsiaWQiOiJTWVAiLCJjb2RlIjoiU1lQIiwiZGVzY3JpcHRpb24iOiJTeXJpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1kifSwKeyJpZCI6IlNaTCIsImNvZGUiOiJTWkwiLCJkZXNjcmlwdGlvbiI6IlN3YXppIExpbGFuZ2VuaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TWiJ9LAp7ImlkIjoiVEhCIiwiY29kZSI6IlRIQiIsImRlc2NyaXB0aW9uIjoiVGhhaSBCYWh0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RIIn0sCnsiaWQiOiJUSlMiLCJjb2RlIjoiVEpTIiwiZGVzY3JpcHRpb24iOiJUYWppa2lzdGFuaSBTb21vbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVEoifSwKeyJpZCI6IlRNVCIsImNvZGUiOiJUTVQiLCJkZXNjcmlwdGlvbiI6IlR1cmttZW5pc3RhbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE0ifSwKeyJpZCI6IlRORCIsImNvZGUiOiJUTkQiLCJkZXNjcmlwdGlvbiI6IlR1bmlzaWFuIERpbmFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ROIn0sCnsiaWQiOiJUT1AiLCJjb2RlIjoiVE9QIiwiZGVzY3JpcHRpb24iOiJUb25nYW4gUGHKu2FuZ2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE8ifSwKeyJpZCI6IlRSWSIsImNvZGUiOiJUUlkiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2ggTGlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UUiJ9LAp7ImlkIjoiVFREIiwiY29kZSI6IlRURCIsImRlc2NyaXB0aW9uIjoiVHJpbmlkYWQgJiBUb2JhZ28gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RUIn0sCnsiaWQiOiJUV0QiLCJjb2RlIjoiVFdEIiwiZGVzY3JpcHRpb24iOiJOZXcgVGFpd2FuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UVyJ9LAp7ImlkIjoiVFpTIiwiY29kZSI6IlRaUyIsImRlc2NyaXB0aW9uIjoiVGFuemFuaWFuIFNoaWxsaW5nIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RaIn0sCnsiaWQiOiJVQUgiLCJjb2RlIjoiVUFIIiwiZGVzY3JpcHRpb24iOiJVa3JhaW5pYW4gSHJ5dm5pYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VQSJ9LAp7ImlkIjoiVUdYIiwiY29kZSI6IlVHWCIsImRlc2NyaXB0aW9uIjoiVWdhbmRhbiBTaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VRyJ9LAp7ImlkIjoiVVNEIiwiY29kZSI6IlVTRCIsImRlc2NyaXB0aW9uIjoiVVMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJVWVUiLCJjb2RlIjoiVVlVIiwiZGVzY3JpcHRpb24iOiJVcnVndWF5YW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VWSJ9LAp7ImlkIjoiVVpTIiwiY29kZSI6IlVaUyIsImRlc2NyaXB0aW9uIjoiVXpiZWtpc3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VaIn0sCnsiaWQiOiJWRVMiLCJjb2RlIjoiVkVTIiwiZGVzY3JpcHRpb24iOiJTb3ZlcmVpZ24gYm9sw612YXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVkUifSwKeyJpZCI6IlZORCIsImNvZGUiOiJWTkQiLCJkZXNjcmlwdGlvbiI6IlZpZXRuYW1lc2UgRG9uZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9WTiJ9LAp7ImlkIjoiVlVWIiwiY29kZSI6IlZVViIsImRlc2NyaXB0aW9uIjoiVmFudWF0dSBWYXR1Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ZVIn0sCnsiaWQiOiJXU1QiLCJjb2RlIjoiV1NUIiwiZGVzY3JpcHRpb24iOiJTYW1vYW4gVGFsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9XUyJ9LAp7ImlkIjoiWEFGIiwiY29kZSI6IlhBRiIsImRlc2NyaXB0aW9uIjoiQ2VudHJhbCBBZnJpY2FuIENGQSBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DRiJ9LAp7ImlkIjoiWENEIiwiY29kZSI6IlhDRCIsImRlc2NyaXB0aW9uIjoiRWFzdCBDYXJpYmJlYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FHIn0sCnsiaWQiOiJYQ0ciLCJjb2RlIjoiWENHIiwiZGVzY3JpcHRpb24iOiJDYXJpYmJlYW4gZ3VpbGRlciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVyJ9LAp7ImlkIjoiWERSIiwiY29kZSI6IlhEUiIsImRlc2NyaXB0aW9uIjoiU0RSIChTcGVjaWFsIERyYXdpbmcgUmlnaHQpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJYT0YiLCJjb2RlIjoiWE9GIiwiZGVzY3JpcHRpb24iOiJXZXN0IEFmcmljYW4gQ0ZBIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JKIn0sCnsiaWQiOiJYUEYiLCJjb2RlIjoiWFBGIiwiZGVzY3JpcHRpb24iOiJDRlAgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEYifSwKeyJpZCI6IlhUVkFUUyIsImNvZGUiOiJBVFMiLCJkZXNjcmlwdGlvbiI6IkF1c3RyaWFuIFNjaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVCJ9LAp7ImlkIjoiWFRWQkVGIiwiY29kZSI6IkJFRiIsImRlc2NyaXB0aW9uIjoiQmVsZ2lhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CRSJ9LAp7ImlkIjoiWFRWQzFJTkNIIiwiY29kZSI6IjFJTkNIIiwiZGVzY3JpcHRpb24iOiIxaW5jaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQzFJTkNIIn0sCnsiaWQiOiJYVFZDQUFWRSIsImNvZGUiOiJBQVZFIiwiZGVzY3JpcHRpb24iOiJBYXZlIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUFWRSJ9LAp7ImlkIjoiWFRWQ0FEQSIsImNvZGUiOiJBREEiLCJkZXNjcmlwdGlvbiI6IkNhcmRhbm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNBREEifSwKeyJpZCI6IlhUVkNBTEdPIiwiY29kZSI6IkFMR08iLCJkZXNjcmlwdGlvbiI6IkFsZ29yYW5kIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUxHTyJ9LAp7ImlkIjoiWFRWQ0FOS1IiLCJjb2RlIjoiQU5LUiIsImRlc2NyaXB0aW9uIjoiQW5rciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FOS1IifSwKeyJpZCI6IlhUVkNBVE9NIiwiY29kZSI6IkFUT00iLCJkZXNjcmlwdGlvbiI6IkNvc21vcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FUT00ifSwKeyJpZCI6IlhUVkNBVkFYIiwiY29kZSI6IkFWQVgiLCJkZXNjcmlwdGlvbiI6IkF2YWxhbmNoZSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FWQVgifSwKeyJpZCI6IlhUVkNBWFMiLCJjb2RlIjoiQVhTIiwiZGVzY3JpcHRpb24iOiJBeGllIEluZmluaXR5Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQVhTIn0sCnsiaWQiOiJYVFZDQkFUIiwiY29kZSI6IkJBVCIsImRlc2NyaXB0aW9uIjoiQmFzaWMgQXR0ZW50aW9uIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkFUIn0sCnsiaWQiOiJYVFZDQkNIIiwiY29kZSI6IkJDSCIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBDYXNoIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkNIIn0sCnsiaWQiOiJYVFZDQk5CIiwiY29kZSI6IkJOQiIsImRlc2NyaXB0aW9uIjoiQk5CIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5CIn0sCnsiaWQiOiJYVFZDQk5UIiwiY29kZSI6IkJOVCIsImRlc2NyaXB0aW9uIjoiQmFuY29yIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5UIn0sCnsiaWQiOiJYVFZDQlNWIiwiY29kZSI6IkJTViIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBTViIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0JTViJ9LAp7ImlkIjoiWFRWQ0JUQyIsImNvZGUiOiJCVEMiLCJkZXNjcmlwdGlvbiI6IkJpdGNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNCVEMifSwKeyJpZCI6IlhUVkNDQUtFIiwiY29kZSI6IkNBS0UiLCJkZXNjcmlwdGlvbiI6IlBhbmNha2VTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0FLRSJ9LAp7ImlkIjoiWFRWQ0NLQiIsImNvZGUiOiJDS0IiLCJkZXNjcmlwdGlvbiI6Ik5lcnZvcyBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0tCIn0sCnsiaWQiOiJYVFZDQ09NUCIsImNvZGUiOiJDT01QIiwiZGVzY3JpcHRpb24iOiJDb21wb3VuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0NPTVAifSwKeyJpZCI6IlhUVkNDT1RJIiwiY29kZSI6IkNPVEkiLCJkZXNjcmlwdGlvbiI6IkNPVEkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNDT1RJIn0sCnsiaWQiOiJYVFZDQ1JWIiwiY29kZSI6IkNSViIsImRlc2NyaXB0aW9uIjoiQ3VydmUgREFPIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ1JWIn0sCnsiaWQiOiJYVFZDREFJIiwiY29kZSI6IkRBSSIsImRlc2NyaXB0aW9uIjoiRGFpIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDREFJIn0sCnsiaWQiOiJYVFZDRE9HRSIsImNvZGUiOiJET0dFIiwiZGVzY3JpcHRpb24iOiJEb2dlY29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPR0UifSwKeyJpZCI6IlhUVkNET1QiLCJjb2RlIjoiRE9UIiwiZGVzY3JpcHRpb24iOiJQb2xrYWRvdCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPVCJ9LAp7ImlkIjoiWFRWQ0RZRFgiLCJjb2RlIjoiRVRIRFlEWCIsImRlc2NyaXB0aW9uIjoiZFlkWCAoZXRoRFlEWCkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNEWURYIn0sCnsiaWQiOiJYVFZDRUdMRCIsImNvZGUiOiJFR0xEIiwiZGVzY3JpcHRpb24iOiJNdWx0aXZlcnNYIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRUdMRCJ9LAp7ImlkIjoiWFRWQ0VPUyIsImNvZGUiOiJFT1MiLCJkZXNjcmlwdGlvbiI6IkVPUyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VPUyJ9LAp7ImlkIjoiWFRWQ0VUQyIsImNvZGUiOiJFVEMiLCJkZXNjcmlwdGlvbiI6IkV0aGVyZXVtIENsYXNzaWMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNFVEMifSwKeyJpZCI6IlhUVkNFVEgiLCJjb2RlIjoiRVRIIiwiZGVzY3JpcHRpb24iOiJFdGhlcmV1bSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VUSCJ9LAp7ImlkIjoiWFRWQ0ZJTCIsImNvZGUiOiJGSUwiLCJkZXNjcmlwdGlvbiI6IkZpbGVjb2luIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRklMIn0sCnsiaWQiOiJYVFZDRlRNIiwiY29kZSI6IkZUTSIsImRlc2NyaXB0aW9uIjoiRmFudG9tIChNaWdyYXRlZCB0byBTb25pYykiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVE0ifSwKeyJpZCI6IlhUVkNGVFQiLCJjb2RlIjoiRlRUIiwiZGVzY3JpcHRpb24iOiJGVFggVG9rZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVFQifSwKeyJpZCI6IlhUVkNHTk8iLCJjb2RlIjoiR05PIiwiZGVzY3JpcHRpb24iOiJHbm9zaXMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNHTk8ifSwKeyJpZCI6IlhUVkNHUkFNIiwiY29kZSI6IkdSQU0iLCJkZXNjcmlwdGlvbiI6IkdyYW0gKHByZXYuIFRvbmNvaW4pIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDR1JBTSJ9LAp7ImlkIjoiWFRWQ0dSVCIsImNvZGUiOiJHUlQiLCJkZXNjcmlwdGlvbiI6IlRoZSBHcmFwaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0dSQVBIIn0sCnsiaWQiOiJYVFZDSEJBUiIsImNvZGUiOiJIQkFSIiwiZGVzY3JpcHRpb24iOiJIZWRlcmEiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNIQkFSIn0sCnsiaWQiOiJYVFZDSE5UIiwiY29kZSI6IkhOVCIsImRlc2NyaXB0aW9uIjoiSGVsaXVtIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSE5UIn0sCnsiaWQiOiJYVFZDSE9UIiwiY29kZSI6IkhPVCIsImRlc2NyaXB0aW9uIjoiSG9sbyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0hPVCJ9LAp7ImlkIjoiWFRWQ0lDUCIsImNvZGUiOiJJQ1AiLCJkZXNjcmlwdGlvbiI6IkludGVybmV0IENvbXB1dGVyIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSUNQIn0sCnsiaWQiOiJYVFZDSU9UQSIsImNvZGUiOiJJT1RBIiwiZGVzY3JpcHRpb24iOiJJT1RBIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSU9UQSJ9LAp7ImlkIjoiWFRWQ0tBUyIsImNvZGUiOiJLQVMiLCJkZXNjcmlwdGlvbiI6Ikthc3BhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FTIn0sCnsiaWQiOiJYVFZDS0FWQSIsImNvZGUiOiJLQVZBIiwiZGVzY3JpcHRpb24iOiJLYXZhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FWQSJ9LAp7ImlkIjoiWFRWQ0tFRVAiLCJjb2RlIjoiS0VFUCIsImRlc2NyaXB0aW9uIjoiS2VlcCBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0VFUCJ9LAp7ImlkIjoiWFRWQ0tOQyIsImNvZGUiOiJLTkMiLCJkZXNjcmlwdGlvbiI6Ikt5YmVyIE5ldHdvcmsgQ3J5c3RhbCB2MiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0tOQyJ9LAp7ImlkIjoiWFRWQ0xFTyIsImNvZGUiOiJMRU8iLCJkZXNjcmlwdGlvbiI6IlVOVVMgU0VEIExFTyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0xFTyJ9LAp7ImlkIjoiWFRWQ0xJTksiLCJjb2RlIjoiTElOSyIsImRlc2NyaXB0aW9uIjoiQ2hhaW5saW5rIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTElOSyJ9LAp7ImlkIjoiWFRWQ0xSQyIsImNvZGUiOiJMUkMiLCJkZXNjcmlwdGlvbiI6Ikxvb3ByaW5nIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTFJDIn0sCnsiaWQiOiJYVFZDTFRDIiwiY29kZSI6IkxUQyIsImRlc2NyaXB0aW9uIjoiTGl0ZWNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNMVEMifSwKeyJpZCI6IlhUVkNNQU5BIiwiY29kZSI6Ik1BTkEiLCJkZXNjcmlwdGlvbiI6IkRlY2VudHJhbGFuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BTkEifSwKeyJpZCI6IlhUVkNNQVRJQyIsImNvZGUiOiJNQVRJQyIsImRlc2NyaXB0aW9uIjoiUG9seWdvbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BVElDIn0sCnsiaWQiOiJYVFZDTUtSIiwiY29kZSI6Ik1LUiIsImRlc2NyaXB0aW9uIjoiTWFrZXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNNS1IifSwKeyJpZCI6IlhUVkNORUFSIiwiY29kZSI6Ik5FQVIiLCJkZXNjcmlwdGlvbiI6Ik5FQVIgUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNORUFSIn0sCnsiaWQiOiJYVFZDTkgiLCJjb2RlIjoiQ05IIiwiZGVzY3JpcHRpb24iOiJDaGluZXNlIHl1YW4gb2Zmc2hvcmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ04ifSwKeyJpZCI6IlhUVkNPQ0VBTiIsImNvZGUiOiJPQ0VBTiIsImRlc2NyaXB0aW9uIjoiT2NlYW4gUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPQ0VBTiJ9LAp7ImlkIjoiWFRWQ09ORSIsImNvZGUiOiJPTkUiLCJkZXNjcmlwdGlvbiI6Ikhhcm1vbnkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPTkUifSwKeyJpZCI6IlhUVkNQRVJQIiwiY29kZSI6IlBFUlAiLCJkZXNjcmlwdGlvbiI6IlBlcnBldHVhbCBQcm90b2NvbCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1BFUlAifSwKeyJpZCI6IlhUVkNSRU4iLCJjb2RlIjoiUkVOIiwiZGVzY3JpcHRpb24iOiJSZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNSRU4ifSwKeyJpZCI6IlhUVkNSRVEiLCJjb2RlIjoiUkVRIiwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUkVRIn0sCnsiaWQiOiJYVFZDUk9TRSIsImNvZGUiOiJST1NFIiwiZGVzY3JpcHRpb24iOiJPYXNpcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JPU0UifSwKeyJpZCI6IlhUVkNSU1IiLCJjb2RlIjoiUlNSIiwiZGVzY3JpcHRpb24iOiJSZXNlcnZlIFJpZ2h0cyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JTUiJ9LAp7ImlkIjoiWFRWQ1JVTkUiLCJjb2RlIjoiUlVORSIsImRlc2NyaXB0aW9uIjoiVEhPUkNoYWluIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUlVORSJ9LAp7ImlkIjoiWFRWQ1NBTkQiLCJjb2RlIjoiU0FORCIsImRlc2NyaXB0aW9uIjoiVGhlIFNhbmRib3giLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQU5EIn0sCnsiaWQiOiJYVFZDU0NSVCIsImNvZGUiOiJTQ1JUIiwiZGVzY3JpcHRpb24iOiJTZWNyZXQiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQ1JUIn0sCnsiaWQiOiJYVFZDU0hJQiIsImNvZGUiOiJTSElCIiwiZGVzY3JpcHRpb24iOiJTaGliYSBJbnUiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTSElCIn0sCnsiaWQiOiJYVFZDU05YIiwiY29kZSI6IlNOWCIsImRlc2NyaXB0aW9uIjoiU3ludGhldGl4Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU05YIn0sCnsiaWQiOiJYVFZDU09MIiwiY29kZSI6IlNPTCIsImRlc2NyaXB0aW9uIjoiU29sYW5hIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU09MIn0sCnsiaWQiOiJYVFZDU1JNIiwiY29kZSI6IlNSTSIsImRlc2NyaXB0aW9uIjoiU2VydW0iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTUk0ifSwKeyJpZCI6IlhUVkNTVVNISSIsImNvZGUiOiJTVVNISSIsImRlc2NyaXB0aW9uIjoiU3VzaGlTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU1VTSEkifSwKeyJpZCI6IlhUVkNTWFAiLCJjb2RlIjoiU1hQIiwiZGVzY3JpcHRpb24iOiJTb2xhciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1NYUCJ9LAp7ImlkIjoiWFRWQ1RIRVRBIiwiY29kZSI6IlRIRVRBIiwiZGVzY3JpcHRpb24iOiJUaGV0YSBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVEhFVEEifSwKeyJpZCI6IlhUVkNUTE9TIiwiY29kZSI6IlRMT1MiLCJkZXNjcmlwdGlvbiI6IlRlbG9zIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVExPUyJ9LAp7ImlkIjoiWFRWQ1RPTiIsImNvZGUiOiJUT04iLCJkZXNjcmlwdGlvbiI6IlRvbmNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNUT04ifSwKeyJpZCI6IlhUVkNUUlgiLCJjb2RlIjoiVFJYIiwiZGVzY3JpcHRpb24iOiJUUk9OIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVFJYIn0sCnsiaWQiOiJYVFZDVU1BIiwiY29kZSI6IlVNQSIsImRlc2NyaXB0aW9uIjoiVU1BIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVU1BIn0sCnsiaWQiOiJYVFZDVU5JIiwiY29kZSI6IlVOSSIsImRlc2NyaXB0aW9uIjoiVW5pc3dhcCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VOSSJ9LAp7ImlkIjoiWFRWQ1VTREMiLCJjb2RlIjoiVVNEQyIsImRlc2NyaXB0aW9uIjoiVVNEQyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VTREMifSwKeyJpZCI6IlhUVkNVU0RUIiwiY29kZSI6IlVTRFQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBVU0R0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVVNEVCJ9LAp7ImlkIjoiWFRWQ1ZFVCIsImNvZGUiOiJWRVQiLCJkZXNjcmlwdGlvbiI6IlZlQ2hhaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNWRVQifSwKeyJpZCI6IlhUVkNXQlRDIiwiY29kZSI6IldCVEMiLCJkZXNjcmlwdGlvbiI6IldyYXBwZWQgQml0Y29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1dCVEMifSwKeyJpZCI6IlhUVkNYQVVUIiwiY29kZSI6IlhBVVQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBHb2xkIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWEFVVCJ9LAp7ImlkIjoiWFRWQ1hMTSIsImNvZGUiOiJYTE0iLCJkZXNjcmlwdGlvbiI6IlN0ZWxsYXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTE0ifSwKeyJpZCI6IlhUVkNYTVIiLCJjb2RlIjoiWE1SIiwiZGVzY3JpcHRpb24iOiJNb25lcm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTVIifSwKeyJpZCI6IlhUVkNYUlAiLCJjb2RlIjoiWFJQIiwiZGVzY3JpcHRpb24iOiJYUlAiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYUlAifSwKeyJpZCI6IlhUVkNYVFoiLCJjb2RlIjoiWFRaIiwiZGVzY3JpcHRpb24iOiJUZXpvcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1hUWiJ9LAp7ImlkIjoiWFRWQ1lGSSIsImNvZGUiOiJZRkkiLCJkZXNjcmlwdGlvbiI6IlllYXJuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWUZJIn0sCnsiaWQiOiJYVFZDWlJYIiwiY29kZSI6IlpSWCIsImRlc2NyaXB0aW9uIjoiMHggUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNaUlgifSwKeyJpZCI6IlhUVkRFTSIsImNvZGUiOiJERU0iLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RFIn0sCnsiaWQiOiJYVFZFU1AiLCJjb2RlIjoiRVNQIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIFBlc2V0YSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FUyJ9LAp7ImlkIjoiWFRWRklNIiwiY29kZSI6IkZJTSIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCBNYXJra2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRkkifSwKeyJpZCI6IlhUVkZSRiIsImNvZGUiOiJGUkYiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GUiJ9LAp7ImlkIjoiWFRWR0JYIiwiY29kZSI6IkdCWCIsImRlc2NyaXB0aW9uIjoiUGVuY2Ugc3RlcmxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR0IifSwKeyJpZCI6IlhUVkdSRCIsImNvZGUiOiJHUkQiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIERyYWNobWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR1IifSwKeyJpZCI6IlhUVklFUCIsImNvZGUiOiJJRVAiLCJkZXNjcmlwdGlvbiI6IklyaXNoIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lFIn0sCnsiaWQiOiJYVFZJTEEiLCJjb2RlIjoiSUxBIiwiZGVzY3JpcHRpb24iOiJJc3JhZWxpIGFnb3JvdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiWFRWSVRMIiwiY29kZSI6IklUTCIsImRlc2NyaXB0aW9uIjoiSXRhbGlhbiBMaXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lUIn0sCnsiaWQiOiJYVFZLV0YiLCJjb2RlIjoiS1dGIiwiZGVzY3JpcHRpb24iOiJLdXdhaXRpIGZpbHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IlhUVkxVRiIsImNvZGUiOiJMVUYiLCJkZXNjcmlwdGlvbiI6Ikx1eGVtYm91cmdpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFUifSwKeyJpZCI6IlhUVk5MRyIsImNvZGUiOiJOTEciLCJkZXNjcmlwdGlvbiI6IkR1dGNoIEd1aWxkZXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTkwifSwKeyJpZCI6IlhUVlBURSIsImNvZGUiOiJQVEUiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgRXNjdWRvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BUIn0sCnsiaWQiOiJYVFZTSVQiLCJjb2RlIjoiU0lUIiwiZGVzY3JpcHRpb24iOiJTbG92ZW5pYW4gVG9sYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0kifSwKeyJpZCI6IlhUVlVTWCIsImNvZGUiOiJVU1giLCJkZXNjcmlwdGlvbiI6IlUuUy4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVVMifSwKeyJpZCI6IlhUVlpBQyIsImNvZGUiOiJaQUMiLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEFmcmljYW4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IllFUiIsImNvZGUiOiJZRVIiLCJkZXNjcmlwdGlvbiI6IlllbWVuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1lFIn0sCnsiaWQiOiJaQVIiLCJjb2RlIjoiWkFSIiwiZGVzY3JpcHRpb24iOiJTb3V0aCBBZnJpY2FuIFJhbmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IlpNVyIsImNvZGUiOiJaTVciLCJkZXNjcmlwdGlvbiI6IlphbWJpYW4gS3dhY2hhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1pNIn0KXSwKInVuaXRzIjogWwp7ImlkIjoiMTAwS0dNIiwibmFtZSI6IjEwMGtnIiwiZGVzY3JpcHRpb24iOiIxMDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjEwS0dNIiwibmFtZSI6IjEwa2ciLCJkZXNjcmlwdGlvbiI6IjEwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiIyMEtHTSIsIm5hbWUiOiIyMGtnIiwiZGVzY3JpcHRpb24iOiIyMCBraWxvZ3JhbXMiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiNDBLR00iLCJuYW1lIjoiNDBrZyIsImRlc2NyaXB0aW9uIjoiNDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjYwS0dNIiwibmFtZSI6IjYwa2ciLCJkZXNjcmlwdGlvbiI6IjYwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUFoiLCJuYW1lIjoiYXBveiIsImRlc2NyaXB0aW9uIjoidHJveSBvdW5jZSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUlJPQkEiLCJuYW1lIjoiYXJyb2JhIiwiZGVzY3JpcHRpb24iOiJhcnJvYmEiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiQkxEIiwibmFtZSI6IkJMRCIsImRlc2NyaXB0aW9uIjoiZHJ5IGJhcnJlbCAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQkxMIiwibmFtZSI6IkJMTCIsImRlc2NyaXB0aW9uIjoiYmFycmVsIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJCTExQREFZIiwibmFtZSI6IkJMTC9kYXkiLCJkZXNjcmlwdGlvbiI6ImJhcnJlbCBwZXIgZGF5IiwidHlwZSI6ImJsbHBlcmRheSJ9LAp7ImlkIjoiQlJUIiwibmFtZSI6IkJSVCIsImRlc2NyaXB0aW9uIjoiYmlydGggcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ0aG91c2FuZHBlb3BsZSJ9LAp7ImlkIjoiQlRVIiwibmFtZSI6IkJ0dSIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCB0aGVybWFsIHVuaXQiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJCVUEiLCJuYW1lIjoiQlVBIiwiZGVzY3JpcHRpb24iOiJidXNoZWwgKFVTKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkJVSSIsIm5hbWUiOiJCVUkiLCJkZXNjcmlwdGlvbiI6ImJ1c2hlbCAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQ0FQIiwibmFtZSI6IkNBUCIsImRlc2NyaXB0aW9uIjoiY29tcGFueSBhbmQgcGVyc29uIiwidHlwZSI6ImNvbXBhbnlhbmRwZXJzb24ifSwKeyJpZCI6IkNBU0VTIiwibmFtZSI6IkNhc2VzLzEwMDAwIiwiZGVzY3JpcHRpb24iOiJjYXNlcyBwZXIgMTAwMDAgcGVvcGxlIiwidHlwZSI6ImNhc2VzcGVyMTAwMDAifSwKeyJpZCI6IkNNUE5ZIiwibmFtZSI6IkNNUE5ZIiwiZGVzY3JpcHRpb24iOiJjb21wYW55IiwidHlwZSI6ImNvbXBhbnkifSwKeyJpZCI6IkNNUSIsIm5hbWUiOiJjbTMiLCJkZXNjcmlwdGlvbiI6ImNtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkNOVFJUIiwibmFtZSI6ImNvbnRyYWN0IiwiZGVzY3JpcHRpb24iOiJjb250cmFjdCIsInR5cGUiOiJjb250cmFjdCJ9LAp7ImlkIjoiQ1JMIiwibmFtZSI6IkNSTCIsImRlc2NyaXB0aW9uIjoiY2FybG9hZCIsInR5cGUiOiJjYXJsb2FkIn0sCnsiaWQiOiJDV0EiLCJuYW1lIjoiQ1dBIiwiZGVzY3JpcHRpb24iOiJodW5kcmVkd2VpZ2h0IFVTIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IkNXSSIsIm5hbWUiOiJDV0kiLCJkZXNjcmlwdGlvbiI6Imh1bmRyZWR3ZWlnaHQgVUsiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFHIiwibmFtZSI6ImRhZyIsImRlc2NyaXB0aW9uIjoiZGVjYWdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFZIiwibmFtZSI6ImRheSIsImRlc2NyaXB0aW9uIjoiZGF5IiwidHlwZSI6InRpbWUifSwKeyJpZCI6IkRFR0MiLCJuYW1lIjoiREVHQyIsImRlc2NyaXB0aW9uIjoiZGVncmVlcyBDZWxzaXVzIiwidHlwZSI6InRlbXBlcmF0dXJlIn0sCnsiaWQiOiJET1oiLCJuYW1lIjoiRE9aIiwiZGVzY3JpcHRpb24iOiJkb3plbiIsInR5cGUiOiJkb3plbiJ9LAp7ImlkIjoiRVVBIiwibmFtZSI6IkVVQSIsImRlc2NyaXB0aW9uIjoiRVUgYWxsb3dhbmNlIiwidHlwZSI6ImFsbG93YW5jZSJ9LAp7ImlkIjoiRlRRIiwibmFtZSI6ImZ0MyIsImRlc2NyaXB0aW9uIjoiZnQzIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR0pPIiwibmFtZSI6ImdKIiwiZGVzY3JpcHRpb24iOiJnaWdham91bGUiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJHTEQiLCJuYW1lIjoiR0xEIiwiZGVzY3JpcHRpb24iOiJkcnkgZ2FsbG9uIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJHTEkiLCJuYW1lIjoiR0xJIiwiZGVzY3JpcHRpb24iOiJnYWxsb24gKFVLKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkdMTCIsIm5hbWUiOiJHTEwiLCJkZXNjcmlwdGlvbiI6ImdhbGxvbiAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR1JNIiwibmFtZSI6ImciLCJkZXNjcmlwdGlvbiI6ImdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiR1dIIiwibmFtZSI6IkdXaCIsImRlc2NyaXB0aW9uIjoiZ2lnYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IkhJUkUiLCJuYW1lIjoiSGlyZSIsImRlc2NyaXB0aW9uIjoiaGlyZSIsInR5cGUiOiJoaXJlIn0sCnsiaWQiOiJITFQiLCJuYW1lIjoiaGwiLCJkZXNjcmlwdGlvbiI6ImhlY3RvbGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJIT1VSIiwibmFtZSI6ImhvdXIiLCJkZXNjcmlwdGlvbiI6ImhvdXIiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiSFMiLCJuYW1lIjoiSG91c2UiLCJkZXNjcmlwdGlvbiI6ImhvdXNlIiwidHlwZSI6ImhvdXNlIn0sCnsiaWQiOiJIU0giLCJuYW1lIjoiSFNIIiwiZGVzY3JpcHRpb24iOiJob3VzZWhvbGQiLCJ0eXBlIjoiaG91c2Vob2xkIn0sCnsiaWQiOiJIU0kiLCJuYW1lIjoiSFNJIiwiZGVzY3JpcHRpb24iOiJob3VzaW5nIGludmVudG9yeSIsInR5cGUiOiJob3VzaW5naW52ZW50b3J5In0sCnsiaWQiOiJJTkQiLCJuYW1lIjoiSU5EIiwiZGVzY3JpcHRpb24iOiJpbmRpY2F0b3IiLCJ0eXBlIjoiaW5kaWNhdG9yIn0sCnsiaWQiOiJJUCIsIm5hbWUiOiJJUCIsImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyIsInR5cGUiOiJpcCJ9LAp7ImlkIjoiSkJPIiwibmFtZSI6IkpCTyIsImRlc2NyaXB0aW9uIjoiam9iIG9wZW5pbmciLCJ0eXBlIjoiam9ib3BlbmluZyJ9LAp7ImlkIjoiSkxDIiwibmFtZSI6IkpMQyIsImRlc2NyaXB0aW9uIjoiam9ibGVzcyBjbGFpbSIsInR5cGUiOiJqb2JsZXNzY2xhaW0ifSwKeyJpZCI6IkpPVSIsIm5hbWUiOiJKIiwiZGVzY3JpcHRpb24iOiJqb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktCUFMiLCJuYW1lIjoia2JwcyIsImRlc2NyaXB0aW9uIjoia2lsb2JpdCBwZXIgc2Vjb25kIiwidHlwZSI6Im5ldHdvcmtiYW5kd2l0aCJ9LAp7ImlkIjoiS0dNIiwibmFtZSI6ImtnIiwiZGVzY3JpcHRpb24iOiJraWxvZ3JhbSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJLSk8iLCJuYW1lIjoia0oiLCJkZXNjcmlwdGlvbiI6ImtpbG9qb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktXSCIsIm5hbWUiOiJrV2giLCJkZXNjcmlwdGlvbiI6ImtpbG93YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJMQUQiLCJuYW1lIjoiTEFEIiwiZGVzY3JpcHRpb24iOiJsYXlvZmYgYW5kIGRpc2NoYXJnZSIsInR5cGUiOiJsYXlvZmZhbmRkaXNjaGFyZ2UifSwKeyJpZCI6IkxCUiIsIm5hbWUiOiJsYiIsImRlc2NyaXB0aW9uIjoicG91bmQiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiTFROIiwibmFtZSI6Imx0IiwiZGVzY3JpcHRpb24iOiJsb25nIHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJMVFIiLCJuYW1lIjoibCIsImRlc2NyaXB0aW9uIjoibGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNQSIsIm5hbWUiOiJtb3J0Z2FnZSBhcGwuIiwiZGVzY3JpcHRpb24iOiJtb3J0Z2FnZSBhcHBsaWNhdGlvbiIsInR5cGUiOiJtb3J0Z2FnZWFwcGxpY2F0aW9uIn0sCnsiaWQiOiJNQkYiLCJuYW1lIjoiTUJGIiwiZGVzY3JpcHRpb24iOiIxMDAwIGJvYXJkIGZlZXQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNTUJUVSIsIm5hbWUiOiJNTUJ0dSIsImRlc2NyaXB0aW9uIjoibWlsbGlvbiBCcml0aXNoIHRoZXJtYWwgdW5pdCIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1NVFIiLCJuYW1lIjoiTWlsbGltZXRlciIsImRlc2NyaXB0aW9uIjoibWlsbGltZXRlciIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik1PTlRIIiwibmFtZSI6Im1vbnRoIiwiZGVzY3JpcHRpb24iOiJtb250aCIsInR5cGUiOiJ0aW1lIn0sCnsiaWQiOiJNVCIsIm5hbWUiOiJNVCIsImRlc2NyaXB0aW9uIjoibWV0cmljIHRvbm5lIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik1USyIsIm5hbWUiOiJtMiIsImRlc2NyaXB0aW9uIjoibTIiLCJ0eXBlIjoiYXJlYSJ9LAp7ImlkIjoiTVRRIiwibmFtZSI6Im0zIiwiZGVzY3JpcHRpb24iOiJtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6Ik1XRCIsIm5hbWUiOiJNV2QiLCJkZXNjcmlwdGlvbiI6Im1lZ2F3YXR0IGRheSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1XSCIsIm5hbWUiOiLQnFdoIiwiZGVzY3JpcHRpb24iOiJtZWdhd2F0dCBob3VyIiwidHlwZSI6ImVuZXJneSJ9LAp7ImlkIjoiTkJMIiwibmFtZSI6Ik5CTCIsImRlc2NyaXB0aW9uIjoibmV0IGJhbGFuY2UiLCJ0eXBlIjoibmV0YmFsYW5jZSJ9LAp7ImlkIjoiTk1JIiwibmFtZSI6Ik5NSSIsImRlc2NyaXB0aW9uIjoibmF1dGljYWwgbWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik9OWiIsIm5hbWUiOiJPTloiLCJkZXNjcmlwdGlvbiI6Im91bmNlIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik9aQSIsIm5hbWUiOiJPWkEiLCJkZXNjcmlwdGlvbiI6ImZsdWlkIG91bmNlIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJPWkkiLCJuYW1lIjoiT1pJIiwiZGVzY3JpcHRpb24iOiJmbHVpZCBvdW5jZSAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiUEFZUk9MTCIsIm5hbWUiOiJQYXlyb2xsIiwiZGVzY3JpcHRpb24iOiJwYXlyb2xsIiwidHlwZSI6InBheXJvbGwifSwKeyJpZCI6IlBDVCIsIm5hbWUiOiIlIiwiZGVzY3JpcHRpb24iOiJwZXJjZW50IiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVERZIiwibmFtZSI6IkRpc2NvdW50IHlpZWxkLCAlIiwiZGVzY3JpcHRpb24iOiJkaXNjb3VudCB5aWVsZCIsInR5cGUiOiJwZXJjZW50In0sCnsiaWQiOiJQQ1RHRFAiLCJuYW1lIjoiJSBvZiBHRFAiLCJkZXNjcmlwdGlvbiI6InBlcmNlbnQgb2YgR0RQIiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVFBBUiIsIm5hbWUiOiIlIG9mIHBhciIsImRlc2NyaXB0aW9uIjoicGVyY2VudCBvZiBwYXIiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUENUWVRNIiwibmFtZSI6IllUTSwgJSIsImRlc2NyaXB0aW9uIjoieWllbGQgdG8gbWF0dXJpdHkiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUEhUUCIsIm5hbWUiOiJQSFRQIiwiZGVzY3JpcHRpb24iOiJwZXIgMTAwIDAwMCBwZW9wbGUiLCJ0eXBlIjoicGVyMTAwMDAwcGVvcGxlIn0sCnsiaWQiOiJQTVAiLCJuYW1lIjoiUE1QIiwiZGVzY3JpcHRpb24iOiJwZXIgb25lIG1pbGxpb24gcGVvcGxlIiwidHlwZSI6InBlcm9uZW1pbGxpb25wZW9wbGUifSwKeyJpZCI6IlBPSU5UIiwibmFtZSI6InBvaW50IiwiZGVzY3JpcHRpb24iOiJwb2ludCIsInR5cGUiOiJwb2ludCJ9LAp7ImlkIjoiUFBMIiwibmFtZSI6IlBQTCIsImRlc2NyaXB0aW9uIjoicGVvcGxlIiwidHlwZSI6InBlb3BsZSJ9LAp7ImlkIjoiUFNOIiwibmFtZSI6IlBTTiIsImRlc2NyaXB0aW9uIjoicGVyc29uIiwidHlwZSI6InBlcnNvbiJ9LAp7ImlkIjoiUFRQIiwibmFtZSI6IlBUUCIsImRlc2NyaXB0aW9uIjoicGVyIDEwMDAgcGVvcGxlIiwidHlwZSI6InBlcjEwMDBwZW9wbGUifSwKeyJpZCI6IlJBVElPIiwibmFtZSI6IlJhdGlvIiwiZGVzY3JpcHRpb24iOiJyYXRpbyIsInR5cGUiOiJyYXRpbyJ9LAp7ImlkIjoiUlBNSSIsIm5hbWUiOiJSUE1JIiwiZGVzY3JpcHRpb24iOiJyZXZlbnVlIHBhc3NlbmdlciBtaWxlIiwidHlwZSI6InJldmVudWVwYXNzZW5nZXJtaWxlIn0sCnsiaWQiOiJTRVAiLCJuYW1lIjoiU0VQIiwiZGVzY3JpcHRpb24iOiJzZXBhcmFpb24iLCJ0eXBlIjoic2VwYXJhdGlvbiJ9LAp7ImlkIjoiU0hBUkUiLCJuYW1lIjoic2hhcmUiLCJkZXNjcmlwdGlvbiI6InNoYXJlIiwidHlwZSI6InNoYXJlIn0sCnsiaWQiOiJTTUkiLCJuYW1lIjoiTWlsZSIsImRlc2NyaXB0aW9uIjoibWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6IlNUTiIsIm5hbWUiOiJTVE4iLCJkZXNjcmlwdGlvbiI6InNob3J0IHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJUQ00iLCJuYW1lIjoidGNtIiwiZGVzY3JpcHRpb24iOiJ0aG91c2FuZCBjdWJpYyBtZXRyZXMiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJURlIiLCJuYW1lIjoiVEZSIiwiZGVzY3JpcHRpb24iOiJ0b3RhbCBmZXJ0aWxpdHkgcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ3b21hbiJ9LAp7ImlkIjoiVElWIiwibmFtZSI6IlRJViIsImRlc2NyaXB0aW9uIjoiU0lQUkkgVElWIiwidHlwZSI6InNpcHJpdGl2In0sCnsiaWQiOiJUTkUiLCJuYW1lIjoidCIsImRlc2NyaXB0aW9uIjoidG9ubmUiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiVFdIIiwibmFtZSI6IlRXaCIsImRlc2NyaXB0aW9uIjoidGVyYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IlRoR0IiLCJuYW1lIjoidGhhaWdvbGRiYWh0IiwiZGVzY3JpcHRpb24iOiJ0aGFpIGdvbGQgYmFodCIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJVS0EiLCJuYW1lIjoiVUtBIiwiZGVzY3JpcHRpb24iOiJVSyBhbGxvd2FuY2UiLCJ0eXBlIjoiYWxsb3dhbmNlIn0sCnsiaWQiOiJVTklUIiwibmFtZSI6InVuaXQiLCJkZXNjcmlwdGlvbiI6InVuaXQiLCJ0eXBlIjoidW5pdCJ9LAp7ImlkIjoiVkNOQ1kiLCJuYW1lIjoiVkNOQ1kiLCJkZXNjcmlwdGlvbiI6ImpvYiB2YWNhbmNpZXMiLCJ0eXBlIjoidmFjYW5jeSJ9LAp7ImlkIjoiV0NEIiwibmFtZSI6ImNvcmQiLCJkZXNjcmlwdGlvbiI6IkNvcmQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJXRUVLIiwibmFtZSI6IndlZWsiLCJkZXNjcmlwdGlvbiI6IndlZWsiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiV0hSIiwibmFtZSI6IldoIiwiZGVzY3JpcHRpb24iOiJ3YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJZRUFSIiwibmFtZSI6InllYXIiLCJkZXNjcmlwdGlvbiI6InllYXIiLCJ0eXBlIjoidGltZSJ9Cl0KfQo="}},"time_used":27,"timings":{"blocked":-1,"dns":9,"connect":11,"send":0,"wait":2,"receive":-1,"ssl":5},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67799.e2495691cea17b3a81c2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.808Z","timestamp":1785124876808,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67799.e2495691cea17b3a81c2.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dd4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 515156e1dfa9faaa5e871b5a42034ee1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7636,"size_decoded":2594,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (7636), with no line terminators","md5":"6098916a464733489420c06d4d157550","sha1":"3d922ecff9adfcac8b445b191abbbc96b8187051","sha256":"caeccc97bab3aa41bfb78157071643ae404f0ea6519d21a900a8d95d046e1e85","sha512":"da35876591ab0f26295aaa719b5305a8d64e2aeae102349f2e39f0db10964fa882cf4f4dcb4da145ab36fe83e84994e75dd61286e48abf8b54556caab7355962","ssdeep":"192:2QoSuITjVqGw07dUQdX+D3TQ3oimJmp9+9IianQm:cvCmJiTL","tlshash":"c9f124c621c49f7a7ce345afa674a2ec6348dd38f93309d7b621ae6480c16b5027492e","first_seen":"2026-07-17T14:15:58.312947Z","last_seen":"2026-07-27T06:14:34.319075Z","times_seen":86,"resource_available":false,"data":"LmJhY2tncm91bmQtTlFvbTVJOFp7YWxpZ24taXRlbXM6c3RyZXRjaDtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlO3otaW5kZXg6MTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQ6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkOjF9fS5tZWRpdW0tTlFvbTVJOFp7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSozMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNDBweCl9LmxhcmdlLU5Rb201SThae21pbi1oZWlnaHQ6NDBweH0uZGlzYWJsZWQtTlFvbTVJOFp7b3BhY2l0eTouNX0uYmFja2dyb3VuZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWJhY2tncm91bmRDb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlKSl9Lm9wZW4tTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX19LnNlbGVjdGVkLU5Rb201SThaLC5zZWxlY3RlZC1OUW9tNUk4Wi5vcGVuLU5Rb201SThaey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlbGVjdGVkLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX19LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6bm90KC5zZWxlY3RlZC1OUW9tNUk4Wik6YWN0aXZley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yQWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5uZXV0cmFsLU5Rb201SThaLmJhY2tncm91bmQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10ZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCkpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zZWNvbmRhcnlUZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0ubmV1dHJhbC1OUW9tNUk4Wi5zZWxlY3RlZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXByaW1hcnktY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2Vjb25kYXJ5VGV4dENvbG9yU2VsZWN0ZWQsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKSl9LmRhbmdlci1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaLC5kYW5nZXItTlFvbTVJOFouc2VsZWN0ZWQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmV1dHJhbC1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOm5vdCguc2VsZWN0ZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tdGV4dENvbG9ySG92ZXIsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSkpfX0uYnV0dG9uLVhOVWl2VG91e2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MTtmb250LWZhbWlseTppbmhlcml0O21pbi13aWR0aDowO3BhZGRpbmc6MDtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjJweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjZweCkgY2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNnB4KTtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KSBjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KTt0ZXh0LWFsaWduOnN0YXJ0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5idXR0b24tWE5VaXZUb3U6YWZ0ZXJ7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0uYnV0dG9uLVhOVWl2VG91OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NnB4fS5idXR0b24tWE5VaXZUb3V7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1YTlVpdlRvdTphZnRlciwuYnV0dG9uLVhOVWl2VG91OmJlZm9yZXtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmJ1dHRvbi1YTlVpdlRvdTpiZWZvcmV7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO2luc2V0LWlubGluZS1zdGFydDoycHg7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6YmVmb3Jle2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTpiZWZvcmV7ZGlzcGxheTpub25lfS5idXR0b24tWE5VaXZUb3U6Zm9jdXN7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1mb2N1c2VkOjF9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlOjF9YS5idXR0b24tWE5VaXZUb3V7Y3Vyc29yOnBvaW50ZXJ9LmhvdGtleS1YYzZTaHBDcXtjb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0taG90a2V5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LmhvdGtleS1YYzZTaHBDcTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucmlnaHQtQ0dkakthOVl7YWxpZ24tc2VsZjpzdHJldGNoO2NvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcik7cG9zaXRpb246cmVsYXRpdmV9LnJpZ2h0LUNHZGpLYTlZOmhhcyhbZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uXSl7bWFyZ2luLWlubGluZS1lbmQ6LTJweH0uY2hpbGQtQ0dkakthOVl7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDtnYXA6NHB4O2hlaWdodDoyOHB4O3BhZGRpbmctYmxvY2s6M3B4IDNweDtwYWRkaW5nLWlubGluZToyNHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6Y2FsYyg1MCUqdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTUwJSp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSkpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmVsbGlwc2lzLURhelI4NVZBe292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ud2l0aEdhcHMtRGF6Ujg1VkF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtnYXA6NnB4fS5taWRkbGUtRnR3d1JyN3V7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21pbi13aWR0aDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0uaGFzTm9FbmRTbG90LUZ0d3dScjd1e3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnRpdGxlLUZ0d3dScjd1ey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxNnB4KTstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE4cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyNHB4KX0uZGVzY3JpcHRpb24tRnR3d1JyN3UsLnRpdGxlLUZ0d3dScjd1e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZGVzY3JpcHRpb24tRnR3d1JyN3V7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yKTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweH0uaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UsLmhhc1RpdGxlLUZ0d3dScjd1e2ZsZXg6MX0uaGFzVGl0bGUtRnR3d1JyN3UuaGFzRGVzY3JpcHRpb24tRnR3d1JyN3V7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHgpfS5oYXNUaXRsZS1GdHd3UnI3dTpub3QoLmhhc0Rlc2NyaXB0aW9uLUZ0d3dScjd1KXtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo1cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoycHgpO3BhZGRpbmctdG9wOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjVweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjJweCl9LmJ1dHRvbkNvbnRlbnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLXdpZHRoOjB9LmxlZnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWxlZnRTbG90SXRlbXNOdW1iZXIpLDI4cHgpO2hlaWdodDoyOHB4O2p1c3RpZnktaXRlbXM6Y2VudGVyfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.236Z","timestamp":1785124877236,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80915.69404fda8aafc2742c55.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a102262-2b32\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 22 May 2026 09:31:14 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/22/2026 10:43:51\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 95676d13763c5d9b4bebf7f6c8e374cd\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11058,"size_decoded":4760,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"de2945c844b995a4434f72c9e9f10d55","sha1":"dfa0f41fd695f4ab2068af223864f90085590f09","sha256":"29df78da8b43b5048b57229594ed6f3ad79785773f63f3001a604d1a17a206e7","sha512":"e000d576b22c638622179b6cd5b5e72b9e95c90f191dce058a700842f4ab620ffa60fabfd70814866ae1686b778f1fb6384117e7bf0c4d1c66af5945324c2137","ssdeep":"192:zD6UcCbe+/OzNJUFPphLnY8P8hfJnubwbwShMj:SUcX+/OuPphLehfJnpMShMj","tlshash":"bd32a559b2a0b02595cf6760c02f150aa2752019f70d98d4f69ed9ea3db076f213be3d","first_seen":"2026-05-22T13:27:07.587764Z","last_seen":"2026-07-27T06:24:31.748177Z","times_seen":147,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODA5MTVdLHs2ODA5MTUodCxlLHIpe3IuZChlLHtGaXhlZFNpemVMaXN0OigpPT56LFZhcmlhYmxlU2l6ZUxpc3Q6KCk9Pk19KTt2YXIgbj1yKDY0NDMyMCksbz1yKDMxMDIxMSksaT1yKDk0MTkyMSksYT1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdCE9dH07ZnVuY3Rpb24gbCh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspaWYobj10W3JdLG89ZVtyXSwhKG49PT1vfHxhKG4pJiZhKG8pKSlyZXR1cm4hMTt2YXIgbixvO3JldHVybiEwfWNvbnN0IHM9ZnVuY3Rpb24odCxlKXt2YXIgcjt2b2lkIDA9PT1lJiYoZT1sKTt2YXIgbixvPVtdLGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBhPVtdLGw9MDtsPGFyZ3VtZW50cy5sZW5ndGg7bCsrKWFbbF09YXJndW1lbnRzW2xdO3JldHVybiBpJiZyPT09dGhpcyYmZShhLG8pfHwobj10LmFwcGx5KHRoaXMsYSksaT0hMCxyPXRoaXMsbz1hKSxufX07dmFyIGM9cig3Nzk0NzQpLHU9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdz9mdW5jdGlvbigpe3JldHVybiBwZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKX07ZnVuY3Rpb24gZih0KXtjYW5jZWxBbmltYXRpb25GcmFtZSh0LmlkKX1mdW5jdGlvbiBkKHQsZSl7dmFyIHI9dSgpO3ZhciBuPXtpZDpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uIG8oKXt1KCktcj49ZT90LmNhbGwobnVsbCk6bi5pZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobyl9KSl9O3JldHVybiBufXZhciBoPW51bGw7ZnVuY3Rpb24gcCh0KXtpZih2b2lkIDA9PT10JiYodD0hMSksbnVsbD09PWh8fHQpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHI9ZS5zdHlsZTtyLndpZHRoPSI1MHB4IixyLmhlaWdodD0iNTBweCIsci5vdmVyZmxvdz0ic2Nyb2xsIixyLmRpcmVjdGlvbj0icnRsIjt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxvPW4uc3R5bGU7cmV0dXJuIG8ud2lkdGg9IjEwMHB4IixvLmhlaWdodD0iMTAwcHgiLGUuYXBwZW5kQ2hpbGQobiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxlLnNjcm9sbExlZnQ+MD9oPSJwb3NpdGl2ZS1kZXNjZW5kaW5nIjooZS5zY3JvbGxMZWZ0PTEsaD0wPT09ZS5zY3JvbGxMZWZ0PyJuZWdhdGl2ZSI6InBvc2l0aXZlLWFzY2VuZGluZyIpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksaH1yZXR1cm4gaH12YXIgbT1mdW5jdGlvbih0LGUpe3JldHVybiB0fTtmdW5jdGlvbiB2KHQpe3ZhciBlLHIsYT10LmdldEl0ZW1PZmZzZXQsbD10LmdldEVzdGltYXRlZFRvdGFsU2l6ZSx1PXQuZ2V0SXRlbVNpemUsaD10LmdldE9mZnNldEZvckluZGV4QW5kQWxpZ25tZW50LHY9dC5nZXRTdGFydEluZGV4Rm9yT2Zmc2V0LFM9dC5nZXRTdG9wSW5kZXhGb3JTdGFydEluZGV4LEk9dC5pbml0SW5zdGFuY2VQcm9wcyxfPXQuc2hvdWxkUmVzZXRTdHlsZUNhY2hlT25JdGVtU2l6ZUNoYW5nZSx5PXQudmFsaWRhdGVQcm9wcztyZXR1cm4gcj1lPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dmFyIHI7cmV0dXJuKHI9dC5jYWxsKHRoaXMsZSl8fHRoaXMpLl9pbnN0YW5jZVByb3BzPUkoci5wcm9wcywoMCxpLmRlZmF1bHQpKCgwLGkuZGVmYXVsdCkocikpKSxyLl9vdXRlclJlZj12b2lkIDAsci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZD1udWxsLHIuc3RhdGU9e2luc3RhbmNlOigwLGkuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KShyKSksaXNTY3JvbGxpbmc6ITEsc2Nyb2xsRGlyZWN0aW9uOiJmb3J3YXJkIixzY3JvbGxPZmZzZXQ6Im51bWJlciI9PXR5cGVvZiByLnByb3BzLmluaXRpYWxTY3JvbGxPZmZzZXQ/ci5wcm9wcy5pbml0aWFsU2Nyb2xsT2Zmc2V0OjAsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOiExfSxyLl9jYWxsT25JdGVtc1JlbmRlcmVkPXZvaWQgMCxyLl9jYWxsT25JdGVtc1JlbmRlcmVkPXMoKGZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiByLnByb3BzLm9uSXRlbXNSZW5kZXJlZCh7b3ZlcnNjYW5TdGFydEluZGV4OnQsb3ZlcnNjYW5TdG9wSW5kZXg6ZSx2aXNpYmxlU3RhcnRJbmRleDpuLHZpc2libGVTdG9wSW5kZXg6b30pfSkpLHIuX2NhbGxPblNjcm9sbD12b2lkIDAsci5fY2FsbE9uU2Nyb2xsPXMoKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gci5wcm9wcy5vblNjcm9sbCh7c2Nyb2xsRGlyZWN0aW9uOnQsc2Nyb2xsT2Zmc2V0OmUsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOm59KX0pKSxyLl9nZXRJdGVtU3R5bGU9dm9pZCAwLHIuX2dldEl0ZW1TdHlsZT1mdW5jdGlvbih0KXt2YXIgZSxuPXIucHJvcHMsbz1uLmRpcmVjdGlvbixpPW4uaXRlbVNpemUsbD1uLmxheW91dCxzPXIuX2dldEl0ZW1TdHlsZUNhY2hlKF8mJmksXyYmbCxfJiZvKTtpZihzLmhhc093blByb3BlcnR5KHQpKWU9c1t0XTtlbHNle3ZhciBjPWEoci5wcm9wcyx0LHIuX2luc3RhbmNlUHJvcHMpLGY9dShyLnByb3BzLHQsci5faW5zdGFuY2VQcm9wcyksZD0iaG9yaXpvbnRhbCI9PT1vfHwiaG9yaXpvbnRhbCI9PT1sLGg9InJ0bCI9PT1vLHA9ZD9jOjA7c1t0XT1lPXtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6aD92b2lkIDA6cCxyaWdodDpoP3A6dm9pZCAwLHRvcDpkPzA6YyxoZWlnaHQ6ZD8iMTAwJSI6Zix3aWR0aDpkP2Y6IjEwMCUifX1yZXR1cm4gZX0sci5fZ2V0SXRlbVN0eWxlQ2FjaGU9dm9pZCAwLHIuX2dldEl0ZW1TdHlsZUNhY2hlPXMoKGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm57fX0pKSxyLl9vblNjcm9sbEhvcml6b250YWw9ZnVuY3Rpb24odCl7dmFyIGU9dC5jdXJyZW50VGFyZ2V0LG49ZS5jbGllbnRXaWR0aCxvPWUuc2Nyb2xsTGVmdCxpPWUuc2Nyb2xsV2lkdGg7ci5zZXRTdGF0ZSgoZnVuY3Rpb24odCl7aWYodC5zY3JvbGxPZmZzZXQ9PT1vKXJldHVybiBudWxsCjt2YXIgZT1yLnByb3BzLmRpcmVjdGlvbixhPW87aWYoInJ0bCI9PT1lKXN3aXRjaChwKCkpe2Nhc2UibmVnYXRpdmUiOmE9LW87YnJlYWs7Y2FzZSJwb3NpdGl2ZS1kZXNjZW5kaW5nIjphPWktbi1vfXJldHVybiBhPU1hdGgubWF4KDAsTWF0aC5taW4oYSxpLW4pKSx7aXNTY3JvbGxpbmc6ITAsc2Nyb2xsRGlyZWN0aW9uOnQuc2Nyb2xsT2Zmc2V0PG8/ImZvcndhcmQiOiJiYWNrd2FyZCIsc2Nyb2xsT2Zmc2V0OmEsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOiExfX0pLHIuX3Jlc2V0SXNTY3JvbGxpbmdEZWJvdW5jZWQpfSxyLl9vblNjcm9sbFZlcnRpY2FsPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY3VycmVudFRhcmdldCxuPWUuY2xpZW50SGVpZ2h0LG89ZS5zY3JvbGxIZWlnaHQsaT1lLnNjcm9sbFRvcDtyLnNldFN0YXRlKChmdW5jdGlvbih0KXtpZih0LnNjcm9sbE9mZnNldD09PWkpcmV0dXJuIG51bGw7dmFyIGU9TWF0aC5tYXgoMCxNYXRoLm1pbihpLG8tbikpO3JldHVybntpc1Njcm9sbGluZzohMCxzY3JvbGxEaXJlY3Rpb246dC5zY3JvbGxPZmZzZXQ8ZT8iZm9yd2FyZCI6ImJhY2t3YXJkIixzY3JvbGxPZmZzZXQ6ZSxzY3JvbGxVcGRhdGVXYXNSZXF1ZXN0ZWQ6ITF9fSksci5fcmVzZXRJc1Njcm9sbGluZ0RlYm91bmNlZCl9LHIuX291dGVyUmVmU2V0dGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXIucHJvcHMub3V0ZXJSZWY7ci5fb3V0ZXJSZWY9dCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmZS5oYXNPd25Qcm9wZXJ0eSgiY3VycmVudCIpJiYoZS5jdXJyZW50PXQpfSxyLl9yZXNldElzU2Nyb2xsaW5nRGVib3VuY2VkPWZ1bmN0aW9uKCl7bnVsbCE9PXIuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQmJmYoci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZCksci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZD1kKHIuX3Jlc2V0SXNTY3JvbGxpbmcsMTUwKX0sci5fcmVzZXRJc1Njcm9sbGluZz1mdW5jdGlvbigpe3IuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQ9bnVsbCxyLnNldFN0YXRlKHtpc1Njcm9sbGluZzohMX0sKGZ1bmN0aW9uKCl7ci5fZ2V0SXRlbVN0eWxlQ2FjaGUoLTEsbnVsbCl9KSl9LHJ9KDAsby5kZWZhdWx0KShlLHQpLGUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGcodCxlKSx5KHQpLG51bGx9O3ZhciByPWUucHJvdG90eXBlO3JldHVybiByLnNjcm9sbFRvPWZ1bmN0aW9uKHQpe3Q9TWF0aC5tYXgoMCx0KSx0aGlzLnNldFN0YXRlKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zY3JvbGxPZmZzZXQ9PT10P251bGw6e3Njcm9sbERpcmVjdGlvbjplLnNjcm9sbE9mZnNldDx0PyJmb3J3YXJkIjoiYmFja3dhcmQiLHNjcm9sbE9mZnNldDp0LHNjcm9sbFVwZGF0ZVdhc1JlcXVlc3RlZDohMH19KSx0aGlzLl9yZXNldElzU2Nyb2xsaW5nRGVib3VuY2VkKX0sci5zY3JvbGxUb0l0ZW09ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT0iYXV0byIpO3ZhciByPXRoaXMucHJvcHMuaXRlbUNvdW50LG49dGhpcy5zdGF0ZS5zY3JvbGxPZmZzZXQ7dD1NYXRoLm1heCgwLE1hdGgubWluKHQsci0xKSksdGhpcy5zY3JvbGxUbyhoKHRoaXMucHJvcHMsdCxlLG4sdGhpcy5faW5zdGFuY2VQcm9wcykpfSxyLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wcm9wcyxlPXQuZGlyZWN0aW9uLHI9dC5pbml0aWFsU2Nyb2xsT2Zmc2V0LG49dC5sYXlvdXQ7aWYoIm51bWJlciI9PXR5cGVvZiByJiZudWxsIT10aGlzLl9vdXRlclJlZil7dmFyIG89dGhpcy5fb3V0ZXJSZWY7Imhvcml6b250YWwiPT09ZXx8Imhvcml6b250YWwiPT09bj9vLnNjcm9sbExlZnQ9cjpvLnNjcm9sbFRvcD1yfXRoaXMuX2NhbGxQcm9wc0NhbGxiYWNrcygpfSxyLmNvbXBvbmVudERpZFVwZGF0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucHJvcHMsZT10LmRpcmVjdGlvbixyPXQubGF5b3V0LG49dGhpcy5zdGF0ZSxvPW4uc2Nyb2xsT2Zmc2V0O2lmKG4uc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkJiZudWxsIT10aGlzLl9vdXRlclJlZil7dmFyIGk9dGhpcy5fb3V0ZXJSZWY7aWYoImhvcml6b250YWwiPT09ZXx8Imhvcml6b250YWwiPT09cilpZigicnRsIj09PWUpc3dpdGNoKHAoKSl7Y2FzZSJuZWdhdGl2ZSI6aS5zY3JvbGxMZWZ0PS1vO2JyZWFrO2Nhc2UicG9zaXRpdmUtYXNjZW5kaW5nIjppLnNjcm9sbExlZnQ9bzticmVhaztkZWZhdWx0OnZhciBhPWkuY2xpZW50V2lkdGgsbD1pLnNjcm9sbFdpZHRoO2kuc2Nyb2xsTGVmdD1sLWEtb31lbHNlIGkuc2Nyb2xsTGVmdD1vO2Vsc2UgaS5zY3JvbGxUb3A9b310aGlzLl9jYWxsUHJvcHNDYWxsYmFja3MoKX0sci5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe251bGwhPT10aGlzLl9yZXNldElzU2Nyb2xsaW5nVGltZW91dElkJiZmKHRoaXMuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQpfSxyLnJlbmRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMucHJvcHMsZT10LmNoaWxkcmVuLHI9dC5jbGFzc05hbWUsbz10LmRpcmVjdGlvbixpPXQuaGVpZ2h0LGE9dC5pbm5lclJlZixzPXQuaW5uZXJFbGVtZW50VHlwZSx1PXQuaW5uZXJUYWdOYW1lLGY9dC5pdGVtQ291bnQsZD10Lml0ZW1EYXRhLGg9dC5pdGVtS2V5LHA9dm9pZCAwPT09aD9tOmgsdj10LmxheW91dCxnPXQub3V0ZXJFbGVtZW50VHlwZSxTPXQub3V0ZXJUYWdOYW1lLEk9dC5zdHlsZSxfPXQudXNlSXNTY3JvbGxpbmcseT10LndpZHRoLE09dGhpcy5zdGF0ZS5pc1Njcm9sbGluZyx6PSJob3Jpem9udGFsIj09PW98fCJob3Jpem9udGFsIj09PXYseD16P3RoaXMuX29uU2Nyb2xsSG9yaXpvbnRhbDp0aGlzLl9vblNjcm9sbFZlcnRpY2FsLE89dGhpcy5fZ2V0UmFuZ2VUb1JlbmRlcigpLHc9T1swXSxiPU9bMV0sQz1bXTtpZihmPjApZm9yKHZhciBSPXc7Ujw9YjtSKyspQy5wdXNoKCgwLGMuY3JlYXRlRWxlbWVudCkoZSx7ZGF0YTpkLGtleTpwKFIsZCksaW5kZXg6Uixpc1Njcm9sbGluZzpfP006dm9pZCAwLHN0eWxlOnRoaXMuX2dldEl0ZW1TdHlsZShSKX0pKQo7dmFyIFQ9bCh0aGlzLnByb3BzLHRoaXMuX2luc3RhbmNlUHJvcHMpO3JldHVybigwLGMuY3JlYXRlRWxlbWVudCkoZ3x8U3x8ImRpdiIse2NsYXNzTmFtZTpyLG9uU2Nyb2xsOngscmVmOnRoaXMuX291dGVyUmVmU2V0dGVyLHN0eWxlOigwLG4uZGVmYXVsdCkoe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0Omksd2lkdGg6eSxvdmVyZmxvdzoiYXV0byIsV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6InRvdWNoIix3aWxsQ2hhbmdlOiJ0cmFuc2Zvcm0iLGRpcmVjdGlvbjpvfSxJKX0sKDAsYy5jcmVhdGVFbGVtZW50KShzfHx1fHwiZGl2Iix7Y2hpbGRyZW46QyxyZWY6YSxzdHlsZTp7aGVpZ2h0Ono/IjEwMCUiOlQscG9pbnRlckV2ZW50czpNPyJub25lIjp2b2lkIDAsd2lkdGg6ej9UOiIxMDAlIn19KSl9LHIuX2NhbGxQcm9wc0NhbGxiYWNrcz1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLm9uSXRlbXNSZW5kZXJlZCYmdGhpcy5wcm9wcy5pdGVtQ291bnQ+MCl7dmFyIHQ9dGhpcy5fZ2V0UmFuZ2VUb1JlbmRlcigpLGU9dFswXSxyPXRbMV0sbj10WzJdLG89dFszXTt0aGlzLl9jYWxsT25JdGVtc1JlbmRlcmVkKGUscixuLG8pfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLm9uU2Nyb2xsKXt2YXIgaT10aGlzLnN0YXRlLGE9aS5zY3JvbGxEaXJlY3Rpb24sbD1pLnNjcm9sbE9mZnNldCxzPWkuc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkO3RoaXMuX2NhbGxPblNjcm9sbChhLGwscyl9fSxyLl9nZXRSYW5nZVRvUmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wcm9wcyxlPXQuaXRlbUNvdW50LHI9dC5vdmVyc2NhbkNvdW50LG49dGhpcy5zdGF0ZSxvPW4uaXNTY3JvbGxpbmcsaT1uLnNjcm9sbERpcmVjdGlvbixhPW4uc2Nyb2xsT2Zmc2V0O2lmKDA9PT1lKXJldHVyblswLDAsMCwwXTt2YXIgbD12KHRoaXMucHJvcHMsYSx0aGlzLl9pbnN0YW5jZVByb3BzKSxzPVModGhpcy5wcm9wcyxsLGEsdGhpcy5faW5zdGFuY2VQcm9wcyksYz1vJiYiYmFja3dhcmQiIT09aT8xOk1hdGgubWF4KDEsciksdT1vJiYiZm9yd2FyZCIhPT1pPzE6TWF0aC5tYXgoMSxyKTtyZXR1cm5bTWF0aC5tYXgoMCxsLWMpLE1hdGgubWF4KDAsTWF0aC5taW4oZS0xLHMrdSkpLGwsc119LGV9KGMuUHVyZUNvbXBvbmVudCksZS5kZWZhdWx0UHJvcHM9e2RpcmVjdGlvbjoibHRyIixpdGVtRGF0YTp2b2lkIDAsbGF5b3V0OiJ2ZXJ0aWNhbCIsb3ZlcnNjYW5Db3VudDoyLHVzZUlzU2Nyb2xsaW5nOiExfSxyfXZhciBnPWZ1bmN0aW9uKHQsZSl7dC5jaGlsZHJlbix0LmRpcmVjdGlvbix0LmhlaWdodCx0LmxheW91dCx0LmlubmVyVGFnTmFtZSx0Lm91dGVyVGFnTmFtZSx0LndpZHRoLGUuaW5zdGFuY2V9LFM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuaXRlbVNpemUsbz1yLml0ZW1NZXRhZGF0YU1hcCxpPXIubGFzdE1lYXN1cmVkSW5kZXg7aWYoZT5pKXt2YXIgYT0wO2lmKGk+PTApe3ZhciBsPW9baV07YT1sLm9mZnNldCtsLnNpemV9Zm9yKHZhciBzPWkrMTtzPD1lO3MrKyl7dmFyIGM9bihzKTtvW3NdPXtvZmZzZXQ6YSxzaXplOmN9LGErPWN9ci5sYXN0TWVhc3VyZWRJbmRleD1lfXJldHVybiBvW2VdfSxJPWZ1bmN0aW9uKHQsZSxyLG4sbyl7Zm9yKDtuPD1yOyl7dmFyIGk9bitNYXRoLmZsb29yKChyLW4pLzIpLGE9Uyh0LGksZSkub2Zmc2V0O2lmKGE9PT1vKXJldHVybiBpO2E8bz9uPWkrMTphPm8mJihyPWktMSl9cmV0dXJuIG4+MD9uLTE6MH0sXz1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIG89dC5pdGVtQ291bnQsaT0xO3I8byYmUyh0LHIsZSkub2Zmc2V0PG47KXIrPWksaSo9MjtyZXR1cm4gSSh0LGUsTWF0aC5taW4ocixvLTEpLE1hdGguZmxvb3Ioci8yKSxuKX0seT1mdW5jdGlvbih0LGUpe3ZhciByPXQuaXRlbUNvdW50LG49ZS5pdGVtTWV0YWRhdGFNYXAsbz1lLmVzdGltYXRlZEl0ZW1TaXplLGk9ZS5sYXN0TWVhc3VyZWRJbmRleCxhPTA7aWYoaT49ciYmKGk9ci0xKSxpPj0wKXt2YXIgbD1uW2ldO2E9bC5vZmZzZXQrbC5zaXplfXJldHVybiBhKyhyLWktMSkqb30sTT12KHtnZXRJdGVtT2Zmc2V0OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gUyh0LGUscikub2Zmc2V0fSxnZXRJdGVtU2l6ZTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHIuaXRlbU1ldGFkYXRhTWFwW2VdLnNpemV9LGdldEVzdGltYXRlZFRvdGFsU2l6ZTp5LGdldE9mZnNldEZvckluZGV4QW5kQWxpZ25tZW50OmZ1bmN0aW9uKHQsZSxyLG4sbyl7dmFyIGk9dC5kaXJlY3Rpb24sYT10LmhlaWdodCxsPXQubGF5b3V0LHM9dC53aWR0aCxjPSJob3Jpem9udGFsIj09PWl8fCJob3Jpem9udGFsIj09PWw/czphLHU9Uyh0LGUsbyksZj15KHQsbyksZD1NYXRoLm1heCgwLE1hdGgubWluKGYtYyx1Lm9mZnNldCkpLGg9TWF0aC5tYXgoMCx1Lm9mZnNldC1jK3Uuc2l6ZSk7c3dpdGNoKCJzbWFydCI9PT1yJiYocj1uPj1oLWMmJm48PWQrYz8iYXV0byI6ImNlbnRlciIpLHIpe2Nhc2Uic3RhcnQiOnJldHVybiBkO2Nhc2UiZW5kIjpyZXR1cm4gaDtjYXNlImNlbnRlciI6cmV0dXJuIE1hdGgucm91bmQoaCsoZC1oKS8yKTtkZWZhdWx0OnJldHVybiBuPj1oJiZuPD1kP246bjxoP2g6ZH19LGdldFN0YXJ0SW5kZXhGb3JPZmZzZXQ6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49ZS5pdGVtTWV0YWRhdGFNYXAsbz1lLmxhc3RNZWFzdXJlZEluZGV4O3JldHVybihvPjA/bltvXS5vZmZzZXQ6MCk+PXI/SSh0LGUsbywwLHIpOl8odCxlLE1hdGgubWF4KDAsbykscil9KHQscixlKX0sZ2V0U3RvcEluZGV4Rm9yU3RhcnRJbmRleDpmdW5jdGlvbih0LGUscixuKXtmb3IodmFyIG89dC5kaXJlY3Rpb24saT10LmhlaWdodCxhPXQuaXRlbUNvdW50LGw9dC5sYXlvdXQscz10LndpZHRoLGM9Imhvcml6b250YWwiPT09b3x8Imhvcml6b250YWwiPT09bD9zOmksdT1TKHQsZSxuKSxmPXIrYyxkPXUub2Zmc2V0K3Uuc2l6ZSxoPWU7aDxhLTEmJmQ8ZjspaCsrLGQrPVModCxoLG4pLnNpemU7cmV0dXJuIGh9LGluaXRJbnN0YW5jZVByb3BzOmZ1bmN0aW9uKHQsZSl7dmFyIHI9e2l0ZW1NZXRhZGF0YU1hcDp7fSwKZXN0aW1hdGVkSXRlbVNpemU6dC5lc3RpbWF0ZWRJdGVtU2l6ZXx8NTAsbGFzdE1lYXN1cmVkSW5kZXg6LTF9O3JldHVybiBlLnJlc2V0QWZ0ZXJJbmRleD1mdW5jdGlvbih0LG4pe3ZvaWQgMD09PW4mJihuPSEwKSxyLmxhc3RNZWFzdXJlZEluZGV4PU1hdGgubWluKHIubGFzdE1lYXN1cmVkSW5kZXgsdC0xKSxlLl9nZXRJdGVtU3R5bGVDYWNoZSgtMSksbiYmZS5mb3JjZVVwZGF0ZSgpfSxyfSxzaG91bGRSZXNldFN0eWxlQ2FjaGVPbkl0ZW1TaXplQ2hhbmdlOiExLHZhbGlkYXRlUHJvcHM6ZnVuY3Rpb24odCl7dC5pdGVtU2l6ZX19KSx6PXYoe2dldEl0ZW1PZmZzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSp0Lml0ZW1TaXplfSxnZXRJdGVtU2l6ZTpmdW5jdGlvbih0LGUpe3JldHVybiB0Lml0ZW1TaXplfSxnZXRFc3RpbWF0ZWRUb3RhbFNpemU6ZnVuY3Rpb24odCl7dmFyIGU9dC5pdGVtQ291bnQ7cmV0dXJuIHQuaXRlbVNpemUqZX0sZ2V0T2Zmc2V0Rm9ySW5kZXhBbmRBbGlnbm1lbnQ6ZnVuY3Rpb24odCxlLHIsbil7dmFyIG89dC5kaXJlY3Rpb24saT10LmhlaWdodCxhPXQuaXRlbUNvdW50LGw9dC5pdGVtU2l6ZSxzPXQubGF5b3V0LGM9dC53aWR0aCx1PSJob3Jpem9udGFsIj09PW98fCJob3Jpem9udGFsIj09PXM/YzppLGY9TWF0aC5tYXgoMCxhKmwtdSksZD1NYXRoLm1pbihmLGUqbCksaD1NYXRoLm1heCgwLGUqbC11K2wpO3N3aXRjaCgic21hcnQiPT09ciYmKHI9bj49aC11JiZuPD1kK3U/ImF1dG8iOiJjZW50ZXIiKSxyKXtjYXNlInN0YXJ0IjpyZXR1cm4gZDtjYXNlImVuZCI6cmV0dXJuIGg7Y2FzZSJjZW50ZXIiOnZhciBwPU1hdGgucm91bmQoaCsoZC1oKS8yKTtyZXR1cm4gcDxNYXRoLmNlaWwodS8yKT8wOnA+ZitNYXRoLmZsb29yKHUvMik/ZjpwO2RlZmF1bHQ6cmV0dXJuIG4+PWgmJm48PWQ/bjpuPGg/aDpkfX0sZ2V0U3RhcnRJbmRleEZvck9mZnNldDpmdW5jdGlvbih0LGUpe3ZhciByPXQuaXRlbUNvdW50LG49dC5pdGVtU2l6ZTtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbihyLTEsTWF0aC5mbG9vcihlL24pKSl9LGdldFN0b3BJbmRleEZvclN0YXJ0SW5kZXg6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZGlyZWN0aW9uLG89dC5oZWlnaHQsaT10Lml0ZW1Db3VudCxhPXQuaXRlbVNpemUsbD10LmxheW91dCxzPXQud2lkdGgsYz1lKmEsdT0iaG9yaXpvbnRhbCI9PT1ufHwiaG9yaXpvbnRhbCI9PT1sP3M6byxmPU1hdGguY2VpbCgodStyLWMpL2EpO3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKGktMSxlK2YtMSkpfSxpbml0SW5zdGFuY2VQcm9wczpmdW5jdGlvbih0KXt9LHNob3VsZFJlc2V0U3R5bGVDYWNoZU9uSXRlbVNpemVDaGFuZ2U6ITAsdmFsaWRhdGVQcm9wczpmdW5jdGlvbih0KXt0Lml0ZW1TaXplfX0pfSw5NDE5MjEodCxlLHIpe2Z1bmN0aW9uIG4odCl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiB0fXIuZChlLHtkZWZhdWx0OigpPT5ufSl9LDMxMDIxMSh0LGUscil7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDY0MzMwMik7ZnVuY3Rpb24gbyh0LGUpe3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsKDAsbi5kZWZhdWx0KSh0LGUpfX0sNjQzMzAyKHQsZSxyKXtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIG49T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSxuKHQsZSl9ci5kKGUse2RlZmF1bHQ6KCk9Pm59KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/script.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.227Z","timestamp":1785124875227,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/script.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:42:40 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b40-2cfe\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":11518,"size_decoded":2813,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"75b8078ad1cd1a866668291cd32a0261","sha1":"7a801a20ac6e22daaa3792473a336aec911e2cd5","sha256":"0eb2f1b90ba8d0d19d2aaa96a6c9be16cf37df0e669e50c79eeb7e05f5b95e31","sha512":"692db0538ccb9fda10ac348e08a75d43c6d4508774b1ff87e1bcf08551c208f19e6ee8c06811fe550655bce7859d4fefcefac697d075438fffc4e63f0d7a5119","ssdeep":"96:XMuH97I2LwMpRpxYpEtF4nibqdOPUcKhaJjjIX55N8A3eFZnl7/3v:7q2LpRpxYpELXbU85sP8AuFZl7/f","tlshash":"f032d10928241065e4b7b3299f7b6504eb765317b1009993befc22902f7631a72eef9d","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.212643Z","times_seen":29,"resource_available":true,"data":"KGZ1bmN0aW9uKCQpIHsNCiAgJ3VzZSBzdHJpY3QnOw0KICAgICAgLyo9PT09PT09PT09PT09PT09PT09PT09PSANCiAgICAgICAgMDEuIFdvdyBBY3RpdmUgDQogICAgICA9PT09PT09PT09PT09PT09PT09PT09Ki8NCiAgICAgIG5ldyBXT1coKS5pbml0KCk7DQoNCiAgICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT0gDQogICAgICAgIDAyLiBUaW1lcg0KICAgICAgPT09PT09PT09PT09PT09PT09PT09PSovDQogICAgICB2YXIgQ2xvY2tEYXRlID0gJCgnI2Nsb2NrJykuZGF0YSggImRhdGUiICk7DQogICAgICAkKCcjY2xvY2snKS5jb3VudGRvd24oQ2xvY2tEYXRlLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLmh0bWwoZXZlbnQuc3RyZnRpbWUoJycNCiAgICAgICAgICArICc8dWw+Jw0KICAgICAgICAgICsgJzxsaT48c3Bhbj4lRDxlbT5kYXlzPC9lbT48L3NwYW4+PC9saT4nDQogICAgICAgICAgKyAnPGxpPjxzcGFuPiVIPGVtPmhvdXJzIDwvZW0+PC9zcGFuPjwvbGk+Jw0KICAgICAgICAgICsgJzxsaT48c3Bhbj4lTTxlbT5taW51dGVzPC9lbT48L3NwYW4+PC9saT4nDQogICAgICAgICAgKyAnPGxpPjxzcGFuPiVTPGVtPnNlY29uZHM8L2VtPjwvc3Bhbj48L2xpPicNCiAgICAgICAgICArICc8L3VsPicNCiAgICAgICAgICApKTsNCiAgICAgIH0pOw0KICAgICAgLyo9PT09PT09PT09PT09PT09PT09PT09PSANCiAgICAgICAgMDMuIEJyYW5kIExvZ28gQ2Fyb3VzZWwgU2xpZGVyDQogICAgICA9PT09PT09PT09PT09PT09PT09PT09Ki8NCiAgICAgICQoJy5icmFuZC1sb2dvcycpLm93bENhcm91c2VsKHsNCiAgICAgICAgICBsb29wOnRydWUsDQogICAgICAgICAgYXV0b3BsYXk6dHJ1ZSwNCiAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6NDUwMCwNCiAgICAgICAgICBtYXJnaW46MTAsDQogICAgICAgICAgbmF2OiBmYWxzZSwNCiAgICAgICAgICBkb3RzOiBmYWxzZSwNCiAgICAgICAgICByZXNwb25zaXZlQ2xhc3M6dHJ1ZSwNCiAgICAgICAgICByZXNwb25zaXZlOnsNCiAgICAgICAgICAgICAgMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczoxICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgNjAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjMNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgMTAwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczo0DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICB9KTsNCiAgICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT0gDQogICAgICAgIDA0LiBSb2FkbWFwIFNsaWRlciBDYXJvdXNlbCBTbGlkZXINCiAgICAgID09PT09PT09PT09PT09PT09PT09PT0qLw0KICAgICAgJCgnLnJvYWRtYXAtc2xpZGVyJykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgIGxvb3A6dHJ1ZSwNCiAgICAgICAgICBhdXRvcGxheTp0cnVlLA0KICAgICAgICAgIGF1dG9wbGF5VGltZW91dDo2MDAwLA0KICAgICAgICAgIG1hcmdpbjowLA0KICAgICAgICAgIG5hdjogZmFsc2UsDQogICAgICAgICAgZG90OiB0cnVlLA0KICAgICAgICAgIHJlc3BvbnNpdmVDbGFzczp0cnVlLA0KICAgICAgICAgIHJlc3BvbnNpdmU6ew0KICAgICAgICAgICAgICAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjENCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgNjAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjMNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgMTAwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczo0DQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDEzNTA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6NQ0KICAgICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgfSk7DQogICAgICAkKCcuaG9yaXpvbnRhbC1yb2FkbWFwJykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgIGxvb3A6ZmFsc2UsDQogICAgICAgICAgYXV0b3BsYXk6ZmFsc2UsDQogICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OjYwMDAsDQogICAgICAgICAgbWFyZ2luOjEwLA0KICAgICAgICAgIG5hdjogZmFsc2UsDQogICAgICAgICAgZG90OiB0cnVlLA0KICAgICAgICAgIG1vdXNlRHJhZzpmYWxzZSwNCiAgICAgICAgICByZXNwb25zaXZlQ2xhc3M6dHJ1ZSwNCiAgICAgICAgICByZXNwb25zaXZlOnsNCiAgICAgICAgICAgICAgMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczoxDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDYwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczozDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDEwMDA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6NA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAxMjAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjYNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgIH0pOw0KICAgICAgJCgnLm1lcmN1cnktcm9hZG1hcCcpLm93bENhcm91c2VsKHsNCiAgICAgICAgICBsb29wOmZhbHNlLA0KICAgICAgICAgIGF1dG9wbGF5OmZhbHNlLA0KICAgICAgICAgIGF1dG9wbGF5VGltZW91dDo2MDAwLA0KICAgICAgICAgIG1hcmdpbjoxMCwNCiAgICAgICAgICBuYXY6IGZhbHNlLA0KICAgICAgICAgIGRvdDogdHJ1ZSwNCiAgICAgICAgICBtb3VzZURyYWc6ZmFsc2UsDQogICAgICAgICAgcmVzcG9uc2l2ZUNsYXNzOnRydWUsDQogICAgICAgICAgcmVzcG9uc2l2ZTp7DQogICAgICAgICAgICAgIDA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6MQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICA2MDA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6Mg0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAxMDAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjMNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgMTIwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczo1DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICB9KTsNCiAgICAgIA0KICAgICAgDQogICAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAgICAgMDUuIEJsb2cgU2xpZGVyIENhcm91c2VsIFNsaWRlcg0KICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQogICAgICAkKCcuYmxvZy1zbGlkZXIud2l0aC1uYXZpZ2F0aW9uJykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgIGxvb3A6ZmFsc2UsDQogICAgICAgICAgYXV0b3BsYXk6dHJ1ZSwNCiAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6NjAwMCwNCiAgICAgICAgICBtYXJnaW46MCwNCiAgICAgICAgICBuYXY6IHRydWUsDQogICAgICAgICAgZG90OiB0cnVlLA0KICAgICAgICAgIHJlc3BvbnNpdmVDbGFzczp0cnVlLA0KICAgICAgICAgIHJlc3BvbnNpdmU6ew0KICAgICAgICAgICAgICAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjEsDQogICAgICAgICAgICAgICAgICBuYXY6IGZhbHNlDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDYwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczoxLA0KICAgICAgICAgICAgICAgICAgbmF2OiBmYWxzZQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAxMDAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjIsDQogICAgICAgICAgICAgICAgICBuYXY6IHRydWUNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgMTM1MDp7DQogICAgICAgICAgICAgICAgICBpdGVtczozLA0KICAgICAgICAgICAgICAgICAgbmF2OiB0cnVlDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICB9KTsNCiAgICAgICQoJy5ibG9nLXNsaWRlcicpLm93bENhcm91c2VsKHsNCiAgICAgICAgICBsb29wOmZhbHNlLA0KICAgICAgICAgIGF1dG9wbGF5OnRydWUsDQogICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OjYwMDAsDQogICAgICAgICAgbWFyZ2luOjAsDQogICAgICAgICAgbmF2OiBmYWxzZSwNCiAgICAgICAgICBkb3Q6IHRydWUsDQogICAgICAgICAgcmVzcG9uc2l2ZUNsYXNzOnRydWUsDQogICAgICAgICAgcmVzcG9uc2l2ZTp7DQogICAgICAgICAgICAgIDA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6MQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICA2MDA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6MQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAxMDAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjINCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgMTM1MDp7DQogICAgICAgICAgICAgICAgICBpdGVtczozDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICB9KTsNCiAgICAgICQoJy5zZXJ2aWNlcy1zbGlkZXInKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgbG9vcDpmYWxzZSwNCiAgICAgICAgICBhdXRvcGxheTp0cnVlLA0KICAgICAgICAgIGF1dG9wbGF5VGltZW91dDo2MDAwLA0KICAgICAgICAgIG1hcmdpbjowLA0KICAgICAgICAgIG5hdjogZmFsc2UsDQogICAgICAgICAgZG90OiB0cnVlLA0KICAgICAgICAgIHJlc3BvbnNpdmVDbGFzczp0cnVlLA0KICAgICAgICAgIHJlc3BvbnNpdmU6ew0KICAgICAgICAgICAgICAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjENCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgNjAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjENCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgMTAwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczoyDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDEzNTA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6Mw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgfSk7DQoNCiAgICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgICAgICAwNi4gRXhwZXJ0IFNsaWRlciBDYXJvdXNlbCBTbGlkZXINCiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KICAgICAgJCgnLmV4cGVydC1zbGlkZXInKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgbG9vcDp0cnVlLA0KICAgICAgICAgIGF1dG9wbGF5OnRydWUsDQogICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OjYwMDAsDQogICAgICAgICAgbWFyZ2luOjAsDQogICAgICAgICAgbmF2OiB0cnVlLA0KICAgICAgICAgIGRvdDogZmFsc2UsDQogICAgICAgICAgYW5pbWF0ZU91dDogJ2ZhZGVPdXQnLA0KICAgICAgICAgIGFuaW1hdGVJbjogJ2ZhZGVJbicsDQogICAgICAgICAgcmVzcG9uc2l2ZUNsYXNzOnRydWUsDQoNCiAgICAgICAgICByZXNwb25zaXZlOnsNCiAgICAgICAgICAgICAgMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczoxDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDYwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczoxDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDEwMDA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6MQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAxMzUwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjENCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgIH0pOw0KICAgICAgJCgnLnRlYW1zbGlkZXInKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgbG9vcDp0cnVlLA0KICAgICAgICAgIGF1dG9wbGF5OnRydWUsDQogICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OjYwMDAsDQogICAgICAgICAgbWFyZ2luOjIwLA0KICAgICAgICAgIG5hdjogdHJ1ZSwNCiAgICAgICAgICBkb3Q6IGZhbHNlLA0KICAgICAgICAgIHJlc3BvbnNpdmVDbGFzczp0cnVlLA0KICAgICAgICAgIHJlc3BvbnNpdmU6ew0KICAgICAgICAgICAgICAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjEsDQogICAgICAgICAgICAgICAgICBkb3Q6IGZhbHNlDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDYwMDp7DQogICAgICAgICAgICAgICAgICBpdGVtczoyLA0KICAgICAgICAgICAgICAgICAgZG90OiBmYWxzZQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAxMDAwOnsNCiAgICAgICAgICAgICAgICAgIGl0ZW1zOjMsDQogICAgICAgICAgICAgICAgICBkb3Q6IGZhbHNlDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIDEzNTA6ew0KICAgICAgICAgICAgICAgICAgaXRlbXM6MywNCiAgICAgICAgICAgICAgICAgIGRvdDogZmFsc2UNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgIH0pOw0KICAgICAgaWYoJCgnLnJvYWRtYXAtbGl2ZS1zbGlkZXInKS5sZW5ndGgpew0KICAgICAgICAkKCcucm9hZG1hcC1saXZlLXNsaWRlcicpLnNsaWNrKHsNCiAgICAgICAgICBjZW50ZXJNb2RlOiB0cnVlLA0KICAgICAgICAgIHNsaWRlc1RvU2hvdzogNSwNCiAgICAgICAgICBhcnJvd3M6IHRydWUsDQogICAgICAgICAgZG90czogZmFsc2UsDQogICAgICAgICAgcmVzcG9uc2l2ZTogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICBicmVha3BvaW50OiAxMTk5LA0KICAgICAgICAgICAgICBzZXR0aW5nczogew0KICAgICAgICAgICAgICAgIGFycm93czogdHJ1ZSwNCiAgICAgICAgICAgICAgICBkb3RzOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjZW50ZXJNb2RlOiB0cnVlLA0KICAgICAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICBicmVha3BvaW50OiA3NjgsDQogICAgICAgICAgICAgIHNldHRpbmdzOiB7DQogICAgICAgICAgICAgICAgYXJyb3dzOiB0cnVlLA0KICAgICAgICAgICAgICAgIGRvdHM6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNlbnRlck1vZGU6IHRydWUsDQogICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgIGJyZWFrcG9pbnQ6IDQ4MCwNCiAgICAgICAgICAgICAgc2V0dGluZ3M6IHsNCiAgICAgICAgICAgICAgICBhcnJvd3M6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGRvdHM6IHRydWUsDQogICAgICAgICAgICAgICAgY2VudGVyTW9kZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDENCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIF0NCiAgICAgICAgfSk7DQogICAgICB9DQogICAgICANCg0KICAgICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgICAgIDA3LiBNb2JpbGUgTWVudQ0KICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQogICAgICBpZigkKHdpbmRvdykud2lkdGgoKSA8IDc2Nyl7DQogICAgICAgIGpRdWVyeSgnLm1lbnUtaWNvbicpLm9uKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgIGpRdWVyeSh0aGlzKS50b2dnbGVDbGFzcygnYWN0aXZlJyk7DQogICAgICAgICAgalF1ZXJ5KCduYXYnKS5zbGlkZVRvZ2dsZSgpOw0KICAgICAgICAgIGpRdWVyeSgnbmF2IHVsIGxpIGEnKS5vbigiY2xpY2siLCBmdW5jdGlvbigpew0KICAgICAgICAgICAgalF1ZXJ5KCcubWVudS1pY29uJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgalF1ZXJ5KCduYXYnKS5oaWRlKCk7DQogICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgfQ0KDQogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQogICAgICAgICAgalF1ZXJ5KCcudmlkZW8tc2VjdGlvbicpLmFkZENsYXNzKCdsb2FkZWQnKTsNCiAgICAgIH0sIDE1MDApOw0KDQogICAgIGlmKCQoJy5mYW5jeWJveC1tZWRpYScpLmxlbmd0aCl7DQogICAgICAgICQoJy5mYW5jeWJveC1tZWRpYScpLmZhbmN5Ym94KHsNCiAgICAgICAgICBvcGVuRWZmZWN0ICA6ICdub25lJywNCiAgICAgICAgICBjbG9zZUVmZmVjdCA6ICdub25lJywNCiAgICAgICAgICBoZWxwZXJzIDogew0KICAgICAgICAgICAgbWVkaWEgOiB7fQ0KICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICB9DQogICAgICANCn0pKGpRdWVyeSk7DQoNCmVxdWFsaGVpZ2h0ID0gZnVuY3Rpb24oY29udGFpbmVyKXsNCiAgdmFyIGN1cnJlbnRUYWxsZXN0ID0gMCwNCiAgICAgY3VycmVudFJvd1N0YXJ0ID0gMCwNCiAgICAgcm93RGl2cyA9IG5ldyBBcnJheSgpLA0KICAgICAkZWwsDQogICAgIHRvcFBvc2l0aW9uID0gMDsNCiAgJChjb250YWluZXIpLmVhY2goZnVuY3Rpb24oKSB7DQoNCiAgICRlbCA9ICQodGhpcyk7DQogICAkKCRlbCkuaGVpZ2h0KCdhdXRvJykNCiAgIHRvcFBvc3Rpb24gPSAkZWwucG9zaXRpb24oKS50b3A7DQoNCiAgIGlmIChjdXJyZW50Um93U3RhcnQgIT0gdG9wUG9zdGlvbikgew0KICAgICBmb3IgKGN1cnJlbnREaXYgPSAwIDsgY3VycmVudERpdiA8IHJvd0RpdnMubGVuZ3RoIDsgY3VycmVudERpdisrKSB7DQogICAgICAgcm93RGl2c1tjdXJyZW50RGl2XS5oZWlnaHQoY3VycmVudFRhbGxlc3QpOw0KICAgICB9DQogICAgIHJvd0RpdnMubGVuZ3RoID0gMDsgLy8gZW1wdHkgdGhlIGFycmF5DQogICAgIGN1cnJlbnRSb3dTdGFydCA9IHRvcFBvc3Rpb247DQogICAgIGN1cnJlbnRUYWxsZXN0ID0gJGVsLmhlaWdodCgpOw0KICAgICByb3dEaXZzLnB1c2goJGVsKTsNCiAgIH0gZWxzZSB7DQogICAgIHJvd0RpdnMucHVzaCgkZWwpOw0KICAgICBjdXJyZW50VGFsbGVzdCA9IChjdXJyZW50VGFsbGVzdCA8ICRlbC5oZWlnaHQoKSkgPyAoJGVsLmhlaWdodCgpKSA6IChjdXJyZW50VGFsbGVzdCk7DQogIH0NCiAgIGZvciAoY3VycmVudERpdiA9IDAgOyBjdXJyZW50RGl2IDwgcm93RGl2cy5sZW5ndGggOyBjdXJyZW50RGl2KyspIHsNCiAgICAgcm93RGl2c1tjdXJyZW50RGl2XS5oZWlnaHQoY3VycmVudFRhbGxlc3QpOw0KICAgfQ0KIH0pOw0KfQ0KDQokKHdpbmRvdykubG9hZChmdW5jdGlvbigpIHsNCiAgZXF1YWxoZWlnaHQoJy5iZW5lZml0LWJveCcpOw0KfSk7DQoNCg0KJCh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpew0KICBlcXVhbGhlaWdodCgnLmJlbmVmaXQtYm94Jyk7DQp9KTsNCg0KLyotLS0tLS0tLS0tLS0tLS0tIENvdW50ZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQp2YXIgYSA9IDA7DQokKHdpbmRvdykuc2Nyb2xsKGZ1bmN0aW9uKCkgew0KaWYoJCgnI2NvdW50ZXInKS5sZW5ndGggPiAwKXsNCiAgdmFyIG9Ub3AgPSAkKCcjY291bnRlcicpLm9mZnNldCgpLnRvcCAtIHdpbmRvdy5pbm5lckhlaWdodDsNCiAgaWYgKGEgPT0gMCAmJiAkKHdpbmRvdykuc2Nyb2xsVG9wKCkgPiBvVG9wKSB7DQogICAgJCgnLmNvdW50ZXItdmFsdWUnKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwNCiAgICAgICAgY291bnRUbyA9ICR0aGlzLmF0dHIoJ2RhdGEtY291bnQnKTsNCiAgICAgICQoew0KICAgICAgICBjb3VudE51bTogJHRoaXMudGV4dCgpDQogICAgICB9KS5hbmltYXRlKHsNCiAgICAgICAgICBjb3VudE51bTogY291bnRUbw0KICAgICAgICB9LA0KDQogICAgICAgIHsNCg0KICAgICAgICAgIGR1cmF0aW9uOiAyMDAwLA0KICAgICAgICAgIGVhc2luZzogJ3N3aW5nJywNCiAgICAgICAgICBzdGVwOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICR0aGlzLnRleHQoTWF0aC5mbG9vcih0aGlzLmNvdW50TnVtKSk7DQogICAgICAgICAgfSwNCiAgICAgICAgICBjb21wbGV0ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkdGhpcy50ZXh0KHRoaXMuY291bnROdW0pOw0KICAgICAgICAgICAgLy9hbGVydCgnZmluaXNoZWQnKTsNCiAgICAgICAgICB9DQoNCiAgICAgICAgfSk7DQogICAgfSk7DQogICAgYSA9IDE7DQogIH0NCn0NCn0pOw0KDQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7DQogIGZ1bmN0aW9uIGFuaW1hdGVFbGVtZW50cygpIHsNCiAgICAkKCcucHJvZ3Jlc3NiYXInKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIGVsZW1lbnRQb3MgPSAkKHRoaXMpLm9mZnNldCgpLnRvcDsNCiAgICAgIHZhciB0b3BPZldpbmRvdyA9ICQod2luZG93KS5zY3JvbGxUb3AoKTsNCiAgICAgIHZhciBwZXJjZW50ID0gJCh0aGlzKS5maW5kKCcuY2lyY2xlJykuYXR0cignZGF0YS1wZXJjZW50Jyk7DQogICAgICB2YXIgcGVyY2VudGFnZSA9IHBhcnNlSW50KHBlcmNlbnQsIDEwKSAvIHBhcnNlSW50KDEwMCwgMTApOw0KICAgICAgLy9hbGVydChwZXJjZW50ICsgJyArICcgK3BlcmNlbnRhZ2UpOw0KICAgICAgdmFyIGFuaW1hdGUgPSAkKHRoaXMpLmRhdGEoJ2FuaW1hdGUnKTsNCiAgICAgIGlmIChlbGVtZW50UG9zIDwgdG9wT2ZXaW5kb3cgKyAkKHdpbmRvdykuaGVpZ2h0KCkgLSAxMDAgJiYgIWFuaW1hdGUpIHsNCiAgICAgICAgJCh0aGlzKS5kYXRhKCdhbmltYXRlJywgdHJ1ZSk7DQogICAgICAgICQodGhpcykuZmluZCgnLmNpcmNsZScpLmNpcmNsZVByb2dyZXNzKHsNCiAgICAgICAgICBzdGFydEFuZ2xlOiAtTWF0aC5QSSAvIDIsDQogICAgICAgICAgdmFsdWU6IHBlcmNlbnQgLyAxMDAsDQogICAgICAgICAgdGhpY2tuZXNzOiAxMCwNCiAgICAgICAgICBzaXplOiAxNjAsDQogICAgICAgICAgZW1wdHlGaWxsOiAiI2E1YTVhNCIsDQogICAgICAgICAgZmlsbDogew0KICAgICAgICAgICAgY29sb3I6ICcjZmJiZDE3Jw0KICAgICAgICAgIH0NCiAgICAgICAgfSkub24oJ2NpcmNsZS1hbmltYXRpb24tcHJvZ3Jlc3MnLCBmdW5jdGlvbihldmVudCwgcHJvZ3Jlc3MsIHN0ZXBWYWx1ZSkgew0KICAgICAgICAgIC8vYWxlcnQoc3RlcFZhbHVlKTsNCiAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2RpdicpLnRleHQoKHN0ZXBWYWx1ZSAqIDEwMCkudG9GaXhlZCgxKSArICIlIik7DQogICAgICAgIH0pLnN0b3AoKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfQ0KDQogIC8vIFNob3cgYW5pbWF0ZWQgZWxlbWVudHMNCiAgYW5pbWF0ZUVsZW1lbnRzKCk7DQogICQod2luZG93KS5zY3JvbGwoYW5pbWF0ZUVsZW1lbnRzKTsNCn0pOw0KDQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7DQogIGZ1bmN0aW9uIGJlbmVmaXRhbmltYXRlRWxlbWVudHMoKSB7DQogICAgaWYoJCgnLmJlbmVmaXQtc2VjdGlvbicpLmxlbmd0aCA+IDApew0KICAgICAgICB2YXIgYmVuZWZpdFBvcyA9ICQoJy5iZW5lZml0LXNlY3Rpb24nKS5vZmZzZXQoKS50b3A7DQogICAgICAgIHZhciB0b3BPZldpbmRvdyA9ICQod2luZG93KS5zY3JvbGxUb3AoKTsNCiAgICAgICAgaWYgKGJlbmVmaXRQb3MgPCB0b3BPZldpbmRvdyArICQod2luZG93KS5oZWlnaHQoKSAvIDMpIHsNCiAgICAgICAgICAkKCcuYmVuZWZpdC1zZWN0aW9uJykuYWRkQ2xhc3MoJ3N0YXJ0LWFuaW1hdGlvbicpOw0KICAgICAgICB9DQogICAgfQ0KICB9DQogIC8vIFNob3cgYW5pbWF0ZWQgZWxlbWVudHMNCiAgYmVuZWZpdGFuaW1hdGVFbGVtZW50cygpOw0KICAkKHdpbmRvdykuc2Nyb2xsKGJlbmVmaXRhbmltYXRlRWxlbWVudHMpOw0KfSk7DQoNCg=="}},"time_used":76,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":76,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/gold-animation-icon.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.624Z","timestamp":1785124875624,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/gold-animation-icon.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/html; charset=iso-8859-1\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":355,"size_decoded":451,"mime_type":"text/html; charset=iso-8859-1","magic":"HTML document, ASCII text","md5":"4525b2d648f7c457a689fd96421783a5","sha1":"11bfe30ce44585a15a38e86bc094224ddfe2c08e","sha256":"cc0b4e42510d49c6decd464123ecf3b14ae9b47f9b4ed2ee64893e2d6520a264","sha512":"94e3e8246cf38ff7740e51aa115c8c455b14f78e672c2686b782c0ce30b6fa2dbd91a78b29b3964d9c0414aabd4b9391fd5db326665e25b4b8e73dae60ffe979","ssdeep":"","tlshash":"71e0c04f4057b3474011a2907dc01291e505236b38a152f93ac09467500897dc4aa2dd","first_seen":"2025-12-09T03:51:58.5943Z","last_seen":"2026-07-27T06:14:48.102741Z","times_seen":47346,"resource_available":true,"data":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPjxoZWFkPgo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+CjwvaGVhZD48Ym9keT4KPGgxPk5vdCBGb3VuZDwvaDE+CjxwPlRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuPC9wPgo8cD5BZGRpdGlvbmFsbHksIGEgNDA0IE5vdCBGb3VuZAplcnJvciB3YXMgZW5jb3VudGVyZWQgd2hpbGUgdHJ5aW5nIHRvIHVzZSBhbiBFcnJvckRvY3VtZW50IHRvIGhhbmRsZSB0aGUgcmVxdWVzdC48L3A+CjwvYm9keT48L2h0bWw+Cg=="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94232.ab6731b698a8c2854a90.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.689Z","timestamp":1785124876689,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94232.ab6731b698a8c2854a90.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-740\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eb5272207c0af2d6e36196b08a291b1a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1856,"size_decoded":1343,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1856), with no line terminators","md5":"99c169cccd9c810bfd0d3e50e053d9dd","sha1":"f7c962c5226ce8518e23fcd82bbd02e44b3cd8ba","sha256":"ba11ca3b195a5ed5130a9fdfe05087f5b075dbec6ddff0fbc0ee82ef8a378a37","sha512":"02bba56d2baac91f2618fc15e25d5eb7e986a57c956cd280f3ff695e4d215d29c10a2730d07a71b393c7da7e62a644bc9d417c3aef3b60af475b9f6330a25d50","ssdeep":"","tlshash":"0331f104a050d9f5e212d7788e5dbb7820d13b22ca613da7fe53de0ed086be5e122f24","first_seen":"2026-07-16T20:48:56.389736Z","last_seen":"2026-07-27T06:14:34.15329Z","times_seen":217,"resource_available":false,"data":"LmxvYWRlci1NZ2Y4RUZ3S3tib3R0b206MDtmb250LXNpemU6MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjAgYXV0bztvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmxvYWRlci1NZ2Y4RUZ3Sy5zdGF0aWMtTWdmOEVGd0t7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGF0aWN9LmxvYWRlci1NZ2Y4RUZ3SzphZnRlcntjb250ZW50OiIgIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3S3tib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItbG9hZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdCkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOmZpcnN0LWNoaWxke2FuaW1hdGlvbjp0di1idXR0b24tbG9hZGVyLU1nZjhFRndLIDFzIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouMXN9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3SzpudGgtY2hpbGQoMil7YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0sgMXMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi4zc30ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOm50aC1jaGlsZCgzKXthbmltYXRpb246dHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyAxcyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouNDVzfX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLC5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLe2hlaWdodDo2cHg7d2lkdGg6NnB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLOm5vdCg6bGFzdC1jaGlsZCksLmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Szpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnNtYWxsLU1nZjhFRndLe2hlaWdodDo0cHg7d2lkdGg6NHB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suc21hbGwtTWdmOEVGd0s6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDozcHh9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Sy5ibGFjay1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0sud2hpdGUtTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suZ3JheS1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnByaW1hcnktTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIHR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0t7MCUsdG97b3BhY2l0eToxfTYwJXtvcGFjaXR5Oi40fTMwJXtvcGFjaXR5Oi4yfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.796Z","timestamp":1785124876796,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.99124.7129e057c7444df25994.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1544\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 01aa98f661516bedac8aba56cf24bf6f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5444,"size_decoded":2672,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3021)","md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-07-27T06:24:31.637702Z","times_seen":55,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjA4MCw5OTEyNF0sezk5NDAxNihlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkgcG9zdHMgZm9yIHtzeW1ib2x9Il19LDcxMzkwNShlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkiXX0sMjQ1MTQ3KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0cyJdfSw2ODE5MjEoZSl7ZS5leHBvcnRzPVsiQ2hhcnQiXX0sMzM0NDE1KGUpe2UuZXhwb3J0cz1bIkFuYWx5c2lzIl19LDYxMjU1KGUpe2UuZXhwb3J0cz1bIkFzc2V0cyJdfSw2MDIxMTMoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNzg3NDQyKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyJdfSw1NTgwNjcoZSl7ZS5leHBvcnRzPVsiRGVyaXZhdGl2ZXMiXX0sOTI3ODkoZSl7ZS5leHBvcnRzPVsiRVRGcyJdfSwzODg3ODYoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSBpbmRpY2F0b3JzIl19LDUzNDAyNyhlKXtlLmV4cG9ydHM9WyJGb3JlY2FzdCJdfSw2Njg2ODAoZSl7ZS5leHBvcnRzPVsiRm9yd2FyZCBjdXJ2ZSJdfSwzODAxNTgoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw5OTU2MDIoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWxzIl19LDk1NDExMShlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDg0MzUyMChlKXtlLmV4cG9ydHM9WyJOZXdzIl19LDM3ODc1MChlKXtlLmV4cG9ydHM9WyJTZWFzb25hbHMiXX0sOTIxNjQyKGUpe2UuZXhwb3J0cz1bIlByb2ZpbGUiXX0sMTIxMjcwKGUpe2UuZXhwb3J0cz1bIlRlY2huaWNhbHMiXX0sNjE2MTgwKGUpe2UuZXhwb3J0cz1bIllpZWxkIGN1cnZlIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sNTI3MShlKXtlLmV4cG9ydHM9WyJFVEZzIGZvciB7c3ltYm9sfSJdfSw3NjM5MzQoZSl7ZS5leHBvcnRzPVsiRG93bmxvYWQgY2hhcnQgZGF0YSJdfSw5MTA0NzYoZSl7ZS5leHBvcnRzPVsiRG90Il19LDU3MjIzOShlKXtlLmV4cG9ydHM9WyJBZGQgY3VzdG9tIGludGVydmFsIl19LDQ0MDI1MShlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNDI3NDQyKGUpe2UuZXhwb3J0cz1bIkRlZmF1bHQgdGVtcGxhdGVzIl19LDMyNTkxMChlKXtlLmV4cG9ydHM9WyJNeSB0ZW1wbGF0ZXMiXX0sNTE4MjQ5KGUpe2UuZXhwb3J0cz1bIlJlY2VudGx5IHVzZWQiXX0sMzkzMjczKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSwyMDI4OTEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMjY5MTcoZSl7ZS5leHBvcnRzPVsiSG91cnMiXX0sMzQ0NzQ3KGUpe2UuZXhwb3J0cz1bIk1vbnRocyJdfSwyMzA5MDkoZSl7ZS5leHBvcnRzPVsiTWludXRlcyJdfSw3NTI3MDAoZSl7ZS5leHBvcnRzPVsiU2Vjb25kcyJdfSwyODgwMzQoZSl7ZS5leHBvcnRzPVsiUmFuZ2VzIl19LDQzMzk5NChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw4NzAzMDEoZSl7ZS5leHBvcnRzPVsiVGlja3MiXX0sNjI5Mzg0KGUpe2UuZXhwb3J0cz1bIkZhdm9yaXRlIEluZGljYXRvcnMiXX0sNDM0MDc2KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIG5vIEZhdm9yaXRlcyBJbmRpY2F0b3JzIHlldCJdfSw1OTA4ODQoZSl7ZS5leHBvcnRzPVsiQ29weSBsaW5rIl19LDkzODQ5NyhlKXtlLmV4cG9ydHM9WyJDcmVhdGUgbmV3IGxheW91dCJdfSw0Nzk3MShlKXtlLmV4cG9ydHM9WyJBdXRvc2F2ZSJdfSw2MTM1MTYoZSl7ZS5leHBvcnRzPVsiT3BlbiBsYXlvdXQiXX0sMjI0ODkoZSl7ZS5leHBvcnRzPVsiU2hhcmUgbGF5b3V0Il19LDc0NTY3NihlKXtlLmV4cG9ydHM9WyJTaGFyaW5nIl19LDYyMzI0NChlKXtlLmV4cG9ydHM9WyJSZWNlbnRseSB1c2VkIl19LDU2NTQ1MShlKXtlLmV4cG9ydHM9WyJSZW5hbWUiXX0sMTAxNDM1KGUpe2UuZXhwb3J0cz1bIk5ld3MgZm9yIHtzeW1ib2x9Il19LDEyNDc2NihlKXtlLmV4cG9ydHM9WyJDb3B5IGltYWdlIl19LDQyMjg3MChlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjY3OTgxKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHNuYXBzaG90Il19LDMzNjk5MyhlKXtlLmV4cG9ydHM9WyJEb3dubG9hZCBpbWFnZSJdfSw1ODUxMjgoZSl7ZS5leHBvcnRzPVsiU2hhcmUgdmlhIFN5bXBob255Il19LDU4MTg1MyhlKXtlLmV4cG9ydHM9WyJUd2VldCBpbWFnZSJdfSw0NzM3ODIoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw0NzUwMjgoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIGRhdGEgdHlwZSJdfSw2MDQwMShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgc2VhcmNoIl19LDY4NTU3NShlKXtlLmV4cG9ydHM9WyJQcm9maWxlIGZvciB7c3ltYm9sfSJdfSw0ODYzNjEoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIGFsZXJ0Il19LDg3MzgyMChlKXtlLmV4cG9ydHM9WyJDb21wYXJlIHN5bWJvbHMiXX0sMTMzOTcoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgaW5kaWNhdG9ycyJdfSwyNDQwODAoZSl7ZS5leHBvcnRzPVsiU2F2ZSBpbmRpY2F0b3IgdGVtcGxhdGUiXX0sOTA5ODQ3KGUpe2UuZXhwb3J0cz1bIlF1aWNrIHNlYXJjaCJdfSw0NTMyNjMoZSl7ZS5leHBvcnRzPVsicmVkbyB7aGludH0iXX0sNzMxNjQ5KGUpe2UuZXhwb3J0cz1bInVuZG8ge2hpbnR9Il19LDEyOTIxNChlKXtlLmV4cG9ydHM9WyJDb3B5Il19LDYwODk5MihlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjk0NjM3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IGludGVydmFsIl19LDczNzIxNShlKXtlLmV4cG9ydHM9WyJDcm9zc2hhaXIiXX0sMTI0NzgoZSl7CmUuZXhwb3J0cz1bIkNyb3NzaGFpciBpcyBzeW5jZWQgYWNyb3NzIGFsbCBjaGFydHMgd2l0aGluIHRoZSBsYXlvdXQiXX0sOTk1MjkoZSl7ZS5leHBvcnRzPVsiQWRkIHRvIGZhdm9yaXRlcyJdfSwxNjE3MzUoZSl7ZS5leHBvcnRzPVsiQWxlcnQiXX0sMzkzOShlKXtlLmV4cG9ydHM9WyJBbGwgY2hhbmdlcyBzYXZlZCJdfSw1NTYzOTkoZSl7ZS5leHBvcnRzPVsiQXV0b3NhdmUiXX0sODkzNTc2KGUpe2UuZXhwb3J0cz1bIkJvbmRzIGZvciB7c3ltYm9sfSJdfSw4MzM5MzQoZSl7ZS5leHBvcnRzPVsiQmFyJ3Mgc3R5bGUiXX0sNzUxMjgzKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyBmb3Ige3N5bWJvbH0iXX0sNDI3NDk0KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UiXX0sMTA0NTU5KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDQzNTgxMyhlKXtlLmV4cG9ydHM9WyJEZWZhdWx0IHRlbXBsYXRlcyJdfSwyNTM1MyhlKXtlLmV4cG9ydHM9WyJFY29ub215IGluZGljYXRvcnMiXX0sNjY2OTQ0KGUpe2UuZXhwb3J0cz1bIkV2ZXJ5b25lIHdpdGggdGhlIGxpbmsgY2FuIHZpZXcgYW5kIGNvcHkiXX0sNDUwMTY2KGUpe2UuZXhwb3J0cz1bIkZvcmVjYXN0IGZvciB7c3ltYm9sfSJdfSw1MjI5MTEoZSl7ZS5leHBvcnRzPVsiRnVsbHNjcmVlbiBtb2RlIl19LDEyNzU2OShlKXtlLmV4cG9ydHM9WyJJbnRlcnZhbCJdfSw0MDU5NDYoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDYxNjkoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIHRlbXBsYXRlcyJdfSw4NDgzOTQoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyJdfSwxNzQ0ODIoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycywgbWV0cmljcywgYW5kIHN0cmF0ZWdpZXMiXX0sNDEyNzc2KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMgZm9yIHtzeW1ib2x9Il19LDgwNjYzNihlKXtlLmV4cG9ydHM9WyJPcGVuIHRlbXBsYXRlIl19LDc1NjAwOShlKXtlLmV4cG9ydHM9WyJPcGVuIGNoYXJ0IGluIHBvcHVwIl19LDE0ODg4OShlKXtlLmV4cG9ydHM9WyJPcGVuIGluIG5ldyB0YWIiXX0sMjQyOTEzKGUpe2UuZXhwb3J0cz1bIkxvYWQgQ2hhcnQgTGF5b3V0Il19LDQzNjUwNChlKXtlLmV4cG9ydHM9WyJMb2FkaW5nLi4uIl19LDk3NDIxNChlKXtlLmV4cG9ydHM9WyJMYXlvdXQgc2V0dXAiXX0sOTI3NzA1KGUpe2UuZXhwb3J0cz1bIkxheW91dCB0eXBlIl19LDQ0NzE1MChlKXtlLmV4cG9ydHM9WyJMaW5rIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sNjE4MDM5KGUpe2UuZXhwb3J0cz1bIk1ha2UgYSBjb3B5Il19LDIzNjY2MChlKXtlLmV4cG9ydHM9WyJNYW5hZ2UgbGF5b3V0cyJdfSwyODU0ODMoZSl7ZS5leHBvcnRzPVsiTXkgdGVtcGxhdGVzIl19LDU0ODY5MChlKXtlLmV4cG9ydHM9WyJOdW1iZXIgb3Ige2hvdEtleV8wfSJdfSw2MTI2NTUoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw4MjAzKGUpe2UuZXhwb3J0cz1bIlNhdmUgYWxsIGNoYXJ0cyBmb3IgYWxsIHN5bWJvbHMgYW5kIGludGVydmFscyBvbiB5b3VyIGxheW91dCJdfSw5MzkwNzQoZSl7ZS5leHBvcnRzPVsiU2F2ZSBsYXlvdXQiXX0sNjg1OTYzKGUpe2UuZXhwb3J0cz1bIlNlYXNvbmFscyBmb3Ige3N5bWJvbH0iXX0sOTY3MjU3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCB1c2luZyBJU0lOIGFuZCBDVVNJUCBjb2RlcyJdfSwyOTY0NTcoZSl7ZS5leHBvcnRzPVsiU2hhcmUiXX0sNTQwMDQyKGUpe2UuZXhwb3J0cz1bIlNoYXJlIGxhc3QgcHJpY2UiXX0sODcwNjc4KGUpe2UuZXhwb3J0cz1bIlNoYXJlIHNuYXBzaG90Il19LDM5MDE5OChlKXtlLmV4cG9ydHM9WyJTaW1wbHkgc3RhcnQgdHlwaW5nIHdoaWxlIG9uIHRoZSBjaGFydCB0byBwdWxsIHVwIHRoaXMgc2VhcmNoIGJveCJdfSw2MTMxNjMoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIl19LDQ4MjIyNShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDczOTkzNihlKXtlLmV4cG9ydHM9WyJTeW5jIGluIGxheW91dCJdfSwzNTgyOTEoZSl7ZS5leHBvcnRzPVsiUmVjZW50bHkgdXNlZCJdfSw2OTQyMDkoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIGZyb20gZmF2b3JpdGVzIl19LDc1NDM4MihlKXtlLmV4cG9ydHM9WyJSZW1vdmUgc2VsZWN0ZWQgZW1vamkiXX0sNTIwMzg3KGUpe2UuZXhwb3J0cz1bIldoZW4gYSBjaGFydCBpcyBjbGlja2VkLCBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0IGRpc3BsYXkgdGhlIHNhbWUgcG9pbnQgb2YgdGltZSJdfSwyMDczNzEoZSl7ZS5leHBvcnRzPVsiVGFrZSBhIHNuYXBzaG90Il19LDE4NjEyNShlKXtlLmV4cG9ydHM9WyJUaGUgTW90bGV5IEZvb2wgY29kZSJdfX1dKTs="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/88641.041438d11c46fce9d089.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.211Z","timestamp":1785124877211,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/88641.041438d11c46fce9d089.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-62c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3e1c24cce7f62a567ae8115e728ad129\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1580,"size_decoded":1389,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1580), with no line terminators","md5":"32e0ae9a28c9d52b414aad34c4892758","sha1":"c119d88feed0b8329be7c35b301b302009ccf7ae","sha256":"e500bb28f78ac3f684a2b30dc0bd9b3331361b359f821ea0c3a52125602e5b20","sha512":"12b52a1eb7238e0fb37efa641cf083fec0b82cbffa652c114c565afca2e4ed378b45dae932ca4d06a04dbc1b5ba34433d9b290cf92413b855a971a45eb7099d8","ssdeep":"","tlshash":"0d31c2a8e27491ba5a4bdd7923d4e659190cbd03be221fd6f724d4108cc65e32371d98","first_seen":"2026-04-03T18:46:53.450108Z","last_seen":"2026-07-27T06:24:31.537242Z","times_seen":167,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLW5yZko6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1ucmZKOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tXzEtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY29udGFpbmVyLXFtN1JnNU1Ce2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzEtbnJmSik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmV9LmNvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NDBweDttYXJnaW4tYmxvY2s6NHB4IDhweDttYXJnaW4taW5saW5lOjIwcHggMjBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUJ7aGVpZ2h0OjI0cHg7cGFkZGluZy1ibG9jazo4cHggOHB4O3BhZGRpbmctaW5saW5lOjQ3cHggMTZweDt3aWR0aDoxMDAlfS5pbnB1dENvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NDBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUIud2l0aENhbmNlbC1xbTdSZzVNQntwYWRkaW5nLWlubGluZS1lbmQ6NzBweH0uaW5wdXQtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjpub25lO2NvbG9yOnZhcigtLV8wLW5yZkopO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDt3aWR0aDoxMDAlfS5pbnB1dC1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmlucHV0LXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpO2ZvbnQtd2VpZ2h0OjQwMH0uaW5wdXQtcW03Umc1TUI6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQpO2ZvbnQtd2VpZ2h0OjQwMH0uaWNvbi1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTtoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDE0cHgpfS5pY29uLXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7aW5zZXQtaW5saW5lLXN0YXJ0OjhweH0uY2FuY2VsLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7aW5zZXQtaW5saW5lLWVuZDoyMHB4O3Bvc2l0aW9uOmFic29sdXRlfS5jYW5jZWwtcW03Umc1TUIubW9iaWxlLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX0="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80041.ff2e3df963d58c1771f5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.230Z","timestamp":1785124877230,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80041.ff2e3df963d58c1771f5.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a476ed7-f2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cd0d8379d703687757cd3e22c19b2afc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":242,"size_decoded":911,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"0debe78b8515cd9552f555755ca4765a","sha1":"f0e49e0f11bef9dacbb2b363e83869a3d411bfca","sha256":"bec333c559918a8efa7275890ccafed19705d322978b1c641d89b13d03fc97dd","sha512":"d939aa5f7bf5c021dadb5dda0bcd5744e5e73e8c9099a9081209787978ca5127b90a9c91ac0751ce33d935344733b72071d818091a1fbc9a4ee41fb2f5039880","ssdeep":"","tlshash":"3cd05e8bfb412bbda829019805a0236b5f38aca9b2224f0c7541976186c68f31814881","first_seen":"2026-07-04T06:34:19.697277Z","last_seen":"2026-07-27T06:24:31.684201Z","times_seen":58,"resource_available":false,"data":"LmNvbnRhaW5lci1haTkzREpWd3tib3R0b206MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxNXB4fS5jb250YWluZXItYWk5M0RKVncgLnZpc2libGUtYWk5M0RKVnd7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uY29udGFpbmVyLWFpOTNESlZ3IC5mb3JjZVZpc2libGUtYWk5M0RKVnd7ZGlzcGxheTpmbGV4IWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.241Z","timestamp":1785124877241,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/77578.f6db460ed1e8ce31ea86.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-69be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8e8ac03d14d34a36d746ee61ee238010\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27070,"size_decoded":10712,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"2b6fab5d43180a44762a23007cc74818","sha1":"57a42431bd8f0021426278639e1480f60600ddbc","sha256":"4daa7f339a6ee290609f5a83e28d23ee34feaa429a33d7403cf4890502acabfd","sha512":"482fc0dcff39aea620d385e9ecbe90053b7ed726e6c51f9e14dddd7f150263071d648a4c7ba8c7eb4637bee7761d193c72638a4019a4214ae774a41f8a4d53b8","ssdeep":"768:8LZLvioqCZ0JL2sWfliPTkeX0dnor9s+htUQJXRl7m:8BwL2dIAYrC+DT53K","tlshash":"4ec23a913111a49d96fbe2eed02b428ef3323659790a0e75f02c9cec11cdb693175b7a","first_seen":"2026-07-23T14:00:31.442829Z","last_seen":"2026-07-27T06:24:31.617775Z","times_seen":23,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw2MzU5NSw3NzU3OF0sezk1ODYzOShlKXtlLmV4cG9ydHM9e21lbnVXcmFwOiJtZW51V3JhcC1sQkl4SXd0eiIsaXNNZWFzdXJpbmc6ImlzTWVhc3VyaW5nLWxCSXhJd3R6IixzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWxCSXhJd3R6Iixtb21lbnR1bUJhc2VkOiJtb21lbnR1bUJhc2VkLWxCSXhJd3R6IixtZW51Qm94OiJtZW51Qm94LWxCSXhJd3R6Iixpc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sMzE2NTQ5KGUpe2UuZXhwb3J0cz17bGlua0l0ZW06ImxpbmtJdGVtLVNSa0ZIQWdnIn19LDIxNjQwOShlKXtlLmV4cG9ydHM9e3JvdW5kVGFiQnV0dG9uOiJyb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMyIsZGlzYWJsZUZvY3VzT3V0bGluZToiZGlzYWJsZUZvY3VzT3V0bGluZS1XYTZUbUdOMyIsZW5hYmxlQ3Vyc29yUG9pbnRlcjoiZW5hYmxlQ3Vyc29yUG9pbnRlci1XYTZUbUdOMyIsbGFyZ2U6ImxhcmdlLVdhNlRtR04zIix3aXRoU3RhcnRJY29uOiJ3aXRoU3RhcnRJY29uLVdhNlRtR04zIixpY29uT25seToiaWNvbk9ubHktV2E2VG1HTjMiLHdpdGhFbmRJY29uOiJ3aXRoRW5kSWNvbi1XYTZUbUdOMyIsc3RhcnRJY29uV3JhcDoic3RhcnRJY29uV3JhcC1XYTZUbUdOMyIsZW5kSWNvbldyYXA6ImVuZEljb25XcmFwLVdhNlRtR04zIixzbWFsbDoic21hbGwtV2E2VG1HTjMiLHhzbWFsbDoieHNtYWxsLVdhNlRtR04zIixwcmltYXJ5OiJwcmltYXJ5LVdhNlRtR04zIixkaXNhYmxlZDoiZGlzYWJsZWQtV2E2VG1HTjMiLHNlbGVjdGVkOiJzZWxlY3RlZC1XYTZUbUdOMyIsZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiJkaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtV2E2VG1HTjMiLGdob3N0OiJnaG9zdC1XYTZUbUdOMyIsZmFrZToiZmFrZS1XYTZUbUdOMyIsY2FyZXQ6ImNhcmV0LVdhNlRtR04zIix2aXN1YWxseUhpZGRlbjoidmlzdWFsbHlIaWRkZW4tV2E2VG1HTjMiLGNvbnRlbnQ6ImNvbnRlbnQtV2E2VG1HTjMifX0sNDc4MzkoZSl7ZS5leHBvcnRzPXtzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWhyUVZfQlpzIixvdmVyZmxvd1Njcm9sbDoib3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnMiLHJvdW5kVGFiczoicm91bmRUYWJzLWhyUVZfQlpzIixjZW50ZXI6ImNlbnRlci1oclFWX0JacyIsb3ZlcmZsb3dXcmFwOiJvdmVyZmxvd1dyYXAtaHJRVl9CWnMiLHN0YXJ0OiJzdGFydC1oclFWX0JacyJ9fSw3NjEwOTMoZSl7ZS5leHBvcnRzPXt0aXRsZToidGl0bGUtbmZrR203TkcifX0sMzYyNzkzKGUpe2UuZXhwb3J0cz17eHh4c21hbGw6Inh4eHNtYWxsLUFmZDZ0NFpqIix4eHNtYWxsOiJ4eHNtYWxsLUFmZDZ0NFpqIix4c21hbGw6InhzbWFsbC1BZmQ2dDRaaiIsc21hbGw6InNtYWxsLUFmZDZ0NFpqIixtZWRpdW06Im1lZGl1bS1BZmQ2dDRaaiIsbGFyZ2U6ImxhcmdlLUFmZDZ0NFpqIix4bGFyZ2U6InhsYXJnZS1BZmQ2dDRaaiIsY291bnRlcjoiY291bnRlci1BZmQ2dDRaaiIsImNvbG9yLWRhbmdlciI6ImNvbG9yLWRhbmdlci1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudCI6ImNvbG9yLWFjY2VudC1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudC1saWdodCI6ImNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwtYm9sZCI6ImNvbG9yLW5ldXRyYWwtYm9sZC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1uZXV0cmFsLUFmZDZ0NFpqIiwiYm9yZGVyQ29sb3ItcHJpbWFyeSI6ImJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci1zZWNvbmRhcnkiOiJib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci10ZXJ0aWFyeSI6ImJvcmRlckNvbG9yLXRlcnRpYXJ5LUFmZDZ0NFpqIixkaXNhYmxlZDoiZGlzYWJsZWQtQWZkNnQ0WmoifX0sMTkzODQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcHVwTWVudURpc2Nsb3N1cmVWaWV3OigpPT51fSk7dmFyIG89big3Nzk0NzQpLHI9big4MDk0MzYpLGE9big4MzU5NjQpLGw9bigxMzg2MzgpO2NvbnN0IHM9e3g6MCx5OjB9O2Z1bmN0aW9uIGkoZSx0LG4pe3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoKT0+ZnVuY3Rpb24oZSx0LHt4Om49cy54LHk6bz1zLnl9PXMpe2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhPXt4OnIubGVmdCtuLHk6ci50b3Arci5oZWlnaHQrbyxpbmRlbnRGcm9tV2luZG93Ont0b3A6NCxib3R0b206NCxsZWZ0OjQscmlnaHQ6NH19O3JldHVybiB0JiYoYS5vdmVycmlkZVdpZHRoPXIud2lkdGgpLGF9KGUuY3VycmVudCx0LG4pKSxbZSx0XSl9Y29uc3QgYz1wYXJzZUludChyWyJzaXplLWhlYWRlci1oZWlnaHQiXSk7ZnVuY3Rpb24gdShlKXsKY29uc3R7YnV0dG9uOnQscG9wdXBDaGlsZHJlbjpuLGJ1dHRvblJlZjpyLGxpc3Rib3hJZDpsLGxpc3Rib3hDbGFzc05hbWU6cyxsaXN0Ym94VGFiSW5kZXg6dSxtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6ZCxpc09wZW5lZDpoLHNjcm9sbFdyYXBSZWZlcmVuY2U6bSxsaXN0Ym94UmVmZXJlbmNlOnAsb25DbG9zZTpmLG9uT3BlbjpiLG9uTGlzdGJveEZvY3VzOnYsb25MaXN0Ym94Qmx1cjpnLG9uTGlzdGJveEtleURvd246QyxsaXN0Ym94QXJpYTp4LHJlcG9zaXRpb25PblNjcm9sbDp3PSEwLGNsb3NlT25IZWFkZXJPdmVybGFwOnk9ITEscG9wdXBQb3NpdGlvbkNvcnJlY3Rpb246Xz17eDowLHk6MH0scG9wdXBQb3NpdGlvbjpOLGRhdGFRYUlkOlN9PWUsTT1pKHIsZCxfKSxSPXk/YzowO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLHQsby5jcmVhdGVFbGVtZW50KGEuUG9wdXBNZW51LHsuLi54LGRhdGFRYUlkOlMsaWQ6bCxjbGFzc05hbWU6cyx0YWJJbmRleDp1LGlzT3BlbmVkOmgscG9zaXRpb246Tnx8TSxyZXBvc2l0aW9uT25TY3JvbGw6dyxvbkNsb3NlOmYsb25PcGVuOmIsZG9Ob3RDbG9zZU9uOnIuY3VycmVudCxyZWZlcmVuY2U6cCxzY3JvbGxXcmFwUmVmZXJlbmNlOm0sb25Gb2N1czp2LG9uQmx1cjpnLG9uS2V5RG93bjpDLGNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0OlJ9LG4pKX19LDY4MTIyNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51Q29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQobnVsbCl9LDE0NTE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX01FTlVfVEhFTUU6KCk9PmIsTWVudTooKT0+Z30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oMTM4NjM4KSxzPW4oNjA3ODMyKSxpPW4oOTAzNDIpLGM9big4OTEyMDkpLHU9big2NDA3NDQpLGQ9big1MTg3NSksaD1uKDcyNzA5KSxtPW4oMjc2MDE5KSxwPW4oNjgxMjI0KSxmPW4oOTU4NjM5KTtjb25zdCBiPWY7dmFyIHY7IWZ1bmN0aW9uKGUpe2VbZS5JbmRlbnRGcm9tV2luZG93PTBdPSJJbmRlbnRGcm9tV2luZG93In0odnx8KHY9e30pKTtjbGFzcyBnIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2NvbnRhaW5lclJlZj1udWxsLHRoaXMuX3Njcm9sbFdyYXBSZWY9bnVsbCx0aGlzLl9yYWY9bnVsbCx0aGlzLl9zY3JvbGxSYWY9bnVsbCx0aGlzLl9zY3JvbGxUaW1lb3V0PXZvaWQgMCx0aGlzLl9tYW5hZ2VyPW5ldyBpLk92ZXJsYXBNYW5hZ2VyLHRoaXMuX2hvdGtleXM9bnVsbCx0aGlzLl9zY3JvbGw9MCx0aGlzLl9oYW5kbGVDb250YWluZXJSZWY9ZT0+e3RoaXMuX2NvbnRhaW5lclJlZj1lLHRoaXMucHJvcHMucmVmZXJlbmNlJiYoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMucHJvcHMucmVmZXJlbmNlJiZ0aGlzLnByb3BzLnJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMucmVmZXJlbmNlJiYodGhpcy5wcm9wcy5yZWZlcmVuY2UuY3VycmVudD1lKSl9LHRoaXMuX2hhbmRsZVNjcm9sbFdyYXBSZWY9ZT0+e3RoaXMuX3Njcm9sbFdyYXBSZWY9ZSwiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5zY3JvbGxXcmFwUmVmZXJlbmNlJiZ0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UoZSksIm9iamVjdCI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJih0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UuY3VycmVudD1lKX0sdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGU9KCk9Pnt0aGlzLl9yZXNpemVGb3JjZWQoKSx0aGlzLl9oYW5kbGVNZWFzdXJlKCl9LHRoaXMuX2hhbmRsZU1lYXN1cmU9KHtjYWxsYmFjazplLGZvcmNlUmVjYWxjUG9zaXRpb246dH09e30pPT57aWYodGhpcy5zdGF0ZS5pc01lYXN1cmVWYWxpZCYmIXQpcmV0dXJuO2NvbnN0e3Bvc2l0aW9uOm59PXRoaXMucHJvcHMsbz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvbnRhaW5lclJlZik7bGV0IHI9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQscz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaT10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0Pz8wO2xldCBjPWEtMC1pO2NvbnN0IGQ9ci5oZWlnaHQ+YztpZihkKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnN0eWxlLm92ZXJmbG93WT0ic2Nyb2xsIixyPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y29uc3R7d2lkdGg6aCxoZWlnaHQ6bX09cixwPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24oe2NvbnRlbnRXaWR0aDpoLGNvbnRlbnRIZWlnaHQ6bSxhdmFpbGFibGVXaWR0aDpzLGF2YWlsYWJsZUhlaWdodDphfSk6bixmPXA/LmluZGVudEZyb21XaW5kb3c/LmxlZnQ/PzAsYj1zLShwLm92ZXJyaWRlV2lkdGg/P2gpLShwPy5pbmRlbnRGcm9tV2luZG93Py5yaWdodD8/MCksdj0oMCx1LmNsYW1wKShwLngsZixNYXRoLm1heChmLGIpKSxnPShwPy5pbmRlbnRGcm9tV2luZG93Py50b3A/PzApK2ksQz1hLShwLm92ZXJyaWRlSGVpZ2h0Pz9tKS0ocD8uaW5kZW50RnJvbVdpbmRvdz8uYm90dG9tPz8wKTtsZXQgeD0oMCx1LmNsYW1wKShwLnksZyxNYXRoLm1heChnLEMpKTtpZihwLmZvcmJpZENvcnJlY3RZQ29vcmQmJng8cC55JiYoYy09cC55LXgseD1wLnkpLHQmJnZvaWQgMCE9PXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQmJnAueTw9dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldClyZXR1cm4gdm9pZCB0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSghMCk7Y29uc3Qgdz1wLm92ZXJyaWRlSGVpZ2h0Pz8oZD9jOnZvaWQgMCk7dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp0P3RoaXMuc3RhdGUuYXBwZWFyaW5nTWVudUhlaWdodDp3LGFwcGVhcmluZ01lbnVXaWR0aDp0P3RoaXMuc3RhdGUuYXBwZWFyaW5nTWVudVdpZHRoOnAub3ZlcnJpZGVXaWR0aCwKYXBwZWFyaW5nUG9zaXRpb246e3g6dix5Onh9LGlzTWVhc3VyZVZhbGlkOiEwfSwoKCk9Pnt0aGlzLnByb3BzLmRvTm90UmVzdG9yZVBvc2l0aW9ufHx0aGlzLl9yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSxlJiZlKCl9KSl9LHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbj0oKT0+e2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY3JvbGxXcmFwUmVmKTtlLnNjcm9sbFRvcD10aGlzLl9zY3JvbGw7Y29uc3QgdD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jb250YWluZXJSZWYpO2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmbi5jb250YWlucyh0KSYmIXRoaXMuX2lzRWxlbWVudEZ1bGx5VmlzaWJsZSh0LGUpKXRyeXt0LnNjcm9sbEludG9WaWV3KCl9Y2F0Y2goZSl7fX0sdGhpcy5faXNFbGVtZW50RnVsbHlWaXNpYmxlPShlLHQpPT57Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gbi50b3A+PW8udG9wJiZuLmJvdHRvbTw9by5ib3R0b219LHRoaXMuX3Jlc2l6ZUZvcmNlZD0oKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pfSx0aGlzLl9yZXNpemU9KCk9PntudWxsPT09dGhpcy5fcmFmJiYodGhpcy5fcmFmPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnZvaWQgMCxhcHBlYXJpbmdNZW51V2lkdGg6dm9pZCAwLGFwcGVhcmluZ1Bvc2l0aW9uOnZvaWQgMCxpc01lYXN1cmVWYWxpZDp2b2lkIDB9KSx0aGlzLl9yYWY9bnVsbH0pKSl9LHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlPWU9Pnt0aGlzLnByb3BzLm9uQ2xvc2UoZSl9LHRoaXMuX2hhbmRsZVNsb3Q9ZT0+e3RoaXMuX21hbmFnZXIuc2V0Q29udGFpbmVyKGUpfSx0aGlzLl9oYW5kbGVTY3JvbGw9KCk9Pnt0aGlzLl9zY3JvbGw9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY3JvbGxXcmFwUmVmKS5zY3JvbGxUb3B9LHRoaXMuX2hhbmRsZVNjcm9sbE91dHNpZGVFbmQ9KCk9PntjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCksdGhpcy5fc2Nyb2xsVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KX0pLDgwKX0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZT1lPT57ZS50YXJnZXQhPT10aGlzLl9zY3JvbGxXcmFwUmVmJiYodGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZCgpLG51bGw9PT10aGlzLl9zY3JvbGxSYWYmJih0aGlzLl9zY3JvbGxSYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KSx0aGlzLl9zY3JvbGxSYWY9bnVsbH0pKSkpfSx0aGlzLnN0YXRlPXt9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faGFuZGxlTWVhc3VyZSh7Y2FsbGJhY2s6dGhpcy5wcm9wcy5vbk9wZW59KTtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9bS5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8uc3Vic2NyaWJlKG51bGwsdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZSk7Y29uc3Qgbj1udWxsIT09dGhpcy5jb250ZXh0O3RoaXMuX2hvdGtleXN8fG58fCh0aGlzLl9ob3RrZXlzPWguY3JlYXRlR3JvdXAoe2Rlc2M6IlBvcHVwIG1lbnUifSksdGhpcy5faG90a2V5cy5hZGQoe2Rlc2M6IkNsb3NlIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e3RoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCl9fSkpLHRoaXMucHJvcHMucmVwb3NpdGlvbk9uU2Nyb2xsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5faGFuZGxlTWVhc3VyZSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y3VzdG9tQ2xvc2VEZWxlZ2F0ZTplPW0uZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTp0fT10aGlzLnByb3BzO2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSksdGhpcy5faG90a2V5cyYmKHRoaXMuX2hvdGtleXMuZGVzdHJveSgpLHRoaXMuX2hvdGtleXM9bnVsbCksbnVsbCE9PXRoaXMuX3JhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZiksdGhpcy5fcmFmPW51bGwpLG51bGwhPT10aGlzLl9zY3JvbGxSYWYmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxSYWYpLHRoaXMuX3Njcm9sbFJhZj1udWxsKSx0aGlzLl9zY3JvbGxUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCl9cmVuZGVyKCl7CmNvbnN0e2lkOmUscm9sZTp0LCJhcmlhLWxhYmVsIjpuLCJhcmlhLWxhYmVsbGVkYnkiOnIsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6bCwiYXJpYS1oaWRkZW4iOmksImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjaGlsZHJlbjptLG1pbldpZHRoOmIsdGhlbWU6dj1mLGNsYXNzTmFtZTpnLG1heEhlaWdodDp4LG9uTW91c2VPdmVyOncsb25Nb3VzZU91dDp5LG9uS2V5RG93bjpfLG9uRm9jdXM6TixvbkJsdXI6U309dGhpcy5wcm9wcyx7YXBwZWFyaW5nTWVudUhlaWdodDpNLGFwcGVhcmluZ01lbnVXaWR0aDpSLGFwcGVhcmluZ1Bvc2l0aW9uOkUsaXNNZWFzdXJlVmFsaWQ6VH09dGhpcy5zdGF0ZSxJPXsiLS11aS1raXQtbWVudS1tYXgtd2lkdGgiOmAke0UmJkUueH1weGAsbWF4V2lkdGg6ImNhbGMoMTAwdncgLSB2YXIoLS11aS1raXQtbWVudS1tYXgtd2lkdGgpIC0gNnB4KSJ9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocC5NZW51Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpc30sby5jcmVhdGVFbGVtZW50KGMuU3VibWVudUhhbmRsZXIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQocy5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpcy5fbWFuYWdlcn0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDplLHJvbGU6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpyLCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOmwsImFyaWEtaGlkZGVuIjppLCJhcmlhLWRlc2NyaWJlZGJ5Ijp1LCJhcmlhLWludmFsaWQiOmgsY2xhc3NOYW1lOmEoKShnLHYubWVudVdyYXAsIVQmJnYuaXNNZWFzdXJpbmcpLHN0eWxlOntoZWlnaHQ6TSxsZWZ0OkUmJkUueCxtaW5XaWR0aDpiLHBvc2l0aW9uOiJmaXhlZCIsdG9wOkUmJkUueSx3aWR0aDpSLC4uLnRoaXMucHJvcHMubGltaXRNYXhXaWR0aCYmSX0sImRhdGEtbmFtZSI6dGhpcy5wcm9wc1siZGF0YS1uYW1lIl0sImRhdGEtcWEtaWQiOnRoaXMucHJvcHMuZGF0YVFhSWQsImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjp0aGlzLnByb3BzWyJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyJdLHJlZjp0aGlzLl9oYW5kbGVDb250YWluZXJSZWYsb25TY3JvbGxDYXB0dXJlOnRoaXMucHJvcHMub25TY3JvbGwsb25Db250ZXh0TWVudTpkLnByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnUsdGFiSW5kZXg6dGhpcy5wcm9wcy50YWJJbmRleCxvbk1vdXNlT3Zlcjp3LG9uTW91c2VPdXQ6eSxvbktleURvd246XyxvbkZvY3VzOk4sb25CbHVyOlN9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKSh2LnNjcm9sbFdyYXAsIXRoaXMucHJvcHMubm9Nb21lbnR1bUJhc2VkU2Nyb2xsJiZ2Lm1vbWVudHVtQmFzZWQpLHN0eWxlOntvdmVyZmxvd1k6dm9pZCAwIT09TT8ic2Nyb2xsIjoiYXV0byIsbWF4SGVpZ2h0Onh9LG9uU2Nyb2xsQ2FwdHVyZTp0aGlzLl9oYW5kbGVTY3JvbGwscmVmOnRoaXMuX2hhbmRsZVNjcm9sbFdyYXBSZWZ9LG8uY3JlYXRlRWxlbWVudChDLHtjbGFzc05hbWU6di5tZW51Qm94fSxtKSkpKSxvLmNyZWF0ZUVsZW1lbnQocy5TbG90LHtyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKSl9dXBkYXRlKGUpe2U/dGhpcy5fcmVzaXplRm9yY2VkKCk6dGhpcy5fcmVzaXplKCl9Zm9jdXMoZSl7dGhpcy5fY29udGFpbmVyUmVmPy5mb2N1cyhlKX1ibHVyKCl7dGhpcy5fY29udGFpbmVyUmVmPy5ibHVyKCl9fWZ1bmN0aW9uIEMoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLG8udXNlQ29udGV4dCkoYy5TdWJtZW51Q29udGV4dCkpLG49by51c2VSZWYobnVsbCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOm4sY2xhc3NOYW1lOmUuY2xhc3NOYW1lLG9uTW91c2VPdmVyOmZ1bmN0aW9uKGUpe2lmKCEobnVsbCE9PXQuY3VycmVudCYmZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiYobz1lLnRhcmdldCxuLmN1cnJlbnQ/LmNvbnRhaW5zKG8pKSkpcmV0dXJuO3ZhciBvO3QuaXNTdWJtZW51Tm9kZShlLnRhcmdldCl8fHQuc2V0Q3VycmVudChudWxsKX0sImRhdGEtcWEtaWQiOiJtZW51LWlubmVyIn0sZS5jaGlsZHJlbil9Zy5jb250ZXh0VHlwZT1jLlN1Ym1lbnVDb250ZXh0fSwxNTM3MzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7REVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUU6KCk9PnUsUG9wdXBNZW51SXRlbTooKT0+aH0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oMzg3Nzc0KSxzPW4oODQ4OTg4KSxpPW4oMjc2MDE5KSxjPW4oNDcwMjk1KTtjb25zdCB1PS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qobi5qKT9jOm51bGw7ZnVuY3Rpb24gZChlKXtlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sY2xhc3NOYW1lOnIsdGl0bGU6dSxsYWJlbFJvd0NsYXNzTmFtZTpoLGxhYmVsQ2xhc3NOYW1lOm0sdG9vbGJveENsYXNzTmFtZTpwLHNob3J0Y3V0OmYsZm9yY2VTaG93U2hvcnRjdXRzOmIsaWNvbjp2LGljb25DbGFzc25hbWU6Zyxpc0FjdGl2ZTpDLGlzRGlzYWJsZWQ6eCxpc0hvdmVyZWQ6dyxhcHBlYXJBc0Rpc2FibGVkOnksbGFiZWw6XyxsaW5rOk4sc2hvd1Rvb2xib3hPbkhvdmVyOlMsc2hvd1Rvb2xib3hPbkZvY3VzOk0sdGFyZ2V0OlIscmVsOkUsdG9vbGJveDpULHRvb2xib3hSb2xlOkkscmVmZXJlbmNlOlcsb25Nb3VzZU91dDpPLG9uTW91c2VPdmVyOmssb25LZXlEb3duOkIsc3VwcHJlc3NUb29sYm94Q2xpY2s6QT0hMCx0aGVtZTpEPWMsdGFiSW5kZXg6eix0YWdOYW1lOkYscmVuZGVyQ29tcG9uZW50Okgscm91bmRlZEljb246UCxpY29uQXJpYVByb3BzOkcsY2lyY2xlTG9nbzpMLGRvbnRDbG9zZVBvcHVwOmosb25DbGljazpaLG9uQ2xpY2tBcmc6VixvbkNvbnRleHRNZW51Okssb25Nb3VzZVVwOlEsc3RhcnRTbG90OlUsZGF0YVFhSWQ6WCwuLi4kfT1lLHE9KDAsby51c2VSZWYpKG51bGwpLFk9KDAsby51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7CmNvbnN0e3JlZmVyZW5jZTpuLC4uLnJ9PXQsYT1lPz8oci5ocmVmPyJhIjoiZGl2IiksbD0iYSI9PT1hP3I6ZnVuY3Rpb24oZSl7Y29uc3R7ZG93bmxvYWQ6dCxocmVmOm4saHJlZkxhbmc6byxtZWRpYTpyLHBpbmc6YSxyZWw6bCx0YXJnZXQ6cyx0eXBlOmkscmVmZXJyZXJQb2xpY3k6YywuLi51fT1lO3JldHVybiB1fShyKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGEsey4uLmwscmVmOm59KX1yZXR1cm4gdC5kaXNwbGF5TmFtZT1gRGVmYXVsdENvbXBvbmVudCgke2V9KWAsdH0oRikpLFtGXSksSj1IPz9ZO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoSix7Li4uJCxpZDp0LHJvbGU6bixjbGFzc05hbWU6YSgpKHIsRC5pdGVtLHYmJkQud2l0aEljb24se1tELmlzQWN0aXZlXTpDLFtELmlzRGlzYWJsZWRdOnh8fHksW0QuaG92ZXJlZF06d30pLHRpdGxlOnUsaHJlZjpOLHRhcmdldDpSLHJlbDpFLHJlZmVyZW5jZTpmdW5jdGlvbihlKXtxLmN1cnJlbnQ9ZSwiZnVuY3Rpb24iPT10eXBlb2YgVyYmVyhlKTsib2JqZWN0Ij09dHlwZW9mIFcmJihXLmN1cnJlbnQ9ZSl9LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoeClyZXR1cm47WiYmWihWLGUpO2p8fChlLmN1cnJlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBvcHVwLW1lbnUtY2xvc2UtZXZlbnQiLHtidWJibGVzOiEwLGRldGFpbDp7Y2xpY2tUeXBlOigwLHMuaXNLZXlib2FyZENsaWNrKShlKT8ia2V5Ym9hcmQiOiJtb3VzZSJ9fSkpLCgwLGkuZ2xvYmFsQ2xvc2VNZW51KSgpKX0sb25Db250ZXh0TWVudTpLLG9uTW91c2VVcDpRLG9uTW91c2VPdmVyOmssb25Nb3VzZU91dDpPLG9uS2V5RG93bjpCLHRhYkluZGV4OnosImRhdGEtcWEtaWQiOlh9LEwmJm8uY3JlYXRlRWxlbWVudChsLkNpcmNsZUxvZ28sey4uLkcsY2xhc3NOYW1lOmNbImRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nbyJdLHNpemU6Inh4eHNtYWxsIixsb2dvVXJsOkwubG9nb1VybCxwbGFjZWhvbGRlckxldHRlcjoicGxhY2Vob2xkZXJMZXR0ZXIiaW4gTD9MLnBsYWNlaG9sZGVyTGV0dGVyOnZvaWQgMH0pLFUmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpELnN0YXJ0U2xvdH0sVSksdiYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOkcmJkdbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOkcmJkJvb2xlYW4oR1siYXJpYS1oaWRkZW4iXSksY2xhc3NOYW1lOmEoKShELmljb24sUCYmY1sicm91bmQtaWNvbiJdLGcpLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dn19KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpKEQubGFiZWxSb3csaCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkoRC5sYWJlbCxtKX0sXykpLCh2b2lkIDAhPT1mfHxiKSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkQuc2hvcnRjdXR9LChlZT1mKSYmZWUuc3BsaXQoIisiKS5qb2luKCIgKyAiKSksdm9pZCAwIT09VCYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZTpJLG9uQ2xpY2s6QT9kOnZvaWQgMCxjbGFzc05hbWU6YSgpKHAsRC50b29sYm94LHtbRC5zaG93T25Ib3Zlcl06UyxbRC5zaG93T25Gb2N1c106TX0pfSxUKSk7dmFyIGVlfX0sNjMyOTkyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5hfSk7dmFyIG89big3Nzk0NzQpLHI9bigyNzYwMTkpO2NvbnN0IGE9by5jcmVhdGVDb250ZXh0KHIuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDgzNTk2NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnU6KCk9Pmh9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDEyOTM2NSksYT1uKDkyODEzMiksbD1uKDU4NTQ4KSxzPW4oMjM2NzY1KSxpPW4oMjI3OTQ5KSxjPW4oMTQ1MTUwKSx1PW4oNjMyOTkyKSxkPW4oMzAxOTM3KTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NvbnRyb2xsZXI6dCxjaGlsZHJlbjpuLGlzT3BlbmVkOmgsY2xvc2VPbkNsaWNrT3V0c2lkZTptPSEwLGRvTm90Q2xvc2VPbjpwLG9uQ2xpY2tPdXRzaWRlOmYsb25DbG9zZTpiLG9uS2V5Ym9hcmRDbG9zZTp2LGRhdGFRYUlkOmc9InBvcHVwLW1lbnUtY29udGFpbmVyIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDpDLC4uLnh9PWUsdz0oMCxvLnVzZUNvbnRleHQpKHUuQ2xvc2VEZWxlZ2F0ZUNvbnRleHQpLHk9by51c2VDb250ZXh0KGkuTWVudVdpZHRoQ29udGV4dCksXz0oMCxvLnVzZUNvbnRleHQpKGQuUmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0KSxOPSgwLHMudXNlT3V0c2lkZUV2ZW50KSh7aGFuZGxlcjpmdW5jdGlvbihlKXtmJiZmKGUpO2lmKCFtKXJldHVybjtjb25zdCB0PSgwLGEuZGVmYXVsdCkocCk/cCgpOm51bGw9PXA/W106W3BdO2lmKHQubGVuZ3RoPjAmJmUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSlmb3IoY29uc3QgbiBvZiB0KXtjb25zdCB0PXIuZmluZERPTU5vZGUobik7aWYodCBpbnN0YW5jZW9mIE5vZGUmJnQuY29udGFpbnMoZS50YXJnZXQpKXJldHVybn1iKCl9LG1vdXNlRG93bjohMCx0b3VjaFN0YXJ0OiEwfSk7cmV0dXJuIGg/by5jcmVhdGVFbGVtZW50KGwuUG9ydGFsLHt0b3A6IjAiLGxlZnQ6IjAiLHJpZ2h0OiIwIixib3R0b206IjAiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6TixzdHlsZTp7cG9pbnRlckV2ZW50czoiYXV0byJ9fSxvLmNyZWF0ZUVsZW1lbnQoYy5NZW51LHsuLi54LG9uQ2xvc2U6YixvbktleWJvYXJkQ2xvc2U6dixvblNjcm9sbDpmdW5jdGlvbih0KXtjb25zdHtvblNjcm9sbDpufT1lO24mJm4odCl9LGN1c3RvbUNsb3NlRGVsZWdhdGU6dyxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTpfLHJlZjp0LGRhdGFRYUlkOmcsbGltaXRNYXhXaWR0aDp5LnNldE1lbnVNYXhXaWR0aCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDpDfSxuKSkpOm51bGx9fSwzMDE5MzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0OigpPT5vfSkKO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQodm9pZCAwKX0sMjg3Nzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbGxhcHNlZFJvdW5kVGFic0Rpc2Nsb3N1cmU6KCk9PmZ9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDMxOTY5KSxhPW4oMjczMzEwKSxsPW4oMTUzNzM0KSxzPW4oMTkzODQ3KSxpPW4oMTk5MTcyKSxjPW4oNzM0ODUyKSx1PW4oNDkyNTA1KSxkPW4oMjM4NTM2KSxoPW4oODg2MCksbT1uKDYzMTU0MSkscD1uKDMxNjU0OSk7ZnVuY3Rpb24gZihlKXtjb25zdHtkaXNhYmxlZDp0LGlzT3BlbmVkOm4sZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6dSxkaXNhYmxlRm9jdXNPdXRsaW5lOmQsZmFrZTpmLGl0ZW1zOnYsYnV0dG9uVGV4dDpnLGJ1dHRvblByZXNldDpDPSJ0ZXh0IixidXR0b25SZWY6eCxzaXplOncsdmFyaWFudDp5LGlzQW5jaG9yVGFiczpfLGlzSGlnaGxpZ2h0ZWQ6TixvbkJ1dHRvbkNsaWNrOlMsb25JdGVtQ2xpY2s6TSxvbkNsb3NlOlJ9PWUsRT0oMCxvLnVzZVJlZikobnVsbCksVD0oMCxyLnVzZU1lcmdlZFJlZnMpKFt4LEVdKSxJPSJ0ZXh0Ij09PUM/dm9pZCAwOiJ4c21hbGwiPT09dz9oOm07cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLlBvcHVwTWVudURpc2Nsb3N1cmVWaWV3LHtidXR0b25SZWY6RSxsaXN0Ym94VGFiSW5kZXg6LTEsaXNPcGVuZWQ6bixvbkNsb3NlOlIsbGlzdGJveEFyaWE6eyJhcmlhLWhpZGRlbiI6ITB9LGJ1dHRvbjpvLmNyZWF0ZUVsZW1lbnQoYy5Sb3VuZFRhYnNCYXNlQnV0dG9uLHsiYXJpYS1oaWRkZW4iOiEwLGRpc2FibGVkOnQsYWN0aXZlOm4sb25DbGljazpTLHJlZjpULHRhYkluZGV4Oi0xLHNpemU6dyx2YXJpYW50Onksc3RhcnRJY29uOkksc2hvd0NhcmV0OiJ0ZXh0Ij09PUMsaWNvbk9ubHk6Im1lYXRiYWxscyI9PT1DLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOnUsZGlzYWJsZUZvY3VzT3V0bGluZTpkLGZha2U6Zn0sZykscG9wdXBDaGlsZHJlbjpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLCJtZWF0YmFsbHMiPT09QyYmby5jcmVhdGVFbGVtZW50KGkuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LG51bGwsZyksdi5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChsLlBvcHVwTWVudUl0ZW0se2tleTplLmlkLGNsYXNzTmFtZTpfP3AubGlua0l0ZW06dm9pZCAwLG9uQ2xpY2s6TSxvbkNsaWNrQXJnOmUsaXNBY3RpdmU6TihlKSxsYWJlbDpvLmNyZWF0ZUVsZW1lbnQoYix7aXNIaWdobGlnaHRlZDpOKGUpLHNpemU6dyx2YXJpYW50OnksZGlzYWJsZWQ6ZS5kaXNhYmxlZH0sZS5jaGlsZHJlbiksaXNEaXNhYmxlZDplLmRpc2FibGVkLGxpbms6ImhyZWYiaW4gZT9lLmhyZWY6dm9pZCAwLHJlbDoicmVsImluIGU/ZS5yZWw6dm9pZCAwLHRhcmdldDoidGFyZ2V0ImluIGU/ZS50YXJnZXQ6dm9pZCAwLGljb246ZS5zdGFydEljb24sdG9vbGJveDplLmVuZEljb24mJm8uY3JlYXRlRWxlbWVudChhLkljb24se2ljb246ZS5lbmRJY29ufSkscmVuZGVyQ29tcG9uZW50OiJyZW5kZXJDb21wb25lbnQiaW4gZT9lLnJlbmRlckNvbXBvbmVudDp2b2lkIDAsZG9udENsb3NlUG9wdXA6ITB9KSkpKX0pfWZ1bmN0aW9uIGIoZSl7Y29uc3R7aXNIaWdobGlnaHRlZDp0LHNpemU6bix2YXJpYW50OnIsY2hpbGRyZW46YSxkaXNhYmxlZDpsfT1lLHM9e3NpemU6bj8/dS5kZWZhdWx0U2l6ZSx2YXJpYW50OnI/P3UuZGVmYXVsdFZhcmlhbnQsaXNIaWdobGlnaHRlZDp0LGlzQ29sbGFwc2VkOiEwLGRpc2FibGVkOmw/PyExfTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQuUm91bmRUYWJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpzfSxhKX19LDQwMDIxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkJ1dHRvbjooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTY0NTk0KSxhPW4oNDkyNTA1KSxsPW4oNzM0ODUyKSxzPW4oMjM4NTM2KTtmdW5jdGlvbiBpKGUpe2NvbnN0e2l0ZW06dCxoaWdobGlnaHRlZDpuLGhhbmRsZUl0ZW1SZWY6aSxyZWZlcmVuY2U6YyxvbkNsaWNrOnUsLi4uZH09ZSxoPSgwLG8udXNlQ2FsbGJhY2spKChlPT57ZC5kaXNhYmxlZCYmZS5wcmV2ZW50RGVmYXVsdCgpLHUmJnUodCl9KSxbdSx0LGQuZGlzYWJsZWRdKSxtPSgwLG8udXNlQ2FsbGJhY2spKChlPT57aSYmaSh0LGUpLCgwLHIuaXNvbW9ycGhpY1JlZikoYykoZSl9KSxbdCxpXSkscD17c2l6ZTpkLnNpemU/P2EuZGVmYXVsdFNpemUsdmFyaWFudDpkLnZhcmlhbnQ/P2EuZGVmYXVsdFZhcmlhbnQsaXNIaWdobGlnaHRlZDpCb29sZWFuKGQuYWN0aXZlKSxpc0NvbGxhcHNlZDohMSxkaXNhYmxlZDpkLmRpc2FibGVkPz8hMX07cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLlJvdW5kVGFic0Jhc2VCdXR0b24sey4uLmQsaWQ6dC5pZCxvbkNsaWNrOmgscmVmOm0sc3RhcnRJY29uOnQuc3RhcnRJY29uLGVuZEljb246dC5lbmRJY29uLHRvb2x0aXA6dC50b29sdGlwLCJhcmlhLWxhYmVsIjoicmFkaW8iPT09ZC5yb2xlP3QuY2hpbGRyZW46dm9pZCAwfSxvLmNyZWF0ZUVsZW1lbnQocy5Sb3VuZFRhYkNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnB9LHQuY2hpbGRyZW4pKX19LDQ5MjUwNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkNvbnRlbnQ6KCk9Pm0sZGVmYXVsdFNpemU6KCk9PnUsZGVmYXVsdFZhcmlhbnQ6KCk9PmQsdXNlUm91bmRUYWJDbGFzc05hbWVzOigpPT5ofSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLGE9bi5uKHIpLGw9bigzMDk5MjApLHM9bigyNzMzMTApLGk9big5MzUxKSxjPW4oMjE2NDA5KTtjb25zdCB1PSJ4c21hbGwiLGQ9InByaW1hcnkiO2Z1bmN0aW9uIGgoZSl7Y29uc3QgdD0oMCxvLnVzZUNvbnRleHQpKGwuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse3NpemU6bj0ieHNtYWxsIix2YXJpYW50OnI9InByaW1hcnkiLGFjdGl2ZTpzLGZha2U6aSxzdGFydEljb246dSxlbmRJY29uOmQsc2hvd0NhcmV0OmgsaWNvbk9ubHk6bSxhbmNob3I6cCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmPXQuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsZGlzYWJsZUZvY3VzT3V0bGluZTpiPSExLHRvb2x0aXA6dixkaXNhYmxlZDpnfT1lCjtyZXR1cm4gYSgpKGMucm91bmRUYWJCdXR0b24sY1tuXSxjW3JdLHUmJmMud2l0aFN0YXJ0SWNvbiwoZHx8aCkmJmMud2l0aEVuZEljb24sbSYmYy5pY29uT25seSxzJiZjLnNlbGVjdGVkLGkmJmMuZmFrZSxwJiZjLmVuYWJsZUN1cnNvclBvaW50ZXIsIWYmJmMuZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLGImJmMuZGlzYWJsZUZvY3VzT3V0bGluZSx2JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiLGcmJmMuZGlzYWJsZWQsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAgYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkgYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7c3RhcnRJY29uOnQsZW5kSWNvbjpuLHNob3dDYXJldDpyLGljb25Pbmx5OmwsY2hpbGRyZW46aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQocy5JY29uLHtpY29uOnQsY2xhc3NOYW1lOmMuc3RhcnRJY29uV3JhcCwiYXJpYS1oaWRkZW4iOiEwfSksaSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKShjLmNvbnRlbnQsbCYmYy52aXN1YWxseUhpZGRlbil9LGkpLCghbCYmbnx8cikmJm8uY3JlYXRlRWxlbWVudChwLHtpY29uOm4sc2hvd0NhcmV0OnJ9KSl9ZnVuY3Rpb24gcChlKXtjb25zdHtpY29uOnQsc2hvd0NhcmV0Om59PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLkljb24se2NsYXNzTmFtZTphKCkoYy5lbmRJY29uV3JhcCxuJiZjLmNhcmV0KSxpY29uOm4/aTp0LCJhcmlhLWhpZGRlbiI6ITB9KX19LDIzODUzNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkNvbnRleHQ6KCk9Pm99KTtjb25zdCBvPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7c2l6ZToic21hbGwiLHZhcmlhbnQ6InByaW1hcnkiLGlzSGlnaGxpZ2h0ZWQ6ITEsaXNDb2xsYXBzZWQ6ITEsZGlzYWJsZWQ6ITF9KX0sNzM0ODUyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JvdW5kVGFic0Jhc2VCdXR0b246KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDc3MDE0MyksYT1uKDQ5MjUwNSk7Y29uc3QgbD0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2lkOm4sc2l6ZTpsLHZhcmlhbnQ6cyxhY3RpdmU6aSxmYWtlOmMsc3RhcnRJY29uOnUsZW5kSWNvbjpkLHNob3dDYXJldDpoLGljb25Pbmx5Om0sY2hpbGRyZW46cCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmLGRpc2FibGVGb2N1c091dGxpbmU6Yix0b29sdGlwOnYsZGlzYWJsZWQ6ZywuLi5DfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLkMsaWQ6bixyZWY6dCwiZGF0YS10b29sdGlwIjp2LCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6dj8/KDAsci5nZXRUZXh0Rm9yVG9vbHRpcCkocCksY2xhc3NOYW1lOigwLGEudXNlUm91bmRUYWJDbGFzc05hbWVzKSh7c2l6ZTpsLHZhcmlhbnQ6cyxhY3RpdmU6aSxmYWtlOmMsc3RhcnRJY29uOnUsZW5kSWNvbjpkLHNob3dDYXJldDpoLGljb25Pbmx5Om0sZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ZixkaXNhYmxlRm9jdXNPdXRsaW5lOmIsdG9vbHRpcDp2LGRpc2FibGVkOmd9KX0sby5jcmVhdGVFbGVtZW50KGEuUm91bmRUYWJDb250ZW50LHtzdGFydEljb246dSxlbmRJY29uOmQsc2hvd0NhcmV0OmgsaWNvbk9ubHk6bX0scCkpfSkpO2wuZGlzcGxheU5hbWU9IlJvdW5kVGFic0Jhc2VCdXR0b24ifSw1MDk0ODkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Um91bmRCdXR0b25UYWJzSW1wbDooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oNzgzMjU0KSxzPW4oMTE1MjkzKSxpPW4oODQ2ODU4KSxjPW4oMjEyMTI1KSx1PW4oNDAwMjExKSxkPW4oMjg3Nzg2KSxoPW4oMTAzNTkzKTtmdW5jdGlvbiBtKGUpe2NvbnN0e2NoaWxkcmVuOnQsZGlzYWJsZWQ6cixtb3JlQnV0dG9uVGV4dDptPWwudChudWxsLHZvaWQgMCxuKDM5NDk0NykpLG1vcmVCdXR0b25QcmVzZXQ6cCxjbGFzc05hbWU6ZixzaXplOmIsdmFyaWFudDp2LGFsaWduOmcsc3R5bGU6Qz17fSwiZGF0YS1uYW1lIjp4LGlzUmFkaW9Hcm91cDp3LCJhcmlhLWNvbnRyb2xzIjp5fT1lLF89KDAsaC5nZXRSb3VuZFRhYnNHYXApKGIpLHtlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpOLG1vcmVCdXR0b25SZWY6UyxzZXRJdGVtUmVmOk0sZ2V0QmluZGluZ3M6UixoYW5kbGVNb3JlQnV0dG9uQ2xpY2s6RSxoYW5kbGVDb2xsYXBzZWRJdGVtQ2xpY2s6VCxzY3JvbGxXcmFwQmluZGluZzpJLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6Tyx2aXNpYmxlVGFiczprLGhpZGRlblRhYnM6QixoYW5kbGVBY3RpdmF0ZTpBLGlzTW9iaWxlVG91Y2g6RCxnZXRJdGVtSWQ6eixpc0Rpc2Nsb3N1cmVPcGVuZWQ6Rixpc0hpZ2hsaWdodGVkOkgsY2xvc2VEaXNjbG9zdXJlOlB9PSgwLGkudXNlVGFic01haW5IYW5kbGVycykoYy5UYWJOYW1lcy5Sb3VuZEJ1dHRvblRhYnMsZSx7aXNSdGw6cy5pc1J0bCxzY3JvbGxJbnRvVmlld09wdGlvbnM6e2FkZGl0aW9uYWxTY3JvbGw6X30saXNSYWRpb0dyb3VwOncsZ2FwOl99KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5JLGNsYXNzTmFtZTphKCkoKDAsaC5nZXRSb3VuZFRhYnNTY3JvbGxXcmFwQ2xhc3NOYW1lcykoe292ZXJmbG93QmVoYXZpb3VyOld9KSxmKSxzdHlsZTp7Li4uQywiLS11aS1saWItcm91bmRUYWJzLWdhcCI6YCR7X31weGB9LCJkYXRhLW5hbWUiOnh9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4uTyxjbGFzc05hbWU6KDAsaC5nZXRSb3VuZFRhYnNJbm5lcldyYXBDbGFzc05hbWVzKSh7YWxpZ246ZyxvdmVyZmxvd0JlaGF2aW91cjpXfSl9LGsubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQodS5Sb3VuZFRhYkJ1dHRvbix7Li4uUihlKSxrZXk6ZS5pZCxpdGVtOmUsb25DbGljazooKT0+QShlKSx2YXJpYW50OnYsc2l6ZTpiLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk4sZGlzYWJsZUZvY3VzT3V0bGluZTpELHJlZmVyZW5jZTpNKHooZSkpLC4uLmUuZGF0YUlkJiZ7CiJkYXRhLWlkIjplLmRhdGFJZH0sImFyaWEtY29udHJvbHMiOnl9KSkpLEIubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQodS5Sb3VuZFRhYkJ1dHRvbix7Li4uUihlKSxrZXk6ZS5pZCxpdGVtOmUsdmFyaWFudDp2LHNpemU6YixyZWZlcmVuY2U6TSh6KGUpKSwiYXJpYS1jb250cm9scyI6eSxmYWtlOiEwfSkpKSxvLmNyZWF0ZUVsZW1lbnQoZC5Db2xsYXBzZWRSb3VuZFRhYnNEaXNjbG9zdXJlLHtkaXNhYmxlZDpyLGlzT3BlbmVkOkYsaXRlbXM6QixidXR0b25UZXh0Om0sYnV0dG9uUHJlc2V0OnAsYnV0dG9uUmVmOlMsaXNIaWdobGlnaHRlZDpILG9uQnV0dG9uQ2xpY2s6RSxvbkl0ZW1DbGljazpULG9uQ2xvc2U6UCx2YXJpYW50OnYsc2l6ZTpiLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk4sZGlzYWJsZUZvY3VzT3V0bGluZTpELGZha2U6MD09PUIubGVuZ3RofSksdCkpfX0sMTAzNTkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFJvdW5kVGFic0dhcDooKT0+aSxnZXRSb3VuZFRhYnNJbm5lcldyYXBDbGFzc05hbWVzOigpPT5zLGdldFJvdW5kVGFic1Njcm9sbFdyYXBDbGFzc05hbWVzOigpPT5sfSk7dmFyIG89big5MTQ0ODcpLHI9bi5uKG8pLGE9big0NzgzOSk7ZnVuY3Rpb24gbChlKXtjb25zdHtvdmVyZmxvd0JlaGF2aW91cjp0fT1lO3JldHVybiByKCkoYS5zY3JvbGxXcmFwLCJzY3JvbGwiPT09dCYmYS5vdmVyZmxvd1Njcm9sbCwid3JhcCI9PT10JiZhLm92ZXJmbG93V3JhcCl9ZnVuY3Rpb24gcyhlKXtjb25zdHthbGlnbjp0PSJzdGFydCJ9PWU7cmV0dXJuIHIoKShhLnJvdW5kVGFicyxhW3RdKX1mdW5jdGlvbiBpKGU9InhzbWFsbCIpe3N3aXRjaChlKXtjYXNlInNtYWxsIjpyZXR1cm4gODtjYXNlInhzbWFsbCI6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMTZ9fX0sMTk5MTcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRNZW51U3VtbWFyeTooKT0+c30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oNzYxMDkzKTtmdW5jdGlvbiBzKGUpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoZS5jbGFzc05hbWUsbC50aXRsZSl9LGUuY2hpbGRyZW4pfX0sNzIxOTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvdW50ZXI6KCk9PmR9KTt2YXIgbyxyLGEsbD1uKDkxNDQ4Nykscz1uLm4obCksaT1uKDc3OTQ3NCksYz1uKDM2Mjc5MyksdT1uLm4oYyk7ZnVuY3Rpb24gZChlKXtjb25zdHtjbGFzc05hbWU6dCxjb3VudDpuLGNvbXBhY3Q6bz0hMCxzaXplOnI9InhsYXJnZSIsY29sb3I6YT0iZGFuZ2VyIixzaWduOmwsYm9yZGVyQ29sb3I6Yz0ibm9uZSIsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpoLGRpc2FibGVkOm0sLi4ucH09ZSxmPXA7bGV0IGI7Yj0hKCJ4eHNtYWxsIj09PXJ8fCJ4eHhzbWFsbCI9PT1yKSYmbj9vJiZuPj0xMDA/Ijk5KyI6bCYmbj4wP2ArJHtufWA6bjoiIjtjb25zdCB2PXMoKSh0LHUoKS5jb3VudGVyLHUoKVtyXSx1KClbYGNvbG9yLSR7YX1gXSwibm9uZSIhPT1jJiZ1KClbYGJvcmRlckNvbG9yLSR7Y31gXSxtJiZ1KCkuZGlzYWJsZWQpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5mLGNsYXNzTmFtZTp2LHJvbGU6dm9pZCAwIT09ZD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpofSxiKX0hZnVuY3Rpb24oZSl7ZS5YWFhTbWFsbD0ieHh4c21hbGwiLGUuWFhTbWFsbD0ieHhzbWFsbCIsZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkRhbmdlcj0iZGFuZ2VyIixlLkFjY2VudD0iYWNjZW50IixlLkFjY2VudExpZ2h0PSJhY2NlbnQtbGlnaHQiLGUuTmV1dHJhbEJvbGQ9Im5ldXRyYWwtYm9sZCIsZS5OZXV0cmFsPSJuZXV0cmFsIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkiLGUuVGVydGlhcnk9InRlcnRpYXJ5IixlLk5vbmU9Im5vbmUifShhfHwoYT17fSkpfSw3NjM1NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzOigpPT5zLHVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcjooKT0+bCx1c2VLZXlib2FyZENsb3NlOigpPT51LHVzZUtleWJvYXJkRXZlbnRIYW5kbGVyOigpPT5pLHVzZUtleWJvYXJkT3BlbjooKT0+ZCx1c2VLZXlib2FyZFRvZ2dsZTooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oMjM1NzI0KTtjb25zdCBhPSgpPT4hMDtmdW5jdGlvbiBsKGUsdCxuPWEscil7cmV0dXJuKDAsby51c2VDYWxsYmFjaykoKG89PntpZihyKXtpZigiaG9yaXpvbnRhbCI9PT1yJiYoNDA9PT1vfHwzOD09PW8pKXJldHVybjtpZigidmVydGljYWwiPT09ciYmKDM3PT09b3x8Mzk9PT1vKSlyZXR1cm59Y29uc3QgYT1lLm1hcCgoZT0+ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZSgpOmUpKTtyZXR1cm4hKCFuKG8pfHwhYS5pbmNsdWRlcyhvKSkmJih0KG8pLCEwKX0pLFsuLi5lLHQsbl0pfWZ1bmN0aW9uIHMoLi4uZSl7cmV0dXJuKDAsby51c2VDYWxsYmFjaykoKHQ9Pntmb3IoY29uc3QgbiBvZiBlKWlmKG4odCkpcmV0dXJuITA7cmV0dXJuITF9KSxbLi4uZV0pfWZ1bmN0aW9uIGkoZSx0PSEwLG49ITEpe2NvbnN0IGE9cyguLi5lKTtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IG89YSgoMCxyLmhhc2hGcm9tRXZlbnQpKGUpKTtvJiZ0JiZlLnByZXZlbnREZWZhdWx0KCksbyYmbiYmZS5zdG9wUHJvcGFnYXRpb24oKX0pLFthXSl9ZnVuY3Rpb24gYyhlLHQ9ITApe3JldHVybiBsKFsxMywzMl0sZSwoZnVuY3Rpb24oZSl7aWYoMTM9PT1lKXJldHVybiB0O3JldHVybiEwfSkpfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gbChbOSwoMCxvLnVzZUNhbGxiYWNrKSgoKCk9PnIuTW9kaWZpZXJzLlNoaWZ0KzkpLFtdKSwyN10sdCwoMCxvLnVzZUNhbGxiYWNrKSgoKCk9PmUpLFtlXSkpfWZ1bmN0aW9uIGQoZSx0KXsKcmV0dXJuIGwoWzQwLDM4XSx0LCgwLG8udXNlQ2FsbGJhY2spKCgoKT0+IWUpLFtlXSkpfX0sOTAwODQxKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQsbixvLHIpe2Z1bmN0aW9uIGEocil7aWYoZT5yLnRpbWVTdGFtcClyZXR1cm47Y29uc3QgYT1yLnRhcmdldDt2b2lkIDAhPT1uJiZudWxsIT09dCYmbnVsbCE9PWEmJmEub3duZXJEb2N1bWVudD09PW8mJih0LmNvbnRhaW5zKGEpfHxuKHIpKX1yZXR1cm4gci5jbGljayYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYSwhMSksci5tb3VzZURvd24mJm8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixhLCExKSxyLnRvdWNoRW5kJiZvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixhLCExKSxyLnRvdWNoU3RhcnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsYSwhMSksKCk9PntvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixhLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsYSwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsYSwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixhLCExKX19bi5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5vfSl9LDIzNjc2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDYxNjMxMSksYT1uKDkwMDg0MSk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpuLHRvdWNoRW5kOmwsdG91Y2hTdGFydDpzLGhhbmRsZXI6aSxyZWZlcmVuY2U6Y309ZSx1PSgwLG8udXNlUmVmKShudWxsKSxkPSgwLG8udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAsci51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpuLHRvdWNoRW5kOmwsdG91Y2hTdGFydDpzfSxvPWM/Yy5jdXJyZW50OnUuY3VycmVudDtyZXR1cm4oMCxhLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbyxpLGRvY3VtZW50LGUpfSksW3QsbixsLHMsaV0pLGN8fHV9fSwyMjc5NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TWVudVdpZHRoQ29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe3NldE1lbnVNYXhXaWR0aDohMX0pfSw4OTEyMDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3VibWVudUNvbnRleHQ6KCk9PnIsU3VibWVudUhhbmRsZXI6KCk9PmF9KTt2YXIgbz1uKDc3OTQ3NCk7Y29uc3Qgcj1vLmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gYShlKXtjb25zdFt0LG5dPSgwLG8udXNlU3RhdGUpKG51bGwpLGE9KDAsby51c2VSZWYpKG51bGwpLGw9KDAsby51c2VSZWYpKG5ldyBNYXApO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PigpPT57bnVsbCE9PWEuY3VycmVudCYmY2xlYXJUaW1lb3V0KGEuY3VycmVudCl9KSxbXSksby5jcmVhdGVFbGVtZW50KHIuUHJvdmlkZXIse3ZhbHVlOntjdXJyZW50OnQsc2V0Q3VycmVudDpmdW5jdGlvbihlKXtudWxsIT09YS5jdXJyZW50JiYoY2xlYXJUaW1lb3V0KGEuY3VycmVudCksYS5jdXJyZW50PW51bGwpO251bGw9PT10P24oZSk6YS5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT57YS5jdXJyZW50PW51bGwsbihlKX0pLDEwMCl9LHJlZ2lzdGVyU3VibWVudTpmdW5jdGlvbihlLHQpe3JldHVybiBsLmN1cnJlbnQuc2V0KGUsdCksKCk9PntsLmN1cnJlbnQuZGVsZXRlKGUpfX0saXNTdWJtZW51Tm9kZTpmdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShsLmN1cnJlbnQudmFsdWVzKCkpLnNvbWUoKHQ9PnQoZSkpKX19fSxlLmNoaWxkcmVuKX19LDQxOTE4MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVEb21JZDooKT0+aSxqb2luRG9tSWRzOigpPT5jfSk7Y29uc3Qgbz0vXHMvZztmdW5jdGlvbiByKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX1mdW5jdGlvbiBhKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJzdHJpbmciOnJldHVybiBlO2Nhc2UibnVtYmVyIjpjYXNlImJpZ2ludCI6cmV0dXJuIGUudG9TdHJpbmcoMTApO2Nhc2UiYm9vbGVhbiI6Y2FzZSJzeW1ib2wiOnJldHVybiBlLnRvU3RyaW5nKCk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS50cmltKCkubGVuZ3RoPjB9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5yZXBsYWNlKG8sIi0iKX1mdW5jdGlvbiBpKC4uLmUpe2NvbnN0IHQ9ZS5tYXAoYSkuZmlsdGVyKHIpLmZpbHRlcihsKS5tYXAocyk7cmV0dXJuKHQubGVuZ3RoPjAmJnRbMF0uc3RhcnRzV2l0aCgiaWRfIik/dDpbImlkIiwuLi50XSkuam9pbigiXyIpfWZ1bmN0aW9uIGMoLi4uZSl7cmV0dXJuIGUubWFwKGEpLmZpbHRlcihyKS5maWx0ZXIobCkuam9pbigiICIpfX0sODg2MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSA5YTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMHptNiAwYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMHptNCAyYTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHoiLz48L3N2Zz4nfSw2MzE1NDEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTRhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwem04IDBhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwem01IDNhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.397Z","timestamp":1785124877397,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.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://berthenergy-inc.biz/\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\ndate: Mon, 27 Jul 2026 04:01:20 GMT\r\ncontent-type: application/javascript\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a2663cd-4668\"\r\nexpires: Mon, 08 Jun 2026 06:46:12 GMT\r\nlast-modified: Mon, 08 Jun 2026 06:40:13 GMT\r\nx-77-nzt: k/LBvfmD9J8yDl6Yx/kOqVaM0CdngDsmIFnU19Rf00LP+Vf8w/WVaAzRQaHVanX7E7av4K0\r\nx-77-nzt-ray: e2f75420f8119fcd10d8666a6628aa2c\r\nx-77-cache: HIT\r\nx-77-age: 53\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6042,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-07-27T06:15:18.683099Z","times_seen":6176,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":3355,"timings":{"blocked":-1,"dns":30,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3309},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/css/styles/stylemain.css","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.201Z","timestamp":1785124875201,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /css/styles/stylemain.css HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 04 Feb 2022 11:50:18 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61fd12fa-226e7\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":141031,"size_decoded":33184,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (430), with CRLF line terminators","md5":"dea7c45ff5fe49820e2d7397450fd331","sha1":"4bf867048ca4e3b8ece8ba9302b23f6cebc84cc4","sha256":"5a1274d6b65578ed0114050b3485159ce65c6e9ee4c7717db455f959bff9ff55","sha512":"1d176db4f0726f1d2401659307353a2149d5ae0d3a75e76cf7b1332be36fa8f99a960bb75a0eecf3f7808e26b576ab25e6769894151fd1665e6adfe6e62b142f","ssdeep":"1536:keY752qc2bXiQ3Zpm9DdF1TOrxikyvQ50xZ3dcf:keY3c2A9xVG","tlshash":"82d3b769d958208db32799a5bbf45b55ae2c5093ee0b0a5cf1f67568c3433bc3233ac4","first_seen":"2026-07-27T03:24:36.75326Z","last_seen":"2026-07-27T04:03:30.115177Z","times_seen":3,"resource_available":false,"data":"Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCkF1dGhvciAgICAgICA6IFNjcmlwdEJvb3N0ZXINClRlbXBsYXRlIE5hbWU6IEh5aXAgVGVtcGxhdGUgMjYNClZlcnNpb24gICAgICA6IDEuMA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgQ1NTIElOREVYDQogICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAwMS4gR0VORVJBTCBTVFlMRSAoYm9keSwgbGluayBjb2xvciwgc2VjdGlvbi10aXRsZSwgb3ZlcmxheSwgc2VjdGlvbi1wYWRkaW5nIGV0YykNCiAgICAwMi4gSEVBREVSIERFU0lHTg0KCTAzLiBCQU5ORVIgU0VDVElPTg0KCTA0LiBDTElFTlQgU0VDVElPTg0KCTA1LiBBQk9VVCBTRUNUSU9ODQoJMDYuIE1JU1NJT04gU0VDVElPTg0KCTA3LiBCRU5FRklUIFNFQ1RJT04NCgkwOC4gVE9LRU4gU0VDVElPTg0KCTA5LiBUSU1FTElORSBTRUNUSU9ODQoJMTAuIFRFQU0gU0VDVElPTg0KCTExLiBCTE9HIFNFQ1RJT04NCgkxMi4gRkFRIFNFQ1RJT04NCgkxMy4gRk9PVEVSIFBBR0UNCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCiAgDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDEuIEdFTkVSQUwgU1RZTEUNCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQpib2R5IHsNCglmb250LWZhbWlseTogJ1BUIFNhbnMnLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMTVweDsNCgljb2xvcjogIzYxNjE2MTsNCglsaW5lLWhlaWdodDogMjhweDsNCn0NCmEgew0KCWNvbG9yOiAjZmJiZDE4Ow0KCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zOw0KCXRyYW5zaXRpb246IGFsbCA1MDBtcw0KfQ0KYTpob3ZlciwgYTpmb2N1cyB7DQoJY29sb3I6ICNmNmFhMzU7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KCW91dGxpbmU6MDsgDQp9DQpoMSwNCmgyLA0KaDMsDQpoNCB7DQoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsNCn0NCmgxIHsNCglmb250LXdlaWdodDogNzAwOw0KCWZvbnQtc2l6ZTogNTJweDsNCn0NCmgzIHsNCglmb250LXdlaWdodDogNzAwOw0KCWZvbnQtc2l6ZTogMzZweDsNCn0NCmltZyB7DQoJbWF4LXdpZHRoOiAxMDAlOw0KfQ0KLndyYXBwZXIgew0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQppbnB1dFt0eXBlPSJ0ZXh0Il0sIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sIGlucHV0W3R5cGU9ImNvbG9yIl0sIGlucHV0W3R5cGU9ImRhdGUiXSwgaW5wdXRbdHlwZT0iZGF0ZXRpbWUiXSwgaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSwgaW5wdXRbdHlwZT0iZW1haWwiXSwgaW5wdXRbdHlwZT0ibnVtYmVyIl0sIGlucHV0W3R5cGU9InJhbmdlIl0sIGlucHV0W3R5cGU9InNlYXJjaCJdLCBpbnB1dFt0eXBlPSJ0ZWwiXSwgaW5wdXRbdHlwZT0idGltZSJdLCBpbnB1dFt0eXBlPSJ1cmwiXSwgaW5wdXRbdHlwZT0ibW9udGgiXSwgaW5wdXRbdHlwZT0id2VlayJdLCB0ZXh0YXJlYSwgc2VsZWN0ew0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAxNXB4Ow0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJaGVpZ2h0OjQ2cHg7DQoJbWF4LXdpZHRoOiAxMDAlOw0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IA0KCXBhZGRpbmc6MnB4IDE1cHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWJlYmViOw0KCWJvcmRlci1yYWRpdXM6NHB4Ow0KCXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDsNCn0NCmlucHV0W3R5cGU9InRleHQiXTpmb2N1cywgaW5wdXRbdHlwZT0icGFzc3dvcmQiXTpmb2N1cywgaW5wdXRbdHlwZT0iY29sb3IiXTpmb2N1cywgaW5wdXRbdHlwZT0iZGF0ZSJdOmZvY3VzLCBpbnB1dFt0eXBlPSJkYXRldGltZSJdOmZvY3VzLCBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJudW1iZXIiXTpmb2N1cywgaW5wdXRbdHlwZT0icmFuZ2UiXTpmb2N1cywgaW5wdXRbdHlwZT0ic2VhcmNoIl06Zm9jdXMsIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJ0aW1lIl06Zm9jdXMsIGlucHV0W3R5cGU9InVybCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJtb250aCJdOmZvY3VzLCBpbnB1dFt0eXBlPSJ3ZWVrIl06Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHsNCiAgICBjb2xvcjogIzQ5NTA1NzsNCiAgICBib3JkZXItY29sb3I6ICM4MGJkZmY7DQogICAgb3V0bGluZTogMDsNCiAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAxcHggcmdiYSgwLDEyMywyNTUsLjI1KTsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IDFweCByZ2JhKDAsMTIzLDI1NSwuMjUpOw0KfQ0KdGV4dGFyZWF7DQoJaGVpZ2h0OjE1MHB4Ow0KCWJvcmRlcjoxcHggc29saWQgI2ViZWJlYjsNCn0NCnRleHRhcmVhLmZvcm0tY29udHJvbHsNCglib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7CQ0KfQ0KLnAtdGJ7DQoJcGFkZGluZy10b3A6IDkwcHg7DQoJcGFkZGluZy1ib3R0b206IDkwcHg7DQp9DQoucC10ew0KCXBhZGRpbmctdG9wOiA5MHB4Ow0KfQ0KLnAtYnsNCglwYWRkaW5nLWJvdHRvbTogOTBweDsNCn0NCi5sZWFkLCBwLmxlYWR7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWZvbnQtd2VpZ2h0OiAzMDA7DQoJbGluZS1oZWlnaHQ6IDEuNjsNCn0NCi5idG4gew0KCWNvbG9yOiAjMWQxZDFkOw0KCXBhZGRpbmc6IDE0cHggMzBweDsNCgliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4Ow0KCWJvcmRlci1yYWRpdXM6IDRweDsNCglmb250LXdlaWdodDogNzAwOw0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQp9DQouYnRuOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiAjZjA5MzFlOw0KCWNvbG9yOiAjMWQxZDFkDQp9DQouYnRuMiB7DQoJYm9yZGVyOiAxcHggc29saWQgI2ZiYmQxODsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCgljb2xvcjogI2ZmZjsNCn0NCi5idG4yOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KCWNvbG9yOiAjZmZmOw0KfQ0KLmJ0bjMgew0KCWJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7DQoJYmFja2dyb3VuZDojZmZmZmZmOw0KCWNvbG9yOiAjMWQxZDFkOw0KfQ0KLmJ0bjM6aG92ZXIgew0KCWJhY2tncm91bmQ6ICNkZGRkZGQ7DQoJY29sb3I6ICMxZDFkMWQ7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCn0NCi5idG40IHsNCglib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOw0KCWJhY2tncm91bmQ6IzAwMDAwMDsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi5idG40OmhvdmVyIHsNCgliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KCWNvbG9yOiAjZmZmZmZmOw0KCWJvcmRlcjogMXB4IHNvbGlkICNmYmJkMTg7DQp9DQouZW1wdHktMTV7DQoJZGlzcGxheTp0YWJsZTsNCgltYXJnaW46YXV0bzsNCgljbGVhcjpib3RoOw0KCWhlaWdodDozMHB4OyANCn0NCi5lbXB0eS0zMHsNCglkaXNwbGF5OnRhYmxlOw0KCW1hcmdpbjphdXRvOw0KCWNsZWFyOmJvdGg7DQoJaGVpZ2h0OjMwcHg7IA0KfQ0KLmVtcHR5LTQ1ew0KCWRpc3BsYXk6dGFibGU7DQoJbWFyZ2luOmF1dG87DQoJY2xlYXI6Ym90aDsNCgloZWlnaHQ6NDVweDsgDQp9DQouc2VjLXRpdGxlOmFmdGVyIHsNCgltaW4taGVpZ2h0OiA1cHg7DQoJY29udGVudDogIiI7DQoJZGlzcGxheTogYmxvY2s7DQoJbWFyZ2luOiAzMHB4IDA7DQoJYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvbGluZTEucG5nKSBuby1yZXBlYXQgMCAwOw0KfQ0KLnNlYy10aXRsZS50ZXh0LWNlbnRlcjphZnRlciB7DQoJbWluLWhlaWdodDogNnB4Ow0KCWNvbnRlbnQ6ICIiOw0KCWRpc3BsYXk6IGJsb2NrOw0KCW1hcmdpbjogMzBweCAwOw0KCWJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2xpbmUyLnBuZykgbm8tcmVwZWF0IDAgMDsNCn0NCi5zZWMtdGl0bGUudGV4dC1jZW50ZXI6YWZ0ZXIgew0KCWJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsNCgltYXJnaW46IDI1cHggYXV0bzsNCn0NCi5zdWItdHh0IHsNCgltYXgtd2lkdGg6IDc0MHB4Ow0KCW1hcmdpbjogMCBhdXRvOw0KCWZvbnQtc2l6ZTogMThweDsNCgltYXJnaW4tYm90dG9tOiA0MHB4Ow0KfQ0KLnNlYy10aXRsZSB7DQoJbWFyZ2luLWJvdHRvbTogMDsNCgljb2xvcjogIzFkMWQxZDsNCglkaXNwbGF5OiB0YWJsZTsNCgl3aWR0aDogMTAwJTsNCn0NCi5zZWMtdGl0bGUgaDEgKyBoM3sNCglmb250LXdlaWdodDpub3JtYWw7IA0KfQ0KLndoaXRlLXNlYyAuc2VjLXRpdGxlLCAud2hpdGUtc2VjIC5zZWN0aW9uLWhlYWRpbmcgew0KCWNvbG9yOiAjZmZmOw0KfQ0KLndoaXRlLXNlYyAuc3ViLXR4dCB7DQoJY29sb3I6ICNiYmI7DQp9DQouY2FyYm9uLWxheW91dCAud2hpdGUtc2VjIC5zdWItdHh0ew0KCWNvbG9yOiAjZmZmZmZmOw0KCWZvbnQtc2l6ZTppbmhlcml0Ow0KfQkNCi5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIHsNCglkaXNwbGF5OiBibG9jazsNCgltYXJnaW4tdG9wOiA0MHB4Ow0KCXRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIGJ1dHRvbiB7DQoJaGVpZ2h0OiA4cHg7DQoJd2lkdGg6IDhweDsNCgltYXJnaW46IDAgM3B4Ow0KCW91dGxpbmU6IDA7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCWJhY2tncm91bmQ6ICNmYmJkMTg7DQp9DQoub3dsLWNhcm91c2VsIC5vd2wtZG90cyBidXR0b24uYWN0aXZlIHsNCgl3aWR0aDogMzBweDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsNCglib3JkZXItcmFkaXVzOiAzcHg7DQp9DQoub3dsLWNhcm91c2VsIC5vd2wtbmF2ew0KCW1hcmdpbjoxNXB4IDBweDsgDQp9DQoub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbnsNCglib3JkZXI6MnB4IHNvbGlkICNhNWE1YTUgIWltcG9ydGFudDs7DQoJYmFja2dyb3VuZDpub25lOw0KCXBhZGRpbmc6NXB4Ow0KCXdpZHRoOjMycHggIWltcG9ydGFudDsNCgloZWlnaHQ6MzJweCAhaW1wb3J0YW50Ow0KCWxpbmUtaGVpZ2h0OjI4cHg7DQoJZm9udC1zaXplOjE4cHg7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7ICANCglvdXRsaW5lOiAwOyAgICANCn0NCi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uIHNwYW57DQoJZm9udC1zaXplOiAzMHB4Ow0KCWxpbmUtaGVpZ2h0OiAyNHB4Ow0KCW91dGxpbmU6MDsgDQp9DQoud2hpdGUtYmd7DQoJYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7IA0KfQ0KLmFjY2VudC1jb2xvcnsNCgljb2xvcjojZmJiZDE4ICFpbXBvcnRhbnQ7DQp9DQpibG9ja3F1b3Rlew0KCXBhZGRpbmc6MzBweCAzMHB4IDMwcHggMzBweDsgDQoJYm9yZGVyLWxlZnQ6M3B4IHNvbGlkICAjZmJiZDE4Ow0KCWZvbnQtc2l6ZToyNHB4Ow0KCWJhY2tncm91bmQ6I2Y1ZjVmNTsNCglsaW5lLWhlaWdodDoxLjQ7DQoJcG9zaXRpb246IHJlbGF0aXZlOyANCglvdmVyZmxvdzpoaWRkZW47IA0KfQ0KYmxvY2txdW90ZTo6YmVmb3JlIHsNCiAgICBjb250ZW50OiAn4oCdJzsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAtNDVweDsNCiAgICByaWdodDogNDVweDsNCiAgICBmb250LXNpemU6IDE5NHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAwOw0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgY29sb3I6I2ViZWJlYjsgDQogICAgZm9udC1mYW1pbHk6IHBvcHBpbnM7DQp9DQpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQoJLmNvbnRhaW5lciB7DQoJCW1heC13aWR0aDogMTIwMHB4Ow0KCX0NCn0NCi5ibGFjay1iZ3sNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA7IA0KfQ0KLmRhcmstZ3JheS1iZ3sNCgliYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7IA0KfQ0KLmRhcmstZ3JheS1iZy10b25lLTJ7DQoJYmFja2dyb3VuZC1jb2xvcjojMzMzMzMzOyANCn0NCi53aGl0ZS1iZ3sNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7IA0KfQ0KLmxpZ2h0LWdyYXktYmd7DQoJYmFja2dyb3VuZC1jb2xvcjojZjJmMmYyOyANCn0NCm9sLCB1bCwgZGx7DQoJcGFkZGluZzowcHggMHB4IDBweCAxNXB4Ow0KfQ0KLm1vYmlsZS12aXNpYmxlew0KCWRpc3BsYXk6bm9uZTsgDQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDIuIEhFQURFUiBERVNJR04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQpoZWFkZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJd2lkdGg6IDEwMCU7DQoJei1pbmRleDogMTsNCglwYWRkaW5nLXRvcDogMzRweDsNCglwYWRkaW5nLWJvdHRvbTogMTBweDsNCgl0cmFuc2l0aW9uOiBhbGwgMzAwbXM7DQoJei1pbmRleDogMTAwMDAwMDsNCn0NCmhlYWRlci5saWdodCB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRvcDogMDsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAxOw0KCXBhZGRpbmctdG9wOjE1cHg7DQoJcGFkZGluZy1ib3R0b206MTVweDsNCgl0cmFuc2l0aW9uOiBhbGwgMzAwbXM7DQoJei1pbmRleDogMTAwMDAwMDsNCn0NCi5sb2dvIC5kYXJrIHsNCglkaXNwbGF5OiBub25lOw0KfQ0KaGVhZGVyLmZpeGVkIC5sb2dvIGltZywgaGVhZGVyLmxpZ2h0IC5sb2dvIGltZyB7DQoJZGlzcGxheTogbm9uZQ0KfQ0KaGVhZGVyLmZpeGVkIC5sb2dvIC5kYXJrLCBoZWFkZXIubGlnaHQgLmxvZ28gLmRhcmsgew0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KLm1lbnUtaWNvbntkaXNwbGF5OiBub25lfQ0KbmF2IHsNCgltYXJnaW4tdG9wOiA4cHg7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQpuYXYgdWwgew0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KfQ0KbmF2IHVsIGxpIHsNCglsaXN0LXN0eWxlOiBub25lOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgltYXJnaW4tbGVmdDogMzVweDsNCn0NCm5hdiB1bCBsaTpmaXJzdC1jaGlsZCB7DQoJbWFyZ2luLWxlZnQ6IDA7DQp9DQpuYXYgdWwgbGkgYSB7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC13ZWlnaHQ6IDcwMDsNCglmb250LXNpemU6IDE3cHg7DQoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCglwYWRkaW5nOiAxMHB4IDA7DQoJZGlzcGxheTogYmxvY2s7DQp9DQpuYXYgdWwgbGkgYTpob3ZlciwNCm5hdiB1bCBsaS5hY3RpdmUgYSB7DQoJY29sb3I6ICNmNmFhMzU7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQpuYXYgdWwgbGkubmF2LWJ0biBhIHsNCgljb2xvcjogI2Y2YWEzNTsNCglwYWRkaW5nOiAxMHB4IDMycHg7DQoJYmFja2dyb3VuZDogIzAwMDAwMDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDM3cHg7DQoJYm9yZGVyLXJhZGl1czogMzdweDsNCn0NCm5hdiB1bCBsaS5uYXYtYnRuIGE6aG92ZXIgew0KCWJhY2tncm91bmQ6ICNGRkZGOw0KCWNvbG9yOiAjRkZEMDE3DQp9DQpoZWFkZXIuZml4ZWQgew0KCXBvc2l0aW9uOiBmaXhlZDsNCglwYWRkaW5nLXRvcDogOHB4Ow0KCWJhY2tncm91bmQ6ICNmZmY7DQoJYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsNCn0NCi5maXhlZCBuYXYgdWwgbGkgYSwgLmxpZ2h0IG5hdiB1bCBsaSBhIHsNCgljb2xvcjogIzFkMWQxZDsNCn0NCi5maXhlZCBuYXYgdWwgbGkgYTpob3ZlciwNCi5maXhlZCBuYXYgdWwgbGkuYWN0aXZlIGEsDQoubGlnaHQgbmF2IHVsIGxpIGE6aG92ZXIsDQoubGlnaHQgbmF2IHVsIGxpLmFjdGl2ZSBhIHsNCgljb2xvcjogI2Y2YWEzNTsNCn0NCi5maXhlZCBuYXYgdWwgbGkubmF2LWJ0biBhOmhvdmVyLCAubGlnaHQgbmF2IHVsIGxpLm5hdi1idG4gYTpob3ZlciB7DQoJY29sb3I6ICMxZDFkMWQNCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQowMy4gQkFOTkVSIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQojc2lsdmVyLXRlY2gtYmd7DQoJdG9wOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJd2lkdGg6MTAwJTsNCgloZWlnaHQ6MTAwJTsNCglsZWZ0OjBweDsgICAgDQoJb3BhY2l0eTogMC44Ow0KfQ0KI2dvbGQtdGVjaC1iZ3sNCgl0b3A6MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxMDAlOw0KCWxlZnQ6MHB4OyAgIA0KCW9wYWNpdHk6IDAuMzsgDQp9DQouaGVyby1tYWluIHsNCglwYWRkaW5nLXRvcDogMTAwcHg7DQoJY29sb3I6ICNmZmY7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWJhY2tncm91bmQtc2l6ZTogY292ZXI7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOw0KCWJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQoJaGVpZ2h0OjEwMHZoOw0KCXBhZGRpbmctYm90dG9tOjYwcHg7IA0KCW92ZXJmbG93OmhpZGRlbjsgIA0KfQ0KLmhlcm8tbWFpbjpiZWZvcmUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7DQoJY29udGVudDogIiI7DQoJbGVmdDogMDsNCgl0b3A6IDA7DQoJaGVpZ2h0OiAxMDAlOw0KCXdpZHRoOiAxMDAlOw0KfQ0KLmxheW91dC0yIC5oZXJvLWxlZnQgcHsNCglmb250LXNpemU6MjRweDsNCglsaW5lLWhlaWdodDoxLjU7ICANCn0NCi5sYXlvdXQtMiAucm93ew0KCXBhZGRpbmc6MTUwcHggMHB4IA0KfQ0KLmhlcm8tbGVmdCBoMSBzcGFuIHsNCglmb250LXdlaWdodDogMzAwOw0KCWNvbG9yOiAjZmJiZDE4Ow0KfQ0KLmhlcm8tbGVmdCBwIHsNCglmb250LXNpemU6IDE2cHg7DQp9DQouaGVyby1jYXB0aW9uIGgxIHNwYW4gew0KCWZvbnQtd2VpZ2h0OiAzMDA7DQoJY29sb3I6ICNmYmJkMTg7DQp9DQouaGVyby1sZWZ0IC5oZXJvLWJ0bnMgew0KCW1hcmdpbi10b3A6IDE1cHg7DQoJd2lkdGg6IDEwMCU7DQoJY2xlYXI6IGJvdGg7DQoJZmxvYXQ6IGxlZnQ7DQp9DQouaGVyby1sZWZ0IC5oZXJvLWJ0bnMgYSthIHsNCgltYXJnaW4tbGVmdDogMzBweDsNCn0NCi5oZXJvLWxlZnQgLmhlcm8tYnRucyAuYnRuMjpiZWZvcmUgew0KCWJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2Fycm93MS5wbmcpOw0KCXdpZHRoOiAxNnB4Ow0KCWhlaWdodDogMjFweDsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJY29udGVudDogIiI7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQoucHJlLXNhbGUtdGltZXIgew0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgltYXgtd2lkdGg6IDQyMHB4Ow0KCXdpZHRoOiAxMDAlOw0KCWZsb2F0OiByaWdodDsNCglwYWRkaW5nOiAzMHB4Ow0KCXBhZGRpbmctdG9wOjBweDsNCglwYWRkaW5nLWJvdHRvbTowcHg7DQoJYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDI1MSwgMTg5LCAyNCwgMSkgMCUsIHJnYmEoMjUxLCAxODksIDI0LCAwKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMjUxLCAxODksIDI0LCAxKSAwJSwgcmdiYSgyNTEsIDE4OSwgMjQsIDApIDEwMCUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMjUxLCAxODksIDI0LCAxKSAwJSwgcmdiYSgyNTEsIDE4OSwgMjQsIDApIDEwMCUpOw0KCWZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmJiZDE4JywgZW5kQ29sb3JzdHI9JyMwMGZiYmQxOCcsIEdyYWRpZW50VHlwZT0wKTsNCglib3R0b206MHB4Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgloZWlnaHQ6IDEwMHZoOw0KCWRpc3BsYXk6IHRhYmxlOw0KfQ0KLnByZS1zYWxlLXRpbWVyID4gZGl2ew0KCWRpc3BsYXk6IHRhYmxlLWNlbGw7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCi5wcmUtc2FsZS10aW1lciBoMyB7DQoJZm9udC1zaXplOiAzMnB4Ow0KCW1hcmdpbi1ib3R0b206IDI1cHg7DQp9DQoucHJlLXNhbGUtdGltZXIgaDMgc3BhbiB7DQoJZm9udC13ZWlnaHQ6IDMwMDsNCn0NCiNjbG9jayB1bCB7DQoJbGlzdC1zdHlsZTogbm9uZTsNCgltYXJnaW46IDAgLTE0cHg7DQoJcGFkZGluZzogMDsNCn0NCiNjbG9jayBsaSB7DQoJd2lkdGg6IDI1JTsNCglwYWRkaW5nOiAwIDE0cHg7DQoJZmxvYXQ6IGxlZnQ7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KI2Nsb2NrIGxpIHNwYW4gew0KCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsNCglkaXNwbGF5OiBibG9jazsNCglwYWRkaW5nOiAxMnB4IDJweDsNCglmb250LXNpemU6IDM2cHg7DQoJZm9udC13ZWlnaHQ6IDcwMDsNCgljb2xvcjogI2ZmZmZmZjsNCglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOw0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4Ow0KCWJvcmRlci1yYWRpdXM6IDRweDsNCglsaW5lLWhlaWdodDogMzZweDsNCn0NCiNjbG9jayBsaSBzcGFuIGVtIHsNCglkaXNwbGF5OiBibG9jazsNCglmb250LWZhbWlseTogJ1BUIFNhbnMnLCBzYW5zLXNlcmlmOw0KCWZvbnQtd2VpZ2h0OiA0MDA7DQoJZm9udC1zaXplOiAxNnB4Ow0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KfQ0KI2Nsb2NrIGxpICsgbGk6YmVmb3JlLA0KI2Nsb2NrIGxpICsgbGk6YWZ0ZXIgew0KCWJhY2tncm91bmQ6ICNmYmJkMTg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogNTAlOw0KCWxlZnQ6IC0zcHg7DQoJY29udGVudDogIiI7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCXdpZHRoOiA2cHg7DQoJaGVpZ2h0OiA2cHg7DQp9DQojY2xvY2sgbGkgKyBsaTpiZWZvcmUgew0KCW1hcmdpbi10b3A6IC0xMnB4Ow0KfQ0KI2Nsb2NrIGxpICsgbGk6YWZ0ZXIgew0KCW1hcmdpbi10b3A6IDZweDsNCn0NCi5oZXJvLXJpZ2h0LWJ0biB7DQoJY2xlYXI6IGJvdGg7DQoJd2lkdGg6IDEwMCU7DQoJbWFyZ2luOiAyOHB4IDA7DQoJZmxvYXQ6IGxlZnQ7DQp9DQouaGVyby1yaWdodC1idG4gYSB7DQoJZGlzcGxheTogYmxvY2s7DQoJd2lkdGg6IDEwMCU7DQp9DQoucmFuZy1zbGlkZXItbWFpbnsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMTAwJTsNCgljbGVhcjogYm90aDsNCn0NCi5yYW5nLXNsaWRlciB7DQoJZmxvYXQ6IGxlZnQ7DQoJd2lkdGg6IDEwMCU7DQoJY2xlYXI6IGJvdGgNCn0NCi5yYW5nLWxpbmUgew0KCWJhY2tncm91bmQ6ICNmZmZmZmY7DQoJaGVpZ2h0OiAzcHg7DQoJd2lkdGg6IDEwMCU7DQoJZGlzcGxheTogYmxvY2s7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnJhbmctbGluZTpiZWZvcmUsDQoucmFuZy1saW5lOmFmdGVyLA0KLnJhbmctbGluZSBzcGFuOmJlZm9yZSB7DQoJd2lkdGg6IDE1cHg7DQoJaGVpZ2h0OiAxNXB4Ow0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCglsZWZ0OiAwOw0KCXRvcDogLTZweDsNCgl6LWluZGV4OiAxOw0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgljb250ZW50OiAiIjsNCglib3JkZXI6IDNweCBzb2xpZCAjZmZmOw0KCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzAwMDAwMCAwJSwgIzNhM2EzYSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMwMDAwMDAgMCUsICMzYTNhM2EgMTAwJSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMDAwMCAwJSwgIzNhM2EzYSAxMDAlKTsNCglmaWx0ZXI6IHByb2dpZDogRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZiYmQxOCcsIGVuZENvbG9yc3RyPScjMDBmYmJkMTgnLCBHcmFkaWVudFR5cGU9MCk7DQp9DQoucmFuZy1saW5lIHNwYW4gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiAwOw0KCXRvcDogMDsNCgliYWNrZ3JvdW5kOiAjZTk4ZDFlOw0KCXdpZHRoOiA0MCU7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnJhbmctbGluZTpiZWZvcmUsDQoucmFuZy1saW5lIHNwYW46YmVmb3JlIHsNCglib3JkZXItY29sb3I6ICNlOThkMWU7DQp9DQoucmFuZy1saW5lOmFmdGVyLA0KLnJhbmctbGluZSBzcGFuOmJlZm9yZSB7DQoJbGVmdDogYXV0bzsNCglyaWdodDogMDsNCn0NCi5yYW5nLXNsaWRlci10b2x0aXAgew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiAxMDAlOw0KCWNsZWFyOiBib3RoOw0KCWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQoJbGluZS1oZWlnaHQ6IDIycHg7DQoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCgltYXJnaW4tYm90dG9tOiAxMnB4Ow0KfQ0KLnJhbmctc2xpZGVyLXRvbHRpcCA+IHNwYW4gew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCi5yYW5nLXNsaWRlci10b2x0aXAgPiBzcGFuOmZpcnN0LWNoaWxkIHsNCgltYXJnaW4tbGVmdDogMjAlOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KLnJhbmctc2xpZGVyLXRvbHRpcCBzdHJvbmcgew0KCWNvbG9yOiAjZmZmOw0KCWRpc3BsYXk6IGJsb2NrOw0KCWZvbnQtc2l6ZTogMThweDsNCglmb250LXdlaWdodDogNzAwOw0KfQ0KLnJhbmctc2xpZGVyLXRvdGFsIHsNCglmbG9hdDogcmlnaHQ7DQoJY2xlYXI6IGJvdGg7DQoJZGlzcGxheTogZmxleDsNCglwYWRkaW5nLXJpZ2h0OiAzMHB4Ow0KCXBhZGRpbmctdG9wOiAzMHB4Ow0KfQ0KLnJhbmdUb3RhbCB7DQoJZm9udC1zaXplOiA0MnB4Ow0KCWNvbG9yOiAjZmZmZmZmOw0KCWxpbmUtaGVpZ2h0OiA0MnB4DQp9DQoucmFuZ1RvdGFsIHNtYWxsIHsNCgljb2xvcjogI2ZmZmZmZjsNCglmb250LXNpemU6IDIwcHg7DQoJbGluZS1oZWlnaHQ6IDM0cHg7DQoJdmVydGljYWwtYWxpZ246IHRvcDsNCn0NCi5yYW5nLXNsaWRlci10b3RhbCBzcGFuIHsNCglwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KCWxpbmUtaGVpZ2h0OiAyMnB4Ow0KCWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7DQoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCgl0ZXh0LWFsaWduOiByaWdodDsNCn0NCi5yYW5nLXNsaWRlci10b3RhbCBzdHJvbmcgew0KCWRpc3BsYXk6IGJsb2NrOw0KCWNvbG9yOiAjZmZmOw0KfQ0KLndlLWFjY2VwdC1zZWN0aW9uIHsNCgltYXJnaW4tdG9wOiA1MHB4Ow0KCWNsZWFyOiBib3RoOw0KCXdpZHRoOiAxMDAlOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KLndlLWFjY2VwdC1zZWN0aW9uIGg1IHsNCgljb2xvcjogI2ZmZjsNCgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KCWZvbnQtc2l6ZTogMTRweDsNCglmb250LXdlaWdodDogNzAwOw0KCW1hcmdpbi1ib3R0b206IDE1cHg7DQp9DQoud2UtYWNjZXB0LXNlY3Rpb24gdWwgew0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KCWxpc3Qtc3R5bGU6IG5vbmUNCn0NCi53ZS1hY2NlcHQtc2VjdGlvbiB1bCBsaSB7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQoJbGlzdC1zdHlsZTogbm9uZTsNCglib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI5LCAyOSwgMjksIDAuNTApOw0KCXBhZGRpbmc6IDJweDsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQoud2UtYWNjZXB0LXNlY3Rpb24gdWwgbGkgc3BhbiB7DQoJYmFja2dyb3VuZDogcmdiYSgyOSwgMjksIDI5LCAwLjUwKTsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJY29sb3I6ICNmZmY7DQoJZm9udC1zaXplOiAyNHB4Ow0KCWxpbmUtaGVpZ2h0OiA1MHB4Ow0KCWhlaWdodDogNTBweDsNCgl3aWR0aDogNTBweDsNCglkaXNwbGF5OiBibG9jazsNCn0NCi53ZS1hY2NlcHQtc2VjdGlvbiB1bCBsaSArIGxpIHsNCgltYXJnaW4tbGVmdDogOHB4Ow0KfQ0KLnByZS1zYWxlLXRpbWVyLW91dGVyew0KCWJvcmRlcjozcHggc29saWQgcmdiYSgyNTEsMTg5LDI0LDAuNCk7DQoJYm9yZGVyLXJhZGl1czoxN3B4Ow0KCXBhZGRpbmc6NnB4Ow0KCW1hcmdpbi10b3A6MTVweDsgDQp9DQoucHJlLXNhbGUtdGltZXIuc3R5bGUtMnsNCgl3aWR0aDoxMDAlOw0KCWJvcmRlci1yYWRpdXM6MTBweDsNCgltYXgtd2lkdGg6MTAwJTsNCglwYWRkaW5nOjMwcHg7DQoJZGlzcGxheTp0YWJsZTsNCglmbG9hdDpub25lOw0KCWJvdHRvbTowcHg7IA0KCWhlaWdodDphdXRvOyANCn0NCi5wcmUtc2FsZS10aW1lci5zdHlsZS0yID4gZGl2ew0KCWRpc3BsYXk6IGZsZXg7DQp9DQoucHJlLXNhbGUtdGltZXIuc3R5bGUtMiAuaGVyby1yaWdodC1idG57DQoJbWFyZ2luLWJvdHRvbTowcHg7IA0KfQ0KLmxheW91dC0zIC5jb250YWluZXIgPiAucm93ew0KCXBhZGRpbmc6MTAwcHggMHB4IDMwcHg7IA0KfQ0KLmxheW91dC0zIC53ZS1hY2NlcHQtc2VjdGlvbiB1bCBsaXsNCglib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTApOw0KfQ0KLmxheW91dC0zIC53ZS1hY2NlcHQtc2VjdGlvbiB1bCBzcGFuew0KCWJhY2tncm91bmQ6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCgljb2xvcjogIzAwMDAwMDsNCn0NCi5sYXlvdXQtMyAuaGVyby1yaWdodC1idG57DQoJbWFyZ2luOiAxNXB4IDAgMHB4Ow0KfQ0KLmxheW91dC0zIC5wcmUtc2FsZS10aW1lciBoM3sNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KLnByZS1zYWxlLXRpbWVyLnN0eWxlLTJ7DQoJcGFkZGluZzoxOHB4IDMwcHg7IA0KfQ0KLmxheW91dC0zIC53ZS1hY2NlcHQtc2VjdGlvbnsNCgltYXJnaW4tdG9wOjMwcHg7IA0KfQ0KLmNhcmJvbi1sYXlvdXQgLmhlcm8tbWFpbiAuY29udGFpbmVyLCAuY2FyYm9uLWxheW91dCAuaGVyby1tYWluIC5yb3d7DQoJaGVpZ2h0OjEwMCU7IA0KfQ0KLmNhcmJvbi1sYXlvdXQgLmhlcm8tbWFpbiBoMXsNCglmb250LXNpemU6IDMuNXJlbTsNCgltYXJnaW46MHB4IDBweCAzMHB4IDBweDsgDQp9DQouY2FyYm9uLWxheW91dCAuaGVyby1tYWluIC5oZXJvLWJ0bnN7DQoJbWFyZ2luOjMwcHggMHB4IDBweCAwcHg7IA0KfQ0KLmNhcmJvbi1sYXlvdXQgLmhlcm8tbWFpbiAuaGVyby1idG5zIC5idG4gKyAuYnRuew0KCW1hcmdpbi1sZWZ0OjE1cHg7IA0KfQ0KLnBsYXRpbnVtLWxheW91dC5oZXJvLW1haW4gLmhlcm8tYnRucyAuYnRuICsgLmJ0bnsNCgltYXJnaW4tbGVmdDoxNXB4OyANCn0NCi5jYXJib24tbGF5b3V0IC5oZXJvLW1haW4gaDEgc3BhbiB7DQoJZm9udC13ZWlnaHQ6IDMwMDsNCgljb2xvcjogI2ZiYmQxODsNCn0NCi5jYXJib24tbGF5b3V0IC5oZXJvLW1haW46YmVmb3Jlew0KCWRpc3BsYXk6bm9uZTsgDQp9DQouYW5pbWF0aW9uLWNpcmNsZS1tYWluIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcmlnaHQ6MTIlOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG9wYWNpdHk6MTsNCiAgICBoZWlnaHQ6IDEwMCU7DQoJbWF4LXdpZHRoOiA3NjdweDsNCgltYXgtaGVpZ2h0OiA3NjdweDsNCiAgICB0b3A6IDUwJTsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7DQp9DQouYW5pbWF0aW9uLWNpcmNsZS1tYWluIHN2Z3sNCglvcGFjaXR5OjAuMTsgDQp9DQouc3RpcGUtdmFsdWUtc2xpZGVyew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWJvdHRvbTowcHg7DQoJd2lkdGg6MTAwJTsNCglsZWZ0OjBweDsNCglyaWdodDowcHg7DQoJYmFja2dyb3VuZDojZmJiZDE4OyAgICAgDQp9DQouYy1sb2dvIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiA1MCU7DQogICAgbWF4LXdpZHRoOiAzNjBweDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsNCiAgICBsZWZ0OiA1MCU7DQp9DQojY2lyY2xlNSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMjg4LjVweCAyNzkuNXB4Ow0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlLWxlZnQgMjVzIGxpbmVhciAwcyBpbmZpbml0ZTsNCn0NCiNjaXJjbGU0IHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAyODguNXB4IDI3OS41cHg7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGUtbGVmdCA4MHMgbGluZWFyIDBzIGluZmluaXRlOw0KfQ0KI2NpcmNsZTYgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDI4OC41cHggMjc5LjVweDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZS1yaWdodCAyMHMgbGluZWFyIDBzIGluZmluaXRlOw0KfQ0KI2NpcmNsZTcgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDI4OC41cHggMjc5LjVweDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZS1yaWdodCAyMHMgbGluZWFyIDBzIGluZmluaXRlOw0KfQ0KI251bWJlcjF7DQoJLXdlYmtpdC1hbmltYXRpb246IHRvcC1ib3R0b20gMTBzIGxpbmVhciAwcyBpbmZpbml0ZTsNCglhbmltYXRpb246IHRvcC1ib3R0b20gMTBzIGxpbmVhciAwcyBpbmZpbml0ZTsNCn0NCiNudW1iZXIyew0KCS13ZWJraXQtYW5pbWF0aW9uOiB0b3AtYm90dG9tLTIgMTVzIGxpbmVhciAwcyBpbmZpbml0ZTsNCglhbmltYXRpb246IHRvcC1ib3R0b20tMiAxNXMgbGluZWFyIDBzIGluZmluaXRlOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZS1yaWdodCB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQogIH0NCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsNCiAgfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZS1sZWZ0IHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgfQ0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTsNCiAgfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHRvcC1ib3R0b20gew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7DQogIH0NCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOw0KICB9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgdG9wLWJvdHRvbS0yIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOw0KICB9DQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsNCiAgfQ0KfQ0KLmhlcm8tbWFpbi5kaWFtb25kLWxheW91dDo6YmVmb3Jlew0KCWRpc3BsYXk6IG5vbmU7DQp9DQouZGlhbW9uZC1sYXlvdXQuaGVyby1tYWluIC5jb250YWluZXIsIC5oZXJvLW1haW4uZGlhbW9uZC1sYXlvdXQgLnJvd3sNCgloZWlnaHQ6MTAwJTsgDQp9DQouZGlhbW9uZC1sYXlvdXQuaGVyby1tYWluIGgxIHNwYW57DQoJZm9udC13ZWlnaHQ6IDMwMDsNCgljb2xvcjojZmJiZDE4Ow0KfQ0KLmRpYW1vbmQtbGF5b3V0Lmhlcm8tbWFpbiBoMXsNCgltYXJnaW46IDBweCAwcHggMzBweCAwcHg7DQp9DQouZGlhbW9uZC1sYXlvdXQuaGVyby1tYWluIC5oZXJvLWJ0bnN7DQoJbWFyZ2luOiAzMHB4IDBweCAwcHggMHB4Ow0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uew0KCWhlaWdodDo0NzBweDsNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmJhc2V7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJYm90dG9tOjBweDsNCglsZWZ0OjUwJTsNCglkaXNwbGF5OiB0YWJsZTsNCgltYXJnaW46IGF1dG87DQoJaGVpZ2h0OjExNXB4Ow0KCXdpZHRoOjE5OXB4OyAgDQoJYmFja2dyb3VuZDp1cmwoL2ltYWdlcy9kaWFtb25kLWJhc2UucG5nKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOw0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5tYWluew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWJvdHRvbTogMzVweDsNCglsZWZ0Oi01NXB4Ow0KCXJpZ2h0OiAwOw0KCWRpc3BsYXk6IHRhYmxlOw0KCW1hcmdpbjogYXV0bzsNCgloZWlnaHQ6NDgxcHg7DQoJd2lkdGg6IDY4NXB4OyANCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2RpYW1vbmQtbWFpbi5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCgliYWNrZ3JvdW5kLXNpemU6IGNvdmVyOw0KCWJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsNCglhbmltYXRpb246IE1haW5IaWdodCAycyBsaW5lYXI7DQoJei1pbmRleDoxMDA7IA0KfQ0KQGtleWZyYW1lcyBNYWluSGlnaHR7DQogIDAlIHt0cmFuc2Zvcm06IHNjYWxlKDAsMSk7IH0NCiAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxLDEpO30NCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubWFpbjpiZWZvcmV7DQoJaGVpZ2h0OjI3MXB4Ow0KCXdpZHRoOjQ1MHB4OyANCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2RpYW1vbmQtdG9wLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWJhY2tncm91bmQtc2l6ZTogY292ZXI7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo0OHB4Ow0KCWNvbnRlbnQ6IiI7DQoJZGlzcGxheTp0YWJsZTsNCgltYXJnaW46YXV0bzsgIA0KCWxlZnQ6MDsNCglyaWdodDowOw0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsgIA0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5tYWluLmFjdGl2ZTpiZWZvcmV7DQoJb3BhY2l0eToxOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsgDQoJYW5pbWF0aW9uOiBNYWluVE9QIDJzIGxpbmVhcjsNCn0NCkBrZXlmcmFtZXMgTWFpblRPUHsNCiAgMCUge3RyYW5zZm9ybTpzY2FsZSgwLDApOyB0b3A6NzAlOyB9DQogIDEwMCUge3RyYW5zZm9ybTpzY2FsZSgxLDEpOyB0b3A6NDhweDt9DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmJhc2U6OmJlZm9yZSwgLmRpYW1vbmQtYW5pbWF0aW9uIC5iYXNlOjphZnRlcnsNCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2RpYW1vbmQtYmFzZS0xLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWNvbnRlbnQ6ICcnOw0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJcmlnaHQ6IDA7DQoJYm90dG9tOiAwOw0KCWxlZnQ6IDA7DQoJYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCglvcGFjaXR5OjAuNTsgDQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmJhc2U6OmJlZm9yZXsNCiAgICBhbmltYXRpb246IGNpcmNsZXJpcHBsZSA0cyBsaW5lYXIgaW5maW5pdGU7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmJhc2U6OmFmdGVyIHsNCiAgICBhbmltYXRpb246IGNpcmNsZXJpcHBsZSA0cyBsaW5lYXIgMnMgaW5maW5pdGU7DQp9DQpAa2V5ZnJhbWVzIGNpcmNsZXJpcHBsZXsNCiAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQogIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS43KTsgfQ0KICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgyLjQpOyBvcGFjaXR5OjA7IH0NCn0NCi5pbnNpZGUtYml0Y29pbnsNCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2JpdGNvaW4taW5zaWRlLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWJhY2tncm91bmQtc2l6ZTogY292ZXI7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOw0KCXdpZHRoOjEzM3B4Ow0KCWhlaWdodDoxMTFweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglib3R0b206NjBweDsgDQoJbGVmdDogMDsNCglyaWdodDogMDsNCgltYXJnaW46IGF1dG87DQoJb3BhY2l0eTowOw0KCXZpc2liaWxpdHk6aGlkZGVuOyAgDQp9DQouaW5zaWRlLWJpdGNvaW4uYWN0aXZlew0KCW9wYWNpdHk6MC4zOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsgDQoJYW5pbWF0aW9uOiBDb2luRmFsbGluZyAycyBsaW5lYXI7DQp9DQpAa2V5ZnJhbWVzIENvaW5GYWxsaW5new0KICAwJSB7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpIHNjYWxlKDAsMCk7IGJvdHRvbTowcHg7IH0NCiAgMTAwJSB7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKSBzY2FsZSgxLDEpOyBib3R0b206NjBweDt9DQp9DQouaW5zaWRlLWJpdGNvaW4uc3BpbmNvaW57DQoJYW5pbWF0aW9uOiBTcGluQ29pbiA0cyBsaW5lYXIgaW5maW5pdGU7DQp9DQpAa2V5ZnJhbWVzIFNwaW5Db2luew0KICAwJSB7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfQ0KICAxMDAlIHt0cmFuc2Zvcm06cm90YXRlKDBkZWcpO30NCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXN7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXdpZHRoOiA0NTBweDsNCgltYXJnaW46IGF1dG87DQoJaGVpZ2h0OiAyNzFweDsNCgl0b3A6IDM1cHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW57DQoJd2lkdGg6MnB4Ow0KCWhlaWdodDoxMzhweDsNCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2RpYW1vbmQtdG9wLWxpbmVzLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRyYW5zaXRpb246YWxsIDJzIGVhc2U7IA0KCXRyYW5zZm9ybTpzY2FsZVkoMCk7DQoJdHJhbnNmb3JtLW9yaWdpbjpib3R0b207IA0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcy5hY3RpdmUgc3BhbnsNCgl0cmFuc2Zvcm06c2NhbGVZKDEpOw0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcyBzcGFuLmwtMXsNCgl0b3A6IC02M3B4Ow0KCWxlZnQ6IDQ2cHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW4ubC0yew0KCXRvcDogLTQwcHg7DQoJbGVmdDogMjZweDsNCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXMgc3Bhbi5sLTMgew0KICAgIHRvcDogLTEycHg7DQogICAgbGVmdDogMTBweDsNCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXMgc3Bhbi5sLTQgew0KICAgIHRvcDogMzNweDsNCglsZWZ0OiAxOXB4Ow0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcyBzcGFuLmwtNSB7DQogICAgYm90dG9tOiA2MHB4Ow0KCWxlZnQ6IDUwcHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW4ubC02IHsNCiAgICBib3R0b206IDM0cHg7DQoJbGVmdDogMTAycHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW4ubC03IHsNCglsZWZ0OiAxNjBweDsNCglib3R0b206IDE0cHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW4ubC04IHsNCglsZWZ0OiAyMjZweDsNCglib3R0b206IDdweDsNCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXMgc3Bhbi5sLTkgew0KICAgIGJvdHRvbTogMTRweDsNCglyaWdodDogMTU2cHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW4ubC0xMCB7DQogICAgYm90dG9tOiAzMnB4Ow0KCXJpZ2h0OiA5N3B4Ow0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcyBzcGFuLmwtMTEgew0KICAgIGJvdHRvbTogNjBweDsNCglyaWdodDogNDZweDsNCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXMgc3Bhbi5sLTEyIHsNCiAgICB0b3A6IDMzcHg7DQoJcmlnaHQ6IDE0cHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW4ubC0xMyB7DQogICAgdG9wOiAtMTRweDsNCglyaWdodDogNnB4Ow0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcyBzcGFuLmwtMTQgew0KICAgIHRvcDogLTQxcHg7DQoJcmlnaHQ6IDIycHg7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzIHNwYW4ubC0xNSB7DQogICAgdG9wOiAtNjRweDsNCglyaWdodDogNDJweDsNCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXMuYWN0aXZlIHNwYW4ubC0xew0KCXRyYW5zaXRpb246YWxsIDJzIGVhc2UgMTAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMnsNCgl0cmFuc2l0aW9uOmFsbCAycyBlYXNlIDMwMG1zOw0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcy5hY3RpdmUgc3Bhbi5sLTN7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSA1MDBtczsNCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXMuYWN0aXZlIHNwYW4ubC00ew0KCXRyYW5zaXRpb246YWxsIDJzIGVhc2UgNzAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtNXsNCgl0cmFuc2l0aW9uOmFsbCAycyBlYXNlIDkwMG1zOw0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcy5hY3RpdmUgc3Bhbi5sLTZ7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAxMTAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtN3sNCgl0cmFuc2l0aW9uOmFsbCAycyBlYXNlIDEzMDBtczsNCn0NCi5kaWFtb25kLWFuaW1hdGlvbiAubGluZXMuYWN0aXZlIHNwYW4ubC04ew0KCXRyYW5zaXRpb246YWxsIDJzIGVhc2UgMTUwMG1zOw0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcy5hY3RpdmUgc3Bhbi5sLTl7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAxNzAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMTB7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAxOTAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMTF7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAyMTAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMTJ7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAyMzAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMTN7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAyNTAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMTR7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAyNzAwbXM7DQp9DQouZGlhbW9uZC1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMTV7DQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZSAyOTAwbXM7DQp9DQoudG9wLWNvaW57DQoJd2lkdGg6MzU2cHg7DQoJaGVpZ2h0OjIzOXB4OyANCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2RpYW1vbmQtdG9wLWNvaW4ucG5nKSBuby1yZXBlYXQgc2Nyb2xsIGNlbnRlciBjZW50ZXI7DQoJYmFja2dyb3VuZC1zaXplOmNvdmVyOw0KCWxlZnQ6IDA7DQoJcmlnaHQ6IDA7DQoJZGlzcGxheTogdGFibGU7DQoJbWFyZ2luOiBhdXRvOw0KCXRvcDogMjVweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJb3BhY2l0eTowOw0KCXZpc2liaWxpdHk6aGlkZGVuOw0KfQ0KLnRvcC1jb2luLmFjdGl2ZXsNCglvcGFjaXR5OjE7DQoJdmlzaWJpbGl0eTp2aXNpYmxlOyANCglhbmltYXRpb246IFRvcENvaW5GYWxsaW5nIDNzIGxpbmVhcjsNCn0NCkBrZXlmcmFtZXMgVG9wQ29pbkZhbGxpbmd7DQogIDAlIHt0cmFuc2Zvcm06cm90YXRlWSgzNjBkZWcpIHNjYWxlKDAsMCkgdHJhbnNsYXRlWSgtMTAwMHB4KTsgb3BhY2l0eTowOyB9DQogIDEwMCUge3RyYW5zZm9ybTpyb3RhdGVZKDBkZWcpIHNjYWxlKDEsMSkgdHJhbnNsYXRlWSgwcHgpOyBvcGFjaXR5OjE7fQ0KfQ0KLmRpYW1vbmQtZ3JpZHsNCgl3aWR0aDo2OHB4Ow0KCWhlaWdodDoxMTFweDsNCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2RpYW1vbmQtZ3JpZC0xLnBuZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIC8gY292ZXI7DQoJLXdlYmtpdC1hbmltYXRpb246IGJvdHRvbVRvdG9wIDE1cyBsaW5lYXIgMHMgaW5maW5pdGU7DQoJYW5pbWF0aW9uOiBib3R0b21Ub3RvcCAxNXMgbGluZWFyIDBzIGluZmluaXRlOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6MzAlOyAgICANCgl6LWluZGV4OjA7IA0KfQ0KLmRpYW1vbmQtZ3JpZC0yew0KCXdpZHRoOjQwcHg7DQoJaGVpZ2h0OjY1cHg7DQoJYmFja2dyb3VuZDp1cmwoL2ltYWdlcy9kaWFtb25kLWdyaWQtMS5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlciAvIGNvdmVyOw0KCS13ZWJraXQtYW5pbWF0aW9uOiBib3R0b21Ub3RvcCAxNnMgbGluZWFyIDBzIGluZmluaXRlOw0KCWFuaW1hdGlvbjogYm90dG9tVG90b3AgMTZzIGxpbmVhciAwcyBpbmZpbml0ZTsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjYwJTsgICAgDQoJei1pbmRleDowOyANCn0NCkAtd2Via2l0LWtleWZyYW1lcyBib3R0b21Ub3RvcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAwJSk7DQogICAgb3BhY2l0eTowOyANCiAgfQ0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMCUpOw0KICAgIG9wYWNpdHk6MTsgDQogIH0NCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMCUpOw0KICAgIG9wYWNpdHk6MDsgDQogIH0NCn0NCi5vdXRlci1PcmJpdHsNCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL2RpYW1vbmQtdG9wLXJpbmcucG5nKSBuby1yZXBlYXQgc2Nyb2xsIGNlbnRlciBjZW50ZXIgLyBjb3ZlcjsNCgl3aWR0aDowcHg7DQoJaGVpZ2h0OjBweDsNCgl0b3A6MHB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiAwOw0KCXRyYW5zaXRpb246YWxsIDJzIGVhc2U7DQoJbGVmdDogMDsNCglyaWdodDogMDsNCgltYXJnaW46IGF1dG87DQoJb3BhY2l0eTowOyANCn0NCg0KLm91dGVyLU9yYml0LmFjdGl2ZXsNCgl3aWR0aDogNTg4cHg7DQoJaGVpZ2h0OiAzNDRweDsJDQoJdHJhbnNpdGlvbjphbGwgMnMgZWFzZTsNCglvcGFjaXR5OjE7IA0KfQ0KLk9yYml0ew0KICAgCXdpZHRoOiAxOTBweDsNCgloZWlnaHQ6IDMxMHB4Ow0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMik7DQoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsNCglsZWZ0OiAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDVweDsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJcmlnaHQ6IDA7DQoJbWFyZ2luOiBhdXRvOw0KfQ0KLk9yYml0IC5yb3RhdGUgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlIDEwcyBpbmZpbml0ZSBsaW5lYXI7ICAgIA0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsNCn0NCi5PcmJpdFNxdWFyZSB7DQogICAgd2lkdGg6IDUwcHg7DQogICAgaGVpZ2h0OiA1MHB4Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjY2lyY2xlIDEwcyBpbmZpbml0ZSBsaW5lYXI7DQp9DQouT3JiaXRTcXVhcmUgLmlubmVyIHsNCiAgICB3aWR0aDogNTBweDsNCiAgICBoZWlnaHQ6IDUwcHg7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDBweDsNCiAgICB0b3A6IDBweDsNCiAgICBiYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL09yYml0U3F1YXJlLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4IC8gY292ZXI7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwLjUwKTsNCiAgICBmb250LXNpemU6MDsgDQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgY2lyY2xlIHsNCiAgICBmcm9tIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigwZGVnKX0NCiAgICB0byB7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNjaXJjbGUgew0KICAgIGZyb20gey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZyl9DQogICAgdG8gey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpfQ0KfQ0KLmdyaXMyew0KCXdpZHRoOjI1cHg7DQoJaGVpZ2h0OjgycHg7DQoJYmFja2dyb3VuZDp1cmwoL2ltYWdlcy9kaWFtb25kLWdyaWQtMi5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlciAvIGNvdmVyOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6IDU4JTsNCgl6LWluZGV4OiAwOw0KCWJvdHRvbTogNzVweDsNCglvcGFjaXR5OjA7IA0KfQ0KLmRpYW1vbmQtYW5pbWF0aW9uLmRvbmUgLmdyaXMyew0KCW9wYWNpdHk6MTsgDQp9DQouc3F1YXJlLTF7DQoJd2lkdGg6MjVweDsNCgloZWlnaHQ6MjZweDsNCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL09yYml0U3F1YXJlLnBuZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIC8gY292ZXI7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDo2MyU7DQoJei1pbmRleDogMDsNCglib3R0b206MTMwcHg7DQoJb3BhY2l0eTowOyANCn0NCi5kaWFtb25kLWFuaW1hdGlvbi5kb25lIC5zcXVhcmUtMXsNCglvcGFjaXR5OjE7DQoJYW5pbWF0aW9uOiBTcGluQ29pbiA0cyBsaW5lYXIgaW5maW5pdGU7DQoNCn0NCi5wYWdlLWhlYWRlcnsNCgliYWNrZ3JvdW5kOnVybCgvaW1hZ2VzL3BhZ2UtaGVhZGVyLWJnLmpwZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgLyBjb3ZlcjsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoucGFnZS1oZWFkZXItb3ZlcmxheXsNCglwYWRkaW5nOiA3MHB4IDAgNzBweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7DQp9DQoudGV4dC1jZW50ZXIgLmJyZWFkY3J1bWJ7DQoJanVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoucGFnZS1oZWFkZXIgLmVudHJ5LXRpdGxlew0KCWNvbG9yOiNmZmZmZmY7IA0KfQ0KLnBsYXRpbnVtLWxheW91dC5oZXJvLW1haW57DQoJYmFja2dyb3VuZC1zaXplOmNvdmVyOw0KCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGJvdHRvbTsgIA0KfQ0KLnBsYXRpbnVtLWxheW91dC5oZXJvLW1haW4gLmNvbnRhaW5lciwgLmhlcm8tbWFpbi5wbGF0aW51bS1sYXlvdXQgLnJvdyB7DQogICAgaGVpZ2h0OiAxMDAlOw0KfQ0KLnBsYXRpbnVtLWxheW91dC5oZXJvLW1haW46OmJlZm9yZSB7DQoJb3BhY2l0eTowOw0KCXZpc2liaWxpdHk6aGlkZGVuOyANCn0NCi5wbGF0aW51bS1hbmltYXRpb24gew0KICAgIGhlaWdodDo3NDBweDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoucGxhdGludW0tYW5pbWF0aW9uIC5iYXNlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAwcHg7DQogICAgbGVmdDogNTAlOw0KICAgIGRpc3BsYXk6IHRhYmxlOw0KICAgIG1hcmdpbjogYXV0bzsNCiAgICBoZWlnaHQ6MHB4Ow0KICAgIG9wYWNpdHk6MDsNCiAgICB3aWR0aDozOTBweDsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9wbGF0aW51bS1iYXNlLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsNCn0NCi5wbGF0aW51bS1hbmltYXRpb24gLmJhc2U6YmVmb3Jlew0KCWJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL3BsYXRpbnVtLWJhc2UtbGluZS5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCgljb250ZW50OiAiIjsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYm90dG9tOiAtNzdweDsNCglsZWZ0OiA1MCU7DQoJYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCgloZWlnaHQ6IDE2OXB4Ow0KCXdpZHRoOiA1NDNweDsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7ICAgICAgDQp9DQoucGxhdGludW0tYW5pbWF0aW9uLnN0YXJ0LWFuaW1hdGlvbiAuYmFzZXsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDE0NTBtcyBlYXNlOw0KICAgIHRyYW5zaXRpb246YWxsIDE0NTBtcyBlYXNlOw0KICAgIGhlaWdodDoyOTBweDsgDQogICAgb3BhY2l0eToxOw0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAubWlsbGRlLXBhcnQgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206MjQ1cHg7DQogICAgbGVmdDogLTZweDsNCiAgICByaWdodDogMDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW46IGF1dG87DQogICAgaGVpZ2h0OjBweDsNCiAgICB3aWR0aDowcHg7DQogICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvcGxhdGludW0td2F2ZXMucG5nKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7DQogICAgei1pbmRleDogMjsNCiAgICBvcGFjaXR5OjA7DQogICAgdmlzaWJpbGl0eTpoaWRkZW47IA0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCiAgICB0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbi5zdGFydC1hbmltYXRpb24gLm1pbGxkZS1wYXJ0ew0KCWhlaWdodDozNjZweDsNCiAgICB3aWR0aDoyMzBweDsNCiAgICBvcGFjaXR5OjE7DQogICAgdmlzaWJpbGl0eTp2aXNpYmxlOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMjUwMG1zIDFzIGVhc2U7ICANCiAgICB0cmFuc2l0aW9uOmFsbCAyNTAwbXMgMXMgZWFzZTsgIA0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAudG9wLXBhcnR7DQoJaGVpZ2h0OjQyMHB4Ow0KICAgIHdpZHRoOjQyMHB4Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OjUwJTsNCiAgICB0b3A6MDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOyAgDQogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7DQogICAgei1pbmRleDo1OyAgIA0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAudG9wLXBhcnQ6YmVmb3JlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOjBweDsNCiAgICBsZWZ0OjBweDsNCiAgICByaWdodDogMDsNCiAgICBkaXNwbGF5OiB0YWJsZTsNCiAgICBtYXJnaW46IGF1dG87DQogICAgaGVpZ2h0OjQyMHB4Ow0KICAgIHdpZHRoOjQyMHB4Ow0KICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2NvaW4tYmctaWNvbi5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsNCiAgICB6LWluZGV4OjM7DQogICAgb3BhY2l0eTowOw0KICAgIHZpc2liaWxpdHk6aGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCiAgICB0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KICAgIGNvbnRlbnQ6IiI7DQp9DQoucGxhdGludW0tYW5pbWF0aW9uLnN0YXJ0LWFuaW1hdGlvbiAudG9wLXBhcnQ6YmVmb3Jlew0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIG9wYWNpdHk6MTsNCiAgICB2aXNpYmlsaXR5OnZpc2libGU7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAxMDAwbXMgMi41cyBlYXNlOyAgDQogICAgdHJhbnNpdGlvbjphbGwgMTAwMG1zIDIuNXMgZWFzZTsNCiAgICBhbmltYXRpb246IFNwaW5Db2luMSA0cyBsaW5lYXIgaW5maW5pdGU7DQp9DQpAa2V5ZnJhbWVzIFNwaW5Db2luMXsNCiAgMCUge3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9DQogIDEwMCUge3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt9DQp9DQoucGxhdGludW0tYW5pbWF0aW9uIC5jb2luLWljb257DQoJaGVpZ2h0OjE0MHB4Ow0KICAgIHdpZHRoOjE0MHB4Ow0KICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2dvbGQtYW5pbWF0aW9uLWljb24ucG5nKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJb3BhY2l0eTowOw0KICAgIHZpc2liaWxpdHk6aGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KICAgIHRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQogICAgbGVmdDo1MCU7DQogICAgdG9wOjUwJTsNCiAgICBwb3NpdGlvbjphYnNvbHV0ZTsNCiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7DQogICAgei1pbmRleDo2OyAgIA0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbi5zdGFydC1hbmltYXRpb24gLmNvaW4taWNvbnsNCgktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpOw0KICAgIG9wYWNpdHk6MTsNCiAgICB2aXNpYmlsaXR5OnZpc2libGU7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAxMDAwbXMgMi41cyBlYXNlOyAgDQogICAgdHJhbnNpdGlvbjphbGwgMTAwMG1zIDIuNXMgZWFzZTsNCn0NCi5wbGF0aW51bS1hbmltYXRpb24gLmxpbmVzIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiBhdXRvOw0KICAgIGhlaWdodDogMjcwcHg7DQogICAgYm90dG9tOjE1MHB4Ow0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAubGluZXMgc3BhbiB7DQogICAgd2lkdGg6IDRweDsNCiAgICBoZWlnaHQ6IDI1OHB4Ow0KICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL3BsYXRpbnVtLXRvcC1saW5lcy5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdHJhbnNpdGlvbjogYWxsIDJzIGVhc2U7DQogICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tOw0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAubGluZXMuYWN0aXZlIHNwYW4gew0KICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOw0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAubGluZXMgc3Bhbi5sLTEgew0KICAgIGJvdHRvbTo1OHB4Ow0KICAgIGxlZnQ6IDIycHg7DQp9DQoucGxhdGludW0tYW5pbWF0aW9uIC5saW5lcyBzcGFuLmwtMiB7DQogICAgYm90dG9tOiAyN3B4Ow0KCWxlZnQ6IDYycHg7DQp9DQoucGxhdGludW0tYW5pbWF0aW9uIC5saW5lcyBzcGFuLmwtMyB7DQogICAgYm90dG9tOiAxMnB4Ow0KCWxlZnQ6IDE5NXB4Ow0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAubGluZXMgc3Bhbi5sLTQgew0KICAgIGJvdHRvbToyN3B4Ow0KICAgIHJpZ2h0OjcwcHg7DQp9DQoucGxhdGludW0tYW5pbWF0aW9uIC5saW5lcyBzcGFuLmwtNSB7DQogICAgYm90dG9tOjU4cHg7DQogICAgcmlnaHQ6MjJweDsNCn0NCi5wbGF0aW51bS1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtMSB7DQogICAgdHJhbnNpdGlvbjogYWxsIDJzIGVhc2UgMTAwbXM7DQp9DQoucGxhdGludW0tYW5pbWF0aW9uIC5saW5lcy5hY3RpdmUgc3Bhbi5sLTIgew0KICAgIHRyYW5zaXRpb246IGFsbCAycyBlYXNlIDQwMG1zOw0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAubGluZXMuYWN0aXZlIHNwYW4ubC0zIHsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMnMgZWFzZSA4MDBtczsNCn0NCi5wbGF0aW51bS1hbmltYXRpb24gLmxpbmVzLmFjdGl2ZSBzcGFuLmwtNCB7DQogICAgdHJhbnNpdGlvbjogYWxsIDJzIGVhc2UgMTIwMG1zOw0KfQ0KLnBsYXRpbnVtLWFuaW1hdGlvbiAubGluZXMuYWN0aXZlIHNwYW4ubC01IHsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMnMgZWFzZSAxNjAwbXM7DQp9DQoucGxhdGludW0tbW92ZS0xIHsNCiAgICB3aWR0aDoxM3B4Ow0KICAgIGhlaWdodDogMTE5cHg7DQogICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvcGxhdGludW0tbW92ZS0xLnBuZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIC8gY292ZXI7DQogICAgLXdlYmtpdC1hbmltYXRpb246IGJvdHRvbVRvdG9wIDE1cyBsaW5lYXIgMHMgaW5maW5pdGU7DQogICAgYW5pbWF0aW9uOiBib3R0b21Ub3RvcCAxNXMgbGluZWFyIDBzIGluZmluaXRlOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OjE5JTsNCiAgICB6LWluZGV4OiAwOw0KfQ0KLnBsYXRpbnVtLW1vdmUtMiB7DQogICAgd2lkdGg6MTNweDsNCiAgICBoZWlnaHQ6IDExOXB4Ow0KICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL3BsYXRpbnVtLW1vdmUtMS5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlciAvIGNvdmVyOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBib3R0b21Ub3RvcCAxOHMgbGluZWFyIDBzIGluZmluaXRlOw0KICAgIGFuaW1hdGlvbjogYm90dG9tVG90b3AgMThzIGxpbmVhciAwcyBpbmZpbml0ZTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogNjAlOw0KICAgIHotaW5kZXg6IDA7DQp9DQoucGxhdGludW0tbW92ZS0zIHsNCiAgICB3aWR0aDoxM3B4Ow0KICAgIGhlaWdodDogMTE5cHg7DQogICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvcGxhdGludW0tbW92ZS0xLnBuZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIC8gY292ZXI7DQogICAgLXdlYmtpdC1hbmltYXRpb246IGJvdHRvbVRvdG9wIDE4cyBsaW5lYXIgMHMgaW5maW5pdGU7DQogICAgYW5pbWF0aW9uOiBib3R0b21Ub3RvcCAxOHMgbGluZWFyIDBzIGluZmluaXRlOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OjY0JTsNCiAgICB0b3A6LTIwcHg7IA0KICAgIHotaW5kZXg6IDA7DQp9DQoucGxhdGludW0tbW92ZS00IHsNCiAgICB3aWR0aDo1MnB4Ow0KICAgIGhlaWdodDogMjIwcHg7DQogICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvcGxhdGludW0tbW92ZS0yLnBuZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIC8gY292ZXI7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHJpZ2h0OiAxNXB4Ow0KCWJvdHRvbTogMTYwcHg7DQogICAgei1pbmRleDogMDsNCiAgICBvcGFjaXR5OjA7DQogICAgdmlzaWJpbGl0eTpoaWRkZW47IA0KfQ0KLnBsYXRpbnVtLW1vdmUtNSB7DQogICAgd2lkdGg6NDBweDsNCgloZWlnaHQ6MTM4cHg7DQogICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvcGxhdGludW0tbW92ZS0zLnBuZykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIC8gY292ZXI7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6MjVweDsNCiAgICBib3R0b206MjAwcHg7IA0KICAgIHotaW5kZXg6IDA7DQogICAgb3BhY2l0eTowOw0KICAgIHZpc2liaWxpdHk6aGlkZGVuOyANCn0NCi5wbGF0aW51bS1hbmltYXRpb24uc3RhcnQtYW5pbWF0aW9uIC5wbGF0aW51bS1tb3ZlLTV7DQogICAgb3BhY2l0eToxOw0KICAgIHZpc2liaWxpdHk6dmlzaWJsZTsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDEwMDBtcyAxcyBlYXNlOyAgDQogICAgdHJhbnNpdGlvbjphbGwgMTAwMG1zIDFzIGVhc2U7ICANCn0NCi5wbGF0aW51bS1hbmltYXRpb24uc3RhcnQtYW5pbWF0aW9uIC5wbGF0aW51bS1tb3ZlLTR7DQogICAgb3BhY2l0eToxOw0KICAgIHZpc2liaWxpdHk6dmlzaWJsZTsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDEwMDBtcyAxLjVzIGVhc2U7ICANCiAgICB0cmFuc2l0aW9uOmFsbCAxMDAwbXMgMS41cyBlYXNlOyAgDQp9DQoubWVyY3VyeS1sYXlvdXQuaGVyby1tYWluIC5jb250YWluZXIsIC5oZXJvLW1haW4ubWVyY3VyeS1sYXlvdXQgLnJvd3sNCgloZWlnaHQ6MTAwJTsgDQp9DQoubWVyY3VyeS1sYXlvdXQuaGVyby1tYWluew0KCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciByaWdodCAhaW1wb3J0YW50OyAgDQp9DQoubWVyY3VyeS1sYXlvdXQuaGVyby1tYWluOjpiZWZvcmUgew0KICAgZGlzcGxheTpub25lOyANCn0NCi5tZXJjdXJ5LWFuaW1hdGlvbiAubnVtYmVyLW9uZXsNCgliYWNrZ3JvdW5kOiB1cmwoJ2ltYWdlcy9tZXJjdXJ5LW51bWJlcnMtMS5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDsNCgloZWlnaHQ6MzA3cHg7DQoJd2lkdGg6MTM5cHg7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDotMTIwcHg7DQoJdG9wOjA7ICAgDQoJYW5pbWF0aW9uOiB0b3AtYm90dG9tIDEwcyBsaW5lYXIgMHMgaW5maW5pdGU7DQp9DQoubWVyY3VyeS1hbmltYXRpb24gLm51bWJlci10d297DQoJYmFja2dyb3VuZDogdXJsKCdpbWFnZXMvbWVyY3VyeS1udW1iZXJzLTEucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwIDA7DQoJaGVpZ2h0OjMwN3B4Ow0KCXdpZHRoOjEzOXB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0Oi0xMjBweDsNCgl0b3A6MDsgICANCglhbmltYXRpb246IGJvdHRvbS10b3AgMTVzIGxpbmVhciAwcyBpbmZpbml0ZTsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyB0b3AtYm90dG9tIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOw0KICB9DQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMDAlKTsNCiAgfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdHRvbS10b3Agew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMDAlKTsNCiAgfQ0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOw0KICB9DQp9DQouZWFydGggaW1new0KCWFuaW1hdGlvbjogc3Bpbm5lciAxMHMgaW5maW5pdGUgbGluZWFyOw0KICAgIHBlcnNwZWN0aXZlOiA1MDBweDsNCiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOw0KfQ0KQGtleWZyYW1lcyBzcGlubmVyIHsNCiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9DQogICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfQ0KICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQojZWFydGgtYm94IHNwYW57DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXdpZHRoOiA0MDBweDsNCgloZWlnaHQ6IDQwMHB4Ow0KCW1hcmdpbjowIGF1dG87DQoJdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGxpbmVhcjsNCglhbmltYXRpb246IHJvdGF0ZSA4cyBsaW5lYXIgaW5maW5pdGU7IC8qIFRoaXMgaXMgZ29pbmcgdG8gYmUgZGVmaW5lZCBpbiB0aGUgbmV4dCBzdGVwICovDQoJY29sb3I6ICMwMDA7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCWJhY2tncm91bmQ6dXJsKC9pbWFnZXMvbWVyY3VyeS1lYXJ0aC1tYXAucG5nKSAwIDAgcmVwZWF0Ow0KCWJhY2tncm91bmQtc2l6ZTogNzMwcHg7DQoJYm94LXNoYWRvdzogaW5zZXQgMjBweCAwIDgwcHggNnB4IHJnYmEoMCwgMCwgMCwgMSk7DQoJdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KI2VhcnRoLWJveHsNCgl3aWR0aDogNDAwcHg7DQoJaGVpZ2h0OiA0MDBweDsNCiAgCWJhY2tncm91bmQ6dXJsKC9pbWFnZXMvbWVyY3VyeS1lYXJ0aC5wbmcpIDAgMCByZXBlYXQ7DQogIAliYWNrZ3JvdW5kLXNpemU6MTAwJTsgDQogIAlib3JkZXItcmFkaXVzOiA1MCU7DQogIAltYXJnaW46YXV0bzsNCiAgCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDUwJTsNCglsZWZ0OiA1MCU7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7DQp9DQojZWFydGgtYm94LWNvdmVyew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB3aWR0aDogNTkwcHg7DQogICAgaGVpZ2h0OiA1OTBweDsNCn0NCiNlYXJ0aC1ib3gtY292ZXIgLmVhcnRoLWljb25zew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQp9DQojZWFydGgtYm94LWNvdmVyIC5lYXJ0aC1pY29ucyAuaWNvbi0xew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvZWFydGgtaWNvbi0xLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweCAvIGNvdmVyOw0KCXdpZHRoOiAyOHB4Ow0KCWhlaWdodDogNDdweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAyMDVweDsNCglsZWZ0OiAxMTVweDsNCgl6LWluZGV4OiAxOw0KCWFuaW1hdGlvbjogem9vbWZhZGUgMnMgbGluZWFyIGluZmluaXRlOw0KfQ0KI2VhcnRoLWJveC1jb3ZlciAuZWFydGgtaWNvbnMgLmljb24tMnsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2VhcnRoLWljb24tMi5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHggLyBjb3ZlcjsNCgl3aWR0aDogMjFweDsNCgloZWlnaHQ6IDUycHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMzEycHg7DQoJcmlnaHQ6ODVweDsNCgl6LWluZGV4OiAxOw0KCWFuaW1hdGlvbjogem9vbWZhZGUgMS41cyBsaW5lYXIgaW5maW5pdGU7DQp9DQojZWFydGgtYm94LWNvdmVyIC5lYXJ0aC1pY29ucyAuaWNvbi0zew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvZWFydGgtaWNvbi0zLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweCAvIGNvdmVyOw0KCXdpZHRoOjM0cHg7DQoJaGVpZ2h0OjM1cHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMTcxcHg7DQoJcmlnaHQ6IDE4N3B4Ow0KCXotaW5kZXg6IDE7DQoJYW5pbWF0aW9uOiB6b29tZmFkZSA5MDBtcyBsaW5lYXIgaW5maW5pdGU7DQp9DQojZWFydGgtYm94LWNvdmVyIC5lYXJ0aC1pY29ucyAuaWNvbi00ew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvZWFydGgtaWNvbi00LnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweCAvIGNvdmVyOw0KCXdpZHRoOjI1cHg7DQoJaGVpZ2h0OjMzcHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMTE3cHg7DQoJbGVmdDogMTkzcHg7DQoJei1pbmRleDogMTsNCglhbmltYXRpb246IHpvb21mYWRlIDEuM3MgbGluZWFyIGluZmluaXRlOw0KfQ0KI2VhcnRoLWJveC1jb3ZlciAuZWFydGgtaWNvbnMgLmljb24tNXsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2VhcnRoLWljb24tNS5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHggLyBjb3ZlcjsNCgl3aWR0aDoyNnB4Ow0KCWhlaWdodDozM3B4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDUxcHg7DQoJcmlnaHQ6IDIyOXB4Ow0KCXotaW5kZXg6IDE7DQoJYW5pbWF0aW9uOiB6b29tZmFkZSAxLjdzIGxpbmVhciBpbmZpbml0ZTsNCn0NCiNlYXJ0aC1ib3gtY292ZXIgLmVhcnRoLWljb25zIC5pY29uLTZ7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9lYXJ0aC1pY29uLTYucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4IC8gY292ZXI7DQoJd2lkdGg6MTZweDsNCgloZWlnaHQ6MjRweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAxNDRweDsNCglyaWdodDogMTQ1cHg7DQoJei1pbmRleDogMTsNCglhbmltYXRpb246IHpvb21mYWRlIDk1MG1zIGxpbmVhciBpbmZpbml0ZTsNCn0NCiNlYXJ0aC1ib3gtY292ZXIgLmVhcnRoLWljb25zIC5pY29uLTd7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9nb2xkLWFuaW1hdGlvbi1pY29uLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCgl3aWR0aDo2MHB4Ow0KCWhlaWdodDo2MHB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDM2NHB4Ow0KCWxlZnQ6IDIxOHB4Ow0KCXotaW5kZXg6IDE7DQoJYmFja2dyb3VuZC1zaXplOiAxMDAlOw0KCWJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsNCglhbmltYXRpb246IHpvb21mYWRlIDJzIGxpbmVhciBpbmZpbml0ZTsNCn0NCkBrZXlmcmFtZXMgem9vbWZhZGUgew0KCTAlIHt0cmFuc2Zvcm06c2NhbGUoMC42KTsgb3BhY2l0eTowLjY7ICB9DQoJNTAlIHt0cmFuc2Zvcm06c2NhbGUoMSk7IG9wYWNpdHk6MTt9DQoJMTAwJSB7dHJhbnNmb3JtOnNjYWxlKDAuNik7IG9wYWNpdHk6MC42O30NCn0NCkBrZXlmcmFtZXMgcm90YXRlIHsNCgkwJSB7YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO30NCgkxMDAlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3MzBweCAwO30NCn0NCiNlYXJ0aC1ib3gtY292ZXI6YmVmb3Jlew0KCXdpZHRoOjU4OXB4Ow0KCWhlaWdodDo1ODlweDsNCiAgCWJhY2tncm91bmQ6dXJsKC9pbWFnZXMvbWVyY3VyeS1lYXJ0aC1jb3Zlci5wbmcpIDAgMCByZXBlYXQ7DQogIAliYWNrZ3JvdW5kLXNpemU6MTAwJTsgDQogIAlib3JkZXItcmFkaXVzOiA1MCU7DQogIAljb250ZW50OiIiOw0KICAJcG9zaXRpb246YWJzb2x1dGU7DQogIAl0b3A6NTAlOw0KICAJbGVmdDo1MCU7DQogIAl0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpOw0KICAJei1pbmRleDoxOyANCn0NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA0LiBDTElFTlQgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi5icmFuZC1sb2dvLXNsaWRlciB7DQoJYmFja2dyb3VuZDogIzBmMGYwZjsNCglwYWRkaW5nLXRvcDogMzVweDsNCglwYWRkaW5nLWJvdHRvbTogMzVweDsNCgljbGVhcjogYm90aDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCWxpbmUtaGVpZ2h0OiAwOw0KfQ0KLmJyYW5kLWxvZ29zIHsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl3aWR0aDogYXV0bzsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KLmJyYW5kLWxvZ28tc2xpZGVyLmMtbHsNCglwYWRkaW5nLXRvcDo5MHB4Ow0KCXBhZGRpbmctYm90dG9tOjkwcHg7ICANCn0NCi5jLWwgLmJyYW5kLWxvZ29zew0KCW1hcmdpbjozMHB4IDBweCAwcHg7IA0KfQ0KLmMtbCAuYnJhbmQtbG9nb3MgLm93bC1pdGVtIGltZyB7DQoJb3BhY2l0eTowLjYgDQp9DQoucGFydG5lci1sb2dvew0KCWNsZWFyOiBib3RoOw0KCWRpc3BsYXk6dGFibGU7DQoJd2lkdGg6MTAwJTsgIA0KfQ0KLnBhcnRuZXItbG9nby1ncmlkew0KCWRpc3BsYXk6ZmxleDsNCglmbGV4LXdyYXA6d3JhcDsNCgl3aWR0aDoxMDAlOyANCn0NCi5wYXJ0bmVyLWxvZ28tZ3JpZCAuaXRlbXsNCglmbGV4OjAgMCAyNSU7DQoJbWF4LXdpZHRoOjI1JTsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmc6MjBweCAxNXB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsNCglib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpOw0KfQ0KLnBhcnRuZXItbG9nby1ncmlkIC5pdGVtOmZpcnN0LWNoaWxkew0KCWJvcmRlci1sZWZ0OjBweDsNCn0NCi5wYXJ0bmVyLWxvZ28tZ3JpZDpsYXN0LWNoaWxkIC5pdGVtew0KCWJvcmRlci1ib3R0b206MHB4Ow0KfQ0KLnBhcnRuZXItbG9nby1ncmlkIC5pdGVtIGltZ3sNCglvcGFjaXR5OjAuNjsgDQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtczsNCgl0cmFuc2l0aW9uOmFsbCAzMDBtczsNCn0NCi5wYXJ0bmVyLWxvZ28tZ3JpZCAuaXRlbTpob3ZlciBpbWd7DQoJb3BhY2l0eToxOyANCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQowNS4gQUJPVVQgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi5hYm91dC1zZWN0aW9uIHsNCglwYWRkaW5nOiA5MHB4IDANCn0NCi5hYm91dC1zZWN0aW9uIGg1IHsNCglmb250LXNpemU6IDE4cHg7DQoJbGluZS1oZWlnaHQ6IDI4cHg7DQoJY29sb3I6ICM2MDYwNjA7DQoJZm9udC13ZWlnaHQ6IDcwMDsNCn0NCi5hYm91dC1zZWN0aW9uLnN0eWxlLTIgaDV7DQoJZm9udC1zaXplOjI0cHg7DQoJbGluZS1oZWlnaHQ6MS41Ow0KCWZvbnQtd2VpZ2h0OjQwMDsgDQp9DQppbWcucGxheS1idG4taW1new0KCWZsb2F0OiBsZWZ0Ow0KCW1hcmdpbi1yaWdodDo0MHB4OyANCn0NCi53YXRjaC1saW5rIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJbWFyZ2luLXRvcDowcHg7DQoJY2xlYXI6IGJvdGg7DQoJd2lkdGg6IGF1dG87DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7IA0KfQ0KLndhdGNoLWxpbms6aG92ZXIgaSB7DQoJYmFja2dyb3VuZDogI2ZiYmQxODsNCgljb2xvcjogI2ZmZg0KfQ0KLndhdGNoLWxpbmsgaSB7DQoJd2lkdGg6IDUzcHg7DQoJaGVpZ2h0OiA1M3B4Ow0KCWxpbmUtaGVpZ2h0OiA1MHB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQoJYm9yZGVyOiAycHggc29saWQgI2ZiYmQxODsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWNvbG9yOiAjZmJiZDE4Ow0KCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zOw0KCXRyYW5zaXRpb246IGFsbCA1MDBtczsNCn0NCi53YXRjaC1saW5rIHNwYW4gew0KCWNvbG9yOiAjODA4MDgwOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQoJcGFkZGluZy1sZWZ0OiAxNXB4Ow0KCXBhZGRpbmctdG9wOjZweDsgDQp9DQoud2F0Y2gtbGluayBzdHJvbmcgew0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KCWNvbG9yOiAjMWQxZDFkOw0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQoJZm9udC1zaXplOiAyMHB4Ow0KCWZvbnQtd2VpZ2h0OiA3MDA7DQoJZGlzcGxheTogYmxvY2s7DQp9DQouYnV0dG9uLXdyYXBwZXIgYXsNCglkaXNwbGF5OmlubGluZS1ibG9jazsgDQp9DQouYnV0dG9uLXdyYXBwZXIgYSArIGF7DQoJbWFyZ2luLWxlZnQ6MzBweDsgDQp9DQouY2FyYm9uLWxheW91dCAuYWJvdXQtbGVmdHsNCglwYWRkaW5nLWxlZnQ6NjBweDsgDQp9DQouY2FyYm9uLWxheW91dCAuYWJvdXQtbGVmdCBoMi5zZWN0aW9uLWhlYWRpbmd7DQoJbWFyZ2luOjBweCAwcHggMTVweCAwcHg7DQp9DQpoMi5zZWN0aW9uLWhlYWRpbmd7DQoJZm9udC1zaXplOiAzLjVyZW07DQoJbWFyZ2luOjBweCAwcHggMzBweCAwcHg7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LXdlaWdodDpib2xkOw0KfQ0KaDIuc2VjdGlvbi1oZWFkaW5nIHNwYW57DQoJY29sb3I6ICNmYmJkMTg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsgDQp9DQouY2FyYm9uLWxheW91dCAuYWJvdXQtbGVmdCBoNHsNCgljb2xvcjojMDAwMDAwOw0KCWZvbnQtc2l6ZTozMHB4OyANCgltYXJnaW46MHB4IDBweCAzMHB4IDBweDsNCn0NCi5jYXJib24tbGF5b3V0IC5hYm91dC1sZWZ0IGg1ew0KCWNvbG9yOiMwMDAwMDA7DQoJZm9udC1zaXplOjI0cHg7IA0KCW1hcmdpbjowcHggMHB4IDE1cHggMHB4Ow0KCWZvbnQtd2VpZ2h0Om5vcm1hbDsNCglsaW5lLWhlaWdodDoxLjU7ICANCn0NCi5hYm91dC1zZWN0aW9uLmMtbHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCi5hYm91dC1zZWN0aW9uLmMtbDpiZWZvcmV7DQoJYmFja2dyb3VuZDojZWZlZmVmOyANCglwb3NpdGlvbjphYnNvbHV0ZTsNCgloZWlnaHQ6MTAwJTsNCglyaWdodDogY2FsYygoKDEwMCUgLSAxMjAwcHgpIC8gMikgKyAoKDEyMDBweCAqIDc1KSAvIDEwMCkpOw0KCXdpZHRoOiA1MCU7DQoJdG9wOiAwOw0KCWNvbnRlbnQ6IiI7DQp9DQouYy1sLmFib3V0LXNlY3Rpb24gaW1neyANCgktd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDIwcHggI2ZmZjsNCglib3gtc2hhZG93OiAwcHggMHB4IDBweCAyMHB4ICNmZmY7DQp9DQouYy1sLmJlbmVmaXRzew0KCWJhY2tncm91bmQ6bm9uZTsNCn0NCi5hYm91dC1zZWN0aW9uLmRpYW1vbmQtbGF5b3V0IC5zZWN0aW9uLWhlYWRpbmd7DQoJbWFyZ2luOjBweCAwcHggMTVweCAwcHg7IA0KfQ0KLmFib3V0LXNlY3Rpb24uZGlhbW9uZC1sYXlvdXQgaDR7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LXNpemU6MzBweDsNCgltYXJnaW46MCAwIDE1cHggMDsgICANCn0NCi5hYm91dC1zZWN0aW9uLmRpYW1vbmQtbGF5b3V0IGg1ew0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQp9DQoudGFiLXNlY3Rpb257DQoJbWFyZ2luOjE1cHggMHB4OyANCn0NCi50YWItc2VjdGlvbiAubmF2LXRhYnN7DQoJbWFyZ2luLWJvdHRvbToxNXB4OyANCn0NCi50YWItc2VjdGlvbiAubmF2LXRhYnMgLm5hdi1pdGVtew0KCW1hcmdpbjowcHggMTVweDsNCgljb2xvcjojMDAwMDAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJZm9udC1zaXplOjE4cHg7ICAgDQp9DQoudGFiLXNlY3Rpb24gLm5hdi10YWJzIC5uYXYtaXRlbTpmaXJzdC1jaGlsZHsNCgltYXJnaW4tbGVmdDowcHg7IA0KfQ0KLnRhYi1zZWN0aW9uIC5uYXYtdGFicyAubmF2LWxpbmt7DQoJcGFkZGluZzoxNXB4IDBweDsNCgljdXJzb3I6cG9pbnRlcjsNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQoudGFiLXNlY3Rpb24gLm5hdi10YWJzIC5uYXYtbGluazphZnRlcnsNCgliYWNrZ3JvdW5kOiNmYmJkMTg7IA0KCWhlaWdodDozcHg7IA0KCWNvbnRlbnQ6IiI7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJYm90dG9tOi0zcHg7DQoJbGVmdDowOw0KCXdpZHRoOjA7IA0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXM7IA0KCXRyYW5zaXRpb246YWxsIDMwMG1zOyANCn0NCi50YWItc2VjdGlvbiAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSwgLnRhYi1zZWN0aW9uIC5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmssIC50YWItc2VjdGlvbiAubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCAudGFiLXNlY3Rpb24gLm5hdi10YWJzIC5uYXYtbGluazpmb2N1c3sNCglib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KCWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KCWNvbG9yOiNmYmJkMTg7IA0KfQ0KLnRhYi1zZWN0aW9uIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlOmFmdGVyLCAudGFiLXNlY3Rpb24gLm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluazphZnRlciwgLnRhYi1zZWN0aW9uIC5uYXYtdGFicyAubmF2LWxpbms6aG92ZXI6YWZ0ZXIsIC50YWItc2VjdGlvbiAubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzOmFmdGVyew0KCXJpZ2h0OjA7DQoJd2lkdGg6MTAwJTsgDQp9DQoudGFiLWNvbnRlbnR7DQoJbWFyZ2luLWJvdHRvbToxNXB4OyANCn0NCi5kaWFtb25kLWljb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy1sZWZ0OjU1cHg7IA0KfQ0KLmRpYW1vbmQtaWNvbjpiZWZvcmV7DQoJYmFja2dyb3VuZDogdXJsKCdpbWFnZXMvY29pbnBvb2wtZG90cy1jaXJjbGUucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGhlaWdodDogMzcwcHg7DQogICAgd2lkdGg6IDM3MHB4Ow0KICAgIHotaW5kZXg6IDA7DQogICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZS1yaWdodCAyNXMgbGluZWFyIDBzIGluZmluaXRlOw0KICAgIGFuaW1hdGlvbjogcm90YXRlLXJpZ2h0IDI1cyBsaW5lYXIgMHMgaW5maW5pdGU7DQogICAgb3BhY2l0eToxOw0KICAgIHRvcDogMTBweDsNCglsZWZ0OjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsgDQp9DQouZGlhbW9uZC1pY29uIGltZ3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQouY3VycmVuY3ktY29udmVydG9yIHsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjEwMCU7ICANCn0NCi5hYm91dC1tZXJjdXJ5LWFuaW1hdGlvbnsNCgltaW4taGVpZ2h0OjY1MHB4OyANCn0NCi5hYm91dC1tZXJjdXJ5LWFuaW1hdGlvbiAubWVyY3VyeS1iYXNlew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDowOw0KCW1pbi13aWR0aDoxMHB4Ow0KCW1hcmdpbjogYXV0bzsNCglsZWZ0OiA1MCU7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOw0KCWJvdHRvbTogMDsNCgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zOw0KfQ0KLnZpc2libGUuYWJvdXQtbWVyY3VyeS1hbmltYXRpb24gLm1lcmN1cnktYmFzZXsNCgltaW4td2lkdGg6OTAwcHg7DQoJd2lkdGg6MTAwJTsNCgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zOw0KfQ0KLmNvaW4tYW5pbWF0aW9uIC5jb2luLTF7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9jb2luLTEucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWhlaWdodDo0N3B4Ow0KCXdpZHRoOjY2cHg7DQoJYmFja2dyb3VuZC1zaXplOmF1dG87DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjA7DQoJbGVmdDoxMDBweDsNCgl0cmFuc2l0aW9uOiBhbGwgNjAwbXM7DQoJb3BhY2l0eTowOyANCn0NCi5jb2luLWFuaW1hdGlvbiAuY29pbi0yew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvY29pbi0yLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCgloZWlnaHQ6NTZweDsNCgl3aWR0aDo2NHB4Ow0KCWJhY2tncm91bmQtc2l6ZTphdXRvOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAzMDBweDsNCgl0cmFuc2l0aW9uOiBhbGwgNDUwbXM7DQoJb3BhY2l0eTowOw0KfQ0KLmNvaW4tYW5pbWF0aW9uIC5jb2luLTN7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9jb2luLTMucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWhlaWdodDo1NnB4Ow0KCXdpZHRoOjY0cHg7DQoJYmFja2dyb3VuZC1zaXplOmF1dG87DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjEwcHg7DQoJbGVmdDogMTgwcHg7ICANCgl0cmFuc2l0aW9uOiBhbGwgNzUwbXM7DQoJb3BhY2l0eTowOw0KfQ0KLmNvaW4tYW5pbWF0aW9uIC5jb2luLTR7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9jb2luLTQucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWhlaWdodDo1NnB4Ow0KCXdpZHRoOjgwcHg7DQoJYmFja2dyb3VuZC1zaXplOmF1dG87DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOiAwcHg7DQoJbGVmdDogNjBweDsgICANCgl0cmFuc2l0aW9uOiBhbGwgNTAwbXM7IA0KCW9wYWNpdHk6MDsNCn0NCi5jb2luLWFuaW1hdGlvbiAuY29pbi01ew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvY29pbi01LnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCgloZWlnaHQ6NTZweDsNCgl3aWR0aDo2NHB4Ow0KCWJhY2tncm91bmQtc2l6ZTphdXRvOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDowcHg7DQoJbGVmdDogMjIwcHg7ICAgDQoJdHJhbnNpdGlvbjogYWxsIDYwMG1zOyANCglvcGFjaXR5OjA7DQp9DQouY29pbi1hbmltYXRpb24gLmNvaW4tNnsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2NvaW4tNi5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJaGVpZ2h0OjY0cHg7DQoJd2lkdGg6NTZweDsNCgliYWNrZ3JvdW5kLXNpemU6YXV0bzsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MHB4Ow0KCWxlZnQ6MzQwcHg7ICAgIA0KCXRyYW5zaXRpb246IGFsbCA0NTBtczsNCglvcGFjaXR5OjA7DQp9DQouY29pbi1hbmltYXRpb24gLmNvaW4tN3sNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2NvaW4tNy5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJaGVpZ2h0OjY1cHg7DQoJd2lkdGg6NTZweDsNCgliYWNrZ3JvdW5kLXNpemU6YXV0bzsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MHB4Ow0KCWxlZnQ6NDUwcHg7ICAgIA0KCXRyYW5zaXRpb246IGFsbCA4MDBtczsNCglvcGFjaXR5OjA7DQp9DQoudmlzaWJsZSAuY29pbi1hbmltYXRpb24gLmNvaW4tMXsNCglhbmltYXRpb246IGNvaW5hbmltYXRpb24gM3MgbGluZWFyIDBzIGluZmluaXRlOw0KCW9wYWNpdHk6MTsgDQp9DQoudmlzaWJsZSAuY29pbi1hbmltYXRpb24gLmNvaW4tMnsNCglhbmltYXRpb246IGNvaW5hbmltYXRpb250d28gOHMgbGluZWFyIDBzIGluZmluaXRlOw0KCW9wYWNpdHk6MTsNCn0NCi52aXNpYmxlIC5jb2luLWFuaW1hdGlvbiAuY29pbi0zew0KCWFuaW1hdGlvbjogY29pbmFuaW1hdGlvbiAyLjVzIGxpbmVhciAwcyBpbmZpbml0ZTsNCglvcGFjaXR5OjE7DQp9DQoudmlzaWJsZSAuY29pbi1hbmltYXRpb24gLmNvaW4tNHsNCglhbmltYXRpb246IGNvaW5hbmltYXRpb24gNnMgbGluZWFyIDBzIGluZmluaXRlOw0KCW9wYWNpdHk6MTsNCn0NCi52aXNpYmxlIC5jb2luLWFuaW1hdGlvbiAuY29pbi01ew0KCWFuaW1hdGlvbjogY29pbmFuaW1hdGlvbnR3byA3cyBsaW5lYXIgMHMgaW5maW5pdGU7DQoJb3BhY2l0eToxOw0KfQ0KLnZpc2libGUgLmNvaW4tYW5pbWF0aW9uIC5jb2luLTZ7DQoJYW5pbWF0aW9uOiBjb2luYW5pbWF0aW9uIDRzIGxpbmVhciAwcyBpbmZpbml0ZTsNCglvcGFjaXR5OjE7DQp9DQoudmlzaWJsZSAuY29pbi1hbmltYXRpb24gLmNvaW4tN3sNCglhbmltYXRpb246IGNvaW5hbmltYXRpb24gNnMgbGluZWFyIDBzIGluZmluaXRlOw0KCW9wYWNpdHk6MTsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBjb2luYW5pbWF0aW9uIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDgwMCUpIHJvdGF0ZSgwZGVnKTsNCiAgfQ0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMCUpIHJvdGF0ZSgzNjBkZWcpOw0KICB9DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKSByb3RhdGUoNzIwZGVnKTsNCiAgfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGNvaW5hbmltYXRpb250d28gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoODAwJSkgcm90YXRlKDBkZWcpOw0KICB9DQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwJSkgcm90YXRlKC0zNjBkZWcpOw0KICB9DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKSByb3RhdGUoLTcyMGRlZyk7DQogIH0NCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQowNi4gTUlTU0lPTiBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLm91ci1taXNzaW9uIHsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMTAwJTsNCgliYWNrZ3JvdW5kOiAjZjZmNmY2Ow0KfQ0KLm91ci1taXNzaW9uLWJveGVzIHsNCgltYXJnaW46IDA7DQoJYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvb3VyLW1pc3Npb24uanBnKTsNCgliYWNrZ3JvdW5kLXNpemU6IGNvdmVyOw0KCWJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOw0KfQ0KLm91ci1taXNzaW9uLWJveGVzIC5jb2wgew0KCXBhZGRpbmc6IDMwcHg7DQoJYmFja2dyb3VuZDogIzAwMDAwMDsNCglib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDU0LCA1NCwgNTQsIDAuOCk7DQoJY29sb3I6ICNmZmZmZmY7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBhZGRpbmctYm90dG9tOiAxNTBweDsNCgltaW4taGVpZ2h0OiA1MzBweDsNCn0NCi5vdXItbWlzc2lvbi1ib3hlcyAuY29sLA0KLm91ci1taXNzaW9uLWJveGVzIHNwYW4sDQoub3VyLW1pc3Npb24tYm94ZXMgcCwNCi5vdXItbWlzc2lvbi1ib3hlcyBoNCB7DQoJdHJhbnNpdGlvbjogYWxsIDgwMG1zOw0KfQ0KLm91ci1taXNzaW9uLWJveGVzIHNwYW4gew0KCWNvbG9yOiAjZmZmZmZmOw0KCWZvbnQtc2l6ZTogMzZweDsNCglmb250LXdlaWdodDogNDAwOw0KCW1hcmdpbi1ib3R0b206IDIwcHg7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoub3VyLW1pc3Npb24tYm94ZXMgcCB7DQoJY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7DQoJb3BhY2l0eTogMDsNCgl2aXNpYmlsaXR5OiBoaWRkZW47DQp9DQoub3VyLW1pc3Npb24tYm94ZXMgaDQgew0KCWZvbnQtc2l6ZTogMjRweDsNCglsaW5lLWhlaWdodDogMzRweDsNCglmb250LXdlaWdodDogNjAwOw0KCWNvbG9yOiAjZmZmOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglib3R0b206IDMwcHg7DQoJbGVmdDogMzBweDsNCglyaWdodDogMzBweDsNCn0NCi5vdXItbWlzc2lvbi1ib3hlcyAuY29sOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpDQp9DQoub3VyLW1pc3Npb24tYm94ZXMgLmNvbDpob3ZlciBzcGFuLA0KLm91ci1taXNzaW9uLWJveGVzIC5jb2w6aG92ZXIgaDQgew0KCWNvbG9yOiAjZmJiZDE4Ow0KfQ0KLm91ci1taXNzaW9uLWJveGVzIC5jb2w6aG92ZXIgcCB7DQoJb3BhY2l0eTogMTsNCgl2aXNpYmlsaXR5OiB2aXNpYmxlOw0KfQ0KLm91ci1taXNzaW9uLmMtbHsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL291ci1taXNzaW9uLTIuanBnJyk7DQoJYmFja2dyb3VuZC1zaXplOmNvdmVyOw0KCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsNCn0NCi5vdXItbWlzc2lvbi5jLWwgLmxlYWQsIC5vdXItbWlzc2lvbi5jLWwgcC5sZWFkew0KCWZvbnQtc2l6ZToyNHB4OyANCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQowNy4gQkVORUZJVCBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmJlbmVmaXRzew0KCWJhY2tncm91bmQtaW1hZ2U6dXJsKC9pbWFnZXMvdHItY2lyY2xlLWJnLnBuZyk7IA0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IGNlbnRlcjsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDoxMDAlOyANCn0NCi5iZW5lZml0cy5tZXJjdXJ5LWxheW91dHsNCgliYWNrZ3JvdW5kLWltYWdlOm5vbmU7DQoJYmFja2dyb3VuZC1jb2xvcjojZjJmMmYyOw0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOjEwMCU7IA0KfQ0KLmJlbmVmaXRzLWJveGVzIC5pdGVtew0KCWJvcmRlci1yYWRpdXM6NnB4Ow0KCWJvcmRlcjoycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpOw0KCXBhZGRpbmc6MzBweDsNCgljdXJzb3I6cG9pbnRlcjsNCgljb2xvcjojYmJiYmJiOyANCgl0cmFuc2l0aW9uOmFsbCA1MDBtczsgDQoJZGlzcGxheTp0YWJsZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7CSANCn0NCi5iZW5lZml0cy1ib3hlcyAuaXRlbSAuYmYtaW1hZ2UsIC5iZW5lZml0cy1ib3hlcyAuaXRlbSAuYmYtZGV0YWlsc3sNCglkaXNwbGF5OnRhYmxlLWNlbGw7DQoJbWluLXdpZHRoOjEyMHB4Ow0KCXZlcnRpY2FsLWFsaWduOnRvcDsgDQp9DQouYmVuZWZpdHMtYm94ZXMgLml0ZW0gLmJmLWltYWdlew0KCXBhZGRpbmc6MHB4IDMwcHggMHB4IDBweDsgDQp9DQouYmVuZWZpdHMtYm94ZXMgLml0ZW0gaDN7DQoJZm9udC1zaXplOjI0cHg7IA0KCWNvbG9yOiNmZmZmZmY7IA0KfQ0KLmJlbmVmaXRzLWJveGVzIC5pdGVtOmhvdmVyew0KCWJvcmRlci1jb2xvcjojZmJiZDE3OyANCn0NCi5iZW5lZml0cy1ib3h7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQouYmVuZWZpdHMtYm94IGgzew0KCWNvbG9yOiMwMDAwMDA7DQoJZm9udC1zaXplOjI0cHg7ICANCn0NCi53aGl0ZS1zZWMgLmJlbmVmaXRzLWJveCBoM3sNCgljb2xvcjojZmZmZmZmOw0KfQ0KLmJlbmVmaXRzLWJveCAuYmYtaWNvbnsNCgltYXJnaW46MHB4IGF1dG8gMTVweDsNCglkaXNwbGF5OnRhYmxlOw0KCW1heC13aWR0aDoxMjBweDsNCgloZWlnaHQ6MTIwcHg7DQoJYm9yZGVyLXJhZGl1czo1MCU7DQoJYmFja2dyb3VuZDojMDAwMDAwOyAgIA0KfQ0KLmJlbmVmaXRzLmRpYW1vbmQtbGF5b3V0ew0KCWJhY2tncm91bmQtaW1hZ2U6bm9uZTsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouYmVuZWZpdC1ib3h7DQoJYmFja2dyb3VuZDojZmZmZmZmOw0KCXBhZGRpbmc6NTBweCAzMHB4Ow0KCW1hcmdpbjoxNXB4IDBweDsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zOw0KCWN1cnNvcjpwb2ludGVyOyANCn0NCi5iZW5lZml0LWJveDpob3ZlcnsNCgktd2Via2l0LWJveC1zaGFkb3c6IDZweCA4cHggMTVweCAxcHggcmdiYSgyMTgsIDE2MywgMTksIDAuNTgpOw0KCWJveC1zaGFkb3c6IDZweCA4cHggMTVweCAxcHggcmdiYSgyMTgsIDE2MywgMTksIDAuNTgpOw0KfQ0KLmJlbmVmaXQtYm94IC5iZW5lZml0LWljb257DQoJbWFyZ2luLWJvdHRvbToxNXB4OyANCn0NCi5iZW5lZml0LWJveCBwOmxhc3QtY2hpbGR7DQoJbWFyZ2luLWJvdHRvbTowcHg7IA0KfQ0KLmJlbmVmaXQtYm94IC50ZXh0IGg0ew0KCWNvbG9yOiMwMDAwMDA7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCgltYXJnaW4tYm90dG9tOjE1cHg7ICAgDQp9DQoubWVyY3VyeS1sYXlvdXQgLmJlbmVmaXQtYm94ew0KCWJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7DQoJcGFkZGluZzoxNXB4IDE1cHg7DQp9DQoubWVyY3VyeS1sYXlvdXQgLmJlbmVmaXQtYm94OmhvdmVyew0KCS13ZWJraXQtYm94LXNoYWRvdzpub25lOw0KCWJveC1zaGFkb3c6bm9uZTsNCn0NCg0KLndoaXRlLXNlYyAuYmVuZWZpdHMtYm94IHB7DQoJY29sb3I6I2JiYmJiYjsgCQ0KfQ0KLndoaXRlLXNlYyAuYmVuZWZpdHMtYm94IC5iZi1pY29uew0KCWJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyOjJweCBzb2xpZCAjZmJiZDE4Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo2cHg7DQoJYm9yZGVyLXJhZGl1czo2cHg7IA0KfQ0KDQouYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmVuZWZpdC1ib3h7DQoJaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZDogbm9uZTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglkaXNwbGF5OiBmbGV4Ow0KCWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsNCn0NCi5iYW5hZml0cy1saXN0LWl0ZW1zIC5iZW5lZml0LWJveDpob3ZlcnsNCgktd2Via2l0LWJveC1zaGFkb3c6bm9uZTsNCglib3gtc2hhZG93Om5vbmU7IA0KfQ0KLmJhbmFmaXRzLWNpcmNsZXsNCgloZWlnaHQ6NDQwcHg7DQoJd2lkdGg6NDQwcHg7DQoJYm9yZGVyOjhweCBzb2xpZCAjZmJiZDE4Ow0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOw0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCgltYXJnaW46IGF1dG87DQoJbWFyZ2luLWJvdHRvbTotMTUwcHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJcGFkZGluZzo2MHB4Ow0KCWJhY2tncm91bmQ6I2ZmZmZmZjsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7DQoJdHJhbnNmb3JtOiBzY2FsZSgwKTsNCgl0cmFuc2l0aW9uOmFsbCAxMDAwbXM7IA0KCWJvdHRvbTotMTAwcHg7IA0KfQ0KLnN0YXJ0LWFuaW1hdGlvbiAuYmFuYWZpdHMtY2lyY2xlew0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCgl0cmFuc2Zvcm06IHNjYWxlKDEpOw0KCXRyYW5zaXRpb246YWxsIDEwMDBtczsNCgl0cmFuc2l0aW9uLWRlbGF5OjEwMDBtczsgDQoJYm90dG9tOjBweDsNCn0NCg0KLmJhbmFmaXRzLWNpcmNsZTpiZWZvcmV7DQoJYm9yZGVyOjJweCBzb2xpZCAjZTBlMGUwOw0KCWhlaWdodDogNDUycHg7DQoJd2lkdGg6IDQ1MnB4Ow0KCWNvbnRlbnQ6ICIiOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiAtMTRweDsNCgl0b3A6IC0xNHB4Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7DQoJYm9yZGVyLXJhZGl1czo1MCU7ICAgIA0KfQ0KLmJlbmVmaXQtc2VjdGlvbi5wbGF0aW51bS1sYXlvdXR7DQoJb3ZlcmZsb3c6aGlkZGVuOyANCn0NCi5iYW5hZml0cy1jaXJjbGUgLmljb24gaW1new0KCW1heC13aWR0aDoyNzBweDsgDQoJZGlzcGxheTppbmxpbmUtYmxvY2s7IA0KfQ0KLmJhbmFmaXRzLWxpc3QtaXRlbXMgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHBvc2l0aW9uOnJlbGF0aXZlOw0KICAgIHBhZGRpbmctdG9wOjI0MHB4Ow0KfQ0KLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW0gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXgtd2lkdGg6MzE4cHg7DQogICAgbGVmdDogNTAlOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOjAgDQp9DQouYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmVuZWZpdC1ib3ggLnRleHQgaDR7DQoJbWFyZ2luLWJvdHRvbTogNXB4Ow0KCWZvbnQtc2l6ZToxLjRyZW07IA0KfQ0KLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJlbmVmaXQtYm94IC50ZXh0IHB7DQoJbGluZS1oZWlnaHQ6IDEuNDsJDQp9DQouYmVuZWZpdC1pY29uew0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYiggMjU1LCAyNTUsIDI1NSApOw0KICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7DQogIGJveC1zaGFkb3c6IDBweCAwcHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7DQogIHdpZHRoOjEwMHB4Ow0KICBoZWlnaHQ6MTAwcHg7DQogIHBhZGRpbmc6IDE4cHg7DQogIG1hcmdpbjoxNXB4IGF1dG8gMHB4OyANCn0NCi5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOmZpcnN0LWNoaWxkew0KCXRvcDozNTBweDsgDQoJd2lkdGg6MTAwJTsNCglsZWZ0OjBweDsgDQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1MCUpOw0KCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUwJSk7DQoJdHJhbnNpdGlvbjphbGwgMTIwMG1zIGVhc2U7IA0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsgDQp9DQouYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoNSl7DQoJdG9wOjM1MHB4OyANCgl3aWR0aDoxMDAlOw0KCXJpZ2h0OjBweDsgDQoJbGVmdDphdXRvOyANCgktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNTAlKTsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUwJSk7DQoJdHJhbnNpdGlvbjphbGwgMTIwMG1zIGVhc2U7IA0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsNCn0NCi5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCgzKXsNCgl0cmFuc2l0aW9uOmFsbCAxMjAwbXMgZWFzZTsgDQoJb3BhY2l0eTowOw0KCXZpc2liaWxpdHk6aGlkZGVuOw0KfQ0KLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDIpew0KCXRvcDoxNzBweDsgDQoJd2lkdGg6MTAwJTsNCglsZWZ0OjEwMHB4OyANCgktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTIwJSk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjAlKTsNCgl0cmFuc2l0aW9uOmFsbCAxMjAwbXMgZWFzZTsgDQoJb3BhY2l0eTowOw0KCXZpc2liaWxpdHk6aGlkZGVuOw0KfQ0KLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDQpew0KCXRvcDoxNzBweDsgDQoJd2lkdGg6MTAwJTsNCglyaWdodDoxMDBweDsNCglsZWZ0OmF1dG87IA0KCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEyMCUpOw0KCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjAlKTsNCgl0cmFuc2l0aW9uOmFsbCAxMjAwbXM7IA0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsNCn0NCi5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg0KSAuYmVuZWZpdC1ib3gsIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg1KSAuYmVuZWZpdC1ib3h7DQoJZGlzcGxheTogZmxleDsNCglmbGV4LWRpcmVjdGlvbjppbmhlcml0Ow0KCWZsZXgtd3JhcDogbm93cmFwOw0KCXdpZHRoOiAxMDAlOw0KCXRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsNCglhbGlnbi1pdGVtczogY2VudGVyOw0KDQp9DQouYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoNCkgLmJlbmVmaXQtaWNvbiwgLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDUpIC5iZW5lZml0LWljb257DQoJZmxleDogMCAwIDEwMHB4Ow0KCW1heC13aWR0aDogMTAwcHg7DQoJd2lkdGg6IDEwMCU7DQoJbWFyZ2luOjBweDsgDQp9DQouYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoNCkgLnRleHQsIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg1KSAudGV4dHsNCglmbGV4OiAwIDAgY2FsYygxMDAlIC0gMTAwcHgpOw0KCW1heC13aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpOw0KCXdpZHRoOiAxMDAlOw0KCW1hcmdpbjowcHg7DQoJcGFkZGluZy1sZWZ0OjE1cHg7IA0KfQ0KLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDIpIC5iZW5lZml0LWJveCwgLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06Zmlyc3QtY2hpbGQgLmJlbmVmaXQtYm94ew0KCWRpc3BsYXk6IGZsZXg7DQoJZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOw0KCWZsZXgtd3JhcDogbm93cmFwOw0KCXdpZHRoOiAxMDAlOw0KCXRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7DQoJYWxpZ24taXRlbXM6IGNlbnRlcjsNCg0KfQ0KLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDIpIC5iZW5lZml0LWljb24sIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOmZpcnN0LWNoaWxkIC5iZW5lZml0LWljb257DQoJZmxleDogMCAwIDEwMHB4Ow0KCW1heC13aWR0aDogMTAwcHg7DQoJd2lkdGg6IDEwMCU7DQoJbWFyZ2luOjBweDsgDQp9DQouYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoMikgLnRleHQsIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOmZpcnN0LWNoaWxkIC50ZXh0ew0KCWZsZXg6IDAgMCBjYWxjKDEwMCUgLSAxMDBweCk7DQoJbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7DQoJd2lkdGg6IDEwMCU7DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nLXJpZ2h0OjE1cHg7IA0KfQ0KLnN0YXJ0LWFuaW1hdGlvbiAuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpmaXJzdC1jaGlsZCB7DQoJdHJhbnNpdGlvbi1kZWxheToxNTAwbXM7DQoJb3BhY2l0eToxOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsgDQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KfQ0KLnN0YXJ0LWFuaW1hdGlvbiAuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoMikgew0KCXRyYW5zaXRpb24tZGVsYXk6MjAwMG1zOyANCglvcGFjaXR5OjE7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsNCn0NCi5zdGFydC1hbmltYXRpb24gLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDMpIHsNCgl0cmFuc2l0aW9uLWRlbGF5OjI1MDBtczsgDQoJb3BhY2l0eToxOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsNCn0NCi5zdGFydC1hbmltYXRpb24gLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDQpIHsNCgl0cmFuc2l0aW9uLWRlbGF5OjMwMDBtczsgDQoJb3BhY2l0eToxOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsNCgktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQp9DQouc3RhcnQtYW5pbWF0aW9uIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg1KSB7DQoJdHJhbnNpdGlvbi1kZWxheTozNTAwbXM7IA0KCW9wYWNpdHk6MTsNCgl2aXNpYmlsaXR5OnZpc2libGU7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KfQ0KLm1lcmN1cnktbGF5b3V0IC5iZW5lZml0LWljb257DQoJLXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7DQoJYm94LXNoYWRvdzpub25lOw0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJdHJhbnNpdGlvbjphbGwgNDAwbXM7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTozMHB4Ow0KCXdpZHRoOjExNnB4Ow0KCWhlaWdodDoxMTZweDsNCglwYWRkaW5nOjIycHg7ICAgDQp9DQoubWVyY3VyeS1sYXlvdXQgLmJlbmVmaXQtaWNvbjpiZWZvcmV7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTsgDQoJYm9yZGVyLXJhZGl1czo1MCU7DQoJYm9yZGVyOjJweCBkYXNoZWQgIzAwMDsNCgljb250ZW50OiIiOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MCU7DQoJbGVmdDo1MCU7DQoJLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpOyANCgl0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpOw0KCXdpZHRoOjEzNnB4Ow0KCWhlaWdodDoxMzZweDsgICANCn0NCi5tZXJjdXJ5LWxheW91dCAuYmVuZWZpdC1pY29uOmhvdmVyew0KCWJhY2tncm91bmQtY29sb3I6I2ZiYmQxODsgDQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDguIFRPS0VOIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoudG9rZW4tc2FsZSB7DQoJY2xlYXI6IGJvdGg7DQoJcGFkZGluZzogOTBweCAwOw0KfQ0KLnNhbGUtYm94LWlubmVyIHsNCglib3JkZXI6IDNweCBzb2xpZCAjZmJiZDE4Ow0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgljb2xvcjogI2ZmZjsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDsNCglib3JkZXItcmFkaXVzOiA3cHg7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgljdXJzb3I6cG9pbnRlcjsNCn0NCi5zYWxlLWJveC1oZWFkIHsNCgliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KCXBhZGRpbmc6IDE1cHggNXB4Ow0KfQ0KLnNhbGUtYm94LWhlYWQgaDQgew0KCWZvbnQtc2l6ZTogMjRweDsNCgltYXJnaW4tYm90dG9tOiAwOw0KCWxpbmUtaGVpZ2h0OiAyOHB4Ow0KCWZvbnQtd2VpZ2h0OiA3MDA7DQp9DQouc2FsZS1ib3gtZGVzYyB7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDIwcHggMTBweDsNCglsaXN0LXN0eWxlOiBub25lOw0KCWNvbG9yOiAjODA4MDgwOw0KfQ0KLnNhbGUtYm94LWRlc2Mgc3Ryb25nIHsNCglkaXNwbGF5OiBibG9jazsNCgljb2xvcjogIzFkMWQxZDsNCglmb250LXNpemU6IDE4cHg7DQp9DQouc2FsZS1ib3gtZGVzYyBsaSB7DQoJbWFyZ2luLXRvcDogMTVweDsNCn0NCi5zYWxlLWJveC1kZXNjIGxpOmZpcnN0LWNoaWxkIHsNCgltYXJnaW4tdG9wOiAwOw0KfQ0KLnNhbGUtYm94LWRlc2MgbGk6Zmlyc3QtY2hpbGQgc3BhbiB7DQoJY29sb3I6ICNmYmJkMTg7DQp9DQouc2FsZS1ib3g6aG92ZXIgLnNhbGUtYm94LWlubmVyIHsNCgktd2Via2l0LWJveC1zaGFkb3c6IDZweCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTMpOw0KCWJveC1zaGFkb3c6IDZweCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTMpOw0KfQ0KLnNhbGUtYm94Om50aC1jaGlsZCgyKSAuc2FsZS1ib3gtaGVhZCB7DQoJYmFja2dyb3VuZDogI2Y2YWEzNTsNCn0NCi5zYWxlLWJveDpudGgtY2hpbGQoMikgLnNhbGUtYm94LWRlc2MgbGk6Zmlyc3QtY2hpbGQgc3BhbiB7DQoJY29sb3I6ICNmNmFhMzU7DQp9DQouc2FsZS1ib3g6bnRoLWNoaWxkKDIpIC5zYWxlLWJveC1pbm5lciB7DQoJYm9yZGVyLWNvbG9yOiAjZjZhYTM1Ow0KfQ0KLnNhbGUtYm94Om50aC1jaGlsZCgzKSAuc2FsZS1ib3gtaW5uZXIgew0KCWJvcmRlci1jb2xvcjogI2YwOTMxZQ0KfQ0KLnNhbGUtYm94Om50aC1jaGlsZCgzKSAuc2FsZS1ib3gtaGVhZCB7DQoJYmFja2dyb3VuZDogI2YwOTMxZTsNCn0NCi5zYWxlLWJveDpudGgtY2hpbGQoMykgLnNhbGUtYm94LWRlc2MgbGk6Zmlyc3QtY2hpbGQgc3BhbiB7DQoJY29sb3I6ICNmMDkzMWU7DQp9DQoudG9rZW4tc2FsZS1ib3h7DQoJYmFja2dyb3VuZDojZmJiZDE4Ow0KCXBhZGRpbmc6MzBweDsNCglib3JkZXItcmFkaXVzOjBweDsNCgljb2xvcjojMWQxZDFkOw0KfQ0KLnRva2VuLXNhbGUtYm94IHNwYW4sIC50b2tlbi1zYWxlLWJveCBwew0KCWNvbG9yOiMxZDFkMWQ7DQp9DQoudG9rZW4tc2FsZS1ib3ggdWwgew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQp9DQoudG9rZW4tc2FsZS1ib3ggc3BhbiB7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWZvbnQtd2VpZ2h0OiA3MDA7DQp9DQoudG9rZW4tcHJvZ3Jlc3N7DQoJcGFkZGluZzoxNXB4IDBweCAwcHg7IA0KfQ0KLnN0YWdlLWRldGFpbHsNCgltYXJnaW4tYm90dG9tOjVweDsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCgljb2xvcjojNjA2MDYwOw0KCXBhZGRpbmc6MHB4IDBweDsNCglkaXNwbGF5OnRhYmxlOw0KCXdpZHRoOjEwMCU7ICANCn0NCi5zdGFnZS1kZXRhaWwgc3BhbnsNCgl3aWR0aDozMy4zMyU7IA0KCWRpc3BsYXk6dGFibGUtY2VsbDsNCglwYWRkaW5nOjBweCAxMHB4Ow0KCWZvbnQtc2l6ZToxNHB4OyANCn0NCi5zdGFnZS1kZXRhaWwgc3Bhbi5zYWxlLWRhdGV7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQouc3RhZ2UtZGV0YWlsIHNwYW4udG9rZW4tZGlzY291bnR7DQoJdGV4dC1hbGlnbjpyaWdodDsNCn0NCi50b2tlbi1wcm9ncmVzcyAucHJvZ3Jlc3N7DQoJaGVpZ2h0OiAxMnB4Ow0KCWJvcmRlci1yYWRpdXM6IDhweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOw0KfQ0KLnRva2VuLXByb2dyZXNzIC5wcm9ncmVzcy1iYXJ7DQoJYm9yZGVyLXJhZGl1czogOHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZiYmQxODsNCn0NCi50b2tlbi1wcm9ncmVzcy5zdGFnLTEgLnByb2dyZXNzLWJhcnsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmQ3NmU7DQp9DQoudG9rZW4tcHJvZ3Jlc3Muc3RhZy0yIC5wcm9ncmVzcy1iYXJ7DQoJYmFja2dyb3VuZC1jb2xvcjojZmJiZDE4Ow0KfQ0KLnRva2VuLXByb2dyZXNzLnN0YWctMyAucHJvZ3Jlc3MtYmFyew0KCWJhY2tncm91bmQtY29sb3I6I2Y2YWEzNTsNCn0NCi50b2tlbi1wcm9ncmVzcy5zdGFnLTQgLnByb2dyZXNzLWJhcnsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmMDkzMWU7DQp9DQoudG9rZW4tcHJvZ3Jlc3Muc3RhZy01IC5wcm9ncmVzcy1iYXJ7DQoJYmFja2dyb3VuZC1jb2xvcjojZDQ3YzBjOw0KfQ0KLnRva2VuLXByb2dyZXNzIC5kYXktbGVmdHsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJZm9udC1zaXplOjEzcHg7DQoJdGV4dC1hbGlnbjpyaWdodDsNCgl3aWR0aDoxMDAlOw0KCWNvbG9yOiNmYmJkMTg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsgDQp9DQoudG9rZW4tcHJvZ3Jlc3Muc3RhZy0xIC5kYXktbGVmdHsNCgljb2xvcjojZmZkNzZlOw0KfQ0KLnRva2VuLXByb2dyZXNzLnN0YWctMiAuZGF5LWxlZnR7DQoJY29sb3I6I2ZiYmQxODsNCn0NCi50b2tlbi1wcm9ncmVzcy5zdGFnLTMgLmRheS1sZWZ0ew0KCWNvbG9yOiNmNmFhMzU7DQp9DQoudG9rZW4tcHJvZ3Jlc3Muc3RhZy00IC5kYXktbGVmdHsNCgljb2xvcjojZjA5MzFlOw0KfQ0KLnRva2VuLXByb2dyZXNzLnN0YWctNSAuZGF5LWxlZnR7DQoJY29sb3I6I2Q0N2MwYzsNCn0NCi53ZS1hY2NlcHQtdGhpc3sNCgltYXJnaW46MTVweCAwcHg7IA0KfQ0KLndlLWFjY2VwdC10aGlzIGg2IHNwYW57DQoJY29sb3I6I2ZiYmQxODsNCglmb250LXdlaWdodDpib2xkOyANCn0NCi8qdG9rZW4gc3RydWN0dXJlKi8NCi50b2tlbi1zdHJ1Y3R1cmUgew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiAxMDAlOw0KCWNsZWFyOiBib3RoDQp9DQoudG9rZW4tc3RydWMtYm90dG9tIHsNCgliYWNrZ3JvdW5kOiAjMDMwMzAzOw0KCWNvbG9yOiAjZmZmOw0KCWxpbmUtaGVpZ2h0OiAyNnB4Ow0KfQ0KLnRva2VuLXN0cnVjLWxlZnQgdWwgew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQp9DQoudG9rZW4tc3RydWMtbGVmdCBwIHsNCgljb2xvcjogI2ZiYmQxODsNCn0NCi50b2tlbi1zdHJ1Yy1sZWZ0IHNwYW4gew0KCWZvbnQtc2l6ZTogMThweDsNCglmb250LXdlaWdodDogNzAwOw0KfQ0KLmRvdWdobnV0IHsNCgloZWlnaHQ6IDI3MHB4Ow0KCWRpc3BsYXk6IGZsZXg7DQoJYWxpZ24taXRlbXM6IGNlbnRlcjsNCn0NCi5kb3VnaG51dENoYXJ0Q29udGFpbmVyIHsNCgl3aWR0aDogMjcwcHg7DQoJbWFyZ2luLXJpZ2h0OiAzMHB4Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5kb3VnaG51dCAuY2hhcnQtbGVnZW5kIHsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMTk1cHg7DQoJbGlzdC1zdHlsZS10eXBlOiBub25lOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgktbW96LXBhZGRpbmctc3RhcnQ6IDA7DQoJcGFkZGluZy1sZWZ0OiAwOw0KfQ0KLmRvdWdobnV0IC5jaGFydC1sZWdlbmQgdWwgew0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KfQ0KLmRvdWdobnV0IC5jaGFydC1sZWdlbmQgbGkgew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJdGV4dC1hbGlnbjogbGVmdDsNCglkaXNwbGF5OiB0YWJsZTsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KfQ0KLmRvdWdobnV0IC5jaGFydC1sZWdlbmQgbGkgKyBsaSB7DQoJbWFyZ2luLXRvcDogMTZweDsNCn0NCi5kb3VnaG51dCAuY2hhcnQtbGVnZW5kIGxpIHNwYW4gew0KCWRpc3BsYXk6IHRhYmxlLWNlbGw7DQp9DQouZG91Z2hudXQgLmNoYXJ0LWxlZ2VuZCBsaSAubGluZS1sZWdlbmQtaWNvbiwNCi5kb3VnaG51dCAuY2hhcnQtbGVnZW5kIGxpIC5kb3VnaG51dC1sZWdlbmQtaWNvbiB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWZsb2F0OiBsZWZ0Ow0KCWxlZnQ6IDA7DQoJdG9wOiAycHg7DQoJd2lkdGg6IDE1cHg7DQoJaGVpZ2h0OiAxNXB4Ow0KCWJvcmRlci1yYWRpdXM6IDNweDsNCn0NCi5kb3VnaG51dCAuY2hhcnQtbGVnZW5kIGxpIC5kb3VnaG51dC1sZWdlbmQtdGV4dCwNCi5kb3VnaG51dCAuY2hhcnQtbGVnZW5kIGxpIC5saW5lLWxlZ2VuZC10ZXh0IHsNCglwYWRkaW5nLWxlZnQ6IDEwcHg7DQoJZm9udC13ZWlnaHQ6IDcwMDsNCn0NCi5zYWxlLWNoYXJ0LXZpZXd7DQoJcGFkZGluZzogMzBweDsNCgliYWNrZ3JvdW5kOiNlZWVlZWU7DQp9DQoudG9rZW4tYWxsb2NhdGlvbi1ib3ggew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBib3gtc2hhZG93OiAwcHggMTBweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMzkpOw0KICAgIGJhY2tncm91bmQ6ICMwMDA7DQoJd2lkdGg6IDEwMCU7DQoJbWFyZ2luOiAwcHggMHB4IDUwcHg7DQoJYm9yZGVyLXJhZGl1czogMThweDsNCglwYWRkaW5nOjMwcHggMDsNCglkaXNwbGF5OiAtd2Via2l0LWJveDsNCglkaXNwbGF5OiAtbXMtZmxleGJveDsNCglkaXNwbGF5OiBmbGV4Ow0KCS1tcy1mbGV4LXdyYXA6IHdyYXA7DQoJZmxleC13cmFwOiB3cmFwOw0KCWNvbG9yOiNmZmZmZmY7DQp9DQoudG9rZW4tYWxsb2NhdGlvbi1ib3ggaDMgew0KICAgIGZvbnQtc2l6ZTogMzJweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyNXB4Ow0KfQ0KLnRva2VuLXNhbGUtbGVmdHsNCgl3aWR0aDogMTAwJTsNCgktd2Via2l0LWJveC1mbGV4OiAwOw0KCS1tcy1mbGV4OiAwIDAgNDAlOw0KCWZsZXg6IDAgMCA0MCU7DQoJbWF4LXdpZHRoOiA0MCU7DQoJcGFkZGluZzowcHggMzBweDsgDQp9DQoudG9rZW4tc2FsZS1yaWdodHsNCgktd2Via2l0LWJveC1mbGV4OiAwOw0KCS1tcy1mbGV4OiAwIDAgNjAlOw0KCWZsZXg6IDAgMCA2MCU7DQoJbWF4LXdpZHRoOiA2MCU7DQoJcGFkZGluZzowcHggMzBweDsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KLnRva2VuLWFsbG9jYXRpb24tYm94IC5zYWxlLWxpc3Qgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMzIlOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgdmVydGljYWwtYWxpZ246IHRvcDsNCiAgICBtYXJnaW46MTVweCAwcHg7DQogICAgcGFkZGluZzowcHggMTBweDsgDQp9DQoudG9rZW4tYWxsb2NhdGlvbi1ib3ggLnNhbGUtbGlzdCBoNHsNCglmb250LXNpemU6MThweDsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQp9DQoudG9rZW4tYWxsb2NhdGlvbi1ib3ggLnNhbGUtbGlzdCAucHJpY2UtdGFnew0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCglmb250LXNpemU6MThweDsgIA0KCWxpbmUtaGVpZ2h0OjEuODsgDQp9DQoudG9rZW4tYWxsb2NhdGlvbi1ib3ggLnNhbGUtbGlzdCAucHJpY2UtdGFnIHNwYW57DQoJY29sb3I6I2ZiYmQxODsNCglkaXNwbGF5OmJsb2NrOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7ICANCn0NCi5saXZlZmVlZC1saXN0ew0KCWxpc3Qtc3R5bGU6bm9uZTsNCgltYXJnaW46MHB4Ow0KCXBhZGRpbmc6MHB4OyAgIA0KfQ0KLmxpdmVmZWVkLWxpc3QgbGl7DQoJZGlzcGxheTpibG9jazsgDQp9DQoubGl2ZWZlZWQtbGlzdCBsaSBzcGFuew0KCWNvbG9yOiNmYmJkMTg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsgIA0KfQ0KLmRpYW1vbmQtbGF5b3V0LnRva2VuLXNhbGV7DQoJYmFja2dyb3VuZC1pbWFnZTp1cmwoL2ltYWdlcy9iZy0yLmpwZyk7IA0KCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGJvdHRvbTsNCgliYWNrZ3JvdW5kLXNpemU6MTAwJSBhdXRvOw0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgIA0KfQ0KLmRpYW1vbmQtbGF5b3V0IC50b2tlbi1hbGxvY2F0aW9uLWJveHsNCgliYWNrZ3JvdW5kOiNmYmJkMTg7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7DQoJYm9yZGVyLXJhZGl1czowOw0KCS13ZWJraXQtYm94LXNoYWRvdzpub25lOw0KCWJveC1zaGFkb3c6bm9uZTsNCgljb2xvcjojMDAwMDAwOyANCglwYWRkaW5nOiA1MHB4IDE1cHg7DQoJbWFyZ2luLWJvdHRvbToyMHB4OyANCn0NCi5kaWFtb25kLWxheW91dCAudG9rZW4tYWxsb2NhdGlvbi1ib3ggLnRva2VuLXNhbGUtbGVmdHsNCgktbXMtZmxleDogMCAwIDQwJTsNCglmbGV4OiAwIDAgMTAwJTsNCgltYXgtd2lkdGg6IDEwMCU7DQp9DQouZGlhbW9uZC1sYXlvdXQgLnRva2VuLWFsbG9jYXRpb24tYm94IC50b2tlbi1zYWxlLXJpZ2h0ew0KCS1tcy1mbGV4OiAwIDAgNDAlOw0KCWZsZXg6IDAgMCAxMDAlOw0KCW1heC13aWR0aDogMTAwJTsNCn0NCi5kaWFtb25kLWxheW91dCAudG9rZW4tYWxsb2NhdGlvbi1ib3ggLnJvd3sNCgltYXJnaW46MHB4OyANCn0NCi5kaWFtb25kLWxheW91dCAudG9rZW4tYWxsb2NhdGlvbi1ib3ggLnNhbGUtbGlzdHsNCglwYWRkaW5nOiAwcHggMHB4IDMwcHg7DQoJbWFyZ2luOjBweCAwcHggMzBweCAwcHg7DQoJYm9yZGVyLWJvdHRvbToycHggc29saWQgI2RkYTIwNDsgDQp9DQouZGlhbW9uZC1sYXlvdXQgLnNhbGUtY2hhcnQtdmlld3sNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7DQoJcGFkZGluZzo1MHB4IDMwcHg7IA0KfQ0KLmRpYW1vbmQtbGF5b3V0IC5zYWxlLWNoYXJ0LXZpZXcgKyAuc2FsZS1jaGFydC12aWV3ew0KCW1hcmdpbi10b3A6MzBweDsgDQp9DQouZGlhbW9uZC1sYXlvdXQgLnRva2VuLWFsbG9jYXRpb24tYm94IC5zYWxlLWxpc3QgLnByaWNlLXRhZyBzcGFuew0KCWNvbG9yOiMwMDAwMDA7IA0KfQ0KLmRpYW1vbmQtbGF5b3V0IC50b2tlbi1hbGxvY2F0aW9uLWJveCAuc2FsZS1saXN0IGg0ew0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJbWFyZ2luLWJvdHRvbTo1cHg7DQp9DQouZGlhbW9uZC1sYXlvdXQgLnRva2VuLWFsbG9jYXRpb24tYm94IC5zYWxlLWxpc3QgLnByaWNlLXRhZ3sNCglsaW5lLWhlaWdodDogMS41Ow0KfQ0KLmRpYW1vbmQtbGF5b3V0IC50b2tlbi1hbGxvY2F0aW9uLWJveCAgLnJvdzpsYXN0LWNoaWxkIC5zYWxlLWxpc3R7DQoJd2lkdGg6YXV0bzsNCglwYWRkaW5nOjA7DQoJbWFyZ2luOjBweDsNCglib3JkZXI6bm9uZTsgDQp9DQouZGlhbW9uZC1sYXlvdXQgLmxpdmVmZWVkLWxpc3QgbGl7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQouZGlhbW9uZC1sYXlvdXQgLmxpdmVmZWVkLWxpc3QgbGk6bm90KDpsYXN0LWNoaWxkKTphZnRlcnsNCgljb250ZW50OiJ8IjsNCgltYXJnaW46MHB4IDEwcHg7IA0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOyANCn0NCi5kaWFtb25kLWxheW91dCAubGl2ZWZlZWQtbGlzdCBsaSBzcGFuew0KCWNvbG9yOiMwMDA7IA0KfQ0KLmRpYW1vbmQtbGF5b3V0ICNjbG9jayBsaSBzcGFuew0KCWNvbG9yOiAjMDAwOw0KCWJvcmRlci1jb2xvcjojZTFhNTA1Ow0KfQ0KLmRpYW1vbmQtbGF5b3V0ICNjbG9jayBsaSArIGxpOjpiZWZvcmUsLmRpYW1vbmQtbGF5b3V0ICNjbG9jayBsaSArIGxpOjphZnRlcnsNCgliYWNrZ3JvdW5kOiNlMWE1MDU7IA0KfQ0KLnRva2VuLXNhbGUgLmJ1dHRvbi13cmFwcGVyIC5idG57DQoJbWluLXdpZHRoOmNhbGMoNTAlIC0gMTdweCk7IA0KfQ0KdWwuYWxsb2NhdGlvbi1saXN0IHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMThweDsNCn0NCnVsLmFsbG9jYXRpb24tbGlzdCBsaXsNCgltYXJnaW4tYm90dG9tOjEwcHg7IA0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctbGVmdDozNXB4OyAgDQp9DQp1bC5hbGxvY2F0aW9uLWxpc3Qgc3BhbnsNCgltaW4td2lkdGg6NjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJY29sb3I6IzAwMDAwMDsgIA0KfQ0KdWwuYWxsb2NhdGlvbi1saXN0IGxpOmJlZm9yZXsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJaGVpZ2h0OjE2cHg7DQoJd2lkdGg6MTZweDsNCgljb250ZW50OiIiOw0KCWJvcmRlci1yYWRpdXM6MTZweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjA7DQoJdG9wOjZweDsgICAgDQp9DQp1bC5hbGxvY2F0aW9uLWxpc3QgbGk6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQ6I2U1NTM0ODt9DQp1bC5hbGxvY2F0aW9uLWxpc3QgbGk6bnRoLWNoaWxkKDIpOmJlZm9yZXtiYWNrZ3JvdW5kOiM1OGExNDg7fQ0KdWwuYWxsb2NhdGlvbi1saXN0IGxpOm50aC1jaGlsZCgzKTpiZWZvcmV7YmFja2dyb3VuZDojMjM1ODhlO30NCnVsLmFsbG9jYXRpb24tbGlzdCBsaTpudGgtY2hpbGQoNCk6YmVmb3Jle2JhY2tncm91bmQ6I2YwNmI5Yjt9DQp1bC5hbGxvY2F0aW9uLWxpc3QgbGk6bnRoLWNoaWxkKDUpOmJlZm9yZXtiYWNrZ3JvdW5kOiMyZGIwY2Q7fQ0KdWwuYWxsb2NhdGlvbi1saXN0IGxpOm50aC1jaGlsZCg2KTpiZWZvcmV7YmFja2dyb3VuZDojNzY5YmVmO30NCnVsLmFsbG9jYXRpb24tbGlzdCBsaTpudGgtY2hpbGQoNyk6YmVmb3Jle2JhY2tncm91bmQ6IzMwMzAzMDt9DQoudG9rZW4tYWxsb2NhdGlvbi1hbmltYXRpb257DQoJcGFkZGluZzo5MHB4IDBweDsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50ew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXdpZHRoOjQ4MHB4Ow0KCWhlaWdodDo0ODBweDsNCglwYWRkaW5nOjA7DQoJbWFyZ2luOjA7ICANCgl6LWluZGV4OiAxMDAwMDA7DQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCXJpZ2h0OiAwOw0KCXdpZHRoOiA1MCU7DQoJaGVpZ2h0OiA1MCU7DQoJdHJhbnNmb3JtLW9yaWdpbjogMCUgMTAwJTsNCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGkgc3BhbnsNCiAgCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgCWJhY2tncm91bmQ6I2ZiYmQxODsNCiAgCXBhZGRpbmc6OHB4IDE1cHg7DQogIAl6LWluZGV4OjE7DQogIAljb2xvcjogI2ZmZjsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCWxlZnQ6IC0xMDBweDsNCgl0b3A6IC03MHB4Ow0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsgDQoJdHJhbnNpdGlvbjphbGwgMzAwbXM7ICANCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6Om1hcmtlcnsNCglkaXNwbGF5Om5vbmU7IA0KCWNvbG9yOnRyYW5zcGFyZW50Ow0KfQ0KLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpmaXJzdC1jaGlsZCB7DQoJdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQoJYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmJiZDE4Ow0KCXotaW5kZXg6MTsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCgyKSB7DQoJdHJhbnNmb3JtOiByb3RhdGUoNTEuNDI4NWRlZyk7DQoJYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmJiZDE4Ow0KCXotaW5kZXg6MjsNCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDMpIHsNCgl0cmFuc2Zvcm06IHJvdGF0ZSgxMDIuODU3ZGVnKTsNCglib3JkZXItbGVmdDogMnB4IHNvbGlkICNmYmJkMTg7DQoJei1pbmRleDozOw0KfQ0KLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoNCkgew0KCXRyYW5zZm9ybTogcm90YXRlKDE1NC4yODU1ZGVnKTsNCglib3JkZXItbGVmdDogMnB4IHNvbGlkICNmYmJkMTg7DQoJei1pbmRleDo0Ow0KfQ0KLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoNSkgew0KCXRyYW5zZm9ybTogcm90YXRlKDIwNS43MTRkZWcpOw0KCWJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZiYmQxODsNCgl6LWluZGV4OjU7DQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg2KSB7DQoJdHJhbnNmb3JtOiByb3RhdGUoMjU3LjE0MjVkZWcpOw0KCWJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZiYmQxODsNCgl6LWluZGV4OjY7DQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg3KSB7DQoJdHJhbnNmb3JtOiByb3RhdGUoMzA4LjU3MTBkZWcpIHNrZXdZKC02MGRlZyk7DQoJYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmJiZDE4Ow0KCXotaW5kZXg6NzsNCg0KfQ0KLm1haW4tY2lyY2xlLW9uZXsNCgl3aWR0aDo0ODBweDsNCgloZWlnaHQ6NDgwcHg7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJYm9yZGVyOjJweCBzb2xpZCAjZmJiZDE4OyANCglib3JkZXItcmFkaXVzOjQ4MHB4Ow0KCW1hcmdpbjphdXRvOyANCn0NCi5tYWluLWNpcmNsZS1vbmUgLmNlbnRlci1wb2ludHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6NTAlOw0KCWxlZnQ6NTAlOw0KCW1heC13aWR0aDoxNjBweDsgICAgDQoJdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgDQoJei1pbmRleDogMTAwMDAwOw0KfQ0KLm1haW4tY2lyY2xlLW9uZTpiZWZvcmV7DQoJd2lkdGg6MjQwcHg7DQoJaGVpZ2h0OjI0MHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWJvcmRlcjoycHggc29saWQgI2ZiYmQxODsgDQoJYm9yZGVyLXJhZGl1czoyNDBweDsgDQoJY29udGVudDoiIjsNCgl0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpOw0KCXRvcDo1MCU7DQoJbGVmdDo1MCU7DQp9DQoubWFpbi1jaXJjbGUtb25lOmFmdGVyew0KCXdpZHRoOjM2MHB4Ow0KCWhlaWdodDozNjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglib3JkZXI6MnB4IHNvbGlkICNmYmJkMTg7IA0KCWJvcmRlci1yYWRpdXM6MzYwcHg7IA0KCWNvbnRlbnQ6IiI7DQoJdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsNCgl0b3A6NTAlOw0KCWxlZnQ6NTAlOw0KfQ0KLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaSAucG9pbnR7DQoJYmFja2dyb3VuZDojZmJiZDE4Ow0KCWhlaWdodDoyMHB4Ow0KCXdpZHRoOjIwcHg7DQoJY29udGVudDoiIjsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6LTEwcHg7DQoJbGVmdDotMTBweDsNCglib3JkZXItcmFkaXVzOjEwMHB4OyANCgljdXJzb3I6IHBvaW50ZXI7ICAgIA0KfQ0KLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaSAucG9pbnQ6aG92ZXIgKyBzcGFuLCAuYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpLmhvdmVyIC5wb2ludCArIHNwYW57DQoJb3BhY2l0eToxOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg3KSAucG9pbnR7DQoJaGVpZ2h0OjMwcHg7DQoJd2lkdGg6MzBweDsNCgl0b3A6LTE1cHg7DQoJbGVmdDotMTVweDsNCgl0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBza2V3WSg2MGRlZyk7DQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg3KSAucG9pbnQ6aG92ZXIsIC5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDcpLmhvdmVyIC5wb2ludHsNCgliYWNrZ3JvdW5kOiMzMDMwMzA7DQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg2KSAucG9pbnQ6aG92ZXIsIC5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDYpLmhvdmVyIC5wb2ludHsNCgliYWNrZ3JvdW5kOiM3NjliZWY7DQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg1KSAucG9pbnR7DQoJaGVpZ2h0OjQ4cHg7DQoJd2lkdGg6NDhweDsNCgl0b3A6LTI0cHg7DQoJbGVmdDotMjRweDsNCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDUpIC5wb2ludDpob3ZlciwgLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoNSkuaG92ZXIgLnBvaW50ew0KCWJhY2tncm91bmQ6IzJkYjBjZDsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg0KSAucG9pbnR7DQoJaGVpZ2h0OjYwcHg7DQoJd2lkdGg6NjBweDsNCgl0b3A6LTMwcHg7DQoJbGVmdDotMzBweDsNCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDQpIC5wb2ludDpob3ZlciwgLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoNCkuaG92ZXIgLnBvaW50ew0KCWJhY2tncm91bmQ6I2YwNmI5YjsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCgyKSAucG9pbnR7DQoJaGVpZ2h0OjgwcHg7DQoJd2lkdGg6ODBweDsNCgl0b3A6LTQwcHg7DQoJbGVmdDotNDBweDsNCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDIpIC5wb2ludDpob3ZlciwgLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoMikuaG92ZXIgLnBvaW50ew0KCWJhY2tncm91bmQ6IzU4YTE0ODsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCgzKSAucG9pbnR7DQoJaGVpZ2h0OjkwcHg7DQoJd2lkdGg6OTBweDsNCgl0b3A6LTQ1cHg7DQoJbGVmdDotNDVweDsNCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDMpIC5wb2ludDpob3ZlciwgLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoMykuaG92ZXIgLnBvaW50ew0KCWJhY2tncm91bmQ6IzIzNTg4ZTsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOmZpcnN0LWNoaWxkIC5wb2ludHsNCgloZWlnaHQ6NTBweDsNCgl3aWR0aDo1MHB4Ow0KCXRvcDotMjVweDsNCglsZWZ0Oi0yNXB4Ow0KfQ0KDQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOmZpcnN0LWNoaWxkIC5wb2ludDpob3ZlciwgLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpmaXJzdC1jaGlsZC5ob3ZlciAucG9pbnR7DQoJYmFja2dyb3VuZDogI2U1NTM0ODsNCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6Zmlyc3QtY2hpbGQgc3BhbnsNCgliYWNrZ3JvdW5kOiAjZTU1MzQ4Ow0KfQ0KLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoNykgc3BhbnsNCgl0cmFuc2Zvcm06cm90YXRlKDEzMS41ZGVnKSBza2V3WSgtNjBkZWcpOw0KCWJhY2tncm91bmQ6IzMwMzAzMDsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCgyKSBzcGFuew0KCXRyYW5zZm9ybTogcm90YXRlKDMwOC41OWRlZyk7DQoJdG9wOiAtNjZweDsNCglsZWZ0OiAtMTQwcHg7DQoJYmFja2dyb3VuZDojNThhMTQ4Ow0KfQ0KLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoMykgc3BhbnsNCgl0cmFuc2Zvcm06IHJvdGF0ZSgyNTcuMTZkZWcpOw0KCXRvcDogLTUwcHg7DQoJbGVmdDogLTMwcHg7DQoJYmFja2dyb3VuZDojMjM1ODhlOyANCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDQpIHNwYW57DQoJdHJhbnNmb3JtOiByb3RhdGUoMjA1LjhkZWcpOw0KCXRvcDogLTkwcHg7DQoJbGVmdDogLTcwcHg7DQoJYmFja2dyb3VuZDojZjA2YjliOyANCn0NCi5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDUpIHNwYW57DQoJdHJhbnNmb3JtOiByb3RhdGUoMTU0LjNkZWcpOw0KCWxlZnQ6IC0xMjBweDsNCgl0b3A6IC03MHB4Ow0KCWJhY2tncm91bmQ6IzJkYjBjZDsgDQp9DQouYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg2KSBzcGFuew0KCXRyYW5zZm9ybTogcm90YXRlKDEwMi45ZGVnKTsNCglsZWZ0OiAtMTEwcHg7DQoJdG9wOiAtMzBweDsNCgliYWNrZ3JvdW5kOiM3NjliZWY7IA0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA5LiBUSU1FTElORSBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLnJvYWRtYXAtc2VjIHsNCgl3aWR0aDogMTAwJTsNCgljbGVhcjogYm90aDsNCglib3JkZXItdG9wOiA1cHggc29saWQgI2ZiYmQxODsNCgliYWNrZ3JvdW5kLWltYWdlOnVybCgvaW1hZ2VzL21hcC1iZy5wbmcpOyANCgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7DQoJYmFja2dyb3VuZC1jb2xvcjojMDAwMDAwOw0KCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyOw0KCWJhY2tncm91bmQtc2l6ZToxMDAlIGF1dG87IA0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KLnJvYWRtYXAtc2xpZGVyIHsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJY29sb3I6ICNmZmY7DQoJbGluZS1oZWlnaHQ6IDIxcHg7DQoJbWFyZ2luLXRvcDogNTBweDsNCgljbGVhcjogYm90aDsNCgl3aWR0aDogMTAwJTsNCn0NCi5yb2FkbWFwLXNsaWRlciAub3dsLWl0ZW0gc3BhbiB7DQoJY29sb3I6ICNmYmJkMTg7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWxpbmUtaGVpZ2h0OiAyOHB4Ow0KCWZvbnQtd2VpZ2h0OiA3MDA7DQoJbWFyZ2luLWJvdHRvbTogOTBweDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoucm9hZG1hcC1zbGlkZXIgLm93bC1pdGVtIHNwYW46YmVmb3JlIHsNCgljb250ZW50OiAiIjsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWxlZnQ6IDA7DQoJcmlnaHQ6IDA7DQoJdG9wOiA3N3B4Ow0KCWJhY2tncm91bmQ6ICNmYmJkMTg7DQoJd2lkdGg6IDE4cHg7DQoJaGVpZ2h0OiAxOHB4Ow0KCW1hcmdpbjogYXV0bzsNCgltYXJnaW4tdG9wOiAtMTVweDsNCglib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgyNTEsIDE4OSwgMjQsIDAuMik7DQp9DQoucm9hZG1hcC1zbGlkZXIgLm93bC1pdGVtIHAgew0KCXBhZGRpbmc6IDAgMjBweDsNCn0NCi5yb2FkbWFwLXNsaWRlcjpiZWZvcmUgew0KCWJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL3NsaWRlci1saW5lLnBuZykgbm8tcmVwZWF0IGNlbnRlcjsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZC1zaXplOiAxMDAlIDNweDsNCgljb250ZW50OiAiIjsNCgl0b3A6IDcwcHg7DQoJbGVmdDogMDsNCgloZWlnaHQ6IDNweDsNCn0NCi52ZXJ0aWNhbC1yb2FkbWFwIHsNCiAgCXdpZHRoOjEwMCU7DQogIAlwYWRkaW5nOiAzMHB4IDBweCAwOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi52ZXJ0aWNhbC1yb2FkbWFwOmJlZm9yZSB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMHB4Ow0KICAgIGxlZnQ6NTAlOw0KICAgIGJvdHRvbTogMHB4Ow0KICAgIHdpZHRoOiAzcHg7DQogICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMjApOw0KICAgIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KfQ0KLnZlcnRpY2FsLXJvYWRtYXA6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGRpc3BsYXk6IHRhYmxlOw0KICAgIGNsZWFyOiBib3RoOw0KfQ0KLnJvYWRtYXAtaXRlbSB7DQogIAljbGVhcjogYm90aDsNCiAgCXRleHQtYWxpZ246IGxlZnQ7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWNvbG9yOiNiYmJiYmI7DQp9DQoucm9hZG1hcC1pdGVtIC50aXRsZSB7DQogICAgbWFyZ2luLWJvdHRvbToxNXB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiA1MCU7DQogICAgcGFkZGluZy1yaWdodDozMHB4Ow0KICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmb250LXNpemU6MjRweDsNCiAgICBjb2xvcjojZmZmZmZmOw0KICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IA0KfQ0KLnJvYWRtYXAtaXRlbSAudGl0bGU6YmVmb3JlIHsNCgljb250ZW50OiAnJzsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDE4cHg7DQoJaGVpZ2h0OiAxOHB4Ow0KCWJveC1zaGFkb3c6MHB4IDBweCAwcHggNnB4ICMwMDAwMDA7IA0KCWJhY2tncm91bmQ6IzMzMzMzMzsNCglib3JkZXItcmFkaXVzOjEwMCU7DQoJdG9wOjVweDsNCglyaWdodDotMTFweDsNCgl6LWluZGV4OiA5OTsNCn0NCi5yb2FkbWFwLWl0ZW0uZG9uZSAudGl0bGU6YmVmb3Jlew0KCWJhY2tncm91bmQ6I2ZiYmQxODsNCn0NCi5yb2FkbWFwLWl0ZW0uYWN0aXZlIC50aXRsZTpiZWZvcmV7DQoJYmFja2dyb3VuZDojZmJiZDE4Ow0KCS13ZWJraXQtYW5pbWF0aW9uOiBibGluayAyLjBzIGxpbmVhciBpbmZpbml0ZTsNCiAgICAtbW96LWFuaW1hdGlvbjogYmxpbmsgMi4wcyBsaW5lYXIgaW5maW5pdGU7DQogICAgLW1zLWFuaW1hdGlvbjogYmxpbmsgMi4wcyBsaW5lYXIgaW5maW5pdGU7DQogICAgLW8tYW5pbWF0aW9uOiBibGluayAyLjBzIGxpbmVhciBpbmZpbml0ZTsNCiAgICBhbmltYXRpb246IGJsaW5rIDIuMHMgbGluZWFyIGluZmluaXRlOw0KfQ0KQGtleWZyYW1lcyBibGluayB7DQogICAgMCUge2JveC1zaGFkb3c6MHB4IDBweCAwcHggOHB4IHJnYmEoMjUxLDE4OSwyNCwwLjIpOyB9DQogICAgNTAlIHsgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMjUxLDE4OSwyNCwwLjIpOyB9DQogICAgMTAwJSB7IGJveC1zaGFkb3c6MHB4IDBweCAwcHggOHB4IHJnYmEoMjUxLDE4OSwyNCwwLjIpOyB9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBibGluayB7DQogICAgMCUgeyBib3gtc2hhZG93OjBweCAwcHggMHB4IDhweCByZ2JhKDI1MSwxODksMjQsMC4yKTsgfQ0KICAgIDUwJSB7IGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDI1MSwxODksMjQsMC4yKTsgfQ0KICAgIDEwMCUge2JveC1zaGFkb3c6MHB4IDBweCAwcHggOHB4IHJnYmEoMjUxLDE4OSwyNCwwLjIpOyB9DQp9DQoucm9hZG1hcC1pdGVtIC50aXRsZSBzcGFuew0KCWNvbG9yOiNmYmJkMTg7DQoJZm9udC1zaXplOjE4cHg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsgIAkNCn0NCi5yb2FkbWFwLXRleHR7DQogICAgbWFyZ2luOiAwIDAgNTBweDsNCiAgICBmbG9hdDogcmlnaHQ7DQogICAgd2lkdGg6IDUwJTsNCiAgICBwYWRkaW5nLWxlZnQ6MzBweDsNCn0NCi5yb2FkbWFwLWl0ZW06bGFzdC1jaGlsZCAucm9hZG1hcC10ZXh0ew0KCW1hcmdpbjogMCAwIDBweDsNCn0NCi5yb2FkbWFwLXNlYy5jLWx7DQoJYm9yZGVyOm5vbmU7DQoJYmFja2dyb3VuZDojMDAwMDAwOyAgDQp9DQoucm9hZG1hcC1pdGVtOmFmdGVyew0KCWNsZWFyOmJvdGg7DQoJZGlzcGxheTp0YWJsZTsNCgljb250ZW50OiIiOw0KfQ0KLnJvYWRtYXAtaXRlbSAucm9hZG1hcC1kYXkgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDUwJTsNCiAgICBsZWZ0OiAxMDAlOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsNCiAgICBwYWRkaW5nOjBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGNvbG9yOiAjMDAwMDAwOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIGJhY2tncm91bmQ6ICNmYmJkMTg7DQoJcGFkZGluZzogNXB4IDE1cHg7DQoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsNCglmb250LXdlaWdodDo2MDA7DQoJYm9yZGVyLXJhZGl1czo0cHg7ICANCgltYXJnaW4tbGVmdDogMzBweDsNCn0NCi5yb2FkbWFwLWl0ZW0gLnJvYWRtYXAtZGF5OmFmdGVyew0KIAl3aWR0aDogMDsNCgloZWlnaHQ6IDA7DQoJYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCWJvcmRlci1yaWdodDogMTNweCBzb2xpZCAjZmJiZDE4Ow0KCWJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDsNCgljb250ZW50OiAiIjsNCglkaXNwbGF5OiBibG9jazsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJbGVmdDogLTEzcHg7DQoJbWFyZ2luLXRvcDogLThweDsNCn0NCi5yb2FkbWFwLWl0ZW06bnRoLWNoaWxkKDJuKzEpIC5yb2FkbWFwLWRheSB7DQogICAgbGVmdDogYXV0bzsNCiAgICByaWdodDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiByaWdodDsNCiAgICBtYXJnaW4tbGVmdDowcHg7DQogICAgbWFyZ2luLXJpZ2h0OiAzMHB4Ow0KfQ0KLnJvYWRtYXAtaXRlbTpudGgtY2hpbGQoMm4rMSkgLnJvYWRtYXAtZGF5OmFmdGVyew0KCWJvcmRlci10b3A6IDhweCBzb2xpZCB0cmFuc3BhcmVudDsNCglib3JkZXItbGVmdDogMTNweCBzb2xpZCAjZmJiZDE4Ow0KCWJvcmRlci1yaWdodDpub25lOw0KCWJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDsNCgljb250ZW50OiAiIjsNCglkaXNwbGF5OiBibG9jazsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJcmlnaHQ6IC0xM3B4Ow0KCWxlZnQ6YXV0bzsgDQoJbWFyZ2luLXRvcDogLThweDsNCn0NCi5jLWwgLnJvYWRtYXAtdGV4dHsNCglwYWRkaW5nOiAzMHB4Ow0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbjowOyANCglmbG9hdDpsZWZ0Ow0KCXRleHQtYWxpZ246IHJpZ2h0OyANCn0NCi5jLWwgLnJvYWRtYXAtdGV4dCBwew0KCW1hcmdpbi1ib3R0b206MHB4OyANCn0NCi5jLWwgLnJvYWRtYXAtaXRlbTpudGgtY2hpbGQoMm4rMSkgLnJvYWRtYXAtdGV4dCB7DQogICAgd2lkdGg6IGNhbGMoNTAlICsgMXB4KTsNCiAgICBmbG9hdDogcmlnaHQ7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQp9DQouYy1sIC5yb2FkbWFwLWl0ZW0gLnJvYWRtYXAtdGV4dDo6YmVmb3JlIHsNCgljb250ZW50OicnOyANCglwb3NpdGlvbjphYnNvbHV0ZTsgDQoJd2lkdGg6MThweDsgDQoJaGVpZ2h0OjE4cHg7IA0KCWJhY2tncm91bmQ6I2ZiYmQxODsgDQoJYm9yZGVyLXJhZGl1czoxMDAlOyANCgl0b3A6NTAlOyANCglyaWdodDogLTlweDsgDQoJei1pbmRleDogOTk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOw0KCWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDRweCByZ2IoODgsIDg5LCA5MSk7DQp9DQouYy1sIC5yb2FkbWFwLWl0ZW06bnRoLWNoaWxkKDJuKzEpIC5yb2FkbWFwLXRleHQ6OmJlZm9yZXsNCglsZWZ0OiAtN3B4Ow0KCXJpZ2h0OmF1dG87IAkNCn0NCi5yb2FkbWFwLWl0ZW0tdGV4dCBoNHsNCgljb2xvcjojZmJiZDE4Ow0KfQ0KLmNpcmNsZS1yaXBwbGUgew0KICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KICB3aWR0aDogMjBlbTsNCiAgaGVpZ2h0OiAyMGVtOw0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIGFuaW1hdGlvbjogcmlwcGxlIDNzIGxpbmVhciBpbmZpbml0ZTsNCiAgcG9zaXRpb246YWJzb2x1dGU7DQogIGJveC1zaGFkb3c6aW5zZXQgMCAwIDMwcHggNXB4IHJnYmEoMjUxLDE4OSwyNCwwLjIpLCAwIDAgMzBweCA1cHggcmdiYSgyNTEsMTg5LDI0LDAuMik7DQogIGxlZnQ6MDsNCiAgZGlzcGxheTp0YWJsZTsNCiAgbWFyZ2luOi0xMGVtIGF1dG8gMDsNCiAgcmlnaHQ6MDsNCiAgdG9wOjUwJTsNCn0NCkBrZXlmcmFtZXMgcmlwcGxlIHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgb3BhY2l0eTogMDsNCiAgICBib3gtc2hhZG93Omluc2V0IDAgMCAzMHB4IDVweCByZ2JhKDI1MSwxODksMjQsMC4yKSwgMCAwIDMwcHggNXB4IHJnYmEoMjUxLDE4OSwyNCwwLjIpOw0KICB9DQogIDYwJSB7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgyKTsNCiAgICBvcGFjaXR5OiAxOw0KICAgIGJveC1zaGFkb3c6aW5zZXQgMCAwIDUwcHggNXB4IHJnYmEoMjUxLDE4OSwyNCwwLjMpLCAwIDAgNTBweCA1cHggcmdiYSgyNTEsMTg5LDI0LDAuMyk7DQogIH0NCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgzKTsNCiAgICBvcGFjaXR5OiAwOw0KICAgIGJveC1zaGFkb3c6aW5zZXQgMCAwIDgwcHggNXB4IHJnYmEoMjUxLDE4OSwyNCwwLjQpLCAwIDAgODBweCA1cHggcmdiYSgyNTEsMTg5LDI0LDAuNCk7DQogIH0NCn0NCi5yb2FkbWFwLXNlYy5kaWFtb25kLWxheW91dHsNCgliYWNrZ3JvdW5kLWltYWdlOm5vbmU7DQoJYm9yZGVyOm5vbmU7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyAgIA0KfQ0KLmhvcml6b250YWwtcm9hZG1hcCAucm9hZG1hcC1pdGVtew0KCWNsZWFyOm5vbmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJZGlzcGxheTpmbGV4Ow0KCXdpZHRoOjEwMCU7DQoJZmxleC13cmFwOndyYXA7DQoJcGFkZGluZzoxODBweCAwcHggMHB4OyAgIA0KfQ0KLmhvcml6b250YWwtcm9hZG1hcCAucm9hZG1hcC1pdGVtLmV2ZW57DQoJcGFkZGluZzowcHggMHB4IDE4MHB4OyAgDQp9DQouaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWljb257DQoJZGlzcGxheTp0YWJsZTsNCgltYXJnaW46YXV0bzsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJcGFkZGluZzoxMHB4Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7DQoJYm9yZGVyLXJhZGl1czo1MCU7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjE1cHg7DQoJbGVmdDo1MCU7DQoJdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7IA0KCWJvcmRlcjo2cHggc29saWQgI2ZmZmZmZjsNCglib3gtc2hhZG93OjAgMCAwIDJweCAjZmJiZDE3OyAgICAgDQp9DQouaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWljb246YWZ0ZXJ7DQoJYmFja2dyb3VuZDojMDAwMDAwOw0KCWNvbnRlbnQ6IiI7DQoJaGVpZ2h0Ojc1cHg7IA0KCXdpZHRoOjJweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjUwJTsNCgl0b3A6MTAwJTsNCgltYXJnaW4tbGVmdDotMXB4OyAgICAgDQoJbWFyZ2luLXRvcDo3cHg7DQp9DQouaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0uZXZlbiAucm9hZG1hcC1pY29uOmFmdGVyew0KCXRvcDphdXRvOw0KCWJvdHRvbToxMDAlOw0KCW1hcmdpbi10b3A6MDsNCgltYXJnaW4tYm90dG9tOjdweDsNCgliYWNrZ3JvdW5kOiNmYmJkMTc7IA0KfQ0KLmhvcml6b250YWwtcm9hZG1hcCAucm9hZG1hcC1pdGVtLmV2ZW4gLnJvYWRtYXAtaWNvbnsNCgl0b3A6IGF1dG87DQoJYm90dG9tOiAxNXB4Ow0KCWJhY2tncm91bmQ6I2ZiYmQxNzsNCglib3gtc2hhZG93OjAgMCAwIDJweCAjMDAwOyAgDQp9DQouaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLXRleHR7DQoJZmxvYXQ6bm9uZTsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmc6MzBweCAxNXB4IDBweDsNCglkaXNwbGF5OnRhYmxlOw0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM2MTYxNjE7DQoJbWFyZ2luOiAwOw0KfQ0KLmhvcml6b250YWwtcm9hZG1hcCAucm9hZG1hcC1pdGVtLXRleHQgaDR7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWNvbG9yOiMwMDAwMDA7ICAgDQp9DQouaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0tdGV4dCBwew0KCW1hcmdpbjowcHg7DQoJbGluZS1oZWlnaHQ6MS40OyAgDQp9DQouaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0gLnJvYWRtYXAtZGF5ew0KCXBvc2l0aW9uOnN0YXRpYzsgDQoJdHJhbnNmb3JtOm5vbmU7DQoJcGFkZGluZzogMDsNCgliYWNrZ3JvdW5kOiBub25lOw0KCW1hcmdpbjowcHggMHB4IDEwcHggMHB4Ow0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KCWZvbnQtc2l6ZTogMTVweDsNCn0NCi5ob3Jpem9udGFsLXJvYWRtYXAgLnJvYWRtYXAtaXRlbTpudGgtY2hpbGQoMm4rMSkgLnJvYWRtYXAtZGF5OjphZnRlcnsNCglkaXNwbGF5OiBub25lOw0KfQ0KLmhvcml6b250YWwtcm9hZG1hcCAucm9hZG1hcC1pdGVtOmFmdGVyew0KCWhlaWdodDo5cHg7DQoJY29udGVudDoiIjsNCgl3aWR0aDoxMDAlOw0KCWJhY2tncm91bmQ6IzAwMDAwMDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MTc5cHg7DQoJbGVmdDowcHg7DQoJcmlnaHQ6MHB4OyAgICAgICANCn0NCi5ob3Jpem9udGFsLXJvYWRtYXAgLnJvYWRtYXAtaXRlbTpiZWZvcmV7DQoJd2lkdGg6IDA7DQoJaGVpZ2h0OiAwOw0KCWJvcmRlci1sZWZ0OiAxNnB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCWJvcmRlci1yaWdodDogMTZweCBzb2xpZCB0cmFuc3BhcmVudDsNCglib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICMwMDA7DQoJY29udGVudDogIiI7DQoJZGlzcGxheTogYmxvY2s7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWxlZnQ6IDUwJTsNCgl0b3A6MTY4cHg7DQoJbWFyZ2luLWxlZnQ6IC0xNnB4OyAgDQp9DQouaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0uZXZlbiAucm9hZG1hcC10ZXh0ew0KCXBhZGRpbmc6MHB4IDE1cHggMzBweDsNCn0NCi5ob3Jpem9udGFsLXJvYWRtYXAgLnJvYWRtYXAtaXRlbS5ldmVuOmFmdGVyew0KCWJhY2tncm91bmQ6I2ZiYmQxODsNCgl0b3A6YXV0bzsNCglib3R0b206MTc5cHg7ICANCn0NCi5ob3Jpem9udGFsLXJvYWRtYXAgLnJvYWRtYXAtaXRlbS5ldmVuOmJlZm9yZXsNCglib3JkZXItdG9wOiAxMnB4IHNvbGlkICNmYmJkMTg7DQoJYm9yZGVyLWJvdHRvbTowcHg7IA0KCXRvcDogYXV0bzsNCglib3R0b206IDE2OHB4Ow0KfQ0KLnJvYWRtYXAtbGl2ZS1zbGlkZXJ7DQoJZGlzcGxheTpibG9jazsNCn0NCi5yb2FkbWFwLWxpdmUtc2xpZGVyIC5yb2FkbWFwLWl0ZW17DQoJY2xlYXI6bm9uZTsNCglwYWRkaW5nLXRvcDo4MHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOyANCglwYWRkaW5nLWJvdHRvbTogMTVweDsNCn0NCi5yb2FkbWFwLWxpdmUtc2xpZGVyIC5zbGljay1saXN0ew0KCXBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7IA0KfQ0KLnJvYWRtYXAtbGl2ZS1zbGlkZXIgLnNsaWNrLWxpc3Q6YmVmb3Jlew0KCWhlaWdodDozcHg7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJY29udGVudDoiIjsNCglkaXNwbGF5OmJsb2NrOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDoyNXB4Ow0KCWxlZnQ6MHB4Ow0KCXJpZ2h0OjBweDsgICAgIA0KfQ0KLnJvYWRtYXAtbGl2ZS1zbGlkZXIgLnJvYWRtYXAtaXRlbTpiZWZvcmV7DQoJaGVpZ2h0OjI1cHg7DQoJd2lkdGg6MjVweDsNCgljb250ZW50OiIiOw0KCWJvcmRlcjo1cHggc29saWQgIzAwMDAwMDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgliYWNrZ3JvdW5kOiNmYmJkMTg7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwcHg7IA0KCWJvcmRlci1yYWRpdXM6NTBweDsgDQoJbGVmdDo1MCU7DQoJdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7ICANCgl0b3A6MTRweDsgDQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlLWluOw0KICAJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbjsgDQp9DQoucm9hZG1hcC1saXZlLXNsaWRlciAucm9hZG1hcC1pdGVtIGRpdnsNCglwYWRkaW5nOjMwcHg7IA0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbjsNCiAgCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2UtaW47DQogIAktd2Via2l0LWJvcmRlci1yYWRpdXM6OHB4OyANCiAgCWJvcmRlci1yYWRpdXM6OHB4Ow0KICAJcGFkZGluZzogMTVweCAzMHB4IDYwcHg7DQogIAlwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoucm9hZG1hcC1saXZlLXNsaWRlciAucm9hZG1hcC1pdGVtIC5yb2FkbWFwLWRhdGV7DQoJZm9udC1zaXplOjE2cHg7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQoJZGlzcGxheTogYmxvY2s7ICAgDQp9DQoucm9hZG1hcC1saXZlLXNsaWRlciAucm9hZG1hcC1pdGVtIGg0ew0KCWZvbnQtc2l6ZToxOHB4Ow0KCWNvbG9yOiMwMDAwMDA7DQoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsNCglmb250LXdlaWdodDo0MDA7ICAgDQoJZGlzcGxheTpibG9jazsgDQp9DQoucm9hZG1hcC1saXZlLXNsaWRlciAucm9hZG1hcC1pdGVtIC5saXZlLW1hcmsgew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IGFsbCA0MDBtczsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgIGxlZnQ6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogMDsNCiAgICBwYWRkaW5nOiA1cHggMTVweDsNCiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4Ow0KfQ0KLnJvYWRtYXAtbGl2ZS1zbGlkZXIgLnJvYWRtYXAtaXRlbS5zbGljay1jdXJyZW50IC5saXZlLW1hcmt7DQoJdmlzaWJpbGl0eTp2aXNpYmxlOw0KCW9wYWNpdHk6MTsgIA0KCXRyYW5zaXRpb246YWxsIDQwMG1zOyANCn0NCi5yb2FkbWFwLWxpdmUtc2xpZGVyIC5yb2FkbWFwLWl0ZW0uc2xpY2stY3VycmVudDpiZWZvcmV7DQoJaGVpZ2h0OjM2cHg7DQoJd2lkdGg6MzZweDsNCgl0b3A6OHB4OyANCglib3JkZXI6NnB4IHNvbGlkICMwMDAwMDA7DQogIAktd2Via2l0LWJveC1zaGFkb3c6IDFweCAxcHggN3B4IDFweCByZ2JhKDAsIDAsIDAsIDAuOCk7DQogIAlib3gtc2hhZG93OiAxcHggMXB4IDdweCAxcHggcmdiYSgwLCAwLCAwLCAwLjgpOw0KICAJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlLWluOw0KICAJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbjsNCn0NCi5yb2FkbWFwLWxpdmUtc2xpZGVyIC5yb2FkbWFwLWl0ZW0uc2xpY2stY3VycmVudCBkaXZ7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlLWluOw0KICAJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZS1pbjsNCiAgCWJhY2tncm91bmQ6I2ZiYmQxODsNCiAgCS13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsNCiAgCWJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7DQp9DQoucm9hZG1hcC1saXZlLXNsaWRlciAucm9hZG1hcC1pdGVtIGRpdjpiZWZvcmV7DQoJd2lkdGg6IDA7DQoJaGVpZ2h0OiAwOw0KCWJvcmRlci1sZWZ0OiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCWJvcmRlci1yaWdodDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDsNCglib3JkZXItYm90dG9tOiAwcHggc29saWQgI2ZiYmQxODsNCgljb250ZW50OiIiOw0KCXBvc2l0aW9uOmFic29sdXRlOyAgDQoJYm90dG9tOjEwMCU7DQoJbGVmdDo1MCU7DQoJdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7DQoJb3BhY2l0eTowOyAgIA0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNDAwbXMgZWFzZS1pbjsNCiAgCXRyYW5zaXRpb246YWxsIDQwMG1zIGVhc2UtaW47IA0KfQ0KLnJvYWRtYXAtbGl2ZS1zbGlkZXIgLnJvYWRtYXAtaXRlbS5zbGljay1jdXJyZW50IGRpdjpiZWZvcmV7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA0MDBtcyBlYXNlLWluOw0KICAJdHJhbnNpdGlvbjphbGwgNDAwbXMgZWFzZS1pbjsgDQogIAlvcGFjaXR5OjE7ICAgDQogIAlib3R0b206MTAwJTsNCiAgCWJvcmRlci1ib3R0b206MjBweCBzb2xpZCAjZmJiZDE4Ow0KfQ0KLm1lcmN1cnktcm9hZG1hcCAucm9hZG1hcC1pdGVtew0KCWNsZWFyOiBib3RoOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJY29sb3I6ICMxMTE7DQp9DQoubWVyY3VyeS1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0gLnJvYWRtYXAtdGV4dHsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjEwMCU7DQoJcGFkZGluZzozMjBweCAxMHB4IDBweDsNCn0NCi5tZXJjdXJ5LXJvYWRtYXAgLnJvYWRtYXAtdGV4dCBwew0KCW1hcmdpbi1ib3R0b206MDsgDQp9DQoubWVyY3VyeS1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0uZXZlbiAucm9hZG1hcC10ZXh0ew0KCXBhZGRpbmc6MHB4IDEwcHggMzIwcHg7DQp9DQoubWVyY3VyeS1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0tdGV4dCBoNHsNCglmb250LXNpemU6IDE4cHg7DQoJY29sb3I6ICMwMDA7DQoJZm9udC13ZWlnaHQ6IDYwMDsNCgltYXgtd2lkdGg6MTUwcHg7DQoJbWFyZ2luOjAgYXV0byAxMHB4Ow0KfQ0KLm1lcmN1cnktcm9hZG1hcCAucm9hZG1hcC1pdGVtIC5yb2FkbWFwLWRheXsNCgloZWlnaHQ6IDE2MHB4Ow0KCXdpZHRoOiAxNjBweDsNCglib3JkZXI6IDEycHggc29saWQgI2ZmZjsNCglib3gtc2hhZG93OiAwcHggMTBweCA4cHggMHB4IHJnYmEoMCwwLDAsMC4yKTsNCglib3JkZXItcmFkaXVzOjEwMHB4Ow0KCWxlZnQ6NTAlOyANCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQoJbWFyZ2luLXJpZ2h0OjBweDsNCgl0b3A6MjBweDsgDQp9DQoubWVyY3VyeS1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0uZXZlbiAucm9hZG1hcC1kYXl7DQoJdG9wOmF1dG87DQoJYm90dG9tOjIwcHg7IA0KfQ0KLm1lcmN1cnktcm9hZG1hcCAucm9hZG1hcC1pdGVtIC5kYXRlIHNwYW57DQoJZGlzcGxheTpibG9jazsNCglmb250LXNpemU6MjhweDsgIA0KfQ0KLm1lcmN1cnktcm9hZG1hcCAucm9hZG1hcC1pdGVtIC5kYXRlIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbWF4LXdpZHRoOiAxMTBweDsNCiAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjI7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogNTAlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsNCn0NCi5tZXJjdXJ5LXJvYWRtYXAgLnJvYWRtYXAtaXRlbSAucm9hZG1hcC10ZXh0OmJlZm9yZXsNCgliYWNrZ3JvdW5kOnVybCgiaW1hZ2VzL3F1ZXN0aW9uLWltZy5wbmciKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDsNCgljb250ZW50OiAiIjsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCXdpZHRoOiAyMDZweDsNCgloZWlnaHQ6IDMwNXB4Ow0KCWxlZnQ6IDA7DQoJcmlnaHQ6IDA7DQoJbWFyZ2luOiBhdXRvOw0KfQ0KLm1lcmN1cnktcm9hZG1hcCAucm9hZG1hcC1pdGVtLmV2ZW4gLnJvYWRtYXAtdGV4dDo6YmVmb3JlIHsNCgliYWNrZ3JvdW5kOnVybCgiaW1hZ2VzL3F1ZXN0aW9uLWltZy1yZXYucG5nIikgbm8tcmVwZWF0IHNjcm9sbCAwIDA7DQoJdG9wOmF1dG87DQoJYm90dG9tOjA7IA0KfQ0KLm1lcmN1cnktcm9hZG1hcCAucm9hZG1hcC1pdGVtIC5yb2FkbWFwLWRheTo6YWZ0ZXJ7DQoJZGlzcGxheTpub25lICFpbXBvcnRhbnQ7IA0KfQ0KDQouc2xpY2stcHJldiwgLnNsaWNrLW5leHQgew0KICAgIGZvbnQtc2l6ZTogMDsNCiAgICBsaW5lLWhlaWdodDogMDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiA1MCU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDIwcHg7DQogICAgaGVpZ2h0OiAyMHB4Ow0KICAgIHBhZGRpbmc6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXI6IG5vbmU7DQogICAgb3V0bGluZTogbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCn0NCi5zbGljay1wcmV2OjpiZWZvcmUsIC5zbGljay1uZXh0OjpiZWZvcmUgew0KICAgIGZvbnQtZmFtaWx5OiAiRm9udCBBd2Vzb21lIDUgRnJlZSI7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIG9wYWNpdHk6IC43NTsNCiAgICBjb2xvcjogd2hpdGU7DQogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7DQogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCi5zbGljay1wcmV2OjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICdcZjA1Myc7DQp9DQouc2xpY2stbmV4dDo6YmVmb3JlIHsNCiAgICBjb250ZW50OiAnXGYwNTQnOw0KfQ0KLnNsaWNrLW5leHQgew0KICAgIHJpZ2h0OiAtMjVweDsNCn0NCi5zbGljay1wcmV2IHsNCiAgICBsZWZ0OiAtMjVweDsNCn0NCi5tb2JpbGVhcHAtc2VjdGlvbiBwew0KCWNvbG9yOiNmZmZmZmY7IA0KfQ0KLm1vYmlsZWFwcC1zZWN0aW9uIC5idXR0b24td3JhcHBlciBpbWd7DQoJbWF4LWhlaWdodDo2NHB4OyANCn0NCi5yb2FkbWFwLWxpdmUtc2xpZGVyIC5zbGljay1wcmV2LCAucm9hZG1hcC1saXZlLXNsaWRlciAuc2xpY2stbmV4dHsNCgl0b3A6MjVweDsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJaGVpZ2h0OjQwcHg7DQoJd2lkdGg6NDBweDsgICANCn0NCi5yb2FkbWFwLWxpdmUtc2xpZGVyIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnJvYWRtYXAtbGl2ZS1zbGlkZXIgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3Jlew0KCWNvbG9yOiNmYmJkMTg7DQoJb3BhY2l0eToxOw0KfQ0KLnJvYWRtYXAtc2VjLm1lcmN1cnktbGF5b3V0ew0KCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQoJYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsNCglib3JkZXI6IG5vbmU7DQp9DQoudG9rZW4tYWxsb2NhdGlvbi1ib3guc3R5bGUtNHsNCgliYWNrZ3JvdW5kOiAjZmJiZTE4Ow0KCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgI2ZiYmUxOCAwJSwgI2UzYTEyNiAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICNmYmJlMTgpLCBjb2xvci1zdG9wKDEwMCUsICNlM2ExMjYpKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsICNmYmJlMTggMCUsICNlM2ExMjYgMTAwJSk7DQoJYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywgI2ZiYmUxOCAwJSwgI2UzYTEyNiAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgI2ZiYmUxOCAwJSwgI2UzYTEyNiAxMDAlKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmJiZTE4IDAlLCAjZTNhMTI2IDEwMCUpOw0KCWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmJiZTE4JywgZW5kQ29sb3JzdHI9JyNlM2ExMjYnLCBHcmFkaWVudFR5cGU9MSApOw0KCXBhZGRpbmc6NTBweDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6MTVweDsgIA0KCWJvcmRlci1yYWRpdXM6MTVweDsgIA0KfQ0KLnRva2VuLWFsbG9jYXRpb24tYm94LnN0eWxlLTQgLnRva2VuLXNhbGUtbGVmdHsNCgktbXMtZmxleDogMCAwIDEwMCU7DQoJZmxleDogMCAwIDEwMCU7DQoJbWF4LXdpZHRoOiAxMDAlOw0KCWNvbG9yOiMwMDAwMDA7DQoJcGFkZGluZzogMDsNCn0NCi50b2tlbi1hbGxvY2F0aW9uLWJveC5zdHlsZS00ICNjbG9jayBsaSArIGxpOjpiZWZvcmUsIC50b2tlbi1hbGxvY2F0aW9uLWJveC5zdHlsZS00ICNjbG9jayBsaSArIGxpOjphZnRlciB7DQoJYmFja2dyb3VuZDogIzAwMDsNCn0NCi50b2tlbi1hbGxvY2F0aW9uLWJveC5zdHlsZS00ICNjbG9jayBsaSBzcGFuew0KCWJhY2tncm91bmQ6I2ZmZmZmZjsgDQoJY29sb3I6IzAwMDAwMDsgDQp9DQoudG9rZW4tYWxsb2NhdGlvbi1ib3guc3R5bGUtNCAucmFuZy1zbGlkZXItbWFpbnsNCgljb2xvcjojMDAwOw0KCXBhZGRpbmctdG9wOjMwcHg7ICANCn0NCi50b2tlbi1hbGxvY2F0aW9uLWJveC5zdHlsZS00IC5oZXJvLXJpZ2h0LWJ0bnsNCgltYXJnaW4tYm90dG9tOjA7IA0KfQ0KLnRva2VuLWFsbG9jYXRpb24tYm94LnN0eWxlLTQgLnJhbmctc2xpZGVyLXRvbHRpcCwgLnRva2VuLWFsbG9jYXRpb24tYm94LnN0eWxlLTQgLnJhbmctc2xpZGVyLXRvdGFsIHNwYW57DQoJY29sb3I6IHJnYigwLCAwLCAwKTsNCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoxMC4gVEVBTSBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLnRlYW0tc2VjdGlvbiB7DQoJY2xlYXI6IGJvdGg7DQp9DQoudGVhbS1tZW1iZXIgKyAudGVhbS1tZW1iZXIgew0KCW1hcmdpbi10b3A6IDcwcHg7DQp9DQoudGVhbSB7DQoJd2lkdGg6MTAwJTsNCglwYWRkaW5nOjE1cHggMHB4OyANCn0NCi50ZWFtIGg0IHsNCglmb250LXdlaWdodDogNzAwOw0KCWZvbnQtc2l6ZTogMjRweDsNCgljb2xvcjogIzFkMWQxZDsNCgltYXJnaW4tdG9wOiAzMHB4Ow0KCW1hcmdpbi1ib3R0b206IDhweDsNCn0NCi50ZWFtIGltZyB7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCWJvcmRlcjogNnB4IHNvbGlkICNmZmY7DQoJbWF4LXdpZHRoOiAyMzBweDsNCgltYXgtaGVpZ2h0OiAyMzBweDsNCglib3gtc2hhZG93OiAwIDAgMCAycHggI2ZiYmQxODsNCn0NCi50ZWFtLXNlY3Rpb24uc3R5bGUtMnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCi50ZWFtLXNlY3Rpb24uc3R5bGUtMjpiZWZvcmV7DQoJYmFja2dyb3VuZDp1cmwoL2ltYWdlcy90ZWFtLWJnLmpwZykgbm8tcmVwZWF0IHJpZ2h0IHRvcDsNCgloZWlnaHQ6MTAwJTsNCgljb250ZW50OiIiOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0OmNhbGMoKCgxMDAlIC0gMTE3MHB4KSAvIDIpICsgKCgxMjAwcHggICogNzUpIC8gMTAwKSk7DQoJdG9wOjA7DQoJd2lkdGg6NTAlOyAgICANCn0NCi5leHBlcnQtc2xpZGVyew0KCW1hcmdpbi1sZWZ0Oi0xOTBweDsNCgl3aWR0aDpjYWxjKDEwMCUgKyAxOTBweCk7DQoJYmFja2dyb3VuZDojZmZmZmZmOyANCn0NCi5leHBlcnQtc2xpZGVyIC5pdGVtew0KCWRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KCWRpc3BsYXk6IGZsZXg7DQoJLW1zLWZsZXgtd3JhcDogd3JhcDsNCglmbGV4LXdyYXA6IHdyYXA7DQp9DQouZXhwZXJ0LXNsaWRlciAudGVhbS1pbWcgew0KICAgIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmZmZmOw0KICAgIC1tcy1mbGV4OiAwIDAgMzUlOw0KCWZsZXg6IDAgMCAzNSU7DQoJd2lkdGg6IDM1JTsNCgltYXgtd2lkdGg6IDM1JTsNCn0NCi5leHBlcnQtc2xpZGVyIC50ZWFtLWRldGlsc3sNCglkaXNwbGF5OmlubGluZS1ibG9jazsgDQoJcGFkZGluZzozMHB4IDBweCAzMHB4IDMwcHg7DQoJLW1zLWZsZXg6IDAgMCA2NSU7DQoJZmxleDogMCAwIDY1JTsNCgl3aWR0aDogNjUlOw0KCW1heC13aWR0aDogNjUlOw0KfQ0KLnRlYW0tZGV0aWxzIGg0ew0KCWNvbG9yOiMxZDFkMWQ7DQoJZm9udC1zaXplOjI0cHg7IA0KCWZvbnQtd2VpZ2h0OjcwMDsNCgltYXJnaW4tYm90dG9tOjBweDsgDQp9DQoudGVhbS1kZXRpbHMgc3Bhbi5wb3NpdGlvbnsNCgljb2xvcjojZmJiZDE4Ow0KCWZvbnQtc2l6ZToxNXB4OyANCglmb250LXdlaWdodDo3MDA7IA0KfQ0KLnRlYW0tZGV0aWxzIC5zb2NpYWwtbGlua3N7DQoJbGlzdC1zdHlsZTpub25lOw0KCXBhZGRpbmc6MHB4Ow0KCW1hcmdpbjozMHB4IDBweCAwcHg7ICAgDQoJbWF4LXdpZHRoOjMyMHB4OyANCn0NCi50ZWFtLWRldGlscyAuc29jaWFsLWxpbmtzIGxpew0KCXdpZHRoOmF1dG87DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7IA0KCXdpZHRoOjQ5JTsNCgltYXJnaW4tYm90dG9tOjEwcHg7IA0KfQ0KLnRlYW0tZGV0aWxzIC5zb2NpYWwtbGlua3MgYXsNCgljb2xvcjojMWQxZDFkOw0KfQ0KLnRlYW0tZGV0aWxzIC5zb2NpYWwtbGlua3MgaXsNCgl3aWR0aDoxOHB4OyANCgltYXJnaW4tcmlnaHQ6MTBweDsgDQp9DQouZXhwZXJ0LXNsaWRlciAub3dsLWRvdHN7DQoJZGlzcGxheTpub25lOyANCn0NCi5leHBlcnQtc2xpZGVyLm93bC1jYXJvdXNlbCAub3dsLW5hdnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MHB4Ow0KCXJpZ2h0OjBweDsgIA0KfQ0KLmMtbCAudGVhbXsNCgliYWNrZ3JvdW5kOiNlZmVmZWY7DQoJcGFkZGluZzowcHg7IA0KCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDQwMG1zOw0KCXRyYW5zaXRpb246IGFsbCA0MDBtczsgDQp9DQoudGVhbSAudGVhbS1pbm5lcnsNCglwYWRkaW5nOjE1cHg7IA0KfQ0KLnRlYW0gLnRlYW0taW5uZXIgaW1new0KCWJvcmRlci1yYWRpdXM6IDA7DQoJYm9yZGVyOiBub25lOw0KCW1heC13aWR0aDoxMDAlOw0KCXdpZHRoOjEwMCU7IA0KCWJveC1zaGFkb3c6IDAgMCAwIDJweCB0cmFuc3BhcmVudDsNCgltYXgtaGVpZ2h0OmluaGVyaXQ7IA0KfQ0KLnRlYW0gLnRlYW0taW5uZXIgaDR7DQoJbWFyZ2luLXRvcDogMTVweDsNCgltYXJnaW4tYm90dG9tOiAwOw0KfQ0KLnRlYW0tc29jaWFsew0KCWJhY2tncm91bmQ6I2RjZGNkYzsNCglwYWRkaW5nOjhweCAxNXB4OyANCn0NCi50ZWFtLXNvY2lhbCB1bHsNCglwYWRkaW5nOjBweDsgDQoJbWFyZ2luOjBweDsNCn0NCi50ZWFtLXNvY2lhbCB1bCBsaXsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgltYXJnaW46MHB4IDEwcHg7DQp9DQoudGVhbS1zb2NpYWwgdWwgbGkgYXsNCgljb2xvcjojMTAxMDEwOw0KCWZvbnQtc2l6ZToxOHB4OyANCn0NCi5jLWwgLnRlYW06aG92ZXJ7DQoJYmFja2dyb3VuZDojZmJiZDE4Ow0KCWJveC1zaGFkb3c6IDBweCAzcHggMTAuMjdweCAyLjczcHggcmdiYSgwLCAwLCAwLCAwLjQxKTsgDQp9DQoudGVhbTpob3ZlciAudGVhbS1zb2NpYWx7DQoJYmFja2dyb3VuZDojMDAwMDAwOyANCn0NCi50ZWFtOmhvdmVyIC50ZWFtLXNvY2lhbCBhew0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC42KTsgDQp9DQoudGVhbTpob3ZlciAudGVhbS1zb2NpYWwgYTpob3ZlcnsNCgljb2xvcjojZmJiZDE4Ow0KfQ0KLnRlYW06aG92ZXIgLnRlYW0taW5uZXIgaW1new0KCWJveC1zaGFkb3c6IDAgMCAwIDJweCAjMDAwMDAwOw0KfQ0KLnRlYW0tYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWN1cnNvcjpwb2ludGVyOyANCgl6LWluZGV4OiAxOw0KCW1hcmdpbjoxNXB4IDBweDsgDQp9DQoudGVhbS1ib3ggLnRleHR7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJYmFja2dyb3VuZDojZmZmZmZmOw0KCXBhZGRpbmc6IDIwcHggMTVweCAxNXB4Ow0KCXBvc2l0aW9uOnJlbGF0aXZlOyANCn0NCi50ZWFtLWJveCAudGV4dDpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjA7DQoJd2lkdGg6MTAwJTsNCgloZWlnaHQ6NXB4Ow0KCWJhY2tncm91bmQ6I2ZiYmQxODsNCgljb250ZW50OiIiOw0KCWxlZnQ6MDsgICANCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDQwMG1zOw0KCXRyYW5zaXRpb246YWxsIDQwMG1zOw0KCXotaW5kZXg6MDsgICAgIA0KfQ0KLnRlYW0tYm94OmhvdmVyIC50ZXh0OmJlZm9yZXsNCglib3R0b206MDsNCgloZWlnaHQ6MTAwJTsNCn0NCi50ZWFtLWJveCAudGV4dCBoNHsNCgljb2xvcjojMDAwMDAwOw0KCW1hcmdpbi1ib3R0b206MDsNCglmb250LXdlaWdodDpib2xkOw0KfQ0KLnRlYW0tYm94IC50ZXh0ID4gKnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQoudGVhbS1ib3ggLnRlYW0taW1new0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWJhY2tncm91bmQ6IzAwMDAwMDsNCglvdmVyZmxvdzpoaWRkZW47ICANCn0NCi50ZWFtLWJveCAudGVhbS1pbWcgaW1new0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNDAwbXM7DQoJdHJhbnNpdGlvbjphbGwgNDAwbXM7DQp9DQoudGVhbS1ib3g6aG92ZXIgLnRlYW0taW1nIGltZ3sNCglvcGFjaXR5OjAuNDsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDQwMG1zOw0KCXRyYW5zaXRpb246YWxsIDQwMG1zOw0KfQ0KLnRlYW0tYm94OmhvdmVyIC50ZXh0IHNwYW57DQoJY29sb3I6I2ZmZmZmZjsgDQp9DQoudGVhbS1ib3ggLnRlYW0tc29jaWFsew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWJhY2tncm91bmQ6bm9uZTsNCglib3R0b206MTVweDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJd2lkdGg6IDEwMCU7DQoJcGFkZGluZzowOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNDAwbXM7DQoJdHJhbnNpdGlvbjphbGwgNDAwbXM7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNjBweCk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYwcHgpOw0KfQ0KLnRlYW0tYm94OmhvdmVyIC50ZWFtLXNvY2lhbHsNCgktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOw0KCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOw0KfQ0KLnRlYW0tYm94IC50ZWFtLXNvY2lhbCB1bCBsaXsNCgltYXJnaW46IDBweCAycHg7DQp9DQoudGVhbS1ib3ggLnRlYW0tc29jaWFsIHVsIGxpIGF7DQoJYmFja2dyb3VuZDojZmJiZDE3Ow0KCWNvbG9yOiMwMDAwMDA7DQoJaGVpZ2h0OjMycHg7DQoJd2lkdGg6MzJweDsNCglsaW5lLWhlaWdodDozMnB4Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7DQoJYm9yZGVyLXJhZGl1czo1cHg7IA0KCWRpc3BsYXk6IGJsb2NrOyAgICAgDQp9DQoudGVhbS1ib3ggLnRlYW0tc29jaWFsIGk6YmVmb3Jlew0KCWxpbmUtaGVpZ2h0OjMycHg7IA0KfQ0KLmRpYW1vbmQtbGF5b3V0LnRlYW0tc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQouZGlhbW9uZC1sYXlvdXQudGVhbS1zZWN0aW9uOmJlZm9yZXsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJaGVpZ2h0OjE5N3B4Ow0KCWNvbnRlbnQ6IiI7DQoJd2lkdGg6MTAwJTsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglib3R0b206MDsgICAgICANCn0NCi5kaWFtb25kLWxheW91dC50ZWFtLXNlY3Rpb246YWZ0ZXJ7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9jb2lucG9vbC1kb3RzLWNpcmNsZS5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJY29udGVudDogIiI7DQoJaGVpZ2h0OiAzNzBweDsNCgl3aWR0aDogMzcwcHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWJvdHRvbTogMDsNCglsZWZ0OiBjYWxjKCgxMDAlIC0gMTIwMHB4KSAvIDIpOw0KCW1hcmdpbi1sZWZ0OiAtMTg1cHg7DQoJei1pbmRleDogMDsNCgktd2Via2l0LWFuaW1hdGlvbjogcm90YXRlLWxlZnQgMjVzIGxpbmVhciAwcyBpbmZpbml0ZTsNCglhbmltYXRpb246IHJvdGF0ZS1sZWZ0IDI1cyBsaW5lYXIgMHMgaW5maW5pdGU7DQoJb3BhY2l0eTowLjQ7IA0KfQ0KLnRlYW0tbWluaW1hbC1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOyANCn0NCi50ZWFtLW1pbmltYWwtc2VjdGlvbjphZnRlcnsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2NvaW5wb29sLWRvdHMtY2lyY2xlLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCgljb250ZW50OiAiIjsNCgloZWlnaHQ6IDM3MHB4Ow0KCXdpZHRoOiAzNzBweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYm90dG9tOiAwOw0KCXJpZ2h0OjA7DQoJbWFyZ2luLXJpZ2h0OiAtMTg1cHg7DQoJbWFyZ2luLWJvdHRvbTogLTE4NXB4Ow0KCXotaW5kZXg6IDA7DQoJLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZS1sZWZ0IDI1cyBsaW5lYXIgMHMgaW5maW5pdGU7DQoJYW5pbWF0aW9uOiByb3RhdGUtbGVmdCAyNXMgbGluZWFyIDBzIGluZmluaXRlOw0KCW9wYWNpdHk6MC40Ow0KfQ0KLnRlYW0tbWluaW1hbC1zZWN0aW9uIC50ZWFtLWJveHsNCglmbGV4LXdyYXA6IHdyYXA7DQoJZGlzcGxheTogZmxleDsNCglhbGlnbi1pdGVtczpjZW50ZXI7IA0KfQ0KLnRlYW0tbWluaW1hbC1zZWN0aW9uIC50ZWFtLWltZ3sNCglmbGV4OjAgMCAxMjhweDsgDQoJbWF4LXdpZHRoOjEyOHB4Ow0KCXdpZHRoOjEwMCU7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo2cHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZmJiZDE4Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo4cHg7DQoJYm9yZGVyLXJhZGl1czo4cHg7IA0KfQ0KLnRlYW0tbWluaW1hbC1zZWN0aW9uIC50ZWFtLWltZyBpbWd7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDsNCglib3JkZXItcmFkaXVzOjRweDsgCQ0KfQ0KLnRlYW0tbWluaW1hbC1zZWN0aW9uIC50ZXh0ew0KCWJhY2tncm91bmQ6bm9uZTsNCgljb2xvcjojNjE2MTYxOw0KCXRleHQtYWxpZ246bGVmdDsNCglwYWRkaW5nOjBweCAwcHggMHB4IDMwcHg7ICANCn0NCi50ZWFtLW1pbmltYWwtc2VjdGlvbiAudGV4dDpiZWZvcmV7DQoJZGlzcGxheTpub25lOyANCn0NCi50ZWFtLW1pbmltYWwtc2VjdGlvbiAudGV4dCBoNHsNCgljb2xvcjojZmZmZmZmOyANCn0NCi50ZWFtLW1pbmltYWwtc2VjdGlvbiAudGVhbS1zb2NpYWx7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsNCglsZWZ0OiA1MCU7DQoJb3BhY2l0eTogMDsNCgl0b3A6IDUwJTsNCglib3R0b206YXV0bzsgDQp9DQoudGVhbS1taW5pbWFsLXNlY3Rpb24gLnRlYW0tYm94OmhvdmVyIC50ZWFtLXNvY2lhbHsNCglvcGFjaXR5OjE7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsNCn0NCi50ZWFtLW1pbmltYWwtc2VjdGlvbiAudGVhbS1ib3g6aG92ZXIgLnRleHQgc3BhbnsNCgljb2xvcjojNjE2MTYxOw0KfQ0KLnRlYW1zbGlkZXIgLm93bC1kb3Rzew0KCWRpc3BsYXk6bm9uZTsNCn0NCi50ZWFtc2xpZGVyIC50ZWFtLWJveCAudGV4dHsNCgliYWNrZ3JvdW5kOiNmMmYyZjI7IA0KfQ0KLnRlYW1zbGlkZXIgLm93bC1uYXZ7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDExNzBweCk7DQogICAgYm90dG9tOjMwcHg7DQp9DQoudGVhbXNsaWRlci5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uew0KCXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7DQoJaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXM7IA0KfQ0KLnRlYW1zbGlkZXIub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbjpob3ZlcnsNCgliYWNrZ3JvdW5kOiAjMDAwOw0KCWNvbG9yOiAjZmZmOw0KCWJvcmRlci1jb2xvcjogIzAwMCAhaW1wb3J0YW50Ow0KfQ0KLnRlYW1zbGlkZXIub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbiBzcGFuew0KCWZvbnQtc2l6ZTogNDBweDsNCglsaW5lLWhlaWdodDogMjlweDsNCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoxMS4gQkxPRyBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmJsb2ctc2VjdGlvbiB7DQoJY2xlYXI6IGJvdGg7DQoJYmFja2dyb3VuZDogI2YyZjJmMjsNCn0NCi5ibG9nLXNlY3Rpb24gLmJsb2dtYWluIHsNCgltYXJnaW4tdG9wOiAzMHB4Ow0KCWNsZWFyOiBib3RoOw0KfQ0KLmJsb2ctZGF0ZSB7DQoJY29sb3I6ICNmYmJkMTg7DQp9DQouYmxvZy1saXN0IGg0IHsNCgljb2xvcjogIzFkMWQxZDsNCglmb250LXNpemU6IDE2cHg7DQoJbGluZS1oZWlnaHQ6IDI2cHg7DQoJZm9udC13ZWlnaHQ6IDcwMDsNCgltYXJnaW46IDEwcHggMCAwOw0KfQ0KLmJsb2ctbGlzdCBoNCBhew0KCWNvbG9yOiAjMWQxZDFkOw0KfQ0KLmJsb2ctbGlzdCBoNCBhOmhvdmVyew0KCWNvbG9yOiNmYmJkMTg7DQp9DQouYmxvZy1saXN0IHsNCglkaXNwbGF5OiBmbGV4Ow0KfQ0KLmJsb2ctbGlzdC1pbWcgew0KCW1hcmdpbi1yaWdodDogMzBweDsNCgltaW4td2lkdGg6IDE3MHB4Ow0KCWJhY2tncm91bmQtc2l6ZTogY292ZXI7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7DQp9DQouYmxvZy1saXN0ICsgLmJsb2ctbGlzdCB7DQoJbWFyZ2luLXRvcDogNDRweDsNCn0NCi5ibG9nLXNpbmdsZSB7DQoJaGVpZ2h0OiAxMDAlOw0KCWJhY2tncm91bmQtc2l6ZTogY292ZXI7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7DQoJZGlzcGxheTogLW1zLWZsZXhib3g7DQoJZGlzcGxheTogZmxleDsNCgktbXMtZmxleC13cmFwOiB3cmFwOw0KCWZsZXgtd3JhcDogd3JhcDsNCgktbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7DQoJYWxpZ24taXRlbXM6IGVuZCAhaW1wb3J0YW50Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5ibG9nLXNpbmdsZS1jb250ew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglwYWRkaW5nOiAzMHB4Ow0KCWNvbG9yOiAjZmZmZmZmOw0KCWJvdHRvbTogMHB4Ow0KCWxlZnQ6IDBweDsNCglyaWdodDogMHB4Ow0KCXdpZHRoOiAxMDAlOw0KfQ0KLmJsb2ctc2luZ2xlLWNvbnQgaDQgew0KCWNvbG9yOiAjZmZmOw0KCW1hcmdpbjogMTBweCAwIDA7DQoJZm9udC1zaXplOiAyMHB4Ow0KCWZvbnQtd2VpZ2h0OjYwMDsgDQp9DQouYmxvZy1zaW5nbGUtY29udCBoNCBhew0KCWNvbG9yOiAjZmZmOwkNCn0NCi5ibG9nLXNpbmdsZS1jb250IGg0IGE6aG92ZXJ7DQoJY29sb3I6I2ZiYmQxODsNCn0NCi5ibG9nLXNsaWRlciAuYmxvZy1saXN0LWltZ3sNCgl3aWR0aDoxMDAlOw0KCW1hcmdpbi1yaWdodDowOw0KCWRpc3BsYXk6YmxvY2s7IA0KfQ0KLmJsb2ctc2xpZGVyIC5pdGVtew0KCXBhZGRpbmc6MHB4IDE1cHg7DQp9DQouYmxvZy1zbGlkZXIgLmJsb2ctbGlzdHsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KLmJsb2ctc2xpZGVyIC5ibG9nLWxpc3QtZGVzY3sNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQoJcGFkZGluZzoxNXB4IDE1cHg7IA0KfQ0KLmJsb2ctc2xpZGVyIC5ibG9nLWxpc3QtZGVzYyBoNHsNCgltYXJnaW46MHB4IDBweCAwcHggMHB4OyANCn0NCi5ibG9nLXNsaWRlci5zdHlsZS0yIC5ibG9nLWxpc3R7DQoJYm9yZGVyOjNweCBzb2xpZCAjZWJlYmViOw0KfQ0KLmJsb2ctc2xpZGVyLnN0eWxlLTIgLmJsb2ctbGlzdCBwew0KCW1hcmdpbjoxMHB4IDBweCAwcHggMHB4OyANCn0NCi5ibG9nLXNsaWRlci5zdHlsZS0yIC5ibG9nLWRhdGV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJYmFja2dyb3VuZDojZmJiZDE4Ow0KCWJvcmRlcjoycHggc29saWQgI2ViZWJlYjsNCgl0b3A6MzBweDsNCglyaWdodDowcHg7DQoJd2lkdGg6NjBweDsNCgljb2xvcjojZmZmZmZmOw0KCXBhZGRpbmc6NXB4Ow0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCglmb250LXdlaWdodDpib2xkOw0KCWxpbmUtaGVpZ2h0OjE7DQoJdGV4dC1hbGlnbjpjZW50ZXI7ICANCn0NCi5ibG9nLXNsaWRlci5zdHlsZS0yIC5ibG9nLWRhdGUgc3BhbnsNCglmb250LXNpemU6MzBweDsNCglsaW5lLWhlaWdodDoxLjI7ICANCn0NCi5jLWwgLmJsb2ctc2xpZGVyIC5ibG9nLWxpc3QtZGVzYyBoNHsNCgltYXJnaW4tdG9wOjEwcHg7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KLmMtbCAuYmxvZy1zbGlkZXIgLmJsb2ctbGlzdC1kZXNjew0KCXBhZGRpbmc6MHB4IDE1cHggMTVweDsgDQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCi5jLWwgLmJsb2ctZGF0ZXsNCgliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KCWNvbG9yOiMwMDAwMDA7DQoJbWFyZ2luOjBweCAtMTVweDsNCglkaXNwbGF5OmJsb2NrOw0KCXBhZGRpbmc6OHB4IDE1cHg7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOyAgIA0KCWJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7ICAgIA0KfQ0KLmMtbCAub3dsLWNhcm91c2VsIC5vd2wtZG90cyBidXR0b257DQoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNCk7DQoJaGVpZ2h0OiAxM3B4Ow0KCXdpZHRoOiAxM3B4Ow0KCW1hcmdpbjogMCA1cHg7DQoJb3V0bGluZTogMDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyOiAzcHggc29saWQgI2ZmZjsNCglib3gtc2hhZG93OjBweCAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDApOyANCn0NCi5jLWwgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMgYnV0dG9uLmFjdGl2ZXsNCgliYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMSk7DQoJYm94LXNoYWRvdzowcHggMHB4IDFweCAxcHggcmdiYSgwLDAsMCwxKTsNCn0NCi5kaWFtb25kLWxheW91dCAuYmxvZy1zbGlkZXIgLml0ZW17DQoJcGFkZGluZzogMHB4IDJweDsNCn0NCi5kaWFtb25kLWxheW91dCAuYmxvZ21haW57DQoJbWFyZ2luLXJpZ2h0OiAtMnB4Ow0KCW1hcmdpbi1sZWZ0OiAtMnB4Ow0KfQ0KLmRpYW1vbmQtbGF5b3V0IC5ibG9nLWxpc3QtaW1nIGF7DQoJcGFkZGluZy10b3A6MTAwJTsNCglkaXNwbGF5OmJsb2NrOyANCn0NCi5kaWFtb25kLWxheW91dCAuYmxvZy1zbGlkZXIgLmJsb2ctbGlzdHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQouZGlhbW9uZC1sYXlvdXQgLmJsb2ctc2xpZGVyIC5ibG9nLWxpc3QtZGVzY3sNCgliYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApOw0KCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSwgcmdiYSgwLDAsMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgwLDAsMCwwKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgwLDAsMCwxKSkpOw0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSwgcmdiYSgwLDAsMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsMSkgMTAwJSk7DQoJZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcsIEdyYWRpZW50VHlwZT0wICk7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJYm90dG9tOjBweDsNCglsZWZ0OjA7DQoJcmlnaHQ6MDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJcGFkZGluZy10b3A6NjBweDsNCn0NCi5ibG9nLWNhdGVnb3J5LW1ldGEgYXsNCgliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KCWNvbG9yOiNmZmZmZmY7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJcGFkZGluZzo2cHggMTBweDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OyANCglib3JkZXItcmFkaXVzOjRweDsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglsaW5lLWhlaWdodDoxOyAgIA0KfQ0KLmRpYW1vbmQtbGF5b3V0IC5ibG9nLWxpc3QtZGVzYyBoNHsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJZm9udC1zaXplOjE4cHg7DQoJY29sb3I6I2ZmZjsNCgltYXJnaW46MTBweCAwcHg7ICANCn0NCi5kaWFtb25kLWxheW91dCAuYmxvZy1saXN0LWRlc2MgaDQgYXsNCgljb2xvcjojZmZmZmZmOyANCn0NCi5kaWFtb25kLWxheW91dCAuYmxvZy1kYXRlLW1ldGF7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KCWNvbG9yOiNmZmZmZmY7IA0KfQ0KLmRpYW1vbmQtbGF5b3V0IC5vd2wtY2Fyb3VzZWwgLm93bC1uYXZ7DQoJbWFyZ2luOjBweDsNCgl3aWR0aDoxMDAlOyAgDQp9DQouZGlhbW9uZC1sYXlvdXQgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b257DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjUwJTsNCgltYXJnaW4tdG9wOi01NXB4Ow0KCXdpZHRoOjQ4cHggIWltcG9ydGFudDsNCgloZWlnaHQ6NDhweCAhaW1wb3J0YW50Ow0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7DQoJYm9yZGVyLXJhZGl1czo0cHg7DQoJYm9yZGVyOm5vbmUgIWltcG9ydGFudDsNCgliYWNrZ3JvdW5kOiNmMmYyZjI7ICANCglsZWZ0Oi0yMHB4Ow0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXM7IA0KCXRyYW5zaXRpb246YWxsIDMwMG1zOyANCn0NCi5kaWFtb25kLWxheW91dCAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dHsNCglyaWdodDotMzBweDsNCglsZWZ0OmF1dG87IA0KfQ0KLmRpYW1vbmQtbGF5b3V0IC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uOmhvdmVyew0KCWJhY2tncm91bmQ6I2ZiYmQxODsgDQp9DQouZGlhbW9uZC1sYXlvdXQgLm93bC1uYXYgYnV0dG9uIHNwYW57DQoJZm9udC1zaXplOjA7IA0KfQ0KLmRpYW1vbmQtbGF5b3V0IC5vd2wtbmF2IGJ1dHRvbiBzcGFuOmJlZm9yZXsNCgljb250ZW50OiJcZjA1MyI7DQoJZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsNCglmb250LXdlaWdodDo5MDA7DQoJZm9udC1zaXplOiAyNHB4Ow0KCWNvbG9yOiMwZjBmMGY7DQoJbGluZS1oZWlnaHQ6IDQ4cHg7IA0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KLmRpYW1vbmQtbGF5b3V0IC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCBzcGFuOmJlZm9yZXsNCgljb250ZW50OiJcZjA1NCI7DQoJZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsNCn0NCi5zZXJ2aWNlcy1zbGlkZXIgLml0ZW0gew0KICAgIHBhZGRpbmc6IDBweCAxNXB4Ow0KfQ0KLnNlcnZpY2VzLXNsaWRlciAuaXRlbSAuc2VydmljZXMtYm94ew0KCWJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7DQp9DQouc2VydmljZXMtc2xpZGVyIC5pdGVtIC5zZXJ2aWNlcy1kZXNjew0KCXBhZGRpbmc6MzBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsgIA0KfQ0KLnNlcnZpY2VzLWRlc2MgaDN7DQoJZm9udC1zaXplOjI0cHg7DQoJY29sb3I6IzAwMDAwMDsgIA0KfQ0KLnNlcnZpY2VzLWRlc2MgcHsNCglsaW5lLWhlaWdodDoxLjY7IA0KfQ0KLmJsb2ctZ3JpZC1sYXlvdXQgLmFydGljbGUtaXRlbSB7DQogICAgYmFja2dyb3VuZDogI2YyZjJmMjsNCiAgICBwYWRkaW5nOjMwcHggMjBweCA1MHB4IDIwcHg7DQogICAgZGlzcGxheTogdGFibGU7DQogICAgd2lkdGg6MTAwJTsgDQogICAgbWFyZ2luLWJvdHRvbTozMHB4Ow0KICAgIG1hcmdpbi10b3A6NDBweDsNCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQouYmxvZy1ncmlkLWxheW91dCAuYXJ0aWNsZS1pbWcgew0KICAgIHdpZHRoOiA0OCU7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgbWFyZ2luLXRvcDotNjBweDsgDQogICAgbWFyZ2luLWJvdHRvbToxNXB4OyANCn0NCi5ibG9nLWdyaWQtbGF5b3V0IC5hcnRpY2xlLWltZyBhew0KCXBhZGRpbmctdG9wOjEzMy4zMyU7DQoJZGlzcGxheTogYmxvY2s7IA0KfQ0KLmJsb2ctZ3JpZC1sYXlvdXQgLmFydGljbGUtZGV0YWlsc3sNCgl3aWR0aDo0OCU7DQoJY29sb3I6IzAwMDAwMDsNCglwYWRkaW5nOjBweCAwcHggMTVweDsgIA0KfQ0KLmJsb2ctZ3JpZC1sYXlvdXQgaDIuaGVhZGluZy10aXRsZXsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo2MDA7DQoJY29sb3I6IzAwMDAwMDsgICANCn0NCi5ibG9nLWdyaWQtbGF5b3V0IGgyLmhlYWRpbmctdGl0bGUgYXsNCgljb2xvcjojMDAwMDAwOw0KfQ0KLmJsb2ctZ3JpZC1sYXlvdXQgLmZvb3Rlci1tZXRhew0KCWJhY2tncm91bmQ6ICNmYmJkMTg7DQoJcGFkZGluZzogMTBweCAzMHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWJvdHRvbTowcHg7DQoJbGVmdDowcHg7IA0KCXJpZ2h0OjA7DQoJY29sb3I6IzAwMDAwMDsgDQp9DQouYmxvZy1ncmlkLWxheW91dCAuZm9vdGVyLW1ldGEgYXsNCgljb2xvcjojMDAwMDAwOyANCn0NCi5ibG9nLWdyaWQtbGF5b3V0IC5mb290ZXItbWV0YSAuZW50cnktZGF0ZXsNCglwYWRkaW5nLXJpZ2h0OjEwcHg7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMDAwOyAgIA0KfQ0KLmJsb2ctZ3JpZC1sYXlvdXQgLmZvb3Rlci1tZXRhIC5lbnRyeS1yZWFkbW9yZXsNCglmbG9hdDpyaWdodDsNCglmb250LXdlaWdodDo2MDA7ICANCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoxMi4gRkFRIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQouZmFxLXNlY3Rpb257DQoJYmFja2dyb3VuZDojZjJmMmYyOyAJDQp9DQouYWNjb3JkaW9uIC5jYXJkew0KCWJvcmRlci1yYWRpdXM6MHB4Ow0KCWJhY2tncm91bmQ6I2ZmZmZmZjsgDQoJbWFyZ2luLWJvdHRvbTo1cHg7DQoJYm94LXNoYWRvdzogMHB4IDBweCAxOHB4IDBweCByZ2JhKDEyMywgMTIzLCAxMjMsIDAuMik7IA0KCS13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxOHB4IDBweCByZ2JhKDEyMywgMTIzLCAxMjMsIDAuMik7IA0KCS1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxOHB4IDBweCByZ2JhKDEyMywgMTIzLCAxMjMsIDAuMik7DQp9DQouY2FyZC1oZWFkZXJ7DQoJYmFja2dyb3VuZDojZmZmZmZmOyANCn0NCi5jYXJkLWhlYWRlciBhew0KCWNvbG9yOiMxZDFkMWQ7DQp9DQouY2FyZC1oZWFkZXIgYTpmb2N1cywgLmNhcmQtaGVhZGVyIGE6Zm9jdXMgaDV7DQoJYm9yZGVyOm5vbmU7IA0KCW91dGxpbmU6IDA7DQp9DQouY2FyZC1oZWFkZXIgYSBoNXsNCglmb250LXdlaWdodDo3MDA7IA0KfQ0KLmNhcmQtaGVhZGVyIC5yb3RhdGUtaWNvbnsNCglmbG9hdDogcmlnaHQ7DQp9DQouY2FyZCAuY2FyZC1oZWFkZXIgYTpub3QoLmNvbGxhcHNlZCkgLnJvdGF0ZS1pY29uew0KCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCgktbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCgl0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KCWNvbG9yOiAjZmJiZDE4DQp9DQouY2FyZC1oZWFkZXJ7DQoJYm9yZGVyLWJvdHRvbTpub25lOyANCn0NCi5jYXJkLWJvZHl7DQoJcGFkZGluZy10b3A6MHB4OyANCn0NCi5jYXJkIC5jYXJkLWhlYWRlciBhOm5vdCguY29sbGFwc2VkKTpiZWZvcmV7DQoJYmFja2dyb3VuZDogI2ZiYmQxODsNCgloZWlnaHQ6IDNweDsNCgl3aWR0aDogMTAwJTsNCgljb250ZW50OiAiIjsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbGVmdDogMDsNCgl0b3A6IDA7DQp9DQouc3R5bGUtMi5hY2NvcmRpb24gLmNhcmR7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjBweDsNCglib3JkZXItcmFkaXVzOjBweDsNCgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50Ow0KCW1hcmdpbi1ib3R0b206MTVweDsNCglib3gtc2hhZG93OiBub25lOw0KCS13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCgktbW96LWJveC1zaGFkb3c6IG5vbmU7DQoJYm9yZGVyOiBub25lOw0KfQ0KLnN0eWxlLTIuYWNjb3JkaW9uIC5jYXJkLWhlYWRlcnsNCglwYWRkaW5nOjBweCAwcHg7DQp9DQouc3R5bGUtMi5hY2NvcmRpb24gLmNhcmQtaGVhZGVyIGF7DQoJcGFkZGluZzoxNXB4IDY1cHggMTVweCAzMHB4Ow0KCWRpc3BsYXk6YmxvY2s7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjRmNGY0Ow0KCWJhY2tncm91bmQ6I2Y0ZjRmNDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6OHB4ICFpbXBvcnRhbnQ7DQoJYm9yZGVyLXJhZGl1czo4cHggIWltcG9ydGFudDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouc3R5bGUtMi5hY2NvcmRpb24gLmNhcmQtaGVhZGVyIGEgaDV7DQoJZm9udC1mYW1pbHk6IlBvcHBpbnMiLCBzYW5zLXNlcmlmOw0KCWNvbG9yOiMwMDAwMDA7DQoJZm9udC1zaXplOjIwcHg7ICAgDQoJbGluZS1oZWlnaHQ6MzJweDsgDQp9DQouc3R5bGUtMi5hY2NvcmRpb24gLmNhcmQtYm9keXsNCglwYWRkaW5nOjE1cHggMzBweDsNCn0NCi5zdHlsZS0yIC5jYXJkIC5jYXJkLWhlYWRlciBhOm5vdCguY29sbGFwc2VkKTo6YmVmb3Jlew0KCWRpc3BsYXk6bm9uZTsgDQp9DQouc3R5bGUtMiAuY2FyZCAuY2FyZC1oZWFkZXIgYTpub3QoLmNvbGxhcHNlZCl7DQoJYm9yZGVyOjFweCBzb2xpZCAjZmZlY2I5Ow0KCWJhY2tncm91bmQ6I2ZmZjllOTsNCn0NCi5zdHlsZS0yIC5jYXJkLWhlYWRlciAucm90YXRlLWljb257DQoJaGVpZ2h0OjU0cHg7DQoJd2lkdGg6NTRweDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6NnB4Ow0KCWJvcmRlci1yYWRpdXM6NnB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDo0cHg7DQoJdG9wOjRweDsNCgliYWNrZ3JvdW5kOiAjZmJiZDE3Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWxpbmUtaGVpZ2h0OjU0cHg7IA0KCWZvbnQtc2l6ZToyNHB4OyANCn0NCi5zdHlsZS0yIC5jYXJkIC5jYXJkLWhlYWRlciBhOm5vdCguY29sbGFwc2VkKSAucm90YXRlLWljb257DQoJY29sb3I6IzAwMDAwMCANCn0NCi5zdHlsZS0yIC5jYXJkIC5mYS1jYXJldC1kb3duOjpiZWZvcmV7DQoJY29udGVudDoiXGYwNzgiOw0KfQ0KLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb257DQoJYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvYmctMS5qcGciKSBuby1yZXBlYXQgc2Nyb2xsIGNlbnRlcjsNCgliYWNrZ3JvdW5kLXNpemU6IGNvdmVyOw0KCWNvbG9yOiMwMDAwMDA7IA0KfQ0KLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gaDJ7DQoJY29sb3I6IzAwMDAwMDsNCn0NCiAuaG93LWl0LXdvcmtzew0KIAliYWNrZ3JvdW5kOiNmMmYyZjI7IA0KfQ0KLmhvdy1pdC13b3Jrcy1ib3h7DQogCWJhY2tncm91bmQ6I2ZmZmZmZjsNCiAJYm9yZGVyOjFweCBzb2xpZCAjZGRkZGRkOw0KIAlwYWRkaW5nOjMwcHg7ICANCn0NCi5ob3ctaXQtd29ya3MtYm94IC5pY297DQoJbWFyZ2luLWJvdHRvbTozMHB4OyANCn0NCi5ob3ctaXQtd29ya3MtYm94IGg0ew0KCW1hcmdpbi1ib3R0b206MTBweDsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LXdlaWdodDo2MDA7DQoJZm9udC1zaXplOjE4cHg7DQoJbGV0dGVyLXNwYWNpbmc6MXB4OyAgIA0KfQ0KLmZhcS1zZWN0aW9uIC50YWItc2VjdGlvbiAubmF2LXRhYnN7DQoJbWFyZ2luLWJvdHRvbTozMHB4OyANCn0NCi5mYXEtc2VjdGlvbiAudGFiLXNlY3Rpb24gLm5hdi10YWJzIC5uYXYtaXRlbXsNCglmbGV4LWdyb3c6IDE7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWZsZXgtYmFzaXM6IDA7DQp9DQouZmFxLXNlY3Rpb24gLnRhYi1zZWN0aW9uIC5uYXYtdGFicyAubmF2LWxpbmt7DQoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsNCglmb250LXdlaWdodDo2MDA7IA0KCWZvbnQtc2l6ZTogMjBweDsNCn0NCi5zdHlsZS0zLmFjY29yZGlvbiAuY2FyZCB7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4Ow0KICAgIGJhY2tncm91bmQ6I2ZmZmZmZjsNCiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTsNCiAgICBib3JkZXI6IG5vbmU7DQogICAgcGFkZGluZzoyMHB4OyANCn0NCi5zdHlsZS0zIC5jYXJkLWhlYWRlciAucm90YXRlLWljb24gew0KICAgIGhlaWdodDogNTRweDsNCiAgICB3aWR0aDogNTRweDsNCiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDZweDsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHJpZ2h0OiAwcHg7DQogICAgdG9wOiA5cHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGxpbmUtaGVpZ2h0OiA1NHB4Ow0KICAgIGZvbnQtc2l6ZTogMjRweDsNCg0KfQ0KLnN0eWxlLTMgLmNhcmQgLmZhLWNhcmV0LWRvd246OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDc4IjsNCiAgICBjb2xvcjogIzZkNmI2YjsNCn0NCi5zdHlsZS0zIC5jYXJkIC5jYXJkLWhlYWRlciBhOm5vdCguY29sbGFwc2VkKSAucm90YXRlLWljb24gew0KICAgIGNvbG9yOiAjNmQ2YjZiOw0KfQ0KLnN0eWxlLTMuYWNjb3JkaW9uIC5jYXJkLWhlYWRlciB7DQogICAgcGFkZGluZzogMHB4IDBweDsNCiAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyANCn0NCi5zdHlsZS0zLmFjY29yZGlvbiAuY2FyZC1ib2R5IHsNCiAgICBwYWRkaW5nOiAxNXB4IDQ1cHggMTVweCA0NXB4Ow0KfQ0KLnN0eWxlLTMuYWNjb3JkaW9uIC5jYXJkLWhlYWRlciBhIGg1IHsNCiAgICBmb250LWZhbWlseTogIlBvcHBpbnMiLCBzYW5zLXNlcmlmOw0KICAgIGNvbG9yOiAjMDAwMDAwOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICBwYWRkaW5nOjBweCA0NXB4IA0KfQ0KLnN0eWxlLTMgLmNhcmQgLmNhcmQtaGVhZGVyIGE6bm90KC5jb2xsYXBzZWQpOjpiZWZvcmUgew0KCWRpc3BsYXk6bm9uZTsgDQp9DQouc3R5bGUtMy5hY2NvcmRpb24gLmNhcmQtaGVhZGVyIGg1OmJlZm9yZXsNCgljb250ZW50OiAiKyI7DQogICAgYmFja2dyb3VuZDogI2ZiYmQxODsNCiAgICBib3JkZXItcmFkaXVzOiA1MHB4Ow0KICAgIGNvbG9yOiAjMDAwMDAwOw0KICAgIGZvbnQtZmFtaWx5OiAiUG9wcGlucyIsIHNhbnMtc2VyaWY7DQogICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICBsaW5lLWhlaWdodDogMjhweDsNCiAgICB3aWR0aDogMjZweDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgaGVpZ2h0OiAyNnB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDI0cHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMjJweDsNCglsZWZ0OjIwcHggDQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMTMuIEZPT1RFUiBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KZm9vdGVyIHsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMTAwJTsNCgliYWNrZ3JvdW5kOiAjMDAwMDAwOw0KCXBhZGRpbmc6IDkwcHggMCA0NXB4Ow0KCWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuNikNCn0NCmZvb3Rlci5mb290ZXItMnsNCgliYWNrZ3JvdW5kOnVybCgiaW1hZ2VzL2Zvb3Rlci0yLWJnLmpwZyIpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsgDQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsgDQp9DQpmb290ZXIgLnNlYy10aXRsZTphZnRlciB7DQoJbWFyZ2luOiAxOHB4IDAgMjJweDsNCn0NCmZvb3RlciAuc2VjLXRpdGxlIGg0IHsNCglmb250LXdlaWdodDogNzAwOw0KCWZvbnQtc2l6ZTogMjRweDsNCn0NCi5mb290ZXItMiAuc2VjLXRpdGxlIGg0ew0KCWZvbnQtc2l6ZTogMzJweDsJDQp9DQpmb290ZXIgLnNlYy10aXRsZSBoNC53aWRnZXQtdGl0bGV7DQoJY29sb3I6I2ZmZmZmZjsgDQp9DQouZm9vdGVyLWxvZ28gew0KCW1hcmdpbi1ib3R0b206IDIycHg7DQp9DQouY29weXJpZ2h0cyB7DQoJY29sb3I6ICNmZmY7DQoJbWFyZ2luLXRvcDogMTBweDsNCn0NCi5jb3B5cmlnaHRzLnN0eWxlLTF7DQoJbWFyZ2luLXRvcDogLTUwcHg7DQp9DQouY29weXJpZ2h0cyBhIHsNCgljb2xvcjogI2ZiYmQxODsNCn0NCi5mb290ZXItYm94LTIgdWwgew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQp9DQouZm9vdGVyLWJveC0yIGxpIHsNCgl3aWR0aDogNTAlOw0KCWZsb2F0OiBsZWZ0Ow0KCW1hcmdpbi10b3A6IDdweDsNCn0NCmZvb3RlciBsaSBhIHsNCgljb2xvcjogI2ZmZjsNCglmb250LXNpemU6IDE4cHg7DQp9DQpmb290ZXIgbGkgYTpob3ZlciB7DQoJY29sb3I6ICNmYmJkMTg7DQp9DQouZm9vdGVyLTIgLnNvY2lhbHN7DQoJbWFyZ2luLWJvdHRvbTogMjVweDsNCn0NCi5mb290ZXItMiAuc29jaWFscyBsaXsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgl3aWR0aDphdXRvOw0KCWZsb2F0Om5vbmU7IA0KfQ0KLmZvb3Rlci0yIC5uZXdzbGV0dGVyew0KCW1hcmdpbjoxNXB4IDBweDsgDQp9DQoubmV3c2xldHRlcjphZnRlcnsNCgljb250ZW50OiIiOw0KCWRpc3BsYXk6YmxvY2s7DQoJY2xlYXI6Ym90aDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsgDQp9DQoubmV3c2xldHRlciAuaW5wdXQgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KLm5ld3NsZXR0ZXIgLmlucHV0OmJlZm9yZSwNCi5uZXdzbGV0dGVyIC5pbnB1dDphZnRlciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWxlZnQ6IDA7DQoJYm90dG9tOiAwOw0KCWJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjsNCgljb250ZW50OiAiIjsNCgloZWlnaHQ6IDhweDsNCgl3aWR0aDogOHB4Ow0KCW9wYWNpdHk6IDAuNjsNCn0NCi5uZXdzbGV0dGVyIC5pbnB1dDphZnRlciB7DQoJbGVmdDogYXV0bzsNCglyaWdodDogMDsNCglib3JkZXItbGVmdDogMDsNCglib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmOw0KfQ0KLm5ld3NsZXR0ZXIgLmlucHV0IHNwYW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoubmV3c2xldHRlciAuaW5wdXQgaW5wdXQgew0KCWJvcmRlcjogbm9uZTsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOw0KCXBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7DQoJY29sb3I6ICNmZmY7DQoJYm94LXNoYWRvdzogbm9uZTsNCgl3aWR0aDogMTAwJTsNCn0NCi5uZXdzbGV0dGVyOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjIpOw0KfQ0KLm5ld3NsZXR0ZXI6LW1vei1wbGFjZWhvbGRlciB7DQoJY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC4yKTsNCglvcGFjaXR5OiAxOw0KfQ0KLm5ld3NsZXR0ZXI6Oi1tb3otcGxhY2Vob2xkZXIgew0KCWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuMik7DQoJb3BhY2l0eTogMTsNCn0NCi5uZXdzbGV0dGVyOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7DQoJY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC4yKTsNCn0NCi5uZXdzbGV0dGVyIC5zdWJtaXQgew0KCXdpZHRoOiAxMDBweDsNCglmbG9hdDogbGVmdDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoubmV3c2xldHRlciAuc3VibWl0OmJlZm9yZSwNCi5uZXdzbGV0dGVyIC5zdWJtaXQ6YWZ0ZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiAwOw0KCXRvcDogMDsNCglib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7DQoJYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7DQoJY29udGVudDogIiI7DQoJaGVpZ2h0OiA4cHg7DQoJd2lkdGg6IDhweDsNCglvcGFjaXR5OiAwLjY7DQp9DQoubmV3c2xldHRlciAuc3VibWl0OmFmdGVyIHsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAwOw0KCXRvcDogYXV0bzsNCglib3R0b206IDA7DQoJYm9yZGVyOiAwOw0KCWJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7DQp9DQoubmV3c2xldHRlciAuc3VibWl0IGlucHV0IHsNCglib3JkZXI6IG5vbmU7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQoJY29sb3I6ICNmZmY7DQoJZm9udC1zaXplOiAxNHB4Ow0KCXBhZGRpbmc6IDEwcHggMTVweDsNCgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsNCglib3JkZXItYm90dG9tOiAwOw0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCi5uZXdzbGV0dGVyIC5zdWJtaXQgaW5wdXQ6Zm9jdXN7DQoJb3V0bGluZTogMDsNCglib3JkZXI6IG5vbmU7DQoJYm94LXNoYWRvdzogbm9uZTsNCn0NCi5zb2NpYWxzIHsNCgljbGVhcjogYm90aDsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMTAwJTsNCgltYXJnaW4tdG9wOiAyNXB4Ow0KfQ0KLnNvY2lhbHM6YWZ0ZXJ7DQoJY29udGVudDoiIjsNCglkaXNwbGF5OmJsb2NrOw0KCXZpc2liaWxpdHk6aGlkZGVuOw0KCWNsZWFyOmJvdGg7ICANCn0NCi5zb2NpYWxzIHVsIHsNCglsaXN0LXN0eWxlOiBub25lOw0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KfQ0KLnNvY2lhbHMgbGkgew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJZmxvYXQ6IGxlZnQ7DQoJd2lkdGg6IDUwJTsNCgltYXJnaW4tdG9wOiAxNXB4Ow0KfQ0KLnNvY2lhbHMgbGkgYSB7DQoJY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC42KTsNCn0NCi5zb2NpYWxzIGxpIGE6aG92ZXIgew0KCWNvbG9yOiAjZmJiZDE4Ow0KfQ0KLnNvY2lhbHMgbGkgaSB7DQoJZm9udC1zaXplOiAxNnB4Ow0KCWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7DQoJbWFyZ2luOiA1cHg7DQp9DQouZm9vdGVyLWJsb2Nrew0KCW1heC13aWR0aDo1NTBweDsNCglwYWRkaW5nOjBweCAxNXB4OyANCn0NCi5mb290ZXItMiAuc29jaWFscyBsaXsNCgltYXJnaW46MHB4IDVweCAxMHB4OyANCn0NCi5mb290ZXItMiAuc29jaWFscyBsaSBhew0KCWhlaWdodDo2NXB4Ow0KCXdpZHRoOjY1cHg7DQoJYm9yZGVyLXJhZGl1czo2cHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJbGluZS1oZWlnaHQ6NjVweDsNCglmb250LXNpemU6MjBweDsgICAgIA0KCWRpc3BsYXk6YmxvY2s7DQoJYmFja2dyb3VuZDogcmdiYSgyNTEsMTkwLDI0LDEpOw0KCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNTEsMTkwLDI0LDEpIDAlLCByZ2JhKDI0MCwxNDYsMzAsMSkgNjclLCByZ2JhKDI0MCwxNDYsMzAsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1MSwxOTAsMjQsMSkpLCBjb2xvci1zdG9wKDY3JSwgcmdiYSgyNDAsMTQ2LDMwLDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDI0MCwxNDYsMzAsMSkpKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjUxLDE5MCwyNCwxKSAwJSwgcmdiYSgyNDAsMTQ2LDMwLDEpIDY3JSwgcmdiYSgyNDAsMTQ2LDMwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjUxLDE5MCwyNCwxKSAwJSwgcmdiYSgyNDAsMTQ2LDMwLDEpIDY3JSwgcmdiYSgyNDAsMTQ2LDMwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1MSwxOTAsMjQsMSkgMCUsIHJnYmEoMjQwLDE0NiwzMCwxKSA2NyUsIHJnYmEoMjQwLDE0NiwzMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MSwxOTAsMjQsMSkgMCUsIHJnYmEoMjQwLDE0NiwzMCwxKSA2NyUsIHJnYmEoMjQwLDE0NiwzMCwxKSAxMDAlKTsNCglmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZiYmUxOCcsIGVuZENvbG9yc3RyPScjZjA5MjFlJywgR3JhZGllbnRUeXBlPTEgKTsNCn0NCi5mb290ZXItMiAuc29jaWFscyBsaSBhIGl7DQoJZm9udC1zaXplOiAyOHB4Ow0KCWxpbmUtaGVpZ2h0OjY1cHg7IA0KCW1hcmdpbjowcHg7IA0KfQ0KLmZvb3Rlci0yIC5zb2NpYWxzIGxpIGEuZmFjZWJvb2t7DQoJYmFja2dyb3VuZDogcmdiYSg5NywxMzQsMjE1LDEpOw0KCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSg5NywxMzQsMjE1LDEpIDAlLCByZ2JhKDI3LDYzLDE0MSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoOTcsMTM0LDIxNSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgyNyw2MywxNDEsMSkpKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoOTcsMTM0LDIxNSwxKSAwJSwgcmdiYSgyNyw2MywxNDEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSg5NywxMzQsMjE1LDEpIDAlLCByZ2JhKDI3LDYzLDE0MSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSg5NywxMzQsMjE1LDEpIDAlLCByZ2JhKDI3LDYzLDE0MSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDk3LDEzNCwyMTUsMSkgMCUsIHJnYmEoMjcsNjMsMTQxLDEpIDEwMCUpOw0KCWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNjE4NmQ3JywgZW5kQ29sb3JzdHI9JyMxYjNmOGQnLCBHcmFkaWVudFR5cGU9MSApOw0KDQp9DQouZm9vdGVyLTIgLnNvY2lhbHMgbGkgYS50d2l0dGVyew0KCWJhY2tncm91bmQ6IHJnYmEoMTI3LDIwMCwyNTMsMSk7DQoJYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEyNywyMDAsMjUzLDEpIDAlLCByZ2JhKDE3LDEyNiwyNTEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDEyNywyMDAsMjUzLDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDE3LDEyNiwyNTEsMSkpKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMTI3LDIwMCwyNTMsMSkgMCUsIHJnYmEoMTcsMTI2LDI1MSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEyNywyMDAsMjUzLDEpIDAlLCByZ2JhKDE3LDEyNiwyNTEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMTI3LDIwMCwyNTMsMSkgMCUsIHJnYmEoMTcsMTI2LDI1MSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEyNywyMDAsMjUzLDEpIDAlLCByZ2JhKDE3LDEyNiwyNTEsMSkgMTAwJSk7DQoJZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM3ZmM4ZmQnLCBlbmRDb2xvcnN0cj0nIzExN2VmYicsIEdyYWRpZW50VHlwZT0xICk7DQp9IA0KLmZvb3Rlci0yIC5zb2NpYWxzIGxpIGEuZy1wbHVzew0KCWJhY2tncm91bmQ6IHJnYmEoMjMwLDEyOSwxMTcsMSk7DQoJYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDIzMCwxMjksMTE3LDEpIDAlLCByZ2JhKDE5OSw1Niw0MCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjMwLDEyOSwxMTcsMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMTk5LDU2LDQwLDEpKSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDIzMCwxMjksMTE3LDEpIDAlLCByZ2JhKDE5OSw1Niw0MCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDIzMCwxMjksMTE3LDEpIDAlLCByZ2JhKDE5OSw1Niw0MCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyMzAsMTI5LDExNywxKSAwJSwgcmdiYSgxOTksNTYsNDAsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyMzAsMTI5LDExNywxKSAwJSwgcmdiYSgxOTksNTYsNDAsMSkgMTAwJSk7DQoJZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNlNjgxNzUnLCBlbmRDb2xvcnN0cj0nI2M3MzgyOCcsIEdyYWRpZW50VHlwZT0xICk7DQp9IA0KLmZvb3Rlci0yIC5zb2NpYWxzIGxpIGEueW91dHViZXsNCgliYWNrZ3JvdW5kOiByZ2JhKDI0MSw2Nyw2NywxKTsNCgliYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjQxLDY3LDY3LDEpIDAlLCByZ2JhKDIwMCwxMCwxMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjQxLDY3LDY3LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDIwMCwxMCwxMCwxKSkpOw0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNDEsNjcsNjcsMSkgMCUsIHJnYmEoMjAwLDEwLDEwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjQxLDY3LDY3LDEpIDAlLCByZ2JhKDIwMCwxMCwxMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgyNDEsNjcsNjcsMSkgMCUsIHJnYmEoMjAwLDEwLDEwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjQxLDY3LDY3LDEpIDAlLCByZ2JhKDIwMCwxMCwxMCwxKSAxMDAlKTsNCglmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2YxNDM0MycsIGVuZENvbG9yc3RyPScjYzgwYTBhJywgR3JhZGllbnRUeXBlPTEgKTsNCn0gDQouZm9vdGVyLTIgLnNvY2lhbHMgbGkgYS5saW5rZWRpbnsNCgliYWNrZ3JvdW5kOiByZ2JhKDg1LDE2MiwyMDEsMSk7DQoJYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDg1LDE2MiwyMDEsMSkgMCUsIHJnYmEoMiw4MywxMzAsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDg1LDE2MiwyMDEsMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMiw4MywxMzAsMSkpKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoODUsMTYyLDIwMSwxKSAwJSwgcmdiYSgyLDgzLDEzMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDg1LDE2MiwyMDEsMSkgMCUsIHJnYmEoMiw4MywxMzAsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoODUsMTYyLDIwMSwxKSAwJSwgcmdiYSgyLDgzLDEzMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDg1LDE2MiwyMDEsMSkgMCUsIHJnYmEoMiw4MywxMzAsMSkgMTAwJSk7DQoJZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM1NWEyYzknLCBlbmRDb2xvcnN0cj0nIzAyNTM4MicsIEdyYWRpZW50VHlwZT0xICk7DQp9IA0KLmZvb3Rlci0yIC5zb2NpYWxzIGxpIGEubWVkaXVtew0KCWJhY2tncm91bmQ6IHJnYmEoNDksMjUxLDE0MCwxKTsNCgliYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoNDksMjUxLDE0MCwxKSAwJSwgcmdiYSgzLDE0MCw5MCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCByaWdodCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoNDksMjUxLDE0MCwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgzLDE0MCw5MCwxKSkpOw0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSg0OSwyNTEsMTQwLDEpIDAlLCByZ2JhKDMsMTQwLDkwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoNDksMjUxLDE0MCwxKSAwJSwgcmdiYSgzLDE0MCw5MCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSg0OSwyNTEsMTQwLDEpIDAlLCByZ2JhKDMsMTQwLDkwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNDksMjUxLDE0MCwxKSAwJSwgcmdiYSgzLDE0MCw5MCwxKSAxMDAlKTsNCglmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzMxZmI4YycsIGVuZENvbG9yc3RyPScjMDM4YzVhJywgR3JhZGllbnRUeXBlPTEgKTsNCn0gDQouZm9vdGVyLTIgLnNvY2lhbHMgbGkgYS5naXRodWJ7DQoJYmFja2dyb3VuZDogcmdiYSg4OCw4OCw4OCwxKTsNCgliYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoODgsODgsODgsMSkgMCUsIHJnYmEoMzEsMzEsMzEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDg4LDg4LDg4LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDMxLDMxLDMxLDEpKSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDg4LDg4LDg4LDEpIDAlLCByZ2JhKDMxLDMxLDMxLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoODgsODgsODgsMSkgMCUsIHJnYmEoMzEsMzEsMzEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoODgsODgsODgsMSkgMCUsIHJnYmEoMzEsMzEsMzEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg4OCw4OCw4OCwxKSAwJSwgcmdiYSgzMSwzMSwzMSwxKSAxMDAlKTsNCglmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzU4NTg1OCcsIGVuZENvbG9yc3RyPScjMWYxZjFmJywgR3JhZGllbnRUeXBlPTEgKTsNCn0NCi5mb290ZXItMiAuc29jaWFscyBsaSBhLmJpdGNvaW57DQoJYmFja2dyb3VuZDogcmdiYSgyNTEsMTg2LDEwNywxKTsNCgliYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjUxLDE4NiwxMDcsMSkgMCUsIHJnYmEoMjU1LDEzNiwwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIHJpZ2h0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTEsMTg2LDEwNywxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgyNTUsMTM2LDAsMSkpKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjUxLDE4NiwxMDcsMSkgMCUsIHJnYmEoMjU1LDEzNiwwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjUxLDE4NiwxMDcsMSkgMCUsIHJnYmEoMjU1LDEzNiwwLDEpIDEwMCUpOw0KCWJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1MSwxODYsMTA3LDEpIDAlLCByZ2JhKDI1NSwxMzYsMCwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MSwxODYsMTA3LDEpIDAlLCByZ2JhKDI1NSwxMzYsMCwxKSAxMDAlKTsNCglmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZiYmE2YicsIGVuZENvbG9yc3RyPScjZmY4ODAwJywgR3JhZGllbnRUeXBlPTEgKTsNCn0NCi5mb290ZXItMiAuc29jaWFscyBsaSBhLnJlZGRpdHsNCgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwxMzEsODksMSk7DQoJYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1NSwxMzEsODksMSkgMCUsIHJnYmEoMjU1LDY5LDEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgcmlnaHQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwxMzEsODksMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LDY5LDEsMSkpKTsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjU1LDEzMSw4OSwxKSAwJSwgcmdiYSgyNTUsNjksMSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDI1NSwxMzEsODksMSkgMCUsIHJnYmEoMjU1LDY5LDEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMjU1LDEzMSw4OSwxKSAwJSwgcmdiYSgyNTUsNjksMSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwxMzEsODksMSkgMCUsIHJnYmEoMjU1LDY5LDEsMSkgMTAwJSk7DQoJZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmZjgzNTknLCBlbmRDb2xvcnN0cj0nI2ZmNDUwMScsIEdyYWRpZW50VHlwZT0xICk7DQp9DQouZm9vdGVyLTMgLmZvb3Rlci1ib3gtMiwgLmZvb3Rlci0zIC5mb290ZXItYm94LTN7DQoJcGFkZGluZy10b3A6ODVweDsgDQp9DQouZm9vdGVyLTMgLmZvb3Rlci1ib3gtMiBsaXsNCgltYXJnaW4tYm90dG9tOiA3cHg7DQoJbWFyZ2luLXRvcDogMHB4Ow0KfQ0KLmZvb3Rlci0zIGgzLCAuZm9vdGVyLTMgaDQgew0KCWNvbG9yOiNmZmZmZmY7DQoJZm9udC13ZWlnaHQ6Ym9sZDsgDQp9DQouZm9vdGVyLTMgLnNvY2lhbHMgbGl7DQoJd2lkdGg6IGF1dG87DQoJZmxvYXQ6IG5vbmU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJbWFyZ2luLXJpZ2h0OjMwcHg7ICANCn0NCi5mb290ZXItMyAuc29jaWFscyBsaTpob3ZlciBhLCAuc29jaWFscyBsaTpob3ZlciBpLCAuZm9vdGVyLTMgLnNvY2lhbHMgbGkgYTpob3ZlcnsNCgljb2xvcjogI2ZiYmQxODsNCn0NCi5mb290ZXItMyAubmV3c2xldHRlciAuc3VibWl0IGlucHV0ew0KCWJhY2tncm91bmQ6I2ZiYmQxODsNCglmb250LXdlaWdodDpub3JtYWw7DQoJbGluZS1oZWlnaHQ6MjVweDsgDQp9DQouZm9vdGVyLTMgLm5ld3NsZXR0ZXIgLnN1Ym1pdDo6YmVmb3JlLCAuZm9vdGVyLTMgLm5ld3NsZXR0ZXIgLnN1Ym1pdDo6YWZ0ZXJ7DQoJZGlzcGxheTpub25lOyANCn0NCi5mb290ZXItMyAubmV3c2xldHRlciAuaW5wdXR7DQoJcGFkZGluZy1yaWdodDoxMHB4OyANCn0NCi5mb290ZXItMyAubmV3c2xldHRlciAuaW5wdXQ6OmJlZm9yZSwgLmZvb3Rlci0zIC5uZXdzbGV0dGVyIC5pbnB1dDo6YWZ0ZXJ7DQoJZGlzcGxheTpub25lOyANCn0NCi5mb290ZXItMyAubmV3c2xldHRlciAuaW5wdXQgaW5wdXR7DQoJcGFkZGluZzowOw0KCWxpbmUtaGVpZ2h0OjQ2cHg7IA0KfQ0KLmZvb3Rlci0zIC5jb3B5cmlnaHRzLnN0eWxlLTF7DQoJbWFyZ2luLXRvcDogLTMwcHg7DQp9DQpmb290ZXIuZGlhbW9uZC1mb290ZXJ7DQoJcGFkZGluZzowcHggMCAwcHg7DQoJYm9yZGVyLXRvcDo1cHggc29saWQgI2ZiYmQxODsNCn0NCi5mb290ZXItd2lkZ2V0LWFyZWF7DQoJcGFkZGluZzo5MHB4IDBweDsgDQp9DQoud2lkZ2V0LWFyZWEgLndpZGdldC10aXRsZXsNCgljb2xvcjojZmZmZmZmOyANCglmb250LXNpemU6MjRweDsNCglmb250LXdlaWdodDpib2xkOw0KCW1hcmdpbi1ib3R0b206MzBweDsgICANCn0NCi5jb250YWN0LWluZm8gdWx7DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOjBweDsNCglsaXN0LXN0eWxlOm5vbmU7ICAgDQp9DQouY29udGFjdC1pbmZvIHVsIGxpew0KCW1hcmdpbi1ib3R0b206MTBweDsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LWZhbWlseToiUG9wcGlucyIsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOjE4cHg7DQoJcGFkZGluZy1sZWZ0OjM1cHg7IA0KfQ0KLmNvbnRhY3QtaW5mbyB1bCBsaTpsYXN0LWNoaWxkew0KCW1hcmdpbi1ib3R0b206MDsgDQp9DQouY29udGFjdC1pbmZvIHVsIGxpOmJlZm9yZXsNCglvcGFjaXR5OjE7IA0KCWZvbnQtZmFtaWx5OiAiRm9udCBBd2Vzb21lIDUgRnJlZSI7DQoJY29sb3I6I2ZiYmQxODsNCglmb250LXNpemU6MjRweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MDsNCglsZWZ0OjA7ICAgICAgDQp9DQouY29udGFjdC1pbmZvIHVsIGxpLmVtYWlsOmJlZm9yZXsNCgljb250ZW50OiJcZjFmYSI7DQoJZm9udC13ZWlnaHQ6OTAwOyANCn0NCi5jb250YWN0LWluZm8gdWwgbGkucGhvbmU6YmVmb3Jlew0KCWNvbnRlbnQ6IlxmMmEwIjsNCglmb250LXdlaWdodDo5MDA7DQoJdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpOw0KfQ0KLndpZGdldC1hcmVhIC5zb2NpYWxzew0KCW1hcmdpbi10b3A6MHB4Ow0KfQ0KLndpZGdldC1hcmVhIC5zb2NpYWxzIHVsew0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MDsgIA0KfQ0KLndpZGdldC1hcmVhIC5zb2NpYWxzIHVsIGxpew0KCW1hcmdpbjowIDVweDsNCglwYWRkaW5nOjA7DQoJbGlzdC1zdHlsZTpub25lOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWZsb2F0Om5vbmU7DQoJd2lkdGg6YXV0bzsgDQp9DQoud2lkZ2V0LWFyZWEgLnNvY2lhbHMgdWwgbGkgYXsNCglib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OyANCglib3JkZXItcmFkaXVzOjVweDsNCgl3aWR0aDo0OHB4Ow0KCWhlaWdodDo0OHB4Ow0KCWxpbmUtaGVpZ2h0OjQ2cHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJY29sb3I6I2ZiYmQxNzsNCglmb250LXNpemU6MjBweDsNCglkaXNwbGF5OmJsb2NrOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXM7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXM7DQp9DQoud2lkZ2V0LWFyZWEgLnNvY2lhbHMgbGkgaXsNCgljb2xvcjojZmJiZDE3Ow0KCWZvbnQtc2l6ZToyMHB4Ow0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNDAwbXM7DQoJdHJhbnNpdGlvbjphbGwgNDAwbXM7DQoJbWFyZ2luOiAwOw0KfQ0KLndpZGdldC1hcmVhIC5zb2NpYWxzIHVsIGxpIGE6aG92ZXIsIC53aWRnZXQtYXJlYSAuc29jaWFscyB1bCBsaTpob3ZlciBhew0KCWNvbG9yOiMwMDA7DQoJYmFja2dyb3VuZDojZmJiZDE3Ow0KfQ0KLndpZGdldC1hcmVhIC5zb2NpYWxzIGxpOmhvdmVyIGksIC53aWRnZXQtYXJlYSAuc29jaWFscyBsaSBhOmhvdmVyIGl7DQoJY29sb3I6IzAwMDsNCn0NCi53aWRnZXQtYXJlYSAubmV3c2xldHRlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQoud2lkZ2V0LWFyZWEgLm5ld3NsZXR0ZXIgaW5wdXRbdHlwZT0iZW1haWwiXXsNCglib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OyANCglib3JkZXItcmFkaXVzOjVweDsNCgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50Ow0KCWNvbG9yOiNmZmZmZmY7DQoJaGVpZ2h0OjQ4cHg7DQoJcGFkZGluZy1yaWdodDo1NXB4Ow0KfQ0KLndpZGdldC1hcmVhIC5uZXdzbGV0dGVyIGJ1dHRvbnsNCglmb250LXNpemU6MDsNCglwYWRkaW5nOjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MHB4Ow0KCXJpZ2h0OjBweDsNCgl3aWR0aDogNDhweDsNCgloZWlnaHQ6IDQ4cHg7DQoJcGFkZGluZzogMDsgIA0KfQ0KLndpZGdldC1hcmVhIC5uZXdzbGV0dGVyIGJ1dHRvbjpiZWZvcmV7DQoJZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBCcmFuZHMiOw0KCWNvbG9yOiMwMDAwMDA7DQoJZm9udC1zaXplOjI0cHg7DQoJY29udGVudDoiXGYzZmUiOw0KfQ0KLndpZGdldC1hcmVhIC5uZXdzbGV0dGVyIGxhYmVsew0KCW1hcmdpbjoxNXB4IDBweCAwcHg7DQoJY29sb3I6I2ZmZmZmZjsgDQp9DQoud2lkZ2V0LWFyZWEgLm5ld3NsZXR0ZXIgbGFiZWwgaW5wdXRbdHlwZT0icmFkaW8iXXsNCgltYXJnaW4tcmlnaHQ6NXB4Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl0b3A6IDJweDsNCn0NCi53aWRnZXQtYXJlYSAubmV3c2xldHRlciBsYWJlbCBhew0KCWZvbnQtd2VpZ2h0OjcwMDsNCn0NCi5kaWFtb25kLWZvb3RlciAuY29weXJpZ2h0LWFyZWF7DQoJYmFja2dyb3VuZDojMGYwZjBmOw0KCXBhZGRpbmc6MTVweCAwcHg7IA0KCWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTQsIDEpOw0KfQ0KLmNvcHktdGV4dHsNCgl0ZXh0LWFsaWduOnJpZ2h0OyANCn0NCnVsLmhvcml6b250YWwtbWVudXsNCglwYWRkaW5nOjBweDsNCgltYXJnaW46MHB4OyANCn0NCnVsLmhvcml6b250YWwtbWVudSBsaXsNCglsaXN0LXN0eWxlOm5vbmU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7ICANCn0NCnVsLmhvcml6b250YWwtbWVudSBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyew0KCXdpZHRoOjZweDsNCgloZWlnaHQ6NnB4Ow0KCWNvbnRlbnQ6IiI7DQoJbWFyZ2luOjBweCAxMnB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJhY2tncm91bmQ6I2ZiYmQxNzsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OyANCglib3JkZXItcmFkaXVzOjVweDsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0b3A6LTJweDsgIA0KfQ0KdWwuaG9yaXpvbnRhbC1tZW51IGxpIGF7DQoJZm9udC1zaXplOjE1cHg7IA0KfQ0KLnBsYXRpbnVtLWZvb3RlciAuZm9vdGVyLXdpZGdldC1hcmVhew0KCXBhZGRpbmc6MHB4Ow0KfQ0KLnBsYXRpbnVtLWZvb3RlciAud2lkZ2V0LWFyZWF7DQoJbWFyZ2luLWJvdHRvbTo2MHB4Ow0KfQ0KLnBsYXRpbnVtLWZvb3RlciAud2lkZ2V0LWFyZWEgLnNvY2lhbHN7DQoJZmxvYXQ6bm9uZTsNCglkaXNwbGF5OnRhYmxlOyAgDQp9DQoucGxhdGludW0tZm9vdGVyIHVsLmhvcml6b250YWwtbWVudSBsaSBhew0KCWZvbnQtc2l6ZTogMThweDsNCn0NCi5wbGF0aW51bS1mb290ZXIgdWwuaG9yaXpvbnRhbC1tZW51IGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHsNCgliYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC40KTsNCgltYXJnaW46IDBweCAyMHB4Ow0KCXRvcDogMnB4Ow0KCXdpZHRoOiAycHg7DQoJaGVpZ2h0OiAxNXB4OyANCn0NCi5wbGF0aW51bS1mb290ZXIgLndpZGdldC1hcmVhIC53aWRnZXQtdGl0bGV7DQoJbWFyZ2luLWJvdHRvbToxMHB4OyANCn0NCi5wbGF0aW51bS1mb290ZXIgLm5ld3NsZXR0ZXJ7DQoJbWF4LXdpZHRoOiA1ODBweDsNCgltYXJnaW46IGF1dG87DQoJd2lkdGg6MTAwJTsgDQp9DQoucGxhdGludW0tZm9vdGVyIC5uZXdzbGV0dGVyIGJ1dHRvbnsNCglwb3NpdGlvbjogc3RhdGljOw0KCWhlaWdodDphdXRvOw0KCXdpZHRoOmF1dG87DQoJcGFkZGluZzogMTFweCAzMHB4Ow0KCWZvbnQtc2l6ZTogMXJlbTsNCn0NCi5wbGF0aW51bS1mb290ZXIgLm5ld3NsZXR0ZXIgaW5wdXRbdHlwZT0iZW1haWwiXXsNCglib3JkZXI6MHB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7DQoJYm9yZGVyLXJhZGl1czogMDsNCglwYWRkaW5nLXJpZ2h0OjE1cHg7DQoJd2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQoucGxhdGludW0tZm9vdGVyIC5uZXdzbGV0dGVyIGJ1dHRvbjo6YmVmb3JlIHsNCglkaXNwbGF5OiBub25lOw0KfQ0KLnBsYXRpbnVtLWZvb3RlciAuY29weS10ZXh0ew0KCXRleHQtYWxpZ246Y2VudGVyOyANCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoxNC4gU2luZ2xlIFBvc3QgcGFnZQ0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi5zaW5nbGUtcG9zdCBoZWFkZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy10b3A6MTBweDsNCn0NCi5zaW5nbGUtcG9zdCBoZWFkZXIuZml4ZWR7DQoJcG9zaXRpb246Zml4ZWQ7DQp9DQouc2luZ2xlLXBvc3QgaGVhZGVyIC5sb2dvIC5kYXJrIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi5zaW5nbGUtcG9zdCBoZWFkZXIgLmxvZ28gaW1nIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KLnNpbmdsZS1wb3N0IG5hdiB1bCBsaSBhew0KCWNvbG9yOiAjMWQxZDFkOw0KfQ0KLnBhZ2UtdGl0bGUtYmxvY2t7DQoJcGFkZGluZzoxNXB4IDBweDsNCgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7DQoJYmFja2dyb3VuZC1zaXplOmNvdmVyOw0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KLnBhZ2UtdGl0bGUtYmxvY2s6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDowcHg7DQoJbGVmdDowcHg7DQoJYm90dG9tOjBweDsNCglyaWdodDowcHg7DQoJY29udGVudDoiIjsNCglkaXNwbGF5OmJsb2NrOw0KCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpOw0KfQ0KLnBhZ2UtdGl0bGUtYmxvY2sgPiBkaXZ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJei1pbmRleDoyOw0KfQ0KLnBvc3QtdGl0bGV7DQoJZm9udC1zaXplOjI4cHg7DQoJY29sb3I6I2ZmZmZmZjsNCgltYXJnaW4tdG9wOjEwMHB4Ow0KfQ0KLmJyZWFkY3J1bWJ7DQoJYmFja2dyb3VuZDpub25lOw0KCXBhZGRpbmc6MHB4Ow0KCWNvbG9yOiNmZmZmZmY7DQp9DQouYnJlYWRjcnVtYiBsaXsNCglsaXN0LXN0eWxlOm5vbmU7DQoJbWFyZ2luLXJpZ2h0OjE1cHg7CQ0KfQ0KLmJyZWFkY3J1bWIgbGkgYTphZnRlcnsNCgljb250ZW50OiJcZjBkYSI7DQoJZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsNCglmb250LXdlaWdodDo5MDA7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJY29sb3I6I2ZmZmZmZjsNCgltYXJnaW4tbGVmdDoxNXB4Ow0KfQ0KLmltZy13cmFwcGVyew0KCXdpZHRoOjEwMCU7DQoJbWF4LXdpZHRoOjEwMCU7DQoJbWFyZ2luOjE1cHggMHB4Ow0KfQ0KLmltZy13cmFwcGVyIGltZ3sNCgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQoJd2lkdGg6MTAwJTsNCn0NCiNwYWdlLWNvbnRlbnR7DQoJcGFkZGluZzo1MHB4IDBweDsNCn0NCi5wb3N0LW1ldGEgew0KICAgIGZvbnQtc2l6ZTogMTRweDsNCn0NCi5wb3N0LW1ldGEgLnBvc3QtbWV0YS1kYXRlIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbWFyZ2luLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U2ZTNlMzsNCn0NCi5wb3N0LW1ldGEgLnBvc3QtbWV0YS1kYXRlOjpiZWZvcmV7DQogICAgY29udGVudDoiXGYwMTciOw0KCWZvbnQtZmFtaWx5OiAiRm9udCBBd2Vzb21lIDUgRnJlZSI7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Ow0KICAgIG1hcmdpbi1yaWdodDogNnB4Ow0KICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7DQoJY29sb3I6I2Y2YWEzNTsNCn0NCi5zaWRlYmFyIC53aWRnZXQtdGl0bGUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgY29sb3I6ICMxZDFkMWQ7DQogICAgZGlzcGxheTogdGFibGU7DQogICAgd2lkdGg6IDEwMCU7DQoJZm9udC13ZWlnaHQ6IDcwMDsNCglmb250LXNpemU6IDI0cHg7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KLnNpZGViYXIgLndpZGdldC10aXRsZTo6YWZ0ZXIgew0KICAgIG1pbi1oZWlnaHQ6IDVweDsNCiAgICBjb250ZW50OiAiIjsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW46IDE1cHggMDsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9saW5lMS5wbmcpIG5vLXJlcGVhdCAwIDA7DQp9DQouc2lkZWJhciAud2lkZ2V0ew0KCW1hcmdpbi1ib3R0b206NTBweDsNCn0NCi5zaWRlYmFyIC53aWRnZXQgPiB1bHsNCglsaXN0LXN0eWxlOm5vbmU7DQoJcGFkZGluZzowcHg7DQoJbWFyZ2luOjBweDsNCn0NCi5zaWRlYmFyIC53aWRnZXQgPiB1bCBsaTpub3QoOmxhc3QtY2hpbGQpew0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWVlZWU7DQoJcGFkZGluZy1ib3R0b206MTBweDsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQp9DQouc2lkZWJhciAud2lkZ2V0ID4gdWwgbGkgYTpiZWZvcmV7DQoJY29udGVudDoiXGYxMDUiOw0KCWZvbnQtZmFtaWx5OiAiRm9udCBBd2Vzb21lIDUgRnJlZSI7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KCW1hcmdpbi1yaWdodDoxNXB4Ow0KfQ0KLnNpZGViYXIgLndpZGdldCA+IHVsIGxpIGF7DQoJZGlzcGxheTpibG9jazsNCgljb2xvcjojMWQxZDFkOw0KfQ0KLnNpZGViYXIgLndpZGdldCA+IHVsIGxpIGE6aG92ZXJ7DQoJY29sb3I6I2Y2YWEzNTsNCn0NCi53aWRnZXRfdGFnX2Nsb3VkIC50YWdjbG91ZCBhIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7DQogICAgd2lkdGg6IGF1dG87DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgcGFkZGluZzogMCAxMHB4Ow0KICAgIG1hcmdpbjogMCA3cHggN3B4IDA7DQogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogICAgY29sb3I6ICM2ZDc3ODI7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmU1ZTg7DQp9DQoud2lkZ2V0X3RhZ19jbG91ZCAudGFnY2xvdWQgYTpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQ6ICNmNmFhMzU7DQogICAgY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2Y2YWEzNTsNCn0NCi5SZWNlbnRfUG9zdHMgbGkgew0KICAgIHBhZGRpbmc6IDA7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICBkaXNwbGF5OiB0YWJsZTsNCiAgICBtYXJnaW46IDAgMCAzMHB4IDA7DQoJYm9yZGVyOm5vbmU7DQp9DQouc2lkZWJhciAuUmVjZW50X1Bvc3RzID4gdWwgbGk6bm90KDpsYXN0LWNoaWxkKXsNCglwYWRkaW5nLWJvdHRvbToxNXB4Ow0KCW1hcmdpbi1ib3R0b206MTVweDsNCn0NCi5zaWRlYmFyIC53aWRnZXQuUmVjZW50X1Bvc3RzID4gdWwgbGkgYTo6YmVmb3Jlew0KCWRpc3BsYXk6bm9uZTsNCn0NCi5jcC1ycC1wb3N0cy1pbWFnZSB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQoJd2lkdGg6IDg1cHg7DQp9DQouY3AtcnAtcG9zdHMtaW1hZ2UgaW1nIHsNCgl2ZXJ0aWNhbC1hbGlnbjp0b3A7DQp9DQouY3AtcnAtcG9zdHMtdGV4dCB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCglsaW5lLWhlaWdodDoxLjQ7DQp9DQouY3AtcnAtcG9zdHMtdGV4dCAuY3AtcnAtcG9zdHMtZGF0ZXsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGNvbG9yOiAjZjZhYTM1Ow0KCW1hcmdpbi10b3A6MTBweDsNCn0NCi5wb3N0LXRhZ3MtbGlzdCBhIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgIG1hcmdpbi1yaWdodDogOHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMXB4Ow0KICAgIHBhZGRpbmc6IDRweCA5cHg7DQogICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnM7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZlNWU4Ow0KfQ0KLnBvc3QtdGFncy1saXN0IGE6aG92ZXJ7DQoJYmFja2dyb3VuZC1jb2xvcjogI2Y2YWEzNTsNCglib3JkZXI6IDFweCBzb2xpZCAjZjZhYTM1Ow0KCWNvbG9yOiNmZmZmZmY7DQp9DQouY29tbWVudC1mb3JtLWZpZWxkcyB7DQogICAgbWFyZ2luLXRvcDozMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206MzBweDsNCn0NCi5jb21tZW50LWZvcm0gLmNvbW1lbnQtYXV0aG9yLWlucHV0LCAuY29tbWVudC1mb3JtIC5jb21tZW50LWVtYWlsLWlucHV0LCAuY29tbWVudC1mb3JtIC5jb21tZW50LXVybC1pbnB1dCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLmNvbW1lbnRzLWFyZWEgew0KICAgIG1hcmdpbi10b3A6IDUwcHg7DQp9DQouY29tbWVudC1yZXBseS10aXRsZSB7DQogICAgbWFyZ2luLWJvdHRvbTogNTBweDsNCiAgICBjb2xvcjojMDAwMDAwOw0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjE1LiBNaWxlc3RvbmUgDQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLm1pbGVzdG9uZS1zZWN0aW9uew0KCWJhY2tncm91bmQ6dXJsKCIvaW1hZ2VzL2JnLTEuanBnIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXI7DQoJYmFja2dyb3VuZC1zaXplOmNvdmVyOyAgDQp9DQouY291bnRlcnsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgljb2xvcjojMDAwMDAwOw0KfQ0KLmNvdW50ZXIgcHsNCgltYXJnaW46MHB4Ow0KfQ0KLmNvdW50ZXItaWNvbnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA7DQoJbWFyZ2luOmF1dG87DQoJZGlzcGxheTp0YWJsZTsNCglwYWRkaW5nOjMwcHg7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJTsNCglib3JkZXItcmFkaXVzOjUwJTsgDQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxNXB4OyANCn0NCi5jb3VudGVyLWljb246YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDotOHB4Ow0KCWxlZnQ6LThweDsNCglyaWdodDotOHB4Ow0KCWJvdHRvbTotOHB4Ow0KCWJvcmRlcjoycHggc29saWQgIzAwMDAwMDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlOw0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWNvbnRlbnQ6IiI7ICAgICAgIA0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjE2LiBDdXJyZW5jeSBDb252ZXJ0b3INCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQouY29udmVydG9yLWNvbnRlbnR7DQoJZGlzcGxheTogZmxleDsNCglmbGV4LXdyYXA6d3JhcDsNCgl3aWR0aDoxMDAlOyAgDQp9DQouY3VycmVudC1wcmljZXN7DQoJZGlzcGxheTogZmxleDsNCgltYXgtd2lkdGg6IDYwJTsNCgl3aWR0aDoxMDAlOw0KCWZsZXgtd3JhcDp3cmFwOw0KCW1hcmdpbjowIC0xNXB4OyANCn0NCi5jdXJyZW50LXByaWNlcyAuaXRlbXsNCglmbGV4OjAgMCAzMy4zMyU7DQoJbWF4LXdpZHRoOjMzLjMzJTsNCglwYWRkaW5nOjBweCAxNXB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOyAgICANCn0NCi5jdXJyZW50LXByaWNlcyAuY3VycmVudC1pY297DQoJbWFyZ2luLWJvdHRvbTotNDVweDsgDQp9DQouY3VycmVudC1wcmljZXMgLmN1cnJlbmN5LXByaWNlew0KCWJhY2tncm91bmQ6I2ZmZmZmZjsNCgktd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyANCglib3gtc2hhZG93OiAwcHggMHB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCglwYWRkaW5nOiA2NXB4IDE1cHggMjBweDsNCn0NCi5jdXJyZW50LXByaWNlcyAuY3VycmVuY3ktcHJpY2UgaDR7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCgljb2xvcjojMDAwMDAwOw0KCWZvbnQtc2l6ZToyMHB4OyAgIA0KfQ0KLmN1cnJlbnQtcHJpY2VzIC5jdXJyZW5jeS1wcmljZSBzcGFuew0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJY29sb3I6IzQ5YmQwNDsNCglmb250LXNpemU6MTVweDsgICANCn0NCi5jb3VudGVyLXZhbHVlew0KCWZvbnQtc2l6ZTo1MnB4Ow0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LWZhbWlseTpwb3BwaW5zLCBzYW5zLXNlcmlmOw0KCWxpbmUtaGVpZ2h0OjEuMTsgICAgIA0KCW1hcmdpbjoxNXB4IDBweCAwOyANCn0NCi5jcnlwdG9uYXRvcndpZGdldCBkaXYgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQouY3J5cHRvbmF0b3J3aWRnZXR7DQoJcGFkZGluZzowcHggIWltcG9ydGFudDsgDQp9DQouY29udmVydG9yLXdpZGdldCB7DQogICAgbWF4LXdpZHRoOiA0MCU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy1sZWZ0OiAzMHB4Ow0KICAgIG1hcmdpbi10b3A6IDQ1cHg7DQogICAgcG9zaXRpb246cmVsYXRpdmU7IA0KfQ0KLmN1cnJlbmN5LWNhbHVsYXRvcnsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQoJLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCglib3gtc2hhZG93OiAwcHggMHB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCglwYWRkaW5nOiAyMHB4IDE1cHggMjBweCA2MHB4Ow0KCW1hcmdpbi1sZWZ0OiA0NXB4Ow0KfQ0KLmNvbnZlcnRvci13aWRnZXQgLmN1cnJlbnQtaWNvew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MCU7DQoJbGVmdDozMHB4OyANCgl0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgDQp9DQouY3J5cHRvbmF0b3J3aWRnZXQgdGR7DQoJcGFkZGluZzozcHg7IA0KfQ0KLmNyeXB0b25hdG9yd2lkZ2V0IHRkIHNlbGVjdCwgLmNyeXB0b25hdG9yd2lkZ2V0IHRkIGlucHV0ew0KCWhlaWdodDo0OHB4ICFpbXBvcnRhbnQ7DQoJYm9yZGVyLXJhZGl1czowOyAgDQp9DQouY3J5cHRvbmF0b3J3aWRnZXQgdGQ6Zmlyc3QtY2hpbGR7DQoJZmxvYXQ6cmlnaHQ7IA0KfQ0KLmNyeXB0b25hdG9yd2lkZ2V0IHRkOmxhc3QtY2hpbGR7DQoJZmxvYXQ6bGVmdDsgDQp9DQoubWVyY3VyeS1sYXlvdXQgLmNvbnZlcnRvci13aWRnZXR7DQoJbWF4LXdpZHRoOiA2ODBweDsNCgltYXJnaW46NDVweCBhdXRvIDA7IA0KCXBhZGRpbmc6IDA7DQp9DQoubWVyY3VyeS1sYXlvdXQgLmN1cnJlbmN5LWNhbHVsYXRvcnsNCgktd2Via2l0LWJveC1zaGFkb3c6bm9uZTsNCglib3gtc2hhZG93OiBub25lOw0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luLWxlZnQ6IDA7DQp9DQoubWVyY3VyeS1sYXlvdXQgLmNyeXB0b25hdG9yd2lkZ2V0IHRkOmZpcnN0LWNoaWxkew0KCWZsb2F0OmxlZnQ7DQoJd2lkdGg6Y2FsYygxMDAlIC0gMjUwcHgpICFpbXBvcnRhbnQ7DQp9DQoubWVyY3VyeS1sYXlvdXQgLmNyeXB0b25hdG9yd2lkZ2V0IHRkOmxhc3QtY2hpbGR7DQoJZmxvYXQ6cmlnaHQ7IA0KCXdpZHRoOjI1MHB4ICFpbXBvcnRhbnQ7DQp9DQouY29udGFjdC1zZWN0aW9uIGgzLndpZGdldC10aXRsZXsNCgljb2xvcjojMDAwOw0KCW1hcmdpbi1ib3R0b206MzBweDsgIA0KfQ0KLnRvbGxmcmVlLWxpc3R7DQoJcGFkZGluZzowcHg7IA0KfQ0KLnRvbGxmcmVlLWxpc3QgbGl7DQoJZGlzcGxheTogYmxvY2s7DQoJcGFkZGluZzogN3B4IDE4cHg7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCgltYXJnaW46IDAgMCAzcHg7DQp9DQoudG9sbGZyZWUtbGlzdCBsaSBzdHJvbmd7DQoJY29sb3I6IzAwMDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgl3aWR0aDoxMDBweDsgIA0KfQ0KLm1hcC1zZWN0aW9uIGlmcmFtZXsNCgltYXJnaW4tYm90dG9tOjA7DQoJZGlzcGxheTogYmxvY2s7IA0KfQ0KLmNvbnRhY3Qtc2VjdGlvbiAuc2VjdGlvbi10aXRsZSBoNHsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LXdlaWdodDo3MDA7DQoJbWFyZ2luLWJvdHRvbToxNXB4OyAgICANCglmb250LXNpemU6MjRweDsNCn0NCi5jb250YWN0LWRldGFpbHN7DQoJYmFja2dyb3VuZDojMTExMTExOw0KCXBhZGRpbmc6NTBweCA1MHB4Ow0KCWNvbG9yOiNkZGRkZGQ7ICAgDQp9DQouaWNvbi1ib3guY29udGFjdC1kZXRhaWxzew0KCWJhY2tncm91bmQ6bm9uZTsNCglwYWRkaW5nOjMwcHg7DQoJY29sb3I6aW5oZXJpdDsgICANCn0NCi5jb250YWN0LWRldGFpbHMgaDR7DQoJY29sb3I6I2ZiYmQxODsNCglmb250LXdlaWdodDpib2xkOw0KfQ0KLmNvbnRhY3QtZGV0YWlscyAuY29udGFjdC1pdGVtIHNwYW57DQoJZGlzcGxheTogYmxvY2s7DQoJY29sb3I6I2ZmZmZmZjsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MTsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJbWFyZ2luLWJvdHRvbTo1cHg7ICAgIA0KCWZvbnQtc2l6ZToxN3B4Ow0KfQ0KLmljb24tYm94LmNvbnRhY3QtZGV0YWlscyAuY29udGFjdC1pdGVtIHNwYW57DQoJY29sb3I6ICMwMDAwMDA7DQp9DQouY29udGFjdC1kZXRhaWxzIC5jb250YWN0LWl0ZW0gcHsNCglsaW5lLWhlaWdodDoxLjY7DQp9DQouY29udGFjdC1kZXRhaWxzIC5jb250YWN0LWl0ZW0gYXsNCgljb2xvcjogI2RkZGRkZDsNCn0NCi5pY29uLWJveC5jb250YWN0LWRldGFpbHMgLmNvbnRhY3QtaXRlbSBhew0KCWNvbG9yOiAjNjE2MTYxOw0KfQ0KLnRva2VuLXByaWNpbmctc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsgDQp9DQoudG9rZW4tcHJpY2luZy1zZWN0aW9uOmJlZm9yZXsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL3ZpZGVvLWJnLTEuanBnJykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyOw0KCWNvbnRlbnQ6IiI7DQoJaGVpZ2h0OjM1MHB4Ow0KCXdpZHRoOjEwMCU7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjUwJTsNCgl0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgDQoJbGVmdDowOw0KCXJpZ2h0OjA7DQp9DQoudG9rZW4tcHJpY2luZy1zZWN0aW9uIC5wcmljaW5nLWltZ3sNCgktd2Via2l0LWJveC1zaGFkb3c6MCAwIDI1cHggMCByZ2JhKDAsMCwwLDAuMTUpOyANCglib3gtc2hhZG93OjAgMCAyNXB4IDAgcmdiYSgwLDAsMCwwLjE1KTsNCn0NCi50b2tlbi1wcmljaW5nLXNlY3Rpb24gLnNlY3Rpb24taGVhZGluZ3sNCglmb250LXNpemU6Mi42cmVtOw0KCWNvbG9yOiNmZmY7DQoJbWFyZ2luOjA7DQp9DQovKi50b2tlbi1wcmljaW5nLXNlY3Rpb24gLnNlY3Rpb24taGVhZGluZzpiZWZvcmV7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9saXZlLXByaWNlLXdhdmUucG5nJykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgcmlnaHQ7DQoJY29udGVudDoiIjsNCgloZWlnaHQ6MzBweDsNCgl3aWR0aDoxMDAlOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDowOw0KCXJpZ2h0OjEwMCU7DQoJbWFyZ2luLXJpZ2h0Oi00NXB4OyAgDQp9Ki8NCi50b2tlbi1wcmljaW5nLXNlY3Rpb246YWZ0ZXJ7DQoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNzUpOw0KCWhlaWdodDozNTBweDsNCgl3aWR0aDoxMDAlOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MCU7DQoJdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IA0KCWxlZnQ6MDsNCglyaWdodDowOw0KCWNvbnRlbnQ6IiI7IA0KfQ0KI0hlYXJ0TGluZXsNCgl3aWR0aDo1MDBweDsNCgloZWlnaHQ6MzBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MDsNCglyaWdodDoxMDAlOw0KCW1hcmdpbi1yaWdodDotNDVweDsgICAgDQp9DQouY2xzLTEgew0KICAgIGZpbGw6IG5vbmU7DQogICAgc3Ryb2tlOiAjZmJiZDE4Ow0KICAgIHN0cm9rZS13aWR0aDoxLjVweDsNCiAgICBmaWxsLXJ1bGU6IGV2ZW5vZGQ7DQogICAgc3Ryb2tlLWRhc2hhcnJheTogMTAwMDsNCiAgICBzdHJva2UtZGFzaG9mZnNldDogMTAwMDsNCn0NCi52aXNpYmxlIC5jbHMtMXsNCglhbmltYXRpb246IGRhc2ggMjBzIGVhc2Utb3V0IGZvcndhcmRzOw0KfQ0KLmNscy0yew0KICAgIG9wYWNpdHk6IDA7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIA0KICAgIGZpbGw6ICNmYmJkMTg7DQp9DQoudmlzaWJsZSAuY2xzLTJ7DQoJYW5pbWF0aW9uOiBhbmltMSA2MDBtcyBub3JtYWwgZm9yd2FyZHMgZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLWRlbGF5OjQuOHM7DQp9DQoNCkBrZXlmcmFtZXMgZGFzaHsNCiAgICB0b3tzdHJva2UtZGFzaG9mZnNldDowO30NCn0NCkBrZXlmcmFtZXMgYW5pbTF7DQogICAgdG97b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt9DQp9DQoudG9rZW4tcHJpY2luZy1zZWN0aW9uID4gKnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl6LWluZGV4OjE7IA0KfQ0KLnRva2VuLXByaWNpbmctc2VjdGlvbiAuc2VjdGlvbi1oZWFkaW5nIHNwYW57DQoJZm9udC1zaXplOiAxLjhyZW07DQoJZm9udC13ZWlnaHQ6IDYwMDsNCglkaXNwbGF5OiBibG9jazsNCglwYWRkaW5nLWxlZnQ6NDVweDsNCglvcGFjaXR5OjA7DQoJdmlzaWJpbGl0eTpoaWRkZW47DQoJdHJhbnNpdGlvbjphbGwgNTAwbXM7ICANCn0NCi50b2tlbi1wcmljaW5nLXNlY3Rpb24udmlzaWJsZSAuc2VjdGlvbi1oZWFkaW5nIHNwYW57DQoJb3BhY2l0eToxOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsNCgl0cmFuc2l0aW9uOmFsbCA1MDBtczsNCgl0cmFuc2l0aW9uLWRlbGF5OjUuNXM7IA0KfQ0KLyouZm9ybS1ibG9ja3sNCgliYWNrZ3JvdW5kOiNmMmYyZjI7DQoJYm9yZGVyLXJhZGl1czoxMHB4Ow0KCXBhZGRpbmc6MzBweDsgIA0KfSovDQouZm9ybS1ibG9jayBoMi53aWRnZXQtdGl0bGV7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KCWZvbnQtc2l6ZTo1MnB4Ow0KCWNvbG9yOiMwMDAwMDA7DQoJZm9udC13ZWlnaHQ6Ym9sZDsgICAgDQp9DQouZm9ybS1ibG9jayBoMi53aWRnZXQtdGl0bGUgc3BhbnsNCgljb2xvcjojZmJiZDE4Ow0KCWRpc3BsYXk6IGJsb2NrOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtd2VpZ2h0Om5vcm1hbDsNCgl0ZXh0LXRyYW5zZm9ybTpub25lOyAgDQp9DQouaWNvbi1ib3ggLmljb257DQoJYmFja2dyb3VuZDojZmJiZDE4Ow0KCWhlaWdodDo5MHB4Ow0KCXdpZHRoOjkwcHg7DQoJYm9yZGVyLXJhZGl1czo5MHB4Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJbGluZS1oZWlnaHQ6OTBweDsNCgltYXJnaW4tYm90dG9tOjE1cHg7ICAgDQp9DQouaWNvbi1ib3ggLmljb24gaXsNCgljb2xvcjojMDAwMDAwOw0KCWZvbnQtc2l6ZTozMnB4Ow0KCWxpbmUtaGVpZ2h0OjkwcHg7IA0KfQ0KLmZvcm0tYmxvY2suc3R5bGUtMnsNCglwYWRkaW5nOjUwcHggNTBweDsNCgliYWNrZ3JvdW5kOiAjZjVmNWY1Ow0KCWJveC1zaGFkb3c6MTNweCAxM3B4IDIwcHggI2NiY2VkMSwgLTEzcHggLTEzcHggMjBweCAjZmZmZmZmOw0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDsNCglib3JkZXItcmFkaXVzOiAxMHB4Ow0KfQ0KLmZvcm0tYmxvY2suc3R5bGUtMiBoM3sNCgljb2xvcjojMDAwMDAwOw0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCn0NCi5mb3JtLWJsb2NrLnN0eWxlLTIgaDR7DQoJY29sb3I6IzAwMDAwMDsNCgltYXJnaW4tYm90dG9tOjUwcHg7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWZvbnQtd2VpZ2h0OiA0MDA7DQp9DQouZm9ybS1ibG9jay5zdHlsZS0yIC5mb3JtLWZpZWxkew0KCWJvcmRlci1yYWRpdXM6IDI1cHg7DQoJYm94LXNoYWRvdzogaW5zZXQgOHB4IDhweCA4cHggI2NiY2VkMSwgaW5zZXQgLThweCAtOHB4IDhweCAjZmZmZmZmOw0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQouZm9ybS1maWVsZHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nLWxlZnQ6NDBweDsgDQp9DQouZm9ybS1maWVsZDpiZWZvcmV7DQogICAgcG9zaXRpb246YWJzb2x1dGU7IA0KICAgIHRvcDoxNHB4Ow0KICAgIGxlZnQ6MjBweDsNCiAgICBiYWNrZ3JvdW5kLXNpemU6MTAwJTsNCiAgICBoZWlnaHQ6MjRweDsNCiAgICB3aWR0aDoyNHB4Ow0KICAgIGNvbnRlbnQ6IiI7DQp9DQoueW91ci1uYW1lIC5mb3JtLWZpZWxkOmJlZm9yZXsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL3VzZXItaWNvbi5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJYmFja2dyb3VuZC1zaXplOiAxMDAlOw0KfQ0KLmVtYWlsLWFkZHJlc3MgLmZvcm0tZmllbGQ6YmVmb3Jlew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvZW1haWwtaWNvbi5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJYmFja2dyb3VuZC1zaXplOiAxMDAlOw0KCXdpZHRoOjIycHg7DQoJdG9wOjE1cHg7ICANCn0NCi5waG9uZS1udW1iZXIgLmZvcm0tZmllbGQ6YmVmb3Jlew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvcGhvbmUtaWNvbi5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDBweCAwcHg7DQoJYmFja2dyb3VuZC1zaXplOiAxMDAlOw0KCXdpZHRoOiAyMnB4Ow0KCXRvcDogMTdweDsNCn0NCi5jb21wYW55LW5hbWUgLmZvcm0tZmllbGQ6YmVmb3Jlew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvY29tcGFueS1pY29uLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgMHB4IDBweDsNCgliYWNrZ3JvdW5kLXNpemU6IDEwMCU7DQp9DQoubWVzc2FnZSAuZm9ybS1maWVsZDpiZWZvcmV7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9tZXNzYWdlLWljb24ucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWJhY2tncm91bmQtc2l6ZTogMTAwJTsNCgl0b3A6IDIycHg7DQp9DQouZm9ybS1maWVsZCBpbnB1dFt0eXBlPSJ0ZXh0Il0sIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9ImVtYWlsIl0sIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9InRlbCJdLCAuZm9ybS1maWVsZCB0ZXh0YXJlYXsNCglib3JkZXI6IG5vbmU7DQoJb3V0bGluZTogbm9uZTsNCgliYWNrZ3JvdW5kOiBub25lOw0KCWZvbnQtc2l6ZTogMTZweDsNCgljb2xvcjogIzExMTExMTsNCglwYWRkaW5nOiA1cHggMTVweCA1cHggMTVweDsNCglsaW5lLWhlaWdodDogNDJweDsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IGF1dG87DQoJYm94LXNoYWRvdzpub25lOyANCn0NCi5mb3JtLWZpZWxkIHRleHRhcmVhew0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzoyMHB4IDE1cHggMjBweCAxNXB4Ow0KCWhlaWdodDoxNTBweDsgIA0KfQ0KLmZvcm0tZmllbGQgaW5wdXRbdHlwZT0idGV4dCJdOmZvY3VzLCAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLCAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPSJ0ZWwiXTpmb2N1cywgLmZvcm0tZmllbGQgdGV4dGFyZWE6Zm9jdXN7DQoJYm94LXNoYWRvdzpub25lOyANCgliYWNrZ3JvdW5kOm5vbmU7IA0KfQ0KLmZvcm0tYmxvY2suc3R5bGUtMiAuYnRuew0KCWJvcmRlci1yYWRpdXM6MzBweDsNCn0NCi5zaWRlYmFyLXdpZGdldC1hcmVhew0KCW1hcmdpbi1ib3R0b206NTBweDsgDQp9DQouc2lkZWJhci13aWRnZXQtYXJlYSBwew0KCWxpbmUtaGVpZ2h0OiAxLjY7DQp9DQpoNC53aWRnZXQtdGl0bGV7DQoJY29sb3I6IzAwMDAwMDsNCglmb250LXdlaWdodDo2MDA7DQoJZm9udC1zaXplOjIycHg7DQoJbWFyZ2luLWJvdHRvbToxNXB4OyAgDQp9DQouY29udGFjdC1yb3d7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KCWxpbmUtaGVpZ2h0OjI0cHg7IA0KfQ0KLmNvbnRhY3Qtcm93IHNwYW57DQoJZGlzcGxheTogYmxvY2s7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyANCglmb250LXdlaWdodDo2MDA7DQoJY29sb3I6IzAwMDAwMDsgIA0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjE3LiBFeGNoYW5nZSBsaXN0aW5nDQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmV4Y2hhbmdlLWxpc3Qtc2VjdGlvbiAuaGVhZGluZ3sNCgljb2xvcjojMDAwMDAwOw0KCW1hcmdpbi1yaWdodDozMHB4Ow0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvZXhjaGFuZ2UtbGlzdC1pY29uLTIucG5nJykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgcmlnaHQ7DQoJcG9zaXRpb246cmVsYXRpdmU7IA0KfQ0KLmV4Y2hhbmdlLWxpc3Qtc2VjdGlvbiAuaGVhZGluZzpiZWZvcmV7DQoJYmFja2dyb3VuZDp1cmwoJ2ltYWdlcy9leGNoYW5nZS1saXN0LWljb24ucG5nJykgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4OwkNCgloZWlnaHQ6MjZweDsNCgl3aWR0aDo2MHB4Ow0KCWNvbnRlbnQ6IiI7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOi0xNXB4Ow0KCWxlZnQ6NDAlOw0KCS13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7ICAgICAgDQoJdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7ICAgICAgDQp9DQouZXhjaGFuZ2UtbGlzdC1zZWN0aW9uIC5oZWFkaW5nIGltZ3sNCglkaXNwbGF5OiB0YWJsZTsgbWFyZ2luOjBweCBhdXRvIDE1cHg7IA0KfQ0KLmV4Y2hhbmdlLWxpc3Qtc2VjdGlvbiAuaGVhZGluZyBoMnsNCglmb250LXdlaWdodDogNjAwOw0KCW1hcmdpbjogMCAzNXB4IDAgMDsNCglwYWRkaW5nOiAxNXB4IDBweCAxNXB4IDBweDsNCglsaW5lLWhlaWdodDogMS4zOw0KfQ0KLmV4Y2hhbmdlLWxpc3R7DQoJZGlzcGxheTogZmxleDsNCglmbGV4LXdyYXA6IG5vd3JhcDsNCgl3aWR0aDogMTAwJTsNCn0NCi5leGNoYW5nZS1saXN0IC5pdGVtIHsNCglmbGV4OiAwIDAgMjUlOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgltYXgtd2lkdGg6IDI1JTsNCgl3aWR0aDogMTAwJTsNCgltYXJnaW4tdG9wOjE4cHg7IA0KCXBhZGRpbmc6NXB4IDAgNXB4IDA7DQoJcG9zaXRpb246IHJlbGF0aXZlOzsgDQp9DQouZXhjaGFuZ2UtbGlzdCAuaXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyew0KCWJhY2tncm91bmQ6I2Q1ZDVkNTsNCgloZWlnaHQ6MTAwJTsNCgl3aWR0aDoycHg7DQoJY29udGVudDoiIjsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDowOw0KCXRvcDowOw0KCWJvdHRvbTowOyAgDQp9DQouZXhjaGFuZ2UtbGlzdCAuZXhjaGFuZ2UtcmF0ZXsNCglmb250LXNpemU6MzBweDsNCgljb2xvcjojMDAwMDAwOw0KCWZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxldHRlci1zcGFjaW5nOjFweDsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQp9DQoucm93LXJldmVyc2V7DQoJZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7IA0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjE4LiB2aWRlby1zZWN0aW9uDQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLnZpZGVvLXNlY3Rpb257DQoJcGFkZGluZzoyMDBweCAwcHg7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7IA0KfQ0KLnZpZGVvLXNlY3Rpb246YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOw0KCXRvcDowOw0KCWxlZnQ6MDsNCglyaWdodDowOw0KCWJvdHRvbTowOw0KCWNvbnRlbnQ6IiI7ICAgIA0KfQ0KLnZpZGVvLXNlY3Rpb24gdmlkZW97DQoJcG9zaXRpb246IGZpeGVkOw0KCW1pbi13aWR0aDogMTAwJTsNCiAgICBtaW4taGVpZ2h0OiAxMDAlOw0KICAgIHRvcDogNTAlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVaKC0xcHgpIHNjYWxlKDEpOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWigtMXB4KSBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVaKC0xcHgpIHNjYWxlKDEpOw0KICAgIHotaW5kZXg6IC05OTsNCiAgICBvcGFjaXR5OjA7DQogICAgdmlzaWJpbGl0eTpoaWRkZW47IA0KfQ0KLnZpZGVvLXNlY3Rpb24gaW1new0KCXBvc2l0aW9uOiBmaXhlZDsNCgltaW4td2lkdGg6IDEwMCU7DQogICAgbWluLWhlaWdodDogMTAwJTsNCiAgICB0b3A6MDsNCiAgICBsZWZ0OjA7DQogICAgd2lkdGg6IGF1dG87DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIHotaW5kZXg6IC05Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXM7IA0KICAgIHRyYW5zaXRpb246YWxsIDUwMG1zOyANCiAgICBvcGFjaXR5OjA7DQogICAgdmlzaWJpbGl0eTpoaWRkZW47DQp9DQoudmlkZW8tc2VjdGlvbi5sb2FkZWQgdmlkZW8sIC52aWRlby1zZWN0aW9uLmxvYWRlZCBpbWd7DQoJb3BhY2l0eToxOw0KICAgIHZpc2liaWxpdHk6dmlzaWJsZTsNCn0NCi52aWRlby1zZWN0aW9uIC5wbGF5LWJ1dHRvbnsNCgltYXJnaW46NTBweCBhdXRvOw0KCWRpc3BsYXk6dGFibGU7DQp9DQoudmlkZW8tc2VjdGlvbiAucGxheS1idXR0b24gYXsNCgliYWNrZ3JvdW5kOiNmYmJkMTggdXJsKCJpbWFnZXMvcGxheS1idG4ucG5nIikgbm8tcmVwZWF0IHNjcm9sbCAwcHggMHB4Ow0KCWhlaWdodDoxNTBweDsNCgl3aWR0aDoxNTBweDsNCglkaXNwbGF5OiBibG9jazsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDQ1MG1zIGVhc2U7DQoJdHJhbnNpdGlvbjphbGwgNDUwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpOw0KCXRyYW5zZm9ybTpzY2FsZSgwLjgpOw0KCS13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7DQoJYm9yZGVyLXJhZGl1czo1MCU7DQoJYmFja2dyb3VuZC1zaXplOiAxMzBweCAxMzBweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7DQp9DQoudmlkZW8tc2VjdGlvbi5wYXVzZS12aWRlbyAucGxheS1idXR0b24gYXsNCgliYWNrZ3JvdW5kLWltYWdlOnVybCgiaW1hZ2VzL3BhdXNlLWJ0bi5wbmciKTsNCn0NCi52aWRlby1zZWN0aW9uIC5wbGF5LWJ1dHRvbiBhOmhvdmVyew0KCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOw0KCXRyYW5zZm9ybTpzY2FsZSgxKTsNCn0NCi52aWRlby1zZWN0aW9uLnBsYXlpbmctdmlkZW8gaW1new0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsgDQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMTkuIEN1cnJlbmN5IGNhbGN1bGF0b3INCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQouY3VycmVuY3ktY2FsY3VsYXRvcnsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2JnLTMuanBnJykgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IGNlbnRlcjsNCgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7IA0KfQ0KLmN1cnJlbmN5LWZvcm17DQoJbWF4LXdpZHRoOjU2MHB4Ow0KfQ0KLmN1cnJlbmN5LWZvcm0gLmlucHV0LWdyb3Vwew0KCW1hcmdpbi1ib3R0b206MTVweDsNCn0NCi5jdXJyZW5jeS1mb3JtIC5mb3JtLWNvbnRyb2x7DQoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsNCgljb2xvcjojMDAwMDAwOw0KCWZvbnQtc2l6ZToxOHB4Ow0KCWxpbmUtaGVpZ2h0OjQ4cHg7DQoJaGVpZ2h0OjU0cHg7DQoJYm9yZGVyOjJweCBzb2xpZCAjYjViNWI3OyAgICAgIA0KfQ0KLmN1cnJlbmN5LWZvcm0gLnBvc3RwZW5kLmZvcm0tY29udHJvbHsNCgltYXgtd2lkdGg6MTUwcHg7DQoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsNCglmb250LXdlaWdodDo2MDA7DQoJZm9udC1zaXplOjIwcHg7DQoJYm9yZGVyLWxlZnQ6MHB4Ow0KfQ0KLmN1cnJlbmN5LWZvcm0gc2VsZWN0ew0KCS1tb3otYXBwZWFyYW5jZTogbm9uZTsNCgktd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQoJbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2Rvd24tYXJyb3cucG5nJykgbm8tcmVwZWF0IHNjcm9sbCByaWdodCAxNXB4IGNlbnRlciAhaW1wb3J0YW50OyAgDQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMjAuIEN1cnJlbmN5IGNhbGN1bGF0b3INCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQouZmVhdHVyZWQtcHJvZHVjdC1zZWN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQouZmVhdHVyZWQtcHJvZHVjdC1zZWM6YmVmb3Jlew0KCWJhY2tncm91bmQ6dXJsKCdpbWFnZXMvYmctNS5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0b3A6MDsNCglsZWZ0OjA7DQoJY29udGVudDoiIjsNCgloZWlnaHQ6MTAwJTsNCgl3aWR0aDozNSU7ICANCn0NCi5mZWF0dXJlZC1wcm9kdWN0LXNlYzphZnRlcnsNCgliYWNrZ3JvdW5kOnVybCgnaW1hZ2VzL2JnLTQucG5nJykgbm8tcmVwZWF0IHNjcm9sbCBib3R0b20gcmlnaHQ7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjA7DQoJcmlnaHQ6MDsNCgljb250ZW50OiIiOw0KCWhlaWdodDoxMDAlOw0KCXdpZHRoOjM1JTsgIA0KfQ0KLmZlYXR1cmVkLXByb2R1Y3Qtc2VjIC5jb250YWluZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJei1pbmRleDoxMDsgIA0KfQ0KLnByb2dyZXNzYmFyIHsNCiAgCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgCXdpZHRoOiAxMDAlOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi5jaXJjbGUgew0KICB3aWR0aDogMTAwJTsNCiAgbWFyZ2luOiAwIGF1dG87DQogIG1hcmdpbi10b3A6MHB4Ow0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLmNpcmNsZSBjYW52YXMgew0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KLmNpcmNsZSBkaXYgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDo2MHB4Ow0KICBsZWZ0OiAwOw0KICB3aWR0aDogMTAwJTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBsaW5lLWhlaWdodDogNDBweDsNCiAgZm9udC1zaXplOjMycHg7DQogIGZvbnQtZmFtaWx5OiBwb3BwaW5zOw0KICBjb2xvcjojMDAwMDAwOyANCiAgZm9udC13ZWlnaHQ6Ym9sZDsgDQp9DQoucHJvZ3Jlc3NiYXIgcHsNCglmb250LXNpemU6MjBweDsNCiAgCWZvbnQtZmFtaWx5OiBwb3BwaW5zOw0KICAJY29sb3I6IzAwMDAwMDsNCiAgCW1hcmdpbjoxNXB4IDBweDsNCiAgCWZvbnQtd2VpZ2h0OjYwMDsgIA0KfQ0KDQouc2xpY2stc2xpZGVyIC5zbGljay1kb3Rzew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1hcmdpbi10b3A6MzBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpew0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWxpc3Qtc3R5bGU6bm9uZTsgIA0KfQ0KLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBidXR0b24gew0KCWNvbG9yOiBpbmhlcml0Ow0KCWJvcmRlcjogbm9uZTsNCglwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQoJZm9udDogaW5oZXJpdDsNCglmb250LXNpemU6MDsgDQogICAgaGVpZ2h0OiA4cHg7DQogICAgd2lkdGg6IDhweDsNCiAgICBtYXJnaW46IDAgM3B4Ow0KICAgIG91dGxpbmU6IDA7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7DQogICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgIGN1cnNvcjpwb2ludGVyOyANCiAgICBiYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KfQ0KLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyAuc2xpY2stYWN0aXZlIGJ1dHRvbiB7DQogICAgd2lkdGg6IDMwcHg7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KfQ=="}},"time_used":61,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":61,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99527.15c5c25d27a56a0df772.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.812Z","timestamp":1785124875812,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-19360\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c32cf492db437c2381f71e5b606389dc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-07-27T06:16:23.050975Z","times_seen":4860,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":51,"timings":{"blocked":-1,"dns":24,"connect":1,"send":0,"wait":27,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11461.e27cb4ecf30492ac11f6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.698Z","timestamp":1785124876698,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11461.e27cb4ecf30492ac11f6.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d22\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 510e80d2e931a68ef3c14d83445bb69d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3362,"size_decoded":1718,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3362), with no line terminators","md5":"d57b002e0b956f52c9bfada971230444","sha1":"06594be9b9b68921b0e108591a901858ebc1f8b1","sha256":"f1b83b2356d69c4ca5f06d45aa89ed7abedeeb54bec8ab856702bdadaf099259","sha512":"14fd023c81be241ae68a71bfac23b1be63eb4f5893a2728775eac03ad277734fd2762138ef44afc0769cd939d74c34eb7e2af50b51ee6680e2c6f678aaae7892","ssdeep":"","tlshash":"3c613e72c50424b536ffe8d68e928f47191c6463ea03264fa6217e2859c7ffe04e21a7","first_seen":"2026-07-16T13:40:49.805257Z","last_seen":"2026-07-27T06:14:34.199401Z","times_seen":113,"resource_available":false,"data":"LmJvZHlOb1Njcm9sbC1mT0lSS0F0SHttYXJnaW4tcmlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgpO292ZXJmbG93OmhpZGRlbjt0b3VjaC1hY3Rpb246bm9uZX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuYm9keU5vU2Nyb2xsLWZPSVJLQXRIe3Njcm9sbGJhci13aWR0aDpub25lfX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRILnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LmJvZHlOb1Njcm9sbC1mT0lSS0F0SDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0RntoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdmVyZmxvdzpzY3JvbGw7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsVHJhcC1MbjBBSVc0RntzY3JvbGxiYXItd2lkdGg6bm9uZX19LnNjcm9sbFRyYXAtTG4wQUlXNEYuc2Itc2Nyb2xsYmFyLXdyYXB7ZGlzcGxheTpub25lfS5zY3JvbGxUcmFwLUxuMEFJVzRGOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsLnNjcm9sbFRyYXAtTG4wQUlXNEY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcENvbnRlbnQtTG4wQUlXNEZ7aGVpZ2h0OmNhbGMoMTAwJSArIDEwMDAwcHgpO3dpZHRoOmNhbGMoMTAwJSArIDEwMDAwcHgpfS5zdHViLUl1aE9qb3VZe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnkpO2JvdHRvbTowO2hlaWdodDo0cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpmaXhlZH0uY29udGVudC1hZjBMQ2d5NXtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOm5vbmU7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnJ9LnN0cmV0Y2gtYWYwTENneTV7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uYmVnaW4tYWYwTENneTV7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LmVuZC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtZW5kOjB9LmJlZ2luLWFmMExDZ3k1LC5lbmQtYWYwTENneTV7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAxMDBweCk7dG9wOjB9LnRvcC1hZjBMQ2d5NXt0b3A6MH0uYm90dG9tLWFmMExDZ3k1e2JvdHRvbTowfS5ib3R0b20tYWYwTENneTUsLnRvcC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtc3RhcnQ6MDttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDEwMHB4KTt3aWR0aDoxMDAlfUBzdXBwb3J0cyAoaGVpZ2h0OjEwMGR2aCl7LmJvdHRvbS1hZjBMQ2d5NSwudG9wLWFmMExDZ3k1e21heC1oZWlnaHQ6Y2FsYygxMDBkdmggLSAxMDBweCl9fS5iYWNrZHJvcC1hZjBMQ2d5NXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO292ZXJzY3JvbGwtYmVoYXZpb3I6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lfS5tb2JpbGVDb250ZXh0LVZ4bjRMaFlMe2Rpc3BsYXk6Y29udGVudHM7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyOjA7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNNb2JpbGVQb3NpdGlvbmVyOjF9LmFuY2hvckNvbnRleHQtVnhuNExoWUx7ZGlzcGxheTpjb250ZW50czstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc0FuY2hvclBvc2l0aW9uZXI6MTstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc01vYmlsZVBvc2l0aW9uZXI6MH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDEwcHggMTBweCAwfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czoxMHB4IDAgMCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguZW5kLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAwIDAgMTBweH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YLmVuZC1nOFJvaGdOWDpkaXIocnRsKXtib3JkZXItcmFkaXVzOjAgMTBweCAxMHB4IDB9LmNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZS1nOFJvaGdOWC50b3AtZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYm90dG9tLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDAgMH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO292ZXJmbG93OmhpZGRlbn0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YOmRpcihydGwpe2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDEwcHggMTBweH0="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52920.30ba05d6a5393e331827.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.730Z","timestamp":1785124876730,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52920.30ba05d6a5393e331827.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 103\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-67\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f4c4600079bd2e7c4c1e135f292aeabe\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103,"size_decoded":888,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"905ba86f45c3c4836e1e66ce0b1a69d4","sha1":"500fc2231fc7750395f3d4ba76aaa9ca105b5267","sha256":"16405805afc864f5869ae7c76253575cc65188d7ebb3f3b4207b634b7876bf8f","sha512":"838c4397409cdb507a9f79bd3943a589fc809cb994669fcbffa017fd350ec5f0994caea1f8f4837f2b5d61a440945e8334f4310d5b23302be6408645230b51a2","ssdeep":"","tlshash":"adb0921b5a704f55155b96514fc8835a9c63043260413e88c401ca221a3a88cead020a","first_seen":"2026-07-17T03:30:51.221694Z","last_seen":"2026-07-27T06:24:31.542747Z","times_seen":76,"resource_available":false,"data":"LmlubGluZUljb24tdDZXWmxMUU97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbmxpbmVJY29uLXQ2V1psTFFPIHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.782Z","timestamp":1785124876782,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67930.f0d77c1721dc8fa0d333.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-1bb1d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c12d084c721ea8ae9d298de35910e30c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":113437,"size_decoded":36882,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-27T06:24:31.517488Z","times_seen":58,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw2NzkzMF0sezkxNDQ4NyhlLHQpe3ZhciBhOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgYT1hcmd1bWVudHNbdF07aWYoYSl7dmFyIGk9dHlwZW9mIGE7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKGEpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGgpe3ZhciByPW8uYXBwbHkobnVsbCxhKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBuIGluIGEpcy5jYWxsKGEsbikmJmFbbl0mJmUucHVzaChuKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShhPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1hKX0oKX0sNzE3NjAoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLCJjaGVja2JveC1wcmltYXJ5LWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCkiLCJjaGVja2JveC1wcmltYXJ5LWhvdmVyLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpIiwiY2hlY2tib3gtcHJpbWFyeS1hY3RpdmUtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKSIsImNoZWNrYm94LXByaW1hcnktZmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpIiwiY2hlY2tib3gtZGFuZ2VyLWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKSIsImNoZWNrYm94LWRhbmdlci1ob3Zlci1iZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCkiLCJjaGVja2JveC1kYW5nZXItYWN0aXZlLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpIiwiY2hlY2tib3gtZGFuZ2VyLWZnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKSIsd3JhcHBlcjoid3JhcHBlci1zVzg3cFF6SyIsaW5wdXQ6ImlucHV0LXNXODdwUXpLIixmb2N1c091dGxpbmU6ImZvY3VzT3V0bGluZS1zVzg3cFF6SyIscHJpbWFyeToicHJpbWFyeS1zVzg3cFF6SyIsZGlzYWJsZWQ6ImRpc2FibGVkLXNXODdwUXpLIixkYW5nZXI6ImRhbmdlci1zVzg3cFF6SyIsdmlldzoidmlldy1zVzg3cFF6SyJ9fSw4MzI1MTgoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLGJveDoiYm94LVhmR2tCQnFmIix1bmNoZWNrZWQ6InVuY2hlY2tlZC1YZkdrQkJxZiIsY2hlY2tlZDoiY2hlY2tlZC1YZkdrQkJxZiIsbWl4ZWQ6Im1peGVkLVhmR2tCQnFmIixkaXNhYmxlZDoiZGlzYWJsZWQtWGZHa0JCcWYiLGNoZWNrZWRNYXJrOiJjaGVja2VkTWFyay1YZkdrQkJxZiIsbWl4ZWRNYXJrOiJtaXhlZE1hcmstWGZHa0JCcWYifX0sMjgyNTkzKGUpe2UuZXhwb3J0cz17Y2hlY2tib3g6ImNoZWNrYm94LWhVc25uMlpfIixyZXZlcnNlOiJyZXZlcnNlLWhVc25uMlpfIixiYXNlbGluZToiYmFzZWxpbmUtaFVzbm4yWl8iLGxhYmVsOiJsYWJlbC1oVXNubjJaXyIsZGlzYWJsZWQ6ImRpc2FibGVkLWhVc25uMlpfIixwcmltYXJ5OiJwcmltYXJ5LWhVc25uMlpfIixkYW5nZXI6ImRhbmdlci1oVXNubjJaXyJ9fSw5OTQxNShlKXtlLmV4cG9ydHM9e2lubGluZUljb246ImlubGluZUljb24tdDZXWmxMUU8ifX0sODMwMTk3KGUpe2UuZXhwb3J0cz17ZWRpdG9yRXJyb3JCdXR0b25zOiJlZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTMifX0sODc3OTk5KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1QZ3VBckxGZiIsd3JhcEVycm9yOiJ3cmFwRXJyb3ItUGd1QXJMRmYiLGNsaWNrZWRBbmltOiJjbGlja2VkQW5pbS1QZ3VBckxGZiIsZXJyb3JUZXh0OiJlcnJvclRleHQtUGd1QXJMRmYiLHdyYXBTdGFja1RyYWNlOiJ3cmFwU3RhY2tUcmFjZS1QZ3VBckxGZiJ9fSw3NTc5MjMoZSl7ZS5leHBvcnRzPXtkZXNjcmlwdGlvbjoiZGVzY3JpcHRpb24tamVuTlZzX0MiLG1vZGU6Im1vZGUtamVuTlZzX0MiLGFjdGlvbnM6ImFjdGlvbnMtamVuTlZzX0MiLGxpbms6ImxpbmstamVuTlZzX0MifX0sNjg1OTI2KGUpe2UuZXhwb3J0cz17ZGVmYXVsdGVkU3RhdHVzOiJkZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV8ifX0sMTUyMDY5KGUpe2UuZXhwb3J0cz17aGFsYWxTdGF0dXM6ImhhbGFsU3RhdHVzLW5QVTM5cndVIn19LDkyNDAyMChlKXtlLmV4cG9ydHM9e2hrZXhDb21tZW50OiJoa2V4Q29tbWVudC1lYnVOU3ZvdyJ9fSwyODQ0NjcoZSl7ZS5leHBvcnRzPXtsZXRJdFNub3dTdGF0dXM6ImxldEl0U25vd1N0YXR1cy1EdDMwYnZVQSJ9fSw1NzE0NjQoZSl7ZS5leHBvcnRzPXt0dkNhbGN1bGF0ZWRQYWlyOiJ0dkNhbGN1bGF0ZWRQYWlyLVMzemNjSV9QIn19LDQ0NTEoZSl7ZS5leHBvcnRzPXt1cGNvbWluZ0lwb1N0YXR1czoidXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzUifX0sMzgyNTkzKGUpe2UuZXhwb3J0cz17d3JhcFN0YWNrVHJhY2U6IndyYXBTdGFja1RyYWNlLXFxMmpTcjlPIixzdGFja1RyYWNlTGluZToic3RhY2tUcmFjZUxpbmUtcXEyalNyOU8iLGZ1bmN0aW9uTmFtZToiZnVuY3Rpb25OYW1lLXFxMmpTcjlPIixiYXJJbmRleDoiYmFySW5kZXgtcXEyalNyOU8iLGluZm86ImluZm8tcXEyalNyOU8iLGhpZGVFbXB0eToiaGlkZUVtcHR5LXFxMmpTcjlPIn19LDM4NzIzMShlLHQsYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGE9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LGE9e30pe2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgbyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1hW29dfHxvCjtpIGluIGUmJihzW29dPVtlW2ldLHRbb11dLmpvaW4oIiAiKSl9cmV0dXJuIHN9KGUsdCxhKSl9YS5kKHQse21lcmdlVGhlbWVzOigpPT5zfSl9LDg2MDkwNyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveElucHV0OigpPT5wLEdyb3VwZWRDaGVja2JveElucHV0OigpPT5tfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgzNDUxMTYpLG49YSg2NTg0NiksbD1hKDE0NzkwMSksdT1hKDUzNjEyNSksYz1hKDcxNzYwKSxkPWEubihjKTtjb25zdCBoPWAke2wuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWNoZWNrYm94LWlucHV0YDtmdW5jdGlvbiBwKGUpe2NvbnN0e2ludGVudDp0LGRpc2FibGVkOmEsY2xhc3NOYW1lOm8sdGl0bGU6bixzdHlsZTpsLGNoZWNrZWQ6YyxpZDpwLHRhYkluZGV4Om0sbmFtZTpfLHZhbHVlOlMscm9sZTpmLG9uQ2hhbmdlOncscmVmZXJlbmNlOmIsYXJpYVJlcXVpcmVkOmcsYXJpYURlc2NyaWJlZGJ5OnYsYXJpYUludmFsaWQ6eSxkYXRhUWFJZDpNfT1lLEk9dD8/InByaW1hcnkiO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQoKS53cmFwcGVyLGEmJmQoKS5kaXNhYmxlZCxvKSx0aXRsZTpuLHN0eWxlOmwsImRhdGEtcWEtaWQiOk19LHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoZCgpLnZpZXcsZCgpW0ldKX0scy5jcmVhdGVFbGVtZW50KHUuQ2hlY2tib3hWaWV3SW1wbCx7Y2hlY2tlZDpjLGRpc2FibGVkOmEsZGF0YVFhSWQ6YCR7aH0tdmlld2B9KSkscy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2lkOnAsdGFiSW5kZXg6bSxjbGFzc05hbWU6aSgpKGQoKVtJXSxkKCkuaW5wdXQpLHR5cGU6ImNoZWNrYm94IixuYW1lOl8sY2hlY2tlZDohMSE9PWMsZGlzYWJsZWQ6YSx2YWx1ZTpTLHJvbGU6ZixvbkNoYW5nZTp3LHJlZjpiLCJhcmlhLWNoZWNrZWQiOigoKT0+e3N3aXRjaChjKXtjYXNlITA6cmV0dXJuInRydWUiO2Nhc2UhMTpyZXR1cm4iZmFsc2UiO2Nhc2UibWl4ZWQiOnJldHVybiJtaXhlZCJ9fSkoKSwiYXJpYS1yZXF1aXJlZCI6ZywiYXJpYS1kZXNjcmliZWRieSI6diwiYXJpYS1pbnZhbGlkIjp5LCJkYXRhLXFhLWlkIjpgJHtofS1pbnB1dGAsLi4uKDAsci5maWx0ZXJEYXRhUHJvcHMpKGUpfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZCgpLmZvY3VzT3V0bGluZX0pKX1jb25zdCBtPSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkocCl9LDUzNjEyNShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveFZpZXdJbXBsOigpPT5ofSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMTcyNzQpLG49YSgxNDc5MDEpLGw9YSgxMjU4OTcpLHU9YS5uKGwpLGM9YSg4MzI1MTgpLGQ9YS5uKGMpO2Z1bmN0aW9uIGgoZSl7Y29uc3R7Y2hlY2tlZDp0LGRpc2FibGVkOmEsZGF0YVFhSWQ6b309ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGQoKS5ib3gsITA9PT10JiZkKCkuY2hlY2tlZCwhMT09PXQmJmQoKS51bmNoZWNrZWQsIm1peGVkIj09PXQmJmQoKS5taXhlZCxhJiZkKCkuZGlzYWJsZWQpLCJkYXRhLXFhLWlkIjooMCxuLmNvbmNhdElmTm90TnVsbCkoYCR7bi5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9Y2hlY2tib3gtdmlldy0ke3Q/ImNoZWNrZWQiOiJ1bmNoZWNrZWQifWAsbyl9LCEwPT09dCYmcy5jcmVhdGVFbGVtZW50KHIuQmxvY2tJY29uLHtpY29uOnUoKSxjbGFzc05hbWU6ZCgpLmNoZWNrZWRNYXJrfSksIm1peGVkIj09PXQmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmQoKS5taXhlZE1hcmt9KSl9fSw5NzUxOTgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Q2hlY2tib3g6KCk9PmMsR3JvdXBlZENoZWNrYm94OigpPT5kfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSg2NTg0Niksbj1hKDg2MDkwNyksbD1hKDI4MjU5MyksdT1hLm4obCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGFzc05hbWU6dCxsYWJlbFBvc2l0aW9uUmV2ZXJzZTphLGxhYmVsQWxpZ25CYXNlbGluZTpvLGlucHV0Q2xhc3NOYW1lOnIsbGFiZWxDbGFzc05hbWU6bCxsYWJlbDpjLHRpdGxlOmQsZGlzYWJsZWQ6aCxpbnRlbnQ6cD0icHJpbWFyeSIsZGF0YVFhSWQ6bSx2YWx1ZTpfLG9uQ2hhbmdlOlMsbmFtZTpmLGNoZWNrZWQ6dyxpZDpiLHRhYkluZGV4Omcscm9sZTp2LHJlZmVyZW5jZTp5LHN0eWxlOk0sYXJpYVJlcXVpcmVkOkksYXJpYURlc2NyaWJlZGJ5OkUsYXJpYUludmFsaWQ6QyxhdXRvRm9jdXM6VCwuLi5rfT1lLHg9T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGspLmZpbHRlcigoKFtlLHRdKT0+ZS5zdGFydHNXaXRoKCJkYXRhIikpKSksRD1pKCkodCx1KCkuY2hlY2tib3gsYSYmdSgpLnJldmVyc2UsbyYmdSgpLmJhc2VsaW5lKSxWPWkoKSh1KCkubGFiZWwsbCxoJiZ1KCkuZGlzYWJsZWQsdSgpW3BdKSxQPWM/cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlYsdGl0bGU6ZH0sYyk6bnVsbDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsYWJlbCIse2NsYXNzTmFtZTpELCJkYXRhLXFhLWlkIjptfSxzLmNyZWF0ZUVsZW1lbnQobi5DaGVja2JveElucHV0LHsuLi54LHZhbHVlOl8sb25DaGFuZ2U6UyxjbGFzc05hbWU6cixpbnRlbnQ6cCxuYW1lOmYsY2hlY2tlZDp3LGlkOmIsdGFiSW5kZXg6Zyxyb2xlOnYscmVmZXJlbmNlOnksc3R5bGU6TSxhcmlhUmVxdWlyZWQ6SSxhcmlhRGVzY3JpYmVkYnk6RSxhcmlhSW52YWxpZDpDLGRpc2FibGVkOmgsYXV0b0ZvY3VzOlR9KSxQKX1jb25zdCBkPSgwLHIubWFrZVN3aXRjaEdyb3VwSXRlbSkoYyl9LDUyOTQxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VJc0ZpcnN0UmVuZGVyOigpPT5vLHVzZUlzTm9uRmlyc3RSZW5kZXI6KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCk7ZnVuY3Rpb24gbygpe2NvbnN0W2UsdF09KDAscy51c2VTdGF0ZSkoITApO3JldHVybigwLHMudXNlRWZmZWN0KSgoKCk9Pnt0KCExKX0pLFtdKSxlfWZ1bmN0aW9uIGkoKXtyZXR1cm4hbygpfX0sCjExOTc1MChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+SSxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+RX0pO3ZhciBzLG89YSg3Nzk0NzQpLGk9YSg5MTQ0ODcpLHI9YS5uKGkpLG49YSgzNDUxMTYpLGw9YSgyNzMzMTApLHU9YSg3ODU5OTUpLGM9YS5uKHUpLGQ9YSg1MjcyMTkpLGg9YS5uKGQpLHA9YSg2NzMwNjUpLG09YS5uKHApLF89YSg0MDAwNDYpLFM9YS5uKF8pLGY9YSg5OTQ1KSx3PWEubihmKTshZnVuY3Rpb24oZSl7ZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIn0oc3x8KHM9e30pKTtjb25zdCBiPSJzbWFsbCI7dmFyIGcsdjshZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIixlLldhcm5pbmc9Indhcm5pbmciLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5OZXV0cmFsPSJuZXV0cmFsIixlLk5ldXRyYWxMaWdodD0ibmV1dHJhbC1saWdodCJ9KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5JbmZvPSJpbmZvIixlLlF1ZXN0aW9uPSJxdWVzdGlvbiIsZS5DaGVjaz0iY2hlY2siLGUuRXhjbGFtYXRpb249ImV4Y2xhbWF0aW9uIn0odnx8KHY9e30pKTtjb25zdCB5PXtpbmZvOmgoKSxxdWVzdGlvbjpjKCksY2hlY2s6bSgpLGV4Y2xhbWF0aW9uOlMoKX0sTT1vLmZvcndhcmRSZWYoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5lLHJlZjp0LGNsYXNzTmFtZTpyKCkoZS5jbGFzc05hbWUsdygpWyJuby1hY3RpdmUtc3RhdGUiXSl9KSkpLEk9by5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246YT0iZXhjbGFtYXRpb24iLGludGVudDpzPSJkZWZhdWx0IixhcmlhTGFiZWw6aSx0b29sdGlwOnUsY2xhc3NOYW1lOmMscmVuZGVyQ29tcG9uZW50OmQ9TSx0YWJJbmRleDpoPTAsc2l6ZTpwPWIsb25Gb2N1czptLG9uQmx1cjpfLG9uQ2xpY2s6UywuLi5mfT1lLGc9eVthXT8/YTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQse2NsYXNzTmFtZTpyKCkoYyx3KCkuaWNvbldyYXBwZXIsdygpW3NdLHcoKVtwXSksdGl0bGU6dSxyZWY6dCx0YWJJbmRleDpoLG9uRm9jdXM6bSxvbkJsdXI6XyxvbkNsaWNrOlMsLi4uKDAsbi5maWx0ZXJEYXRhUHJvcHMpKGYpfSxvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsiYXJpYS1oaWRkZW4iOiFpLCJhcmlhLWxhYmVsIjppLGljb246ZyxjbGFzc05hbWU6dygpLmljb259KSl9KSk7ZnVuY3Rpb24gRShlKXtjb25zdHtpY29uOnQ9ImV4Y2xhbWF0aW9uIixpbnRlbnQ6YT0iZGVmYXVsdCIsc2l6ZTpzPWIsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCxyZWZlcmVuY2U6aCxhcmlhTGFiZWw6cH09ZSxtPXlbdF0/P3Q7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Y2xhc3NOYW1lOnIoKSh3KCkuaWNvbldyYXBwZXIsdygpW2FdLHcoKVtzXSkscmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0sby5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTp3KCkuaWNvbn0pKX19LDc1ODIzOChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJbmxpbmVJY29uOigpPT51fSk7dmFyIHM9YSg5MTQ0ODcpLG89YS5uKHMpLGk9YSg3Nzk0NzQpLHI9YSg5NDg0NTApLG49YSg5OTQxNSksbD1hLm4obik7Y29uc3QgdT1pLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsLi4uc309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHIuQ29tbW9uSWNvbix7Li4ucyxjbGFzc05hbWU6bygpKGEsbCgpLmlubGluZUljb24pLHJlZjp0fSl9KSl9LDMwNjI4NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VXaW5kb3dSZXNpemVUcmlnZ2VyOigpPT5uLHVzZVdpbmRvd1Njcm9sbFRyaWdnZXI6KCk9Pmx9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDcwNjk0MyksaT1hKDE1OTI1Nik7ZnVuY3Rpb24gcihlLHQsYSl7Y29uc3Qgcj0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsby5jcmVhdGVTaWduYWwpKCkpLFtdKTtyZXR1cm4oMCxpLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKHQsci5maXJlLGEpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIodCxyLmZpcmUsYSl9KSksW3JdKSxyfWNvbnN0IG49KGU9ITApPT5yKGUsInJlc2l6ZSIsITApLGw9KGU9ITApPT5yKGUsInNjcm9sbCIsITApfSw4Njk4NDIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3dpdGNoR3JvdXBDb250ZXh0OigpPT5pfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg4NjIzODgpO2NvbnN0IGk9KDAscy5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+by5kZWZhdWx0LHN1YnNjcmliZTpvLmRlZmF1bHQsdW5zdWJzY3JpYmU6by5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDg2OTg0Mik7ZnVuY3Rpb24gaShlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpewpyZXR1cm4gdGhpcy5jb250ZXh0LmdldE5hbWUoKX1faXNDaGVja2VkKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYWx1ZXMoKS5pbmNsdWRlcyh0aGlzLnByb3BzLnZhbHVlKX19LHQuY29udGV4dFR5cGU9by5Td2l0Y2hHcm91cENvbnRleHQsdH19LDIwNTYxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5vfSk7dmFyIHM9YSgyMzIzNjQpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBhPW5ldyBzLldhdGNoZWRWYWx1ZShlKCkpLG89e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShvLCgoKT0+e2Euc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBhLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwobykpKSkpfX0sOTAxMDIyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnMsaXNTZXBhcmF0b3JJdGVtOigpPT5vfSk7Y29uc3Qgcz0iIyMjIjtmdW5jdGlvbiBvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocyl9fSw4MDI1MjgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7ZmV0Y2hFZGl0b3JFcnJvcjooKT0+dSxmZXRjaExhc3RVcGRhdGVSZWxlYXNlTm90ZXNUaW1lOigpPT5jfSk7dmFyIHM9YSgzODQwMTcpO2NvbnN0IG89Ii9waW5lLXNjcmlwdC1kb2NzLyIsaT1gJHtvfWRvY3VtZW50ZWQtZXJyb3JzLmpzb25gLHI9YCR7b31lcnJvcnMvYDtsZXQgbj1udWxsLGw9bnVsbDthc3luYyBmdW5jdGlvbiB1KGUsdCl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgYT1hd2FpdChhc3luYyBlPT5sfHxufHwobD0oYXN5bmMoKT0+e2NvbnN0IHQ9YXdhaXQoMCxzLmZldGNoKShpLHtjYWNoZToiZGVmYXVsdCIsc2lnbmFsOmV9KTtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCBlcnJvciBjb2RlczogJHt0LnN0YXR1c30gJHt0LnN0YXR1c1RleHR9YCk7Y29uc3QgYT1hd2FpdCB0Lmpzb24oKTtyZXR1cm4gbj1uZXcgU2V0KGEpLGw9bnVsbCxufSkoKSxsKSkodCk7cmV0dXJuIGEuaGFzKGUpP2Ake3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59JHtyfSR7ZX1gOm51bGx9YXN5bmMgZnVuY3Rpb24gYygpe3JldHVybihhd2FpdCgwLHMuZmV0Y2gpKCIvcGluZS1zY3JpcHQtZG9jcy9sYXN0LXVwZGF0ZS10aW1lLmpzb24iKSkuanNvbigpfX0sMTA4MTgyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2NvbG9yRGVmYXVsdGVkOigpPT5sLGNvbG9yRGVsYXlNb2RlOigpPT5zLGNvbG9yRW9kTW9kZTooKT0+byxjb2xvckhhbGFsTW9kZTooKT0+cixjb2xvck5vdEFjY3VyYXRlTW9kZTooKT0+aSxjb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlOigpPT5uLGNvbG9yVXBjb21pbmdJcG86KCk9PnV9KTtjb25zdCBzPSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKSIsbz0idmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCkiLGk9InZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKSIscj0idmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQpIixuPSJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKSIsbD0idmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpIix1PSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWV4dHJhLWJvbGQpIn0sMTkzNTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0hLRVhEYXRhQ29tbWVudDooKT0+UCxIS0VYRGF0YVRpdGxlOigpPT5WLGJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWw6KCk9PnksYmF0c1RvUmVhbHRpbWVIdG1sMTooKT0+YixiYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT52LGJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PmcsZGVmYXVsdGVkSHRtbDooKT0+UixkZWZhdWx0ZWRUaXRsZTooKT0+QSxkZWxheVRvb2x0aXA6KCk9PnIsZW9kSHRtbDooKT0+bSxlb2RUb1JlYWx0aW1lSHRtbDooKT0+Xyxlb2RUb29sdGlwOigpPT5uLGV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+dSxoYWxhbEJvbmRIdG1sOigpPT5wLGhhbGFsSHRtbDooKT0+aCxoYWxhbFRpdGxlOigpPT5kLGxldEl0U25vd0h0bWw6KCk9PlcsbGV0SXRTbm93U3RhcnQ6KCk9Pk8sbGV0SXRTbm93U3RvcDooKT0+SCxsZXRJdFNub3dUaXRsZTooKT0+Rixub3RBY2N1cmF0ZTFQZXJTZWNvbmRUb29sdGlwOigpPT5sLG9wZW5JbkVkaXRvckFjdGlvblRleHQ6KCk9Pngsb3BlbmVkSW5Cb3R0b21QYW5lbFRleHQ6KCk9PlQsb3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlOigpPT5JLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUZXh0OigpPT5rLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUaXRsZTooKT0+RSxvcGVuZWRJbkVkaXRvclRleHQ6KCk9PkMsb3BlbmVkSW5FZGl0b3JUaXRsZTooKT0+TSxvdmVybmlnaHRRdW90ZXNUZXh0OigpPT5VLG92ZXJuaWdodFF1b3Rlc1RpdGxlOigpPT5MLHRpY2tCeVRpY2tIdG1sMTooKT0+Zix0aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooKT0+Uyx0aWNrQnlUaWNrSHRtbDI6KCk9PncsdHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PkQsdHZDYWxjdWxhdGVkUGFpclRvb2x0aXA6KCk9PmMsdXBjb21pbmdJcG9IdG1sOigpPT5OLHVwY29taW5nSXBvVGl0bGU6KCk9PkJ9KTt2YXIgcz1hKDE4NTI3MSksbz1hKDY0MTU5MyksaT1hKDE1NzQ0Nyk7Y29uc3Qgcj0oMCxpLmdldERlbGF5VG9vbHRpcCkoKSxuPXMudChudWxsLHZvaWQgMCxhKDc5NzQ2MCkpLGw9cy50KG51bGwsdm9pZCAwLGEoMzMwNzYwKSksdT0oKDAsaS5nZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwKSgpLCgwLGkuZ2V0RXhjaGFuZ2VCeU9yaWdpbmFsRXhjaGFuZ2VUb29sdGlwKSgpKSxjPSgwLGkuZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlKSgpLGQ9KCgwLGkuZ2V0RGVyaXZlZFRpdGxlKSgpLCgwLGkuZ2V0RGVyaXZlZEh0bWwpKCksKDAsCmkuZ2V0SGFsYWxUaXRsZSkoKSksaD0oMCxpLmdldEhhbGFsSHRtbCkoKSxwPSgwLGkuZ2V0SGFsYWxCb25kSHRtbCkoKSxtPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMTg3MjcyKSkpLF89KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgyMjcwODgpKSksUz0oMCxvLmh0bWxFc2NhcGUpKHMudChudWxsLHZvaWQgMCxhKDg5NTMwMCkpKSxmPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMjMzOTEyKSkpLHc9KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgxMTQ0NCkpKSxiPXMudChudWxsLHZvaWQgMCxhKDk2MTkyNikpLGc9KCgwLGkuZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDEpKCksKDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWxQYXJ0MikoKSwoMCxpLmdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKCkpLHY9KDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlKSgpLHk9cy50KG51bGwsdm9pZCAwLGEoNzE5NzExKSksTT0oKDAsaS5nZXRDb250aW51b3VzVGl0bGUpKCksKDAsaS5nZXRDb250aW51b3VzSHRtbCkoKSxzLnQobnVsbCx7Y29udGV4dDoiUGluZSBlZGl0b3IifSxhKDI5NDYxOCkpKSxJPXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoNzc0MjgpKSxFPXMudChudWxsLHZvaWQgMCxhKDk1ODI3MSkpLEM9cy50KG51bGwsdm9pZCAwLGEoNTQ1ODQpKSxUPXMudChudWxsLHZvaWQgMCxhKDgzNzI1KSksaz1zLnQobnVsbCx2b2lkIDAsYSg4Mjk0NDgpKSx4PXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoOTAwNDI1KSksRD0oMCxpLmdldFR2Q2FsY3VsYXRlZFBhaXJIdG1sKSgpLFY9cy50KG51bGwse2NvbnRleHQ6IkhLRVggZGlzY2xhaW1lciJ9LGEoMTY3OTEyKSksUD1zLnQobnVsbCx2b2lkIDAsYSg0NTc3NTApKSxBPSgwLGkuZ2V0RGVmYXVsdGVkVGl0bGUpKCksUj0oMCxpLmdldERlZmF1bHRlZEh0bWwpKCksQj0oMCxpLmdldFVwY29taW5nSXBvVGl0bGUpKCksTj0oMCxpLmdldFVwY29taW5nSXBvSHRtbCkoKSxGPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoMjQ0MTApKSxXPXMudChudWxsLHZvaWQgMCxhKDQwNDU0NCkpLE89cy50KG51bGwse2NvbnRleHQ6IkhvbGlkYXkgYmFubmVyIn0sYSg5ODE4NzIpKSxIPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoNDg5MjAwKSksTD1zLnQobnVsbCx2b2lkIDAsYSg1OTc5NCkpLFU9cy50KG51bGwsdm9pZCAwLGEoNjg3OTU0KSl9LDE1NzQ0NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtnZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT5FLGdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PkMsZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDE6KCk9Pk0sZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDI6KCk9PkksZ2V0Q29udGludW91c0h0bWw6KCk9PmQsZ2V0Q29udGludW91c1RpdGxlOigpPT5jLGdldENyZWF0ZUZyZWVBY2NvdW50VGl0bGU6KCk9PncsZ2V0RGVmYXVsdGVkSHRtbDooKT0+RCxnZXREZWZhdWx0ZWRUaXRsZTooKT0+eCxnZXREZWxheUh0bWw6KCk9PnAsZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbDooKT0+XyxnZXREZWxheVRvUmVhbHRpbWVKc3g6KCk9Pm0sZ2V0RGVsYXlUb29sdGlwOigpPT5oLGdldERlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudEh0bWw6KCk9PlMsZ2V0RGVyaXZlZEh0bWw6KCk9PnIsZ2V0RGVyaXZlZFRpdGxlOigpPT5pLGdldEV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+eSxnZXRGaWxsRXhjaGFuZ2VBZ3JlZW1lbnRzVGl0bGU6KCk9PmIsZ2V0SGFsYWxCb25kSHRtbDooKT0+dSxnZXRIYWxhbEh0bWw6KCk9PmwsZ2V0SGFsYWxUaXRsZTooKT0+bixnZXRMZWFybk1vcmVUaXRsZTooKT0+ZyxnZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwOigpPT52LGdldFJ0RnJlZUZvclJlZ2lzdGVyZWRVc2Vyc0h0bWw6KCk9PmYsZ2V0VHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PmssZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlOigpPT5ULGdldFVwY29taW5nSXBvSHRtbDooKT0+UCxnZXRVcGNvbWluZ0lwb1RpdGxlOigpPT5WfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSgxODUyNzEpO2NvbnN0IGk9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgxNjM4MDYpKSxyPSgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTI1MDApKSxuPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoNDE3OTEpKSxsPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMzgwMDQpKSx1PSgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NzM2ODIpKSxjPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoODk0MjIxKSksZD0oKT0+by50KG51bGwsdm9pZCAwLGEoOTc3Nzc2KSksaD0oKT0+by50KG51bGwse2NvbnRleHQ6IlF1b3RlIHRvb2x0aXAifSxhKDQ3MzQyNSkpLHA9KGUsdCk9Pm8udChudWxsLHtwbHVyYWw6IntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZXMgYmVjYXVzZSBvZiBleGNoYW5nZSByZXF1aXJlbWVudHMuIixjb3VudDp0LHJlcGxhY2U6e3N5bWJvbE5hbWU6ZSx0aW1lOnQudG9TdHJpbmcoKX19LGEoODU3MDY3KSksbT1lPT57Y29uc3RbdCxpXT1vLnQobnVsbCx2b2lkIDAsYSgyMjA3MzgpKS5zcGxpdCgie2Rlc2NyaXB0aW9ufSIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHQsZSxpKX0sXz0oKT0+by50KG51bGwsdm9pZCAwLGEoOTE1MTAwKSksUz1lPT5vLnQobnVsbCx2b2lkIDAsYSgxNjUwNTIpKS5yZXBsYWNlKCJ7bGlzdGVkRXhjaGFuZ2V9IixlKSxmPWU9Pm8udChudWxsLHZvaWQgMCxhKDkxNDU1KSkucmVwbGFjZSgie2xpc3RlZEV4Y2hhbmdlfSIsZSksdz0oKT0+by50KG51bGwsdm9pZCAwLGEoMjk5OTI2KSksYj0oKT0+by50KG51bGwsdm9pZCAwLGEoODYzODc3KSksZz0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBwYWdlIHN0YXR1c2VzIgp9LGEoMTA5NjAxKSksdj0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMjI5MDI1KSkseT0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMzAwMjcxKSksTT0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoMjMyMTQ5KSksST0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoNDA5MDE5KSksRT0oKT0+by50KG51bGwsdm9pZCAwLGEoMjgyMTMxKSksQz0oKT0+by50KG51bGwsdm9pZCAwLGEoNDYzODI1KSksVD0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBzdGF0dXMifSxhKDgzNjEyMykpLGs9KCk9Pm8udChudWxsLHZvaWQgMCxhKDYyODU1MykpLHg9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgzMzM4ODQpKSxEPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNDI3NTUpKSxWPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoMTE5NSkpLFA9KCk9Pm8udChudWxsLHZvaWQgMCxhKDEzMjU2MSkpfSw3NzY1NzYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7QkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRDooKT0+byxIQUxBTF9TT0xVVElPTl9JRDooKT0+cyxUVl9DQUxDVUxBVEVEX1BBSVJfU09MVVRJT05fSUQ6KCk9Pml9KTtjb25zdCBzPTQzMDAwNzAwODUyLG89NDMwMDA0NzM5MjQsaT00MzAwMDcwMzE3M30sNjAzNjEyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5EOigpPT5zLGJyZWFrcG9pbnRMaXN0OigpPT5pfSk7Y29uc3Qgcz0iQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQiO3ZhciBvOyFmdW5jdGlvbihlKXtlW2UuTW9iaWxlPTBdPSJNb2JpbGUiLGVbZS5UYWJsZXRTbWFsbD00ODBdPSJUYWJsZXRTbWFsbCIsZVtlLlRhYmxldD03NjhdPSJUYWJsZXQiLGVbZS5UYWJsZXRMYXJnZT0xMDI0XT0iVGFibGV0TGFyZ2UiLGVbZS5EZXNrdG9wU21hbGw9MTI4MF09IkRlc2t0b3BTbWFsbCIsZVtlLkRlc2t0b3A9MTQ0MF09IkRlc2t0b3AiLGVbZS5EZXNrdG9wTGFyZ2U9MTkyMF09IkRlc2t0b3BMYXJnZSJ9KG98fChvPXt9KSk7Y29uc3QgaT03OTc5NT09YS5qP1sxOTIwLDE0NDAsMTI4MCwxMDI0LDc2OCw0ODAsMF06bnVsbH0sNDkwMjA0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Jlc29sdmVVbmRlcmx5aW5nU3ltYm9sOigpPT5vfSk7dmFyIHM9YSgzMjA1NSk7YXN5bmMgZnVuY3Rpb24gbyhlKXtjb25zdCB0PWF3YWl0KDAscy5zbmFwc2hvdGVyKSgpLmdldFNuYXBzaG90KGUsbmV3IFNldChbInVuZGVybHlpbmctc3ltYm9sIl0pKTtpZigiZXJyb3IiPT09dC5zdGF0dXMpcmV0dXJuIG51bGw7Y29uc3QgYT10LnZhbHVlc1sidW5kZXJseWluZy1zeW1ib2wiXTtyZXR1cm4gYXx8bnVsbH19LDEzODk5NChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+cCxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+XyxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkxpbms6KCk9Pm19KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDExOTc1MCksbj1hKDg2NTA5MiksbD1hKDM0NDc4NSksdT1hKDE5ODIwOSksYz1hLm4odSk7ZnVuY3Rpb24gZCgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLGQpLCgwLGwuaGlkZSkoKX1jb25zdCBoPWU9PnsoMCxsLnNob3dPbkVsZW1lbnQpKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKX0scD0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLG9uQ2xpY2s6bz1oLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOnUsc2l6ZTpkLC4uLnB9PWUse3Rvb2x0aXA6bSxjbGFzc05hbWU6XywuLi5TfT0oMCxuLnVzZVRvb2x0aXApKHt0b29sdGlwOmUudG9vbHRpcCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDohMSxzaG93VG9vbHRpcDpsLnNob3dPbkVsZW1lbnQsaGlkZVRvb2x0aXA6bC5oaWRlLG9uQ2xpY2s6b30sdCk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChyLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtjbGFzc05hbWU6aSgpKGEsYygpWyJpY29uLXdyYXBwZXIiXSxtJiZjKClbIndpdGgtdG9vbHRpcCJdLF8pLHRvb2x0aXA6bSxzaXplOmQsLi4ucCwuLi5TfSl9KSksbT0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLGhyZWY6byxyZWw6cix0YXJnZXQ6biwuLi5sfT1lLHU9KDAscy51c2VNZW1vKSgoKCk9PigwLHMuZm9yd2FyZFJlZikoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOm8scmVsOnIsdGFyZ2V0Om4scmVmOnQsLi4uZX0pKSkpLFtvLHIsbl0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocCx7Li4ubCxjbGFzc05hbWU6aSgpKGEsYygpWyJ3aXRoLWxpbmsiXSkscmVuZGVyQ29tcG9uZW50OnUscmVmOnQsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITB9KX0pKSxfPSgwLHMuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsd2l0aEFjdGl2ZVN0YXRlOm8sLi4ucn09ZSxuPSgwLHMudXNlTWVtbykoKCgpPT4oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5lLHJlZjp0LHR5cGU6ImJ1dHRvbiJ9KSkpKSxbXSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChwLHsKLi4ucixjbGFzc05hbWU6aSgpKGEsIW8mJmMoKVsibm8tYWN0aXZlLXN0YXRlIl0pLHJlbmRlckNvbXBvbmVudDpuLHJlZjp0fSl9KSl9LDMzNjMzNChlLHQsYSl7InVzZSBzdHJpY3QiO3ZhciBzPWEoMTI5MzY1KTt0LmNyZWF0ZVJvb3Q9cy5jcmVhdGVSb290LHMuaHlkcmF0ZVJvb3R9LDEyOTM2NShlLHQsYSl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9YSg1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIGE9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxyPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbj1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LF89T2JqZWN0LmFzc2lnbixTPXt9O2Z1bmN0aW9uIGYoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mdW5jdGlvbiB3KCl7fWZ1bmN0aW9uIGIoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHcucHJvdG90eXBlPWYucHJvdG90eXBlO3ZhciBnPWIucHJvdG90eXBlPW5ldyB3O2cuY29uc3RydWN0b3I9YixfKGcsZi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHY9QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksTT17Y3VycmVudDpudWxsfSxJPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQscyl7dmFyIG8saT17fSxyPW51bGwsbj1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihuPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHI9IiIrdC5rZXkpLHQpeS5jYWxsKHQsbykmJiFJLmhhc093blByb3BlcnR5KG8pJiYoaVtvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpaS5jaGlsZHJlbj1zO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtpLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1pW29dJiYoaVtvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUsa2V5OnIscmVmOm4scHJvcHM6aSxfb3duZXI6TS5jdXJyZW50fX1mdW5jdGlvbiBDKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1hfXZhciBUPS9cLysvZztmdW5jdGlvbiBrKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24geChlLHQsbyxpLHIpe3ZhciBuPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChuKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIGE6Y2FzZSBzOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPWUpLGU9IiI9PT1pPyIuIitrKGwsMCk6aSx2KHIpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShULCIkJi8iKSsiLyIpLHgocix0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1yJiYoQyhyKSYmKHI9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShyLG8rKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoVCwiJCYvIikrIi8iKStlKSksdC5wdXNoKHIpKSwxO2lmKGw9MCxpPSIiPT09aT8iLiI6aSsiOiIsdihlKSlmb3IodmFyIHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIGM9aStrKG49ZVt1XSx1KTtsKz14KG4sdCxvLGMscil9ZWxzZSBpZihjPWZ1bmN0aW9uKGUpewpyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPXAmJmVbcF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEobj1lLm5leHQoKSkuZG9uZTspbCs9eChuPW4udmFsdWUsdCxvLGM9aStrKG4sdSsrKSxyKTtlbHNlIGlmKCJvYmplY3QiPT09bil0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBEKGUsdCxhKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBzPVtdLG89MDtyZXR1cm4geChlLHMsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwoYSxlLG8rKyl9KSksc31mdW5jdGlvbiBWKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFA9e2N1cnJlbnQ6bnVsbH0sQT17dHJhbnNpdGlvbjpudWxsfSxSPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlAsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6QSxSZWFjdEN1cnJlbnRPd25lcjpNfTt0LkNoaWxkcmVuPXttYXA6RCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxhKXtEKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxhKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gRChlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBEKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighQyhlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1mLHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPXIsdC5QdXJlQ29tcG9uZW50PWIsdC5TdHJpY3RNb2RlPWksdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Uix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscyl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89Xyh7fSxlLnByb3BzKSxpPWUua2V5LHI9ZS5yZWYsbj1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHI9dC5yZWYsbj1NLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYoaT0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl5LmNhbGwodCx1KSYmIUkuaGFzT3duUHJvcGVydHkodSkmJihvW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpby5jaGlsZHJlbj1zO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOmEsdHlwZTplLnR5cGUsa2V5OmkscmVmOnIscHJvcHM6byxfb3duZXI6bn19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bixfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1DLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OlZ9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUEudHJhbnNpdGlvbjtBLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0EudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBQLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBQLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFAuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpewpyZXR1cm4gUC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LGEpe3JldHVybiBQLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsYSl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFAuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LGEpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxhKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxhKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWEoMTIyNzQ5KX0sNjMzNjQ0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Nob3dBYm91dFRoZVN0dWR5SGFuZGxlcjooKT0+Y30pO3ZhciBzPWEoOTI2OTk1KTthKDE4NTI3MSksYSgyNTYzMTQpO2NvbnN0IG89L15TVEQ7RnVuZF8oLio/KSg/Ol8oPzpmeXxmcXxmaHx0dG0pKT8kLzt2YXIgaT1hKDc5MTQyNykscj1hKDQxMzQxKSxuPWEoMTQ3ODA1KSxsPWEoMTAzOTk4KSx1PWEoMTQzODA4KTthc3luYyBmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e3NjcmlwdElkUGFydDpjLGlkOmQscGluZTpofT10O2lmKCgwLHUuaXNGdW5kYW1lbnRhbFN0dWR5TWV0YUluZm8pKHQpKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tYXRjaChvKTtyZXR1cm4gdD90WzFdOnR9KGMpO2lmKGUpe2NvbnN0e2RlZmF1bHQ6dH09YXdhaXQgYS5lKDYyMDY4KS50aGVuKGEudC5iaW5kKGEsNjMwNDc2LDE5KSk7aWYoZSBpbiB0KXJldHVybigpPT4oMCxzLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDp0W2VdfSl9fWVsc2UgaWYoIWh8fGkuU3R1ZHlNZXRhSW5mby5oYXNTdGRTdWZmaXgoYykpe2NvbnN0e2RlZmF1bHQ6ZX09YXdhaXQgYS5lKDQyNDQxKS50aGVuKGEudC5iaW5kKGEsNDQ1MDY3LDE5KSk7aWYoYyBpbiBlfHxkIGluIGUpcmV0dXJuKCk9PigwLHMuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmVbY118fGVbZF19KX1lbHNlIGlmKGkuU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoYykpcmV0dXJuIGFzeW5jKCk9Pnt0cnl7Y29uc3R7Y2hhcnRJbWFnZVVybDplfT1hd2FpdCgwLHIucmVxdWVzdFNjcmlwdEluZm8pKGMpOygwLG4ub3BlblB1YmxpY2F0aW9uVmlld1BvcHVwKSh7dWlkOmUsdHlwZToic2NyaXB0In0pfWNhdGNoeygwLGwuc2hvd1NjcmlwdEluZm9FcnJvck5vdGljZURpYWxvZykoKX19O3JldHVybiBudWxsfX0sNjA0Mzg0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NoYXJ0TW9kZWxNYWluU2VyaWVzU3RhdHVzU291cmNlQWRhcHRlcjooKT0+aCxDaGFydE1vZGVsU3RhdHVzU291cmNlQWRhcHRlcjooKT0+ZH0pO3ZhciBzLG89YSgxMzg2MzgpLGk9YSgyMzIzNjQpLHI9YSg5NTI5MDApLG49YSgyNDE5NTYpLGw9YSgyMDU2MTEpLHU9YSg5NTY0MzcpLGM9YSgzMjI0MTkpOyFmdW5jdGlvbihlKXtlW2UuRm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0TXM9MzUwMF09IkZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dE1zIn0oc3x8KHM9e30pKTtjbGFzcyBke2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faGlkZGVuPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sPW51bGwsdGhpcy5faXNTeW1ib2xJbnZhbGlkPW51bGwsdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPW51bGwsdGhpcy5fc3ltYm9sSW5mbz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zb3VyY2U9ZSxlLnByb3BlcnRpZXMoKS5oYXNDaGlsZCgic3ltYm9sIikmJih0aGlzLl9zeW1ib2w9KDAsbi5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+ZS5wcm9wZXJ0aWVzKCkuc3ltYm9sLnZhbHVlKCkpLGUucHJvcGVydGllcygpLnN5bWJvbC5saXN0ZW5lcnMoKSkpO2NvbnN0IGE9W107aWYoKDAsYy5pc1N0dWR5TGluZVRvb2wpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpKTtlbHNlIGlmKCgwLHUuaXNTdHVkeSkoZSl8fCgwLHUuaXNTdHVkeVN0dWIpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpLGUub25Jc0FjdHVhbEludGVydmFsQ2hhbmdlKCkpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxsLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+ZS5pc1N5bWJvbEludmFsaWQoKSYmZS5pc0FjdHVhbEludGVydmFsKCkpLGEpLCgwLHUuaXNTdHVkeSkoZSk/KHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lcj0oMCxyLmNvbWJpbmUpKCgoZSx0KT0+IWV8fCF0KSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzVmlzaWJsZSgpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlKS5vd25lcnNoaXAoKSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzQWN0dWFsSW50ZXJ2YWwoKSksZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lci5zdWJzY3JpYmUoKGU9PnRoaXMuX2hpZGRlbi5zZXRWYWx1ZShlKSkse2NhbGxXaXRoTGFzdDohMAp9KSk6dGhpcy5faGlkZGVuLnNldFZhbHVlKCFlLmlzVmlzaWJsZSgpfHwhZS5pc0FjdHVhbEludGVydmFsKCkpO2Vsc2V7KDAsby5hc3NlcnQpKGU9PT10Lm1haW5TZXJpZXMoKSk7Y29uc3Qgcz10Lm1haW5TZXJpZXMoKTthLnB1c2gocy5vblN0YXR1c0NoYW5nZWQoKSksdGhpcy5faXNTeW1ib2xJbnZhbGlkPSgwLGwuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9ucykoKCgpPT5zLmlzU3ltYm9sSW52YWxpZCgpKSxhKSx0aGlzLl9zeW1ib2xJbmZvPSgwLG4uY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKShzLnN5bWJvbEluZm8uYmluZChzKSxzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpKX10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXM9KDAsbC5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PnRoaXMuX3NvdXJjZS5zdGF0dXNQcm92aWRlcih7fSkuZXJyb3JTdGF0dXMoKSksYSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbD8uZGVzdHJveSgpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD8uZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPy5kZXN0cm95KCl9ZW50aXR5SWQoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlkKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWVycm9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c31zeW1ib2xJbmZvKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluZm99aGlkZGVuKCl7cmV0dXJuIHRoaXMuX2hpZGRlbi5yZWFkb25seSgpfW1hcmtldFN0YXR1c01vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKX1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiB0aGlzLl9zb3VyY2UuZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKX1hc3luYyBwaW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsPy4oKT8/UHJvbWlzZS5yZXNvbHZlKG51bGwpfWFsZXJ0U291cmNlTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmFsZXJ0U291cmNlTW9kZWwoKX1pc01haW5TZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlzTWFpblNlcmllcz8uKCk/PyExfX1jbGFzcyBoIGV4dGVuZHMgZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fcXVvdGVzRGF0YT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGU9bmV3IGkuV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZVRpbWVvdXQ9bnVsbCx0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnNwYXduKCksZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXNQcm92aWRlcigpLnF1b3RlcygpLnZhbHVlKCksITApfSkpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZVN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9xdW90ZXNEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXMoKSksdGhpcy5fbWFya2V0U3RhdHVzLnN1YnNjcmliZSgoZT0+e251bGw9PT1lJiYobnVsbCE9PXRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUuc2V0VmFsdWUoITEpLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1udWxsLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlLnNldFZhbHVlKCEwKX0pLDM1MDApKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9kYXRhUHJvYmxlbXM9dGhpcy5fc2VyaWVzLmRhdGFQcm9ibGVtTW9kZWwoKS5kYXRhUHJvYmxlbXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZS5iaW5kKHRoaXMpKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksZS5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPy4oKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksZS5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksdGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUoKX1xdW90ZXNEYXRhKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc0RhdGEucmVhZG9ubHkoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksdGhpcy5fc2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQ/LigpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3RlU3ltYm9sQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0KSxzdXBlci5kZXN0cm95KCl9Cl91cGRhdGVIaWRkZW5WYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzLnN0YXR1cygpLHQ9dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUudmFsdWUoKXx8dGhpcy5fc2VyaWVzLmlzSW5SZXBsYXkoKS52YWx1ZSgpfHwxMj09PWV8fDQ9PT1lfHxudWxsIT09dGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkmJjIhPT1lJiYxIT09ZXx8dGhpcy5fZGF0YVByb2JsZW1zLnZhbHVlKCkuc29tZSgoZT0+ImhpZ2giPT09ZS5zZXZlcml0eSkpO3RoaXMuX2hpZGRlbi5zZXRWYWx1ZSghdCl9fX0sNDQxNDQwKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5adH0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoOTUyOTAwKSxpPWEoMTI4OTk4KSxyPWEoODkxOTU0KSxuPWEoMTg1MjcxKSxsPWEoNjQxNTkzKSx1PWEoOTYyNzM3KSxjPWEoNzcwNzU1KSxkPWEoMTU3NDQ3KSxoPWEoNTY1MjA2KSxwPWEoNjQyNzgzKSxtPWEoMzUxMTgyKSxfPWEoODYwNTQ4KTtjb25zdCBTPW4udChudWxsLHZvaWQgMCxhKDMzMzQwNykpLGY9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksdz1uZXcgTWFwKFtbITAsXy5kYXRhUHJvYmxlbUxvd10sWyExLG51bGxdXSksYj1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksZz1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksdj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXSxbITEsbnVsbF1dKTtjbGFzcyB5IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOmYsY2xhc3NOYW1lTWFwOncsdG9vbHRpcE1hcDpiLHRpdGxlTWFwOmcsdGl0bGVDb2xvck1hcDp2LHNpemU6dH0pLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9sYXN0RXJyb3I9bnVsbCx0aGlzLl9vcHRpb25zPWEsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXNldFNvdXJjZShlKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1lLmVycm9yU3RhdHVzKCkuc3Bhd24oKSx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4oZT90aGlzLl9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpOm51bGwpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuKGU/dGhpcy5fZ2V0RGF0YVNvdXJjZUVycm9yU3RhdHVzQ3VzdG9tVGl0bGUoKTpudWxsKT8/c3VwZXIuX2dldFRpdGxlKGUpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCksdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3tpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOnRoaXMuX2dldFRpdGxlKGUpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOnZvaWQgMD09PXQuc3RhY2tUcmFjZT9bKDAsdS5mb3JtYXRTdHVkeUVycm9yKSgoMCxsLmh0bWxFc2NhcGUpKHQuZXJyb3IpKV06bnVsbCxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzb2x1dGlvbklkOnRoaXMuX29wdGlvbnMuZXJyb3JTb2x1dGlvbj90aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8uc29sdXRpb25JZDp2b2lkIDAsZGF0YVFhSWQ6dGhpcy5fZGF0YVFhSWQoKT8/dm9pZCAwfV0pOnRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpfV9kYXRhUWFJZCgpe3JldHVybiJkYXRhLXNvdXJjZS1lcnJvci1zdGF0dXMifV9nZXRBY3Rpb24oZSl7Y29uc3QgdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtpZih0aGlzLl9vcHRpb25zLmVycm9yU29sdXRpb24mJm51bGwhPT10KXtjb25zdHtzdHVkeUZlYXR1cmU6ZX09dDtpZihlKXJldHVybnt0ZXh0OigwLGQuZ2V0TGVhcm5Nb3JlVGl0bGUpKCksb25DbGljazooKT0+KDAsYy5vcGVuUGF5d2FsbCkoZSl9fXJldHVybiBudWxsfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT8odGhpcy5fc3RhdHVzLnNldFZhbHVlKCEwKSx0JiZ0aGlzLl9sYXN0RXJyb3IhPT1lLmVycm9yJiZ0aGlzLl91cGRhdGVCeVN0YXR1cyghMCksdGhpcy5fbGFzdEVycm9yPWUuZXJyb3IpOih0aGlzLl9zdGF0dXMuc2V0VmFsdWUobnVsbCksdGhpcy5fbGFzdEVycm9yPW51bGwpfV9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8udGl0bGV8fG51bGx9fXZhciBNLEk9YSg3Nzk0NzQpLEU9YSgyMjEwNjEpLEM9YSg3MDA4NCksVD1hKDU2MjQ1NSksaz1hKDI4NTg2MSkseD1hKDQ2MDQ0OCksRD1hKDU1NDY0MSksVj1hKDgzNTk4MCksUD1hKDEwODE4MiksQT1hKDc3NjU3NiksUj1hKDE5MzUwOCk7IWZ1bmN0aW9uKGUpe2UuRGVsYXlUb1JlYWx0aW1lPSJEZWxheVRvUmVhbHRpbWUiLGUuRGVsYXlOb1JlYWx0aW1lPSJEZWxheU5vUmVhbHRpbWUiLGUuVEZFWERlbGF5Rm9yR3Vlc3Q9IlRGRVhEZWxheUZvckd1ZXN0IixlLk1JTERlbGF5Rm9yR3Vlc3Q9Ik1JTERlbGF5Rm9yR3Vlc3QiLGUuSUNFU0dEZWxheUZvckd1ZXN0PSJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLGUuVFVSUVVPSVNFRGVsYXlGb3JHdWVzdD0iVFVSUVVPSVNFRGVsYXlGb3JHdWVzdCIsCmUuQURYRGVsYXlGb3JHdWVzdD0iQURYRGVsYXlGb3JHdWVzdCIsZS5UUkFERUdBVEVEZWxheUZvckd1ZXN0PSJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixlLkxVWFNFRGVsYXlGb3JHdWVzdD0iTFVYU0VEZWxheUZvckd1ZXN0IixlLk5TRU5HRGVsYXlGb3JHdWVzdD0iTlNFTkdEZWxheUZvckd1ZXN0IixlLkZJTlJBRGVsYXlGb3JHdWVzdD0iRklOUkFEZWxheUZvckd1ZXN0IixlLkFRVUlTRGVsYXlGb3JHdWVzdD0iQVFVSVNEZWxheUZvckd1ZXN0IixlLkVFWERlbGF5Rm9yR3Vlc3Q9IkVFWERlbGF5Rm9yR3Vlc3QiLGUuREVGb3JHdWVzdD0iREVGb3JHdWVzdCIsZS5FT0Q9IkVPRCIsZS5FT0RUb1JlYWx0aW1lPSJFT0RUb1JlYWx0aW1lIixlLlRpY2tCeVRpY2s9IlRpY2tCeVRpY2siLGUuQkFUU1RvUmVhbHRpbWU9IkJBVFNUb1JlYWx0aW1lIixlLkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudD0iRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixlLkRlbGF5V2l0aG91dFBhaWRGb3JQcm9mZmVzc2lvbmFsPSJEZWxheVdpdGhvdXRQYWlkRm9yUHJvZmZlc3Npb25hbCIsZS5PdmVybmlnaHRRdW90ZXM9Ik92ZXJuaWdodFF1b3RlcyJ9KE18fChNPXt9KSk7Y29uc3QgQj1bIlRGRVhEZWxheUZvckd1ZXN0IiwiTUlMRGVsYXlGb3JHdWVzdCIsIkRFRm9yR3Vlc3QiLCJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLCJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IiwiQURYRGVsYXlGb3JHdWVzdCIsIlRSQURFR0FURURlbGF5Rm9yR3Vlc3QiLCJMVVhTRURlbGF5Rm9yR3Vlc3QiLCJOU0VOR0RlbGF5Rm9yR3Vlc3QiLCJGSU5SQURlbGF5Rm9yR3Vlc3QiLCJBUVVJU0RlbGF5Rm9yR3Vlc3QiLCJFRVhEZWxheUZvckd1ZXN0Il07dmFyIE49YSg3Mzc1MjMpLEY9YSg5MzA1NjYpO2NvbnN0IFc9InR2LmFscmVhZHlCbGlua2VkU3RhdHVzZXMiLE89W107ZnVuY3Rpb24gSCgpe3JldHVybiBGLmdldEpTT04oVyxPKX1jb25zdCBMPW5ldyBzLldhdGNoZWRWYWx1ZShIKCkpO2Z1bmN0aW9uIFUoZSl7Y29uc3QgdD1GLmdldEpTT04oVyxPKTt0LmluY2x1ZGVzKGUpfHwodC5wdXNoKGUpLEYuc2V0SlNPTihXLHQpLEwuc2V0VmFsdWUoSCgpKSl9Ri5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5MLnNldFZhbHVlKEgoKSkpKTtjb25zdCBHPUw7dmFyIHo9YSgzNjIyMzkpO3ZhciBxPWEoMzg2OTMxKSwkPWEoNjEzODcwKSxqPWEoOTI2OTk1KSxRPWEoNzc0NTA3KTthc3luYyBmdW5jdGlvbiBYKGUpe3ZvaWQgMD09PWUuaXNFeHBlcnQmJihlPXsuLi5lLGlzRXhwZXJ0OndpbmRvdy51c2VyLmRlY2xhcmVkX3N0YXR1cz09PVEuVXNlclN0YXR1cy5Qcm99KTsoYXdhaXQgUHJvbWlzZS5hbGwoW2EuZSg0MzU3NiksYS5lKDg0MzA2KSxhLmUoNTIzOTYpLGEuZSgxMzQ5MiksYS5lKDM3NzQ2KSxhLmUoODEwNzIpLGEuZSgyMzYyNCksYS5lKDE5NTk1KSxhLmUoMTk3ODcpLGEuZSg2Nzc5OSksYS5lKDg2NDIzKSxhLmUoODU3OSksYS5lKDQwODM1KSxhLmUoNzI2NjYpLGEuZSg5MzQyMSksYS5lKDc4NjUyKSxhLmUoNzQzODEpLGEuZSgxNTUyNiksYS5lKDYxODIxKSxhLmUoNTczMDApLGEuZSg2NjI3MCksYS5lKDUxNjgyKSxhLmUoMzc3NjcpLGEuZSgzNTE5OCksYS5lKDQ2NTkxKSxhLmUoOTQwNTQpLGEuZSgzMzEyMCksYS5lKDQwODY3KSxhLmUoMTUwOSksYS5lKDUwODAwKSxhLmUoNzY2NSksYS5lKDMzMjIxKSxhLmUoMTI1NjUpLGEuZSgzMTI2MiksYS5lKDI1Njk4KSxhLmUoMjMzMSksYS5lKDc4OTkpLGEuZSg4MTkwMyksYS5lKDgxNTI5KSxhLmUoOTEyMDApLGEuZSg0NDc4MCksYS5lKDg0MzcxKSxhLmUoMjYxNDUpLGEuZSgzODM5OCksYS5lKDM3NzU2KV0pLnRoZW4oYS5iaW5kKGEsODcxMDUyKSkpLm9wZW5FeGNoYW5nZUFncmVlbWVudERpYWxvZyhlKX12YXIgSz1hKDU4OTc0OSk7Y29uc3QgWj0oMCwKRS5nZXRMb2dnZXIpKCJDaGFydC5MZWdlbmRXaWRnZXQiKSxKPW5ldyBNYXAoW1sic21hbGwiLENdLFsibWVkaXVtIixUXSxbImxhcmdlIixUXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsa10sWyJtZWRpdW0iLHhdLFsibGFyZ2UiLHhdXSksZWU9bmV3IE1hcChbWyJzbWFsbCIsRF0sWyJtZWRpdW0iLFZdLFsibGFyZ2UiLFZdXSksdGU9bmV3IE1hcChbWyJEZWxheVRvUmVhbHRpbWUiLEpdLFsiRGVsYXlOb1JlYWx0aW1lIixKXSxbIlRGRVhEZWxheUZvckd1ZXN0IixKXSxbIk1JTERlbGF5Rm9yR3Vlc3QiLEpdLFsiSUNFU0dEZWxheUZvckd1ZXN0IixKXSxbIlRVUlFVT0lTRURlbGF5Rm9yR3Vlc3QiLEpdLFsiQURYRGVsYXlGb3JHdWVzdCIsSl0sWyJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixKXSxbIkxVWFNFRGVsYXlGb3JHdWVzdCIsSl0sWyJOU0VOR0RlbGF5Rm9yR3Vlc3QiLEpdLFsiRklOUkFEZWxheUZvckd1ZXN0IixKXSxbIkFRVUlTRGVsYXlGb3JHdWVzdCIsSl0sWyJFRVhEZWxheUZvckd1ZXN0IixKXSxbIkRFRm9yR3Vlc3QiLEpdLFsiRU9EIixZXSxbIkVPRFRvUmVhbHRpbWUiLFldLFsiVGlja0J5VGljayIsZWVdLFsiQkFUU1RvUmVhbHRpbWUiLGVlXSxbIk92ZXJuaWdodFF1b3RlcyIsZWVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixKXV0pLGFlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixfLmRlbGF5XSxbIkRlbGF5Tm9SZWFsdGltZSIsXy5kZWxheV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJNSUxEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkFEWERlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiTlNFTkdEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiRUVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJERUZvckd1ZXN0IixfLmRlbGF5XSxbIkVPRCIsXy5lb2RdLFsiRU9EVG9SZWFsdGltZSIsXy5lb2RdLFsiVGlja0J5VGljayIsXy5ub3RBY2N1cmF0ZV0sWyJCQVRTVG9SZWFsdGltZSIsXy5ub3RBY2N1cmF0ZV0sWyJPdmVybmlnaHRRdW90ZXMiLF8ubm90QWNjdXJhdGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixfLmRlbGF5XV0pLHNlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixQLmNvbG9yRGVsYXlNb2RlXSxbIkRlbGF5Tm9SZWFsdGltZSIsUC5jb2xvckRlbGF5TW9kZV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJNSUxEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkFEWERlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiTlNFTkdEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiRUVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJERUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkVPRCIsUC5jb2xvckVvZE1vZGVdLFsiRU9EVG9SZWFsdGltZSIsUC5jb2xvckVvZE1vZGVdLFsiVGlja0J5VGljayIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJCQVRTVG9SZWFsdGltZSIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJPdmVybmlnaHRRdW90ZXMiLFAuY29sb3JOb3RBY2N1cmF0ZU1vZGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixQLmNvbG9yRGVsYXlNb2RlXV0pO3ZhciBvZTshZnVuY3Rpb24oZSl7ZS5Ub29sdGlwU2VwYXJhdG9yPSIgwrcgIn0ob2V8fChvZT17fSkpO2NsYXNzIGllIGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOnRlLGNsYXNzTmFtZU1hcDphZSx0aXRsZUNvbG9yTWFwOnNlLHNpemU6dH0pLHRoaXMuX2RhdGFVcGRhdGVkSW5mbz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQ9KCk9Pnt0aGlzLl91cGRhdGVCeVN0YXR1cyh0aGlzLnN0YXR1cygpLnZhbHVlKCkpfSx0aGlzLl9vcHRpb25zPWEsdGhpcy5fbW9kZWw9ZSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXM9Ry5zcGF3bigpLHRoaXMuX2RhdGFNb2RlQmxpbmtpbmdTdGF0dXNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQmxpbmtpbmdNb2RlLmJpbmQodGhpcykpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5zdWJzY3JpYmUodGhpcy5fb25NYXJrZXRTdGF0dXNDaGFuZ2VkKSx0aGlzLnR1cm5PZmZCbGlua2luZ01vZGU9dGhpcy5fdHVybk9mZkJsaW5raW5nLmJpbmQodGhpcyksdGhpcy5zZXRNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLmRlc3Ryb3koKSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXMuZGVzdHJveSgpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy51bnN1YnNjcmliZSh0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXNldE1vZGVsKGUpe2lmKHRoaXMuX2RhdGFVcGRhdGVkSW5mby5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21vZGVsPWUsdm9pZCh0aGlzLl9kYXRhVXBkYXRlZEluZm89bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCkpO3RoaXMuX2RhdGFVcGRhdGVkSW5mbz1lLnN0YXR1cygpLnNwYXduKCksCnRoaXMuX2RhdGFVcGRhdGVkSW5mby5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfW9uUGlsbENsaWNrKCl7dmFyIGUsdCxhO251bGwhPT10aGlzLl9tb2RlbCYmKGU9Im1kX3BpbGxfY2xpY2siLHQ9ImNoYXJ0IixhPXRoaXMuX21vZGVsLnByb05hbWUoKXx8dm9pZCAwLCgwLHouZ2V0VHJhY2tlcikoKS50aGVuKChzPT5zPy50cmFja01hcmtldERhdGFTdGF0dXNFdmVudChlLHQsYSkpKSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm1hcmtldFN0YXR1cz8udmFsdWUoKTtyZXR1cm4iZXhwaXJlZCI9PT10fHwiZGVsaXN0ZWQiPT09dHx8KCEoIkJBVFNUb1JlYWx0aW1lIiE9PWV8fCF0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKSl8fHN1cGVyLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKX1fZ2V0VG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZ2V0U2hvcnRUZXh0cygpO3JldHVybiBudWxsPT09ZT9udWxsOk9iamVjdC52YWx1ZXMoZSkuam9pbigiIMK3ICIpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCksdD10aGlzLl9zdGF0dXMudmFsdWUoKTtpZihudWxsPT09ZXx8bnVsbD09PXQpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgYT10aGlzLl9nZXRTaG9ydFRleHRzKCksW3Msb109YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuX2dldEh0bWxzKCksdGhpcy5fZ2V0QWN0aW9ucygpXSk7aWYoZSE9PXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpKXJldHVybjtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5tb2RlOyJCQVRTVG9SZWFsdGltZSI9PT1lJiZ0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKXx8aS5wdXNoKHtpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOmEmJmFbZV0sdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6cyYmc1tlXSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOm8mJm9bZV19KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShpKX1fdXBkYXRlU3RhdHVzKGUpe2NvbnN0IHQ9bnVsbCE9PWU/ZVswXS5tb2RlOm51bGw7dGhpcy5fc3RhdHVzLnNldFZhbHVlKHQ/P251bGwsITApLHRoaXMuX3VwZGF0ZUJsaW5raW5nTW9kZSgpfWFzeW5jIF9nZXRIdG1scygpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWV8fG51bGw9PT10aGlzLl9tb2RlbClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO2NvbnN0IHQ9e30scz10aGlzLl9tb2RlbC5zeW1ib2xOYW1lKCk7bGV0IG89bnVsbDtjb25zdCBpPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCkscj10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXtvPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX1mb3IoY29uc3QgdSBvZiBlKXtjb25zdCBlPXUubW9kZTtpZih0W2VdPVtdLFsiRGVsYXlUb1JlYWx0aW1lIiwiRGVsYXlOb1JlYWx0aW1lIiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IiwuLi5CXS5pbmNsdWRlcyhlKSYmKHRbZV0ucHVzaCgoMCxkLmdldERlbGF5SHRtbCkocyx0aGlzLl9tb2RlbC50aW1lKCkpKSx0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvJiZudWxsIT09byYmIkRlbGF5VG9SZWFsdGltZSI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVRvUmVhbHRpbWVKc3gpKEkuY3JlYXRlRWxlbWVudCgiYiIsbnVsbCxvKSkpLCJEZWxheU5vUmVhbHRpbWUiPT09ZSYmdFtlXS5wdXNoKCgwLGQuZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbCkoKSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVdpdGhvdXRNYXJrZXRBZ3JlZW1lbnRIdG1sKShpKSksdGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbyYmQi5pbmNsdWRlcyhlKSYmdFtlXS5wdXNoKCgwLGQuZ2V0UnRGcmVlRm9yUmVnaXN0ZXJlZFVzZXJzSHRtbCkoaSkpKSwiRU9EIj09PWUmJih0W2VdPVtSLmVvZEh0bWxdKSwiRU9EVG9SZWFsdGltZSI9PT1lJiYodFtlXT1bUi5lb2RUb1JlYWx0aW1lSHRtbC5mb3JtYXQoe2xpc3RlZEV4Y2hhbmdlOmA8Yj4ke2l9PC9iPmB9KV0pLCJUaWNrQnlUaWNrIj09PWUpe2NvbnN0IHM9dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtjb3VudDp1LnVwZGF0ZVBlcmlvZCxyZXBsYWNlOnthbW91bnQ6KHUudXBkYXRlUGVyaW9kPz8xKS50b1N0cmluZygpfSxwbHVyYWw6IkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJ9LGEoNzU1MTkyKSkpLG89dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDE6KDAsbC5odG1sRXNjYXBlKShuLnQobnVsbCx7Y291bnQ6dS51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50Oih1LnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX0scGx1cmFsOiJEYXRhIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmRzLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4ifSxhKDc3MTM1NikpKTt0W2VdLnB1c2godGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbz9zOm8pLHRoaXMuX29wdGlvbnMuc3Vic2NyaXB0aW9uRnVsbEluZm8mJnRbZV0ucHVzaChSLnRpY2tCeVRpY2tIdG1sMil9aWYoaSE9PXImJiJCQVRTVG9SZWFsdGltZSI9PT1lKXtjb25zdCBhPSgwLE4uaXNBbWV4VG9DYm9lTWlncmF0ZWRTeW1ib2wpKGksdGhpcy5fbW9kZWwucHJvUGVybSgpKQo7Ti5jcnVjaWFsUmVhbHRpbWVCYXRzLmluY2x1ZGVzKHIpfHxhP3RbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWwuZm9ybWF0KHtleGNoYW5nZTphPyJOWVNFIEFyY2EiOmksb3JpZ2luYWxFeGNoYW5nZTpyfSkpOnRbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lSHRtbDEuZm9ybWF0KHtzeW1ib2xOYW1lOnMsZXhjaGFuZ2U6cn0pLCIiIT09aT8oMCxsLmh0bWxFc2NhcGUpKFIuYmF0c1RvUmVhbHRpbWVIdG1sMldpdGhFeGNoYW5nZSkuZm9ybWF0KHtleGNoYW5nZTppfSk6KDAsbC5odG1sRXNjYXBlKShSLmJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJnRbZV0ucHVzaChSLm92ZXJuaWdodFF1b3Rlc1RleHQpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtpZih0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvKWZvcihjb25zdCBhIG9mIGUpe2NvbnN0IGU9YS5tb2RlO2lmKEIuaW5jbHVkZXMoYS5tb2RlKSYmKHRbZV09e3RleHQ6KDAsZC5nZXRDcmVhdGVGcmVlQWNjb3VudFRpdGxlKSgpLG9uQ2xpY2s6KCk9PnsoMCwkLnNob3dTaWduTW9kYWwpKHtzb3VyY2U6IkRhdGEgd2FybmluZyBpbmRpY2F0b3IifSl9fSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lKXtjb25zdCBhPXRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwubGlzdGVkRXhjaGFuZ2UoKTt0W2VdPXt0ZXh0OigwLGQuZ2V0RmlsbEV4Y2hhbmdlQWdyZWVtZW50c1RpdGxlKSgpLG9uQ2xpY2s6KCk9PntYKHtleGNoYW5nZTphLnRvTG93ZXJDYXNlKCksaXNGcmVlRXhjaGFuZ2U6ITAsaGlkZUNsb3NlQnV0dG9uOiExfSl9fX1pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7Y29uc3QgYT10aGlzLl9tb2RlbC5saXN0ZWRFeGNoYW5nZSgpLHM9KDAsTi5pc0FtZXhUb0Nib2VNaWdyYXRlZFN5bWJvbCkoYSx0aGlzLl9tb2RlbC5wcm9QZXJtKCkpO2lmKE4uY3J1Y2lhbFJlYWx0aW1lQmF0cy5pbmNsdWRlcyhhKXx8cyl7Y29uc3Qgbz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkJBVFNUb1JlYWx0aW1lIixjb3VudHJ5OnRoaXMuX21vZGVsLmNvdW50cnkoKSxsaW5rOiJodHRwczovL3d3dy5jYm9lLmNvbS91cy9lcXVpdGllcy9tYXJrZXRfc3RhdGlzdGljcyIsb3JpZ2luYWxFeGNoYW5nZTpvLGxpc3RlZEV4Y2hhbmdlOnM/Ik5ZU0UgQXJjYSI6YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl9KX1lbHNlIHRbZV09e3RleHQ6KDAsZC5nZXRMZWFybk1vcmVUaXRsZSkoKSxvbkNsaWNrOigpPT57dGhpcy5fc2hvd1N1cHBvcnREaWFsb2dGb3JVcGRhdGVNb2RlKEEuQkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRCl9fX1pZigiVGlja0J5VGljayI9PT1lfHwiRGVsYXlUb1JlYWx0aW1lIj09PWUpe2xldCBhPW51bGw7Y29uc3Qgcz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXthPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX10W2VdPXRoaXMuX2dvUHJvRGlhbG9nQWN0aW9uKHtmZWF0dXJlOmUsdGltZTp0aGlzLl9tb2RlbC50aW1lKCksZGVzY3JpcHRpb246YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl8fHMudG9Mb3dlckNhc2UoKX0pfSJPdmVybmlnaHRRdW90ZXMiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6Ik92ZXJuaWdodFF1b3RlcyIsZXhjaGFuZ2U6dGhpcy5fbW9kZWwucHJvUGVybSgpfHx0aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpLnRvTG93ZXJDYXNlKCl9KSksIkVPRFRvUmVhbHRpbWUiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkVPRFRvUmVhbHRpbWUiLGV4Y2hhbmdlOnRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKS50b0xvd2VyQ2FzZSgpfSkpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3Nob3dTdXBwb3J0RGlhbG9nRm9yVXBkYXRlTW9kZShlKXtpZigoMCxqLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDplfSksbnVsbD09PXRoaXMuX21vZGVsKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnByb05hbWUoKTsoMCx6LmdldFRyYWNrZXIpKCkudGhlbigoZT0+ZSYmdCYmZS50cmFja01hcmtldERhdGFTb2x1dGlvbkV2ZW50KHQpKSl9X2dldFNob3J0VGV4dHMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXMubW9kZTtpZihbIkRlbGF5VG9SZWFsdGltZSIsIkRlbGF5Tm9SZWFsdGltZSIsLi4uQiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50Il0uaW5jbHVkZXMoZSkmJih0W2VdPVIuZGVsYXlUb29sdGlwKSxbIkVPRCIsIkVPRFRvUmVhbHRpbWUiXS5pbmNsdWRlcyhlKSYmKHRbZV09Ui5lb2RUb29sdGlwKSwiVGlja0J5VGljayI9PT1lKXtjb25zdCBvPXZvaWQgMD09PXMudXBkYXRlUGVyaW9kP1Iubm90QWNjdXJhdGUxUGVyU2Vjb25kVG9vbHRpcDooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtwbHVyYWw6Ik9uZSB1cGRhdGUgZXZlcnkge2Ftb3VudH0gc2Vjb25kcyIsY291bnQ6cy51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50OihzLnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX19LGEoMjU2ODE3KSkpO3RbZV09b31pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7CmNvbnN0IGE9dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKSxzPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCk7dFtlXT1hIT09cz9SLmV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcC5mb3JtYXQoe2V4Y2hhbmdlOnMsb3JpZ2luYWxFeGNoYW5nZTphfSk6YX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJih0W2VdPVIub3Zlcm5pZ2h0UXVvdGVzVGl0bGUpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3VwZGF0ZUJsaW5raW5nTW9kZSgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZGF0YU1vZGVCbGlua2luZ1N0YXR1c2VzLnZhbHVlKCk7Zm9yKGNvbnN0IGEgb2YgZSlpZighdC5pbmNsdWRlcyhhLm1vZGUpKXJldHVybiB2b2lkIHRoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITApO3RoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITEpfV90dXJuT2ZmQmxpbmtpbmcoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGwhPT1lKWZvcihjb25zdCB0IG9mIGUpVSh0Lm1vZGUpfV9nb1Byb0RpYWxvZ0FjdGlvbihlKXtyZXR1cm57dGV4dDooMCxkLmdldExlYXJuTW9yZVRpdGxlKSgpLG9uQ2xpY2s6KCk9PntudWxsIT09dGhpcy5fbW9kZWwmJihlLmdvcHJvU291cmNlPWUuZ29wcm9Tb3VyY2U/PyJjaGFydF9pbmZvX3BpbGxfcGF5d2FsbCIsKDAsYy5vcGVuUGF5d2FsbCkoZSx7YWZ0ZXJPcGVuOigpPT4oMCxxLnRyYWNrRXZlbnQpKCJEYXRhIFdhcm5pbmciLCJGdWxsIGRlc2NyaXB0aW9uIHZpc2libGUiLGUuZmVhdHVyZSl9KSl9fX19Y29uc3QgcmU9bi50KG51bGwsdm9pZCAwLGEoMjI4MDQxKSksbmU9bmV3IE1hcChbWyJoaWdoIixuZXcgTWFwKFtbInNtYWxsIixwXSxbIm1lZGl1bSIsbV0sWyJsYXJnZSIsbV1dKV0sWyJsb3ciLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXV0pLGxlPW5ldyBNYXAoW1siaGlnaCIsXy5kYXRhUHJvYmxlbUhpZ2hdLFsibG93IixfLmRhdGFQcm9ibGVtTG93XV0pLHVlPW5ldyBNYXAoW1siaGlnaCIscmVdLFsibG93IixyZV1dKSxjZT1uZXcgTWFwKFtbImhpZ2giLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFsibG93IiwidmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKSJdXSk7Y2xhc3MgZGUgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHt0b29sdGlwTWFwOnVlLGljb25NYXA6bmUsY2xhc3NOYW1lTWFwOmxlLHRpdGxlTWFwOnVlLHRpdGxlQ29sb3JNYXA6Y2Usc2l6ZTp0fSksdGhpcy5fZGF0YVByb2JsZW1zPW5ldyBzLldhdGNoZWRWYWx1ZShbXSkuc3Bhd24oKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLnNldE1vZGVsKGUpfWRlc3Ryb3koKXt0aGlzLl9kYXRhUHJvYmxlbXMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1pc0RhdGFQcm9ibGVtQ3JpdGljYWwoKXtyZXR1cm4gdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsfXNldE1vZGVsKGUpe3RoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksbnVsbCE9PWU/KHRoaXMuX2RhdGFQcm9ibGVtcz1lLmRhdGFQcm9ibGVtcygpLnNwYXduKCksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSkpOnRoaXMuX2RhdGFQcm9ibGVtcz1uZXcgcy5XYXRjaGVkVmFsdWUoW10pLnNwYXduKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCksdD10aGlzLl9kYXRhUHJvYmxlbXMudmFsdWUoKTtpZihudWxsPT09ZXx8MD09PXQubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpO2NvbnN0IGE9dC5tYXAoKCh0LGEpPT4oe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dC50aXRsZT8/KDA9PT1hP3RoaXMuX2dldFRpdGxlKGUpOm51bGwpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOlsoMCxsLmh0bWxFc2NhcGUpKHQudGV4dCldLHNpemU6dGhpcy5fc2l6ZSxhY3Rpb246dGhpcy5fZ2V0QWN0aW9uKGUpfSkpKTt0aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShhKX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0RGF0YVByb2JsZW1DdXN0b21UaXRsZSgpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2dldERhdGFQcm9ibGVtQ3VzdG9tVGl0bGUoKT8/c3VwZXIuX2dldFRpdGxlKGUpfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD1lWzBdPy5zZXZlcml0eT8/bnVsbCxhPXRoaXMuX3N0YXR1cy52YWx1ZSgpIT09dDt0aGlzLl9zdGF0dXMuc2V0VmFsdWUodCksdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnNldFZhbHVlKGZ1bmN0aW9uKGUpe3JldHVybiJoaWdoIj09PWV9KHQpKSxhfHx0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9nZXREYXRhUHJvYmxlbUN1c3RvbVRpdGxlKCl7cmV0dXJuIHRoaXMuX2RhdGFQcm9ibGVtcy52YWx1ZSgpPy5bMF0/LnRpdGxlfHxudWxsfX12YXIgaGU9YSg5NzA2MzUpLHBlPWEoNzg2NDIwKSxtZT1hKDM3ODU5OSkKO2NvbnN0IF9lPW4udChudWxsLHZvaWQgMCxhKDczMjc3NikpLFNlPW4udChudWxsLHZvaWQgMCxhKDY5MjYxNSkpLGZlPW5ldyBNYXAoW1shMCxuZXcgTWFwKFtbInNtYWxsIixwZV0sWyJtZWRpdW0iLG1lXSxbImxhcmdlIixtZV1dKV0sWyExLG5ldyBNYXAoW1sic21hbGwiLCIiXSxbIm1lZGl1bSIsIiJdLFsibGFyZ2UiLCIiXV0pXV0pLHdlPW5ldyBNYXAoW1shMCxfLmludmFsaWRTeW1ib2xdLFshMSxudWxsXV0pLGJlPW5ldyBNYXAoW1shMCxfZV0sWyExLG51bGxdXSksZ2U9bmV3IE1hcChbWyEwLF9lXSxbITEsbnVsbF1dKSx2ZT1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpIl0sWyExLG51bGxdXSkseWU9bmV3IE1hcChbWyEwLFtTZV1dLFshMSxudWxsXV0pLE1lPW5ldyBNYXAoW1shMCxudWxsXSxbITEsbnVsbF1dKTt2YXIgSWUsRWU9YSg1NjkzOTgpLENlPWEoMTc5NzcxKSxUZT1hKDkxNDQ4Nyksa2U9YS5uKFRlKSx4ZT1hKDM4MjU5Myk7ZnVuY3Rpb24gRGUoZSl7cmV0dXJuIHZvaWQgMCE9PWUudGV4dD9lLnRleHQ6YCR7ZS5saW5lTnVtYmVyfSR7ZS5mdW5jdGlvbk9yU2NvcGVOYW1lfWB9ZnVuY3Rpb24gVmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc3RhY2tUcmFjZTpzLGJhckluZGV4Om8saW5GdW5jdGlvbjppfT1lLHI9KDAsSS51c2VNZW1vKSgoKCk9PnMubGVuZ3RoPjEwP1suLi5zLnNsaWNlKDAsNSkse3RleHQ6Ii4uLiJ9LC4uLnMuc2xpY2UoLTUpXTpzKSxbc10pO3JldHVybiByLmxlbmd0aHx8dm9pZCAwIT09b3x8dm9pZCAwIT09aT9JLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLndyYXBTdGFja1RyYWNlLHQpfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLmluZm8seGUuaGlkZUVtcHR5KX0sdm9pZCAwIT09byYmSS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsSS5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLGAke24udChudWxsLHtjb250ZXh0OiJwaW5lIHN0YWNrIHRyYWNlIn0sYSg4ODYxMzMpKX06IGApLEkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTp4ZS5iYXJJbmRleH0sbykpLGkmJkkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxgJHtuLnQobnVsbCx7Y29udGV4dDoicGluZSBzdGFjayB0cmFjZSJ9LGEoODE5MTYzKSl9OiBgKSxJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6eGUuZnVuY3Rpb25OYW1lfSxpKSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLmhpZGVFbXB0eX0sci5tYXAoKChlLHQpPT5JLmNyZWF0ZUVsZW1lbnQoUGUse2tleTpgJHtEZShlKX0ke3R9YCwuLi5lfSkpKSkpOm51bGx9ZnVuY3Rpb24gUGUoZSl7Y29uc3R7ZnVuY3Rpb25PclNjb3BlTmFtZTp0LGxpbmVOdW1iZXI6YSx0ZXh0OnN9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLnN0YWNrVHJhY2VMaW5lfSxzP0kuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxzKTpJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsImF0ICIsSS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnhlLmZ1bmN0aW9uTmFtZX0sdCwiKCkiKSwiOiIsYSkpfSFmdW5jdGlvbihlKXtlW2UuTWF4U3RhY2tUcmFjZUNvdW50PTEwXT0iTWF4U3RhY2tUcmFjZUNvdW50In0oSWV8fChJZT17fSkpO3ZhciBBZT1hKDM0NDc4NSksUmU9YSg2MzI0NDQpLEJlPWEoNTU3MDY1KSxOZT1hKDg1NDgyMCksRmU9YSg0Njg0OTMpLFdlPWEoMjc2MDE5KTtmdW5jdGlvbiBPZShlKXtjb25zdHtjbGFzc05hbWU6dCxwaW5lU291cmNlQ29kZU1vZGVsOnMscGluZUVkaXRvck9wZW5QYXJhbXM6b309ZSxbaSxyXT0oMCxJLnVzZVN0YXRlKSghMSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnMpKTsoMCxJLnVzZUVmZmVjdCkoKCgpPT57aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGU9ZT0+e2NvbnN0IHQ9Qm9vbGVhbihvLmVycm9yPy5zdGFydD8/dm9pZCAwKTtyKGUmJnQpfTtyZXR1cm4gbC5pc0FibGVTaG93U291cmNlQ29kZSgpLnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+bC5pc0FibGVTaG93U291cmNlQ29kZSgpLnVuc3Vic2NyaWJlKGUpfSksW28sbF0pO2NvbnN0IHU9KDAsSS51c2VDYWxsYmFjaykoKCgpPT57KDAsV2UuZ2xvYmFsQ2xvc2VNZW51KSgpLG8mJmw/LnNob3dQaW5lU291cmNlQ29kZShvKX0pLFtsLG9dKTtyZXR1cm4gaT9JLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6dSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg2NDExMDkpKSk6bnVsbH12YXIgSGU9YSg3NTgyMzgpLExlPWEoNzgzMjU0KSxVZT1hKDgwMjUyOCksR2U9YSgyMjMwODApO2Z1bmN0aW9uIHplKHtjb2RlOmV9KXtjb25zdCB0PSgwLEZlLnVzZVByb21pc2UpKChhc3luYygpPT57dHJ5e3JldHVybiBhd2FpdCgwLFVlLmZldGNoRWRpdG9yRXJyb3IpKGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX0pLHZvaWQgMCxbZV0pO3JldHVybiB0P0kuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7c2l6ZToieHNtYWxsIix2YXJpYW50OiJzZWNvbmRhcnkiLGVuZFNsb3Q6SS5jcmVhdGVFbGVtZW50KEhlLklubGluZUljb24se2ljb246R2V9KSxvbkNsaWNrOigpPT5vcGVuKHQsIl9ibGFuayIpfSxMZS50KG51bGwse2NvbnRleHQ6IlBpbmUncyBlcnJvciBjb2RlIn0sYSg5OTI2MzYpKSk6bnVsbH12YXIgcWU9YSg4MzAxOTcpO2Z1bmN0aW9uICRlKHtlZGl0b3JFcnJvcjplLHNob3dSZXBvcnRJdEJ1dHRvbjp0LGNvZGU6YSxjbGFzc05hbWU6c30pe3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHFlLmVkaXRvckVycm9yQnV0dG9ucyxzKX0sZSx0LGEpfXZhciBqZT1hKDg3Nzk5OSk7ZnVuY3Rpb24gUWUoZSl7cmV0dXJuIGUubWFwKChlPT5gYXQgJHtlLmZ1bmN0aW9uT3JTY29wZU5hbWV9KCk6JHtlLmxpbmVOdW1iZXJ9YCkpLmpvaW4oIlxuIil9ZnVuY3Rpb24gWGUoZSl7CmNvbnN0e3N0YWNrVHJhY2U6dCxlcnJvck1lc3NhZ2U6cyxwaW5lU291cmNlQ29kZU1vZGVsOm8sYmFySW5kZXg6aSxpbkZ1bmN0aW9uOnJ9PWUsW2wsdV09KDAsSS51c2VTdGF0ZSkoITEpLGM9KDAsSS51c2VSZWYpKG51bGwpLGQ9KDAsSS51c2VNZW1vKSgoKCk9Pntjb25zdCBlPXQuZmluZCgoZT0+IWUuaWR8fCEoMCxSZS5pc1B1Ymxpc2hlZFBpbmVJZCkoZS5pZCkpKTtyZXR1cm4gdm9pZCAwPT09ZT97fTp7c3RhY2tUcmFjZTp0LGVycm9yOnttZXNzYWdlOnMsc3RhcnQ6e2xpbmU6ZS5saW5lTnVtYmVyLGNvbHVtbjowfX19fSksW3MsdF0pLGg9a2UoKShqZS53cmFwRXJyb3IsbCYmamUuY2xpY2tlZEFuaW0pO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpqZS53cmFwcGVyfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLGNsYXNzTmFtZTpoLG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYobClyZXR1cm47aWYoKDAsQmUuY29weVRvQ2xpcGJvYXJkKSh7dGV4dDpRZSh0KX0pLG51bGw9PT1jLmN1cnJlbnQpcmV0dXJuOygwLEFlLnNob3dPbkVsZW1lbnQpKGMuY3VycmVudCx7dG9vbHRpcERlbGF5OjAsY29udGVudDp7dHlwZToidGV4dCIsZGF0YTpuLnQobnVsbCx2b2lkIDAsYSg0Njk4NDEpKX19KSx1KCEwKSxzZXRUaW1lb3V0KCgoKT0+eygwLEFlLmhpZGUpKCksdSghMSl9KSwyZTMpfX0scy5sZW5ndGgmJkkuY3JlYXRlRWxlbWVudChLZSx7ZXJyb3JNZXNzYWdlOnN9KSxJLmNyZWF0ZUVsZW1lbnQoVmUse3N0YWNrVHJhY2U6dCxiYXJJbmRleDppLGluRnVuY3Rpb246cixjbGFzc05hbWU6amUud3JhcFN0YWNrVHJhY2V9KSksSS5jcmVhdGVFbGVtZW50KCRlLHtlZGl0b3JFcnJvcjpJLmNyZWF0ZUVsZW1lbnQoT2Use2NsYXNzTmFtZToiZWRpdG9yQnV0dG9uIixwaW5lU291cmNlQ29kZU1vZGVsOm8scGluZUVkaXRvck9wZW5QYXJhbXM6ZH0pLGNvZGU6ZS5jb2RlJiZJLmNyZWF0ZUVsZW1lbnQoemUse2NvZGU6ZS5jb2RlfSl9KSl9ZnVuY3Rpb24gS2UoZSl7Y29uc3R7ZXJyb3JNZXNzYWdlOnR9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmplLmVycm9yVGV4dH0sdCl9ZnVuY3Rpb24gWmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsZWRpdG9yRXJyb3I6YSxwaW5lU291cmNlQ29kZU1vZGVsOnN9PWU7cmV0dXJuIGEuaWQuc3RhcnRzV2l0aCgiVVNFUiIpP0kuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudChPZSx7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLHBpbmVFZGl0b3JPcGVuUGFyYW1zOntlcnJvcjphfX0pKTpudWxsfWZ1bmN0aW9uIEplKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLCgwLGouc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6ImNoYXQtYXNzaXN0YW50In0pfSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg1MDg3NDkpKSkpfWNsYXNzIFlle2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NsaWNrT25MaW5lQ2FsbGJhY2s9ZT0+e0NlLmVtaXQoInN0dWR5X3N0YWNrX3RyYWNlX29wZW5fb25fbGluZSIsdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT8/IiIsZSl9LHRoaXMuX3NvdXJjZT1lfWRlc3Ryb3koKXt9cmVuZGVyZXIoZSx0KXtjb25zdCBhPXRoaXMuX3NvdXJjZS5lcnJvclN0YXR1cygpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1hP251bGw6YS5zdGFja1RyYWNlPygwLEkuY3JlYXRlRWxlbWVudCkoWGUse2tleTplLHBpbmVTb3VyY2VDb2RlTW9kZWw6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKSxlcnJvck1lc3NhZ2U6YS5lcnJvcj8/IiIsc3RhY2tUcmFjZTphLnN0YWNrVHJhY2UsY2xpY2tPbkxpbmVDYWxsYmFjazp0aGlzLl9jbGlja09uTGluZUNhbGxiYWNrLGNvZGU6YS5jb2RlLGJhckluZGV4OmEuYmFySW5kZXh9KTphLmVkaXRvckVycm9yfHxhLnNob3dSZXBvcnRJdEJ1dHRvbnx8YS5jb2RlPygwLEkuY3JlYXRlRWxlbWVudCkoJGUse2tleTplLGNsYXNzTmFtZTp0LGVkaXRvckVycm9yOmEuZWRpdG9yRXJyb3ImJigwLEkuY3JlYXRlRWxlbWVudCkoWmUse2VkaXRvckVycm9yOmEuZWRpdG9yRXJyb3IscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpfSksc2hvd1JlcG9ydEl0QnV0dG9uOmEuc2hvd1JlcG9ydEl0QnV0dG9uJiYoMCxJLmNyZWF0ZUVsZW1lbnQpKEplKSxjb2RlOmEuY29kZSYmKDAsSS5jcmVhdGVFbGVtZW50KSh6ZSx7Y29kZTphLmNvZGV9KX0pOm51bGx9dXBkYXRlU291cmNlKGUpe3RoaXMuX3NvdXJjZT1lfX12YXIgZXQ9YSg5MDExMDgpLHR0PWEoOTg5ODcyKSxhdD1hKDkxMzg0Myk7Y29uc3Qgc3Q9bi50KG51bGwsdm9pZCAwLGEoMTA3ODcwKSksb3Q9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHR0XSxbIm1lZGl1bSIsYXRdLFsibGFyZ2UiLGF0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksaXQ9bmV3IE1hcChbWyEwLF8udXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSxydD1uZXcgTWFwKFtbITAsc3RdLFshMSxudWxsXV0pLG50PW5ldyBNYXAoW1shMCxzdF0sWyExLG51bGxdXSksbHQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKTtjbGFzcyB1dCBleHRlbmRzIGguU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoe2ljb25NYXA6b3QsY2xhc3NOYW1lTWFwOml0LHRvb2x0aXBNYXA6cnQsdGl0bGVNYXA6bnQsdGl0bGVDb2xvck1hcDpsdCxzaXplOnR9KSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wb3NzaWJsZVVwZGF0ZUluZm9ybWF0aW9uPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fbGFzdFVwZGF0ZUFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX2VudGl0eUlkPW5ldyBzLldhdGNoZWRWYWx1ZShlLmVudGl0eUlkPy4oKSksdGhpcy51cGRhdGVTb3VyY2UoZSksdGhpcy5fYXZhaWxhYmxlRm9yVXBkYXRlPSgwLG8uY29tYmluZSkoKChlLHQsYSk9PndpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0JiYhIWEmJiEhZSYmKDAsZXQudXBkYXRlc0luZm9TdXBwb3J0ZWQpKGUuc2NyaXB0SWRQYXJ0KCk/PyIiKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdmlzaWJsZS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi53ZWFrUmVmZXJlbmNlKCkpfWRlc3Ryb3koKXt0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGUuZGVzdHJveSgpLHRoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksc3VwZXIuZGVzdHJveSgpfWVudGl0eUlkKCl7cmV0dXJuIHRoaXMuX2VudGl0eUlkLnJlYWRvbmx5KCl9dmlzaWJsZSgpe3JldHVybiB0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGV9dXBkYXRlU291cmNlKGUpe3RoaXMuX2VudGl0eUlkLnNldFZhbHVlKGUuZW50aXR5SWQ/LigpKTtjb25zdCB0PWUucGluZVNvdXJjZUNvZGVNb2RlbCgpO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgYT1uZXcgQWJvcnRDb250cm9sbGVyO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI9YSx0LnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5zZXRWYWx1ZShlKSxlJiZlLnJlcXVlc3RVcGRhdGVJbmZvcm1hdGlvbigpLnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi5zZXRWYWx1ZShlKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSYmZS5jdXJyZW50VmVyc2lvbi5pc0xlc3MoZS5sYXN0VmVyc2lvbikpKX0pKSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2RhdGFRYUlkKCl7cmV0dXJuInNjcmlwdC11cGRhdGUtc3RhdHVzIn19dmFyIGN0PWEoOTc1MTk4KSxkdD1hKDEzODk5NCksaHQ9YSg3OTE0MjcpLHB0PWEoNjMzNjQ0KSxtdD1hKDc1NzkyMyk7ZnVuY3Rpb24gX3QoZSl7Y29uc3R7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLG1vZGVsOm8sb25DbG9zZTppfT1lLHI9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5zKSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnI/ci5yZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKTpQcm9taXNlLnJlc29sdmUobnVsbCkpLCgoKT0+e30pLFtyXSksdT1yPy5zY3JpcHRJZFBhcnQoKSxjPXUmJmh0LlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KHUpLGQ9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5jJiZyPygwLHB0LnNob3dBYm91dFRoZVN0dWR5SGFuZGxlcikocikudGhlbigoZT0+KHtoYW5kbGVyOmV9KSkpOlByb21pc2UucmVzb2x2ZShudWxsKSksKCgpPT57fSksW3IsY10pLFtoLHBdPSgwLEkudXNlU3RhdGUpKCgoKT0+Ri5nZXRCb29sKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLCEwKSkpO3JldHVybigwLEkudXNlRWZmZWN0KSgoKCk9PntGLnNldFZhbHVlKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLGgpfSksW2hdKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5kZXNjcmlwdGlvbn0sbi50KG51bGwsdm9pZCAwLGEoNTMzNzk5KSksZCYmSS5jcmVhdGVFbGVtZW50KCJhIix7Y2xhc3NOYW1lOm10Lmxpbmssb25DbGljazpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZD8uaGFuZGxlcj8uKCl9fSwiICIsbi50KG51bGwsdm9pZCAwLGEoMTgzMTMyKSkpKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5tb2RlfSxJLmNyZWF0ZUVsZW1lbnQoY3QuQ2hlY2tib3gse2NoZWNrZWQ6aCxvbkNoYW5nZTooKT0+cCgoZT0+IWUpKSxsYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgzNDYzKSl9KSxJLmNyZWF0ZUVsZW1lbnQoZHQuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgxOTQzMDQpKSx0b29sdGlwOm4udChudWxsLHZvaWQgMCxhKDE5NDMwNCkpfSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm10LmFjdGlvbnN9LEkuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOnQsc2l6ZToieHNtYWxsIixvbkNsaWNrOmZ1bmN0aW9uKCl7bCYmKHI/LnVwZGF0ZVRvVmVyc2lvbihvLGwubGFzdFZlcnNpb24saCksaSgpKX0sZGF0YVFhSWQ6InVwZGF0ZS10by1sYXRlc3QtdmVyc2lvbi1idXR0b24ifSxuLnQobnVsbCx2b2lkIDAsYSg1ODEzODgpKSkpKX1jbGFzcyBTdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX21vZGVsPXR9ZGVzdHJveSgpe31yZW5kZXJlcihlLHQsYSl7cmV0dXJuKDAsSS5jcmVhdGVFbGVtZW50KShfdCx7a2V5OmUscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpLG1vZGVsOnRoaXMuX21vZGVsLGNsYXNzTmFtZTp0LG9uQ2xvc2U6YX0pfXVwZGF0ZVNvdXJjZShlKXt0aGlzLl9zb3VyY2U9ZX19dmFyIGZ0PWEoNTA1NTYpLHd0PWEoMjI2OTM3KSxidD1hKDk5OTMwMikKO2NvbnN0IGd0PW5ldyBNYXAoW1syLG5ldyBNYXAoW1sic21hbGwiLGJ0XSxbIm1lZGl1bSIsYnRdLFsibGFyZ2UiLGJ0XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIixidF0sWyJtZWRpdW0iLGJ0XSxbImxhcmdlIixidF1dKV0sWzMsbmV3IE1hcChbWyJzbWFsbCIsYnRdLFsibWVkaXVtIixidF0sWyJsYXJnZSIsYnRdXSldXSksdnQ9bmV3IE1hcChbWzIsXy5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcl0sWzEsXy5vcGVuZWRJblBpbmVFZGl0b3JdLFszLF8ub3BlbmVkSW5QaW5lRWRpdG9yXV0pLHl0PW5ldyBNYXAoW1syLFIub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRpdGxlXSxbMSxSLm9wZW5lZEluRWRpdG9yVGl0bGVdLFszLFIub3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlXV0pLE10PW5ldyBNYXAoW1syLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpXSxbMSwoMCxmdC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWZvcmVzdC1ncmVlbi01MDAiKV0sWzMsKDAsZnQuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tNTAwIildXSksSXQ9bmV3IE1hcChbWzIsW1Iub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRleHRdXSxbMSxbUi5vcGVuZWRJbkVkaXRvclRleHRdXSxbMyxbUi5vcGVuZWRJbkJvdHRvbVBhbmVsVGV4dF1dXSk7Y2xhc3MgRXQgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe2NvbnN0IGE9KCk9PnRoaXMuX3Nob3dTb3VyY2VDb2RlKCkscz1uZXcgTWFwKFtbMix7dGV4dDpSLm9wZW5JbkVkaXRvckFjdGlvblRleHQsb25DbGljazphfV0sWzEse3RleHQ6Ui5vcGVuSW5FZGl0b3JBY3Rpb25UZXh0LG9uQ2xpY2s6YX1dLFszLHt0ZXh0OlIub3BlbkluRWRpdG9yQWN0aW9uVGV4dCxvbkNsaWNrOmF9XV0pO3N1cGVyKHtpY29uTWFwOmd0LGNsYXNzTmFtZU1hcDp2dCx0aXRsZU1hcDp5dCx0b29sdGlwTWFwOnl0LHRpdGxlQ29sb3JNYXA6TXQsaHRtbE1hcDpJdCxhY3Rpb25NYXA6cyxzaXplOnR9KSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1udWxsLHRoaXMuc2V0TW9kZWwoZSl9ZGVzdHJveSgpe3RoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXt0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl91cGRhdGVTdGF0dXMoMCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bmV3IHd0LkFzeW5jUmVzb3VyY2VXcmFwcGVyKGUpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9waW5lU291cmNlRWRpdG9yU3RhdHVzPWUucGluZVNvdXJjZUVkaXRvclN0YXR1cygpLnNwYXduKCksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0pKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4gMD09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl92aXNpYmxlLnNldFZhbHVlKDAhPT1lKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3Nob3dTb3VyY2VDb2RlKCl7dGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmNhbGxGdW5jdGlvbigoZT0+e2U/LnNob3dQaW5lU291cmNlQ29kZSgpfSkpfX12YXIgQ3Q9YSgzMTg5NzQpLFR0PWEoNDY1MTM0KSxrdD1hKDEwOTMyNSk7Y29uc3QgeHQ9TGUudChudWxsLHZvaWQgMCxhKDc1ODU0OSkpLER0PUxlLnQobnVsbCx2b2lkIDAsYSgzNDkzMzApKSxWdD1MZS50KG51bGwse2NvbnRleHQ6ImJ1dHRvbiB0aXRsZSJ9LGEoMzcxODE1KSksUHQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFR0XSxbIm1lZGl1bSIsa3RdLFsibGFyZ2UiLGt0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksQXQ9bmV3IE1hcChbWyEwLF8uYWN0aXZlU3RyYXRlZ3ldLFshMSxudWxsXV0pLFJ0PW5ldyBNYXAoW1shMCx4dF0sWyExLG51bGxdXSksQnQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpIl0sWyExLG51bGxdXSksTnQ9bmV3IE1hcChbWyEwLFtEdF1dLFshMSxudWxsXV0pO2NsYXNzIEZ0IGV4dGVuZHMgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIodCx7aWNvbk1hcDpQdCxjbGFzc05hbWVNYXA6QXQsdGl0bGVNYXA6UnQsdG9vbHRpcE1hcDpSdCx0aXRsZUNvbG9yTWFwOkJ0LGh0bWxNYXA6TnQsc2l6ZTphfSksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bnVsbCx0aGlzLl9yZXNldFN0YXR1c0ZvcmNlPSgpPT57Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKT8/ITE7dGhpcy5fdmlzaWJsZS5zZXRWYWx1ZShlLCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSwhMCl9LHRoaXMudXBkYXRlU291cmNlKGUpfWRlc3Ryb3koKXt0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVTb3VyY2UoZSl7dGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nPy5kZXN0cm95KCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1uZXcgd3QuQXN5bmNSZXNvdXJjZVdyYXBwZXIoZS5waW5lU291cmNlQ29kZU1vZGVsKCkpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc9ZS5pc0FibGVTaG93U291cmNlQ29kZSgpLnNwYXduKCksdGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nLnN1YnNjcmliZSh0aGlzLl9yZXNldFN0YXR1c0ZvcmNlLHtjYWxsV2l0aExhc3Q6ITB9KSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldEFjdGlvbihlKXsKcmV0dXJuIGUmJnRoaXMuX2lzQWJsZVNob3dCYWNrdGVzdGluZz8udmFsdWUoKT97dGV4dDpWdCxvbkNsaWNrOigpPT50aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2hvd0JhY2t0ZXN0aW5nPy4oKX0pKX06bnVsbH19dmFyIFd0PWEoOTEyODE1KSxPdD1hKDczMDExMCk7Y29uc3QgSHQ9bi50KG51bGwsdm9pZCAwLGEoMjQ1ODcwKSksTHQ9bi50KG51bGwsdm9pZCAwLGEoOTMzMTg0KSksVXQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFd0XSxbIm1lZGl1bSIsT3RdLFsibGFyZ2UiLE90XV0pXV0pLEd0PW5ldyBNYXAoW1shMCxfLmFsZXJ0XV0pLHp0PW5ldyBNYXAoW1shMCxIdF1dKSxxdD1uZXcgTWFwKFtbITAsSHRdXSksJHQ9bmV3IE1hcChbWyEwLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIildXSksanQ9bmV3IE1hcChbWyEwLFtdXV0pO2NsYXNzIFF0IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpVdCxjbGFzc05hbWVNYXA6R3QsdG9vbHRpcE1hcDpxdCx0aXRsZU1hcDp6dCx0aXRsZUNvbG9yTWFwOiR0LGh0bWxNYXA6anQsc2l6ZTp0fSksdGhpcy5fYWxlcnRzPW51bGwsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0cz8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRTb3VyY2UoZSl7dGhpcy5fYWxlcnRzPy5kZXN0cm95KCksdGhpcy5fYWxlcnRzPW51bGw7Y29uc3QgdD1lLmFsZXJ0U291cmNlTW9kZWwoKTt0aGlzLl9hbGVydHM9dD8uYWxlcnRzKCkuc3Bhd24oKT8/bnVsbCx0aGlzLl9hbGVydHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldFRpdGxlKGUpe3JldHVybmAke0h0fSDCtyAke3RoaXMuX2FsZXJ0cz8udmFsdWUoKS5sZW5ndGh9YH1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0VGl0bGUoZSl9X2dldEhUTUwoZSl7Y29uc3QgdD10aGlzLl9hbGVydHM/LnZhbHVlKCk7aWYodm9pZCAwPT09dHx8MD09PXQubGVuZ3RoKXJldHVybltdO2NvbnN0IGE9dC5zbGljZSgwLDUpLm1hcCgoZT0+YDxkaXYgY2xhc3M9IiR7Xy5hbGVydEl0ZW19Ij4ke2UudGl0bGV9PC9kaXY+YCkpO3JldHVybltgPGRpdiBjbGFzcz0iJHtfLmFsZXJ0SXRlbXNDb250YWluZXJ9Ij4ke2Euam9pbigiIil9PC9kaXY+YF19X2dldEFjdGlvbihlKXtjb25zdCB0PXRoaXMuX2FsZXJ0cz8udmFsdWUoKTtpZih2b2lkIDA9PT10fHx0Lmxlbmd0aDw9NSlyZXR1cm4gbnVsbDtjb25zdCBhPXdpbmRvdy53aWRnZXRiYXI7cmV0dXJuIGEmJmEuaXNWaXNpYmxlKCk/e3RleHQ6THQsY2xhc3NOYW1lOl8uYWxlcnRBY3Rpb24sdG9vbHRpcDpMdCxvbkNsaWNrOigpPT5hLnNldFBhZ2UoImFsZXJ0cyIpfTpudWxsfV91cGRhdGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0cz8udmFsdWUoKSx0PWU/LmZpbHRlcigoZT0+ZS5jYW5EaXNwbGF5T25TdGF0dXNWaWV3KCkpKSxhPXZvaWQgMCE9PXQmJnQubGVuZ3RoPjA7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGEsITApfX12YXIgWHQ9YSgyMzIzNjEpLEt0PWEoNzgzOTc4KTtjbGFzcyBadCBleHRlbmRzIEt0LlN0YXR1c2VzV2lkZ2V0U3RhdGVCYXNle2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihhKSx0aGlzLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5kYXRhVXBkYXRlZE1vZGVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tYXJrZXRTdGF0dXNDYW5CZVNob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhVXBkYXRlZE1vZGVWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1udWxsLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZVZpZXdNb2RlbD1udWxsLHRoaXMuX2FsZXJ0U3RhdHVzVmlld01vZGVsPW51bGwsdGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW51bGwsdGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2VWaWV3TW9kZWw9bnVsbCx0aGlzLl9jdXN0b21TdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9zZXNzaW9uV2lkZ2V0PW51bGwsdGhpcy5fZXJyb3JXaWRnZXQ9bnVsbCx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bnVsbCx0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlPW51bGwsdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT1udWxsLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bnVsbCx0aGlzLl91cGRhdGVWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLnZpc2libGVNb2RlbHMoKS52YWx1ZSgpLmxlbmd0aD4wO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSl9LHRoaXMuX3NvdXJjZT1lLHRoaXMuX3N5bWJvbD1lLnN5bWJvbCgpPy5zcGF3bigpPz9udWxsLHRoaXMuX29wdGlvbnM9YSx0aGlzLl91bmRvTW9kZWw9dCx0aGlzLl9zdGF0dXNQcm92aWRlckhpZGRlbj0oMCxvLmNvbWJpbmUpKChlPT4odGhpcy5fZm9yY2VIaWRlVmlzaWJpbGl0eU1vZGVscy5zZXRWYWx1ZShlKSxlKSksZS5oaWRkZW4oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCksCnRoaXMuX2FkZFN1YnNjcmlwdGlvbkZvclN5bWJvbEludmFsaWQoKSxudWxsIT09dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZSYmKHRoaXMuX2RhdGFTb3VyY2VIYXNFcnJvclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRXJyb3JXaWRnZXRJc1Nob3duLmJpbmQodGhpcykpKSxudWxsIT09dGhpcy5fZGF0YVVwZGF0ZWRBdmFpbGFibGVWaXNpYmxlJiZ0aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURhdGFVcGRhdGVkV2lkZ2V0SXNTaG93bi5iaW5kKHRoaXMpKSx0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtRW5hYmxlZCYmbnVsbCE9PXRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbCYmdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpLHRoaXMuX3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfWRlc3Ryb3koKXt0aGlzLl92aXNpYmlsaXR5LnVuc3Vic2NyaWJlKCksdGhpcy5fc3ltYm9sPy5kZXN0cm95KCksdGhpcy5fc3RhdHVzUHJvdmlkZXJIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpe2NvbnN0IGU9dGhpcy5faXNGb3JjZVN0YXR1c0FjdGl2ZSgpO3RoaXMuX2RhdGFTb3VyY2VFcnJvckNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bi5zZXRWYWx1ZSghdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKSl9X2lzUHJpbWFyeVdpZGdldFNob3duKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKT8udmFsdWUoKT8/ITF9X2lzRm9yY2VTdGF0dXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXx8KHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8udmFsdWUoKT8/ITEpfV9jcmVhdGVTdGF0dXNlc1dpZGdldFN0YXRlcygpe3RoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVTeW1ib2xJbnZhbGlkU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVNYXJrZXRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLmRhdGFVcGRhdGVNb2RlRW5hYmxlZCYmdGhpcy5fY3JlYXRlRGF0YVVwZGF0ZWRNb2RlU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbUVuYWJsZWQmJnRoaXMuX2NyZWF0ZURhdGFQcm9ibGVtU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUVycm9yU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCYmdGhpcy5fY3JlYXRlU2NyaXB0VXBkYXRlKCksdGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLnBpbmVTb3VyY2VTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVBY3RpdmVTdHJhdGVneVN0YXR1cygpLHRoaXMuX29wdGlvbnMucGluZVNvdXJjZVN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKSx0aGlzLl9jcmVhdGVDdXN0b21NYXJrZXRTdGF0dXMoKX1fY3JlYXRlU3ltYm9sSW52YWxpZFN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpO251bGwhPT1lJiYodGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbD1uZXcgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHt0b29sdGlwTWFwOmJlLGljb25NYXA6ZmUsY2xhc3NOYW1lTWFwOndlLHRpdGxlTWFwOmdlLHRpdGxlQ29sb3JNYXA6dmUsaHRtbE1hcDp5ZSxhY3Rpb25NYXA6TWUsc2l6ZTp0aGlzLl9zaXplfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6dGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbH0pKX1fY3JlYXRlTWFya2V0U3RhdHVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKTt0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bmV3IFh0Lk1hcmtldFN0YXR1c1ZpZXdNb2RlbChlLHRoaXMuX3NpemUpO2NvbnN0IHQ9e3Zpc2libGU6KDAsby5jb21iaW5lKSgoKGUsdCxhKT0+ZSYmdCYmISgwLGkuaXNFY29ub21pY1N5bWJvbCkoYSkmJiEoMCxpLmlzU3ByZWFkU3ltYm9sV2l0aE1hbnlMZWdzKShhKSksdGhpcy5fbWFya2V0U3RhdHVzQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbWFya2V0U3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLG1vZGVsOnRoaXMuX21hcmtldFN0YXR1c1ZpZXdNb2RlbH07bnVsbCE9PWUmJih0aGlzLl9zZXNzaW9uV2lkZ2V0PW5ldyByLkZ1bGxTZXNzaW9uU2NoZWR1bGVXaWRnZXQodGhpcy5fc291cmNlKSx0LmFkZGl0aW9uYWxXaWRnZXRzPVt0aGlzLl9zZXNzaW9uV2lkZ2V0XSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVEYXRhVXBkYXRlZE1vZGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5kYXRhVXBkYXRlZE1vZGVNb2RlbCgpLHQ9ey4uLnRoaXMuX29wdGlvbnMuZGF0YVVwZGF0ZU1vZGUsCm1hcmtldFN0YXR1czp0aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKT8uc3RhdHVzKCkuc3Bhd25Pd25lcnNoaXAoKX07dGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsPW5ldyBpZShlLHRoaXMuX3NpemUsdCk7Y29uc3QgYT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhKDAsaS5pc0Vjb25vbWljU3ltYm9sKShhKSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnRoaXMuX2RhdGFVcGRhdGVkTW9kZVZpZXdNb2RlbH0pfV9jcmVhdGVEYXRhUHJvYmxlbVN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKTt0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1uZXcgZGUoZSx0aGlzLl9zaXplKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9dGhpcy5fZGF0YVByb2JsZW1WaWV3TW9kZWwuaXNEYXRhUHJvYmxlbUNyaXRpY2FsKCkuc3Bhd24oKTtjb25zdCB0PSgwLG8uY29tYmluZSkoKChlLHQpPT5lJiZ0KSx0aGlzLl9kYXRhUHJvYmxlbUNhbkJlU2hvd24ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsfSl9X2NyZWF0ZVNjcmlwdFVwZGF0ZSgpe3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlzU25hcHNob3QoKXx8dGhpcy5fdW5kb01vZGVsLm1vZGVsKCkucmVhZE9ubHkoKXx8KDAsQ3Qub25XaWRnZXQpKCl8fCgwLEVlLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3VwZGF0ZV9hdmFpbGFiaWxpdHlfc3RhdHVzIil8fCh0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWw9bmV3IHV0KHRoaXMuX3NvdXJjZSx0aGlzLl9zaXplKSx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bmV3IFN0KHRoaXMuX3NvdXJjZSx0aGlzLl91bmRvTW9kZWwpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fdXBkYXRlQXZhaWxhYmxlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZSxtb2RlbDp0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWwsYWRkaXRpb25hbFdpZGdldHM6W3RoaXMuX3VwZGF0ZUF2YWlsYWJsZVdpZGdldF0scHJlbGltaW5hcnlKb2I6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKS50aGVuKChlPT5lP1Byb21pc2UuYWxsKFtlLnJlcXVlc3RTY3JpcHRJbmZvKCksKDAscHQuc2hvd0Fib3V0VGhlU3R1ZHlIYW5kbGVyKShlKV0pOlByb21pc2UucmVzb2x2ZSgpKSksZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMtaWNvbi11cGRhdGUiLGljb25EYXRhc2V0RW50aXR5SWQ6dGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLmVudGl0eUlkKCl9KSl9X2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKXt0aGlzLl9hbGVydFN0YXR1c1ZpZXdNb2RlbD1uZXcgUXQodGhpcy5fc291cmNlLHRoaXMuX3NpemUpO2NvbnN0IGU9dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCk7dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOmUsbW9kZWw6dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWx9KX1fY3JlYXRlRXJyb3JTdGF0dXMoKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bmV3IHkodGhpcy5fc291cmNlLHRoaXMuX3NpemUsdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlcyksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVNvdXJjZUVycm9yU3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgZT1bXTt0aGlzLl9lcnJvcldpZGdldD1uZXcgWWUodGhpcy5fc291cmNlKSxlLnB1c2godGhpcy5fZXJyb3JXaWRnZXQpLHRoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlLG1vZGVsOnRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c1ZpZXdNb2RlbCxhZGRpdGlvbmFsV2lkZ2V0czplfSl9X2NyZWF0ZUFjdGl2ZVN0cmF0ZWd5U3RhdHVzKCl7Y29uc3QgZT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSYmdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT09PWUuaWQoKSksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsPW5ldyBGdCh0aGlzLl9zb3VyY2UsZSx0aGlzLl9zaXplKTtjb25zdCB0PXRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsfSl9X2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsKCk7dGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW5ldyBFdChlLHRoaXMuX3NpemUpCjtjb25zdCB0PXRoaXMuX3BpbmVFZGl0b3JTdGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3Moe3Zpc2libGU6dCxtb2RlbDp0aGlzLl9waW5lRWRpdG9yU3RhdGVWaWV3TW9kZWx9KX1fY3JlYXRlQ3VzdG9tTWFya2V0U3RhdHVzKCl7fV9hZGRTdWJzY3JpcHRpb25Gb3JTeW1ib2xJbnZhbGlkKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJm51bGwhPT1lJiYoZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpKSxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVJc1N5bWJvbEludmFsaWRTdGF0dXNTaG93bi5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSl9X3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpe2NvbnN0IGU9dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT8udmFsdWUoKT8/ITE7dGhpcy5kYXRhU291cmNlRXJyb3JTdGF0dXNTaG93bi5zZXRWYWx1ZShlKX1fdXBkYXRlRGF0YVVwZGF0ZWRXaWRnZXRJc1Nob3duKCl7Y29uc3QgZT10aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGU/LnZhbHVlKCk/PyExO3RoaXMuZGF0YVVwZGF0ZWRNb2RlU2hvd24uc2V0VmFsdWUoZSl9X3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk/LnZhbHVlKCk/PyExO3RoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd24uc2V0VmFsdWUoZSl9fX0sNzk0OTUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7TWFpbkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5IZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMjMyMzY0KSxpPWEoOTUyOTAwKSxyPWEoMTU2ODI5KSxuPWEoMTg1MjcxKSxsPWEoNTY1MjA2KSx1PWEoNzczNDY2KSxjPWEoODYwNTQ4KTtjb25zdCBkPW4udChudWxsLHZvaWQgMCxhKDQzNTApKSxoPW4udChudWxsLHZvaWQgMCxhKDI4MTQ1MykpLHA9bi50KG51bGwsdm9pZCAwLGEoODgyODM5KSksbT1uLnQobnVsbCx2b2lkIDAsYSg3NjM0NTEpKSxfPW5ldyBNYXAoW1szLG5ldyBNYXAoW1sic21hbGwiLHVdLFsibWVkaXVtIix1XSxbImxhcmdlIix1XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIix1XSxbIm1lZGl1bSIsdV0sWyJsYXJnZSIsdV1dKV0sWzIsbmV3IE1hcChbWyJzbWFsbCIsdV0sWyJtZWRpdW0iLHVdLFsibGFyZ2UiLHVdXSldXSksUz1uZXcgTWFwKFtbMixjLnJlcGxheU1vZGVBdXRvUGxheV0sWzMsYy5yZXBsYXlNb2RlUGF1c2VdLFsxLGMucmVwbGF5TW9kZVBvaW50U2VsZWN0XV0pLGY9bmV3IE1hcChbWzIsaF0sWzMsaF0sWzEsaF1dKSx3PW5ldyBNYXAoW1syLGhdLFszLGhdLFsxLGRdXSksYj1uZXcgTWFwKFtbMiwidmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KSJdLFszLCJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQpIl0sWzEsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkiXV0pLGc9bmV3IE1hcChbWzIsW21dXSxbMyxbbV1dLFsxLFtwXV1dKTtjbGFzcyB2IGV4dGVuZHMgbC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpfLGNsYXNzTmFtZU1hcDpTLHRvb2x0aXBNYXA6dyx0aXRsZU1hcDpmLHRpdGxlQ29sb3JNYXA6YixodG1sTWFwOmcsc2l6ZTp0fSksdGhpcy5fcmVwbGF5U3RhdHVzPWUsdGhpcy5fcmVwbGF5U3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX3JlcGxheVN0YXR1cy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDAhPT1lP2U6bnVsbCksdGhpcy5pc0JsaW5raW5nTW9kZS5zZXRWYWx1ZSgyPT09ZSl9fXZhciB5OyFmdW5jdGlvbihlKXtlLlN0b2NrPSJIYWxhbFN0b2NrIixlLkJvbmQ9IkhhbGFsQm9uZCJ9KHl8fCh5PXt9KSk7dmFyIE09YSg5MjY5OTUpLEk9YSg3NzY1NzYpLEU9YSgxOTM1MDgpLEM9YSgxMDgxODIpLFQ9YSgzNDAxNTgpO2NsYXNzIGsgZXh0ZW5kcyBsLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpLHRoaXMuX3NpbXBsZVN0YXR1cz1lLHRoaXMuX3NpbXBsZVN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9zaW1wbGVTdGF0dXMucmVsZWFzZSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzKGUpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX19dmFyIHg9YSgxNTIwNjkpO2NvbnN0IEQ9bmV3IE1hcChbW3kuQm9uZCxFLmhhbGFsVGl0bGVdLFt5LlN0b2NrLEUuaGFsYWxUaXRsZV1dKSxWPW5ldyBNYXAoW1t5LkJvbmQsQy5jb2xvckhhbGFsTW9kZV0sW3kuU3RvY2ssQy5jb2xvckhhbGFsTW9kZV1dKSxQPW5ldyBNYXAoW1t5LkJvbmQsbmV3IE1hcChbWyJzbWFsbCIsVF0sWyJtZWRpdW0iLFRdXSldLFt5LlN0b2NrLG5ldyBNYXAoW1sic21hbGwiLFRdLFsibWVkaXVtIixUXV0pXV0pLEE9bmV3IE1hcChbW3kuQm9uZCx4LmhhbGFsU3RhdHVzXSxbeS5TdG9jayx4LmhhbGFsU3RhdHVzXV0pLFI9bmV3IE1hcChbW3kuQm9uZCxbRS5oYWxhbEJvbmRIdG1sXV0sW3kuU3RvY2ssW0UuaGFsYWxIdG1sXV1dKSxCPW5ldyBNYXAoW1t5LkJvbmQse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV0sW3kuU3RvY2sse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV1dKTtjbGFzcyBOIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUse2ljb25NYXA6UCwKdG9vbHRpcE1hcDpELHRpdGxlTWFwOkQsdGl0bGVDb2xvck1hcDpWLHNpemU6dCxjbGFzc05hbWVNYXA6QSxodG1sTWFwOlIsYWN0aW9uTWFwOkJ9KX19dmFyIEY9YSgzMTExMTUpLFc9YSg3ODc2MjYpLE89YSg1NzE0NjQpO2NvbnN0IEg9bmV3IE1hcChbWyEwLEUudHZDYWxjdWxhdGVkUGFpclRvb2x0aXBdXSksTD1uZXcgTWFwKFtbITAsQy5jb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlXV0pLFU9bmV3IE1hcChbWyJzbWFsbCIsRl0sWyJtZWRpdW0iLFddLFsibGFyZ2UiLFddXSksRz1uZXcgTWFwKFtbITAsVV1dKSx6PW5ldyBNYXAoW1shMCxPLnR2Q2FsY3VsYXRlZFBhaXJdXSkscT1uZXcgTWFwKFtbITAsW0UudHZDYWxjdWxhdGVkUGFpckh0bWxdXV0pLCQ9bmV3IE1hcChbWyEwLHt0ZXh0Om4udChudWxsLHZvaWQgMCxhKDMyNTE1NSkpLG9uQ2xpY2s6KCk9PigwLE0uc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOkkuVFZfQ0FMQ1VMQVRFRF9QQUlSX1NPTFVUSU9OX0lEfSl9XV0pO2NsYXNzIGogZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpHLHRvb2x0aXBNYXA6SCx0aXRsZU1hcDpILHRpdGxlQ29sb3JNYXA6TCxzaXplOnQsY2xhc3NOYW1lTWFwOnosaHRtbE1hcDpxLGFjdGlvbk1hcDokfSl9fXZhciBRPWEoNjQyNzgzKSxYPWEoMzUxMTgyKSxLPWEoOTI0MDIwKTtjb25zdCBaPW5ldyBNYXAoW1shMCxFLkhLRVhEYXRhVGl0bGVdXSksSj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsUV0sWyJtZWRpdW0iLFhdLFsibGFyZ2UiLFhdXSksZWU9bmV3IE1hcChbWyEwLFldXSksdGU9bmV3IE1hcChbWyEwLEsuaGtleENvbW1lbnRdXSksYWU9bmV3IE1hcChbWyEwLFtFLkhLRVhEYXRhQ29tbWVudF1dXSk7Y2xhc3Mgc2UgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDplZSx0b29sdGlwTWFwOlosdGl0bGVNYXA6Wix0aXRsZUNvbG9yTWFwOkosc2l6ZTp0LGNsYXNzTmFtZU1hcDp0ZSxodG1sTWFwOmFlfSl9fXZhciBvZT1hKDU5ODI1NyksaWU9YSg1NzUxNDgpLHJlPWEoNjg1OTI2KTtjb25zdCBuZT1uZXcgTWFwKFtbITAsRS5kZWZhdWx0ZWRUaXRsZV1dKSxsZT1uZXcgTWFwKFtbITAsQy5jb2xvckRlZmF1bHRlZF1dKSx1ZT1uZXcgTWFwKFtbInNtYWxsIixvZV0sWyJtZWRpdW0iLGllXSxbImxhcmdlIixpZV1dKSxjZT1uZXcgTWFwKFtbITAsdWVdXSksZGU9bmV3IE1hcChbWyEwLHJlLmRlZmF1bHRlZFN0YXR1c11dKSxoZT1uZXcgTWFwKFtbITAsW0UuZGVmYXVsdGVkSHRtbF1dXSk7Y2xhc3MgcGUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpjZSx0b29sdGlwTWFwOm5lLHRpdGxlTWFwOm5lLHRpdGxlQ29sb3JNYXA6bGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpkZSxodG1sTWFwOmhlfSl9fXZhciBtZT1hKDUwNTU2KSxfZT1hKDIyNjkzNyksU2U9YSg5MTM2MTApLGZlPWEoMjg0NDY3KTtjb25zdCB3ZT0oMCxtZS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLWE3MDAiKSxiZT1uZXcgTWFwKFtbITEsRS5sZXRJdFNub3dUaXRsZV0sWyEwLEUubGV0SXRTbm93VGl0bGVdXSksZ2U9bmV3IE1hcChbWyExLHdlXSxbITAsd2VdXSksdmU9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFNlXSxbIm1lZGl1bSIsU2VdXSldXSkseWU9bmV3IE1hcChbWyExLGZlLmxldEl0U25vd1N0YXR1c10sWyEwLGZlLmxldEl0U25vd1N0YXR1c11dKSxNZT1uZXcgTWFwKFtbITEsW0UubGV0SXRTbm93SHRtbF1dLFshMCxbRS5sZXRJdFNub3dIdG1sXV1dKSxJZT1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2xldCBFZT1udWxsO0llLnN1YnNjcmliZSgoZT0+e251bGw9PT1FZSYmKEVlPW5ldyBfZS5Bc3luY1Jlc291cmNlV3JhcHBlcihhLmUoMzM0MTApLnRoZW4oYS5iaW5kKGEsMzM4Njc0KSkpKSxFZS5jYWxsRnVuY3Rpb24oKHQ9Pnt0LnNub3coZSl9KSl9KSk7Y29uc3QgQ2U9bmV3IFNldChbImVuIiwidWsiLCJkZV9ERSIsImZyIiwiZXMiLCJpdCIsInBsIiwiamEiLCJjYSIsInJ1Il0pO2NsYXNzIFRlIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlKXtzdXBlcihJZS5zcGF3bigpLm93bmVyc2hpcCgpLHtpY29uTWFwOnZlLHRvb2x0aXBNYXA6YmUsdGl0bGVNYXA6YmUsdGl0bGVDb2xvck1hcDpnZSxzaXplOmUsY2xhc3NOYW1lTWFwOnllLGh0bWxNYXA6TWUsYWN0aW9uTWFwOm5ldyBNYXAoW1shMSx7dGV4dDpFLmxldEl0U25vd1N0YXJ0LG9uQ2xpY2s6KCk9PkllLnNldFZhbHVlKCEwKX1dLFshMCx7dGV4dDpFLmxldEl0U25vd1N0b3Asb25DbGljazooKT0+SWUuc2V0VmFsdWUoITEpfV1dKX0pfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2F3YWl0IHN1cGVyLl91cGRhdGVGdWxsVG9vbHRpcCgpO2NvbnN0IGU9dGhpcy5fZnVsbFRvb2x0aXAudmFsdWUoKTtudWxsIT09ZSYmdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3suLi5lWzBdLGljb246U2V9XSl9fXZhciBrZT1hKDkwODQwMCkseGU9YSgxOTI3NTUpLERlPWEoNDQ1MSk7Y29uc3QgVmU9bmV3IE1hcChbWyEwLEUudXBjb21pbmdJcG9UaXRsZV1dKSxQZT1uZXcgTWFwKFtbITAsQy5jb2xvclVwY29taW5nSXBvXV0pLEFlPW5ldyBNYXAoW1sic21hbGwiLGtlXSxbIm1lZGl1bSIseGVdLFsibGFyZ2UiLHhlXV0pLFJlPW5ldyBNYXAoW1shMCxBZV1dKSxCZT1uZXcgTWFwKFtbITAsRGUudXBjb21pbmdJcG9TdGF0dXNdXSksTmU9bmV3IE1hcChbWyEwLFtFLnVwY29taW5nSXBvSHRtbF1dXSk7Y2xhc3MgRmUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpSZSx0b29sdGlwTWFwOlZlLHRpdGxlTWFwOlZlLHRpdGxlQ29sb3JNYXA6UGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpCZSxodG1sTWFwOk5lfSl9fXZhciBXZT1hKDU2OTM5OCksT2U9YSg0NDE0NDApO2NsYXNzIEhlIGV4dGVuZHMgT2UuRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGV7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKGUsdCxhKSwKdGhpcy5faXNJblJlcGxheT1uZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkuc3Bhd24oKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlPW5ldyBvLldhdGNoZWRWYWx1ZSghMSkucmVhZG9ubHkoKS5zcGF3bigpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duPW51bGwsdGhpcy5faW5pdGVkPSExLHRoaXMuX2hhbGFsQ2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faGtleENvbW1lbnRDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVmYXVsdGVkQm9uZENhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQ9dGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpO2NvbnN0IHM9dC5tb2RlbCgpO2lmKHRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXt0aGlzLl9jcmVhdGVIYWxhbFN0YXR1cygpLHRoaXMuX2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKSx0aGlzLl9jcmVhdGVIS0VYQ29tbWVudFN0YXR1cygpLHRoaXMuX2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKSx0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1N0YXR1cygpLHRoaXMuX2NyZWF0ZUxldEl0U25vd1N0YXR1cygpLHRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmU9dGhpcy5fY3JlYXRlSXNVcGNvbWluZ0lwb0FjdGl2ZSgpO3t0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2NvbnN0IGU9KDAsaS5jb21iaW5lKSgoKGUsdCk9PnR8fDE9PT1lfHw0PT09ZT9lOjApLHMucmVwbGF5U3RhdHVzKCkud2Vha1JlZmVyZW5jZSgpLHMubWFpblNlcmllcygpLmlzSW5SZXBsYXkoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2lzSW5SZXBsYXk9KDAsaS5jb21iaW5lKSgoZT0+MCE9PWUmJjQhPT1lKSxlLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgdD1uZXcgdihlLm93bmVyc2hpcCgpLHRoaXMuX3NpemUpLGE9KDAsaS5jb21iaW5lKSgoKGUsdCk9PmUmJnQpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSx0LnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnR9KSxhLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQpLHRoaXMuX2lzSW5SZXBsYXkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXNCb3VuZCx7Y2FsbFdpdGhMYXN0OiEwfSl9dGhpcy5faXNVcGNvbWluZ0lwb0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllc0JvdW5kLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pbml0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfX1kZXN0cm95KCl7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJih0aGlzLl9pc0luUmVwbGF5LmRlc3Ryb3koKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlLmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzKCl7aWYoc3VwZXIuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMoKSx0aGlzLl9pbml0ZWQmJnRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXtjb25zdCBlPXRoaXMuX2lzRm9yY2VTdGF0dXNBY3RpdmUoKSx0PXRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmUudmFsdWUoKTt0aGlzLl9oYWxhbENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl9oa2V4Q29tbWVudENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RlZmF1bHRlZEJvbmRDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUmJiF0KSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVDYW5CZVNob3duLnNldFZhbHVlKCFlJiYhdCksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bikuc2V0VmFsdWUoIXN1cGVyLl9pc1ByaW1hcnlXaWRnZXRTaG93bigpJiZ0aGlzLl9pc0luUmVwbGF5LnZhbHVlKCkpfX1faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXtyZXR1cm4gc3VwZXIuX2lzUHJpbWFyeVdpZGdldFNob3duKCl8fHRoaXMuX2luaXRlZCYmdGhpcy5faXNJblJlcGxheS52YWx1ZSgpfV9jcmVhdGVIYWxhbFN0YXR1cygpe2NvbnN0IGU9bmV3IE4odGhpcy5fY3JlYXRlSGFsYWxUeXBlUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKXtjb25zdCBlPW5ldyBwZSh0aGlzLl9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKXtjb25zdCBlPW5ldyBqKHRoaXMuX2NyZWF0ZVR2Q2FsY3VsYXRlZFBhaXJSZWxlYXNhYmxlKCksdGhpcy5fc2l6ZSksdD17dmlzaWJsZTplLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOmV9O3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlSEtFWENvbW1lbnRTdGF0dXMoKXtjb25zdCBlPW5ldyBzZSh0aGlzLl9jcmVhdGVIa2V4Q29tbWVudFJlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX0KO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlVXBjb21pbmdJcG9TdGF0dXMoKXtjb25zdCBlPW5ldyBGZSh0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1JlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVMZXRJdFNub3dTdGF0dXMoKXtpZighQ2UuaGFzKHdpbmRvdy5sb2NhbGUpfHwhKDAsV2UuaXNGZWF0dXJlRW5hYmxlZCkoInNwZWNpYWxfY2hhcnRfc2VyaWVzX3N0YXR1cyIpKXJldHVybjtjb25zdCBlPW5ldyBUZSh0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVJc1VwY29taW5nSXBvQWN0aXZlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhKT0+e2NvbnN0IHM9YT8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpLG89IWU/Lmxhc3RfcHJpY2U7cmV0dXJuIG51bGwhPT1hJiYhdCYmQm9vbGVhbihzKSYmb30pLCh0aGlzLl9zb3VyY2UucXVvdGVzRGF0YT8uKCl8fG5ldyBvLldhdGNoZWRWYWx1ZShudWxsKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpfV9jcmVhdGVIYWxhbFR5cGVSZWxlYXNhYmxlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhLHMpPT5udWxsIT09cyYmdCYmIWEmJmU/LlsiaXMtc2hhcmlhaC1jb21wbGlhbnQiXT8oMCxyLmlzQm9uZCkocy50eXBlKT95LkJvbmQ6eS5TdG9jazpudWxsKSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2hhbGFsQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+IShudWxsPT09c3x8IXR8fGF8fCJkZWZhdWx0ZWQiIT09ZT8uaXNzdWVfc3RhdHVzKXx8bnVsbCksKHRoaXMuX3NvdXJjZS5xdW90ZXNEYXRhPy4oKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kZWZhdWx0ZWRCb25kQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVUdkNhbGN1bGF0ZWRQYWlyUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwhYS50eXBlc3BlY3M/LmluY2x1ZGVzKCJ0di1jYWxjdWxhdGVkLXBhaXIiKSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZUhrZXhDb21tZW50UmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwiSEtFWCIhPT1hLmxpc3RlZF9leGNoYW5nZSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZVVwY29taW5nSXBvUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+e2NvbnN0IG89cz8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpO3JldHVybiEobnVsbD09PXN8fCF0fHxhfHwhb3x8ZT8ubGFzdF9wcmljZSl8fG51bGx9KSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3VwY29taW5nSXBvQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfX19LDgwODAwMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtGdWxsVG9vbHRpcHNQb3B1cDooKT0+cH0pO3ZhciBzPWEoNzc5NDc0KSxvPWEoNzE3OTMyKSxpPWEoMjM3NjE2KSxyPWEoNTIwNDg2KSxuPWEoNjQwNTEzKSxsPWEoNzE4NzczKSx1PWEoMjc2MDE5KSxjPWEoMTA2OTAwKSxkPWEoMjIxMzAwKSxoPWEoNDQ3MjY4KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FuY2hvcmVkOnQsb2Zmc2V0UG9zaXRpb246YSxvdmVyZmxvd1ZlcnRpY2FsOnAsb3ZlcmZsb3dIb3Jpem9udGFsOm0sc3RhdHVzZXM6Xyxpc09wZW46UyxvbkNsb3NlOmYsbW9iaWxlQnJlYWtwb2ludDp3PSJhbGwgYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSIscGxhY2VtZW50UnVsZXM6Yj1bey4uLm4uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULG9mZnNldDphLApvdmVyZmxvd1ZlcnRpY2FsOnA/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93VmVydGljYWwsb3ZlcmZsb3dIb3Jpem9udGFsOm0/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93SG9yaXpvbnRhbH1dfT1lLGc9KDAsYy51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpffSksdj0oMCxzLnVzZUNhbGxiYWNrKSgoKCk9PmYoITEpKSxbZl0pOygwLHMudXNlRWZmZWN0KSgoKCk9Pih1Lmdsb2JhbENsb3NlRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsdiksKCk9Pnt1Lmdsb2JhbENsb3NlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCx2KX0pKSxbdl0pO2NvbnN0e3JlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19PSgwLGwudXNlUG9wb3ZlckNsb3NlQmVoYXZpb3IpKHtpc09wZW46UyxvbkNsb3NlOmYsZXhjbHVkZUFyZWE6dC5hdCxjbG9zZU9uRXNjYXBlOiEwLGNsb3NlT25DbGlja0F3YXk6ITAsY2xvc2VPblNjcm9sbE91dHNpZGU6ITAsY2xvc2VPblJlc2l6ZVdpbmRvdzohMCxjbG9zZU9uVGFiOiEwfSksST0oMCxvLnVzZU1hdGNoTWVkaWEpKHcpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Qb3BvdmVyLHtpc09wZW46UyxvbkNsb3NlOmYsYW5jaG9yZWQ6dCx3aWR0aDp7Ynk6ImNvbnRlbnQifSxoZWlnaHQ6e2J5OiJjb250ZW50In0scGxhY2VtZW50UnVsZXM6Yixtb2JpbGVCcmVha3BvaW50OncsbW9iaWxlUG9zaXRpb25lclN0cmV0Y2g6ITEsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgucG9wdXBXaWRnZXRXcmFwcGVyLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLnBvcHVwV2lkZ2V0V3JhcHBlcixkYXRhUWFJZDoiY2hhcnQtc3RhdHVzZXMtcG9wdXAiLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19LHMuY3JlYXRlRWxlbWVudChyLlBvcG92ZXJDb250ZW50VmVydGljYWwsbnVsbCxnLm1hcCgoKGUsdCk9PnMuY3JlYXRlRWxlbWVudChkLkZ1bGxUb29sdGlwV2lkZ2V0LHtrZXk6YEZ1bGxUb29sdGlwV2lkZ2V0JHt0fWAsaW5mbzplLm1vZGVsLmZ1bGxJbmZvKCksYWRkaXRpb25hbFdpZGdldHM6ZS5hZGRpdGlvbmFsV2lkZ2V0cyxwcmVsaW1pbmFyeUpvYjplLnByZWxpbWluYXJ5Sm9iLG9uQ2xvc2U6dixpc01vYmlsZTpJfSkpKSkpfX0sNTQ3ODY0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1N0YXR1c0ljb246KCk9PnV9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDI3MzMxMCksbj1hKDEwNjkwMCksbD1hKDg2MDU0OCk7ZnVuY3Rpb24gdShlKXtjb25zdHt2aXNpYmxlOnQsaWNvbjphLGNsYXNzTmFtZTpvLHNpemU6dT0ic21hbGwiLGlzQmxpbmtpbmc6Yyx0dXJuT2ZmQmxpbmtpbmc6ZCxjdXN0b21Db2xvcjpoLGRhdGFRYUlkOnAsZGF0YXNldEVudGl0eUlkOm19PWUsXz0oMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOnR9KSxTPSgwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6YX0pLGY9KDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpvfSksdz0oKDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpofSksISFjJiYoMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmN9KSksYj1tPygwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6bX0pOnZvaWQgMDtpZighX3x8IVMpcmV0dXJuIG51bGw7Y29uc3QgZz17Li4ucD97ImRhdGEtcWEtaWQiOnB9Ont9LC4uLmI/eyJkYXRhLWVudGl0eS1pZCI6Yn06e319O3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKGwuc3RhdHVzSXRlbSxsW3VdLGYse1tsLmJsaW5raW5nXTp3fSksb25DbGljazpkLHN0eWxlOnZvaWQgMCwuLi5nLGljb246U30pfX0sNzM0ODIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7REVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUU6KCk9PmYsU3RhdHVzZXNQaWxsOigpPT5nfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMzY3NjUpLG49YSgxNzk3NzEpLGw9YSg2MDM2MTIpLHU9YSgxMDY5MDApLGM9YSg4MDAyMjYpLGQ9YSgzODY5MzEpLGg9YSgxNTAxNTApLHA9YSgzODcyMzEpLG09YSg1NDc4NjQpLF89YSg4MDgwMDEpLFM9YSg4NjA1NDgpO2NvbnN0IGY9Uyx3PW5ldyBXZWFrTWFwLGI9Yy50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibWVkaXVtIjoic21hbGwiO2Z1bmN0aW9uIGcoZSl7Y29uc3R7c3RhdHVzZXM6dCx0b29sdGlwOmEsdGhlbWU6bz1TLHNob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjazpjfT1lLFtnLHZdPSgwLHMudXNlU3RhdGUpKCExKSx5PSgwLHUudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6dH0pLE09KDAsdS51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTphfSksST0oMCxzLnVzZU1lbW8pKCgoKT0+KDAscC5tZXJnZVRoZW1lcykoZixvKSksW29dKTsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT17fTtyZXR1cm4gbi5zdWJzY3JpYmUobC5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCxrLGUpLCgpPT57bi51bnN1YnNjcmliZShsLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELGssZSl9fSksW10pO2NvbnN0IEU9KDAsci51c2VPdXRzaWRlRXZlbnQpKHtjbGljazohMCxoYW5kbGVyOigpPT57YyYmKGMoITApLHYoITEpKX19KTtpZigwPT09eS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgQz0hIWM7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkkuc3RhdHVzZXNXcmFwLHJlZjpFfSxzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLXJvbGUiOiJzdGF0dXNlcy1waWxsIixjbGFzc05hbWU6aSgpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsImNvbW1vbi10b29sdGlwLXdpZGUiLElbYl0pLHRhYkluZGV4OjAsCm9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHkuZm9yRWFjaCgoZT0+e2UubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZT8uKCl9KSksVCgpLCFnKXtjb25zdCBlPXkuZmluZCgoZT0+ZS5tb2RlbC5vblBpbGxDbGljaykpO2U/Lm1vZGVsPy5vblBpbGxDbGljaz8uKCl9YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksYyhnKSk7ZyYmKHQ9TSwoMCxkLnRyYWNrRXZlbnQpKCJHVUkiLCJTdGF0dXNlcyB3aWRnZXQncyBhY3Rpb24iLHQpKTt2YXIgdH0sdGl0bGU6TSwiZGF0YS1xYS1pZCI6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMifSx5Lm1hcCgoZT0+KHcuaGFzKGUpfHx3LnNldChlLCgwLGgucmFuZG9tSGFzaCkoKSkscy5jcmVhdGVFbGVtZW50KG0uU3RhdHVzSWNvbix7a2V5OncuZ2V0KGUpLHZpc2libGU6ZS52aXNpYmxlLGljb246ZS5tb2RlbC5pY29uKCksY2xhc3NOYW1lOmUubW9kZWwuY2xhc3NOYW1lKCksc2l6ZTplLm1vZGVsLnNpemUoKT8/InNtYWxsIixpc0JsaW5raW5nOmUubW9kZWwuaXNCbGlua2luZ01vZGUsdHVybk9mZkJsaW5raW5nOmUubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZSxjdXN0b21Db2xvcjplLm1vZGVsLmN1c3RvbUNvbG9yKCksZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkYXRhc2V0RW50aXR5SWQ6ZS5pY29uRGF0YXNldEVudGl0eUlkfSkpKSkpLHMuY3JlYXRlRWxlbWVudChfLkZ1bGxUb29sdGlwc1BvcHVwLHtzdGF0dXNlczp0LGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDpFfSxpc09wZW46ZyYmIUMsb25DbG9zZTprLG9mZnNldFBvc2l0aW9uOnt4Oi0xNSx5OjR9fSkpO2Z1bmN0aW9uIFQoKXt2KChlPT4hZSkpfWZ1bmN0aW9uIGsoKXt2KCExKX19fSw3ODM5NzgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2U6KCk9PmMsdXBkYXRlV2F0Y2hlZFZhbHVlRGVib3VuY2VkOigpPT51fSk7dmFyIHMsbz1hKDU0Nzg1MSksaT1hKDYwMTg0MSkscj1hKDIzMjM2NCksbj1hKDk1MjkwMCksbD1hKDgwMDIyNik7ZnVuY3Rpb24gdShlLHQsYSxzKXtjb25zdCBpPW5ldyByLldhdGNoZWRWYWx1ZSh0KSxuPSgwLG8uZGVmYXVsdCkoKGU9Pmkuc2V0VmFsdWUoZSkpLGEpO3JldHVybiBlLnN1YnNjcmliZSgoZT0+e24oZSkscz8uKGUpJiZuLmZsdXNoKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksaS5yZWFkb25seSgpLnNwYXduKCgoKT0+e24uY2FuY2VsKCksZS5yZWxlYXNlKCl9KSl9IWZ1bmN0aW9uKGUpe2UuVG9vbHRpcFNlcGFyYXRvcj0iIMK3ICJ9KHN8fChzPXt9KSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9zaXplPWwudHJhY2tpbmdNb2RlSXNBdmFpbGFibGU/Im1lZGl1bSI6InNtYWxsIix0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVj1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9mb3JjZUhpZGVWaXNpYmlsaXR5TW9kZWxzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fb3B0aW9ucz1lO2NvbnN0IHQ9KDAsbi5jb21iaW5lKSgoZT0+ZS5tYXAoKGU9PigwLG4uY29tYmluZSkoKChlLHQpPT5lJiZ0KSxlLnZpc2libGUud2Vha1JlZmVyZW5jZSgpLGUubW9kZWwudmlzaWJsZSgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpKSksdGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1Yud2Vha1JlZmVyZW5jZSgpKTt0aGlzLl92aXNpYmxlTW9kZWxzPXUoKDAsbi5hY2N1bXVsYXRlKSgoKGUsdCxhKT0+dD9bXTphLmZpbHRlcigoKHQsYSk9PmVbYV0mJnR8fG51bGwpKS5maWx0ZXIoaS5ub3ROdWxsKS5zbGljZSgwLDMpKSx0Lm93bmVyc2hpcCgpLHRoaXMuX2ZvcmNlSGlkZVZpc2liaWxpdHlNb2RlbHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksW10sMjUwLChlPT4wPT09ZS5sZW5ndGgpKSx0aGlzLl92aXNpYmxlTW9kZWxzLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKSkpLHRoaXMuX3Rvb2x0aXA9KDAsbi5hY2N1bXVsYXRlKSgoZT0+ZS5maWx0ZXIoaS5ub3ROdWxsKS5qb2luKCIgwrcgIikpLCgwLG4uY29tYmluZSkoKGU9PmUubWFwKChlPT5lLm1vZGVsLnRvb2x0aXAoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fdmlzaWJsZU1vZGVscy53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fdmlzaWJpbGl0eS51bnN1YnNjcmliZSgpLHRoaXMuX2NsZWFyU3RhdHVzVmlld01vZGVscygpLHRoaXMuX3Zpc2libGVNb2RlbHMuZGVzdHJveSgpLHRoaXMuX3Rvb2x0aXAuZGVzdHJveSgpfXZpc2liaWxpdHkoKXtyZXR1cm4gdGhpcy5fdmlzaWJpbGl0eS5yZWFkb25seSgpfXZpc2libGVNb2RlbHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZU1vZGVsc310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9X2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyhlKXt0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVi5zZXRWYWx1ZShbLi4udGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1YudmFsdWUoKSxlXSl9X2NsZWFyU3RhdHVzVmlld01vZGVscygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnZhbHVlKCkpe2lmKGUuYWRkaXRpb25hbFdpZGdldHMpZm9yKGNvbnN0IHQgb2YgZS5hZGRpdGlvbmFsV2lkZ2V0cyl0LmRlc3Ryb3koKTtlLm1vZGVsLmRlc3Ryb3koKSxlLnZpc2libGUuZGVzdHJveSgpfX19fSw5NzA2MzUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Qm9vbGVhblN0YXR1c1ZpZXdNb2RlbDooKT0+aX0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoNTY1MjA2KTtjbGFzcyBpIGV4dGVuZHMgby5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9ib29sZWFuU3RhdHVzPW5ldyBzLldhdGNoZWRWYWx1ZSghMSkuc3Bhd24oKSx0aGlzLnVwZGF0ZVN0YXR1cyhlKX1kZXN0cm95KCl7dGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZVN0YXR1cyhlKXsKdGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksdGhpcy5fYm9vbGVhblN0YXR1cz1lLnNwYXduKCksdGhpcy5fYm9vbGVhblN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfV91cGRhdGVTdGF0dXMoZSl7ZT90aGlzLl9zdGF0dXMuc2V0VmFsdWUoITApOnRoaXMuX3N0YXR1cy5zZXRWYWx1ZShudWxsKX19fSw4MDAyMjYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7dHJhY2tpbmdNb2RlSXNBdmFpbGFibGU6KCk9PnN9KTtjb25zdCBzPWEoMzE4OTc0KS5DaGVja01vYmlsZS5hbnkoKX0sOTAxMTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1BpbmVTb3VyY2VDb2RlTW9kZWxCYXNlOigpPT5uZSxib3R0b21XaWRnZXRCYXI6KCk9PmllLHVwZGF0ZXNJbmZvU3VwcG9ydGVkOigpPT5yZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMTg1MjcxKSxpPWEoMzg2OTMxKSxyPWEoMjIxMDYxKSxuPWEoMzY4MzEyKSxsPWEoMjMyMzY0KSx1PWEoODc0MzA2KSxjPWEoNjA1MjU3KSxkPWEoNTcwNjAzKSxoPWEoOTIwNDc1KSxwPWEoMTY3NTAyKSxtPWEoNzY4NzYwKSxfPWEoNzkxNDI3KSxTPWEoNjgxNzk5KSxmPWEoNzY1MTczKSx3PWEoODQ4Nzg1KSxiPWEoNDEyMzg0KSxnPWEoNjI4MDYpLHY9YSg5NTY0MzcpLHk9YSg4ODU2MzApLE09YSg5NjQ1NzMpLEk9YSgxNjM2MDMpLEU9YSgxODU2MDgpLEM9YSg4MjAxODApLFQ9YSg5NDgzODApO2NsYXNzIGsgZXh0ZW5kcyBTLlN0dWR5U3R1Yntjb25zdHJ1Y3RvcihlLHQsYSxzKXtzdXBlcihlLHQsYSwhMSxzKSx0aGlzLmlzU3RyYXRlZ3lTdHViPSEwLHRoaXMud2F0Y2hlZERhdGE9bmV3IGwuV2F0Y2hlZFZhbHVlKHttZXRob2Q6IlRlc3QifSksdGhpcy5fcmVwb3J0RGF0YT1udWxsLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX2JhcnNJbmRleGVzPXQuZGF0YS5iYXJzSW5kZXhlc3x8W10sdGhpcy5fcmVwb3J0RGF0YT10LmRhdGEucmVwb3J0RGF0YT8/bnVsbCx0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKX1kZXN0cm95KCl7dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsMCksc3VwZXIuZGVzdHJveSgpfW1ldGFJbmZvKCl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKShzdXBlci5tZXRhSW5mbygpKX1yZXBvcnREYXRhKCl7cmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT09PXRoaXN9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiBudWxsfXJlcG9ydENoYW5nZWQoKXtyZXR1cm4gbmV3IFQuRGVsZWdhdGV9c3R1ZHlOYW1lKCl7cmV0dXJuIG5ldyBsLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKX19dmFyIHg9YSg5NjY0MDQpO2NvbnN0IEQ9e2FzT2JqZWN0OiEwLG9ubHlBdG9tVmFsdWVzOiEwLHZhbHVlc0FzSXNGcm9tUHJvcGVydGllczohMCxza2lwSGlkZGVuSW5wdXRzOiEwLGRvTm90U2tpcEhpZGRlbldpdGhNaWdyYXRlOiEwLHNraXBCb29sZWFuSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSx1c2VOYW1lQW5kR3JvdXBBc0tleTohMH0sVj1uZXcgTWFwLFA9bmV3IFNldDtmdW5jdGlvbiBBKGUsdCxhLG8saSl7Y29uc3Qgcj1lLmlkKCksbj1QLmhhcyhyKTtsZXQgbD1uPygwLHMuZW5zdXJlRGVmaW5lZCkoVi5nZXQocikpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3JldHVybntpbnB1dHNJbmZvTGlzdDp0LmlucHV0cyxpbnB1dERlZmF1bHRzOnQuZGVmYXVsdHMuaW5wdXRzLGlucHV0VmFsdWVzOmUuaW5wdXRzKEQpfX0oZSk7MD09PU9iamVjdC5rZXlzKGwuaW5wdXRWYWx1ZXMpLmxlbmd0aCYmKGw9Vi5nZXQocik/P2wpLG58fFYuc2V0KHIsbCksaT8ubGVuZ3RoP1AuYWRkKHIpOlAuZGVsZXRlKHIpO2NvbnN0IHU9e3pvcmRlcjplLnpvcmRlcigpLHBhbmVJZDphLnBhbmUuaWQoKX07bGV0IGM7aWYoYS5wcmljZVNjYWxlJiZhLnByaWNlU2NhbGU9PT1lLnByaWNlU2NhbGUoKSl7Yz0oMCx2LmlzU3R1ZHlTdHJhdGVneSkoZSk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLm1vZGVsKCksYT1lLnN0YXRlKCEwKSxzPW5ldyBrKHQsYSwiIixlLm1ldGFJbmZvKCkpLG89dC5jcmVhdGVQYW5lKCk7cmV0dXJuIG8uYWRkRGF0YVNvdXJjZShzLG51bGwsITEpLHMuc2V0Wm9yZGVyKG8ubmV3U3R1ZHlaT3JkZXIoKSksdC5yZWNhbGN1bGF0ZVBhbmUobywoMCx4LnNvdXJjZUNoYW5nZUV2ZW50KShzLmlkKCkpKSx0LmZ1bGxVcGRhdGUoKSxzfShlKTpvLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKCIiKTtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoby5wYW5lRm9yU291cmNlKGUpKSxhPW8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2YodCk7bmV3IE0uTWVyZ2VUb1RhcmdldFBhbmUoby5tb2RlbCgpLGMsYSxudWxsLCEwKS5yZWRvKCk7bmV3IEkuTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQoby5tb2RlbCgpLGMsdCwoMCxzLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxudWxsKS5yZWRvKCl9KDAsYi5yZW1vdmVBbGxTb3VyY2VzV2l0aERlcGVuZGVuY2llcykoby5tb2RlbCgpLFtlXSk7Y29uc3QgZD1mdW5jdGlvbihlLHQsYSxzLG8pe2NvbnN0IGk9KDAseS5yZW1hcFN0dWR5SW5wdXRzQnlOYW1lKSh0LmlucHV0cyx0LmRlZmF1bHRzLmlucHV0cyx7aW5wdXRzSW5mb0xpc3Q6YS5pbnB1dHNJbmZvTGlzdCxpbnB1dERlZmF1bHRzOmEuaW5wdXREZWZhdWx0cyx2YWx1ZXNCeU5hbWU6YS5pbnB1dFZhbHVlc30pLHI9bmV3IEUuSW5zZXJ0U3R1ZHlDb21tYW5kKHtjaGFydE1vZGVsOmUubW9kZWwoKSxzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOmkscHJvcHM6e30sYWRkQXNPdmVybGF5OiExLHBhcmVudFNvdXJjZXM6W10sdGFyZ2V0Wk9yZGVyOnMsc3R1ZHlJZDpvfSk7ci5yZWRvKCkKO2NvbnN0IG49ci5pbnNlcnRlZFN0dWR5KCk7cmV0dXJuIG4uc3R1ZHkudGhlbigodD0+e0MuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKGUubW9kZWwoKSkuYWRkKG8sdCl9KSksbn0obyx0LGwsdSxlLmlkKCkpO3JldHVybiBkLnN0dWR5LnRoZW4oKGU9PntpZihlLnNldFpvcmRlcih1LnpvcmRlciksIXQubGlua2VkVG9TZXJpZXMpe2NvbnN0IHQ9by5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihhLnBhbmUpO2lmKG5ldyBNLk1lcmdlVG9UYXJnZXRQYW5lKG8ubW9kZWwoKSxlLHQsbnVsbCwhMCkucmVkbygpLG51bGwhPT1hLnByaWNlU2NhbGUpe25ldyBJLk1vdmVUb0V4aXN0aW5nUHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSxhLnByaWNlU2NhbGUsbnVsbCkucmVkbygpfWVsc2V7bmV3IEkuTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSwib3ZlcmxheSIsbnVsbCkucmVkbygpfX1lLnNldEVycm9yQ29tcGlsYXRpb24oaT8ubGVuZ3RoP2k6bnVsbCksYyYmby5tb2RlbCgpLnJlbW92ZVNvdXJjZShjKX0pKSxkfXZhciBSPWEoODgxOTIpLEI9YSgxOTg5MDEpO2NvbnN0IE49bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIHt0aXRsZX0gc2NyaXB0IixvLnQobnVsbCx2b2lkIDAsYSg0MTAxNDgpKSk7ZnVuY3Rpb24gRihlLHQpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IGE9dC5wcmljZVNjYWxlUG9zaXRpb24oZSk7cmV0dXJue2lkOmUuaWQoKSxwb3NpdGlvbjphLHByaWNlU2NhbGVJbmRleDp0LnByaWNlU2NhbGVJbmRleChlLGEpfX1jb25zdCBXPW5ldyBNYXAsTz0vXmRlc2NyaXB0aW9uJC8sSD0vXnNob3J0RGVzY3JpcHRpb24kLyxMPS9eYmFuZHNcLlxkK1wubmFtZSQvLFU9L15maWxsZWRBcmVhc1wuXGQrXC50aXRsZSQvLEc9L15zdHlsZXNcLnBsb3RfXGQrXC50aXRsZSQvLHo9L15vaGxjUGxvdHNcLnBsb3RiYXJfXGQrXC50aXRsZSQvLHE9L15vaGxjUGxvdHNcLnBsb3RjYW5kbGVfXGQrXC50aXRsZSQvO2Z1bmN0aW9uICQoZSl7cmV0dXJuW08sSCxMLFUsRyx6LHFdLnNvbWUoKHQ9PnQudGVzdChlKSkpfWZ1bmN0aW9uIGooZSx0KXtjb25zdCBhPSgwLGguZGVmYXVsdCkodCxlKTtkZWxldGUgYS5waW5lLGRlbGV0ZSBhLmRlZmF1bHRzPy5pbnB1dHMsZGVsZXRlIGEuaW5wdXRzLCgwLEIucmVtb3ZlRW1wdHlPYmplY3RzRnJvbVJlY29yZElucGxhY2UpKGEpO3JldHVybigwLEIuY29sbGVjdEFsbFBhdGhzKShhKS5ldmVyeSgkKX1mdW5jdGlvbiBRKGUsdCxhKXthLmZvckVhY2goKChhLHMpPT57Y29uc3Qgbz1wYXJzZUludChhLnNwbGl0KCIkIilbMV0/PyItMSIpO28+PTAmJm88ZS5wbG90cy5sZW5ndGgmJnQucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZChzKT8uc2V0VmFsdWUoYSl9KSl9ZnVuY3Rpb24gWChlKXtjb25zdCB0PWUuaW5wdXRzKHthc09iamVjdDohMH0pLGE9T2JqZWN0LmtleXModCkuZmlsdGVyKChlPT4oMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkodFtlXSkpKS5tYXAoKGU9PltlLCgwLGcuZ2V0SW5wdXRWYWx1ZSkodFtlXSldKSk7cmV0dXJuIG5ldyBNYXAoYSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gZS5jaGlsZHJlbigpLm1hcCgoZT0+KHtlbnRpdHlJZDplLmlkKCksaW5wdXRzOlgoZSl9KSkpfWZ1bmN0aW9uIFooZSx0KXtjb25zdCBhPXt9LHM9ZS5zdHVkaWVzV1YoKS5zcGF3bigpLG89KCk9PntlLm9uRGVzdHJveWVkKCkudW5zdWJzY3JpYmVBbGwoYSkscy5kZXN0cm95KCl9O3JldHVybiBuZXcgUHJvbWlzZSgoKGkscik9PntlLm9uRGVzdHJveWVkKCkuc3Vic2NyaWJlKGEsKCgpPT57bygpLHIoKX0pKSxzLnN1YnNjcmliZSgoZT0+e2NvbnN0IGE9ZS5maW5kKChlPT5lLmlkKCk9PT10KSk7YSYmKG8oKSxpKGEpKX0pKX0pKX1jbGFzcyBKIGV4dGVuZHMgZi5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsYSxzKXtjb25zdCBvPWEuc3RhdGUoKTtpZihzdXBlcihOLmZvcm1hdCh7dGl0bGU6by5zaG9ydERlc2NyaXB0aW9ufHxvLmRlc2NyaXB0aW9ufHwiIn0pKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9W10sdGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9W10sdGhpcy5fbmV3U2NyaXB0c1N0YXRlcz1bXSx0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHM9bmV3IE1hcCx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fY29tcGlsZUVycm9ycz1zLHRoaXMuX25ld01ldGFJbmZvPWEsInNjcmlwdElkUGFydCJpbiB0KXtjb25zdCBlPWZ1bmN0aW9uKGUsdCxhLHMpe2NvbnN0IG89W10saT10LmRhdGFTb3VyY2VzKCk7Zm9yKGxldCB0PWkubGVuZ3RoLTE7dD49MDt0LS0pe2NvbnN0IHI9aVt0XTtpZihzJiZyLmlkKCkhPT1zKWNvbnRpbnVlO2lmKCEoMCx2LmlzU3R1ZHkpKHIpKWNvbnRpbnVlO2NvbnN0IG49ci5tZXRhSW5mbygpO24ucGluZSYmbi5zY3JpcHRJZFBhcnQ9PT1lJiYoImFsbCI9PT1hfHxhJiZuLnBpbmUudmVyc2lvbj09PWEudG9TdHJpbmcoKSkmJm8ucHVzaChyKX1yZXR1cm4gb30odC5zY3JpcHRJZFBhcnQsdGhpcy5fY2hhcnRNb2RlbCx0LnNjcmlwdFZlcnNpb25Ub1VwZGF0ZSk7dGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9ZS5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3NhdmVDaGlsZFN0dWRpZXNJbnB1dHMoZSl9ZWxzZSB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcz1bdC5zdHVkeS5pZCgpXX11cGRhdGVTY3JpcHRzSWRzKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZWRTdHVkaWVzSWRzfWFzeW5jIHJlZG8oKXt0aGlzLl9zdGFydFJlZG9Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO2NvbnN0IGU9dGhpcy5fZGV0YWNoTGluZVRvb2xzKCk7dHJ5e2lmKDA9PT10aGlzLl9uZXdTY3JpcHRzU3RhdGVzLmxlbmd0aCl7CmlmKCFhd2FpdCB0aGlzLl9yZXBsYWNlU291cmNlc0FuZFNhdmVTdGF0ZXMoKSlyZXR1cm59ZWxzZXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9uZXdTY3JpcHRzU3RhdGVzKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKSlyZXR1cm59Zm9yKGNvbnN0W2UsdF1vZiB0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHMpe2NvbnN0IGE9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSksbz1lPT57Y29uc3QgYT1lLm1ldGFJbmZvKCk7Zm9yKGNvbnN0e2VudGl0eUlkOmUsaW5wdXRzOnN9b2YgdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoYSYmUShhLHQscyksdC5zdGFydCghMCwhMSwyKSl9fTtpZigoMCx2LmlzU3R1ZHkpKGEpKW8oYSk7ZWxzZXtaKHRoaXMuX2NoYXJ0TW9kZWwsZSkudGhlbihvKX19fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyB1bmRvKCl7dGhpcy5fc3RhcnRVbmRvUHJvbWlzZS5yZXNvbHZlKCksdGhpcy5fc3RhcnRSZWRvUHJvbWlzZT0oMCxtLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtjb25zdCBlPXRoaXMuX2RldGFjaExpbmVUb29scygpO3RyeXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbUHJvbWlzZS5hbGwodGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9wcmV2U2NyaXB0c1N0YXRlcykpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2UucHJvbWlzZV0pKXJldHVybjtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCk7aWYobnVsbCE9PWUpZm9yKGNvbnN0W2Esc11vZiB0LmlucHV0cyllLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbYV0uc2V0VmFsdWUocyl9fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyBfcmVwbGFjZVNvdXJjZXNBbmRTYXZlU3RhdGVzKCl7Y29uc3QgZT10aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7dGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9dGhpcy5fZ2V0U2NyaXB0c1N0YXRlcyhlKTtjb25zdCB0PVtdO2ZvcihsZXQgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKXtjb25zdCBvPWVbYV0saT1vLmlkKCkscj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSksbj1yLmlzT3ZlcmxheShvKT9udWxsOm8ucHJpY2VTY2FsZSgpLGw9by5vcmlnaW5hbE1ldGFJbmZvKCkuc3RhdGUoKSx1PXRoaXMuX25ld01ldGFJbmZvLnN0YXRlKCk7dGhpcy5fc2F2ZUNoaWxkU291cmNlSW5wdXRzQmVmb3JlUmVjb21waWxhdGUoaSxsLHUpO2NvbnN0IGM9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldChpKTtjJiZ0aGlzLl9yZXNldENoaWxkSW5wdXRzU291cmNlVG9EZWZhdWx0KGMpO2NvbnN0IGQ9QShvLHRoaXMuX25ld01ldGFJbmZvLHtwYW5lOnIscHJpY2VTY2FsZTpufSx0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHRoaXMuX2NvbXBpbGVFcnJvcnMpO2lmKHQucHVzaChkLnN0dWR5KSxqKGwsdSkpe2NvbnN0IGU9by5wcm9wZXJ0aWVzKCkuc3RhdGUoKTtkZWxldGUgZS5pbnB1dHMsZC5zdHVkeS50aGVuKCh0PT57dC5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKGUpfSkpfX1Qcm9taXNlLmFsbCh0KS50aGVuKChlPT57dGhpcy5fbmV3U2NyaXB0c1N0YXRlcz10aGlzLl9nZXRTY3JpcHRzU3RhdGVzKGUpfSkpO2NvbnN0IGE9YXdhaXQgUHJvbWlzZS5yYWNlKFtQcm9taXNlLmFsbCh0KSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKTtyZXR1cm4gYXx8bnVsbH1fcmVzdG9yZVN0YXRlcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBhIG9mIGUpdGhpcy5fcmVzdG9yZVNjcmlwdEFmdGVyUmVjb21waWxhdGlvbihhKSx0LnB1c2godGhpcy5fY2hhcnRNb2RlbC53YWl0Rm9yU3R1ZHkoYS5lbnRpdHlJZCkpO3JldHVybiB0fV9nZXRTY3JpcHRzU3RhdGVzKGUpe2NvbnN0IHQ9W10sYT10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkubWFwKCgoZSx0KT0+KHtzdGF0ZTplLnN0YXRlKHtpbmNsdWRlU291cmNlczohMX0pLGluZGV4OnQsaWQ6ZS5pZCgpfSkpKTtmb3IobGV0IG89ZS5sZW5ndGgtMTtvPj0wO28tLSl7Y29uc3QgaT1lW29dLHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLG49dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmluZGV4T2YociksbD1GKGkucHJpY2VTY2FsZSgpLHIpLHU9aS5zdGF0ZSghMSk7dC5wdXNoKHtlbnRpdHlJZDppLmlkKCksc3RhdGU6dSxwYW5lU3RhdGU6YVtuXSxwcmljZVNjYWxlUG9zaXRpb25JZHM6bH0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLnBhbmVTdGF0ZS5pbmRleC10LnBhbmVTdGF0ZS5pbmRleCkpLHR9X3Jlc3RvcmVTY3JpcHRBZnRlclJlY29tcGlsYXRpb24oZSl7Y29uc3R7ZW50aXR5SWQ6dCxwYW5lU3RhdGU6YSxzdGF0ZTpvLHByaWNlU2NhbGVQb3NpdGlvbklkczppfT1lO2lmKG51bGw9PT1vfHwoMCxTLmlzU3R1ZHlTdHViRGVzY3JpcHRvcikobykpcmV0dXJuO2NvbnN0IHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSksbj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShyKSksbD1uZXcgdy5SZW1vdmVTb3VyY2VzVW5kb0NvbW1hbmQodGhpcy5fY2hhcnRNb2RlbCxbcl0sbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiIiwiIikpO2wucmVkbygpLApsLnJlbW92ZWRJZHMoKS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlc2V0V2FpdEZvclN0dWR5KGUpKSk7Y29uc3QgdT17em9yZGVyOnIuem9yZGVyKCkscGFuZUlkOm4uaWQoKX07bGV0IGM7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvcklkKGEuaWQpKXRoaXMuX2NoYXJ0TW9kZWwuY3JlYXRlUGFuZShhLmluZGV4LHZvaWQgMCxhLmlkKSx0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JJZChhLmlkKT8ucmVzdG9yZVN0YXRlKHtzdGF0ZTp7Li4uYS5zdGF0ZSxzb3VyY2VzOltvXX0sd2l0aERhdGE6ITEsdmVyc2lvbjp0aGlzLl9jaGFydE1vZGVsLnZlcnNpb24oKX0pLGM9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSk7ZWxzZXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5pbmRleE9mKCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9ySWQoYS5pZCkpKTtjPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5yZXN0b3JlU291cmNlKCExLGUsbnVsbCxvLGkpKSxjLnNldFpvcmRlcih1LnpvcmRlcil9Vy5oYXModCkmJlcuc2V0KGMuaWQoKSwoMCxzLmVuc3VyZURlZmluZWQpKFcuZ2V0KHQpKSl9X3NhdmVDaGlsZFNvdXJjZUlucHV0c0JlZm9yZVJlY29tcGlsYXRlKGUsdCxhKXtjb25zdCBvPXQucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKSxpPWEucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKTtpZighKDAscC5kZWZhdWx0KShvLGkpKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpLGE9KDAsYi5jbG9zZVNvdXJjZXNTZXQpKHRoaXMuX2NoYXJ0TW9kZWwsW3RdLCEwKTtmb3IoY29uc3QgZSBvZiBvKWkuZmluZCgodD0+dD09PWUpKXx8YS5maWx0ZXIodi5pc1N0dWR5KS5mb3JFYWNoKChlPT57Y29uc3QgYT1lLmlucHV0cygpLHM9Xy5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKGUubWV0YUluZm8oKSksbz17ZW50aXR5SWQ6ZS5pZCgpLGlucHV0czpuZXcgTWFwfTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWFbZV07aWYoKDAsZy5pc0V4dGVuZGVkSW5wdXQpKHMpJiYoMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkocykpe2NvbnN0IGE9KDAsZy5nZXRJbnB1dFZhbHVlKShzKTstMSE9PWEuaW5kZXhPZih0LmlkKCkpJiZvLmlucHV0cy5zZXQoZSxhKX19aWYoby5pbnB1dHMuc2l6ZSl7bGV0IGU9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldCh0LmlkKCkpO2V8fChlPVtdLHRoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cy5zZXQodC5pZCgpLGUpKSxlLnB1c2gobyl9fSkpfX1fcmVzZXRDaGlsZElucHV0c1NvdXJjZVRvRGVmYXVsdChlKXtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCkpO2Uuc3RvcCghMSwyKTtmb3IoY29uc3RbYV1vZiB0LmlucHV0cyl7Y29uc3QgdD0oMCxzLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/LlthXSk7ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpW2FdLnNldFZhbHVlKHQpfX19X2RldGFjaExpbmVUb29scygpe3JldHVybiB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5yZWR1Y2UoKChlLHQpPT57Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKSxvPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGEpKSxpPW8uZGF0YVNvdXJjZXMoKS5maWx0ZXIoUi5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUub3duZXJTb3VyY2UoKT8uaWQoKT09PWEuaWQoKSkpO3JldHVybiBlLnNldChhLmlkKCksaSksaS5mb3JFYWNoKChlPT5vLnJlbW92ZURhdGFTb3VyY2UoZSkpKSxlfSksbmV3IE1hcCl9X2F0dGFjaExpbmVUb29scyhlKXtjb25zdCB0PW5ldyBTZXQ7ZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IG89dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoYSk7aWYobnVsbD09PW8pcmV0dXJuIHZvaWQgdC5hZGQoYSk7Y29uc3QgaT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSk7ZS5mb3JFYWNoKChlPT57ZS5zZXRPd25lclNvdXJjZShvKSxpLmFkZERhdGFTb3VyY2UoZSxvLnByaWNlU2NhbGUoKSwhMCl9KSl9KSksdC5mb3JFYWNoKCh0PT57Y29uc3QgYT1lLmdldCh0KTthJiZhLmZvckVhY2goKGU9PntlLmRlc3Ryb3k/LigpfSkpfSkpfV9zYXZlQ2hpbGRTdHVkaWVzSW5wdXRzKGUpe3RoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cz1uZXcgTWFwKGUubWFwKChlPT5bZS5pZCgpLEsoZSldKSkpfX12YXIgWT1hKDQxMzQxKSxlZT1hKDk0Mzk1KSx0ZT1hKDM0MjIwKSxhZT1hKDYwMjM4Nik7Y29uc3Qgc2U9bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiIsby50KG51bGwsdm9pZCAwLGEoNzE4NzU3KSkpLG9lPSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGluZVNvdXJjZUNvZGUiKTtmdW5jdGlvbiBpZSgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcuYm90dG9tV2lkZ2V0QmFyfWZ1bmN0aW9uIHJlKGUpe3JldHVybiBfLlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KGUpfHxfLlN0dWR5TWV0YUluZm8uaGFzU3RkU3VmZml4KGUpfWNsYXNzIG5le2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyBsLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cz1uZXcgbC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fZ2V0U2NyaXB0SW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSwKdGhpcy5fdXBkYXRlQWJpbGl0eVNob3dTb3VyY2VDb2RlPWFzeW5jKCk9PntpZighd2luZG93LndpZGdldGJhcilyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgibGFzdCIpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdHtzY3JpcHRJZFBhcnQ6dCxwaW5lVmVyc2lvbjphfT1lO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlKSh0LGEpO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSYmd2luZG93LndpZGdldGJhci5pc1Zpc2libGUoKSl9Y2F0Y2goZSl7b2UubG9nRXJyb3IoIkZhaWxlZCBpc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlLCByZWFzb246ICIrZSl9fSx0aGlzLl9waW5lU2NyaXB0PWUsd2luZG93LndpZGdldGJhcj8udmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykpLHRoaXMuX2luaXRPcGVuZWRTY3JpcHRzKCl9ZGVzdHJveSgpe3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX29wZW5lZFNjcmlwdHM/LmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQ9ITB9aXNBYmxlU2hvd1NvdXJjZUNvZGUoKXtyZXR1cm4gdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUucmVhZG9ubHkoKX1zY3JpcHQoKXtyZXR1cm4gdGhpcy5fcGluZVNjcmlwdH10aXRsZSgpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0LnRpdGxlKGVlLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1tZXRhSW5mbygpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0Lm1ldGFJbmZvKCl9c2NyaXB0SWRQYXJ0KCl7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7cmV0dXJuIGU/LnNjcmlwdElkUGFydD8/bnVsbH1hc3luYyBzaG93UGluZVNvdXJjZUNvZGUoZSl7aWYoKDAscy5hc3NlcnQpKHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnZhbHVlKCksIlNvdXJjZSBjb2RlIG5vdCBhdmFpbGFibGUhIChDaGVjayBhYmlsaXR5IHNob3cgc291cmNlIGNvZGUgYmVmb3JlIC0gY2FsbCBjYW5TaG93U291cmNlQ29kZSgpKSIpLCF3aW5kb3cud2lkZ2V0YmFyKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFNvdXJjZUNvZGVEYXRhKCIiKTtudWxsIT09dCYmYXdhaXQoMCx0ZS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZVZlcnNpb259LHBhcmFtczplfSxvcGVuU291cmNlSWQ6ImNoYXJ0X2xlZ2VuZCJ9KX1hc3luYyByZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKXtpZighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2NvbnN0e3NjcmlwdElkUGFydDp0LHBpbmVWZXJzaW9uOmF9PWU7aWYoIXJlKHQpKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQoMCxuLmdldExhc3RWZXJzaW9uKSh0KTtyZXR1cm4gcz97Y3VycmVudFZlcnNpb246dS5WZXJzaW9uLnBhcnNlKGEpLGxhc3RWZXJzaW9uOnUuVmVyc2lvbi5wYXJzZShzLnZlcnNpb24pfTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1hc3luYyByZXF1ZXN0U2NyaXB0SW5mbygpe2lmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMuc2NyaXB0SWRQYXJ0KCk7aWYoIWUpcmV0dXJuIG51bGw7aWYoIV8uU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoZSkpcmV0dXJuIG51bGw7aWYobmUuX3BpbmVQdWJTY3JpcHRJbmZvQ2FjaGUuaGFzKGUpKXJldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5nZXQoZSk/P251bGw7Y29uc3QgdD1hd2FpdCgwLFkucmVxdWVzdFNjcmlwdEluZm8pKGUpO3JldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5zZXQoZSx0KSx0fWFzeW5jIHVwZGF0ZVRvVmVyc2lvbihlLHQsYSl7Y29uc3Qgcz10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIXMpcmV0dXJuOygwLGkudHJhY2tFdmVudCkoIkdVSSIsIlVwZGF0ZSBzdHVkeSB2ZXJzaW9uIik7Y29uc3Qgbz1hd2FpdCgwLGMuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6InBpbmUiLHBpbmVJZDpzLnNjcmlwdElkUGFydCxwaW5lVmVyc2lvbjp0LnRvU3RyaW5nKCl9KTtpZighdGhpcy5fZGVzdHJveWVkKXtjb25zdCB0PWE/ZS5hbGxVbmRvTW9kZWxzKCk6W2VdLHM9YT97c2NyaXB0SWRQYXJ0Om8uc2NyaXB0SWRQYXJ0LHNjcmlwdFZlcnNpb25Ub1VwZGF0ZToiYWxsIn06e3N0dWR5OnRoaXMuX3BpbmVTY3JpcHR9LGk9dC5tYXAoKGU9Pm5ldyBKKGUubW9kZWwoKSxzLG8pKSkuZmlsdGVyKChlPT5lLnVwZGF0ZVNjcmlwdHNJZHMoKS5sZW5ndGg+MCkpLHI9dFswXS51bmRvSGlzdG9yeSgpO2lmKGkubGVuZ3RoKXtyLmJlZ2luVW5kb01hY3JvKHNlKTtmb3IoY29uc3QgZSBvZiBpKXIucHVzaFVuZG9Db21tYW5kKGUpO3IuZW5kVW5kb01hY3JvKCl9fX1waW5lU291cmNlRWRpdG9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXN9YXN5bmMgX2luaXRPcGVuZWRTY3JpcHRzKCl7Y29uc3QgZT1hd2FpdCgwLGFlLmdldE9wZW5lZFBpbmVTY3JpcHRzKSgpO3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2dldFNjcmlwdEluZm89ZS5nZXRTY3JpcHRJbmZvLmJpbmQoZSksdGhpcy5fb3BlbmVkU2NyaXB0cz1lLnNjcmlwdHMoKS5zcGF3bigpLHRoaXMuX29wZW5lZFNjcmlwdHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0KX3VwZGF0ZVBpbmVTb3VyY2VFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3BpbmVTY3JpcHQubWV0YUluZm8oKTtpZighdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUudmFsdWUoKXx8bnVsbD09PWV8fG51bGw9PT10aGlzLl9nZXRTY3JpcHRJbmZvKXJldHVybiB2b2lkIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoMCk7Y29uc3QgdD10aGlzLl9nZXRTY3JpcHRJbmZvKHtzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/LnZlcnNpb259KTtsZXQgYT0wO251bGwhPT10JiYodC5kaWFsb2dDb3VudD4wP2E9MTp0LmRldGFjaENvdW50PjA/YT0yOnQuYm90dG9tQ291bnQ+MCYmKGE9MykpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoYSl9fW5lLl9waW5lUHViU2NyaXB0SW5mb0NhY2hlPW5ldyBNYXB9LDIyMzA4MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOCA0SDVhMSAxIDAgMCAwLTEgMXY4YTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xdi0zaDF2M2wtLjAxLjIwNGEyIDIgMCAwIDEtMS43ODYgMS43ODVMMTMgMTVINWEyIDIgMCAwIDEtMS45OS0xLjc5NkwzIDEzVjVhMiAyIDAgMCAxIDItMmgzem03IDNoLTFWNC42OUw5LjcxIDkuMDA1IDkuMDAxIDguMyAxMy4yNzcgNEgxMVYzaDR6Ii8+PC9zdmc+J30sMTI1ODk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSA5IiB3aWR0aD0iMTEiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTAuOTk5ODc4IDRMMy45OTk4OCA3TDkuOTk5ODggMSIvPjwvc3ZnPid9LDkxMzYxMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAyLjA1Yy4zNyAwIC42Ny4zLjY3LjY3di44OGwuNjQtLjMzYS42Ny42NyAwIDAgMSAuNjEgMS4xOWwtMS4yNS42NHYxLjEyYy41OC4xNCAxLjEuNDYgMS40OC44OWwxLjE4LS42N1Y1YzAtLjM2LjMtLjY2LjY3LS42NS4zNyAwIC42Ny4zLjY3LjY2di42OGwuNzItLjRhLjY3LjY3IDAgMSAxIC42NSAxLjE1bC0uNzIuNDIuNi4zN2MuMy4yLjQuNi4yLjkyLS4yLjMtLjYxLjQtLjkyLjJMMTMgNy42bC0xLjIyLjdhMi44IDIuOCAwIDAgMS0uMDQgMS40OGwxLjI3LjcgMS4xOC0uNzdjLjMxLS4yLjczLS4xMi45My4xOS4yLjMuMTEuNzItLjIuOTJsLS42LjM5LjcyLjRhLjY3LjY3IDAgMCAxLS42NSAxLjE3bC0uNzItLjRWMTNhLjY3LjY3IDAgMCAxLTEuMzQgMHYtMS4zOGwtMS4yNi0uN2MtLjM4LjM4LS44Ni42Ni0xLjQuOHYxLjE4bDEuMjUuNjRhLjY3LjY3IDAgMSAxLS42IDEuMTlsLS42NS0uMzN2Ljg4YS42Ny42NyAwIDAgMS0xLjM0IDB2LS44OGwtLjY0LjMzYS42Ny42NyAwIDEgMS0uNjEtMS4xOWwxLjI1LS42NFYxMS43YTIuODYgMi44NiAwIDAgMS0xLjQtLjhsLTEuMjYuN3YxLjRjMCAuMzYtLjMuNjYtLjY3LjY1YS42Ny42NyAwIDAgMS0uNjctLjY2di0uNjRsLS43LjM5YS42OC42OCAwIDAgMS0uOTItLjI2LjY2LjY2IDAgMCAxIC4yNi0uOWwuNy0uNC0uNTktLjM4YS42Ni42NiAwIDAgMS0uMi0uOTJjLjItLjMuNjItLjQuOTMtLjJsMS4xOC43OCAxLjI3LS43YTIuOCAyLjggMCAwIDEtLjA0LTEuNDdMNC45NyA3LjZsLTEuMi43NWMtLjMuMi0uNzIuMS0uOTItLjItLjItLjMxLS4xLS43Mi4yMS0uOTJsLjYtLjM4LS43LS40YS42Ni42NiAwIDAgMS0uMjQtLjljLjE4LS4zMi42LS40My45MS0uMjVsLjcuNFY1YS42Ny42NyAwIDAgMSAxLjM0IDB2MS40NWwxLjE3LjY3Yy4zOC0uNDQuOS0uNzYgMS41LS45VjUuMWwtMS4yNi0uNjRhLjY3LjY3IDAgMCAxIC42MS0xLjE5bC42NC4zM3YtLjg4YzAtLjM3LjMtLjY3LjY3LS42N1ptMCA4LjRhMS41IDEuNSAwIDAgMCAxLjUyLTEuNDhjMC0uODEtLjY2LTEuNS0xLjUyLTEuNWExLjUgMS41IDAgMCAwLTEuNTIgMS41YzAgLjguNjYgMS40OSAxLjUyIDEuNDlaIi8+PC9zdmc+J30sNzMwMTEwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDQuOTNhNS43MSA1LjcxIDAgMSAxIDAgMTEuNDNBNS43MSA1LjcxIDAgMCAxIDkgNC45M004LjQzIDcuMnYyLjg2SDYuMTR2MS43Mmg0VjcuMnpNNi43IDIuODEgMi4wOSA2LjY2IDEgNS4zMyA1LjYxIDEuNXpNMTcgNS4zNGwtMS4xIDEuMzItNC42MS0zLjgzIDEuMDktMS4zMnoiLz48L3N2Zz4nfSw5MTI4MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNWE1IDUgMCAxIDEgMCAxMEE1IDUgMCAwIDEgOSA1bS0uNSAydjIuNWgtMlYxMUgxMFY3ek03IDMuMTUgMi45NiA2LjUgMiA1LjM1IDYuMDQgMnptOSAyLjItLjk2IDEuMTVMMTEgMy4xNSAxMS45NiAyeiIvPjwvc3ZnPid9LDM1MTE4MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTIuNWExLjUgMS41IDAgMSAxIDAgMyAxLjUgMS41IDAgMCAxIDAtM20wLTEwYzEuMDYgMCAxLjg4LjkzIDEuNzUgMS45OGwtLjYyIDUuMDNhMS4xMyAxLjEzIDAgMCAxLTIuMjUgMGwtLjYzLTUuMDNBMS43NyAxLjc3IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sNjQyNzgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDEyYTEgMSAwIDEgMSAwIDIgMSAxIDAgMCAxIDAtMm0wLThjLjc4IDAgMS4zOC43IDEuMjUgMS40OEw5LjU4IDkuNWEuNi42IDAgMCAxLTEuMTYgMGwtLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAxIDkgNCIvPjwvc3ZnPid9LDU3NTE0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTMuNWMwIC44My0uNjcgMS41LTEuNSAxLjVoLTlBMS41IDEuNSAwIDAgMSAzIDEzLjVWOGgxMnpNNi41IDRoNVYyLjVIMTNWNGguNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxSDN2LTFDMyA0LjY3IDMuNjcgNCA0LjUgNEg1VjIuNWgxLjV6Ii8+PC9zdmc+J30sNTk4MjU3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxMi41NWMwIC44LS41NiAxLjQ1LTEuMjUgMS40NWgtNy41QzQuNTYgMTQgNCAxMy4zNSA0IDEyLjU1VjhoMTB6TTYuOTIgNWg0LjE2VjRoMS4yNXYxaC40MmMuNjkgMCAxLjI1LjYzIDEuMjUgMS40di41NUg0VjYuNEM0IDUuNjMgNC41NiA1IDUuMjUgNWguNDJWNGgxLjI1eiIvPjwvc3ZnPid9LDU2MjQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4yMiAzLjUzYTYgNiAwIDAgMSAyLjg2LjY1cTEuMi42NyAxLjgyIDEuOS42MyAxLjI2LjYzIDMuMDJ2LjAycTAgMS44LS42MyAzLjA4YTQuNCA0LjQgMCAwIDEtMS44IDEuOTRxLTEuMi42Ni0yLjg4LjY2SDVWMy41M3ptLTIuMiA5LjU3aDEuOTRxMS4xMSAwIDEuOS0uNDYuOC0uNDUgMS4yLTEuMzQuNDEtLjg4LjQxLTIuMTV2LS4wMXEwLTEuMjQtLjQyLTIuMTFhMyAzIDAgMCAwLTEuMi0xLjM1IDMuNyAzLjcgMCAwIDAtMS45LS40Nkg3LjAyeiIvPjwvc3ZnPid9LDcwMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjE3IDQuNTVxMS4yNiAwIDIuMTQuNS45LjQ5IDEuMzYgMS40Mi40OC45NC40OCAyLjI2di4wMXEwIDEuMzYtLjQ3IDIuMzFhMy4zIDMuMyAwIDAgMS0xLjM2IDEuNDZxLS44OC41LTIuMTUuNUg2VjQuNTR6bS0xLjY2IDcuMThoMS40NnEuODQgMCAxLjQzLS4zNC42LS4zNS45LTEuMDF0LjMtMS42MXYtLjAxcTAtLjkzLS4zLTEuNTktLjMzLS42Ni0uOTEtMS0uNi0uMzUtMS40Mi0uMzVINy41MXoiLz48L3N2Zz4nfSw0NjA0NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUuNjUgMTQuOFYzLjUzaDcuM3YxLjdINy42N3YzLjA1aDQuOTl2MS42aC01djMuMjJoNS4yOXYxLjd6Ii8+PC9zdmc+J30sMjg1ODYxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA1LjI2SDcuNTF2Mi41NWgzLjc0djEuMkg3LjUxdjIuNzJoNC41VjEzSDZWNGg2eiIvPjwvc3ZnPid9LDM0MDE1OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4wMiA0YTMuOTYgMy45NiAwIDAgMCAyLjA5IDcuMjljMS4xNSAwIDIuMTgtLjUgMi45LTEuM0MxMy41MiAxMi4zIDExLjUgMTQgOS4wNCAxNEE1LjAzIDUuMDMgMCAwIDEgNCA5YTUuMDMgNS4wMyAwIDAgMSA1LjAyLTVtMi42NSAyLjMzIDEuMzMuMi0uOTggMS4wMy4yMiAxLjQ0TDExIDguMzQgOS43NiA5bC4yMi0xLjQ0TDkgNi41M2wxLjMzLS4yTDExIDV6Ii8+PC9zdmc+J30sMzc4NTk5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xNSA0LjQxLTQuNTkgNC42TDE1IDEzLjU4bC0xLjQxIDEuNEw5IDEwLjQyIDQuNDIgMTUgMyAxMy41OSA3LjYgOSAzIDQuNDFsMS40MS0xLjRMOSA3LjU4IDEzLjU5IDN6Ii8+PC9zdmc+J30sNzg2NDIwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMTQgNS4wNy0zLjkzIDMuOTQgMy45MSAzLjlMMTIuOTEgMTRsLTMuOS0zLjlMNS4wNyAxNCA0IDEyLjkzbDMuOTItMy45Mkw0IDUuMDggNS4wOCA0IDkgNy45MyAxMi45MiA0eiIvPjwvc3ZnPid9LDEwOTMyNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgMTNoLTMuNXY0aC0ydi00SDhsNC41LTR6TTYuNSA1SDEwTDUuNSA5IDEgNWgzLjVWMWgyeiIvPjwvc3ZnPid9LDQ2NTEzNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTJoLTIuNzZ2M2gtMS41di0zSDhsMy41LTN6TTcuMjQgNkgxMEw2LjUgOSAzIDZoMi43NFYzaDEuNXoiLz48L3N2Zz4nfSw4MzU5ODAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjEzIDEwLjA1cS0uODIgMy4yMy0yLjkyIDMuNDRsLS4yOC4wMWgtLjNxLTEuMDUtLjA4LTIuODMtLjYzYTExIDExIDAgMCAwLTIuOC0uNjUgMS44IDEuOCAwIDAgMC0xLjEuMzZxLS40Mi4zMi0uNzEuOTJIMi42N2E1IDUgMCAwIDEgMS4wOC0yLjQ0IDIuNSAyLjUgMCAwIDEgMi0xLjAybC4zLjAxcTEuMTUuMDggMi45NC42NSAyLjAzLjYzIDIuODcuNjMgMS4zNSAwIDEuOC0xLjI4em0wLTUuNTJxLS44OSAzLjQ1LTMuMiAzLjQ2LS4yOSAwLS42MS0uMDQtMS0uMTItMi41Mi0uNkExMSAxMSAwIDAgMCA2IDYuN1E0LjggNi43IDQuMTggOEgyLjY3YTUgNSAwIDAgMSAxLjA4LTIuNDQgMi41IDIuNSAwIDAgMSAyLTEuMDJxMS4yIDAgMy4yNC42NSAyLjAzLjY0IDIuODcuNjQgMS4zNSAwIDEuOC0xLjI5eiIvPjwvc3ZnPid9LDU1NDY0MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOS43OHEtLjcgMi43Ny0yLjU3IDIuNzctLjkgMC0yLjUtLjVhOSA5IDAgMCAwLTIuMjYtLjUzcS0uOTUgMC0xLjQ1IDEuMDNINHEuMi0xLjE1Ljg4LTEuOTZ0MS41OS0uODFxLjk2IDAgMi42LjUyIDEuNjQuNSAyLjMuNTEgMS4xIDAgMS40NS0xLjAzem0wLTQuNDNxLS43IDIuNzgtMi41NyAyLjc4LS45IDAtMi41LS41MWE5IDkgMCAwIDAtMi4yNi0uNTJxLS45NSAwLTEuNDUgMS4wM0g0cS4yLTEuMTUuODgtMS45NnQxLjU5LS44MnEuOTYgMCAyLjYuNTNhOSA5IDAgMCAwIDIuMy41cTEuMSAwIDEuNDUtMS4wM3oiLz48L3N2Zz4nfSw3NzM0NjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTggMTMgNCA5bDQtNHptNCAwTDggOWw0LTR6Ii8+PC9zdmc+J30sOTk5MzAyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDQuNzVINi42NmMtLjM3IDAtLjU4LjI3LS41OC41di45NkEzLjYgMy42IDAgMCAxIDQuNTMgOWEzLjYgMy42IDAgMCAxIDEuNTUgMi44di45NWMwIC4yMy4yMS41LjU4LjVIOHYxLjVINi42NmMtMS4xIDAtMi4wOC0uODUtMi4wOC0ydi0uOTZjMC0uNy0uNi0xLjUtMS41LTEuOTJsLS4yLS4xYS44NS44NSAwIDAgMSAwLTEuNTRsLjItLjFjLjktLjQyIDEuNS0xLjIxIDEuNS0xLjkydi0uOTZjMC0xLjE1Ljk4LTIgMi4wOC0ySDh6bTMuMzQtMS41YzEuMSAwIDIuMDkuODUgMi4wOSAydi45NmMwIC43LjYgMS41IDEuNDkgMS45MmwuMi4xYS44NS44NSAwIDAgMSAwIDEuNTRsLS4yLjFjLS45LjQyLTEuNSAxLjIxLTEuNSAxLjkydi45NmMwIDEuMTUtLjk4IDItMi4wOCAySDEwdi0xLjVoMS4zNGMuMzcgMCAuNTktLjI3LjU5LS41di0uOTZjMC0xLjE1LjY3LTIuMTQgMS41NC0yLjc5YTMuNiAzLjYgMCAwIDEtMS41NC0yLjh2LS45NWMwLS4yMy0uMjItLjUtLjYtLjVIMTB2LTEuNXoiLz48L3N2Zz4nfSw3ODc2MjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjcyIDMuMzdhMi4zIDIuMyAwIDEgMSAyLjc0IDMuMzNsLS4wMiA0LjkzYTIuMyAyLjMgMCAwIDEgMS4yMyAzLjMzIDIuMyAyLjMgMCAwIDEtNC4yNS0xLjZMNi4yIDEwLjk1YTIuMyAyLjMgMCAxIDEtLjAxLTMuNDlsNC4yNi0yLjQ4YTIuMyAyLjMgMCAwIDEgLjI2LTEuNk02Ljk1IDguNzVxLjA5LjQ0IDAgLjg5bDQuMjIgMi40M3EuMzQtLjMuNzctLjQ0bC4wMi00Ljk0YTIgMiAwIDAgMS0uNzQtLjQzeiIvPjwvc3ZnPid9LDMxMTExNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuODcgNC4xM0EyIDIgMCAxIDEgMTIuMzQgN2wtLjAyIDQuMzUuMjQuMTJhMiAyIDAgMSAxLTIuOTggMS40NmwtMy43Mi0yLjE1YTIgMiAwIDEgMSAwLTMuMTZsMy43Ni0yLjJhMiAyIDAgMCAxIC4yNS0xLjI4TTYuNiA4LjkxYTIgMiAwIDAgMSAwIC41NmwzLjcyIDIuMTVhMiAyIDAgMCAxIC40OS0uMjhsLjAyLTQuMzZhMiAyIDAgMCAxLS40Ny0uMjd6Ii8+PC9zdmc+J30sMTkyNzU1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjYgMi4wMmE0LjU4IDQuNTggMCAwIDEgMi44NC43NmMuMzguMjYgMS4wMi44MyAxLjM1IDEuMjJhOS42IDkuNiAwIDAgMSAyLjAzIDQuMTVMMTMuNSA5LjYyIDExLjcgNy42IDkuODcgOS42MiA4LjY1IDguMjRsLTEuMTUuOSAyLjM4IDIuNjYgMS44MS0yLjAyIDEuOCAyLjAyTDE1IDEwLjEycS0uMDMgMS4wMS0uMyAxLjg2YTUuOCA1LjggMCAwIDEtNS4xNSA0IDYuMjYgNi4yNiAwIDAgMS00LjE4LTEuMSA4IDggMCAwIDEtLjk1LS44NiA2IDYgMCAwIDEtMS4zOS0zLjE1IDEzIDEzIDAgMCAxIC4wMi0yLjAyIDkuNiA5LjYgMCAwIDEgMi4yNy01Yy4yNi0uMy45LS44NSAxLjIyLTEuMDYuNjYtLjQzIDEuMzgtLjcgMi4wNi0uNzciLz48L3N2Zz4nfSw5MDg0MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuMjkgMy4wMnEuOS4wOCAxLjc0LjY1Yy4zMy4yMi44NS43IDEuMTMgMS4wNGE4IDggMCAwIDEgMS42OSAzLjU2bC0xLjEgMS4yNi0xLjUtMS43My0xLjUxIDEuNzNMOC43IDguMzVsLS45Ni43NyAxLjk5IDIuMjggMS41LTEuNzMgMS41MSAxLjczTDE0IDkuOTZhNiA2IDAgMCAxLS4yNCAxLjYgNC44IDQuOCAwIDAgMS00LjMgMy40MiA1LjE1IDUuMTUgMCAwIDEtMy40OC0uOTQgNyA3IDAgMCAxLS44LS43NCA1IDUgMCAwIDEtMS4xNS0yLjdDNCAxMC4zIDQgOS4xOSA0LjA0IDguODdjLjI0LTEuNjYuOS0zLjEzIDEuOS00LjI4LjIxLS4yNS43NS0uNzMgMS0uOTFxLjg2LS41NiAxLjczLS42NmMuMjUtLjAzLjM3LS4wMy42MiAwIi8+PC9zdmc+J30sOTEzODQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0zLjM5IDguNzkgMi41OC43LS4zNyAxLjM1LTEuNTItLjQxYTUuMTIgNS4xMiAwIDAgMCA5LjguMWwxLjM1LjRhNi41MiA2LjUyIDAgMCAxLTEyLjQuMmwtLjc3IDEuMDYtMS4xMy0uODMgMS43MS0yLjMxLjI4LS4zOXptMTEuOTUuMjMtLjMzLjQzLS41LS4yMS4yOC0uNjV6TTkgMi41YTYuNSA2LjUgMCAwIDEgNi4xNyA0LjQ3bC43Ny0uOTkgMS4xLjg3LTEuNyAyLjE3LS41NS0uNDMtLjI3LjY1LTIuNTktMS4xMS41Ni0xLjI5IDEuMzYuNTlBNS4xIDUuMSAwIDAgMCA5IDMuOSA1LjEgNS4xIDAgMCAwIDQuMSA3LjUzbC0xLjM0LS40MUE2LjUgNi41IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sOTg5ODcyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjE2IDguNjUtLjE4LjY4emwyLjI0LjYxLS4zNyAxLjM1LTEuMTUtLjMxYTQuMzQgNC4zNCAwIDAgMCA4LjI3LS4wOGwxLjM0LjQxYTUuNzQgNS43NCAwIDAgMS0xMC44Ni4zNGwtLjU3Ljc3LTEuMTItLjgzIDEuNDgtMiAuMjgtLjM4ek05IDMuMmE1Ljc1IDUuNzUgMCAwIDEgNS4zOSAzLjc3bC41Ni0uNzIgMS4xLjg3TDE0LjU4IDlsLS4zNC40Mi0uNS0uMjEtMi4yMy0uOTYuNTUtMS4yOS45OS40MkE0LjM1IDQuMzUgMCAwIDAgOSA0LjZjLTEuOTQgMC0zLjYgMS4zLTQuMTQgMy4wOGwtMS4zNC0uNDFBNS43NSA1Ljc1IDAgMCAxIDkgMy4yIi8+PC9zdmc+J30sOTIwNDc1KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2RlZmF1bHQ6KCk9Pmx9KTtjb25zdCBzPWU9PmUgaW5zdGFuY2VvZiBEYXRlLG89ZT0+bnVsbCE9ZSYmIm9iamVjdCI9PXR5cGVvZiBlLGk9KGUsLi4udCk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLC4uLnQpLHI9ZT0+byhlKSYmKGU9PjA9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgpKGUpLG49KGUsdCk9PntpZihlPT09dClyZXR1cm57fTtpZighbyhlKXx8IW8odCkpcmV0dXJuIHQ7Y29uc3QgYT1PYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChlLGEpPT4oaSh0LGEpfHwoZVthXT12b2lkIDApLGUpKSxPYmplY3QuY3JlYXRlKG51bGwpKTtyZXR1cm4gcyhlKXx8cyh0KT9lLnZhbHVlT2YoKT09dC52YWx1ZU9mKCk/e306dDpPYmplY3Qua2V5cyh0KS5yZWR1Y2UoKChhLG8pPT57aWYoIWkoZSxvKSlyZXR1cm4gYVtvXT10W29dLGE7Y29uc3QgbD1uKGVbb10sdFtvXSk7cmV0dXJuIXIobCl8fHMobCl8fCFyKGVbb10pJiZyKHRbb10pPyhhW29dPWwsYSk6YX0pLGEpfSxsPW59fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23624.d2390d17b1509b018826.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.801Z","timestamp":1785124876801,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23624.d2390d17b1509b018826.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1547\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 84d28ff26cd64044a6bbab227cfb238b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5447,"size_decoded":2078,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5447), with no line terminators","md5":"2c33d31c563e23c31e00293508a0185a","sha1":"a5929dabb129340cfe8b787016b307911e1a3454","sha256":"4ce18d9026cee0619db0fe37daf10d2562a6a41648d0baaf2fbabedd6997ad8f","sha512":"f18b23e71681a5a8a3059d3ca0acc71b714119f95515c18cfb29123816bbf4e158126f7a947ff798c18080ee07ba20b1af9d063e587477bf46de561078ce9fc7","ssdeep":"96:DP5k+VoSKKEKgnKzKvKzKLKIKLKIKhK2nZjBCmVcKEKpVcKEKPK2XIKvmK2XIKv+:9kingKuiuWTWTw2ZXnrnCOtOTLK54WSS","tlshash":"ffb1df88e1cf773e2a3bb9295308e1dc97076780ea421be5bf61e25625cdbc651f5c08","first_seen":"2026-07-16T13:40:49.85665Z","last_seen":"2026-07-27T06:14:34.179845Z","times_seen":188,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQU1UbDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1BTVRsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5pdGVtLU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlcjowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgbm93cmFwO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctYmxvY2s6MnB4IDJweDtwYWRkaW5nLWlubGluZTo4cHggMTBweDt0cmFuc2l0aW9uLXByb3BlcnR5Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9Lml0ZW0tTWkwX3Q1dU4uaG92ZXJlZC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1TjphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Tjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLU1pMF90NXVOLmhvdmVyZWQtTWkwX3Q1dU57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tTWkwX3Q1dU57b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tTWkwX3Q1dU46Zm9jdXN7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlIC0gNHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6MnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpO3otaW5kZXg6MX0uaXRlbS1NaTBfdDV1Tjpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaXRlbS1NaTBfdDV1Tjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uaXRlbS1NaTBfdDV1TjphZnRlcntib3JkZXItcmFkaXVzOjlweH0uaXRlbS1NaTBfdDV1TjphZnRlcixodG1sLnRoZW1lLWRhcmsgLml0ZW0tTWkwX3Q1dU46YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSl9Lml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi41fS5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0uaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmUgLnNob3J0Y3V0LU1pMF90NXVOe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlciAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNBY3RpdmUtTWkwX3Q1dU46YWN0aXZlIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmhvdmVyIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOOmJlZm9yZXtjb250ZW50OiIgIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4fS53aXRoSWNvbi1NaTBfdDV1TntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy10b3A6NnB4fS5yb3VuZC1pY29uLU1pMF90NXVOe2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0uaWNvbi1NaTBfdDV1Tiwuc3RhcnRTbG90LU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHh9Lmljb24tTWkwX3Q1dU4gc3Zne2Rpc3BsYXk6YmxvY2t9LmxhYmVsUm93LU1pMF90NXVOe2FsaWduLWl0ZW1zOmJhc2VsaW5lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleDowIDEgMTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZy1pbmxpbmUtZW5kOjEycHh9LmxhYmVsUm93LU1pMF90NXVOOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWxSb3ctTWkwX3Q1dU46bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6NHB4fS5sYWJlbC1NaTBfdDV1TntkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNob3J0Y3V0LU1pMF90NXVOe2ZvbnQtc2l6ZToxMnB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjU4cHg7dGV4dC1hbGlnbjplbmR9Lml0ZW0tTWkwX3Q1dU4uaXRlbS1NaTBfdDV1Tjpub3QoLmlzQWN0aXZlLU1pMF90NXVOKSAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0uaXRlbS1NaTBfdDV1Ti5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1Tntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dCx2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKSl9LnRvb2xib3gtTWkwX3Q1dU57YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5mZWF0dXJlLW5vLXRvdWNoIC50b29sYm94LU1pMF90NXVOLnNob3dPbkhvdmVyLU1pMF90NXVOe29wYWNpdHk6MH0udG9vbGJveC1NaTBfdDV1Tj46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey50b29sYm94LU1pMF90NXVOPjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjhweH19LmRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nby1NaTBfdDV1TntmbGV4LXNocmluazowO21hcmdpbi1pbmxpbmUtZW5kOjZweH0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1Tjpmb2N1cy12aXNpYmxlIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZlYXR1cmUtbm8tdG91Y2ggLml0ZW0tTWkwX3Q1dU46aG92ZXIgLnRvb2xib3gtTWkwX3Q1dU4uc2hvd09uSG92ZXItTWkwX3Q1dU57b3BhY2l0eToxfX0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1TjpoYXMoOmZvY3VzLXZpc2libGUpIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49588.15426b22279561d9880b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.184Z","timestamp":1785124877184,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49588.15426b22279561d9880b.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-9ba\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ffa08e0ca3ab8500d4bc4bcd64fe7ac5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2490,"size_decoded":1657,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2490), with no line terminators","md5":"b69ac6c5f50f6be0b66598710cd79bfa","sha1":"06e06ad04e9ed372adce0da403a670e156ecc407","sha256":"f88f6ab92a6609bff0df47d38410097a31ee5b168fb2fb09b25bea1a75f04506","sha512":"7b07fcb434379fefb26f9ab3742cc2c9b4af1c86b23e59c90a6bc7032dc0c479614578a20a1440b5c43c345f0288fb12f043ee60ce233842e1e8072147ad9743","ssdeep":"","tlshash":"50512156a2e02dba7f63b55256d8f64c91b1d870f80328ee7751aedd02c66fb0070b1d","first_seen":"2026-07-19T21:33:33.790193Z","last_seen":"2026-07-27T06:24:31.721305Z","times_seen":25,"resource_available":false,"data":"LmZsb2F0aW5nQXJyb3ctYzFPc0hQdFl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApKTtjbGlwLXBhdGg6cGF0aCgiTSAwLDIgTCAxMiwyIEwgMTIsNiBMIDYsMTAgTCAwLDYgTCAwLDIiKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTJweH0uYm90dG9tLWMxT3NIUHRZLC5ib3R0b20tbGVmdC1jMU9zSFB0WSwuYm90dG9tLXJpZ2h0LWMxT3NIUHRZLC50b3AtYzFPc0hQdFksLnRvcC1sZWZ0LWMxT3NIUHRZLC50b3AtcmlnaHQtYzFPc0hQdFl7bGVmdDp2YXIoLS11aS1saWItaW4tdG9vbHRpcC1sZWZ0T2Zmc2V0LGNhbGMoNTAlIC0gNnB4KSl9LmJvdHRvbS1jMU9zSFB0WSwuYm90dG9tLWxlZnQtYzFPc0hQdFksLmJvdHRvbS1yaWdodC1jMU9zSFB0WXtib3R0b206Y2FsYygxMDAlIC0gNnB4KTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvcC1jMU9zSFB0WSwudG9wLWxlZnQtYzFPc0hQdFksLnRvcC1yaWdodC1jMU9zSFB0WXt0b3A6Y2FsYygxMDAlIC0gNnB4KX0ubGVmdC1ib3R0b20tYzFPc0hQdFksLmxlZnQtYzFPc0hQdFksLmxlZnQtdG9wLWMxT3NIUHRZLC5yaWdodC1ib3R0b20tYzFPc0hQdFksLnJpZ2h0LWMxT3NIUHRZLC5yaWdodC10b3AtYzFPc0hQdFl7dG9wOnZhcigtLXVpLWxpYi1pbi10b29sdGlwLXRvcE9mZnNldCxjYWxjKDUwJSAtIDZweCkpfS5sZWZ0LWJvdHRvbS1jMU9zSFB0WSwubGVmdC1jMU9zSFB0WSwubGVmdC10b3AtYzFPc0hQdFl7bGVmdDpjYWxjKDEwMCUgLSA2cHgpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0ucmlnaHQtYm90dG9tLWMxT3NIUHRZLC5yaWdodC1jMU9zSFB0WSwucmlnaHQtdG9wLWMxT3NIUHRZe3JpZ2h0OmNhbGMoMTAwJSAtIDZweCk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmVuZFNsb3RXcmFwcGVyLUh5TmpIU0RXe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtkaXNwbGF5OmZsZXg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4fS5kaXZpZGVyLUh5TmpIU0RXey0tdWktbGliLWRpdmlkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCl9LmVuZFNsb3RDb250ZW50LUh5TmpIU0RXe3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udG9vbHRpcEJhc2VXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMHZ3O21pbi13aWR0aDowO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnRyYW5zcGFyZW50LUh5TmpIU0RXe29wYWNpdHk6MH0ub3BhcXVlLUh5TmpIU0RXe29wYWNpdHk6MX0uZGlzYWJsZUludGVyYWN0aXZlLUh5TmpIU0RXe3BvaW50ZXItZXZlbnRzOm5vbmV9LnRvb2x0aXBCYXNlLUh5TmpIU0RXe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItdG9vbHRpcC1ib3JkZXItcmFkaXVzLDRweCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7cGFkZGluZzo2cHggOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmNvbnRlbnRXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6ZmxleH0uY29udGVudC1IeU5qSFNEV3tib3gtc2l6aW5nOmJvcmRlci1ib3g7bWF4LXdpZHRoOjQwMHB4fS50b29sdGlwU3RhdGVsZXNzLWt3czVxZWRXey0tdWktbGliLWluLXRvb2x0aXAtbGVmdE9mZnNldDpjbGFtcCg4cHgsY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WCkqdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSA2cHgpLGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSAyMHB4KSk7LS11aS1saWItaW4tdG9vbHRpcC10b3BPZmZzZXQ6Y2xhbXAoNnB4LGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFkpKnZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50SGVpZ2h0KSAtIDZweCksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudEhlaWdodCkgLSAxOHB4KSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/slider.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.510Z","timestamp":1785124875510,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/slider.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 90876\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-162fc\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":90876,"size_decoded":91103,"mime_type":"image/png","magic":"PNG image data, 1500 x 600, 8-bit colormap, non-interlaced","md5":"a15ffd4132778b6c22e4c493d2ea4b44","sha1":"489d11af7bc5b1642c717681c3bee5d007ae8fbb","sha256":"0c52b75f0ae3394695867f6c02c4fc062b1e17718f2108f9d5adb2a13d2ecc67","sha512":"0e0a65a8b272cefdcd261cb21c74b7a797fd936b7e433556f697f9625bf791a02e10c61052b9a81f2979685505dfedb5702bda5d609b550fe25958527f545549","ssdeep":"1536:DbY9ysykvEFoHvMnS+WX1NyIhhAEa6Emw82JoZMyiL5xR43Rm/Q8E:4+Fmv8S+WX1oI7hJw82Jxycf4Y/a","tlshash":"4c93121cbe9b2812d4a236413dac764d6dd012ad51abcecdc0145b6e72f3d92bd3c5a8","first_seen":"2026-07-19T12:02:39.436199Z","last_seen":"2026-07-27T04:03:29.956543Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/pay2.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.262Z","timestamp":1785124875262,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/pay2.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 6402\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-1902\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":6402,"size_decoded":6627,"mime_type":"image/png","magic":"PNG image data, 166 x 51, 8-bit/color RGBA, non-interlaced","md5":"c6beaca271a1f0051d368cea207c8bf2","sha1":"b5280c666bf19723360e97b871b352c28bf55fc8","sha256":"e551240454c4455db551797bda43772fed171cd971b933e9a2916a1283eb532e","sha512":"5f3202758fd085ae483b9bd02078aae4354965b48f8808d0d20375cb88538b318d6e9b2e5dd4d05c0b58b226fc8b301cb4f520efe4e437e45add1c36cc49e42f","ssdeep":"96:W2QlztCiMJs9JP8ctjKNQk7t+f9tB3lNy0wOM+eZMlm7DyRYi2IMY2vHFtmx:SlztoJ8I2k7ANWb+UcYi2I72ttmx","tlshash":"01d18d49f4219bd8b119a0c244fb217bbf215a7095d8ed56687b803b8ca252d4df07ce","first_seen":"2025-02-21T02:45:33.057854Z","last_seen":"2026-07-27T04:03:30.041109Z","times_seen":7,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKYAAAAzCAYAAAAdI3OHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkxNzQzMDZBRDY5ODExRTg5QURDQzdBOENFOUIwNTA2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkxNzQzMDZCRDY5ODExRTg5QURDQzdBOENFOUIwNTA2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTE3NDMwNjhENjk4MTFFODlBRENDN0E4Q0U5QjA1MDYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTE3NDMwNjlENjk4MTFFODlBRENDN0E4Q0U5QjA1MDYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4E5wi+AAAVcklEQVR42uzdBawd1bcG8GkLf7S4uxQt7q4t7u5QIEgKPCQQKBTXQHgQ5AFBAimuDQQIFIq7u7t7abEiff3tvK8Zzjv39ra0pUnPTibndM7MnrXX/ta3ZO+57VT9XzvppJM27dGjxyFdu3ZdvkuXLlNWrdZq46j9+eefQwYPHvz0wIEDz+7Tp88dI37o16/fyT///POwVmu1f7PB4LXXXnsyTHbBlL169fqfySefvGW6rfavtoknnriaf/7515h00kmf68x9TzHFFC2ttNp40SabbLIKJjtPPfXUy7fU0WrjU4PJzv/5z39aiU6rjVcNJju31NBq42ObaGx2/tdff1VffPFF9e6771ZvvfVW9emnn1Y//PBD9dtvv1VdunQp8cQss8xSzTnnnNUiiyxSzTXXXFXXrl1bs9JqVad33nln2PBMaIx2Ojztr55++unq3nvvLYCcZJJJqmmmmaYcwDg866r++OOP6tdff60GDx5cff/999WPP/5YfltppZWqnj17Vt26dWvNzgTaENkYZUxge+ihh6rrrruu+umnn6p555232mSTTQojTj/99AV4SgKdO3euhg0bprBa2BM4w6wvvPBCAfSKK65Y7bjjjoVFW63FmKPdPvvss+riiy8uDNm9e/dq2WWXLcAcnmEJZkccXHiAydX//vvvBZxDhw4tDPrVV19Vr7zySvXEE09UX3/9dbXnnntWG264Ybmv1VqMOUoNkE455ZRqxhlnrLbeeutqiSWWKG6by1YjBUKx5SeffFI+f/nllwK0KaecsjCpQ2wJpK6fddZZq0UXXbSw7+WXX1698cYb1f7771+16q2t5KfD7bnnnqtOPvnkavHFFy+xIfYFSMDkojEfFh00aFBx9TkwJKbs1KlTNffcc1cLLLBA+eS6rUJx+dNNN10B6V133VWdcMIJVd++fTuUHPXv378kVdqXX35ZbbbZZq2ZnpCA+eKLL1annnpqcdsbbbRRNdtssxXgTDTRRNWjjz5avfbaa8VtA9q0005b2DKxpYQIeABRDIpBP/roo+rtt98ujDv77LOXc6uvvnq5/5ZbbqlOP/306vjjjy+gba8B4xprrFGeMzxUGXH+22+/rZ566qnC2ORYfvnlWzFsQ3v11Verjz/+uJCHuVxllVVGqu/xCpgyaUART4oBAQn4ZNf33HNPiR9Nuk9Z+mOPPVY+k/xgVYzKTc8x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"}},"time_used":82,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":62,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12385.78561ebdef05ce648b5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.679Z","timestamp":1785124876679,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12385.78561ebdef05ce648b5d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d425\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3f7061e3a6e81dce1dd0ba1624b90f7e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54309,"size_decoded":5303,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (54309), with no line terminators","md5":"0c88f4a2822b7956fa6a494b66642d6b","sha1":"3d02fd6fb3670db4645274f9d9261007de2c2d4c","sha256":"34608d65050c9883ea16820ce35863032278a925ad8eb001a2b5fa65240fa0a6","sha512":"a3b3660c9b9d810cf9ca78bf392ecc0623bb244d94a7f4d7cabf1f8a56e4e640197527938f544c0d403050bd175789df4437808eec5503b5a7b07cc1a0b401b1","ssdeep":"768:DhiEt1AI8s3XbXbfLAP5xsxF6I00xXxrO/:Dhr8s3XbXbfLAP5xsxF6I00xXxrO/","tlshash":"063358abb6a1a7797b52637e5319f375b380ed7ae4733de3f050402410c69a704caa72","first_seen":"2026-07-16T13:40:49.677399Z","last_seen":"2026-07-27T06:14:34.21213Z","times_seen":280,"resource_available":false,"data":"LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYmcsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXIpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO21pbi13aWR0aDo0MHB4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1c3tvdXRsaW5lOm5vbmV9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ubGlnaHRCdXR0b24ta2pSZlRsZngubGluay1ralJmVGxmeHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubGlnaHRCdXR0b24ta2pSZlRsZngubHRyLWtqUmZUbGZ4e2RpcmVjdGlvbjpsdHJ9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnJ0bC1ralJmVGxmeHtkaXJlY3Rpb246cnRsfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4LC5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZnh7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCwubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250ZW50LWtqUmZUbGZ4e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXgtd2lkdGg6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogOTk5OXB4ICsgbWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApKSAqIDBweCl9LnZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbn0ubm93cmFwLWtqUmZUbGZ4e2FsaWduLXNlbGY6YXV0bztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS5lbGxpcHNpc0NvbnRhaW5lci1ralJmVGxmeHtkaXNwbGF5OmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeHttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykqdmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKTtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7dGV4dC1hbGlnbjpzdGFydDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4e2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbnRlbnQtbWF4LWxpbmVzKTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21heC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCkqdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykpfS5zbG90LWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uY2FyZXQta2pSZlRsZngsLnNsb3Qta2pSZlRsZng+c3Bhbltyb2xlPWltZ117ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowfS5jYXJldC1ralJmVGxmeHttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHg7bWluLWhlaWdodDoxOHB4O21pbi13aWR0aDoxOHB4fS5hY3RpdmVDYXJldC1ralJmVGxmeHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmFjdGl2ZUNhcmV0LWtqUmZUbGZ4OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmNhcmV0LWtqUmZUbGZ4Om5vdCg6bGFzdC1jaGlsZCksLmNvbnRlbnQta2pSZlRsZng6bm90KDpsYXN0LWNoaWxkKSwuc2xvdC1ralJmVGxmeDpub3QoOmxhc3QtY2hpbGQpey0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXJnaW4taW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiA0cHggKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ueHNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS54c21hbGwta2pSZlRsZng6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS54c21hbGwta2pSZlRsZngud2l0aFN0YXJ0U2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDo3cHh9LnhzbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS54c21hbGwta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjRweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ueHNtYWxsLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoyOHB4fS54c21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS5zbWFsbC1ralJmVGxmeDphZnRlcntib3JkZXItcmFkaXVzOjEwcHh9LnNtYWxsLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC5ub0NvbnRlbnQta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MnB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoycHg7cGFkZGluZy1pbmxpbmUtZW5kOm1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksMnB4KTtwYWRkaW5nLWlubGluZS1zdGFydDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwycHgpfS5zbWFsbC1ralJmVGxmeC53cmFwLWtqUmZUbGZ4e2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MzRweH0uc21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9Lm1lZGl1bS1ralJmVGxmeHtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6NDBweDttaW4td2lkdGg6NDBweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLXN0YXJ0LWRlZmF1bHQ6MDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1ibG9jay1lbmQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTtwYWRkaW5nLWJsb2NrLWVuZDowO3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogbWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCwgdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ubWVkaXVtLWtqUmZUbGZ4OmFmdGVye2JvcmRlci1yYWRpdXM6MTJweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MTFweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhFbmRTbG90LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxMXB4fS5tZWRpdW0ta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjVweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NXB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ubWVkaXVtLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo0MHB4fS5tZWRpdW0ta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9fS5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWjphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpfS5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpfX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX19LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKX19fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcil9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCl9Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9fX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89558.981a34b19b41fad92b88.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.841Z","timestamp":1785124876841,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89558.981a34b19b41fad92b88.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b76-c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:26 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 13de1fca42faf50813cfd75c0e653c67\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":195,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"410a8b9d87cc2ecdb1762f6faf3cc95a","sha1":"6fa79aed8ba671c381c159a6cf58ecd4afaddd28","sha256":"6c42b7faa9d27cd5c4519b25964d772df0a712b26fad344745281fbae47e5f37","sha512":"b423d86dd53668cab2b9d0e14f3f341f1ecfaf51807bef6e904ae841cb69e6389178811eaeeac75cf57bf6a1c261318322a7886855a12a5c5fd11906a1ec09ff","ssdeep":"","tlshash":"78d012fa0423ae153a337e2b4a6d674246c5cad3c1065add8e203a7557cf99208d06d6","first_seen":"2024-11-30T11:35:58.666665Z","last_seen":"2026-07-27T06:24:31.818803Z","times_seen":1069,"resource_available":false,"data":"LmVtb2ppLUJzRVJHY1oxe2Rpc3BsYXk6YmxvY2t9LmNsZWFyQnV0dG9uLUJzRVJHY1oxe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5jbGVhckJ1dHRvbi1Cc0VSR2NaMSwuZW1vamktQnNFUkdjWjF7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://pushstream.tradingview.com/message-pipe-ws/public","fqdn":"pushstream.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.208","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.154Z","timestamp":1785124877154,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /message-pipe-ws/public HTTP/1.1\r\nHost: pushstream.tradingview.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-WebSocket-Version: 13\r\nOrigin: https://s.tradingview.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: qI6bgbeRAJ5qkAmNBFE6ng==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: same-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nExpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nCache-Control: no-cache, no-store, must-revalidate\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: oAtvHVqA3eEhAUWggbutSKAVUaU=\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":221,"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-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":""}},"time_used":210,"timings":{"blocked":-1,"dns":69,"connect":89,"send":0,"wait":24,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/33515.85004481e4ae6624a985.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.193Z","timestamp":1785124877193,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/33515.85004481e4ae6624a985.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b01ca7bcefc4efc7a965f264e60d04c3\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":580,"size_decoded":1060,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (580), with no line terminators","md5":"5241d2a5bfe86e6cd8fd6dcb5e2ed696","sha1":"442dcf527ccbe2043768a278bbb8057d5f7cd091","sha256":"07939c04dbd8bdba86c89a76e4a69061cd4ebae6d60b819991cd2b8c1fe37221","sha512":"11bef8137565b1ddd5747cb80db211dc83494e6a8daaeb1f4ee0db1fb1c66425576cadcaf31ffe012cb339a4910f2561bb428f9b2dbc6a469c0efebe0112e081","ssdeep":"","tlshash":"4ff02897832433424ab7993ccc9b577b113080a34684958ca250ef69ff4e7c9436c090","first_seen":"2026-02-24T21:05:06.369247Z","last_seen":"2026-07-27T06:14:34.200831Z","times_seen":416,"resource_available":false,"data":"LmNvbnRhaW5lci1UdjdMU2pVentjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowfS5vdmVybGF5U2Nyb2xsV3JhcC1UdjdMU2pVentib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7ei1pbmRleDoxMH0ud3JhcHBlci1UdjdMU2pVenttYXgtaGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey53cmFwcGVyLVR2N0xTalV6e3Njcm9sbGJhci13aWR0aDpub25lfX0ud3JhcHBlci1UdjdMU2pVei5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LndyYXBwZXItVHY3TFNqVXo6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS53cmFwcGVyLVR2N0xTalV6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwud3JhcHBlci1UdjdMU2pVejo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS53cmFwcGVyLVR2N0xTalV6Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8216.d7f21fe2489ddfcbc418.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.234Z","timestamp":1785124877234,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8216.d7f21fe2489ddfcbc418.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-2e2e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cc034a25f89400f29f8fdafd3aa595d3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11822,"size_decoded":2763,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (11822), with no line terminators","md5":"1fdeb41f768794038a28c7628ca90e9f","sha1":"36599ccd34abd18e9f19824d9d72b2bbfc753697","sha256":"9b8360f9b29d78c9e01119d5d5fe05911ec10b1555c2ffb67f6f0cbca63ef8ff","sha512":"22c6a794b0c0d7a958e7b6241c53f9627cf1932e72e4dcd2d2df02fb33c6b41cdc44feb0a657b50b274dbf19a3b6846bcbcc71c044c955f54aa02bbbbeac3f13","ssdeep":"192:qHyIJSg54lB+dOHyIJSg54lB+dM3JcULKVXg+eDzogMWtR:qHegKXHegKjZ+6zJtR","tlshash":"c832b0b5e2c168a62a1f54bf03bfd35ad218f7437b6443a57e52980ef1c6be0658f102","first_seen":"2026-07-24T15:28:44.966723Z","last_seen":"2026-07-27T06:24:31.741959Z","times_seen":18,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNC01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV81LTV5QUk6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTIwMCk7LS1fNi01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNy01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fOC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLV85LTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTAtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xMy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE2LTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTctNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTgtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMTktNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMC01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjEtNXlBSTp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIyLTV5QUk6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzIzLTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjQtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8yOS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMwLTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzEtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzItNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzMtNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzUtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8zNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8zOC01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzM5LTV5QUk6dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fMi01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLTV5QUk6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzQtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV81LTV5QUk6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTIwMCk7LS1fNi01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNy01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fOC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLV85LTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTAtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xMy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE2LTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTctNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTgtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMTktNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMC01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjEtNXlBSTp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIyLTV5QUk6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzIzLTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjQtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8yOS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMwLTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzEtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzItNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzMtNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzUtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8zNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8zOC01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzM5LTV5QUk6dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApfS5idWJibGUtQVU5aE93RXN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXg6bm9uZTttYXgtd2lkdGg6MTAwJTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYnViYmxlLUFVOWhPd0VzOmZvY3Vze291dGxpbmU6bm9uZX0uYnViYmxlLUFVOWhPd0VzOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5idWJibGUtQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyAxMHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNXB4O3dpZHRoOmNhbGMoMTAwJSArIDEwcHgpO3otaW5kZXg6MX0uYnViYmxlLUFVOWhPd0VzOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1YmJsZS1BVTloT3dFczpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1YmJsZS1BVTloT3dFczpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnViYmxlLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpfS5idWJibGUtQVU5aE93RXMuYW5pbWF0ZWQtQVU5aE93RXM6YWZ0ZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCx2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0IC4yczt2aXNpYmlsaXR5OmhpZGRlbn0uYnViYmxlLUFVOWhPd0VzLmFuaW1hdGVkLUFVOWhPd0VzOmZvY3VzOmFmdGVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O3Zpc2liaWxpdHk6dmlzaWJsZX0uYnViYmxlLUFVOWhPd0VzLmFuaW1hdGVkLUFVOWhPd0VzOmZvY3VzLXZpc2libGU6YWZ0ZXJ7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7dmlzaWJpbGl0eTp2aXNpYmxlfS5idWJibGUtQVU5aE93RXMuYW5pbWF0ZWQtQVU5aE93RXM6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCx2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0IC4yczt2aXNpYmlsaXR5OmhpZGRlbn0uYnViYmxlLUFVOWhPd0VzIC5jb250ZW50LUFVOWhPd0Vze292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLTV5QUkpO2JvcmRlci1jb2xvcjp2YXIoLS1fMC01eUFJKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLTV5QUkpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Y29sb3I6dmFyKC0tXzItNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyYXktQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy01eUFJKTtib3JkZXItY29sb3I6dmFyKC0tXzMtNXlBSSk7Y29sb3I6dmFyKC0tXzQtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zMy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yMC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmJsdWUtQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzQtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ibHVlLUFVOWhPd0VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIyLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuZ3JlZW4tQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzUtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ncmVlbi1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yNC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zNi01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yNi01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnB1cnBsZS1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zNy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnB1cnBsZS1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yOC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzgtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5jeWFuLUFVOWhPd0VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMwLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMucGluay1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zOS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzItNXlBSSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5yZWQtQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzIwLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuYmx1ZS1BVTloT3dFc3tib3JkZXItY29sb3I6dmFyKC0tXzM0LTV5QUkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuYmx1ZS1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzIyLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuZ3JlZW4tQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyZWVuLUFVOWhPd0VzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMjQtNXlBSSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5vcmFuZ2UtQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNi01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzI2LTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMucHVycGxlLUFVOWhPd0Vze2JvcmRlci1jb2xvcjp2YXIoLS1fMzctNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5wdXJwbGUtQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yOC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zOC01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zOS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMi01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzMzLTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ibHVlLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzQtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyZWVuLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzUtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzM2LTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5wdXJwbGUtQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNy01eUFJKX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuY3lhbi1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzM4LTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5waW5rLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzktNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLXRleHQtQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1jb2xvcjojMDAwMDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFc3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0uYnViYmxlLUFVOWhPd0VzLmZvbnRTaXplLXMtQVU5aE93RXN7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyMXB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHh9LmJ1YmJsZS1BVTloT3dFcy5mb250U2l6ZS1tLUFVOWhPd0VzLC5idWJibGUtQVU5aE93RXMuZm9udFNpemUtcy1BVTloT3dFc3tmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5idWJibGUtQVU5aE93RXMuZm9udFNpemUtbS1BVTloT3dFc3stLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweH0uYnViYmxlLUFVOWhPd0VzLnNpemUtbS1BVTloT3dFc3tib3JkZXItcmFkaXVzOjE0cHg7aGVpZ2h0OjI4cHg7cGFkZGluZzowIDExcHh9LmJ1YmJsZS1BVTloT3dFcy5zaXplLW0tQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxOHB4fS5idWJibGUtQVU5aE93RXMuc2l6ZS1sLUFVOWhPd0Vze2JvcmRlci1yYWRpdXM6MjRweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjNweH0uYnViYmxlLUFVOWhPd0VzLnNpemUtbC1BVTloT3dFczphZnRlcntib3JkZXItcmFkaXVzOjI4cHh9LmJ1YmJsZXMtZFJBc1hWdmF7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDEycHg7cGFkZGluZy1pbmxpbmU6MjBweCAyMHB4Oy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5idWJibGVzLWRSQXNYVnZhe3Njcm9sbGJhci13aWR0aDpub25lfX0uYnViYmxlcy1kUkFzWFZ2YS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LmJ1YmJsZXMtZFJBc1hWdmE6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5idWJibGVzLWRSQXNYVnZhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYnViYmxlcy1kUkFzWFZ2YTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5idWJibGVzLWRSQXNYVnZhOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5idWJibGVzLWRSQXNYVnZhLm11bHRpTGluZS1kUkFzWFZ2YXtmbGV4LWZsb3c6d3JhcH0uYnViYmxlcy1kUkFzWFZ2YSAuYnViYmxlLWRSQXNYVnZhe2N1cnNvcjpkZWZhdWx0O21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOjAgOHB4fS5idWJibGVzLWRSQXNYVnZhIC5idWJibGUtZFJBc1hWdmE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5idWJibGVzLWRSQXNYVnZhOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87d2lkdGg6MjBweH0uaWNvbldyYXAtR2N6cTNhTFl7ZGlzcGxheTpmbGV4fS5zZldhcm5pbmdJY29uLUdjenEzYUxZe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2Rpc3BsYXk6ZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0uY29udGFpbmVyLVpVVzZicFIwe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ibG9jazo2cHggMDtwYWRkaW5nLWlubGluZToyMHB4IDM4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5zeW1ib2xMaXN0LVJveWpBbVI0e21heC13aWR0aDoxODBweH0uZGlhbG9nLWlpcWhEY2Nze3dpZHRoOjEwMCV9LnRhYmxldERpYWxvZy1paXFoRGNjc3toZWlnaHQ6NTYycHg7bWF4LXdpZHRoOjU2MHB4fS5kZXNrdG9wRGlhbG9nLWlpcWhEY2Nze2hlaWdodDo2ODBweDttYXgtd2lkdGg6ODQwcHg7bWluLXdpZHRoOjcxOXB4O3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kZXNrdG9wRGlhbG9nLWlpcWhEY2Nze21heC13aWR0aDo2NDBweDttaW4td2lkdGg6NDgwcHh9fUBtZWRpYSAobWF4LXdpZHRoOjUxOXB4KXsuZGVza3RvcERpYWxvZy1paXFoRGNjc3ttYXgtd2lkdGg6NDc5cHg7bWluLXdpZHRoOjM4MHB4fX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.117.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{93304bae-f057-43b1-9bbb-3738a69bca01}?https://berthenergy-inc.biz","date":"2026-07-27T04:01:17.676Z","timestamp":1785124877676,"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://berthenergy-inc.biz/\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\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncross-origin-resource-policy: cross-origin\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 04:01:17 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=dugPWh-RoecfBog-RiUraxcKDdB0I3HEJcw0Q_G2OrIfebIo2SpZsDFqRjTISwHwoWS0mW5t1_lRt6l9zz_9qaS6DCBwPOZfJ_lKSQEuiEhkSRp-45PnBuoW8izzOVCwaqMTWuUgQ1-OAd5hAgu7I14y5fifM2E8cRnf-_8WyMHx3ldRi9OmjTjsVir4pzoXvhdXUiYOngvgbn_blnfDfhGpa288MdFteg; expires=Tue, 26-Jan-2027 04:01:17 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 04:01:17 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":3504,"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-27T06:15:18.687726Z","times_seen":6514,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":60,"timings":{"blocked":0,"dns":2,"connect":8,"send":0,"wait":26,"receive":0,"ssl":23},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.486Z","timestamp":1785124875486,"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":"tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Fri, 12 Dec 2025 00:00:00 GMT","end":"Sun, 10 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"93:7A:32:54:9B:07:78:A4:C2:12:01:FE:F8:01:86:4E:F4:B0:E5:88","sha256":"DC:6B:BC:C2:10:66:1A:99:2E:BE:17:BD:A9:27:49:E3:D8:CA:EB:13:B6:95:9C:BF:68:76:22:17:62:D1:05:57"}}},"request":{"raw":"GET /widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en HTTP/1.1\r\nHost: s.tradingview.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://berthenergy-inc.biz/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\nserver: tv\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nexpires: Mon, 27 Jul 2026 04:03:15 GMT\r\ncache-control: max-age=120\r\ncontent-security-policy: object-src 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-1m0B43eyUrr/MDU7eOu3fA=='; base-uri 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\ncontent-encoding: gzip\r\nvary: Accept-Encoding,Accept-Encoding\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 b78539d5f13f3162976a6abc8783d3de.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: i8Ja2vHpmHEIsRGXLRRciopqGPylOw1BB_jgGMVBkaz71WrfWSKuVg==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"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":76547,"size_decoded":18277,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17728)","md5":"1600c8e06a30ad4949bbc6354c2117fc","sha1":"50b1af4577072fadd8f3556a79f783227215ad1b","sha256":"580b60e65c4590b00d8ba280699254bdbba08dd272fea9601c82fa6ba47777a9","sha512":"47ad224dac98c84e0ecf6b891bf9ea61b624fd62d8b081e8683124a0fb761cd75c25fa79256e8930a6f91fc49b67944378e6293f3c3b92cd420d3f3f4f97b992","ssdeep":"1536:V8DCteAQTe8NzMob3e9c/1f2Nogdf3U47NogdfWn+66ceuvRMi:V8DCteAQTe8NzMob3e9c/1f2NlhNlfWd","tlshash":"7073f757d80d8705d9968a157c33b202fd29036c859268947aecdcec149bec3f19bbbe","first_seen":"2026-07-27T04:02:11.173459Z","last_seen":"2026-07-27T04:03:29.950296Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBDaGFydCBXaWRnZXQ8L3RpdGxlPgoKCjxsaW5rCglyZWw9ImNvbnZlcnNpb25zLWNvbmZpZyBwcmVmZXRjaCIKYXM9ImZldGNoIiBjcm9zc29yaWdpbglocmVmPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9jb252ZXJzaW9uc19lbi5qc29uIgo+CjxsaW5rCglyZWw9Im1ldHJpY3MtY29uZmlnIHByZWZldGNoIgphcz0iZmV0Y2giCWhyZWY9Imh0dHBzOi8vc2Nhbm5lci1iYWNrZW5kLnRyYWRpbmd2aWV3LmNvbS9lbnVtL29yZGVyZWQ/aWQ9bWV0cmljc19mdWxsX25hbWUsbWV0cmljcyZsYW5nPWVuJmxhYmVsLXByb2R1Y3Q9eXRtLW1ldHJpY3MtcGxhbi5qc29uIgoJY3Jvc3NvcmlnaW4KPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMTgzNy5kMzY4Y2FhNjRkNDk0YTQwODdjYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzExNDA5LmZmODRjZTRkNTIzZDM1NDBjN2IyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg4OTA2LjBkNjUwNDY5YzljODQzNTc3YjQ3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzODA5LmMyYmIxNjIzY2VkNzdhZDA3ZjljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg1NTEwLmRlODYyZjlkMjZkYjdjZjNjZDA4LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMzNzM1LjJjYjg0NGFkMmIwZjNjODkyMTYyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0iMW0wQjQzZXlVcnIvTURVN2VPdTNmQT09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSIxbTBCNDNleVVyci9NRFU3ZU91M2ZBPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNjIzNTEuYjM4MmRhMTc0ZjA5N2EwZDBlNDMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NjI1OC4yODJlNjE0MWZjMDJhYzg1ZDBkNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTM2MjcuMTE1MTk1YjcyZjJkOTJjZWNiOWIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDkxMS5mYTYxZDJhMjc0ZDQyMjQ0MzRjYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDgyNS44YTkwYzBjM2ViZDQxM2ViOWM4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY5MzQuOTBlZGZlZjZjZTk4MzY5YWUwNGEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk1MjQ0LjlkYTg4OWMxMzZkMjUwNmEzZDgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTM0MjYuMDA4M2QxNjNkNzI4YmZmNzg0ZDkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYzMTYwLjJhM2EyMTE4NWZiY2M3MDc5ZGFlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTk0NjUuOGU5YzA2Yjc2YzlkNTBiYzI0MmIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2FkdmFuY2VkX2NoYXJ0LjZkMDdlNGZkOGUzZjI3ODVjZjI1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi42MjM1MS5iMzgyZGExNzRmMDk3YTBkMGU0My5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MzYyNy4xMTUxOTViNzJmMmQ5MmNlY2I5Yi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDQ5MTEuZmE2MWQyYTI3NGQ0MjI0NDM0Y2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM0LjkwZWRmZWY2Y2U5ODM2OWFlMDRhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTUyNDQuOWRhODg5YzEzNmQyNTA2YTNkODEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzkzNDI2LjAwODNkMTYzZDcyOGJmZjc4NGQ5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjMxNjAuMmEzYTIxMTg1ZmJjYzcwNzlkYWUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU5NDY1LjhlOWMwNmI3NmM5ZDUwYmMyNDJiLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfYWR2YW5jZWRfY2hhcnQuNmQwN2U0ZmQ4ZTNmMjc4NWNmMjUuanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IjFtMEI0M2V5VXJyL01EVTdlT3UzZkE9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMywiY2hhcnRfYXV0b3NhdmVfNW1pbiI6MS4wLCJjaGFydF9hdXRvc2F2ZV8zMG1pbiI6MS4wLCJwZXJmb3JtYW5jZV90ZXN0X21vZGUiOjEuMCwiY2hlY2tfYXV0aF90b2tlbl9leHBpcmF0aW9uX29uX2V2ZXJ5X3JlcXVlc3QiOjEuMCwiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiI6MS4wLCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyI6MS4wLCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIjoxLjAsInJlbW92ZV9hbmNob3JlZF90ZXh0IjoxLjAsImVuYWJsZV9zdGVwX2J5X3N0ZXBfaGludHNfZm9yX2RyYXdpbmdzIjoxLjAsInB1c2hzdHJlYW1fYmFzaWNfdGVsZW1ldHJ5IjoxLjAsImFsbG93X2JyYWNrZXRzX3Byb2ZpdF9sb3NzIjoxLjAsImVuYWJsZV90cmFkZWRfY29udGV4dF9saW5raW5nIjoxLjAsIm9yZGVyX2NvbnRleHRfdmFsaWRhdGlvbl9pbl9pbnN0YW50X21vZGUiOjEuMCwiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiOjEuMCwiYWxlcnRzLW5vdGlmaWNhdGlvbi1zY2hlZHVsZSI6MS4wLCJhbGVydHMtd2F0Y2hsaXN0LWV4dGVuZGVkLWhvdXJzIjoxLjAsImVuYWJsZV9zeW1ib2xfY2hhbmdlX3Jlc3RyaWN0aW9uX29uX3dpZGdldHMiOjEuMCwiZW5hYmxlX2FzeF9zeW1ib2xfcmVzdHJpY3Rpb24iOjEuMCwic3ltcGhvbnlfYWxsb3dfbm9uX3BhcnRpdGlvbmVkX2Nvb2tpZV9vbl9vbGRfc3ltcGhvbnkiOjEuMCwic3ltcGhvbnlfbm90aWZpY2F0aW9uX2JhZGdlcyI6MS4wLCJzeW1waG9ueV91c2VfYWRrX2Zvcl91cGdyYWRlX3JlcXVlc3QiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfdHJhY2tpbmciOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfc29mdF9saW1pdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9oYXJkX2xpbWl0IjoxLjAsInRlbGVncmFtX21pbmlfYXBwX3JlZHVjZV9zbmFwc2hvdF9xdWFsaXR5IjoxLjAsIm5ld3Nfc3ltYm9sX292ZXJ2aWV3X2tleV9mYWN0cyI6MS4wLCJ0aW1lb3V0X2RqYW5nb19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fdXNlcnNldHRpbmdzX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb19jaGFydHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX3N5bWJvbHNfbGlzdHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX21pbmRzX2RiIjowLjA1LCJ0aW1lb3V0X2RqYW5nb19sb2dnaW5nX2RiIjowLjI1LCJkaXNhYmxlX3NlcnZpY2VzX21vbml0b3JfbWV0cmljcyI6MS4wLCJlbmFibGVfc2lnbmluX3JlY2FwdGNoYSI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbCI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbF9jb21tZW50cyI6MS4wLCJlbmFibGVfc3BhbWRldGVjdG9ybWxfY2hhdCI6MS4wLCJlbmFibGVfbWluZHNfc3BhbWRldGVjdG9ybWwiOjEuMCwiYmFja2VuZC1jb25uZWN0aW9ucy1pbi10b2tlbiI6MS4wLCJvbmVfY29ubmVjdGlvbl93aXRoX2V4Y2hhbmdlcyI6MS4wLCJtb2JpbGUtYWRzLWlvcyI6MS4wLCJtb2JpbGUtYWRzLWFuZHJvaWQiOjEuMCwiZ29vZ2xlLW9uZS10YXAtc2lnbmluIjoxLjAsImJyYWludHJlZS1nb3Byby1pbi1vcmRlci1kaWFsb2ciOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheSI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheSI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LWZyb20taW9zLWFwcCI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LXRyaWFsIjoxLjAsInRyaXBsZWEtcGF5bWVudHMiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXktdHJpYWwiOjEuMCwiYnJhaW50cmVlLW9uZS11c2QtdmVyaWZpY2F0aW9uIjoxLjAsImJyYWludHJlZS0zZHMtZW5hYmxlZCI6MS4wLCJicmFpbnRyZWUtM2RzLXN0YXR1cy1jaGVjayI6MS4wLCJicmFpbnRyZWUtYWRkaXRpb25hbC1jYXJkLWNoZWNrcy1mb3ItdHJpYWwiOjEuMCwiYnJhaW50cmVlLWluc3RhbnQtc2V0dGxlbWVudCI6MS4wLCJicmFpbnRyZWVfcmVjdXJyaW5nX2JpbGxpbmdfc2NoZWR1bGVyX3N1YnNjcmlwdGlvbiI6MS4wLCJjaGVja291dF9tYW51YWxfY2FwdHVyZV9yZXF1aXJlZCI6MS4wLCJjaGVja291dC1zdWJzY3JpcHRpb25zIjoxLjAsImNoZWNrb3V0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2NvbW1lcmNpYWxfY2FyZF90cmlhbCI6MS4wLCJlbmFibGVfcGF5bWVudHNfM2RzX29wdGltaXphdGlvbiI6MS4wLCJjb3VudHJ5X29mX2lzc3VhbmNlX3ZzX2JpbGxpbmdfY291bnRyeSI6MS4wLCJjaGVja291dF9zaG93X2luc3RlYWRfb2ZfYnJhaW50cmVlIjoxLjAsImNoZWNrb3V0LTNkcyI6MS4wLCJjaGVja291dC1wYXlwYWwiOjEuMCwiY2hlY2tvdXRfaW5jbHVkZV9hY2NvdW50X2hvbGRlciI6MS4wLCJjaGVja291dC1wYXlwYWwtdHJpYWwiOjEuMCwiYW5udWFsX3RvX21vbnRobHlfZG93bmdyYWRlX2F0dGVtcHQiOjEuMCwicmF6b3JwYXlfdHJpYWxfMTBfaW5yIjoxLjAsInJhem9ycGF5LWNhcmQtb3JkZXItdG9rZW4tc2VjdGlvbiI6MS4wLCJyYXpvcnBheS1jYXJkLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktdXBpLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktczMtaW52b2ljZS11cGxvYWQiOjEuMCwicmF6b3JwYXlfaW5jbHVkZV9kYXRlX29mX2JpcnRoIjoxLjAsImRsb2NhbC1wYXltZW50cyI6MS4wLCJyZXZvbHV0LXBheS1wYXltZW50cyI6MS4wLCJyZXZvbHV0LWNhcmQtcGF5bWVudHMiOjAuNSwiZGxvY2FsLXBpeC1hdXRvbWF0aWNvIjoxLjAsImJyYWludHJlZV90cmFuc2FjdGlvbl9zb3VyY2UiOjEuMCwidmVydGV4LXRheCI6MS4wLCJ2ZXJ0ZXgtdGF4LWZpeCI6MS4wLCJyZWNlaXB0X2luX2VtYWlscyI6MS4wLCJhZHdvcmRzLWFuYWx5dGljcyI6MS4wLCJjbTM2MC1hbmFseXRpY3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2lvcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfYW5kcm9pZCI6MS4wLCJyZXF1aXJlZF9hZ3JlZW1lbnRfZm9yX3J0IjoxLjAsImNoZWNrX21hcmtldF9kYXRhX2xpbWl0cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9kYXRhIjoxLjAsImZvcmNlX3RvX3VwZ3JhZGVfdG9fZXhwZXJ0IjoxLjAsInNlbmRfdHJhZGV2YW5faW52b2ljZSI6MS4wLCJzaG93X3BlcGVfYW5pbWF0aW9uIjoxLjAsInNlbmRfbmV4dF9wYXltZW50X2luZm9fcmVjZWlwdCI6MS4wLCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIjoxLjAsInNjcmVlbmVyLWFsZXJ0cy1yZWFkLW9ubHkiOjEuMCwic2NyZWVuZXJfYm9uZF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfc3RvY2tfYWlfZmlsdGVyc19lbmFibGVkIjoxLjAsInNjcmVlbmVyX2lzX2FsbG93ZWRfdG9fY3JlYXRlX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yYXRpbmdfY29sdW1uc19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zb3J0aW5nX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX2dyb3VwX2J5X2lzaW5fcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc3ltYm9sX3NlYXJjaF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yZWdpc3RyYXRpb25fYmFubmVyX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzZXNfdHJhY2tpbmciOjEuMCwic2VuZF9maW5hbmNpYWxfbm90aWZpY2F0aW9ucyI6MS4wLCJzcGFya190cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfY2F0ZWdvcnlfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX3RhZ3NfdHJhbnNsYXRpb25zIjoxLjAsInByb19wbGFuX2luaXRpYWxfcmVmdW5kc19kaXNhYmxlZCI6MS4wLCJwcmV2aW91c19tb25vcHJvZHVjdF9wdXJjaGFzZXNfcmVmdW5kc19lbmFibGVkIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnMiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9uc19mZWVkIjoxLjAsImZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiZXRob2NhX2FsZXJ0X25vdGlmaWNhdGlvbl93ZWJob29rIjoxLjAsImhpZGVfc3VzcGljaW91c191c2Vyc19pZGVhcyI6MS4wLCJkaXNhYmxlX3B1Ymxpc2hfc3RyYXRlZ3lfcmFuZ2VfYmFzZWRfY2hhcnQiOjEuMCwicmVzdHJpY3Rfc2ltdWx0YW5lb3VzX3JlcXVlc3RzIjoxLjAsImxvZ2luX2Zyb21fbmV3X2RldmljZV9lbWFpbCI6MS4wLCJzc3Jfd29ya2VyX25vd2FpdCI6MS4wLCJicm9rZXJfQTFDQVBJVEFMIjoxLjAsImJyb2tlcl9BQ1RJVlRSQURFUyI6MS4wLCJicm9rZXJfQUxDSEVNWU1BUktFVFMiOjEuMCwiYnJva2VyX0FMSUNFQkxVRSI6MS4wLCJoaWRlX0FMT1Jfb25faW9zIjoxLjAsImhpZGVfQUxPUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQUxPUl9vbl9tb2JpbGVfd2ViIjoxLjAsImFsb3ItYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9BTFBBQ0EiOjEuMCwiYnJva2VyX0FMUkFNWiI6MS4wLCJicm9rZXJfQU1QIjoxLjAsImJyb2tlcl9BTkdFTE9ORSI6MS4wLCJicm9rZXJfQVZBX0ZVVFVSRVMiOjEuMCwiQVZBX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfQjJQUklNRSI6MS4wLCJicm9rZXJfQkFKQUoiOjEuMCwiYnJva2VyX0JFWU9ORCI6MS4wLCJicm9rZXJfQklOQU5DRSI6MS4wLCJlbmFibGVfYmluYW5jZWFwaXNfYmFzZV91cmwiOjEuMCwiYnJva2VyX0JJTkdCT04iOjEuMCwiYnJva2VyX0JJVEFaWkEiOjEuMCwiYnJva2VyX0JJVEdFVCI6MS4wLCJicm9rZXJfQklUTUVYIjoxLjAsImJyb2tlcl9CSVRTVEFNUCI6MS4wLCJicm9rZXJfQkxBQ0tCVUxMIjoxLjAsImJyb2tlcl9CTFVFQkVSUllNQVJLRVRTIjoxLjAsImJyb2tlcl9CVENDIjoxLjAsImJyb2tlcl9CWUJJVCI6MS4wLCJicm9rZXJfQ0FQSVRBTENPTSI6MS4wLCJicm9rZXJfQ0FQVFJBREVSIjoxLjAsIkNBUFRSQURFUl9zZXBhcmF0ZV9pbnRlZ3JhdGlvbl9taWdyYXRpb25fd2FybmluZyI6MS4wLCJicm9rZXJfQ0ZJIjoxLjAsImJyb2tlcl9DR1NJIjoxLjAsImJyb2tlcl9DSVRZSU5ERVgiOjEuMCwiY2l0eWluZGV4X3NwcmVhZGJldHRpbmciOjEuMCwiQ0xFQVJTVFJFRVRfYmV0YSI6MS4wLCJicm9rZXJfQ01DTUFSS0VUUyI6MS4wLCJicm9rZXJfQ09CUkFUUkFESU5HIjoxLjAsImJyb2tlcl9DT0lOQkFTRSI6MS4wLCJjb2luYmFzZV9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiY29pbmJhc2VfY2FuY2VsX3Bvc2l0aW9uX2JyYWNrZXRzIjoxLjAsImJyb2tlcl9DT0lOSkFSIjoxLjAsIkNPSU5KQVJfYmV0YSI6MS4wLCJicm9rZXJfQ09JTlNXSVRDSCI6MS4wLCJicm9rZXJfQ09JTlciOjEuMCwiYnJva2VyX0NPTE1FWCI6MS4wLCJoaWRlX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImNxZy1yZWFsdGltZS1iYW5kd2lkdGgtbGltaXQiOjEuMCwiYnJva2VyX0NSWVBUT0NPTSI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2lvcyI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9DWE0iOjEuMCwiYnJva2VyX0RBT0wiOjEuMCwiYnJva2VyX0RBUldJTkVYIjoxLjAsIkRBUldJTkVYX2JldGEiOjEuMCwiYnJva2VyX0RFTFRBIjoxLjAsImJyb2tlcl9ERVJBWUFIIjoxLjAsImJyb2tlcl9ERVJJViI6MS4wLCJicm9rZXJfREhBTiI6MS4wLCJicm9rZXJfRE5TRSI6MS4wLCJicm9rZXJfRE9STUFOIjoxLjAsImhpZGVfRFVNTVlfb25faW9zIjoxLjAsImhpZGVfRFVNTVlfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0RVTU1ZX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0VBU1lNQVJLRVRTIjoxLjAsImJyb2tlcl9FQ09WQUxPUkVTIjoxLjAsImJyb2tlcl9FREdFQ0xFQVIiOjEuMCwiZWRnZWNsZWFyX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0VJR0hUQ0FQIjoxLjAsImJyb2tlcl9FUlJBTlRFIjoxLjAsImJyb2tlcl9FU0FGWCI6MS4wLCJGSURFTElUWV9iZXRhIjoxLjAsIkZJREVMSVRZX3VzX3JlbGVhc2UiOjAuMjUsImZpZGVsaXR5X3NlY3VyaXR5X3Rva2VuIjoxLjAsImJyb2tlcl9GT1JFWENPTSI6MS4wLCJmb3JleGNvbV9zZXNzaW9uX3YyIjoxLjAsImJyb2tlcl9GUE1BUktFVFMiOjEuMCwiaGlkZV9GVFhfb25faW9zIjoxLjAsImhpZGVfRlRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJmdHhfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GVVNJT05NQVJLRVRTIjoxLjAsImZ4Y21fc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlhDTSI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9pb3MiOjEuMCwiaGlkZV9GWE9QRU5fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9GWFBSTyI6MS4wLCJicm9rZXJfRlhURiI6MS4wLCJicm9rZXJfRllFUlMiOjEuMCwiYnJva2VyX0dBVEUiOjEuMCwiYnJva2VyX0dCRUJST0tFUlMiOjEuMCwiZ2VtaW5pLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR0VOSUFMSU5WRVNUSU1FTlRPUyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2lvcyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9tb2JpbGVfd2ViIjoxLjAsImdsb2JhbHByaW1lLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR09NQVJLRVRTIjoxLjAsImJyb2tlcl9HT1RSQURFIjoxLjAsImdvdHJhZGVfZW5hYmxlX3N0cmVhbWluZ19lbmRwb2ludHMiOjEuMCwiYnJva2VyX0hFUkVOWUEiOjEuMCwiaGlkZV9IVFhfb25faW9zIjoxLjAsImhpZGVfSFRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9IVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfSUJLUiI6MS4wLCJjaGVja19pYmtyX3NpZGVfbWFpbnRlbmFuY2UiOjEuMCwiaWJrcl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9wYXJhbGxlbF9wcm92aWRlcl9pbml0aWFsaXphdGlvbiI6MS4wLCJpYmtyX3dzX2FjY291bnRfc3VtbWFyeSI6MS4wLCJpYmtyX3dzX3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9zdWJzY3JpYmVfdG9fb3JkZXJfdXBkYXRlc19maXJzdCI6MS4wLCJpYmtyX3dzX2FjY291bnRfbGVkZ2VyIjoxLjAsImJyb2tlcl9JQlJPS0VSIjoxLjAsImJyb2tlcl9JQ01BUktFVFMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19BU0lDIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfRVUiOjEuMCwiYnJva2VyX0lHIjoxLjAsImJyb2tlcl9JTkRTVE9DS1MiOjEuMCwiYnJva2VyX0lORk9ZQVRJUklNIjoxLjAsImJyb2tlcl9JTk5PVkVTVFgiOjEuMCwiYnJva2VyX0lOVEVSQUNUSVZFSUwiOjEuMCwiYnJva2VyX0lOVkVTVFJBREUiOjEuMCwiSU5WRVNUUkFERV9iZXRhIjoxLjAsImJyb2tlcl9JUk9OQkVBTSI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LSVdPT00iOjEuMCwia2l3b29tX3VzZV9zZXBhcmF0ZV9zdHJlYW1pbmdfdXJsIjoxLjAsImJyb2tlcl9LT1RBSyI6MS4wLCJoaWRlX0tPVEFLX29uX2lvcyI6MS4wLCJoaWRlX0tPVEFLX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9LT1RBS19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LUkFLRU4iOjEuMCwiaGlkZV9LUkFLRU5fb25faW9zIjoxLjAsImhpZGVfS1JBS0VOX29uX2FuZHJvaWQiOjEuMCwiS1JBS0VOX2JldGEiOjEuMCwia3Jha2VuX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfS1NFQ1VSSVRJRVMiOjEuMCwiYnJva2VyX0xJQkVSQVRPUiI6MS4wLCJicm9rZXJfTUVYQyI6MS4wLCJicm9rZXJfTUVYRU0iOjEuMCwiYnJva2VyX01JREFTIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9NT09NT08iOjEuMCwiYnJva2VyX01PVElMQUxPU1dBTCI6MS4wLCJicm9rZXJfTklOSkFUUkFERVIiOjEuMCwiYnJva2VyX09BTkRBIjoxLjAsIm9hbmRhX3NlcnZlcl9sb2dnaW5nIjoxLjAsIm9hbmRhX29hdXRoX211bHRpcGxleGluZyI6MS4wLCJicm9rZXJfT0tYIjoxLjAsImJyb2tlcl9PUE9GSU5BTkNFIjoxLjAsImJyb2tlcl9PUFRJTVVTIjoxLjAsImJyb2tlcl9PU01BTkxJIjoxLjAsImJyb2tlcl9PU01BTkxJRlgiOjEuMCwicGFwZXJfZm9yY2VfY29ubmVjdF9wdXNoc3RyZWFtIjoxLjAsInBhcGVyX3N1YmFjY291bnRfY3VzdG9tX2N1cnJlbmN5IjoxLjAsInBhcGVyX291dHNpZGVfcnRoIjoxLjAsImJyb2tlcl9QQVlUTSI6MS4wLCJicm9rZXJfUEVQUEVSU1RPTkUiOjEuMCwiYnJva2VyX1BIRU1FWCI6MS4wLCJicm9rZXJfUEhJTExJUENBUElUQUxfVFIiOjEuMCwiYnJva2VyX1BISUxMSVBOT1ZBIjoxLjAsImJyb2tlcl9QTFVTNTAwIjoxLjAsInBsdXM1MDBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJQTFVTNTAwVVNfYmV0YSI6MS4wLCJicm9rZXJfUFVSUExFVFJBRElORyI6MS4wLCJicm9rZXJfUVVFU1RSQURFIjoxLjAsImJyb2tlcl9SQVZBQlVSU0FUSUwiOjEuMCwiUkFWQUJVUlNBVElMX2JldGEiOjEuMCwiYnJva2VyX1JJWUFEQ0FQSVRBTCI6MS4wLCJicm9rZXJfUk9CT01BUktFVFMiOjEuMCwiYnJva2VyX1JFUExBWUJST0tFUiI6MS4wLCJicm9rZXJfU0FNVUVMIjoxLjAsImJyb2tlcl9TQVhPQkFOSyI6MS4wLCJicm9rZXJfU0hBUkVNQVJLRVQiOjEuMCwiYnJva2VyX1NLSUxMSU5HIjoxLjAsImJyb2tlcl9TUFJFQURFWCI6MS4wLCJicm9rZXJfU1dJU1NRVU9URSI6MS4wLCJicm9rZXJfU1RPTkVYIjoxLjAsImJyb2tlcl9UQVNUWUZYIjoxLjAsImJyb2tlcl9UQVNUWVRSQURFIjoxLjAsImJyb2tlcl9USElOS01BUktFVFMiOjEuMCwidGhpbmttYXJrZXRzX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwiYnJva2VyX1RJQ0tNSUxMIjoxLjAsImhpZGVfVElHRVJfb25faW9zIjoxLjAsImhpZGVfVElHRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RJR0VSX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX1RSQURFTkFUSU9OIjoxLjAsImJyb2tlcl9UUkFERVNUQVRJT04iOjEuMCwidHJhZGVzdGF0aW9uX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJ0cmFkZXN0YXRpb25fYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJ0cmFkZXN0YXRpb25fc3RyZWFtaW5nX3NlcnZlcl9sb2dnaW5nIjoxLjAsImJyb2tlcl9UUkFERVpFUk8iOjEuMCwiYnJva2VyX1RSQURJRVIiOjEuMCwiYnJva2VyX1RSQURJRVJfRlVUVVJFUyI6MS4wLCJ0cmFkaWVyX2Z1dHVyZXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfVFJBRE9WQVRFIjoxLjAsImhpZGVfVFJBRFVfb25faW9zIjoxLjAsImhpZGVfVFJBRFVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RSQURVX29uX21vYmlsZV93ZWIiOjEuMCwidHJhZHVfc3ByZWFkX2JldCI6MS4wLCJicm9rZXJfVFJJVkUiOjEuMCwiYnJva2VyX1ZBTlRBR0UiOjEuMCwiYnJva2VyX1ZFTE9DSVRZIjoxLjAsImJyb2tlcl9XRUJVTEwiOjEuMCwiYnJva2VyX1dFQlVMTEpBUEFOIjoxLjAsImJyb2tlcl9XRUJVTExQQVkiOjEuMCwiYnJva2VyX1dFQlVMTFVLIjoxLjAsImJyb2tlcl9XSElURUJJVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1RfRlVUVVJFUyI6MS4wLCJXSFNFTEZJTlZFU1RfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9YQ1VCRSI6MS4wLCJicm9rZXJfWUxHIjoxLjAsImJyb2tlcl9pZF9zZXNzaW9uIjoxLjAsImRpc2FsbG93X2NvbmN1cnJlbnRfc2Vzc2lvbnMiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlciI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyX2Zvcl91bnRlc3RlZF9icm9rZXJzIjoxLjAsIm1vYmlsZV90cmFkaW5nX3dlYiI6MS4wLCJtb2JpbGVfdHJhZGluZ19pb3MiOjEuMCwibW9iaWxlX3RyYWRpbmdfYW5kcm9pZCI6MS4wLCJjb250aW51b3VzX2Zyb250X2NvbnRyYWN0X3RyYWRpbmciOjEuMCwidHJhZGluZ19yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwib2F1dGgyX2NvZGVfZmxvd19wcm92aWRlcl9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3Rfb2F1dGgyX2NvZGVfZmxvd19tdWx0aXBsZXhpbmciOjEuMCwicmVzdF9sb2dvdXRfb25fNDI5IjoxLjAsInJldmlld19wb3B1cF9vbl9jaGFydCI6MS4wLCJzaG93X2NvbmN1cnJlbnRfY29ubmVjdGlvbl93YXJuaW5nIjoxLjAsImVuYWJsZV90cmFkaW5nX3NlcnZlcl9sb2dnZXIiOjEuMCwib3JkZXJfcHJlc2V0cyI6MS4wLCJvcmRlcl90aWNrZXRfcmVzaXphYmxlX2RyYXdlcl9vbiI6MS4wLCJyZXN0X3VzZV9hc3luY19tYXBwZXIiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fYmFubmVyX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2xlYWRlcmJvYXJkIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3ByZXZpb3VzX2NvbXBldGl0aW9ucyI6MS4wLCJhbXBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJibHVlbGluZV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImRvcm1hbl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImlyb25iZWFtX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwib3B0aW11c19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInN0b25leF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInlsZ19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInRyYWRpbmdfZ2VuZXJhbF9ldmVudHNfZ2FfdHJhY2tpbmciOjEuMCwicmVwbGF5X3Jlc3VsdF9zaGFyaW5nIjoxLjAsInJlcGxheV90cmFkaW5nX2JyYWNrZXRzIjoxLjAsImhpZGVfYWxsX2Jyb2tlcnNfYnV0dG9uX2luX2lvc19hcHAiOjEuMCwiZm9yY2VfbWF4X2FsbG93ZWRfcHVsbGluZ19pbnRlcnZhbHMiOjEuMCwicGFwZXJfZGVsYXlfdHJhZGluZyI6MS4wLCJlbmFibGVfZmlyc3RfdG91Y2hfaXNfc2VsZWN0aW9uIjoxLjAsImNsZWFyX3Byb2plY3Rfb3JkZXJfb25fb3JkZXJfdGlja2V0X2Nsb3NlIjoxLjAsImVuYWJsZV9uZXdfYmVoYXZpb3Jfb2ZfY29uZmlybV9idXR0b25zX29uX21vYmlsZSI6MS4wLCJyZW5ld190b2tlbl9wcmVlbXB0aW9uXzMwIjoxLjAsImRvX25vdF9vcGVuX290X2Zyb21fcGx1c19idXR0b24iOjEuMCwiYnJva2VyX3NpZGVfcHJvbW90aW9uIjoxLjAsImVuYWJsZV9uZXdfdHJhZGluZ19tZW51X3N0cnVjdHVyZSI6MS4wLCJxdWlja190cmFkaW5nX3BhbmVsIjoxLjAsInBhcGVyX29yZGVyX2NvbmZpcm1hdGlvbl9kaWFsb2ciOjEuMCwicGFwZXJfbXVsdGlwbGVfbGV2ZWxzX2VuYWJsZWQiOjEuMCwicGFwZXJfbWFyZ2luX2NvbnRyb2wiOjEuMCwiZW5hYmxlX3NlZ21lbnRhdGlvbl9wYXBlcl90cmFkaW5nIjoxLjAsImVuYWJsZV9jaGFydF9hZGFwdGl2ZV90cHNsX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsImVuYWJsZV9tYXJrZXRfcHJvamVjdF9vcmRlciI6MS4wLCJlbmFibGVfc3ltYm9sc19wb3B1bGFyaXR5X3Nob3dpbmciOjEuMCwiZW5hYmxlX3RyYW5zbGF0aW9uc19zM191cGxvYWQiOjEuMCwiZXRmX2Z1bmRfZmxvd3Nfb25seV9kYXlzX3Jlc29sdXRpb25zIjoxLjAsImRpc2FibGVfc25vd3Bsb3dfcGxhdGZvcm1fZXZlbnRzIjoxLjAsIm5vdGlmeV9pZGVhX21vZHNfYWJvdXRfZmlyc3RfcHVibGljYXRpb24iOjEuMCwiZW5hYmxlX3dhZl90cmFja2luZyI6MS4wLCJuZXdfZXJyb3JzX2Zsb3ciOjEuMCwicXVvdGUtdG9rZW4tZmlsdGVyLW93bi1zY3JpcHRzLWJ5LWFjY2VzcyI6MS4wLCJrZWVwX2luZGljYXRvcnNfc2VhcmNoX3N0YXRlIjoxLjAsImtlZXBfaW5kaWNhdG9yc190YWJfc2Nyb2xsX3N0YXRlIjoxLjAsImNvbmZpZ3VyYWJsZV9zZWFyY2hfYW5kX2ZpbHRyYXRpb24iOjEuMCwicGluZV9lZGl0b3Jfd3JhcF9vbl9saW5lX3NwbGl0IjoxLjAsInN5bWJvbF9zZWFyY2hfY291bnRyeV9zb3VyY2VzIjoxLjAsIndhdGNobGlzdHNfZGlhbG9nX3Njcm9sbF90b19hY3RpdmUiOjEuMCwiYm90dG9tX3BhbmVsX3RyYWNrX2V2ZW50cyI6MS4wLCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSI6MS4wLCJzaG93X2RhdGFfcHJvYmxlbXNfaW5faGVscF9jZW50ZXIiOjEuMCwiZW5hYmxlX2FwcGxlX2RldmljZV9jaGVjayI6MS4wLCJlbmFibGVfYXBwbGVfaW50cm9fb2ZmZXJfc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19vZmZlcl9zaWduYXR1cmVfdjIiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2FuZHJvaWQiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19pb3MiOjEuMCwiZW5hYmxlX21hbnRpY29yZV9jbHVzdGVyIjoxLjAsImVuYWJsZV9wdXNoc3RyZWFtX2F1dGgiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5IjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9wYXBlcnRyYWRpbmciOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3NjcmVlbmVyIjoxLjAsIm9wdGlvbnNfcmVkdWNlX3BvbGxpbmdfaW50ZXJ2YWwiOjEuMCwib3B0aW9uc19idWlsZGVyX2dyb3VwX2FjdGlvbnMiOjEuMCwib3B0aW9uc19jaGFpbl9zaWdtYV9maWx0ZXIiOjEuMCwib3B0aW9uc19icm9rZXJfc3RyYXRlZ2llcyI6MS4wLCJzaG93X3RvYXN0X2Fib3V0X3VucmVhZF9tZXNzYWdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3BheW91dCI6MS4wLCJlbmFibGVfZW1haWxfY2hhbmdlX2xvZ2dpbmciOjEuMCwiZW5hYmxlX2VtYWlsX29uX3BhcnRuZXJfc3RhdHVzX2NoYW5nZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtX2FwcGx5IjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW0iOjEuMCwiY29tcHJlc3NfY2FjaGVfZGF0YSI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciOjEuMCwibmV3c19zY3JlZW5lcl9wYWdlX2NsaWVudCI6MS4wLCJlbmFibGVfZGVjbGFyYXRpb25fcG9wdXBfb25fbG9hZCI6MS4wLCJzaG93X2RhdGFfYm9uZHNfZnJlZV91c2VycyI6MS4wLCJlbmFibGVfbW9kZXJuX3JlbmRlcl9tb2RlIjoxLjAsImVuYWJsZV9wcm9mX3BvcHVwX2ZyZWUiOjEuMCwiaW9zX2FwcF9uZXdzX2FuZF9taW5kcyI6MS4wLCJkb19ub3RfZGlzY2xvc2VfcGhvbmVfb2NjdXBhbmN5IjoxLjAsImVuYWJsZV9yZWRpcmVjdF90b193aWRnZXRfZG9jdW1lbnRhdGlvbl9vZl9hbnlfbG9jYWxpemF0aW9uIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19oaWJlcm5hdGlvbiI6MS4wLCJuZXdzX3N0cmVhbWluZ19oaWJlcm5hdGlvbl9kZWxheV8xMG1pbiI6MS4wLCJwYXNzX3JlY292ZXJ5X3NlYXJjaF9oaWRlX2luZm8iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX29uX3NjcmVlbmVyIjoxLjAsImVuYWJsZV9mb3JjZWRfZW1haWxfY29uZmlybWF0aW9uIjoxLjAsInNob3dfZ2lmdF9idXR0b24iOjEuMCwiYWRkcmVzc192YWxpZGF0aW9uX2VuYWJsZWQiOjEuMCwiZGlzYWJsZV91bnZlcmlmaWVkX2FkZHJlc3MiOjEuMCwiZ2VuZXJhdGVfaW52b2ljZV9udW1iZXJfYnlfY291bnRyeSI6MS4wLCJzaG93X2Zhdm9yaXRlX2xheW91dHMiOjEuMCwiZW5hYmxlX3NvY2lhbF9hdXRoX2NvbmZpcm1hdGlvbiI6MS4wLCJlbmFibGVfYWRfYmxvY2tfZGV0ZWN0IjoxLjAsInR2ZF9uZXdfdGFiX2xpbmtpbmciOjEuMCwidHZkX3RpbWVfYW5kX2RhdGVfcmFuZ2VfbGlua2luZyI6MS4wLCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsIndyb25nX2FjY291bnRfZGlhbG9nX3ByaW1hcnlfc3dpdGNoIjoxLjAsImVuYWJsZV9saW5ndWFfbGFuZ19jaGVjayI6MS4wLCJnZXRfc2F2ZWRfYWN0aXZlX2xpc3RfYmVmb3JlX2dldHRpbmdfYWxsX2xpc3RzIjoxLjAsIndhdGNobGlzdF9hZGRfc291cmNlX3BhcmFtIjoxLjAsInNob3dfcmVmZXJyYWxfbm90aWZpY2F0aW9uX2RpYWxvZyI6MS4wLCJzZXRfbmV3X2JsYWNrX2NvbG9yIjoxLjAsIm5ld3NfdXNlX25ld3NfbWVkaWF0b3IiOjEuMCwiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iOjEuMCwicmVzdHJpY3RfcHduZWRfcGFzc3dvcmRfc2V0IjoxLjAsIm5vdGlmX3NldHRpbmdzX2VuYWJsZV9uZXdfc3RvcmUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfd3JpdGUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfcmVhZCI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3NkayI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3Nkay1mb3ItaW5pdGlhbC1wdXJjaGFzZSI6MS4wLCJlbmFibGVfbWV0YWRlZmVuZGVyX2NoZWNrX2Zvcl9hZ3JlZW1lbnQiOjEuMCwic2hvd19kb3dubG9hZF95aWVsZF9jdXJ2ZXNfZGF0YSI6MS4wLCJtb3ZlX2tleV90ZW5vcnNfdG9fc2V0dGluZ3MiOjEuMCwic2hvd195aWVsZF9jdXJ2ZXNfbWFwIjoxLjAsImRpc2FibGVfd2lkZ2V0YmFyX2luX2FwcHMiOjEuMCwiaGlkZV9wdWJsaWNhdGlvbnNfb2ZfYmFubmVkX3VzZXJzIjoxLjAsImVuYWJsZV9zdW1tYXJ5X3VwZGF0ZXNfZnJvbV9jaGFydF9zZXNzaW9uIjoxLjAsInNob3dfbmV3c19mbG93X3Rvb2xfcmlnaHRfYmFyIjoxLjAsImVuYWJsZV9jaGFydF9zYXZpbmdfc3RhdHMiOjEuMCwiZW5hYmxlX3NhdmluZ19zYW1lX2NoYXJ0X3JhdGVfbGltaXQiOjEuMCwibmV3c19hbGVydHNfZW5hYmxlZCI6MS4wLCJuZXdzX211bHRpcGxlX2FsZXJ0c19lbmFibGVkIjoxLjAsInJlZnVuZF91bnZvaWRhYmxlX2NvdXBvbnNfZW5hYmxlZCI6MS4wLCJlbmFibGVfc25vd3Bsb3dfZW1haWxfdHJhY2tpbmciOjEuMCwibmV3c19lbmFibGVfc2VudGltZW50IjoxLjAsInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIjoxLjAsImVuYWJsZV91c2Vyc2V0dGluZ3Nfc3ltYm9sc19wZXJfcm93X3NvZnRfbGltaXQiOjAuMSwiZm9yYmlkX2xvZ2luX3dpdGhfcHduZWRfcGFzc3dvcmRzIjoxLjAsImRlYnVnX2dldF90ZXN0X2JhcnNfZGF0YSI6MS4wLCJuZXdzX3VzZV9tZWRpYXRvcl9zdG9yeSI6MS4wLCJuZXdzX2Zsb3dfcmVjb25maWd1cmVfZmlsdGVycyI6MS4wLCJibGFja19mcmlkYXlfZW5hYmxlX3NraXBfdG9fcGF5bWVudCI6MS4wLCJoaWRlX3RyYWRpbmdfYnV0dG9uX29uX2JvdHRvbV9wYW5lbF9hbmRfcmVwbGF5X3RhYiI6MS4wLCJoaWRlX3RyYWRlX2J1dHRvbl9oaW50X2luX2hlYWRlcl90b29sYmFyIjoxLjAsImhpZGVfc2VlX29uX3N1cGVyX2NoYXJ0c19idXR0b24iOjEuMCwiaGlkZV9zeW1ib2xfcGFnZV9jaGFydF90eXBlX3N3aXRjaGVyIjoxLjAsImRpc2FibGVfY2hhdF9zcGFtX3Byb3RlY3Rpb25fZm9yX3ByZW1pdW1fdXNlcnMiOjEuMCwiZGlzYWJsZV9wdWJsaWNfcGluZV9zY3JpcHRfcHVibGlzaF9saW1pdHMiOjEuMCwibWFrZV90cmFkaW5nX3BhbmVsX2NvbnRleHR1YWxfdGFiIjoxLjAsInJlY29ubmVjdF9nYWluX3Nlc3Npb25fb25fbHNfZXJyb3IiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXltZW50cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9reWMiOjEuMCwiaW5kaWFfZXhjbHVkZV9icmFpbnRyZWVfdGFiIjoxLjAsIm1hY3JvX21hcHNfaGlkZV90b29sdGlwX2NoYXJ0X2J1dHRvbiI6MS4wLCJmb3JjZV9reWNfZm9yX25vbnByb19wdXJjaGFzZV9ieV9jb21tZXJjaWFsIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfZnVsbHNjcmVlbl9idXR0b24iOjEuMCwic2hvd19zcGxpdF9wYW5lbF9tb3ZlX2J1dHRvbl90b190aXRsZSI6MS4wLCJvcmRlcl9wcmVzZXRzX2NydWRfc3RvcmFnZSI6MS4wLCJvcmRlcl9wcmVzZXRzX3JlbW92ZV9mcm9tX3R2X3NldHRpbmdzIjoxLjAsImNoZWNrb3V0LWZsb3ctdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheSI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbCI6MS4wLCJmb3JiaWRfc2lnbnVwX3dpdGhfZmFrZV9nbWFpbF9kb21haW5zIjoxLjAsInNob3dfaW1wb3J0X2Zyb21fcGFwZXJfdHJhZGluZ19idXR0b24iOjEuMCwic3ltYm9sX3NlYXJjaF9ncm91cGluZyI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsLXRyaWFsIjoxLjAsInZvaWRfbm90X2ZvdW5kX2Nrb19wYXltZW50X2luX2FwcHJvdmVkX3dlYmhvb2siOjEuMCwic2hvd19wYW5lbF9jb2xsYXBzZV9idXR0b24iOjEuMCwiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIjowLjN9Owp3aW5kb3cuaW5pdERhdGEgPSB7fTsKCQl3aW5kb3cuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMID0gImh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyI7Cgp3aW5kb3cuaW5pdERhdGEgPSB7IndpZGdldERlZmF1bHRzIjp7ImRlZl9oaWRlX3N5bWJvbF9lZGl0Ijp0cnVlLCJ3aWRnZXRGZWF0dXJlc2V0Ijoid2lkZ2V0IiwiYm9keUlkIjoid2lkZ2V0LWNvbnRhaW5lciIsImJvZHlDbGFzc2VzIjpbImNoYXJ0LXBhZ2UiLCJ1bnNlbGVjdGFibGUiLCJvbi13aWRnZXQiXSwiY29sb3JUaGVtZSI6ImxpZ2h0IiwibG9jYWxlIjoiZW4ifX07CgkJd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvID0geyJsYW5ndWFnZSI6ImVuIiwibGFuZ3VhZ2VfbmFtZSI6IkVuZ2xpc2giLCJmbGFnIjoidXMiLCJnZW9pcF9jb2RlIjoidXMiLCJpc28iOiJlbiIsImlzb182MzlfMyI6ImVuZyIsImdsb2JhbF9uYW1lIjoiRW5nbGlzaCIsImlzX29ubHlfcmVjb21tZW5kZWRfdHdfYXV0b3JlcG9zdCI6dHJ1ZX07CgkJd2luZG93LmluaXREYXRhLnNldHRpbmdzID0geydTM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vJywgJ1MzX05FV1NfSU1BR0VfU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9uZXdzLycsICdXRUJQQUNLX1NUQVRJQ19QQVRIJzogJ2h0dHBzOi8vc3RhdGljLnRyYWRpbmd2aWV3LmNvbS9zdGF0aWMvYnVuZGxlcy8nLCAnVFJBRElOR19VUkxTJzogeydmcmVlJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLWZyZWUudHJhZGluZ3ZpZXcuY29tJywgJ3Bybyc6ICdodHRwczovL3BhcGVydHJhZGluZy50cmFkaW5ndmlldy5jb20nfSwgJ0NPTlRFU1RTX1VSTCc6ICcvcGFwZXItdHJhZGluZycsICdDUlVEX1NUT1JBR0VfVVJMJzogJ2h0dHBzOi8vY3J1ZC1zdG9yYWdlLnRyYWRpbmd2aWV3LmNvbSd9Ozwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IjFtMEI0M2V5VXJyL01EVTdlT3UzZkE9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IGU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07Y29uc3QgdD13aW5kb3c7dC5pbml0RGF0YT10LmluaXREYXRhfHx7fTtjb25zdCBhPS9cKy9nLG49LzxcLz9bXj5dKyg+fCQpL2cscz1lPT5kZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKGEsIiAiKSkucmVwbGFjZShuLCIiKSxvPXQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSxjPS8oW14mPV0rKT0/KFteJl0qKS9nLGk9e307bGV0IGwscj1jLmV4ZWMobyk7Zm9yKDtudWxsIT09cjspaVtzKHJbMV0pXT1zKHJbMl0pLHI9Yy5leGVjKG8pO3RyeXtsPUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KHQubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKSwib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPT1sfHwobD17fSl9Y2F0Y2goZSl7bD17fX12YXIgaDt0LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3M9aSx0LmluaXREYXRhLmhhc2hTZXR0aW5ncz0oaD1sLE9iamVjdC5rZXlzKGgpLmZvckVhY2goKHQ9PntlW3RdJiZkZWxldGUgaFt0XX0pKSxoKX0pKCk7Cgk8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSIxbTBCNDNleVVyci9NRFU3ZU91M2ZBPT0iPndpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVCA9ICJodHRwczovL3dpZGdldC1zaGVyaWZmLnRyYWRpbmd2aWV3LXdpZGdldC5jb20iOwoJCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7Cgp3aW5kb3cuUElORV9VUkwgPSAiaHR0cHM6Ly9waW5lLWZhY2FkZS50cmFkaW5ndmlldy5jb20vcGluZS1mYWNhZGUiOwoKCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgPSBbd2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLndpZGdldEZlYXR1cmVzZXRdCgkJLmNvbmNhdChKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5xdWVyeVNldHRpbmdzLmVuYWJsZWRfZmVhdHVyZXMgfHwgIltdIikpCgkJLmNvbmNhdChKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS53aWRnZXREZWZhdWx0cy5lbmFibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJOwoKCXdpbmRvdy5fX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzID0gSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5kaXNhYmxlZF9mZWF0dXJlcyB8fCAiW10iKQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMuZGlzYWJsZWRfZmVhdHVyZXMgfHwgIltdIikpCgk7CgoJd2luZG93Ll9fZGVmYXVsdHNPdmVycmlkZXMgPSBKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5xdWVyeVNldHRpbmdzLm92ZXJyaWRlcyB8fCB3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMub3ZlcnJpZGVzIHx8ICJ7fSIpOwoKCXdpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5TU19ET01BSU5fUEFSQU1FVEVSID0gInByb2R1Y3Rpb24iOwoJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCXdpbmRvdy5URUxFTUVUUllfV1NfRVJST1JfTE9HU19USFJFU0hPTEQgPSAxMDA7Cgl3aW5kb3cuUFVTSFNUUkVBTV9VUkwgPSAid3NzOi8vcHVzaHN0cmVhbS50cmFkaW5ndmlldy5jb20iOwoJd2luZG93LkNIQVJURVZFTlRTX1VSTCA9ICJodHRwczovL2NoYXJ0ZXZlbnRzLXJldXRlcnMudHJhZGluZ3ZpZXcuY29tLyI7Cgl3aW5kb3cuRUNPTk9NSUNfQ0FMRU5EQVJfVVJMID0gImh0dHBzOi8vZWNvbm9taWMtY2FsZW5kYXIudHJhZGluZ3ZpZXcuY29tLyI7Cgl3aW5kb3cuRUFSTklOR1NfQ0FMRU5EQVJfVVJMID0gImh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfU0VSVklDRV9VUkwgPSAiaHR0cHM6Ly9uZXdzLWhlYWRsaW5lcy50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfTUVESUFUT1JfVVJMID0gImh0dHBzOi8vbmV3cy1tZWRpYXRvci50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfU1RSRUFNSU5HX1VSTCA9ICJodHRwczovL25vdGlmaWNhdGlvbnMudHJhZGluZ3ZpZXcuY29tL25ld3MvY2hhbm5lbCI7Cgl3aW5kb3cuU0NSRUVORVJfSE9TVCA9ICJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRSA9IHsiZW4iOiJVUyIsInVzIjoiVVMiLCJhZSI6IkFEWCIsImFyIjoiQkNCQSIsImF0IjoiVklFIiwiYXUiOiJBU1giLCJiZCI6IkRTRUJEIiwiYmUiOiJFVVJPTkVYVF9CUlUiLCJiZyI6IkJTRVNPRiIsImJoIjoiQkFIUkFJTiIsImJyIjoiQk1GQk9WRVNQQSIsImNhIjoiVFNYIiwiY2giOiJTSVgiLCJjbCI6IkJDUyIsInpoX0NOIjoiU1NFIiwiY28iOiJCVkMiLCJociI6IlpTRSIsImN5IjoiQ1NFQ1kiLCJjeiI6IlBTRUNaIiwiZGVfREUiOiJYRVRSIiwiZGsiOiJPTVhDT1AiLCJlZSI6Ik9NWFRTRSIsImVnIjoiRUdYIiwiZXMiOiJCTUUiLCJmaSI6Ik9NWEhFWCIsImZyIjoiRVVST05FWFRfUEFSIiwiZ3IiOiJBVEhFWCIsImhrIjoiSEtFWCIsImh1IjoiQkVUIiwiaWQiOiJJRFgiLCJpZSI6IkVVUk9ORVhURFVCIiwiaGVfSUwiOiJUQVNFIiwiaW4iOiJCU0UiLCJpcyI6Ik9NWElDRSIsIml0IjoiTUlMIiwiamEiOiJUU0UiLCJrZSI6Ik5TRUtFIiwia3IiOiJLUlgiLCJrdyI6IktTRSIsImxrIjoiQ1NFTEsiLCJsdCI6Ik9NWFZTRSIsImx2IjoiT01YUlNFIiwibHUiOiJMVVhTRSIsIm14IjoiQk1WIiwibWEiOiJDU0VNQSIsIm1zX01ZIjoiTVlYIiwibmciOiJOU0VORyIsIm5sIjoiRVVST05FWFRfQU1TIiwibm8iOiJPU0wiLCJueiI6Ik5aWCIsInBlIjoiQlZMIiwicGgiOiJQU0UiLCJwayI6IlBTWCIsInBsIjoiR1BXIiwicHQiOiJFVVJPTkVYVF9MSVMiLCJxYSI6IlFTRSIsInJzIjoiQkVMRVgiLCJydSI6IlJVUyIsInJvIjoiQlZCIiwiYXJfQUUiOiJUQURBV1VMIiwic2UiOiJOR00iLCJzZyI6IlNHWCIsInNpIjoiTEpTRSIsInNrIjoiQlNTRSIsInRoX1RIIjoiU0VUIiwidG4iOiJCVk1UIiwidHIiOiJCSVNUIiwiemhfVFciOiJUV1NFIiwiZ2IiOiJMU0UiLCJ2ZSI6IkJWQ1YiLCJ2aV9WTiI6IkhPU0UiLCJ6YSI6IkpTRSJ9OwoJd2luZG93LlBJTkVfVVJMID0gImh0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlIjsKCXdpbmRvdy5URUxFTUVUUllfSE9TVFMgPSB7ImNoYXJ0cyI6eyJmcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2ZyZWUiLCJwcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vcHJvIiwid2lkZ2V0IjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3dpZGdldCIsImlvc19mcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1pb3MtZnJlZSIsImlvc19wcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2hhcnRzLWlvcy1wcm8iLCJhbmRyb2lkX2ZyZWUiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2hhcnRzLWFuZHJvaWQtZnJlZSIsImFuZHJvaWRfcHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1hbmRyb2lkLXBybyJ9LCJhbGVydHMiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2FsZXJ0cyJ9LCJsaW5lX3Rvb2xzX3N0b3JhZ2UiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2xpbmUtdG9vbHMtc3RvcmFnZSJ9LCJuZXdzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9uZXdzIn0sInBpbmUiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3BpbmUifSwiY2FsZW5kYXJzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jYWxlbmRhcnMifSwic2l0ZSI6eyJmcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3NpdGUtZnJlZSIsInBybyI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLXBybyIsIndpZGdldCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLXdpZGdldCJ9LCJ0cmFkaW5nIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS90cmFkaW5nIn19OwoKCS8vIFJFQ0FQVENIQV9TSVRFX0tFWSBpcyBOT1QgdW51c2VkISBTZWUgVFYtMTI2OTksIFRWLTEzMDAxIGFuZCBzdGF0aWMvanMvZGlhbG9ncy9zaWduLW1vZGFsL3NpZ24tbW9kYWwtaW1wbC5lczYKCXdpbmRvdy5SRUNBUFRDSEFfU0lURV9LRVkgPSAiNkxjcXYyNFVBQUFBQUl2a0VsRHZ3UHhEMFI4c2NEbk1waXphQmNIUSI7Cgl3aW5kb3cuUkVDQVBUQ0hBX1NJVEVfS0VZX1YzID0gIjZMZVFNSGdVQUFBQUFLQ1ljdGlCR1dZclhOX3R2ck9EU1o3aTlkTEEiOwoKCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7CgoJd2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMywiY2hhcnRfYXV0b3NhdmVfNW1pbiI6MS4wLCJjaGFydF9hdXRvc2F2ZV8zMG1pbiI6MS4wLCJwZXJmb3JtYW5jZV90ZXN0X21vZGUiOjEuMCwiY2hlY2tfYXV0aF90b2tlbl9leHBpcmF0aW9uX29uX2V2ZXJ5X3JlcXVlc3QiOjEuMCwiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiI6MS4wLCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyI6MS4wLCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIjoxLjAsInJlbW92ZV9hbmNob3JlZF90ZXh0IjoxLjAsImVuYWJsZV9zdGVwX2J5X3N0ZXBfaGludHNfZm9yX2RyYXdpbmdzIjoxLjAsInB1c2hzdHJlYW1fYmFzaWNfdGVsZW1ldHJ5IjoxLjAsImFsbG93X2JyYWNrZXRzX3Byb2ZpdF9sb3NzIjoxLjAsImVuYWJsZV90cmFkZWRfY29udGV4dF9saW5raW5nIjoxLjAsIm9yZGVyX2NvbnRleHRfdmFsaWRhdGlvbl9pbl9pbnN0YW50X21vZGUiOjEuMCwiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiOjEuMCwiYWxlcnRzLW5vdGlmaWNhdGlvbi1zY2hlZHVsZSI6MS4wLCJhbGVydHMtd2F0Y2hsaXN0LWV4dGVuZGVkLWhvdXJzIjoxLjAsImVuYWJsZV9zeW1ib2xfY2hhbmdlX3Jlc3RyaWN0aW9uX29uX3dpZGdldHMiOjEuMCwiZW5hYmxlX2FzeF9zeW1ib2xfcmVzdHJpY3Rpb24iOjEuMCwic3ltcGhvbnlfYWxsb3dfbm9uX3BhcnRpdGlvbmVkX2Nvb2tpZV9vbl9vbGRfc3ltcGhvbnkiOjEuMCwic3ltcGhvbnlfbm90aWZpY2F0aW9uX2JhZGdlcyI6MS4wLCJzeW1waG9ueV91c2VfYWRrX2Zvcl91cGdyYWRlX3JlcXVlc3QiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfdHJhY2tpbmciOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfc29mdF9saW1pdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9oYXJkX2xpbWl0IjoxLjAsInRlbGVncmFtX21pbmlfYXBwX3JlZHVjZV9zbmFwc2hvdF9xdWFsaXR5IjoxLjAsIm5ld3Nfc3ltYm9sX292ZXJ2aWV3X2tleV9mYWN0cyI6MS4wLCJ0aW1lb3V0X2RqYW5nb19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fdXNlcnNldHRpbmdzX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb19jaGFydHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX3N5bWJvbHNfbGlzdHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX21pbmRzX2RiIjowLjA1LCJ0aW1lb3V0X2RqYW5nb19sb2dnaW5nX2RiIjowLjI1LCJkaXNhYmxlX3NlcnZpY2VzX21vbml0b3JfbWV0cmljcyI6MS4wLCJlbmFibGVfc2lnbmluX3JlY2FwdGNoYSI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbCI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbF9jb21tZW50cyI6MS4wLCJlbmFibGVfc3BhbWRldGVjdG9ybWxfY2hhdCI6MS4wLCJlbmFibGVfbWluZHNfc3BhbWRldGVjdG9ybWwiOjEuMCwiYmFja2VuZC1jb25uZWN0aW9ucy1pbi10b2tlbiI6MS4wLCJvbmVfY29ubmVjdGlvbl93aXRoX2V4Y2hhbmdlcyI6MS4wLCJtb2JpbGUtYWRzLWlvcyI6MS4wLCJtb2JpbGUtYWRzLWFuZHJvaWQiOjEuMCwiZ29vZ2xlLW9uZS10YXAtc2lnbmluIjoxLjAsImJyYWludHJlZS1nb3Byby1pbi1vcmRlci1kaWFsb2ciOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheSI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheSI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LWZyb20taW9zLWFwcCI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LXRyaWFsIjoxLjAsInRyaXBsZWEtcGF5bWVudHMiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXktdHJpYWwiOjEuMCwiYnJhaW50cmVlLW9uZS11c2QtdmVyaWZpY2F0aW9uIjoxLjAsImJyYWludHJlZS0zZHMtZW5hYmxlZCI6MS4wLCJicmFpbnRyZWUtM2RzLXN0YXR1cy1jaGVjayI6MS4wLCJicmFpbnRyZWUtYWRkaXRpb25hbC1jYXJkLWNoZWNrcy1mb3ItdHJpYWwiOjEuMCwiYnJhaW50cmVlLWluc3RhbnQtc2V0dGxlbWVudCI6MS4wLCJicmFpbnRyZWVfcmVjdXJyaW5nX2JpbGxpbmdfc2NoZWR1bGVyX3N1YnNjcmlwdGlvbiI6MS4wLCJjaGVja291dF9tYW51YWxfY2FwdHVyZV9yZXF1aXJlZCI6MS4wLCJjaGVja291dC1zdWJzY3JpcHRpb25zIjoxLjAsImNoZWNrb3V0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2NvbW1lcmNpYWxfY2FyZF90cmlhbCI6MS4wLCJlbmFibGVfcGF5bWVudHNfM2RzX29wdGltaXphdGlvbiI6MS4wLCJjb3VudHJ5X29mX2lzc3VhbmNlX3ZzX2JpbGxpbmdfY291bnRyeSI6MS4wLCJjaGVja291dF9zaG93X2luc3RlYWRfb2ZfYnJhaW50cmVlIjoxLjAsImNoZWNrb3V0LTNkcyI6MS4wLCJjaGVja291dC1wYXlwYWwiOjEuMCwiY2hlY2tvdXRfaW5jbHVkZV9hY2NvdW50X2hvbGRlciI6MS4wLCJjaGVja291dC1wYXlwYWwtdHJpYWwiOjEuMCwiYW5udWFsX3RvX21vbnRobHlfZG93bmdyYWRlX2F0dGVtcHQiOjEuMCwicmF6b3JwYXlfdHJpYWxfMTBfaW5yIjoxLjAsInJhem9ycGF5LWNhcmQtb3JkZXItdG9rZW4tc2VjdGlvbiI6MS4wLCJyYXpvcnBheS1jYXJkLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktdXBpLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktczMtaW52b2ljZS11cGxvYWQiOjEuMCwicmF6b3JwYXlfaW5jbHVkZV9kYXRlX29mX2JpcnRoIjoxLjAsImRsb2NhbC1wYXltZW50cyI6MS4wLCJyZXZvbHV0LXBheS1wYXltZW50cyI6MS4wLCJyZXZvbHV0LWNhcmQtcGF5bWVudHMiOjAuNSwiZGxvY2FsLXBpeC1hdXRvbWF0aWNvIjoxLjAsImJyYWludHJlZV90cmFuc2FjdGlvbl9zb3VyY2UiOjEuMCwidmVydGV4LXRheCI6MS4wLCJ2ZXJ0ZXgtdGF4LWZpeCI6MS4wLCJyZWNlaXB0X2luX2VtYWlscyI6MS4wLCJhZHdvcmRzLWFuYWx5dGljcyI6MS4wLCJjbTM2MC1hbmFseXRpY3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2lvcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfYW5kcm9pZCI6MS4wLCJyZXF1aXJlZF9hZ3JlZW1lbnRfZm9yX3J0IjoxLjAsImNoZWNrX21hcmtldF9kYXRhX2xpbWl0cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9kYXRhIjoxLjAsImZvcmNlX3RvX3VwZ3JhZGVfdG9fZXhwZXJ0IjoxLjAsInNlbmRfdHJhZGV2YW5faW52b2ljZSI6MS4wLCJzaG93X3BlcGVfYW5pbWF0aW9uIjoxLjAsInNlbmRfbmV4dF9wYXltZW50X2luZm9fcmVjZWlwdCI6MS4wLCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIjoxLjAsInNjcmVlbmVyLWFsZXJ0cy1yZWFkLW9ubHkiOjEuMCwic2NyZWVuZXJfYm9uZF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfc3RvY2tfYWlfZmlsdGVyc19lbmFibGVkIjoxLjAsInNjcmVlbmVyX2lzX2FsbG93ZWRfdG9fY3JlYXRlX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yYXRpbmdfY29sdW1uc19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zb3J0aW5nX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX2dyb3VwX2J5X2lzaW5fcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc3ltYm9sX3NlYXJjaF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yZWdpc3RyYXRpb25fYmFubmVyX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzZXNfdHJhY2tpbmciOjEuMCwic2VuZF9maW5hbmNpYWxfbm90aWZpY2F0aW9ucyI6MS4wLCJzcGFya190cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfY2F0ZWdvcnlfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX3RhZ3NfdHJhbnNsYXRpb25zIjoxLjAsInByb19wbGFuX2luaXRpYWxfcmVmdW5kc19kaXNhYmxlZCI6MS4wLCJwcmV2aW91c19tb25vcHJvZHVjdF9wdXJjaGFzZXNfcmVmdW5kc19lbmFibGVkIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnMiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9uc19mZWVkIjoxLjAsImZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiZXRob2NhX2FsZXJ0X25vdGlmaWNhdGlvbl93ZWJob29rIjoxLjAsImhpZGVfc3VzcGljaW91c191c2Vyc19pZGVhcyI6MS4wLCJkaXNhYmxlX3B1Ymxpc2hfc3RyYXRlZ3lfcmFuZ2VfYmFzZWRfY2hhcnQiOjEuMCwicmVzdHJpY3Rfc2ltdWx0YW5lb3VzX3JlcXVlc3RzIjoxLjAsImxvZ2luX2Zyb21fbmV3X2RldmljZV9lbWFpbCI6MS4wLCJzc3Jfd29ya2VyX25vd2FpdCI6MS4wLCJicm9rZXJfQTFDQVBJVEFMIjoxLjAsImJyb2tlcl9BQ1RJVlRSQURFUyI6MS4wLCJicm9rZXJfQUxDSEVNWU1BUktFVFMiOjEuMCwiYnJva2VyX0FMSUNFQkxVRSI6MS4wLCJoaWRlX0FMT1Jfb25faW9zIjoxLjAsImhpZGVfQUxPUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQUxPUl9vbl9tb2JpbGVfd2ViIjoxLjAsImFsb3ItYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9BTFBBQ0EiOjEuMCwiYnJva2VyX0FMUkFNWiI6MS4wLCJicm9rZXJfQU1QIjoxLjAsImJyb2tlcl9BTkdFTE9ORSI6MS4wLCJicm9rZXJfQVZBX0ZVVFVSRVMiOjEuMCwiQVZBX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfQjJQUklNRSI6MS4wLCJicm9rZXJfQkFKQUoiOjEuMCwiYnJva2VyX0JFWU9ORCI6MS4wLCJicm9rZXJfQklOQU5DRSI6MS4wLCJlbmFibGVfYmluYW5jZWFwaXNfYmFzZV91cmwiOjEuMCwiYnJva2VyX0JJTkdCT04iOjEuMCwiYnJva2VyX0JJVEFaWkEiOjEuMCwiYnJva2VyX0JJVEdFVCI6MS4wLCJicm9rZXJfQklUTUVYIjoxLjAsImJyb2tlcl9CSVRTVEFNUCI6MS4wLCJicm9rZXJfQkxBQ0tCVUxMIjoxLjAsImJyb2tlcl9CTFVFQkVSUllNQVJLRVRTIjoxLjAsImJyb2tlcl9CVENDIjoxLjAsImJyb2tlcl9CWUJJVCI6MS4wLCJicm9rZXJfQ0FQSVRBTENPTSI6MS4wLCJicm9rZXJfQ0FQVFJBREVSIjoxLjAsIkNBUFRSQURFUl9zZXBhcmF0ZV9pbnRlZ3JhdGlvbl9taWdyYXRpb25fd2FybmluZyI6MS4wLCJicm9rZXJfQ0ZJIjoxLjAsImJyb2tlcl9DR1NJIjoxLjAsImJyb2tlcl9DSVRZSU5ERVgiOjEuMCwiY2l0eWluZGV4X3NwcmVhZGJldHRpbmciOjEuMCwiQ0xFQVJTVFJFRVRfYmV0YSI6MS4wLCJicm9rZXJfQ01DTUFSS0VUUyI6MS4wLCJicm9rZXJfQ09CUkFUUkFESU5HIjoxLjAsImJyb2tlcl9DT0lOQkFTRSI6MS4wLCJjb2luYmFzZV9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiY29pbmJhc2VfY2FuY2VsX3Bvc2l0aW9uX2JyYWNrZXRzIjoxLjAsImJyb2tlcl9DT0lOSkFSIjoxLjAsIkNPSU5KQVJfYmV0YSI6MS4wLCJicm9rZXJfQ09JTlNXSVRDSCI6MS4wLCJicm9rZXJfQ09JTlciOjEuMCwiYnJva2VyX0NPTE1FWCI6MS4wLCJoaWRlX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImNxZy1yZWFsdGltZS1iYW5kd2lkdGgtbGltaXQiOjEuMCwiYnJva2VyX0NSWVBUT0NPTSI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2lvcyI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9DWE0iOjEuMCwiYnJva2VyX0RBT0wiOjEuMCwiYnJva2VyX0RBUldJTkVYIjoxLjAsIkRBUldJTkVYX2JldGEiOjEuMCwiYnJva2VyX0RFTFRBIjoxLjAsImJyb2tlcl9ERVJBWUFIIjoxLjAsImJyb2tlcl9ERVJJViI6MS4wLCJicm9rZXJfREhBTiI6MS4wLCJicm9rZXJfRE5TRSI6MS4wLCJicm9rZXJfRE9STUFOIjoxLjAsImhpZGVfRFVNTVlfb25faW9zIjoxLjAsImhpZGVfRFVNTVlfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0RVTU1ZX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0VBU1lNQVJLRVRTIjoxLjAsImJyb2tlcl9FQ09WQUxPUkVTIjoxLjAsImJyb2tlcl9FREdFQ0xFQVIiOjEuMCwiZWRnZWNsZWFyX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0VJR0hUQ0FQIjoxLjAsImJyb2tlcl9FUlJBTlRFIjoxLjAsImJyb2tlcl9FU0FGWCI6MS4wLCJGSURFTElUWV9iZXRhIjoxLjAsIkZJREVMSVRZX3VzX3JlbGVhc2UiOjAuMjUsImZpZGVsaXR5X3NlY3VyaXR5X3Rva2VuIjoxLjAsImJyb2tlcl9GT1JFWENPTSI6MS4wLCJmb3JleGNvbV9zZXNzaW9uX3YyIjoxLjAsImJyb2tlcl9GUE1BUktFVFMiOjEuMCwiaGlkZV9GVFhfb25faW9zIjoxLjAsImhpZGVfRlRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJmdHhfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GVVNJT05NQVJLRVRTIjoxLjAsImZ4Y21fc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlhDTSI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9pb3MiOjEuMCwiaGlkZV9GWE9QRU5fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9GWFBSTyI6MS4wLCJicm9rZXJfRlhURiI6MS4wLCJicm9rZXJfRllFUlMiOjEuMCwiYnJva2VyX0dBVEUiOjEuMCwiYnJva2VyX0dCRUJST0tFUlMiOjEuMCwiZ2VtaW5pLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR0VOSUFMSU5WRVNUSU1FTlRPUyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2lvcyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9tb2JpbGVfd2ViIjoxLjAsImdsb2JhbHByaW1lLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR09NQVJLRVRTIjoxLjAsImJyb2tlcl9HT1RSQURFIjoxLjAsImdvdHJhZGVfZW5hYmxlX3N0cmVhbWluZ19lbmRwb2ludHMiOjEuMCwiYnJva2VyX0hFUkVOWUEiOjEuMCwiaGlkZV9IVFhfb25faW9zIjoxLjAsImhpZGVfSFRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9IVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfSUJLUiI6MS4wLCJjaGVja19pYmtyX3NpZGVfbWFpbnRlbmFuY2UiOjEuMCwiaWJrcl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9wYXJhbGxlbF9wcm92aWRlcl9pbml0aWFsaXphdGlvbiI6MS4wLCJpYmtyX3dzX2FjY291bnRfc3VtbWFyeSI6MS4wLCJpYmtyX3dzX3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9zdWJzY3JpYmVfdG9fb3JkZXJfdXBkYXRlc19maXJzdCI6MS4wLCJpYmtyX3dzX2FjY291bnRfbGVkZ2VyIjoxLjAsImJyb2tlcl9JQlJPS0VSIjoxLjAsImJyb2tlcl9JQ01BUktFVFMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19BU0lDIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfRVUiOjEuMCwiYnJva2VyX0lHIjoxLjAsImJyb2tlcl9JTkRTVE9DS1MiOjEuMCwiYnJva2VyX0lORk9ZQVRJUklNIjoxLjAsImJyb2tlcl9JTk5PVkVTVFgiOjEuMCwiYnJva2VyX0lOVEVSQUNUSVZFSUwiOjEuMCwiYnJva2VyX0lOVkVTVFJBREUiOjEuMCwiSU5WRVNUUkFERV9iZXRhIjoxLjAsImJyb2tlcl9JUk9OQkVBTSI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LSVdPT00iOjEuMCwia2l3b29tX3VzZV9zZXBhcmF0ZV9zdHJlYW1pbmdfdXJsIjoxLjAsImJyb2tlcl9LT1RBSyI6MS4wLCJoaWRlX0tPVEFLX29uX2lvcyI6MS4wLCJoaWRlX0tPVEFLX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9LT1RBS19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LUkFLRU4iOjEuMCwiaGlkZV9LUkFLRU5fb25faW9zIjoxLjAsImhpZGVfS1JBS0VOX29uX2FuZHJvaWQiOjEuMCwiS1JBS0VOX2JldGEiOjEuMCwia3Jha2VuX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfS1NFQ1VSSVRJRVMiOjEuMCwiYnJva2VyX0xJQkVSQVRPUiI6MS4wLCJicm9rZXJfTUVYQyI6MS4wLCJicm9rZXJfTUVYRU0iOjEuMCwiYnJva2VyX01JREFTIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9NT09NT08iOjEuMCwiYnJva2VyX01PVElMQUxPU1dBTCI6MS4wLCJicm9rZXJfTklOSkFUUkFERVIiOjEuMCwiYnJva2VyX09BTkRBIjoxLjAsIm9hbmRhX3NlcnZlcl9sb2dnaW5nIjoxLjAsIm9hbmRhX29hdXRoX211bHRpcGxleGluZyI6MS4wLCJicm9rZXJfT0tYIjoxLjAsImJyb2tlcl9PUE9GSU5BTkNFIjoxLjAsImJyb2tlcl9PUFRJTVVTIjoxLjAsImJyb2tlcl9PU01BTkxJIjoxLjAsImJyb2tlcl9PU01BTkxJRlgiOjEuMCwicGFwZXJfZm9yY2VfY29ubmVjdF9wdXNoc3RyZWFtIjoxLjAsInBhcGVyX3N1YmFjY291bnRfY3VzdG9tX2N1cnJlbmN5IjoxLjAsInBhcGVyX291dHNpZGVfcnRoIjoxLjAsImJyb2tlcl9QQVlUTSI6MS4wLCJicm9rZXJfUEVQUEVSU1RPTkUiOjEuMCwiYnJva2VyX1BIRU1FWCI6MS4wLCJicm9rZXJfUEhJTExJUENBUElUQUxfVFIiOjEuMCwiYnJva2VyX1BISUxMSVBOT1ZBIjoxLjAsImJyb2tlcl9QTFVTNTAwIjoxLjAsInBsdXM1MDBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJQTFVTNTAwVVNfYmV0YSI6MS4wLCJicm9rZXJfUFVSUExFVFJBRElORyI6MS4wLCJicm9rZXJfUVVFU1RSQURFIjoxLjAsImJyb2tlcl9SQVZBQlVSU0FUSUwiOjEuMCwiUkFWQUJVUlNBVElMX2JldGEiOjEuMCwiYnJva2VyX1JJWUFEQ0FQSVRBTCI6MS4wLCJicm9rZXJfUk9CT01BUktFVFMiOjEuMCwiYnJva2VyX1JFUExBWUJST0tFUiI6MS4wLCJicm9rZXJfU0FNVUVMIjoxLjAsImJyb2tlcl9TQVhPQkFOSyI6MS4wLCJicm9rZXJfU0hBUkVNQVJLRVQiOjEuMCwiYnJva2VyX1NLSUxMSU5HIjoxLjAsImJyb2tlcl9TUFJFQURFWCI6MS4wLCJicm9rZXJfU1dJU1NRVU9URSI6MS4wLCJicm9rZXJfU1RPTkVYIjoxLjAsImJyb2tlcl9UQVNUWUZYIjoxLjAsImJyb2tlcl9UQVNUWVRSQURFIjoxLjAsImJyb2tlcl9USElOS01BUktFVFMiOjEuMCwidGhpbmttYXJrZXRzX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwiYnJva2VyX1RJQ0tNSUxMIjoxLjAsImhpZGVfVElHRVJfb25faW9zIjoxLjAsImhpZGVfVElHRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RJR0VSX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX1RSQURFTkFUSU9OIjoxLjAsImJyb2tlcl9UUkFERVNUQVRJT04iOjEuMCwidHJhZGVzdGF0aW9uX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJ0cmFkZXN0YXRpb25fYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJ0cmFkZXN0YXRpb25fc3RyZWFtaW5nX3NlcnZlcl9sb2dnaW5nIjoxLjAsImJyb2tlcl9UUkFERVpFUk8iOjEuMCwiYnJva2VyX1RSQURJRVIiOjEuMCwiYnJva2VyX1RSQURJRVJfRlVUVVJFUyI6MS4wLCJ0cmFkaWVyX2Z1dHVyZXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfVFJBRE9WQVRFIjoxLjAsImhpZGVfVFJBRFVfb25faW9zIjoxLjAsImhpZGVfVFJBRFVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RSQURVX29uX21vYmlsZV93ZWIiOjEuMCwidHJhZHVfc3ByZWFkX2JldCI6MS4wLCJicm9rZXJfVFJJVkUiOjEuMCwiYnJva2VyX1ZBTlRBR0UiOjEuMCwiYnJva2VyX1ZFTE9DSVRZIjoxLjAsImJyb2tlcl9XRUJVTEwiOjEuMCwiYnJva2VyX1dFQlVMTEpBUEFOIjoxLjAsImJyb2tlcl9XRUJVTExQQVkiOjEuMCwiYnJva2VyX1dFQlVMTFVLIjoxLjAsImJyb2tlcl9XSElURUJJVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1RfRlVUVVJFUyI6MS4wLCJXSFNFTEZJTlZFU1RfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9YQ1VCRSI6MS4wLCJicm9rZXJfWUxHIjoxLjAsImJyb2tlcl9pZF9zZXNzaW9uIjoxLjAsImRpc2FsbG93X2NvbmN1cnJlbnRfc2Vzc2lvbnMiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlciI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyX2Zvcl91bnRlc3RlZF9icm9rZXJzIjoxLjAsIm1vYmlsZV90cmFkaW5nX3dlYiI6MS4wLCJtb2JpbGVfdHJhZGluZ19pb3MiOjEuMCwibW9iaWxlX3RyYWRpbmdfYW5kcm9pZCI6MS4wLCJjb250aW51b3VzX2Zyb250X2NvbnRyYWN0X3RyYWRpbmciOjEuMCwidHJhZGluZ19yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwib2F1dGgyX2NvZGVfZmxvd19wcm92aWRlcl9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3Rfb2F1dGgyX2NvZGVfZmxvd19tdWx0aXBsZXhpbmciOjEuMCwicmVzdF9sb2dvdXRfb25fNDI5IjoxLjAsInJldmlld19wb3B1cF9vbl9jaGFydCI6MS4wLCJzaG93X2NvbmN1cnJlbnRfY29ubmVjdGlvbl93YXJuaW5nIjoxLjAsImVuYWJsZV90cmFkaW5nX3NlcnZlcl9sb2dnZXIiOjEuMCwib3JkZXJfcHJlc2V0cyI6MS4wLCJvcmRlcl90aWNrZXRfcmVzaXphYmxlX2RyYXdlcl9vbiI6MS4wLCJyZXN0X3VzZV9hc3luY19tYXBwZXIiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fYmFubmVyX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2xlYWRlcmJvYXJkIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3ByZXZpb3VzX2NvbXBldGl0aW9ucyI6MS4wLCJhbXBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJibHVlbGluZV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImRvcm1hbl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImlyb25iZWFtX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwib3B0aW11c19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInN0b25leF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInlsZ19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInRyYWRpbmdfZ2VuZXJhbF9ldmVudHNfZ2FfdHJhY2tpbmciOjEuMCwicmVwbGF5X3Jlc3VsdF9zaGFyaW5nIjoxLjAsInJlcGxheV90cmFkaW5nX2JyYWNrZXRzIjoxLjAsImhpZGVfYWxsX2Jyb2tlcnNfYnV0dG9uX2luX2lvc19hcHAiOjEuMCwiZm9yY2VfbWF4X2FsbG93ZWRfcHVsbGluZ19pbnRlcnZhbHMiOjEuMCwicGFwZXJfZGVsYXlfdHJhZGluZyI6MS4wLCJlbmFibGVfZmlyc3RfdG91Y2hfaXNfc2VsZWN0aW9uIjoxLjAsImNsZWFyX3Byb2plY3Rfb3JkZXJfb25fb3JkZXJfdGlja2V0X2Nsb3NlIjoxLjAsImVuYWJsZV9uZXdfYmVoYXZpb3Jfb2ZfY29uZmlybV9idXR0b25zX29uX21vYmlsZSI6MS4wLCJyZW5ld190b2tlbl9wcmVlbXB0aW9uXzMwIjoxLjAsImRvX25vdF9vcGVuX290X2Zyb21fcGx1c19idXR0b24iOjEuMCwiYnJva2VyX3NpZGVfcHJvbW90aW9uIjoxLjAsImVuYWJsZV9uZXdfdHJhZGluZ19tZW51X3N0cnVjdHVyZSI6MS4wLCJxdWlja190cmFkaW5nX3BhbmVsIjoxLjAsInBhcGVyX29yZGVyX2NvbmZpcm1hdGlvbl9kaWFsb2ciOjEuMCwicGFwZXJfbXVsdGlwbGVfbGV2ZWxzX2VuYWJsZWQiOjEuMCwicGFwZXJfbWFyZ2luX2NvbnRyb2wiOjEuMCwiZW5hYmxlX3NlZ21lbnRhdGlvbl9wYXBlcl90cmFkaW5nIjoxLjAsImVuYWJsZV9jaGFydF9hZGFwdGl2ZV90cHNsX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsImVuYWJsZV9tYXJrZXRfcHJvamVjdF9vcmRlciI6MS4wLCJlbmFibGVfc3ltYm9sc19wb3B1bGFyaXR5X3Nob3dpbmciOjEuMCwiZW5hYmxlX3RyYW5zbGF0aW9uc19zM191cGxvYWQiOjEuMCwiZXRmX2Z1bmRfZmxvd3Nfb25seV9kYXlzX3Jlc29sdXRpb25zIjoxLjAsImRpc2FibGVfc25vd3Bsb3dfcGxhdGZvcm1fZXZlbnRzIjoxLjAsIm5vdGlmeV9pZGVhX21vZHNfYWJvdXRfZmlyc3RfcHVibGljYXRpb24iOjEuMCwiZW5hYmxlX3dhZl90cmFja2luZyI6MS4wLCJuZXdfZXJyb3JzX2Zsb3ciOjEuMCwicXVvdGUtdG9rZW4tZmlsdGVyLW93bi1zY3JpcHRzLWJ5LWFjY2VzcyI6MS4wLCJrZWVwX2luZGljYXRvcnNfc2VhcmNoX3N0YXRlIjoxLjAsImtlZXBfaW5kaWNhdG9yc190YWJfc2Nyb2xsX3N0YXRlIjoxLjAsImNvbmZpZ3VyYWJsZV9zZWFyY2hfYW5kX2ZpbHRyYXRpb24iOjEuMCwicGluZV9lZGl0b3Jfd3JhcF9vbl9saW5lX3NwbGl0IjoxLjAsInN5bWJvbF9zZWFyY2hfY291bnRyeV9zb3VyY2VzIjoxLjAsIndhdGNobGlzdHNfZGlhbG9nX3Njcm9sbF90b19hY3RpdmUiOjEuMCwiYm90dG9tX3BhbmVsX3RyYWNrX2V2ZW50cyI6MS4wLCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSI6MS4wLCJzaG93X2RhdGFfcHJvYmxlbXNfaW5faGVscF9jZW50ZXIiOjEuMCwiZW5hYmxlX2FwcGxlX2RldmljZV9jaGVjayI6MS4wLCJlbmFibGVfYXBwbGVfaW50cm9fb2ZmZXJfc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19vZmZlcl9zaWduYXR1cmVfdjIiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2FuZHJvaWQiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19pb3MiOjEuMCwiZW5hYmxlX21hbnRpY29yZV9jbHVzdGVyIjoxLjAsImVuYWJsZV9wdXNoc3RyZWFtX2F1dGgiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5IjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9wYXBlcnRyYWRpbmciOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3NjcmVlbmVyIjoxLjAsIm9wdGlvbnNfcmVkdWNlX3BvbGxpbmdfaW50ZXJ2YWwiOjEuMCwib3B0aW9uc19idWlsZGVyX2dyb3VwX2FjdGlvbnMiOjEuMCwib3B0aW9uc19jaGFpbl9zaWdtYV9maWx0ZXIiOjEuMCwib3B0aW9uc19icm9rZXJfc3RyYXRlZ2llcyI6MS4wLCJzaG93X3RvYXN0X2Fib3V0X3VucmVhZF9tZXNzYWdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3BheW91dCI6MS4wLCJlbmFibGVfZW1haWxfY2hhbmdlX2xvZ2dpbmciOjEuMCwiZW5hYmxlX2VtYWlsX29uX3BhcnRuZXJfc3RhdHVzX2NoYW5nZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtX2FwcGx5IjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW0iOjEuMCwiY29tcHJlc3NfY2FjaGVfZGF0YSI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciOjEuMCwibmV3c19zY3JlZW5lcl9wYWdlX2NsaWVudCI6MS4wLCJlbmFibGVfZGVjbGFyYXRpb25fcG9wdXBfb25fbG9hZCI6MS4wLCJzaG93X2RhdGFfYm9uZHNfZnJlZV91c2VycyI6MS4wLCJlbmFibGVfbW9kZXJuX3JlbmRlcl9tb2RlIjoxLjAsImVuYWJsZV9wcm9mX3BvcHVwX2ZyZWUiOjEuMCwiaW9zX2FwcF9uZXdzX2FuZF9taW5kcyI6MS4wLCJkb19ub3RfZGlzY2xvc2VfcGhvbmVfb2NjdXBhbmN5IjoxLjAsImVuYWJsZV9yZWRpcmVjdF90b193aWRnZXRfZG9jdW1lbnRhdGlvbl9vZl9hbnlfbG9jYWxpemF0aW9uIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19oaWJlcm5hdGlvbiI6MS4wLCJuZXdzX3N0cmVhbWluZ19oaWJlcm5hdGlvbl9kZWxheV8xMG1pbiI6MS4wLCJwYXNzX3JlY292ZXJ5X3NlYXJjaF9oaWRlX2luZm8iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX29uX3NjcmVlbmVyIjoxLjAsImVuYWJsZV9mb3JjZWRfZW1haWxfY29uZmlybWF0aW9uIjoxLjAsInNob3dfZ2lmdF9idXR0b24iOjEuMCwiYWRkcmVzc192YWxpZGF0aW9uX2VuYWJsZWQiOjEuMCwiZGlzYWJsZV91bnZlcmlmaWVkX2FkZHJlc3MiOjEuMCwiZ2VuZXJhdGVfaW52b2ljZV9udW1iZXJfYnlfY291bnRyeSI6MS4wLCJzaG93X2Zhdm9yaXRlX2xheW91dHMiOjEuMCwiZW5hYmxlX3NvY2lhbF9hdXRoX2NvbmZpcm1hdGlvbiI6MS4wLCJlbmFibGVfYWRfYmxvY2tfZGV0ZWN0IjoxLjAsInR2ZF9uZXdfdGFiX2xpbmtpbmciOjEuMCwidHZkX3RpbWVfYW5kX2RhdGVfcmFuZ2VfbGlua2luZyI6MS4wLCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsIndyb25nX2FjY291bnRfZGlhbG9nX3ByaW1hcnlfc3dpdGNoIjoxLjAsImVuYWJsZV9saW5ndWFfbGFuZ19jaGVjayI6MS4wLCJnZXRfc2F2ZWRfYWN0aXZlX2xpc3RfYmVmb3JlX2dldHRpbmdfYWxsX2xpc3RzIjoxLjAsIndhdGNobGlzdF9hZGRfc291cmNlX3BhcmFtIjoxLjAsInNob3dfcmVmZXJyYWxfbm90aWZpY2F0aW9uX2RpYWxvZyI6MS4wLCJzZXRfbmV3X2JsYWNrX2NvbG9yIjoxLjAsIm5ld3NfdXNlX25ld3NfbWVkaWF0b3IiOjEuMCwiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iOjEuMCwicmVzdHJpY3RfcHduZWRfcGFzc3dvcmRfc2V0IjoxLjAsIm5vdGlmX3NldHRpbmdzX2VuYWJsZV9uZXdfc3RvcmUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfd3JpdGUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfcmVhZCI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3NkayI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3Nkay1mb3ItaW5pdGlhbC1wdXJjaGFzZSI6MS4wLCJlbmFibGVfbWV0YWRlZmVuZGVyX2NoZWNrX2Zvcl9hZ3JlZW1lbnQiOjEuMCwic2hvd19kb3dubG9hZF95aWVsZF9jdXJ2ZXNfZGF0YSI6MS4wLCJtb3ZlX2tleV90ZW5vcnNfdG9fc2V0dGluZ3MiOjEuMCwic2hvd195aWVsZF9jdXJ2ZXNfbWFwIjoxLjAsImRpc2FibGVfd2lkZ2V0YmFyX2luX2FwcHMiOjEuMCwiaGlkZV9wdWJsaWNhdGlvbnNfb2ZfYmFubmVkX3VzZXJzIjoxLjAsImVuYWJsZV9zdW1tYXJ5X3VwZGF0ZXNfZnJvbV9jaGFydF9zZXNzaW9uIjoxLjAsInNob3dfbmV3c19mbG93X3Rvb2xfcmlnaHRfYmFyIjoxLjAsImVuYWJsZV9jaGFydF9zYXZpbmdfc3RhdHMiOjEuMCwiZW5hYmxlX3NhdmluZ19zYW1lX2NoYXJ0X3JhdGVfbGltaXQiOjEuMCwibmV3c19hbGVydHNfZW5hYmxlZCI6MS4wLCJuZXdzX211bHRpcGxlX2FsZXJ0c19lbmFibGVkIjoxLjAsInJlZnVuZF91bnZvaWRhYmxlX2NvdXBvbnNfZW5hYmxlZCI6MS4wLCJlbmFibGVfc25vd3Bsb3dfZW1haWxfdHJhY2tpbmciOjEuMCwibmV3c19lbmFibGVfc2VudGltZW50IjoxLjAsInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIjoxLjAsImVuYWJsZV91c2Vyc2V0dGluZ3Nfc3ltYm9sc19wZXJfcm93X3NvZnRfbGltaXQiOjAuMSwiZm9yYmlkX2xvZ2luX3dpdGhfcHduZWRfcGFzc3dvcmRzIjoxLjAsImRlYnVnX2dldF90ZXN0X2JhcnNfZGF0YSI6MS4wLCJuZXdzX3VzZV9tZWRpYXRvcl9zdG9yeSI6MS4wLCJuZXdzX2Zsb3dfcmVjb25maWd1cmVfZmlsdGVycyI6MS4wLCJibGFja19mcmlkYXlfZW5hYmxlX3NraXBfdG9fcGF5bWVudCI6MS4wLCJoaWRlX3RyYWRpbmdfYnV0dG9uX29uX2JvdHRvbV9wYW5lbF9hbmRfcmVwbGF5X3RhYiI6MS4wLCJoaWRlX3RyYWRlX2J1dHRvbl9oaW50X2luX2hlYWRlcl90b29sYmFyIjoxLjAsImhpZGVfc2VlX29uX3N1cGVyX2NoYXJ0c19idXR0b24iOjEuMCwiaGlkZV9zeW1ib2xfcGFnZV9jaGFydF90eXBlX3N3aXRjaGVyIjoxLjAsImRpc2FibGVfY2hhdF9zcGFtX3Byb3RlY3Rpb25fZm9yX3ByZW1pdW1fdXNlcnMiOjEuMCwiZGlzYWJsZV9wdWJsaWNfcGluZV9zY3JpcHRfcHVibGlzaF9saW1pdHMiOjEuMCwibWFrZV90cmFkaW5nX3BhbmVsX2NvbnRleHR1YWxfdGFiIjoxLjAsInJlY29ubmVjdF9nYWluX3Nlc3Npb25fb25fbHNfZXJyb3IiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXltZW50cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9reWMiOjEuMCwiaW5kaWFfZXhjbHVkZV9icmFpbnRyZWVfdGFiIjoxLjAsIm1hY3JvX21hcHNfaGlkZV90b29sdGlwX2NoYXJ0X2J1dHRvbiI6MS4wLCJmb3JjZV9reWNfZm9yX25vbnByb19wdXJjaGFzZV9ieV9jb21tZXJjaWFsIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfZnVsbHNjcmVlbl9idXR0b24iOjEuMCwic2hvd19zcGxpdF9wYW5lbF9tb3ZlX2J1dHRvbl90b190aXRsZSI6MS4wLCJvcmRlcl9wcmVzZXRzX2NydWRfc3RvcmFnZSI6MS4wLCJvcmRlcl9wcmVzZXRzX3JlbW92ZV9mcm9tX3R2X3NldHRpbmdzIjoxLjAsImNoZWNrb3V0LWZsb3ctdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheSI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbCI6MS4wLCJmb3JiaWRfc2lnbnVwX3dpdGhfZmFrZV9nbWFpbF9kb21haW5zIjoxLjAsInNob3dfaW1wb3J0X2Zyb21fcGFwZXJfdHJhZGluZ19idXR0b24iOjEuMCwic3ltYm9sX3NlYXJjaF9ncm91cGluZyI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsLXRyaWFsIjoxLjAsInZvaWRfbm90X2ZvdW5kX2Nrb19wYXltZW50X2luX2FwcHJvdmVkX3dlYmhvb2siOjEuMCwic2hvd19wYW5lbF9jb2xsYXBzZV9idXR0b24iOjEuMCwiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIjowLjN9OwoKCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuaWRjX2V4Y2hhbmdlc19saXN0ID0gWyJuengiLCJibWUiLCJibWVfc3RvY2tzIiwic2hmZSIsInN6c2UiLCJuYWciLCJ0ZngiLCJ0d3NlIiwiYnZjIiwiYnZjdiIsImJtdiIsImJ2bXQiLCJidmwiLCJiY3MiLCJzaXgiLCJic3NlIiwiYmFocmFpbiIsImJlbGV4IiwibnNla2UiLCJxc2UiXTsKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iMW0wQjQzZXlVcnIvTURVN2VPdTNmQT09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9IjFtMEI0M2V5VXJyL01EVTdlT3UzZkE9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9IjFtMEI0M2V5VXJyL01EVTdlT3UzZkE9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCjxzY3JpcHQgbm9uY2U9IjFtMEI0M2V5VXJyL01EVTdlT3UzZkE9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":227,"timings":{"blocked":0,"dns":13,"connect":8,"send":0,"wait":186,"receive":0,"ssl":20},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/#","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:16.298Z","timestamp":1785124876298,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 8050\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\nvary: Accept-Encoding,User-Agent\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"particles.js","description":"Particles.js is a JavaScript library for creating particles.","website":"https://github.com/VincentGarreau/particles.js","common_platform_enumeration":"","icon":"","categories":["JavaScript graphics"]},{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","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"]},{"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":"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"]}],"data":{"size":45463,"size_decoded":8367,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (1549)","md5":"af9fd7bee8a99f448f5492f36cae82d6","sha1":"51ede8add8769813f1ea7e181c80f4c75b6e33f2","sha256":"3acedd52f9f10aa128b3df50d427631083fa765efbe76748cccf13b5b054653a","sha512":"1950811880a9ae90ffefd722efdc8ccdb198c764e3259d900ebc9626fafaf55c7afd4d54e0c8fd4c7440c0b5bda4139383c213b88855a3204b71eb0162ad1a76","ssdeep":"768:iXjP+oOUwPIyuvpSQcmNoKhQq/kXV0iW/MIYJtCte8LBI8S8F8yFKFty:2QqcxW/MIYJtOQTy","tlshash":"d8132d3198f5006351a3d0c5ba716b6b2f82ea5bc61b8a4576fc0b9c5fc3d86ec6360d","first_seen":"2026-07-27T03:24:36.839431Z","last_seen":"2026-07-27T04:03:29.959918Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiB4bWw6bGFuZz0iZW4iPiAgICAKPGhlYWQ+ICAgICAgIAogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPiAKICAgCiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0ibW9zdCBwb3B1bGFyIGNyeXB0byBjdXJyZW5jaWVzLGNyeXB0b2N1cnJlbmN5LHRvcCBjcnlwdG8gY3VycmVuY3kgZXhjaGFuZ2VzLG1vc3QgcHJvZml0YWJsZSBiaXRjb2luIG1pbmluZyBwb29sLHR5cGVzIG9mIGNyeXB0byBjdXJyZW5jaWVzLG9pbnMgb25saW5lLGJ1eSBiaXRjb2lucyB3aXRoIGNyZWRpdCBjYXJkLGJpdGNvaW4sd2hhdCBhcmUgYml0Y29pbnMsaG93IHRvIGJ1eSBiaXRjb2luIHN0b2NrLGJ1eSBiaXRjb2lucyBpbnN0YW50bHksYml0Y29pbiBkb2xsYXIgZXhjaGFuZ2UgcmF0ZSxpcyBiaXRjb2luIG1pbmluZyB3b3J0aCBpdCxiaXRjb2luIHZhbHVlIGNoYXJ0LGhvdyBtdWNoIGlzIDEgYml0Y29pbixiaXRjb2luIHZhbHVlIHVzZCxiaXRjb2luIGRvbGxhciBjaGFydCxiaXRjb2luIHRvIHVzZCxiaXRjb2luIHZhbHVlIHByb2plY3Rpb25zLGVhc2llc3Qgd2F5IHRvIGJ1eSBiaXRjb2lucyxiZXN0IHdheSB0byBidXkgYml0Y29pbnMsYmVzdCBwbGFjZSB0byBidXkgYml0Y29pbnMsYnV5IGJ0YyB3aXRoIGNyZWRpdCBjYXJkLGJ1eSBiaXRjb2lucyB3aXRoIGRlYml0IGNhcmQsaG93IHRvIGJ1eSBiaXRjb2lucyBmb3IgZHVtbWllcyxiZXN0IHdheSB0byBnZXQgYml0Y29pbnMsaG93IHRvIHB1cmNoYXNlIGJpdGNvaW5zLGhvdyB0byBidXkgYml0Y29pbnMsc3RvcmVzIHRoYXQgYWNjZXB0IGJpdGNvaW5zLHdoYXQgbWVyY2hhbnRzIHRha2UgYml0Y29pbnMsYml0Y29pbiBpbnZlc3RtZW50IGluZGlhLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBzb3V0aCBhZnJpY2EsYml0Y29pbiBpbnZlc3RtZW50IGluIGdoYW5hLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBkdWJhaSxpdGNvaW4gaW52ZXN0bWVudCBpbiBvbWFuLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBsYWR5c21pdGgsYml0Y29pbiBpbnZlc3RtZW50IGluIHNpbmdhcG9yZSxiaXRjb2luIGludmVzdG1lbnQgaW4gYm90c3dhbmEsYml0Y29pbiBpbnZlc3RtZW50IGphcGFuLGJpdGNvaW4gaW52ZXN0bWVudCBqaW0gZGF2aWRzb24sYml0Y29pbiBpbnZlc3RtZW50IHN0cmF0ZWd5LGJpdGNvaW4gaW52ZXN0bWVudCBzY3JpcHQgcGhwLGJpdGNvaW4gaW52ZXN0bWVudCB0ZW1wbGF0ZSxiaXRjb2luIGludmVzdG1lbnQgdGVsZWdyYW0gZ3JvdXAsYml0Y29pbiBpbnZlc3RtZW50IHRlc3RpbW9uaWVzLGJpdGNvaW4gaW52ZXN0bWVudCB0cnVzdCBwcmljZSxpcyBiaXRjb2luIHZpYWJsZSBpbnZlc3RtZW50LCAjYnRjLCAjbW9uZXksICNldGhlcmV1bSwgI2ZvcmV4LCAjYml0Y29pbm1pbmluZywgI3RyYWRpbmcsICNpbnZlc3RtZW50LCAjYnVzaW5lc3MsICNmb3JleHRyYWRlciwgI2xpdGVjb2luLCAjdHJhZGVyLCAjYml0Y29pbmNhc2gsICNiaXRjb2lubmV3LHMgI2JpdGNvaW5zLCAjYmluYXJ5b3B0aW9ucywgI2VudHJlcHJlbmV1ciwgI2ludmVzdCwgI2NyeXB0b25ld3MsICNpbnZlc3RpbmcsICNiaXRjb2lucHJpY2UsICNldGgsICNjb2luYmFzZSwgI2ludmVzdG9yLCAjcmlwcGxlLCAjYmluYXIsIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iVHJ1c3RlZCBUcmFkaW5nIGNvbXBhbnkiIC8+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9OTIwIj4KCiAgICAKCgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSJpbWFnZXMvZmF2aWNvbi5wbmciIHR5cGU9ImltYWdlL3BuZyIgLz4gCiAgICA8c2NyaXB0PjA8L3NjcmlwdD4KICAgIDwhLS0gRm9udCBGYW1pbHkgLS0+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UFQrU2Fuczo0MDAsNzAwIiByZWw9InN0eWxlc2hlZXQiPiAKICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDMwMGksNDAwLDQwMGksNjAwLDYwMGksNzAwLDcwMGksODAwLDgwMGkiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczozMDAsNDAwLDUwMCw2MDAsNzAwLDgwMCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDwhLS0gV2Vic2l0ZSBUaXRsZSAtLT4KICAgIDx0aXRsZT5iZXJ0aGVuZXJneS1pbmMuYml6PC90aXRsZT4KICAgIDwhLS0gU3R5bGVzaGVldHMgU3RhcnQgLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ZvbnQtYXdlc29tZS81LjE1LjQvY3NzL2FsbC5taW4uY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3Mvc3R5bGVzL2Jvb3RzdHJhcC5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvYW5pbWF0ZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvb3dsLmNhcm91c2VsLm1pbi5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvc3R5bGVtYWluLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL3N0eWxlcy9yZXNwb25zaXZlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KICAgICA8IS0tIFN0eWxlc2hlZXRzIEVuZCAtLT4KICAgIDwhLS1baWYgbHQgSUUgOV0+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2h0bWw1c2hpdi8zLjcuMy9odG1sNXNoaXYuanMiPjwvc2NyaXB0PjwhW2VuZGlmXS0tPgogICAgPCEtLVtpZiBsdCBJRSA5XT48c2NyaXB0IHNyYz0ianMvcmVzcG9uZC5qcyI+PC9zY3JpcHQ+PCFbZW5kaWZdLS0+CiAgICAKPC9oZWFkPjxib2R5IGNsYXNzID0gJ3NpbmdsZS1wb3N0Jz4KICAgIDwhLS1NYWluIFdyYXBwZXIgU3RhcnQtLT4KICAgIDxkaXYgY2xhc3M9IndyYXBwZXIiIGlkPSJ0b3AiPgogICAgICAgIDwhLS1IZWFkZXIgU3RhcnQgLS0+CiAgICAgICAgPGhlYWRlcj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgbG9nbyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIuLyIgdGl0bGU9ImJlcnRoZW5lcmd5LWluYy5iaXoiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxpZ2h0IiBzcmM9ImltYWdlcy9sb2dvLnBuZyIgYWx0PSJiZXJ0aGVuZXJneS1pbmMuYml6Ij4KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJkYXJrIiBzcmM9ImltYWdlcy9sb2dvLnBuZyIgaGVpZ2h0ID0gIjgwcHgiIGFsdD0iYmVydGhlbmVyZ3ktaW5jLmJpeiI+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOCBtYWluLW1lbnUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1pY29uIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9wIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1pZGRsZSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJib3R0b20iPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0ib25lcGFnZSI+CiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJhY3RpdmUiPjxhIGhyZWY9Ii4vIj5Ib21lPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1hYm91dCI+QWJvdXQgVXM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4vI3ByaWNpbmciPlRyYWRlPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1ydWxlcyI+TGVnYWw8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4vI3RlYW0iPnRlYW08L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXN1cHBvcnQiPkNvbnRhY3Q8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtYnRuIj48YSBocmVmPSI/YT1sb2dpbiIgc3R5bGUgPSAiY29sb3I6I0ZGRDAxNzsgYm9yZGVyOjFweCBzb2xpZCAjRkZEMDE3Ij5TaWduIEluPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Imdvb2dsZV90cmFuc2xhdGVfZWxlbWVudCI+PC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCgpIHsKICAgICAgICBuZXcgZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHsKICAgICAgICAgICAgcGFnZUxhbmd1YWdlOiAnZW4nLAogICAgICAgICAgICBsYXlvdXQ6IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudC5JbmxpbmVMYXlvdXQuU0lNUExFCiAgICAgICAgfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCcpOwogICAgfQoKPC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3RyYW5zbGF0ZS5nb29nbGUuY29tL3RyYW5zbGF0ZV9hL2VsZW1lbnQuanM/Y2I9Z29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQiPjwvc2NyaXB0Pgo8c3R5bGU+CiAgICAuZ29vZy10ZS1nYWRnZXQgaW1nIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC5nb29nLXRlLWdhZGdldC1zaW1wbGUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgcGFkZGluZzogN3B4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICB9CiAgICAKICAgIC5nb29nLXRlLWdhZGdldC1zaW1wbGUgLmdvb2ctdGUtbWVudS12YWx1ZSBzcGFuewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgIH0KCjwvc3R5bGU+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbmF2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2hlYWRlcj4gICAgICAgIDwhLS1IZWFkZXIgRW5kLS0+CgogICAgICAgIDwhLS0gQ29udGVudCBTZWN0aW9uIFN0YXJ0IC0tPiAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1pZGQtY29udGFpbmVyIj4uCiAgICAgICAgICAgIDwhLS0gSGVybyBTZWN0aW9uIFN0YXJ0IC0tPiAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLW1haW4gZGlhbW9uZC1sYXlvdXQgd2hpdGUtc2VjIiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoaW1hZ2VzL3NsaWRlci5wbmcpO2hlaWdodDo3MDBweCAhaW1wb3J0YW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgc3R5bGUgPSAidGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjojMDAwMDAwIj5UcmFkZSB3aXRoIEJlcnRoZW5lcmd5IDxzcGFuIHN0eWxlID0gInRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7IGNvbG9yOiMwNUFBOUIiPmFzc2V0cywgdGhlIHNtYXJ0IHdheSwgaGFzc2xlLWZyZWU8L3NwYW4+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsZWFkIHRleHQtY2FwaXRhbGl6ZSIgc3R5bGUgPSAiY29sb3I6IzAwMDAwMCI+c21hcnQgdXNlcnMgYW5kIHN0YXJ0IFRyYWRpbmcgd2l0aCBCZXJ0aGVuZXJneSBhdCB0aGUgYmVzdCBhdmFpbGFibGUgcHJpY2UgYW55d2hlcmUgYXQgYW55IHRpbWUuIEEgdHJ1c3RlZCBhbmQgYWNjZXNzaWJsZSB3ZWFsdGggbWFuYWdlbWVudCBlY29lbmVyZ3kgcG93ZXJlZCBieSBibG9ja2NoYWluIHRlY2hub2xvZ3k8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLWJ0bnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9ImJ0biBidG40IiBzdHlsZSA9ICJib3JkZXItcmFkaXVzOjM3cHgiPkNSRUFURSBBQ0NPVU5UPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0iYnRuIGJ0bjUiIHN0eWxlID0gImJvcmRlci1yYWRpdXM6MzdweCI+TE9HSU48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtNiIgZGF0YS13b3ctZGVsYXk9IjAuNXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbW9uZC1hbmltYXRpb24gbW9iaWxlLWhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbW9uZC1ncmlkIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWdyaWQtMiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0ZXItT3JiaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJPcmJpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3RhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Ik9yYml0U3F1YXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXIiPkE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWNvaW4iPjxzcGFuPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGluZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtOCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtOSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMTAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsLTExIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibC0xMiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsLTE0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibC0xNSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5zaWRlLWJpdGNvaW4iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlzMiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNxdWFyZS0xIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9iaWxlLXZpc2libGUgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGlhbW9uZC1hbmltYXRpb24tbW9iaWxlLnBuZyIgYWx0PSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIEhlcm8gU2VjdGlvbiBFbmQgLS0+CgogICAgICAgICAgICAgPCEtLSBibG9nIHNlY3Rpb24gLS0+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbnMiIGlkID0gInByaWNpbmciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZSA9ICJwYWRkaW5nOjdweCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPjxoMiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIiBzdHlsZSA9ICJtYXJnaW4tdG9wOjIwcHgiPlNtYXJ0IFRyYWRpbmcgUGxhbnM8L2gyPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyIgc3R5bGUgPSAicGFkZGluZzo3cHgiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbC1sZy00JyBzdHlsZSA9ICdib3JkZXI6NHB4IHNvbGlkICMwMDAwMDA7IHBhZGRpbmc6MTBweDsgYm9yZGVyLXJhZGl1czo3cHgnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3MgPSAndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+U1RBUlRFUjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQxMC4wMCA8c3BhbiBzdHlsZSA9ICdmb250LXNpemU6MTRweCc+TWluaW11bTwvc3Bhbj48L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGUgPSAncGFkZGluZzoycHg7Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IEluc3RhbnQgV2l0aGRyYXdhbDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGUgPSAnbWFyZ2luLXRvcDogLTEwcHgnPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBEZWRpY2F0ZWQgU3VwcG9ydDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGUgPSAnbWFyZ2luLXRvcDogLTEwcHgnPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBEdXJhdGlvbjogMjQgSG91cnM8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgUHJvZml0OiA4JTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0ZXh0LWNlbnRlcic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND4kNDk5LjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbGctNCcgc3R5bGUgPSAnYm9yZGVyOjRweCBzb2xpZCAjMDAwMDAwOyBwYWRkaW5nOjEwcHg7IGJvcmRlci1yYWRpdXM6N3B4Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzID0gJ3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PklOVEVSTUVESUFURTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQ1MDAuMDAgPHNwYW4gc3R5bGUgPSAnZm9udC1zaXplOjE0cHgnPk1pbmltdW08L3NwYW4+PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlID0gJ3BhZGRpbmc6MnB4Oyc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBJbnN0YW50IFdpdGhkcmF3YWw8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRGVkaWNhdGVkIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRHVyYXRpb246IDI0IEhvdXJzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZSA9ICdtYXJnaW4tdG9wOiAtMTBweCc+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IFByb2ZpdDogMTYlPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQ2OTk5LjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbGctNCcgc3R5bGUgPSAnYm9yZGVyOjRweCBzb2xpZCAjMDAwMDAwOyBwYWRkaW5nOjEwcHg7IGJvcmRlci1yYWRpdXM6N3B4Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzID0gJ3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkFEVkFOQ0VEPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+JDcwMDAuMDAgPHNwYW4gc3R5bGUgPSAnZm9udC1zaXplOjE0cHgnPk1pbmltdW08L3NwYW4+PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlID0gJ3BhZGRpbmc6MnB4Oyc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBJbnN0YW50IFdpdGhkcmF3YWw8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRGVkaWNhdGVkIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRHVyYXRpb246IDQ4IEhvdXJzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZSA9ICdtYXJnaW4tdG9wOiAtMTBweCc+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IFByb2ZpdDogMzMlPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQxMDAwMDAwLjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnI+CiAgICAgICAgICAgIDwhLS0gYmxvZyBzZWN0aW9uIEVuZCAtLT4KICAgICAgICAgICAgPCEtLUFib3V0IFN0YXJ0IC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dC1zZWN0aW9uIHAtdGIgZGlhbW9uZC1sYXlvdXQiIGlkPSJhYm91dCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvY2VydC5wbmciIHN0eWxlID0gImJvcmRlci1yYWRpdXM6IDhweDsgYm9yZGVyOjVweCBzb2xpZCAjMDAwMDAwIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy03IGNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyIgc3R5bGUgPSAiZm9udC1zaXplOjI1cHg7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgdGV4dC1hbGlnbjpjZW50ZXIiPldlbGNvbWUgVG8gYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBzdHlsZSA9ICJ0ZXh0LWFsaWduOmNlbnRlciI+QWJvdXQgVXM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PldlIGFyZSB0cnVzdGVkIGFuZCBhY2Nlc3NpYmxlIHdlYWx0aCBtYW5hZ2VtZW50IGVjb2VuZXJneSBwb3dlcmVkIGJ5IGJsb2NrY2hhaW4gdGVjaG5vbG9neSwgYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkIHB1dHMgeW91ciB3ZWFsdGggYmFjayBpbiB5b3VyIGhhbmRzLiBiZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBDb21wYW55IGlzIGEgbGVhZGluZyBCZXJ0aGVuZXJneSB0cmFkaW5nIEdyb3VwIHRoYXQgdXRpbGl6ZXMgaW5ub3ZhdGl2ZSBwcm9wcmlldGFyeSB0ZWNobm9sb2dpZXMgdG8gcHJvdmlkZSBtYW5hZ2VkIEJlcnRoZW5lcmd5IHRyYWRpbmcgc2VydmljZXMgdG8geWllbGQgaGlnaGVyIHByb2ZpdHMuPC9oNT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBOYXYgdGFicyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyB0ZXh0LXVwcGVyY2FzZSIgcm9sZT0idGFibGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1saW5rIGFjdGl2ZSIgaWQ9Im1pc3Npb24tdGFiIiBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjbWlzc2lvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSJtaXNzaW9uIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj5PdXIgTWlzc2lvbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ2aXNpb24tdGFiIiBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdmlzaW9uIiByb2xlPSJ0YWIiIGFyaWEtY29udHJvbHM9InZpc2lvbiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPk91ciB2aXNpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1saW5rIiBpZD0iZ3VhcmFudGVlcy10YWIiIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNndWFyYW50ZWVzIiByb2xlPSJ0YWIiIGFyaWEtY29udHJvbHM9Imd1YXJhbnRlZXMiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5HdWFyYW50ZWVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYWIgcGFuZXMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJtaXNzaW9uIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1sYWJlbGxlZGJ5PSJtaXNzaW9uLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XaGlsZSB3ZSBzZXJ2ZWQgYXMgYW4gVHJhZGluZyBob3VzZSBmb3IgcmV0YWlsIGJpdGNvaW4gaW52ZXN0b3JzLCBvdXIgY29yZSBwdXJwb3NlIGFuZCBmb2N1cyB3YXMgYWx3YXlzLCBmaXJzdCBhbmQgZm9yZW1vc3QsIHRvIGJlIGFuIGVkdWNhdGlvbiBob3VzZS4gVG8gcHJvdmlkZSBjbGVhciBhbmQgdW5yaXZhbGxlZCBlZHVjYXRpb24gaW4gdGhlIHNwYWNlOyB0byBkZW15c3RpZnkgdGhlIGNvbXBsZXggbmF0dXJlIG9mIGJsb2NrY2hhaW4gdGVjaG5vbG9neSBhbmQgb2ZmZXIgaW5zaWdodCBpbnRvIHRoZSBmaW5hbmNpYWwgYW5kIHBoaWxvc29waGljYWwgdmFsdWUgaGVsZCB3aXRoaW4gaXRzIGJsdWVwcmludC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSIgaWQ9InZpc2lvbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0idmlzaW9uLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGlzIGV0aG9zIG9mIGVkdWNhdGlvbiByZW1haW5zIGEga2V5IHRlbmV0IG9mIHdobyB3ZSBhcmUgYW5kIHdoYXQgd2UgZG8uIEJ1dCBhcyBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgYm91bmRsZXNzLCB1bnRhcHBlZCBwb3RlbnRpYWwgb2YgQml0Y29pbiBoYXMgZGV2ZWxvcGVkIGFuZCBkZWVwZW5lZCwgc28gdG9vIGhhcyBvdXIgbWFya2V0IG9mZmVyaW5nLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIiBpZD0iZ3VhcmFudGVlcyIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0iZ3VhcmFudGVlcy10YWIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSB0dXJuZWQgb3VyIGF0dGVudGlvbiB0byBwcm92aWRlIGEgbW9yZSBob2xpc3RpYyBhbmQgZmFyLXJlYWNoaW5nIHNvbHV0aW9uOiBHcmF2aXR5LCBhIGNvbm5lY3RlZCBlY29lbmVyZ3kgb2YgZXZlcnlkYXkgZmluYW5jaWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcywgYmFja2VkIGJ5IHRoZSBwb3dlciBhbmQgc2NhbGUgb2YgQml0Y29pbiBTViAodGhlIE9yaWdpbmFsIEJpdGNvaW4pIHRoYXQgd2lsbCBwbGF5IGEgcm9sZSBpbiBlbmFibGluZyBzb3ZlcmVpZ250eSwgYW5kIGV2ZW50dWFsbHkgaW4gdGhlIGV2b2x1dGlvbiBvZiBodW1hbiBzdXN0YWluYWJpbGl0eS4gPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGhyZWY9Ij9hPWFib3V0IiBzdHlsZSA9ICJib3JkZXItcmFkaXVzOjM3cHgiPlJlYWQgTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGEgY2xhc3M9IndhdGNoLWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9NU9UTUVqLXdqM28iIHRhcmdldCA9ICJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLXBsYXkiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN0cm9uZz5XYXRjaCB2aWRlbzwvc3Ryb25nPldoYXQgaXMgYml0Y29pbj88L3NwYW4+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLUFib3V0IGVuZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCgkJCTxkaXYgY2xhc3M9ImNvbC1tZC02IHRleHQtY2VudGVyIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToyMHB4OyI+CgkJCQkJPGgzIHN0eWxlPSJwYWRkaW5nOjIwcHg7IG1hcmdpbjowcHg7IAogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDIsMCwzNiwxKSAwJSwgcmdiYSgyMzUsMTU0LDEzLDEpIDAlLCByZ2JhKDEwMSwzMywxNjEsMSkgMzclLCByZ2JhKDEsMTIsMTMsMSkgNzklKTsgY29sb3I6d2hpdGU7IiA+TElWRSBDSEFSVDwvaDM+CgkJCQkKCQkJCTxkaXYgY2xhc3M9ImNhcmQgY2FyZC1ib2R5Ij4KCQkJCTxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5idGN3aWRnZXQuaW5mby93aWRnZXQvbGl2ZVR4LyUyMzAwMDAwMC8lMjMwMDAwMDAvJTIzMDAwMDAwLyUyM2ZmZmZmZi8lMjNlMDFjOWUvMzAwLzQwMC83IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgZnJhbWVCb3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iPjwvaWZyYW1lPgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQoJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNiB0ZXh0LWNlbnRlciIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweDsiPgoJCQkJCTxoMyBzdHlsZT0icGFkZGluZzoyMHB4OyBtYXJnaW46MHB4OyAKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyLDAsMzYsMSkgMCUsIHJnYmEoMjM1LDE1NCwxMywxKSAwJSwgcmdiYSgxMDEsMzMsMTYxLDEpIDM3JSwgcmdiYSgxLDEyLDEzLDEpIDc5JSk7IGNvbG9yOndoaXRlOyIgPkxJVkUgVFJBREU8L2gzPgoJCQkJCgkJCQk8ZGl2IGNsYXNzPSJjYXJkIGNhcmQtYm9keSI+CgkJCQkgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPgo8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4KICA8ZGl2IGlkPSJ0cmFkaW5ndmlld183NzM1NCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tL3N5bWJvbHMvQlRDVVNEVC8/ZXhjaGFuZ2U9QklOQU5DRSIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJibHVlLXRleHQiPkJUQ1VTRFQgQ2hhcnQ8L3NwYW4+PC9hPiBieSBtaWRkZXhlbmVyZ3k8L2Rpdj4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS90di5qcyI+PC9zY3JpcHQ+CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogIG5ldyBUcmFkaW5nVmlldy53aWRnZXQoCiAgewogICJ3aWR0aCI6IDQwMCwKICAiaGVpZ2h0IjogNDAwLAogICJzeW1ib2wiOiAiQklOQU5DRTpCVENVU0RUIiwKICAiaW50ZXJ2YWwiOiAiRCIsCiAgInRpbWV6b25lIjogIkV0Yy9VVEMiLAogICJ0aGVtZSI6ICJsaWdodCIsCiAgInN0eWxlIjogIjEiLAogICJsb2NhbGUiOiAiZW4iLAogICJ0b29sYmFyX2JnIjogIiNmMWYzZjYiLAogICJlbmFibGVfcHVibGlzaGluZyI6IHRydWUsCiAgImFsbG93X3N5bWJvbF9jaGFuZ2UiOiB0cnVlLAogICJjb250YWluZXJfaWQiOiAidHJhZGluZ3ZpZXdfNzczNTQiCn0KICApOwogIDwvc2NyaXB0Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQmVuZWZpdHMgU3RhcnQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXRzIHAtdGIgYmxhY2stYmcgd2hpdGUtc2VjIGRpYW1vbmQtbGF5b3V0Ij4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImdvbGQtdGVjaC1iZyI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+PHNwYW4+V2h5IFRyYWRlIFdpdGggYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkPC9zcGFuPjwvaDI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLXR4dCBtdy04NTAgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5iZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBDb21wYW55IGlzIGEgbGVhZGluZyB0cmFkaW5nIEdyb3VwIHRoYXQgdXRpbGl6ZXMgaW5ub3ZhdGl2ZSBwcm9wcmlldGFyeSB0ZWNobm9sb2dpZXMgdG8gcHJvdmlkZSBtYW5hZ2VkIHRyYWRpbmcgc2VydmljZXMgdG8geWllbGQgaGlnaGVyIHByb2ZpdHMuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtYm94IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JlbmVmaXQtaWNvbi0xLnBuZyIgYWx0PSJTYWZlIGFuZCBTZWN1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5TYWZlIGFuZCBTZWN1cmU8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSd2ZSBidWlsdCBvbmUgb2YgdGhlIHRoZSB3b3JsZCdzIG1vc3Qgc29waGlzdGljYXRlZCBUcmFkaW5nIGNvbXBhbnkuIFlvdXIgcGVyc29uYWwgZGF0YSBhbmQgdHJhbmFzY3Rpb25zIGFyZSBhbHdheXMgcHJvdGVjdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1ib3ggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmVuZWZpdC1pY29uLTIucG5nIiBhbHQ9Ikluc3RhbnQgRXhjaGFuZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5JbnN0YW50IEV4Y2hhbmdlPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSB0aGUgZmFzdGVzdCBwYXltZW50IHN5c3RlbSwgZGVlcC1yb290ZWQgaW4gYmxvY2tjaGFpbiB0ZWNobm9sb2d5LiBObyBoaWRkZW4gZmVlcywgYW5kIG5vIGV4dHJhIGNvbW1pc3Npb25zLiBXaXRoZHJhd2FscyBhcmUgc2VudCB0byB5b3VyIHdhbGxldHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWJveCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iZW5lZml0LWljb24tMy5wbmciIGFsdD0iV29ybGQgQ292ZXJhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5Xb3JsZCBDb3ZlcmFnZTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSBnZW5lcmFsIHB1YmxpYy4gV2UgYXJlIGFjY2VwdGVkIGFjcm9zcyB0aGUgZ2xvYmUgYXMgYW4gVHJhZGluZyBjb21wYW55LCB3ZSBhcmUgY2VydGlmaWVkIGFzIGFuIElTTy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtYm94IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JlbmVmaXQtaWNvbi00LnBuZyIgYWx0PSJNb2JpbGUgQXBwcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcyA9ICJ0ZXh0LWNhcGl0YWxpemUiPldlIEFyZSBDZXJ0aWZpZWQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5iZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBpcyBmdWxseSByZWdpc3RlcmVkIHRvIG9wZXJhdGUgYXMgYSBMaW1pdGVkIExpYWJpbGl0eSBDb21wYW55LCBDbGljayA8YSBocmVmPSI/YT1hYm91dCI+SEVSRTwvYT4gdG8gdmlldyBvdXIgY29tcGFueSBwcm9maWxlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1ib3ggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmVuZWZpdC1pY29uLTUucG5nIiBhbHQ9IlN0cm9uZyBOZXR3b3JrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzID0gInRleHQtY2FwaXRhbGl6ZSI+VHJhbnNwYXJlbnQgc3RhdGlzdGljczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkVhY2ggdXNlcidzIFRyYWRpbmcgaW4gVHJhZGluZyBwcm9kdWN0cyB3aWxsIGJlIHJlY29yZGVkIGluIGJsb2NrY2hhaW4sIHByb3ZpbmcgdGhhdCBpdCBpcyByZWFsIGFuZCBiZWxvbmcgdG8gdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWJveCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iZW5lZml0LWljb24tNi5wbmciIGFsdD0iTWFyZ2luIFRyYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5Mb3cgZW50cnkgdGhyZXNob2xkPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHBhcml0eSBvZiBUcmFkaW5nIG9wcG9ydHVuaXRpZXMgaXMgdGhlIGNvcmUgb2Ygb3VyIGNvbmNlcHQuIFdlIHdpbGwgZ2l2ZSBldmVyeW9uZSBhbiBhY2Nlc3MgdG8gdGhlIHdvcmxkIG9mIFRyYWRpbmdzLiA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQmVuZWZpdHMgRW5kIC0tPgogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLSBUaGUgUm9hZG1hcCAgc3RhcnQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm9hZG1hcC1zZWMgZGlhbW9uZC1sYXlvdXQiIGlkPSJyb2FkbWFwIiBzdHlsZSA9ICJtYXJnaW4tYm90dG9tOi0zMHB4Ij4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBUaGUgUm9hZG1hcCBlbmQtLT4KICAgICAgICAgICAgPGRpdiBpZD0iY291bnRlciIgY2xhc3M9Im1pbGVzdG9uZS1zZWN0aW9uIHAtdGIgYy1sIiBzdHlsZSA9ICJtYXJnaW4tdG9wOi0zMHB4Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXIiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVyLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL3RyYW5zYWN0aW9ucy1pY29uLnBuZyIgYWx0PSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci12YWx1ZSIgZGF0YS1jb3VudD0iNTU0NjY1NS44Ij4wPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjb3VudC10ZXh0ICI+VG90YWwgV2l0aGRyYXdhbHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9zdXBwb3J0LWljb24ucG5nIiBhbHQ9IiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVyLXZhbHVlIiBkYXRhLWNvdW50PSI5ODU2MSI+MDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iY291bnQtdGV4dCAiPlVzZXJzPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXItaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvd2FsbGV0cy1pY29uLnBuZyIgYWx0PSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci12YWx1ZSIgZGF0YS1jb3VudD0iNjY0MTg0LjMxIj4wPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjb3VudC10ZXh0ICI+VG90YWwgRGVwb3NpdHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9jb3VudHJpZXMtaWNvbi5wbmciIGFsdD0iIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXItdmFsdWUiIGRhdGEtY291bnQ9IjEzOSI+MDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iY291bnQtdGV4dCAiPkNvdW50cmllczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgogCiAgICAgICAgICAgIDwhLS0gVGVhbSBzZWMgc3RhcnQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1zZWN0aW9uIHAtdGIgbGlnaHQtZ3JheS1iZyBkaWFtb25kLWxheW91dCIgaWQ9InRlYW0iIHN0eWxlID0gImJhY2tncm91bmQ6IHVybChpbWFnZXMvY29pbnBvb2wtZG90cy1jaXJjbGUucG5nKSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+RXhlY3V0aXZlIEJvYXJkPC9oMj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL2Nlby5qcGciIGFsdD0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1zb2NpYWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiIHRhcmdldCA9ICJfYmxhbmsiPjxpIGNsYXNzPSJmYWIgZmEtZmFjZWJvb2stZiI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPjxpIGNsYXNzPSJmYWIgZmEtdHdpdHRlciI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPjxpIGNsYXNzPSJmYWIgZmEtbGlua2VkaW4taW4iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+VWxyaWtlIExpbmRzYXkgPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Rm91bmRlciAmIENFTzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0taW1nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9ib2FyZC9icm9rZXIuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhdHJpY2sgTmFpcmFwaXo8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Dby1mb3VuZGVyICYgQ1RPPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL3N1cHBvcnQuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkNoYXJpZmkgQWJvdSBEYXlhPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U3VwcG9ydCBNYW5hZ2VyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL2FuYWx5c3QuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlZhaWJoYXYgR2F3YXM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MZWFkIFJlc2VhcmNoIE1hbmFnZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLSBCcmFuZCBsb2dvIHNsaWRlciAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFydG5lci1sb2dvIHAtdGIgd2hpdGUtc2VjIGRhcmstZ3JheS1iZyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+PHNwYW4+V2UgQWNjZXB0PC9zcGFuPjwvaDI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFydG5lci1sb2dvLWdyaWQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj48aW1nIHNyYz0iaW1hZ2VzL3BheTEucG5nIiBhbHQ9IndlIGFjY2VwdCIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+PGltZyBzcmM9ImltYWdlcy9wYXkyLnBuZyIgYWx0PSJXZSBhY2NlcHQiIC8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPjxpbWcgc3JjPSJpbWFnZXMvcGF5My5wbmciIGFsdD0iV2UgYWNjZXB0IiAvPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj48aW1nIHNyYz0iaW1hZ2VzL3BheTQucG5nIiBhbHQ9IldlIGFjY2VwdCIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICA8IS0tIENvbnRlbnQgU2VjdGlvbiBFbmQgLS0+IAo8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+CiAgICAgICAgPCEtLWZvb3RlciBTdGFydC0tPiAgIAogICAgICAgIDxmb290ZXIgY2xhc3M9ImRpYW1vbmQtZm9vdGVyIj4KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXQtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC01IHdpZGdldC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC1odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLyIgdGl0bGU9IiI+PGltZyBzcmM9ImltYWdlcy9sb2dvLnBuZyIgYWx0PSJiZXJ0aGVuZXJneS1pbmMuYml6Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlID0gIm1hcmdpbi1sZWZ0Oi0zMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPmluZm9AYmVydGhlbmVyZ3ktaW5jLmJpejwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+KzQ0NzQwNTQxMjk3MTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+VGhlIE9sZCBQaWdnZXJ5IE1hcmtzIEhhbGwgTGFuZSwgTWFyZ2FyZXQgUm9kaW5nLCBEdW1vdywgRW5nbGFuZCwgQ002IDFRVDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTMgd2lkZ2V0LWFyZWEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgd2lkZ2V0LWh0bWwgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPlN0YXkgQ29ubmVjdGVkPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIHRhcmdldCA9ICJfYmxhbmsiPjxpIGNsYXNzPSJmYWIgZmEtZmFjZWJvb2stZiI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgdGFyZ2V0ID0gIl9ibGFuayI+PGkgY2xhc3M9ImZhYiBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXRlbGVncmFtLXBsYW5lIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXlvdXR1YmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC00IHdpZGdldC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC1odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5NeSBBY2NvdW50PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGkgY2xhc3M9ImZhIGZhLWNoZWNrIj48L2k+Jm5ic3A7PGEgaHJlZj0iP2E9bG9naW4iPlNpZ24gSW48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpIGNsYXNzPSJmYSBmYS1jaGVjayI+PC9pPiZuYnNwOzxhIGhyZWY9Ij9hPXNpZ251cCI+U2lnbiBVcDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGkgY2xhc3M9ImZhIGZhLWNoZWNrIj48L2k+Jm5ic3A7IDxhIGhyZWY9Ij9hPWZvcmdvdF9wYXNzd29yZCI+Rm9yZ290IFBhc3N3b3JkPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5cmlnaHQtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXItbWVudSBob3Jpem9udGFsLW1lbnUgb25lcGFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi8iPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1hYm91dCI+QWJvdXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLyNwcmljaW5nIj5QcmljaW5nPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9cnVsZXMiPkxlZ2FsPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi8jdGVhbSI+VGVhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5LXRleHQiPsKpIENvcHlyaWdodCAyMDI2IEFsbCBSaWdodHMgUmVzZXJ2ZWQgPGEgaHJlZj0iIyI+YmVydGhlbmVyZ3ktaW5jLmJpejwvYT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPCEtLWZvb3RlciBlbmQtLT4gICAKPC9kaXY+ICAgIDwhLS1NYWluIFdyYXBwZXIgRW5kLS0+CiAKICAgIDxzY3JpcHQgc3JjPSJqcy9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9vbnBhZ2VzY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL3dvdy5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5jb3VudGRvd24uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL293bC5jYXJvdXNlbC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvQ2hhcnRfbWFpbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvY2hhcnQtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL3NjcmlwdC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvcGFydGljbGVzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9nb2xkLWFwcC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbicpLmFkZENsYXNzKCdkb25lJyk7CiAgICAgICAgICAgIH0sIDYwMDApOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbiAubWFpbicpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgMTAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmluc2lkZS1iaXRjb2luJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgICAgICB9LCAzMDAwKTsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgalF1ZXJ5KCcuaW5zaWRlLWJpdGNvaW4nKS5hZGRDbGFzcygnc3BpbmNvaW4nKTsKICAgICAgICAgICAgfSwgNTAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcycpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgNjAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmRpYW1vbmQtYW5pbWF0aW9uIC50b3AtY29pbicpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgMzAwMCk7CiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbiAub3V0ZXItT3JiaXQnKS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgICAgIH0sIDUwMDApOwogICAgICAgIH0pOwogICAgPC9zY3JpcHQ+CiAgICA8c3R5bGU+Ci5tZ20gewogICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiA5MDsKICAgIGJvdHRvbTogODBweDsKICAgIGxlZnQ6IDEwMHB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHggMjdweDsKICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTNweCAwcHggcmdiYSgwLDAsMCwuMyk7CiAgICBmb250LXNpemU6IDMwcHg7Cn0KLm1nbSBhIHsKICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiNmMmQ1MTY7Cn0KLm1nbSBhLCAubWdtIGE6YWN0aXZlIHsKICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsKICAgIGNvbG9yOiNmMmQ1MTY7Cn0KPC9zdHlsZT4KPHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIiBzcmM9IiMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBsaXN0Q291bnRyaWVzID0gWydTb3V0aCBBZnJpY2EnLCAnVVNBJywgJ0dlcm1hbnknLCAnRnJhbmNlJywgJ0l0YWx5JywgJ1NvdXRoIEFmcmljYScsICdBdXN0cmFsaWEnLCAnU291dGggQWZyaWNhJywgJ0NhbmFkYScsICdBcmdlbnRpbmEnLCAnU2F1ZGkgQXJhYmlhJywgJ01leGljbycsICdTb3V0aCBBZnJpY2EnLCAnU291dGggQWZyaWNhJywgJ1ZlbmV6dWVsYScsICdTb3V0aCBBZnJpY2EnLCAnU3dlZGVuJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ1VuaXRlZCBLaW5nZG9tJywgJ1NvdXRoIEFmcmljYScsICdHcmVlY2UnLCAnQ3ViYScsICdTb3V0aCBBZnJpY2EnLCAnUG9ydHVnYWwnLCAnQXVzdHJpYScsICdTb3V0aCBBZnJpY2EnLCAnUGFuYW1hJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnTmV0aGVybGFuZHMnLCAnU3dpdHplcmxhbmQnLCAnQmVsZ2l1bScsICdJc3JhZWwnLCAnQ3lwcnVzJ107CiAgICB2YXIgbGlzdFBsYW5zID0gWyckNTAwJywnJDE1MDAnLCckMTAwMCcsJyQxMCwwMDAnLCckMjAwMCcsJyQzMDAwJywnJDQwMDAnLCAnJDYwMCcsICckNzAwJywgJyQyNTAwJ107CiAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg0MDAwMCAtIDgwMDAgKyAxKSArIDgwMDApOwogICAgdmFyIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKICAgIAoKICAgIGZ1bmN0aW9uIHJlcXVlc3QoKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbChydW4pOwogICAgICAgIGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDQwMDAwIC0gODAwMCArIDEpICsgODAwMCk7CiAgICAgICAgdmFyIGNvdW50cnkgPSBsaXN0Q291bnRyaWVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGxpc3RDb3VudHJpZXMubGVuZ3RoKV07CiAgICAgICAgCiAgICAgICAgdmFyIHBsYW4gPSBsaXN0UGxhbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdFBsYW5zLmxlbmd0aCldOwogICAgICAgIHZhciBtc2cgPSAnQW4gaW52ZXN0b3IgZnJvbSA8Yj4nICsgY291bnRyeSArICc8L2I+IERlcG9zaXRlZCA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJqYXZhc2NyaXB0OnZvaWQoMCk7Ij4nICsgcGxhbiArICcgLjwvYT4nOwogICAgICAgICQoIi5tZ20gLnR4dCIpLmh0bWwobXNnKTsKICAgICAgICAkKCIubWdtIikuc3RvcCh0cnVlKS5mYWRlSW4oMTAwKTsKICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZU91dCg2MDApOwogICAgICAgIH0sIDYwMDApOwogICAgICAgIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKICAgIH0KPC9zY3JpcHQ+IAo8ZGl2IGFsaWduPSJjZW50ZXIiPgoJPGRpdiBjbGFzcz0ibWdtIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgo8ZGl2IGNsYXNzPSJ0eHQiIHN0eWxlPSJjb2xvcjpibGFjazsiPkFuIGludmVzdG9yIGZyb20gPGI+PC9iPiBEZXBvc2l0ZWQgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iamF2YXNjcmlwdDp2b2lkKDApOyI+PC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgk8c3R5bGU+Ci5tZ20gewogICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiA5MDsKICAgIGJvdHRvbTogODBweDsKICAgIGxlZnQ6IDEwMHB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHggMjdweDsKICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTNweCAwcHggcmdiYSgwLDAsMCwuMyk7CiAgICBmb250LXNpemU6IDQwcHg7Cn0KLm1nbSBhIHsKICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICBkaXNwbGF5OmJsb2NrOwogICAgY29sb3I6I2YyZDUxNjsKfQoubWdtIGEsIC5tZ20gYTphY3RpdmUgewogICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOwogICAgY29sb3I6I2YyZDUxNjsKfQo8L3N0eWxlPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIHNyYz0iIyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIGxpc3RDb3VudHJpZXMgPSBbJ1NvdXRoIEFmcmljYScsICdVU0EnLCAnR2VybWFueScsICdGcmFuY2UnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ0F1c3RyYWxpYScsICdTb3V0aCBBZnJpY2EnLCAnQ2FuYWRhJywgJ0FyZ2VudGluYScsICdTYXVkaSBBcmFiaWEnLCAnTWV4aWNvJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnVmVuZXp1ZWxhJywgJ1NvdXRoIEFmcmljYScsICdTd2VkZW4nLCAnU291dGggQWZyaWNhJywgJ1NvdXRoIEFmcmljYScsICdJdGFseScsICdTb3V0aCBBZnJpY2EnLCAnVW5pdGVkIEtpbmdkb20nLCAnU291dGggQWZyaWNhJywgJ0dyZWVjZScsICdDdWJhJywgJ1NvdXRoIEFmcmljYScsICdQb3J0dWdhbCcsICdBdXN0cmlhJywgJ1NvdXRoIEFmcmljYScsICdQYW5hbWEnLCAnU291dGggQWZyaWNhJywgJ1NvdXRoIEFmcmljYScsICdOZXRoZXJsYW5kcycsICdTd2l0emVybGFuZCcsICdCZWxnaXVtJywgJ0lzcmFlbCcsICdDeXBydXMnXTsKICAgIHZhciBsaXN0UGxhbnMgPSBbJyQ1MDAnLCckMTUwMCcsJyQxMDAwJywnJDEwLDAwMCcsJyQyMDAwJywnJDMwMDAnLCckNDAwMCcsICckNjAwJywgJyQ3MDAnLCAnJDI1MDAnXTsKICAgIGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDQwMDAwIC0gODAwMCArIDEpICsgODAwMCk7CiAgICB2YXIgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgCgogICAgZnVuY3Rpb24gcmVxdWVzdCgpIHsKICAgICAgICBjbGVhckludGVydmFsKHJ1bik7CiAgICAgICAgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoNDAwMDAgLSA4MDAwICsgMSkgKyA4MDAwKTsKICAgICAgICB2YXIgY291bnRyeSA9IGxpc3RDb3VudHJpZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdENvdW50cmllcy5sZW5ndGgpXTsKICAgICAgICAKICAgICAgICB2YXIgcGxhbiA9IGxpc3RQbGFuc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsaXN0UGxhbnMubGVuZ3RoKV07CiAgICAgICAgdmFyIG1zZyA9ICdBbiBpbnZlc3RvciBmcm9tIDxiPicgKyBjb3VudHJ5ICsgJzwvYj4gV2l0aGRyYXcgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iamF2YXNjcmlwdDp2b2lkKDApOyI+JyArIHBsYW4gKyAnIC48L2E+JzsKICAgICAgICAkKCIubWdtIC50eHQiKS5odG1sKG1zZyk7CiAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZUluKDEwMCk7CiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVPdXQoMjAwMCk7CiAgICAgICAgfSwgNjAwMCk7CiAgICAgICAgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgfQo8L3NjcmlwdD4KICAgPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJzNiOWQ2ZmU2ZTc2OTg2ZWNiODExY2YzYTE5NmQ1MDVlOGY5ZTJkYjknOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PlBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0PgoKPC9ib2R5PgoKPC9odG1sPg=="}},"time_used":961,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":961,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.789Z","timestamp":1785124876789,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.89618.e8db19d81376d486e288.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5a48ef6c225ad9b5603ca9f7a34bdb2d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":966,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-07-27T06:14:34.127336Z","times_seen":417,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTYxOF0sezQxNDAxOChlKXtlLmV4cG9ydHM9WyJDaGFydCBieSBUcmFkaW5nVmlldyJdfSwzMDA3ODgoZSl7ZS5leHBvcnRzPVsiQnkgVHJhZGluZ1ZpZXciXX0sNTE3NzIoZSl7ZS5leHBvcnRzPVsiYnkgVHJhZGluZ1ZpZXciXX0sNjE4MzU5KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkiXX0sNjMzOTA2KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkgVHJhZGluZ1ZpZXciXX0sMjk3OTQ4KGUpe2UuZXhwb3J0cz1bIntzeW1ib2x9IGZpbmFuY2lhbHMgYnkgVHJhZGluZ1ZpZXciXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.945Z","timestamp":1785124876945,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97272.3bfbfc8daabca040cf73.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-2388c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cb57ebc55a38058f35b4b3ee3914793d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":145548,"size_decoded":44654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-27T06:24:31.654658Z","times_seen":40,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTcyNzJdLHsxNDUzODEoZSx0LHMpe3MuZCh0LHtleHRyYWN0VGl0bGVQYXJ0czooKT0+YSxzdHVkeUlkc0hpZGVJbnB1dHNNb2RlOigpPT5ufSk7dmFyIGkscj1zKDYzNDg2KTshZnVuY3Rpb24oZSl7ZVtlLkFsd2F5cz0wXT0iQWx3YXlzIixlW2UuQ2hhcnRTdHlsZT0xXT0iQ2hhcnRTdHlsZSJ9KGl8fChpPXt9KSk7Y29uc3Qgbj1uZXcgTWFwKFtbIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiLDBdLFsiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsMF0sWyJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSIsMF0sWyJUUE9QZXJpb2RpY0B0di12b2x1bWVieXByaWNlIiwxXSxbIlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UiLDFdXSk7ZnVuY3Rpb24gYSh7dGl0bGU6ZSxzdHVkeUlkOnQsaGFzSW5wdXRzOnMsZGVzY3JpcHRpb246aSx3aXRoTWFpblNlcmllc0NoYXJ0U3R5bGU6YSxpc0Z1bmRhbWVudGFsU3R1ZHk6b30pe2lmKCFzKXJldHVybltlXTtsZXQgbDtpP2w9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHQsIiIpLnRyaW0oKXx8dm9pZCAwfShlLGkpOltpLGxdPWZ1bmN0aW9uKGUpe2lmKCIpIiE9PWVbZS5sZW5ndGgtMV0pcmV0dXJuW2VdO2xldCB0PTA7Zm9yKGxldCBzPWUubGVuZ3RoLTE7cz49MDtzLS0paWYoIikiPT09ZVtzXSl0Kys7ZWxzZSBpZigiKCI9PT1lW3NdJiYodC0tLDA9PT10JiZzPjEmJiIgIj09PWVbcy0xXSkpcmV0dXJuW2Uuc2xpY2UoMCxzLTEpLGUuc2xpY2UocyldO3JldHVybltlXX0oZSk7Y29uc3QgaD1mdW5jdGlvbihlLHQpe3JldHVybiB0PzA6bi5nZXQoZSl9KCgwLHIuZXh0cmFjdFN0dWR5SWQpKHQpLG8pO3JldHVybiFsfHwoMD09PWh8fDE9PT1oJiZhKT9baV06W2ksbF19fSwyMDU2MTEoZSx0LHMpe3MuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5yfSk7dmFyIGk9cygyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBzPW5ldyBpLldhdGNoZWRWYWx1ZShlKCkpLHI9e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShyLCgoKT0+e3Muc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwocikpKSkpfX0sOTUzNjYwKGUpe2NvbnN0IHQ9NTUyOTYscz0xMjc5OTUsaT0xMjc5OTkscj1bNzc2LDIzNTksMjM1OSwyMzY3LDIzNjcsMjk4NCwzMDA3LDMwMjEsMzYzMywzNjM1LDM2NDgsMzY1Nyw0MzUyLDQ0NDksNDUyMF07ZnVuY3Rpb24gbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJzdHJpbmcgY2Fubm90IGJlIHVuZGVmaW5lZCBvciBudWxsIik7Y29uc3QgdD1bXTtsZXQgcz0wLGk9MDtmb3IoO3M8ZS5sZW5ndGg7KWkrPWEocytpLGUpLHUoZVtzK2ldKSYmaSsrLGwoZVtzK2ldKSYmaSsrLGgoZVtzK2ldKSYmaSsrLGMoZVtzK2ldKT9pKys6KHQucHVzaChlLnN1YnN0cmluZyhzLHMraSkpLHMrPWksaT0wKTtyZXR1cm4gdH1mdW5jdGlvbiBhKGUscil7Y29uc3Qgbj1yW2VdO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4gZSYmcChlWzBdLmNoYXJDb2RlQXQoMCksdCw1NjMxOSl9KG4pfHxlPT09ci5sZW5ndGgtMSlyZXR1cm4gMTtjb25zdCBhPW4rcltlKzFdO2xldCBsPXIuc3Vic3RyaW5nKGUrMixlKzUpO3JldHVybiBvKGEpJiZvKGwpfHxmdW5jdGlvbihlKXtyZXR1cm4gcChkKGUpLHMsaSl9KGwpPzQ6Mn1mdW5jdGlvbiBvKGUpe3JldHVybiBwKGQoZSksMTI3NDYyLDEyNzQ4Nyl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJnAoZS5jaGFyQ29kZUF0KDApLDY1MDI0LDY1MDM5KX1mdW5jdGlvbiBoKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmcChlLmNoYXJDb2RlQXQoMCksODQwMCw4NDQ3KX1mdW5jdGlvbiB1KGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmLTEhPT1yLmluZGV4T2YoZS5jaGFyQ29kZUF0KDApKX1mdW5jdGlvbiBjKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmODIwNT09PWUuY2hhckNvZGVBdCgwKX1mdW5jdGlvbiBkKGUpe3JldHVybihlLmNoYXJDb2RlQXQoMCktdDw8MTApKyhlLmNoYXJDb2RlQXQoMSktNTYzMjApKzY1NTM2fWZ1bmN0aW9uIHAoZSx0LHMpe3JldHVybiBlPj10JiZlPD1zfWUuZXhwb3J0cz1uLGUuZXhwb3J0cy5zdWJzdHI9ZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bihlKTtpZih2b2lkIDA9PT10KXJldHVybiBlO2lmKHQ+PWkubGVuZ3RoKXJldHVybiIiO2NvbnN0IHI9aS5sZW5ndGgtdDtsZXQgYT10Kyh2b2lkIDA9PT1zP3I6cyk7cmV0dXJuIGE+dCtyJiYoYT12b2lkIDApLGkuc2xpY2UodCxhKS5qb2luKCIiKX19LDUyMDM2MyhlLHQscyl7cy5kKHQse1N0dWR5QmFzZVdpbmRvd1ZpZXc6KCk9Pm59KTt2YXIgaT1zKDc3OTUxNikscj1zKDk0Mzk1KTtjbGFzcyBuIGV4dGVuZHMgaS5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3ZhbHVlUHJvdmlkZXI9dGhpcy5fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KSx0aGlzLl9pdGVtcz10aGlzLl92YWx1ZVByb3ZpZGVyLmdldEl0ZW1zKCkubWFwKChlPT5uZXcgaS5EYXRhV2luZG93SXRlbShlLmlkLGUudGl0bGUsIiIpKSl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31zdHVkeSgpe3JldHVybiB0aGlzLl9zdHVkeX1fdXBkYXRlSW1wbCgpe3RoaXMuX2hlYWRlcj10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSx0aGlzLl90aXRsZT10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93LCExKQo7Y29uc3QgZT10aGlzLl92YWx1ZVByb3ZpZGVyLmdldFZhbHVlcyh0aGlzLl9jdXJyZW50SW5kZXgoKSk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IHM9ZVt0XSxpPXRoaXMuX2l0ZW1zW3RdO2kuc2V0VmFsdWUocy52YWx1ZSksaS5zZXRWaXNpYmxlKHMudmlzaWJsZSksaS5zZXRDb2xvcihzLmNvbG9yKSxpLnNldFRpdGxlKHMudGl0bGUpfX1fY3VycmVudEluZGV4KCl7Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfX19LDg3MzYzKGUsdCxzKXtzLmQodCx7U3R1ZHlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyOigpPT5hfSk7dmFyIGk9cygzMDk4MzcpLHI9cygxNjU1MCksbj1zKDE2ODI1OCk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hoaXN0QmFzZWRTdHVkeT0hIWUubWV0YUluZm8oKS5ncmFwaGljcy5oaGlzdHMsdGhpcy5fdmFsdWVzUHJvdmlkZXI9dGhpcy5faGhpc3RCYXNlZFN0dWR5P25ldyByLkhIaXN0QmFzZWRWYWx1ZXNQcm92aWRlcihlLHQscyk6bmV3IGkuU3R1ZHlWYWx1ZXNQcm92aWRlcihlLHQscyl9Z2V0SXRlbXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXIuZ2V0SXRlbXMoKX1nZXRWYWx1ZXMoZSl7Y29uc3QgdD10aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSkscz1lPT50aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQoZSxuLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSl8fHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdChlLG4uU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKTtmb3IoY29uc3QgZSBvZiB0KWUudmlzaWJsZT1lLnZpc2libGUmJih0aGlzLl9oaGlzdEJhc2VkU3R1ZHl8fHMoZS5pZCkpO3JldHVybiB0fX19LDE0MTM1MChlLHQscyl7cy5kKHQse1N0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3OigpPT5hfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg2MDE4NDEpLG49cyg5NDM5NSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscz0hMSl7dGhpcy5faXRlbXM9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Nob3dBbGxQbG90c1RpdGxlPXN9ZGVzdHJveSgpe31pdGVtcygpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXN9dXBkYXRlKGUpe3RoaXMuX2ludmFsaWRhdGVkPSEwfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCksdD10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSxzPSgwLGkuZW5zdXJlTm90TnVsbCkoZSkuZ2V0VmFsdWVzKHQpLGE9dGhpcy5fc3R1ZHkudGl0bGVJblBhcnRzKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLG89YVswXTtsZXQgbD0iIjtpZihhLmxlbmd0aD4xKXtjb25zdCBlPWFbMV07ZS5sZW5ndGg+MCYmKGw9ZS5qb2luKCIgIikpfXRoaXMuX2l0ZW1zPXMuZmlsdGVyKHIubm90VW5kZWZpbmVkKS5maWx0ZXIoKGU9PmUudmlzaWJsZSkpLm1hcCgoKGUsdCk9Pih7dGl0bGVUZXh0OnRoaXMuX3Nob3dBbGxQbG90c1RpdGxlP2UudGl0bGU6MD09PXQ/bzoiIix0aXRsZUlucHV0czp0aGlzLl9zaG93QWxsUGxvdHNUaXRsZT8iIjowPT09dD9sOiIiLHZhbHVlOmUudmFsdWUsdmFsdWVDb2xvcjplLmNvbG9yfSkpKX19fSw1MzY3MTAoZSx0LHMpe3MuZCh0LHtTdHVkeURhdGFXaW5kb3dWaWV3OigpPT5ufSk7dmFyIGk9cyg1MjAzNjMpLHI9cyg2MzE0MDQpO2NsYXNzIG4gZXh0ZW5kcyBpLlN0dWR5QmFzZVdpbmRvd1ZpZXd7Y2FuU2hvd0l0ZW1zKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KTtyZXR1cm4hIWU/Lm1heGltaXplZCgpLnZhbHVlKCl8fHRoaXMuX21vZGVsLnBhbmVzKCkuZXZlcnkoKGU9PiFlLm1heGltaXplZCgpLnZhbHVlKCkpKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IHIuU3R1ZHlEYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoZSx0KX19fSwyNzU4NDkoZSx0LHMpe3MuZCh0LHtTdHVkeVN0YXR1c1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygxODUyNzEpLHI9cyg4Njc4MzEpLG49cyg2MzI0NDQpLGE9cygzMTQyNyk7Y29uc3Qgbz1pLnQobnVsbCx2b2lkIDAscygxNTU4NSkpO2NsYXNzIGwgZXh0ZW5kcyBhLlN0dWR5U3RhdHVzUHJvdmlkZXJCYXNle3NvdXJjZVN0YXR1c1RleHQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihlLnN0YXR1cygpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5FcnJvcil7Y29uc3QgdD1lLm1ldGFJbmZvKCkscz0oMCxuLmV4dHJhY3RQaW5lSWQpKHQuZnVsbElkKTtpZih0LnNjcmlwdElkUGFydCYmKDAsbi5pc0VkZ3JQaW5lSWQpKHQuc2NyaXB0SWRQYXJ0KXx8cyYmKDAsbi5pc0VkZ3JQaW5lSWQpKHMpKXJldHVybiBvfXJldHVybiBzdXBlci5zb3VyY2VTdGF0dXNUZXh0KCl9fX0sNTcyMjUoZSx0LHMpe3MuZCh0LHtidWlsZFRyZWVGb3JTdHVkeTooKT0+byxidWlsZFR1cm5hcm91bmQ6KCk9PmEsY2FuQnVpbGRUdXJuYXJvdW5kOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZS5zdHVkeUlkLmxvY2FsZUNvbXBhcmUodC5zdHVkeUlkKX1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9bmV3IFNldCxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pnt0LmhhcyhlLnN0dWR5SWQpfHwodC5hZGQoZS5zdHVkeUlkKSxzLnB1c2goZSkpfSkpLHN9ZnVuY3Rpb24gYShlLHQpe2xldCBzPXQudHVybmFyb3VuZCxpPVt0XTtmb3IoO2kubGVuZ3RoPjA7KXtsZXQgZT1bXTtjb25zdCB0PVtdO2kuZm9yRWFjaCgocz0+e2NvbnN0IGk9bihzLnNvdXJjZVN0dWRpZXMpLnNvcnQocik7aWYoaS5sZW5ndGg+MCl7ZT1lLmNvbmNhdChpKTtjb25zdCBzPWkubWFwKChlPT5lLnR1cm5hcm91bmQpKS5qb2luKCJfIik7dC5wdXNoKHMpfQp9KSksdC5sZW5ndGgmJihzPXQuam9pbigiXyIpKyJfIitzKSxpPWV9cmV0dXJuIGUrIl8iK3N9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCk7cmV0dXJue3N0dWR5SWQ6KDAsaS5lbnN1cmVOb3ROdWxsKShlLnNvdXJjZUlkKCkpLHR1cm5hcm91bmQ6ZS50dXJuYXJvdW5kKCksc291cmNlU3R1ZGllczplLnBhcmVudFNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10KSkubWFwKChlPT5vKGUpKSl9fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG51bGwhPT1lLnNvdXJjZUlkKCkmJmUucGFyZW50U291cmNlcygpLmV2ZXJ5KChlPT5sKGUpKSl9fSwxOTcyNzIoZSx0LHMpe3MuZCh0LHtTdHVkeTooKT0+VXMsZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbzooKT0+d3N9KTt2YXIgaT1zKDU0Nzg1MSkscj1zKDE2NzUwMiksbj1zKDIwMzY4MSksYT1zKDc0MDE2Miksbz1zKDE0NDU1NSksbD1zKDkyMDQ3NSksaD1zKDEzODYzOCksdT1zKDYwMTg0MSksYz1zKDIyMTA2MSksZD1zKDY0MTU5MykscD1zKDE5ODkwMSksXz1zKDk1MjkwMCksZj1zKDIzMjM2NCksbT1zKDQwMjA0NSkseT1zKDk0ODM4MCksZz1zKDg1NzE1MSksUz1zKDkzNjMyNiksYj1zKDk2MDQ2NCksdj1zKDc5MTQyNyksUD1zKDE0NTM4MSksST1zKDkzMDIzMSksdz1zKDEwMDU5NSksQz1zLm4odyk7dmFyIFY9cygxODUyNzEpLHg9cyg4NTY1Nik7dmFyIEE9cyg4NzIzNDMpLFI9cyg0MDc4MTQpO3ZhciBNPXMoMTcyMzA0KSxUPXMoMjQxMyksRD1zKDYzNDg2KSxGPXMoNDk3Njc5KSxPPXMoNzcwNzU1KSxOPXMoNDg3ODIwKTtjbGFzcyBre2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWxlcnRzPW5ldyBtLldhdGNoZWRPYmplY3QoW10pLHRoaXMuX2FsZXJ0U2VyaWVzSWQ9dCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPWUuYWxlcnRzQ29sbGVjdGlvbigpLnNwYXduKCksdGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRzTGlzdC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9hbGVydFNlcmllc0lkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fYWxlcnRTZXJpZXNJZC5yZWxlYXNlKCl9YWxlcnRzKCl7cmV0dXJuIHRoaXMuX2FsZXJ0cy5yZWFkb25seSgpfV91cGRhdGVBbGVydHNMaXN0KGUpe2lmKHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPXZvaWQgMCxlKXtjb25zdCB0PXRoaXMuX3VwZGF0ZUFsZXJ0cy5iaW5kKHRoaXMpO2UuYWxlcnRzKCkuc3Vic2NyaWJlKHQpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0KX10aGlzLl91cGRhdGVBbGVydHMoKX1fdXBkYXRlQWxlcnRzKCl7Y29uc3QgZT10aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCksdD10aGlzLl9hbGVydFNlcmllc0lkLnZhbHVlKCk7aWYoIWV8fCF0KXJldHVybiB2b2lkIHRoaXMuX2FsZXJ0cy5zZXRWYWx1ZShbXSk7Y29uc3Qgcz1lLmFsZXJ0cygpLnZhbHVlKCkuZmlsdGVyKChlPT5lLmFjdGl2ZSgpLnZhbHVlKCkmJmUuY2FuVXNlSW5TdHVkeVNvdXJjZU1vZGVsKHQpKSkubWFwKChlPT4oe3RpdGxlOmUuZGVzY3JpcHRpb24oKSxjYW5EaXNwbGF5T25TdGF0dXNWaWV3OigpPT5lLmlzQWxlcnRQcmVzZW50T25UYXJnZXQoTi5BbGVydENoYXJ0RGlzcGxheVRhcmdldC5TdGF0dXNWaWV3KX0pKSk7dGhpcy5fYWxlcnRzLnNldFZhbHVlKHMpfX12YXIgQj1zKDg4OTUxNSksRT1zKDIyNjkzNyksTD1zKDg3MzU3MyksSD1zKDQxNDczNCksVT1zKDU0MjM0OSksVz1zKDcwNDU3MiksRz1zKDk1NjQzNyksaj1zKDYzNTUwOSksej1zKDczMjA4MCksJD1zKDM4ODM2NyksSz1zKDIxODc2NSkscT1zKDUyMDM2MyksSj1zKDk2NjQwNCksWT1zKDkyODY2OSksWj1zKDE2ODI1OCk7Y2xhc3MgWCBleHRlbmRzIHEuU3R1ZHlCYXNlV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fc2hvd1N0dWR5VmFsdWVzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5VmFsdWVzLHRoaXMuX3Nob3dTdHVkeVZhbHVlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSk7Y29uc3Qgcz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCk7cy5jaGlsZHMoKS5zaG93TGVnZW5kVmFsdWVzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSkpKTtjb25zdCBpPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscj1uZXcgU2V0O2kuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYoci5oYXMoaSkpcmV0dXJuO3IuYWRkKGkpLHMuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfWVsc2UoMCxaLmlzUGxvdFN1cHBvcnREaXNwbGF5KSh0KSYmcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdC5pZF0/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfSkpfWFyZVZhbHVlc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCl9YWRkaXRpb25hbCgpe3JldHVybiBudWxsfWRlc3Ryb3koKXt0aGlzLl9zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkKO2UuY2hpbGRzKCkuc2hvd0xlZ2VuZFZhbHVlcy51bnN1YnNjcmliZUFsbCh0aGlzKTtjb25zdCB0PXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscz1uZXcgU2V0O3QuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYocy5oYXMoaSkpcmV0dXJuO3MuYWRkKGkpLGUuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkudW5zdWJzY3JpYmVBbGwodGhpcyl9ZWxzZSgwLFouaXNQbG90U3VwcG9ydERpc3BsYXkpKHQpJiZlLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0LmlkXT8uY2hpbGRzKCkuZGlzcGxheS51bnN1YnNjcmliZUFsbCh0aGlzKX0pKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcihlLHQpfX12YXIgUT1zKDY3ODI4NSksZWU9cyg5MzI2OTMpLHRlPXMoNDA3Nzk5KSxzZT1zKDY0NTI4NSksaWU9cyg3OTE1MjEpLHJlPXMoMjc1ODQ5KSxuZT1zKDg3MzYzKSxhZT1zKDQ3NzM4OCk7Y2xhc3Mgb2V7Y29uc3RydWN0b3IoZSx0LHM9ITEpe3RoaXMucHJpY2U9dCx0aGlzLmluZGV4PWUsdGhpcy51c2VNYWluU2VyaWVzRm9yUHJpY2VSYW5nZT1zfX12YXIgbGU9cygyOTM0MTgpO2Z1bmN0aW9uIGhlKGUsdCxzLGkpe2lmKGUueTE9PT1lLnkyKXJldHVybiBmdW5jdGlvbihlLHQscyl7cmV0dXJuKDAsaC5hc3NlcnQpKGUueTE9PT1lLnkyKSwoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS54MSxlLngyLGUuZXh0ZW5kLHQscyk/W25ldyBvZSh0LGUueTEsITEpLG5ldyBvZShzLGUueTIsITEpXTpbXX0oZSxzLGkpO2NvbnN0IHI9W107cmV0dXJuIG51bGwhPT1lLngxJiZyLnB1c2gobmV3IG9lKGUueDEsZS55MSwhMSkpLG51bGwhPT1lLngyJiZyLnB1c2gobmV3IG9lKGUueDIsZS55MiwhMSkpLHJ9ZnVuY3Rpb24gdWUoZSx0LHMsaSl7cmV0dXJuIGUucG9pbnRzLmZpbHRlcigoZT0+ZS54Pj1zJiZlLng8PWkpKS5tYXAoKGU9Pm5ldyBvZShlLngsZS55LCExKSkpfWZ1bmN0aW9uIGNlKGUsdCxzLGkpe3JldHVybigwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShlLmxlZnQsZS5yaWdodCxlLmV4dGVuZCxzLGkpP1tuZXcgb2UocyxlLnRvcCwhMSksbmV3IG9lKGksZS5ib3R0b20sITEpXTpbXX12YXIgZGU9cyg1NDg1NjApO2Z1bmN0aW9uIHBlKGUsdCxzLGkpe2xldCByO2NvbnN0IG49ZS55bG9jIT09ZGUuRHdnTGFiZWxZbG9jLlByaWNlJiZlLnlsb2MhPT1kZS5Ed2dMYWJlbFlsb2MuQXV0bztpZihuKXtjb25zdCBzPWUueWxvYz09PWRlLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcj8yOjMsaT10LnZhbHVlQXQoZS54KTtudWxsIT09aSYmKHI9aVtzXSl9ZWxzZSByPWUueTtyZXR1cm4gbnVsbD09cj9udWxsOltuZXcgb2UoZS54LHIsbildfXZhciBfZT1zKDE3OTY3NCk7ZnVuY3Rpb24gZmUoZSx0LHMsaSxyLG4pe2lmKCEoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS5maXJzdEJhclRpbWUsZS5sYXN0QmFyVGltZSxfZS5Ed2dFeHRlbmQuTm9uZSxzLGkpKXJldHVybltdO2xldCBhPTEvMCxvPS0xLzA7Zm9yKGNvbnN0W3Qsc11vZiByLnRwb0Jsb2NrU2V0cygpKWlmKG49PT10KWZvcihjb25zdCB0IG9mIHMuZ2V0KGUuaWQpfHxbXSlhPU1hdGgubWluKGEsdC5yb3dJbmRleCplLnByaWNlUmFuZ2UpLG89TWF0aC5tYXgobywodC5yb3dJbmRleCsxKSplLnByaWNlUmFuZ2UpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/W25ldyBvZShzLG8sITEpLG5ldyBvZShpLGEsITEpXTpbXX1jbGFzcyBtZXtjb25zdHJ1Y3RvcihlLHQscyxpLHIpe3RoaXMuX21hcEdldHRlcj1lLHRoaXMuX3N0dWR5PXQsdGhpcy5fYmFycz10LnNlcmllcygpLmJhcnMoKSx0aGlzLl92aXNpYmlsaXR5R2V0dGVyPXMsdGhpcy5fZ2V0UG9pbnRzPWksdGhpcy5fZ2V0TWFyZ2lucz1yfWdyb3VwUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCk7Zm9yKGNvbnN0W24sYV1vZiB0aGlzLl9tYXBHZXR0ZXIocykpaWYodGhpcy5fdmlzaWJpbGl0eUdldHRlcihuKSlmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBhPXRoaXMuX2dldFBvaW50cyhzLHRoaXMuX2JhcnMsZSx0LHIsbik7aWYobnVsbD09PWEpY29udGludWU7bGV0IG89MS8wLGw9LTEvMCxoPSExLHU9ITEsYz0hMTtmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBpPXMuaW5kZXg8PXQscj1zLmluZGV4Pj1lO2g9aHx8aSx1PXV8fHIsYz1jfHxpJiZyO2xldCBuPXMucHJpY2UsYT1zLnByaWNlO2lmKHMudXNlTWFpblNlcmllc0ZvclByaWNlUmFuZ2Upe2NvbnN0IGU9dGhpcy5fYmFycy52YWx1ZUF0KHMuaW5kZXgpO2lmKG51bGw9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9ZVsyXTtpZihudWxsPT10KWNvbnRpbnVlO2NvbnN0IGk9ZVszXTtpZihudWxsPT1pKWNvbnRpbnVlO249aSxhPXR9bjxvJiYobz1uKSxhPmwmJihsPWEpfWlmKCEoY3x8aCYmdSkpY29udGludWU7Y29uc3QgZD1uZXcgai5QcmljZVJhbmdlKG8sbCk7aT1udWxsPT09aT9kOmkubWVyZ2UoZCl9cmV0dXJuIGl9Zmlyc3RWYWx1ZShlLHQpe2xldCBzPTEvMCxpPTEvMCxyPS0xLzAsbj0xLzAsYT0xLzAsbz0xLzA7Y29uc3QgbD10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtoLHVdb2YgdGhpcy5fbWFwR2V0dGVyKCExKSlpZih0aGlzLl92aXNpYmlsaXR5R2V0dGVyKGgpKWZvcihjb25zdCBjIG9mIHUpe2NvbnN0IHU9dGhpcy5fZ2V0UG9pbnRzKGMsdGhpcy5fYmFycyxlLHQsbCxoKTtpZihudWxsIT09dSlmb3IoY29uc3QgbCBvZiB1KXtjb25zdCBoPWwuaW5kZXg7aD49ZSYmaDw9dCYmaDxzPyhzPWgsaT1sLnByaWNlKTpoPGUmJmg+cj8ocj1oLG49bC5wcmljZSk6aD50JiZoPGEmJihhPWgsbz1sLnByaWNlKX19cmV0dXJue2ZpcnN0VmlzaWJsZTpzPT09MS8wP251bGw6bmV3IG9lKHMsaSksbGVmdENsb3Nlc3Q6cj09PS0xLzA/bnVsbDpuZXcgb2UocixuKSxyaWdodENsb3Nlc3Q6YT09PTEvMD9udWxsOm5ldyBvZShhLG8pfX1ncm91cFBpeGVsTWFyZ2lucyhlLHQscyl7CmlmKCF0aGlzLl9nZXRNYXJnaW5zKXJldHVybiB5ZSgpO2NvbnN0IGk9eWUoKTtpZihudWxsPT09dGhpcy5fc3R1ZHkucHJpY2VTY2FsZSgpKXJldHVybiBpO2lmKG51bGw9PT10aGlzLl9zdHVkeS5maXJzdFZhbHVlKCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtuLGFdb2YgdGhpcy5fbWFwR2V0dGVyKHMpKWlmKHRoaXMuX3Zpc2liaWxpdHlHZXR0ZXIobikpZm9yKGNvbnN0IHMgb2YgYSl7Y29uc3QgYT10aGlzLl9nZXRQb2ludHMocyx0aGlzLl9iYXJzLGUsdCxyLG4pO2lmKG51bGw9PT1hKWNvbnRpbnVlO2lmKDA9PT1hLmZpbHRlcigocz0+e2NvbnN0IGk9cy5pbmRleDtyZXR1cm4gaT49ZSYmaTw9dH0pKS5sZW5ndGgpY29udGludWU7Y29uc3Qgbz10aGlzLl9nZXRNYXJnaW5zKHMsdGhpcy5fYmFycyk7aS5ib3R0b21QaXhlbE1hcmdpbj1NYXRoLm1heChpLmJvdHRvbVBpeGVsTWFyZ2luLG8uYm90dG9tUGl4ZWxNYXJnaW4pLGkudG9wUGl4ZWxNYXJnaW49TWF0aC5tYXgoaS50b3BQaXhlbE1hcmdpbixvLnRvcFBpeGVsTWFyZ2luKX1yZXR1cm4gaX19Y29uc3QgeWU9KCk9Pih7Ym90dG9tUGl4ZWxNYXJnaW46MCx0b3BQaXhlbE1hcmdpbjowfSk7ZnVuY3Rpb24gZ2UoZSl7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKGUucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzKS5jaGlsZHMoKTtyZXR1cm5bbmV3IG1lKCgoKT0+KDAscC5tYXBFbnRyaWVzR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkudHBvcygpKSksZSwoZT0+e2NvbnN0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0LnRwb0Jsb2NrU2V0cykuY2hpbGRzKClbZV0uY2hpbGRzKCk7cmV0dXJuIHMuc2hvd0xldHRlcnMudmFsdWUoKXx8cy5zaG93QmxvY2tzLnZhbHVlKCl8fCgwLGguZW5zdXJlRGVmaW5lZCkodC50cG9Wb2x1bWVSb3dzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl9KSxmZSx5ZSksbmV3IG1lKCh0PT4oMCxwLm5lc3RlZE1hcEdlbmVyYXRvcikoZS5ncmFwaGljcygpLmR3Z2xhYmVscygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnbGFiZWxzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLHBlLGFlLmNhbGN1bGF0ZUR3Z0xhYmVsc01hcmdpbnMuYmluZChudWxsLGUpKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdnbGluZXMoKSx0KSksZSwoZT0+KDAsaC5lbnN1cmVEZWZpbmVkKSh0LmR3Z2xpbmVzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLGhlLHllKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdncG9seWxpbmVzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dwb2x5bGluZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksdWUseWUpLG5ldyBtZSgodD0+KDAscC5uZXN0ZWRNYXBHZW5lcmF0b3IpKGUuZ3JhcGhpY3MoKS5kd2dib3hlcygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnYm94ZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksY2UseWUpLG5ldyBtZSgodD0+ZnVuY3Rpb24qKGUsdCl7Y29uc3Qgcz1lLmR3Z2xpbmVzKCksaT1lLmR3Z2xpbmVmaWxscygpLHI9bmV3IE1hcDtzLmZvckVhY2goKGU9PntpZih2b2lkIDA9PT10KWUuZm9yRWFjaCgoZT0+e2U/LmZvckVhY2goKGU9PntyLnNldChlLmlkLGUpfSkpfSkpO2Vsc2V7Y29uc3Qgcz1lLmdldCh0KTtzPy5mb3JFYWNoKChlPT57ci5zZXQoZS5pZCxlKX0pKX19KSk7Zm9yKGNvbnN0W2UsdF1vZiBpKXtjb25zdCBzPUFycmF5LmZyb20odCkuZmlsdGVyKChlPT5yLmhhcyhlLmxpbmUxKSkpO3MubGVuZ3RoJiYoeWllbGRbZSxuZXcgU2V0KHMpXSl9fShlLmdyYXBoaWNzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dsaW5lZmlsbHMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksKCh0LHMsaSxyKT0+e2NvbnN0IG49bmV3IE1hcDtmb3IoY29uc3RbLHRdb2YgZS5ncmFwaGljcygpLmR3Z2xpbmVzKCkpZm9yKGNvbnN0WyxlXW9mIHQpZm9yKGNvbnN0IHQgb2YgZSluLnNldCh0LmlkLHQpO3JldHVybiBmdW5jdGlvbihlLHQscyxpLHIpe2NvbnN0IG49ZS5nZXQodC5saW5lMSksYT1lLmdldCh0LmxpbmUyKTtyZXR1cm4gdm9pZCAwIT09biYmdm9pZCAwIT09YSYmKCgwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShuLngxLG4ueDIsbi5leHRlbmQsaSxyKXx8KDAsbGUuZG9lc0l0ZW1BZmZlY3RWaXNpYmxlUmFuZ2UpKGEueDEsYS54MixhLmV4dGVuZCxpLHIpKT9bbmV3IG9lKGksbi55MSwhMSksbmV3IG9lKHIsbi55MiwhMSksbmV3IG9lKGksYS55MSwhMSksbmV3IG9lKHIsYS55MiwhMSldOltdfShuLHQsMCxpLHIpfSkseWUpXX1mdW5jdGlvbiBTZShlLHQscyl7cmV0dXJuIG51bGw9PT10P2U6bnVsbD09PWU/dDplLmluZGV4PHQuaW5kZXg/cz90OmU6cz9lOnR9Y2xhc3MgYmV7Y29uc3RydWN0b3IoKXt0aGlzLmZpcnN0VmlzaWJsZT1udWxsLHRoaXMubGVmdENsb3Nlc3Q9bnVsbCx0aGlzLnJpZ2h0Q2xvc2VzdD1udWxsfWltcHJvdmUoZSl7dGhpcy5maXJzdFZpc2libGU9U2UodGhpcy5maXJzdFZpc2libGUsZS5maXJzdFZpc2libGUsITApLHRoaXMubGVmdENsb3Nlc3Q9U2UodGhpcy5sZWZ0Q2xvc2VzdCxlLmxlZnRDbG9zZXN0LCEwKSx0aGlzLnJpZ2h0Q2xvc2VzdD1TZSh0aGlzLnJpZ2h0Q2xvc2VzdCxlLnJpZ2h0Q2xvc2VzdCwhMSl9YmVzdFByaWNlKCl7cmV0dXJuIG51bGwhPT10aGlzLmZpcnN0VmlzaWJsZT90aGlzLmZpcnN0VmlzaWJsZS5wcmljZTpudWxsIT09dGhpcy5sZWZ0Q2xvc2VzdD90aGlzLmxlZnRDbG9zZXN0LnByaWNlOm51bGwhPT10aGlzLnJpZ2h0Q2xvc2VzdD90aGlzLnJpZ2h0Q2xvc2VzdC5wcmljZTpudWxsfX0KdmFyIHZlPXMoMTU2ODUwKSxQZT1zKDYzMjQ0NCksSWU9cyg0OTAzOTkpLHdlPXMoMTQzODA4KSxDZT1zKDk0MzEzMCksVmU9cyg3MjkxNjMpLHhlPXMoNzQxNjkwKSxBZT1zKDMxNDgwNiksUmU9cygyNDE5NTYpLE1lPXMoMjA1NjExKSxUZT1zKDU3MjI1KSxEZT1zKDYyODA2KSxGZT1zKDc4OTE5MCksT2U9cyg5MzQzMDUpO2NsYXNzIE5lIGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7fV9kcmF3QmFja2dyb3VuZEltcGwoZSl7Y29uc3R7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTppfT1lLHI9dGhpcy5fZGF0YTtmb3IobGV0IGU9MDtlPHIuaXRlbXMubGVuZ3RoOysrZSl7Y29uc3Qgbj1yLml0ZW1zW2VdO2lmKG51bGw9PW4uY29sb3IpY29udGludWU7dC5maWxsU3R5bGU9bi5jb2xvcjtjb25zdCBhPU1hdGgucm91bmQobi5sZWZ0KnMpKzEsbz1NYXRoLnJvdW5kKG4ucmlnaHQqcyk7dC5maWxsUmVjdChhLDAsby1hKzEsaS5oZWlnaHQpfX19dmFyIGtlPXMoNjU1NTY5KSxCZT1zKDg0MDc3MSk7Y2xhc3MgRWUgZXh0ZW5kcyBCZS5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKHQscyxpKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3N0dWR5PWU7Y29uc3Qgcj10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKXtjb25zdCB0PXJbZV07dC5pZD09PXRoaXMuX3Bsb3ROYW1lJiYodGhpcy5fcGxvdEluZGV4PWUsKDAsaC5hc3NlcnQpKCgwLFouaXNCZ0NvbG9yZXJQbG90KSh0KSwiUGxvdCAnIit0aGlzLl9wbG90TmFtZSsiJyBpcyBub3QgYSBiYWNrZ3JvdW5kIGNvbG9yZXIhIikpfXRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe2lmKCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkmWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpIT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpcmV0dXJuIG51bGw7aWYoIXRoaXMuX3NjYWxlc1JlYWR5KCkpcmV0dXJuIG51bGw7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e2l0ZW1zOnRoaXMuX2l0ZW1zfSx0PW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdC5hcHBlbmQobmV3IE5lKGUpKSx0fV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIWUuaXNFbXB0eSgpJiZudWxsIT09dCYmIXQuaXNFbXB0eSgpfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXSkuY2hpbGRzKCk7bGV0IHQ9MDtyZXR1cm4gZS50cmFuc3BhcmVuY3kmJih0PWUudHJhbnNwYXJlbmN5LnZhbHVlKCksdD0oMCx1LmlzTnVtYmVyKSh0KT90OjQwKSx0fV91cGRhdGVJbXBsKCl7dGhpcy5faXRlbXM9W10sKDAsaC5hc3NlcnQpKHRoaXMuX3NjYWxlc1JlYWR5KCksIlNjYWxlcyBtdXN0IGJlIHJlYWR5ISIpO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFRyYW5zcFZhbHVlKCk7bGV0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUuZmlyc3RCYXIoKSxTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLGk9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUubGFzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKTtjb25zdCByPXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7cj4wPyhzLT1yLGkrPXIpOihzKz1yLGktPXIpO2NvbnN0IG49dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpO2lmKG4+aSlyZXR1cm47cz1NYXRoLm1heChuLHMpO2NvbnN0IGE9dGhpcy5fc3R1ZHkuZGF0YSgpO2Zvcihjb25zdCBlIG9mIGEucmFuZ2VJdGVyYXRvcihzLGkpKXtsZXQgcz1lLmluZGV4O2NvbnN0IGk9ZS52YWx1ZTtzKz1yO2NvbnN0IG49e3RpbWVQb2ludEluZGV4Ok1hdGguZmxvb3IocyksbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU59O2xldCBhPSgwLHUuaXNOdW1iZXIpKHQpP3Q6NTA7YT1NYXRoLm1pbihhLDEwMCksYT1NYXRoLm1heChhLDApO2NvbnN0IG89dGhpcy5fY29sb3JQcm92aWRlci5nZXRQbG90UG9pbnRTdHlsZShpKTt2b2lkIDAhPT1vLmNvbG9yc1sxXSYmKG4uY29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKSgoMCxoLmVuc3VyZURlZmluZWQpKG8uY29sb3JzWzFdKSxhKSksdGhpcy5faXRlbXMucHVzaChuKX10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyl9fQp2YXIgTGU9cygyODQ4MzEpLEhlPXMoNTkwNDIzKSxVZT1zKDM3MDYyMiksV2U9cyg1ODk1MTEpLEdlPXMoNjE5MTY1KSxqZT1zKDI1MDQ2NyksemU9cyg2NDA3NDQpLCRlPXMoMTQzOTMyKSxLZT1zKDk3MDQzNCkscWU9cyg2NTE5NjYpLEplPXMoMzMwODYxKSxZZT1zKDMwMjQ2OSksWmU9cyg3NDc0NjUpLFhlPXMoNTQ0MjQzKSxRZT1zKDE2ODQ4NyksZXQ9cyg0MDc1ODQpLHR0PXMoMTE4NzUyKSxzdD1zKDM2MzMyNiksaXQ9cygzMDMyNzApO2NvbnN0IHJ0PW5ldyBNYXA7cnQuc2V0KCJQYW5lUmVuZGVyZXJBcnJvd1VwIixxZS5QYW5lUmVuZGVyZXJBcnJvd1VwKSxydC5zZXQoIlBhbmVSZW5kZXJlckFycm93RG93biIscWUuUGFuZVJlbmRlcmVyQXJyb3dEb3duKSxydC5zZXQoIlBhbmVSZW5kZXJlckNpcmNsZVNoYXBlIixKZS5QYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJDcm9zc1NoYXBlIixZZS5QYW5lUmVuZGVyZXJDcm9zc1NoYXBlKSxydC5zZXQoIlBhbmVSZW5kZXJlckRpYW1vbmQiLFplLlBhbmVSZW5kZXJlckRpYW1vbmQpLHJ0LnNldCgiUGFuZVJlbmRlcmVyRmxhZ1NoYXBlIixYZS5QYW5lUmVuZGVyZXJGbGFnU2hhcGUpLHJ0LnNldCgiUGFuZVJlbmRlcmVyTGFiZWxVcCIsUWUuUGFuZVJlbmRlcmVyTGFiZWxVcCkscnQuc2V0KCJQYW5lUmVuZGVyZXJMYWJlbERvd24iLFFlLlBhbmVSZW5kZXJlckxhYmVsRG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJTcXVhcmUiLGV0LlBhbmVSZW5kZXJlclNxdWFyZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcCIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4VXApLHJ0LnNldCgiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJYQ3Jvc3MiLHN0LlBhbmVSZW5kZXJlclhDcm9zcyk7Y2xhc3MgbnQgZXh0ZW5kcyBpdC5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fcmVuZGVyZXI9bnVsbCx0aGlzLl9zaGFwZXNSZW5kZXJlcj1udWxsLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW51bGwsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lO2NvbnN0IHI9ZS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKWlmKHJbZV0uaWQ9PT10aGlzLl9wbG90TmFtZSl7dGhpcy5fcGxvdEluZGV4PWU7YnJlYWt9dGhpcy5fcGxvdFN0eWxlSW5mbz0oMCxoLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0pLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3ICRlLlNlbGVjdGlvbkluZGV4ZXMocy50aW1lU2NhbGUoKSl9aXRlbXMoKXtyZXR1cm4gdGhpcy5faXRlbXN9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faXNQbG90VmlzaWJsZSgpJiZ0aGlzLl9zY2FsZXNSZWFkeSgpPyh0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyKTpudWxsfV9pc1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxqZS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpfV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIG51bGwhPT10JiYhZS5pc0VtcHR5KCkmJiF0LmlzRW1wdHkoKX1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSx0aGlzLl9yZW5kZXJlcj1udWxsKSwhdGhpcy5fc2NhbGVzUmVhZHkoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fcHJpY2VTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWl8fG51bGw9PT1zKXJldHVybiExO2NvbnN0IHI9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZSghMSk7aWYoMD09PXIuc2l6ZSgpKXJldHVybiExO2NvbnN0IG49dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSxhPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWEpcmV0dXJuITE7dGhpcy5fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhzLGEpO2NvbnN0e2hpUGxvdDpvLGxvUGxvdDpsfT10aGlzLl9oaUxvUGxvdHMoKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMociwoKGUsdCk9PnRoaXMuX2NyZWF0ZUl0ZW0oZSx0Pz9udWxsLG8sbCxuKSkpO2xldCBjPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxkPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09Y3x8dm9pZCAwPT09ZClyZXR1cm4hMTtuPjA/KGMtPW4sZCs9bik6KGMrPW4sZC09bik7Y29uc3QgXz10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYoXz5kKXJldHVybiEwO2M9TWF0aC5tYXgoXyxjKTtjb25zdCBmPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksbT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSx5PW0uY29sb3IudmFsdWUoKSxnPW0udGV4dENvbG9yP20udGV4dENvbG9yLnZhbHVlKCk6dm9pZCAwLGI9eSx2PXksUD12b2lkIDA9PT1nP3ZvaWQgMDpnLEk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90SW5kZXgpLHc9KDAsS2UuY3JlYXRlRW1wdHlTdHlsZSkoKSxDPXU/PygwLApoLmVuc3VyZU5vdE51bGwpKHIuZmlyc3RJbmRleCgpKSxWPXIucmFuZ2VJdGVyYXRvcihDLCgwLGguZW5zdXJlTm90TnVsbCkoci5sYXN0SW5kZXgoKSkrMSk7bGV0IHg9KDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxDK24sKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKTtmb3IoY29uc3QgZSBvZiBWKXtjb25zdCB0PWUudmFsdWUscz10W0krMV07aWYobnVsbD09cyl7eCsrO2NvbnRpbnVlfWNvbnN0IGk9dGhpcy5faXRlbXNbeF07aWYoIWlzTmFOKGkucHJpY2UpKXtpZih0aGlzLl9jb2xvclByb3ZpZGVyLmlzQ29sb3JEZWZpbmVkKCkpe2kuc3R5bGU9e2NvbG9yOmIsYm9yZGVyQ29sb3I6dix0ZXh0Q29sb3I6UH07Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHQsdyk7dGhpcy5fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShpLGUsZil9fXgrK31yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2ZpbGxJdGVtV2l0aFBvaW50U3R5bGUoZSx0LHMpe2NvbnN0IGk9KDAsaC5lbnN1cmVEZWZpbmVkKShlLnN0eWxlKTtpZih2b2lkIDAhPT10LmNvbG9yc1swXSl7aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKCgwLGguZW5zdXJlRGVmaW5lZCkodC5jb2xvcnNbMF0pLHMpO2NvbnN0IGU9cz45P3MtMTA6MDtpLmJvcmRlckNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoaS5jb2xvcixlKX12b2lkIDAhPT10LmNvbG9yc1syXSYmKGkudGV4dENvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1syXSkscykpfV91cGRhdGVSZW5kZXJlcihlLHQpe3RoaXMuX21ha2VTdXJlUmVuZGVyZXJJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXt9LHI9dGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSxuPXMuYmFyU3BhY2luZygpLGE9dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQobiksbz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxsPW8ubG9jYXRpb24udmFsdWUoKSxoPXRoaXMuX2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGwsYSthLzIpO2kuYmFyU3BhY2luZz1uLGkuaXRlbXM9dGhpcy5faXRlbXMsaS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKG8uY29sb3IudmFsdWUoKSxyKSxpLmhlaWdodD1hLGkudmVydE9mZnNldD1oLGkudmlzaWJsZUl0ZW1zUmFuZ2U9e3N0YXJ0SXRlbUluZGV4OmUsZW5kSXRlbUluZGV4OnR9O2NvbnN0IHU9by5wbG90dHlwZS52YWx1ZSgpLGM9VWUucGxvdFNoYXBlc0RhdGFbdV0sZD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7YyYmKHRoaXMuX3NoYXBlc1JlbmRlcmVyP3RoaXMuX3NoYXBlc1JlbmRlcmVyLnNldERhdGEoaSk6KHRoaXMuX3NoYXBlc1JlbmRlcmVyPXRoaXMuX2NyZWF0ZVJlbmRlcmVyKGMucGFuZVJlbmRlcmVyQ2xhc3MsaSksZC5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJih0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9aCxkLmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpKSx0aGlzLl9yZW5kZXJlcj1kfV9jcmVhdGVSZW5kZXJlcihlLHQpe2NvbnN0IHM9cnQuZ2V0KGUpO3JldHVybiBuZXcoKDAsaC5lbnN1cmVEZWZpbmVkKShzKSkodCl9X2dldFNlcmllc1ZhbChlLHQpe2NvbnN0IHM9KDAsR2UuYmFyRnVuY3Rpb24pKGUpLGk9dGhpcy5fc2VyaWVzLmRhdGEoKS52YWx1ZUF0KHQpO3JldHVybiBudWxsPT09aT9udWxsOnMoaSl9X2dldFRyYW5zcFZhbHVlKCl7bGV0IGU9MDtjb25zdCB0PXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0LnRyYW5zcGFyZW5jeSYmKGU9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApO2NvbnN0IHM9dC5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO3JldHVybiBzLnRyYW5zcGFyZW5jeSYmKGU9cy50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApLCgwLHplLmNsYW1wKShlLDAsMTAwKX1fY3JlYXRlSXRlbShlLHQscyxpLHIpe2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxhPXtwcmljZTpOYU4sdGltZVBvaW50SW5kZXg6ZStyfTtpZigobnVsbD09PXR8fDA9PT10KSYmbiE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBhO2lmKG51bGw9PXQpcmV0dXJuIGE7bGV0IG89TmFOO3N3aXRjaChuKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxzLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxpLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkFic29sdXRlOm89KDAsaC5lbnN1cmVOb3ROdWxsKSh0KTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLlRvcDpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpvPTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkJhZCB2YWx1ZTogIituKX1yZXR1cm57eTpOYU4scHJpY2U6byx0aW1lUG9pbnRJbmRleDplK3J9fV9kZXBlbmRzT25TZXJpZXNEYXRhKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKS5sb2NhdGlvbi52YWx1ZSgpO3JldHVybiBlPT09Yi5NYXJrTG9jYXRpb24uQWJvdmVCYXJ8fGU9PT1iLk1hcmtMb2NhdGlvbi5CZWxvd0Jhcn1fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKXtjb25zdCB0PWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PXQpcmV0dXJuIG51bGwKO2NvbnN0IHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKTtpZigwPT09dCYmcyE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSx7aGlQbG90OnIsbG9QbG90Om59PXRoaXMuX2hpTG9QbG90cygpO3N3aXRjaChzKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgscixpKTtjYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgsbixpKX1yZXR1cm4gc3VwZXIuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSl9X2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXMoZSx0LHMsaSl7dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuZmlsbEJhckJvcmRlcnModGhpcy5faXRlbXMpO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxuPWUuaGVpZ2h0KCkqZS50b3BNYXJnaW4oKSxhPWUuaGVpZ2h0KCkqKDEtZS5ib3R0b21NYXJnaW4oKSksbz1lLmlzSW52ZXJ0ZWQoKSxsPW8/YTpuLGg9bz9uOmEsdT1lPT57Zm9yKGxldCB0PXM7dDxpO3QrKylpc05hTih0aGlzLl9pdGVtc1t0XS5wcmljZSl8fCh0aGlzLl9pdGVtc1t0XS55PWUpfTtzd2l0Y2gocil7Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6dShsKTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTp1KGgpO2JyZWFrO2RlZmF1bHQ6ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OnMsZW5kSXRlbUluZGV4Oml9KX19X2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGUsdCl7bGV0IHM9MDtzd2l0Y2goZSl7Y2FzZSBiLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpzPS10O2JyZWFrO2Nhc2UgYi5NYXJrTG9jYXRpb24uQmVsb3dCYXI6Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6cz10fXJldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSgpKS5pc0ludmVydGVkKCkmJihzKj0tMSksc31fY2FsY3VsYXRlU2hhcGVIZWlnaHQoZSx0KXtsZXQgcz1lO3N3aXRjaCh0KXtjYXNlIFdlLlBsb3RTeW1ib2xTaXplLlRpbnk6cz0uMyplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuU21hbGw6cz0uNiplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuTm9ybWFsOnM9ZTticmVhaztjYXNlIFdlLlBsb3RTeW1ib2xTaXplLkxhcmdlOnM9MS41KmU7YnJlYWs7Y2FzZSBXZS5QbG90U3ltYm9sU2l6ZS5IdWdlOnM9MiplfXJldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiYocz10KSxzfV9oaUxvUGxvdHMoKXtsZXQgZSx0O2xldCBzPW51bGw7c3dpdGNoKHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl7Y2FzZSAyOnM9ImxpbmVTdHlsZSI7YnJlYWs7Y2FzZSAxNDpzPSJsaW5lV2l0aE1hcmtlcnNTdHlsZSI7YnJlYWs7Y2FzZSAxNTpzPSJzdGVwbGluZVN0eWxlIjticmVhaztjYXNlIDM6cz0iYXJlYVN0eWxlIn1yZXR1cm4gcz8oZT10aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpW3NdLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCksdD1lKTooZT0iaGlnaCIsdD0ibG93Iikse2hpUGxvdDplLGxvUGxvdDp0fX1fZ2V0TG9jYXRpb25QcmljZShlLHQscyl7Y29uc3QgaT1NYXRoLm1pbihlK3MsKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgpO3JldHVybiB0aGlzLl9nZXRTZXJpZXNWYWwodCxpKX19Y2xhc3MgYXQgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscj17fSxuPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksYT1pLmJhclNwYWNpbmcoKTtsZXQgbztvPXRoaXMuX3Bsb3RTdHlsZUluZm8uc2l6ZT90aGlzLl9jYWxjdWxhdGVTaGFwZUhlaWdodCgyNSx0aGlzLl9wbG90U3R5bGVJbmZvLnNpemUpOk1hdGgucm91bmQoYS8yKSxvPU1hdGgubWF4KG8sMSk7Y29uc3QgbD1zLmxvY2F0aW9uLnZhbHVlKCksaD0oMCxMLmdlbmVyYXRlQ29sb3IpKHMuY29sb3IudmFsdWUoKSxuKSx1PW4+MTk/bi0xMDowLGM9dGhpcy5fY2FsY3VsYXRlVmVydGljYWxPZmZzZXQobCxNYXRoLnJvdW5kKDEuNSpvKSk7ci5iYXJTcGFjaW5nPWEsci5pdGVtcz10aGlzLml0ZW1zKCksci5jb2xvcj1oLHIuYm9yZGVyQ29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9yLnZhbHVlKCksdSksci5oZWlnaHQ9byxyLnZlcnRPZmZzZXQ9YyxyLnZpc2libGVJdGVtc1JhbmdlPXtzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fTtjb25zdCBkPXMucGxvdHR5cGUudmFsdWUoKSxwPVVlLnBsb3RTaGFwZXNEYXRhW2RdLF89dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0O2lmKHZvaWQgMCE9PV8mJiIiIT09Xy50cmltKCkpe2xldCBlPV8ucmVwbGFjZSgvXFxuL2dtLCJcbiIpO2U9KDAsTGUuY2xlYW5CdXRBbXBlcnNhbmQpKGUsITApLHIudGV4dD1lLHIuZm9udFNpemU9MTI7Y29uc3QgdD1zLnRleHRDb2xvcj9zLnRleHRDb2xvci52YWx1ZSgpOnZvaWQgMDtyLnRleHRDb2xvcj10PygwLEwuZ2VuZXJhdGVDb2xvcikodCxuKTpofWlmKHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9zaGFwZXNSZW5kZXJlciYmdGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpdGhpcy5fc2hhcGVzUmVuZGVyZXIuc2V0RGF0YShyKSwKdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSkmJnRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhPyh0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9Yyx0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKHRoaXMuX3NlbGVjdGlvbkRhdGEpKTp0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKG51bGwpO2Vsc2V7Y29uc3QgZT1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7dGhpcy5fc2hhcGVzUmVuZGVyZXI9c3VwZXIuX2NyZWF0ZVJlbmRlcmVyKHAucGFuZVJlbmRlcmVyQ2xhc3MsciksZS5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhPz92b2lkIDApLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhP3RoaXMuX3NlbGVjdGlvbkRhdGEudmVydE9mZnNldD1jOnRoaXMuX3NlbGVjdGlvblJlbmRlcmVyLnNldERhdGEobnVsbCksZS5hcHBlbmQodGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpLHRoaXMuX3JlbmRlcmVyPWV9fX12YXIgb3QsbHQ9cyg5NTM2NjApLGh0PXMubihsdCksdXQ9cyg3MzY1MzEpLGN0PXMoNTkwODk0KSxkdD1zKDg3NDEzNSkscHQ9cyg3NjMpLF90PXMoNjA0MjE0KSxmdD1zKDgyMjcyNiksbXQ9cyg5MjYxNDkpLHl0PXMoMTUxMjEpOyFmdW5jdGlvbihlKXtlW2UuU2ltcGxpZmllZFBhaW50aW5nTWF4Rm9udFNpemU9NF09IlNpbXBsaWZpZWRQYWludGluZ01heEZvbnRTaXplIn0ob3R8fChvdD17fSkpO2NsYXNzIGd0IGV4dGVuZHMgZHQuUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG51bGwsdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IGZ0LlRleHRXaWR0aENhY2hlLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0wLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHk9dm9pZCAwLHRoaXMuX2NoPSIiLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9c2V0RGF0YShlKXtzdXBlci5zZXREYXRhKGUpLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2hlaWdodCksdGhpcy5fY3VzdG9tRm9udEZhbWlseT1lLmZvbnRGYW1pbHk7Y29uc3QgdD1lLmNoYXIuc2xpY2UoMCw0MCk7dGhpcy5fY2g9aHQoKSh0KVswXXx8IiAifWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxfdC5pbnRlcmFjdGlvblRvbGVyYW5jZSkoKS5zZXJpZXMrdGhpcy5fZm9udFNpemVFbnN1cmVkLzI7Zm9yKGNvbnN0IHMgb2YgdGhpcy5faXRlbXMpe2lmKG5ldyB1dC5Qb2ludChzLmNlbnRlcixzLnkrcy52ZXJ0T2Zmc2V0KS5zdWJ0cmFjdChlKS5sZW5ndGgoKTw9dClyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3Qgcz10LmNlbnRlcixpPXQudmVydE9mZnNldD4wPzE6LTEscj1NYXRoLnRydW5jKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC82KSxuPXQueSt0LnZlcnRPZmZzZXQtaSpNYXRoLnJvdW5kKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC8yKSsoaT4wP3I6LXRoaXMuX2ZvbnRTaXplRW5zdXJlZCk7bGV0IGE7YT10LnN0eWxlJiZ2b2lkIDAhPT10LnN0eWxlLmNvbG9yP3Quc3R5bGUuY29sb3I6dGhpcy5fY29sb3I7Y29uc3R7Y29udGV4dDpvLGhvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmh9PWUsdT0oMCxjdC5tYWtlRm9udCkodGhpcy5fZm9udFNpemVFbnN1cmVkLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHl8fG10LkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO28uZm9udCE9PXUmJihvLmZvbnQ9dSk7Y29uc3QgYz10aGlzLl90ZXh0V2lkdGhDYWNoZS5tZWFzdXJlVGV4dChvLHRoaXMuX2NoKTtpZih0aGlzLl9mb250U2l6ZUVuc3VyZWQ8PTQvbCl7by5zYXZlKCk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IobCkpO2xldCBpPU1hdGgubWF4KDEsTWF0aC5mbG9vcihjKmwpKTtpJTIhPWUlMiYmKGkrPWk+MT8tMToxKTtjb25zdCByPU1hdGgucm91bmQobipoKSsodC52ZXJ0T2Zmc2V0Pj0wPzA6LWkpO3JldHVybiBvLmZpbGxTdHlsZT1hLG8uZmlsbFJlY3QoTWF0aC5yb3VuZChzKmwpKyhsJTI/LjU6MCktaS8yLHIsaSxpKSx2b2lkIG8ucmVzdG9yZSgpfSgwLHl0LmRyYXdTY2FsZWQpKG8sbCxoLCgoKT0+e28uZmlsbFN0eWxlPWEsby50ZXh0QWxpZ249ImNlbnRlciIsby50ZXh0QmFzZWxpbmU9InRvcCIsby5maWxsVGV4dCh0aGlzLl9jaCxzLG4pfSkpfV9zdGFydFBhdGgoZSx0LHMpe31fZW5kUGF0aChlKXt9fWNsYXNzIFN0IGV4dGVuZHMgbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJSZW5kZXJlcj1uZXcgZ3QobnVsbCl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2xldCByO2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCk7cj10aGlzLl9wbG90U3R5bGVJbmZvLnNpemU/dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQoNTAsdGhpcy5fcGxvdFN0eWxlSW5mby5zaXplKTpNYXRoLnJvdW5kKGkpO2NvbnN0IGE9bi5sb2NhdGlvbi52YWx1ZSgpLG89KDAsTC5nZW5lcmF0ZUNvbG9yKShuLmNvbG9yLnZhbHVlKCkscyksbD10aGlzLl9jYWxjdWxhdGVWZXJ0aWNhbE9mZnNldChhLHIpLHU9e2l0ZW1zOnRoaXMuaXRlbXMoKSxiYXJTcGFjaW5nOmksY2hhcjooMCxoLmVuc3VyZURlZmluZWQpKG4uY2hhcj8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5jaGFyKSxoZWlnaHQ6cix2ZXJ0T2Zmc2V0OmwsY29sb3I6byx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH19LGM9dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0CjtpZih2b2lkIDAhPT1jJiYiIiE9PWMudHJpbSgpKXtsZXQgZT1jLnJlcGxhY2UoL1xcbi9nbSwiXG4iKTtlPSgwLExlLmNsZWFuQnV0QW1wZXJzYW5kKShlLCEwKSx1LnRleHQ9ZSx1LmZvbnRTaXplPTEyO2NvbnN0IHQ9bi50ZXh0Q29sb3I/bi50ZXh0Q29sb3IudmFsdWUoKTp2b2lkIDA7dS50ZXh0Q29sb3I9dD8oMCxMLmdlbmVyYXRlQ29sb3IpKHQscyk6b310aGlzLl9jaGFyUmVuZGVyZXIuc2V0RGF0YSh1KTtjb25zdCBkPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtkLmFwcGVuZCh0aGlzLl9jaGFyUmVuZGVyZXIpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhJiYodGhpcy5fc2VsZWN0aW9uRGF0YS52ZXJ0T2Zmc2V0PWwsZC5hcHBlbmQobmV3IEhlLlNlbGVjdGlvblJlbmRlcmVyKHRoaXMuX3NlbGVjdGlvbkRhdGEpKSksdGhpcy5fcmVuZGVyZXI9ZH19dmFyIGJ0PXMoMTM0NjcpO2NsYXNzIHZ0e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3RoaXMubGVmdD1OYU4sdGhpcy5jZW50ZXI9TmFOLHRoaXMucmlnaHQ9TmFOLHRoaXMueT1OYU4sdGhpcy5oZWlnaHQ9TmFOLHRoaXMudGltZVBvaW50SW5kZXg9ZSx0aGlzLnByaWNlPXQsdGhpcy5vcmlnSGVpZ2h0PXMsdGhpcy5pc1VwPWksdGhpcy5zdHlsZT17fX19ZnVuY3Rpb24gUHQoZSl7cmV0dXJuIE1hdGgucm91bmQoZS80KX1mdW5jdGlvbiBJdChlKXtyZXR1cm4gTWF0aC5yb3VuZChlLzIpfWNsYXNzIHd0IGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEscz1JdCh0LmJhclNwYWNpbmcpLGk9TWF0aC5yb3VuZChzLzIpLHI9TWF0aC5yb3VuZChzKSxuPVB0KHQuYmFyU3BhY2luZyksYT10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxvPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7aWYoYT49bylyZXR1cm4gbnVsbDtmb3IoY29uc3QgcyBvZiB0Lml0ZW1zLnNsaWNlKGEsbykpe2lmKCFzKWNvbnRpbnVlO2lmKCFOdW1iZXIuaXNGaW5pdGUocy5jZW50ZXIpfHwhTnVtYmVyLmlzRmluaXRlKHMueSkpY29udGludWU7Y29uc3QgdD1NYXRoLmFicyhzLmhlaWdodCksYT1zLmlzVXA/LTE6MSxvPXQrcixsPXMueS1hKm4saD1sLWEqbyx1PXMuY2VudGVyLWksYz1zLmNlbnRlcitpO2lmKHU8ZS54JiZlLng8YyYmKHMuaXNVcD9sPGUueSYmZS55PGg6aDxlLnkmJmUueTxsKSlyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzp0LHZlcnRpY2FsUGl4ZWxSYXRpbzpzLGNvbnRleHQ6aX09ZSxyPXRoaXMuX2RhdGEsbj1JdChyLmJhclNwYWNpbmcpLGE9UHQoci5iYXJTcGFjaW5nKSxvPW48NCxsPU1hdGgubWF4KG4vMiwxKSxoPSgwLHplLmNlaWxlZEV2ZW4pKG4qdCksdT1oLzIsYz1NYXRoLnJvdW5kKG4qcyk7aS5saW5lQ2FwPSJidXR0IixpLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodCkpO2NvbnN0IGQ9aS5saW5lV2lkdGglMj8uNTowLHA9ci52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsXz1yLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3IuaXRlbXMubGVuZ3RoO2lmKCEocD49XykpZm9yKGNvbnN0IGUgb2Ygci5pdGVtcy5zbGljZShwLF8pKXtpZighTnVtYmVyLmlzRmluaXRlKGUuY2VudGVyKXx8IU51bWJlci5pc0Zpbml0ZShlLnkpKWNvbnRpbnVlO2NvbnN0IG49ZS5pc1VwPy0xOjEscD1NYXRoLnJvdW5kKE1hdGguYWJzKGUuaGVpZ2h0KSpzKSxfPU1hdGgucm91bmQoZS5jZW50ZXIqdCkrZCxmPU1hdGgucm91bmQoKGUueS1uKmEpKnMpK2Q7aS5iZWdpblBhdGgoKSxpLnRyYW5zbGF0ZShfLGYpO2NvbnN0IG09KGUuc3R5bGUmJmUuc3R5bGUuY29sb3IpPz8oZS5pc1VwP3IuY29sb3J1cDpyLmNvbG9yZG93bik7bz8oaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygtdSwtdSpuKSxpLm1vdmVUbygwLDApLGkubGluZVRvKHUsLXUqbiksaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygwLC1wKm4pLGkubW92ZVRvKC11LC1wKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lV2lkdGg9bCxpLnN0cm9rZVN0eWxlPW0saS5zdHJva2UoKSk6KGkubW92ZVRvKDAsMCkscDxjPyhpLmxpbmVUbyhoLC1wKm4pLGkubGluZVRvKC1oLC1wKm4pKTooaS5saW5lVG8oaCwtYypuKSxpLmxpbmVUbyh1LC1jKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lVG8oLXUsLXAqbiksaS5saW5lVG8oLXUsLWMqbiksaS5saW5lVG8oLWgsLWMqbikpLGkubGluZVRvKDAsMCksaS5zdHJva2VTdHlsZT1lLmlzVXA/ci5jb2xvckJvcmRlclVwOnIuY29sb3JCb3JkZXJEb3duLGkuc3Ryb2tlKCksaS5maWxsU3R5bGU9bSxpLmZpbGwoKSksaS50cmFuc2xhdGUoLV8sLWYpfX19Y2xhc3MgQ3QgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9KDAsemUuY2xhbXApKHRoaXMuX2dldFRyYW5zcFZhbHVlKCksMCwxMDApLHI9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLG49KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9ydXAudmFsdWUoKSxpKSxhPSgwLEwuZ2VuZXJhdGVDb2xvcikocy5jb2xvcmRvd24udmFsdWUoKSxpKSxvPSgwLGJ0LnBhcnNlUmdiYSkobiksbD1vPzEwMCooMS1vWzNdKTowLGg9KDAsYnQucGFyc2VSZ2JhKShhKSx1PWg/MTAwKigxLWhbM10pOjAsYz17aXRlbXM6dGhpcy5faXRlbXMsYmFyU3BhY2luZzpyLGNvbG9ydXA6bixjb2xvcmRvd246YSxjb2xvckJvcmRlclVwOigwLEwuZ2VuZXJhdGVDb2xvcikoIiMwMDAwMDAiLGwpLGNvbG9yQm9yZGVyRG93bjooMCxMLmdlbmVyYXRlQ29sb3IpKCIjMDAwMDAwIix1KSxtaW5IZWlnaHQ6dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQsCnZpc2libGVJdGVtc1JhbmdlOntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX07dGhpcy5fdXBkYXRlSXRlbXNIZWlnaHRzKGMpO2NvbnN0IGQ9bmV3IEZlLkNvbXBvc2l0ZVJlbmRlcmVyO2QuYXBwZW5kKG5ldyB3dChjKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJmQuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih7Li4udGhpcy5fc2VsZWN0aW9uRGF0YSxiYXJTcGFjaW5nOnIsd2l0aE91dGxpbmU6ITF9KSksdGhpcy5fcmVuZGVyZXI9ZH1fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShlLHQscyl7Y29uc3QgaT0oMCxoLmVuc3VyZURlZmluZWQpKGUuc3R5bGUpO2UuaXNVcD92b2lkIDAhPT10LmNvbG9yc1s1XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s1XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9ydXAudmFsdWUoKSxzKTp2b2lkIDAhPT10LmNvbG9yc1s2XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s2XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9yZG93bi52YWx1ZSgpLHMpfV9nZXRWYWx1ZUZvclVwZGF0aW5nKGUpe2NvbnN0IHQ9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07aWYoIXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1lLmluZGV4LGk9dD4wLHtoaVBsb3Q6cixsb1Bsb3Q6bn09dGhpcy5faGlMb1Bsb3RzKCksYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLG89TWF0aC5taW4ocythLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KTtpZihpKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChuLG8pO2lmKG51bGwhPT1lKXJldHVybiBlfWVsc2V7Y29uc3QgZT10aGlzLl9nZXRTZXJpZXNWYWwocixvKTtpZihudWxsIT09ZSlyZXR1cm4gZX1yZXR1cm4gbnVsbH1fdXBkYXRlSXRlbShlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKSxpPWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdPjA7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPXM/P05hTix0aGlzLl9pdGVtc1t0XS5pc1VwPWksdCsxfV9jcmVhdGVJdGVtKGUsdCxzLGkscil7Y29uc3Qgbj17Y2VudGVyOk5hTixvcmlnSGVpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDplK3IsaXNVcDohMCxoZWlnaHQ6TmFOLHByaWNlOk5hTixsZWZ0Ok5hTixyaWdodDpOYU4seTpOYU59O2lmKCF0KXJldHVybiBuO2NvbnN0IGE9TWF0aC5taW4oZStyLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KSxvPXQ+MDtsZXQgbDtpZihvKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChpLGEpO2lmKG51bGw9PT1lKXJldHVybiBuO2w9ZX1lbHNle2NvbnN0IGU9dGhpcy5fZ2V0U2VyaWVzVmFsKHMsYSk7aWYobnVsbD09PWUpcmV0dXJuIG47bD1lfXJldHVybiBuZXcgdnQoZStyLGwsdCxvKX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiEwfV9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzKGUsdCxzLGkpe3RoaXMuX2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXNJbXBsKGUsdCxzLGkpfV9jcmVhdGVTZWxlY3Rpb25EYXRhUG9pbnQoZSx0LHMsaSl7Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksbj1QdChyKSxhPWZ1bmN0aW9uKGUpe3JldHVybiBJdChlKX0ociksbz1zdXBlci5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KGUsdCxzLGkpLGw9dGhpcy5faXRlbXNbKDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyx0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSldO2lmKCFsKXJldHVybiBvO2NvbnN0IGg9bC5pc1VwPzE6LTE7cmV0dXJuey4uLm8scG9pbnQ6by5wb2ludC5hZGQoKDAsdXQucG9pbnQpKDAsaCoobithKSkpfX1fdXBkYXRlSXRlbXNIZWlnaHRzKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKTtsZXQgcz1NYXRoLmFicygoMCxoLmVuc3VyZURlZmluZWQpKHRbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLm1pbkhlaWdodD8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQpKSxpPU1hdGguYWJzKCgwLGguZW5zdXJlRGVmaW5lZCkodFt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubWF4SGVpZ2h0Py52YWx1ZSgpPz90aGlzLl9wbG90U3R5bGVJbmZvLm1heEhlaWdodCkpO2lmKHM+aSl7Y29uc3QgZT1zO3M9aSxpPWV9Y29uc3Qgcj10aGlzLl9pdGVtcyxuPWUudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLGE9KGUudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/ci5sZW5ndGgpLTE7bGV0IG89MDtmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLHM9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTtzPm8mJihvPXMpfWNvbnN0IGw9KGktcykvbztmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLGk9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTt0LmhlaWdodD1pKmwrc319fXZhciBWdD1zKDM0ODUxOCkseHQ9cyg1NDQ4NjQpO2NsYXNzIEF0IGV4dGVuZHMgQmUuU3R1ZHlGb3JjZU92ZXJsYXlQbG90Vmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fYmFycz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9vaGxjUGxvdEluZGV4ZXM9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsCmtlLmNyZWF0ZVN0dWR5UGxvdENvbG9yUHJvdmlkZXIpKGUubWV0YUluZm8oKSxlLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9zZWxlY3Rpb25JbmRleGVyPW5ldyAkZS5TZWxlY3Rpb25JbmRleGVzKHMudGltZVNjYWxlKCkpO2NvbnN0IHI9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90cztmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7Y29uc3QgdD1yW2VdOyJ0YXJnZXQiaW4gdCYmKHQudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUmJigoMCxaLmlzT2hsY09wZW5QbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgxLGUpLCgwLFouaXNPaGxjSGlnaFBsb3QpKHQpJiZ0aGlzLl9vaGxjUGxvdEluZGV4ZXMuc2V0KDIsZSksKDAsWi5pc09obGNMb3dQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgzLGUpLCgwLFouaXNPaGxjQ2xvc2VQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCg0LGUpKSl9fXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1pdGVtcygpe3JldHVybiB0aGlzLl9iYXJzfWlzUGxvdEhpZ2hsaWdodGVkKCl7aWYoIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFycy5sZW5ndGg9MDtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpfHxudWxsPT09ZXx8ZS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IHM9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXMpcmV0dXJuO2xldCBpPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KTtjb25zdCByPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cilyZXR1cm47Y29uc3Qgbj10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYobj5yKXJldHVybjtpPU1hdGgubWF4KG4saSk7Y29uc3QgYT10aGlzLl9zdHVkeS5kYXRhKCksbz10aGlzLl9zdHVkeS5maXJzdFZhbHVlKHZvaWQgMCx0aGlzLmlzRm9yY2VPdmVybGF5KCkpO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBsPWEucmFuZ2VJdGVyYXRvcihpLHIpLHU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2hsY1Bsb3RzKS5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCksYz1uZXcgTWFwLGQ9KGUsdCk9Pntjb25zdCBzPWUrIkAiK3Q7aWYoIWMuaGFzKHMpKXtjb25zdCBpPSgwLEwuZ2VuZXJhdGVDb2xvcikoZSx0KTtyZXR1cm4gYy5zZXQocyxpKSxpfXJldHVybiBjLmdldChzKX0scD0oMCxLZS5jcmVhdGVFbXB0eVN0eWxlKSgpO2Zvcihjb25zdCBlIG9mIGwpe2xldCB0PWUuaW5kZXg7Y29uc3Qgcz1lLnZhbHVlO3Q9TWF0aC5mbG9vcih0KTtsZXQgaT0hMDtjb25zdCByPW5ldyBNYXA7Zm9yKGxldCBlPTE7ZTw9NDsrK2Upe2NvbnN0IHQ9dGhpcy5fb2hsY1Bsb3RJbmRleGVzLmdldChlKTtpZih2b2lkIDA9PT10KXtpPSExO2JyZWFrfWNvbnN0IG49c1t0KzFdO2lmKG51bGw9PW4pe2k9ITE7YnJlYWt9ci5zZXQoZSxuKX1pZighaSljb250aW51ZTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMSkpLGE9KDAsaC5lbnN1cmVEZWZpbmVkKShyLmdldCg0KSksbz0oMCxoLmVuc3VyZURlZmluZWQpKHIuZ2V0KDIpKSxsPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMykpLGM9TWF0aC5tYXgobixvLGwsYSksXz1NYXRoLm1pbihuLG8sbCxhKTtsZXQgZj0oMCxoLmVuc3VyZURlZmluZWQpKGQodS5jb2xvci52YWx1ZSgpLDApKTtjb25zdCBtPXRoaXMuX2NvbG9yUHJvdmlkZXIuZ2V0UGxvdFBvaW50U3R5bGUocyxwKTt2b2lkIDAhPT1tLmNvbG9yc1swXSYmKGY9KDAsaC5lbnN1cmVEZWZpbmVkKShtLmNvbG9yc1swXSkpO2NvbnN0IHk9e29wZW46bixoaWdoOmMsbG93Ol8sY2xvc2U6YSxjb2xvcjpmLHdpY2tDb2xvcjptLmNvbG9yc1s0XSxib3JkZXJDb2xvcjptLmNvbG9yc1szXSxob2xsb3c6bnVsbCxjZW50ZXI6TmFOLGxlZnQ6TmFOLHJpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDpNYXRoLnJvdW5kKHQpfTt0aGlzLl9iYXJzLnB1c2goeSl9ZS5iYXJQcmljZXNUb0Nvb3JkaW5hdGVzKHRoaXMuX2JhcnMsbyksdC5maWxsQmFyQm9yZGVycyh0aGlzLl9iYXJzKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24obyx0KX1fY3JlYXRlU2VsZWN0aW9uKGUsdCl7Y29uc3Qgcz10aGlzLl9wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKHRoaXMuX3NlbGVjdGlvbkRhdGE9e3BvaW50czpbXSxiZ0NvbG9yczpbXSx2aXNpYmxlOiEwLGhpdHRlc3RSZXN1bHQ6eHQuSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCkscj0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX29obGNQbG90SW5kZXhlcy5nZXQoNCkpLG49dGhpcy5fc2VsZWN0aW9uSW5kZXhlci5pbmRleGVzKCk7Zm9yKGxldCBhPTA7YTxuLmxlbmd0aDthKyspewpjb25zdCBvPW5bYV0sbD10aGlzLl9zdHVkeS5kYXRhKCkudmFsdWVBdChvKTtpZihudWxsPT09bCljb250aW51ZTtjb25zdCBoPWxbcisxXTtpZihudWxsPT1oKWNvbnRpbnVlO2NvbnN0IHU9dC5pbmRleFRvQ29vcmRpbmF0ZShNYXRoLmZsb29yKG8pKSxjPXMucHJpY2VUb0Nvb3JkaW5hdGUoaCxlKTt0aGlzLl9zZWxlY3Rpb25EYXRhLnBvaW50cy5wdXNoKHtwb2ludDpuZXcgdXQuUG9pbnQodSxjKX0pLHRoaXMuX3NlbGVjdGlvbkRhdGEuYmdDb2xvcnMucHVzaCh0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcChjL2kpKX19X2lzT0hMQ1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSl9fWNsYXNzIFJ0IGV4dGVuZHMgQXR7cmVuZGVyZXIoKXtpZighdGhpcy5faXNPSExDUGxvdFZpc2libGUoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT17YmFyczp0aGlzLl9iYXJzLGRvbnREcmF3T3Blbjp0aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhclN0eWxlLmNoaWxkcygpLmRvbnREcmF3T3Blbi52YWx1ZSgpLHRoaW5CYXJzOnRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFyU3R5bGUuY2hpbGRzKCkudGhpbkJhcnMudmFsdWUoKX0sdD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7cmV0dXJuIHQuYXBwZW5kKG5ldyBWdC5QYW5lUmVuZGVyZXJCYXJzKGUpKSx0aGlzLl9pc01hcmtlcnNFbmFibGVkJiZ0aGlzLl9zZWxlY3Rpb25EYXRhJiZ0LmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpLHR9fXZhciBNdD1zKDY4OTA4MCk7Y2xhc3MgVHQgZXh0ZW5kcyBBdHtyZW5kZXJlcigpe2lmKCF0aGlzLl9pc09ITENQbG90VmlzaWJsZSgpKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vaGxjUGxvdHMpLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxzPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxpPXtiYXJzOnRoaXMuX2JhcnMsYmFyU3BhY2luZzpzLHdpY2tWaXNpYmxlOnQuZHJhd1dpY2sudmFsdWUoKSxib2R5VmlzaWJsZTohMCxib3JkZXJWaXNpYmxlOnQuZHJhd0JvcmRlci52YWx1ZSgpLGJhcldpZHRoOigwLF90Lm9wdGltYWxCYXJXaWR0aCkocyksYm9yZGVyQ29sb3I6dC5ib3JkZXJDb2xvci52YWx1ZSgpLHdpY2tDb2xvcjp0LndpY2tDb2xvci52YWx1ZSgpLGlzUHJpY2VTY2FsZUludmVydGVkOmUuaXNJbnZlcnRlZCgpfSxyPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gci5hcHBlbmQobmV3IE10LlBhbmVSZW5kZXJlckNhbmRsZXMoaSkpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJnRoaXMuX3NlbGVjdGlvbkRhdGEmJnIuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhKSkscn19dmFyIER0PXMoMzc2NjQ1KSxGdD1zKDMxNTY1NCksT3Q9cyg3NDM0NyksTnQ9cygyNjA2OSk7Y2xhc3Mga3QgZXh0ZW5kcyBPdC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmxpbmVzdHlsZT1OdC5MSU5FU1RZTEVfRE9UVEVELHRoaXMuX3N0dWR5PWUsdGhpcy5fcGxvdE5hbWU9dH1fdXBkYXRlSW1wbCgpe3RoaXMuX2xpbmVSZW5kZXJlckRhdGEudmlzaWJsZT0hMTtjb25zdCBlPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO2lmKCFlLnRyYWNrUHJpY2UudmFsdWUoKXx8IXRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSh0aGlzLl9wbG90TmFtZSwhMCk7dC5ub0RhdGF8fCh0aGlzLl9saW5lUmVuZGVyZXJEYXRhLnZpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS55PXQuY29vcmRpbmF0ZSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmNvbG9yPXQuY29sb3IsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS5saW5ld2lkdGg9ZS5saW5ld2lkdGgudmFsdWUoKSl9fXZhciBCdD1zKDE2Njk4OCksRXQ9cygyNTQ3MzEpLEx0PXMoODc3MjE3KSxIdD1zKDk5NTI0MCk7Y29uc3QgVXQ9e3R5cGU6MCxjb2xvcjoidHJhbnNwYXJlbnQifTtjbGFzcyBXdCBleHRlbmRzIEx0LkFic3RyYWN0RmlsbGVkQXJlYVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKGUsdCxzKSx0aGlzLl9wYWxldHRlc0luZm89e30sdGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9bnVsbCx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsRXQucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpO2NvbnN0IHI9dGhpcy5fc291cmNlLm1ldGFJbmZvKCk7dGhpcy5faXNSR0I9Qm9vbGVhbihyLmlzUkdCKSx0aGlzLl9pc0hsaW5lRmlsbD0iaGxpbmVfaGxpbmUiPT09cy50eXBlLCgwLGguYXNzZXJ0KSh0aGlzLl9pc0hsaW5lRmlsbHx8InBsb3RfcGxvdCI9PT1zLnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIitzLnR5cGUpLHRoaXMuX2lzSGxpbmVGaWxsJiZ0aGlzLl9pbml0QmFuZEluZGV4ZXMocy5vYmpBSWQscy5vYmpCSWQpLHRoaXMuX2ZpbGxNZXRhSW5mbz1zLHRoaXMuX2ZpbGxTdHlsZVByb3BzPWksdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1pLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09aS5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXsKY29sb3IxOnMudG9wQ29sb3IsY29sb3IyOnMuYm90dG9tQ29sb3IsdmFsdWUxOnMudG9wVmFsdWUsdmFsdWUyOnMuYm90dG9tVmFsdWV9LHRoaXMuX2hhc0FsbEdyYWRpZW50UmVxdWlyZWRQcm9wcz10aGlzLl9ncmFkaWVudEZpbGxUeXBlJiYodm9pZCAwIT09dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjF8fGkuaGFzQ2hpbGQoInRvcENvbG9yIil8fHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUuY29sb3IyfHxpLmhhc0NoaWxkKCJib3R0b21Db2xvciIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxfHxpLmhhc0NoaWxkKCJ0b3BWYWx1ZSIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUyfHxpLmhhc0NoaWxkKCJib3R0b21WYWx1ZSIpKTtjb25zdCBuPSgpPT50aGlzLl9jb2xvclBsb3RJbmRleD10aGlzLl9jb2xvclBsb3RJbmRleD8/e3R5cGU6MX07Zm9yKGxldCB0PTA7dDxyLnBsb3RzLmxlbmd0aDsrK3Qpe2NvbnN0IGk9ci5wbG90c1t0XTtpZigoKDAsWi5pc0NvbG9yZXJQbG90KShpKXx8KDAsWi5pc0RhdGFQbG90KShpKSkmJmkudGFyZ2V0PT09cy5pZCl7aWYoKDAsWi5pc0NvbG9yZXJQbG90KShpKSl7bGV0IHM7dm9pZCAwIT09aS50YXJnZXRGaWVsZD8idG9wQ29sb3IiPT09aS50YXJnZXRGaWVsZD8obigpLmNvbG9ySW5kZXhPclJnYmExPXQscz0iY29sb3IxIik6ImJvdHRvbUNvbG9yIj09PWkudGFyZ2V0RmllbGQmJihuKCkuY29sb3JJbmRleE9yUmdiYTI9dCxzPSJjb2xvcjIiKTp0aGlzLl9jb2xvclBsb3RJbmRleD17dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6dH0sKDAsWi5pc1BhbGV0dGVDb2xvcmVyUGxvdCkoaSkmJih0aGlzLl9wYWxldHRlc0luZm9bcz8/ImNvbG9yIl09e21hcDooMCxoLmVuc3VyZURlZmluZWQpKCgwLGguZW5zdXJlRGVmaW5lZCkoci5wYWxldHRlcylbaS5wYWxldHRlXT8udmFsVG9JbmRleCksdmFsdWVzOmUucHJvcGVydGllcygpLnBhbGV0dGVzW2kucGFsZXR0ZV0uY29sb3JzfSl9ZWxzZSgwLFouaXNEYXRhUGxvdCkoaSkmJigidG9wVmFsdWUiPT09aS50YXJnZXRGaWVsZD9uKCkudmFsdWVJbmRleDE9dDoiYm90dG9tVmFsdWUiPT09aS50YXJnZXRGaWVsZCYmKG4oKS52YWx1ZUluZGV4Mj10KSk7aWYoMD09PXRoaXMuX2NvbG9yUGxvdEluZGV4Py50eXBlKWJyZWFrfX19dXBkYXRlKGUpe3N1cGVyLnVwZGF0ZShlKSx0aGlzLl9ncmFkaWVudFByb3BzU3RhdGVDYWNoZT1udWxsfWlzRm9yY2VPdmVybGF5KCl7cmV0dXJuISF0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdEFJZCgpKX1fZmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5pc0ZvcmNlT3ZlcmxheSgpO3JldHVybiB0aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSh2b2lkIDAsZSl9X21pbkZpcnN0QmFySW5kZXgoKXtyZXR1cm4gdGhpcy5fc291cmNlLmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KHRoaXMuX2ZpbGxNZXRhSW5mby5pZCl9X2dldENvbG9yQnlQbG90VmFsdWUoZSl7aWYoMD09PWUudHlwZSl7bGV0IHQ7aWYobnVsbD09ZS5jb2xvckluZGV4T3JSZ2JhKXJldHVybiBudWxsO2lmKHRoaXMuX2lzUkdCKXQ9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYSk7ZWxzZXtjb25zdCBzPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcGFsZXR0ZXNJbmZvLmNvbG9yKSxpPSgwLGguZW5zdXJlRGVmaW5lZCkocy5tYXBbZS5jb2xvckluZGV4T3JSZ2JhXSk7dD1zLnZhbHVlc1tpXT8uY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm57dHlwZTowLGNvbG9yOnR9fWNvbnN0IHQ9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtsZXQgcyxpO2lmKHRoaXMuX2lzUkdCKW51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEmJihzPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmNvbG9ySW5kZXhPclJnYmExKSksbnVsbCE9ZS5jb2xvckluZGV4T3JSZ2JhMiYmKGk9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYTIpKTtlbHNle2lmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IxKTtzPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMV0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfWlmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTIpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IyKTtpPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMl0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfX1jb25zdCByPWUudmFsdWUxPz90LnZhbHVlMSxuPWUudmFsdWUyPz90LnZhbHVlMjtyZXR1cm4gcz1zPz90LmNvbG9yMSxpPWk/P3QuY29sb3IyLHZvaWQgMD09PXJ8fHZvaWQgMD09PW58fHZvaWQgMD09PXMmJnZvaWQgMD09PWk/bnVsbDp7dHlwZToxLGNvbG9yMTpzLGNvbG9yMjppLHZhbHVlMTpyLHZhbHVlMjpuLGNvb3JkaW5hdGUxOk5hTixjb29yZGluYXRlMjpOYU59fV9wbG90QUlkKCl7cmV0dXJuIHRoaXMuX2ZpbGxNZXRhSW5mby5vYmpBSWR9X3Bsb3RCSWQoKXtyZXR1cm4gdGhpcy5fZmlsbE1ldGFJbmZvLm9iakJJZH1fY29tbW9uQ29sb3IoKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpO2lmKHRoaXMuX2dyYWRpZW50RmlsbFR5cGUpe2lmKCF0aGlzLl9oYXNBbGxHcmFkaWVudFJlcXVpcmVkUHJvcHMpcmV0dXJuIFV0O2NvbnN0IGU9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtyZXR1cm57dHlwZToxLGNvbG9yMTplLmNvbG9yMSxjb2xvcjI6ZS5jb2xvcjIsdmFsdWUxOmUudmFsdWUxLHZhbHVlMjplLnZhbHVlMixjb29yZGluYXRlMTpOYU4sY29vcmRpbmF0ZTI6TmFOfX1yZXR1cm57dHlwZTowLGNvbG9yOmUuY29sb3IudmFsdWUoKX19X3RyYW5zcGFyZW5jeSgpewpyZXR1cm4gdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLmlzRm9yY2VPdmVybGF5KCk/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9jcmVhdGVBcmVhQmFja2dyb3VuZEl0ZW0oKXtyZXR1cm4gdGhpcy5faXNIbGluZUZpbGw/bmV3IEh0LkFyZWFCYWNrZ3JvdW5kSXRlbSghMSwhMSk6c3VwZXIuX2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7Y29uc3Qgcz10aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcztpZih2b2lkIDAhPT1zKWZvcihsZXQgaT0wO2k8cy5sZW5ndGg7KytpKXtjb25zdCByPXNbaV07bnVsbCE9PXRoaXMuX2JhbmRBS2V5fHxyLmlkIT09ZT9udWxsPT09dGhpcy5fYmFuZEJLZXkmJnIuaWQ9PT10JiYodGhpcy5fYmFuZEJLZXk9aSk6dGhpcy5fYmFuZEFLZXk9aX19X2dyYWRpZW50Q29sb3JQcm9wc1N0YXRlKCl7aWYobnVsbD09PXRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLnN0YXRlKCk7dGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9e2NvbG9yMTp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLmNvbG9yMT8/ZS50b3BDb2xvcixjb2xvcjI6dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjI/P2UuYm90dG9tQ29sb3IsdmFsdWUxOnRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxPz9lLnRvcFZhbHVlLHZhbHVlMjp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLnZhbHVlMj8/ZS5ib3R0b21WYWx1ZX19cmV0dXJuIHRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlfX12YXIgR3Q9cyg1MzY3MTApLGp0PXMoMTQxMzUwKSx6dD1zKDY1MDQ4MCk7Y2xhc3MgJHR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9saW5lUmVuZGVyZXI9bmV3IHp0Lkhvcml6b250YWxMaW5lUmVuZGVyZXIsdGhpcy5fc291cmNlPXQsdGhpcy5fcG9pbnRzPVtuZXcgdXQuUG9pbnQoLTEsLTEpXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm9wZXJ0aWVzPWV9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e3k6dGhpcy5fcG9pbnRzWzBdLnksY29sb3I6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmV3aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVzdHlsZS52YWx1ZSgpfTtyZXR1cm4gdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fbGluZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gdm9pZCh0aGlzLl9wb2ludHNbMF09bmV3IHV0LlBvaW50KC0xLC0xKSk7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnZhbHVlLnZhbHVlKCkscz10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpLGk9KDAsdS5pc051bWJlcikodCkmJm51bGwhPT1zP2UucHJpY2VUb0Nvb3JkaW5hdGUodCxzKTpOYU47dGhpcy5fcG9pbnRzWzBdPW5ldyB1dC5Qb2ludCgtMSxpKX19dmFyIEt0PXMoNTczMDU0KTtjbGFzcyBxdCBleHRlbmRzIEt0Lk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9kYXRhPW51bGx9c2V0RGF0YShlPW51bGwpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KCl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5wb2ludHMubGVuZ3RoKXJldHVybjtjb25zdCB0PWUuY29udGV4dCxzPWUubWVkaWFTaXplLndpZHRoO2lmKHRoaXMuX2RhdGEuZ3JhZGllbnQpe2NvbnN0IGU9dC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLHRoaXMuX2RhdGEuY29vcmRpbmF0ZTEsMCx0aGlzLl9kYXRhLmNvb3JkaW5hdGUyKTtlLmFkZENvbG9yU3RvcCgwLHRoaXMuX2RhdGEuYmFja0NvbG9yMT8/InRyYW5zcGFyZW50IiksZS5hZGRDb2xvclN0b3AoMSx0aGlzLl9kYXRhLmJhY2tDb2xvcjI/PyJ0cmFuc3BhcmVudCIpLHQuZmlsbFN0eWxlPWV9ZWxzZSB0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmJhY2tjb2xvcjtjb25zdCBpPU1hdGgubWluKHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKSxyPU1hdGgubWF4KHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKTt0LmZpbGxSZWN0KDAsaSxzLHItaSl9fWNsYXNzIEp0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9zb3VyY2U9ZX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksdD1lLmJhbmRzO2lmKHQuY2hpbGRDb3VudCgpPDIpcmV0dXJuO2NvbnN0IHM9ZS5iYW5kc0JhY2tncm91bmQ7aWYoIXM/LmNoaWxkcygpLmZpbGxCYWNrZ3JvdW5kLnZhbHVlKCkpcmV0dXJuCjtjb25zdCBpPXRbMF0uY2hpbGRzKCkscj10WzFdLmNoaWxkcygpLG49dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxhPXRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCk7aWYoIW58fG4uaXNFbXB0eSgpfHxudWxsPT09YSlyZXR1cm47Y29uc3Qgbz1bbi5wcmljZVRvQ29vcmRpbmF0ZShpLnZhbHVlLnZhbHVlKCksYSksbi5wcmljZVRvQ29vcmRpbmF0ZShyLnZhbHVlLnZhbHVlKCksYSldLGw9KDAsaC5lbnN1cmVEZWZpbmVkKShlLmJhbmRzQmFja2dyb3VuZCkuY2hpbGRzKCksdT0oMCx6ZS5jbGFtcCkobC50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO3RoaXMuX2JhbmRCZ1JlbmRlcmVyLnNldERhdGEoe2dyYWRpZW50OiExLHBvaW50czpvLGJhY2tjb2xvcjooMCxMLmdlbmVyYXRlQ29sb3IpKGwuYmFja2dyb3VuZENvbG9yLnZhbHVlKCksdSl9KX19Y2xhc3MgWXR7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGwsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsKDAsaC5hc3NlcnQpKCJobGluZV9obGluZSI9PT10LnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIit0LnR5cGUpLHRoaXMuX2luaXRCYW5kSW5kZXhlcyh0Lm9iakFJZCx0Lm9iakJJZCksdGhpcy5fZmlsbFN0eWxlUHJvcHM9cyx0aGlzLl9iYW5kQmdSZW5kZXJlcj1uZXcgcXQsdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1zLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09cy5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXtjb2xvcjE6dC50b3BDb2xvcixjb2xvcjI6dC5ib3R0b21Db2xvcix2YWx1ZTE6dC50b3BWYWx1ZSx2YWx1ZTI6dC5ib3R0b21WYWx1ZX19dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKSwhdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fYmFuZEFLZXl8fG51bGw9PT10aGlzLl9iYW5kQktleSlyZXR1cm47Y29uc3QgZT0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFuZHMpLHQ9ZS5jaGlsZHMoKVt0aGlzLl9iYW5kQUtleV0uY2hpbGRzKCkscz1lLmNoaWxkcygpW3RoaXMuX2JhbmRCS2V5XS5jaGlsZHMoKSxpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpO2lmKCFpfHxpLmlzRW1wdHkoKXx8bnVsbD09PXIpcmV0dXJuO2NvbnN0IG49W2kucHJpY2VUb0Nvb3JkaW5hdGUodC52YWx1ZS52YWx1ZSgpLHIpLGkucHJpY2VUb0Nvb3JkaW5hdGUocy52YWx1ZS52YWx1ZSgpLHIpXSxhPSgwLHplLmNsYW1wKSh0aGlzLl9maWxsU3R5bGVQcm9wcy5jaGlsZHMoKS50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO2xldCBvO2NvbnN0IGw9dGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCk7aWYodGhpcy5fZ3JhZGllbnRGaWxsVHlwZSl7Y29uc3QgZT10aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLHQ9bCxzPWUudmFsdWUxPz90LnRvcFZhbHVlPy52YWx1ZSgpLGg9ZS52YWx1ZTI/P3QuYm90dG9tVmFsdWU/LnZhbHVlKCk7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09aClyZXR1cm47Y29uc3QgdT1lLmNvbG9yMT8/dC50b3BDb2xvcj8udmFsdWUoKSxjPWUuY29sb3IyPz90LmJvdHRvbUNvbG9yPy52YWx1ZSgpO2lmKHZvaWQgMD09PXUmJnZvaWQgMD09PWMpcmV0dXJuO289e2dyYWRpZW50OiEwLHBvaW50czpuLGJhY2tDb2xvcjE6dSYmKDAsTC5nZW5lcmF0ZUNvbG9yKSh1LGEpLGJhY2tDb2xvcjI6YyYmKDAsTC5nZW5lcmF0ZUNvbG9yKShjLGEpLGNvb3JkaW5hdGUxOmkucHJpY2VUb0Nvb3JkaW5hdGUocyxyKSxjb29yZGluYXRlMjppLnByaWNlVG9Db29yZGluYXRlKGgscil9fWVsc2Ugbz17Z3JhZGllbnQ6ITEscG9pbnRzOm4sYmFja2NvbG9yOigwLEwuZ2VuZXJhdGVDb2xvcikobC5jb2xvci52YWx1ZSgpLGEpfTt0aGlzLl9iYW5kQmdSZW5kZXJlci5zZXREYXRhKG8pfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcykuZm9yRWFjaCgoKHMsaSk9PntudWxsPT09dGhpcy5fYmFuZEFLZXkmJnMuaWQ9PT1lJiYodGhpcy5fYmFuZEFLZXk9aSksbnVsbD09PXRoaXMuX2JhbmRCS2V5JiZzLmlkPT09dCYmKHRoaXMuX2JhbmRCS2V5PWkpfSkpfX12YXIgWnQ9cyg4Njc4MzEpLFh0PXMoNDc3MyksUXQ9cyg3NjgyOTIpLGVzPXMoNDkwNDQ2KSx0cz1zKDEyODk5OCksc3M9cygxNTI3NjYpLGlzPXMoNjgwMTI2KTtjbGFzcyBycyBleHRlbmRzIGlzLlN0dWR5UHJpY2VBeGlzVmlld3tpc1Bsb3RIaWdobGlnaHRlZCgpe2lmKCF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpKXJldHVybiExO2NvbnN0IGU9dGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fZGF0YT8ucGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfX12YXIgbnM9cyg5Njk0KSxhcz1zKDQ4MzE2MCk7Y2xhc3Mgb3MgZXh0ZW5kcyBhcy5BYnN0cmFjdEJhckNvbG9yZXJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX3JnYmFGcm9tSW50ZWdlcj0oMCxFdC5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fc3R1ZHk9ZSx0aGlzLl9wbG90SW5kZXg9dH1hcHBseUJhclN0eWxlKGUsdCxzLGkpe2lmKHQpcmV0dXJuIHMKO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFyLnZpc2libGUudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCksYT10aGlzLl9zdHVkeS5kYXRhKCk7aWYoIWF8fDA9PT1hLnNpemUoKSlyZXR1cm4gcztjb25zdCBvPW4ucGxvdHNbdGhpcy5fcGxvdEluZGV4XSxsPXRoaXMuX2dldE9mZnNldCgpO2lmKHRoaXMuX3N0dWR5LmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KG8uaWQpPmUrbClyZXR1cm4gcztpZihyLnN0eWxlcy5jaGlsZHMoKVtvLmlkXS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4gcztjb25zdCB1PWEudmFsdWVBdChlLWwpO2lmKG51bGw9PT11KXJldHVybiBzO2xldCBjPXVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PWMpcmV0dXJuIHM7aWYoYz1NYXRoLnJvdW5kKGMpLG4uaXNSR0Ipcy5iYXJDb2xvcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoYykscy51cENvbG9yPXMuYmFyQ29sb3Iscy5kb3duQ29sb3I9cy5iYXJDb2xvcjtlbHNle2NvbnN0IGU9bi5wbG90c1t0aGlzLl9wbG90SW5kZXhdO2lmKCJwYWxldHRlImluIGUpe2NvbnN0IHQ9ZS5wYWxldHRlLGk9ci5wYWxldHRlcy5jaGlsZHMoKVt0XSxhPSgwLGguZW5zdXJlRGVmaW5lZCkobi5wYWxldHRlcz8uW3RdKSxvPWEudmFsVG9JbmRleD8oMCxoLmVuc3VyZURlZmluZWQpKGEudmFsVG9JbmRleFtjXSk6YyxsPWkuY2hpbGRzKCkuY29sb3JzLmNoaWxkcygpW29dLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7cy5iYXJDb2xvcj1sLHMudXBDb2xvcj1sLHMuZG93bkNvbG9yPWx9fXJldHVybiBzfWZpcnN0Q29sb3JlZEJhcihlKXtsZXQgdD1lO2Zvcihjb25zdCBzIG9mIHRoaXMuX2JhY2tDb2xvcmVycyl0PU1hdGgubWluKHQscy5maXJzdENvbG9yZWRCYXIoZSk/PzEvMCk7Y29uc3Qgcz10aGlzLl9nZXRPZmZzZXQoKTt0PU1hdGgubWluKHQsZStzKTtjb25zdCBpPXRoaXMuX2dldEJhcnMoKS5maXJzdEluZGV4KCkscj1NYXRoLm1heCh0LGk/Py0xLzApLG49dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiBNYXRoLm1heCh0aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdChuLmlkKSxyKX1fZ2V0QmFycygpe3JldHVybiB0aGlzLl9zdHVkeS5zZXJpZXMoKS5iYXJzKCl9X2dldE9mZnNldCgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiB0aGlzLl9zdHVkeS5vZmZzZXQoZS5pZCl9fXZhciBscz1zKDE3OTc3MSksaHM9cygzMDk4MzcpLHVzPXMoNzU1NjI3KSxjcz1zKDUwNDQzMSk7Y2xhc3MgZHMgZXh0ZW5kcyBEdC5QYW5lUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcihlLHQscyksdGhpcy5fZGF0YVNvdXJjZT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PXQubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkoaSl9X3Bvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl9pc0ZvcmNlT3ZlcmxheT90aGlzLl9jaGFydE1vZGVsLm1haW5QYW5lKCk6dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX2RhdGFTb3VyY2UpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5faXNGb3JjZU92ZXJsYXk/dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX2RhdGFTb3VyY2UucHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2xldCBzPWUucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiJvdmVybGF5Ij09PXMmJihzPWUucHJpY2VTY2FsZVBvc2l0aW9uKGUuZGVmYXVsdFByaWNlU2NhbGUoKSkpLCJvdmVybGF5Ij09PXM/bnVsbDpzfX12YXIgcHM9cygyMzMyNDcpLF9zPXMoNDM3NzQ5KSxmcz1zKDQxMzY2KSxtcz1zKDMxNjY1NSkseXM9cyg3NzU4NjkpLGdzPXMoODM1Mjc4KTtjb25zdCBTcz0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5IiksYnM9Vi50KG51bGwse2NvbnRleHQ6InN0dWR5IHN0YXR1cyBkZXNjcmlwdGlvbiJ9LHMoOTI5MDY2KSksdnM9L14oW15cJF0rKVwkXGQrJC87dmFyIFBzLElzO2Z1bmN0aW9uIHdzKCl7cmV0dXJue2ZpZWxkczpbXSx1c2VNYWluU2VyaWVzUmFuZ2U6ITEsYmFzZVZhbHVlTWluTWF4Om51bGx9fSFmdW5jdGlvbihlKXtlLlBhbmVWaWV3cz0ic3R1ZHktcGFuZS12aWV3cyJ9KFBzfHwoUHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByaWNlU2NhbGU9MTAwXT0iRGVmYXVsdFByaWNlU2NhbGUifShJc3x8KElzPXt9KSk7Y29uc3QgQ3M9e3N5bWJvbHNGb3JEaXNwbGF5OiExLHN5bWJvbHNGb3JDaGFydEFwaTohMCxza2lwSGlkZGVuSW5wdXRzOiExLHNraXBGYWtlSW5wdXRzOiExLHNraXBCb29sZWFuSW5wdXRzOiExLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czpbXSxub0V4Y2hhbmdlczohMSxub1Jlc29sdXRpb246ITEsa2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiExLHNraXBDb2xvcklucHV0czohMSxza2lwVGltZUlucHV0czohMSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMSxza2lwVGV4dGFyZWFJbnB1dHM6ITEscHJpY2VJbnB1dHNGb3JEaXNwbGF5OiExfSxWcz17c3ltYm9sc0ZvckRpc3BsYXk6ITEsc3ltYm9sc0ZvckNoYXJ0QXBpOiEwLHNraXBIaWRkZW5JbnB1dHM6ITAsc2tpcEZha2VJbnB1dHM6ITEsc2tpcEJvb2xlYW5JbnB1dHM6ITEsc2tpcHBlZEdyb3VwczpbXSxza2lwcGVkSW5wdXRzOltdLG5vRXhjaGFuZ2VzOiExLG5vUmVzb2x1dGlvbjohMSxrZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk6ITEsc2tpcENvbG9ySW5wdXRzOiExLHNraXBUaW1lSW5wdXRzOiExLHNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSxwcmljZUlucHV0c0ZvckRpc3BsYXk6ITEsZmFrZUlucHV0c0ZvckRpc3BsYXk6ITEsZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGU6ITEsb25seUF0b21WYWx1ZXM6ITB9LHhzPSgwLApJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9zeW1ib2xfdGlja2VyX2Rlc2NyaXB0aW9uIiksQXM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIiksUnM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGF0YXNvdXJjZV9jb3B5cGFzdGUiKSxNcz0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTtmdW5jdGlvbiBUcyhlLHQpe2NvbnN0IHM9ZS5wbG90c1t0XTtpZighc3x8ISgwLFouaXNPaGxjUGxvdCkocykpcmV0dXJuITE7Y29uc3QgaT1zLnRhcmdldCxyPWUuZGVmYXVsdHMuc3R5bGVzJiZlLmRlZmF1bHRzLnN0eWxlc1tpXSxuPWUuZGVmYXVsdHMub2hsY1Bsb3RzJiZlLmRlZmF1bHRzLm9obGNQbG90c1tpXSxhPWUub2hsY1Bsb3RzJiZlLm9obGNQbG90c1tpXTtyZXR1cm4gciYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShyKXx8biYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShuKXx8ISFhJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUJhcnMpKGEpfWZ1bmN0aW9uIERzKGUsdCl7Y29uc3Qgcz1lLnBsb3RzW3RdO2lmKCFzfHwhKDAsWi5pc09obGNQbG90KShzKSlyZXR1cm4hMTtjb25zdCBpPXMudGFyZ2V0LHI9ZS5kZWZhdWx0cy5zdHlsZXMmJmUuZGVmYXVsdHMuc3R5bGVzW2ldLG49ZS5kZWZhdWx0cy5vaGxjUGxvdHMmJmUuZGVmYXVsdHMub2hsY1Bsb3RzW2ldLGE9ZS5vaGxjUGxvdHMmJmUub2hsY1Bsb3RzW2ldO3JldHVybiByJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKHIpfHxuJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKG4pfHwhIWEmJigwLFouaXNPaGxjUGxvdFN0eWxlQ2FuZGxlcykoYSl9ZnVuY3Rpb24gRnMoZSx0KXsoMCxoLmFzc2VydCkodm9pZCAwIT09ZSwiek9yZGVyIG11c3QgYmUgZGVmaW5lZCIpLCgwLGguYXNzZXJ0KSghdC5oYXMoZSksInpPcmRlciBtdXN0IGJlIHVuaXF1ZSIpfWZ1bmN0aW9uIE9zKGUpe2lmKCFlLm1ldGFJbmZvKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8uc2NyaXB0SWRQYXJ0O2lmKCF0KXJldHVybjtjb25zdCBzPShpPUMoKSh0KSxidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheShpKSkpKTt2YXIgaTtjb25zdCByPWUubWV0YUluZm87ci5pZD0oci5pZHx8IiIpLnJlcGxhY2UodCxzKSxyLmZ1bGxJZD0oci5mdWxsSWR8fCIiKS5yZXBsYWNlKHQscyksci5uYW1lPShyLm5hbWV8fCIiKS5yZXBsYWNlKHQscyksci5zaG9ydElkPShyLnNob3J0SWR8fCIiKS5yZXBsYWNlKHQscyksci5zY3JpcHRJZFBhcnQ9KHIuc2NyaXB0SWRQYXJ0fHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUmJihlLnN0YXRlLmlkPShlLnN0YXRlLmlkfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUubmFtZT0oZS5zdGF0ZS5uYW1lfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUuc2NyaXB0SWRQYXJ0PShlLnN0YXRlLnNjcmlwdElkUGFydHx8IiIpLnJlcGxhY2UodCxzKSl9ZnVuY3Rpb24gTnMoZSx0KXtyZXR1cm4gZS5wbG90cy5zb21lKChlPT4oKDAsWi5pc0NvbG9yZXJQbG90KShlKXx8KDAsWi5pc0RhdGFQbG90KShlKSkmJmUudGFyZ2V0PT09dCkpfWZ1bmN0aW9uIGtzKGUsdCxzKXtsZXQgaT0wLHI9MDtyZXR1cm4gZS5pbnB1dHMuZmlsdGVyKChlPT4ic291cmNlIj09PWUudHlwZSkpLmZvckVhY2goKGU9PnsoMCxEZS5nZXRJbnB1dFZhbHVlKShzW2UuaWRdKS5pbmNsdWRlcygiJCIpJiZpKyssKDAsRGUuZ2V0SW5wdXRWYWx1ZSkodFtlLmlkXSkuaW5jbHVkZXMoIiQiKSYmcisrfSkpLE1hdGguc2lnbihyKS1NYXRoLnNpZ24oaSl9ZnVuY3Rpb24gQnMoZSl7Y29uc3QgdD0oMCxfLmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+QnMoZS5wYXJlbnRTb3VyY2VzVlcoKS53ZWFrUmVmZXJlbmNlKCkpKSkpLGUpO3JldHVybigwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT5BcnJheS5mcm9tKG5ldyBTZXQodC5jb25jYXQoZS5mbGF0KDIwKSkpKSksdC5vd25lcnNoaXAoKSxlKS5vd25lcnNoaXAoKX1mdW5jdGlvbiBFcyhlKXtyZXR1cm4iaW5oZXJpdCI9PT1lLnR5cGUmJihlLnR5cGU9InByaWNlIiksZX1mdW5jdGlvbiBMcyhlLHQscyxpKXtpZihudWxsIT09dClzd2l0Y2goZS50eXBlKXtjYXNlImluaGVyaXQiOmNhc2UicHJpY2UiOnJldHVybiBuZXcgdXMuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dH0pO2Nhc2Uidm9sdW1lIjpyZXR1cm4oMCxwcy5nZXRWb2x1bWVGb3JtYXR0ZXIpKE1hdGgubG9nMTAodCkpO2Nhc2UicGVyY2VudCI6cmV0dXJuKDAscHMuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoTWF0aC5sb2cxMCh0KSl9aWYoImluaGVyaXQiPT09ZS50eXBlKXJldHVybiBudWxsO2NvbnN0IHI9KDAsdS5pc051bWJlcikoZS5wcmVjaXNpb24pP01hdGgucG93KDEwLGUucHJlY2lzaW9uKTp2b2lkIDA7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmljZSI6cmV0dXJuIG5ldyB1cy5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpyfSk7Y2FzZSJ2b2x1bWUiOntsZXQgdD1lLnByZWNpc2lvbjtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9cyYmKDAsdS5pc051bWJlcikocy52b2x1bWVfcHJlY2lzaW9uKT9zLnZvbHVtZV9wcmVjaXNpb246MCksKDAscHMuZ2V0Vm9sdW1lRm9ybWF0dGVyKSh0KX1jYXNlInBlcmNlbnQiOnJldHVybigwLHBzLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKHZvaWQgMD09PXI/dm9pZCAwOk1hdGgubG9nMTAocikpO2RlZmF1bHQ6cmV0dXJuIFNzLmxvZ1dhcm4oYFVuc3VwcG9ydGVkIGZvcm1hdCB0eXBlOiAke2UudHlwZX1gKSxudWxsfX1jb25zdCBIcz1uZXcgU2V0KERlLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzTGlzdCk7Y2xhc3MgVXMgZXh0ZW5kcyBVLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQscyxyLG4sYSxvKXtzdXBlcihlKSx0aGlzLl9vblN0YXJ0PW5ldyB5LkRlbGVnYXRlLHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M9W10sCnRoaXMuX2xlZ2VuZFZpZXc9bnVsbCx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW51bGwsdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3M9W10sdGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlPVtdLHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9LHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3M9W10sdGhpcy5fbGFiZWxQYW5lVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M9W10sdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5PW51bGwsdGhpcy5fdW5pdElucHV0UHJvcGVydHk9bnVsbCx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9vd25GaXJzdFZhbHVlPW51bGwsdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMuX2RhdGFVcGRhdGVkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eT1udWxsLHRoaXMuX3BpbmVTb3VyY2VDb2RlTW9kZWw9bnVsbCx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW51bGwsdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlPW5ldyB5LkRlbGVnYXRlLHRoaXMuX3N5bWJvbHNSZXNvbHZlZD1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2lucHV0c0FuY2hvcnNQYW5lVmlldz1udWxsLHRoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bnVsbCx0aGlzLl9pbnB1dHNUaW1lQXhpc1BhbmVWaWV3cz1bXSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3M9W10sdGhpcy5fc291cmNlcz1uZXcgbS5XYXRjaGVkT2JqZWN0KFtdLHAuY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHMpLHRoaXMuX3N0YXR1cz1uZXcgZi5XYXRjaGVkVmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pLHRoaXMuX2NvbXBpbGVBY3RpdmVTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmU9ITEsdGhpcy5faXNTdGFydGVkPSExLHRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkPSExLHRoaXMuX3RpdGxlU3RyQ2FjaGU9e30sdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGU9e30sdGhpcy5fc3BsaXRUaXRsZUNhY2hlPXt9LHRoaXMuX2lucHV0c0luUGFydHNDYWNoZT17fSx0aGlzLl9jaGlsZHJlbj1bXSx0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPVtdLHRoaXMuX3NlcnZlclBsb3RPZmZzZXRzPW5ldyBtLldhdGNoZWRPYmplY3Qoe30pLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX3N0dWR5TW9kaWZpZWQ9ITEsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fdHVybmFyb3VuZD0ic3QwIix0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHM9bmV3IE1hcCx0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2U9bmV3IHkuRGVsZWdhdGUsdGhpcy5fY2hpbGRTdHVkeUJ5UmViaW5kPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fSx0aGlzLl9zdGFydE1vdmluZ1BvaW50PW51bGwsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZUJvdW5kPXRoaXMucHJvY2Vzc0hpYmVybmF0ZS5iaW5kKHRoaXMsMSksdGhpcy5fbWF4T2Zmc2V0PW5ldyBmLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9bnVsbCx0aGlzLl9ncmFwaGljc1ZpZXdzUmVhZHk9ITEsdGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWw9bnVsbCx0aGlzLl9wbG90Rm9ybWF0dGVycz1uZXcgTWFwLHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT1uZXcgZi5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcz1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcj17fSx0aGlzLl9jYWxjdWxhdGlvblRpbWU9bmV3IGYuV2F0Y2hlZFZhbHVlKDApLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRXVj1uZXcgZi5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX2NoYXJ0QXBpPWUuY2hhcnRBcGkoKSx0aGlzLl9wcm9wZXJ0aWVzPXQsdGhpcy5fb3JpZ2luYWxNZXRhSW5mbz1uLHRoaXMuX21ldGFJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShyKSx0aGlzLl9zdHVkeU5hbWU9KDAsXy5jb21iaW5lKSgoZT0+ZS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPygwLHYuZ2V0U3R1ZHlJZFdpdGhWZXJzaW9uKShlKTp0aGlzLl9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKSksdGhpcy5fbWV0YUluZm8ud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jb21wb3VuZFN0YXR1cz0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT5lPz90Pz9zKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2hpZGVNYXRjaGVzPXIuaW5wdXRzLmZpbHRlcigoZT0+ZS5oaWRlV2hlblBsb3RzSGlkZGVuKSkubWFwKChlPT4oe2lkOmUuaWQsCnBsb3RJZHM6ZS5oaWRlV2hlblBsb3RzSGlkZGVufHxbXX0pKSksdGhpcy5fc2VyaWVzPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9zZXJpZXMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9jYWxjSXNBY3R1YWxJbnRlcnZhbCksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eT0oMCx4ZS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZSYmdCksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlBcmd1bWVudHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZElucHV0cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfSkpLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksdGhpcy5fc291cmNlcy5zZXRWYWx1ZShzKSxmdW5jdGlvbihlLHQscyl7Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpe2lmKCF2LlN0dWR5TWV0YUluZm8uaXNTb3VyY2VJbnB1dChpKSljb250aW51ZTtjb25zdCBlPXMuY2hpbGRzKCkuaW5wdXRzJiZzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVtpLmlkXTtpZihlKXtjb25zdCBzPWUudmFsdWUoKSxpPXZzLmV4ZWMocyk7aWYoMj09PWk/Lmxlbmd0aCYmIntwaWR9Ij09PWlbMV0pe2NvbnN0IGk9cy5yZXBsYWNlKC9eW15cJF0rLyx0KTtlLnNldFZhbHVlKGkpfX19fShyLHNbMF0/LmlkKCksdCkscy5mb3JFYWNoKChlPT57ZS5zZXRDaGlsZCh0aGlzKX0pKSxbdGhpcy5fc2VyaWVzLC4uLnNdLmZvckVhY2goKGU9PntlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlQ3VycmVuY3lDaGFuZ2VkKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VVbml0Q2hhbmdlZCksZS5tZXRyaWNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VNZXRyaWNDaGFuZ2VkKSxlLnByaWNlUmFuZ2VSZWFkeUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZVByaWNlUmFuZ2VSZWFkeUNoYW5nZWQpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCksZS5wcmljZVN0ZXBDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VQcmljZVN0ZXBDaGFuZ2VkKX0pKSx4cyYmdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKX0pKTtjb25zdCBsPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7Zm9yKGNvbnN0IGUgb2Ygdi5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKHIpKWwuaW5wdXRzLmNoaWxkcygpW2VdPy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZUlucHV0Q2hhbmdlZCk7dGhpcy5fcGxvdE9mZnNldHM9KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkpPT4oaS5wbG90cz8/W10pLnJlZHVjZSgoKGkscik9Pntjb25zdCBuPXIuaWQsYT0oZVtuXT8/MCkrKHM/LmNoaWxkcygpW25dPy5jaGlsZHMoKS52YWwudmFsdWUoKT8/MCkrKHQ/PzApO3JldHVybiBpW25dPWEsaX0pLHt9KSksdGhpcy5fc2VydmVyUGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLCgwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT50aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/LmNoaWxkcygpLnZhbC52YWx1ZSgpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/P25ldyB5LkRlbGVnYXRlKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cyksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cz8/bmV3IHkuRGVsZWdhdGUpLm93bmVyc2hpcCgpLHRoaXMuX21ldGFJbmZvLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSxsLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLGwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMucHJvY2Vzc0hpYmVybmF0ZSgpKSksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2FsY0lzQWN0dWFsSW50ZXJ2YWwpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSx2b2lkIDAhPT1sLm9mZnNldHMmJmwub2Zmc2V0cy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVNYXhPZmZzZXRWYWx1ZSksdm9pZCAwIT09bC5vZmZzZXQmJmwub2Zmc2V0LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSxRLmhpZGVBbGxJbmRpY2F0b3JzKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpO2ZvcihsZXQgZT0wO2U8ci5wbG90cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXIucGxvdHNbZV0scz10LmlkLGk9bC5zdHlsZXMuY2hpbGRzKClbc10sbj0oMCxaLmlzQmFyQ29sb3JlclBsb3QpKHQpO2kmJiFpLmhhc0NoaWxkKCJkaXNwbGF5IikmJmkubWVyZ2Uoe2Rpc3BsYXk6Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbH0pLGk/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9jZXNzSGliZXJuYXRlKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLApuJiZ0aGlzLl9zZXJpZXMuaW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZSgpfSkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3MpKWZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3NbZV0pKXtjb25zdCBzPWwuZ3JhcGhpY3MuY2hpbGRzKClbZV0/LmNoaWxkcygpW3RdO3MmJnMuY2hpbGRzKCkudmlzaWJsZSYmKDAsaC5lbnN1cmVEZWZpbmVkKShzLmNoaWxkcygpLnZpc2libGUpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX10aGlzLl9pc0FjdHVhbEludGVydmFsPSgwLFh0LmlzQWN0dWFsSW50ZXJ2YWwpKHRoaXMuX3Nlcmllcy5pbnRlcnZhbE9iaigpLnZhbHVlKCksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHRoaXMuX2luaXRpYWxpemVTdHVkeUlucHV0c1BhbmVWaWV3cygpLHRoaXMuX2hhbmRsZXI9ZT0+dGhpcy5fb25EYXRhKGUpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBocy5TdHVkeVZhbHVlc1Byb3ZpZGVyKHRoaXMsZSksdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXI9bmV3IGZzLlN0dWR5VGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyxlKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9Z2UodGhpcyksdGhpcy5fZ3JhcGhpY3M9bmV3IEsuTGl2ZVN0dWR5R3JhcGhpY3Moci5ncmFwaGljcyksdGhpcy5fc2lnbmxlUGVyZm9ybWFuY2VWYWx1ZT0oMCxNZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PkFycmF5LmZyb20oKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5wZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkpWzBdPz9udWxsKSxbKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5vYnNlcnZhYmxlUGVyZm9ybWFuY2UoKS5nZXQoInBlcmZvcm1hbmNlIikpLmNoYW5nZWQoKSwoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzLm9ic2VydmFibGVQZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkuY2xlYXJlZCgpXSksdGhpcy5fY2hhcnRBcGk9ZS5jaGFydEFwaSgpLHRoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKSx0aGlzLl9kYXRhPW5ldyBnLlBsb3RMaXN0KCgwLGNzLnN0dWR5UGxvdEZ1bmN0aW9uTWFwKShyKSxjcy5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCkpLGwucHJlY2lzaW9uLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKSx0aGlzLl9tZXRhSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksdGhpcy5fc2hvd1N0dWR5QXJndW1lbnRzUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKSkpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCkpKSwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIikmJmUubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoITApKSk7Y29uc3QgdT1uZXcgU2V0O2lmKHRoaXMuX3NpbXBsZVBsb3RzQ291bnQ9ci5wbG90cy5maWx0ZXIoKChlLHQpPT57aWYoKDAsWi5pc0xpbmVQbG90KShlKSlyZXR1cm4hMDtpZigoMCxaLmlzT2hsY1Bsb3QpKGUpKXtjb25zdCB0PWUudGFyZ2V0O3JldHVybiF1Lmhhcyh0KSYmKHUuYWRkKHQpLCEwKX1yZXR1cm4hMX0pKS5sZW5ndGgsdGhpcy5oYXNCYXJDb2xvcmVyKCkmJmwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PmUubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSkpLHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKSxyLmlucHV0cy5zb21lKChlPT5Icy5oYXMoZS5pZCkpKSl7dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1lLnZpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMoKS5zcGF3bigpO2NvbnN0IHQ9dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cy52YWx1ZSgpO2xldCBzPW51bGwhPT10O3RoaXMuX3Zpc2libGVUaW1lUmFuZ2VJbnB1dHMuc3Vic2NyaWJlKChlPT57Y29uc3QgdD0oKT0+e3RoaXMuX29uVmlzaWJsZVRpbWVSYW5nZUlucHV0c0NoYW5nZWQoZSkscyE9PShudWxsIT09ZSkmJihzPW51bGwhPT1lLCFzfHx0aGlzLl9yZXN0YXJ0aW5nfHx0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLnN0YXJ0KCEwKSl9O3RoaXMuX3N0YXR1c0NoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcy5fc3RhdHVzQ2hhbmdlc1N1YnNjcmliZXIpLHRoaXMuX3N0YXR1cy52YWx1ZSgpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz90aGlzLl9zdGF0dXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcix0LCEwKTp0KCl9KSksdCYmdGhpcy5fdXBkYXRlVmlzaWJsZVRpbWVSYW5nZUlucHV0cyh0LCExKX0oMCxDZS5pc0NvdW50ZWRVc2VyU2NyaXB0KShyKSYmKHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT0oMCxfLmNvbWJpbmUpKChlPT4oMCxDZS51c2VyU2NyaXB0VmVyc2lvbnNDb3VudCkoci5zY3JpcHRJZFBhcnQpPjEpLCgwLENlLnVzZXJTY3JpcHRzT25MYXlvdXQpKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zaG93UGluZVZlcnNpb25JblN0YXR1c0xpbmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSxlLnVwZGF0ZVNvdXJjZSh0aGlzKX0pKSksdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigoMCwKbXMucHJvcGVydHlQYXRoRm9yU291cmNlKSh0aGlzKSksbyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKTtjb25zdCBjPUJzKHRoaXMucGFyZW50U291cmNlc1ZXKCkud2Vha1JlZmVyZW5jZSgpKTtpZih0aGlzLl9hbGxPd25lclNvdXJjZXM9KDAsXy5jb21iaW5lKSgoKGUsdCk9PmUpLGMsKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMub3duZXJTb3VyY2UoKSksdGhpcy5vd25lclNvdXJjZUNoYW5nZWQoKSkub3duZXJzaGlwKCkpLHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXM9ZS5hdmFpbGFibGVDdXJyZW5jaWVzKCkuc3Bhd24oKSx0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZT0oMCxfLmNvbWJpbmUpKCgoZSx0KT0+ZT90aGlzOnQpLHRoaXMuX2lzQ3VycmVuY3lPcmlnaW4ud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9hdmFpbGFibGVVbml0cz1lLmF2YWlsYWJsZVVuaXRzKCkuc3Bhd24oKSx0aGlzLl91bml0T3JpZ2luU291cmNlPSgwLF8uY29tYmluZSkoKChlLHQpPT5lP3RoaXM6dCksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSwoMCxfLmFjY3VtdWxhdGUpKChlPT5lWzBdKSwoMCxfLmNvbWJpbmUpKCgoKT0+W3RoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKS51bml0T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9zeW1ib2xTb3VyY2U9KDAsXy5jb21iaW5lKSgoKCk9PnRoaXMuX2dldFN5bWJvbFNvdXJjZSgpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvPSgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKGU9PltlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKV0pLHRoaXMuX3N5bWJvbFNvdXJjZS53ZWFrUmVmZXJlbmNlKCkpLndlYWtSZWZlcmVuY2UoKSksIWEmJnIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiZyLmRlZmF1bHRzLmlucHV0cyl7Y29uc3QgZT10aGlzLmlucHV0cygpO2Zvcihjb25zdCB0IG9mIHIuaW5wdXRzKXQuaXNIaWRkZW58fCgwLERlLmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0KSh0KXx8ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0hPT1lW3QuaWRdJiYodGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMCx0aGlzLl9vbGRTdHVkeUlucHV0cz10aGlzLl9vbGRTdHVkeUlucHV0cz8/dGhpcy5fcHJlcGFyZUlucHV0cyhWcyksdGhpcy5fb2xkU3R1ZHlJbnB1dHNbdC5pZF09ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0pfWlmKHIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzKXt0aGlzLl9wcmV2aW91c1BhdGNoTWFwPXt9O2NvbnN0IGU9ci5UVlNjcmlwdE1ldGFJbmZvRXhwcnMucGF0Y2hNYXB8fHt9LHQ9bmV3IHYuU3R1ZHlNZXRhSW5mbyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnN0YXRlKCksdGhpcy5fbWV0YUluZm8udmFsdWUoKS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvKTsoMCxGLml0ZXJhdGVBbmRQYXRjaE9iamVjdHNCeU1hcCkoW3RoaXMuX3Byb3BlcnRpZXMsdC5kZWZhdWx0cyx0XSxlLCgoZSx0LHMpPT57Y29uc3QgaT1lWzBdLHI9ZVsxXSxuPWVbMl07cj8uaGFzT3duUHJvcGVydHkodCk/KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1pW3RdLnZhbHVlKCk6KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1uW3RdfSkpLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpfXtjb25zdCB0PSgwLF8uY29tYmluZSkoKGU9PmUubWFwKChlPT4oMCxHLmlzU3R1ZHkpKGUpPygwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlucHV0cygpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMpLm93bmVyc2hpcCgpOm5ldyBmLldhdGNoZWRWYWx1ZSgwKS5vd25lcnNoaXAoKSkpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSxzPSgwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT4odD8/MCkrMSksdC5vd25lcnNoaXAoKSkscj0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT4ocz8/MCkrMSksKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMuZm9ybWF0dGVyKCkpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5pbnB1dHMoKSksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzKS5vd25lcnNoaXAoKSk7dGhpcy5fYWxlcnRTdGF0ZVZlcnNpb249KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkscik9PihyPz8wKSsxKSx0aGlzLl9tZXRhSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLHMub3duZXJzaGlwKCksci5vd25lcnNoaXAoKSk7Y29uc3Qgbj0oMCxpLmRlZmF1bHQpKCgoKT0+dGhpcy5faWRGb3JBbGVydFdWLnNldFZhbHVlKHRoaXMuaWRGb3JBbGVydCgpKSksNTAwKTt0aGlzLl9hbGVydFN0YXRlVmVyc2lvbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fc3RhdGVGb3JBbGVydENhY2hlPW51bGwsdGhpcy5faWRGb3JBbGVydENhY2hlPW51bGwsbigpfSkpLG4oKSx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW5ldyBrKGUsdGhpcy5faWRGb3JBbGVydFdWLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgYT0oKT0+e3RoaXMuX3NpZ25hdHVyZS5zZXRWYWx1ZSgoMCxWZS5zdHVkeVNpZ25hdHVyZSkodGhpcy5tZXRhSW5mbygpLnNjcmlwdElkUGFydCx0aGlzLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuaW5wdXRzKHtvbmx5QXRvbVZhbHVlczohMCwKYXNPYmplY3Q6ITB9KSkpfTt0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5zdWJzY3JpYmUodGhpcyxhKSxhKCl9dGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZXN0b3JpbmdGYWN0b3J5RGVmYXVsdHMpLHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT10aGlzLl9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkmJih0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVuY3lDaGFuZ2VkLmZpcmUoKX0pKSksdGhpcy5fdW5pdElucHV0UHJvcGVydHk9dGhpcy5fZ2V0VW5pdElucHV0UHJvcGVydHkoKSx0aGlzLl91bml0SW5wdXRQcm9wZXJ0eSYmKHRoaXMuX2lzVW5pdE9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5fdW5pdElucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfSkpKSx0aGlzLl9pbml0Q3VycmVuY3lNZXRhRGF0YSgpLHRoaXMuX2luaXRVbml0TWV0YURhdGEoKTtjb25zdCBkPSgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcyk7dGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zdWJzY3JpYmUoZCksdGhpcy5faXNVbml0T3JpZ2luLnN1YnNjcmliZShkKSx0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnZhbHVlKCkmJmUucmVhbGlnbkxpbmVUb29scyh0aGlzKX0pKSx0aGlzLl91bml0TWV0YURhdGEuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2lzVW5pdE9yaWdpbi52YWx1ZSgpJiZlLnJlYWxpZ25MaW5lVG9vbHModGhpcyl9KSl9ZGVzdHJveSgpe3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU/LmRlc3Ryb3koKSx0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQuZmlyZSgpLG51bGwhPT10aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbCYmKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsLmRlc3Ryb3koKSx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/Lm9uQWxpYXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7dGhpcy5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgoZT0+e2UuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUubWV0cmljQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZVJlYWR5Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTdGVwQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfSkpLHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSksUS5oaWRlQWxsSW5kaWNhdG9ycygpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmdGhpcy5fY3VycmVuY3lTb3VyY2VTeW1ib2xJbnB1dFByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xlZ2VuZFZpZXc/LmRlc3Ryb3koKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3Py5kZXN0cm95KCksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD8uZ2V0KCk/LmRlc3Ryb3koKSx0aGlzLl92aXNpYmxlVGltZVJhbmdlSW5wdXRzPy5kZXN0cm95KCksdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLmRlc3Ryb3koKSx0aGlzLl9hbGVydFN0YXRlVmVyc2lvbj8uZGVzdHJveSgpLHRoaXMuX2FsZXJ0U291cmNlTW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9tZXRhSW5mby5kZXN0cm95KCksdGhpcy5fc3R1ZHlOYW1lLmRlc3Ryb3koKSx0aGlzLl9hbGxPd25lclNvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3NvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fc3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Bsb3RPZmZzZXRzLmRlc3Ryb3koKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cyksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlVW5pdHMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSx0aGlzLl9wcm9wZXJ0aWVzLnNldE5hbWVJbk93bmVyKCgwLG1zLnByb3BlcnR5UGF0aEZvclNvdXJjZSkodGhpcykpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc30KcHJvcGVydGllc1BhdGNoZWQoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc1BhdGNoZWR9aXNEcmFnZ2FibGUoKXtyZXR1cm4hdGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31sb2dzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3MubG9ncyYmdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzPygwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3Mub2JzZXJ2YWJsZUxvZ3MoKS5nZXQoImxvZ3MiKSk6bnVsbH1sb2dMZXZlbE1hc2soKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fbG9nX2xldmVsLnZhbHVlKCk7aWYoISgwLHUuaXNOdW1iZXIpKGUpfHxlPDB8fGU+Nyl0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGxvZyBsZXZlbCBpcyB1bmV4cGVjdGVkLCBjdXJyZW50IHZhbHVlIGlzICR7ZX0sIGJ1dCBleHBlY3RlZCB2YWx1ZXMgZnJvbSAwIHRvIDdgKTtyZXR1cm57ZXJyb3I6Qm9vbGVhbigxJmUpLHdhcm5pbmc6Qm9vbGVhbigyJmUpLGluZm86Qm9vbGVhbig0JmUpfX1zZXRMb2dMZXZlbE1hc2soZSl7Y29uc3QgdD0oTnVtYmVyKGUuZXJyb3IpJiYxKXwoTnVtYmVyKGUud2FybmluZykmJjIpfChOdW1iZXIoZS5pbmZvKSYmNCk7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19sb2dfbGV2ZWwuc2V0VmFsdWUodCl9cGVyZm9ybWFuY2UoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzP3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU6bmV3IGYuV2F0Y2hlZFZhbHVlKG51bGwpfXByb2ZpbGluZ0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fcHJvZmlsZT8udmFsdWUoKX1lbmFibGVQcm9maWxpbmcoZSl7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19wcm9maWxlPy5zZXRWYWx1ZShlKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9cHJpY2VTY2FsZShlKXtyZXR1cm4gZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LHI9dGhpcy5tZXRhSW5mbygpLmlzUGxvdEZvcmNlT3ZlcmxheShlKSxuPXI/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLnByaWNlU2NhbGUoKTtpZih0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG51bGw9PT1ufHxuLmlzRW1wdHkoKXx8dGhpcy5kYXRhKCkuaXNFbXB0eSgpKXJldHVybiBpO2NvbnN0IGE9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCEwLHIpO2lmKG51bGw9PT1hfHxudWxsPT09bylyZXR1cm4gaTtpZighdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuIGk7Y29uc3QgbD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcyxoPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2hsY1Bsb3RzO2xldCBjLGQ7aWYobCYmbC5jaGlsZHMoKVtlXSYmKGM9bC5jaGlsZHMoKVtlXSksaCYmaC5jaGlsZHMoKVtlXSYmKGM9aC5jaGlsZHMoKVtlXSksIWN8fGMuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpPT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUpcmV0dXJuIGk7Y29uc3QgcD10aGlzLm1ldGFJbmZvKCkucGxvdHM7Zm9yKGQ9MDtkPHAubGVuZ3RoO2QrKyl7Y29uc3QgdD1wW2RdO2lmKHQuaWQ9PT1lfHwoMCxaLmlzT2hsY0Nsb3NlUGxvdCkodCkmJnQudGFyZ2V0PT09ZSlicmVha31jb25zdCBfPWQrMSxmPXRoaXMub2Zmc2V0KGUpLG09dGhpcy5uZWFyZXN0SW5kZXgoYS5sYXN0QmFyKCktZixTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0LF8pO2lmKHZvaWQgMD09PW0pcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9sYXN0Tm9uRW1wdHlQbG90Um93KF8pLGc9bnVsbCE9PXkmJmEuY29udGFpbnMoeS5pbmRleCksYj1udWxsIT09eT95LnZhbHVlOm51bGwsdj10fHxnP2I6dGhpcy5kYXRhKCkudmFsdWVBdChtKTtpZighdnx8ISgwLHUuaXNOdW1iZXIpKHZbX10pKXJldHVybiBpO2NvbnN0IFA9dltfXSxJPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldFBsb3RDb2xvcihkLHYpLHc9bi5wcmljZVRvQ29vcmRpbmF0ZShQLG8pLEM9dGhpcy5wbG90Rm9ybWF0dGVyKGUpLmZvcm1hdChQKSxWPXsuLi5uLmdldEZvcm1hdHRlZFZhbHVlcyhQLG8sdm9pZCAwLEMpLG5vRGF0YTohMSxjb2xvcjpJLGNvb3JkaW5hdGU6d307cmV0dXJuIHMmJihWLnByaWNlPVApLFZ9aXNGYWlsZWQoKXtyZXR1cm4gdGhpcy5zdGF0dXMoKS50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfWlzTG9hZGluZygpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ31pc0NvbXBsZXRlZCgpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfWlzU3ltYm9sSW52YWxpZCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCk7cmV0dXJuIGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS5lcnJvckRlc2NyaXB0aW9uLmVycm9yPT09YnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc31tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1zdGF0ZShlLHQpe2NvbnN0IHM9KDAsaC5lbnN1cmVOb3ROdWxsKSgoMCxBLmdldFN0dWR5Q2xhc3NOYW1lKSh0aGlzLmNvbnN0cnVjdG9yKSksaT10aGlzLm1ldGFJbmZvKCkscj10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSgpLG49e3R5cGU6cyxpZDp0aGlzLmlkKCksc3RhdGU6cix6b3JkZXI6dGhpcy56b3JkZXIoKSxvd25GaXJzdFZhbHVlOnRoaXMuaXNWaXNpYmxlKCk/bnVsbDp0aGlzLl9vd25GaXJzdFZhbHVlLG1ldGFJbmZvOnRoaXMuX29yaWdpbmFsTWV0YUluZm8uc3RhdGUoKX0sYT0oMCwKbC5kZWZhdWx0KShuLm1ldGFJbmZvLHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7KDAsby5kZWZhdWx0KShhKXx8KG4ubWV0YUluZm9QYXRjaD1hKTtjb25zdCB1PXRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PmUuaWQoKSkpO2lmKHUubGVuZ3RoJiYobi5wYXJlbnRTb3VyY2VzPXUpLGUpe2xldCBlPXRoaXMuZGF0YSgpO2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscz10aGlzLl9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSk7bnVsbCE9PXMmJihlPWUucmFuZ2Uocy5maXJzdEJhcigpLHMubGFzdEJhcigpKSksbi5kYXRhPWUuc3RhdGUoKSxuLmRhdGEuc3ltYm9scz10aGlzLl9yZXNvbHZlZFN5bWJvbHMsbi5kYXRhLmdyYXBoaWNzPSgwLEsuc2F2ZVN0dWR5R3JhcGhpY3MpKHRoaXMuZ3JhcGhpY3MoKSx0LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbi5kYXRhLnBsb3RPZmZzZXRzPXRoaXMuX3NlcnZlclBsb3RPZmZzZXRzLnZhbHVlKCl9dGhpcy5vd25lclNvdXJjZSgpJiYobi5vd25lclNvdXJjZT10aGlzLm93bmVyU291cmNlKCk/LmlkKCkpO2ZvcihsZXQgZT0wO2U8aS5pbnB1dHMubGVuZ3RoO2UrKylpZigiYmFyX3RpbWUiPT09aS5pbnB1dHNbZV0udHlwZSl7Y29uc3QgdD1pLmlucHV0c1tlXS5pZCxzPW4uc3RhdGUuaW5wdXRzW3RdO2lmKHM8MCl7Y29uc3QgZT10aGlzLl9yaWdodE9mZnNldFRvVW5peFRpbWUoLXMpO24uc3RhdGUuaW5wdXRzW3RdPWUmJmU+PTA/ZTowfX1pZihuLnN0YXRlPy5pbnB1dHMpe2NvbnN0IGU9bi5tZXRhSW5mby5pbnB1dHMuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO2UmJmRlbGV0ZSBuLnN0YXRlLmlucHV0c1tlLmlkXSxkZWxldGUgbi5zdGF0ZS5pbnB1dHMuX19sb2dfbGV2ZWwsZGVsZXRlIG4uc3RhdGUuaW5wdXRzLl9fcHJvZmlsZX1jb25zdCBjPXRoaXMuc3RhdGVDdXN0b21GaWVsZHMoKTt2YXIgZDtyZXR1cm4gYyYmKG4uY3VzdG9tRmllbGRzPWMpLHQmJihkPW4pLm1ldGFJbmZvJiZkLm1ldGFJbmZvLnNjcmlwdElkUGFydCYmZC5tZXRhSW5mby5zY3JpcHRJZFBhcnQuc3RhcnRzV2l0aCgiVVNFUjsiKSYmKE9zKGQpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KGUubWV0YUluZm8mJmUubWV0YUluZm8uaW5wdXRzfHxbXSkuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO3QmJih0LmRlZnZhbD0iIixlLnN0YXRlJiZlLnN0YXRlLmlucHV0cyYmKGUuc3RhdGUuaW5wdXRzW3QuaWRdPSIiKSxlLm1ldGFJbmZvLmRlZmF1bHRzLmlucHV0cyYmKGUubWV0YUluZm8uZGVmYXVsdHMuaW5wdXRzW3QuaWRdPSIiKSl9KGQpKSxufXN0YXRlQ3VzdG9tRmllbGRzKCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JTdGF0dXMudmFsdWUoKTtpZihlKXJldHVybntjb21waWxlRXJyb3JEZXNjcmlwdGlvbjplLmVycm9yRGVzY3JpcHRpb259fXJlc3RvcmVTdGF0ZUN1c3RvbUZpZWxkcyhlKXtjb25zdCB0PWUuY29tcGlsZUVycm9yRGVzY3JpcHRpb247dCYmdGhpcy5zZXRFcnJvckNvbXBpbGF0aW9uKFsoMCxoLmVuc3VyZURlZmluZWQpKHQuZWRpdG9yRXJyb3IpXSl9cmVzdG9yZURhdGEoZSl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9yZXNvbHZlZFN5bWJvbHM9ZS5zeW1ib2xzPz97fSx0aGlzLl9ncmFwaGljcz1lLmdyYXBoaWNzPygwLEsubG9hZFN0dWR5R3JhcGhpY3MpKGUuZ3JhcGhpY3MpOigwLEsuZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlLnBsb3RPZmZzZXRzPz97fSksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9LCEwKX1oYXNTdGF0ZUZvckFsZXJ0KCl7cmV0dXJuIEllLmFsZXJ0c0F2YWlsYWJsZSYmIXRoaXMuaXNGYWlsZWQoKSYmIXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaXNUVkxpYnJhcnkmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmKHRoaXMuX2hhc0FsZXJ0Q29uZGl0aW9ucygpfHx0aGlzLl9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl8fHRoaXMuX2hhc0FsZXJ0RnVuY3Rpb24oKSl9c3RhdGVGb3JBbGVydCgpe2lmKHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZSlyZXR1cm4gdGhpcy5fc3RhdGVGb3JBbGVydENhY2hlO2NvbnN0IGU9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hbGVydE1ldGFJbmZvKCkpLHQ9dGhpcy5fcGxvdHNGb3JBbGVydCgpLHM9dGhpcy5fY29sbGVjdERlcHNGb3JBbGVydCgpLGk9cy5pZEZvckFsZXJ0LHI9cy5zdHVkeURlcGVuZGVuY2llcyxuPXMuaW5wdXRzRm9yQWxlcnQsYT10aGlzLl9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCksbz1QLnN0dWR5SWRzSGlkZUlucHV0c01vZGUuaGFzKCgwLEQuZXh0cmFjdFN0dWR5SWQpKGUuZnVsbElkKSksbD17aWQ6aSx0eXBlOigwLGguZW5zdXJlTm90TnVsbCkoKDAsQS5nZXRTdHVkeUNsYXNzTmFtZSkodGhpcy5jb25zdHJ1Y3RvcikpLHRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxvLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxvLCExLCEwKSxzaG9ydERlc2NyaXB0aW9uOigwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShlLnNob3J0RGVzY3JpcHRpb258fCJTdHVkeSIpLGZ1bGxJZDplLmZ1bGxJZCxpc1RWU2NyaXB0OkJvb2xlYW4oZS5pc1RWU2NyaXB0KSxoYXNBbGVydEZ1bmN0aW9uOkJvb2xlYW4oZS5oYXNBbGVydEZ1bmN0aW9uKSxwbG90czp0LGlucHV0czpuLGFsZXJ0czplLmFsZXJ0cyxzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/ZS5waW5lLnZlcnNpb246Ii0xIixzdHVkeURlcGVuZGVuY2llczpyLGZvcm1hdHRlcjphLGlzRnVuZGFtZW50YWxTdHVkeTplLmlzRnVuZGFtZW50YWxTdHVkeX0sdT1lLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZQo7cmV0dXJuIHUmJihsLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZT0oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodSkpLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1sLGx9YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuX2FsZXJ0TWV0YUluZm8oKXx8YXdhaXQgdGhpcy5fYXdhaXRGb3JNZXRhSW5mbygpLHRoaXMuc3RhdGVGb3JBbGVydCgpfWlkRm9yQWxlcnQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2lkRm9yQWxlcnRDYWNoZSYmKHRoaXMuX2lkRm9yQWxlcnRDYWNoZT10aGlzLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydCksdGhpcy5faWRGb3JBbGVydENhY2hlfWhhc0JhckNvbG9yZXIoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5zb21lKFouaXNCYXJDb2xvcmVyUGxvdCl9YmFyQ29sb3Jlcigpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cztsZXQgdD1udWxsO2ZvcihsZXQgcz1lLmxlbmd0aC0xO3M+PTA7cy0tKWlmKCgwLFouaXNCYXJDb2xvcmVyUGxvdCkoZVtzXSkpe2NvbnN0IGU9bmV3IG9zKHRoaXMscyk7bnVsbD09PXQ/dD1lOnQucHVzaEJhY2tCYXJDb2xvcmVyKGUpfXJldHVybiB0fWlzU2F2ZWRJblN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLmV2ZXJ5KChlPT4iYmFyX3RpbWUiIT09ZS50eXBlKSl9cmVzdGFydChlKXt0aGlzLl9yZXN0YXJ0aW5nPSEwLHRoaXMuY2xlYXJEYXRhKCksKGV8fCgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0b3Bfc3R1ZHlfb25fcmVzdGFydCIpKSYmdGhpcy5zdG9wKCksc2V0VGltZW91dCh0aGlzLnN0YXJ0LmJpbmQodGhpcyksMCl9c3RvcChlLHQpe2lmKCEwPT09ZSYmdGhpcy5fY2hpbGRyZW4pZm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRyZW4pZS5zdG9wKCEwKTt0aGlzLl9zdG9wU3R1ZHlPblNlcnZlcigpLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fdW5zdWJzY3JpYmVUb1Nlc3Npb25JZCgpLHRoaXMucmVjYWxjdWxhdGUoKX1kaXNjb25uZWN0KCl7dGhpcy5faXNTdGFydGVkPSExLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8KHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9KX1zb3VyY2VJZCgpe3JldHVybiB0aGlzLl9pZC52YWx1ZSgpfXBhcmVudFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpfXBhcmVudFNvdXJjZXNWVygpe3JldHVybiB0aGlzLl9zb3VyY2VzfXN5bWJvbFNvdXJjZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UudmFsdWUoKX1zeW1ib2xTb3VyY2VXVigpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UucmVhZG9ubHkoKX12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sU291cmNlKCkudmFsdWVBdChlLHQpfWJhcnNQcm92aWRlcigpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuYmFyc1Byb3ZpZGVyKCl9b3duZXJTb3VyY2UoKXtyZXR1cm4gdGhpcy5pc0NoaWxkU3R1ZHkoKT90aGlzLl9zb3VyY2VzLnZhbHVlKClbMF06c3VwZXIub3duZXJTb3VyY2UoKX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpLmxlbmd0aD4wfWhhc0NoaWxkcmVuKCl7cmV0dXJuIHRoaXMuX2NoaWxkcmVuLmxlbmd0aD4wfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9aXNSZXN0YXJ0aW5nKCl7cmV0dXJuIHRoaXMuX3Jlc3RhcnRpbmd9aXNBY3R1YWxJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pc0FjdHVhbEludGVydmFsfW9uSXNBY3R1YWxJbnRlcnZhbENoYW5nZSgpe3JldHVybiB0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2V9aXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCl8fCFlLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5tZXRhSW5mbygpO2lmKHQucGxvdHMubGVuZ3RoPjApZm9yKGxldCBzPTA7czx0LnBsb3RzLmxlbmd0aDtzKyspe2NvbnN0IGk9dC5wbG90c1tzXS5pZCxyPWUuc3R5bGVzLmNoaWxkcygpW2ldO2lmKHZvaWQgMD09PXIpY29udGludWU7aWYoci5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4hMH1pZih0LmJhbmRzKWZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKWlmKGUuYmFuZHMuY2hpbGRzKClbc10uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybiEwO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3MpKWZvcihjb25zdCBpIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3Nbc10pKXtjb25zdCB0PWUuZ3JhcGhpY3MuY2hpbGRzKClbc10/LmNoaWxkcygpW2ldO2lmKHZvaWQgMCE9PXQmJih0LmNoaWxkKCJ2aXNpYmxlIik/LnZhbHVlKCk/PzEpKXJldHVybiEwfWlmKHQuZmlsbGVkQXJlYXMpZm9yKGxldCBzPTA7czx0LmZpbGxlZEFyZWFzLmxlbmd0aDtzKyspaWYoZS5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW3QuZmlsbGVkQXJlYXNbc10uaWRdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4hMDtyZXR1cm4hKCF0LmlzVFZTY3JpcHRTdHJhdGVneSYmIXQuaGFzQWxlcnRGdW5jdGlvbil9YXN5bmMgc3RhcnQoZSx0LHMpe2NvbnN0IGk9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2F3YWl0IGkuc2VyaWVzQ3JlYXRlZCgpLGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maWx0ZXIoKGU9PmUuaXNIaWJlcm5hdGVkKCkpKS5tYXAoKGU9PmUuc3RhcnQoKSkpKTtjb25zdCByPSEodGhpcy5pc0hpYmVybmF0aW9uQWxsb3dlZCgpJiYhdGhpcy5pc1Zpc2libGUoKSl8fCEwPT09dDtpZih0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyKXRyeXthd2FpdCB0aGlzLl9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKSxhd2FpdCB0aGlzLl9zdGFydEFmdGVyU3ltYm9sc1Jlc29sdmVkKGUsdCkKfWNhdGNoKGUpe2NvbnN0IHQ9YEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gc3RhcnQgZmFpbGVkLCAke2V9YDtTcy5sb2dFcnJvcih0KSx0aGlzLl9yZXN0YXJ0aW5nPSExLCJUb29NYW55U3R1ZGllcyI9PT1lPy5jYXVzZSYmKDAsQi5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKHRoaXMuX2NoYXJ0QXBpLmdldFN0dWR5Q291bnRlcigpKX1yfHx2b2lkIDAhPT10aGlzLl9pbnB1dHN8fCh0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCkpfXJlcGxhY2VEYXRhKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5kYXRhKCkucmVtb3ZlKGUrMSksdGhpcy5kYXRhKCkuYWRkVGFpbChzLHQpfWlucHV0cyhlKXtjb25zdCB0PSgwLGEuZGVmYXVsdCkoKDAsdS5jbG9uZSkoQ3MpLGV8fHt9KTt0LnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYodC5rZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk9ITApO3JldHVybiB0aGlzLl9idWlsZElucHV0cyh0KX1kYXRhKCl7cmV0dXJuIHRoaXMuX2RhdGF9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbW92ZURhdGEoZSksdGhpcy5kYXRhKCkuaXNFbXB0eSgpfHx0aGlzLl9vbkluZGV4RGlmZnNBcHBsaWVkKGUpfSkpfXBsb3RzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW1ldGFJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCl9b3JpZ2luYWxNZXRhSW5mbygpe3JldHVybiB0aGlzLl9vcmlnaW5hbE1ldGFJbmZvfXN0YXR1cygpe3JldHVybiB0aGlzLl9jb21wb3VuZFN0YXR1cy52YWx1ZSgpfW5hbWUoZSl7Y29uc3QgdD10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIGU/dC5zaG9ydERlc2NyaXB0aW9uPygwLGQuZGVjb2RlSFRNTEVudGl0aWVzKSh0LnNob3J0RGVzY3JpcHRpb24pOiJTdHVkeSI6dC5kZXNjcmlwdGlvbj8oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodC5kZXNjcmlwdGlvbik6IlN0dWR5In10aXRsZShlLHQscyxpLHIsbil7aT12b2lkIDA9PT1pPyF0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS52YWx1ZSgpOmk7Y29uc3QgYT1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyLG5dKTtpZih0aGlzLl90aXRsZVN0ckNhY2hlW2FdKXJldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdO2lmKHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlW2FdKXJldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHModGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbYV0pO2NvbnN0IG89dGhpcy5fdGl0bGUoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdPW8sb310aXRsZUluUGFydHMoZSx0LHMsaSxyKXtpPXZvaWQgMD09PWk/IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCk6aTtjb25zdCBuPUpTT04uc3RyaW5naWZ5KFtlLHQscyxpLHJdKTtpZih0aGlzLl90aXRsZUluUGFydHNDYWNoZVtuXSlyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl07Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl09YSxhfWdldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD1gZ2V0U3BsaXRUaXRsZToke2U/PyExfWAscz10aGlzLl9zcGxpdFRpdGxlQ2FjaGVbdF07aWYocylyZXR1cm4gcztjb25zdCBpPXRoaXMuX2dldFNwbGl0VGl0bGUoZSk7cmV0dXJuIHRoaXMuX3NwbGl0VGl0bGVDYWNoZVt0XT1pLGl9aW5wdXRzSW5QYXJ0cyhlLHQ9ITAscyxpLHIpe2NvbnN0IG49IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCksYT0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpLG89biYmYTtpZihuJiYhYSYmZT09PVcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpcmV0dXJuIG51bGw7Y29uc3QgbD1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyXSk7aWYodGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdKXJldHVybiB0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGVbbF07Y29uc3QgYz1bXSxkPXRoaXMubWV0YUluZm8oKSxwPXRoaXMuX3RpdGxlSW5wdXRzKCgwLHlzLnRvSW5wdXREaXNwbGF5RmxhZ3MpKGUpLGksITApLF89ZC5pbnB1dHMuZmlsdGVyKChlPT5wLmhhc093blByb3BlcnR5KGUuaWQpJiYoIW98fCJzeW1ib2wiPT09ZS50eXBlfHxlPy5pc0Fsd2F5c1Nob3duSW5MZWdlbmQpKSkubWFwKChlPT57bGV0IHQ9cFtlLmlkXTtpZigic3ltYm9sIj09PWUudHlwZSl7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChlLmlkKT8udmFsdWUoKTtpZihzKXtjb25zdCBlPXRoaXMuX3Jlc29sdmVkU3ltYm9sc0J5SW5wdXRbc107ZSYmKHQ9dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUucHJvX25hbWUpPy5hbGlhc05hbWU/P3QpfX1yZXR1cm57bWV0YTplLHZhbHVlOnR9fSkpLGY9e307aWYoXy5sZW5ndGg+MCl7aWYodGhpcy5pc0NoaWxkU3R1ZHkoKSlmb3IobGV0IHM9MDtzPGQuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IG49ZC5pbnB1dHNbc107aWYoIXYuU3R1ZHlNZXRhSW5mby5pc1NvdXJjZUlucHV0KG4pKWNvbnRpbnVlO2NvbnN0IGE9bi5pZCxvPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoYSkpLnZhbHVlKCk7aWYoby5pbmRleE9mKCIkIik+PTApe2NvbnN0IHM9dGhpcy5wYXJlbnRTb3VyY2VGb3JJbnB1dChvKTtpZihzIGluc3RhbmNlb2YgVXMpe2NvbnN0IG49cy5tZXRhSW5mbygpLGE9cy50aXRsZShlLHQse30sITAsaSxyKTtpZigxPT09bi5wbG90cy5sZW5ndGgpZltvXT1hO2Vsc2V7Y29uc3QgZT1vLnNwbGl0KCIkIilbMV0sdD1uLnBsb3RzW3BhcnNlSW50KGUpXT8uaWQscz1uLnN0eWxlcyYmbi5zdHlsZXNbdF0saT1zJiZzLnRpdGxlfHx0O2Zbb109YSsiOuKAiSIraX19fX0KXy5mb3JFYWNoKCgoe21ldGE6ZSx2YWx1ZTp0fSk9PntsZXQgaTtpPSJ0aW1lIj09PWUudHlwZT9uZXcgRGF0ZSh0KS50b0lTT1N0cmluZygpOigwLHUuaXNOdW1iZXIpKHQpPygwLHBzLmdldE51bWVyaWNGb3JtYXR0ZXIpKCkuZm9ybWF0KHQpOmYmJmZbdC50b1N0cmluZygpXXx8dC50b1N0cmluZygpLHMmJnNbaS50b1N0cmluZygpXSYmKGk9c1tpLnRvU3RyaW5nKCldKSxjLnB1c2goe3RpdGxlOigwLGdzLmdldFRyYW5zbGF0ZWRJbnB1dFRpdGxlKShlLm5hbWUpLHZhbHVlOml9KX0pKX1yZXR1cm4gdGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdPWMsY31pbnZhbGlkYXRlVGl0bGVDYWNoZShlKXtpZih0aGlzLl90aXRsZVN0ckNhY2hlPXt9LHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlPXt9LHRoaXMuX3NwbGl0VGl0bGVDYWNoZT17fSx0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGU9e30sITA9PT1lJiZ0aGlzLl9jaGlsZHJlbilmb3IobGV0IHQ9MDt0PHRoaXMuX2NoaWxkcmVuLmxlbmd0aDsrK3QpdGhpcy5fY2hpbGRyZW5bdF0uaW52YWxpZGF0ZVRpdGxlQ2FjaGUoZSl9Z3JhcGhpY3MoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3N9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3N9cHJpY2VMYWJlbFRleHQoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dC5zdHlsZXMsaT10Lm9obGNQbG90cztsZXQgcjtzJiZzW2VdJiYocj1zW2VdKSxpJiZpW2VdJiYocj1pW2VdKTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkocikudGl0bGU7bGV0IGE7cmV0dXJuIGE9MSE9PXRoaXMuX3NpbXBsZVBsb3RzQ291bnR8fCgwLFouaXNQbG90VGl0bGVEZWZpbmVkKShuKT90LmlzX3ByaWNlX3N0dWR5JiZuIT09dC5zaG9ydERlc2NyaXB0aW9uPyIiPT09bj90LnNob3J0RGVzY3JpcHRpb246dC5zaG9ydERlc2NyaXB0aW9uKyI6IituOm46dC5zaG9ydERlc2NyaXB0aW9uLCgwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShhKX1zZXRPd25GaXJzdFZhbHVlKGUpe3RoaXMuX293bkZpcnN0VmFsdWU9ZX1maXJzdFZhbHVlKGUsdCl7aWYodClyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKTtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7aWYoIXRoaXMuaXNDaGlsZFN0dWR5KCkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyI9PT1zLmlkfHwhcy5pc19wcmljZV9zdHVkeSl7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKXx8bnVsbCE9PXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQpcmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU7Y29uc3Qgcj10LmZpcnN0QmFyKCksbj10Lmxhc3RCYXIoKTtsZXQgYT10aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM/ZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUubW9kZWwoKS50aW1lU2NhbGUoKTtpZihzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHI9aS5maXJzdEJhcigpLG49aS5sYXN0QmFyKCksYT1uZXcgYmU7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1lLmZpcnN0VmFsdWUocixuKTthLmltcHJvdmUodCl9cmV0dXJuIGEuYmVzdFByaWNlKCl9KHRoaXMsdGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzKTpudWxsO2lmKG51bGw9PT1hKXtjb25zdCB0PW5ldyBTZXQsbz1zLmZpbGxlZEFyZWFzfHxbXTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3Qgcz1vW2VdO2kuZmlsbGVkQXJlYXNTdHlsZS5jaGlsZHMoKVtzLmlkXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJih0LmFkZChzLm9iakFJZCksdC5hZGQocy5vYmpCSWQpKX1jb25zdCBsPXMucGxvdHN8fFtdLHU9W10sYz1bXTtmb3IobGV0IGU9MDtlPGwubGVuZ3RoOysrZSl7Y29uc3Qgcj1sW2VdLG49ci5pZDtpZigoMCxaLmlzQ29sb3JlclBsb3QpKHIpfHxzLmlzUGxvdEZvcmNlT3ZlcmxheShuKSljb250aW51ZTtpZigoMCxoLmVuc3VyZURlZmluZWQpKGkuc3R5bGVzLmNoaWxkcygpW25dKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZXx8dC5oYXMobikpe2lmKCgwLFouaXNMaW5lUGxvdCkocikpe2NvbnN0IHQ9aS5zdHlsZXMuY2hpbGRzKClbbl0uY2hpbGRzKCkucGxvdHR5cGUudmFsdWUoKTsoMCxaLmRvZXNMaW5lUGxvdFN0eWxlU3VwcG9ydEZpbGxCcmVha3MpKHQpJiZjLnB1c2goZSl9dS5wdXNoKGUpfX1pZihjLmxlbmd0aCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpKSxzPU1hdGguZmxvb3IodC5sZWZ0KCkpO2ZvcihsZXQgdD0wO3Q8Yy5sZW5ndGg7dCsrKXtjb25zdCBpPWNbdF0scj10aGlzLl9nZXRGaXJzdFZhbEZvclBsb3RUaGF0U3VwcG9ydEZpbGxCcmVha3MoaSxzKTtpZighKG51bGw9PT1yfHxlJiZNYXRoLmFicyhyKTwxZS0xMCkpe2E9cjticmVha319fWlmKG51bGw9PT1hJiYwIT09dS5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgdGhpcy5kYXRhKCkucmFuZ2VJdGVyYXRvcihyLG4pKXtjb25zdCBzPXQudmFsdWU7Zm9yKGxldCB0PTA7dDx1Lmxlbmd0aDsrK3Qpe2NvbnN0IGk9c1t1W3RdKzFdO2lmKCEobnVsbD09aXx8ZSYmTWF0aC5hYnMoaSk8MWUtMTApKXthPWk7YnJlYWt9fWlmKG51bGwhPT1hKWJyZWFrfX1yZXR1cm4gdGhpcy5fb3duRmlyc3RWYWx1ZT1hLG51bGwhPT1hP2E6dGhpcy5fYmFuZHNGaXJzdFZhbHVlKGUpfWlmKHRoaXMuaXNDaGlsZFN0dWR5KCkpe2NvbnN0IGU9dGhpcy5fZ2V0Tm9uUHJpY2VQYXJlbnQoKTtpZihlJiZ0aGlzLnByaWNlU2NhbGUoKT09PWUucHJpY2VTY2FsZSgpKXJldHVybiBudWxsIT09ZS5fb3duRmlyc3RWYWx1ZT9lLl9vd25GaXJzdFZhbHVlOmUuZmlyc3RWYWx1ZSgpfQpyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKX1kZXNpcmVkUHJpY2VTY2FsZVBvc2l0aW9uKCl7aWYodGhpcy5tZXRhSW5mbygpLmlzVFZTY3JpcHRTdHViKXJldHVybiJvdmVybGF5IjtpZih0aGlzLm1ldGFJbmZvKCkubGlua2VkVG9TZXJpZXMpcmV0dXJuImFzLXNlcmllcyI7c3dpdGNoKHRoaXMubWV0YUluZm8oKS5wcmljZVNjYWxlKXtjYXNlIDE6cmV0dXJuImxlZnQiO2Nhc2UgMDpyZXR1cm4icmlnaHQiO2Nhc2UgMjpyZXR1cm4ib3ZlcmxheSI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19b2Zmc2V0KGUpe3JldHVybiB0aGlzLl9wbG90T2Zmc2V0cy52YWx1ZSgpPy5bZV0/PzB9dGFncygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKTtyZXR1cm4hZS5kZXNjcmlwdGlvbnx8ZS5pc1RWU2NyaXB0U3R1Ynx8ZS5pc19oaWRkZW5fc3R1ZHl8fGUuaXNUVlNjcmlwdCYmInR2LXNjcmlwdGluZyI9PT1lLnByb2R1Y3RJZD9bXTpbZS5kZXNjcmlwdGlvbl19Y29waWFibGUoKXtyZXR1cm4gUnMmJiF0aGlzLmlzQ2hpbGRTdHVkeSgpfXNldFByaWNlU2NhbGUoZSl7c3VwZXIuc2V0UHJpY2VTY2FsZShlKSwoMCxscy5lbWl0KSgic3R1ZHlfZXZlbnQiLHRoaXMuaWQoKSwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpfXByaWNlUmFuZ2UoZSl7bGV0IHQ9bnVsbDtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkse3N0YXJ0VGltZVBvaW50OmksZW5kVGltZVBvaW50OnJ9PWUsbj10aGlzLl9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSk7bGV0IGE9dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZChpLHIsbi5maWVsZHMpO2lmKGE9KDAsZy5tZXJnZU1pbk1heCkobi5iYXNlVmFsdWVNaW5NYXgsYSksbi51c2VNYWluU2VyaWVzUmFuZ2Upe2NvbnN0IGU9W3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSx0PXRoaXMuc2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKGkscixlKTthPSgwLGcubWVyZ2VNaW5NYXgpKGEsdCl9aWYobnVsbCE9PWEmJih0PW5ldyBqLlByaWNlUmFuZ2UoYS5taW4sYS5tYXgpKSxzLmJhbmRzJiZlLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSlmb3IobGV0IGU9MDtlPHMuYmFuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgcz0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYmFuZHMuY2hpbGRzKClbZV0pLmNoaWxkcygpO2lmKHMudmlzaWJsZS52YWx1ZSgpKXtjb25zdCBlPXMudmFsdWUudmFsdWUoKTtpZighKDAsdS5pc051bWJlcikoZSkpY29udGludWU7dD90LmFwcGx5KGUsZSk6dD1uZXcgai5QcmljZVJhbmdlKGUsZSl9fWlmKHRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcyl7Y29uc3Qgcz10aGlzLnByaWNlU2NhbGUoKT09PXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCk/dm9pZCAwOnRoaXMucHJpY2VTY2FsZSgpIT09ZS50YXJnZXRQcmljZVNjYWxlLG49ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtmb3IoY29uc3QgbiBvZiBlKXtjb25zdCBlPW4uZ3JvdXBQcmljZVJhbmdlKHQscyxpKTtudWxsIT09ZSYmKHI9bnVsbD09PXI/ZTpyLm1lcmdlKGUpKX1yZXR1cm4gcn0odGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzLGksciwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk7biYmKHQ9dD90Lm1lcmdlKG4pOm4pfXJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UodCxlKX1hdXRvU2NhbGVJbmZvKGUpe2NvbnN0IHQ9dGhpcy5wcmljZVJhbmdlKGUpLHM9dGhpcy5wcmljZVNjYWxlKCk9PT10aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpP3ZvaWQgMDp0aGlzLnByaWNlU2NhbGUoKSE9PWUudGFyZ2V0UHJpY2VTY2FsZSxpPXRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcz9mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPXllKCk7Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLmdyb3VwUGl4ZWxNYXJnaW5zKHQscyxpKTtyLmJvdHRvbVBpeGVsTWFyZ2luPU1hdGgubWF4KHIuYm90dG9tUGl4ZWxNYXJnaW4sZS5ib3R0b21QaXhlbE1hcmdpbiksci50b3BQaXhlbE1hcmdpbj1NYXRoLm1heChyLnRvcFBpeGVsTWFyZ2luLGUudG9wUGl4ZWxNYXJnaW4pfXJldHVybiByfSh0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHMsZS5zdGFydFRpbWVQb2ludCxlLmVuZFRpbWVQb2ludCwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk6e3RvcFBpeGVsTWFyZ2luOjAsYm90dG9tUGl4ZWxNYXJnaW46MH07cmV0dXJue3JhbmdlOnQsdG9wUGl4ZWxNYXJnaW46aS50b3BQaXhlbE1hcmdpbixib3R0b21QaXhlbE1hcmdpbjppLmJvdHRvbVBpeGVsTWFyZ2lufX1mb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX2Zvcm1hdHRlcj8/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmZvcm1hdHRlcighMSl9ZGVmYXVsdEZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpO3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPz9lLmRlZmF1bHRGb3JtYXR0ZXI/LigpPz9lLmZvcm1hdHRlcigpfXBsb3RGb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX3Bsb3RGb3JtYXR0ZXJzLmdldChlKT8/dGhpcy5mb3JtYXR0ZXIoKX1pc011bHRpUGFuZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl8fCgwLEguaGFzRm9yY2VPdmVybGF5UHJpbWl0aXZlcykodGhpcy5fbWV0YUluZm8udmFsdWUoKSl9aXNNdWx0aVBhbmVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcykscz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLGk9InZpZXdwb3J0LWNoYW5nZSI9PT1lLnR5cGUmJmUucGFuZSYmZS5wYW5lIT09czsidmlld3BvcnQtY2hhbmdlIj09PWUudHlwZSYmZS5wYW5lJiZlLnBhbmUhPT10fHwodGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksCnRoaXMuX2xhYmVsUGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc/LnVwZGF0ZShlKSx0aGlzLl9sZWdlbmRWaWV3Py51cGRhdGUoZSksdGhpcy5fc3RhdHVzVmlldz8udXBkYXRlKGUpLHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNMaW5lc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSksaXx8KHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9mb3JjZU92ZXJsYXlMYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2ZvcmNlT3ZlcmxheVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSkpLCJkYXRhLXNvdXJjZS1jaGFuZ2UiPT09ZS50eXBlJiZlLnNvdXJjZUlkPT09dGhpcy5pZCgpJiZlLmNsZWFyRGF0YSYmdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoZT0+ZS51cGRhdGVBbGxWaWV3cyh7dHlwZToiZGF0YS1zb3VyY2UtY2hhbmdlIixzb3VyY2VJZDplLmlkKCksY2xlYXJEYXRhOiEwfSkpKX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMH1zdHVkeU5hbWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHlOYW1lfW5lYXJlc3RJbmRleChlLHQscyl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlLHQscyk/LmluZGV4fWdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxzPXRoaXMuX21ldGFJbmZvLGk9dC5zdHlsZXMuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz90LmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz9zLnZhbHVlKCkuc3R5bGVzPy5bZV0/LnNob3dMYXN0Pz90Lm9obGNQbG90cy5jaGlsZHMoKVtlXT8uY2hpbGQoInNob3dMYXN0Iik/LnZhbHVlKCk/P3MudmFsdWUoKS5vaGxjUGxvdHM/LltlXT8uc2hvd0xhc3Q/P251bGw7aWYobnVsbD09PWkpcmV0dXJuLTEvMDtjb25zdCByPXRoaXMuZGF0YSgpLmxhc3RJbmRleCgpO3JldHVybiBudWxsPT09cj8tMS8wOnItaSsxfWd1aVBsb3ROYW1lKGUsdCl7Y29uc3Qgcz10aGlzLl9tZXRhSW5mby52YWx1ZSgpLGk9cy5wbG90cy5maW5kKChlPT5lLmlkPT09dCkpO2lmKHZvaWQgMCE9PWkpe2NvbnN0IHI9KDAsWi5pc09obGNQbG90KShpKT9zLm9obGNQbG90cz8uW2kudGFyZ2V0XT8udGl0bGU6cy5zdHlsZXM/Llt0XT8udGl0bGU7cmV0dXJuIHI/KDAsZC5kZWNvZGVIVE1MRW50aXRpZXMpKHIpOnRoaXMudGl0bGUoZSl9cmV0dXJuIHRoaXMudGl0bGUoZSl9Y2hpbGRTdHVkeUJ5UmViaW5kKCl7cmV0dXJuIHRoaXMuX2NoaWxkU3R1ZHlCeVJlYmluZH1pc1BpbmUoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pc1BpbmUoKX1pc1N0YW5kYXJkUGluZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlzU3RhbmRhcmRQaW5lKCl9aXNMaW5rZWRUb1Nlcmllcygpe3JldHVybiEwPT09dGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4hMT09PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmVoaW5kX2NoYXJ0PzA6bnVsbH1kZWZhdWx0UGxvdElkRm9yQWxlcnQoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cz8uWzBdPy5pZD8/bnVsbH1yZXNvbHZlZFN5bWJvbEluZm9CeVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fcmVzb2x2ZWRTeW1ib2xzJiZlJiZ0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGx9aGFzUGVuZGluZ1VucmVzb2x2ZWRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3BlbmRpbmdSZXNvbHZlU3ltYm9scy5zaXplPjB9aGFzU3ltYm9sSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLnNvbWUoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSl9Y3VycmVuY3koKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKTtpZihlKXJldHVybigwLHRzLnN5bWJvbEN1cnJlbmN5KShlKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKTtyZXR1cm4gQm9vbGVhbih0KSYmdC5pc19wcmljZV9zdHVkeT90aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk/LmN1cnJlbnRDdXJyZW5jeT8/bnVsbDpudWxsfWN1cnJlbmN5T3JpZ2luU291cmNlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5T3JpZ2luU291cmNlfWN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnZhbHVlKCk/P3RoaXMuc3ltYm9sU291cmNlKCk/LnN5bWJvbEluZm8oKT8/bnVsbH11bml0KCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIEJvb2xlYW4oZSkmJmUuaXNfcHJpY2Vfc3R1ZHk/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnVuaXQoKTpudWxsfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZX1jYW5PdmVycmlkZU1pblRpY2soKXtyZXR1cm4hMX1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ZpZXd9bGVnZW5kVmlldygpe3JldHVybiB0aGlzLl9sZWdlbmRWaWV3fWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fXBpbmVTb3VyY2VDb2RlTW9kZWwoKXsKcmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgRS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw4MzQzNjgpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTb3VyY2VDb2RlTW9kZWwodGhpcykpKSwoZT0+e2U/LmRlc3Ryb3koKX0pKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5wcm9taXNlKCkpOlByb21pc2UucmVzb2x2ZShudWxsKX1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIHRoaXMuX2FsZXJ0U291cmNlTW9kZWx9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe3JldHVybiB0aGlzLmlucHV0cyh7Zm9yY2VUcmVhdFNvdXJjZUlucHV0c0FzRmFrZTohMH0pfXNlc3Npb25JZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkQ2hhbmdlZCgpfWdldFN5bWJvbFN0cmluZyhlLHQpe3JldHVybiIiPT09ZT8iIjooMCx0ZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QoZSx0KSl9b25TdGF0dXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N0YXR1c0NoYW5nZWR9b25EYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1zeW1ib2xzUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sc1Jlc29sdmVkfW9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpe3JldHVybiB0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2V9dmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXJ9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXJ9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyByZS5TdHVkeVN0YXR1c1Byb3ZpZGVyKHRoaXMpfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IG5lLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9Y29ycmVjdFNjYWxlTWFyZ2lucyhlKXtpZigiVm9sdW1lIj09PXRoaXMubWV0YUluZm8oKS5zaG9ydElkKXtjb25zdCB0PXRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMpO3JldHVybiBudWxsIT09dCYmdC5pc092ZXJsYXkodGhpcykmJnQuY29udGFpbnNNYWluU2VyaWVzKCk/e3RvcDouNzUsYm90dG9tOjB9Ont0b3A6ZS50b3AsYm90dG9tOjB9fXJldHVybiBlfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITB9aXNTb3VyY2VIaWRkZW4oKXtyZXR1cm4hdGhpcy5pc1Zpc2libGUoKXx8dGhpcy5jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpJiZRLmhpZGVBbGxJbmRpY2F0b3JzKCkudmFsdWUoKX13YXNDb21wbGV0ZWRCZWZvcmUoKXtyZXR1cm4gdGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlfXBhbmVWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYodGhpcy5pc1NvdXJjZUhpZGRlbigpKXJldHVybiBudWxsO2lmKCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gZSE9PXQ/bnVsbDp0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzO2NvbnN0IHM9W10saT10aGlzLl9wYW5lVmlld3MuZmluZCgoZT0+e3JldHVybiB0PWUsKDAsdS5pc09iamVjdCkodCkmJiJpc1Bsb3RIaWdobGlnaHRlZCJpbiB0JiZlLmlzUGxvdEhpZ2hsaWdodGVkKCk7dmFyIHR9KSk/P251bGw7cmV0dXJuIXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQmJnRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZSYmcy5wdXNoKC4uLnRoaXMuX3BhbmVWaWV3cy5maWx0ZXIoKGU9PiFlLmlzRm9yY2VPdmVybGF5Py4oKSYmZSE9PWkpKSksdGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyYmKHRoaXMuX3N0YXJ0TW92aW5nUG9pbnR8fHRoaXMuX21vZGVsLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcykpJiZzLnB1c2godGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3JiZzLnB1c2godGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3KSxlPT09dCYmcy5wdXNoKC4uLnRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MpLGkmJnMucHVzaChpKSxzfWxhYmVsUGFuZVZpZXdzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZih0aGlzLmlzU291cmNlSGlkZGVuKCl8fCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5oYXNGb3JjZU92ZXJsYXlQbG90cygpP2UhPT10P251bGw6dGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M6bnVsbDtjb25zdCBzPVsuLi50aGlzLl9sYWJlbFBhbmVWaWV3c107cmV0dXJuIGU9PT10JiZzLnB1c2goLi4udGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MpLHN9dGltZUF4aXNWaWV3cygpe3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpP3RoaXMuX2lucHV0c1RpbWVBeGlzUGFuZVZpZXdzOm51bGx9cHJpY2VBeGlzVmlld3MoZSx0KXtpZih0IT09dGhpcy5wcmljZVNjYWxlKCkmJnQ9PT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYhZS5oYXNEYXRhU291cmNlKHRoaXMpKXJldHVybiB0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cztjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2xkU2hvd0xhc3RWYWx1ZTtpZihzJiYhcy52YWx1ZSgpKXJldHVybiBudWxsO2xldCBpPXRoaXMuX3ByaWNlQXhpc1ZpZXdzLnNsaWNlKCkKO3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpJiYoaT1pLmNvbmNhdCh0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MpKSx0PT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSYmKGk9aS5jb25jYXQodGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MpKSxlLmZpbmRUYXJnZXRQcmljZUF4aXNWaWV3cyh0aGlzLHQsaSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzKX1tb3ZhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXd9c3RhcnRNb3ZpbmcoZSx0LHMsaSl7dGhpcy5fc3RhcnRNb3ZpbmdQb2ludD1lfW1vdmUoZSx0LHMsaSl7aWYodm9pZCAwIT09ZS5sb2dpY2FsJiZudWxsIT09dGhpcy5fc3RhcnRNb3ZpbmdQb2ludCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3Qgcz10O3RoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMF0pLHRoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMV0pfWVsc2UgdGhpcy5fdXBkYXRlSW5wdXRWYWx1ZShlLmxvZ2ljYWwsdCk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX19ZW5kTW92aW5nKGUsdCl7cmV0dXJuIHRoaXMuX3N0YXJ0TW92aW5nUG9pbnQ9bnVsbCx7aW5kZXhlc0NoYW5nZWQ6ITEscHJpY2VzQ2hhbmdlZDohMX19Y2xlYXJEYXRhKCl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT57dGhpcy5fY2xlYXJEYXRhKCksdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzJiZ0aGlzLl9ncmFwaGljcz8uY2xlYXIoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZSh7fSl9KSksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCksY2xlYXJEYXRhOiEwfSkpfWNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoZSx0KXtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO2lmKCF0fHwhc3x8cy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgaT10LmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWk/bnVsbDpzLmNvb3JkaW5hdGVUb1ByaWNlKGUsaSl9cHJvY2Vzc0hpYmVybmF0ZShlKXtjb25zdCB0PXRoaXMuaXNWaXNpYmxlKCk7aWYoIXRoaXMuaXNTdGFydGVkKCkmJnQmJih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+e2UucHJvY2Vzc0hpYmVybmF0ZSgpfSkpLHRoaXMuc3RhcnQodm9pZCAwLHZvaWQgMCxlKSx0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UuZmlyZSghMSkpLHRoaXMuaXNIaWJlcm5hdGlvbkFsbG93ZWQoKSYmdGhpcy5pc1N0YXJ0ZWQoKSYmIXQpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2NoaWxkcmVuKWUucHJvY2Vzc0hpYmVybmF0ZSgpO3RoaXMuc3RvcCh2b2lkIDAsZSksdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlLmZpcmUoITApfX1pc0hpYmVybmF0aW9uQWxsb3dlZCgpe3JldHVybighdGhpcy5tZXRhSW5mbygpLmhpc3RvcnlDYWxjdWxhdGlvbk1heUNoYW5nZXx8IXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkmJighdGhpcy5oYXNDaGlsZHJlbigpfHwhIXRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCkmJnRoaXMuX2NoaWxkcmVuLmV2ZXJ5KChlPT5lLmlzSGliZXJuYXRpb25BbGxvd2VkKCkpKSl9aXNQbG90VmlzaWJsZUF0KGUsdCl7bGV0IHM7Y29uc3QgaT10aGlzLm1ldGFJbmZvKCkucGxvdHMuZmluZCgodD0+dC5pZD09PWUpKTtpZihzPXZvaWQgMCE9PWk/KDAsWi5pc09obGNQbG90KShpKT90aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm9obGNQbG90cy5jaGlsZHMoKVtpLnRhcmdldF06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbZV06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5vaGxjUGxvdHMuY2hpbGRzKClbZV0sdm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoYFN0dWR5IGRvZXMgbm90IGNvbnRhaW4gJHtlfSBwbG90YCk7Y29uc3Qgcj1zLmNoaWxkcygpLmRpc3BsYXkudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXImJigwLHouaXNQbG90VmlzaWJsZSkocix0KX1yZWNhbGN1bGF0ZSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKTt0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZVBhbmUoZSwoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9bWF4T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX21heE9mZnNldH1vblN0YXJ0KCl7cmV0dXJuIHRoaXMuX29uU3RhcnR9b25QYXJlbnRTb3VyY2VzQ2hhbmdlcygpe3JldHVybiB0aGlzLl9vblBhcmVudFNvdXJjZXNDaGFuZ2VzfWlzSGliZXJuYXRlZCgpe3JldHVybiF0aGlzLmlzVmlzaWJsZSgpJiYhdGhpcy5pc1N0YXJ0ZWQoKX1ncmFwaGljc1ZpZXdzUmVhZHkoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3NWaWV3c1JlYWR5fXNldExvYWRpbmdDb21waWxhdGlvbkFjdGl2ZShlKXt0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLnNldFZhbHVlKGU/e3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9Om51bGwpLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfXNldEVycm9yQ29tcGlsYXRpb24oZSl7e2NvbnN0IHQ9KDAsUGUuZXh0cmFjdFBpbmVJZCkodGhpcy5fbWV0YUluZm8udmFsdWUoKS5pZCkKO2lmKG51bGw9PT1lfHwwPT09ZS5sZW5ndGh8fG51bGw9PT10KXJldHVybiB0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pO2NvbnN0IHM9ZVswXTt0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnMubWVzc2FnZSxlZGl0b3JFcnJvcjp7Li4ucyxpZDp0fSx0aXRsZToiQ29tcGlsYXRpb24gZXJyb3IifX0pLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfX1oYXNDb21waWxlRXJyb3IoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2NvbXBpbGVFcnJvclN0YXR1cy52YWx1ZSgpfXR1cm5hcm91bmQoZSl7aWYoIWUpcmV0dXJuIHRoaXMuX3R1cm5hcm91bmQ7Y29uc3QgdD10aGlzLl9zZXJpZXMuc2VyaWVzU291cmNlKCkudHVybmFyb3VuZCgpLHM9KDAsVGUuYnVpbGRUcmVlRm9yU3R1ZHkpKHRoaXMpO3JldHVybigwLFRlLmJ1aWxkVHVybmFyb3VuZCkodCxzKX1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fY2FuSGF2ZUNoaWxkcmVuPXRoaXMuX2NhbkhhdmVDaGlsZHJlbj8/di5TdHVkeU1ldGFJbmZvLmNhbkhhdmVDaGlsZHJlbih0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9jYW5IYXZlQ2hpbGRyZW59c2V0Q2hpbGQoZSl7LTE9PT10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHJlbi5wdXNoKGUpfXVuc2V0Q2hpbGQoZSl7Y29uc3QgdD10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpO350JiZ0aGlzLl9jaGlsZHJlbi5zcGxpY2UodCwxKX1jaGlsZHJlbigpe3JldHVybiB0aGlzLl9jaGlsZHJlbn1nZXRBbGxDaGlsZHJlbigpe2NvbnN0IGU9dGhpcy5fY2hpbGRyZW4uc2xpY2UoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcz1lW3RdLmdldEFsbENoaWxkcmVuKCk7Zm9yKGxldCB0PTA7dDxzLmxlbmd0aDsrK3QpfmUuaW5kZXhPZihzW3RdKXx8ZS5wdXNoKHNbdF0pfXJldHVybiBlfXBhcmVudFNvdXJjZUZvcklucHV0KGUpe2lmKGUuaW5jbHVkZXMoIiQiKSl7Y29uc3QgdD1lLnNwbGl0KCIkIilbMF07cmV0dXJuIHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maW5kKChlPT5lLmlkKCk9PT10KSk/P251bGx9cmV0dXJuIHRoaXMuX3Nlcmllc31wcmljZVN0ZXAoKXtyZXR1cm4gdGhpcy5fcHJpY2VTdGVwfHx0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkucHJpY2VTdGVwKCExKX1yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKX1zZXRPd25lclNvdXJjZShlKXtzdXBlci5zZXRPd25lclNvdXJjZShlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9aGFzSGlnaGxpZ2h0ZWRQbG90cygpe3JldHVybigwLCQuaGlnaGxpZ2h0Q29udGFpbnNTb3VyY2UpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSx0aGlzLmlkKCkpfWdldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsP3RoaXMuX2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpLnRoZW4oKGU9Pm51bGw9PT1lfHx0aGlzLl9pc0Rlc3Ryb3llZD9udWxsOihudWxsPT09dGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwmJih0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1uZXcgZSh0aGlzLl9tb2RlbC51bmRvTW9kZWwoKSx0aGlzKSksdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwpKSk6UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsKX1jYWxjdWxhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5fY2FsY3VsYXRpb25UaW1lLnJlYWRvbmx5KCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJJbmRpY2F0b3JDb250ZXh0TWVudSJ9bWV0YUluZm9XVigpe3JldHVybiB0aGlzLl9tZXRhSW5mby5yZWFkb25seSgpfWFzeW5jIHBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtpZihPYmplY3Qua2V5cyhlKS5zb21lKChlPT4oMCxEZS5pc1N0dWR5SW5wdXREZXBlbmRzT25DaGFydCkoe2lkOmV9KSkpKXt0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7Y29uc3QgdD1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7dGhpcy5fcHJldmlvdXNQYXRjaE1hcD17fSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPW5ldyBQcm9taXNlKChhc3luYyBzPT57YXdhaXQoMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHQsZSx0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuc2lnbmFsLHRoaXMuX3ByZXZpb3VzUGF0Y2hNYXAsITApLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpLHMoKX0pKX19X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpfV9jcmVhdGVTdHVkeU9uU2VydmVyKCl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuITE7dGhpcy5faXNTdGFydGVkPSEwLHRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKTtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5faW5wdXRzKTtsZXQgdAo7aWYodD10aGlzLl9jaGFydEFwaS5jcmVhdGVTdHVkeSh0aGlzLnNvdXJjZUlkKCksdGhpcy5fdHVybmFyb3VuZCwoMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Nlcmllcy5zZXJpZXNTb3VyY2UoKS5pbnN0YW5jZUlkKCkpLHRoaXMuX3N0dWR5TmFtZS52YWx1ZSgpLGUsdGhpcy5faGFuZGxlcix0aGlzLl9zdHVkeVNwZWMoKSksIXQpcmV0dXJuIHRoaXMuX2lzU3RhcnRlZD0hMSx0O2lmKHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuX2lkLnZhbHVlKCl9YCksdm9pZCAwPT09dGhpcy5fb2xkU3R1ZHlJbnB1dHMpe2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7T2JqZWN0LmtleXMoZSkuc29tZSgoZT0+KDAsRGUuaXNTdHVkeUlucHV0RGVwZW5kc09uQ2hhcnQpKHtpZDplfSkpKXx8KHRoaXMuX29sZFN0dWR5SW5wdXRzPWUpfXJldHVybiB0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzJiYhdGhpcy5fcmVzdGFydGluZyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKSwhMH1fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLmlzU3RhcnRlZCgpJiYodGhpcy5fY2hhcnRBcGkucmVtb3ZlU3R1ZHkodGhpcy5zb3VyY2VJZCgpKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSxwZXJmb3JtYW5jZS5jbGVhck1hcmtzKGBjYWxjdWxhdGVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCksdGhpcy5faXNTdGFydGVkPSExfV9tb2RpZnlTdHVkeU9uU2VydmVyKGUsdCl7dGhpcy5fY2hhcnRBcGkubW9kaWZ5U3R1ZHkodGhpcy5zb3VyY2VJZCgpLHRoaXMuX3R1cm5hcm91bmQsZSx0aGlzLl9oYW5kbGVyLHQpLHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKX1fc2VuZE5vdGlmeUNvbW1hbmQoZSx0KXt0aGlzLl9jaGFydEFwaS5ub3RpZnlTdHVkeSh0aGlzLnNvdXJjZUlkKCksZSx0KX1fdHJhbnNmb3JtRGF0YShlKXt9X3Bsb3RzRGF0YVJhbmdlKCl7Y29uc3QgZT10aGlzLnBsb3RzKCkuZmlyc3RJbmRleCgpLHQ9dGhpcy5wbG90cygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpe3RoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fX1fY29sbGVjdERlcHNGb3JBbGVydCgpe2NvbnN0IGU9W3RoaXMsLi4udGhpcy5fYWxsT3duZXJTb3VyY2VzLnZhbHVlKCkuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgVXMpKV07cmV0dXJuKDAsVC5jb2xsZWN0RGVwc0ZvckFsZXJ0KShlKX1fYWxsSW5wdXRzQXJlVmFsaWQoKXtpZihudWxsPT09dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz8udmFsdWUoKSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cylpZigiYmFyX3RpbWUiPT09ZS50eXBlKXtjb25zdCB0PWUuaWQ7aWYobnVsbD09dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbdF0udmFsdWUoKSlyZXR1cm4hMX1yZXR1cm4hMH1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2F3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PiFlLmlzU3RhcnRlZCgpfHxlLmlzUmVzdGFydGluZygpP25ldyBQcm9taXNlKCh0PT57ZS5vblN0YXJ0KCkuc3Vic2NyaWJlKHRoaXMsdCwhMCl9KSk6UHJvbWlzZS5yZXNvbHZlKCkpKSksdGhpcy5pc1N0YXJ0ZWQoKSYmIXRoaXMuX3Jlc3RhcnRpbmd8fCh0aGlzLl9yZXN0YXJ0aW5nPSExLHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNUVlNjcmlwdFN0dWImJih0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCksdGhpcy5fY3JlYXRlU3R1ZHlPblNlcnZlcigpJiYodGhpcy5fc3Vic2NyaWJlVG9TZXNzaW9uSWQoKSx0aGlzLl9vblN0YXJ0LmZpcmUoKSwhMD09PWUmJnRoaXMuX2NoaWxkcmVuJiZhd2FpdCB0aGlzLl9jaGlsZHJlbi5tYXAoKGU9PmUuc3RhcnQoITAsdCkpKSkpKX1hc3luYyBfY2hhbmdlSW5wdXRzSW1wbChlLHQpe2NvbnN0IHM9dGhpcy5fY2FsY1NvdXJjZXMoKSxpPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscj1rcyhpLGUsdCksbj0oKT0+e2Zvcihjb25zdCBzIG9mIGkuaW5wdXRzKXtpZigic291cmNlIiE9PXMudHlwZSljb250aW51ZTtjb25zdCBpPWVbcy5pZF0udixyPXRbcy5pZF0udjtpZihpIT09cil7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChzLmlkKSkuc2V0VmFsdWUocil9fX07aWYodGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyPjAmJiF0aGlzLl9jaGFydEFwaS5jYW5DcmVhdGVTdHVkeSh0aGlzLl9zdHVkeVNwZWMoITApLCEwKS5zdWNjZXNzKXtjb25zdCBlPXdpbmRvdy51c2VyLnByb19wbGFuLHQ9InByb19wcmVtaXVtX2V4cGVydCI9PT1lfHwicHJvX3ByZW1pdW1fZXhwZXJ0X3RyaWFsIj09PWU7cmV0dXJuKDAsTy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6InN0dWR5T25TdHVkeSIsaXNNYXhQbGFuOnR9KSx2b2lkIG4oKX10aGlzLl9pbnB1dHM9ZTtsZXQgYT0hMTtjb25zdCBvPU9iamVjdC52YWx1ZXMoRGUuUmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0TmFtZXMpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKWlmKEpTT04uc3RyaW5naWZ5KGVbc10pIT09SlNPTi5zdHJpbmdpZnkodFtzXSkmJiFvLmluY2x1ZGVzKHMpKXthPSEwO2JyZWFrfXRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKSxhJiZ0aGlzLmRpc2FibGVQcmljZVJhbmdlUmVhZHkoKTt0cnl7YXdhaXQgdGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhzLHIsITApLHRoaXMuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSxyKSx0aGlzLl9zdHVkeU1vZGlmaWVkPSEwfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFcnJvciBhcHBseWluZyBwYXJlbnQgc291cmNlczogJHtlfWApLG4oKX0KdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnN5bWJvbFNvdXJjZSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fZ2V0VW5pdElucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fY3JlYXRlUHJpY2VBeGlzVmlldyhlKXtjb25zdCB0PXRoaXMubWV0YUluZm8oKS5wbG90cy5maW5kKCh0PT4idGFyZ2V0ImluIHQmJnQudGFyZ2V0PT09ZSkpO3JldHVybiB2b2lkIDAhPT10JiYoMCxaLmlzT2hsY1Bsb3QpKHQpP25ldyBycyh0aGlzLHtwbG90TmFtZTplfSk6bmV3IGlzLlN0dWR5UHJpY2VBeGlzVmlldyh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgbnMuU3R1ZHlQcmljZUxpbmVBeGlzVmlldyh0aGlzLGUpfV9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhlKXtyZXR1cm4gbmV3IEZ0LlN0dWR5UGxvdFBhbmVWaWV3KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLGUpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZT1bXSx0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cz1bXSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzPVtdLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheUxhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IGU9bmV3IFNldCx0PXRoaXMubWV0YUluZm8oKSxzPUJvb2xlYW4odC51c2VQbG90c1pPcmRlciksaT1uZXcgTWFwLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtpZihyLmZpbGxlZEFyZWFzU3R5bGUmJnQuZmlsbGVkQXJlYXMpZm9yKGxldCBlPTA7ZTx0LmZpbGxlZEFyZWFzLmxlbmd0aDsrK2Upe2NvbnN0IG49dC5maWxsZWRBcmVhc1tlXSxhPSgwLGguZW5zdXJlRGVmaW5lZCkoci5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW24uaWRdKSxvPU5zKHQsbi5pZCk7bGV0IGw7aWYoInBsb3RfcGxvdCI9PT1uLnR5cGV8fG8/bD1uZXcgV3QodGhpcyx0aGlzLm1vZGVsKCksbixhKToiaGxpbmVfaGxpbmUiPT09bi50eXBlP2w9bmV3IFl0KHRoaXMsbixhKTpTcy5sb2dXYXJuKCJVbnN1cHBvcnRlZCBmaWxsZWRBcmVhIHR5cGU6ICIrbi50eXBlKSx2b2lkIDAhPT1sKXtsZXQgZT0hMTtpZigicGxvdF9wbG90Ij09PW4udHlwZSYmKGU9dC5pc1Bsb3RGb3JjZU92ZXJsYXkobi5vYmpBSWQpKSxlKXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MucHVzaChsKTtlbHNle2NvbnN0IGU9cz8oMCxoLmVuc3VyZURlZmluZWQpKG4uem9yZGVyKTppLnNpemU7RnMoZSxpKSxpLnNldChlLHtwYW5lVmlld3M6W2xdfSl9fX17bGV0IHI9LTFlNTtmb3IobGV0IG49MDtuPHQucGxvdHMubGVuZ3RoO24rKyl7Y29uc3QgYT10LnBsb3RzW25dO2xldCBvLGwsdSxjLGQscD10LmlzUGxvdEZvcmNlT3ZlcmxheShhLmlkKTtpZigoMCxaLmlzTm9uVmlzdWFsUGxvdCkoYSkpY29udGludWU7bGV0IF89YS5pZCxmPXQuc3R5bGVzO2NvbnN0IG09KDAsWi5pc0JnQ29sb3JlclBsb3QpKGEpO2lmKG0pbz1uZXcgRWUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzU2hhcGVzUGxvdCkoYSkpbz1uZXcgYXQodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzQ2hhcnNQbG90KShhKSlvPW5ldyBTdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNBcnJvd3NQbG90KShhKSlvPW5ldyBDdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNPaGxjUGxvdCkoYSkpe2NvbnN0IHM9YS50YXJnZXQ7aWYoZS5oYXMocykpY29udGludWU7aWYocD10LmlzUGxvdEZvcmNlT3ZlcmxheShzKSxlLmFkZChzKSxUcyh0LG4pKW89bmV3IFJ0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpO2Vsc2V7aWYoIURzKHQsbikpe1NzLmxvZ0Vycm9yKGBwbG90ICR7YS5pZH0gbG9va3MgdG8gYmUgaW52YWxpZGApO2NvbnRpbnVlfW89bmV3IFR0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpfWM9dGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlldyhzKSx1PW5ldyBEdC5QYW5lUHJpY2VBeGlzVmlldyhjLHRoaXMsdGhpcy5fbW9kZWwpLF89cyxmPXQub2hsY1Bsb3RzfWVsc2UoMCxaLmlzRGF0YVBsb3QpKGEpfHwoYz10aGlzLl9jcmVhdGVQcmljZUF4aXNWaWV3KF8pLGQ9dGhpcy5fY3JlYXRlUHJpY2VMaW5lQXhpc1ZpZXcoXyksbz10aGlzLl9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhfKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVtfXT8uY2hpbGQoInRyYWNrUHJpY2UiKT8udmFsdWUoKSYmKGw9bmV3IGt0KHRoaXMsXykpLHU9bmV3IGRzKGMsdGhpcyx0aGlzLl9tb2RlbCxfKSk7Y29uc3QgeT1zP20/cisrOigwLGguZW5zdXJlRGVmaW5lZCkoZj8uW19dPy56b3JkZXIpOmkuc2l6ZTtpZihGcyh5LGkpLHApYyYmdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MucHVzaChjKSxvJiZ0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzLnB1c2gobyksdSYmdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MucHVzaCh1KTtlbHNle2NvbnN0IGU9e3BhbmVWaWV3czp2b2lkIDAhPT1vP1tvXTpbXSxsYWJlbFZpZXc6dSxwcmljZUF4aXNWaWV3OmMscHJpY2VMaW5lQXhpc1ZpZXc6ZH07dm9pZCAwIT09bCYmZS5wYW5lVmlld3MucHVzaChsKSxpLnNldCh5LGUpfX19KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmFuZHM/P1tdKS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IG49ci5iYW5kcy5jaGlsZHMoKVt0XTtpZihuJiZuLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD1uZXcgJHQobix0aGlzKSxyPXM/KDAsaC5lbnN1cmVEZWZpbmVkKShlLnpvcmRlcik6aS5zaXplO0ZzKHIsaSksaS5zZXQocix7cGFuZVZpZXdzOlt0XX0pfX0pKSxyLmJhbmRzQmFja2dyb3VuZCYmKCgwLApoLmFzc2VydCkoIXMsIid1c2VQbG90c1pPcmRlcicgZmxhZyBkb2VzIG5vdCBzdXBwb3J0ZWQiKSxpLnNldChpLnNpemUse3BhbmVWaWV3czpbbmV3IEp0KHRoaXMpXX0pKTtjb25zdCBuPXRoaXMuX3BhbmVWaWV3cyxhPXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M7dGhpcy5fY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKS50aGVuKChlPT57Zm9yKGxldCB0PTA7dDxlLnJlZ3VsYXJQYW5lVmlld3MubGVuZ3RoO3QrKyluLnB1c2goZS5yZWd1bGFyUGFuZVZpZXdzW3RdKTtmb3IobGV0IHQ9MDt0PGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzLmxlbmd0aDt0KyspYS5wdXNoKGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzW3RdKTt0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLHRoaXMuX2dyYXBoaWNzVmlld3NSZWFkeT0hMH0pKSxyLmFyZWFCYWNrZ3JvdW5kJiYoKDAsaC5hc3NlcnQpKCFzLCIndXNlUGxvdHNaT3JkZXInIGZsYWcgZG9lcyBub3Qgc3VwcG9ydGVkIiksaS5zZXQoaS5zaXplLHtwYW5lVmlld3M6W25ldyBCdC5BcmVhQmFja2dyb3VuZFBhbmVWaWV3KHRoaXMsdGhpcy5tb2RlbCgpKV19KSk7Y29uc3Qgbz1BcnJheS5mcm9tKGkua2V5cygpKS5zb3J0KCgoZSx0KT0+ZS10KSk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKShpLmdldChvW2VdKSk7dGhpcy5fcGFuZVZpZXdzLnB1c2goLi4udC5wYW5lVmlld3MpLHQubGFiZWxWaWV3JiZ0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKHQubGFiZWxWaWV3KSx0LnByaWNlQXhpc1ZpZXcmJnRoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZS5wdXNoKHQucHJpY2VBeGlzVmlldyksdC5wcmljZUxpbmVBeGlzVmlldyYmdGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cy5wdXNoKHQucHJpY2VMaW5lQXhpc1ZpZXcpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IEd0LlN0dWR5RGF0YVdpbmRvd1ZpZXcodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBYKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgZWUuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fHwodGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldz10aGlzLl9jcmVhdGVkQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCkpLHRoaXMuX2NvbmNhdFByaWNlQXhpc1ZpZXdzKCl9X2NyZWF0ZWRDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbmV3IGp0LlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfV9vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInN0dWR5X2xvYWRpbmciOnRoaXMuX29uU3R1ZHlMb2FkaW5nKGUudGltZSk7YnJlYWs7Y2FzZSJzdHVkeV9lcnJvciI6dGhpcy5fb25TdHVkeUVycm9yKGUucGFyYW1zWzJdKTticmVhaztjYXNlInN0dWR5X2NvbXBsZXRlZCI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtc1sxXSkpcmV0dXJuO3RoaXMuX29uU3R1ZHlDb21wbGV0ZWQoZS50aW1lKTticmVhaztjYXNlImRhdGFfdXBkYXRlIjppZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuc291cmNlSWQoKXx8IXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy50dXJuYXJvdW5kKSlyZXR1cm47KDAsaC5hc3NlcnQpKCEhZS5wYXJhbXMubm9uc2VyaWVzLCJkYXRhLnBhcmFtcy5ub25zZXJpZXMgaXMgbWlzc2luZyIpLHRoaXMuX29uRGF0YVVwZGF0ZShlLnBhcmFtcy5wbG90cywoMCxoLmVuc3VyZURlZmluZWQpKGUucGFyYW1zLm5vbnNlcmllcyksZS5wYXJhbXMubGFzdEJhcik7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjp0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9fV9nZXRUZWxlbWV0cnlPYmplY3ROYW1lKCl7cmV0dXJuInN0dWR5In1fb25EYXRhVXBkYXRlZChlLHQscyxpKXtpZih0aGlzLmhhc0JhckNvbG9yZXIoKSYmZS5sZW5ndGg+MCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFyQ29sb3JlcigpKS5maXJzdENvbG9yZWRCYXIoZVswXS5pbmRleCk7bnVsbCE9PXQmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUodCl9bnVsbCE9PXQmJnRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKTtjb25zdCByPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7aWYodGhpcy5fbW9kZWwucmVjYWxjdWxhdGVQYW5lKHIsKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxmaXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleDppPz92b2lkIDAsbm9uU2VyaWVzT25seTowPT09ZS5sZW5ndGh9KSksdGhpcy5fdXBkYXRlU291cmNlcygpLGUubGVuZ3RoKXtjb25zdCB0PWVbZS5sZW5ndGgtMV0uaW5kZXgscz1lWzBdLmluZGV4O3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToicGFydGlhbCIsc3RhcnRJbmRleDpzLGVuZEluZGV4OnR9KX1lbHNlIHRoaXMuZGF0YSgpLmlzRW1wdHkoKSYmdGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHRoaXMuX3RpdGxlSW5wdXRzT3B0aW9ucyhlLHQscykpfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybntzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czp0aGlzLl9za2lwcGVkVGl0bGVJbnB1dHMoKSxub0V4Y2hhbmdlczp0LG5vUmVzb2x1dGlvbjpzLHByaWNlSW5wdXRzRm9yRGlzcGxheTohMCxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czpBcyxkaXNwbGF5TWFzazplfX1fcG9zdFByb2Nlc3NHcmFwaGljcygpewp0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPXRoaXMuX2NyZWF0ZUdyYXBoaWNzUHJpY2VBeGlzVmlld3MoKSx0aGlzLl9jb25jYXRQcmljZUF4aXNWaWV3cygpfWFzeW5jIF9jcmVhdGVHcmFwaGljc1BhbmVWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5tb2RlbCgpKX1fY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cykodGhpcyl9X3N1YnNjcmliZVRvU2Vzc2lvbklkKCl7IXRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkJiZ0aGlzLmhhc1N5bWJvbElucHV0cygpJiYodGhpcy5zZXNzaW9uSWRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRDaGFuZ2VkKSx0aGlzLl9pc1N1YnNjcmliZWRUb1Nlc3Npb25JZD0hMCl9X3JlY3JlYXRlRm9ybWF0dGVyKGUpe2xldCB0PWU7aWYodCl7Y29uc3QgZT10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUodC5wcm9fbmFtZSk7ZSYmKHQ9KDAsbi5kZWZhdWx0KSh0KSwoMCxhLmRlZmF1bHQpKHQsZS5mb3JtYXR0aW5nT3B0aW9ucz8/e30pKX10aGlzLl9yZWNyZWF0ZVBsb3RzRm9ybWF0dGVycyh0KSx0aGlzLl9mb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRm9ybWF0dGVyKHQpLHRoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRGVmYXVsdEZvcm1hdHRlcih0KSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO251bGwhPT1zJiZzLnVwZGF0ZUZvcm1hdHRlcigpLHRoaXMuZ2V0QWxsQ2hpbGRyZW4oKS5mb3JFYWNoKChlPT57ZS5yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl9KSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfV9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcyhlKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcihlKSx0aGlzLl9yZWNyZWF0ZVByaWNlU3RlcCgpfV90aXRsZShlLHQscyxpLHIsbil7Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHMoYSl9X2dldFNwbGl0VGl0bGUoZSl7dGhyb3cgbmV3IEVycm9yKCJnZXRTcGxpdFRpdGxlIGlzIG9ubHkgZGVmaW5lZCBmb3Igc3ltYm9sIHNvdXJjZXMgKGNvbXBhcmUvb3ZlcmxheSBzdHVkaWVzKSIpfV9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UoZSx0KXtpZihlJiZlLm1pblZhbHVlKCk9PT1lLm1heFZhbHVlKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNfcHJpY2Vfc3R1ZHkpe2NvbnN0IHQ9LjAwNSplLm1pblZhbHVlKCk7ZT1uZXcgai5QcmljZVJhbmdlKGUubWluVmFsdWUoKS10LGUubWF4VmFsdWUoKSt0KX1jb25zdCBzPXQudGFyZ2V0UHJpY2VTY2FsZTtyZXR1cm4gcyYmcy5pc0xvZygpJiZlP25ldyBqLlByaWNlUmFuZ2Uocy5wcmljZVRvTG9naWNhbChlLm1pblZhbHVlKCkpLHMucHJpY2VUb0xvZ2ljYWwoZS5tYXhWYWx1ZSgpKSk6ZX1fdGl0bGVJblBhcnRzKGUsdD0hMCxpLHIsbixhKXtjb25zdCBvPVtWLnQodGhpcy5uYW1lKHQpLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSldO2xldCBsPVtdO2lmKCFyfHwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpKXtjb25zdCBzPXRoaXMuX2dldE1URlJlc29sdXRpb25JbnB1dFRpdGxlKCk7bnVsbCE9PXMmJnMubGVuZ3RoPjAmJm8ucHVzaChzKTtsPSh0aGlzLmlucHV0c0luUGFydHMoZSx0LGksbixhKT8/W10pLm1hcCgoZT0+ZS52YWx1ZSkpfXJldHVybiBlPT09Vy5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSYmdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLnZhbHVlKCkmJm8ucHVzaCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkucGluZSkudmVyc2lvbiksW28uam9pbigiIMK3ICIpLGxdfV9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSl7cmV0dXJuIHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApfV9nZXRTeW1ib2xGb3JSZXNvbHZlKGUpe3JldHVybiB0aGlzLmdldFN5bWJvbFN0cmluZyh0aGlzLl9nZXRTeW1ib2xGb3JBcGkoZSkpfV9nZXRTeW1ib2xGb3JBcGkoZSl7cmV0dXJuIGV9X2dldFN5bWJvbE9iamVjdChlLHQpe2NvbnN0IHM9e3N5bWJvbDplfSxpPXRoaXMuY3VycmVuY3koKTtyZXR1cm4gbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmbnVsbCE9PXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKSYmdGhpcy5fZ2V0U3ltYm9sRm9yQXBpKHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eS52YWx1ZSgpKT09PWUmJihzWyJjdXJyZW5jeS1pZCJdPWkpLHMuc2Vzc2lvbj10aGlzLnNlc3Npb25JZCgpLHN9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3tjb25zdCBlPSgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuYWxlcnRzV2F0Y2hlcigpKTtlLnN5bmNTb3VyY2VBbGVydExhYmVscyh0aGlzKTtjb25zdCB0PXRoaXMuZ2V0QWxsQ2hpbGRyZW4oKTtmb3IoY29uc3QgcyBvZiB0KWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXRoaXMuX29uQ3VycmVuY3lNYXlDaGFuZ2UoKX1fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpe31fb25TeW1ib2xFcnJvcigpe31fc2V0U3RhdHVzKGUsdCl7Y29uc3Qgcz10aGlzLmlzRmFpbGVkKCk7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpLGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/dGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlPSEwOmUudHlwZSE9PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS50eXBlIT09WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZHx8KHRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZT0hMSksdHx8KHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwKdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3N0YXR1c0NoYW5nZWQuZmlyZSh0aGlzLnN0YXR1cygpKSkscyE9PXRoaXMuaXNGYWlsZWQoKSYmdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfV9vblByb3BlcnRpZXNDaGFuZ2VkKCl7dGhpcy5fcmVzdGFydGluZ3x8KHRoaXMuX2lucHV0cz90aGlzLl90cnlDaGFuZ2VJbnB1dHMoKTp0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnJlc3RhcnQoKSk7Y29uc3QgZT10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2UuaXNUVlNjcmlwdCYmZS5UVlNjcmlwdE1ldGFJbmZvRXhwcnMmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJih0aGlzLl9yZXN0YXJ0aW5nP3RoaXMuX2RlZmVycmVkUGluZVBhdGNoUHJvcHM9ITA6dGhpcy5fcGluZVBhdGNoUHJvcHMoKSksdGhpcy5fcmVjcmVhdGVQYW5lVmlld3MoKSwoMCxscy5lbWl0KSgic3R1ZHlfcHJvcGVydGllc19jaGFuZ2VkIix0aGlzLl9pZC52YWx1ZSgpKX1fbGFzdE5vbkVtcHR5UGxvdFJvdyhlKXtpZighKDAsdS5pc0ludGVnZXIpKGUpKXJldHVybiBTcy5sb2dEZWJ1ZygiX2xhc3ROb25FbXB0eVBsb3RSb3c6IGluY29ycmVjdCBwbG90SW5kZXgiKSxudWxsO2xldCB0PXRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZVtlXT8/bnVsbDtpZihudWxsIT09dClyZXR1cm4gdDtyZXR1cm4gdD10aGlzLmRhdGEoKS5maW5kTGFzdCgoKHQscyk9PnZvaWQgMCE9PXNbZV0pLDFlMyksbnVsbD09PXQ/bnVsbDoodGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlW2VdPXQsdCl9X29uQ3VycmVuY3lDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxzcy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX2N1cnJlbmN5Q2hhbmdlZC5maXJlKCl9X2FwaUlucHV0cygpe3JldHVybiB0aGlzLmlucHV0cyh7a2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiEwfSl9YXN5bmMgX3RyeUNoYW5nZUlucHV0cygpe2NvbnN0IGU9dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpLHQ9dGhpcy5fYWxsSW5wdXRzQXJlVmFsaWQoKSxzPSgwLGguZW5zdXJlRGVmaW5lZCkoKDAsdS5jbG9uZSkodGhpcy5faW5wdXRzKSksaT10aGlzLl9hcGlJbnB1dHMoKSxyPUpTT04uc3RyaW5naWZ5KGkpLG49ciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2lucHV0cyk7aWYoZSYmdCl0cnl7aWYoYXdhaXQgdGhpcy5fYWxsU3ltYm9sc0FyZVJlc29sdmVkKCksciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2FwaUlucHV0cygpKSlyZXR1cm4gdGhpcy5fdHJ5Q2hhbmdlSW5wdXRzKCk7aWYodGhpcy5faXNTdG9wcGVkKCkpcmV0dXJuIHZvaWQobiYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCkpO24mJihhd2FpdCB0aGlzLl9jaGFuZ2VJbnB1dHNJbXBsKGksKDAsaC5lbnN1cmVEZWZpbmVkKSgoMCx1LmNsb25lKSh0aGlzLl9pbnB1dHMpKSksKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkuYWxlcnRzV2F0Y2hlcigpKS5zeW5jU291cmNlQWxlcnRMYWJlbHModGhpcykpfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IF90cnlDaGFuZ2VJbnB1dHM6IGNhbm5vdCBtb2RpZnkgc3R1ZHksICR7ZX1gKX1lbHNlIGlmKGUmJiF0JiZ0aGlzLnN0b3AoITApLCFlJiZ0JiZ0aGlzLnN0YXJ0KCEwKSxuKXtjb25zdCBlPXRoaXMuX2NhbGNTb3VyY2VzKCksdD1rcyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLGkscyk7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITApLHRoaXMuX2lucHV0cz1pfXRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKX1fb25DdXJyZW5jeU1heUNoYW5nZSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHkpe2NvbnN0IGU9dGhpcy5jdXJyZW5jeSgpO3RoaXMuX3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpLGUhPT10aGlzLmN1cnJlbmN5KCkmJnRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKCl9fV9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksaT1uZXcgU2V0LHI9dC5maWxsZWRBcmVhc3x8W107Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aDtlKyspe2NvbnN0IHQ9cltlXTtzLmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbdC5pZF0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYoaS5hZGQodC5vYmpBSWQpLGkuYWRkKHQub2JqQklkKSl9cmV0dXJuIHQucGxvdHMuZmlsdGVyKChlPT4hKDAsWi5pc1Bsb3RXaXRoVGVjaG5pY2FsVmFsdWVzKShlKSkpLmZpbHRlcigocz0+dC5pc1Bsb3RGb3JjZU92ZXJsYXkocy5pZCk/ZS50YXJnZXRQcmljZVNjYWxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTplLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSYmIWUuZm9yY2VPdmVybGF5T25seSkpLmZpbHRlcigoZT0+aS5oYXMoZS5pZCl8fHRoaXMuaXNQbG90VmlzaWJsZUF0KGUuaWQsWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKSkucmVkdWNlKCgodCxzKT0+dGhpcy5fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscykpLHtmaWVsZHM6W10sdXNlTWFpblNlcmllc1JhbmdlOiExLGJhc2VWYWx1ZU1pbk1heDpudWxsfSl9X2ZpcnN0U291cmNlT3JTZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpWzBdPz90aGlzLl9zZXJpZXN9X3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKXtyZXR1cm4hMX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKGUpe2NvbnN0IHQ9dm9pZCAwPT09ZT90aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKTplCjtyZXR1cm4gTHModGhpcy5fbWV0YUluZm8udmFsdWUoKS5mb3JtYXQsdGhpcy5fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpLHQsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpfV90cnlDcmVhdGVEZWZhdWx0Rm9ybWF0dGVyKGUpe3JldHVybiB0aGlzLl90cnlDcmVhdGVGb3JtYXR0ZXIoZSl9X21lcmdlRGF0YShlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLm1lcmdlKGUpfV9za2lwcGVkVGl0bGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5faGlkZU1hdGNoZXMuZmlsdGVyKChlPT5lLnBsb3RJZHMuZXZlcnkoKGU9PnRoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoZSk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSkpKSkubWFwKChlPT5lLmlkKSl9X2dldFBsb3REaXNwbGF5VmFsdWUoZSl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpPy5jaGlsZHMoKT8uc3R5bGVzPy5jaGlsZHMoKT8uW2VdPy5jaGlsZHMoKT8uZGlzcGxheT8udmFsdWUoKX1fb25TdHVkeUVycm9yKGUpe3BlcmZvcm1hbmNlLmNsZWFyTWFya3MoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKSx0aGlzLl9oYW5kbGVTdHVkeUVycm9yKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblN0dWR5Q29tcGxldGVkKGUpe2lmKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKS5sZW5ndGgpe3RyeXtjb25zdCBlPXBlcmZvcm1hbmNlLm1lYXN1cmUoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCxgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApO3RoaXMuX2NhbGN1bGF0aW9uVGltZS5zZXRWYWx1ZShlLmR1cmF0aW9uKX1jYXRjaChlKXtTcy5sb2dFcnJvcigiRXJyb3IgZHVyaW5nIG1lYXN1cmluZyBzdHVkeSBjYWxjdWxhdGlvbiB0aW1lIil9cGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApLHBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCl9dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSksdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIodGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpKyJfbG9hZGVkIiksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpO3RoaXMuX21vZGVsLnJlY2FsY3VsYXRlUGFuZSh0LCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX3VwZGF0ZVNvdXJjZXMoKTtjb25zdCBzPWVzLkludmFsaWRhdGlvbk1hc2suZnVsbCgpO251bGwhPT10aGlzLl9tb2RlbC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKSYmcy5sb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplKCksdGhpcy5fbW9kZWwuaW52YWxpZGF0ZShzKX1fY2xlYXJEYXRhKCl7dGhpcy5fZGF0YS5jbGVhcigpLHRoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbW92ZURhdGEoZSl7dGhpcy5kYXRhKCkubW92ZShlKX1fZGVmYXVsdEVycm9yVGl0bGUoKXtyZXR1cm4iUnVudGltZSBlcnJvciJ9X2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5zdGF0ZSgpOygwLF9zLmFwcGx5RGVmYXVsdENvbG9yc1RvUHJvcHNTdGF0ZSkoZSx0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLm1lcmdlKGUpfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLF8uY29tYmluZSkoKChlLHQscyk9Pntjb25zdCBpPXRoaXMuY3VycmVuY3koKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCk7aWYoIWV8fG51bGw9PT1zKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUocyk7Y29uc3Qgcj1zLm9yaWdpbmFsQ3VycmVuY3k7dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7aXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6aSE9PXIsb3JpZ2luYWxDdXJyZW5jeTpyLGN1cnJlbnRDdXJyZW5jeTppLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTohMCxiYXNlQ3VycmVuY3k6bnVsbCxjdXJyZW5jeU9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29tcG91bmRTdGF0dXMud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5TWV0YWRhdGEoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCksKDAsQWUuY3JlYXRlV1ZGcm9tUHJvcGVydHkpKHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT57Y29uc3QgaT10aGlzLnVuaXQoKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKTtpZighZXx8bnVsbD09PXMpcmV0dXJuIHZvaWQgdGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHMpO2NvbnN0IHI9cy5vcmlnaW5hbFVuaXQ7dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHsKaXNDb252ZXJ0ZWRUb090aGVyVW5pdDppIT09cixjdXJyZW50VW5pdDppLG9yaWdpbmFsVW5pdDpyLGNvbnZlcnRpYmxlR3JvdXBzOnMuY29udmVydGlibGVHcm91cHMsdW5pdE9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21wb3VuZFN0YXR1cy53ZWFrUmVmZXJlbmNlKCksKDAsXy5hY2N1bXVsYXRlKSgoZT0+ZVswXSksKDAsXy5jb21iaW5lKSgoKCk9Plt0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkudW5pdE1ldGFkYXRhKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLEFlLmNyZWF0ZVdWRnJvbVByb3BlcnR5KSh0aGlzLl91bml0SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2NyZWF0ZVN0dWR5RXJyb3IoZSl7bGV0IHQ7cmV0dXJuIHQ9KDAsdS5pc1N0cmluZykoZSk/e2Vycm9yOnRoaXMuX2dldFN0dWR5RXJyb3JUZXh0KGUpLHRpdGxlOmUuaW5jbHVkZXMoInN0dWR5X25vdF9hdXRoIik/IkFjY2VzcyBlcnJvciI6dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX06ey4uLmUsdGl0bGU6ZS50aXRsZT8/dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX0sKDAsWnQuY3JlYXRlU3R1ZHlFcnJvcikodCx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8uZXhjaGFuZ2UpfV9pbmNyZW1lbnRUdXJuYXJvdW5kKCl7dGhpcy5fdHVybmFyb3VuZD0ic3QiKyArK3RoaXMuX3R1cm5hcm91bmRDb3VudGVyfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kfHxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNlcmllc1NvdXJjZSgpLnR1cm5hcm91bmQoKXx8ZT09PXRoaXMudHVybmFyb3VuZCghMCl9X3VwZGF0ZU1heE9mZnNldFZhbHVlKCl7bGV0IGU9LTEvMDtmb3IoY29uc3QgdCBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnBsb3RzKWU9TWF0aC5tYXgodGhpcy5vZmZzZXQodC5pZCksZSk7dGhpcy5fbWF4T2Zmc2V0LnNldFZhbHVlKGUpfV9yaWdodE9mZnNldFRvVW5peFRpbWUoZSl7aWYodGhpcy5fc2VyaWVzLmJhcnMoKS5zaXplKCk+PWUpe2NvbnN0IHQ9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuYmFycygpLmxhc3RJbmRleCgpKS1lO3JldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmJhcnMoKS52YWx1ZUF0KHQpKVswXX1yZXR1cm4gbnVsbH1fY29uY2F0UHJpY2VBeGlzVmlld3MoKXt0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlLC4uLnRoaXMuX2dyYXBoaWNzUHJpY2VBeGlzVmlld3NdfV9vblN0dWR5TG9hZGluZyhlKXt0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpfV9oYW5kbGVTdHVkeUVycm9yKGUpe3RoaXMuY2xlYXJEYXRhKCksdGhpcy5fc2V0U3RhdHVzKGUpO3tjb25zdCB0PSgwLFp0LmNvbnZlcnRTdHVkeVN0YXR1c1RvU3RyaW5nKShlKSxzPXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCksaT10LmluZGV4T2YoIkNvbW1hbmQgaW5mbyIpO3MucmVhc29uPWk+PTA/dC5zbGljZSgwLGkpLnRyaW0oKTp0O2lmKCEvc3R1ZHkgaW4gZXJyb3Igc3RhdGV8dGhlIGRhdGEgdmVuZG9yIGRvZXNuXCd0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLnxlcnJvciBpbiBzZXJpZXN8dW5zdXBwb3J0ZWQgcmVzb2x1dGlvbi9naS50ZXN0KHMucmVhc29uPy50b0xvd2VyQ2FzZSgpPz8iIikpe2NvbnN0IGU9dGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpO3RoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKGUrIl9lcnJvciIscyl9fXRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9X3VwZGF0ZVNvdXJjZXMoKXt0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpfV91bnN1YnNjcmliZVRvU2Vzc2lvbklkKCl7dGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQmJih0aGlzLnNlc3Npb25JZENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkQ2hhbmdlZCksdGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQ9ITEpfV9vblNlc3Npb25JZENoYW5nZWQoKXt0aGlzLnJlc3RhcnQoITApfV9yZWNyZWF0ZVByaWNlU3RlcCgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlQnlQcm9wZXJ0aWVzKCk/P3RoaXMuX3ByaWNlU2NhbGVCeU1ldGFJbmZvKCk7bnVsbCE9PXQmJihlPTEvdCksdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQbG90c0Zvcm1hdHRlcnMoZSl7dGhpcy5fcGxvdEZvcm1hdHRlcnMuY2xlYXIoKTtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscz10LmZvcm1hdCxpPXRoaXMuX3ByaWNlU2NhbGVCeVByb3BlcnRpZXMoKSxyPXZvaWQgMD09PWU/dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk6ZTtmb3IoY29uc3RbZSxuXW9mIE9iamVjdC5lbnRyaWVzKHQub2hsY1Bsb3RzPz97fSkpaWYobj8uZm9ybWF0KXtjb25zdCB0PUxzKEVzKHsuLi5zLC4uLm4/LmZvcm1hdH0pLGkscix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmVjaXNpb24udmFsdWUoKSk7dCYmdGhpcy5fcGxvdEZvcm1hdHRlcnMuc2V0KGUsdCl9CmZvcihjb25zdFtlLG5db2YgT2JqZWN0LmVudHJpZXModC5zdHlsZXM/P3t9KSlpZihuPy5mb3JtYXQpe2NvbnN0IHQ9THMoRXMoey4uLnMsLi4ubj8uZm9ybWF0fSksaSxyLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZSx0KX1mb3IoY29uc3QgZSBvZiB0LnBsb3RzKWlmKCgwLFouaXNPaGxjUGxvdCkoZSkpe2NvbnN0IHQ9dGhpcy5fcGxvdEZvcm1hdHRlcnMuZ2V0KGUudGFyZ2V0KTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZS5pZCx0KX19X2pvaW5UaXRsZXNQYXJ0cyhlKXtjb25zdCB0PWVbMV0/ZVsxXS5qb2luKCIsICIpOiIiO3JldHVybiBlWzBdKyh0Lmxlbmd0aD4wPyIgKCIrdCsiKSI6IiIpfV9nZXRNVEZSZXNvbHV0aW9uSW5wdXRUaXRsZSgpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpO2ZvcihsZXQgdD0wO3Q8ZS5pbnB1dHMubGVuZ3RoO3QrKyl7Y29uc3Qgcz1lLmlucHV0c1t0XTtpZigicmVzb2x1dGlvbiI9PT1zLnR5cGUmJnMuaXNNVEZSZXNvbHV0aW9uKXJldHVybigwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQocy5pZCkpLnZhbHVlKCl9cmV0dXJuIG51bGx9X29uRGF0YVVwZGF0ZShlLHQscyl7dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSk7Y29uc3QgaT0ocj10LmQsKDAseC51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCkocikpO3ZhciByO3JldHVybiB0aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZT10aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZS50aGVuKCgoKT0+aSksKCgpPT5pKSkudGhlbih0aGlzLl9vbkRhdGFVbnBhY2tlZC5iaW5kKHRoaXMsZSx0LmluZGV4ZXMscykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKXtjb25zdCBlPXRoaXMuX2lucHV0U3ltYm9scygpLHQ9W107bGV0IHM9ITE7Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT10aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGkpO2lmKCIiIT09ZSlpZih0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV0pcz0hMDtlbHNle2NvbnN0IHM9dGhpcy5fcmVzb2x2ZVN5bWJvbChlLGkpO3QucHVzaChzKX19aWYoMD09PXQubGVuZ3RoKXtjb25zdCBlPVByb21pc2UucmVzb2x2ZSgpO3JldHVybiBzP2UudGhlbigoKCk9PnRoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCkpKTplfXJldHVybiBQcm9taXNlLmFsbCh0KS5jYXRjaCgoZT0+KHRoaXMuX2lucHV0U3ltYm9scygpLmluY2x1ZGVzKGUpJiZ0aGlzLnN0b3AoITApLHRoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuRXJyb3IsZXJyb3JEZXNjcmlwdGlvbjp7ZXJyb3I6YnN9fSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLFByb21pc2UucmVqZWN0KCJJbnZhbGlkIHN5bWJvbCwgIitlKSkpKS50aGVuKCgoKT0+e3RoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCksdGhpcy5fcmVjaGVja0xpbmVUb29sc0FjdHVhbGl0eSgpfSkpfV9yZXNvbHZlU3ltYm9sKGUsdCl7aWYoIiI9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTtsZXQgcz10aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zfHwocz1uZXcgUHJvbWlzZSgoKHMsaSk9Pnt0aGlzLl9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCksdGhpcy5fY2hhcnRBcGkucmVzb2x2ZVN5bWJvbCgoMCxzZS5tYWtlTmV4dFN5bWJvbElkKSgpLGUsKHI9PntpZih0aGlzLl9pc0Rlc3Ryb3llZClpKCJTdHVkeSBpcyBkZXN0cm95ZWQiKTtlbHNlIHN3aXRjaCh0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZGVsZXRlKGUpLHIubWV0aG9kKXtjYXNlInN5bWJvbF9yZXNvbHZlZCI6e3RoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3QgaT1yLnBhcmFtc1sxXTt0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV09aSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0W3RdPWksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCksdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlLHQsaSkscygpO2JyZWFrfWNhc2Uic3ltYm9sX2Vycm9yIjppZih0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnIucGFyYW1zWzFdfX0pLHRoaXMuX29uU3ltYm9sRXJyb3IoKSxyLnBhcmFtc1sxXT09PWllLnBlcm1pc3Npb25EZW5pZWQmJnIucGFyYW1zWzJdKXtpZihyLnBhcmFtc1syXSE9PWllLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2wpcmV0dXJuIHZvaWQgdGhpcy5fcmVzb2x2ZVN5bWJvbChyLnBhcmFtc1syXSx0KS50aGVuKHMpO2lmKHIucGFyYW1zWzNdKXJldHVybiB2b2lkIHRoaXMuX3Jlc29sdmVTeW1ib2woci5wYXJhbXNbM10sdCkudGhlbihzKX10aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic3ltYm9sX2Vycm9yIixPYmplY3QuYXNzaWduKHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkse3N5bWJvbDplLHJlYXNvbjpyLnBhcmFtc1sxXX0pKSxpKHQpfX0pKX0pKSx0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuc2V0KGUscykpLHN9X3JlY2hlY2tMaW5lVG9vbHNBY3R1YWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7bnVsbCE9PWUmJmUuc291cmNlc0J5R3JvdXAoKS5saW5lU291cmNlc0ZvckFsbFN5bWJvbHMoKS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZSgpPT09dGhpcyYmZS5jYWxjSXNBY3R1YWxTeW1ib2woKX0pKX1fc2VuZFRlbGVtZXRyeUNvdW50ZXIoZSx0KXt2b2lkIDA9PT10JiYodD10aGlzLl9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpKTtjb25zdCBzPXtjb3VudDoxLGFkZGl0aW9uYWw6dH07dmUudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fbWV0YUluZm8udmFsdWUoKQo7cmV0dXJuIHQucGluZSYmdC5waW5lLnZlcnNpb24mJnQuc2hvcnRJZC5pbmRleE9mKCJVU0VSIik+PTAmJihlPSJfdiIrdC5waW5lLnZlcnNpb24pLHtzeW1ib2w6dGhpcy5zZXJpZXMoKS5hY3R1YWxTeW1ib2woKSxyZXNvbHV0aW9uOnRoaXMuc2VyaWVzKCkuaW50ZXJ2YWwoKSxzdHVkeTp0LnNob3J0SWQrZX19X29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCgpe251bGw9PT10aGlzLl9mb3JtYXR0ZXImJihudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmdGhpcy5fcHJpY2VTY2FsZS51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKSl9X29uU291cmNlUHJpY2VTdGVwQ2hhbmdlZCgpe251bGw9PT10aGlzLl9wcmljZVN0ZXAmJnRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpfV9iYW5kc0ZpcnN0VmFsdWUoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCF0LmJhbmRzKXJldHVybiBudWxsO2ZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKXtjb25zdCB0PSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5iYW5kcykuY2hpbGRzKClbc107aWYodC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHM9dC5jaGlsZHMoKS52YWx1ZS52YWx1ZSgpO2lmKGUmJjA9PT1zKWNvbnRpbnVlO2lmKG51bGwhPT1zKXJldHVybiBzfX1yZXR1cm4gbnVsbH1fcHJlcGFyZUlucHV0cyhlKXsoMCxoLmFzc2VydCkoISFlLCJvcHRpb25zIG5vdCBzZXQiKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKSxzPXt9LGk9ZS5hbGxvd2VkSW5wdXRUeXBlcz9uZXcgU2V0KGUuYWxsb3dlZElucHV0VHlwZXMpOm51bGwscj0hKCFlLmFzT2JqZWN0fHwhZS51c2VOYW1lQW5kR3JvdXBBc0tleSk7Zm9yKGxldCBuPTA7bjx0LmlucHV0cy5sZW5ndGg7bisrKXtjb25zdCBhPXQuaW5wdXRzW25dO2lmKG51bGwhPT1pJiYhaS5oYXMoYS50eXBlKSljb250aW51ZTtpZihhLmlzRmFrZSYmZS5za2lwRmFrZUlucHV0cyljb250aW51ZTtpZihhLmlzTVRGUmVzb2x1dGlvbiYmZS5ub1Jlc29sdXRpb24pY29udGludWU7aWYodm9pZCAwIT09ZS5kaXNwbGF5TWFzayYmISgoMCxoLmVuc3VyZURlZmluZWQpKGEuZGlzcGxheSkmZS5kaXNwbGF5TWFzaykpY29udGludWU7aWYoZS5za2lwSGlkZGVuSW5wdXRzJiYoIWUuZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGV8fCFhLm1pZ3JhdGUpKXtsZXQgdD0hMTtzd2l0Y2goYS50eXBlKXtjYXNlImJvb2wiOnQ9ZS5za2lwQm9vbGVhbklucHV0czticmVhaztjYXNlImNvbG9yIjp0PWUuc2tpcENvbG9ySW5wdXRzO2JyZWFrO2Nhc2UidGltZSI6dD1lLnNraXBUaW1lSW5wdXRzO2JyZWFrO2Nhc2UidGV4dF9hcmVhIjp0PWUuc2tpcFRleHRhcmVhSW5wdXRzO2JyZWFrO2RlZmF1bHQ6dD1Cb29sZWFuKGEuaXNIaWRkZW4pfWlmKHQpY29udGludWV9aWYodm9pZCAwIT09YS5ncm91cElkJiYtMSE9PWUuc2tpcHBlZEdyb3Vwcy5pbmRleE9mKGEuZ3JvdXBJZCkpY29udGludWU7aWYoLTEhPT1lLnNraXBwZWRJbnB1dHMuaW5kZXhPZihhLmlkKSljb250aW51ZTtjb25zdCBvPXRoaXMuX3ByZXBhcmVJbnB1dChhLGUpO2lmKCJzeW1ib2wiPT09YS50eXBlJiZlLnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYiIj09PW8pY29udGludWU7bGV0IGw7ciYmKGw9KDAsUi5nZXRTdHVkeUlucHV0TmFtZSkoYSksdm9pZCAwIT09bCYmbCBpbiBzJiYobD12b2lkIDApKSxzW2x8fGEuaWRdPSgwLHUuY2xvbmUpKG8pfXJldHVybiBzfV9wcmVwYXJlSW5wdXRWYWx1ZShlLHQpe2NvbnN0IHM9ZS5pZCxpPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYodC52YWx1ZXNBc0lzRnJvbVByb3BlcnRpZXMpcmV0dXJuIGkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7Y29uc3Qgcj10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCJzeW1ib2wiPT09ZS50eXBlKXtjb25zdCByPXQmJnQuc3ltYm9sc0ZvckRpc3BsYXksbj1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO2xldCBhPXI/bjp0aGlzLl9nZXRTeW1ib2xGb3JBcGkobiksbz10aGlzLl9yZXNvbHZlZFN5bWJvbHM/Llt0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGEpXT8/bnVsbDtpZigiIj09PWEmJmUub3B0aW9uYWwpe2lmKHQmJnQua2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5KXJldHVybiBhO2E9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbCgpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1pZihyKWlmKG8paWYoeHMpe3N3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjphPW8uZGVzY3JpcHRpb247YnJlYWs7Y2FzZSJ0aWNrZXItYW5kLWRlc2NyaXB0aW9uIjphPWAke28ubmFtZX0sICR7by5kZXNjcmlwdGlvbn1gO2JyZWFrO2Nhc2UidGlja2VyIjphPW8ubmFtZX19ZWxzZSBhPSgwLHRzLnN5bWJvbFRpdGxlKShvLHQubm9FeGNoYW5nZXMpO2Vsc2UgTXMmJihhPSIiKTtlbHNlIG8mJihhPW8udGlja2VyfHxvLmZ1bGxfbmFtZSksIXRoaXMuaXNQaW5lKCkmJnQmJnQuc3ltYm9sc0ZvckNoYXJ0QXBpJiYoYT10aGlzLmdldFN5bWJvbFN0cmluZyhhKSk7cmV0dXJuIGF9aWYoImJhcl90aW1lIj09PWUudHlwZSl7bGV0IGU9aS5pbnB1dHMuY2hpbGRzKClbc10udmFsdWUoKTtpZihlPDApe2NvbnN0IHQ9dGhpcy5fcmlnaHRPZmZzZXRUb1VuaXhUaW1lKC1lKTtlPXQmJnQ+PTA/dDplfXJldHVybiBlfWlmKHIuaXNUVlNjcmlwdHx8ci5waW5lKXtpZigidGV4dCI9PT1zKXJldHVybiByLmRlZmF1bHRzLmlucHV0cz8udGV4dD8/IiI7aWYoInBpbmVJZCI9PT1zKXJldHVybiByLnNjcmlwdElkUGFydDtpZigicGluZVZlcnNpb24iPT09cylyZXR1cm4gci5waW5lP3IucGluZS52ZXJzaW9uOiItMSI7aWYoImNvbG9yIj09PWUudHlwZSYmci5pc1JHQil7Y29uc3QgZT1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO3JldHVybigwLEwuY29sb3JUb0ludGVnZXIpKGUpfWlmKCJwcmljZSI9PT1lLnR5cGUpewpjb25zdCBlPWkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7cmV0dXJuIHQucHJpY2VJbnB1dHNGb3JEaXNwbGF5P3RoaXMuZm9ybWF0dGVyKCkuZm9ybWF0KGUpOmV9fXJldHVybiBpLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpfV9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKXtyZXR1cm4gdi5TdHVkeU1ldGFJbmZvLmdldFN0dWR5SWRXaXRoTGF0ZXN0VmVyc2lvbih0aGlzLm1ldGFJbmZvKCkpfV9kZWJ1Z0lkKCl7Y29uc3QgZT1bXTtlLnB1c2godGhpcy5faWQudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO3JldHVybiBlLnB1c2godC5mdWxsSWQpLGUucHVzaCh0LmRlc2NyaXB0aW9uKSxKU09OLnN0cmluZ2lmeSh7c3R1ZHk6ZX0pfV9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl7aWYobnVsbD09PXRoaXMuX2FsZXJ0TWV0YUluZm8oKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy5zdGF0ZUZvckFsZXJ0KCkucGxvdHMubGVuZ3RoPjB9X2hhc0FsZXJ0Q29uZGl0aW9ucygpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiExO2lmKGUucGxvdHMuc29tZShaLmlzQWxlcnRDb25kaXRpb25QbG90KSlyZXR1cm4hMDtjb25zdCB0PXRoaXMuc3RhdGVGb3JBbGVydCgpO3JldHVybiBCb29sZWFuKHQuYWxlcnRzJiZ0LmFsZXJ0cy5jb25kaXRpb25zKX1faGFzQWxlcnRGdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO3JldHVybiBCb29sZWFuKG51bGwhPT1lJiZlLmhhc0FsZXJ0RnVuY3Rpb24pfWFzeW5jIF91cGRhdGVQYXJlbnRTb3VyY2VzKGUsdCxzKXtpZih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+ZS51bnNldENoaWxkKHRoaXMpKSkscyYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoKGU9PmUuaXNTdGFydGVkKCk/UHJvbWlzZS5yZXNvbHZlKCk6ZS5zdGFydCghMSwhMCkpKSksZS5mb3JFYWNoKChlPT5lLnNldENoaWxkKHRoaXMpKSksdGhpcy5fc2V0U291cmNlcyhlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLDAhPT10JiZ0aGlzLl9zb3VyY2VzLnZhbHVlKCkubGVuZ3RoPD0xKXtjb25zdCBlPXRoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKSx0PXRoaXMuX3ByaWNlU2NhbGUscz0oMCxoLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtpZih0IT09cyl7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0PT09aSYmaS5tb3ZlKHRoaXMscywhMCl9fX1fY2FsY1NvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLnN0YXRlKCk7cmV0dXJuIHYuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJZHNCeUlucHV0cyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyxlKS5tYXAoKGU9PntpZigiaGlnaCI9PT1lfHwib3BlbiI9PT1lfHwibG93Ij09PWV8fCJjbG9zZSI9PT1lfHwiaGwyIj09PWV8fCJvaGwzIj09PWV8fCJvaGxjNCI9PT1lKXJldHVybiBudWxsO3JldHVybiB0aGlzLl9tb2RlbC5hbGxTdHVkaWVzKCkuZmluZCgodD0+dC5jYW5IYXZlQ2hpbGRyZW4oKSYmdC5pZCgpPT09ZSkpPz9udWxsfSkpLmZpbHRlcih1Lm5vdE51bGwpfV9pc1N0b3BwZWQoKXtyZXR1cm4hdGhpcy5pc1N0YXJ0ZWQoKX1fb25EYXRhVW5wYWNrZWQoZSx0LHMsaSl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuOyJub2NoYW5nZSIhPT10JiZ0aGlzLl9wcm9jZXNzUGxvdE9mZnNldHMoaSksdGhpcy5fdHJhbnNmb3JtRGF0YShlKTtjb25zdCByPXRoaXMuX21lcmdlRGF0YShlKTtudWxsIT09aSYmKGkuaW5kZXhlc19yZXBsYWNlPygoMCxoLmFzc2VydCkoIm5vY2hhbmdlIiE9PXQpLHRoaXMuX2dyYXBoaWNzLnJlcGxhY2VJbmRleGVzVG8odCkpOigibm9jaGFuZ2UiIT09dCYmdGhpcy5fZ3JhcGhpY3MucmVwbGFjZUluZGV4ZXNUbyh0KSx2b2lkIDAhPT1pLmdyYXBoaWNzQ21kcyYmdGhpcy5fZ3JhcGhpY3MucHJvY2Vzc0NvbW1hbmRzKGkuZ3JhcGhpY3NDbWRzKSkpLHRoaXMuX29uRGF0YVVwZGF0ZWQoZSxpLHQsciYmci5pbmRleCksdGhpcy5wcmljZVJhbmdlUmVhZHkoKXx8dGhpcy5fZW5hYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy5fZGF0YVVwZGF0ZWQuZmlyZSgpfV9wcm9jZXNzUGxvdE9mZnNldHMoZSl7aWYoZSYmZS5pbmRleGVzX3JlcGxhY2UpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKTt0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlJiZlLm9mZnNldHN8fHt9KSwoMCxyLmRlZmF1bHQpKHQsdGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKSl8fHRoaXMudXBkYXRlQWxsVmlld3MoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxjbGVhckRhdGE6ITB9KSksdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKX1fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscyl7Y29uc3QgaT1zLmlkLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbaV0sbj0oMCxaLmlzU2hhcGVzUGxvdCkocyl8fCgwLFouaXNDaGFyc1Bsb3QpKHMpO3QudXNlTWFpblNlcmllc1JhbmdlPXQudXNlTWFpblNlcmllc1JhbmdlfHwoMCxaLmlzQXJyb3dzUGxvdCkocyk7bGV0IGE9KDAsWi5pc0xpbmVQbG90KShzKXx8KDAsWi5pc09obGNQbG90KShzKTtpZihuKXtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkocikuY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxzPVtiLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZSxiLk1hcmtMb2NhdGlvbi5Ub3AsYi5NYXJrTG9jYXRpb24uQm90dG9tXS5pbmRleE9mKGUpPDA7dC51c2VNYWluU2VyaWVzUmFuZ2U9dC51c2VNYWluU2VyaWVzUmFuZ2V8fG4mJnMsYT1hfHxlPT09Yi5NYXJrTG9jYXRpb24uQWJzb2x1dGV9aWYoIWEpcmV0dXJuIHQ7Y29uc3Qgbz17bmFtZTppLG9mZnNldDp0aGlzLm9mZnNldChpKX0sbD1yLmNoaWxkcygpLnBsb3R0eXBlLnZhbHVlKCkKO2lmKCgwLFouZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykobCkpe2NvbnN0IGk9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5pbmRleE9mKHMpLHI9dGhpcy5fZ2V0TWluTWF4Rm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhpLGwsZSk7dC5iYXNlVmFsdWVNaW5NYXg9KDAsZy5tZXJnZU1pbk1heCkodC5iYXNlVmFsdWVNaW5NYXgscil9aWYoIXRoaXMuX3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKSYmW1ouTGluZVN0dWR5UGxvdFN0eWxlLkhpc3RvZ3JhbSxaLkxpbmVTdHVkeVBsb3RTdHlsZS5Db2x1bW5zLFouTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFdLmluZGV4T2YobCk+PTApe2NvbnN0IHM9KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3R5bGVzPz97fSk/LltpXT8uaGlzdG9ncmFtQmFzZTtpZih2b2lkIDA9PT1zKXJldHVybiB0O2NvbnN0e3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWUsYT10aGlzLmRhdGEoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHIsbixbb10pO3JldHVybigwLHUuaXNOdW1iZXIpKHMpJiZudWxsIT09YSYmKHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LHttaW46cyxtYXg6c30pLHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LGEpKSx0fXJldHVybiB0LmZpZWxkcy5wdXNoKG8pLHR9X2dldEZpcnN0VmFsRm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhlLHQpe2NvbnN0IHM9dGhpcy5kYXRhKCkucGxvdHRhYmxlUmFuZ2UoKSxpPWUrMSxyPXMuc2VhcmNoKHQsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxpKTtpZihyKXtpZihzLnNlYXJjaCh0LFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGkpKXJldHVybiByLnZhbHVlW2ldfXJldHVybiBudWxsfV9nZXRNaW5NYXhGb3JQbG90VGhhdFN1cHBvcnRGaWxsQnJlYWtzKGUsdCxzKXtjb25zdCBpPXRoaXMuZGF0YSgpLnBsb3R0YWJsZVJhbmdlKCkscj1lKzEsbj10PT09Wi5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fHQ9PT1aLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kcyxhPWU9Pntjb25zdCB0PWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxyKTtpZih0KXtjb25zdCBzPWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQscik7aWYocyl7Y29uc3QgZT10LnZhbHVlW3JdO2lmKG4pcmV0dXJue21pbjplLG1heDplfTt7Y29uc3QgdD1zLnZhbHVlW3JdO3JldHVybnttaW46TWF0aC5taW4oZSx0KSxtYXg6TWF0aC5tYXgoZSx0KX19fX1yZXR1cm4gbnVsbH0sbz1NYXRoLmZsb29yKHMubG9naWNTdGFydFBvaW50KSxsPU1hdGguY2VpbChzLmxvZ2ljRW5kUG9pbnQpLGg9YShvKSx1PWEobCk7cmV0dXJuKDAsZy5tZXJnZU1pbk1heCkoaCx1KX1hc3luYyBfb25Tb3VyY2VJbnB1dENoYW5nZWQoKXtpZighdGhpcy5pc1N0YXJ0ZWQoKSl7Y29uc3QgZT10aGlzLl9jYWxjU291cmNlcygpO3tjb25zdCB0PTE9PT1lLmxlbmd0aCYmZVswXSE9PXRoaXMuX3NvdXJjZXMudmFsdWUoKVswXT8xOjA7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITEpfX19X2J1aWxkSW5wdXRzKGUpeygwLGguYXNzZXJ0KSghIWUsIm9wdGlvbnMgbm90IHNldCIpO2xldCB0PXt9O3RyeXt0PXRoaXMuX3ByZXBhcmVJbnB1dHMoZSl9Y2F0Y2goZSl7U3MubG9nV2FybigiRmFpbGVkIHRvIHByZXBhcmUgc3R1ZHkgaW5wdXRzOiAiK2UpfWlmKGUuYXNPYmplY3Qpe2NvbnN0IGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKHM9PntudWxsIT10W3NdJiYoZVtzXT10W3NdKX0pKSxlfXtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChzPT57bnVsbCE9dFtzXSYmZS5wdXNoKHRbc10pfSkpLGV9fV9wcmVwYXJlSW5wdXQoZSx0KXtjb25zdCBzPXRoaXMuX3ByZXBhcmVJbnB1dFZhbHVlKGUsdCk7cmV0dXJuIShlLmlzRmFrZXx8dC5mb3JjZVRyZWF0U291cmNlSW5wdXRzQXNGYWtlJiYic291cmNlIj09PWUudHlwZSl8fHQuZmFrZUlucHV0c0ZvckRpc3BsYXl8fHQub25seUF0b21WYWx1ZXM/czp0aGlzLl9jcmVhdGVFeHRlbmRlZElucHV0KHMsZS50eXBlKX1fY3JlYXRlRXh0ZW5kZWRJbnB1dChlLHQpe3JldHVybnt2OmUsZjohMCx0fX1fcGxvdHNGb3JBbGVydCgpe3JldHVybigwLFQucGxvdHNGb3JBbGVydCkodGhpcy5tZXRhSW5mbygpLHRoaXMub2Zmc2V0LmJpbmQodGhpcykpfV9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCl7dHJ5e2NvbnN0IGU9dGhpcy5mb3JtYXR0ZXIoKTtyZXR1cm4gTS5Gb3JtYXR0ZXJzU2VyaWFsaXplci5pc1NlcmlhbGl6YWJsZShlKT9NLkZvcm1hdHRlcnNTZXJpYWxpemVyLnNlcmlhbGl6ZShlKTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1fY2FsY0lzQWN0dWFsSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX2lzQWN0dWFsSW50ZXJ2YWw7dGhpcy5faXNBY3R1YWxJbnRlcnZhbD0oMCxYdC5pc0FjdHVhbEludGVydmFsKSh0aGlzLl9zZXJpZXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxlIT09dGhpcy5faXNBY3R1YWxJbnRlcnZhbCYmKHRoaXMuX29uSXNBY3R1YWxJbnRlcnZhbENoYW5nZS5maXJlKCksdGhpcy5fdmlzaWJsZUNoYW5nZWQoKSx0aGlzLnByb2Nlc3NIaWJlcm5hdGUoKSl9X3Zpc2libGVDaGFuZ2VkKCl7dGhpcy5fc2VyaWVzLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fZ2V0Tm9uUHJpY2VQYXJlbnQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZXMudmFsdWUoKTtmb3IoY29uc3QgdCBvZiBlKWlmKHQgaW5zdGFuY2VvZiBVcyl7Y29uc3QgZT10Lm1ldGFJbmZvKCk7cmV0dXJuIGUuaXNfcHJpY2Vfc3R1ZHkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyIhPT1lLmlkP3QuX2dldE5vblByaWNlUGFyZW50KCk6dH1yZXR1cm4gbnVsbH1fdXBkYXRlSW5wdXRWYWx1ZShlLHQpewpjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2lmKHNbdC5pZF0paWYoInByaWNlIj09PXQudHlwZSlzW3QuaWRdLnNldFZhbHVlKGUucHJpY2UpO2Vsc2UgaWYoInRpbWUiPT09dC50eXBlKXtjb25zdCBpPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9UaW1lUG9pbnQoZS5pbmRleCk7bnVsbCE9PWkmJnNbdC5pZF0uc2V0VmFsdWUoMWUzKmkpfX1faW5pdGlhbGl6ZVN0dWR5SW5wdXRzUGFuZVZpZXdzKCl7Y29uc3QgZT0oMCxEZS5lZGl0YWJsZVN0dWR5SW5wdXRzKSh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyk7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXtjb252ZXJ0UHJpY2VUb0Nvb3JkaW5hdGU6ZT0+e2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCk7aWYobnVsbCE9PXQmJiF0LmlzRW1wdHkoKSl7Y29uc3Qgcz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsIT09cylyZXR1cm4gdC5wcmljZVRvQ29vcmRpbmF0ZShlLHMpfXJldHVybiBudWxsfSxmb3JtYXRQcmljZTplPT57Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCYmIXQuaXNFbXB0eSgpKXtjb25zdCBzPXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGwhPT1zKXJldHVybiB0LmZvcm1hdFByaWNlKGUscyl9cmV0dXJuIiJ9LGdldElucHV0VmFsdWU6ZT0+dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoZSk/LnZhbHVlKCk/P251bGwsaXNTZWxlY3RlZDooKT0+dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzKSxpc0hvdmVyZWQ6KCk9PnRoaXM9PT10aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCl9O1Byb21pc2UuYWxsKFtzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsODUyMjQ2KSkscy5lKDczMjM0KS50aGVuKHMuYmluZChzLDcyNDAwNykpLHMuZSg3MzIzNCkudGhlbihzLmJpbmQocyw1MTgwMjApKSxzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsNzY4OTg2KSldKS50aGVuKChzPT57Y29uc3RbaSxyLG4sYV09czt0aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXc9bmV3IGkuU3R1ZHlJbnB1dHNBbmNob3JzUGFuZVZpZXcoZSx0aGlzLl9tb2RlbCx0KTtjb25zdCBvPWUuZmlsdGVyKChlPT4hQXJyYXkuaXNBcnJheShlKSkpO3RoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bmV3IHIuU3R1ZHlJbnB1dHNMaW5lc1BhbmVWaWV3KG8sdGhpcy5fbW9kZWwsdCk7bGV0IGw9ITE7ZS5mb3JFYWNoKChlPT57aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgcz0idGltZSI9PT1lWzBdLnR5cGU/ZVswXTplWzFdLGk9InByaWNlIj09PWVbMF0udHlwZT9lWzBdOmVbMV07dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhzLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpLHRoaXMuX2lucHV0c1ByaWNlQXhpc1BhbmVWaWV3cy5wdXNoKG5ldyBhLlN0dWR5SW5wdXRQcmljZUF4aXNQYW5lVmlldyhpLHQpKSxsPSEwfWVsc2UidGltZSI9PT1lLnR5cGU/dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhlLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpOih0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MucHVzaChuZXcgYS5TdHVkeUlucHV0UHJpY2VBeGlzUGFuZVZpZXcoZSx0KSksbD0hMCl9KSksbCYmdGhpcy5mb3JtYXR0ZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSl9KSl9X3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe31faW5pdGlhbGl6ZUN1cnJlbmN5U291cmNlKCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCksdD0ic3ltYm9sSW5wdXRTeW1ib2xTb3VyY2UiPT09ZS5zeW1ib2xTb3VyY2U/LnR5cGUmJmUuc3ltYm9sU291cmNlPy5pbnB1dElkLHM9ZS5pbnB1dHMuZmluZCgoZT0+ZS5pZD09PXQpKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJzeW1ib2wiPT09cz8udHlwZSYmZS5pc19wcmljZV9zdHVkeSl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVt0XTt2b2lkIDAhPT1lJiYoZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkN1cnJlbmN5TWF5Q2hhbmdlKSx0aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHk9ZSl9fV9yZWNyZWF0ZVBhbmVWaWV3cygpe3RoaXMuaGFzQmFyQ29sb3JlcigpJiZ0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fY3JlYXRlVmlld3MoKSx0aGlzLnJlY2FsY3VsYXRlKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX1hc3luYyBfcGluZVBhdGNoUHJvcHMoKXt0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzPSExO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7dGhpcy5fYXJlU3R1ZHlJbnB1dHNNb2RpZmllZChlKSYmKHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1uZXcgUHJvbWlzZSgoYXN5bmMgdD0+e3RyeXthd2FpdCB0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkfWNhdGNoKGUpe3JldHVybiB2b2lkIFNzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IHBpbmUgaW5wdXRzIHBhdGNoaW5nIGFmdGVyIHJlc2V0IHRvIGRlZmF1bHRzIGZhaWxlZCwgcmVhc29uOiAke2V9YCl9dGhpcy5fYWJvcnRQYXRjaFByb3BzQ29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHRoaXMuX29sZFN0dWR5SW5wdXRzPWU7Y29uc3Qgcz1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSksaT0oMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHMsZSx0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLnNpZ25hbCx0aGlzLl9wcmV2aW91c1BhdGNoTWFwKSxyPXRoaXMuX2FsbFN5bWJvbHNBcmVSZXNvbHZlZCgpCjthd2FpdCBQcm9taXNlLmFsbChbaSxyXSkudGhlbigoKCk9Pnt0aGlzLl9tZXRhSW5mby5zZXRWYWx1ZShzKSx0aGlzLl9pc0Rlc3Ryb3llZHx8KHQoKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMucmVjYWxjdWxhdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSl9KSkuY2F0Y2goKGU9Pnt0KCksU3MubG9nRXJyb3IoYEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gcGluZSBpbnB1dHMgcGF0Y2hpbmcgZmFpbGVkLCByZWFzb246ICR7ZX1gKX0pKX0pKSl9X2FyZVN0dWR5SW5wdXRzTW9kaWZpZWQoZSl7aWYoMD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aClyZXR1cm4hMTtpZih2b2lkIDA9PT10aGlzLl9vbGRTdHVkeUlucHV0cylyZXR1cm4hMDtjb25zdCB0PU9iamVjdC5rZXlzKHRoaXMuX29sZFN0dWR5SW5wdXRzKTsoMCxoLmFzc2VydCkodC5sZW5ndGg9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgsImtleXMgcXVhbnRpdHkgc2hvdWxkIGJlIGVxdWFsIik7Zm9yKGNvbnN0IHMgb2YgdClpZigoMCxoLmFzc2VydCkoZS5oYXNPd25Qcm9wZXJ0eShzKSxga2V5ICcke3N9JyBzaG91bGQgZXhpc3QgaW4gc3R1ZHkgaW5wdXRzYCksKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9vbGRTdHVkeUlucHV0cylbc10hPT1lW3NdKXJldHVybiEwO3JldHVybiExfV9vblZpc2libGVUaW1lUmFuZ2VJbnB1dHNDaGFuZ2VkKGUpe251bGwhPT1lP3RoaXMuX3VwZGF0ZVZpc2libGVUaW1lUmFuZ2VJbnB1dHMoZSk6dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0b3AoITApfV91cGRhdGVWaXNpYmxlVGltZVJhbmdlSW5wdXRzKGUsdD0hMCl7Y29uc3Qgcz17Zmlyc3RfdmlzaWJsZV9iYXJfdGltZTplLmZpcnN0VmlzaWJsZUJhclRpbWUsbGFzdF92aXNpYmxlX2Jhcl90aW1lOmUubGFzdFZpc2libGVCYXJUaW1lLHN1YnNjcmliZVJlYWx0aW1lOmUuc3Vic2NyaWJlUmVhbHRpbWV9LGk9dGhpcy5tZXRhSW5mbygpLmlucHV0cyxyPVtdO2Zvcihjb25zdCBlIG9mIGkpcy5oYXNPd25Qcm9wZXJ0eShlLmlkKSYmci5wdXNoKGUuaWQpO2NvbnN0IG49dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzO2Zvcihjb25zdCBlIG9mIHIpbi5jaGlsZHMoKVtlXS5zZXRWYWx1ZVNpbGVudGx5KHNbZV0pO3QmJnIubGVuZ3RoPjAmJm4uZmlyZUNoYW5nZWQoKX1fZ2V0U3R1ZHlFcnJvclRleHQoZSl7c3dpdGNoKGUubWF0Y2goL15zdHVkeV9ub3RfYXV0aDooLiopP0AuKi8pPy5bMV0pe2Nhc2UiU2NyaXB0IjpjYXNlIlN0cmF0ZWd5U2NyaXB0IjpyZXR1cm4iVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiI7Y2FzZSJWYlBTZXNzaW9ucyI6Y2FzZSJWYlBQZXJpb2RpYyI6Y2FzZSJWYlBWaXNpYmxlIjpyZXR1cm4iVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4ifXJldHVybiBlLnNwbGl0KCI6IiwyKVswXX1fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpe2lmKCJkZWZhdWx0Ij09PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGU9cGFyc2VJbnQodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpO3JldHVybiBpc0Zpbml0ZShlKT9NYXRoLnBvdygxMCxlKTpudWxsfV9wcmljZVNjYWxlQnlNZXRhSW5mbygpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpLmZvcm1hdCx0PSJpbmhlcml0IiE9PWUudHlwZT9lLnByZWNpc2lvbjp2b2lkIDAscz0oMCx1LmlzTnVtYmVyKSh0KT9NYXRoLnBvdygxMCx0KTp2b2lkIDA7aWYoInByaWNlIj09PWUudHlwZXx8InBlcmNlbnQiPT09ZS50eXBlKXJldHVybiBzfHwxMDA7aWYoInZvbHVtZSI9PT1lLnR5cGUpe2lmKHZvaWQgMD09PWUucHJlY2lzaW9uKXtjb25zdCBlPXRoaXMuc2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1lJiYoMCx1LmlzTnVtYmVyKShlLnZvbHVtZV9wcmVjaXNpb24pKXJldHVybiBNYXRoLnBvdygxMCxlLnZvbHVtZV9wcmVjaXNpb24pfXJldHVybiAxfXJldHVybiJpbmhlcml0Ij09PWUudHlwZXx8U3MubG9nV2FybigiVW5zdXBwb3J0ZWQgZm9ybWF0IHR5cGU6ICIrZS50eXBlKSxudWxsfV9pbnB1dFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpLmlucHV0cy5maWx0ZXIoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSkubWFwKChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKS52YWx1ZSgpKSl9X3N0dWR5U3BlYyhlKXtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7cmV0dXJue2lkOnQuaWQsY2hpbGQ6ZT8/dGhpcy5pc0NoaWxkU3R1ZHkoKSxmdW5kYW1lbnRhbDooMCx3ZS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCksZm9yZWNhc3Q6KDAsd2UuaXNGb3JlY2FzdFN0dWR5TWV0YUluZm8pKHQpLHN0dWJUaXRsZTp0LmRlc2NyaXB0aW9ufHx0LnNob3J0RGVzY3JpcHRpb259fV9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCl9X3NldFNvdXJjZXMoZSl7dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLHRoaXMuX3NvdXJjZXMuc2V0VmFsdWUoZSksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcy5maXJlKCl9YXN5bmMgX2F3YWl0Rm9yTWV0YUluZm8oKXtjb25zdCBlPXtyZXNvbHZlcjooKT0+e319LHQ9KCk9PmUucmVzb2x2ZXIoKTt0cnl7YXdhaXQgUHJvbWlzZS5yYWNlKFtuZXcgUHJvbWlzZSgoKGUsdCk9PntzZXRUaW1lb3V0KCgoKT0+dChuZXcgRXJyb3IoIlRpbWVvdXQiKSkpLDNlMyl9KSksbmV3IFByb21pc2UoKHM9PntlLnJlc29sdmVyPXMsdGhpcy5tZXRhSW5mb1dWKCkuc3Vic2NyaWJlKHQpfSkpXSl9Y2F0Y2goZSl7dGhyb3cgZX1maW5hbGx5ewp0aGlzLm1ldGFJbmZvV1YoKS51bnN1YnNjcmliZSh0KX19fX0sMzcwNjIyKGUsdCxzKXtzLmQodCx7cGxvdFNoYXBlc0RhdGE6KCk9PnJ9KTt2YXIgaT1zKDE4NTI3MSk7Y29uc3Qgcj17c2hhcGVfYXJyb3dfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg3MDQ0NTgpKSxpZDoic2hhcGVfYXJyb3dfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckFycm93RG93biIscGluZU5hbWU6InNoYXBlLmFycm93ZG93biIsaWNvbjoiYXJyb3dfZG93biJ9LHNoYXBlX2Fycm93X3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDYyMDYxKSksaWQ6InNoYXBlX2Fycm93X3VwIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQXJyb3dVcCIscGluZU5hbWU6InNoYXBlLmFycm93dXAiLGljb246ImFycm93X3VwIn0sc2hhcGVfY2lyY2xlOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDc5NDQwOCkpLGlkOiJzaGFwZV9jaXJjbGUiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSIscGluZU5hbWU6InNoYXBlLmNpcmNsZSIsaWNvbjoiY2lyY2xlIn0sc2hhcGVfY3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoNDg4MTgwKSksaWQ6InNoYXBlX2Nyb3NzIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQ3Jvc3NTaGFwZSIscGluZU5hbWU6InNoYXBlLmNyb3NzIixpY29uOiJjcm9zcyJ9LHNoYXBlX2RpYW1vbmQ6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoMjgxMjQ4KSksaWQ6InNoYXBlX2RpYW1vbmQiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJEaWFtb25kIixwaW5lTmFtZToic2hhcGUuZGlhbW9uZCIsaWNvbjoiZGlhbW9uZCJ9LHNoYXBlX2ZsYWc6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoOTcxNTI3KSksaWQ6InNoYXBlX2ZsYWciLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJGbGFnU2hhcGUiLHBpbmVOYW1lOiJzaGFwZS5mbGFnIixpY29uOiJmbGFnIn0sc2hhcGVfbGFiZWxfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscygyNjI0NTgpKSxpZDoic2hhcGVfbGFiZWxfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsRG93biIscGluZU5hbWU6InNoYXBlLmxhYmVsZG93biIsaWNvbjoibGFiZWxfZG93biJ9LHNoYXBlX2xhYmVsX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ2NDE1NykpLGlkOiJzaGFwZV9sYWJlbF91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsVXAiLHBpbmVOYW1lOiJzaGFwZS5sYWJlbHVwIixpY29uOiJsYWJlbF91cCJ9LHNoYXBlX3NxdWFyZTp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg5MTYyMTUpKSxpZDoic2hhcGVfc3F1YXJlIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyU3F1YXJlIixwaW5lTmFtZToic2hhcGUuc3F1YXJlIixpY29uOiJzcXVhcmUifSxzaGFwZV90cmlhbmdsZV9kb3duOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ3MTc0NSkpLGlkOiJzaGFwZV90cmlhbmdsZV9kb3duIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIscGluZU5hbWU6InNoYXBlLnRyaWFuZ2xlZG93biIsaWNvbjoidHJpYW5nbGVfZG93biJ9LHNoYXBlX3RyaWFuZ2xlX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDM5OTY4OCkpLGlkOiJzaGFwZV90cmlhbmdsZV91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclRyaWFuZ2xlQXBleFVwIixwaW5lTmFtZToic2hhcGUudHJpYW5nbGV1cCIsaWNvbjoidHJpYW5nbGVfdXAifSxzaGFwZV94Y3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoODEwMjIyKSksaWQ6InNoYXBlX3hjcm9zcyIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclhDcm9zcyIscGluZU5hbWU6InNoYXBlLnhjcm9zcyIsaWNvbjoieF9jcm9zcyJ9fX0sOTIwNDc1KGUsdCxzKXtzLmQodCx7ZGVmYXVsdDooKT0+bH0pO2NvbnN0IGk9ZT0+ZSBpbnN0YW5jZW9mIERhdGUscj1lPT5udWxsIT1lJiYib2JqZWN0Ij09dHlwZW9mIGUsbj0oZSwuLi50KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsLi4udCksYT1lPT5yKGUpJiYoZT0+MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aCkoZSksbz0oZSx0KT0+e2lmKGU9PT10KXJldHVybnt9O2lmKCFyKGUpfHwhcih0KSlyZXR1cm4gdDtjb25zdCBzPU9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKGUscyk9PihuKHQscyl8fChlW3NdPXZvaWQgMCksZSkpLE9iamVjdC5jcmVhdGUobnVsbCkpO3JldHVybiBpKGUpfHxpKHQpP2UudmFsdWVPZigpPT10LnZhbHVlT2YoKT97fTp0Ok9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKHMscik9PntpZighbihlLHIpKXJldHVybiBzW3JdPXRbcl0scztjb25zdCBsPW8oZVtyXSx0W3JdKTtyZXR1cm4hYShsKXx8aShsKXx8IWEoZVtyXSkmJmEodFtyXSk/KHNbcl09bCxzKTpzfSkscyl9LGw9b319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-base.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.529Z","timestamp":1785124875529,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-base.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 17467\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-443b\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":17467,"size_decoded":17693,"mime_type":"image/png","magic":"PNG image data, 199 x 115, 8-bit/color RGBA, non-interlaced","md5":"23e61e191148f177e075fef26cb349a4","sha1":"09c361f3b72a64d3a7e528d9572d195ed49e4ae7","sha256":"0f491fbe61389afbced3b8c17bd656af86201edfe87db5fa73144c2093773d39","sha512":"807ed25e389769b24f0fdc067aa4f7db301ac050a62ddee08be6dba74d7bb81480dd01eff811079e4b5d1dc77448d0eb84a2191fe25f40fd5544ae814f77e140","ssdeep":"384:EW+yHAB6Nac6gUthwNCwz6r6PN9o9kzTDLqxuXuH7VDUPbsnv77:ukvv69hsz86P89wdgV0bsnvv","tlshash":"1c72cf1a25002e88cd9c8d8175df96a093a3ddc400f29ed3bbd6b55e0aa51319f273f6","first_seen":"2023-05-21T21:42:09Z","last_seen":"2026-07-27T04:03:29.979038Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAMcAAABzCAYAAAAsXhalAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3RTVEQzgwRTQ4MDAxMUVBQTdDMUE4QjlERTQ3N0YyRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3RTVEQzgwRjQ4MDAxMUVBQTdDMUE4QjlERTQ3N0YyRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjdFNURDODBDNDgwMDExRUFBN0MxQThCOURFNDc3RjJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdFNURDODBENDgwMDExRUFBN0MxQThCOURFNDc3RjJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+BmALIQAAQLBJREFUeNrsfQn4ZFdV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"}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67925.cdd77a6972787789a616.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.870Z","timestamp":1785124876870,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67925.cdd77a6972787789a616.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-364\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 43a9bed002c39d1467ab103eb8b5de21\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":868,"size_decoded":1139,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (868), with no line terminators","md5":"5edf808790562884db5fdf9a651e2c6b","sha1":"364ae71139050bae7ec40dc7bca05608a6e0a6c3","sha256":"7aa320556bada28195947d3777837009a4c4a5cbcd0ba6412ec4649351997aa3","sha512":"20ca4cbeb3d8d8ca78780490a1023af097a10fbdbeec82d3cc26bd10019f432db48b26cee41dddc68e04a24a4e81a2fd6be1f9910bbb710538b06279e2cea860","ssdeep":"","tlshash":"4511cc59940633ba6772951c2ec657c1ab217dac4873374cf8e1e09f40db785a0097c6","first_seen":"2026-06-30T21:57:43.476727Z","last_seen":"2026-07-27T06:24:31.623997Z","times_seen":173,"resource_available":false,"data":"LmJ1dHRvbi1HYXdwQjBwZnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tR2F3cEIwcGY6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tR2F3cEIwcGY6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1HYXdwQjBwZjphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYnV0dG9uLUdhd3BCMHBmOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUdhd3BCMHBmOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo0cHh9LmJ1dHRvbi1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGY6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LWludmVyc2UpfS5mYXZvcml0ZS1HYXdwQjBwZi5maWxsZWQtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5mYXZvcml0ZS1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.902Z","timestamp":1785124876902,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.16193.ba075f895c6ed057c11c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-154\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ceb84974da021b815d65def7f308461e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":340,"size_decoded":1000,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (340), with no line terminators","md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-07-27T06:14:34.207345Z","times_seen":308,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNjE5M10sezMxNzI5KGUpe2UuZXhwb3J0cz1bImRheXMiXX0sODAwMDA5KGUpe2UuZXhwb3J0cz1bImhvdXJzIl19LDU1NDY1MShlKXtlLmV4cG9ydHM9WyJtb250aHMiXX0sMzQzNzU3KGUpe2UuZXhwb3J0cz1bIm1pbnV0ZXMiXX0sOTczMzQ3KGUpe2UuZXhwb3J0cz1bInJhbmdlIl19LDU0ODM3NChlKXtlLmV4cG9ydHM9WyJ3ZWVrcyJdfSwzNjkxMjkoZSl7ZS5leHBvcnRzPVsidGlja3MiXX0sNTQwOTEwKGUpe2UuZXhwb3J0cz1bIlZpZXcgT25seSBNb2RlIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98084.76948764014ae1d4ccfb.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.183Z","timestamp":1785124877183,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98084.76948764014ae1d4ccfb.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5bd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bd4dfece1f81692cfafcb4d0250fe4e9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1469,"size_decoded":1283,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1469), with no line terminators","md5":"42926374e3993d87871854153a9b3f3d","sha1":"8d35f66931a91c4b7dff7c4fb4582b1171f1c65e","sha256":"7c919d72e24d1abd7eb6597bab8be0b3c12227984b62546c4aea7f45fa74759f","sha512":"0d537ebd2b9b8f6e3dd1ae384bcde8b0b86861c84b0810f3c386fafb4394ba8456cb9e60753f2cf9be2c4c53de6bff8f09de764bd469802d154c9b45b250aa20","ssdeep":"","tlshash":"7e314c4a3354a874bb9318a676b7a5983544c87e6543c9ffcd619f5c95c22bb120c318","first_seen":"2026-07-19T21:33:34.13195Z","last_seen":"2026-07-27T06:24:31.763336Z","times_seen":26,"resource_available":false,"data":"LmNvbnRhaW5lci1ENl9uaE9NRntjdXJzb3I6ZGVmYXVsdDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50aXRsZS1ENl9uaE9NRntkaXNwbGF5OmJsb2NrO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi1ib3R0b206MTJweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udGl0bGUtRDZfbmhPTUYsLnRpdGxlX2xhcmdlLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50aXRsZV9sYXJnZS1ENl9uaE9NRntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI4cHg7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9Lmljb24tRDZfbmhPTUZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LWhlaWdodDo0NDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5pY29uLUQ2X25oT01Ge2Rpc3BsYXk6bm9uZX19LnRleHQtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRleHQtRDZfbmhPTUYsLnRleHRfbm9ybWFsLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udGV4dF9ub3JtYWwtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHh9LmFjdGlvbi1ENl9uaE9NRntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tdG9wOjIwcHg7d2lkdGg6MTAwJX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56252.2b82f575ba1ceb54fa29.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.696Z","timestamp":1785124876696,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56252.2b82f575ba1ceb54fa29.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-53a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b1bd946ed760acf16ceaf9a33f205f91\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1338,"size_decoded":1087,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1338), with no line terminators","md5":"272e9884ff18ecde00e6bbe6ba06878b","sha1":"6a2d777adf9bfb4226124e67b1c8b6502a80d59c","sha256":"3dc13cb5344c62a4a6fec134fe9299cec0caec608238263f8e302db4d3349897","sha512":"9eca5419c42ab9d42e5bd3f970e2165b06e9be445886dc0d1a4e8130bfe731b076ed63b12ec6c8ec2fbb512a50ce326719575e5ddc215c8e035243acdd22625a","ssdeep":"","tlshash":"9821c888f3719fb3bf2325ac126ca42d79916eb8fdd2bae570b5961503e0bf18701614","first_seen":"2024-11-26T05:27:28.178302Z","last_seen":"2026-07-27T06:14:34.301844Z","times_seen":2732,"resource_available":false,"data":"Lmljb24td3JhcHBlci1kaWtkZXd3eDphY3RpdmUsLmljb24td3JhcHBlci1kaWtkZXd3eDpmb2N1c3tjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKSBhbmQgKHBvaW50ZXI6ZmluZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfX0uaWNvbi13cmFwcGVyLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19LndpdGgtbGluay1kaWtkZXd3eHtjdXJzb3I6cG9pbnRlcn1AbWVkaWEgKGhvdmVyOm5vbmUpIGFuZCAocG9pbnRlcjpjb2Fyc2Upey53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXMtdmlzaWJsZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9Ym9keTpoYXMoI3Rvb2x0aXAtcm9vdC1lbGVtZW50ICopIC53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXN7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtib2R5OmhhcygjdG9vbHRpcC1yb290LWVsZW1lbnQgKikgLndpdGgtdG9vbHRpcC1kaWtkZXd3eDpob3Zlcntjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9fWJvZHk6aGFzKCN0b29sdGlwLXJvb3QtZWxlbWVudCAqKSAud2l0aC10b29sdGlwLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19Lm5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eHstLXVpLWxpYi1pY29uLXFpLWNvbG9yLWFjdGl2ZTp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/24581.45df02181c4509732d20.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.699Z","timestamp":1785124876699,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/24581.45df02181c4509732d20.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-399\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e13dff08694b9520825f3321ad347d50\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":921,"size_decoded":1137,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (921), with no line terminators","md5":"7508df616380d228cd815ae2f451930e","sha1":"85644755c1e5d7bcc3ab17ab37a76bd5f60ceffa","sha256":"98ef25505ae9dff3c961255429596f2ffdc5cf7a6eb679c08e5b2844c68e3332","sha512":"272814590c3e8b26149c112ef510d070c1cd5521cca4ef7e3bf4f28f663c19a2ff2b44912cd075b967d3ee6646cf5b2edb29bf7ade0ed8652f4b37a259b34a89","ssdeep":"","tlshash":"1711bd3c919dcb6ab4974b145240cfcf01bd2d10ab169fa7b2cc70328cc88ac1833823","first_seen":"2026-07-17T03:30:51.220732Z","last_seen":"2026-07-27T06:14:34.221796Z","times_seen":92,"resource_available":false,"data":"LmJveC1YZkdrQkJxZntib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjE4cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS5ib3gtWGZHa0JCcWYudW5jaGVja2VkLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0uYm94LVhmR2tCQnFmLmNoZWNrZWQtWGZHa0JCcWYsLmJveC1YZkdrQkJxZi5taXhlZC1YZkdrQkJxZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcmspfS51bmNoZWNrZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyKX0uY2hlY2tlZC1YZkdrQkJxZiwubWl4ZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KX0uZGlzYWJsZWQtWGZHa0JCcWZ7b3BhY2l0eTouNX0uY2hlY2tlZE1hcmstWGZHa0JCcWZ7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gNS41cHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDQuNXB4KX0ubWl4ZWRNYXJrLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6NnB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDNweCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoNTAlIC0gM3B4KTt3aWR0aDo2cHh9"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35794.0a273bafc5de50a0d21d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.832Z","timestamp":1785124876832,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35794.0a273bafc5de50a0d21d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-929\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 274d4a1264b127c04c9d056cdd2ee008\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2345,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2345), with no line terminators","md5":"070dbbdaf81468918cc345dc05f9a381","sha1":"2ab8968ccfc58991cdc8860741aecf9533393e0f","sha256":"8782990aacf2d956262c5608c1f9f9be2c54e5b100e7e1fd85521c2424944d72","sha512":"c162784e77aaebd46d2c606d8ec9f965be7c21092d5143c64badbc4cc2b380589455fd4eb60cdd25a9cff11dceab520faac1d1753d1b999596c4c462a0fa0e43","ssdeep":"","tlshash":"e7418bafa148d8b0fe116198b3dd638db6e5ec70a90a05cdb633b839cce17f15d50158","first_seen":"2026-07-22T16:00:00.426214Z","last_seen":"2026-07-27T06:14:34.205962Z","times_seen":156,"resource_available":false,"data":"LnNtYWxsLXRXRElDVGF5ey0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplOjN9Lm1lZGl1bS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo0fS5sYXJnZS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo1fS5zd2l0Y2hWaWV3LXRXRElDVGF5ey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zd2l0Y2hWaWV3LXNpemUsdmFyKC0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplLDQpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstLXN3aXRjaC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozNHB4KTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7LS1zd2l0Y2gtd2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjM4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo1NHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2NHB4KTt3aWR0aDp2YXIoLS1zd2l0Y2gtd2lkdGgpOy0tc3dpdGNoLXBhZGRpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4KTstLXN3aXRjaC10aHVtYjpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKjIpOy0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwpOy0tc3dpdGNoLWNvbG9yOnZhcigtLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yLHZhcigtLWRlZmF1bHQtY29sb3IpKX0uc3dpdGNoVmlldy10V0RJQ1RheS5jaGVja2VkLXRXRElDVGF5ey0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmRpc2FibGVkLXRXRElDVGF5e29wYWNpdHk6LjV9LnRyYWNrLXRXRElDVGF5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGh1bWItdFdESUNUYXl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtcGFkZGluZyksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7d2lkdGg6dmFyKC0tc3dpdGNoLXRodW1iKX0udGh1bWItdFdESUNUYXk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC1wYWRkaW5nKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0uY2hlY2tlZC10V0RJQ1RheSAudGh1bWItdFdESUNUYXl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSx2YXIoLS1zd2l0Y2gtcGFkZGluZykpfS5jaGVja2VkLXRXRElDVGF5IC50aHVtYi10V0RJQ1RheTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42301.2252d1cccb40351bd581.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.868Z","timestamp":1785124876868,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42301.2252d1cccb40351bd581.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 52\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-34\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4f92b019d64f531b8827ed1c2af9c439\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52,"size_decoded":836,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"a3f3974eb6489645604008e5c8dc9aec","sha1":"dda40c4a2b2001c0b04b64912fad682f3ad9f45a","sha256":"cc74f1cf1790e71081bd39cd986428e140164c232ebd1b0353c8da71bc484a7e","sha512":"96d6ddc62f46e0fd2299c1f3a56f7180b9d38b078a3da6cddecf77f35fd60664b3990e79485d964bfa98c68b2ee7c1619a826a84c2f582470ec3b21b4cf84963","ssdeep":"","tlshash":"d190023406a0a4a0985beed52560c88490eca01989a26e4e43fc76a525b28c4192a59d","first_seen":"2026-06-30T21:57:43.390072Z","last_seen":"2026-07-27T06:24:31.80126Z","times_seen":173,"resource_available":false,"data":"LnNwaW5uZXJXcmFwLVpadHVGSVBwe2hlaWdodDo2OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.950Z","timestamp":1785124876950,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84265.4c6d8f772d538f528598.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-3ec9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 311c8e797236bfb5ab65362e89df0b86\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16073,"size_decoded":6405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-27T06:24:31.571167Z","times_seen":37,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODQyNjVdLHs5OTAwNjAoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm57c3RhcnQ6TWF0aC5taW4oZS5zdGFydCx0LnN0YXJ0KSxlbmQ6TWF0aC5tYXgoZS5lbmQsdC5lbmQpfX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDA9PT1lP2U6QXJyYXkuZnJvbShlKX1zLmQodCx7YXJyYXlGcm9tU2V0OigpPT5yLG1lcmdlVHBvUHJpY2VSYW5nZXM6KCk9Pml9KX0sNjg0MjY1KGUsdCxzKXt2YXIgaTtzLmQodCx7VHBvU3R1ZHlCYXNlOigpPT5VLGV4dGVuZGluZ0lucHV0SWRzOigpPT5FfSksZnVuY3Rpb24oZSl7ZVtlLlYxPTFdPSJWMSIsZVtlLlYyPTJdPSJWMiJ9KGl8fChpPXt9KSk7dmFyIHI9cygzMDQyMjEpLG89cygxMzg2MzgpLGE9cyg5NTI5MDApLGw9cygyMjEwNjEpLG49cygxNDUzODEpLGM9cygxODUyNzEpLGQ9cyg1NzA2MDMpLHU9cyg3NjUxNzMpLHA9cygyMDU2MTEpLGg9cyg5NDM5NSksbT1zKDE5NzI3MiksZz1zKDc2ODI5MiksXz1zKDc5ODM4KSxTPXMoMTI4OTk4KSx3PXMoNTA3NjA0KTtjb25zdHtjb2xvckNvbGRHcmF5MjAwOnksY29sb3JDb2xkR3JheTkwMDpQLGNvbG9yRGVlcEJsdWVBMjAwOlQsY29sb3JEZWVwQmx1ZUE3MDA6Yixjb2xvckdyYXBlc1B1cnBsZUEyMDBBbHBoYTE1OkEsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDp2LGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6Q309dy5jb2xvcnMsUj17cG9jOltQLHldLHBvb3JIaWdoOltiLFRdLHBvb3JMb3c6W2IsVF0sc2luZ2xlcHJpbnRzOltBLEFdLHZhaDpbUCx5XSx2YWw6W1AseV0sdmFsdWVzOltQLHldLHZwVmFoOltQLHldLHZwVmFsOltQLHldLHZwUG9jOltQLHldLHZvbHVtZUNvbG9yOlt2LHZdLHZhbHVlQXJlYUNvbG9yOltDLENdfTtsZXQgZj1udWxsO3ZhciBNPXMoOTg0Mzc2KSxWPXMoNDAzODE3KSxrPXMoOTkwMDYwKSx4PXMoNTg4ODcwKSxJPXMoODc0NjApLEI9cyg1NDIxOTIpO2NsYXNzIE8gZXh0ZW5kcyB4LlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMX1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKEIudHBvU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSxhPW8uc3VtbWFyeS5jaGlsZHMoKS5pbmZvQmxvY2tzLmNoaWxkcygpLGw9by5sZXZlbHMuY2hpbGRzKCkuaW5pdGlhbEJhbGFuY2VSYW5nZS5jaGlsZHMoKSxuPW5ldyBNLlZvbHVtZUZvcm1hdHRlcixjPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5mb3JtYXR0ZXIoKSxkPWU9PmMuZm9ybWF0KGUpLHU9bmV3IFYuTG9naWNhbFJhbmdlKHQubGVmdCgpLTUsdC5yaWdodCgpKzUpLHA9W10saD0uNSppLmJhclNwYWNpbmcoKTtmb3IoY29uc3RbdCxvXW9mIHMudHBvcygpKXtjb25zdCBjPXMudHBvU3VtbWFyeUluZm8oKS5nZXQodCk7QXJyYXkuZnJvbShvKS5zb3J0KCgoZSx0KT0+ZS5maXJzdEJhclRpbWUtdC5maXJzdEJhclRpbWUpKS5mb3JFYWNoKChvPT57aWYoIXUuY29udGFpbnMoby5maXJzdEJhclRpbWUpJiYhdS5jb250YWlucyhvLmxhc3RCYXJUaW1lKSlyZXR1cm47Y29uc3QgbT1BcnJheS5mcm9tKGM/LmdldChvLmlkKT8/W10pLGc9bVttLmxlbmd0aC0xXTtpZighZylyZXR1cm47Y29uc3R7aW5pdGlhbEJhbGFuY2VIaWdoOl8saW5pdGlhbEJhbGFuY2VMb3c6Uyxpbml0aWFsQmFsYW5jZVJhbmdlOnd9PWEseT17dmFoUHJpY2U6ZChnLnZhaFByaWNlKSx2YWxQcmljZTpkKGcudmFsUHJpY2UpLHBvY1ByaWNlOmQoZy5wb2NQcmljZSl9LFA9Xy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksVD1TLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSxiPXcuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpO2lmKFB8fFR8fGIpe2NvbnN0IGU9KDAsay5hcnJheUZyb21TZXQpKHMudHBvQmxvY2tTZXRzKCkuZ2V0KHQpPy5nZXQoby5pZCkpO2lmKHZvaWQgMCE9PWUpe2NvbnN0IHQ9ci5jYWxjdWxhdGVJbml0aWFsQmFsYW5jZVByaWNlUmFuZ2UoZSxvLnByaWNlUmFuZ2UsbCk7eS5pbml0aWFsQmFsYW5jZUhpZ2g9dD9kKHQuZW5kKToi4oCUIix5LmluaXRpYWxCYWxhbmNlTG93PXQ/ZCh0LnN0YXJ0KToi4oCUIix5LmluaXRpYWxCYWxhbmNlUmFuZ2U9dD9kKHQuZW5kLXQuc3RhcnQpOiLigJQifX15LnJvdGF0aW9uRmFjdG9yPWcucm90YXRpb25GYWN0b3IudG9TdHJpbmcoKSx5LmhsUmFuZ2U9ZChnLmhsUmFuZ2UpLHkudmFSYW5nZT1kKGcudmFSYW5nZSkseS50b3RhbFZvbHVtZT1uLmZvcm1hdChnLnRvdGFsVm9sdW1lKSx5LnRwb0NvdW50VG90YWw9Zy50cG9Db3VudFRvdGFsLnRvU3RyaW5nKCkseS50cG9Db3VudEFib3ZlUG9jPWcudHBvQ291bnRBYm92ZVBvYy50b1N0cmluZygpLHkudHBvQ291bnRCZWxvd1BvYz1nLnRwb0NvdW50QmVsb3dQb2MudG9TdHJpbmcoKTtjb25zdCBBPUkudHBvUm93VGl0bGVzLm1hcCgoZT0+ZS5wcm9wTmFtZSkpLmZpbHRlcigoZT0+YVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9Pih7dGV4dDp5W2VdfSkpKSx2PWkuaW5kZXhUb0Nvb3JkaW5hdGUoby5maXJzdEJhclRpbWUpLWgsQz1NYXRoLnJvdW5kKHYqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksUj1pLmluZGV4VG9Db29yZGluYXRlKG8ubGFzdEJhclRpbWUpK2gsZj1NYXRoLnJvdW5kKFIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyk7cC5wdXNoKHtsZWZ0OkMscmlnaHQ6Zixyb3dzOkF9KX0pKX1yZXR1cm4gcH19dmFyIE49cyg3NDU1NjkpO2NsYXNzIEYgZXh0ZW5kcyBOLlN1bW1hcnlXaWRnZXRTaWRlQXJlYVZpZXd7X2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCl7CnJldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoQi50cG9TdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3MuY2hpbGRzKCk7cmV0dXJuIEkudHBvUm93VGl0bGVzLmZpbHRlcigodD0+ZVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9PmUudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSl9fXZhciBELEw9cyg2MzQ4Nik7IWZ1bmN0aW9uKGUpe2VbZS5IaXN0c0NvdW50PTgwXT0iSGlzdHNDb3VudCIsZVtlLlRpY2tzUGVyUm93TWluVmFsdWU9MV09IlRpY2tzUGVyUm93TWluVmFsdWUiLGVbZS5UaWNrc1BlclJvd01heFZhbHVlPTFlNl09IlRpY2tzUGVyUm93TWF4VmFsdWUiLGVbZS5CYXJzRGVwdGhGb3JUaWNrcGVyUm93PTMwMF09IkJhcnNEZXB0aEZvclRpY2twZXJSb3ciLGVbZS5yZXRyeVRpY2tzUGVyUm93Q29lZmY9MS40XT0icmV0cnlUaWNrc1BlclJvd0NvZWZmIixlW2UubWF4VGlja3NQZXJSb3dSZXRyaWVzPTEwXT0ibWF4VGlja3NQZXJSb3dSZXRyaWVzIixlW2UubWF4VGlja3NJblByaWNlUmFuZ2U9MWUzXT0ibWF4VGlja3NJblByaWNlUmFuZ2UiLGVbZS50aWNrc1BlclJvd1JvdW5kRmFjdG9yPTVdPSJ0aWNrc1BlclJvd1JvdW5kRmFjdG9yIn0oRHx8KEQ9e30pKTtjb25zdCAkPVsiZXh0ZW5kUG9vckxvdyIsImV4dGVuZFBvb3JIaWdoIiwiZXh0ZW5kUE9DIiwiZXh0ZW5kVHBvVmFoIiwiZXh0ZW5kVHBvVmFsIiwiZXh0ZW5kU2luZ2xlcHJpbnRzIl0sRT1bLi4uJCwiZXh0ZW5kVm9sdW1lUG9jIiwiZXh0ZW5kVm9sdW1lVmFoIiwiZXh0ZW5kVm9sdW1lVmFsIl0sSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0LlRwb1N0dWR5QmFzZSIpO2NsYXNzIHogZXh0ZW5kcyB1LlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHIpe3N1cGVyKG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiLGMudChudWxsLHZvaWQgMCxzKDQyOTczMykpKSksdGhpcy5fbW9kZWw9ZSx0aGlzLl9pZD10LHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1pLHRoaXMuX2tleUZpbHRlcj1yfXJlZG8oKXtjb25zdCBlPXN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpO09iamVjdC5rZXlzKGUpLmZpbHRlcih0aGlzLl9rZXlGaWx0ZXIpLmZvckVhY2goKHQ9PntkZWxldGUgZVt0XX0pKSx0aGlzLl9zdHVkeSgpLnNldFNwbGl0c0FuZE1lcmdlcyhlKX11bmRvKCl7dGhpcy5fc3R1ZHkoKS5zZXRTcGxpdHNBbmRNZXJnZXModGhpcy5fc3BsaXRzQW5kTWVyZ2VzKX1fc3R1ZHkoKXtyZXR1cm4oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCkpfX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHQ8ZX1jbGFzcyBVIGV4dGVuZHMgbS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyxsLG49eil7RS5mb3JFYWNoKChlPT50LnJlbW92ZUV4Y2x1ZGVkS2V5KGBpbnB1dHMuJHtlfWAsMSkpKSxzdXBlcihlLHQscyxpLHIsbyksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc3BsaXRzQW5kTWVyZ2VzPXt9LHRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyPTAsdGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1udWxsLHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZD1lPT57ZSYmKHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKSl9LHRoaXMuX3N1bW1hcnlQYW5lVmlldz1uZXcgTyh0aGlzLGUpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldz1uZXcgRihlKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9KDAsYS5jb21iaW5lKSgoZT0+Xy5zZXJpZXNSZWFkeVN0YXR1c2VzLmhhcyhlLnNlcmllc1N0YXR1cykpLGUubWFpblNlcmllcygpLmNvbXBvc2l0ZVN0YXR1c1ZXKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jaGFydFN0eWxlTW9kZT0hIWwsbCYmdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigiIiksdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3I9bix0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2NrcyIpfHx0LmNoaWxkcygpLnN0eWxlcy5hZGRDaGlsZCgic3BsaXRCeUJsb2NrcyIsbmV3IGcuUHJvcGVydHkoITEpKSx0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2Nrc01vZGUiKXx8dC5jaGlsZHMoKS5zdHlsZXMuYWRkQ2hpbGQoInNwbGl0QnlCbG9ja3NNb2RlIixuZXcgZy5Qcm9wZXJ0eSgwKSksdC5zZXRUaGVtZWRDb2xvcnMoZnVuY3Rpb24oKXtpZighZil7Y29uc3QgZT0iZ3JhcGhpY3MudHBvTGV2ZWxzLnRwbyIsdD0iZ3JhcGhpY3MudHBvVm9sdW1lUm93cy50cG8iO2Y9W3twYXRoOmAke2V9LnRwb1BvYy5jb2xvcmAsY29sb3JzOlIucG9jfSx7cGF0aDpgJHtlfS50cG9Qb29ySGlnaC5jb2xvcmAsY29sb3JzOlIucG9vckhpZ2h9LHtwYXRoOmAke2V9LnRwb1Bvb3JMb3cuY29sb3JgLGNvbG9yczpSLnBvb3JMb3d9LHtwYXRoOmAke2V9LnRwb1NpbmdsZXByaW50cy5jb2xvcmAsY29sb3JzOlIuc2luZ2xlcHJpbnRzfSx7cGF0aDpgJHtlfS50cG9WYWguY29sb3JgLGNvbG9yczpSLnZhaH0se3BhdGg6YCR7ZX0udHBvVmFsLmNvbG9yYCxjb2xvcnM6Ui52YWx9LHtwYXRoOmAke2V9LnZvbHVtZVZhaC5jb2xvcmAsY29sb3JzOlIudnBWYWh9LHtwYXRoOmAke2V9LnZvbHVtZVZhbC5jb2xvcmAsY29sb3JzOlIudnBWYWx9LHtwYXRoOmAke2V9LnZvbHVtZVBvYy5jb2xvcmAsY29sb3JzOlIudnBQb2N9LHtwYXRoOmAke3R9LnZhbHVlc0NvbG9yYCxjb2xvcnM6Ui52YWx1ZXN9LHtwYXRoOmAke3R9LmNvbG9ycy5ub25WYWAsY29sb3JzOlIudm9sdW1lQ29sb3J9LHtwYXRoOmAke3R9LmNvbG9ycy52YWAsY29sb3JzOlIudmFsdWVBcmVhQ29sb3J9XX0KcmV0dXJuIGZ9KCkpO2NvbnN0IGM9ZS5tYWluU2VyaWVzKCksZD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtjLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcyksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpO2NvbnN0IHU9ZC5tZXJnZVBvaW50czt0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUodS52YWx1ZSgpKSx0aGlzLl9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCkuZm9yRWFjaCgoZT0+e2RbZV0/LnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpfSkpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZD0oMCxwLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+dGhpcy5fYXJlVFBPUGxvdHNFeHRlbmRlZCgpKSwkLm1hcCgoZT0+ZFtlXSkpLmZpbHRlcihCb29sZWFuKSksdS5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPXUudmFsdWUoKT8/IltdIjsiW10iPT09ZT90aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKTp0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoZSl9KSk7Y29uc3QgaD0oKT0+e3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT1udWxsLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKX0sbT0oKT0+e2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpOyJBdXRvIj09PWUucm93U2l6ZS52YWx1ZSgpJiZlLnRpY2tzUGVyUm93LnNldFZhbHVlKE5hTiksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc2VyaWVzQ29tcGxldGVkLnVuc3Vic2NyaWJlKHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzQ29tcGxldGVkLnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQse29uY2U6ITB9KSx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcj0wfTtkLnJvd1NpemUuc3Vic2NyaWJlKHRoaXMsaCksdGhpcy5wcm9wZXJ0aWVzKCkub25SZXN0b3JlRmFjdG9yeURlZmF1bHRzKCkuc3Vic2NyaWJlKHRoaXMsaCksYy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2NvbnN0IGU9Yy5zeW1ib2xJbmZvKCk/LnByb19uYW1lPz9udWxsO3RoaXMuX2xhc3RSZXNvbHZlZFByb05hbWUhPT1lJiYodGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1lLG0oKSl9KSksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLG0pLGMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxtKSx0aGlzLl90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCksdGhpcy5fcHJvcGVydGllcy5hZGRFeGNsdWRlZEtleSgiaW5wdXRzLm1lcmdlUG9pbnRzIiwxKX1zdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5zdGF0ZUZvckFsZXJ0KCksdD0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FsZXJ0TWV0YUluZm8oKSkscz10aGlzLl9jaGFydFN0eWxlTW9kZSYmbi5zdHVkeUlkc0hpZGVJbnB1dHNNb2RlLmhhcygoMCxMLmV4dHJhY3RTdHVkeUlkKSh0LmZ1bGxJZCkpO3JldHVybnsuLi5lLHRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxzLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxzLCExLCEwKX19YWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWR8fCh0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9KDAsYS5jb21iaW5lKSgoKGUsdCk9PnQmJmUpLHN1cGVyLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZC5zcGF3bk93bmVyc2hpcCgpKSksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkfWRlc3Ryb3koKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9zZXJpZXNDb21wbGV0ZWQudW5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQuZGVzdHJveSgpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkJiYodGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkLmRlc3Ryb3koKSx0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9dm9pZCAwKSx0aGlzLl9leHRlbmRlZElucHV0c0VuYWJsZWQuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9zdW1tYXJ5UGFuZVZpZXcudXBkYXRlKCksdGhpcy5fd2lkZ2V0U2lkZUFyZWFWaWV3LnVwZGF0ZSgpfXByZWZlcnJlZFpPcmRlcigpe3JldHVybiAwfXN0YXRlQ3VzdG9tRmllbGRzKCl7cmV0dXJue2F1dG9UaWNrUGVyUm93RGF0YTp0aGlzLl9hdXRvVGlja1BlclJvd0RhdGE/P3ZvaWQgMCxzcGxpdHNBbmRNZXJnZXM6dGhpcy5fc3BsaXRzQW5kTWVyZ2VzfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHMoZSl7dGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPWUuYXV0b1RpY2tQZXJSb3dEYXRhPz9udWxsLHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLnNwbGl0c0FuZE1lcmdlcz8/e30sdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcygpfXJlc2V0QWxsU3BsaXRzQW5kTWVyZ2VzKCl7CmNvbnN0IGU9dGhpcy5fbW9kZWwudW5kb01vZGVsKCksdD1uZXcgdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3IodGhpcy5fbW9kZWwsdGhpcy5pZCgpLHN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpLHRoaXMuX3Jlc2V0U3BsaXRzQW5kTWVyZ2VzS2V5RmlsdGVyLmJpbmQodGhpcykpO2UudW5kb0hpc3RvcnkoKS5wdXNoVW5kb0NvbW1hbmQodCl9c2V0U3BsaXRzQW5kTWVyZ2VzKGUpe3RoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMoKX1zcGxpdEJsb2NrKGUpe3RoaXMuX2FwcGVuZE1lcmdlU3BsaXRBY3Rpb24oZSwic3BsaXQiLG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBzcGxpdCBibG9jayIsYy50KG51bGwsdm9pZCAwLHMoNjE5NjA5KSkpKX1tZXJnZVByb2ZpbGUoZSl7dGhpcy5fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLCJtZXJnZSIsbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiVFBPIG1lcmdlIGJsb2NrIixjLnQobnVsbCx2b2lkIDAscyg4NzA0MDkpKSkpfWNhbGN1bGF0ZUluaXRpYWxCYWxhbmNlUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXMubGV2ZWxzLnZhbHVlKCksbz1LLmJpbmQobnVsbCxyKTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXtzdGFydDpzLnJvd0luZGV4KnQsZW5kOihzLnJvd0luZGV4KzEpKnR9O3MuYmxvY2tzLnNvbWUobykmJihpPW51bGw9PT1pP2U6KDAsay5tZXJnZVRwb1ByaWNlUmFuZ2VzKShpLGUpKX1yZXR1cm4gaX1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP2UhPT10aGlzLl9tb2RlbC5tYWluUGFuZSgpP1t0aGlzLl9zdW1tYXJ5UGFuZVZpZXddOnRoaXMuX3BhbmVWaWV3czpzdXBlci5wYW5lVmlld3MoZSl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCl7cmV0dXJuIG51bGx9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcigpe3JldHVybiBudWxsfXdpZGdldFNpZGVBcmVhVmlld3MoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZighcylyZXR1cm4gbnVsbDtjb25zdCBpPXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZSYmZT09PWk/W3RoaXMuX3dpZGdldFNpZGVBcmVhVmlld106bnVsbH1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6c3VwZXIucHJpY2VTY2FsZSgpfWRhdGFVcGRhdGVkKCl7cmV0dXJuIHRoaXMuX2RhdGFVcGRhdGVkfV9yZXNldFNwbGl0c0FuZE1lcmdlc0tleUZpbHRlcihlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCksaT10aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsUy5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyPWUuc3BsaXQoIjsiKTtyZXR1cm4gclswXT09PXMmJnJbMV09PT1pfV9zcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKXtyZXR1cm4gdGhpcy5fc3BsaXRzQW5kTWVyZ2VzW3RoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNLZXkoMildPz90aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgxKV0/P251bGx9X3VwZGF0ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlKXt0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgyKV09ZSx0aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoMSl9X3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlPTIpe2RlbGV0ZSB0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKV0sMj09PWUmJnRoaXMuX3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgxKX1fYXBpSW5wdXRzKCl7Y29uc3R7cm93U2l6ZTplLC4uLnR9PXN1cGVyLl9hcGlJbnB1dHMoKTtyZXR1cm4gdH1fYWxsSW5wdXRzQXJlVmFsaWQoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS50aWNrc1BlclJvdy52YWx1ZSgpO3JldHVybiFpc05hTihlKSYmc3VwZXIuX2FsbElucHV0c0FyZVZhbGlkKCl9X2F1dG9Sb3dTaXplTW9kZUVuYWJsZWQoKXtyZXR1cm4iQXV0byI9PT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucm93U2l6ZS52YWx1ZSgpfV90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCl7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiYoZT10aGlzLl9hdXRvVGlja1BlclJvd0RhdGEsdD10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCksbnVsbD09PWV8fGUuc3ltYm9sIT09dC5zeW1ib2x8fGUuaW50ZXJ2YWwhPT10LmludGVydmFsKSl7dGhpcy5fY2FsY3VsYXRlVGlja1BlclJvdygpP3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCk6KHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3Nlcmllc0NvbXBsZXRlZC5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkLHtvbmNlOiEwfSkpfXZhciBlLHR9X2NhbGN1bGF0ZVRpY2tQZXJSb3coKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0PWUuc3ltYm9sSW5mbygpLHM9ZS5kYXRhKCkuYmFycygpO2lmKCFzLnNpemUoKXx8IXQpcmV0dXJuITE7Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcj1zLnJhbmdlQ291bnRiYWNrKGkubGFzdEJhcigpLDMwMCksYT1yLm1pbk1heE9uUmFuZ2VDYWNoZWQoKDAsby5lbnN1cmVOb3ROdWxsKShyLmZpcnN0SW5kZXgoKSksKDAsby5lbnN1cmVOb3ROdWxsKShyLmxhc3RJbmRleCgpKSxbewpuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7aWYobnVsbD09PWEpcmV0dXJuITE7Y29uc3QgbD10Lm1pbm1vdi90LnByaWNlc2NhbGUsbj0oYS5tYXgtYS5taW4pL2wsYz1NYXRoLm1heChuLzgwLG4vMWUzKSxkPU1hdGgucG93KDEuNCx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcikqYys1KnRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyLHU9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGMpKSxwPTUqTWF0aC5tYXgoMSxNYXRoLnBvdygxMCx1LTEpKSxoPU1hdGgucm91bmQoZC9wKSpwLG09TWF0aC5taW4oMWU2LE1hdGgubWF4KDEsaCkpO3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkudGlja3NQZXJSb3cuc2V0VmFsdWUobSksSC5sb2dJbmZvKGBBdXRvY2FsY3VsYXRlIFRpY2tzUGVyUm93LlxuXHRcdFx0c3ltYm9sOiAke3RoaXMuX3Nlcmllcy5zeW1ib2woKX1cblx0XHRcdGludGVydmFsOiAke3RoaXMuX3Nlcmllcy5pbnRlcnZhbCgpfVxuXHRcdFx0bWluVGljazogJHtsfVxuXHRcdFx0aGlnaDogJHthLm1heH1cblx0XHRcdGxvdzogJHthLm1pbn1cblx0XHRcdGhpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyOiAke3RoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyfVxuXHRcdFx0cmVzdWx0OiAke219YCksITB9X2N1cnJlbnRBdXRvVGlja1BlclJvd0RhdGEoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtyZXR1cm57c3ltYm9sOmUuZ2V0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6ZS5pbnRlcnZhbCgpfX1fb25TdHVkeUVycm9yKGUpe2NvbnN0IHQ9KDAsci5kZWZhdWx0KShlKT9lOmUuZXJyb3I7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiZ0LnN0YXJ0c1dpdGgoIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UiKSl7aWYoKyt0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcjwxMClyZXR1cm4gSC5sb2dJbmZvKCJSZWNhbGN1bGF0ZSB0aWNrc1BlclJvdyB3aXRoIG11bHRpcGxpY2F0b3IiKSx2b2lkIHRoaXMuX2NhbGN1bGF0ZVRpY2tQZXJSb3coKTtILmxvZ1dhcm4oIlJlY2FsY3VsYXRpbmcgdGlja3NQZXJSb3cgbGltaXQgaGFzIGJlZW4gZXhjZWVkZWQiKX1zdXBlci5fb25TdHVkeUVycm9yKGUpfV9vblN0dWR5Q29tcGxldGVkKGUpe0gubG9nSW5mbygiUmVzZXQgaGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXIgYmVjYXVzZSBvZiBjb21wbGV0ZSBtZXNzYWdlIiksdGhpcy5faGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXI9MCxzdXBlci5fb25TdHVkeUNvbXBsZXRlZChlKX1fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLHQscyl7Y29uc3QgaT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5tZXJnZVBvaW50cy52YWx1ZSgpLHI9IiI9PT1pfHxudWxsPT09aT9bXTpKU09OLnBhcnNlKGkpO3IucHVzaCh7YWN0aW9uOnQsdGltZTplfSksdGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubWVyZ2VQb2ludHMsSlNPTi5zdHJpbmdpZnkocikscyl9X2FwcGx5U3BsaXRBbmRNZXJnZXMoKXtjb25zdCBlPXRoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgpPz8iW10iO3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLm1lcmdlUG9pbnRzLnNldFZhbHVlKGUpfV9hcmVUUE9QbG90c0V4dGVuZGVkKCl7Y29uc3QgZT10aGlzLl9hcGlJbnB1dHMoKTtyZXR1cm4gJC5zb21lKCh0PT5lW3RdKSl9fX0sODc0NjAoZSx0LHMpe3MuZCh0LHt0cG9Sb3dUaXRsZXM6KCk9Pnd9KTt2YXIgaT1zKDc4MzI1NCkscj1zKDU3MDYwMyk7Y29uc3Qgbz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBoaWdoLWxvdyByYW5nZSJ9LHMoOTMxNDg4KSksYT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCB2YWx1ZSBhcmVhIHJhbmdlIn0scyg1MDUwMTApKSxsPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgVm9sdW1lIGFyZWEgaGlnaCJ9LHMoODY5MjgzKSksbj1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFZvbHVtZSBhcmVhIGxvdyJ9LHMoOTI4NjY1KSksYz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFBvaW50IG9mIGNvbnRyb2wifSxzKDk0OTYxNykpLGQ9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoNzI5MjAzKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg4NTYwMjgpKSxwPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUifSxzKDI2ODg5MSkpLGg9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoMTEyNzQ4KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg0Mjg3MjMpKSxnPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIEhpZ2gifSxzKDI3NjEzNykpLF89aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSwgYWJiciBJbml0aWFsIEJhbGFuY2UgTG93In0scygxNDgzMzUpKSxTPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIFJhbmdlIn0scyg1MTQ3NjIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsbykscHJvcE5hbWU6ImhsUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQSByYW5nZSIsYSkscHJvcE5hbWU6InZhUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQUgiLGwpLHByb3BOYW1lOiJ2YWhQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlZBTCIsbiksCnByb3BOYW1lOiJ2YWxQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlBPQyIsYykscHJvcE5hbWU6InBvY1ByaWNlIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVG90YWwgdm9sdW1lIixkKSxwcm9wTmFtZToidG90YWxWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUb3RhbCBUUE8iLHUpLHByb3BOYW1lOiJ0cG9Db3VudFRvdGFsIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVFBPIEFib3ZlIFBPQyIscCkscHJvcE5hbWU6InRwb0NvdW50QWJvdmVQb2MifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUUE8gQmVsb3cgUE9DIixoKSxwcm9wTmFtZToidHBvQ291bnRCZWxvd1BvYyJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlJvdGF0aW9uIGZhY3RvciIsbSkscHJvcE5hbWU6InJvdGF0aW9uRmFjdG9yIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgaGlnaCIsZykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlSGlnaCJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIklCIGxvdyIsXykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlTG93In0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgcmFuZ2UiLFMpLHByb3BOYW1lOiJpbml0aWFsQmFsYW5jZVJhbmdlIn1dfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/board/support.jpg","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.258Z","timestamp":1785124875258,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/board/support.jpg HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/jpeg\r\ncontent-length: 137246\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-2181e\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":137246,"size_decoded":137475,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2020:12:04 03:31:41], baseline, precision 8, 450x469, components 3","md5":"222fb07f63a774bb19799e62d86ee56b","sha1":"9a6886bd033068108e3ef6eb805af7f363cf60d5","sha256":"d2147fbe33b4ba0d322004f8d610e0e039d8076d253b53477e4ab55fd8b60124","sha512":"91f540332a573abbc05aebedda819c9f84db3d19f0d746d847612357ae1a189640ef8caf43db369dbe7f21046efbb2d9e150597cc870e4ecfbdcbde88166cb19","ssdeep":"3072:4mvms8tmjL4K6hYA1EVUmZdx6yW7wz64+VxLsDC:1+s0mjs1hmHzv64Yxx","tlshash":"48d312097d578959fad4a13a1236e3c363873e1126d3a39af46c7f4733582a16cac10f","first_seen":"2026-07-27T03:24:36.687282Z","last_seen":"2026-07-27T04:03:30.000553Z","times_seen":3,"resource_available":false,"data":"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AQABArwAAAABAAE4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAHg4QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0nEAAAAAAACgABAAAAAAAAAAE4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQAAAAAAAACAAE4QklNBAIAAAAAAAQAAAAAOEJJTQQwAAAAAAACAQE4QklNBC0AAAAAAAYAAQAAAAI4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADSQAAAAYAAAAAAAAAAAAAAdUAAAHCAAAACgBVAG4AdABpAHQAbABlAGQALQAxAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAHCAAAB1QAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAB1QAAAABSZ2h0bG9uZwAAAcIAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAA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YXRlRGF0ZT0iMjAyMC0xMi0wNFQwMzozMTo0MSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0xMi0wNFQwMzozMTo0MSswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMTItMDRUMDM6MzE6NDErMDE6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0Y2REYxRDdEODM1RUIxMUExRTY5QUEyRDQxNkRDMUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0U2REYxRDdEODM1RUIxMUExRTY5QUEyRDQxNkRDMUEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRTZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpDRTZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgc3RFdnQ6d2hlbj0iMjAyMC0xMi0wNFQwMzozMTo0MSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkNGNkRGMUQ3RDgzNUVCMTFBMUU2OUFBMkQ0MTZEQzFBIiBzdEV2dDp3aGVuPSIyMDIwLTEyLTA0VDAzOjMxOjQxKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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"}},"time_used":102,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":64,"receive":38,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-top.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.522Z","timestamp":1785124875522,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-top.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 40504\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-9e38\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":40504,"size_decoded":40730,"mime_type":"image/png","magic":"PNG image data, 450 x 271, 8-bit/color RGBA, non-interlaced","md5":"fe5f48c06d6c25d6cb931d59c3e56412","sha1":"339797168713db01863b33c59dbf4b842aca6adf","sha256":"25e434de0fb3906eb7f249a9b88bc2d8a56974867752c6d5d43884dec7ae7246","sha512":"97f1def66e6372676f64e4cc9d39c324f240a163f0a097f89e4394c81a33c897850aa866734e463ec0ddc4c228c475850cc701f32b4f651585783a47d61d6973","ssdeep":"768:hYpQAf8Phxcxvjqr1B8bjtuF6jhKHFeOfv7/PP67F5tUj3Jlyq3Jr42DPBRXY:hGfQhxcx41qbxuF6jkHFXfrPP67F7Ujs","tlshash":"7703011747af741f600848a73caaa4b781632130065db4c89b8784fa5d282f722fc9ef","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.140218Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAcIAAAEPCAYAAADRbsQvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkNDMjg0NDQ4MDgxMUVBQUM0OUZEMDBERTIyOTAzNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkNDMjg0NTQ4MDgxMUVBQUM0OUZEMDBERTIyOTAzNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZGQ0MyODQyNDgwODExRUFBQzQ5RkQwMERFMjI5MDM3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZGQ0MyODQzNDgwODExRUFBQzQ5RkQwMERFMjI5MDM3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6nlTvQAAmq1JREFUeNrsnQm8JFdd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"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.879Z","timestamp":1785124875879,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-79ea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 93aba4cf8395f294b29324805382ec1a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T06:14:34.318378Z","times_seen":479,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62600.6106356cb816fb74b17b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.736Z","timestamp":1785124876736,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62600.6106356cb816fb74b17b.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-146d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 01558f2272cdeac39f55ff8e8d79f0e1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5229,"size_decoded":2117,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5229), with no line terminators","md5":"d7ea1ec834cf91a040325bf4ce34f925","sha1":"0e34981976b5428933d87649f4e113d7b409a3b9","sha256":"fcd588160da6452887ebf4d1c522d196ea1fac8d17a58ed47e62f1f0d21b1e2d","sha512":"28eac8fd6dae3ee056842ef33367e88045ddcc76dca080bb2bd1525ba419a0b977c2a9355af008ed3a33c42e7e53add886ed268cd67340b988a14b8e4f33f9ea","ssdeep":"96:DxvxrXUfOCYwE/U8BfOfqFmn6w67T+Di1FuxgZcipAR/kESRLUUBNbkuuVIlkK/:XUo/vyqFmn6w67Cm10xgWKAR/kESRLUE","tlshash":"51b1eeb5f3c041bef413c71fb398bed803a79955ab2e9df8e025ba151a86fd52111388","first_seen":"2026-06-17T17:50:59.584306Z","last_seen":"2026-07-27T06:14:34.123653Z","times_seen":330,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLV8xLXp4Um46dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLV8yLXp4Um46dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC16eFJuOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tXzEtenhSbjp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tXzItenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0ud3JhcHBlci1qV21NbTJWQXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MjE1cHg7cGFkZGluZy1pbmxpbmUtZW5kOjE1cHg7cG9zaXRpb246cmVsYXRpdmV9LnRpbWV6b25lLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MThweDtwYWRkaW5nLXRvcDo0cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJX0ubGFyZ2VQYWRkaW5nLWpXbU1tMlZBe3BhZGRpbmctdG9wOjhweH0uc2Vzc2lvbkRheVdyYXBwZXItaldtTW0yVkF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubm93V3JhcHBlci1qV21NbTJWQXtib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjMwcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0ubm93V3JhcHBlci1qV21NbTJWQSAubm93LWpXbU1tMlZBe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Ym90dG9tOi0xcHg7b3V0bGluZToxcHggdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkgc29saWQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDoxcHh9LnNlc3Npb25EYXktaldtTW0yVkF7YWxpZ24taXRlbXM6YmFzZWxpbmU7ZGlzcGxheTpmbGV4fS5zZXNzaW9uRGF5LWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctdG9wOjNweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MzBweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBLC5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1dyYXBwZXItaldtTW0yVkF7ZmxleDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrV3JhcHBlci1qV21NbTJWQXtoZWlnaHQ6MTZweDttYXJnaW4tdG9wOjNweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBe2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo3cHg7bWFyZ2luOjIwcHggMCAycHh9LnNlc3Npb25EYXktaldtTW0yVkE6Zmlyc3QtY2hpbGQgLnNlc3Npb25EYXlTZWdtZW50cy1qV21NbTJWQXttYXJnaW4tdG9wOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQXtjb250ZW50OiIiO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1NlZ21lbnQtaldtTW0yVkEgLnRpbWVNYXJrLWpXbU1tMlZBOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQXtwYWRkaW5nOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGQ6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQTpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZDpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkF7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMXB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10aW1lLW1hcmspO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBe2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2hlaWdodDoxMDAlO29wYWNpdHk6LjM7cGFkZGluZzowIDJweDtwb3NpdGlvbjphYnNvbHV0ZX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQTpmaXJzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDowfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBOmxhc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnNlZ21lbnQtaldtTW0yVkE6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2ZsZXg6MTtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MXB4O3otaW5kZXg6MH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zbWFsbC1qV21NbTJWQXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xcHg7cGFkZGluZzowO3otaW5kZXg6MX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQTpiZWZvcmV7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjRweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6NHB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4fS5zZXNzaW9uRGF5LWpXbU1tMlZBLmFjdGl2ZS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQXtvcGFjaXR5OjF9LnNlc3Npb25EYXktaldtTW0yVkEuYWN0aXZlLWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5ncmVlbi1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0uZ3JlZW4taldtTW0yVkE6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5vcmFuZ2UtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm9yYW5nZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJsdWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKX0uYmx1ZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0ucHVycGxlLWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0uZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5ncmF5LWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0udG9vbHRpcC1qV21NbTJWQXt3aGl0ZS1zcGFjZTpub3JtYWx9LnRvb2x0aXAtaldtTW0yVkEgLnRpbWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKTttYXJnaW4taW5saW5lLXN0YXJ0OjVweH0udG9vbHRpcC1qV21NbTJWQSAuZ3JlZW4taldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0udG9vbHRpcC1qV21NbTJWQSAub3JhbmdlLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuYmx1ZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTMwMCl9LnRvb2x0aXAtaldtTW0yVkEgLnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/cert.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.243Z","timestamp":1785124875243,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/cert.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 162886\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-27c46\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":162886,"size_decoded":163114,"mime_type":"image/png","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 300x300, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4], baseline, precision 8, 1063x1503, components 3","md5":"9a8499a59fe458d43a1d0f7a47e71b4e","sha1":"2312dcd2a650f5a373ec1cf3e74e374280c216ed","sha256":"cfc36fb251534b93eadf93610bde60287ec1fb89b9d8d8292b4c3f9a565b6947","sha512":"76d836b25a0344faabca7d4b0e659fd1f2f0ad73b65b7d372d36d5092a4591b6dbc7e78e512b5a00510754e606797c8981c926f6bbc5268d0795d9996375c0da","ssdeep":"3072:IGhBHa53qJdKpDYP5XW8k1b0xAr97CKE/FMN:zhkcJ8pDm4vAxI9/Ed8","tlshash":"d1f3c8439c185693e55c93f8be130eac2e191b4de9863aff346e5ec67f641220d4e43a","first_seen":"2026-07-27T03:24:36.976629Z","last_seen":"2026-07-27T04:03:30.104789Z","times_seen":3,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQEBLAEsAAD/4RDaRXhpZgAATU0AKgAAAAgABAE7AAIAAAAFAAAISodpAAQAAAABAAAIUJydAAEAAAAKAAAQyOocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtJTkEAAAAFkAMAAgAAABQAABCekAQAAgAAABQAABCykpEAAgAAAAMxMgAAkpIAAgAAAAMxMgAA6hwABwAACAwAAAiSAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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MS8iPjxkYzpjcmVhdG9yPjxyZGY6U2VxIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpsaT5LSU5BPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0ndyc/Pv/bAEMAAgEBAQEBAgEBAQICAgICBAMCAgICBQQEAwQGBQYGBgUGBgYHCQgGBwkHBgYICwgJCgoKCgoGCAsMCwoMCQoKCv/bAEMBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIBd8EJwMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP38XoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACvmD/go5/wVZ+AP/BMKx8Baj8ffBvjHVU+IniZtD0QeENOtLgw3ACHfP8AaLqDbH845XeevHr9P1+Mv/B4N/yLX7K//ZZJP/QLegD9lreRpVLN/e457VJQvQfSigAJA6mivw0/4OPv+Cs/7cvwV/bBT9iH9gT4h2/9ryeCUk8QW3h/wSH8Saf9sQl7Wyu5Hd5vNi8i5b7JCssPkq3mEK4j+pP+CD3/AAW6h/4KB/si+NfiB+1RqPhzw/40+GF/J/wlsWjpJHF/ZGwPFqJt2kllSNQJElkPygxMxIHQA+5vjJ+0r8MvgR4x8BeCPiFdanFe/ErxaPDfhUWGh3N3HLqBtprkJLJDGywL5VvM+6QqAEZvuo7L6CSB1NfFP7Rn7bv/AATr+IHx8+HXhTx7+0QNN8S+EvjlaeHdP0m2h0thNrEulpqVsbg3kMkgsJIjBtubZkHnyQjeJI1MfuH7J37aXwB/bs8C6Z8WP2cfibaalptzopvbjSJFQXtskt3PbQyzIrsYR5thexgHIcxtg/JggHsu5c4yKUEHoa/Jj/guJ/wW4+GX/BLP48addfs3+PLHxd8W7qKCw+InwovTO2lJpbQzS2+pTyxAC21FH8qNVV98lvMBKhVLZl+r/wDgkX/wV0+Av/BWb4E3vxK+GOjXmgeI/DtzDZ+M/CGoury6bPJHuR45F4mt32yeXJhSfLbcqEEUAfXFFAORmigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikdgilj0AoAWivmD9s//AILLf8E3P+CenxOsPg3+2J+0aPB3iTVNCj1mw01vCOr3/m2Mk00CTeZZWk0a5kt5l2lg3yZxggnyL/iKI/4IVf8AR86f+G28Tf8AytoA+/KK+A/+Ioj/AIIVf9Hzp/4bbxN/8raP+Ioj/ghV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z+EfCPgrUby08NeH9IihigsNKhlltjIqosbPJMttuZpSNhVEA8X/AOCNH/BPv9qT9ha5+NWv/tW33gLW/Efxb+Jlz4tuvEnhLXr29uWSZV2WM7XdjA7pCxnZHLt/r2+Rckn7rMaHqg6elG1c52j8qAPzh0H/AIIy+P0+C2g/sZ+KvFvh64+G/h39oef4lweOodTmfxNew/2hNfwWk1u9l5H2jzJVgkuhOQ8UZKxKWCL1tl/wT/8A2ttf/wCC4f8Aw8p8dt8OdQ+H2lfDl/CHg/RJPE2oSatpCu6M+oxxPp3kRTOGuUaKOUDZcEGU5YN94hEAwEGPTFG1c52jP0oAbDAkOdpPJyc0+iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAoopizo0nljOfpQA+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopHdUUux4HWkjlSUEoeh5oAdRRRQAUUUUAFFFFABRRRQAL0H0ooXoPpRQAUUUUAFFFFABXhP7aH7Hvif9sHQNE8N+Gv2vvi58H30a/nuJtR+E/iKLTbnUA6hRFcNJDLvjUgsoAHJJr3aigD4I/wCHInxU/wCk2v7Z3/h0LX/5Co/4cifFT/pNr+2d/wCHQtf/AJCr73ooA+CP+HInxU/6Ta/tnf8Ah0LX/wCQqP8AhyJ8VP8ApNr+2d/4dC1/+Qq+96KAPgj/AIcifFT/AKTa/tnf+HQtf/kKj/hyJ8VP+k2v7Z3/AIdC1/8AkKvveigD4I/4cifFT/pNr+2d/wCHQtf/AJCo/wCHInxU/wCk2v7Z3/h0LX/5Cr73ooA+CP8AhyJ8VP8A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q9vrnhn+y1e31NHQRsbgvlp22KihpCzAIgBGxcer0UAfP+gf8EuP2A/C+jeBtC0T9kzwVHbfDTVZ9S8CJJpYlbSLqYqZJUdyWcsUj4csB5UeB+7THvkMRih8onJ55FSUUAeJ65/wTx/Y18TeLNf8Z63+zv4da68WXMNx4vtYYpIrDxFLEzvFLqNlGwtr91aRzuuI5Dk9a+ev+Cjvw2/b3+Pnw5+JP/BO/wDZ/wD2ctH0H4c+NPBekaB4V+J+m69aW9vpFtcSmHVobuyaQSiOKzRkjjgibzBOFDLg7fvGmNbxu/mNnP1oA/L/APaL/YK/a+/aZ/Zx0z/gj5b/AAMtfA3wS8N+M/Dmnx/EvTdfsWTWfB2l20VzKZbVWM39oT3kUa7fISMSKZWZlyG+8Pjx+xp+zN+1F8NNF+D/AMe/gjoHiXwr4f1S21LRNAvbYraWVzbwvFA8cUZVQEjkkQL93axGMV6cLKAIIwpwBgDPapERY0CKOAMCgDyH42/sGfsg/tJX3hrV/jt+zp4T8SXvg91Phm8vNLVZdORRgQRum1vIwcGEnym4ypwK0PjL+xx+zH+0H8JrT4E/GT4DeFNf8HacIhpXhy+0WI22n+UhSI2yqo+zMqEqpi2lVJUHBIPp9FAHlFx+xN+y3dfs83v7J8/wG8Lt8OdTtPs2p+Ef7MX7LdqChEkuPmkm3Rxv57Eyl1DltwzXbfC34Y+Cfg34C0f4XfDTwnp+g+HdA06Ox0bRtLgEdvZ28Y2pGijoAB9Sckkk5roaKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo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Rr/iLwVo/inWvPh8P6jq5RZp4WVVdzDGrR24kZlhWWTaNxDL9b0UAfLP7KX/AATB+GP7M3xF8P8AxY8QfFTxt8RvEvg/wdL4X8F6z461NbqfR9OnvJrq5ClFTzZ5WkRHnk3OY4IkBCht31CLSEHIX9alooAiNpA2Mp0GBg0Cytxj5emMc+nSpaKAG+Wvl+UemMUw2UDAq4JBPdv8KlooAj+yQ8kLgscn60fZIcbSDg9eakooAjNpCSSVJz15oW0gQ7gvPr3qSigBskSSgK4zg5HPemfY4P7p65xmpaKAIvscHOVznqDSi2hUEBfvdeakooAbHEkedg69adRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXyn+3X/AMEy4P2yvjZ4W+OV1488I6g3hXw1daRZ/D34xfDGHxl4PZ7i4jlfURpjXVo6X+2MRC4FxxGAoUAvv+rKKAPkn9jb/gkn8Fv2Vv2jrj9rdfDPw307xvL4Pk8NQWnwg+FkPg3QorOS4jnmlNjHc3Ty3DtDEvmyTttVMKo3En62oooAKKKKACiiigDzzWv2Zvhz4q/aC0f9pLxrc6trWu+GLSaHwbY6jqBOneHnnhMNxc2tsgVPtMsTNG1xL5kqxySRxtHHLIjeh0UUAFFFFABRRRQAUUUUAFFFFAEd3aWl/ay2F/bRzwTxtHNDMgZJEIwVYHggg4INfH3wP/4Is/Ar9kb4neI/iB+w3+0T8Wvgppfi3Ulv/EHgHwTqmkXfh64uASS8dnrGm332YkEr+4aPam1F2qiBfsWigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAXoPpRQvQfSigAooooAKKKKACmzSeVGZNpOOw6mnV4p/wUX8W/tGeC/wBhn4qeJ/2QfDkur/Eyy8GXsng+ytkR5hd7CPOiR/llliUvKkZDeY8aptbdtIB7IL5G+4hOVJxkdu1OhuhMwTyypIJ5+tfkD/wTe+IHwT/4Kf8A7COmfDz9nv8AbG+KWhftK+FYLG8+K6eIfH2rwancXb3Q/taJ42mETWVwpuYomtgDaebb8I8YQ/V+mfFD4WftAf8ABYaDw/8AC39uHxra6/8AA3wJfWHxF+BUfhTUYNJuzfeS9tqFxdyols7BJonQKZGcLGUZFWUOAfalFfKd1/wV/wD2QI/i34Y+F2k67ruqWni34lf8K/0bxlpelCXR7jxIBIXsYpGdZrkRmNUkuoIpbWJ5o1eZW3KvsH7Y/wC1L8Of2Kv2ZfGX7UPxYvDFoXg7RZb64jRwsl1L92C2jyD+8mmaOJOMbpBnjNAHo8l2kbmPaSQM4FOgnWddwGK/On/gktZ/tBf8FQvg8f8Agox+3J418Q29l4x1i+b4UfDTwr4sutN0fQdBjkaFGlSyeF765kkWbMt0XIWOMqsedo93+HPh/Rv+Cangb4w/Gv8Aaf8A2pNcn+G0OvW174auvG3iG41E+H9GisLWJbON5S88zm7a4RVzJLKTF99320AfUVRzXCxELsLEjOFrwL4Wf8FEvgl8S/2grL9lvWNM8T+C/Hus+BR4z8NeG/GmlJaT6voZmaE3UYSSTynV0Ja1uPJulALGEKjlfhX/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rLclTI8cMaxqzlQAWIUE4AGc8CtqiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopCyqQCwGemT1oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKABeg+lFC9B9KKACiiigAooooAKp+INWOg6Hea2ul3d8bS2eYWdhEHnn2qTsjUkBnOMAZGSQKuV8/8A/BU39qCz/Y8/4J5fF/8AaEXWorLUtB8C3/8Awjssh4OqzRNBYjAdCR9pkiztYNtDEcigDH/Yc/4Kw/sq/wDBRHxF4j8P/sw2/i/U18JXQtfEep6l4Uns7OyuTuxbtNLhWlOxjtTcQACcAjP0xX54/wDBr9+zPd/s+/8ABI/wb4l8RPcy618T9VvfGmqy3u7zG+1FIoPvqrYNvbwPklgxkZgxDir3/BYv9v79oH9gH9ob9l7xD4X+I2n2Pw38f/FSLwz8RNCudGhMsttNsX7SLyQSNDHEJC7IkYZvLH7xQTQB+gBIAye1eUeM/wBtb9nfwD+1b4L/AGKfE/jR4PiL4/0G+1jwzoosZmW4tbRXaVmlC+XGdsczKrMCRC/oM/CPwo/4Kkftc/ttfDn4t6L+z94gt/BfxI8H/tdWPgrRvCGpaCt1cQ+GEaziuY5n+zyRCVlg1a5klJPkLGy7xiIv6L+zF+1Z8bv2mP8AgsN+0Z8IR4Q8Aa/4K/Z80Kw0/wAJ+KrXw9Cus22p6pbQTy6a1285ZUEltdRyCJFUm1TzCCFyAffyyB4/MQZyOBXz58O/+ClXwJ+KX7bnif8AYB8J+FvF7ePPBWivqvi03WjpDZaXbH7MbdnleUNJ9oW6jeLylf5Q3meWdob5n/4I3/ti/ta/t46v/wALI+Ln7Q9zp174Du/EmgfHL4LX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UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAVgeOvit8L/hda2998TPiPoPh2C7kMdrNrurw2izMBkqhlZQxA5wK368u/aa/Yo/ZS/bM0jS/D/7U/wACfD/jqx0W6kudKtfENn5yWsrqFd0GRglQAfYUAXf+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHaP+GvP2T/8Ao534e/8AhZ2P/wAdrxH/AIcTf8Eff+kefw0/8EY/xo/4cTf8Eff+kefw0/8ABGP8aAPbv+GvP2T/APo534e/+FnY/wDx2j/hrz9k/wD6Od+Hv/hZ2P8A8drxH/hxN/wR9/6R5/DT/wAEY/xo/wCHE3/BH3/pHn8NP/BGP8aAPbv+GvP2T/8Ao534e/8AhZ2P/wAdo/4a8/ZP/wCjnfh7/wCFnY//AB2vEf8AhxN/wR9/6R5/DT/wRj/Gj/hxN/wR9/6R5/DT/wAEY/xoA9u/4a8/ZP8A+jnfh7/4Wdj/APHaP+GvP2T/APo534e/+FnY/wDx2vEf+HE3/BH3/pHn8NP/AARj/Gj/AIcTf8Eff+kefw0/8EY/xoA9u/4a8/ZP/wCjnfh7/wCFnY//AB2j/hrz9k//AKOd+Hv/AIWdj/8AHa8R/wCHE3/BH3/pHn8NP/BGP8aP+HE3/BH3/pHn8NP/AARj/GgD27/hrz9k/wD6Od+Hv/hZ2P8A8do/4a8/ZP8A+jnfh7/4Wdj/APHa8R/4cTf8Eff+kefw0/8ABGP8aP8AhxN/wR9/6R5/DT/wRj/GgD27/hrz9k//AKOd+Hv/AIWdj/8AHa7Pwr4u8KeOtBt/FXgnxNp+saXdBja6jpd4lxBMFYq22RCVbDKwODwQR2r5dP8AwQl/4I+kY/4d5/DT/wAEY/xr6I+CPwN+Ef7Nvww0v4L/AAJ8Aad4X8KaKso0nQdJg8u3tRLK80gRe26SSRz7uaAOrooooAKKKKACiiigAooooAF6D6UUL0H0ooAKKKKACiiigAr5N/4Laft3/Fr/AIJtf8E8/FX7WfwR8M+HtX8RaHqulWtrY+KbaeaydLm9igkLrBNC5IWQkYccgZyOK+sq/OT/AIOtbee5/wCCKvxCht7eSVz4h8PYSJcn/kK2/bBoA6P4TeJv+DjnxXd+GPFfjb/hieLwvqT2V3qyaXJ4vGoDT5GR5BEJAY/P8pm2hjs34ycV037Of/BSD4tfFH/gr7+0h+wN448PeF7HwN8GvCuharomt2ttcJqEzXljZ3MxupXnaEopuJMbIo8Kq5JwSfgr9jLx1/wapeAvit8MfFnwq+IfiqH4m2Gq6S2ifaU+IEsQ1ktGqKyTxm2K+eQMP+69flGaqftDfCX4z/GP/gqB/wAFS/h58CrPUG8Ua18BfDcWiR6fJJHNdsukaU8lvEycs8kaSRhB98vtPDGgD9Rv2ff+CuP/AATc/ar+NFz+z1+zz+154U8V+MLdLl10nTZpcXSwNiU20zosV0AMsDC77kBdcoCwz/iR/wAFnf8Aglp8Ivja/wCzt8Rv23vA2l+Lob37Hd6dNqDNFZ3G5lMNxcopt7eRWUhkkkVlOAwGRn8Q/wBjXQtf/ag8W/spfstWP/BQTxZP4v8Ahj4n0q9f4beHP2PEsL34bXdiqR3MWpawJrZ5IfM3RS3BMnmPtlmj8wKtd9+w38ef2Pf2HP2QvjH/AME/v+Cl37I/iX4h/G7WPjLc383w3l8Haje3vxARrm2MN5bXggMcih4ZZVeSRDJ5eRndmgD9Hf24f+C7HwQ/ZC/4KKfCD9hqXUtFmt/GVwZPiB4kvZbhh4etpoA9gsccUZEz3MjRhXDMqg8jnj2Pw5/wWQ/4JneLfj1B+y94b/a00G7+IFx4tufDMXhWOyvPtX9qQSeXLbkGEBcPlRISEYq21jtbHwl/wVG8Q+D/AIL/APBVv9gD9pD4o/C/UfBvgfTNN1LTdbeTQJ72LRbq6skhstOna2jkDTK5CBRnAjZ+FRmFX/gib8HNY8SWv/BRPW/hjoNrp/xE1n45eK9M8L+IJ4hHJDcqt8bErKQfLVLi5ZwwHG8k5AoA/QKf/gr3/wAEzLX9ohP2Urj9tLwMnj19QFgNEOqfILwvsFobnH2cXG/5PJMnmb8Lt3HFan7RX/BUH9gb9kr4kXfwj/aQ/aY0Lwh4isfCy+I7nTdXiuFI01pjAsyusZRy0qlFjVjIzcBTkV+GGneKPgXp3/BFq5/4Iz6r+xX4q/4bEl8Yvap4QPw7ma+m1dtSMieIBqGzyPIW0/0bz/O3bV4BhzJX158K/g54o0b/AIORPgf4B/aDtLTxN4i8M/sPaba67q97aLcJLq8Jube4uUZ1I3uxm+bglZWHRiKAPsb9qT/gqp8K77/gnNrn7b/7Cv7UHweuLGx1e0sbfxZ8SotXfQrWVryOGWG7h06I30UpV8Ivljl42PyNuPW/Hf8A4K5f8E+v2OYvD3hr9rf9rbwf4a8S61odvqA0q1a5upDHJGrCbyIo3mhhckmNpVXcAcZKtj8NtY8KJov/AAQC/bm8O6D4bFlbWn7ZPk6dp9paeXHFAmoaWqLGigBUCjAAGABx0r6F+GXxq/Z4/wCCcX/BUT9oH4mf8FTPBesR+E/i/wDCTw/H8M/FN34T1DV7TUtPjsIEu9JgaGF9kj/ugVO1I/s+GdNy7gD9fPij/wAFB/2I/gx8ALD9qf4kftQ+DdP+Hmr4/sXxamtRz2mqMd3yWrQlzdP8j/JEHb5G4+U4+c/2vf8Agtb8CbP/AIJo/Fj9ub/gnh8ZPAvxJ1X4d2di402+Nw8UEk+oQW2Lu1V4LmNSjyMhOwMVBBZQQfi79uv9sLQvgZ+wP+yfafDr9gKz/Z7+G/inxrfXD+IPHHwwXxPcfCZ4bsTpc2+myJ/r7meS5uY2fDtFAzCFi4Rfj3X7+XW/hT/wU81EeMfFPiU+IvDXgzU9E13xp4Q/sDU9dtBrluPtqad5MJhg/eRhAsSBY2hyql8UAfq34o/4LU/FP4d/tf8A7LXwk+J3h7wjpvgH4v8A7Olx8R/iRrlvouoT3ukyw6Nd38n2QRTvtt0NuCVeKZwm75v4h9eaz/wUQ/Yw8MfsyeHf2wdZ+P2lH4c+Krm2tvDvie1t7i4TULi4kaKKCOKKNpmlMiuhj2blZGDBSpx+WumeELHxd/wV2/4Jv+GPE/hyPUNIv/2Mp7LV7K8tvMhmgk8M6ikkMikYIZWKlT1Bx3rxX9jP4O/Fjx9/wUp8B/8ABCTx3pdxf/Dz9lv49eIfiTKbkmaC70GFbeXREkR5LgbPNvXyj4wl/wCW3z7yAD97fjb8bPht8BvhFrnxz+KvidNF8M+GdKk1LWdTuoJMW1sgyzsiqX49ApPtX4yfs6/8HIX7bf7UNs3xU0b4l/sh/Djwi/jq20f/AIRXx/b+MZ/ENpDcyy/ZUeSxiktZJZYoJtrgqu6MlljBAr9uvE+lWF94Yv7C8tUmhks5FkilXcrjaeCDwa/mQ8KeH5of+Daj9n++i0Erfv8AtvWYmkW1xKUWDUsZOM4Ge/FAH7SfDb/gpb8TNc/4LGfG79gX4gWHhDSfh18LPhNY+LbXxM8c8N8ryRWEk5up5JzAIEF1M2RGhUIuWODn1j9mP/gq7/wTt/bI+KF98FP2Zf2r/DPi/wAU6day3E+kae0ySSQxNtkkhaWNVuFUkEtEXGCGztOa/Ij/AIKZ/Bn44/G7/gqH/wAFCvh1+z/perXXiTUP2Y/DEmn2ukectxeQwXnhy5u7eIxAtI0ltDPH5Qz5m7YRhjXH/sHaZqf7Wn7VX7KHw+8N/wDBQ3xN4m134Q6ha6hceEvDP7IEehDwRHapbrd6PqeqLPARHNHFPbGYCdC0ZZl3soIB+q//AAUD/wCC1P7H/wCyx4M+KPgH4bftL/D/AFP41+CvAmrato/gTUbySeOW/s7eaX7HcGFkVZcxHdbeak+3kAZBr2X/AIJxftIeN/2u/wBhj4V/tR/EjTNLsda8deC7TVtVs9EhkjtIZ5UyyxLLJI6oOcBnY+9fhDH8UfhV+x3+wZ+3J+wN+2d8B/Fmp/tAeN/H+vaxoznwffXr65YOU+za2L5otn2S3uYJ7o3DupffkBzuA/ZH/gjTper3v/BFn4EaPpxeC+m+ENnFAxYo0chgYKc9VwSOeooA86/4KV/8F5f2Vf2ZPgZ8Wbf9lz9o34b+LvjP8PNIiubbwTqNzNdW0ko1C2tbiF2gkjWWWNZnLQxzeYpRiy4RxXtkX/BS79nD4G/sW/DD9q79t742eFfh+PHvgfR9WaGeWRRcXl1Z2880VnbgyXEyo04yFEjImGc4BavwR1T4tfBf9nr/AIIR/GX/AIJnfHj4AeLf+GkLT4l3Oo67aXHgu+lliX7dZFfEU988XlLbFEW0VjJvd2jIQrIsh+svE99Zfsk/tjfsf/8ABQL9tr4WatrX7PWmfsm+H/D+k+KYPDkus2ng3xC1jAWurm2hR5INwkjjSQIxZpRsyyHaAfr98Mv24v2QvjH+z/dftVfDX9o3wjqnw6sLV59T8YJrMUdlp6oivIty8hX7M6K6l0l2Mm4bgK4n9l3/AIK2f8E4f20fiDcfCj9mT9rbwt4p8S28TSjQoJJba6uEVXZ2gjuEjNyFVGZjFvCDBbAZSfxW+K37Ln7SH7V/7I37eH7Tf7DvwQ8UeG/g38UvFPhvVfhz4Lh0abT7jxHb2MyTahqFpp8a72ilBMyjaA4kwASjBfuH9iH9u3/gmf8AtXftTfs+eE/2R/2LtY8U+N/Bnw8ew1Lx1beD7vTovhRGuneV9gupriGNJTJH9sgDxtIGeNVQuJCyAH27o/8AwUy/Ya1/4J+Pv2jdI/aA0+bwV8L9cn0bx7r66ddiPSL6Fo1lhdTDvcqZoxlFYfOMHrWZ8V/+Cs3/AATo+Bdl4H1T4xftWeHfDVp8SfCY8TeCbzWEuIIdT0owiZbhZGiCpuQrtRyrszKgUswU/hfbftHeC/gH/wAE5/8AgoP/AME9/if4U8YWHxZ1/wCLus+IdN8NDwheyr/ZU11p6/bJJ0jMMESiNWLSuu4Tw+XvL4r6R8L+ENL8U/8ABRb/AIJJaP4p8KW+o2I/ZfjluINQshNEk0Xhd5YmKuCoZJER1J5VlUjBAIAP0QP/AAXk/wCCQI+H1p8UH/b18ELpF9q76Zal5p1umuUVWcG0MX2hUUOhMrRiMb1y3Irv/wBpz/gp9+wF+xt4f8OeJ/2kv2pfC/hqz8XWy3Xhh2uHu31O2K7xcQx2yyO8GCv74Dy8uo3ZZQfxU8XfBf4ff8K6/wCCwrJ8KdGD6L4s0z/hHGXQogbMG/1CQ/Z8J+7+dEf5MfMqnqBXE31v8bP2W/2h/gF+058SP2sb34F+BvE37FngPS/BnxS1L4ISePtOtp00exE+kLbMjCxnd4LictEC+1jkYmkIAP3s+In/AAUf/Yg+FX7OXh39rnxz+0Vodr8NvFl3bWvh7xdAJrm1vZrgSGKNfJR2Vj5MoIYDa0bK20gisj4O/wDBV3/gnZ+0F498W/C/4LftY+FvEeveB7C7vvEmnadNIWgtbVitxPEzIFuo0I5eAyLgqc4ZSfwv/aT+AOs/Dj/g3vsdfj8f+K/FWh/ED9rXT9f0ix8U/CxfCv2WGaC7WU2+nx3M6C0lcNIhTZHhiFQKAT99/FH4a+DfBH/B2D8G7DwV4E03SdOn/ZYu2u49L0yOCGR1udZhXeI1CkiKOKMZ6IiL0UAAHt3/AASK/wCC13ww/wCCp3xd+Mfw58Kw6Xpx8B+I5Y/CFray3Es+s6CkgiXVpGkjVEWWRk2xYDKCMg848t/4LUf8F4tZ/YD/AGkfA37IH7O+u/C618Y66JLzxp4i+LMeryaP4ZsvJ325lj01fPZ5yflePzdvl7Wj+fcnNf8ABun4h8K/D/8Aa9/bT/Zw8UaPe6L44l+POs+JrPRtQ0C5t3OhSXRSG4WR4hH5btJGUUNllZXClSGrW/4Kx+G7DUf+C+P7A81xoMVxDcTeK1v2a1DLIq2kW0OSMEDtmgD6dvf+Cvf7C37Pt54S+Cf7ZX7aPwu8P/FW+8P6c/ijTNJ1Kf8As+11CW3jeU+ZKpNnbs77ovtbRv5TIzYyTXf/ALU//BSj9hr9ia48OW/7U37RuieDv+EusLu98Ny6hHPJHqEFsiPM0ckMbrwJY9oJBcuoQMSBX4rfCn4kfBX9hv8AZl/a1/YW/wCCkv7LHiHWf2iPir4x1i88NJF4Bn1eT4gi9RRp8lleRRtGwt7pmuss0ZQy/IDKGjXqG/Za+Lfwz+PH/BJT9nX9sPw6dS8Q+Hk8Qy65p+o4n+wtHNa3ljbS4yu+2jFrHjJAa3xkgZIB+zlh+2X+zd4l/ZXl/bY8L/FOzvPhnD4cutc/4SkJJFC9jAHMkoWVVcY8twAVBJHHWvgPwP8A8FOv+C4H7SPwSv8A9vv9lj9gf4bXPwWEr3fhf4f+KNS1MePfFOlRvt+2Wa25a0QyL86RMGZ9jeWJg8Zb7p/bu/Zq1D9pb9iH4ofsueAr200e88aeANT0TTLiS3zDBNPbukZKqRhdzDOPUnnGD+bX7Jf/AAWn+Hf/AAT/AP8AgnX4b/YW+KvwE8f2X7UPwy8LHwvo/wAG28G6hdtr+owu8NrcW93bxeRLaSBUldlkB2iVY/N2q7gH6Lad/wAFAPgp4F/Y48PftjftcTz/AAS0vV9JiudV0T4kK9jfaVeMjF7BopUSSacMkgREjLyhQyqQwFXfgf8A8FGP2If2k/gh4j/aM+BX7SHh3xN4P8IWNxeeKtU0yZ2k0iGFJJJGubcqJ4fkhkdQ0YLqu5AwIJ/Nv/gqXJ+0pqfxJ/Yo/wCChH7eP7J91J8M/h6bu/8Ajt4D8Nga/D4W1S4gHk3s1uqlpYYSiyuwEixGIxlnJRpOE8JvpH7XH7WH7Z3/AAUL/Yo+HGq6D+z9qP7Jmv6Be+Ibjw1LpFn438QCxnJu7a3mSOSXy/KkR3KKQ0fz4aQAgH6KeGf+C7//AASD8YeJtA8IeH/29vAs1/4mi36VHJczRR/fkQJPLJGsdrIWibEc7RuQUIBEiFu8+B//AAVA/YC/aU0Hx34n+BH7UfhrxRY/DS1muvG0+lSSv/ZttEsjvcY2AzQ7YpCJYg6Nt+VjxX4efHT4R+CH/wCDbn9hPWB8MNKOp6j+0bp0GrT/ANiRGa4gmuNfEySts3Mkgih3hshvLjznauPozWvBeg+Cv+CzX/BSDSPCfhKz0nS1/ZBeWG306wW3gMj6Hp7uwVAF3MxZiepJJNAH6C/Dn/guJ/wSX+LPjTw58PPAH7dnga+1nxYANCsnvJIDNIZWhSB2mRVgnd0ISCUpI+5CqkSIW6f9qz/gq7/wTt/Yh8X2nw9/ak/au8M+E9fvLb7RHoc7TXN5HCcbZJYLaOR4VbPymQKHw23O1sfgTH8SfgJ8e/8AggR8BP8Agnr8DvghrWr/ALTWseLkv/CkWmfD69iuYYX1y+8zWYtRS38qS38uP7M7pKzqy/MoWEsn0P8A8FBP2o/G+r/t1/G39lf4jW978IfENt8GU0TwtdeBfgUPE/ij4xSHTiTG+qNbSSW0CtGQrJGoCJJunUwKAAfr18Sv+CoP/BPv4Q2vgnVPiD+1j4QstO+I1hfX3gnWYr83Gn6rbWahrmaO7hDwBIwwyzOo7DJBFc94S/4LJf8ABM7x78A/E37T/gv9rDRdU8DeC7+3s/Fmt2Wm30h0mSdlWFp4BB50cbu6ospTy2bKhsggfir+xH4e0HxlF/wSM8Pa3odnqttZeJPiImpWVzbJOlvMmtGePzUIIRxmKRQ2CPkcdQa+rf2N/wBkb4Z/tH/8FPP+CnX7Knijwdp9l4W8bW2g2EkSaUBBDNPb3cguljQpmRLhluNysrGRd24N81AH6k+Pf2zf2Y/hne/DvTvF/wAXLCKf4s30Vp8OI7KCa8OvSSRrKhg+zo+Y/LdHMpxGFYEsBzXnf/BWz9r/AOJP7B3/AAT1+Jf7Xfwi0PRtS8QeDNNs59NsPEdvNJZSPLf21uwlWGWKQjZMxG115A6jIr8p/wDgglJ8cf27/wBuz4daF+0voFw0P7Cnwx1LwjOl3ILiNvEdzqF1Zwylt0qs62NsiblcZksVdCFAB/Qj/g5DtZZv+CJnx5t7SB3dtE0zaiKST/xOLHoBQB4X+0P/AMHCXiS0/wCCOXgL/gpb+yp4V8HXniTxB4703wz4r8KeJHuLyDRLqQXK3ULLBNBKHDQq8TORuikVirBga/Q7Rf2uv2dNd/af1T9i7Svihaz/ABP0PwwviHVPCS2s4mt9MZ4Y1uTIYxEVLTwjAct8444OP57P+Di39kD4yfsReOodT+C1pDH8D/2jfFuieItZ8O2dqzLo/ivTIGWV0AG23Fyl3LL8p/eFXBAEEePtT4zftH+Av2Bv+DofxN8bf2kdC8U2Hhv4l/s8WnhnwNqGj+E73Uv7X1Q3mmslrAlrG7yOz2skXAIWRow20MGAB99XH/BXD/gnTa/s43v7XFx+09pSfDrTvFzeF73xO2mX3lRasFDG1KeR5m7awO4Lt5+9XP6X/wAFy/8AgkbrVx4ottO/b7+Hr/8ACHWb3WtytqjLF5SOELW8jKEvSXKqotjKXLqFDbhn8I9RttW1D/g158YFtIu0lm/bPeT7NNbkSqptYOGXtjp6ce1fo9+0h8B/hJa/8HTn7O3hWz+Dvh1dDl/Z21J7ixTw9b/ZWkiGsxxFkCbNyRqiLkZCqqjAAFAHsP8AwUL/AOC3Ph74Q/s9/Ar9pf8AYW8ZeAfHnhL4pfG3T/Bus67q6XLwWdlKsxuXUJNA1vcRmNeJgQoOShBBr6d/Zc/4KQfsMftp65rPhb9ln9p3wt411Tw+7jVdM0i9P2iNEZVMyxyBWlg3MqidA0RJwGJr+bvVdJ0nRP8Agi94Qi1/4Z32uaRZf8FFtQa88K6bYFpNQs00aEPaRRDGTIgMaqMAlgOK+2vGGszf8FQv+CtfiP49f8EvvBfijSNH0T9lHxX4V8X+K5dB1Dw8j+JLnTb+C006QyRRsLqC5urFivO023mKW8tWoA/Uf4d/8FfP+CaXxa/aGT9lT4b/ALYnhHWPHs15JaW2hWc8rC5uEXc0MVwU8iaQAEbEkZiVZQMqQK/x2/4LHf8ABM79mX4xax+z78d/2tNB8N+NNBmsotU8PXtleNcRNdwxz24Xy4WEm6KWN8oWChxu21+AHwA8FeNvjL+zz8Jf+CeGvft1eMvDfj3SvHtvJ/wpTQf2N1n13wXqUdzNJHqc2sNNbPLGGdHeXzd4W4G5CitX6a/se/Dfw5r3/B0p+194h8X+FLbU7nSfhb4TTTb+9tA/ltLpOiLKULcZbYM9+KAP0Z+CX7X/AOzj+0b408dfDz4KfE+11/Wfhp4hbQ/HNjb2k8baTqCvIjQOZI1VyGikGULL8h5r0qvmv9if9pL9jj47fGX45eDP2Y/hEvh3xH4B+IMuj/FPUV8JW+m/2xq6S3CtcmaL5r3LxzHzZPmO/P8AEa+lB0oAKKKKACiiigAooooAKKKKACkb7p+nalooA/MP/gt1/wAHAj/8E3YtT+EX7NHwnl8a/EnRJrBvEt7rmh3j+HvDUF0qSxC6mieIyzzRuvlxJIPv7mb5Qj/QH7fn7U3/AAUJ8C/G3wH+zL/wT4/Zc0nxLr3i+yur3WfiR8R7LU08IeF4YeViup7FMtPKElVYxIGU+UdjeYAfnL/g7o0SNf8Agkbf3Gk6ZuuLj4maEZzDDlpMeeATgc4HFVf+Dkz/AILCfEL9hDw74a/ZC/Z01NdB8d/E/TzLqfj+6s7iWLwhozzG2N2iwwyNJOzCbaYw8kSwOwQu0VAHbfsZf8FH/wDgo3+3l+zl8VfAfwi+GXwf8L/tG/BT4rTeD/GsfjC41STwdeeTNNHNLam0kkvAw8llCuSuVDbiH2pB+w/+3Z/wVm+KP/BSzxR+xj+0rpn7N+p+Fvhj4div/ix4k+E9v4izo9zd28j2GnpPqDiJrl2CSumxlWFJRvEi7RN/wQ3+IP7APwI/4Jt+LLL9jT43at8WG8ALeeIvir4pu/C+oaZda1rctq1zPIqahBC7BkgCR5L4VEDuWJJzP+DaPwJ4p1r/AIJk61+1Z8Ri3iHxl8ePHfiTxR4jnvJ3SW/kW8msFil3gJFlrWXAQBFSRfcAA84/ZG/4LE/8FMP26fjXfaV8HPH/AOxd4Q8OS/EjUNK8MeCPiH4p1dPGeraJbXnlfbLe3tbiSOYsokiWTZGHmgk/dqm0t0v7eX/Bdf43+Cv2i/il+zz+xPd/AHTJPglHZQeLtX/aC8cvpH/CS6pcwzSjStFhWeASzoImVpJpEQOhHAZHf4c/aw179kH9rv8AZ18K/sMfsH/8EzJfgl+2Povxstkh8B6ZoBS88Nm186SbUZtcEEcU9jtI4kk+VisgjKRpKep/a0+Ff7PP7F/7Z/7bWif8FFv2fR4k1z9obwVFefsz+I/+EHl1v+0NVe1nimtLJ4opGtbsXd1ZBmPlkfZgc7ZIvMAP0E/av/4Kh/tjaH8X/gL+w7+yT8EPAcXx8+MHgk+KvEOn/EXWbm50HwlYpCzP5s+nkSXWZYbmJWiyP3IbBDCuG8Of8HC3/CL/APBLb4l/te/HP4RWmn/F34S+OpvAHif4caXdSfY7nxKLgQxLBOxcrbsoklYsxZBBMo80iMy/Inwg8N/F7/gmF8cf2Ef2+/2/9H1+x8FaL+ztfeBfGetx6Pd30/hW4a41K4sI76GCJ5kH2bULS3ChGZXhkU525PG+JP2FP2m/2nP+CLH7Tf7UXgL4T6uq/FL9p2b4qeCvB9zYuur6l4fjupVMqQAZ3lLl5UX70iW7FA3mRbwD9Cv2d/8AgpT/AMFK0/ak1v8A4Jzfto/Cf4O+Gvjf4o+DVx40+CeqeGLjVW8OXd2IZAmn6okkklyhinjkMzwkgpBKEOQjSct4m/bs/wCC9Pwq/bh+Ef7FfxO0b9kDXNe+I97Je3+neA7TxbLcaPoNtlrvUriS5eOKCParxxk7y8xVQhzXHfsu/Gzwr/wVl/4L4eA/29v2WNK1mX4YfCT4CTaT4m8R61otzZRnWbtro/2ZF58aNJNGNQUuVBTELEMQ8Zfv/wDgkKdX/af/AOCv37a37Z3ju4up5vCPim3+FvgyC/Zlk03T7CaYXKRov7ryZZoIpFPL53k4Mj7gD9PbbIgUMc8U+kVVQbVGBS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAC9B9KKF6D6UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAYfxL8OeJ/F/w91zwt4K8ay+G9Y1HSLm20rxDBaJcPplzJEyRXSxSfJKY3KyBG+VimDwTXzF/wAE7f8AglRbfsSfFb4hftLfFf8AaQ8RfGP4tfEx4I/Enj7xNp8No6WkLlktLe3hLLBF9zKK2391GFCKoUfXNFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXJfHz4VQ/HT4HeMfgrc6y+nR+L/Cuo6LJqCQ+Y1qt3ayQGUISN5XzN23IzjGRXW0UAeI/wDBOT9jHT/+Cev7Fvgf9jrSvH83ii38FW13DHr1xpwtHu/Pvbi6JMQdwmDOV+8c7c98V7dRRQAVwf7S/wANPiv8XvgvrXw/+CHx5u/hl4n1COEaV43sdEt9Sl0xlnjkdltrj91LvjR4sPwBIWHIFd5RQB8zf8EyP+CaHgX/AIJr/C/X/C+lfE3XPHni3xr4jk17x54/8Tbft+uXzoF3Pgnai/MVUsxBkclmJJr6ZoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKABeg+lFC9B9KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKABeg+lFC9B9KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKABeg+lFC9B9KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKABeg+lFC9B9KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q=="}},"time_used":103,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":78,"receive":25,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.834Z","timestamp":1785124875834,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-15b86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 389159c420fa185984b3497a290200a1\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":88966,"size_decoded":33770,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-07-27T06:14:34.259162Z","times_seen":1999,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTgyN10sezE5OTgyNyhlKXt2YXIgdD13aW5kb3cuZG9jdW1lbnQsbj13aW5kb3cubmF2aWdhdG9yLHI9d2luZG93LmxvY2F0aW9uLGk9ZnVuY3Rpb24oKXt2YXIgZSxyLGksbyxhPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG5ldyBhLmZuLmluaXQodCxuLGUpfSxzPXdpbmRvdy5qUXVlcnksbD13aW5kb3cuJCx1PS9eKD86W14jPF0qKDxbXHdcV10rPilbXj5dKiR8IyhbXHdcLV0qKSQpLyxjPS9eXHMrLyxmPS9ccyskLyxkPS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8scD0vXltcXSw6e31cc10qJC8saD0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLG09LyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLGc9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyx2PS8od2Via2l0KVsgXC9dKFtcdy5dKykvLHk9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLGI9Lyhtc2llKSAoW1x3Ll0rKS8seD0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLHc9Ly0oW2Etel18WzAtOV0pL2dpLFQ9L14tbXMtLyxOPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrIiIpLnRvVXBwZXJDYXNlKCl9LEM9bi51c2VyQWdlbnQsUz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGs9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNoLEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLEQ9U3RyaW5nLnByb3RvdHlwZS50cmltLEw9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsRj17fTtmdW5jdGlvbiBqKCl7aWYoIWEuaXNSZWFkeSl7dHJ5e3QuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgc2V0VGltZW91dChqLDEpfWEucmVhZHkoKX19cmV0dXJuIGEuZm49YS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmEsaW5pdDpmdW5jdGlvbihlLG4scil7dmFyIGksbyxzLGw7aWYoIWUpcmV0dXJuIHRoaXM7aWYoZS5ub2RlVHlwZSlyZXR1cm4gdGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXM7aWYoImJvZHkiPT09ZSYmIW4mJnQuYm9keSlyZXR1cm4gdGhpcy5jb250ZXh0PXQsdGhpc1swXT10LmJvZHksdGhpcy5zZWxlY3Rvcj1lLHRoaXMubGVuZ3RoPTEsdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEoaT0iPCI9PT1lLmNoYXJBdCgwKSYmIj4iPT09ZS5jaGFyQXQoZS5sZW5ndGgtMSkmJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06dS5leGVjKGUpKXx8IWlbMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihpWzFdKXJldHVybiBsPShuPW4gaW5zdGFuY2VvZiBhP25bMF06bik/bi5vd25lckRvY3VtZW50fHxuOnQsKHM9ZC5leGVjKGUpKT9hLmlzUGxhaW5PYmplY3Qobik/KGU9W3QuY3JlYXRlRWxlbWVudChzWzFdKV0sYS5mbi5hdHRyLmNhbGwoZSxuLCEwKSk6ZT1bbC5jcmVhdGVFbGVtZW50KHNbMV0pXTplPSgocz1hLmJ1aWxkRnJhZ21lbnQoW2lbMV1dLFtsXSkpLmNhY2hlYWJsZT9hLmNsb25lKHMuZnJhZ21lbnQpOnMuZnJhZ21lbnQpLmNoaWxkTm9kZXMsYS5tZXJnZSh0aGlzLGUpO2lmKChvPXQuZ2V0RWxlbWVudEJ5SWQoaVsyXSkpJiZvLnBhcmVudE5vZGUpe2lmKG8uaWQhPT1pWzJdKXJldHVybiByLmZpbmQoZSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPW99cmV0dXJuIHRoaXMuY29udGV4dD10LHRoaXMuc2VsZWN0b3I9ZSx0aGlzfXJldHVybiBhLmlzRnVuY3Rpb24oZSk/ci5yZWFkeShlKToodm9pZCAwIT09ZS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9ZS5jb250ZXh0KSxhLm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBBLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3RoaXMudG9BcnJheSgpOmU8MD90aGlzW3RoaXMubGVuZ3RoK2VdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5jb25zdHJ1Y3RvcigpO3JldHVybiBhLmlzQXJyYXkoZSk/RS5hcHBseShyLGUpOmEubWVyZ2UocixlKSxyLnByZXZPYmplY3Q9dGhpcyxyLmNvbnRleHQ9dGhpcy5jb250ZXh0LCJmaW5kIj09PXQ/ci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyh0aGlzLnNlbGVjdG9yPyIgIjoiIikrbjp0JiYoci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyIuIit0KyIoIituKyIpIikscn0sZWFjaDpmdW5jdGlvbihlLHQpe3JldHVybiBhLmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihlKXtyZXR1cm4gYS5iaW5kUmVhZHkoKSxpLmFkZChlKSx0aGlzfSxlcTpmdW5jdGlvbihlKXtyZXR1cm4tMT09PShlPStlKT90aGlzLnNsaWNlKGUpOnRoaXMuc2xpY2UoZSxlKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhBLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYS5tYXAodGhpcywoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6RSxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0sYS5mbi5pbml0LnByb3RvdHlwZT1hLmZuLGEuZXh0ZW5kPWEuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLHM9YXJndW1lbnRzWzBdfHx7fSxsPTEsdT1hcmd1bWVudHMubGVuZ3RoLGM9ITEKO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBzJiYoYz1zLHM9YXJndW1lbnRzWzFdfHx7fSxsPTIpLCJvYmplY3QiPT10eXBlb2Ygc3x8YS5pc0Z1bmN0aW9uKHMpfHwocz17fSksdT09PWwmJihzPXRoaXMsLS1sKTtsPHU7bCsrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tsXSkpZm9yKHQgaW4gZSluPXNbdF0scyE9PShyPWVbdF0pJiYoYyYmciYmKGEuaXNQbGFpbk9iamVjdChyKXx8KGk9YS5pc0FycmF5KHIpKSk/KGk/KGk9ITEsbz1uJiZhLmlzQXJyYXkobik/bjpbXSk6bz1uJiZhLmlzUGxhaW5PYmplY3Qobik/bjp7fSxzW3RdPWEuZXh0ZW5kKGMsbyxyKSk6dm9pZCAwIT09ciYmKHNbdF09cikpO3JldHVybiBzfSxhLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LiQ9PT1hJiYod2luZG93LiQ9bCksZSYmd2luZG93LmpRdWVyeT09PWEmJih3aW5kb3cualF1ZXJ5PXMpLGF9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGUpe2U/YS5yZWFkeVdhaXQrKzphLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oZSl7aWYoITA9PT1lJiYhIC0tYS5yZWFkeVdhaXR8fCEwIT09ZSYmIWEuaXNSZWFkeSl7aWYoIXQuYm9keSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKGEuaXNSZWFkeT0hMCwhMCE9PWUmJi0tYS5yZWFkeVdhaXQ+MClyZXR1cm47aS5maXJlV2l0aCh0LFthXSksYS5mbi50cmlnZ2VyJiZhKHQpLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpfX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoIWkpe2lmKGk9YS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksImNvbXBsZXRlIj09PXQucmVhZHlTdGF0ZSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKHQuYWRkRXZlbnRMaXN0ZW5lcil0LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8sITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixhLnJlYWR5LCExKTtlbHNlIGlmKHQuYXR0YWNoRXZlbnQpe3QuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbyksd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGEucmVhZHkpO3ZhciBlPSExO3RyeXtlPW51bGw9PXdpbmRvdy5mcmFtZUVsZW1lbnR9Y2F0Y2goZSl7fXQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZlJiZqKCl9fX0saXNGdW5jdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT09YS50eXBlKGUpfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJhcnJheSI9PT1hLnR5cGUoZSl9LGlzV2luZG93OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT1lLndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKGUpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KGUpKSYmaXNGaW5pdGUoZSl9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/U3RyaW5nKGUpOkZbUy5jYWxsKGUpXXx8Im9iamVjdCJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7aWYoIWV8fCJvYmplY3QiIT09YS50eXBlKGUpfHxlLm5vZGVUeXBlfHxhLmlzV2luZG93KGUpKXJldHVybiExO3RyeXtpZihlLmNvbnN0cnVjdG9yJiYhay5jYWxsKGUsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX12YXIgdDtmb3IodCBpbiBlKTtyZXR1cm4gdm9pZCAwPT09dHx8ay5jYWxsKGUsdCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0scGFyc2VKU09OOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmZT8oZT1hLnRyaW0oZSksd2luZG93LkpTT04mJndpbmRvdy5KU09OLnBhcnNlP3dpbmRvdy5KU09OLnBhcnNlKGUpOnAudGVzdChlLnJlcGxhY2UoaCwiQCIpLnJlcGxhY2UobSwiXSIpLnJlcGxhY2UoZywiIikpP25ldyBGdW5jdGlvbigicmV0dXJuICIrZSkoKTp2b2lkIGEuZXJyb3IoIkludmFsaWQgSlNPTjogIitlKSk6bnVsbH0scGFyc2VYTUw6ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhZSlyZXR1cm4gbnVsbDt2YXIgdDt0cnl7d2luZG93LkRPTVBhcnNlcj90PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC94bWwiKTooKHQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSkuYXN5bmM9ImZhbHNlIix0LmxvYWRYTUwoZSkpfWNhdGNoKGUpe3Q9dm9pZCAwfXJldHVybiB0JiZ0LmRvY3VtZW50RWxlbWVudCYmIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxhLmVycm9yKCJJbnZhbGlkIFhNTDogIitlKSx0fSxub29wOmZ1bmN0aW9uKCl7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUpe30sY2FtZWxDYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoVCwibXMtIikucmVwbGFjZSh3LE4pfSxub2RlTmFtZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT10LnRvVXBwZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLHM9dm9pZCAwPT09b3x8YS5pc0Z1bmN0aW9uKGUpO2lmKG4paWYocyl7Zm9yKHIgaW4gZSlpZighMT09PXQuYXBwbHkoZVtyXSxuKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuYXBwbHkoZVtpKytdLG4pOyk7ZWxzZSBpZihzKXtmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuY2FsbChlW2ldLGksZVtpKytdKTspO3JldHVybiBlfSx0cmltOkQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6RC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplLnRvU3RyaW5nKCkucmVwbGFjZShjLCIiKS5yZXBsYWNlKGYsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtpZihudWxsIT1lKXt2YXIgcj1hLnR5cGUoZSkKO251bGw9PWUubGVuZ3RofHwic3RyaW5nIj09PXJ8fCJmdW5jdGlvbiI9PT1yfHwicmVnZXhwIj09PXJ8fGEuaXNXaW5kb3coZSk/RS5jYWxsKG4sZSk6YS5tZXJnZShuLGUpfXJldHVybiBufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih0KXtpZihMKXJldHVybiBMLmNhbGwodCxlLG4pO2ZvcihyPXQubGVuZ3RoLG49bj9uPDA/TWF0aC5tYXgoMCxyK24pOm46MDtuPHI7bisrKWlmKG4gaW4gdCYmdFtuXT09PWUpcmV0dXJuIG59cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO2lmKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpZm9yKHZhciBpPXQubGVuZ3RoO3I8aTtyKyspZVtuKytdPXRbcl07ZWxzZSBmb3IoO3ZvaWQgMCE9PXRbcl07KWVbbisrXT10W3IrK107cmV0dXJuIGUubGVuZ3RoPW4sZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7dmFyIHI9W107bj0hIW47Zm9yKHZhciBpPTAsbz1lLmxlbmd0aDtpPG87aSsrKW4hPT0hIXQoZVtpXSxpKSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1bXSxzPTAsbD1lLmxlbmd0aDtpZihlIGluc3RhbmNlb2YgYXx8dm9pZCAwIT09bCYmIm51bWJlciI9PXR5cGVvZiBsJiYobD4wJiZlWzBdJiZlW2wtMV18fDA9PT1sfHxhLmlzQXJyYXkoZSkpKWZvcig7czxsO3MrKyludWxsIT0ocj10KGVbc10scyxuKSkmJihvW28ubGVuZ3RoXT1yKTtlbHNlIGZvcihpIGluIGUpbnVsbCE9KHI9dChlW2ldLGksbikpJiYob1tvLmxlbmd0aF09cik7cmV0dXJuIG8uY29uY2F0LmFwcGx5KFtdLG8pfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPWVbdF07dD1lLGU9bn1pZihhLmlzRnVuY3Rpb24oZSkpe3ZhciByPUEuY2FsbChhcmd1bWVudHMsMiksaT1mdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsci5jb25jYXQoQS5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIGkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxpLmd1aWR8fGEuZ3VpZCsrLGl9fSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4scixpLG8scyl7dmFyIGwsdT1udWxsPT1uLGM9MCxmPWUubGVuZ3RoO2lmKG4mJiJvYmplY3QiPT10eXBlb2Ygbil7Zm9yKGMgaW4gbilhLmFjY2VzcyhlLHQsYyxuW2NdLDEsbyxyKTtpPTF9ZWxzZSBpZih2b2lkIDAhPT1yKXtpZihsPXZvaWQgMD09PXMmJmEuaXNGdW5jdGlvbihyKSx1JiYobD8obD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoYShlKSxuKX0pOih0LmNhbGwoZSxyKSx0PW51bGwpKSx0KWZvcig7YzxmO2MrKyl0KGVbY10sbixsP3IuY2FsbChlW2NdLGMsdChlW2NdLG4pKTpyLHMpO2k9MX1yZXR1cm4gaT9lOnU/dC5jYWxsKGUpOmY/dChlWzBdLG4pOm99LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNoOmZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO3ZhciB0PXYuZXhlYyhlKXx8eS5leGVjKGUpfHxiLmV4ZWMoZSl8fGUuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAmJnguZXhlYyhlKXx8W107cmV0dXJue2Jyb3dzZXI6dFsxXXx8IiIsdmVyc2lvbjp0WzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7cmV0dXJuIG5ldyBlLmZuLmluaXQodCxuKX1hLmV4dGVuZCghMCxlLHRoaXMpLGUuc3VwZXJjbGFzcz10aGlzLGUuZm49ZS5wcm90b3R5cGU9dGhpcygpLGUuZm4uY29uc3RydWN0b3I9ZSxlLnN1Yj10aGlzLnN1YixlLmZuLmluaXQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gciYmciBpbnN0YW5jZW9mIGEmJiEociBpbnN0YW5jZW9mIGUpJiYocj1lKHIpKSxhLmZuLmluaXQuY2FsbCh0aGlzLHQscixuKX0sZS5mbi5pbml0LnByb3RvdHlwZT1lLmZuO3ZhciBuPWUodCk7cmV0dXJuIGV9LGJyb3dzZXI6e319KSxhLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7RlsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KSksKHI9YS51YU1hdGNoKEMpKS5icm93c2VyJiYoYS5icm93c2VyW3IuYnJvd3Nlcl09ITAsYS5icm93c2VyLnZlcnNpb249ci52ZXJzaW9uKSxhLmJyb3dzZXIud2Via2l0JiYoYS5icm93c2VyLnNhZmFyaT0hMCksL1xTLy50ZXN0KCLCoCIpJiYoYz0vXltcc1x4QTBdKy8sZj0vW1xzXHhBMF0rJC8pLGU9YSh0KSx0LmFkZEV2ZW50TGlzdGVuZXI/bz1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbywhMSksYS5yZWFkeSgpfTp0LmF0dGFjaEV2ZW50JiYobz1mdW5jdGlvbigpeyJjb21wbGV0ZSI9PT10LnJlYWR5U3RhdGUmJih0LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGEucmVhZHkoKSl9KSxhfSgpLG89e307aS5DYWxsYmFja3M9ZnVuY3Rpb24oZSl7ZT1lP29bZV18fGZ1bmN0aW9uKGUpe3ZhciB0LG4scj1vW2VdPXt9O2Zvcih0PTAsbj0oZT1lLnNwbGl0KC9ccysvKSkubGVuZ3RoO3Q8bjt0KyspcltlW3RdXT0hMDtyZXR1cm4gcn0oZSk6e307dmFyIHQsbixyLGEscyxsLHU9W10sYz1bXSxmPWZ1bmN0aW9uKHQpe3ZhciBuLHIsbyxhO2ZvcihuPTAscj10Lmxlbmd0aDtuPHI7bisrKW89dFtuXSwiYXJyYXkiPT09KGE9aS50eXBlKG8pKT9mKG8pOiJmdW5jdGlvbiI9PT1hJiYoZS51bmlxdWUmJnAuaGFzKG8pfHx1LnB1c2gobykpfSxkPWZ1bmN0aW9uKGksbyl7Zm9yKG89b3x8W10sdD0hZS5tZW1vcnl8fFtpLG9dLG49ITAscj0hMCxsPWF8fDAsYT0wLHM9dS5sZW5ndGg7dSYmbDxzO2wrKylpZighMT09PXVbbF0uYXBwbHkoaSxvKSYmZS5zdG9wT25GYWxzZSl7dD0hMDticmVha31yPSExLHUmJihlLm9uY2U/ITA9PT10P3AuZGlzYWJsZSgpOnU9W106YyYmYy5sZW5ndGgmJih0PWMuc2hpZnQoKSxwLmZpcmVXaXRoKHRbMF0sdFsxXSkpKX0scD17YWRkOmZ1bmN0aW9uKCl7aWYodSl7dmFyIGU9dS5sZW5ndGg7Zihhcmd1bWVudHMpLHI/cz11Lmxlbmd0aDp0JiYhMCE9PXQmJihhPWUsZCh0WzBdLHRbMV0pKX1yZXR1cm4gdGhpc30sCnJlbW92ZTpmdW5jdGlvbigpe2lmKHUpZm9yKHZhciB0PWFyZ3VtZW50cyxuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWZvcih2YXIgbz0wO288dS5sZW5ndGgmJih0W25dIT09dVtvXXx8KHImJm88PXMmJihzLS0sbzw9bCYmbC0tKSx1LnNwbGljZShvLS0sMSksIWUudW5pcXVlKSk7bysrKTtyZXR1cm4gdGhpc30saGFzOmZ1bmN0aW9uKGUpe2lmKHUpZm9yKHZhciB0PTAsbj11Lmxlbmd0aDt0PG47dCsrKWlmKGU9PT11W3RdKXJldHVybiEwO3JldHVybiExfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiB1PVtdLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdT1jPXQ9dm9pZCAwLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXV9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYz12b2lkIDAsdCYmITAhPT10fHxwLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sZmlyZVdpdGg6ZnVuY3Rpb24obixpKXtyZXR1cm4gYyYmKHI/ZS5vbmNlfHxjLnB1c2goW24saV0pOmUub25jZSYmdHx8ZChuLGkpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHAuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFufX07cmV0dXJuIHB9O3ZhciBhPVtdLnNsaWNlO2kuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdCxuPWkuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHI9aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksbz1pLkNhbGxiYWNrcygibWVtb3J5IiksYT0icGVuZGluZyIscz17cmVzb2x2ZTpuLHJlamVjdDpyLG5vdGlmeTpvfSxsPXtkb25lOm4uYWRkLGZhaWw6ci5hZGQscHJvZ3Jlc3M6by5hZGQsc3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0saXNSZXNvbHZlZDpuLmZpcmVkLGlzUmVqZWN0ZWQ6ci5maXJlZCx0aGVuOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdS5kb25lKGUpLmZhaWwodCkucHJvZ3Jlc3MobiksdGhpc30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZG9uZS5hcHBseSh1LGFyZ3VtZW50cykuZmFpbC5hcHBseSh1LGFyZ3VtZW50cyksdGhpc30scGlwZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuRGVmZXJyZWQoKGZ1bmN0aW9uKHIpe2kuZWFjaCh7ZG9uZTpbZSwicmVzb2x2ZSJdLGZhaWw6W3QsInJlamVjdCJdLHByb2dyZXNzOltuLCJub3RpZnkiXX0sKGZ1bmN0aW9uKGUsdCl7dmFyIG4sbz10WzBdLGE9dFsxXTtpLmlzRnVuY3Rpb24obyk/dVtlXSgoZnVuY3Rpb24oKXsobj1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkmJmkuaXNGdW5jdGlvbihuLnByb21pc2UpP24ucHJvbWlzZSgpLnRoZW4oci5yZXNvbHZlLHIucmVqZWN0LHIubm90aWZ5KTpyW2ErIldpdGgiXSh0aGlzPT09dT9yOnRoaXMsW25dKX0pKTp1W2VdKHJbYV0pfSkpfSkpLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtpZihudWxsPT1lKWU9bDtlbHNlIGZvcih2YXIgdCBpbiBsKWVbdF09bFt0XTtyZXR1cm4gZX19LHU9bC5wcm9taXNlKHt9KTtmb3IodCBpbiBzKXVbdF09c1t0XS5maXJlLHVbdCsiV2l0aCJdPXNbdF0uZmlyZVdpdGg7cmV0dXJuIHUuZG9uZSgoZnVuY3Rpb24oKXthPSJyZXNvbHZlZCJ9KSxyLmRpc2FibGUsby5sb2NrKS5mYWlsKChmdW5jdGlvbigpe2E9InJlamVjdGVkIn0pLG4uZGlzYWJsZSxvLmxvY2spLGUmJmUuY2FsbCh1LHUpLHV9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9YS5jYWxsKGFyZ3VtZW50cywwKSxuPTAscj10Lmxlbmd0aCxvPW5ldyBBcnJheShyKSxzPXIsbD1yPD0xJiZlJiZpLmlzRnVuY3Rpb24oZS5wcm9taXNlKT9lOmkuRGVmZXJyZWQoKSx1PWwucHJvbWlzZSgpO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RbZV09YXJndW1lbnRzLmxlbmd0aD4xP2EuY2FsbChhcmd1bWVudHMsMCk6biwtLXN8fGwucmVzb2x2ZVdpdGgobCx0KX19ZnVuY3Rpb24gZihlKXtyZXR1cm4gZnVuY3Rpb24odCl7b1tlXT1hcmd1bWVudHMubGVuZ3RoPjE/YS5jYWxsKGFyZ3VtZW50cywwKTp0LGwubm90aWZ5V2l0aCh1LG8pfX1pZihyPjEpe2Zvcig7bjxyO24rKyl0W25dJiZ0W25dLnByb21pc2UmJmkuaXNGdW5jdGlvbih0W25dLnByb21pc2UpP3Rbbl0ucHJvbWlzZSgpLnRoZW4oYyhuKSxsLnJlamVjdCxmKG4pKTotLXM7c3x8bC5yZXNvbHZlV2l0aChsLHQpfWVsc2UgbCE9PWUmJmwucmVzb2x2ZVdpdGgobCxyP1tlXTpbXSk7cmV0dXJuIHV9fSksaS5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTohMCx0Ym9keTohMCxodG1sU2VyaWFsaXplOiEwLHN0eWxlOiEwLGhyZWZOb3JtYWxpemVkOiEwLG9wYWNpdHk6ITAsY3NzRmxvYXQ6ITAsY2hlY2tPbjohMCxvcHRTZWxlY3RlZDohMCxnZXRTZXRBdHRyaWJ1dGU6ITAsZW5jdHlwZTohMCxodG1sNUNsb25lOiEwLHN1Ym1pdEJ1YmJsZXM6ITAsY2hhbmdlQnViYmxlczohMCxmb2N1c2luQnViYmxlczohMSxkZWxldGVFeHBhbmRvOiEwLG5vQ2xvbmVFdmVudDohMCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVNYXJnaW5SaWdodDohMCxwaXhlbE1hcmdpbjohMCxib3hNb2RlbDohMCxub0Nsb25lQ2hlY2tlZDohMCxvcHREaXNhYmxlZDohMCxyYWRpb1ZhbHVlOiEwLGNoZWNrQ2xvbmU6ITAsYXBwZW5kQ2hlY2tlZDohMCxhamF4OiEwLGNvcnM6ITAscmVsaWFibGVIaWRkZW5PZmZzZXRzOiEwLGRvZXNOb3RBZGRCb3JkZXI6ITAsZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM6ITEsZml4ZWRQb3NpdGlvbjohMCxzdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU6ITEsZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ6ITB9O3ZhciBzPS9eKD86XHsuKlx9fFxbLipcXSkkLyxsPS8oW0EtWl0pL2c7ZnVuY3Rpb24gdShlLHQsbil7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpe3ZhciByPSJkYXRhLSIrdC5yZXBsYWNlKGwsIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYoInN0cmluZyI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5ewpuPSJ0cnVlIj09PW58fCJmYWxzZSIhPT1uJiYoIm51bGwiPT09bj9udWxsOmkuaXNOdW1lcmljKG4pPytuOnMudGVzdChuKT9pLnBhcnNlSlNPTihuKTpuKX1jYXRjaChlKXt9aS5kYXRhKGUsdCxuKX1lbHNlIG49dm9pZCAwfXJldHVybiBufWZ1bmN0aW9uIGMoZSl7Zm9yKHZhciB0IGluIGUpaWYoKCJkYXRhIiE9PXR8fCFpLmlzRW1wdHlPYmplY3QoZVt0XSkpJiYidG9KU09OIiE9PXQpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZihlLHQsbil7dmFyIHI9dCsiZGVmZXIiLG89dCsicXVldWUiLGE9dCsibWFyayIscz1pLl9kYXRhKGUscik7IXN8fCJxdWV1ZSIhPT1uJiZpLl9kYXRhKGUsbyl8fCJtYXJrIiE9PW4mJmkuX2RhdGEoZSxhKXx8c2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLl9kYXRhKGUsbyl8fGkuX2RhdGEoZSxhKXx8KGkucmVtb3ZlRGF0YShlLHIsITApLHMuZmlyZSgpKX0pLDApfWkuZXh0ZW5kKHtjYWNoZTp7fSx1dWlkOjAsZXhwYW5kbzoialF1ZXJ5IisoaS5mbi5qcXVlcnkrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksbm9EYXRhOntlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OiEwfSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5ub2RlVHlwZT9pLmNhY2hlW2VbaS5leHBhbmRvXV06ZVtpLmV4cGFuZG9dKSYmIWMoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4scil7aWYoaS5hY2NlcHREYXRhKGUpKXt2YXIgbyxhLHMsbD1pLmV4cGFuZG8sdT0ic3RyaW5nIj09dHlwZW9mIHQsYz1lLm5vZGVUeXBlLGY9Yz9pLmNhY2hlOmUsZD1jP2VbbF06ZVtsXSYmbCxwPSJldmVudHMiPT09dDtpZihkJiZmW2RdJiYocHx8cnx8ZltkXS5kYXRhKXx8IXV8fHZvaWQgMCE9PW4pcmV0dXJuIGR8fChjP2VbbF09ZD0rK2kudXVpZDpkPWwpLGZbZF18fChmW2RdPXt9LGN8fChmW2RdLnRvSlNPTj1pLm5vb3ApKSwib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwocj9mW2RdPWkuZXh0ZW5kKGZbZF0sdCk6ZltkXS5kYXRhPWkuZXh0ZW5kKGZbZF0uZGF0YSx0KSksbz1hPWZbZF0scnx8KGEuZGF0YXx8KGEuZGF0YT17fSksYT1hLmRhdGEpLHZvaWQgMCE9PW4mJihhW2kuY2FtZWxDYXNlKHQpXT1uKSxwJiYhYVt0XT9vLmV2ZW50czoodT9udWxsPT0ocz1hW3RdKSYmKHM9YVtpLmNhbWVsQ2FzZSh0KV0pOnM9YSxzKX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0LG4pe2lmKGkuYWNjZXB0RGF0YShlKSl7dmFyIHIsbyxhLHM9aS5leHBhbmRvLGw9ZS5ub2RlVHlwZSx1PWw/aS5jYWNoZTplLGY9bD9lW3NdOnM7aWYodVtmXSl7aWYodCYmKHI9bj91W2ZdOnVbZl0uZGF0YSkpe2kuaXNBcnJheSh0KXx8KHQ9dCBpbiByfHwodD1pLmNhbWVsQ2FzZSh0KSlpbiByP1t0XTp0LnNwbGl0KCIgIikpO2ZvcihvPTAsYT10Lmxlbmd0aDtvPGE7bysrKWRlbGV0ZSByW3Rbb11dO2lmKCEobj9jOmkuaXNFbXB0eU9iamVjdCkocikpcmV0dXJufShufHwoZGVsZXRlIHVbZl0uZGF0YSxjKHVbZl0pKSkmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kb3x8IXUuc2V0SW50ZXJ2YWw/ZGVsZXRlIHVbZl06dVtmXT1udWxsLGwmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz9kZWxldGUgZVtzXTplLnJlbW92ZUF0dHJpYnV0ZT9lLnJlbW92ZUF0dHJpYnV0ZShzKTplW3NdPW51bGwpKX19fSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGF0YShlLHQsbiwhMCl9LGFjY2VwdERhdGE6ZnVuY3Rpb24oZSl7aWYoZS5ub2RlTmFtZSl7dmFyIHQ9aS5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZih0KXJldHVybiEoITA9PT10fHxlLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpIT09dCl9cmV0dXJuITB9fSksaS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxzLGw9dGhpc1swXSxjPTAsZj1udWxsO2lmKHZvaWQgMD09PWUpe2lmKHRoaXMubGVuZ3RoJiYoZj1pLmRhdGEobCksMT09PWwubm9kZVR5cGUmJiFpLl9kYXRhKGwsInBhcnNlZEF0dHJzIikpKXtmb3Iocz0obz1sLmF0dHJpYnV0ZXMpLmxlbmd0aDtjPHM7YysrKTA9PT0oYT1vW2NdLm5hbWUpLmluZGV4T2YoImRhdGEtIikmJihhPWkuY2FtZWxDYXNlKGEuc3Vic3RyaW5nKDUpKSx1KGwsYSxmW2FdKSk7aS5fZGF0YShsLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBmfXJldHVybiJvYmplY3QiPT10eXBlb2YgZT90aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kYXRhKHRoaXMsZSl9KSk6KChuPWUuc3BsaXQoIi4iLDIpKVsxXT1uWzFdPyIuIituWzFdOiIiLHI9blsxXSsiISIsaS5hY2Nlc3ModGhpcywoZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCAwPT09KGY9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrcixbblswXV0pKSYmbCYmKGY9aS5kYXRhKGwsZSksZj11KGwsZSxmKSksdm9pZCAwPT09ZiYmblsxXT90aGlzLmRhdGEoblswXSk6ZjtuWzFdPXQsdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBvPWkodGhpcyk7by50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIrcixuKSxpLmRhdGEodGhpcyxlLHQpLG8udHJpZ2dlckhhbmRsZXIoImNoYW5nZURhdGEiK3Isbil9KSl9KSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITEpKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlRGF0YSh0aGlzLGUpfSkpfX0pLGkuZXh0ZW5kKHtfbWFyazpmdW5jdGlvbihlLHQpe2UmJih0PSh0fHwiZngiKSsibWFyayIsaS5fZGF0YShlLHQsKGkuX2RhdGEoZSx0KXx8MCkrMSkpfSxfdW5tYXJrOmZ1bmN0aW9uKGUsdCxuKXtpZighMCE9PWUmJihuPXQsdD1lLGU9ITEpLHQpe3ZhciByPShuPW58fCJmeCIpKyJtYXJrIixvPWU/MDooaS5fZGF0YSh0LHIpfHwxKS0xO28/aS5fZGF0YSh0LHIsbyk6KGkucmVtb3ZlRGF0YSh0LHIsITApLGYodCxuLCJtYXJrIikpfX0scXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1pLl9kYXRhKGUsdCksCm4mJighcnx8aS5pc0FycmF5KG4pP3I9aS5fZGF0YShlLHQsaS5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49aS5xdWV1ZShlLHQpLHI9bi5zaGlmdCgpLG89e307ImlucHJvZ3Jlc3MiPT09ciYmKHI9bi5zaGlmdCgpKSxyJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGkuX2RhdGEoZSx0KyIucnVuIixvKSxyLmNhbGwoZSwoZnVuY3Rpb24oKXtpLmRlcXVldWUoZSx0KX0pLG8pKSxuLmxlbmd0aHx8KGkucmVtb3ZlRGF0YShlLHQrInF1ZXVlICIrdCsiLnJ1biIsITApLGYoZSx0LCJxdWV1ZSIpKX19KSxpLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPSJmeCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/aS5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5xdWV1ZSh0aGlzLGUsdCk7ImZ4Ij09PWUmJiJpbnByb2dyZXNzIiE9PW5bMF0mJmkuZGVxdWV1ZSh0aGlzLGUpfSkpfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kZXF1ZXVlKHRoaXMsZSl9KSl9LGRlbGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9aS5meCYmaS5meC5zcGVlZHNbZV18fGUsdD10fHwiZngiLHRoaXMucXVldWUodCwoZnVuY3Rpb24odCxuKXt2YXIgcj1zZXRUaW1lb3V0KHQsZSk7bi5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpfX0pKX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLHQpeyJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3ZhciBuLHI9aS5EZWZlcnJlZCgpLG89dGhpcyxhPW8ubGVuZ3RoLHM9MSxsPWUrImRlZmVyIix1PWUrInF1ZXVlIixjPWUrIm1hcmsiO2Z1bmN0aW9uIGYoKXstLXN8fHIucmVzb2x2ZVdpdGgobyxbb10pfWZvcig7YS0tOykobj1pLmRhdGEob1thXSxsLHZvaWQgMCwhMCl8fChpLmRhdGEob1thXSx1LHZvaWQgMCwhMCl8fGkuZGF0YShvW2FdLGMsdm9pZCAwLCEwKSkmJmkuZGF0YShvW2FdLGwsaS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksITApKSYmKHMrKyxuLmFkZChmKSk7cmV0dXJuIGYoKSxyLnByb21pc2UodCl9fSk7dmFyIGQscCxoLG09L1tcblx0XHJdL2csZz0vXHMrLyx2PS9cci9nLHk9L14oPzpidXR0b258aW5wdXQpJC9pLGI9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNlbGVjdHx0ZXh0YXJlYSkkL2kseD0vXmEoPzpyZWEpPyQvaSx3PS9eKD86YXV0b2ZvY3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWR8c2VsZWN0ZWQpJC9pLFQ9aS5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZTtpLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLGkuYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlQXR0cih0aGlzLGUpfSkpfSxwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsaS5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBlPWkucHJvcEZpeFtlXXx8ZSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dm9pZCAwLGRlbGV0ZSB0aGlzW2VdfWNhdGNoKGUpe319KSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGUpZm9yKHQ9ZS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSlpZihvLmNsYXNzTmFtZXx8MSE9PXQubGVuZ3RoKXtmb3IoYT0iICIrby5jbGFzc05hbWUrIiAiLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspfmEuaW5kZXhPZigiICIrdFtzXSsiICIpfHwoYSs9dFtzXSsiICIpO28uY2xhc3NOYW1lPWkudHJpbShhKX1lbHNlIG8uY2xhc3NOYW1lPWU7cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWUpZm9yKHQ9KGV8fCIiKS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSYmby5jbGFzc05hbWUpaWYoZSl7Zm9yKGE9KCIgIitvLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspYT1hLnJlcGxhY2UoIiAiK3Rbc10rIiAiLCIgIik7by5jbGFzc05hbWU9aS50cmltKGEpfWVsc2Ugby5jbGFzc05hbWU9IiI7cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGUscj0iYm9vbGVhbiI9PXR5cGVvZiB0O3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sdGhpcy5jbGFzc05hbWUsdCksdCl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe2lmKCJzdHJpbmciPT09bilmb3IodmFyIG8sYT0wLHM9aSh0aGlzKSxsPXQsdT1lLnNwbGl0KGcpO289dVthKytdOylsPXI/bDohcy5oYXNDbGFzcyhvKSwKc1tsPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0obyk7ZWxzZSJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KHRoaXMuY2xhc3NOYW1lJiZpLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8ITE9PT1lPyIiOmkuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIil9KSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iICIrZSsiICIsbj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylpZigxPT09dGhpc1tuXS5ub2RlVHlwZSYmKCIgIit0aGlzW25dLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9LHZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWkuaXNGdW5jdGlvbihlKSx0aGlzLmVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvLGE9aSh0aGlzKTsxPT09dGhpcy5ub2RlVHlwZSYmKG51bGw9PShvPXI/ZS5jYWxsKHRoaXMsbixhLnZhbCgpKTplKT9vPSIiOiJudW1iZXIiPT10eXBlb2Ygbz9vKz0iIjppLmlzQXJyYXkobykmJihvPWkubWFwKG8sKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSkpLCh0PWkudmFsSG9va3NbdGhpcy50eXBlXXx8aS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLG8sInZhbHVlIil8fCh0aGlzLnZhbHVlPW8pKX0pKSk6bz8odD1pLnZhbEhvb2tzW28udHlwZV18fGkudmFsSG9va3Nbby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJiJnZXQiaW4gdCYmdm9pZCAwIT09KG49dC5nZXQobywidmFsdWUiKSk/bjoic3RyaW5nIj09dHlwZW9mKG49by52YWx1ZSk/bi5yZXBsYWNlKHYsIiIpOm4/PyIiOnZvaWQgMH19KSxpLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hdHx8dC5zcGVjaWZpZWQ/ZS52YWx1ZTplLnRleHR9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxhPWUuc2VsZWN0ZWRJbmRleCxzPVtdLGw9ZS5vcHRpb25zLHU9InNlbGVjdC1vbmUiPT09ZS50eXBlO2lmKGE8MClyZXR1cm4gbnVsbDtmb3Iobj11P2E6MCxyPXU/YSsxOmwubGVuZ3RoO248cjtuKyspaWYoKG89bFtuXSkuc2VsZWN0ZWQmJihpLnN1cHBvcnQub3B0RGlzYWJsZWQ/IW8uZGlzYWJsZWQ6bnVsbD09PW8uZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKSYmKCFvLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFpLm5vZGVOYW1lKG8ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9aShvKS52YWwoKSx1KXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gdSYmIXMubGVuZ3RoJiZsLmxlbmd0aD9pKGxbYV0pLnZhbCgpOnN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWkubWFrZUFycmF5KHQpO3JldHVybiBpKGUpLmZpbmQoIm9wdGlvbiIpLmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1pLmluQXJyYXkoaSh0aGlzKS52YWwoKSxuKT49MH0pKSxuLmxlbmd0aHx8KGUuc2VsZWN0ZWRJbmRleD0tMSksbn19fSxhdHRyRm46e3ZhbDohMCxjc3M6ITAsaHRtbDohMCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0OiEwLG9mZnNldDohMH0sYXR0cjpmdW5jdGlvbihlLHQsbixyKXt2YXIgbyxhLHMsbD1lLm5vZGVUeXBlO2lmKGUmJjMhPT1sJiY4IT09bCYmMiE9PWwpcmV0dXJuIHImJnQgaW4gaS5hdHRyRm4/aShlKVt0XShuKTp2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9pLnByb3AoZSx0LG4pOigocz0xIT09bHx8IWkuaXNYTUxEb2MoZSkpJiYodD10LnRvTG93ZXJDYXNlKCksYT1pLmF0dHJIb29rc1t0XXx8KHcudGVzdCh0KT9wOmQpKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgaS5yZW1vdmVBdHRyKGUsdCk6YSYmInNldCJpbiBhJiZzJiZ2b2lkIDAhPT0obz1hLnNldChlLG4sdCkpP286KGUuc2V0QXR0cmlidXRlKHQsIiIrbiksbik6YSYmImdldCJpbiBhJiZzJiZudWxsIT09KG89YS5nZXQoZSx0KSk/bzpudWxsPT09KG89ZS5nZXRBdHRyaWJ1dGUodCkpP3ZvaWQgMDpvKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHMsbD0wO2lmKHQmJjE9PT1lLm5vZGVUeXBlKWZvcihhPShyPXQudG9Mb3dlckNhc2UoKS5zcGxpdChnKSkubGVuZ3RoO2w8YTtsKyspKG89cltsXSkmJihuPWkucHJvcEZpeFtvXXx8bywocz13LnRlc3QobykpfHxpLmF0dHIoZSxvLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShUP286bikscyYmbiBpbiBlJiYoZVtuXT0hMSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKHkudGVzdChlLm5vZGVOYW1lKSYmZS5wYXJlbnROb2RlKWkuZXJyb3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYoIWkuc3VwcG9ydC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmaS5ub2RlTmFtZShlLCJpbnB1dCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19fSx2YWx1ZTp7Z2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIik/ZC5nZXQoZSx0KTp0IGluIGU/ZS52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIikpcmV0dXJuIGQuc2V0KGUsdCxuKTtlLnZhbHVlPXR9fX0scHJvcEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLGZvcjoiaHRtbEZvciIsY2xhc3M6ImNsYXNzTmFtZSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixjb250ZW50ZWRpdGFibGU6ImNvbnRlbnRFZGl0YWJsZSJ9LHByb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8sYT1lLm5vZGVUeXBlCjtpZihlJiYzIT09YSYmOCE9PWEmJjIhPT1hKXJldHVybigxIT09YXx8IWkuaXNYTUxEb2MoZSkpJiYodD1pLnByb3BGaXhbdF18fHQsbz1pLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9vJiYic2V0ImluIG8mJnZvaWQgMCE9PShyPW8uc2V0KGUsbix0KSk/cjplW3RdPW46byYmImdldCJpbiBvJiZudWxsIT09KHI9by5nZXQoZSx0KSk/cjplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiB0JiZ0LnNwZWNpZmllZD9wYXJzZUludCh0LnZhbHVlLDEwKTpiLnRlc3QoZS5ub2RlTmFtZSl8fHgudGVzdChlLm5vZGVOYW1lKSYmZS5ocmVmPzA6dm9pZCAwfX19fSksaS5hdHRySG9va3MudGFiaW5kZXg9aS5wcm9wSG9va3MudGFiSW5kZXgscD17Z2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnByb3AoZSx0KTtyZXR1cm4hMD09PXJ8fCJib29sZWFuIiE9dHlwZW9mIHImJihuPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJiExIT09bi5ub2RlVmFsdWU/dC50b0xvd2VyQ2FzZSgpOnZvaWQgMH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4hMT09PXQ/aS5yZW1vdmVBdHRyKGUsbik6KChyPWkucHJvcEZpeFtuXXx8bilpbiBlJiYoZVtyXT0hMCksZS5zZXRBdHRyaWJ1dGUobixuLnRvTG93ZXJDYXNlKCkpKSxufX0sVHx8KGg9e25hbWU6ITAsaWQ6ITAsY29vcmRzOiEwfSxkPWkudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4obj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiYoaFt0XT8iIiE9PW4ubm9kZVZhbHVlOm4uc3BlY2lmaWVkKT9uLm5vZGVWYWx1ZTp2b2lkIDB9LHNldDpmdW5jdGlvbihlLG4scil7dmFyIGk9ZS5nZXRBdHRyaWJ1dGVOb2RlKHIpO3JldHVybiBpfHwoaT10LmNyZWF0ZUF0dHJpYnV0ZShyKSxlLnNldEF0dHJpYnV0ZU5vZGUoaSkpLGkubm9kZVZhbHVlPW4rIiJ9fSxpLmF0dHJIb29rcy50YWJpbmRleC5zZXQ9ZC5zZXQsaS5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSwoZnVuY3Rpb24oZSx0KXtpLmF0dHJIb29rc1t0XT1pLmV4dGVuZChpLmF0dHJIb29rc1t0XSx7c2V0OmZ1bmN0aW9uKGUsbil7aWYoIiI9PT1uKXJldHVybiBlLnNldEF0dHJpYnV0ZSh0LCJhdXRvIiksbn19KX0pKSxpLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e2dldDpkLmdldCxzZXQ6ZnVuY3Rpb24oZSx0LG4peyIiPT09dCYmKHQ9ImZhbHNlIiksZC5zZXQoZSx0LG4pfX0pLGkuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8aS5lYWNoKFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sKGZ1bmN0aW9uKGUsdCl7aS5hdHRySG9va3NbdF09aS5leHRlbmQoaS5hdHRySG9va3NbdF0se2dldDpmdW5jdGlvbihlKXt2YXIgbj1lLmdldEF0dHJpYnV0ZSh0LDIpO3JldHVybiBudWxsPT09bj92b2lkIDA6bn19KX0pKSxpLnN1cHBvcnQuc3R5bGV8fChpLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlLmNzc1RleHQudG9Mb3dlckNhc2UoKXx8dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdHlsZS5jc3NUZXh0PSIiK3R9fSksaS5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoaS5wcm9wSG9va3Muc2VsZWN0ZWQ9aS5leHRlbmQoaS5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSksaS5zdXBwb3J0LmVuY3R5cGV8fChpLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKSxpLnN1cHBvcnQuY2hlY2tPbnx8aS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLChmdW5jdGlvbigpe2kudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX19fSkpLGkuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSwoZnVuY3Rpb24oKXtpLnZhbEhvb2tzW3RoaXNdPWkuZXh0ZW5kKGkudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihlLHQpe2lmKGkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWkuaW5BcnJheShpKGUpLnZhbCgpLHQpPj0wfX0pfSkpO3ZhciBOPS9eKD86dGV4dGFyZWF8aW5wdXR8c2VsZWN0KSQvaSxDPS9eKFteXC5dKik/KD86XC4oLispKT8kLyxTPS8oPzpefFxzKWhvdmVyKFwuXFMrKT9cYi8saz0vXmtleS8sRT0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sQT0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sRD0vXihcdyopKD86IyhbXHdcLV0rKSk/KD86XC4oW1x3XC1dKykpPyQvLEw9ZnVuY3Rpb24oZSl7dmFyIHQ9RC5leGVjKGUpO3JldHVybiB0JiYodFsxXT0odFsxXXx8IiIpLnRvTG93ZXJDYXNlKCksdFszXT10WzNdJiZuZXcgUmVnRXhwKCIoPzpefFxccykiK3RbM10rIig/Olxcc3wkKSIpKSx0fSxGPWZ1bmN0aW9uKGUpe3JldHVybiBpLmV2ZW50LnNwZWNpYWwuaG92ZXI/ZTplLnJlcGxhY2UoUywibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIpfTtmdW5jdGlvbiBqKCl7cmV0dXJuITF9ZnVuY3Rpb24gXygpe3JldHVybiEwfWkuZXZlbnQ9e2FkZDpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGc7aWYoMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiZ0JiZuJiYoYT1pLl9kYXRhKGUpKSl7Zm9yKG4uaGFuZGxlciYmKG49KGg9bikuaGFuZGxlcixvPWguc2VsZWN0b3IpLG4uZ3VpZHx8KG4uZ3VpZD1pLmd1aWQrKyksKGw9YS5ldmVudHMpfHwoYS5ldmVudHM9bD17fSksKHM9YS5oYW5kbGUpfHwoYS5oYW5kbGU9cz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09aXx8ZSYmaS5ldmVudC50cmlnZ2VyZWQ9PT1lLnR5cGU/dm9pZCAwOmkuZXZlbnQuZGlzcGF0Y2guYXBwbHkocy5lbGVtLGFyZ3VtZW50cyl9LHMuZWxlbT1lKSx0PWkudHJpbShGKHQpKS5zcGxpdCgiICIpLHU9MDt1PHQubGVuZ3RoO3UrKylmPShjPUMuZXhlYyh0W3VdKXx8W10pWzFdLApkPShjWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LGY9KG8/Zy5kZWxlZ2F0ZVR5cGU6Zy5iaW5kVHlwZSl8fGYsZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LHA9aS5leHRlbmQoe3R5cGU6ZixvcmlnVHlwZTpjWzFdLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6byxxdWljazpvJiZMKG8pLG5hbWVzcGFjZTpkLmpvaW4oIi4iKX0saCksKG09bFtmXSl8fCgobT1sW2ZdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZy5zZXR1cCYmITEhPT1nLnNldHVwLmNhbGwoZSxyLGQscyl8fChlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKGYscywhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK2YscykpKSxnLmFkZCYmKGcuYWRkLmNhbGwoZSxwKSxwLmhhbmRsZXIuZ3VpZHx8KHAuaGFuZGxlci5ndWlkPW4uZ3VpZCkpLG8/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxwKTptLnB1c2gocCksaS5ldmVudC5nbG9iYWxbZl09ITA7ZT1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGcsdix5PWkuaGFzRGF0YShlKSYmaS5fZGF0YShlKTtpZih5JiYocD15LmV2ZW50cykpe2Zvcih0PWkudHJpbShGKHR8fCIiKSkuc3BsaXQoIiAiKSxhPTA7YTx0Lmxlbmd0aDthKyspaWYobD11PShzPUMuZXhlYyh0W2FdKXx8W10pWzFdLGM9c1syXSxsKXtmb3IoaD1pLmV2ZW50LnNwZWNpYWxbbF18fHt9LGY9KGc9cFtsPShyP2guZGVsZWdhdGVUeXBlOmguYmluZFR5cGUpfHxsXXx8W10pLmxlbmd0aCxjPWM/bmV3IFJlZ0V4cCgiKF58XFwuKSIrYy5zcGxpdCgiLiIpLnNvcnQoKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGQ9MDtkPGcubGVuZ3RoO2QrKyl2PWdbZF0sIW8mJnUhPT12Lm9yaWdUeXBlfHxuJiZuLmd1aWQhPT12Lmd1aWR8fGMmJiFjLnRlc3Qodi5uYW1lc3BhY2UpfHxyJiZyIT09di5zZWxlY3RvciYmKCIqKiIhPT1yfHwhdi5zZWxlY3Rvcil8fChnLnNwbGljZShkLS0sMSksdi5zZWxlY3RvciYmZy5kZWxlZ2F0ZUNvdW50LS0saC5yZW1vdmUmJmgucmVtb3ZlLmNhbGwoZSx2KSk7MD09PWcubGVuZ3RoJiZmIT09Zy5sZW5ndGgmJihoLnRlYXJkb3duJiYhMSE9PWgudGVhcmRvd24uY2FsbChlLGMpfHxpLnJlbW92ZUV2ZW50KGUsbCx5LmhhbmRsZSksZGVsZXRlIHBbbF0pfWVsc2UgZm9yKGwgaW4gcClpLmV2ZW50LnJlbW92ZShlLGwrdFthXSxuLHIsITApO2kuaXNFbXB0eU9iamVjdChwKSYmKChtPXkuaGFuZGxlKSYmKG0uZWxlbT1udWxsKSxpLnJlbW92ZURhdGEoZSxbImV2ZW50cyIsImhhbmRsZSJdLCEwKSl9fSxjdXN0b21FdmVudDp7Z2V0RGF0YTohMCxzZXREYXRhOiEwLGNoYW5nZURhdGE6ITB9LHRyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7aWYoIW58fDMhPT1uLm5vZGVUeXBlJiY4IT09bi5ub2RlVHlwZSl7dmFyIG8sYSxzLGwsdSxjLGYsZCxwLGgsbT1lLnR5cGV8fGUsZz1bXTtpZighQS50ZXN0KG0raS5ldmVudC50cmlnZ2VyZWQpJiYobS5pbmRleE9mKCIhIik+PTAmJihtPW0uc2xpY2UoMCwtMSksYT0hMCksbS5pbmRleE9mKCIuIik+PTAmJihnPW0uc3BsaXQoIi4iKSxtPWcuc2hpZnQoKSxnLnNvcnQoKSksbiYmIWkuZXZlbnQuY3VzdG9tRXZlbnRbbV18fGkuZXZlbnQuZ2xvYmFsW21dKSlpZigoZT0ib2JqZWN0Ij09dHlwZW9mIGU/ZVtpLmV4cGFuZG9dP2U6bmV3IGkuRXZlbnQobSxlKTpuZXcgaS5FdmVudChtKSkudHlwZT1tLGUuaXNUcmlnZ2VyPSEwLGUuZXhjbHVzaXZlPWEsZS5uYW1lc3BhY2U9Zy5qb2luKCIuIiksZS5uYW1lc3BhY2VfcmU9ZS5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrZy5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGM9bS5pbmRleE9mKCI6Iik8MD8ib24iK206IiIsbil7aWYoZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksKHQ9bnVsbCE9dD9pLm1ha2VBcnJheSh0KTpbXSkudW5zaGlmdChlKSwhKGY9aS5ldmVudC5zcGVjaWFsW21dfHx7fSkudHJpZ2dlcnx8ITEhPT1mLnRyaWdnZXIuYXBwbHkobix0KSl7aWYocD1bW24sZi5iaW5kVHlwZXx8bV1dLCFyJiYhZi5ub0J1YmJsZSYmIWkuaXNXaW5kb3cobikpe2ZvcihoPWYuZGVsZWdhdGVUeXBlfHxtLGw9QS50ZXN0KGgrbSk/bjpuLnBhcmVudE5vZGUsdT1udWxsO2w7bD1sLnBhcmVudE5vZGUpcC5wdXNoKFtsLGhdKSx1PWw7dSYmdT09PW4ub3duZXJEb2N1bWVudCYmcC5wdXNoKFt1LmRlZmF1bHRWaWV3fHx1LnBhcmVudFdpbmRvd3x8d2luZG93LGhdKX1mb3Iocz0wO3M8cC5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7cysrKWw9cFtzXVswXSxlLnR5cGU9cFtzXVsxXSwoZD0oaS5fZGF0YShsLCJldmVudHMiKXx8e30pW2UudHlwZV0mJmkuX2RhdGEobCwiaGFuZGxlIikpJiZkLmFwcGx5KGwsdCksKGQ9YyYmbFtjXSkmJmkuYWNjZXB0RGF0YShsKSYmITE9PT1kLmFwcGx5KGwsdCkmJmUucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZS50eXBlPW0scnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Zi5fZGVmYXVsdCYmITEhPT1mLl9kZWZhdWx0LmFwcGx5KG4ub3duZXJEb2N1bWVudCx0KXx8ImNsaWNrIj09PW0mJmkubm9kZU5hbWUobiwiYSIpfHwhaS5hY2NlcHREYXRhKG4pfHxjJiZuW21dJiYoImZvY3VzIiE9PW0mJiJibHVyIiE9PW18fDAhPT1lLnRhcmdldC5vZmZzZXRXaWR0aCkmJiFpLmlzV2luZG93KG4pJiYoKHU9bltjXSkmJihuW2NdPW51bGwpLGkuZXZlbnQudHJpZ2dlcmVkPW0sblttXSgpLGkuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCx1JiYobltjXT11KSksZS5yZXN1bHR9fWVsc2UgZm9yKHMgaW4gbz1pLmNhY2hlKW9bc10uZXZlbnRzJiZvW3NdLmV2ZW50c1ttXSYmaS5ldmVudC50cmlnZ2VyKGUsdCxvW3NdLmhhbmRsZS5lbGVtLCEwKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe2U9aS5ldmVudC5maXgoZXx8d2luZG93LmV2ZW50KQo7dmFyIHQsbixyLG8sYSxzLGwsdSxjLGYsZD0oaS5fZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2UudHlwZV18fFtdLHA9ZC5kZWxlZ2F0ZUNvdW50LGg9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCksbT0hZS5leGNsdXNpdmUmJiFlLm5hbWVzcGFjZSxnPWkuZXZlbnQuc3BlY2lhbFtlLnR5cGVdfHx7fSx2PVtdO2lmKGhbMF09ZSxlLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWcucHJlRGlzcGF0Y2h8fCExIT09Zy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsZSkpe2lmKHAmJighZS5idXR0b258fCJjbGljayIhPT1lLnR5cGUpKWZvcigobz1pKHRoaXMpKS5jb250ZXh0PXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxyPWUudGFyZ2V0O3IhPXRoaXM7cj1yLnBhcmVudE5vZGV8fHRoaXMpaWYoITAhPT1yLmRpc2FibGVkKXtmb3Iocz17fSx1PVtdLG9bMF09cix0PTA7dDxwO3QrKyl2b2lkIDA9PT1zW2Y9KGM9ZFt0XSkuc2VsZWN0b3JdJiYoc1tmXT1jLnF1aWNrPyh5PXIsYj1jLnF1aWNrLHg9dm9pZCAwLHg9eS5hdHRyaWJ1dGVzfHx7fSwoIWJbMV18fHkubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJbMV0pJiYoIWJbMl18fCh4LmlkfHx7fSkudmFsdWU9PT1iWzJdKSYmKCFiWzNdfHxiWzNdLnRlc3QoKHguY2xhc3N8fHt9KS52YWx1ZSkpKTpvLmlzKGYpKSxzW2ZdJiZ1LnB1c2goYyk7dS5sZW5ndGgmJnYucHVzaCh7ZWxlbTpyLG1hdGNoZXM6dX0pfXZhciB5LGIseDtmb3IoZC5sZW5ndGg+cCYmdi5wdXNoKHtlbGVtOnRoaXMsbWF0Y2hlczpkLnNsaWNlKHApfSksdD0wO3Q8di5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7dCsrKWZvcihsPXZbdF0sZS5jdXJyZW50VGFyZ2V0PWwuZWxlbSxuPTA7bjxsLm1hdGNoZXMubGVuZ3RoJiYhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO24rKyljPWwubWF0Y2hlc1tuXSwobXx8IWUubmFtZXNwYWNlJiYhYy5uYW1lc3BhY2V8fGUubmFtZXNwYWNlX3JlJiZlLm5hbWVzcGFjZV9yZS50ZXN0KGMubmFtZXNwYWNlKSkmJihlLmRhdGE9Yy5kYXRhLGUuaGFuZGxlT2JqPWMsdm9pZCAwIT09KGE9KChpLmV2ZW50LnNwZWNpYWxbYy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGMuaGFuZGxlcikuYXBwbHkobC5lbGVtLGgpKSYmKGUucmVzdWx0PWEsITE9PT1hJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpKSk7cmV0dXJuIGcucG9zdERpc3BhdGNoJiZnLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsZSksZS5yZXN1bHR9fSxwcm9wczoiYXR0ckNoYW5nZSBhdHRyTmFtZSByZWxhdGVkTm9kZSBzcmNFbGVtZW50IGFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWUud2hpY2gmJihlLndoaWNoPW51bGwhPXQuY2hhckNvZGU/dC5jaGFyQ29kZTp0LmtleUNvZGUpLGV9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihlLG4pe3ZhciByLGksbyxhPW4uYnV0dG9uLHM9bi5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09ZS5wYWdlWCYmbnVsbCE9bi5jbGllbnRYJiYoaT0ocj1lLnRhcmdldC5vd25lckRvY3VtZW50fHx0KS5kb2N1bWVudEVsZW1lbnQsbz1yLmJvZHksZS5wYWdlWD1uLmNsaWVudFgrKGkmJmkuc2Nyb2xsTGVmdHx8byYmby5zY3JvbGxMZWZ0fHwwKS0oaSYmaS5jbGllbnRMZWZ0fHxvJiZvLmNsaWVudExlZnR8fDApLGUucGFnZVk9bi5jbGllbnRZKyhpJiZpLnNjcm9sbFRvcHx8byYmby5zY3JvbGxUb3B8fDApLShpJiZpLmNsaWVudFRvcHx8byYmby5jbGllbnRUb3B8fDApKSwhZS5yZWxhdGVkVGFyZ2V0JiZzJiYoZS5yZWxhdGVkVGFyZ2V0PXM9PT1lLnRhcmdldD9uLnRvRWxlbWVudDpzKSxlLndoaWNofHx2b2lkIDA9PT1hfHwoZS53aGljaD0xJmE/MToyJmE/Mzo0JmE/MjowKSxlfX0sZml4OmZ1bmN0aW9uKGUpe2lmKGVbaS5leHBhbmRvXSlyZXR1cm4gZTt2YXIgbixyLG89ZSxhPWkuZXZlbnQuZml4SG9va3NbZS50eXBlXXx8e30scz1hLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGEucHJvcHMpOnRoaXMucHJvcHM7Zm9yKGU9aS5FdmVudChvKSxuPXMubGVuZ3RoO247KWVbcj1zWy0tbl1dPW9bcl07cmV0dXJuIGUudGFyZ2V0fHwoZS50YXJnZXQ9by5zcmNFbGVtZW50fHx0KSwzPT09ZS50YXJnZXQubm9kZVR5cGUmJihlLnRhcmdldD1lLnRhcmdldC5wYXJlbnROb2RlKSx2b2lkIDA9PT1lLm1ldGFLZXkmJihlLm1ldGFLZXk9ZS5jdHJsS2V5KSxhLmZpbHRlcj9hLmZpbHRlcihlLG8pOmV9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDppLmJpbmRSZWFkeX0sbG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihlLHQsbil7aS5pc1dpbmRvdyh0aGlzKSYmKHRoaXMub25iZWZvcmV1bmxvYWQ9bil9LHRlYXJkb3duOmZ1bmN0aW9uKGUsdCl7dGhpcy5vbmJlZm9yZXVubG9hZD09PXQmJih0aGlzLm9uYmVmb3JldW5sb2FkPW51bGwpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWkuZXh0ZW5kKG5ldyBpLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMCxvcmlnaW5hbEV2ZW50Ont9fSk7cj9pLmV2ZW50LnRyaWdnZXIobyxudWxsLHQpOmkuZXZlbnQuZGlzcGF0Y2guY2FsbCh0LG8pLG8uaXNEZWZhdWx0UHJldmVudGVkKCkmJm4ucHJldmVudERlZmF1bHQoKX19LGkuZXZlbnQuaGFuZGxlPWkuZXZlbnQuZGlzcGF0Y2gsCmkucmVtb3ZlRXZlbnQ9dC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sITEpfTpmdW5jdGlvbihlLHQsbil7ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3Qsbil9LGkuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBpLkV2ZW50KSlyZXR1cm4gbmV3IGkuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHwhMT09PWUucmV0dXJuVmFsdWV8fGUuZ2V0UHJldmVudERlZmF1bHQmJmUuZ2V0UHJldmVudERlZmF1bHQoKT9fOmopOnRoaXMudHlwZT1lLHQmJmkuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fGkubm93KCksdGhpc1tpLmV4cGFuZG9dPSEwfSxpLkV2ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1fO3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDtlJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Xzt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uJiZlLnN0b3BQcm9wYWdhdGlvbigpLGUuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1fLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpqLGlzUHJvcGFnYXRpb25TdG9wcGVkOmosaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6an0saS5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0sKGZ1bmN0aW9uKGUsdCl7aS5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPWUucmVsYXRlZFRhcmdldCxvPWUuaGFuZGxlT2JqO28uc2VsZWN0b3I7cmV0dXJuIHImJihyPT09dGhpc3x8aS5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1vLm9yaWdUeXBlLG49by5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSkpLGkuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoaS5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtpZihpLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1cm4hMTtpLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLChmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCxuPWkubm9kZU5hbWUodCwiaW5wdXQiKXx8aS5ub2RlTmFtZSh0LCJidXR0b24iKT90LmZvcm06dm9pZCAwO24mJiFuLl9zdWJtaXRfYXR0YWNoZWQmJihpLmV2ZW50LmFkZChuLCJzdWJtaXQuX3N1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGU9ITB9KSksbi5fc3VibWl0X2F0dGFjaGVkPSEwKX0pKX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFlLmlzVHJpZ2dlciYmaS5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsZSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGkubm9kZU5hbWUodGhpcywiZm9ybSIpKXJldHVybiExO2kuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksaS5zdXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChpLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe2lmKE4udGVzdCh0aGlzLm5vZGVOYW1lKSlyZXR1cm4iY2hlY2tib3giIT09dGhpcy50eXBlJiYicmFkaW8iIT09dGhpcy50eXBlfHwoaS5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsKGZ1bmN0aW9uKGUpeyJjaGVja2VkIj09PWUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSkpLGkuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9jaGFuZ2UiLChmdW5jdGlvbihlKXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFlLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMSxpLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsZSwhMCkpfSkpKSwhMTtpLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7Ti50ZXN0KHQubm9kZU5hbWUpJiYhdC5fY2hhbmdlX2F0dGFjaGVkJiYoaS5ldmVudC5hZGQodCwiY2hhbmdlLl9jaGFuZ2UiLChmdW5jdGlvbihlKXshdGhpcy5wYXJlbnROb2RlfHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8aS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsZSwhMCl9KSksdC5fY2hhbmdlX2F0dGFjaGVkPSEwKX0pKX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHRoaXMhPT10fHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8InJhZGlvIiE9PXQudHlwZSYmImNoZWNrYm94IiE9PXQudHlwZSlyZXR1cm4gZS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIGkuZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksTi50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGkuc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8aS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSwoZnVuY3Rpb24oZSxuKXt2YXIgcj0wLG89ZnVuY3Rpb24oZSl7aS5ldmVudC5zaW11bGF0ZShuLGUudGFyZ2V0LGkuZXZlbnQuZml4KGUpLCEwKX07aS5ldmVudC5zcGVjaWFsW25dPXtzZXR1cDpmdW5jdGlvbigpezA9PXIrKyYmdC5hZGRFdmVudExpc3RlbmVyKGUsbywhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7CjA9PS0tciYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbywhMCl9fX0pKSxpLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7Zm9yKHMgaW4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPW58fHQsdD12b2lkIDApLGUpdGhpcy5vbihzLHQsbixlW3NdLG8pO3JldHVybiB0aGlzfWlmKG51bGw9PW4mJm51bGw9PXI/KHI9dCxuPXQ9dm9pZCAwKTpudWxsPT1yJiYoInN0cmluZyI9PXR5cGVvZiB0PyhyPW4sbj12b2lkIDApOihyPW4sbj10LHQ9dm9pZCAwKSksITE9PT1yKXI9ajtlbHNlIGlmKCFyKXJldHVybiB0aGlzO3JldHVybiAxPT09byYmKGE9cixyPWZ1bmN0aW9uKGUpe3JldHVybiBpKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWkuZ3VpZCsrKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe2kuZXZlbnQuYWRkKHRoaXMsZSxyLG4sdCl9KSl9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbihlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXt2YXIgcj1lLmhhbmRsZU9iajtyZXR1cm4gaShlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpc31pZigib2JqZWN0Ij09dHlwZW9mIGUpe2Zvcih2YXIgbyBpbiBlKXRoaXMub2ZmKG8sdCxlW29dKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPWopLHRoaXMuZWFjaCgoZnVuY3Rpb24oKXtpLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pKX0sYmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGxpdmU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpKHRoaXMuY29udGV4dCkub24oZSx0aGlzLnNlbGVjdG9yLHQsbiksdGhpc30sZGllOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodGhpcy5jb250ZXh0KS5vZmYoZSx0aGlzLnNlbGVjdG9yfHwiKioiLHQpLHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZSxuKX0sdHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pKX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXtpZih0aGlzWzBdKXJldHVybiBpLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXNbMF0sITApfSx0b2dnbGU6ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLG49ZS5ndWlkfHxpLmd1aWQrKyxyPTAsbz1mdW5jdGlvbihuKXt2YXIgbz0oaS5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIitlLmd1aWQpfHwwKSVyO3JldHVybiBpLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2UuZ3VpZCxvKzEpLG4ucHJldmVudERlZmF1bHQoKSx0W29dLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ITF9O2ZvcihvLmd1aWQ9bjtyPHQubGVuZ3RoOyl0W3IrK10uZ3VpZD1uO3JldHVybiB0aGlzLmNsaWNrKG8pfSxob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0fHxlKX19KSxpLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7aS5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBudWxsPT1uJiYobj1lLGU9bnVsbCksYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfSxpLmF0dHJGbiYmKGkuYXR0ckZuW3RdPSEwKSxrLnRlc3QodCkmJihpLmV2ZW50LmZpeEhvb2tzW3RdPWkuZXZlbnQua2V5SG9va3MpLEUudGVzdCh0KSYmKGkuZXZlbnQuZml4SG9va3NbdF09aS5ldmVudC5tb3VzZUhvb2tzKX0pKSxmdW5jdGlvbigpe3ZhciBlPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csbj0ic2l6Y2FjaGUiKyhNYXRoLnJhbmRvbSgpKyIiKS5yZXBsYWNlKCIuIiwiIikscj0wLG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPSExLHM9ITAsbD0vXFwvZyx1PS9cclxuL2csYz0vXFcvO1swLDBdLnNvcnQoKGZ1bmN0aW9uKCl7cmV0dXJuIHM9ITEsMH0pKTt2YXIgZj1mdW5jdGlvbihuLHIsaSxhKXtpPWl8fFtdO3ZhciBzPXI9cnx8dDtpZigxIT09ci5ub2RlVHlwZSYmOSE9PXIubm9kZVR5cGUpcmV0dXJuW107aWYoIW58fCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gaTt2YXIgbCx1LGMsZCxtLGcsdix5LGI9ITAsdz1mLmlzWE1MKHIpLFQ9W10sQz1uO2Rve2lmKGUuZXhlYygiIiksKGw9ZS5leGVjKEMpKSYmKEM9bFszXSxULnB1c2gobFsxXSksbFsyXSkpe2Q9bFszXTticmVha319d2hpbGUobCk7aWYoVC5sZW5ndGg+MSYmaC5leGVjKG4pKWlmKDI9PT1ULmxlbmd0aCYmcC5yZWxhdGl2ZVtUWzBdXSl1PU4oVFswXStUWzFdLHIsYSk7ZWxzZSBmb3IodT1wLnJlbGF0aXZlW1RbMF1dP1tyXTpmKFQuc2hpZnQoKSxyKTtULmxlbmd0aDspbj1ULnNoaWZ0KCkscC5yZWxhdGl2ZVtuXSYmKG4rPVQuc2hpZnQoKSksCnU9TihuLHUsYSk7ZWxzZSBpZighYSYmVC5sZW5ndGg+MSYmOT09PXIubm9kZVR5cGUmJiF3JiZwLm1hdGNoLklELnRlc3QoVFswXSkmJiFwLm1hdGNoLklELnRlc3QoVFtULmxlbmd0aC0xXSkmJihyPShtPWYuZmluZChULnNoaWZ0KCkscix3KSkuZXhwcj9mLmZpbHRlcihtLmV4cHIsbS5zZXQpWzBdOm0uc2V0WzBdKSxyKWZvcih1PShtPWE/e2V4cHI6VC5wb3AoKSxzZXQ6eChhKX06Zi5maW5kKFQucG9wKCksMSE9PVQubGVuZ3RofHwifiIhPT1UWzBdJiYiKyIhPT1UWzBdfHwhci5wYXJlbnROb2RlP3I6ci5wYXJlbnROb2RlLHcpKS5leHByP2YuZmlsdGVyKG0uZXhwcixtLnNldCk6bS5zZXQsVC5sZW5ndGg+MD9jPXgodSk6Yj0hMTtULmxlbmd0aDspdj1nPVQucG9wKCkscC5yZWxhdGl2ZVtnXT92PVQucG9wKCk6Zz0iIixudWxsPT12JiYodj1yKSxwLnJlbGF0aXZlW2ddKGMsdix3KTtlbHNlIGM9VD1bXTtpZihjfHwoYz11KSxjfHxmLmVycm9yKGd8fG4pLCJbb2JqZWN0IEFycmF5XSI9PT1vLmNhbGwoYykpaWYoYilpZihyJiYxPT09ci5ub2RlVHlwZSlmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJighMD09PWNbeV18fDE9PT1jW3ldLm5vZGVUeXBlJiZmLmNvbnRhaW5zKHIsY1t5XSkpJiZpLnB1c2godVt5XSk7ZWxzZSBmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJjE9PT1jW3ldLm5vZGVUeXBlJiZpLnB1c2godVt5XSk7ZWxzZSBpLnB1c2guYXBwbHkoaSxjKTtlbHNlIHgoYyxpKTtyZXR1cm4gZCYmKGYoZCxzLGksYSksZi51bmlxdWVTb3J0KGkpKSxpfTtmLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7aWYodiYmKGE9cyxlLnNvcnQodiksYSkpZm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspZVt0XT09PWVbdC0xXSYmZS5zcGxpY2UodC0tLDEpO3JldHVybiBlfSxmLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZihlLG51bGwsbnVsbCx0KX0sZi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZih0LG51bGwsbnVsbCxbZV0pLmxlbmd0aD4wfSxmLmZpbmQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdTtpZighZSlyZXR1cm5bXTtmb3IoaT0wLG89cC5vcmRlci5sZW5ndGg7aTxvO2krKylpZihzPXAub3JkZXJbaV0sKGE9cC5sZWZ0TWF0Y2hbc10uZXhlYyhlKSkmJih1PWFbMV0sYS5zcGxpY2UoMSwxKSwiXFwiIT09dS5zdWJzdHIodS5sZW5ndGgtMSkmJihhWzFdPShhWzFdfHwiIikucmVwbGFjZShsLCIiKSxudWxsIT0ocj1wLmZpbmRbc10oYSx0LG4pKSkpKXtlPWUucmVwbGFjZShwLm1hdGNoW3NdLCIiKTticmVha31yZXR1cm4gcnx8KHI9dm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pLHtzZXQ6cixleHByOmV9fSxmLmZpbHRlcj1mdW5jdGlvbihlLHQsbixyKXtmb3IodmFyIGksbyxhLHMsbCx1LGMsZCxoLG09ZSxnPVtdLHY9dCx5PXQmJnRbMF0mJmYuaXNYTUwodFswXSk7ZSYmdC5sZW5ndGg7KXtmb3IoYSBpbiBwLmZpbHRlcilpZihudWxsIT0oaT1wLmxlZnRNYXRjaFthXS5leGVjKGUpKSYmaVsyXSl7aWYodT1wLmZpbHRlclthXSxjPWlbMV0sbz0hMSxpLnNwbGljZSgxLDEpLCJcXCI9PT1jLnN1YnN0cihjLmxlbmd0aC0xKSljb250aW51ZTtpZih2PT09ZyYmKGc9W10pLHAucHJlRmlsdGVyW2FdKWlmKGk9cC5wcmVGaWx0ZXJbYV0oaSx2LG4sZyxyLHkpKXtpZighMD09PWkpY29udGludWV9ZWxzZSBvPXM9ITA7aWYoaSlmb3IoZD0wO251bGwhPShsPXZbZF0pO2QrKylsJiYoaD1yXihzPXUobCxpLGQsdikpLG4mJm51bGwhPXM/aD9vPSEwOnZbZF09ITE6aCYmKGcucHVzaChsKSxvPSEwKSk7aWYodm9pZCAwIT09cyl7aWYobnx8KHY9ZyksZT1lLnJlcGxhY2UocC5tYXRjaFthXSwiIiksIW8pcmV0dXJuW107YnJlYWt9fWlmKGU9PT1tKXtpZihudWxsIT1vKWJyZWFrO2YuZXJyb3IoZSl9bT1lfXJldHVybiB2fSxmLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX07dmFyIGQ9Zi5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lLm5vZGVUeXBlLGk9IiI7aWYocil7aWYoMT09PXJ8fDk9PT1yfHwxMT09PXIpe2lmKCJzdHJpbmciPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtpZigic3RyaW5nIj09dHlwZW9mIGUuaW5uZXJUZXh0KXJldHVybiBlLmlubmVyVGV4dC5yZXBsYWNlKHUsIiIpO2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpKz1kKGUpfWVsc2UgaWYoMz09PXJ8fDQ9PT1yKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcih0PTA7bj1lW3RdO3QrKyk4IT09bi5ub2RlVHlwZSYmKGkrPWQobikpO3JldHVybiBpfSxwPWYuc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxzKig/OihcUz89KVxzKig/OihbJyJdKSguKj8pXDN8KCM/KD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKil8KXwpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCpcLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoXHMqKGV2ZW58b2RkfCg/OlsrXC1dP1xkK3woPzpbK1wtXT9cZCopP25ccyooPzpbK1wtXVxzKlxkKyk/KSlccypcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxvZGQpKD86XCgoXGQqKVwpKT8oPz1bXlwtXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8W15cKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7Y2xhc3M6ImNsYXNzTmFtZSIsZm9yOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7CmhyZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJocmVmIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJ0eXBlIil9fSxyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGUsdCl7dmFyIG49InN0cmluZyI9PXR5cGVvZiB0LHI9biYmIWMudGVzdCh0KSxpPW4mJiFyO3ImJih0PXQudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBvLGE9MCxzPWUubGVuZ3RoO2E8czthKyspaWYobz1lW2FdKXtmb3IoOyhvPW8ucHJldmlvdXNTaWJsaW5nKSYmMSE9PW8ubm9kZVR5cGU7KTtlW2FdPWl8fG8mJm8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQ/b3x8ITE6bz09PXR9aSYmZi5maWx0ZXIodCxlLCEwKX0sIj4iOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0ic3RyaW5nIj09dHlwZW9mIHQsaT0wLG89ZS5sZW5ndGg7aWYociYmIWMudGVzdCh0KSl7Zm9yKHQ9dC50b0xvd2VyQ2FzZSgpO2k8bztpKyspaWYobj1lW2ldKXt2YXIgYT1uLnBhcmVudE5vZGU7ZVtpXT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10JiZhfX1lbHNle2Zvcig7aTxvO2krKykobj1lW2ldKSYmKGVbaV09cj9uLnBhcmVudE5vZGU6bi5wYXJlbnROb2RlPT09dCk7ciYmZi5maWx0ZXIodCxlLCEwKX19LCIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicGFyZW50Tm9kZSIsdCxvLGUsaSxuKX0sIn4iOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicHJldmlvdXNTaWJsaW5nIix0LG8sZSxpLG4pfX0sZmluZDp7SUQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJiFuKXt2YXIgcj10LmdldEVsZW1lbnRCeUlkKGVbMV0pO3JldHVybiByJiZyLnBhcmVudE5vZGU/W3JdOltdfX0sTkFNRTpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeU5hbWUpe2Zvcih2YXIgbj1bXSxyPXQuZ2V0RWxlbWVudHNCeU5hbWUoZVsxXSksaT0wLG89ci5sZW5ndGg7aTxvO2krKylyW2ldLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09ZVsxXSYmbi5wdXNoKHJbaV0pO3JldHVybiAwPT09bi5sZW5ndGg/bnVsbDpufX0sVEFHOmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oZSx0LG4scixpLG8pe2lmKGU9IiAiK2VbMV0ucmVwbGFjZShsLCIiKSsiICIsbylyZXR1cm4gZTtmb3IodmFyIGEscz0wO251bGwhPShhPXRbc10pO3MrKylhJiYoaV4oYS5jbGFzc05hbWUmJigiICIrYS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihlKT49MCk/bnx8ci5wdXNoKGEpOm4mJih0W3NdPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIil9LFRBRzpmdW5jdGlvbihlLHQpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7aWYoIm50aCI9PT1lWzFdKXtlWzJdfHxmLmVycm9yKGVbMF0pLGVbMl09ZVsyXS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciB0PS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYygoImV2ZW4iPT09ZVsyXT8iMm4iOiJvZGQiPT09ZVsyXSYmIjJuKzEiKXx8IS9cRC8udGVzdChlWzJdKSYmIjBuKyIrZVsyXXx8ZVsyXSk7ZVsyXT10WzFdKyh0WzJdfHwxKS0wLGVbM109dFszXS0wfWVsc2UgZVsyXSYmZi5lcnJvcihlWzBdKTtyZXR1cm4gZVswXT1yKyssZX0sQVRUUjpmdW5jdGlvbihlLHQsbixyLGksbyl7dmFyIGE9ZVsxXT1lWzFdLnJlcGxhY2UobCwiIik7cmV0dXJuIW8mJnAuYXR0ck1hcFthXSYmKGVbMV09cC5hdHRyTWFwW2FdKSxlWzRdPShlWzRdfHxlWzVdfHwiIikucmVwbGFjZShsLCIiKSwifj0iPT09ZVsyXSYmKGVbNF09IiAiK2VbNF0rIiAiKSxlfSxQU0VVRE86ZnVuY3Rpb24odCxuLHIsaSxvKXtpZigibm90Ij09PXRbMV0pe2lmKCEoKGUuZXhlYyh0WzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KHRbM10pKSl7dmFyIGE9Zi5maWx0ZXIodFszXSxuLHIsITBebyk7cmV0dXJuIHJ8fGkucHVzaC5hcHBseShpLGEpLCExfXRbM109Zih0WzNdLG51bGwsbnVsbCxuKX1lbHNlIGlmKHAubWF0Y2guUE9TLnRlc3QodFswXSl8fHAubWF0Y2guQ0hJTEQudGVzdCh0WzBdKSlyZXR1cm4hMDtyZXR1cm4gdH0sUE9TOmZ1bmN0aW9uKGUpe3JldHVybiBlLnVuc2hpZnQoITApLGV9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiExPT09ZS5kaXNhYmxlZCYmImhpZGRlbiIhPT1lLnR5cGV9LGRpc2FibGVkOmZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZH0sY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuY2hlY2tlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuISFlLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGUpe3JldHVybiFlLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihlLHQsbil7cmV0dXJuISFmKG5bM10sZSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuL2hcZC9pLnRlc3QoZS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSxuPWUudHlwZTtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1uJiYodD09PW58fG51bGw9PT10KX0scmFkaW86ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInJhZGlvIj09PWUudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImNoZWNrYm94Ij09PWUudHlwZQp9LGZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImZpbGUiPT09ZS50eXBlfSxwYXNzd29yZDpmdW5jdGlvbihlKXtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYicGFzc3dvcmQiPT09ZS50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09dHx8ImJ1dHRvbiI9PT10KSYmInN1Ym1pdCI9PT1lLnR5cGV9LGltYWdlOmZ1bmN0aW9uKGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJpbWFnZSI9PT1lLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJiJyZXNldCI9PT1lLnR5cGV9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2kudGVzdChlLm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1lLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PT10fSxsYXN0OmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0PT09ci5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTB9LG9kZDpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTF9LGx0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdDxuWzNdLTB9LGd0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdD5uWzNdLTB9LG50aDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG5bM10tMD09PXR9LGVxOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gblszXS0wPT09dH19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRbMV0sbz1wLmZpbHRlcnNbaV07aWYobylyZXR1cm4gbyhlLG4sdCxyKTtpZigiY29udGFpbnMiPT09aSlyZXR1cm4oZS50ZXh0Q29udGVudHx8ZS5pbm5lclRleHR8fGQoW2VdKXx8IiIpLmluZGV4T2YodFszXSk+PTA7aWYoIm5vdCI9PT1pKXtmb3IodmFyIGE9dFszXSxzPTAsbD1hLmxlbmd0aDtzPGw7cysrKWlmKGFbc109PT1lKXJldHVybiExO3JldHVybiEwfWYuZXJyb3IoaSl9LENISUxEOmZ1bmN0aW9uKGUsdCl7dmFyIHIsaSxvLGEscyxsLHU9dFsxXSxjPWU7c3dpdGNoKHUpe2Nhc2Uib25seSI6Y2FzZSJmaXJzdCI6Zm9yKDtjPWMucHJldmlvdXNTaWJsaW5nOylpZigxPT09Yy5ub2RlVHlwZSlyZXR1cm4hMTtpZigiZmlyc3QiPT09dSlyZXR1cm4hMDtjPWU7Y2FzZSJsYXN0Ijpmb3IoO2M9Yy5uZXh0U2libGluZzspaWYoMT09PWMubm9kZVR5cGUpcmV0dXJuITE7cmV0dXJuITA7Y2FzZSJudGgiOmlmKHI9dFsyXSxpPXRbM10sMT09PXImJjA9PT1pKXJldHVybiEwO2lmKG89dFswXSwoYT1lLnBhcmVudE5vZGUpJiYoYVtuXSE9PW98fCFlLm5vZGVJbmRleCkpe2ZvcihzPTAsYz1hLmZpcnN0Q2hpbGQ7YztjPWMubmV4dFNpYmxpbmcpMT09PWMubm9kZVR5cGUmJihjLm5vZGVJbmRleD0rK3MpO2Fbbl09b31yZXR1cm4gbD1lLm5vZGVJbmRleC1pLDA9PT1yPzA9PT1sOmwlcj09MCYmbC9yPj0wfX0sSUQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMT09PWUubm9kZVR5cGUmJmUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH0sVEFHOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIioiPT09dCYmMT09PWUubm9kZVR5cGV8fCEhZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH0sQ0xBU1M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4oIiAiKyhlLmNsYXNzTmFtZXx8ZS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZih0KT4tMX0sQVRUUjpmdW5jdGlvbihlLHQpe3ZhciBuPXRbMV0scj1mLmF0dHI/Zi5hdHRyKGUsbik6cC5hdHRySGFuZGxlW25dP3AuYXR0ckhhbmRsZVtuXShlKTpudWxsIT1lW25dP2Vbbl06ZS5nZXRBdHRyaWJ1dGUobiksaT1yKyIiLG89dFsyXSxhPXRbNF07cmV0dXJuIG51bGw9PXI/IiE9Ij09PW86IW8mJmYuYXR0cj9udWxsIT1yOiI9Ij09PW8/aT09PWE6Iio9Ij09PW8/aS5pbmRleE9mKGEpPj0wOiJ+PSI9PT1vPygiICIraSsiICIpLmluZGV4T2YoYSk+PTA6YT8iIT0iPT09bz9pIT09YToiXj0iPT09bz8wPT09aS5pbmRleE9mKGEpOiIkPSI9PT1vP2kuc3Vic3RyKGkubGVuZ3RoLWEubGVuZ3RoKT09PWE6Inw9Ij09PW8mJihpPT09YXx8aS5zdWJzdHIoMCxhLmxlbmd0aCsxKT09PWErIi0iKTppJiYhMSE9PXJ9LFBPUzpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT10WzJdLG89cC5zZXRGaWx0ZXJzW2ldO2lmKG8pcmV0dXJuIG8oZSxuLHQscil9fX0saD1wLm1hdGNoLlBPUyxtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIlxcIisodC0wKzEpfTtmb3IodmFyIGcgaW4gcC5tYXRjaClwLm1hdGNoW2ddPW5ldyBSZWdFeHAocC5tYXRjaFtnXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxwLmxlZnRNYXRjaFtnXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrcC5tYXRjaFtnXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLG0pKTtwLm1hdGNoLmdsb2JhbFBPUz1oO3ZhciB2LHksYix4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSwwKSx0Pyh0LnB1c2guYXBwbHkodCxlKSx0KTplfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChlKXt4PWZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPXR8fFtdCjtpZigiW29iamVjdCBBcnJheV0iPT09by5jYWxsKGUpKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHIsZSk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKWZvcih2YXIgaT1lLmxlbmd0aDtuPGk7bisrKXIucHVzaChlW25dKTtlbHNlIGZvcig7ZVtuXTtuKyspci5wdXNoKGVbbl0pO3JldHVybiByfX1mdW5jdGlvbiB3KGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMSE9PXUubm9kZVR5cGV8fGF8fCh1W25dPXIsdS5zaXpzZXQ9cyksdS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX1mdW5jdGlvbiBUKGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMT09PXUubm9kZVR5cGUpaWYoYXx8KHVbbl09cix1LnNpenNldD1zKSwic3RyaW5nIiE9dHlwZW9mIHQpe2lmKHU9PT10KXtjPSEwO2JyZWFrfX1lbHNlIGlmKGYuZmlsdGVyKHQsW3VdKS5sZW5ndGg+MCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX10LmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj92PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10PyhhPSEwLDApOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/NCZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpPy0xOjE6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxfToodj1mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBhPSEwLDA7aWYoZS5zb3VyY2VJbmRleCYmdC5zb3VyY2VJbmRleClyZXR1cm4gZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O3ZhciBuLHIsaT1bXSxvPVtdLHM9ZS5wYXJlbnROb2RlLGw9dC5wYXJlbnROb2RlLHU9cztpZihzPT09bClyZXR1cm4geShlLHQpO2lmKCFzKXJldHVybi0xO2lmKCFsKXJldHVybiAxO2Zvcig7dTspaS51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO2Zvcih1PWw7dTspby51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO249aS5sZW5ndGgscj1vLmxlbmd0aDtmb3IodmFyIGM9MDtjPG4mJmM8cjtjKyspaWYoaVtjXSE9PW9bY10pcmV0dXJuIHkoaVtjXSxvW2NdKTtyZXR1cm4gYz09PW4/eShlLG9bY10sLTEpOnkoaVtjXSx0LDEpfSx5PWZ1bmN0aW9uKGUsdCxuKXtpZihlPT09dClyZXR1cm4gbjtmb3IodmFyIHI9ZS5uZXh0U2libGluZztyOyl7aWYocj09PXQpcmV0dXJuLTE7cj1yLm5leHRTaWJsaW5nfXJldHVybiAxfSksZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG49InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCkscj10LmRvY3VtZW50RWxlbWVudDtlLmlubmVySFRNTD0iPGEgbmFtZT0nIituKyInLz4iLHIuaW5zZXJ0QmVmb3JlKGUsci5maXJzdENoaWxkKSx0LmdldEVsZW1lbnRCeUlkKG4pJiYocC5maW5kLklEPWZ1bmN0aW9uKGUsdCxuKXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiYhbil7dmFyIHI9dC5nZXRFbGVtZW50QnlJZChlWzFdKTtyZXR1cm4gcj9yLmlkPT09ZVsxXXx8dm9pZCAwIT09ci5nZXRBdHRyaWJ1dGVOb2RlJiZyLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09ZVsxXT9bcl06dm9pZCAwOltdfX0scC5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj12b2lkIDAhPT1lLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gMT09PWUubm9kZVR5cGUmJm4mJm4ubm9kZVZhbHVlPT09dH0pLHIucmVtb3ZlQ2hpbGQoZSkscj1lPW51bGx9KCksKGI9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYXBwZW5kQ2hpbGQodC5jcmVhdGVDb21tZW50KCIiKSksYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wJiYocC5maW5kLlRBRz1mdW5jdGlvbihlLHQpe3ZhciBuPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZVsxXSk7aWYoIioiPT09ZVsxXSl7Zm9yKHZhciByPVtdLGk9MDtuW2ldO2krKykxPT09bltpXS5ub2RlVHlwZSYmci5wdXNoKG5baV0pO249cn1yZXR1cm4gbn0pLGIuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IixiLmZpcnN0Q2hpbGQmJnZvaWQgMCE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUmJiIjIiE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSYmKHAuYXR0ckhhbmRsZS5ocmVmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaHJlZiIsMil9KSxiPW51bGwsdC5xdWVyeVNlbGVjdG9yQWxsJiZmdW5jdGlvbigpe3ZhciBlPWYsbj10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG4uaW5uZXJIVE1MPSI8cCBjbGFzcz0nVEVTVCc+PC9wPiIsIW4ucXVlcnlTZWxlY3RvckFsbHx8MCE9PW4ucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGgpe2Zvcih2YXIgciBpbiBmPWZ1bmN0aW9uKG4scixpLG8pe2lmKHI9cnx8dCwhbyYmIWYuaXNYTUwocikpe3ZhciBhPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKG4pO2lmKGEmJigxPT09ci5ub2RlVHlwZXx8OT09PXIubm9kZVR5cGUpKXtpZihhWzFdKXJldHVybiB4KHIuZ2V0RWxlbWVudHNCeVRhZ05hbWUobiksaSk7aWYoYVsyXSYmcC5maW5kLkNMQVNTJiZyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHgoci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGFbMl0pLGkpfWlmKDk9PT1yLm5vZGVUeXBlKXtpZigiYm9keSI9PT1uJiZyLmJvZHkpcmV0dXJuIHgoW3IuYm9keV0saSk7aWYoYSYmYVszXSl7dmFyIHM9ci5nZXRFbGVtZW50QnlJZChhWzNdKTtpZighc3x8IXMucGFyZW50Tm9kZSlyZXR1cm4geChbXSxpKTtpZihzLmlkPT09YVszXSlyZXR1cm4geChbc10saSl9dHJ5e3JldHVybiB4KHIucXVlcnlTZWxlY3RvckFsbChuKSxpKX1jYXRjaChlKXt9Cn1lbHNlIGlmKDE9PT1yLm5vZGVUeXBlJiYib2JqZWN0IiE9PXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGw9cix1PXIuZ2V0QXR0cmlidXRlKCJpZCIpLGM9dXx8Il9fc2l6emxlX18iLGQ9ci5wYXJlbnROb2RlLGg9L15ccypbK35dLy50ZXN0KG4pO3U/Yz1jLnJlcGxhY2UoLycvZywiXFwkJiIpOnIuc2V0QXR0cmlidXRlKCJpZCIsYyksaCYmZCYmKHI9ci5wYXJlbnROb2RlKTt0cnl7aWYoIWh8fGQpcmV0dXJuIHgoci5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9JyIrYysiJ10gIituKSxpKX1jYXRjaChlKXt9ZmluYWxseXt1fHxsLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBlKG4scixpLG8pfSxlKWZbcl09ZVtyXTtuPW51bGx9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5kb2N1bWVudEVsZW1lbnQsbj1lLm1hdGNoZXNTZWxlY3Rvcnx8ZS5tb3pNYXRjaGVzU2VsZWN0b3J8fGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxlLm1zTWF0Y2hlc1NlbGVjdG9yO2lmKG4pe3ZhciByPSFuLmNhbGwodC5jcmVhdGVFbGVtZW50KCJkaXYiKSwiZGl2IiksaT0hMTt0cnl7bi5jYWxsKHQuZG9jdW1lbnRFbGVtZW50LCJbdGVzdCE9JyddOnNpenpsZSIpfWNhdGNoKGUpe2k9ITB9Zi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZih0PXQucmVwbGFjZSgvXD1ccyooW14nIlxdXSopXHMqXF0vZywiPSckMSddIiksIWYuaXNYTUwoZSkpdHJ5e2lmKGl8fCFwLm1hdGNoLlBTRVVETy50ZXN0KHQpJiYhLyE9Ly50ZXN0KHQpKXt2YXIgbz1uLmNhbGwoZSx0KTtpZihvfHwhcnx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBvfX1jYXRjaChlKXt9cmV0dXJuIGYodCxudWxsLG51bGwsW2VdKS5sZW5ndGg+MH19fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iLGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmMCE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKGUubGFzdENoaWxkLmNsYXNzTmFtZT0iZSIsMSE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKHAub3JkZXIuc3BsaWNlKDEsMCwiQ0xBU1MiKSxwLmZpbmQuQ0xBU1M9ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIW4pcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlWzFdKX0sZT1udWxsKSl9KCksdC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiBlIT09dCYmKCFlLmNvbnRhaW5zfHxlLmNvbnRhaW5zKHQpKX06dC5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkpfTpmLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGYuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9KGU/ZS5vd25lckRvY3VtZW50fHxlOjApLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIXQmJiJIVE1MIiE9PXQubm9kZU5hbWV9O3ZhciBOPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsaT1bXSxvPSIiLGE9dC5ub2RlVHlwZT9bdF06dDtyPXAubWF0Y2guUFNFVURPLmV4ZWMoZSk7KW8rPXJbMF0sZT1lLnJlcGxhY2UocC5tYXRjaC5QU0VVRE8sIiIpO2U9cC5yZWxhdGl2ZVtlXT9lKyIqIjplO2Zvcih2YXIgcz0wLGw9YS5sZW5ndGg7czxsO3MrKylmKGUsYVtzXSxpLG4pO3JldHVybiBmLmZpbHRlcihvLGkpfTtmLmF0dHI9aS5hdHRyLGYuc2VsZWN0b3JzLmF0dHJNYXA9e30saS5maW5kPWYsaS5leHByPWYuc2VsZWN0b3JzLGkuZXhwclsiOiJdPWkuZXhwci5maWx0ZXJzLGkudW5pcXVlPWYudW5pcXVlU29ydCxpLnRleHQ9Zi5nZXRUZXh0LGkuaXNYTUxEb2M9Zi5pc1hNTCxpLmNvbnRhaW5zPWYuY29udGFpbnN9KCk7dmFyIE09L1VudGlsJC8sTz0vXig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxIPS8sLyxQPS9eLlteOiNcW1wuLF0qJC8scT1BcnJheS5wcm90b3R5cGUuc2xpY2UsQj1pLmV4cHIubWF0Y2guZ2xvYmFsUE9TLFc9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSShlKXtyZXR1cm4hZXx8IWUucGFyZW50Tm9kZXx8MTE9PT1lLnBhcmVudE5vZGUubm9kZVR5cGV9ZnVuY3Rpb24gJChlLHQsbil7aWYodD10fHwwLGkuaXNGdW5jdGlvbih0KSlyZXR1cm4gaS5ncmVwKGUsKGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpPT09bn0pKTtpZih0Lm5vZGVUeXBlKXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZT09PXQ9PT1ufSkpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIHI9aS5ncmVwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKTtpZihQLnRlc3QodCkpcmV0dXJuIGkuZmlsdGVyKHQsciwhbik7dD1pLmZpbHRlcih0LHIpfXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gaS5pbkFycmF5KGUsdCk+PTA9PT1ufSkpfWZ1bmN0aW9uIFIoZSl7dmFyIHQ9WC5zcGxpdCgifCIpLG49ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYobi5jcmVhdGVFbGVtZW50KWZvcig7dC5sZW5ndGg7KW4uY3JlYXRlRWxlbWVudCh0LnBvcCgpKTtyZXR1cm4gbn1pLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIGkoZSkuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWlmKGkuY29udGFpbnMoclt0XSx0aGlzKSlyZXR1cm4hMH0pKTt2YXIgbyxhLHMsbD10aGlzLnB1c2hTdGFjaygiIiwiZmluZCIsZSk7Zm9yKHQ9MCxuPXRoaXMubGVuZ3RoO3Q8bjt0KyspaWYobz1sLmxlbmd0aCxpLmZpbmQoZSx0aGlzW3RdLGwpLHQ+MClmb3IoYT1vO2E8bC5sZW5ndGg7YSsrKWZvcihzPTA7czxvO3MrKylpZihsW3NdPT09bFthXSl7bC5zcGxpY2UoYS0tLDEpCjticmVha31yZXR1cm4gbH0saGFzOmZ1bmN0aW9uKGUpe3ZhciB0PWkoZSk7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZihpLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soJCh0aGlzLGUsITEpLCJub3QiLGUpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKCQodGhpcyxlLCEwKSwiZmlsdGVyIixlKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFlJiYoInN0cmluZyI9PXR5cGVvZiBlP0IudGVzdChlKT9pKGUsdGhpcy5jb250ZXh0KS5pbmRleCh0aGlzWzBdKT49MDppLmZpbHRlcihlLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGUpLmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbz1bXSxhPXRoaXNbMF07aWYoaS5pc0FycmF5KGUpKXtmb3IodmFyIHM9MTthJiZhLm93bmVyRG9jdW1lbnQmJmEhPT10Oyl7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpKGEpLmlzKGVbbl0pJiZvLnB1c2goe3NlbGVjdG9yOmVbbl0sZWxlbTphLGxldmVsOnN9KTthPWEucGFyZW50Tm9kZSxzKyt9cmV0dXJuIG99dmFyIGw9Qi50ZXN0KGUpfHwic3RyaW5nIiE9dHlwZW9mIGU/aShlLHR8fHRoaXMuY29udGV4dCk6MDtmb3Iobj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylmb3IoYT10aGlzW25dO2E7KXtpZihsP2wuaW5kZXgoYSk+LTE6aS5maW5kLm1hdGNoZXNTZWxlY3RvcihhLGUpKXtvLnB1c2goYSk7YnJlYWt9aWYoIShhPWEucGFyZW50Tm9kZSl8fCFhLm93bmVyRG9jdW1lbnR8fGE9PT10fHwxMT09PWEubm9kZVR5cGUpYnJlYWt9cmV0dXJuIG89by5sZW5ndGg+MT9pLnVuaXF1ZShvKTpvLHRoaXMucHVzaFN0YWNrKG8sImNsb3Nlc3QiLGUpfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/aS5pbkFycmF5KHRoaXNbMF0saShlKSk6aS5pbkFycmF5KGUuanF1ZXJ5P2VbMF06ZSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIGU/aShlLHQpOmkubWFrZUFycmF5KGUmJmUubm9kZVR5cGU/W2VdOmUpLHI9aS5tZXJnZSh0aGlzLmdldCgpLG4pO3JldHVybiB0aGlzLnB1c2hTdGFjayhJKG5bMF0pfHxJKHJbMF0pP3I6aS51bmlxdWUocikpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSksaS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBpLmRpcihlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBpLm50aChlLDIsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubnRoKGUsMiwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpLmRpcihlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubm9kZU5hbWUoZSwiaWZyYW1lIik/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDppLm1ha2VBcnJheShlLmNoaWxkTm9kZXMpfX0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBvPWkubWFwKHRoaXMsdCxuKTtyZXR1cm4gTS50ZXN0KGUpfHwocj1uKSxyJiYic3RyaW5nIj09dHlwZW9mIHImJihvPWkuZmlsdGVyKHIsbykpLG89dGhpcy5sZW5ndGg+MSYmIVdbZV0/aS51bmlxdWUobyk6bywodGhpcy5sZW5ndGg+MXx8SC50ZXN0KHIpKSYmTy50ZXN0KGUpJiYobz1vLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobyxlLHEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9fSkpLGkuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGg/aS5maW5kLm1hdGNoZXNTZWxlY3Rvcih0WzBdLGUpP1t0WzBdXTpbXTppLmZpbmQubWF0Y2hlcyhlLHQpfSxkaXI6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxvPWVbdF07byYmOSE9PW8ubm9kZVR5cGUmJih2b2lkIDA9PT1ufHwxIT09by5ub2RlVHlwZXx8IWkobykuaXMobikpOykxPT09by5ub2RlVHlwZSYmci5wdXNoKG8pLG89b1t0XTtyZXR1cm4gcn0sbnRoOmZ1bmN0aW9uKGUsdCxuLHIpe3Q9dHx8MTtmb3IodmFyIGk9MDtlJiYoMSE9PWUubm9kZVR5cGV8fCsraSE9PXQpO2U9ZVtuXSk7cmV0dXJuIGV9LHNpYmxpbmc6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59fSkKO3ZhciBYPSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHByb2dyZXNzfHNlY3Rpb258c3VtbWFyeXx0aW1lfHZpZGVvIix6PS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csVj0vXlxzKy8sVT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2dpLFk9LzwoW1x3Ol0rKS8sSj0vPHRib2R5L2ksRz0vPHwmIz9cdys7LyxLPS88KD86c2NyaXB0fHN0eWxlKS9pLFE9LzwoPzpzY3JpcHR8b2JqZWN0fGVtYmVkfG9wdGlvbnxzdHlsZSkvaSxaPW5ldyBSZWdFeHAoIjwoPzoiK1grIilbXFxzLz5dIiwiaSIpLGVlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLHRlPS9cLyhqYXZhfGVjbWEpc2NyaXB0L2ksbmU9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX0scmU9Uih0KTtmdW5jdGlvbiBpZShlLHQpe2lmKDE9PT10Lm5vZGVUeXBlJiZpLmhhc0RhdGEoZSkpe3ZhciBuLHIsbyxhPWkuX2RhdGEoZSkscz1pLl9kYXRhKHQsYSksbD1hLmV2ZW50cztpZihsKWZvcihuIGluIGRlbGV0ZSBzLmhhbmRsZSxzLmV2ZW50cz17fSxsKWZvcihyPTAsbz1sW25dLmxlbmd0aDtyPG87cisrKWkuZXZlbnQuYWRkKHQsbixsW25dW3JdKTtzLmRhdGEmJihzLmRhdGE9aS5leHRlbmQoe30scy5kYXRhKSl9fWZ1bmN0aW9uIG9lKGUsdCl7dmFyIG47MT09PXQubm9kZVR5cGUmJih0LmNsZWFyQXR0cmlidXRlcyYmdC5jbGVhckF0dHJpYnV0ZXMoKSx0Lm1lcmdlQXR0cmlidXRlcyYmdC5tZXJnZUF0dHJpYnV0ZXMoZSksIm9iamVjdCI9PT0obj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpP3Qub3V0ZXJIVE1MPWUub3V0ZXJIVE1MOiJpbnB1dCIhPT1ufHwiY2hlY2tib3giIT09ZS50eXBlJiYicmFkaW8iIT09ZS50eXBlPyJvcHRpb24iPT09bj90LnNlbGVjdGVkPWUuZGVmYXVsdFNlbGVjdGVkOiJpbnB1dCI9PT1ufHwidGV4dGFyZWEiPT09bj90LmRlZmF1bHRWYWx1ZT1lLmRlZmF1bHRWYWx1ZToic2NyaXB0Ij09PW4mJnQudGV4dCE9PWUudGV4dCYmKHQudGV4dD1lLnRleHQpOihlLmNoZWNrZWQmJih0LmRlZmF1bHRDaGVja2VkPXQuY2hlY2tlZD1lLmNoZWNrZWQpLHQudmFsdWUhPT1lLnZhbHVlJiYodC52YWx1ZT1lLnZhbHVlKSksdC5yZW1vdmVBdHRyaWJ1dGUoaS5leHBhbmRvKSx0LnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLHQucmVtb3ZlQXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiB2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gc2UoZSl7ImNoZWNrYm94IiE9PWUudHlwZSYmInJhZGlvIiE9PWUudHlwZXx8KGUuZGVmYXVsdENoZWNrZWQ9ZS5jaGVja2VkKX1mdW5jdGlvbiBsZShlKXt2YXIgdD0oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PXQ/c2UoZSk6InNjcmlwdCIhPT10JiZ2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZpLmdyZXAoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKSxzZSl9bmUub3B0Z3JvdXA9bmUub3B0aW9uLG5lLnRib2R5PW5lLnRmb290PW5lLmNvbGdyb3VwPW5lLmNhcHRpb249bmUudGhlYWQsbmUudGg9bmUudGQsaS5zdXBwb3J0Lmh0bWxTZXJpYWxpemV8fChuZS5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksaS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2kudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHQpLmNyZWF0ZVRleHROb2RlKGUpKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sd3JhcEFsbDpmdW5jdGlvbihlKXtpZihpLmlzRnVuY3Rpb24oZSkpcmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aSh0aGlzKS53cmFwQWxsKGUuY2FsbCh0aGlzLHQpKX0pKTtpZih0aGlzWzBdKXt2YXIgdD1pKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcztlLmZpcnN0Q2hpbGQmJjE9PT1lLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfSkpLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWkodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSkpfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWkuaXNGdW5jdGlvbihlKTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pKX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaCgoZnVuY3Rpb24oKXsKaS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fGkodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pKS5lbmQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLChmdW5jdGlvbihlKXsxPT09dGhpcy5ub2RlVHlwZSYmdGhpcy5hcHBlbmRDaGlsZChlKX0pKX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCwoZnVuY3Rpb24oZSl7MT09PXRoaXMubm9kZVR5cGUmJnRoaXMuaW5zZXJ0QmVmb3JlKGUsdGhpcy5maXJzdENoaWxkKX0pKX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPWkuY2xlYW4oYXJndW1lbnRzKTtyZXR1cm4gZS5wdXNoLmFwcGx5KGUsdGhpcy50b0FycmF5KCkpLHRoaXMucHVzaFN0YWNrKGUsImJlZm9yZSIsYXJndW1lbnRzKX19LGFmdGVyOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO3JldHVybiBlLnB1c2guYXBwbHkoZSxpLmNsZWFuKGFyZ3VtZW50cykpLGV9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj0wO251bGwhPShuPXRoaXNbcl0pO3IrKyllJiYhaS5maWx0ZXIoZSxbbl0pLmxlbmd0aHx8KHR8fDEhPT1uLm5vZGVUeXBlfHwoaS5jbGVhbkRhdGEobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSxpLmNsZWFuRGF0YShbbl0pKSxuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspZm9yKDE9PT1lLm5vZGVUeXBlJiZpLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPWU/PyExLHQ9dD8/ZSx0aGlzLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gaS5jbG9uZSh0aGlzLGUsdCl9KSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUpcmV0dXJuIDE9PT10Lm5vZGVUeXBlP3QuaW5uZXJIVE1MLnJlcGxhY2UoeiwiIik6bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIGUmJiFLLnRlc3QoZSkmJihpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFWLnRlc3QoZSkpJiYhbmVbKFkuZXhlYyhlKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9ZS5yZXBsYWNlKFUsIjwkMT48LyQyPiIpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGkuY2xlYW5EYXRhKHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT9pLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXt2YXIgbj1pKHRoaXMpLHI9bi5odG1sKCk7bi5yZXBsYWNlV2l0aChlLmNhbGwodGhpcyx0LHIpKX0pKTooInN0cmluZyIhPXR5cGVvZiBlJiYoZT1pKGUpLmRldGFjaCgpKSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5uZXh0U2libGluZyxuPXRoaXMucGFyZW50Tm9kZTtpKHRoaXMpLnJlbW92ZSgpLHQ/aSh0KS5iZWZvcmUoZSk6aShuKS5hcHBlbmQoZSl9KSkpOnRoaXMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKGkoaS5pc0Z1bmN0aW9uKGUpP2UoKTplKSwicmVwbGFjZVdpdGgiLGUpOnRoaXN9LGRldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZW1vdmUoZSwhMCl9LGRvbU1hbmlwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGEscyxsLHU9ZVswXSxjPVtdO2lmKCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmMz09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmZWUudGVzdCh1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kodGhpcykuZG9tTWFuaXAoZSx0LG4sITApfSkpO2lmKGkuaXNGdW5jdGlvbih1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihyKXt2YXIgbz1pKHRoaXMpO2VbMF09dS5jYWxsKHRoaXMscix0P28uaHRtbCgpOnZvaWQgMCksby5kb21NYW5pcChlLHQsbil9KSk7aWYodGhpc1swXSl7aWYocz11JiZ1LnBhcmVudE5vZGUsbz0xPT09KGE9KHI9aS5zdXBwb3J0LnBhcmVudE5vZGUmJnMmJjExPT09cy5ub2RlVHlwZSYmcy5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoP3tmcmFnbWVudDpzfTppLmJ1aWxkRnJhZ21lbnQoZSx0aGlzLGMpKS5mcmFnbWVudCkuY2hpbGROb2Rlcy5sZW5ndGg/YT1hLmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkKXt0PXQmJmkubm9kZU5hbWUobywidHIiKTtmb3IodmFyIGY9MCxkPXRoaXMubGVuZ3RoLHA9ZC0xO2Y8ZDtmKyspbi5jYWxsKHQ/KGw9dGhpc1tmXSxpLm5vZGVOYW1lKGwsInRhYmxlIik/bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8bC5hcHBlbmRDaGlsZChsLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6bCk6dGhpc1tmXSxyLmNhY2hlYWJsZXx8ZD4xJiZmPHA/aS5jbG9uZShhLCEwLCEwKTphKX1jLmxlbmd0aCYmaS5lYWNoKGMsKGZ1bmN0aW9uKGUsdCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KSl9CnJldHVybiB0aGlzfX0pLGkuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGwsdT1lWzBdO3JldHVybiBuJiZuWzBdJiYobD1uWzBdLm93bmVyRG9jdW1lbnR8fG5bMF0pLGwuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8KGw9dCksISgxPT09ZS5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmdS5sZW5ndGg8NTEyJiZsPT09dCYmIjwiPT09dS5jaGFyQXQoMCkpfHxRLnRlc3QodSl8fCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmZWUudGVzdCh1KXx8IWkuc3VwcG9ydC5odG1sNUNsb25lJiZaLnRlc3QodSl8fChhPSEwLChzPWkuZnJhZ21lbnRzW3VdKSYmMSE9PXMmJihvPXMpKSxvfHwobz1sLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxpLmNsZWFuKGUsbCxvLHIpKSxhJiYoaS5mcmFnbWVudHNbdV09cz9vOjEpLHtmcmFnbWVudDpvLGNhY2hlYWJsZTphfX0saS5mcmFnbWVudHM9e30saS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuKXt2YXIgcj1bXSxvPWkobiksYT0xPT09dGhpcy5sZW5ndGgmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihhJiYxMT09PWEubm9kZVR5cGUmJjE9PT1hLmNoaWxkTm9kZXMubGVuZ3RoJiYxPT09by5sZW5ndGgpcmV0dXJuIG9bdF0odGhpc1swXSksdGhpcztmb3IodmFyIHM9MCxsPW8ubGVuZ3RoO3M8bDtzKyspe3ZhciB1PShzPjA/dGhpcy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7aShvW3NdKVt0XSh1KSxyPXIuY29uY2F0KHUpfXJldHVybiB0aGlzLnB1c2hTdGFjayhyLGUsby5zZWxlY3Rvcil9fSkpLGkuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGw9aS5zdXBwb3J0Lmh0bWw1Q2xvbmV8fGkuaXNYTUxEb2MoZSl8fCFaLnRlc3QoIjwiK2Uubm9kZU5hbWUrIj4iKT9lLmNsb25lTm9kZSghMCk6ZnVuY3Rpb24oZSl7dmFyIG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gcmUuYXBwZW5kQ2hpbGQobiksbi5pbm5lckhUTUw9ZS5vdXRlckhUTUwsbi5maXJzdENoaWxkfShlKTtpZighKGkuc3VwcG9ydC5ub0Nsb25lRXZlbnQmJmkuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8aS5pc1hNTERvYyhlKSkpZm9yKG9lKGUsbCksbz1hZShlKSxhPWFlKGwpLHM9MDtvW3NdOysrcylhW3NdJiZvZShvW3NdLGFbc10pO2lmKG4mJihpZShlLGwpLHIpKWZvcihvPWFlKGUpLGE9YWUobCkscz0wO29bc107KytzKWllKG9bc10sYVtzXSk7cmV0dXJuIG89YT1udWxsLGx9LGNsZWFuOmZ1bmN0aW9uKGUsbixyLG8pe3ZhciBhLHMsbCx1PVtdO3ZvaWQgMD09PShuPW58fHQpLmNyZWF0ZUVsZW1lbnQmJihuPW4ub3duZXJEb2N1bWVudHx8blswXSYmblswXS5vd25lckRvY3VtZW50fHx0KTtmb3IodmFyIGMsZj0wO251bGwhPShjPWVbZl0pO2YrKylpZigibnVtYmVyIj09dHlwZW9mIGMmJihjKz0iIiksYyl7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKEcudGVzdChjKSl7Yz1jLnJlcGxhY2UoVSwiPCQxPjwvJDI+Iik7dmFyIGQscD0oWS5leGVjKGMpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLGg9bmVbcF18fG5lLl9kZWZhdWx0LG09aFswXSxnPW4uY3JlYXRlRWxlbWVudCgiZGl2Iiksdj1yZS5jaGlsZE5vZGVzO2ZvcihuPT09dD9yZS5hcHBlbmRDaGlsZChnKTpSKG4pLmFwcGVuZENoaWxkKGcpLGcuaW5uZXJIVE1MPWhbMV0rYytoWzJdO20tLTspZz1nLmxhc3RDaGlsZDtpZighaS5zdXBwb3J0LnRib2R5KXt2YXIgeT1KLnRlc3QoYyksYj0idGFibGUiIT09cHx8eT8iPHRhYmxlPiIhPT1oWzFdfHx5P1tdOmcuY2hpbGROb2RlczpnLmZpcnN0Q2hpbGQmJmcuZmlyc3RDaGlsZC5jaGlsZE5vZGVzO2ZvcihsPWIubGVuZ3RoLTE7bD49MDstLWwpaS5ub2RlTmFtZShiW2xdLCJ0Ym9keSIpJiYhYltsXS5jaGlsZE5vZGVzLmxlbmd0aCYmYltsXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJbbF0pfSFpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlYudGVzdChjKSYmZy5pbnNlcnRCZWZvcmUobi5jcmVhdGVUZXh0Tm9kZShWLmV4ZWMoYylbMF0pLGcuZmlyc3RDaGlsZCksYz1nLmNoaWxkTm9kZXMsZyYmKGcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChnKSx2Lmxlbmd0aD4wJiYoZD12W3YubGVuZ3RoLTFdKSYmZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpfWVsc2UgYz1uLmNyZWF0ZVRleHROb2RlKGMpO3ZhciB4O2lmKCFpLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZClpZihjWzBdJiYibnVtYmVyIj09dHlwZW9mKHg9Yy5sZW5ndGgpKWZvcihsPTA7bDx4O2wrKylsZShjW2xdKTtlbHNlIGxlKGMpO2Mubm9kZVR5cGU/dS5wdXNoKGMpOnU9aS5tZXJnZSh1LGMpfWlmKHIpZm9yKGE9ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZXx8dGUudGVzdChlLnR5cGUpfSxmPTA7dVtmXTtmKyspaWYocz11W2ZdLG8mJmkubm9kZU5hbWUocywic2NyaXB0IikmJighcy50eXBlfHx0ZS50ZXN0KHMudHlwZSkpKW8ucHVzaChzLnBhcmVudE5vZGU/cy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOnMpO2Vsc2V7aWYoMT09PXMubm9kZVR5cGUpe3ZhciB3PWkuZ3JlcChzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxhKTt1LnNwbGljZS5hcHBseSh1LFtmKzEsMF0uY29uY2F0KHcpKX1yLmFwcGVuZENoaWxkKHMpfXJldHVybiB1fSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixvPWkuY2FjaGUsYT1pLmV2ZW50LnNwZWNpYWwscz1pLnN1cHBvcnQuZGVsZXRlRXhwYW5kbyxsPTA7bnVsbCE9KHI9ZVtsXSk7bCsrKWlmKCghci5ub2RlTmFtZXx8IWkubm9EYXRhW3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYobj1yW2kuZXhwYW5kb10pKXtpZigodD1vW25dKSYmdC5ldmVudHMpe2Zvcih2YXIgdSBpbiB0LmV2ZW50cylhW3VdP2kuZXZlbnQucmVtb3ZlKHIsdSk6aS5yZW1vdmVFdmVudChyLHUsdC5oYW5kbGUpCjt0LmhhbmRsZSYmKHQuaGFuZGxlLmVsZW09bnVsbCl9cz9kZWxldGUgcltpLmV4cGFuZG9dOnIucmVtb3ZlQXR0cmlidXRlJiZyLnJlbW92ZUF0dHJpYnV0ZShpLmV4cGFuZG8pLGRlbGV0ZSBvW25dfX19KTt2YXIgdWUsY2UsZmUsZGU9L2FscGhhXChbXildKlwpL2kscGU9L29wYWNpdHk9KFteKV0qKS8saGU9LyhbQS1aXXxebXMpL2csbWU9L15bXC0rXT8oPzpcZCpcLik/XGQrJC9pLGdlPS9eLT8oPzpcZCpcLik/XGQrKD8hcHgpW15cZFxzXSskL2ksdmU9L14oW1wtK10pPShbXC0rLlxkZV0rKS8seWU9L15tYXJnaW4vLGJlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSx4ZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdO2Z1bmN0aW9uIHdlKGUsdCxuKXt2YXIgcj0id2lkdGgiPT09dD9lLm9mZnNldFdpZHRoOmUub2Zmc2V0SGVpZ2h0LG89IndpZHRoIj09PXQ/MTowO2lmKHI+MCl7aWYoImJvcmRlciIhPT1uKWZvcig7bzw0O28rPTIpbnx8KHItPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCksIm1hcmdpbiI9PT1uP3IrPXBhcnNlRmxvYXQoaS5jc3MoZSxuK3hlW29dKSl8fDA6ci09cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MDtyZXR1cm4gcisicHgifWlmKCgocj11ZShlLHQpKTwwfHxudWxsPT1yKSYmKHI9ZS5zdHlsZVt0XSksZ2UudGVzdChyKSlyZXR1cm4gcjtpZihyPXBhcnNlRmxvYXQocil8fDAsbilmb3IoO288NDtvKz0yKXIrPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCwicGFkZGluZyIhPT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MCksIm1hcmdpbiI9PT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLG4reGVbb10pKXx8MCk7cmV0dXJuIHIrInB4In1pLmZuLmNzcz1mdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMCE9PW4/aS5zdHlsZShlLHQsbik6aS5jc3MoZSx0KX0pLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxpLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPXVlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59cmV0dXJuIGUuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ZmxvYXQ6aS5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBvLGEscz1pLmNhbWVsQ2FzZSh0KSxsPWUuc3R5bGUsdT1pLmNzc0hvb2tzW3NdO2lmKHQ9aS5jc3NQcm9wc1tzXXx8cyx2b2lkIDA9PT1uKXJldHVybiB1JiYiZ2V0ImluIHUmJnZvaWQgMCE9PShvPXUuZ2V0KGUsITEscikpP286bFt0XTtpZighKCJzdHJpbmciPT09KGE9dHlwZW9mIG4pJiYobz12ZS5leGVjKG4pKSYmKG49KyhvWzFdKzEpKitvWzJdK3BhcnNlRmxvYXQoaS5jc3MoZSx0KSksYT0ibnVtYmVyIiksbnVsbD09bnx8Im51bWJlciI9PT1hJiZpc05hTihuKXx8KCJudW1iZXIiIT09YXx8aS5jc3NOdW1iZXJbc118fChuKz0icHgiKSx1JiYic2V0ImluIHUmJnZvaWQgMD09PShuPXUuc2V0KGUsbikpKSkpdHJ5e2xbdF09bn1jYXRjaChlKXt9fX0sY3NzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvO3JldHVybiB0PWkuY2FtZWxDYXNlKHQpLG89aS5jc3NIb29rc1t0XSwiY3NzRmxvYXQiPT09KHQ9aS5jc3NQcm9wc1t0XXx8dCkmJih0PSJmbG9hdCIpLG8mJiJnZXQiaW4gbyYmdm9pZCAwIT09KHI9by5nZXQoZSwhMCxuKSk/cjp1ZT91ZShlLHQpOnZvaWQgMH0sc3dhcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn19KSxpLmN1ckNTUz1pLmNzcyx0LmRlZmF1bHRWaWV3JiZ0LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHM9ZS5zdHlsZTtyZXR1cm4gdD10LnJlcGxhY2UoaGUsIi0kMSIpLnRvTG93ZXJDYXNlKCksKHI9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSYmKG89ci5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkpJiYoIiIhPT0obj1vLmdldFByb3BlcnR5VmFsdWUodCkpfHxpLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZSl8fChuPWkuc3R5bGUoZSx0KSkpLCFpLnN1cHBvcnQucGl4ZWxNYXJnaW4mJm8mJnllLnRlc3QodCkmJmdlLnRlc3QobikmJihhPXMud2lkdGgscy53aWR0aD1uLG49by53aWR0aCxzLndpZHRoPWEpLG59KSx0LmRvY3VtZW50RWxlbWVudC5jdXJyZW50U3R5bGUmJihmZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvPWUuY3VycmVudFN0eWxlJiZlLmN1cnJlbnRTdHlsZVt0XSxhPWUuc3R5bGU7cmV0dXJuIG51bGw9PW8mJmEmJihpPWFbdF0pJiYobz1pKSxnZS50ZXN0KG8pJiYobj1hLmxlZnQsKHI9ZS5ydW50aW1lU3R5bGUmJmUucnVudGltZVN0eWxlLmxlZnQpJiYoZS5ydW50aW1lU3R5bGUubGVmdD1lLmN1cnJlbnRTdHlsZS5sZWZ0KSxhLmxlZnQ9ImZvbnRTaXplIj09PXQ/IjFlbSI6byxvPWEucGl4ZWxMZWZ0KyJweCIsYS5sZWZ0PW4sciYmKGUucnVudGltZVN0eWxlLmxlZnQ9cikpLCIiPT09bz8iYXV0byI6b30pLHVlPWNlfHxmZSxpLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLChmdW5jdGlvbihlLHQpe2kuY3NzSG9va3NbdF09e2dldDpmdW5jdGlvbihlLG4scil7aWYobilyZXR1cm4gMCE9PWUub2Zmc2V0V2lkdGg/d2UoZSx0LHIpOmkuc3dhcChlLGJlLChmdW5jdGlvbigpe3JldHVybiB3ZShlLHQscil9KSl9LHNldDpmdW5jdGlvbihlLHQpewpyZXR1cm4gbWUudGVzdCh0KT90KyJweCI6dH19fSkpLGkuc3VwcG9ydC5vcGFjaXR5fHwoaS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGUudGVzdCgodCYmZS5jdXJyZW50U3R5bGU/ZS5jdXJyZW50U3R5bGUuZmlsdGVyOmUuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDArIiI6dD8iMSI6IiJ9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWUuc3R5bGUscj1lLmN1cnJlbnRTdHlsZSxvPWkuaXNOdW1lcmljKHQpPyJhbHBoYShvcGFjaXR5PSIrMTAwKnQrIikiOiIiLGE9ciYmci5maWx0ZXJ8fG4uZmlsdGVyfHwiIjtuLnpvb209MSx0Pj0xJiYiIj09PWkudHJpbShhLnJlcGxhY2UoZGUsIiIpKSYmKG4ucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKSxyJiYhci5maWx0ZXIpfHwobi5maWx0ZXI9ZGUudGVzdChhKT9hLnJlcGxhY2UoZGUsbyk6YSsiICIrbyl9fSksaSgoZnVuY3Rpb24oKXtpLnN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodHx8KGkuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5jdGlvbihlLHQpe3JldHVybiBpLnN3YXAoZSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sKGZ1bmN0aW9uKCl7cmV0dXJuIHQ/dWUoZSwibWFyZ2luLXJpZ2h0Iik6ZS5zdHlsZS5tYXJnaW5SaWdodH0pKX19KX0pKSxpLmV4cHImJmkuZXhwci5maWx0ZXJzJiYoaS5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0V2lkdGgsbj1lLm9mZnNldEhlaWdodDtyZXR1cm4gMD09PXQmJjA9PT1ufHwhaS5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmIm5vbmUiPT09KGUuc3R5bGUmJmUuc3R5bGUuZGlzcGxheXx8aS5jc3MoZSwiZGlzcGxheSIpKX0saS5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4haS5leHByLmZpbHRlcnMuaGlkZGVuKGUpfSksaS5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7dmFyIHIsaT0ic3RyaW5nIj09dHlwZW9mIG4/bi5zcGxpdCgiICIpOltuXSxvPXt9O2ZvcihyPTA7cjw0O3IrKylvW2UreGVbcl0rdF09aVtyXXx8aVtyLTJdfHxpWzBdO3JldHVybiBvfX19KSk7dmFyIFRlLE5lLENlPS8lMjAvZyxTZT0vXFtcXSQvLGtlPS9ccj9cbi9nLEVlPS8jLiokLyxBZT0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLERlPS9eKD86Y29sb3J8ZGF0ZXxkYXRldGltZXxkYXRldGltZS1sb2NhbHxlbWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNlYXJjaHx0ZWx8dGV4dHx0aW1lfHVybHx3ZWVrKSQvaSxMZT0vXig/OkdFVHxIRUFEKSQvLEZlPS9eXC9cLy8samU9L1w/LyxfZT0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxNZT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxPZT0vXHMrLyxIZT0vKFs/Jl0pXz1bXiZdKi8sUGU9L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKSk/KT8vLHFlPWkuZm4ubG9hZCxCZT17fSxXZT17fSxJZT1bIiovIl0rWyIqIl07dHJ5e1RlPXIuaHJlZn1jYXRjaChlKXsoVGU9dC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9IiIsVGU9VGUuaHJlZn1mdW5jdGlvbiAkZShlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZigic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iKiIpLGkuaXNGdW5jdGlvbihuKSlmb3IodmFyIHIsbyxhPXQudG9Mb3dlckNhc2UoKS5zcGxpdChPZSkscz0wLGw9YS5sZW5ndGg7czxsO3MrKylyPWFbc10sKG89L15cKy8udGVzdChyKSkmJihyPXIuc3Vic3RyKDEpfHwiKiIpLChlW3JdPWVbcl18fFtdKVtvPyJ1bnNoaWZ0IjoicHVzaCJdKG4pfX1mdW5jdGlvbiBSZShlLHQsbixyLGksbyl7KG89b3x8e30pW2k9aXx8dC5kYXRhVHlwZXNbMF1dPSEwO2Zvcih2YXIgYSxzPWVbaV0sbD0wLHU9cz9zLmxlbmd0aDowLGM9ZT09PUJlO2w8dSYmKGN8fCFhKTtsKyspInN0cmluZyI9PXR5cGVvZihhPXNbbF0odCxuLHIpKSYmKCFjfHxvW2FdP2E9dm9pZCAwOih0LmRhdGFUeXBlcy51bnNoaWZ0KGEpLGE9UmUoZSx0LG4scixhLG8pKSk7cmV0dXJuIWMmJmF8fG9bIioiXXx8KGE9UmUoZSx0LG4sciwiKiIsbykpLGF9ZnVuY3Rpb24gWGUoZSx0KXt2YXIgbixyLG89aS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChvW25dP2U6cnx8KHI9e30pKVtuXT10W25dKTtyJiZpLmV4dGVuZCghMCxlLHIpfWZ1bmN0aW9uIHplKGUsdCxuLHIpe2lmKGkuaXNBcnJheSh0KSlpLmVhY2godCwoZnVuY3Rpb24odCxpKXtufHxTZS50ZXN0KGUpP3IoZSxpKTp6ZShlKyJbIisoIm9iamVjdCI9PXR5cGVvZiBpP3Q6IiIpKyJdIixpLG4scil9KSk7ZWxzZSBpZihufHwib2JqZWN0IiE9PWkudHlwZSh0KSlyKGUsdCk7ZWxzZSBmb3IodmFyIG8gaW4gdCl6ZShlKyJbIitvKyJdIix0W29dLG4scil9TmU9UGUuZXhlYyhUZS50b0xvd2VyQ2FzZSgpKXx8W10saS5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oZSx0LG4pe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmcWUpcmV0dXJuIHFlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIHI9ZS5pbmRleE9mKCIgIik7aWYocj49MCl7dmFyIG89ZS5zbGljZShyLGUubGVuZ3RoKTtlPWUuc2xpY2UoMCxyKX12YXIgYT0iR0VUIjt0JiYoaS5pc0Z1bmN0aW9uKHQpPyhuPXQsdD12b2lkIDApOiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9aS5wYXJhbSh0LGkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxhPSJQT1NUIikpO3ZhciBzPXRoaXM7cmV0dXJuIGkuYWpheCh7dXJsOmUsdHlwZTphLGRhdGFUeXBlOiJodG1sIixkYXRhOnQsY29tcGxldGU6ZnVuY3Rpb24oZSx0LHIpe3I9ZS5yZXNwb25zZVRleHQsZS5pc1Jlc29sdmVkKCkmJihlLmRvbmUoKGZ1bmN0aW9uKGUpe3I9ZX0pKSxzLmh0bWwobz9pKCI8ZGl2PiIpLmFwcGVuZChyLnJlcGxhY2UoX2UsIiIpKS5maW5kKG8pOnIpKSwKbiYmcy5lYWNoKG4sW3IsdCxlXSl9fSksdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGkucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/aS5tYWtlQXJyYXkodGhpcy5lbGVtZW50cyk6dGhpc30pKS5maWx0ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fE1lLnRlc3QodGhpcy5ub2RlTmFtZSl8fERlLnRlc3QodGhpcy50eXBlKSl9KSkubWFwKChmdW5jdGlvbihlLHQpe3ZhciBuPWkodGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDppLmlzQXJyYXkobik/aS5tYXAobiwoZnVuY3Rpb24oZSxuKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKGtlLCJcclxuIil9fSkpOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2Uoa2UsIlxyXG4iKX19KSkuZ2V0KCl9fSksaS5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSwoZnVuY3Rpb24oZSx0KXtpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSkpLGkuZWFjaChbImdldCIsInBvc3QiXSwoZnVuY3Rpb24oZSx0KXtpW3RdPWZ1bmN0aW9uKGUsbixyLG8pe3JldHVybiBpLmlzRnVuY3Rpb24obikmJihvPW98fHIscj1uLG49dm9pZCAwKSxpLmFqYXgoe3R5cGU6dCx1cmw6ZSxkYXRhOm4sc3VjY2VzczpyLGRhdGFUeXBlOm99KX19KSksaS5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBpLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZ2V0KGUsdCxuLCJqc29uIil9LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P1hlKGUsaS5hamF4U2V0dGluZ3MpOih0PWUsZT1pLmFqYXhTZXR0aW5ncyksWGUoZSx0KSxlfSxhamF4U2V0dGluZ3M6e3VybDpUZSxpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcFwtc3RvcmFnZXwuK1wtZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChOZVsxXSksZ2xvYmFsOiEwLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHRleHQ6InRleHQvcGxhaW4iLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsIioiOkllfSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0In0sY29udmVydGVyczp7IiogdGV4dCI6d2luZG93LlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjppLnBhcnNlSlNPTiwidGV4dCB4bWwiOmkucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250ZXh0OiEwLHVybDohMH19LGFqYXhQcmVmaWx0ZXI6JGUoQmUpLGFqYXhUcmFuc3BvcnQ6JGUoV2UpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIG4scixvLGEscyxsLHUsYyxmPWkuYWpheFNldHVwKHt9LHQpLGQ9Zi5jb250ZXh0fHxmLHA9ZCE9PWYmJihkLm5vZGVUeXBlfHxkIGluc3RhbmNlb2YgaSk/aShkKTppLmV2ZW50LGg9aS5EZWZlcnJlZCgpLG09aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksZz1mLnN0YXR1c0NvZGV8fHt9LHY9e30seT17fSxiPTAseD17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtpZighYil7dmFyIG49ZS50b0xvd2VyQ2FzZSgpO2U9eVtuXT15W25dfHxlLHZbZV09dH1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1iP3I6bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoMj09PWIpe2lmKCFvKWZvcihvPXt9O3Q9QWUuZXhlYyhyKTspb1t0WzFdLnRvTG93ZXJDYXNlKCldPXRbMl07dD1vW2UudG9Mb3dlckNhc2UoKV19cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBifHwoZi5taW1lVHlwZT1lKSx0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXtyZXR1cm4gZT1lfHwiYWJvcnQiLGEmJmEuYWJvcnQoZSksdygwLGUpLHRoaXN9fTtmdW5jdGlvbiB3KGUsdCxvLGwpe2lmKDIhPT1iKXtiPTIscyYmY2xlYXJUaW1lb3V0KHMpLGE9dm9pZCAwLHI9bHx8IiIseC5yZWFkeVN0YXRlPWU+MD80OjA7dmFyIGMsdix5LHcsVCxOPXQsQz1vP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsbD1lLmRhdGFUeXBlcyx1PWUucmVzcG9uc2VGaWVsZHM7Zm9yKGkgaW4gdSlpIGluIG4mJih0W3VbaV1dPW5baV0pO2Zvcig7IioiPT09bFswXTspbC5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXtsLnVuc2hpZnQoaSk7YnJlYWt9aWYobFswXWluIG4pbz1sWzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIWxbMF18fGUuY29udmVydGVyc1tpKyIgIitsWzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09bFswXSYmbC51bnNoaWZ0KG8pLG5bb119KGYseCxvKTp2b2lkIDA7aWYoZT49MjAwJiZlPDMwMHx8MzA0PT09ZSlpZihmLmlmTW9kaWZpZWQmJigodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoaS5sYXN0TW9kaWZpZWRbbl09dyksKFQ9eC5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKSYmKGkuZXRhZ1tuXT1UKSksMzA0PT09ZSlOPSJub3Rtb2RpZmllZCIsYz0hMDtlbHNlIHRyeXt2PWZ1bmN0aW9uKGUsdCl7CmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpO3ZhciBuLHIsbyxhLHMsbCx1LGMsZj1lLmRhdGFUeXBlcyxkPXt9LHA9Zi5sZW5ndGgsaD1mWzBdO2ZvcihuPTE7bjxwO24rKyl7aWYoMT09PW4pZm9yKHIgaW4gZS5jb252ZXJ0ZXJzKSJzdHJpbmciPT10eXBlb2YgciYmKGRbci50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbcl0pO2lmKGE9aCwiKiI9PT0oaD1mW25dKSloPWE7ZWxzZSBpZigiKiIhPT1hJiZhIT09aCl7aWYoIShsPWRbcz1hKyIgIitoXXx8ZFsiKiAiK2hdKSlmb3IodSBpbiBjPXZvaWQgMCxkKWlmKCgobz11LnNwbGl0KCIgIikpWzBdPT09YXx8IioiPT09b1swXSkmJihjPWRbb1sxXSsiICIraF0pKXshMD09PSh1PWRbdV0pP2w9YzohMD09PWMmJihsPXUpO2JyZWFrfWx8fGN8fGkuZXJyb3IoIk5vIGNvbnZlcnNpb24gZnJvbSAiK3MucmVwbGFjZSgiICIsIiB0byAiKSksITAhPT1sJiYodD1sP2wodCk6Yyh1KHQpKSl9fXJldHVybiB0fShmLEMpLE49InN1Y2Nlc3MiLGM9ITB9Y2F0Y2goZSl7Tj0icGFyc2VyZXJyb3IiLHk9ZX1lbHNlIHk9TixOJiYhZXx8KE49ImVycm9yIixlPDAmJihlPTApKTt4LnN0YXR1cz1lLHguc3RhdHVzVGV4dD0iIisodHx8TiksYz9oLnJlc29sdmVXaXRoKGQsW3YsTix4XSk6aC5yZWplY3RXaXRoKGQsW3gsTix5XSkseC5zdGF0dXNDb2RlKGcpLGc9dm9pZCAwLHUmJnAudHJpZ2dlcigiYWpheCIrKGM/IlN1Y2Nlc3MiOiJFcnJvciIpLFt4LGYsYz92OnldKSxtLmZpcmVXaXRoKGQsW3gsTl0pLHUmJihwLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsZl0pLC0taS5hY3RpdmV8fGkuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fWlmKGgucHJvbWlzZSh4KSx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLHguY29tcGxldGU9bS5hZGQseC5zdGF0dXNDb2RlPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoYjwyKWZvcih0IGluIGUpZ1t0XT1bZ1t0XSxlW3RdXTtlbHNlIHQ9ZVt4LnN0YXR1c10seC50aGVuKHQsdCk7cmV0dXJuIHRoaXN9LGYudXJsPSgoZXx8Zi51cmwpKyIiKS5yZXBsYWNlKEVlLCIiKS5yZXBsYWNlKEZlLE5lWzFdKyIvLyIpLGYuZGF0YVR5cGVzPWkudHJpbShmLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoT2UpLG51bGw9PWYuY3Jvc3NEb21haW4mJihsPVBlLmV4ZWMoZi51cmwudG9Mb3dlckNhc2UoKSksZi5jcm9zc0RvbWFpbj0hKCFsfHxsWzFdPT1OZVsxXSYmbFsyXT09TmVbMl0mJihsWzNdfHwoImh0dHA6Ij09PWxbMV0/ODA6NDQzKSk9PShOZVszXXx8KCJodHRwOiI9PT1OZVsxXT84MDo0NDMpKSkpLGYuZGF0YSYmZi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBmLmRhdGEmJihmLmRhdGE9aS5wYXJhbShmLmRhdGEsZi50cmFkaXRpb25hbCkpLFJlKEJlLGYsdCx4KSwyPT09YilyZXR1cm4hMTtpZih1PWYuZ2xvYmFsLGYudHlwZT1mLnR5cGUudG9VcHBlckNhc2UoKSxmLmhhc0NvbnRlbnQ9IUxlLnRlc3QoZi50eXBlKSx1JiYwPT1pLmFjdGl2ZSsrJiZpLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLCFmLmhhc0NvbnRlbnQmJihmLmRhdGEmJihmLnVybCs9KGplLnRlc3QoZi51cmwpPyImIjoiPyIpK2YuZGF0YSxkZWxldGUgZi5kYXRhKSxuPWYudXJsLCExPT09Zi5jYWNoZSkpe3ZhciBUPWkubm93KCksTj1mLnVybC5yZXBsYWNlKEhlLCIkMV89IitUKTtmLnVybD1OKyhOPT09Zi51cmw/KGplLnRlc3QoZi51cmwpPyImIjoiPyIpKyJfPSIrVDoiIil9Zm9yKGMgaW4oZi5kYXRhJiZmLmhhc0NvbnRlbnQmJiExIT09Zi5jb250ZW50VHlwZXx8dC5jb250ZW50VHlwZSkmJnguc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixmLmNvbnRlbnRUeXBlKSxmLmlmTW9kaWZpZWQmJihuPW58fGYudXJsLGkubGFzdE1vZGlmaWVkW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixpLmxhc3RNb2RpZmllZFtuXSksaS5ldGFnW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGkuZXRhZ1tuXSkpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixmLmRhdGFUeXBlc1swXSYmZi5hY2NlcHRzW2YuZGF0YVR5cGVzWzBdXT9mLmFjY2VwdHNbZi5kYXRhVHlwZXNbMF1dKygiKiIhPT1mLmRhdGFUeXBlc1swXT8iLCAiK0llKyI7IHE9MC4wMSI6IiIpOmYuYWNjZXB0c1siKiJdKSxmLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGMsZi5oZWFkZXJzW2NdKTtpZihmLmJlZm9yZVNlbmQmJighMT09PWYuYmVmb3JlU2VuZC5jYWxsKGQseCxmKXx8Mj09PWIpKXJldHVybiB4LmFib3J0KCksITE7Zm9yKGMgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0peFtjXShmW2NdKTtpZihhPVJlKFdlLGYsdCx4KSl7eC5yZWFkeVN0YXRlPTEsdSYmcC50cmlnZ2VyKCJhamF4U2VuZCIsW3gsZl0pLGYuYXN5bmMmJmYudGltZW91dD4wJiYocz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3guYWJvcnQoInRpbWVvdXQiKX0pLGYudGltZW91dCkpO3RyeXtiPTEsYS5zZW5kKHYsdyl9Y2F0Y2goZSl7aWYoIShiPDIpKXRocm93IGU7dygtMSxlKX19ZWxzZSB3KC0xLCJObyBUcmFuc3BvcnQiKTtyZXR1cm4geH0scGFyYW06ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPWZ1bmN0aW9uKGUsdCl7dD1pLmlzRnVuY3Rpb24odCk/dCgpOnQsbltuLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQodCl9O2lmKHZvaWQgMD09PXQmJih0PWkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxpLmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhaS5pc1BsYWluT2JqZWN0KGUpKWkuZWFjaChlLChmdW5jdGlvbigpe3IodGhpcy5uYW1lLHRoaXMudmFsdWUpfSkpO2Vsc2UgZm9yKHZhciBvIGluIGUpemUobyxlW29dLHQscik7cmV0dXJuIG4uam9pbigiJiIpLnJlcGxhY2UoQ2UsIisiKX19KSxpLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e319KTt2YXIgVmUsVWUsWWU9ISF3aW5kb3cuQWN0aXZlWE9iamVjdCYmZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gVmUpVmVbZV0oMCwxKX0sSmU9MAo7ZnVuY3Rpb24gR2UoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX1pLmFqYXhTZXR0aW5ncy54aHI9d2luZG93LkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZHZSgpfHxmdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IHdpbmRvdy5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGUpe319KCl9OkdlLFVlPWkuYWpheFNldHRpbmdzLnhocigpLGkuZXh0ZW5kKGkuc3VwcG9ydCx7YWpheDohIVVlLGNvcnM6ISFVZSYmIndpdGhDcmVkZW50aWFscyJpbiBVZX0pLGkuc3VwcG9ydC5hamF4JiZpLmFqYXhUcmFuc3BvcnQoKGZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlLmNyb3NzRG9tYWlufHxpLnN1cHBvcnQuY29ycylyZXR1cm57c2VuZDpmdW5jdGlvbihuLHIpe3ZhciBvLGEscz1lLnhocigpO2lmKGUudXNlcm5hbWU/cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jLGUudXNlcm5hbWUsZS5wYXNzd29yZCk6cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jKSxlLnhockZpZWxkcylmb3IoYSBpbiBlLnhockZpZWxkcylzW2FdPWUueGhyRmllbGRzW2FdO2UubWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpLGUuY3Jvc3NEb21haW58fG5bIlgtUmVxdWVzdGVkLVdpdGgiXXx8KG5bIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGEgaW4gbilzLnNldFJlcXVlc3RIZWFkZXIoYSxuW2FdKX1jYXRjaChlKXt9cy5zZW5kKGUuaGFzQ29udGVudCYmZS5kYXRhfHxudWxsKSx0PWZ1bmN0aW9uKG4sYSl7dmFyIGwsdSxjLGYsZDt0cnl7aWYodCYmKGF8fDQ9PT1zLnJlYWR5U3RhdGUpKWlmKHQ9dm9pZCAwLG8mJihzLm9ucmVhZHlzdGF0ZWNoYW5nZT1pLm5vb3AsWWUmJmRlbGV0ZSBWZVtvXSksYSk0IT09cy5yZWFkeVN0YXRlJiZzLmFib3J0KCk7ZWxzZXtsPXMuc3RhdHVzLGM9cy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxmPXt9LChkPXMucmVzcG9uc2VYTUwpJiZkLmRvY3VtZW50RWxlbWVudCYmKGYueG1sPWQpO3RyeXtmLnRleHQ9cy5yZXNwb25zZVRleHR9Y2F0Y2gobil7fXRyeXt1PXMuc3RhdHVzVGV4dH1jYXRjaChlKXt1PSIifWx8fCFlLmlzTG9jYWx8fGUuY3Jvc3NEb21haW4/MTIyMz09PWwmJihsPTIwNCk6bD1mLnRleHQ/MjAwOjQwNH19Y2F0Y2goZSl7YXx8cigtMSxlKX1mJiZyKGwsdSxmLGMpfSxlLmFzeW5jJiY0IT09cy5yZWFkeVN0YXRlPyhvPSsrSmUsWWUmJihWZXx8KFZlPXt9LGkod2luZG93KS51bmxvYWQoWWUpKSxWZVtvXT10KSxzLm9ucmVhZHlzdGF0ZWNoYW5nZT10KTp0KCl9LGFib3J0OmZ1bmN0aW9uKCl7dCYmdCgwLDEpfX19KSk7dmFyIEtlLFFlLFplLGV0LHR0PXt9LG50PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxydD0vXihbK1wtXT0pPyhbXGQrLlwtXSspKFthLXolXSopJC9pLGl0PVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dO2Z1bmN0aW9uIG90KCl7cmV0dXJuIHNldFRpbWVvdXQoYXQsMCksZXQ9aS5ub3coKX1mdW5jdGlvbiBhdCgpe2V0PXZvaWQgMH1mdW5jdGlvbiBzdChlLHQpe3ZhciBuPXt9O3JldHVybiBpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0LnNsaWNlKDAsdCkpLChmdW5jdGlvbigpe25bdGhpc109ZX0pKSxufWZ1bmN0aW9uIGx0KGUpe2lmKCF0dFtlXSl7dmFyIG49dC5ib2R5LHI9aSgiPCIrZSsiPiIpLmFwcGVuZFRvKG4pLG89ci5jc3MoImRpc3BsYXkiKTtyLnJlbW92ZSgpLCJub25lIiE9PW8mJiIiIT09b3x8KEtlfHwoKEtlPXQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpLmZyYW1lQm9yZGVyPUtlLndpZHRoPUtlLmhlaWdodD0wKSxuLmFwcGVuZENoaWxkKEtlKSxRZSYmS2UuY3JlYXRlRWxlbWVudHx8KChRZT0oS2UuY29udGVudFdpbmRvd3x8S2UuY29udGVudERvY3VtZW50KS5kb2N1bWVudCkud3JpdGUoKGkuc3VwcG9ydC5ib3hNb2RlbD8iPCFkb2N0eXBlIGh0bWw+IjoiIikrIjxodG1sPjxib2R5PiIpLFFlLmNsb3NlKCkpLHI9UWUuY3JlYXRlRWxlbWVudChlKSxRZS5ib2R5LmFwcGVuZENoaWxkKHIpLG89aS5jc3MociwiZGlzcGxheSIpLG4ucmVtb3ZlQ2hpbGQoS2UpKSx0dFtlXT1vfXJldHVybiB0dFtlXX1pLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihlLHQsbil7dmFyIHIsbztpZihlfHwwPT09ZSlyZXR1cm4gdGhpcy5hbmltYXRlKHN0KCJzaG93IiwzKSxlLHQsbik7Zm9yKHZhciBhPTAscz10aGlzLmxlbmd0aDthPHM7YSsrKShyPXRoaXNbYV0pLnN0eWxlJiYobz1yLnN0eWxlLmRpc3BsYXksaS5fZGF0YShyLCJvbGRkaXNwbGF5Iil8fCJub25lIiE9PW98fChvPXIuc3R5bGUuZGlzcGxheT0iIiksKCIiPT09byYmIm5vbmUiPT09aS5jc3MociwiZGlzcGxheSIpfHwhaS5jb250YWlucyhyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHIpKSYmaS5fZGF0YShyLCJvbGRkaXNwbGF5IixsdChyLm5vZGVOYW1lKSkpO2ZvcihhPTA7YTxzO2ErKykocj10aGlzW2FdKS5zdHlsZSYmKCIiIT09KG89ci5zdHlsZS5kaXNwbGF5KSYmIm5vbmUiIT09b3x8KHIuc3R5bGUuZGlzcGxheT1pLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8IiIpKTtyZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihlLHQsbil7aWYoZXx8MD09PWUpcmV0dXJuIHRoaXMuYW5pbWF0ZShzdCgiaGlkZSIsMyksZSx0LG4pO2Zvcih2YXIgcixvLGE9MCxzPXRoaXMubGVuZ3RoO2E8czthKyspKHI9dGhpc1thXSkuc3R5bGUmJigibm9uZSI9PT0obz1pLmNzcyhyLCJkaXNwbGF5IikpfHxpLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8aS5fZGF0YShyLCJvbGRkaXNwbGF5IixvKSk7Zm9yKGE9MDthPHM7YSsrKXRoaXNbYV0uc3R5bGUmJih0aGlzW2FdLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtyZXR1cm4gdGhpc30sX3RvZ2dsZTppLmZuLnRvZ2dsZSwKdG9nZ2xlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0iYm9vbGVhbiI9PXR5cGVvZiBlO3JldHVybiBpLmlzRnVuY3Rpb24oZSkmJmkuaXNGdW5jdGlvbih0KT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOm51bGw9PWV8fHI/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PXI/ZTppKHRoaXMpLmlzKCI6aGlkZGVuIik7aSh0aGlzKVt0PyJzaG93IjoiaGlkZSJdKCl9KSk6dGhpcy5hbmltYXRlKHN0KCJ0b2dnbGUiLDMpLGUsdCxuKSx0aGlzfSxmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIG89aS5zcGVlZCh0LG4scik7aWYoaS5pc0VtcHR5T2JqZWN0KGUpKXJldHVybiB0aGlzLmVhY2goby5jb21wbGV0ZSxbITFdKTtmdW5jdGlvbiBhKCl7ITE9PT1vLnF1ZXVlJiZpLl9tYXJrKHRoaXMpO3ZhciB0LG4scixhLHMsbCx1LGMsZixkLHAsaD1pLmV4dGVuZCh7fSxvKSxtPTE9PT10aGlzLm5vZGVUeXBlLGc9bSYmaSh0aGlzKS5pcygiOmhpZGRlbiIpO2ZvcihyIGluIGguYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9LGUpaWYociE9PSh0PWkuY2FtZWxDYXNlKHIpKSYmKGVbdF09ZVtyXSxkZWxldGUgZVtyXSksKHM9aS5jc3NIb29rc1t0XSkmJiJleHBhbmQiaW4gcylmb3IociBpbiBsPXMuZXhwYW5kKGVbdF0pLGRlbGV0ZSBlW3RdLGwpciBpbiBlfHwoZVtyXT1sW3JdKTtmb3IodCBpbiBlKXtpZihuPWVbdF0saS5pc0FycmF5KG4pPyhoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1uWzFdLG49ZVt0XT1uWzBdKTpoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1oLnNwZWNpYWxFYXNpbmcmJmguc3BlY2lhbEVhc2luZ1t0XXx8aC5lYXNpbmd8fCJzd2luZyIsImhpZGUiPT09biYmZ3x8InNob3ciPT09biYmIWcpcmV0dXJuIGguY29tcGxldGUuY2FsbCh0aGlzKTshbXx8ImhlaWdodCIhPT10JiYid2lkdGgiIT09dHx8KGgub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ldLCJpbmxpbmUiPT09aS5jc3ModGhpcywiZGlzcGxheSIpJiYibm9uZSI9PT1pLmNzcyh0aGlzLCJmbG9hdCIpJiYoaS5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09bHQodGhpcy5ub2RlTmFtZSk/dGhpcy5zdHlsZS56b29tPTE6dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSl9Zm9yKHIgaW4gbnVsbCE9aC5vdmVyZmxvdyYmKHRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpLGUpYT1uZXcgaS5meCh0aGlzLGgsciksbj1lW3JdLG50LnRlc3Qobik/KHA9aS5fZGF0YSh0aGlzLCJ0b2dnbGUiK3IpfHwoInRvZ2dsZSI9PT1uP2c/InNob3ciOiJoaWRlIjowKSk/KGkuX2RhdGEodGhpcywidG9nZ2xlIityLCJzaG93Ij09PXA/ImhpZGUiOiJzaG93IiksYVtwXSgpKTphW25dKCk6KHU9cnQuZXhlYyhuKSxjPWEuY3VyKCksdT8oZj1wYXJzZUZsb2F0KHVbMl0pLCJweCIhPT0oZD11WzNdfHwoaS5jc3NOdW1iZXJbcl0/IiI6InB4IikpJiYoaS5zdHlsZSh0aGlzLHIsKGZ8fDEpK2QpLGM9KGZ8fDEpL2EuY3VyKCkqYyxpLnN0eWxlKHRoaXMscixjK2QpKSx1WzFdJiYoZj0oIi09Ij09PXVbMV0/LTE6MSkqZitjKSxhLmN1c3RvbShjLGYsZCkpOmEuY3VzdG9tKGMsbiwiIikpO3JldHVybiEwfXJldHVybiBlPWkuZXh0ZW5kKHt9LGUpLCExPT09by5xdWV1ZT90aGlzLmVhY2goYSk6dGhpcy5xdWV1ZShvLnF1ZXVlLGEpfSxzdG9wOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGUmJihuPXQsdD1lLGU9dm9pZCAwKSx0JiYhMSE9PWUmJnRoaXMucXVldWUoZXx8ImZ4IixbXSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0LHI9ITEsbz1pLnRpbWVycyxhPWkuX2RhdGEodGhpcyk7ZnVuY3Rpb24gcyhlLHQscil7dmFyIG89dFtyXTtpLnJlbW92ZURhdGEoZSxyLCEwKSxvLnN0b3Aobil9aWYobnx8aS5fdW5tYXJrKCEwLHRoaXMpLG51bGw9PWUpZm9yKHQgaW4gYSlhW3RdJiZhW3RdLnN0b3AmJnQuaW5kZXhPZigiLnJ1biIpPT09dC5sZW5ndGgtNCYmcyh0aGlzLGEsdCk7ZWxzZSBhW3Q9ZSsiLnJ1biJdJiZhW3RdLnN0b3AmJnModGhpcyxhLHQpO2Zvcih0PW8ubGVuZ3RoO3QtLTspb1t0XS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1t0XS5xdWV1ZSE9PWV8fChuP29bdF0oITApOm9bdF0uc2F2ZVN0YXRlKCkscj0hMCxvLnNwbGljZSh0LDEpKTtuJiZyfHxpLmRlcXVldWUodGhpcyxlKX0pKX19KSxpLmVhY2goe3NsaWRlRG93bjpzdCgic2hvdyIsMSksc2xpZGVVcDpzdCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6c3QoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSwoZnVuY3Rpb24oZSx0KXtpLmZuW2VdPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5hbmltYXRlKHQsZSxuLHIpfX0pKSxpLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10eXBlb2YgZT9pLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fGkuaXNGdW5jdGlvbihlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaS5pc0Z1bmN0aW9uKHQpJiZ0fTtyZXR1cm4gci5kdXJhdGlvbj1pLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2Ygci5kdXJhdGlvbj9yLmR1cmF0aW9uOnIuZHVyYXRpb24gaW4gaS5meC5zcGVlZHM/aS5meC5zcGVlZHNbci5kdXJhdGlvbl06aS5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ci5xdWV1ZSYmITAhPT1yLnF1ZXVlfHwoci5xdWV1ZT0iZngiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oZSl7aS5pc0Z1bmN0aW9uKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlP2kuZGVxdWV1ZSh0aGlzLHIucXVldWUpOiExIT09ZSYmaS5fdW5tYXJrKHRoaXMpfSxyfSxlYXNpbmc6ewpsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi1NYXRoLmNvcyhlKk1hdGguUEkpLzIrLjV9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oZSx0LG4pe3RoaXMub3B0aW9ucz10LHRoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHQub3JpZz10Lm9yaWd8fHt9fX0pLGkuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGkuZnguc3RlcFt0aGlzLnByb3BdfHxpLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmVsZW1bdGhpcy5wcm9wXSYmKCF0aGlzLmVsZW0uc3R5bGV8fG51bGw9PXRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07dmFyIGUsdD1pLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oZT1wYXJzZUZsb2F0KHQpKT90JiYiYXV0byIhPT10P3Q6MDplfSxjdXN0b206ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMsbz1pLmZ4O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHIuc3RlcChlKX10aGlzLnN0YXJ0VGltZT1ldHx8b3QoKSx0aGlzLmVuZD10LHRoaXMubm93PXRoaXMuc3RhcnQ9ZSx0aGlzLnBvcz10aGlzLnN0YXRlPTAsdGhpcy51bml0PW58fHRoaXMudW5pdHx8KGkuY3NzTnVtYmVyW3RoaXMucHJvcF0/IiI6InB4IiksYS5xdWV1ZT10aGlzLm9wdGlvbnMucXVldWUsYS5lbGVtPXRoaXMuZWxlbSxhLnNhdmVTdGF0ZT1mdW5jdGlvbigpe3ZvaWQgMD09PWkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCkmJihyLm9wdGlvbnMuaGlkZT9pLl9kYXRhKHIuZWxlbSwiZnhzaG93IityLnByb3Asci5zdGFydCk6ci5vcHRpb25zLnNob3cmJmkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCxyLmVuZCkpfSxhKCkmJmkudGltZXJzLnB1c2goYSkmJiFaZSYmKFplPXNldEludGVydmFsKG8udGljayxvLmludGVydmFsKSl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgZT1pLl9kYXRhKHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09ZXx8aS5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlzLm9wdGlvbnMuc2hvdz0hMCx2b2lkIDAhPT1lP3RoaXMuY3VzdG9tKHRoaXMuY3VyKCksZSk6dGhpcy5jdXN0b20oIndpZHRoIj09PXRoaXMucHJvcHx8ImhlaWdodCI9PT10aGlzLnByb3A/MTowLHRoaXMuY3VyKCkpLGkodGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWkuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGkuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAsdGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz1ldHx8b3QoKSxhPSEwLHM9dGhpcy5lbGVtLGw9dGhpcy5vcHRpb25zO2lmKGV8fG8+PWwuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe2Zvcih0IGluIHRoaXMubm93PXRoaXMuZW5kLHRoaXMucG9zPXRoaXMuc3RhdGU9MSx0aGlzLnVwZGF0ZSgpLGwuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF09ITAsbC5hbmltYXRlZFByb3BlcnRpZXMpITAhPT1sLmFuaW1hdGVkUHJvcGVydGllc1t0XSYmKGE9ITEpO2lmKGEpe2lmKG51bGw9PWwub3ZlcmZsb3d8fGkuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzfHxpLmVhY2goWyIiLCJYIiwiWSJdLChmdW5jdGlvbihlLHQpe3Muc3R5bGVbIm92ZXJmbG93Iit0XT1sLm92ZXJmbG93W2VdfSkpLGwuaGlkZSYmaShzKS5oaWRlKCksbC5oaWRlfHxsLnNob3cpZm9yKHQgaW4gbC5hbmltYXRlZFByb3BlcnRpZXMpaS5zdHlsZShzLHQsbC5vcmlnW3RdKSxpLnJlbW92ZURhdGEocywiZnhzaG93Iit0LCEwKSxpLnJlbW92ZURhdGEocywidG9nZ2xlIit0LCEwKTsocj1sLmNvbXBsZXRlKSYmKGwuY29tcGxldGU9ITEsci5jYWxsKHMpKX1yZXR1cm4hMX1yZXR1cm4gbC5kdXJhdGlvbj09MS8wP3RoaXMubm93PW86KG49by10aGlzLnN0YXJ0VGltZSx0aGlzLnN0YXRlPW4vbC5kdXJhdGlvbix0aGlzLnBvcz1pLmVhc2luZ1tsLmFuaW1hdGVkUHJvcGVydGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRlLG4sMCwxLGwuZHVyYXRpb24pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9zKSx0aGlzLnVwZGF0ZSgpLCEwfX0saS5leHRlbmQoaS5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PWkudGltZXJzLG49MDtuPHQubGVuZ3RoO24rKykoZT10W25dKSgpfHx0W25dIT09ZXx8dC5zcGxpY2Uobi0tLDEpO3QubGVuZ3RofHxpLmZ4LnN0b3AoKX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoWmUpLFplPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLCJvcGFjaXR5IixlLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe2UuZWxlbS5zdHlsZSYmbnVsbCE9ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtLnN0eWxlW2UucHJvcF09ZS5ub3crZS51bml0OmUuZWxlbVtlLnByb3BdPWUubm93fX19KSxpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0KSwoZnVuY3Rpb24oZSx0KXt0LmluZGV4T2YoIm1hcmdpbiIpJiYoaS5meC5zdGVwW3RdPWZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLHQsTWF0aC5tYXgoMCxlLm5vdykrZS51bml0KX0pfSkpLGkuZXhwciYmaS5leHByLmZpbHRlcnMmJihpLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gaS5ncmVwKGkudGltZXJzLChmdW5jdGlvbih0KXtyZXR1cm4gZT09PXQuZWxlbX0pKS5sZW5ndGh9KTt2YXIgdXQsY3Q9L150KD86YWJsZXxkfGgpJC9pLGZ0PS9eKD86Ym9keXxodG1sKSQvaTtmdW5jdGlvbiBkdChlKXsKcmV0dXJuIGkuaXNXaW5kb3coZSk/ZTo5PT09ZS5ub2RlVHlwZSYmKGUuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93KX11dD0iZ2V0Qm91bmRpbmdDbGllbnRSZWN0ImluIHQuZG9jdW1lbnRFbGVtZW50P2Z1bmN0aW9uKGUsdCxuLHIpe3RyeXtyPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fWlmKCFyfHwhaS5jb250YWlucyhuLGUpKXJldHVybiByP3t0b3A6ci50b3AsbGVmdDpyLmxlZnR9Ont0b3A6MCxsZWZ0OjB9O3ZhciBvPXQuYm9keSxhPWR0KHQpLHM9bi5jbGllbnRUb3B8fG8uY2xpZW50VG9wfHwwLGw9bi5jbGllbnRMZWZ0fHxvLmNsaWVudExlZnR8fDAsdT1hLnBhZ2VZT2Zmc2V0fHxpLnN1cHBvcnQuYm94TW9kZWwmJm4uc2Nyb2xsVG9wfHxvLnNjcm9sbFRvcCxjPWEucGFnZVhPZmZzZXR8fGkuc3VwcG9ydC5ib3hNb2RlbCYmbi5zY3JvbGxMZWZ0fHxvLnNjcm9sbExlZnQ7cmV0dXJue3RvcDpyLnRvcCt1LXMsbGVmdDpyLmxlZnQrYy1sfX06ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixvPWUub2Zmc2V0UGFyZW50LGE9dC5ib2R5LHM9dC5kZWZhdWx0VmlldyxsPXM/cy5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCk6ZS5jdXJyZW50U3R5bGUsdT1lLm9mZnNldFRvcCxjPWUub2Zmc2V0TGVmdDsoZT1lLnBhcmVudE5vZGUpJiZlIT09YSYmZSE9PW4mJighaS5zdXBwb3J0LmZpeGVkUG9zaXRpb258fCJmaXhlZCIhPT1sLnBvc2l0aW9uKTspcj1zP3MuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpOmUuY3VycmVudFN0eWxlLHUtPWUuc2Nyb2xsVG9wLGMtPWUuc2Nyb2xsTGVmdCxlPT09byYmKHUrPWUub2Zmc2V0VG9wLGMrPWUub2Zmc2V0TGVmdCwhaS5zdXBwb3J0LmRvZXNOb3RBZGRCb3JkZXJ8fGkuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscyYmY3QudGVzdChlLm5vZGVOYW1lKXx8KHUrPXBhcnNlRmxvYXQoci5ib3JkZXJUb3BXaWR0aCl8fDAsYys9cGFyc2VGbG9hdChyLmJvcmRlckxlZnRXaWR0aCl8fDApLG89ZS5vZmZzZXRQYXJlbnQpLGkuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJiJ2aXNpYmxlIiE9PXIub3ZlcmZsb3cmJih1Kz1wYXJzZUZsb2F0KHIuYm9yZGVyVG9wV2lkdGgpfHwwLGMrPXBhcnNlRmxvYXQoci5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxsPXI7cmV0dXJuInJlbGF0aXZlIiE9PWwucG9zaXRpb24mJiJzdGF0aWMiIT09bC5wb3NpdGlvbnx8KHUrPWEub2Zmc2V0VG9wLGMrPWEub2Zmc2V0TGVmdCksaS5zdXBwb3J0LmZpeGVkUG9zaXRpb24mJiJmaXhlZCI9PT1sLnBvc2l0aW9uJiYodSs9TWF0aC5tYXgobi5zY3JvbGxUb3AsYS5zY3JvbGxUb3ApLGMrPU1hdGgubWF4KG4uc2Nyb2xsTGVmdCxhLnNjcm9sbExlZnQpKSx7dG9wOnUsbGVmdDpjfX0saS5mbi5vZmZzZXQ9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09ZT90aGlzOnRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aS5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZSx0KX0pKTt2YXIgdD10aGlzWzBdLG49dCYmdC5vd25lckRvY3VtZW50O3JldHVybiBuP3Q9PT1uLmJvZHk/aS5vZmZzZXQuYm9keU9mZnNldCh0KTp1dCh0LG4sbi5kb2N1bWVudEVsZW1lbnQpOm51bGx9LGkub2Zmc2V0PXtib2R5T2Zmc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0VG9wLG49ZS5vZmZzZXRMZWZ0O3JldHVybiBpLnN1cHBvcnQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQmJih0Kz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpblRvcCIpKXx8MCxuKz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDApLHt0b3A6dCxsZWZ0Om59fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWkuY3NzKGUsInBvc2l0aW9uIik7InN0YXRpYyI9PT1yJiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgbyxhLHM9aShlKSxsPXMub2Zmc2V0KCksdT1pLmNzcyhlLCJ0b3AiKSxjPWkuY3NzKGUsImxlZnQiKSxmPXt9LGQ9e307KCJhYnNvbHV0ZSI9PT1yfHwiZml4ZWQiPT09cikmJmkuaW5BcnJheSgiYXV0byIsW3UsY10pPi0xPyhvPShkPXMucG9zaXRpb24oKSkudG9wLGE9ZC5sZWZ0KToobz1wYXJzZUZsb2F0KHUpfHwwLGE9cGFyc2VGbG9hdChjKXx8MCksaS5pc0Z1bmN0aW9uKHQpJiYodD10LmNhbGwoZSxuLGwpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLWwudG9wK28pLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtbC5sZWZ0K2EpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpOnMuY3NzKGYpfX0saS5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGU9dGhpc1swXSx0PXRoaXMub2Zmc2V0UGFyZW50KCksbj10aGlzLm9mZnNldCgpLHI9ZnQudGVzdCh0WzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTp0Lm9mZnNldCgpO3JldHVybiBuLnRvcC09cGFyc2VGbG9hdChpLmNzcyhlLCJtYXJnaW5Ub3AiKSl8fDAsbi5sZWZ0LT1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDAsci50b3ArPXBhcnNlRmxvYXQoaS5jc3ModFswXSwiYm9yZGVyVG9wV2lkdGgiKSl8fDAsci5sZWZ0Kz1wYXJzZUZsb2F0KGkuY3NzKHRbMF0sImJvcmRlckxlZnRXaWR0aCIpKXx8MCx7dG9wOm4udG9wLXIudG9wLGxlZnQ6bi5sZWZ0LXIubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5vZmZzZXRQYXJlbnR8fHQuYm9keTtlJiYhZnQudGVzdChlLm5vZGVOYW1lKSYmInN0YXRpYyI9PT1pLmNzcyhlLCJwb3NpdGlvbiIpOyllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfSkpfX0pLGkuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSwoZnVuY3Rpb24oZSx0KXt2YXIgbj0vWS8udGVzdCh0KTtpLmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHIsbyl7dmFyIGE9ZHQoZSkKO2lmKHZvaWQgMD09PW8pcmV0dXJuIGE/dCBpbiBhP2FbdF06aS5zdXBwb3J0LmJveE1vZGVsJiZhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtyXXx8YS5kb2N1bWVudC5ib2R5W3JdOmVbcl07YT9hLnNjcm9sbFRvKG4/aShhKS5zY3JvbGxMZWZ0KCk6byxuP286aShhKS5zY3JvbGxUb3AoKSk6ZVtyXT1vfSksZSxyLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGkuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LChmdW5jdGlvbihlLHQpe3ZhciBuPSJjbGllbnQiK2Uscj0ic2Nyb2xsIitlLG89Im9mZnNldCIrZTtpLmZuWyJpbm5lciIrZV09ZnVuY3Rpb24oKXt2YXIgZT10aGlzWzBdO3JldHVybiBlP2Uuc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhlLHQsInBhZGRpbmciKSk6dGhpc1t0XSgpOm51bGx9LGkuZm5bIm91dGVyIitlXT1mdW5jdGlvbihlKXt2YXIgbj10aGlzWzBdO3JldHVybiBuP24uc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhuLHQsZT8ibWFyZ2luIjoiYm9yZGVyIikpOnRoaXNbdF0oKTpudWxsfSxpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsYSl7dmFyIHMsbCx1LGM7cmV0dXJuIGkuaXNXaW5kb3coZSk/KGw9KHM9ZS5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50W25dLGkuc3VwcG9ydC5ib3hNb2RlbCYmbHx8cy5ib2R5JiZzLmJvZHlbbl18fGwpOjk9PT1lLm5vZGVUeXBlPyhzPWUuZG9jdW1lbnRFbGVtZW50KVtuXT49c1tyXT9zW25dOk1hdGgubWF4KGUuYm9keVtyXSxzW3JdLGUuYm9keVtvXSxzW29dKTp2b2lkIDA9PT1hPyh1PWkuY3NzKGUsdCksYz1wYXJzZUZsb2F0KHUpLGkuaXNOdW1lcmljKGMpP2M6dSk6dm9pZCBpKGUpLmNzcyh0LGEpfSksdCxlLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGUuZXhwb3J0cz13aW5kb3cualF1ZXJ5PXdpbmRvdy4kPWl9fV0pOw=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.899Z","timestamp":1785124876899,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5808.f4800fa9246f404621ee.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2fe65\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 92647775ee7f319421cd094b943e7d85\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":196197,"size_decoded":57470,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-27T06:24:31.723549Z","times_seen":45,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODA4LDQxMzI4LDY0NjQ0LDk0NTYwXSx7OTE0NDg3KGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhPXt9Lmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtpZihuKXt2YXIgbz10eXBlb2YgbjtpZigic3RyaW5nIj09PW98fCJudW1iZXIiPT09byllLnB1c2gobik7ZWxzZSBpZihBcnJheS5pc0FycmF5KG4pJiZuLmxlbmd0aCl7dmFyIHM9aS5hcHBseShudWxsLG4pO3MmJmUucHVzaChzKX1lbHNlIGlmKCJvYmplY3QiPT09bylmb3IodmFyIGwgaW4gbilhLmNhbGwobixsKSYmbltsXSYmZS5wdXNoKGwpfX1yZXR1cm4gZS5qb2luKCIgIil9ZS5leHBvcnRzPyhpLmRlZmF1bHQ9aSxlLmV4cG9ydHM9aSk6dm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uYXBwbHkodCxbXSkpfHwoZS5leHBvcnRzPW4pfSgpfSw4NjQ3MzYoZSl7ZS5leHBvcnRzPXtjb250ZXh0QWN0aW9uczoiY29udGV4dEFjdGlvbnMtdUJKaGpVVjgiLGhpZGVJZk5vSG92ZXI6ImhpZGVJZk5vSG92ZXItdUJKaGpVVjgiLHNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZDoic29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4In19LDkwNDQzNChlKXtlLmV4cG9ydHM9e2Zvb3RlcjoiZm9vdGVyLVlCSk16QV9sIn19LDU0MDU5NShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLWhEdElveGpVIixncm91cDoiZ3JvdXAtaER0SW94alUiLG1lbnU6Im1lbnUtaER0SW94alUiLGJldGFCYWRnZToiYmV0YUJhZGdlLWhEdElveGpVIixuZXdCYWRnZToibmV3QmFkZ2UtaER0SW94alUiLGxhYmVsOiJsYWJlbC1oRHRJb3hqVSIsY29udGFpbmVyOiJjb250YWluZXItaER0SW94alUiLG5ld1ZpZXc6Im5ld1ZpZXctaER0SW94alUiLGRlc2t0b3A6ImRlc2t0b3AtaER0SW94alUifX0sNzExMjgzKGUpe2UuZXhwb3J0cz17Y3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbjoiY3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbi1FMnY3V2J1biIsd2l0aG91dEljb246IndpdGhvdXRJY29uLUUydjdXYnVuIn19LDg4OTgwOShlKXtlLmV4cG9ydHM9e2Ryb3Bkb3duOiJkcm9wZG93bi1NYndCTVdEeSIsbmV3VmlldzoibmV3Vmlldy1NYndCTVdEeSIsc21hbGxXaWR0aFdyYXBwZXI6InNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5IixtZW51OiJtZW51LU1id0JNV0R5IixsYWJlbDoibGFiZWwtTWJ3Qk1XRHkiLHNtYWxsV2lkdGhUaXRsZToic21hbGxXaWR0aFRpdGxlLU1id0JNV0R5IixzbWFsbFdpZHRoTWVudUl0ZW06InNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeSJ9fSw3MTk5KGUpe2UuZXhwb3J0cz17c21hbGxUYWJsZXRTZWN0aW9uVGl0bGU6InNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2In19LDI1MTcyMyhlKXtlLmV4cG9ydHM9e3ZhbHVlOiJ2YWx1ZS1kcjN2R2luVCIsc2VsZWN0ZWQ6InNlbGVjdGVkLWRyM3ZHaW5UIn19LDk3MzY5KGUpe2UuZXhwb3J0cz17c21hbGxXaWR0aE1lbnVJdGVtOiJzbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak0iLG1lbnVJdGVtOiJtZW51SXRlbS1yV0JjZDFqTSIscmVtb3ZlOiJyZW1vdmUtcldCY2Qxak0iLHNpZ25hbDoic2lnbmFsLXJXQmNkMWpNIiwiaGlnaGxpZ2h0LWFuaW1hdGlvbiI6ImhpZ2hsaWdodC1hbmltYXRpb24tcldCY2Qxak0ifX0sNjU3ODA5KGUpe2UuZXhwb3J0cz17c2VjdGlvbjoic2VjdGlvbi1DcVBRQmc0WiIsYWRkQ3VzdG9tSW50ZXJ2YWw6ImFkZEN1c3RvbUludGVydmFsLUNxUFFCZzRaIixhZGRDdXN0b21JbnRlcnZhbERlc2t0b3A6ImFkZEN1c3RvbUludGVydmFsRGVza3RvcC1DcVBRQmc0WiJ9fSw0NTAyNzEoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1VOWIwVEFzNCIsbWVudUJ0bjoibWVudUJ0bi1VOWIwVEFzNCIsZHJvcGRvd246ImRyb3Bkb3duLVU5YjBUQXM0IixuZXdWaWV3OiJuZXdWaWV3LVU5YjBUQXM0IixkZXNrdG9wOiJkZXNrdG9wLVU5YjBUQXM0IixtZW51Q29udGVudDoibWVudUNvbnRlbnQtVTliMFRBczQiLGdyb3VwOiJncm91cC1VOWIwVEFzNCJ9fSw5OTAwMTQoZSl7ZS5leHBvcnRzPXtyb3c6InJvdy1YNlMwM09WaiIscm93SW5uZXI6InJvd0lubmVyLVg2UzAzT1ZqIixzbWFsbFJvdzoic21hbGxSb3ctWDZTMDNPVmoiLHJvd0xhYmVsOiJyb3dMYWJlbC1YNlMwM09WaiIsc21hbGxSb3dMYWJlbDoic21hbGxSb3dMYWJlbC1YNlMwM09WaiIscm93QnV0dG9uczoicm93QnV0dG9ucy1YNlMwM09WaiIsbGF5b3V0QnV0dG9uV3JhcDoibGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WaiIsYWNjZXNzaWJsZToiYWNjZXNzaWJsZS1YNlMwM09WaiIsc21hbGxXaWR0aDoic21hbGxXaWR0aC1YNlMwM09WaiIsbGF5b3V0QnV0dG9uOiJsYXlvdXRCdXR0b24tWDZTMDNPVmoiLGhvdmVyZWQ6ImhvdmVyZWQtWDZTMDNPVmoiLGlzQWN0aXZlOiJpc0FjdGl2ZS1YNlMwM09WaiIsc21hbGxXaWR0aExheW91dEJ1dHRvbjoic21hbGxXaWR0aExheW91dEJ1dHRvbi1YNlMwM09WaiIsbGF5b3V0QnV0dG9uczoibGF5b3V0QnV0dG9ucy1YNlMwM09WaiJ9fSw0NTY1MjUoZSl7ZS5leHBvcnRzPXt0b2dnbGVyOiJ0b2dnbGVyLXA1R2kyaEkxIixob3ZlcmVkOiJob3ZlcmVkLXA1R2kyaEkxIixsYWJlbDoibGFiZWwtcDVHaTJoSTEiLGNlbnRlcmVkOiJjZW50ZXJlZC1wNUdpMmhJMSIsY2hlY2tlZDoiY2hlY2tlZC1wNUdpMmhJMSIsc3dpdGNoZXJMYWJlbDoic3dpdGNoZXJMYWJlbC1wNUdpMmhJMSJ9fSw0NTI2MTcoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1QVkx4S2hJSSIsZHJvcGRvd246ImRyb3Bkb3duLVBWTHhLaElJIixsYXlvdXRUeXBlOiJsYXlvdXRUeXBlLVBWTHhLaElJIix0aXRsZToidGl0bGUtUFZMeEtoSUkiLHN5bmNDaGFydHM6InN5bmNDaGFydHMtUFZMeEtoSUkiLG1vYmlsZToibW9iaWxlLVBWTHhLaElJIix0YWJsZXRXcmFwcGVyOiJ0YWJsZXRXcmFwcGVyLVBWTHhLaElJIiwKaWNvbjoiaWNvbi1QVkx4S2hJSSIsc3luY0xpc3RXcmFwcGVyOiJzeW5jTGlzdFdyYXBwZXItUFZMeEtoSUkiLHN3aXRjaGVyOiJzd2l0Y2hlci1QVkx4S2hJSSIsc3dpdGNoTGFiZWxXcmFwOiJzd2l0Y2hMYWJlbFdyYXAtUFZMeEtoSUkiLHN3aXRjaExhYmVsOiJzd2l0Y2hMYWJlbC1QVkx4S2hJSSIsaWNvbldyYXA6Imljb25XcmFwLVBWTHhLaElJIixpbmZvSWNvbjoiaW5mb0ljb24tUFZMeEtoSUkiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJIn19LDg1NTEwNyhlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLXdvSzNWeG1tIn19LDQzNTQ0NyhlKXtlLmV4cG9ydHM9e2Z1bGw6ImZ1bGwtdV9SQXBuaU4iLGxhc3Q6Imxhc3QtdV9SQXBuaU4iLG1lZGl1bToibWVkaXVtLXVfUkFwbmlOIn19LDExNDMwNyhlKXtlLmV4cG9ydHM9e3BvcHVwSXRlbVJvd1RhYmxldFNtYWxsOiJwb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSiIsbGF5b3V0SXRlbToibGF5b3V0SXRlbS1FWEdfMGhhSiIsbGF5b3V0TWV0YToibGF5b3V0TWV0YS1FWEdfMGhhSiIsdG9vbGJveDoidG9vbGJveC1FWEdfMGhhSiIsdG9vbGJveFNtYWxsOiJ0b29sYm94U21hbGwtRVhHXzBoYUoiLGxheW91dFRpdGxlOiJsYXlvdXRUaXRsZS1FWEdfMGhhSiIsbGF5b3V0SXRlbVdyYXA6ImxheW91dEl0ZW1XcmFwLUVYR18waGFKIixsYXlvdXRJdGVtV3JhcFNtYWxsOiJsYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKIixsYXlvdXRUaXRsZVNtYWxsOiJsYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKIixlbGxpcHNpczoiZWxsaXBzaXMtRVhHXzBoYUoifX0sNzYxMTc1KGUpe2UuZXhwb3J0cz17c2hhcmluZ0xhYmVsV3JhcDoic2hhcmluZ0xhYmVsV3JhcC1fVUNsUVR0NiIsdGl0bGVTaGFyaW5nTGFiZWw6InRpdGxlU2hhcmluZ0xhYmVsLV9VQ2xRVHQ2IixpY29uV3JhcDoiaWNvbldyYXAtX1VDbFFUdDYiLGluZm9JY29uOiJpbmZvSWNvbi1fVUNsUVR0NiIsYWNjZXNzaWJsZUxhYmVsOiJhY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDYiLGhpbnQ6ImhpbnQtX1VDbFFUdDYifX0sNDY1MDY0KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24td19nREtuN08iLGlzRGlzYWJsZWQ6ImlzRGlzYWJsZWQtd19nREtuN08ifX0sNDcwOTAxKGUpe2UuZXhwb3J0cz17bWVudUJ0bldyYXA6Im1lbnVCdG5XcmFwLXphcExoMHJSIixtZW51OiJtZW51LXphcExoMHJSIixuZXdNZW51V3JhcHBlcjoibmV3TWVudVdyYXBwZXItemFwTGgwclIiLGRlc2t0b3A6ImRlc2t0b3AtemFwTGgwclIiLG9wZW5lZDoib3BlbmVkLXphcExoMHJSIixob3ZlcjoiaG92ZXItemFwTGgwclIiLGNsaWNrZWQ6ImNsaWNrZWQtemFwTGgwclIiLGF1dG9TYXZlV3JhcHBlcjoiYXV0b1NhdmVXcmFwcGVyLXphcExoMHJSIixzaGFyaW5nV3JhcHBlcjoic2hhcmluZ1dyYXBwZXItemFwTGgwclIiLGJ1dHRvbjoiYnV0dG9uLXphcExoMHJSIixidXR0b25TbWFsbFBhZGRpbmc6ImJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUiIsaGludFBsYWNlSG9sZGVyOiJoaW50UGxhY2VIb2xkZXItemFwTGgwclIiLHNtYWxsSGludFBsYWNlSG9sZGVyOiJzbWFsbEhpbnRQbGFjZUhvbGRlci16YXBMaDByUiIscG9wdXBJdGVtUm93VGFibGV0U21hbGw6InBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSIixzaG9ydGN1dDoic2hvcnRjdXQtemFwTGgwclIiLHRvb2xUaXRsZToidG9vbFRpdGxlLXphcExoMHJSIix0b29sVGl0bGVNb2JpbGU6InRvb2xUaXRsZU1vYmlsZS16YXBMaDByUiIsdGV4dFdyYXA6InRleHRXcmFwLXphcExoMHJSIix0ZXh0OiJ0ZXh0LXphcExoMHJSIix3aXRoSWNvbjoid2l0aEljb24temFwTGgwclIiLHN3aXRjaGVyTGFiZWw6InN3aXRjaGVyTGFiZWwtemFwTGgwclIiLGVsbGlwc2lzOiJlbGxpcHNpcy16YXBMaDByUiJ9fSwxMTc3MjkoZSl7ZS5leHBvcnRzPXtuZXdWaWV3OiJuZXdWaWV3LXA1QW5HMEdPIixkZXNrdG9wOiJkZXNrdG9wLXA1QW5HMEdPIn19LDk4ODQxNihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW80MHQ5TDVuIixzbWFsbExlZnRQYWRkaW5nOiJzbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVuIix0ZXh0OiJ0ZXh0LW80MHQ5TDVuIixzZWFyY2hCdXR0b246InNlYXJjaEJ1dHRvbi1vNDB0OUw1biIsbWVudU9wZW5lZDoibWVudU9wZW5lZC1vNDB0OUw1biIsdXBwZXJjYXNlOiJ1cHBlcmNhc2UtbzQwdDlMNW4ifX0sODg3MDE4KGUpe2UuZXhwb3J0cz17ZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLWhWUzNJOXJzIn19LDc3MTk4MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtckJ0RWZaUUkiLHRpdGxlV3JhcDoidGl0bGVXcmFwLXJCdEVmWlFJIixpbmRpY2F0b3JzOiJpbmRpY2F0b3JzLXJCdEVmWlFJIix0aXRsZToidGl0bGUtckJ0RWZaUUkiLGljb246Imljb24tckJ0RWZaUUkiLHRleHQ6InRleHQtckJ0RWZaUUkiLHRpdGxlVGFibGV0U21hbGw6InRpdGxlVGFibGV0U21hbGwtckJ0RWZaUUkiLGxhYmVsUm93OiJsYWJlbFJvdy1yQnRFZlpRSSIsbGFiZWw6ImxhYmVsLXJCdEVmWlFJIn19LDc4Mzc4MShlKXtlLmV4cG9ydHM9e21lbnU6Im1lbnUtc1dQMlhXQTAiLG5ld1ZpZXc6Im5ld1ZpZXctc1dQMlhXQTAiLGRlc2t0b3A6ImRlc2t0b3Atc1dQMlhXQTAiLG1lbnVTbWFsbFRhYmxldDoibWVudVNtYWxsVGFibGV0LXNXUDJYV0EwIixtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsOiJtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsLXNXUDJYV0EwIixtZW51SXRlbUhlYWRlcjoibWVudUl0ZW1IZWFkZXItc1dQMlhXQTAifX0sMjU3NjkxKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1ISjdTM1A0OSIsZnVsbDoiZnVsbC1ISjdTM1A0OSIsZmlyc3Q6ImZpcnN0LUhKN1MzUDQ5IixsYXN0OiJsYXN0LUhKN1MzUDQ5IixtZWRpdW06Im1lZGl1bS1ISjdTM1A0OSIsYnV0dG9uV2l0aEZhdm9yaXRlczoiYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OSJ9fSw1NzA2ODMoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLW9ORGlRQ21OIn19LDE4OTUzMChlKXtlLmV4cG9ydHM9e3N1bW1hcnk6InN1bW1hcnktRTZ0eklRa1IiLApob3ZlcmVkOiJob3ZlcmVkLUU2dHpJUWtSIixjYXJldDoiY2FyZXQtRTZ0eklRa1IifX0sNjI1MTU2KGUpe2UuZXhwb3J0cz17Y29weUxpbms6ImNvcHlMaW5rLWUzQlptWlhIIixjb3B5TGlua01vYmlsZToiY29weUxpbmtNb2JpbGUtZTNCWm1aWEgiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIIn19LDc1ODg4MihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tUEJ0cnpaQ2EiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtUEJ0cnpaQ2EiLHJvdW5kOiJyb3VuZC1QQnRyelpDYSIsYWN0aXZlOiJhY3RpdmUtUEJ0cnpaQ2EifX0sMzYzODA4KGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1tRUdaQmZ1TCJ9fSw1ODcwOTQoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1yMHBvUnYwUiIsYWN0aXZlOiJhY3RpdmUtcjBwb1J2MFIifX0sNTczNDUwKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLXRzVG9ic3lwIn19LDk0MTkxOChlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUk4ckFuWFRSIix3aXRoVGV4dDoid2l0aFRleHQtSThyQW5YVFIiLHdpdGhvdXRUZXh0OiJ3aXRob3V0VGV4dC1JOHJBblhUUiJ9fSw2NjE1MChlKXtlLmV4cG9ydHM9e3NwaW5uZXJXcmFwOiJzcGlubmVyV3JhcC1aWnR1RklQcCJ9fSw1MDY4MzgoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLVVmREd5aDVLIn19LDE2NTQxMihlKXtlLmV4cG9ydHM9e2xhYmVsUm93OiJsYWJlbFJvdy1fdVhqU1NRNSIsdG9vbGJveDoidG9vbGJveC1fdVhqU1NRNSIsZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLV91WGpTU1E1IixkZXNjcmlwdGlvblRhYmxldFNtYWxsOiJkZXNjcmlwdGlvblRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtOiJpdGVtLV91WGpTU1E1Iix0aXRsZUl0ZW06InRpdGxlSXRlbS1fdVhqU1NRNSIscmVtb3ZlOiJyZW1vdmUtX3VYalNTUTUiLGFjdGl2ZToiYWN0aXZlLV91WGpTU1E1Iix0aXRsZUl0ZW1UYWJsZXRTbWFsbDoidGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUiLGl0ZW1UYWJsZXRTbWFsbDoiaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtTGFiZWxUYWJsZXRTbWFsbDoiaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTUiLHdyYXA6IndyYXAtX3VYalNTUTUiLGhvdmVyZWQ6ImhvdmVyZWQtX3VYalNTUTUifX0sMTc2NDMyKGUpe2UuZXhwb3J0cz17c3RhdGVUaXRsZToic3RhdGVUaXRsZS1ya3ZrRll6MiIsaGlkZGVuOiJoaWRkZW4tcmt2a0ZZejIiLGxvYWRlcjoibG9hZGVyLXJrdmtGWXoyIn19LDQ0NDU1MChlKXtlLmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLUpRWjBIS0Q0IixidXR0b246ImJ1dHRvbi1KUVowSEtENCIsdmFsdWU6InZhbHVlLUpRWjBIS0Q0IixhY3Rpb246ImFjdGlvbi1KUVowSEtENCIsaWNvbjoiaWNvbi1KUVowSEtENCJ9fSw1NDEyMTIoZSl7ZS5leHBvcnRzPXttZW51OiJtZW51LVR6ODRvUGVRIn19LDk5NTg1MShlKXtlLmV4cG9ydHM9e2Vtb2ppV3JhcDoiZW1vamlXcmFwLVIyQ1RwbUhyIixlbW9qaToiZW1vamktUjJDVHBtSHIiLHRvb2x0aXBFbW9qaToidG9vbHRpcEVtb2ppLVIyQ1RwbUhyIix0b29sdGlwRW1vamlXcmFwOiJ0b29sdGlwRW1vamlXcmFwLVIyQ1RwbUhyIn19LDg0NDg3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTZWN0aW9uTGlzdEl0ZW06KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkzNTUzNSksbz1uKDE0NzkwMSkscz1uKDM0NTExNik7ZnVuY3Rpb24gbChlKXtjb25zdHtpZDp0LHRpdGxlOm4sY2hpbGRyZW46bCxpdGVtUm9sZTpyLGFyaWFMYWJlbDpkLHJpZ2h0U2xvdDp1LHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZGF0YVFhSWQ6aCxvbkNsaWNrOnYsb25LZXlEb3duOm0saXNXcmFwcGVkOnAsLi4uZn09ZSxnPSgwLHMuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZiksYj0oMCxhLnVzZUlkKSgpLHc9KDAsYS51c2VJZCkoKSxDPXZvaWQgMCE9PW47cmV0dXJuIGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsQyYmYS5jcmVhdGVFbGVtZW50KGkuVGl0bGVMaXN0SXRlbSx7ZGF0YVFhSWQ6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi10aXRsZWAsaCksaWQ6dCx0aXRsZTpuLHJvbGU6cixyaWdodFNsb3Q6dSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpjLGFyaWFMYWJlbDpkLHZhcmlhbnQ6InNlY29uZGFyeSIsYXJpYUNvbnRyb2xzOnZvaWQgMCE9PXA/dzp2b2lkIDAsdGl0bGVJZDpiLHdyYXBwZWQ6cCxvbkNsaWNrOnYsb25LZXlEb3duOm0sLi4uZ30pLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsbGVkYnkiOmIsaWQ6dywiZGF0YS1xYS1pZCI6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi1jb250ZW50YCxoKX0sIXAmJmwpKX19LDQyMjc3NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbjooKT0+ZH0pO3ZhciBhPW4oOTg4MDY4KSxpPW4oNDQ1NDkzKSxvPW4oODA3ODczKSxzPW4oMjg0NjkwKTtjb25zdCBsPWBbJHthLkRBVEFfSVNfQ09OVEVYVF9BQ1RJT059XWAscj1vLkNPTlRFWFRfQUNUSU9OX0ZPQ1VTQUJMRV9UQUdTLm1hcCgoZT0+YCR7bH0gJHtlfWApKS5qb2luKCIsIiksZD0oKT0+e2NvbnN0e2lzUnRsOmV9PSgwLGkudXNlUG9wb3ZlckNvbnRleHQpKCk7cmV0dXJuKDAscy5nZXRMaW5lYXJLZXlib2FyZE5hdmlnYXRpb24pKHIrYCxbJHthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTn1dYCx7aG9yaXpvbnRhbDohMCxpc1J0bDplLGFsbG93TmVzdGVkRm9jdXNhYmxlOiEwfSl9fSw4MDc4NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1M6KCk9PmMsQ29udGV4dEFjdGlvbjooKT0+dn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oMjk2Nzg2KSxsPW4oOTg4MDY4KSxyPW4oODY0NzM2KSxkPW4ubihyKTtjb25zdCB1PXsKW2wuREFUQV9JU19DT05URVhUX0FDVElPTl06ITB9LGM9WyJhW2hyZWZdIiwiYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIiwiaW5wdXQ6bm90KDpkaXNhYmxlZCkiLCdbcm9sZT0iYnV0dG9uIl0nXSxoPWMuam9pbigiLCIpO2Z1bmN0aW9uIHYoZSl7Y29uc3R7Y2hpbGRyZW46dCxkYXRhUWFJZDpuLHByZXZlbnRDbGlja1Byb3BhZ2F0aW9uOmk9ITB9PWUse2lkOmwsaGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOnIsZm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpjLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6dn09KDAscy51c2VDb250ZXh0QWN0aW9uKSgpLG09KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGEudXNlRWZmZWN0KSgoKCk9Pntjb25zdCBlPW0uY3VycmVudDtpZighZSlyZXR1cm47Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoaCk7cmV0dXJuIHQ/ZnVuY3Rpb24oZSx0KXtjb25zdCBuPSgpPT57dCgoZT0+ZSsxKSl9LGE9KCk9Pnt0KChlPT5lLTEpKX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4pLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsYSksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixuKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGEpfX0odCx2KTp2b2lkIDB9KSxbdCx2XSksYS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Li4udSxpZDpsLHJlZjptLG9uQ2xpY2s6ZT0+e2kmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzTmFtZTpvKCkoZCgpLmNvbnRleHRBY3Rpb25zLHImJmQoKS5oaWRlSWZOb0hvdmVyLGM+MCYmZCgpLnNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZCksImRhdGEtcWEtaWQiOm59LHQpfX0sMjk2Nzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNvbnRleHRBY3Rpb246KCk9PnMsdXNlV3JhcHBlZEludG9Db250ZXh0QWN0aW9uc0NvbnRleHQ6KCk9Pm99KTt2YXIgYT1uKDc3OTQ3NCk7Y29uc3QgaT0oMCxhLmNyZWF0ZUNvbnRleHQpKHtzZXRJZHM6KCk9Pnt9LGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3ZlcjohMSxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOjAsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjooKT0+e319KTtmdW5jdGlvbiBvKGUsdCxuKXtjb25zdFtvLHNdPSgwLGEudXNlU3RhdGUpKDApLGw9KDAsYS51c2VNZW1vKSgoKCk9Pih7Zm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6cyxzZXRJZHM6dCxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6ISFufSkpLFtvLHMsdCxuXSk7cmV0dXJuKDAsYS51c2VNZW1vKSgoKCk9PmU/YS5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOmx9LGUpOnZvaWQgMCksW2UsbF0pfWZ1bmN0aW9uIHMoKXtjb25zdHtzZXRJZHM6ZSxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6dCxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm4sc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvfT0oMCxhLnVzZUNvbnRleHQpKGkpLHM9KDAsYS51c2VJZCkoKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT4oZSgoZT0+Wy4uLmUsc10pKSwoKT0+e2UoKGU9PmUuZmlsdGVyKChlPT5lIT09cykpKSl9KSksW2Usc10pLHtpZDpzLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp0LGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6bixzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm99fX0sMzkxOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25Qb3BvdmVySXRlbTooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDQ1NDkzKSxvPW4oODQ0ODcxKSxzPW4oOTg4MDY4KSxsPW4oNDIyNzc3KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOmQsd3JhcHBhYmxlOnUsZGVmYXVsdFdyYXBwZWQ6YyxvbldyYXBwZWRDaGFuZ2VkOmgsYXJpYUxhYmVsOnYscmlnaHRTbG90Om0scmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6cCxkYXRhUWFJZDpmfT1lLFtnLGJdPSgwLGEudXNlU3RhdGUpKGM/PyExKSx7b25LZXlEb3duOnd9PSgwLGwudXNlSG9yaXpvbnRhbE1lbnVLZXlib2FyZE5hdmlnYXRpb24pKCksQz1ufHx2b2lkIDAse29uUG9wb3ZlckNvbnRlbnRSZXNpemU6X309KDAsaS51c2VQb3BvdmVyQ29udGV4dCkoKTsoMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Xz8uKCl9KSxbXyxnXSk7Y29uc3QgeT0oMCxhLnVzZUNhbGxiYWNrKSgoKCk9PntiKChlPT57Y29uc3QgdD0hZTtyZXR1cm4gaD8uKHQpLHR9KSl9KSxbaF0pO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLGEuY3JlYXRlRWxlbWVudChvLlNlY3Rpb25MaXN0SXRlbSx7aWQ6dCx0aXRsZTpDLGNoaWxkcmVuOnIsaXRlbVJvbGU6ZCxhcmlhTGFiZWw6dixyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpwLGRhdGFRYUlkOmYsaXNXcmFwcGVkOnU/Zzp2b2lkIDAsb25DbGljazp1P3k6dm9pZCAwLG9uS2V5RG93bjp3LFtzLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06dXx8bT8idHJ1ZSI6dm9pZCAwfSkpfX0sOTIwNjMxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dEZXJpdmF0aXZlc0RpYWxvZzooKT0+aX0pO3ZhciBhPW4oODkwODM1KTtmdW5jdGlvbiBpKGUpe2EuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJkZXJpdmF0aXZlcyIsZSl9fSw5MTYxMjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R1ZHlQYWNrYWdlTmFtZTooKT0+b30pO3ZhciBhPW4oNzkxNDI3KSxpPW4oNjMyNDQ0KTtmdW5jdGlvbiBvKGUsdCl7aWYodD8uaXNDaGFydFBhdHRlcm4pcmV0dXJuInR2LWNoYXJ0X3BhdHRlcm5zIjtpZih0Py5pc0F1dG8pcmV0dXJuImF1dG8tc3RhbmRhcmQiO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4oMCxpLmlzUGluZUlkU3RyaW5nKShlKX0oZSkpcmV0dXJuIGEuU3R1ZHlNZXRhSW5mby5nZXRQYWNrYWdlTmFtZShlKTtjb25zdCBuPSgwLGkuZXh0cmFjdFBpbmVJZCkoZSk7aWYobiYmKDAsCmkuaXNDdXN0b21QaW5lSWQpKG4pKXJldHVybiJTY3JpcHQkVVNFUiI7aWYobiYmKDAsaS5pc1B1Ymxpc2hlZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRQVUIiO2lmKG4mJigwLGkuaXNDYW5kbGVTdGlja0lkKShuKSlyZXR1cm4iY2FuZGxlc3RpY2stcGF0dGVybnMiO2lmKG4mJigwLGkuaXNTdGFuZGFyZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRTVEQiO2NvbnN0W29dPWUuc3BsaXQoIkAiKTtpZihvLmluY2x1ZGVzKCJfIikpe2NvbnN0IGU9IlNjcmlwdCQiLFt0XT1vLnNwbGl0KCJfIik7cmV0dXJuIHQuaW5jbHVkZXMoZSk/dDplK3R9cmV0dXJuIG99fSw4NDE2NTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRGlhbG9nRm9vdGVyOigpPT5sfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big5MDQ0MzQpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHMuZm9vdGVyLHQpfSxuKX19LDMzMDcyMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRSZXN0cmljdGVkVG9vbFNldDooKT0+RWl9KTt2YXIgYT1uKDkzMDIzMSksaT1uKDc3OTQ3NCksbz1uKDIyMTg5Nikscz1uKDkxNDQ4NyksbD1uLm4ocykscj1uKDI3MzMxMCksZD1uKDczMjczMSksdT1uKDE4NTI3MSksYz1uKDIyNTI5OCksaD1uKDc5ODM4KSx2PW4oMjY3MDI4KSxtPW4oNzcxMjg1KSxwPW4oODY0NjgxKSxmPW4oMjQ2NzI3KTtjbGFzcyBnIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSxvbkNsaWNrQXJnOnR9PXRoaXMucHJvcHM7ZSYmZSh0KX19cmVuZGVyKCl7Y29uc3R7Y2xhc3NOYW1lOmUsaWNvbjp0LGhpbnQ6bix0ZXh0OmEsaXNEaXNhYmxlZDpvLGlzQWN0aXZlOnMsb25DbGljazpsLG9uQ2xpY2tBcmc6ciwuLi5kfT10aGlzLnByb3BzO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHsuLi5kLGljb246dCx0ZXh0OmEsdG9vbHRpcDpuLGlzRGlzYWJsZWQ6byxpc0FjdGl2ZTpzLGlzR3JvdXBlZDohMCxvbkNsaWNrOnRoaXMuX2hhbmRsZUNsaWNrLGNsYXNzTmFtZTplfSl9fXZhciBiPW4oNjE4NjcyKSx3PW4oNDA2MTEwKSxDPW4oNjA5NTI4KSxfPW4oMzkxNTA0KSx5PW4oNTY5NjUyKSxTPW4oNzAxNTA2KSx4PW4oMTI4OTk4KSxFPW4oODMzOTAzKSxNPW4oMjM1NzI0KSxrPW4oOTgzNjE2KSxJPW4oNjgyMzgxKTtmdW5jdGlvbiBUKGUpe2NvbnN0e29yaWVudGF0aW9uOnQsb25LZXlEb3duOm4sLi4uYX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5hLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLW9yaWVudGF0aW9uIjp0LG9uS2V5RG93bjooMCxFLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKChmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCEoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbj0oMCxNLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCJ2ZXJ0aWNhbCIhPT10JiYzOCE9PW4mJjQwIT09bilyZXR1cm47aWYoInZlcnRpY2FsIj09PXQmJjM3IT09biYmMzkhPT1uKXJldHVybjtjb25zdCBhPShpPWUuY3VycmVudFRhcmdldCxBcnJheS5mcm9tKGkucXVlcnlTZWxlY3RvckFsbCgnW3JvbGU9InJhZGlvIl06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxJLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShpKSkpLnNvcnQoay5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTt2YXIgaTtpZigwPT09YS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89YS5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO2lmKC0xPT09bylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9KCk9Pntjb25zdCBlPShvK2EubGVuZ3RoLTEpJWEubGVuZ3RoO2Fbb10uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKSxhW2VdLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpLGFbZV0uZm9jdXMoKX0sbD0oKT0+e2NvbnN0IGU9KG8rYS5sZW5ndGgrMSklYS5sZW5ndGg7YVtvXS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpLGFbZV0uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSksYVtlXS5mb2N1cygpfTtzd2l0Y2gobil7Y2FzZSAzODoidmVydGljYWwiIT09dCYmcygpO2JyZWFrO2Nhc2UgNDA6InZlcnRpY2FsIiE9PXQmJmwoKTticmVhaztjYXNlIDM3OiJ2ZXJ0aWNhbCI9PT10JiZzKCk7YnJlYWs7Y2FzZSAzOToidmVydGljYWwiPT09dCYmbCgpfX0pLG4pfSl9dmFyIEE9big4NTAxMDgpLEg9big2MTkxMDUpLFY9big2Mzg4NzIpLFI9bigzMTMxMTApLEY9big5Nzk3NDIpLEw9bigxMDMxNjApLFo9big1OTA0ODYpLE49bigyMzQ2MzYpLHo9big3MDM4MTQpLEI9big1NDA1OTUpO2Z1bmN0aW9uIE8oZSl7Y29uc3R7aWQ6dCxpY29uOm4sbmFtZTphLGlzQmV0YVN0eWxlOm8saXNOZXdTdHlsZTpzLGlzU2VsZWN0ZWQ6bCxpc0Rpc2FibGVkOnIsaXNGYXZvcml0ZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxvbkNsaWNrOmMsb25DbGlja0Zhdm9yaXRlOnYsLi4ubX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5jKHQpKSxbYyx0XSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi5tLHJvbGU6InJvdyIsYXJpYUxldmVsOjEsc2l6ZToibGFyZ2UiLGFyaWFTZWxlY3RlZDpsLHNlbGVjdGVkOmwsZGlzYWJsZWQ6cixhcmlhTGFiZWw6YSxvbkNsaWNrOmYsCmxlZnRTbG90Om4/aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpufSk6bnVsbCxyaWdodFNsb3Q6W3UmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWQscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFkLG9uQ2xpY2s6cH0pKV0sdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dT8yOjMsY2xhc3NOYW1lOkIubGFiZWx9LGEsbyYmaS5jcmVhdGVFbGVtZW50KFouQmFkZ2Use2NsYXNzTmFtZTpCLmJldGFCYWRnZSxzaXplOk4uQmFkZ2VTaXplLlhTbWFsbH0sIkJFVEEiKSxzJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksImRhdGEtdmFsdWUiOmguU1RZTEVfU0hPUlRfTkFNRVNbdF0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixkYXRhUWFJZDoiY2hhcnQtc3R5bGUtbWVudS1pdGVtIn0pfXZhciBEPW4oMjE2MDgzKTtjb25zdCBXPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBQKGUpe3JldHVybiFjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudmFsdWUoKT8uaW5jbHVkZXMoZSl9Y29uc3QgVT0iSVRFTVNfRElWSURFUiIsaj1bWzAsMSw5LDE5LDIxXSxbMiwxNCwxNV0sWzMsMTYsMTBdLFsxMywxMl0sWzE3LDE4LDIwXSxbOCw0LDcsNSw2LDExXV0sSz1uZXcgU2V0KFtdKSxRPW5ldyBTZXQoW10pO2NsYXNzIHEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUNoYW5nZVN0eWxlPWU9Pntjb25zdHtmYXZvcml0ZXM6dCxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTpuLGFjdGl2ZVN0eWxlOmF9PXRoaXMuc3RhdGU7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlU3R5bGU6ZSxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp0LmluY2x1ZGVzKGEpP246YX0pfSx0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZT1lPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dDtlIT09dC5hY3RpdmVDaGFydFN0eWxlLnZhbHVlKCkmJnQuc2V0Q2hhcnRTdHlsZVRvV2lkZ2V0KGUpfSx0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlPWU9Pnt0aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpP3RoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpOnRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlKGUpfSx0aGlzLl9ib3VuZEZvcmNlVXBkYXRlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9oYW5kbGVRdWlja0NsaWNrPWU9Pnt0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZShlKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOmF9PXQsaT1uLmFjdGl2ZUNoYXJ0U3R5bGUudmFsdWUoKSxzPWEuZ2V0KCksbD1uZXcgU2V0KCgwLFMuYWxsQ2hhcnRTdHlsZXMpKCkpO3RoaXMuc3RhdGU9e2FjdGl2ZVN0eWxlOmksZmF2b3JpdGVzOnMsc3R5bGVzOmoucmVkdWNlKCgoZSx0KT0+e2NvbnN0IG49dC5maWx0ZXIoKGU9PmwuaGFzKGUpKSk7cmV0dXJuIG4ubGVuZ3RoJiYoZS5sZW5ndGgmJm4udW5zaGlmdChVKSxlLnB1c2goLi4ubikpLGV9KSxbXSl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6dH09dGhpcy5jb250ZXh0O2UuYWN0aXZlQ2hhcnRTdHlsZS5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VTZXR0aW5ncyksYy5saW5raW5nLnN1cHBvcnRlZENoYXJ0U3R5bGVzLnN1YnNjcmliZSh0aGlzLl9ib3VuZEZvcmNlVXBkYXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnR9PXRoaXMuY29udGV4dDtlLmFjdGl2ZUNoYXJ0U3R5bGUudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZVNldHRpbmdzKSxjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudW5zdWJzY3JpYmUodGhpcy5fYm91bmRGb3JjZVVwZGF0ZSl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGRpc3BsYXlNb2RlOnQ9ImZ1bGwiLGlkOm99PXRoaXMucHJvcHMse2FjdGl2ZVN0eWxlOnMsZmF2b3JpdGVzOmQsc3R5bGVzOmMsbGFzdFNlbGVjdGVkTm90RmF2b3JpdGU6Zn09dGhpcy5zdGF0ZSxiPSJzbWFsbCIhPT10JiZlJiYwIT09ZC5sZW5ndGgsXz1bLi4uZF07Xy5pbmNsdWRlcyhzKT92b2lkIDAhPT1mJiZfLnB1c2goZik6Xy5wdXNoKHMpO2NvbnN0IHk9YiYmXy5sZW5ndGg+MTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHcuTWF0Y2hNZWRpYSx7cnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+e2NvbnN0IHQ9Yy5tYXAoKCh0LG4pPT50PT09VT90aGlzLl9yZW5kZXJEaXZpZGVyKGBzZXBhcmF0b3ItJHtufWApOnRoaXMuX3JlbmRlclBvcHVwTWVudUl0ZW0odCx0PT09cyxlKSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7aWQ6b30seSYmaS5jcmVhdGVFbGVtZW50KFQse29yaWVudGF0aW9uOiJob3Jpem9udGFsIixjbGFzc05hbWU6Qi5ncm91cH0sXy5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoZyx7cm9sZToicmFkaW8iLGNsYXNzTmFtZTpCLmJ1dHRvbixpY29uOnYuU0VSSUVTX0lDT05TW2VdLCJhcmlhLWNoZWNrZWQiOmImJnM9PT1lLGlzQWN0aXZlOmImJnM9PT1lLGlzRGlzYWJsZWQ6UChlKSxrZXk6dCxoaW50OigwLAp4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksb25DbGljazpiP3RoaXMuX2hhbmRsZVF1aWNrQ2xpY2s6dm9pZCAwLG9uQ2xpY2tBcmc6ZSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pKSkpLGkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHthcnJvdzpCb29sZWFuKHkpLGNvbnRlbnQ6eT92b2lkIDA6aS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtpY29uOnYuU0VSSUVTX0lDT05TW3NdfSkpLHRvb2x0aXA6eT91LnQobnVsbCx2b2lkIDAsbig4MzM5MzQpKTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkocyksY2xhc3NOYW1lOkIubWVudSxpc0RyYXdlcjplLG9uQ2xpY2s6dGhpcy5fdHJhY2tDbGljayxlbmFibGVTY3JvbGxDb21wZW5zYXRpb246KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpLG1lbnVSb2xlOiJ0cmVlZ3JpZCJ9LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmNvbnRhaW5lciwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkIubmV3VmlldywhZSYmQi5kZXNrdG9wKX0sdCkpKX0pKX1fcmVuZGVyRGl2aWRlcihlKXtyZXR1cm4oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/aS5jcmVhdGVFbGVtZW50KGQuRGl2aWRlckxpc3RJdGVtLHtrZXk6ZSxyb2xlOiJzZXBhcmF0b3IifSk6aS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtrZXk6ZX0pfV9yZW5kZXJQb3B1cE1lbnVJdGVtKGUsdCxuKXtjb25zdHtpc0Zhdm9yaXRpbmdBbGxvd2VkOm99PXRoaXMucHJvcHMscz10aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoTyx7a2V5OmBjaGFydC10eXBlLSR7ZX1gLGlkOmUsbmFtZTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0Rpc2FibGVkOlAoZSksaXNTZWxlY3RlZDp0LGlzRmF2b3JpdGU6cyxpc0JldGFTdHlsZTpRLmhhcyhlKSxpc05ld1N0eWxlOksuaGFzKGUpLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxvbkNsaWNrOnRoaXMuX2hhbmRsZVNlbGVjdFN0eWxlLG9uQ2xpY2tGYXZvcml0ZTp0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlLCJhcmlhLXNlbGVjdGVkIjp0fSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6YGNoYXJ0LXR5cGUtJHtlfWAscm9sZToicm93Iix0aGVtZTpuP18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0FjdGl2ZTp0LCJhcmlhLXNlbGVjdGVkIjp0LGlzRGlzYWJsZWQ6UChlKSxsYWJlbDppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpCLmxhYmVsfSwoMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSl8fCIiLFEuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoWi5CYWRnZSx7Y2xhc3NOYW1lOkIuYmV0YUJhZGdlLHNpemU6Ti5CYWRnZVNpemUuWFNtYWxsfSwiQkVUQSIpLEsuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZSxvbkNsaWNrQXJnOmUsc2hvd1Rvb2xib3hPbkhvdmVyOiFzLHNob3dUb29sYm94T25Gb2N1czohMCx0b29sYm94Om8mJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7aXNBY3RpdmU6dCxpc0ZpbGxlZDpzLG9uQ2xpY2s6KCk9PnRoaXMuX2hhbmRsZUNsaWNrRmF2b3JpdGUoZSl9KSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pfV9oYW5kbGVDaGFuZ2VTZXR0aW5ncyhlKXt0aGlzLnNldFN0YXRlKHtsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp2b2lkIDAsZmF2b3JpdGVzOmV9KX1faXNTdHlsZUZhdm9yaXRlZChlKXtyZXR1cm4tMSE9PXRoaXMuc3RhdGUuZmF2b3JpdGVzLmluZGV4T2YoZSl9X2hhbmRsZUFkZEZhdm9yaXRlKGUpe2NvbnN0e2Zhdm9yaXRlczp0fT10aGlzLnN0YXRlLHtmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTpufT10aGlzLmNvbnRleHQ7bi5zZXQoWy4uLnQsZV0pfV9oYW5kbGVSZW1vdmVGYXZvcml0ZShlKXtjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZSx7ZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6bn09dGhpcy5jb250ZXh0O24uc2V0KHQuZmlsdGVyKCh0PT50IT09ZSkpKX1fdHJhY2tDbGljaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY2hhcnQgc3R5bGUiKX19cS5jb250ZXh0VHlwZT1XO3ZhciAkPW4oMTg2MDk3KSxYPW4oMzg2OTMxKSxHPW4oODQ4OTg4KSxKPW4oNzY1Njk1KTtjb25zdCBZPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBlZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzQWN0aXZlOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwiY29tcGFyZSIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY29tcGFyZSIpLHRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8uc2hvdyh7c2hvdWxkUmV0dXJuRm9jdXM6KDAsRy5pc0tleWJvYXJkQ2xpY2spKGUpfSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWR9KSx0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMX0sCnRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fY29tcGFyZURpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc0FjdGl2ZTplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpKLGlzT3BlbmVkOmUsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjb2xsYXBzZVdoZW46WyJmdWxsIiwibWVkaXVtIiwic21hbGwiXSx0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2NvbXBhcmVfc3ltYm9sc190b29sdGlwIn0sbig4NzM4MjApKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KX19ZWUuY29udGV4dFR5cGU9WTt2YXIgdGU9big2ODg2MzIpLG5lPW4oMTM4NjM4KSxhZT1uKDE1MzczNCksaWU9big4NjExODgpLG9lPW4oMzQ1MTUxKSxzZT1uKDYwNTI1NyksbGU9big2ODU5NzkpLHJlPW4oNDEzNDEpLGRlPW4oNjMyNDQ0KTtjb25zdCB1ZT0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiRmF2b3JpdGVzSW5mbyIpO2Z1bmN0aW9uIGNlKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8iKTtjb25zdCB0PVtdLG49bmV3IE1hcCxhPW5ldyBNYXAsaT1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImphdmEiOmkuc2V0KGUuc3R1ZHlJZCxlKTticmVhaztjYXNlInBpbmUiOigwLGRlLmlzUHVibGlzaGVkUGluZUlkKShlLnBpbmVJZCk/bi5zZXQoZS5waW5lSWQsZSk6YS5zZXQoZS5waW5lSWQsZSk7YnJlYWs7ZGVmYXVsdDooMCxuZS5hc3NlcnQpKCExLGB1bmtub3duIGZhdm9yaXRlIHR5cGUgJHtKU09OLnN0cmluZ2lmeShlKX1gKX19KSksMCE9PWkuc2l6ZSYmdC5wdXNoKCgwLHNlLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRBbGxKYXZhU3R1ZGllcygpLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgZSkhbi5pc19oaWRkZW5fc3R1ZHkmJmkuaGFzKG4uaWQpJiZ0LnNldChuLmlkLHtuYW1lOm4uZGVzY3JpcHRpb24sbG9jYWxpemVkTmFtZTpuLmRlc2NyaXB0aW9uX2xvY2FsaXplZCxleHRyYTpuLmV4dHJhLHN0dWR5TWFya2V0U2hpdHR5T2JqZWN0Om59KTtyZXR1cm4gdH0pKS50aGVuKChlPT57Y29uc3QgdD1oZShpLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUuc3R1ZHlJZCkpO3VlLmxvZ1dhcm4oYENhbm5vdCBmaW5kIGphdmEgc2NyaXB0czogJHtKU09OLnN0cmluZ2lmeShlKX1gKX1yZXR1cm4gdC5pdGVtc30pKSksdC5wdXNoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGxlLmluZm8oZSkucHJvbWlzZSgpKS50aGVuKChlPT57aWYodm9pZCAwIT09ZSlmb3IoY29uc3QgbiBvZiBlKXQuc2V0KG4uc2NyaXB0SWRQYXJ0LHtuYW1lOm4uc2NyaXB0TmFtZSxhZ3JlZUNvdW50Om4uYWdyZWVDb3VudCxhdXRob3JVc2VybmFtZTpuLmF1dGhvci51c2VybmFtZSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDpufSk7cmV0dXJuIHR9KSl9KEFycmF5LmZyb20obi5rZXlzKCkpKS50aGVuKChlPT57Y29uc3QgdD1oZShuLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUucGluZUlkKSk7dWUubG9nV2FybihgQ2Fubm90IGZpbmQgcHViIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLHQucHVzaChmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57KGZ1bmN0aW9uKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO3JldHVybiBQcm9taXNlLnJlc29sdmUoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4oMCxkZS5pc1N0YW5kYXJkUGluZUlkKShlKXx8KDAsZGUuaXNDdXN0b21QaW5lSWQpKGUpKSl9KGUpKX0pKGUpLnRoZW4oKGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG4odCk7KDAscmUucmVxdWVzdEluZm9Gb3JTY3JpcHRzKShlKS50aGVuKChhPT57Y29uc3QgaT1uZXcgU2V0KGUpO2Zvcihjb25zdCBlIG9mIGEpaS5oYXMoZS5zY3JpcHRJZFBhcnQpJiZ0LnNldChlLnNjcmlwdElkUGFydCx7bmFtZTplLnNjcmlwdE5hbWUsZXh0cmE6ZS5leHRyYSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDplfSk7bih0KX0pKX0pKX0pKX0oQXJyYXkuZnJvbShhLmtleXMoKSkpLnRoZW4oKGU9Pntjb25zdCB0PWhlKGEsZSk7aWYoMCE9PXQubm90Rm91bmRJdGVtcy5sZW5ndGgpe2NvbnN0IGU9dC5ub3RGb3VuZEl0ZW1zLm1hcCgoZT0+ZS5waW5lSWQpKTt1ZS5sb2dXYXJuKGBDYW5ub3QgZmluZCBwaW5lIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLFByb21pc2UuYWxsKHQpLnRoZW4oKGU9Pih1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8gZmluaXNoZWQiKSxlLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSkpKSl9ZnVuY3Rpb24gaGUoZSx0KXtjb25zdCBuPXtpdGVtczpbXSxub3RGb3VuZEl0ZW1zOltdfTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IGk9dC5nZXQoYSk7dm9pZCAwIT09aT9uLml0ZW1zLnB1c2goe2l0ZW06ZSxpbmZvOml9KTpuLm5vdEZvdW5kSXRlbXMucHVzaChlKX0pKSxufQp2YXIgdmU9bigzNjgxMTApLG1lPW4oNjc4Mjg1KSxwZT1uKDE5OTE3MiksZmU9big2NDgwMDkpLGdlPW4oMTc5NzcxKSxiZT1uKDgwMDkxNCksd2U9big5MTYxMjEpLENlPW4oNjU1NTg0KSxfZT1uKDYyMTkyNik7ZnVuY3Rpb24geWUoZSx0LG4peyFmdW5jdGlvbihlLHQsbil7aWYoInR2LXZvbHVtZWJ5cHJpY2UiPT09ZSl7bGV0IGU9IlRWX1ZPTFVNRUJZUFJJQ0UiLGE9InZvbHVtZVByb2ZpbGUiO2NvbnN0W2ldPXQuc3BsaXQoIkAiKTtyZXR1cm5bIlRQT1BlcmlvZGljIiwiVFBPU2Vzc2lvbnMiXS5pbmNsdWRlcyhpKSYmKGU9IlRQT19QRVJJT0RJQyIsYT0iVFBPUGVyaW9kaWMiKSx2b2lkKDAsQ2UucnVuT3JHb1BybykobixlLHtmZWF0dXJlOmF9KX0idHYtY2hhcnRwYXR0ZXJucyIhPT1lPyJ0di1jaGFydF9wYXR0ZXJucyIhPT1lPygwLF9lLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKG4se3NvdXJjZToic3R1ZHktbWFya2V0LWFwcGx5LXN0dWR5IixmZWF0dXJlOiJpbmRpY2F0b3JzIn0pOigwLENlLnJ1bk9yR29Qcm8pKG4sIkNIQVJUX1BBVFRFUk5TIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KTooMCxDZS5ydW5PckdvUHJvKShuLCJUVl9QUk9TVFVESUVTIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KX0oKDAsd2UuZ2V0U3R1ZHlQYWNrYWdlTmFtZSkoZSx0KSxlLG4pfXZhciBTZT1uKDMxMzgyMikseGU9bigyNTYzMTQpO2Z1bmN0aW9uIEVlKGUpe2xldCB0PXUudChlLnNjcmlwdE5hbWV8fCIiLHtjb250ZXh0OiJzdHVkeSJ9LG4oODg0NjkzKSk7Y29uc3QgYT1lLmV4dHJhLmZpbmFuY2lhbFBlcmlvZDtyZXR1cm4gYSYmISgwLHhlLmlzTm9BZ2dyZWdhdGVkRmluYW5jaWFsUGVyaW9kKShhKSYmKHQrPWAgwrcgJHsoMCx4ZS5maW5hbmNpYWxQZXJpb2RUb1N0cmluZykoYSl9YCksdH1uKDExMzc4NCk7dmFyIE1lPW4oODQ2NzQ5KSxrZT1uKDg4OTgwOSk7Y29uc3QgSWU9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbIi8iXSx0ZXh0OiJ7MH0ifSksVGU9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEFlIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9wcm9taXNlPW51bGwsdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lcj1pLmNyZWF0ZVJlZigpLHRoaXMuX2Zhdm9yaXRlRnVuZGFtZW50YWxzTW9kZWw9U2UuRmF2b3JpdGVGdW5kYW1lbnRhbHMuZ2V0SW5zdGFuY2UoKSx0aGlzLl9zZXRBY3RpdmVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ZX0pfSx0aGlzLl9yZW5kZXJGYXZvcml0ZXNMaXN0T3JFbXB0eVN0YXRlPShlLHQsYSk9Pntjb25zdCBvPXRoaXMuX3JlbmRlckZhdm9yaXRlc0NvbnRlbnQoZSx0LGEpO2lmKCF0KXJldHVybiBvO2lmKG51bGw9PT1vKXJldHVybiBudWxsO2NvbnN0IHM9dS50KG51bGwse2NvbnRleHQ6ImluZGljYXRvcnNfbWVudSJ9LG4oNjI5Mzg0KSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChiZS5TZWN0aW9uTGlzdEl0ZW0se2tleToiZmF2b3JpdGUtaW5kaWNhdG9ycy1zZWN0aW9uIix0aXRsZTpzLGFyaWFMYWJlbDpzLGdyb3VwUm9sZToiZ3JvdXAifSxvKX0sdGhpcy5fcmVuZGVyRmF2b3JpdGVzQ29udGVudD0oZSx0LGEpPT57aWYoYSlyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGZlLlRvb2xXaWRnZXRNZW51U3Bpbm5lcixudWxsKTtpZih0aGlzLnN0YXRlLmluZm9zLmxlbmd0aD4wKXJldHVybiB0aGlzLnN0YXRlLmluZm9zLm1hcCgobj0+dGhpcy5fcmVuZGVyRmF2b3JpdGVJdGVtKG4sZSx0KSkpO2lmKG51bGwhPT10aGlzLl9wcm9taXNlKXtjb25zdCBlPXUudChudWxsLHtjb250ZXh0OiJpbmRpY2F0b3JzX21lbnUifSxuKDQzNDA3NikpO3JldHVybiB0P2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtkaXNhYmxlZDohMCx0aXRsZTplfSk6aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2lzRGlzYWJsZWQ6ITAsbGFiZWw6ZX0pfXJldHVybiBudWxsfSx0aGlzLl9yZW5kZXJGYXZvcml0ZUl0ZW09KGUsdCxuKT0+e2NvbnN0IGE9ImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxvPUhlKGUpLHM9aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmwoKSghdCYma2UubGFiZWwsdCYma2Uuc21hbGxXaWR0aExhYmVsLCJhcHBseS1vdmVyZmxvdy10b29sdGlwIil9LG8pO3JldHVybiBuP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtrZXk6YSxyb2xlOiJtZW51aXRlbSIsb25DbGljazooKT0+dGhpcy5faGFuZGxlU2VsZWN0SW5kaWNhdG9yKGUpLHRpdGxlOm8sYXJpYUxhYmVsOm8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohdH0pOmkuY3JlYXRlRWxlbWVudChBLkFjY2Vzc2libGVNZW51SXRlbSx7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZTpsKCkodCYma2Uuc21hbGxXaWR0aE1lbnVJdGVtKSx0aGVtZTp0P18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsa2V5OmEsb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RJbmRpY2F0b3Isb25DbGlja0FyZzplLGxhYmVsOnN9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e3N0dWR5TWFya2V0OnR9PXRoaXMucHJvcHM7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ITB9LCgoKT0+e3QudmlzaWJsZSgpLnZhbHVlKCk/dC5oaWRlKCk6dC5zaG93KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0pKSx0aGlzLl90cmFja0NsaWNrKCl9LHRoaXMuX2hhbmRsZVNlbGVjdEluZGljYXRvcj1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJGYXZvcml0ZSBpbmRpY2F0b3IgZnJvbSB0b29sYmFyIik7eWUoImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxlLmluZm8uZXh0cmEsKGFzeW5jKCk9PntlPSgwLG5lLmVuc3VyZURlZmluZWQpKGUpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQKO2lmKCJqYXZhIj09PWUuaXRlbS50eXBlKXtjb25zdCB0PSgwLHZlLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkoZS5pdGVtLnN0dWR5SWQpO2lmKG51bGwhPT10KXJldHVybiBhd2FpdCgwLHZlLmluaXRMaW5lVG9vbCkodCksdm9pZCBtZS50b29sLnNldFZhbHVlKHQpfXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5pbnNlcnRTdHVkeShlLml0ZW0sW10se2V2ZW50U291cmNlOiJ0b29sYmFyX2Zhdm9yaXRlcyJ9KX0pKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVJbmRpY2F0b3JzQ2hhbmdlPSgpPT57Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6ZX09dGhpcy5jb250ZXh0LHQ9Wy4uLigwLG5lLmVuc3VyZURlZmluZWQpKGUpLmZhdm9yaXRlcygpXTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZXM6dH0pLHRoaXMuX2NsZWFyQ2FjaGUoKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2U9KCk9Pntjb25zdCBlPW5ldyBTZXQodGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzKCl8fFtdKTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZUZ1bmRhbWVudGFsczplfSksdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVNb3VzZUVudGVyPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlV3JhcENsaWNrPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0PSgpPT57dGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9jbGVhckNhY2hlPSgpPT57dGhpcy5fcHJvbWlzZT1udWxsLHRoaXMuc2V0U3RhdGUoe2luZm9zOltdfSl9LHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQ9ZT0+e2NvbnN0e2Zhdm9yaXRlU2NyaXB0c01vZGVsOnR9PXRoaXMuY29udGV4dDt2b2lkIDAhPT10JiZ0LmlzRmF2KGUuc2NyaXB0SWRQYXJ0KSYmdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaz0oKT0+e3RoaXMuX3RyYWNrQ2xpY2soKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJTZWxlY3QgZmF2b3JpdGUgaW5kaWNhdG9ycyBkcm9wZG93biIpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2Zhdm9yaXRlU2NyaXB0c01vZGVsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6YX09dCxzPXZvaWQgMCE9PWE/YS5mYXZvcml0ZXMoKTpbXTt0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMSxpc0xvYWRpbmc6ITEsZmF2b3JpdGVzOnMsZmF2b3JpdGVGdW5kYW1lbnRhbHM6bmV3IFNldCh0aGlzLl9mYXZvcml0ZUZ1bmRhbWVudGFsc01vZGVsPy5mYXZvcml0ZXMoKSksaW5mb3M6W119fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zZXRBY3RpdmVTdGF0ZSksdm9pZCAwIT09dCYmKHQuZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlSW5kaWNhdG9yc0NoYW5nZSksbi5hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlRnVuZGFtZW50YWxzQ2hhbmdlKSxnZS5vbigiVFZTY3JpcHRSZW5hbWVkIix0aGlzLl9oYW5kbGVTY3JpcHRSZW5hbWVkLG51bGwpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3NldEFjdGl2ZVN0YXRlKSx2b2lkIDAhPT10JiYodC5mYXZvcml0ZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVGYXZvcml0ZUluZGljYXRvcnNDaGFuZ2UpLG4uYWN0aXZlQ2hhcnRXaWRnZXQudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2UpLGdlLnVuc3Vic2NyaWJlKCJUVlNjcmlwdFJlbmFtZWQiLHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQsbnVsbCksdGhpcy5fcHJvbWlzZT1udWxsfXJlbmRlcigpe2NvbnN0e2lzQWN0aXZlOmUsZmF2b3JpdGVzOnQsZmF2b3JpdGVGdW5kYW1lbnRhbHM6byxpc0xvYWRpbmc6c309dGhpcy5zdGF0ZSx7Y2xhc3NOYW1lOnIsZGlzcGxheU1vZGU6ZCxpZDpjfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aH09dGhpcy5jb250ZXh0LHY9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDpjLG9uTW91c2VFbnRlcjp0aGlzLl9oYW5kbGVNb3VzZUVudGVyLG9uQ2xpY2s6dGhpcy5faGFuZGxlV3JhcENsaWNrfSxpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2Rpc3BsYXlNb2RlOmQsY2xhc3NOYW1lOnIsaWNvbjpNZSxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGV4dDp1LnQobnVsbCx2b2lkIDAsbig4NDgzOTQpKSwiZGF0YS1yb2xlIjoiYnV0dG9uIiwiZGF0YS1uYW1lIjoib3Blbi1pbmRpY2F0b3JzLWRpYWxvZyIsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbigxNzQ0ODIpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6SWUsY29sbGFwc2VXaGVuOigwLAphLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9yc19pY29uX29ubHkiKT9bImZ1bGwiXTp2b2lkIDB9KSxCb29sZWFuKHQubGVuZ3RoPjB8fG8/LnNpemUpJiZpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOiIobWF4LXdpZHRoOiA0NDBweCkifSwoZT0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2tleTpoLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkuaWQoKSxhcnJvdzohMCxjbG9zZU9uQ2xpY2tPdXRzaWRlOiEwLGlzRHJhd2VyOmUsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIscmVmOnRoaXMuX21lbnUsbWVudVJlZmVyZW5jZTp0aGlzLl9tZW51SXRlbXNDb250YWluZXIsb25DbGljazp0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaywiZGF0YS1uYW1lIjoic2hvdy1mYXZvcml0ZS1pbmRpY2F0b3JzIix0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2Zhdm9yaXRlX2luZGljYXRvcnNfdG9vbHRpcCJ9LG4oMTMzOTcpKSxtZW51Um9sZToibWVudSIsbWVudUNsYXNzTmFtZTprZS5tZW51LGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjp2fSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoa2UuZHJvcGRvd24sZSYma2Uuc21hbGxXaWR0aFdyYXBwZXIsdiYma2UubmV3Vmlldyl9LCF2JiZpLmNyZWF0ZUVsZW1lbnQocGUuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LHtjbGFzc05hbWU6ZSYma2Uuc21hbGxXaWR0aFRpdGxlfSx1LnQobnVsbCx7Y29udGV4dDoiaW5kaWNhdG9yc19tZW51In0sbig2MjkzODQpKSksdGhpcy5fcmVuZGVyRmF2b3JpdGVzTGlzdE9yRW1wdHlTdGF0ZShlLHYscykpKSkpKSl9X3ByZWZldGNoRmF2b3JpdGVzKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtpZihudWxsIT09dGhpcy5fcHJvbWlzZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybjtpZighZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCkpcmV0dXJuO3RoaXMuc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pO2NvbnN0IHQ9dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscyxuPXRoaXMuX3Byb21pc2U9UHJvbWlzZS5hbGwoW2NlKHRoaXMuc3RhdGUuZmF2b3JpdGVzKSx0P1Byb21pc2UucmVzb2x2ZSgoMCxyZS5yZXF1ZXN0RnVuZGFtZW50YWxTY3JpcHRzKSgpKTp2b2lkIDBdKS50aGVuKChlPT57aWYobiE9PXRoaXMuX3Byb21pc2UpcmV0dXJuO2NvbnN0W3QsYV09ZTtsZXQgaT1bLi4udF07aWYoYSl7Y29uc3QgZT1hLmZpbHRlcigoZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscz8uaGFzKGUuc2NyaXB0SWRQYXJ0KSkpLm1hcCh0aGlzLl9tYXBGdW5kYW1lbnRhbFRvRmF2b3JpdGVJdGVtSW5mbyk7aS5wdXNoKC4uLmUpfWk9Wy4uLmldLnNvcnQoKChlLHQpPT5IZShlKS5sb2NhbGVDb21wYXJlKEhlKHQpKSkpLHRoaXMuc2V0U3RhdGUoe2luZm9zOmksaXNMb2FkaW5nOiExfSwoKCk9Pnt0aGlzLl9tZW51LmN1cnJlbnQ/LnVwZGF0ZSgpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lci5jdXJyZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQmJigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkodGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQpfSkpfSkpfV90cmFja0NsaWNrKCl7KDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJpbmRpY2F0b3JzIix2b2lkIDAsITApfV90cmFja0Zhdm9yaXRlQWN0aW9uKGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIixlKX1fbWFwRnVuZGFtZW50YWxUb0Zhdm9yaXRlSXRlbUluZm8oZSl7cmV0dXJue2l0ZW06e3R5cGU6InBpbmUiLHBpbmVJZDplLnNjcmlwdElkUGFydH0saW5mbzp7bmFtZTplLnNjcmlwdE5hbWUsbG9jYWxpemVkTmFtZTpFZShlKSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDp2b2lkIDB9fX19ZnVuY3Rpb24gSGUoZSl7cmV0dXJuIGUuaW5mby5sb2NhbGl6ZWROYW1lfHx1LnQoZS5pbmZvLm5hbWUse2NvbnRleHQ6InN0dWR5In0sbig4ODQ2OTMpKX1BZS5jb250ZXh0VHlwZT1UZTt2YXIgVmU9big0NjUxMzcpLFJlPW4oMjU0NjczKSxGZT1uKDI1MTcyMyk7ZnVuY3Rpb24gTGUoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShGZS52YWx1ZSx7W0ZlLnNlbGVjdGVkXTplLmlzU2VsZWN0ZWR9KX0sZS52YWx1ZSxlLm1ldHJpYyl9dmFyIFplPW4oOTQ4MzgwKSxOZT1uKDYzMjk5MiksemU9bigyNzYwMTkpLEJlPW4oMjY0MzE4KSxPZT1uKDE4MjMwOCk7ZnVuY3Rpb24gRGUoZSl7Y29uc3RbdCxuXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQmUuQ2xpY2thYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6dCx0YWJJbmRleDpufSl9dmFyIFdlPW4oNDYyNzA0KTtmdW5jdGlvbiBQZShlKXtjb25zdHtpbnRlcnZhbDp0LGhpbnQ6YSxhcmlhTGV2ZWw6byxpc1NlbGVjdGVkOnMsaXNEaXNhYmxlZDpsLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6Yyxpc1NpZ25hbGluZzpoLG9uQ2xpY2s6dixvbkNsaWNrUmVtb3ZlOm0sb25DbGlja0Zhdm9yaXRlOnAsc2Nyb2xsQ29udGFpbmVyUmVmOmZ9PWUsZz0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+bSh0LGUpKSxbbSx0XSksYj0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PnAodCkpLFtwLHRdKSx3PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLEM9My0oKGQ/MTowKSsoYz8xOjApKSxfPSgwLGkudXNlUmVmKShudWxsKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57aWYoaCl7Y29uc3QgZT1fLmN1cnJlbnQ7aWYoZSYmZi5jdXJyZW50KXtjb25zdCB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1mLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KG4udG9wPnQudG9wfHxuLmJvdHRvbTx0LmJvdHRvbSkmJmUuc2Nyb2xsSW50b1ZpZXcoKX19fSksW2gsZl0pLAppLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7cm9sZToicm93IixhcmlhTGV2ZWw6byxhcmlhU2VsZWN0ZWQ6cyxzZWxlY3RlZDpzLGRpc2FibGVkOmwsb25DbGljazp3LHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhYylyZXR1cm4gbnVsbDtyZXR1cm5bZCYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpnLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbnRlcnZhbHMgbWVudSBpdGVtIn0sbig0NDAyNTEpKSxpY29uOldlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pKSxjJiZpLmNyZWF0ZUVsZW1lbnQoTC5Db250ZXh0QWN0aW9uLHtrZXk6ImZhdm9yaXRlIixoaWRlSWZOb0hvdmVyOiFyLHJvbGU6ImdyaWRjZWxsIn0saS5jcmVhdGVFbGVtZW50KEYuRmF2b3JpdGVJY29uQnV0dG9uLHtpc0Zhdm9yaXRlOiEhcixvbkNsaWNrOmJ9KSldfSgpLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjpDfSxhKSxhcmlhTGFiZWw6YSwiZGF0YS12YWx1ZSI6dCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGxpc3RJdGVtUmVmOl8sZGF0YVFhSWQ6ImludGVydmFsLW1lbnUtaXRlbSJ9KX12YXIgVWU9big2ODk4OTQpLGplPW4oMzYzMjY5KSxLZT1uKDkxNzgxNyksUWU9big5NzM2OSk7ZnVuY3Rpb24gcWUoZSl7Y29uc3R7cm9sZTp0LGludGVydmFsOm4saGludDphLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxpc1NpZ25hbGluZzpjLG9uQ2xpY2s6aCxvbkNsaWNrUmVtb3ZlOnYsb25DbGlja0Zhdm9yaXRlOm0saXNTbWFsbFRhYmxldDpwLHNjcm9sbENvbnRhaW5lclJlZjpmLC4uLmd9PWUsW2Isd109KDAsVWUudXNlSG92ZXJEZXByZWNhdGVkKSgpLEM9aS51c2VDYWxsYmFjaygoZT0+dihuLGUpKSxbdixuXSkseT1pLnVzZUNhbGxiYWNrKCgoKT0+bShuKSksW20sbl0pLFM9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntpZihjKXtjb25zdCBlPVMuY3VycmVudDtpZihlJiZmLmN1cnJlbnQpe2NvbnN0IHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsobi50b3A+dC50b3B8fG4uYm90dG9tPHQuYm90dG9tKSYmZS5zY3JvbGxJbnRvVmlldygpfX19KSxbYyxmXSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi53LHJlZjpTfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0sey4uLmcscm9sZTp0LGNsYXNzTmFtZTpsKCkoUWUubWVudUl0ZW0scCYmUWUuc21hbGxXaWR0aE1lbnVJdGVtLGMmJlFlLnNpZ25hbCksdGhlbWU6cD9fLm11bHRpbGluZUxhYmVsV2l0aEljb25BbmRUb29sYm94VGhlbWU6dm9pZCAwLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLG9uQ2xpY2s6aCxvbkNsaWNrQXJnOm4sdG9vbGJveDpmdW5jdGlvbigpe2NvbnN0IGU9aS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixpc0FjdGl2ZTpvLGhpZGRlbjohamUudG91Y2gmJiFiLG9uQ2xpY2s6QyxjbGFzc05hbWU6UWUucmVtb3ZlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pLHQ9aS5jcmVhdGVFbGVtZW50KEguTWVudUZhdm9yaXRlQnV0dG9uLHtrZXk6ImZhdm9yaXRlIixpc0FjdGl2ZTpvLGlzRmlsbGVkOnIsb25DbGljazp5fSk7cmV0dXJuW2QmJmUsdSYmdF19KCksc2hvd1Rvb2xib3hPbkhvdmVyOiFyLHNob3dUb29sYm94T25Gb2N1czohMCxsYWJlbDphLGRhdGFRYUlkOiJpbnRlcnZhbC1tZW51LWl0ZW0ifSkpfXZhciAkZT1uKDM1OTg0NiksWGU9big3NjI4NTEpLEdlPW4oNzc4MDc3KSxKZT1uKDM2MzgwOCk7ZnVuY3Rpb24gWWUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsLi4ubn09ZSxbYSxvXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoR2UuQ29sbGFwc2libGVTZWN0aW9uLHsuLi5uLHJlZjphLHRhYkluZGV4Om8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixjbGFzc05hbWU6bCgpKEplLmFjY2Vzc2libGUsdCksb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsTS5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxhLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYS5jdXJyZW50LmNsaWNrKCkpfX0pfXZhciBldD1uKDcxOTkpO2Z1bmN0aW9uIHR0KGUpe2NvbnN0e2NoaWxkcmVuOnQsdGl0bGU6bixjbGFzc05hbWU6YX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZXQuc21hbGxUYWJsZXRTZWN0aW9uVGl0bGV9LG4pLHQpfXZhciBudD1uKDY1NzgwOSksYXQ9bigyNjYxMDApO2Z1bmN0aW9uIGl0KGUpe2NvbnN0e2ludGVydmFsczp0LGlzQ3VzdG9tSW50ZXJ2YWxzRW5hYmxlZDphLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxhY3RpdmVJbnRlcnZhbDpzLGxhc3RBZGRlZEludGVydmFsOnIsbWVudVZpZXdTdGF0ZTpjLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmgsc2Nyb2xsQ29udGFpbmVyUmVmOnYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6bSxvblNlbGVjdEludGVydmFsOnAsb25SZW1vdmVJbnRlcnZhbDpmLG9uQ2xpY2tGYXZvcml0ZTpnLG9uU2VjdGlvblN0YXRlQ2hhbmdlOncsaXNJbnRlcnZhbEZhdm9yaXRlOkMsaXNJbnRlcnZhbERlZmF1bHQ6Xyxpc1NtYWxsVGFibGV0Onksdmlld01vZGU6U309ZSx4PSgwLCRlLnNvcnRSZXNvbHV0aW9uc0J5Q2F0ZWdvcmllcykodCksRT1hPzE6MCxNPXgubGVuZ3RoK0U7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsZnVuY3Rpb24oKXtpZighYSlyZXR1cm5bXTtjb25zdCBlPXUudChudWxsLHsKY29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW50ZXJ2YWxzIG1lbnUgaXRlbSJ9LG4oNTcyMjM5KSk7aWYoImxlZ2FjeSI9PT1TKXJldHVybltpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IiwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsImFyaWEtbGV2ZWwiOjEsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtc2V0c2l6ZSI6TSxjbGFzc05hbWU6bCgpKG50LmFkZEN1c3RvbUludGVydmFsLCF5JiZudC5hZGRDdXN0b21JbnRlcnZhbERlc2t0b3ApLG9uQ2xpY2s6bSxsYWJlbDooMCxYZS5hcHBlbmRFbGxpcHNpcykoZSksaWNvbjphdCxkb250Q2xvc2VQb3B1cDohMCxkYXRhUWFJZDoiYWRkLWN1c3RvbS1pbnRlcnZhbC1idXR0b24ifSksaygiY3VzdG9tLWludGVydmFsLXNlcGFyYXRvciIpXTtyZXR1cm5baS5jcmVhdGVFbGVtZW50KFIuTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsYXJpYUxhYmVsOmUsYXJpYUxldmVsOjEsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LCgwLFhlLmFwcGVuZEVsbGlwc2lzKShlKSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzphdH0pLG9uQ2xpY2s6bSxkb250Q2xvc2VQb3B1cDohMCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJhZGQtY3VzdG9tLWludGVydmFsLWJ1dHRvbiJ9KSxrKCJjdXN0b20taW50ZXJ2YWwtZGl2aWRlciIpXX0oKSxmdW5jdGlvbigpe2NvbnN0IGU9MT09PXgubGVuZ3RoLHQ9eC5tYXAoKCh0LG4pPT5mdW5jdGlvbihlKXtjb25zdHtncm91cDp0LGlzU2luZ2xlOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPVtdLHU9bj8xOjIsbT10Lml0ZW1zLm1hcCgoKGUsbik9PmZ1bmN0aW9uKGUpe2NvbnN0e2ludGVydmFsOnQsYXJpYUxldmVsOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPXQ9PT1zO2lmKCJsZWdhY3kiPT09UylyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHFlLHtrZXk6dCxyb2xlOiJyb3ciLCJhcmlhLWxldmVsIjpuLCJhcmlhLXBvc2luc2V0IjphLCJhcmlhLXNldHNpemUiOmwsImFyaWEtc2VsZWN0ZWQiOmQsaXNTbWFsbFRhYmxldDp5LGludGVydmFsOnQsaGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzQWN0aXZlOmQsb25DbGljazpwLG9uQ2xpY2tSZW1vdmU6ZixvbkNsaWNrRmF2b3JpdGU6ZyxzY3JvbGxDb250YWluZXJSZWY6diwiZGF0YS12YWx1ZSI6dH0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoUGUse2tleTp0LGludGVydmFsOnQsYXJpYUxldmVsOm4saGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzU2VsZWN0ZWQ6ZCxvbkNsaWNrOnAsb25DbGlja1JlbW92ZTpmLG9uQ2xpY2tGYXZvcml0ZTpnLHNjcm9sbENvbnRhaW5lclJlZjp2fSl9KHtpbnRlcnZhbDplLGFyaWFMZXZlbDp1LGFyaWFQb3NJblNldDpuKzEsYXJpYVNldFNpemU6dC5pdGVtcy5sZW5ndGh9KSkpO2lmKG4pZC5wdXNoKC4uLm0pO2Vsc2UgaWYoImxlZ2FjeSI9PT1TJiZ5KWQucHVzaChpLmNyZWF0ZUVsZW1lbnQodHQse2tleTp0LmlkLHRpdGxlOnQubmFtZX0sbSkpO2Vsc2UgaWYoImxlZ2FjeSI9PT1TKXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107ZC5wdXNoKGkuY3JlYXRlRWxlbWVudChZZSx7a2V5OnQuaWQscm9sZToicm93IiwiYXJpYS1wb3NpbnNldCI6YSwiYXJpYS1zZXRzaXplIjpsLCJhcmlhLWxldmVsIjoxLGNsYXNzTmFtZTpudC5zZWN0aW9uLHN1bW1hcnk6dC5uYW1lLG9wZW46IWNbdC5pZF0sb25TdGF0ZUNoYW5nZTp3KHQuaWQpfSxtKSl9ZWxzZXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107Y29uc3QgZT10LmlkLG49IXksYT1jW2VdPz8hMSxvPW4/KCk9PncoZSkoYSk6dm9pZCAwO2QucHVzaChpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHtrZXk6ZSx0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sdC5uYW1lKSxhcmlhTGFiZWw6dC5uYW1lLGlzV3JhcHBlZDpuP2E6dm9pZCAwLG9uQ2xpY2s6bj9vOnZvaWQgMCxpdGVtUm9sZToicm93IiwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGdyb3VwUm9sZToicm93Z3JvdXAiLGFyaWFMZXZlbDoxfSxtKSl9KCF0Lm1heU9taXRTZXBhcmF0b3J8fHQuaXRlbXMubGVuZ3RoPjEpJiYoZC51bnNoaWZ0KGsoYGJlZ2luLSR7dC5uYW1lfWApKSxkLnB1c2goayhgZW5kLSR7dC5uYW1lfWApKSk7cmV0dXJuIGR9KHtncm91cDp0LGlzU2luZ2xlOmUsYXJpYVBvc0luU2V0Om4rMStFLGFyaWFTZXRTaXplOk19KSkpLG49W10uY29uY2F0KC4uLnQpO3JldHVybigwLCRlLmNvbGxhcHNlU2VwYXJhdG9ycykobil9KCkpO2Z1bmN0aW9uIGsoZSl7cmV0dXJuImxlZ2FjeSI9PT1TP2kuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KTppLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciIsa2V5OmV9KX19dmFyIG90PW4oNDUwMjcxKTtjb25zdCBzdD17dGltZUludGVydmFsOnUudChudWxsLHZvaWQgMCxuKDY5NDYzNykpfSxsdD0oMCxvZS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsiLCJdLHRleHQ6dS50KG51bGwsdm9pZCAwLG4oNTQ4NjkwKSl9KSxydD0oMCx5LnJlZ2lzdHJ5Q29udGV4dFR5cGUpKCksZHQ9bmV3IFplLkRlbGVnYXRlLHV0PWkubGF6eSgoYXN5bmMoKT0+KHsKZGVmYXVsdDooYXdhaXQgUHJvbWlzZS5hbGwoW24uZSg2NDM2MSksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg4NTc5KSxuLmUoMTAzODUpLG4uZSg1MjA2NSksbi5lKDY2MDUpLG4uZSg3NDM4MSksbi5lKDU3MzAwKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDI3MzM3KSxuLmUoNDkxNDkpLG4uZSgzOTYwOSksbi5lKDY4MzA0KSxuLmUoNTE2ODYpXSkudGhlbihuLmJpbmQobiwyNTAwMjUpKSkuVG9vbFdpZGdldEludGVydmFsc0FkZERpYWxvZ30pKSk7Y2xhc3MgY3QgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2RlZmF1bHRJbnRlcnZhbHM9W10sdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2RyYXdlckNvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2hhbmRsZUNoYW5nZUludGVydmFsPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSx7YWN0aXZlSW50ZXJ2YWw6dCxsYXN0Tm90UXVpY2tlZDpufT10aGlzLnN0YXRlLGE9dGhpcy5fZ2V0UXVpY2tzKCk7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlSW50ZXJ2YWw6KDAsVmUubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKGUpLGxhc3ROb3RRdWlja2VkOnZvaWQgMD09PXR8fGEuaW5jbHVkZXModCk/bjp0fSl9LHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zPWU9Pnt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZT0oKT0+e3RoaXMuZm9yY2VVcGRhdGUoKX0sdGhpcy5faXNJbnRlcnZhbERlZmF1bHQ9ZT0+dGhpcy5fZGVmYXVsdEludGVydmFscy5pbmNsdWRlcyhlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGU9ZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZXMuaW5jbHVkZXMoZSksdGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWw9KGUsdCxuKT0+e2NvbnN0IGE9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCk7dm9pZCAwPT09ZXx8UmUuSW50ZXJ2YWwuaXNFcXVhbChlLGEpfHxjLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IoZSxuPz8iSGVhZGVyIHRvb2xiYXIiKSxlJiYoMCxYLnRyYWNrRXZlbnQpKCJHVUkiLCJUaW1lIEludGVydmFsIixlKX0sdGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZT1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGUoZSk/dGhpcy5faGFuZGxlUmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5faGFuZGxlQWRkRmF2b3JpdGUoZSl9LHRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldChbLi4udCxlXSl9LHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldCh0LmZpbHRlcigodD0+dCE9PWUpKSl9LHRoaXMuX2hhbmRsZUFkZEludGVydmFsPShlLHQpPT57Y29uc3R7aW50ZXJ2YWxTZXJ2aWNlOm4saW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6YX09dGhpcy5jb250ZXh0LHttZW51Vmlld1N0YXRlOml9PXRoaXMuc3RhdGUsbz1uLmFkZChlLHQpO2lmKG8pe3RoaXMuc2V0U3RhdGUoe2xhc3RBZGRlZEludGVydmFsOm99KTtjb25zdCBlPVJlLkludGVydmFsLnBhcnNlRXh0KG8pO2lmKGUuaW50ZXJ2YWwuaXNNaW51dGVIb3VycygpKXJldHVybiB2b2lkIGEuc2V0KHsuLi5pLFtSZS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnNdOiExfSk7Y29uc3QgdD1lLmd1aVJlc29sdXRpb25LaW5kO2lmKHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5EYXlzfHx0PT09UmUuUmVzb2x1dGlvbktpbmQuV2Vla3N8fHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5Nb250aHMpcmV0dXJuIHZvaWQgYS5zZXQoey4uLmksW1JlLlJlc29sdXRpb25LaW5kLkRheXNdOiExfSk7YS5zZXQoey4uLmksW3RdOiExfSl9fSx0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbD0oZSx0KT0+e2NvbnN0e2ludGVydmFsU2VydmljZTpufT10aGlzLmNvbnRleHQsYT10aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYuY3VycmVudDtpZihlKXtpZih0JiYoMCxHLmlzS2V5Ym9hcmRDbGljaykodCkmJmEpe2NvbnN0IHQ9KDAsaWUucXVlcnlNZW51RWxlbWVudHMpKGEpLG49dC5maW5kSW5kZXgoKHQ9PnQubWF0Y2hlcyhgW2RhdGEtdmFsdWU9IiR7ZX0iXWApKSk7aWYoLTEhPT1uKXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoYSl9fW4ucmVtb3ZlKGUpLHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpfX0sdGhpcy5fZ2V0SGFuZGxlU2VjdGlvblN0YXRlQ2hhbmdlPWU9PnQ9Pntjb25zdHttZW51Vmlld1N0YXRlOm59PXRoaXMuc3RhdGUse2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmF9PXRoaXMuY29udGV4dDthLnNldCh7Li4ubixbZV06IXR9KX0sdGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMH0pfSx0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMX0pfSx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZT0oKT0+e2NvbnN0e2lzRmFrZTplfT10aGlzLnByb3BzLHtpc0FkZEludGVydmFsRGlhbG9nT3BlbmVkOnR9PXRoaXMuc3RhdGU7ZXx8dHx8ZHQuZmlyZSgpfSx0aGlzLl9oYW5kZVF1aWNrQ2xpY2s9ZT0+e3RoaXMuX2hhbmRsZVNlbGVjdEludGVydmFsKGUsdm9pZCAwLCJGYXZvcml0ZXMiKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7CmNoYXJ0QXBpSW5zdGFuY2U6by5hbnkuaXNSZXF1aXJlZCxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOm4saW50ZXJ2YWxTZXJ2aWNlOnMsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bH09dDt0aGlzLl9jdXN0b21JbnRlcnZhbHM9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIik7Y29uc3Qgcj1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxkPXImJigwLFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKShyKSx1PW4uZ2V0KCksaD1zLmdldEN1c3RvbUludGVydmFscygpLHY9bC5nZXQoKTt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5zdGF0ZT17YWN0aXZlSW50ZXJ2YWw6ZCxmYXZvcml0ZXM6dSxjdXN0b21zOmgsbWVudVZpZXdTdGF0ZTp2LGlzQWRkSW50ZXJ2YWxEaWFsb2dPcGVuZWQ6ITF9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOmUsaW50ZXJ2YWxTZXJ2aWNlOnQsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bn09dGhpcy5jb250ZXh0O2UuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKSx0LmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlQ2hhbmdlQ3VzdG9tcyksYy5saW5raW5nLmludGVydmFsLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcudGlja3Muc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2Uuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zKSxjLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2Zhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTplLGludGVydmFsU2VydmljZTp0LGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm59PXRoaXMuY29udGV4dDtlLmdldE9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZU1lbnVWaWV3U3RhdGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZUN1c3RvbXMpLGMubGlua2luZy5pbnRlcnZhbC51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnRpY2tzLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2UudW5zdWJzY3JpYmUodGhpcy5fYmluZGVkRm9yY2VVcGRhdGUpLGMubGlua2luZy5zdXBwb3J0ZWRSZXNvbHV0aW9ucy51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VTdXBwb3J0ZWRSZXNvbHV0aW9ucyksYy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2UpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwmJnNldFRpbWVvdXQoKCgpPT50aGlzLnNldFN0YXRlKHtsYXN0QWRkZWRJbnRlcnZhbDp2b2lkIDB9KSksMTYwMCl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGlkOnR9PXRoaXMucHJvcHMse2FjdGl2ZUludGVydmFsOm4sY3VzdG9tczpvLGxhc3ROb3RRdWlja2VkOnMsaXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDpyfT10aGlzLnN0YXRlLGQ9dGhpcy5fZ2V0UXVpY2tzKCksdT0oMCxWZS5zb3J0UmVzb2x1dGlvbnMpKFsuLi5kXSk7dm9pZCAwIT09biYmdS5pbmNsdWRlcyhuKT92b2lkIDAhPT1zJiZ1LnB1c2gocyk6dm9pZCAwIT09biYmdS5wdXNoKG4pO2NvbnN0IGM9KCEoIWV8fDA9PT1kLmxlbmd0aCl8fHZvaWQgMCkmJnUubGVuZ3RoPjEsaD17fSx2PSgwLFZlLm1lcmdlUmVzb2x1dGlvbnMpKHRoaXMuX2RlZmF1bHRJbnRlcnZhbHMsbyksZj12b2lkIDAhPT1uP3YuY29uY2F0KG4pOnY7KHZvaWQgMCE9PXM/Zi5jb25jYXQocyk6ZikuZmlsdGVyKFZlLmlzQXZhaWxhYmxlKS5mb3JFYWNoKChlPT5oW2VdPSEwKSk7Y29uc3QgYj12b2lkIDAhPT1uPygwLFZlLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKG4pOm51bGw7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0fSxjJiZpLmNyZWF0ZUVsZW1lbnQoVCx7Y2xhc3NOYW1lOm90Lmdyb3VwLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIn0sdS5tYXAoKChlLHQpPT57Y29uc3QgYT0oMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKShlKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGcse2tleTp0LHJvbGU6InJhZGlvIixjbGFzc05hbWU6b3QuYnV0dG9uLHRleHQ6aS5jcmVhdGVFbGVtZW50KExlLHsKdmFsdWU6YS5tYXlPbWl0TXVsdGlwbGllcj92b2lkIDA6YS5tdWx0aXBsaWVyLG1ldHJpYzphLnNob3J0S2luZH0pLGhpbnQ6YS5oaW50LCJhcmlhLWNoZWNrZWQiOm49PT1lLGlzQWN0aXZlOm49PT1lLGlzRGlzYWJsZWQ6IWhbZV0sb25DbGljazp0aGlzLl9oYW5kZVF1aWNrQ2xpY2ssb25DbGlja0FyZzplLCJkYXRhLXZhbHVlIjplfSl9KSkpLGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGU9PmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KE5lLkNsb3NlRGVsZWdhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpkdH0saS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2Fycm93OkJvb2xlYW4oYyksY2xvc2VPbkNsaWNrT3V0c2lkZTohcixjb250ZW50OmN8fG51bGw9PT1iP3ZvaWQgMDppLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7Y2xhc3NOYW1lOm90Lm1lbnVDb250ZW50fSxpLmNyZWF0ZUVsZW1lbnQoTGUse3ZhbHVlOmIubWF5T21pdE11bHRpcGxpZXI/dm9pZCAwOmIubXVsdGlwbGllcixtZXRyaWM6Yi5zaG9ydEtpbmR9KSksaG90S2V5OmM/bHQ6dm9pZCAwLGNsYXNzTmFtZTpvdC5tZW51QnRuLHJlZjp0aGlzLl9tZW51LGlzRHJhd2VyOmUsb25DbGljazp0aGlzLl90cmFja0NsaWNrLHRvb2x0aXA6Y3x8bnVsbD09PWI/c3QudGltZUludGVydmFsOmIuaGludCxtZW51UmVmZXJlbmNlOnRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZixtZW51Um9sZToidHJlZWdyaWQiLGRyYXdlclJlZmVyZW5jZTp0aGlzLl9kcmF3ZXJDb250YWluZXJSZWYsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG90LmRyb3Bkb3duLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSYmb3QubmV3VmlldywhZSYmb3QuZGVza3RvcCl9LGkuY3JlYXRlRWxlbWVudChpdCx7aW50ZXJ2YWxzOnYsaXNDdXN0b21JbnRlcnZhbHNFbmFibGVkOnRoaXMuX2N1c3RvbUludGVydmFscyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnRoaXMucHJvcHMuaXNGYXZvcml0aW5nQWxsb3dlZCxhY3RpdmVJbnRlcnZhbDp0aGlzLnN0YXRlLmFjdGl2ZUludGVydmFsLGxhc3RBZGRlZEludGVydmFsOnRoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwsbWVudVZpZXdTdGF0ZTp0aGlzLnN0YXRlLm1lbnVWaWV3U3RhdGUsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5jb250ZXh0LmludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLHNjcm9sbENvbnRhaW5lclJlZjplP3RoaXMuX2RyYXdlckNvbnRhaW5lclJlZjp0aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6dGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nLG9uU2VsZWN0SW50ZXJ2YWw6dGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWwsb25SZW1vdmVJbnRlcnZhbDp0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbCxvbkNsaWNrRmF2b3JpdGU6dGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZSxvblNlY3Rpb25TdGF0ZUNoYW5nZTp0aGlzLl9nZXRIYW5kbGVTZWN0aW9uU3RhdGVDaGFuZ2UsaXNJbnRlcnZhbEZhdm9yaXRlOnRoaXMuX2lzSW50ZXJ2YWxGYXZvcml0ZSxpc0ludGVydmFsRGVmYXVsdDp0aGlzLl9pc0ludGVydmFsRGVmYXVsdCxpc1NtYWxsVGFibGV0OmUsdmlld01vZGU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpPyJuZXciOiJsZWdhY3kifSkpKSksciYmaS5jcmVhdGVFbGVtZW50KGkuU3VzcGVuc2Use2ZhbGxiYWNrOm51bGx9LGkuY3JlYXRlRWxlbWVudCh1dCx7b25BZGQ6dGhpcy5faGFuZGxlQWRkSW50ZXJ2YWwsb25DbG9zZTp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLG9uVW5tb3VudDp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLGludGVydmFsU2VydmljZTp0aGlzLmNvbnRleHQuaW50ZXJ2YWxTZXJ2aWNlLGlzU21hbGxUYWJsZXQ6ZX0pKSkpKSl9X3VwZGF0ZURlZmF1bHRJbnRlcnZhbHMoKXt0aGlzLl9kZWZhdWx0SW50ZXJ2YWxzPXRoaXMuY29udGV4dC5jaGFydEFwaUluc3RhbmNlLmRlZmF1bHRSZXNvbHV0aW9ucygpLmZpbHRlcihWZS5pc0ludGVydmFsRW5hYmxlZCkubWFwKFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKX1faGFuZGxlQ2hhbmdlRmF2b3JpdGVzKGUpe3RoaXMuc2V0U3RhdGUoe2xhc3ROb3RRdWlja2VkOnZvaWQgMCxmYXZvcml0ZXM6ZX0pfV9oYW5kbGVDaGFuZ2VDdXN0b21zKGUpe3RoaXMuc2V0U3RhdGUoe2N1c3RvbXM6ZX0pfV9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe21lbnVWaWV3U3RhdGU6ZX0sKCgpPT57dGhpcy5fbWVudS5jdXJyZW50JiZ0aGlzLl9tZW51LmN1cnJlbnQudXBkYXRlKCl9KSl9X2dldFF1aWNrcyhlKXtyZXR1cm4gdGhpcy5wcm9wcy5pc1Nob3duUXVpY2tzJiYic21hbGwiIT09dGhpcy5wcm9wcy5kaXNwbGF5TW9kZT92b2lkIDA9PT1lP3RoaXMuc3RhdGUuZmF2b3JpdGVzOmU6W119X3RyYWNrQ2xpY2soKXsoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImludGVydmFsIil9fWN0LmNvbnRleHRUeXBlPXJ0O3ZhciBodD1uKDk2NzA1KSx2dD1uKDg1NTEwNyksbXQ9bigzNDY1NTEpO2NvbnN0IHB0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBmdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5faGFuZGxlQ2xpY2s9KCk9Pntjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZSx3aW5kb3dNZXNzYWdlU2VydmljZTp0LGlzRnVuZGFtZW50YWw6bn09dGhpcy5jb250ZXh0LGE9ZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpCjtjb25zdCBpPWZ1bmN0aW9uKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx0PUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUuaGFzaC5zbGljZSgxKSkpO3JldHVybiBkZWxldGUgdC5zaG93X3BvcHVwX2J1dHRvbixlLmhhc2g9YCMke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0KSl9YCxlLnRvU3RyaW5nKCl9KCk7YS53aXRoTW9kZWwobnVsbCwoKCk9Pnt0LnBvc3QocGFyZW50LCJvcGVuQ2hhcnRJblBvcHVwIix7c3ltYm9sOmEubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksaW50ZXJ2YWw6YS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpLGZ1bmRhbWVudGFsOm4sdXJsOml9KX0pKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtpc0Z1bmRhbWVudGFsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOm8uYW55LmlzUmVxdWlyZWR9KX1yZW5kZXIoKXtjb25zdHtjbGFzc05hbWU6ZX09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGh0LlRvb2xiYXJJY29uQnV0dG9uLHtjbGFzc05hbWU6bCgpKGUsdnQuYnV0dG9uKSxpY29uOm10LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3NTYwMDkpKX0pfX1mdC5jb250ZXh0VHlwZT1wdDt2YXIgZ3Q9big5NDY5NDIpO2NvbnN0IGJ0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyB3dCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzT3BlbmVkOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQsbj10LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJjaGFydCBwcm9wZXJ0aWVzIiksKDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJjaGFydCBzZXR0aW5ncyIpLG4uc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXModm9pZCAwLHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzT3BlbmVkOiExfSx0aGlzLl9wcm9wZXJ0aWVzRGlhbG9nUmVuZGVyZXI9dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fcHJvcGVydGllc0RpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Byb3BlcnRpZXNEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc09wZW5lZDplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpndCxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3MzA1ODYpKX0pfX13dC5jb250ZXh0VHlwZT1idDt2YXIgQ3Q9bigzMTg5NzQpLF90PW4oNzM3MTE2KSx5dD1uKDcyNzA5KSxTdD1uKDkwNjY4MykseHQ9big2NjY0NDEpO2NvbnN0IEV0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBNdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT1udWxsLHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9yZXF1ZXN0UmVjZW50TGF5b3V0cz0oKT0+e2lmKHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksIXRoaXMuc3RhdGUuaXNBdXRoZW50aWNhdGVkKXJldHVybjtjb25zdHtsb2FkQ2hhcnRTZXJ2aWNlOmV9PXRoaXMuY29udGV4dDt0aGlzLl9yZWNlbnRMYXlvdXRzQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5nZXRSZWNlbnRDaGFydHModGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlci5zaWduYWwpfSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHsuLi50LC4uLmV9KSkpfSx0aGlzLl9oYW5kbGVFeHBvcnREYXRhPSgpPT57e2NvbnN0IGU9dGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT0oMCxfdC5sb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGUpKCkudGhlbigodD0+e3RoaXMuX2V4cG9ydERpYWxvZ1Byb21pc2U9PT1lJiZ0LnNob3dDaGFydEV4cG9ydERpYWxvZ09yTm90aWZpY2F0aW9uKHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24sKCgpPT50aGlzLl90cmFja0V2ZW50KCJFeHBvcnQgY2hhcnQgZGF0YSIpKSl9KSl9fSx0aGlzLl9vblNhdmVEaWFsb2dWaXNpYmxlQ2hhbmdlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmVEaWFsb2dPcGVuZWQ6ZX0pfSx0aGlzLl9zeW5jU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoZSl9LHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcz1lPT57dGhpcy5zdGF0ZS53YXNDaGFuZ2VzIT09ZSYmdGhpcy5zZXRTdGF0ZSh7d2FzQ2hhbmdlczplfSl9LHRoaXMuX29uQ2hhbmdlQXV0b1NhdmVFbmFibGVkPWU9Pnt0aGlzLnNldFN0YXRlKHtpc0F1dG9TYXZlRW5hYmxlZDplfSl9LHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzU2hhcmluZ0VuYWJsZWQ6ZX0pfSx0aGlzLl9vbkNoYW5nZVRpdGxlPWU9Pnt0aGlzLnNldFN0YXRlKHt0aXRsZTplfSl9LHRoaXMuX29uQ2hhbmdlSWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lkOmV9KX0sdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkPSgpPT57dGhpcy5zZXRTdGF0ZSh7CmlzUHJvY2Vzc2luZzohMH0pfSx0aGlzLl9vbkNoYXJ0U2F2ZWQ9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc1Byb2Nlc3Npbmc6ITF9KX0sdGhpcy5faGFuZGxlQXV0b1NhdmVFbmFibGVkPWU9PnsoMCxYLnRyYWNrRXZlbnQpKCJBdXRvc2F2ZSIsZT8iT24iOiJPZmYiKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5zZXRBdXRvU2F2ZUVuYWJsZWQoZSl9LHRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkPWU9PntpZih0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZSl7Y29uc3QgdD1lPyJvbiI6Im9mZiI7KDAsWC50cmFja0V2ZW50KSgiR1VJIixgVHVybiBzaGFyaW5nIGNoYXJ0ICR7dH1gKSx0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZS5zZXRTaGFyaW5nRW5hYmxlZChlKX19LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydE9yU2hvd1RpdGxlRGlhbG9nKCksdGhpcy5fdHJhY2tFdmVudCgiU2F2ZSBjbGljayIpfSx0aGlzLl9oYW5kbGVPcGVuTWVudT0oKT0+e3RoaXMuX3JlcXVlc3RSZWNlbnRMYXlvdXRzKCl9LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZUZyb21NZW51PSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2Uuc2F2ZUNoYXJ0T3JTaG93VGl0bGVEaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJTYXZlIEZyb20gTWVudSIpfSx0aGlzLl9oYW5kbGVDbGlja0Nsb25lPSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY2xvbmVDaGFydCgpfSx0aGlzLl9oYW5kbGVDbGlja1NhdmVBcz0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydEFzKCksdGhpcy5fdHJhY2tFdmVudCgiTWFrZSBhIGNvcHkiKX0sdGhpcy5faGFuZGxlQ2xpY2tOZXc9KCk9Pnt3aW5kb3cucnVuT3JTaWduSW4oKCgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY3JlYXRlRW1wdHlDaGFydCgpfSkse3NvdXJjZToiY3JlYXRlX2VtcHR5X2NoYXJ0In0pLHRoaXMuX3RyYWNrRXZlbnQoIk5ldyBjaGFydCBsYXlvdXQiKX0sdGhpcy5faGFuZGxlQ2xpY2tMb2FkPSgpPT57dGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2Uuc2hvd0xvYWREaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJMb2FkIGNoYXJ0IGxheW91dCIpfSx0aGlzLl9oYW5kbGVIb3RrZXk9KCk9Pnt0aGlzLmNvbnRleHQubG9hZENoYXJ0U2VydmljZS5zaG93TG9hZERpYWxvZygpfSx0aGlzLl9oYW5kbGVDbGlja1JlbmFtZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnJlbmFtZUNoYXJ0KCksdGhpcy5fdHJhY2tFdmVudCgiUmVuYW1lIil9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsY2hhcnRDaGFuZ2VzV2F0Y2hlcjpvLmFueS5pc1JlcXVpcmVkLHNhdmVDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOigwLEN0LmlzU3ltcGhvbnlFbWJlZCkoKT9vLmFueTpvLmFueS5pc1JlcXVpcmVkLGxvYWRDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGNoYXJ0Q2hhbmdlc1dhdGNoZXI6YSxzYXZlQ2hhcnRTZXJ2aWNlOmksc2hhcmluZ0NoYXJ0U2VydmljZTpzLGxvYWRDaGFydFNlcnZpY2U6bH09dDt0aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGU9bC5zdGF0ZSgpLHRoaXMuc3RhdGU9e2lzQXV0aGVudGljYXRlZDp3aW5kb3cuaXNfYXV0aGVudGljYXRlZCxpc1Byb2Nlc3Npbmc6ITEsaWQ6bi5tZXRhSW5mby5pZC52YWx1ZSgpLHRpdGxlOm4ubWV0YUluZm8ubmFtZS52YWx1ZSgpLHdhc0NoYW5nZXM6YS5oYXNDaGFuZ2VzKCksaXNBdXRvU2F2ZUVuYWJsZWQ6aS5hdXRvU2F2ZUVuYWJsZWQoKS52YWx1ZSgpLGlzU2hhcmluZ0VuYWJsZWQ6ISFzJiZzLnNoYXJpbmdFbmFibGVkKCkudmFsdWUoKSxyZWNlbnRMYXlvdXRzOltdLGljb25Ib3ZlcmVkOiExLGlzU2F2ZURpYWxvZ09wZW5lZDohMSwuLi50aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXtjb25zdHtjaGFydFNhdmVyOmUsaXNGYWtlOnQsc3RhdGVTeW5jRW1pdHRlcjphfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aSxjaGFydENoYW5nZXNXYXRjaGVyOm8sc2F2ZUNoYXJ0U2VydmljZTpzLHNoYXJpbmdDaGFydFNlcnZpY2U6bCxsb2FkQ2hhcnRTZXJ2aWNlOnJ9PXRoaXMuY29udGV4dDt0P2Eub24oImNoYW5nZSIsdGhpcy5fc3luY1N0YXRlKTooby5nZXRPbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcykscy5hdXRvU2F2ZUVuYWJsZWQoKS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvU2F2ZUVuYWJsZWQpLGw/LnNoYXJpbmdFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQpLGkubWV0YUluZm8ubmFtZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksaS5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VJZCksdGhpcy5faG90a2V5cz0oMCx5dC5jcmVhdGVHcm91cCkoe2Rlc2M6IlNhdmUvTG9hZCJ9KSx0aGlzLl9ob3RrZXlzLmFkZCh7ZGVzYzp1LnQobnVsbCx2b2lkIDAsbigyNDI5MTMpKSxoYW5kbGVyOnRoaXMuX2hhbmRsZUhvdGtleSxob3RrZXk6MTkwfSksZS5jaGFydFNhdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNhdmVkKSxlLmNoYXJ0QWJvdXRUb0JlU2F2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0QWJvdXRUb0JlU2F2ZWQpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuZ2V0Q3JlYXRlQ29udHJvbGxlcigpLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25TYXZlRGlhbG9nVmlzaWJsZUNoYW5nZSksdGhpcy5fbG9hZENoYXJ0U2VydmljZVN0YXRlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSksCnh0LnNob3dGYXZvcml0ZUxheW91dHMmJnIucmVmcmVzaENoYXJ0TGlzdCgpKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnByb3BzLmlzRmFrZXx8dCE9PXRoaXMuc3RhdGUmJnRoaXMucHJvcHMuc3RhdGVTeW5jRW1pdHRlci5lbWl0KCJjaGFuZ2UiLHRoaXMuc3RhdGUpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRTYXZlcjplLGlzRmFrZTp0LHN0YXRlU3luY0VtaXR0ZXI6bn09dGhpcy5wcm9wcyx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmEsY2hhcnRDaGFuZ2VzV2F0Y2hlcjppLHNhdmVDaGFydFNlcnZpY2U6byxzaGFyaW5nQ2hhcnRTZXJ2aWNlOnN9PXRoaXMuY29udGV4dDt0P24ub2ZmKCJjaGFuZ2UiLHRoaXMuX3N5bmNTdGF0ZSk6KGkuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcyksby5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9TYXZlRW5hYmxlZCkscz8uc2hhcmluZ0VuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZVNoYXJpbmdFbmFibGVkKSxhLm1ldGFJbmZvLm5hbWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksYS5tZXRhSW5mby5pZC51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUlkKSwoMCxuZS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ob3RrZXlzKS5kZXN0cm95KCksZS5jaGFydFNhdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U2F2ZWQpLGUuY2hhcnRBYm91dFRvQmVTYXZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkKSx3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5nZXRDcmVhdGVDb250cm9sbGVyKCkudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2F2ZURpYWxvZ1Zpc2libGVDaGFuZ2UpLHRoaXMuX2xvYWRDaGFydFNlcnZpY2VTdGF0ZS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSkpfXJlbmRlcigpe2NvbnN0e2lzUmVhZE9ubHk6ZSxkaXNwbGF5TW9kZTp0LGlkOm4saXNGYWtlOm99PXRoaXMucHJvcHMse2lzUHJvY2Vzc2luZzpzLGlzQXV0aGVudGljYXRlZDpsLHRpdGxlOnIsaWQ6ZCx3YXNDaGFuZ2VzOnUsaXNBdXRvU2F2ZUVuYWJsZWQ6Yyxpc1NoYXJpbmdFbmFibGVkOmgsaXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAscmVjZW50czpmfT10aGlzLnN0YXRlLGc9e2Rpc3BsYXlNb2RlOnQsaXNSZWFkT25seTplLGlzQXV0aGVudGljYXRlZDpsLGlzUHJvY2Vzc2luZzpzLHdhc0NoYW5nZXM6dSx0aXRsZTpyLGlkOm4saXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAsY2hhcnRJZDpudWxsIT09ZD9kOnZvaWQgMCxkYXRhTmFtZVNhdmVNZW51Om8/dm9pZCAwOiJzYXZlLWxvYWQtbWVudSIsb25DbG9uZUNoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrQ2xvbmUsb25TYXZlQ2hhcnQ6dGhpcy5faGFuZGxlQ2xpY2tTYXZlLG9uU2F2ZUNoYXJ0RnJvbU1lbnU6dGhpcy5faGFuZGxlQ2xpY2tTYXZlRnJvbU1lbnUsb25SZW5hbWVDaGFydDp0aGlzLl9oYW5kbGVDbGlja1JlbmFtZSxvblNhdmVBc0NoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrU2F2ZUFzLG9uTG9hZENoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrTG9hZCxpc05ld1ZpZXc6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpfTtyZXR1cm4gZy5vbk5ld0NoYXJ0PXRoaXMuX2hhbmRsZUNsaWNrTmV3LGcub25FeHBvcnREYXRhPXRoaXMuX2hhbmRsZUV4cG9ydERhdGEsZy5vbkF1dG9TYXZlQ2hhbmdlZD10aGlzLl9oYW5kbGVBdXRvU2F2ZUVuYWJsZWQsZy5vblNoYXJpbmdDaGFuZ2VkPXRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkLGcuaXNBdXRvU2F2ZUVuYWJsZWQ9YyxnLmlzU2hhcmluZ0VuYWJsZWQ9aCxnLnJlY2VudEl0ZW1zPWYsZy5vbk9wZW5NZW51PXRoaXMuX2hhbmRsZU9wZW5NZW51LGcuYXV0b1NhdmVJZD1vP3ZvaWQgMDoiY2hhcnQtYXV0by1zYXZlIixpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChlPT5pLmNyZWF0ZUVsZW1lbnQoU3QuVG9vbFdpZGdldFNhdmVMb2FkVmlldyx7Li4uZyxpc1RhYmxldFNtYWxsOmV9KSkpfV9vbkxvZ2luU3RhdGVDaGFuZ2UoKXtjb25zdCBlPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3RoaXMuc2V0U3RhdGUoe2lzQXV0aGVudGljYXRlZDplfSkseHQuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2UucmVmcmVzaENoYXJ0TGlzdCgpfV90cmFja0V2ZW50KGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIk1hbmFnZSBjaGFydCBsYXlvdXQiLGUpfX1NdC5jb250ZXh0VHlwZT1FdDt2YXIga3Q9big2NTkzNjUpLEl0PW4oMzMyMzcxKSxUdD1uKDk5NTcxOSksQXQ9bigxMTczMTMpLEh0PW4oOTcxNjU5KTtmdW5jdGlvbiBWdChlKXtjb25zdFt0LG5dPSgwLGkudXNlU3RhdGUpKCExKSxhPSgwLEh0LnVzZUlzTW91bnRlZCkoKSxvPSgwLGkudXNlQ2FsbGJhY2spKChhc3luYygpPT57bighMCksYXdhaXQgZS5zZXJ2ZXJTbmFwc2hvdCgpLGEuY3VycmVudCYmbighMSl9KSxbZS5zZXJ2ZXJTbmFwc2hvdF0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgUnQ9big3OTU5ODYpLEZ0PW4oMTE3NzI5KSxMdD1uLm4oRnQpO2NvbnN0IFp0PSgwLGt0LmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKT9pLmNyZWF0ZUVsZW1lbnQoVnQsey4uLmUsaWNvbjpSdAp9KTppLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7dGFnOiJkaXYiLGlkOmUuaWQsY2xhc3NOYW1lOmUuY2xhc3NOYW1lLGljb246UnR9KSxkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic25hcHNob3QiKX0sdG9vbHRpcDplLnRvb2x0aXAsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSxtZW51Um9sZToidHJlZWdyaWQifSwoKHtpc0RyYXdlcjp0fSk9PmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSgoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkx0KCkubmV3VmlldywhdCYmTHQoKS5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KEl0LlRvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudCx7Li4uZX0pKSkpfSkpO3ZhciBOdD1uKDU1NzA2NSksenQ9bigzODcyMzEpLEJ0PW4oMjQzOTM4KSxPdD1uKDg0MTY1NSksRHQ9big2MTQzODApLFd0PW4oODUxNDU4KSxQdD1uKDQ0NDU1MCk7ZnVuY3Rpb24gVXQoZSl7Y29uc3R7aWQ6dCxjbGFzc05hbWU6bix0b29sdGlwOmEsdmFsdWU6byxvbkNsaWNrOnMsYWN0aW9uOmR9PWUsW3UsY109KDAsT2UudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxbaCx2XT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKGQucmVmZXJlbmNlPz9udWxsKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKFB0LmNvbnRhaW5lcixuKX0saS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtpZDp0LHJlZjp1LHRhYkluZGV4OmMsY2xhc3NOYW1lOmwoKShQdC5idXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGl0bGU6YSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLHMoZSl9fSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6UHQudmFsdWV9LG8pKSxpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse2lkOmQuaWQscmVmOmgsdGFiSW5kZXg6dixjbGFzc05hbWU6bCgpKFB0LmFjdGlvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSx0aXRsZTpkLnRvb2x0aXAsb25DbGljazpmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxkLm9uQ2xpY2soZSl9fSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6UHQuaWNvbixpY29uOmQuaWNvbn0pKSl9dmFyIGp0PW4oMzIwNTUpLEt0PW4oNjQzOTAzKSxRdD1uKDQ5MDIwNCkscXQ9big3ODQ1MTMpLCR0PW4oMjE0MzIpLFh0PW4oOTcxMTgzKSxHdD1uKDI3MzUwOSksSnQ9big2MTU1NDcpLFl0PW4oNDExOTkyKSxlbj1uKDE1OTUxMyksdG49bigyNTg0OSksbm49bigxNTY4MjkpO2NvbnN0IGFuPSgwLGkuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1mdW5jdGlvbihlKXtjb25zdHtzeW1ib2w6dCxwcm92aWRlckxhYmVsOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoe30pLHM9KDAsdG4udXNlRGlhbG9nQWN0aW9ucykoKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1uZXcgSnQuRGV0YWlsc0RhdGFQcm92aWRlcih7c3ltYm9sOnQscXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZTooMCxlbi5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoKSxsYWJlbDpufSk7cmV0dXJuIGUuc2V0SGFuZGxlcigoZnVuY3Rpb24odCl7aWYodCl7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBvKHt9KSx2b2lkIGUuZGVzdHJveSgpO2lmKHQuYm9uZHNDb21wbGV0ZSYmdC5jb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMmJnQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMubGVuZ3RoPjAmJigwLG5uLmlzWWllbGQpKHt0eXBlc3BlY3M6dC52YWx1ZXMucXVvdGVzLnR5cGVzcGVjc30pKTtvKCh0PT4oey4uLnQsaGFzWWllbGRDdXJ2ZTplfSkpKX1pZih0LmZ1dHVyZXNDb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuZnV0dXJlcyYmdC52YWx1ZXMuYWdncmVnYXRlZC5mdXR1cmVzLmxlbmd0aD4wKTtvKCh0PT4oey4uLnQsaGFzQ29udHJhY3RzOmUsaGFzRm9yd2FyZEN1cnZlOmV9KSkpfWlmKHQuY3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlKXtjb25zdCBlPUJvb2xlYW4odC52YWx1ZXMuYWdncmVnYXRlZC5jcnlwdG9fZGVyaXZhdGl2ZV9kYXRhJiYhMCk7bygodD0+KHsuLi50LGhhc0Rlcml2YXRpdmVzOmV9KSkpfWlmKHQuY29tcGxldGUpe2NvbnN0IGU9dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxsaXN0ZWRFeGNoYW5nZTplLmxpc3RlZF9leGNoYW5nZSx0eXBlOmUudHlwZSxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsaGFzRmluYW5jaWFsczooMCxZdC5oYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFncykoe2ZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5OmUuZmluYW5jaWFsc19hdmFpbGFiaWxpdHksZGl2aWRlbmRzX2F2YWlsYWJpbGl0eTplLmRpdmlkZW5kc19hdmFpbGFiaWxpdHksZWFybmluZ3NfYXZhaWxhYmlsaXR5OmUuZWFybmluZ3NfYXZhaWxhYmlsaXR5fSxlLnR5cGUsZS50eXBlc3BlY3MpfSkpKX1pZih0LmNvbXBsZXRlJiZ0LmNvbXBsZXRlU2NyZWVuZXIpe2NvbnN0IGU9dC52YWx1ZXMuc2NyZWVuZXI/LlsiUmVjb21tZW5kLkFsbCJdLG49dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxoYXNUZWNobmljYWxzOkJvb2xlYW4obnVsbCE9ZSYmbi5kZXNjcmlwdGlvbiYmbi5saXN0ZWRfZXhjaGFuZ2UmJm4udHlwZSl9KSkpfQp0LmZ1dHVyZXNDb21wbGV0ZSYmdC5ib25kc0NvbXBsZXRlJiZ0LmNyeXB0b0Rlcml2YXRpdmVDb21wbGV0ZSYmdC5jb21wbGV0ZSYmdC5jb21wbGV0ZVNjcmVlbmVyJiZlLmRlc3Ryb3koKX19KSksKCk9PntlLmRlc3Ryb3koKX19KSxbdF0pLHsuLi5hLC4uLnN9fSh7c3ltYm9sOmUuc3ltYm9sLHByb3ZpZGVyTGFiZWw6ZS5wcm92aWRlckxhYmVsfSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChHdC5Db250ZW50TWVudSx7Li4uZSxyZWY6dCxkYXRhOm59KX0pKTt2YXIgb249bigxMzk2NDIpLHNuPW4oNjA0OTEyKSxsbj1uKDk4ODQxNik7Y29uc3Qgcm49KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxsbiksZG49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpLHVuPSEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtjbGFzcyBjbiBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQ9ITEsdGhpcy5fb25Db250ZW50TWVudUNsb3NlPSgpPT57dGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQmJm51bGwhPT10aGlzLl9tZW51UmVmLmN1cnJlbnQmJnRoaXMuX21lbnVSZWYuY3VycmVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYuY3VycmVudD8uZm9jdXMoKSx0aGlzLnNldFN0YXRlKHtpc0NvbnRlbnRNZW51T3BlbmVkOiExfSl9LHRoaXMuX3RvZ2dsZUNvbnRlbnRNZW51PWU9Pntjb25zdCB0PSF0aGlzLnN0YXRlLmlzQ29udGVudE1lbnVPcGVuZWQ7dCYmKHRoaXMuX2lzQ29udGVudE1lbnVPcGVuZWRCeUtleWJvYXJkPSgwLEcuaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5zZXRTdGF0ZSh7aXNDb250ZW50TWVudU9wZW5lZDp0fSl9LHRoaXMuX29wZW5TeW1ib2xTZWFyY2hEaWFsb2c9YXN5bmMgZT0+e2lmKCgwLE0ubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PU0uTW9kaWZpZXJzLkFsdClyZXR1cm4gdm9pZCgwLE50LmdldENsaXBib2FyZCkoKS53cml0ZVRleHQodGhpcy5zdGF0ZS5zeW1ib2wpO2lmKHRoaXMuc3RhdGUuaXNTU09wZW5lZClyZXR1cm47Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dCxvPXQ/LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tb2RlbCgpLHM9bz8ubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxsPSJvcHRpb24iPT09cz8udHlwZTt0cnl7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJtYWluIHNlYXJjaCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic3ltYm9sIHNlYXJjaCIpO2xldCB0PXRoaXMuX2lzU3ByZWFkKHRoaXMuc3RhdGUuc3ltYm9sKT90aGlzLnN0YXRlLnN5bWJvbDp0aGlzLnN0YXRlLnNob3J0TmFtZTtpZigoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZsKXtjb25zdCBlPWF3YWl0KDAsUXQucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKHRoaXMuc3RhdGUuc3ltYm9sKTtlJiYodD17dHlwZToib3B0aW9uIix2YWx1ZTp0aGlzLnN0YXRlLnN5bWJvbCx1bmRlcmx5aW5nOmV9KX1hd2FpdChuZXcgRHQuU3ltYm9sU2VhcmNoVUkpLnNob3coe3RyYWNrUmVzdWx0c09wdGlvbnM6e3RyYWNrUmVzdWx0czohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksZW1wdHlTZWFyY2hUeXBlOiJlbXB0eV9yZXN1bHRfX3N1cGVyY2hhcnRzIn0sb25DbG9zZTooKT0+e3RoaXMuc2V0U3RhdGUoe2lzU1NPcGVuZWQ6ITF9KX0sb25PcGVuOigpPT57dGhpcy5zZXRTdGF0ZSh7aXNTU09wZW5lZDohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSksZGVmYXVsdFZhbHVlOnQsc2hvd1NwcmVhZEFjdGlvbnM6KDAsQnQuY2FuU2hvd1NwcmVhZEFjdGlvbnMpKCkmJnRoaXMucHJvcHMuaXNBY3Rpb25zVmlzaWJsZSxzb3VyY2U6InNlYXJjaEJhciIsZW5hYmxlT3B0aW9uc0NoYWluOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2VhcmNoVHlwZToic3VwZXJjaGFydHMiLGZvb3RlcjpqZS5tb2JpbGV0b3VjaD92b2lkIDA6aS5jcmVhdGVFbGVtZW50KE90LlN5bWJvbFNlYXJjaERpYWxvZ0Zvb3RlcixudWxsLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP3UudChudWxsLHZvaWQgMCxuKDM5MDE5OCkpOnUudChudWxsLHZvaWQgMCxuKDk2NzI1NykpKX0pfWNhdGNoKGUpe319LHRoaXMuX2lzU3ByZWFkPWU9Pntjb25zdCB0PSgwLFd0LnRva2VuaXplKShlKTtyZXR1cm4oMCxXdC5pc1NwcmVhZCkodCl9LHRoaXMuX29uU3ltYm9sSW5mb1Jlc29sdmVkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7dGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KX0sdGhpcy5fb25BY3R1YWxDb250ZW50Q2hhbmdlZD0oKT0+e3RoaXMuc2V0U3RhdGUoe2FjdHVhbENvbnRlbnRJZDpxdC5hY3R1YWxDb250ZW50LnZhbHVlKCl9KX0sdGhpcy5fb25TeW1ib2xDaGFuZ2VkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7ZT09PXRoaXMuc3RhdGUuc3ltYm9sP3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpobigpfSk6dGhpcy5fdXBkYXRlUXVvdGVzKGUpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17c3ltYm9sOmMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSxzaG9ydE5hbWU6aG4oKSxhY3R1YWxDb250ZW50SWQ6dW4/cXQuYWN0dWFsQ29udGVudC52YWx1ZSgpOm51bGwsaXNTU09wZW5lZDohMSxpc0NvbnRlbnRNZW51T3BlbmVkOiExfX1jb21wb25lbnREaWRNb3VudCgpewppZihjLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbENoYW5nZWQpLHVuJiZxdC5hY3R1YWxDb250ZW50LnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZSYmZS53aXRoTW9kZWwobnVsbCwoKCk9PntlLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQsITEpfSkpfUR0LlN5bWJvbFNlYXJjaFVJLnByZWxvYWQoKSx0aGlzLl91cGRhdGVRdW90ZXMoYy5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKGMubGlua2luZy5wcm9TeW1ib2wudW5zdWJzY3JpYmUodGhpcy5fb25TeW1ib2xDaGFuZ2VkKSx1biYmcXQuYWN0dWFsQ29udGVudC51bnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZT8uaGFzTW9kZWwoKSYmZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQpfX1yZW5kZXIoKXtjb25zdHtpZDplLGNsYXNzTmFtZTp0LGlzRmFrZTpvfT10aGlzLnByb3BzO2lmKCF1bilyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWQ6ZSxjbGFzc05hbWU6bCgpKHQsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSYmbG4udXBwZXJjYXNlLGxuLnNtYWxsTGVmdFBhZGRpbmcpLHRoZW1lOnJuLGljb246c24saXNPcGVuZWQ6dGhpcy5zdGF0ZS5pc1NTT3BlbmVkLHRleHQ6dGhpcy5zdGF0ZS5zaG9ydE5hbWUsb25DbGljazp0aGlzLl9vcGVuU3ltYm9sU2VhcmNoRGlhbG9nLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2gifSxuKDYwNDAxKSl9KTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246c309dGhpcy5jb250ZXh0LHI9cz8uYWN0aXZlQ2hhcnRXaWRnZXQsZD1yPy52YWx1ZSgpLm9wdGlvbnMoKS5zaG93RmluYW5jaWFsc0VuYWJsZWQ7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KFV0LHtpZDplLGNsYXNzTmFtZTpsKCkobG4uc2VhcmNoQnV0dG9uLHRoaXMuc3RhdGUuaXNDb250ZW50TWVudU9wZW5lZCYmbG4ubWVudU9wZW5lZCksdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNjA0MDEpKSxhY3Rpb246e2lkOm8/dm9pZCAwOiJoZWFkZXItdG9vbGJhci1zd2l0Y2gtZGF0YS10eXBlIixpY29uOnRoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkPyR0LkNPTlRFTlRfQlVUVE9OX0lDT05TW3RoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkXT8/b246b24sb25DbGljazp0aGlzLl90b2dnbGVDb250ZW50TWVudSxyZWZlcmVuY2U6dGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYsdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNDc1MDI4KSl9LG9uQ2xpY2s6dGhpcy5fb3BlblN5bWJvbFNlYXJjaERpYWxvZyx2YWx1ZTp0aGlzLnN0YXRlLnNob3J0TmFtZX0pLCFvJiZpLmNyZWF0ZUVsZW1lbnQoYW4se3N5bWJvbDp0aGlzLnN0YXRlLnN5bWJvbCxwcm92aWRlckxhYmVsOlh0LkxhYmVsUHJvZHVjdC5TeW1ib2xTZWFyY2hCdXR0b24sdHJhY2tpbmdEYXRhOntzb3VyY2U6ImNoYXJ0X3Rvb2xiYXIiLHByaW1hcnlfbWVudToiQ29udGVudE1lbnUifSxwbGFjZW1lbnRSdWxlczpbe2FuY2hvclBvaW50Ont4OjAseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG9mZnNldDp7eDoyLHk6NX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn1dLHNob3dGaW5hbmNpYWxzOmQsb25DbG9zZTp0aGlzLl9vbkNvbnRlbnRNZW51Q2xvc2UsYW5jaG9yZWQ6e3R5cGU6ImVsZW1lbnQiLGF0OnRoaXMuX2NvbnRlbnRNZW51QnV0dG9uUmVmfSxpc09wZW46dGhpcy5zdGF0ZS5pc0NvbnRlbnRNZW51T3BlbmVkLGFjdHVhbENvbnRlbnRJZDp0aGlzLnN0YXRlLmFjdHVhbENvbnRlbnRJZCxyZWY6dGhpcy5fbWVudVJlZixzaG93Q2hhcnQ6ITB9KSl9YXN5bmMgX3VwZGF0ZVF1b3RlcyhlKXtpZighZSlyZXR1cm47Y29uc3QgdD1hd2FpdCgwLGp0LnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QoZSxuZXcgU2V0KFsic2hvcnRfbmFtZSJdKSk7aWYoZT09PWMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSlpZigiZXJyb3IiPT09dC5zdGF0dXMpdGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KTtlbHNle2NvbnN0e3ZhbHVlczpufT10O3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpuLnNob3J0X25hbWV8fGhuKCl9KX19fWZ1bmN0aW9uIGhuKCl7Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7cmV0dXJuKDAsS3Quc2FmZVNob3J0TmFtZSkoZSl9Y24uY29udGV4dFR5cGU9ZG47dmFyIHZuPW4oOTcxNTQ1KSxtbj1uKDg4NzAxOCk7ZnVuY3Rpb24gcG4oZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShtbi5kZXNjcmlwdGlvbixlLmNsYXNzTmFtZSl9LGUuY2hpbGRyZW4pfXZhciBmbj1uKDUxMDU5OCksZ249bigxNjU0MTIpO2NvbnN0IGJuPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7bGFiZWxSb3c6Z24ubGFiZWxSb3csdG9vbGJveDpnbi50b29sYm94LGl0ZW06Z24udGl0bGVJdGVtfSksd249KDAsenQubWVyZ2VUaGVtZXMpKGFlLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHtsYWJlbFJvdzpnbi5sYWJlbFJvdyx0b29sYm94OmduLnRvb2xib3gsCml0ZW06Z24udGl0bGVJdGVtVGFibGV0U21hbGx9KSxDbj0oMCx6dC5tZXJnZVRoZW1lcykoYWUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse2l0ZW06Z24uaXRlbX0pLF9uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7aXRlbTpnbi5pdGVtVGFibGV0U21hbGx9KTtmdW5jdGlvbiB5bihlKXtjb25zdHtyb2xlOnQsY2xhc3NOYW1lOm4saXRlbTphLGRlc2NyaXB0aW9uOm8sZmF2b3JpdGU6cyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnIsaXNUYWJsZXRTbWFsbDpkLG9uQXBwbHk6dSxvblJlbW92ZTpjLG9uRmF2b3I6aCxpc0FjdGl2ZTp2LGRlc2NyaXB0aW9uRGF0YU5hbWU6bSwuLi5wfT1lLGY9cCxbZyxiXT0oMCxVZS51c2VIb3ZlckRlcHJlY2F0ZWQpKCksdz1kP3duOmJuLEM9ZD9fbjpDbixfPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dShhKSksW3UsYV0pLHk9KDAsaS51c2VDYWxsYmFjaykoKGU9PmMoYSxlKSksW2MsYV0pLFM9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aCYmaChhKX0pLFtoLGFdKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5iLC4uLmYsY2xhc3NOYW1lOmwoKShuLGduLndyYXApfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6dCx0aGVtZTp3LGxhYmVsOmkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OmEubmFtZX0pLGxhYmVsUm93Q2xhc3NOYW1lOmwoKShkJiZnbi5pdGVtTGFiZWxUYWJsZXRTbWFsbCksc2hvd1Rvb2xib3hPbkhvdmVyOiFzJiYhZyxzaG93VG9vbGJveE9uRm9jdXM6ITAsb25DbGljazpfLGlzQWN0aXZlOnYsdG9vbGJveDppLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLCFhLmlzRGVmYXVsdCYmaS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixoaWRkZW46IWplLnRvdWNoJiYhZyxvbkNsaWNrOnksY2xhc3NOYW1lOmwoKShnbi5yZW1vdmUsdiYmZ24uYWN0aXZlKX0pLEJvb2xlYW4oaCkmJnImJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7a2V5OiJmYXZvcml0ZSIsaXNGaWxsZWQ6Qm9vbGVhbihzKSxvbkNsaWNrOlN9KSl9KSxvJiZpLmNyZWF0ZUVsZW1lbnQoYWUuUG9wdXBNZW51SXRlbSx7dGhlbWU6QyxsYWJlbDppLmNyZWF0ZUVsZW1lbnQocG4se2NsYXNzTmFtZTpsKCkoZ24uZGVzY3JpcHRpb24sZCYmZ24uZGVzY3JpcHRpb25UYWJsZXRTbWFsbCl9LG8pLG9uQ2xpY2s6Xyxpc0FjdGl2ZTp2LCJkYXRhLW5hbWUiOm19KSl9dmFyIFNuPW4oODI0NTkwKTtmdW5jdGlvbiB4bihlKXtjb25zdHtpdGVtOnQsb25GYXZvcjpvLG9uQXBwbHk6cyxvblJlbW92ZTpsLGlzUmVtb3ZhYmxlOnIsaXNGYXZvcmFibGU6ZCxpc0Zhdm9yaXRlOmMsaXNUYWJsZXRTbWFsbDpoLC4uLnZ9PWUsbT10Lm1ldGFfaW5mbyxwPW0/KDAsU24uZ2V0U3R1ZHlUZW1wbGF0ZURlc2NTdHJpbmcpKG0uaW5kaWNhdG9ycyk6dm9pZCAwLGY9KHI/MTowKSsoZD8xOjApLGc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5vPy4odCkpLFtvLHRdKSxiPSgwLGkudXNlQ2FsbGJhY2spKChlPT5sPy4odCxlKSksW2wsdF0pLHc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5zKHQpKSxbcyx0XSk7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi52LHJvbGU6InJvdyIsb25DbGljazp3LGFyaWFMZXZlbDoyLHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhcilyZXR1cm4gbnVsbDtyZXR1cm5bciYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpiLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGVzIG1lbnUgaXRlbSJ9LG4oMzkzMjczKSksaWNvbjpXZSxkYXRhUWFJZDoicmVtb3ZlLWluZGljYXRvci10ZW1wbGF0ZS1idXR0b24ifSkpLGQmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWMscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFjLG9uQ2xpY2s6Z30pKV19KCksYXJpYUxhYmVsOnQubmFtZSxkZXNjcmlwdGlvbjpwLGVsbGlwc2lzOiExLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjozLWZ9LGkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOnQubmFtZX0pOmkuY3JlYXRlRWxlbWVudCh5bix7Li4uZSxyb2xlOiJyb3ciLGlzRmF2b3JpdGluZ0FsbG93ZWQ6ZCxmYXZvcml0ZTpjLGRlc2NyaXB0aW9uOnAsaXRlbTp7Li4udCxpc0RlZmF1bHQ6dC5pc19kZWZhdWx0fSwiZGF0YS1uYW1lIjp0Lm5hbWUsImRhdGEtaWQiOnQuaWR9KX12YXIgRW49big3NzE5ODMpO2NvbnN0IE1uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSxFbik7ZnVuY3Rpb24ga24oZSl7Y29uc3R7b25DbGljazp0LGlzVGFibGV0U21hbGw6bixjbGFzc05hbWU6byxpY29uOnMsdGl0bGU6ZCwuLi51fT1lO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7Li4udSxyb2xlOiJyb3ciLG9uQ2xpY2s6KCk9PnQoKSxsZWZ0U2xvdDpzP2kuY3JlYXRlRWxlbWVudChWLlN2Z0ljb25MaXN0SXRlbVBhcnQse2ljb25Tdmc6c30pOm51bGwsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LGQpLGFyaWFMYWJlbDpkLGFyaWFMZXZlbDoxLAoiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJpbmRpY2F0b3JzLWFjdGlvbi1tZW51LWl0ZW0ifSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHsuLi51LHJvbGU6InJvdyIsdGhlbWU6TW4sY2xhc3NOYW1lOmwoKShvLEVuLndyYXApLGxhYmVsOmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkVuLnRpdGxlV3JhcH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEVuLnRpdGxlLG4mJkVuLnRpdGxlVGFibGV0U21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6RW4uaWNvbixpY29uOnN9KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpFbi50ZXh0fSxkKSkpLG9uQ2xpY2s6dH0pfXZhciBJbj1uKDM0MjI2MSksVG49big2ODEyMjQpO2NvbnN0IEFuPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgSG49big5OTU1NDkpLFZuPW4oNzYxOTcxKSxSbj1uKDc4Mzc4MSk7ZnVuY3Rpb24gRm4oZSl7Y29uc3R7dGVtcGxhdGVzOnQscmVjZW50czpvLG9uVGVtcGxhdGVTYXZlOnMsb25UZW1wbGF0ZVJlbW92ZTpyLG9uVGVtcGxhdGVTZWxlY3Q6ZCxvblRlbXBsYXRlRmF2b3JpdGU6Yyxpc1RhYmxldFNtYWxsOmgsaXNMb2FkaW5nOnYsb25PcGVuVGVtcGxhdGVzRGlhbG9nOm19PWUscD0oMCxpLnVzZU1lbW8pKCgoKT0+dC5maWx0ZXIoKGU9PmUuaXNfZGVmYXVsdCkpKSxbdF0pLGY9KDAsaS51c2VNZW1vKSgoKCk9PnQuZmlsdGVyKChlPT4hZS5pc19kZWZhdWx0KSkpLFt0XSksZz0oMCxpLnVzZUNvbnRleHQpKEFuKSxiPSgwLGkudXNlQ29udGV4dCkoVG4uTWVudUNvbnRleHQpLHc9KDAsSW4udXNlRm9yY2VVcGRhdGUpKCk7KDAsaS51c2VFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT1nKXtjb25zdCBlPXt9O3JldHVybiBnLmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKGUsKCgpPT57dygpLGImJmIudXBkYXRlKCl9KSksKCk9PmcuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZUFsbChlKX1yZXR1cm4oKT0+e319KSxbXSk7Y29uc3QgQz0oZSx0KT0+aS5jcmVhdGVFbGVtZW50KHhuLHtrZXk6ZS5uYW1lLGl0ZW06ZSxpc0Zhdm9yYWJsZTpCb29sZWFuKGMpLGlzUmVtb3ZhYmxlOiFlLmlzX2RlZmF1bHQsaXNGYXZvcml0ZTpudWxsIT09ZS5mYXZvcml0ZV9kYXRlLG9uQXBwbHk6ZT0+ZChlLGZ1bmN0aW9uKGUpe2lmKCJyZWNlbnQiPT09ZSlyZXR1cm4idGVtcGxhdGVzX3JlY2VudCI7cmV0dXJufSh0KSksb25GYXZvcjpjLG9uUmVtb3ZlOnIsaXNUYWJsZXRTbWFsbDpoLCJkYXRhLWdyb3VwLW5hbWUiOnQsImRhdGEtaXMtZGVmYXVsdCI6ZS5pc19kZWZhdWx0fSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToidHJlZWdyaWQiLGNsYXNzTmFtZTpsKCkoUm4ubWVudSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJlJuLm5ld1ZpZXcsaCYmUm4ubWVudVNtYWxsVGFibGV0LCFoJiZSbi5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOnMsaXNUYWJsZXRTbWFsbDpoLGljb246SG4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2luZGljYXRvcnNfYWN0aW9uX21lbnUifSxuKDI0NDA4MCkpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSx2JiZpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChMbixudWxsKSxpLmNyZWF0ZUVsZW1lbnQoZmUuVG9vbFdpZGdldE1lbnVTcGlubmVyLG51bGwpKSwhdiYmKCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoem4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6QyxzdGF0ZTpoP3ZvaWQgMDpnfSk6aD9pLmNyZWF0ZUVsZW1lbnQoWm4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6Q30pOmkuY3JlYXRlRWxlbWVudChObix7ZGVmYXVsdHM6cCxjdXN0b21zOmYscmVjZW50czpvLHJlbmRlcjpDLHN0YXRlOmd9KSksaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoTG4sbnVsbCksaS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOm0saXNUYWJsZXRTbWFsbDpoLGljb246Vm4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHZvaWQgMCxuKDgwNjYzNikpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSkpfWZ1bmN0aW9uIExuKCl7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChkLkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIn0pOmkuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcixudWxsKX1mdW5jdGlvbiBabihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGx9LHUudChudWxsLHZvaWQgMCxuKDM1ODI5MSkpKSxvLm1hcCgoZT0+cyhlLCJyZWNlbnQiKSkpKSl9ZnVuY3Rpb24gTm4oZSl7Y29uc3R7ZGVmYXVsdHM6dCxjdXN0b21zOmEscmVjZW50czpvLHJlbmRlcjpzLHN0YXRlOmx9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyCn0sdS50KG51bGwsdm9pZCAwLG4oMzU4MjkxKSkpLG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKX1mdW5jdGlvbiB6bihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnMsc3RhdGU6bH09ZSxyPShhLmxlbmd0aD4wJiZ0Lmxlbmd0aCx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNTE4MjQ5KSkpO3UudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGUgc2VjdGlvbiBpdGVtIn0sbigzMjU5MTApKSx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNDI3NDQyKSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciJ9KSxpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHt0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sciksYXJpYUxhYmVsOnIsZ3JvdXBSb2xlOiJyb3dncm91cCIsYXJpYUxldmVsOjF9LG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKSl9dmFyIEJuPW4oMjMyMzY0KSxPbj1uKDQzMDgxNCk7Y2xhc3MgRG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pc0Zhdm9yaXRlRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJpdGVtc19mYXZvcml0aW5nIiksdGhpcy5oYW5kbGVGYXZvclRlbXBsYXRlPWU9PntpZighdGhpcy5faXNGYXZvcml0ZUVuYWJsZWQpcmV0dXJuO2NvbnN0e2lkOnQsaXNfZGVmYXVsdDpuLGZhdm9yaXRlX2RhdGU6YX09ZTtudWxsIT09YT90aGlzLl9yZW1vdmVGYXZvcml0ZVRlbXBsYXRlKHQsbik6dGhpcy5fYWRkRmF2b3JpdGVUZW1wbGF0ZSh0LG4pfSx0aGlzLmhhbmRsZURyb3Bkb3duT3Blbj0oKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYodGhpcy5fc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pLHRoaXMuX3N0dWR5VGVtcGxhdGVzLmludmFsaWRhdGUoKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKCgpPT50aGlzLl9zZXRTdGF0ZSh7aXNMb2FkaW5nOiExfSkpKSl9LHRoaXMuaGFuZGxlQXBwbHlUZW1wbGF0ZT0oZSx0KT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLmFwcGx5VGVtcGxhdGUoZS5uYW1lLHQpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZSYmdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlLmFkZChlLmlkKX0sdGhpcy5oYW5kbGVSZW1vdmVUZW1wbGF0ZT0oZSx0LG4pPT57dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZGVsZXRlU3R1ZHlUZW1wbGF0ZShlLm5hbWUsdCxuKX0sdGhpcy5oYW5kbGVTYXZlVGVtcGxhdGU9ZT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLnNob3dTYXZlQXNEaWFsb2coZSl9LHRoaXMuX3N0dWR5VGVtcGxhdGVzPWUsdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPXQ7Y29uc3Qgbj10aGlzLl9yZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U/LmdldCgpfHxbXSxpPXRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKTt0aGlzLl9zdGF0ZT1uZXcgQm4uV2F0Y2hlZFZhbHVlKHtpc0xvYWRpbmc6ITEsc3R1ZHlUZW1wbGF0ZXNMaXN0OmkscmVjZW50czpufSksdGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZT8uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZWNlbnRzQ2hhbmdlKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKX1kZXN0cm95KCl7dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVRlbXBsYXRlc0NoYW5nZSksdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXRPbkNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlUmVjZW50c0NoYW5nZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGUucmVhZG9ubHkoKX1nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9Pm51bGwhPT1lLmZhdm9yaXRlX2RhdGUpKS5zb3J0KCgoZSx0KT0+bnVsbCE9PWUuZmF2b3JpdGVfZGF0ZSYmbnVsbCE9PXQuZmF2b3JpdGVfZGF0ZSYmZS5mYXZvcml0ZV9kYXRlPnQuZmF2b3JpdGVfZGF0ZT8xOi0xKSl9Z2V0VmFsaWRSZWNlbnRzKGUpe2NvbnN0IHQ9ZS5yZWR1Y2UoKChlLHQpPT4oZVt0LmlkXT10LGUpKSx7fSk7cmV0dXJuIHRoaXMuX3N0YXRlLnZhbHVlKCkucmVjZW50cy5tYXAoKGU9PnRbZV0pKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKX1fc2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUuc2V0VmFsdWUoey4uLnRoaXMuX3N0YXRlLnZhbHVlKCksLi4uZX0pfV9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UoKXt0aGlzLl9zZXRTdGF0ZSh7c3R1ZHlUZW1wbGF0ZXNMaXN0OnRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKX0pfV9oYW5kbGVSZWNlbnRzQ2hhbmdlKCl7dGhpcy5fc2V0U3RhdGUoe3JlY2VudHM6dGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXQoKXx8W119KX1fcmVtb3ZlRmF2b3JpdGVUZW1wbGF0ZShlLHQpe2NvbnN0IG49dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxudWxsLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZuKGUsITEpfV9hZGRGYXZvcml0ZVRlbXBsYXRlKGUsdCl7CmNvbnN0IG49dGhpcy5nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyh0aGlzLl9zdGF0ZS52YWx1ZSgpLnN0dWR5VGVtcGxhdGVzTGlzdCksYT1uLmxlbmd0aD9uW24ubGVuZ3RoLTFdLmZhdm9yaXRlX2RhdGU6MCxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkP0RhdGUubm93KCk6YSsxLG89dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxpLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZvKGUsITApfV9yZXBsYWNlT2xkRmF2b3JpdGVTdHVkeVRlbXBsYXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuX3N0YXRlLnZhbHVlKCkuc3R1ZHlUZW1wbGF0ZXNMaXN0Lm1hcCgoYT0+YS5pZD09PWUmJmEuaXNfZGVmYXVsdD09PW4/ey4uLmEsZmF2b3JpdGVfZGF0ZTp0fTphKSk7dGhpcy5fc2V0U3RhdGUoe3N0dWR5VGVtcGxhdGVzTGlzdDphfSl9fXZhciBXbj1uKDYyNzA0NSk7dmFyIFBuPW4oMTU5ODc3KSxVbj1uKDI1NzY5MSk7Y29uc3Qgam49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEtuIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7Li4uZSxpc0FjdGl2ZTp0aGlzLnN0YXRlLmlzQWN0aXZlfSl9LHRoaXMuX2hhbmRsZUFwcGx5VGVtcGxhdGU9KGUsdCk9Pnt0aGlzLl9oYW5kbGVDbG9zZSgpLHRoaXMuX21vZGVsLmhhbmRsZUFwcGx5VGVtcGxhdGUoZSx0KX0sdGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGU9KGUsdCxuKT0+e3RoaXMuX2hhbmRsZUNsb3NlKCksdGhpcy5fbW9kZWwuaGFuZGxlUmVtb3ZlVGVtcGxhdGUoZSx0LG4pfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuX2hhbmRsZVRvZ2dsZURyb3Bkb3duKCExKX0sdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd249ZT0+e2NvbnN0e2lzQWN0aXZlOnR9PXRoaXMuc3RhdGUsbj0iYm9vbGVhbiI9PXR5cGVvZiBlP2U6IXQ7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6bn0pfSx0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nPSgpPT57KGFzeW5jIGZ1bmN0aW9uKGUpeyhhd2FpdCBQcm9taXNlLmFsbChbbi5lKDUxMzE0KSxuLmUoMjkyOTYpLG4uZSg1MjM5Niksbi5lKDYwMDYyKSxuLmUoMjAzNTQpLG4uZSgxMzQ5Miksbi5lKDM3NzQ2KSxuLmUoODM0ODgpLG4uZSg5NTA0KSxuLmUoNzI2NjYpLG4uZSg5ODA4NCksbi5lKDEwMzg1KSxuLmUoNTIwNjUpLG4uZSg0NzYzMiksbi5lKDY2MDUpLG4uZSg5MTg1NSksbi5lKDMyMTc2KSxuLmUoNDI3MjEpLG4uZSg0NzIwMSksbi5lKDkxNjcwKSxuLmUoNTUzOSksbi5lKDIzNzIpLG4uZSgzOTYwOSksbi5lKDQyMjg4KSxuLmUoOTMyNzcpLG4uZSgyOTc2NSldKS50aGVuKG4uYmluZChuLDMzMDM2OSkpKS5JbmRpY2F0b3JUZW1wbGF0ZXNEaWFsb2dSZW5kZXJlci5nZXRJbnN0YW5jZSgpLnNob3coe21vZGVsOmV9KX0pKHRoaXMuX21vZGVsKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtzdHVkeVRlbXBsYXRlczpvLmFueS5pc1JlcXVpcmVkLHRlbXBsYXRlc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm8uYW55LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpvLmFueX0pO2NvbnN0e3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTphLHN0dWR5VGVtcGxhdGVzOml9PXQ7dGhpcy5fbW9kZWw9bmV3IERuKGksYSksdGhpcy5zdGF0ZT17Li4udGhpcy5fbW9kZWwuc3RhdGUoKS52YWx1ZSgpLGlzQWN0aXZlOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX21vZGVsLmRlc3Ryb3koKX1yZW5kZXIoKXtjb25zdHtzdHVkeVRlbXBsYXRlc0xpc3Q6ZX09dGhpcy5zdGF0ZSx7aXNTaG93blF1aWNrczp0LGNsYXNzTmFtZTpuLGRpc3BsYXlNb2RlOmEsaWQ6b309dGhpcy5wcm9wcyxzPXRoaXMuX21vZGVsLmdldFNvcnRlZEZhdm9yaXRlc1N0dWR5VGVtcGxhdGVzKGUpLGw9dGhpcy5fbW9kZWwuZ2V0VmFsaWRSZWNlbnRzKGUpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQW4uUHJvdmlkZXIse3ZhbHVlOnRoaXMuY29udGV4dC50ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZXx8bnVsbH0saS5jcmVhdGVFbGVtZW50KFFuLHtpZDpvLGNsYXNzTmFtZTpuLG1vZGU6YSx0ZW1wbGF0ZXM6ZSxmYXZvcml0ZXM6cyxyZWNlbnRzOmwsb25NZW51T3Blbjp0aGlzLl9tb2RlbC5oYW5kbGVEcm9wZG93bk9wZW4sb25UZW1wbGF0ZUZhdm9yaXRlOnQ/dGhpcy5fbW9kZWwuaGFuZGxlRmF2b3JUZW1wbGF0ZTp2b2lkIDAsb25UZW1wbGF0ZVNlbGVjdDp0aGlzLl9oYW5kbGVBcHBseVRlbXBsYXRlLG9uVGVtcGxhdGVSZW1vdmU6dGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGUsb25UZW1wbGF0ZVNhdmU6dGhpcy5fbW9kZWwuaGFuZGxlU2F2ZVRlbXBsYXRlLG9uT3BlblRlbXBsYXRlc0RpYWxvZzp0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nfSkpfX1mdW5jdGlvbiBRbihlKXtjb25zdHtpZDp0LGNsYXNzTmFtZTpvLG1vZGU6cyx0ZW1wbGF0ZXM6cixmYXZvcml0ZXM6ZCxyZWNlbnRzOmMsaXNNZW51T3BlbjpoLG9uVGVtcGxhdGVTZWxlY3Q6dixvblRlbXBsYXRlU2F2ZTpmLG9uVGVtcGxhdGVGYXZvcml0ZTpnLG9uVGVtcGxhdGVSZW1vdmU6Yixvbk9wZW5UZW1wbGF0ZXNEaWFsb2c6X309ZSx5PSgwLGkudXNlUmVmKShudWxsKSxTPSgwLGkudXNlUmVmKShudWxsKSx4PWwoKShvLFVuLndyYXAse1tVbi5mdWxsXToiZnVsbCI9PT1zLFtVbi5tZWRpdW1dOiJtZWRpdW0iPT09c30pLEU9InNtYWxsIiE9PXMmJmcmJmQubGVuZ3RoPjA7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0LGNsYXNzTmFtZTp4fSxpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHsKcnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwodD0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se3JlZjp5LG1lbnVSZWZlcmVuY2U6Uyxvbk9wZW46ZS5vbk1lbnVPcGVuLGlzRHJhd2VyOnQsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsYXJyb3c6ITEsY29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHt0YWc6ImRpdiIsY2xhc3NOYW1lOmwoKShFJiZVbi5idXR0b25XaXRoRmF2b3JpdGVzKSxkaXNwbGF5TW9kZTpzLGlzT3BlbmVkOmgsaWNvbjpQbixmb3JjZUludGVyYWN0aXZlOiEwLGNvbGxhcHNlV2hlbjpbImZ1bGwiLCJtZWRpdW0iLCJzbWFsbCJdfSksb25DbGljazprLHRvb2x0aXA6dS50KG51bGwsdm9pZCAwLG4oNjE2OSkpLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIiksbWVudURhdGFOYW1lOiJpbmRpY2F0b3ItdGVtcGxhdGVzLW1lbnUifSxpLmNyZWF0ZUVsZW1lbnQoRm4se29uVGVtcGxhdGVTYXZlOmYsb25UZW1wbGF0ZVNlbGVjdDp2LG9uVGVtcGxhdGVSZW1vdmU6TSxvblRlbXBsYXRlRmF2b3JpdGU6Zyx0ZW1wbGF0ZXM6cixyZWNlbnRzOmMsaXNUYWJsZXRTbWFsbDp0LG9uT3BlblRlbXBsYXRlc0RpYWxvZzpffSkpKSksRSYmaS5jcmVhdGVFbGVtZW50KHFuLHtmYXZvcml0ZXM6ZCxvblRlbXBsYXRlU2VsZWN0OmZ1bmN0aW9uKGUpe3YoZSwidGVtcGxhdGVzX2Zhdm9yaXRlcyIpLGsoKX19KSk7ZnVuY3Rpb24gTShlLHQpe2lmKHQmJigwLEcuaXNLZXlib2FyZENsaWNrKSh0KSYmUy5jdXJyZW50KXtjb25zdCB0PSgwLGllLnF1ZXJ5TWVudUVsZW1lbnRzKShTLmN1cnJlbnQpLG49dC5maW5kSW5kZXgoKHQ9Pm51bGwhPT10LmNsb3Nlc3QoYFtkYXRhLWlkPSIke2UuaWR9Il1gKSkpO2IoZSxudWxsLCgoKT0+e2lmKC0xIT09biYmUy5jdXJyZW50KXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoUy5jdXJyZW50KSx5LmN1cnJlbnQ/LnVwZGF0ZSgpfX0pKX1lbHNlIGIoZSl9ZnVuY3Rpb24gaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiaW5kaWNhdG9yIHRlbXBsYXRlcyIpfX1mdW5jdGlvbiBxbihlKXtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxlLmZhdm9yaXRlcy5tYXAoKCh0LG4sYSk9PmkuY3JlYXRlRWxlbWVudChXbi5GYXZvcml0ZUl0ZW0se2tleTp0Lm5hbWUsaXRlbTp0LG9uQXBwbHk6ZS5vblRlbXBsYXRlU2VsZWN0LGNsYXNzTmFtZTpsKCkoe1tVbi5maXJzdF06MD09PW4sW1VuLmxhc3RdOm49PT1hLmxlbmd0aC0xfSl9KSkpKX1Lbi5jb250ZXh0VHlwZT1qbjtuKDgyOTE4MCk7dmFyICRuPW4oMTc1Mzk1KSxYbj1uKDQ5OTcyNCksR249big3NjIwMiksSm49big1NzA2ODMpO2NvbnN0IFluPXt1bmRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWiJdLHRleHQ6InswfSArIHsxfSJ9KSxyZWRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWSJdLHRleHQ6InswfSArIHsxfSJ9KX0sZWE9KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxKbiksdGE9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIG5hIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9iYXRjaGVkPW51bGwsdGhpcy5faGFuZGxlQ2xpY2tVbmRvPSgpPT57KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidW5kbyIpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQ7ZS51bmRvSGlzdG9yeS51bmRvKCl9LHRoaXMuX2hhbmRsZUNsaWNrUmVkbz0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIlJlZG8iKSwoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsInJlZG8iKTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX09dGhpcy5jb250ZXh0O2UudW5kb0hpc3RvcnkucmVkbygpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFuZ2VTdGFjayksZS51bmRvSGlzdG9yeS51bmRvU3RhY2soKS5vbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlU3RhY2spfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSxlLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSx0aGlzLl9iYXRjaGVkPW51bGx9cmVuZGVyKCl7Y29uc3R7aWQ6ZX09dGhpcy5wcm9wcyx7aXNFbmFibGVkUmVkbzp0LGlzRW5hYmxlZFVuZG86YSxyZWRvU3RhY2s6byx1bmRvU3RhY2s6c309dGhpcy5zdGF0ZTtsZXQgbCxyLGQsYztyZXR1cm4gYSYmKGw9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7cmVwbGFjZTp7aGludDpzfSxjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LG4oNzMxNjQ5KSkpLHI9WW4udW5kb0hvdEtleSksdCYmKGQ9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7CnJlcGxhY2U6e2hpbnQ6b30sY29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxuKDQ1MzI2MykpKSxjPVluLnJlZG9Ib3RLZXkpLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDplfSxpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHtpY29uOlhuLGlzRGlzYWJsZWQ6IWEsb25DbGljazp0aGlzLl9oYW5kbGVDbGlja1VuZG8sdGhlbWU6ZWEsdG9vbHRpcDpsLCJkYXRhLXRvb2x0aXAtaG90a2V5IjpyfSksaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWNvbjpHbixpc0Rpc2FibGVkOiF0LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2tSZWRvLHRoZW1lOmVhLHRvb2x0aXA6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6Y30pKX1fb25DaGFuZ2VTdGFjaygpe251bGw9PT10aGlzLl9iYXRjaGVkJiYodGhpcy5fYmF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2lmKG51bGw9PT10aGlzLl9iYXRjaGVkKXJldHVybjt0aGlzLl9iYXRjaGVkPW51bGw7Y29uc3QgZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpO3RoaXMuc2V0U3RhdGUoZSl9KSkpfV9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQsdD1lLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLG49ZS51bmRvSGlzdG9yeS5yZWRvU3RhY2soKSxhPW4uaGVhZCgpLGk9dC5oZWFkKCk7cmV0dXJue2lzRW5hYmxlZFJlZG86IW4uaXNFbXB0eSgpLGlzRW5hYmxlZFVuZG86IXQuaXNFbXB0eSgpLHJlZG9TdGFjazphP2EudGV4dCgpLnRyYW5zbGF0ZWRUZXh0KCk6IiIsdW5kb1N0YWNrOmk/aS50ZXh0KCkudHJhbnNsYXRlZFRleHQoKToiIn19fW5hLmNvbnRleHRUeXBlPXRhO3ZhciBhYT1uKDM0NDc4NSksaWE9big0Mjk0NjUpLG9hPW4oOTkwMDE0KTtmdW5jdGlvbiBzYShlKXtjb25zdHt0aXRsZTp0LGNoaWxkcmVuOm4saXNTbWFsbFdpZHRoOmEsc2VwYXJhdG9yOm8sY2xhc3NOYW1lOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLGNsYXNzTmFtZTpsKCkocyxvYS5yb3csYSYmb2Euc21hbGxSb3cpfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dJbm5lcn0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLnJvd0xhYmVsLGEmJm9hLnNtYWxsUm93TGFiZWwpfSx0KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dCdXR0b25zLCJkYXRhLXJvbGUiOiJyb3cifSxuKSksbyl9ZnVuY3Rpb24gbGEoZSl7Y29uc3R7aXNBY3RpdmU6dCxpY29uOm4saXNTbWFsbFdpZHRoOmEsY2xhc3NOYW1lOm8sbGF5b3V0OnMsb25DbGljazpkLGlzRmlyc3RJdGVtSW5Sb3c6dSwuLi5jfT1lLGg9YyxbdixtXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3JvbGU6Im1lbnVpdGVtcmFkaW8iLGNsYXNzTmFtZTpsKCkobyxvYS5sYXlvdXRCdXR0b25XcmFwLGEmJm9hLnNtYWxsV2lkdGgsb2EuYWNjZXNzaWJsZSksdHlwZToiYnV0dG9uIiwiYXJpYS1jaGVja2VkIjp0LCJhcmlhLWxhYmVsIjpzLCJkYXRhLXJvbGUiOnU/Im1lbnVpdGVtIjp2b2lkIDAscmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOmZ1bmN0aW9uKCl7ZChzKX0sLi4uaH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLmxheW91dEJ1dHRvbix0JiZvYS5pc0FjdGl2ZSxhJiZvYS5zbWFsbFdpZHRoTGF5b3V0QnV0dG9uKX0saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7aWNvbjpufSkpKX12YXIgcmE9bigyOTc4NDkpLGRhPW4oNjE1NDI0KSx1YT1uKDY3Mjg4NiksY2E9bigzNzYxNjMpLGhhPW4oNDU3OTg5KSx2YT1uKDY3MDI2NCksbWE9big1OTU2MjUpLHBhPW4oMjIxMTU4KSxmYT1uKDU5NDg0NiksZ2E9big5NDUyMzgpLGJhPW4oNDA4OTY0KSx3YT1uKDEyNDg1KSxDYT1uKDQ2NzE0NSksX2E9bigxMjYxNjYpLHlhPW4oMjczNzc1KSxTYT1uKDc2MzU1NSkseGE9big5MDYwNTApLEVhPW4oNzg5MTA4KSxNYT1uKDcyMDI5Myksa2E9big2NTYzMDQpLElhPW4oMTkxNTY1KSxUYT1uKDIyMzIyNyksQWE9big2NjMyMjIpLEhhPW4oNDIyNTk4KSxWYT1uKDc2NTU3MiksUmE9big5NzQ1NiksRmE9big2NDc2OTIpLExhPW4oNTYzNDg3KSxaYT1uKDczNzAxNyksTmE9big4NjA4NTIpLHphPW4oOTIwNTIpLEJhPW4oMTAwNDYzKSxPYT1uKDUyNzcyMyksRGE9big4MjY3MTkpLFdhPW4oOTk4Mjg2KSxQYT1uKDU2Mjk5NCksVWE9bigxNjQ0NSksamE9big4NjY4MjYpLEthPW4oNTc1MTAwKSxRYT1uKDg4MDg5MykscWE9big1MTM5MTIpLCRhPW4oOTQ0NTgpLFhhPW4oODY4NzY2KSxHYT1uKDU3NDE1OSksSmE9big2OTc3NTMpLFlhPW4oMzk2NzUwKTtjb25zdCBlaT17czpyYSwiMmgiOmRhLCIydiI6dWEsIjNoIjpjYSwiM3YiOmhhLCIzcyI6dmEsIjNyIjptYSwiMi0xIjpwYSwiMS0yIjpmYSw0OmdhLCI0diI6YmEsIjRoIjp3YSwiNHMiOkNhLCI0cy1sIjpfYSwiMS0zIjp5YSwiMy0xIjpTYSwiMi0yLWwiOnhhLCIyLTItciI6RWEsIjItMiI6TWEsIjEtNCI6a2EsIjVoIjpJYSwiNXYiOlRhLCI1cyI6QWEsIjVzLWwiOkhhLCIyLTMiOlZhLCIzLTIiOlJhLCI0LTEiOkZhLCIyLTMtbCI6TGEsIjItMy1yIjpaYSw2Ok5hLCI2aCI6emEsIjZ2IjpHYSwiNmMiOkJhLCIyLTQiOk9hLCI0LTIiOkRhLCI0LTMiOldhLCI3aCI6SmEsIjdzIjpuKDc0MjUwOSksODpQYSwiOGMiOlVhLCI4aCI6SmEsIjh2IjpHYSwiOXMiOmphLCI1LTQiOkthLCI5aCI6SmEsIjl2IjpHYSwiMTBjNSI6UWEsIjEwaCI6SmEsIjEwdiI6R2EsIjEyYzYiOnFhLCIxMmM0IjokYSwiMTJoIjpKYSwiMTRjNyI6WWEsIjE2YzgiOllhLCIxNmM0IjpYYX07dmFyIHRpPW4oMjU1MzI5KSxuaT1uKDM3NDMwNCksYWk9big0NTY1MjUpO2NvbnN0IGlpPSgwLHp0Lm1lcmdlVGhlbWVzKShuaS5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWUse2xhYmVsOmFpLnN3aXRjaGVyTGFiZWx9KQo7Y2xhc3Mgb2kgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fb25DaGFuZ2U9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX0pfSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSx3YXRjaGVkVmFsdWU6dH09dGhpcy5wcm9wcztlKHQpfSx0aGlzLnN0YXRlPXtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLnByb3BzLndhdGNoZWRWYWx1ZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfXJlbmRlcigpe2NvbnN0e3JvbGU6ZSxsYWJlbDp0LHZhbHVlOm4sY2xhc3NOYW1lOmF9PXRoaXMucHJvcHMse2lzQ2hlY2tlZDpvfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQodGkuTWVudUl0ZW1Td2l0Y2hlcix7cm9sZTplLHRoZW1lOmlpLGxhYmVsOnQsY2hlY2tlZDpvLHZhbHVlOm4sb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2xpY2ssY2xhc3NOYW1lOmF9KX19dmFyIHNpPW4oOTA4MDM0KSxsaT1uKDUyNzIxOSkscmk9big0NTI2MTcpO2xldCBkaT1be2xheW91dHM6WyJzIl0sdGl0bGU6IjEifSx7bGF5b3V0czpbIjJoIiwiMnYiXSx0aXRsZToiMiJ9LHtsYXlvdXRzOlsiM2giLCIzdiIsIjNzIiwiM3IiLCIyLTEiLCIxLTIiXSx0aXRsZToiMyJ9LHtsYXlvdXRzOlsiNCIsIjR2IiwiNGgiLCI0cyIsIjRzLWwiLCIxLTMiLCIzLTEiLCIyLTItbCIsIjItMi1yIiwiMi0yIl0sdGl0bGU6IjQifSx7bGF5b3V0czpbIjEtNCIsIjVoIiwiNXYiLCI1cyIsIjVzLWwiLCIyLTMiLCIzLTIiLCI0LTEiLCIyLTMtbCIsIjItMy1yIl0sdGl0bGU6IjUifSx7bGF5b3V0czpbIjYiLCI2aCIsIjZ2IiwiNmMiLCIyLTQiLCI0LTIiXSx0aXRsZToiNiJ9LHtsYXlvdXRzOlsiNC0zIiwiN2giLCI3cyJdLHRpdGxlOiI3In0se2xheW91dHM6WyI4IiwiOGMiLCI4aCIsIjh2Il0sdGl0bGU6IjgifV07ZGk9Wy4uLmRpLHtsYXlvdXRzOlsiOXMiLCI1LTQiLCI5aCIsIjl2Il0sdGl0bGU6IjkifSx7bGF5b3V0czpbIjEwYzUiLCIxMGgiLCIxMHYiXSx0aXRsZToiMTAifSx7bGF5b3V0czpbIjEyYzYiLCIxMmM0IiwiMTJoIl0sdGl0bGU6IjEyIn0se2xheW91dHM6WyIxNGM3Il0sdGl0bGU6IjE0In0se2xheW91dHM6WyIxNmM4IiwiMTZjNCJdLHRpdGxlOiIxNiJ9XTtjb25zdCB1aT17bGF5b3V0VHlwZTp1LnQobnVsbCx2b2lkIDAsbig5Mjc3MDUpKSxzeW5jR3JvdXBUaXRsZTp1LnQobnVsbCx2b2lkIDAsbig3Mzk5MzYpKSxzeW5jQ3Jvc3NoYWlyTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNzM3MjE1KSksc3luY0Nyb3NzaGFpckhpbnQ6dS50KG51bGwsdm9pZCAwLG4oMTI0NzgpKSxzeW5jSW50ZXJ2YWxMYWJlbDp1LnQobnVsbCx2b2lkIDAsbigxMjc1NjkpKSxzeW5jSW50ZXJ2YWxIaW50OnUudChudWxsLHZvaWQgMCxuKDQwNTk0NikpLHN5bmNEYXRlUmFuZ2VMYWJlbDp1LnQobnVsbCx2b2lkIDAsbig0Mjc0OTQpKSxzeW5jRGF0ZVJhbmdlSGludDp1LnQobnVsbCx2b2lkIDAsbigxMDQ1NTkpKSxzeW5jU3ltYm9sTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNjEzMTYzKSksc3luY1N5bWJvbEhpbnQ6dS50KG51bGwsdm9pZCAwLG4oNDgyMjI1KSksc3luY1RyYWNrTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oODYyMTE5KSksc3luY1RyYWNrSGludDp1LnQobnVsbCx2b2lkIDAsbig1MjAzODcpKX07ZnVuY3Rpb24gY2koZSl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQsaXNTbWFsbFdpZHRoOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoInMiKSxbcyxyXT0oMCxzaS51c2VSb3dzTmF2aWdhdGlvbikoITApO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntmdW5jdGlvbiBlKGUpe28oZXx8dC5sYXlvdXQudmFsdWUoKSl9cmV0dXJuIHQubGF5b3V0LnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+dC5sYXlvdXQudW5zdWJzY3JpYmUoZSl9KSxbdF0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnJpLmRyb3Bkb3dufSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpzLHJvbGU6Im1lbnUiLG9uS2V5RG93bjpyLCJkYXRhLW5hbWUiOiJsYXlvdXRzLWxpc3QifSxuJiZpLmNyZWF0ZUVsZW1lbnQoaWEuVG9vbFRpdGxlLHt0ZXh0OnVpLmxheW91dFR5cGV9KSxkaS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoc2Ese2tleTplLnRpdGxlLGlzU21hbGxXaWR0aDpuLHRpdGxlOmUudGl0bGUsc2VwYXJhdG9yOnQhPT1kaS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLG51bGwpfSxlLmxheW91dHMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGxhLHtrZXk6ZSxsYXlvdXQ6ZSxpY29uOmVpW2VdLG9uQ2xpY2s6dSxpc0FjdGl2ZTplPT09YSxpc1NtYWxsV2lkdGg6bixpc0ZpcnN0SXRlbUluUm93OjA9PT10LCJkYXRhLXFhLWlkIjpgbGF5b3V0cy1saXN0LWl0ZW0tJHtlfWB9KSkpKSkpKSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsbiYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtzaXplOiJub3JtYWwifSkpLGkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLGkuY3JlYXRlRWxlbWVudChpYS5Ub29sVGl0bGUse3RleHQ6dWkuc3luY0dyb3VwVGl0bGUsY2xhc3NOYW1lOmwoKShyaS5zeW5jQ2hhcnRzLG4mJnJpLm1vYmlsZSl9KSxmdW5jdGlvbigpe2NvbnN0IGU9bCgpKHJpLnN3aXRjaGVyLG4mJnJpLm1vYmlsZSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JpZCIsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjohMCxjbGFzc05hbWU6cmkuc3luY0xpc3RXcmFwcGVyfSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jU3ltYm9sTGFiZWwsCmhpbnQ6dWkuc3luY1N5bWJvbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNTeW1ib2xMYWJlbCIsd2F0Y2hlZFZhbHVlOnQubG9jay5zeW1ib2wsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jSW50ZXJ2YWxMYWJlbCxoaW50OnVpLnN5bmNJbnRlcnZhbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNJbnRlcnZhbExhYmVsIix3YXRjaGVkVmFsdWU6dC5sb2NrLmludGVydmFsLGNsYXNzTmFtZTplfSksaS5jcmVhdGVFbGVtZW50KG9pLHtyb2xlOiJyb3ciLGxhYmVsOmkuY3JlYXRlRWxlbWVudChoaSx7dGl0bGU6dWkuc3luY0Nyb3NzaGFpckxhYmVsLGhpbnQ6dWkuc3luY0Nyb3NzaGFpckhpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLmNyb3NzaGFpcix2YWx1ZToic3luY0Nyb3NzaGFpckxhYmVsIixvbkNsaWNrOmQsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jVHJhY2tMYWJlbCxoaW50OnVpLnN5bmNUcmFja0hpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLnRyYWNrVGltZSx2YWx1ZToic3luY1RyYWNrTGFiZWwiLG9uQ2xpY2s6ZCxjbGFzc05hbWU6ZX0pLGkuY3JlYXRlRWxlbWVudChvaSx7cm9sZToicm93IixsYWJlbDppLmNyZWF0ZUVsZW1lbnQoaGkse3RpdGxlOnVpLnN5bmNEYXRlUmFuZ2VMYWJlbCxoaW50OnVpLnN5bmNEYXRlUmFuZ2VIaW50LGlzU21hbGxXaWR0aDpufSksb25DbGljazpkLHZhbHVlOiJzeW5jRGF0ZVJhbmdlTGFiZWwiLHdhdGNoZWRWYWx1ZTp0LmxvY2suZGF0ZVJhbmdlLGNsYXNzTmFtZTplfSkpfSgpKSk7ZnVuY3Rpb24gZChlKXtjb25zdCB0PSFlLnZhbHVlKCk7ZS5zZXRWYWx1ZSh0KX1mdW5jdGlvbiB1KGUpeygwLHplLmdsb2JhbENsb3NlTWVudSkoKSx0LmxheW91dC52YWx1ZSgpPT09ZT90LnJldmVydFRvSW5saW5lKCk6dC5zZXRDaGFydExheW91dFdpdGhVbmRvKGUpfX1mdW5jdGlvbiBoaShlKXtjb25zdHt0aXRsZTp0LGhpbnQ6bixpc1NtYWxsV2lkdGg6YX09ZSxbbyxzXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyaS5zd2l0Y2hMYWJlbFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6InJvd2hlYWRlciIsY2xhc3NOYW1lOnJpLnN3aXRjaExhYmVsfSx0KSwhYSYmaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiY2VsbCIsY2xhc3NOYW1lOmwoKShyaS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHJpLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6biwiYXJpYS1sYWJlbCI6bixvbkZvY3VzOigpPT4oMCxhYS5zaG93T25FbGVtZW50KSgoMCxuZS5lbnN1cmVOb3ROdWxsKShvLmN1cnJlbnQpKSxvbkJsdXI6KCk9PigwLGFhLmhpZGUpKCksdGFiSW5kZXg6cyxyZWY6b30saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmluZm9JY29uLGljb246bGl9KSkpfWNvbnN0IHZpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBtaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fb25VcGRhdGVMYXlvdXQ9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQ7dGhpcy5zZXRTdGF0ZSh7Y3VycmVudElkOmV8fHQubGF5b3V0LnZhbHVlKCl9KX0sdGhpcy5faGFuZGxlT3BlbkxheW91dD0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwic2VsZWN0IGxheW91dCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwibGF5b3V0IHR5cGUiKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2N1cnJlbnRJZDoicyJ9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC5zdWJzY3JpYmUodGhpcy5fb25VcGRhdGVMYXlvdXQse2NhbGxXaXRoTGFzdDohMH0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC51bnN1YnNjcmliZSh0aGlzLl9vblVwZGF0ZUxheW91dCl9cmVuZGVyKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xhc3NOYW1lOnQsaWQ6YX09dGhpcy5wcm9wcyx7Y3VycmVudElkOm99PXRoaXMuc3RhdGU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKHM9PmkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHtpZDphLGFycm93OiExLGNvbnRlbnQ6aS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmljb24saWNvbjplaVtvXX0pLGNsYXNzTmFtZTpsKCkodCxyaS5idXR0b24pLGlzRHJhd2VyOnMsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW5MYXlvdXQsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig5NzQyMTQpKSwiZGF0YS1xYS1pZCI6InN0cmluZyI9PXR5cGVvZiBhPyJsYXlvdXRzLW1lbnUtYnV0dG9uIjp2b2lkIDB9LGkuY3JlYXRlRWxlbWVudChjaSx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsaXNTbWFsbFdpZHRoOnN9KSkpKX19bWkuY29udGV4dFR5cGU9dmk7Y29uc3QgcGk9ZT0+e2lmKChlPT4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI9PT1lPy5uYW1lc3BhY2VVUkkpKGUpJiYidHJ1ZSIhPT1lLmRhdGFzZXQuaW50ZXJuYWxBbGxvd0tleWJvYXJkTmF2aWdhdGlvbil7ZS50YWJJbmRleD0tMSxlLmFyaWFEaXNhYmxlZD0idHJ1ZSIKO2ZvcihsZXQgdD0wO3Q8ZS5jaGlsZHJlbi5sZW5ndGg7dCsrKXBpKGUuY2hpbGRyZW4uaXRlbSh0KSl9fTtjbGFzcyBmaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fd3JhcHBlckVsZW1lbnQ9bnVsbCx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCx0aGlzLl91cGRhdGU9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuX3NldFJlZj1lPT57dGhpcy5fd3JhcHBlckVsZW1lbnQ9ZX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oW2VdKT0+e3RoaXMucHJvcHMud2lkdGguc2V0VmFsdWUoZS5jb250ZW50UmVjdC53aWR0aCl9LHRoaXMuX2hhbmRsZU11dGF0aW9uPShbZV0pPT57ImNoaWxkTGlzdCI9PT1lLnR5cGUmJnBpKHRoaXMucHJvcHMuZWxlbWVudCl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZWxlbWVudDplLGlzRmFrZTp0LHdpZHRoOm59PXRoaXMucHJvcHM7IXQmJnRoaXMuX3dyYXBwZXJFbGVtZW50Pyh0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlTWVhc3VyZSksdGhpcy5fbXV0YXRpb25PYnNlcnZlcj1uZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLl9oYW5kbGVNdXRhdGlvbiksdGhpcy5fd3JhcHBlckVsZW1lbnQuYXBwZW5kQ2hpbGQoZSksdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGUse3N1YnRyZWU6ITAsY2hpbGRMaXN0OiEwfSkpOm4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtjb25zdHt3aWR0aDplLGlzRmFrZTp0fT10aGlzLnByb3BzO3QmJmUudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlKSx0aGlzLl9yZXNpemVPYnNlcnZlciYmdGhpcy5fd3JhcHBlckVsZW1lbnQmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlciYmKHRoaXMuX211dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCl9cmVuZGVyKCl7Y29uc3R7aXNGYWtlOmU9ITEsd2lkdGg6dH09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAse3JlZjp0aGlzLl9zZXRSZWYsc3R5bGU6ZT97d2lkdGg6dC52YWx1ZSgpfTp2b2lkIDAsImRhdGEtaXMtY3VzdG9tLWhlYWRlci1lbGVtZW50IjohMH0pfX1mdW5jdGlvbiBnaShlKXtjb25zdHtkaXNwbGF5TW9kZTp0LHBhcmFtczpufT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHtjb2xsYXBzZVdoZW46dm9pZCAwIT09bi5pY29uP3ZvaWQgMDpbXSxkaXNwbGF5TW9kZTp0LGljb246bi5pY29uLHRleHQ6bi50aXRsZSwiZGF0YS1uYW1lIjoiZHJvcGRvd24iLCJkYXRhLWlzLWN1c3RvbS1oZWFkZXItZWxlbWVudCI6ITB9KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsdG9vbHRpcDpuLnRvb2x0aXB9LG4uaXRlbXMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2tleTp0LGxhYmVsOmUudGl0bGUsaWNvbjplLmljb24sb25DbGljazooKT0+ZS5vblNlbGVjdCgpLCJkYXRhLW5hbWUiOiJkcm9wZG93bi1pdGVtIn0pKSkpfXZhciBiaT1uKDcxMTI4Myk7ZnVuY3Rpb24gd2koZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdGl0bGU6biwuLi5hfT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLmEsY2xhc3NOYW1lOmwoKSh0LGJpLmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24sYmkud2l0aG91dEljb24pLGNvbGxhcHNlV2hlbjpbXSwiZGF0YS1uYW1lIjoiY3VzdG9tLXRyYWRpbmd2aWV3LXN0eWxlZC1idXR0b24iLHRvb2x0aXA6bn0pfXZhciBDaT1uKDYwOTUzNCk7Y29uc3QgX2k9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsTS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShNLk1vZGlmaWVycy5Nb2QsITEpLCJLIl0sdGV4dDoiezB9ICsgezF9In0pLHlpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBTaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3VwZGF0ZVN0YXRlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDplfSl9LHRoaXMuX2hhbmRsZUNsaWNrPWU9Pntjb25zdHtvcGVuR2xvYmFsU2VhcmNoOnR9PXRoaXMuY29udGV4dDt0KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KS50aGVuKChlPT57dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX2RpYWxvZz1lLGUudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9KSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7b3Blbkdsb2JhbFNlYXJjaDpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITF9fWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpfXJlbmRlcigpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpDaSxpc09wZW5lZDp0aGlzLnN0YXRlLmlzT3BlbmVkLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssImRhdGEtdG9vbHRpcC1ob3RrZXkiOl9pLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InRvb2xiYXJfcXVpY2tfc2VhcmNoX3Rvb2x0aXAifSxuKDkwOTg0NykpfSl9fVNpLmNvbnRleHRUeXBlPXlpO3ZhciB4aT1uKDU2OTM5OCk7ZnVuY3Rpb24gRWkoKXtsZXQgZTtyZXR1cm4gZT0oMCwKYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2xheW91dHRvZ2dsZSIpP21pOnZvaWQgMCx7QmFyczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfY2hhcnRfdHlwZSIpP3E6dm9pZCAwLENvbXBhcmU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2NvbXBhcmUiKT9lZTp2b2lkIDAsQ3VzdG9tOmZpLEN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uOndpLEZ1bGxzY3JlZW46KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Z1bGxzY3JlZW5fYnV0dG9uIikmJihDdC5DaGVja01vYmlsZS5hbnkoKSYmISgwLHhpLmlzRmVhdHVyZUVuYWJsZWQpKCJoaWRlX2Z1bGxzY3JlZW5fbW9kZV9vbl9tb2JpbGUiKXx8IUN0LkNoZWNrTW9iaWxlLmFueSgpKT90ZS5Ub29sV2lkZ2V0RnVsbHNjcmVlbjp2b2lkIDAsSW5kaWNhdG9yczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9ycyIpP0FlOnZvaWQgMCxJbnRlcnZhbHM6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3Jlc29sdXRpb25zIik/Y3Q6dm9pZCAwLE9wZW5Qb3B1cDpmdCxQcm9wZXJ0aWVzOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zZXR0aW5ncyIpJiYoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKT93dDp2b2lkIDAsU2F2ZUxvYWQ6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NhdmVsb2FkIik/TXQ6dm9pZCAwLFNjcmVlbnNob3Q6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NjcmVlbnNob3QiKT9adDp2b2lkIDAsU3ltYm9sU2VhcmNoOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIik/Y246dm9pZCAwLFRlbXBsYXRlczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV90ZW1wbGF0ZXMiKT9Lbjp2b2lkIDAsRHJvcGRvd246Z2ksVW5kb1JlZG86KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3VuZG9fcmVkbyIpP25hOnZvaWQgMCxMYXlvdXQ6ZSxRdWlja1NlYXJjaDpDdC5DaGVja01vYmlsZS5hbnkoKXx8KDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfcXVpY2tfc2VhcmNoIik/dm9pZCAwOlNpfX19LDY4ODYzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0RnVsbHNjcmVlbjooKT0+Z30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjIxODk2KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxsPW4oMTg1MjcxKSxyPW4oOTY3MDUpLGQ9big1Njk2NTIpLHU9bigzNDUxNTEpLGM9bigyMzU3MjQpLGg9bigyMTYwODMpLHY9big0MzQwMzcpLG09bigxNzU0NjcpO2NvbnN0IHA9KDAsdS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsoMCxjLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGMuTW9kaWZpZXJzLlNoaWZ0LCExKSwiRiJdLHRleHQ6InswfSArIHsxfSJ9KSxmPSgwLGQucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBnIGV4dGVuZHMgYS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT0oKT0+e3RoaXMuc2V0U3RhdGUoe2lzRnVsbHNjcmVlbjp0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS52YWx1ZSgpfSl9LHRoaXMuX2hhbmRsZUNsaWNrPSgpPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xpY2tBcmVhOnR9PXRoaXMucHJvcHM7ZS5mdWxsc2NyZWVuKCkudmFsdWUoKT9lLmV4aXRGdWxsc2NyZWVuKCk6ZS5zdGFydEZ1bGxzY3JlZW4oKSx0JiYoMCxoLnRyYWNrQnV0dG9uQ2xpY2spKHQsImZ1bGxzY3JlZW4gbW9kZSIpfSwoMCxkLnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjppLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNGdWxsc2NyZWVuOnRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uZnVsbHNjcmVlbigpLnZhbHVlKCl9LHRoaXMuX3N1YnNjcmliZSgpfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTplLGlkOnQsaXNBY3RpdmU6aX09dGhpcy5wcm9wcyx7aXNGdWxsc2NyZWVuOm99PXRoaXMuc3RhdGU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChyLlRvb2xiYXJJY29uQnV0dG9uLHtpZDp0LGljb246bz9tOnYsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjbGFzc05hbWU6cygpKGUpLHRvb2x0aXA6bC50KG51bGwsdm9pZCAwLG4oNTIyOTExKSksImRhdGEtdG9vbHRpcC1ob3RrZXkiOnAsaXNBY3RpdmU6aX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fdW5zdWJzY3JpYmUoKX1fc3Vic2NyaWJlKCl7dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5mdWxsc2NyZWVuKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1fdW5zdWJzY3JpYmUoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9fWcuY29udGV4dFR5cGU9Zn0sMzU5ODQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbGxhcHNlU2VwYXJhdG9yczooKT0+dSxzb3J0UmVzb2x1dGlvbnNCeUNhdGVnb3JpZXM6KCk9PnJ9KTt2YXIgYT1uKDE4NTI3MSksaT1uKDI1NDY3Myksbz1uKDYxODY3Mikscz1uKDczMjczMSk7Y29uc3QgbD17W2kuUmVzb2x1dGlvbktpbmQuVGlja3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig4NzAzMDEpKSxbaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oNzUyNzAwKSksW2kuUmVzb2x1dGlvbktpbmQuTWludXRlc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDIzMDkwOSkpLFtpLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUiCn0sbigxMjY5MTcpKSxbaS5SZXNvbHV0aW9uS2luZC5EYXlzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oMjAyODkxKSksW2kuUmVzb2x1dGlvbktpbmQuV2Vla3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig0MzM5OTQpKSxbaS5SZXNvbHV0aW9uS2luZC5Nb250aHNdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbigzNDQ3NDcpKSxbaS5SZXNvbHV0aW9uS2luZC5SYW5nZV06YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDI4ODAzNCkpLFtpLlJlc29sdXRpb25LaW5kLkludmFsaWRdOiIifTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9ZChpLlJlc29sdXRpb25LaW5kLlRpY2tzKSxuPWQoaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKSxhPWQoaS5SZXNvbHV0aW9uS2luZC5NaW51dGVzKSxvPWQoaS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHM9ZChpLlJlc29sdXRpb25LaW5kLkRheXMpLGw9ZChpLlJlc29sdXRpb25LaW5kLlJhbmdlKTtlLmZvckVhY2goKGU9Pntjb25zdCByPWkuSW50ZXJ2YWwucGFyc2UoZSk7ci5pc01pbnV0ZUhvdXJzKCk/by5pdGVtcy5wdXNoKGUpOnIuaXNNaW51dGVzKCk/KDAsaS5pc0hvdXIpKE51bWJlcihyLm11bHRpcGxpZXIoKSkpP28uaXRlbXMucHVzaChlKTphLml0ZW1zLnB1c2goZSk6ci5pc1NlY29uZHMoKT9uLml0ZW1zLnB1c2goZSk6ci5pc0RXTSgpP3MuaXRlbXMucHVzaChlKTpyLmlzUmFuZ2UoKT9sLml0ZW1zLnB1c2goZSk6ci5pc1RpY2tzKCkmJnQuaXRlbXMucHVzaChlKX0pKTtyZXR1cm5bdCxuLGEsbyxzLGxdLmZpbHRlcigoZT0+MCE9PWUuaXRlbXMubGVuZ3RoKSl9ZnVuY3Rpb24gZChlLHQ9ITEpe3JldHVybntpZDplLG5hbWU6bFtlXSxpdGVtczpbXSxtYXlPbWl0U2VwYXJhdG9yOnR9fWZ1bmN0aW9uIHUoZSl7bGV0IHQ9ITE7cmV0dXJuIGUuZmlsdGVyKCgoZSxuLGEpPT57bGV0IGk9ITA7Y29uc3QgbD1lLnR5cGU9PT1vLlBvcHVwTWVudVNlcGFyYXRvcnx8ZS50eXBlPT09cy5EaXZpZGVyTGlzdEl0ZW07cmV0dXJuIGwmJigwIT09biYmbiE9PWEubGVuZ3RoLTF8fChpPSExKSx0JiYoaT0hMSkpLHQ9bCxpfSkpfX0sOTA2NjgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTYXZlTG9hZFZpZXc6KCk9Pk1lfSk7dmFyIGE9bigxODUyNzEpLGk9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGw9big1NTcwNjUpLHI9big5MzAyMzEpLGQ9bigyMzU3MjQpLHU9bigzMTg5NzQpLGM9bigxNTM3MzQpLGg9big4NTAxMDgpLHY9big2MTg2NzIpLG09big4NjQ2ODEpLHA9bigxODYwOTcpLGY9big3NzEyODUpLGc9bigzODcyMzEpLGI9big1MTA1OTgpLHc9big3MzI3MzEpLEM9bigzMTMxMTApLF89big3MjM5ODYpLHk9big4MDA5MTQpLFM9big2Mzg4NzIpLHg9bigyNTUzMjkpLEU9KG4oODI5MTgwKSxuKDIyMTg5NikpLE09big1Njk2NTIpLGs9big2MjcwNDUpLEk9big1NTgwNzUpO2NvbnN0IFQ9KDAsTS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUFjdGl2ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6dGhpcy5wcm9wcy5pdGVtLmlkPT09ZX0pfSx0aGlzLl9oYW5kbGVBcHBseT0oKT0+e3RoaXMucHJvcHMuaXRlbS5vcGVuQWN0aW9uKCExKX0sKDAsTS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246RS5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzQWN0aXZlOmUuaXRlbS5hY3RpdmUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQWN0aXZlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24/Lm1ldGFJbmZvLmlkLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUFjdGl2ZSl9cmVuZGVyKCl7Y29uc3R7aXNBY3RpdmU6ZX09dGhpcy5zdGF0ZSx7aXRlbTp0LGNsYXNzTmFtZTpufT10aGlzLnByb3BzLGE9dC51cmw/KDAsSS5nZW5lcmF0ZUNoYXJ0VXJsKSh7Y2hhcnRJZDp0LnVybH0pOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGsuRmF2b3JpdGVJdGVtLHtpdGVtOnQsaXNBY3RpdmU6ZSx0YXJnZXQ6Il9zZWxmIixocmVmOmEsb25BcHBseTp0aGlzLl9oYW5kbGVBcHBseSxjbGFzc05hbWU6bn0pfX1BLmNvbnRleHRUeXBlPVQ7dmFyIEg9big0MzU0NDcpO2Z1bmN0aW9uIFYoZSl7Y29uc3R7ZmF2b3JpdGVzOnQsZGlzcGxheU1vZGU6bn09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCx0Lm1hcCgoKGUsdCxhKT0+aS5jcmVhdGVFbGVtZW50KEEse2tleTplLmlkLGl0ZW06ZSxjbGFzc05hbWU6cygpKHtbSC5mdWxsXToiZnVsbCI9PT1uLFtILm1lZGl1bV06Im1lZGl1bSI9PT1uLFtILmZpcnN0XTowPT09dCxbSC5sYXN0XTp0PT09YS5sZW5ndGgtMX0pfSkpKSl9dmFyIFI9bigzNDUxNTEpLEY9bigyNzMzMTApLEw9big5OTU3MTkpLFo9bigzNzQzMDQpLE49bigzOTE1MDQpLHo9big3NjI4NTEpLEI9big2NDkxNjYpLE89bigxNzY0MzIpO2Z1bmN0aW9uIEQoZSl7Y29uc3R7aXNWaXNpYmxlOnQsaXNMb2FkaW5nOm4sbGFiZWw6YSxjbGFzc05hbWU6b309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShPLnN0YXRlVGl0bGUsIXQmJiFuJiZPLmhpZGRlbixvKX0sbj9pLmNyZWF0ZUVsZW1lbnQoQi5Mb2FkZXIse2NsYXNzTmFtZTpPLmxvYWRlcixzaXplOiJzbWFsbCIsc3RhdGljUG9zaXRpb246ITB9KTphKX12YXIgVz1uKDY2NjQ0MSksUD1uKDk3OTc0MiksVT1uKDEwMzE2MCksaj1uKDYxOTEwNSksSz1uKDExNDMwNyk7Y29uc3QgUT0oMCxnLm1lcmdlVGhlbWVzKShjLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHt0b29sYm94OksudG9vbGJveH0pLHE9KDAsCmcubWVyZ2VUaGVtZXMpKGMuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse3Rvb2xib3g6Sy50b29sYm94U21hbGx9KTtmdW5jdGlvbiAkKGUpe2NvbnN0e2xheW91dDp0LGNoYXJ0SWQ6bixmYXZvcml0ZXM6YSxpc1RhYmxldFNtYWxsOm8saXNOZXdWaWV3Omx9PWUscj1OdW1iZXIodC5pZCk9PT1uLHU9Qm9vbGVhbihhPy5bdC5pZF0pLGM9YC9jaGFydC8ke3QudXJsfSR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH1gLHY9Qm9vbGVhbihXLnNob3dGYXZvcml0ZUxheW91dHMmJmEpLG09dj8xOjA7cmV0dXJuIGw/aS5jcmVhdGVFbGVtZW50KEMuTWVudUl0ZW0se2tleTp0LmlkLHJvbGU6InJvdyIsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKSghbyYmSy5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyLW19LGkuY3JlYXRlRWxlbWVudChiLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6dC5uYW1lfSkpLGRlc2NyaXB0aW9uOmAke3Quc3ltYm9sfSwgJHt0LmludGVydmFsfWAsImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohbyxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1yZWNlbnQiLG9uQ2xpY2s6ZT0+ZihyLGUpLHNlbGVjdGVkOnIsaHJlZjpyP3ZvaWQgMDpjLHJpZ2h0U2xvdDp2P2kuY3JlYXRlRWxlbWVudChVLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IXUscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoUC5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6dSxvbkNsaWNrOnB9KSk6dm9pZCAwfSk6aS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6dC5pZCxyb2xlOiJyb3ciLGNsYXNzTmFtZTpzKCkoSy5sYXlvdXRJdGVtV3JhcCxvJiZLLmxheW91dEl0ZW1XcmFwU21hbGwsciYmSy5hY3RpdmUpLGlzQWN0aXZlOnIsbGFiZWxSb3dDbGFzc05hbWU6cygpKEsubGFiZWxSb3csbyYmSy5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksbGluazpyP3ZvaWQgMDpjLG9uQ2xpY2s6ZixvbkNsaWNrQXJnOnIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Sy5sYXlvdXRJdGVtfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoSy5sYXlvdXRUaXRsZSxvJiZLLmxheW91dFRpdGxlU21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpLLmxheW91dE1ldGF9LHQuc3ltYm9sLCIsICIsdC5pbnRlcnZhbCkpLHRvb2xib3g6dj9pLmNyZWF0ZUVsZW1lbnQoai5NZW51RmF2b3JpdGVCdXR0b24se2lzQWN0aXZlOnIsaXNGaWxsZWQ6dSxvbkNsaWNrOnB9KTp2b2lkIDAsdGhlbWU6bz9xOlEsc2hvd1Rvb2xib3hPbkZvY3VzOiEwLHNob3dUb29sYm94T25Ib3ZlcjohdX0pO2Z1bmN0aW9uIHAoZSl7ZT8ucHJldmVudERlZmF1bHQoKSx0LmZhdm9yaXRlQWN0aW9uKCl9ZnVuY3Rpb24gZihlLG4pe3J8fCgwLGQubW9kaWZpZXJzRnJvbUV2ZW50KShuKSE9PWQuTW9kaWZpZXJzLk5vbmV8fCJidXR0b24iaW4gbiYmMT09PW4uYnV0dG9ufHwobi5wcmV2ZW50RGVmYXVsdCgpLHQub3BlbkFjdGlvbighMSkpfX12YXIgWD1uKDEzODYzOCksRz1uKDExNzMxMyksSj1uKDE4MjMwOCksWT1uKDEzODk5NCksZWU9bigzNDQ3ODUpLHRlPW4oMzcyMjM4KSxuZT1uKDc2MTE3NSk7ZnVuY3Rpb24gYWUoe2lzVGFibGV0U21hbGw6ZSxpc05ld1ZpZXc6dH0pe2NvbnN0W28sbF09KDAsSi51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLHI9YS50KG51bGwsdm9pZCAwLG4oNjY2OTQ0KSk7cmV0dXJuIHQ/aS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSksIWUmJiEoMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIixjbGFzc05hbWU6bmUuaGludH0saS5jcmVhdGVFbGVtZW50KFkuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpyLHRvb2x0aXA6cixyZWY6byx0YWJJbmRleDpsfSkpKTppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuZS5zaGFyaW5nTGFiZWxXcmFwfSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNzQ1Njc2KSkpLCFlJiYhKDAsRy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiZpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsY2xhc3NOYW1lOnMoKShuZS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLG5lLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6ciwiYXJpYS1sYWJlbCI6cixvbkZvY3VzOigpPT4oMCxlZS5zaG93T25FbGVtZW50KSgoMCxYLmVuc3VyZU5vdE51bGwpKG8uY3VycmVudCkpLG9uQmx1cjooKT0+KDAsZWUuaGlkZSkoKSx0YWJJbmRleDpsLHJlZjpvfSxpLmNyZWF0ZUVsZW1lbnQoRi5JY29uLHtjbGFzc05hbWU6bmUuaW5mb0ljb24saWNvbjp0ZX0pKSl9dmFyIGllPW4oMjE2MDgzKSxvZT1uKDQyOTQ2NSksc2U9bigyNjE5MzYpLGxlPW4oMjE1MjkyKSxyZT1uKDExMjY2NSksZGU9big1ODM4NDIpLHVlPW4oNzgzMjU0KSxjZT1uKDYyNTE1Nik7Y29uc3QgaGU9KDAsaS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtyb2xlOmEsaXNTbWFsbDpvLG9uQ2xpY2s6bH09ZSxbcix1XT0oMCxKLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnIscm9sZTphLGNsYXNzTmFtZTpzKCkoY2UuY29weUxpbmssbyYmY2UuY29weUxpbmtNb2JpbGUsY2UuYWNjZXNzaWJsZUxhYmVsKSxvbkNsaWNrOmwsCnRhYkluZGV4OnUsb25LZXlEb3duOmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IT09ZS5jdXJyZW50VGFyZ2V0KXJldHVybjtjb25zdCB0PSgwLGQuaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksci5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnIuY3VycmVudC5jbGljaygpKX0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIn0sdWUudChudWxsLHZvaWQgMCxuKDYwODk5MikpKX0pKTt2YXIgdmU9bigzNDc5NzMpLG1lPW4oNzYxOTcxKSxwZT1uKDE0ODM4NyksZmU9big0NzA5MDEpLGdlPW4oNDY1MDY0KSxiZT1uKDczNTQ2Mik7Y29uc3Qgd2U9KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksQ2U9KCgwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNhdmVfc2hvcnRjdXQiKSwoMCxnLm1lcmdlVGhlbWVzKShMLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGdlKSksX2U9KDAsZy5tZXJnZVRoZW1lcykoYy5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7c2hvcnRjdXQ6ZmUuc2hvcnRjdXQsd2l0aEljb246ZmUud2l0aEljb259KSx5ZT1hLnQobnVsbCx2b2lkIDAsbig2MTgwMzkpKSxTZT1hLnQobnVsbCx2b2lkIDAsbig5MzkwNzQpKSx4ZT1bXSxFZT0oMCxSLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLGQuaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoZC5Nb2RpZmllcnMuTW9kLCExKSwiUyJdLHRleHQ6InswfSArIHsxfSJ9KTtjbGFzcyBNZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb3B5RWxSZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlQ29weUxpbmtDbGljaz0oKT0+e2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWY7cmV0dXJuKDAsbC5nZXRDbGlwYm9hcmQpKCkud3JpdGVUZXh0KGUpLnRoZW4oKCgpPT57dGhpcy5fY29weUVsUmVmLmN1cnJlbnQmJigoMCxzZS5zaG93VG9vbHRpcCkodGhpcy5fY29weUVsUmVmLmN1cnJlbnQse2luaXRpYWxEZWxheTowLGxlYXZlT25Nb3VzZU91dDohMH0pLCgwLHNlLmRlYm91bmNlSGlkZVRvb2x0aXApKCkpfSkpfSx0aGlzLl9oYW5kbGVDbG9uZUNsaWNrPSgpPT57dGhpcy5wcm9wcy5vbkNsb25lQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuX2hhbmRsZVNhdmVDbGljaz0oKT0+e3RoaXMucHJvcHMub25TYXZlQ2hhcnQ/LigpLHRoaXMuX3RyYWNrQ2xpY2soKX0sdGhpcy5faGFuZGxlU2F2ZUFzQ2xpY2s9KCk9Pnt0aGlzLnByb3BzLm9uU2F2ZUFzQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJtYW5hZ2UgbGF5b3V0IiwibWFrZSBhIGNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuc3RhdGU9e2lzU2F2aW5nOiExfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXtlLmlzUHJvY2Vzc2luZyYmIXRoaXMucHJvcHMuaXNQcm9jZXNzaW5nJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9dm9pZCAwLHRoaXMuc2V0U3RhdGUoe2lzU2F2aW5nOiExfSkpLCghZS5yZWNlbnRJdGVtcz8ubGVuZ3RoJiZ0aGlzLnByb3BzLnJlY2VudEl0ZW1zPy5sZW5ndGh8fGUuaXNTaGFyaW5nRW5hYmxlZCE9PXRoaXMucHJvcHMuaXNTaGFyaW5nRW5hYmxlZCkmJnRoaXMuX21lbnVSZWYuY3VycmVudD8udXBkYXRlKCksIWUuaXNQcm9jZXNzaW5nJiZ0aGlzLnByb3BzLmlzUHJvY2Vzc2luZyYmKHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmluZzohMH0pfSksMWUzKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl90aW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxpc1JlYWRPbmx5OnQsZGlzcGxheU1vZGU6byxpc1Byb2Nlc3Npbmc6bCx0aXRsZTpyLHdhc0NoYW5nZXM6ZCxoaWRlTWVudTp1LGlzVGFibGV0U21hbGw6Yyxvbk9wZW5NZW51OmgsZGF0YU5hbWVTYXZlTWVudTp2LGlzU2F2ZURpYWxvZ09wZW5lZDpnLGNoYXJ0TGlzdDp3LGZhdm9yaXRlczpDLGlzTmV3VmlldzpffT10aGlzLnByb3BzLHk9IXQmJiF1O2xldCBTPVtdO1cuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdyYmQyYmKFM9dy5maWx0ZXIoKGU9PkNbZS5pZF0pKS5zb3J0KCgoZSx0KT0+ZS5uYW1lLmxvY2FsZUNvbXBhcmUodC5uYW1lKSkpKTtjb25zdCB4PSEoZHx8IXJ8fHRoaXMuc3RhdGUuaXNTYXZpbmcpLEU9aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZmUudGV4dFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpmZS50ZXh0fSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnJ8fGEudChudWxsLHZvaWQgMCxuKDYxMjY1NSkpfSkpLGkuY3JlYXRlRWxlbWVudChELHtpc0xvYWRpbmc6dGhpcy5zdGF0ZS5pc1NhdmluZyxpc1Zpc2libGU6ZCxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoic2F2ZV9idXR0b24ifSxuKDQ3Mzc4MikpfSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sV2lkZ2V0Um93V3JhcCxudWxsLHQ/aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsZGlzcGxheU1vZGU6byxpY29uOmkuY3JlYXRlRWxlbWVudChGLkljb24se2ljb246dmV9KSxpc0Rpc2FibGVkOmwsb25DbGljazp0aGlzLl9oYW5kbGVDbG9uZUNsaWNrLHRleHQ6YS50KG51bGwsdm9pZCAwLG4oMTI5MjE0KSksY29sbGFwc2VXaGVuOnhlLHRvb2x0aXA6eWV9KSk6aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsImRhdGEtcWEtaWQiOmUsY2xhc3NOYW1lOnMoKShmZS5idXR0b24seSYmZmUuYnV0dG9uU21hbGxQYWRkaW5nKSxkaXNwbGF5TW9kZTpvLCJhcmlhLWRpc2FibGVkIjohIXh8fHZvaWQgMCxpc0Rpc2FibGVkOmwsCm9uQ2xpY2s6eD92b2lkIDA6dGhpcy5faGFuZGxlU2F2ZUNsaWNrLHRleHQ6RSx0aGVtZTpDZSxjb2xsYXBzZVdoZW46eGUsaXNPcGVuZWQ6Zyx0b29sdGlwOng/YS50KG51bGwsdm9pZCAwLG4oMzkzOSkpOmEudChudWxsLHZvaWQgMCxuKDgyMDMpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6d2V8fHg/IiI6RWV9KSx5JiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmZS5tZW51QnRuV3JhcH0saS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhck1lbnVCdXR0b24seyJkYXRhLW5hbWUiOnYsYXJyb3c6ITAscmVmOnRoaXMuX21lbnVSZWYsaXNEcmF3ZXI6YyxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixvbkNsaWNrOnRoaXMuX3RyYWNrQ2xpY2ssb25PcGVuOmgsdG9vbHRpcDphLnQobnVsbCx2b2lkIDAsbigyMzY2NjApKSxtZW51Q2xhc3NOYW1lOmZlLm1lbnUsbWVudVJvbGU6ImdyaWQiLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjpffSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoIWMmJmZlLmRlc2t0b3AsXyYmZmUubmV3TWVudVdyYXBwZXIpfSx0aGlzLl9yZW5kZXJNZW51SXRlbXMoQm9vbGVhbihjKSxfKSkpKSxTLmxlbmd0aD4wJiZpLmNyZWF0ZUVsZW1lbnQoVix7ZGlzcGxheU1vZGU6byxmYXZvcml0ZXM6U30pKSl9X3JlbmRlclNlcGFyYXRvcihlLHQpe3JldHVybiB0P2kuY3JlYXRlRWxlbWVudCh3LkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIixrZXk6ZX0pOmkuY3JlYXRlRWxlbWVudCh2LlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KX1fcmVuZGVyT3ZlcmZsb3dUaXRsZShlLHQpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKCF0JiZmZS5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyfSxlKX1fcmVuZGVyQWN0aW9uSXRlbShlLHQsbyl7Y29uc3QgbD10P04ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTpfZSxyPWUud2l0aEVsbGlwc2lzPygwLHouYXBwZW5kRWxsaXBzaXMpKGUubGFiZWwpOmUubGFiZWw7aWYoIW8pe2NvbnN0IG89ZS5ob3RrZXk/MTkwPT09ZS5ob3RrZXk/YS50KG51bGwse2NvbnRleHQ6ImhvdGtleSJ9LG4oOTEwNDc2KSk6KDAsZC5odW1hblJlYWRhYmxlSGFzaCkoZS5ob3RrZXkpOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93Iixpc0Rpc2FibGVkOmUuaXNEaXNhYmxlZCxpY29uOmUuaWNvbixsYWJlbDpyLG9uQ2xpY2s6ZS5vbkNsaWNrLGxhYmVsUm93Q2xhc3NOYW1lOnMoKSh0JiZmZS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksdGhlbWU6bCxzaG9ydGN1dDpvLCJkYXRhLW5hbWUiOmUuZGF0YVFhSWQsImFyaWEtaGFzcG9wdXAiOmUuYXJpYUhhc3BvcHVwLGRvbnRDbG9zZVBvcHVwOmUuZG9udENsb3NlUG9wdXAscmVmZXJlbmNlOmUucmVmfSl9cmV0dXJuIGkuY3JlYXRlRWxlbWVudChDLk1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93IixkaXNhYmxlZDplLmlzRGlzYWJsZWQsYXJpYUhhc3BvcHVwOmUuYXJpYUhhc3BvcHVwLGxlZnRTbG90OmUuaWNvbj9pLmNyZWF0ZUVsZW1lbnQoUy5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOmUuaWNvbn0pOnZvaWQgMCxvbkNsaWNrOmUub25DbGljayx0aXRsZTp0aGlzLl9yZW5kZXJPdmVyZmxvd1RpdGxlKHIsdCksYXJpYUxhYmVsOmUubGFiZWwsaG90a2V5OmUuaG90a2V5LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IXQsZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkb250Q2xvc2VQb3B1cDplLmRvbnRDbG9zZVBvcHVwLGxpc3RJdGVtUmVmOmUucmVmfSl9X3JlbmRlck1lbnVJdGVtcyhlLHQpe2NvbnN0e3dhc0NoYW5nZXM6byxpc1Byb2Nlc3Npbmc6bCxjaGFydElkOnIsb25TYXZlQ2hhcnRGcm9tTWVudTpjLG9uUmVuYW1lQ2hhcnQ6aCxvbkxvYWRDaGFydDp2LG9uTmV3Q2hhcnQ6bSxpc0F1dG9TYXZlRW5hYmxlZDpwLGF1dG9TYXZlSWQ6ZixzaGFyaW5nSWQ6YixvbkF1dG9TYXZlQ2hhbmdlZDp3LGlzU2hhcmluZ0VuYWJsZWQ6QyxvblNoYXJpbmdDaGFuZ2VkOlMscmVjZW50SXRlbXM6RSxvbkV4cG9ydERhdGE6TSxpc0F1dGhlbnRpY2F0ZWQ6ayxmYXZvcml0ZXM6SX09dGhpcy5wcm9wcyxUPWU/Wi5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWU6YmUsQT1bXSxIPWsmJkUmJkUubGVuZ3RoPjA/dD9baS5jcmVhdGVFbGVtZW50KHkuU2VjdGlvbkxpc3RJdGVtLHtrZXk6InJlY2VudGx5LXVzZWQiLHRpdGxlOnRoaXMuX3JlbmRlck92ZXJmbG93VGl0bGUoYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNjIzMjQ0KSksZSksYXJpYUxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpLGdyb3VwUm9sZToicm93Z3JvdXAiLGl0ZW1Sb2xlOiJyb3cifSxFLm1hcCgobj0+aS5jcmVhdGVFbGVtZW50KCQse2tleTpuLmlkLGxheW91dDpuLGNoYXJ0SWQ6cixmYXZvcml0ZXM6SSxpc1RhYmxldFNtYWxsOmUsaXNOZXdWaWV3OnR9KSkpKV06W2kuY3JlYXRlRWxlbWVudChvZS5Ub29sVGl0bGUse2tleToicmVjZW50bHktdXNlZCIsY2xhc3NOYW1lOnMoKShmZS50b29sVGl0bGUsZSYmZmUudG9vbFRpdGxlTW9iaWxlKSx0ZXh0OmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpfSksLi4uRS5tYXAoKG49PmkuY3JlYXRlRWxlbWVudCgkLHtrZXk6bi5pZCxsYXlvdXQ6bixjaGFydElkOnIsZmF2b3JpdGVzOkksaXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSkpKV06bnVsbDtBLnB1c2godGhpcy5fcmVuZGVyQWN0aW9uSXRlbSh7a2V5OiJzYXZlIixpc0Rpc2FibGVkOkJvb2xlYW4obHx8IW8mJnIpLGxhYmVsOlNlLG9uQ2xpY2s6Yyxob3RrZXk6ZT92b2lkIDA6ZC5Nb2RpZmllcnMuTW9kKzgzLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNhdmUiLHdpdGhFbGxpcHNpczohMX0sZSx0KSk7ewpjb25zdCBvPXIsbD0oKT0+dm9pZCAwIT09cCYmdm9pZCAwIT09dyYmbz90P2kuY3JlYXRlRWxlbWVudChfLk1lbnVTd2l0Y2hlckl0ZW0se2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLHZhbHVlOnAsb25DbGljazooKT0+dyghcCksdGl0bGU6dGhpcy5fcmVuZGVyT3ZlcmZsb3dUaXRsZShhLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLGUpLGFyaWFMYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IWUsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tYXV0by1zYXZlIn0pOmkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLGNoZWNrZWQ6cCxvbkNoYW5nZTp3LGNsYXNzTmFtZTpzKCkoIWUmJmZlLmF1dG9TYXZlV3JhcHBlciksaWQ6Zix0aGVtZTpULGxhYmVsOmEudChudWxsLHZvaWQgMCxuKDU1NjM5OSkpLHZhbHVlOiJhdXRvU2F2ZVN3aXRjaGVyIn0pOm51bGw7QS5wdXNoKGwoKSl9aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09QyYmdm9pZCAwIT09UyYmISgwLHUuaXNTeW1waG9ueUVtYmVkKSgpKXtjb25zdCBvPWkuY3JlYXRlRWxlbWVudChhZSx7aXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSk7aWYodClBLnB1c2goaS5jcmVhdGVFbGVtZW50KF8uTWVudVN3aXRjaGVySXRlbSx7a2V5OiJzaGFyaW5nIixyb2xlOiJyb3ciLHZhbHVlOkMsb25DbGljazooKT0+UyghQyksdGl0bGU6byxhcmlhTGFiZWw6YS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGVsbGlwc2lzOiFlLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNoYXJpbmcifSkpLEMmJkEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImNvcHktbGluayIsaWNvbjpwZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1OTA4ODQpKSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2ssZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY29weS1saW5rIix3aXRoRWxsaXBzaXM6ITAsZG9udENsb3NlUG9wdXA6ITAscmVmOnRoaXMuX2NvcHlFbFJlZn0sZSx0KSk7ZWxzZXtjb25zdCB0PSgwLGcubWVyZ2VUaGVtZXMpKFQse2xhYmVsOmZlLnN3aXRjaGVyTGFiZWx9KTtBLnB1c2goaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQse2tleToic2hhcmluZyJ9LGkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse3JvbGU6InJvdyIsY2hlY2tlZDpDLG9uQ2hhbmdlOlMsY2xhc3NOYW1lOnMoKSghZSYmZmUuc2hhcmluZ1dyYXBwZXIpLGlkOmIsdGhlbWU6dCxsYWJlbDpvLHZhbHVlOiJzaGFyaW5nU3dpdGNoZXIifSksQyYmaS5jcmVhdGVFbGVtZW50KGhlLHtyb2xlOiJyb3ciLGlzU21hbGw6ZSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2sscmVmOnRoaXMuX2NvcHlFbFJlZn0pKSl9fUEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InNhdmUtYXMiLGljb246dmUsbGFiZWw6eWUsb25DbGljazp0aGlzLl9oYW5kbGVTYXZlQXNDbGljayxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1jbG9uZSIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSx0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InJlbmFtZSIsaWNvbjpsZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1NjU0NTEpKSxvbkNsaWNrOmgsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tcmVuYW1lIixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsd2l0aEVsbGlwc2lzOiEwfSxlLHQpKX1yZXR1cm4oMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fEEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImV4cG9ydC1jaGFydC1kYXRhIixpY29uOnJlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJleHBvcnQgY2hhcnQncyBkYXRhIn0sbig3NjM5MzQpKSxvbkNsaWNrOk0sYXJpYUhhc3BvcHVwOiJkaWFsb2ciLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLWRvd25sb2FkIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoIm5ldy1jaGFydC1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToibmV3LWNoYXJ0IixpY29uOmRlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDkzODQ5NykpLG9uQ2xpY2s6bSxhcmlhSGFzcG9wdXA6ImRpYWxvZyIsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY3JlYXRlIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEgmJkEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoInJlY2VudC1sYXlvdXRzIix0KSwuLi5IKSxBLnB1c2godGhpcy5fcmVuZGVyU2VwYXJhdG9yKCJhbGwtbGF5b3V0cy1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToiYWxsLWxheW91dHMiLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYxMzUxNikpLG9uQ2xpY2s6dixpY29uOm1lLGhvdGtleTplP3ZvaWQgMDoxOTAsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tbG9hZCIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSksQX1fdHJhY2tDbGljaygpeygwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsIm1hbmFnZSBsYXlvdXRzIil9fX0sNjY2NDQxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dGYXZvcml0ZUxheW91dHM6KCk9PmF9KTtjb25zdCBhPSgwLG4oNTY5Mzk4KS5pc0ZlYXR1cmVFbmFibGVkKSgic2hvd19mYXZvcml0ZV9sYXlvdXRzIil9LDkyOTY0OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlSWNvbkJ1dHRvbjooKT0+b30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDA4NDEpO2NvbnN0IG89KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4ub309ZQo7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRJY29uQnV0dG9uLHsiYXJpYS1sYWJlbCI6biwuLi5vLHRhZzoiYnV0dG9uIixyZWY6dCwiZGF0YS10b29sdGlwIjpuLCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyI6InRydWUifSl9KSl9LDkzNDkyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlTWVudUJ1dHRvbjooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMjk2NDQ5KSxzPW4oODYxMTg4KTtjb25zdCBsPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLHRhZzpsLGJ1dHRvblJlZjpyLHJlZmVyZW5jZTpkLC4uLnV9PWUsYz0oMCxpLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGQ/P251bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0TWVudSx7ImFyaWEtbGFiZWwiOm4sLi4udSxyZWY6dCx0YWc6bD8/ImJ1dHRvbiIscmVmZXJlbmNlOnI/P2MsImRhdGEtdG9vbHRpcCI6bixvbk1lbnVLZXlEb3duOnMuaGFuZGxlQWNjZXNzaWJsZU1lbnVLZXlEb3duLG9uTWVudUZvY3VzOmU9PigwLHMuaGFuZGxlQWNjZXNzaWJsZU1lbnVGb2N1cykoZSxyPz9jKX0pfSkpfSw3NzgwNzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q29sbGFwc2libGVTZWN0aW9uOigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big3MDg4NDIpLGw9bigxODk1MzApO2NvbnN0IHI9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHtvcGVuOm4sc3VtbWFyeTppLGNoaWxkcmVuOnIsb25TdGF0ZUNoYW5nZTpkLHRhYkluZGV4OnUsY2xhc3NOYW1lOmMsLi4uaH09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmgsY2xhc3NOYW1lOm8oKShjLGwuc3VtbWFyeSksb25DbGljazpmdW5jdGlvbigpe2QmJmQoIW4pfSwiZGF0YS1vcGVuIjpuLCJhcmlhLWV4cGFuZGVkIjpuLHJlZjp0LHRhYkluZGV4OnV9LGksYS5jcmVhdGVFbGVtZW50KHMuVG9vbFdpZGdldENhcmV0LHtjbGFzc05hbWU6bC5jYXJldCxkcm9wcGVkOkJvb2xlYW4obil9KSksbiYmcil9KSl9LDYyNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUl0ZW06KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDIzNTcyNCksbD1uKDE4MjMwOCkscj1uKDI0OWUzKSxkPW4oNTEwNTk4KSx1PW4oNzU4ODgyKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm4saXRlbTppLG9uQXBwbHk6Yyxpc0FjdGl2ZTpoLGhyZWY6dix0YXJnZXQ6bX09ZSxwPWkubmFtZT8udHJpbSgpPz8iICIsW2YsZ109KDAsbC51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGI9dj8iYSI6Yz8iYnV0dG9uIjoiZGl2Iix3PWkudG9vbHRpcD8/cCxDPSgwLHIuZ2V0TGVhZGluZ0Vtb2ppSHRtbCkodyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiLHtyZWY6Zix0eXBlOmMmJiF2PyJidXR0b24iOnZvaWQgMCxjbGFzc05hbWU6bygpKHQsdS5pdGVtLHUuYWNjZXNzaWJsZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJjb21tb24tdG9vbHRpcC1odG1sIiksb25DbGljazpmdW5jdGlvbihlKXtpZihlLnN0b3BQcm9wYWdhdGlvbigpLGMmJnYpe2lmKCgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PXMuTW9kaWZpZXJzLk5vbmV8fDE9PT1lLmJ1dHRvbilyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpfWM/LihpKX0sb25LZXlEb3duOiJhIj09PWI/ZnVuY3Rpb24oZSl7MzI9PT0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGYuY3VycmVudD8uY2xpY2soKSl9OnZvaWQgMCwiZGF0YS10b29sdGlwIjpDLCJhcmlhLWxhYmVsIjp3LHRhYkluZGV4OmcsaHJlZjoiYSI9PT1iP3Y6dm9pZCAwLHRhcmdldDoiYSI9PT1iP206dm9pZCAwfSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodS5yb3VuZCxoJiZ1LmFjdGl2ZSl9LG58fGEuY3JlYXRlRWxlbWVudChkLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6cCxmaXJzdFNlZ21lbnRPbmx5OiEwfSkpKX19LDkxNzgxNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51UmVtb3ZlQnV0dG9uOigpPT5jfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9bigxODUyNzEpLGw9bigxODIzMDgpLHI9big1NDU0MjIpLGQ9big0NjI3MDQpLHU9big1ODcwOTQpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7b25DbGljazp0LGlzQWN0aXZlOmksb25LZXlEb3duOmMsLi4uaH09ZSxbdixtXT0oMCxsLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOnQsb25LZXlEb3duOmMsY2xhc3NOYW1lOm8oKSh1LmJ1dHRvbixpJiZ1LmFjdGl2ZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwiYXJpYS1sYWJlbCI6cy50KG51bGwsdm9pZCAwLG4oOTExMjYpKSwiZGF0YS10b29sdGlwIjpzLnQobnVsbCx2b2lkIDAsbig5MTEyNikpLHR5cGU6ImJ1dHRvbiJ9LGEuY3JlYXRlRWxlbWVudChyLlJlbW92ZUJ1dHRvbix7Li4uaCxpc0FjdGl2ZTppLHRpdGxlOiIiLGljb246ZH0pKX19LDQyOTQ2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sVGl0bGU6KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDU3MzQ1MCk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGFzc05hbWU6dCx0ZXh0Om4saWQ6aSxyb2xlOmwsYXJpYUhpZGRlbjpyfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkocy50aXRsZSx0KSxpZDppLHJvbGU6bCwiYXJpYS1oaWRkZW4iOnJ9LG4pfX0sOTcxNTQ1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRDb2xsYXBzaWJsZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oOTk1NzE5KSxsPW4oOTQxOTE4KQo7Y29uc3Qgcj1bIm1lZGl1bSIsInNtYWxsIl0sZD0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e3RleHQ6bixjbGFzc05hbWU6aSxkaXNwbGF5TW9kZTpkLGNvbGxhcHNlV2hlbjp1PXIsLi4uY309ZSxoPSF1LmluY2x1ZGVzKGQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQocy5Ub29sV2lkZ2V0QnV0dG9uLHsuLi5jLHJlZjp0LHRleHQ6aD9uOnZvaWQgMCxjbGFzc05hbWU6bygpKGksbC5idXR0b24saD9sLndpdGhUZXh0Omwud2l0aG91dFRleHQpfSl9KSl9LDY0ODAwOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0TWVudVNwaW5uZXI6KCk9PnJ9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDY0OTE2NiksbD1uKDY2MTUwKTtmdW5jdGlvbiByKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkobC5zcGlubmVyV3JhcCx0KX0sYS5jcmVhdGVFbGVtZW50KHMuTG9hZGVyLG51bGwpKX19LDg2NDY4MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0Um93V3JhcDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oNTA2ODM4KTtjb25zdCBsPWEuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtjaGlsZHJlbjpuLGNsYXNzTmFtZTppLC4uLmx9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm8oKShpLHMud3JhcCkscmVmOnQsLi4ubH0sbil9KSl9LDI0NjcyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX1RPT0xCQVJfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xiYXJCdXR0b246KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDk5NTcxOSksbz1uKDE4MjMwOCk7Y29uc3Qgcz1pLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGw9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4uc309ZSxbbCxyXT0oMCxvLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24seyJhcmlhLWxhYmVsIjpuLC4uLnMsdGFnOiJidXR0b24iLHJlZjpsLHRhYkluZGV4OnIsImRhdGEtdG9vbHRpcCI6bn0pfSkpfSwxODYwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckNvbGxhcHNpYmxlQnV0dG9uOigpPT5zfSk7dmFyIGE9big3Nzk0NzQpLGk9bigxODIzMDgpLG89big5NzE1NDUpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7dG9vbHRpcDp0LC4uLm59PWUsW3MsbF09KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0Q29sbGFwc2libGVCdXR0b24seyJhcmlhLWxhYmVsIjp0LC4uLm4sdGFnOiJidXR0b24iLHRhYkluZGV4OmwscmVmOnMsImRhdGEtdG9vbHRpcCI6dH0pfX0sOTY3MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckljb25CdXR0b246KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDE4MjMwOCksbz1uKDkyOTY0OSk7Y29uc3Qgcz0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0W24sc109KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKHQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5BY2Nlc3NpYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6bix0YWJJbmRleDpzfSl9KSl9LDc3MTI4NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sYmFyTWVudUJ1dHRvbjooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMTgyMzA4KSxzPW4oNDUwMTQwKSxsPW4oOTM0OTI5KTtjb25zdCByPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLG1lbnVSZWZlcmVuY2U6cj1udWxsLC4uLmR9PWUsW3UsY109KDAsby51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGg9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShyKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGwuQWNjZXNzaWJsZU1lbnVCdXR0b24seyJhcmlhLWxhYmVsIjpuLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsLi4ucy5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMoKSwuLi5kLHJlZjp0LHRhZzoiYnV0dG9uIixidXR0b25SZWY6dSx0YWJJbmRleDpjLG1lbnVSZWZlcmVuY2U6aCx0b29sdGlwOm59KX0pKX0sNzM3MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3JldHVybiBQcm9taXNlLmFsbChbbi5lKDczNzApLG4uZSg4NDMwNiksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDgxMDcyKSxuLmUoMjM2MjQpLG4uZSg5NDIzMiksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg1NzMwMCksbi5lKDEyMDUxKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDQ3MzE2KSxuLmUoMzk2MDkpLG4uZSg3MTc1MyldKS50aGVuKG4uYmluZChuLDE2NDk1NykpfW4uZCh0LHtsb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGU6KCk9PmF9KX0sMjczNTA5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRlbnRNZW51OigpPT5nfSk7dmFyIGE9big3ODMyNTQpLGk9big3Nzk0NzQpLG89bigyMDgwODApLHM9bigzOTE5MTQpLGw9big5NzI3MzQpLHI9big3MzI3MzEpLGQ9bigyNzMzMTApLHU9big3ODQ1MTMpLGM9bigyMTQzMiksaD1uKDU1MzY2OSksdj1uKDEzNjYzKTtjb25zdCBtPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgcD1uKDk1NTU4OSksZj1uKDU0MTIxMik7Y29uc3QgZz0oMCxpLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e2RhdGE6cyxzeW1ib2w6aCxpc09wZW46dixvbkNsb3NlOmcsYW5jaG9yZWQ6dyx0cmFja2luZ0RhdGE6QyxwbGFjZW1lbnRSdWxlczpfLGFjdHVhbENvbnRlbnRJZDp5LHNob3dGaW5hbmNpYWxzOlM9ITEsc2hvd0NoYXJ0Ong9ITF9PWUsRT0oMCxjLnVzZU1lbnVHcm91cHMpKHtkYXRhOnMsc2hvd0ZpbmFuY2lhbHM6U30pCjtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KG0uUHJvdmlkZXIse3ZhbHVlOntzeW1ib2w6aCxzeW1ib2xUeXBlOnMudHlwZSx0cmFja2luZ0RhdGE6QyxvblNlbGVjdDpnfX0saS5jcmVhdGVFbGVtZW50KG8uUG9wb3ZlcktleWJvYXJkTmF2aWdhdG9yLHtpc09wZW46dixwbGFjZW1lbnRSdWxlczpfLG9uQ2xvc2U6ZyxhbmNob3JlZDp3LHdpZHRoOlt7Ynk6ImNsYXNzIixjbGFzc05hbWU6Zi5tZW51fSx7Ynk6ImNvbnRlbnQifV19LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImNvbnRlbnRzIn0scmVmOnR9LHgmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KGwuUG9wb3Zlckl0ZW0se3RpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDY4MTkyMSkpLHNlbGVjdGVkOiEoeSYmYy5DT05URU5UX0JVVFRPTl9JQ09OU1t5XSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpwfSksb25DbGljazooKT0+e2coKSx1LmFjdHVhbENvbnRlbnQuc2V0VmFsdWUobnVsbCl9fSksQm9vbGVhbihFLmxlbmd0aCkmJmkuY3JlYXRlRWxlbWVudChyLkRpdmlkZXJMaXN0SXRlbSxudWxsKSksRS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCx7a2V5OmUuYW5hbHl0aWNzU3ViTWVudX0saS5jcmVhdGVFbGVtZW50KGIsey4uLmV9KSx0IT09RS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KHIuRGl2aWRlckxpc3RJdGVtLG51bGwpKSkpKSkpfSkpO2Z1bmN0aW9uIGIoZSl7Y29uc3R7c3ltYm9sOnQsc3ltYm9sVHlwZTpuLHRyYWNraW5nRGF0YTphLG9uU2VsZWN0Om99PSgwLHYudXNlRW5zdXJlZENvbnRleHQpKG0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocy5TZWN0aW9uUG9wb3Zlckl0ZW0se3RpdGxlOmUudGl0bGV9LGUuaXRlbXMubWFwKChzPT5pLmNyZWF0ZUVsZW1lbnQobC5Qb3BvdmVySXRlbSx7a2V5OnMuaWQsdGl0bGU6cy50aXRsZSxzZWxlY3RlZDpzLmlzU2VsZWN0ZWQsbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpzLmljb259KSxvbkNsaWNrOigpPT57cy5pc1NlbGVjdGVkfHwoKDAsaC50cmFja01ldHJpY3NNZW51QWN0aW9uKSh7Li4uYSxzeW1ib2xfdHlwZTpuPz9udWxsLHN5bWJvbDp0LHN1Yl9tZW51OmUuYW5hbHl0aWNzU3ViTWVudSxtZW51X2l0ZW06cy5hbmFseXRpY3NOYW1lfSksbygpLHMub25DbGljaygpKX19KSkpKX19LDIxNDMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NPTlRFTlRfQlVUVE9OX0lDT05TOigpPT5MLHVzZU1lbnVHcm91cHM6KCk9Plp9KTt2YXIgYT1uKDc4MzI1NCksaT1uKDEzODYzOCksbz1uKDg4OTM5Nykscz1uKDc4NDUxMyksbD1uKDgzMzQwOSkscj1uKDE5OTc0KSxkPW4oOTIwNjMxKSx1PW4oMzE1ODUwKSxjPW4oNjMxMjU0KSxoPW4oMTA2OTAwKSx2PW4oODk4Mzc3KSxtPW4oOTAyODI5KSxwPW4oMjc1ODM1KSxmPW4oMzkxMTgyKSxnPW4oNTA2NzY3KSxiPW4oOTU3ODQ2KSx3PW4oMjM2NDI5KSxDPW4oNTUxMjgyKSxfPW4oMjA1NDcyKSx5PW4oOTIwODgpLFM9big1MTQxNDIpLHg9bigyOTIzNjApLEU9big5ODc5OTIpLE09big5MDc5MTEpLGs9bigxNTkyNDUpLEk9big3OTE2OTMpLFQ9big3MjcyNjkpLEE9big2MDQ5MDEpLEg9big2MjcwNDEpLFY9big2NjQ0ODEpLFI9bigzMTA5MjcpLEY9big3NTUyOTQpO2NvbnN0IEw9e2ZpbmFuY2lhbHM6dyxkb2N1bWVudHM6QyxuZXdzOl8saWRlYXM6VixzZWFzb25hbHM6eSxhbmFseXNpczpTLHRlY2huaWNhbHM6eCxmb3JlY2FzdDpSLCJmb3J3YXJkLWN1cnZlIjpFLGNvbnRyYWN0czpNLCJ5aWVsZC1jdXJ2ZSI6aywiZWNvbm9teS1pbmRpY2F0b3JzIjpJLG9wdGlvbnM6VCxib25kczpBLGV0ZnM6SCxjb21tdW5pdHk6Rn07ZnVuY3Rpb24gWihlKXtjb25zdHtkYXRhOnQsc2hvd0ZpbmFuY2lhbHM6d309ZSxDPSgwLGgudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6cy5hY3R1YWxDb250ZW50fSk7cmV0dXJuW3t0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5OTU2MDIpKSxhbmFseXRpY3NTdWJNZW51OiJGdW5kYW1lbnRhbHMiLGl0ZW1zOk4oW3tpZDoiZmluYW5jaWFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzgwMTU4KSksYW5hbHl0aWNzTmFtZToiRmluYW5jaWFscyIsaWNvbjp2LG9uQ2xpY2s6KCk9PigwLG8uc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKCksaGlkZGVuOiEodyYmdC5oYXNGaW5hbmNpYWxzKSxpc1NlbGVjdGVkOiJmaW5hbmNpYWxzIj09PUN9LHtpZDoiZG9jdW1lbnRzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3ODc0NDIpKSxhbmFseXRpY3NOYW1lOiJEb2N1bWVudHMiLGljb246dC5kb2N1bWVudHNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZG9jdW1lbnRzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZG9jdW1lbnRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImRvY3VtZW50cyI9PT1DfSx7aWQ6ImFuYWx5c2lzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5MjE2NDIpKSxhbmFseXRpY3NOYW1lOiJQcm9maWxlIixpY29uOnQuYW5hbHlzaXNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuYW5hbHlzaXNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5hbmFseXNpc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJhbmFseXNpcyI9PT1DfSx7aWQ6ImRlcml2YXRpdmVzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1NTgwNjcpKSxhbmFseXRpY3NOYW1lOiJEZXJpdmF0aXZlcyIsaWNvbjpnLG9uQ2xpY2s6KCk9PigwLGQuc2hvd0Rlcml2YXRpdmVzRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNEZXJpdmF0aXZlcyxpc1NlbGVjdGVkOiJkZXJpdmF0aXZlcyI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwsewpjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDMzNDQxNSkpLGFuYWx5dGljc1N1Yk1lbnU6IkFuYWx5c2lzIixpdGVtczpOKFt7aWQ6InRlY2huaWNhbHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDEyMTI3MCkpLGFuYWx5dGljc05hbWU6IlRlY2huaWNhbHMiLGljb246YixvbkNsaWNrOigpPT4oMCxsLnNob3dUZWNobmljYWxzRGlhbG9nKSh7c25hcHNob3Q6dC5saXN0ZWRFeGNoYW5nZSYmdC50eXBlP3tsaXN0ZWRfZXhjaGFuZ2U6dC5saXN0ZWRFeGNoYW5nZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3MscHJpY2VzY2FsZTp0LnByaWNlc2NhbGV9OnZvaWQgMCxzaG91bGRGb3JjZUZvY3VzOiExfSksaGlkZGVuOiF0Lmhhc1RlY2huaWNhbHMsaXNTZWxlY3RlZDoidGVjaG5pY2FscyI9PT1DfSx7aWQ6InNlYXNvbmFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzc4NzUwKSksYW5hbHl0aWNzTmFtZToiU2Vhc29uYWxzIixpY29uOnQuc2Vhc29uYWxzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnNlYXNvbmFsc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LnNlYXNvbmFsc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJzZWFzb25hbHMiPT09Q30se2lkOiJmb3J3YXJkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2Njg2ODApKSxhbmFseXRpY3NOYW1lOiJGb3J3YXJkIGN1cnZlIixpY29uOmYsb25DbGljazooKT0+KDAsci5zaG93Rm9yd2FyZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNGb3J3YXJkQ3VydmUsaXNTZWxlY3RlZDoiZm9yd2FyZC1jdXJ2ZSI9PT1DfSx7aWQ6InlpZWxkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2MTYxODApKSxhbmFseXRpY3NOYW1lOiJZaWVsZCBjdXJ2ZSIsaWNvbjptLG9uQ2xpY2s6KCk9PigwLGMuc2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNZaWVsZEN1cnZlLGlzU2VsZWN0ZWQ6InlpZWxkLWN1cnZlIj09PUN9LHtpZDoibmV3cyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oODQzNTIwKSksYW5hbHl0aWNzTmFtZToiTmV3cyIsaWNvbjp0Lm5ld3NBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQubmV3c0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0Lm5ld3NBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoibmV3cyI9PT1DfSx7aWQ6ImZvcmVjYXN0Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1MzQwMjcpKSxhbmFseXRpY3NOYW1lOiJGb3JlY2FzdCIsaWNvbjp0LmZvcmVjYXN0QWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmZvcmVjYXN0QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZm9yZWNhc3RBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZm9yZWNhc3QiPT09Q30se2lkOiJlY29ub215LWluZGljYXRvcnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDM4ODc4NikpLGFuYWx5dGljc05hbWU6IkVjb25vbXkgaW5kaWNhdG9ycyIsaWNvbjp0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZWNvbm9teUluZGljYXRvcnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZWNvbm9teS1pbmRpY2F0b3JzIj09PUN9LHtpZDoiY29tbXVuaXR5Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3MTM5MDUpKSxhbmFseXRpY3NOYW1lOiJDb21tdW5pdHkiLGljb246dC5jb21tdW5pdHlBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuY29tbXVuaXR5QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuY29tbXVuaXR5QWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImNvbW11bml0eSI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjEyNTUpKSxhbmFseXRpY3NTdWJNZW51OiJJbnN0cnVtZW50cyIsaXRlbXM6Tihbe2lkOiJjb250cmFjdHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDI0NTE0NykpLGFuYWx5dGljc05hbWU6IkNvbnRyYWN0cyIsaWNvbjpwLG9uQ2xpY2s6KCk9PigwLHUuc2hvd0NvbnRyYWN0c0RpYWxvZykoKSxoaWRkZW46IXQuaGFzQ29udHJhY3RzLGlzU2VsZWN0ZWQ6ImNvbnRyYWN0cyI9PT1DfSx7aWQ6Im9wdGlvbnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDk1NDExMSkpLGFuYWx5dGljc05hbWU6Ik9wdGlvbnMiLGljb246dC5vcHRpb25zQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0Lm9wdGlvbnNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5vcHRpb25zQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6Im9wdGlvbnMiPT09Q30se2lkOiJib25kcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjAyMTEzKSksYW5hbHl0aWNzTmFtZToiQm9uZHMiLGljb246dC5zdG9ja0JvbmRzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnN0b2NrQm9uZHNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5zdG9ja0JvbmRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImJvbmRzIj09PUN9LHtpZDoiZXRmcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oOTI3ODkpKSxhbmFseXRpY3NOYW1lOiJFVEZzIiwKaWNvbjp0LmV0ZnNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZXRmc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LmV0ZnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZXRmcyI9PT1DfV0pfV0uZmlsdGVyKChlPT5lLml0ZW1zLmxlbmd0aCkpfWZ1bmN0aW9uIE4oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hZS5oaWRkZW58fGUuaXNTZWxlY3RlZCkpfX0sMzE1ODUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dDb250cmFjdHNEaWFsb2c6KCk9Pml9KTt2YXIgYT1uKDg5MDgzNSk7ZnVuY3Rpb24gaShlKXthLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiY29udHJhY3RzIixlKX19LDQ5MDIwNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+aX0pO3ZhciBhPW4oMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7Y29uc3QgdD1hd2FpdCgwLGEuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IG49dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIG58fG51bGx9fSw1MTA1OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGVhZGluZ0Vtb2ppVGV4dDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjQ5ZTMpLG89big0Mjg5MjQpLHM9big5OTU4NTEpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omw9ITEsc3BhY2VBZnRlckVtb2ppOnI9ITB9PWUse2xlYWRpbmdFbW9qaTpkLHByb2Nlc3NlZFRleHQ6dX09KDAsYS51c2VNZW1vKSgoKCk9PigwLGkucHJvY2Vzc1RleHRXaXRoTGVhZGluZ0Vtb2ppKSh7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omx9KSksW3QsbixsXSk7cmV0dXJuIGQ/YS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cy5lbW9qaVdyYXB9LCLCoCIsYS5jcmVhdGVFbGVtZW50KG8uRW1vamlJdGVtLHtjbGFzc05hbWU6cy5lbW9qaSxlbW9qaTpkfSkpLCIiIT09dSYmYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxyJiZhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLCLCoCIpLHUpKTphLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLHUpfX0sMjQ5ZTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0TGVhZGluZ0Vtb2ppSHRtbDooKT0+Yyxwcm9jZXNzVGV4dFdpdGhMZWFkaW5nRW1vamk6KCk9PnV9KTt2YXIgYT1uKDY0MTU5MyksaT1uKDkzMDIzMSksbz1uKDMxNTE1NCkscz1uKDQyNzc3MyksbD1uKDMzMzMxMikscj1uKDk5NTg1MSk7Y29uc3QgZD0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhZHZhbmNlZF9lbW9qaV9pbl90aXRsZXMiKTtmdW5jdGlvbiB1KGUpe2NvbnN0e3RleHQ6dCx0ZXh0UmVuZGVyOm49ZT0+ZSxmaXJzdFNlZ21lbnRPbmx5Omk9ITF9PWUsbD0oMCxhLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKSh0KSxyPW51bGwhPT1sJiYoMCxvLmlzU3VwcG9ydGVkRW1vamkpKGwpP2w6cy5FTVBUWV9FTU9KSSx1PWk/bHx8IiI6dDtpZighZHx8cj09PXMuRU1QVFlfRU1PSkkpcmV0dXJue2xlYWRpbmdFbW9qaToiIixwcm9jZXNzZWRUZXh0Om4odSl9O3JldHVybntsZWFkaW5nRW1vamk6cixwcm9jZXNzZWRUZXh0Om4odS5yZXBsYWNlKHIsIiIpKX19ZnVuY3Rpb24gYyhlKXtjb25zdHtwcm9jZXNzZWRUZXh0OnQsbGVhZGluZ0Vtb2ppOm59PXUoe3RleHQ6ZX0pLGk9KDAsYS5odG1sRXNjYXBlKSh0KTtpZighbilyZXR1cm4gaTtyZXR1cm5gJHtmdW5jdGlvbihlKXtjb25zdCB0PSgwLGwuZ2V0VHdlbW9qaVVybCkoZSwicG5nIik7cmV0dXJuYDxzcGFuIGNsYXNzPSR7ci50b29sdGlwRW1vamlXcmFwfT4mbmJzcDxpbWcgY2xhc3M9JHtyLnRvb2x0aXBFbW9qaX0gc3JjPSR7dH0gZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGFsdD0iIiBkcmFnZ2FibGU9ImZhbHNlIi8+PC9zcGFuPmB9KG4pfSZuYnNwOyR7aX1gfX0sOTk0MTc4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGE9big5NjcxMjEpO2Z1bmN0aW9uIGkoKXt9ZnVuY3Rpb24gbygpe31vLnJlc2V0V2FybmluZ0NhY2hlPWksZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbixpLG8scyl7aWYocyE9PWEpe3ZhciBsPW5ldyBFcnJvcigiQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcyIpO3Rocm93IGwubmFtZT0iSW52YXJpYW50IFZpb2xhdGlvbiIsbH19ZnVuY3Rpb24gdCgpe3JldHVybiBlfWUuaXNSZXF1aXJlZD1lO3ZhciBuPXthcnJheTplLGJvb2w6ZSxmdW5jOmUsbnVtYmVyOmUsb2JqZWN0OmUsc3RyaW5nOmUsc3ltYm9sOmUsYW55OmUsYXJyYXlPZjp0LGVsZW1lbnQ6ZSxlbGVtZW50VHlwZTplLGluc3RhbmNlT2Y6dCxub2RlOmUsb2JqZWN0T2Y6dCxvbmVPZjp0LG9uZU9mVHlwZTp0LHNoYXBlOnQsZXhhY3Q6dCxjaGVja1Byb3BUeXBlczpvLHJlc2V0V2FybmluZ0NhY2hlOml9O3JldHVybiBuLlByb3BUeXBlcz1uLG59fSwyMjE4OTYoZSx0LG4pe2UuZXhwb3J0cz1uKDk5NDE3OCkoKX0sOTY3MTIxKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9IlNFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEIn0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXsKaWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9big1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG89U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHI9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGQ9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksYz1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHA9T2JqZWN0LmFzc2lnbixmPXt9O2Z1bmN0aW9uIGcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1mdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIHcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1nLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGcucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZy5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGIucHJvdG90eXBlPWcucHJvdG90eXBlO3ZhciBDPXcucHJvdG90eXBlPW5ldyBiO0MuY29uc3RydWN0b3I9dyxwKEMsZy5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIF89QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksUz17Y3VycmVudDpudWxsfSx4PXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQsYSl7dmFyIGksbz17fSxzPW51bGwsbD1udWxsO2lmKG51bGwhPXQpZm9yKGkgaW4gdm9pZCAwIT09dC5yZWYmJihsPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHM9IiIrdC5rZXkpLHQpeS5jYWxsKHQsaSkmJiF4Lmhhc093blByb3BlcnR5KGkpJiYob1tpXT10W2ldKTt2YXIgcj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXIpby5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxyKXtmb3IodmFyIGQ9QXJyYXkociksdT0wO3U8cjt1KyspZFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWR9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKGkgaW4gcj1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1vW2ldJiYob1tpXT1yW2ldKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OnMscmVmOmwscHJvcHM6byxfb3duZXI6Uy5jdXJyZW50fX1mdW5jdGlvbiBNKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBrPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVChlLHQsaSxvLHMpe3ZhciBsPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09bCYmImJvb2xlYW4iIT09bHx8KGU9bnVsbCk7dmFyIHI9ITE7aWYobnVsbD09PWUpcj0hMDtlbHNlIHN3aXRjaChsKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOnI9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSBhOnI9ITB9fWlmKHIpcmV0dXJuIHM9cyhyPWUpLGU9IiI9PT1vPyIuIitJKHIsMCk6byxfKHMpPyhpPSIiLG51bGwhPWUmJihpPWUucmVwbGFjZShrLCIkJi8iKSsiLyIpLFQocyx0LGksIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1zJiYoTShzKSYmKHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShzLGkrKCFzLmtleXx8ciYmci5rZXk9PT1zLmtleT8iIjooIiIrcy5rZXkpLnJlcGxhY2UoaywiJCYvIikrIi8iKStlKSksdC5wdXNoKHMpKSwxO2lmKHI9MCxvPSIiPT09bz8iLiI6bysiOiIsXyhlKSlmb3IodmFyIGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9bytJKGw9ZVtkXSxkKTtyKz1UKGwsdCxpLHUscyl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9diYmZVt2XXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSwKZD0wOyEobD1lLm5leHQoKSkuZG9uZTspcis9VChsPWwudmFsdWUsdCxpLHU9bytJKGwsZCsrKSxzKTtlbHNlIGlmKCJvYmplY3QiPT09bCl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gcn1mdW5jdGlvbiBBKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBhPVtdLGk9MDtyZXR1cm4gVChlLGEsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLGkrKyl9KSksYX1mdW5jdGlvbiBIKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFY9e2N1cnJlbnQ6bnVsbH0sUj17dHJhbnNpdGlvbjpudWxsfSxGPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlYsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6UixSZWFjdEN1cnJlbnRPd25lcjpTfTt0LkNoaWxkcmVuPXttYXA6QSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtBKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gQShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBBKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTShlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1nLHQuRnJhZ21lbnQ9aSx0LlByb2ZpbGVyPXMsdC5QdXJlQ29tcG9uZW50PXcsdC5TdHJpY3RNb2RlPW8sdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Rix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsYSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIGk9cCh7fSxlLnByb3BzKSxvPWUua2V5LHM9ZS5yZWYsbD1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHM9dC5yZWYsbD1TLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciByPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGQgaW4gdCl5LmNhbGwodCxkKSYmIXguaGFzT3duUHJvcGVydHkoZCkmJihpW2RdPXZvaWQgMD09PXRbZF0mJnZvaWQgMCE9PXI/cltkXTp0W2RdKX12YXIgZD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWQpaS5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxkKXtyPUFycmF5KGQpO2Zvcih2YXIgdT0wO3U8ZDt1Kyspclt1XT1hcmd1bWVudHNbdSsyXTtpLmNoaWxkcmVuPXJ9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5Om8scmVmOnMscHJvcHM6aSxfb3duZXI6bH19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6cixfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bCxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpkLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1NLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0Okh9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVIudHJhbnNpdGlvbjtSLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1IudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBWLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFYuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7CnJldHVybiBWLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFYuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFYuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sMjY3MDI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUklFU19JQ09OUzooKT0+eH0pO3ZhciBhPW4oNzIyNzYzKSxpPW4oOTE3Njk2KSxvPW4oNzczMjY1KSxzPW4oNDU1NjM4KSxsPW4oNjU5NTA1KSxyPW4oNjQ3NjMwKSxkPW4oMTkyNDgyKSx1PW4oOTg3MDIxKSxjPW4oOTU5MjMpLGg9big4Njc1NDUpLHY9big1MjI5NDYpLG09bigyMTYzMzUpLHA9bigzNzYxNiksZj1uKDUwMDUwNyksZz1uKDM4MTkyMyksYj1uKDQyMDM0MCksdz1uKDk2NTYzNSksQz1uKDI0MzQwMiksXz1uKDg0MjA1MSkseT1uKDIxNTQ4MCksUz1uKDQ0MzE2Nyk7Y29uc3QgeD17MzpoLDE2OnYsMDptLDE6cCw4OmYsOTpnLDI6YiwxNDp3LDE1OkMsMTA6XywxMjp5LDEzOlN9O3hbNF09YSx4WzZdPWkseFs3XT1vLHhbNV09cyx4WzE5XT1sLHhbMTFdPXIseFsxN109ZCx4WzE4XT11LHhbMjBdPWN9LDgyNDU5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHVkeVRlbXBsYXRlRGVzY1N0cmluZzooKT0+YX0pO24oOTQzOTUpO2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFtuLGFdPXQuZ2V0KGUuaWQpfHxbZS5kZXNjcmlwdGlvbiwwXTt0LnNldChlLmlkLFtuLGErMV0pfSkpLEFycmF5LmZyb20odC52YWx1ZXMoKSkubWFwKCgoW2UsdF0pPT5gJHtlfSR7dD4xP2AgeCAke3R9YDoiIn1gKSkuam9pbigiLCAiKX19LDMxMzgyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUZ1bmRhbWVudGFsczooKT0+cn0pO3ZhciBhPW4oOTMwNTY2KSxpPW4oMTUyNjk5KSxvPW4oOTQ4MzgwKTtjb25zdCBzPSJmdW5kYW1lbnRhbHMuZmF2b3JpdGVzIjtsZXQgbD1udWxsO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9mYXZvcml0ZXM9W10sdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSxpLlRWWFdpbmRvd0V2ZW50cy5vbigiRnVuZEZhdm9yaXRlc0NoYW5nZWQiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO3RoaXMuX2xvYWRGcm9tU3RhdGUodHx8W10pfSkpLGEub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe3JldHVybi0xIT09dGhpcy5fZmluZEZhdkluZGV4KGUpfXRvZ2dsZUZhdm9yaXRlKGUpe3RoaXMuaXNGYXYoZSk/dGhpcy5yZW1vdmVGYXZvcml0ZShlKTp0aGlzLmFkZEZhdm9yaXRlKGUpfXRvZ2dsZUZhdm9yaXRlQXJyYXkoZSl7Y29uc3QgdD1lLnNvbWUoKGU9PnRoaXMuaXNGYXYoZSkpKTtlLmZvckVhY2goKGU9PntpZih0KXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJnRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UodCwxKX1lbHNlIHRoaXMuX2Zhdm9yaXRlcy5wdXNoKGUpfSkpLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3NhdmVGYXZzKCl9YWRkRmF2b3JpdGUoZSl7dGhpcy5fZmF2b3JpdGVzLnB1c2goZSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCksdGhpcy5fc2F2ZUZhdnMoKX1yZW1vdmVGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJih0aGlzLl9mYXZvcml0ZXMuc3BsaWNlKHQsMSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWR9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIG51bGw9PT1sJiYobD1uZXcgciksbH1fbG9hZEZhdnMoKXtjb25zdCBlPWEuZ2V0SlNPTihzLFtdKTt0aGlzLl9sb2FkRnJvbVN0YXRlKGUpfV9zYXZlRmF2cygpe2Euc2V0SlNPTihzLHRoaXMuX2Zhdm9yaXRlcyx7Zm9yY2VGbHVzaDohMH0pLGkuVFZYV2luZG93RXZlbnRzLmVtaXQoIkZ1bmRGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh0aGlzLl9mYXZvcml0ZXMpKX1fbG9hZEZyb21TdGF0ZShlKXt0aGlzLl9mYXZvcml0ZXM9ZSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuaW5kZXhPZihlKX19fSw2ODU5NzkoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgYSxpLG89big0ODI1MDQpLHtjbG9uZTpzfT1uKDYwMTg0MSksbD0oYT17fSxpPW5ldyBTZXQse3N1Z2dlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbj1vLmFqYXgoe3VybDp0fHwiL3B1YnNjcmlwdHMtc3VnZ2VzdC1qc29uLyIsdHlwZToiR0VUIixkYXRhOntzZWFyY2g6ZX0sZGF0YVR5cGU6Impzb24ifSk7cmV0dXJuIG4uZG9uZSgoZnVuY3Rpb24oZSl7CmlmKGUmJmUucmVzdWx0cylmb3IodmFyIHQ9MDt0PGUucmVzdWx0cy5sZW5ndGg7dCsrKWFbZS5yZXN1bHRzW3RdLnNjcmlwdElkUGFydF18fChhW2UucmVzdWx0c1t0XS5zY3JpcHRJZFBhcnRdPXMoZS5yZXN1bHRzW3RdKSl9KSksbn0saW5mbzpmdW5jdGlvbihlLHQ9ITEpe2Zvcih2YXIgbj1vLkRlZmVycmVkKCksbD1bXSxyPVtdLGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9ZVtkXSxjPXR8fCFpLmhhcyh1KTthW3VdP2wucHVzaChzKGFbdV0pKTpyLmxlbmd0aDwzZTMmJmMmJnIucHVzaCh1KX1pZighci5sZW5ndGgpcmV0dXJuIG4ucmVzb2x2ZShsKS5wcm9taXNlKCk7dmFyIGg9e3NjcmlwdElkUGFydDpyLmpvaW4oIiwiKSxzaG93X2hpZGRlbjp0fTtyZXR1cm4gby5hamF4KHt1cmw6Ii9wdWJzY3JpcHRzLWdldC8iLHR5cGU6IlBPU1QiLGRhdGE6aCxkYXRhVHlwZToianNvbiJ9KS5kb25lKChmdW5jdGlvbihlKXtlPWV8fFtdO3ZhciB0PW5ldyBTZXQocik7Zm9yKHZhciBvIGluIGUpe3ZhciBkPWVbb107YVtkLnNjcmlwdElkUGFydF09cyhkKSxsLnB1c2goZCksdC5oYXMoZC5zY3JpcHRJZFBhcnQpJiZ0LmRlbGV0ZShkLnNjcmlwdElkUGFydCl9dC5mb3JFYWNoKChmdW5jdGlvbihlKXtpLmFkZChlKX0pKSxuLnJlc29sdmUobCl9KSkuZmFpbCgoZnVuY3Rpb24oKXtuLnJlamVjdCgpfSkpLG59LGludmFsaWRhdGVDYWNoZTpmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2RlbGV0ZSBhW2VdfSkpfSxjbGVhbkNhY2hlOmZ1bmN0aW9uKCl7YT1bXX19KTtlLmV4cG9ydHM9bH0sNjA0OTEyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgOGE0LjUgNC41IDAgMSAxIDkgMCA0LjUgNC41IDAgMCAxLTkgMFpNOCAyYTYgNiAwIDEgMCAzLjY1IDEwLjc2bDMuNTggMy41OCAxLjA2LTEuMDYtMy41Ny0zLjU3QTYgNiAwIDAgMCA4IDJaIi8+PC9zdmc+J30sNTIyOTQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMiA1aDF2MWgtMXptLTEgMlY2aDF2MXptLTEgMVY3aDF2MXptLTEgMVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAwaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xLTFoMXYxaC0xem0tMS0xaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xIDBWN2gxdjF6TTkgOVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAxdi0xaDF2MXptMCAwdjFINHYtMXoiLz48cGF0aCBkPSJNMjMuMzQgMTAuMzcgMTUuNSAxNy43bC01LTUtNS4xNSA0LjY3LS42OC0uNzQgNS44Ni01LjMyIDUgNSA3LjE0LTYuNjd6TTYgMjFINXYxaDF6bTEtMXYxSDZ2LTF6bTEtMUg3djFoMXptMS0xdjFIOHYtMXoiLz48cGF0aCBkPSJNMTAgMTdIOXYxaDF6bTEgMGgtMXYtMWgxem0xIDFoLTF2LTFoMXptMSAxdi0xaC0xdjF6bTEgMWgtMXYtMWgxem0xIDF2LTFoLTF2MXptMSAwdjFoLTF2LTF6bTEtMXYxaC0xdi0xem0xLTF2MWgtMXYtMXptMS0xaC0xdjFoMXptMS0xdjFoLTF2LTF6bTEtMWgtMXYxaDF6bTEtMXYxaC0xdi0xem0xLTFoLTF2MWgxem0wIDBoMXYtMWgtMXoiLz48L3N2Zz4nfSw3NjE5NzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUgNy41QzUgNi42NyA1LjY3IDYgNi41IDZoNC4ybDIgMmg4LjhjLjgzIDAgMS41LjY3IDEuNSAxLjV2MTBjMCAuODMtLjY3IDEuNS0xLjUgMS41aC0xNUExLjUgMS41IDAgMCAxIDUgMTkuNXYtMTJaTTYuNSA3YS41LjUgMCAwIDAtLjUuNVYxMWgxNlY5LjVhLjUuNSAwIDAgMC0uNS0uNWgtOS4ybC0yLTJINi41Wk0yMiAxMkg2djcuNWMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjEyWiIvPjwvc3ZnPid9LDI2NjEwMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuOSAxNC4xVjIyaDEuMnYtNy45SDIzdi0xLjJoLTcuOVY1aC0xLjJ2Ny45SDZ2MS4yaDcuOVoiLz48L3N2Zz4nfSw2MDk1MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDR2NGgyYTEgMSAwIDAgMSAuODMgMS41NWwtNCA2QTEgMSAwIDAgMSAxNCAxNXYtNGgtMmExIDEgMCAwIDEtLjgzLTEuNTVsNC02QTEgMSAwIDAgMSAxNyA0bS0yIDExIDQtNmgtM1Y0bC00IDZoM3oiLz48cGF0aCBkPSJNNSAxMy41YTcuNSA3LjUgMCAwIDEgNi03LjM1djEuMDJBNi41IDYuNSAwIDEgMCAxOC45OCAxM2gxbC4wMi41YTcuNDcgNy40NyAwIDAgMS0xLjg1IDQuOTRMMjMgMjMuMjlsLS43MS43LTQuODUtNC44NEE3LjUgNy41IDAgMCAxIDUgMTMuNSIvPjwvc3ZnPid9LDE1OTg3NyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOCA3aDNhMSAxIDAgMCAxIDEgMXYzYTEgMSAwIDAgMS0xIDFIOGExIDEgMCAwIDEtMS0xVjhhMSAxIDAgMCAxIDEtMXpNNiA4YzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg4YTIgMiAwIDAgMS0yLTJWOHptMTEtMWgzYTEgMSAwIDAgMSAxIDF2M2ExIDEgMCAwIDEtMSAxaC0zYTEgMSAwIDAgMS0xLTFWOGExIDEgMCAwIDEgMS0xem0tMiAxYzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMmgtM2EyIDIgMCAwIDEtMi0yVjh6bS00IDhIOGExIDEgMCAwIDAtMSAxdjNhMSAxIDAgMCAwIDEgMWgzYTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMXptLTMtMWEyIDIgMCAwIDAtMiAydjNjMCAxLjEuOSAyIDIgMmgzYTIgMiAwIDAgMCAyLTJ2LTNhMiAyIDAgMCAwLTItMkg4em05IDFoM2ExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMCAxLTEgMWgtM2ExIDEgMCAwIDEtMS0xdi0zYTEgMSAwIDAgMSAxLTF6bS0yIDFjMC0xLjEuOS0yIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyaC0zYTIgMiAwIDAgMS0yLTJ2LTN6Ii8+PC9zdmc+J30sNDM0MDM3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE4LjVBMi41IDIuNSAwIDAgMCA5LjUgMjFIMTJ2MUg5LjVBMy41IDMuNSAwIDAgMSA2IDE4LjVWMTZoMXptMTUgMGEzLjUgMy41IDAgMCAxLTMuNSAzLjVIMTZ2LTFoMi41YTIuNSAyLjUgMCAwIDAgMi41LTIuNVYxNmgxek0xMiA3SDkuNUEyLjUgMi41IDAgMCAwIDcgOS41VjEySDZWOS41QTMuNSAzLjUgMCAwIDEgOS41IDZIMTJ6bTYuNS0xQTMuNSAzLjUgMCAwIDEgMjIgOS41VjEyaC0xVjkuNUEyLjUgMi41IDAgMCAwIDE4LjUgN0gxNlY2eiIvPjwvc3ZnPid9LDE3NTQ2NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDE3YTIuNSAyLjUgMCAwIDEgMi41IDIuNVYyMmgtMXYtMi41QTEuNSAxLjUgMCAwIDAgOC41IDE4SDZ2LTF6TTIyIDE4aC0yLjVhMS41IDEuNSAwIDAgMC0xLjUgMS41VjIyaC0xdi0yLjVhMi41IDIuNSAwIDAgMSAyLjUtMi41SDIyek0xMSA4LjVBMi41IDIuNSAwIDAgMSA4LjUgMTFINnYtMWgyLjVBMS41IDEuNSAwIDAgMCAxMCA4LjVWNmgxem03IDBhMS41IDEuNSAwIDAgMCAxLjUgMS41SDIydjFoLTIuNUEyLjUgMi41IDAgMCAxIDE3IDguNVY2aDF6Ii8+PC9zdmc+J30sNzU1Mjk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDEwYTMgMyAwIDAgMSAzIDNIOWEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMkgxYTMgMyAwIDAgMSAzLTN6bTcgMGEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTR2LTF6TTUuODU3IDQuMDA1YTIuMyAyLjMgMCAwIDEgMi4xMzggMi4xMzhDOCA2LjIyIDggNi4zMTUgOCA2LjVzMCAuMjgtLjAwNS4zNTdsLS4wMjQuMjEyYTIuMyAyLjMgMCAwIDEtMi4xMTQgMS45MjZMNS41IDlsLS4zNTctLjAwNUEyLjMgMi4zIDAgMCAxIDMuMDI5IDcuMDdsLS4wMjQtLjIxMkMzIDYuNzggMyA2LjY4NSAzIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzUuMjIgNCA1LjMxNSA0IDUuNSA0cy4yOCAwIC4zNTcuMDA1bTcgMGEyLjMgMi4zIDAgMCAxIDIuMTM4IDIuMTM4QzE1IDYuMjIgMTUgNi4zMTUgMTUgNi41czAgLjI4LS4wMDUuMzU3bC0uMDI0LjIxMmEyLjMgMi4zIDAgMCAxLTIuMTE0IDEuOTI2TDEyLjUgOWwtLjM1Ny0uMDA1YTIuMyAyLjMgMCAwIDEtMi4xMTQtMS45MjZsLS4wMjQtLjIxMkMxMCA2Ljc4IDEwIDYuNjg1IDEwIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzEyLjIyIDQgMTIuMzE1IDQgMTIuNSA0cy4yOCAwIC4zNTcuMDA1bS03LjY0Ni45OThBMS4zIDEuMyAwIDAgMCA0LjAwMyA2LjIxIDYgNiAwIDAgMCA0IDYuNWMwIC4yMDEgMCAuMjUzLjAwMy4yOUExLjMgMS4zIDAgMCAwIDUuMjEgNy45OTZDNS4yNDcgOCA1LjI5OCA4IDUuNSA4cy4yNTMgMCAuMjktLjAwM0ExLjMgMS4zIDAgMCAwIDYuOTk2IDYuNzlDNyA2Ljc1MyA3IDYuNzAxIDcgNi41czAtLjI1My0uMDAzLS4yODlBMS4zIDEuMyAwIDAgMCA1Ljc5IDUuMDAzIDYgNiAwIDAgMCA1LjUgNWE2IDYgMCAwIDAtLjI5LjAwM203IDBhMS4zIDEuMyAwIDAgMC0xLjIwOCAxLjIwOEE2IDYgMCAwIDAgMTEgNi41YzAgLjIwMSAwIC4yNTMuMDAzLjI5YTEuMyAxLjMgMCAwIDAgMS4yMDggMS4yMDdjLjAzNi4wMDMuMDg3LjAwMy4yODkuMDAzcy4yNTMgMCAuMjktLjAwM2ExLjMgMS4zIDAgMCAwIDEuMjA3LTEuMjA4QzE0IDYuNzUzIDE0IDYuNzAxIDE0IDYuNXMwLS4yNTMtLjAwMy0uMjg5YTEuMyAxLjMgMCAwIDAtMS4yMDgtMS4yMDhBNiA2IDAgMCAwIDEyLjUgNWMtLjIwMiAwLS4yNTMgMC0uMjkuMDAzIi8+PC9zdmc+J30sMjc1ODM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjIgMjRINlY0aDE2ek03IDIzaDE0VjVIN3ptMTItNS4zMzVMMTUuODYzIDIxbC0yLjEyOS0xLjUzMS41NzktLjgxNiAxLjQxOCAxLjAwOEwxOC4yNTQgMTd6TTE1IDE0SDl2LTFoNnptNC0zSDl2LTFoMTB6bTAtM0g5VjdoMTB6Ii8+PC9zdmc+J30sNTA2NzY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi41IDdhMi41IDIuNSAwIDEgMS0yLjQ1IDNIMTguNWEuNS41IDAgMCAwLS41LjV2N2EuNS41IDAgMCAwIC41LjVoMS41NWEyLjUwMSAyLjUwMSAwIDEgMSAwIDFIMTguNWExLjUgMS41IDAgMCAxLTEuNS0xLjV2LTNoLTIuMDIzQTUuOTk5IDUuOTk5IDAgMCAxIDMgMTRhNiA2IDAgMCAxIDExLjk3OC0uNUgxN3YtM0ExLjUgMS41IDAgMCAxIDE4LjUgOWgxLjU1YTIuNSAyLjUgMCAwIDEgMi40NS0ybTAgMTBhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNNOSA5YTUgNSAwIDEgMCAwIDEwQTUgNSAwIDAgMCA5IDltLjUgMi4wMTNhMS43IDEuNyAwIDAgMSAxLjUgMS42ODhoLTFhLjcuNyAwIDAgMC0uNy0uN2gtLjU1YS43NS43NSAwIDAgMCAwIDEuNTAxaC41YTEuNzQ5IDEuNzQ5IDAgMCAxIC4yNSAzLjQ3OFYxOGgtMXYtMS4wMTJBMS42OSAxLjY5IDAgMCAxIDcgMTUuMzExaDFjMCAuMzguMzA5LjY5LjY5LjY5aC41NmEuNzUuNzUgMCAwIDAgMC0xLjQ5OWgtLjVhMS43NSAxLjc1IDAgMCAxLS4yNS0zLjQ4MlYxMGgxek0yMi41IDhhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwxMTI2NjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTd2NC41YS41LjUgMCAwIDAgLjUuNWgxNGEuNS41IDAgMCAwIC41LS41VjE3aDF2NC41YTEuNSAxLjUgMCAwIDEtMS41IDEuNWgtMTRBMS41IDEuNSAwIDAgMSA2IDIxLjVWMTd6bTgtMTF2MTEuMjkzbDMuMTQ2LTMuMTQ2LjcwNy43MDctNC4zNTMgNC4zNTMtNC4zNTMtNC4zNTMuNzA3LS43MDdMMTQgMTcuMjkzVjZ6Ii8+PC9zdmc+J30sODk4Mzc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiA3djE1SDV2LTZoNHYtNmg1djNoM1Y3ek02IDIxaDN2LTRINnptNC0xMHYxMGgzVjExem00IDEwaDN2LTdoLTN6bTQgMGgzVjhoLTN6Ii8+PC9zdmc+J30sMzEwOTI3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMCAxNUg5di0yaDF6bTYuMDAxLTZoLTFWNi42NDhsLTUuMzI0IDQuOTU2LS4zMzQtLjI1LTMuMzE3LTIuNDc3TDIuNjgyIDEyIDIgMTEuMjdsMy45NTYtMy42OTQgMy42NSAyLjcyN0wxNC4yMyA2SDEyVjVoNC4wMDF6TTEwIDhIOVY2aDF6bTAtNEg5VjJoMXoiLz48L3N2Zz4nfSw2NjQ0ODEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMmMzLjI5NSAwIDYgMi41NzUgNiA1Ljc5MiAwIDEuNzUzLS43MjMgMy4zNC0yIDQuNDA4VjE0aC0xLjk5djJINy4wMDZ2LTJINS4wMDR2LTEuNzY1QzMuNzggMTEuMTQ4IDMgOS40OTQgMyA3Ljc5MiAzLjAwMSA0LjU3NSA1LjcwNSAyIDkgMm0tLjk5NCAxM2gyLjAwNHYtMUg4LjAwNnptLTIuMDAyLTN2MUgxMnYtMXpNOSAzQzYuMjIgMyA0LjAwMSA1LjE2MyA0LjAwMSA3Ljc5MmMwIDEuMTc4LjQ1NSAyLjMzNSAxLjE5MiAzLjIwOGgzLjMxNVY4SDYuMDA0VjdoNi4wMDh2MUg5LjUwOHYzaDMuM0MxMy41NyAxMC4xNTYgMTQgOS4wMzQgMTQgNy43OTIgMTQgNS4xNjMgMTEuNzggMyA5IDMiLz48L3N2Zz4nfSwxNDgzODcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkuNTU0IDEyLjUwNy0zLjMyMyAzLjMyNGE0LjIgNC4yIDAgMCAwIDUuOTQgNS45NGwzLjMyMy0zLjMyNC43MDcuNzA3LTMuMzI0IDMuMzIzYTUuMiA1LjIgMCAwIDEtNy4zNTMtNy4zNTNMOC44NDcgMTEuOHptNy43NTQtMS4xMDctNS45MDcgNS45MDctLjcwNy0uNzA3IDUuOTA3LTUuOTA3em0tMi4xODQtNS44NzZhNS4xOTkgNS4xOTkgMCAxIDEgNy4zNTMgNy4zNTNMMTkuMTU1IDE2LjJsLS43MDgtLjcwNyAzLjMyMy0zLjMyNGE0LjE5OSA0LjE5OSAwIDEgMC01LjkzOS01LjkzOGwtMy4zMjMgMy4zMjItLjcwNy0uNzA3eiIvPjwvc3ZnPid9LDEzOTY0MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE3IDguMiA5IDE2IDEgOC4yIDMuNjY3IDNoMTAuNjY2ek0yLjIyNiA4IDkgMTQuNjAyIDE1Ljc3MyA4bC0yLjA1LTRINC4yNzd6TTkuNSA3SDExdjNIOS41djJoLTF2LTJIN1Y3aDEuNVY1aDF6Ii8+PC9zdmc+J30sOTU1NTg5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNSAxMy4xODIgMTQgMjUgMyAxMy4xODIgNi42NjcgNWgxNC42NjZ6bS0yMC44MTctLjE5N0wxNCAyMy41MzFsOS44MTYtMTAuNTQ2TDIwLjY4NiA2SDcuMzE0ek0xNC41IDEwSDE2djZoLTEuNXYyaC0xdi0ySDEydi02aDEuNVY4aDF6TTEzIDE1aDJ2LTRoLTJ6Ii8+PC9zdmc+J30sMzkxMTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDIwaDE1djFIOHY0SDdWM2gxek0yMi4wMDUgNWMwIDQuOTAzLS44MyA4LjE1LTIuMjM1IDEwLjE4MkMxOC4zNCAxNy4yNDkgMTYuMzU3IDE4IDE0LjI0MSAxOGMtMS40NTYgMC0yLjk2Mi0uMzgtNC4yMzktMS4xMzZsLjUxLS44NjFjMS4xMTIuNjU4IDIuNDQuOTk3IDMuNzMuOTk3IDEuODQ3IDAgMy40OTUtLjYzNiA0LjcwNi0yLjM4NyAxLjIzNi0xLjc4NiAyLjA1Ny00Ljc5IDIuMDU3LTkuNjEzeiIvPjwvc3ZnPid9LDkwMjgyOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAyNkg0VjJoMXpNMjMgOC41MDFsLTMuMzI4IDMuMDAxLS4zMzUtLjM3MS0uMzM1LS4zNzJMMjAuOTUyIDlIMjAuNWMtMy45MzggMC03LjQxMyAxLjk4LTkuNDg1IDQuOTk4IDIuMDcyIDMuMDE5IDUuNTQ1IDUgOS40ODMgNS4wMDFoLjQ1MkwxOSAxNy4yNDJsLjY3LS43NDIgMy4zMjggMy0zLjMyOCAzLjAwMi0uNjctLjc0NEwyMC45NSAyMGgtLjQ1MmExMi40OCAxMi40OCAwIDAgMS0xMC4wNTYtNS4wNzhBMTEuNDUgMTEuNDUgMCAwIDAgOSAyMC41VjIzSDh2LTIuNDk5YzAtNi45MDMgNS41OTctMTIuNSAxMi41LTEyLjVoLjQ1MmwtMS45NS0xLjc1OC42Ny0uNzQzek04Ljk5OCA3LjUwMmMwIDEuNjM1LjM0NCAzLjE4OS45NTkgNC41OTdxLS4zNTUuNDUyLS42NjcuOTM2YTEyLjQ1IDEyLjQ1IDAgMCAxLTEuMjkyLTUuNTMzdi0yLjVoLjVsLjUtLjAwMXoiLz48L3N2Zz4nfSw4Njc1NDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjUuMzUgNS4zNS05LjUgOS41LS4zNS4zNi0uMzUtLjM2LTQuNjUtNC42NC04LjE1IDguMTQtLjctLjcgOC41LTguNS4zNS0uMzYuMzUuMzYgNC42NSA0LjY0IDkuMTUtOS4xNC43LjdaTTIgMjFoMXYxSDJ2LTFabTItMUgzdjFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDFWOWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxSDZ2MUg1djFINHYxWm0xIDB2MUg0di0xaDFabTEgMEg1di0xaDF2MVptMSAwdjFINnYtMWgxWm0wLTFINnYtMWgxdjFabTEgMEg3djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxaDF2MVptMSAwdjFIOHYtMWgxWm0wLTFIOHYtMWgxdjFabTEgMEg5djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2MUg5djFoMXYxWm0xIDB2MWgtMXYtMWgxWm0wLTF2LTFoLTF2MWgxWm0wIDB2MWgxdjFoMXYtMWgtMXYtMWgtMVptNiAydi0xaDF2MWgtMVptMiAwdjFoLTF2LTFoMVptMC0xaC0xdi0xaDF2MVptMSAwaC0xdjFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2MWgtMXYxaC0xdjFoLTF2MWgxdjFabTEgMGgtMXYxaDF2LTFabTAtMWgxdjFoLTF2LTFabTAtMWgxdi0xaC0xdjFabTAgMHYxaC0xdi0xaDFabS00IDN2MWgtMXYtMWgxWiIvPjwvc3ZnPid9LDIxNjMzNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTkgNmgtMXY3aC0zdjFoM3Y4aDF2LTNoM3YtMWgtM1Y2Wk0xMSA3aC0xdjEzSDd2MWgzdjJoMVYxMGgzVjloLTNWN1oiLz48L3N2Zz4nfSw4NDIwNTEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMC40OSA3LjU1LS40Mi43LTIuMSAzLjUuODYuNSAxLjY4LTIuOCAxLjggMi44Mi44NC0uNTQtMi4yMy0zLjUtLjQzLS42OFptMTIuMzIgNC43Mi0uODQtLjU0IDIuNjEtNCAuODQuNTQtMi42MSA0Wm0tNS4zIDYuMyAxLjItMS44NC44NC41NC0xLjYzIDIuNS0uNDMuNjUtLjQxLS42NS0xLjYtMi41Ljg1LS41NCAxLjE3IDEuODVaTTQuOTYgMTYuNzVsLjg2LjUyLTIuNCA0LS44Ni0uNTIgMi40LTRaTTMgMTR2MWgxdi0xSDNabTIgMGgxdjFINXYtMVptMiAwdjFoMXYtMUg3Wm0yIDBoMXYxSDl2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFaIi8+PC9zdmc+J30sMzc2MTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDExdjZoM3YtNmgtM3ptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2N2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtN2EuNS41IDAgMCAxIC41LS41eiIvPjxwYXRoIGQ9Ik0xOCA3aDF2My41aC0xem0wIDEwLjVoMVYyMWgtMXoiLz48cGF0aCBkPSJNOSA4djEyaDNWOEg5em0tLjUtMWg0YS41LjUgMCAwIDEgLjUuNXYxM2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtMTNhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTAgNGgxdjMuNWgtMXptMCAxNi41aDFWMjRoLTF6Ii8+PC9zdmc+J30sNjQ3NjMwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTEwLjUgOXYxMk03IDE4LjVoMy41TTE0IDkuNWgtMy41TTE5LjUgM3YxMk0xNiA2LjVoMy41TTIzIDE0LjVoLTMuNU0xOC41IDE5LjVoMmExIDEgMCAxIDAgMC0yaC0yVjIydi0yLjV6TTIxLjUgMjJMMjAgMTkuNSIvPjwvZz48L3N2Zz4nfSw5OTU1NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIwLjVINy41YTUgNSAwIDEgMSAuNDItOS45OCA3LjUgNy41IDAgMCAxIDE0LjU3IDIuMSA0IDQgMCAwIDEtMSA3Ljg3N0gxOCIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTQuNSAyNFYxMi41TTExIDE2bDMuNS0zLjVMMTggMTYiLz48L2c+PC9zdmc+J30sNDQzMTY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDd2MTRoNVY3aC01Wm00IDFoLTN2MTJoM1Y4Wk0xOSAxNXY2aDV2LTZoLTVabTQgMWgtM3Y0aDN2LTRaTTUgMTJoNXY5SDV2LTlabTEgMWgzdjdINnYtN1oiLz48L3N2Zz4nfSw3NjU2OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNmE4LjUgOC41IDAgMSAwIDAgMTcgOC41IDguNSAwIDAgMCAwLTE3ek00IDE0LjVhOS41IDkuNSAwIDEgMSAxOSAwIDkuNSA5LjUgMCAwIDEtMTkgMHoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0aDR2LTRoMXY0aDR2MWgtNHY0aC0xdi00SDl2LTF6Ii8+PC9zdmc+J30sNTAwNTA3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik05IDh2MTJoM1Y4SDl6bS0xLS41MDJDOCA3LjIyMyA4LjIxNSA3IDguNDk4IDdoNC4wMDRjLjI3NSAwIC40OTguMjIuNDk4LjQ5OHYxMy4wMDRhLjQ5My40OTMgMCAwIDEtLjQ5OC40OThIOC40OThBLjQ5Ni40OTYgMCAwIDEgOCAyMC41MDJWNy40OTh6Ii8+PHBhdGggZD0iTTEwIDRoMXYzLjVoLTF6Ii8+PHBhdGggZD0iTTE3IDZ2NmgzVjZoLTN6bS0xLS41YzAtLjI3Ni4yMTUtLjUuNDk4LS41aDQuMDA0Yy4yNzUgMCAuNDk4LjIzLjQ5OC41djdjMCAuMjc2LS4yMTUuNS0uNDk4LjVoLTQuMDA0YS41MDMuNTAzIDAgMCAxLS40OTgtLjV2LTd6Ii8+PHBhdGggZD0iTTE4IDJoMXYzLjVoLTF6Ii8+PC9zdmc+J30sMjE1NDgwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNSA3SDd2MTRoNVY3SDcuNXpNOCAyMFY4aDN2MTJIOHptNy41LTExSDE1djEwaDVWOWgtNC41em0uNSA5di04aDN2OGgtM3oiLz48L3N2Zz4nfSwzODE5MjMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNyAxMXY2aDN2LTZoLTN6bS0uNS0xaDRhLjUuNSAwIDAgMSAuNS41djdhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTdhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTggN2gxdjMuNWgtMXptMCAxMC41aDFWMjFoLTF6Ii8+PHBhdGggZD0iTTkgOHYxMWgzVjhIOXptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2MTJhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTEyYS41LjUgMCAwIDEgLjUtLjV6Ii8+PHBhdGggZD0iTTEwIDRoMXY1aC0xem0wIDE0aDF2NWgtMXpNOC41IDlIMTB2MUg4LjV6TTExIDloMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExem0tMSAxaDF2MWgtMXptLTEuNSAxSDEwdjFIOC41em0yLjUgMGgxLjV2MUgxMXptLTEgMWgxdjFoLTF6bS0xLjUgMUgxMHYxSDguNXptMi41IDBoMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExeiIvPjwvc3ZnPid9LDg0Njc0OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02IDEybDQuOC00LjhhMSAxIDAgMCAxIDEuNCAwbDIuNyAyLjdhMSAxIDAgMCAwIDEuMy4xTDIzIDUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE5IDEyYTEgMSAwIDAgMC0xIDF2NGgtM3YtMWExIDEgMCAwIDAtMS0xaC0zYTEgMSAwIDAgMC0xIDF2Mkg3YTEgMSAwIDAgMC0xIDF2NGgxN1YxM2ExIDEgMCAwIDAtMS0xaC0zem0wIDEwaDN2LTloLTN2OXptLTEgMHYtNGgtM3Y0aDN6bS00LTQuNVYyMmgtM3YtNmgzdjEuNXpNMTAgMjJ2LTNIN3YzaDN6Ii8+PC9zdmc+J30sMTEzNzg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIwIDE3bC01IDVNMTUgMTdsNSA1TTkgMTEuNWg3TTE3LjUgOGEyLjUgMi41IDAgMCAwLTUgMHYxMWEyLjUgMi41IDAgMCAxLTUgMCIvPjwvc3ZnPid9LDQ1NTYzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgNWgzdjEyaDVWOGgzdjEzaDFWN2gtNXY5aC0zVjRoLTV2MThIN3YtNUg2djZoNXoiLz48L3N2Zz4nfSw1OTQ4NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwyNzM3NzUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINlY5SDFabTYgN2g1VjlIN3Y3Wm02IDBoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC01djdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjU2MzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMWgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY4SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDRWOUgxWm00IDdoNFY5SDV2N1ptNSAwaDRWOWgtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC0zdjdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sODgwODkzKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINHYtN0gyWm0zIDdoM3YtN0g1djdabTQgMGgzdi03SDl2N1ptNCAwaDN2LTdoLTN2N1ptNCAwaC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtMnY3Wm0yLThWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxN3Y3aDJabS0zLTdoLTN2N2gzVjJabS00IDBIOXY3aDNWMlpNOCAySDV2N2gzVjJaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sOTQ0NTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg3djNIMnYxaDV2M0gydjFoNXYzSDJ2MWg1djNIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNOCAxNHYzaDV2LTNIOFptNiAwdjNoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtNVptNS0xaC01di0zaDV2M1ptLTYgMEg4di0zaDV2M1pNOCA5aDVWNkg4djNabTYgMGg1VjZoLTV2M1ptLTEtNEg4VjJoNXYzWm0xIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTRabTAtMTNWMmgzLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtNVoiLz48L3N2Zz4nfSw1MTM5MTIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg0djdIMlYzLjVaTTIgMTB2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDR2LTdIMlptMyA3aDJ2LTdINXY3Wm0zIDBoMnYtN0g4djdabTMgMGgydi03aC0ydjdabTMgMGgydi03aC0ydjdabTMgMGguNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTBoLTJ2N1ptMi04VjMuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTd2N2gyWm0tMy03aC0ydjdoMlYyWm0tMyAwaC0ydjdoMlYyWm0tMyAwSDh2N2gyVjJaTTcgMkg1djdoMlYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDg2ODc2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjUgMkMyLjY3IDIgMiAyLjY3IDIgMy41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTNIMnYtMWgzdi0zSDJWOWgzVjZIMlY1aDNWMkgzLjVaTTYgMTR2M2g0di0zSDZabTQtMUg2di0zaDR2M1ptMSAxdjNoNHYtM2gtNFptNC0xaC00di0zaDR2M1ptMSAxdjNoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtM1ptMy0xaC0zdi0zaDN2M1ptLTgtNGg0VjZoLTR2M1ptNS0zdjNoM1Y2aC0zWk02IDloNFY2SDZ2M1ptMC00aDRWMkg2djNabTEwIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTZabTAtMTNWMmgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtM1ptLTEtM2gtNHYzaDRWMloiLz48L3N2Zz4nfSwyMjExNTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDkwNjA1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjUgMUMxLjY3IDEgMSAxLjY3IDEgMi41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDVWMXpNMTAgMTZINlYxaDR2MTVtMSAwaDUuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtN3ptNy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTF2N3pNMCAyLjVBMi41IDIuNSAwIDAgMSAyLjUgMGgxNEEyLjUgMi41IDAgMCAxIDE5IDIuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVoLTE0QTIuNSAyLjUgMCAwIDEgMCAxNC41eiIvPjwvc3ZnPid9LDc4OTEwOChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjhoN3pNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg4Vjl6bTEuNS05QTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MjAyOTMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djNoMTdWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wm0wIDVIMXYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzWk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDU2MzQ4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxSDZ2MTVoNFYxbTEgMHY0aDdWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNXptNyA1aC03djVoN3ptMCA2aC03djRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXpNMi41IDFINXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyQzEgMS42NyAxLjY3IDEgMi41IDFtMC0xQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MzcwMTcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjVoN3pNMSA2djVoN1Y2em0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDh2LTR6TTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3NjU1NzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1ptNS04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDUyNzcyMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0xMSAyaDYuNWMuODMgMCAxLjUuNjcgMS41IDEuNVY5aC04VjJabS0xIDBIMy41QzIuNjcgMiAyIDIuNjcgMiAzLjVWOWg4VjJabS04IDh2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTdIMlptNCA3aDR2LTdINnY3Wm01IDBoNHYtN2gtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtM3Y3WiIvPjwvc3ZnPid9LDYxNTQyNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2MTVaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjcyODg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xLjUtOUEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDc2MzU1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDApIiB2ZXJzaW9uPSIxLjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5NzQ1NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDd2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEwaC04djdoLTF2LTdIMlptMTctMVYzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE0djdoNVptLTYtN0g4djdoNVYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDM3NjE2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk03IDE2aDVWMUg3djE1Wm02LTE1djE1aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1OTU2MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg5VjlIMVptOSA3aDYuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYxNVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw2NzAyNjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC04djdabTgtOFYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjdoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0NTc5ODkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjVIMVYyLjVaTTEgNnY1aDE3VjZIMVptMTcgNkgxdjIuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTJaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjQ3NjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw4MjY3MTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUgMWgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2NWgtM3ptLTEgMGgtNHY2LjVoNHpNOSAxSDV2Ni41aDR6TTQgMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXY1aDN6TTEgOC41djZjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY4LjVIMW05IDcuNWg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di02aC04ek0wIDIuNUEyLjUgMi41IDAgMCAxIDIuNSAwaDE0QTIuNSAyLjUgMCAwIDEgMTkgMi41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAwIDE0LjV6Ii8+PC9zdmc+J30sOTk4Mjg2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjE3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE0IDFoLTR2N2g0em0xIDhoLTJ2N2gzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41Vjl6bS0zIDdWOUg3djd6TTUgOWgxdjdIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41VjloNG0xMy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N3pNMSA4aDNWMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXptNCAwaDRWMUg1ek0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDB6Ii8+PC9zdmc+J30sOTQ1MjM4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg5djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1ptOC04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNDg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djE1SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXYtMTJaTTUgMTZoNFYxSDV2MTVabTUtMTV2MTVoNFYxaC00Wm01IDB2MTVoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE1Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNjE2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDExdjRIMlYzLjVaTTIgN3Y1aDlWN0gyWm0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDExdi00SDJabTEwIDRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEydjE1Wk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDQ2NzE0NShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0MDg5NjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjRIMVYyLjVaTTEgNXYzaDE3VjVIMVptMTcgNEgxdjNoMTdWOVptMCA0SDF2MS41YzAgLjgzLjY3IDEuNSAxLjUgMS41aDE0Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1NzUxMDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNyAxSDR2N2gzem0xIDB2N2gzVjF6bTQgMHY3aDNWMXptMCA4aC0ydjdoNFY5em0zIDBoM3Y1LjVjMCAuODMtLjY3IDEuNS0xLjUgMS41SDE1em0xLTh2N2gyVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjV6TTggOUg1djdoNFY5ek0yLjUgMUgzdjdIMVYyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMU0xIDloM3Y3SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXptMS41LTlBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjwvc3ZnPid9LDE5MTU2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOSAzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE3djE1aC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJabS0xNyAxMmMwIC44My42NyAxLjUgMS41IDEuNUg0VjJoLS41QzIuNjcgMiAyIDIuNjcgMiAzLjV2MTJaTTEuMDEgMy4yNEEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEybC4wMS0uMjZaTTUgMTdoM1YySDV2MTVabTExIDBoLTNWMmgzdjE1Wk0xMiAydjE1SDlWMmgzWiIvPjwvc3ZnPid9LDQyMjU5OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDY2MzIyMihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzaC04djNabTgtNFY5aC04djNoOFptMC00VjVoLTh2M2g4Wm0wLTRWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYzaDhaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sMjIzMjI3KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0zLjUgMmgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY0SDJ2LS41QzIgMi42NyAyLjY3IDIgMy41IDJaTTIgNXYyaDE3VjVIMlptMTcgM0gydjNoMTdWOFptMCA0SDJ2MmgxN3YtMlptMCAzSDJ2LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjE1WiIvPjwvc3ZnPid9LDg2MDg1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnY3SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDZWOUgxWm02IDdoNVY5SDd2N1ptNiAwaDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtNXY3Wm01LThWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM3Y3aDVabS02LTdIN3Y3aDVWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxMDA0NjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2NEgxVjIuNVpNMSA2djVoOFY2SDFabTAgNnYyLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtNEgxWm05IDRoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5MjA1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2MTVoLS41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNNSAxN2gyVjJINXYxNVpNOCAydjE1aDJWMkg4Wm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoLjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTdaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sNTYyOTk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1ptMy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N2gzWm0tNC03aC00djdoNFYxWk05IDFINXY3aDRWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxNjQ0NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYzSDFWMi41Wk0xIDV2M2g4VjVIMVptMCA0djNoOFY5SDFabTAgNHYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtM0gxWm05IDNoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDg2NjgyNihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMy41IDFBMi41IDIuNSAwIDAgMCAxIDMuNXYxMkEyLjUgMi41IDAgMCAwIDMuNSAxOGgxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTcuNSAxaC0xNFpNNyAySDMuNUMyLjY3IDIgMiAyLjY3IDIgMy41VjZoNVYyWm0xIDB2NGg1VjJIOFptMCA1aDV2NUg4VjdabS0xIDVWN0gydjVoNVptLTUgMWg1djRIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41VjEzWm02IDBoNXY0SDh2LTRabTYgMHY0aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTNoLTVabTUtMVY3aC01djVoNVpNMTQgMnY0aDVWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxNFoiLz48L3N2Zz4nfSwzOTY3NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHJ4PSIyIiB4PSIxLjUiIHk9IjEuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5IDEwSDJWOWgxN3YxWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTdWMmgxdjE1SDRaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNyAxN1YyaDF2MTVIN1oiIG9wYWNpdHk9Ii44NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2IDE4VjJoMXYxNmgtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDY5Nzc1MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE2IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgcng9IjIiIHg9IjEuNSIgeT0iMS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNCAxN1YyaDF2MTVINFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE3VjJoMXYxNUg3WiIgb3BhY2l0eT0iLjg1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjY1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTYgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjA1Ii8+PC9zdmc+J30sNTc0MTU5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiBmaWxsPSJub25lIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHN0cm9rZT0iY3VycmVudENvbG9yIiByeD0iMiIgeD0iMS41IiB5PSIxLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xLjUgNGgxOHYxaC0xOFY0WiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIgN2gxOHYxSDJWN1oiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxMGgxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxM2gxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDc0MjUwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNi41IDFoLTE0QzEuNjcgMSAxIDEuNjcgMSAyLjV2MTJjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVtLTE0LTFBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjxwYXRoIGQ9Ik05IDNoOXYxSDl6Ii8+PHBhdGggZD0iTTkgMTdWMWgxdjE2eiIvPjxwYXRoIGQ9Ik05IDZoOXYxSDl6IiBvcGFjaXR5PSIuNjUiLz48cGF0aCBkPSJNOSA5aDl2MUg5eiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZD0iTTkgMTJoOXYxSDl6IiBvcGFjaXR5PSIuMDUiLz48L3N2Zz4nfSwyOTc4NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMi41IDFDMS42NyAxIDEgMS42NyAxIDIuNXYxMmMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNWgtMTRaTTAgMi41QTIuNSAyLjUgMCAwIDEgMi41IDBoMTRBMi41IDIuNSAwIDAgMSAxOSAyLjV2MTJhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNEEyLjUgMi41IDAgMCAxIDAgMTQuNXYtMTJaIi8+PC9zdmc+J30sOTY1NjM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xOC40MyAxNS45MSA2Ljk2LTguNi0uNzgtLjYyLTYuOTYgOC42YTIuNDkgMi40OSAwIDAgMC0yLjYzLjJsLTIuMjEtMi4wMkEyLjUgMi41IDAgMCAwIDEwLjUgMTBhMi41IDIuNSAwIDEgMCAxLjczIDQuM2wyLjEyIDEuOTJhMi41IDIuNSAwIDEgMCA0LjA4LS4zMVpNMTAuNSAxNGExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM1ptNy41IDMuNWExLjUgMS41IDAgMSAxLTMgMCAxLjUgMS41IDAgMCAxIDMgMFoiLz48cGF0aCBkPSJNOC4zNyAxMy44Yy4xNy4zLjQuNTQuNjguNzRsLTUuNjcgNi43OC0uNzYtLjY0IDUuNzUtNi44OFoiLz48L3N2Zz4nfSw0MjAzNDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTI1LjM5IDcuMzEtOC44MyAxMC45Mi02LjAyLTUuNDctNy4xNiA4LjU2LS43Ni0uNjQgNy44Mi05LjM2IDYgNS40NUwyNC42MSA2LjdsLjc4LjYyWiIvPjwvc3ZnPid9LDc3MzI2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggMjRoM1YxMmgtM3YxMnptLTEtMTNoNXYxNGgtNVYxMXptLTQtOHY3aDNWM2gtM3ptLTEtMWg1djloLTVWMnpNOCAxOWgzdi03SDh2N3ptLTEtOGg1djlIN3YtOXoiLz48L3N2Zz4nfSwzNDY1NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDIxIiB3aWR0aD0iMjEiIGhlaWdodD0iMjEiPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTguNSAxMXY1LjVhMiAyIDAgMCAxLTIgMmgtMTNhMiAyIDAgMCAxLTItMnYtMTNhMiAyIDAgMCAxIDItMkg5Ii8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE4IDJsLTguNSA4LjVtNC05aDV2NSIvPjwvZz48L3N2Zz4nfSw5MTc2OTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE0LjUgMTZhMi41IDIuNSAwIDEgMSAwLTUgMi41IDIuNSAwIDAgMSAwIDV6bTAtMWExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM3ptMCA3YTIuNSAyLjUgMCAxIDEgMC01IDIuNSAyLjUgMCAwIDEgMCA1em0wLTFhMS41IDEuNSAwIDEgMCAwLTMgMS41IDEuNSAwIDAgMCAwIDN6bTMuMjkzLTE1LjVsNC43MDcgNC43MDcuNzA3LS43MDdMMTguNSA0Ljc5M3oiLz48cGF0aCBkPSJNMTguNSAxMC4yMDdMMjMuMjA3IDUuNWwtLjcwNy0uNzA3TDE3Ljc5MyA5LjV6bS0uNzA3IDEuMjkzbDQuNzA3IDQuNzA3LjcwNy0uNzA3LTQuNzA3LTQuNzA3eiIvPjxwYXRoIGQ9Ik0xOC41IDE2LjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDctNC43MDcgNC43MDd6TTUuNzkzIDE3LjVsNC43MDcgNC43MDcuNzA3LS43MDdMNi41IDE2Ljc5M3oiLz48cGF0aCBkPSJNNi41IDIyLjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDdMNS43OTMgMjEuNXpNNS43OTMgNS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSA0Ljc5M3oiLz48cGF0aCBkPSJNNi41IDEwLjIwN0wxMS4yMDcgNS41bC0uNzA3LS43MDdMNS43OTMgOS41ek01Ljc5MyAxMS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSAxMC43OTN6Ii8+PHBhdGggZD0iTTYuNSAxNi4yMDdsNC43MDctNC43MDctLjcwNy0uNzA3TDUuNzkzIDE1LjV6Ii8+PC9zdmc+J30sNzYyMDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4LjI5MyAxM2wtMi42NDcgMi42NDYuNzA3LjcwOCAzLjg1NC0zLjg1NC0zLjg1NC0zLjg1NC0uNzA3LjcwOEwxOC4yOTMgMTJIMTIuNUE1LjUgNS41IDAgMCAwIDcgMTcuNVYxOWgxdi0xLjVhNC41IDQuNSAwIDAgMSA0LjUtNC41aDUuNzkzeiIvPjwvc3ZnPid9LDcyMjc2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggNXY1aDNWNWgtM3ptLTEtMWg1djdoLTVWNHptLTQgMTNoM3YtNWgtM3Y1em0tMS02aDV2N2gtNXYtN3pNOCAyNGgzdi01SDh2NXptLTEtNmg1djdIN3YtN3oiLz48L3N2Zz4nfSwyNDM0MDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE5IDVoNXYxaC00djEzaC02di03aC00djEySDV2LTFoNFYxMWg2djdoNFY1WiIvPjwvc3ZnPid9LDk1OTIzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYgNWg2djRoNHY0aDd2NWgtNXY0SDZWNVptMSAxaDR2M0g3VjZabTAgNHYzaDh2LTNIN1ptMTUgNHYzSDd2LTNoMTVabS01IDd2LTNIN3YzaDEwWiIvPjwvc3ZnPid9LDk4NzAyMShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEgOWg4djRoNHY1aC00djRINlY1aDV2NFptLTEtM0g3djNoM1Y2Wm04IDEydjNoLTN2LTNoM1ptMS00djNoM3YtM2gtM1ptLTEtMXYtM2gtM3YzaDNabS0zIDFoM3YzaC0zdi0zWm0tMSAwdjNoLTN2LTNoM1ptMCA0djNoLTN2LTNoM1ptMC01aC0zdi0zaDN2M1ptLTQgOHYtM0g3djNoM1ptMC00SDd2LTNoM3YzWm0wLTd2M0g3di0zaDNaIi8+PC9zdmc+J30sNDk5NzI0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjcwNyAxM2wyLjY0NyAyLjY0Ni0uNzA3LjcwOEw2Ljc5MiAxMi41bDMuODUzLTMuODU0LjcwOC43MDhMOC43MDcgMTJIMTQuNWE1LjUgNS41IDAgMCAxIDUuNSA1LjVWMTloLTF2LTEuNWE0LjUgNC41IDAgMCAwLTQuNS00LjVIOC43MDd6Ii8+PC9zdmc+J30sNjU5NTA1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE4IDRoMXYzaDMuNWMuMjggMCAuNS4yMi41LjV2MTNhLjUuNSAwIDAgMS0uNS41SDE5djNoLTF2LTNoLTMuNWEuNS41IDAgMCAxLS41LS41di0xM2MwLS4yOC4yMi0uNS41LS41SDE4VjRabS0zIDE2aDdWOGgtN3YxMlpNMTAgN0g5djNINy41YS41LjUgMCAwIDAtLjUuNXY4YzAgLjI4LjIyLjUuNS41SDl2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di04YS41LjUgMCAwIDAtLjUtLjVIMTBWN1ptLTEgNEg4djdoM3YtN0g5WiIvPjwvc3ZnPid9LDE5MjQ4MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDRIOHYzSDYuNWEuNS41IDAgMCAwLS41LjV2MTJhLjUuNSAwIDAgMCAuNS41SDh2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di0xMmEuNS41IDAgMCAwLS41LS41SDlWNFpNNyA4djExaDNWOEg3Wm03LTFoOXYxaC05VjdabTkgNGgtOXYxaDl2LTFabS05IDRoOXYxaC05di0xWm05IDRoLTl2MWg5di0xWiIvPjwvc3ZnPid9LDM3MjIzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wk04IDZhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwWm0xIDJjLjQ5IDAgMSAuNTkgMSAxdjMuMDFjMCAuNDItLjUxLjk5LTEgLjk5cy0xLS41Ny0xLS45OVY5YzAtLjQxLjUxLTEgMS0xWiIvPjwvc3ZnPid9LDU4Mzg0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjkgMTQuMVYyMmgxLjJ2LTcuOUgyM3YtMS4yaC03LjlWNWgtMS4ydjcuOUg2djEuMmg3Ljl6Ii8+PC9zdmc+J30sNjA0OTAxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTQuNS04YTIgMiAwIDAgMSAyIDJoLTFhMSAxIDAgMCAwLTEtMUg4LjI1YS43NS43NSAwIDAgMCAwIDEuNWgxLjVhMS43NSAxLjc1IDAgMSAxIDAgMy41SDkuNXYxaC0xdi0xYTIgMiAwIDAgMS0yLTJoMWExIDEgMCAwIDAgMSAxaDEuMjVhLjc1Ljc1IDAgMCAwIDAtMS41aC0xLjVhMS43NSAxLjc1IDAgMSAxIDAtMy41aC4yNVY1aDF6Ii8+PC9zdmc+J30sOTA3OTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTctMy4yOS0yLjMzIDIuM0w4IDExLjZsLjY1LS43Ny45Ni44MUwxMS4zIDEwek05IDlINlY4aDN6bTMtMkg2VjZoNnoiLz48L3N2Zz4nfSw1NTEyODIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDYuNVYxNUg0VjNoNi41ek01IDE0aDhWNi45MUwxMC4wOSA0SDV6bTQtM0g2di0xaDN6bTMtMkg2VjhoNnoiLz48L3N2Zz4nfSw2MjcwNDEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMS4wNSA2LjE3IDEuMDcgMUE2IDYgMCAwIDEgMTQgMTEuNTVWMTRhMiAyIDAgMCAxLTEuOCAxLjk5TDEyIDE2SDZsLS4yLS4wMUEyIDIgMCAwIDEgNCAxNHYtMi40NkE2IDYgMCAwIDEgNS42NiA3LjRsLjIyLS4yMiAxLjA3LTEuMDFMNiAzaDZ6TTYuNTcgNy45QTUgNSAwIDAgMCA1IDExLjU0VjE0YTEgMSAwIDAgMCAxIDFoNmExIDEgMCAwIDAgMS0xdi0yLjQ2YTUgNSAwIDAgMC0xLjU3LTMuNjNMMTAuNDggN0g3LjUyek03Ljk0IDZoMi4xMmwuNi0ySDcuMzR6Ii8+PC9zdmc+J30sMjM2NDI5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNEg0VjloM1Y3aDNWNGg0em0tOS0xaDJ2LTNINXptMyAwaDJWOEg4em0zIDBoMlY1aC0yeiIvPjwvc3ZnPid9LDUxNDE0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDRjLjg5IDAgMS43Mi4xOCAyLjM1LjUuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi41OGwuMTYtLjA5QzEwLjc4IDguMTggMTEuNiA4IDEyLjUgOHMxLjcyLjE4IDIuMzUuNWMuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi4xYzAgLjctLjU5IDEuMTctMS4xNyAxLjQ0LS42Mi4zLTEuNDUuNDYtMi4zMy40NnMtMS43MS0uMTctMi4zMy0uNDZDOS41OSAxMy4yNyA5IDEyLjggOSAxMi4xdi0uNjRsLS4xNy4wOGMtLjYyLjMtMS40NS40Ni0yLjMzLjQ2cy0xLjcxLS4xNy0yLjMzLS40NkMzLjU4IDExLjI3IDMgMTAuOCAzIDEwLjFWNmMwLS43LjU2LTEuMjEgMS4xNi0xLjVDNC43OCA0LjE3IDUuNiA0IDYuNSA0bTMuNSA4LjFjMCAuMDguMDkuMy41OS41My40Ni4yMiAxLjE0LjM3IDEuOTEuMzdzMS40NS0uMTUgMS45MS0uMzdjLjUtLjIzLjU5LS40NS41OS0uNTN2LS42OGwtLjE1LjA5Yy0uNjMuMzEtMS40Ni40OS0yLjM1LjQ5cy0xLjcyLS4xOC0yLjM0LS41bC0uMTYtLjA4ek0xMi41IDljLS43NyAwLTEuNDQuMTYtMS45LjM5LS40OS4yNC0uNi40OS0uNi42MXMuMTEuMzcuNi42MWMuNDYuMjMgMS4xMy4zOSAxLjkuMzlzMS40NC0uMTYgMS45LS4zOWMuNDgtLjI0LjYtLjQ4LjYtLjZWMTBjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCAxMi41IDltLTMuNjcuNTRjLS42Mi4zLTEuNDUuNDYtMi4zMy40NkE2IDYgMCAwIDEgNCA5LjQ2di42NGMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY0ek00IDguMWMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY4bC0uMTUuMDlDOC4yMiA3LjgyIDcuMzkgOCA2LjUgOHMtMS43Mi0uMTgtMi4zNC0uNUw0IDcuNDN6TTYuNSA1Yy0uNzcgMC0xLjQ0LjE2LTEuOS4zOS0uNDkuMjQtLjYuNDktLjYuNjFzLjExLjM3LjYuNjFjLjQ2LjIzIDEuMTMuMzkgMS45LjM5czEuNDQtLjE2IDEuOS0uMzljLjQ4LS4yNC42LS40OC42LS42VjZjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCA2LjUgNSIvPjwvc3ZnPid9LDIwNTQ3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOWgydjRhMiAyIDAgMCAxLTIgMkg1bC0uMi0uMDFBMiAyIDAgMCAxIDMgMTMuMkwzIDEzVjNoMTF6TTQgMTNhMSAxIDAgMCAwIDEgMWg4VjRINHptMTAgMWExIDEgMCAwIDAgMS0xdi0zaC0xem0tMi0ySDV2LTFoN3pNOCA5SDVWNmgzem00IDBIOVY4aDN6TTYgOGgxVjdINnptNi0xSDlWNmgzeiIvPjwvc3ZnPid9LDcyNzI2OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSA4aDUuNDNsMi43LTQuOTguODkuNDgtNS4wMyA5LjI0YS41LjUgMCAwIDEtLjQ0LjI2SDV2M0g0VjJoMXptMCA0aDMuMjVsMS42My0zSDV6bTExLTNoLTMuODdsLjU3LTFIMTZ6Ii8+PC9zdmc+J30sOTIwODgoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMy4wNCA2LjQ0LjIuNGMuNDYuOTQuNTggMiAuMzYgMyAuNjUtLjEgMS4yNSAwIDEuOS4yMWwuNS4xNi0uMTguNDhhNC40IDQuNCAwIDAgMS0yLjMgMi40NXEuMzIuNDUuNTIuODZsLjI0LjQzLS40NC4yNHEtLjYzLjM0LTEuMy4zM2MtLjguMDEtMS42LS4zLTIuMi0uODNMMTAgMTVsLS45My0uMzcuMzEtLjc2YTMuMSAzLjEgMCAwIDEtMi45Ny0xLjgxbC0uMTktLjQ2LjQ2LS4ycS40LS4xNy44OC0uMzFhNCA0IDAgMCAxLS4xNy0zLjMybC4xNi0uNDUuNDUuMTRjLjY1LjIgMS4yNC40OCAxLjcuOTlhNSA1IDAgMCAxIDIuMi0yLjAybC40OC0uMjMuNDQtLjJ6bS0uODguOThhNCA0IDAgMCAwLTEuODggMi4xbC0uMDUuMTQtLjQ1IDEuMTUtLjQ4LTEuMTNhMiAyIDAgMCAwLTEuMS0xLjA5Yy0uMjIuOTUtLjAzIDEuODIuNiAyLjUzbC43NC44M2gtMS4xcS0uNDIuMDItLjgzLjE3Yy41NS42NSAxLjU2LjkzIDIuNDIuNjRsLjM3LS4xMy4yMS4zM2EyLjMgMi4zIDAgMCAwIDIuMjcgMS4wMSAyIDIgMCAwIDAtLjU2LS42MmwtMS4wMS0uNjUgMS4xNy0uMjVjLjgtLjE4IDEuNjctLjc3IDIuMTYtMS42YTMgMyAwIDAgMC0xLjYxLjE2bC0xLjEuNDMuNDYtMS4wOC4wNS0uMTNjLjM5LS45NC4zNi0yLS4wOC0yLjkxek04IDQuMDRxLjkxLjEzIDEuNjEuNjdsMS40Mi0xLjQyLjcuNy0xLjQyIDEuNDMtLjcyLjcyYTIuNSAyLjUgMCAxIDAtMy41IDMuNDNsLTEuMDUgMS4xLS42Ni42Ni0uNDguNDgtLjctLjdMNC43IDkuNnEtLjUyLS43LS42Ni0xLjZIMlY3aDIuMDRxLjEzLS44NC42LTEuNTFsLTEuNS0xLjUuNy0uNyAxLjQ4IDEuNDdBMy41IDMuNSAwIDAgMSA3IDQuMDRWMmgxeiIvPjwvc3ZnPid9LDI5MjM2MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAzYTcuMDIgNy4wMiAwIDAgMSA2LjUyIDkuNmwtLjE1LjQtMi4zNi0uNTQuMjItLjk4IDEuNS4zNWE2IDYgMCAwIDAtLjE3LTQuMDdsLTEuMTguNjgtLjUtLjg3IDEuMjItLjdhNiA2IDAgMCAwLTQuNi0yLjg1VjUuNWgtMVY0LjAyYTYgNiAwIDAgMC00LjYgMi44NWwxLjIyLjctLjUuODctMS4xOC0uNjhhNiA2IDAgMCAwLS4xNyA0LjA3bDEuNS0uMzUuMTIuNDkuMTEuNDktMS45NS40NC0uNDIuMS0uMTUtLjRBNy4wNiA3LjA2IDAgMCAxIDkgM20zIDMuNTctMi4xIDNBMSAxIDAgMCAxIDkgMTFhMSAxIDAgMSAxIC4wOC0ybDIuMS0zeiIvPjwvc3ZnPid9LDc5MTY5MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAxNEg0di0zaDF6bTMgMEg3VjloMXptMyAwaC0xdi0zaDF6bTMgMGgtMVY5aDF6bTEtOS4xOEwxMC4zOCA4IDYuOTkgNS42IDMuNjIgOC4wMyAzIDcuMmw0LTIuODQgMy4zOSAyLjQyTDE0LjQ1IDR6Ii8+PC9zdmc+J30sOTg3OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDEyaDExdjFINXYzSDRWMmgxem05LThjMCAyLjc2LS41MSA0LjUzLTEuNDQgNS42MS0uOTQgMS4xLTIuMjMgMS4zOC0zLjUgMS4zOC0uODggMC0yLjA3LS4yLTMuMDYtLjc2bC41LS44N2MuOC40NSAxLjguNjMgMi41Ny42MyAxLjEzIDAgMi4wNi0uMjQgMi43My0xLjAzLjctLjggMS4yLTIuMjggMS4yLTQuOTZ6Ii8+PC9zdmc+J30sMTU5MjQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDE2SDRWMmgxek0xNSA1LjVsLTIuNjYgMi40OS0uNjgtLjczTDEyLjkgNi4xQTcgNyAwIDAgMCA4LjI3IDlhNyA3IDAgMCAwIDQuNjQgMi45MWwtMS4yNS0xLjE3LjY4LS43M0wxNSAxMi41IDEyLjM0IDE1bC0uNjgtLjc0IDEuNC0xLjMyYTggOCAwIDAgMS01LjM0LTNBNyA3IDAgMCAwIDcgMTMuMDJWMTRINnYtLjk3YzAtNC4xMSAzLjA5LTcuNSA3LjA2LTcuOTdsLTEuNC0xLjMyLjY4LS43NHpNNyA0di45NnEwIDEuMS4zMSAyLjEtLjM5LjQyLS43My45YTggOCAwIDAgMS0uNTgtM1Y0eiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7Y29uc3QgYT1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Z30sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxuKXtuJiYiZnVuY3Rpb24iIT10eXBlb2Ygbnx8KG49e2NhbGxiYWNrOm59KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3Y6aCkodCx7Y2FsbGJhY2s6bi5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBuLmF0dHJpYnV0ZXM/bi5hdHRyaWJ1dGVzOnAsYmFzZToic3RyaW5nIj09dHlwZW9mIG4uYmFzZT9uLmJhc2U6ZS5iYXNlLApleHQ6bi5leHR8fGUuZXh0LHNpemU6bi5mb2xkZXJ8fChhPW4uc2l6ZXx8ZS5zaXplLCJudW1iZXIiPT10eXBlb2YgYT9hKyJ4IithOmEpLGNsYXNzTmFtZTpuLmNsYXNzTmFtZXx8ZS5jbGFzc05hbWUsb25lcnJvcjpuLm9uZXJyb3J8fGUub25lcnJvcn0pO3ZhciBhfSxyZXBsYWNlOmYsdGVzdDpmdW5jdGlvbihlKXtuLmxhc3RJbmRleD0wO3ZhciB0PW4udGVzdChlKTtyZXR1cm4gbi5sYXN0SW5kZXg9MCx0fX0sdD17IiYiOiImYW1wOyIsIjwiOiImbHQ7IiwiPiI6IiZndDsiLCInIjoiJiMzOTsiLCciJzoiJnF1b3Q7Igp9LG49Lyg/Olx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxfFx1ZDgzZFx1ZGM2Ylx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmNcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZkXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFtcdWRjNmItXHVkYzZkXSl8KD86XHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNlXHVkZGQxKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/XHUyMDBkKD86XHUyNjk1XHVmZTBmfFx1MjY5Nlx1ZmUwZnxcdTI3MDhcdWZlMGZ8XHVkODNjW1x1ZGYzZVx1ZGY3M1x1ZGY3Y1x1ZGY4NFx1ZGY5M1x1ZGZhNFx1ZGZhOFx1ZGZlYlx1ZGZlZF18XHVkODNkW1x1ZGNiYlx1ZGNiY1x1ZGQyN1x1ZGQyY1x1ZGU4MFx1ZGU5Ml18XHVkODNlW1x1ZGRhZi1cdWRkYjNcdWRkYmNcdWRkYmRdKXwoPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XXxcdTI2ZjkpKCg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWZlMGYpXHUyMDBkW1x1MjY0MFx1MjY0Ml1cdWZlMGYpfCg/Olx1ZDgzY1tcdWRmYzNcdWRmYzRcdWRmY2FdfFx1ZDgzZFtcdWRjNmVcdWRjNzBcdWRjNzFcdWRjNzNcdWRjNzdcdWRjODFcdWRjODJcdWRjODZcdWRjODdcdWRlNDUtXHVkZTQ3XHVkZTRiXHVkZTRkXHVkZTRlXHVkZWEzXHVkZWI0LVx1ZGViNl18XHVkODNlW1x1ZGQyNlx1ZGQzNVx1ZGQzNy1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkYjhcdWRkYjlcdWRkY2QtXHVkZGNmXHVkZGQ2LVx1ZGRkZF0pKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZnwoPzpcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHUyNmE3XHVmZTBmfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1ZDgzY1x1ZGYwOHxcdWQ4M2NcdWRmZjRcdTIwMGRcdTI2MjBcdWZlMGZ8XHVkODNkXHVkYzE1XHUyMDBkXHVkODNlXHVkZGJhfFx1ZDgzZFx1ZGMzYlx1MjAwZFx1Mjc0NFx1ZmUwZnxcdWQ4M2RcdWRjNDFcdTIwMGRcdWQ4M2RcdWRkZTh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2RcdWRjMDhcdTIwMGRcdTJiMWIpfFsjKjAtOV1cdWZlMGY/XHUyMGUzfCg/OlvCqcKuXHUyMTIyXHUyNjVmXVx1ZmUwZil8KD86XHVkODNjW1x1ZGMwNFx1ZGQ3MFx1ZGQ3MVx1ZGQ3ZVx1ZGQ3Zlx1ZGUwMlx1ZGUxYVx1ZGUyZlx1ZGUzN1x1ZGYyMVx1ZGYyNC1cdWRmMmNcdWRmMzZcdWRmN2RcdWRmOTZcdWRmOTdcdWRmOTktXHVkZjliXHVkZjllXHVkZjlmXHVkZmNkXHVkZmNlXHVkZmQ0LVx1ZGZkZlx1ZGZmM1x1ZGZmNVx1ZGZmN118XHVkODNkW1x1ZGMzZlx1ZGM0MVx1ZGNmZFx1ZGQ0OVx1ZGQ0YVx1ZGQ2Zlx1ZGQ3MFx1ZGQ3M1x1ZGQ3Ni1cdWRkNzlcdWRkODdcdWRkOGEtXHVkZDhkXHVkZGE1XHVkZGE4XHVkZGIxXHVkZGIyXHVkZGJjXHVkZGMyLVx1ZGRjNFx1ZGRkMS1cdWRkZDNcdWRkZGMtXHVkZGRlXHVkZGUxXHVkZGUzXHVkZGU4XHVkZGVmXHVkZGYzXHVkZGZhXHVkZWNiXHVkZWNkLVx1ZGVjZlx1ZGVlMC1cdWRlZTVcdWRlZTlcdWRlZjBcdWRlZjNdfFtcdTIwM2NcdTIwNDlcdTIxMzlcdTIxOTQtXHUyMTk5XHUyMWE5XHUyMWFhXHUyMzFhXHUyMzFiXHUyMzI4XHUyM2NmXHUyM2VkLVx1MjNlZlx1MjNmMVx1MjNmMlx1MjNmOC1cdTIzZmFcdTI0YzJcdTI1YWFcdTI1YWJcdTI1YjZcdTI1YzBcdTI1ZmItXHUyNWZlXHUyNjAwLVx1MjYwNFx1MjYwZVx1MjYxMVx1MjYxNFx1MjYxNVx1MjYxOFx1MjYyMFx1MjYyMlx1MjYyM1x1MjYyNlx1MjYyYVx1MjYyZVx1MjYyZlx1MjYzOC1cdTI2M2FcdTI2NDBcdTI2NDJcdTI2NDgtXHUyNjUzXHUyNjYwXHUyNjYzXHUyNjY1XHUyNjY2XHUyNjY4XHUyNjdiXHUyNjdmXHUyNjkyLVx1MjY5N1x1MjY5OVx1MjY5Ylx1MjY5Y1x1MjZhMFx1MjZhMVx1MjZhN1x1MjZhYVx1MjZhYlx1MjZiMFx1MjZiMVx1MjZiZFx1MjZiZVx1MjZjNFx1MjZjNVx1MjZjOFx1MjZjZlx1MjZkMVx1MjZkM1x1MjZkNFx1MjZlOVx1MjZlYVx1MjZmMC1cdTI2ZjVcdTI2ZjhcdTI2ZmFcdTI2ZmRcdTI3MDJcdTI3MDhcdTI3MDlcdTI3MGZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MWRcdTI3MjFcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NTdcdTI3NjNcdTI3NjRcdTI3YTFcdTI5MzRcdTI5MzVcdTJiMDUtXHUyYjA3XHUyYjFiXHUyYjFjXHUyYjUwXHUyYjU1XHUzMDMwXHUzMDNkXHUzMjk3XHUzMjk5XSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NVx1ZGQ5MF18W1x1MjYxZFx1MjZmN1x1MjZmOVx1MjcwY1x1MjcwZF0pKD86XHVmZTBmfCg/IVx1ZmUwZSkpfCg/Olx1ZDgzY1tcdWRmODVcdWRmYzItXHVkZmM0XHVkZmM3XHVkZmNhXXxcdWQ4M2RbXHVkYzQyXHVkYzQzXHVkYzQ2LVx1ZGM1MFx1ZGM2Ni1cdWRjNjlcdWRjNmVcdWRjNzAtXHVkYzc4XHVkYzdjXHVkYzgxLVx1ZGM4M1x1ZGM4NS1cdWRjODdcdWRjYWFcdWRkN2FcdWRkOTVcdWRkOTZcdWRlNDUtXHVkZTQ3XHVkZTRiLVx1ZGU0Zlx1ZGVhM1x1ZGViNC1cdWRlYjZcdWRlYzBcdWRlY2NdfFx1ZDgzZVtcdWRkMGNcdWRkMGZcdWRkMTgtXHVkZDFjXHVkZDFlXHVkZDFmXHVkZDI2XHVkZDMwLVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGQ3N1x1ZGRiNVx1ZGRiNlx1ZGRiOFx1ZGRiOVx1ZGRiYlx1ZGRjZC1cdWRkY2ZcdWRkZDEtXHVkZGRkXXxbXHUyNzBhXHUyNzBiXSkpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT98KD86XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzY1XHVkYjQwXHVkYzZlXHVkYjQwXHVkYzY3XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM2M1x1ZGI0MFx1ZGM3NFx1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzdcdWRiNDBcdWRjNmNcdWRiNDBcdWRjNzNcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZGU2XHVkODNjW1x1ZGRlOC1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjJcdWRkZjRcdWRkZjYtXHVkZGZhXHVkZGZjXHVkZGZkXHVkZGZmXXxcdWQ4M2NcdWRkZTdcdWQ4M2NbXHVkZGU2XHVkZGU3XHVkZGU5LVx1ZGRlZlx1ZGRmMS1cdWRkZjRcdWRkZjYtXHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZThcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGU5XHVkZGViLVx1ZGRlZVx1ZGRmMC1cdWRkZjVcdWRkZjdcdWRkZmEtXHVkZGZmXXxcdWQ4M2NcdWRkZTlcdWQ4M2NbXHVkZGVhXHVkZGVjXHVkZGVmXHVkZGYwXHVkZGYyXHVkZGY0XHVkZGZmXXxcdWQ4M2NcdWRkZWFcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVkXHVkZGY3LVx1ZGRmYV18XHVkODNjXHVkZGViXHVkODNjW1x1ZGRlZS1cdWRkZjBcdWRkZjJcdWRkZjRcdWRkZjddfFx1ZDgzY1x1ZGRlY1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVlXHVkZGYxLVx1ZGRmM1x1ZGRmNS1cdWRkZmFcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRlZFx1ZDgzY1tcdWRkZjBcdWRkZjJcdWRkZjNcdWRkZjdcdWRkZjlcdWRkZmFdfFx1ZDgzY1x1ZGRlZVx1ZDgzY1tcdWRkZTgtXHVkZGVhXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjldfFx1ZDgzY1x1ZGRlZlx1ZDgzY1tcdWRkZWFcdWRkZjJcdWRkZjRcdWRkZjVdfFx1ZDgzY1x1ZGRmMFx1ZDgzY1tcdWRkZWFcdWRkZWMtXHVkZGVlXHVkZGYyXHVkZGYzXHVkZGY1XHVkZGY3XHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZjFcdWQ4M2NbXHVkZGU2LVx1ZGRlOFx1ZGRlZVx1ZGRmMFx1ZGRmNy1cdWRkZmJcdWRkZmVdfFx1ZDgzY1x1ZGRmMlx1ZDgzY1tcdWRkZTZcdWRkZTgtXHVkZGVkXHVkZGYwLVx1ZGRmZl18XHVkODNjXHVkZGYzXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYS1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjRcdWRkZjVcdWRkZjdcdWRkZmFcdWRkZmZdfFx1ZDgzY1x1ZGRmNFx1ZDgzY1x1ZGRmMnxcdWQ4M2NcdWRkZjVcdWQ4M2NbXHVkZGU2XHVkZGVhLVx1ZGRlZFx1ZGRmMC1cdWRkZjNcdWRkZjctXHVkZGY5XHVkZGZjXHVkZGZlXXxcdWQ4M2NcdWRkZjZcdWQ4M2NcdWRkZTZ8XHVkODNjXHVkZGY3XHVkODNjW1x1ZGRlYVx1ZGRmNFx1ZGRmOFx1ZGRmYVx1ZGRmY118XHVkODNjXHVkZGY4XHVkODNjW1x1ZGRlNi1cdWRkZWFcdWRkZWMtXHVkZGY0XHVkZGY3LVx1ZGRmOVx1ZGRmYlx1ZGRmZC1cdWRkZmZdfFx1ZDgzY1x1ZGRmOVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVkXHVkZGVmLVx1ZGRmNFx1ZGRmN1x1ZGRmOVx1ZGRmYlx1ZGRmY1x1ZGRmZl18XHVkODNjXHVkZGZhXHVkODNjW1x1ZGRlNlx1ZGRlY1x1ZGRmMlx1ZGRmM1x1ZGRmOFx1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGZiXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYVx1ZGRlY1x1ZGRlZVx1ZGRmM1x1ZGRmYV18XHVkODNjXHVkZGZjXHVkODNjW1x1ZGRlYlx1ZGRmOF18XHVkODNjXHVkZGZkXHVkODNjXHVkZGYwfFx1ZDgzY1x1ZGRmZVx1ZDgzY1tcdWRkZWFcdWRkZjldfFx1ZDgzY1x1ZGRmZlx1ZDgzY1tcdWRkZTZcdWRkZjJcdWRkZmNdfFx1ZDgzY1tcdWRjY2ZcdWRkOGVcdWRkOTEtXHVkZDlhXHVkZGU2LVx1ZGRmZlx1ZGUwMVx1ZGUzMi1cdWRlMzZcdWRlMzgtXHVkZTNhXHVkZTUwXHVkZTUxXHVkZjAwLVx1ZGYyMFx1ZGYyZC1cdWRmMzVcdWRmMzctXHVkZjdjXHVkZjdlLVx1ZGY4NFx1ZGY4Ni1cdWRmOTNcdWRmYTAtXHVkZmMxXHVkZmM1XHVkZmM2XHVkZmM4XHVkZmM5XHVkZmNmLVx1ZGZkM1x1ZGZlMC1cdWRmZjBcdWRmZjRcdWRmZjgtXHVkZmZmXXxcdWQ4M2RbXHVkYzAwLVx1ZGMzZVx1ZGM0MFx1ZGM0NFx1ZGM0NVx1ZGM1MS1cdWRjNjVcdWRjNmFcdWRjNmZcdWRjNzktXHVkYzdiXHVkYzdkLVx1ZGM4MFx1ZGM4NFx1ZGM4OC1cdWRjYTlcdWRjYWItXHVkY2ZjXHVkY2ZmLVx1ZGQzZFx1ZGQ0Yi1cdWRkNGVcdWRkNTAtXHVkZDY3XHVkZGE0XHVkZGZiLVx1ZGU0NFx1ZGU0OC1cdWRlNGFcdWRlODAtXHVkZWEyXHVkZWE0LVx1ZGViM1x1ZGViNy1cdWRlYmZcdWRlYzEtXHVkZWM1XHVkZWQwLVx1ZGVkMlx1ZGVkNS1cdWRlZDdcdWRlZWJcdWRlZWNcdWRlZjQtXHVkZWZjXHVkZmUwLVx1ZGZlYl18XHVkODNlW1x1ZGQwZFx1ZGQwZVx1ZGQxMC1cdWRkMTdcdWRkMWRcdWRkMjAtXHVkZDI1XHVkZDI3LVx1ZGQyZlx1ZGQzYVx1ZGQzY1x1ZGQzZi1cdWRkNDVcdWRkNDctXHVkZDc2XHVkZDc4XHVkZDdhLVx1ZGRiNFx1ZGRiN1x1ZGRiYVx1ZGRiYy1cdWRkY2JcdWRkZDBcdWRkZGUtXHVkZGZmXHVkZTcwLVx1ZGU3NFx1ZGU3OC1cdWRlN2FcdWRlODAtXHVkZTg2XHVkZTkwLVx1ZGVhOFx1ZGViMC1cdWRlYjZcdWRlYzAtXHVkZWMyXHVkZWQwLVx1ZGVkNl18W1x1MjNlOS1cdTIzZWNcdTIzZjBcdTIzZjNcdTI2N2VcdTI2Y2VcdTI3MDVcdTI3MjhcdTI3NGNcdTI3NGVcdTI3NTMtXHUyNzU1XHUyNzk1LVx1Mjc5N1x1MjdiMFx1MjdiZlx1ZTUwYV0pfFx1ZmUwZi9nLGE9L1x1RkUwRi9nLGk9U3RyaW5nLmZyb21DaGFyQ29kZSg4MjA1KSxvPS9bJjw+JyJdL2cscz0vXig/OmlmcmFtZXxub2ZyYW1lc3xub3NjcmlwdHxzY3JpcHR8c2VsZWN0fHN0eWxlfHRleHRhcmVhKSQvLGw9U3RyaW5nLmZyb21DaGFyQ29kZQo7cmV0dXJuIGU7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0P2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIiIuY29uY2F0KHQuYmFzZSx0LnNpemUsIi8iLGUsdC5leHQpfWZ1bmN0aW9uIHUoZSx0KXtmb3IodmFyIG4sYSxpPWUuY2hpbGROb2RlcyxvPWkubGVuZ3RoO28tLTspMz09PShhPShuPWlbb10pLm5vZGVUeXBlKT90LnB1c2gobik6MSE9PWF8fCJvd25lclNWR0VsZW1lbnQiaW4gbnx8cy50ZXN0KG4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl8fHUobix0KTtyZXR1cm4gdH1mdW5jdGlvbiBjKGUpe3JldHVybiBnKGUuaW5kZXhPZihpKTwwP2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBoKGUsdCl7Zm9yKHZhciBhLGksbyxzLGwsZCxoLHYsbSxwLGYsZyxiLHc9dShlLFtdKSxDPXcubGVuZ3RoO0MtLTspe2ZvcihvPSExLHM9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGQ9KGw9d1tDXSkubm9kZVZhbHVlLHY9MDtoPW4uZXhlYyhkKTspe2lmKChtPWguaW5kZXgpIT09diYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodixtKSwhMCkpLGc9YyhmPWhbMF0pLHY9bStmLmxlbmd0aCxiPXQuY2FsbGJhY2soZyx0KSxnJiZiKXtmb3IoaSBpbihwPW5ldyBJbWFnZSkub25lcnJvcj10Lm9uZXJyb3IscC5zZXRBdHRyaWJ1dGUoImRyYWdnYWJsZSIsImZhbHNlIiksYT10LmF0dHJpYnV0ZXMoZixnKSlhLmhhc093blByb3BlcnR5KGkpJiYwIT09aS5pbmRleE9mKCJvbiIpJiYhcC5oYXNBdHRyaWJ1dGUoaSkmJnAuc2V0QXR0cmlidXRlKGksYVtpXSk7cC5jbGFzc05hbWU9dC5jbGFzc05hbWUscC5hbHQ9ZixwLnNyYz1iLG89ITAscy5hcHBlbmRDaGlsZChwKX1wfHxzLmFwcGVuZENoaWxkKHIoZiwhMSkpLHA9bnVsbH1vJiYodjxkLmxlbmd0aCYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodiksITApKSxsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHMsbCkpfXJldHVybiBlfWZ1bmN0aW9uIHYoZSx0KXtyZXR1cm4gZihlLChmdW5jdGlvbihlKXt2YXIgbixhLGk9ZSxzPWMoZSksbD10LmNhbGxiYWNrKHMsdCk7aWYocyYmbCl7Zm9yKGEgaW4gaT0iPGltZyAiLmNvbmNhdCgnY2xhc3M9IicsdC5jbGFzc05hbWUsJyIgJywnZHJhZ2dhYmxlPSJmYWxzZSIgJywnYWx0PSInLGUsJyInLCcgc3JjPSInLGwsJyInKSxuPXQuYXR0cmlidXRlcyhlLHMpKW4uaGFzT3duUHJvcGVydHkoYSkmJjAhPT1hLmluZGV4T2YoIm9uIikmJi0xPT09aS5pbmRleE9mKCIgIithKyI9IikmJihpPWkuY29uY2F0KCIgIixhLCc9IicsblthXS5yZXBsYWNlKG8sbSksJyInKSk7aT1pLmNvbmNhdCgiLz4iKX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBtKGUpe3JldHVybiB0W2VdfWZ1bmN0aW9uIHAoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBmKGUsdCl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKG4sdCl9ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgbj1bXSxhPTAsaT0wLG89MDtvPGUubGVuZ3RoOylhPWUuY2hhckNvZGVBdChvKyspLGk/KG4ucHVzaCgoNjU1MzYrKGktNTUyOTY8PDEwKSsoYS01NjMyMCkpLnRvU3RyaW5nKDE2KSksaT0wKTo1NTI5Njw9YSYmYTw9NTYzMTk/aT1hOm4ucHVzaChhLnRvU3RyaW5nKDE2KSk7cmV0dXJuIG4uam9pbih0fHwiLSIpfX0oKX0sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+YX0pO2xldCBhPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.614Z","timestamp":1785124877614,"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: 247444\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-27T06:15:18.672063Z","times_seen":71078,"resource_available":false,"data":"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"}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-base-1.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.530Z","timestamp":1785124875530,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-base-1.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 23556\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-5c04\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":23556,"size_decoded":23782,"mime_type":"image/png","magic":"PNG image data, 448 x 258, 8-bit/color RGBA, non-interlaced","md5":"b9c4d46b631162e3c881cfb83e68db57","sha1":"07d1a5988ed9a6647a21f695460a90521451313e","sha256":"ad0c7b9887d874aeab91e876ab5d2c80d80f369481a3f5b2f636d36f1bf5e097","sha512":"50f00b107cabd76f7cb6c212634439ec78c3d01c1e705b465ea9a941c67ee9012b5c460426895d3af60766be84296eb8c4349b4d9fb4ece218890973793e80ea","ssdeep":"384:bw86CX6Zi9p4yUYIHeLoqZ1mjbpvvIdy0KschFeGxQjguBP1q2+Af1U6LBs:MBM6Zi94LHgo5vIY0Kscb/xQjgutpt+T","tlshash":"3fb2e00c9d239c0f65bfa4416952aa245daf12df588225bccfce3c4ed4638b650f83e6","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:29.960824Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAcAAAAECCAYAAABpBQfMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OERDMDNEQzQ3RkMxMUVBQkRFM0UxNDA0QUY4MDg1RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OERDMDNERDQ3RkMxMUVBQkRFM0UxNDA0QUY4MDg1RSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU4REMwM0RBNDdGQzExRUFCREUzRTE0MDRBRjgwODVFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU4REMwM0RCNDdGQzExRUFCREUzRTE0MDRBRjgwODVFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+XSdBMgAAWHlJREFUeNrsnQeAHUX9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"}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.828Z","timestamp":1785124875828,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-6fa\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3f16803b0b08dc29cbe5e72076f576df\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1786,"size_decoded":1551,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (1784), with no line terminators","md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-07-27T06:24:31.625561Z","times_seen":221,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTExNF0sezgxOTA3OCh0KXt0LmV4cG9ydHM9WyIzTSJdfSwyNzIwOTgodCl7dC5leHBvcnRzPVsiM1kiXX0sOTk1MDY2KHQpe3QuZXhwb3J0cz1bIjEwWSJdfSw4MzI3MzModCl7dC5leHBvcnRzPVsiMU0iXX0sOTM4MTAwKHQpe3QuZXhwb3J0cz1bIjFEIl19LDQ5MjEzNSh0KXt0LmV4cG9ydHM9WyIxVyJdfSw3NzAzMDModCl7dC5leHBvcnRzPVsiMVkiXX0sOTM0Nzc3KHQpe3QuZXhwb3J0cz1bIjJZIl19LDgyODU1KHQpe3QuZXhwb3J0cz1bIjVEIl19LDQ0NjU2MCh0KXt0LmV4cG9ydHM9WyI1WSJdfSw2ODA3Nih0KXt0LmV4cG9ydHM9WyI2TSJdfSwzODg3NzAodCl7dC5leHBvcnRzPVsiQ2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDgzNDgyMih0KXt0LmV4cG9ydHM9WyJDaGFydCBpbWFnZSBlbWJlZCBjb2RlIGNvcGllZCB0byBjbGlwYm9hcmQge2Vtb2ppfSJdfSwxNjE1MjgodCl7dC5leHBvcnRzPVsiQ2xpY2sgdG8gc2V0IGEgcG9pbnQiXX0sMjMzNjkwKHQpe3QuZXhwb3J0cz1bIkFsbCJdfSwyOTY0NzEodCl7dC5leHBvcnRzPVsiRG91YmxlLWNsaWNrIGFueSBlZGdlIHRvIHJlc2V0IGxheW91dCBncmlkIl19LDY0MTE2MSh0KXt0LmV4cG9ydHM9WyJEb3VibGUtY2xpY2sgdG8gZmluaXNoIHBhdGgiXX0sNTgwOTg1KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS1jbGljayB0byBmaW5pc2ggcG9seWxpbmUiXX0sMTM3MTQ5KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS10YXAgYW55IGVkZ2UgdG8gcmVzZXQgbGF5b3V0IGdyaWQiXX0sODIxMjQ4KHQpe3QuZXhwb3J0cz1bIkhvdGxpc3RzIl19LDU4MjMwMyh0KXt0LmV4cG9ydHM9WyJIb2xkIHtrZXl9IGZvciB0ZW1wb3JhcnkgZHJhd2luZyJdfSw5NDQ3MDgodCl7dC5leHBvcnRzPVsiSGVhZHMgdXAg4oCUIHRoZSBhbmNob3JlZCB0ZXh0IHRvb2wgd2lsbCBiZSByZW1vdmVkIHNvb24uIFVzZSB0aGUgdGV4dCB0b29sIHdpdGggdGhlIGFuY2hvciBvcHRpb24gc3dpdGNoZWQgb24gdG8gZ2V0IHRoZSBzYW1lIHJlc3VsdHMuIl19LDIyMjkodCl7dC5leHBvcnRzPVsiTGluayB0byB0aGUgY2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDczMDkzNSh0KXt0LmV4cG9ydHM9WyJNb3ZlIHRoZSBwb2ludCB0byBwb3NpdGlvbiB0aGUgYW5jaG9yIHRoZW4gdGFwIHRvIHBsYWNlIl19LDQ3NTI5OSh0KXt0LmV4cG9ydHM9WyJQcmVzcyBhbmQgaG9sZCB7a2V5fSB3aGlsZSB6b29taW5nIHRvIG1haW50YWluIHRoZSBjaGFydCBwb3NpdGlvbiJdfSwzOTc3ODgodCl7dC5leHBvcnRzPVsiV2F0Y2hsaXN0Il19LDcxNjA2Nih0KXt0LmV4cG9ydHM9WyJXaWRnZXRzIl19LDQyMjM2OSh0KXt0LmV4cG9ydHM9WyJZVEQiXX0sNDg1NDIwKHQpe3QuZXhwb3J0cz1bIlllYXIgdG8gZGF0ZSJdfSwxMDMwMzAodCl7dC5leHBvcnRzPVsie3N0cn0gZGF5Iiwie3N0cn0gZGF5cyJdfSwyMTA1NzQodCl7dC5leHBvcnRzPVsie3N0cn0gaG91ciIsIntzdHJ9IGhvdXJzIl19LDY5NDYxNyh0KXt0LmV4cG9ydHM9WyJ7c3RyfSBtb250aCIsIntzdHJ9IG1vbnRocyJdfSw0MzkwKHQpe3QuZXhwb3J0cz1bIntzdHJ9IG1pbnV0ZSIsIntzdHJ9IG1pbnV0ZXMiXX0sNjQ0NjI1KHQpe3QuZXhwb3J0cz1bIntzdHJ9IHdlZWsiLCJ7c3RyfSB3ZWVrcyJdfSwyMTY0MDIodCl7dC5leHBvcnRzPVsie3N0cn0geWVhciIsIntzdHJ9IHllYXJzIl19fV0pOw=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89204.f6418fba73d397b29641.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.837Z","timestamp":1785124876837,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89204.f6418fba73d397b29641.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b78-142\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: be1a257e3ab9da44231301d553d97696\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":322,"size_decoded":1004,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (322), with no line terminators","md5":"563945a9dc3f312146a5c158aa6e6ee9","sha1":"78cb43846e5dba44427d564e9102bc8b42099d12","sha256":"3eb3c2fc923c9e7a63bb29f65516f6a81786dbac6ef260ef42320d8dd906a9e0","sha512":"affae07e66af435a2825898cc8a27eee49f9e507ab4e765b0af5a96af6b4e80cfc8cedec4bd0c8b89033e405e0630ae24042553f017bb1f29360d57fbd1aa04d","ssdeep":"","tlshash":"5de07d062634443ec48b4a39bec34337c874c641dee27a9ba113b10611b223507f530f","first_seen":"2026-04-10T04:33:31.665375Z","last_seen":"2026-07-27T06:24:31.558811Z","times_seen":585,"resource_available":false,"data":"Lmljb24tV0IyeTBFblB7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSl9Lmljb24tV0IyeTBFblAgc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjRweDt3aWR0aDo4cHh9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUDpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50316.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.907Z","timestamp":1785124876907,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50316.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a43614c-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:25:16 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:11\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5873aad0165bf7c4a069f9c8eb009606\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"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-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=PT+Sans:400,700","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://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.185Z","timestamp":1785124875185,"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=PT+Sans:400,700 HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://berthenergy-inc.biz/\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 04:01:15 GMT\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\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":2720,"size_decoded":1203,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"57292b83ff6618b67262350884ec5793","sha1":"aee1428aab31000ac974dd5d8e4f3a968fcbaa77","sha256":"755cfd75b47105dad8d6b223e816f9986d6d8efe78869ef115132427b53bfa31","sha512":"22fd09aaf0b361fa0e2dc1730cfcf8d422d2ea08a4e897de7995fa1c28889b59c634c143a29446f13cbb7e8eab40e5ee4b2c2803f7bd827f2f1e81f69dad17de","ssdeep":"","tlshash":"8f51c192052bd840ab831cc523cf7d32ce1e6155704998266aff1c98ed65e2d8371b5d","first_seen":"2025-09-06T06:38:15.307205Z","last_seen":"2026-07-27T04:03:30.032945Z","times_seen":3936,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3B0c2Fucy92MTgvaml6YVJFeFVpVG85OXU3OUQwLUV4ZEdNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzYW5zL3YxOC9qaXphUkV4VWlUbzk5dTc5RDBhRXhkR00ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzYW5zL3YxOC9qaXphUkV4VWlUbzk5dTc5RDB5RXhkR00ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BUIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNhbnMvdjE4L2ppemFSRXhVaVRvOTl1NzlEMEtFeFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzYW5zL3YxOC9qaXpmUkV4VWlUbzk5dTc5Ql9taDBPT3RMUTBaLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzYW5zL3YxOC9qaXpmUkV4VWlUbzk5dTc5Ql9taDBPcXRMUTBaLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3B0c2Fucy92MTgvaml6ZlJFeFVpVG85OXU3OUJfbWgwT0N0TFEwWi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3B0c2Fucy92MTgvaml6ZlJFeFVpVG85OXU3OUJfbWgwTzZ0TFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":91,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":32,"receive":0,"ssl":41},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/pay3.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.263Z","timestamp":1785124875263,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/pay3.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 5122\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-1402\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":5122,"size_decoded":5347,"mime_type":"image/png","magic":"PNG image data, 166 x 51, 8-bit/color RGBA, non-interlaced","md5":"2320880680d6f150ae2e1acf25bb1e3f","sha1":"2a7a80ceadeaa9278efe7b46e1a66c942b6e7131","sha256":"864ace9bdcee7199718566a3b8203a4416ca8414ba0342bd33dd8cf273a5f223","sha512":"834cdefb84151aa8121bb5c5e595200e91c255bf4d013c1b35d163b876c19ca6907290bb76c397312a3bb3681cda375989cf9155700c3f1895b9f87e25a0ecc1","ssdeep":"96:W23X7F6IRfJ4jqpsOtcSxbMbhKdCczbhLfYLNyi/:J1RfJgBYcibMbhKdC+Lat","tlshash":"58b17e4fe47b664693ddedb33ce360476c581a86c180907051caea2a65f52ed00a83f7","first_seen":"2025-02-21T02:45:33.054358Z","last_seen":"2026-07-27T04:03:30.227706Z","times_seen":7,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKYAAAAzCAYAAAAdI3OHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBNDQ3RTYwRDY5ODExRTg5QUVEQ0M5QjYwNUQ2NjY5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBNDQ3RTYxRDY5ODExRTg5QUVEQ0M5QjYwNUQ2NjY5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkE0NDdFNUVENjk4MTFFODlBRURDQzlCNjA1RDY2NjkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkE0NDdFNUZENjk4MTFFODlBRURDQzlCNjA1RDY2NjkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7nX+6mAAAQcklEQVR42uxd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"}},"time_used":81,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":61,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/pay4.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.265Z","timestamp":1785124875265,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/pay4.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 5125\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-1405\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":5125,"size_decoded":5350,"mime_type":"image/png","magic":"PNG image data, 166 x 51, 8-bit/color RGBA, non-interlaced","md5":"415703bdf84a3f9644eaac5d49348bd6","sha1":"f69ad1a17d9f0f9dc53cb5963677b4faad2e6718","sha256":"9b07d701b3ae532ee1686c42e7d4ae90e8e7e60be239976da11dd4390a1ae616","sha512":"906590da19ab14e7bab8b6387d6c406829011fced5b37efd54bfdf622ceeb352bbc31d1a7737ce51ead03bd389e3ad0f72f992d84288272ba0d77e86ec31aac0","ssdeep":"96:W2Wuq2kihd5P8R733lE/BQ2kNtQfr0dVQC0MHz792SVbJQOMbR4M4DAaeWJ8o6Em:Uuq2ke5PA71IBQ2EOFMcudeVr7dEm","tlshash":"d0b17ed3581174581263961181ea5053eb0507591d4572393c9be5effa300f38edead3","first_seen":"2025-02-21T02:45:33.051141Z","last_seen":"2026-07-27T04:03:30.055332Z","times_seen":8,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKYAAAAzCAYAAAAdI3OHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNCRkU2OTczRDY5ODExRThBRTk0ODFGNTExOTlFMTYwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNCRkU2OTc0RDY5ODExRThBRTk0ODFGNTExOTlFMTYwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0JGRTY5NzFENjk4MTFFOEFFOTQ4MUY1MTE5OUUxNjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0JGRTY5NzJENjk4MTFFOEFFOTQ4MUY1MTE5OUUxNjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7D75VoAAAQdUlEQVR42uxd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"}},"time_used":80,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":60,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.708Z","timestamp":1785124876708,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 70be3f4348f6fac0f67a773ccd68aa61\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":580,"size_decoded":1088,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (580), with no line terminators","md5":"34f5e63cca1a0c5f41a95164111b3b4c","sha1":"c652860824e5dfe8605dfd2c449ab1999dbb7320","sha256":"d836659d40ccee20b3bda744c4d2935c90d75eb285a16b35fea1a995e18a1d80","sha512":"4e47b6897f850a154d8b07315c97ee8b4d0b2f5d4909f78c8ccc1de89e165e871ba201c85af37eb3c384ef96de09c261da19a74b11a2290fa42b7872527a8638","ssdeep":"","tlshash":"02f04c1aa2b98f9f9063c899053cb21b5451dd93de221f27b6d8c52c81cbed71307a0c","first_seen":"2026-07-17T03:30:51.191624Z","last_seen":"2026-07-27T06:24:31.660721Z","times_seen":78,"resource_available":false,"data":"LmNoZWNrYm94LWhVc25uMlpfe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2dhcDo4cHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbH0uY2hlY2tib3gtaFVzbm4yWl8ucmV2ZXJzZS1oVXNubjJaX3tmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmNoZWNrYm94LWhVc25uMlpfLmJhc2VsaW5lLWhVc25uMlpfe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmxhYmVsLWhVc25uMlpfe21pbi13aWR0aDowfS5kaXNhYmxlZC1oVXNubjJaX3tvcGFjaXR5Oi41fS5wcmltYXJ5LWhVc25uMlpfe2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmRhbmdlci1oVXNubjJaX3tjb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/29536.736f471a8d64a8122fd8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.687Z","timestamp":1785124876687,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29536.736f471a8d64a8122fd8.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ebc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 48b073fb77c5fa50f52780ab43d10811\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3772,"size_decoded":1613,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3772), with no line terminators","md5":"0f29bcabe069a47a657f4666aef1835a","sha1":"6d7a898f70cbc2cd3e7245948215a87083dc7757","sha256":"13835bb4936e82708b3d51759c4f0817b38329ae23fbd4159dd42c41d72bd08c","sha512":"844358cef628a8e87ce959d524734c056fccd6a453f67541790666eb6d7c715b9eeaaddb5ed93e3923992e68bf8320f159e9869a9a38a76b85e3677d846bcd35","ssdeep":"","tlshash":"6171ddc5f150fab1fb23119c63ac6079ba80ad78ed5376c7b976d81508d5bb2122372c","first_seen":"2026-07-16T13:40:49.880227Z","last_seen":"2026-07-27T06:14:34.071483Z","times_seen":100,"resource_available":false,"data":"LmRlZmF1bHQtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkKX0uZGFuZ2VyLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKX0ud2FybmluZy1HWkx5a05RUHstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmcpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZCl9LnN1Y2Nlc3MtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpfS5uZXV0cmFsLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW0pOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQpfS5uZXV0cmFsLWxpZ2h0LUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnNtYWxsLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTozfS5tZWRpdW0tR1pMeWtOUVB7LS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplOjR9LmxhcmdlLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTo1fS5pY29uV3JhcHBlci1HWkx5a05RUHstLXVpLWxpYi1zaXplLWRlZjp2YXIoLS11aS1saWItaW4taWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplLDMpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7YmFja2dyb3VuZDojMDAwMDtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNDRweCk7aGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO21pbi13aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKX0uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXN7b3V0bGluZTpub25lfS5pY29uV3JhcHBlci1HWkx5a05RUDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uaWNvbldyYXBwZXItR1pMeWtOUVA6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyg1MCUgKyA0cHgpfS5pY29uV3JhcHBlci1HWkx5a05RUDp2aXNpdGVke2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3IpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmljb25XcmFwcGVyLUdaTHlrTlFQOmhvdmVye2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLWhvdmVyLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXIpKX19Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX0uaWNvbi1HWkx5a05RUHtwb2ludGVyLWV2ZW50czpub25lfS5pY29uLUdaTHlrTlFQIHN2Z3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5184.0fb4574cacec16f6365d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.692Z","timestamp":1785124876692,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5184.0fb4574cacec16f6365d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-15fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: abb28e10718f9b3b1a8ab063c047c9b2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5628,"size_decoded":2039,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5628), with no line terminators","md5":"d7588c0ef38ed29f77c4285858768089","sha1":"1b0f8982c149f743f7af67d6a43e5bbcb09a698d","sha256":"09e34aab9f0ab1c517da25dd9e6a703968584d31fa0d044e61e48e60b623b691","sha512":"b072070b0ef82141c4d509c12596a605d3a427c3846b30a521d776f92a143f39e56b0d8eb974dfb0d88ab28bdf7413ad92d069ef724fecfb75ef30963cd73953","ssdeep":"48:LKn0fdtTAnnRpxyy+QPoL39OYuNyFejYkdY9Ik9s+1eyv68oc94XcW3te8nnfBvr:LKiTAVyKP+uNyApXcapnnfB/D5F","tlshash":"bbc1c343b5d0bc347f1266d86bf821adb6c0adb1e80321dab475b83588c1bfb54a1e65","first_seen":"2026-07-16T13:40:49.878413Z","last_seen":"2026-07-27T06:14:34.238893Z","times_seen":100,"resource_available":false,"data":"LmJhZGdlLXg0VVZaYWJNey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1iYWRnZS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWJhZGdlLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXhzbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMikpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7LS11aS1saWItc2l6ZS1kZWYteGxhcmdlOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA2KSkpOy0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctcmlnaHQ6dmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1ob3IpOy0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqOHB4KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzJweCk7LS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtaGVpZ2h0LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodCkpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXMpO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxN3B4KTtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjcwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3MDApO2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSouNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSouMDJlbSArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKi4wNWVtICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSouMDJlbSk7cGFkZGluZy1ibG9jazowIDA7cGFkZGluZy1pbmxpbmU6dmFyKC0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWxlZnQpKSB2YXIoLS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLXJpZ2h0KSk7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtY29sb3ItYmFja2dyb3VuZCkpO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXdyYXA6bm93cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uYmFkZ2UteDRVVlphYk0uaGFzQ2hpbGRyZW4teDRVVlphYk17LS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWhvcjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5iYWRnZS14NFVWWmFiTTpub3QoLmhhc0NoaWxkcmVuLXg0VVZaYWJNKXstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yOjA7d2lkdGg6dmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1oZWlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXthLmJhZGdlLXg0VVZaYWJNOmhvdmVyLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTpob3ZlcnstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YmFja2dyb3VuZDp2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWhvdmVyLHZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQpKSl9fWEuYmFkZ2UteDRVVlphYk06YWN0aXZlLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTphY3RpdmV7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLXVpLWxpYi1iYWRnZS1iYWNrZ3JvdW5kLHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWFjdGl2ZSx2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50LWFjdGl2ZSkpKX0uYmFkZ2UteDRVVlphYk17b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJhZGdlLXg0VVZaYWJNOmZvY3Vze291dGxpbmU6bm9uZX0uYmFkZ2UteDRVVlphYk06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhZGdlLXg0VVZaYWJNOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5iYWRnZS14NFVWWmFiTTpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5iYWRnZS14NFVWWmFiTTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJhZGdlLXg0VVZaYWJNOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5iYWRnZS14NFVWWmFiTTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLWJhZGdlLWZvY3VzLW91dGxpbmUtcmFkaXVzLCB2YXIoLS11aS1saWItYmFkZ2UtYm9yZGVyLXJhZGl1cykpICsgNHB4KX0uY29udGVudC14NFVWWmFiTXtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjRweCk7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNsb3QteDRVVlphYk17LS11aS1saWItYmFkZ2Utc2xvdC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2Utc2xvdC1zaXplKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOnZhcigtLXVpLWxpYi1iYWRnZS1zbG90LXNpemUpfS54c21hbGwteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjJ9LnNtYWxsLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTozfS5tZWRpdW0teDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjR9LmxhcmdlLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTo1fS54bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjZ9Lnh4bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjd9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/72512.6193102e3152806b8b0f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.848Z","timestamp":1785124876848,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/72512.6193102e3152806b8b0f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-960\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1814b93e8a8e83bc49bde0f1f25bbf1f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2400,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2400), with no line terminators","md5":"3a3939e3aa144594584f8ef2bfacd03e","sha1":"60f23f2501747d3d97cbff6f3683dc7e6f9374e1","sha256":"33f399d21b28081ae24569e69403a1aa51e8464cb13d8c6d5e1a3fe6e44ff992","sha512":"bb575248fe0999c8bd6ce31c8a6b01ba5b72b2a388b462c6c4224c88389d94bbf5bf990264f9671498d90cb696bba3e632a59819877bdb52b2a82db3db200912","ssdeep":"","tlshash":"29414bc9f061b23f3b0f60384319d1dc139beaa1cb521fabfb62d1e001c57e562a9426","first_seen":"2026-07-17T14:15:58.435225Z","last_seen":"2026-07-27T06:24:31.603053Z","times_seen":69,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYm9zYTojMDAwMH0uYnV0dG9uLVdNcEtLVUNxe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQpKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTowO2hlaWdodDoyMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7d2lkdGg6MjJweH0uYnV0dG9uLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXItY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIpKX19LmJ1dHRvbi1XTXBLS1VDcS5kaXNhYmxlZC1XTXBLS1VDcSwuYnV0dG9uLVdNcEtLVUNxLmRpc2FibGVkLVdNcEtLVUNxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1fMC1ib3NhKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuZGlzYWJsZWQtV01wS0tVQ3E6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IsdmFyKC0tXzAtYm9zYSkpfX0uYnV0dG9uLVdNcEtLVUNxe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tV01wS0tVQ3E6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tV01wS0tVQ3E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1XTXBLS1VDcTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uYnV0dG9uLVdNcEtLVUNxLmZvY3VzZWQtV01wS0tVQ3E6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYnV0dG9uLVdNcEtLVUNxLmFjdGl2ZS1XTXBLS1VDcXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpfS5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcS5hY3RpdmUtV01wS0tVQ3E6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5oaWRkZW4tV01wS0tVQ3F7dmlzaWJpbGl0eTpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55011.f9c0a3c09f7b8779aa37.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.852Z","timestamp":1785124876852,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55011.f9c0a3c09f7b8779aa37.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-1f54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: da7fcdc14ad20476f465bd4cd597d99d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8020,"size_decoded":1910,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8020), with no line terminators","md5":"f0f2a6df78408bf96f6481a8d4c0f601","sha1":"c631397e79937484494158e38839d6e7e61fc647","sha256":"16ea95403cf2493fe63636ef9bccca8bc96aad6127f3d089ae7374caad43768f","sha512":"a5b165d61175f74d80f88c391c3c65e8bd9a1c6ea9d95bc184c93b61cda87117860c156c65aefd877fdb93c465bb755928d2f7872aa5ba05a1f9af74abcfe58d","ssdeep":"96:14pXCl+y3XsOna+yTRehcZOdBXysBKeYyeY+xRkkxRkfyVa+yTRehcv99BDB1PAq:K6aZV5OdB1BMTkkTkfsaZVP99BDB1PAq","tlshash":"8ef14c8df1e2957a170b312d4281c254572ba8c0ea56e7e97c7e72c840cebd502be92f","first_seen":"2026-06-30T21:57:43.329237Z","last_seen":"2026-07-27T06:24:31.766555Z","times_seen":206,"resource_available":false,"data":"LmJ1dHRvbi1IZEtoY1R5ZXthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDYwbXMgZWFzZSxvcGFjaXR5IDYwbXMgZWFzZSxjb2xvciA2MG1zIGVhc2U7LS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXM6NnB4Oy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0KSl9LmJ1dHRvbi1IZEtoY1R5ZS5wcmVzc2VkLUhkS2hjVHlley0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yOnZhcigtLXR2LWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpOy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX0uYnV0dG9uLUhkS2hjVHllLmhvdmVyLUhkS2hjVHllLC5idXR0b24tSGRLaGNUeWU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfX0uYnV0dG9uLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpKX0uYnV0dG9uLUhkS2hjVHllIHN2Z3tkaXNwbGF5OmJsb2NrOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHlle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzLDJweCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWJvdHRvbSx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tcmlnaHQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWxlZnQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXRvcCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTt6LWluZGV4Oi0xfS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn19LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpKTtjb250ZW50OiIifS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5hY2Nlc3NpYmxlLUhkS2hjVHllOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7LS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLXR2LXRvb2wtd2lkZ2V0LWJ1dHRvbi1pbnRlcmFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcik7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmFjdGl2ZXtjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTpob3Zlcntjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9fS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNPcGVuZWQtSGRLaGNUeWUuY2xpY2tlZC1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSkpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9ja30uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWV7b3BhY2l0eTouNX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1jb2xvcil9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItYm9yZGVyLXJhZGl1cywycHgpO2JvdHRvbTp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1ib3R0b20sdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXJpZ2h0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1sZWZ0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO291dGxpbmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIG5vbmUgMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi10b3AsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ei1pbmRleDotMX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpO2NvbnRlbnQ6IiJ9fS5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZS5jbGlja2VkLUhkS2hjVHllOmJlZm9yZSwuYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuYWNjZXNzaWJsZS1IZEtoY1R5ZTpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpO2NvbnRlbnQ6IiJ9LmVuZEljb24tSGRLaGNUeWUsLmljb24tSGRLaGNUeWUrLnRleHQtSGRLaGNUeWUsLnRleHQtSGRLaGNUeWUrLmljb24tSGRLaGNUeWV7bWFyZ2luLWlubGluZS1zdGFydDo0cHh9LmVuZEljb24tSGRLaGNUeWV7ZGlzcGxheTpmbGV4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/10385.8744d4f8670dac310d1f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.185Z","timestamp":1785124877185,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/10385.8744d4f8670dac310d1f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 82\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d58c8e843d348983fd7286c698ac1629\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":82,"size_decoded":866,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"9c95d3a949cd65153c73fef9b7436e51","sha1":"2481fdfca00fe9dd2dbdcc9cef393f2bfa940e0f","sha256":"8a7a6dad3d21341892305029b6f16da6eb7b1618e90462b3a0fac8b37b7b32ef","sha512":"3f37d27a43edad41d3c4249ef19dde0b693557e7da003f10173dcb04d10120fd18ac1ee9a303edaf615ca4aac0b6628a11223b7826c35112667e286163a908c4","ssdeep":"","tlshash":"a2a0122876d61555f507302987648d0460484510440087165a1d5491d0811ed1591240","first_seen":"2025-07-09T18:19:43.633418Z","last_seen":"2026-07-27T06:24:31.722113Z","times_seen":617,"resource_available":false,"data":"LnNlcGFyYXRvci1QZjRySXpFdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2hlaWdodDoxcHg7bWFyZ2luOjhweCAwfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ptsans/v18/jizaRExUiTo99u79D0KExQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.474Z","timestamp":1785124875474,"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/ptsans/v18/jizaRExUiTo99u79D0KExQ.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://berthenergy-inc.biz\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: 45532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 10:09:34 GMT\r\nexpires: Mon, 26 Jul 2027 10:09:34 GMT\r\ncache-control: public, max-age=31536000\r\nage: 64301\r\nlast-modified: Thu, 04 Sep 2025 17:27:33 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":45532,"size_decoded":46344,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 45532, version 1.0","md5":"3f66ddcf744f9d3144a164781c1c8d12","sha1":"a922c0987319ee73a9645918566d35cb90196b3d","sha256":"2dea6190c113af617923c6b71f7f10ffbdf72074556f79963610254fe40e49be","sha512":"ab44f6e75fdef3596d5aad958e14b1b2bedd4132aebe0b136b8f4ae466d2594a68baa1c4dd047e70ac03116dda521934e13445e85ef0f2d56bd341c46d116d86","ssdeep":"768:fYn3iesPbiNr4ew9DQrVPgxlpWLCbyByd2YVi15T85aavJWo0xB6tkKCEg9sJ29:AnSbbzsfuYXYU38MYJWo0xB6yKCEg2Ju","tlshash":"b613f174e6421cb77b86260a76dcfa805c77486536fc2a27baffc02b52ca02045995bd","first_seen":"2025-09-05T01:58:17.133494Z","last_seen":"2026-07-27T04:38:30.812946Z","times_seen":18987,"resource_available":false,"data":"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"}},"time_used":85,"timings":{"blocked":-1,"dns":2,"connect":32,"send":0,"wait":25,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-grid-1.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.512Z","timestamp":1785124875512,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-grid-1.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 2035\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-7f3\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":2035,"size_decoded":2259,"mime_type":"image/png","magic":"PNG image data, 68 x 111, 8-bit/color RGBA, non-interlaced","md5":"d53a7c0cd0e416b0f6d8ecdbcec8ae33","sha1":"1f4eb78879d2afc8d5594b70597e35e79f04c9ad","sha256":"26d19c750374e27a84be2b46a442bef477a37f1cfeceb33a14636bf308f79ee6","sha512":"65ea58030e23ce50f4d79225d2532197c399cd0948413ba4c3e28361430e876426ba4bc1b55a4f506bb3f7ac21c7354e2e09d14ce3d6af7ea2072dcd0d6d681e","ssdeep":"","tlshash":"b541b8465a8078427589e48139f6c013c932d8e1e3ddb165fecece8919612e56aaa2cb","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.025815Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEQAAABvCAYAAABVeGZHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNDg0NkJCODQ4MTcxMUVBQjU4Q0VCNzczRkU4NDYwNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNDg0NkJCOTQ4MTcxMUVBQjU4Q0VCNzczRkU4NDYwNCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjM0ODQ2QkI2NDgxNzExRUFCNThDRUI3NzNGRTg0NjA0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjM0ODQ2QkI3NDgxNzExRUFCNThDRUI3NzNGRTg0NjA0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+dq5LIQAABGhJREFUeNrsnE1IVUEUx+fMvZal0Zck1aJFHxgtwhZltbBVRBAVgbQIok1CmxZt2khQLYJo0UZy1TaCqAik2rUpDVFaBIFSWBgokoZoTwtfZ+JuImH+Vw73PfP/h8vZDL85b9583HPeeSMt+3audXHN9fQP/og1UlatmpUAb0p58xGWV7MGYM0qqwT4tkrNili71Iv3QKdIG5exoLYAC+3X1LfU+3Ji1qkvixqEJ0WyMp5HeGni7TpVlgc/BMJyIMuDPGiAdclYTss/nRotGbhfAXnYkkm893YzxJsNSOK96YCgvukeYvgteHiGSJGsPLxUxK5TAaclyDI9ZQRczmliuIckhntIYryHJOgeolNpCuCVwGlZAh2cB1ihjaVv4cWy7CiKoiiKoqilIblwcs8GoN3s/afvp2ONlLVaTS3Am1TefIQVXrPXIW+qypoBfKtzQHoz9SK7gU7H9BmM5xykUc0WgNcXBjnCqlGD+PZVn0+Ab8GvTQz/84b/XuzSdFlWyiSFmGXMCvfNOh9iFv6LcfiP50O8aSIXnSECsMS54n1LExHDBJEYJojEdIZkn9NzyeRdMhU6ZRCW6YDgpwyP3X+O3T6ANwN1Ku6Lmm/Imy/Ams1e4GKaBn0LL2+jDE4oiqIoiqKWiOTWpeZWoN3o1c6BD7FGytqhZivA61VeKcIKudkDAGtEWUOAb01qGpFotwkM/6MDoqyQs0R4/S5SxqCsGpD1U58hwLfNanYx/M8d/otppV81VyFWJPz3rvjwHywqtp0hy6dO1XsxLO0WNDGMsJwzLe0WLMnMJcNNNXLsWh5tzvDYdbYDYukbRVEURVEURRUveXhj/zWg3bu2jrdPYo2UdcxhedC7ypuMsEKN6mWA1aus54Bvp9TsBYK7cgPQaT0WQJVDcSzC8wDLg6w60Ld6hFepaFeKZOWLdqX4v4KCLNtoF82YiWGCSAxrzMS4xkzwBJE3nJZVfV1GVS8ZKZKVa8kYX5dhlmTOcV2GqW/8GWKBJTMA8IbBaTmiBuHNAaw5kDUC+jaMvrNQFEVRFEVRVSDp6Tq4HWg31dL+ZizWSFkhI4XcvjmsvF8RVqpmG8D6rqxxwLdQIRm9fVODO7kHdPpSn9vxAEra1JwGeOdc5N9NytqoBvHtsT6dgG/n1Rxl+J83/Ged6uLC/2VUp2rZqWHZknfGA+LQrLu3+6u7eLHbQwxZGY97yKL2kMTw/pDE8P6QxPj+kAS+P6Qyv8tIkaw8vLBkrgO8z+C0fOGAu4pUkwArtEF8+wj6Fn6s72dwQlEURVEURVHU/ygZf9Z6E2g30HDi1aNYI2UdV3MI4N1R3kSEtV7NFYD1WlndgG9n1DQj0W470OkDfaIDoqzDai4CvC59JiKsUHmM+BbC+m7AtyNqzkYHpEI1ZpWoZMZSiA67PlSwBWh3fagzvj4U9Y1Z90UumWX0V3fDK4jF8ApiMb6CGPWNhbsLHLv8XebvARFxRspYYsRCP6xY8n4LMABv7aqbq8WLSwAAAABJRU5ErkJggg=="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/90741.af2b48170d64547408ff.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.751Z","timestamp":1785124876751,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90741.af2b48170d64547408ff.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-8800\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8a58d763f8665224ce9c1966b8c6b803\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34816,"size_decoded":6493,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (34816), with no line terminators","md5":"397df641db9c72f75974df50d0ea576c","sha1":"d1064650fc562fa19960f953f2ec569aa4cd6305","sha256":"b0d61a1080fb8d0f614dcf7b4b96cf28b1ce834dc3b327efeb2d408ed9ba0759","sha512":"bb92033b33407fc3bdbe519ca24b7c1a576b974c7057d61212e9108ff03783af1fe63ea696e98c25332e6b41e1a7a35bbbedf7e71cf6193997d6ae884719480a","ssdeep":"384:TJgnHqCXVElvht/waL2Ws7Zp5Ijjyrr0dS0W4BH+m8S/2WU:TJgnHqCKz/8G7+mY","tlshash":"20f2f04e8e9ce7254603416d2dc27588e32e954eb05a33ffe2ad539e0dd69b182f142f","first_seen":"2026-07-20T16:56:18.360342Z","last_seen":"2026-07-27T06:24:31.794472Z","times_seen":64,"resource_available":false,"data":"LnBhbmVDb250cm9scy1FeHp4OUlBWntwb2ludGVyLWV2ZW50czphbGw7cG9zaXRpb246c3RhdGljO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsdmlzaWJpbGl0eSAuNHM7ei1pbmRleDo3fS5wYW5lQ29udHJvbHNfaGlkZGVuLUV4eng5SUFae29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Zpc2liaWxpdHk6aGlkZGVufS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVp7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6MDt3aWR0aDowfS5wYW5lQ29udHJvbHNfcmVtb3ZlLUV4eng5SUFae2Rpc3BsYXk6bm9uZX0uYnV0dG9ucy1FeHp4OUlBWntjb2x1bW4tZ2FwOjRweDtmbGV4LXdyYXA6bm93cmFwfS5idXR0b24tRXh6eDlJQVosLmJ1dHRvbnMtRXh6eDlJQVp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfS5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFae2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZSwuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntib3JkZXItd2lkdGg6MH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVo6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFaOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9fS50b3VjaE1vZGUtRXh6eDlJQVogLmJ1dHRvbi1FeHp4OUlBWntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtdXAsLm1heGltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0uY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwubWF4aW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93bnthbmltYXRpb246bWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX19LmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LWRvd24sLmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LXVwLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC1kb3duLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVp7NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwLC5yZXN0b3JlLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0ubWluaW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWjpob3ZlciAuYnJhY2tldC1kb3due2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaIC42cyBlYXNlfX0ubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtdXAsLnJlc3RvcmUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX19QGtleWZyYW1lcyBtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVwLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjp1cC1hbmltYXRpb24tRXh6eDlJQVogLjZzIGVhc2V9fUBrZXlmcmFtZXMgdXAtYW5pbWF0aW9uLUV4eng5SUFaezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5kb3duLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjpkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiAuNnMgZWFzZX19QGtleWZyYW1lcyBkb3duLWFuaW1hdGlvbi1FeHp4OUlBWnswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LmJsb2NrSGlkZGVuLUxjWWRvMk42e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnBhbmUtYnV0dG9uLUxjWWRvMk42e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7Ym9yZGVyLXJhZGl1czozcHg7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wYW5lLWJ1dHRvbi1MY1lkbzJONjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtib3JkZXItcmFkaXVzOjNweDtib3R0b206MDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDowfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wYW5lLWJ1dHRvbi1MY1lkbzJONntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnBhbmUtYnV0dG9uLUxjWWRvMk42OmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfX0uY29udHJvbC1iYXItd3JhcHBlcntkaXJlY3Rpb246bHRyO2hlaWdodDoyNHB4O3BhZGRpbmc6NXB4IDA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudHtyaWdodDoycHh9LmNvbnRyb2wtYmFye2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHZpc2liaWxpdHkgLjNzO3Zpc2liaWxpdHk6dmlzaWJsZX0uY29udHJvbC1iYXItLWhpZGRlbiwuY29udHJvbC1iYXItLWhpZGRlbiAuY29udHJvbC1iYXJfX2J0bntvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LmNvbnRyb2wtYmFyX19ncm91cHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbjowIDRweH0uY29udHJvbC1iYXJfX2J0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2NvbG9yOnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQpO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCA0cHg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNpdGlvbjpjb2xvciAuM3MsdmlzaWJpbGl0eSAuNHMsb3BhY2l0eSAuNHM7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlO3dpZHRoOjI0cHg7ei1pbmRleDoxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udHJvbC1iYXJfX2J0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9fS5jb250cm9sLWJhcl9fYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNpdGlvbjpub25lfS5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5jb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVue29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0uY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmNvbnRyb2wtYmFyX19idG4tLW1vdmUtbGVmdCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uY29udHJvbC1iYXJfX2J0biBzdmcsLmxlZ2VuZC1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5sZWdlbmQtWVRGSUo2Mmh7Y29sb3I6IzAwMDA7Y29udGFpbjpjb250ZW50O2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6bm9ybWFsO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3otaW5kZXg6Nn0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9uLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czphdXRvfS5pdGVtLVlURklKNjJoe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxM3B4O21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MjRweDt6LWluZGV4OjF9Lml0ZW0tWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2MmgsLml0ZW0tWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaHt6LWluZGV4OjJ9Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWNvbG9yOiMwMDAwO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MCAxcHg7Y29sdW1uLWdhcDo4cHg7Y3Vyc29yOmRlZmF1bHQ7bWF4LXdpZHRoOmZpdC1jb250ZW50O29yZGVyOjEwMDAwMDtwYWRkaW5nOjAgNHB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaCAuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQ6bm9uZX0uaXRlbS1ZVEZJSjYyaC5sYXN0LVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbjowfS5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9Lml0ZW0tWVRGSUo2MmggLm5vV3JhcFdyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7bWF4LXdpZHRoOjEwMCV9Lm5vV3JhcC1ZVEZJSjYyaCAuaXRlbS1ZVEZJSjYyaHtmbGV4LXdyYXA6bm93cmFwfS5ub1dyYXAtWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24tc2VsZjphdXRvO2Rpc3BsYXk6YmxvY2t9Lm5vV3JhcC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCAubm9XcmFwLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyLVlURklKNjJoLnVuaW1wb3J0YW50LVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcn0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmF1dG87Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LndyYXBwYWJsZS1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLml0ZW0tWVRGSUo2Mmh7ZmxleC13cmFwOndyYXB9LmRpcmVjdGlvbkNvbHVtbi1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7bWF4LXdpZHRoOjEwMCV9LmJ1dHRvbi1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJ1dHRvbnMtWVRGSUo2MmgsLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5pdGVtLVlURklKNjJoLC5sb2dvV3JhcHBlci1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmgsLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1pbmxpbmUtZW5kOjRweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmlnaHQtd2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZmxleDoxIDE7bWF4LXdpZHRoOmZpdC1jb250ZW50O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgNHB4IDAgMXB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDotM30ubG9nb1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjE4cHh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5wYWlyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5sb2dvLVlURklKNjJoe2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nb1dyYXBwZXItWVRGSUo2MmggLmxvZ28tWVRGSUo2MmggaW1ne2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5oaWRkZW4tWVRGSUo2MmgsLmxvZ29XcmFwcGVyLVlURklKNjJoLmhpZGRlbi1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS50aXRsZXNHcm91cFdyYXBwZXItWVRGSUo2Mmh7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS50aXRsZVdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6ZmxleDttaW4taGVpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOm5vd3JhcH0udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaHthbGw6dW5zZXQ7ZGlyZWN0aW9uOmx0cjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaDpkaXIocnRsKXtkaXJlY3Rpb246cnRsfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1yYWRpdXM6M3B4O2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4Oi0yfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpmaXJzdC1jaGlsZDphZnRlcntyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTphZnRlcntsZWZ0OjhweDtyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmg6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjNweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDpob3Zlci53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDphY3RpdmUud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlciwudGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApO3Zpc2liaWxpdHk6dmlzaWJsZX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1c3tib3JkZXItcmFkaXVzOjJweCFpbXBvcnRhbnQ7b3V0bGluZToycHggc29saWQgdmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5hY2Nlc3NpYmxlLVlURklKNjJoOmZvY3VzLXZpc2libGV7Ym9yZGVyLXJhZGl1czoycHghaW1wb3J0YW50O291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0uZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDoxNXB4fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpe2ZsZXg6MCAzIGF1dG87cGFkZGluZy1sZWZ0OjEycHh9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKX0uc3R1ZHktWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoLC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLnN0dWR5LVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaC5oaWRlVmFsdWVzLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqNSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnN0dWR5LVlURklKNjJoLmhhczVCdXR0b25zLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjUpfX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDA7Ym9yZGVyLXRvcDoxcHggc29saWQgIzAwMDB9LmxvYWRlci1ZVEZJSjYyaHttYXJnaW4tbGVmdDo0cHh9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7Ym9yZGVyLWxlZnQtY29sb3I6IzAwMDB9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwubm9XcmFwLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7ZGlzcGxheTppbmxpbmUtZmxleH0uaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaCwuaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi1oZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7bWluLXdpZHRoOjIzcHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjEycHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmRlc2NUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoe2ZsZXg6MCAxIGF1dG99LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmludGVydmFsVGl0bGUtWVRGSUo2Mmh7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6YXV0b30uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmguc3R5bGVUaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMyBhdXRvfS5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHttaW4td2lkdGg6MjNweH0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxlZ2VuZC1ZVEZJSjYyaDpob3ZlciAuc2VyaWVzLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjMpfX0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnNlcmllcy1ZVEZJSjYyaC5mbGFnZ2VkLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpfX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1lZGl1bS1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyl9fS5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSoyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplZC1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9fS52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOmRlZmF1bHQ7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1sZWZ0OjRweCBzb2xpZDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmRpc2FibGVkLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0udmFsdWVJdGVtLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246bGVmdH0udmFsdWVJdGVtLVlURklKNjJoOmJlZm9yZXtjb250ZW50OnZhcigtLW5vdC1hdmFpbGFibGUtY29udGVudCwiMCIpO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDowfS52YWx1ZUl0ZW0tWVRGSUo2Mmg6bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjZweH0udmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo0cHh9LnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaHtwYWRkaW5nLXJpZ2h0OjFweH0udmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo2cHh9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGQgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDowO3otaW5kZXg6Mn0ubWljcm8tWVRGSUo2MmggLml0ZW0tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoW2RhdGEtcWEtaWQ9bGVnZW5kLXNlcmllcy1pdGVtXSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOjA7d2lkdGg6MH0uZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCl9LmxpbmtlZC1ZVEZJSjYyaC5zZXJpZXMtWVRGSUo2Mmg6bm90KC5vbmx5T25lQnV0dG9uQ2FuQmVTdGljay1ZVEZJSjYyaCkgLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoe21heC13aWR0aDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpO3dpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9LmRpc2FibGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaDpub3QoLm9ubHlPbmVCdXR0b25DYW5CZVN0aWNrLVlURklKNjJoKSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyk7d2lkdGg6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX0uYnV0dG9ucy1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTowO3BhZGRpbmc6MDtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnRvdWNoTW9kZS1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtvcGFjaXR5OjF9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5sZWdlbmQtWVRGSUo2MmggLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmxlZ2VuZC1ZVEZJSjYyaCAuc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc3RheUluSG92ZXJlZE1vZGUtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9fS5idXR0b24tWVRGSUo2Mmh7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7ei1pbmRleDowfS5idXR0b25JY29uLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLVlURklKNjJoOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMDttYXJnaW4tcmlnaHQ6MXB4fS5idXR0b24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtib3JkZXItcmFkaXVzOjJweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQ6MXB4IDA7cG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDotMX0uYnV0dG9uLVlURklKNjJoOmFjdGl2ZTphZnRlciwuYnV0dG9uX19hY3RpdmUtWVRGSUo2Mmg6YWZ0ZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVlURklKNjJoOmhvdmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LmJ1dHRvbi1ZVEZJSjYyaDphY3RpdmU6YWZ0ZXIsLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9LmJ1dHRvbi1ZVEZJSjYyaC5mbGFnLVlURklKNjJoPnNwYW57bWFyZ2luLXRvcDotMXB4fS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX0ud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLndpdGhBY3Rpb24tWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTtib3JkZXItbGVmdDowfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKSwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAubG9hZGluZy1leWUsLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWUsLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMiksLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMyl7ZGlzcGxheTpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtkaXNwbGF5OmJsb2NrfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWV7ZGlzcGxheTpub25lfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXlle2Rpc3BsYXk6YmxvY2t9LmV5ZUxvYWRpbmctWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAuYW5pbWF0ZWQtbG9hZGluZy1leWV7YW5pbWF0aW9uOmV5ZS1hbmltYXRpb24tWVRGSUo2MmggLjk2cyBsaW5lYXIgaW5maW5pdGU7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9LmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2Mmg6bm90KC5zZWxlY3RlZC1ZVEZJSjYyaCk6bm90KC53aXRoQWN0aW9uLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5saW5raW5nLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoLC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmxpbmtpbmctWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuYnV0dG9ucy1ZVEZJSjYyaCAuaW50ZXJ2YWxFeWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5pbnRlcnZhbEV5ZS1ZVEZJSjYyaCAubm9ybWFsLWV5ZXtkaXNwbGF5Om5vbmV9LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCl9LnNlbGVjdGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAuZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoLmZsYWdnZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5mbGFnLVlURklKNjJoIC5idXR0b25JY29uLVlURklKNjJoe3Zpc2liaWxpdHk6dmlzaWJsZX0uZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHthbGlnbi1zZWxmOnN0cmV0Y2g7ZmxleDoxfS5mbGFnV3JhcHBlci1ZVEZJSjYyaCwubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleDtmbGV4OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmZsYWdXcmFwcGVyLVlURklKNjJoe3dpZHRoOjEycHh9LmZsYWdXcmFwcGVyLVlURklKNjJoIHN2Z3toZWlnaHQ6MTJweH0uc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmV9LmxlZ2VuZE1haW5Tb3VyY2VXcmFwcGVyLVlURklKNjJoe3RleHQtYWxpZ246bGVmdH0uc291cmNlcy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJX0udG9nZ2xlcldyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWJsb2NrOjNweCAzcHg7cGFkZGluZy1pbmxpbmU6NXB4IDVweH0udG9nZ2xlcldyYXBwZXItWVRGSUo2MmggLnN0YXR1c2VzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kOm5vbmV9LnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMH0udG9nZ2xlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZX0udG9nZ2xlci1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudG9nZ2xlci1ZVEZJSjYyaDpob3ZlcjphZnRlcnt6LWluZGV4OjB9LnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmNvdW50ZXItWVRGSUo2MmgsLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9fS50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2NvbG9yOmluaGVyaXQ7ZGlzcGxheTpub25lO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1yaWdodDo0cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNiwuNTIsMSwuNTQpO3dpZHRoOjI3cHh9LnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7ZGlzcGxheTpub25lO3dpZHRoOjE5cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE5cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAuaWNvbkFycm93LVlURklKNjJoLC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0uY2xvc2VkLVlURklKNjJoLnNvdXJjZXNXcmFwcGVyLVlURklKNjJoe3BhZGRpbmctYm90dG9tOjRweH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2Mmh7dHJhbnNmb3JtOnJvdGF0ZSgwKX0uY2xvc2VkLVlURklKNjJoOm5vdCguc2F2ZUFycm93V2lkdGgtWVRGSUo2MmgpIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNsb3NlZC1ZVEZJSjYyaDpub3QoLnNhdmVBcnJvd1dpZHRoLVlURklKNjJoKSAub2JqZWN0VHJlZS1ZVEZJSjYyaHt3aWR0aDoxOXB4fS5jbG9zZWQtWVRGSUo2MmggLnNvdXJjZXMtWVRGSUo2Mmh7ZGlzcGxheTpub25lfS5taWNyby1ZVEZJSjYyaCAuc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7cGFkZGluZy1ib3R0b206NHB4fS5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaC5vYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoLm9iamVjdHNUcmVlQ2FuQmVTaG93bi1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zb3VyY2VzLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpub25lfS50b3VjaE1vZGUtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7aGVpZ2h0OjI2cHg7bGluZS1oZWlnaHQ6MjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwudG91Y2hNb2RlLVlURklKNjJoIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2JvdHRvbTo1cHg7dG9wOjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7bWluLWhlaWdodDoyNnB4fS50b3VjaE1vZGUtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG91Y2hNb2RlLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2hlaWdodDoyNHB4O3dpZHRoOjMwcHh9LnRvdWNoTW9kZS1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaHtmb250LXNpemU6MTRweH0udG91Y2hNb2RlLVlURklKNjJoIC5pdGVtLVlURklKNjJoe21pbi1oZWlnaHQ6MjZweH0udG91Y2hNb2RlLVlURklKNjJoIC5jbG9zZWQtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7d2lkdGg6MjRweH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrey0tbGVnZW5kLXRpdGxlLWRvdC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC52YWx1ZVZhbHVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudGl0bGVXcmFwcGVyLVlURklKNjJoOmFjdGl2ZS53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlcl9fYWN0aXZlLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2Mmgud2l0aEN1c3RvbVRleHRDb2xvci1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc3R1ZHktWVRGSUo2MmguZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbkljb24tWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1ZVEZJSjYyaDpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tWVRGSUo2Mmg6YWN0aXZlOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTcwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoOmhvdmVyIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGV5ZS1hbmltYXRpb24tWVRGSUo2Mmh7dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fTpyb290LnRoZW1lLWN1c3RvbSAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfTpyb290LnRoZW1lLWN1c3RvbSAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCw6cm9vdC50aGVtZS1jdXN0b20gLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdGhlbWVkLWNvbG9yLWxlZ2VuZC1iYWNrZ3JvdW5kLXNlY29uZGFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7OnJvb3QudGhlbWUtY3VzdG9tIC5idXR0b24tWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfX0ubGVnZW5kQWN0aW9uQnV0dG9uLXEzTzZ6eklIe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-grid-2.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.528Z","timestamp":1785124875528,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-grid-2.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/html; charset=iso-8859-1\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":355,"size_decoded":451,"mime_type":"text/html; charset=iso-8859-1","magic":"HTML document, ASCII text","md5":"4525b2d648f7c457a689fd96421783a5","sha1":"11bfe30ce44585a15a38e86bc094224ddfe2c08e","sha256":"cc0b4e42510d49c6decd464123ecf3b14ae9b47f9b4ed2ee64893e2d6520a264","sha512":"94e3e8246cf38ff7740e51aa115c8c455b14f78e672c2686b782c0ce30b6fa2dbd91a78b29b3964d9c0414aabd4b9391fd5db326665e25b4b8e73dae60ffe979","ssdeep":"","tlshash":"71e0c04f4057b3474011a2907dc01291e505236b38a152f93ac09467500897dc4aa2dd","first_seen":"2025-12-09T03:51:58.5943Z","last_seen":"2026-07-27T06:14:48.102741Z","times_seen":47346,"resource_available":true,"data":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPjxoZWFkPgo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+CjwvaGVhZD48Ym9keT4KPGgxPk5vdCBGb3VuZDwvaDE+CjxwPlRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuPC9wPgo8cD5BZGRpdGlvbmFsbHksIGEgNDA0IE5vdCBGb3VuZAplcnJvciB3YXMgZW5jb3VudGVyZWQgd2hpbGUgdHJ5aW5nIHRvIHVzZSBhbiBFcnJvckRvY3VtZW50IHRvIGhhbmRsZSB0aGUgcmVxdWVzdC48L3A+CjwvYm9keT48L2h0bWw+Cg=="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.621Z","timestamp":1785124876621,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.52882.2898e638a68180ed6df4.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a02f0b2-747\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 12 May 2026 09:19:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/12/2026 10:19:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9e67bb6c9e3189b73f5b431e81060a8f\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1863,"size_decoded":1690,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (1863), with no line terminators","md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-07-27T06:14:34.146246Z","times_seen":477,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1Mjg4Ml0sezYzNTkyMyhlKXtlLmV4cG9ydHM9WyJBY2NvdW50IGlzIGZyb3plbiJdfSw5NzU4MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2Ugc3ltYm9sIl19LDQ4NzIwMShlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw1MjMyNzkoZSl7ZS5leHBvcnRzPVsiSG9saWRheSBhbGVydCwgdHJhZGVycyJdfSwxOTgwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgaGVyZSJdfSw4MjQzNDAoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIHRvIHtyZXNvbHV0aW9ufSBpbnRlcnZhbCJdfSwxMzc4MDAoZSl7ZS5leHBvcnRzPVsiUHJpY2UgY2hhcnQgaXMgb24gaXRzIHdheSJdfSw3MzA3NihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0Il19LDQwMzY3MihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBoYXMganVzdCBsaXN0ZWQuIFN0YXkgdHVuZWQsIGl0cyBkYXRhIHdpbGwgYXBwZWFyIGhlcmUgc29vbi4iXX0sODI0MDI3KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sOTY5MDkoZSl7ZS5leHBvcnRzPVsiSG9wZSwgaXQnbGwgYXBwZWFyIG9uIHRoZSBjaGFydCBzb29uLiJdfSw3Nzg0NDgoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgaXMgbm90IHN1cHBvcnRlZCJdfSw1NDE1NzAoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgc3ltYm9sLiBQbGVhc2UgY2hhbmdlIHRoZSBpbnRlcnZhbCB0byBhbnkgYXZhaWxhYmxlIG9uZS4iXX0sODYwMzg5KGUpe2UuZXhwb3J0cz1bIk9ubHkge2ludGVydmFsc30gaW50ZXJ2YWxzIGFyZSBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDM3MTc3OShlKXtlLmV4cG9ydHM9WyJPdXIgc2Nhbm5lcnMgcGlja2VkIHVwIGFuIFVuaWRlbnRpZmllZCBGZXN0aXZlIE9iamVjdCBob3ZlcmluZyBvdmVyIHlvdXIgY2hhcnQuIFByb2NlZWQgd2l0aCBjaGVlci4iXX0sODMwMzg1KGUpe2UuZXhwb3J0cz1bIlN3aXRjaCB0byBhIHtyZXNvbHV0aW9ufSJdfSwyNTU3NjMoZSl7ZS5leHBvcnRzPVsiUGljayBhbm90aGVyIHR5cGUgb2YgaW50ZXJ2YWwgZm9yIHlvdXIgYW5hbHlzaXMuIl19LDQ2NTMxMyhlKXtlLmV4cG9ydHM9WyJQaWNrIGFub3RoZXIgdGltZSBpbnRlcnZhbCBmb3IgeW91ciBhbmFseXNpcy4iXX0sNTk1NTcwKGUpe2UuZXhwb3J0cz1bIlJlZHVjZSB0aGUgYm94IHNpemUgb3IgY2hhbmdlIHRoZSBtZXRob2QgdXNlZCB0byBzcGVjaWZ5IHRoZSBib3ggc2l6ZSBpbiBTZXR0aW5ncyA+IFN5bWJvbC4iXX0sNjQ2NjAxKGUpe2UuZXhwb3J0cz1bIldlIG5vdGljZWQgc29tZSBzdXNwaWNpb3VzIGFjdGl2aXR5IGZyb20geW91ciBJUCBhZGRyZXNzLCBzbyB3ZSd2ZSBoYWQgdG8gc3VzcGVuZCBpdC4gVG8gcmVzb2x2ZSB0aGlzLCBwbGVhc2Ugc2lnbiBpbnRvIHlvdXIgYWNjb3VudC4iXX0sNTkyMDE0KGUpe2UuZXhwb3J0cz1bIldlJ3ZlIG5vdGljZWQgdW51c3VhbCBhY3Rpdml0eSBvbiB5b3VyIGFjY291bnQgYW5kIGhhdmUgcmVzdHJpY3RlZCBhY2Nlc3MuIl19LDcxNjMwKGUpe2UuZXhwb3J0cz1bIlRoZSBib3ggc2l6ZSBmb3IgdGhlIHN5bWJvbCdzIHByaWNlIGFtcGxpdHVkZSBpcyB0b28gaGlnaCJdfSw1MjkzOTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDI4MzU2MihlKXtlLmV4cG9ydHM9WyJUcnkgcGlja2luZyBhbm90aGVyIG9uZSBmb3IgeW91ciBhbmFseXNpcywgYW5kIHlvdSdsbCBzZWUgdGhlIGRhdGEgaGVyZS4iXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81072.2927a177231fdd0e24c1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.800Z","timestamp":1785124876800,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81072.2927a177231fdd0e24c1.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-40c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 52f8ed8e53c84210e30e9f0cf162d001\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1036,"size_decoded":1218,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1036), with no line terminators","md5":"e625e6a9b3d1d0e7872454941e3a0f3c","sha1":"c4b93e2d6c31cccd6e1572e5faff07bd3456556c","sha256":"ff2fab41e51936266791aedf3104809dd2780906b7303dfdf954afe900eecaa2","sha512":"b6c94e5b14cef72a123c0b05f0efd06b022618632b6adfd3bda53ab30eb0b05b5bafc56a4dee63cec63f5606c2d69be7bbd4d52c7cfcba473b133495be1ac97a","ssdeep":"","tlshash":"0511872af08015a0b4bfcb384b14d3a9003190a29ea223ed77a0bcb18bc17b945d1008","first_seen":"2026-07-16T13:40:49.881902Z","last_seen":"2026-07-27T06:14:34.190682Z","times_seen":189,"resource_available":false,"data":"Lm1lbnVXcmFwLWxCSXhJd3R6e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7Ym94LXNpemluZzpib3JkZXItYm94O3RleHQtYWxpZ246c3RhcnQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ei1pbmRleDoxMDB9Lm1lbnVXcmFwLWxCSXhJd3R6LmlzTWVhc3VyaW5nLWxCSXhJd3R6e29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3Zpc2liaWxpdHk6aGlkZGVufS5tZW51V3JhcC1sQkl4SXd0ejpmb2N1c3tvdXRsaW5lOm5vbmV9LnNjcm9sbFdyYXAtbEJJeEl3dHp7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5zY3JvbGxXcmFwLWxCSXhJd3R6Lm1vbWVudHVtQmFzZWQtbEJJeEl3dHp7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9Lm1lbnVCb3gtbEJJeEl3dHp7cGFkZGluZzo2cHggMH0uaXNIaWRkZW4tbEJJeEl3dHp7ZGlzcGxheTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37513.de1574b3389800c93ebc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.815Z","timestamp":1785124876815,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37513.de1574b3389800c93ebc.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-f9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8b52baa2694c827e107f11eeceea3b38\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":249,"size_decoded":921,"mime_type":"text/css; charset=utf-8","magic":"assembler source, ASCII text, with no line terminators","md5":"2609ad9fbf4035b2a6560fc3dc9d6ea8","sha1":"bdfe0d65ef3fe93359d3b4c44d38f0c71a542575","sha256":"f77d49b20494fbd63705f7a88a3710886adb7e234fa5e484f24ce7a7da5e7e24","sha512":"bbc4fff59f180264dcbd742c54b6c269770c18d10946ccb1842a3a4eb4207d6c4157c253f72cde3e06cf38c4d3c7b7b7fbefd05c61e9fbe4de303b7f06283c7a","ssdeep":"","tlshash":"e9d01787a1d04f313c13aa6d19f9263921b9ac745e22198e30206e225ae3aaa0011daf","first_seen":"2026-07-17T14:15:58.496983Z","last_seen":"2026-07-27T06:14:34.13343Z","times_seen":84,"resource_available":false,"data":"LmV2ZW50V3JhcHBlci1fRThVWFZLMXthbGw6dW5zZXQhaW1wb3J0YW50O2Rpc3BsYXk6Y29udGVudHMhaW1wb3J0YW50fS5wa24tY1RwX3VuVjh7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyKTstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWlzTW9iaWxlUG9zaXRpb25lcil9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.863Z","timestamp":1785124876863,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-186\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4b6bd16bd4e4495ec4ec79c207095810\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":390,"size_decoded":966,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (390), with no line terminators","md5":"82a666c7923903c7a4ea82a3e676d054","sha1":"86c016b68d5ebe6c7ea2171a5c77c3977beae537","sha256":"0d86f8d898eadd5474e95eb88236cad4371819f433c109cb51775d8afe54db99","sha512":"f3e21eff0524a1d3b54afc7e6a639a4982798ecfff9b03e99280419d100ca7233723e5a8384c39e2f02bb6d17afa7bb1b083a3b5086fdf52f7b3ea52c9171867","ssdeep":"","tlshash":"26e09b8a5003791d3c3573145ddc9b09023c515261d71dfd8847a23bd2ca3e13e5b861","first_seen":"2024-12-10T03:17:08.854058Z","last_seen":"2026-07-27T06:24:31.781187Z","times_seen":1119,"resource_available":false,"data":"LmVtb2ppV3JhcC1SMkNUcG1IcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6dmFyKC0tdHYtbGVhZGluZy1lbW9qaS1zaXplLDE4cHgpfS5lbW9qaS1SMkNUcG1IciwuZW1vamlXcmFwLVIyQ1RwbUhye3dpZHRoOnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KX0uZW1vamktUjJDVHBtSHJ7aGVpZ2h0OnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KTtwb3NpdGlvbjphYnNvbHV0ZX0udG9vbHRpcEVtb2ppLVIyQ1RwbUhye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9LnRvb2x0aXBFbW9qaVdyYXAtUjJDVHBtSHJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWluLXdpZHRoOjEycHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.249Z","timestamp":1785124877249,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/57093.26600c93b6171d99b700.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6c86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 64e4faefcef2c638f92ca1a444af4552\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27782,"size_decoded":11281,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"4a5c4beebe509ac3027b79744b905303","sha1":"7eea8e87ac7a5ed1631873659a90a89e9a2cf256","sha256":"212519cc555451f5eb9173d72cf1b953de12bd91b643471be5673492e5fd4df0","sha512":"0c8c00ea4bf02423fb14f74c67dae3bb80ee82ec07ec85b67af6c9a158458956589e013607b8a608b44a881e754cd710e6ebfaf8a8037aab14d3877b9ba6d90f","ssdeep":"768:3KHYGd+QIbZ15yDJjyD272qzGJOeK6+ZJT:64fDbLoRT","tlshash":"5bc2fa867011b1ad92e789d681bf055de33f396c384d4d70f2b8d8cc69a7958e326e0e","first_seen":"2026-07-23T14:00:31.452652Z","last_seen":"2026-07-27T06:24:31.710699Z","times_seen":23,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1NzA5Myw2NDY0NF0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIGE9dHlwZW9mIG47aWYoInN0cmluZyI9PT1hfHwibnVtYmVyIj09PWEpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxuKTtpJiZlLnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PWEpZm9yKHZhciBsIGluIG4pci5jYWxsKG4sbCkmJm5bbF0mJmUucHVzaChsKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sNjg3OTUzKGUpe2UuZXhwb3J0cz17ZGl2aWRlcjoiZGl2aWRlci1Db0EyZDVDNyIsIm9yaWVudGF0aW9uLWhvcml6b250YWwiOiJvcmllbnRhdGlvbi1ob3Jpem9udGFsLUNvQTJkNUM3Iiwib3JpZW50YXRpb24tdmVydGljYWwiOiJvcmllbnRhdGlvbi12ZXJ0aWNhbC1Db0EyZDVDNyIsImZpdC1jb250ZW50IjoiZml0LWNvbnRlbnQtQ29BMmQ1QzciLCJzaXplLXhzbWFsbCI6InNpemUteHNtYWxsLUNvQTJkNUM3Iiwic2l6ZS1zbWFsbCI6InNpemUtc21hbGwtQ29BMmQ1QzciLCJzaXplLW1lZGl1bSI6InNpemUtbWVkaXVtLUNvQTJkNUM3Iiwic2l6ZS1sYXJnZSI6InNpemUtbGFyZ2UtQ29BMmQ1QzciLCJzaXplLXhsYXJnZSI6InNpemUteGxhcmdlLUNvQTJkNUM3Iiwic2l6ZS14eGxhcmdlIjoic2l6ZS14eGxhcmdlLUNvQTJkNUM3IiwidHlwZS1wcmltYXJ5IjoidHlwZS1wcmltYXJ5LUNvQTJkNUM3IiwidHlwZS1zZWNvbmRhcnkiOiJ0eXBlLXNlY29uZGFyeS1Db0EyZDVDNyJ9fSw5OTQ1KGUpe2UuZXhwb3J0cz17ZGVmYXVsdDoiZGVmYXVsdC1HWkx5a05RUCIsZGFuZ2VyOiJkYW5nZXItR1pMeWtOUVAiLHdhcm5pbmc6Indhcm5pbmctR1pMeWtOUVAiLHN1Y2Nlc3M6InN1Y2Nlc3MtR1pMeWtOUVAiLG5ldXRyYWw6Im5ldXRyYWwtR1pMeWtOUVAiLCJuZXV0cmFsLWxpZ2h0IjoibmV1dHJhbC1saWdodC1HWkx5a05RUCIsc21hbGw6InNtYWxsLUdaTHlrTlFQIixtZWRpdW06Im1lZGl1bS1HWkx5a05RUCIsbGFyZ2U6ImxhcmdlLUdaTHlrTlFQIixpY29uV3JhcHBlcjoiaWNvbldyYXBwZXItR1pMeWtOUVAiLGljb246Imljb24tR1pMeWtOUVAifX0sNzU1ODU1KGUpe2UuZXhwb3J0cz17bGF5b3V0RXF1aWxhdGVyYWw6ImxheW91dEVxdWlsYXRlcmFsLXBqOHJKVmhaIn19LDY5Njc3MyhlKXtlLmV4cG9ydHM9e2FjdGl2ZUFyZWE6ImFjdGl2ZUFyZWEteHpBdEZtbEUiLGFjdGl2ZUFyZWFDb250ZW50OiJhY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRSIsbm9TdHJldGNoOiJub1N0cmV0Y2gteHpBdEZtbEUiLHN0cmV0Y2g6InN0cmV0Y2gteHpBdEZtbEUiLGhhc0NsaWNrTGlzdGVuZXI6Imhhc0NsaWNrTGlzdGVuZXIteHpBdEZtbEUiLGRpc2FibGVkOiJkaXNhYmxlZC14ekF0Rm1sRSIsc2VsZWN0ZWQ6InNlbGVjdGVkLXh6QXRGbWxFIixjaGlsZHJlbjoiY2hpbGRyZW4teHpBdEZtbEUifX0sMTMyNTAzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1lVGZHRGFFciIsc3RyZXRjaDoic3RyZXRjaC1lVGZHRGFFciIsZGlzYWJsZWQ6ImRpc2FibGVkLWVUZkdEYUVyIixzcXVhcmU6InNxdWFyZS1lVGZHRGFFciIseHNtYWxsOiJ4c21hbGwtZVRmR0RhRXIiLHJvdW5kOiJyb3VuZC1lVGZHRGFFciIsc21hbGw6InNtYWxsLWVUZkdEYUVyIixtZWRpdW06Im1lZGl1bS1lVGZHRGFFciIscHJpbWFyeToicHJpbWFyeS1lVGZHRGFFciIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktZVRmR0RhRXIiLHRlcnRpYXJ5OiJ0ZXJ0aWFyeS1lVGZHRGFFciIscXVhcnRlcmx5OiJxdWFydGVybHktZVRmR0RhRXIiLGdob3N0OiJnaG9zdC1lVGZHRGFFciIscGlsbDoicGlsbC1lVGZHRGFFciIsYmxpbmtBbmltYXRpb246ImJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyIixibGlua2luZzoiYmxpbmtpbmctZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItaW50cm8iOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItaW50cm8tZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXIiOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItZVRmR0RhRXIiLGJsaW5rRm9yZWdyb3VuZDoiYmxpbmtGb3JlZ3JvdW5kLWVUZkdEYUVyIiwicGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWZvcmVncm91bmQiOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctZm9yZWdyb3VuZC1lVGZHRGFFciIsaGlnaGxpZ2h0aW5nOiJoaWdobGlnaHRpbmctZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1hZnRlciI6InBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWFmdGVyLWVUZkdEYUVyIiwicGlsbC1mb2N1cy1vdXRsaW5lLWhpZ2hsaWdodGluZy1hbmltYXRpb24tZm9yZWdyb3VuZCI6InBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWZvcmVncm91bmQtZVRmR0RhRXIifX0sODMxMTgxKGUpe2UuZXhwb3J0cz17YWN0aXZlVGV4dDoiYWN0aXZlVGV4dC1jbjBHbk9CZCJ9fSw1NDAxMDcoZSl7ZS5leHBvcnRzPXtwcmltYXJ5VGV4dDoicHJpbWFyeVRleHQtRFhjb0NWMkoifX0sODY4MzkxKGUpe2UuZXhwb3J0cz17ZmxvYXRpbmdBcnJvdzoiZmxvYXRpbmdBcnJvdy1jMU9zSFB0WSIsYm90dG9tOiJib3R0b20tYzFPc0hQdFkiLCJib3R0b20tbGVmdCI6ImJvdHRvbS1sZWZ0LWMxT3NIUHRZIiwiYm90dG9tLXJpZ2h0IjoiYm90dG9tLXJpZ2h0LWMxT3NIUHRZIix0b3A6InRvcC1jMU9zSFB0WSIsCiJ0b3AtbGVmdCI6InRvcC1sZWZ0LWMxT3NIUHRZIiwidG9wLXJpZ2h0IjoidG9wLXJpZ2h0LWMxT3NIUHRZIixsZWZ0OiJsZWZ0LWMxT3NIUHRZIiwibGVmdC10b3AiOiJsZWZ0LXRvcC1jMU9zSFB0WSIsImxlZnQtYm90dG9tIjoibGVmdC1ib3R0b20tYzFPc0hQdFkiLHJpZ2h0OiJyaWdodC1jMU9zSFB0WSIsInJpZ2h0LXRvcCI6InJpZ2h0LXRvcC1jMU9zSFB0WSIsInJpZ2h0LWJvdHRvbSI6InJpZ2h0LWJvdHRvbS1jMU9zSFB0WSJ9fSwyMzI2NShlKXtlLmV4cG9ydHM9e2VuZFNsb3RXcmFwcGVyOiJlbmRTbG90V3JhcHBlci1IeU5qSFNEVyIsZGl2aWRlcjoiZGl2aWRlci1IeU5qSFNEVyIsZW5kU2xvdENvbnRlbnQ6ImVuZFNsb3RDb250ZW50LUh5TmpIU0RXIix0b29sdGlwQmFzZVdyYXBwZXI6InRvb2x0aXBCYXNlV3JhcHBlci1IeU5qSFNEVyIsdHJhbnNwYXJlbnQ6InRyYW5zcGFyZW50LUh5TmpIU0RXIixvcGFxdWU6Im9wYXF1ZS1IeU5qSFNEVyIsZGlzYWJsZUludGVyYWN0aXZlOiJkaXNhYmxlSW50ZXJhY3RpdmUtSHlOakhTRFciLHRvb2x0aXBCYXNlOiJ0b29sdGlwQmFzZS1IeU5qSFNEVyIsY29udGVudFdyYXBwZXI6ImNvbnRlbnRXcmFwcGVyLUh5TmpIU0RXIixjb250ZW50OiJjb250ZW50LUh5TmpIU0RXIn19LDk2NjQ2NShlKXtlLmV4cG9ydHM9e3Rvb2x0aXBTdGF0ZWxlc3M6InRvb2x0aXBTdGF0ZWxlc3Mta3dzNXFlZFcifX0sNDUzNzgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpdmlkZXI6KCk9PnN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksYT1uLm4obyksaT1uKDY4Nzk1MyksbD1uLm4oaSk7ZnVuY3Rpb24gcyhlKXtjb25zdHtjbGFzc05hbWU6dCx0eXBlOm49InNlY29uZGFyeSIsc2l6ZTpvPSJzbWFsbCIsb3JpZW50YXRpb246aT0iaG9yaXpvbnRhbCIsZml0Q29udGVudDpzPSExfT1lLGM9YSgpKHQsbCgpLmRpdmlkZXIsbCgpW2BzaXplLSR7b31gXSxsKClbYHR5cGUtJHtufWBdLGwoKVtgb3JpZW50YXRpb24tJHtpfWBdLHMmJmwoKVsiZml0LWNvbnRlbnQiXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiaHIiLHtjbGFzc05hbWU6YywiYXJpYS1vcmllbnRhdGlvbiI6aX0pfX0sMTQ1OTg0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZvY3VzOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdFtuLG9dPSgwLHIudXNlU3RhdGUpKCExKTsoMCxyLnVzZUVmZmVjdCkoKCgpPT57dCYmbiYmbyghMSl9KSxbdCxuXSk7Y29uc3QgYT17b25Gb2N1czooMCxyLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24odCl7dm9pZCAwIT09ZSYmZS5jdXJyZW50IT09dC50YXJnZXR8fG8oITApfSksW2VdKSxvbkJsdXI6KDAsci51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxvKCExKX0pLFtlXSl9O3JldHVybltuLGFdfX0sMjkwMjQzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVNhZmVNb2JpbGVUb3VjaDooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzM4NDU4KTtmdW5jdGlvbiBhKCl7Y29uc3RbZSx0XT0oMCxyLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgoKT0+e3Qoby5tb2JpbGV0b3VjaCl9KSxbXSksZX19LDExOTc1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+TCxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+U30pO3ZhciByLG89big3Nzk0NzQpLGE9big5MTQ0ODcpLGk9bi5uKGEpLGw9bigzNDUxMTYpLHM9bigyNzMzMTApLGM9big3ODU5OTUpLHU9bi5uKGMpLGY9big1MjcyMTkpLHA9bi5uKGYpLGQ9big2NzMwNjUpLG09bi5uKGQpLGg9big0MDAwNDYpLGc9bi5uKGgpLHY9big5OTQ1KSx5PW4ubih2KTshZnVuY3Rpb24oZSl7ZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIn0ocnx8KHI9e30pKTtjb25zdCBFPSJzbWFsbCI7dmFyIGIsQzshZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIixlLldhcm5pbmc9Indhcm5pbmciLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5OZXV0cmFsPSJuZXV0cmFsIixlLk5ldXRyYWxMaWdodD0ibmV1dHJhbC1saWdodCJ9KGJ8fChiPXt9KSksZnVuY3Rpb24oZSl7ZS5JbmZvPSJpbmZvIixlLlF1ZXN0aW9uPSJxdWVzdGlvbiIsZS5DaGVjaz0iY2hlY2siLGUuRXhjbGFtYXRpb249ImV4Y2xhbWF0aW9uIn0oQ3x8KEM9e30pKTtjb25zdCBUPXtpbmZvOnAoKSxxdWVzdGlvbjp1KCksY2hlY2s6bSgpLGV4Y2xhbWF0aW9uOmcoKX0sXz1vLmZvcndhcmRSZWYoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5lLHJlZjp0LGNsYXNzTmFtZTppKCkoZS5jbGFzc05hbWUseSgpWyJuby1hY3RpdmUtc3RhdGUiXSl9KSkpLEw9by5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246bj0iZXhjbGFtYXRpb24iLGludGVudDpyPSJkZWZhdWx0IixhcmlhTGFiZWw6YSx0b29sdGlwOmMsY2xhc3NOYW1lOnUscmVuZGVyQ29tcG9uZW50OmY9Xyx0YWJJbmRleDpwPTAsc2l6ZTpkPUUsb25Gb2N1czptLG9uQmx1cjpoLG9uQ2xpY2s6ZywuLi52fT1lLGI9VFtuXT8/bjtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGYse2NsYXNzTmFtZTppKCkodSx5KCkuaWNvbldyYXBwZXIseSgpW3JdLHkoKVtkXSksdGl0bGU6YyxyZWY6dCx0YWJJbmRleDpwLG9uRm9jdXM6bSxvbkJsdXI6aCxvbkNsaWNrOmcsLi4uKDAsbC5maWx0ZXJEYXRhUHJvcHMpKHYpfSxvLmNyZWF0ZUVsZW1lbnQocy5JY29uLHsiYXJpYS1oaWRkZW4iOiFhLCJhcmlhLWxhYmVsIjphLGljb246YixjbGFzc05hbWU6eSgpLmljb259KSl9KSk7ZnVuY3Rpb24gUyhlKXtjb25zdHtpY29uOnQ9ImV4Y2xhbWF0aW9uIixpbnRlbnQ6bj0iZGVmYXVsdCIsc2l6ZTpyPUUsb25DbGljazphLG9uTW91c2VFbnRlcjpsLG9uTW91c2VMZWF2ZTpjLG9uRm9jdXM6dSxvbkJsdXI6ZixyZWZlcmVuY2U6cCxhcmlhTGFiZWw6ZH09ZSxtPVRbdF0/P3Q7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7CmNsYXNzTmFtZTppKCkoeSgpLmljb25XcmFwcGVyLHkoKVtuXSx5KClbcl0pLHJlZjpwLG9uQ2xpY2s6YSxvbk1vdXNlRW50ZXI6bCxvbk1vdXNlTGVhdmU6YyxvbkZvY3VzOnUsb25CbHVyOmYsImFyaWEtbGFiZWwiOmR9LG8uY3JlYXRlRWxlbWVudChzLkljb24se2ljb246bSxjbGFzc05hbWU6eSgpLmljb259KSl9fSw4NjUwOTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVG9vbHRpcDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMjkwMjQzKSxhPW4oNzg3ODk1KTtmdW5jdGlvbiBpKGUsdD1udWxsKXtjb25zdHtzaG93VG9vbHRpcDpuLGhpZGVUb29sdGlwOmksb25DbGljazpsLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOnM9ITF9PWUsYz0oMCxhLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHQpLHU9KDAsby51c2VTYWZlTW9iaWxlVG91Y2gpKCksZj11JiZzP3ZvaWQgMDplLnRvb2x0aXA7KDAsci51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9PmkmJmkoKTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLCEwKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLCEwKX0pLFtjLGldKTtyZXR1cm57b25CbHVyOigwLHIudXNlQ2FsbGJhY2spKChlPT57aSYmaSgpfSksW2ldKSxvbkZvY3VzOigwLHIudXNlQ2FsbGJhY2spKChlPT57IWUudGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpJiZuJiZlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiZuKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjIwMH0pfSksW25dKSxvbkNsaWNrOigwLHIudXNlQ2FsbGJhY2spKChlPT57dSYmYz8uY3VycmVudD8uZm9jdXMoKSxsJiZsKGUpfSksW2wsYyx1XSksdG9vbHRpcDpmLGNsYXNzTmFtZTp2b2lkIDAhPT1mPyJhcHBseS1jb21tb24tdG9vbHRpcCI6dm9pZCAwLHJlZjpjfX19LDQ2NzY1MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQaWxsQWN0aXZlQXJlYTooKT0+Z30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNjM3NTY0KSxsPW4oMTUzMTU0KSxzPW4oNzg3ODk1KSxjPW4oMTUzNzI4KSx1PW4oMjMyNjc2KSxmPW4oMzQ1MTE2KSxwPW4oMTQ3OTAxKSxkPW4oNjk2NzczKSxtPW4ubihkKTtjb25zdCBoPSJwaWxsLWFjdGl2ZS1hcmVhLSI7ZnVuY3Rpb24gZyhlKXtjb25zdCB0PSgwLHIudXNlUmVmKShudWxsKSx7dG9vbHRpcDpuLGFyaWFMYWJlbDpvLGNoaWxkcmVuOmQsaXNTZWxlY3RlZDpnLG9uQ2xpY2s6dixvbktleURvd246eSxhcmlhQ29udHJvbHM6RSxhcmlhSGFzcG9wdXA6YixhcmlhRXhwYW5kZWQ6QyxkYXRhUWFJZDpULHRvb2x0aXBQbGFjZW1lbnQ6Xz1baS5Ub29sdGlwUGxhY2VtZW50cy5Ub3AsaS5Ub29sdGlwUGxhY2VtZW50cy5Cb3R0b21dLHJlZmVyZW5jZTpMPXQsc3RyZXRjaDpTPSExLC4uLkF9PWUsUD0oMCxmLmZpbHRlckRhdGFQcm9wcykoQSksdz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKEwpLHtkaXNhYmxlZDprfT0oMCxyLnVzZUNvbnRleHQpKHUuUGlsbEludGVybmFsQ29udGV4dCkseD0oMCxyLnVzZUlkKSgpLHtvcGVuOk8sY2xvc2U6Tix2aXNpYmxlOlJ9PSgwLGMudXNlVG9vbHRpcFN0YXRlKSh7b3BlbkRlbGF5OjUwMCxjbG9zZURlbGF5OjB9KSxJPSgwLHIudXNlUmVmKSghMSksRD0oMCxyLnVzZVJlZikoITEpLEc9KDAsci51c2VSZWYpKCExKSxIPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9SS5jdXJyZW50LHQ9RC5jdXJyZW50O2V8fHQ/TygpOk4oKX0pLFtPLE5dKSxGPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e0kuY3VycmVudD0hMCxIKCl9KSxbSF0pLEI9KDAsci51c2VDYWxsYmFjaykoKCgpPT57SS5jdXJyZW50PSExLEgoKX0pLFtIXSksTT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntJLmN1cnJlbnQ9ITEsRC5jdXJyZW50PSExLEgoKX0pLFtIXSksej12b2lkIDAhPT12JiYhazsoMCxyLnVzZUVmZmVjdCkoKCgpPT57IXomJkcuY3VycmVudCYmKEcuY3VycmVudD0hMSxELmN1cnJlbnQ9ITEpfSksW3pdKTtjb25zdCBqPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9dy5jdXJyZW50O2UmJmUubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKSYmKEQuY3VycmVudD0hMCxHLmN1cnJlbnQ9ITAsSCgpKX0pLFt3LEhdKSxXPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e0cuY3VycmVudD0hMSxELmN1cnJlbnQ9ITEsSCgpfSksW0hdKSwkPXY/ImJ1dHRvbiI6ImRpdiI7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsbiYmci5jcmVhdGVFbGVtZW50KGwuVG9vbHRpcFN0YXRlbGVzcyx7aWQ6eCxvcGVuOlIsb25DbG9zZTpOLGFuY2hvcjp3LGNvbnRlbnQ6bixpc1J0bDohMSxwbGFjZW1lbnQ6XyxoYXNBcnJvdzohMCxkYXRhUWFJZDooMCxwLmRhdGFRYUlkcykoYCR7cC5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9JHtofXRvb2x0aXBgLFQpfSksci5jcmVhdGVFbGVtZW50KCQse2lkOmUuaWQsImFyaWEtZGVzY3JpYmVkYnkiOm4/eDp2b2lkIDAsImFyaWEtbGFiZWwiOm8sImFyaWEtY29udHJvbHMiOkUsImFyaWEtaGFzcG9wdXAiOmIsImFyaWEtZXhwYW5kZWQiOkMsImFyaWEtZGlzYWJsZWQiOno/azp2b2lkIDAscmVmOncsY2xhc3NOYW1lOmEoKShrJiZtKCkuZGlzYWJsZWQsbSgpLmFjdGl2ZUFyZWEsZyYmbSgpLnNlbGVjdGVkLFM/bSgpLnN0cmV0Y2g6bSgpLm5vU3RyZXRjaCx2JiZtKCkuaGFzQ2xpY2tMaXN0ZW5lciksb25DbGljazp6P3Y6dm9pZCAwLG9uS2V5RG93bjp6P3k6dm9pZCAwLG9uTW91c2VFbnRlcjpGLG9uTW91c2VEb3duOk0sb25Nb3VzZUxlYXZlOkIsb25Gb2N1czpqLG9uQmx1cjpXLHRhYkluZGV4Ono/MDotMSwiZGF0YS1xYS1pZCI6KDAscC5kYXRhUWFJZHMpKGAke3AuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfSR7aH1idXR0b25gLFQpLC4uLlB9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm0oKS5hY3RpdmVBcmVhQ29udGVudH0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bSgpLmNoaWxkcmVufSxkKSkpKX19LDg5NjgzMShlLHQsbil7CiJ1c2Ugc3RyaWN0IjtuLmQodCx7UGlsbExheW91dEVxdWlsYXRlcmFsOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big3NTU4NTUpLGE9bi5uKG8pO2NvbnN0IGk9ZnVuY3Rpb24oZSl7Y29uc3R7Y2hpbGRyZW46dH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLmxheW91dEVxdWlsYXRlcmFsfSx0KX19LDIzMjY3NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQaWxsOigpPT5wLFBpbGxJbnRlcm5hbENvbnRleHQ6KCk9PmZ9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksYT1uLm4obyksaT1uKDE1MDI2MyksbD1uKDg2NTk3Mikscz1uKDc4Nzg5NSksYz1uKDEzMjUwMyksdT1uLm4oYyk7Y29uc3QgZj0oMCxyLmNyZWF0ZUNvbnRleHQpKHtkaXNhYmxlZDohMX0pO2Z1bmN0aW9uIHAoZSl7Y29uc3R7c2l6ZTp0PWkuREVGQVVMVF9QSUxMX1NJWkUsdHlwZTpuPWkuREVGQVVMVF9QSUxMX1RZUEUsc2hhcGU6bz1pLkRFRkFVTFRfUElMTF9TSEFQRX09KDAsci51c2VDb250ZXh0KShsLlBpbGxDb250ZXh0KSxjPWUudHlwZT8/bix7b25Gb2N1czpwfT0oMCxyLnVzZUNvbnRleHQpKGwuUGlsbHNTY3JvbGxDb250ZXh0KSxkPSgwLHIudXNlUmVmKShudWxsKSx7YmxpbmtpbmdTdGF0ZTptPWkuREVGQVVMVF9QSUxMX0JMSU5LSU5HX1NUQVRFLGNoaWxkcmVuOmgscmVmZXJlbmNlOmc9ZCxkaXNhYmxlZDp2LGlkOnksc3RyZXRjaDpFLGRhdGFRYUlkOmJ9PWUsQz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGcpLFQ9KDAsci51c2VNZW1vKSgoKCk9Pih7ZGlzYWJsZWQ6dj8/ITF9KSksW3ZdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGYuUHJvdmlkZXIse3ZhbHVlOlR9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOkMsaWQ6eSxjbGFzc05hbWU6YSgpKHUoKS53cmFwcGVyLHUoKVt0XSx1KClbb10sRSYmdSgpLnN0cmV0Y2gpLG9uRm9jdXM6cCwiZGF0YS1xYS1pZCI6Yn0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHUoKS5waWxsLHUoKVtjXSx1KCkuYmxpbmtBbmltYXRpb24sdSgpW21dLHYmJnUoKS5kaXNhYmxlZCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnUoKS5ibGlua0ZvcmVncm91bmR9KSxoKSkpfX0sMjEwOTgwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BpbGxBY3RpdmVUZXh0OigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGE9bi5uKG8pLGk9big4MzExODEpLGw9bi5uKGkpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKShsKCkuYWN0aXZlVGV4dCxlLmNsYXNzTmFtZSl9LGUuY2hpbGRyZW4pfX0sMjQ2MzUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BpbGxQcmltYXJ5VGV4dDooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNTQwMTA3KSxsPW4ubihpKTtmdW5jdGlvbiBzKGUpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkobCgpLnByaW1hcnlUZXh0LGUuY2xhc3NOYW1lKX0sZS5jaGlsZHJlbil9fSw4NjU5NzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UGlsbENvbnRleHQ6KCk9PmEsUGlsbHNTY3JvbGxDb250ZXh0OigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89bigxNTAyNjMpO2NvbnN0IGE9KDAsci5jcmVhdGVDb250ZXh0KSh7c2l6ZTpvLkRFRkFVTFRfUElMTF9TSVpFLHR5cGU6by5ERUZBVUxUX1BJTExfVFlQRSxzaGFwZTpvLkRFRkFVTFRfUElMTF9TSEFQRX0pLGk9KDAsci5jcmVhdGVDb250ZXh0KSh7fSl9LDE1MDI2MyhlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG8sYSxpO24uZCh0LHtERUZBVUxUX1BJTExfQkxJTktJTkdfU1RBVEU6KCk9PnUsREVGQVVMVF9QSUxMX1NIQVBFOigpPT5sLERFRkFVTFRfUElMTF9TSVpFOigpPT5jLERFRkFVTFRfUElMTF9UWVBFOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5QcmltYXJ5PSJwcmltYXJ5IixlLlNlY29uZGFyeT0ic2Vjb25kYXJ5IixlLlRlcnRpYXJ5PSJ0ZXJ0aWFyeSIsZS5RdWFydGVybHk9InF1YXJ0ZXJseSIsZS5HaG9zdD0iZ2hvc3QifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtZWRpdW0iLGUuU21hbGw9InNtYWxsIixlLlhTbWFsbD0ieHNtYWxsIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkJsaW5raW5nPSJibGlua2luZyIsZS5IaWdobGlnaHRpbmc9ImhpZ2hsaWdodGluZyIsZS5Ob3RCbGlua2luZz0ibm90QmxpbmtpbmcifShhfHwoYT17fSkpLGZ1bmN0aW9uKGUpe2UuU3F1YXJlPSJzcXVhcmUiLGUuUm91bmQ9InJvdW5kIn0oaXx8KGk9e30pKTtjb25zdCBsPSJzcXVhcmUiLHM9InNlY29uZGFyeSIsYz0ic21hbGwiLHU9Im5vdEJsaW5raW5nIn0sOTM4MjQyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU5lc3RlZFBvcG92ZXJPcGVuU3RhdGU6KCk9PmwsdXNlT25DbG9zZVBvcG92ZXI6KCk9Pm8sdXNlUm9vdFBvcG92ZXJPcGVuU3RhdGU6KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybigwLHIudXNlQ2FsbGJhY2spKChuPT57dCgpLG4mJmUuY3VycmVudD8uZm9jdXMoKX0pLFtlLHRdKX1mdW5jdGlvbiBhKGUpe2NvbnN0W3Qsbl09KDAsci51c2VTdGF0ZSkoITEpLGE9KDAsci51c2VDYWxsYmFjaykoKCgpPT57bighMSl9KSxbXSk7cmV0dXJue2lzT3Blbjp0LG9uT3BlbjooMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntuKCEwKX0pLFtdKSxvbkNsb3NlOm8oZSxhKX19Y29uc3QgaT1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGUsdCl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSghMSksYT0oMCxyLnVzZUNhbGxiYWNrKSgoKG4scj0iY3VycmVudExldmVsIik9PntvKCExKSwiYWxsTGV2ZWxzIj09PXI/dChuLHIpOm4mJmUuY3VycmVudD8uZm9jdXMoKX0pLFtlLHRdKTsoMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1pLmdldCh0KT8/bmV3IFNldDtyZXR1cm4gZS5hZGQoYSksaS5zZXQodCxlKSwoKT0+e2NvbnN0IGU9aS5nZXQodCk7ZSYmKGUuZGVsZXRlKGEpLAowPT09ZS5zaXplJiZpLmRlbGV0ZSh0KSl9fSksW2EsdF0pO3JldHVybntpc09wZW46bixvbk9wZW46KDAsci51c2VDYWxsYmFjaykoKCgpPT57Y29uc3QgZT1pLmdldCh0KTtpZihlKWZvcihjb25zdCB0IG9mIGUpdCE9PWEmJnQoITEsImN1cnJlbnRMZXZlbCIpO28oITApfSksW3QsYV0pLG9uQ2xvc2U6YX19fSw3MzM2MTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlRGVmYXVsdEJ1dHRvbkFuY2hvclByb3BzOigpPT5sfSk7dmFyIHI9big3Nzk0NzQpLG89big3ODc4OTUpLGE9big5MzgyNDIpLGk9big2Mzg1ODUpO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxyLnVzZVJlZikoKSxuPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCkse2lzT3BlbjpsLG9uT3BlbjpzLG9uQ2xvc2U6Y309KDAsYS51c2VSb290UG9wb3Zlck9wZW5TdGF0ZSkobiksdT0oMCxyLnVzZUlkKSgpLGY9ZT8uYW5jaG9ySWQ/P3UscD0oMCxyLnVzZUlkKSgpLGQ9KDAsaS51c2VPcGVuUG9wb3Zlck9uQW5jaG9yS2V5RG93bikoe2lzT3BlbjpsLG9uT3BlbjpzLG9wZW5PbkVudGVyOmU/Lm9wZW5PbkVudGVyLG9wZW5PbkFycm93OmU/Lm9wZW5PbkFycm93fSksbT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PmMoITAsImFsbExldmVscyIpKSxbY10pO3JldHVybnthbmNob3JCdXR0b25SZWY6bixpc09wZW46bCxvbk9wZW46cyxvbkNsb3NlOmMsYW5jaG9ySWQ6Zixjb250ZW50SWQ6cCxoYW5kbGVBbmNob3JDbGljazpsP206cyxoYW5kbGVBbmNob3JLZXlEb3duOmR9fX0sNjM4NTg1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU9wZW5Qb3BvdmVyT25BbmNob3JLZXlEb3duOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89bigyMzU3MjQpO2NvbnN0IGE9bmV3IFNldChbMzJdKSxpPW5ldyBTZXQoWzQwLDM4XSksbD1uZXcgU2V0KFsxM10pO2Z1bmN0aW9uIHMoZSl7Y29uc3R7aXNPcGVuOnQsb25PcGVuOm4sb3Blbk9uRW50ZXI6cz0hMCxvcGVuT25BcnJvdzpjPSEwLG9wZW5PblNwYWNlOnU9ITB9PWU7cmV0dXJuKDAsci51c2VDYWxsYmFjaykoKGU9Pntjb25zdCByPSgwLG8uaGFzaEZyb21FdmVudCkoZSk7IXQmJihzJiZsLmhhcyhyKXx8YyYmaS5oYXMocil8fHUmJmEuaGFzKHIpKSYmKG4oKSxlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9KSxbdCxuLHNdKX19LDg1NzAzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwQmFzZTooKT0+bX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNDUzNzgyKSxsPW4oODY4MzkxKSxzPW4ubihsKTtjb25zdCBjPSh7cGxhY2VtZW50OmUsLi4udH0pPT5yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkocygpLmZsb2F0aW5nQXJyb3csZSYmcygpW2VdKSwuLi50fSk7dmFyIHU9big2Mzc1NjQpLGY9bigyMzI2NSkscD1uLm4oZik7ZnVuY3Rpb24gZCh7Y29udGVudDplLGlzUnRsOnR9KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKShwKCkuZW5kU2xvdFdyYXBwZXIsdCYmcCgpLmVuZFNsb3RSdGwpfSxyLmNyZWF0ZUVsZW1lbnQoaS5EaXZpZGVyLHtjbGFzc05hbWU6cCgpLmRpdmlkZXIsb3JpZW50YXRpb246InZlcnRpY2FsIix0eXBlOiJzZWNvbmRhcnkiLHNpemU6InhzbWFsbCJ9KSxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpKHAoKS5lbmRTbG90Q29udGVudCx0JiZwKCkuZW5kU2xvdENvbnRlbnRSdGwpfSxlKSl9ZnVuY3Rpb24gbSh7aWQ6ZSxjb250ZW50OnQsZW5kU2xvdDpuLGhhc0Fycm93Om89ITAsaXNSdGw6aT0hMSxwbGFjZW1lbnQ6bD11LlRvb2x0aXBQbGFjZW1lbnRzLlRvcCxkaXNhYmxlSW50ZXJhY3RpdmU6cz0hMSx0cmFuc3BhcmVudDpmLC4uLm19KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDplLHJvbGU6InRvb2x0aXAiLGNsYXNzTmFtZTphKCkocCgpLnRvb2x0aXBCYXNlV3JhcHBlcixzJiZwKCkuZGlzYWJsZUludGVyYWN0aXZlLGY/cCgpLnRyYW5zcGFyZW50OnAoKS5vcGFxdWUpfSxvJiZyLmNyZWF0ZUVsZW1lbnQoYyx7Li4ubSxwbGFjZW1lbnQ6bH0pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnAoKS50b29sdGlwQmFzZX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHAoKS5jb250ZW50V3JhcHBlcixpJiZwKCkuY29udGVudFJ0bCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnAoKS5jb250ZW50fSx0KSxuJiZyLmNyZWF0ZUVsZW1lbnQoZCx7Y29udGVudDpuLGlzUnRsOml9KSkpKX19LDE1MzE1NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwU3RhdGVsZXNzOigpPT55fSk7dmFyIHI9big3Nzk0NzQpLG89big2NDA1MTMpLGE9big1NjI5OCksaT1uKDQ0MDQ0NiksbD1uKDMwNjI4Nykscz1uKDI4NjMxMCksYz1uKDg5NTkyMSksdT1uKDc4Nzg5NSksZj1uKDg1NzAzOCkscD1uKDYzNzU2NCksZD1uKDk2NjQ2NSksbT1uLm4oZCk7ZnVuY3Rpb24gaChlKXtyZXR1cm5bey4uLmUsb3ZlcmZsb3dIb3Jpem9udGFsOntraW5kOiJzbGlkZU92ZXJmbG93IixhbmNob3JTYWZlU3BhY2U6OCxwb3NpdGlvbmVyU2FmZVNwYWNlOjE0fSxvdmVyZmxvd1ZlcnRpY2FsOiJrZWVwTm9uRml0dGluZyJ9XX1mdW5jdGlvbiBnKGUpe3JldHVyblt7Li4uZSxvdmVyZmxvd0hvcml6b250YWw6ImtlZXBOb25GaXR0aW5nIixvdmVyZmxvd1ZlcnRpY2FsOntraW5kOiJzbGlkZU92ZXJmbG93IixhbmNob3JTYWZlU3BhY2U6OCxwb3NpdGlvbmVyU2FmZVNwYWNlOjEyfX1dfWNvbnN0IHY9eyJib3R0b20tbGVmdCI6aChvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVCksYm90dG9tOmgoby5QTEFDRU1FTlRfQk9UVE9NX0FMSUdOX0NFTlRFUiksImJvdHRvbS1yaWdodCI6aChvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQpLCJ0b3AtbGVmdCI6aChvLlBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVCksdG9wOmgoby5QTEFDRU1FTlRfVE9QX0FMSUdOX0NFTlRFUiksInRvcC1yaWdodCI6aChvLlBMQUNFTUVOVF9UT1BfQUxJR05fUklHSFQpLAoicmlnaHQtdG9wIjpnKG8uUExBQ0VNRU5UX1JJR0hUX0FMSUdOX1RPUCkscmlnaHQ6ZyhvLlBMQUNFTUVOVF9SSUdIVF9BTElHTl9DRU5URVIpLCJyaWdodC1ib3R0b20iOmcoby5QTEFDRU1FTlRfUklHSFRfQUxJR05fQk9UVE9NKSwibGVmdC10b3AiOmcoby5QTEFDRU1FTlRfTEVGVF9BTElHTl9UT1ApLGxlZnQ6ZyhvLlBMQUNFTUVOVF9MRUZUX0FMSUdOX0NFTlRFUiksImxlZnQtYm90dG9tIjpnKG8uUExBQ0VNRU5UX0xFRlRfQUxJR05fQk9UVE9NKX0seT0oMCxhLmlnbm9yZU9uU1NSKSgoZnVuY3Rpb24oZSl7Y29uc3R7YW5jaG9yOnQsb3BlbjpuLGlkOm8sY29udGVudDphLGVuZFNsb3Q6cCxoYXNBcnJvdzpkPSEwLGlzUnRsOmg9ITEsb25DbG9zZTpnLHBsYWNlbWVudDp5PUUsb2Zmc2V0OmI9MCxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpDPSExLGRpc2FibGVJbnRlcmFjdGl2ZTpULGRhdGFRYUlkOl8sZ2V0Um9vdFJlY3Q6TCxmb3JjZURpc2FibGVUcmFuc3BhcmVuY3k6U309ZSxbQSxQXT0oMCxyLnVzZVN0YXRlKSghUyksdz1kPzQ6YixrPSgwLHUudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoKDAsci51c2VSZWYpKG51bGwpKSx4PSgwLHIudXNlTWVtbykoKCgpPT4oKGUsdCk9PihBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mbGF0TWFwKChlPT4oKGUsdCk9PmUubWFwKChlPT57Y29uc3Qgbj17dG9wOnt4OjAseTotdH0scmlnaHQ6e3g6dCx5OjB9LGJvdHRvbTp7eDowLHk6dH0sbGVmdDp7eDotdCx5OjB9fTtyZXR1cm4gZS5uYW1lPy5zcGxpdCgiLSIpWzBdP3suLi5lLG9mZnNldDpuW2UubmFtZS5zcGxpdCgiLSIpWzBdXX06ZX0pKSkodltlXSx0KSkpKSh5LHcpKSxbdyx5XSksW08sTl09ci51c2VTdGF0ZSh2b2lkIDApLFI9KDAsci51c2VDYWxsYmFjaykoKGU9PntPPy5uYW1lIT09ZT8ubmFtZSYmbiYmKE4oZSksUCghMSkpfSksW24sTz8ubmFtZV0pOygwLHIudXNlRWZmZWN0KSgoKCk9PntufHwoTih2b2lkIDApLFAoITApKX0pLFtuXSk7Y29uc3QgST0oMCxsLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKG4pLEQ9KDAsaS51c2VDbG9zZVJlcG9zaXRpb25PblNjcm9sbE91dHNpZGUpKG4sQyxnLHQpLEc9KDAsci51c2VNZW1vKSgoKCk9PltJLERdKSxbRCxJXSksSD0oMCxjLnVzZVJlZlJlY3QpKHQsbixHKTtpZighSClyZXR1cm4gbnVsbDtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHMuUmVjdGFuZ2xlUG9zaXRpb25lcix7cGxhY2VtZW50UnVsZXM6eCxpc09wZW46bix3aWR0aDpbXSxoZWlnaHQ6W10sYW5jaG9yZWRBdDpILGlzUnRsOmgscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6ayxvblBsYWNlbWVudFJ1bGVTZWxlY3RlZDpSLGRhdGFRYUlkOl8sZ2V0Um9vdFJlY3Q6TCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6bSgpLnRvb2x0aXBTdGF0ZWxlc3N9LHIuY3JlYXRlRWxlbWVudChmLlRvb2x0aXBCYXNlLHtpZDpvLGNvbnRlbnQ6YSxlbmRTbG90OnAsaGFzQXJyb3c6ZCxpc1J0bDpoLHBsYWNlbWVudDpPPy5uYW1lLGRpc2FibGVJbnRlcmFjdGl2ZTpULHRyYW5zcGFyZW50OkF9KSl9KSksRT1bcC5Ub29sdGlwUGxhY2VtZW50cy5Ub3AscC5Ub29sdGlwUGxhY2VtZW50cy5Cb3R0b20scC5Ub29sdGlwUGxhY2VtZW50cy5MZWZ0LHAuVG9vbHRpcFBsYWNlbWVudHMuUmlnaHRdfSw2Mzc1NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7VG9vbHRpcFBsYWNlbWVudHM6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlRvcExlZnQ9InRvcC1sZWZ0IixlLlRvcD0idG9wIixlLlRvcFJpZ2h0PSJ0b3AtcmlnaHQiLGUuQm90dG9tTGVmdD0iYm90dG9tLWxlZnQiLGUuQm90dG9tPSJib3R0b20iLGUuQm90dG9tUmlnaHQ9ImJvdHRvbS1yaWdodCIsZS5SaWdodFRvcD0icmlnaHQtdG9wIixlLlJpZ2h0PSJyaWdodCIsZS5SaWdodEJvdHRvbT0icmlnaHQtYm90dG9tIixlLkxlZnRUb3A9ImxlZnQtdG9wIixlLkxlZnQ9ImxlZnQiLGUuTGVmdEJvdHRvbT0ibGVmdC1ib3R0b20ifShyfHwocj17fSkpfSwxNTM3MjgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVG9vbHRpcFN0YXRlOigpPT5hfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7dm9pZCAwIT09ZS5jdXJyZW50JiYoY2xlYXJUaW1lb3V0KGUuY3VycmVudCksZS5jdXJyZW50PXZvaWQgMCl9ZnVuY3Rpb24gYShlKXtjb25zdHtvcGVuRGVsYXk6dD0wLGNsb3NlRGVsYXk6bj0wfT1lLFthLGldPSgwLHIudXNlU3RhdGUpKCExKSxsPSgwLHIudXNlUmVmKSgpLHM9KDAsci51c2VDYWxsYmFjaykoKGU9PntvKGwpO2NvbnN0IHI9ZT90Om47cj4wP2wuY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKCk9PntpKGUpLGwuY3VycmVudD12b2lkIDB9KSxyKTppKGUpfSksW3Qsbl0pLGM9KDAsci51c2VDYWxsYmFjaykoKCgpPT5zKCEwKSksW3NdKSx1PSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+cyghMSkpLFtzXSksZj0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PnMoIWEpKSxbYSxzXSkscD0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntvKGwpLGkoITEpfSksW10pO3JldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PigpPT57byhsKX0pLFtdKSx7dmlzaWJsZTphLG9wZW46YyxjbG9zZTp1LHRvZ2dsZTpmLGNsb3NlSW5zdGFudGx5OnB9fX0sMTQxNzA1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4iIj09PWU/IiI6ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyaW5nKDEpfW4uZCh0LHtjYXBpdGFsaXplOigpPT5yfSl9LDMxNDcyMChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7Y29uc3R7cGFkZGluZ1RvcDp0LHBhZGRpbmdCb3R0b206bn09d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSk7cmV0dXJuW3Qsbl0ucmVkdWNlKCgoZSx0KT0+ZS1OdW1iZXIoKHR8fCIiKS5yZXBsYWNlKCJweCIsIiIpKSksZS5jbGllbnRIZWlnaHQpfWZ1bmN0aW9uIG8oZSx0PSExKXtjb25zdCBuPWdldENvbXB1dGVkU3R5bGUoZSkscj1bbi5oZWlnaHRdCjtyZXR1cm4iYm9yZGVyLWJveCIhPT1uLmJveFNpemluZyYmci5wdXNoKG4ucGFkZGluZ1RvcCxuLnBhZGRpbmdCb3R0b20sbi5ib3JkZXJUb3BXaWR0aCxuLmJvcmRlckJvdHRvbVdpZHRoKSx0JiZyLnB1c2gobi5tYXJnaW5Ub3Asbi5tYXJnaW5Cb3R0b20pLHIucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfWZ1bmN0aW9uIGEoZSx0PSExKXtjb25zdCBuPWdldENvbXB1dGVkU3R5bGUoZSkscj1bbi53aWR0aF07cmV0dXJuImJvcmRlci1ib3giIT09bi5ib3hTaXppbmcmJnIucHVzaChuLnBhZGRpbmdMZWZ0LG4ucGFkZGluZ1JpZ2h0LG4uYm9yZGVyTGVmdFdpZHRoLG4uYm9yZGVyUmlnaHRXaWR0aCksdCYmci5wdXNoKG4ubWFyZ2luTGVmdCxuLm1hcmdpblJpZ2h0KSxyLnJlZHVjZSgoKGUsdCk9PmUrKHBhcnNlRmxvYXQodCl8fDApKSwwKX1uLmQodCx7Y29udGVudEhlaWdodDooKT0+cixvdXRlckhlaWdodDooKT0+byxvdXRlcldpZHRoOigpPT5hfSl9LDc4Mjk1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVBcmlhQXR0cmlidXRlc1Byb3BzOigpPT5vfSk7dmFyIHI9bigxNDE3MDUpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIG9mIE9iamVjdC5lbnRyaWVzKHQpKW5bImNhbWVsQ2FzZSI9PT1lPyJhcmlhIisoMCxyLmNhcGl0YWxpemUpKG9bMF0pOiJhcmlhLSIrb1swXV09b1sxXTtyZXR1cm4gbn19LDM5MTE1MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm57W2VdOnR9fW4uZCh0LHtjcmVhdGVSZWZQcm9wOigpPT5yfSl9LDMzNjMzNChlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oMTI5MzY1KTt0LmNyZWF0ZVJvb3Q9ci5jcmVhdGVSb290LHIuaHlkcmF0ZVJvb3R9LDEyOTM2NShlLHQsbil7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9big1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikscD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksZD1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LGg9T2JqZWN0LmFzc2lnbixnPXt9O2Z1bmN0aW9uIHYoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8bX1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIEUoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8bX12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHkucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBiPUUucHJvdG90eXBlPW5ldyB5O2IuY29uc3RydWN0b3I9RSxoKGIsdi5wcm90b3R5cGUpLGIuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIEM9QXJyYXkuaXNBcnJheSxUPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksXz17Y3VycmVudDpudWxsfSxMPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gUyhlLHQscil7dmFyIG8sYT17fSxpPW51bGwsbD1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihsPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLHQpVC5jYWxsKHQsbykmJiFMLmhhc093blByb3BlcnR5KG8pJiYoYVtvXT10W29dKTt2YXIgcz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXMpYS5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxzKXtmb3IodmFyIGM9QXJyYXkocyksdT0wO3U8czt1KyspY1t1XT1hcmd1bWVudHNbdSsyXTthLmNoaWxkcmVuPWN9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gcz1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1hW29dJiYoYVtvXT1zW29dKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OmkscmVmOmwscHJvcHM6YSxfb3duZXI6Xy5jdXJyZW50fX1mdW5jdGlvbiBBKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBQPS9cLysvZztmdW5jdGlvbiB3KGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifQo7cmV0dXJuIiQiK2UucmVwbGFjZSgvWz06XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKX0oIiIrZS5rZXkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIGsoZSx0LG8sYSxpKXt2YXIgbD10eXBlb2YgZTsidW5kZWZpbmVkIiE9PWwmJiJib29sZWFuIiE9PWx8fChlPW51bGwpO3ZhciBzPSExO2lmKG51bGw9PT1lKXM9ITA7ZWxzZSBzd2l0Y2gobCl7Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpzPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBuOmNhc2UgcjpzPSEwfX1pZihzKXJldHVybiBpPWkocz1lKSxlPSIiPT09YT8iLiIrdyhzLDApOmEsQyhpKT8obz0iIixudWxsIT1lJiYobz1lLnJlcGxhY2UoUCwiJCYvIikrIi8iKSxrKGksdCxvLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKSk6bnVsbCE9aSYmKEEoaSkmJihpPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OnQscmVmOmUucmVmLHByb3BzOmUucHJvcHMsX293bmVyOmUuX293bmVyfX0oaSxvKyghaS5rZXl8fHMmJnMua2V5PT09aS5rZXk/IiI6KCIiK2kua2V5KS5yZXBsYWNlKFAsIiQmLyIpKyIvIikrZSkpLHQucHVzaChpKSksMTtpZihzPTAsYT0iIj09PWE/Ii4iOmErIjoiLEMoZSkpZm9yKHZhciBjPTA7YzxlLmxlbmd0aDtjKyspe3ZhciB1PWErdyhsPWVbY10sYyk7cys9ayhsLHQsbyx1LGkpfWVsc2UgaWYodT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPWQmJmVbZF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgdSlmb3IoZT11LmNhbGwoZSksYz0wOyEobD1lLm5leHQoKSkuZG9uZTspcys9ayhsPWwudmFsdWUsdCxvLHU9YSt3KGwsYysrKSxpKTtlbHNlIGlmKCJvYmplY3QiPT09bCl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gc31mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLG89MDtyZXR1cm4gayhlLHIsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLG8rKyl9KSkscn1mdW5jdGlvbiBPKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIE49e2N1cnJlbnQ6bnVsbH0sUj17dHJhbnNpdGlvbjpudWxsfSxJPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOk4sUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6UixSZWFjdEN1cnJlbnRPd25lcjpffTt0LkNoaWxkcmVuPXttYXA6eCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXt4KGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiB4KGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighQShlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPWksdC5QdXJlQ29tcG9uZW50PUUsdC5TdHJpY3RNb2RlPWEsdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9SSx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89aCh7fSxlLnByb3BzKSxhPWUua2V5LGk9ZS5yZWYsbD1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYsbD1fLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBzPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGMgaW4gdClULmNhbGwodCxjKSYmIUwuaGFzT3duUHJvcGVydHkoYykmJihvW2NdPXZvaWQgMD09PXRbY10mJnZvaWQgMCE9PXM/c1tjXTp0W2NdKX12YXIgYz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWMpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxjKXtzPUFycmF5KGMpO2Zvcih2YXIgdT0wO3U8Yzt1Kyspc1t1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPXN9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OmEscmVmOmkscHJvcHM6byxfb3duZXI6bH19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6cyxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bCxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1TLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1TLmJpbmQobnVsbCxlKQo7cmV0dXJuIHQudHlwZT1lLHR9LHQuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19LHQuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6YyxyZW5kZXI6ZX19LHQuaXNWYWxpZEVsZW1lbnQ9QSx0Lmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnAsX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDplfSxfaW5pdDpPfX0sdC5tZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOmYsdHlwZTplLGNvbXBhcmU6dm9pZCAwPT09dD9udWxsOnR9fSx0LnN0YXJ0VHJhbnNpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1SLnRyYW5zaXRpb247Ui50cmFuc2l0aW9uPXt9O3RyeXtlKCl9ZmluYWxseXtSLnRyYW5zaXRpb249dH19LHQudW5zdGFibGVfYWN0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoImFjdCguLi4pIGlzIG5vdCBzdXBwb3J0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgb2YgUmVhY3QuIil9LHQudXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUNhbGxiYWNrKGUsdCl9LHQudXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZUNvbnRleHQoZSl9LHQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBOLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIE4uY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBOLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE4uY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIE4uY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sNjczMDY1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptNC05Ljk3TDExLjkgNiA4LjMgOS44MiA2LjEgNy40NiA0Ljk5IDguNSA4LjMyIDEyIDEzIDcuMDNaIi8+PC9zdmc+J30sNDAwMDQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlpNOSA0Yy0uNzkgMC0xLjM4LjctMS4yNSAxLjQ4bC42NyA0LjAzYS41OS41OSAwIDAgMCAxLjE2IDBsLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAwIDkgNFptMCA4YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMloiLz48L3N2Zz4nfSw1MjcyMTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptMS0xMmExIDEgMCAxIDEtMiAwIDEgMSAwIDAgMSAyIDBaTTguNSA5LjVIN1Y4aDN2Nkg4LjVWOS41WiIvPjwvc3ZnPid9LDc4NTk5NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabS0xLTRhMSAxIDAgMSAwIDIgMCAxIDEgMCAwIDAtMiAwWm0yLjgzLTMuNTJjLS40OS40My0uOTcuODUtMS4wNiAxLjUySDguMjZjLjA4LTEuMTguNzQtMS42OSAxLjMyLTIuMTMuNDktLjM4LjkyLS43MS45Mi0xLjM3QzEwLjUgNi42NyA5LjgyIDYgOSA2cy0xLjUuNjctMS41IDEuNVY4SDZ2LS41YTMgMyAwIDEgMSA2IDBjMCAuOTYtLjYgMS40OC0xLjE3IDEuOThaIi8+PC9zdmc+J30sMjczNjc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xNi40NyA3LjQ3IDEuMDYgMS4wNkwxMi4wNiAxNGw1LjQ3IDUuNDctMS4wNiAxLjA2TDkuOTQgMTRsNi41My02LjUzWiIvPjwvc3ZnPid9LDc4NjI2OChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTE0LjA3OCA3LjgyNy0uOTktMS4xMjhMOSAxMC4yOSA0LjkxMSA2LjdsLS45OSAxLjEyOEw5IDEyLjI4NXoiLz48L3N2Zz4nfSw4NTY3NzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bmFub2lkOigpPT5yfSk7bGV0IHI9KGU9MjEpPT5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKS5yZWR1Y2UoKChlLHQpPT5lKz0odCY9NjMpPDM2P3QudG9TdHJpbmcoMzYpOnQ8NjI/KHQtMjYpLnRvU3RyaW5nKDM2KS50b1VwcGVyQ2FzZSgpOnQ+NjI/Ii0iOiJfIiksIiIpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:27.602Z","timestamp":1785124887602,"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":"POST /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\nReferer: https://berthenergy-inc.biz/\r\nX-Goog-AuthUser: 0\r\nContent-Encoding: gzip\r\nContent-Type: application/binary\r\nContent-Length: 303\r\nOrigin: https://berthenergy-inc.biz\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":"POST","post_data":{"size":448,"data":"\u001f\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003ÝTÑn \u0014ý\u0017u\u0005\u0004¾Õvý½!1t%Jb°±lÉúõ\u0003g;]»lÝ\b9ñÀÁsõ^®(q/mûk·\u0016q`|zz¬0Ä9d\u0018é1@¥T8Cq0áQÁ~p\u00047-ÿ=Àu%¸@þ\u0018.7á×`e«b\u0014\u0012!RBWëT\u0014\u003cK×¤ lKÄ\u0026\u0013,\be\t\u001aï\u000fÇåb±3½o3}ýZ÷ü°³§s\u0012*jU\u0013»'ýjkímç\u0006Ó\u0006_dq\u000e*\fq¦Ïù¸ýÉÑ³|ÎÉeÿ#\u00019þ¢,ðÂÃ\u0000\u003c\u000b\u00171Äí{í­öfyÐµ©ÚNï+ßUÖYoukOf\u001f?äêÝ8É)û«8¦µzÕTà÷\tC±-ý~ÀÕ;bp\u0004\u0000\u0000"}},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://berthenergy-inc.biz\r\ncross-origin-resource-policy: cross-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 04:01:27 GMT\r\nserver: Playlog\r\ncontent-length: 131\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":131,"size_decoded":580,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-07-27T06:14:32.745851Z","times_seen":581644,"resource_available":false,"data":"WyItMSIsbnVsbCxbW1siQU5EUk9JRF9CQUNLVVAiLDBdLFsiQkFUVEVSWV9TVEFUUyIsMF0sWyJTTUFSVF9TRVRVUCIsMF0sWyJUUk9OIiwwXV0sLTMzMzQ3Mzc1OTQwMjQ5NzEyMjVdLFtdLHsiMTc1MjM3Mzc1IjpbMTAwMDBdfV0="}},"time_used":74,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":74,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/clear-old-settings.c34042a4a10cb5fb2e3d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:46.530Z","timestamp":1785124906530,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/clear-old-settings.c34042a4a10cb5fb2e3d.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:46 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-1056\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:16\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2554310ca343f56ca41dc20c92b4fecd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4182,"size_decoded":2497,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"f70d35acd6337f324740a0db8767d789","sha1":"24d6869180084cd568464e8200b623e903c8a451","sha256":"a554a858cd983ed5cbcd1e383940a748011ecae26912c494b5f4f50908ce6caf","sha512":"9a240d85d5fecfa1464aa2d6733a6d25818d700645d21de3cbf386062e8ee46b604520a22c66e93bfd604052e7008bbc03f4a6a9a8ce3deb9d6e03415dcc5374","ssdeep":"96:vkBD3c7nLhRVAsj8hd4b+7p79X2xRk1a37Eg9yZ9FX2F8gsW0:MBD3c7LhTG1AxInXi8gR0","tlshash":"a081654b42073aabe3cc87f621b98fac4d3c4da578070ed9ad64568c550d5c97162d3f","first_seen":"2026-07-24T11:36:47.890968Z","last_seen":"2026-07-27T06:11:36.008634Z","times_seen":71,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzU5ODBdLHs3NTQxODUoZSx0LGkpe2kuZCh0LHtjbGVhck9sZFNldHRpbmdzOigpPT5yfSk7dmFyIG4sbz1pKDkzMDU2Nik7ZnVuY3Rpb24qYSgpe3lpZWxkKmZ1bmN0aW9uKigpe2Zvcihjb25zdCBlIG9mWyJtYXJrZXRzLnF1b3Rlcy5oaWRlX2Rlc2NyaXB0aW9uIiwibWFpbl9wYWdlX2hvdGxpc3Rfc3RvY2tzX21hcmtldCIsInN0dWR5TWFya2V0LmZhdm9yaXRlcy5leHRyYSIsImhpbnQuY29sb3JUaGVtZUhlYWRlck1lbnUiLCJoaW50LmxheW91dE1lbnUiLCJoaW50LmhlbHBNZW51IiwiaGludC5uZXdzVGFiIiwiaGludC5yZW1vdmVTYXZlQnV0dG9uIiwiaGludC53YXRjaGxpc3REb3RzTWVudSIsImhpbnQubWVudVN3aXRjaGVyIiwiaGludC5hbm9ueW1vdXNfdXNlcl9tZW51IiwiaGludC5zeW1ib2xTZWFyY2hIb3RrZXlDaGFuZ2VkIiwiaGludC5mYXZvcml0ZURyYXdpbmdzRml4ZWRUb29sYmFyIiwiaGludC5pbnRlcnZhbEhvdGtleUNoYW5nZWQiLCJoaW50LnRoZW1lU3dpdGNoZXIiLCJoaW50LndhdGNobGlzdC5tb3ZlX3RvX2NoYXJ0IiwiYWxlcnRzLmhpZGVfaW5hY3RpdmUiLCJhbGVydHMuc2hvd19mb3JfY3VycmVuX3N5bWJvbF9vbmx5IiwiYWxlcnRzLnNob3dfZm9yX2N1cnJlbl9yZXNvbHV0aW9uX29ubHkiLCJhbGVydHMud2lkZ2V0LnNlbGVjdGVkX2FsZXJ0X2lkIiwiYWxlcnRzLmNyZWF0aW5nLnNlbmRfdHJ1ZV9zbXMiLCJhbGVydHMud2lkZ2V0LnNob3dfcHJpY2UiLCJhbGVydHMud2lkZ2V0LnNob3dfaW5kaWNhdG9yIiwiYWxlcnRzLndpZGdldC5zaG93X2RyYXdpbmciLCJhbGVydHMud2lkZ2V0LnNob3dfc3RyYXRlZ3kiLCJhbGVydHMucHVzaC5zaG93RGlhbG9nIiwiYWxlcnRzLndpZGdldC5oaWRlX2luYWN0aXZlIiwiYWxlcnRzLm5vX3dhcm5pbmcucmVhZG9ubHlBbGVydHMiLCJhbGVydHMubm9fd2FybmluZy5zY3JlZW5lckZsYWdnZWRBbGVydCIsInNpdGUuZmVlZF93aWRnZXRzIiwidHYtY2hhcnQtY2hhbmdlZC1ub3RpZmljYXRpb24iLCJob3RsaXN0LmFjdGl2ZV90YWIiLCJ0cmFkaW5nLmZpbHRlcl9icm9rZXJzX2J5X2xvY2FsZSIsInRyYWRpbmcucmV2aWV3RGlhbG9nU2hvd2VkT25Mb2dpbiIsInRyYWRpbmcucGFuZWxIZWlnaHQiLCJ0cmFkaW5nLnNob3dUb29sdGlwRm9yT3JkZXJTaXplQ2FsY3VsYXRvciIsInRyYWRpbmcudHJhZGluZ1BhbmVsT3BlbmVkIiwidHJhZGluZy5xdWlja1RyYWRpbmdFbmFibGVkIiwidHJhZGluZy5zaG93SGludEZvclF1aWNrVHJhZGluZyIsInRyYWRpbmcucXVpY2tUcmFkaW5nT25ib2FyZGluZ0VuYWJsZWQiLCJibGFja2ZyaWRheS5zaG93UG9wdXAiLCJibGFja19mcmlkYXkuc2hvd25fcG9wdXBfMjAxNyIsImJsYWNrX2ZyaWRheS5zaG93bl9wb3B1cF8yMDE4IiwiYmxhY2tfZnJpZGF5LnNob3duX3BvcHVwXzIwMTkiLCJibGFja19mcmlkYXkuc2hvd25fcG9wdXBfMjAyMCIsImJsYWNrX2ZyaWRheS5zaG93bl9wb3B1cF8yMDIxIiwiYmxhY2tfZnJpZGF5LnNob3duX3BvcHVwXzIwMjIiLCJibGFja19mcmlkYXkuc2hvd25fcG9wdXBfMjAyMyIsImJsYWNrX2ZyaWRheS5zaG93bl9wb3B1cF8yMDI0IiwiYmxhY2tfZnJpZGF5LnNob3dfcG9wdXBfMjAyNCIsImJsYWNrX2ZyaWRheS5zaG93bl9wb3B1cF9sYXN0X2RheV8yMDIyIiwiYmxhY2tfZnJpZGF5LnNob3dfcG9wdXBfMjAyNSIsImJsYWNrX2ZyaWRheS5zaG93X3BvcHVwXzJfMjAyNSIsImJsYWNrX2ZyaWRheS5zaG93X3BvcHVwX2xhc3RfZGF5XzIwMjUiLCJjeWJlcl9tb25kYXkuc2hvd25fcG9wdXBfMjAyMCIsImN5YmVyX21vbmRheS5zaG93bl9wb3B1cF8yMDIxIiwiY3liZXJfbW9uZGF5LnNob3duX3BvcHVwXzIwMjIiLCJjeWJlcl9tb25kYXkuc2hvd25fcG9wdXBfMjAyMyIsImN5YmVyX21vbmRheS5zaG93X3BvcHVwXzIwMjQiLCJjeWJlcl9tb25kYXkuc2hvd25fcG9wdXBfbGFzdF9kYXlfMjAyMiIsInJlcGxheS5oaWdobGlnaHRTaG93biIsInJlcGxheS5tYW5hZ2VyLmF1dG9wbGF5RGVsYXkiLCJndWkucmVwbGF5LnRvb2xiYXIucG9zaXRpb24iLCJoaW50LnNjcmVlbmVyRGlhbG9nIiwiaGludC5hbGVydHNPblN5bWJvbFBhZ2UiLCJoaW50LmFsZXJ0c09uV2F0Y2hsaXN0IiwiaGludC5vcHRpb25zQnVpbGRlckRpYWxvZyIsImhpbnQuZWRpdG9yRHJvcERvd25IaW50IiwiaGludC5lZGl0b3JQcm9maWxlck1vdmVkIiwibWFpbl9wcm9tb19jbG9zZWQiLCJoaW50LnlpZWxkQ3VydmVzQnVpbGRlckRpYWxvZyIsInBpbmVTdHVkaWVzVXBkYXRlcyIsIm9wdGlvbnNDaGFpbi5zZXR0aW5nc0hpbnQiLCJzY3JlZW5lci5zd2l0Y2hUb1N0b2NrU2NyZWVuZXJJblJpZ2h0UGFuZWwiLCJQYXBlci5zaG93TmV3Q29tbWlzc2lvblBvcHVwIiwibWFjcm9fbWFwc19vbmJvYXJkaW5nX2hpZGRlbiIsIm9wdGlvbnNDaGFpbi5zZXR0aW5nc0lWSGludCIsImJhY2t0ZXN0aW5nIiwiTmV3cy5kaXNwbGF5TW9kZSIsIlBpbmUuaXNOZXdVc2VyIiwicHJpdmF0ZW1lc3NhZ2VzLmNoYXRtYXhpbWl6ZWQiLCJiYWNrdGVzdGluZy5sYXN0U3RyYXRlZ3lTZWxlY3RlZFNjcmlwdElkUGFydCIsImJhY2t0ZXN0aW5nX3dpZGdldC53aWRnZXRzX29wZW5pbmciLCJiYWNrdGVzdGluZ19yZXBsYXkud2lkZ2V0c19vcGVuaW5nIiwiYmFja3Rlc3Rpbmdfd2lkZ2V0LndpZGdldHNfdmlzaWJpbGl0eSIsImJhY2t0ZXN0aW5nX3JlcGxheS53aWRnZXRzX3Zpc2liaWxpdHkiLCJvcHRpb25zQ2hhaW4ubGltaXRTZXJpZXMiLCJvcHRpb25zQ2hhaW4ubGltaXRTdHJpa2VzIiwiaGludC5waW5lRWRpdG9yV29yZFdyYXBIaW50IiwiaGludC5waW5lRWRpdG9yTW92ZVRvQm90dG9tIl0pby5yZW1vdmUoZSkseWllbGQ7Zm9yKGNvbnN0IGUgb2Ygby5rZXlzKCkpe2lmKGUuc3RhcnRzV2l0aCgid2lkZ2V0YmFyLndpZGdldC5uZXdzLiIpJiZvLnJlbW92ZShlKSxlLnN0YXJ0c1dpdGgoInN0dWR5XyIpJiYie30iPT09by5nZXRWYWx1ZShlKSYmby5yZW1vdmUoZSksCmUuc3RhcnRzV2l0aCgidHJhZGluZy5vcmRlclBhbmVsU2V0dGluZ3MiKSl7Y29uc3QgdD1vLmdldFZhbHVlKGUpO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3QgaT1KU09OLnBhcnNlKHQpO2RlbGV0ZSBpLnNob3dDcnlwdG9CcmFja2V0c0luQ3VycmVuY3ksZGVsZXRlIGkuc2hvd0NyeXB0b0JyYWNrZXRzSW5QZXJjZW50LGRlbGV0ZSBpLnNob3dCcmFja2V0c0luQ3VycmVuY3ksZGVsZXRlIGkuc2hvd0JyYWNrZXRzSW5QZXJjZW50LGRlbGV0ZSBpLnNob3dDdXJyZW5jeVJpc2tJblF0eSxkZWxldGUgaS5zaG93UGVyY2VudFJpc2tJblF0eSxvLnNldFZhbHVlKGUsSlNPTi5zdHJpbmdpZnkoaSkpfWlmKCJiYWNrdGVzdGluZ19vdmVydmlld192aXNpYmlsaXR5Ij09PWUpe2NvbnN0IHQ9by5nZXRWYWx1ZShlKTtpZih2b2lkIDA9PT10KWNvbnRpbnVlO2NvbnN0IGk9SlNPTi5wYXJzZSh0KTsoInJ1blVwImluIGl8fCJwcm9maXQiaW4gaXx8ImRyYXdEb3duImluIGkpJiYoZGVsZXRlIGkucnVuVXAsZGVsZXRlIGkucHJvZml0LGRlbGV0ZSBpLmRyYXdEb3duLG8uc2V0VmFsdWUoZSxKU09OLnN0cmluZ2lmeShpKSkpfXlpZWxkfX0oKSx5aWVsZCpmdW5jdGlvbiooKXtmb3IoY29uc3QgZSBvZlsiYXBwbGljYXRpb24tY2xpcGJvYXJkIiwiTmFOIiwib3BlbmVkLXRhYnMiLCJzeW1ib2xfcGFnZV9vdmVydmlld19jaGFydF90eXBlIiwiTGFzdFBlcmlvZE9mVG90YWxQdWJsaWNhdGlvbnMiLCJvcHRpb25zLmJ1aWxkZXJfc3ltYm9sIiwib3B0aW9ucy5idWlsZGVyX3N0cmF0ZWdpZXMiLCJvcHRpb25zLmJ1aWxkZXJfbGFzdF9zeW1ib2xzIl0pbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSkseWllbGR9KCl9ZnVuY3Rpb24gcigpe2NvbnN0IGU9YSgpO2Z1bmN0aW9uIHQoKXt3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayhpKTpzZXRUaW1lb3V0KGksMCl9ZnVuY3Rpb24gaShpKXtkb3tpZihlLm5leHQoKS5kb25lKXJldHVybn13aGlsZShpJiZpLnRpbWVSZW1haW5pbmcoKT4zKTt0KCl9dCgpfSFmdW5jdGlvbihlKXtlW2UuTWluTXNSZW1haW5pbmc9M109Ik1pbk1zUmVtYWluaW5nIn0obnx8KG49e30pKX19XSk7"}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-top-lines.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.526Z","timestamp":1785124875526,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-top-lines.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 1026\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-402\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":1026,"size_decoded":1250,"mime_type":"image/png","magic":"PNG image data, 2 x 138, 8-bit/color RGBA, non-interlaced","md5":"a2a52507c2036fe4fdccc8dc00fbdc4e","sha1":"f8d91e082722e41456ba06f4820f35d7db887dc1","sha256":"72272ae3520b28a33093a295c3d669754d63085a194eedd034bc34941b78120e","sha512":"f5af9c0a070364dbe08f2cba0df9a9662451cc7ead3437036d1d7bff79f98cd9e212a70fba772850d8ed511a8e5668eed0698535071c6bd6d153d31d574208f3","ssdeep":"","tlshash":"8d11024de791ec02d29996c228f750735c264c4097d4e859eccac4060f385f5c82c5df","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.013795Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAAIAAACKCAYAAACAVZuRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MDBBQjc4NDQ4MEUxMUVBODRGN0ZEQzI4NkQ3REQyMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MDBBQjc4NTQ4MEUxMUVBODRGN0ZEQzI4NkQ3REQyMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjYwMEFCNzgyNDgwRTExRUE4NEY3RkRDMjg2RDdERDIzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYwMEFCNzgzNDgwRTExRUE4NEY3RkRDMjg2RDdERDIzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ahCYqAAAAHdJREFUeNqskOEKgDAIhD3txXrwnqqfQbQiimGZmsLg5r6dt9EyjaBWTGd1AtUdpJgcfIv9kV2HlSFHDLno6Cd8bJ4Z4zpHZnHK2YgqKUNxwBIJb+TBu6EoAQfjme4JL44Y4oyBAsOP/0EEpjA8qBFX5rmtdRNgAOMcB/a/MP1lAAAAAElFTkSuQmCC"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.827Z","timestamp":1785124875827,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.62351.b382da174f097a0d0e43.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-20902\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a41b1afcbcd100c3fe6ccc36f5018420\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":133378,"size_decoded":33504,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3071)","md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-27T06:24:31.705233Z","times_seen":120,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNDkyOSwzNzg2NSw0NzAzMCw1MzI0OSw1NzE4NCw2MjM1MSw2ODg2MCw4NDY5Myw5Mjk2NF0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNjQ2ODQ4KGUpe2UuZXhwb3J0cz1bIk9iamVjdCB0cmVlIl19LDExMzUyNChlKXtlLmV4cG9ydHM9WyJDb250aW51ZSJdfSwyNjQ3MzkoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDMxODczNChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNzcwOTQxKGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sMTU3NDE3KGUpe2UuZXhwb3J0cz1bIlJlIl19LDU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sOTQ1MzYyKGUpe2UuZXhwb3J0cz1bIkRhcmsiXX0sMjQ3MTY3KGUpe2UuZXhwb3J0cz1bIkxpZ2h0Il19LDI0NzUyMShlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDYyMzQwMChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjdXQiXX0sMzk0MTI4KGUpe2UuZXhwb3J0cz1bIkNvdWxkbid0IHBhc3RlIl19LDIxMDkwMShlKXtlLmV4cG9ydHM9WyJQbGVhc2UgZ2l2ZSB1cyBhIGNsaXBib2FyZCB3cml0aW5nIHBlcm1pc3Npb24gaW4geW91ciBicm93c2VyIG9yIHByZXNzIHtrZXlzdHJva2V9Il19LDc4Njk3OChlKXtlLmV4cG9ydHM9WyJBREoiXX0sNzMwODQwKGUpe2UuZXhwb3J0cz1bIkItQURKIl19LDMzNzk1NyhlKXtlLmV4cG9ydHM9WyJTRVQiXX0sNjUzODU5KGUpe2UuZXhwb3J0cz1bIkV4cGlyZWQiXX0sMzY0ODQzKGUpe2UuZXhwb3J0cz1bIk1hbnVhbGx5Il19LDQ2MzIzMihlKXtlLmV4cG9ydHM9WyJTdG9wcGVkIl19LDM2NzU3MyhlKXtlLmV4cG9ydHM9WyJUcmlnZ2VyZWQiXX0sNTMxODM0KGUpe2UuZXhwb3J0cz1bIkRlbGV0ZSBzZWxlY3RlZCBhbGVydHM/Il19LDQ1NjE1MihlKXtlLmV4cG9ydHM9WyJEZWxldGUgdGhpcyBhbGVydD8iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMjMwNDkyKGUpe2UuZXhwb3J0cz1bImQiXX0sMTIyMDUzKGUpe2UuZXhwb3J0cz1bImgiXX0sMTY0NTE2KGUpe2UuZXhwb3J0cz1bIm0iXX0sMjYyMjA1KGUpe2UuZXhwb3J0cz1bInMiXX0sMzk4NDU5KGUpe2UuZXhwb3J0cz1bIkZyIl19LDM2NTUzNShlKXtlLmV4cG9ydHM9WyJNbyJdfSwyNjA0OTYoZSl7ZS5leHBvcnRzPVsiU2EiXX0sNjY5MTk5KGUpe2UuZXhwb3J0cz1bIlN1Il19LDQ1MTI3MShlKXtlLmV4cG9ydHM9WyJXZSJdfSw2Mjg1ODIoZSl7ZS5leHBvcnRzPVsiVGgiXX0sOTM5MzI5KGUpe2UuZXhwb3J0cz1bIlR1Il19LDc4NDkxMChlKXtlLmV4cG9ydHM9WyJBZ2ciXX0sMTkzNzI4KGUpe2UuZXhwb3J0cz1bIkFnZ3JlZ2F0ZWQiXX0sNzMwOTY2KGUpe2UuZXhwb3J0cz1bIk5vQWdnIl19LDM2MDgyMChlKXtlLmV4cG9ydHM9WyJOb24tYWdncmVnYXRlZCJdfSwzNDY0MjEoZSl7ZS5leHBvcnRzPVsiQW5udWFsIl19LDY3OTk5MShlKXtlLmV4cG9ydHM9WyJGSCJdfSwyOTUyODgoZSl7ZS5leHBvcnRzPVsiRlEiXX0sMzI0NjE0KGUpe2UuZXhwb3J0cz1bIkZZIl19LDkwMDU4MihlKXtlLmV4cG9ydHM9WyJONEZIIl19LDU3MTA0MChlKXtlLmV4cG9ydHM9WyJONEZRIl19LDE5NzkzMChlKXtlLmV4cG9ydHM9WyJONEZZIl19LDMzNDkyOShlKXtlLmV4cG9ydHM9WyJORkgiXX0sODY2MDUwKGUpe2UuZXhwb3J0cz1bIk5GUSJdfSw1ODc4ODIoZSl7ZS5leHBvcnRzPVsiTkZZIl19LDI4Nzk0OShlKXtlLmV4cG9ydHM9WyJOVE0iXX0sNDQyNTExKGUpe2UuZXhwb3J0cz1bIk5leHQgdHdlbHZlIG1vbnRocyJdfSw2MTE2NDAoZSl7ZS5leHBvcnRzPVsiU2VtaWFubnVhbCJdfSwyMzM4NTYoZSl7ZS5leHBvcnRzPVsiUXVhcnRlcmx5Il19LDU4ODIyMShlKXtlLmV4cG9ydHM9WyJUVE0iXX0sMTkxNDMyKGUpe2UuZXhwb3J0cz1bIkQiXX0sODg5MTAoZSl7ZS5leHBvcnRzPVsiTSJdfSwyODExMDcoZSl7CmUuZXhwb3J0cz1bIlIiXX0sMjE4MDM2KGUpe2UuZXhwb3J0cz1bIlQiXX0sMzIzNTcwKGUpe2UuZXhwb3J0cz1bIlciXX0sMjQwNzMoZSl7ZS5leHBvcnRzPVsiaCJdfSw2MTg0KGUpe2UuZXhwb3J0cz1bIm0iXX0sMzkwODA5KGUpe2UuZXhwb3J0cz1bInMiXX0sMjI5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sOTU0NjE0KGUpe2UuZXhwb3J0cz1bIkgiXX0sNjY2NzMwKGUpe2UuZXhwb3J0cz1bIkhMMiJdfSwxMDAzNChlKXtlLmV4cG9ydHM9WyJITEMzIl19LDE0MzgxNShlKXtlLmV4cG9ydHM9WyJPSExDNCJdfSw4Mzk0NjMoZSl7ZS5leHBvcnRzPVsiTCJdfSw5NjA1MTMoZSl7ZS5leHBvcnRzPVsiTyJdfSwzMjUxMTgoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyJFbnRlciB2YWx1ZV9pbnB1dCJdPVsiRW50ZXIgdmFsdWUiXSxlLmV4cG9ydHMuU2VhcmNoX2lucHV0PVsiU2VhcmNoIl0sZS5leHBvcnRzWyIlRCBMZW5ndGhfaW5wdXQiXT1bIiVEIExlbmd0aCJdLGUuZXhwb3J0c1siJUQgU21vb3RoaW5nX2lucHV0Il09WyIlRCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIiVEX2lucHV0Il09WyIlRCJdLGUuZXhwb3J0c1siJUsgTGVuZ3RoX2lucHV0Il09WyIlSyBMZW5ndGgiXSxlLmV4cG9ydHNbIiVLIFNtb290aGluZ19pbnB1dCJdPVsiJUsgU21vb3RoaW5nIl0sZS5leHBvcnRzWyIlS19pbnB1dCJdPVsiJUsiXSxlLmV4cG9ydHNbIiVSX2lucHV0Il09WyIlUiJdLGUuZXhwb3J0c1siK0RJX2lucHV0Il09WyIrREkiXSxlLmV4cG9ydHNbIi0wLjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiLTAuMjM2IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyItMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIi0wLjM4MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLTAuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyItMC42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIi0wLjY1IExldmVsIENvbG9yX2lucHV0Il09WyItMC42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLURJX2lucHV0Il09WyItREkiXSxlLmV4cG9ydHNbIjAgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjAuMjM2IExldmVsIENvbG9yX2lucHV0Il09WyIwLjIzNiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuMzgyIExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIwLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjc4NiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMC43ODYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuMjcyIExldmVsIENvbG9yX2lucHV0Il09WyIxLjI3MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMS40MTQgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNDE0IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIxLjYxOCBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMS42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuNjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNjUgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjFzdCBQZXJpb2RfaW5wdXQiXT1bIjFzdCBQZXJpb2QiXSxlLmV4cG9ydHNbIjIuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyIyLjYxOCBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMi42NSBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMi42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMm5kIFBlcmlvZF9pbnB1dCJdPVsiMm5kIFBlcmlvZCJdLGUuZXhwb3J0c1siMy42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjMuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIzLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzcmQgUGVyaW9kX2lucHV0Il09WyIzcmQgUGVyaW9kIl0sZS5leHBvcnRzWyI0LjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiNC4yMzYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjR0aCBQZXJpb2RfaW5wdXQiXT1bIjR0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjV0aCBQZXJpb2RfaW5wdXQiXT1bIjV0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjZ0aCBQZXJpb2RfaW5wdXQiXT1bIjZ0aCBQZXJpb2QiXSxlLmV4cG9ydHMuQURSX0JfaW5wdXQ9WyJBRFJfQiJdLGUuZXhwb3J0c1siQURYIFNtb290aGluZ19pbnB1dCJdPVsiQURYIFNtb290aGluZyJdLGUuZXhwb3J0c1siQURYIHNtb290aGluZ19pbnB1dCJdPVsiQURYIHNtb290aGluZyJdLGUuZXhwb3J0cy5BRFhfaW5wdXQ9WyJBRFgiXSxlLmV4cG9ydHNbIkFUUiBDb2VmZmljaWVudCAoeClfaW5wdXQiXT1bIkFUUiBDb2VmZmljaWVudCAoeCkiXSxlLmV4cG9ydHNbIkFUUiBMZW5ndGggKHApX2lucHV0Il09WyJBVFIgTGVuZ3RoIChwKSJdLGUuZXhwb3J0c1siQVRSIExlbmd0aF9pbnB1dCJdPVsiQVRSIExlbmd0aCJdLGUuZXhwb3J0c1siQVRSIE11bHRfaW5wdXQiXT1bIkFUUiBNdWx0Il0sZS5leHBvcnRzWyJBVFIgTXVsdGlwbGllcl9pbnB1dCJdPVsiQVRSIE11bHRpcGxpZXIiXSxlLmV4cG9ydHNbIkFUUiBsZW5ndGhfaW5wdXQiXT1bIkFUUiBsZW5ndGgiXSxlLmV4cG9ydHNbIkFUUih7YXRyVmFsdWV9KV9pbnB1dCJdPVsiQVRSKHthdHJWYWx1ZX0pIl0sZS5leHBvcnRzLkFUUl9pbnB1dD1bIkFUUiJdLGUuZXhwb3J0cy5BYnNvbHV0ZV9pbnB1dD1bIkFic29sdXRlIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX2lucHV0Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBZGRpdGlvbmFsIHNldHRpbmdzX2lucHV0Il09WyJBZGRpdGlvbmFsIHNldHRpbmdzIl0sZS5leHBvcnRzWyJBZGp1c3QgVW5jb25maXJtZWRfaW5wdXQiXT1bIkFkanVzdCBVbmNvbmZpcm1lZCJdLAplLmV4cG9ydHNbIkFsbCBpdGVtc19jb21ib2JveF9pbnB1dCJdPVsiQWxsIGl0ZW1zIl0sZS5leHBvcnRzLkFsbF9pbnB1dD1bIkFsbCJdLGUuZXhwb3J0c1siQW5jaG9yIFBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIFBlcmlvZCJdLGUuZXhwb3J0c1siQW5jaG9yIFRpbWVmcmFtZV9pbnB1dCJdPVsiQW5jaG9yIFRpbWVmcmFtZSJdLGUuZXhwb3J0c1siQW5jaG9yIHBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIHBlcmlvZCJdLGUuZXhwb3J0c1siQW5vdGhlciBzeW1ib2xfaW5wdXQiXT1bIkFub3RoZXIgc3ltYm9sIl0sZS5leHBvcnRzWyJBcm9vbiBEb3duX2lucHV0Il09WyJBcm9vbiBEb3duIl0sZS5leHBvcnRzWyJBcm9vbiBVcF9pbnB1dCJdPVsiQXJvb24gVXAiXSxlLmV4cG9ydHNbIkFycm93IChib3RoKV9pbnB1dCJdPVsiQXJyb3cgKGJvdGgpIl0sZS5leHBvcnRzWyJBcnJvdyAobGVmdClfaW5wdXQiXT1bIkFycm93IChsZWZ0KSJdLGUuZXhwb3J0c1siQXJyb3cgKHJpZ2h0KV9pbnB1dCJdPVsiQXJyb3cgKHJpZ2h0KSJdLGUuZXhwb3J0cy5BdXRvVGltZWZyYW1lX2lucHV0PVsiQXV0b1RpbWVmcmFtZSJdLGUuZXhwb3J0cy5BdXRvX2lucHV0PVsiQXV0byJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX2lucHV0Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHMuQXZlcmFnZV9pbnB1dD1bIkF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2luZyBQZXJpb2RzX2lucHV0Il09WyJBdmVyYWdpbmcgUGVyaW9kcyJdLGUuZXhwb3J0c1siQXdhaXRpbmcgYW5kIFJlYWNoZWRfaW5wdXQiXT1bIkF3YWl0aW5nIGFuZCBSZWFjaGVkIl0sZS5leHBvcnRzWyJCQiBTdGREZXZfaW5wdXQiXT1bIkJCIFN0ZERldiJdLGUuZXhwb3J0cy5CYWNrX2lucHV0PVsiQmFjayJdLGUuZXhwb3J0c1siQmFja2dyb3VuZCBUcmFuc3BhcmVuY3lfaW5wdXQiXT1bIkJhY2tncm91bmQgVHJhbnNwYXJlbmN5Il0sZS5leHBvcnRzLkJhY2tncm91bmRfaW5wdXQ9WyJCYWNrZ3JvdW5kIl0sZS5leHBvcnRzWyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMxX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMxIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMyX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMyIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMzX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMzIl0sZS5leHBvcnRzWyJCYW5kcyBTZXR0aW5nc19pbnB1dCJdPVsiQmFuZHMgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkJhbmRzIFN0eWxlX2lucHV0Il09WyJCYW5kcyBTdHlsZSJdLGUuZXhwb3J0c1siQmFuZHMgc3R5bGVfaW5wdXQiXT1bIkJhbmRzIHN0eWxlIl0sZS5leHBvcnRzLkJhcl9pbnB1dD1bIkJhciJdLGUuZXhwb3J0c1siQmFycyBCYWNrX2lucHV0Il09WyJCYXJzIEJhY2siXSxlLmV4cG9ydHNbIkJhcnMgdG8gQnJlYWtvdXRfaW5wdXQiXT1bIkJhcnMgdG8gQnJlYWtvdXQiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBMZW5ndGhfaW5wdXQiXT1bIkJhc2UgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBQZXJpb2RzX2lucHV0Il09WyJCYXNlIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQmFzZSBMaW5lX2lucHV0Il09WyJCYXNlIExpbmUiXSxlLmV4cG9ydHNbIkJhc2lzIE1BIFR5cGVfaW5wdXQiXT1bIkJhc2lzIE1BIFR5cGUiXSxlLmV4cG9ydHMuQmFzaXNfaW5wdXQ9WyJCYXNpcyJdLGUuZXhwb3J0c1siQmVhcmlzaCBDb2xvcl9pbnB1dCJdPVsiQmVhcmlzaCBDb2xvciJdLGUuZXhwb3J0c1siQmVhcmlzaCBGbGFnX2lucHV0Il09WyJCZWFyaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJlYXJpc2ggUGVubmFudF9pbnB1dCJdPVsiQmVhcmlzaCBQZW5uYW50Il0sZS5leHBvcnRzLkJpeWVhcmx5X2lucHV0PVsiQml5ZWFybHkiXSxlLmV4cG9ydHNbIkJsb2NrIFNpemVfaW5wdXQiXT1bIkJsb2NrIFNpemUiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyAlQl9pbnB1dCJdPVsiQm9sbGluZ2VyIEJhbmRzICVCIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgV2lkdGhfaW5wdXQiXT1bIkJvbGxpbmdlciBCYW5kcyBXaWR0aCJdLGUuZXhwb3J0c1siQm9yZGVyIGFuZCBmaWxsIGNvbG9yc19pbnB1dCJdPVsiQm9yZGVyIGFuZCBmaWxsIGNvbG9ycyJdLGUuZXhwb3J0cy5Cb3JkZXJzX2lucHV0PVsiQm9yZGVycyJdLGUuZXhwb3J0cy5Cb3RoX2lucHV0PVsiQm90aCJdLGUuZXhwb3J0cy5Cb3R0b21zX2lucHV0PVsiQm90dG9tcyJdLGUuZXhwb3J0c1siQm94IHNpemUgYXNzaWdubWVudCBtZXRob2RfaW5wdXQiXT1bIkJveCBzaXplIGFzc2lnbm1lbnQgbWV0aG9kIl0sZS5leHBvcnRzWyJCb3ggc2l6ZV9pbnB1dCJdPVsiQm94IHNpemUiXSxlLmV4cG9ydHMuQm94ZXNfaW5wdXQ9WyJCb3hlcyJdLGUuZXhwb3J0c1siQnVsbGlzaCBDb2xvcl9pbnB1dCJdPVsiQnVsbGlzaCBDb2xvciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnX2lucHV0Il09WyJCdWxsaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJ1bGxpc2ggUGVubmFudF9pbnB1dCJdPVsiQnVsbGlzaCBQZW5uYW50Il0sZS5leHBvcnRzWyJDQ0kgMTQgTGVuZ3RoX2lucHV0Il09WyJDQ0kgMTQgTGVuZ3RoIl0sZS5leHBvcnRzWyJDQ0kgVHVyYm8gTGVuZ3RoX2lucHV0Il09WyJDQ0kgVHVyYm8gTGVuZ3RoIl0sZS5leHBvcnRzLkNDSV9pbnB1dD1bIkNDSSJdLGUuZXhwb3J0cy5DSE9QX2lucHV0PVsiQ0hPUCJdLGUuZXhwb3J0c1siQ2FsY3VsYXRlIERpdmVyZ2VuY2VfaW5wdXQiXT1bIkNhbGN1bGF0ZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzLkNhbGN1bGF0aW9uX2lucHV0PVsiQ2FsY3VsYXRpb24iXSxlLmV4cG9ydHMuQ2FtYXJpbGxhX2lucHV0PVsiQ2FtYXJpbGxhIl0sZS5leHBvcnRzLkNhbmNlbF9pbnB1dD1bIkNhbmNlbCJdLGUuZXhwb3J0cy5DYW5kbGVzX2lucHV0PVsiQ2FuZGxlcyJdLAplLmV4cG9ydHMuQ2VudGVyX2lucHV0PVsiQ2VudGVyIl0sZS5leHBvcnRzLkNlbnRlcmVkX2lucHV0PVsiQ2VudGVyZWQiXSxlLmV4cG9ydHMuQ2VudHVyeV9pbnB1dD1bIkNlbnR1cnkiXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9pbnB1dCJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFuZGUgTU9faW5wdXQiXT1bIkNoYW5kZSBNTyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBTZXR0aW5nc19pbnB1dCJdPVsiQ2hhbm5lbCBTZXR0aW5ncyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBXaWR0aCBSYXRpbyBTdGFydC9FbmRfaW5wdXQiXT1bIkNoYW5uZWwgV2lkdGggUmF0aW8gU3RhcnQvRW5kIl0sZS5leHBvcnRzLkNsYXNzaWNfaW5wdXQ9WyJDbGFzc2ljIl0sZS5leHBvcnRzWyJDbG9zZSBHYXBzIFBhcnRpYWxseV9pbnB1dCJdPVsiQ2xvc2UgR2FwcyBQYXJ0aWFsbHkiXSxlLmV4cG9ydHMuQ2xvc2VfaW5wdXQ9WyJDbG9zZSJdLGUuZXhwb3J0c1siQ29sb3IgMF9pbnB1dCJdPVsiQ29sb3IgMCJdLGUuZXhwb3J0c1siQ29sb3IgMV9pbnB1dCJdPVsiQ29sb3IgMSJdLGUuZXhwb3J0c1siQ29sb3IgMl9pbnB1dCJdPVsiQ29sb3IgMiJdLGUuZXhwb3J0c1siQ29sb3IgM19pbnB1dCJdPVsiQ29sb3IgMyJdLGUuZXhwb3J0c1siQ29sb3IgNF9pbnB1dCJdPVsiQ29sb3IgNCJdLGUuZXhwb3J0c1siQ29sb3IgNV9pbnB1dCJdPVsiQ29sb3IgNSJdLGUuZXhwb3J0c1siQ29sb3IgNl9pbnB1dCJdPVsiQ29sb3IgNiJdLGUuZXhwb3J0c1siQ29sb3IgN19pbnB1dCJdPVsiQ29sb3IgNyJdLGUuZXhwb3J0c1siQ29sb3IgOF9pbnB1dCJdPVsiQ29sb3IgOCJdLGUuZXhwb3J0c1siQ29sb3IgU2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIFNldHRpbmdzIl0sZS5leHBvcnRzWyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlX2lucHV0Il09WyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlIl0sZS5leHBvcnRzWyJDb2xvciBiYXNlZCBvbiBwcmV2aW91cyBjbG9zZV9pbnB1dCJdPVsiQ29sb3IgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiXSxlLmV4cG9ydHNbIkNvbG9yIGludGVuc2l0eSBjdXRvZmYgKCUpX2lucHV0Il09WyJDb2xvciBpbnRlbnNpdHkgY3V0b2ZmICglKSJdLGUuZXhwb3J0c1siQ29sb3Igc2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIHNldHRpbmdzIl0sZS5leHBvcnRzWyJDb25maXJtIGJhcnNfaW5wdXQiXT1bIkNvbmZpcm0gYmFycyJdLGUuZXhwb3J0c1siQ29uc2VjdXRpdmUgYmFycyBkb3duX2lucHV0Il09WyJDb25zZWN1dGl2ZSBiYXJzIGRvd24iXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIGJhcnMgdXBfaW5wdXQiXT1bIkNvbnNlY3V0aXZlIGJhcnMgdXAiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBMZW5ndGhfaW5wdXQiXT1bIkNvbnZlcnNpb24gTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBQZXJpb2RzX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQ29udmVyc2lvbiBMaW5lX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUiXSxlLmV4cG9ydHMuQ29ycmVjdGl2ZV9pbnB1dD1bIkNvcnJlY3RpdmUiXSxlLmV4cG9ydHMuQ29ycmVsYXRpb25faW5wdXQ9WyJDb3JyZWxhdGlvbiJdLGUuZXhwb3J0cy5Db3VudF9pbnB1dD1bIkNvdW50Il0sZS5leHBvcnRzLkNyb3NzZXNfaW5wdXQ9WyJDcm9zc2VzIl0sZS5leHBvcnRzLkN1bXVsYXRpdmVfaW5wdXQ9WyJDdW11bGF0aXZlIl0sZS5leHBvcnRzWyJDdXAgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJDdXAgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkN1c3RvbSBzZXNzaW9uX2lucHV0Il09WyJDdXN0b20gc2Vzc2lvbiJdLGUuZXhwb3J0cy5DdXN0b21faW5wdXQ9WyJDdXN0b20iXSxlLmV4cG9ydHMuREVNQV9pbnB1dD1bIkRFTUEiXSxlLmV4cG9ydHNbIkRJIExlbmd0aF9pbnB1dCJdPVsiREkgTGVuZ3RoIl0sZS5leHBvcnRzLkRNX2lucHV0PVsiRE0iXSxlLmV4cG9ydHMuRFBPX2lucHV0PVsiRFBPIl0sZS5leHBvcnRzLkRfaW5wdXQ9WyJEIl0sZS5leHBvcnRzLkRhaWx5X2lucHV0PVsiRGFpbHkiXSxlLmV4cG9ydHMuRGFzaGVkX2lucHV0PVsiRGFzaGVkIl0sZS5leHBvcnRzLkRheV9pbnB1dD1bIkRheSJdLGUuZXhwb3J0c1siRGF5cyBCYWNrX2lucHV0Il09WyJEYXlzIEJhY2siXSxlLmV4cG9ydHNbIkRheXMgUGVyIFllYXJfaW5wdXQiXT1bIkRheXMgUGVyIFllYXIiXSxlLmV4cG9ydHMuRGVjYWRlX2lucHV0PVsiRGVjYWRlIl0sZS5leHBvcnRzLkRlY2VubmlhbGx5X2lucHV0PVsiRGVjZW5uaWFsbHkiXSxlLmV4cG9ydHMuRGVmYXVsdF9pbnB1dD1bIkRlZmF1bHQiXSxlLmV4cG9ydHMuRGVsdGFfaW5wdXQ9WyJEZWx0YSJdLGUuZXhwb3J0cy5EZXB0aF9pbnB1dD1bIkRlcHRoIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9pbnB1dCJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRldmVsb3BpbmcgUG9jX2lucHV0Il09WyJEZXZlbG9waW5nIFBvYyJdLGUuZXhwb3J0c1siRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiRGV2aWF0aW9uICglKSJdLGUuZXhwb3J0cy5EZXZpYXRpb25faW5wdXQ9WyJEZXZpYXRpb24iXSxlLmV4cG9ydHNbIkRpc3BsYXkgU2V0dGluZ3NfaW5wdXQiXT1bIkRpc3BsYXkgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWVfaW5wdXQiXT1bIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWUiXSxlLmV4cG9ydHNbIkRpc3BsYXkgcmV2ZXJzYWwgcHJpY2UgY2hhbmdlX2lucHV0Il09WyJEaXNwbGF5IHJldmVyc2FsIHByaWNlIGNoYW5nZSJdLGUuZXhwb3J0c1siRGlzcGxheSByZXZlcnNhbCBwcmljZV9pbnB1dCJdPVsiRGlzcGxheSByZXZlcnNhbCBwcmljZSJdLGUuZXhwb3J0c1siRGlzcGxheWVkIG5hbWVfaW5wdXQiXT1bIkRpc3BsYXllZCBuYW1lIl0sCmUuZXhwb3J0cy5EaXZpZGVuZHNfaW5wdXQ9WyJEaXZpZGVuZHMiXSxlLmV4cG9ydHMuRGl2aXNvcl9pbnB1dD1bIkRpdmlzb3IiXSxlLmV4cG9ydHMuRG90dGVkX2lucHV0PVsiRG90dGVkIl0sZS5leHBvcnRzWyJEb3VibGUgQm90dG9tX2lucHV0Il09WyJEb3VibGUgQm90dG9tIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wX2lucHV0Il09WyJEb3VibGUgVG9wIl0sZS5leHBvcnRzWyJEb3duIEdhcHNfaW5wdXQiXT1bIkRvd24gR2FwcyJdLGUuZXhwb3J0c1siRG93biBWb2x1bWVfaW5wdXQiXT1bIkRvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJEb3duIGJhcnNfaW5wdXQiXT1bIkRvd24gYmFycyJdLGUuZXhwb3J0c1siRG93biBjb2xvcl9pbnB1dCJdPVsiRG93biBjb2xvciJdLGUuZXhwb3J0c1siRG93biBmcmFjdGFsc19pbnB1dCJdPVsiRG93biBmcmFjdGFscyJdLGUuZXhwb3J0c1siRHJhdyBzZXNzaW9uIG9wZW4gYW5kIGNsb3NlIGxpbmVzX2lucHV0Il09WyJEcmF3IHNlc3Npb24gb3BlbiBhbmQgY2xvc2UgbGluZXMiXSxlLmV4cG9ydHNbIkVNQSBMZW5ndGhfaW5wdXQiXT1bIkVNQSBMZW5ndGgiXSxlLmV4cG9ydHMuRU1BX2lucHV0PVsiRU1BIl0sZS5leHBvcnRzLkVPTV9pbnB1dD1bIkVPTSJdLGUuZXhwb3J0c1siRWFjaCAocHJlLW1hcmtldCwgbWFya2V0LCBwb3N0LW1hcmtldClfaW5wdXQiXT1bIkVhY2ggKHByZS1tYXJrZXQsIG1hcmtldCwgcG9zdC1tYXJrZXQpIl0sZS5leHBvcnRzLkVhcm5pbmdzX2lucHV0PVsiRWFybmluZ3MiXSxlLmV4cG9ydHNbIkVsZGVyJ3MgRm9yY2UgSW5kZXhfaW5wdXQiXT1bIkVsZGVyJ3MgRm9yY2UgSW5kZXgiXSxlLmV4cG9ydHNbIkVxdWFsaXR5IExpbmVfaW5wdXQiXT1bIkVxdWFsaXR5IExpbmUiXSxlLmV4cG9ydHMuRXhjaGFuZ2VfaW5wdXQ9WyJFeGNoYW5nZSJdLGUuZXhwb3J0cy5FeHBvbmVudGlhbF9pbnB1dD1bIkV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJFeHRlbmQgTGluZXMgTGVmdF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIExlZnQiXSxlLmV4cG9ydHNbIkV4dGVuZCBMaW5lcyBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUE9DIFJpZ2h0X2lucHV0Il09WyJFeHRlbmQgUE9DIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUmlnaHRfaW5wdXQiXT1bIkV4dGVuZCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBSCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBSCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBTCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBTCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIGxlZnRfaW5wdXQiXT1bIkV4dGVuZCBsZWZ0Il0sZS5leHBvcnRzWyJFeHRlbmQgdG8gbGFzdCBiYXJfaW5wdXQiXT1bIkV4dGVuZCB0byBsYXN0IGJhciJdLGUuZXhwb3J0cy5GYWN0b3JfaW5wdXQ9WyJGYWN0b3IiXSxlLmV4cG9ydHNbIkZhbGwgQm9keV9pbnB1dCJdPVsiRmFsbCBCb2R5Il0sZS5leHBvcnRzWyJGYWxsaW5nIFdlZGdlX2lucHV0Il09WyJGYWxsaW5nIFdlZGdlIl0sZS5leHBvcnRzLkZhbGxpbmdfaW5wdXQ9WyJGYWxsaW5nIl0sZS5leHBvcnRzWyJGYXN0IExlbmd0aF9pbnB1dCJdPVsiRmFzdCBMZW5ndGgiXSxlLmV4cG9ydHNbIkZhc3QgTUEgUGVyaW9kX2lucHV0Il09WyJGYXN0IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siRmFzdCBsZW5ndGhfaW5wdXQiXT1bIkZhc3QgbGVuZ3RoIl0sZS5leHBvcnRzLkZpYm9uYWNjaV9pbnB1dD1bIkZpYm9uYWNjaSJdLGUuZXhwb3J0cy5GaWxsX2lucHV0PVsiRmlsbCJdLGUuZXhwb3J0c1siRmlyc3QgU2Vzc2lvbl9pbnB1dCJdPVsiRmlyc3QgU2Vzc2lvbiJdLGUuZXhwb3J0cy5GaXNoZXJfaW5wdXQ9WyJGaXNoZXIiXSxlLmV4cG9ydHMuRmxhZ19pbnB1dD1bIkZsYWciXSxlLmV4cG9ydHMuRnJvbV9pbnB1dD1bIkZyb20iXSxlLmV4cG9ydHNbIkdyYXBoaWMgb2JqZWN0c19pbnB1dCJdPVsiR3JhcGhpYyBvYmplY3RzIl0sZS5leHBvcnRzLkdyb3dpbmdfaW5wdXQ9WyJHcm93aW5nIl0sZS5leHBvcnRzWyJHcm93dGggQm9keV9pbnB1dCJdPVsiR3Jvd3RoIEJvZHkiXSxlLmV4cG9ydHNbIkhMQyBiYXJzX2lucHV0Il09WyJITEMgYmFycyJdLGUuZXhwb3J0cy5IVl9pbnB1dD1bIkhWIl0sZS5leHBvcnRzWyJIYW5kbGUgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJIYW5kbGUgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnNfaW5wdXQiXT1bIkhlYWQgYW5kIFNob3VsZGVycyJdLGUuZXhwb3J0cy5IZWFkZXJzX2lucHV0PVsiSGVhZGVycyJdLGUuZXhwb3J0c1siSGVhdG1hcCBzZXR0aW5nc19pbnB1dCJdPVsiSGVhdG1hcCBzZXR0aW5ncyJdLGUuZXhwb3J0c1siSGVpa2luIEFzaGkgUmFuZ2VfaW5wdXQiXT1bIkhlaWtpbiBBc2hpIFJhbmdlIl0sZS5leHBvcnRzWyJIaWRlIFZXQVAgb24gMUQgb3IgQWJvdmVfaW5wdXQiXT1bIkhpZGUgVldBUCBvbiAxRCBvciBBYm92ZSJdLGUuZXhwb3J0c1siSGlnaC9Mb3cgUmFuZ2VfaW5wdXQiXT1bIkhpZ2gvTG93IFJhbmdlIl0sZS5leHBvcnRzLkhpZ2hlcl9pbnB1dD1bIkhpZ2hlciJdLGUuZXhwb3J0c1siSGlnaGVzdCBFeHBhbnNpb24gTGVuZ3RoX2lucHV0Il09WyJIaWdoZXN0IEV4cGFuc2lvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkhpZ2hlc3QgSGlnaF9pbnB1dCJdPVsiSGlnaGVzdCBIaWdoIl0sZS5leHBvcnRzWyJIaWdoZXN0IFZvbHVtZV9pbnB1dCJdPVsiSGlnaGVzdCBWb2x1bWUiXSxlLmV4cG9ydHNbIkhpc3RvZ3JhbSBCb3hfaW5wdXQiXT1bIkhpc3RvZ3JhbSBCb3giXSxlLmV4cG9ydHMuSGlzdG9ncmFtX2lucHV0PVsiSGlzdG9ncmFtIl0sZS5leHBvcnRzLkhvdXJfaW5wdXQ9WyJIb3VyIl0sZS5leHBvcnRzWyJIdWxsIE1BX2lucHV0Il09WyJIdWxsIE1BIl0sZS5leHBvcnRzWyJJZ25vcmVkIG1vbnRoc19pbnB1dCJdPVsiSWdub3JlZCBtb250aHMiXSxlLmV4cG9ydHNbIkluIFByb2dyZXNzX2lucHV0Il09WyJJbiBQcm9ncmVzcyJdLAplLmV4cG9ydHNbIkluY2x1ZGUgQ2hhcnQgU3ltYm9sX2lucHV0Il09WyJJbmNsdWRlIENoYXJ0IFN5bWJvbCJdLGUuZXhwb3J0cy5JbmNyZW1lbnRfaW5wdXQ9WyJJbmNyZW1lbnQiXSxlLmV4cG9ydHNbIkluZGljYXRvciBUaW1lZnJhbWVfaW5wdXQiXT1bIkluZGljYXRvciBUaW1lZnJhbWUiXSxlLmV4cG9ydHMuSW5kaWNhdG9yX2lucHV0PVsiSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJJbnB1dCB2YWx1ZXNfaW5wdXQiXT1bIklucHV0IHZhbHVlcyJdLGUuZXhwb3J0cy5JbnNpZGVfaW5wdXQ9WyJJbnNpZGUiXSxlLmV4cG9ydHNbIkluc3RydW1lbnQgMV9pbnB1dCJdPVsiSW5zdHJ1bWVudCAxIl0sZS5leHBvcnRzWyJJbnN0cnVtZW50IDJfaW5wdXQiXT1bIkluc3RydW1lbnQgMiJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1heGltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1heGltYSJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1pbmltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1pbmltYSJdLGUuZXhwb3J0c1siSW52ZXJ0IFBhdHRlcm5faW5wdXQiXT1bIkludmVydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiSW52ZXJ0ZWQgQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkludmVydGVkIEhlYWQgYW5kIFNob3VsZGVyc19pbnB1dCJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgMSBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDIgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgMiBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDMgbGVuZ3RoIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgNCBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDUgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgNSBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDYgbGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgTGVuZ3RoX2lucHV0Il09WyJKYXcgTGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgT2Zmc2V0X2lucHV0Il09WyJKYXcgT2Zmc2V0Il0sZS5leHBvcnRzLkphd19pbnB1dD1bIkphdyJdLGUuZXhwb3J0cy5LUGVyaW9kX2lucHV0PVsiS1BlcmlvZCJdLGUuZXhwb3J0cy5LU1RfaW5wdXQ9WyJLU1QiXSxlLmV4cG9ydHMuS19pbnB1dD1bIksiXSxlLmV4cG9ydHNbIkxFTkdUSCBMRUZUIC8gUklHSFRfaW5wdXQiXT1bIkxFTkdUSCBMRUZUIC8gUklHSFQiXSxlLmV4cG9ydHNbIkxhYmVscyBQb3NpdGlvbl9pbnB1dCJdPVsiTGFiZWxzIFBvc2l0aW9uIl0sZS5leHBvcnRzWyJMYWJlbHMgb24gcHJpY2Ugc2NhbGVfaW5wdXQiXT1bIkxhYmVscyBvbiBwcmljZSBzY2FsZSJdLGUuZXhwb3J0cy5MYWJlbHNfaW5wdXQ9WyJMYWJlbHMiXSxlLmV4cG9ydHNbIkxhZ2dpbmcgU3BhbiBQZXJpb2RzX2lucHV0Il09WyJMYWdnaW5nIFNwYW4gUGVyaW9kcyJdLGUuZXhwb3J0c1siTGFnZ2luZyBTcGFuX2lucHV0Il09WyJMYWdnaW5nIFNwYW4iXSxlLmV4cG9ydHMuTGFyZ2VfaW5wdXQ9WyJMYXJnZSJdLGUuZXhwb3J0c1siTGFzdCBBd2FpdGluZ19pbnB1dCJdPVsiTGFzdCBBd2FpdGluZyJdLGUuZXhwb3J0c1siTGVhZGluZyBTaGlmdCBQZXJpb2RzX2lucHV0Il09WyJMZWFkaW5nIFNoaWZ0IFBlcmlvZHMiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBBX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQSJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIEIgTGVuZ3RoX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBCX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIFBlcmlvZHNfaW5wdXQiXT1bIkxlYWRpbmcgU3BhbiBQZXJpb2RzIl0sZS5leHBvcnRzLkxlZnRfaW5wdXQ9WyJMZWZ0Il0sZS5leHBvcnRzWyJMZW5ndGggRU1BX2lucHV0Il09WyJMZW5ndGggRU1BIl0sZS5leHBvcnRzWyJMZW5ndGggTUFfaW5wdXQiXT1bIkxlbmd0aCBNQSJdLGUuZXhwb3J0c1siTGVuZ3RoIHR5cGVfaW5wdXQiXT1bIkxlbmd0aCB0eXBlIl0sZS5leHBvcnRzLkxlbmd0aDFfaW5wdXQ9WyJMZW5ndGgxIl0sZS5leHBvcnRzLkxlbmd0aDJfaW5wdXQ9WyJMZW5ndGgyIl0sZS5leHBvcnRzLkxlbmd0aDNfaW5wdXQ9WyJMZW5ndGgzIl0sZS5leHBvcnRzLkxlbmd0aF9pbnB1dD1bIkxlbmd0aCJdLGUuZXhwb3J0cy5MZXZlbF9pbnB1dD1bIkxldmVsIl0sZS5leHBvcnRzWyJMZXZlbHMgRm9ybWF0X2lucHV0Il09WyJMZXZlbHMgRm9ybWF0Il0sZS5leHBvcnRzWyJMaW1pdCBNYXggR2FwIFRyYWlsIExlbmd0aCAoYmFycylfaW5wdXQiXT1bIkxpbWl0IE1heCBHYXAgVHJhaWwgTGVuZ3RoIChiYXJzKSJdLGUuZXhwb3J0cy5MaW1pdF9pbnB1dD1bIkxpbWl0Il0sZS5leHBvcnRzWyJMaW5lIFNpemVfaW5wdXQiXT1bIkxpbmUgU2l6ZSJdLGUuZXhwb3J0c1siTGluZSBXaWR0aF9pbnB1dCJdPVsiTGluZSBXaWR0aCJdLGUuZXhwb3J0c1siTGluZSBjb2xvcl9pbnB1dCJdPVsiTGluZSBjb2xvciJdLGUuZXhwb3J0c1siTGluZSBmaWxsc19pbnB1dCJdPVsiTGluZSBmaWxscyJdLGUuZXhwb3J0cy5MaW5lX2lucHV0PVsiTGluZSJdLGUuZXhwb3J0cy5MaW5lc19pbnB1dD1bIkxpbmVzIl0sZS5leHBvcnRzWyJMaXBzIExlbmd0aF9pbnB1dCJdPVsiTGlwcyBMZW5ndGgiXSxlLmV4cG9ydHNbIkxpcHMgT2Zmc2V0X2lucHV0Il09WyJMaXBzIE9mZnNldCJdLGUuZXhwb3J0cy5MaXBzX2lucHV0PVsiTGlwcyJdLGUuZXhwb3J0c1siTG9uZyBCQiBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBMZW5ndGgiXSwKZS5leHBvcnRzWyJMb25nIE1BIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvbmcgUkNJIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIFJvQyBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgUm9DIExlbmd0aCJdLGUuZXhwb3J0c1siTG9uZyBsZW5ndGhfaW5wdXQiXT1bIkxvbmcgbGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIHBlcmlvZF9pbnB1dCJdPVsiTG9uZyBwZXJpb2QiXSxlLmV4cG9ydHMuTG9uZ19pbnB1dD1bIkxvbmciXSxlLmV4cG9ydHNbIkxvd2VyIEJhbmRfaW5wdXQiXT1bIkxvd2VyIEJhbmQiXSxlLmV4cG9ydHNbIkxvd2VyIERldmlhdGlvbl9pbnB1dCJdPVsiTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJMb3dlciBQZXJjZW50YWdlX2lucHV0Il09WyJMb3dlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLkxvd2VyTGltaXRfaW5wdXQ9WyJMb3dlckxpbWl0Il0sZS5leHBvcnRzLkxvd2VyX2lucHV0PVsiTG93ZXIiXSxlLmV4cG9ydHNbIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGhfaW5wdXQiXT1bIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvd2VzdCBMb3dfaW5wdXQiXT1bIkxvd2VzdCBMb3ciXSxlLmV4cG9ydHNbIk1BICMxX2lucHV0Il09WyJNQSAjMSJdLGUuZXhwb3J0c1siTUEgIzJfaW5wdXQiXT1bIk1BICMyIl0sZS5leHBvcnRzWyJNQSAjM19pbnB1dCJdPVsiTUEgIzMiXSxlLmV4cG9ydHNbIk1BICM0X2lucHV0Il09WyJNQSAjNCJdLGUuZXhwb3J0c1siTUEgTGVuZ3RoX2lucHV0Il09WyJNQSBMZW5ndGgiXSxlLmV4cG9ydHMuTUFDRF9pbnB1dD1bIk1BQ0QiXSxlLmV4cG9ydHMuTUFfaW5wdXQ9WyJNQSJdLGUuZXhwb3J0cy5NQXNfaW5wdXQ9WyJNQXMiXSxlLmV4cG9ydHMuTUZfaW5wdXQ9WyJNRiJdLGUuZXhwb3J0cy5NTV9tb250aF9pbnB1dD1bIk1NIl0sZS5leHBvcnRzLk1PTV9pbnB1dD1bIk1PTSJdLGUuZXhwb3J0c1siTWFpbiBXYXZlc19pbnB1dCJdPVsiTWFpbiBXYXZlcyJdLGUuZXhwb3J0c1siTWFpbiBjaGFydCBzeW1ib2xfaW5wdXQiXT1bIk1haW4gY2hhcnQgc3ltYm9sIl0sZS5leHBvcnRzLk1hbnVhbF9pbnB1dD1bIk1hbnVhbCJdLGUuZXhwb3J0c1siTWFya2V0IENsb3NlZCBQZXJjZW50YWdlX2lucHV0Il09WyJNYXJrZXQgQ2xvc2VkIFBlcmNlbnRhZ2UiXSxlLmV4cG9ydHNbIk1hcmtldCBvbmx5X2lucHV0Il09WyJNYXJrZXQgb25seSJdLGUuZXhwb3J0c1siTWF4IE51bWJlciBvZiBHYXBzX2lucHV0Il09WyJNYXggTnVtYmVyIG9mIEdhcHMiXSxlLmV4cG9ydHNbIk1heCBSb2xsYmFja19pbnB1dCJdPVsiTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJNYXggaW50cmFkYXkgZmlsbGVkIG9yZGVyc19pbnB1dCJdPVsiTWF4IGludHJhZGF5IGZpbGxlZCBvcmRlcnMiXSxlLmV4cG9ydHNbIk1heCBpbnRyYWRheSBsb3NzICglKV9pbnB1dCJdPVsiTWF4IGludHJhZGF5IGxvc3MgKCUpIl0sZS5leHBvcnRzWyJNYXggb2YgTG9va2JhY2sgUmFuZ2VfaW5wdXQiXT1bIk1heCBvZiBMb29rYmFjayBSYW5nZSJdLGUuZXhwb3J0c1siTWF4IHZhbHVlX2lucHV0Il09WyJNYXggdmFsdWUiXSxlLmV4cG9ydHNbIk1lZGlhbiBMZW5ndGhfaW5wdXQiXT1bIk1lZGlhbiBMZW5ndGgiXSxlLmV4cG9ydHNbIk1lZGlhbiBTb3VyY2VfaW5wdXQiXT1bIk1lZGlhbiBTb3VyY2UiXSxlLmV4cG9ydHMuTWVkaWFuX2lucHV0PVsiTWVkaWFuIl0sZS5leHBvcnRzLk1ldGhvZF9pbnB1dD1bIk1ldGhvZCJdLGUuZXhwb3J0c1siTWlkZGxlIExlbmd0aF9pbnB1dCJdPVsiTWlkZGxlIExlbmd0aCJdLGUuZXhwb3J0c1siTWlkZGxlIFJDSSBMZW5ndGhfaW5wdXQiXT1bIk1pZGRsZSBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzLk1pZGRsZV9pbnB1dD1bIk1pZGRsZSJdLGUuZXhwb3J0c1siTWluIG9mIExvb2tiYWNrIFJhbmdlX2lucHV0Il09WyJNaW4gb2YgTG9va2JhY2sgUmFuZ2UiXSxlLmV4cG9ydHNbIk1pbmltYWwgRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiTWluaW1hbCBEZXZpYXRpb24gKCUpIl0sZS5leHBvcnRzLk1pbmltaXplX2lucHV0PVsiTWluaW1pemUiXSxlLmV4cG9ydHMuTWludXRlX2lucHV0PVsiTWludXRlIl0sZS5leHBvcnRzWyJNb2RpZmllZCBTY2hpZmZfaW5wdXQiXT1bIk1vZGlmaWVkIFNjaGlmZiJdLGUuZXhwb3J0c1siTW9tZW50dW0gUGVyaW9kX2lucHV0Il09WyJNb21lbnR1bSBQZXJpb2QiXSxlLmV4cG9ydHMuTW9udGhfaW5wdXQ9WyJNb250aCJdLGUuZXhwb3J0cy5Nb250aGx5X2lucHV0PVsiTW9udGhseSJdLGUuZXhwb3J0cy5Nb3RpdmVfaW5wdXQ9WyJNb3RpdmUiXSxlLmV4cG9ydHMuTW92ZV9pbnB1dD1bIk1vdmUiXSxlLmV4cG9ydHNbIk11bHRpIHRpbWVmcmFtZV9pbnB1dCJdPVsiTXVsdGkgdGltZWZyYW1lIl0sZS5leHBvcnRzLk11bHRpcGxpZXJfaW5wdXQ9WyJNdWx0aXBsaWVyIl0sZS5leHBvcnRzLk5WX2lucHV0PVsiTlYiXSxlLmV4cG9ydHNbIk5lY2sgbGluZV9pbnB1dCJdPVsiTmVjayBsaW5lIl0sZS5leHBvcnRzWyJOZWdhdGl2ZSBDb2xvcl9pbnB1dCJdPVsiTmVnYXRpdmUgQ29sb3IiXSxlLmV4cG9ydHMuTm9uZV9pbnB1dD1bIk5vbmUiXSxlLmV4cG9ydHNbIk5vdCBzZWxlY3RlZF9pbnB1dCJdPVsiTm90IHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOb3RoaW5nIHNlbGVjdGVkX2NvbWJvYm94X2lucHV0Il09WyJOb3RoaW5nIHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOdW1iZXIgT2YgUm93c19pbnB1dCJdPVsiTnVtYmVyIE9mIFJvd3MiXSxlLmV4cG9ydHNbIk51bWJlciBvZiBQaXZvdHMgQmFja19pbnB1dCJdPVsiTnVtYmVyIG9mIFBpdm90cyBCYWNrIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgbGluZV9pbnB1dCJdPVsiTnVtYmVyIG9mIGxpbmUiXSxlLmV4cG9ydHMuT1NDX2lucHV0PVsiT1NDIl0sZS5leHBvcnRzLk9mZnNldF9pbnB1dD1bIk9mZnNldCJdLGUuZXhwb3J0cy5PbkJhbGFuY2VWb2x1bWVfaW5wdXQ9WyJPbkJhbGFuY2VWb2x1bWUiXSwKZS5leHBvcnRzWyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nX2lucHV0Il09WyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nIl0sZS5leHBvcnRzWyJPbmx5IEF3YWl0aW5nX2lucHV0Il09WyJPbmx5IEF3YWl0aW5nIl0sZS5leHBvcnRzLk9yaWdpbmFsX2lucHV0PVsiT3JpZ2luYWwiXSxlLmV4cG9ydHNbIk9zY2lsbGF0b3IgTUEgVHlwZV9pbnB1dCJdPVsiT3NjaWxsYXRvciBNQSBUeXBlIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JfaW5wdXQ9WyJPc2NpbGxhdG9yIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JzX2lucHV0PVsiT3NjaWxsYXRvcnMiXSxlLmV4cG9ydHNbIk91dHB1dCB2YWx1ZXNfaW5wdXQiXT1bIk91dHB1dCB2YWx1ZXMiXSxlLmV4cG9ydHMuT3ZlcmJvdWdodF9pbnB1dD1bIk92ZXJib3VnaHQiXSxlLmV4cG9ydHMuT3ZlcnNvbGRfaW5wdXQ9WyJPdmVyc29sZCJdLGUuZXhwb3J0cy5QT0NfaW5wdXQ9WyJQT0MiXSxlLmV4cG9ydHMuUFZUX2lucHV0PVsiUFZUIl0sZS5leHBvcnRzLlBfaW5wdXQ9WyJQIl0sZS5leHBvcnRzWyJQYW5lIGxhYmVsc19pbnB1dCJdPVsiUGFuZSBsYWJlbHMiXSxlLmV4cG9ydHMuUGFyYWJvbGljU0FSX2lucHV0PVsiUGFyYWJvbGljU0FSIl0sZS5leHBvcnRzLlBhdHRlcm5zX2lucHV0PVsiUGF0dGVybnMiXSxlLmV4cG9ydHMuUGVubmFudF9pbnB1dD1bIlBlbm5hbnQiXSxlLmV4cG9ydHMuUGVyY2VudF9pbnB1dD1bIlBlcmNlbnQiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSlfaW5wdXQiXT1bIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSkiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQX2lucHV0Il09WyJQZXJjZW50YWdlIExUUCJdLGUuZXhwb3J0cy5QZXJjZW50YWdlX2lucHV0PVsiUGVyY2VudGFnZSJdLGUuZXhwb3J0cy5QZXJpb2RfaW5wdXQ9WyJQZXJpb2QiXSxlLmV4cG9ydHMuUGVyaW9kc19pbnB1dD1bIlBlcmlvZHMiXSxlLmV4cG9ydHNbIlBlcm1pc3NpYmxlIERldmlhdGlvbl9pbnB1dCJdPVsiUGVybWlzc2libGUgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJQaGFudG9tIGJhcnNfaW5wdXQiXT1bIlBoYW50b20gYmFycyJdLGUuZXhwb3J0c1siUGl2b3QgSGlnaF9pbnB1dCJdPVsiUGl2b3QgSGlnaCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgTGVmdF9pbnB1dCJdPVsiUGl2b3QgTG9va2JhY2sgTGVmdCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgUmlnaHRfaW5wdXQiXT1bIlBpdm90IExvb2tiYWNrIFJpZ2h0Il0sZS5leHBvcnRzWyJQaXZvdCBMb3dfaW5wdXQiXT1bIlBpdm90IExvdyJdLGUuZXhwb3J0c1siUGl2b3QgbGVnc19pbnB1dCJdPVsiUGl2b3QgbGVncyJdLGUuZXhwb3J0c1siUGl2b3RzIFRpbWVmcmFtZV9pbnB1dCJdPVsiUGl2b3RzIFRpbWVmcmFtZSJdLGUuZXhwb3J0cy5QbGFjZW1lbnRfaW5wdXQ9WyJQbGFjZW1lbnQiXSxlLmV4cG9ydHNbIlBsZWFzZSBlbnRlciB0aGUgcmlnaHQgdGltZV90aW1lX2lucHV0Il09WyJQbGVhc2UgZW50ZXIgdGhlIHJpZ2h0IHRpbWUiXSxlLmV4cG9ydHNbIlBsb3QgQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBCZWFyaXNoIl0sZS5leHBvcnRzWyJQbG90IEJ1bGxpc2hfaW5wdXQiXT1bIlBsb3QgQnVsbGlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQmVhcmlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQnVsbGlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQnVsbGlzaCJdLGUuZXhwb3J0cy5QbG90X2lucHV0PVsiUGxvdCJdLGUuZXhwb3J0c1siUGxvdHMgQmFja2dyb3VuZF9pbnB1dCJdPVsiUGxvdHMgQmFja2dyb3VuZCJdLGUuZXhwb3J0cy5Qb2x5bGluZXNfaW5wdXQ9WyJQb2x5bGluZXMiXSxlLmV4cG9ydHNbIlBvc2l0aXZlIENvbG9yX2lucHV0Il09WyJQb3NpdGl2ZSBDb2xvciJdLGUuZXhwb3J0c1siUG9zdC1tYXJrZXQgb25seV9pbnB1dCJdPVsiUG9zdC1tYXJrZXQgb25seSJdLGUuZXhwb3J0c1siUHJlLW1hcmtldCBvbmx5X2lucHV0Il09WyJQcmUtbWFya2V0IG9ubHkiXSxlLmV4cG9ydHNbIlByaWNlIExpbmVfaW5wdXQiXT1bIlByaWNlIExpbmUiXSxlLmV4cG9ydHNbIlByaWNlIFNvdXJjZV9pbnB1dCJdPVsiUHJpY2UgU291cmNlIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRzX2lucHV0Il09WyJQcmljZSBUYXJnZXRzIl0sZS5leHBvcnRzWyJQcmljZSBkZXZpYXRpb24gZm9yIHJldmVyc2FscyAoJSlfaW5wdXQiXT1bIlByaWNlIGRldmlhdGlvbiBmb3IgcmV2ZXJzYWxzICglKSJdLGUuZXhwb3J0c1siUHJpY2Ugc291cmNlX2lucHV0Il09WyJQcmljZSBzb3VyY2UiXSxlLmV4cG9ydHMuUHJpY2VfaW5wdXQ9WyJQcmljZSJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiBkb3duIGJhcnNfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBiYXJzIl0sZS5leHBvcnRzWyJQcm9qZWN0aW9uIGRvd24gY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBjb2xvciJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiB1cCBiYXJzX2lucHV0Il09WyJQcm9qZWN0aW9uIHVwIGJhcnMiXSxlLmV4cG9ydHNbIlByb2plY3Rpb24gdXAgY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gdXAgY29sb3IiXSxlLmV4cG9ydHMuUV9pbnB1dD1bIlEiXSxlLmV4cG9ydHMuUXVhcnRlcl9pbnB1dD1bIlF1YXJ0ZXIiXSxlLmV4cG9ydHMuUXVhcnRlcmx5X2lucHV0PVsiUXVhcnRlcmx5Il0sZS5leHBvcnRzLlF1aW5xdWVubmlhbGx5X2lucHV0PVsiUXVpbnF1ZW5uaWFsbHkiXSxlLmV4cG9ydHNbIlJDSSBMZW5ndGhfaW5wdXQiXT1bIlJDSSBMZW5ndGgiXSxlLmV4cG9ydHMuUk1BX2lucHV0PVsiUk1BIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMxX2lucHV0Il09WyJST0MgTGVuZ3RoICMxIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMyX2lucHV0Il09WyJST0MgTGVuZ3RoICMyIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMzX2lucHV0Il09WyJST0MgTGVuZ3RoICMzIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICM0X2lucHV0Il09WyJST0MgTGVuZ3RoICM0Il0sCmUuZXhwb3J0c1siUk9DIExlbmd0aF9pbnB1dCJdPVsiUk9DIExlbmd0aCJdLGUuZXhwb3J0cy5ST0NMZW4xX2lucHV0PVsiUk9DTGVuMSJdLGUuZXhwb3J0cy5ST0NMZW4yX2lucHV0PVsiUk9DTGVuMiJdLGUuZXhwb3J0cy5ST0NMZW4zX2lucHV0PVsiUk9DTGVuMyJdLGUuZXhwb3J0cy5ST0NMZW40X2lucHV0PVsiUk9DTGVuNCJdLGUuZXhwb3J0cy5ST0NfaW5wdXQ9WyJST0MiXSxlLmV4cG9ydHNbIlJTSSBMZW5ndGhfaW5wdXQiXT1bIlJTSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlJTSSBQZXJpb2RfaW5wdXQiXT1bIlJTSSBQZXJpb2QiXSxlLmV4cG9ydHNbIlJTSSBTZXR0aW5nc19pbnB1dCJdPVsiUlNJIFNldHRpbmdzIl0sZS5leHBvcnRzWyJSU0kgU291cmNlX2lucHV0Il09WyJSU0kgU291cmNlIl0sZS5leHBvcnRzLlJTSV9pbnB1dD1bIlJTSSJdLGUuZXhwb3J0cy5SVkdJX2lucHV0PVsiUlZHSSJdLGUuZXhwb3J0cy5SVklfaW5wdXQ9WyJSVkkiXSxlLmV4cG9ydHMuUmFuZ2VfaW5wdXQ9WyJSYW5nZSJdLGUuZXhwb3J0c1siUmF0ZSBvZiBDaGFuZ2UgTG9va2JhY2tfaW5wdXQiXT1bIlJhdGUgb2YgQ2hhbmdlIExvb2tiYWNrIl0sZS5leHBvcnRzWyJSYXRpbmcgaXMgYmFzZWQgb25faW5wdXQiXT1bIlJhdGluZyBpcyBiYXNlZCBvbiJdLGUuZXhwb3J0cy5SZWN0YW5nbGVfaW5wdXQ9WyJSZWN0YW5nbGUiXSxlLmV4cG9ydHMuUmVndWxhcl9pbnB1dD1bIlJlZ3VsYXIiXSxlLmV4cG9ydHMuUmVzaXN0YW5jZV9pbnB1dD1bIlJlc2lzdGFuY2UiXSxlLmV4cG9ydHNbIlJldmVyc2FsIGFtb3VudF9pbnB1dCJdPVsiUmV2ZXJzYWwgYW1vdW50Il0sZS5leHBvcnRzLlJldmVyc2VfaW5wdXQ9WyJSZXZlcnNlIl0sZS5leHBvcnRzLlJpZ2h0X2lucHV0PVsiUmlnaHQiXSxlLmV4cG9ydHNbIlJpc2luZyBXZWRnZV9pbnB1dCJdPVsiUmlzaW5nIFdlZGdlIl0sZS5leHBvcnRzWyJSb2xsaW5nIFBlcmlvZF9pbnB1dCJdPVsiUm9sbGluZyBQZXJpb2QiXSxlLmV4cG9ydHNbIlJvdyBTaXplX2lucHV0Il09WyJSb3cgU2l6ZSJdLGUuZXhwb3J0c1siUm93cyBMYXlvdXRfaW5wdXQiXT1bIlJvd3MgTGF5b3V0Il0sZS5leHBvcnRzWyJSb3dzIFNpemVfaW5wdXQiXT1bIlJvd3MgU2l6ZSJdLGUuZXhwb3J0c1siU01BICsgQm9sbGluZ2VyIEJhbmRzX2lucHV0Il09WyJTTUEgKyBCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzFfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzEiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzJfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzIiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzNfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzRfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzQiXSxlLmV4cG9ydHMuU01BTGVuMV9pbnB1dD1bIlNNQUxlbjEiXSxlLmV4cG9ydHMuU01BTGVuMl9pbnB1dD1bIlNNQUxlbjIiXSxlLmV4cG9ydHMuU01BTGVuM19pbnB1dD1bIlNNQUxlbjMiXSxlLmV4cG9ydHMuU01BTGVuNF9pbnB1dD1bIlNNQUxlbjQiXSxlLmV4cG9ydHMuU01BX2lucHV0PVsiU01BIl0sZS5leHBvcnRzWyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yX2lucHV0Il09WyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yIl0sZS5leHBvcnRzLlNNSV9pbnB1dD1bIlNNSSJdLGUuZXhwb3J0c1siU01NQSAoUk1BKV9pbnB1dCJdPVsiU01NQSAoUk1BKSJdLGUuZXhwb3J0cy5TY2hpZmZfaW5wdXQ9WyJTY2hpZmYiXSxlLmV4cG9ydHNbIlNlY29uZCBCb3R0b21faW5wdXQiXT1bIlNlY29uZCBCb3R0b20iXSxlLmV4cG9ydHNbIlNlY29uZCBUb3BfaW5wdXQiXT1bIlNlY29uZCBUb3AiXSxlLmV4cG9ydHNbIlNlY29uZCBzZXNzaW9uX2lucHV0Il09WyJTZWNvbmQgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2VuZCBtZXNzYWdlX2lucHV0Il09WyJTZW5kIG1lc3NhZ2UiXSxlLmV4cG9ydHNbIlNlc3Npb24gY29sb3JfaW5wdXQiXT1bIlNlc3Npb24gY29sb3IiXSxlLmV4cG9ydHNbIlNlc3Npb24gdGltZV9pbnB1dCJdPVsiU2Vzc2lvbiB0aW1lIl0sZS5leHBvcnRzWyJTZXNzaW9uIHRpbWV6b25lX2lucHV0Il09WyJTZXNzaW9uIHRpbWV6b25lIl0sZS5leHBvcnRzLlNlc3Npb25faW5wdXQ9WyJTZXNzaW9uIl0sZS5leHBvcnRzLlNlc3Npb25zX2lucHV0PVsiU2Vzc2lvbnMiXSxlLmV4cG9ydHMuU2V0dGluZ3NfaW5wdXQ9WyJTZXR0aW5ncyJdLGUuZXhwb3J0cy5TaGFwZXNfaW5wdXQ9WyJTaGFwZXMiXSxlLmV4cG9ydHNbIlNob3J0IEJCIExlbmd0aF9pbnB1dCJdPVsiU2hvcnQgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IExlbmd0aCJdLGUuZXhwb3J0c1siU2hvcnQgTUEgTGVuZ3RoX2lucHV0Il09WyJTaG9ydCBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJDSSBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJDSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJvQyBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJvQyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IGxlbmd0aF9pbnB1dCJdPVsiU2hvcnQgbGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBwZXJpb2RfaW5wdXQiXT1bIlNob3J0IHBlcmlvZCJdLGUuZXhwb3J0cy5TaG9ydF9pbnB1dD1bIlNob3J0Il0sZS5leHBvcnRzWyJTaG93IEF2ZXJhZ2VzX2lucHV0Il09WyJTaG93IEF2ZXJhZ2VzIl0sZS5leHBvcnRzWyJTaG93IExhYmVsc19pbnB1dCJdPVsiU2hvdyBMYWJlbHMiXSxlLmV4cG9ydHNbIlNob3cgTGV2ZWxzX2lucHV0Il09WyJTaG93IExldmVscyJdLGUuZXhwb3J0c1siU2hvdyBNVEZfaW5wdXQiXT1bIlNob3cgTVRGIl0sZS5leHBvcnRzWyJTaG93IFBlYXJzb24ncyBSX2lucHV0Il09WyJTaG93IFBlYXJzb24ncyBSIl0sZS5leHBvcnRzWyJTaG93IFBlcmNlbnQgUG9zaXRpdmVfaW5wdXQiXT1bIlNob3cgUGVyY2VudCBQb3NpdGl2ZSJdLGUuZXhwb3J0c1siU2hvdyBQaXZvdHNfaW5wdXQiXT1bIlNob3cgUGl2b3RzIl0sZS5leHBvcnRzWyJTaG93IFByaWNlc19pbnB1dCJdPVsiU2hvdyBQcmljZXMiXSwKZS5leHBvcnRzWyJTaG93IFByb2plY3Rpb25zX2lucHV0Il09WyJTaG93IFByb2plY3Rpb25zIl0sZS5leHBvcnRzWyJTaG93IFN0YW5kYXJkIERldmlhdGlvbl9pbnB1dCJdPVsiU2hvdyBTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlNob3cgVG91Y2hlZCBQaXZvdHNfaW5wdXQiXT1bIlNob3cgVG91Y2hlZCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNob3cgYXZlcmFnZSBwcmljZSBwZXIgc2Vzc2lvbl9pbnB1dCJdPVsiU2hvdyBhdmVyYWdlIHByaWNlIHBlciBzZXNzaW9uIl0sZS5leHBvcnRzWyJTaG93IHJlYWwgcHJpY2VzIG9uIHByaWNlIHNjYWxlIChpbnN0ZWFkIG9mIEhlaWtpbi1Bc2hpIHByaWNlKV9pbnB1dCJdPVsiU2hvdyByZWFsIHByaWNlcyBvbiBwcmljZSBzY2FsZSAoaW5zdGVhZCBvZiBIZWlraW4tQXNoaSBwcmljZSkiXSxlLmV4cG9ydHNbIlNob3cgc2Vzc2lvbiBuYW1lc19pbnB1dCJdPVsiU2hvdyBzZXNzaW9uIG5hbWVzIl0sZS5leHBvcnRzWyJTaG93IHNlc3Npb25faW5wdXQiXT1bIlNob3cgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2hvdyB0aWNrIHJhbmdlIGZvciBlYWNoIHNlc3Npb25faW5wdXQiXT1bIlNob3cgdGljayByYW5nZSBmb3IgZWFjaCBzZXNzaW9uIl0sZS5leHBvcnRzLlNpZ0xlbl9pbnB1dD1bIlNpZ0xlbiJdLGUuZXhwb3J0cy5TaWdfaW5wdXQ9WyJTaWciXSxlLmV4cG9ydHMuU2lnbWFfaW5wdXQ9WyJTaWdtYSJdLGUuZXhwb3J0c1siU2lnbmFsIExlbmd0aF9pbnB1dCJdPVsiU2lnbmFsIExlbmd0aCJdLGUuZXhwb3J0c1siU2lnbmFsIExpbmUgTGVuZ3RoX2lucHV0Il09WyJTaWduYWwgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNpZ25hbCBMaW5lIE1BIFR5cGVfaW5wdXQiXT1bIlNpZ25hbCBMaW5lIE1BIFR5cGUiXSxlLmV4cG9ydHNbIlNpZ25hbCBTbW9vdGhpbmdfaW5wdXQiXT1bIlNpZ25hbCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIlNpZ25hbCBsaW5lIHBlcmlvZF9pbnB1dCJdPVsiU2lnbmFsIGxpbmUgcGVyaW9kIl0sZS5leHBvcnRzWyJTaWduYWwgc21vb3RoaW5nX2lucHV0Il09WyJTaWduYWwgc21vb3RoaW5nIl0sZS5leHBvcnRzLlNpZ25hbF9pbnB1dD1bIlNpZ25hbCJdLGUuZXhwb3J0c1siU2ltcGxlIG1hKG9zY2lsbGF0b3IpX2lucHV0Il09WyJTaW1wbGUgbWEob3NjaWxsYXRvcikiXSxlLmV4cG9ydHNbIlNpbXBsZSBtYShzaWduYWwgbGluZSlfaW5wdXQiXT1bIlNpbXBsZSBtYShzaWduYWwgbGluZSkiXSxlLmV4cG9ydHMuU2ltcGxlX2lucHV0PVsiU2ltcGxlIl0sZS5leHBvcnRzWyJTbG93IExlbmd0aF9pbnB1dCJdPVsiU2xvdyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNsb3cgTUEgUGVyaW9kX2lucHV0Il09WyJTbG93IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siU2xvdyBsZW5ndGhfaW5wdXQiXT1bIlNsb3cgbGVuZ3RoIl0sZS5leHBvcnRzLlNsb3dpbmdfaW5wdXQ9WyJTbG93aW5nIl0sZS5leHBvcnRzLlNtYWxsX2lucHV0PVsiU21hbGwiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMZW5ndGhfaW5wdXQiXT1bIlNtb290aGluZyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMaW5lX2lucHV0Il09WyJTbW9vdGhpbmcgTGluZSJdLGUuZXhwb3J0cy5TbW9vdGhpbmdfaW5wdXQ9WyJTbW9vdGhpbmciXSxlLmV4cG9ydHMuU29saWRfaW5wdXQ9WyJTb2xpZCJdLGUuZXhwb3J0cy5Tb3VyY2VfaW5wdXQ9WyJTb3VyY2UiXSxlLmV4cG9ydHMuU3BsaXRzX2lucHV0PVsiU3BsaXRzIl0sZS5leHBvcnRzWyJTdGFuZGFyZCBEZXZpYXRpb25faW5wdXQiXT1bIlN0YW5kYXJkIERldmlhdGlvbiJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3JzX2lucHV0Il09WyJTdGFuZGFyZCBFcnJvcnMiXSxlLmV4cG9ydHMuU3RhcnRfaW5wdXQ9WyJTdGFydCJdLGUuZXhwb3J0c1siU3RhcnRpbmcgeWVhcl9pbnB1dCJdPVsiU3RhcnRpbmcgeWVhciJdLGUuZXhwb3J0cy5TdGREZXZfaW5wdXQ9WyJTdGREZXYiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTGVuZ3RoX2lucHV0Il09WyJTdG9jaGFzdGljIExlbmd0aCJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBMb3dlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBMb3dlciJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBVcHBlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBVcHBlciJdLGUuZXhwb3J0c1siU3RvcCBMZW5ndGggKHEpX2lucHV0Il09WyJTdG9wIExlbmd0aCAocSkiXSxlLmV4cG9ydHNbIlN0b3AgbG9zc19pbnB1dCJdPVsiU3RvcCBsb3NzIl0sZS5leHBvcnRzWyJTdHJhdGVneSBEaXJlY3Rpb25faW5wdXQiXT1bIlN0cmF0ZWd5IERpcmVjdGlvbiJdLGUuZXhwb3J0cy5TdHlsZV9pbnB1dD1bIlN0eWxlIl0sZS5leHBvcnRzLlN1YldhdmVzX2lucHV0PVsiU3ViV2F2ZXMiXSxlLmV4cG9ydHMuU3VwcG9ydF9pbnB1dD1bIlN1cHBvcnQiXSxlLmV4cG9ydHNbIlN5bWJvbCBsaXN0X2lucHV0Il09WyJTeW1ib2wgbGlzdCJdLGUuZXhwb3J0cy5TeW1ib2xfaW5wdXQ9WyJTeW1ib2wiXSxlLmV4cG9ydHMuVEVNQV9pbnB1dD1bIlRFTUEiXSxlLmV4cG9ydHMuVFJJWF9pbnB1dD1bIlRSSVgiXSxlLmV4cG9ydHNbIlRhYmxlIEhlaWdodCAoJSlfaW5wdXQiXT1bIlRhYmxlIEhlaWdodCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIFBvc2l0aW9uX2lucHV0Il09WyJUYWJsZSBQb3NpdGlvbiJdLGUuZXhwb3J0c1siVGFibGUgV2lkdGggKCUpX2lucHV0Il09WyJUYWJsZSBXaWR0aCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIHNldHRpbmdzX2lucHV0Il09WyJUYWJsZSBzZXR0aW5ncyJdLGUuZXhwb3J0cy5UYWJsZXNfaW5wdXQ9WyJUYWJsZXMiXSxlLmV4cG9ydHNbIlRha2UgcHJvZml0X2lucHV0Il09WyJUYWtlIHByb2ZpdCJdLGUuZXhwb3J0c1siVGFyZ2V0IEN1cnJlbmN5X2lucHV0Il09WyJUYXJnZXQgQ3VycmVuY3kiXSxlLmV4cG9ydHMuVGFyZ2V0X2lucHV0PVsiVGFyZ2V0Il0sZS5leHBvcnRzWyJUZWV0aCBMZW5ndGhfaW5wdXQiXT1bIlRlZXRoIExlbmd0aCJdLGUuZXhwb3J0c1siVGVldGggT2Zmc2V0X2lucHV0Il09WyJUZWV0aCBPZmZzZXQiXSxlLmV4cG9ydHMuVGVldGhfaW5wdXQ9WyJUZWV0aCJdLAplLmV4cG9ydHNbIlRleHQgQ29sb3IgLyBMYWJlbCBDb2xvcl9pbnB1dCJdPVsiVGV4dCBDb2xvciAvIExhYmVsIENvbG9yIl0sZS5leHBvcnRzWyJUaGlyZCBzZXNzaW9uX2lucHV0Il09WyJUaGlyZCBzZXNzaW9uIl0sZS5leHBvcnRzWyJUaWNrcyBQZXIgUm93X2lucHV0Il09WyJUaWNrcyBQZXIgUm93Il0sZS5leHBvcnRzWyJUaW1lZnJhbWUgbGlzdF9pbnB1dCJdPVsiVGltZWZyYW1lIGxpc3QiXSxlLmV4cG9ydHMuVGltZWZyYW1lX2lucHV0PVsiVGltZWZyYW1lIl0sZS5leHBvcnRzLlRvX2lucHV0PVsiVG8iXSxlLmV4cG9ydHMuVG9wc19pbnB1dD1bIlRvcHMiXSxlLmV4cG9ydHMuVG90YWxfaW5wdXQ9WyJUb3RhbCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAxIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAyIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAyIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAzIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA0IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA1IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA1IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA2IGxlbmd0aCJdLGUuZXhwb3J0cy5UcmFkaXRpb25hbF9pbnB1dD1bIlRyYWRpdGlvbmFsIl0sZS5leHBvcnRzWyJUcmVuZCBIZWlnaHRfaW5wdXQiXT1bIlRyZW5kIEhlaWdodCJdLGUuZXhwb3J0cy5UcmlhbmdsZV9pbnB1dD1bIlRyaWFuZ2xlIl0sZS5leHBvcnRzLlRyaWdnZXJfaW5wdXQ9WyJUcmlnZ2VyIl0sZS5leHBvcnRzWyJUcmlwbGUgQm90dG9tX2lucHV0Il09WyJUcmlwbGUgQm90dG9tIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wX2lucHV0Il09WyJUcmlwbGUgVG9wIl0sZS5leHBvcnRzLlRyaXllYXJseV9pbnB1dD1bIlRyaXllYXJseSJdLGUuZXhwb3J0c1siVHJ1ZSBSYW5nZV9pbnB1dCJdPVsiVHJ1ZSBSYW5nZSJdLGUuZXhwb3J0cy5UeXBlX2lucHV0PVsiVHlwZSJdLGUuZXhwb3J0cy5VT19pbnB1dD1bIlVPIl0sZS5leHBvcnRzWyJVcCBHYXBzX2lucHV0Il09WyJVcCBHYXBzIl0sZS5leHBvcnRzWyJVcCBWb2x1bWVfaW5wdXQiXT1bIlVwIFZvbHVtZSJdLGUuZXhwb3J0c1siVXAgYmFyc19pbnB1dCJdPVsiVXAgYmFycyJdLGUuZXhwb3J0c1siVXAgY29sb3JfaW5wdXQiXT1bIlVwIGNvbG9yIl0sZS5leHBvcnRzWyJVcCBmcmFjdGFsc19pbnB1dCJdPVsiVXAgZnJhY3RhbHMiXSxlLmV4cG9ydHNbIlVwL0Rvd25faW5wdXQiXT1bIlVwL0Rvd24iXSxlLmV4cG9ydHNbIlVwRG93biBMZW5ndGhfaW5wdXQiXT1bIlVwRG93biBMZW5ndGgiXSxlLmV4cG9ydHNbIlVwcGVyIEJhbmRfaW5wdXQiXT1bIlVwcGVyIEJhbmQiXSxlLmV4cG9ydHNbIlVwcGVyIERldmlhdGlvbl9pbnB1dCJdPVsiVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVcHBlciBQZXJjZW50YWdlX2lucHV0Il09WyJVcHBlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLlVwcGVyTGltaXRfaW5wdXQ9WyJVcHBlckxpbWl0Il0sZS5leHBvcnRzLlVwcGVyX2lucHV0PVsiVXBwZXIiXSxlLmV4cG9ydHNbIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXNfaW5wdXQiXT1bIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXMiXSxlLmV4cG9ydHNbIlVzZSBFeHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIEV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJVc2UgTG93ZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgVXBwZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgY3VzdG9tIHRpbWVmcmFtZV9pbnB1dCJdPVsiVXNlIGN1c3RvbSB0aW1lZnJhbWUiXSxlLmV4cG9ydHNbIlVzZSBleHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIGV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJWSSArX2lucHV0Il09WyJWSSArIl0sZS5leHBvcnRzWyJWSSAtX2lucHV0Il09WyJWSSAtIl0sZS5leHBvcnRzWyJWV0FQIFNldHRpbmdzX2lucHV0Il09WyJWV0FQIFNldHRpbmdzIl0sZS5leHBvcnRzLlZXQVBfaW5wdXQ9WyJWV0FQIl0sZS5leHBvcnRzLlZXTUFfaW5wdXQ9WyJWV01BIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhIERvd25faW5wdXQiXT1bIlZhbHVlIEFyZWEgRG93biJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSBQZXJjZW50X2lucHV0Il09WyJWYWx1ZSBBcmVhIFBlcmNlbnQiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVXBfaW5wdXQiXT1bIlZhbHVlIEFyZWEgVXAiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVm9sdW1lX2lucHV0Il09WyJWYWx1ZSBBcmVhIFZvbHVtZSJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSB2b2x1bWVfaW5wdXQiXT1bIlZhbHVlIEFyZWEgdm9sdW1lIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhX2lucHV0Il09WyJWYWx1ZSBBcmVhIl0sZS5leHBvcnRzLlZhbHVlX2lucHV0PVsiVmFsdWUiXSxlLmV4cG9ydHNbIlZhbHVlcyBpbiBzdGF0dXMgbGluZV9pbnB1dCJdPVsiVmFsdWVzIGluIHN0YXR1cyBsaW5lIl0sZS5leHBvcnRzLlZhbHVlc19pbnB1dD1bIlZhbHVlcyJdLGUuZXhwb3J0cy5WaXNpYmlsaXR5X2lucHV0PVsiVmlzaWJpbGl0eSJdLGUuZXhwb3J0cy5Wb2x1bWVfaW5wdXQ9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIldNQSBMZW5ndGhfaW5wdXQiXT1bIldNQSBMZW5ndGgiXSxlLmV4cG9ydHMuV01BX2lucHV0PVsiV01BIl0sZS5leHBvcnRzWyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzX2lucHV0Il09WyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzIl0sZS5leHBvcnRzWyJXYW5pbmcgTW9vbl9pbnB1dCJdPVsiV2FuaW5nIE1vb24iXSxlLmV4cG9ydHNbIldheGluZyBNb29uX2lucHV0Il09WyJXYXhpbmcgTW9vbiJdLGUuZXhwb3J0cy5XZWRnZV9pbnB1dD1bIldlZGdlIl0sZS5leHBvcnRzLldlZWtfaW5wdXQ9WyJXZWVrIl0sCmUuZXhwb3J0cy5XZWVrbHlfaW5wdXQ9WyJXZWVrbHkiXSxlLmV4cG9ydHMuV2VpZ2h0ZWRfaW5wdXQ9WyJXZWlnaHRlZCJdLGUuZXhwb3J0cy5XaWNrX2lucHV0PVsiV2ljayJdLGUuZXhwb3J0cy5XaWNrc19pbnB1dD1bIldpY2tzIl0sZS5leHBvcnRzWyJXaWxkZXIncyBTbW9vdGhpbmdfaW5wdXQiXT1bIldpbGRlcidzIFNtb290aGluZyJdLGUuZXhwb3J0c1siV2luZG93IFNpemVfaW5wdXQiXT1bIldpbmRvdyBTaXplIl0sZS5leHBvcnRzLldvb2RpZV9pbnB1dD1bIldvb2RpZSJdLGUuZXhwb3J0cy5YX2lucHV0PVsiWCJdLGUuZXhwb3J0cy5ZWV95ZWFyX2lucHV0PVsiWVkiXSxlLmV4cG9ydHMuWWVhcl9pbnB1dD1bIlllYXIiXSxlLmV4cG9ydHMuWWVhcmx5X2lucHV0PVsiWWVhcmx5Il0sZS5leHBvcnRzWyJaZXJvIExpbmVfaW5wdXQiXT1bIlplcm8gTGluZSJdLGUuZXhwb3J0cy5aZXJvX2lucHV0PVsiWmVybyJdLGUuZXhwb3J0cy5mYXN0TGVuZ3RoX2lucHV0PVsiZmFzdExlbmd0aCJdLGUuZXhwb3J0cy5mcm9tX2lucHV0PVsiZnJvbSJdLGUuZXhwb3J0cy5pbmNyZW1lbnRfaW5wdXQ9WyJpbmNyZW1lbnQiXSxlLmV4cG9ydHMuaXNDZW50ZXJlZF9pbnB1dD1bImlzQ2VudGVyZWQiXSxlLmV4cG9ydHMubGFiZWxzX2lucHV0PVsibGFiZWxzIl0sZS5leHBvcnRzLmxlbl9pbnB1dD1bImxlbiJdLGUuZXhwb3J0cy5sZW5ndGgxNF9pbnB1dD1bImxlbmd0aDE0Il0sZS5leHBvcnRzLmxlbmd0aDI4X2lucHV0PVsibGVuZ3RoMjgiXSxlLmV4cG9ydHMubGVuZ3RoN19pbnB1dD1bImxlbmd0aDciXSxlLmV4cG9ydHMubGVuZ3RoUlNJX2lucHV0PVsibGVuZ3RoUlNJIl0sZS5leHBvcnRzLmxlbmd0aFN0b2NoX2lucHV0PVsibGVuZ3RoU3RvY2giXSxlLmV4cG9ydHMubGVuZ3RoX2lucHV0PVsibGVuZ3RoIl0sZS5leHBvcnRzLmxldmVsc19pbnB1dD1bImxldmVscyJdLGUuZXhwb3J0cy5sb25nX2lucHV0PVsibG9uZyJdLGUuZXhwb3J0cy5sb25nbGVuX2lucHV0PVsibG9uZ2xlbiJdLGUuZXhwb3J0cy5tYXhpbXVtX2lucHV0PVsibWF4aW11bSJdLGUuZXhwb3J0cy5tdWx0X2lucHV0PVsibXVsdCJdLGUuZXhwb3J0cy5wX2lucHV0PVsicCJdLGUuZXhwb3J0cy5xX2lucHV0PVsicSJdLGUuZXhwb3J0cy5yZXNvbHV0aW9uX2lucHV0PVsicmVzb2x1dGlvbiJdLGUuZXhwb3J0cy5yb2NsZW4xX2lucHV0PVsicm9jbGVuMSJdLGUuZXhwb3J0cy5yb2NsZW4yX2lucHV0PVsicm9jbGVuMiJdLGUuZXhwb3J0cy5yb2NsZW4zX2lucHV0PVsicm9jbGVuMyJdLGUuZXhwb3J0cy5yb2NsZW40X2lucHV0PVsicm9jbGVuNCJdLGUuZXhwb3J0cy5zaG9ydF9pbnB1dD1bInNob3J0Il0sZS5leHBvcnRzLnNob3J0bGVuX2lucHV0PVsic2hvcnRsZW4iXSxlLmV4cG9ydHNbInNob3cgTUFfaW5wdXQiXT1bInNob3cgTUEiXSxlLmV4cG9ydHMuc2lnbGVuX2lucHV0PVsic2lnbGVuIl0sZS5leHBvcnRzLnNpZ25hbExlbmd0aF9pbnB1dD1bInNpZ25hbExlbmd0aCJdLGUuZXhwb3J0cy5zbG93TGVuZ3RoX2lucHV0PVsic2xvd0xlbmd0aCJdLGUuZXhwb3J0cy5zbWFsZW4xX2lucHV0PVsic21hbGVuMSJdLGUuZXhwb3J0cy5zbWFsZW4yX2lucHV0PVsic21hbGVuMiJdLGUuZXhwb3J0cy5zbWFsZW4zX2lucHV0PVsic21hbGVuMyJdLGUuZXhwb3J0cy5zbWFsZW40X2lucHV0PVsic21hbGVuNCJdLGUuZXhwb3J0cy5zbW9vdGhEX2lucHV0PVsic21vb3RoRCJdLGUuZXhwb3J0cy5zbW9vdGhLX2lucHV0PVsic21vb3RoSyJdLGUuZXhwb3J0cy5zdGFydF9pbnB1dD1bInN0YXJ0Il0sZS5leHBvcnRzLnN5bV9pbnB1dD1bInN5bSJdLGUuZXhwb3J0cy50b19pbnB1dD1bInRvIl0sZS5leHBvcnRzLnVzZVRydWVSYW5nZV9pbnB1dD1bInVzZVRydWVSYW5nZSJdLGUuZXhwb3J0cy54X2lucHV0PVsieCJdLGUuZXhwb3J0c1sieWF5IENvbG9yIDBfaW5wdXQiXT1bInlheSBDb2xvciAwIl0sZS5leHBvcnRzWyJ5YXkgQ29sb3IgMV9pbnB1dCJdPVsieWF5IENvbG9yIDEiXSxlLmV4cG9ydHNbIntudW1iZXJ9IGl0ZW1fY29tYm9ib3hfaW5wdXQiXT1bIntudW1iZXJ9IGl0ZW0iLCJ7bnVtYmVyfSBpdGVtcyJdfSwzMTIyOTcoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sODcwOTE1KGUpe2UuZXhwb3J0cz1bIkFUUih7YXRyVmFsdWV9KSJdfSw5OTUyMzUoZSl7ZS5leHBvcnRzPVsiUGVyY2VudGFnZSBMVFAoe3BlcmNlbnRhZ2VMVFBWYWx1ZX0lKSJdfSw0MTE5NzQoZSl7ZS5leHBvcnRzPVsiVHJhZGl0aW9uYWwiXX0sNzE4NTIzKGUpe2UuZXhwb3J0cz1bIkFCQ0QgcGF0dGVybiJdfSwxODc1MzIoZSl7ZS5leHBvcnRzPVsiR2FubiBib3giXX0sOTIzODQwKGUpe2UuZXhwb3J0cz1bIkdhbm4gZmFuIl19LDQxNTAwOShlKXtlLmV4cG9ydHM9WyJHYW5uIHNxdWFyZSJdfSw3NTk4ODcoZSl7ZS5leHBvcnRzPVsiR2FubiBzcXVhcmUgZml4ZWQiXX0sODUzMDE2KGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpYW5nbGUgd2F2ZSAoQcK3QsK3Q8K3RMK3RSkiXX0sOTc1ODUyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpcGxlIGNvbWJvIHdhdmUgKFfCt1jCt1nCt1jCt1opIl19LDI4MjA1OShlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGNvcnJlY3Rpb24gd2F2ZSAoQcK3QsK3QykiXX0sNDY1ODIyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgZG91YmxlIGNvbWJvIHdhdmUgKFfCt1jCt1kpIl19LDYwMjgxMChlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGltcHVsc2Ugd2F2ZSAoMcK3MsK3M8K3NMK3NSkiXX0sODMyMjU4KGUpe2UuZXhwb3J0cz1bIkZpYiBjaGFubmVsIl19LDY2NDM2MShlKXtlLmV4cG9ydHM9WyJGaWIgY2lyY2xlcyJdfSw4Njg0NTkoZSl7ZS5leHBvcnRzPVsiRmliIHJldHJhY2VtZW50Il19LDEyMTUxMShlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBhcmNzIl19LDE5MDUyNihlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBmYW4iXX0sOTkzNjAxKGUpe2UuZXhwb3J0cz1bIkZpYiBzcGlyYWwiXX0sMzAyMTY2KGUpe2UuZXhwb3J0cz1bIkZpYiB0aW1lIHpvbmUiXX0sNjcyODMxKGUpe2UuZXhwb3J0cz1bIkZpYiB3ZWRnZSJdfSwKOTYxMChlKXtlLmV4cG9ydHM9WyJTY2hpZmYgcGl0Y2hmb3JrIl19LDY2MTg5NihlKXtlLmV4cG9ydHM9WyJYQUJDRCBwYXR0ZXJuIl19LDQ4MzcxMChlKXtlLmV4cG9ydHM9WyJjb21tZW50Il19LDMyNDQ2MShlKXtlLmV4cG9ydHM9WyJjYWxsb3V0Il19LDk3Mjg0MihlKXtlLmV4cG9ydHM9WyJjaXJjbGUiXX0sNDc4MTIzKGUpe2UuZXhwb3J0cz1bImNyb3NzbGluZSJdfSwxNjY2MTAoZSl7ZS5leHBvcnRzPVsiY3VydmUiXX0sOTIyOTIxKGUpe2UuZXhwb3J0cz1bImN5Y2xpYyBsaW5lcyJdfSwzMjc2MTIoZSl7ZS5leHBvcnRzPVsiY3lwaGVyIHBhdHRlcm4iXX0sOTk1MTg3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIFZXQVAiXX0sOTkyOTM0KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIG5vdGUiXX0sNjg4NDM3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIHRleHQiXX0sOTc1NjUyKGUpe2UuZXhwb3J0cz1bImFyYyJdfSwxNTA2ODEoZSl7ZS5leHBvcnRzPVsiYXJyb3ciXX0sMTMzMzA0KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmtlciJdfSw2MTcxOTkoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayB1cCJdfSw5NjQ2NzMoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayBkb3duIl19LDY4Mjk2MihlKXtlLmV4cG9ydHM9WyJhcnJvdyBtYXJrIGxlZnQiXX0sMTAwNjA5KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmsgcmlnaHQiXX0sNzQxOTI5KGUpe2UuZXhwb3J0cz1bImJhbGxvb24iXX0sMjcxNzUxKGUpe2UuZXhwb3J0cz1bImJhcnMgcGF0dGVybiJdfSw3NDY3MzcoZSl7ZS5leHBvcnRzPVsiYnJ1c2giXX0sODUxNDkzKGUpe2UuZXhwb3J0cz1bImdob3N0IGZlZWQiXX0sMzU3ODIwKGUpe2UuZXhwb3J0cz1bImRvdWJsZSBjdXJ2ZSJdfSw0MzU0NDYoZSl7ZS5leHBvcnRzPVsiZGF0ZSBhbmQgcHJpY2UgcmFuZ2UiXX0sNTI1MTI0KGUpe2UuZXhwb3J0cz1bImRhdGUgcmFuZ2UiXX0sMzQ2NzI3KGUpe2UuZXhwb3J0cz1bImRpc2pvaW50IGNoYW5uZWwiXX0sODk1NjQ4KGUpe2UuZXhwb3J0cz1bImVtb2ppIl19LDkzMDMzKGUpe2UuZXhwb3J0cz1bImVsbGlwc2UiXX0sNzY5MzM0KGUpe2UuZXhwb3J0cz1bImV4dGVuZGVkIGxpbmUiXX0sNjczMjc4KGUpe2UuZXhwb3J0cz1bImZsYWcgbWFyayJdfSw5NTg0MTYoZSl7ZS5leHBvcnRzPVsiZmxhdCB0b3AvYm90dG9tIl19LDc2NTIxKGUpe2UuZXhwb3J0cz1bImhvcml6b250YWwgbGluZSJdfSw0Mjk2MDYoZSl7ZS5leHBvcnRzPVsiaG9yaXpvbnRhbCByYXkiXX0sOTcxMTQoZSl7ZS5leHBvcnRzPVsiaGVhZCBhbmQgc2hvdWxkZXJzIl19LDk4MDA2MChlKXtlLmV4cG9ydHM9WyJoaWdobGlnaHRlciJdfSwzOTI0OTMoZSl7ZS5leHBvcnRzPVsiaW1hZ2UiXX0sNjU2MzQwKGUpe2UuZXhwb3J0cz1bImluZm8gbGluZSJdfSw0MTY5MChlKXtlLmV4cG9ydHM9WyJpbnNpZGUgcGl0Y2hmb3JrIl19LDY2NDE5NChlKXtlLmV4cG9ydHM9WyJpY29uIl19LDk0NjA0NyhlKXtlLmV4cG9ydHM9WyJpZGVhIl19LDU3NTAyMShlKXtlLmV4cG9ydHM9WyJsb25nIHBvc2l0aW9uIl19LDk5NjAwKGUpe2UuZXhwb3J0cz1bIm1vZGlmaWVkIFNjaGlmZiBwaXRjaGZvcmsiXX0sMjEzMjM2KGUpe2UuZXhwb3J0cz1bIm5vdGUiXX0sMTY3OTk3KGUpe2UuZXhwb3J0cz1bInNlY3RvciJdfSw0MjQxODEoZSl7ZS5leHBvcnRzPVsic2hvcnQgcG9zaXRpb24iXX0sOTk3OTI5KGUpe2UuZXhwb3J0cz1bInNpZ25wb3N0Il19LDYyMjU0KGUpe2UuZXhwb3J0cz1bInNpbmUgbGluZSJdfSwzNDI4OTIoZSl7ZS5leHBvcnRzPVsic3RpY2tlciJdfSw5MTUyODcoZSl7ZS5leHBvcnRzPVsicG9seWxpbmUiXX0sNDYzMTg3KGUpe2UuZXhwb3J0cz1bInBvc2l0aW9uIGZvcmVjYXN0Il19LDc2NjA5KGUpe2UuZXhwb3J0cz1bInBvc3QiXX0sODY2NjkoZSl7ZS5leHBvcnRzPVsicGF0aCJdfSwyOTM0ODAoZSl7ZS5leHBvcnRzPVsicGFyYWxsZWwgY2hhbm5lbCJdfSw5MjA1MzkoZSl7ZS5leHBvcnRzPVsicGl0Y2hmYW4iXX0sOTMwNzQ0KGUpe2UuZXhwb3J0cz1bInBpdGNoZm9yayJdfSw3MjM1NDQoZSl7ZS5leHBvcnRzPVsicGluIl19LDU0Njc0MShlKXtlLmV4cG9ydHM9WyJwcmljZSBsYWJlbCJdfSwzMzI5OTgoZSl7ZS5leHBvcnRzPVsicHJpY2Ugbm90ZSJdfSw3MDY1OTkoZSl7ZS5leHBvcnRzPVsicHJpY2UgcmFuZ2UiXX0sNTY5ODgxKGUpe2UuZXhwb3J0cz1bInJvdGF0ZWQgcmVjdGFuZ2xlIl19LDEwMDg5NihlKXtlLmV4cG9ydHM9WyJyYXkiXX0sNjE2NzM1KGUpe2UuZXhwb3J0cz1bInJlY3RhbmdsZSJdfSwyNDI4NjcoZSl7ZS5leHBvcnRzPVsicmVncmVzc2lvbiB0cmVuZCJdfSw5OTQ5MTEoZSl7ZS5leHBvcnRzPVsidGFibGUiXX0sNTgyMzM5KGUpe2UuZXhwb3J0cz1bInRleHQiXX0sNTk2ODYoZSl7ZS5leHBvcnRzPVsidGhyZWUgZHJpdmVzIHBhdHRlcm4iXX0sMjU0MTIzKGUpe2UuZXhwb3J0cz1bInRpbWUgY3ljbGVzIl19LDY1NTQ0NyhlKXtlLmV4cG9ydHM9WyJ0cmVuZCBhbmdsZSJdfSw2NDc4MjYoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIGV4dGVuc2lvbiJdfSw3NDg2MzMoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIHRpbWUiXX0sMjU3MjI4KGUpe2UuZXhwb3J0cz1bInRyZW5kbGluZSJdfSw0MDkyMzAoZSl7ZS5leHBvcnRzPVsidHJpYW5nbGUiXX0sODEwNDQ4KGUpe2UuZXhwb3J0cz1bInRyaWFuZ2xlIHBhdHRlcm4iXX0sMzI4NTMoZSl7ZS5leHBvcnRzPVsidm9sdW1lIHByb2ZpbGUgZml4ZWQgcmFuZ2UiXX0sNTI5NjQ1KGUpe2UuZXhwb3J0cz1bInZlcnRpY2FsIGxpbmUiXX0sMTU5NzEyKGUpe2UuZXhwb3J0cz1bIiN7Y291bnR9IChwcmljZSwgYmFyKSJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpewplLmV4cG9ydHM9WyJNYXJrZXQgb3BlbiJdfSw5MTQ1NzIoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSw4Njc0NTUoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQiXX0sOTE4ODQyKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjk2ODc5KGUpe2UuZXhwb3J0cz1bIkhvbGlkYXkiXX0sODIwMjE5KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1NDUyMjQoZSl7ZS5leHBvcnRzPVsiT3Zlcm5pZ2h0IHZpYSBCT0FUUyJdfSw0OTM2MzcoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODQyMjAzKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBjbG9zZWQiXX0sNjE5MjMzKGUpe2UuZXhwb3J0cz1bIlBvc3QiXX0sNTUxMzgyKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDk2NjQxMihlKXtlLmV4cG9ydHM9WyJQcmUiXX0sNjM4NzE3KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sODQ2NzkoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY2llcyJdfSw2NDI4NDMoZSl7ZS5leHBvcnRzPVsiQXV0byAoZml0cyBkYXRhIHRvIHNjcmVlbikiXX0sNDcxOTgwKGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxOTcxMDUoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sODg2MDEzKGUpe2UuZXhwb3J0cz1bIkxvZ2FyaXRobWljIl19LDkxMTcxMShlKXtlLmV4cG9ydHM9WyJMYWJlbHMiXX0sOTE2Mjc3KGUpe2UuZXhwb3J0cz1bIk1ldHJpY3MiXX0sMjc4NzUxKGUpe2UuZXhwb3J0cz1bIk1lcmdlIGFsbCBzY2FsZXMgaW50byBvbmUiXX0sODQ3ODM0KGUpe2UuZXhwb3J0cz1bIk5vIG92ZXJsYXBwaW5nIGxhYmVscyJdfSw2NDAwOTYoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSw3NDkxNzkoZSl7ZS5leHBvcnRzPVsiUmVndWxhciJdfSwzNDI5MTUoZSl7ZS5leHBvcnRzPVsiUmVzZXQgcHJpY2Ugc2NhbGUiXX0sMjEzMDc1KGUpe2UuZXhwb3J0cz1bIlVuaXRzIl19LDQ5NjcwMyhlKXtlLmV4cG9ydHM9WyIyNCBob3VycyJdfSw4NzQyMDAoZSl7ZS5leHBvcnRzPVsiMjRIIl19LDY4OTk2NShlKXtlLmV4cG9ydHM9WyJFVEgiXX0sNDI3OTg1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgdHJhZGluZyBob3VycyJdfSwxOTgyODkoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQiXX0sNDIyMjUyKGUpe2UuZXhwb3J0cz1bIkV4dGVuZGVkIHRyYWRpbmcgaG91cnMiXX0sMjc5Mzc5KGUpe2UuZXhwb3J0cz1bIk5pZ2h0Il19LDkwMDUxNihlKXtlLmV4cG9ydHM9WyJQT1NUIl19LDg2NzU1NShlKXtlLmV4cG9ydHM9WyJQUkUiXX0sNjcxMjk0KGUpe2UuZXhwb3J0cz1bIlBvc3RtYXJrZXQiXX0sNTcyMDE0KGUpe2UuZXhwb3J0cz1bIlByZW1hcmtldCJdfSw5MjU1MjYoZSl7ZS5leHBvcnRzPVsiUlRIIl19LDQzOTg4MShlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIl19LDg0NTA2NyhlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIHRyYWRpbmcgaG91cnMiXX0sNzM0NzUwKGUpe2UuZXhwb3J0cz1bIk1heSJdfSw5NjA5NjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIGRldGFpbHMiXX0sOTg2NDY4KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBpbmZvIl19LDg4NDY5MyhlKXtlLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLmV4cG9ydHNbIkF2ZXJhZ2UgZGFpbHkgcmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgZGFpbHkgcmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgdHJ1ZSByYW5nZV9zdHVkeSJdPVsiQXZlcmFnZSB0cnVlIHJhbmdlIl0sZS5leHBvcnRzWyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZV9zdHVkeSJdPVsiYW5jaG9yZWQgdm9sdW1lIHByb2ZpbGUiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJCb29rIHZhbHVlIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkJ1bGwgYmVhciBwb3dlcl9zdHVkeSJdPVsiQnVsbCBiZWFyIHBvd2VyIl0sZS5leHBvcnRzWyJEaXJlY3Rpb25hbCBtb3ZlbWVudCBpbmRleF9zdHVkeSJdPVsiRGlyZWN0aW9uYWwgbW92ZW1lbnQgaW5kZXgiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkRpdmlkZW5kcyBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyBlc3RpbWF0ZV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBmaW5hbmNpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gaW52ZXN0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpIl0sCmUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXMgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIGVzdGltYXRlX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRUJJVCBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlX3N0dWR5Il09WyJFQklUIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFQklUREEgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IGVzdGltYXRlX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGVfc3R1ZHkiXT1bImZpeGVkIHJhbmdlIHZvbHVtZSBwcm9maWxlIl0sZS5leHBvcnRzWyJHb29kd2lsbCAobmV0KV9zdHVkeSJdPVsiR29vZHdpbGwgKG5ldCkiXSxlLmV4cG9ydHNbIkljaGltb2t1IGNsb3VkX3N0dWR5Il09WyJJY2hpbW9rdSBjbG91ZCJdLGUuZXhwb3J0c1siTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZV9zdHVkeSJdPVsiTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZV9zdHVkeSJdPVsiTmV0IGluY29tZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siT3AgaW5jb21lX3N0dWR5Il09WyJPcCBpbmNvbWUiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcyAodG90YWwpX3N0dWR5Il09WyJTZWxsaW5nL2dlbmVyYWwvYWRtaW4gZXhwZW5zZXMgKHRvdGFsKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnQgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgZGVidCBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVm9sdW1lLXdlaWdodGVkIGF2ZXJhZ2UgcHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBhdmVyYWdlIHByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUtd2VpZ2h0ZWQgbW92aW5nIGF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBtb3ZpbmcgYXZlcmFnZSJdLGUuZXhwb3J0c1siV2lsbGlhbXMgcGVyY2VudCByYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgcGVyY2VudCByYW5nZSJdLGUuZXhwb3J0cy5UZWNobmljYWxzX3N0dWR5PVsiVGVjaG5pY2FscyJdLGUuZXhwb3J0c1siKkFsbCBDYW5kbGVzdGljayBQYXR0ZXJucypfc3R1ZHkiXT1bIipBbGwgQ2FuZGxlc3RpY2sgUGF0dGVybnMqIl0sZS5leHBvcnRzWyIyNC1ob3VyIFZvbHVtZV9zdHVkeSJdPVsiMjQtaG91ciBWb2x1bWUiXSwKZS5leHBvcnRzWyI1MiBXZWVrIEhpZ2gvTG93X3N0dWR5Il09WyI1MiBXZWVrIEhpZ2gvTG93Il0sZS5leHBvcnRzLkFTSV9zdHVkeT1bIkFTSSJdLGUuZXhwb3J0c1siQWJhbmRvbmVkIEJhYnkgLSBCZWFyaXNoX3N0dWR5Il09WyJBYmFuZG9uZWQgQmFieSAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkFiYW5kb25lZCBCYWJ5IC0gQnVsbGlzaF9zdHVkeSJdPVsiQWJhbmRvbmVkIEJhYnkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yX3N0dWR5Il09WyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJBY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJBY2NvdW50cyBwYXlhYmxlIl0sZS5leHBvcnRzWyJBY2NvdW50cyByZWNlaXZhYmxlIC0gdHJhZGUsIG5ldF9zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZSAtIHRyYWRlLCBuZXQiXSxlLmV4cG9ydHNbIkFjY291bnRzIHJlY2VpdmFibGVzLCBncm9zc19zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZXMsIGdyb3NzIl0sZS5leHBvcnRzLkFjY3J1YWxzX3N0dWR5PVsiQWNjcnVhbHMiXSxlLmV4cG9ydHNbIkFjY3J1ZWQgcGF5cm9sbF9zdHVkeSJdPVsiQWNjcnVlZCBwYXlyb2xsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsX3N0dWR5Il09WyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX3N0dWR5Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpdmUgU3dpbmcgSW5kZXhfc3R1ZHkiXT1bIkFjY3VtdWxhdGl2ZSBTd2luZyBJbmRleCJdLGUuZXhwb3J0c1siQWRkaXRpb25hbCBwYWlkLWluIGNhcGl0YWwvQ2FwaXRhbCBzdXJwbHVzX3N0dWR5Il09WyJBZGRpdGlvbmFsIHBhaWQtaW4gY2FwaXRhbC9DYXBpdGFsIHN1cnBsdXMiXSxlLmV4cG9ydHNbIkFkdmFuY2UgRGVjbGluZSBMaW5lX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgTGluZSJdLGUuZXhwb3J0c1siQWR2YW5jZSBEZWNsaW5lIFJhdGlvX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgUmF0aW8iXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycylfc3R1ZHkiXT1bIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycykiXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZV9zdHVkeSJdPVsiQWR2YW5jZS9EZWNsaW5lIl0sZS5leHBvcnRzWyJBZnRlciB0YXggb3RoZXIgaW5jb21lL2V4cGVuc2Vfc3R1ZHkiXT1bIkFmdGVyIHRheCBvdGhlciBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siQWxsIENoYXJ0IFBhdHRlcm5zX3N0dWR5Il09WyJBbGwgQ2hhcnQgUGF0dGVybnMiXSxlLmV4cG9ydHNbIkFsdG1hbiBaLXNjb3JlX3N0dWR5Il09WyJBbHRtYW4gWi1zY29yZSJdLGUuZXhwb3J0c1siQW1vcnRpemF0aW9uIG9mIGRlZmVycmVkIGNoYXJnZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBkZWZlcnJlZCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJBbW9ydGl6YXRpb24gb2YgaW50YW5naWJsZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBpbnRhbmdpYmxlcyJdLGUuZXhwb3J0cy5BbW9ydGl6YXRpb25fc3R1ZHk9WyJBbW9ydGl6YXRpb24iXSxlLmV4cG9ydHNbIkFuY2hvcmVkIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJBbmNob3JlZCBWb2x1bWUgUHJvZmlsZSJdLGUuZXhwb3J0c1siQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Bcm9vbl9zdHVkeT1bIkFyb29uIl0sZS5leHBvcnRzWyJBc3NldCB0dXJub3Zlcl9zdHVkeSJdPVsiQXNzZXQgdHVybm92ZXIiXSxlLmV4cG9ydHNbIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIkF1dG8gRmliIEV4dGVuc2lvbl9zdHVkeSJdPVsiQXV0byBGaWIgRXh0ZW5zaW9uIl0sZS5leHBvcnRzWyJBdXRvIEZpYiBSZXRyYWNlbWVudF9zdHVkeSJdPVsiQXV0byBGaWIgUmV0cmFjZW1lbnQiXSxlLmV4cG9ydHNbIkF1dG8gUGl0Y2hmb3JrX3N0dWR5Il09WyJBdXRvIFBpdGNoZm9yayJdLGUuZXhwb3J0c1siQXV0byBUcmVuZGxpbmVzX3N0dWR5Il09WyJBdXRvIFRyZW5kbGluZXMiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGFpbHkgUmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgRGFpbHkgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGF5IFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIERheSBSYW5nZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleF9zdHVkeSJdPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCJdLGUuZXhwb3J0c1siQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiQXZlcmFnZSBQcmljZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgYmFzaWMgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJBdmVyYWdlIGJhc2ljIHNoYXJlcyBvdXRzdGFuZGluZyJdLGUuZXhwb3J0c1siQXdlc29tZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJBd2Vzb21lIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHMuQkJUcmVuZF9zdHVkeT1bIkJCVHJlbmQiXSxlLmV4cG9ydHNbIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHNfc3R1ZHkiXT1bIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHMiXSxlLmV4cG9ydHNbIkJhbGFuY2Ugb2YgUG93ZXJfc3R1ZHkiXT1bIkJhbGFuY2Ugb2YgUG93ZXIiXSxlLmV4cG9ydHNbIkJhclVwRG4gU3RyYXRlZ3lfc3R1ZHkiXT1bIkJhclVwRG4gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkJhc2ljIEVQU19zdHVkeSJdPVsiQmFzaWMgRVBTIl0sZS5leHBvcnRzWyJCYXNpYyBlYXJuaW5ncyBwZXIgc2hhcmUgKEJhc2ljIEVQUylfc3R1ZHkiXT1bIkJhc2ljIGVhcm5pbmdzIHBlciBzaGFyZSAoQmFzaWMgRVBTKSJdLAplLmV4cG9ydHNbIkJlYXJpc2ggRmxhZyBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJCZWFyaXNoIEZsYWcgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQmVhcmlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJlYXJpc2ggUGVubmFudCBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCZW5laXNoIE0tc2NvcmVfc3R1ZHkiXT1bIkJlbmVpc2ggTS1zY29yZSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRXaWR0aF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRXaWR0aCJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzICViX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMgJWIiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSBkaXJlY3RlZF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRzIFN0cmF0ZWd5IGRpcmVjdGVkIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgU3RyYXRlZ3lfc3R1ZHkiXT1bIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYXJzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFycyJdLGUuZXhwb3J0c1siQm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJCdWxsIEJlYXIgUG93ZXJfc3R1ZHkiXT1bIkJ1bGwgQmVhciBQb3dlciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJ1bGxpc2ggRmxhZyBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCdWxsaXNoIFBlbm5hbnQgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQnVsbGlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkJ1eWJhY2sgeWllbGQgJV9zdHVkeSJdPVsiQnV5YmFjayB5aWVsZCAlIl0sZS5leHBvcnRzWyJDT0dTIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkNPR1MgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0cy5DUlNJX3N0dWR5PVsiQ1JTSSJdLGUuZXhwb3J0c1siQ2FwRXggcGVyIHNoYXJlX3N0dWR5Il09WyJDYXBFeCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgYW5kIG9wZXJhdGluZyBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbCBhbmQgb3BlcmF0aW5nIGxlYXNlIG9ibGlnYXRpb25zIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIGZpeGVkIGFzc2V0c19zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgLSBmaXhlZCBhc3NldHMiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIC0gb3RoZXIgYXNzZXRzX3N0dWR5Il09WyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIG90aGVyIGFzc2V0cyJdLGUuZXhwb3J0c1siQ2FwaXRhbCBleHBlbmRpdHVyZXNfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIl0sZS5leHBvcnRzWyJDYXBpdGFsaXplZCBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbGl6ZWQgbGVhc2Ugb2JsaWdhdGlvbnMiXSxlLmV4cG9ydHNbIkNhc2ggJiBlcXVpdmFsZW50c19zdHVkeSJdPVsiQ2FzaCAmIGVxdWl2YWxlbnRzIl0sZS5leHBvcnRzWyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzX3N0dWR5Il09WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJDYXNoIGNvbnZlcnNpb24gY3ljbGVfc3R1ZHkiXT1bIkNhc2ggY29udmVyc2lvbiBjeWNsZSJdLGUuZXhwb3J0c1siQ2FzaCBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZyb20gZmluYW5jaW5nIGFjdGl2aXRpZXMiXSxlLmV4cG9ydHNbIkNhc2ggZnJvbSBpbnZlc3RpbmcgYWN0aXZpdGllc19zdHVkeSJdPVsiQ2FzaCBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkNhc2ggcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJDYXNoIHRvIGRlYnQgcmF0aW9fc3R1ZHkiXT1bIkNhc2ggdG8gZGVidCByYXRpbyJdLGUuZXhwb3J0c1siQ2hhaWtpbiBNb25leSBGbG93X3N0dWR5Il09WyJDaGFpa2luIE1vbmV5IEZsb3ciXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFpa2luIFZvbGF0aWxpdHlfc3R1ZHkiXT1bIkNoYWlraW4gVm9sYXRpbGl0eSJdLGUuZXhwb3J0c1siQ2hhbmRlIEtyb2xsIFN0b3Bfc3R1ZHkiXT1bIkNoYW5kZSBLcm9sbCBTdG9wIl0sZS5leHBvcnRzWyJDaGFuZGUgTW9tZW50dW0gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhbmRlIE1vbWVudHVtIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBhY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJDaGFuZ2UgaW4gYWNjb3VudHMgcGF5YWJsZSJdLGUuZXhwb3J0c1siQ2hhbmdlIGluIGFjY291bnRzIHJlY2VpdmFibGVfc3R1ZHkiXT1bIkNoYW5nZSBpbiBhY2NvdW50cyByZWNlaXZhYmxlIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gYWNjcnVlZCBleHBlbnNlc19zdHVkeSJdPVsiQ2hhbmdlIGluIGFjY3J1ZWQgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBpbnZlbnRvcmllc19zdHVkeSJdPVsiQ2hhbmdlIGluIGludmVudG9yaWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzX3N0dWR5Il09WyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gdGF4ZXMgcGF5YWJsZV9zdHVkeSJdPVsiQ2hhbmdlIGluIHRheGVzIHBheWFibGUiXSxlLmV4cG9ydHNbIkNoYW5nZXMgaW4gd29ya2luZyBjYXBpdGFsX3N0dWR5Il09WyJDaGFuZ2VzIGluIHdvcmtpbmcgY2FwaXRhbCJdLGUuZXhwb3J0cy5DaGFubmVsQnJlYWtPdXRTdHJhdGVneV9zdHVkeT1bIkNoYW5uZWxCcmVha091dFN0cmF0ZWd5Il0sCmUuZXhwb3J0c1siQ2hvcCBab25lX3N0dWR5Il09WyJDaG9wIFpvbmUiXSxlLmV4cG9ydHNbIkNob3BwaW5lc3MgSW5kZXhfc3R1ZHkiXT1bIkNob3BwaW5lc3MgSW5kZXgiXSxlLmV4cG9ydHNbIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4X3N0dWR5Il09WyJDb21tb2RpdHkgQ2hhbm5lbCBJbmRleCJdLGUuZXhwb3J0c1siQ29tbW9uIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJDb21tb24gZGl2aWRlbmRzIHBhaWQiXSxlLmV4cG9ydHNbIkNvbW1vbiBlcXVpdHksIHRvdGFsX3N0dWR5Il09WyJDb21tb24gZXF1aXR5LCB0b3RhbCJdLGUuZXhwb3J0c1siQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZV9zdHVkeSJdPVsiQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZSJdLGUuZXhwb3J0cy5Db21wYXJlX3N0dWR5PVsiQ29tcGFyZSJdLGUuZXhwb3J0c1siQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnNfc3R1ZHkiXT1bIkNvbmRpdGlvbmFsIEV4cHJlc3Npb25zIl0sZS5leHBvcnRzWyJDb25ub3JzIFJTSV9zdHVkeSJdPVsiQ29ubm9ycyBSU0kiXSxlLmV4cG9ydHMuQ29ubm9yc1JTSV9zdHVkeT1bIkNvbm5vcnNSU0kiXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3lfc3R1ZHkiXT1bIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkNvcHBvY2sgQ3VydmVfc3R1ZHkiXT1bIkNvcHBvY2sgQ3VydmUiXSxlLmV4cG9ydHNbIkNvcnJlbGF0aW9uIC0gTG9nX3N0dWR5Il09WyJDb3JyZWxhdGlvbiAtIExvZyJdLGUuZXhwb3J0c1siQ29ycmVsYXRpb24gQ29lZmZpY2llbnRfc3R1ZHkiXT1bIkNvcnJlbGF0aW9uIENvZWZmaWNpZW50Il0sZS5leHBvcnRzWyJDb3N0IG9mIGdvb2RzIHNvbGRfc3R1ZHkiXT1bIkNvc3Qgb2YgZ29vZHMgc29sZCJdLGUuZXhwb3J0c1siQ29zdCBvZiBnb29kc19zdHVkeSJdPVsiQ29zdCBvZiBnb29kcyJdLGUuZXhwb3J0c1siQ3J5cHRvIE9wZW4gSW50ZXJlc3Rfc3R1ZHkiXT1bIkNyeXB0byBPcGVuIEludGVyZXN0Il0sZS5leHBvcnRzWyJDdW11bGF0aXZlIFZvbHVtZSBEZWx0YV9zdHVkeSJdPVsiQ3VtdWxhdGl2ZSBWb2x1bWUgRGVsdGEiXSxlLmV4cG9ydHNbIkN1bXVsYXRpdmUgVm9sdW1lIEluZGV4X3N0dWR5Il09WyJDdW11bGF0aXZlIFZvbHVtZSBJbmRleCJdLGUuZXhwb3J0c1siQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQ3VycmVudCBwb3J0aW9uIG9mIExUIGRlYnQgYW5kIGNhcGl0YWwgbGVhc2VzX3N0dWR5Il09WyJDdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidCBhbmQgY2FwaXRhbCBsZWFzZXMiXSxlLmV4cG9ydHNbIkN1cnJlbnQgcmF0aW9fc3R1ZHkiXT1bIkN1cnJlbnQgcmF0aW8iXSxlLmV4cG9ydHMuRE1JX3N0dWR5PVsiRE1JIl0sZS5leHBvcnRzWyJEYXJrIENsb3VkIENvdmVyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRGFyayBDbG91ZCBDb3ZlciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkRheXMgaW52ZW50b3J5X3N0dWR5Il09WyJEYXlzIGludmVudG9yeSJdLGUuZXhwb3J0c1siRGF5cyBwYXlhYmxlX3N0dWR5Il09WyJEYXlzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRheXMgc2FsZXMgb3V0c3RhbmRpbmdfc3R1ZHkiXT1bIkRheXMgc2FsZXMgb3V0c3RhbmRpbmciXSxlLmV4cG9ydHNbIkRlYnQgdG8gRUJJVERBIHJhdGlvX3N0dWR5Il09WyJEZWJ0IHRvIEVCSVREQSByYXRpbyJdLGUuZXhwb3J0c1siRGVidCB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkRlYnQgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJEZWJ0IHRvIGVxdWl0eSByYXRpb19zdHVkeSJdPVsiRGVidCB0byBlcXVpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIkRlYnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiRGVidCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJEZWZlcnJlZCBpbmNvbWUsIGN1cnJlbnRfc3R1ZHkiXT1bIkRlZmVycmVkIGluY29tZSwgY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudF9zdHVkeSJdPVsiRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGFzc2V0c19zdHVkeSJdPVsiRGVmZXJyZWQgdGF4IGFzc2V0cyJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJEZWZlcnJlZCB0YXggbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkRlZmVycmVkIHRheGVzIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZWZlcnJlZCB0YXhlcyAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbl9zdHVkeSJdPVsiRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbiJdLGUuZXhwb3J0c1siRGVwcmVjaWF0aW9uICYgYW1vcnRpemF0aW9uIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZXByZWNpYXRpb24gJiBhbW9ydGl6YXRpb24gKGNhc2ggZmxvdykiXSxlLmV4cG9ydHNbIkRlcHJlY2lhdGlvbi9kZXBsZXRpb25fc3R1ZHkiXT1bIkRlcHJlY2lhdGlvbi9kZXBsZXRpb24iXSxlLmV4cG9ydHMuRGVwcmVjaWF0aW9uX3N0dWR5PVsiRGVwcmVjaWF0aW9uIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9zdHVkeSJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgRVBTX3N0dWR5Il09WyJEaWx1dGVkIEVQUyJdLGUuZXhwb3J0c1siRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKV9zdHVkeSJdPVsiRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKSJdLGUuZXhwb3J0c1siRGlsdXRlZCBuZXQgaW5jb21lIGF2YWlsYWJsZSB0byBjb21tb24gc3RvY2tob2xkZXJzX3N0dWR5Il09WyJEaWx1dGVkIG5ldCBpbmNvbWUgYXZhaWxhYmxlIHRvIGNvbW1vbiBzdG9ja2hvbGRlcnMiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJEaWx1dGVkIHNoYXJlcyBvdXRzdGFuZGluZyJdLAplLmV4cG9ydHNbIkRpbHV0aW9uIGFkanVzdG1lbnRfc3R1ZHkiXT1bIkRpbHV0aW9uIGFkanVzdG1lbnQiXSxlLmV4cG9ydHNbIkRpcmVjdGlvbmFsIE1vdmVtZW50IEluZGV4X3N0dWR5Il09WyJEaXJlY3Rpb25hbCBNb3ZlbWVudCBJbmRleCJdLGUuZXhwb3J0c1siRGlyZWN0aW9uYWwgTW92ZW1lbnRfc3R1ZHkiXT1bIkRpcmVjdGlvbmFsIE1vdmVtZW50Il0sZS5leHBvcnRzWyJEaXNjb250aW51ZWQgb3BlcmF0aW9uc19zdHVkeSJdPVsiRGlzY29udGludWVkIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHNbIkRpdmVyZ2VuY2UgSW5kaWNhdG9yX3N0dWR5Il09WyJEaXZlcmdlbmNlIEluZGljYXRvciJdLGUuZXhwb3J0c1siRGl2aWRlbmQgcGF5b3V0IHJhdGlvICVfc3R1ZHkiXT1bIkRpdmlkZW5kIHBheW91dCByYXRpbyAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZCB5aWVsZCAlX3N0dWR5Il09WyJEaXZpZGVuZCB5aWVsZCAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZHMgcGF5YWJsZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmUgLSBjb21tb24gc3RvY2sgcHJpbWFyeSBpc3N1ZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBlciBzaGFyZSAtIGNvbW1vbiBzdG9jayBwcmltYXJ5IGlzc3VlIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzLkRvamlfc3R1ZHk9WyJEb2ppIl0sZS5leHBvcnRzWyJEb25jaGlhbiBDaGFubmVsc19zdHVkeSJdPVsiRG9uY2hpYW4gQ2hhbm5lbHMiXSxlLmV4cG9ydHNbIkRvdWJsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiRG91YmxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJEb3VibGUgRU1BX3N0dWR5Il09WyJEb3VibGUgRU1BIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkRvdWJsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siRG93bnNpZGUgVGFzdWtpIEdhcCAtIEJlYXJpc2hfc3R1ZHkiXT1bIkRvd25zaWRlIFRhc3VraSBHYXAgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEcmFnb25mbHkgRG9qaSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkRyYWdvbmZseSBEb2ppIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siRUJJVCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVCSVQgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJFQklUREEgbWFyZ2luICVfc3R1ZHkiXT1bIkVCSVREQSBtYXJnaW4gJSJdLGUuZXhwb3J0c1siRUJJVERBIHBlciBzaGFyZV9zdHVkeSJdPVsiRUJJVERBIHBlciBzaGFyZSJdLGUuZXhwb3J0cy5FQklUREFfc3R1ZHk9WyJFQklUREEiXSxlLmV4cG9ydHMuRUJJVF9zdHVkeT1bIkVCSVQiXSxlLmV4cG9ydHNbIkVNQSBDcm9zc19zdHVkeSJdPVsiRU1BIENyb3NzIl0sZS5leHBvcnRzWyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoX3N0dWR5Il09WyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoIl0sZS5leHBvcnRzWyJFUFMgZGlsdXRlZCBvbmUgeWVhciBncm93dGhfc3R1ZHkiXT1bIkVQUyBkaWx1dGVkIG9uZSB5ZWFyIGdyb3d0aCJdLGUuZXhwb3J0c1siRVBTIGVzdGltYXRlc19zdHVkeSJdPVsiRVBTIGVzdGltYXRlcyJdLGUuZXhwb3J0c1siRWFybmluZ3MgeWllbGRfc3R1ZHkiXT1bIkVhcm5pbmdzIHlpZWxkIl0sZS5leHBvcnRzWyJFYXNlIE9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIE9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFYXNlIG9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIG9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFZmZlY3RpdmUgaW50ZXJlc3QgcmF0ZSBvbiBkZWJ0ICVfc3R1ZHkiXT1bIkVmZmVjdGl2ZSBpbnRlcmVzdCByYXRlIG9uIGRlYnQgJSJdLGUuZXhwb3J0c1siRWxkZXIgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVyIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcidzIEZvcmNlIEluZGV4X3N0dWR5Il09WyJFbGRlcidzIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcnMgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVycyBGb3JjZSBJbmRleCJdLGUuZXhwb3J0c1siRWxsaW90dCBXYXZlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkVsbGlvdHQgV2F2ZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCZWFyaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCdWxsaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIEVCSVQgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVCByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZSB0byBFQklUREEgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVERBIHJhdGlvIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZV9zdHVkeSJdPVsiRW50ZXJwcmlzZSB2YWx1ZSJdLGUuZXhwb3J0cy5FbnZlbG9wZV9zdHVkeT1bIkVudmVsb3BlIl0sZS5leHBvcnRzLkVudmVsb3Blc19zdHVkeT1bIkVudmVsb3BlcyJdLGUuZXhwb3J0c1siRXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJFcXVpdHkgaW4gZWFybmluZ3MiXSxlLmV4cG9ydHNbIkVxdWl0eSB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkVxdWl0eSB0byBhc3NldHMgcmF0aW8iXSxlLmV4cG9ydHNbIkV2ZW5pbmcgRG9qaSBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRXZlbmluZyBEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoIl0sCmUuZXhwb3J0c1siRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siRmFsbGluZyBXZWRnZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJGYWxsaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkZhbGxpbmcgV2luZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBXaW5kb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlc19zdHVkeSJdPVsiRmluYW5jaW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHNvdXJjZXMiXSxlLmV4cG9ydHNbIkZpbmFuY2luZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzX3N0dWR5Il09WyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgdXNlcyJdLGUuZXhwb3J0c1siRmlzaGVyIFRyYW5zZm9ybV9zdHVkeSJdPVsiRmlzaGVyIFRyYW5zZm9ybSJdLGUuZXhwb3J0c1siRml4ZWQgUmFuZ2UgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkZpeGVkIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJGaXhlZCBSYW5nZV9zdHVkeSJdPVsiRml4ZWQgUmFuZ2UiXSxlLmV4cG9ydHNbIkZsb2F0IHNoYXJlcyBvdXRzdGFuZGluZ19zdHVkeSJdPVsiRmxvYXQgc2hhcmVzIG91dHN0YW5kaW5nIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvdyBtYXJnaW4gJV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgbWFyZ2luICUiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IHBlciBzaGFyZV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvd19zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3ciXSxlLmV4cG9ydHNbIkZyZWUgZmxvYXRfc3R1ZHkiXT1bIkZyZWUgZmxvYXQiXSxlLmV4cG9ydHNbIkZ1bG1lciBIIGZhY3Rvcl9zdHVkeSJdPVsiRnVsbWVyIEggZmFjdG9yIl0sZS5leHBvcnRzWyJGdW5kaW5nIFJhdGVfc3R1ZHkiXT1bIkZ1bmRpbmcgUmF0ZSJdLGUuZXhwb3J0c1siRnVuZHMgZnJvbSBvcGVyYXRpb25zX3N0dWR5Il09WyJGdW5kcyBmcm9tIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHMuR2Fwc19zdHVkeT1bIkdhcHMiXSxlLmV4cG9ydHNbIkdvb2R3aWxsIHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR29vZHdpbGwgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJHb29kd2lsbCwgbmV0X3N0dWR5Il09WyJHb29kd2lsbCwgbmV0Il0sZS5leHBvcnRzWyJHcmFoYW0ncyBudW1iZXJfc3R1ZHkiXT1bIkdyYWhhbSdzIG51bWJlciJdLGUuZXhwb3J0c1siR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaF9zdHVkeSJdPVsiR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siR3JlZWR5IFN0cmF0ZWd5X3N0dWR5Il09WyJHcmVlZHkgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkdyb3NzIG1hcmdpbiAlX3N0dWR5Il09WyJHcm9zcyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpbyJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0X3N0dWR5Il09WyJHcm9zcyBwcm9maXQiXSxlLmV4cG9ydHNbIkdyb3NzIHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiR3Jvc3MgcHJvcGVydHkvcGxhbnQvZXF1aXBtZW50Il0sZS5leHBvcnRzWyJHdXBweSBNdWx0aXBsZSBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiR3VwcHkgTXVsdGlwbGUgTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkhhbW1lciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkhhbW1lciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIkhhbmdpbmcgTWFuIC0gQmVhcmlzaF9zdHVkeSJdPVsiSGFuZ2luZyBNYW4gLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkhpc3RvcmljYWwgVm9sYXRpbGl0eV9zdHVkeSJdPVsiSGlzdG9yaWNhbCBWb2xhdGlsaXR5Il0sZS5leHBvcnRzWyJIdWxsIE1vdmluZyBBdmVyYWdlX3N0dWR5Il09WyJIdWxsIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJJY2hpbW9rdSBDbG91ZF9zdHVkeSJdPVsiSWNoaW1va3UgQ2xvdWQiXSxlLmV4cG9ydHMuSWNoaW1va3Vfc3R1ZHk9WyJJY2hpbW9rdSJdLGUuZXhwb3J0cy5JbXBhaXJtZW50c19zdHVkeT1bIkltcGFpcm1lbnRzIl0sZS5leHBvcnRzWyJJblNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJJblNpZGUgQmFyIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJJbmNvbWUgVGF4IENyZWRpdHNfc3R1ZHkiXT1bIkluY29tZSBUYXggQ3JlZGl0cyJdLGUuZXhwb3J0c1siSW5jb21lIFRheCwgY3VycmVudCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSBUYXgsIGN1cnJlbnQgLSBmb3JlaWduIl0sZS5leHBvcnRzWyJJbmNvbWUgdGF4IHBheWFibGVfc3R1ZHkiXT1bIkluY29tZSB0YXggcGF5YWJsZSJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgY3VycmVudCAtIGRvbWVzdGljX3N0dWR5Il09WyJJbmNvbWUgdGF4LCBjdXJyZW50IC0gZG9tZXN0aWMiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGN1cnJlbnRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGN1cnJlbnQiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWNfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWMiXSwKZS5leHBvcnRzWyJJbmNvbWUgdGF4LCBkZWZlcnJlZCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZm9yZWlnbiJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgZGVmZXJyZWRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIl0sZS5leHBvcnRzWyJJbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgY2FwaXRhbGl6ZWQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGNvdmVyYWdlX3N0dWR5Il09WyJJbnRlcmVzdCBjb3ZlcmFnZSJdLGUuZXhwb3J0c1siSW50ZXJlc3QgZXhwZW5zZSBvbiBkZWJ0X3N0dWR5Il09WyJJbnRlcmVzdCBleHBlbnNlIG9uIGRlYnQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGV4cGVuc2UsIG5ldCBvZiBpbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgZXhwZW5zZSwgbmV0IG9mIGludGVyZXN0IGNhcGl0YWxpemVkIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIHByb2dyZXNzIHBheW1lbnRzICYgb3RoZXJfc3R1ZHkiXT1bIkludmVudG9yaWVzIC0gcHJvZ3Jlc3MgcGF5bWVudHMgJiBvdGhlciJdLGUuZXhwb3J0c1siSW52ZW50b3JpZXMgLSByYXcgbWF0ZXJpYWxzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIHJhdyBtYXRlcmlhbHMiXSxlLmV4cG9ydHNbIkludmVudG9yaWVzIC0gd29yayBpbiBwcm9ncmVzc19zdHVkeSJdPVsiSW52ZW50b3JpZXMgLSB3b3JrIGluIHByb2dyZXNzIl0sZS5leHBvcnRzWyJJbnZlbnRvcnkgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiSW52ZW50b3J5IHRvIHJldmVudWUgcmF0aW8iXSxlLmV4cG9ydHNbIkludmVudG9yeSB0dXJub3Zlcl9zdHVkeSJdPVsiSW52ZW50b3J5IHR1cm5vdmVyIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoX3N0dWR5Il09WyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciBzb3VyY2VzX3N0dWR5Il09WyJJbnZlc3RpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlcyJdLGUuZXhwb3J0c1siSW52ZXN0aW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHVzZXNfc3R1ZHkiXT1bIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzIl0sZS5leHBvcnRzWyJJbnZlc3RtZW50cyBpbiB1bmNvbnNvbGlkYXRlZCBzdWJzaWRpYXJpZXNfc3R1ZHkiXT1bIkludmVzdG1lbnRzIGluIHVuY29uc29saWRhdGVkIHN1YnNpZGlhcmllcyJdLGUuZXhwb3J0c1siSXNzdWFuY2Ugb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIGRlYnQsIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBkZWJ0LCBuZXQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygb3RoZXIgZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBvdGhlciBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIHNob3J0IHRlcm0gZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygc3RvY2ssIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzdG9jaywgbmV0Il0sZS5leHBvcnRzWyJLWiBpbmRleF9zdHVkeSJdPVsiS1ogaW5kZXgiXSxlLmV4cG9ydHNbIktlbHRuZXIgQ2hhbm5lbCBTdHJhdGVneV9zdHVkeSJdPVsiS2VsdG5lciBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5X3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzX3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIl0sZS5leHBvcnRzWyJLZXkgc3RhdHNfc3R1ZHkiXT1bIktleSBzdGF0cyJdLGUuZXhwb3J0c1siS2lja2luZyAtIEJlYXJpc2hfc3R1ZHkiXT1bIktpY2tpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJLaWNraW5nIC0gQnVsbGlzaF9zdHVkeSJdPVsiS2lja2luZyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIktsaW5nZXIgT3NjaWxsYXRvcl9zdHVkeSJdPVsiS2xpbmdlciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJLbm93IFN1cmUgVGhpbmdfc3R1ZHkiXT1bIktub3cgU3VyZSBUaGluZyJdLGUuZXhwb3J0c1siTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0c1siTGVnYWwgY2xhaW0gZXhwZW5zZV9zdHVkeSJdPVsiTGVnYWwgY2xhaW0gZXhwZW5zZSJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbF9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbCJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ3VydmVfc3R1ZHkiXT1bIkxpbmVhciBSZWdyZXNzaW9uIEN1cnZlIl0sZS5leHBvcnRzWyJMaW5lYXIgUmVncmVzc2lvbiBTbG9wZV9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gU2xvcGUiXSxlLmV4cG9ydHNbIkxpbmVhciBSZWdyZXNzaW9uX3N0dWR5Il09WyJMaW5lYXIgUmVncmVzc2lvbiJdLGUuZXhwb3J0cy5MaXF1aWRhdGlvbnNfc3R1ZHk9WyJMaXF1aWRhdGlvbnMiXSwKZS5leHBvcnRzWyJMaXF1aWRpdHkgcmF0aW9zX3N0dWR5Il09WyJMaXF1aWRpdHkgcmF0aW9zIl0sZS5leHBvcnRzWyJMb25nIExvd2VyIFNoYWRvdyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkxvbmcgTG93ZXIgU2hhZG93IC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTG9uZyBTaG9ydCBBY2NvdW50cyAlX3N0dWR5Il09WyJMb25nIFNob3J0IEFjY291bnRzICUiXSxlLmV4cG9ydHNbIkxvbmcgVXBwZXIgU2hhZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiTG9uZyBVcHBlciBTaGFkb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCBleGNsLiBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgZXhjbC4gbGVhc2UgbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgdG8gdG90YWwgYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCB0byB0b3RhbCBlcXVpdHkgcmF0aW9fc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGVxdWl0eSByYXRpbyJdLGUuZXhwb3J0c1siTG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJMb25nIHRlcm0gaW52ZXN0bWVudHNfc3R1ZHkiXT1bIkxvbmcgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50c19zdHVkeSJdPVsiTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50cyJdLGUuZXhwb3J0c1siTUEgQ3Jvc3Nfc3R1ZHkiXT1bIk1BIENyb3NzIl0sZS5leHBvcnRzWyJNQSB3aXRoIEVNQSBDcm9zc19zdHVkeSJdPVsiTUEgd2l0aCBFTUEgQ3Jvc3MiXSxlLmV4cG9ydHNbIk1BL0VNQSBDcm9zc19zdHVkeSJdPVsiTUEvRU1BIENyb3NzIl0sZS5leHBvcnRzWyJNQUNEIFN0cmF0ZWd5X3N0dWR5Il09WyJNQUNEIFN0cmF0ZWd5Il0sZS5leHBvcnRzLk1BQ0Rfc3R1ZHk9WyJNQUNEIl0sZS5leHBvcnRzWyJNYWpvcml0eSBSdWxlX3N0dWR5Il09WyJNYWpvcml0eSBSdWxlIl0sZS5leHBvcnRzWyJNYXJrZXQgY2FwaXRhbGl6YXRpb25fc3R1ZHkiXT1bIk1hcmtldCBjYXBpdGFsaXphdGlvbiJdLGUuZXhwb3J0c1siTWFydWJvenUgQmxhY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJNYXJ1Ym96dSBCbGFjayAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIk1hcnVib3p1IFdoaXRlIC0gQnVsbGlzaF9zdHVkeSJdPVsiTWFydWJvenUgV2hpdGUgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJNYXNzIEluZGV4X3N0dWR5Il09WyJNYXNzIEluZGV4Il0sZS5leHBvcnRzWyJNY0dpbmxleSBEeW5hbWljX3N0dWR5Il09WyJNY0dpbmxleSBEeW5hbWljIl0sZS5leHBvcnRzWyJNZWRpYW4gUHJpY2Vfc3R1ZHkiXT1bIk1lZGlhbiBQcmljZSJdLGUuZXhwb3J0cy5NZWRpYW5fc3R1ZHk9WyJNZWRpYW4iXSxlLmV4cG9ydHNbIk1pbm9yaXR5IGludGVyZXN0X3N0dWR5Il09WyJNaW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTWlzY2VsbGFuZW91cyBub24tb3BlcmF0aW5nIGV4cGVuc2Vfc3R1ZHkiXT1bIk1pc2NlbGxhbmVvdXMgbm9uLW9wZXJhdGluZyBleHBlbnNlIl0sZS5leHBvcnRzWyJNb21lbnR1bSBTdHJhdGVneV9zdHVkeSJdPVsiTW9tZW50dW0gU3RyYXRlZ3kiXSxlLmV4cG9ydHMuTW9tZW50dW1fc3R1ZHk9WyJNb21lbnR1bSJdLGUuZXhwb3J0c1siTW9uZXkgRmxvdyBJbmRleF9zdHVkeSJdPVsiTW9uZXkgRmxvdyBJbmRleCJdLGUuZXhwb3J0c1siTW9uZXkgRmxvd19zdHVkeSJdPVsiTW9uZXkgRmxvdyJdLGUuZXhwb3J0c1siTW9vbiBQaGFzZXNfc3R1ZHkiXT1bIk1vb24gUGhhc2VzIl0sZS5leHBvcnRzWyJNb3JuaW5nIERvamkgU3RhciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIk1vcm5pbmcgRG9qaSBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW9ybmluZyBTdGFyIC0gQnVsbGlzaF9zdHVkeSJdPVsiTW9ybmluZyBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgQWRhcHRpdmVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEFkYXB0aXZlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBEb3VibGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIERvdWJsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgRXhwb25lbnRpYWxfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBNb2RpZmllZF9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgTW9kaWZpZWQiXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIE11bHRpcGxlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBNdWx0aXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgUmliYm9uX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBSaWJib24iXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIFNpbXBsZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgU2ltcGxlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBUcmlwbGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFRyaXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgV2VpZ2h0ZWRfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFdlaWdodGVkIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIk1vdmluZ0F2ZyBDcm9zc19zdHVkeSJdPVsiTW92aW5nQXZnIENyb3NzIl0sCmUuZXhwb3J0c1siTW92aW5nQXZnMkxpbmUgQ3Jvc3Nfc3R1ZHkiXT1bIk1vdmluZ0F2ZzJMaW5lIENyb3NzIl0sZS5leHBvcnRzWyJNdWx0aS1UaW1lIFBlcmlvZCBDaGFydHNfc3R1ZHkiXT1bIk11bHRpLVRpbWUgUGVyaW9kIENoYXJ0cyJdLGUuZXhwb3J0c1siTmV0IFZvbHVtZV9zdHVkeSJdPVsiTmV0IFZvbHVtZSJdLGUuZXhwb3J0c1siTmV0IGN1cnJlbnQgYXNzZXQgdmFsdWUgcGVyIHNoYXJlX3N0dWR5Il09WyJOZXQgY3VycmVudCBhc3NldCB2YWx1ZSBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIk5ldCBkZWJ0X3N0dWR5Il09WyJOZXQgZGVidCJdLGUuZXhwb3J0c1siTmV0IGluY29tZSAoY2FzaCBmbG93KV9zdHVkeSJdPVsiTmV0IGluY29tZSAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBiZWZvcmUgZGlzY29udGludWVkIG9wZXJhdGlvbnNfc3R1ZHkiXT1bIk5ldCBpbmNvbWUgYmVmb3JlIGRpc2NvbnRpbnVlZCBvcGVyYXRpb25zIl0sZS5leHBvcnRzWyJOZXQgaW5jb21lIHBlciBlbXBsb3llZV9zdHVkeSJdPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWVfc3R1ZHkiXT1bIk5ldCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5ldCBpbnRhbmdpYmxlIGFzc2V0c19zdHVkeSJdPVsiTmV0IGludGFuZ2libGUgYXNzZXRzIl0sZS5leHBvcnRzWyJOZXQgbWFyZ2luICVfc3R1ZHkiXT1bIk5ldCBtYXJnaW4gJSJdLGUuZXhwb3J0c1siTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudCJdLGUuZXhwb3J0c1siTm9uLWNhc2ggaXRlbXNfc3R1ZHkiXT1bIk5vbi1jYXNoIGl0ZW1zIl0sZS5leHBvcnRzWyJOb24tY29udHJvbGxpbmcvbWlub3JpdHkgaW50ZXJlc3Rfc3R1ZHkiXT1bIk5vbi1jb250cm9sbGluZy9taW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTm9uLW9wZXJhdGluZyBpbmNvbWUsIGV4Y2wuIGludGVyZXN0IGV4cGVuc2VzX3N0dWR5Il09WyJOb24tb3BlcmF0aW5nIGluY29tZSwgZXhjbC4gaW50ZXJlc3QgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIk5vbi1vcGVyYXRpbmcgaW5jb21lLCB0b3RhbF9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbmNvbWUsIHRvdGFsIl0sZS5leHBvcnRzWyJOb24tb3BlcmF0aW5nIGludGVyZXN0IGluY29tZV9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbnRlcmVzdCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5vdGUgcmVjZWl2YWJsZSAtIGxvbmcgdGVybV9zdHVkeSJdPVsiTm90ZSByZWNlaXZhYmxlIC0gbG9uZyB0ZXJtIl0sZS5leHBvcnRzWyJOb3RlcyBwYXlhYmxlX3N0dWR5Il09WyJOb3RlcyBwYXlhYmxlIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgZW1wbG95ZWVzX3N0dWR5Il09WyJOdW1iZXIgb2YgZW1wbG95ZWVzIl0sZS5leHBvcnRzWyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzX3N0dWR5Il09WyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzIl0sZS5leHBvcnRzWyJPbiBCYWxhbmNlIFZvbHVtZV9zdHVkeSJdPVsiT24gQmFsYW5jZSBWb2x1bWUiXSxlLmV4cG9ydHNbIk9uIE5lY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJPbiBOZWNrIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siT3BlbiBJbnRlcmVzdF9zdHVkeSJdPVsiT3BlbiBJbnRlcmVzdCJdLGUuZXhwb3J0c1siT3BlcmF0aW5nIGNhc2ggZmxvdyBwZXIgc2hhcmVfc3R1ZHkiXT1bIk9wZXJhdGluZyBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgZWFybmluZ3MgeWllbGQgJV9zdHVkeSJdPVsiT3BlcmF0aW5nIGVhcm5pbmdzIHlpZWxkICUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUylfc3R1ZHkiXT1bIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUykiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBpbmNvbWVfc3R1ZHkiXT1bIk9wZXJhdGluZyBpbmNvbWUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiT3BlcmF0aW5nIGxlYXNlIGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgbWFyZ2luICVfc3R1ZHkiXT1bIk9wZXJhdGluZyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siT3RoZXIgQ09HU19zdHVkeSJdPVsiT3RoZXIgQ09HUyJdLGUuZXhwb3J0c1siT3RoZXIgY29tbW9uIGVxdWl0eV9zdHVkeSJdPVsiT3RoZXIgY29tbW9uIGVxdWl0eSJdLGUuZXhwb3J0c1siT3RoZXIgY29zdCBvZiBnb29kcyBzb2xkX3N0dWR5Il09WyJPdGhlciBjb3N0IG9mIGdvb2RzIHNvbGQiXSxlLmV4cG9ydHNbIk90aGVyIGN1cnJlbnQgYXNzZXRzLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgY3VycmVudCBhc3NldHMsIHRvdGFsIl0sZS5leHBvcnRzWyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzX3N0dWR5Il09WyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJPdGhlciBmaW5hbmNpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgZmluYW5jaW5nIGNhc2ggZmxvdyBpdGVtcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIGludGFuZ2libGVzLCBuZXRfc3R1ZHkiXT1bIk90aGVyIGludGFuZ2libGVzLCBuZXQiXSxlLmV4cG9ydHNbIk90aGVyIGludmVzdGluZyBjYXNoIGZsb3cgaXRlbXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBpbnZlc3RpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIk90aGVyIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJPdGhlciBsaWFiaWxpdGllcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxpYWJpbGl0aWVzLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgbG9uZyB0ZXJtIGFzc2V0cywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxvbmcgdGVybSBhc3NldHMsIHRvdGFsIl0sCmUuZXhwb3J0c1siT3RoZXIgbm9uLWN1cnJlbnQgbGlhYmlsaXRpZXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBub24tY3VycmVudCBsaWFiaWxpdGllcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIHJlY2VpdmFibGVzX3N0dWR5Il09WyJPdGhlciByZWNlaXZhYmxlcyJdLGUuZXhwb3J0c1siT3RoZXIgc2hvcnQgdGVybSBkZWJ0X3N0dWR5Il09WyJPdGhlciBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIk91dFNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJPdXRTaWRlIEJhciBTdHJhdGVneSJdLGUuZXhwb3J0cy5PdmVybGF5X3N0dWR5PVsiT3ZlcmxheSJdLGUuZXhwb3J0c1siUEVHIHJhdGlvX3N0dWR5Il09WyJQRUcgcmF0aW8iXSxlLmV4cG9ydHNbIlBhaWQgaW4gY2FwaXRhbF9zdHVkeSJdPVsiUGFpZCBpbiBjYXBpdGFsIl0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5X3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSX3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIl0sZS5leHBvcnRzWyJQZXIgc2hhcmUgbWV0cmljc19zdHVkeSJdPVsiUGVyIHNoYXJlIG1ldHJpY3MiXSxlLmV4cG9ydHMuUGVyZm9ybWFuY2Vfc3R1ZHk9WyJQZXJmb3JtYW5jZSJdLGUuZXhwb3J0c1siUGVyaW9kaWMgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlBlcmlvZGljIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJQaWVyY2luZyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlBpZXJjaW5nIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUGlvdHJvc2tpIEYtc2NvcmVfc3R1ZHkiXT1bIlBpb3Ryb3NraSBGLXNjb3JlIl0sZS5leHBvcnRzWyJQaXZvdCBFeHRlbnNpb24gU3RyYXRlZ3lfc3R1ZHkiXT1bIlBpdm90IEV4dGVuc2lvbiBTdHJhdGVneSJdLGUuZXhwb3J0c1siUGl2b3QgUG9pbnRzIEhpZ2ggTG93X3N0dWR5Il09WyJQaXZvdCBQb2ludHMgSGlnaCBMb3ciXSxlLmV4cG9ydHNbIlBpdm90IFBvaW50cyBTdGFuZGFyZF9zdHVkeSJdPVsiUGl2b3QgUG9pbnRzIFN0YW5kYXJkIl0sZS5leHBvcnRzWyJQaXZvdCBSZXZlcnNhbCBTdHJhdGVneV9zdHVkeSJdPVsiUGl2b3QgUmV2ZXJzYWwgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIlByZWZlcnJlZCBkaXZpZGVuZHMgcGFpZF9zdHVkeSJdPVsiUHJlZmVycmVkIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgZGl2aWRlbmRzX3N0dWR5Il09WyJQcmVmZXJyZWQgZGl2aWRlbmRzIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlX3N0dWR5Il09WyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlIl0sZS5leHBvcnRzWyJQcmVwYWlkIGV4cGVuc2VzX3N0dWR5Il09WyJQcmVwYWlkIGV4cGVuc2VzIl0sZS5leHBvcnRzWyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzIl0sZS5leHBvcnRzWyJQcmV0YXggaW5jb21lX3N0dWR5Il09WyJQcmV0YXggaW5jb21lIl0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5X3N0dWR5Il09WyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsX3N0dWR5Il09WyJQcmljZSBDaGFubmVsIl0sZS5leHBvcnRzWyJQcmljZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJQcmljZSBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRfc3R1ZHkiXT1bIlByaWNlIFRhcmdldCJdLGUuZXhwb3J0c1siUHJpY2UgVm9sdW1lIFRyZW5kX3N0dWR5Il09WyJQcmljZSBWb2x1bWUgVHJlbmQiXSxlLmV4cG9ydHNbIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHRvIGJvb2sgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIGJvb2sgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGNhc2ggZmxvdyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gY2FzaCBmbG93IHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byBlYXJuaW5ncyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gZWFybmluZ3MgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGZyZWUgY2FzaCBmbG93IHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byBmcmVlIGNhc2ggZmxvdyByYXRpbyJdLGUuZXhwb3J0c1siUHJpY2UgdG8gc2FsZXMgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIHNhbGVzIHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvIl0sZS5leHBvcnRzWyJQcm9maXRhYmlsaXR5IHJhdGlvc19zdHVkeSJdPVsiUHJvZml0YWJpbGl0eSByYXRpb3MiXSxlLmV4cG9ydHNbIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2Vfc3R1ZHkiXT1bIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2UiXSxlLmV4cG9ydHNbIlB1cmNoYXNlIG9mIGludmVzdG1lbnRzX3N0dWR5Il09WyJQdXJjaGFzZSBvZiBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siUHVyY2hhc2UvYWNxdWlzaXRpb24gb2YgYnVzaW5lc3Nfc3R1ZHkiXT1bIlB1cmNoYXNlL2FjcXVpc2l0aW9uIG9mIGJ1c2luZXNzIl0sZS5leHBvcnRzWyJQdXJjaGFzZS9zYWxlIG9mIGJ1c2luZXNzLCBuZXRfc3R1ZHkiXT1bIlB1cmNoYXNlL3NhbGUgb2YgYnVzaW5lc3MsIG5ldCJdLGUuZXhwb3J0c1siUHVyY2hhc2Uvc2FsZSBvZiBpbnZlc3RtZW50cywgbmV0X3N0dWR5Il09WyJQdXJjaGFzZS9zYWxlIG9mIGludmVzdG1lbnRzLCBuZXQiXSxlLmV4cG9ydHNbIlF1YWxpdHkgcmF0aW9fc3R1ZHkiXT1bIlF1YWxpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIlF1aWNrIHJhdGlvX3N0dWR5Il09WyJRdWljayByYXRpbyJdLAplLmV4cG9ydHNbIlJDSSBSaWJib25fc3R1ZHkiXT1bIlJDSSBSaWJib24iXSxlLmV4cG9ydHNbIlJTSSBEaXZlcmdlbmNlIEluZGljYXRvcl9zdHVkeSJdPVsiUlNJIERpdmVyZ2VuY2UgSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJSU0kgU3RyYXRlZ3lfc3R1ZHkiXT1bIlJTSSBTdHJhdGVneSJdLGUuZXhwb3J0c1siUmFuayBDb3JyZWxhdGlvbiBJbmRleF9zdHVkeSJdPVsiUmFuayBDb3JyZWxhdGlvbiBJbmRleCJdLGUuZXhwb3J0c1siUmF0ZSBPZiBDaGFuZ2Vfc3R1ZHkiXT1bIlJhdGUgT2YgQ2hhbmdlIl0sZS5leHBvcnRzWyJSZWN0YW5nbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiUmVjdGFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlJlZHVjdGlvbiBvZiBsb25nIHRlcm0gZGVidF9zdHVkeSJdPVsiUmVkdWN0aW9uIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXgiXSxlLmV4cG9ydHNbIlJlbGF0aXZlIFZpZ29yIEluZGV4X3N0dWR5Il09WyJSZWxhdGl2ZSBWaWdvciBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWVfc3R1ZHkiXT1bIlJlbGF0aXZlIFZvbHVtZSBhdCBUaW1lIl0sZS5leHBvcnRzWyJSZXB1cmNoYXNlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9ja19zdHVkeSJdPVsiUmVwdXJjaGFzZSBvZiBjb21tb24gJiBwcmVmZXJyZWQgc3RvY2siXSxlLmV4cG9ydHNbIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiUmVzZWFyY2ggJiBkZXZlbG9wbWVudCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJSZXNlYXJjaCAmIGRldmVsb3BtZW50X3N0dWR5Il09WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50Il0sZS5leHBvcnRzWyJSZXN0cnVjdHVyaW5nIGNoYXJnZV9zdHVkeSJdPVsiUmVzdHJ1Y3R1cmluZyBjaGFyZ2UiXSxlLmV4cG9ydHNbIlJldGFpbmVkIGVhcm5pbmdzX3N0dWR5Il09WyJSZXRhaW5lZCBlYXJuaW5ncyJdLGUuZXhwb3J0c1siUmV0dXJuIG9uIGFzc2V0cyAlX3N0dWR5Il09WyJSZXR1cm4gb24gYXNzZXRzICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBlcXVpdHkgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gZXF1aXR5IGFkanVzdGVkIHRvIGJvb2sgdmFsdWUgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSBhZGp1c3RlZCB0byBib29rIHZhbHVlICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICVfc3R1ZHkiXT1bIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiB0YW5naWJsZSBhc3NldHMgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIHRhbmdpYmxlIGFzc2V0cyAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gdGFuZ2libGUgZXF1aXR5ICVfc3R1ZHkiXT1bIlJldHVybiBvbiB0YW5naWJsZSBlcXVpdHkgJSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBlc3RpbWF0ZXNfc3R1ZHkiXT1bIlJldmVudWUgZXN0aW1hdGVzIl0sZS5leHBvcnRzWyJSZXZlbnVlIG9uZSB5ZWFyIGdyb3d0aF9zdHVkeSJdPVsiUmV2ZW51ZSBvbmUgeWVhciBncm93dGgiXSxlLmV4cG9ydHNbIlJldmVudWUgcGVyIGVtcGxveWVlX3N0dWR5Il09WyJSZXZlbnVlIHBlciBlbXBsb3llZSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlJldmVudWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJSaXNpbmcgVGhyZWUgTWV0aG9kcyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlJpc2luZyBUaHJlZSBNZXRob2RzIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUmlzaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlJpc2luZyBXZWRnZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJSaXNpbmcgV2luZG93IC0gQnVsbGlzaF9zdHVkeSJdPVsiUmlzaW5nIFdpbmRvdyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXRfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXQiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHNfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBLbm94dmlsbGUgRGl2ZXJnZW5jZV9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIEtub3h2aWxsZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gTWlzc2VkIFBpdm90IFBvaW50c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIE1pc3NlZCBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBSZXZlcnNhbF9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFJldmVyc2FsIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gWml2IEdob3N0IFBpdm90c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFppdiBHaG9zdCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIEluZGljYXRvci9Pc2NpbGxhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IvT3NjaWxsYXRvciJdLGUuZXhwb3J0c1siU01JIEVyZ29kaWMgSW5kaWNhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlNNSSBFcmdvZGljIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlNhbGUgb2YgY29tbW9uICYgcHJlZmVycmVkIHN0b2NrX3N0dWR5Il09WyJTYWxlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9jayJdLGUuZXhwb3J0c1siU2FsZSBvZiBmaXhlZCBhc3NldHMgJiBidXNpbmVzc2VzX3N0dWR5Il09WyJTYWxlIG9mIGZpeGVkIGFzc2V0cyAmIGJ1c2luZXNzZXMiXSxlLmV4cG9ydHNbIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHMiXSwKZS5leHBvcnRzLlNlYXNvbmFsaXR5X3N0dWR5PVsiU2Vhc29uYWxpdHkiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXJfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXIiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIlNlc3Npb24gVGltZSBQcmljZSBPcHBvcnR1bml0eV9zdHVkeSJdPVsiU2Vzc2lvbiBUaW1lIFByaWNlIE9wcG9ydHVuaXR5Il0sZS5leHBvcnRzWyJTZXNzaW9uIFZvbHVtZSBIRF9zdHVkeSJdPVsiU2Vzc2lvbiBWb2x1bWUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSERfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lX3N0dWR5Il09WyJTZXNzaW9uIFZvbHVtZSJdLGUuZXhwb3J0c1siU2hhcmVob2xkZXJzJyBlcXVpdHlfc3R1ZHkiXT1bIlNoYXJlaG9sZGVycycgZXF1aXR5Il0sZS5leHBvcnRzWyJTaGFyZXMgYnV5YmFjayByYXRpbyAlX3N0dWR5Il09WyJTaGFyZXMgYnV5YmFjayByYXRpbyAlIl0sZS5leHBvcnRzWyJTaG9vdGluZyBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiU2hvb3RpbmcgU3RhciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlNob3J0IHRlcm0gZGVidCBleGNsLiBjdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidF9zdHVkeSJdPVsiU2hvcnQgdGVybSBkZWJ0IGV4Y2wuIGN1cnJlbnQgcG9ydGlvbiBvZiBMVCBkZWJ0Il0sZS5leHBvcnRzWyJTaG9ydCB0ZXJtIGRlYnRfc3R1ZHkiXT1bIlNob3J0IHRlcm0gZGVidCJdLGUuZXhwb3J0c1siU2hvcnQgdGVybSBpbnZlc3RtZW50c19zdHVkeSJdPVsiU2hvcnQgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siU2xvYW4gcmF0aW8gJV9zdHVkeSJdPVsiU2xvYW4gcmF0aW8gJSJdLGUuZXhwb3J0c1siU21vb3RoZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlNtb290aGVkIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJTb2x2ZW5jeSByYXRpb3Nfc3R1ZHkiXT1bIlNvbHZlbmN5IHJhdGlvcyJdLGUuZXhwb3J0c1siU3Bpbm5pbmcgVG9wIEJsYWNrX3N0dWR5Il09WyJTcGlubmluZyBUb3AgQmxhY2siXSxlLmV4cG9ydHNbIlNwaW5uaW5nIFRvcCBXaGl0ZV9zdHVkeSJdPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl0sZS5leHBvcnRzWyJTcHJpbmdhdGUgc2NvcmVfc3R1ZHkiXT1bIlNwcmluZ2F0ZSBzY29yZSJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRGV2aWF0aW9uX3N0dWR5Il09WyJTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlN0YW5kYXJkIEVycm9yIEJhbmRzX3N0dWR5Il09WyJTdGFuZGFyZCBFcnJvciBCYW5kcyJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3Jfc3R1ZHkiXT1bIlN0YW5kYXJkIEVycm9yIl0sZS5leHBvcnRzLlN0b2NoX3N0dWR5PVsiU3RvY2giXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXhfc3R1ZHkiXT1bIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXgiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgUlNJX3N0dWR5Il09WyJTdG9jaGFzdGljIFJTSSJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBTbG93IFN0cmF0ZWd5X3N0dWR5Il09WyJTdG9jaGFzdGljIFNsb3cgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3RvY2hhc3RpY19zdHVkeT1bIlN0b2NoYXN0aWMiXSxlLmV4cG9ydHMuU3VwZXJUcmVuZF9zdHVkeT1bIlN1cGVyVHJlbmQiXSxlLmV4cG9ydHNbIlN1cGVydHJlbmQgU3RyYXRlZ3lfc3R1ZHkiXT1bIlN1cGVydHJlbmQgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3VwZXJ0cmVuZF9zdHVkeT1bIlN1cGVydHJlbmQiXSxlLmV4cG9ydHNbIlN1c3RhaW5hYmxlIGdyb3d0aCByYXRlX3N0dWR5Il09WyJTdXN0YWluYWJsZSBncm93dGggcmF0ZSJdLGUuZXhwb3J0cy5UUklYX3N0dWR5PVsiVFJJWCJdLGUuZXhwb3J0c1siVGFuZ2libGUgYm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlRhbmdpYmxlIGJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvX3N0dWR5Il09WyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvIl0sZS5leHBvcnRzLlRheGVzX3N0dWR5PVsiVGF4ZXMiXSxlLmV4cG9ydHNbIlRlY2huaWNhbCBSYXRpbmdzIFN0cmF0ZWd5X3N0dWR5Il09WyJUZWNobmljYWwgUmF0aW5ncyBTdHJhdGVneSJdLGUuZXhwb3J0c1siVGVjaG5pY2FsIFJhdGluZ3Nfc3R1ZHkiXT1bIlRlY2huaWNhbCBSYXRpbmdzIl0sZS5leHBvcnRzWyJUaHJlZSBCbGFjayBDcm93cyAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRocmVlIEJsYWNrIENyb3dzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVGhyZWUgV2hpdGUgU29sZGllcnMgLSBCdWxsaXNoX3N0dWR5Il09WyJUaHJlZSBXaGl0ZSBTb2xkaWVycyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHlfc3R1ZHkiXT1bIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHkiXSxlLmV4cG9ydHNbIlRpbWUgV2VpZ2h0ZWQgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVGltZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJUb2JpbidzIFEgKGFwcHJveGltYXRlKV9zdHVkeSJdPVsiVG9iaW4ncyBRIChhcHByb3hpbWF0ZSkiXSxlLmV4cG9ydHNbIlRvdGFsIGFzc2V0c19zdHVkeSJdPVsiVG90YWwgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nIl0sCmUuZXhwb3J0c1siVG90YWwgY3VycmVudCBhc3NldHNfc3R1ZHkiXT1bIlRvdGFsIGN1cnJlbnQgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJUb3RhbCBkZWJ0IHBlciBzaGFyZV9zdHVkeSJdPVsiVG90YWwgZGVidCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnRfc3R1ZHkiXT1bIlRvdGFsIGRlYnQiXSxlLmV4cG9ydHNbIlRvdGFsIGVxdWl0eV9zdHVkeSJdPVsiVG90YWwgZXF1aXR5Il0sZS5leHBvcnRzWyJUb3RhbCBpbnZlbnRvcnlfc3R1ZHkiXT1bIlRvdGFsIGludmVudG9yeSJdLGUuZXhwb3J0c1siVG90YWwgbGlhYmlsaXRpZXMgJiBzaGFyZWhvbGRlcnMnIGVxdWl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyAmIHNoYXJlaG9sZGVycycgZXF1aXRpZXMiXSxlLmV4cG9ydHNbIlRvdGFsIGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgbm9uLWN1cnJlbnQgYXNzZXRzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBhc3NldHMiXSxlLmV4cG9ydHNbIlRvdGFsIG5vbi1jdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgb3BlcmF0aW5nIGV4cGVuc2VzX3N0dWR5Il09WyJUb3RhbCBvcGVyYXRpbmcgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIlRvdGFsIHJlY2VpdmFibGVzLCBuZXRfc3R1ZHkiXT1bIlRvdGFsIHJlY2VpdmFibGVzLCBuZXQiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWVfc3R1ZHkiXT1bIlRvdGFsIHJldmVudWUiXSxlLmV4cG9ydHNbIlRyYWRpbmcgU2Vzc2lvbnNfc3R1ZHkiXT1bIlRyYWRpbmcgU2Vzc2lvbnMiXSxlLmV4cG9ydHNbIlRyZWFzdXJ5IHN0b2NrIC0gY29tbW9uX3N0dWR5Il09WyJUcmVhc3VyeSBzdG9jayAtIGNvbW1vbiJdLGUuZXhwb3J0c1siVHJlbmQgU3RyZW5ndGggSW5kZXhfc3R1ZHkiXT1bIlRyZW5kIFN0cmVuZ3RoIEluZGV4Il0sZS5leHBvcnRzWyJUcmktU3RhciAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRyaS1TdGFyIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVHJpLVN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJUcmktU3RhciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlRyaXBsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiVHJpcGxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJUcmlwbGUgRU1BX3N0dWR5Il09WyJUcmlwbGUgRU1BIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaXBsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiVHJ1ZSBTdHJlbmd0aCBJbmRleCJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlRydWUgU3RyZW5ndGggSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJUd2VlemVyIEJvdHRvbSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlR3ZWV6ZXIgQm90dG9tIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVHdlZXplciBUb3AgLSBCZWFyaXNoX3N0dWR5Il09WyJUd2VlemVyIFRvcCAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlR5cGljYWwgUHJpY2Vfc3R1ZHkiXT1bIlR5cGljYWwgUHJpY2UiXSxlLmV4cG9ydHNbIlVsdGltYXRlIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlVsdGltYXRlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlVucmVhbGl6ZWQgZ2Fpbi9sb3NzX3N0dWR5Il09WyJVbnJlYWxpemVkIGdhaW4vbG9zcyJdLGUuZXhwb3J0c1siVW51c3VhbCBpbmNvbWUvZXhwZW5zZV9zdHVkeSJdPVsiVW51c3VhbCBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siVXAvRG93biBWb2x1bWVfc3R1ZHkiXT1bIlVwL0Rvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJVcHNpZGUgVGFzdWtpIEdhcCAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlVwc2lkZSBUYXN1a2kgR2FwIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVldBUCBBdXRvIEFuY2hvcmVkX3N0dWR5Il09WyJWV0FQIEF1dG8gQW5jaG9yZWQiXSxlLmV4cG9ydHMuVldBUF9zdHVkeT1bIlZXQVAiXSxlLmV4cG9ydHMuVldNQV9zdHVkeT1bIlZXTUEiXSxlLmV4cG9ydHNbIlZhbHVhdGlvbiByYXRpb3Nfc3R1ZHkiXT1bIlZhbHVhdGlvbiByYXRpb3MiXSxlLmV4cG9ydHNbIlZpc2libGUgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVmlzaWJsZSBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIl0sZS5leHBvcnRzLlZvbF9zdHVkeT1bIlZvbCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZV9zdHVkeSJdPVsiVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBPLUgtTC1DX3N0dWR5Il09WyJWb2xhdGlsaXR5IE8tSC1MLUMiXSxlLmV4cG9ydHNbIlZvbGF0aWxpdHkgU3RvcF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBTdG9wIl0sZS5leHBvcnRzWyJWb2xhdGlsaXR5IFplcm8gVHJlbmQgQ2xvc2UtdG8tQ2xvc2Vfc3R1ZHkiXT1bIlZvbGF0aWxpdHkgWmVybyBUcmVuZCBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sdHkgRXhwYW4gQ2xvc2UgU3RyYXRlZ3lfc3R1ZHkiXT1bIlZvbHR5IEV4cGFuIENsb3NlIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJWb2x1bWUgRGVsdGFfc3R1ZHkiXT1bIlZvbHVtZSBEZWx0YSJdLGUuZXhwb3J0c1siVm9sdW1lIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlZvbHVtZSBPc2NpbGxhdG9yIl0sCmUuZXhwb3J0c1siVm9sdW1lIFdlaWdodGVkIEF2ZXJhZ2UgUHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Wb2x1bWVfc3R1ZHk9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIlZvcnRleCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlZvcnRleCBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zICVSX3N0dWR5Il09WyJXaWxsaWFtcyAlUiJdLGUuZXhwb3J0c1siV2lsbGlhbXMgQWxsaWdhdG9yX3N0dWR5Il09WyJXaWxsaWFtcyBBbGxpZ2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxfc3R1ZHkiXT1bIldpbGxpYW1zIEZyYWN0YWwiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxzX3N0dWR5Il09WyJXaWxsaWFtcyBGcmFjdGFscyJdLGUuZXhwb3J0c1siV2lsbGlhbXMgUGVyY2VudCBSYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSJdLGUuZXhwb3J0c1siV29vZGllcyBDQ0lfc3R1ZHkiXT1bIldvb2RpZXMgQ0NJIl0sZS5leHBvcnRzWyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlX3N0dWR5Il09WyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJaaWcgWmFnX3N0dWR5Il09WyJaaWcgWmFnIl0sZS5leHBvcnRzWyJabWlqZXdza2kgc2NvcmVfc3R1ZHkiXT1bIlptaWpld3NraSBzY29yZSJdfSw1OTYxNjgoZSl7ZS5leHBvcnRzPVsiVm9sIl19LDMxOTA2MChlKXtlLmV4cG9ydHM9WyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZSJdfSwzMTM2MjUoZSl7ZS5leHBvcnRzPVsiZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGUiXX0sMzg0NTk3KGUpe2UuZXhwb3J0cz1bIkNGRCJdfSw2NTUyMzUoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvIl19LDM1MDE0NihlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNzY1NDQwKGUpe2UuZXhwb3J0cz1bIkJvbmRzIl19LDU0ODMyMihlKXtlLmV4cG9ydHM9WyJFY29ub215Il19LDk3OTk3KGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDUwNTA3OShlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDU2NDkxNyhlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw5Mjc0MTEoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSw3OTYwMChlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDU1NTUxMChlKXtlLmV4cG9ydHM9WyJTdG9ja3MiXX0sODMzNzQ2KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBtZXRyaWMiXX0sNzg5MDQ5KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBjdXJyZW5jeSJdfSw0MDUwMTMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHNjYWxlIHVuaXQiXX0sMjE3MTYxKGUpe2UuZXhwb3J0cz1bIk1peGVkIl19LDE5MTQ1NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBjdXJyZW5jeSJdfSw5OTQ4NDUoZSl7ZS5leHBvcnRzPVsiU2NhbGUgbWV0cmljIl19LDU1Njc2NShlKXtlLmV4cG9ydHM9WyJTY2FsZSB1bml0Il19LDU4NzMwNihlKXtlLmV4cG9ydHM9WyIoTyArIEggKyBMICsgQykvNCJdfSw2OTExNzQoZSl7ZS5leHBvcnRzPVsiKEggKyBMICsgQyArIEMpLzQiXX0sNjU2ODkyKGUpe2UuZXhwb3J0cz1bIihIICsgTCArIEMpLzMiXX0sOTIyNjUyKGUpe2UuZXhwb3J0cz1bIihIICsgTCkvMiJdfSw5MjI5ODMoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sOTUwMzM2KGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sNTA5MzgoZSl7ZS5leHBvcnRzPVsiT3BlbiJdfSw3NjUzNyhlKXtlLmV4cG9ydHM9WyJMb3ciXX0sNDAxOTI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwb2ludCJdfSw0MzIxMjQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG1ldHJpYyJdfSwxODk2MDMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGN1cnJlbmN5Il19LDg1NzIyMyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgbGlua2luZyBncm91cCJdfSw5NTQ4OTEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHVuaXQiXX0sMzU4KGUpe2UuZXhwb3J0cz1bImNsb25lIGxpbmUgdG9vbHMiXX0sNzQ5MDE2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sOTM5NzE3KGUpe2UuZXhwb3J0cz1bImN1dCBzb3VyY2VzIl19LDQxMTgxOChlKXtlLmV4cG9ydHM9WyJjdXQge3RpdGxlfSJdfSwyMzEyNjMoZSl7ZS5leHBvcnRzPVsiYWxpZ24gdG8gNDUgZGVncmVlcyJdfSw2MTgzODYoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZHJhd2luZyB0ZW1wbGF0ZSJdfSwzNjU4NzQoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZmFjdG9yeSBkZWZhdWx0cyB0byBzZWxlY3RlZCBzb3VyY2VzIl19LDM4NTUwNChlKXtlLmV4cG9ydHM9WyJicmluZyB7dGl0bGV9IGZvcndhcmQiXX0sNzc5NTE3KGUpe2UuZXhwb3J0cz1bImludmVydCBzY2FsZSJdfSw5NjU1MzkoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0iXX0sNjE3MDQwKGUpe2UuZXhwb3J0cz1bImluc2VydCB7dGl0bGV9IGFmdGVyIHt0YXJnZXR9Il19LDc0MDYxMyhlKXtlLmV4cG9ydHM9WyJpbnNlcnQge3RpdGxlfSBiZWZvcmUge3RhcmdldH0iXX0sOTQ2OTI5KGUpe2UuZXhwb3J0cz1bImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIl19LDE1OTE0KGUpe2UuZXhwb3J0cz1bIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSJdfSw5Njc5MzUoZSl7ZS5leHBvcnRzPVsibW92ZSB7dGl0bGV9IHRvIG5ldyByaWdodCBzY2FsZSJdfSw5NzAxMDUoZSl7ZS5leHBvcnRzPVsibW92ZSBkcmF3aW5nKHMpIl19LDI5NTIwNChlKXtlLmV4cG9ydHM9WyJtb3ZlIGxlZnQiXX0sNTI1NjQzKGUpe2UuZXhwb3J0cz1bIm1vdmUgcmlnaHQiXX0sNzc3NTc3KGUpe2UuZXhwb3J0cz1bIm1vdmUgc2NhbGUiXX0sNTAwODQzKGUpe2UuZXhwb3J0cz1bIm1ha2Uge3RpdGxlfSBubyBzY2FsZSAoRnVsbCBzY3JlZW4pIl19LDcyMTcwOShlKXtlLmV4cG9ydHM9WyJtZXJnZSBkb3duIl19LDk3NjgxNShlKXtlLmV4cG9ydHM9WyJtZXJnZSB0byBwYW5lIl19LDU1NTkxOChlKXtlLmV4cG9ydHM9WyJtZXJnZSB1cCJdfSw1NDc0NDUoZSl7CmUuZXhwb3J0cz1bInNldCBwcmljZSBzY2FsZSBzZWxlY3Rpb24gc3RyYXRlZ3kgdG8ge3RpdGxlfSJdfSw4MjgwOTIoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDEwMjE5NyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGdsb2JhbGx5Il19LDM1NTQwNyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCJdfSw2OTM2NDkoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGxpbmUgdG9vbChzKSJdfSw3MDg5MDgoZSl7ZS5leHBvcnRzPVsicGFzdGUge3RpdGxlfSJdfSw5MzE3MTkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIl19LDI1NjkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIl19LDkyNTk2MyhlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZHJhd2luZ3MiXX0sMTIyNjA2KGUpe2UuZXhwb3J0cz1bInJlbW92ZSBkcmF3aW5ncyBncm91cCJdfSw4MjgyNTMoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIHBhbmUiXX0sNDQ1NTM5KGUpe2UuZXhwb3J0cz1bInJlbW92ZSB7dGl0bGV9Il19LDYyOTU0MihlKXtlLmV4cG9ydHM9WyJyZXNldCBzY2FsZXMiXX0sMzg4ODg3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBhdXRvIHNjYWxlIl19LDg3MTkxMChlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgaW5kZXhlZCB0byAxMDAgc2NhbGUiXX0sNjAyNDk3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBsb2NrIHNjYWxlIl19LDQ4Mzk5NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDMyOTg0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSJdfSwxNzQ2NDAoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIHJlZ3VsYXIgc2NhbGUiXX0sNjkyMjAxKGUpe2UuZXhwb3J0cz1bInR1cm4gbGluZSB0b29scyBzaGFyaW5nIG9mZiJdfSw2OTQyMihlKXtlLmV4cG9ydHM9WyJ1bm1lcmdlIHRvIG5ldyBib3R0b20gcGFuZSJdfSw5NTE4NDcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSB1cCJdfSwyMjk0MTcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSBkb3duIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4NTYyNihlKXtlLmV4cG9ydHM9WyIgR1BXIOKAlCBOZXdDb25uZWN0Il19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sMzI4MDMwKGUpe2UuZXhwb3J0cz1bIjMgbW9udGhzIl19LDM5MDgxNChlKXtlLmV4cG9ydHM9WyI3OTYiXX0sNDk3MTEwKGUpe2UuZXhwb3J0cz1bIkNNQyBNYXJrZXRzIl19LDM3MTY2NShlKXtlLmV4cG9ydHM9WyJDTUUgR0xPQkVYIOKAlCBDaGljYWdvIE1lcmNhbnRpbGUgRXhjaGFuZ2UgR2xvYmV4Il19LDI5Mzk4NihlKXtlLmV4cG9ydHM9WyJDT01FWCDigJQgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDM4ODg1NihlKXtlLmV4cG9ydHM9WyJDQk9FIEVVIOKAlCBFdXJvcGVhbiBVbmlvbiBJbmRpY2VzIl19LDk5OTg3NyhlKXtlLmV4cG9ydHM9WyJDQk9FIOKAlCBDaGljYWdvIEJvYXJkIE9wdGlvbnMgRXhjaGFuZ2UiXX0sNTAyNzIxKGUpe2UuZXhwb3J0cz1bIkNCT1Qg4oCUIENoaWNhZ28gQm9hcmQgb2YgVHJhZGUiXX0sMzcwNjU4KGUpe2UuZXhwb3J0cz1bIkNGRkVYIOKAlCBDaGluYSBGaW5hbmNpYWwgRnV0dXJlcyBFeGNoYW5nZSJdfSw1MTU3MzgoZSl7ZS5leHBvcnRzPVsiQ0ZJIl19LDI5MzkzMyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIENhbmFkaWFuIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sMzM5MDk3KGUpe2UuZXhwb3J0cz1bIkNTRSDigJQgQ2FzYWJsYW5jYSBTdG9jayBFeGNoYW5nZSJdfSw1MzU2ODQoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBDb2xvbWJvIFN0b2NrIEV4Y2hhbmdlIl19LDk0Mzg4MyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIEN5cHJ1cyBTdG9jayBFeGNoYW5nZSJdfSw5NDIzMTcoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBOYXNkYXEgQ29wZW5oYWdlbiJdfSw0NTQ5NyhlKXtlLmV4cG9ydHM9WyJDWE0iXX0sOTg3NChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDI3MTY2MShlKXtlLmV4cG9ydHM9WyJDb3VudGRvd24gdG8gYmFyIGNsb3NlIl19LDc0MTA3KGUpe2UuZXhwb3J0cz1bIkNvZWZmcyBhcyBwZXJjZW50cyJdfSw5OTUwOTcoZSl7ZS5leHBvcnRzPVsiQ29pbiBNZXRyaWNzIl19LDQ1ODc4MyhlKXtlLmV4cG9ydHM9WyJDb2luRGVzayBJbmRpY2VzIl19LDg2OTE1MihlKXtlLmV4cG9ydHM9WyJDb2luRXgiXX0sNzAzNzQ4KGUpe2UuZXhwb3J0cz1bIkNvaW5KYXIiXX0sMzM4ODI5KGUpe2UuZXhwb3J0cz1bIkNvaW5Td2l0Y2giXX0sNzkzMDk2KGUpe2UuZXhwb3J0cz1bIkNvaW5XIl19LDE5NTg4NihlKXtlLmV4cG9ydHM9WyJDb2luYmFzZSJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sMjA1MDkxKGUpe2UuZXhwb3J0cz1bIkNvbG9tYm8iXX0sOTIyNDQoZSl7ZS5leHBvcnRzPVsiQ29tcGFyZSBvciBBZGQgU3ltYm9sIl19LDY5Nzg4MShlKXtlLmV4cG9ydHM9WyJDb21waWxhdGlvbiBlcnJvciJdfSwyMzI5MTkoZSl7ZS5leHBvcnRzPVsiQ29uZmlybSB0byByZW1vdmUgbG9ja2VkIGRyYXdpbmdzIl19LDc0NzI1OShlKXtlLmV4cG9ydHM9WyJDb25maXJtIElucHV0cyJdfSwxOTQxOTQoZSl7ZS5leHBvcnRzPVsiQ29ubmVjdGluZyJdfSw4OTkxOShlKXtlLmV4cG9ydHM9WyJDb250cmFjdCBleHBpcmVkIl19LDIxODgxNyhlKXtlLmV4cG9ydHM9WyJDb29yZGluYXRlcyJdfSwzNjY5NTIoZSl7ZS5leHBvcnRzPVsiQ29wZW5oYWdlbiJdfSwzNTE4NDIoZSl7ZS5leHBvcnRzPVsiQ2Fpcm8iXX0sODg0MTYzKGUpe2UuZXhwb3J0cz1bIkNhbWVsb3QgdjIgKEFyYml0cnVtKSJdfSw2Nzc2ODMoZSl7ZS5leHBvcnRzPVsiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIl19LDYzMzkwNyhlKXtlLmV4cG9ydHM9WyJDYW4ndCBhcHBseSB0aGlzIGluZGljYXRvciJdfSwzNTU4MzYoZSl7ZS5leHBvcnRzPVsiQ2FuJ3QgZmluZCB0aGlzIHNjcmlwdCJdfSw3NDM1NjMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDE1MTg5KGUpe2UuZXhwb3J0cz1bIkNhbmFkYSJdfSw4MDc3NihlKXtlLmV4cG9ydHM9WyJDYXBpdGFsLmNvbSJdfSwKNTcyNDI3KGUpe2UuZXhwb3J0cz1bIkNhcmFjYXMiXX0sMjUyNDIyKGUpe2UuZXhwb3J0cz1bIkNhc2FibGFuY2EiXX0sNzI4ODQ3KGUpe2UuZXhwb3J0cz1bIkNib2UgQXVzdHJhbGlhIl19LDk0NTAxOChlKXtlLmV4cG9ydHM9WyJDYm9lIENhbmFkYSJdfSw3NjQxNDUoZSl7ZS5leHBvcnRzPVsiQ2V0dXMgKFN1aSkiXX0sMTkzMjgzKGUpe2UuZXhwb3J0cz1bIkNlbnRlciJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDY5Mjc2NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgU3ltYm9sIl19LDU5Nzc3MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgaW50ZXJ2YWwiXX0sODQzMzY3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0ICN7aW5kZXh9Il19LDYyNTc4OChlKXtlLmV4cG9ydHM9WyJDaGFydCBQcm9wZXJ0aWVzIl19LDYyODQzMChlKXtlLmV4cG9ydHM9WyJDaGFydCBmb3Ige3N5bWJvbH0sIHtpbnRlcnZhbH0iXX0sMzU0Njc2KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHRlbXBsYXRlIl19LDgxODg0NihlKXtlLmV4cG9ydHM9WyJDaGF0aGFtIElzbGFuZHMiXX0sODIxNDQ4KGUpe2UuZXhwb3J0cz1bIkNoaWNhZ28iXX0sOTA0MzM4KGUpe2UuZXhwb3J0cz1bIkNoaWxlIl19LDIwOTYzMihlKXtlLmV4cG9ydHM9WyJDaG9uZ3FpbmciXX0sMjUyOTUxKGUpe2UuZXhwb3J0cz1bIkNpdHkgSW5kZXgiXX0sMjI4NDQ5KGUpe2UuZXhwb3J0cz1bIkNyeXB0by5jb20iXX0sODc2MTYoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIG5ldyBsaXN0Il19LDkyNDAwNihlKXtlLmV4cG9ydHM9WyJDcmVhdGVkIHdpdGgge2N1c3RvbWVyfSwge2RhdGV9Il19LDQwNzQoZSl7ZS5leHBvcnRzPVsiQ3JvYXRpYSJdfSwxMDQzMzEoZSl7ZS5leHBvcnRzPVsiQ3VydmUgKEFyYml0cnVtKSJdfSw0MDkwMihlKXtlLmV4cG9ydHM9WyJDdXJ2ZSAoRXRoZXJldW0pIl19LDYzNDczNyhlKXtlLmV4cG9ydHM9WyJDeXBydXMiXX0sMTI5ODA4KGUpe2UuZXhwb3J0cz1bIkN6ZWNoIFJlcHVibGljIl19LDI5OTk3KGUpe2UuZXhwb3J0cz1bIkFOWCJdfSwxNzQxNTIoZSl7ZS5leHBvcnRzPVsiQURYIOKAlCBBYnUgRGhhYmkgU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw3Njk4MjgoZSl7ZS5leHBvcnRzPVsiQVFVSVMg4oCUIEFxdWlzIFN0b2NrIEV4Y2hhbmdlIl19LDc0MTU3MyhlKXtlLmV4cG9ydHM9WyJBU1gg4oCUIEF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw2NDExNzYoZSl7ZS5leHBvcnRzPVsiQVRIRVgg4oCUIEF0aGVucyBTdG9jayBFeGNoYW5nZSJdfSwyMTM0NyhlKXtlLmV4cG9ydHM9WyJBbXN0ZXJkYW0iXX0sNzQ2ODcyKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpYyJdfSw4Mjc5MDIoZSl7ZS5leHBvcnRzPVsiQW5jaG9yYWdlIl19LDgwMzIxMChlKXtlLmV4cG9ydHM9WyJBYmF4eCBFeGNoYW5nZSJdfSw0ODc2OShlKXtlLmV4cG9ydHM9WyJBY3RpdlRyYWRlcyJdfSw1NDIyKGUpe2UuZXhwb3J0cz1bIkFjY2VzcyBlcnJvciJdfSwzNDQzMjAoZSl7ZS5leHBvcnRzPVsiQWRkIFN5bWJvbCJdfSw5NzE4OChlKXtlLmV4cG9ydHM9WyJBZGQgYWxlcnQgb24ge3RpdGxlfSJdfSw3MTU4MzgoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIHt0aXRsZX0gYXQge3ByaWNlfSJdfSw5MDM0NDMoZSl7ZS5leHBvcnRzPVsiQWRkIHRleHQiXX0sMzQzMzMxKGUpe2UuZXhwb3J0cz1bIkFkZCB0ZXh0IG5vdGUgZm9yIHtzeW1ib2x9Il19LDIzMDIyNChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gdGV4dCBub3RlcyJdfSw1Nzk5MzQoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2x9IHRvIHdhdGNobGlzdCJdfSw1MDE1MDIoZSl7ZS5leHBvcnRzPVsiQWRlbGFpZGUiXX0sMjE3ODY0KGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSAoQmFzZSkiXX0sOTI1MjEyKGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSBTbGlwU3RyZWFtIChCYXNlKSJdfSw2MTYzNzUoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIGludmlzaWJsZSJdfSwzNTY4NDIoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIHZpc2libGUiXX0sMzA1NjQyKGUpe2UuZXhwb3J0cz1bIkFsbCBFeGNoYW5nZXMiXX0sMjI1ODY5KGUpe2UuZXhwb3J0cz1bIkFsbCBnb29kIHRoaW5ncyBtdXN0IGNvbWUgdG8gYW4gZW5kIC0gdGhpcyBjb250cmFjdCBoYXMgcmVhY2hlZCBleHBpcnkhIl19LDc3NzkyMChlKXtlLmV4cG9ydHM9WyJBbGwncyB3ZWxsIOKAlCBtYXJrZXQgaXMgb3Blbi4iXX0sOTI0MTc2KGUpe2UuZXhwb3J0cz1bIkFwcGx5IHRoZXNlIGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSw1MjY3ODUoZSl7ZS5leHBvcnRzPVsiQXByIl19LDE1NTg1MihlKXtlLmV4cG9ydHM9WyJBcHJpbCJdfSw2Njg0MDMoZSl7ZS5leHBvcnRzPVsiQXJjYSDigJQgTllTRSBBcmNhIl19LDg1NzU4NyhlKXtlLmV4cG9ydHM9WyJBcmdlbnRpbmEiXX0sNDk1NzAzKGUpe2UuZXhwb3J0cz1bIkFzdGFuYSJdfSwzMTkwNDQoZSl7ZS5leHBvcnRzPVsiQXNoZ2FiYXQiXX0sMTU5MDYzKGUpe2UuZXhwb3J0cz1bIkF0IGNsb3NlIl19LDk4NDE3MShlKXtlLmV4cG9ydHM9WyJBdGhlbnMiXX0sMjI4MDEzKGUpe2UuZXhwb3J0cz1bIkF1dG8iXX0sNjMzNzUyKGUpe2UuZXhwb3J0cz1bIkF1dG8gKGZpdHMgZGF0YSB0byBzY3JlZW4pIl19LDkzNzYyKGUpe2UuZXhwb3J0cz1bIkF1ZyJdfSw5NTk3NzIoZSl7ZS5leHBvcnRzPVsiQXVndXN0Il19LDI3OTIzMyhlKXtlLmV4cG9ydHM9WyJBdXN0cmFsaWEiXX0sMjM4Mjc4KGUpe2UuZXhwb3J0cz1bIkF1c3RyaWEiXX0sODE0MTQ2KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwiXX0sNjkzNDYwKGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSJdfSwzODQ5NjQoZSl7ZS5leHBvcnRzPVsiQXpvcmVzIl19LDk0ODczNChlKXtlLmV4cG9ydHM9WyJCMlBSSU1FIl19LDQ3OTM0MShlKXtlLmV4cG9ydHM9WyJCMyDigJQgQnJhc2lsIEJvbHNhIEJhbGNhbyBTLkEuIl19LDkxMTQ1NihlKXtlLmV4cG9ydHM9WyJCTUUg4oCUIEJvbHNhIGRlIE1hZHJpZCJdfSwzMDk0MjcoZSl7ZS5leHBvcnRzPVsiQk1WIOKAlCBNZXhpY2FuIFN0b2NrIEV4Y2hhbmdlIl19LDI5NDQoZSl7CmUuZXhwb3J0cz1bIkJDSEFJTiAoTmFzZGFxIERhdGEgTGluaykiXX0sMTA0MjAwKGUpe2UuZXhwb3J0cz1bIkJFTEVYIOKAlCBCZWxncmFkZSBTdG9jayBFeGNoYW5nZSJdfSw3NDEzNDEoZSl7ZS5leHBvcnRzPVsiQkVUIOKAlCBCdWRhcGVzdCBTdG9jayBFeGNoYW5nZSJdfSwxNDQ2NShlKXtlLmV4cG9ydHM9WyJCSEIg4oCUIEJhaHJhaW4gU3RvY2sgRXhjaGFuZ2UiXX0sMjg5NjcwKGUpe2UuZXhwb3J0cz1bIkJJU1Qg4oCUIEJvcnNhIElzdGFuYnVsIl19LDU4MjI0OShlKXtlLmV4cG9ydHM9WyJCSVZBIOKAlCBCb2xzYSBJbnN0aXR1Y2lvbmFsIGRlIFZhbG9yZXMiXX0sOTQ1NzYwKGUpe2UuZXhwb3J0cz1bIkJTRSDigJQgQm9tYmF5IFN0b2NrIEV4Y2hhbmdlIl19LDE0NzU2OShlKXtlLmV4cG9ydHM9WyJCU1NFIOKAlCBCcmF0aXNsYXZhIFN0b2NrIEV4Y2hhbmdlIl19LDQ0NzIyNChlKXtlLmV4cG9ydHM9WyJCVEMgQ2hpbmEiXX0sODMyNTc0KGUpe2UuZXhwb3J0cz1bIkJUQy1FIl19LDY5NDMxNihlKXtlLmV4cG9ydHM9WyJCVENDIl19LDgxMTE3NShlKXtlLmV4cG9ydHM9WyJCVFNFIl19LDc2NTY5MyhlKXtlLmV4cG9ydHM9WyJCVkIg4oCUIEJ1Y2hhcmVzdCBTdG9jayBFeGNoYW5nZSJdfSwxODQ2MTkoZSl7ZS5leHBvcnRzPVsiQlZDIOKAlCBCb2xzYSBkZSBWYWxvcmVzIGRlIENvbG9tYmlhIl19LDcwNTk1MihlKXtlLmV4cG9ydHM9WyJCVkMg4oCUIENhcmFjYXMgU3RvY2sgRXhjaGFuZ2UiXX0sMzUxMDc2KGUpe2UuZXhwb3J0cz1bIkJWTCDigJQgQm9sc2EgZGUgVmFsb3JlcyBkZSBMaW1hIl19LDU3MzM2KGUpe2UuZXhwb3J0cz1bIkJWTVQg4oCUIFR1bmlzIFN0b2NrIEV4Y2hhbmdlIl19LDc2MjQ2MShlKXtlLmV4cG9ydHM9WyJCWCDigJQgQlggU3dpc3MiXX0sMTE0OTExKGUpe2UuZXhwb3J0cz1bIkJZREZpIl19LDIwNjkwOShlKXtlLmV4cG9ydHM9WyJCWU1BIOKAlCBBcmdlbnRpbmUgU3RvY2sgRXhjaGFuZ2VzIGFuZCBNYXJrZXRzIl19LDg2NTI0NChlKXtlLmV4cG9ydHM9WyJCb3R0b20iXX0sNTAzMzUzKGUpe2UuZXhwb3J0cz1bIkJvZ290YSJdfSwxNjk0MDcoZSl7ZS5leHBvcnRzPVsiQm9yZGVyIl19LDYzNjkyNihlKXtlLmV4cG9ydHM9WyJCYWNrZ3JvdW5kIl19LDUwMDE0NyhlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDU3ODY2NShlKXtlLmV4cG9ydHM9WyJCYWhyYWluIl19LDk3MzU3NChlKXtlLmV4cG9ydHM9WyJCYW5na29rIl19LDQ1MjAxNShlKXtlLmV4cG9ydHM9WyJCYW5nbGFkZXNoIl19LDIyMTM1OShlKXtlLmV4cG9ydHM9WyJCYXNlU3dhcCAoQmFzZSkiXX0sODMzMjQoZSl7ZS5leHBvcnRzPVsiQmVsZ2l1bSJdfSw4MDgzNzcoZSl7ZS5leHBvcnRzPVsiQmVsZ3JhZGUiXX0sNTIzMTI0KGUpe2UuZXhwb3J0cz1bIkJlcmxpbiJdfSwxNTU3NjUoZSl7ZS5leHBvcnRzPVsiQml0TUVYIl19LDY2NDUwNihlKXtlLmV4cG9ydHM9WyJCaXRNYXJ0Il19LDg0NjAyNyhlKXtlLmV4cG9ydHM9WyJCaXRWQyJdfSwxMTU0MShlKXtlLmV4cG9ydHM9WyJCaXRZZXMiXX0sNTU4MDQ0KGUpe2UuZXhwb3J0cz1bIkJpdGF6emEiXX0sNTM2NjA5KGUpe2UuZXhwb3J0cz1bIkJpdGdldCJdfSw3NTgwMjIoZSl7ZS5leHBvcnRzPVsiQml0ZmluZXgiXX0sNzc5MzYoZSl7ZS5leHBvcnRzPVsiQml0a3ViIl19LDY1ODY1MChlKXtlLmV4cG9ydHM9WyJCaXRodW1iIl19LDExOTc5MihlKXtlLmV4cG9ydHM9WyJCaXRzbyJdfSw5NDY2NjYoZSl7ZS5leHBvcnRzPVsiQml0c3RhbXAiXX0sMTQ0MTE0KGUpe2UuZXhwb3J0cz1bIkJpdHJ1ZSJdfSw5MDg0NTUoZSl7ZS5leHBvcnRzPVsiQml0dHJleCJdfSw1Mjg1NzMoZSl7ZS5leHBvcnRzPVsiQml0dW5peCJdfSw3MjA4MzkoZSl7ZS5leHBvcnRzPVsiQml0dmF2byJdfSwyMzE1MDQoZSl7ZS5leHBvcnRzPVsiQmlkIGFuZCBhc2sgbGFiZWxzIl19LDkxOTM3NihlKXtlLmV4cG9ydHM9WyJCaWQgYW5kIGFzayBsaW5lcyJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDYwNWUzKGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UiXX0sMzExNjc5KGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UuVVMiXX0sNDg3NTM2KGUpe2UuZXhwb3J0cz1bIkJpbmdYIl19LDM0NjA4NihlKXtlLmV4cG9ydHM9WyJCaXN3YXAgdjIgKEJOQiBjaGFpbikiXX0sOTAyNDMzKGUpe2UuZXhwb3J0cz1bIkJsdWViZXJyeSJdfSwzMTU0MjQoZSl7ZS5leHBvcnRzPVsiQmx1ZWZpbiAoU3VpKSJdfSw5MTI4NDEoZSl7ZS5leHBvcnRzPVsiQmxhY2tCdWxsIE1hcmtldHMiXX0sMjgzMjg3KGUpe2UuZXhwb3J0cz1bIkJsYWNraG9sZSB2MyAoQXZhbGFuY2hlKSJdfSw4NDI5ODcoZSl7ZS5leHBvcnRzPVsiQmxvRmluIl19LDM4NTkyNihlKXtlLmV4cG9ydHM9WyJCcnVzc2VscyJdfSw5NDg4MjQoZSl7ZS5leHBvcnRzPVsiQnJhdGlzbGF2YSJdfSw4MzkxNTkoZSl7ZS5leHBvcnRzPVsiQnJhdmUgTmV3IENvaW4iXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw4OTA2ODkoZSl7ZS5leHBvcnRzPVsiQnJpc2JhbmUiXX0sMTM1NTIzKGUpe2UuZXhwb3J0cz1bIkJ1eSBhbmQgc2VsbCJdfSw2NjQ1MzEoZSl7ZS5leHBvcnRzPVsiQnVjaGFyZXN0Il19LDU5MDI0MyhlKXtlLmV4cG9ydHM9WyJCdWRhcGVzdCJdfSwyMTQxNDQoZSl7ZS5leHBvcnRzPVsiQnVlbm9zIEFpcmVzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSw4NDc0MjQoZSl7ZS5leHBvcnRzPVsiQnVsZ2FyaWFuIFN0b2NrIEV4Y2hhbmdlIl19LDcxODk2NyhlKXtlLmV4cG9ydHM9WyJCeWJpdCJdfSw1NDk3ODEoZSl7ZS5leHBvcnRzPVsiR08gTWFya2V0cyJdfSwyOTkxNzIoZSl7ZS5leHBvcnRzPVsiR0JFIGJyb2tlcnMiXX0sOTk0MzI0KGUpe2UuZXhwb3J0cz1bIkdQVyDigJQgV2Fyc2F3IFN0b2NrIEV4Y2hhbmdlIl19LDc0NTk5OChlKXtlLmV4cG9ydHM9WyJHbyB0byBkYXRlIl19LDExMTg5OChlKXtlLmV4cG9ydHM9WyJHb3QgaXQiXX0sNDg0MDYwKGUpe2UuZXhwb3J0cz1bIkdhdGUiXX0sMTc3ODU0KGUpewplLmV4cG9ydHM9WyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiJdfSw3OTM2MDIoZSl7ZS5leHBvcnRzPVsiR2V0dGV4IC0gR2V0dGV4Il19LDUxODMxMihlKXtlLmV4cG9ydHM9WyJHZW1pbmkiXX0sNDY2Njk4KGUpe2UuZXhwb3J0cz1bIkdlcm1hbnkiXX0sMTA5ODQ2KGUpe2UuZXhwb3J0cz1bIkdsYXNzbm9kZSJdfSw4MDc0NDEoZSl7ZS5leHBvcnRzPVsiREZNIOKAlCBEdWJhaSBGaW5hbmNpYWwgTWFya2V0Il19LDMyMjQ3MShlKXtlLmV4cG9ydHM9WyJESiDigJQgRG93IEpvbmVzIEluZGV4ZXMiXX0sNzA3MTU4KGUpe2UuZXhwb3J0cz1bIkRKIOKAlCBEb3cgSm9uZXMgSW5kaWNlcyJdfSwxMTUyMjQoZSl7ZS5leHBvcnRzPVsiRFNFIOKAlCBEaGFrYSBTdG9jayBFeGNoYW5nZSJdfSw0NTMyMzQoZSl7ZS5leHBvcnRzPVsiRFVTIOKAlCBEdXNzZWxkb3JmIFN0b2NrIEV4Y2hhbmdlIl19LDUyMTc4MihlKXtlLmV4cG9ydHM9WydEb2luZyB0aGlzIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIHlvdXIgInthbGVydH0iIGFsZXJ0LiddfSwxODU3OTQoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgc2VsZWN0ZWQgYWxlcnRzLiJdfSw0MTIxMTcoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB0aGlzIGluZGljYXRvciBhbmQgZXZlcnl0aGluZyBhdHRhY2hlZCB0byBpdCwgaW5jbHVkaW5nOiJdfSwzNjc1MzgoZSl7ZS5leHBvcnRzPVsiRGF0YSBQcm92aWRlZCBieSJdfSw1MDc3MjkoZSl7ZS5leHBvcnRzPVsiRGF0ZSJdfSw4MzA3MjEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMzU5NjUoZSl7ZS5leHBvcnRzPVsiRGFyd2luZXgiXX0sMzIwNjI3KGUpe2UuZXhwb3J0cz1bIkRlRHVzdC5pbyAoVE9OKSJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDMwOTY2NihlKXtlLmV4cG9ydHM9WyJEZWNlbWJlciJdfSw0Mzg3MTYoZSl7ZS5leHBvcnRzPVsiRGVlcGNvaW4iXX0sMTYwMjY1KGUpe2UuZXhwb3J0cz1bIkRlZmlMbGFtYSJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDM0MTQ1OChlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSwzNzczMzUoZSl7ZS5leHBvcnRzPVsiRGVsaXN0ZWQgYWxlcnQiXX0sMzQwOTI3KGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDU3NjU0OChlKXtlLmV4cG9ydHM9WyJEZWx0YSBFeGNoYW5nZSBJbmRpYSJdfSw4NTI1MDEoZSl7ZS5leHBvcnRzPVsiRGVubWFyayJdfSw4ODk1MjkoZSl7ZS5leHBvcnRzPVsiRGVudmVyIl19LDE1NDk0MChlKXtlLmV4cG9ydHM9WyJEZXJpYml0Il19LDMwMjg2OShlKXtlLmV4cG9ydHM9WyJEZXJpdiJdfSwzNjA2OTAoZSl7ZS5leHBvcnRzPVsiRGhha2EiXX0sMzcxNTQ5KGUpe2UuZXhwb3J0cz1bIkRpc3BsYWNlbWVudCJdfSw0MzY2NjYoZSl7ZS5leHBvcnRzPVsiRGlzcGxhY2VtZW50IChwcmljZSwgYmFyKSJdfSw2MjM3MTYoZSl7ZS5leHBvcnRzPVsiRHJhd2luZ3MgdG9vbGJhciJdfSw0NzMyNzUoZSl7ZS5leHBvcnRzPVsiRHViYWkiXX0sNDMwODY4KGUpe2UuZXhwb3J0cz1bIkR1YmxpbiJdfSwzNjc4MDAoZSl7ZS5leHBvcnRzPVsiRHVlIHRvIGV4Y2hhbmdlIHJlc3RyaWN0aW9ucywgeW91IGFyZSB1bmFibGUgdG8gc3dpdGNoIHRvIGFuIEFTWCBsaXN0ZWQgc3ltYm9sLiBZb3UgY2FuIHZpZXcgdGhlIFN5bWJvbCBvbiB7bGlua1N0YXJ0fVRyYWRpbmdWaWV3e2xpbmtFbmR9Il19LDk4OTI5OChlKXtlLmV4cG9ydHM9WyJFRVgg4oCUIEV1cm9wZWFuIEVuZXJneSBFeGNoYW5nZSJdfSwxOTcxMjUoZSl7ZS5leHBvcnRzPVsiRUdYIOKAlCBFZ3lwdGlhbiBFeGNoYW5nZSJdfSw5Njg1OTYoZSl7ZS5leHBvcnRzPVsiRVVSRVgg4oCUIEV1cmV4IEV4Y2hhbmdlIl19LDYwMTc2NChlKXtlLmV4cG9ydHM9WyJFbmQgb2YgRGF5Il19LDMzNzQzNyhlKXtlLmV4cG9ydHM9WyJFZ3lwdCJdfSw0NTk0NTkoZSl7ZS5leHBvcnRzPVsiRWlnaHRjYXAiXX0sMjM2ODgoZSl7ZS5leHBvcnRzPVsiRXJyYW50ZSJdfSw5NDEyMChlKXtlLmV4cG9ydHM9WyJFc3RvbmlhIl19LDUwODg0NihlKXtlLmV4cG9ydHM9WyJFc2FGWCJdfSw0OTI5ODUoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9UTFgiXX0sOTI0NzY0KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBOViJdfSw5NzAxNjgoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IE9zbG8iXX0sNDgyMDc5KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBBbXN0ZXJkYW0iXX0sMzM3MTU2KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBCcnVzc2VscyJdfSw1ODgzMzYoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IER1YmxpbiJdfSw3OTgzMDIoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IExpc2JvbiJdfSwzMjI4MzEoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IFBhcmlzIl19LDQ0ODY3MShlKXtlLmV4cG9ydHM9WyJFdmVuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcG9zdC1tYXJrZXQgdHJhZGluZy4iXX0sMTMyMzg5KGUpe2UuZXhwb3J0cz1bIkV4dGVuZCBsZWZ0IGxpbmUiXX0sMzc0NTczKGUpe2UuZXhwb3J0cz1bIkV4dGVuZCByaWdodCBsaW5lIl19LDgyNjYwNyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSJdfSwyNzI0NDIoZSl7ZS5leHBvcnRzPVsiRk9SRVguY29tIl19LDg5NTUxNihlKXtlLmV4cG9ydHM9WyJGSU5SQSDigJQgRklOUkEgQWdlbmN5IERlYnQgVHJhZGUgRGlzc2VtaW5hdGlvbiBTZXJ2aWNlIl19LDI0MjgyNihlKXtlLmV4cG9ydHM9WyJGSU5SQSBCVERTIOKAlCBGSU5SQSBCb25kIFRyYWRlIERpc3NlbWluYXRpb24gU2VydmljZSJdfSw2ODU2MDYoZSl7ZS5leHBvcnRzPVsiRlAgTWFya2V0cyJdfSw2NzcwODAoZSl7ZS5leHBvcnRzPVsiRlJBIOKAlCBGcmFua2Z1cnQgU3RvY2sgRXhjaGFuZ2UiXX0sOTI3MjMwKGUpe2UuZXhwb3J0cz1bIkZTRSDigJQgRnVrdW9rYSBTdG9jayBFeGNoYW5nZSJdfSwKMzkyMDY3KGUpe2UuZXhwb3J0cz1bIkZUU0UgU1QgSW5kZXggU2VyaWVzIl19LDE3OTI1NyhlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBHcm91cCBJbmRpY2VzIl19LDg1NTQ3OShlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBGVFNFIEluZGljZXMiXX0sOTEwNjAxKGUpe2UuZXhwb3J0cz1bIkZXQiDigJQgRnJhbmtmdXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDk5MjcyNihlKXtlLmV4cG9ydHM9WyJGWENNIl19LDExNDExNShlKXtlLmV4cG9ydHM9WyJGWFRGIl19LDU5NTgzOChlKXtlLmV4cG9ydHM9WyJGb3J3YXJkIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sMzM2MzAoZSl7ZS5leHBvcnRzPVsiRmVicnVhcnkiXX0sODAyODU1KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBCYW5rIG9mIE5ldyBZb3JrIl19LDIwNTExNyhlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUgQmFuayBvZiBQaGlsYWRlbHBoaWEiXX0sNTcxMDA2KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBFY29ub21pYyBEYXRhIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDM0NzgzMyhlKXtlLmV4cG9ydHM9WyJGaXJzdCBiYXIgdGltZSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDQyOTk5MShlKXtlLmV4cG9ydHM9WyJGcmkiXX0sMzE4NTI1KGUpe2UuZXhwb3J0cz1bIkZyaWRheSJdfSwxMjAzMTkoZSl7ZS5leHBvcnRzPVsiRnVzaW9uIE1hcmtldHMiXX0sMzYxNDAwKGUpe2UuZXhwb3J0cz1bIkZ4UHJvIl19LDI1ODE5NChlKXtlLmV4cG9ydHM9WyJLQ0JUIEZ1dHVyZXMiXX0sNDk4ODk2KGUpe2UuZXhwb3J0cz1bIktDRVgiXX0sOTYxMjg5KGUpe2UuZXhwb3J0cz1bIktSWCDigJQgS29yZWEgU3RvY2sgRXhjaGFuZ2UiXX0sNzY2MDQwKGUpe2UuZXhwb3J0cz1bIktTRSDigJQgS3V3YWl0IFN0b2NrIEV4Y2hhbmdlIl19LDI4ODY1MShlKXtlLmV4cG9ydHM9WyJLb2xrYXRhIl19LDk4MDczOShlKXtlLmV4cG9ydHM9WyJLYXRhbmEgKFJvbmluKSJdfSwxNTc2MDUoZSl7ZS5leHBvcnRzPVsiS2F0YW5hIHYzIChSb25pbikiXX0sMjgyNDcoZSl7ZS5leHBvcnRzPVsiS2F0aG1hbmR1Il19LDQ4MDU1MyhlKXtlLmV4cG9ydHM9WyJLYWJ1bCJdfSw5MDkyMjQoZSl7ZS5leHBvcnRzPVsiS2FnaSJdfSw1ODU0NDIoZSl7ZS5leHBvcnRzPVsiS2FyYWNoaSJdfSw4NzY2NTkoZSl7ZS5leHBvcnRzPVsiS2VlcCBkcmF3aW5nIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSwxOTAxMjMoZSl7ZS5leHBvcnRzPVsiS3Jha2VuIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDA4NDA4KGUpe2UuZXhwb3J0cz1bIkt1Q29pbiJdfSwzNDcwNjQoZSl7ZS5leHBvcnRzPVsiS3VhbGEgTHVtcHVyIl19LDEwNTg1NShlKXtlLmV4cG9ydHM9WyJITlgg4oCUIEhhbm9pIFN0b2NrIEV4Y2hhbmdlIl19LDk5MTQ1KGUpe2UuZXhwb3J0cz1bIkhOWCDigJQgSGFub2kgU3RvY2sgRXhjaGFuZ2UgKFVQQ29NKSJdfSwyODk1NjkoZSl7ZS5leHBvcnRzPVsiSE9TRSDigJQgSG8gQ2hpIE1pbmggQ2l0eSBTdG9jayBFeGNoYW5nZSJdfSw4ODU1NTAoZSl7ZS5leHBvcnRzPVsiSEFNIOKAlCBIYW1idXJnIFN0b2NrIEV4Y2hhbmdlIl19LDQ2NjQ4KGUpe2UuZXhwb3J0cz1bIkhBTiDigJQgSGFubm92ZXIgU3RvY2sgRXhjaGFuZ2UiXX0sMjk4MTgwKGUpe2UuZXhwb3J0cz1bIkhFWCDigJQgTmFzZGFxIEhlbHNpbmtpIl19LDY2OTgzNyhlKXtlLmV4cG9ydHM9WyJIS0VYIOKAlCBIb25nIEtvbmcgRXhjaGFuZ2UiXX0sMjk1NTU1KGUpe2UuZXhwb3J0cz1bIkhTSSDigJQgSGFuZyBTZW5nIEluZGljZXMiXX0sOTE1NjQxKGUpe2UuZXhwb3J0cz1bIkhUWCJdfSw0NjI3MDIoZSl7ZS5leHBvcnRzPVsiSG8gQ2hpIE1pbmgiXX0sOTI2NDAzKGUpe2UuZXhwb3J0cz1bIkhvdXJzIl19LDQwNjczKGUpe2UuZXhwb3J0cz1bIkhvbmV5c3dhcCB2MiAoR25vc2lzKSJdfSw5ODIxOTcoZSl7ZS5leHBvcnRzPVsiSG9uZyBLb25nIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDg5OTc5MShlKXtlLmV4cG9ydHM9WyJIb25vbHVsdSJdfSw3ODg4MzcoZSl7ZS5leHBvcnRzPVsiSG9yaXpvbnRhbCJdfSw1ODIzODYoZSl7ZS5leHBvcnRzPVsiSGFsaWZheCJdfSwzMzExMDUoZSl7ZS5leHBvcnRzPVsiSGV5IHRoZXJlLCBuaWdodCBvd2wuIE1hcmtldCBpcyBjdXJyZW50bHkgb3BlbiBmb3Igb3Zlcm5pZ2h0IHRyYWRpbmcuIFRoZSBkYXRhIGR1cmluZyB0aGlzIHNlc3Npb24gaXMgcHJvdmlkZWQgYnkgdGhlIEJPQVRTIGV4Y2hhbmdlLiJdfSw3NDgxODIoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sNjE1MTQwKGUpe2UuZXhwb3J0cz1bIkhlbHNpbmtpIl19LDc2OTM5MShlKXtlLmV4cG9ydHM9WyJIaWRlIl19LDgyNDk5MyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCJdfSw4MDk5MzkoZSl7ZS5leHBvcnRzPVsiSGlkZSBhbGwgZHJhd2luZ3MiXX0sODAwMzQ5KGUpe2UuZXhwb3J0cz1bIkhpZGUgYWxsIGRyYXdpbmdzIGFuZCBpbmRpY2F0b3JzIl19LDg2NjMzMChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5ncywgaW5kaWNhdG9ycywgcG9zaXRpb25zLCBhbmQgb3JkZXJzIl19LDk4ODI2MChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5nIHRvb2xzIl19LDUzOTM0OShlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBpbmRpY2F0b3JzIl19LDg0NjQxMyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBwb3NpdGlvbnMgYW5kIG9yZGVycyJdfSwxNTcyMTAoZSl7ZS5leHBvcnRzPVsiSGlkZSBkcmF3aW5ncyJdfSw4MDc4ODAoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3JzIl19LDEzOTM1NShlKXtlLmV4cG9ydHM9WyJIaWRlIG1hcmtzIG9uIGJhcnMiXX0sNzYyOTg4KGUpe2UuZXhwb3J0cz1bIkhpZGUgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODIzNDMwKGUpe2UuZXhwb3J0cz1bIkhpZ2ggYW5kIGxvdyBwcmljZSBsYWJlbHMiXX0sMjU2MjIwKGUpewplLmV4cG9ydHM9WyJIaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMiXX0sNjYwNjA5KGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDQ2OTIwKGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVRpY2tzIFBlciBSb3d7Ym9sZEhpZ2hsaWdodEVuZH0gaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4iXX0sMzMzMDkoZSl7ZS5leHBvcnRzPVsiSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIHJlZHVjZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDIzMjMwMShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoSHlwZXJsaXF1aWQpIl19LDYzNDE4NShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoUEFSQSBISVAtMykiXX0sNjMyMzAzKGUpe2UuZXhwb3J0cz1bIkh5cGVybGlxdWlkIChYWVogSElQLTMpIl19LDcwOTIxMihlKXtlLmV4cG9ydHM9WyJJQyBNYXJrZXRzIl19LDQwMzQzMChlKXtlLmV4cG9ydHM9WyJJQ0UgRGF0YSBTZXJ2aWNlcyJdfSw3NDQzMShlKXtlLmV4cG9ydHM9WyJJQ0UgRnV0dXJlcyBTaW5nYXBvcmUiXX0sMzQ0MzQ1KGUpe2UuZXhwb3J0cz1bIklDRUFEIOKAlCBJQ0UgRnV0dXJlcyBBYnUgRGhhYmkiXX0sMjE5ODMzKGUpe2UuZXhwb3J0cz1bIklDRUVOREVYIOKAlCBJQ0UgRW5kZXgiXX0sNjU1NTI3KGUpe2UuZXhwb3J0cz1bIklDRUVVUiDigJQgSUNFIEZ1dHVyZXMgRXVyb3BlIENvbW1vZGl0aWVzIl19LDk3NTU1OChlKXtlLmV4cG9ydHM9WyJJQ0VFVVIg4oCUIElDRSBGdXR1cmVzIEV1cm9wZSBGaW5hbmNpYWxzIl19LDUyODgxMChlKXtlLmV4cG9ydHM9WyJJQ0VVUyDigJQgSUNFIEZ1dHVyZXMgVS5TLiJdfSw1NDU2MTYoZSl7ZS5leHBvcnRzPVsiSUNFVVNDQSDigJQgSUNFIEZ1dHVyZXMgVS5TLiBDb21tb2RpdGllcyAtIENhbmFkaWFuIEdyYWlucyJdfSwxODk1OTAoZSl7ZS5leHBvcnRzPVsiSUNFWCDigJQgTmFzZGFxIEljZWxhbmQiXX0sNzUxMDU4KGUpe2UuZXhwb3J0cz1bIklEWCDigJQgSW5kb25lc2lhIFN0b2NrIEV4Y2hhbmdlIl19LDE1Njk2NChlKXtlLmV4cG9ydHM9WyJJRyJdfSwzMzUxMjIoZSl7ZS5leHBvcnRzPVsiSVNUIOKAlCBJc3RhbmJ1bCBTdG9jayBFeGNoYW5nZSJdfSwyODg0MzIoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw5NDI0NihlKXtlLmV4cG9ydHM9WyJJbnRlcmFjdGl2ZSBCcm9rZXJzIl19LDE1OTI1KGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxNTIwNTQoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDM0MjQ2MyhlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIHZhbHVlIGxhYmVscyJdfSwzOTQ0NzgoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyBuYW1lIGxhYmVscyJdfSw4MDI5NzUoZSl7ZS5leHBvcnRzPVsiSW5kb25lc2lhIl19LDMwMjkzMShlKXtlLmV4cG9ydHM9WyJJbnB1dHMiXX0sNzI0OTA5KGUpe2UuZXhwb3J0cz1bIkluc2VydCBpbmRpY2F0b3IiXX0sOTEzNjUxKGUpe2UuZXhwb3J0cz1bIkluc3RpdHV0ZSBmb3IgU3VwcGx5IE1hbmFnZW1lbnQiXX0sMzI4MzEzKGUpe2UuZXhwb3J0cz1bIkluc3RydW1lbnQgaXMgbm90IGFsbG93ZWQiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sMTQyMzA4KGUpe2UuZXhwb3J0cz1bIklkZWFzIG9uIGNoYXJ0Il19LDExNjc2OChlKXtlLmV4cG9ydHM9WyJJZiB5b3UgcmVtb3ZlIHRoaXMgZHJhd2luZyBmcm9tIHRoZSBjaGFydCwgdGhlIGFsZXJ0IGJhc2VkIG9uIGl0IHdpbGwgYWxzbyBiZSBkZWxldGVkLiJdfSw3MTE1MjcoZSl7ZS5leHBvcnRzPVsiSXJlbGFuZCJdfSwyMDc3OTgoZSl7ZS5leHBvcnRzPVsiSXN0YW5idWwiXX0sODAzMzU0KGUpe2UuZXhwb3J0cz1bIklzcmFlbCJdfSwzODYzNzcoZSl7ZS5leHBvcnRzPVsiSXQgc2VlbXMgdGhlcmUncyBhbiBlcnJvciBpbiB0aGlzIHNjcmlwdC4gVHJ5IHJlYWNoaW5nIG91dCB0byB0aGUgc2NyaXB0J3MgYXV0aG9yIGZvciBoZWxwLiJdfSw2MzE0MzgoZSl7ZS5leHBvcnRzPVsiSXQnbGwgY2xvc2UgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw0MDQ1NChlKXtlLmV4cG9ydHM9WyJJdCdsbCBnbyB0byBwb3N0LW1hcmtldCB0cmFkaW5nIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sNzc5MzQwKGUpe2UuZXhwb3J0cz1bIkl0J2xsIG9wZW4gZm9yIHByZS1tYXJrZXQgdHJhZGluZyBpbiB7cmVtYWluaW5nVGltZX0uIl19LDI4MTM4NihlKXtlLmV4cG9ydHM9WyJJdCdsbCBvcGVuIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sODk4MTYzKGUpe2UuZXhwb3J0cz1bIkl0YWx5Il19LDM2MTkyMChlKXtlLmV4cG9ydHM9WyJJdOKAmWxsIG9wZW4gZnVsbHkgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw5MzEyMzIoZSl7ZS5leHBvcnRzPVsiSkZYIl19LDgxOTI4OShlKXtlLmV4cG9ydHM9WyJKU0Ug4oCUIEpvaGFubmVzYnVyZyBTdG9jayBFeGNoYW5nZSJdfSwyNzAzMzAoZSl7ZS5leHBvcnRzPVsiSm9oYW5uZXNidXJnIl19LDMzMTMwKGUpe2UuZXhwb3J0cz1bIkpha2FydGEiXX0sNjU3Mzc0KGUpe2UuZXhwb3J0cz1bIkphbiJdfSw5NDQ3ODQoZSl7ZS5leHBvcnRzPVsiSmFudWFyeSJdfSwyMDAwNjgoZSl7ZS5leHBvcnRzPVsiSmFwYW4iXX0sNzA0ODMxKGUpe2UuZXhwb3J0cz1bIkplcnVzYWxlbSJdfSwxODM5NTkoZSl7ZS5leHBvcnRzPVsiSnVsIl19LDkyNDY4OShlKXtlLmV4cG9ydHM9WyJKdWx5Il19LDg3NzQ1KGUpe2UuZXhwb3J0cz1bIkp1biJdfSw0MDI0ODIoZSl7ZS5leHBvcnRzPVsiSnVuZSJdfSwyMDI2MzEoZSl7CmUuZXhwb3J0cz1bIkp1bmVhdSJdfSwzMzMzNDkoZSl7ZS5leHBvcnRzPVsiT01YIOKAlCBOYXNkYXEgT01YIEdyb3VwIl19LDcyMDI4NyhlKXtlLmV4cG9ydHM9WyJPTVhCQUxUSUMiXX0sNTExMjcoZSl7ZS5leHBvcnRzPVsiT01YTk9SRElDIl19LDE4MTgxNShlKXtlLmV4cG9ydHM9WyJPTVhSIOKAlCBOYXNkYXEgUmlnYSJdfSw2OTUxODQoZSl7ZS5leHBvcnRzPVsiT0FOREEiXX0sODMxNTY4KGUpe2UuZXhwb3J0cz1bIk9LWCJdfSwxMjQwMzcoZSl7ZS5leHBvcnRzPVsiT1NFIOKAlCBPc2FrYSBFeGNoYW5nZSJdfSw5NDA0MTMoZSl7ZS5leHBvcnRzPVsiT1RDIOKAlCBPVEMgTWFya2V0cyJdfSw4NzI5ODAoZSl7ZS5leHBvcnRzPVsiT24gdGhlIGxlZnQiXX0sMzYzMzcwKGUpe2UuZXhwb3J0cz1bIk9uIHRoZSByaWdodCJdfSwzODI4MyhlKXtlLmV4cG9ydHM9WyJPbmx5IHthdmFpbGFibGVSZXNvbHV0aW9uc30gaW50ZXJ2YWxzIGFyZSBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDgxNDUwMShlKXtlLmV4cG9ydHM9WyJPY3RvYmVyIl19LDIwODA3OChlKXtlLmV4cG9ydHM9WyJPayJdfSw1OTQxNzAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyBQcmljZSBSZXBvcnRpbmcgQXV0aG9yaXR5Il19LDk3NzgxKGUpe2UuZXhwb3J0cz1bIk9wZW4iXX0sMzMyMDcwKGUpe2UuZXhwb3J0cz1bIk9wb2ZpbmFuY2UiXX0sMTcwNDI4KGUpe2UuZXhwb3J0cz1bIk9yY2EgKFNvbGFuYSkiXX0sODQ5NzM4KGUpe2UuZXhwb3J0cz1bIk9zbG8iXX0sNDM5NTQ5KGUpe2UuZXhwb3J0cz1bIk9zbWFubGkgRlgiXX0sNzg5MjQzKGUpe2UuZXhwb3J0cz1bIkxNRSDigJQgTG9uZG9uIE1ldGFsIEV4Y2hhbmdlIl19LDE1OTYyOChlKXtlLmV4cG9ydHM9WyJMQmFuayJdfSw4NDM1MTQoZSl7ZS5leHBvcnRzPVsiTEZKIFYyLjIgKEF2YWxhbmNoZSkiXX0sMzEzOTY0KGUpe2UuZXhwb3J0cz1bIkxKU0Ug4oCUIExqdWJsamFuYSBTdG9jayBFeGNoYW5nZSJdfSwxNDM4MDMoZSl7ZS5leHBvcnRzPVsiTFNFIOKAlCBMb25kb24gU3RvY2sgRXhjaGFuZ2UgKFVLIENvbXBhbmllcykiXX0sMzQ3MzM3KGUpe2UuZXhwb3J0cz1bIkxTSU4g4oCUIExvbmRvbiBTdG9jayBFeGNoYW5nZSAoSW50ZXJuYXRpb25hbCBDb21wYW5pZXMpIl19LDg4ODY3OChlKXtlLmV4cG9ydHM9WyJMb3ciXX0sMzY1MDYxKGUpe2UuZXhwb3J0cz1bIkxvd2VyIERldmlhdGlvbiJdfSwzNzI3MzIoZSl7ZS5leHBvcnRzPVsiTG9hZGluZyJdfSw3NTQzMTAoZSl7ZS5leHBvcnRzPVsiTG9jay91bmxvY2siXX0sODgyNzYoZSl7ZS5leHBvcnRzPVsiTG9jayB2ZXJ0aWNhbCBjdXJzb3IgbGluZSBieSB0aW1lIl19LDQxMTc2OChlKXtlLmV4cG9ydHM9WyJMb2NrIHByaWNlIHRvIGJhciByYXRpbyJdfSw1MDM1NTgoZSl7ZS5leHBvcnRzPVsiTG9nYXJpdGhtaWMiXX0sMjQ2NTA3KGUpe2UuZXhwb3J0cz1bIkxvbmRvbiJdfSw0MDg0MjYoZSl7ZS5leHBvcnRzPVsiTG9zIEFuZ2VsZXMiXX0sMjgyNzczKGUpe2UuZXhwb3J0cz1bIkxhdHZpYSJdfSw4NzQ2MShlKXtlLmV4cG9ydHM9WyJMYWRkZXIiXX0sOTUwNTE2KGUpe2UuZXhwb3J0cz1bIkxhZ29zIl19LDg4MDQ3MShlKXtlLmV4cG9ydHM9WyJMYW5nICYgU2Nod2FyeiBUcmFkZUNlbnRlciBBRyAmIENvLiBLRyJdfSw3NDM5NyhlKXtlLmV4cG9ydHM9WyJMYXN0IGJhciB0aW1lIl19LDMxNDY3KGUpe2UuZXhwb3J0cz1bIkxhc3QgZGF5IGNoYW5nZSJdfSw1MDQzNjEoZSl7ZS5leHBvcnRzPVsiTGV2ZWxzIl19LDY0NDc4MChlKXtlLmV4cG9ydHM9WyJMZWFybiB3aHkiXX0sNjQ4ODE2KGUpe2UuZXhwb3J0cz1bIkxlZnQiXX0sODkyMTAwKGUpe2UuZXhwb3J0cz1bIkxpdGh1YW5pYSJdfSwxNTc1MDAoZSl7ZS5leHBvcnRzPVsiTGltYSJdfSw1Mjc5MTIoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxMDM2MTcoZSl7ZS5leHBvcnRzPVsiTGluZSBCcmVhayJdfSw1MDcyKGUpe2UuZXhwb3J0cz1bIkxpc2JvbiJdfSw0MjIwMDcoZSl7ZS5leHBvcnRzPVsiTGp1YmxqYW5hIl19LDQzNjI1MyhlKXtlLmV4cG9ydHM9WyJMdXhTRSDigJQgTHV4ZW1ib3VyZyBTdG9jayBFeGNoYW5nZSJdfSw5NzU0NDcoZSl7ZS5leHBvcnRzPVsiTHV4ZW1ib3VyZyJdfSwzMjM4OTQoZSl7ZS5leHBvcnRzPVsiTHVuYXJDcnVzaCJdfSwxNTI1MTUoZSl7ZS5leHBvcnRzPVsiTU0gRmluYW5jZSAoQ3Jvbm9zKSJdfSw3NjAwNjkoZSl7ZS5leHBvcnRzPVsiTUFUU1VJIl19LDUwMjc4KGUpe2UuZXhwb3J0cz1bIk1DWCDigJQgTXVsdGkgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDI1MTU5MShlKXtlLmV4cG9ydHM9WyJNRVhDIl19LDc2MTU5NihlKXtlLmV4cG9ydHM9WyJNR0VYIOKAlCBGdXR1cmVzIl19LDM4NTgyNChlKXtlLmV4cG9ydHM9WyJNSUwg4oCUIE1pbGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk0OTgyNihlKXtlLmV4cG9ydHM9WyJNSUxTRURFWCDigJQgTWlsYW4gU3RvY2sgRXhjaGFuZ2UiXX0sMzE5ODY0KGUpe2UuZXhwb3J0cz1bIk1TRSAtIE1ldHJvcG9saXRhbiBTdG9jayBFeGNoYW5nZSJdfSw1MTI3NChlKXtlLmV4cG9ydHM9WyJNU1RBUiDigJQgQ0JPRSBNb3JuaW5nU3RhciBJbmRpY2VzIl19LDY1NDQ4MyhlKXtlLmV4cG9ydHM9WyJNVU4g4oCUIE11bmljaCBTdG9jayBFeGNoYW5nZSJdfSw5NjUwNjgoZSl7ZS5leHBvcnRzPVsiTVlYIOKAlCBCdXJzYSBNYWxheXNpYSBCZXJoYWQiXX0sMjg4Mzk2KGUpe2UuZXhwb3J0cz1bIk1vdmUgY2hhcnQiXX0sNzA1MDE2KGUpe2UuZXhwb3J0cz1bIk1vdmUgc2NhbGUgdG8gbGVmdCJdfSw5MTg3OShlKXtlLmV4cG9ydHM9WyJNb3ZlIHNjYWxlIHRvIHJpZ2h0Il19LDk0NzkzNihlKXtlLmV4cG9ydHM9WyJNb24iXX0sODg5Mzk0KGUpe2UuZXhwb3J0cz1bIk1vbmRheSJdfSw2OTUzMzcoZSl7ZS5leHBvcnRzPVsiTW9udGhzIl19LDMxNjAxOChlKXtlLmV4cG9ydHM9WyJNb3JlIHNldHRpbmdzIl19LDcyMTQzMyhlKXtlLmV4cG9ydHM9WyJNb3JvY2NvIl19LDI5NTU4NihlKXtlLmV4cG9ydHM9WyJNb3JuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcHJlLW1hcmtldCB0cmFkaW5nLiJdfSw0NDYwNzQoZSl7CmUuZXhwb3J0cz1bIk1vc2NvdyJdfSw4NDk5NzMoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDQzMTg5MihlKXtlLmV4cG9ydHM9WyJNYWRyaWQiXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSw1NjMyMzcoZSl7ZS5leHBvcnRzPVsiTWFsdGEiXX0sMzYxNDQ1KGUpe2UuZXhwb3J0cz1bIk1hbmlsYSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDYzNTY0MyhlKXtlLmV4cG9ydHM9WyJNYXJjaCJdfSw3NDM2ODkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGlzIGN1cnJlbnRseSBvbiBob2xpZGF5LiBMdWNreSB0aGVtLiJdfSw5NDcwNDQoZSl7ZS5leHBvcnRzPVsiTWV0ZW9yYSBETE1NIChTb2xhbmEpIl19LDgzMTk3MyhlKXtlLmV4cG9ydHM9WyJNZXRlb3JhIERZTiAoU29sYW5hKSJdfSw3ODkyOTEoZSl7ZS5leHBvcnRzPVsiTWV0cmljIGVycm9yIl19LDg2NTcwMChlKXtlLmV4cG9ydHM9WyJNZXhpY28iXX0sODc0NjA3KGUpe2UuZXhwb3J0cz1bIk1leGljbyBDaXR5Il19LDg1NTYzNihlKXtlLmV4cG9ydHM9WyJNaWRkbGUiXX0sNDI2NjcxKGUpe2UuZXhwb3J0cz1bIk1pbnV0ZXMiXX0sNTMyODg4KGUpe2UuZXhwb3J0cz1bIk10LkdveCJdfSw4MjU0MTQoZSl7ZS5leHBvcnRzPVsiTXVzY2F0Il19LDkwMzY1MChlKXtlLmV4cG9ydHM9WyJOQVNEQVEgRHViYWkiXX0sNzQ4NjcwKGUpe2UuZXhwb3J0cz1bIk5BU0RBUSDigJQgTkFTREFRIFN0b2NrIE1hcmtldCJdfSw1NDEyNTUoZSl7ZS5leHBvcnRzPVsiTkNERVgg4oCUIE5hdGlvbmFsIENvbW1vZGl0eSAmIERlcml2YXRpdmVzIEV4Y2hhbmdlIl19LDIyMDU1NyhlKXtlLmV4cG9ydHM9WyJOR00g4oCUIE5vcmRpYyBHcm93dGggTWFya2V0Il19LDkyMjc3MChlKXtlLmV4cG9ydHM9WyJOU0Ug4oCUIE5hZ295YSBTdG9jayBFeGNoYW5nZSJdfSwyNDUyNDkoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYWlyb2JpIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sNTgwNzEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYXRpb25hbCBTdG9jayBFeGNoYW5nZSBvZiBJbmRpYSJdfSw1NDQxMjEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOaWdlcmlhbiBTdG9jayBFeGNoYW5nZSJdfSw2ODE2MTcoZSl7ZS5leHBvcnRzPVsiTllNRVgg4oCUIE5ldyBZb3JrIE1lcmNhbnRpbGUgRXhjaGFuZ2UiXX0sOTQyNDg0KGUpe2UuZXhwb3J0cz1bIk5ZU0Ug4oCUIE5ldyBZb3JrIFN0b2NrIEV4Y2hhbmdlIl19LDEyNzYyKGUpe2UuZXhwb3J0cz1bIk5aWCDigJQgTmV3IFplYWxhbmQgU3RvY2sgRXhjaGFuZ2UiXX0sMzAwNTU4KGUpe2UuZXhwb3J0cz1bIk5vIGFjY2VzcyB0byB0aGlzIHNjcmlwdCJdfSw5OTM0MTYoZSl7ZS5leHBvcnRzPVsiTm8gdm9sdW1lIGRhdGEiXX0sMjE5MDY5KGUpe2UuZXhwb3J0cz1bIk5vLCBrZWVwIHRoZW0iXX0sNTYxNjAwKGUpe2UuZXhwb3J0cz1bIk5vdGlmaWNhdGlvbiJdfSw2NDY1NDUoZSl7ZS5leHBvcnRzPVsiTm92Il19LDk3MTU2MShlKXtlLmV4cG9ydHM9WyJOb3ZlbWJlciJdfSw5Njc0MTIoZSl7ZS5leHBvcnRzPVsiTm9yZm9sayBJc2xhbmQiXX0sODQ1NTIzKGUpe2UuZXhwb3J0cz1bIk5vcndheSJdfSwxMjQ5MzQoZSl7ZS5leHBvcnRzPVsiTmFpcm9iaSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMjU4MTE3KGUpe2UuZXhwb3J0cz1bIk5ldyBZb3JrIl19LDQyMTYoZSl7ZS5leHBvcnRzPVsiTmV3IFplYWxhbmQiXX0sMjc2NTQ3KGUpe2UuZXhwb3J0cz1bIk5pY29zaWEiXX0sODQ5ODY4KGUpe2UuZXhwb3J0cz1bIk5pZ2VyaWEiXX0sNTc2MzQ2KGUpe2UuZXhwb3J0cz1bIlNFVCDigJQgU3RvY2sgRXhjaGFuZ2Ugb2YgVGhhaWxhbmQiXX0sMzkzMjUoZSl7ZS5leHBvcnRzPVsiU0dYIOKAlCBTaW5nYXBvcmUgU3RvY2sgRXhjaGFuZ2UiXX0sOTQ2NjM0KGUpe2UuZXhwb3J0cz1bIlNIRkUg4oCUIFNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sNDIzMjcoZSl7ZS5leHBvcnRzPVsiU0lYIOKAlCBTSVggU3dpc3MgRXhjaGFuZ2UiXX0sMTQxOTgoZSl7ZS5leHBvcnRzPVsiU1Ag4oCUIFMmUCBJbmRleGVzIl19LDI0ODI1NShlKXtlLmV4cG9ydHM9WyJTUCDigJQgUyZQIEluZGljZXMiXX0sMzIxMTc1KGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FudGlhZ28gU3RvY2sgRXhjaGFuZ2UiXX0sNTIzMjkwKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FwcG9ybyBTZWN1cml0aWVzIEV4Y2hhbmdlIl19LDM2ODkyKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2hhbmdoYWkgU3RvY2sgRXhjaGFuZ2UiXX0sMTI1NTY4KGUpe2UuZXhwb3J0cz1bIlNUTyDigJQgTmFzZGFxIFN0b2NraG9sbSJdfSw1NzI5MDkoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSAoVE9OKSJdfSw3ODQ0OTUoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSB2MiAoVE9OKSJdfSw2MjcxMDQoZSl7ZS5leHBvcnRzPVsiU1ZQIl19LDMwNzk2KGUpe2UuZXhwb3J0cz1bIlNXQiDigJQgU3R1dHRnYXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDgzNDk2MShlKXtlLmV4cG9ydHM9WyJTWlNFIOKAlCBTaGVuemhlbiBTdG9jayBFeGNoYW5nZSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sNTM4OTQ4KGUpe2UuZXhwb3J0cz1bIlNvdXJjZSJdfSw3OTM0MDIoZSl7ZS5leHBvcnRzPVsiU291cmNlIGNvZGUiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw1ODc3NTIoZSl7ZS5leHBvcnRzPVsiU291dGggS29yZWEiXX0sNTA0MzEoZSl7ZS5leHBvcnRzPVsiU29maWEiXX0sNDAwMzIwKGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIHdoZW4gY3JlYXRpbmcgdGhlIGluZGljYXRvci4iXX0sMjg1ZTMoZSl7ZS5leHBvcnRzPVsiU29tZXRoaW5nIHdlbnQgd3JvbmcuIEhhbmcgdGlnaHQgYW5kIHRyeSBhZ2FpbiBsYXRlci4iXX0sNTkxNDE4KGUpe2UuZXhwb3J0cz1bIlNhdCJdfSwzODc5NShlKXtlLmV4cG9ydHM9WyJTYXR1cmRheSJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDc4NDc0MShlKXtlLmV4cG9ydHM9WyJTYXZlIGFzIl19LDE3MzQ3OShlKXtlLmV4cG9ydHM9WyJTYXhvIl0KfSw0NTE0NDcoZSl7ZS5leHBvcnRzPVsiU2FuIFNhbHZhZG9yIl19LDUxNDE1NihlKXtlLmV4cG9ydHM9WyJTYW50aWFnbyJdfSw5NTU0MzAoZSl7ZS5leHBvcnRzPVsiU2FvIFBhdWxvIl19LDc2MjE0NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDczMDU4NihlKXtlLmV4cG9ydHM9WyJTZXR0aW5ncyJdfSw4NTAyOTgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kIGZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sMTU0ODE0KGUpe2UuZXhwb3J0cz1bIlNlY29uZHMiXX0sNDQ0NDE4KGUpe2UuZXhwb3J0cz1bIlNlb3VsIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sNDE1MjYxKGUpe2UuZXhwb3J0cz1bIlNlcHRlbWJlciJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDEwOTk1NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIl19LDc5MjQ5NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIGJyZWFrcyJdfSw1Nzg4MzEoZSl7ZS5leHBvcnRzPVsiU2hhbmdoYWkiXX0sNjQ5MzczKGUpe2UuZXhwb3J0cz1bIlNob3cgYWxsIGRyYXdpbmdzIl19LDgxODc2MyhlKXtlLmV4cG9ydHM9WyJTaG93IGFsbCBkcmF3aW5ncyBhbmQgaW5kaWNhdG9ycyJdfSw0MjA2MjQoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgZHJhd2luZ3MsIGluZGljYXRvcnMsIHBvc2l0aW9ucywgYW5kIG9yZGVycyJdfSwyMDYzNzkoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgaW5kaWNhdG9ycyJdfSw3NzYwNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw4MDY5NzMoZSl7ZS5leHBvcnRzPVsiU2tpbGxpbmciXX0sMjYzNDMyKGUpe2UuZXhwb3J0cz1bIlNsb3Zha2lhIl19LDcyMTgyMShlKXtlLmV4cG9ydHM9WyJTbG92ZW5pYSJdfSw3ODgzMjEoZSl7ZS5leHBvcnRzPVsiU3BhaW4iXX0sNjkxMjc5KGUpe2UuZXhwb3J0cz1bIlNwcmVhZGV4Il19LDgwNDc2NihlKXtlLmV4cG9ydHM9WyJTcmkgTGFua2EiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sOTMxOTkyKGUpe2UuZXhwb3J0cz1bIlN0eWxlIl19LDM3OTA1KGUpe2UuZXhwb3J0cz1bIlN0YWNrIG9uIHRoZSBsZWZ0Il19LDI3OTk3NyhlKXtlLmV4cG9ydHM9WyJTdGFjayBvbiB0aGUgcmlnaHQiXX0sMjU1NTExKGUpe2UuZXhwb3J0cz1bIlN0b2NraG9sbSJdfSwxMjMyMTkoZSl7ZS5leHBvcnRzPVsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIl19LDUwNzQ1OChlKXtlLmV4cG9ydHM9WyJTdW4iXX0sNDMxNTE2KGUpe2UuZXhwb3J0cz1bIlN1blN3YXAgdjIgKFRST04pIl19LDkwOTMwNChlKXtlLmV4cG9ydHM9WyJTdW5kYXkiXX0sMTAzNShlKXtlLmV4cG9ydHM9WyJTdXNoaVN3YXAgdjIgKEV0aGVyZXVtKSJdfSwzMjQ3MDkoZSl7ZS5leHBvcnRzPVsiU3VzaGlTd2FwIHYyIChQb2x5Z29uKSJdfSwzNjk5NjMoZSl7ZS5leHBvcnRzPVsiU3dlZGVuIl19LDY2MDUzNChlKXtlLmV4cG9ydHM9WyJTd2lzc3F1b3RlIl19LDczMzk3MShlKXtlLmV4cG9ydHM9WyJTd2l0emVybGFuZCJdfSwxNzk5MzQoZSl7ZS5leHBvcnRzPVsiU3lkbmV5Il19LDcyMDUyKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBFcnJvciJdfSw3NzA0MzcoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIG5hbWUgbGFiZWwiXX0sOTU3MTk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBsYXN0IHByaWNlIGxhYmVsIl19LDg4MjE1KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBwcmV2aW91cyBkYXkgY2xvc2UgcHJpY2UgbGFiZWwiXX0sMzQ5OTgzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwICh6a1N5bmMpIl19LDE2MTEzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwIHYyICh6a1N5bmMpIl19LDg2MDIxMShlKXtlLmV4cG9ydHM9WyJQU0Ug4oCUIFBoaWxpcHBpbmUgU3RvY2sgRXhjaGFuZ2UiXX0sMTMzNDY0KGUpe2UuZXhwb3J0cz1bIlBTRSDigJQgUHJhZ3VlIFN0b2NrIEV4Y2hhbmdlIl19LDk2MTI0NShlKXtlLmV4cG9ydHM9WyJQU1gg4oCUIFBha2lzdGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk1NDA0MShlKXtlLmV4cG9ydHM9WyJQbkYiXX0sOTY4NjA5KGUpe2UuZXhwb3J0cz1bIlBvbGFuZCJdfSw4NDMyMzUoZSl7ZS5leHBvcnRzPVsiUG9sb25pZXgiXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDY4MTU2NChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MiAoQk5CIGNoYWluKSJdfSw1MDIyNChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MyAoQk5CIGNoYWluKSJdfSwyNjEzMTQoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZVN3YXAgdjMgKEV0aGVyZXVtKSJdfSw3ODU2MjkoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEFyYml0cnVtKSJdfSw1MjA5MTUoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIl19LDMwMDM0MChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlc3dhcCB2MyAoemtTeW5jKSJdfSw1NjIyMTUoZSl7ZS5leHBvcnRzPVsiUGFuZ29saW4gdjIgKEF2YWxhbmNoZSkiXX0sNjE3ODc0KGUpe2UuZXhwb3J0cz1bIlBhcmlzIl19LDI4OTQ5MyhlKXtlLmV4cG9ydHM9WyJQZXBwZXJzdG9uZSJdfSwxNTU4MzMoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSwzNTAxMDgoZSl7ZS5leHBvcnRzPVsiUGVydGgiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sNzMzNTM5KGUpe2UuZXhwb3J0cz1bIlBoYXJhb2ggKEF2YWxhbmNoZSkiXX0sNzA1MzIyKGUpe2UuZXhwb3J0cz1bIlBoZW1leCJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sODMyMDM2KGUpe2UuZXhwb3J0cz1bIlBoaWxsaXAgTm92YSJdfSwzMzE5NTkoZSl7CmUuZXhwb3J0cz1bIlBob2VuaXgiXX0sNjc0NjcwKGUpe2UuZXhwb3J0cz1bIlBpb25leCJdfSwyODg5MTUoZSl7ZS5leHBvcnRzPVsiUGx1cyBidXR0b24iXX0sNTQ0NDAzKGUpe2UuZXhwb3J0cz1bIlByYWd1ZSJdfSw1NjUxNjEoZSl7ZS5leHBvcnRzPVsiUHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIl19LDQyMTEwKGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0IG1hcmtldCBwcmljZSBsaW5lIl19LDQ1ODI2MihlKXtlLmV4cG9ydHM9WyJQcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwiXX0sNDY2ODU1KGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIl19LDc0NjMwNShlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IHdpbGwgc3RhcnQgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw3OTQzMzEoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgZGF5IGNsb3NlIHByaWNlIGxpbmUiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg4MDIyMihlKXtlLmV4cG9ydHM9WyJQcmljZSBsaW5lIl19LDkzOTMwNyhlKXtlLmV4cG9ydHM9WyJQdWxzZXggKFB1bHNlY2hhaW4pIl19LDk3OTc1OShlKXtlLmV4cG9ydHM9WyJQdWxzZVggdjIgKFB1bHNlY2hhaW4pIl19LDExNTc5MShlKXtlLmV4cG9ydHM9WyJQdXJwbGUgVHJhZGluZyJdfSw2MDgxNjAoZSl7ZS5leHBvcnRzPVsiUHl0aCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw1OTU1NTUoZSl7ZS5leHBvcnRzPVsiUVNFIOKAlCBRYXRhciBTdG9jayBFeGNoYW5nZSJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sNDkyMjgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MiAoUG9seWdvbikiXX0sODczMzk1KGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbiB6a0VWTSkiXX0sNTk2NTQyKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbikiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDQyMzQwMShlKXtlLmV4cG9ydHM9WyJST0ZFWCDigJQgTUFUQkEgUk9GRVgiXX0sMTI3MzM2KGUpe2UuZXhwb3J0cz1bIlJVUyJdfSw5MDU5NDUoZSl7ZS5leHBvcnRzPVsiUm9tYW5pYSJdfSwyMjU5OTEoZSl7ZS5leHBvcnRzPVsiUm9tZSJdfSw1NjU2MTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSAoU29sYW5hKSJdfSwzNDM3OTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSBDTE1NIChTb2xhbmEpIl19LDgwODk3MihlKXtlLmV4cG9ydHM9WyJSYXlkaXVtIENQTU0gKFNvbGFuYSkiXX0sNTI4MDQ4KGUpe2UuZXhwb3J0cz1bIlJhbXNlcyB2MiAoQXJiaXRydW0pIl19LDk5MDIxMyhlKXtlLmV4cG9ydHM9WyJSYW5nZSJdfSw3NTM4NTgoZSl7ZS5leHBvcnRzPVsiUmV5a2phdmlrIl19LDg4MzkyOChlKXtlLmV4cG9ydHM9WyJSZWFsLXRpbWUiXX0sNzk4MzA3KGUpe2UuZXhwb3J0cz1bIlJlZG8iXX0sOTExMjYoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIl19LDE1MDg5NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgdGhpcyBpbmRpY2F0b3IgYW5kIGl0cyBkZXBlbmRlbnQgaW5kaWNhdG9ycz8iXX0sMTQ1Mzk2KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSB7ZHJhd2luZ3N9Il19LDY4MzIwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUge2RyYXdpbmdzfSAmIHtpbmRpY2F0b3JzfSJdfSwxMjgxMzMoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHtpbmRpY2F0b3JzfSJdfSw4ODk5OShlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSw4OTMwMjgoZSl7ZS5leHBvcnRzPVsiUmVwbGF5Il19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDk2NzczNShlKXtlLmV4cG9ydHM9WyJSZXBsYXkgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIGNoYXJ0IHR5cGUuIENvbnRpbnVlIGFueXdheT8iXX0sNzg0MTE2KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sLiBDb250aW51ZSBhbnl3YXk/Il19LDIwNzg0NShlKXtlLmV4cG9ydHM9WyJSZXNldCBjaGFydCB2aWV3Il19LDkwNjQzNihlKXtlLmV4cG9ydHM9WyJSZXNldCB0aW1lIHNjYWxlIl19LDc4MDk1KGUpe2UuZXhwb3J0cz1bIlJpeWFkaCJdfSwyMjk2NDMoZSl7ZS5leHBvcnRzPVsiUmlnYSJdfSw0OTg0MTUoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNzMwNjM4KGUpe2UuZXhwb3J0cz1bIlJ1bnRpbWUgZXJyb3IiXX0sMzkwNTk4KGUpe2UuZXhwb3J0cz1bIlJ1c3NpYW4gRmVkZXJhdGlvbiJdfSw0NjUyNjAoZSl7ZS5leHBvcnRzPVsiV09PIFgiXX0sMjkwNzIyKGUpe2UuZXhwb3J0cz1bIldCIC0gVmllbm5hIFN0b2NrIEV4Y2hhbmdlIl19LDQzNjg3MShlKXtlLmV4cG9ydHM9WyJXRUVYIl19LDQyMDkwMShlKXtlLmV4cG9ydHM9WyJXSCBTZWxmSW52ZXN0Il19LDU1NDM0MihlKXtlLmV4cG9ydHM9WyJXb3JsZCBlY29ub21pYyBkYXRhIl19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDE2NDczNihlKXtlLmV4cG9ydHM9WyJXYXJzYXciXX0sNDY1ODUxKGUpe2UuZXhwb3J0cz1bIldlYnVsbCBQYXkiXX0sNDcwNDgwKGUpe2UuZXhwb3J0cz1bIldlZCJdfSw3NzI3NjUoZSl7ZS5leHBvcnRzPVsiV2VkbmVzZGF5Il19LDI1MTcyOChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw3NDI2NDIoZSl7ZS5leHBvcnRzPVsiV2h5IG1pZ2h0IG15IFVTIHN0b2NrIGRhdGEgbG9vayBkaWZmZXJlbnQ/Il19LDczMjQ0NShlKXtlLmV4cG9ydHM9WyJXaGl0ZUJJVCJdfSwyODU0ODQoZSl7ZS5leHBvcnRzPVsiVE1YIOKAlCBNb250cmVhbCBFeGNoYW5nZSJdfSw3ODIxNjIoZSl7ZS5leHBvcnRzPVsiVE9DT00g4oCUIFRva3lvIENvbW1vZGl0eSBFeGNoYW5nZSJdfSw1MjI3MDcoZSl7CmUuZXhwb3J0cz1bIlRBSUZFWCDigJQgVGFpd2FuIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sMTc3OTcoZSl7ZS5leHBvcnRzPVsiVEFMU0Ug4oCUIE5hc2RhcSBUYWxsaW5uIl19LDIzMzU1KGUpe2UuZXhwb3J0cz1bIlRBU0Ug4oCUIFRlbCBBdml2IFN0b2NrIEV4Y2hhbmdlIl19LDU1MTQ5MShlKXtlLmV4cG9ydHM9WyJURkVYIOKAlCBUaGFpbGFuZCBGdXR1cmVzIEV4Y2hhbmdlIl19LDk2MzI3OChlKXtlLmV4cG9ydHM9WyJURlgg4oCUIFRva3lvIEZpbmFuY2lhbCBFeGNoYW5nZSJdfSwxNzQ4MTgoZSl7ZS5leHBvcnRzPVsiVFBFeCDigJQgVGFpcGVpIEV4Y2hhbmdlIl19LDg3MzAzNShlKXtlLmV4cG9ydHM9WyJUUE8iXX0sNDI5NzMzKGUpe2UuZXhwb3J0cz1bIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiXX0sOTQxNzQoZSl7ZS5leHBvcnRzPVsiVFNFIOKAlCBUb2t5byBTdG9jayBFeGNoYW5nZSJdfSw4OTUyNDYoZSl7ZS5leHBvcnRzPVsiVFNYIOKAlCBUb3JvbnRvIFN0b2NrIEV4Y2hhbmdlIl19LDE4MzUyNChlKXtlLmV4cG9ydHM9WyJUU1hWIOKAlCBUU1ggVmVudHVyZSBFeGNoYW5nZSJdfSw4MTYyNTMoZSl7ZS5leHBvcnRzPVsiVFdTRSDigJQgVGFpd2FuIFN0b2NrIEV4Y2hhbmdlIl19LDc1MzAyNChlKXtlLmV4cG9ydHM9WyJUbyBjYWxjdWxhdGUgdGhlIFZXQVAgaW5kaWNhdG9yLCBtb3JlIGRhdGEgaXMgbmVlZGVkLiBab29tIG91dCBvciBzY3JvbGwgbGVmdCB0byBsb2FkIG1vcmUgaGlzdG9yaWNhbCBkYXRhLiJdfSw2MjM1NDYoZSl7ZS5leHBvcnRzPVsiVG90YWwiXX0sMTA0MTc3KGUpe2UuZXhwb3J0cz1bIlRva2VsYXUiXX0sNzk4MTk5KGUpe2UuZXhwb3J0cz1bIlRva3lvIl19LDQxNjE5KGUpe2UuZXhwb3J0cz1bIlRvb2JpdCJdfSw5NjUzODgoZSl7ZS5leHBvcnRzPVsiVG9wIl19LDE2MzY3MihlKXtlLmV4cG9ydHM9WyJUb3JvbnRvIl19LDIzODMzNihlKXtlLmV4cG9ydHM9WyJUYWJsZSB2aWV3Il19LDY5NzY0NyhlKXtlLmV4cG9ydHM9WyJUYWRhd3VsIOKAlCBTYXVkaSBFeGNoYW5nZSJdfSw0NzYwMjYoZSl7ZS5leHBvcnRzPVsiVGFpcGVpIl19LDI3MzE1NyhlKXtlLmV4cG9ydHM9WyJUYWl3YW4sIENoaW5hIl19LDY1MjE3NihlKXtlLmV4cG9ydHM9WyJUYWxsaW5uIl19LDc5MTE1KGUpe2UuZXhwb3J0cz1bIlRleHQiXX0sNzQxNjk3KGUpe2UuZXhwb3J0cz1bIlRleHQgd3JhcCJdfSwyNzQ5NTMoZSl7ZS5leHBvcnRzPVsiVGV4dCBhbGlnbm1lbnQiXX0sMzcyMjMoZSl7ZS5leHBvcnRzPVsiVGV4dCBvcmllbnRhdGlvbiJdfSw3NDI5OChlKXtlLmV4cG9ydHM9WyJUZWhyYW4iXX0sMjEyNTY0KGUpe2UuZXhwb3J0cz1bIlRlbXBvcmFyeSBnbGl0Y2giXX0sMzAxNDg5KGUpe2UuZXhwb3J0cz1bIlRodSJdfSw4MzQ2NzEoZSl7ZS5leHBvcnRzPVsiVGh1cnNkYXkiXX0sNTUzMDQ0KGUpe2UuZXhwb3J0cz1bIlRoYWlsYW5kIl19LDI3ODc4OChlKXtlLmV4cG9ydHM9WyJUaGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIl19LDgyMzE2NihlKXtlLmV4cG9ydHM9WyJUaGUgZGF0YSB2ZW5kb3IgZG9lc24ndCBwcm92aWRlIHZvbHVtZSBkYXRhIGZvciB0aGlzIHN5bWJvbC4iXX0sNjAxNzAzKGUpe2UuZXhwb3J0cz1bIlRoZSBpbWFnZSBiZWluZyBwYXN0ZWQgaXMgd2F5IHRvbyBsYXJnZSJdfSwxODIwMjAoZSl7ZS5leHBvcnRzPVsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iXX0sMjM4Njg0KGUpe2UuZXhwb3J0cz1bIlRoZSBzY3JpcHQgeW91J3JlIGxvb2tpbmcgZm9yIGhhcyB2YW5pc2hlZCDigJQgbWF5YmUgaXQncyBiZWVuIHJlbW92ZWQgb3IgdGhlcmUncyBhIGdsaXRjaC4gQ29udGFjdCB0aGUgYXV0aG9yIHRvIGxlYXJuIG1vcmUuIl19LDcxMjE4NihlKXtlLmV4cG9ydHM9WyJUaGVyZSdzIG5vIGRhdGEgZm9yIHlvdXIgc2VsZWN0ZWQgcGVyaW9kIGFuZCBjaGFydCB0aW1lZnJhbWUuIl19LDUxOTE5MihlKXtlLmV4cG9ydHM9WyJUaGlua01hcmtldHMiXX0sNDA5MjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBkcmF3aW5nIGlzIGxvY2tlZCBhbmQgdXNlZCBpbiBhbiBhbGVydC4gUmVtb3ZlIGl0IGFueXdheT8iXX0sMTQwNDA3KGUpe2UuZXhwb3J0cz1bIlRoaXMgZHJhd2luZyBpcyB1c2VkIGluIGFuIGFsZXJ0LiBSZW1vdmUgaXQgYW55d2F5PyJdfSw5MDAwNDEoZSl7ZS5leHBvcnRzPVsiVGhpcyBpbmRpY2F0b3IgaGFzIG5vIHNvdXJjZS10eXBlIGlucHV0LCBzbyBpdCBjYW4ndCBiZSBhcHBsaWVkIHRvIGFub3RoZXIgaW5kaWNhdG9yLiJdfSw0ODc2OTUoZSl7ZS5leHBvcnRzPVsiVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiJdfSw1MzM5NTYoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfS4iXX0sOTk4MDQ0KGUpe2UuZXhwb3J0cz1bIlRpY2ttaWxsIl19LDM3MDI0MyhlKXtlLmV4cG9ydHM9WyJUaWNrcyJdfSw0Nzk0MTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHt0aWNrZXJ9LiJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSwyMjQxOTgoZSl7ZS5leHBvcnRzPVsiVGltZSB6b25lIl19LDIxNTk5OChlKXtlLmV4cG9ydHM9WyJUaW1lIGZvciBhIHdhbGsg4oCUIHRoaXMgbWFya2V0IGlzIGNsb3NlZC4iXX0sODAwMDA1KGUpe2UuZXhwb3J0cz1bIlRyYWRlIE5hdGlvbiJdfSwxMzc1NTEoZSl7ZS5leHBvcnRzPVsiVHJhZGVnYXRlIEV4Y2hhbmdlIl19LDE1MDI0MihlKXtlLmV4cG9ydHM9WyJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIl19LDUzMjE0NShlKXtlLmV4cG9ydHM9WyJUcmVuZCBsaW5lIl19LDE2NTQ2NShlKXtlLmV4cG9ydHM9WyJUcml2ZSJdfSw0NzQ5MyhlKXtlLmV4cG9ydHM9WyJUdWUiXX0sCjQ1NjMzNChlKXtlLmV4cG9ydHM9WyJUdWVzZGF5Il19LDMwNzI0OChlKXtlLmV4cG9ydHM9WyJUdW5pcyJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDE0OTE4MShlKXtlLmV4cG9ydHM9WyJUdXJib3MgRmluYW5jZSAoU3VpKSJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDM2MTYzMihlKXtlLmV4cG9ydHM9WyJUdXJxdW9pc2UiXX0sMTYzMTEwKGUpe2UuZXhwb3J0cz1bIlVBRSJdfSw1ODc1MzMoZSl7ZS5leHBvcnRzPVsiVUsiXX0sMzAxMTE3KGUpe2UuZXhwb3J0cz1bIlVTQSJdfSwxMzkxNDEoZSl7ZS5leHBvcnRzPVsiVVNJIl19LDkxMjI1NShlKXtlLmV4cG9ydHM9WyJVVEMiXX0sNzQxMzMoZSl7ZS5leHBvcnRzPVsiVW5kbyJdfSw5MzI4KGUpe2UuZXhwb3J0cz1bIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIl19LDcwMzkyOShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYyIChCYXNlKSJdfSwzNjU5NDUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MiAoRXRoZXJldW0pIl19LDU5MTk3MChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiXX0sNzgxNTEoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQXZhbGFuY2hlKSJdfSw0MDA2OTcoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSJdfSw5OTYyNjUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQmFzZSkiXX0sMjgyNTA1KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjMgKEV0aGVyZXVtKSJdfSw4NDM3ODQoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoT3B0aW1pc20pIl19LDc4Mzc3NShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChQb2x5Z29uKSJdfSw3NTc1OTMoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoQXJiaXRydW0pIl19LDExMTMwMChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIl19LDI0NTE2MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIl19LDI3Mjg0KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKEJhc2UpIl19LDcwODY4MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChFdGhlcmV1bSkiXX0sNDcwNDgzKGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKE9wdGltaXNtKSJdfSw3ODQxMjIoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoUG9seWdvbikiXX0sNjg5MzE3KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKFVuaWNoYWluKSJdfSwyNDkwOTEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiXX0sMjgyNzMoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEtpbmdkb20iXX0sOTkxMjU4KGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sODQ2NTk4KGUpe2UuZXhwb3J0cz1bIlVuc3VwcG9ydGVkIGludGVydmFsIl19LDYyMTk4NChlKXtlLmV4cG9ydHM9WyJVaC1vaCEgU29tZXRoaW5nJ3Mgbm90IHdvcmtpbmcgcmlnaHQiXX0sMTkzODE4KGUpe2UuZXhwb3J0cz1bIlVwQml0Il19LDI4MDYyKGUpe2UuZXhwb3J0cz1bIlVwZ3JhZGUgdG8gdGhlIFByZW1pdW0gcGxhbiB0byBhY2Nlc3MgaGlnaGVyIGJhciBkZXRhbGl6YXRpb24gd2l0aCBtb3JlIHRpY2tzIHVzZWQgaW4gY2FsY3VsYXRpb25zLiJdfSw5MjM5MTIoZSl7ZS5leHBvcnRzPVsiVXBncmFkZSB0byB1bmxvY2sgZm9yZWNhc3QgbWV0cmljcyJdfSw1OTkwMDkoZSl7ZS5leHBvcnRzPVsiVXBwZXIgRGV2aWF0aW9uIl19LDU4MDgxKGUpe2UuZXhwb3J0cz1bIlVzZSBMb3dlciBEZXZpYXRpb24iXX0sMjA4NzQ1KGUpe2UuZXhwb3J0cz1bIlVzZSBVcHBlciBEZXZpYXRpb24iXX0sODY0ODQ2KGUpe2UuZXhwb3J0cz1bIlVzZSBvbmUgY29sb3IiXX0sNDIwNDQ5KGUpe2UuZXhwb3J0cz1bIlVzZXItZGVmaW5lZCBlcnJvciJdfSw5OTc1MDAoZSl7ZS5leHBvcnRzPVsiVlNFIOKAlCBOYXNkYXEgVmlsbml1cyJdfSwyMzEzMjUoZSl7ZS5leHBvcnRzPVsiVlZTIEZpbmFuY2UgKENyb25vcykiXX0sOTk0MTc2KGUpe2UuZXhwb3J0cz1bIlZWUyB2MyAoQ3Jvbm9zKSJdfSwzNjQ3MzYoZSl7ZS5leHBvcnRzPVsiVldBUCBpcyB3YWl0aW5nIGZvciBtb3JlIGRhdGEiXX0sNTMzMDc3KGUpe2UuZXhwb3J0cz1bIlZvbG1leCJdfSwzMzI1ODcoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4iXX0sNDk3NjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBkYXRhIGlzIG5vdCBwcm92aWRlZCBpbiBCSVNUIE1JWEVEIGRhdGEgcGxhbi4iXX0sNDg3MjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTkxMzIoZSl7ZS5leHBvcnRzPVsiVmFuY291dmVyIl19LDQ2MjUxNyhlKXtlLmV4cG9ydHM9WyJWYW50YWdlIl19LDY4MDc5KGUpe2UuZXhwb3J0cz1bIlZlbG9jaXR5IFRyYWRlIl19LDQ0NDgyNShlKXtlLmV4cG9ydHM9WyJWZWxvZHJvbWUgKE9wdGltaXNtKSJdfSw1MzMyNTAoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIFNsaXBTdHJlYW0gKE9wdGltaXNtKSJdfSw5NTc3MzQoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIHYyIChPcHRpbWlzbSkiXX0sNjQzNTAzKGUpe2UuZXhwb3J0cz1bIlZlbmV6dWVsYSJdfSw4MDA1MDMoZSl7ZS5leHBvcnRzPVsiVmVydGljYWwiXX0sNjE0NDIoZSl7ZS5leHBvcnRzPVsiVmllbm5hIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sMTAwMzAxKGUpe2UuZXhwb3J0cz1bIlZpbG5pdXMiXX0sOTg3NzMzKGUpe2UuZXhwb3J0cz1bIlZpc2liaWxpdHkiXX0sNTI0Nzk1KGUpe2UuZXhwb3J0cz1bIlZpc2libGUgb24gdGFwIl19LDIxNTY3MShlKXtlLmV4cG9ydHM9WyJWaXNpYmxlIG9uIG1vdXNlIG92ZXIiXX0sOTYxODQ3KGUpe2UuZXhwb3J0cz1bIlhFVFIg4oCUIFhldHJhIl19LDY4NjExNChlKXtlLmV4cG9ydHM9WyJYVC5jb20iXX0sNTU4NDQ0KGUpewplLmV4cG9ydHM9WyJZb3UgYXJlIGluIHRoZSBjaGFydCByZXBsYXkgbW9kZS4gQW4gb3JkZXIgd2lsbCBiZSBwbGFjZWQgaW4gcmVhbC10aW1lLiBEbyB5b3Ugc3RpbGwgd2FudCB0byBwbGFjZSB0aGUgb3JkZXI/Il19LDcyMzYzKGUpe2UuZXhwb3J0cz1bIllvdSBhcmUgbm90aWZpZWQiXX0sMTkxMDYoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBjaGFydCB0eXBlIG9yIGNvbnRpbnVlIHRvIHVzZSBhIG5ldyBvbmUgd2l0aG91dCBiYXIgcmVwbGF5LiJdfSw0MTYxMTkoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBzeW1ib2wgb3IgY29udGludWUgdG8gdXNlIGEgbmV3IG9uZSB3aXRob3V0IGJhciByZXBsYXkuIl19LDI5OTE4OChlKXtlLmV4cG9ydHM9WyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iXX0sNTA1OTg1KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIGxvY2tlZCBkcmF3aW5ncyBvbiB0aGlzIHN5bWJvbC4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBsb2NrZWQgZHJhd2luZ3MgdG9vPyJdfSwxNzczNTQoZSl7ZS5leHBvcnRzPVsiWWFuZ29uIl19LDk4NTgyNihlKXtlLmV4cG9ydHM9WyJZZXMsIHJlbW92ZSB0aGVtIl19LDgxODg1MChlKXtlLmV4cG9ydHM9WyJaQ0Ug4oCUIFpoZW5nemhvdSBDb21tb2RpdHkgRXhjaGFuZ2UiXX0sNTM3MTM3KGUpe2UuZXhwb3J0cz1bIlpTRSDigJQgWmFncmViIFN0b2NrIEV4Y2hhbmdlIl19LDU3MDQwMyhlKXtlLmV4cG9ydHM9WyJab29tZXgiXX0sNzkyMzg2KGUpe2UuZXhwb3J0cz1bIlphZ3JlYiJdfSw0NzM0OTYoZSl7ZS5leHBvcnRzPVsiWnVyaWNoIl19LDkxNzU5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIl19LDUxNjQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sNDA1MzUyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSJdfSw5ODc5NzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJhciBYIGNvb3JkaW5hdGUiXX0sMTQxNTUzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBiaWQgYW5kIGFzayBsYWJlbHMgdmlzaWJpbGl0eSJdfSwzOTYwNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJpZCBhbmQgYXNrIGxpbmVzIHZpc2liaWxpdHkiXX0sOTkzOShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iXX0sMzk5MjU0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBjb3VudGRvd24gdG8gYmFyIGNsb3NlIHZpc2liaWxpdHkiXX0sMjQ3MDE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBkYXRlIHJhbmdlIl19LDU2OTg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGFiZWxzIHZpc2liaWxpdHkiXX0sMTg0NjY2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMgdmlzaWJpbGl0eSJdfSwzODYzMzUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgbmFtZSBsYWJlbHMgdmlzaWJpbGl0eSJdfSw2MjQzNjAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgdmFsdWUgbGFiZWxzIHZpc2liaWxpdHkiXX0sNzM5MDg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwbHVzIGJ1dHRvbiB2aXNpYmlsaXR5Il19LDU3NjcwMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMTc2NzQ1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg0NDk4NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QvbmlnaHQgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMzk0MjgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg4NjkxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJldmlvdXMgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDE5NTIxOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgWSBjb29yZGluYXRlIl19LDMyMjkxMihlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDc0MzM0MShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcmVzb2x1dGlvbiJdfSwxODc2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIl19LDE1NjEwOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhYmVscyB2aXNpYmlsaXR5Il19LDIyNTkwMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhc3QgdmFsdWUgdmlzaWJpbGl0eSJdfSw1OTQyMDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5Il19LDcyMzQyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc2Vzc2lvbiJdfSwxNDYyMDIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHNlc3Npb24gYnJlYWtzIHZpc2liaWxpdHkiXX0sNTg3MjQyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzZXJpZXMgc3R5bGUiXX0sMTMxNDA4KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB0aW1lem9uZSJdfSw1MzU0MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gY29lZmZzIGFzIHBlcmNlbnRzIHZpc2liaWxpdHkiXX0sNjgwMjY0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGFsbCBsaW5lcyBjb2xvciJdfSw5NDQyNjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gYmFja2dyb3VuZCB0cmFuc3BhcmVuY3kiXX0sMzE5NTE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGJhY2tncm91bmQgdmlzaWJpbGl0eSJdfSwyNzA3OTAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyB0byJdfSwyMDM5MDEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyBmcm9tIl19LDkzMTY1NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBob3VycyBmcm9tIl19LAo2NTM4MzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gaG91cnMgdG8iXX0sMjQ0NDc1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSBjb2VmZiJdfSwxNTIyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgY29sb3IiXX0sMTc4NTIxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSB2aXNpYmlsaXR5Il19LDM1MzgyNShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgd2lkdGgiXX0sNDc1MDU3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVscyB2aXNpYmlsaXR5Il19LDg3ODk5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgZnJvbSJdfSwyMzg4MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgdG8iXX0sOTEyNTcwKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgdG8iXX0sMzMxMjgxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgZnJvbSJdfSwzODI3MjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyB0byJdfSw5MzQ3MzYoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyBmcm9tIl19LDQ3NTIyMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyBmcm9tIl19LDIxNDIwNChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyB0byJdfSw4NTg4OTkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdGV4dCJdfSw0NTE3MzIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB0aWNrcyJdfSw2MDc2NjIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB3ZWVrcyJdfSwzMTQwNjUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB7cmFuZ2VzfSJdfSw1OTIyODQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiBkYXlzIl19LDI0MTM2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIGhvdXJzIl19LDEwMzg3OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIG1pbnV0ZXMiXX0sODkxMzk1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IHZpc2liaWxpdHkgb24gbW9udGhzIl19LDQwNDkxMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIHNlY29uZHMiXX0sODI4NTc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgdmVydGljYWwiXX0sODgxNzQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgaG9yaXpvbnRhbCJdfSw4MTAzNzcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGFiZWxzIGRpcmVjdGlvbiJdfSw2Njg5MTUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSB2aXNpYmlsaXR5Il19LDcxNjM2MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIHdpZHRoIl19LDg2NjcxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGNvbG9yIl19LDIxODA2NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyBsZWZ0Il19LDgzODk1OChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyByaWdodCJdfSw4NzIxODUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSBsZWZ0IGVuZCJdfSw1NTE0NzAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSByaWdodCBlbmQiXX0sNDk5NTIzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxpbmUgc3R5bGUiXX0sMjQwMzgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQiXX0sNDY3Njg0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgdmlzaWJpbGl0eSJdfSwxNTUwNDQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gdGV4dCB3cmFwIl19LDYyODgzOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGJhY2tncm91bmQgY29sb3IiXX0sNTMxMzk3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYmFja2dyb3VuZCB2aXNpYmlsaXR5Il19LDIyMTc0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIGNvbG9yIl19LDgxODAyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHdpZHRoIl19LDEyMzc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHZpc2liaWxpdHkiXX0sMTY1MzA0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgY29sb3IiXX0sNjc1NDQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgZm9udCBib2xkIl19LDU2Mzk0NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgaXRhbGljIl19LDI3MDA1MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgc2l6ZSJdfSwxMDMzMjcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHtwcm9wZXJ0eU5hbWV9IHByb3BlcnR5Il19LDI4ODc5NyhlKXtlLmV4cG9ydHM9WyJjcmVhdGUgbGluZSB0b29scyBncm91cCJdfSwxMzQ1NTgoZSl7ZS5leHBvcnRzPVsiY3JlYXRlIGxpbmUgdG9vbHMgZ3JvdXAgZnJvbSBzZWxlY3Rpb24iXX0sNTQ5OTg2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sNzIxMTE4KGUpe2UuZXhwb3J0cz1bImFubnVhbGx5Il19LDY4OTU4MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9Il19LDQzOTU5MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sKHMpIHRvIGdyb3VwIHtncm91cH0iXX0sNjQ3NjU2KGUpewplLmV4cG9ydHM9WyJhcHBseSBjaGFydCB0aGVtZSJdfSwzNDc1ODUoZSl7ZS5leHBvcnRzPVsiYXBwbHkgYWxsIGNoYXJ0IHByb3BlcnRpZXMiXX0sODk3NDc2KGUpe2UuZXhwb3J0cz1bImFwcGx5IGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSwzODE1MTMoZSl7ZS5leHBvcnRzPVsiYXBwbHkgc3R1ZHkgdGVtcGxhdGUge3RlbXBsYXRlfSJdfSw2NjMxMjgoZSl7ZS5leHBvcnRzPVsiYXBwbHkgdG9vbGJhcnMgdGhlbWUiXX0sMjUxOTQ4KGUpe2UuZXhwb3J0cz1bImJpdEZseWVyIl19LDY1MzY5KGUpe2UuZXhwb3J0cz1bImJpbGxlZCBtb250aGx5Il19LDI2MDE5MyhlKXtlLmV4cG9ydHM9WyJiaWxsZWQgYW5udWFsbHkiXX0sNjAyNDMxKGUpe2UuZXhwb3J0cz1bImJyaW5nIGdyb3VwIHt0aXRsZX0gZm9yd2FyZCJdfSwzODY1MjIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSB0byBmcm9udCJdfSw4ODcyODIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSBmb3J3YXJkIl19LDE2NDAxOChlKXtlLmV4cG9ydHM9WyJkWWRYIl19LDIzMDk1NyhlKXtlLmV4cG9ydHM9WyJkYXRlIHJhbmdlIGxvY2siXX0sMjc1MjkoZSl7ZS5leHBvcnRzPVsiZGF5cyJdfSw4MTMwOTYoZSl7ZS5leHBvcnRzPVsiZGF5cyB0byJdfSw0MDIwNTEoZSl7ZS5leHBvcnRzPVsiZGF5cyBmcm9tIl19LDQyNDMzNChlKXtlLmV4cG9ydHM9WyJlYXN5TWFya2V0cyJdfSwyNjY3NzUoZSl7ZS5leHBvcnRzPVsiZXJhc2UgbGV2ZWwgbGluZSJdfSwyODg1NzAoZSl7ZS5leHBvcnRzPVsiZXhjbHVkZSBsaW5lIHRvb2xzIGZyb20gZ3JvdXAge2dyb3VwfSJdfSw1OTIxMTMoZSl7ZS5leHBvcnRzPVsiaG91cnMiXX0sNTY0OTk1KGUpe2UuZXhwb3J0cz1bImhvdXJzIGZyb20iXX0sNDMwOTQ5KGUpe2UuZXhwb3J0cz1bImhvdXJzIHRvIl19LDU4OTgxNShlKXtlLmV4cG9ydHM9WyJoaWRlIHt0aXRsZX0iXX0sNDc3NjY1KGUpe2UuZXhwb3J0cz1bImhpZGUgbWFya3Mgb24gYmFycyJdfSw2NTM1NzAoZSl7ZS5leHBvcnRzPVsiaUJyb2tlciJdfSwyMjIyODYoZSl7ZS5leHBvcnRzPVsiaW50ZXJ2YWwgbG9jayJdfSwxMDg2MDIoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYWZ0ZXIge3RhcmdldFRpdGxlfSJdfSw3ODE3MjEoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iXX0sOTIxNzM4KGUpe2UuZXhwb3J0cz1bImxvYWRpbmcuLi4iXX0sNjIwOTI3KGUpe2UuZXhwb3J0cz1bImxvY2sge3RpdGxlfSJdfSw3MDYzMDgoZSl7ZS5leHBvcnRzPVsibG9jayBncm91cCB7Z3JvdXB9Il19LDg0MjI3NihlKXtlLmV4cG9ydHM9WyJsZXNzIHRoYW4gMSBtaW51dGUiXX0sOTY1NzkwKGUpe2UuZXhwb3J0cz1bIm1vdmUiXX0sOTYzNTUxKGUpe2UuZXhwb3J0cz1bIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0Il19LDc5MTM3MShlKXtlLmV4cG9ydHM9WyJtb3ZlIGFsbCBzY2FsZXMgdG8gcmlnaHQiXX0sMTcwODE5KGUpe2UuZXhwb3J0cz1bIm1vdmUgZHJhd2luZ3MiXX0sNTU2NTY4KGUpe2UuZXhwb3J0cz1bIm1vbnRobHkiXX0sMTk0MzU1KGUpe2UuZXhwb3J0cz1bIm1vbnRocyJdfSw3OTI2NTYoZSl7ZS5leHBvcnRzPVsibW9udGhzIGZyb20iXX0sNTM1NjAwKGUpe2UuZXhwb3J0cz1bIm1vbnRocyB0byJdfSw1NzIzMzQoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IGludmlzaWJsZSJdfSwzNTY1NDEoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiXX0sNzQ1MTUzKGUpe2UuZXhwb3J0cz1bIm1lWEJUIl19LDY4MTcwMShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIl19LDE3NDM1NihlKXtlLmV4cG9ydHM9WyJtaW51dGVzIHRvIl19LDc3MjM5OShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIGZyb20iXX0sNjkyNTg5KGUpe2UuZXhwb3J0cz1bIm4vYSJdfSwzODYzNzMoZSl7ZS5leHBvcnRzPVsibm90IGF1dGhvcml6ZWQiXX0sMjU2OTY4KGUpe2UuZXhwb3J0cz1bInNjYWxlIHByaWNlIl19LDIzMTgzMShlKXtlLmV4cG9ydHM9WyJzY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDYxNDkwNihlKXtlLmV4cG9ydHM9WyJzY3JvbGwiXX0sNzc5MTg0KGUpe2UuZXhwb3J0cz1bInNldCBsYXlvdXQgc2l6ZXMiXX0sODMyNjYwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMiXX0sMjQ5NTU3KGUpe2UuZXhwb3J0cz1bInNlY29uZHMgdG8iXX0sODEwNDcwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMgZnJvbSJdfSw1NDAwMzgoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDUwMTUwNyhlKXtlLmV4cG9ydHM9WyJzZW5kIHt0aXRsZX0gdG8gYmFjayJdfSw1MTc2MjIoZSl7ZS5leHBvcnRzPVsic2VuZCBncm91cCB7dGl0bGV9IGJhY2t3YXJkIl19LDQ4MjExOChlKXtlLmV4cG9ydHM9WyJzdGF5IGluIGRyYXdpbmcgbW9kZSJdfSw0ODg4ODEoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGRyYXdpbmciXX0sMjA5NTk5KGUpe2UuZXhwb3J0cz1bInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiXX0sNzE5MjA5KGUpe2UuZXhwb3J0cz1bInN5bWJvbCBsb2NrIl19LDgxNTk5MyhlKXtlLmV4cG9ydHM9WyJzeW5jIHRpbWUiXX0sODM3MDY2KGUpe2UuZXhwb3J0cz1bInBhc3RlIGRyYXdpbmciXX0sNzYzMzM5KGUpe2UuZXhwb3J0cz1bInBhc3RlIGluZGljYXRvciJdfSw3OTc0OTEoZSl7ZS5leHBvcnRzPVsicmVhcnJhbmdlIHBhbmVzIl19LDYzNTQ5NihlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZGVzZWxlY3RlZCBlbXB0eSBsaW5lIHRvb2xzIl19LDU0MTY1OShlKXtlLmV4cG9ydHM9WyJyZW1vdmUgbGluZSBkYXRhIHNvdXJjZXMiXX0sNjY2MTQwKGUpe2UuZXhwb3J0cz1bInJlbW92aW5nIGxpbmUgdG9vbHMgZ3JvdXAge25hbWV9Il19LDM4NTMxMChlKXtlLmV4cG9ydHM9WyJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iXX0sMTMzNDk3KGUpe2UuZXhwb3J0cz1bInJlc2V0IGxheW91dCBzaXplcyJdfSw4MzEwNDUoZSl7ZS5leHBvcnRzPVsicmVzaXplIGxheW91dCJdfSwxMjk1MTAoZSl7CmUuZXhwb3J0cz1bInJlc3RvcmUgZGVmYXVsdHMiXX0sNjYyOTAzKGUpe2UuZXhwb3J0cz1bInJlc3RvcmUgc3R1ZHkgZGVmYXVsdHMiXX0sMzU2Mzk4KGUpe2UuZXhwb3J0cz1bIndlZWtzIl19LDYzOTE0MihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyBmcm9tIl19LDUyMDc4NihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyB0byJdfSw3ODQxMjgoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIl19LDU5OTE0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgYXV0byBzY2FsZSJdfSwxNDUzNjYoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIGNvbGxhcHNlZCBwYW5lIHN0YXRlIl19LDc3NzQ4NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDc2NDMyMShlKXtlLmV4cG9ydHM9WyJ0YXN0eWZ4Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sNzU1NTY5KGUpe2UuZXhwb3J0cz1bInRpY2tzIl19LDQwMDQxMihlKXtlLmV4cG9ydHM9WyJ0cmFjayB0aW1lIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sOTUyNTIzKGUpe2UuZXhwb3J0cz1bInVubG9jayBncm91cCB7Z3JvdXB9Il19LDc3MDYzOShlKXtlLmV4cG9ydHM9WyJ1bmxvY2sge3RpdGxlfSJdfSw1Mzc5NTMoZSl7ZS5leHBvcnRzPVsie2NoYXJ0U3R5bGV9IGNoYXJ0IHR5cGUgaXNuJ3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdGljay1iYXNlZCBpbnRlcnZhbHMuIl19LDMzODA5MyhlKXtlLmV4cG9ydHM9WyJ7Y291bnR9IGJhcnMiXX0sNzAyNTEoZSl7ZS5leHBvcnRzPVsie2RheXN9IGFuZCB7aG91cnN9Il19LDc5NDg5NShlKXtlLmV4cG9ydHM9WyJ7aG91cnN9IGFuZCB7bWludXRlc30iXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMzg2MDQ4KGUpe2UuZXhwb3J0cz1bInt1c2VyTmFtZX0gY3JlYXRlZCB3aXRoIHtjdXN0b21lcn0sIHtkYXRlfSJdfSw5NDM0OTkoZSl7ZS5leHBvcnRzPVsieEV4Y2hhbmdlIl19LDI3ODU2NShlKXtlLmV4cG9ydHM9WyJ6b29tIl19LDMxODIzKGUpe2UuZXhwb3J0cz1bInprU3dhcCAoemtTeW5jKSJdfSwyNTk3KGUpe2UuZXhwb3J0cz1bImFuZCB7bmFtZUNvdW50fSBtb3JlIGluZGljYXRvci4iLCJhbmQge25hbWVDb3VudH0gbW9yZSBpbmRpY2F0b3JzLiJdfSw3NDMwMDIoZSl7ZS5leHBvcnRzPVsiZGF5IiwiZGF5cyJdfSw0MTkxMTQoZSl7ZS5leHBvcnRzPVsiaG91ciIsImhvdXJzIl19LDMyMzQ4NShlKXtlLmV4cG9ydHM9WyJtb250aCIsIm1vbnRocyJdfSwxMTM2NDIoZSl7ZS5leHBvcnRzPVsibWludXRlIiwibWludXRlcyJdfSw2NjU1MzAoZSl7ZS5leHBvcnRzPVsic2Vjb25kIiwic2Vjb25kcyJdfSw2MTY0OShlKXtlLmV4cG9ydHM9WyJyYW5nZSIsInJhbmdlcyJdfSwzODgxMDUoZSl7ZS5leHBvcnRzPVsid2VlayIsIndlZWtzIl19LDUwNjQ0NyhlKXtlLmV4cG9ydHM9WyJ0aWNrIiwidGlja3MiXX0sMjY4MTY2KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sMjk4MjM0KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSwxNDIxMDEoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaG91ciIsIntudW1iZXJ9IGhvdXJzIl19LDMyMTQ1KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNzA0OTU4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNDA2NDg1KGUpe2UuZXhwb3J0cz1bInthbW91bnR9IGRyYXdpbmciLCJ7YW1vdW50fSBkcmF3aW5ncyJdfSwxNDE2NjIoZSl7ZS5leHBvcnRzPVsie2Ftb3VudH0gaW5kaWNhdG9yIiwie2Ftb3VudH0gaW5kaWNhdG9ycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.892Z","timestamp":1785124876892,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99309.ca4ac19b8ab37679f251.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7f26\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 91d44b9af7c1a03560fd596b0a56565e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32550,"size_decoded":11901,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-27T06:24:31.569546Z","times_seen":55,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTMwOV0sezgwMzI4NyhlKXtlLmV4cG9ydHM9eyJkZWZhdWx0LWRyYXdlci1taW4tdG9wLWRpc3RhbmNlIjoiMTAwcHgiLHdyYXA6IndyYXAtaWlpMTE4b04iLHBvc2l0aW9uQm90dG9tOiJwb3NpdGlvbkJvdHRvbS1paWkxMThvTiIsYmFja2Ryb3A6ImJhY2tkcm9wLWlpaTExOG9OIixkcmF3ZXI6ImRyYXdlci1paWkxMThvTiIscG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sNTYxMjUwKGUpe2UuZXhwb3J0cz17YmFja2dyb3VuZDoiYmFja2dyb3VuZC1OUW9tNUk4WiIsbWVkaXVtOiJtZWRpdW0tTlFvbTVJOFoiLGxhcmdlOiJsYXJnZS1OUW9tNUk4WiIsZGlzYWJsZWQ6ImRpc2FibGVkLU5Rb201SThaIixvcGVuOiJvcGVuLU5Rb201SThaIixzZWxlY3RlZDoic2VsZWN0ZWQtTlFvbTVJOFoiLG5ldXRyYWw6Im5ldXRyYWwtTlFvbTVJOFoiLGRhbmdlcjoiZGFuZ2VyLU5Rb201SThaIn19LDQ0MzYxOChlKXtlLmV4cG9ydHM9e2VsbGlwc2lzOiJlbGxpcHNpcy1EYXpSODVWQSIsd2l0aEdhcHM6IndpdGhHYXBzLURhelI4NVZBIn19LDQ0MDkyNihlKXtlLmV4cG9ydHM9e2hvdGtleToiaG90a2V5LVhjNlNocENxIn19LDIxMjQ4NihlKXtlLmV4cG9ydHM9e2J1dHRvbkNvbnRlbnQ6ImJ1dHRvbkNvbnRlbnQtVlg0a3BSOWkiLGxlZnQ6ImxlZnQtVlg0a3BSOWkifX0sMzU5MTE2KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tWE5VaXZUb3UifX0sOTQ4MzkwKGUpe2UuZXhwb3J0cz17bWlkZGxlOiJtaWRkbGUtRnR3d1JyN3UiLGhhc05vRW5kU2xvdDoiaGFzTm9FbmRTbG90LUZ0d3dScjd1Iix0aXRsZToidGl0bGUtRnR3d1JyN3UiLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1GdHd3UnI3dSIsaGFzVGl0bGU6Imhhc1RpdGxlLUZ0d3dScjd1IixoYXNEZXNjcmlwdGlvbjoiaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UifX0sMjMyMDU0KGUpe2UuZXhwb3J0cz17cmlnaHQ6InJpZ2h0LUNHZGpLYTlZIixjaGlsZDoiY2hpbGQtQ0dkakthOVkifX0sNDQwMDk2KGUpe2UuZXhwb3J0cz17c2Nyb2xsQ29udGFpbmVyOiJzY3JvbGxDb250YWluZXItekcyQ3FEZTIifX0sNjI3MDIyKGUpe2UuZXhwb3J0cz17ZmxleDoiZmxleC1nbzBaZU5RRiIsZml4ZWRIZWFkZXI6ImZpeGVkSGVhZGVyLWdvMFplTlFGIixmaXhlZEZvb3RlcjoiZml4ZWRGb290ZXItZ28wWmVOUUYiLG1haW5TY3JvbGxXcmFwcGVyOiJtYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRiIsZml4ZWRIZWFkZXJDb250ZW50OiJmaXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUYiLGZpeGVkRm9vdGVyQ29udGVudDoiZml4ZWRGb290ZXJDb250ZW50LWdvMFplTlFGIixub1Njcm9sbDoibm9TY3JvbGwtZ28wWmVOUUYiLG1haW46Im1haW4tZ28wWmVOUUYiLG1haW5Db250ZW50OiJtYWluQ29udGVudC1nbzBaZU5RRiJ9fSw0NTI0NjQoZSl7ZS5leHBvcnRzPXtwa246InBrbi1jVHBfdW5WOCJ9fSw1MTgyNzIoZSl7ZS5leHBvcnRzPXtldmVudFdyYXBwZXI6ImV2ZW50V3JhcHBlci1fRThVWFZLMSJ9fSw2MjM2MTMoZSl7ZS5leHBvcnRzPXttb2JpbGVDb250ZXh0OiJtb2JpbGVDb250ZXh0LVZ4bjRMaFlMIixhbmNob3JDb250ZXh0OiJhbmNob3JDb250ZXh0LVZ4bjRMaFlMIn19LDk3NTI4NShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItaGN0MnlKdksiLGFuaW1hdGVkOiJhbmltYXRlZC1oY3QyeUp2SyIscHVsc2F0aW9uOiJwdWxzYXRpb24taGN0MnlKdksifX0sMzEzNzcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RyYXdlckNvbnRleHQ6KCk9PmEsRHJhd2VyTWFuYWdlcjooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTk1Njc4KTtjbGFzcyBpIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2lzQm9keUZpeGVkPSExLHRoaXMuX2FkZERyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazpbLi4udC5zdGFjayxlXX0pKSl9LHRoaXMuX3JlbW92ZURyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazp0LnN0YWNrLmZpbHRlcigodD0+dCE9PWUpKX0pKSl9LHRoaXMuc3RhdGU9e3N0YWNrOltdfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXshdC5zdGFjay5sZW5ndGgmJnRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiYoKDAsby5yZXF1ZXN0TW9kYWxTY3JvbGxMb2NrKSh3aW5kb3cpLHRoaXMuX2lzQm9keUZpeGVkPSEwKSx0LnN0YWNrLmxlbmd0aCYmIXRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiZ0aGlzLl9pc0JvZHlGaXhlZCYmKCgwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KX1yZW5kZXIoKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUHJvdmlkZXIse3ZhbHVlOnthZGREcmF3ZXI6dGhpcy5fYWRkRHJhd2VyLHJlbW92ZURyYXdlcjp0aGlzLl9yZW1vdmVEcmF3ZXIsCmN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9ci5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RHJhd2VyOigpPT5wfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGk9bi5uKG8pLGE9bigxMzg2MzgpLHM9big1ODU0OCksbD1uKDE1MDE1MCksYz1uKDMxMzc3MiksdT1uKDYzMjk5MiksZD1uKDU1ODAzMCksZj1uKDgwMzI4Nyk7dmFyIG07ZnVuY3Rpb24gcChlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6bixjaGlsZHJlbjpvLHJlZmVyZW5jZTpkLGNsYXNzTmFtZTptLHRoZW1lOnA9Zn09ZSx2PSgwLGEuZW5zdXJlTm90TnVsbCkoKDAsci51c2VDb250ZXh0KShjLkRyYXdlckNvbnRleHQpKSxbaF09KDAsci51c2VTdGF0ZSkoKCgpPT4oMCxsLnJhbmRvbUhhc2gpKCkpKSxDPSgwLHIudXNlUmVmKShudWxsKSxiPSgwLHIudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAsci51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkoQy5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGIuc3Vic2NyaWJlKHYsbiksdi5hZGREcmF3ZXIoaCksKCk9Pnt2LnJlbW92ZURyYXdlcihoKSxiLnVuc3Vic2NyaWJlKHYsbil9KSksW10pLHIuY3JlYXRlRWxlbWVudChzLlBvcnRhbCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmQsY2xhc3NOYW1lOmkoKShmLndyYXAsZltgcG9zaXRpb24ke3R9YF0pfSxoPT09di5jdXJyZW50RHJhd2VyJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLmJhY2tkcm9wLG9uQ2xpY2s6bn0pLHIuY3JlYXRlRWxlbWVudChFLHtjbGFzc05hbWU6aSgpKHAuZHJhd2VyLGZbYHBvc2l0aW9uJHt0fWBdLG0pLHJlZjpDLCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KG18fChtPXt9KSk7Y29uc3QgRT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpuLC4uLm99PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6aSgpKGYuZHJhd2VyLG4pLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sOTk5NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QXBwQ29udGV4dDooKT0+cn0pO2NvbnN0IHI9KDAsbig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzI2ODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7REVGQVVMVF9JQ09OX0JVVFRPTl9WQVJJQU5UOigpPT5vLEljb25CdXR0b25WYXJpYW50Q29udGV4dDooKT0+aSxJY29uQnV0dG9uVmFyaWFudENvbnRleHRQcm92aWRlcjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSJwcmltYXJ5IixpPSgwLHIuY3JlYXRlQ29udGV4dCkoe3ZhcmlhbnQ6dm9pZCAwfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOnt2YXJpYW50OmUudmFyaWFudH19LGUuY2hpbGRyZW4pfX0sMzg3Nzc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NpcmNsZUxvZ286KCk9PnMsaGlkZGVuQ2lyY2xlTG9nb0NsYXNzOigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3OTQxODcpLGk9bigxNDAwMTcpO2NvbnN0IGE9bi5uKGkpKCkuaGlkZGVuO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLmlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wcykoZSksW24saV09KDAsci51c2VTdGF0ZSkoMCksYT0oMCxyLnVzZVJlZikobnVsbCkscz0oMCxvLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLG4sZS5jbGFzc05hbWUpLGw9ZS5hbHQ/P2UudGl0bGU/PyIiLGM9dD9sWzBdOmUucGxhY2Vob2xkZXJMZXR0ZXI7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgoKT0+aShhLmN1cnJlbnQ/LmNvbXBsZXRlPz8hdD8yOjEpKSxbdF0pLHQmJjMhPT1uP3IuY3JlYXRlRWxlbWVudCgiaW1nIix7cmVmOmEsY2xhc3NOYW1lOnMsY3Jvc3NPcmlnaW46IiIsc3JjOmUubG9nb1VybCxhbHQ6bCx0aXRsZTplLnRpdGxlLGxvYWRpbmc6ZS5sb2FkaW5nLG9uTG9hZDooKT0+aSgyKSxvbkVycm9yOigpPT5pKDMpLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSk6ci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMsdGl0bGU6ZS50aXRsZSwiYXJpYS1sYWJlbCI6ZVsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6ZVsiYXJpYS1oaWRkZW4iXX0sYyl9fSw3OTQxODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R5bGVDbGFzc2VzOigpPT5sLGlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wczooKT0+Y30pO3ZhciByPW4oOTE0NDg3KSxvPW4ubihyKSxpPW4oMTM2NCksYT1uKDE0MDAxNykscz1uLm4oYSk7ZnVuY3Rpb24gbChlLHQ9MixuKXtyZXR1cm4gbygpKHMoKS5sb2dvLHMoKVtlXSxuLDA9PT10fHwxPT09dD9vKCkoaS5za2VsZXRvblRoZW1lLndyYXBwZXIscygpLnNrZWxldG9uKTpzKCkubGV0dGVyLDE9PT10JiZpLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuImxvZ29VcmwiaW4gZSYmbnVsbCE9PWUubG9nb1VybCYmdm9pZCAwIT09ZS5sb2dvVXJsJiYwIT09ZS5sb2dvVXJsLmxlbmd0aH19LDMwOTkyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21CZWhhdmlvdXJDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiEwfSk7ci5kaXNwbGF5TmFtZT0iQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCJ9LDUyOTQxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHsKdXNlSXNGaXJzdFJlbmRlcjooKT0+byx1c2VJc05vbkZpcnN0UmVuZGVyOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCEwKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57dCghMSl9KSxbXSksZX1mdW5jdGlvbiBpKCl7cmV0dXJuIW8oKX19LDM0MjI2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb3JjZVVwZGF0ZTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSgpPT57Y29uc3RbLGVdPSgwLHIudXNlUmVkdWNlcikoKGU9PmUrMSksMCk7cmV0dXJuIGV9fSw3ODc4OTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bj0+e2UobiksdC5jdXJyZW50PW59O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e3MuY3VycmVudChlKX0pKSksW10pLG49KDAsci51c2VSZWYpKG51bGwpLGk9dD0+e2lmKG51bGw9PT10KXJldHVybiBhKG4uY3VycmVudCx0KSx2b2lkKG4uY3VycmVudD1udWxsKTtuLmN1cnJlbnQhPT1lJiYobi5jdXJyZW50PWUsYShuLmN1cnJlbnQsdCkpfSxzPSgwLHIudXNlUmVmKShpKTtyZXR1cm4gcy5jdXJyZW50PWksKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBzLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+cy5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sNjg5ODk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2hvdmVyTW91c2VFdmVudEZpbHRlcjooKT0+YSx1c2VBY2N1cmF0ZUhvdmVyOigpPT5zLHVzZUhvdmVyOigpPT5vLHVzZUhvdmVyRGVwcmVjYXRlZDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxyLnVzZVN0YXRlKSghMSk7cmV0dXJuW2Use29uTW91c2VFbnRlcjpmdW5jdGlvbihlKXt0KCEwKX0sb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gcyhlKXtjb25zdFt0LG5dPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcj1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO24ocil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTc5MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWF0Y2hNZWRpYTooKT0+aSx1c2VTYWZlTWF0Y2hNZWRpYTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0hMSl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSh0KTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD13aW5kb3cubWF0Y2hNZWRpYShlKTtmdW5jdGlvbiBuKCl7byh0Lm1hdGNoZXMpfXJldHVybiBuKCksdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pLCgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pfX0pLFtlXSksbn1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PndpbmRvdy5tYXRjaE1lZGlhKGUpLm1hdGNoZXMpLFtdKTtyZXR1cm4gbyhlLHQpfX0sOTQ4NDUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4sYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6aSx0aXRsZTphLGljb246cz0iIiwuLi5sfT1lLGM9bCx1PSEoIW8mJiFpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpzfSxjbGFzc05hbWU6bix0aXRsZTphLC4uLmN9KX0pKX0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOm8sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOnMsLi4ubH09ZSxjPSEhKG98fGl8fGEpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOnN8fCFjLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSw3NDE0MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGlzdEl0ZW1IYXNEZXNjcmlwdGlvbkNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSghMSl9LDYyODgyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMaXN0SXRlbTooKT0+a30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNTYxMjUwKSxzPW4ubihhKTtmdW5jdGlvbiBsKGUpe2NvbnN0IHQ9KDAsCnIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbVJlZjpvPXQsaXNPcGVuOmEsc2VsZWN0ZWQ6bCxkaXNhYmxlZDpjLG9uTW91c2VFbnRlcjp1LHNpemU6ZD0ibWVkaXVtIixhcmlhQnVzeTpmLGludGVudDptPSJuZXV0cmFsIixkYXRhUWFJZDpwfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjpwLGNsYXNzTmFtZTppKCkocygpLmJhY2tncm91bmQsbCYmcygpLnNlbGVjdGVkLGEmJnMoKS5vcGVuLGMmJnMoKS5kaXNhYmxlZCxzKClbZF0scygpW21dKSxyZWY6byxvbk1vdXNlRW50ZXI6dSwiYXJpYS1idXN5IjpmfSxuKX12YXIgYz1uKDIzNTcyNCksdT1uKDc4Nzg5NSksZD1uKDM0NTExNiksZj1uKDM1OTExNiksbT1uLm4oZik7ZnVuY3Rpb24gcChlKXtjb25zdCB0PSgwLHIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbUJ1dHRvblJlZjpvPXQsbGlzdEl0ZW1CdXR0b25JZDphLG9uS2V5RG93bkxpc3RJdGVtQnV0dG9uOnMsaHJlZjpsLHRhcmdldDpmPSJfYmxhbmsiLGhvdGtleTpwLGFyaWFDaGVja2VkOkUsYXJpYVNlbGVjdGVkOnYsYXJpYUhhc3BvcHVwOmgsYXJpYUNvbnRyb2xzOkMsYXJpYUV4cGFuZGVkOmIsYXJpYUxhYmVsOmcsYXJpYUxldmVsOngscm9sZTpPLGRpc2FibGVkOk4saXNPcGVuOncsc2VsZWN0ZWQ6UCxvbkNsaWNrOkwsdGFiSW5kZXg6VD0wLHJlbDpfLGRhdGFRYUlkOnksLi4uU309ZSxJPSgwLGQuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoUyksUj0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pLEE9KDAsci51c2VDYWxsYmFjaykoKGU9PntpZihSLmN1cnJlbnQhPT1lLnRhcmdldClyZXR1cm47cz8uKGUpO2NvbnN0IHQ9KDAsYy5oYXNoRnJvbUV2ZW50KShlKTszMiE9PXQmJjEzIT09dHx8KHZvaWQgMCE9PWwmJndpbmRvdy5vcGVuKGwsZiksTD8uKGUpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKX0pLFtMLGwsZixzLFJdKSxrPXtyb2xlOk8sImFyaWEta2V5c2hvcnRjdXRzIjpwPyhEPXAsQXJyYXkuaXNBcnJheShEKT9ELm1hcChjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpLmpvaW4oIiAiKTooMCxjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpKEQpKTp2b2lkIDAsImFyaWEtZXhwYW5kZWQiOmIsImFyaWEtaGFzcG9wdXAiOmgsImFyaWEtY29udHJvbHMiOkMsImFyaWEtY2hlY2tlZCI6RSwiYXJpYS1zZWxlY3RlZCI6diwiYXJpYS1kaXNhYmxlZCI6TiwiYXJpYS1sYWJlbCI6ZywiYXJpYS1sZXZlbCI6eCxjbGFzc05hbWU6aSgpKG0oKS5idXR0b24sUCYmbSgpLnNlbGVjdGVkKSx0YWJJbmRleDpULHJlZjpSLG9uS2V5RG93bjpOP3ZvaWQgMDpBLG9uQ2xpY2s6Tj92b2lkIDA6TCxpZDphLCJkYXRhLXFhLWlkIjp5LC4uLkl9O3ZhciBEO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLCFsJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmt9LCIgIixuLCIgIiksbCYmci5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpsLHRhcmdldDpmLHJlbDpfLC4uLmt9LG4pKX12YXIgRT1uKDMzMjY4Nyksdj1uKDQ0MDkyNiksaD1uLm4odik7ZnVuY3Rpb24gQyhlKXtjb25zdHtob3RrZXk6dH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aCgpLmhvdGtleX0sKG49dCxBcnJheS5pc0FycmF5KG4pP24ubWFwKGMuaHVtYW5SZWFkYWJsZUhhc2gpLmpvaW4oIiwgIik6KDAsYy5odW1hblJlYWRhYmxlSGFzaCkobikpKTt2YXIgbn12YXIgYj1uKDIzMjA1NCksZz1uLm4oYik7ZnVuY3Rpb24geChlKXtjb25zdHtyaWdodFNsb3Q6dCxob3RrZXk6bixzZWxlY3RlZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnKCkucmlnaHR9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcoKS5jaGlsZH0sci5jcmVhdGVFbGVtZW50KEUuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0UHJvdmlkZXIse3ZhcmlhbnQ6bz8icHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeSJ9LG4mJnIuY3JlYXRlRWxlbWVudChDLHtob3RrZXk6bn0pLHQpKSl9dmFyIE89big0NDM2MTgpLE49bi5uKE8pO2Z1bmN0aW9uIHcoZSl7Y29uc3R7ZWxsaXBzaXM6dCx0ZXh0Om4sY2xhc3NOYW1lOm99PWU7cmV0dXJuIG4/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKG8sInN0cmluZyI9PXR5cGVvZiBuJiZ0JiZOKCkuZWxsaXBzaXMsInN0cmluZyIhPXR5cGVvZiBuJiZOKCkud2l0aEdhcHMsdCYmImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKX0sbik6bnVsbH12YXIgUD1uKDk0ODM5MCksTD1uLm4oUCk7ZnVuY3Rpb24gVChlKXtjb25zdHtlbGxpcHNpczp0PSEwLHRpdGxlOm4sZGVzY3JpcHRpb246byxoYXNFbmRTbG90OmF9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShMKCkubWlkZGxlLG4mJkwoKS5oYXNUaXRsZSxvJiZMKCkuaGFzRGVzY3JpcHRpb24sIWEmJkwoKS5oYXNOb0VuZFNsb3QpfSxyLmNyZWF0ZUVsZW1lbnQodyx7a2V5OiJ0aXRsZSIsY2xhc3NOYW1lOkwoKS50aXRsZSx0ZXh0Om4sZWxsaXBzaXM6dH0pLHIuY3JlYXRlRWxlbWVudCh3LHtrZXk6ImRlc2NyaXB0aW9uIixjbGFzc05hbWU6TCgpLmRlc2NyaXB0aW9uLHRleHQ6byxlbGxpcHNpczp0fSkpfXZhciBfPW4oMjEyNDg2KSx5PW4ubihfKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2xlZnRTbG90OnQscmlnaHRTbG90Om4saG90a2V5Om8sc2VsZWN0ZWQ6aSxlbGxpcHNpczphLHRpdGxlOnMsZGVzY3JpcHRpb246bH09ZSxjPXZvaWQgMCE9PXQmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5sZWZ0LHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1sZWZ0U2xvdEl0ZW1zTnVtYmVyIjpBcnJheS5pc0FycmF5KHQpP3QubGVuZ3RoOjF9fSx0KSx1PW58fG8/ci5jcmVhdGVFbGVtZW50KHgse3JpZ2h0U2xvdDpuLGhvdGtleTpvLHNlbGVjdGVkOml9KTpudWxsLGQ9ci5jcmVhdGVFbGVtZW50KFQse2VsbGlwc2lzOmEsdGl0bGU6cyxkZXNjcmlwdGlvbjpsLGhhc0VuZFNsb3Q6ISF1fSkKO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5idXR0b25Db250ZW50fSxjLGQsdSkpfXZhciBJLFIsQT1uKDc0MTQwNSk7ZnVuY3Rpb24gayhlKXtjb25zdHt0aXRsZTp0LGRlc2NyaXB0aW9uOm4sbGlzdEl0ZW1SZWY6byxsaXN0SXRlbUJ1dHRvblJlZjppLGlzT3BlbjphLHNlbGVjdGVkOnMsZGlzYWJsZWQ6YyxvbkNsaWNrOnUsaHJlZjpmLGxlZnRTbG90Om0scmlnaHRTbG90OkUsaG90a2V5OnYsaW50ZW50Omgsb25Nb3VzZUVudGVyOkMsb25LZXlEb3duTGlzdEl0ZW1CdXR0b246YixsaXN0SXRlbUJ1dHRvbklkOmcsYXJpYUNoZWNrZWQ6eCxhcmlhU2VsZWN0ZWQ6TyxhcmlhSGFzcG9wdXA6TixhcmlhQ29udHJvbHM6dyxhcmlhRXhwYW5kZWQ6UCxhcmlhQnVzeTpMLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxzaXplOkksZWxsaXBzaXM6Uix0YXJnZXQ6ayxvdXRzaWRlT2ZCdXR0b25TbG90OkQsdGFiSW5kZXg6RixyZWw6VixkYXRhUWFJZDpNLC4uLld9PWUsSD0oMCxkLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKFcpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoQS5MaXN0SXRlbUhhc0Rlc2NyaXB0aW9uQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6ISFufSxyLmNyZWF0ZUVsZW1lbnQobCx7c2l6ZTpJLHNlbGVjdGVkOnMsaXNPcGVuOmEsZGlzYWJsZWQ6YyxsaXN0SXRlbVJlZjpvLG9uTW91c2VFbnRlcjpDLGFyaWFCdXN5OkwsaW50ZW50Omh9LHIuY3JlYXRlRWxlbWVudChwLHtsaXN0SXRlbUJ1dHRvblJlZjppLGxpc3RJdGVtQnV0dG9uSWQ6ZyxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpiLGhyZWY6Zix0YXJnZXQ6ayxob3RrZXk6dixhcmlhQ2hlY2tlZDp4LGFyaWFTZWxlY3RlZDpPLGFyaWFIYXNwb3B1cDpOLGFyaWFDb250cm9sczp3LGFyaWFFeHBhbmRlZDpQLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxkaXNhYmxlZDpjLGlzT3BlbjphLHNlbGVjdGVkOnMsb25DbGljazp1LGRhdGFRYUlkOk0sdGFiSW5kZXg6RixyZWw6ViwuLi5IfSxyLmNyZWF0ZUVsZW1lbnQoUyx7bGVmdFNsb3Q6bSxyaWdodFNsb3Q6RSxob3RrZXk6dixzZWxlY3RlZDpzLGVsbGlwc2lzOlIsdGl0bGU6dCxkZXNjcmlwdGlvbjpufSkpLEQpKX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShJfHwoST17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KFJ8fChSPXt9KSl9LDk4ODA2OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtEQVRBX0lTX0NPTlRFWFRfQUNUSU9OOigpPT5pLERBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTjooKT0+byxEQVRBX05FU1RFRF9QT1BPVkVSX09QRU46KCk9PnJ9KTtjb25zdCByPSJkYXRhLW5lc3RlZC1wb3BvdmVyLW9wZW4iLG89ImRhdGEtaXMtcG9wb3Zlci1pdGVtLWJ1dHRvbiIsaT0iZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uIn0sODczMDkwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0FMV0FZU19EUk9QRE9XTl9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pm8sREVGQVVMVF9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pml9KTt2YXIgcj1uKDgwOTQzNik7Y29uc3Qgbz0ibm90IGFsbCIsaT1yWyJtZWRpYS1zaG93LWRyYXdlciJdfSw1MjA0ODYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlckNvbnRlbnRWZXJ0aWNhbDooKT0+dX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNDQwMDk2KSxzPW4ubihhKTt2YXIgbD1uKDYyNzAyMiksYz1uLm4obCk7ZnVuY3Rpb24gdShlKXtjb25zdHtjaGlsZHJlbjp0LGZpeGVkSGVhZGVyOm4sZml4ZWRGb290ZXI6byxvblNjcm9sbDphLHNjcm9sbFJlZjpsLGRhdGFRYUlkOnV9PWUse3Njcm9sbENvbXBlbnNhdGlvbjpkLHNjcm9sbFBhZGRpbmdDb250YWluZXI6Zn09ZnVuY3Rpb24oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKHZvaWQgMCksbj0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2UmJnQoKHQ9PnR8fGUub2Zmc2V0V2lkdGgtZS5jbGllbnRXaWR0aCkpfSksW10pO3JldHVybntzY3JvbGxDb21wZW5zYXRpb246dm9pZCAwIT09ZT8tZSsicHgiOnZvaWQgMCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKS5zY3JvbGxDb250YWluZXIscmVmOm59KX19KCk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1xYS1pZCI6dSxjbGFzc05hbWU6YygpLmZsZXh9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRIZWFkZXIsbiYmYygpLmZpeGVkSGVhZGVyQ29udGVudCl9LG4pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkubWFpblNjcm9sbFdyYXBwZXIsdm9pZCAwPT09ZCYmYygpLm5vU2Nyb2xsKSxvblNjcm9sbDphLHJlZjpsLHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyQ29udGVudFZlcnRpY2FsLXNjcm9sbC1jb21wZW5zYXRpb24iOmR9fSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoYygpLm1haW4sdCYmYygpLm1haW5Db250ZW50KX0sdCkpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRGb290ZXIsbyYmYygpLmZpeGVkRm9vdGVyQ29udGVudCl9LG8pKSxmKX19LDk3MjczNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVySXRlbTooKT0+bH0pO3ZhciByLG8saT1uKDc3OTQ3NCksYT1uKDYyODgyNSkscz1uKDk4ODA2OCk7ZnVuY3Rpb24gbChlKXsKY29uc3R7dGl0bGU6dCxkZXNjcmlwdGlvbjpuLHBvcG92ZXJJdGVtUmVmOnIscG9wb3Zlckl0ZW1CdXR0b25SZWY6byxpc09wZW46bCxzZWxlY3RlZDpjLGRpc2FibGVkOnUsb25DbGljazpkLGhyZWY6ZixsZWZ0U2xvdDptLHJpZ2h0U2xvdDpwLGhvdGtleTpFLGludGVudDp2LG9uTW91c2VFbnRlcjpoLG9uS2V5RG93blBvcG92ZXJJdGVtQnV0dG9uOkMscG9wb3Zlckl0ZW1CdXR0b25JZDpiLGFyaWFDaGVja2VkOmcsYXJpYVNlbGVjdGVkOngsYXJpYUhhc3BvcHVwOk8sYXJpYUNvbnRyb2xzOk4sYXJpYUV4cGFuZGVkOncsYXJpYUJ1c3k6UCxhcmlhTGFiZWw6TCxyb2xlOlQsc2l6ZTpfLGVsbGlwc2lzOnksdGFyZ2V0OlMsb3V0c2lkZU9mQnV0dG9uU2xvdDpJLHRhYkluZGV4OlIscmVsOkEsZGF0YVFhSWQ6a309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGEuTGlzdEl0ZW0se3RpdGxlOnQsZGVzY3JpcHRpb246bixsaXN0SXRlbVJlZjpyLGxpc3RJdGVtQnV0dG9uUmVmOm8saXNPcGVuOmwsc2VsZWN0ZWQ6YyxkaXNhYmxlZDp1LG9uQ2xpY2s6ZCxocmVmOmYsbGVmdFNsb3Q6bSxyaWdodFNsb3Q6cCxob3RrZXk6RSxpbnRlbnQ6dixvbk1vdXNlRW50ZXI6aCxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpDLGxpc3RJdGVtQnV0dG9uSWQ6YixhcmlhQ2hlY2tlZDpnLGFyaWFTZWxlY3RlZDp4LGFyaWFIYXNwb3B1cDpPLGFyaWFDb250cm9sczpOLGFyaWFFeHBhbmRlZDp3LGFyaWFCdXN5OlAsYXJpYUxhYmVsOkwscm9sZTpULHNpemU6XyxlbGxpcHNpczp5LHRhcmdldDpTLG91dHNpZGVPZkJ1dHRvblNsb3Q6SSx0YWJJbmRleDpSLHJlbDpBLGRhdGFRYUlkOmssW3MuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXToidHJ1ZSJ9KX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KG98fChvPXt9KSl9LDIwODA4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVyS2V5Ym9hcmROYXZpZ2F0b3I6KCk9PlB9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDc4Nzg5NSksaT1uKDIzNjQ1NCksYT1uKDcxODc3Mykscz1uKDU4NzE2OCksbD1uKDIzNTcyNCksYz1uKDk4ODA2OCksdT1uKDgyMzEyNCksZD1uKDI1MDUxOCk7Y29uc3QgZj0oZSx0KT0+e2NvbnN0IG49ZSh0LHtwcmV2ZW50U2Nyb2xsOiEwfSk7biYmKDAsdS5zY3JvbGxQb3BvdmVySXRlbUludG9WaWV3KShuKX07ZnVuY3Rpb24gbShlLHQ9MCl7Y29uc3R7Zm9jdXNQcmV2TG9vcDpuLGZvY3VzTmV4dExvb3A6byxmb2N1c0ZpcnN0OmksZm9jdXNMYXN0OmF9PSgwLHIudXNlTWVtbykoKCgpPT4oMCxkLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShgWyR7Yy5EQVRBX0lTX1BPUE9WRVJfSVRFTV9CVVRUT059XWApKSxbXSk7Y29uc3QgdT0oMCxyLnVzZUNhbGxiYWNrKSgodD0+e2UmJnQmJmkodCl9KSxbaSxlXSksbT0oMCxyLnVzZU1lbW8pKCgoKT0+KDAscy5kZWZhdWx0KShmLHQse2xlYWRpbmc6ITEsdHJhaWxpbmc6ITB9KSksW3RdKTtyZXR1cm57b25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHI9KDAsbC5oYXNoRnJvbUV2ZW50KShlKSxzPWUuY3VycmVudFRhcmdldCxjPWZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiBuO2Nhc2UgNDA6cmV0dXJuIG87Y2FzZSAzNjpyZXR1cm4gaTtjYXNlIDM1OnJldHVybiBhfX0ocik7YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLHQ/bShjLHMpOmYoYyxzKSl9LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnV9fXZhciBwPW4oOTE0NDg3KSxFPW4ubihwKSx2PW4oMzE5NjkpLGg9bigyMzc2MTYpLEM9big1MjA0ODYpLGI9big1MTgyNzIpLGc9bi5uKGIpO2Z1bmN0aW9uIHgoZSl7Y29uc3QgdD0oMCxyLnVzZVJlZikobnVsbCkse3dpZHRoOm49aS5QT1BPVkVSX0RFRkFVTFRfV0lEVEgsaGVpZ2h0Om89aS5QT1BPVkVSX0RFRkFVTFRfSEVJR0hULHBsYWNlbWVudFJ1bGVzOmE9aS5QT1BPVkVSX0RFRkFVTFRfUExBQ0VNRU5UX1JVTEVTLG9uQ2xvc2U6cyxpc09wZW46bCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6YyxjaGlsZHJlbjp1LHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6bSxhbmNob3JlZDpwLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTp4LG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpPLG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOk4scmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dz10LGlzUnRsOlAscmVwb3NpdGlvblRyaWdnZXJzOkwscmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGZpeGVkSGVhZGVyOl8sZml4ZWRGb290ZXI6eSxvblNjcm9sbDpTLHNjcm9sbFJlZjpJLG9uS2V5RG93bjpSLGNvbnRlbnRSZXNpemU6QSxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50V3JhcHBlckNsYXNzbmFtZTpGfT1lLFY9KDAsci51c2VJZCkoKSxNPW0/P1YsVz0oMCx2LnVzZU1lcmdlZFJlZnMpKFt3XSksSD0oMCxyLnVzZVJlZikobnVsbCksQj0oMCx2LnVzZU1lcmdlZFJlZnMpKFtJLEhdKSxLPXIuY3JlYXRlRWxlbWVudCgiZGl2Iix7b25LZXlEb3duOlIsY2xhc3NOYW1lOkUoKShGLGcoKS5ldmVudFdyYXBwZXIpfSxyLmNyZWF0ZUVsZW1lbnQoQy5Qb3BvdmVyQ29udGVudFZlcnRpY2FsLHtmaXhlZEhlYWRlcjpfLGZpeGVkRm9vdGVyOnksb25TY3JvbGw6UyxzY3JvbGxSZWY6Qn0sdSkpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyLHthbmNob3JlZDpwLGlzUnRsOlAsb25DbG9zZTpzLGlzT3BlbjpsLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpjLHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGFyaWFNdWx0aXNlbGVjdGFibGU6YixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50Ok0scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6VyxwbGFjZW1lbnRSdWxlczphLHdpZHRoOm4saGVpZ2h0Om8sCmNoaWxkcmVuOkssbW9iaWxlUG9zaXRpb25lclNpZGU6eCxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpOLHJlcG9zaXRpb25UcmlnZ2VyczpMLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50UmVzaXplOkEsc2Nyb2xsQ29udGFpbmVyOkh9KX12YXIgTz1uKDk5OTUxKSxOPW4oNDUyNDY0KSx3PW4ubihOKTtmdW5jdGlvbiBQKGUpe2NvbnN0IHQ9KDAsci51c2VSZWYpKG51bGwpLHt3aWR0aDpuPWkuUE9QT1ZFUl9ERUZBVUxUX1dJRFRILGhlaWdodDpzPWkuUE9QT1ZFUl9ERUZBVUxUX0hFSUdIVCxwbGFjZW1lbnRSdWxlczpsPWkuUE9QT1ZFUl9ERUZBVUxUX1BMQUNFTUVOVF9SVUxFUyxvbkNsb3NlOmMsaXNPcGVuOnUsY2xvc2VPbkNsaWNrQXdheTpkPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpmPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6RT1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6aD1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOkMsY2hpbGRyZW46Yixyb2xlOmcsYXJpYUxhYmVsbGVkYnk6TixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OlAsYW5jaG9yZWQ6TCxhcmlhTXVsdGlzZWxlY3RhYmxlOlQsbW9iaWxlUG9zaXRpb25lclNpZGU6Xyxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpTPXQsaXNSdGw6SSxmb2N1c0ZpcnN0SXRlbU9uT3BlbjpSPSEwLHJlcG9zaXRpb25UcmlnZ2VyczpBPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6ayxmaXhlZEhlYWRlcjpELGZpeGVkRm9vdGVyOkYsb25TY3JvbGw6VixzY3JvbGxSZWY6TSxtb2JpbGVCcmVha3BvaW50OlcsY29udGVudFJlc2l6ZTpIPTE0LG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsa2V5RG93blRocm90dGxlTXM6SyxkYXRhUWFJZDpVfT1lLHo9KDAsci51c2VDb250ZXh0KShPLkFwcENvbnRleHQpLmlzUnRsLEc9ST8/eixRPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoUykscT0oMCxyLnVzZUlkKSgpLFo9UD8/cSx7cmVwb3NpdGlvblRyaWdnZXJzOmoscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6WX09KDAsYS51c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcikoe29uQ2xvc2U6Yyxpc09wZW46dSxjbG9zZU9uQ2xpY2tBd2F5OmQsY2xvc2VPbkVzY2FwZTpmLGNsb3NlT25SZXNpemVXaW5kb3c6RSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwLGNsb3NlT25UYWI6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpRLGV4Y2x1ZGVBcmVhOkwuYXR9KSx7b25LZXlEb3duOlgscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6Sn09bShSLEspLCQ9KDAsdi51c2VNZXJnZWRSZWZzKShbSixZXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCh4LHthbmNob3JlZDpMLGlzUnRsOkcsb25DbG9zZTpjLGlzT3Blbjp1LGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpDLHJvbGU6ZyxhcmlhTGFiZWxsZWRieTpOLGFyaWFNdWx0aXNlbGVjdGFibGU6VCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OloscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6JCxwbGFjZW1lbnRSdWxlczpsLHdpZHRoOm4saGVpZ2h0OnMsY2hpbGRyZW46Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTpfLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTp5LHJlcG9zaXRpb25UcmlnZ2VyczpbLi4uaiwuLi5BXSxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOmssZml4ZWRGb290ZXI6RixmaXhlZEhlYWRlcjpELG9uU2Nyb2xsOlYsc2Nyb2xsUmVmOk0sb25LZXlEb3duOlgsY29udGVudFJlc2l6ZTpILG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsbW9iaWxlQnJlYWtwb2ludDpXLGRhdGFRYUlkOlUsY29udGVudFdyYXBwZXJDbGFzc25hbWU6dygpLnBrbn0pfX0sODIzMTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe2Uuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOnQ/InNtb290aCI6dm9pZCAwLGJsb2NrOiJjZW50ZXIifSl9bi5kKHQse3Njcm9sbFBvcG92ZXJJdGVtSW50b1ZpZXc6KCk9PnJ9KX0sNjQwNTEzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BMQUNFTUVOVF9CT1RUT01fQUxJR05fQ0VOVEVSOigpPT5pLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVDooKT0+cixQTEFDRU1FTlRfQk9UVE9NX0FMSUdOX1JJR0hUOigpPT5vLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0JPVFRPTTooKT0+bSxQTEFDRU1FTlRfTEVGVF9BTElHTl9DRU5URVI6KCk9PnAsUExBQ0VNRU5UX0xFRlRfQUxJR05fVE9QOigpPT5mLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9CT1RUT006KCk9PnUsUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0NFTlRFUjooKT0+ZCxQTEFDRU1FTlRfUklHSFRfQUxJR05fVE9QOigpPT5jLFBMQUNFTUVOVF9UT1BfQUxJR05fQ0VOVEVSOigpPT5sLFBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVDooKT0+YSxQTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUOigpPT5zfSk7Y29uc3Qgcj17bmFtZToiYm90dG9tLWxlZnQiLHJ0bE5hbWU6ImJvdHRvbS1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbz17bmFtZToiYm90dG9tLXJpZ2h0IixydGxOYW1lOiJib3R0b20tbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0saT17bmFtZToiYm90dG9tIixhbmNob3JQb2ludDp7eDouNSwKeToxfSxjb250ZW50UG9pbnQ6e3g6LjUseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxhPXtuYW1lOiJ0b3AtbGVmdCIscnRsTmFtZToidG9wLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjAseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxzPXtuYW1lOiJ0b3AtcmlnaHQiLHJ0bE5hbWU6InRvcC1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MH0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxsPXtuYW1lOiJ0b3AiLGFuY2hvclBvaW50Ont4Oi41LHk6MH0sY29udGVudFBvaW50Ont4Oi41LHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYz17bmFtZToicmlnaHQtdG9wIixydGxOYW1lOiJsZWZ0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sdT17bmFtZToicmlnaHQtYm90dG9tIixydGxOYW1lOiJsZWZ0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZD17bmFtZToicmlnaHQiLHJ0bE5hbWU6ImxlZnQiLGFuY2hvclBvaW50Ont4OjEseTouNX0sY29udGVudFBvaW50Ont4OjAseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZj17bmFtZToibGVmdC10b3AiLHJ0bE5hbWU6InJpZ2h0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sbT17bmFtZToibGVmdC1ib3R0b20iLHJ0bE5hbWU6InJpZ2h0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0scD17bmFtZToibGVmdCIscnRsTmFtZToicmlnaHQiLGFuY2hvclBvaW50Ont4OjAseTouNX0sY29udGVudFBvaW50Ont4OjEseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn19LDQ3OTI5NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihlLHQsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQsbil9KX1uLmQodCx7d2luZG93RXZlbnQ6KCk9PnJ9KX0sNDQwNDQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZTooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oNDc5Mjk3KSxhPW4oMTU5MjU2KSxzPW4oODU0MzM4KTtjb25zdCBsPSgwLGkud2luZG93RXZlbnQpKCJzY3JvbGwiKTtmdW5jdGlvbiBjKGUsdCxuLGkpe2NvbnN0IGM9KDAsci51c2VNZW1vKSgoKCk9PigwLG8uY3JlYXRlU2lnbmFsKSgpKSxbXSksdT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntuKCExLCJjdXJyZW50TGV2ZWwiKX0pLFtuXSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+bCgoZT0+e2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28mJigoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShyLG8pfHwoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShvLHIpJiZ0KCkpfSksITApKSxbdCxuXSl9KGUsdD91OmMuZmlyZSxpKSxjfX0sNTc3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzSW5FeGNsdWRlZEFyZWE6KCk9Pm99KTt2YXIgcj1uKDc3MTQ0Nyk7ZnVuY3Rpb24gbyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG49ImN1cnJlbnQiaW4gdD90LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOnQ7cmV0dXJuISFuJiYoMCxyLmlzSW5SZWN0KShlLG4pfX0sMzA2Mjg3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdpbmRvd1Jlc2l6ZVRyaWdnZXI6KCk9PnMsdXNlV2luZG93U2Nyb2xsVHJpZ2dlcjooKT0+bH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oMTU5MjU2KTtmdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBhPSgwLHIudXNlTWVtbykoKCgpPT4oMCxvLmNyZWF0ZVNpZ25hbCkoKSksW10pO3JldHVybigwLGkudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT4od2luZG93LmFkZEV2ZW50TGlzdGVuZXIodCxhLmZpcmUsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEuZmlyZSxuKX0pKSxbYV0pLGF9Y29uc3Qgcz0oZT0hMCk9PmEoZSwicmVzaXplIiwhMCksbD0oZT0hMCk9PmEoZSwic2Nyb2xsIiwhMCl9LDE1OTI1NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VDb25kaXRpb25hbEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCxuKXsoMCxyLnVzZUVmZmVjdCkoKCgpPT57aWYoZSlyZXR1cm4gdCgpfSksWy4uLm4sZV0pfX0sNzE4NzczKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVBvcG92ZXJDbG9zZUJlaGF2aW9yOigpPT5ofSk7dmFyIHIsbz1uKDc3OTQ3NCksaT1uKDMwNjI4NyksYT1uKDE1OTI1Nik7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuSG9yaXpvbnRhbD0xXT0iSG9yaXpvbnRhbCIsZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkJvdGg9M109IkJvdGgifShyfHwocj17fSkpO3ZhciBzPW4oNDQwNDQ2KTtmdW5jdGlvbiBsKGUsdCxuKXtjb25zdCByPSgwLAppLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksaT0oMCxvLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntpLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1yLmN1cnJlbnRbZV0/ci5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHIuY3VycmVudFtlXT1uKTpyLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHIuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LGldKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bciwoMCxzLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciBjPW4oNzg3ODk1KSx1PW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxmPW4oNTc3ODMyKSxtPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxFPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLG8udXNlUmVmKShudWxsKSx7b25DbG9zZTpuLGlzT3BlbjpyLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50Omk9dCxjbG9zZU9uQ2xpY2tBd2F5OnM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWSxjbG9zZU9uRXNjYXBlOmg9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fRVNDQVBFLGNsb3NlT25TY3JvbGxPdXRzaWRlOkM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREUsY2xvc2VPblJlc2l6ZVdpbmRvdzpiPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1JFU0laRV9XSU5ET1csY2xvc2VPblRhYjpnPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQixleGNsdWRlQXJlYTp4fT1lO2xldCBPPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoaSk7Y29uc3QgTj1sKHIsbix7Y2xvc2VPblJlc2l6ZVdpbmRvdzpiLGNsb3NlT25TY3JvbGxPdXRzaWRlOkMscmVmOk99KTtyZXR1cm4gTz1mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZUNhbGxiYWNrKSgocj0+e2UmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9PntpZigyNyE9PSgwLEUuaGFzaEZyb21FdmVudCkoZSkpcmV0dXJuO2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmci5jb250YWlucyhvKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQoITAsImN1cnJlbnRMZXZlbCIpKX0pLHtjYXB0dXJlOiExfSl9KSxbZV0pO3JldHVybigwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoKDAscC51c2VNZXJnZWRSZWZzKShbbixyXSkpfShoJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PnYoKGU9Pntjb25zdCBuPSgwLEUuaGFzaEZyb21FdmVudCkoZSk7OSE9PW4mJm4hPT05K0UuTW9kaWZpZXJzLlNoaWZ0fHx0KCEwLCJjdXJyZW50TGV2ZWwiKX0pLCEwKSksW3Qsbl0pfShnJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4scixvKXtjb25zdCBpPSJib29sZWFuIj09dHlwZW9mIHI/bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWTpyOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PigwLGQud2luZG93RXZlbnQpKGkpKChlPT57Y29uc3Qgcj17eDplLmNsaWVudFgseTplLmNsaWVudFl9LGk9bi5jdXJyZW50OygwLGYuaXNJbkV4Y2x1ZGVkQXJlYSkocixvKXx8aSYmKDAsdS5pc1hZSW5zaWRlRWxlbWVudFRocm91Z2hQb3J0YWxzKShpLHIueCxyLnkpfHx0KCExLCJjdXJyZW50TGV2ZWwiKX0pKSksW3QsbyxuLGldKX0ocyYmcixuLE8scyx4KSx7cmVwb3NpdGlvblRyaWdnZXJzOk4scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6T319fSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pm99KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3Qgbz1uLm4ocikoKX0sMzQ1MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gaShlLGEpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGkoZSxzKX1mdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbj1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCkscj17fTtmb3IoY29uc3RbZSx0XW9mIG4pcltlXT10O3JldHVybiByfWZ1bmN0aW9uIGEoZSl7Y29uc3RbdCxuXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIG59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbj1yKGUpO3JldHVybiB0JiYoblsiZGF0YS1xYS1pZCJdPXQpLG59bi5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+byxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+cixmaWx0ZXJQcm9wczooKT0+aSxpc0FyaWFBdHRyaWJ1dGU6KCk9PnMsaXNEYXRhQXR0cmlidXRlOigpPT5hfSl9LDU2Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lnbm9yZU9uU1NSOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big1Mjk0MTEpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQ9PigwLG8udXNlSXNOb25GaXJzdFJlbmRlcikoKT9yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udH0pOm51bGx9fSwyODQ2OTAoZSx0LG4peyJ1c2Ugc3RyaWN0Igo7bi5kKHQse2dldExpbmVhcktleWJvYXJkTmF2aWdhdGlvbjooKT0+bH0pO3ZhciByPW4oMjUwNTE4KSxvPW4oMjM1NzI0KSxpPW4oMzgyMjQyKSxhPW4oNjgyMzgxKSxzPW4oMjk4NzI4KTtmdW5jdGlvbiBsKGUsdD17fSl7Y29uc3R7Zm9jdXNOZXh0Om4sZm9jdXNQcmV2OmwsZm9jdXNGaXJzdDpjLGZvY3VzTGFzdDp1fT0oMCxyLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShlLHQuYWxsb3dOZXN0ZWRGb2N1c2FibGUpLGQ9ey4uLnQuaG9yaXpvbnRhbD97Mzk6biwzNzpsfTp7NDA6biwzODpsfSwuLi50LmhhbmRsZUhvbWVFbmQ/ezM2OmMsMzU6dX06e319O3JldHVybntvbkZvY3VzOmZ1bmN0aW9uKG4pe2NvbnN0IHI9bi5jdXJyZW50VGFyZ2V0O24udGFyZ2V0PT09ciYmZnVuY3Rpb24obil7Y29uc3Qgcj0oMCxpLmdldFNlbGVjdG9yVHJlZVdhbGtlcikobixlKS5uZXh0Tm9kZSgpO3ImJigwLGEuaXNIVE1MT3JTVkdFbGVtZW50KShyKSYmciE9PW4mJnIuZm9jdXModC5mb2N1c09wdGlvbnMpfShyKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IG49KDAscy5mbGlwQXJyb3dzT25SdGwpKCgwLG8uaGFzaEZyb21FdmVudCkoZSksdC5pc1J0bCkscj1lLmN1cnJlbnRUYXJnZXQsaT1lLnRhcmdldDtpZighKGkgaW5zdGFuY2VvZiBOb2RlKSlyZXR1cm47aWYoIXIuY29udGFpbnMoaSkpcmV0dXJuO2NvbnN0IGE9ZFtuXTtpZihhKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj1hPy4ocix0LmZvY3VzT3B0aW9ucyk7biYmZS5zdG9wUHJvcGFnYXRpb24oKX19fX19LDI5ODcyOChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtpZighdClyZXR1cm4gZTtjb25zdCBuPTI1NSZlLHI9LTI1NiZlO3JldHVybiAzNz09PW4/MzkrcjozOT09PW4/MzcrcjplfW4uZCh0LHtmbGlwQXJyb3dzT25SdGw6KCk9PnJ9KX0sMjUwNTE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5pfSk7dmFyIHI9bigzODIyNDIpLG89big2ODIzODEpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPXQ9PihuLGkpPT57Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxuLHM9KDAsci5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKG4sZSk7cy5jdXJyZW50Tm9kZT1hO2NvbnN0IGw9dChzKTtyZXR1cm4gbCYmKDAsby5pc0hUTUxPclNWR0VsZW1lbnQpKGwpJiZsIT09YT8obC5mb2N1cyhpKSxsKTpudWxsfSxpPXQ/ZT0+ZS5wcmV2aW91c05vZGUoKTpyLmdldFByZXZpb3VzTm9uUGFyZW50LGE9ZT0+ZS5uZXh0Tm9kZSgpO3JldHVybntmb2N1c1ByZXY6bihpKSxmb2N1c05leHQ6bihhKSxmb2N1c0ZpcnN0Om4oci5nZXRGaXJzdERlc2NlbmRhbnQpLGZvY3VzTGFzdDpuKHIuZ2V0TGFzdERlc2NlbmRhbnQpLGZvY3VzUHJldkxvb3A6bigoZT0+e2NvbnN0IHQ9aShlKTtyZXR1cm4gdHx8KDAsci5nZXRMYXN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNOZXh0TG9vcDpuKChlPT57Y29uc3QgdD1hKGUpO3JldHVybiB0fHwoMCxyLmdldEZpcnN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNJbmRleDooZSx0LHIpPT5uKChlPT57ZS5jdXJyZW50Tm9kZT1lLnJvb3Q7Zm9yKGxldCBuPTA7bjx0O24rKyllLm5leHROb2RlKCk7cmV0dXJuIGUubmV4dE5vZGUoKX0pKShlLHIpfX19LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sMzI5NjY4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7ZnVuY3Rpb24gbyhlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpfWZ1bmN0aW9uIGkoZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpfW4uZCh0LHtiZWNvbWVNYWluRWxlbWVudDooKT0+byxiZWNvbWVTZWNvbmRhcnlFbGVtZW50OigpPT5pfSksZnVuY3Rpb24oZSl7ZS5NYWluRWxlbWVudD0icm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsZS5TZWNvbmRhcnlFbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQifShyfHwocj17fSkpfSw5ODM2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWFwS2V5Q29kZVRvRGlyZWN0aW9uOigpPT51LG5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3I6KCk9PmEscXVlcnlGb2N1c2FibGVFbGVtZW50czooKT0+bCxxdWVyeVRhYmJhYmxlRWxlbWVudHM6KCk9PnMsdXBkYXRlVGFiSW5kZXhlczooKT0+Y30pO3ZhciByLG89big5NjkxNjgpLGk9big2ODIzODEpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT09PXQ/MDplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPy0xOjF9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFt0YWJpbmRleD0iLTEiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBsKGUpewpyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBjKCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxvLmlzUnRsKSgpO3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiJibG9ja1ByZXYiO2Nhc2UgNDA6cmV0dXJuImJsb2NrTmV4dCI7Y2FzZSAzNzpyZXR1cm4gdD8iaW5saW5lTmV4dCI6ImlubGluZVByZXYiO2Nhc2UgMzk6cmV0dXJuIHQ/ImlubGluZVByZXYiOiJpbmxpbmVOZXh0IjtkZWZhdWx0OnJldHVybiBudWxsfX0hZnVuY3Rpb24oZSl7ZS5CbG9ja1ByZXY9ImJsb2NrUHJldiIsZS5CbG9ja05leHQ9ImJsb2NrTmV4dCIsZS5JbmxpbmVQcmV2PSJpbmxpbmVQcmV2IixlLklubGluZU5leHQ9ImlubGluZU5leHQifShyfHwocj17fSkpfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sMTA2OTAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5OigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big2MTYzMTEpO2NvbnN0IGk9KGUsdD0hMSxuPVtdKT0+e2NvbnN0IGk9IndhdGNoZWRWYWx1ZSJpbiBlP2Uud2F0Y2hlZFZhbHVlOnZvaWQgMCxhPSJkZWZhdWx0VmFsdWUiaW4gZT9lLmRlZmF1bHRWYWx1ZTplLndhdGNoZWRWYWx1ZS52YWx1ZSgpLFtzLGxdPSgwLHIudXNlU3RhdGUpKGk/aS52YWx1ZSgpOmEpO3JldHVybih0P28udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDpyLnVzZUVmZmVjdCkoKCgpPT57aWYoaSl7bChpLnZhbHVlKCkpO2NvbnN0IGU9ZT0+bChlKTtyZXR1cm4gaS5zdWJzY3JpYmUoZSksKCk9PmkudW5zdWJzY3JpYmUoZSl9cmV0dXJuKCk9Pnt9fSksW2ksLi4ubl0pLHN9fSwxODIzMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3ODc4OTUpLGk9big2MTYzMTEpO2Z1bmN0aW9uIGEoZSx0PVtdKXtjb25zdFtuLGFdPSgwLHIudXNlU3RhdGUpKCExKSxzPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsaS51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXMuY3VycmVudDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IjphKCEwKTticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6YSghMSl9fTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50Iix0KX19KSx0KSxbcyxuPzA6LTFdfX0sNDYyNzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA0aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg2LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNC4wNSA1SDNWNGgzdi0uNUM2IDIuNjcgNi42NyAyIDcuNSAyaDNjLjgzIDAgMS41LjY3IDEuNSAxLjVWNFpNNy41IDNhLjUuNSAwIDAgMC0uNS41VjRoNHYtLjVhLjUuNSAwIDAgMC0uNS0uNWgtM1pNNS4wNSA1bC44NyA5LjU1YS41LjUgMCAwIDAgLjUuNDVoNS4xN2EuNS41IDAgMCAwIC41LS40NUwxMi45NCA1aC03LjlaIi8+PC9zdmc+J319XSk7"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9744.70b5126495f7adccaf2f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.204Z","timestamp":1785124877204,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9744.70b5126495f7adccaf2f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-24e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 27bc1d119c573f1d6eb4e7225faa5c3e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9445,"size_decoded":2374,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9445), with no line terminators","md5":"e85054f61b2aae19eb5655a8b5753ccf","sha1":"adb2ce277cc485f09be120c0ae884d4b9154b140","sha256":"d7a8f00301eac644b8cac4b8ea7b0b04dbacddbc688774477d9e983a3557804a","sha512":"8e005752074215525bc16172bb9fcaf43c941243421c2f5189315000b76070bd45d1c97eaab71581d488e40e5871ea500899ad0811f59a24b82200d206d31161","ssdeep":"192:eYck2zebkPJJYrCkF9oCNkElJuBqr3i7h:aBJCrT9oIlJuBqji7h","tlshash":"0412cceb77506c7cb92b753a1b2c61e11bc09d3dba12efb7fe395c2901c27121099626","first_seen":"2026-07-19T21:33:33.835152Z","last_seen":"2026-07-27T06:24:31.734447Z","times_seen":26,"resource_available":false,"data":"LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04ze2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4OjAgMCBhdXRvO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLXJvdW5kVGFiLWNvbG9yLWJnLHZhcigtLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1yb3VuZFRhYi1jb2xvci1ib3JkZXIsdmFyKC0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyKSk7Y29sb3I6dmFyKC0tdWktbGliLXJvdW5kVGFiLWNvbG9yLWNvbnRlbnQsdmFyKC0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudCkpO291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1c3tvdXRsaW5lOm5vbmV9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZGlzYWJsZUZvY3VzT3V0bGluZS1XYTZUbUdOMzphZnRlcntkaXNwbGF5Om5vbmV9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmVuYWJsZUN1cnNvclBvaW50ZXItV2E2VG1HTjN7Y3Vyc29yOnBvaW50ZXJ9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXJvdW5kVGFiLW1hcmdpbil9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04ze2JvcmRlci1yYWRpdXM6MjRweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjNweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjM6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoyOHB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5sYXJnZS1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMud2l0aFN0YXJ0SWNvbi1XYTZUbUdOM3twYWRkaW5nLWlubGluZS1zdGFydDoxNXB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5sYXJnZS1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMud2l0aEVuZEljb24tV2E2VG1HTjN7cGFkZGluZy1pbmxpbmUtZW5kOjE1cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04zOm5vdCguaWNvbk9ubHktV2E2VG1HTjMpIC5zdGFydEljb25XcmFwLVdhNlRtR04ze21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMgLmVuZEljb25XcmFwLVdhNlRtR04ze21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOM3tib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDE1cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zOmFmdGVye2JvcmRlci1yYWRpdXM6MjFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuc21hbGwtV2E2VG1HTjMuaWNvbk9ubHktV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zLndpdGhTdGFydEljb24tV2E2VG1HTjN7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuc21hbGwtV2E2VG1HTjMuaWNvbk9ubHktV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zLndpdGhFbmRJY29uLVdhNlRtR04ze3BhZGRpbmctaW5saW5lLWVuZDoxMXB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOMzpub3QoLmljb25Pbmx5LVdhNlRtR04zKSAuc3RhcnRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLWVuZDo0cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zIC5lbmRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04ze2JvcmRlci1yYWRpdXM6MTRweDtoZWlnaHQ6MjhweDtwYWRkaW5nOjAgMTFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zOmFmdGVye2JvcmRlci1yYWRpdXM6MThweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zLmljb25Pbmx5LVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy54c21hbGwtV2E2VG1HTjMud2l0aFN0YXJ0SWNvbi1XYTZUbUdOM3twYWRkaW5nLWlubGluZS1zdGFydDo3cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zLndpdGhFbmRJY29uLVdhNlRtR04ze3BhZGRpbmctaW5saW5lLWVuZDo3cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMzpub3QoLmljb25Pbmx5LVdhNlRtR04zKSAuc3RhcnRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLWVuZDo0cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMyAuZW5kSWNvbldyYXAtV2E2VG1HTjN7bWFyZ2luLWlubGluZS1zdGFydDoycHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04ze2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOM3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDB9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjN7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucm91bmRUYWJCdXR0b24tV2E2VG1HTjMucHJpbWFyeS1XYTZUbUdOMzpob3Zlcjpub3QoLmRpc2FibGVkLVdhNlRtR04zKTpub3QoLnNlbGVjdGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjM6YWN0aXZlOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOM3stLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOMzpob3Zlcjpub3QoLmRpc2FibGVkLVdhNlRtR04zKTpub3QoLnNlbGVjdGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zOmFjdGl2ZTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1XYTZUbUdOMyk6bm90KC5kaXNhYmxlZC1XYTZUbUdOMyl7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjMuc2VsZWN0ZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eSk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17Y3Vyc29yOmRlZmF1bHR9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjM6bGluaywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMucHJpbWFyeS1XYTZUbUdOMy5kaXNhYmxlZC1XYTZUbUdOMzp2aXNpdGVkLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXTpsaW5rLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06dmlzaXRlZHstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOMy5kaXNhYmxlZC1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXXtjdXJzb3I6ZGVmYXVsdH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zOmxpbmssLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zOnZpc2l0ZWQsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06bGluaywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXTp2aXNpdGVkey0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCl9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmZha2UtV2E2VG1HTjN7aW5zZXQtaW5saW5lLXN0YXJ0Oi05OTk5OTlweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTF9LmVuZEljb25XcmFwLVdhNlRtR04zLC5zdGFydEljb25XcmFwLVdhNlRtR04ze2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LWhlaWdodDoyOHB4O21heC13aWR0aDoyOHB4O21pbi1oZWlnaHQ6MThweDttaW4td2lkdGg6MThweH0uY2FyZXQtV2E2VG1HTjN7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlfS5zZWxlY3RlZC1XYTZUbUdOMyAuY2FyZXQtV2E2VG1HTjN7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5zZWxlY3RlZC1XYTZUbUdOMyAuY2FyZXQtV2E2VG1HTjM6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0udmlzdWFsbHlIaWRkZW4tV2E2VG1HTjN7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW59LmNvbnRlbnQtV2E2VG1HTjN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.876Z","timestamp":1785124875876,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c8fb54d72dffb98f45f9a544d44b54fc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T06:14:34.070662Z","times_seen":874,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.949Z","timestamp":1785124876949,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9270.32910635bb39c686f5be.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-25cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 14447e315cb89548d56f8c7372a31eb7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9675,"size_decoded":4352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-27T06:24:31.738045Z","times_seen":60,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTI3MF0sezEwNzg2OShlLHQsbyl7ZnVuY3Rpb24gcihlLHQpe2NvbnN0IG89ZS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLHI9ZS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG49dC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxpPXQubW9kZWwoKS5tYWluUGFuZSgpO3JldHVybiBuPihpP3QubW9kZWwoKS5wYW5lcygpLmluZGV4T2YoaSk6MCk/cjpvfW8uZCh0LHtnZXRQYW5lV2lkZ2V0U2lkZUFyZWFCZ0NvbG9yOigpPT5yfSl9LDM3OTY1MihlLHQsbyl7by5kKHQse2NhbGN1bGF0ZUZvbnRTaXplOigpPT5oLGdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50czooKT0+bH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oNTkwODk0KSxpPW8oODIyNzI2KSxhPW8oOTI2MTQ5KSxzPW8oMTk4OTAxKTtmdW5jdGlvbiBsKGUsdCxvLHIpe2lmKGUuc2l6ZSlyZXR1cm4gZTtmb3IobGV0IG49ci5taW5BbGxvd2VkRm9udFNpemU7bjw9ci5tYXhBbGxvd2VkRm9udFNpemU7bisrKXtjb25zdCBhPW8uZ2V0KG4pPz9uZXcgaS5UZXh0V2lkdGhDYWNoZTtvLnNldChuLGEpLGUuc2V0KG4sZCh0LG4sYSxyLm1heFN5bWJvbHMpKX1yZXR1cm4gZX1mdW5jdGlvbiBkKGUsdCxvLHIpe2UuZm9udD0oMCxuLm1ha2VGb250KSh0LGEuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgaT1uZXcgTWFwO2ZvcihsZXQgdD0xO3Q8PXI7dCsrKWkuc2V0KHQsby5tZWFzdXJlVGV4dChlLG5ldyBBcnJheSh0KzEpLmpvaW4oIjAiKSkpO2NvbnN0IHM9by55TWlkQ29ycmVjdGlvbihlLCIwIiksbD1vLmdldE1ldHJpY3MoZSwiMCIpO3JldHVybnt3aWR0aHM6aSxhY3R1YWxGb250SGVpZ2h0OmwuZm9udEJvdW5kaW5nQm94RGVzY2VudCtsLmZvbnRCb3VuZGluZ0JveEFzY2VudCx5Q29ycmVjdGlvbjpzfX1mdW5jdGlvbiBoKGUsdCxvLG4saSxhKXtjb25zdCBkPWwoaSxvLG4sYSkse21heEFsbG93ZWRGb250U2l6ZTpoLG1pbkFsbG93ZWRGb250U2l6ZTpjLGZvbnRTaXplQ29lZmY6dSxob3J6Q2VsbE1pbk1hcmdpbjptLGhvcnpDZWxsTWFyZ2luc0NvZWZmOkN9PWE7bGV0IGY9aDtjb25zdCBfPWU9PmMrZTtmb3IoY29uc3QgbyBvZiBlKXtpZighZilicmVhaztjb25zdHtib3g6ZSxsYWJlbDpufT1vLGk9TWF0aC5mbG9vcihlLm1heC54LWUubWluLngpL3QuaG9yaXpvbnRhbFBpeGVsUmF0aW8sYT0oZS5tYXgueS1lLm1pbi55KS90LnZlcnRpY2FsUGl4ZWxSYXRpbyxsPU1hdGgucm91bmQoYSp1KTtpZihsPGMpe2Y9MDticmVha31mPmwmJihmPWwpO2NvbnN0IGg9XygoMCxzLmxvd2VyYm91bmRFeHQpKF8sbiwoKGUsdCk9Pnt2YXIgbyxuO3JldHVybihvPWUsbj10LCgwLHIuZW5zdXJlRGVmaW5lZCkoZC5nZXQobyk/LndpZHRocy5nZXQobi5sZW5ndGgpKSk8aS1NYXRoLm1heChtLDIqQypfKGUpKX0pLDAsZi1jKzEpKTtpZihoPGYrMSYmKGY9aC0xKSxmPGMpe2Y9MDticmVha319cmV0dXJuIGY/e2ZvbnRTaXplOmYseU1pZENvcnJlY3Rpb246KGc9ZiwoMCxyLmVuc3VyZURlZmluZWQpKGQuZ2V0KGcpPy55Q29ycmVjdGlvbikpfTpudWxsO3ZhciBnfX0sMjk0MzY0KGUsdCxvKXtvLmQodCx7cm93Qm94R2VuZXJhdG9yOigpPT5hfSk7dmFyIHI9byg3MzY1MzEpLG49byg2MzU2OTkpO2NvbnN0e2NlbGxIZWlnaHQ6aX09bi5jb25zdGFudHM7ZnVuY3Rpb24qYShlLHtiaXRtYXBTaXplOnt3aWR0aDp0fX0pe2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7KytvKXlpZWxkW28sKDAsci5ib3gpKCgwLHIucG9pbnQpKDAsbyppKSwoMCxyLnBvaW50KSh0LChvKzEpKmkpKV19fSw1ODg4NzAoZSx0LG8pe28uZCh0LHtTdW1tYXJ5UGFuZVZpZXc6KCk9Pnp9KTt2YXIgcj1vKDEzODYzOCksbj1vKDczNjUzMSksaT1vKDkyNjE0OSksYT1vKDEwNzg2OSkscz1vKDQyNTY1OSksbD1vKDU5MDg5NCksZD1vKDc4OTE5MCksaD1vKDM3OTY1MiksYz1vKDYzNTY5OSksdT1vKDE4NTI3MSksbT1vKDU3MzA1NCk7Y29uc3QgQz11LnQobnVsbCx7Y29udGV4dDoiY2hhcnQgd2l0aCBzdW1tYXJ5IHRhYmxlIn0sbyg4NzAwOSkpO2NsYXNzIGYgZXh0ZW5kcyBtLk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fZGF0YT1lfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhO2lmKCF0KXJldHVybjtjb25zdCBvPXQuaXNEYXJrP2MuZGFya0NvbG9yczpjLmxpZ2h0Q29sb3JzLHI9ZS5jb250ZXh0O3IuZmlsbFN0eWxlPW8udGV4dENvbG9yLHIudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHIuZm9udD10LmZvbnQsci5maWxsVGV4dChDLGMuY29uc3RhbnRzLmxlZ2VuZExlZnRQYWRkaW5nLGUubWVkaWFTaXplLmhlaWdodC8yK3QueU1pZENvcnJlY3Rpb24pfX12YXIgXz1vKDc2ODMwNSksZz1vKDc2MykseD1vKDk3NjgxMyksdz1vKDkzNDMwNSksdj1vKDc4NjQzNikscD1vKDE1MTIxKSxNPW8oMjk0MzY0KSxTPW8oODIyNzI2KTtjbGFzcyBUIGV4dGVuZHMgdy5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBTLlRleHRXaWR0aENhY2hlKDFlMyksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LmNvbHVtbnMubGVuZ3RoKXJldHVybiBudWxsO2Zvcihjb25zdFtyLG5db2YoMCxNLnJvd0JveEdlbmVyYXRvcikoby5jb2x1bW5zWzBdLnJvd3MsdCkpaWYoKDAsXy5wb2ludEluQm94KShlLG4pKXJldHVybiBuZXcgZy5IaXRUZXN0UmVzdWx0KGcuSGl0VGFyZ2V0LlJlZ3VsYXIse2FjdGl2ZUl0ZW06cixjdXJzb3JUeXBlOnguUGFuZUN1cnNvclR5cGUuRGVmYXVsdH0pO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEKO2lmKCF0Py5jb2x1bW5zLmxlbmd0aClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzphfT1lLHM9dC5pc0Rhcms/Yy5kYXJrQ29sb3JzOmMubGlnaHRDb2xvcnMsZD1jLmNvbnN0YW50cy5jZWxsSGVpZ2h0LGg9TWF0aC5yb3VuZChkKm4pO28uZmlsbFN0eWxlPXMudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxsLm1ha2VGb250KSh0LmZvbnRTaXplLGkuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgdT10LmNvbHVtbnMubGVuZ3RoLTE7aWYoKDAscC5kcmF3U2NhbGVkKShvLGEsbiwoKCk9Pnt0LmNvbHVtbnMuZm9yRWFjaCgoKGUscik9Pntjb25zdFtuLGldPVtlLmxlZnQsZS5yaWdodF0ubWFwKChlPT5NYXRoLnJvdW5kKGUvYSkpKSxzPWktbixsPXI9PT11O2Uucm93cy5mb3JFYWNoKCgoZSxyKT0+e2NvbnN0IGE9ZS50ZXh0LGg9ZS5iYWNrZ3JvdW5kQ29sb3I7aCYmKG8uc2F2ZSgpLG8uZmlsbFN0eWxlPWgsby5maWxsUmVjdChuLHIqZCxzLGQpLG8ucmVzdG9yZSgpKTt0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KG8sYSk+cy0yKmMuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luP2wmJiF0LmN1dE9mZkxhc3RDb2x1bW4/KG8udGV4dEFsaWduPSJsZWZ0IixvLmZpbGxUZXh0KGEsbitjLmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbixyKmQrZC8yKSk6KG8uc2F2ZSgpLG8udGV4dEFsaWduPSJsZWZ0IixvLmJlZ2luUGF0aCgpLG8ucmVjdChuK2MuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luLHIqZCxzLTIqYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4sZCksby5jbGlwKCksby5maWxsVGV4dChhLG4rYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4scipkK2QvMiksby5yZXN0b3JlKCkpOihvLnRleHRBbGlnbj0iY2VudGVyIixvLmZpbGxUZXh0KGEsKG4raSkvMixyKmQrZC8yK3QueU1pZENvcnJlY3Rpb24pKX0pKX0pKX0pKSxvLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLHZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPXMuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqaCxyLndpZHRoLGgpKSxvLnN0cm9rZVN0eWxlPXQudmVydEJvcmRlcnNDb2xvcix0LmNvbHVtbnMuZm9yRWFjaCgoZT0+eygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLmxlZnQsMCxyLmhlaWdodCl9KSksdC5jdXRPZmZMYXN0Q29sdW1uKXtjb25zdCBlPXQuY29sdW1uc1t0LmNvbHVtbnMubGVuZ3RoLTFdOygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLnJpZ2h0LDAsci5oZWlnaHQpfXtjb25zdFt7cm93czp7bGVuZ3RoOmV9fV09dC5jb2x1bW5zO28uc3Ryb2tlU3R5bGU9dC5ob3J6Qm9yZGVyc0NvbG9yO2ZvcihsZXQgdD0xO3Q8PWU7Kyt0KSgwLHYuZHJhd0hvcml6b250YWxMaW5lKShvLHQqaCwwLHIud2lkdGgpfX19Y29uc3QgUj1uZXcgTWFwO2NsYXNzIHp7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yZW5kZXJlcj1uZXcgZC5Db21wb3NpdGVSZW5kZXJlcix0aGlzLl9sZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX3N1bW1hcnlSZW5kZXJlcj1uZXcgVCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXA9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXM9KDAsci5lbnN1cmVOb3ROdWxsKShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSksdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXNDdHg9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhcy5nZXRDb250ZXh0KCIyZCIpKX11cGRhdGUoKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9bWFrZVN1cmVJc1VwZGF0ZWQoZSl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSl9X3VwZGF0ZVJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLmNsZWFyKCk7Y29uc3QgdD10aGlzLl9nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpO2lmKCF0KXJldHVybjtjb25zdCBvPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0KSksZD0oMCxhLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLG8pLHU9by5jb2xsYXBzZWQoKS52YWx1ZSgpJiYhby5tYXhpbWl6ZWQoKS52YWx1ZSgpLG09KDAscy5pc0NvbG9yRGFyaykoZCk7aWYodSl7Y29uc3QgZT0oMCxoLmdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50cykoUix0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhc0N0eCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXAsYy5jb25zdGFudHMpLHQ9e2lzRGFyazptLGZvbnQ6KDAsbC5tYWtlRm9udCkoYy5jb25zdGFudHMubGVnZW5kRm9udFNpemUsaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSx5TWlkQ29ycmVjdGlvbjplLmdldChjLmNvbnN0YW50cy5sZWdlbmRGb250U2l6ZSk/LnlDb3JyZWN0aW9uPz8wfTtyZXR1cm4gdGhpcy5fbGVnZW5kUmVuZGVyZXJ8fCh0aGlzLl9sZWdlbmRSZW5kZXJlcj1uZXcgZih0KSksdGhpcy5fbGVnZW5kUmVuZGVyZXIuc2V0RGF0YSh0KSx2b2lkIHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9sZWdlbmRSZW5kZXJlcil9Y29uc3QgQz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKTtpZighQylyZXR1cm47Y29uc3QgXz10aGlzLl9nZXRTdW1tYXJ5Q29sdW1uUmVuZGVyZXJEYXRhKGUsQyk7aWYobnVsbD09PV8pcmV0dXJuO2NvbnN0IGc9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLHg9ewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PXQ/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLGNvbHVtbnM6XyxjdXRPZmZMYXN0Q29sdW1uOnRoaXMuX2N1dE9mZkxhc3RDb2x1bW4oKSxpc0Rhcms6bSx2ZXJ0Qm9yZGVyc0NvbG9yOmcudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLmNvbG9yLnZhbHVlKCksaG9yekJvcmRlcnNDb2xvcjpnLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfSx3PSgwLGguY2FsY3VsYXRlRm9udFNpemUpKGZ1bmN0aW9uKihlLHQpe2ZvcihsZXQgbz0wO288ZS5jb2x1bW5zLmxlbmd0aC0xO28rKyl7Y29uc3Qgcj1lLmNvbHVtbnNbb107Zm9yKGxldCBlPTA7ZTxyLnJvd3MubGVuZ3RoO2UrKyl7Y29uc3Qgbz1yLnJvd3NbZV0saT1lKnQsYT0oZSsxKSp0O3lpZWxke2xhYmVsOm8udGV4dCxib3g6KDAsbi5ib3gpKCgwLG4ucG9pbnQpKHIubGVmdCxpKSwoMCxuLnBvaW50KShyLnJpZ2h0LGEpKX19fX0oeCxjLmNvbnN0YW50cy5jZWxsSGVpZ2h0KmUudmVydGljYWxQaXhlbFJhdGlvKSxlLHRoaXMuX3RleHRXaWR0aENhY2hlQ2FudmFzQ3R4LHRoaXMuX3RleHRXaWR0aENhY2hlc01hcCxSLGMuY29uc3RhbnRzKXx8e2ZvbnRTaXplOmMuY29uc3RhbnRzLm1pbkFsbG93ZWRGb250U2l6ZSx5TWlkQ29ycmVjdGlvbjowfTt0aGlzLl9zdW1tYXJ5UmVuZGVyZXIuc2V0RGF0YSh7Li4ueCwuLi53fSksdGhpcy5fcmVuZGVyZXIuYXBwZW5kKHRoaXMuX3N1bW1hcnlSZW5kZXJlcil9fX0sNzQ1NTY5KGUsdCxvKXtvLmQodCx7U3VtbWFyeVdpZGdldFNpZGVBcmVhVmlldzooKT0+eH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oODIyNzI2KSxpPW8oNzY4MzA1KSxhPW8oNTkwODk0KSxzPW8oNzYzKSxsPW8oOTM0MzA1KSxkPW8oNzg2NDM2KSxoPW8oOTI2MTQ5KSxjPW8oMTUxMjEpLHU9byg2MzU2OTkpLG09bygyOTQzNjQpLEM9byg5NzY4MTMpO2NsYXNzIGYgZXh0ZW5kcyBsLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fd2lkdGhDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSgxZTMpfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LnJvd1RpdGxlcy5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKGNvbnN0W3Isbl1vZigwLG0ucm93Qm94R2VuZXJhdG9yKShvLnJvd1RpdGxlcyx0KSlpZigoMCxpLnBvaW50SW5Cb3gpKGUsbikpcmV0dXJuIG5ldyBzLkhpdFRlc3RSZXN1bHQocy5IaXRUYXJnZXQuUmVndWxhcix7YWN0aXZlSXRlbTpyLGN1cnNvclR5cGU6Qy5QYW5lQ3Vyc29yVHlwZS5EZWZhdWx0fSk7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YTtpZihudWxsPT09dClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLG1lZGlhU2l6ZTpzfT1lLGw9dC5pc0Rhcms/dS5kYXJrQ29sb3JzOnUubGlnaHRDb2xvcnMsbT11LmNvbnN0YW50cy5jZWxsSGVpZ2h0LEM9TWF0aC5yb3VuZChtKm4pO3ZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPWwuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqQyxyLndpZHRoLEMpKSxvLnN0cm9rZVN0eWxlPXQuYm9yZGVyQ29sb3IsdC5yb3dUaXRsZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBuPSh0KzEpKkM7KDAsZC5kcmF3SG9yaXpvbnRhbExpbmUpKG8sbiwwLHIud2lkdGgpfSkpLG8uZmlsbFN0eWxlPWwudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxhLm1ha2VGb250KSh0LmZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksKDAsYy5kcmF3U2NhbGVkKShvLGksbiwoKCk9Pnt0LnJvd1RpdGxlcy5mb3JFYWNoKCgoZSxyKT0+e2xldCBuO2lmKCJyaWdodCI9PT10LmFsaWduKW49dS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW47ZWxzZXtjb25zdCB0PXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQobyxlKTtuPXMud2lkdGgtdC11LmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbn1vLmZpbGxUZXh0KGUsbixyKm0rbS8yK3QueU1pZENvcnJlY3Rpb24pfSkpfSkpfX12YXIgXz1vKDQyNTY1OSksZz1vKDEwNzg2OSk7Y2xhc3MgeHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgZix0aGlzLl93aWR0aHNDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpfWRlc3Ryb3koKXt0aGlzLl90ZXh0TWVhc3VyZUNhbnZhcy5yZW1vdmUoKX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCksbz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLG49dGhpcy5fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKTtpZihlJiZvJiZuKXtjb25zdCBpPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZShuKSkscz0oMCxnLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLGkpLGw9KDAsXy5pc0NvbG9yRGFyaykocyksZD1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtpZigib3ZlcmxheSIhPT1kKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fdGV4dE1lYXN1cmVDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSk7ZS5mb250PSgwLGEubWFrZUZvbnQpKHUuY29uc3RhbnRzLm1heEFsbG93ZWRGb250U2l6ZSxoLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLHRoaXMuX3JlbmRlcmVyLnNldERhdGEoewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PW4/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLHJvd1RpdGxlczp0aGlzLl92aXNpYmxlVGl0bGVzKCksYWxpZ246ZCxpc0Rhcms6bCxmb250U2l6ZTp1LmNvbnN0YW50cy5tYXhBbGxvd2VkRm9udFNpemUsYm9yZGVyQ29sb3I6dC5ob3J6R3JpZFByb3BlcnRpZXMuY2hpbGRzKCkuY29sb3IudmFsdWUoKSx5TWlkQ29ycmVjdGlvbjp0aGlzLl93aWR0aHNDYWNoZS55TWlkQ29ycmVjdGlvbihlLCJBQkMiKX0pfX19b3B0aW1hbFdpZHRoKCl7Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzLmdldENvbnRleHQoIjJkIikpO3JldHVybiBlLmZvbnQ9KDAsYS5tYWtlRm9udCkodS5jb25zdGFudHMubWF4QWxsb3dlZEZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksdGhpcy5fdmlzaWJsZVRpdGxlcygpLnJlZHVjZSgoKHQsbyk9Pk1hdGgubWF4KHQsdGhpcy5fd2lkdGhzQ2FjaGUubWVhc3VyZVRleHQoZSxvKSkpLDApKzIqdS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW59fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/#","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.818Z","timestamp":1785124877818,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\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-27T06:15:45.47424Z","times_seen":17557251,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.823Z","timestamp":1785124875823,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-132f5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4d18025ba3f7967a5fe3d880bf924c86\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":78581,"size_decoded":34908,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (14472)","md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-27T06:24:31.720127Z","times_seen":121,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYixfPXt9LG89e307ZnVuY3Rpb24gdChlKXt2YXIgYT1vW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1vW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gX1tlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyx0KSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9dC5tPV8sdC5jPW8sdC5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sdC5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSx0Lk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXtmb3IodmFyW2MsZCxmXT1lW2ldLF89ITAsbz0wO288Yy5sZW5ndGg7bysrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXModC5PKS5ldmVyeSgoZT0+dC5PW2VdKGNbb10pKSk/Yy5zcGxpY2Uoby0tLDEpOihfPSExLGY8YiYmKGI9ZikpO2lmKF8pe2Uuc3BsaWNlKGktLSwxKTt2YXIgcz1kKCk7dm9pZCAwIT09cyYmKGE9cyl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7aT4wJiZlW2ktMV1bMl0+ZjtpLS0pZVtpXT1lW2ktMV07ZVtpXT1bYyxkLGZdfSx0LkY9e30sdC5FPWU9PntPYmplY3Qua2V5cyh0LkYpLm1hcCgoYT0+e3QuRlthXShlKX0pKX0sdC5IPXt9LHQuRz1lPT57T2JqZWN0LmtleXModC5IKS5tYXAoKGE9Pnt0LkhbYV0oZSl9KSl9LHQubj1lPT57dmFyIGE9ZSYmZS5fX2VzTW9kdWxlPygpPT5lLmRlZmF1bHQ6KCk9PmU7cmV0dXJuIHQuZChhLHthfSksYX0sYz1PYmplY3QuZ2V0UHJvdG90eXBlT2Y/ZT0+T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOmU9PmUuX19wcm90b19fLHQudD1mdW5jdGlvbihlLGQpe2lmKDEmZCYmKGU9dGhpcyhlKSksOCZkKXJldHVybiBlO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmZSl7aWYoNCZkJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYoMTYmZCYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gZX12YXIgZj1PYmplY3QuY3JlYXRlKG51bGwpO3QucihmKTt2YXIgYj17fTthPWF8fFtudWxsLGMoe30pLGMoW10pLGMoYyldO2Zvcih2YXIgXz0yJmQmJmU7KCJvYmplY3QiPT10eXBlb2YgX3x8ImZ1bmN0aW9uIj09dHlwZW9mIF8pJiYhfmEuaW5kZXhPZihfKTtfPWMoXykpT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoXykuZm9yRWFjaCgoYT0+YlthXT0oKT0+ZVthXSkpO3JldHVybiBiLmRlZmF1bHQ9KCk9PmUsdC5kKGYsYiksZn0sdC5kPShlLGEpPT57Zm9yKHZhciBjIGluIGEpdC5vKGEsYykmJiF0Lm8oZSxjKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtjXX0pfSx0LmY9e30sdC5lPWU9PlByb21pc2UuYWxsKE9iamVjdC5rZXlzKHQuZikucmVkdWNlKCgoYSxjKT0+KHQuZltjXShlLGEpLGEpKSxbXSkpLAp0LnU9ZT0+Mjg4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mOWU3MzU2ZmY5MWY4MzdmNDdjNy5qcyI6MjM1Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZmRkYzE1OTk4MTQyY2JjNjFlZi5qcyI6ODk2MTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lOGRiMTlkODEzNzZkNDg2ZTI4OC5qcyI6NTQ4NTI9PT1lPyJfX0xBTkdfXy4iK2UrIi43NzI4Y2RlOWMwMTIyNTk0NWQxMC5qcyI6MTYxOTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTA3NWY4OTVjNmVkMDU3YzExYy5qcyI6OTU1NT09PWU/Il9fTEFOR19fLjk1NTUuNmU0NWM3ZjAyOGQ0NTU0Y2E3MjUuanMiOjg0NjkzPT09ZT8iX19MQU5HX18uIitlKyIuNzE1Y2I3YjI3MzJmMjBjNGM5NjEuanMiOjQ5Njg0PT09ZT8iX19MQU5HX18uIitlKyIuNDk5Y2ZiZDczNDdlOTc0NzIyMjguanMiOjU0OTg9PT1lPyJfX0xBTkdfXy41NDk4LjhlNGNjYzdjZWY4YmZhZjM5Mzk5LmpzIjo4NTUzNz09PWU/Il9fTEFOR19fLiIrZSsiLjQ5ZmRhMTNlMTg3NjEyNDYzZjg0LmpzIjo0OTM4MD09PWU/Il9fTEFOR19fLiIrZSsiLjc1NTNlZDk4YThkZDViYjg0NmI1LmpzIjoyNjk3Mz09PWU/Il9fTEFOR19fLiIrZSsiLjlhZTU2ZDYyMWE1ZjI5ODI3ZTAwLmpzIjo3MTIzNz09PWU/Il9fTEFOR19fLiIrZSsiLjAyYjAzZmQwNDU4MzAzMTQ1MGE3LmpzIjo2MzU1Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQxZWU2MTk4YjcwMjg0NzhkZDYyLmpzIjo3MTcwOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlMDU4NjY3MzBiMTY4YWJkMTM1LmpzIjozMDA3MD09PWU/Il9fTEFOR19fLiIrZSsiLjJiMTIzZWEwZDkyZTk0NGFjOWZiLmpzIjoxMTE1MT09PWU/Il9fTEFOR19fLiIrZSsiLjI1NTk0YzI3MDY2NTkxZTJiYzdiLmpzIjozMzIyNT09PWU/Il9fTEFOR19fLiIrZSsiLjQyOTVmMzJiMWM4ZmRjNzRjMDU2LmpzIjozMjc4PT09ZT8iX19MQU5HX18uMzI3OC5mMjMyMmNiMDExOWQ5MjRjY2Q2NC5qcyI6MjcwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MmRkNThmZDRiZDMwZGUwYmI2ZC5qcyI6MzQyODQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40M2Y0NjA1YmI3MmQ2OWIzZWQ0My5qcyI6Mjc4MjA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMjJjYmU2NmQ0Y2E0MmE3ZTEyYy5qcyI6MzE2NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi40MmYzMmIxNWExNzcxYTJkZmRlZC5qcyI6MTQ2OTM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xYWZmZmM3MzFkN2NjM2YzYzZjMy5qcyI6NTI4ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODk4ZTYzOGE2ODE4MGVkNmRmNC5qcyI6NzQxMTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45MGY2N2UzNjU4YWIzMTNiYjVmYi5qcyI6OTA5MDc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZTkxYTllMWU2OWVlNGZkODkwZS5qcyI6ODM0NTA9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNGQwYWNmYWQxOGNhMzVjNmYyOC5qcyI6NDk2Nzc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOTg2ODhiMzdmNzg1NWI0Yzc5Yi5qcyI6MjA1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wZTE2ZjI3YzQ3ZTdkZmEwOWE4MC5qcyI6ODEwMTU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yMTUzNzJkNzBjMzNhOGFiNWQ1NC5qcyI6NDA1Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODljYmViODYzMmM3OGJlYjA1OC5qcyI6Nzk2Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGI0MDBiN2JjZDcxMjY1ZGU3ZS5qcyI6NjIyNz09PWU/Il9fTEFOR19fLjYyMjcuNDg5YTZlMWQxMjI0YmEwNDk3YzcuanMiOjU1MDc5PT09ZT8iX19MQU5HX18uIitlKyIuY2ZhODA4MmFhY2NlYTk1OTM2MDYuanMiOjM3MDEyPT09ZT8iX19MQU5HX18uIitlKyIuZWRlMGZjM2Q2ODU4N2Q4MTdlZDUuanMiOjE3NjYyPT09ZT8iX19MQU5HX18uIitlKyIuNDdmNWM5Y2FmNjYwYzRkMGU4MDQuanMiOjkyNDE5PT09ZT8iX19MQU5HX18uIitlKyIuOTk2ZmFkZGRmY2EzZTZjMjc2ZDcuanMiOjg4OTk3PT09ZT8iX19MQU5HX18uIitlKyIuMjU5OTFkYTU5ZTIwYTc5NmVkYWEuanMiOjExMzc4PT09ZT8iX19MQU5HX18uIitlKyIuOTdjYWQ3ZGZkZjllNDdhYjRmZjMuanMiOjE2NDYxPT09ZT8iX19MQU5HX18uIitlKyIuMGQ5MTBhNGVhY2VlNTU4NGNkN2YuanMiOjQ1MTE3PT09ZT8iX19MQU5HX18uIitlKyIuZGEwZmRjMGExNDllMTczOGJhNjYuanMiOjIyNjQ5PT09ZT8iX19MQU5HX18uIitlKyIuNmQ0YTQ3MWMxYTNjMTZlNjk1MzQuanMiOjczNjI2PT09ZT8iX19MQU5HX18uIitlKyIuZWZiY2ZlYmEzYjg1MTZkYWZjN2MuanMiOjY4OTUyPT09ZT8iX19MQU5HX18uIitlKyIuM2NhMDljZWIwY2I0MGQ5MjJmZmYuanMiOjE5MTkzPT09ZT8iX19MQU5HX18uIitlKyIuNjBiZDcxMWQ4MzhjNzUxZDY5OTAuanMiOjk5NzU4PT09ZT8iX19MQU5HX18uIitlKyIuOTllM2U2MTdhMWI2NmRkZmY2ZDQuanMiOjI5NDc3PT09ZT8iX19MQU5HX18uIitlKyIuNGJjOTY5OTY3ZTA4OGVmOWRhOTguanMiOjI1OTI0PT09ZT8iX19MQU5HX18uIitlKyIuYjJiOGZkMzA4ZTc2MDZmMDRkZGEuanMiOjkyMDc9PT1lPyJfX0xBTkdfXy45MjA3LmViMmEyYWU2ZDcwYjFhMzA0ZmZjLmpzIjo2MzU2MD09PWU/Il9fTEFOR19fLiIrZSsiLjIwM2YzYzA0YWFmZGE5MTk3OGM2LmpzIjo3NTkwNT09PWU/Il9fTEFOR19fLiIrZSsiLmM0NTQ4NWI5NWZlNjc2YzczNDhjLmpzIjo5ODQ3OT09PWU/Il9fTEFOR19fLiIrZSsiLjA3YjMyZjY5NTBmNWZhYTJkNWRiLmpzIjo3MDk4Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQwYWNjZDU3MWQyNTNjYmU3ZmQ2LmpzIjo5NDE3NT09PWU/Il9fTEFOR19fLiIrZSsiLmMyZjAwM2JkZTQ0NWU2ZjA1Nzg3LmpzIjo4NDM2ND09PWU/Il9fTEFOR19fLiIrZSsiLmRmNWY3OTc0ZWY2NjVlZTBjYTliLmpzIjo2MzU5MT09PWU/Il9fTEFOR19fLiIrZSsiLjRkODFkMjUzMGMzOTQ2MjExMWU5LmpzIjozNjEyMT09PWU/Il9fTEFOR19fLiIrZSsiLjY3MjhmNDhmNTY5Y2I2MTAyZmFjLmpzIjoxNDkwPT09ZT8iX19MQU5HX18uMTQ5MC5mNzFkZGJlNDAxNDk2ZTU1YTVlZS5qcyI6NDQxMzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZjczZWIyY2Q2Y2M5ZmVlM2FhMS5qcyI6NjU3ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTA5YmFiYmQ0ZWY1OWMyZmM5NC5qcyI6MTU3MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTA5NjVlMWJiYTQxOTkzNWI1OS5qcyI6ODU3OTA9PT1lPyJfX0xBTkdfXy4iK2UrIi45YzMzZWI2MDExM2JiYjY1ZDYzOS5qcyI6ODE0NTY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wMTM4MjRkMjYzNDY2NjI3YTZmYS5qcyI6ODc4OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45NWVkNGI5ZjMzYTdiZjcwY2NiMy5qcyI6ODMzMzk9PT1lPyJfX0xBTkdfXy4iK2UrIi44ZDM5ZTc2MDFhMjU4ZTY4N2E5MS5qcyI6NjIxOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zY2RjMmRiMWJjMTcxNmRjZDM5YS5qcyI6NDgwMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi44Y2ExMDY5ODQ5ZjA5Y2YwZDlkNy5qcyI6Njk3MzA9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODFiMjM5YWY3ZTA0MzU0MDNkZC5qcyI6Nzc1ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41MDcwYTFkMTc0MjQxNDNjNTc0NC5qcyI6NzgwMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTJiMTIxZDJlNGUxNDA3ZTc1OS5qcyI6NTc4Njk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jZjg2NDNjYTU3MWIwZjFjNGIxMS5qcyI6MjUwMjg9PT1lPyJfX0xBTkdfXy4iK2UrIi5iY2VkNzNlZDg3MDAxNWZjOWViYS5qcyI6NzA5MDk9PT1lPyJfX0xBTkdfXy4iK2UrIi5kYWY2ZjJjZjA2MTRiODYzMWQ4Ni5qcyI6MjU3ODg9PT1lPyJfX0xBTkdfXy4iK2UrIi44MDU3NTA4MGFlMzZmNjU3MTYwYi5qcyI6NjA2NTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzZjYzZiMWY2ZTRkZGZjYTc4MC5qcyI6MzQ1OTI9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGY2ODI5YWYzNjU5NmMyN2NiMS5qcyI6OTUxMDI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNzNiMzVkMzA4YTZlMjU1NmJmOC5qcyI6ODc5MTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZmYyYWU4NTBkZDhkYjM1ZTkwOS5qcyI6NTgzMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi45NjhlY2JkZGNkNDAyNzg3YjliMy5qcyI6MjU0MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTlmMGRlNjI3NjllMDM4ODIzYS5qcyI6MzUwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5lMzgxYTZlMjRkOGNlZTNmODQ2MC5qcyI6MTcxMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGQ5OWRhZGIxOTZlZTc5MWZiMS5qcyI6OTY0MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mZjNhYTNmYzQ1OTNkNTU1ZGQzZi5qcyI6NzI0Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZWZkNzdkYWJhYjJlZmUxYjcyZC5qcyI6NzY4MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zODk4NDUzYjhjYmEzYzBlMTE1NS5qcyI6Mjk0Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZWJlYTcxZTljZmEwYjM1OTJiOS5qcyI6MTM5MzY9PT1lPyJfX0xBTkdfXy4iK2UrIi45MDZhMGEyMjMxYWUxY2JkOWNkMy5qcyI6NTQwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi42MTFiYWNjNTI2YTI3YWFlMWEzYS5qcyI6NzMxMT09PWU/Il9fTEFOR19fLjczMTEuZmI1ZDA0OTRlZjg1NzNiZDkwNjguanMiOjc1NTI9PT1lPyJfX0xBTkdfXy43NTUyLmJjMDAyMDE5Mjk3Nzc3MWQ3MTE5LmpzIjoxNjU5OD09PWU/Il9fTEFOR19fLiIrZSsiLmIwYWI1YzJjMmRjNTQ0NGNkZWViLmpzIjoyMjUxMD09PWU/Il9fTEFOR19fLiIrZSsiLmM2MjcyNDU5YTE3YzUzOThmZDdiLmpzIjo1NTgwMT09PWU/Il9fTEFOR19fLiIrZSsiLmQ5NDk2ZGI4Y2QwYTUzZGRlMDJjLmpzIjoxMDc3Nj09PWU/Il9fTEFOR19fLiIrZSsiLjY0YzQxMjNlN2MwY2NjMzkwNWJhLmpzIjo3ODAzND09PWU/Il9fTEFOR19fLiIrZSsiLjgwMGIyY2VlNjQ5OGE2YzRiNDRhLmpzIjozOTE4Mj09PWU/Il9fTEFOR19fLiIrZSsiLjE4YjMxYTU4ZDRiNTc5NmQ5YjBkLmpzIjoyNDQxPT09ZT8iX19MQU5HX18uMjQ0MS4xYjQzNWE0M2RiMTY1ODAyNzdjMi5qcyI6MjcyOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNDUzMTNkNDlkZDc3NWJhZDI1Zi5qcyI6NTUzOD09PWU/Il9fTEFOR19fLjU1MzguYTdlNmE5YjliZDRlZGI4ODVmNzUuanMiOjk2Njc4PT09ZT8iX19MQU5HX18uIitlKyIuYzEwNmIyNjA0OWU5YjAyYmU3NzkuanMiOjg2NTkzPT09ZT8iX19MQU5HX18uIitlKyIuODIxODlmNjM2ODQ5YTUxZDA1NjkuanMiOjQ5MzA3PT09ZT8iX19MQU5HX18uIitlKyIuYzhkOGEyYjQ2NWY0MjBjMzZjOWQuanMiOjQyMDk2PT09ZT8iX19MQU5HX18uIitlKyIuODVhMWYyY2IzY2U2NzU3MTZjZjYuanMiOjIxNzg0PT09ZT8iX19MQU5HX18uIitlKyIuM2E4NzY3MGVmNDFlZGZkYzg4NWMuanMiOjc4NDQ9PT1lPyJfX0xBTkdfXy43ODQ0LmM3NDhlNzFlYWYxNzExODBhY2ZmLmpzIjo4NzIzOD09PWU/Il9fTEFOR19fLiIrZSsiLjdlNzczMDk3MzM3YTM0YmU2NjUyLmpzIjoyMDMzNz09PWU/Il9fTEFOR19fLiIrZSsiLjMwMTVkYjVlMGE1MjE5NjIzY2ZiLmpzIjo5Mzc0NT09PWU/Il9fTEFOR19fLiIrZSsiLjlkOTkxMTY3ZWY2ZDg5MjZiOTFlLmpzIjo2NjAwMj09PWU/Il9fTEFOR19fLiIrZSsiLmQxMWM0NDk1NTYxMjg0ZTg3MjI3LmpzIjoyMTg3MD09PWU/Il9fTEFOR19fLiIrZSsiLjdkMzdmZmE1M2RmYmJjMTg0MDg4LmpzIjo4NTAxND09PWU/Il9fTEFOR19fLiIrZSsiLjIzMzc2MTVhNGJkMmMzMDNjMDQ2LmpzIjo3Mzc3PT09ZT8iX19MQU5HX18uNzM3Ny5kYzEwMzEyNTJiZjkyY2ZiNDFmYi5qcyI6OTY4MjM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xMjI2NWRkODhhNWQwOGQ2NmE4Yi5qcyI6Mjc1NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYTZjMzcwMmZiYzUxZTk0YzYyNi5qcyI6MzUyNTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5mMzE3NDgxOWIxNDBiNmE3ZDJlNy5qcyI6Njk2OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOGEzMGYwN2JhMTk1YjVlODM0Zi5qcyI6ODU4Nzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMTg5YjcwN2E5MTY1YzY1ZDlmYS5qcyI6MjY5NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMzcxZGJiZGEwM2Y5Y2EwZGUyOS5qcyI6OTgxMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi44YzZiYTU1Nzk0YjY0YWQ3Zjg3Zi5qcyI6NTk4Mjk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xODU0YTZiY2I5NjUxOTNjODkyZi5qcyI6OTQyNDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTg5Yzc1NDA0MWMzNGI2YWVmMy5qcyI6MTIwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MjM1MWEzNzc4MDEzMmM5ZTlmZC5qcyI6OTkxMjQ9PT1lPyJfX0xBTkdfXy4iK2UrIi43MTI5ZTA1N2M3NDQ0ZGYyNTk5NC5qcyI6MjcxNzQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODQ4NDY0ZDVjMGNhNmMzMmE0My5qcyI6NDAxNTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wYjk5ZDU0NTMyYWIwNDAxNmJjYS5qcyI6NTQ4Nj09PWU/Il9fTEFOR19fLjU0ODYuMWIxZTMwODg0NGNkM2YwNDdiMDcuanMiOjYxOTUwPT09ZT8iX19MQU5HX18uIitlKyIuOGJiNWU5MDIwYTY0MmY3OTZjOTMuanMiOjE0OTI2PT09ZT8iX19MQU5HX18uIitlKyIuOTM2NDNhMjRkYjhiM2NkYmU1YzQuanMiOjk4MzgzPT09ZT8iX19MQU5HX18uIitlKyIuMmQ0MTY5YzRhZTMyMmFkYjc0MGUuanMiOjMzMTc2PT09ZT8iX19MQU5HX18uIitlKyIuMjkwMGIxNzFiNmFmY2JlNWZjYzQuanMiOjE0NT09PWU/Il9fTEFOR19fLjE0NS44MTJjOTAzYTA1Y2FhYTJjYTEyNS5qcyI6MTI2NjM9PT1lPyJfX0xBTkdfXy4iK2UrIi43NDE5MzQyMzU0ZWNhMmZmZTMxNy5qcyI6MTE1MjY9PT1lPyJfX0xBTkdfXy4iK2UrIi4xN2RkMTM5ZjYwNGEyZDk4M2M3Ny5qcyI6NDI1MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNDg3NjY3ZDMzMzE4MmMxZWI1Zi5qcyI6Njk4MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44MzM3NmJlMzMxZWJkZTk4YTU0ZC5qcyI6NDY4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZGY5Y2Q3NDdjZWZjMjRmMTg0Yy5qcyI6MjEwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzM3M2UxOGM3ZDc4MDc0ZTQwYS5qcyI6MTQ5OTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2Q2ZTg1YjZkMDU4ODE1MmJhYS5qcyI6NTQ5MDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40YWZkZmI5MGNjNzVkYWQ2ZThjYS5qcyI6MzkzNz09PWU/Il9fTEFOR19fLjM5MzcuY2IxM2QyZjQ0MWU5NjNiOGY4NTEuanMiOjM3MDkxPT09ZT8iX19MQU5HX18uIitlKyIuODg5OTAzZmE0MTgwYTQwYmI3MWYuanMiOjM5ODM9PT1lPyJfX0xBTkdfXy4zOTgzLjZmOWJlZmFhMDVhNjg1YzcwNjg0LmpzIjo0MzA2MD09PWU/Il9fTEFOR19fLiIrZSsiLjRjZWU5ZGJmZGY0ZmVjN2I0ZjM4LmpzIjoxMDg0MT09PWU/Il9fTEFOR19fLiIrZSsiLjc2NmY5NjY4NzhiN2Y4NzI2ZDc0LmpzIjo3OTk3OT09PWU/Il9fTEFOR19fLiIrZSsiLjNkYTNmZmQyNzExMGViODg5MGQzLmpzIjo5MzI5MD09PWU/Il9fTEFOR19fLiIrZSsiLmZhMDEwZTQyNmY5YWYwOGRkNDNlLmpzIjo0MjE2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmM2ZTM1MWI0MTc1Y2YyZjg4NjhhLmpzIjoxOTI2ND09PWU/Il9fTEFOR19fLiIrZSsiLmE5NDdkNjMxODJlZjE1ZDg3MTgzLmpzIjo4ODQzMj09PWU/Il9fTEFOR19fLiIrZSsiLjQ0MDYwYWRkMjE2MjgwY2ZhMGQzLmpzIjoxMjY1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYzNTc2NjU5MmI0NmRlNzQ4ZThkLmpzIjoxNzEyMz09PWU/Il9fTEFOR19fLiIrZSsiLmFkNGQ4ZTc2ODNlMzQ2ZjEyZTEyLmpzIjoyNTc1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjczN2Y2NTNhN2IxM2YwNmE5ZmNlLmpzIjozNDkwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4OGNkMTQ3MzYwMTljZWYyN2JjLmpzIjo3MzcyNT09PWU/Il9fTEFOR19fLiIrZSsiLmFiNzNlOTU0ZDJjZDFiZTM2ZGM0LmpzIjo0MDg5Mj09PWU/Il9fTEFOR19fLiIrZSsiLjc2ZWUzYzUyNDE3YTYwZmIwOTMxLmpzIjo0ODgzNz09PWU/Il9fTEFOR19fLiIrZSsiLmVkNjU2NzNlNTgzN2NkODY3MzdhLmpzIjo5NjQ0OD09PWU/Il9fTEFOR19fLiIrZSsiLmEyMzA5M2IyMGMyZTQ4YWFjMTJiLmpzIjo2MDkzOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlNmNiZWVmODZkZDhmZjEwOTY0LmpzIjo0OTIxNT09PWU/Il9fTEFOR19fLiIrZSsiLjJjMjE1NmZhMGU4NTQ1Y2JjYWFiLmpzIjoyMDg2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNkYjhlOGVlZWU2ODZhNTA5YjIwLmpzIjo0MTI4MD09PWU/Il9fTEFOR19fLiIrZSsiLjJhYTNjZDA3ZDYwMGViOTZjYmJjLmpzIjo4MTM5NT09PWU/Il9fTEFOR19fLiIrZSsiLmI2ZDgzYzc0ODhkZjQ5MDM5NGY4LmpzIjoyNjc3MT09PWU/Il9fTEFOR19fLiIrZSsiLmUzYjAzNTVjZmZkMDc3YmRlMjQyLmpzIjoxMDY3ND09PWU/Il9fTEFOR19fLiIrZSsiLjY1YWNkY2NmZWYwZjNmNDk4MmUwLmpzIjo0OTc0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjlmZGRlOGRmYmQ0NTY2MzhmMzExLmpzIjozODUzNT09PWU/Il9fTEFOR19fLiIrZSsiLjI2OTE4OTI3NWFkZGQxZjc2N2I1LmpzIjo1OTMxPT09ZT8iX19MQU5HX18uNTkzMS4yZDAwYTEwNjc4ZTc4Y2Q2NmM5Mi5qcyI6ODYzMT09PWU/Il9fTEFOR19fLjg2MzEuN2FjZjJiYTQ0MjE2MzMyM2E2ZWMuanMiOjg0OTAwPT09ZT8iX19MQU5HX18uIitlKyIuMGQzNzYyZmQwY2U3MjNlNTQxZGIuanMiOjM5OTg4PT09ZT8iX19MQU5HX18uIitlKyIuM2M5ZDQ2ZDY5ZjVhZDcyMTA5YTAuanMiOjM5NTA0PT09ZT8iX19MQU5HX18uIitlKyIuZWI3Yzg1OGEyMzEwOGFjYTdmZWUuanMiOjgyMDAzPT09ZT8iX19MQU5HX18uIitlKyIuZDc0OGI4Njg4MDM4ZTcyOWVmMDkuanMiOjE4OTExPT09ZT8iX19MQU5HX18uIitlKyIuNjk4MTkzOGIxMTQzYWFhNjE1NzcuanMiOjUzNzg5PT09ZT8iX19MQU5HX18uIitlKyIuZTQ1ODQ1YmYwMDRlNjRhNzFmNmIuanMiOjU0NjQ9PT1lPyJfX0xBTkdfXy41NDY0LjFkNmMzNjI2ZTQ4NTNmYWUzN2ZlLmpzIjo4OTUzND09PWU/Il9fTEFOR19fLiIrZSsiLjE4N2FiMTllNDViNjZjNzk0MmMzLmpzIjo4Njg3MT09PWU/Il9fTEFOR19fLiIrZSsiLmJlN2JmMGEyYjM0YjM3Yjg1ZjRiLmpzIjoyMTg4OD09PWU/Il9fTEFOR19fLiIrZSsiLjliM2QzZmNjYjgyZDI1ODc2MzMyLmpzIjo3ODM9PT1lPyJfX0xBTkdfXy43ODMuNmI4ZDMzZmFiZjYwYmE1MzE1MDcuanMiOjI2NzY0PT09ZT8iX19MQU5HX18uIitlKyIuZDhmZjZlMjlmYWU1ZTJlNDMxNDguanMiOjE3MDkyPT09ZT8iX19MQU5HX18uIitlKyIuODlkOGUwYmY1MWE3N2Q2Y2U3MzEuanMiOjUzNDExPT09ZT8iX19MQU5HX18uIitlKyIuZTgwM2YzZDcyOWI5NTViZTZlMzYuanMiOjg2MjM4PT09ZT8iX19MQU5HX18uIitlKyIuZGIwNzUwYTcwZDM2NzhiM2ExMmQuanMiOjg2MzI0PT09ZT8iX19MQU5HX18uIitlKyIuZDkzN2I2NzRlMmUwYTY1MGZjMDkuanMiOjI0NTA9PT1lPyJfX0xBTkdfXy4yNDUwLjYxM2I4MWRmYjc1MDZkZjdjNTk5LmpzIjo3Mjc1PT09ZT8iX19MQU5HX18uNzI3NS43NTFmNzU4NzU0MDUwNDg4NzEyMy5qcyI6NTY4MDE9PT1lPyJfX0xBTkdfXy4iK2UrIi43MDAwZjcwOGViNmY0NzFiMGQ3Zi5qcyI6MzQ0NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5kODg0ZTE0ZDQzMjYxM2UxNzU5Yi5qcyI6OTQyNTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lYTFiMzM0MzhlYTEwOGNiNDcxZi5qcyI6ODQ5Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xZmNkMTM1ZGViODM4ZjdmOTFkYi5qcyI6ODc0Njg9PT1lPyJfX0xBTkdfXy4iK2UrIi44NWFjZDc2OTQyNzM2NzFhNWUxZS5qcyI6ODcwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMGZmMDQ0NTQwZmNmMmZkZGYwNi5qcyI6Mjc3NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzdiOTUxMGZlZjNhZjI4MDk5Mi5qcyI6NDkzOTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yZWYyNTYyNTJjMjMxZDY5MzVhMi5qcyI6NDM1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5iOGYyOGE1MjRjNzUxM2RjZjA1Zi5qcyI6MTMzOT09PWU/Il9fTEFOR19fLjEzMzkuZjkwZWUwZWNkMmM3NzZmNmRjMDcuanMiOjY5Nzc3PT09ZT8iX19MQU5HX18uIitlKyIuYWQyZmU0ZmM3YzJjMGYyZjRiMDEuanMiOjg4MDM9PT1lPyJfX0xBTkdfXy44ODAzLjIxYzJjYTgyOTEyMmU5MTVkZjIzLmpzIjoxOTkxNj09PWU/Il9fTEFOR19fLiIrZSsiLjQyZWUxZTk4ZDc1MzBhYTU2NTUzLmpzIjo2MTA4OD09PWU/Il9fTEFOR19fLiIrZSsiLjA4MzNmM2YxNzM1OGRkMTdlN2ZkLmpzIjozNTE1MD09PWU/Il9fTEFOR19fLiIrZSsiLjdiMGNmM2YwZmIwZDQ4YTU0MTg2LmpzIjoxNTk5OD09PWU/Il9fTEFOR19fLiIrZSsiLjVmYjFlN2JlYzc1NTcyYzAxMGExLmpzIjo2NTI1OT09PWU/Il9fTEFOR19fLiIrZSsiLmE2Njg5MzUwNTZhYWU5OWMzMzQxLmpzIjo4NTk0Mz09PWU/Il9fTEFOR19fLiIrZSsiLjM1Y2UwN2ZlOWViYzQ4NmIwMzAxLmpzIjo4NjgwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4NzJlNjU3MmZlYTMwNDE0NWI5LmpzIjo0OTUwMT09PWU/Il9fTEFOR19fLiIrZSsiLjQwMzRjYWU3ZWFhZDVjZjY5Y2IyLmpzIjo4NzU0Mj09PWU/Il9fTEFOR19fLiIrZSsiLmExYTRhMDBmNGI2YmE0NDFkNmUyLmpzIjo3NzI2Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcwMGYzYTAwYjI5MmRkMjg4YmI4LmpzIjo4MzA4Mz09PWU/Il9fTEFOR19fLiIrZSsiLjg4NDAxNmY2ZGJhMWEwOTRlYzU0LmpzIjo2MzA1MT09PWU/Il9fTEFOR19fLiIrZSsiLmQxN2Y3MmJkZjA4ZTAxOTdiMjJiLmpzIjo1MjMyND09PWU/Il9fTEFOR19fLiIrZSsiLjYyNjVlMDA0ZTAzNjE5NDY5ZmE2LmpzIjo2NTc1MD09PWU/Il9fTEFOR19fLiIrZSsiLmUwN2Y4NmZkZjY3ODE2ZDU4YTk3LmpzIjo2NzQzNj09PWU/Il9fTEFOR19fLiIrZSsiLmE3OTc2NTQ4OWE4NjJiYWY5NTNhLmpzIjo1NDI0OD09PWU/Il9fTEFOR19fLiIrZSsiLmI1MjVjMzAxNWM4NjE4Y2U3NDA4LmpzIjo1NDc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjdhNzNjMTMzYjg4OGUxNmEzYWVjLmpzIjo3MzcwPT09ZT8iX19MQU5HX18uNzM3MC5hMGJmODgwN2RhOGQzNTlhMTQ5Yy5qcyI6MTQyMj09PWU/Il9fTEFOR19fLjE0MjIuYzU2MWU0NTkyN2M2Njg4MzhkM2EuanMiOjE3ODU5PT09ZT8iX19MQU5HX18uIitlKyIuNGE1ODBhY2U0OTE0ZjExNWNkMDcuanMiOjE2Mzc3PT09ZT8iX19MQU5HX18uIitlKyIuNGVhZDdiYmRlM2VlZDljYjJlY2IuanMiOjQyMjM2PT09ZT8iX19MQU5HX18uIitlKyIuZTg4NTUwNjljNzBlZTZiNjRlYzcuanMiOjM4NTU1PT09ZT8iX19MQU5HX18uIitlKyIuODQ3NzIyMDc2ZmQwMjExNjQyNmYuanMiOjk5MjIwPT09ZT8iX19MQU5HX18uIitlKyIuNWJmNGZlOTdkYTk2YzZkNGE4OTQuanMiOjYxOTEzPT09ZT8iX19MQU5HX18uIitlKyIuNmQ4MTczNzYyNzA5MzMzYzdhZGEuanMiOjY0MzYxPT09ZT8iX19MQU5HX18uIitlKyIuMzVkZjNiMjdkNDVlZTgyNjI0ZmUuanMiOjUxMzE0PT09ZT8iX19MQU5HX18uIitlKyIuMTAzMTQzYTZiMjg3ZmVkZWMwYzIuanMiOjk1NzcyPT09ZT8iX19MQU5HX18uIitlKyIuYzI4NDVlN2Q2YTIzYjU0NTliYTUuanMiOjY4NjcyPT09ZT8iX19MQU5HX18uIitlKyIuMjUzMzhhYjE2NzBlMDMwNzUyZWIuanMiOjI4ODc1PT09ZT8iX19MQU5HX18uIitlKyIuZWRlMWI3MjE4MTY5M2QxYWNmNGYuanMiOjczMTkwPT09ZT8iX19MQU5HX18uIitlKyIuNDI3NzkyYzcxOGEzZjU5MThkMDUuanMiOjk0NzAyPT09ZT8iX19MQU5HX18uIitlKyIuNmM1ZDUyOWVhY2Y1OGYxY2QyYzEuanMiOjEyMzkzPT09ZT8iX19MQU5HX18uIitlKyIuOGNhMDRmYTc4ZjA0M2E4Yjk5YWMuanMiOjQ3MDMwPT09ZT8iX19MQU5HX18uIitlKyIuOWFhNmUwZmY0ZWRkYTE2ODc1MzYuanMiOjkwMjUxPT09ZT8iX19MQU5HX18uIitlKyIuMjkxYzVkMGYxZWYwOTdiMDljMTguanMiOjQwNTU3PT09ZT8iX19MQU5HX18uIitlKyIuNzRlYzZhZjVmMTg5ZWExYjRiYmEuanMiOjI5NjE4PT09ZT8iX19MQU5HX18uIitlKyIuZGQyMDhmYTlkMjZlNzMyODEwOWMuanMiOjQ0MDY2PT09ZT8iX19MQU5HX18uIitlKyIuNjg4ODFlZTU3ZjMwYzQwM2JiMDMuanMiOjQyNTE9PT1lPyJfX0xBTkdfXy40MjUxLmVhZGNlODIwZTIwODFlNDFmZTM2LmpzIjoyOTgyMT09PWU/Il9fTEFOR19fLiIrZSsiLmEwOTkxMWZmNDhmYmIwN2JiNzdkLmpzIjo2MTA2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNjYjZjNjQyM2M2YjFmYTAxMGRmLmpzIjo3NjM4NT09PWU/Il9fTEFOR19fLiIrZSsiLmEzOGM4ZTkyMTk2MGNlYTQ0MDE5LmpzIjoyNjA1PT09ZT8iX19MQU5HX18uMjYwNS5mNzAwYWY2Y2I4MGIwNmU1NTRkZC5qcyI6OTk4NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTg4ZjJiZGYzNDkxMmVjMTQ0OC5qcyI6OTk3NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZGE2YmRiYjA4ZjZmN2I5YzFkZC5qcyI6MzA1OTc9PT1lPyJfX0xBTkdfXy4iK2UrIi44NGE0YjNlM2NjYjZkN2MyZjIyYS5qcyI6NDU1MjI9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTY2MGExNDIxMjRhZGY0NTA0My5qcyI6MTAzMz09PWU/Il9fTEFOR19fLjEwMzMuNzM0YmQ3ZGFmZTc3N2NmMmRmNjEuanMiOjg4ODkxPT09ZT8iX19MQU5HX18uIitlKyIuMmY2NjNiZDEyNWRiMjhmMWNiZGEuanMiOjg4NDI9PT1lPyJfX0xBTkdfXy44ODQyLmY0ODQ0YjQ0MDc4MWIxOWU0NTA4LmpzIjoxOTAzND09PWU/Il9fTEFOR19fLiIrZSsiLjMwNTE3MjA0N2U3ZmFiYjUzNDgxLmpzIjoxNjcyPT09ZT8iX19MQU5HX18uMTY3Mi5mY2Y2OTljNDJjYmY2ZGEwNTAzZC5qcyI6MjEzOTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNDFmNmM3Yjc2NTdlNTU1NGRmMC5qcyI6MjkxNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzU3M2RkMzNhYmVlZWViZWYwNC5qcyI6MTg4OTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZjg2NzhmYjFmZWY3NzFiNTNhYS5qcyI6MTg2Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMmIwYmMyMDhkNWUxOTBhMzczMy5qcyI6NzM2MzM9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNWI1ZWZmNDZkNTkxNTcxNGZmYy5qcyI6Njc5NDk9PT1lPyJfX0xBTkdfXy4iK2UrIi45NDAxYWZjYjdiZDQ3N2UzMTlhMS5qcyI6Njg4NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNzY2ZDExMDc4ODEyZDdmMTQ1Ny5qcyI6MTg3ODE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGYxMDNjZWIzNTFkNjhjMmY4Zi5qcyI6NDg5MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2YxM2U2OTRkZGY1NGI0ZGVlYi5qcyI6NjQ0NDE9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZDNhMDdiOWE4MTQwODczMWNjNC5qcyI6MzMzOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZWRkMWQzY2VlZmJlNGNlNjgwMi5qcyI6NTUwMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jYWZjZDVlNTA1M2YxMDhlZTYzMS5qcyI6OTM3NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNmRlZWE5OWMyYTlkOTU5NWIzZi5qcyI6Njc1ND09PWU/Il9fTEFOR19fLjY3NTQuYmQxZGNiNWU1MzhkNzVhN2QxN2YuanMiOjkzOTA1PT09ZT8iX19MQU5HX18uIitlKyIuYzhmNjE0YzQxYzIzZjJmYTMwYjMuanMiOjgxNzQ2PT09ZT8iX19MQU5HX18uIitlKyIuNzNlNmU5ZmEzNzEyOTkyYWRmODEuanMiOjc4MzY1PT09ZT8iX19MQU5HX18uIitlKyIuYmEzMDJjMTI0NmY3ODJhZmJmZWUuanMiOjgyMjQyPT09ZT8iX19MQU5HX18uIitlKyIuZTJkZjJhNWQxMzYyZjZjNGEzOTYuanMiOjkxMjc4PT09ZT8iX19MQU5HX18uIitlKyIuNTVjOTRkZTIzNjQxZTBhZmU5NmEuanMiOjIxMDY2PT09ZT8iX19MQU5HX18uIitlKyIuYTgxOWE2MzE4MDEwYTBkOTkyZGMuanMiOjk0MjM3PT09ZT8iX19MQU5HX18uIitlKyIuZTlkZTczNGMwMDBjZTY3MDYxM2IuanMiOjYyNTc0PT09ZT8iX19MQU5HX18uIitlKyIuZDBiODNmZDliODM0YjBiY2MzNzUuanMiOjI0NDUwPT09ZT8iX19MQU5HX18uIitlKyIuZGQzMTBiZmNkNzBkM2JkMWVjMjAuanMiOjkyOTY0PT09ZT8iX19MQU5HX18uIitlKyIuYWE2NzBkZGZkMTY1OTU5NjRhZWIuanMiOjQ1NTk3PT09ZT8iX19MQU5HX18uIitlKyIuNThmYzJlMjJhZjhmMTAyYTQ2MGEuanMiOjEwMzgyPT09ZT8iX19MQU5HX18uIitlKyIuYThlM2Y3MzYzNzY4M2YwN2IxNWIuanMiOjcwODU3PT09ZT8iX19MQU5HX18uIitlKyIuNDAzZTRlM2JiOWI1OTZhZDAzOTcuanMiOjYwMzY1PT09ZT8iX19MQU5HX18uIitlKyIuYjQwN2FkMTYxOGFiNjViOWUxNjYuanMiOjYxODAzPT09ZT8iX19MQU5HX18uIitlKyIuZmY1ODc4OWM0MzVhMDk3MDZjZTkuanMiOjMyOTA9PT1lPyJfX0xBTkdfXy4zMjkwLjE3ZDk1OTMyOGQzYmMwN2Y0M2IxLmpzIjo5MjY1MT09PWU/Il9fTEFOR19fLiIrZSsiLjA4NDNiZjM4YmVlODMxMWM2NzdiLmpzIjo1ODgyMD09PWU/Il9fTEFOR19fLiIrZSsiLjA5YjQxZDJlZDg0Yjc5ZjRmZTI0LmpzIjo2NDUwPT09ZT8iX19MQU5HX18uNjQ1MC42NDc1NTY5ZjYxNGQyOTMyMTY4OC5qcyI6MTc0NDM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iMzVkN2MwZmYxMDA5ZTM0ZTcyNC5qcyI6KHsKMTU1OiJzaG93LXJlcG9ydC1kaWFsb2ctaW1wbCIsMzM4OiJzdHVkeS1lbGxpb3R0LXdhdmUiLDU3NzoiY29udmVyc2lvbi1jb250ZXh0Iiw5OTM6ImxpbmUtdG9vbC1iZXppZXItY3ViaWMiLDExMDA6ImxpbmUtdG9vbC1yZWdyZXNzaW9uLXRyZW5kIiwxMjAzOiJmaW5hbmNpYWxzLXBlcmlvZC1kb2N1bWVudHMtZGlhbG9nIiwxNDA5OiJiYWNrdGVzdGluZy1pbXBsIiwxNDM4OiJsaWdodHdlaWdodC1hbmFseXNpcy1jaGFydC1kZXBzIiwxNDY0OiJzY3JpcHQtdmlldyIsMTUyMToienhjdmJuRW5QYWNrYWdlIiwxNjQ2OiJsZWdlbmQtdmlldy1yZW5kZXJlciIsMTY5OToiY2hhcnQtcmVuZGVyZXIiLDE4MjY6ImxpbmUtdG9vbC12ZXJ0aWNhbC1saW5lIiwyMjg0OiJyZWd3YWxscy1tYW5hZ2VyIiwyNTAxOiJsaW5lLXRvb2wtNXBvaW50cy1wYXR0ZXJucyIsMjg1OToidmlkZW8tanMtc3R5bGVzIiwzMDM5OiJuZXctY29uZmlybS1pbnB1dHMtZGlhbG9nIiwzNTI0OiJsaW5lLXRvb2wtc2lnbnBvc3QiLDM4NTE6InVzZXItYmFuLWZsb3ciLDM5NjE6InByb2ZpbGUtYXBpIiw0ODU1OiJjaGFydC1uZXdzIiw0OTg3OiJwaW5lLXZpZXdlci1pbXBsIiw1MzMxOiJvcGVuLXNoYXJlLXBvcHVwLWltcGwiLDUzNDM6Im9wZW4tYmxvY2staW5mby1tZW51LWltcGwiLDU5MTc6ImxpbmUtdG9vbC10ZXh0LW5vdGUiLDU5Nzk6ImhpcDMtZGlzY2xhaW1lciIsNjQyNToidGhlbWVzIiw2NDg5OiJzaG93LXN0b2NrLWJvbmRzLWRpYWxvZyIsNjg1MjoibGluZS10b29sLWhvcml6b250YWwtbGluZSIsNzM5NzoicGVyaW9kLWZvcm1hdHRlciIsNzYzNzoibGluZS10b29sLXNpbmUtbGluZSIsNzcxODoicGluZS5tb25hcmNoLnY1Iiw4MjA4OiJzaG93LWV0ZnMtZGlhbG9nIiw4Mjk3OiJjdXJyZW5jeS1sYWJlbC1tZW51Iiw4MzM2OiJsaW5lLXRvb2wtZmxhdC1ib3R0b20iLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDg3MDc6InNlcmllcy1jaGFydC1iYXNlIiw5MDc1OiJsaW5lLXRvb2wtYXJyb3ctbWFya2VyIiw5MTA3OiJwdWJsaWNhdGlvbi12aWV3LXBvcHVwLXJlbmRlciIsOTU5OToiY29udGFjdC1hZHZhbmNlZC1jaGFydHMtZGlhbG9nIiwxMDMyNToiZm9ybSIsMTA1MDU6ImxpbmUtdG9vbC1lbGxpcHNlIiwxMDY0MzoibGluZS10b29sLWNhbGxvdXQiLDEwNzA0OiJjcmVhdGUtZGlhbG9nIiwxMDc4ODoibGluZS10b29sLXRyZW5kLWJhc2VkLWZpYi1leHRlbnNpb24iLDExMzA0OiJzaG93LWVjb25vbXktaW5kaWNhdG9yLWRpYWxvZyIsMTE0MzU6Im5vdGVzLWRpYWxvZyIsMTE5MTE6ImxpbmUtdG9vbC1mbGFnLW1hcmsiLDEyMDYwOiJzb3VyY2UtcHJvcGVydGllcy1lZGl0b3IiLDEyMTM2OiJpZGVhLXZpZXciLDEyMjI3OiJ2b2x1bWUtZm9vdHByaW50LXN0dWR5IiwxMjQ0ODoiZGVsYXktc3RhdHVzLXBhbmUtdmlldyIsMTNlMzoiZWRpdGNoYXRyb29tZGlhbG9nIiwxMzEyMzoiZWFybHktYmlyZC1iYW5uZXIiLDEzNjA5OiJnZXQtY2hhdGlkLWJ5LXVzZXIiLDEzNzE5OiJwaG9uZS1jaGFuZ2UtZmxvdyIsMTM3MzI6ImZ1bGxzY3JlZW4taW1hZ2UtZGlhbG9nLWltcGwiLDEzODM0OiJzaG93LXdhdGNobGlzdHMtZGlhbG9nIiwxMzk4MjoicGluZS1kaWFsb2ciLDEzOTkzOiJwdXNoc3RyZWFtLW11bHRpcGxleGVyIiwxNTE2MDoic2hvdy1hbmFseXNpcy1kaWFsb2ciLDE1MTczOiJmaXJlcy1hY3Rpb24tY3JlYXRvcnMiLDE1MTk2OiJzdnAtc3R1ZHkiLDE1NzM0OiJsaW5lLXRvb2wtcG9seS1saW5lIiwxNTc2NzoienhjdmJuQ29tbW9uUGFja2FnZSIsMTYxMjY6ImNhbnZhcy1yZW5kZXJpbmctY29udGV4dC1zYXZlLXJlc3RvcmUtbGVha3MtdXRpbHMiLDE2MjkyOiJtb25hY28uZWRpdG9yLmxvY2FsZS5kZSIsMTY2Nzg6InNjcmlwdC1hY2Nlc3MtcmVxdWlyZWQtZGlhbG9nIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMTY5NDk6InN0dWR5LXRlY2huaWNhbHMtc2VhcmNoLWRpYWxvZyIsMTcwMjg6ImRvY3VtZW50LWVhcm5pbmctcG9wdXAtY29udGVudCIsMTcyMjY6InNob3dNYXhGb2xsb3dpbmdzRXhjZWVkRGlhbG9nIiwxNzMzNjoiY29tcGFyZS1tb2RlbCIsMTc1MTU6ImxpbmV0b29scy1saW1pdC1leGNlZWRlZC1kaWFsb2ciLDE3NjMzOiJsaW5lLXRvb2xzLXNwbGl0LWFkanVzdGVyIiwxNzkwOToic2NyaXB0LWZvcm0iLDE4MzA0OiJsdC1pY29ucy1hdGxhcyIsMTgzMTE6InNjcmlwdC1wcmVmZXRjaGVyIiwxOTAxMjoibW9uYXJjaC5jb2xvcml6ZXIiLDE5MTQzOiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW5zIiwxOTIxMzoicHVibGljYXRpb24tdmlldy1pZGVhIiwxOTMxMToidGFrZS1zY3JlZW5zaG90IiwxOTMxNDoib3Blbi1kZWZhdWx0LXNjcmlwdC1kaWFsb2ciLDE5NzIyOiJmbG9hdGluZy10b29sYmFycyIsMTk3Njk6InN1YnNjcmlwdGlvbi1oYXMtY2hhbmdlZC1kaWFsb2ciLDE5ODE2OiJ0b2FzdC1sYXllciIsMTk5Mzg6InN5bWJvbC1saXN0LXNlcnZpY2UiLDIwMjQ3OiJsaW5lLXRvb2wtdHdlZXQiLDIxMTA2OiJtaW5kLXBvcHVwLWVtcHR5LXN0YXRlIiwyMTI2MDoibnNkLXVucGFjay1pbXBsIiwyMTU5NjoibGluZS10b29sLWZpYi1zcGVlZC1yZXNpc3RhbmNlLWZhbiIsMjE3NjY6ImRyYXdpbmctaGludHMtcmVuZGVyZXIiLDIxOTc3OiJsaW5lLXRvb2wtdHJpYW5nbGUiLDIyMDIwOiJzaG93LXBvcnRmb2xpby1kaWFsb2ciLDIyMTYzOiJsaW5lLXRvb2wtdGVtcGxhdGVzLWxpc3QiLDIyMzQ3OiJhZGQtY29tcGFyZS1kaWFsb2ciLDIyNTMyOiJjaGFydC1zb3VyY2UtaWRzLWdldHRlciIsMjI1NDc6ImdvcHJvLWRpYWxvZyIsMjMxMTQ6ImxpbmUtdG9vbC1pY29uIiwyMzc2OToic3VwcG9ydC13aXphcmQtc2hvcnRjdXQtcGFnZSIsMjQwMTM6ImxpbmUtdG9vbC1wcmljZS1ub3RlIiwyNDA0NDoiY29va2llcy1ub3RpZmljYXRpb24iLDI0MTA4OiJvcGVuLXBpbmUtZWRpdG9yLXNvdXJjZS1jb2RlIiwyNDEzNzoibGluZS10b29sLWZpYi1yZXRyYWNlbWVudCIsMjQyNjk6Im1vbmFjby5sYW5ndWFnZS5jbGllbnQiLAoyNDk5MDoibW9uYWNvLmVkaXRvci5sb2NhbGUuamEiLDI1MjM3OiJuZXctZWRpdC1vYmplY3QtZGlhbG9nIiwyNTQ2Mzoic2hvdy13YXJuaW5nLWFsZXJ0cy1tYXgtdG90YWwtY291bnQtZXhjZWVkZWQiLDI1NTU3OiJzaG93LW92ZXJhbGwtd2F0Y2hsaXN0LWFsZXJ0cy1saW1pdC1wb3B1cCIsMjU2Mjg6InNuYWNrYmFyLW1hbmFnZXIiLDI1NjM0OiJsaW5lLXRvb2wtYXJyb3ctbWFyayIsMjU2NDg6ImxpbmUtdG9vbC1yaXNrLXJld2FyZCIsMjYwNjY6ImNvbnRhY3QtcHJpdmFjeS1wb2xpY2llcy1kaWFsb2ciLDI2MDcwOiJsaW5lLXRvb2wtZmliLXNwZWVkLXJlc2lzdGFuY2UtYXJjcyIsMjcwNTI6ImxpbmUtdG9vbC10cmVuZC1hbmdsZSIsMjcxMTg6InRvb2x0aXAtY2hhcnQtY2FyZCIsMjc4OTE6InNlbmQtbWVzc2FnZS1kaWFsb2ctaW1wbCIsMjg0OTg6InByaXZhY3ktcHJlZmVyZW5jZS1kaWFsb2ciLDI4NTA3OiJnZXQtZXJyb3ItY2FyZCIsMjg2NjA6ImZ1bGwtdG9vbHRpcHMtcG9wdXAiLDI4NzE1OiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW50IiwyODcxODoiZ28tdG8tZGF0ZS1kaWFsb2ctaW1wbCIsMjkwNzQ6InN0dWR5LXppZy16YWciLDI5NzY1OiJpbmRpY2F0b3ItdGVtcGxhdGVzLWRpYWxvZyIsMjk3OTg6ImRvY3VtZW50LWNhcmQtcG9wdXAiLDMwMDM0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5wdC1iciIsMzAzMDQ6ImNvbnRhY3QtZWR1Y2F0aW9uYWwtZGlhbG9nIiwzMDc3NDoibGluZS10b29sLXN0aWNrZXIiLDMwOTQ2OiJhbGVydHMtcmVzdC1hcGkiLDMxMTUyOiJtb25hY28ubGFuZ3VhZ2Uuc2VydmljZXMiLDMyMjczOiJzdHVkeS1waXZvdC1wb2ludHMtaGlnaC1sb3ciLDMyNjEzOiJjb250YWN0LWVudGVycHJpc2UtcGxhbnMtZGlhbG9nIiwzMzEyNDoibGluZS10b29sLXJlY3RhbmdsZSIsMzM0MTA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZS0xIiwzNDE4OToiYnVnLWRpYWxvZy1jcmVhdGlvbi1oYW5kbGVyIiwzNDU1NToic2hvdy1jb250cmFjdHMtZGlhbG9nIiwzNDY0NzoibGluZS1yYW5nZS10b29scyIsMzQ2NTQ6ImxheW91dC1jaGFydC1zeW5jIiwzNDg3OToiaW50ZXJydXB0LWNvbmZpcm0tbW9kYWwiLDM0OTU0OiJzaG93LW9wdGlvbnMtZGlhbG9nIiwzNTM0NDoicHVibGljYXRpb24tY29tbWVudHMtY29udGFpbmVyIiwzNTQ4NToidHBvLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiwzNTUzNToidXNlci1wb3B1cCIsMzU1OTI6ImVycm9yLWxvdHRpZS1hbmltYXRpb24iLDM1NzkwOiJwb3BvdmVyLW1lbnUiLDM1OTIyOiJmYXZvcml0ZS1pbmRpY2F0b3JzIiwzNTk4MDoiY2xlYXItb2xkLXNldHRpbmdzIiwzNjM2NzoiYmFja3Rlc3Rpbmctc3RyYXRlZ3ktZmFjYWRlIiwzNjgwNDoiY2hhcnQtd2FybmluZy1oaW50IiwzNzIxMzoic2hvdy1ib25kLXlpZWxkLWN1cnZlLWRpYWxvZyIsMzc3NTY6ImV4Y2hhbmdlLWFncmVlbWVudC1kaWFsb2ciLDM3ODc3OiJpbnNlcnQtaW1hZ2UtZGlhbG9nIiwzODMzMzoiYm9vdHN0cmFwLW1vbmFjbyIsMzg0NDI6ImNoYXJ0LWFsZXJ0cy1mYWNhZGUiLDM4NDQ5OiJzaG93LXNlYXNvbmFscy1kaWFsb2ciLDM4Nzg3OiJwYWdlLXNuYXBzaG90IiwzOTIwMzoicGluZS1kaWFsb2ctb3Blbi1zdGF0ZSIsMzkyMzk6ImN1cnZlLWNoYXJ0LWNvbnRlbnQtdXRpbHMiLDM5MjUxOiJnZW5lcmF0ZS1hbGVydHMtZmlyZXMtY3N2LWZpbGUtaW1wbCIsMzk0NDI6ImNvbnZlcnQtbWVkaWF0b3Itc3RvcnkiLDM5ODQzOiJsaW5lLXRvb2wtdGFibGUiLDM5ODU5OiJmb290cHJpbnQtcGFuZS12aWV3Iiw0MDEwMToidHYtY29pbnMtZGlhbG9nIiw0MDI0MzoibGluZS10b29sLWFyYyIsNDAyNjY6InB1Ymxpc2gtdG9vbHMiLDQxMDYxOiJtb25hY28uZWRpdG9yLmxvY2FsZS5lcyIsNDEzMjg6InNlcmllcy1pY29ucy1tYXAiLDQxNTI0OiJoaXAzLWRpc2NsYWltZXItZGlhbG9nIiw0MTY3MjoibG9sbGlwb3AtdG9vbHRpcC1yZW5kZXJlciIsNDE4MTQ6InRvYXN0LWFkIiw0MjQwMjoidHJhY2stZXZlbnRzIiw0MjQ0MToic29sdXRpb24taWQtbWFwIiw0MjYyODoibGluZS10b29sLWFuY2hvcmVkLXZ3YXAiLDQyNzA2OiJzaW1wbGUtZGlhbG9nIiw0MjgzNjoid3JhcC1waW5lLXRhZ3MiLDQyOTM0OiJ3aWRnZXQtc2lkZXRvb2xiYXIiLDQzMTgwOiJjaGFydC1zY3JlZW5zaG90LWhpbnQiLDQzNDU4OiJhbGVydC11dGlscy1oYXMtdXNlci1hY2Nlc3MtdG8tZGF0YS1zb3VyY2UiLDQzNDk2OiJsaW5lLXRvb2wtcGF0aCIsNDM5MjY6IndpZGdldC10b3B0b29sYmFyIiw0NDE2MjoidGltZS1mcmFtZS12aWV3LXJlbmRlcmVyIiw0NDE2NToibGluZS10b29sLWNpcmNsZSIsNDQ0Njg6ImxpbmUtdG9vbC1yb3RhdGVkLXJlY3RhbmdsZSIsNDUzMjI6ImxpZ2h0d2VpZ2h0LWNoYXJ0LXByaWNlLXRpbWUtdG9vbHRpcCIsNDU5NDc6ImxpbmUtdG9vbC1nYW5uLXNxdWFyZSIsNDYxNjk6InVwZ3JhZGVEaWFsb2ciLDQ2MjUwOiJsaW5lLXRvb2wtcGFyYWxsZWwtY2hhbm5lbCIsNDYyNjA6InB1Ymxpc2hlZC1pZGVhLWJhbm5lciIsNDYzODM6ImNyZWF0ZS1lcnJvci1kaWFsb2ciLDQ2NjUwOiJ0YWJsZS12aWV3LWRpYWxvZyIsNDY3Mzk6ImxpbmUtdG9vbC1maWItd2VkZ2UiLDQ2NzcyOiJjaGFuZ2UtaW50ZXJ2YWwtZGlhbG9nIiw0NjgzMjoiYWdncmVnYXRlZC1iYXJzLWNoYXJ0Iiw0Njg4MjoidGFibGVjb250ZXh0LW1lbnUiLDQ3MzkwOiJsaW5lLXRvb2wtdGltZS1jeWNsZXMiLDQ3NTM4OiJzdHVkaWVzIiw0NzU1OToibWFuYWdlLWRyYXdpbmdzLWRpYWxvZyIsNDc1Nzc6InNob3ctbmV3cy1kaWFsb2ciLDQ3NjkyOiJsaW5lLXRvb2wtaW1hZ2UiLDQ3NzIzOiJjaGFydC1hY3Rpb25zLXByb3ZpZGVyIiw0Nzk2MToiZGVjbGFyYXRpb24iLDQ4MDAyOiJjb250YWN0LXdpZGdldHMtZGlhbG9nIiw0ODAyNzoidHJpYWwtY2FuY2VsZWQiLDQ4MTc4OiJzdXBwb3J0LXdpemFyZC13YXJuaW5ncyIsNDgyNTU6ImNoYXJ0LWZsb2F0aW5nLXRvb2x0aXAtYWN0aXZhdGlvbi1oaW50Iiw0ODQxMzoic3VwcG9ydC13aXphcmQtaGlnaC12b2x1bWUtaW5mbyIsCjQ4NTUyOiJ2aWRlby1iYW5uZXItZGlhbG9nIiw0OTY1MjoibW9uYWNvLm1vZGVsLnNlcnZpY2UiLDQ5ODM5OiJzb3VyY2UtdGFnLXBvcG92ZXIiLDQ5ODgzOiJicmFuZGluZy1zb3VyY2UiLDQ5OTc0OiJsaW5lLXRvb2wtYmFsbG9vbiIsNTAxODI6Imdsb2JhbC1ub3RpZmljYXRpb24iLDUwMjY5OiJjaGFydC10ZXh0LWVkaXRvci1yZW5kZXJlciIsNTAzMTc6ImxpbmUtdG9vbC1waXRjaGZvcmsiLDUwNjI1OiJnZW5lcmFsLWNoYXJ0LXByb3BlcnRpZXMtZGlhbG9nIiw1MDkyNzoibGluZS10b29sLWdob3N0LWZlZWQiLDUxMjYzOiJ2aWRlby5qcyIsNTE2ODY6ImN1c3RvbS1pbnRlcnZhbHMtYWRkLWRpYWxvZyIsNTIwODY6ImxpbmUtdG9vbC1nYW5uLWNvbXBsZXgiLDUyMDk0OiJzeW1ib2wtbGlzdC1jb250ZXh0LW1lbnUiLDUzNTQ3OiJwcm9tb3Rpb24tZGlhbG9nIiw1Mzc3MDoiZ2V0LW1lZGlhdG9yLWFwaSIsNTM4ODE6ImdvLXRvLXRyYWRpbmd2aWV3LXJlZmVycmFsLWRpYWxvZyIsNTQxNjA6InNob3ctcGluZS1kaWFsb2ciLDU0NjE1OiJyZWZlcnJhbC13ZWxjb21lIiw1NTM1NjoiZ2xvYmFsLW5vdGlmaWNhdGlvbi10b29scyIsNTUzODE6ImNoYXJ0LWJvdHRvbS10b29sYmFyIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU2MzgyOiJ3aWRnZXRiYXIiLDU2NDA5OiJsaW5lLXRvb2wtZ2Fubi1mYW4iLDU2OTQ2OiJvcGVuLXJlcGxheS1wcm9wZXJ0aWVzLWRpYWxvZyIsNTcyMzQ6ImxpbmUtdG9vbC1maWItc3BpcmFsIiw1NzQ4NDoicHJvZHVjdHMtYnV0dG9uIiw1NzYzOToibWluaS1jaGFydC1zeW1ib2wtZGF0YSIsNTc2NzQ6ImFsZXJ0cy1jaGFydC1hY3Rpb24tY3JlYXRvcnMiLDU3NzE0OiJ1c2VyLXN0YXR1cy1kZWNsYXJhdGlvbiIsNTg0MTg6InNob3ctZG9jdW1lbnRzLWRpYWxvZyIsNTg2MTM6ImNoYW5nZS1wbGFuLWRpYWxvZy1pbXBsIiw1ODgxNzoidmFsaWRhdGUtaW50bC1hZGRyZXNzLWRpYWxvZyIsNTkzMjg6Imx0LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDU5NTA3OiJwdWJsaWNhdGlvbi1hZHZlcnRpc2VtZW50Iiw1OTYzMDoiYXN5bmMtZ3ppcC53b3JrZXIiLDYwMzE3OiJiYWNrdGVzdGluZy1zdGF0aWMiLDYwNDkzOiJ3YXRjaGxpc3Qtd2lkZ2V0Iiw2MDU0ODoiZWRpdG9yLndvcmtlciIsNjA5Njk6ImVycm9yLXJlbmRlcmVyIiw2MTEyNjoiZ2V0LXNjYW4tZGF0YSIsNjE1MzM6InN0b3J5LWl0ZW0tdHJhbnNmb3JtIiw2MTg3NzoibGluZS10b29sLWJlemllci1xdWFkcm8iLDYyMDY4OiJmaW5hbmNpYWxzLXNvbHV0aW9uLWlkLW1hcCIsNjIyMzQ6Im5zZC1pbmZsYXRlLXBha28iLDYyMzYzOiJtb25hY28uZWRpdG9yLmxvY2FsZS50ciIsNjI1NTc6InN1cHBvcnQtd2l6YXJkLXdoYXRzLW5ldy1wYWdlIiw2MjgxMToid2FybmluZy1wb3B1cC1pbXBsIiw2MjkxNDoidm9sdW1lLWZvb3RwcmludC1zdHlsZS1wcm9wZXJ0eS1kZWZpbml0aW9ucyIsNjI5NDM6InJlYWN0LXBvcHBlciIsNjI5OTc6ImxvbGxpcG9wLWNoYXJ0LWV2ZW50cyIsNjMwODg6InBpbmUubW9uYXJjaC52MyIsNjMwOTQ6InN5bWJvbC1kZXRhaWxzIiw2MzE1OToic3RhY2tlZC1jb21wYXJlLXN5bWJvbHMtY2hhcnQiLDYzNTk1OiJ1c2VybmFtZS1oaW50cy1saXN0Iiw2MzYwNDoibGluZS10b29sLXBvc2l0aW9uIiw2Mzg3NToiY3JlYXRlLXB1Ymxpc2gtdW50cnVzdGVkLXN0cmF0ZWd5LWRpYWxvZyIsNjM4ODU6ImN1cnJlbmN5LWxhYmVsLW1lbnUtZXZlbnRzIiw2Mzk2ODoic3ltYm9sLWluZm8tZGlhbG9nLWltcGwiLDY0MTU4OiJsaW5lLXRvb2wtY3Jvc3MtbGluZSIsNjQxODU6Im1vbmFjby5lZGl0b3IubG9jYWxlLnBsIiw2NDU4ODoibGluZS10b29sLWZpYi10aW1lem9uZSIsNjQ2MzI6Im9mZmVyLWJ1dHRvbi1sb2dpbi1zdGF0ZS1jaGFuZ2UtaW1wbCIsNjQ2NDQ6InJlYWN0Iiw2NDg5MDoibGluZS10b29sLWJhcnMtcGF0dGVybiIsNjU1ODg6ImNoYXJ0LXdpZGdldC1ndWkiLDY1NjIzOiJwb3Atb3ZlciIsNjU2NDY6ImZvcmVjYXN0LXF1b3Rlcy1zbmFwc2hvdGVyIiw2NTkwOToicGVyc2lzdGVudC1sb2dnZXIiLDY1OTQ3OiJ2YWxpZGF0ZS1hZGRyZXNzLWRpYWxvZyIsNjYwNDA6ImxpbmUtdG9vbC1jb21tZW50Iiw2NjI4NDoibWFuYWdlLWFjY2Vzcy1kaWFsb2ctY29udGFpbmVyIiw2NjM5OToic25vd3Bsb3ctdHJhY2tlciIsNjY0NzI6InB1YmxpY2F0aW9uLXZpZXctcG9wdXAtbWFuYWdlciIsNjY2ODc6InJlY2FwdGNoYS1wb3B1cCIsNjY4NjY6InRwby1zdHVkeSIsNjc0ODQ6InNob3ctYWx0ZXJuYXRpdmUtZW1haWwtcG9wdXAiLDY3OTU4OiJwaW5lLWVkaXRvci1kaWFsb2ciLDY4MTU1OiJpbWFnZS1kaWFsb2ciLDY4MjAxOiJob3RsaXN0LXdpZGdldCIsNjgzODE6InN0dWR5LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDY4NDgxOiJzeW1ib2wtc2VhcmNoLWRpYWxvZyIsNjg1MTk6InNob3ctZm9yd2FyZC1jdXJ2ZS1kaWFsb2ciLDY4OTgyOiJhbGVydHMtd2FybmluZy1kaWFsb2ciLDY5MjQxOiJtb25hY28uY29uZmlndXJhdGlvbi5zZXJ2aWNlIiw2OTQ4NjoiY2xlYXItY29udmVyc2F0aW9uLW1vZGFsIiw2OTg3NDoibG90dGllLndvcmtlciIsNjk4ODE6Indyb25nLWFjY291bnQtZGlhbG9nIiw3MDA1OToibGluZS10b29sLXZvbHVtZS1wcm9maWxlIiw3MDUzMjoiaW52b2tlLWFsZXJ0LWVkaXRvciIsNzA5MTc6ImVkaXRvci1iYXNlLWxheW91dCIsNzExODU6ImJhc2ljLXF1b3Rlcy1zbmFwc2hvdGVyIiw3MTE5MjoicXVvdGUtdGlja2VyIiw3MTMxOToiYWxlcnRzLWNvbGxlY3Rpb24iLDcxMzc1OiJwcmljZS1zY2FsZS1tb2RlLWJ1dHRvbnMtcmVuZGVyZXIiLDcxNTY1OiJwdWJsaWNhdGlvbi12aWV3LXNjcmlwdCIsNzE1OTY6ImxpbmUtdG9vbC1nYW5uLWZpeGVkIiw3MTYzMjoibGluZS10b29sLXRyaWFuZ2xlLXBhdHRlcm4iLDcxNjYyOiJsaW5lLXRvb2wtaG9yaXpvbnRhbC1yYXkiLDcxNzUzOiJjaGFydC1leHBvcnQtZGlhbG9nIiw3MjExMToicGluZS5tb25hcmNoLnY0IiwKNzIxODY6ImxpbmUtdG9vbC1wcmVkaWN0aW9uIiw3MjI2NDoiYWxlcnRzLWVycm9yLXByZXNlbnRlciIsNzMyMzQ6InN0dWR5LWlucHV0cy1wYW5lLXZpZXdzIiw3MzIzNjoicGxheWVyLWN1c3RvbWl6ZXIiLDczMzAwOiJjb250YWN0LWJyb2tlcmFnZS1pbnRlZ3JhdGlvbi1kaWFsb2ciLDczMzk3OiJsaW5lLXRvb2wtcHJpY2UtbGFiZWwiLDczNDgwOiJmaXJlcy1hY3Rpb25zIiw3MzY0NDoiaWdub3JlLXVzZXJzLWRpYWxvZy1saXN0Iiw3MzY3ODoiZGV0YWlscy1tZXRyaWNzLWFjdGlvbiIsNzQyMTg6ImFsZXJ0LWxhYmVsLWNvbnRleHQtbWVudS1hY3Rpb25zIiw3NDM0MToidGVjaG5pY2Fscy1kaWFsb2ctY29udHJvbGxlciIsNzQzNjQ6ImNvbnRleHQtbWVudS1yZW5kZXJlciIsNzQ0MDk6ImxpbmUtdG9vbC10cmVuZC1saW5lIiw3NDUyMzoic2hvdy1mb3JlY2FzdC1kaWFsb2ciLDc0NTcwOiJsaW5lLXRvb2wtZWxsaW90dCIsNzQ4Nzg6ImxpbmUtdG9vbC1maWItY2hhbm5lbCIsNzQ5NjI6InNob3ctdGVjaG5pY2Fscy1kaWFsb2ciLDc1NDM5OiJnZW5lcmFsLXByb3BlcnR5LXBhZ2UiLDc2Mjc0OiJzaG93LWZpbmFuY2lhbHMtZGlhbG9nIiw3NjY2MzoibW9uYWNvLmtleWJpbmRpbmcuc2VydmljZSIsNzc0Nzk6ImxpbmUtdG9vbC1icnVzaCIsNzc1ODg6ImNoYXJ0LWV2ZW50LWhpbnQiLDc4NzE3OiJwaW5lLm1vbmFyY2gudjYiLDc4ODQxOiJtYXRjaGVyUHduZWRGYWN0b3J5Iiw3ODg3NzoicGF5bWVudC1vcmRlci1kaWFsb2ciLDc4OTA1OiJzZWFzb25hbHMtY2hhcnQiLDc5MTM0OiJsaW5lLXRvb2wtcHJvamVjdGlvbiIsNzk0NzY6ImFsZXJ0cy10cmFja2VycyIsNzk2MTU6InZlcnNpb24taGlzdG9yeS1kaWFsb2ciLDc5NjcxOiJzaG93LXRoZW1lLXNhdmUtZGlhbG9nIiw3OTkwMjoibHQtc3RpY2tlcnMtYXRsYXMiLDgwNzYyOiJjaGFydC1mbG9hdGluZy10b29sdGlwIiw4MDkxMjoiZGV0YWlscy1kaWFsb2ctcmVuZGVyZXIiLDgwOTM5OiJ0cmFuc2xhdGVkLXN5bWJvbC1kZXNjcmlwdGlvbiIsODEwNzY6Im1vZGVyYXRvci1hY3Rpb25zLWNvbnRhaW5lciIsODEwOTc6ImFsZXJ0LWxhYmVsLWFjdGlvbi1jcmVhdG9ycyIsODE0OTU6Imx0LXBhbmUtdmlld3MiLDgxNTU0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5ydSIsODE2MDU6ImFkdmFuY2VkLWNoYXJ0LWxvbGxpcG9wcyIsODE3NTg6ImxpbmUtdG9vbC1jeWNsaWMtbGluZXMiLDgzMTE5OiJsaW5lLXRvb2wtaGVhZC1hbmQtc2hvdWxkZXJzIiw4MzE3OToiY2hhdC1tZXNzYWdlIiw4MzQwODoib24tcHJpdmF0ZS1tZXNzYWdlLWJ1dHRvbi1hY3Rpb24iLDg0MDcwOiJzaG93LWVycm9yLWRpYWxvZyIsODQyMDY6InRpbWVyLndvcmtlciIsODQ0MzY6ImxpbmUtdG9vbC1pZGVhIiw4NDY5MjoibHNwLndvcmtlciIsODQ4Mjc6InB1Ymxpc2hlZC1jaGFydHMtdGltZWxpbmUtdG9vbHRpcCIsODQ5NTI6Im9iamVjdC10cmVlLWRpYWxvZyIsODUwNTc6ImFsZXJ0cy1zZXNzaW9uIiw4NTIyNzoib3BlbmVkLXNjcmlwdHMiLDg1NDgwOiJhbGVydHMtYWN0aW9ucyIsODU2NTI6ImhhbW1lcmpzIiw4NTk3NDoic2lnbmluLWRpYWxvZyIsODYwMDE6InBheXdhbGwtbWFuYWdlciIsODYyMzc6ImxpbmUtdG9vbC1hYmNkIiw4NjQxMzoicHVibGljYXRpb24tdmlldy12aWRlbyIsODY3NDA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZSIsODY5MTQ6InNwaW5uZXIiLDg3MTk2OiJsaWdodHdlaWdodC1taW5pY2hhcnQtc3R1ZHktZGF0YS1zb3VyY2UiLDg3NTA5OiJtZXNzYWdlLWRpYWxvZyIsODc2MDc6ImxpbmUtdG9vbC1kaXNqb2ludC1jaGFubmVsIiw4Nzg1MToic3ZwLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiw4ODExNjoiaW52aXRlLW9ubHktZGlhbG9nIiw4ODM1ODoic2VyaWVzLXBhbmUtdmlld3MiLDg4NDgzOiJsaW5lLXRvb2wtb3JkZXIiLDg4NTkwOiJvcGVuLXByaWNpbmciLDg4NjQwOiJzdXBwb3J0LXdpemFyZC1tYWluLXByb2JsZW0iLDg4Njk3OiJsaW5lLXRvb2wtZW1vamkiLDg5NDY3OiJjb21wYXJlLXN5bWJvbHMtY2hhcnQiLDg5OTYzOiJtaW5kLXBvcHVwLXJlbmRlciIsOTA0MTU6InN5bXBob255LWNvbW11bmljYXRpb24iLDkwNDcwOiJsaW5lLXRvb2wtdHJlbmQtYmFzZWQtZmliLXRpbWUiLDkwNTU4OiJsaXF1aWRhdGlvbi12b2x1bWUtc3RyZWFtIiw5MDgxMDoiYWRkLW1pbmktY2hhcnQtY29weXJpZ2h0LWltcGwiLDkwODY0OiJ1c2UtdXNlci10aGVtZSIsOTA4ODA6InJlbmRlci11bnN1YnNjcmliZS1kaWFsb2ciLDkxMjkyOiJwYXl3YWxsLW9wZW4iLDkxNjY4OiJzdHVkeS1wYW5lLXZpZXdzIiw5MTgzMzoiZW5kLW9mLXNlcmllcy1iYW5uZXIiLDkyMjI5OiJhbGVydHMtYWN0aW9uLWNyZWF0b3JzIiw5Mjc0Njoib3Blbi1zY3JpcHQtZGlhbG9nIiw5Mjc4NjoicmVhZG9ubHktbGlzdC1ub3RpZmljYXRpb24iLDkyODE3OiJtb25hY28uZWRpdG9yLmxvY2FsZS5mciIsOTI5MTY6Im9wZW4taW1hZ2UtZGlhbG9nIiw5Mjk2ODoiY2hhdGJvdCIsOTMwNjY6ImRpc2Nvbm5lY3QtbWVzc2FnZXMiLDkzMTU4OiJtb25hY28uZWRpdG9yLmxvY2FsZS5pdCIsOTMyMDY6InB1YmxpY2F0aW9uLXZpZXctZXJyb3IiLDkzMjQ4OiJhbGVydHMtcmVzcG9uc2UtbW9ja3MiLDkzMjc5OiJtaW5pLWNoYXJ0LWJhci1idWlsZGVyIiw5MzM0MDoiZGVsZXRlLWxvY2tlZC1saW5lLWNvbmZpcm0tZGlhbG9nLWNvbnRlbnQiLDkzNTI4OiJ0YWtlLWNoYXJ0LWltYWdlLWltcGwiLDkzNzY1OiJsaW5lLXRvb2wtdGhyZWUtZHJpdmVycyIsOTM4MDE6InRwby1wYW5lLXZpZXciLDk0MDg1OiJzaG93LWNvbW11bml0eS1kaWFsb2ciLDk0ODIyOiJzaG93LWRlcml2YXRpdmVzLWRpYWxvZyIsOTUwNjI6ImxvbGxpcG9wLWZ1dHVyZXMtY29udHJhY3QtZXhwaXJhdGlvbiIsOTUyMDc6InNub3dwbG93LXRyYWNrZXItYmFzZSIsOTU2MzQ6InBpbmUtcmVmZXJlbmNlLWRpYWxvZyIsOTU3NTY6InR2LWNvaW5zIiw5NTc2MDoibGF0ZXN0LXVwZGF0ZXMtdG9vbHRpcC1zdHlsZXMiLDk2MDc1OiJsb2xsaXBvcC1sYXRlc3QtdXBkYXRlcyIsCjk2MTExOiJkZWxheS1zdGF0dXMtdmlldy1tb2RlbCIsOTYzMzc6ImNvbnRhY3QtdHJhZGluZy1lZGl0aW9uLWRpYWxvZyIsOTY0Mjc6Im1vbmFjby5lZGl0b3IubG9jYWxlLmtvIiw5NjUxMzoibW9uYWNvLnZzY29kZS5sYW5ndWFnZS5jbGllbnQiLDk2NzI3OiJsYXp5LWpxdWVyeS11aSIsOTcyMDI6ImdvcHJvLW9yZGVyLWRpYWxvZyIsOTg1NTc6ImxpbmUtdG9vbC1ub3RlIiw5ODgzMDoidHdvLWZhY3Rvci1hcGkiLDk5ODA1OiJjb250YWN0LWFkdmVydGlzaW5nLWRpYWxvZyJ9W2VdfHxlKSsiLiIrezE1NToiYzhkODlmY2ZkZDdmNzFlMjE2ZDciLDMzODoiMTFjMTZhNzFkNGY1Mzk2OGQzNWIiLDU3NzoiOWEzOTYxYzE0ZjIyOTNmOTA5ZWMiLDk5MzoiYTc4YTRkY2E4ZTI0NDhmOGM2NzgiLDExMDA6IjMxN2VmZGMyOTg4ZjNhNGY2NzA5IiwxMTI4OiIzYTJmZDE3MzYzM2Y0NmY5YTBmYiIsMTIwMzoiOTYwMjRkNzJkYTQzNmUxZGIzMjciLDEzMzE6IjU0ZmQyYTU5NTJjODhmMzU1NWMxIiwxMzU4OiIzZGI3YjVmZWUwNTZlZjc1ZDdkZiIsMTQwOToiNTI4YTIyNDg2YmJjZmQ5ZmMzODEiLDE0Mzg6Ijk5ODQxNzkzMDg0YmNkNjdlNGMyIiwxNDY0OiI1Y2RhNGNkODg1ZDE5MzVjNWRlZiIsMTUyMToiNzI0YjUwYjBhMDg2YThiMWVmYzAiLDE1MzQ6Ijc0ZmZlMWU3MjVhNDY1ZDQzNDFlIiwxNjQ2OiI4YzgwMDA1YWYyMTU4YmQwODNkYyIsMTY2MDoiNTM4NGFmMmRmYTAzMDQ3ZTVkNTIiLDE2OTk6IjI1YjUzYTkyODVmMGExODhkNDA3IiwxODI2OiJhYjMwOGEyNjYwMWQ0ZmRmYzg5YiIsMjI4NDoiYzQ0YWE5MjY3YmU4ZGMxYzcxNzkiLDI1MDE6IjkzMmQ5NTRhMjY5M2Q4OGY2NWU2IiwyODUxOiJlNmJmMjAwMGQ0ZmI0YzgxMDAxMiIsMjg1OToiYjQwODQwYzU3ODA0YTRmZWY5Y2YiLDI5Nzc6IjQ4ODYzODRhYTZhOWYxZDE4Y2I0IiwzMDM5OiIyZmUyODdmYWJmZGU1ODgzYWU0NyIsMzM2NzoiYjdjMTI1MWZkMGI2OWMzMjE2NDIiLDM0MTc6IjVmZmNmN2Y2YTM2MTI1NDljYjVkIiwzNDY3OiI4OTU1MGMyYjkxZGRjNDgwMjkwOSIsMzUyNDoiYjJhYWFiOWVhMWFhMzIyMzA0MzUiLDM4MDY6ImE0ZTIyZjk0ZTRhNmY1ZDM5YWYwIiwzODUxOiJiYjNkNzkxZjgzZGUzNjZlZjZhMiIsMzk2MToiZjNiMGNlZjNhYzljZDhkMTEwMGQiLDQzMjM6ImY2MWNiNTIzYzllNWExZTBjNTNmIiw0NTUyOiJjOWRhYWZmZTMyOGQxNTRiYmJkNSIsNDg1NToiZThlYmE5YzZkNTMzM2YzNDVjOGUiLDQ4NzY6IjI3NGQ1NWEwMmQzMjQwODc2ODc2Iiw0OTg3OiIxYmY1YzI0NWZjYjkyMDEwODA4YiIsNTMzMToiN2U2ZmE2NGYxMGE0NDE4NGI3MGEiLDUzNDM6Ijc2YWI5NzQwYTFiMzRkZjQyODcwIiw1MzU1OiIyZWEzYzQ4YTMxOWVlMGZmNWI3OCIsNTgwODoiZjQ4MDBmYTkyNDZmNDA0NjIxZWUiLDU5MTc6ImMxMDAzZjM2ZjBiNDMwMTk0ZDNiIiw1OTc5OiI0ZjNlM2JmOWMzNDVjM2YzZTA3YSIsNjQyNToiYjcyZGI1MGM2OTUxZjZlM2U5OWQiLDY0ODk6IjdiZWQyMGU0NmNjZDdkYjlmZDM3Iiw2Nzc5OiI3Y2M3NGQ1MzNlOTFiZTJlZTdkOCIsNjg1MjoiMWQ1MDVjZTI2M2Y0ZWYxNGU1YWIiLDcyMTE6IjJmOTM0YjMwY2YzODY1MTcxNDQ2Iiw3Mjg1OiI4YmM4MjkyNjY1MjhmYTc0YWY1YyIsNzM5NzoiMDU5ZTYyMjkyNDAyMzI3MDE2YzQiLDc0OTE6Ijc4MTQ0MTczOGE2Y2QwNjE4ZmRjIiw3NTA0OiIxMjg4ZDFkMjhiMmY0N2Y3YWM0MyIsNzYwODoiOWRkMTQ2NDkyMmMxZTY1MTU2YTgiLDc2Mzc6IjNhMjY1OGEwYzIzM2ZiYjY0N2YxIiw3Njc2OiIwYWYxNjc3MzE5ZGI3MGE3MWNkZCIsNzcxODoiOWExZTRkODM4ZTIyMmEzYTI3M2UiLDgyMDg6ImE2MzYzYmNhYTNiMDIwNWRjYjRmIiw4Mjk3OiI4MGI0YzAwNzhmMjdlN2UzODYxOSIsODMzNjoiMDg4MDU0OWZiNGY5OWMxYWI0MWQiLDg0Njc6IjA4M2RkN2E1MTNkNzdkYjNkMzQ0Iiw4NjA4OiJkYTRjNjljMmFmODRmYjhmYzYyNiIsODcwNzoiMWFhYjlhNTFmNjVmOTQ5NTVjMDEiLDg5Mjc6ImNmYmZjMDM3OGY2ZGVjNjVhMTg0Iiw4OTQ2OiIwYmUyMGNmNWI1NjgzOGJkMWNkZCIsOTA3NToiYWEyZGNhYjQ4MzJkZDgyYjQ5YTIiLDkxMDc6ImY0MTQ5ZjMxOTYzZGNlZjNhNTg0Iiw5MjE0OiJlYWY4MWQ2MTRhMjAxODI0NGY1NyIsOTI3MDoiMzI5MTA2MzViYjM5YzY4NmY1YmUiLDk1OTk6ImU4NjZmYzcxYTRmNjlhZmVhMDliIiwxMDA0MToiYzMwZmRkZmVjNjk0ZGFhNjZlZjQiLDEwMjkwOiIxZjJmMTZkYWM4YTFiNDI5MTA5NCIsMTAzMjI6IjYxZTU3ZWZlMmZiNDA4OGZjYWU1IiwxMDMyNToiMDU0M2M4ODdlYTJiZTYzNzdkOGYiLDEwNTA1OiI5NjJmNmNlYjIyMGIzNjA4OTE3NiIsMTA2NDM6IjY2YTM3YTczMGQwMDdiMDNhYmYwIiwxMDcwNDoiN2ExYThhZDc0NzNkMWVkN2RlODYiLDEwNzg4OiJlYTYwMjk4MjhjOWMwODNkNDJlNyIsMTA5OTk6ImY3MjhjZTEyYmFiMGQxNWRlMWZhIiwxMTMwNDoiM2JkOTU0OGRmMWMxMjgxN2FmZWMiLDExNDM1OiIzNTM1OWU3NDU4YjgyMTI0NWY0NiIsMTE5MTE6IjNhMjM5ZTAyNGNlNjU0YjAxOTg5IiwxMjA2MDoiZGQxYTU2ZWMzMmIyMGYyOTg5YjciLDEyMTM2OiIxMmIwNTVkYTc0MTM1MzVjYjg5NCIsMTIyMjc6IjlkYzY3NjBjYjAzYmE0MWQ2OGYxIiwxMjQ0ODoiNGMxZTQzZGVhMDA4YjkzN2JmYzgiLDEyOTY1OiI0MDZlZTU5ZmEwMDlmMGU5YzI2YiIsMTNlMzoiOWNjMDgxNGQ2NWZjOWMxNDAyM2EiLDEzMDI1OiJhNjBjNDg5MWJmOTllYTQ3NjNjMiIsMTMxMjM6IjMzYzAxZjlkNTBiYTNjZmUxZGFhIiwxMzYwOToiNjQwYWUxNDQzNDkwYjZlZGM0YTUiLDEzNzE5OiIzMzIwOGFkMDk1Y2UyODI0MGE2OCIsMTM3MzI6IjVhZjFlZWE1ZTIwNDg4ZTI5MjA0IiwxMzgwNToiOWEyMDI5ZmIxYTM3N2Y4NmMyNGQiLDEzODM0OiIxMWZjNjU1YmQ5Y2VlNTM4ODQ4ZiIsMTM5ODI6IjAwMTQ0YzE1ODc1MDZjZWY2NWEzIiwxMzk5MzoiM2IxOTljNmFkOGJmNWMzY2FjNjciLDE0ODg5OiI2MjEwYjFjNTZkYzNiMjBjOGZmYiIsMTUxNjA6IjRiZDQzOGFlMjEyNTFlNWRjMDc2IiwxNTE3MzoiZmY5NzNmNDZmZWRjYzIwMWU5ZDAiLAoxNTE5NjoiYjdjZmUzNTk4OTg5ZDQ4ZmEzNzUiLDE1MzI3OiJlMGRhZjA2ZmJkMTc5NjE5ZjI1YyIsMTUzOTQ6ImZhY2Y3NTNlOGNkZmI5YjkwODMxIiwxNTQ1NzoiOGIwMDMxMGNiNTc4YzdhYmJkYmIiLDE1NzM0OiJhZGMyOTQ0N2UzYmVkZWZkYzAwZSIsMTU3Njc6Ijk4ZjhmZTk2YmI3OGZlNTA4ZTA3IiwxNjAzMToiOTk4Njg0NmIwNDNmYjExYjZmYTgiLDE2MDc2OiI2YTYyYTY0YTVhYmYxNTIyNDNhNCIsMTYxMjY6IjY2N2YxZjVhZmIxY2NhOWExNzVhIiwxNjI5MjoiMmE4ZWIxNzM5ZTU4ZGI1YzFlMDYiLDE2Njc4OiIwMzdjMTdmZDZlYWNhNTgxOGVjNiIsMTY4MTM6IjdlNDUyN2JjNTUyMTllYTNhZDc2IiwxNjk0OToiMThhMjU2ZWEzNjUxYzkyNGUzNDYiLDE3MDI4OiI0NjQ5NTg4YzAyYjBmZGE0MmY5ZiIsMTcyMjY6ImFiOTVmZDg4YjJkMTNlN2Y5ZDkwIiwxNzMzNjoiODY3ZTViOTE2NjBhYjQ0ZDExYjMiLDE3NTE1OiI0MTg2MmViMWY5YWJjZDc5ZGUxOCIsMTc2MzM6ImNkMzIwYTA4ZDdhZmI1YTdhZGE1IiwxNzc3NzoiMTQ2MTFhOGQzNDYwNGU5YWNiMDEiLDE3Nzk3OiJiMmYyOTQ1MDAwYWNhYWYyZDE2NSIsMTc5MDk6IjQ3NWVlYzBlNTA0ZjExZTVjMDc2IiwxNzk5MToiYTMwN2JmZTAwMjM0ZGM0MTliZmQiLDE4MzA0OiI0MTZmMGI3NGNiNGY1N2JjMzY2NiIsMTgzMTE6IjM2ZDE3MjNkZDVmMmNmOTY3MjIzIiwxODUxMjoiYTNiY2RjNzFjNjg2MDFiN2RiZmMiLDE5MDEyOiJiNzZjNTlmZGFjYmFiYWJhZjM0OCIsMTkxNDM6Ijk3NjQwYjk2YTg2NTMyNWVjODkwIiwxOTIxMzoiODFlMjk4Nzc5MDgyNDdjZTRjZGUiLDE5MjYxOiJiZDMzYmIxMDcwNDc4N2I3ZDVlZSIsMTkzMTE6IjYyOGM2ZDNmNzZkYWM4ODJlODJkIiwxOTMxNDoiMjNmNGQ0NDhhMGNmNjBhMjNjNzMiLDE5NDYzOiJjYjlhODI1NzdjZTgxYjQ2OTJkMyIsMTk3MjI6ImJlMjY5ZmQ0OWU5YzI1OGUyZDkyIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDE5Nzc2OiIzMjViMjUyMGFjOTBkNTdjNmNmZCIsMTk4MDA6Ijk4ODI0N2E0M2I5MzcwMjFhN2I4IiwxOTgxNjoiZmI3MzI4MmJlNmJhZWE0N2UyM2QiLDE5OTM4OiI1ZTU0MWY5MGJjZWIxYTdhNzU1YiIsMjAyNDc6Ijk1MDg1ZWEwOTJmM2EzYmJhNTA4IiwyMDMzMToiNzQwMzVmZTkyOTcxODFhMTI3ZGIiLDIxMTA2OiI1NGMyODc3ZDZhZGY0MjdkZmJjNyIsMjEyNjA6ImQwOTU1YWFlNzVmODdkM2JkNDIxIiwyMTQyNjoiMTgyNWU3YTg1MGIzZjk1MzllNTgiLDIxNTk2OiJmNDk5YmQwMTM2ZDg4NGVjOGYwMCIsMjE3NjY6IjMzNjQ5ZGY0ODlkMGI4YzMyNDc0IiwyMTk3NzoiOGY1NDE4MDMzYzliZWI5MGU4ZmMiLDIyMDIwOiJlYTZkMDM1ZjRmZGU3YWZhNWQ0ZiIsMjIxNjM6IjMxZDc3NmM3ZDdjYTY2YWI3Njg3IiwyMjI3MToiZWM1M2ExMDUxMjdlNGM0MmQ0YTEiLDIyMzQ3OiI2YTAwNzFhMzkwNzAxOWQ2ZjNmNSIsMjI1MzI6IjBjYTk2ZDBlNWUyNjM2NTA3NWFhIiwyMjU0NzoiMjBjNWM4YWQ3NTg3NzQxNWUxNDkiLDIzMTE0OiIyZWRjYjc5NTRlN2Q4MGE5ZWU2YiIsMjMzNjQ6IjgwMmNkYWRhNzQ4NDU3Y2JmZGQ5IiwyMzc0MzoiNDczMzEzN2FmMmYyMzJhNmEzNGEiLDIzNzY5OiI2NmNlZTY1YTJhODYwYTMwNmQ4OCIsMjQwMTM6IjVjODcyNDUzODI5YTY1MGFiYmZlIiwyNDA0NDoiMzk3NDVhYzQ3ODlkOThkOWY2MDAiLDI0MTA4OiI3NDliNDBkMGMwNjFhMmEwNDUzNiIsMjQxMzc6IjM5NjBiYWRhNGIzZTBiNDdjZTNmIiwyNDI2OToiYzBhNzBlMmU2YTRhZTkxODYzMDQiLDI0Njk4OiJiZDk1NzA3MzA5NWJhYjdkYTU5NiIsMjQ4Nzk6ImNlN2ZlYmRiNGIwZjMwN2UyMWU4IiwyNDk5MDoiNDg2NjlmNWZjODk3YTY3YTNlNzciLDI1MjM3OiJhNmQxMDY4ZWNiZmZjMjA1MDY2OCIsMjU0NjM6IjI1N2E0MGQ0YjRjMWFiYTEwYjdkIiwyNTQ4MjoiYzVlZmZkZDI3MTAxODExMTY1NTgiLDI1NTU3OiI0Yzc4MTkzN2MxMTE0YmRmOTNkYyIsMjU2Mjg6IjA3YjhjYWNkZTliNTBkZTkxOGQwIiwyNTYzNDoiZjNlYTQzMzA4NGI2ZDRlNmMxMTMiLDI1NjQ4OiIzYTUwYTFlZjk4YzJmNTliMzRmMyIsMjU4NTQ6ImE2N2M2ZDVjZjMwZWIyYzkxYzk5IiwyNjA2NjoiMGYxZjFjYjE5YWY5ZmYzYWY4Y2MiLDI2MDcwOiI2NmMzMzk1MzFiODZmOGNkMmNmNyIsMjYxMTg6IjNmNGIwZTVkZTA0NWQ2YmQ4Mjk1IiwyNjE0NToiNzIxMWZmNTgwOGYwYTE4YTFlOWQiLDI2NDczOiJlNjkyZWM0YTUzMjljY2U2MWFjMyIsMjY1MDE6IjVlYzk4NjI0ZWQ3OTE0NjFjZDhhIiwyNjcyMzoiOGE2ODA3MmM3N2VjMDAyNjc5MDUiLDI3MDUyOiJiMzc2OTg1MjEzZGI3NDU5Y2Y3OSIsMjcxMTg6IjhmOTM4NjhlZTZkZGJmNjllNWQ2IiwyNzg5MToiYzBkMjY2YjY2MzJjMGRiODU4NzgiLDI3OTEzOiIyOTE4NjEyMjcyMmNmMGNjYjlkYyIsMjgxNzY6IjIxMzQyODY1ZTc0ZmZiZWZmZjQ0IiwyODQ0MjoiMGIwZTc4YzA4NzVkYjg0NDA3ZDciLDI4NDk4OiJjM2U3ZjQzMDhlMzc4ODU5MDYxMiIsMjg1MDc6ImU5ZTVlZWQxMDhkYzliMGJiNGE3IiwyODY2MDoiNDkzNTFjMjNiNGQyMDkxNmJlOTkiLDI4NzE1OiJlZDI5NmNhNGNlMTA2OTYyN2Y4YiIsMjg3MTg6IjRiMTlmMWZhMGIwOGE5MjkzMGZjIiwyODg2NDoiZjI4ZThlOTQzOGIwMGY5ZDYxZmEiLDI5MDc0OiIxMWYxYTM4ZWJkNmQxNjEzZTQxYSIsMjk3NjU6ImNjNDMwZjQ4OTczZmY4ZDYyZWM2IiwyOTc5ODoiMGFmMGMzNDRmNzRlYjE3YjEwMDUiLDI5ODQ0OiJhOWNjN2U5NzA0ZjkzMWQ2MmJlMSIsMjk4OTY6ImM4MjZlMDIzNTQ3MzVkZTk0ZTk4IiwzMDAzNDoiMWU0NDMxYjg0MDI0ZjExYmRlY2UiLDMwMzA0OiI4OTZiZTI1YWE5MjFhODIxNGUyNCIsMzA0MjE6IjQxMmMzMTlkZGJhZGNjOTk1YzcxIiwzMDY5OToiMTM4NmRmYWE3OGU2ZTVmNmM4N2MiLDMwNzc0OiIzNjliM2I1NjM0NGIzMTQ3ZGRhMSIsMzA5NDY6IjdlYWExZDdmOThlZmZjNTBjZjQ4IiwzMTE1MjoiZmEyMjI3MWVmMzYzMTNkZGMyNjkiLDMyMjczOiIzMjVlMGM3ZTVkY2UwNzVhNjg4YSIsMzIzODc6IjQ3YWNlODNjNjFhODg0MzQxY2Q2IiwKMzI2MTM6IjcyMzBkNzNlZGE2NDk1ZjlhOTBkIiwzMjk3NToiOTgwNzhhNmRmYTFjYzliNjRjYjkiLDMzMTI0OiJhZTUwYTg5ZWI5ODU1MGJhOGE2NSIsMzM0MTA6ImNjZWVhZjc4NWNkOTdlMDgzN2U2IiwzNDA0OToiNTc2MjlkMjM3ZGZhOTAxZDEyMjMiLDM0MTAxOiIwZDA0Y2RiYTM5ZTMzMTNlNDdiMSIsMzQxODk6IjAxNmJjODQ5ZjQ2MGI2ZGNjZjQzIiwzNDU1NToiODI1OWYzYTM4OWFhYzhjNDk2NTEiLDM0NjQ1OiI4NDFlYTYxNjg4ZWViYmJkNjk2YSIsMzQ2NDc6ImE4YWEyZTYwMzdjMmJiMTBlZmUyIiwzNDY1NDoiYTQ3YjBiMjMyZWVjMDZiZTYyMTgiLDM0ODc5OiIxZTZjZjFmNWE5MzU4ODgxZGU2NyIsMzQ5Mjk6IjQwNDkxN2UyNTEyY2ZiOGQxMjdjIiwzNDk1NDoiZWY5ZTY3MGJkMmYxNGM1NTNiOTgiLDM1MjUyOiIzOGI1N2EyYjdhYTA1MWMxMDA5ZiIsMzUzNDQ6IjM5OWQ1ODMwMmUyNWFlMzlmZGRiIiwzNTM5MDoiMjQxZmIxNDFhY2Q2NTVhNWRkYjAiLDM1NDg1OiIwMTZkMGJhY2RhNTJhYTM4ZjBhNyIsMzU1MzU6ImRiNDlkMDNiYzdiMDRkMTk3Mjk0IiwzNTU5MjoiZTI3MTFmNjViNWU0ZTQyNmM5MGQiLDM1NzkwOiIxOTNjZDhhMjg0YjVmNWFkZjE1ZCIsMzU5MjI6ImNiZWU1ZDY2ZDIyMGYzZTg1ZjA1IiwzNTk2NDoiNjc0YmE3ZDI2M2JhOTA0YTcyZmUiLDM1OTgwOiJjMzQwNDJhNGExMGNiNWZiMmUzZCIsMzYzNjc6IjJjODc5NWQzY2FkMzZkYTkzZWUyIiwzNjY4NToiNjkxN2ZjZmY5NjIzNzA3MDY0OTUiLDM2ODA0OiI2ZTdlYjAzYmFmZjhhYzU5Y2YwZiIsMzY5Mzg6IjU4NDU2ZGEwY2RiNGJiOWJiNDg1IiwzNzEwNjoiOWZhYTBkNTlkM2NmMWJiOGY5NzgiLDM3MjEzOiJiYWI3YmMxN2YyZTQzNjM4ODMyYyIsMzcyNTk6ImMyNzQ5MDZkY2EwY2U3OTNiOWQwIiwzNzc1NjoiY2RiZGZhYjRiZjdiMTcxYjZkYTAiLDM3ODc3OiIxYTcxZGNjOTBmOWQwZjI3YTcxOCIsMzgwMTY6IjkwZmY3MTRlMjMzNGRhOGE0NWFhIiwzODA4NjoiOTkwYjAxM2FlMzI1YTliNTA5OWEiLDM4MzMzOiIwY2I1NDE5NzdiYzdlMjk2NTc4ZCIsMzgzOTg6IjAyNTUwYzFhNDhhYzkzNjBjYTlhIiwzODQ0MjoiYjA5ZDkxOTRmOGU0MGU5MDFmMGEiLDM4NDQ5OiJjYjdkMGU1YmVjYWQ1N2NkMzYzYSIsMzg3ODc6ImVlZmFiMWQzYWZiYjMzMjhmZWQ2IiwzODk3MzoiMzc2MmJjZjQ1ZWY5OGJjMTg1MDEiLDM5MTY2OiIyMTM0MzIwOWQ4NzUwZGEzNjkzYSIsMzkyMDM6ImJlMzhjNzdhOTE3ODE2NGI4M2RiIiwzOTIzOToiNTQ0OTViMTFiODEyZTRhZTBjZDEiLDM5MjUxOiIxZTg4OGQ4YTVmYzUxZDRhMjk0MiIsMzk0NDI6IjI3NDA5NjNiNzhlZTRhNGU5NjQwIiwzOTYwNjoiYzkzYzc2NWVmNWM1MWEzMGQwN2QiLDM5NjA5OiI4Y2UwZDc5M2IyYjYwYmU3YTRkNSIsMzk4NDM6IjFkNTZjYTNkYTA0ZjEzYmQwY2UwIiwzOTg1OToiNzgyMDViYTBhYWFiMWFjNTRkNDEiLDQwMTAxOiI0YzFiZGEyYWJiZmFiODQ3MzgyZCIsNDAxNTI6IjY4NjkwMDVlM2EzMzZhNDkyYTk4Iiw0MDI0MzoiOTYyM2Y0ZTRlNTVmYTYzNzViZDMiLDQwMjY2OiIyZmQwNjdjZmY3MDA1ZDExNjQ3NiIsNDA3NTQ6IjczNTY3ZjQ1Y2UzOGMxNWFjYWZkIiw0MTA2MToiNDIyNzJjNzIxODY3NTliZDVlY2EiLDQxMzI4OiJlN2MzNDgxZjNhMDY5ZmFhNmZkMiIsNDE1MjQ6IjUxZjkxMmVmMjA5NWQ3YTJjYTRmIiw0MTY3MjoiOWFlYmZhZDcyMzQ1Yzk1ODYwMjMiLDQxODE0OiJmZWQ1YjgyOGMwMzlmMzYzMjUxZiIsNDIxNzE6IjFjMDVkODE0N2MyMzBkODZiNGZhIiw0MjIxMjoiNDc1NGMyODA0YWI5YTk3OTc3NmIiLDQyMjg4OiI0N2VjYWVjYTEwMTJlZTNlMWQ4YyIsNDIzMjc6IjgxMzc4NmRhZmI5Y2M3YjA2NWNlIiw0MjQwMjoiMWZlN2M3ODE2NzZhNWZlMzllMTYiLDQyNDQxOiI5ZjY2NDM0ZTBkYTUwNWIzMjA5YSIsNDI0NTc6IjMyOGE4NTIzNzdkNjQ0NTcwYjBjIiw0MjYyODoiZGZjNTE2Y2JlYjUxZDVmYzQ2MWMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDI4MzY6Ijg1N2UwNTFmYmY4OGI4ZDcwODljIiw0MjkzNDoiOGQ2Y2EzMGM1N2JjNjYyNzI2NjYiLDQzMTgwOiI5N2YwNmFlYmUyMTA2Yzc0MDIzNCIsNDM0NTg6IjkzNGMxYzdkMjg2Mzg4MTBlNzIxIiw0MzQ5NjoiZjFkOWQ4NTFkOTE4ODJmNTg1MmMiLDQzODI3OiI2OThlZGJjMWQ5ZmM5ZjlmOThhOSIsNDM5MjY6ImQ3ZWQ3Y2RlNWViMzVmMGZlNGI4Iiw0NDE2MjoiMWU2MmJjNzNkZWQ4NTgxMmYzNDMiLDQ0MTY1OiJlNWZjNDJhMWE5MWZkYjY0Y2RjMSIsNDQ0Njg6IjEwZmUzNmExZjczYmJmN2EyMWJmIiw0NDc4MDoiNzlkMjA1MWQzYjg0Y2FlYWI0ZTYiLDQ1Mjc3OiJlYzZlMzYxOTNkMTM5YzVjNWY3YiIsNDUzMjI6Ijg4NTFhMmQyZTE1ZGI5MjFkNDhhIiw0NTk0NzoiYmQ4NWM2ZGRiMDZhMGFkNTAxN2QiLDQ2MTY5OiIxOTAzODc5YzIyMjFmY2FkY2JhOCIsNDYyMTc6IjNkODY0YmI0YTcwZDRkM2Q4NDBmIiw0NjI1MDoiYmRlZWIyMDAwYTdiZThjZmYzNmUiLDQ2MjYwOiI5YWEzM2I1MzEwNjcwMTVjNTM4NCIsNDYzODM6IjZkMGJlYTAxNGUyNDZhOWUwZjJkIiw0NjYwMDoiMjQzMmE4NTNlZjg1YjM1ZDRlMmYiLDQ2NjUwOiI3MTk2ZmFjNGY3NmRhZjVjMGYwMSIsNDY3Mzk6IjVlMDFhY2U0NThhZGMxNjMyNWViIiw0Njc3MjoiN2ExZTIwNWFkOWFkNTk1ZGMyOGMiLDQ2ODIzOiJhYmE1MWJkMTFkMjNkOWNmNjFlMiIsNDY4MzI6IjgyOGVkODY1NGU0OGRjY2ExYzkwIiw0Njg4MjoiMjJiYTExNTNlYTBmZmY3NTUyNzciLDQ3MzkwOiI0MWEwNmI5YTgzMjgwYTgyZTdkZCIsNDc1Mzg6ImM1MGYyOGViOWEzNDZlMDkzMjUyIiw0NzU1OToiZTQxMTYyNzM1YzU4NzdmNzYzZmUiLDQ3NTc3OiJhM2IyNjRmNWQxZDUwM2E1YmFiMyIsNDc2OTI6ImZiZTM4Yzc0N2M4ODk4Mjg3ZTgyIiw0NzcxMToiNzFkMTgwZDliMWI2ODFhYTQxZTgiLDQ3NzIzOiI4ZTcyYjRlZWQxMDY5NTM5YzcxMSIsNDc5NjE6IjdjNjk1YmVmZGQwMDc3MWZjNGVkIiw0ODAwMjoiYmE1MWRkODM2MjFiMGE0MDgzMDciLDQ4MDI3OiI2M2NlZGMzMzZmN2IxMDYzNzAwZCIsCjQ4MTc4OiI1MzlkNTQ2ZDNkZDQ5NjVjNzJkZCIsNDgyNTU6ImY5MjVlZWU4ZGFjMTVhMWQ2YWNhIiw0ODQxMzoiZjNmMWMxNzJlMTU0Mjk0ZDE3NjIiLDQ4NTUyOiI5MzRjZDE0N2JhMzJhNzVmYzQ3OSIsNDg2MjA6IjFkY2Q1MmE5NGQwNGE3ZTEwN2RjIiw0ODY1MjoiOTQ4NzE0OGNhOTczYThjZTRjYWEiLDQ4ODU0OiJiMDczZjRmNTljZTlkZGMwOWRmNCIsNDk2NTI6IjU5OTg4NTU3YjAzYjNjYmVjNGIzIiw0OTgzOToiMjZmZmRlNjk3NTAyNTJhNGQyMmYiLDQ5ODgzOiI4M2I3ZGJjZjMyYzRjY2I0NjZiYyIsNDk5NzQ6ImYwZGJkOGIxYWRiY2ZlZGYxM2Q0Iiw1MDA0OToiNGNjOTBmNWQ3MjY4N2MxZjkyNDgiLDUwMDc3OiIxNjA3YjBiNGM3MzUzOTJjYjc4NyIsNTAxODI6ImE3YTlkNDExYWUyNzNmMzA1MTMyIiw1MDI2OToiZGU3OWZhOTU5M2I1ZWJmNjg2YWIiLDUwMzE3OiIxOWQ1YzcyZDU3NDBkODFhNjg0OSIsNTA2MjU6IjAzZDc3NjI1MGM0ZmZkNGRhMTNjIiw1MDkyNzoiNWY0ZDI1ZDEwZmI2ZjcxNTY3ZTUiLDUxMjYzOiIwY2JiMzBkMTk3NmU4ZmU3MTZiMiIsNTE2ODY6ImE1NWM4ODM1MGU4NTQ3ZTFhNDQyIiw1MjA4NjoiOTNkNTQ5MTgzNmMwODcyY2MwOWEiLDUyMDk0OiIyYWViOGQyZjI3NzgwZmQxMjBjYiIsNTI1MDA6IjAwNTlkOGUwZDFiYmRkMGY5NDhjIiw1MjUwOToiNDA2NTk0NzBlNTFiMDY1ZDUxMzkiLDUyODExOiIyODcwMGQ0MWY0Njg3YmU4MTU5NyIsNTI4NDM6ImEyOTk1ODU2MGVhYjYyY2Q5ZjA3Iiw1MzI5NzoiYTZmNjU0N2NkYWQ4ZDM3OTcxZmMiLDUzNTQ3OiI2MDg3NmQ2ZGQyZWY5Y2IzOWIzYSIsNTM2NTM6IjAzMGFkNTQ5OTcwMTUzNDMwZjkwIiw1Mzc3MDoiYmNjZGYyODhjYTFmMjA1NGUxNDUiLDUzODgxOiIzYmNjMmU0ZmJhM2RiZWVjNjkxMCIsNTQxNjA6IjM4ZGFjYjFlZDNiZTBiMGYwMThhIiw1NDYxNToiYTQ2ZDM5M2NlY2Q1MGMwMjZmOTkiLDU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUyNTM6ImEyYWVmZjhhYTliNTk2MzM0YjJmIiw1NTM1NjoiNjU4NTkxOWQ4ZTlkOWU5Yzc4NWMiLDU1MzgxOiI4ZGMzODYwZjViZTVmZWQ5MDRmZCIsNTU5NjA6IjMwZTY0ZjM2MTZiZTIyNTYwY2MyIiw1NjAwODoiNjUxOWMxNDg1ZWNiOWE2ZTc5OWIiLDU2MjE3OiJkZGI4ZDBkZTRhNjkwZWJiMDBlZiIsNTYzODI6ImRiMThlN2M0YzkxZGFmNjkxZGUyIiw1NjQwOToiOGYyNzhjNTM1YzRkOGY5MGU3ZjUiLDU2OTQ2OiIwZmU3MmNhYTk3ZTBhYzJkZTgyMyIsNTcwODI6IjZmY2M2YTU1YjVmMjg0YTljMmMxIiw1NzA5MzoiMjY2MDBjOTNiNjE3MWQ5OWI3MDAiLDU3MjM0OiI1YWRlM2M3ZjQ5MTU1NmJlZmQzYiIsNTc0ODQ6ImE3MGUxZjkyZDQ0MTgzNjk5ODlmIiw1NzQ4NToiODRmNzhiMGYxMzU5YmRlNWNjZTEiLDU3NjM4OiJiZWI4OTg5M2QzNGM3YzM3OTgyNiIsNTc2Mzk6IjM0OWNiZmE3OGQ2MTNjZDRmYjM1Iiw1NzY3NDoiM2IzMzdlMjI3MTYzNjZmZGEyNjEiLDU3NzE0OiIzMjU0ZDkwMDY5MTNhMjY4ZjU2OCIsNTg0MTg6IjdiODdiMDBhNDNjZGI1NjU4MTQ0Iiw1ODYxMzoiMzI3N2RkYTBiMmVhODkyOTY2YmIiLDU4ODE3OiI3ZTY1NDM0MTFiNmMxMzVjN2E4ZiIsNTkzMjg6IjEyNTRkN2ZmN2RkNmI1MTQ0NzM4Iiw1OTUwNzoiN2ZmZWIwZjliMmQyYTU3ZDA4OWYiLDU5NjE5OiJlZTYxN2U5MWY1YmRhMTRjNmFkMiIsNTk2MzA6IjFkYjgxNWUzNWE1MDk5ZDg0ZTI3Iiw1OTY0OToiOTJkZjVjNjY2MDU3MDcxNmM4M2IiLDYwMDExOiIxZTNjMzU0ZDY3MjlhOTgyZWVjNyIsNjAzMTc6IjA3NjY4ZTFkZmRhMWM0YjgyZjgzIiw2MDQ1MzoiMmYzNzY4NGNhNjhkODIzYmQ1N2QiLDYwNDkzOiI1ZTg2NjUzZTI5NTAzNzQ5NjAwYiIsNjA1NDg6IjE0NGMzMGQzMWQyMjhkMTJiNTUxIiw2MDg2NDoiZDE4NjQ5NDJhYzE4MjVjMzA1NjUiLDYwOTY5OiJkYzJjZTcxN2QwZTUwMjhiMzVmYyIsNjExMjY6ImQyMzExMjNlMDBiZWMxMzMwY2RiIiw2MTE4MzoiN2NiZDE2ZmJjN2M1MTkxNTkzNGYiLDYxNDk1OiIzN2VlN2QxODJjZjg0Y2FhNzY4MSIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MTY0NzoiZTkzN2U1Nzc5YmExNWIwOGJiOTIiLDYxODc3OiJmZWRkYjM4MWU0YjNkNThjNTU1MiIsNjIwNjg6IjdmYjVjMzhjMWVjYzQxMjU1ZjJmIiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyMzYzOiI5NmEzYjM5MWZhMzRhNmNjYzk3ZSIsNjI1NTc6ImNkMmFiMTNkYjk0YzRiODNjNjliIiw2MjgxMToiYjQ0ZTc1NDFmYjY5N2NiOGE3MTMiLDYyOTE0OiI3ZTU4Nzc5YTdhNDBjZjViYjUyYyIsNjI5NDM6IjU3ODAyMDQzNzRmNGQ5ZjMwODE3Iiw2Mjk5NzoiMTk3ODJhYjY1NjE0ZjZiOWIxYTciLDYzMDg4OiIxNGVkNmExZjNmODBkZmFkYTkxNSIsNjMwOTQ6ImQzNTFmYjg3NjM2MTIyYjAwNjIwIiw2MzE1OToiNmU3ZmYwYjZiYmJhNjYxZGUxM2YiLDYzMjkwOiIyYTMyY2I2YTliMmNmYmIyYTU0OCIsNjM0MDI6ImQzMGMxZTAwM2IwNTQ5MzBkMzJjIiw2MzU5NToiY2IxZjVkYjNiYzY3Mjc5MGIyOWEiLDYzNjA0OiJiYWM0NDhjYmE2NjZmMDNjOTM3OCIsNjM4NzU6IjRmMDVjMTNlNjQ1NDNlMzVkOGE1Iiw2Mzg4NToiNDRiY2FlOGY1NTYyMjUwOTJmMjYiLDYzOTY4OiI0NjNiZDJiZTM5ZjMzNWU4ODIxYiIsNjQwMjQ6IjUxOWMwYTNlZTdhZGFlMmJhYWExIiw2NDE1ODoiMjk0NjNmZmVmZTQ0ODU3YzBjNDAiLDY0MTg1OiI0ZDA2YTEyNDQ2MDlhY2Q0YzNkZCIsNjQ1ODg6IjY0YTVjYTM2ODc2MGU1ZWM1ZWY3Iiw2NDYzMjoiZDlhZjkyMzVjOWJjZmYzOWZjZmUiLDY0NjQ0OiI5MDk5MmM5ZDBkNWRjOTJjODliNyIsNjQ2NDg6IjM2MDkxNjE5Zjg3Yjk3OTI1NjYzIiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY0ODkwOiI1ZTljMjVkNDllNGI5NGFiNjc1ZCIsNjUxMDA6ImY0MjJlMWFkMDYwMTZkYjBkNDdhIiw2NTU4ODoiMTM0NjhlNjllMDRhODA1Zjk3Y2YiLDY1NjIzOiJmZjRmYjc0ODQyNWQyYzViOTZkOSIsNjU2NDY6IjFkZTdmYWJiMGQ0ZmUwOWU1ZTU3Iiw2NTkwOToiNWRmNDMyOTk1YTkxYzIzNzQ3N2IiLAo2NTk0NzoiMmVlMGE3MmMxZjI4YjQ5MjNiYjIiLDY2MDQwOiJiM2MzMzIxMjE2YWJhZDIyMThmZiIsNjYyMzU6IjIzYTgwYTJiZmZjY2Y1NDlkZmNkIiw2NjI4NDoiNDI1ODdiYTJmZDk5MGYxMTEzZTMiLDY2Mzk5OiIzZjY4NjU3ZDVmZmUyOWIyMWY2MiIsNjY0NzI6IjVlNjVkNGFlMDc2MjFhZmZlZjVlIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2ODY2OiI1YjY0NjBiZGRhZmNkN2ZhNTk1NyIsNjY4ODg6IjA2MDFjYmE1ZGQ4MmY5OGFhZmQwIiw2NjkzMzoiYzFiMWVkN2Y5NzVhYmRlNTY1OWMiLDY2OTg4OiI4NDU4YjZhMGI2YjZkYWI1NGVhNCIsNjcxMjA6ImE1NDk5NTVlOGRkMTY0NmU3YTQ4Iiw2NzIwODoiMTY0YmM1YmQzMzViM2NlNzI5NDIiLDY3NDg0OiI4ZDhiYzUzNGMwZmQyNmU1OTlkYSIsNjc4MTI6Ijg4OThlODQzY2ZhOWZjMWMzZDViIiw2Nzg1MzoiODBmZWEyMzkzMWJmNDY5YjExODciLDY3OTMwOiJmMGQ3N2MxNzIxZGM4ZmEwZDMzMyIsNjc5NTg6ImNlNTVmMjhhZWE4NWFhNThmZmUyIiw2ODE1NToiY2ZhNDAzZmQwZGVhZWU3ZjZjMjMiLDY4MjAxOiJkM2I2NmUxMzJmNTRkNWZlZjUwZCIsNjgzMDQ6ImY2NjU5NjkyNGRmNmU4OTE2M2JlIiw2ODM4MToiZGQzODJjNTdmNDZlYmQ0ZTBiMjEiLDY4NDgxOiIyYmQ1YWQ0YTUwZjExYzU1MTgxZCIsNjg1MTk6IjczNDlmNDBkODcyNzlmZGUyYjgzIiw2ODcyNToiZGY0NmQxNDBmZmNjZTVjYmVkYmYiLDY4NzQxOiJjYjhjMjQ0YmZiNjE0MGNjMTNiZiIsNjg5ODI6IjY4MWIwODk2ZjcwYzQ0MjU1YmE2Iiw2OTAzMjoiNzkyMTgwZDUxZWFhOGQ5OGI5ZTIiLDY5MTIwOiIzMjJhOGEzMTAzZDZmYzBiMTlkZSIsNjkyNDE6IjI3OGJmOWQyNjIxNGEwODU1NDg2Iiw2OTQ4NjoiOGZjMWM3MDg5YjJhNjg0NmJjMDkiLDY5Njk3OiI5NGY3YTNjNjhlNWI3MWU5MGFkMCIsNjk4NzQ6IjBhMjFlODBiNDQxOTY5OWFlODMyIiw2OTg4MToiMDY3N2UxNWMyOGRhZjVkNWVhZmQiLDcwMDU5OiI0NGVlMmQ0NzBmYjdmNWZjMDkyYiIsNzA1MzI6IjY2YjYwYWZhYWZkOWQzYzQyNGQzIiw3MDU5MDoiMDE3ODNiZDliMjRiMTU1YzhlMWUiLDcwNjQ0OiI0NDg3NDNkZWYzMjVmZWI2MTk2NyIsNzA3MTI6IjkyODAyOGM0M2JhOWI3MDdlODExIiw3MDkxNzoiOTI1MDVjYTk4YzhjM2ZlMWM5M2YiLDcwOTU3OiI1ZGVjMmFiYTdmZTY1MDYzMTczZiIsNzExODU6ImI0ZDIxMjJmYmZjMzA3YTFmNzcyIiw3MTE5MjoiM2Y1YmZhNTYwZjNkODY3NmFhMGUiLDcxMzAwOiJiNjcwOTQzMzk0MDMzOWRjMWY2NiIsNzEzMTk6ImZlNjMxMWI4MjJlMDc4ZjNjYzJkIiw3MTM3NToiM2Y2MTY2MTc5Mzc4OTU1OWI2MDUiLDcxNTY1OiI3MzRiMjc2Nzk1NGZhMjM0NDZlYiIsNzE1OTY6IjQ5OTViODZjYzgxYzE5NTA0ZTcyIiw3MTYzMjoiMTcxYjE0ZWQ1ZTc5MGFmZmQ5MzUiLDcxNjYyOiJlOTQ2MWJmODZlZGViZDllNDQxYSIsNzE3NTM6IjNjNGZlNmJmOGE2ZjJjOTljZWIzIiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDcyMTQxOiJkODE3ZjRiZTNiMTE4NWQwZWY0ZSIsNzIxODY6ImE1NmYxOGQ3MjVlYWFlMWZkMDcxIiw3MjI2NDoiZjFhNzNhNTY4MDUwOWVkNDYyZTciLDcyNjc0OiJkY2MxNzUyNTRlMGM2NjYyZGQxNCIsNzMyMzQ6IjhlMzFmMDU1OGFjNTc3NGQwYTJlIiw3MzIzNjoiY2I4MGU5YjM5NDJjOWQxMjZlY2UiLDczMzAwOiI2Mzk1NDI2MDFmN2RmNzgzY2MwNyIsNzMzOTc6ImRhNmRiMDY1NGM3MzhkMThiMDlkIiw3MzQ4MDoiMGNjYTU3MTFhNjIwMTAyNDk3NTIiLDczNTM1OiI5YWY2NTBlMDY5ZDNhYWZkNGY0YyIsNzM1NzM6ImMyMGViZmRiZDkzNzY4OTZmMzhhIiw3MzY0NDoiMmRkNWVmMWNiMWQ1YWIzYTVlNzMiLDczNjc4OiJkYmYxYWM0NmQwYzAwNzljZmY0YiIsNzQyMTg6IjhiZTcwODcyYTYwNWM4ZTZjNzc1Iiw3NDM0MToiMzM0NTUxN2Y2Nzk5ZWU2NDdjMzEiLDc0MzY0OiJkNTFjZWI4ZDEwNmE0OTUxY2NmMyIsNzQ0MDk6ImFkYmQ1ZmEwNzQyOTIyMGYxODUwIiw3NDUyMzoiMTBhYjlhM2UzYzYwOTBmYWI2MmMiLDc0NTcwOiI0Y2M3Njk4YjIzNjdhNjlkMzY0ZCIsNzQ4Nzg6ImNkMjI0NTA0MWNhZGYxYzcwZTBmIiw3NDk2MjoiNDJjYTY2ZDMwM2RkYzcxOGNhN2IiLDc1NDM5OiJhMzJjZTk2Zjg4NTUzNjliMjY0MCIsNzU0ODk6ImQ5YzA5MWUxYWVjMjQzY2FiMWE3Iiw3NTkzMDoiMTQzYzNiMjQxNmE1MDk4OTM3YzkiLDc2MDMzOiI0NTdmYzZhOWRlYTkzYWJjNjRhNiIsNzYyNzQ6ImJkYjEzNzJhNWI2MzYyYjZiMjg4Iiw3NjY2MzoiM2JkZjExYjk4ZGNiM2U0NTQ2NDMiLDc2NzU1OiI5MjFkNjdhNWEwYTg0MTU3OWI5ZSIsNzcwODg6ImZkYjRkYzk1MjgzODgxYTA0MzNhIiw3NzQ3OToiYmFiMDhkZTkyMWRiNmI2YjFhMWUiLDc3NTc4OiJmNmRiNDYwZWQxZThjZTMxZWE4NiIsNzc1ODg6IjRiZWViMjA1OTNlYzM4M2E1N2YxIiw3ODEwOToiNGFlYmYzYjdhYmFmM2E0MzBlMzYiLDc4MzEyOiIwOTBkOGEwMDJiOTQzZDI4YTgyNiIsNzg3MTc6ImMzYzBhYTk1MGNjMmFiZDE0ZDdhIiw3ODg0MToiMmRmOWM2OGUyYjI3ZTg1OTIwYmIiLDc4ODc3OiJkMjAwM2JiOGIzMTNjOGJlODU4OSIsNzg5MDU6Ijk3MTlmZTI1NWQ4YzQzNDg0ZmY5Iiw3OTEzNDoiZDJjNDNhNjdiNzU2Y2U2ZjVmNWEiLDc5MzI2OiJkMGQ1ZTA1NGMyODRmNWRjMGViMCIsNzk0NzY6IjI0MmIxY2U1NWEyOTc5ZmJiYjZiIiw3OTYxNToiYmNhZDZjZmU3ODk3MTBiM2QxNTMiLDc5NjcxOiI3NGMyYzcwNDgwNmU1MjZkMjE4MiIsNzk5MDI6ImRiNzM2MjNjYmNjOTI0OGZjZDM1Iiw3OTk5NjoiMWE3MWFiNWQyNjNjZGJhYTk0OGIiLDgwMjA3OiIzZTVlN2Q2OGM4NzViMzY3Y2FkMCIsODA3NjI6IjY4NzUzMDViNWYzMmU4NTlhM2Q0Iiw4MDkxMjoiMWFiZjRkNmYzZWE5NmU0YjE4NTkiLDgwOTE1OiI2OTQwNGZkYThhYWZjMjc0MmM1NSIsODA5Mzk6ImNlYzVlMzJiNjBkYmM0Mzc5ZTc2Iiw4MTA3NjoiZjBhMDdhMWM5MzY3Yzg1YzZlMjciLDgxMDk3OiJlMjZiZjk1ZjlmMjhkYTI2ZThjOCIsODExODk6IjE3YWNjMmZkYmYyMTk5NWJlNDY2IiwKODE0OTU6IjBhZjUyNjk4ZGI5ZWQzZTg4YWRlIiw4MTU0NDoiYWM5YThiMTUxNTQzZWMzZTE0ZDYiLDgxNTU0OiIyYzMyZjEzN2U1ZThkMzU3MTE1YyIsODE2MDU6ImIxNGNiZjBjMzg0ODQ4ODhjM2M2Iiw4MTc1MDoiMDc4NmZlYTYwN2QwMDdlNzZmMGYiLDgxNzU4OiIyZWE2MTJhZjI4N2MyMzY0Mzk4ZSIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MjIzNzoiZGVhODI4NTkxMWQwM2ZiMDZjNWIiLDgzMTE5OiI1ZjRmNzU3MGE0OWQyZGU2NTc4YSIsODMxNTQ6IjhjZjllYzRmMTljNWMwNzAxNjBjIiw4MzE3OToiODBkY2M4OGUzN2VlMjE2Y2E3ZjIiLDgzMjI1OiJhNzgwNTk0OWZiNWE2MzdhOGU0OSIsODM0MDg6IjUwNmZlNjVmMTcwOGU5ZDc5M2Y5Iiw4Mzc4MToiYTQzMjNiMGYwMTgxZTlkZGZhNjAiLDgzOTM1OiIyZWVkNDVhOWNjNjQ3NmFmZDAzNSIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDIwNjoiODQ2YjJkODY1ODAzOTZhYzBjNzkiLDg0MjY1OiI0YzZkOGY3NzJkNTM4ZjUyODU5OCIsODQzNzE6IjI1NjU0NTJjYWVjYWI5OTgyNTVjIiw4NDQzNjoiMjI0YTgyZTcyZWQ4ZTQ3ZDYxZTgiLDg0NjkyOiJkZmU2NTkwODUwZGQ0NTg3NWQ4ZSIsODQ4Mjc6IjJlNzMyM2JhNTk5NGZlN2EwMDMyIiw4NDk1MjoiYmU3ZTI0ZTkxMjQwYjIyYmYxYmUiLDg1MDU3OiI1NDI0MDFkNmVlYzY5ZmE1Mjc1MSIsODUxMDg6IjVhNjNlMjg0MzY3YzYyOTY2ZDliIiw4NTIyNzoiNWUwZGNkZDc5OTUyNzU5YTgzZGEiLDg1NDM0OiJiODViNzVkZjkxYjIyYmFjOGQzOSIsODU0ODA6ImY1MGViYjk5Zjk2NzVkY2RkNDFkIiw4NTY1MjoiOGYyZmY0M2I2OGJmZTZlYTEyZmQiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4NjIzNzoiNDJjNDk3ZDYwMGUzYTQ0NTQ0ODYiLDg2NDEzOiJiNDE2NjYzZWUzYmI0Y2RiZjQ4OSIsODY3NDA6IjQxYjQwYWNkY2Q5MWI0ZGMxZWZkIiw4Njg2MDoiNDc0ODc3YmUwYjIzNWRjOGNiNGMiLDg2OTE0OiJmNjMxNDcxZmFiMDM4MzcxYmFkMCIsODcxOTY6ImIwOGYyYWEyOGJmNDA2OWE4ZjRjIiw4NzUwOToiNTdmMTVhMWZjZDJmNWY2ZjJkY2EiLDg3NTYzOiI0YTM5NDgxNzdjNjQyMGIyOGQ0NSIsODc2MDc6Ijg4MTgzY2U2MTE2MWJmYTYyMDc0Iiw4Nzg1MToiMjVkNDRhMzY5MGNmZGVjOTE4YzIiLDg3ODU4OiI2OTEzN2U2MmJiZDVlMGE2M2FmNCIsODc5OTU6IjkxMWIyNjE4MTc3OGZlY2M0YjRlIiw4ODExNjoiOWNjZjU2ZjA1NzI1MmY1MmU2OTQiLDg4MTcyOiIzYTgxOTA0YWU5NDEyMTkwMmZmZSIsODgzNTg6IjdlOTQ4ODgwNjJjMmU3Njg0YzMxIiw4ODQ4MzoiNzFkOGZmMDVjZTMxMDViYjI4MjIiLDg4NTkwOiIyZjVlMjA0YzdlM2RkOTA2ODc4ZCIsODg2NDA6IjFiNTM5OTA0NDBiMjMxYjcwZjJlIiw4ODY5NzoiY2ZjYjVlNTU4Y2ZhMjMxOWE3NTAiLDg5NDY3OiJmMjUzYjUwNzMwNmU1ZDU1ZTliNyIsODk5NjM6ImIzN2RiNTk0MmE3YjA5NmM2ODdjIiw5MDQxNToiOGUyYWMxZWMyMmEwYTMzNjI0NTIiLDkwNDcwOiJmYzc5MDJiNTQ5ZTg5ZTM1YTU5ZCIsOTA1NTg6Ijg2MzRiYzdjMWVmMjFkNDY1MjM0Iiw5MDgxMDoiZDVjZGE2NGMzYmU5MmNjNTMwNWEiLDkwODY0OiJlMzE4ZDQxZTY0MTMxYTZkNzgyOSIsOTA4ODA6IjkyNTBjMGY0YzY2OTNmZjFjOTUwIiw5MTI5MjoiNjUxNmJhYmEzYTVkOThlNTBiYTkiLDkxNjY4OiI2NjNjNWQ5YjIxZGM1ZTYxODk5OCIsOTE4MzM6IjcyZjhkY2MzYjk4NmQ4OTM1NjM4Iiw5MTk0NDoiY2Q1MWI0OGZhNGQ3NDJhMTE3MjYiLDkyMjI5OiJkZmZkZWZhZTY3ZmI3YWQzM2MwYyIsOTI3NDY6IjQyOTY4NmYxZDRkY2FhMzE0MmFlIiw5Mjc4NjoiMTIwMzQ5NmI3NDM3ZDk2MDU1ZTQiLDkyODE3OiIxZTczZDFmZDk3NTU5YjEzNjI3NiIsOTI5MTY6IjIzOTk2Y2U4MDNkOWExM2U1MDg3Iiw5Mjk2ODoiNGM0NTM2ZDBjNzE2MjJlOTdhYTMiLDkzMDY2OiI1MDk3YjcwYTZjZTE5NjY5OGEyYyIsOTMxNTg6Ijk4ZGZiZWQ0MDMyNjQyYjlmOGFhIiw5MzIwNjoiYWIyNjVmOTEyYjg1YTM5Nzg4YjAiLDkzMjQ4OiJhZmRlNTQ4ZGZlMDkxMTliNjliOSIsOTMyNzc6IjMyZTI3NDExMGE2OGViOGE1NDNlIiw5MzI3OToiZjMzYjA1ZDNmZmMyNGE2MTUxMjYiLDkzMzQwOiJhNjNjN2JjNzE1NzY2NjAzZDgwMSIsOTM1Mjg6IjgwMGE1MDk1MWYxY2FhYmFmN2Q0Iiw5Mzc2NToiMzA4NmFhNDJlZjIzNDZkOGNjNDQiLDkzODAxOiI2ZDQ1ZWI4ZDViZWU0YWZlN2RiNyIsOTQwODU6IjUwNGY0NWUxZDU4MTM4MWQzZWMxIiw5NDE4MjoiMjBkY2M3OGMwZTg0ODFkNDM0NzAiLDk0NTYwOiIzMmUzMDRhYThlMzkzN2Q4MDQxNCIsOTQ4MjI6IjdmYWQyMTE4NzI1MDhmYWIxMjI1Iiw5NTA2MjoiNGFkZTExYjE5MDFlYWI1MDY5YmIiLDk1MjA3OiI0NjVmOGFmMWFhNzJhYzNhMWMzMiIsOTUyNzM6ImZkMTE4MDJlMzIxYjE3N2I0ZDc1Iiw5NTU1NDoiZjljZTMzMmUxOWZjY2NmMzc1NTYiLDk1NjM0OiJiM2Q5YjdlYjFlN2Q4ODk5M2Y0MSIsOTU3NTY6ImVhMjMzMTQzNTI4M2QyNTMwNGE1Iiw5NTc2MDoiMzJmZmRlNjYxOWQyOTFjMzA3YzEiLDk2MDc1OiJmMjk2NDEzODQ5M2RhMTkwNWEwMCIsOTYwNzg6IjNhOTMyMTJhOWM0YjY0MGVjYzVlIiw5NjExMToiNGZjYzU0NGUxNmY4NzRmNWEyMjkiLDk2MzM3OiI4NmMzY2M2MTJjOThmN2U3NzQ4ZCIsOTY0Mjc6IjhhNjk3NGY5YzU3NGMyNTU2NDkwIiw5NjUxMzoiNjljNjNlNWQ0Y2Q3MjQ1ODg4YTQiLDk2NzI3OiIxOWM4ODgxZDhmMDBiZjkxNjkwZSIsOTY5NzA6ImE0YzUxNjMxMmEwYzIxMDdiZWM3Iiw5NzIwMjoiMzIzYzExY2RhZmRjYTMyZDRhZDciLDk3MjcyOiIzYmZiZmM4ZGFhYmNhMDQwY2Y3MyIsOTc0OTM6IjQ5YjdmNTMzZGNjNTQ4MWQ4ZDBiIiw5NzU1ODoiOTRiYjBjMjY0M2Q3NGViNmY4YTkiLDk3NjQ3OiI2NGZhMDdlZTc0ZmQ2NjVkNmUxOSIsOTc4Nzk6IjA2MjkwZWZkOGFiMWM1OWM3ZGQ0Iiw5ODU1NzoiNzMxYzFhMmUzMDM5YWMzM2QxNWUiLDk4ODMwOiI0OTZiZWRiM2U5MDcwZWRiNTkyYiIsCjk5MzA5OiJjYTRhYzE5YjhhYjM3Njc5ZjI1MSIsOTk4MDU6Ijk5NTVhNzc0NWY4NDk3NDE3MTgyIiw5OTkzNjoiYmRmZGE5NjBkNDhkZTQ1YjI2ZGUifVtlXSsiLmpzIix0Lm1pbmlDc3NGPWU9Pjg0MzA2PT09ZT9lKyIuMzFkNmNmZTBkMTZhZTkzMWI3M2MuY3NzIjo1MjM5Nj09PWU/ZSsiLmVkNzZjYWYyZmZlMDE0NDYwYmE2LmNzcyI6MjAzNTQ9PT1lP2UrIi4yZGRmOTM0ZjhlZGMyODAyZDkwYS5jc3MiOjEzNDkyPT09ZT9lKyIuMmM3NzczMGQxMTI1YTQ5ODViZGMuY3NzIjozNzc0Nj09PWU/ZSsiLjM0NTIyN2JiMTZlMGQ4YmM5YmQ1LmNzcyI6MTIzODU9PT1lP2UrIi43ODU2MWViZGVmMDVjZTY0OGI1ZC5jc3MiOjgxMDcyPT09ZT9lKyIuMjkyN2ExNzcyMzFmZGQwZTI0YzEuY3NzIjo5NDIzMj09PWU/ZSsiLmFiNjczMWI2OThhOGMyODU0YTkwLmNzcyI6MTcwODc9PT1lP2UrIi5hNWVhZWIzMGY3ZDI2OWY5N2I0MS5jc3MiOjQ2OTA3PT09ZT9lKyIuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIjo5NDk0OD09PWU/ZSsiLjBmYzg4ZmE2M2MwNTRhOGQ3Njg0LmNzcyI6MjM2MjQ9PT1lP2UrIi5kMjM5MGQxN2IxNTA5YjAxODgyNi5jc3MiOjUxODQ9PT1lPyI1MTg0LjBmYjQ1NzRjYWNlYzE2ZjYzNjVkLmNzcyI6Njc3OTk9PT1lP2UrIi5lMjQ5NTY5MWNlYTE3YjNhODFjMi5jc3MiOjI0NTgxPT09ZT9lKyIuNDVkZjAyMTgxYzQ1MDk3MzJkMjAuY3NzIjo4NjQyMz09PWU/ZSsiLjc5NzgzYWE3MmI2ZTI5MjUyZDBjLmNzcyI6NDA4MzU9PT1lP2UrIi43NmExYzc5MjNhMmM5ODZiZTlhYy5jc3MiOjc4NjUyPT09ZT9lKyIuNGI0ZTA5N2EzMDNkMjFiYzk3ODEuY3NzIjozNTc5ND09PWU/ZSsiLjBhMjczYmFmYzVkZTUwYTBkMjFkLmNzcyI6ODkyMDQ9PT1lP2UrIi5mNjQxOGZiYTczZDM5N2IyOTY0MS5jc3MiOjU1MDExPT09ZT9lKyIuZjljMGEzYzA5ZjdiODc3OWFhMzcuY3NzIjoxNTYzND09PWU/ZSsiLjlmZjUwMGY0MGMzZWMyNDk2YTlkLmNzcyI6NzUzMDQ9PT1lP2UrIi4xNzQ0OTZkYmY2MmJjOTBkYjU5YS5jc3MiOjUyMDk1PT09ZT9lKyIuZTZlYjUzMGExM2IyZmViZDJjZDMuY3NzIjo0NDAzMT09PWU/ZSsiLjI2OTFmYzJjMzQ2ODI5M2JmZDE2LmNzcyI6OTUwND09PWU/Ijk1MDQuOTAzNzdmN2Q1OTQ2Y2YzMjU0ZjAuY3NzIjoxMTIxOD09PWU/ZSsiLjExZmU3ZThmZGEzMDE5YWFjMWFmLmNzcyI6NzI2NjY9PT1lP2UrIi4yMjI5MTczYmY0ZDY3NDQ4NDYzNy5jc3MiOjM2MjIyPT09ZT9lKyIuZTliZTlhNzMzZTExNDczMGE0ZWEuY3NzIjo4MzQ4OD09PWU/ZSsiLjJhMzUzNzdmZDU0ZjBhZjQwODc0LmNzcyI6MTE0NjE9PT1lP2UrIi5lMjdjYjRlY2YzMDQ5MmFjMTFmNi5jc3MiOjk2NTg3PT09ZT9lKyIuOTdmZGQ2NWYyMDEyMTA2ZmYxMWUuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6OTM0MjE9PT1lP2UrIi45NTM4MWY4ZTAwNGQwZDJmYThjZi5jc3MiOjQ3NjMyPT09ZT9lKyIuMzNkMmEzNzQ1YWY0OTdlM2RhNWQuY3NzIjo3NjY1PT09ZT8iNzY2NS45ZjFmMzJiMTc3M2IwNTRmZGYwNy5jc3MiOjMyODE2PT09ZT9lKyIuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6OTgwODQ9PT1lP2UrIi43Njk0ODc2NDAxNGFlMWQ0Y2NmYi5jc3MiOjUwMjIxPT09ZT9lKyIuZjQ5ZGEyYTcyNzk3NzRhYTVmZTguY3NzIjozMzUxNT09PWU/ZSsiLjg1MDA0NDgxZTRhZTY2MjRhOTg1LmNzcyI6MTY3Nj09PWU/IjE2NzYuMzQ4ODRiZWI4ZTZkYzRjNmMwYjEuY3NzIjo4MzA0MT09PWU/ZSsiLjljNTQ1Zjk4NjgyMDRjNzcwMGYyLmNzcyI6NzE1Mjg9PT1lP2UrIi43YzZjMDhjOGVlZDAxZDg0MTA1Mi5jc3MiOjQzNzkyPT09ZT9lKyIuZTFiZDA2MTEyNDA0ZjA5MDFhNjYuY3NzIjo1MDAzNT09PWU/ZSsiLjAyMjdjMDllOGRlM2I0MDA4Mzk1LmNzcyI6OTE4NTU9PT1lP2UrIi4wMDk3NjRkYTYxYmQ4YzhjNDRiZS5jc3MiOjc0NDYxPT09ZT9lKyIuNmNjNTEyYzQyMTlhMTVlMzU3NzMuY3NzIjozODAwMj09PWU/ZSsiLjg2ZDI4MGZlZWFiYWI2OTgzNjBiLmNzcyI6NzAzNjQ9PT1lP2UrIi42NDRjYjkzNDQxNjkwYzgyOWFiOS5jc3MiOjY1Njc1PT09ZT9lKyIuYjIyZTg2Mzg0ZGE5NWE0Mjc0ODUuY3NzIjo0MzY0ND09PWU/ZSsiLjBmN2MxNDAwMTlhNjdmZDUwYmU2LmNzcyI6NTgwNTE9PT1lP2UrIi5jNTQ0MDY2NWMzYjMyZTZjNmRlOC5jc3MiOjQ1MzY4PT09ZT9lKyIuOWZmMDBhM2UzODIxMjAyOWJhNTUuY3NzIjoxODQ3Mj09PWU/ZSsiLmQ5NDE5YjZkY2I2NGM4ODU2NGMxLmNzcyI6MjU4MDk9PT1lP2UrIi44ZGY0ZWE3YjA5OWFkYzE1ZDA2Ni5jc3MiOjI2MTAwPT09ZT9lKyIuNzY3N2ZjN2ZmOGZjNGEwZDc1ZjEuY3NzIjozNjk4Nj09PWU/ZSsiLmNlNzdjYmQ2NmU2MDUyNTBkNGZmLmNzcyI6MjcwODU9PT1lP2UrIi5jYjIyMjI5NTgwOTkzZTg2MWMxZi5jc3MiOjE0Njk3PT09ZT9lKyIuZjFkYzE5MTc0NDhkMjE4OTE5OGYuY3NzIjo0MzMyNT09PWU/ZSsiLjI1NmZhNWE1MjEzYjljYjcwZjVjLmNzcyI6MjY1OTI9PT1lP2UrIi4xYzYxMjM5MDJiYzg4ZWJhOWQ1Ny5jc3MiOjM3ODY3PT09ZT9lKyIuZWM3MzFhZDEwMmRiNjc2MmU0MGMuY3NzIjo2MjYzMD09PWU/ZSsiLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyI6NDE2MDg9PT1lP2UrIi5kOTg5ZTQ5NDBiMGVhMTI4NmRiYy5jc3MiOjk0ODg9PT1lPyI5NDg4LjA5ZjI2OWY4YjI2YjJiMDBhOGI3LmNzcyI6ZSsiLiIrezIwMjoiMDcyZTk5MGM3NjY0MTA2OGQ4ZTMiLDY0NToiZmIzNTBkOWFjOWM3ODJlNWU0MzkiLDY0NjoiZWUyOGIyYjE5Y2M4ODMyNzY0YjUiLDY1NzoiMjlkZGQ0ZjA0ZTZlYzUwZGE3MGIiLDE1MDk6IjI3YzRmMDExYzI1OTdhZGQ3Mjc2IiwxNjc4OiI5ZTk5YzZjN2MxNDI0NGZhZTc0ZSIsMjAxMzoiOTZhMmNmY2UzMWFmOTE0MTk4N2EiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwyMzcyOiIwMzQ4ODE1ZjIwOTZmMzc1MTY3NSIsMjUxMToiZmRjZWJmMjIxNTMyNjY5NTRjZWQiLDMzMTA6IjNlMzNlZGU2NTI2ZjBiYTg1NTI0IiwKMzMyMzoiM2RhNzk4ZGEzNTgwNmY4Njc5YTAiLDM3MTk6IjJkYzAwOTRlNTIzODFmNzQ1OTYwIiwzOTE2OiI1NDgxMjYxYjk1MTI3MTc0NjBmZSIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQxMjc6ImZhMWMxM2Q5YzMwNmY2NzdiYzA3Iiw0NDc3OiI1MTJjMDQ3MDlhMzI1OWJkMTEyNCIsNDY2MDoiMGYzMzJjMGE0Yzc1MTcxMDZlMTkiLDQ5Mjk6IjZkZDYxZDViZjk2YWIyMzQzZDk4Iiw0OTY5OiJjM2FkYjFhMTA4YmYyYmFmOWNiMyIsNTE4NjoiODNjMTM2MTFlNjYyNzdlYTc1OTciLDUzMjI6ImVmY2U2Yzg4YjkxZmY0NTczZWVjIiw1NTM5OiI5N2I0NGNmYWNhMzJiNDcyNmU1MyIsNTYwMzoiYjAyZDYxYTE4YjA4ZGI1ZWQ2OGQiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw1NzU2OiJlNTY3NDBmYTNhZTA1OTlkYmE0MCIsNjA3MDoiMmJlYzRiOTY5ZTE3YzgzOTVhZmMiLDYwODI6ImUwMmI4OGY1NGY2OGNiYTQyNDcxIiw2NTgzOiJiY2M1NzQzZTIzNmZmYzViN2NjZiIsNjYwNToiMWU4OTQyMzE5YjQ4NWFmYzFmNzUiLDY2NDc6ImFkNDU4MDU4ZGQ1Yzg4MjgzM2I2Iiw3MTExOiJmNDE4NTFkNTQ1YmFjZWFjNzVhNCIsNzE2MzoiZWM0ZTdiY2MwYzc5ZTJlNjA3NGQiLDczODc6IjNkN2Q4NjQwMjJjODRmOTI4YWRhIiw3NDQ1OiI3ZGE5NjZhNDQwMTZhZTdhMDJmOCIsNzQ1NjoiMDZlNzBmNzY1OTY2Y2VlZDIxODEiLDc4NjM6ImQ1ODBlMjI1YzMyMmNiYTFlNmVjIiw3ODk5OiI0N2FhZDA1ZWFhMjBiZjMwMTJmNyIsNzkyNzoiZjczYjI5NjY5ZWQzYzNlZGMzZGIiLDgyMTY6ImQ3ZjIxZmUyNDg5ZGRmY2JjNDE4Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsOWUzOiJmODZlMWZkMTA1ZDhjYzdhZWNmNCIsOTE0MDoiNTEyODM4ZDdlNmUxMDdmMDczOGQiLDk3NDQ6IjcwYjUxMjY0OTVmN2FkY2NhZjJmIiwxMDM2NjoiMDdlMjBlN2JiZWUyN2M5ZDVmYmMiLDEwMzg1OiI4NzQ0ZDRmODY3MGRhYzMxMGQxZiIsMTEwMDg6IjUyYWZhNWVlZDRhMWNmNjZiZWQ2IiwxMTI1NzoiZTc5ZjBmNzk5NTg4NDA0NzNkMzEiLDExNDg5OiI1NDdlMzAzZTI5MmY1NDgxNGRiNCIsMTE1Mzc6IjYxYzc5NzI4NjhmZGRkNTJiNmU0IiwxMTcyNToiMzFlODBiMjNkMTUxNjIyMzJjNDgiLDEyMDUxOiJiODRiZTc4MWJiOTBkNDU3ZjFkZiIsMTI0MTI6IjEwMzgxYjNkM2UzN2NiOTA4NTJjIiwxMjUyNzoiZGJjMjBjMmI4YmM5NTQzMmE4OWEiLDEyNTY1OiIxZDQwNTM2Nzk3YTI5NDE5YzY2ZSIsMTI2NjY6IjdiNTZiOTQ0NWZkNTgyN2MwYzA4IiwxMzAzOToiZDYzN2FkMTI0ZTI0NmFjNTYzYmYiLDEzNjc3OiJkNThlOGQ2M2Q4YTNmZDc3NGM0MyIsMTQxOTM6ImZmZTZmMWY3M2RjYjE4ZjI5YjU1IiwxNDYyNToiYWRhNjEyY2NlZmRlZjc3OWUyOTUiLDE0NjQwOiJmNGUxODExMzgxYTVlMTQ5NDQ4YyIsMTQ2NTc6IjQwZGFhYzRiMzhiYmQ5NTViNWYyIiwxNTM4MzoiYzNhZGM1Mzg5MDAwMmVmNWVjYTAiLDE1NTI2OiJjODI5YzUyZmVkMjU5ODU1YmI5NiIsMTYzOTk6IjZkYWE5MGUyOWEwZDE5OWI5ZDMyIiwxNjQyMToiMzFkNmNmZTBkMTZhZTkzMWI3M2MiLDE3NjkzOiJiNTI5MzM0YzhjNzYwZWUzNTFkYSIsMTc3NTE6ImM5MmI4MDVlMDg3MzQ3ZjdmMTVlIiwxNzg2MToiMTllMTAzM2U5MmY1NDRiZDY4NWUiLDE3ODY1OiJhOGRkMzkxNzRhYTdiN2EwZjU5NyIsMTgxNjI6ImQwNjE4NGJjOTcxZWNiZGRhM2IzIiwxODQwMDoiNGYzMWU3ZDk4MGIwNDhlOTU3MmMiLDE4NDQyOiJiMzM2Y2QxMTdiYzE3Y2ExN2MwMiIsMTg2NzQ6ImJkMjEzYmJiNjk5MGY3MjNkNGQzIiwxOTQ0NzoiZGQ3MDRjOTk1ZTY5NjNhNjRjYTQiLDE5NTEzOiI4NzQ5ZWRjZTY0YTdlMmRlMjU4MyIsMTk1OTU6ImQ5NjJhYjc1YmQzZTFiYWE1YWFlIiwxOTU5ODoiNzhlMmRiMjFiNjlmMTQ1M2Q3MGMiLDE5NjMxOiI2YjRmZjUwNThjZGI2Y2Q0YjE5OSIsMTk3ODc6ImJiYjY2ZmEwZmQyYmQwNGQwODc1IiwxOTgzMzoiYTliOGZmNDRhOGM2NzYzMzA3OWEiLDIwMDg1OiJiNjg4MGUwNzg1NDBhNDFlY2RjMyIsMjAxNTM6Ijk3Y2JiMDNlNTMzNTVjM2M4ODY5IiwyMDI3MToiMGMxNGYxMjZlMzhmNmI0NjA3N2UiLDIwMzcwOiJmOTI1NDIyYmE0ZWIwYjYxMmM3YiIsMjA1NjQ6IjEzZTZlZmIzOGVhYWIwYTUyNjgzIiwyMDU5MDoiMDE4YzdkNmIwMTRlMTJiNGQ1ZmYiLDIwOTcxOiJkNDZhMzc4MGI0MDA1ZDk0N2Q3NCIsMjA5ODY6IjQwZTM0ZTIxYjNkODE5ZGY0OWU1IiwyMTI0NToiNTg2ZmE4ZDA0YWJhMGQ2YWRiYzgiLDIxNTgxOiIyZDU0NWRlZDViZjgwMDU0MDEzZiIsMjIwNzA6IjdiZDFiMWE5MTVjMjRlMTIzZTJmIiwyMjE0NDoiZGEyN2UyOWZhNDUwYWExNzIxNGEiLDIyNDA1OiJmMzBiNWNjNTU0OTBjYTM2Mjk2NyIsMjI0NjQ6Ijc2ZjMyNmVkMWQwNTA4NmUzZDA1IiwyMzI1NDoiMzA0M2Y2ZmYxMzk2ZjUwNjVjMmEiLDIzMzY5OiIzMTc4MjkzYjY1NGFjMDFmNGZhOCIsMjM2Njk6ImE2MTk3MWQ4NDI1N2MzNDZiZDVmIiwyNDMxNjoiYzg1OWI2NDBmODU2MDNjMjZkNjkiLDI0NDA4OiI4NmU0NWVjZjA4ODRiZTZhNmVlMyIsMjQ2MDM6ImRjMzA1ZTU1ZTgxNDgxOTgyNThhIiwyNTE0MjoiZTExNTA4NjI2ZTM5MGRkMDQzNDUiLDI1NDg1OiJmOTZhOWZkYWFkMTRiMGQ3NWQzNCIsMjU1NTQ6Ijc1ZWMxOTk5ZjVhYzk2NmQ4ODYzIiwyNTU2MjoiODYxYzQ0YWMzNzRkYzI3OGQyZGQiLDI1NjQ3OiIzZDQzMDE5OGM0MjIyMzlhNWY5MSIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNTg5NToiZTlkOTg2MjNkYzk1OWJhNTY3NjQiLDI2OTg5OiI3NzMyNWIzM2FhZGE5NDdjZTc3OCIsMjcyMTc6IjkyNWYxMTkxYTAwMGIwMmMwYWQ1IiwyNzMzNzoiZWRjYTYxZWZjZGIyMzBiYTY2M2EiLDI3NDQ2OiI0YjYzYmI4ZTkxMDliMzNiZDlkYiIsMjc1MTM6Ijg1MGU5MjAwMTNhZGFiNTI1MjQ4IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NjY1OiIwMTNmZGI2ZjA5ZmUxMjE3MDViMiIsMjc2OTY6IjEwZGU2MWZkNmM0M2JmNjNjZmQwIiwyNzczNjoiMjkzZDk0NzdjMTk1NGYxOTc3YTciLDI4MDE3OiJmZTc5OGY0ZDdjY2YwMjRiYmIxNSIsCjI4OTM2OiI4YzJmMTU1NzViYjE3OWYzYjEyNyIsMjg5OTU6IjA0YjQzNDVhNTNmMjAyMDA2YjM4IiwyOTEzMzoiYmRmYTE2NzA5M2YwNWRmYjI0ZDAiLDI5Mjk2OiJiNDA4ZjI4MjJmYTViOTU2OWJhYyIsMjkzMTU6ImRhOTc2ZGY0NWZlYzAxMDczN2Q3IiwyOTMyNzoiNWE2MjNmZTQ5ODgyYjljZjUxZTciLDI5MzQ4OiI4M2I3YjRkY2E4MGRkOWViMDdiOCIsMjk0ODk6IjA5ZmJmYWZiOWZmNTllMDQyYTNiIiwyOTUzNjoiNzM2ZjQ3MWE4ZDY0YTgxMjJmZDgiLDI5NzE0OiIzNzg4YzRhMzNkOTQ1MzZlOGNlYSIsMjk5NDM6IjJmMzM3MzNkZDY0OGI4MmM0NmZiIiwyOTk5MzoiOWQ5MjU4MjgwMTAwZDAyODBjMjAiLDMwMDI5OiI2Yzk4MTUxNjIxZWFlODNhNTU5ZSIsMzAzNzM6ImRlMzJhM2NkY2FlMTJiMTVkNmRmIiwzMDc0NToiZTc4ZDgxYmYyNTBjZDZlNDMwNjgiLDMwNzg5OiIyOTdlMGZiNmM3Mjk3MWU5NGI0YSIsMzA5MjI6IjUzYmJjNDVlZmRjNDljMDY5YTA3IiwzMDk2MDoiNTQ3MTA5OGJkMjdmOTBmMzExNWQiLDMxMDAxOiJjNTIyMjk0ZDNhMjhkOWNhMTUxYyIsMzEyNjI6IjI2MGI2MTg3OGUwNTlhNDJlNzlhIiwzMTU1NzoiZTZhZWY1MWYxMDkzNDJiNTk5MWMiLDMyMTc2OiI3YzU3Yzk4OTMzYjhjZmQzZjhlNyIsMzI0Mjc6IjZkMTY2Zjg3YjczNjcyZTU2MWRhIiwzMjc0ODoiMmRkMThlMjA5YTc3MmVhNGYxZDciLDMyODU3OiJlNDk2OGNjOTA2YWM1NzY5OTA2YSIsMzMxMjA6IjNlNmQxYzMzZDZjNTI1YzA3NzFmIiwzMzIyMToiZjQyY2M1NWE5MGM5ODg0MTIxZTUiLDMzMzY4OiJmMTVkZmNiYzBmNzE5NmQ3ZDY3NiIsMzM1NTM6IjBkZjliMzUyY2JjNmZhMDNjY2E4IiwzNDc1ODoiODgwZDk3M2JmNmNiYmM0ODIxNzQiLDM1MDczOiJiODU2MzJlYWEyMmNmMTllN2NkMiIsMzUxOTg6IjIyYTU2NTVmNTNlMDkxYTJmYjczIiwzNTM0MjoiN2Q2MWE3ZWM3NjRiYTZiMmM2YmQiLDM1Mzk5OiI1ZTZkMTQ5MTllZTBjODZmNjliMCIsMzU2MzA6IjhiOWVlMjVjNWUyZDIzNGQ5OTUxIiwzNjE3MzoiMzBhYjA3N2ExMGYxYWJhNDdkMmEiLDM2MzU2OiI2OGU2NmJmNzRmZGIyNDNkNDMyYSIsMzY1MjE6IjhlYTE5ZDE4YzZmMGIyNmFlMjUwIiwzNjU0NToiZmM0ZWIzNzExMmUzNWUwOGQwMmMiLDM3NTY3OiJmNzQyMzY2YTUwMmExZWQ3MzYxZiIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4NDc5OiIyNmUyZDUzYzA0MTAwZWE0MDE2YyIsMzg3ODI6IjNiMjY2ZDZhODE1MzgwNmI3MzFlIiwzODg2ODoiNWVlNzQxZmQ2Mzg2NjZkNDQ1ZGMiLDM5Nzg2OiIyYjAwZGMyMWVmOTQ2MDBlMDk2OCIsNDAxNjg6IjgwY2QyMjQyOWIxNDVhOGNiODIyIiw0MDIyMDoiZTBiZTM3OTczNDVjNmUyNGNlY2EiLDQwODY3OiI0OTU2YzYxNWZkZWFkODFkY2QxMSIsNDA5MDI6IjU2NDViOGVmZGQyYmRkN2JjNTdmIiw0MDkxNDoiYThkZDY5NmJlN2RkZTZjZTZkZGIiLDQxNTA2OiI0ZTQ4MWNmZTNkN2RjYzkxMTNkZiIsNDE1ODg6ImE0ZDFmYmJmYmMxM2JhZTc2MGQwIiw0MTgxMToiZTIxMjY3YjUxZjE0YWFhYjU0YzciLDQxOTgwOiI3NWJmNmUyZjNjMTI2NzliMDQ4YSIsNDIwMzM6IjkyNGRhYjc4MWU0NDc3Zjk1MWJmIiw0MjMwMToiMjI1MmQxY2NjYjQwMzUxYmQ1ODEiLDQyNzIxOiIzZWFhZTU3MWU3NTg2Zjk2N2Y3YyIsNDM0MzM6IjdiNjRlOTE4MjAyNTZkZGJiOTVlIiw0MzQ0MToiYWM2MDM1MGM4NmM1NzgxMWYyMjMiLDQzNDg2OiI2ZWRhYjk0YjBmNTJiZTQ3OTQzYiIsNDM4MDg6IjVhZDM2NTFhMzg2MzBmNzc1NDQyIiw0Mzg0MToiMzg2MzgyODcwNTVmNjg1MzlhOTIiLDQzOTE5OiI1NzNhYTE3YmRiNzc1NmYwNWNhOSIsNDM5Mzk6ImJhYmI2YzEzYWQyYTIzYzBhZjczIiw0NDQ2MDoiMWE0YjM5NTZjNTk5Mzk1OWVjMDUiLDQ0OTQ2OiIxOTY4MGRkNGU1YzQzZDlmNzE2MiIsNDUyNDI6IjhmNmM5MTBlZjgzZGM5ZGJhMTkxIiw0NTMzMToiYjRkNmY1MjQ5Mjk5NmRkMjliYzYiLDQ1NDE4OiIwNmQ3MTg1ODI1NjE2MWQ1NGZlOCIsNDU3ODM6IjRlYzU3ZjUzM2M1YWM1MDE1ODk4Iiw0NTk0NToiNWM5ZWNjZDI4MWNhN2YyZDc5ZTAiLDQ2MDM0OiI3ZmU1ZDY1NTVkMzUyMzg4NzIxNCIsNDYwNTU6IjAyMzJmNWExOTRkMGU2NDZlMDg5Iiw0NjI0NToiYjFmMDRlMzFkOGU4NzQ4ZTkwMjAiLDQ2NTkxOiI4ZDAzMzM5NGI4M2I2MTZiZjA2NiIsNDY3NTY6ImJlYzU1ZmEwNTBhMTFkYjgwYjFlIiw0NzAyMToiZWQxMTM0OTdlZjMyYTY1MjZlNTAiLDQ3MDkyOiJjNTcyMzg5MzRhMmY3YTM2YTBjMCIsNDcyMDE6IjQyODBhYTBjM2NmMTJjYWM5ZDZkIiw0NzMxNjoiZDIxNzQ0ZmY2ODlhYTZkYTYxNmIiLDQ3NDU3OiJhNmMxMTZjZTUxMTY5MTk2NGRkNiIsNDc1NTE6IjhkMmNlNTI0YjM4ZTRhOTI1NDdmIiw0NzU3OToiZGMzODc5MTkxYzA0YjkzOGZkM2YiLDQ4MzEyOiJhZmRjYzM4MmE5MjhiYzAyZmU2NSIsNDg2ODI6IjZmZjIzZDVhYzFjYjcwZDAyMzlmIiw0ODg2NDoiYzdiMmFmOThkOTE0ZWJkODMyN2MiLDQ5MTQ5OiI2MTBkOThlYWQ1Y2IwNmFiMzhmYSIsNDkyOTc6ImNhNDAwZTVmMmRkMDY4ZDc4YmNjIiw0OTQ5MDoiZDM5OGFiNGEyZTRiMDRmOGZjODMiLDQ5NTM2OiJjYmEyMDdhNWJhY2Y3YTE1M2EzZiIsNDk1ODg6IjE1NDI2YjIyMjc5NTYxZDk4ODBiIiw0OTk5NzoiNjhiZDc1OWI0YWRkNjVjZjc2NjAiLDUwMzE2OiIzMWQ2Y2ZlMGQxNmFlOTMxYjczYyIsNTAzMjU6IjU3N2NkMTE0NjE2MmJjZjA1YzJiIiw1MDU4ODoiYTI3MTE4NjIwNmU1M2ZjOTg3NGIiLDUwNjIyOiI1ZjA1ZWY1MWFiMDIzOGRhYTM2YSIsNTA3NDM6ImMwMzFkNTc0OTZmZmY3YmU5NWUyIiw1MDgwMDoiODBmOTBlMDQ0OWVmMjBmMzg5ODYiLDUxMDE3OiI0M2ViYWViNGQ2ZDg5OTBkOGM3ZiIsNTEwMzA6ImI3ZjUzZWQ2MzViMDkyZmQxNjkxIiw1MTE4NDoiOTkyMzI0MGQyODA2ZjBlMjU4ZjAiLDUxMjEzOiI2ZGIxOGY1NDVlOGZjYTg1OTFkMyIsNTEyNTY6IjgwY2MwMDFlMjFhYzg0N2U2NDJkIiw1MTMwOToiNmYwMmVhYzE0YmYwMjJkYzJhNDciLAo1MTY4MjoiMTVkMDEzNDcyYjg1Y2Q5ODUxN2EiLDUxODUwOiIzMGFmM2EzZDFmYTU3MjUyZDczYSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MjkyMDoiMzBiYTA1ZDZhNTM5M2UzMzE4MjciLDUyOTYxOiJjZjY1MzhjNDFmN2Q4ZmUxNjc0MSIsNTMyMjg6ImQ1N2IxY2M5NDdkNTFkNTRmNGMwIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1MzkyMzoiZmEzMmI0NjhiZjcyYmU5MGE3M2QiLDU0MDkzOiJkODBjMGZmYjIzNDU3ZmY4NWVmNCIsNTQzMTA6ImNkZDAyMmZkYWZlNDRmYzJjNTg5Iiw1NDMzOToiY2FlZWU1MGNkMGIxZDBhYjRlOGMiLDU1MjkwOiIxODZjZTMzOGQyZTI3OGVkZjFmNCIsNTUzMzY6ImZhYTc3MTY0YTU2MzZkODI2NDc1Iiw1NjEyMToiYmQ2NGJkNTI5MGUxNzhlNThlNmUiLDU2MjEzOiIwMGQyNWZlOGFkMTY5ZTMxOGIyZSIsNTYyNTI6IjJiODJmNTc1YmExY2ViNTRmYTI5Iiw1NzI1NDoiMWQ3ZTg5NzFkOTJlYmI5NTcxMjQiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1NzYyNjoiOWE4YzNiOWQ5ZDRiM2YxM2MxZWIiLDU4MDQzOiJhMmFmMGRiYjQ1ZDBlMmNiMDM3NCIsNTgzODQ6IjY2YTYwYjVlYmIzZTA0NmY4MmQxIiw1ODkzMzoiYjNhZTUxYjliMzgzZjNhYzk1NjQiLDU5MzUwOiJiNjYzNjNkMTk5ODQxZWJmOGI4NiIsNTk0Mzc6ImI3MmM1MGI1MDVmMTJjOTljNzJlIiw1OTgzMDoiZWI3YzE4M2QzMzFiODVlOGFmNjAiLDYwMDYyOiI0OTU0NDRhN2ZhYzE3M2ZiMjhjZCIsNjAwOTA6ImRmMGExNDk4ZDQzOTI5YmE5MTBkIiw2MDc2OToiYzZiNTk2NmU5ZGY1NWRkMTlhYmYiLDYxMTkyOiIyMmQ1NDJiODYzM2Q1YTRhNTg3ZCIsNjE0MTM6IjRmYmY4ZDMzNTYyMGMwZWY4Mjc1Iiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNjAwOiI2MTA2MzU2Y2I4MTZmYjc0YjE3YiIsNjI3OTA6IjBjZDJiOTE3ZjdhNzE2OTBlNzQ1Iiw2MjgwNjoiYWU3Yjk5MmJkNTMxZTc2ZjhlNzYiLDYyODkyOiI2NWEwMzU1MGFjNGIzNmQ4Mzg4YyIsNjMwMzM6ImY5MmE4NzQ3MWU1ZTEwMWM4YzU1Iiw2MzEwMDoiMzYyMWZlYjhiZmFiZDRhYzVhNjQiLDYzNzIzOiIxYzY1YTA5YzIwYjYxZTM0NDcwOCIsNjQxMTM6IjAzYTJlNDc1YzQ1YTUzNzMxMjVkIiw2NDE5NToiNzIxNTFiYTJlNjczNDczZjcyYTQiLDY0NTAzOiJlYTZlMzRmMWYyN2JhZDdkZjhkMiIsNjQ2NDM6IjVlZjNiZGJhYTBjNmM0ODg5ZjRlIiw2NDY3NDoiNjZkNWEzY2I1Zjg0MDYzMzQ0N2EiLDY1NTI4OiI5ZGNjMTkxYTRhYjQ4N2QwYjEwYyIsNjU2MTM6ImM5OWYzYjY5MTBmMGY1ZWIyZWQzIiw2NTY0MzoiM2M5NjU5MTYyMmRlZmMwYWJkMDYiLDY1NjkyOiIyZjM4OWQ0NDNkOTc1Y2NiMDM1ZSIsNjU4NTY6IjZjZjI3MzA2NDUxNmNkODEyOWMwIiw2NjIyOToiMDkwYWQ1NGMyZmMzM2UxZjFmZjciLDY2MjcwOiIwMGY3ZTAyNzMwYjQ1NmFiZjI2ZCIsNjY0NzM6IjIxODIyZWI1YmE2ZDhiZDUwYzZlIiw2NjUyMjoiNjYxYTk3MTYxYzNjYWQ5NjkwZDIiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNjcyNDQ6ImY5ZmYxMzY3YjE0MjNmNGEwNWVhIiw2NzU0MzoiZGNkYmE4OTk0OWMwMGJmNTc1ZDYiLDY3Njg1OiIxMzc1NTI5NmQ3ZDI2ZWI3ZGJjYyIsNjc3ODQ6IjIzYjc0NTZjMjEyODQ5ZTViN2U4Iiw2NzkyNDoiMTgwNTAwODZhOTQ2OGVjNGQwMTkiLDY3OTI1OiJjZGQ3N2E2OTcyNzg3Nzg5YTYxNiIsNjg1Nzk6ImMwMTg3NGFlOTNmY2VlOTRiMzg4Iiw2ODY4NjoiMjUxMTRiZWE1ZmZlZDBlZTIxNzEiLDY4OTQyOiI0OWNlMzVlMDhkZmJiN2I5OGU1YSIsNjg5NjQ6Ijk0MjViNTg3MzBkZjEzODA2ZmY2Iiw2OTE4NToiMjhlMGQ0MTJjNjQzNjk1N2I1ZjEiLDY5MjA5OiIxMTIxNGQxZmIxMGEzYTc2YTAwYiIsNjk3NDc6IjAzMWQyNTU0MjRiMGRlMWQzZmMyIiw2OTc2NjoiMTg5OWMwNzkyZGYwOWNjYTVlYTQiLDY5ODAzOiI2ZWQ3Yzc4MzA1ZmVlMGFiM2I3MiIsNjk4MDk6IjQyNDU3YmZiNjUxMjI1NmIyYzA4Iiw2OTg2MToiODdlMjBhODk1MWNlZWNjNDYxZDgiLDcwMjU1OiI1YzlhMWVlNDAyZjMxYjc2YzE4OSIsNzAyODA6ImZmMzJmOGU2MDg0NDBmMDU3YTI5Iiw3MDY1NjoiY2U0ZmI0ZGZkOTU5ZWVmYzg0YzciLDcwNzU2OiIyYzE2ZWJkYTk3ZGJmZTE3NDgyOSIsNzA4MTU6IjNjZTZkNmEyNjg2ZTg4OTA3YWIzIiw3MTE5MDoiOGY1YmYyYWU5NDg4ZDY1ZDMyNWEiLDcxMzUwOiJhZTI5ZGNiMzBjODJjOGQ4YzFmMyIsNzE0MTQ6ImUzNDVlZDc1MmQzYTIwZDE5NDY3Iiw3MTQzNzoiMTc2ZGI4ZGQ2ZTlhMGJkY2M4Y2MiLDcxNDgyOiIxZjBhZGE5MTYwZjNmOWZjZWMwMyIsNzE5MDE6IjQzZDViNDhkOTY0MzY1NmJmZDJjIiw3MTk5MToiZmM2MTlmNzViYWRiOTIwMTUyNzgiLDcyMjQ5OiI4NGJjNzg2N2Y1ZjEwNGJiYWQyNiIsNzI1MTI6IjYxOTMxMDJlMzE1MjgwNmI4YjBmIiw3MjY4MDoiZjc5YTU3MTYwY2Q3MjRhZGZkZmMiLDcyOTAyOiI3NzZkYmI0NDY5ZDE5NTRmNWM2YSIsNzM0MjU6ImFlYWI5MTI5ZThkZDM5YjVhMjQ0Iiw3MzU1MToiMzI4MmUwNTI1YTkzNTgyMGI0ZjciLDczOTYwOiIzMzRiMTNkYWM5ZjU1MjliMmU0NSIsNzQyMzM6IjFlNzc2MWE4MWM0ZWM1Zjk5ODc2Iiw3NDI3MzoiNjY3NDNmYjM2ODdjNzdjMTVjYTEiLDc0MzgxOiJmZDZiOTAxNTNjNmMxNmIyYmM5YSIsNzQ0MjI6IjNkNzg4NWI0MTQyY2Y1ZjA4YjA4Iiw3NDQ3MToiY2QxOTI3ZDIzYzE1NmIxZGYzMzciLDc0NjM2OiJiMGRlYTE2NWY0NDVmNDA5MDlmYSIsNzQ4MzA6IjRmNTBkMDBmYmY5NWMxZTI5Njk1Iiw3NTE3MjoiYjFkM2ZmZGVkZTk0ZWUzZWI0YmMiLDc1MjE3OiI4YmZkMjM0MzU0ODYzMTMwZTJlMCIsNzU2MDM6ImRlNDNjYmU1OWFkZDg5ZTkyY2M1IiwKNzYyNzg6IjQwOTJiMDM4NjgxYzUwZjFlN2Y2Iiw3NjMyOToiYzU3ZDE2ZDM1MGRkNmY0YWE3YWQiLDc2NjY0OiI5OWMxYzQ0M2M0NWI2NzRjMzQyZSIsNzY5MTI6ImYwNTUzYzUyODNjOWRhMTI1YjQ5Iiw3NzI2NDoiNzNkMTBjZmI1ZWMwZjEwNjcyN2MiLDc4MTgyOiI5MmZkZmNlMTAwZTgxMjIwNDZmYyIsNzgyMzc6ImU4OTZhOGJlYTkyNWQ2NWY2ZWZmIiw3ODM0MToiMDVhOGU0MzQ5MjM0YzYxOTI5MmUiLDc4NDA0OiJiNWVjZDZkYzY1ZjEzZGVmNWVhYiIsNzg0MzQ6IjU4MGY1ZDIyNWY0YjBmM2E3NjIzIiw3ODQ3MToiMDUyZjk2MzMwMzQ2MThiMDE1NjEiLDc4ODk5OiJiYjVmODFkOTRiZTViNWE3YmJkMSIsNzkxOTE6IjQ4MjM4YzczZTQwMzZjNDcyMzQwIiw3OTI0NDoiZmFkYzYxNGYwYTQwNWZkNGM0OWIiLDc5Mzk4OiI5ZjcwZTEwMTc1MjRlZDkzMDEzNiIsNzk0Mzk6IjE4ZDhiYWE1YTIzMDIyMTU1MGJmIiw3OTc5MToiMTYzYzFiYjA3YzYwNDI5NDQzZGYiLDc5ODkyOiJkM2Q5MGQ1ZjVlZTU0MGY1MzQyZSIsODAwNDE6ImZmMmUzZGY5NjNkNThjMTc3MWY1Iiw4MDYzOToiOTM0MDJjMDA5YTI3YjQ2NjBjN2IiLDgwNzMxOiJmOTY4Mzg1YmUyZTIwMDYyYmVkYSIsODA3NjE6IjE5MzFkYTk0Zjk0ODI1ZGJhYWY4Iiw4MDc4MjoiOTc1ZmI0MWQ0MmFlMmQ1MWMwOGIiLDgxMDAxOiJhZmY4NGJjMDRhMDNiMTdiNTQ2ZCIsODExMDc6IjFiYmE1OWUyMDg5ZTU4MzQ3ODU5Iiw4MTIxMDoiMGIxZWI3MTYxMzQ1ZDMzNDAwNDIiLDgxMjQ3OiI3MDU5MDYzYmE0ZDNiMzczMDJkYyIsODE1Mjk6Ijk2NTI0YjAzOTNjZjg2OTVkOWNmIiw4MTgxODoiNzY0N2UzNzljMDhjZmFkYzNhMGEiLDgxOTAzOiIyY2E2NzZiYmU0NjM4MmU2YzFmZiIsODIyNzA6IjUyMDAzODQwODAyYTdhMTVkNGY5Iiw4MjI3MToiYzAyMWJhZTQ0NDY2NWEzNDg1M2YiLDgyNTg2OiJkZTlhMmVhNTE1Yjk2MGUwNTQ3ZSIsODMyNjE6ImI0NWNkOTQyMzI4Y2Q5YjBlYWZhIiw4MzUyOToiZDk2ZWE1YzFmOWM4Mzc1ZmJjMTgiLDgzNjc1OiI1ZWQwMTg0ODI3MjNhYmFmOWU4NiIsODQyMjQ6IjMyNzgzNWMyMDIwZTlkN2U0YWQ4Iiw4NDMzNToiYjZjNThmZTViYjNhMDk5YzFmNjUiLDg0OTQ4OiIxZjA1ZDJlNjM4Nzc5MzFhNGExMSIsODU1MTE6ImJjMDAxNWM3MzY4MzBkYmI0MzkxIiw4NjA4NzoiOGRhNTZjMTMzNGU0MzZkZDNhOTEiLDg2MTc4OiJlNmZiZWM5MGFmNWJhNjIxMDM2OCIsODYzNjA6ImE5NDkyZDM3NzRhYmE3NjAzNDc5Iiw4NjU0NDoiOGU0YzYyODA0YjZmYjA3ZGNhNTUiLDg2OTk3OiJkOWExYjJhY2EwMGE2MjA5ZmU2MSIsODcyNTY6IjNmNWUwNWRjNDRkMjcwNmE5MDI2Iiw4NzQ3NDoiYmUyOGY5ZTAwM2UwYzQ3M2I5MWQiLDg3NDk4OiJlNTk0MDAyYTJjN2ViMzAxYWZhNSIsODc2NzM6ImFmZDEwMWJkOTczZGU0MzVmZTRhIiw4NzcyMToiZDQ4YzAyNjczMzZkYzY2OTEwN2QiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODc3Njc6ImVkZWNmNDM5NTA0OGI3NDExYTg1Iiw4ODM4NToiMDg1NTFmMjAwZmVhMGZkMDNjZDUiLDg4NjQxOiIwNDE0MzhkMTFjNDZmY2U5ZDA4OSIsODkwNDQ6IjEyMjg4NjU5MWRiM2ZhNmZkYzAzIiw4OTE5NToiZjFlYmMyNGEwZGQ2YzllMDQ1NTIiLDg5NDMwOiIzOGJmODZiODVjOTg4MzE4ZmM3MiIsODk1NTg6Ijk4MWEzNGIxOWI0MWZhZDkyYjg4Iiw5MDMzMDoiYWFmMTYyMWU5ZTY4YjMxZjNjNmUiLDkwMzc4OiI4YjNhYjJjYWM5ZDBmZjkyN2ViZCIsOTA3NDE6ImFmMmI0ODE3MGQ2NDU0NzQwOGZmIiw5MDk2MDoiZWM5NDFhY2NmYWEzZWQyY2Q2ZTIiLDkxMjAwOiI5YTUyZjlmOTE4ZmMxOTZiYTQ0YSIsOTE2NzA6ImU4ZDNlZThkYmQ0MzVlMDM2ZWRlIiw5MTY3ODoiZTMwZDRjZGNkYzY4ODM3ZmY0ZDEiLDkyMzkzOiJmYmI4YzI3MWJjNGEwYjc1MTI2OSIsOTMxODg6IjgzMTJiOWEzNzZiNTU4ZTAwMzI0Iiw5MzQxNjoiOTA4MThkNzNlMGUzYTlhOWZlMmEiLDk0MDU0OiJkNTBlOTNlZjQzYzE4NGE1MTNlZiIsOTUxNTg6IjUzYmU2ZWU2NjRlNTA1MTg0NWY4Iiw5NTgzMToiZjA5ODQ4NjI4NDVlNTliYWY5MDUiLDk1ODUzOiI5YjIyODIxZWUzYjBlMzg3OTBjMCIsOTYxODE6ImFiNDljNzE0YTVkMmQ1MDMyMGRjIiw5NjM1MjoiODU2NGI0YWRmMTRlNDdlMDUxYWYiLDk3MTQ5OiI2NWQyNWE1Y2M5YjJhZTUxNjk2OCIsOTc2NjA6ImFlOWYzZDRlNTY5NmY1ZDExOWE3Iiw5Nzg0NToiZjJkYjRkYzgyMDIzZWQ0MjIwZmMiLDk4NDMzOiI1MTM4ZmFmM2FhZjE0ZjJhNGE3OCIsOTg0NzU6IjMzNzhmN2ExMjMwNjliMmU3ZjBmIiw5ODUwOToiZjhkNmFjMzg1NTgxOTY4MDBkODEiLDk4Njk2OiJlMTBjZWVjZmQ0NDUzNWQ2ZWExYSIsOTk0NDg6IjNlY2Q1MWNjNDRjMTZlNWZlMDRmIiw5OTU5MzoiYjRmOGFlMTdjMGZiNjhmMmZiMDAiLDk5OTA4OiJmM2Y3MmYyZTk3M2ZiZDlkYTkxZSIsOTk5NDQ6ImVmZjMyODgyYzdhZGU4ZDkwZTVmIn1bZV0rIi5jc3MiLHQuZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLHQubz0oZSxhKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSksZD17fSxmPSJ0cmFkaW5ndmlldzoiLHQubD0oZSxhLGMsYik9PntpZihkW2VdKWRbZV0ucHVzaChhKTtlbHNle3ZhciBfLG87aWYodm9pZCAwIT09Yylmb3IodmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGk9MDtpPHMubGVuZ3RoO2krKyl7dmFyIHI9c1tpXTtpZihyLmdldEF0dHJpYnV0ZSgic3JjIik9PWV8fHIuZ2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siKT09ZitjKXtfPXI7YnJlYWt9fV98fChvPSEwLChfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKS5jaGFyc2V0PSJ1dGYtOCIsdC5uYyYmXy5zZXRBdHRyaWJ1dGUoIm5vbmNlIix0Lm5jKSxfLnNldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIixmK2MpLApfLnNyYz1lLDAhPT1fLnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKF8uY3Jvc3NPcmlnaW49ImFub255bW91cyIpKSxkW2VdPVthXTt2YXIgbj0oYSxjKT0+e18ub25lcnJvcj1fLm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChsKTt2YXIgZj1kW2VdO2lmKGRlbGV0ZSBkW2VdLF8ucGFyZW50Tm9kZSYmXy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKF8pLGYmJmYuZm9yRWFjaCgoZT0+ZShjKSkpLGEpcmV0dXJuIGEoYyl9LGw9c2V0VGltZW91dChuLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDpffSksMTJlNCk7Xy5vbmVycm9yPW4uYmluZChudWxsLF8ub25lcnJvciksXy5vbmxvYWQ9bi5iaW5kKG51bGwsXy5vbmxvYWQpLG8mJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoXyl9fSx0LnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHQubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSx0Lmo9Nzk3OTUsKCgpPT57dmFyIGU7dC5nLmltcG9ydFNjcmlwdHMmJihlPXQuZy5sb2NhdGlvbisiIik7dmFyIGE9dC5nLmRvY3VtZW50O2lmKCFlJiZhJiYoYS5jdXJyZW50U2NyaXB0JiYiU0NSSVBUIj09PWEuY3VycmVudFNjcmlwdC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJihlPWEuY3VycmVudFNjcmlwdC5zcmMpLCFlKSl7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7aWYoYy5sZW5ndGgpZm9yKHZhciBkPWMubGVuZ3RoLTE7ZD4tMSYmKCFlfHwhL15odHRwKHM/KTovLnRlc3QoZSkpOyllPWNbZC0tXS5zcmN9aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlciIpO2U9ZS5yZXBsYWNlKC9eYmxvYjovLCIiKS5yZXBsYWNlKC8jLiokLywiIikucmVwbGFjZSgvXD8uKiQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIvIiksdC5wPWV9KSgpLHQuZy5sb2NhdGlvbiYmdC5wLnN0YXJ0c1dpdGgodC5nLmxvY2F0aW9uLm9yaWdpbikmJih0LnA9dC5wLnNsaWNlKHQuZy5sb2NhdGlvbi5vcmlnaW4ubGVuZ3RoKSksKCgpPT57Y29uc3QgZT10LnU7dC51PWE9PmUoYSkucmVwbGFjZSgiX19MQU5HX18iLHQuZy5sYW5ndWFnZSl9KSgpLCgoKT0+e3ZhciBlPXQuZSxhPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYyhhLGQpe3JldHVybiBlKGEpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZil7dmFyIGI9ZnVuY3Rpb24oKXtzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsYiwhMSksITE9PT1uYXZpZ2F0b3Iub25MaW5lP3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKTpmKGQ8Mj9jKGEsZCsxKTplKGEpKX07c2V0VGltZW91dChiLGQqZCoxZTMpfSkpfSkpfXQuZT1mdW5jdGlvbihlKXtpZighYVtlXSl7YVtlXT1jKGUsMCk7dmFyIGQ9ZnVuY3Rpb24oKXtkZWxldGUgYVtlXX07YVtlXS50aGVuKGQsZCl9cmV0dXJuIGFbZV19fSkoKSwoKCk9PntpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgZT1lPT5uZXcgUHJvbWlzZSgoKGEsYyk9Pnt2YXIgZD10Lm1pbmlDc3NGKGUpLGY9dC5wK2Q7aWYoKChlLGEpPT57Zm9yKHZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj0oXz1jW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHxfLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PV8ucmVsJiYoZj09PWV8fGY9PT1hKSlyZXR1cm4gX312YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgXztpZigoZj0oXz1iW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fGY9PT1hKXJldHVybiBffX0pKGQsZikpcmV0dXJuIGEoKTsoKGUsYSxjLGQsZik9Pnt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi5yZWw9InN0eWxlc2hlZXQiLGIudHlwZT0idGV4dC9jc3MiLGIub25lcnJvcj1iLm9ubG9hZD1jPT57aWYoYi5vbmVycm9yPWIub25sb2FkPW51bGwsImxvYWQiPT09Yy50eXBlKWQoKTtlbHNle3ZhciBfPWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSksbz1jJiZjLnRhcmdldCYmYy50YXJnZXQuaHJlZnx8YSx0PW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrbysiKSIpO3QuY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIix0LnR5cGU9Xyx0LnJlcXVlc3Q9byxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxmKHQpfX0sYi5ocmVmPWEsMCE9PWIuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKGIuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLGM/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGMubmV4dFNpYmxpbmcpOmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9KShlLGYsbnVsbCxhLGMpfSkpLGE9ezc5Nzk1OjB9O3QuZi5taW5pQ3NzPShjLGQpPT57YVtjXT9kLnB1c2goYVtjXSk6MCE9PWFbY10mJnsyMDI6MSw2NDU6MSw2NDY6MSw2NTc6MSwxNTA5OjEsMTY3NjoxLDE2Nzg6MSwyMDEzOjEsMjMzMToxLDIzNzI6MSwyNTExOjEsMzMxMDoxLDMzMjM6MSwzNzE5OjEsMzkxNjoxLDQwNDI6MSw0MTI3OjEsNDQ3NzoxLDQ2NjA6MSw0OTI5OjEsNDk2OToxLDUxODQ6MSw1MTg2OjEsNTMyMjoxLDU1Mzk6MSw1NjAzOjEsNTY4OToxLDU3NTY6MSw2MDcwOjEsNjA4MjoxLDY1ODM6MSw2NjA1OjEsNjY0NzoxLDcxMTE6MSw3MTYzOjEsNzM4NzoxLDc0NDU6MSw3NDU2OjEsNzY2NToxLDc4NjM6MSw3ODk5OjEsNzkyNzoxLDgyMTY6MSw4NTc5OjEsOWUzOjEsOTE0MDoxLDk0ODg6MSwKOTUwNDoxLDk3NDQ6MSwxMDM2NjoxLDEwMzg1OjEsMTEwMDg6MSwxMTIxODoxLDExMjU3OjEsMTE0NjE6MSwxMTQ4OToxLDExNTM3OjEsMTE3MjU6MSwxMjA1MToxLDEyMzg1OjEsMTI0MTI6MSwxMjUyNzoxLDEyNTY1OjEsMTI2NjY6MSwxMzAzOToxLDEzNDkyOjEsMTM2Nzc6MSwxNDE5MzoxLDE0NjI1OjEsMTQ2NDA6MSwxNDY1NzoxLDE0Njk3OjEsMTUzODM6MSwxNTUyNjoxLDE1NjM0OjEsMTYzOTk6MSwxNjQyMToxLDE3MDg3OjEsMTc2OTM6MSwxNzc1MToxLDE3ODYxOjEsMTc4NjU6MSwxODE2MjoxLDE4NDAwOjEsMTg0NDI6MSwxODQ3MjoxLDE4Njc0OjEsMTk0NDc6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTYzMToxLDE5Nzg3OjEsMTk4MzM6MSwyMDA4NToxLDIwMTUzOjEsMjAyNzE6MSwyMDM1NDoxLDIwMzcwOjEsMjA1NjQ6MSwyMDU5MDoxLDIwOTcxOjEsMjA5ODY6MSwyMTI0NToxLDIxNTgxOjEsMjIwNzA6MSwyMjE0NDoxLDIyNDA1OjEsMjI0NjQ6MSwyMzI1NDoxLDIzMzY5OjEsMjM2MjQ6MSwyMzY2OToxLDI0MzE2OjEsMjQ0MDg6MSwyNDU4MToxLDI0NjAzOjEsMjUxNDI6MSwyNTQ4NToxLDI1NTU0OjEsMjU1NjI6MSwyNTY0NzoxLDI1Njk4OjEsMjU4MDk6MSwyNTg5NToxLDI2MTAwOjEsMjY1OTI6MSwyNjk4OToxLDI3MDg1OjEsMjcyMTc6MSwyNzMzNzoxLDI3NDQ2OjEsMjc1MTM6MSwyNzUxNzoxLDI3NTQ5OjEsMjc2NjU6MSwyNzY5NjoxLDI3NzM2OjEsMjgwMTc6MSwyODkzNjoxLDI4OTk1OjEsMjkxMzM6MSwyOTI5NjoxLDI5MzE1OjEsMjkzMjc6MSwyOTM0ODoxLDI5NDg5OjEsMjk1MzY6MSwyOTcxNDoxLDI5OTQzOjEsMjk5OTM6MSwzMDAyOToxLDMwMzczOjEsMzA3NDU6MSwzMDc4OToxLDMwOTIyOjEsMzA5NjA6MSwzMTAwMToxLDMxMjYyOjEsMzE1NTc6MSwzMjE3NjoxLDMyNDI3OjEsMzI3NDg6MSwzMjgxNjoxLDMyODU3OjEsMzMxMjA6MSwzMzIyMToxLDMzMzY4OjEsMzM1MTU6MSwzMzU1MzoxLDM0NzU4OjEsMzUwNzM6MSwzNTE5ODoxLDM1MzQyOjEsMzUzOTk6MSwzNTYzMDoxLDM1Nzk0OjEsMzYxNzM6MSwzNjIyMjoxLDM2MzU2OjEsMzY1MjE6MSwzNjU0NToxLDM2OTg2OjEsMzc1MTM6MSwzNzU2NzoxLDM3NzQ2OjEsMzc3Njc6MSwzNzg2NzoxLDM4MDAyOjEsMzgyNjI6MSwzODQ3OToxLDM4NzgyOjEsMzg4Njg6MSwzOTc4NjoxLDQwMTY4OjEsNDAyMjA6MSw0MDgzNToxLDQwODY3OjEsNDA5MDI6MSw0MDkxNDoxLDQxNTA2OjEsNDE1ODg6MSw0MTYwODoxLDQxODExOjEsNDE5ODA6MSw0MjAzMzoxLDQyMzAxOjEsNDI3MjE6MSw0MzMyNToxLDQzNDMzOjEsNDM0NDE6MSw0MzQ4NjoxLDQzNjQ0OjEsNDM3OTI6MSw0MzgwODoxLDQzODQxOjEsNDM5MTk6MSw0MzkzOToxLDQ0MDMxOjEsNDQ0NjA6MSw0NDk0NjoxLDQ1MjQyOjEsNDUzMzE6MSw0NTM2ODoxLDQ1NDE4OjEsNDU3ODM6MSw0NTk0NToxLDQ2MDM0OjEsNDYwNTU6MSw0NjI0NToxLDQ2NTkxOjEsNDY3NTY6MSw0NjkwNzoxLDQ3MDIxOjEsNDcwOTI6MSw0NzIwMToxLDQ3MzE2OjEsNDc0NTc6MSw0NzU1MToxLDQ3NTc5OjEsNDc2MzI6MSw0ODMxMjoxLDQ4NjgyOjEsNDg4NjQ6MSw0OTE0OToxLDQ5Mjk3OjEsNDk0OTA6MSw0OTUzNjoxLDQ5NTg4OjEsNDk5OTc6MSw1MDAzNToxLDUwMjIxOjEsNTAzMTY6MSw1MDMyNToxLDUwNTg4OjEsNTA2MjI6MSw1MDc0MzoxLDUwODAwOjEsNTEwMTc6MSw1MTAzMDoxLDUxMTg0OjEsNTEyMTM6MSw1MTI1NjoxLDUxMzA5OjEsNTE2ODI6MSw1MTg1MDoxLDUxODgwOjEsNTIwNjU6MSw1MjA5NToxLDUyMTc4OjEsNTIzOTY6MSw1MjY4MDoxLDUyOTIwOjEsNTI5NjE6MSw1MzIyODoxLDUzMzI5OjEsNTM1MjE6MSw1MzcxMzoxLDUzOTIzOjEsNTQwOTM6MSw1NDMxMDoxLDU0MzM5OjEsNTUwMTE6MSw1NTI5MDoxLDU1MzM2OjEsNTYxMjE6MSw1NjIxMzoxLDU2MjUyOjEsNTcyNTQ6MSw1NzMwMDoxLDU3NTA0OjEsNTc2MjY6MSw1ODA0MzoxLDU4MDUxOjEsNTgzODQ6MSw1ODkzMzoxLDU5MzUwOjEsNTk0Mzc6MSw1OTgzMDoxLDYwMDYyOjEsNjAwOTA6MSw2MDc2OToxLDYxMTkyOjEsNjE0MTM6MSw2MTgyMToxLDYyNjAwOjEsNjI2MzA6MSw2Mjc5MDoxLDYyODA2OjEsNjI4OTI6MSw2MzAzMzoxLDYzMTAwOjEsNjM3MjM6MSw2NDExMzoxLDY0MTk1OjEsNjQ1MDM6MSw2NDY0MzoxLDY0Njc0OjEsNjU1Mjg6MSw2NTYxMzoxLDY1NjQzOjEsNjU2NzU6MSw2NTY5MjoxLDY1ODU2OjEsNjYyMjk6MSw2NjI3MDoxLDY2NDczOjEsNjY1MjI6MSw2NzIxMjoxLDY3MjQ0OjEsNjc1NDM6MSw2NzY4NToxLDY3Nzg0OjEsNjc3OTk6MSw2NzkyNDoxLDY3OTI1OjEsNjg1Nzk6MSw2ODY4NjoxLDY4OTQyOjEsNjg5NjQ6MSw2OTE4NToxLDY5MjA5OjEsNjk3NDc6MSw2OTc2NjoxLDY5ODAzOjEsNjk4MDk6MSw2OTg2MToxLDcwMjU1OjEsNzAyODA6MSw3MDM2NDoxLDcwNjU2OjEsNzA3NTY6MSw3MDgxNToxLDcxMTkwOjEsNzEzNTA6MSw3MTQxNDoxLDcxNDM3OjEsNzE0ODI6MSw3MTUyODoxLDcxOTAxOjEsNzE5OTE6MSw3MjI0OToxLDcyNTEyOjEsNzI2NjY6MSw3MjY4MDoxLDcyOTAyOjEsNzM0MjU6MSw3MzU1MToxLDczOTYwOjEsNzQyMzM6MSw3NDI3MzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDQ2MToxLDc0NDcxOjEsNzQ2MzY6MSw3NDgzMDoxLDc1MTcyOjEsNzUyMTc6MSw3NTMwNDoxLDc1NjAzOjEsNzYyNzg6MSw3NjMyOToxLDc2NjY0OjEsNzY5MTI6MSw3NzI2NDoxLDc4MTgyOjEsNzgyMzc6MSw3ODM0MToxLDc4NDA0OjEsNzg0MzQ6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw3OTE5MToxLDc5MjQ0OjEsNzkzOTg6MSw3OTQzOToxLDc5NzkxOjEsNzk4OTI6MSw4MDA0MToxLDgwNjM5OjEsODA3MzE6MSw4MDc2MToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxMTA3OjEsODEyMTA6MSw4MTI0NzoxLDgxNTI5OjEsODE4MTg6MSw4MTkwMzoxLDgyMjcwOjEsODIyNzE6MSw4MjU4NjoxLDgzMDQxOjEsODMyNjE6MSw4MzQ4ODoxLDgzNTI5OjEsODM2NzU6MSw4NDIyNDoxLDg0MzA2OjEsODQzMzU6MSw4NDk0ODoxLDg1NTExOjEsODYwODc6MSw4NjE3ODoxLDg2MzYwOjEsODY0MjM6MSw4NjU0NDoxLAo4Njk5NzoxLDg3MjU2OjEsODc0NzQ6MSw4NzQ5ODoxLDg3NjczOjEsODc3MjE6MSw4Nzc0MDoxLDg3NzY3OjEsODgzODU6MSw4ODY0MToxLDg5MDQ0OjEsODkxOTU6MSw4OTIwNDoxLDg5NDMwOjEsODk1NTg6MSw5MDMzMDoxLDkwMzc4OjEsOTA3NDE6MSw5MDk2MDoxLDkxMjAwOjEsOTE2NzA6MSw5MTY3ODoxLDkxODU1OjEsOTIzOTM6MSw5MzE4ODoxLDkzNDE2OjEsOTM0MjE6MSw5NDA1NDoxLDk0MjMyOjEsOTQ5NDg6MSw5NTE1ODoxLDk1ODMxOjEsOTU4NTM6MSw5NjE4MToxLDk2MzUyOjEsOTY1ODc6MSw5NzE0OToxLDk3NjYwOjEsOTc4NDU6MSw5ODA4NDoxLDk4NDMzOjEsOTg0NzU6MSw5ODUwOToxLDk4Njk2OjEsOTk0NDg6MSw5OTU5MzoxLDk5OTA4OjEsOTk5NDQ6MX1bY10mJmQucHVzaChhW2NdPWUoYykudGhlbigoKCk9PnthW2NdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSBhW2NdLGV9KSkpfX19KSgpLHQuaTE4bmV4dD0oZSxhPXt9LGMsZD10LmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpe2lmKEFycmF5LmlzQXJyYXkoYykpcmV0dXJuIGNbdm9pZCAwPT09YS5jb3VudD8wOnQuX3BsdXJhbFtkXShhLmNvdW50KV0ucmVwbGFjZSgveyhcdyspfS9nLCgoZSxjKT0+dm9pZCAwIT09KGEucmVwbGFjZXx8YSlbY10/KGEucmVwbGFjZXx8YSlbY106ZSkpO2lmKCJvYmplY3QiPT10eXBlb2YgYylyZXR1cm4gY1t0LmcubGFuZ3VhZ2VdP3QuaTE4bmV4dChudWxsLGEsY1t0LmcubGFuZ3VhZ2VdKTp0LmkxOG5leHQobnVsbCxhLGMuZW4sImVuIil9ZWxzZSBpZihjJiZlKXtjb25zdCBkPWAke2V9JHthLmNvbnRleHQ/YF8ke2EuY29udGV4dH1gOiIifWA7aWYoY1tkXSlyZXR1cm4gdC5pMThuZXh0KG51bGwsYSxjW2RdKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZS50b1N0cmluZygpOiJzdHJpbmciIT10eXBlb2YgZT8iIjplfSwoKCk9Pnt0LmI9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuYmFzZVVSSXx8c2VsZi5sb2NhdGlvbi5ocmVmO3ZhciBlPXs3OTc5NTowLDM5MDU6MCw1NDY4MTowLDMxODM3OjAsNTE1MDg6MCw0OTUxODowLDMyNjMyOjAsODQwODowLDk5NTI3OjAsMTE0MDk6MCwzMDIwMDowLDUyODQyOjAsODg5MDY6MCwxMzgwOTowLDg1NTEwOjAsMzM3MzU6MH07dC5mLmo9KGEsYyk9Pnt2YXIgZD10Lm8oZSxhKT9lW2FdOnZvaWQgMAo7aWYoMCE9PWQpaWYoZCljLnB1c2goZFsyXSk7ZWxzZSBpZigvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDUzN3w3MjUpfDIoMDUxfDM4NXw0MTJ8NTI3fDU2NXw2NjYpfDMoMDM5fDQ5Mnw2Nzd8ODA5KXw0KDYoMjV8NDB8NTd8OTcpfDE5Myl8NSgwOXwzODN8NTI2fDYzNCl8NigzOTl8NDIxfDc2fDc4KXw3KDg2WzE1XXwwODd8NjkzfDc1MSl8OCg0KDAwfDQyfDcyKXwxNjJ8Njc0KXw5KDUoMTN8OTV8OTgpfDQ0N3w2MzF8Nzg3fDgzMykpfDIoMChbMjldNzF8MDg1fDEzfDE1M3wyfDM1NHwzNzB8NTY0fDU5MHw5ODYpfDIoMDcwfDE0NHw0MDV8NDY0KXwzKFszNl02OXwyNTR8MzF8NjI0fDcyKXw0KDMxNnw0MDh8NTgxfDYwMyl8NSgxMXwxNDJ8NDg1fDU1NHw1NjJ8NjQ3fDY5OHw4MDl8ODk1KXw2KDEwMHw1OTJ8OTg5KXw3KDUoMTN8MTd8NDkpfCg0NHw2OXw3Myk2fDA4NXwyMTd8MzM3fDY2NSl8OCgwMTd8OTM2fDk5NSl8OSgzKDE1fDI3fDQ4KXwoMTN8OTR8OTkpM3wyOTZ8NDg5fDUzNnw3MTQpfDEyNDV8MTU4MSl8MygwKDAyOXwyMDB8MzczfDc0NXw3ODl8OTIyfDk2MCl8MSgwMDF8MjYyfDU1N3w4MzcpfDIoMTc2fDQyN3w2MzJ8NzQ4fDgxNnw4NTcpfDMoMTB8MTIwfDIyMXwyM3wzNjh8NTE1fDU1M3w3MzUpfDUoMDczfDE5OHwzNDJ8Mzk5fDYzMHw3OTQpfDYoMTczfDIyMnwzNTZ8NTIxfDU0NXw5ODYpfDcoWzU3OF02N3wxOXw1MTN8NzQ2KXw4KCgwMHwyNnw3OCkyfDQ3OXw4NjgpfDkoMDV8MTZ8Nzg2KXw0NzU4KXw0KDAoMTY4fDIyMHw0Mnw4MzV8ODY3fDkwMnw5MTQpfDEoMjd8NTA2fDU4OHw2MDh8ODExfDk4MCl8MigwMzN8MzAxfDcyMSl8Myg0KDMzfDQxfDg2KXwzMjV8NjQ0fDc5Mnw4MDh8ODQxfDkxOXw5MzkpfDQoMDMxfDQ2MHw3N3w5NDYpfDUoMjQyfDMzMXwzNjh8NDE4fDc4M3w5NDUpfDYoMDM0fDA1NXwyNDV8NTkxfDYwfDc1Nnw5MDcpfDcoKDAyfDIwfDU1KTF8MDkyfDMxNnw0NTd8NTc5fDYzMil8OCgzMTJ8NjgyfDg2NCl8OSgyOSh8Nyl8NSgxOHwzNnw4OCl8MTQ5fDQ5MHw2OXw5OTcpKXw1KDAoMDM1fDIyMXwzMTZ8MzI1fDU4OHw2MjJ8NzQzfDgwMCl8MSg4KDR8NTB8Nnw4MCl8MDE3fDAzMHwxODR8MjEzfDI1NnwzMDl8NTA4fDY4Mil8MigwNjV8MDk1fDE3OHwzOTZ8NjgwfDg0Mnw5MjB8OTYxKXwzKDIyKHw4KXwzMjl8NTIxfDcxM3w5MjMpfDQoMDkzfDMxMHwzMzl8NjgxKXw1KDAxMXwyOTB8MzM2fDM5KXw2KDAzfDEyMXwyMTN8MjUyfDg5KXw3KDI1NHwzMDB8NTA0fDU2fDYyNil8OCgwNDN8MDUxfDM4NHw5MzMpfDkoMzUwfDQzN3w4MzApKXw2KDAoMDYyfDA5MHw3MHw3Njl8ODIpfDEoMTkyfDQxM3w4MjEpfDIoKDYwfDYzfDc5KTB8ODA2fDg5Mil8MygwMzN8MTAwfDcyMyl8NCg2KHw0M3w3NCl8MTEzfDE5NXw1fDUwMyl8NSg2KDEzfDQzfDc1fDkyKXw1Mjh8N3w4M3w4NTYpfDYoNDcofDMpfDA1fDIyOXwyNzB8NTIyKXw3KDkyWzQ1XXwyMTJ8MjQ0fDU0M3w2ODV8Nzg0fDc5OSl8OCg1Nzl8Njg2fDk0Mnw5NjQpfDkoOCgwM3wwOXw2MSl8MTg1fDIwOXw3NDd8NzY2KSl8NygwKFs2N101NnwyNTV8MjgwfDM2NHw4MTUpfDEoNCgxNHwzN3w4Mil8KDF8OTB8OTkpMXwxOTB8MzUwfDUyOHw2Myl8MigyNDl8NTEyfDY2Nnw2ODB8OTAyKXwzKDQyNXw1NTF8ODd8OTYwKXw0KDQoMjJ8NXw2MXw3MSl8MjMzfDI3M3wzODF8NTZ8NjM2fDgzMCl8NSgxNzJ8MjE3fDMwNHw2MDMpfDYoMjc4fDMyOXw2NXw2NjR8OTEyKXw4KDQoMDR8MzR8NzEpfCh8OCk5OXwxODJ8MjM3fDM0MXw2M3w2NTIpfDkoNzlbMTVdfDE5MXwyNDR8Mjd8Mzk4fDQzOXw4OTIpfDcyNjQpfDgoMCg3KDMxfDYxfDgyKXwwNDF8NjM5KXwxKDAwMXwwNzJ8MTA3fDIxMHwyNDd8NTI5fDgxOHw5MDMpfDIoMjdbMDFdfDE2fDU4Nil8MygwNDF8MjYxfDQ4OHw1Mjl8Njc1KXw0KDA4fDIyNHwzMDZ8MzM1fDk0OCl8NSg1MVswMV18NzkpfDYoMDg3fDE3OHwzNjB8NDIzfDU0NHw5OTcpfDcoNygyMXw0MHw2Nyl8MjU2fDQ3NHw0OTh8NjczKXw4KDM4NXw2NDF8OTA2KXw5KDA0NHwxOTV8MjA0fDQzMHw1NTgpKXw5KDAoKDB8MzN8OTYpMHwzNzh8NzQxKXwxKDY3WzA4XXwyMDB8NDB8ODU1KXwzKDE4OHw0MTZ8NDIxKXw0KDA1NHwyMzJ8ODh8OTQ4KXw1KDA0fDE1OHw4MzF8ODUzKXw2KDE4MXwzNTJ8NTg3KXw3KDE0OXw0NHw2NjB8ODQ1KXw4KDA4NHw0MzN8NDc1fDUwOXw2OTYpfDkoNDQ4fDUyN3w1OTN8OTA4fDk0NCl8MjM5MykpJC8udGVzdChhKSllW2FdPTA7ZWxzZXt2YXIgZj1uZXcgUHJvbWlzZSgoKGMsZik9PmQ9ZVthXT1bYyxmXSkpO2MucHVzaChkWzJdPWYpO3ZhciBiPXQucCt0LnUoYSksXz1uZXcgRXJyb3I7dC5sKGIsKGM9PntpZih0Lm8oZSxhKSYmKDAhPT0oZD1lW2FdKSYmKGVbYV09dm9pZCAwKSxkKSl7dmFyIGY9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxiPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5zcmM7Xy5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrYSsiIGZhaWxlZC5cbigiK2YrIjogIitiKyIpIixfLm5hbWU9IkNodW5rTG9hZEVycm9yIixfLnR5cGU9ZixfLnJlcXVlc3Q9YixkWzFdKF8pfX0pLCJjaHVuay0iK2EsYSl9fSx0LkYuaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04IixjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLHQubmMmJmMuc2V0QXR0cmlidXRlKCJub25jZSIsdC5uYyksYy5yZWw9InByZWZldGNoIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYyl9fSx0Lkguaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04Iix0Lm5jJiZjLnNldEF0dHJpYnV0ZSgibm9uY2UiLHQubmMpLGMucmVsPSJwcmVsb2FkIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLDAhPT1jLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGMpfX0sdC5PLmo9YT0+MD09PWVbYV07dmFyIGE9KGEsYyk9Pnt2YXIgZCxmLFtiLF8sb109YyxzPTA7aWYoYi5zb21lKChhPT4wIT09ZVthXSkpKXtmb3IoZCBpbiBfKXQubyhfLGQpJiYodC5tW2RdPV9bZF0pO2lmKG8pdmFyIGk9byh0KX1mb3IoYSYmYShjKTtzPGIubGVuZ3RoO3MrKylmPWJbc10sdC5vKGUsZikmJmVbZl0mJmVbZl1bMF0oKSxlW2ZdPTA7cmV0dXJuIHQuTyhpKX0sYz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdO2MuZm9yRWFjaChhLmJpbmQobnVsbCwwKSksYy5wdXNoPWEuYmluZChudWxsLGMucHVzaC5iaW5kKGMpKX0pKCksdC5wPXQuZyYmdC5nLldFQlBBQ0tfUFVCTElDX1BBVEh8fHQucCxiPXsxNTE3MzpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLDU2MzgyOls4NDY5Myw4ODk5NywzMDY5OSw0NjIxNyw2NjkzMyw3MTMxOV0sNzA1MzI6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XSw5MjIyOTpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLAo5Mjk2ODpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldfSx0LmYucHJlZmV0Y2g9KGUsYSk9PlByb21pc2UuYWxsKGEpLnRoZW4oKCgpPT57dmFyIGE9YltlXTtBcnJheS5pc0FycmF5KGEpJiZhLm1hcCh0LkUpfSkpLCgoKT0+e3ZhciBlPXsxOTIxMzpbNTY4MDEsMTMwMzksMTY5OV0sNzE1NjU6WzU2ODAxLDEzMDM5LDE2OTldLDg2NDEzOls1NjgwMSwxMzAzOSwxNjk5XX07dC5mLnByZWxvYWQ9YT0+e3ZhciBjPWVbYV07QXJyYXkuaXNBcnJheShjKSYmYy5tYXAodC5HKX19KSgpfSkoKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47632.33d2a3745af497e3da5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.189Z","timestamp":1785124877189,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47632.33d2a3745af497e3da5d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6a26fb7fad24e8e083f08939c0c5c37c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":178,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6b0e113b7611f749d459a146078f9a58","sha1":"5b1aec3af3fe370284f6a23557895bd0490a484c","sha256":"5d823f4989976ca71db5dbc63763c653f7f997d13757235fde75755413631b18","sha512":"93cc8381bee6b3f9f3ad64202f4c08c80830f96e99758b28c9a981feda509a38e4fd34bd149a5a7e549c7a7454930a4bdcf3e44a6d270087c2bcd027a72c82a0","ssdeep":"","tlshash":"7bc0801d13d4b410145701ef69e8662c247554fdf7136e5c36d4173b435fe1c0751970","first_seen":"2026-07-16T13:40:49.787877Z","last_seen":"2026-07-27T06:14:34.160083Z","times_seen":131,"resource_available":false,"data":"LmhpZGRlbi1uTXR4WFRYX3tvcGFjaXR5OjB9LmZhZGVJbldyYXBwZXItbk10eFhUWF97d2lkdGg6MTAwJX0uZmFkZUluV3JhcHBlci1uTXR4WFRYXy5pc0FuaW1hdGVkLW5NdHhYVFhfe3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS11aS1saWItZmFkZUluV3JhcHBlci10cmFuc2l0aW9uLWR1cmF0aW9uLC4zNXMpfQ=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_bk.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.955Z","timestamp":1785124877955,"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://berthenergy-inc.biz/\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: 323400\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-27T06:15:18.682024Z","times_seen":9199,"resource_available":false,"data":"R0lGODlhAQA7APcAANfX19/f3+Hh4eLi4uTk5Obm5ujo6Orq6uvr6+3t7e7u7uTv++bw++fw/Ojx/Ory/O30/O71/fHx8fP4/fT5/fb6/vj7/vr8/vz9//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAQA7AAAINQAzCBxIUCCGCwgtVFhIYcKECA8jQHgw8UEDBg4aLGCwIIOEjyAlKEiA4ICBAgQGCAgQAEBAADs="}},"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":"www.tradingview-widget.com/static/bundles/embed/13809.c2bb1623ced77ad07f9c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.818Z","timestamp":1785124875818,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13809.c2bb1623ced77ad07f9c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-1f4a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2a0cc5717dcde83dd3299ae3463032a1\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8010,"size_decoded":2518,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8010), with no line terminators","md5":"4f0cb68a495862c356ff327ec986f404","sha1":"77305dc905a65eed86ee7c9297d7a3077ae28681","sha256":"30068922a8c864edfc76ec495f5824dc74a5bf90ffbdf13361962b688b876c0b","sha512":"68ba4919ba3409e0c8a9821aeb3de864470ef059bf11eb630b556a3f334f2eac8ab99a13abb1be0c8d86cd217e68af6a82864ad1415f3e54e02b762ef432c2e5","ssdeep":"96:DojZtH5/5CHWuyfvKH3qLs3uBGKKloim/QEann:2tHr+wfvKXLDXmYNnn","tlshash":"86f1ae05e1b463ba74bb8d5cb784dc5a6300d2b3ce24d7dff690680a85c65872e6b88d","first_seen":"2026-04-16T17:44:11.976987Z","last_seen":"2026-07-27T06:14:34.15411Z","times_seen":937,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaUE5STp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LnR2LWNvbnRyb2wtZmllbGRzZXR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjMwcHg7bWluLXdpZHRoOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWNvbnRyb2wtZmllbGRzZXQtLXNwYWNpbmdfeHNtYWxse21hcmdpbi1ib3R0b206MTBweH0udHYtY29udHJvbC1maWVsZHNldC0tZmlyc3R7bWFyZ2luLXRvcDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtY29udHJvbC1maWVsZHNldHttYXJnaW4tYm90dG9tOjIwcHh9fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtc3RhcnR9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS12ZXJ0aWNhbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse2Zsb2F0Om5vbmV9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jaGVja2JveCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLWNoZWNrYm94e3BhZGRpbmctdG9wOjJweCFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWV7ZmxvYXQ6bm9uZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVse2NsZWFyOmlubGluZS1zdGFydDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MCAyMHB4O3dpZHRoOjMwJX0udHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXRvcHtwYWRkaW5nLXRvcDowfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tdmVydGljYWx7cGFkZGluZzowIDAgNHB4O3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jb2xvcl9kYXJre2NvbG9yOnZhcigtLV8wLWlBOUkpfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0td2lkdGhfc21hbGx7d2lkdGg6MjYlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXdpZHRoX3NtYWxse3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tc2l6ZV9zbWFsbHtwYWRkaW5nLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHtwYWRkaW5nOjAgMCAxMHB4O3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMnB4O2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246c3VwZXJ9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLWljb24gc3Zne2hlaWdodDoxMDAlO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle3dpZHRoOjcwJX0udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6NzQlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUsLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6YXV0b319LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RleHR7bWFyZ2luLWJvdHRvbToxMnB4fS50di1jb250cm9sLWZpZWxkc2V0X190ZXh0Omxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldC0tYmxvY2sgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle2Zsb2F0Om5vbmU7cGFkZGluZzowO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHttYXJnaW4tYm90dG9tOjEwcHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2x7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtY29udHJvbC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2wubGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2lucHV0LXZhbHVle2ZsZXg6MTttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG57cGFkZGluZzowfS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG4gc3Zne21hcmdpbi1ib3R0b206MXB4fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6NXB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19zaW5nbGUtaWNvbi1idG57cGFkZGluZzowIDEycHh9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3NpbmdsZS1pY29uLWJ0biBzdmd7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RyYXNoLWljb24gc3Zne2NvbG9yOnJlZH0udHYtY29udHJvbC1maWVsZHNldF9faGludHtjb2xvcjp2YXIoLS1fMS1pQTlJKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDoxMHB4fS50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1udW1iZXItaW5wdXRfX2lucHV0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLW51bWJlci1pbnB1dF9faW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXTo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWljb25zKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1FWFJ4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtRVhSeDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtY29udHJvbC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1pbnB1dDotd2Via2l0LWF1dG9maWxsey13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApIWltcG9ydGFudDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDEwMDBweCAjZmZmIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC0tc2l6ZV94c21hbGx7aGVpZ2h0OjE5cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfbGFyZ2V7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjQ4cHh9LnR2LWNvbnRyb2wtaW5wdXQtLWNvbm5lY3R7Ym9yZGVyLWlubGluZS1lbmQ6MDtib3JkZXItaW5saW5lLXN0YXJ0OjA7Ym9yZGVyLXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X2xlZnR7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MDtib3JkZXItaW5saW5lLXN0YXJ0Om5vbmU7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1pbmxpbmUtZW5kOm5vbmU7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0udHYtY29udHJvbC1pbnB1dC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtib3JkZXItY29sb3I6dmFyKC0tXzAtRVhSeCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtaW5wdXRbcmVhZG9ubHldOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkLC50di1jb250cm9sLWlucHV0W2Rpc2FibGVkXXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtaW5wdXQuaS1lcnJvcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0LmktZXJyb3I6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLWlucHV0Lmktc3VjY2VzczphY3RpdmUsLnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWFjdGl2ZSkhaW1wb3J0YW50fS50di1jb250cm9sLWlucHV0LS1waG9uZXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246c3RhcnR9"}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=berthenergy-inc.biz%2F\u0026ancestor-origin=berthenergy-inc.biz\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.181","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.299Z","timestamp":1785124876299,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=berthenergy-inc.biz%2F\u0026ancestor-origin=berthenergy-inc.biz\u0026api_key=tradingview HTTP/1.1\r\nHost: widgetdata.tradingview.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-WebSocket-Version: 13\r\nOrigin: https://s.tradingview.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: Y0Ra2o9diWNtlkxXaEBSJQ==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: same-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nDate: Mon, 27 Jul 2026 04:01:16 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: TKzvCX7imDf0jmEGQgTWHROuFzE=\r\nsec-websocket-extensions: permessage-deflate\r\nupgrade: websocket\r\nServer: tv\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"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-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":""}},"time_used":80,"timings":{"blocked":0,"dns":3,"connect":24,"send":0,"wait":24,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.783Z","timestamp":1785124876783,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-38e88\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 86a2d1e5f8414ba63c13c5f962e3524e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":233096,"size_decoded":66241,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-27T06:24:31.646625Z","times_seen":58,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NTU4OCw3NDM0MV0sezg1MzMzNihlLHQpe3ZhciBpLHMsbztzPVt0XSxpPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLGk9QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKWlbdF09ZVt0XTtyZXR1cm4gaX1yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBzPXtnZXQgcGFzc2l2ZSgpe2k9ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwscyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLHMpfXZhciBvPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksbj1bXSxhPSExLGw9LTEscj12b2lkIDAsZD12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gbi5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxjPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9ZCxkPXZvaWQgMCksdm9pZCAwIT09ciYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9cixyPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxzKXtpZihvKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFuLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6c3x8e319O249W10uY29uY2F0KHQobiksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGw9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBpLHMsbyxuOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYocz1lLG49KGk9dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWwsIXUoaS50YXJnZXQpJiYocyYmMD09PXMuc2Nyb2xsVG9wJiYwPG58fChvPXMpJiZvLnNjcm9sbEhlaWdodC1vLnNjcm9sbFRvcDw9by5jbGllbnRIZWlnaHQmJm48MD9jKGkpOmkuc3RvcFByb3BhZ2F0aW9uKCkpKX0sYXx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsYyxpP3twYXNzaXZlOiExfTp2b2lkIDApLGE9ITApfX1lbHNle189cyxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWQpe3ZhciBlPSEhXyYmITA9PT1fLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoZD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PXImJihyPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOnN8fHt9fTtuPVtdLmNvbmNhdCh0KG4pLFtwXSl9dmFyIF99LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtvPyhuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxhJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSksbj1bXSxsPS0xKTooaCgpLG49W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYobyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsbj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksYSYmMD09PW4ubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSl9ZWxzZSAxPT09bi5sZW5ndGgmJm5bMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxuPVtdKTpuPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2kuYXBwbHkodCxzKTppKXx8KGUuZXhwb3J0cz1vKX0sODAzMjg3KGUpe2UuZXhwb3J0cz17ImRlZmF1bHQtZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UiOiIxMDBweCIsd3JhcDoid3JhcC1paWkxMThvTiIscG9zaXRpb25Cb3R0b206InBvc2l0aW9uQm90dG9tLWlpaTExOG9OIixiYWNrZHJvcDoiYmFja2Ryb3AtaWlpMTE4b04iLGRyYXdlcjoiZHJhd2VyLWlpaTExOG9OIiwKcG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sODU0NDUoZSl7ZS5leHBvcnRzPXtwaWxsczoicGlsbHMtSWVRd1BqY1oiLHByaW1hcnk6InByaW1hcnktSWVRd1BqY1oiLGdyYXk6ImdyYXktSWVRd1BqY1oiLHNlbGVjdGVkOiJzZWxlY3RlZC1JZVF3UGpjWiIsZ3JvdXBlZDoiZ3JvdXBlZC1JZVF3UGpjWiIsYWN0aXZlOiJhY3RpdmUtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVPblRvdWNoOiJkaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWiIsZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiJkaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1oiLHdpdGhHcm91cGVkOiJ3aXRoR3JvdXBlZC1JZVF3UGpjWiIsInF1aWV0LXByaW1hcnkiOiJxdWlldC1wcmltYXJ5LUllUXdQamNaIixncmVlbjoiZ3JlZW4tSWVRd1BqY1oiLHJlZDoicmVkLUllUXdQamNaIixibHVlOiJibHVlLUllUXdQamNaIixzZWNvbmRhcnk6InNlY29uZGFyeS1JZVF3UGpjWiIsZ2hvc3Q6Imdob3N0LUllUXdQamNaIn19LDM2NDgxNShlKXtlLmV4cG9ydHM9e2xpZ2h0QnV0dG9uOiJsaWdodEJ1dHRvbi1ralJmVGxmeCIsbGluazoibGluay1ralJmVGxmeCIsbHRyOiJsdHIta2pSZlRsZngiLHJ0bDoicnRsLWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTZweCI6InR5cG9ncmFwaHktcmVndWxhcjE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgiOiJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4IjoidHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCIsInR5cG9ncmFwaHktc2VtaWJvbGQxNHB4IjoidHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNnB4LWtqUmZUbGZ4Iixjb250ZW50OiJjb250ZW50LWtqUmZUbGZ4Iix2aXN1YWxseUhpZGRlbjoidmlzdWFsbHlIaWRkZW4ta2pSZlRsZngiLG5vd3JhcDoibm93cmFwLWtqUmZUbGZ4IixlbGxpcHNpc0NvbnRhaW5lcjoiZWxsaXBzaXNDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwQ29udGFpbmVyOiJ0ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeCIsdGV4dFdyYXBXaXRoRWxsaXBzaXM6InRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4IixzbG90OiJzbG90LWtqUmZUbGZ4IixjYXJldDoiY2FyZXQta2pSZlRsZngiLGFjdGl2ZUNhcmV0OiJhY3RpdmVDYXJldC1ralJmVGxmeCIseHNtYWxsOiJ4c21hbGwta2pSZlRsZngiLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3Qta2pSZlRsZngiLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1ralJmVGxmeCIsbm9Db250ZW50OiJub0NvbnRlbnQta2pSZlRsZngiLHdyYXA6IndyYXAta2pSZlRsZngiLHNtYWxsOiJzbWFsbC1ralJmVGxmeCIsbWVkaXVtOiJtZWRpdW0ta2pSZlRsZngifX0sNDAyMjUzKGUpe2UuZXhwb3J0cz17bmF2QnV0dG9uOiJuYXZCdXR0b24taGJTSlZ4a1EiLGxpbms6ImxpbmstaGJTSlZ4a1EiLGJhY2tncm91bmQ6ImJhY2tncm91bmQtaGJTSlZ4a1EiLGljb246Imljb24taGJTSlZ4a1EiLGZsaXBJY29uOiJmbGlwSWNvbi1oYlNKVnhrUSIsbGFyZ2U6ImxhcmdlLWhiU0pWeGtRIixwcmVzZXJ2ZVBhZGRpbmdzOiJwcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRIixtZWRpdW06Im1lZGl1bS1oYlNKVnhrUSIsc21hbGw6InNtYWxsLWhiU0pWeGtRIix4c21hbGw6InhzbWFsbC1oYlNKVnhrUSIseHhzbWFsbDoieHhzbWFsbC1oYlNKVnhrUSIsYmxlbmRNb2RlOiJibGVuZE1vZGUtaGJTSlZ4a1EiLHZpc3VhbGx5SGlkZGVuOiJ2aXN1YWxseUhpZGRlbi1oYlNKVnhrUSJ9fSw4NjAwMjUoZSl7ZS5leHBvcnRzPXtwYWlyOiJwYWlyLXh3R3NTWFIwIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMCIseHh4eHNtYWxsOiJ4eHh4c21hbGwteHdHc1NYUjAiLHh4eHNtYWxsOiJ4eHhzbWFsbC14d0dzU1hSMCIseHhzbWFsbDoieHhzbWFsbC14d0dzU1hSMCIseHNtYWxsOiJ4c21hbGwteHdHc1NYUjAiLHNtYWxsOiJzbWFsbC14d0dzU1hSMCIsbWVkaXVtOiJtZWRpdW0teHdHc1NYUjAiLGxhcmdlOiJsYXJnZS14d0dzU1hSMCIseGxhcmdlOiJ4bGFyZ2UteHdHc1NYUjAiLHh4bGFyZ2U6Inh4bGFyZ2UteHdHc1NYUjAiLHh4eGxhcmdlOiJ4eHhsYXJnZS14d0dzU1hSMCIsbG9nbzoibG9nby14d0dzU1hSMCIsc2tlbGV0b246InNrZWxldG9uLXh3R3NTWFIwIixlbXB0eToiZW1wdHkteHdHc1NYUjAifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sMjAzMjczKGUpe2UuZXhwb3J0cz17c2NhbGFibGVJY29uOiJzY2FsYWJsZUljb24tY2oxYkFTZjcifX0sOTc1Mjg1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1oY3QyeUp2SyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLWhjdDJ5SnZLIixwdWxzYXRpb246InB1bHNhdGlvbi1oY3QyeUp2SyJ9fSw3MTAxNTYoZSl7ZS5leHBvcnRzPXt9fSw0MTc2ODYoZSl7ZS5leHBvcnRzPXtsZWdlbmRBY3Rpb25CdXR0b246ImxlZ2VuZEFjdGlvbkJ1dHRvbi1xM082enpJSCJ9fSw2NTc1NjAoZSl7ZS5leHBvcnRzPXttYXJnaW5sZWdlbmRob3JpejoiNHB4IiwKbGVnZW5kOiJsZWdlbmQtWVRGSUo2MmgiLGxlZ2VuZF93aXRoSGlkZGVuQWN0aW9uczoibGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIixpdGVtOiJpdGVtLVlURklKNjJoIixoaWRlSW52aXNpYmxlSG92ZXI6ImhpZGVJbnZpc2libGVIb3Zlci1ZVEZJSjYyaCIsYnV0dG9uOiJidXR0b24tWVRGSUo2MmgiLGJ1dHRvbnM6ImJ1dHRvbnMtWVRGSUo2MmgiLHdpdGhBY3Rpb246IndpdGhBY3Rpb24tWVRGSUo2MmgiLHNlbGVjdGVkOiJzZWxlY3RlZC1ZVEZJSjYyaCIsbGFzdDoibGFzdC1ZVEZJSjYyaCIsc3RhdHVzZXNXcmFwcGVyOiJzdGF0dXNlc1dyYXBwZXItWVRGSUo2MmgiLHN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXM6InN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXMtWVRGSUo2MmgiLHRleHQ6InRleHQtWVRGSUo2MmgiLG5vV3JhcFdyYXBwZXI6Im5vV3JhcFdyYXBwZXItWVRGSUo2MmgiLGNvbGxhcHNlZFNvdXJjZXNDb3VudGVyOiJjb2xsYXBzZWRTb3VyY2VzQ291bnRlci1ZVEZJSjYyaCIsbm9XcmFwOiJub1dyYXAtWVRGSUo2MmgiLHNlcmllczoic2VyaWVzLVlURklKNjJoIix2YWx1ZXNBZGRpdGlvbmFsV3JhcHBlcjoidmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgiLHZhbHVlSXRlbToidmFsdWVJdGVtLVlURklKNjJoIixoaWRlVW5pcG9ydGFudFZhbHVlSXRlbXM6ImhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCIsdW5pbXBvcnRhbnQ6InVuaW1wb3J0YW50LVlURklKNjJoIix2YWx1ZXNXcmFwcGVyOiJ2YWx1ZXNXcmFwcGVyLVlURklKNjJoIix3cmFwcGFibGU6IndyYXBwYWJsZS1ZVEZJSjYyaCIsZGlyZWN0aW9uQ29sdW1uOiJkaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmgiLHRpdGxlc1dyYXBwZXI6InRpdGxlc1dyYXBwZXItWVRGSUo2MmgiLGxvZ29XcmFwcGVyOiJsb2dvV3JhcHBlci1ZVEZJSjYyaCIsYnV0dG9uc1dyYXBwZXI6ImJ1dHRvbnNXcmFwcGVyLVlURklKNjJoIixwYWlyQ29udGFpbmVyOiJwYWlyQ29udGFpbmVyLVlURklKNjJoIixsb2dvOiJsb2dvLVlURklKNjJoIixoaWRkZW46ImhpZGRlbi1ZVEZJSjYyaCIsbm9BY3Rpb25zOiJub0FjdGlvbnMtWVRGSUo2MmgiLHRpdGxlc0dyb3VwV3JhcHBlcjoidGl0bGVzR3JvdXBXcmFwcGVyLVlURklKNjJoIix0aXRsZVdyYXBwZXI6InRpdGxlV3JhcHBlci1ZVEZJSjYyaCIsdGl0bGU6InRpdGxlLVlURklKNjJoIix3aXRoRG90OiJ3aXRoRG90LVlURklKNjJoIix0aXRsZVdyYXBwZXJfX2FjdGl2ZToidGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2MmgiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtWVRGSUo2MmgiLGRpc2FibGVkOiJkaXNhYmxlZC1ZVEZJSjYyaCIsZGlzYWJsZWRPbkludGVydmFsOiJkaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmgiLHdpdGhDdXN0b21UZXh0Q29sb3I6IndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmgiLHN0dWR5OiJzdHVkeS1ZVEZJSjYyaCIsbWFpblRpdGxlOiJtYWluVGl0bGUtWVRGSUo2MmgiLGlucHV0VGl0bGU6ImlucHV0VGl0bGUtWVRGSUo2MmgiLGhpZGVWYWx1ZXM6ImhpZGVWYWx1ZXMtWVRGSUo2MmgiLGhhczVCdXR0b25zOiJoYXM1QnV0dG9ucy1ZVEZJSjYyaCIsc3RheUluSG92ZXJlZE1vZGU6InN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIix3aXRoVGFpbDoid2l0aFRhaWwtWVRGSUo2MmgiLGxvYWRlcjoibG9hZGVyLVlURklKNjJoIix2YWx1ZVZhbHVlOiJ2YWx1ZVZhbHVlLVlURklKNjJoIix2YWx1ZVRpdGxlOiJ2YWx1ZVRpdGxlLVlURklKNjJoIixkZXNjVGl0bGU6ImRlc2NUaXRsZS1ZVEZJSjYyaCIsaW50ZXJ2YWxUaXRsZToiaW50ZXJ2YWxUaXRsZS1ZVEZJSjYyaCIscHJvdmlkZXJUaXRsZToicHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCIsZXhjaGFuZ2VUaXRsZToiZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCIsc3R5bGVUaXRsZToic3R5bGVUaXRsZS1ZVEZJSjYyaCIscHJpY2VTb3VyY2VUaXRsZToicHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCIsZmxhZ2dlZDoiZmxhZ2dlZC1ZVEZJSjYyaCIsbWVkaXVtOiJtZWRpdW0tWVRGSUo2MmgiLG1pbmltaXplZDoibWluaW1pemVkLVlURklKNjJoIixtaWNybzoibWljcm8tWVRGSUo2MmgiLGxpbmtlZDoibGlua2VkLVlURklKNjJoIixvbmx5T25lQnV0dG9uQ2FuQmVTdGljazoib25seU9uZUJ1dHRvbkNhbkJlU3RpY2stWVRGSUo2MmgiLHRvdWNoTW9kZToidG91Y2hNb2RlLVlURklKNjJoIixidXR0b25JY29uOiJidXR0b25JY29uLVlURklKNjJoIixidXR0b25fX2FjdGl2ZToiYnV0dG9uX19hY3RpdmUtWVRGSUo2MmgiLGZsYWc6ImZsYWctWVRGSUo2MmgiLGV5ZToiZXllLVlURklKNjJoIixleWVMb2FkaW5nOiJleWVMb2FkaW5nLVlURklKNjJoIiwiZXllLWFuaW1hdGlvbiI6ImV5ZS1hbmltYXRpb24tWVRGSUo2MmgiLGxpbmtpbmc6ImxpbmtpbmctWVRGSUo2MmgiLGludGVydmFsRXllOiJpbnRlcnZhbEV5ZS1ZVEZJSjYyaCIsbWFya2VyQ29udGFpbmVyOiJtYXJrZXJDb250YWluZXItWVRGSUo2MmgiLGZsYWdXcmFwcGVyOiJmbGFnV3JhcHBlci1ZVEZJSjYyaCIsc291cmNlc1dyYXBwZXI6InNvdXJjZXNXcmFwcGVyLVlURklKNjJoIixsZWdlbmRNYWluU291cmNlV3JhcHBlcjoibGVnZW5kTWFpblNvdXJjZVdyYXBwZXItWVRGSUo2MmgiLHNvdXJjZXM6InNvdXJjZXMtWVRGSUo2MmgiLHRvZ2dsZXJXcmFwcGVyOiJ0b2dnbGVyV3JhcHBlci1ZVEZJSjYyaCIsdG9nZ2xlcldyYXBwZXJfX2xvYWRlcjoidG9nZ2xlcldyYXBwZXJfX2xvYWRlci1ZVEZJSjYyaCIsdG9nZ2xlcjoidG9nZ2xlci1ZVEZJSjYyaCBwYW5lLWJ1dHRvbi1MY1lkbzJONiIsb25seU9uZVNvdXJjZVNob3duOiJvbmx5T25lU291cmNlU2hvd24tWVRGSUo2MmgiLGNvdW50ZXI6ImNvdW50ZXItWVRGSUo2MmgiLGljb25BcnJvdzoiaWNvbkFycm93LVlURklKNjJoIixvYmplY3RUcmVlOiJvYmplY3RUcmVlLVlURklKNjJoIixjbG9zZWQ6ImNsb3NlZC1ZVEZJSjYyaCIsc2F2ZUFycm93V2lkdGg6InNhdmVBcnJvd1dpZHRoLVlURklKNjJoIiwKb2JqZWN0c1RyZWVDYW5CZVNob3duOiJvYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmgifX0sNDI2Mjc0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1wYW5lLWNvbnRyb2xzLXBhZGRpbmciOiI0cHgiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX21hcmdpbl90b3A6IjQiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplOiIyMiIsY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemU6IjIyIixwYW5lQ29udHJvbHM6InBhbmVDb250cm9scy1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2hpZGRlbjoicGFuZUNvbnRyb2xzX2hpZGRlbi1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2ZvcmNlSGlkZGVuOiJwYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVoiLHBhbmVDb250cm9sc19yZW1vdmU6InBhbmVDb250cm9sc19yZW1vdmUtRXh6eDlJQVoiLGJ1dHRvbnM6ImJ1dHRvbnMtRXh6eDlJQVoiLGJ1dHRvbjoiYnV0dG9uLUV4eng5SUFaIixidXR0b25fYWN0aXZhdGVkOiJidXR0b25fYWN0aXZhdGVkLUV4eng5SUFaIix0b3VjaE1vZGU6InRvdWNoTW9kZS1FeHp4OUlBWiIsbWF4aW1pemU6Im1heGltaXplLUV4eng5SUFaIixjb2xsYXBzZToiY29sbGFwc2UtRXh6eDlJQVoiLCJtYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaIiwibWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVoiLG1pbmltaXplOiJtaW5pbWl6ZS1FeHp4OUlBWiIscmVzdG9yZToicmVzdG9yZS1FeHp4OUlBWiIsIm1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLXVwLWJyYWNrZXQtRXh6eDlJQVoiLCJtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiIsdXA6InVwLUV4eng5SUFaIixidXR0b25JY29uOiJidXR0b25JY29uLUV4eng5SUFaIiwidXAtYW5pbWF0aW9uIjoidXAtYW5pbWF0aW9uLUV4eng5SUFaIixkb3duOiJkb3duLUV4eng5SUFaIiwiZG93bi1hbmltYXRpb24iOiJkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiJ9fSw3NzIwMjgoZSl7ZS5leHBvcnRzPXtibG9ja0hpZGRlbjoiYmxvY2tIaWRkZW4tTGNZZG8yTjYiLCJwYW5lLWJ1dHRvbiI6InBhbmUtYnV0dG9uLUxjWWRvMk42In19LDc1MTg2MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtR2hEalh6QngiLGlucHV0OiJpbnB1dC1HaERqWHpCeCIsYm94OiJib3gtR2hEalh6QngiLGhvdmVyRG90OiJob3ZlckRvdC1HaERqWHpCeCIscmVkOiJyZWQtR2hEalh6QngiLGJsdWU6ImJsdWUtR2hEalh6QngiLGdyZWVuOiJncmVlbi1HaERqWHpCeCIsb3JhbmdlOiJvcmFuZ2UtR2hEalh6QngiLHB1cnBsZToicHVycGxlLUdoRGpYekJ4IixjeWFuOiJjeWFuLUdoRGpYekJ4IixwaW5rOiJwaW5rLUdoRGpYekJ4IixsYXJnZToibGFyZ2UtR2hEalh6QngiLHBpY2tlckRvdDoicGlja2VyRG90LUdoRGpYekJ4In19LDU1ODg3MyhlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXIteWZOYmd0Z04iLGJ1dHRvbnM6ImJ1dHRvbnMteWZOYmd0Z04iLGNvbG9yU2VsZWN0QnV0dG9uOiJjb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTiJ9fSw1NTg5NzIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLVZuZVFWb052IixzZWxlY3Rvcjoic2VsZWN0b3ItVm5lUVZvTnYiLGFycm93TGVmdDoiYXJyb3dMZWZ0LVZuZVFWb052Iixjb2xvclNlbGVjdEJ1dHRvbjoiY29sb3JTZWxlY3RCdXR0b24tVm5lUVZvTnYiLHBvcHVwOiJwb3B1cC1WbmVRVm9OdiJ9fSw5MTYyNihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tdlRtOE8wTE0iLGludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS12VG04TzBMTSIsaG92ZXJlZDoiaG92ZXJlZC12VG04TzBMTSIsZGlzYWJsZWQ6ImRpc2FibGVkLXZUbThPMExNIixhY3RpdmU6ImFjdGl2ZS12VG04TzBMTSIsc2hvcnRjdXQ6InNob3J0Y3V0LXZUbThPMExNIixub3JtYWw6Im5vcm1hbC12VG04TzBMTSIsYmlnOiJiaWctdlRtOE8wTE0iLGljb25DZWxsOiJpY29uQ2VsbC12VG04TzBMTSIsaWNvbjoiaWNvbi12VG04TzBMTSIsY29udGVudDoiY29udGVudC12VG04TzBMTSIsbGFiZWw6ImxhYmVsLXZUbThPMExNIixjaGVja2VkOiJjaGVja2VkLXZUbThPMExNIix0b29sYm94OiJ0b29sYm94LXZUbThPMExNIixzaG93VG9vbGJveE9uSG92ZXI6InNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTSIsYXJyb3dJY29uOiJhcnJvd0ljb24tdlRtOE8wTE0iLHN1Yk1lbnU6InN1Yk1lbnUtdlRtOE8wTE0iLGludmlzaWJsZUhvdGtleToiaW52aXNpYmxlSG90a2V5LXZUbThPMExNIn19LDEwNzk2NihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tZDlqTE9MclIiLGVtcHR5SWNvbnM6ImVtcHR5SWNvbnMtZDlqTE9MclIiLGxvYWRpbmc6ImxvYWRpbmctZDlqTE9MclIiLGRpc2FibGVkOiJkaXNhYmxlZC1kOWpMT0xyUiIsaW50ZXJhY3RpdmU6ImludGVyYWN0aXZlLWQ5akxPTHJSIixob3ZlcmVkOiJob3ZlcmVkLWQ5akxPTHJSIixub3JtYWw6Im5vcm1hbC1kOWpMT0xyUiIsYmlnOiJiaWctZDlqTE9MclIiLGljb246Imljb24tZDlqTE9MclIiLGxhYmVsOiJsYWJlbC1kOWpMT0xyUiIsdGl0bGU6InRpdGxlLWQ5akxPTHJSIixuZXN0ZWQ6Im5lc3RlZC1kOWpMT0xyUiIsc2hvcnRjdXQ6InNob3J0Y3V0LWQ5akxPTHJSIixyZW1vdmU6InJlbW92ZS1kOWpMT0xyUiJ9fSw5NTQ0NzgoZSl7ZS5leHBvcnRzPXtzZXBhcmF0b3I6InNlcGFyYXRvci1LSHR5TVRZRyJ9fSw4NjU1NjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZBcHBDb250ZXh0OigpPT5kLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5yfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxMTUyOTMpLG49aSg5OTk1MSksYT1pKDExNzMxMyk7Y29uc3QgbD17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIHIoZSl7Y29uc3RbdF09KDAsCnMudXNlU3RhdGUpKHtpc09uTW9iaWxlQXBwUGFnZTplPT4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKShsW2VdKSxpc1J0bDooMCxvLmlzUnRsKSgpLGxvY2FsZTp3aW5kb3cubG9jYWxlLHJlbmRlck1vZGU6ZS5yZW5kZXJNb2RlPz8ibGVnYWN5In0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQobi5BcHBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0fSxlLmNoaWxkcmVuKX1jb25zdCBkPW4uQXBwQ29udGV4dH0sNTcxMzAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtjcmVhdGVSZWFjdFJvb3Q6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDEyOTM2NSksbj1pKDMzNjMzNCksYT1pKDg2NTU2MCk7ZnVuY3Rpb24gbChlLHQsaT0ibGVnYWN5Iil7Y29uc3QgbD1zLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSxlKTtpZigibW9kZXJuIj09PWkpe2NvbnN0IGU9KDAsbi5jcmVhdGVSb290KSh0KTtyZXR1cm4gZS5yZW5kZXIobCkse3JlbmRlcih0KXtlLnJlbmRlcihzLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSx0KSl9LHVubW91bnQoKXtlLnVubW91bnQoKX19fXJldHVybiBvLnJlbmRlcihsLHQpLHtyZW5kZXIoZSl7by5yZW5kZXIocy5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6aX0sZSksdCl9LHVubW91bnQoKXtvLnVubW91bnRDb21wb25lbnRBdE5vZGUodCl9fX19LDMxMzc3MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEcmF3ZXJDb250ZXh0OigpPT5hLERyYXdlck1hbmFnZXI6KCk9Pm59KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk5NTY3OCk7Y2xhc3MgbiBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9pc0JvZHlGaXhlZD0hMSx0aGlzLl9hZGREcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6Wy4uLnQuc3RhY2ssZV19KSkpfSx0aGlzLl9yZW1vdmVEcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6dC5zdGFjay5maWx0ZXIoKHQ9PnQhPT1lKSl9KSkpfSx0aGlzLnN0YXRlPXtzdGFjazpbXX19Y29tcG9uZW50RGlkVXBkYXRlKGUsdCl7IXQuc3RhY2subGVuZ3RoJiZ0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmKCgwLG8ucmVxdWVzdE1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMCksdC5zdGFjay5sZW5ndGgmJiF0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyksdGhpcy5faXNCb2R5Rml4ZWQ9ITEpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGgmJnRoaXMuX2lzQm9keUZpeGVkJiYoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyl9cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTp7YWRkRHJhd2VyOnRoaXMuX2FkZERyYXdlcixyZW1vdmVEcmF3ZXI6dGhpcy5fcmVtb3ZlRHJhd2VyLGN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9cy5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RHJhd2VyOigpPT5ffSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5MTQ0ODcpLG49aS5uKG8pLGE9aSgxMzg2MzgpLGw9aSg1ODU0OCkscj1pKDE1MDE1MCksZD1pKDMxMzc3MiksdT1pKDYzMjk5MiksYz1pKDU1ODAzMCksaD1pKDgwMzI4Nyk7dmFyIHA7ZnVuY3Rpb24gXyhlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6aSxjaGlsZHJlbjpvLHJlZmVyZW5jZTpjLGNsYXNzTmFtZTpwLHRoZW1lOl89aH09ZSxtPSgwLGEuZW5zdXJlTm90TnVsbCkoKDAscy51c2VDb250ZXh0KShkLkRyYXdlckNvbnRleHQpKSxbYl09KDAscy51c2VTdGF0ZSkoKCgpPT4oMCxyLnJhbmRvbUhhc2gpKCkpKSx2PSgwLHMudXNlUmVmKShudWxsKSxmPSgwLHMudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkodi5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGYuc3Vic2NyaWJlKG0saSksbS5hZGREcmF3ZXIoYiksKCk9PnttLnJlbW92ZURyYXdlcihiKSxmLnVuc3Vic2NyaWJlKG0saSl9KSksW10pLHMuY3JlYXRlRWxlbWVudChsLlBvcnRhbCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmMsY2xhc3NOYW1lOm4oKShoLndyYXAsaFtgcG9zaXRpb24ke3R9YF0pfSxiPT09bS5jdXJyZW50RHJhd2VyJiZzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpoLmJhY2tkcm9wLG9uQ2xpY2s6aX0pLHMuY3JlYXRlRWxlbWVudChnLHtjbGFzc05hbWU6bigpKF8uZHJhd2VyLGhbYHBvc2l0aW9uJHt0fWBdLHApLHJlZjp2LCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KHB8fChwPXt9KSk7Y29uc3QgZz0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChjLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKGguZHJhd2VyLGkpLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sNjMyOTkyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgyNzYwMTkpO2NvbnN0IG49cy5jcmVhdGVDb250ZXh0KG8uZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDk5OTUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FwcENvbnRleHQ6KCk9PnN9KTtjb25zdCBzPSgwLGkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7CmlzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDEwNzU4NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gdHx8bnVsbD09ZXx8KCJzdHJpbmciPT10eXBlb2YgZXx8QXJyYXkuaXNBcnJheShlKSkmJjA9PT1lLmxlbmd0aH1pLmQodCx7aXNJY29uT25seTooKT0+c30pfSwyMjA3NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7QnV0dG9uR3JvdXBDb250ZXh0OigpPT5zfSk7Y29uc3Qgcz1pKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh7aXNJbkJ1dHRvbkdyb3VwOiExLGlzR3JvdXBQcmltYXJ5OiExfSl9LDMyODIxOShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt1c2VMaWdodEJ1dHRvbkNsYXNzZXM6KCk9PnV9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDMwOTkyMCksbD1pKDEwNzU4NSkscj1pKDUzMjAxMSksZD1pKDIyMDc2NCk7Y29uc3QgdT0oZSx0LGkpPT57Y29uc3Qgbz0oMCxzLnVzZUNvbnRleHQpKGEuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse2NsYXNzTmFtZTp1LGlzU2VsZWN0ZWQ6YyxjaGlsZHJlbjpoLHNob3dDYXJldDpwLGZvcmNlRGlyZWN0aW9uOl8saWNvbk9ubHk6Zyxjb2xvcjptPSJncmF5Iix2YXJpYW50OmI9InByaW1hcnkiLHNpemU6dj0ibWVkaXVtIixlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmPW8uZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsdHlwb2dyYXBoeTpTLGlzTGluazp5PSExLHRleHRXcmFwOncsaXNQaWxsczpDLGlzQWN0aXZlOkUsc3RhcnRTbG90OngsZW5kU2xvdDpMfT10LE09ZVtgdHlwb2dyYXBoeS0keygoZSx0LGkpPT57aWYoaSl7Y29uc3QgZT1pLnJlcGxhY2UoL15cRCsvZywiIik7cmV0dXJuIHQ/YHNlbWlib2xkJHtlfWA6aX1zd2l0Y2goZSl7Y2FzZSJ4c21hbGwiOnJldHVybiB0PyJzZW1pYm9sZDE0cHgiOiJyZWd1bGFyMTRweCI7Y2FzZSJzbWFsbCI6Y2FzZSJtZWRpdW0iOnJldHVybiB0PyJzZW1pYm9sZDE2cHgiOiJyZWd1bGFyMTZweCI7ZGVmYXVsdDpyZXR1cm4iIn19KSh2LGN8fEMsU3x8dm9pZCAwKX1gXSxUPSgwLHMudXNlQ29udGV4dCkoci5Db250cm9sR3JvdXBDb250ZXh0KSx7aXNJbkJ1dHRvbkdyb3VwOlYsaXNHcm91cFByaW1hcnk6a309KDAscy51c2VDb250ZXh0KShkLkJ1dHRvbkdyb3VwQ29udGV4dCk7cmV0dXJuIG4oKSh1LGUubGlnaHRCdXR0b24seSYmZS5saW5rLEUmJmUuYWN0aXZlLGMmJmUuc2VsZWN0ZWQsKDAsbC5pc0ljb25Pbmx5KShoLGcpJiZlLm5vQ29udGVudCwhIXgmJmUud2l0aFN0YXJ0U2xvdCwocHx8ISFMKSYmZS53aXRoRW5kU2xvdCxpJiZlLndpdGhHcm91cGVkLF8mJmVbX10sZVtrPyJwcmltYXJ5IjpiXSxlW2s/ImdyYXkiOm1dLGVbdl0sTSwhZiYmZS5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMsVC5pc0dyb3VwZWQmJmUuZ3JvdXBlZCx3JiZlLndyYXAsViYmZS5kaXNhYmxlQWN0aXZlT25Ub3VjaCxDJiZlLnBpbGxzKX19LDgzMDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+cH0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNzcwMTQzKSxsPWkoMTA3NTg1KSxyPWkoMjczMzEwKSxkPWkoOTM1MSksdT1pLm4oZCksYz1pKDM2NDgxNSksaD1pLm4oYyk7ZnVuY3Rpb24gcChlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTppLGVsbGlwc2lzOm89ITAsdGV4dFdyYXA6ZCx0b29sdGlwVGV4dDpjLGNoaWxkcmVuOnAsZW5kU2xvdDpfLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6bX09ZTtbXyx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLGcmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxsLmlzSWNvbk9ubHkpKHAsaSkmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLmNvbnRlbnQsIWQmJmgoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmM/PygwLGEuZ2V0VGV4dEZvclRvb2x0aXApKHApfSxkfHxvP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKSghZCYmbyYmaCgpLmVsbGlwc2lzQ29udGFpbmVyLGQmJmgoKS50ZXh0V3JhcENvbnRhaW5lcixkJiZvJiZoKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxwKSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LHApKTpzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHAscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmgoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxwKSkpLF8mJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLmVuZFNsb3QpfSxfKSx0JiYoZT0+cy5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOm4oKShoKCkuY2FyZXQsZSYmaCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShtKSl9fSw4NTQ4MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGlnaHRCdXR0b246KCk9Pmh9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDUzMjAxMSksbj1pKDMyODIxOSksYT1pKDgzMDEyKSxsPWkoMzQ1MTE2KSxyPWkoMzY0ODE1KSxkPWkubihyKSx1PWkoODU0NDUpLGM9aS5uKHUpO2Z1bmN0aW9uIGgoZSl7CmNvbnN0e2lzR3JvdXBlZDp0fT1zLnVzZUNvbnRleHQoby5Db250cm9sR3JvdXBDb250ZXh0KSx7cmVmZXJlbmNlOmksY2xhc3NOYW1lOnIsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmgsaWNvbk9ubHk6cCxlbGxpcHNpczpfLHNob3dDYXJldDpnLGZvcmNlRGlyZWN0aW9uOm0sZW5kU2xvdDpiLHN0YXJ0U2xvdDp2LGNvbG9yOmYsdmFyaWFudDpTLHNpemU6eSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp3LHR5cG9ncmFwaHk6Qyx0ZXh0V3JhcDpFPSExLG1heExpbmVzOngsc3R5bGU6TD17fSxpc1BpbGxzOk0saXNBY3RpdmU6VCx0b29sdGlwVGV4dDpWLHJvbGU6ayxkYXRhUWFJZDpBLGFyaWFMYWJlbDpXLG5hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlzQWN0aXZlQ2FyZXQ6WixpZDpKLGRpc2FibGVkOlksdGFiSW5kZXg6cSx2YWx1ZTokLHRpdGxlOlEsdHlwZTpLLC4uLlh9PWUsZWU9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKFgpLHRlPSgwLGwuZmlsdGVyQXJpYVByb3BzKShYKSxpZT1FP3g/PzI6MSxzZT1pZT4wP3suLi5MLCItLXVpLWxpYi1saWdodC1idXR0b24tY29udGVudC1tYXgtbGluZXMiOmllfTpMO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse25hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlkOkosZGlzYWJsZWQ6WSx0YWJJbmRleDpxLHZhbHVlOiQsdGl0bGU6USx0eXBlOkssImRhdGEtcWEtaWQiOkEsImFyaWEtbGFiZWwiOlcsLi4uZWUsLi4udGUsY2xhc3NOYW1lOigwLG4udXNlTGlnaHRCdXR0b25DbGFzc2VzKSh7Li4uYygpLC4uLmQoKX0se2NsYXNzTmFtZTpyLGlzU2VsZWN0ZWQ6dSxjaGlsZHJlbjpoLGljb25Pbmx5OnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246bSxlbmRTbG90OmIsc3RhcnRTbG90OnYsY29sb3I6Zix2YXJpYW50OlMsc2l6ZTp5LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOncsdHlwb2dyYXBoeTpDLHRleHRXcmFwOkUsaXNQaWxsczpNLGlzQWN0aXZlOlR9LHQpLHJlZjppLHN0eWxlOnNlLHJvbGU6a30scy5jcmVhdGVFbGVtZW50KGEuTGlnaHRCdXR0b25Db250ZW50LHtzaG93Q2FyZXQ6Zyxpc0FjdGl2ZUNhcmV0OmcmJihNfHxUfHx1fHxaKSxpY29uT25seTpwLGVsbGlwc2lzOl8sdGV4dFdyYXA6RSx0b29sdGlwVGV4dDpWLGVuZFNsb3Q6YixzdGFydFNsb3Q6dn0saCkpfX0sOTg2NjA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse05hdkJ1dHRvbkNvbnRlbnQ6KCk9PmMsZ2V0TmF2QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNDgwOTcyKSxsPWkoNDAyMjUzKSxyPWkubihsKTtjb25zdCBkPXsiLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYmxlbmRNaXhMaWdodCI6ImNvbG9yLWJ1cm4iLCItLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmsiOiJjb2xvci1kb2RnZSJ9O2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJsYXJnZSIscHJlc2VydmVQYWRkaW5nczppLGlzTGluazpzLGZsaXBJY29uT25SdGw6byxibGVuZE1vZGU6YSxjbGFzc05hbWU6bH09ZTtyZXR1cm4gbigpKHIoKS5uYXZCdXR0b24scigpW3RdLGkmJnIoKS5wcmVzZXJ2ZVBhZGRpbmdzLG8mJnIoKS5mbGlwSWNvbixhJiZyKCkuYmxlbmRNb2RlLHMmJnIoKS5saW5rLGwpfWZ1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxpY29uOmksYmxlbmRNb2RlOm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKS5iYWNrZ3JvdW5kLHN0eWxlOm8/ZDp2b2lkIDB9KSxzLmNyZWF0ZUVsZW1lbnQoYS5TY2FsYWJsZUljb24se2ljb246aSxjbGFzc05hbWU6cigpLmljb259KSx0JiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLnZpc3VhbGx5SGlkZGVufSx0KSl9fSw4ODA4ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TmF2QnV0dG9uOigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5ODY2MDkpO2NvbnN0IG49KDAscy5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtpY29uOmksdHlwZTpuPSJidXR0b24iLHByZXNlcnZlUGFkZGluZ3M6YSxmbGlwSWNvbk9uUnRsOmwsc2l6ZTpyLGJsZW5kTW9kZTpkLGFyaWFMYWJlbDp1LC4uLmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyxjbGFzc05hbWU6KDAsby5nZXROYXZCdXR0b25DbGFzc2VzKSh7Li4uZSxjaGlsZHJlbjp1fSkscmVmOnQsdHlwZTpufSxzLmNyZWF0ZUVsZW1lbnQoby5OYXZCdXR0b25Db250ZW50LHtpY29uOmksYmxlbmRNb2RlOmR9LHUpKX0pKTtuLmRpc3BsYXlOYW1lPSJOYXZCdXR0b24ifSw2Mjc4NDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QmxvY2tTdHlsZUNsYXNzZXM6KCk9PnIsZ2V0TG9nb1N0eWxlQ2xhc3NlczooKT0+ZH0pO3ZhciBzPWkoOTE0NDg3KSxvPWkubihzKSxuPWkoMTM2NCksYT1pKDg2MDAyNSksbD1pLm4oYSk7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKCkobCgpLnBhaXIsbCgpW2VdLHQpfWZ1bmN0aW9uIGQoZSx0PTIsaT0hMCl7cmV0dXJuIG8oKShsKCkubG9nbyxsKClbZV0sbCgpLnNrZWxldG9uLG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLCFpJiZsKCkuZW1wdHksMT09PXQmJm8oKShuLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpKX19LDM4Nzc3NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjbGVMb2dvOigpPT5sLGhpZGRlbkNpcmNsZUxvZ29DbGFzczooKT0+YX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzk0MTg3KSxuPWkoMTQwMDE3KQo7Y29uc3QgYT1pLm4obikoKS5oaWRkZW47ZnVuY3Rpb24gbChlKXtjb25zdCB0PSgwLG8uaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKSxbaSxuXT0oMCxzLnVzZVN0YXRlKSgwKSxhPSgwLHMudXNlUmVmKShudWxsKSxsPSgwLG8uZ2V0U3R5bGVDbGFzc2VzKShlLnNpemUsaSxlLmNsYXNzTmFtZSkscj1lLmFsdD8/ZS50aXRsZT8/IiIsZD10P3JbMF06ZS5wbGFjZWhvbGRlckxldHRlcjtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT5uKGEuY3VycmVudD8uY29tcGxldGU/PyF0PzI6MSkpLFt0XSksdCYmMyE9PWk/cy5jcmVhdGVFbGVtZW50KCJpbWciLHtyZWY6YSxjbGFzc05hbWU6bCxjcm9zc09yaWdpbjoiIixzcmM6ZS5sb2dvVXJsLGFsdDpyLHRpdGxlOmUudGl0bGUsbG9hZGluZzplLmxvYWRpbmcsb25Mb2FkOigpPT5uKDIpLG9uRXJyb3I6KCk9Pm4oMyksImFyaWEtbGFiZWwiOmVbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOmVbImFyaWEtaGlkZGVuIl19KTpzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bCx0aXRsZTplLnRpdGxlLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSxkKX19LDc5NDE4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PnIsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSgxMzY0KSxhPWkoMTQwMDE3KSxsPWkubihhKTtmdW5jdGlvbiByKGUsdD0yLGkpe3JldHVybiBvKCkobCgpLmxvZ28sbCgpW2VdLGksMD09PXR8fDE9PT10P28oKShuLnNrZWxldG9uVGhlbWUud3JhcHBlcixsKCkuc2tlbGV0b24pOmwoKS5sZXR0ZXIsMT09PXQmJm4uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gZChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sNTMyMDExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xHcm91cENvbnRleHQ6KCk9Pm4sZGVmYXVsdENlbGxTdGF0ZTooKT0+b30pO3ZhciBzPWkoNzc5NDc0KTtjb25zdCBvPXtpc1RvcDohMCxpc1JpZ2h0OiEwLGlzQm90dG9tOiEwLGlzTGVmdDohMH0sbj1zLmNyZWF0ZUNvbnRleHQoe2lzR3JvdXBlZDohMSxjZWxsU3RhdGU6b30pfSwzMDk5MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q3VzdG9tQmVoYXZpb3VyQ29udGV4dDooKT0+c30pO2NvbnN0IHM9KDAsaSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczohMH0pO3MuZGlzcGxheU5hbWU9IkN1c3RvbUJlaGF2aW91ckNvbnRleHQifSw3ODc4OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+bn0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjE2MzExKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9KDAscy51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9aT0+e2UoaSksdC5jdXJyZW50PWl9O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e2wuY3VycmVudChlKX0pKSksW10pLGk9KDAscy51c2VSZWYpKG51bGwpLG49dD0+e2lmKG51bGw9PT10KXJldHVybiBhKGkuY3VycmVudCx0KSx2b2lkKGkuY3VycmVudD1udWxsKTtpLmN1cnJlbnQhPT1lJiYoaS5jdXJyZW50PWUsYShpLmN1cnJlbnQsdCkpfSxsPSgwLHMudXNlUmVmKShuKTtyZXR1cm4gbC5jdXJyZW50PW4sKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBsLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+bC5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sOTQ4NDUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6bix0aXRsZTphLGljb246bD0iIiwuLi5yfT1lLGQ9cix1PSEoIW8mJiFuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6biwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpsfSxjbGFzc05hbWU6aSx0aXRsZTphLC4uLmR9KX0pKX0sMjczMzEwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjppPSIiLHRpdGxlOm8sYXJpYUxhYmVsOm4sYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOmwsLi4ucn09ZSxkPSEhKG98fG58fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLnIscmVmOnQsImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOmx8fCFkLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDppfX0pfSkpfSw0ODA5NzIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U2NhbGFibGVJY29uOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSg3Nzk0NzQpLGE9aSg5NDg0NTApLGw9aSgyMDMyNzMpLHI9aS5uKGwpO2NvbnN0IGQ9bi5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLnN9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChhLkNvbW1vbkljb24sey4uLnMsY2xhc3NOYW1lOm8oKShpLHIoKS5zY2FsYWJsZUljb24pLHJlZjp0fSl9KSl9LDEzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2tlbGV0b25UaGVtZTooKT0+b30pO3ZhciBzPWkoOTc1Mjg1KTtjb25zdCBvPWkubihzKSgpfSwxNDkzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3dpdGNoR3JvdXA6KCk9Pm59KQo7dmFyIHM9aSg3Nzk0NzQpLG89aSg4Njk4NDIpO2NsYXNzIG4gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc3Vic2NyaXB0aW9ucz1uZXcgU2V0LHRoaXMuX2dldE5hbWU9KCk9PnRoaXMucHJvcHMubmFtZSx0aGlzLl9nZXRWYWx1ZXM9KCk9PnRoaXMucHJvcHMudmFsdWVzLHRoaXMuX2dldE9uQ2hhbmdlPSgpPT50aGlzLnByb3BzLm9uQ2hhbmdlLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoZSl9LHRoaXMuX3Vuc3Vic2NyaWJlPWU9Pnt0aGlzLl9zdWJzY3JpcHRpb25zLmRlbGV0ZShlKX0sdGhpcy5zdGF0ZT17c3dpdGNoR3JvdXBDb250ZXh0OntnZXROYW1lOnRoaXMuX2dldE5hbWUsZ2V0VmFsdWVzOnRoaXMuX2dldFZhbHVlcyxnZXRPbkNoYW5nZTp0aGlzLl9nZXRPbkNoYW5nZSxzdWJzY3JpYmU6dGhpcy5fc3Vic2NyaWJlLHVuc3Vic2NyaWJlOnRoaXMuX3Vuc3Vic2NyaWJlfX19cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLlN3aXRjaEdyb3VwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpcy5zdGF0ZS5zd2l0Y2hHcm91cENvbnRleHR9LHRoaXMucHJvcHMuY2hpbGRyZW4pfWNvbXBvbmVudERpZFVwZGF0ZShlKXt0aGlzLl9ub3RpZnkodGhpcy5fZ2V0VXBkYXRlcyh0aGlzLnByb3BzLnZhbHVlcyxlLnZhbHVlcykpfV9ub3RpZnkoZSl7dGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKCh0PT50KGUpKSl9X2dldFVwZGF0ZXMoZSx0KXtyZXR1cm5bLi4udCwuLi5lXS5maWx0ZXIoKGk9PnQuaW5jbHVkZXMoaSk/IWUuaW5jbHVkZXMoaSk6ZS5pbmNsdWRlcyhpKSkpfX19LDM0NTExNihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIG4oZSxhKX1mdW5jdGlvbiBvKGUpe3JldHVybiBuKGUsbCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHM9e307Zm9yKGNvbnN0W2UsdF1vZiBpKXNbZV09dDtyZXR1cm4gc31mdW5jdGlvbiBhKGUpe2NvbnN0W3QsaV09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gcihlLHQpe2NvbnN0IGk9cyhlKTtyZXR1cm4gdCYmKGlbImRhdGEtcWEtaWQiXT10KSxpfWkuZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sZmlsdGVyQ2hlY2tlZERhdGFQcm9wczooKT0+cixmaWx0ZXJEYXRhUHJvcHM6KCk9PnMsZmlsdGVyUHJvcHM6KCk9Pm4saXNBcmlhQXR0cmlidXRlOigpPT5sLGlzRGF0YUF0dHJpYnV0ZTooKT0+YX0pfSw3NzAxNDMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VGV4dEZvclRvb2x0aXA6KCk9PmF9KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1lPT4oMCxzLmlzVmFsaWRFbGVtZW50KShlKSYmQm9vbGVhbihlLnByb3BzLmNoaWxkcmVuKSxuPShlLHQ9ITApPT5udWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwie30iPT09SlNPTi5zdHJpbmdpZnkoZSk/IiI6ZS50b1N0cmluZygpKyh0PyIgIjoiIiksYT1lPT5BcnJheS5pc0FycmF5KGUpfHwoMCxzLmlzVmFsaWRFbGVtZW50KShlKT9zLkNoaWxkcmVuLnRvQXJyYXkoZSkucmVkdWNlKCgoZSx0KT0+e2xldCBpPSIiO3JldHVybiBpPSgwLHMuaXNWYWxpZEVsZW1lbnQpKHQpJiZvKHQpP2EodC5wcm9wcy5jaGlsZHJlbik6KDAscy5pc1ZhbGlkRWxlbWVudCkodCkmJiFvKHQpPyIiOm4odCksZS5jb25jYXQoaSl9KSwiIikudHJpbSgpOm4oZSwhMSl9LDk2NDU5NChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHMoW2VdKX1pLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnN9KX0sOTczODA0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldEltYWdlOigpPT5ufSk7Y29uc3Qgcz1uZXcgTWFwO2Z1bmN0aW9uIG8oZSl7ZS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIn1mdW5jdGlvbiBuKGUsdCxpPW8sbil7bGV0IGE9cy5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PWEmJihhPW5ldyBQcm9taXNlKCgoZSxzKT0+e2NvbnN0IG89bmV3IEltYWdlO28ub25sb2FkPSgpPT57ZShvKSxvLm9ubG9hZD1udWxsLG8ub25lcnJvcj1udWxsfSxvLm9uZXJyb3I9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0saShvKSxvLnNyYz10LG4mJihuLm9uYWJvcnQ9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0pfSkpLHMuc2V0KGUsYSkpLGF9fSw3OTAwNDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2hhbmdlRGVzY3JpcHRpb246KCk9PmQsY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdDooKT0+bCxjb252ZXJ0VG9NYXJrZWRTeW1ib2xMaXN0OigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG89aSgzODQwMTcpLG49aSg1ODA1MjYpLGE9KGkoNjIxMjApLGkoOTYyMDgxKSxpKDMwNDM5OSkpO2koMTU1OTAwKSxpKDU2OTM5OCksaSg3ODgwMSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWUuaWQsaT1lLm5hbWUse3N5bWJvbHM6cyxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjdXN0b20iLGlkOnQsbmFtZTppLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6cyxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOit0fX19ZnVuY3Rpb24gcihlKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoZS5jb2xvcikse3N5bWJvbHM6aSxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjb2xvcmVkIixpZDp0LApjb2xvcjp0LG5hbWU6ZS5uYW1lPz9udWxsLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6aSxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOitlLmlkfX19ZnVuY3Rpb24gZChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLGEud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihhLmhhbmRsZUpTT04pLnRoZW4obCl9fSw1ODA1MjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+cixyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT51LHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+ZCxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxvPWkoOTAxMDIyKSxuPWkoNzA1MDEyKSxhPWkoOTIyMjQ4KTtjb25zdCBsPW5ldyBSZWdFeHAoYF4ke28uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1bXSxpPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFsscyxuXT1lLm1hdGNoKGwpfHxbXTtpZihuKXtjb25zdCBlPWAke28uU0VQQVJBVE9SX1BSRUZJWH0ke259YDtzJiZpLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczppfX1mdW5jdGlvbiBkKGUsdCl7Y29uc3QgaT1fKGUpO3JldHVybiB0Lm1hcCgoZT0+aT8uaGFzT3duUHJvcGVydHkoZSk/YyhlLGlbZV0pOmUpKX1mdW5jdGlvbiB1KGUsdCxpKXtjb25zdCBzPV8oZSk7aWYocz8uaGFzT3duUHJvcGVydHkoaSkpe2NvbnN0IGU9c1tpXTtyZXR1cm57b2xkU2VwYXJhdG9yOmModCxlKSxuZXdTZXBhcmF0b3I6YyhpLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOml9fWZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPWUucmVwbGFjZShvLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke28uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtpfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxzLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLG4uc2VydmljZSkoYS5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5zfSk7Y29uc3Qgcz1uZXcgU2V0fSw4Nzc0NDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxvLG47aS5kKHQse1RpY2tlclR5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlRpY2tlcj0idGlja2VyIixlLkRlc2NyaXB0aW9uPSJkZXNjcmlwdGlvbiJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TeW1ib2xOYW1lPSJzaG9ydF9uYW1lIixlLkxhc3Q9Imxhc3RfcHJpY2UiLGUuQ2hhbmdlPSJjaGFuZ2UiLGUuQ2hhbmdlSW5QZXJjZW50cz0iY2hhbmdlX3BlcmNlbnQiLGUuVm9sdW1lPSJ2b2x1bWUiLGUuUHJlUG9zdE1hcmtldD0icmNocCIsZS5GbGFnPSJmbGFnIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlW2UuREVTQz0tMV09IkRFU0MiLGVbZS5BU0M9MV09IkFTQyJ9KG58fChuPXt9KSl9LDQ0MDcxNShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9PnN9KTtjb25zdCBzPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6aX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhLnNob3J0Y3V0LGkpfSx0KX19LDcyMTE2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDI3MzMxMCksbD1pKDY0OTE2Nikscj1pKDc3OTEwOCksZD1pKDUyNTEpLHU9aSgzODA1NiksYz1pKDU4MDU5NiksaD1pKDQ2MjcwNCkscD1pKDEwNzk2Nik7ZnVuY3Rpb24gXyhlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOmksaXNMb2FkaW5nOm8saXNIb3ZlcmVkOl8sYWN0aXZlOmcsY2hlY2thYmxlOm0sZGlzYWJsZWQ6YixjaGVja2VkOnYsaWNvbjpmLGljb25DaGVja2VkOlMsaGludDp5LHN1Ykl0ZW1zOncsbGFiZWw6QyxzdHlsZWRMYWJlbDpFLG9uQ2xpY2s6eCxjaGlsZHJlbjpMLHRvb2xib3g6TSxqc3hMYWJlbDpULHNpemU6Vj0ibm9ybWFsIn09ZSxrPSgwLHMudXNlQ29udGV4dCkoci5FbXB0eUljb25zQ29udGV4dCksQT0hIXcubGVuZ3RoO3JldHVybiBvP3MuY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6bigpKHQscC5pdGVtLHAubG9hZGluZyxwW1ZdKX0scy5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpzLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOm4oKSh0LHAuaXRlbSxwLmludGVyYWN0aXZlLGkmJnAudGl0bGUsYiYmcC5kaXNhYmxlZCxfJiZwLmhvdmVyZWQsZyYmcC5hY3RpdmUsayYmcC5lbXB0eUljb25zLHBbVl0pLG9uQ2xpY2s6eH0scy5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOm4oKShwLmljb24pLGljb246ZnVuY3Rpb24oKXsKaWYobSYmdilyZXR1cm4gU3x8Znx8dTtyZXR1cm4gZn0oKX0pLHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkocC5sYWJlbCl9LCFUJiZFP0UubWFwKCgoe3RleHQ6ZSwuLi50fSxpKT0+cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7a2V5Omksc3R5bGU6dH0sZSkpKTpUPz9DKSwhIU0mJnMuY3JlYXRlRWxlbWVudChhLkljb24se29uQ2xpY2s6ZnVuY3Rpb24oKXtNJiZNLmFjdGlvbigpfSxjbGFzc05hbWU6cC5yZW1vdmUsaWNvbjpofSksIUEmJnkmJnMuY3JlYXRlRWxlbWVudChkLkhpbnQse2NsYXNzTmFtZTpwLnNob3J0Y3V0LHRleHQ6eX0pLEEmJnMuY3JlYXRlRWxlbWVudChhLkljb24se2NsYXNzTmFtZTpwLm5lc3RlZCxpY29uOmN9KSxMKX19LDMyMzgzMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUxpc3Q6KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk1NDQ3OCk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsaSIse2NsYXNzTmFtZTpvLnNlcGFyYXRvcn0pfXZhciBhPWkoNzIxMTY3KSxsPWkoNTY5Mzk4KSxyPWkoOTY0MjE0KSxkPWkoMjc2MDE5KTtjb25zdCB1PSgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImZvcmNlX2Rpc2FibGVfanN4X21lbnVfaXRlbXNfcmVuZGVyaW5nIik7ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXU/ZS5hY3Rpb246ZS5hY3Rpb24uY3VzdG9tKCk/P2UuYWN0aW9uLFtpLG9dPSgwLHMudXNlU3RhdGUpKCgoKT0+dC5nZXRTdGF0ZSgpKSksW24sbF09KDAscy51c2VTdGF0ZSkoITEpLGM9ISFpLnN1Ykl0ZW1zLmxlbmd0aCxoPWMmJm47cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9Pm8odC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLHMuY3JlYXRlRWxlbWVudChhLkNvbnRleHRNZW51SXRlbSx7Li4uaSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGkuZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoYylyZXR1cm4gdm9pZCBsKCEwKTtpLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxkLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOmkubG9hZGluZyxpc0hvdmVyZWQ6aH0saCYmcy5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOnB9LHMuY3JlYXRlRWxlbWVudChfLHtpdGVtczppLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOnB9KSkpO2Z1bmN0aW9uIHAoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgaD1pKDc3OTEwOCkscD1pKDMzNDU1MCk7ZnVuY3Rpb24gXyhlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjppLGNsb3NlTmVzdGVkOm99PWUsbD0hQm9vbGVhbihpKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChoLkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxzLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLGkmJnMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDppLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjpwLG9uQ2xpY2s6b30pLHMuY3JlYXRlRWxlbWVudChuLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGMse2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQobix7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+c30pO2NvbnN0IHM9aSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSwzMjk2NjgoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztmdW5jdGlvbiBvKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSl9ZnVuY3Rpb24gbihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiKSl9aS5kKHQse2JlY29tZU1haW5FbGVtZW50OigpPT5vLGJlY29tZVNlY29uZGFyeUVsZW1lbnQ6KCk9Pm59KSxmdW5jdGlvbihlKXtlLk1haW5FbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixlLlNlY29uZGFyeUVsZW1lbnQ9InJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCJ9KHN8fChzPXt9KSl9LDk4MzYxNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5yLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+bCx1cGRhdGVUYWJJbmRleGVzOigpPT5kfSk7dmFyIHMsbz1pKDk2OTE2OCksbj1pKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBsKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHIoZSl7CnJldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGQoKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIse2J1YmJsZXM6ITB9KSl9ZnVuY3Rpb24gdShlKXtjb25zdCB0PSgwLG8uaXNSdGwpKCk7c3dpdGNoKGUpe2Nhc2UgMzg6cmV0dXJuImJsb2NrUHJldiI7Y2FzZSA0MDpyZXR1cm4iYmxvY2tOZXh0IjtjYXNlIDM3OnJldHVybiB0PyJpbmxpbmVOZXh0IjoiaW5saW5lUHJldiI7Y2FzZSAzOTpyZXR1cm4gdD8iaW5saW5lUHJldiI6ImlubGluZU5leHQiO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSFmdW5jdGlvbihlKXtlLkJsb2NrUHJldj0iYmxvY2tQcmV2IixlLkJsb2NrTmV4dD0iYmxvY2tOZXh0IixlLklubGluZVByZXY9ImlubGluZVByZXYiLGUuSW5saW5lTmV4dD0iaW5saW5lTmV4dCJ9KHN8fChzPXt9KSl9LDg1ODAzNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBY3Rpb25zOigpPT5wfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxODUyNzEpLG49aSg3MTIxMzQpLGE9aSg0MzE4MjMpLGw9aSg1MDkwNCkscj1pKDkxOTk4NSksZD1pKDY0MzkwMyksdT1pKDM4NjkzMSksYz1pKDYyMTkyNiksaD1pKDY3NDE5KTtmdW5jdGlvbiBwKGUsdCxwLF8pe2NvbnN0IGc9ZnVuY3Rpb24oZSx0LHIscCl7Y29uc3QgXz1vLnQobnVsbCx2b2lkIDAsaSgzMDgzOSkpLmZvcm1hdCh7c3ltYm9sOigwLGQuc2FmZVNob3J0TmFtZSkodCl9KSxnPWUuZ2V0U3ltYm9sQ29sb3IodCl8fHZvaWQgMCxtPXt9LGI9bi5MSVNUX0NPTE9SUy5tYXAoKGU9Pntjb25zdCB0PW5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7bGFiZWw6KDAsaC5mbGFnZ2VkU3ltYm9sQ29sb3JOYW1lKShlKSxvbkV4ZWN1dGU6KCk9PnYoZSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZT09PWd9fSk7cmV0dXJuIG1bZV09dCx0fSkpLHY9aT0+e3AoKSwoMCxjLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e3Iuc2V0Q29sb3IoaSksZS5zZXRTeW1ib2xzQ29sb3IoW3RdLHIuZ2V0Q29sb3IoKSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiRmxhZyIpLG4uTElTVF9DT0xPUlMuZm9yRWFjaCgoZT0+e21bZV0udXBkYXRlKHtjaGVja2VkOmU9PT1yLmdldENvbG9yKCl9KX0pKX0pLHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9sc0NvbG9ycyIsc291cmNlOiJTZXQgc3ltYm9sIGNvbG9yIn0pfSxmPXtkb05vdENsb3NlT25DbGljazohMH07cmV0dXJuW25ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5GbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpfLG9uRXhlY3V0ZTooKT0+dihyLmdldENvbG9yKCkpfX0pLG5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7Li4uZixsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg5NjE2MTQpKSxzdWJJdGVtczpifSxjdXN0b21BY3Rpb25PcHRpb25zOnsuLi5mLGpzeExhYmVsOnMuY3JlYXRlRWxlbWVudChhLkxhYmVsQ29sb3JTZWxlY3Rvcix7dmFsdWU6ZyxvbkNoYW5nZTp2fSl9fSldfShlLHQscCxfKTtyZXR1cm4gbnVsbCE9PWUuZ2V0U3ltYm9sQ29sb3IodCkmJmcucHVzaChmdW5jdGlvbihlLHQpe3JldHVybiBuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuVW5mbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg2OTIxKSkuZm9ybWF0KHtzeW1ib2w6KDAsZC5zYWZlU2hvcnROYW1lKSh0KX0pLG9uRXhlY3V0ZTooKT0+e2Uuc2V0U3ltYm9sc0NvbG9yKFt0XSxudWxsKSwoMCx1LnRyYWNrRXZlbnQpKCJXYXRjaGxpc3QiLCJDb250ZXh0IG1lbnUiLCJVbmZsYWciKX19fSl9KGUsdCkpLGcucHVzaChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IGwuQWN0aW9uKHthY3Rpb25JZDoiV2F0Y2hsaXN0LlVuZmxhZ0FsbFN5bWJvbHMiLG9wdGlvbnM6e2xhYmVsOm8udChudWxsLHZvaWQgMCxpKDMzMjc1MykpLG9uRXhlY3V0ZTooKT0+eygwLHIuc2hvd1VuZmxhZ0FsbFN5bWJvbHNDb25maXJtKSgoKCk9PntlLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiVW5mbGFnIGFsbCIpfX19KX0oZSkpLGd9fSwzMDY2MDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzEyMTM0KSxuPWkoMjM1NzI0KSxhPWkoMTQ5MzY0KSxsPWkoOTgzNjE2KSxyPWkoMzI5NjY4KSxkPWkoOTE0NDg3KSx1PWkubihkKSxjPWkoNjU4NDYpLGg9aSgyNzMzMTApLHA9aSgxODUyNzEpLF89aSg0NDA3MTUpLGc9aSgxODIzMDgpLG09aSgyNzQ4NTEpLGI9aSgyMDMzMDkpLHY9aSg3NTE4NjMpO2NvbnN0IGY9KDAsYy5tYWtlU3dpdGNoR3JvdXBJdGVtKSgoZnVuY3Rpb24oZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdmFsdWU6bj1vLkxpc3RDb2xvci5SZWQsbmFtZTphLGNoZWNrZWQ6bH09ZSxbcixkXT0oMCxnLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCksYz0oMCxzLnVzZUNvbnRleHQpKF8uQ29udGV4dE1lbnVDb250ZXh0KSxmPWM/LnR5cGU/PyJtZW51IixTPW47cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgibGFiZWwiLHtyZWY6cix0YWJJbmRleDpkLGNsYXNzTmFtZTp1KCkodCx2LndyYXAsImRyYXdlciI9PT1mJiZ2LmxhcmdlKSwiZGF0YS1jb2xvciI6Uyxyb2xlOiJtZW51aXRlbSIsImFyaWEtbGFiZWwiOnAudChudWxsLHtyZXBsYWNlOntjb2xvcjpTfX0saSg1MDY5MTUpKSwKImFyaWEtY2hlY2tlZCI6bH0scy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2NsYXNzTmFtZTp2LmlucHV0LHR5cGU6InJhZGlvIixuYW1lOmEsdmFsdWU6bixjaGVja2VkOmwsb25DaGFuZ2U6ZS5vbkNoYW5nZSxvbkNsaWNrOmw/ZnVuY3Rpb24oKXtlLm9uQ2xpY2tJZkNoZWNrZWQmJmUub25DbGlja0lmQ2hlY2tlZChuKX06dm9pZCAwfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSgpKHYuYm94LHZbU10sImRyYXdlciI9PT1mJiZ2LmxhcmdlKX0sbD9zLmNyZWF0ZUVsZW1lbnQoaC5JY29uLHtpY29uOm19KTpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LnBpY2tlckRvdH0scy5jcmVhdGVFbGVtZW50KGguSWNvbix7Y2xhc3NOYW1lOnYuaG92ZXJEb3QsaWNvbjpifSkpKSl9KSksUz1bMzksMzcsMTMsMzIsMjddO2Z1bmN0aW9uIHkoZSl7Y29uc3R7YnV0dG9uQ2xhc3NOYW1lOnQsdmFsdWU6aSxvblNlbGVjdGVkQ2xpY2s6ZCxmcm9tS2V5Ym9hcmQ6dX09ZSxjPSgwLHMudXNlUmVmKShudWxsKSxoPSgwLHMudXNlQ2FsbGJhY2spKChlPT57aWYoIWMuY3VycmVudHx8ZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoIVMuaW5jbHVkZXModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtjb25zdCBzPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykoYy5jdXJyZW50KS5zb3J0KGwubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvciksYT1zLmZpbmRJbmRleCgoZT0+ZT09PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKTtpZigtMT09PWEpcmV0dXJuO2NvbnN0IGQ9c1thXTtsZXQgdTtzd2l0Y2godCl7Y2FzZSAxMzpjYXNlIDMyOl8oZC5kYXRhc2V0LmNvbG9yfHxvLkxpc3RDb2xvci5SZWQpO2JyZWFrO2Nhc2UgMjc6XyhpKX1zd2l0Y2goKDAsbC5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZU5leHQiOnU9c1thKzFdfHxzWzBdO2JyZWFrO2Nhc2UiaW5saW5lUHJldiI6dT1zW2EtMV18fHNbcy5sZW5ndGgtMV19dSBpbnN0YW5jZW9mIEhUTUxMYWJlbEVsZW1lbnQmJigoMCxyLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGQpLCgwLHIuYmVjb21lTWFpbkVsZW1lbnQpKHUpLHUuZm9jdXMoKSl9KSxbXSk7KDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF1KXJldHVybjtjb25zdCBlPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsdD1jLmN1cnJlbnQ7aWYoIXQpcmV0dXJuO2NvbnN0W2ldPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykodCkuc29ydChsLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO3JldHVybiBpPygoMCxyLmJlY29tZU1haW5FbGVtZW50KShpKSxpLmZvY3VzKCksKCk9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuZm9jdXMoKX0pOnZvaWQgMH0pLFtdKTtjb25zdCBwPW8uTElTVF9DT0xPUlMubWFwKCgoZSxpKT0+cy5jcmVhdGVFbGVtZW50KGYse2tleTppLGNsYXNzTmFtZTp0LG9uQ2xpY2tJZkNoZWNrZWQ6ZCx2YWx1ZTplfSkpKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJtZW51Iix7cmVmOmMsb25LZXlEb3duOmh9LHMuY3JlYXRlRWxlbWVudChhLlN3aXRjaEdyb3VwLHtuYW1lOiJjb2xvci1zZWxlY3RvciIsb25DaGFuZ2U6Xyx2YWx1ZXM6dm9pZCAwIT09aT9baV06W119LHApKTtmdW5jdGlvbiBfKHQpe2Uub25DaGFuZ2UmJnZvaWQgMCE9PXQmJmUub25DaGFuZ2UodCl9fX0sNjc0MTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmxhZ2dlZFN5bWJvbENvbG9yTmFtZTooKT0+bn0pO3ZhciBzPWkoNzEyMTM0KSxvPWkoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe3N3aXRjaChlKXtjYXNlIHMuTGlzdENvbG9yLlJlZDpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjU1MDQyKSk7Y2FzZSBzLkxpc3RDb2xvci5HcmVlbjpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjgyNjY5KSk7Y2FzZSBzLkxpc3RDb2xvci5CbHVlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2MzgxKSk7Y2FzZSBzLkxpc3RDb2xvci5PcmFuZ2U6cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDk3MTI4MykpO2Nhc2Ugcy5MaXN0Q29sb3IuUHVycGxlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzA5MjMpKTtjYXNlIHMuTGlzdENvbG9yLkN5YW46cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDE0Njg0KSk7Y2FzZSBzLkxpc3RDb2xvci5QaW5rOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzY3NjgpKX19fSw0MzE4MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGFiZWxDb2xvclNlbGVjdG9yOigpPT5sfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgzMDY2MDEpLG49aSg1MTg3NSksYT1pKDU1ODg3Myk7Y2xhc3MgbCBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdHt2YWx1ZTplfT10aGlzLnByb3BzO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS53cmFwcGVyfSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS5idXR0b25zLG9uQ2xpY2s6bi5wcmV2ZW50RGVmYXVsdH0scy5jcmVhdGVFbGVtZW50KG8uQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmEuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6ZSxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZSxvblNlbGVjdGVkQ2xpY2s6dGhpcy5fb25DaGFuZ2V9KSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vbkNoYW5nZShlKX19fX0sODM0MTg4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BvcHVwQ29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjA3ODMyKSxuPWkoNjA5NTI4KSxhPWkoNDA2MTEwKSxsPWkoMzEzNzcyKSxyPWkoOTY0MjE0KSxkPWkoMzIzODMwKSx1PWkoNDQwNzE1KSxjPWkoOTY5MTY4KSxoPWkoNTg1NDgpLHA9aSgzMDY2MDEpLF89aSgzNjMyNjkpLGc9aSg1NTg5NzIpO2NsYXNzIG0gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29tcG9uZW50RGlkTW91bnQoKXsKZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYoXy5tb2JpbGV0b3VjaD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaFN0YXJ0KToodGhpcy5wcm9wcy5lbGVtLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKF8ubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6dGhpcy5wcm9wcy5lbGVtJiYodGhpcy5wcm9wcy5lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5wcm9wcy5oaWRlKSkpfXJlbmRlcigpe2NvbnN0IGU9e3RvcDowfTtpZih0aGlzLnByb3BzLmVsZW0pe2NvbnN0IHQ9dGhpcy5wcm9wcy5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2UudG9wPXQudG9wK3QuaGVpZ2h0LzIsKDAsYy5pc1J0bCkoKT9lLnJpZ2h0PXdpbmRvdy5pbm5lcldpZHRoLXQubGVmdDplLmxlZnQ9dC5sZWZ0K3Qud2lkdGh9ZWxzZSBlLmxlZnQ9MDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGguUG9ydGFsLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTplLGNsYXNzTmFtZTpnLnBvcHVwLHJlZjp0aGlzLl9zZXRQb3BVcEVsZW0sb25Nb3VzZUxlYXZlOl8ubW9iaWxldG91Y2g/dm9pZCAwOnRoaXMuX29uUG9wVXBNb3VzZUxlYXZlfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLndyYXBwZXJ9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuc2VsZWN0b3J9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuYXJyb3dMZWZ0fSkscy5jcmVhdGVFbGVtZW50KHAuQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmcuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6dGhpcy5wcm9wcy5jdXJyZW50Q29sb3IsZnJvbUtleWJvYXJkOnRoaXMucHJvcHMuZnJvbUtleWJvYXJkLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlfSkpKSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9wb3BVcEVsZW09bnVsbCx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vblNlbGVjdENvbG9yKGUpLHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRhcmdldE1vdXNlTGVhdmU9ZT0+e2NvbnN0IHQ9ISFlLnJlbGF0ZWRUYXJnZXQubm9kZU5hbWUsaT1lLnJlbGF0ZWRUYXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0scz10aGlzLl9wb3BVcEVsZW0mJnQmJnRoaXMuX3BvcFVwRWxlbS5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblBvcFVwTW91c2VMZWF2ZT1lPT57Y29uc3QgdD0hIWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldC5ub2RlTmFtZSxpPWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldD09PXRoaXMucHJvcHMuZWxlbSxzPXQmJnRoaXMucHJvcHMuZWxlbS5jb250YWlucyhlLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRvdWNoU3RhcnQ9ZT0+e2NvbnN0IHQ9ISFlLnRhcmdldC5ub2RlTmFtZSxpPWUudGFyZ2V0PT09dGhpcy5wcm9wcy5lbGVtLHM9ZS50YXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0sbz10JiZ0aGlzLnByb3BzLmVsZW0uY29udGFpbnMoZS50YXJnZXQpLG49dGhpcy5fcG9wVXBFbGVtJiZ0JiZ0aGlzLl9wb3BVcEVsZW0uY29udGFpbnMoZS50YXJnZXQpO2l8fG98fHN8fG58fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9zZXRQb3BVcEVsZW09ZT0+e3RoaXMuX3BvcFVwRWxlbT1lfX19ZnVuY3Rpb24gYihlKXtjb25zdHthY3Rpb25zOnQsLi4uaX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGEuTWF0Y2hNZWRpYSx7cnVsZTpuLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+ZSYmdD9zLmNyZWF0ZUVsZW1lbnQobC5EcmF3ZXJNYW5hZ2VyLG51bGwscy5jcmVhdGVFbGVtZW50KHUuQ29udGV4dE1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7dHlwZToiZHJhd2VyIn19LHMuY3JlYXRlRWxlbWVudChyLkRyYXdlcix7b25DbG9zZTppLmhpZGUscG9zaXRpb246IkJvdHRvbSJ9LHMuY3JlYXRlRWxlbWVudChkLkNvbnRleHRNZW51TGlzdCx7aXRlbXM6dH0pKSkpOnMuY3JlYXRlRWxlbWVudChtLHsuLi5pfSkpKX12YXIgdj1pKDU3MTMwMCk7bGV0IGY9bnVsbCxTPW51bGw7dmFyIHk7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtmJiZTPy51bm1vdW50KCl9ZS5zaG93PWZ1bmN0aW9uKGUpe2Z8fChmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSx0KCksUz0oMCx2LmNyZWF0ZVJlYWN0Um9vdCkocy5jcmVhdGVFbGVtZW50KG8uU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOmUubWFuYWdlcnx8bnVsbH0scy5jcmVhdGVFbGVtZW50KGIsey4uLmUsaGlkZTp0fSkpLGYpfSxlLmhpZGU9dH0oeXx8KHk9e30pKX0sMTI5MzMzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbE1hcmtlcjooKT0+dSxjcmVhdGVTeW1ib2xNYXJrZXJTdGFuZGFsb25lOigpPT5ofSk7aSg4MjkxODApO3ZhciBzPWkoODI5NzYzKSxvPWkoODMxNTI3KSxuPWkoODM0MTg4KSxhPWkoMjQzNjMxKSxsPWkoNjA5NTI4KSxyPWkoODU4MDM3KSxkPWkoNjIxOTI2KTtjbGFzcyB1e3VwZGF0ZVN1YnNjcmlwdGlvbigpe3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9YmluZFRvKGUsdCl7dGhpcy5fc2VydmljZS5vZmZTeW1ib2xDaGFuZ2UodGhpcy5fc3ltYm9sLHRoaXMuX29uQ2hhbmdlKSx0aGlzLl9zeW1ib2w9ZSx0aGlzLl91aW1hcmtlci5hcHBlbmRUbyh0KSwKdGhpcy5fc2V0U3RhdGUodGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcihlKSksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZShlLHRoaXMuX29uQ2hhbmdlKX11bmJpbmQoKXt0aGlzLl9zZXJ2aWNlLm9mZlN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpLHRoaXMuX3VpbWFya2VyLmRldGFjaCgpfWdldEVsZW0oKXtyZXR1cm4gdGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpfWlzTWFya2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jb2xvcn1zZXRDbGFzc05hbWUoZSl7dGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fY2xhc3NlcyksdGhpcy5fY2xhc3Nlcz1lLnNwbGl0KCIgIikuZmlsdGVyKEJvb2xlYW4pLHRoaXMuX3VpbWFya2VyLmdldEVsZW0oKS5jbGFzc0xpc3QuYWRkKC4uLnRoaXMuX2NsYXNzZXMpfWRlc3Ryb3koKXt0aGlzLnVuYmluZCgpLGRlbGV0ZSB0aGlzLl91aW1hcmtlcixkZWxldGUgdGhpcy5fb3B0c310b2dnbGUoZSl7dGhpcy5fb25DbGljayhlKX1fc2V0U3RhdGUoZSl7Y29uc3QgdD10aGlzLmlzTWFya2VkKCk7dGhpcy5fY29sb3I9ZSxudWxsIT09dGhpcy5fY29sb3I/KHRoaXMuX3VpbWFya2VyLnNldENvbG9yKHRoaXMuX2NvbG9yKSx0aGlzLl9hZGRBY3RpdmVDbGFzc05hbWUoKSk6KHRoaXMuX3VpbWFya2VyLnJlbW92ZUNvbG9yKCksdGhpcy5fcmVtb3ZlQWN0aXZlQ2xhc3NOYW1lKCkpLHZvaWQgMCE9PXRoaXMuX29wdHMub25NYXJrZWRDaGFuZ2VkJiZ0IT09dGhpcy5pc01hcmtlZCgpJiZ0aGlzLl9vcHRzLm9uTWFya2VkQ2hhbmdlZCgpfV9hZGRBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIuYWRkQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfV9yZW1vdmVBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIucmVtb3ZlQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfWNvbnN0cnVjdG9yKGUpe3RoaXMuX3NlcnZpY2U9KDAsby5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKSx0aGlzLl9jb2xvck1hbmFnZXI9bmV3IGEuQ29sb3JNYW5hZ2VyKHtjb250ZXh0OmEuQ29sb3JDb250ZXh0LlN5bWJvbE1hcmtlcn0pLHRoaXMuX2NsYXNzZXM9W10sdGhpcy5fb25DbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9KCk9Pntjb25zdCB0PSgwLHIuZ2V0QWN0aW9ucykodGhpcy5fc2VydmljZSx0aGlzLl9zeW1ib2wsdGhpcy5fY29sb3JNYW5hZ2VyLG4uUG9wdXBDb2xvclNlbGVjdG9yLmhpZGUpLGk9dGhpcy5fY29sb3JNYW5hZ2VyLmdldENvbG9yKCkscz17ZWxlbTp0aGlzLl91aW1hcmtlci5nZXRFbGVtKCksY3VycmVudENvbG9yOmksb25TZWxlY3RDb2xvcjp0aGlzLl9vblNlbGVjdENvbG9yLGFjdGlvbnM6dCxtYW5hZ2VyOnRoaXMuX29wdHMubWFuYWdlcixmcm9tS2V5Ym9hcmQ6ZSBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnR9O3dpbmRvdy5tYXRjaE1lZGlhKGwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwpLm1hdGNoZXM/bi5Qb3B1cENvbG9yU2VsZWN0b3Iuc2hvdyhzKTpudWxsPT09dGhpcy5fY29sb3I/KG4uUG9wdXBDb2xvclNlbGVjdG9yLnNob3cocyksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0saSkpOihuLlBvcHVwQ29sb3JTZWxlY3Rvci5oaWRlKCksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0sbnVsbCkpfSxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkOygwLGQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57aSYmKHRoaXMuX29wdHMub25DbGljaz90aGlzLl9vcHRzLm9uQ2xpY2sodGhpcy5fc3ltYm9sLHQpOnQoKSl9KSx7ZmVhdHVyZToiZmxhZ2dlZFN5bWJvbHNDb2xvcnMiLHNvdXJjZToiU2V0IHN5bWJvbCBjb2xvciJ9KX0sdGhpcy5fb25TZWxlY3RDb2xvcj1lPT57dGhpcy5fY29sb3JNYW5hZ2VyLnNldENvbG9yKGUpLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLHRoaXMuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpKX0sdGhpcy5fb25EYmxDbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLl9vbkNoYW5nZT0oKT0+e3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9LHRoaXMuX29wdHM9ZSx0aGlzLl9zeW1ib2w9ZS5zeW1ib2wsdGhpcy5fY29sb3I9ZS5jb2xvcnx8dGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcih0aGlzLl9zeW1ib2wpLHRoaXMuX3VpbWFya2VyPW5ldyBzLlVpTWFya2VyKHtjb2xvcjp0aGlzLl9jb2xvcixjb250YWluZXI6ZS5jb250YWluZXIsb25DbGljazp0aGlzLl9vbkNsaWNrLG9uRGJsQ2xpY2s6dGhpcy5fb25EYmxDbGljayxzcGVjaWFsSW1hZ2U6ZS5zcGVjaWFsSW1hZ2V9KSxlLmNsYXNzTmFtZSYmdGhpcy5zZXRDbGFzc05hbWUoZS5jbGFzc05hbWUpLG51bGwhPT10aGlzLl9jb2xvciYmdGhpcy5fYWRkQWN0aXZlQ2xhc3NOYW1lKCksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpfX1jbGFzcyBjIGV4dGVuZHMgdXtkZXN0cm95KCl7dGhpcy5fc2VydmljZS5vZmZJbml0KHRoaXMuX29uSW5pdCksc3VwZXIuZGVzdHJveSgpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX29uSW5pdD0oKT0+e3RoaXMudXBkYXRlU3Vic2NyaXB0aW9uKCl9LHRoaXMuX3NlcnZpY2Uub25Jbml0KHRoaXMuX29uSW5pdCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG5ldyBjKGUpfX0sNjE2MzExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7ZnVuY3Rpb24gbyhlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk0NzE2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQsewpNZXRhSW5mb0hlbHBlcjooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxuPWkoNjAxODQxKSxhPWkoNjI4MDYpLGw9aSg3OTE0MjcpLHI9aSgyNTA0NjcpO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJNZXRhSW5mb0hlbHBlciIpO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fbWV0YUluZm89ZX1oYXNVc2VyRWRpdGFibGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8uaW5wdXRzLnNvbWUoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9Z2V0VXNlckVkaXRhYmxlSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLmlucHV0cy5maWx0ZXIoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9aGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpe3JldHVybiBsLlN0dWR5TWV0YUluZm8uaXNTY3JpcHRTdHJhdGVneSh0aGlzLl9tZXRhSW5mbyl9aGFzVXNlckVkaXRhYmxlU3R5bGVzKGUpe2NvbnN0IHQ9dGhpcy5fbWV0YUluZm87cmV0dXJuIHQucGxvdHMubGVuZ3RoPjB8fHZvaWQgMCE9PXQuYmFuZHN8fHZvaWQgMCE9PXQuZmlsbGVkQXJlYXN8fGUodC5zaG9ydElkKXx8bC5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3kodGhpcy5fbWV0YUluZm8pfHxPYmplY3QudmFsdWVzKHQuZ3JhcGhpY3MpLnNvbWUoKGU9PnZvaWQgMCE9PWUpKX1nZXRVc2VyRWRpdGFibGVQbG90cygpe2NvbnN0IGU9bmV3IFNldCx0PXRoaXMuX21ldGFJbmZvO3JldHVybiB0LnBsb3RzLmZpbHRlcigoaT0+e2lmKCgwLHIuaXNDb2xvcmVyUGxvdCkoaSl8fCgwLHIuaXNUZXh0Q29sb3JlclBsb3QpKGkpfHwoMCxyLmlzRGF0YU9mZnNldFBsb3QpKGkpfHwoMCxyLmlzT2hsY0NvbG9yZXJQbG90KShpKXx8KDAsci5pc0FsZXJ0Q29uZGl0aW9uUGxvdCkoaSl8fCgwLHIuaXNEYXRhUGxvdCkoaSkpcmV0dXJuITE7aWYoKDAsci5pc09obGNQbG90KShpKSl7Y29uc3Qgbz1pLnRhcmdldDtpZihlLmhhcyhvKSlyZXR1cm4hMTtlLmFkZChvKTtjb25zdCBuPSgwLHMuZW5zdXJlRGVmaW5lZCkodC5vaGxjUGxvdHMpO3JldHVybiEoMCxzLmVuc3VyZURlZmluZWQpKG5bb10pLmlzSGlkZGVufXtjb25zdCBlPXQuc3R5bGVzP3Quc3R5bGVzW2kuaWRdOnZvaWQgMDtyZXR1cm4gdm9pZCAwPT09ZXx8IWUuaXNIaWRkZW59fSkpfWhhc1VzZXJFZGl0YWJsZU9wdGlvbnMoZSl7cmV0dXJuIHRoaXMuaGFzVXNlckVkaXRhYmxlSW5wdXRzKCl8fHRoaXMuaGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpfHx0aGlzLmhhc1VzZXJFZGl0YWJsZVN0eWxlcyhlKX1nZXRTdHJhdGVneVByb3BlcnRpZXMoKXtjb25zdCBlPXRoaXMuX21ldGFJbmZvLHQ9ZS5pbnB1dHMuZmlsdGVyKGEuaXNTdHJhdGVneUlucHV0KSxpPXsuLi5jfTtmb3IoY29uc3QgcyBvZiB0KXtjb25zdCB0PXMuaW50ZXJuYWxJRDtpW3RdPXMsYy5oYXNPd25Qcm9wZXJ0eSh0KXx8ZC5sb2dXYXJuKGBVbmtub3duIHN0cmF0ZWd5IGlucHV0IGludGVybmFsIGlkICR7dH0gaW4gJHtlLmZ1bGxJZH1gKX1yZXR1cm4oMCxuLmNsb25lKShpKX19Y29uc3QgYz17W2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DdXJyZW5jeV06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuQmFja3Rlc3RGaWxsTGltaXRzQXNzdW10aW9uXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DYWxjT25FdmVyeVRpY2tdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbk9yZGVyRmlsbHNdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbkhpc3RvcnlCYXJdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNvbWlzc2lvblZhbHVlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Db21pc3Npb25UeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Jbml0aWFsQ2FwaXRhbF06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuUHlyYW1pZGluZ106dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuU2xpcHBhZ2VdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkRlZmF1bHRRVFlUeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5EZWZhdWx0UVRZVmFsdWVdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpbkxvbmddOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpblNob3J0XTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5CYXJEZXRhbGl6YXRpb25dOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELlByb2Nlc3NPcmRlcnNPbkNsb3NlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5GaWxsT3JkZXJzT25TdGFuZGFyZE9ITENdOnZvaWQgMH19LDEyODgxNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtRdW90ZVNlc3Npb25TbmFwc2hvdGVyOigpPT5jfSk7dmFyIHM9aSg5NDgzODApLG89aSgxNTAxNTApLG49aSgyMTQ5ODcpLGE9aSgxMzg2MzgpLGw9aSgzNjc5NDYpLHI9aSg5NzA3NzQpLGQ9aSgzMDkwNTIpO2NvbnN0IHU9bmV3IE1hcChbWyJjaGFuZ2UiLCJjaCJdLFsibGFzdF9wcmljZSIsImxwIl0sWyJjaGFuZ2VfcGVyY2VudCIsImNocCJdLFsidXBkYXRlX21vZGVfc2Vjb25kcyIsbnVsbF1dKTtuZXcgTWFwKFtbImNoIiwiY2hhbmdlIl0sWyJscCIsImxhc3RfcHJpY2UiXSxbImNocCIsImNoYW5nZV9wZXJjZW50Il1dKTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe2lmKHRoaXMuX29uU3ltYm9sRGF0YT1uZXcgcy5EZWxlZ2F0ZSx0aGlzLl9pbmNvbXBsZXRlPW5ldyBTZXQsdGhpcy5fdXBkYXRlZEZpZWxkcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9iYXRjaGVyPW51bGwsdGhpcy5faGFuZGxlcj1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkfHwodGhpcy5fY29ubmVjdGVkPSEwLAp0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PXIuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG8ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IGk9Yy5jYWNoZS5nZXQoZSk7cmV0dXJuIGkmJnRoaXMuX2lzU25hcHNob3RSZWFkeShpLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP2k6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LGkpe2NvbnN0IHM9aT8uc2lnbmFsPz9udWxsLG89aT8uZnJlc2huZXNzLGw9dm9pZCAwIT09bz9EYXRlLm5vdygpLW86bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChpLG8pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHI9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxkKSxvKCgwLG4uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGQ9KG89ZSk9PntpZihvIT09ZSlyZXR1cm47Y29uc3Qgbj1jLmNhY2hlLmdldChlKTtuJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobix7dGltZXN0YW1wOmwsc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGQpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixyKSxpKG4pKX07aWYoISgoKT0+e2NvbnN0IHM9Yy5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbz0oMCxhLmVuc3VyZU5vdE51bGwpKGMuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDpsLHRpbWVzOm99KSYmKGkocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixyLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGQpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxpKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LGkpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShpKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOmksdGltZXN0YW1wOnMsdGltZXM6byxzeW1ib2w6bn09dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbz90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbyxpLHMpOm51bGwhPT1zJiZuP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG4saSk6dGhpcy5faGFzQWxsRmllbGRzKGUsaSkpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LGkpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtjb25zdCBzPXRoaXMuX3VwZGF0ZWRGaWVsZHMuZ2V0KHQpO2lmKCFzfHwhcy5zaXplKXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpaWYoIXMuaGFzKGUpKXJldHVybiExO3JldHVybiEwfV9oYXNBbGxGaWVsZHMoZSx0KXtyZXR1cm4gYy5oYXNBbGxGaWVsZHMoZS52YWx1ZXMsQXJyYXkuZnJvbSh0KSl9X2lzQWxsRmllbGRzVXBUb0RhdGUoZSx0LGkscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2lmKCF0KXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpe2NvbnN0IGk9dC5nZXQoZSk7aWYoIXQuaGFzKGUpfHx2b2lkIDA9PT1pKXJldHVybiExO2lmKGk8cylyZXR1cm4hMX1yZXR1cm4hMH1faGFuZGxlQ29ubmVjdGVkKCl7aWYodGhpcy5fZmllbGRzLnNpemU+MCl7Y29uc3QgZT1bLi4udGhpcy5fZmllbGRzXS5mbGF0TWFwKChlPT57Y29uc3QgdD11LmdldChlKTtyZXR1cm4gbnVsbCE9PXQ/dD8/ZTpbXX0pKTt0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfXRoaXMuX2luY29tcGxldGUuc2l6ZT4wJiZ0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udGhpcy5faW5jb21wbGV0ZV0pfV9oYW5kbGVDb21wbGV0ZURhdGEoZSl7Y29uc3QgdD1jLmNhY2hlLmdldChlKT8/e3N5bWJvbG5hbWU6ZSxzdGF0dXM6Im9rIix2YWx1ZXM6e319O2MuY2FjaGUudXBkYXRlKHQsdGhpcy5fZmllbGRzLCEwKSwKdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsbC5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksYy5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLGk9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1jLmNhY2hlPWQuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2xldCB0PW51bGw7cmV0dXJuKCk9PihudWxsPT09dCYmKHQ9ZSgpKSx0KX1pLmQodCx7bGF6eVZhbHVlOigpPT5zfSl9LDc4ODAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nlc3Npb25UaGVuTG9jYWw6KCk9PnMsc2Vzc2lvblRoZW5UdlNldHRpbmdzOigpPT5vfSk7dmFyIHM9e307aS5yKHMpLGkuZChzLHtnZXQ6KCk9PmIsbG9nZ2VyOigpPT5nLHNldDooKT0+bX0pO3ZhciBvPXt9O2kucihvKSxpLmQobyx7Z2V0OigpPT55LGxvZ2dlcjooKT0+ZixzZXQ6KCk9PlN9KTt2YXIgbj1pKDIyMTA2MSksYT1pKDkzMjM2NSk7aWYoNzk3OTU9PWkuail2YXIgbD1pKDIzNzM2OSk7aWYoNzk3OTU9PWkuail2YXIgcj1pKDc3NjE3Myk7dmFyIGQ9aSg4Mzk0MjYpLHU9aSg1NjkzOTgpO2NvbnN0IGM9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7Y29uc3QgaD0oMCxkLmRlZmF1bHQpKCgoKT0+e3JldHVybiB2b2lkIDAhPT13aW5kb3cuVFZEP251bGwhPShlPXdpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2UpJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJnZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmdldEl0ZW0mJiJzZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnNldEl0ZW0mJigwLHUuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSIpP3dpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2U6bnVsbDooMCx1LmlzRmVhdHVyZUVuYWJsZWQpKCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiKT93aW5kb3cuc2Vzc2lvblN0b3JhZ2U6bnVsbDt2YXIgZX0pKTtmdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1oKCk7aWYobnVsbCE9PWkpdHJ5e2kuc2V0SXRlbShlLHQpfWNhdGNoKGUpe2M/LmxvZ1dhcm4oYHNlc3Npb25TdG9yYWdlLnNldEl0ZW0gZmFpbGVkLCBiZWNhdXNlIG9mIGV4Y2VwdGlvbjogJHsoMCxsLmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1oKCk7cmV0dXJuIG51bGw9PT10P251bGw6dC5nZXRJdGVtKGUpfWNvbnN0IGc9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7ZnVuY3Rpb24gbShlLHQpe3RyeXtjb25zdCBpPSgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpO3AoZSxpKSxhLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oZSxpKX1jYXRjaChlKXtnPy5sb2dXYXJuKGBzZXNzaW9uVGhlbkxvY2FsLnNldCBmYWlsZWQ6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX1mdW5jdGlvbiBiKGUsdCxpKXt0cnl7cmV0dXJuKDAsci5wYXJzZVNldHRpbmdWYWx1ZSkoZnVuY3Rpb24oZSx0KXtsZXQgaT1fKGUpO251bGw9PT1pJiYoaT1hLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk/P3QscChlLGkpKTtyZXR1cm4gaX0oZSwoMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KSksaSl9Y2F0Y2goZSl7cmV0dXJuIGc/LmxvZ1dhcm4oYHNlc3Npb25UaGVuTG9jYWwuZ2V0IGlzIGFib3V0IHRvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZSBkdWUgdG8gZXJyb3I6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApLHR9fXZhciB2PWkoOTMwNTY2KTtjb25zdCBmPSgwLG4uZ2V0TG9nZ2VyKSgiTGliLlNlc3Npb25TY29wZWRTZXR0aW5ncyIpO2Z1bmN0aW9uIFMoZSx0KXt0cnl7Y29uc3QgaT0oMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KTtwKGUsaSksdi5zZXRWYWx1ZShlLGkpfWNhdGNoKGUpe2Y/LmxvZ1dhcm4oYHNlc3Npb25UaGVuVHZTZXR0aW5ncy5zZXQgZmFpbGVkOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKX19ZnVuY3Rpb24geShlLHQsaSl7dHJ5e3JldHVybigwLHIucGFyc2VTZXR0aW5nVmFsdWUpKGZ1bmN0aW9uKGUsdCl7bGV0IGk9XyhlKTtudWxsPT09aSYmKGk9di5nZXRWYWx1ZShlKT8/dCxwKGUsaSkpO3JldHVybiBpfShlLCgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpKSxpKX1jYXRjaChlKXtyZXR1cm4gZj8ubG9nV2Fybihgc2Vzc2lvblRoZW5UdlNldHRpbmdzLmdldCBpcyBhYm91dCB0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUgZHVlIHRvIGVycm9yOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKSx0fX19LDc3NjE3MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPUpTT04ucGFyc2UoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gaTtpZih0KGkpKXJldHVybiBpO3Rocm93IG5ldyBUeXBlRXJyb3IoIlBhcnNlZCB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCB2YWxpZGF0aW9uIHByZWRpY2F0ZSIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWkuZCh0LHtwYXJzZVNldHRpbmdWYWx1ZTooKT0+cyxzZXR0aW5nVmFsdWVUb1N0cmluZzooKT0+b30pfSwxODIzMDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg3ODc4OTUpLG49aSg2MTYzMTEpCjtmdW5jdGlvbiBhKGUsdD1bXSl7Y29uc3RbaSxhXT0oMCxzLnVzZVN0YXRlKSghMSksbD0oMCxvLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGUpO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1sLmN1cnJlbnQ7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9ZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6YSghMCk7YnJlYWs7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiOmEoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLCgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCl9fSksdCksW2wsaT8wOi0xXX19LDkyOTQ4OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc1NlcGFyYXRvckl0ZW06KCk9Pm99KTt2YXIgcz1pKDkwMTAyMik7ZnVuY3Rpb24gbyhlKXtyZXR1cm4oMCxzLmlzU2VwYXJhdG9ySXRlbSkoZSl9fSwzMjA1NShlLHQsaSl7InVzZSBzdHJpY3QiO2kucih0KSxpLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmQscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+YyxzbmFwc2hvdGVyOigpPT5sfSk7dmFyIHM9aSgxMjg4MTQpLG89aSg2MjM1MTEpLG49aSg5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksbD0oMCxvLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSkscj1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTpsKCkuZ2V0U25hcHNob3QoZSxyKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoZCkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw5ODYyNzUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+cixyZXNvbHZlTG9nb1VybHM6KCk9PmEscmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5sfSk7dmFyIHM9aSg2MDE4NDEpLG89aSg4NjIyMTMpO2NvbnN0IG49KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gYShlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IGk9ZS5sb2dvaWQscz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLGE9ZVsiY3VycmVuY3ktbG9nb2lkIl0sbD1pJiZuLmdldFN5bWJvbExvZ29VcmwoaSx0KTtpZihsKXJldHVybltsXTtjb25zdCByPXMmJm4uZ2V0U3ltYm9sTG9nb1VybChzLHQpLGQ9YSYmbi5nZXRTeW1ib2xMb2dvVXJsKGEsdCk7cmV0dXJuIHImJmQ/W3IsZF06cj9bcl06ZD9bZF06W119ZnVuY3Rpb24gbChlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+bi5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIocy5ub3ROdWxsKX1mdW5jdGlvbiByKGUpe3JldHVybiAyIT09ZS5sZW5ndGg/ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT5kKGUpKSl9KGUpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+ZS5pbmNsdWRlcygiY291bnRyeSIpJiYhZChlKSkpfShlKT9lLmZpbHRlcigoZT0+IWQoZSkpKTplfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGUuaW5jbHVkZXMoImNvdW50cnkvVVMiKX19LDM2NDM1MChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT09PXR9aS5kKHQse2NyZWF0ZVNlbGVjdG9yOigpPT5vfSk7dmFyIG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsaT1BcnJheSh0PjE/dC0xOjApLHM9MTtzPHQ7cysrKWlbcy0xXT1hcmd1bWVudHNbc107cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscz1BcnJheSh0KSxvPTA7bzx0O28rKylzW29dPWFyZ3VtZW50c1tvXTt2YXIgbj0wLGE9cy5wb3AoKSxsPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZVswXSk/ZVswXTplO2lmKCF0LmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0pKSl7dmFyIGk9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX0pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcigiU2VsZWN0b3IgY3JlYXRvcnMgZXhwZWN0IGFsbCBpbnB1dC1zZWxlY3RvcnMgdG8gYmUgZnVuY3Rpb25zLCBpbnN0ZWFkIHJlY2VpdmVkIHRoZSBmb2xsb3dpbmcgdHlwZXM6IFsiK2krIl0iKX1yZXR1cm4gdH0ocykscj1lLmFwcGx5KHZvaWQgMCxbZnVuY3Rpb24oKXsKcmV0dXJuIG4rKyxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX1dLmNvbmNhdChpKSksZD1lKChmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PWwubGVuZ3RoLGk9MDtpPHQ7aSsrKWUucHVzaChsW2ldLmFwcGx5KG51bGwsYXJndW1lbnRzKSk7cmV0dXJuIHIuYXBwbHkobnVsbCxlKX0pKTtyZXR1cm4gZC5yZXN1bHRGdW5jPWEsZC5kZXBlbmRlbmNpZXM9bCxkLnJlY29tcHV0YXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGQucmVzZXRSZWNvbXB1dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBuPTB9LGR9fSgoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnMsaT1udWxsLG89bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LGkpe2lmKG51bGw9PT10fHxudWxsPT09aXx8dC5sZW5ndGghPT1pLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHM9dC5sZW5ndGgsbz0wO288cztvKyspaWYoIWUodFtvXSxpW29dKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxpLGFyZ3VtZW50cyl8fChvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpKSxpPWFyZ3VtZW50cyxvfX0pKX0sNjY2MzMyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xCYXJOYXZpZ2F0aW9uOigpPT5lZX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMTg1MjcxKSxuPWkoMzYzMjY5KSxhPWkoOTMwMjMxKSxsPWkoOTUyOTAwKSxyPWkoOTIzMTc2KSxkPWkoOTY5MTY4KSx1PWkoNDQzNTU3KSxjPWkoNTUyMTQ1KSxoPWkoMzQ1MTUxKSxwPWkoMzE4OTc0KSxfPWkoMjM1NzI0KSxnPWkoMTI4OTk4KSxtPWkoMzg2OTMxKSxiPWkoNDk3MDE4KSx2PWkoMTIxNDc0KSxmPWkoNzMyMDM5KSxTPWkoNTQ5NzcwKSx5PWkoOTk3ODM0KSx3PWkoMjQ3MDMwKSxDPWkoNTczNTgyKSxFPWkoMzY4OTU0KSx4PWkoMjkxMjA5KSxMPWkoODM1NTUwKSxNPWkoNDMxODUpO2koNzEwMTU2KTtjb25zdCBUPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuQWx0LCExKSxWPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuU2hpZnQsITEpLGs9KDAsXy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShfLk1vZGlmaWVycy5Nb2QsITEpLEE9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJSIl0sdGV4dDoiezB9ICsgezF9In0pLFc9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJDbGljayIsVCwiRW50ZXIiXSx0ZXh0OiJ7MH0gKyB7MX0sIHsyfSArIHszfSJ9KSxJPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbRV0sdGV4dDoiezB9In0pLEI9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlt4XSx0ZXh0OiJ7MH0ifSksSD0oMCxoLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6W2ssTF0sdGV4dDoiezB9ICsgezF9In0pLEQ9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltrLE1dLHRleHQ6InswfSArIHsxfSJ9KSxQPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbVCxWLHhdLHRleHQ6InswfSArIHsxfSArIHsyfSJ9KSxOPW8udChudWxsLHZvaWQgMCxpKDMxNDUzNCkpLFI9by50KG51bGwsdm9pZCAwLGkoNDg3ODc0KSksTz1vLnQobnVsbCx2b2lkIDAsaSg1NTEzMzIpKSxGPW8udChudWxsLHZvaWQgMCxpKDY3MTgwOSkpLHo9by50KG51bGwsdm9pZCAwLGkoMjQxNzIyKSksaj1vLnQobnVsbCx2b2lkIDAsaSg3MDgyMzMpKSxVPW8udChudWxsLHZvaWQgMCxpKDIwNzg0NSkpLEc9by50KG51bGwsdm9pZCAwLGkoNjYwODEwKSk7dmFyIFosSjshZnVuY3Rpb24oZSl7ZVtlLkJhclZpc2libGVEaXN0YW5jZT0xMDBdPSJCYXJWaXNpYmxlRGlzdGFuY2UiLGVbZS5CYWNrQnV0dG9uUmlnaHRNYXJnaW49MTRdPSJCYWNrQnV0dG9uUmlnaHRNYXJnaW4iLGVbZS5TaW5nbGVCdXR0b25XaWR0aD0zNl09IlNpbmdsZUJ1dHRvbldpZHRoIixlW2UuR3JvdXBNYXJnaW5zPTE0XT0iR3JvdXBNYXJnaW5zIixlW2UuR29Ub1JlYWx0aW1lQnV0dG9uV2lkdGg9NTBdPSJHb1RvUmVhbHRpbWVCdXR0b25XaWR0aCIsZVtlLkxlZnRNYXJnaW49NTBdPSJMZWZ0TWFyZ2luIixlW2UuVGltZUF4aXNNYWluUGFuZU1hcmdpbj0yN109IlRpbWVBeGlzTWFpblBhbmVNYXJnaW4iLGVbZS5QYW5lQ29udHJvbHNIZWlnaHQ9MjhdPSJQYW5lQ29udHJvbHNIZWlnaHQifShafHwoWj17fSkpLGZ1bmN0aW9uKGUpe2UuU2Nyb2xsTGVmdFJpZ2h0PSJqcy1idG4tZ3JvdXAtc2Nyb2xsIixlLlpvb21Jblpvb21PdXQ9ImpzLWJ0bi1ncm91cC16b29tIixlLk1heGltaXplPSJqcy1idG4tZ3JvdXAtbWF4aW1pemUiLGUuUmVzZXRTY2FsZT0ianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIn0oSnx8KEo9e30pKQo7Y29uc3QgWT1gPGRpdiBjbGFzcz0iY29udHJvbC1iYXItd3JhcHBlciI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyLS1oaWRkZW4iPlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXpvb20iPlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS16b29tLW91dCBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Tn0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7RH0iPlxuXHRcdFx0XHQke3Z9XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tem9vbS1pbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Un0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7SH0iPlxuXHRcdFx0XHQke1N9XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fZ3JvdXAganMtYnRuLWdyb3VwIGpzLWJ0bi1ncm91cC1tYXhpbWl6ZSI+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fYnRuIGNvbnRyb2wtYmFyX19idG4tLW1heGltaXplIGFwcGx5LWNvbW1vbi10b29sdGlwIiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke1d9Ij5cblx0XHRcdFx0JHt3fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2dyb3VwIGpzLWJ0bi1ncm91cCBqcy1idG4tZ3JvdXAtc2Nyb2xsIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHt6fSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtJfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHtqfSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtCfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tdHVybi1idXR0b24gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCBqcy1idG4tcmVzZXQiIHRpdGxlPSIke1V9IiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke0F9Ij5cblx0XHRcdFx0JHt5fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+YCxxPWA8ZGl2IGNsYXNzPSJjb250cm9sLWJhci13cmFwcGVyIGNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudCI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7R30iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7UH0iPlxuXHRcdCR7Q31cblx0PC9kaXY+XG48L2Rpdj5gLCQ9cC5DaGVja01vYmlsZS5hbnkoKSxRPSJjb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVuIixLPSJjb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQiLFg9e3pvb21Jbk91dDohMCxtYXhpbWl6ZTohMCxzY3JvbGxMZWZ0UmlnaHQ6ITAscmVzZXRTY2FsZTohMCxnb1RvUmVhbHRpbWU6ITB9O2NsYXNzIGVle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93aWRnZXQ9KDAscy5lbnN1cmVOb3ROdWxsKSgoMCx1LnBhcnNlSHRtbCkoWSkucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyLXdyYXBwZXIiKSksdGhpcy5fY29udHJvbEJhcj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX3dpZGdldC5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXIiKSksdGhpcy5fYmFjaz0oMCxzLmVuc3VyZU5vdE51bGwpKCgwLHUucGFyc2VIdG1sKShxKS5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXItd3JhcHBlciIpKSx0aGlzLl9idG5Hcm91cHM9QXJyYXkuZnJvbSh0aGlzLl9jb250cm9sQmFyLnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy1idG4tZ3JvdXAiKSksdGhpcy5fdGFyZ2V0UGFuZVdpZGdldD1udWxsLHRoaXMuX2JhY2tCdXR0b25WaXNpYmxlPSExLHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCx0aGlzLl9jaGFydE1vZGVsPW51bGwsdGhpcy5fY29udHJvbEJhclZpc2libGU9ITEsdGhpcy5fcHJpY2VBeGlzQ2hhbmdlZD1udWxsLHRoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlPW51bGwsdGhpcy5fcHJpY2VBeGlzTmFtZT0icmlnaHQiLHRoaXMuX3JhZklkPW51bGwsdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eT1udWxsLHRoaXMuX2JvdW5kVXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eT10aGlzLl91cGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5LmJpbmQodGhpcyksdGhpcy5fYm91bmRUb2dnbGVGdWxsc2NyZWVuQnV0dG9ucz10aGlzLl90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucy5iaW5kKHRoaXMpLHRoaXMuX3BhbmVXaWR0aD0wLHRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGg9MCx0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aD0wLHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2U9ZT0+eyJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSJhbHdheXNPbiI9PT1lLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyLCExKSk6KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSExLAp0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fY29udHJvbHNCYXJWaXNpYmlsaXR5SGFuZGxlcikpLHRoaXMuX2NvbmZpZ3VyZUJhY2tCdXR0b25WaXNpYmlsaXR5KGUpLHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5KCl9LHRoaXMuX3Zpc2liaWxpdHlCYWNrQnV0dG9uSGFuZGxlcj1lPT57Y29uc3QgdD10aGlzLl9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0aGlzLl9iYWNrLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTt2b2lkIDAhPT10JiZ0aGlzLl9iYWNrQnV0dG9uQ2FuQmVWaXNpYmxlIT09dCYmKHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fY2hlY2tJc1BvaW50ZXJOZWFyQm94KGUsdGhpcy5fY29udHJvbEJhci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7dm9pZCAwIT09dCYmdGhpcy5fY29udHJvbEJhclZpc2libGUhPT10JiYodGhpcy5fY29udHJvbEJhclZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5PSgpPT57dGhpcy5fY29udHJvbEJhci5jbGFzc0xpc3QudG9nZ2xlKCJjb250cm9sLWJhci0taGlkZGVuIiwhdGhpcy5fY29udHJvbEJhclZpc2libGUpfSx0aGlzLl9jaGFydD1lLHRoaXMuX3BhcmVudD10LHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxYLGkpLHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcz10aGlzLl9pbml0R3JvdXBEZXNjcmlwdGlvbnMoKSx0aGlzLl9pbml0KCksdGhpcy5faW5pdEhhbmRsZXJzKCksdGhpcy51cGRhdGVQb3NpdGlvbigpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eSYmKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHk9bnVsbCksbnVsbCE9PXRoaXMuX2JvdW5kTW91c2VIYW5kbGVyJiYodGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9ib3VuZE1vdXNlSGFuZGxlciwhMSksdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCksbnVsbCE9PXRoaXMuX3ByaWNlQXhpc0NoYW5nZWQmJih0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja0J0blBvc2l0aW9uKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPW51bGwpLGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZT8uZGVzdHJveSgpO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkpLGUuZnVsbHNjcmVlbi51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFRvZ2dsZUZ1bGxzY3JlZW5CdXR0b25zKSx0aGlzLl9jaGFydD1udWxsfXVwZGF0ZVBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl90YXJnZXRQYW5lV2lkZ2V0PXRoaXMuX2dldFRhcmdldFBhbmVXaWRnZXQoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lLmdldEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCIuY2hhcnQtbWFya3VwLXRhYmxlIC5wYW5lIik7aWYobnVsbD09PXQpcmV0dXJuO3RoaXMuX3BhbmVXaWR0aD1lLndpZHRoKCksdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aD10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSgibGVmdCIpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZVdpZHRoPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKCJyaWdodCIpO2NvbnN0IGk9dGhpcy5fcGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbS10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSt0aGlzLl9ib3R0b21NYXJnaW4oZSk7dGhpcy5fd2lkZ2V0LnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl9iYWNrLnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKX1fZ2V0VGFyZ2V0UGFuZVdpZGdldCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD1bLi4udGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKV0ucmV2ZXJzZSgpO2Zvcihjb25zdCBlIG9mIHQpaWYoZS5oZWlnaHQoKT49dGhpcy5fd2lkZ2V0LmNsaWVudEhlaWdodCsyOCt0aGlzLl9ib3R0b21NYXJnaW4oZSkpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2JvdHRvbU1hcmdpbihlKXtyZXR1cm4gZS5jb250YWluc01haW5TZXJpZXMoKT8yNzowfV9pbml0KCl7aWYocC5DaGVja01vYmlsZS5hbnkoKSlmb3IoY29uc3QgZSBvZiB0aGlzLl9idG5Hcm91cHMpZS5jbGFzc0xpc3QuYWRkKCJqcy1oaWRkZW4iKTt0aGlzLl9idXR0b25zPXt6b29tSW46dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS16b29tLWluIiksem9vbU91dDp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXpvb20tb3V0IiksbW92ZUxlZnQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLWxlZnQiKSxtb3ZlUmlnaHQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IiksdHVybjp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXR1cm4tYnV0dG9uIiksbWF4aW1pemU6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tYXhpbWl6ZSIpfSx0aGlzLl9wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5fd2lkZ2V0KSwKdGhpcy5fcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuX2JhY2spLHRoaXMuX3ByaWNlQXhpc05hbWU9KDAsZC5pc1J0bCkoKT8ibGVmdCI6InJpZ2h0Iix0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcywoKCk9Pnt0aGlzLl9jaGFydE1vZGVsPXRoaXMuX2NoYXJ0Lm1vZGVsKCksdGhpcy5faW5pdFZpc2liaWxpdHkoKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc1dpZHRoQ2hhbmdlZEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tCdG5Qb3NpdGlvbiksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkuc3Bhd24oKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5LmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS5zdWJzY3JpYmUodGhpcy5fYm91bmRVcGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5KSxlLmZ1bGxzY3JlZW4uc3Vic2NyaWJlKHRoaXMuX2JvdW5kVG9nZ2xlRnVsbHNjcmVlbkJ1dHRvbnMse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3VwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVCYWNrQnRuUG9zaXRpb24oKSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9Pnt0aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zY3JvbGxUb1JlYWx0aW1lKCEwLCgoKT0+dGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpKSl9KSl9KSl9X2luaXRIYW5kbGVycygpe2NvbnN0IGU9bi5tb2JpbGV0b3VjaD8idG91Y2hzdGFydCI6Im1vdXNlZG93biIsdD1uLm1vYmlsZXRvdWNoP1sidG91Y2hlbmQiXTpbIm1vdXNldXAiLCJtb3VzZW91dCJdO3RoaXMuX2J1dHRvbnMubW92ZUxlZnQuYWRkRXZlbnRMaXN0ZW5lcihlLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLm1vdmVCeUJhcigxKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIExlZnQiKX0pKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2Nyb2xsSGVscGVyKCkubW92ZUJ5QmFyKC0xKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIFJpZ2h0Iil9KSk7Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9idXR0b25zLm1vdmVMZWZ0LmFkZEV2ZW50TGlzdGVuZXIoZSwoKCk9PnRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLnN0b3BNb3ZlKCkpKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKCgpPT50aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zdG9wTW92ZSgpKSk7dGhpcy5fYnV0dG9ucy50dXJuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFydC5HVUlSZXNldFNjYWxlcygpLHRoaXMuX3RyYWNrRXZlbnQoIlJlc2V0IHRvIERlZmF1bHQgU2V0dGluZ3MiKX0pKSx0aGlzLl9idXR0b25zLnpvb21PdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLG51bGwhPT10aGlzLl9jaGFydE1vZGVsJiZ0aGlzLl9jaGFydE1vZGVsLnpvb21PdXQoKSx0aGlzLl90cmFja0V2ZW50KCJab29tIE91dCIpfSkpLHRoaXMuX2J1dHRvbnMuem9vbUluLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCYmdGhpcy5fY2hhcnRNb2RlbC56b29tSW4oKSx0aGlzLl90cmFja0V2ZW50KCJab29tIEluIil9KSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlKCEwKTt0aGlzLl9idXR0b25zLm1heGltaXplLmNsYXNzTGlzdC5jb250YWlucyhLKT8odGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgUmVzdG9yZSBDaGFydCIpKToodGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgTWF4aW1pemUgQ2hhcnQiKSl9KSk7Y29uc3QgaT1lPT5lLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSk7aSh0aGlzLl9idXR0b25zLm1vdmVMZWZ0KSxpKHRoaXMuX2J1dHRvbnMubW92ZVJpZ2h0KSxpKHRoaXMuX2J1dHRvbnMudHVybiksaSh0aGlzLl9idXR0b25zLnpvb21PdXQpLGkodGhpcy5fYnV0dG9ucy56b29tSW4pLGkodGhpcy5fYnV0dG9ucy5tYXhpbWl6ZSl9X2luaXRHcm91cERlc2NyaXB0aW9ucygpe3JldHVyblt7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6dGhpcy5faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZS5iaW5kKHRoaXMpLGNsYXNzTmFtZToianMtYnRuLWdyb3VwLW1heGltaXplIixlbGVtZW50OnRoaXMuX2dldEJ0bkdyb3VwKCJqcy1idG4tZ3JvdXAtbWF4aW1pemUiKSx0b3RhbFdpZHRoOjUwfSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMucmVzZXRTY2FsZSxjbGFzc05hbWU6ImpzLWJ0bi1ncm91cC1yZXNldC1zY2FsZSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIiksdG90YWxXaWR0aDo1MH0se3Nob3VsZEJlSGlkZGVuT25Nb2JpbGU6ISgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIiksYXZhaWxhYmxlOigpPT50aGlzLl9vcHRpb25zLnpvb21Jbk91dCwKY2xhc3NOYW1lOiJqcy1idG4tZ3JvdXAtem9vbSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXpvb20iKSx0b3RhbFdpZHRoOjg2fSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd196b29tX2FuZF9tb3ZlX2J1dHRvbnNfb25fdG91Y2giKSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMuc2Nyb2xsTGVmdFJpZ2h0LGNsYXNzTmFtZToianMtYnRuLWdyb3VwLXNjcm9sbCIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXNjcm9sbCIpLHRvdGFsV2lkdGg6ODZ9XX1fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsfHwhdGhpcy5fb3B0aW9ucy5nb1RvUmVhbHRpbWUpcmV0dXJuO2NvbnN0IGU9dGhpcy5fYmFja0J1dHRvbkNhbkJlVmlzaWJsZSYmdGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpPDA7ZSE9PXRoaXMuX2JhY2tCdXR0b25WaXNpYmxlJiYodGhpcy5fYmFja0J1dHRvblZpc2libGU9ZSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmNsYXNzTGlzdC50b2dnbGUoUSwhdGhpcy5fYmFja0J1dHRvblZpc2libGUpKX1faW5pdFZpc2liaWxpdHkoKXt0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGwuY29tYmluZSkoKChlLHQpPT5udWxsIT09dD8iYWx3YXlzT2ZmIjplKSwoMCxjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKSgoMCxyLmFjdHVhbEJlaGF2aW9yKSgpKS5vd25lcnNoaXAoKSwoMCxnLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSgoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwpLm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2Use2NhbGxXaXRoTGFzdDohMH0pfV9jb25maWd1cmVCYWNrQnV0dG9uVmlzaWJpbGl0eShlKXsiYWx3YXlzT2ZmIj09PWU/KGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9jaGVja0ludGVydmFsSWQ9dm9pZCAwKTp0aGlzLl9jaGVja0ludGVydmFsSWQ9dGhpcy5fY2hlY2tJbnRlcnZhbElkPz9zZXRJbnRlcnZhbCgoKCk9PnRoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSksMWUzKSxwLkNoZWNrTW9iaWxlLmFueSgpP3RoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09mZiIhPT1lOiJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09uIj09PWUsdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSx0aGlzLl9wYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSk6KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSksdGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpfV9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0KXtpZighKGUuYnV0dG9uc3x8bnVsbCE9PXRoaXMuX2NoYXJ0TW9kZWwmJnRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpKSl7aWYoIm1vdXNlbW92ZSI9PT1lLnR5cGUpe2NvbnN0IGk9MTAwLSh0aGlzLl90YXJnZXRQYW5lV2lkZ2V0P3RoaXMuX2JvdHRvbU1hcmdpbih0aGlzLl90YXJnZXRQYW5lV2lkZ2V0KTowKTtyZXR1cm4gZS5jbGllbnRYPj10LmxlZnQtMTAwJiZlLmNsaWVudFg8PXQucmlnaHQrMTAwJiZlLmNsaWVudFk+PXQudG9wLWkmJmUuY2xpZW50WTw9dC5ib3R0b20rMTAwfXJldHVybiExfX1fc2V0UkFGKCl7bnVsbD09PXRoaXMuX3JhZklkJiYodGhpcy5fcmFmSWQ9dGhpcy5fd2lkZ2V0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVDb250cm9sQmFyVmlzaWJpbGl0eSgpLHRoaXMuX3JhZklkPW51bGx9KSkpfV91cGRhdGVCYWNrQnRuUG9zaXRpb24oKXtpZigibGVmdCI9PT10aGlzLl9wcmljZUF4aXNOYW1lfHwicmlnaHQiPT09dGhpcy5fcHJpY2VBeGlzTmFtZSl7Y29uc3QgZT10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSsxNDtlJiYodGhpcy5fYmFjay5zdHlsZS5tYXJnaW5SaWdodD1gJHtlfXB4YCl9fV91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGgrdGhpcy5fcGFuZVdpZHRoLHQ9KGUrdGhpcy5fcmlnaHRQcmljZVNjYWxlV2lkdGgpLzI7bGV0IGk9MipNYXRoLm1pbihlLXQsdC10aGlzLl9sZWZ0UHJpY2VTY2FsZVdpZHRoKS01MC01MCxzPSExO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcyl7ZS5lbm91Z2hTcGFjZUZvckdyb3VwPSExO2UuYXZhaWxhYmxlKCkmJighJHx8IWUuc2hvdWxkQmVIaWRkZW5Pbk1vYmlsZSkmJihpLT1lLnRvdGFsV2lkdGgsZS5lbm91Z2hTcGFjZUZvckdyb3VwPWk+PTAmJiFzLHM9c3x8IWUuZW5vdWdoU3BhY2VGb3JHcm91cCksIWUuZW5vdWdoU3BhY2VGb3JHcm91cCE9PWUuZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpJiZlLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZS5lbm91Z2hTcGFjZUZvckdyb3VwKX10aGlzLl91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKX1fZ2V0QnRuR3JvdXAoZSl7cmV0dXJuKDAsCnMuZW5zdXJlRGVmaW5lZCkodGhpcy5fYnRuR3JvdXBzLmZpbmQoKHQ9PnQuY2xhc3NMaXN0LmNvbnRhaW5zKGUpKSkpfV91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKXtjb25zdCBlPXRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcy5yZWR1Y2UoKChlLHQpPT5lKyh0LmVub3VnaFNwYWNlRm9yR3JvdXA/dC50b3RhbFdpZHRoOjApKSwwKSx0PSh0aGlzLl9wYW5lV2lkdGgrdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aCt0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aCkvMi1NYXRoLmNlaWwoZS8yKTt0aGlzLl93aWRnZXQuc3R5bGUubGVmdD1gJHt0fXB4YH1fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5KCl7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwpcmV0dXJuO2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKTt0aGlzLl9idXR0b25zLnR1cm4uY2xhc3NMaXN0LnRvZ2dsZShRLCFlKX1fdXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eSgpe3RoaXMuX3VwZGF0ZUJ0bkdyb3VwVmlzaWJpbGl0eSgpfV90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucygpe2NvbnN0IGU9dGhpcy5fY2hhcnQuaW5GdWxsc2NyZWVuKCk7dGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5jbGFzc0xpc3QudG9nZ2xlKEssZSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS50aXRsZT1lP0Y6T31faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZSgpe3JldHVybiEhdGhpcy5fb3B0aW9ucy5tYXhpbWl6ZSYmKCEhdGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZnVsbHNjcmVlbmFibGUudmFsdWUoKSYmIWIubWVkaWFTdGF0ZS5pc1Bob25lU2l6ZURldmljZSgpKX1fdHJhY2tFdmVudChlKXt0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoMCxtLnRyYWNrRXZlbnQpKCJOYXZpZ2F0aW9uIGJ1dHRvbiIsZSl9fX0sMzA1NjQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ljb25zOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpO2NvbnN0IG89W3tpY29uOiLwn5S2IixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg0NzkwNzgpKX0se2ljb246IvCfjYAiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDc2MDUpKX0se2ljb246IvCfkqciLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDU3MzM0NykpfSx7aWNvbjoi4p2k77iPIixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg2MTUyMjEpKX0se2ljb246IvCfkqkiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDkyMzkwOSkpfV19LDY3MTgxOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMZWdlbmRXaWRnZXQ6KCk9PmJzfSk7dmFyIHM9aSg5MTg3NzkpLG89aSg1ODcxNjgpLG49aSgxMzg2MzgpLGE9aSg2MDE4NDEpLGw9aSg5MzAyMzEpLHI9aSgyMzIzNjQpLGQ9aSg5NTI5MDApLHU9aSg5NDgzODApLGM9aSgxMzQ2NyksaD1pKDIzNTcyNCkscD1pKDkwMDg0MSksXz1pKDMxODk3NCk7ZnVuY3Rpb24gZyhlLHQpe251bGw9PT1lLmZpcnN0Q2hpbGQ/ZS50ZXh0Q29udGVudD10OmUuZmlyc3RDaGlsZC5ub2RlVmFsdWU9dH12YXIgbT1pKDMyOTY2OCksYj1pKDk4MzYxNiksdj1pKDgwMDIyNiksZj1pKDM0NDc4NSksUz1pKDc3OTQ3NCkseT1pKDEyOTM2NSksdz1pKDczNDgyKTtmdW5jdGlvbiBDKGUpe2NvbnN0e2NvbnRhaW5lcjp0LC4uLml9PWU7cmV0dXJuIHkucmVuZGVyKFMuY3JlYXRlRWxlbWVudCh3LlN0YXR1c2VzUGlsbCx7Li4uaX0pLHQpLCgpPT57eS51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpLGUuc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrPy4oITApfX12YXIgRT1pKDM4NzIzMSkseD1pKDY2MzQpO2NvbnN0IEw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT80NDoyODt2YXIgTSxUOyFmdW5jdGlvbihlKXtlW2UuVGlueT0xXT0iVGlueSIsZVtlLlNtYWxsPTJdPSJTbWFsbCIsZVtlLk1lZGl1bT0zXT0iTWVkaXVtIixlW2UuTGFyZ2U9NF09IkxhcmdlIn0oTXx8KE09e30pKSxmdW5jdGlvbihlKXtlW2UuTm9JbnRlcnZhbEZvck11bHRpQ2hhcnQ9MV09Ik5vSW50ZXJ2YWxGb3JNdWx0aUNoYXJ0IixlW2UuTm9FeGNoYW5nZVByb3ZpZGVyQW5kSW50ZXJ2YWw9Ml09Ik5vRXhjaGFuZ2VQcm92aWRlckFuZEludGVydmFsIixlW2UuQWxsVmlzaWJsZT0zXT0iQWxsVmlzaWJsZSJ9KFR8fChUPXt9KSk7dmFyIFYsayxBPWkoNjQwMjkyKSxXPWkoOTU2MzY4KSxJPWkoNTgyNDc2KTshZnVuY3Rpb24oZSl7ZVtlLlNlcmllc1RpdGxlPTBdPSJTZXJpZXNUaXRsZSIsZVtlLlNlcmllc0Rlc2NyaXB0aW9uPTFdPSJTZXJpZXNEZXNjcmlwdGlvbiIsZVtlLlNlcmllc0ludGVydmFsPTJdPSJTZXJpZXNJbnRlcnZhbCIsZVtlLlNlcmllc1Byb3ZpZGVyPTNdPSJTZXJpZXNQcm92aWRlciIsZVtlLlNlcmllc0V4Y2hhbmdlPTRdPSJTZXJpZXNFeGNoYW5nZSIsZVtlLlNlcmllc1N0eWxlPTVdPSJTZXJpZXNTdHlsZSIsZVtlLlNlcmllc1ByaWNlU291cmNlPTZdPSJTZXJpZXNQcmljZVNvdXJjZSIsZVtlLkRhdGFTb3VyY2VUaXRsZT03XT0iRGF0YVNvdXJjZVRpdGxlIixlW2UuRGF0YVNvdXJjZVN5bWJvbFRpdGxlPThdPSJEYXRhU291cmNlU3ltYm9sVGl0bGUiLGVbZS5EYXRhU291cmNlRXh0cmFUaXRsZT05XT0iRGF0YVNvdXJjZUV4dHJhVGl0bGUiLGVbZS5EYXRhU291cmNlSW5wdXQ9MTBdPSJEYXRhU291cmNlSW5wdXQifShWfHwoVj17fSkpLGZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSJ9KGt8fChrPXt9KSk7dmFyIEI9aSg0MDIwNDUpLEg9aSg4NDg5ODgpLEQ9aSg4NzM1NzMpLFA9aSgxODUyNzEpLE49aSg1NzA2MDMpLFI9aSgzODY5MzEpO2Z1bmN0aW9uIE8oZSl7KDAsUi50cmFja0V2ZW50KSgiR1VJIiwiTGVnZW5kIGFjdGlvbiIsZSl9dmFyIEY9aSg5NjkxNjgpLHo9aSg5NDM5NSk7ZnVuY3Rpb24gaihlKXtyZXR1cm4oMCxhLmlzT2JqZWN0KShlKSYmIml0ZW1zImluIGV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gdm9pZCAwIT09ZT9ELnJlc2V0VHJhbnNwYXJlbmN5KGUpOmV9ZnVuY3Rpb24gRyhlKXtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSgidG91Y2hlcyIpfQpjb25zdCBaPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoInNob3cge3RpdGxlfSIsUC50KG51bGwsdm9pZCAwLGkoNzI1MDkpKSksSj1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJoaWRlIHt0aXRsZX0iLFAudChudWxsLHZvaWQgMCxpKDU4OTgxNSkpKSxZPVAudChudWxsLHZvaWQgMCxpKDg5NzMwOSkpLHE9UC50KG51bGwsdm9pZCAwLGkoNzY5MzkxKSk7Y2xhc3MgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3RoaXMuX3RpdGxlcz1uZXcgQi5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92YWx1ZXM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9hY3Rpb25zPVtdLHRoaXMuX2xvYWRpbmc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX29uU2hvd1NldHRpbmdzQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cz0oKT0+e3RoaXMuX2xvYWRpbmcuc2V0VmFsdWUodGhpcy5fc291cmNlLmlzTG9hZGluZygpKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dCx0aGlzLl9vcHRpb25zPWksdGhpcy5fY2FsbGJhY2tzPXMsdGhpcy5fY29udGV4dE1lbnVPcHRpb25zPW8sdGhpcy5fZGlzYWJsZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldERpc2FibGVkU3RhdGUoKSksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSx0aGlzLl9zZWxlY3RlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzVGl0bGVIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSksdGhpcy5faXNWYWx1ZXNIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFZhbHVlc0hpZGRlblZhbHVlKCkpLHRoaXMuX2lzUm93SGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRSb3dIaWRkZW5WYWx1ZSgpKSx0aGlzLl9pc0VkaXRhYmxlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLCgwLGQuY29tYmluZSkoKChlLHQsaSk9Pih7fSkpLHRoaXMuX2lzVGl0bGVIaWRkZW4ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2lzVmFsdWVzSGlkZGVuLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kaXNhYmxlZC53ZWFrUmVmZXJlbmNlKCkpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSb3dWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fdmFsdWVzLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc1ZhbHVlc0hpZGRlbi5zZXRWYWx1ZSh0aGlzLl9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC52YWx1ZSgpPy5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfXRpdGxlcygpe3JldHVybiB0aGlzLl90aXRsZXMucmVhZG9ubHkoKX12YWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnJlYWRvbmx5KCl9YWN0aW9ucygpe3JldHVybiB0aGlzLl9hY3Rpb25zfWRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnJlYWRvbmx5KCl9ZGlzYWJsZWRPbkludGVydmFsKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5yZWFkb25seSgpfXNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkLnJlYWRvbmx5KCl9bG9hZGluZygpe3JldHVybiB0aGlzLl9sb2FkaW5nLnJlYWRvbmx5KCl9aXNUaXRsZUhpZGRlbigpe3JldHVybiB0aGlzLl9pc1RpdGxlSGlkZGVuLnJlYWRvbmx5KCl9aXNSb3dIaWRkZW4oKXtyZXR1cm4gdGhpcy5faXNSb3dIaWRkZW4ucmVhZG9ubHkoKX1pc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX2lzRWRpdGFibGUucmVhZG9ubHkoKX1zeW1ib2xMb2dvVmlld01vZGVsKCl7cmV0dXJuIHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWx9dXBkYXRlKCl7dGhpcy5fdXBkYXRlVGl0bGVzKCksdGhpcy5fdXBkYXRlVmFsdWVzKCksdGhpcy5fdXBkYXRlU3RhdGVzKCksdGhpcy5zeW1ib2xMb2dvVmlld01vZGVsKCk/LnZhbHVlKCk/LnVwZGF0ZSgpfW9uVG9nZ2xlRGlzYWJsZWQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZSx0PSFlLnZhbHVlKCk7dGhpcy5fbW9kZWwuc2V0UHJvcGVydHkoZSx0LCh0P1o6SikuZm9ybWF0KHt0aXRsZTpuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKHRoaXMuX3NvdXJjZS5uYW1lKCksdGhpcy5fc291cmNlLnRpdGxlKHouVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pKSxPKCh0PyJTaG93IjoiSGlkZSIpKyIgc291cmNlIil9YXN5bmMgb25TaG93U2V0dGluZ3MoZSx0KXtpZighdGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpKXJldHVybjtjb25zdCBpPWV8fCJzZXR0aW5ncyI7dGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXImJiF0aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCYmdGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXIuYWJvcnQoaSk7Y29uc3Qgcz10aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyO3QmJnMuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PntzLnNpZ25hbC5yZWFzb24hPT1pJiZ0KCl9KSx7b25jZTohMH0pO2NvbnN0IG89KCk9PnMuYWJvcnQoKTtPKCJTZXR0aW5ncyBmb3Igc291cmNlIiksdGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhbGxiYWNrcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKHRoaXMuX3NvdXJjZSxlKTt0JiYodC52aXNpYmxlKCkuc3Vic2NyaWJlKG8se29uY2U6ITB9KSxzLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dC52aXNpYmxlKCkudW5zdWJzY3JpYmUobyksdC5oaWRlKCl9KSx7b25jZTohMH0pKX1jYXRjaHtvKCl9fXNldFNvdXJjZVNlbGVjdGVkKCl7dGhpcy5fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PnsKZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHRoaXMuX3NvdXJjZSl9KSl9Y2hhcnRNb2RlbElkKCl7cmV0dXJuIHRoaXMuX21vZGVsLmlkKCl9YXN5bmMgX21vcmVBY3Rpb25IYW5kbGVyKGUsdCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKWlmKGUucHJldmVudERlZmF1bHQoKSwhdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcnx8dGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7Y29uc3QgaT10aGlzLl9tb3JlQWN0aW9uQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7aS5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHQse29uY2U6ITB9KTtjb25zdCBzPSgpPT5pLmFib3J0KCk7dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX29uU2hvd01vcmVBY3Rpb25zKGUscyk7aS5zaWduYWwuYWJvcnRlZCYmdCYmdC5oaWRlKCl9Y2F0Y2h7cygpfX1lbHNlIHRoaXMuX21vcmVBY3Rpb25BYm9ydENvbnRyb2xsZXIuYWJvcnQoKX1fdXBkYXRlU3RhdGVzKCl7dGhpcy5fZGlzYWJsZWQuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRTdGF0ZSgpKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSksdGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUodGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpKSx0aGlzLl9pc0VkaXRhYmxlLnNldFZhbHVlKHRoaXMuX2dldElzRWRpdGFibGUoKSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cygpfV9oYXNWYWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnZhbHVlKCkubGVuZ3RoPjB9X2dldEV5ZVRpdGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlKCk/WTpxfV9nZXRJc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS51c2VyRWRpdEVuYWJsZWQoKX1fZ2V0RGlzYWJsZWRTdGF0ZSgpe3JldHVybiF0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKX1fdXBkYXRlUm93VmlzaWJpbGl0aWVzKCl7dGhpcy5faXNSb3dIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0Um93SGlkZGVuVmFsdWUoKSl9X2dldFJvd0hpZGRlblZhbHVlKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlJiZ0aGlzLl9kaXNhYmxlZC52YWx1ZSgpfHx0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkmJih0aGlzLl9pc1ZhbHVlc0hpZGRlbi52YWx1ZSgpfHx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKX1hc3luYyBfb25TaG93TW9yZUFjdGlvbnMoZSx0KXtyZXR1cm4gTygiU2hvdyBzb3VyY2UgY29udGV4dCBtZW51IiksdGhpcy5fY2FsbGJhY2tzLnNob3dDb250ZXh0TWVudUZvclNvdXJjZXMoW3RoaXMuX3NvdXJjZV0sdGhpcy5fY2FsY05ld1Bvc2l0aW9uKGUpLHsuLi50aGlzLl9jb250ZXh0TWVudU9wdGlvbnMsaXNLZXlib2FyZEV2ZW50OiFHKGUpJiYoMCxILmlzS2V5Ym9hcmRDbGljaykoZSl9LHtvcmlnaW46IkxlZ2VuZFByb3BlcnRpZXNDb250ZXh0TWVudSIsb25DbG9zZTp0fSl9X2NhbGNOZXdQb3NpdGlvbihlKXtsZXQgdD17fTtpZihHKGUpJiZlLnRvdWNoZXMubGVuZ3RoPjApdD17Y2xpZW50WDplLnRvdWNoZXNbMF0uY2xpZW50WCxjbGllbnRZOmUudG91Y2hlc1swXS5jbGllbnRZfTtlbHNlIGlmKG51bGwhPT1lLnRhcmdldCl7Y29uc3QgaT1lLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0PXtjbGllbnRYOigwLEYuaXNSdGwpKCk/aS5yaWdodDppLmxlZnQsY2xpZW50WTppLnRvcCtpLmhlaWdodCszfX1lbHNle2NvbnN0IGk9ZTt0PXtjbGllbnRYOmkuY2xpZW50WCxjbGllbnRZOmkuY2xpZW50WX19cmV0dXJuIHR9fXZhciBRPWkoNjQ5MTY2KSxLPWkoMzM2MzM0KSxYPWkoNzcyMDI4KTtjb25zdCBlZT0odGU9US5Mb2FkZXIsaWU9e3N0YXRpY1Bvc2l0aW9uOiEwLHNpemU6InNtYWxsIn0sKGUsdCk9PmZ1bmN0aW9uKGUsdCxpLHMpe2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLG49KDAsSy5jcmVhdGVSb290KShvKTtsKCExKTtjb25zdHtjbGFzc05hbWU6YX09cz8/e307cmV0dXJuIGEmJm8uY2xhc3NMaXN0LmFkZChhKSxuLnJlbmRlcigoMCxTLmNyZWF0ZUVsZW1lbnQpKHQsaSkpLGUmJnIoZSkse3RvZ2dsZVZpc2liaWxpdHk6bCxkZXN0cm95OmZ1bmN0aW9uKCl7bi51bm1vdW50KCl9LG1vdW50VG86cn07ZnVuY3Rpb24gbChlKXtvLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhZSl9ZnVuY3Rpb24gcihlKXtlLmFwcGVuZENoaWxkKG8pfX0oZSx0ZSxpZSx0KSk7dmFyIHRlLGllLHNlPWkoMTY3NTAyKSxvZT1pKDkxNDQ4NyksbmU9aS5uKG9lKSxhZT1pKDYyNzg0OCksbGU9aSg3OTQxODcpLHJlPWkoNjQzOTAzKSxkZT1pKDk3MzgwNCksdWU9aSgzODc3NzQpLGNlPWkoNjU3NTYwKTtjbGFzcyBoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sYXN0RHJhd25Mb2dvcz1bXSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fdXBkYXRlTG9nb1Zpc2liaWxpdHk9ZT0+e3RoaXMuX2xvZ29XcmFwcGVyJiZ0aGlzLl9sb2dvV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGRlbiwhZSl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ289YXN5bmMgZT0+e2lmKG51bGw9PT10aGlzLl9sb2dvV3JhcHBlciYmdGhpcy5fcmVuZGVyU3ltYm9sTG9nbygpLDAhPT10aGlzLl9sYXN0RHJhd25Mb2dvcy5sZW5ndGgmJjAhPT1lLmxlbmd0aCYmKDAsc2UuZGVmYXVsdCkodGhpcy5fbGFzdERyYXduTG9nb3MsZSkpcmV0dXJuO2NvbnN0IHQ9YXdhaXQoaT1lLHM9dGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxQcm9taXNlLmFsbChpLm1hcCgoZT0+KDAsCmRlLmdldEltYWdlKShgc3ltYm9sX2xvZ29fJHtlfWAsZSxfZSxzKS50aGVuKChlPT5lLmNsb25lTm9kZSgpKSkpKSkpLmNhdGNoKCgoKT0+W10pKTt2YXIgaSxzO3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAwOnRoaXMuX3BhaXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQoY2UuaGlkZGVuKSx0aGlzLl9sb2dvQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCksdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPy5jbGFzc0xpc3QucmVtb3ZlKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fbGFzdERyYXduTG9nb3M9ZTticmVhaztjYXNlIDE6cGUodGhpcy5fbG9nb0NvbnRhaW5lcix0WzBdKSx0aGlzLl9wYWlyQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKGNlLmhpZGRlbiksdGhpcy5fbG9nb0NvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZSh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj8uY2xhc3NMaXN0LmFkZCh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX2xhc3REcmF3bkxvZ29zPWU7YnJlYWs7Y2FzZSAyOnBlKHRoaXMuX3ByaW1hcnlMb2dvLHRbMF0pLHBlKHRoaXMuX3NlY29uZGFyeUxvZ28sdFsxXSksdGhpcy5fcGFpckNvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZShjZS5oaWRkZW4pLHRoaXMuX2xvZ29Db250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9sYXN0RHJhd25Mb2dvcz1lfX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9yZW5kZXJTeW1ib2xMb2dvKCksdGhpcy5fbG9nb1VybHM9ZS5zeW1ib2xMb2dvVXJscygpLnNwYXduKCksdGhpcy5fbG9nb1VybHMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ28se2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzTG9nb1Zpc2libGU9ZS5pc1N5bWJvbExvZ29WaXNpYmxlKCkuc3Bhd24oKSx0aGlzLl9pc0xvZ29WaXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMb2dvVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2xvZ29XcmFwcGVyPy5yZW1vdmUoKSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fbG9nb1VybHMuZGVzdHJveSgpLHRoaXMuX2lzTG9nb1Zpc2libGUuZGVzdHJveSgpLHRoaXMuX2Fib3J0Q29udHJvbGxlci5hYm9ydCgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fbG9nb1dyYXBwZXJ9X3JlbmRlclN5bWJvbExvZ28oKXtpZighdGhpcy5fbG9nb1dyYXBwZXIpe2NvbnN0IGU9dGhpcy5fbG9nb1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLmxvZ29XcmFwcGVyKSxlLmRhdGFzZXQucWFJZD0ibGVnZW5kLWxvZ28td3JhcHBlciI7Y29uc3QgdD10aGlzLl9wYWlyQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTt0LmNsYXNzTGlzdC5hZGQoY2UucGFpckNvbnRhaW5lcixjZS5oaWRkZW4pO2NvbnN0IGk9dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpO2kuY2xhc3NOYW1lPSgwLGFlLmdldEJsb2NrU3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKTsodGhpcy5fc2Vjb25kYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9wcmltYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9sb2dvQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKSkuY2xhc3NOYW1lPW5lKCkoKDAsbGUuZ2V0U3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKSxjZS5sb2dvLHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyk7KHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj1lLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGxlLmdldFN0eWxlQ2xhc3NlcykoInh4eHNtYWxsIiksY2UubG9nbyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCl9fV91cGRhdGVTeW1ib2xMZXR0ZXIoKXtpZih0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXIpe2NvbnN0IGU9KDAscmUuc2FmZVNob3J0TmFtZSkodGhpcy5fbW9kZWwuc3ltYm9sKCk/PyIiKVswXTtnKHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcixlKX19fWZ1bmN0aW9uIHBlKGUsdCl7ZSYmZS5yZXBsYWNlQ2hpbGRyZW4odCl9ZnVuY3Rpb24gX2UoZSl7ZS5jcm9zc09yaWdpbj0iIixlLmRlY29kaW5nPSJhc3luYyJ9Y29uc3QgZ2U9Xy5DaGVja01vYmlsZS5hbnkoKTtmdW5jdGlvbiBtZShlLHQpe2UuZGF0YXNldC5zdGF0dXM9dD8ibG9hZGluZyI6dm9pZCAwfWNvbnN0IGJlPSgwLEUubWVyZ2VUaGVtZXMpKHcuREVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUUse3N0YXR1c2VzV3JhcDpjZS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzfSk7Y2xhc3MgdmV7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2VsPW51bGwsdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9bnVsbCx0aGlzLl90aXRsZXNXcmFwcGVyRWw9bnVsbCx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl92YWx1ZXNFbGVtZW50cz1bXSx0aGlzLl9hY3Rpb25zUGFyZW50RWw9bnVsbCwKdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1udWxsLHRoaXMuX2FjdGlvbkVsZW1lbnRzPVtdLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fcm93TW9kZT00LHRoaXMuX3RpdGxlc01vZGU9Myx0aGlzLl9zdGF0dXNlc1dyYXBwZXI9bnVsbCx0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPW51bGwsdGhpcy5fbG9hZGVyPW51bGwsdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwsdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW51bGwsdGhpcy5fcmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9oaWRlSW52aXNpYmxlSG92ZXI9bnVsbCx0aGlzLl9oaWRlVmFsdWVzPW51bGwsdGhpcy5fYWxsQnV0dG9uc1dpZHRoPW51bGwsdGhpcy5fbGFzdFN0YXR1c2VzV3JhcHBlcldpZHRoPW51bGwsdGhpcy5fbGFzdEFjdGlvbnNXcmFwcGVyV2lkdGg9bnVsbCx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI9bnVsbCx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcnM9W10sdGhpcy5fZGlzYWJsZVRpbWVvdXQ9bnVsbCx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlRGlzYWJsZWRTdGF0ZT0oZT10aGlzLl9kaXNhYmxlZC52YWx1ZSgpKT0+e251bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWQsZSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0VmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCkpfSx0aGlzLl91cGRhdGVMb2FkaW5nU3RhdGU9KGU9dGhpcy5fbG9hZGluZy52YWx1ZSgpKT0+e2lmKG51bGwhPT10aGlzLl9lbCl7dGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5leWVMb2FkaW5nLGUmJiF0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKSxtZSh0aGlzLl9lbCxlKX1udWxsIT09dGhpcy5fbG9hZGVyJiZ0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlcj1lPT57aWYodGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksZSl7dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW5ldyBoZShlKTtjb25zdCB0PXRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZmluZEluZGV4KChlPT50aGlzLl9pc1RpdGxlV2l0aFN5bWJvbExvZ28oZSkpKTtpZigtMSE9PXQpe2NvbnN0IGU9dGhpcy5fdGl0bGVDb250YWluZXJzW3RdO2lmKGUpe2NvbnN0IHQ9dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyLmdldEVsZW1lbnQoKTt0JiZlLmluc2VydEJlZm9yZSh0LGUuZmlyc3RDaGlsZCl9fX1lbHNlIHRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj1udWxsfSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhcmVudEVsPXQsdGhpcy5fZGlzYWJsZWQ9dGhpcy5fbW9kZWwuZGlzYWJsZWQoKS5zcGF3bigpLHRoaXMuX2Rpc2FibGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWw9dGhpcy5fbW9kZWwuZGlzYWJsZWRPbkludGVydmFsKCkuc3Bhd24oKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlLmJpbmQodGhpcykpLHRoaXMuX3NlbGVjdGVkPXRoaXMuX21vZGVsLnNlbGVjdGVkKCkuc3Bhd24oKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2VsZWN0ZWRTdGF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9sb2FkaW5nPXRoaXMuX21vZGVsLmxvYWRpbmcoKS5zcGF3bigpLHRoaXMuX2xvYWRpbmcuc3Vic2NyaWJlKGZ1bmN0aW9uKGUsdCl7bGV0IGk9MDtyZXR1cm4gcz0+e2NsZWFyVGltZW91dChpKSxzP2UoKTppPXNldFRpbWVvdXQoZSx0KX19KHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0ZSw3MDApKSx0aGlzLl9pc1RpdGxlSGlkZGVuPXRoaXMuX21vZGVsLmlzVGl0bGVIaWRkZW4oKS5zcGF3bigpLHRoaXMuX2lzUm93SGlkZGVuPXRoaXMuX21vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9pc1RpdGxlSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93VGl0bGVzLmJpbmQodGhpcykpLHRoaXMuX2lzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93TGluZS5iaW5kKHRoaXMpKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bj10aGlzLl9tb2RlbC50aXRsZXMoKS5zcGF3bigpLHRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnN1YnNjcmliZSh0aGlzLl90aXRsZXNDb2xsZWN0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl92YWx1ZXM9dGhpcy5fbW9kZWwudmFsdWVzKCkuc3Bhd24oKSx0aGlzLl92YWx1ZXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlcy5iaW5kKHRoaXMpKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSx0aGlzLl9hZGRWYWx1ZXNTcGF3bnNTdWJzY3JpcHRpb25zKCksZS5zeW1ib2xMb2dvVmlld01vZGVsKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fdXBkYXRlU3ltYm9sTG9nb1JlbmRlcmVyKGUuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnZhbHVlKCkpLHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5PXRoaXMuX21vZGVsLmFjdGlvbnMoKS5tYXAoKGU9Pih7dmlzaWJsZTplLnZpc2libGUuc3Bhd24oKSxhY3RpdmU6ZS5hY3RpdmU/LnNwYXduKCksdGl0bGU6dm9pZCAwPT09ZS50aXRsZT9udWxsOmUudGl0bGUuc3Bhd24oKX0pKSk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9hY3Rpb25zU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdHt2aXNpYmxlOnQsdGl0bGU6aSxhY3RpdmU6c309dGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV07dC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxlKSksCnM/LnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUFjdGlvbkFjdGl2ZVN0YXR1cyhlKSkpLGk/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsZSkpfXRoaXMuX3dpdGhBY3Rpb25zPWkud2l0aEFjdGlvbnMsdGhpcy5faXNNdWx0aXBsZUxheW91dD1pLmlzTXVsdGlwbGVMYXlvdXQuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3I9aS5jdXN0b21UZXh0Q29sb3Iuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUN1c3RvbVRleHRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9yZW5kZXIoKSx0aGlzLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTaG93VGl0bGVzKCksdGhpcy5fdXBkYXRlU2hvd1ZhbHVlcygpLHRoaXMuX3VwZGF0ZVNob3dMaW5lKCksdGhpcy5fbG9hZGVyPWVlKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpLHtjbGFzc05hbWU6Y2UubG9hZGVyfSksdGhpcy5fd2l0aEFjdGlvbnMmJih0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPWkudG9nZ2xlSGlkZGVuQWN0aW9ucyx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9KDAsSS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKHRoaXMuX3Nob3dBY3Rpb25zLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcj0oMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5faGlkZUFjdGlvbnMuYmluZCh0aGlzKSksdGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyPSgwLHguZGVmYXVsdFByZXZlbnRlZEhhbmRsZXIpKHRoaXMuX21vZGVsLnNldFNvdXJjZVNlbGVjdGVkLmJpbmQodGhpcy5fbW9kZWwpKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSksdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzLnB1c2gobmV3IHguTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdGl0bGVzV3JhcHBlckVsLHttb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksZG91YmxlVGFwRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksbW91c2VDbGlja0V2ZW50OnRoaXMuX3NlbGVjdGVkU291cmNlSGFuZGxlcix0YXBFdmVudDp0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXJ9KSkpLG51bGw9PT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsfHxudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxnZXx8KHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSl9ZGVzdHJveSgpe2lmKHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnM9bnVsbCx0aGlzLl9kaXNhYmxlZC5kZXN0cm95KCksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsLmRlc3Ryb3koKSx0aGlzLl9zZWxlY3RlZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5faXNUaXRsZUhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNSb3dIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2N1c3RvbVRleHRDb2xvci5kZXN0cm95KCksdGhpcy5fbG9hZGVyPy5kZXN0cm95KCksdGhpcy5faXNNdWx0aXBsZUxheW91dC5kZXN0cm95KCksdGhpcy5fbW9kZWwuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX2Rpc2FibGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZGlzYWJsZVRpbWVvdXQpLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3RpdGxlc1dyYXBwZXJFbCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzKWUuZGVzdHJveSgpO3RoaXMuX3RpdGxlQ29udGFpbmVycz1bXSx0aGlzLl90aXRsZUVsZW1lbnRzPVtdLHRoaXMuX3dpdGhBY3Rpb25zJiZudWxsIT09dGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyJiZudWxsIT09dGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyJiZudWxsIT09dGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSkpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbD1udWxsfWZvcihjb25zdCBlIG9mIHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5KWUudmlzaWJsZS5kZXN0cm95KCksZS5hY3RpdmU/LmRlc3Ryb3koKSxlLnRpdGxlPy5kZXN0cm95KCk7aWYodGhpcy5fYWN0aW9uRWxlbWVudHM9W10sCm51bGwhPT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fd2l0aEFjdGlvbnMmJm51bGwhPT10aGlzLl9zaG93QWN0aW9uc0hhbmRsZXImJm51bGwhPT10aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXImJiFnZSYmKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcikpLHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCksdGhpcy5fYWN0aW9uc1BhcmVudEVsPW51bGwsdGhpcy5fcmVtb3ZlVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpLHRoaXMuX3ZhbHVlcy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCksdGhpcy5faGlkZUludmlzaWJsZUhvdmVyPy5kZXN0cm95KCksdGhpcy5faGlkZVZhbHVlcz8uZGVzdHJveSgpLG51bGwhPT10aGlzLl9yZXNpemVPYnNlcnZlciYmKHRoaXMuX3Jlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsKSxudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fZWwucGFyZW50Tm9kZTtlPy5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWw9bnVsbH19Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbH1nZXRIZWlnaHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2VsP251bGw6MjR9dXBkYXRlTW9kZShlLHQpe3RoaXMuX3Jvd01vZGU9PT1lJiZ0aGlzLl90aXRsZXNNb2RlPT09dCYmbnVsbCE9PXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8KHRoaXMuX3Jvd01vZGUhPT1lJiYodGhpcy5fcm93TW9kZT1lLHRoaXMuX3VwZGF0ZUFjdGlvbnNWaXNpYmlsaXRpZXNCeU1vZGUoKSksdGhpcy5fdGl0bGVzTW9kZSE9PXQmJih0aGlzLl90aXRsZXNNb2RlPXQsdGhpcy5fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCkpLHRoaXMuX3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpKX1hY2Nlc3NpYmxlQnV0dG9ucygpe3JldHVybiB0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpP1tdOlsuLi50aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLC4uLnRoaXMuX2FjY2Vzc2libGVBY3Rpb25CdXR0b25zXS5maWx0ZXIoKGU9PiFlLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpfXNob3dBY3Rpb25zKCl7bnVsbD09PXRoaXMuX2VsfHx0aGlzLl9lbC5jbGFzc0xpc3QuY29udGFpbnMoY2Uud2l0aEFjdGlvbil8fHRoaXMuX3Nob3dBY3Rpb25zKCl9aGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKSYmdGhpcy5faGlkZUFjdGlvbnMoKX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe31fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7fV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl9yZW5kZXJBY3Rpb25zKCksdGhpcy5fcmVuZGVyVmFsdWVzKCk7Y29uc3QgZT10aGlzLl9jdXN0b21UZXh0Q29sb3IudmFsdWUoKXx8IiI7dGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53aXRoQ3VzdG9tVGV4dENvbG9yLEJvb2xlYW4oZSkpLG1lKHRoaXMuX2VsLHRoaXMuX2xvYWRpbmcudmFsdWUoKSksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIuY2xhc3NMaXN0LmFkZChjZS5ub1dyYXBXcmFwcGVyKSx0aGlzLl9maXJzdEJsb2NrV3JhcHBlci5hcHBlbmRDaGlsZCgoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RpdGxlc1dyYXBwZXJFbCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2ZpcnN0QmxvY2tXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpLHRoaXMuX2VsLmFwcGVuZENoaWxkKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fZWwpfV9yZW5kZXJUaXRsZXMoKXtudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc1dyYXBwZXIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10aXRsZXMiKTtmb3IoY29uc3QgZSBvZiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpKWooZSk/dGhpcy5fcmVuZGVyVGl0bGVzR3JvdXAoZSk6dGhpcy5fcmVuZGVyU2ltcGxlVGl0bGUoZSl9X3JlbmRlclRpdGxlc0dyb3VwKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc0dyb3VwV3JhcHBlciksZS5pdGVtcy5mb3JFYWNoKChlPT50aGlzLl9yZW5kZXJTaW1wbGVUaXRsZShlLHQpKSksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpLmFwcGVuZENoaWxkKHQpfV9yZW5kZXJTaW1wbGVUaXRsZShlLHQpe2NvbnN0e3RpdGxlOmksdG9vbHRpcDpzLGFjdGlvbjpvfT1lLGE9ISFvJiYoIV8uQ2hlY2tNb2JpbGUuYW55KCl8fG8uYWN0aW9uQWxsb3dlZE9uVG91Y2gpLGw9dGhpcy5fZ2V0QXR0cmlidXRlc0ZvclRpdGxlU3RhdGUoZSkscj1pPz8iIixkPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIix1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXIsY2Uud2l0aERvdCksdS5zdHlsZS5jb2xvcj1kLGw/LmNsYXNzTmFtZSYmdS5jbGFzc0xpc3QuYWRkKGwuY2xhc3NOYW1lKSwKdS5kYXRhc2V0LnFhSWQ9WyJ0aXRsZS13cmFwcGVyIixsPy5kYXRhUWFJZF0uam9pbigiICIpLnRyaW0oKSx2b2lkIDAhPT1zJiYodS5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHUuc2V0QXR0cmlidXRlKCJ0aXRsZSIscykpO2NvbnN0IGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhPyJidXR0b24iOiJkaXYiKTtpZihjLmNsYXNzTGlzdC5hZGQoY2UudGl0bGUpLHZvaWQgMCE9PW8pe3UuY2xhc3NMaXN0LmFkZChjZS53aXRoQWN0aW9uKTtjb25zdCBlPV8uQ2hlY2tNb2JpbGUuYW55KCkmJm8uYWN0aW9uQWxsb3dlZE9uVG91Y2gsdD10PT57IXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkmJih0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI/Lih0KSxlKXx8KHUuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSksby5mbigoKCk9PnUuY2xhc3NMaXN0LnJlbW92ZShjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSkpKSxhJiZjLmJsdXIoKSl9O2lmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVycy5wdXNoKG5ldyB4Lk1vdXNlRXZlbnRIYW5kbGVyKHUse21vdXNlQ2xpY2tFdmVudDp0LHRhcEV2ZW50OmU/dDp2b2lkIDB9LHtpZ25vcmVDbGlja0FuZFRhcE9uRGJsQ2xpY2tPckRibFRhcDohMH0pKSxhKXtjb25zdCBlPWM7dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKCgpPT5vLmZuKCkpLHM/PyIiKSx0aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLnB1c2goZSl9fWlmKHIubGVuZ3RoPjA/Yy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk6KHUuY2xhc3NMaXN0LmFkZChYLmJsb2NrSGlkZGVuKSxjLmNsYXNzTGlzdC5hZGQoWC5ibG9ja0hpZGRlbikpLHUuYXBwZW5kQ2hpbGQoYyksdGhpcy5faXNUaXRsZVdpdGhTeW1ib2xMb2dvKGUpKXtjb25zdCBlPXRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj8uZ2V0RWxlbWVudCgpO2UmJnUuaW5zZXJ0QmVmb3JlKGUsdS5maXJzdENoaWxkKX0odD8/KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpKS5hcHBlbmRDaGlsZCh1KSx0aGlzLl90aXRsZUNvbnRhaW5lcnMucHVzaCh1KSx0aGlzLl90aXRsZUVsZW1lbnRzLnB1c2goYyl9X21ha2VJdGVtQWNjZXNzaWJsZShlLHQsaSl7IiIhPT1pJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaSksZS50eXBlPSJidXR0b24iLGUuY2xhc3NMaXN0LmFkZChjZS5hY2Nlc3NpYmxlKSxlLnRhYkluZGV4PS0xO2NvbnN0IHM9dD0+e3N3aXRjaCh0LnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6ZS50YWJJbmRleD0wO2JyZWFrO2Nhc2Uicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IjplLnRhYkluZGV4PS0xfX07ZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixzKSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIscyksZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwoZT0+e2NvbnN0IGk9KDAsaC5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PWkmJjMyIT09aXx8KGUucHJldmVudERlZmF1bHQoKSx0KGUpKX0pKX1fcmVuZGVyQWN0aW9ucygpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47bnVsbD09PXRoaXMuX2FjdGlvbnNQYXJlbnRFbCYmKHRoaXMuX2FjdGlvbnNQYXJlbnRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25zUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS5idXR0b25zV3JhcHBlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmRhdGFzZXQubmFtZT0iYWN0aW9ucyIsdGhpcy5fcGFyZW50RWwuYXBwZW5kKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UuYnV0dG9ucyksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwpKTtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbCk7dGhpcy5fbW9kZWwuYWN0aW9ucygpLmZvckVhY2goKHQ9Pntjb25zdCBpPXZvaWQgMD09PXQuZGlzYWJsZUFjY2Vzc2liaWxpdHkscz17aWNvblNpemU6di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibGFyZ2UiOiJzbWFsbCIsdGFnOmk/ImJ1dHRvbiI6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOmNlLmJ1dHRvbix3cmFwSWNvbkNsYXNzTmFtZTpjZS5idXR0b25JY29uLGhpZGRlbkNsYXNzTmFtZTpYLmJsb2NrSGlkZGVuLGJsdXJPbkNsaWNrOiEhaXx8dm9pZCAwfSxvPSgwLFcuY3JlYXRlQWN0aW9uRWxlbWVudCkodCxzKTtpZihpKXtjb25zdCBlPW87dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKGU9PnQuYWN0aW9uKGUpKSx0LnRpdGxlPy52YWx1ZSgpPz8iIiksdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnMucHVzaChlKX10aGlzLl9hY3Rpb25FbGVtZW50cy5wdXNoKG8pLGUuYXBwZW5kQ2hpbGQobyl9KSl9X2luaXRXcmFwcGVyc0lmTm90SW5pdGlhbGl6ZWQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzUGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS52YWx1ZXNXcmFwcGVyKSx0aGlzLl92YWx1ZXNQYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1ub3QtYXZhaWxhYmxlLWNvbnRlbnQiLGAnJHtBLm5vdEF2YWlsYWJsZX0nYCksdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVzQWRkaXRpb25hbFdyYXBwZXIpLHRoaXMuX3ZhbHVlc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX3ZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyRWwpKSwoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsKX1faXNXaWR0aEJ1dHRvbnNNb2RlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKXx8dGhpcy5fZGlzYWJsZWQudmFsdWUoKXx8dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuITF9X3VwZGF0ZVN0YXRlcyhlKXt0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKCksdGhpcy5fdXBkYXRlRGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSx0aGlzLl91cGRhdGVTZWxlY3RlZFN0YXRlKCksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksZSYmdGhpcy5fY2xlYXJEaXNhYmxlU3RhdGUoKX1fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlcihlLHQpe2coKDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKSx0KSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyKGUsdD0iIil7KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKS5zdHlsZS5jb2xvcj10fV91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyKGUsdCl7Y29uc3QgaT0oMCxuLmVuc3VyZSkodGhpcy5fdmFsdWVzRWxlbWVudHNbZV0udmFsdWUpLmNsb3Nlc3QoYC4ke2NlLnZhbHVlSXRlbX1gKTtudWxsIT09aSYmaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIXQpLHRoaXMuX3VwZGF0ZVNob3dWYWx1ZXMoKX1fdXBkYXRlU2hvd0xpbmUoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpKX1fdGl0bGVzQ29sbGVjdGlvbkNoYW5nZWQoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmlubmVySFRNTD0iIiksdGhpcy5fYWNjZXNzaWJsZVRpdGxlQnV0dG9ucz1bXSx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl91cGRhdGVUaXRsZXNWaXNpYmlsaXRpZXNCeU1vZGUoKX1fY3JlYXRlVmFsdWVzU3Bhd25zKCl7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT10aGlzLl92YWx1ZXMudmFsdWUoKS5tYXAoKGU9Pih7dmFsdWU6ZS52YWx1ZS5zcGF3bigpLGNvbG9yOmUuY29sb3Iuc3Bhd24oKSx2aXNpYmxlOmUudmlzaWJsZS5zcGF3bigpLHRpdGxlOmUudGl0bGUuc3Bhd24oKX0pKSl9X3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKXtmb3IoY29uc3QgZSBvZiB0aGlzLl92YWx1ZXNTcGF3bkFycmF5KWUudmFsdWUuZGVzdHJveSgpLGUuY29sb3IuZGVzdHJveSgpLGUudmlzaWJsZS5kZXN0cm95KCksZS50aXRsZS5kZXN0cm95KCk7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT1bXX1fYWRkVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpe2ZvcihsZXQgZT0wO2U8dGhpcy5fdmFsdWVzU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdCB0PXRoaXMuX3ZhbHVlc1NwYXduQXJyYXlbZV07dC52YWx1ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlci5iaW5kKHRoaXMsZSkpLHQuY29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyLmJpbmQodGhpcyxlKSksdC52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyLmJpbmQodGhpcyxlKSksdC50aXRsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzVGl0bGVIVE1MRWxIYW5kbGVyLmJpbmQodGhpcyxlKSl9fV91cGRhdGVTaG93VmFsdWVzKCl7ZnVuY3Rpb24gZShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1BcnJheS5mcm9tKGUuY2hpbGRyZW4pLmV2ZXJ5KChlPT5lLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpO2UuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHQpfWUodGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbCksZSh0aGlzLl92YWx1ZXNQYXJlbnRFbCl9X2FkZFN0YXR1c2VzV2lkZ2V0KGUpe3RoaXMuX2hpZGVJbnZpc2libGVIb3Zlcj1lLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2hpZGVJbnZpc2libGVIb3Zlci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZUludmlzaWJsZUhvdmVyTW9kZS5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9oaWRlVmFsdWVzPSgwLGQuY29tYmluZSkoKChlLHQpPT5lfHx0KSxlLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSxlLmlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGlkZVZhbHVlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZVZhbHVlc01vZGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fc3RhdHVzZXNXcmFwcGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3N0YXR1c2VzV3JhcHBlci5jbGFzc0xpc3QuYWRkKGNlLnN0YXR1c2VzV3JhcHBlciksdGhpcy5fc3RhdHVzZXNXcmFwcGVyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3N0YXR1c2VzV2lkZ2V0U3RhdGU9ZSx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpP3RoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT1DKHtjb250YWluZXI6dGhpcy5fc3RhdHVzZXNXcmFwcGVyLHN0YXR1c2VzOmUudmlzaWJsZU1vZGVscygpLHRvb2x0aXA6ZS50b29sdGlwKCksdGhlbWU6YmUsc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrOnRoaXMuX3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpfSk6KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXJzdEJsb2NrV3JhcHBlcikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLAp0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aC5iaW5kKHRoaXMpKSxudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZWwpfV91cGRhdGVUaXRsZU1heFdpZHRoKCl7aWYobnVsbD09PXRoaXMuX2VsfHxudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsKXJldHVybjtjb25zdCBlPXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8MCx0PSh0aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8MCkrKHRoaXMuX2xhc3RTdGF0dXNlc1dyYXBwZXJXaWR0aHx8MCksaT10aGlzLl9pc1dpZHRoQnV0dG9uc01vZGUoKT9NYXRoLm1heChlLHQpOnQ7dGhpcy5fdGl0bGVzV3JhcHBlckVsLnN0eWxlLm1heFdpZHRoPWk+MD9gJHtNYXRoLmFicyh0aGlzLl9lbC5jbGllbnRXaWR0aC1pKX1weGA6IiJ9X3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpe3RoaXMuX2FsbEJ1dHRvbnNXaWR0aD10aGlzLl9nZXRCdXR0b25zQ291bnQoKSpMKzEsdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpfV9zaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2soKXt9X3VwZGF0ZUhpZGVJbnZpc2libGVIb3Zlck1vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVJbnZpc2libGVIb3ZlcixlKX1fdXBkYXRlSGlkZVZhbHVlc01vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVWYWx1ZXMsZSl9X3Nob3dBY3Rpb25zKCl7aWYobnVsbD09PXRoaXMuX2VsfHwhdGhpcy5fd2l0aEFjdGlvbnMpcmV0dXJuO3RoaXMuX2VsLmNsYXNzTGlzdC5hZGQoY2Uud2l0aEFjdGlvbiksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz8uKCEwKTtjb25zdCBlPXRoaXMuX3ZhbHVlc1BhcmVudEVsPy5vZmZzZXRUb3A9PT10aGlzLl90aXRsZXNXcmFwcGVyRWw/Lm9mZnNldFRvcDt0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhUYWlsLGUpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX1faGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX3dpdGhBY3Rpb25zJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoQWN0aW9uKSx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPy4oITEpLG51bGwhPT10aGlzLl92YWx1ZXNQYXJlbnRFbCYmdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoVGFpbCksdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpKX1faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aChlKXtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpcmV0dXJuO2xldCB0PW51bGwsaT0hMTtmb3IoY29uc3QgcyBvZiBlKXMudGFyZ2V0PT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiYodD1zLmNvbnRlbnRSZWN0LndpZHRoKSxzLnRhcmdldD09PXRoaXMuX2VsJiYoaT0hMCk7KHQhPT10aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8aSkmJihudWxsIT09dCYmKHRoaXMuX2xhc3RBY3Rpb25zV3JhcHBlcldpZHRoPXQpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X2NsZWFyRGlzYWJsZVN0YXRlKCl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS5leWVMb2FkaW5nKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGNlLmRpc2FibGVkKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlKCl7dGhpcy5fZWw/LmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWRPbkludGVydmFsLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC52YWx1ZSgpKX1fdXBkYXRlU2VsZWN0ZWRTdGF0ZSgpe251bGwhPT10aGlzLl9lbCYmdGhpcy5fd2l0aEFjdGlvbnMmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2Uuc2VsZWN0ZWQsdGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X3VwZGF0ZVNob3dUaXRsZXMoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNUaXRsZUhpZGRlbi52YWx1ZSgpKSl9X3VwZGF0ZVZhbHVlcygpe3RoaXMuX3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSxudWxsIT09dGhpcy5fdmFsdWVzUGFyZW50RWwmJm51bGwhPT10aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIpLHRoaXMuX3JlbmRlclZhbHVlcygpLHRoaXMuX2FkZFZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZUFjdGlvblZpc2liaWxpdGllcyhlKXtudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhdGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV0udmlzaWJsZS52YWx1ZSgpKX1fdXBkYXRlQWN0aW9uVGl0bGUoZSl7Y29uc3QgdD10aGlzLl9hY3Rpb25zU3Bhd25BcnJheVtlXS50aXRsZTtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdCjtpLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQudmFsdWUoKSksaS5oYXNBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSYmaS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQudmFsdWUoKSksaS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfV91cGRhdGVBY3Rpb25BY3RpdmVTdGF0dXMoZSl7Y29uc3R7YWN0aXZlOnR9PXRoaXMuX2FjdGlvbnNTcGF3bkFycmF5W2VdO251bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnQmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS5idXR0b259YCkuZm9yRWFjaCgoKGkscyk9PntlPT09cyYmaS5jbGFzc0xpc3QudG9nZ2xlKGNlLmJ1dHRvbl9fYWN0aXZlLHQudmFsdWUoKSl9KSl9X3VwZGF0ZUN1c3RvbVRleHRDb2xvcigpe2NvbnN0IGU9dGhpcy5fY3VzdG9tVGV4dENvbG9yLnZhbHVlKCl8fCIiO2Zvcihjb25zdCB0IG9mIHRoaXMuX3RpdGxlQ29udGFpbmVycyludWxsIT09dCYmKHQuc3R5bGUuY29sb3I9ZSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ZhbHVlc1BhcmVudEVsKS5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS52YWx1ZVRpdGxlfWApO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXRbaV0uc3R5bGUuY29sb3I9ZTsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhDdXN0b21UZXh0Q29sb3IsQm9vbGVhbihlKSl9X3VwZGF0ZVN0YXR1c1dpZGdldFZpc2liaWxpdHkoZSl7bnVsbCE9PXRoaXMuX3N0YXR1c2VzV3JhcHBlciYmKGU/KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCk6dGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9zdGF0dXNlc1dyYXBwZXIsc3RhdHVzZXM6dGhpcy5fc3RhdHVzZXNXaWRnZXRTdGF0ZT8udmlzaWJsZU1vZGVscygpPz9uZXcgci5XYXRjaGVkVmFsdWUoW10pLnJlYWRvbmx5KCksdG9vbHRpcDp0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPy50b29sdGlwKCk/P25ldyByLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKSx0aGVtZTpiZSxzaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2s6dGhpcy5fc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrKCl9KSl9X2lzVGl0bGVXaXRoU3ltYm9sTG9nbyhlKXtyZXR1cm4gOD09PWUuaWR8fDA9PT1lLmlkfX1jb25zdCBmZT1fLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjtjbGFzcyBTZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9bnVsbCx0aGlzLl9jYW5VcGRhdGVSb3dWaXNpYmlsaXR5PSEwLHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHk9dGhpcy5fbW9kZWwuZ2xvYmFsVmlzaWJpbGl0eSgpLnNwYXduKCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2hvd0xpbmUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5faGFzNUJ1dHRvbnM9dGhpcy5fbW9kZWwuaXNBYmxlU2hvd1NvdXJjZUNvZGUoKS5zcGF3bigpLHRoaXMuX2hhczVCdXR0b25zLnN1YnNjcmliZSh0aGlzLl91cGRhdGU1QnV0dG9uc1N0eWxlcy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl91cGRhdGVTdGF0ZXMoIXRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLGkuc3RhdHVzZXNXaWRnZXRTdGF0ZSYmdGhpcy5fYWRkU3RhdHVzZXNXaWRnZXQoaS5zdGF0dXNlc1dpZGdldFN0YXRlKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aC5iaW5kKHRoaXMpKSxpLndpdGhBY3Rpb25zJiYodGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9dGhpcy5fb25XaGVlbENsaWNrZWQuYmluZCh0aGlzKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlcikpfWRlc3Ryb3koKXt0aGlzLl9oYXM1QnV0dG9ucy5kZXN0cm95KCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eSYmdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3doZWVsQ2xpY2tIYW5kbGVyJiZudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlciksc3VwZXIuZGVzdHJveSgpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKT9zdXBlci5hY2Nlc3NpYmxlQnV0dG9ucygpOltdfV91cGRhdGVBY3Rpb25zVmlzaWJpbGl0aWVzQnlNb2RlKCl7aWYoIXRoaXMuX3dpdGhBY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX21vZGVsLmFjdGlvbnMoKSx0PVtdO2xldCBpPVtdO2lmKDI9PT10aGlzLl9yb3dNb2RlfHwxPT09dGhpcy5fcm93TW9kZSllWzBdLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzWzBdKSxlW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJnQucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLGk9dGhpcy5fYWN0aW9uRWxlbWVudHMuc2xpY2UoMSx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMSk7ZWxzZSBmb3IobGV0IGk9MDtpPHRoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xO2krKyllW2ldLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzW2ldKTtpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLCEwKSkpLHQuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITEpKSl9X3VwZGF0ZVRpdGxlc1Zpc2liaWxpdGllc0J5TW9kZSgpe3RoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZm9yRWFjaCgoKGUsdCk9PntpZig5IT09ZS5pZClyZXR1cm4KO2NvbnN0IGk9dGhpcy5faXNUaXRsZUhpZGRlbkJ5TW9kZShlKTt0aGlzLl90aXRsZUNvbnRhaW5lcnNbdF0/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixpKSx0aGlzLl90aXRsZUVsZW1lbnRzW3RdPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4saSl9KSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuIDk9PT1lLmlkPzMhPT10aGlzLl90aXRsZXNNb2RlOnN1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpfV91cGRhdGVTaG93TGluZSgpe2lmKG51bGw9PT10aGlzLl9lbHx8IXRoaXMuX2NhblVwZGF0ZVJvd1Zpc2liaWxpdHkpcmV0dXJuO2NvbnN0IGU9IXRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKTtlP3RoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixlKTpzdXBlci5fdXBkYXRlU2hvd0xpbmUoKX1fZ2V0QnV0dG9uc0NvdW50KCl7cmV0dXJuIHRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zdHVkeSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zb3VyY2UtaXRlbSIsZS5kYXRhc2V0LmVudGl0eUlkPXRoaXMuX21vZGVsLmdldFNvdXJjZSgpLmlkKCksZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X2dldEF0dHJpYnV0ZXNGb3JUaXRsZVN0YXRlKGUpe3JldHVybiA3PT09ZS5pZHx8OD09PWUuaWR8fDk9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX06MTA9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmlucHV0VGl0bGV9Om51bGx9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxzLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIscy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKTtjb25zdCBvPWkudGl0bGUudmFsdWUoKTt2b2lkIDAhPT1vJiYocy5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHMudGl0bGU9byksdC5hcHBlbmRDaGlsZChzKSx0aGlzLl92YWx1ZXNFbGVtZW50cy5wdXNoKHt2YWx1ZTpzfSksZS5hcHBlbmRDaGlsZCh0KX19X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKTtpLmNsYXNzTGlzdC50b2dnbGUoImFwcGx5LWNvbW1vbi10b29sdGlwIiwwIT09dC5sZW5ndGgpLGkudGl0bGU9dH1fdXBkYXRlNUJ1dHRvbnNTdHlsZXMoZSl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oYXM1QnV0dG9ucyxlKSx0aGlzLl91cGRhdGVBbGxCdXR0b25zV2lkdGgoKSl9X29uV2hlZWxDbGlja2VkKGUpezE9PT1lLmJ1dHRvbiYmdGhpcy5fbW9kZWwub25SZW1vdmVTb3VyY2UoKX19dmFyIHllPWkoMTc5NzcxKTtjbGFzcyB3ZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fY2xpZW50SGVpZ2h0PW51bGwsdGhpcy5fdXBkYXRlTGlua2VkU3RhdGU9KCk9PnsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmxpbmtlZCxCb29sZWFuKHRoaXMuX2xpbmtlZD8udmFsdWUoKSkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX0sdGhpcy5fZmxhZ2dlZD10aGlzLl9tb2RlbC5mbGFnZ2VkKCkuc3Bhd24oKSx0aGlzLl9mbGFnZ2VkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUuYmluZCh0aGlzKSksdGhpcy5fbGlua2VkPXRoaXMuX21vZGVsLmxpbmtlZCgpLnNwYXduKCksdGhpcy5fdXBkYXRlTGlua2VkU3RhdGUmJnRoaXMuX2xpbmtlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2VkU3RhdGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdXBkYXRlU3RhdGVzKCksaS5zdGF0dXNlc1dpZGdldFN0YXRlJiZ0aGlzLl9hZGRTdGF0dXNlc1dpZGdldChpLnN0YXR1c2VzV2lkZ2V0U3RhdGUpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoLmJpbmQodGhpcykpfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCksdGhpcy5fZmxhZ2dlZD8uZGVzdHJveSgpLHRoaXMuX2xpbmtlZD8uZGVzdHJveSgpfWdldEhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fZWw/bnVsbDoobnVsbD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD10aGlzLl9lbC5jbGllbnRIZWlnaHQsMD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD1udWxsKSksdGhpcy5fY2xpZW50SGVpZ2h0KX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47Y29uc3QgZT1bXTtsZXQgdD1bXTtjb25zdCBpPXRoaXMuX21vZGVsLmFjdGlvbnMoKTtpZigxPT09dGhpcy5fcm93TW9kZSlpW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJmUucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLAp0PXRoaXMuX2FjdGlvbkVsZW1lbnRzLnNsaWNlKDAsdGhpcy5fYWN0aW9uRWxlbWVudHMubGVuZ3RoLTEpO2Vsc2UgZm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGg7dCsrKWlbdF0udmlzaWJsZS52YWx1ZSgpJiZlLnB1c2godGhpcy5fYWN0aW9uRWxlbWVudHNbdF0pO3QuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITApKSksZS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhMSkpKX1fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7dGhpcy5faGlkZVRpdGxlQW5kSXRzQ29udGFpbmVySWZSZXF1aXJlZCgzKSx0aGlzLl9oaWRlVGl0bGVBbmRJdHNDb250YWluZXJJZlJlcXVpcmVkKDQpLHRoaXMuX2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoMil9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7Y29uc3QgdD1lLmlkO3JldHVybiAyIT09dCYmMyE9PXQmJjQhPT10P3N1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpOjI9PT10JiZ0aGlzLl9pc011bHRpcGxlTGF5b3V0LnZhbHVlKCk/MT09PXRoaXMuX3RpdGxlc01vZGU6MyE9PXRoaXMuX3RpdGxlc01vZGV9X2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoZSl7Y29uc3QgdD10aGlzLl9nZXRUaXRsZUluZGV4QnlEYXRhTmFtZShlKTtpZigtMT09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fdGl0bGVzU3RhdGVzU3Bhd24udmFsdWUoKVt0XSxzPXRoaXMuX3RpdGxlQ29udGFpbmVyc1t0XSxvPXRoaXMuX3RpdGxlRWxlbWVudHNbdF0sbj10aGlzLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGkpO3M/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixuKSxvPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sbil9X2dldEJ1dHRvbnNDb3VudCgpe3JldHVybiAxPT09dGhpcy5fcm93TW9kZT8xOnRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zZXJpZXMpLGUuY2xhc3NMaXN0LnRvZ2dsZShjZS5vbmx5T25lQnV0dG9uQ2FuQmVTdGljayx0aGlzLl9tb2RlbC5pc09uZUJ1dHRvbkNhbkJlU3RpY2soKSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zZXJpZXMtaXRlbSIsZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUoKSx0aGlzLl91cGRhdGVMaW5rZWRTdGF0ZT8uKCl9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKSx0LmNsYXNzTGlzdC50b2dnbGUoY2UudW5pbXBvcnRhbnQsaS51bmltcG9ydGFudC52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG89aS50aXRsZS52YWx1ZSgpfHwiIixuPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIjtzLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVUaXRsZSkscy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PW8ubGVuZ3RoKSxzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG8pKSxzLnN0eWxlLmNvbG9yPW4sdC5hcHBlbmRDaGlsZChzKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxhLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIsYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKSx0LmFwcGVuZENoaWxkKGEpLHRoaXMuX3ZhbHVlc0VsZW1lbnRzLnB1c2goe3RpdGxlOnMsdmFsdWU6YX0pLGUuYXBwZW5kQ2hpbGQodCl9fV9nZXRBdHRyaWJ1dGVzRm9yVGl0bGVTdGF0ZShlKXtzd2l0Y2goZS5pZCl7Y2FzZSAwOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX07Y2FzZSAxOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmRlc2NUaXRsZX07Y2FzZSAyOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1pbnRlcnZhbCIsY2xhc3NOYW1lOmNlLmludGVydmFsVGl0bGV9O2Nhc2UgMzpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJvdmlkZXIiLGNsYXNzTmFtZTpjZS5wcm92aWRlclRpdGxlfTtjYXNlIDQ6cmV0dXJue2RhdGFRYUlkOiJsZWdlbmQtc291cmNlLWV4Y2hhbmdlIixjbGFzc05hbWU6Y2UuZXhjaGFuZ2VUaXRsZX07Y2FzZSA1OnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1zdHlsZSIsY2xhc3NOYW1lOmNlLnN0eWxlVGl0bGV9O2Nhc2UgNjpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJpY2Utc291cmNlIixjbGFzc05hbWU6Y2UucHJpY2VTb3VyY2VUaXRsZX19cmV0dXJuIG51bGx9X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnRpdGxlKTtnKGksdCksaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PXQubGVuZ3RoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X2lzV2lkdGhCdXR0b25zTW9kZSgpewpyZXR1cm4gbnVsbCE9PXRoaXMuX2VsJiYodm9pZCAwIT09dGhpcy5fZmxhZ2dlZCYmQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpfHx0aGlzLl9saW5rZWQ/LnZhbHVlKCl8fHN1cGVyLl9pc1dpZHRoQnV0dG9uc01vZGUoKSl9X3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpe2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfc2hvd19zZXJpZXNfc3RhdHVzZXNfdG9vbHRpcCIpKXJldHVybiBlPT57eWUuZW1pdCgidG9nZ2xlX3Nlcmllc19zdGF0dXNfdG9vbHRpcF9pbm5lciIsZSx0aGlzLl9tb2RlbC5jaGFydE1vZGVsSWQoKSl9fV91cGRhdGVGbGFnZ2VkU3RhdGUoKXtpZih2b2lkIDA9PT10aGlzLl9mbGFnZ2VkKXJldHVybjsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmZsYWdnZWQsQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCl9X2dldFRpdGxlSW5kZXhCeURhdGFOYW1lKGUpe3JldHVybiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpLmZpbmRJbmRleCgodD0+dC5pZD09PWUpKX19dmFyIENlLEVlPWkoNDcxNTE4KSx4ZT1pKDgyNDI0MiksTGU9aSg5NTI1NCksTWU9aSg0Njc1NDgpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdD0wXT0iRGVmYXVsdCIsZVtlLk1pY3JvPTFdPSJNaWNybyJ9KENlfHwoQ2U9e30pKTtjb25zdCBUZT0oMCxFLm1lcmdlVGhlbWVzKSh3LkRFRkFVTFRfU1RBVFVTX1JFTkRFUkVSX1RIRU1FLHtzdGF0dXNlc1dyYXA6Y2Uuc3RhdHVzZXNXcmFwcGVyX19zdGF0dXNlc30pO2NsYXNzIFZle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93cmFwcGVyVG9nZ2VyPW51bGwsdGhpcy5fZWw9bnVsbCx0aGlzLl9jb3VudGVyRWw9bnVsbCx0aGlzLl9hcnJvd0ljb25FTD1udWxsLHRoaXMuX29iamVjdFRyZWVFbD1udWxsLHRoaXMuX2xvYWRlcj1lZShudWxsLHtjbGFzc05hbWU6Y2UudG9nZ2xlcldyYXBwZXJfX2xvYWRlcn0pLHRoaXMuX21vZGU9MCx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucz1bXSx0aGlzLl9wYXJlbnRFbD1lLHRoaXMuX3RoZW1lZENvbG9yPXQuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IuYmluZCh0aGlzKSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9aS5zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5zcGF3bigpLHRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3NvdXJjZUNvdW50PWkudmlzaWJsZURhdGFTb3VyY2VDb3VudC5zcGF3bigpLHRoaXMuX3NvdXJjZUNvdW50LnN1YnNjcmliZSgoKCk9Pnt0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKX0pKSx0aGlzLl9pc1N0YXRlT3Blbj1pLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1N0YXRlT3Blbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXBkYXRlU3RhdGUoKSx0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9KSksdGhpcy5faXNNYWluUGFuZT1pLmlzTWFpblBhbmUuc3Bhd24oKSx0aGlzLl9pc01haW5QYW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVPYmplY3RUcmVlVmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQ9aS5pc1BhbmVDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU9aS5jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUsdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVN0YXRlKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yKHRoaXMuX3RoZW1lZENvbG9yLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlPSgwLGQuY29tYmluZSkoKChlLHQpPT4hZSYmdFswXSksdGhpcy5faXNTdGF0ZU9wZW4ud2Vha1JlZmVyZW5jZSgpLGkuaGFzTG9hZGluZ0RhdGFTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlLnN1YnNjcmliZSh0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyPWU9PntudWxsIT09dGhpcy5fZWwmJihlLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudHx8dGhpcy5fZWw/LmJsdXIoKSwxIT09dGhpcy5fbW9kZT9pLm9uQ29sbGFwc2VEYXRhU291cmNlcygpOmkub25TaG93T2JqZWN0c1RyZWVEaWFsb2coKSl9LG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSx0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpfWRlc3Ryb3koKXt0aGlzLl9pc0xvYWRlclZpc2libGUuZGVzdHJveSgpLHRoaXMuX2xvYWRlci5kZXN0cm95KCksdGhpcy5faXNQYW5lQ29sbGFwc2VkLmRlc3Ryb3koKSwKdGhpcy5fc291cmNlQ291bnQuZGVzdHJveSgpLHRoaXMuX2lzU3RhdGVPcGVuLmRlc3Ryb3koKSx0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5kZXN0cm95KCksdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSxudWxsIT09dGhpcy5fb2JqZWN0VHJlZUVsJiYodGhpcy5fb2JqZWN0VHJlZUVsPW51bGwpLHRoaXMuX2Fycm93SWNvbkVMPW51bGwsdGhpcy5fY291bnRlckVsPW51bGwsbnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2VsPW51bGwpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIG51bGw9PT10aGlzLl9lbHx8dGhpcy5fZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNlLm9ubHlPbmVTb3VyY2VTaG93bikmJjEhPT10aGlzLl9tb2RlP1tdOnRoaXMuX2FjY2Vzc2libGVCdXR0b25zfXNldE1vZGUoZSl7dGhpcy5fbW9kZT1lPzE6MCx0aGlzLl91cGRhdGVUb29sdGlwKCl9X3JlbmRlcigpe3RoaXMuX3dyYXBwZXJUb2dnZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fd3JhcHBlclRvZ2dlci5jbGFzc0xpc3QuYWRkKGNlLnRvZ2dsZXJXcmFwcGVyKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXRvZ2dsZXItd3JhcHBlciIsdGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksdGhpcy5fZWwuY2xhc3NOYW1lPWAke2NlLnRvZ2dsZXJ9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9lbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10b2dnbGVyIjtjb25zdCBlPXRoaXMuX2VsO2UudHlwZT0iYnV0dG9uIixlLmNsYXNzTGlzdC5hZGQoY2UuYWNjZXNzaWJsZSksZS50YWJJbmRleD0tMTtjb25zdCB0PXQ9PntpZihudWxsIT09ZSlzd2l0Y2godC50eXBlKXtjYXNlInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiOmUudGFiSW5kZXg9MDticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6ZS50YWJJbmRleD0tMX19O2UuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9Pntjb25zdCB0PSgwLGguaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyKGUpKX0pKSx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucy5wdXNoKGUpLHRoaXMuX2Fycm93SWNvbkVMPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2Fycm93SWNvbkVMLmNsYXNzTGlzdC5hZGQoY2UuaWNvbkFycm93KSx0aGlzLl9hcnJvd0ljb25FTC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT94ZTpFZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9hcnJvd0ljb25FTCksdGhpcy5fb2JqZWN0VHJlZUVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX29iamVjdFRyZWVFbC5jbGFzc0xpc3QuYWRkKGNlLm9iamVjdFRyZWUpLHRoaXMuX29iamVjdFRyZWVFbC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT9NZTpMZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9vYmplY3RUcmVlRWwpLHRoaXMuX2NvdW50ZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb3VudGVyRWwuY2xhc3NMaXN0LmFkZChjZS5jb3VudGVyKSx0aGlzLl9jb3VudGVyRWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCkpKSksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fY291bnRlckVsKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmFwcGVuZENoaWxkKHRoaXMuX2VsKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3dyYXBwZXJUb2dnZXIuYXBwZW5kQ2hpbGQodGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbCksIXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCkmJnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k9Qyh7Y29udGFpbmVyOnRoaXMuX2NvbWJpbmVkU3RhdHVzV2lkZ2V0RWwsc3RhdHVzZXM6dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2libGVNb2RlbHMoKSx0b29sdGlwOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS50b29sdGlwKCksdGhlbWU6VGV9KToodGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fd3JhcHBlclRvZ2dlciksdGhpcy5fbG9hZGVyLm1vdW50VG8odGhpcy5fd3JhcHBlclRvZ2dlcil9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKG51bGwhPT10aGlzLl9lbClpZihlLmxlbmd0aD4wKXtjb25zdFt0LGksc109KDAsYy5wYXJzZVJnYikoZSk7dGhpcy5fZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yPSgwLGMucmdiYVRvU3RyaW5nKShbdCxpLHMsKDAsYy5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoLjgpXSl9ZWxzZSB0aGlzLl9lbC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiYmFja2dyb3VuZC1jb2xvciIpfV91cGRhdGVTb3VyY2VDb3VudCgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLApuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvdW50ZXJFbCk7Zyh0LFN0cmluZyhlKSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sZTw9MSksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5zYXZlQXJyb3dXaWR0aCxlPD0xKX1fdXBkYXRlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLGk9MT09PWUmJiF0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci52YWx1ZSgpJiYodGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKXx8IXRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCkpLHM9ZTwxfHx0aGlzLl9pc1BhbmVDb2xsYXBzZWQudmFsdWUoKSYmKHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKXx8dGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKSk7dC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sISFzKSx0LmNsYXNzTGlzdC50b2dnbGUoY2Uub25seU9uZVNvdXJjZVNob3duLGkpLHQuZGF0YXNldC5xYUlkPWBsZWdlbmQtdG9nZ2xlciR7cz8iIGhpZGRlbiI6IiJ9JHtpPyIgb25seS1vbmUtc291cmNlLXNob3duIjoiIn1gLCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fd3JhcHBlclRvZ2dlcikuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLGkpLCF0aGlzLl9pc1N0YXRlT3Blbi52YWx1ZSgpJiZ0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0VmlzaWJpbGl0eS52YWx1ZSgpP3RoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLHN0YXR1c2VzOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUudG9vbHRpcCgpLHRoZW1lOlRlfSk6KHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApfV91cGRhdGVTdGF0ZSgpe2NvbnN0IGU9IXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5jbG9zZWQsZSksdGhpcy5fdXBkYXRlVG9vbHRpcCgpLE8oKGU/IkhpZGUiOiJTaG93IikrIiBub3QgbWFpbiBzb3VyY2VzIil9X3Rvb2x0aXAoKXtpZigxPT09dGhpcy5fbW9kZSlyZXR1cm4gUC50KG51bGwse2NvbnRleHQ6IkxlZ2VuZCB0b2dnbGVyIGJ1dHRvbiB0b29sdGlwIn0saSgzMDUwNTUpKTtjb25zdCBlPXRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCksdD1QLnQobnVsbCx7cGx1cmFsOiJIaWRlIGluZGljYXRvcnMgbGVnZW5kIixjb3VudDplfSxpKDMzMjgyOCkpLHM9UC50KG51bGwse3BsdXJhbDoiU2hvdyBpbmRpY2F0b3JzIGxlZ2VuZCIsY291bnQ6ZX0saSg2OTI3MTIpKTtyZXR1cm4gdGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKT90OnN9X3VwZGF0ZVRvb2x0aXAoKXtpZihudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fdG9vbHRpcCgpO3RoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLGUpLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsZSksdGhpcy5fZWwuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIpKX19X3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KGUpeygwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLmNsYXNzTGlzdC50b2dnbGUoY2Uub2JqZWN0c1RyZWVDYW5CZVNob3duLGUpfX12YXIga2U7IWZ1bmN0aW9uKGUpe2VbZS5NZWRpdW09MjIyXT0iTWVkaXVtIixlW2UuU21hbGw9MjA1XT0iU21hbGwiLGVbZS5UaW55PTEzM109IlRpbnkiLGVbZS5IaWRlVW5pbXBvcnRhbnRWYWx1ZXM9MjcyXT0iSGlkZVVuaW1wb3J0YW50VmFsdWVzIixlW2UuU2VyaWVzRGlyZWN0aW9uQ29sdW1uPTU0Ml09IlNlcmllc0RpcmVjdGlvbkNvbHVtbiIsZVtlLkhpZGVFeGNoYW5nZUludGV2YWxQcm92aWRlcj00NDJdPSJIaWRlRXhjaGFuZ2VJbnRldmFsUHJvdmlkZXIiLGVbZS5IaWRlSW50ZXJ2YWxNdWx0aUNoYXJ0PTE5Ml09IkhpZGVJbnRlcnZhbE11bHRpQ2hhcnQifShrZXx8KGtlPXt9KSk7Y29uc3QgQWU9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiKSxXZT1bMjcsOSwzNywzOSwzOCw0MF0sSWU9KDAsRS5tZXJnZVRoZW1lcykody5ERUZBVUxUX1NUQVRVU19SRU5ERVJFUl9USEVNRSx7c3RhdHVzZXNXcmFwOmNlLnN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXN9KTtjbGFzcyBCZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21vZGU9NCx0aGlzLl9yZW5kZXJUb2dnbGVyPW51bGwsdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnM9W10sdGhpcy5fcGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9kYXRhU291cmNlc0FkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbD1udWxsLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwPW51bGwsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQ9dGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uLmJpbmQodGhpcyksdGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQ9dGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkLmJpbmQodGhpcyksdGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9bnVsbCx0aGlzLl9sb2FkZXI9ZWUobnVsbCx7Y2xhc3NOYW1lOmNlLmNvbGxhcHNlZFNvdXJjZXNDb3VudGVyfSksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz1lPT57CnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQmJihjbGVhclRpbWVvdXQodGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRCksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRD1udWxsKSxlP3RoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpOnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpKSwxMDApfSx0aGlzLl9vcHRpb25zPWUsdGhpcy5fdG9nZ2xlck9wdGlvbnM9dCx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW49ZS5pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Bhd24oKSx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW49ZS5pc0FsbExlZ2VuZEhpZGRlbi5zcGF3bigpLHRoaXMuX2lzQWxsTGVnZW5kSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lPWUuaGlkZUFsbEV4Y2VwdEZpcnN0TGluZS5zcGF3bigpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lLmJpbmQodGhpcykpLHRoaXMuX3RoZW1lZENvbG9yPWUudGhlbWVkQ29sb3Iuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fc2V0Q3VzdG9tQmcuYmluZCh0aGlzKSksdGhpcy5fc2hvd0JhY2tncm91bmQ9ZS5zaG93QmFja2dyb3VuZC5zcGF3bigpLHRoaXMuX3Nob3dCYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLl9zZXRDdXN0b21CZy5iaW5kKHRoaXMpKSx0aGlzLl9iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5PWUuYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kuc3Vic2NyaWJlKHRoaXMuX3NldEN1c3RvbUJnLmJpbmQodGhpcykpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bj1lLmNvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50U3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudC5iaW5kKHRoaXMpKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZT1lLmNvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmlsaXR5KCkuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc0NvdW50KHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpKSkpLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyPXRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAuYmluZCh0aGlzKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKGNlLmxlZ2VuZCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5ub1dyYXAsIXYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2Uubm9BY3Rpb25zLCF0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLnRvdWNoTW9kZSx2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndyYXBwYWJsZSwhdGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZS52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZCIsdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyIsInRydWUiKSx0aGlzLl9wYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoIixgJHtMfXB4YCk7Y29uc3QgaT10PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUuc2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KHQpfTt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgeC5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl9wYXJlbnRFbCx7Y29udGV4dE1lbnVFdmVudDppLHRvdWNoQ29udGV4dE1lbnVFdmVudDppfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2hhbmRsZUtleURvd24uYmluZCh0aGlzKSksdGhpcy5fb3B0aW9ucy5vbkxheW91dENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MYXlvdXRDaGFuZ2VkKSx0aGlzLl9pc0xvYWRlclZpc2libGU9KDAsZC5jb21iaW5lKSgoZT0+ZVsxXSksZS5oYXNMb2FkaW5nRGF0YVNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xvYWRlclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX2xvYWRlci50b2dnbGVWaXNpYmlsaXR5LHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2FkZXJWaXNpYmxlLmRlc3Ryb3koKSx0aGlzLl9sb2FkZXIuZGVzdHJveSgpLHRoaXMuX2ZvY3VzRXZlbnRBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2xldCB0PS0xCjtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZlIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe251bGwhPT10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSkmJih0PSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KS5pbmRleE9mKGUpKX1pZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuZGVzdHJveSgpLHRoaXMuX3RoZW1lZENvbG9yLmRlc3Ryb3koKSx0aGlzLl9zaG93QmFja2dyb3VuZC5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5kZXN0cm95KCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudFNwYXduLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUmJm51bGwhPT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKSx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwJiZ0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwKCksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCYmKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwpLG51bGwhPT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNFbD1udWxsKSx0aGlzLl90b2dnbGVyT3B0aW9ucy5pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnVuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmKHRoaXMuX3JlbmRlclRvZ2dsZXIuZGVzdHJveSgpLHRoaXMuX3JlbmRlclRvZ2dsZXI9bnVsbCksbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmRlc3Ryb3koKSx0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPW51bGwpLDAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzPVtdfWlmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsZGVsZXRlIHRoaXMuX3BhcmVudEVsLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHRoaXMuX29uS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGlvbkJvdW5kKSwtMSE9PXQpe2xldCBlO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKTtjb25zdCBpPSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KTtlPXQ9PT1pLmxlbmd0aD9pWzBdOmlbdF0sZSYmZS5mb2N1cygpfX1hZGRDdXN0b21XaWRnZXQoZSx0KXtpZigwPT09dC5ibG9jayl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpO2NvbnN0IGk9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9aWYoMT09PXQuYmxvY2spe3RoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKTtjb25zdCBpPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9fWZpcnN0VGl0bGUoKXtyZXR1cm4gdGhpcy5fcGFyZW50RWwuZmlyc3RFbGVtZW50Q2hpbGR9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9wYXJlbnRFbH11cGRhdGVNb2RlKGUpe2NvbnN0IHQ9QWUmJmU8MTMzPzE6ZTwyMDU/MjplPDIyMj8zOjQsaT1lPDE5Mj8xOmU8NDQyPzI6Mzt0aGlzLl9tb2RlPXQsbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIudXBkYXRlTW9kZSh0LGkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMpZS51cGRhdGVNb2RlKHQsaSk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5tZWRpdW0sMz09PXQpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubWluaW1pemVkLDI9PT10KSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLm1pY3JvLDE9PT10KSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmdGhpcy5fcmVuZGVyVG9nZ2xlci5zZXRNb2RlKDE9PT10KTtjb25zdCBzPSF0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCkmJih2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlfHxlPDU0Mik7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5kaXJlY3Rpb25Db2x1bW4scyksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oaWRlVW5pcG9ydGFudFZhbHVlSXRlbXMsIV8uQ2hlY2tNb2JpbGUuYW55KCkmJmU8PTI3Mil9Z2V0TWFpblNvdXJjZUhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj8wOnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIuZ2V0SGVpZ2h0KCl9Z2V0RGF0YVNvdXJjZUhlaWdodCgpewpyZXR1cm4gMD09PXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMubGVuZ3RoPzA6dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1swXS5nZXRIZWlnaHQoKX1fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpe251bGw9PT10aGlzLl9tYWluRGF0YVNvdXJjZUVsJiYodGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tYWluRGF0YVNvdXJjZUVsLmNsYXNzTGlzdC5hZGQoY2UubGVnZW5kTWFpblNvdXJjZVdyYXBwZXIpLHRoaXMuX3BhcmVudEVsLmluc2VydEJlZm9yZSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsLHRoaXMuX2RhdGFTb3VyY2VzRWwpKX1fcmVuZGVyRGF0YVNvdXJjZXNFbCgpe251bGw9PT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kYXRhU291cmNlc0VsLmNsYXNzTGlzdC5hZGQoY2Uuc291cmNlc1dyYXBwZXIpLHRoaXMuX2RhdGFTb3VyY2VzRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtc291cmNlcy13cmFwcGVyIix0aGlzLl9yZW5kZXJUb2dnbGUodGhpcy5fZGF0YVNvdXJjZXNFbCksdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnNvdXJjZXMpLHRoaXMuX2RhdGFTb3VyY2VzRWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSx0aGlzLl9yZW5kZXJDb2xsYXBzZWRDb3VudGVyKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNFbCkpfV9yZW5kZXJUb2dnbGUoZSl7dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uJiYodGhpcy5fcmVuZGVyVG9nZ2xlcj1uZXcgVmUoZSx0aGlzLl9vcHRpb25zLnRoZW1lZENvbG9yLHRoaXMuX3RvZ2dsZXJPcHRpb25zKSl9X29uSXNEYXRhU291cmNlc0NvbGxhcHNlZChlKXtpZihlKXtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoMD09PWUuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXtjb25zdCB0PXRoaXMuX2dldFJvd1JlbmRlcmVyQnlDaGlsZChlWzBdKTt0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZVswXSx0KX1yZXR1cm59aWYoMCE9PSh0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5hY2Nlc3NpYmxlQnV0dG9ucygpfHxbXSkuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXJldHVybjtjb25zdCB0PVtdO3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuZm9yRWFjaCgoZT0+dC5wdXNoKC4uLmUuYWNjZXNzaWJsZUJ1dHRvbnMoKSkpKTtjb25zdCBpPXQuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSk7aWYoMCE9PWkubGVuZ3RoKXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyJiZ0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLmFib3J0KCksaS5mb3JFYWNoKChlPT4oMCxtLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGUpKSk7bGV0IGU9bnVsbCx0PW51bGw7aWYodGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcil7Y29uc3QgaT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmFjY2Vzc2libGVCdXR0b25zKCk7aS5sZW5ndGg+MCYmKGU9aVswXSx0PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIpfW51bGw9PT1lJiZ0aGlzLl9yZW5kZXJUb2dnbGVyJiYoZT10aGlzLl9yZW5kZXJUb2dnbGVyLmFjY2Vzc2libGVCdXR0b25zKClbMF0sdD10aGlzLl9yZW5kZXJUb2dnbGVyKSxlJiZ0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KX19X3JlbmRlckNvbGxhcHNlZENvdW50ZXIoZSl7dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtY29sbGFwc2VkLXNvdXJjZXMtY291bnRlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuY2xhc3NOYW1lPWAke2NlLml0ZW19ICR7Y2UubGFzdH1gLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwuY2xhc3NOYW1lPWAke2NlLnRleHR9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbC5hcHBlbmQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQuZGF0YXNldC5xYUlkPSJsZWdlbmQtc3RhdHVzZXMtd3JhcHBlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50KSxlLmFwcGVuZCh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCksdi50cmFja2luZ01vZGVJc0F2YWlsYWJsZSYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKTtjb25zdCB0PXRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpO3RoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudCh0KSx0aGlzLl9sb2FkZXIubW91bnRUbyh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCl9X3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAoKXsoMCxmLnNob3dPbkVsZW1lbnQpKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsewp0ZXh0OnRoaXMuX29wdGlvbnMuY29sbGFwc2VkRGF0YVNvdXJjZXNUaXRsZS52YWx1ZSgpfSksdGhpcy5fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKX1fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKXtudWxsIT09dGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCYmdGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCgpLHRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXA9KDAscC5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikobmV3IEN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXAsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwsKCgpPT57bnVsbCE9PXRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAmJnRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAoKSwoMCxmLmhpZGUpKCl9KSx3aW5kb3cuZG9jdW1lbnQse3RvdWNoRW5kOiEwfSl9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudChlKXtpZihudWxsPT09dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWx8fG51bGw9PT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0VsKXJldHVybjtjb25zdCB0PTA9PT1lO3RoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0KSwhdCYmdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQsc3RhdHVzZXM6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLnRvb2x0aXAoKSx0aGVtZTpJZX0pOih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbGxhcHNlZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApLHR8fChnKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsYCske2V9YCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbC5zZXRBdHRyaWJ1dGUoInRpdGxlIix0aGlzLl9vcHRpb25zLmNvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUudmFsdWUoKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXR5KCl7bGV0IGU7Y29uc3QgdD1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiYodGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKXx8dGhpcy5faXNTdHVkaWVzTGVnZW5kSGlkZGVuLnZhbHVlKCkpO2lmKHQpe2U9dGhpcy5fZ2V0QWxsQWNjZXNzaWJsZUJ1dHRvbnMoKS5maWx0ZXIoKGU9PmUudGFiSW5kZXg+PTApKVswXX1pZih0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKSksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzRWwmJnRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi52YWx1ZSgpKSx0KXtjb25zdCB0PXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoZSYmdC5pbmNsdWRlcyhlKSlyZXR1cm47aWYoZSYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShlKSwwIT09dC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHRbMF0pO2UmJnRoaXMuX21ha2VSb3dFbGVtZW50VGhlTWFpbk9uZSh0WzBdLGUpfX19X3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lKCl7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53cmFwcGFibGUsIXRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUudmFsdWUoKSl9X3NldEN1c3RvbUJnKCl7Y29uc3QgZT10aGlzLl9zaG93QmFja2dyb3VuZC52YWx1ZSgpLHQ9dGhpcy5fdGhlbWVkQ29sb3IudmFsdWUoKSxpPXRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kudmFsdWUoKTtsZXQgcz0iIjtpZihlKXtjb25zdFtlLG8sbl09KDAsYy5wYXJzZVJnYikodCk7cz0oMCxjLnJnYmFUb1N0cmluZykoW2UsbyxuLCgwLGMubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEtaS8xMDApXSl9dGhpcy5fcGFyZW50RWwuc3R5bGUuY29sb3I9c31fb25MYXlvdXRDaGFuZ2VkKGUpe2NvbnN0e25ld01haW5Tb3VyY2U6dCxyZW1vdmVkRGF0YVNvdXJjZXM6aSxhZGRlZERhdGFTb3VyY2VzOnMsbW92ZWREYXRhU291cmNlczpvfT1lLG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtsZXQgYT0tMSxsPS0xO2NvbnN0IHI9bnVsbD09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJjA9PT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aDtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZuIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1lLmZpbmQoKGU9PmUuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhuKSkpO2lmKHZvaWQgMCE9PW8pe2NvbnN0IHI9bz09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJm51bGw9PT10LGQ9byBpbnN0YW5jZW9mIFNlJiZpLmluY2x1ZGVzKHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihvKSk7aWYocnx8ZCl7YT1lLmluZGV4T2Yobyk7Y29uc3Qgcj0oMCxiLnF1ZXJ5VGFiYmFibGVFbGVtZW50cykoZG9jdW1lbnQuYm9keSkuaW5kZXhPZihuKTtsPTAhPT1zLmxlbmd0aHx8KHZvaWQgMCE9PXR8fG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyKSYmbnVsbCE9PXR8fGkubGVuZ3RoIT09dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5sZW5ndGgmJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aD9yKzE6cn19fQp2b2lkIDAhPT10JiYobnVsbCE9PXQ/dGhpcy5fYWRkTWFpbkRhdGFTb3VyY2UodC5tb2RlbCx0LnN0YXR1c2VzV2lkZ2V0U3RhdGUpOih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5kZXN0cm95KCksdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsKSk7Y29uc3QgZD1bXTtpZihvLmZvckVhY2goKGU9PntkLnB1c2goe3JlbmRlcmVyOnRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbZS5vbGRJbmRleF0sbmV3SW5kZXg6ZS5uZXdJbmRleH0pfSkpLGQuc29ydCgoKGUsdCk9PmUubmV3SW5kZXgtdC5uZXdJbmRleCkpLGkuZm9yRWFjaCgoZT0+e3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGUsMSlbMF0uZGVzdHJveSgpfSkpLDAhPT1zLmxlbmd0aCYmKHRoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKSxzLmZvckVhY2goKGU9Pnt0aGlzLl9hZGREYXRhU291cmNlKGUubW9kZWwsZS5zdGF0dXNlc1dpZGdldFN0YXRlLGUuaW5kZXgpfSkpKSwwIT09ZC5sZW5ndGgmJih0aGlzLl9yZW5kZXJEYXRhU291cmNlc0VsKCksZC5mb3JFYWNoKChlPT57dGhpcy5fbW92ZURhdGFTb3VyY2UoZS5yZW5kZXJlcixlLm5ld0luZGV4KX0pKSksQmUuX3dhc0tleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRlZCYmciYmKG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyfHx0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCkmJndpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKSwtMSE9PWEpe2xldCBlLHQ7Y29uc3QgaT10aGlzLl9nZXRSb3dSZW5kZXJlcnMoKTtmb3IoO2E8aS5sZW5ndGg7KXtjb25zdCBzPWlbYV0sbz1zLmFjY2Vzc2libGVCdXR0b25zKCk7aWYoby5sZW5ndGg+MCl7ZT1vWzBdLHQ9czticmVha31hKyt9aWYoZSYmdCl0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoZSx0KTtlbHNlIGlmKC0xIT09bCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpO2NvbnN0IHQ9KDAsYi5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGRvY3VtZW50LmJvZHkpO2U9bD09PXQubGVuZ3RoP3RbMF06dFtsXSxlJiYobiYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShuKSxlLmZvY3VzKCkpfX19X2FkZE1haW5EYXRhU291cmNlKGUsdCl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpLHRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXI9bmV3IHdlKGUsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKSx7d2l0aEFjdGlvbnM6dGhpcy5fb3B0aW9ucy53aXRoQWN0aW9ucyxjdXN0b21UZXh0Q29sb3I6dGhpcy5fb3B0aW9ucy5jdXN0b21UZXh0Q29sb3Isc3RhdHVzZXNXaWRnZXRTdGF0ZTp0LGlzTXVsdGlwbGVMYXlvdXQ6dGhpcy5fb3B0aW9ucy5pc011bHRpcGxlTGF5b3V0LHRvZ2dsZUhpZGRlbkFjdGlvbnM6dGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc30pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fYWRkRGF0YVNvdXJjZShlLHQsaSl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksbz1uZXcgU2UoZSxzLHt3aXRoQWN0aW9uczp0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zLGN1c3RvbVRleHRDb2xvcjp0aGlzLl9vcHRpb25zLmN1c3RvbVRleHRDb2xvcixzdGF0dXNlc1dpZGdldFN0YXRlOnQsaXNNdWx0aXBsZUxheW91dDp0aGlzLl9vcHRpb25zLmlzTXVsdGlwbGVMYXlvdXQsdG9nZ2xlSGlkZGVuQWN0aW9uczp0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zfSksYT0oMCxuLmVuc3VyZU5vdE51bGwpKG8uZ2V0RWxlbWVudCgpKTtpZihudWxsIT09YSl7bGV0IGU9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1tpXTt2b2lkIDAhPT1lP3MuaW5zZXJ0QmVmb3JlKGEsZS5nZXRFbGVtZW50KCkpOihlPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbaS0xXSx2b2lkIDAhPT1lJiZzLmluc2VydEJlZm9yZShhLCgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpLm5leHRTaWJsaW5nKSl9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UoaSwwLG8pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fbW92ZURhdGFTb3VyY2UoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihlKTtpZigtMT09PWl8fHQ9PT1pKXJldHVybjtjb25zdCBzPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSxvPSgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpO2xldCBhPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbdF07dm9pZCAwIT09YT9zLmluc2VydEJlZm9yZShvLGEuZ2V0RWxlbWVudCgpKTooYT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzW3QtMV0sdm9pZCAwIT09YSYmcy5pbnNlcnRCZWZvcmUobywoMCxuLmVuc3VyZU5vdE51bGwpKGEuZ2V0RWxlbWVudCgpKS5uZXh0U2libGluZykpLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGksMSksdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UodCwwLGUpfV9vbktleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRpb24oKXtCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSEwLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQudW5zdWJzY3JpYmUodGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQpLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKTtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCksdD1lLmZpbHRlcigoZT0+ZS50YWJJbmRleD49MCkpO2lmKDA9PT10Lmxlbmd0aCl7Y29uc3RbdF09ZS5maWx0ZXIoKGU9PmUuaGFzQXR0cmlidXRlKCJ0YWJJbmRleCIpKSk7aWYodm9pZCAwPT09dClyZXR1cm4KO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHQpO2lmKG51bGw9PT1pKXJldHVybjt0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUodCxpKX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLG0uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fV9oYW5kbGVLZXlEb3duKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxoLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFXZS5pbmNsdWRlcyh0KSlyZXR1cm47Y29uc3QgaT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSlyZXR1cm47Y29uc3Qgcz10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoaSk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDI3PT09dClyZXR1cm4gdm9pZCBpLmJsdXIoKTtjb25zdCBvPXMuYWNjZXNzaWJsZUJ1dHRvbnMoKSxuPW8uaW5kZXhPZihpKTtpZigwPT09by5sZW5ndGh8fC0xPT09bilyZXR1cm47Y29uc3QgYT10PT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1pLmluZGV4T2Yocyk7bGV0IG4sYSxsPSJibG9ja05leHQiPT09dD9vKzE6by0xO2Zvcig7bD49MCYmbDxpLmxlbmd0aDspe2NvbnN0IGU9aVtsXSxzPWUuYWNjZXNzaWJsZUJ1dHRvbnMoKTtpZigwIT09cy5sZW5ndGgpe249ZSxhPXM7YnJlYWt9bD0iYmxvY2tOZXh0Ij09PXQ/bCsxOmwtMX1uJiZhJiZ0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoYVswXSxuKX0sbD0oMCxiLm1hcEtleUNvZGVUb0RpcmVjdGlvbikodCk7c3dpdGNoKGwpe2Nhc2UiaW5saW5lUHJldiI6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYW5nZUZvY3VzRWxlbWVudCgwIT09bj9vW24tMV06b1tvLmxlbmd0aC0xXSxzKTticmVhaztjYXNlImlubGluZU5leHQiOmUucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQobiE9PW8ubGVuZ3RoLTE/b1tuKzFdOm9bMF0scyk7YnJlYWs7Y2FzZSJibG9ja1ByZXYiOmNhc2UiYmxvY2tOZXh0IjphKGwpfX1fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwoKCk9Pnt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsKGk9Pntjb25zdCBzPWkucmVsYXRlZFRhcmdldDtudWxsIT09cyYmcyBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50JiZ0LmFjY2Vzc2libGVCdXR0b25zKCkuaW5jbHVkZXMocyl8fCh0aGlzLl9zdWJzY3JpYmVFbGVtZW50VG9Gb2N1c0V2ZW50cyhlLHQpLHQgaW5zdGFuY2VvZiBWZXx8dC5oaWRlQWN0aW9ucygpKX0pLHtvbmNlOiEwLHNpZ25hbDp0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLnNpZ25hbH0pLHRoaXMuX29wdGlvbnMub25MZWdlbmRSb3dGb2N1c2VkKCksdCBpbnN0YW5jZW9mIFZlfHx0LnNob3dBY3Rpb25zKCl9KSx7b25jZTohMCxzaWduYWw6dGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlci5zaWduYWx9KX1fbWFrZVJvd0VsZW1lbnRUaGVNYWluT25lKGUsdCl7dGhpcy5fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KSwoMCxtLmJlY29tZU1haW5FbGVtZW50KShlKX1fY2hhbmdlRm9jdXNFbGVtZW50KGUsdCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSx0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KSxlLmZvY3VzKCl9X2dldFJvd1JlbmRlcmVycygpe2xldCBlPVtdO3JldHVybiB0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyJiZlLnB1c2godGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlciksdGhpcy5fZGF0YVNvdXJjZXNFbCYmIXRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pJiYodGhpcy5fdG9nZ2xlck9wdGlvbnMuaXNEYXRhU291cmNlc0NvbGxhcHNlZC52YWx1ZSgpJiYxIT09dGhpcy5fbW9kZSYmKGU9ZS5jb25jYXQodGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycykpLHRoaXMuX3JlbmRlclRvZ2dsZXImJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCYmZS5wdXNoKHRoaXMuX3JlbmRlclRvZ2dsZXIpKSxlfV9nZXRBbGxBY2Nlc3NpYmxlQnV0dG9ucygpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZvckVhY2goKHQ9PntlLnB1c2goLi4udC5hY2Nlc3NpYmxlQnV0dG9ucygpKX0pKSxlfV9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSl7cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZpbmQoKHQ9PnQuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhlKSkpPz9udWxsfX1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSExO3ZhciBIZT1pKDc0MTY5MCksRGU9aSgyNDE5NTYpLFBlPWkoNTUyMTQ1KSxOZT1pKDg2MjU3MiksUmU9aSg5OTQ1NDApLE9lPWkoMjg0ODMxKTtmdW5jdGlvbiBGZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy5oaWRkZW4pY29udGludWU7Y29uc3QgdD0oMCxPZS5jbGVhbikoU3RyaW5nKGVbcy5maWVsZF0/PyIiKSwhMCk7IiIhPT10JiZpLnB1c2goe3RpdGxlOnQsaWQ6cy5pZCx0b29sdGlwOnMudG9vbHRpcCxhY3Rpb246cy5hY3Rpb259KX1yZXR1cm4gaX12YXIgemU9aSgxMTczMTMpLGplPWkoMTI5MzMzKSxVZT1pKDMzMzQ1KSxHZT1pKDY3NzAxMCksWmU9aSgzMzMzMTIpLEplPWkoNTA5MDQpLFllPWkoMjUwNDM5KSxxZT1pKDMwNTY0MCksJGU9aSg0MTc2ODYpO2NsYXNzIFFle2NvbnN0cnVjdG9yKHtsaW5raW5nR3JvdXBJbmRleDplLGlzTGlua2luZ0F2YWlsYWJsZTp0LG9uQ2xpY2tIYW5kbGVyOnMsc2V0TGlua2luZ0dyb3VwSW5kZXg6b30pe3RoaXMuX2FjdGlvblZpc2libGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSwKdGhpcy5fYWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fbGlua2luZ01vZGVTdWJzY3JpcHRpb249ZT0+e2lmKG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW0uaW5uZXJIVE1MPVVlKTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO3Quc3JjPSgwLFplLmdldFR3ZW1vamlVcmwpKHFlLmljb25zW2VdLmljb24sInN2ZyIpLHQud2lkdGg9dC5oZWlnaHQ9MTgsdGhpcy5fbGVnZW5kQWN0aW9uQnV0dG9uRWxlbS5yZXBsYWNlQ2hpbGRyZW4odCl9LHRoaXMuX3NldExpbmtpbmdHcm91cEluZGV4SW1wbD1hc3luYyBlPT57dGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXgoZT09PXRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnZhbHVlKCk/bnVsbDplKSx0aGlzLl9hY3RpdmUudmFsdWUoKSYmWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKX0sdGhpcy5fc2hvd0NvbnRleHRNZW51PWFzeW5jIGU9PntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1lLmN1cnJlbnRUYXJnZXQ7aWYoISh0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtpZih0aGlzLl9vbkNsaWNrSGFuZGxlcj8uKCksdGhpcy5fYWN0aXZlLnZhbHVlKCkpcmV0dXJuIHZvaWQgWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKTtjb25zdCBpPWF3YWl0IHRoaXMuX2dldEFjdGlvbnMoKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2NvbnN0e2xlZnQ6cyxib3R0b206b309dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthd2FpdCBZZS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDpzLGNsaWVudFk6b30se3JldHVybkZvY3VzOiEwLHRha2VGb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6ISgidG91Y2hlcyJpbiBlKSYmKDAsSC5pc0tleWJvYXJkQ2xpY2spKGUpfSx7bWVudU5hbWU6IlN5bWJvbEludGVydmFsQ2hhcnRTeW5jaW5nTWVudSJ9LCgoKT0+dGhpcy5fYWN0aXZlLnNldFZhbHVlKCExKSkpLHRoaXMuX2FjdGl2ZS5zZXRWYWx1ZSghMCl9LHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PWUuc3Bhd24oKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGU9dC5zcGF3bigpLHRoaXMuX29uQ2xpY2tIYW5kbGVyPXMsdGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXg9bztjb25zdCBuPXRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO24uY2xhc3NOYW1lPSRlLmxlZ2VuZEFjdGlvbkJ1dHRvbix0aGlzLl9hY3Rpb249e2ljb246bix0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoUC50KG51bGwsdm9pZCAwLGkoNTQ2MzY5KSkpLGFjdGlvbjp0aGlzLl9zaG93Q29udGV4dE1lbnUsdmlzaWJsZTp0aGlzLl9hY3Rpb25WaXNpYmxlLnJlYWRvbmx5KCksYWN0aXZlOnRoaXMuX2FjdGl2ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5saW5raW5nLGRhdGFRYUlkOiJsZWdlbmQtbGF5b3V0LWNoYXJ0LXN5bmMtYWN0aW9uIn0sdGhpcy5fbGlua2luZ0dyb3VwSW5kZXguc3Vic2NyaWJlKHRoaXMuX2xpbmtpbmdNb2RlU3Vic2NyaXB0aW9uLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuc3Vic2NyaWJlKChlPT50aGlzLl9hY3Rpb25WaXNpYmxlLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2lzRGVzdHJveWVkPSEwLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LmRlc3Ryb3koKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZS52YWx1ZSgpJiZZZS5Db250ZXh0TWVudU1hbmFnZXIuaGlkZUFsbCgpfWdldEFjdGlvbigpe3JldHVybiB0aGlzLl9hY3Rpb259YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdFtlLHtMYXlvdXRDaGFydHNTeW5jQ29udGV4dE1lbnVUaXRsZTp0fSx7TGF5b3V0Q2hhcnRzU3luY0NvbnRleHRNZW51SXRlbTpzfV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oaS50LmJpbmQoaSw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbaS5lKDQ5Mzk0KSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDg5NTU4KSxpLmUoNDQ0NjApLGkuZSg5NDU2MCksaS5lKDM0NjU0KV0pLnRoZW4oaS5iaW5kKGksNjA5OTUxKSksUHJvbWlzZS5hbGwoW2kuZSg0OTM5NCksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSg4OTU1OCksaS5lKDQ0NDYwKSxpLmUoOTQ1NjApLGkuZSgzNDY1NCldKS50aGVuKGkuYmluZChpLDg3MDI0NikpXSk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuW107Y29uc3Qgbz1xZS5pY29ucy5tYXAoKCh7aWNvbjplfSx0KT0+bmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMuQ2hhbmdlR3JvdXAiLG9wdGlvbnM6e2xhYmVsOmUsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgudmFsdWUoKT09PXQsb25FeGVjdXRlOigpPT50aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGwodCl9fSkpKTt0aGlzLl9saW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9PntvLmZvckVhY2goKCh0LGkpPT57dC51cGRhdGUoe2NoZWNrZWQ6aT09PWV9KX0pKX0pKTtyZXR1cm5bbmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMiLG9wdGlvbnM6e2ljb246R2UsbGFiZWw6UC50KG51bGwsdm9pZCAwLGkoNDIxMjEpKSxzdWJJdGVtczpvfSxjdXN0b21BY3Rpb25PcHRpb25zOntqc3hMYWJlbDplLmNyZWF0ZUVsZW1lbnQoZS5GcmFnbWVudCxudWxsLGUuY3JlYXRlRWxlbWVudCh0LG51bGwpLGUuY3JlYXRlRWxlbWVudChzLHthY3RpdmU6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsaWNvbnM6cWUuaWNvbnMsb25DbGljazp0aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGx9KSksZG9Ob3RDbG9zZU9uQ2xpY2s6ITAsbm9JbnRlcmFjdGl2ZTohMH19KV19fXZhciBLZT1pKDQ5MDIwNCksWGU9aSg5MzMxMTYpLGV0PWkoOTg2Mjc1KSx0dD1pKDYyMDM1NCksaXQ9aSg1MTcyOTMpCjtjb25zdCBzdD1uZXcgaXQuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxMDApO2NsYXNzIG90e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc3ltYm9sTG9nb1VybHM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9sb2dvRGF0YVVwZGF0ZWQ9KCk9Pntjb25zdCBlPXRoaXMuc3ltYm9sKCksdD10aGlzLl9sb2dvRGF0YS52YWx1ZSgpO3QmJmUmJnN0LnNldChlLHQpO2NvbnN0IGk9c3QuZ2V0KGUpO2k/dGhpcy5fc3ltYm9sTG9nb1VybHMuc2V0VmFsdWUoKDAsZXQucmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvcykoKDAsZXQucmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhKShpLHR0LkxvZ29TaXplLk1lZGl1bSkpKTp0aGlzLl9zeW1ib2xMb2dvVXJscy5zZXRWYWx1ZShbXSl9LHRoaXMuX2xvZ29Nb2RlbD1lLHRoaXMuX2lzTG9nb1Zpc2libGU9KDAsRGUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnQuc2hvd0xvZ28udmFsdWUoKSksdC5zaG93TG9nbyksdGhpcy5fbG9nb0RhdGE9dGhpcy5fbG9nb01vZGVsLmxvZ29EYXRhKCkuc3Bhd24oKSx0aGlzLl9sb2dvRGF0YS5zdWJzY3JpYmUodGhpcy5fbG9nb0RhdGFVcGRhdGVkLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2dvVmlzaWJsZS5kZXN0cm95KCksdGhpcy5fbG9nb01vZGVsLmRlc3Ryb3koKX1pc1N5bWJvbExvZ29WaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzTG9nb1Zpc2libGV9c3ltYm9sTG9nb1VybHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTG9nb1VybHN9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2xvZ29Nb2RlbC5zeW1ib2woKX11cGRhdGUoKXt0aGlzLl9sb2dvTW9kZWwudXBkYXRlKCl9fWZ1bmN0aW9uIG50KGUsdCl7cmV0dXJuIG5ldyBvdChlLHQpfXZhciBhdD1pKDE4NzA2MiksbHQ9aSgyMjEwNjEpO2NvbnN0IHJ0PSgwLGx0LmdldExvZ2dlcikoIkNoYXJ0LkxlZ2VuZFdpZGdldCIpO2NsYXNzIGR0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2xvZ29EYXRhPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wcmV2U3ltYm9sPSIiLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3NvdXJjZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZCksdGhpcy51cGRhdGUoKX1kZXN0cm95KCl7dGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5zeW1ib2woKX1sb2dvRGF0YSgpe3JldHVybiB0aGlzLl9sb2dvRGF0YX11cGRhdGUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7dGhpcy5fcHJldlN5bWJvbCE9PWUmJih0aGlzLl9wcmV2U3ltYm9sPWUsdGhpcy5fb25Tb3VyY2VTeW1ib2xDaGFuZ2UoKSl9X29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZChlLHQpe2NvbnN0IGk9dC52YWx1ZXM7dGhpcy5fc291cmNlLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS52YWx1ZXMucHJvX25hbWUpJiZ2b2lkIDAhPT1pLmxvZ28mJnRoaXMuX2xvZ29EYXRhLnNldFZhbHVlKGkubG9nbyl9YXN5bmMgX29uU291cmNlU3ltYm9sQ2hhbmdlKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2xldCB0PW51bGw7dHJ5e3RoaXMuX2xvZ29EYXRhLnNldFZhbHVlKG51bGwpLHQ9YXdhaXQgdGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzU25hcHNob3QoZSl9Y2F0Y2goZSl7cnQubG9nV2FybihgUXVvdGUgc25hcHNob3QgZXJyb3I6ICR7ZX1gKX1maW5hbGx5e3RoaXMuc3ltYm9sKCk9PT1lJiYobnVsbD09PXQ/dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUobnVsbCwhMCk6dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUodC5sb2dvfHxudWxsKSl9fV9vblNvdXJjZVN5bWJvbFJlc29sdmVkKCl7MH19dmFyIHV0PWkoOTAzMDMxKSxjdD1pKDU1NjY0NiksaHQ9aSg4OTY5NDcpLHB0PWkoMTEzODEwKTtjb25zdCBfdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxndD1QLnQobnVsbCx2b2lkIDAsaSg3MDY0ODYpKSxtdD1QLnQobnVsbCx2b2lkIDAsaSgzNzUxNjUpKSxidD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksdnQ9UC50KG51bGwsdm9pZCAwLGkoNTk3NzcwKSksZnQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2lucGxhY2VfZWRpdCIpLFN0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIikseXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9yZXNvbHV0aW9uX2luX2xlZ2VuZCIpLHd0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1hcmtlZF9zeW1ib2xzIiksQ3Q9IV8uQ2hlY2tNb2JpbGUuYW55KCksRXQ9ISgwLHplLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCIpO2NsYXNzIHh0IGV4dGVuZHMgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3N1cGVyKGUsdCxpLHMsbyksdGhpcy5fc3ltYm9sTWFya2VyPW51bGwsdGhpcy5fc3ltYm9sTWFya2VySWNvbj1udWxsLHRoaXMuX2ZsYWdnZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N5bWJvbEFjdGlvbj1udWxsLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1udWxsLHRoaXMuX2lzT25lQnV0dG9uQ2FuQmVTdGljaz0hMSx0aGlzLl9sYXlvdXRDaGFydFN5bmNMZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX2lzQ2hhcnRMaW5rZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpLnNwYXduKCksQ3QmJih0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU9KDAsZC5jb21iaW5lKSgoKGUsdCxpKT0+ZSYmKHR8fGkpKSx0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5zeW1ib2wud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5pbnRlcnZhbC53ZWFrUmVmZXJlbmNlKCkpLAp0aGlzLl9pc0NoYXJ0TGlua2VkPSgwLGQuY29tYmluZSkoKChlLHQpPT50JiZudWxsIT09ZSksdGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLndlYWtSZWZlcmVuY2UoKSwodGhpcy5faXNMYXlvdXRDaGFydFN5bmNWaXNpYmxlfHxuZXcgci5XYXRjaGVkVmFsdWUoITEpKS53ZWFrUmVmZXJlbmNlKCkpKSx0aGlzLl9jcmVhdGVBY3Rpb25zKCksdGhpcy5fdXBkYXRlU3ltYm9sTWFya2VyKCk7Y29uc3Qgbj10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3RoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwuc2V0VmFsdWUobnQobmV3IGR0KHQpLG4pKSxuLnNob3dTZXJpZXNUaXRsZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbj0oMCxEZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+IW4uc2hvd1ByaWNlU291cmNlLnZhbHVlKCkpLG4uc2hvd1ByaWNlU291cmNlKSx0aGlzLl92YWx1ZXNWaXNpYmxlUHJvcGVydHk9KDAsSGUuY29tYmluZVByb3BlcnR5KSgoKGUsdCxpLHMpPT5gJHtlfToke3R9OiR7aX06JHtzfWApLG4uc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpLG4uc2hvd0JhckNoYW5nZS53ZWFrUmVmZXJlbmNlKCksbi5zaG93Vm9sdW1lLndlYWtSZWZlcmVuY2UoKSxuLnNob3dMYXN0RGF5Q2hhbmdlLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fdmFsdWVzVmlzaWJsZVByb3BlcnR5LnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMudXBkYXRlKCksdGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSksdGhpcy51cGRhdGUoKSx0aGlzLl9zb3VyY2Uuc3RhdHVzV1YoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cyl9ZGVzdHJveSgpe0N0JiYodGhpcy5fbGF5b3V0Q2hhcnRTeW5jTGVnZW5kUmVuZGVyZXI/LmRlc3Ryb3koKSx0aGlzLl9pc0NoYXJ0TGlua2VkLmRlc3Ryb3koKSx0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU/LmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpLHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1Nlcmllc1RpdGxlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3NvdXJjZS5zdGF0dXNXVigpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0dXMpLHRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS5kZXN0cm95KCksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi5kZXN0cm95KCksdGhpcy5fc3ltYm9sTWFya2VyPy5kZXN0cm95KCl9ZmxhZ2dlZCgpe3JldHVybiB0aGlzLl9mbGFnZ2VkfWxpbmtlZCgpe3JldHVybiB0aGlzLl9pc0NoYXJ0TGlua2VkfWFzeW5jIG9uU2hvd1NldHRpbmdzKGUsdCl7dGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpJiZhd2FpdCB0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoYXQuVGFiTmFtZXMuc3ltYm9sKX1pc09uZUJ1dHRvbkNhbkJlU3RpY2soKXtyZXR1cm4gdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrfV91cGRhdGVUaXRsZXMoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLnN0YXR1c1ZpZXcoKSkuZ2V0U3BsaXRUaXRsZSgpLHQ9dGhpcy5fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKSxpPXRoaXMuX2dldENoYW5nZVJlc29sdXRpb25DYWxsYmFjaygpLHM9dD97Zm46dCxhY3Rpb25BbGxvd2VkT25Ub3VjaDpFdH06dm9pZCAwLG89W3tmaWVsZDoidGl0bGUiLGlkOjAsdG9vbHRpcDp0P2J0OnZvaWQgMCxhY3Rpb246c30se2ZpZWxkOiJkZXNjcmlwdGlvbiIsaWQ6MSx0b29sdGlwOnQ/YnQ6dm9pZCAwLGFjdGlvbjpzfSx7ZmllbGQ6ImludGVydmFsIixpZDoyLHRvb2x0aXA6aT92dDp2b2lkIDAsYWN0aW9uOmk/e2ZuOmksYWN0aW9uQWxsb3dlZE9uVG91Y2g6ITF9OnZvaWQgMCxoaWRkZW46eXR9LHtmaWVsZDoicHJvdmlkZXIiLGlkOjN9LHtmaWVsZDoibGlzdGVkRXhjaGFuZ2UiLGlkOjR9LHtmaWVsZDoiY2hhcnRTdHlsZSIsaWQ6NX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6NixoaWRkZW46dGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi52YWx1ZSgpfV07dGhpcy5fdGl0bGVzLnNldFZhbHVlKEZlKGUsbykpfV91cGRhdGVWYWx1ZXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5sZWdlbmRWaWV3KCksdD10aGlzLl92YWx1ZXMudmFsdWUoKSxpPWUubWFya2V0VGl0bGUoKSxzPWUubWFya2V0VGl0bGUoKS5sZW5ndGg+MCxvPWUuaXRlbXMoKTtpZigwPT09dC5sZW5ndGh8fHQubGVuZ3RoIT09by5sZW5ndGgrMSl7Y29uc3QgZT17dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSxjb2xvcjpuZXcgci5XYXRjaGVkVmFsdWUoIiIpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHMpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoITEpfSx0PW8ubWFwKChlPT4oe3ZhbHVlOm5ldyByLldhdGNoZWRWYWx1ZShlLnZhbHVlKCkpLGNvbG9yOm5ldyByLldhdGNoZWRWYWx1ZShVKGUuY29sb3IoKSkpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmlzaWJsZSgpKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS50aXRsZSgpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoZS51bmltcG9ydGFudCgpKX0pKSk7dGhpcy5fdmFsdWVzLnNldFZhbHVlKFtlXS5jb25jYXQodCkpfWVsc2V7dFswXS50aXRsZS5zZXRWYWx1ZShpKSx0WzBdLnZpc2libGUuc2V0VmFsdWUocyk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IGk9b1tlXTt0W2UrMV0udmFsdWUuc2V0VmFsdWUoaS52YWx1ZSgpKSx0W2UrMV0uY29sb3Iuc2V0VmFsdWUoVShpLmNvbG9yKCkpKSwKdFtlKzFdLnZpc2libGUuc2V0VmFsdWUoaS52aXNpYmxlKCkpLHRbZSsxXS50aXRsZS5zZXRWYWx1ZShpLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX1fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hMX1fZ2V0VGl0bGVIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpfV9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9oYXNWYWx1ZXMoKXx8IXRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS52YWx1ZSgpLnNwbGl0KCI6Iikuc29tZSgoZT0+InRydWUiPT09ZSkpfV9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpe2lmKGZ0JiYhKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVN5bWJvbENhbGxiYWNrfHw9YXN5bmMgZT0+e2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2woKSxzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnNob3J0TmFtZS52YWx1ZSgpLG89Im9wdGlvbiI9PT10LnN5bWJvbEluZm8oKT8udHlwZSxuPXQuc3ltYm9sSW5mbygpPy5wcm9fbmFtZTtsZXQgYT10LmlzU3ByZWFkKCk/aTpzfHxpfHwiIjtpZigoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZvJiZuKXtjb25zdCBlPWF3YWl0KDAsS2UucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKG4pO2UmJihhPXt0eXBlOiJvcHRpb24iLHZhbHVlOm4sdW5kZXJseWluZzplfSl9KDAsUmUuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLG9uQ2xvc2U6ZSxzZWFyY2hUeXBlOiJjaGFydF9zdGF0dXNfbGluZSIsdHJhY2tSZXN1bHRzT3B0aW9uczp7dHJhY2tSZXN1bHRzOiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSxlbXB0eVNlYXJjaFR5cGU6ImVtcHR5X3Jlc3VsdF9fc3VwZXJjaGFydHMifX0pfX1fZ2V0Q2hhbmdlUmVzb2x1dGlvbkNhbGxiYWNrKCl7aWYoZnQmJiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNhYmxlX2xlZ2VuZF9pbnBsYWNlX3Jlc29sdXRpb25fY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVJlc29sdXRpb25DYWxsYmFja3x8PWU9PnsoMCxOZS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCksc2VsZWN0T25Jbml0OiEwLG9uQ2xvc2U6ZX0pfX1fY3JlYXRlQWN0aW9ucygpe2lmKHd0JiZ0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLm1hcmtlckNvbnRhaW5lciksdGhpcy5fc3ltYm9sTWFya2VySWNvbj1lLHRoaXMuX3N5bWJvbEFjdGlvbj17aWNvbjplLGFjdGlvbjp0aGlzLl9zeW1ib2xBY3Rpb25IYW5kbGVyLmJpbmQodGhpcyksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoITApLGNsYXNzTmFtZTpjZS5mbGFnLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRNYXJrZXJUaXRsZSgpKSxkYXRhUWFJZDoibGVnZW5kLWZsYWctYWN0aW9uIn0sdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3N5bWJvbEFjdGlvbil9aWYoQ3QmJnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSYmKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyPW5ldyBRZSh7bGlua2luZ0dyb3VwSW5kZXg6dGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLnJlYWRvbmx5KCksc2V0TGlua2luZ0dyb3VwSW5kZXg6ZT0+dGhpcy5fbW9kZWwuc2V0TGlua2luZ0dyb3VwSW5kZXgoZSksaXNMaW5raW5nQXZhaWxhYmxlOnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSxvbkNsaWNrSGFuZGxlcjooKT0+dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpfSksdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyLmdldEFjdGlvbigpKSksU3Qpe2NvbnN0IGU9KDAsUGUuY29udmVydFByb3BlcnR5VG9XYXRjaGVkVmFsdWUpKCgwLEhlLmNvbWJpbmVQcm9wZXJ0eSkoKGU9PiFlKSx0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUud2Vha1JlZmVyZW5jZSgpKSksdD17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSh0aGlzLm9uVG9nZ2xlRGlzYWJsZWQuYmluZCh0aGlzKSksdmlzaWJsZTplLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKCEwKSxhY3RpdmU6ZS5yZWFkb25seSgpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShfdCksZGF0YVFhSWQ6ImxlZ2VuZC1tb3JlLWFjdGlvbiJ9KX19X2dldE1hcmtlclRpdGxlKCl7CnJldHVybiBudWxsIT09dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpP210Omd0OiIifV9zeW1ib2xBY3Rpb25IYW5kbGVyKGUpeygwLEkucHJldmVudERlZmF1bHQpKGUpLG51bGwhPT10aGlzLl9zeW1ib2xNYXJrZXImJih0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCYmdGhpcy5fc3ltYm9sTWFya2VyLnRvZ2dsZShlKSxPKCJDaGFuZ2UgZmxhZyBzdGF0ZSIpKX1fdXBkYXRlU3ltYm9sTWFya2VyKCl7aWYod3QmJnRoaXMuX29wdGlvbnMuc3ltYm9sTWFya2VyRW5hYmxlZCl7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEFjdGlvbiksdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbE1hcmtlckljb24pLGk9dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5wcm9fbmFtZT8/dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCk7dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbEZvck1hcmtlciE9PWkmJih0aGlzLl9zeW1ib2xNYXJrZXIuYmluZFRvKGksdCksdGhpcy5fc3ltYm9sRm9yTWFya2VyPWkpOih0aGlzLl9zeW1ib2xNYXJrZXI9KDAsamUuY3JlYXRlU3ltYm9sTWFya2VyU3RhbmRhbG9uZSkoe3N5bWJvbDppLGNvbnRhaW5lcjp0LHNwZWNpYWxJbWFnZTpYZSxjbGFzc05hbWU6Y2UuZmxhZ1dyYXBwZXIsb25NYXJrZWRDaGFuZ2VkOigpPT50aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX0pLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1pKSx0aGlzLl9mbGFnZ2VkLnNldFZhbHVlKHRoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpKTsoMCxuLmVuc3VyZURlZmluZWQpKGUudGl0bGUpLnNldFZhbHVlKHRoaXMuX2dldE1hcmtlclRpdGxlKCkpfWVsc2UgdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrPSEwfX12YXIgTHQ9aSg5NTY0MzcpLE10PWkoMjkxMTI5KSxUdD1pKDk0NzE2KSxWdD1pKDQ2MDU0NCksa3Q9aSg1NDA1ODgpO3ZhciBBdD1pKDYxNDM4MCksV3Q9aSgyMzczNjkpLEl0PWkoNTc3OTk2KSxCdD1pKDIzNDk2NCksSHQ9aSg3NDI0MTUpLER0PWkoNjk4NTkwKSxQdD1pKDE0NTA5MCksTnQ9aSg4NTI2NzMpLFJ0PWkoNTYzODg2KSxPdD1pKDcyMDUyNSk7Y29uc3QgRnQ9KDAsbHQuZ2V0TG9nZ2VyKSgiQ2hhcnQuTGVnZW5kV2lkZ2V0IiksenQ9UC50KG51bGwsdm9pZCAwLGkoNzMwNTg2KSksanQ9UC50KG51bGwsdm9pZCAwLGkoNzkzNDAyKSksVXQ9UC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxHdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxadD1QLnQobnVsbCx2b2lkIDAsaSgyODgyNDQpKSxKdD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksWXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiKSxxdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIpLCR0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIiksUXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9ybWF0X2J1dHRvbl9pbl9sZWdlbmQiKSxLdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIpLFh0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxlZ2VuZF9pbnBsYWNlX2VkaXQiKSxlaT0hKDAsemUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uYXRpdmVfc3ltYm9sX3NlYXJjaF9vbl90YXBfaW5fbGVnZW5kIik7Y2xhc3MgdGkgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKGUsdCxpLHMsbyl7c3VwZXIoZSx0LGkscyxvKSx0aGlzLl9lcnJvcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGVJbm5lcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fcGluZUFjdGlvbj1udWxsLHRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlPW51bGwsdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eT1uZXcgci5XYXRjaGVkVmFsdWUoITApLHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKTtjb25zdCBuPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksYT1bbi5zaG93U2VyaWVzVGl0bGUsbi5zaG93U3R1ZHlUaXRsZXNdO2Zvcihjb25zdCBlIG9mIGEpZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSk7Y29uc3QgbD1bbi5zaG93U2VyaWVzT0hMQyxuLnNob3dCYXJDaGFuZ2Usbi5zaG93U3R1ZHlWYWx1ZXMsbi5zaG93TGFzdERheUNoYW5nZSxuLnNob3dTZXJpZXNMZWdlbmRDbG9zZU9uTW9iaWxlXTtmb3IoY29uc3QgZSBvZiBsKWUuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSk7dGhpcy51cGRhdGUoKSx5ZS5zdWJzY3JpYmUoSXQuVFZfU0NSSVBUX0RFTEVURUQsdGhpcy51cGRhdGUsdGhpcyksdGhpcy5fdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl9ZGVzdHJveSgpe3N1cGVyLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7ZS5zaG93U2VyaWVzVGl0bGUudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlUaXRsZXMudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNob3dCYXJDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyksCmUuc2hvd0xhc3REYXlDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzTGVnZW5kQ2xvc2VPbk1vYmlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx5ZS51bnN1YnNjcmliZShJdC5UVl9TQ1JJUFRfREVMRVRFRCx0aGlzLnVwZGF0ZSx0aGlzKX1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvci5yZWFkb25seSgpfWlzQWJsZVNob3dTb3VyY2VDb2RlKCl7cmV0dXJuIHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlfW9uUmVtb3ZlU291cmNlKCl7aWYodGhpcy5fc291cmNlLmlzVXNlckRlbGV0YWJsZSgpKXtpZigoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiZ0aGlzLl9zb3VyY2UuaGFzQ2hpbGRyZW4oKSl7Y29uc3QgZT10aGlzLl9zb3VyY2UuZ2V0QWxsQ2hpbGRyZW4oKS5tYXAoKGU9PmUubmFtZSghMCkpKTsoMCxNdC5zaG93RGVsZXRlU3R1ZHlUcmVlQ29uZmlybSkoZSx0aGlzLl9tb2RlbC5yZW1vdmVTb3VyY2UuYmluZCh0aGlzLl9tb2RlbCx0aGlzLl9zb3VyY2UsITEpKX1lbHNlIHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UsITEpO08oIlJlbW92ZSBzb3VyY2VzIil9fWFzeW5jIG9uU2hvd1NvdXJjZUNvZGUoKXt7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXRyeXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0Py5pc0FibGVTaG93U291cmNlQ29kZSgpLnZhbHVlKCkmJih0LnNob3dQaW5lU291cmNlQ29kZSgpLE8oIk9wZW4gc291cmNlIGNvZGUgZm9yIHBpbmUgc2NyaXB0cyIpKX1jYXRjaChlKXtGdC5sb2dFcnJvcihgJHtlfWApLCgwLEJ0LnNob3dXYXJuaW5nKSh7dGl0bGU6UC50KG51bGwsdm9pZCAwLGkoNDg3MjAwKSksdGV4dDpQLnQobnVsbCx2b2lkIDAsaSg2NDUyNjMpKSxidXR0b25UZXh0OlAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpfSl9fX1zZXRHbG9iYWxWaXNpYmlsaXR5KGUpe3RoaXMuX2dsb2JhbFZpc2liaWxpdHkuc2V0VmFsdWUoZSl9Z2xvYmFsVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9nbG9iYWxWaXNpYmlsaXR5LnJlYWRvbmx5KCl9Z2V0RnVsbFRpdGxlKCl7cmV0dXJuIHRoaXMuX3RpdGxlcy52YWx1ZSgpLm1hcCgoZT0+aihlKT9lLml0ZW1zLm1hcCgoZT0+ZS50aXRsZSkpLmpvaW4oIiAiKTplLnRpdGxlKSkuam9pbigiICIpfWdldFNvdXJjZSgpe3JldHVybiB0aGlzLl9zb3VyY2V9X3VwZGF0ZVRpdGxlcygpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zb3VyY2Uuc3RhdHVzVmlldygpKSx0PWUuZ2V0U3BsaXRUaXRsZSgpLGk9W10scz10aGlzLl9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpO2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9KDAsT2UuY2xlYW4pKHRbMF0sITApOyIiIT09cyYmaS5wdXNoKHt0aXRsZTpzLGlkOjcsdG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpfSl9ZWxzZSBpLnB1c2goLi4uZnVuY3Rpb24oZSx0KXtjb25zdHtjaGFuZ2VTeW1ib2xDYWxsYmFjazppLGNoYW5nZVN5bWJvbFRvb2x0aXA6cyx0aXRsZVRvb2x0aXA6byxpc05hdGl2ZVN5bWJvbFNlYXJjaE9uTW9iaWxlRW5hYmxlZDpufT10O3JldHVybiBGZShlLFt7ZmllbGQ6InRpdGxlIixpZDppPzg6Nyx0b29sdGlwOmk/czpvLGFjdGlvbjppP3tmbjppLGFjdGlvbkFsbG93ZWRPblRvdWNoOm59OnZvaWQgMH0se2ZpZWxkOiJsaXN0ZWRFeGNoYW5nZSIsaWQ6OX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6OX1dKX0odCx7Y2hhbmdlU3ltYm9sQ2FsbGJhY2s6cyxjaGFuZ2VTeW1ib2xUb29sdGlwOkp0LHRpdGxlVG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpLGlzTmF0aXZlU3ltYm9sU2VhcmNoT25Nb2JpbGVFbmFibGVkOmVpfSkpO2NvbnN0IG89W107KGUuZ2V0SW5wdXRzVGl0bGVzKCk/P1tdKS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxPZS5jbGVhbikoZS52YWx1ZSwhMCk7IiIhPT10JiZvLnB1c2goe3RpdGxlOnQsdG9vbHRpcDplLnRpdGxlLGlkOjEwfSl9KSksMCE9PW8ubGVuZ3RoJiZpLnB1c2goe2lkOjEwLGl0ZW1zOm99KSx0aGlzLl90aXRsZXMuc2V0VmFsdWUoaSl9X3VwZGF0ZVZhbHVlcygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmxlZ2VuZFZpZXcoKTtpZihudWxsPT09ZSlyZXR1cm47aWYoMD09PWUuaXRlbXMoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7aWYoMD09PXQubGVuZ3RoKXtjb25zdCB0PWUuaXRlbXMoKS5tYXAoKGU9Pih7dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmFsdWUoKSksY29sb3I6bmV3IHIuV2F0Y2hlZFZhbHVlKFUoZS5jb2xvcigpKSksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS52aXNpYmxlKCkpLHVuaW1wb3J0YW50Om5ldyByLldhdGNoZWRWYWx1ZShlLnVuaW1wb3J0YW50KCkpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShlLnRpdGxlKCkpfSkpKTt0aGlzLl92YWx1ZXMuc2V0VmFsdWUodCl9ZWxzZXtjb25zdCBpPWUuaXRlbXMoKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl7Y29uc3Qgcz10W2VdLG89aVtlXTtzLnZhbHVlLnNldFZhbHVlKG8udmFsdWUoKSkscy5jb2xvci5zZXRWYWx1ZShVKG8uY29sb3IoKSkpLHMudmlzaWJsZS5zZXRWYWx1ZShvLnZpc2libGUoKSkscy50aXRsZS5zZXRWYWx1ZShvLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx2b2lkIDAhPT10aGlzLl9lcnJvciYmdGhpcy5fZXJyb3Iuc2V0VmFsdWUoQm9vbGVhbih0aGlzLl9zb3VyY2UuaXNGYWlsZWQoKSkpfV9nZXRUaXRsZUhpZGRlblZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpOiFlLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpfQpfZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hKCEoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiYhKDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiYhdGhpcy5fc291cmNlLmlzQWN0dWFsSW50ZXJ2YWwoKX1fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKXtpZighdGhpcy5faGFzVmFsdWVzKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNPSExDLnZhbHVlKCkmJiFlLnNob3dCYXJDaGFuZ2UudmFsdWUoKSYmIWUuc2hvd0xhc3REYXlDaGFuZ2UudmFsdWUoKTohZS5zaG93U3R1ZHlWYWx1ZXMudmFsdWUoKX1faXNTeW1ib2xMaWtlU3R1ZHkoKXtyZXR1cm4oMCxMdC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSkodGhpcy5fc291cmNlKX1fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihYdCYmKDAsa3QuaXNTeW1ib2xTb3VyY2VXaXRoUXVvdGVzUHJvdmlkZXIpKGUpKXJldHVybiB0aGlzLl9jaGFuZ2VTeW1ib2xDYWxsYmFja3x8PWFzeW5jIHQ9Pntjb25zdCBpPWUuc3ltYm9sKCkscz1lLnN5bWJvbEluZm8oKSxvPSgwLHJlLnNhZmVTaG9ydE5hbWUpKGkpLG49InNwcmVhZCI9PT1zPy50eXBlLGE9Im9wdGlvbiI9PT1zPy50eXBlLHI9cz8ucHJvX25hbWU7bGV0IGQ9bj9pOm98fGl8fCIiO2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJmEmJnIpe2NvbnN0IGU9YXdhaXQoMCxLZS5yZXNvbHZlVW5kZXJseWluZ1N5bWJvbCkocik7ZSYmKGQ9e3R5cGU6Im9wdGlvbiIsdmFsdWU6cix1bmRlcmx5aW5nOmV9KX10cnl7YXdhaXQobmV3IEF0LlN5bWJvbFNlYXJjaFVJKS5zaG93KHtzZXRTeW1ib2w6dD0+e3RoaXMuX21vZGVsLnNldFN5bWJvbChlLHQuc3ltYm9sKX0sZGlhbG9nVGl0bGU6SnQsZGVmYXVsdFZhbHVlOmQsZW5hYmxlT3B0aW9uc0NoYWluOigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2hvd1NwcmVhZEFjdGlvbnM6KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19zcHJlYWRfb3BlcmF0b3JzIikmJigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0dWRpZXNfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIiksb25DbG9zZTp0LHNlYXJjaFR5cGU6ImNoYXJ0X3N0YXR1c19saW5lIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9fSl9Y2F0Y2goZSl7RnQubG9nRXJyb3IoYEFub3RoZXIgU3ltYm9sU2VhcmNoVUkgaXMgYWxyZWFkeSBvcGVuZWQgb3IgQ3VzdG9tVUkgcmVqZWN0ZWQgc3ltYm9sIHNlbGVjdGlvbiAkeygwLFd0LmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fX1hc3luYyBfdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl7aWYoWXQmJnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGUmJiF0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyPXQ/LmlzQWJsZVNob3dTb3VyY2VDb2RlKCkuc3Bhd24oKT8/bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5zcGF3bigpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlSW5uZXIuc3Vic2NyaWJlKChlPT57dGhpcy5fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSl9fX1fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl7bnVsbCE9PXRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlJiYodGhpcy5fcGluZUFjdGlvblZpc2libGUuc2V0VmFsdWUoZSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSkpfV9jcmVhdGVBY3Rpb25zKCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKXtpZih0aGlzLl9waW5lQWN0aW9uVmlzaWJsZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BpbmVBY3Rpb249e2ljb246bmV3IE1hcChbWyJsYXJnZSIsTnRdLFsic21hbGwiLFB0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblNob3dTb3VyY2VDb2RlLmJpbmQodGhpcykpLGRpc2FibGVBY2Nlc3NpYmlsaXR5OiEwLHZpc2libGU6dGhpcy5fcGluZUFjdGlvblZpc2libGUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoanQpLGRhdGFRYUlkOiJsZWdlbmQtcGluZS1hY3Rpb24ifSxxdCl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUoIXRoaXMuX2dldERpc2FibGVkT25JbnRlcnZhbFN0YXRlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsY3RdLFsic21hbGwiLHV0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblRvZ2dsZURpc2FibGVkLmJpbmQodGhpcykpLHZpc2libGU6ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSk7e2NvbnN0IHQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSxpPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSxzPXsKaWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKGF0LlRhYk5hbWVzLnZpc2liaWxpdHksKCgpPT50LnNldFZhbHVlKCExKSkpfSkpLGFjdGl2ZTp0LnJlYWRvbmx5KCksdmlzaWJsZTppLnJlYWRvbmx5KCksY2xhc3NOYW1lOmNlLmludGVydmFsRXllLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShadCksZGF0YVFhSWQ6ImxlZ2VuZC1pbnRlcnZhbC1zaG93LWhpZGUtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKHMpLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5zdWJzY3JpYmUoKHQ9PntpLnNldFZhbHVlKHQpLGUuc2V0VmFsdWUoIXQpfSkpfX1pZigkdCYmUXQmJighKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8bmV3IFR0Lk1ldGFJbmZvSGVscGVyKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpKS5oYXNVc2VyRWRpdGFibGVPcHRpb25zKFZ0LmlzQ3VzdG9tU3R1ZHkpKSl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0SXNFZGl0YWJsZSgpKSx0PW5ldyByLldhdGNoZWRWYWx1ZSghMSksaT17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixEdF0sWyJzbWFsbCIsSHRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKHZvaWQgMCwoKCk9PnQuc2V0VmFsdWUoITEpKSl9KSksdmlzaWJsZTplLnJlYWRvbmx5KCksYWN0aXZlOnQucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoenQpLGRhdGFRYUlkOiJsZWdlbmQtc2V0dGluZ3MtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKGkpLHRoaXMuX2lzRWRpdGFibGUuc3Vic2NyaWJlKCh0PT57ZS5zZXRWYWx1ZSh0KX0pKX1pZigoKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8KDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiZZdCYmdGhpcy5fb3B0aW9ucy5jYW5TaG93U291cmNlQ29kZSYmdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3BpbmVBY3Rpb24pLEt0KXtjb25zdCBlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsT3RdLFsic21hbGwiLFJ0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblJlbW92ZVNvdXJjZS5iaW5kKHRoaXMpKSx2aXNpYmxlOmUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoVXQpLGRhdGFRYUlkOiJsZWdlbmQtZGVsZXRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9pc0VkaXRhYmxlLnN1YnNjcmliZSgodD0+e2Uuc2V0VmFsdWUodCl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6dGhpcy5faXNFZGl0YWJsZS5zcGF3bigpLGFjdGl2ZTplLnJlYWRvbmx5KCksdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKEd0KSxkYXRhUWFJZDoibGVnZW5kLW1vcmUtYWN0aW9uIn0pfX19X3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpe2lmKHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwudmFsdWUoKT8uZGVzdHJveSgpLCgwLGt0LmlzU3ltYm9sU291cmNlV2l0aFF1b3Rlc1Byb3ZpZGVyKSh0aGlzLl9zb3VyY2UpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksdD1udChuZXcgZHQodGhpcy5fc291cmNlKSxlKTt0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsLnNldFZhbHVlKHQpfWVsc2UgdGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC5zZXRWYWx1ZShudWxsKX19dmFyIGlpPWkoMTI4OTk4KSxzaT1pKDIxNDc3MSksb2k9aSg3NjI4NTEpLG5pPWkoMTY4NzcxKSxhaT1pKDQ3NzE1NSk7ZnVuY3Rpb24gbGkoZSx0LGkpe2Uuc2V0UHJvcGVydHkodCwhdC52YWx1ZSgpLGkpfWNvbnN0IHJpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgZGVzY3JpcHRpb24gdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTU1NjY2KSkpLGRpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBvcGVuIG1hcmtldCBzdGF0dXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMTc2MjQ5KSkpLHVpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjaGFydCB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTY4NzMwKSkpLGNpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBsYXN0IGRheSBjaGFuZ2UgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1NjgyKSkpLGhpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBiYXIgY2hhbmdlIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDM2Nzg2MCkpKSxwaT1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9yIHRpdGxlcyB2aXNpYmlsaXR5IixQLnQobnVsbCx2b2lkIDAsaSgzMjA0MjYpKSksX2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1MzMpKSksZ2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMjE1MDI3KSkpLG1pPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB2b2x1bWUgdmFsdWVzIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDUyMTY0KSkpLGJpPShuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugc3ltYm9sIGZpZWxkIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDY2ODE5MikpKSwKUC50KG51bGwsdm9pZCAwLGkoNjg3NjEpKSksdmk9UC50KG51bGwsdm9pZCAwLGkoMTY1MzQwKSksZmk9UC50KG51bGwsdm9pZCAwLGkoMjg4NTgwKSksU2k9UC50KG51bGwsdm9pZCAwLGkoNTI3MDIwKSkseWk9UC50KG51bGwsdm9pZCAwLGkoODk5NzkpKSx3aT1QLnQobnVsbCx2b2lkIDAsaSgyNDcwNjIpKSxDaT1QLnQobnVsbCx2b2lkIDAsaSg0NDMxOTIpKSxFaT1QLnQobnVsbCx2b2lkIDAsaSgyMDQ0ODgpKSx4aT1QLnQobnVsbCx2b2lkIDAsaSg5NzM5NzEpKSxMaT0oUC50KG51bGwsdm9pZCAwLGkoMjg4NzI1KSksKDAsb2kuYXBwZW5kRWxsaXBzaXMpKFAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSksTWk9KGUsdCk9PmU/ZS5kYXRhc2V0W3RdP2UuZGF0YXNldFt0XTplLnBhcmVudEVsZW1lbnQ/TWkoZS5wYXJlbnRFbGVtZW50LHQpOm51bGw6bnVsbDt2YXIgVGksVmk9aSg3OTQ5NSksa2k9aSg0NDE0NDApLEFpPWkoNjA0Mzg0KTshZnVuY3Rpb24oZSl7ZVtlLkxlZ2VuZD0wXT0iTGVnZW5kIixlW2UuSXRlbXM9MV09Ikl0ZW1zIn0oVGl8fChUaT17fSkpO3ZhciBXaT1pKDk3MDYzNSksSWk9aSg3ODM5NzgpLEJpPWkoNjQyNzgzKSxIaT1pKDM1MTE4MiksRGk9aSg4NjA1NDgpO2NvbnN0IFBpPVAudChudWxsLHZvaWQgMCxpKDkxOTEyMSkpLE5pPVAudChudWxsLHZvaWQgMCxpKDM2Mjk2KSksUmk9UC50KG51bGwsdm9pZCAwLGkoODc5NjYxKSksT2k9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLEJpXSxbIm1lZGl1bSIsSGldLFsibGFyZ2UiLEhpXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksRmk9bmV3IE1hcChbWyEwLERpLmhhc0Vycm9yXSxbITEsbnVsbF1dKSx6aT1uZXcgTWFwKFtbITAsUGldLFshMSxudWxsXV0pLGppPW5ldyBNYXAoW1shMCxQaV0sWyExLG51bGxdXSksVWk9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFshMSxudWxsXV0pLEdpPW5ldyBNYXAoW1shMCxbTmldXSxbITEsbnVsbF1dKSxaaT1uZXcgTWFwKFtbITAsW1JpXV0sWyExLG51bGxdXSk7ZnVuY3Rpb24gSmkoZSl7c3dpdGNoKGUpe2Nhc2UgMDpyZXR1cm4gR2k7Y2FzZSAxOnJldHVybiBaaTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBDb21iaW5lZFN0YXR1c1dpZGdldFR5cGUiKX19dmFyIFlpPWkoOTg5ODcyKSxxaT1pKDkxMzg0Myk7Y29uc3QgJGk9UC50KG51bGwsdm9pZCAwLGkoMjQzNTQxKSksUWk9UC50KG51bGwsdm9pZCAwLGkoNzk1MzMwKSksS2k9UC50KG51bGwsdm9pZCAwLGkoMzYxMDUpKSxYaT1uZXcgTWFwKFtbITAsbmV3IE1hcChbWyJzbWFsbCIsWWldLFsibWVkaXVtIixxaV0sWyJsYXJnZSIscWldXSldLFshMSxuZXcgTWFwKFtbInNtYWxsIiwiIl0sWyJtZWRpdW0iLCIiXSxbImxhcmdlIiwiIl1dKV1dKSxlcz1uZXcgTWFwKFtbITAsRGkudXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSx0cz1uZXcgTWFwKFtbITAsJGldLFshMSxudWxsXV0pLGlzPW5ldyBNYXAoW1shMCwkaV0sWyExLG51bGxdXSksc3M9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKSxvcz1uZXcgTWFwKFtbITAsW1FpXV0sWyExLG51bGxdXSksbnM9bmV3IE1hcChbWyEwLFtLaV1dLFshMSxudWxsXV0pO2Z1bmN0aW9uIGFzKGUpe3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuIG9zO2Nhc2UgMTpyZXR1cm4gbnM7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gQ29tYmluZWRTdGF0dXNXaWRnZXRUeXBlIil9fWNsYXNzIGxzIGV4dGVuZHMgSWkuU3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2V7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz1udWxsLHRoaXMuX2hhc1VwZGF0ZVN0YXR1cz1udWxsLHRoaXMuX2hhc0Vycm9yVmlld01vZGVsPW51bGwsdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eT0oKT0+e2NvbnN0IGU9MD09PXRoaXMudmlzaWJsZU1vZGVscygpLnZhbHVlKCkubGVuZ3RoO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoIWUpfSx0aGlzLl90eXBlPWV9ZGVzdHJveSgpe3RoaXMuX2hhc0Vycm9yVmlld01vZGVsPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfWFkZFN0YXR1c1dpZGdldChlKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cy5wdXNoKGUpLHRoaXMuX3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKSx0aGlzLl9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCl9Y2xlYXIoKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpLHRoaXMuX2hhc0Vycm9yU3RhdHVzPW51bGwsdGhpcy5faGFzVXBkYXRlU3RhdHVzPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlU3RhdHVzPW51bGwsdGhpcy5fY2xlYXJTdGF0dXNWaWV3TW9kZWxzKCksdGhpcy5faGFzRXJyb3JWaWV3TW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1udWxsLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD1udWxsLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnNldFZhbHVlKFtdKX1hc3luYyBfY3JlYXRlU3RhdHVzZXNXaWRnZXRTdGF0ZXMoKXtjb25zdCBlPXRoaXMuX2hhc0Vycm9yU3RhdHVzO251bGwhPT1lJiYobnVsbD09PXRoaXMuX2hhc0Vycm9yVmlld01vZGVsPyh0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1uZXcgV2kuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHtjbGFzc05hbWVNYXA6RmksaHRtbE1hcDpKaSh0aGlzLl90eXBlKSxpY29uTWFwOk9pLHNpemU6dGhpcy5fc2l6ZSx0aXRsZUNvbG9yTWFwOlVpLHRpdGxlTWFwOmppLHRvb2x0aXBNYXA6eml9KSwKdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsfSkpOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnVwZGF0ZVN0YXR1cyhlKSk7Y29uc3QgdD10aGlzLl9oYXNVcGRhdGVTdGF0dXM7bnVsbCE9PXQmJihudWxsPT09dGhpcy5faGFzVXBkYXRlVmlld01vZGVsPyh0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWw9bmV3IFdpLkJvb2xlYW5TdGF0dXNWaWV3TW9kZWwodCx7Y2xhc3NOYW1lTWFwOmVzLGh0bWxNYXA6YXModGhpcy5fdHlwZSksaWNvbk1hcDpYaSxzaXplOnRoaXMuX3NpemUsdGl0bGVDb2xvck1hcDpzcyx0aXRsZU1hcDppcyx0b29sdGlwTWFwOnRzfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDp0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWx9KSk6dGhpcy5faGFzVXBkYXRlVmlld01vZGVsLnVwZGF0ZVN0YXR1cyh0KSl9X3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKXt0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzRXJyb3JTdGF0dXM9KDAsZC5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKChlPT5lKSkpLGUub3duZXJzaGlwKCkpfV9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpe3RoaXMuX2hhc1VwZGF0ZVN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFVcGRhdGVkTW9kZVNob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzVXBkYXRlU3RhdHVzPSgwLGQuYWNjdW11bGF0ZSkoKGU9PmUuc29tZSgoZT0+ZSkpKSxlLm93bmVyc2hpcCgpKX19dmFyIHJzPWkoOTMwNTY2KSxkcz1pKDY2NTE4NyksdXM9aSgyODI3MTApO2NvbnN0IGNzPXtyZWFkT25seU1vZGU6ITEsY29udGV4dE1lbnU6e3NldHRpbmdzOiEwLG1haW5TZXJpZXM6ITAsc3R1ZGllczohMCxzaG93T3Blbk1hcmtldFN0YXR1czohMX0sc3ltYm9sTWFya2VyRW5hYmxlZDohMSxzaG93VG9nZ2xlQnV0dG9uOiEwLGNhblNob3dTb3VyY2VDb2RlOiExLHN0YXR1c2VzV2lkZ2V0czp7c291cmNlU3RhdHVzZXNFbmFibGVkOiExLHNvdXJjZVN0YXR1c2VzOntlcnJvclNvbHV0aW9uOiEwfSxtYXJrZXRTdGF0dXNFbmFibGVkOiExLG1hcmtldFN0YXR1czp7cHJlTWFya2V0U29sdXRpb246ITAscG9zdE1hcmtldFNvbHV0aW9uOiEwfSxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6ITEsZGF0YVVwZGF0ZU1vZGU6e3N1YnNjcmlwdGlvbkZ1bGxJbmZvOiEwfSxkYXRhUHJvYmxlbUVuYWJsZWQ6ITF9fTt2YXIgaHM7IWZ1bmN0aW9uKGUpe2UuVG9nZ2xlclN0YXRlU2V0dGluZ3NLZXk9ImxlZ2VuZC5pc1Zpc2liaWxpdHlUb2dnbGVkIixlW2UuVGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyTWF4U2l6ZT0xMzJdPSJUZXh0U291cmNlSXNBbHdheXNUaWNrZXJNYXhTaXplIn0oaHN8fChocz17fSkpO2NvbnN0IHBzPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVnZW5kX2J5X2RlZmF1bHQiKSxfcz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJmdW5kYW1lbnRhbF93aWRnZXQiKSxncz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsZWdlbmRfY29udGV4dF9tZW51IiksbXM9cGFyc2VJbnQodXMuY3NzX3ZhbHVlX2NoYXJ0X2d1aV93cmFwcGVyX2NvbHVtbl9nYXApO2NsYXNzIGJze2NvbnN0cnVjdG9yKGUsdCxpLHMsbixsLGMsaCl7dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzPVtdLHRoaXMuX3NvdXJjZXNJZHM9W10sdGhpcy5fdmlzaWJsZURhdGFTb3VyY2VDb3VudD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5fdGhlbWVkQ29sb3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuPW51bGwsdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW49W10sdGhpcy5fY3VzdG9tV2lkZ2V0c1Zpc2liaWxpdGllcz1bXSx0aGlzLl9hbGxMZWdlbmRIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcz1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzPVtdLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9bnVsbCx0aGlzLl9hdmFpbGFibGVIZWlnaHQ9MCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1RpdGxlPW5ldyByLldhdGNoZWRWYWx1ZSgiIiksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbCx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fc3RhdHVzUHJvdmlkZXJzPW5ldyBNYXAsdGhpcy5fc2l6ZT1udWxsLHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXA9bmV3IE1hcCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwPW5ldyBNYXAsdGhpcy5fbWFyZ2luPTAsdGhpcy5fbGF5b3V0Q2hhbmdlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVXaWRnZXQ9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKGNzKSxjKSwKdGhpcy5fY2FsbGJhY2tzPWgsdGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zPXtyZWFkT25seU1vZGU6dGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGUsc3ltYm9sTWFya2VyRW5hYmxlZDp0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWR9LHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzT3B0aW9ucz17Li4udGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zLGNhblNob3dTb3VyY2VDb2RlOnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGV9LHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWU9aTtjb25zdCBwPXRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKTtpZih0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkPW5ldyByLldhdGNoZWRWYWx1ZShwLnZhbHVlKCkpLHAuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNEYXRhU291cmNlc0NvbGxhcHNlZC5zZXRWYWx1ZShwLnZhbHVlKCkpfSkpLHBzJiYhcnMuZ2V0Qm9vbCgibGVnZW5kLmlzVmlzaWJpbGl0eVRvZ2dsZWQiKSl7Y29uc3QgZT10aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpO3RoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9dGhpcy5fc2V0TGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQuYmluZCh0aGlzKSxlLnNldFZhbHVlKCExKSxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpfWNvbnN0IF89bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpLGc9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7Zy5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PntfLnNldFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpfSkpO2NvbnN0IG09Zy5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dCYWNrZ3JvdW5kLGI9bmV3IHIuV2F0Y2hlZFZhbHVlKG0udmFsdWUoKSk7bS5zdWJzY3JpYmUodGhpcywoKCk9PntiLnNldFZhbHVlKG0udmFsdWUoKSl9KSk7Y29uc3Qgdj1nLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZFRyYW5zcGFyZW5jeSxmPW5ldyByLldhdGNoZWRWYWx1ZSh2LnZhbHVlKCkpO3Yuc3Vic2NyaWJlKHRoaXMsKCgpPT57Zi5zZXRWYWx1ZSh2LnZhbHVlKCkpfSkpLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcz1zLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmU9bix0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVDb2xsYXBzZWRTb3VyY2VzTW9kZS5iaW5kKHRoaXMpKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQ9bCx0aGlzLl9oaWRlV2hvbGVMZWdlbmQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcy5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVNYWluPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYWluVmFsdWUoKSksdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZT0oMCxvLmRlZmF1bHQpKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlLmJpbmQodGhpcyksMTAwKSx0aGlzLl9pc1BhbmVNYWluLnN1YnNjcmliZSgoZT0+dGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3Iuc2V0VmFsdWUoZSkpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlPW5ldyBscygxLHRoaXMuX29wdGlvbnMuc3RhdHVzZXNXaWRnZXRzKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZT1uZXcgbHMoMCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyksdGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzPSgwLGQuYWNjdW11bGF0ZSkoKChlLHQpPT57Y29uc3QgaT1lLnNvbWUoQm9vbGVhbik7cmV0dXJuW2ksISFpJiZlLmluY2x1ZGVzKCEwLC10KV19KSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcy53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3JlbmRlcmVyPW5ldyBCZSh7aXNNdWx0aXBsZUxheW91dDp0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCksd2l0aEFjdGlvbnM6IXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlLHNob3dUb2dnbGVCdXR0b246dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uLGlzU3R1ZGllc0xlZ2VuZEhpZGRlbjp0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksaXNBbGxMZWdlbmRIaWRkZW46dGhpcy5fYWxsTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksY3VzdG9tVGV4dENvbG9yOl8ucmVhZG9ubHkoKSx0aGVtZWRDb2xvcjp0aGlzLl90aGVtZWRDb2xvci5yZWFkb25seSgpLHNob3dCYWNrZ3JvdW5kOmIucmVhZG9ubHkoKSxiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OmYucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc0NvdW50OnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc1RpdGxlOnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUucmVhZG9ubHkoKSxjb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZSxzaG93TGVnZW5kV2lkZ2V0Q29udGV4dE1lbnU6dGhpcy5vblNob3dMZWdlbmRXaWRnZXRDb250ZXh0TWVudS5iaW5kKHRoaXMpLGhpZGVBbGxFeGNlcHRGaXJzdExpbmU6dGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZSxvbkxlZ2VuZFJvd0ZvY3VzZWQ6dGhpcy5fY2FsbGJhY2tzLm9uTGVnZW5kUm93Rm9jdXNlZCxvbkxheW91dENoYW5nZWQ6dGhpcy5fbGF5b3V0Q2hhbmdlZCxoYXNMb2FkaW5nRGF0YVNvdXJjZXM6dGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzfSx7CnNob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yOnRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnJlYWRvbmx5KCksdmlzaWJsZURhdGFTb3VyY2VDb3VudDp0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnJlYWRvbmx5KCksaXNEYXRhU291cmNlc0NvbGxhcHNlZDp0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnJlYWRvbmx5KCksaGFzTG9hZGluZ0RhdGFTb3VyY2VzOnRoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcyxpc01haW5QYW5lOnRoaXMuX2lzUGFuZU1haW4ucmVhZG9ubHkoKSxvbkNvbGxhcHNlRGF0YVNvdXJjZXM6dGhpcy5vbkNvbGxhcHNlRGF0YVNvdXJjZXMuYmluZCh0aGlzKSxvblNob3dPYmplY3RzVHJlZURpYWxvZzp0aGlzLl9jYWxsYmFja3Muc2hvd09iamVjdHNUcmVlRGlhbG9nLGlzUGFuZUNvbGxhcHNlZDp0aGlzLl9wYW5lV2lkZ2V0LnZpc3VhbGx5Q29sbGFwc2VkKCksY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlOnRoaXMuX3RvZ2dsZWRTdGF0dXNlc1dpZGdldFN0YXRlfSl9ZGVzdHJveSgpe3RoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcy5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5yZWxlYXNlKCksdGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnJlbGVhc2UoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnJlbGVhc2UoKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQucmVsZWFzZSgpLHRoaXMuX3NvdXJjZXNJZHM9W10sbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJnRoaXMuX2Rlc3Ryb3lNYWluRGF0YVNvdXJjZSgpO2Zvcihjb25zdFssZV1vZiB0aGlzLl9zdGF0dXNQcm92aWRlcnMpZS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMpZS5kZXN0cm95KCk7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9W10sdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5kZXN0cm95KCksdGhpcy5fdG9nZ2xlZFN0YXR1c2VzV2lkZ2V0U3RhdGUuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fY2xlYXJTdWJzY3JpcHRpb25zKCk7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmtleXMoKSkpdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKGUpO3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAuY2xlYXIoKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCksZGVsZXRlIHRoaXMuX3JlbmRlcmVyLHRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpO2NvbnN0IGU9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ZS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0JhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksZS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUcmFuc3BhcmVuY3kudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fZGF0YVNvdXJjZXNMb2FkaW5nU3RhdHVzZXMuc2V0VmFsdWUoW10pfWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7Y29uc3QgaT10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLmdldCh0LmJsb2NrKXx8bmV3IE1hcCxzPWkuZ2V0KHQucG9zaXRpb24pfHxbXTtzLnB1c2goZSksaS5zZXQodC5wb3NpdGlvbixzKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLnNldCh0LmJsb2NrLGkpLHRoaXMudXBkYXRlTGF5b3V0KCksdGhpcy5fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpfW9uU2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KGUsdCl7aWYodGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGV8fCFncylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7TygiU2hvdyBsZWdlbmQgY29udGV4dCBtZW51Iik7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5rZXlzKCkpKXtjb25zdCB0PSgwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSkpLHM9bmV3IE1hcDtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHQua2V5cygpKSl7Y29uc3QgaT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZ2V0KGUpKSxvPXMuZ2V0KGUpfHxbXTtmb3IoY29uc3QgZSBvZiBpKW8ucHVzaCguLi5lLmNvbnRleHRNZW51QWN0aW9ucygpKTtzLnNldChlLG8pfWkuc2V0KGUscyl9cmV0dXJuIGZ1bmN0aW9uKGUsdCxpLHMsbyxuKXtjb25zdCBhPVtdLGw9cy5nZXQoMCk7aWYodm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgxKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3Qgcj1lLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7YS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlU3ltYm9sVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSxsYWJlbDpiaSxzdGF0TmFtZToiU2hvdy9IaWRlIFN5bWJvbCIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1Nlcmllc1RpdGxlLHJpKX19KSksdC5zaG93T3Blbk1hcmtldFN0YXR1cyYmIm1hcmtldCI9PT1lLm1haW5TZXJpZXMoKS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnZhbHVlKCkmJiEoMCwKaWkuaXNFY29ub21pY1N5bWJvbCkoZS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpKSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlT3Blbk1hcmtldFN0YXR1c1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSxsYWJlbDp2aSxzdGF0TmFtZToiU2hvdy9IaWRlIE9wZW4gbWFya2V0IHN0YXR1cyIsb25FeGVjdXRlOigpPT5saShlLHNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHksZGkpfX0pKSxhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVPaGxjVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzT0hMQy52YWx1ZSgpLGxhYmVsOmZpLHN0YXROYW1lOiJTaG93L0hpZGUgY2hhcnQgdmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U2VyaWVzT0hMQyx1aSl9fSkpO2NvbnN0IGQ9ZS5tYWluU2VyaWVzKCkuc3R5bGUoKSx1PTEyIT09ZCYmMjAhPT1kO2lmKHUmJiFuaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlQmFyQ2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93QmFyQ2hhbmdlLnZhbHVlKCksbGFiZWw6eWksc3RhdE5hbWU6IlNob3cvSGlkZSBCYXIgQ2hhbmdlIFZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd0JhckNoYW5nZSxoaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZVZvbHVtZVZpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1ZvbHVtZS52YWx1ZSgpLGxhYmVsOndpLHN0YXROYW1lOiJTaG93L0hpZGUgVm9sdW1lIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93Vm9sdW1lLG1pKX19KSksdSYmKG5pLmxhc3REYXlDaGFuZ2VBdmFpbGFibGV8fG5pLmFsd2F5c1Nob3dMYXN0UHJpY2VBbmRMYXN0RGF5Q2hhbmdlKSl7Y29uc3QgdD1uaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZT9yLnNob3dCYXJDaGFuZ2U6ci5zaG93TGFzdERheUNoYW5nZTthLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVMYXN0RGF5Q2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLGxhYmVsOlNpLHN0YXROYW1lOiJTaG93L0hpZGUgTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHQsY2kpfX0pKX1pZihhLnB1c2gobmV3IEplLlNlcGFyYXRvciksdm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3QgYz1zLmdldCgxKTtpZih2b2lkIDAhPT1jKXtjb25zdCBlPWMuZ2V0KDEpO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJihhLnB1c2goLi4uZSksYS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpKX1pZihlLm1vZGVsKCkucHJpY2VEYXRhU291cmNlcygpLnNvbWUoKGU9PiEoMCxrdC5pc1N5bWJvbFNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpKSkmJihhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVJbmRpY2F0b3JUaXRsZXNWaXNpYmlsaXR5IixvcHRpb25zOntjaGVja2FibGU6ITAsY2hlY2tlZDpyLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLGxhYmVsOkNpLHN0YXROYW1lOiJTaG93L0hpZGUgSW5kaWNhdG9yIFRpdGxlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1N0dWR5VGl0bGVzLHBpKX19KSksYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlSW5kaWNhdG9yQXJndW1lbnRzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U3R1ZHlBcmd1bWVudHMudmFsdWUoKSxsYWJlbDpFaSxzdGF0TmFtZToiU2hvdy9IaWRlIEluZGljYXRvciBBcmd1bWVudHMiLG9uRXhlY3V0ZTooKT0+bGkoZSxyLnNob3dTdHVkeUFyZ3VtZW50cyxfaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZUluZGljYXRvclZhbHVlc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCksbGFiZWw6eGksc3RhdE5hbWU6IlNob3cvSGlkZSBJbmRpY2F0b3IgVmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U3R1ZHlWYWx1ZXMsZ2kpfX0pKSksdm9pZCAwIT09Yyl7Y29uc3QgZT1jLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9dC5zZXR0aW5ncyYmKGFbYS5sZW5ndGgtMV1pbnN0YW5jZW9mIEplLlNlcGFyYXRvcnx8YS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpLGEucHVzaChuZXcgYWkuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncy5MZWdlbmRUYWIiLG9wdGlvbnM6e2xhYmVsOkxpLGljb25JZDoiU2V0dGluZ3MiLHN0YXROYW1lOiJTZXR0aW5ncy4uLiIsb25FeGVjdXRlOigpPT5pKGF0LlRhYk5hbWVzLmxlZ2VuZCl9fSkpKTtjb25zdCBoPU1pKG8udGFyZ2V0LCJlbnRpdHlJZCIpLHA9e21lbnVOYW1lOiJMZWdlbmRQcm9wZXJ0aWVzQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZTpoPyJzdHVkeSI6InNlcmllcyIsaWQ6aD8/Il9zZXJpZXNJZCJ9fTtyZXR1cm4gWWUuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KGEsbyx7c3RhdE5hbWU6IkxlZ2VuZENvbnRleHRNZW51In0scCxuKX0odGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSx0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMsaSxlLHQpfQpvbkNvbGxhcHNlRGF0YVNvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCk7ZS5zZXRWYWx1ZSghZS52YWx1ZSgpKX11cGRhdGVMYXlvdXQoKXtpZighdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXQuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmxlZ2VuZFZpZXdTb3VyY2VzKCkuZmlsdGVyKChlPT5udWxsIT09ZS5zdGF0dXNWaWV3KCkmJmUuaXNEaXNwbGF5ZWRJbkxlZ2VuZCgpKSkucmV2ZXJzZSgpLHQ9dGhpcy5fc291cmNlc0lkcyxpPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPWUuaW5kZXhPZihpKTtsZXQgbztpZigtMSE9PXMpe2lmKGUuc3BsaWNlKHMsMSksIV9zJiZudWxsPT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbCl7Y29uc3QgZT1uZXcgeHQodGhpcy5fbW9kZWwsaSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpO3RoaXMuX21haW5TZXJpZXNWaWV3TW9kZWw9ZTtjb25zdCB0PW5ldyBWaS5NYWluRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGUodGhpcy5fc3RhdHVzU291cmNlQWRhcHRlcihpKSx0aGlzLl9tb2RlbCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyk7dGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9dCxvPXttb2RlbDplLHN0YXR1c2VzV2lkZ2V0U3RhdGU6dH19fWVsc2UgbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJihvPW51bGwsdGhpcy5fZGVzdHJveU1haW5EYXRhU291cmNlKCksdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKDApKTtjb25zdCBhPWUubWFwKChlPT5lLmluc3RhbmNlSWQoKSkpO3RoaXMuX3NvdXJjZXNJZHM9YTtjb25zdCBsPVtdLHI9bmV3IE1hcCxkPVtdLHU9W10sYz10aGlzLl9kYXRhU291cmNlVmlld01vZGVscyxoPXRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcztsZXQgcD10Lmxlbmd0aC0xO2Zvcig7cD49MDspe2NvbnN0IGU9dFtwXSxpPWEuaW5kZXhPZihlKTtpZigtMT09PWkpe2wucHVzaChwKSxjW3BdLmRlc3Ryb3koKSxoW3BdLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3N0YXR1c1Byb3ZpZGVycy5nZXQoZSk7dCYmKHQuZGVzdHJveSgpLHRoaXMuX3N0YXR1c1Byb3ZpZGVycy5kZWxldGUoZSkpfWVsc2UgcCE9PWkmJihyLnNldChlLHttb2RlbDpjW3BdLHN0YXR1c2VzV2lkZ2V0U3RhdGU6aFtwXX0pLGQucHVzaCh7b2xkSW5kZXg6cCxuZXdJbmRleDppfSkpO3AtLX1jb25zdCBfPVtdLGc9W107Zm9yKGxldCBpPTA7aTxhLmxlbmd0aDtpKyspe2NvbnN0IHM9YVtpXTtsZXQgbyxsO2lmKHIuaGFzKHMpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoci5nZXQocykpO289ZS5tb2RlbCxsPWUuc3RhdHVzZXNXaWRnZXRTdGF0ZX1lbHNlIGlmKHRbaV09PT1zKW89Y1tpXSxsPWhbaV07ZWxzZXtjb25zdCB0PWVbaV07bz1uZXcgdGkodGhpcy5fbW9kZWwsdCx0aGlzLl9kYXRhU291cmNlVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpLGw9bmV3IGtpLkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlKHRoaXMuX3N0YXR1c1NvdXJjZUFkYXB0ZXIodCksdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5zdGF0dXNlc1dpZGdldHMpLHUucHVzaCh7bW9kZWw6byxzdGF0dXNlc1dpZGdldFN0YXRlOmwsaW5kZXg6aX0pfV8ucHVzaChvKSxnLnB1c2gobCl9dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9Xyx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9ZywwPT09dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soMSksdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpLHRoaXMuX3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpLHRoaXMuX2lzUGFuZU1haW4uc2V0VmFsdWUodGhpcy5fZ2V0SXNQYW5lTWFpblZhbHVlKCkpLHRoaXMudXBkYXRlKCk7Y29uc3QgbT1sLmxlbmd0aHx8dS5sZW5ndGh8fGQubGVuZ3RoO2lmKCh2b2lkIDAhPT1vfHxtKSYmdGhpcy5fbGF5b3V0Q2hhbmdlZC5maXJlKHtuZXdNYWluU291cmNlOm8scmVtb3ZlZERhdGFTb3VyY2VzOmwsYWRkZWREYXRhU291cmNlczp1LG1vdmVkRGF0YVNvdXJjZXM6ZH0pLC0xIT09cyYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygwKSx0aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGg+MCYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygxKSx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCksbSl7dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUoKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5jbGVhcigpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyl0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQoZSl9fXVwZGF0ZSgpe251bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiZ0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLnVwZGF0ZSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKWUudXBkYXRlKCl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxkcy5nZXRTdGRUaGVtZWRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIix0aGlzLl9iYWNrZ3JvdW5kVGhlbWVOYW1lLnZhbHVlKCkpKSx0aGlzLl90aGVtZWRDb2xvci5zZXRWYWx1ZShlfHwiIil9Zmlyc3RUaXRsZSgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5maXJzdFRpdGxlKCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9YWRkTWFyZ2luKGUpe2lmKHRoaXMuX21hcmdpbj09PWUpcmV0dXJuO3RoaXMuX21hcmdpbj1lCjt0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCkuc3R5bGUubWF4V2lkdGg9MD09PXRoaXMuX21hcmdpbj8iIjpgY2FsYygxMDAlIC0gJHt0aGlzLl9tYXJnaW4rbXN9cHgpYCx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCl9dXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZShlKXt0aGlzLl9zaXplPWUsdGhpcy5fdXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZSgpfV9zdGF0dXNTb3VyY2VBZGFwdGVyKGUpe2NvbnN0IHQ9ZS5pbnN0YW5jZUlkKCk7bGV0IGk9dGhpcy5fc3RhdHVzUHJvdmlkZXJzLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9ZSE9PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKT9uZXcgQWkuQ2hhcnRNb2RlbFN0YXR1c1NvdXJjZUFkYXB0ZXIoZSx0aGlzLl9tb2RlbC5tb2RlbCgpKTpuZXcgQWkuQ2hhcnRNb2RlbE1haW5TZXJpZXNTdGF0dXNTb3VyY2VBZGFwdGVyKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9tb2RlbC5tb2RlbCgpKSx0aGlzLl9zdGF0dXNQcm92aWRlcnMuc2V0KHQsaSkpLGl9X3VwZGF0ZVdpZGdldE1vZGVCeVNpemUoKXt0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCgpLHRoaXMuX3VwZGF0ZVdpZGdldE1vZGVCeUhlaWdodCgpLHRoaXMuX3VwZGF0ZUN1c3RvbVdpZGdldE1vZGVCeVNpemUoKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoKXtpZihudWxsPT09dGhpcy5fc2l6ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9hdmFpbGFibGVXaWR0aCgpO3RoaXMuX3JlbmRlcmVyLnVwZGF0ZU1vZGUoZSksdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0LnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zZXRUZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQoZTw9MTMyKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5SGVpZ2h0KCl7bnVsbCE9PXRoaXMuX3NpemUmJih0aGlzLl9hdmFpbGFibGVIZWlnaHQ9LjgqdGhpcy5fc2l6ZS5oZWlnaHQsdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZSgpKX1fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpe2lmKG51bGw9PT10aGlzLl9zaXplKXJldHVybjtjb25zdCBlPSgwLHMuc2l6ZSkoe3dpZHRoOnRoaXMuX2F2YWlsYWJsZVdpZHRoKCksaGVpZ2h0OnRoaXMuX3NpemUuaGVpZ2h0fSk7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgaSBvZiBBcnJheS5mcm9tKHQudmFsdWVzKCkpKWZvcihjb25zdCB0IG9mIGkpdC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKGUpfV9kZXN0cm95TWFpbkRhdGFTb3VyY2UoKXsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNTdGF0dXNlc1dpZGdldFN0YXRlKS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbDsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwpLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsPW51bGx9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlKCl7Y29uc3QgZT10aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGgsdD10aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCksaT1udWxsIT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbDtpZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLmNsZWFyKCksdGhpcy5fYXZhaWxhYmxlSGVpZ2h0PjAmJmU+Mil7Y29uc3Qgcz1OdW1iZXIodGhpcy5fcmVuZGVyZXIuZ2V0TWFpblNvdXJjZUhlaWdodCgpKSxvPXRoaXMuX3JlbmRlcmVyLmdldERhdGFTb3VyY2VIZWlnaHQoKSxuPXRoaXMuX2dldEN1c3RvbVdpZGdldHNIZWlnaHQoKTtpZihudWxsIT09byl7Y29uc3QgYT1NYXRoLmZsb29yKCh0aGlzLl9hdmFpbGFibGVIZWlnaHQtcy1uKS9vKSxsPU1hdGgubWF4KGEsMiktMTtpZihlPmwrMSl7bGV0IHM9IiI7Zm9yKGxldCBvPTA7bzxlO28rKyl7Y29uc3QgZT1vPGw7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbb10uc2V0R2xvYmFsVmlzaWJpbGl0eShlJiYoIXR8fDA9PT1vJiYhaSkpLGV8fChzKz1gJHswPT09cy5sZW5ndGg/IiI6IiwgIn0ke3RoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzW29dLmdldEZ1bGxUaXRsZSgpfWAsdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQodGhpcy5fZGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGVzW29dKSl9cmV0dXJuIHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUocyksdm9pZCB0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKGUtbCl9fX1mb3IobGV0IGU9MDtlPHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLmxlbmd0aDsrK2UpdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbZV0uc2V0R2xvYmFsVmlzaWJpbGl0eSghdHx8MD09PWUmJiFpKTt0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKDApLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUoIiIpfV9nZXRDdXN0b21XaWRnZXRzSGVpZ2h0KCl7bGV0IGU9MDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAudmFsdWVzKCkpKWZvcihjb25zdCBpIG9mIEFycmF5LmZyb20odC52YWx1ZXMoKSkpZm9yKGNvbnN0IHQgb2YgaSllKz10LmhlaWdodCgpLnZhbHVlKCk7cmV0dXJuIGV9X2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci52YWx1ZSgpO2Zvcihjb25zdCB0IG9mKDAsZHMuZ2V0U3RkVGhlbWVOYW1lcykoKSlpZigoMCxkcy5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5zY2FsZXNQcm9wZXJ0aWVzLnRleHRDb2xvciIsZSx0KSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1fY2xlYXJTdWJzY3JpcHRpb25zKCl7Cm51bGwhPT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbi5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbillLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbj1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzKWUuZGVzdHJveSgpO3RoaXMuX2N1c3RvbVdpZGdldHNWaXNpYmlsaXRpZXM9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHMpZS5kZXN0cm95KCk7dGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHM9W119X3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpe3RoaXMuX2NsZWFyU3Vic2NyaXB0aW9ucygpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKXtjb25zdCB0PWUuaXNSb3dIaWRkZW4oKS5zcGF3bigpO3RoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudC5iaW5kKHRoaXMpKSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSl9Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKGUudmFsdWVzKCkpKWZvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9ZS52aXNpYmlsaXR5KCkuc3Bhd24oKTt0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpO2NvbnN0IGk9ZS5oZWlnaHQoKS5zcGF3bigpO3RoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzLnB1c2goaSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUuYmluZCh0aGlzKSl9dGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcygpfV9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpe3RoaXMuX2RhdGFTb3VyY2VzTG9hZGluZ1N0YXR1c2VzLnNldFZhbHVlKHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLm1hcCgoZT0+ZS5sb2FkaW5nKCkud2Vha1JlZmVyZW5jZSgpKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMoKXtpZih0aGlzLl9oaWRlV2hvbGVMZWdlbmQudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9hbGxMZWdlbmRIaWRkZW4uc2V0VmFsdWUoITApO2NvbnN0IGU9MCE9PXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmxlbmd0aCYmdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW4uZXZlcnkoKGU9PmUudmFsdWUoKSkpLHQ9dGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnZhbHVlKCl8fGU7dGhpcy5fc3R1ZGllc0xlZ2VuZEhpZGRlbi5zZXRWYWx1ZSh0KTtjb25zdCBpPW51bGw9PT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVufHx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnZhbHVlKCkscz10aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnNvbWUoKGU9PmUudmFsdWUoKSkpO3RoaXMuX2FsbExlZ2VuZEhpZGRlbi5zZXRWYWx1ZShlJiZpJiYhcyl9X3VwZGF0ZVZpc2libGVEYXRhU291cmNlQ291bnQoKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmZpbHRlcigoZT0+IWUudmFsdWUoKSkpLmxlbmd0aDt0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnNldFZhbHVlKGUpfV9zZXRMZWdlbmRWaXNpYmlsaXR5VG9nZ2xlZCgpe3JzLnNldFZhbHVlKCJsZWdlbmQuaXNWaXNpYmlsaXR5VG9nZ2xlZCIsITApO3RoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCkudW5zdWJzY3JpYmUodGhpcywoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpKX1fZ2V0SXNQYW5lTWFpblZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmVXaWRnZXQuY29udGFpbnNNYWluU2VyaWVzKCl9X3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubW9kZWwoKS5zaG93TGVnZW5kKCl9X3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZH1fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jayhlKXtjb25zdCB0PXRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSl8fG5ldyBNYXA7bGV0IHM9ITE7Zm9yKGNvbnN0IG8gb2YgQXJyYXkuZnJvbSh0LmtleXMoKSkpe2NvbnN0IG49aS5nZXQobyl8fFtdLGE9dC5nZXQobyl8fFtdO2ZvcihsZXQgdD1uLmxlbmd0aDt0PGEubGVuZ3RoO3QrKyl7Y29uc3QgaT1hW3RdKHRoaXMuX21vZGVsLm1vZGVsKCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUud2Vha1JlZmVyZW5jZSgpKTtuLnB1c2goaSksdGhpcy5fcmVuZGVyZXIuYWRkQ3VzdG9tV2lkZ2V0KGkse2Jsb2NrOmUscG9zaXRpb246b30pLHM9ITB9cyYmaS5zZXQobyxuKX1zJiZ0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnNldChlLGkpfV9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soZSl7Y29uc3QgdD10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmdldChlKQo7aWYodm9pZCAwIT09dCl7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0LnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBlKXQuZGVzdHJveSgpO3QuY2xlYXIoKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmRlbGV0ZShlKX19X2F2YWlsYWJsZVdpZHRoKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zaXplPzA6TWF0aC5tYXgoMCx0aGlzLl9zaXplLndpZHRoLXRoaXMuX21hcmdpbi1tcyl9fX0sMjk3NzA3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BhbmVDb250cm9sc1dpZGdldDooKT0+JH0pO3ZhciBzLG89aSgzODY5MzEpLG49aSgxODUyNzEpLGE9aSgyMzU3MjQpLGw9aSgyMzIzNjQpLHI9aSg5NTI5MDApLGQ9aSgyNTUwMzYpLHU9aSg5NTY0MzcpLGM9aSgxMzg2MzgpLGg9aSgxMzQ2NykscD1pKDk1NjM2OCksXz1pKDM2MzI2OSksZz1pKDgwMDIyNiksbT1pKDQyNjI3NCksYj1pKDc3MjAyOCk7IWZ1bmN0aW9uKGUpe2VbZS5Db250ZXh0TWVudU1vZGVXaWR0aFB0PTY2Ni42NV09IkNvbnRleHRNZW51TW9kZVdpZHRoUHQiLGVbZS5WaXNpYmxlTW9kZU1pbldpZHRoPTM1Nl09IlZpc2libGVNb2RlTWluV2lkdGgifShzfHwocz17fSkpO2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX3BhcmVudEVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPW51bGwsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cz17fSx0aGlzLl9hY3Rpb25zU3Bhd25zPXt9LHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPW51bGwsdGhpcy5fbW91c2VPdmVyV2lkZ2V0PSExLHRoaXMuX3dyYXBFbD1lLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPXRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQuYmluZCh0aGlzKSx0aGlzLl93cmFwRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fb25Nb3VzZUVudGVyTGVhdmVFdmVudEhhbmRsZXIpLHRoaXMuX3dyYXBFbC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fYWN0aW9ucz10LHRoaXMuX2dsb2JhbFZpc2liaWxpdHk9aS5nbG9iYWxWaXNpYmlsaXR5LnNwYXduKCksdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl92aXNpYmlsaXR5VHlwZT1pLnZpc2liaWxpdHlUeXBlLnNwYXduKCksdGhpcy5fdmlzaWJpbGl0eVR5cGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQ9aS5zZXBhcmF0b3JTZWxlY3RlZC5zcGF3bigpLHRoaXMuX3NlcGFyYXRvclNlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX21heGltaXplZD1pLm1heGltaXplZC5zcGF3bigpLHRoaXMuX21heGltaXplZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9kb05vdFN3aXRjaFRvQ29udGV4dE1lbnVNb2RlPWkuZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZSx0aGlzLl90aGVtZWRDb2xvcj1pLnRoZW1lZENvbG9yLnNwYXduKCksdGhpcy5fdGhlbWVkQ29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yLmJpbmQodGhpcykpO2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXModGhpcy5fYWN0aW9ucykpe2NvbnN0IGk9ZTt0aGlzLl9hY3Rpb25zU3Bhd25zW2ldPXt2aXNpYmxlOnQudmlzaWJsZS5zcGF3bigpLHRpdGxlOnZvaWQgMD09PXQudGl0bGU/bnVsbDp0LnRpdGxlLnNwYXduKCl9LHRoaXMuX2FjdGlvbnNTcGF3bnNbaV0udmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxpKSk7Y29uc3Qgcz10aGlzLl9hY3Rpb25zU3Bhd25zW2ldLnRpdGxlO251bGwhPT1zJiZzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsaSkpfXRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVUaGVtZWRDb2xvcih0aGlzLl90aGVtZWRDb2xvci52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKG0udG91Y2hNb2RlLGcudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSksdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl93cmFwRWwubWF0Y2hlcygiOmhvdmVyIikmJnRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQoe3R5cGU6Im1vdXNlZW50ZXIifSl9ZGVzdHJveSgpe3RoaXMuX3Zpc2liaWxpdHlUeXBlLmRlc3Ryb3koKSx0aGlzLl90aGVtZWRDb2xvci5kZXN0cm95KCksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHRoaXMuX2FjdGlvbnNTcGF3bnMpKXtjb25zdCB0PWU7dGhpcy5fYWN0aW9uc1NwYXduc1t0XS52aXNpYmxlLmRlc3Ryb3koKTtjb25zdCBpPXRoaXMuX2FjdGlvbnNTcGF3bnNbdF0udGl0bGU7bnVsbCE9PWkmJmkuZGVzdHJveSgpfW51bGwhPT10aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciYmKHRoaXMuX3dyYXBFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fd3JhcEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyKSx0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlcj1udWxsKSx0aGlzLl9wYXJlbnRFbC5yZW1vdmUoKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsCmRlbGV0ZSB0aGlzLl9wYXJlbnRFbH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3BhcmVudEVsfWJvdHRvbVdpdGhNYXJnaW4oKXtjb25zdCBlPXRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC5jb250YWlucyhtLnRvdWNoTW9kZSk/TnVtYmVyKG0uY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemUpOk51bWJlcihtLmNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplKTtyZXR1cm4gMipOdW1iZXIobS5jc3NfdmFsdWVfcGFuZV9jb250cm9sc19tYXJnaW5fdG9wKStlfXVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUpe2NvbnN0IHQ9IXRoaXMuX2RvTm90U3dpdGNoVG9Db250ZXh0TWVudU1vZGUudmFsdWUoKSYmZTwzNTYsaT0hdGhpcy5fZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZS52YWx1ZSgpJiZlPDY2Ni42NSxzPSgwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpLG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpOygwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50RWwpLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfcmVtb3ZlLHQpLHMuY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLGkpLG8uY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLCFpfHwhdGhpcy5fYWN0aW9ucy5tb3JlLnZpc2libGUudmFsdWUoKSl9X3JlbmRlcigpe3RoaXMuX3JlbmRlckFjdGlvbnMoKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKG0ucGFuZUNvbnRyb2xzKSx0aGlzLl93cmFwRWwuYXBwZW5kKHRoaXMuX3BhcmVudEVsKX1fcmVuZGVyQWN0aW9ucygpe251bGw9PT10aGlzLl9saXN0QWN0aW9uc1dyYXBwZXJFbCYmKHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQobS5idXR0b25zKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpKTtjb25zdCBlPXt0YWc6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOm0uYnV0dG9uLHdyYXBJY29uQ2xhc3NOYW1lOm0uYnV0dG9uSWNvbixoaWRkZW5DbGFzc05hbWU6Yi5ibG9ja0hpZGRlbn07dGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy51cD0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMudXAsZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5kb3duPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5kb3duLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2U9KDAscC5jcmVhdGVBY3Rpb25FbGVtZW50KSh0aGlzLl9hY3Rpb25zLmNvbGxhcHNlLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMucmVzdG9yZT0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMucmVzdG9yZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5jbG9zZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1heGltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tYXhpbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1pbmltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5taW5pbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnJlc3RvcmUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWluaW1pemUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnVwLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuZG93bix0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2UsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5yZXN0b3JlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWF4aW1pemUsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5taW5pbWl6ZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5tb3JlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tb3JlLGUpLHRoaXMuX3BhcmVudEVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpfV91cGRhdGVBY3Rpb25WaXNpYmlsaXRpZXMoZSx0KXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHNbZV0pLmNsYXNzTGlzdC50b2dnbGUoYi5ibG9ja0hpZGRlbiwhdCl9X3VwZGF0ZUFjdGlvblRpdGxlKGUsdCl7KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzW2VdKS5zZXRBdHRyaWJ1dGUoInRpdGxlIix0KX1fb25Nb3VzZUVudGVyTGVhdmVFdmVudChlKXt0aGlzLl9tb3VzZU92ZXJXaWRnZXQ9Im1vdXNlZW50ZXIiPT09ZS50eXBlLCJ2aXNpYmxlT25Nb3VzZU92ZXIiPT09dGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSYmdGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eSgpfV91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5KCl7bGV0IGUsdD0hMTtzd2l0Y2godGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSl7Y2FzZSJhbHdheXNPZmYiOmU9ITEsdD0hMDticmVhaztjYXNlImFsd2F5c09uIjplPXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKTticmVhaztjYXNlInZpc2libGVPbk1vdXNlT3ZlciI6Y2FzZSJ2aXNpYmxlT25UYXBTZWxlY3Rpb24iOmU9dGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS52YWx1ZSgpJiZ0aGlzLl9tb3VzZU92ZXJXaWRnZXR9dGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQudmFsdWUoKSYmInZpc2libGVPblRhcFNlbGVjdGlvbiI9PT10aGlzLl92aXNpYmlsaXR5VHlwZS52YWx1ZSgpJiYoZT0hMCksCnRoaXMuX21heGltaXplZC52YWx1ZSgpJiZfLm1vYmlsZXRvdWNoJiYoZT0hMCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShtLnBhbmVDb250cm9sc19oaWRkZW4sIWUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4sIXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKXx8dCl9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0W3QsaSxzXT0oMCxoLnBhcnNlUmdiKShlKTt0aGlzLl9wYXJlbnRFbC5zdHlsZS5jb2xvcj0oMCxoLnJnYmFUb1N0cmluZykoW3QsaSxzLCgwLGgubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKC44KV0pfWVsc2UgdGhpcy5fcGFyZW50RWwuc3R5bGUucmVtb3ZlUHJvcGVydHkoImNvbG9yIil9fXZhciBmPWkoNTA5MDQpLFM9aSgyNTA0MzkpLHk9aSg2MTczMDMpLHc9aSg5NjIwNzIpLEM9aSgxNzcyNTUpLEU9aSg1MzY1MzMpLHg9aSgzNzU3MCksTD1pKDI5NjE2Myk7Y29uc3QgTT1uLnQobnVsbCx2b2lkIDAsaSgxNDg4NjUpKSxUPU0sVj0oMCxhLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGEuTW9kaWZpZXJzLk1vZCkrTTt2YXIgaz1pKDY2NTE4NyksQT1pKDM0NTE1MSksVz1pKDI4NDA3NSksST1pKDgxMjk0OCksQj1pKDQyMzY0MyksSD1pKDUzODA5KSxEPWkoNzUxNTExKSxQPWkoODcyODM4KSxOPWkoNjQ4OTUpO2NvbnN0IFI9bi50KG51bGwsdm9pZCAwLGkoODMxOTg4KSksTz1uLnQobnVsbCx2b2lkIDAsaSgzMDU4ODIpKSxGPW4udChudWxsLHZvaWQgMCxpKDgxNDA1OCkpLHo9bi50KG51bGwsdm9pZCAwLGkoNTUwNTU5KSksaj1uLnQobnVsbCx2b2lkIDAsaSgyNjA1NDkpKSxVPW4udChudWxsLHZvaWQgMCxpKDg5MDA5KSksRz1uLnQobnVsbCx2b2lkIDAsaSgxNTk0NDMpKSxaPW4udChudWxsLHZvaWQgMCxpKDE0ODg2NSkpO3ZhciBKOyFmdW5jdGlvbihlKXtlLlBhbmVDbG9zZUJ1dHRvbj0icGFuZS1idXR0b24tY2xvc2UiLGUuUGFuZVVwQnV0dG9uPSJwYW5lLWJ1dHRvbi11cCIsZS5QYW5lRG93bkJ1dHRvbj0icGFuZS1idXR0b24tZG93biIsZS5QYW5lTWF4aW1pemVCdXR0b249InBhbmUtYnV0dG9uLW1heGltaXplIixlLlBhbmVNaW5pbWl6ZUJ1dHRvbj0icGFuZS1idXR0b24tbWluaW1pemUiLGUuUGFuZUNvbGxhcHNlQnV0dG9uPSJwYW5lLWJ1dHRvbi1jb2xsYXBzZSIsZS5QYW5lUmVzdG9yZUJ1dHRvbj0icGFuZS1idXR0b24tcmVzdG9yZSIsZS5QYW5lTW9yZUJ1dHRvbj0icGFuZS1idXR0b24tbW9yZSJ9KEp8fChKPXt9KSk7Y29uc3QgWT0oMCxBLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WyIiXSx0ZXh0Olp9KSxxPSgwLEEuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShhLk1vZGlmaWVycy5Nb2QsITEpXSx0ZXh0OmB7MH0gKyAke1p9YH0pO2NsYXNzICR7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fYWN0aW9ucz17fSx0aGlzLl9tb3JlQ01TaG93bj0hMSx0aGlzLl90aGVtZWRDb2xvcj1uZXcgbC5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZT10LHRoaXMuX2Nsb3NlQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0VXBCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREb3duQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9tYXhpbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHk9KDAsci5jb21iaW5lKSgoKGUsdCxpKT0+IWUmJiF0JiZpKSx0Lm1heGltaXplZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNlZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5PSgwLHIuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdC5tYXhpbWl6ZWQoKS53ZWFrUmVmZXJlbmNlKCksdC5jb2xsYXBzZWQoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKSx0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGQuYWN0dWFsQmVoYXZpb3IpKCksdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX3Zpc2liaWxpdHlUeXBlLnNldFZhbHVlKGUudmFsdWUoKSl9KSksdGhpcy5fdmlzaWJpbGl0eVR5cGU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkudmFsdWUoKSksdGhpcy5faXNQYW5lTWF4aW1pemU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldElzUGFuZU1heGltaXplVmFsdWUoKSksdGhpcy5faXNXaWRnZXRTaG93PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZT1pLmJhY2tncm91bmRUaGVtZU5hbWUsdGhpcy5fcmVuZGVyZXI9bmV3IHYocyx0aGlzLl9hY3Rpb25zLHt2aXNpYmlsaXR5VHlwZTp0aGlzLl92aXNpYmlsaXR5VHlwZS5yZWFkb25seSgpLGdsb2JhbFZpc2liaWxpdHk6dGhpcy5faXNXaWRnZXRTaG93LnJlYWRvbmx5KCksZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZTp0aGlzLl9pc1BhbmVNYXhpbWl6ZS5yZWFkb25seSgpLHRoZW1lZENvbG9yOnRoaXMuX3RoZW1lZENvbG9yLnJlYWRvbmx5KCksc2VwYXJhdG9yU2VsZWN0ZWQ6aS5hbnlTZXBhcmF0b3JTZWxlY3RlZCxtYXhpbWl6ZWQ6dGhpcy5faXNQYW5lTWF4aW1pemUucmVhZG9ubHkoKX0pfWRlc3Ryb3koKXsKdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9Ym90dG9tV2l0aE1hcmdpbigpe3JldHVybiB0aGlzLl9yZW5kZXJlci5ib3R0b21XaXRoTWFyZ2luKCl9YWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FjdGlvbnN9dXBkYXRlKCl7dGhpcy5fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl9pc1BhbmVNYXhpbWl6ZS5zZXRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCkpLHRoaXMuX2lzV2lkZ2V0U2hvdy5zZXRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSl9dXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl7dGhpcy5fcmVuZGVyZXIudXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxrLmdldFN0ZFRoZW1lZFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWUudmFsdWUoKSkpLHRoaXMuX3RoZW1lZENvbG9yLnNldFZhbHVlKGV8fCIiKX1fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKXt0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eS5zZXRWYWx1ZSh0aGlzLl9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fZG93bkJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fbWF4aW1pemVCdXR0b25WaXNpYmlsaXR5LnNldFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0TWluaW1pemVCdXR0b25WaXNpYmlsaXR5KCkpfV9jcmVhdGVBY3Rpb25zKCl7dGhpcy5fYWN0aW9ucy51cD17aWNvbjpJLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsInVwIiksdmlzaWJsZTp0aGlzLl91cEJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKE8pLGNsYXNzTmFtZTptLnVwLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi11cCJ9LHRoaXMuX2FjdGlvbnMuZG93bj17aWNvbjpCLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsImRvd24iKSx2aXNpYmxlOnRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShGKSxjbGFzc05hbWU6bS5kb3duLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1kb3duIn0sdGhpcy5fYWN0aW9ucy5jbG9zZT17aWNvbjpXLGFjdGlvbjp0aGlzLl9vbkNsb3NlQnV0dG9uLmJpbmQodGhpcyksdmlzaWJsZTp0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKFIpLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jbG9zZSJ9LHRoaXMuX2FjdGlvbnMubWF4aW1pemU9e2ljb246SCxhY3Rpb246dGhpcy5fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbi5iaW5kKHRoaXMsIk1heGltaXplIHBhbmUiKSx2aXNpYmxlOnRoaXMuX21heGltaXplQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoeiksaG90S2V5VGl0bGU6WSxjbGFzc05hbWU6bS5tYXhpbWl6ZSxkYXRhUWFJZDoicGFuZS1idXR0b24tbWF4aW1pemUifSx0aGlzLl9hY3Rpb25zLm1pbmltaXplPXtpY29uOkgsYWN0aW9uOnRoaXMuX29uVG9nZ2xlTWF4aW1pemVCdXR0b24uYmluZCh0aGlzLCJNaW5pbWl6ZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKGopLGhvdEtleVRpdGxlOlksY2xhc3NOYW1lOm0ubWluaW1pemUsZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1pbmltaXplIn0sdGhpcy5fYWN0aW9ucy5jb2xsYXBzZT17aWNvbjpQLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiQ29sbGFwc2UgcGFuZSIpLHZpc2libGU6dGhpcy5fY29sbGFwc2VCdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShVKSxob3RLZXlUaXRsZTpxLGNsYXNzTmFtZTptLmNvbGxhcHNlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jb2xsYXBzZSJ9LHRoaXMuX2FjdGlvbnMucmVzdG9yZT17aWNvbjpOLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiUmVzdG9yZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9yZXN0b3JlQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoaiksaG90S2V5VGl0bGU6cSxjbGFzc05hbWU6bS5yZXN0b3JlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1yZXN0b3JlIn0sdGhpcy5fYWN0aW9ucy5tb3JlPXtpY29uOkQsYWN0aW9uOnRoaXMuX3Nob3dCdXR0b25zSW5Db250ZXh0TWVudS5iaW5kKHRoaXMpLHZpc2libGU6bmV3IGwuV2F0Y2hlZFZhbHVlKCEwKSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoRyksZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1vcmUifX1fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCl7bGV0IGU9ITE7cmV0dXJuIHRoaXMuX3BhbmUuY29udGFpbnNNYWluU2VyaWVzKCl8fHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKXx8KGU9dGhpcy5fcGFuZS5kYXRhU291cmNlcygpLnNvbWUoKGU9PigwLHUuaXNTdHVkeSkoZSkpKSksZX1fb25DbG9zZUJ1dHRvbigpe3RoaXMuX3RyYWNrRXZlbnQoIkRlbGV0ZSBwYW5lIik7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKTt0aGlzLl9tb2RlbC5yZW1vdmVQYW5lKGUpfV9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX3BhbmUsdD10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihlKQo7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkuY2FuTW92ZVBhbmVVcCh0KX1fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLmNhbk1vdmVQYW5lRG93bihlKX1fb25VcERvd25CdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChgTW92ZSBwYW5lICR7ZX1gKTtjb25zdCB0PXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3RoaXMuX21vZGVsLnJlYXJyYW5nZVBhbmVzKHQsZSl9X2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJiF0aGlzLl9wYW5lLm1heGltaXplZCgpLnZhbHVlKCl9X2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJnRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbihlKXt0aGlzLl90cmFja0V2ZW50KGUpLHRoaXMuX21vZGVsLnRvZ2dsZU1heGltaXplZFBhbmUodGhpcy5fcGFuZSl9X29uVG9nZ2xlQ29sbGFwc2VCdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChlKSx0aGlzLl9tb2RlbC50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuX3BhbmUpfV9zaG93QnV0dG9uc0luQ29udGV4dE1lbnUoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX21vcmVDTVNob3dufHxmdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1bXTtpZihlLm1heGltaXplLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5tYXhpbWl6ZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUubWF4aW1pemUuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLk1heGltaXplUGFuZSIsb3B0aW9uczp7aWNvbjpFLGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTWF4aW1pemUgUGFuZSIsc2hvcnRjdXRIaW50OlQsb25FeGVjdXRlOigpPT5pKCl9fSkpfWVsc2UgaWYoZS5taW5pbWl6ZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUubWluaW1pemUudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLm1pbmltaXplLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5NaW5pbWl6ZVBhbmUiLG9wdGlvbnM6e2ljb246RSxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1pbmltaXplIFBhbmUiLHNob3J0Y3V0SGludDpULG9uRXhlY3V0ZTooKT0+aSgpfX0pKX1pZihlLmNvbGxhcHNlLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5jb2xsYXBzZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUuY29sbGFwc2UuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLkNvbGxhcHNlUGFuZSIsb3B0aW9uczp7aWNvbjp4LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiQ29sbGFwc2UgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUucmVzdG9yZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUucmVzdG9yZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUucmVzdG9yZS5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuUmVzdG9yZVBhbmUiLG9wdGlvbnM6e2ljb246TCxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6IlJlc3RvcmUgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUudXAudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PSgwLGMuZW5zdXJlKShlLnVwLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS51cC5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuTW92ZVBhbmVVcCIsb3B0aW9uczp7aWNvbjp3LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTW92ZSBwYW5lIHVwIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5kb3duLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5kb3duLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS5kb3duLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5Nb3ZlUGFuZURvd24iLG9wdGlvbnM6e2ljb246QyxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1vdmUgcGFuZSBkb3duIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5jbG9zZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUuY2xvc2UudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLmNsb3NlLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5EZWxldGVQYW5lIixvcHRpb25zOntpY29uOnksbGFiZWw6dC52YWx1ZSgpLHN0YXROYW1lOiJEZWxldGUgcGFuZSIsb25FeGVjdXRlOigpPT5pKCl9fSkpfWNvbnN0IG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0LmN1cnJlbnRUYXJnZXQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudShzLHtjbGllbnRYOm8ucmlnaHQsY2xpZW50WTpvLnRvcCtvLmhlaWdodCszLGF0dGFjaFRvWEJ5OiJyaWdodCJ9LHZvaWQgMCx2b2lkIDAsaSl9KHRoaXMuX2FjdGlvbnMsZSwoKCk9Pnt0aGlzLl9tb3JlQ01TaG93bj0hMX0pKS50aGVuKCgoKT0+e3RoaXMuX21vcmVDTVNob3duPSEwfSkpfV9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fZ2V0SXNXaWRnZXRTaG93KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5sZW5ndGg+MX1fdHJhY2tFdmVudChlKXsoMCxvLnRyYWNrRXZlbnQpKCJHVUkiLCJQYW5lIGFjdGlvbiIsZSl9fX0sOTU2MzY4KGUsdCxpKXsKInVzZSBzdHJpY3QiO2kuZCh0LHtjcmVhdGVBY3Rpb25FbGVtZW50OigpPT5sfSk7dmFyIHM9aSg2NzI1MTEpLG89aSgxMzg2MzgpLG49aSg2MDE4NDEpLGE9aSg1ODI0NzYpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdHtidXR0b25DbGFzc05hbWU6aSx3cmFwSWNvbkNsYXNzTmFtZTpsLGhpZGRlbkNsYXNzTmFtZTpyLGljb25TaXplOmQsYmx1ck9uQ2xpY2s6dX09dCxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodC50YWcpO2MuY2xhc3NOYW1lPWksYy5jbGFzc0xpc3QudG9nZ2xlKHIsIWUudmlzaWJsZS52YWx1ZSgpKSxjLmRhdGFzZXQucWFJZD1lLmRhdGFRYUlkLHZvaWQgMCE9PWUuY2xhc3NOYW1lJiZjLmNsYXNzTGlzdC5hZGQoZS5jbGFzc05hbWUpLHZvaWQgMCE9PWUudGl0bGUmJihjLmNsYXNzTGlzdC5hZGQoImFwcGx5LWNvbW1vbi10b29sdGlwIiksYy5zZXRBdHRyaWJ1dGUoInRpdGxlIixlLnRpdGxlLnZhbHVlKCkpLHZvaWQgMCE9PWUuaG90S2V5VGl0bGUmJihjLmRhdGFzZXQudG9vbHRpcEhvdGtleT1lLmhvdEtleVRpdGxlKSksYy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKDAsYS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKGUuYWN0aW9uKSksYy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCh0PT57MD09PXQuYnV0dG9uJiYoZS5hY3Rpb24odCksdSYmYy5ibHVyKCkpfSkpO2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bGV0IHA7cmV0dXJuIGguY2xhc3NMaXN0LmFkZChsKSxwPSgwLHMuZGVmYXVsdCkoZS5pY29uKT9lLmljb24uZ2V0KCgwLG8uZW5zdXJlRGVmaW5lZCkoZCkpfHwiIjplLmljb24sKDAsbi5pc1N0cmluZykocCk/aC5pbm5lckhUTUw9cDpoLmFwcGVuZENoaWxkKHApLGMuYXBwZW5kQ2hpbGQoaCksY319LDQ2MDU0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0N1c3RvbVN0dWR5OigpPT5vfSk7Y29uc3Qgcz17TGluZWFyUmVncmVzc2lvbjohMCxQaXZvdFBvaW50c0hpZ2hMb3c6ITAsVmJQU2Vzc2lvbnM6ITAsVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkOiEwLFZiUFBlcmlvZGljOiEwLFZiUEF1dG9BbmNob3JlZDohMCxaaWdaYWc6ITAsVFBPUGVyaW9kaWM6ITAsVFBPU2Vzc2lvbnM6ITAsVmJQRml4ZWQ6ITAsUGl2b3RQb2ludHNTdGFuZGFyZDohMCxWYlBWaXNpYmxlOiEwLFZiUEFuY2hvcmVkOiEwfTtmdW5jdGlvbiBvKGUpe3JldHVybiBlIGluIHN9fSwzMzMzMTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VHdlbW9qaVVybDooKT0+b30pO3ZhciBzPWkoMjYwNjAzKTtmdW5jdGlvbiBvKGUsdCl7bGV0IGk9IiI7cmV0dXJuIHMuZGVmYXVsdC5wYXJzZShlLChlPT4oaT1zLmRlZmF1bHQuYmFzZSsoInN2ZyI9PT10P2BzdmcvJHtlfS5zdmdgOmA3Mng3Mi8ke2V9LnBuZ2ApLCExKSkpLGl9cy5kZWZhdWx0LmJhc2U9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3R3ZW1vamkvMTMuMC4xLyJ9LDMwOTgzNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRVdG1Ub1VybDooKT0+b30pO3ZhciBzPWkoNjAxNTg3KTtmdW5jdGlvbiBvKGUsdCl7aWYoIS8oW2EtekEtWjAtOS4tXSp0cmFkaW5ndmlldy5jb20pfGxvY2FsaG9zdC8udGVzdChlKSlyZXR1cm4gZTtjb25zdCBpPSgwLHMuYnVpbGRVdG1RdWVyeVN0cmluZykodCk7aWYoIiI9PT1pKXJldHVybiBlO2NvbnN0IG89ZS5pbmRleE9mKCI/Iiksbj1lLmluZGV4T2YoIiMiKSxhPS0xIT09bjtpZigtMSE9PW8mJighYXx8bzxuKSl7cmV0dXJuYCR7ZS5zbGljZSgwLG8pfT8ke2E/ZS5zbGljZShvKzEsbik6ZS5zbGljZShvKzEpfSYke2l9JHthP2Uuc2xpY2Uobik6IiJ9YH1pZihhKXtyZXR1cm5gJHtlLnNsaWNlKDAsbil9PyR7aX0ke2Uuc2xpY2Uobil9YH1yZXR1cm5gJHtlfT8ke2l9YH19LDYwMTU4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5yLGZpbHRlclV0bUluZm86KCk9PmF9KTt2YXIgcz1pKDQ5MjY3Nyksbz1pKDY0MTU5Myk7Y29uc3Qgbj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gYShlKXtjb25zdCB0PXt9O3JldHVybiBuLmZvckVhY2goKGk9Pntjb25zdCBzPWVbaV07InN0cmluZyI9PXR5cGVvZiBzJiYiIiE9PXMmJih0W2ldPSgwLG8uaHRtbEVzY2FwZSkocykpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IGk9KDAscy5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBpJiZ0PyI/IitpOml9ZnVuY3Rpb24gcihlKXtyZXR1cm4gbChhKCgwLHMuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDkzNTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuOTIgNy44MyA5IDEyLjI5bDUuMDgtNC40Ni0xLTEuMTNMOSAxMC4yOWwtNC4wOS0zLjYtLjk5IDEuMTRaIi8+PC9zdmc+J30sNzMyMDM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjgzIDMuOTIgMTIuMjggOWwtNC40NSA1LjA4LTEuMTMtMUwxMC4yOSA5bC0zLjYtNC4wOSAxLjE0LS45OVoiLz48L3N2Zz4nfSwxMjE0NzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDEwSDRWOC41aDEwVjEwWiIvPjwvc3ZnPid9LDU0OTc3MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTguMjUgMTMuNzV2LTkuNWgxLjV2OS41aC0xLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuNzUgOS43NWgtOS41di0xLjVoOS41djEuNVoiLz48L3N2Zz4nfSwyNDcwMzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0LjUgOFYzLjVIMTBWMmg2djZoLTEuNVptLTExIDJ2NC41SDhWMTZIMnYtNmgxLjVaIi8+PC9zdmc+J30sNTczNTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjQ1IDMuNSAxMi40OCA5bC01LjAzIDUuNDkgMS4xIDEuMDFMMTQuNTIgOSA4LjU1IDIuNDkgNy40NSAzLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMy45MyA1Ljk5IDIuNTggMy0yLjU4IDMuMDIgMS4xNC45OCAzLjQyLTQtMy40Mi0zLjk4TDMuOTMgNloiLz48L3N2Zz4nfSw5OTc4MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDYuMzhWOEw2IDUuNSAxMCAzdjEuODVBNS4yNSA1LjI1IDAgMSAxIDMuNzUgMTBhLjc1Ljc1IDAgMCAxIDEuNSAwQTMuNzUgMy43NSAwIDEgMCAxMCA2LjM4WiIvPjwvc3ZnPid9LDQ2MjcwNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgNGgzdjFoLTEuMDRsLS44OCA5LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZINi40MmExLjUgMS41IDAgMCAxLTEuNS0xLjM2TDQuMDUgNUgzVjRoM3YtLjVDNiAyLjY3IDYuNjcgMiA3LjUgMmgzYy44MyAwIDEuNS42NyAxLjUgMS41VjRaTTcuNSAzYS41LjUgMCAwIDAtLjUuNVY0aDR2LS41YS41LjUgMCAwIDAtLjUtLjVoLTNaTTUuMDUgNWwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTIuOTQgNWgtNy45WiIvPjwvc3ZnPid9LDMzMzQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC4zMSA0LjEzIDguMyA2LjE0YS41LjUgMCAxIDEtLjctLjdsMi4xMy0yLjEyYTMuNSAzLjUgMCAxIDEgNC45NSA0Ljk1bC0yLjExIDIuMTFhLjUxLjUxIDAgMSAxLS43My0uNzJsMi0yYTIuNSAyLjUgMCAwIDAtMy41My0zLjUzWm0tMi4xNCA5LjMgMi4wMS0yYS41LjUgMCAwIDEgLjcuNjlsLTIuMTMgMi4xMkEzLjUgMy41IDAgMCAxIDMuOCA5LjI5bDIuMTEtMi4xMWEuNTEuNTEgMCAwIDEgLjcyLjcybC0yIDJhMi41IDIuNSAwIDAgMCAzLjU0IDMuNTRaTTExIDcuMDJhLjQ5LjQ5IDAgMCAwLS42OSAwTDcuNDcgOS44N2EuNDkuNDkgMCAwIDAgLjY4LjY5bDIuODYtMi44NmEuNDkuNDkgMCAwIDAgMC0uN1oiLz48L3N2Zz4nfSw2NzcwMTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjA4IDUuNzVhNS4wNyA1LjA3IDAgMCAxIDcuMTcgNy4xN2wtMy4yMyAzLjIzLS43LS43IDMuMjItMy4yNGE0LjA3IDQuMDcgMCAxIDAtNS43NS01Ljc1bC0zLjIzIDMuMjMtLjctLjcxIDMuMjItMy4yM1ptLTkuMzMgOS4zM2E1LjA3IDUuMDcgMCAxIDAgNy4xNyA3LjE3bDMuMjMtMy4yMy0uNy0uNy0zLjI0IDMuMjJhNC4wNyA0LjA3IDAgMSAxLTUuNzUtNS43NWwzLjIzLTMuMjMtLjcxLS43LTMuMjMgMy4yMlptMTAuNzctNC4zLTUuNzQgNS43NC43LjcgNS43NS01Ljc0LS43MS0uN1oiLz48L3N2Zz4nfSwyMDMzMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00IDhhNCA0IDAgMSAwIDggMCA0IDQgMCAxIDAtOCAwIi8+PC9zdmc+J30sMjc0ODUxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDhhOCA4IDAgMSAwIDE2IDBBOCA4IDAgMSAwIDAgOHptMiAwYTYgNiAwIDEgMCAxMiAwQTYgNiAwIDEgMCAyIDh6bTIgMGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwzMzQ1NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE2LjUgMjBMMTEgMTQuNSAxNi41IDkiLz48L3N2Zz4nfSw1ODA1OTYoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggNWwzLjUgMy41TDggMTIiLz48L3N2Zz4nfSw1NTY2NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDE4Yy0zLjA3IDAtNi4yMS0xLjk1LTcuOTItNkM1Ljc4IDcuOTUgOC45MyA2IDEyIDZjMy4wOCAwIDYuMjIgMS45NSA3LjkyIDYtMS43IDQuMDUtNC44NCA2LTcuOTIgNlptOC45My02LjE5QzE5LjEgNy4zMSAxNS41OSA1IDEyIDVTNC45IDcuMzIgMy4wOCAxMS44TDMgMTJsLjA4LjE5QzQuODkgMTYuNjggOC40IDE5IDEyIDE5YzMuNiAwIDcuMTEtMi4zMiA4LjkzLTYuODFsLjA3LS4yLS4wNy0uMThaTTE0IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L2c+PGcgY2xhc3M9ImNyb3NzZWQtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiAxOWE4LjQ3IDguNDcgMCAwIDEtMy44Ny0uOTVsLjc1LS43NWMxIC40NyAyLjA3LjcgMy4xMi43IDMuMDggMCA2LjIyLTEuOTUgNy45Mi02YTExLjE4IDExLjE4IDAgMCAwLTIuMjUtMy40OWwuNy0uN2ExMi4yOCAxMi4yOCAwIDAgMSAyLjU2IDRMMjEgMTJsLS4wNy4xOUMxOS4xIDE2LjY4IDE1LjU5IDE5IDEyIDE5Wm0tNy45Mi03Yy42IDEuNDIgMS4zNyAyLjU4IDIuMjYgMy40OWwtLjcuN2ExMi4yOCAxMi4yOCAwIDAgMS0yLjU2LTRsLS4wOC0uMi4wOC0uMThDNC44OSA3LjMxIDguNCA1IDEyIDVjMS4zMyAwIDIuNjUuMzIgMy44OC45NGwtLjc1Ljc1QTcuNDUgNy40NSAwIDAgMCAxMiA2QzguOTMgNiA1LjggNy45NiA0LjA4IDEyWk0xMiAxNWEzIDMgMCAwIDEtLjczLS4wOWwuOTItLjkyYTIgMiAwIDAgMCAxLjgtMS44bC45Mi0uOTJBMyAzIDAgMCAxIDEyIDE1Wm0tMi45MS0yLjI3LjkyLS45MUEyIDIgMCAwIDEgMTEuOCAxMGwuOTItLjkyYTMgMyAwIDAgMC0zLjY0IDMuNjRabTkuMDgtNy42Ni0xMy4xIDEzLjEuNzcuNzYgMTMuMDktMTMuMS0uNzYtLjc2WiIvPjwvZz48ZyBmaWxsPSJub25lIiBjbGFzcz0ibG9hZGluZy1leWUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMjAuNDYgMTJjLTMuNSA4LjY3LTEzLjQyIDguNjctMTYuOTIgMCAzLjUtOC42NyAxMy40Mi04LjY3IDE2LjkyIDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDEyYTIuNSAyLjUgMCAxIDAtMi41IDIuNSIvPjwvZz48L3N2Zz4nfSw5MDMwMzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDlhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0tMSAwYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi45MSA4LjhDMTUuMzEgNC45OSAxMi4xOCAzIDkgMyA1LjgyIDMgMi43IDQuOTggMS4wOCA4LjhMMSA5bC4wOC4yQzIuNyAxMy4wMiA1LjgyIDE1IDkgMTVjMy4xOCAwIDYuMy0xLjk3IDcuOTEtNS44TDE3IDlsLS4wOS0uMlpNOSAxNGMtMi42OSAwLTUuNDItMS42My02LjkxLTUgMS40OS0zLjM3IDQuMjItNSA2LjktNSAyLjcgMCA1LjQzIDEuNjMgNi45MiA1LTEuNSAzLjM3LTQuMjMgNS02LjkxIDVaIi8+PC9nPjxnIGNsYXNzPSJjcm9zc2VkLWV5ZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy43IDE1IDE1IDMuN2wtLjctLjdMMyAxNC4zbC43LjdaTTkgM2MxLjA5IDAgMi4xNy4yMyAzLjE5LjdsLS43Ny43NkMxMC42NCA0LjE2IDkuODIgNCA5IDQgNi4zMSA0IDMuNTggNS42MyAyLjA4IDlhOS4zNSA5LjM1IDAgMCAwIDEuOTMgMi44N2wtLjcuN0ExMC40NCAxMC40NCAwIDAgMSAxLjA4IDkuMkwxIDlsLjA4LS4yQzIuNjkgNC45OSA1LjgyIDMgOSAzWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNmEzIDMgMCAwIDEgLjc4LjFsLS45LjlBMiAyIDAgMCAwIDcgOC44N2wtLjkuOUEzIDMgMCAwIDEgOSA2Wk0xMS45IDguMjJsLS45LjlBMiAyIDAgMCAxIDkuMTMgMTFsLS45LjlhMyAzIDAgMCAwIDMuNjctMy42OFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0Yy0uODIgMC0xLjY0LS4xNS0yLjQzLS40NWwtLjc2Ljc2YzEuMDIuNDYgMi4xLjcgMy4xOS43IDMuMTggMCA2LjMxLTEuOTggNy45Mi01LjgxTDE3IDlsLS4wOC0uMmExMC40NCAxMC40NCAwIDAgMC0yLjIzLTMuMzdsLS43LjdjLjc1Ljc2IDEuNDEgMS43MSAxLjkzIDIuODctMS41IDMuMzctNC4yMyA1LTYuOTIgNVoiLz48L2c+PGcgZmlsbD0ibm9uZSIgY2xhc3M9ImxvYWRpbmctZXllIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTE2LjQ1IDljLTMuMDggNy4zMy0xMS44MiA3LjMzLTE0LjkgMCAzLjA4LTcuMzMgMTEuODItNy4zMyAxNC45IDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS41IDlBMi41IDIuNSAwIDEgMCA5IDExLjUiLz48L2c+PC9zdmc+J30sMTEzODEwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNS41IDExYTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zWk0zIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTEwIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTE3IDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBaIi8+PC9zdmc+J30sODk2OTQ3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMgMTBhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm02LTFhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm03LTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWm0xIDBhMiAyIDAgMSAxLTQgMCAyIDIgMCAwIDEgNCAwWiIvPjwvc3ZnPid9LDQ2NzU0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41NC44NGEuOC44IDAgMCAxIC45MiAwbDcuNSA1LjI1YS44LjggMCAwIDEgMCAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwTDEuMDQgNy40YS44LjggMCAwIDEgMC0xLjMyTDguNTQuODR6TTIuOSA2Ljc1TDkgMTEuMDJsNi4xLTQuMjdMOSAyLjQ4IDIuOSA2Ljc1eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTS44NCAxMC44YS44LjggMCAwIDEgMS4xMi0uMkw5IDE1LjUxbDcuMDQtNC45M2EuOC44IDAgMCAxIC45MiAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwbC03LjUtNS4yNWEuOC44IDAgMCAxLS4yLTEuMTJ6Ii8+PC9zdmc+J30sOTUyNTQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMjMgMi41OGEuNS41IDAgMCAxIC41NCAwbDUuNSAzLjVhLjUuNSAwIDAgMSAwIC44NGwtNS41IDMuNWEuNS41IDAgMCAxLS41NCAwbC01LjUtMy41YS41LjUgMCAwIDEgMC0uODRsNS41LTMuNXpNMi45MyA2LjVMNy41IDkuNGw0LjU3LTIuOUw3LjUgMy42IDIuOTMgNi41eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNTggOS4yM2EuNS41IDAgMCAxIC42OS0uMTVMNy41IDEyLjRsNS4yMy0zLjMzYS41LjUgMCAwIDEgLjU0Ljg0bC01LjUgMy41YS41LjUgMCAwIDEtLjU0IDBsLTUuNS0zLjVhLjUuNSAwIDAgMS0uMTUtLjY5eiIvPjwvc3ZnPid9LDg1MjY3MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiA3LjVBMi41IDIuNSAwIDAgMSA4LjUgNUgxMHYxSDguNUM3LjY3IDYgNyA2LjY3IDcgNy41djEuMTVhMy41IDMuNSAwIDAgMS0xLjkzIDMuMTNsLS40NS4yMi40NS4yMkEzLjUgMy41IDAgMCAxIDcgMTUuMzV2MS4xNWMwIC44My42NyAxLjUgMS41IDEuNUgxMHYxSDguNUEyLjUgMi41IDAgMCAxIDYgMTYuNXYtMS4xNWEyLjUgMi41IDAgMCAwLTEuMzgtMi4yM2wtMS4zNC0uNjdhLjUuNSAwIDAgMSAwLS45bDEuMzQtLjY3QTIuNSAyLjUgMCAwIDAgNiA4LjY1VjcuNVpNMTUuNSA2SDE0VjVoMS41QTIuNSAyLjUgMCAwIDEgMTggNy41djEuMTVjMCAuOTQuNTQgMS44IDEuMzggMi4yM2wxLjM0LjY3YS41LjUgMCAwIDEgMCAuOWwtMS4zNC42N0EyLjUgMi41IDAgMCAwIDE4IDE1LjM1djEuMTVhMi41IDIuNSAwIDAgMS0yLjUgMi41SDE0di0xaDEuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEuMTVhMy41IDMuNSAwIDAgMSAxLjkzLTMuMTNsLjQ1LS4yMi0uNDUtLjIyQTMuNSAzLjUgMCAwIDEgMTcgOC42NVY3LjVjMC0uODMtLjY3LTEuNS0xLjUtMS41WiIvPjwvc3ZnPid9LDE0NTA5MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTRINS41QTEuNSAxLjUgMCAwIDEgNCAxMi41di0xQTIuOSAyLjkgMCAwIDAgMi42NiA5bC4xOC0uMTNBMi45IDIuOSAwIDAgMCA0IDYuNVY1LjVDNCA0LjY3IDQuNjcgNCA1LjUgNEg3VjNINS41QTIuNSAyLjUgMCAwIDAgMyA1LjVWNi41YTEuOSAxLjkgMCAwIDEtLjc3IDEuNThjLS40Mi4zMi0uODQuNDMtLjg1LjQ0QzEuMyA4LjU0IDEgOC42NSAxIDlzLjMuNDYuMzguNDhjMCAwIC40My4xMi44NS40NC40LjMuNzcuOC43NyAxLjU4djFBMi41IDIuNSAwIDAgMCA1LjUgMTVIN3YtMVptNC0xMGgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2MUEyLjkgMi45IDAgMCAwIDE1LjM0IDlsLS4xOC4xM0EyLjkgMi45IDAgMCAwIDE0IDExLjVWMTIuNWMwIC44My0uNjcgMS41LTEuNSAxLjVIMTF2MWgxLjVhMi41IDIuNSAwIDAgMCAyLjUtMi41VjExLjVjMC0uNzkuMzgtMS4yNy43Ny0xLjU4LjQyLS4zMi44NC0uNDMuODUtLjQ0LjA4LS4wMi4zOC0uMTMuMzgtLjQ4cy0uMy0uNDYtLjM4LS40OGMwIDAtLjQzLS4xMi0uODUtLjQ0LS40LS4zLS43Ny0uOC0uNzctMS41OHYtMUEyLjUgMi41IDAgMCAwIDEyLjUgM0gxMXYxWiIvPjwvc3ZnPid9LDY5ODU5MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01LjEyIDEyIDMtNmg3Ljc2bDMgNi0zIDZIOC4xMmwtMy02Wk03LjUgNWg5bDMuNSA3LTMuNSA3aC05TDQgMTJsMy41LTdabTYuNSA3YTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L3N2Zz4nfSw3NDI0MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMy4xIDkgMi4yOC01aDcuMjRsMi4yOCA1LTIuMjggNUg1LjM4TDMuMSA5Wm0xLjYzLTZoOC41NEwxNiA5bC0yLjczIDZINC43M0wyIDlsMi43My02Wm01Ljc3IDZhMS41IDEuNSAwIDEgMS0zIDAgMS41IDEuNSAwIDAgMSAzIDBabTEgMGEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMFoiLz48L3N2Zz4nfSw3MjA1MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjUgNmEuNS41IDAgMCAwLS41LjVWN2g0di0uNWEuNS41IDAgMCAwLS41LS41aC0zWk0xNSA3aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg5LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNy4wNSA4SDZWN2gzdi0uNWMwLS44My42Ny0xLjUgMS41LTEuNWgzYy44MyAwIDEuNS42NyAxLjUgMS41VjdaTTguMDUgOGwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTUuOTQgOGgtNy45WiIvPjwvc3ZnPid9LDg3MjgzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAyIDcuNSA1IDQgMiIgY2xhc3M9ImJyYWNrZXQtdXAiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTNsMy41LTMgMy41IDMiIGNsYXNzPSJicmFja2V0LWRvd24iLz48L3N2Zz4nfSwzNzU3MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMC41MyAzLjczIDE0IDkuMzMgNy40NyAzLjczTTcuNDcgMjQuMjdsNi41MyAtNS42MCA2LjUzIDUuNjAiLz48L3N2Zz4nfSwxNzcyNTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDd2MTIuOTNsNS4xOC00LjMxLjY0Ljc2LTYuMzIgNS4yNy02LjMyLTUuMjcuNjQtLjc2TDEzIDE5LjkzVjdoMXoiLz48L3N2Zz4nfSw1MzY1MzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5LjMyIDZIOC42OEEyLjY4IDIuNjggMCAwIDAgNiA4LjY4VjExaDFWOC42OEM3IDcuNzUgNy43NSA3IDguNjggN2gxMC42NGMuOTMgMCAxLjY4Ljc1IDEuNjggMS42OFYxMWgxVjguNjhDMjIgNy4yIDIwLjggNiAxOS4zMiA2ek03IDE5LjMyYzAgLjkzLjc1IDEuNjggMS42OCAxLjY4aDEwLjY0Yy45MyAwIDEuNjgtLjc1IDEuNjgtMS42OFYxN2gxdjIuMzJDMjIgMjAuOCAyMC44IDIyIDE5LjMyIDIySDguNjhBMi42OCAyLjY4IDAgMCAxIDYgMTkuMzJWMTdoMXYyLjMyeiIvPjwvc3ZnPid9LDI5NjE2MyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNy40NyA5LjMzIDYuNTMgLTUuNjBMMjAuNTMgOS4zM00yMC41MyAxOC42N2wtNi41MyA1LjYwTDcuNDcgMTguNjciLz48L3N2Zz4nfSw2MTczMDMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4IDdoNXYxaC0yLjAxbC0xLjMzIDE0LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZIOS44NGExLjUgMS41IDAgMCAxLTEuNDktMS4zNkw3LjAxIDhINVY3aDVWNmMwLTEuMS45LTIgMi0yaDRhMiAyIDAgMCAxIDIgMnYxWm0tNi0yYTEgMSAwIDAgMC0xIDF2MWg2VjZhMSAxIDAgMCAwLTEtMWgtNFpNOC4wMiA4bDEuMzIgMTQuNTRhLjUuNSAwIDAgMCAuNS40Nmg4LjMzYS41LjUgMCAwIDAgLjUtLjQ2TDE5Ljk5IDhIOC4wMloiLz48L3N2Zz4nfSw5NjIwNzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNi4zNWw2LjMyIDUuMjctLjY0Ljc2TDE0IDguMDdWMjFoLTFWOC4wN2wtNS4xOCA0LjMxLS42NC0uNzYgNi4zMi01LjI3eiIvPjwvc3ZnPid9LDc1MTUxMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIxMi43NSIgY3k9IjcuNSIgcj0iMS4yNSIvPjxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iNy41IiBjeT0iNy41IiByPSIxLjI1Ii8+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIyLjI1IiBjeT0iNy41IiByPSIxLjI1Ii8+PC9zdmc+J30sNDIzNjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS44MyA4Ljg4bC0uNjYtLjc2TDggMTAuOVYzSDd2Ny45TDMuODMgOC4xMmwtLjY2Ljc2IDQuMzMgMy43OCA0LjMzLTMuNzh6Ii8+PC9zdmc+J30sNTM4MDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAxMkExLjUgMS41IDAgMCAxIDMgMTAuNVY5SDJ2MS41QTIuNSAyLjUgMCAwIDAgNC41IDEzaDZhMi41IDIuNSAwIDAgMCAyLjUtMi41VjloLTF2MS41YzAgLjgzLS42NyAxLjUtMS41IDEuNWgtNnoiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC41IDNDMy42NyAzIDMgMy42NyAzIDQuNVY2SDJWNC41QTIuNSAyLjUgMCAwIDEgNC41IDJoNkEyLjUgMi41IDAgMCAxIDEzIDQuNVY2aC0xVjQuNWMwLS44My0uNjctMS41LTEuNS0xLjVoLTZ6IiBjbGFzcz0iYnJhY2tldC1kb3duIi8+PC9zdmc+J30sNjQ4OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNCA1IDMuNS0zTDExIDUiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAxMGwtMy41IDNMNCAxMCIgY2xhc3M9ImJyYWNrZXQtZG93biIvPjwvc3ZnPid9LDI4NDA3NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDJhLjUuNSAwIDAgMC0uNS41VjNoM3YtLjVhLjUuNSAwIDAgMC0uNS0uNWgtMlpNMTAgM2gzdjFoLTEuMDVsLS44NiA4LjY1QTEuNSAxLjUgMCAwIDEgOS41OSAxNEg1LjRhMS41IDEuNSAwIDAgMS0xLjQ5LTEuMzVMMy4wNSA0SDJWM2gzdi0uNUM1IDEuNjcgNS42NyAxIDYuNSAxaDJjLjgzIDAgMS41LjY3IDEuNSAxLjVWM1pNNC4wNSA0bC44NiA4LjU1YS41LjUgMCAwIDAgLjUuNDVIOS42YS41LjUgMCAwIDAgLjUtLjQ1TDEwLjk0IDRoLTYuOVoiLz48L3N2Zz4nfSw4MTI5NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjgzIDYuMTJsLS42Ni43Nkw4IDQuMVYxMkg3VjQuMUwzLjgzIDYuODhsLS42Ni0uNzZMNy41IDIuMzRsNC4zMyAzLjc4eiIvPjwvc3ZnPid9LDM4MDU2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTcgMTVsNSA1TDIzIDkiLz48L3N2Zz4nfSw4MjQyNDIoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yLjQgNS40NmEuOC44IDAgMCAxIDEuMTQtLjA1TDggOS40Mmw0LjQ2LTQuMDFhLjguOCAwIDAgMSAxLjA4IDEuMThMOCAxMS41OCAyLjQ3IDYuNTlhLjguOCAwIDAgMS0uMDYtMS4xM3oiLz48L3N2Zz4nfSw0NzE1MTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuNSA1LjU4Yy4yNC0uMjguNjUtLjMuOTItLjA3TDcuNSA4LjE0bDMuMDgtMi42M2EuNjUuNjUgMCAxIDEgLjg0Ljk4TDcuNSA5Ljg2IDMuNTggNi40OWEuNjUuNjUgMCAwIDEtLjA3LS45MXoiLz48L3N2Zz4nfSw0MzE4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgN0w3IDRINFYwSDNWNEgwTDMuNSA3WiIvPjwvc3ZnPid9LDM2ODk1NChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOSA3IiB3aWR0aD0iOSIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0uNSAzLjVMNCAwdjNoNXYxSDR2M3oiLz48L3N2Zz4nfSw5MzMxMTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyIDEyIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjU3IDBIMWExIDEgMCAwIDAtMSAxdjEwYTEgMSAwIDAgMCAxIDFoMTAuNTdhLjUuNSAwIDAgMCAuNDEtLjc4bC0zLjMtNC45NGEuNS41IDAgMCAxIDAtLjU2bDMuMy00Ljk0YS41LjUgMCAwIDAtLjQxLS43OHoiLz48L3N2Zz4nfSwyOTEyMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDkgNyIgd2lkdGg9IjkiIGhlaWdodD0iNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDMuNUw1IDB2M0gwdjFoNXYzeiIvPjwvc3ZnPid9LDgzNTU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgMEwwIDNoM3Y0aDFWM2gzTDMuNSAweiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtkZWZhdWx0OigpPT5zfSk7Y29uc3Qgcz1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Yn0sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxpKXtpJiYiZnVuY3Rpb24iIT10eXBlb2YgaXx8KGk9e2NhbGxiYWNrOml9KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3A6aCkodCx7Y2FsbGJhY2s6aS5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBpLmF0dHJpYnV0ZXM/aS5hdHRyaWJ1dGVzOmcsYmFzZToic3RyaW5nIj09dHlwZW9mIGkuYmFzZT9pLmJhc2U6ZS5iYXNlLGV4dDppLmV4dHx8ZS5leHQsc2l6ZTppLmZvbGRlcnx8KHM9aS5zaXplfHxlLnNpemUsIm51bWJlciI9PXR5cGVvZiBzP3MrIngiK3M6cyksY2xhc3NOYW1lOmkuY2xhc3NOYW1lfHxlLmNsYXNzTmFtZSxvbmVycm9yOmkub25lcnJvcnx8ZS5vbmVycm9yfSk7dmFyIHN9LHJlcGxhY2U6bSx0ZXN0OmZ1bmN0aW9uKGUpe2kubGFzdEluZGV4PTA7dmFyIHQ9aS50ZXN0KGUpO3JldHVybiBpLmxhc3RJbmRleD0wLHR9fSx0PXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsIiciOiImIzM5OyIsJyInOiImcXVvdDsiCn0saT0vKD86XHVkODNkXHVkYzY4XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDF8XHVkODNkXHVkYzZiXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2Y1x1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmRcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkW1x1ZGM2Yi1cdWRjNmRdKXwoPzpcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2VcdWRkZDEpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGQoPzpcdTI2OTVcdWZlMGZ8XHUyNjk2XHVmZTBmfFx1MjcwOFx1ZmUwZnxcdWQ4M2NbXHVkZjNlXHVkZjczXHVkZjdjXHVkZjg0XHVkZjkzXHVkZmE0XHVkZmE4XHVkZmViXHVkZmVkXXxcdWQ4M2RbXHVkY2JiXHVkY2JjXHVkZDI3XHVkZDJjXHVkZTgwXHVkZTkyXXxcdWQ4M2VbXHVkZGFmLVx1ZGRiM1x1ZGRiY1x1ZGRiZF0pfCg/Olx1ZDgzY1tcdWRmY2JcdWRmY2NdfFx1ZDgzZFtcdWRkNzRcdWRkNzVdfFx1MjZmOSkoKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZmUwZilcdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZil8KD86XHVkODNjW1x1ZGZjM1x1ZGZjNFx1ZGZjYV18XHVkODNkW1x1ZGM2ZVx1ZGM3MFx1ZGM3MVx1ZGM3M1x1ZGM3N1x1ZGM4MVx1ZGM4Mlx1ZGM4Nlx1ZGM4N1x1ZGU0NS1cdWRlNDdcdWRlNGJcdWRlNGRcdWRlNGVcdWRlYTNcdWRlYjQtXHVkZWI2XXxcdWQ4M2VbXHVkZDI2XHVkZDM1XHVkZDM3LVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGRiOFx1ZGRiOVx1ZGRjZC1cdWRkY2ZcdWRkZDYtXHVkZGRkXSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP1x1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmfCg/Olx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdTI2YTdcdWZlMGZ8XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHVkODNjXHVkZjA4fFx1ZDgzY1x1ZGZmNFx1MjAwZFx1MjYyMFx1ZmUwZnxcdWQ4M2RcdWRjMTVcdTIwMGRcdWQ4M2VcdWRkYmF8XHVkODNkXHVkYzNiXHUyMDBkXHUyNzQ0XHVmZTBmfFx1ZDgzZFx1ZGM0MVx1MjAwZFx1ZDgzZFx1ZGRlOHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNmZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZFx1ZGMwOFx1MjAwZFx1MmIxYil8WyMqMC05XVx1ZmUwZj9cdTIwZTN8KD86W8Kpwq5cdTIxMjJcdTI2NWZdXHVmZTBmKXwoPzpcdWQ4M2NbXHVkYzA0XHVkZDcwXHVkZDcxXHVkZDdlXHVkZDdmXHVkZTAyXHVkZTFhXHVkZTJmXHVkZTM3XHVkZjIxXHVkZjI0LVx1ZGYyY1x1ZGYzNlx1ZGY3ZFx1ZGY5Nlx1ZGY5N1x1ZGY5OS1cdWRmOWJcdWRmOWVcdWRmOWZcdWRmY2RcdWRmY2VcdWRmZDQtXHVkZmRmXHVkZmYzXHVkZmY1XHVkZmY3XXxcdWQ4M2RbXHVkYzNmXHVkYzQxXHVkY2ZkXHVkZDQ5XHVkZDRhXHVkZDZmXHVkZDcwXHVkZDczXHVkZDc2LVx1ZGQ3OVx1ZGQ4N1x1ZGQ4YS1cdWRkOGRcdWRkYTVcdWRkYThcdWRkYjFcdWRkYjJcdWRkYmNcdWRkYzItXHVkZGM0XHVkZGQxLVx1ZGRkM1x1ZGRkYy1cdWRkZGVcdWRkZTFcdWRkZTNcdWRkZThcdWRkZWZcdWRkZjNcdWRkZmFcdWRlY2JcdWRlY2QtXHVkZWNmXHVkZWUwLVx1ZGVlNVx1ZGVlOVx1ZGVmMFx1ZGVmM118W1x1MjAzY1x1MjA0OVx1MjEzOVx1MjE5NC1cdTIxOTlcdTIxYTlcdTIxYWFcdTIzMWFcdTIzMWJcdTIzMjhcdTIzY2ZcdTIzZWQtXHUyM2VmXHUyM2YxXHUyM2YyXHUyM2Y4LVx1MjNmYVx1MjRjMlx1MjVhYVx1MjVhYlx1MjViNlx1MjVjMFx1MjVmYi1cdTI1ZmVcdTI2MDAtXHUyNjA0XHUyNjBlXHUyNjExXHUyNjE0XHUyNjE1XHUyNjE4XHUyNjIwXHUyNjIyXHUyNjIzXHUyNjI2XHUyNjJhXHUyNjJlXHUyNjJmXHUyNjM4LVx1MjYzYVx1MjY0MFx1MjY0Mlx1MjY0OC1cdTI2NTNcdTI2NjBcdTI2NjNcdTI2NjVcdTI2NjZcdTI2NjhcdTI2N2JcdTI2N2ZcdTI2OTItXHUyNjk3XHUyNjk5XHUyNjliXHUyNjljXHUyNmEwXHUyNmExXHUyNmE3XHUyNmFhXHUyNmFiXHUyNmIwXHUyNmIxXHUyNmJkXHUyNmJlXHUyNmM0XHUyNmM1XHUyNmM4XHUyNmNmXHUyNmQxXHUyNmQzXHUyNmQ0XHUyNmU5XHUyNmVhXHUyNmYwLVx1MjZmNVx1MjZmOFx1MjZmYVx1MjZmZFx1MjcwMlx1MjcwOFx1MjcwOVx1MjcwZlx1MjcxMlx1MjcxNFx1MjcxNlx1MjcxZFx1MjcyMVx1MjczM1x1MjczNFx1Mjc0NFx1Mjc0N1x1Mjc1N1x1Mjc2M1x1Mjc2NFx1MjdhMVx1MjkzNFx1MjkzNVx1MmIwNS1cdTJiMDdcdTJiMWJcdTJiMWNcdTJiNTBcdTJiNTVcdTMwMzBcdTMwM2RcdTMyOTdcdTMyOTldKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzooPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XHVkZDkwXXxbXHUyNjFkXHUyNmY3XHUyNmY5XHUyNzBjXHUyNzBkXSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86XHVkODNjW1x1ZGY4NVx1ZGZjMi1cdWRmYzRcdWRmYzdcdWRmY2FdfFx1ZDgzZFtcdWRjNDJcdWRjNDNcdWRjNDYtXHVkYzUwXHVkYzY2LVx1ZGM2OVx1ZGM2ZVx1ZGM3MC1cdWRjNzhcdWRjN2NcdWRjODEtXHVkYzgzXHVkYzg1LVx1ZGM4N1x1ZGNhYVx1ZGQ3YVx1ZGQ5NVx1ZGQ5Nlx1ZGU0NS1cdWRlNDdcdWRlNGItXHVkZTRmXHVkZWEzXHVkZWI0LVx1ZGViNlx1ZGVjMFx1ZGVjY118XHVkODNlW1x1ZGQwY1x1ZGQwZlx1ZGQxOC1cdWRkMWNcdWRkMWVcdWRkMWZcdWRkMjZcdWRkMzAtXHVkZDM5XHVkZDNkXHVkZDNlXHVkZDc3XHVkZGI1XHVkZGI2XHVkZGI4XHVkZGI5XHVkZGJiXHVkZGNkLVx1ZGRjZlx1ZGRkMS1cdWRkZGRdfFtcdTI3MGFcdTI3MGJdKSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP3woPzpcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzczXHVkYjQwXHVkYzYzXHVkYjQwXHVkYzc0XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3N1x1ZGI0MFx1ZGM2Y1x1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRkZTZcdWQ4M2NbXHVkZGU4LVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmMlx1ZGRmNFx1ZGRmNi1cdWRkZmFcdWRkZmNcdWRkZmRcdWRkZmZdfFx1ZDgzY1x1ZGRlN1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVmXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRlOFx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVlXHVkZGYwLVx1ZGRmNVx1ZGRmN1x1ZGRmYS1cdWRkZmZdfFx1ZDgzY1x1ZGRlOVx1ZDgzY1tcdWRkZWFcdWRkZWNcdWRkZWZcdWRkZjBcdWRkZjJcdWRkZjRcdWRkZmZdfFx1ZDgzY1x1ZGRlYVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWRcdWRkZjctXHVkZGZhXXxcdWQ4M2NcdWRkZWJcdWQ4M2NbXHVkZGVlLVx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmN118XHVkODNjXHVkZGVjXHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWVcdWRkZjEtXHVkZGYzXHVkZGY1LVx1ZGRmYVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGVkXHVkODNjW1x1ZGRmMFx1ZGRmMlx1ZGRmM1x1ZGRmN1x1ZGRmOVx1ZGRmYV18XHVkODNjXHVkZGVlXHVkODNjW1x1ZGRlOC1cdWRkZWFcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOV18XHVkODNjXHVkZGVmXHVkODNjW1x1ZGRlYVx1ZGRmMlx1ZGRmNFx1ZGRmNV18XHVkODNjXHVkZGYwXHVkODNjW1x1ZGRlYVx1ZGRlYy1cdWRkZWVcdWRkZjJcdWRkZjNcdWRkZjVcdWRkZjdcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmMVx1ZDgzY1tcdWRkZTYtXHVkZGU4XHVkZGVlXHVkZGYwXHVkZGY3LVx1ZGRmYlx1ZGRmZV18XHVkODNjXHVkZGYyXHVkODNjW1x1ZGRlNlx1ZGRlOC1cdWRkZWRcdWRkZjAtXHVkZGZmXXxcdWQ4M2NcdWRkZjNcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhLVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmNFx1ZGRmNVx1ZGRmN1x1ZGRmYVx1ZGRmZl18XHVkODNjXHVkZGY0XHVkODNjXHVkZGYyfFx1ZDgzY1x1ZGRmNVx1ZDgzY1tcdWRkZTZcdWRkZWEtXHVkZGVkXHVkZGYwLVx1ZGRmM1x1ZGRmNy1cdWRkZjlcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRmNlx1ZDgzY1x1ZGRlNnxcdWQ4M2NcdWRkZjdcdWQ4M2NbXHVkZGVhXHVkZGY0XHVkZGY4XHVkZGZhXHVkZGZjXXxcdWQ4M2NcdWRkZjhcdWQ4M2NbXHVkZGU2LVx1ZGRlYVx1ZGRlYy1cdWRkZjRcdWRkZjctXHVkZGY5XHVkZGZiXHVkZGZkLVx1ZGRmZl18XHVkODNjXHVkZGY5XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWRcdWRkZWYtXHVkZGY0XHVkZGY3XHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZmXXxcdWQ4M2NcdWRkZmFcdWQ4M2NbXHVkZGU2XHVkZGVjXHVkZGYyXHVkZGYzXHVkZGY4XHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZmJcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVlXHVkZGYzXHVkZGZhXXxcdWQ4M2NcdWRkZmNcdWQ4M2NbXHVkZGViXHVkZGY4XXxcdWQ4M2NcdWRkZmRcdWQ4M2NcdWRkZjB8XHVkODNjXHVkZGZlXHVkODNjW1x1ZGRlYVx1ZGRmOV18XHVkODNjXHVkZGZmXHVkODNjW1x1ZGRlNlx1ZGRmMlx1ZGRmY118XHVkODNjW1x1ZGNjZlx1ZGQ4ZVx1ZGQ5MS1cdWRkOWFcdWRkZTYtXHVkZGZmXHVkZTAxXHVkZTMyLVx1ZGUzNlx1ZGUzOC1cdWRlM2FcdWRlNTBcdWRlNTFcdWRmMDAtXHVkZjIwXHVkZjJkLVx1ZGYzNVx1ZGYzNy1cdWRmN2NcdWRmN2UtXHVkZjg0XHVkZjg2LVx1ZGY5M1x1ZGZhMC1cdWRmYzFcdWRmYzVcdWRmYzZcdWRmYzhcdWRmYzlcdWRmY2YtXHVkZmQzXHVkZmUwLVx1ZGZmMFx1ZGZmNFx1ZGZmOC1cdWRmZmZdfFx1ZDgzZFtcdWRjMDAtXHVkYzNlXHVkYzQwXHVkYzQ0XHVkYzQ1XHVkYzUxLVx1ZGM2NVx1ZGM2YVx1ZGM2Zlx1ZGM3OS1cdWRjN2JcdWRjN2QtXHVkYzgwXHVkYzg0XHVkYzg4LVx1ZGNhOVx1ZGNhYi1cdWRjZmNcdWRjZmYtXHVkZDNkXHVkZDRiLVx1ZGQ0ZVx1ZGQ1MC1cdWRkNjdcdWRkYTRcdWRkZmItXHVkZTQ0XHVkZTQ4LVx1ZGU0YVx1ZGU4MC1cdWRlYTJcdWRlYTQtXHVkZWIzXHVkZWI3LVx1ZGViZlx1ZGVjMS1cdWRlYzVcdWRlZDAtXHVkZWQyXHVkZWQ1LVx1ZGVkN1x1ZGVlYlx1ZGVlY1x1ZGVmNC1cdWRlZmNcdWRmZTAtXHVkZmViXXxcdWQ4M2VbXHVkZDBkXHVkZDBlXHVkZDEwLVx1ZGQxN1x1ZGQxZFx1ZGQyMC1cdWRkMjVcdWRkMjctXHVkZDJmXHVkZDNhXHVkZDNjXHVkZDNmLVx1ZGQ0NVx1ZGQ0Ny1cdWRkNzZcdWRkNzhcdWRkN2EtXHVkZGI0XHVkZGI3XHVkZGJhXHVkZGJjLVx1ZGRjYlx1ZGRkMFx1ZGRkZS1cdWRkZmZcdWRlNzAtXHVkZTc0XHVkZTc4LVx1ZGU3YVx1ZGU4MC1cdWRlODZcdWRlOTAtXHVkZWE4XHVkZWIwLVx1ZGViNlx1ZGVjMC1cdWRlYzJcdWRlZDAtXHVkZWQ2XXxbXHUyM2U5LVx1MjNlY1x1MjNmMFx1MjNmM1x1MjY3ZVx1MjZjZVx1MjcwNVx1MjcyOFx1Mjc0Y1x1Mjc0ZVx1Mjc1My1cdTI3NTVcdTI3OTUtXHUyNzk3XHUyN2IwXHUyN2JmXHVlNTBhXSl8XHVmZTBmL2cscz0vXHVGRTBGL2csbz1TdHJpbmcuZnJvbUNoYXJDb2RlKDgyMDUpLG49L1smPD4nIl0vZyxhPS9eKD86aWZyYW1lfG5vZnJhbWVzfG5vc2NyaXB0fHNjcmlwdHxzZWxlY3R8c3R5bGV8dGV4dGFyZWEpJC8sbD1TdHJpbmcuZnJvbUNoYXJDb2RlCjtyZXR1cm4gZTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQ/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4iIi5jb25jYXQodC5iYXNlLHQuc2l6ZSwiLyIsZSx0LmV4dCl9ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgaSxzLG89ZS5jaGlsZE5vZGVzLG49by5sZW5ndGg7bi0tOykzPT09KHM9KGk9b1tuXSkubm9kZVR5cGUpP3QucHVzaChpKToxIT09c3x8Im93bmVyU1ZHRWxlbWVudCJpbiBpfHxhLnRlc3QoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXx8dShpLHQpO3JldHVybiB0fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGIoZS5pbmRleE9mKG8pPDA/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGgoZSx0KXtmb3IodmFyIHMsbyxuLGEsbCxkLGgscCxfLGcsbSxiLHYsZj11KGUsW10pLFM9Zi5sZW5ndGg7Uy0tOyl7Zm9yKG49ITEsYT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZD0obD1mW1NdKS5ub2RlVmFsdWUscD0wO2g9aS5leGVjKGQpOyl7aWYoKF89aC5pbmRleCkhPT1wJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwLF8pLCEwKSksYj1jKG09aFswXSkscD1fK20ubGVuZ3RoLHY9dC5jYWxsYmFjayhiLHQpLGImJnYpe2ZvcihvIGluKGc9bmV3IEltYWdlKS5vbmVycm9yPXQub25lcnJvcixnLnNldEF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiwiZmFsc2UiKSxzPXQuYXR0cmlidXRlcyhtLGIpKXMuaGFzT3duUHJvcGVydHkobykmJjAhPT1vLmluZGV4T2YoIm9uIikmJiFnLmhhc0F0dHJpYnV0ZShvKSYmZy5zZXRBdHRyaWJ1dGUobyxzW29dKTtnLmNsYXNzTmFtZT10LmNsYXNzTmFtZSxnLmFsdD1tLGcuc3JjPXYsbj0hMCxhLmFwcGVuZENoaWxkKGcpfWd8fGEuYXBwZW5kQ2hpbGQocihtLCExKSksZz1udWxsfW4mJihwPGQubGVuZ3RoJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwKSwhMCkpLGwucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoYSxsKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcChlLHQpe3JldHVybiBtKGUsKGZ1bmN0aW9uKGUpe3ZhciBpLHMsbz1lLGE9YyhlKSxsPXQuY2FsbGJhY2soYSx0KTtpZihhJiZsKXtmb3IocyBpbiBvPSI8aW1nICIuY29uY2F0KCdjbGFzcz0iJyx0LmNsYXNzTmFtZSwnIiAnLCdkcmFnZ2FibGU9ImZhbHNlIiAnLCdhbHQ9IicsZSwnIicsJyBzcmM9IicsbCwnIicpLGk9dC5hdHRyaWJ1dGVzKGUsYSkpaS5oYXNPd25Qcm9wZXJ0eShzKSYmMCE9PXMuaW5kZXhPZigib24iKSYmLTE9PT1vLmluZGV4T2YoIiAiK3MrIj0iKSYmKG89by5jb25jYXQoIiAiLHMsJz0iJyxpW3NdLnJlcGxhY2UobixfKSwnIicpKTtvPW8uY29uY2F0KCIvPiIpfXJldHVybiBvfSkpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gZygpe3JldHVybiBudWxsfWZ1bmN0aW9uIG0oZSx0KXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoaSx0KX1mdW5jdGlvbiBiKGUsdCl7Zm9yKHZhciBpPVtdLHM9MCxvPTAsbj0wO248ZS5sZW5ndGg7KXM9ZS5jaGFyQ29kZUF0KG4rKyksbz8oaS5wdXNoKCg2NTUzNisoby01NTI5Njw8MTApKyhzLTU2MzIwKSkudG9TdHJpbmcoMTYpKSxvPTApOjU1Mjk2PD1zJiZzPD01NjMxOT9vPXM6aS5wdXNoKHMudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKHR8fCItIil9fSgpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83675.5ed018482723abaf9e86.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.910Z","timestamp":1785124876910,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83675.5ed018482723abaf9e86.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-1a35\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6b0f862215f4bff705257d41fda3d9a9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6709,"size_decoded":2668,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6709), with no line terminators","md5":"3f790f633d8facc5e65117a693bcb945","sha1":"09d8046538d3d64702bb83b904211cc3b7e53315","sha256":"e836e2f9c24d09a5854a2ac144aac0e02c25f367f144431842f67ba211772f4d","sha512":"b48f882acc8ed75b94109472053e0d36b77b454d4ce805e6f9164afa42a16a8d87ef45c6c5d4d48f9083110b728c76451164751562c818d62ba7b160c3e3217b","ssdeep":"96:NACi/4ObSCZGbgQc9VUKQgJyzWsQuZdxexDyC14HIPsiCSvgd:Nji/ZZGkx9qKQgJyzWsQuM4HIE5","tlshash":"a8d1874af120916c64fbb5adb9ed830e632cbce2ef8157dc769539b144cd3e60623906","first_seen":"2026-07-24T11:36:47.840348Z","last_seen":"2026-07-27T06:24:31.797496Z","times_seen":44,"resource_available":false,"data":"LnNlcGFyYXRvci1sbHVxdWZWcXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kKSk7aGVpZ2h0OjIycHg7bWFyZ2luOmF1dG8gNHB4O3dpZHRoOjFweH0uZ3JvdXAtTExaQWJzMEd7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItcmFkaXVzOjA7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4taW5saW5lLXN0YXJ0OjA7bWluLXdpZHRoOjM3cHg7b3ZlcmZsb3c6aGlkZGVufS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZCAuc2VwYXJhdG9yLUxMWkFiczBHe2Rpc3BsYXk6bm9uZX0uZ3JvdXAtTExaQWJzMEc6bGFzdC1jaGlsZHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub0xlZnREZWNvcmF0aW9uLUxMWkFiczBHe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjA7bWFyZ2luLWlubGluZS1zdGFydDowfS5ncm91cC1MTFpBYnMwRy5ub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwR3tib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub01pbmltYWxXaWR0aC1MTFpBYnMwR3ttaW4td2lkdGg6MH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwR3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wYW5lLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcGFuZS1iZykpO2Rpc3BsYXk6ZmxleH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtkaXNwbGF5Om5vbmV9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYXpyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0ud3JhcC1VTDNGSXBzZXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtYXpyeSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4fS53cmFwLVVMM0ZJcHNlIC5pY29uLVVMM0ZJcHNle21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMXB4fS53cmFwLVVMM0ZJcHNlIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcn1bZGF0YS10aGVtZT1saWdodF17LS1fMC10NkNPOiMxZTIyMmQ5OTstLV8xLXQ2Q086I2ZmZjB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC10NkNPOiM2YTZkNzg5OTstLV8xLXQ2Q086IzEzMTcyMjAwfS53cmFwLXFZbTR4MnV1e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LndyYXAtcVltNHgydXUgc3Zne2Rpc3BsYXk6YmxvY2t9LndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1e21hcmdpbi1pbmxpbmUtZW5kOmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvO292ZXJmbG93OnZpc2libGU7d2lkdGg6Y2FsYygxMDAlIC0gNDBweCl9LndyYXAtcVltNHgydXU6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ud3JhcE92ZXJmbG93LXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS5zY3JvbGxXcmFwLXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2NvbnRhaW46Y29udGVudH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dXttYXJnaW4tYm90dG9tOi0xMDBweDtwYWRkaW5nLWJvdHRvbToxMDBweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtcVltNHgydXUubm9TY3JvbGxCYXItcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5pY29uLXFZbTR4MnV1e2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNjBtcyBlYXNlfS5zY3JvbGxMZWZ0LXFZbTR4MnV1LC5zY3JvbGxSaWdodC1xWW00eDJ1dXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2IoZnJvbSB2YXIoLS1jb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMpIHIgZyBiLy42KTtjb2xvcjp2YXIoLS1jb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLHRyYW5zZm9ybSAuMTE2NjY2NjdzIGN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7d2lkdGg6MjRweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuc2Nyb2xsTGVmdC1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC10NkNPKX19LnNjcm9sbExlZnQtcVltNHgydXU6YWN0aXZlLC5zY3JvbGxSaWdodC1xWW00eDJ1dTphY3RpdmV7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDU4LjMzMzMzbXMgZWFzZSx0cmFuc2Zvcm0gLjExNjY2NjY3cyBjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNjcm9sbExlZnQtcVltNHgydXU6aG92ZXIsLnNjcm9sbFJpZ2h0LXFZbTR4MnV1OmhvdmVye3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciA1OC4zMzMzM21zIGVhc2UsdHJhbnNmb3JtIC4xMTY2NjY2N3MgY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9fS5zY3JvbGxMZWZ0LXFZbTR4MnV1LmlzVmlzaWJsZS1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5zY3JvbGxMZWZ0LXFZbTR4MnV1e2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9LnNjcm9sbExlZnQtcVltNHgydXUgLmljb25XcmFwLXFZbTR4MnV1e3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zY3JvbGxSaWdodC1xWW00eDJ1dXtyaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfS5zY3JvbGxSaWdodC1xWW00eDJ1dSAuaWNvbldyYXAtcVltNHgydXV7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5mYWRlTGVmdC1xWW00eDJ1dSwuZmFkZVJpZ2h0LXFZbTR4MnV1e2NvbG9yOnJnYihmcm9tIHZhcigtLWNvbG9yLXBhbmUtYmcpIHIgZyBiLzApO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NTBweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuZmFkZUxlZnQtcVltNHgydXUsLmZhZGVSaWdodC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXQ2Q08pfX0uZmFkZUxlZnQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1LC5mYWRlUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5mYWRlTGVmdC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZmZmLCNmZmYwKTtsZWZ0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfWh0bWwudGhlbWUtZGFyayAuZmFkZUxlZnQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzBmMGYwZiwjMGYwZjBmMDApfS5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZmYsI2ZmZjApO3JpZ2h0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9aHRtbC50aGVtZS1kYXJrIC5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCMwZjBmMGYsIzBmMGYwZjAwKX0uaW5uZXJXcmFwLWRsRkROMFpke2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2hlaWdodDozOHB4O21pbi13aWR0aDowfS5pbm5lci1kbEZETjBaZHtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmZha2UtZGxGRE4wWmR7aGVpZ2h0OjM4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dmlzaWJpbGl0eTpoaWRkZW59LmZpbGwtZGxGRE4wWmR7ZmxleDoxIDEgMTAwJTttaW4td2lkdGg6MH0uZmlsbC1kbEZETjBaZC5jb2xsYXBzZS1kbEZETjBaZHtmbGV4OjAgMCAwJX0uYnV0dG9uLWRsRkROMFpke3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5pY29uQnV0dG9uLWRsRkROMFpke3BhZGRpbmc6MCA1cHh9LmhpZGRlbi1kbEZETjBaZHtkaXNwbGF5Om5vbmV9LmNvbnRlbnQtZGxGRE4wWmR7ZGlzcGxheTp0YWJsZTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0uZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5OmZsZXh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsuZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9fS5tb2JpbGVQdWJsaXNoLWRsRkROMFpkLC5tb2JpbGVUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsubW9iaWxlUHVibGlzaC1kbEZETjBaZCwubW9iaWxlVHJhZGUtZGxGRE4wWmR7ZGlzcGxheTpmbGV4fX1AbWVkaWEgKG1heC1oZWlnaHQ6NDQ1cHgpLChtYXgtd2lkdGg6NTY3cHgpey5kZXNrdG9wVHJhZGUtZGxGRE4wWmQsLm1vYmlsZVRyYWRlLWRsRkROMFpke2Rpc3BsYXk6bm9uZX19W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtblpSQjojMDAwMH0udG9vbGJhci1OQ1l5b3poaHtmb250LXNpemU6MTRweDtoZWlnaHQ6MTAwJTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnRvb2xiYXItTkNZeW96aGguaXNIaWRkZW4tTkNZeW96aGh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1uWlJCKX0udG9vbGJhci1OQ1l5b3poaC5pc0hpZGRlbi1OQ1l5b3poaCAub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2Rpc3BsYXk6bm9uZX0ub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2hlaWdodDozOHB4O292ZXJmbG93OmhpZGRlbn0uY3VzdG9tQnV0dG9uLU5DWXlvemhoe2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCkpO3BhZGRpbmc6MCAxMHB4fS5jdXN0b21CdXR0b24tTkNZeW96aGguaG92ZXItTkNZeW96aGgsLmN1c3RvbUJ1dHRvbi1OQ1l5b3poaDphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jdXN0b21CdXR0b24tTkNZeW96aGg6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9fS5jdXN0b21CdXR0b24tTkNZeW96aGguY2xpY2tlZC1OQ1l5b3poaCwuY3VzdG9tQnV0dG9uLU5DWXlvemhoOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSkpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.175Z","timestamp":1785124877175,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.79667.38b400b7bcd71265de7e.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-443f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 399eb5b9284772a70c04b2ce8db1d547\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":17471,"size_decoded":6840,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3068)","md5":"abdac933416adad2f1f0358c34e06d0c","sha1":"0dc05aeba8286a0334c027665641bcf478994d5d","sha256":"5f564c4503176b996145604c8e659d0a1c2128953899b2e776973f0a91e17e9d","sha512":"56050afbc169f102143e4d56c74c692b0bae5319724042b3417d8740d60592b7d74fb27d1863dce300e020f33f36498a00fd31af8f94b6d301558007054ee92b","ssdeep":"192:nzHO1epgwUCqXYyY0ltStvFnUkst1siHYFhftcmrEnpsMhRl2FlQ8oCe68ciDhvx:nzJWPs0ChspEkmEnptD2FlQ8/e6Axrn","tlshash":"6c72db17c105c0fa8fb5ca227359edc0b5f8b19410f1e8c6b3a95f69c623c656838b79","first_seen":"2026-07-24T15:28:44.838926Z","last_seen":"2026-07-27T06:24:31.753683Z","times_seen":22,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjc4LDE4OTExLDUyMzI0LDc5NjY3LDg3MjM4LDk0OTQ3XSx7NDM1NzUwKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBzeW1ib2xzPyJdfSw4MjY4NzMoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIGFsbCBzeW1ib2xzPyJdfSw0MTcxOTEoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHNlbGVjdGVkIHN5bWJvbHM/Il19LDIwNjk0OChlKXtlLmV4cG9ydHM9WyJDbGVhciJdfSwzMDkzMyhlKXtlLmV4cG9ydHM9WyJDYW5jZWwiXX0sMTA4KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSw4MzU5MzcoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sOTA0NzA0KGUpe2UuZXhwb3J0cz1bIk5vIG9wdGlvbnMgYXZhaWxhYmxlIl19LDMwNjYyNihlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDY1MTYzOChlKXtlLmV4cG9ydHM9WyJOZXcgd2F0Y2hsaXN0IG5hbWUiXX0sMTYzOTgwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCJdfSw3Mzg1NShlKXtlLmV4cG9ydHM9WyJDYWxscyJdfSw5MTU3ODcoZSl7ZS5leHBvcnRzPVsiUHV0cyJdfSw4OTI1KGUpe2UuZXhwb3J0cz1bIkhpZGUgc3ByZWFkIG9wZXJhdG9ycyJdfSwzMjMzNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBzcHJlYWQgb3BlcmF0b3JzIl19LDk2MjMxOChlKXtlLmV4cG9ydHM9WyJBZGRpdGlvbiJdfSwzMzgwMChlKXtlLmV4cG9ydHM9WyJEaXZpc2lvbiJdfSw5MjMwMjEoZSl7ZS5leHBvcnRzPVsiRXhwb25lbnRpYXRpb24iXX0sNDg0ODc1KGUpe2UuZXhwb3J0cz1bIk11bHRpcGxpY2F0aW9uIl19LDkwNTI5OShlKXtlLmV4cG9ydHM9WyJTdWJ0cmFjdGlvbiJdfSw4NTMzNDkoZSl7ZS5leHBvcnRzPVsiUmVjaXByb2NhbCJdfSw4NDUyMjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHNlYXJjaCJdfSwyMzkxOTgoZSl7ZS5leHBvcnRzPVsiQ29sbGFwc2UiXX0sMzg2MjQ2KGUpe2UuZXhwb3J0cz1bIkV4cGFuZCJdfSwxODEzMDUoZSl7ZS5leHBvcnRzPVsiQ0VYIl19LDQ1MDI3MyhlKXtlLmV4cG9ydHM9WyJDb21tb24gc3RvY2siXX0sMzAxNTkzKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgU2VydmljZXMiXX0sOTM0MjQ2KGUpe2UuZXhwb3J0cz1bIkNvbW11bmljYXRpb25zIl19LDY4NTEzKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIl19LDI3Mzk0MyhlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBEdXJhYmxlcyJdfSwyNDY1NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tRHVyYWJsZXMiXX0sMjQ0OTIoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgU2VydmljZXMiXX0sNjc1NDQzKGUpe2UuZXhwb3J0cz1bIkNvcnBvcmF0ZSJdfSw3ODkzMTkoZSl7ZS5leHBvcnRzPVsiQ2Vuc3VzIEJ1cmVhdSJdfSw4NTQ2NjEoZSl7ZS5leHBvcnRzPVsiQ2VudHJhbCBCYW5rIG9mIFdlc3QgQWZyaWNhbiBTdGF0ZXMgKEJDRUFPKSJdfSwzMzgxOTcoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzIl19LDU5ODU4KGUpe2UuZXhwb3J0cz1bIkN1cnJlbmNpZXMiXX0sOTkzMTY4KGUpe2UuZXhwb3J0cz1bIkFLQU1BSSJdfSw0NDY3NjcoZSl7ZS5leHBvcnRzPVsiQWdyaWN1bHR1cmUiXX0sOTc3NzY3KGUpe2UuZXhwb3J0cz1bIkFsbCBjYXRlZ29yaWVzIl19LDM2NTM0MChlKXtlLmV4cG9ydHM9WyJBbGwgZXhjaGFuZ2UgdHlwZXMiXX0sNTAyNTUzKGUpe2UuZXhwb3J0cz1bIkFsbCBzZWN0b3JzIl19LDI4OTI4MChlKXtlLmV4cG9ydHM9WyJBbGwgc291cmNlcyJdfSw3NjEzNjQoZSl7ZS5leHBvcnRzPVsiQWxsIHR5cGVzIl19LDU0NjQ5KGUpe2UuZXhwb3J0cz1bIkJDRUFPIl19LDg5NzAyOShlKXtlLmV4cG9ydHM9WyJCRUEiXX0sOTY5NjEzKGUpe2UuZXhwb3J0cz1bIkJMUyJdfSwxMzczNTMoZSl7ZS5leHBvcnRzPVsiQnVpbGRpbmcgbWF0ZXJpYWxzIl19LDU0MzU1MChlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgRWNvbm9taWNzIEFuYWx5c2lzIl19LDkwMzA4MyhlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgTGFib3VyIFN0YXRpc3RpY3MiXX0sMzg1MTYyKGUpe2UuZXhwb3J0cz1bIkJ1c2luZXNzIl19LDQxNTQwKGUpe2UuZXhwb3J0cz1bIkdEUCJdfSw4MzQ2MzQoZSl7ZS5leHBvcnRzPVsiR292ZXJubWVudCJdfSw1MzU1OShlKXtlLmV4cG9ydHM9WyJHb3Zlcm5tZW50IHNlY3RvciJdfSwzMjg1NDUoZSl7ZS5leHBvcnRzPVsiREVYIl19LDI5MjAyMChlKXtlLmV4cG9ydHM9WyJEZXBvc2l0b3J5IFJlY2VpcHQiXX0sMjk0ODEwKGUpe2UuZXhwb3J0cz1bIkRpc3RyaWJ1dGlvbiBTZXJ2aWNlcyJdfSwyMjc4NjAoZSl7ZS5leHBvcnRzPVsiRVRGIl19LDYyODQ3MihlKXtlLmV4cG9ydHM9WyJFVVJPU1RBVCJdfSwyMzM4OTAoZSl7ZS5leHBvcnRzPVsiRW5lcmd5Il19LDY2MjQ4MShlKXtlLmV4cG9ydHM9WyJFbmVyZ3kgTWluZXJhbHMiXX0sNjEyMDc1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgVGVjaG5vbG9neSJdfSwxMTA2MihlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUiXX0sNjkxMTg5KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UiXX0sMjA2MTEoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw5ODc0MzQoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwiXX0sMjAxNTc0KGUpe2UuZXhwb3J0cz1bIkhvdXNpbmciXX0sMjIyMDAyKGUpe2UuZXhwb3J0cz1bIkhlYWx0aCJdfSw2MDEzNDkoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIFNlcnZpY2VzIl19LDE1MjgwNShlKXsKZS5leHBvcnRzPVsiSGVhbHRoIFRlY2hub2xvZ3kiXX0sNjY1Njg5KGUpe2UuZXhwb3J0cz1bIklNRiJdfSwzNzc3NDIoZSl7ZS5leHBvcnRzPVsiSUVQIl19LDYwMTU1MShlKXtlLmV4cG9ydHM9WyJJbnRlcmVzdCByYXRlcyJdfSw4NDAxODcoZSl7ZS5leHBvcnRzPVsiSW50ZXJuYXRpb25hbCBNb25ldGFyeSBGdW5kIChJTUYpIl19LDU5NzIwMChlKXtlLmV4cG9ydHM9WyJJbmRleCJdfSwzODIxNDAoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBTZXJ2aWNlcyJdfSw4MzI4NjYoZSl7ZS5leHBvcnRzPVsiSW5zdGl0dXRlIGZvciBFY29ub21pY3MgYW5kIFBlYWNlIl19LDQ1MDU1MChlKXtlLmV4cG9ydHM9WyJPTlMiXX0sNTIwMDQwKGUpe2UuZXhwb3J0cz1bIk9FQ0QiXX0sOTc4Mjk0KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBmb3IgTmF0aW9uYWwgU3RhdGlzdGljcyJdfSwxMTc4MTAoZSl7ZS5leHBvcnRzPVsiT3JnYW5pc2F0aW9uIGZvciBFY29ub21pYyBDby1vcGVyYXRpb24gYW5kIERldmVsb3BtZW50Il19LDgxNTc0MShlKXtlLmV4cG9ydHM9WyJMYWJvciJdfSw3NTQ0OTAoZSl7ZS5leHBvcnRzPVsiTW9uZXkiXX0sNzYxMTIyKGUpe2UuZXhwb3J0cz1bIk1ldGFscyJdfSwzNjc3NjMoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyJdfSw5NTc3OTgoZSl7ZS5leHBvcnRzPVsiTXV0dWFsIGZ1bmQiXX0sMTkxNDIoZSl7ZS5leHBvcnRzPVsiTm9uLUVuZXJneSBNaW5lcmFscyJdfSw3NzA5ODIoZSl7ZS5leHBvcnRzPVsiU0lQUkkiXX0sNzQ2NzkyKGUpe2UuZXhwb3J0cz1bIlNpbmdsZSBzdG9jayJdfSw0MzczNTYoZSl7ZS5leHBvcnRzPVsiU3BvdCJdfSw5MTc4MDUoZSl7ZS5leHBvcnRzPVsiU3RhdENhbiJdfSw2NTQ0NDAoZSl7ZS5leHBvcnRzPVsiU3RhdGlzdGljcyBDYW5hZGEiXX0sODYzMjM2KGUpe2UuZXhwb3J0cz1bIlN0YXRpc3RpY3MgTm9yd2F5Il19LDg3MTcyNyhlKXtlLmV4cG9ydHM9WyJTdG9ja2hvbG0gSW50ZXJuYXRpb25hbCBQZWFjZSBSZXNlYXJjaCBJbnN0aXR1dGUiXX0sMTY5MTQ1KGUpe2UuZXhwb3J0cz1bIlN3YXAiXX0sNjc4MzUoZSl7ZS5leHBvcnRzPVsiUHJlLUlQTyJdfSw0ODc0MDQoZSl7ZS5leHBvcnRzPVsiUHJlZmVycmVkIHN0b2NrIl19LDUzNjMzMyhlKXtlLmV4cG9ydHM9WyJQcmljZXMiXX0sNzEyMTk4KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3MgSW5kdXN0cmllcyJdfSw5OTY0MjAoZSl7ZS5leHBvcnRzPVsiUHJvZHVjZXIgTWFudWZhY3R1cmluZyJdfSw5NTAxNzQoZSl7ZS5leHBvcnRzPVsiUkVJVCJdfSwzNjc1ODIoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIFRyYWRlIl19LDI1ODc2MChlKXtlLmV4cG9ydHM9WyJXQiJdfSw3OTA0NjYoZSl7ZS5leHBvcnRzPVsiV0VGIl19LDgzMjk0NyhlKXtlLmV4cG9ydHM9WyJXR0MiXX0sMzM2MTEyKGUpe2UuZXhwb3J0cz1bIldvcmxkIEJhbmsiXX0sNDgzOTY2KGUpe2UuZXhwb3J0cz1bIldvcmxkIEdvbGQgQ291bmNpbCJdfSw4NTk5NTUoZSl7ZS5leHBvcnRzPVsiV29ybGQgRWNvbm9taWMgRm9ydW0iXX0sNzIxNzYyKGUpe2UuZXhwb3J0cz1bIldvcmxkIGluZGljZXMiXX0sNzE0MTQ1KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IiXX0sMzQ1NjA5KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IgRm91bmRhdGlvbiJdfSw0NTU0MDQoZSl7ZS5leHBvcnRzPVsiV2FycmFudCJdfSw5MTE4NjIoZSl7ZS5leHBvcnRzPVsiV2VhdGhlciJdfSwyNzY4MzMoZSl7ZS5leHBvcnRzPVsiVGF4ZXMiXX0sMjg0Njc3KGUpe2UuZXhwb3J0cz1bIlRlY2hub2xvZ3kgU2VydmljZXMiXX0sOTM3OTM1KGUpe2UuZXhwb3J0cz1bIlRydXN0Il19LDIzOTkyOShlKXtlLmV4cG9ydHM9WyJUcmFkZSJdfSw3NzAxMihlKXtlLmV4cG9ydHM9WyJUcmFuc3BhcmVuY3kgSW50ZXJuYXRpb25hbCJdfSw0MzI3MzgoZSl7ZS5leHBvcnRzPVsiVHJhbnNwb3J0YXRpb24iXX0sNTk5ODA3KGUpe2UuZXhwb3J0cz1bIlUuUy4gRW5lcmd5IEluZm9ybWF0aW9uIEFkbWluaXN0cmF0aW9uIl19LDYyNzUwNChlKXtlLmV4cG9ydHM9WyJVRUlBIl19LDM5OTQ1MShlKXtlLmV4cG9ydHM9WyJVU0NCIl19LDM0MzI4NChlKXtlLmV4cG9ydHM9WyJVdGlsaXRpZXMiXX0sNTgwNTY4KGUpe2UuZXhwb3J0cz1bIkNhdGVnb3JpZXMiXX0sMzQ0NzgxKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIHR5cGVzIl19LDMyMTA4OShlKXtlLmV4cG9ydHM9WyJTb3VyY2VzIl19LDg5NTE3NihlKXtlLmV4cG9ydHM9WyJTZWN0b3JzIl19LDY2MjgzNChlKXtlLmV4cG9ydHM9WyJUeXBlcyJdfSwyODcwMzgoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNDQ1MzMzKGUpe2UuZXhwb3J0cz1bIlN0cmlrZSJdfSwxNjE3MDgoZSl7ZS5leHBvcnRzPVsiLiJdfSw1MDI2OTIoZSl7ZS5leHBvcnRzPVsiJXMgYWdvIl19LDQ5MDc0MChlKXtlLmV4cG9ydHM9WyJJbiAlcyJdfSwzMjU3MzIoZSl7ZS5leHBvcnRzPVsiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMiXX0sNDg0MTM2KGUpe2UuZXhwb3J0cz1bIkNvbW9yb3MiXX0sOTY0ODU4KGUpe2UuZXhwb3J0cz1bIkNvbmdvIl19LDI3MTU1OChlKXtlLmV4cG9ydHM9WyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSJdfSw3MDg4NTkoZSl7ZS5leHBvcnRzPVsiQ29vayBJc2xhbmRzIl19LDI2ODg0NChlKXtlLmV4cG9ydHM9WyJDb3N0YSBSaWNhIl19LDY0MTAyNihlKXtlLmV4cG9ydHM9WyJDYXltYW4gSXNsYW5kcyJdfSw2MDEwOTcoZSl7ZS5leHBvcnRzPVsiQ2FibyBWZXJkZSJdfSw1NTU0ODkoZSl7ZS5leHBvcnRzPVsiQ2FtYm9kaWEiXX0sOTc3MDI4KGUpe2UuZXhwb3J0cz1bIkNhbWVyb29uIl19LDc3NDc4KGUpe2UuZXhwb3J0cz1bIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyJdfSw0ODM1NShlKXtlLmV4cG9ydHM9WyJDaGFkIl19LDk1NjQ2NChlKXtlLmV4cG9ydHM9WyJDaHJpc3RtYXMgSXNsYW5kIl19LDU0OTEwKGUpe2UuZXhwb3J0cz1bIkNsb3NlIG1lbnUiXX0sODgyNDExKGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwyOTk5NjYoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvY3VycmVuY3kiXX0sCjc2OTE0MChlKXtlLmV4cG9ydHM9WyJDdWJhIl19LDU4OTQxNyhlKXtlLmV4cG9ydHM9WyJDdXJhY2FvIl19LDk0NTE3MShlKXtlLmV4cG9ydHM9WyJDdXJhw6dhbyJdfSwxNDY4NChlKXtlLmV4cG9ydHM9WyJDeWFuIl19LDgzOTM5MChlKXtlLmV4cG9ydHM9WyJDeWFuIGxpc3QiXX0sMjYxOTkwKGUpe2UuZXhwb3J0cz1bIkN6ZWNoaWEiXX0sNDk4NzYyKGUpe2UuZXhwb3J0cz1bIkPDtHRlIGQnSXZvaXJlIl19LDEwNDU1MyhlKXtlLmV4cG9ydHM9WyJBbWVyaWNhbiBTYW1vYSJdfSw5OTE0NjQoZSl7ZS5leHBvcnRzPVsiQW1lcmljYXMiXX0sMjk3NTcwKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpY2EiXX0sNzQ1ODkoZSl7ZS5leHBvcnRzPVsiQW50aWd1YSBhbmQgQmFyYnVkYSJdfSw5NjUyMTMoZSl7ZS5leHBvcnRzPVsiQW5kb3JyYSJdfSw3NzcyMChlKXtlLmV4cG9ydHM9WyJBbmdvbGEiXX0sODU0OTAyKGUpe2UuZXhwb3J0cz1bIkFuZ3VpbGxhIl19LDQxODIzOChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gV2F0Y2hsaXN0Il19LDk5MzEwMShlKXtlLmV4cG9ydHM9WyJBZmdoYW5pc3RhbiJdfSw2NTAzNDQoZSl7ZS5leHBvcnRzPVsiQWZyaWNhIl19LDI4MDAyNShlKXtlLmV4cG9ydHM9WyJBbGJhbmlhIl19LDI5NjE4MShlKXtlLmV4cG9ydHM9WyJBbGdlcmlhIl19LDIzMzY5MChlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNTEzMzA4KGUpe2UuZXhwb3J0cz1bIkFsbCBjb3VudHJpZXMiXX0sMzg0MDIwKGUpe2UuZXhwb3J0cz1bIkFsbCBzb3VyY2VzIl19LDExNDc1NihlKXtlLmV4cG9ydHM9WyJBcnViYSJdfSw3Nzk5NTIoZSl7ZS5leHBvcnRzPVsiQXJtZW5pYSJdfSw2ODkxODIoZSl7ZS5leHBvcnRzPVsiQXNpYSJdfSw3NjQxNzEoZSl7ZS5leHBvcnRzPVsiQXNpYSAvIFBhY2lmaWMiXX0sNDY4MTcoZSl7ZS5leHBvcnRzPVsiQXplcmJhaWphbiJdfSw0MjUzNzgoZSl7ZS5leHBvcnRzPVsiQm90c3dhbmEiXX0sNzMwNzYzKGUpe2UuZXhwb3J0cz1bIkJvdXZldCBJc2xhbmQiXX0sOTMxMzA0KGUpe2UuZXhwb3J0cz1bIkJvbGl2aWEiXX0sNTU3MjM1KGUpe2UuZXhwb3J0cz1bIkJvbmFpcmUsIFNpbnQgRXVzdGF0aXVzIGFuZCBTYWJhIl19LDkwOTA1NChlKXtlLmV4cG9ydHM9WyJCb25kIl19LDI0MzQ2NChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw5NzA2OTEoZSl7ZS5leHBvcnRzPVsiQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSJdfSwzMzUyNTkoZSl7ZS5leHBvcnRzPVsiQmFoYW1hcyJdfSw4MjkzODcoZSl7ZS5leHBvcnRzPVsiQmFyYmFkb3MiXX0sNTIzNTUyKGUpe2UuZXhwb3J0cz1bIkJlbGFydXMiXX0sNzg3NzAxKGUpe2UuZXhwb3J0cz1bIkJlbGl6ZSJdfSw1ODg4NDgoZSl7ZS5leHBvcnRzPVsiQmVuaW4iXX0sMzE0NzM3KGUpe2UuZXhwb3J0cz1bIkJlcm11ZGEiXX0sMjg0NDQyKGUpe2UuZXhwb3J0cz1bIkJodXRhbiJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSwzOTE5MDYoZSl7ZS5leHBvcnRzPVsiQnJ1bmVpIl19LDc0NDI0NihlKXtlLmV4cG9ydHM9WyJCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkiXX0sNjUzMzQwKGUpe2UuZXhwb3J0cz1bIkJyaXRpc2ggVmlyZ2luIElzbGFuZHMiXX0sMTk4Mjk3KGUpe2UuZXhwb3J0cz1bIkJ1cmtpbmEgRmFzbyJdfSw3NTgyMihlKXtlLmV4cG9ydHM9WyJCdXJ1bmRpIl19LDc2NjYyMihlKXtlLmV4cG9ydHM9WyJHbyB0byBzeW1ib2wiXX0sMzY3NjkwKGUpe2UuZXhwb3J0cz1bIkdhYm9uIl19LDcwODc4NShlKXtlLmV4cG9ydHM9WyJHYW1iaWEiXX0sNzk1OTUxKGUpe2UuZXhwb3J0cz1bIkdlb3JnaWEiXX0sNDk4Njc5KGUpe2UuZXhwb3J0cz1bIkdoYW5hIl19LDc3MTAxNyhlKXtlLmV4cG9ydHM9WyJHaWJyYWx0YXIiXX0sNjgyNjY5KGUpe2UuZXhwb3J0cz1bIkdyZWVuIl19LDQ1OTQwMihlKXtlLmV4cG9ydHM9WyJHcmVlbiBsaXN0Il19LDMxODM5OShlKXtlLmV4cG9ydHM9WyJHcmVlbmxhbmQiXX0sNzkzMjg5KGUpe2UuZXhwb3J0cz1bIkdyZWVjZSJdfSw5MzIwODYoZSl7ZS5leHBvcnRzPVsiR3JlbmFkYSJdfSwyNDIxMTYoZSl7ZS5leHBvcnRzPVsiR3V5YW5hIl19LDE2NDg3NyhlKXtlLmV4cG9ydHM9WyJHdWFkZWxvdXBlIl19LDU0NDMyNShlKXtlLmV4cG9ydHM9WyJHdWFtIl19LDg3NzQ4NyhlKXtlLmV4cG9ydHM9WyJHdWF0ZW1hbGEiXX0sNDA4OTE2KGUpe2UuZXhwb3J0cz1bIkd1ZXJuc2V5Il19LDQzNjQ1NShlKXtlLmV4cG9ydHM9WyJHdWluZWEiXX0sMzA4MjI5KGUpe2UuZXhwb3J0cz1bIkd1aW5lYS1CaXNzYXUiXX0sOTU4OTUxKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCB1bmZsYWcgYWxsIHN5bWJvbHMgZnJvbSBhbGwgeW91ciB3YXRjaGxpc3RzLiJdfSw0OTUzNjkoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIl19LDE5NDMyNihlKXtlLmV4cG9ydHM9WyJEb21pbmljYSJdfSw4MTg2MDQoZSl7ZS5leHBvcnRzPVsiRG9taW5pY2FuIFJlcHVibGljIl19LDM5Nzk4NyhlKXtlLmV4cG9ydHM9WyJEZXNjcmlwdGlvbiJdfSw1MDc3OTgoZSl7ZS5leHBvcnRzPVsiRGppYm91dGkiXX0sNDEzMzk3KGUpe2UuZXhwb3J0cz1bIkVjdWFkb3IiXX0sMTc2Mzc4KGUpe2UuZXhwb3J0cz1bIkVjb25vbXkiXX0sODgwODcyKGUpe2UuZXhwb3J0cz1bIkVsIFNhbHZhZG9yIl19LDc0NjUyNChlKXtlLmV4cG9ydHM9WyJFcXVhdG9yaWFsIEd1aW5lYSJdfSw3MzA4NzMoZSl7ZS5leHBvcnRzPVsiRXJpdHJlYSJdfSw4NzIzOChlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw4OTgzMDMoZSl7ZS5leHBvcnRzPVsiRXN3YXRpbmkiXX0sMzMxOTEoZSl7ZS5leHBvcnRzPVsiRXRoaW9waWEiXX0sOTUyMzY3KGUpe2UuZXhwb3J0cz1bIkV1cm9wZSJdfSw1MzUxNDYoZSl7ZS5leHBvcnRzPVsiRXVyb3BlYW4gVW5pb24iXX0sMjU1MDkzKGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDQ5NzU2OShlKXtlLmV4cG9ydHM9WyJGb3JleCAmIENGRCJdfSw5OTM0NzUoZSl7CmUuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMiXX0sNjA3NzIzKGUpe2UuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKSJdfSw0NTI0ODcoZSl7ZS5leHBvcnRzPVsiRmFyb2UgSXNsYW5kcyJdfSw5NjY0NzUoZSl7ZS5leHBvcnRzPVsiRmVhdHVyZWQiXX0sMTUyNDA5KGUpe2UuZXhwb3J0cz1bIkZpamkiXX0sMzA4MzkoZSl7ZS5leHBvcnRzPVsiRmxhZyB7c3ltYm9sfSJdfSw5NzYwNzkoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIEd1aWFuYSJdfSw4NjM4MjUoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFBvbHluZXNpYSJdfSwzMjg2MDcoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIl19LDk0MzkwMyhlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDQ4MDQ2MShlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw2NzY4NihlKXtlLmV4cG9ydHM9WyJLb3Nvdm8iXX0sMjc3NTYwKGUpe2UuZXhwb3J0cz1bIkthemFraHN0YW4iXX0sNDQ2MjkzKGUpe2UuZXhwb3J0cz1bIktpcmliYXRpIl19LDQ1ODY2MChlKXtlLmV4cG9ydHM9WyJLeXJneXpzdGFuIl19LDEyNzQ5KGUpe2UuZXhwb3J0cz1bIkhvbHkgU2VlIl19LDIwMjgxNihlKXtlLmV4cG9ydHM9WyJIb25kdXJhcyJdfSw4OTQ3MDkoZSl7ZS5leHBvcnRzPVsiSGFpdGkiXX0sMjM2MTIzKGUpe2UuZXhwb3J0cz1bIkhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyJdfSw1NjI2NjcoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSwzNzE3NDYoZSl7ZS5leHBvcnRzPVsiSXJhcSJdfSwyMDc4MjUoZSl7ZS5leHBvcnRzPVsiSXNsZSBvZiBNYW4iXX0sODQxNzk5KGUpe2UuZXhwb3J0cz1bIklzc3VlIFdpdGggRmxhZ2dpbmciXX0sNTgzMDA5KGUpe2UuZXhwb3J0cz1bIkpvcmRhbiJdfSwxNjM1KGUpe2UuZXhwb3J0cz1bIkphbWFpY2EiXX0sMTE4NTk4KGUpe2UuZXhwb3J0cz1bIkplcnNleSJdfSw0MDIzMjQoZSl7ZS5leHBvcnRzPVsiT0siXX0sMjg1MjkzKGUpe2UuZXhwb3J0cz1bIk9tYW4iXX0sMjg1MTMxKGUpe2UuZXhwb3J0cz1bIk9vcHMhIFRoZXJlJ3Mgbm90aGluZyBoZXJlIGZvciB0aGlzIHNlbGVjdGVkIG9wdGlvbiBzZXJpZXMiXX0sMTQ1MzQ4KGUpe2UuZXhwb3J0cz1bIk9rLCB0aGFua3MiXX0sNTg3NDY0KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sOTcwOTA5KGUpe2UuZXhwb3J0cz1bIk90aGVycyJdfSw1OTExODAoZSl7ZS5leHBvcnRzPVsiTGFvcyJdfSw5NDU2MTMoZSl7ZS5leHBvcnRzPVsiTGViYW5vbiJdfSw2NTMzOTUoZSl7ZS5leHBvcnRzPVsiTGVzb3RobyJdfSw2NjIxKGUpe2UuZXhwb3J0cz1bIkxpYmVyaWEiXX0sNTU1MzUyKGUpe2UuZXhwb3J0cz1bIkxpYnlhIl19LDM4NjY2NyhlKXtlLmV4cG9ydHM9WyJMaWVjaHRlbnN0ZWluIl19LDEwMDAyNihlKXtlLmV4cG9ydHM9WyJNb3phbWJpcXVlIl19LDMyMTMzNihlKXtlLmV4cG9ydHM9WyJNb2xkb3ZhIl19LDIwODkwNChlKXtlLmV4cG9ydHM9WyJNb25hY28iXX0sOTEzNzA5KGUpe2UuZXhwb3J0cz1bIk1vbmdvbGlhIl19LDczOTM2NShlKXtlLmV4cG9ydHM9WyJNb250ZW5lZ3JvIl19LDMzMzI2MihlKXtlLmV4cG9ydHM9WyJNb250c2VycmF0Il19LDM5NDk0NyhlKXtlLmV4cG9ydHM9WyJNb3JlIl19LDY2Nzk5NihlKXtlLmV4cG9ydHM9WyJNYXVyaXRhbmlhIl19LDE1MDA1NChlKXtlLmV4cG9ydHM9WyJNYXVyaXRpdXMiXX0sNDgzMTQ5KGUpe2UuZXhwb3J0cz1bIk1heW90dGUiXX0sMzA3MDYyKGUpe2UuZXhwb3J0cz1bIk1hY2FvIl19LDUzMjI2OShlKXtlLmV4cG9ydHM9WyJNYWNhdSwgQ2hpbmEiXX0sNDU5MTA4KGUpe2UuZXhwb3J0cz1bIk1hY2Vkb25pYSJdfSw2NjAxODgoZSl7ZS5leHBvcnRzPVsiTWFkYWdhc2NhciJdfSwyNDU5NDgoZSl7ZS5leHBvcnRzPVsiTWFsYXdpIl19LDMzMTYxNShlKXtlLmV4cG9ydHM9WyJNYWxkaXZlcyJdfSw2MjM0NjUoZSl7ZS5leHBvcnRzPVsiTWFsaSJdfSw0Nzc4NDMoZSl7ZS5leHBvcnRzPVsiTWFyc2hhbGwgSXNsYW5kcyJdfSwxMzUxNTIoZSl7ZS5leHBvcnRzPVsiTWFydGluaXF1ZSJdfSw1OTgyNDcoZSl7ZS5leHBvcnRzPVsiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIl19LDI5MTA5OChlKXtlLmV4cG9ydHM9WyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJdfSw2ODU3NTEoZSl7ZS5leHBvcnRzPVsiTWlkZGxlIEVhc3QiXX0sNjAzMDY1KGUpe2UuZXhwb3J0cz1bIk1pZGRsZSBFYXN0IC8gQWZyaWNhIl19LDIzOTQzKGUpe2UuZXhwb3J0cz1bIk15YW5tYXIiXX0sNzQ0ODcwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgc3ltYm9sIl19LDQ3MjI5OShlKXtlLmV4cG9ydHM9WyJObyBleGNoYW5nZXMgbWF0Y2ggeW91ciBjcml0ZXJpYSJdfSw0MTc3NyhlKXtlLmV4cG9ydHM9WyJObyBzeW1ib2xzIG1hdGNoIHlvdXIgY3JpdGVyaWEiXX0sNjg5NzE2KGUpe2UuZXhwb3J0cz1bIk5vcnRoIEFtZXJpY2EiXX0sNzI5NzgyKGUpe2UuZXhwb3J0cz1bIk5vcnRoIE1hY2Vkb25pYSJdfSw2MTI1NTcoZSl7ZS5leHBvcnRzPVsiTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIl19LDQ3MzQzNyhlKXtlLmV4cG9ydHM9WyJOYXVydSJdfSw1NzA2MTgoZSl7ZS5leHBvcnRzPVsiTmFtaWJpYSJdfSwyNDk1ODgoZSl7ZS5leHBvcnRzPVsiTmV3IENhbGVkb25pYSJdfSw0NzEyODgoZSl7ZS5leHBvcnRzPVsiTmVwYWwiXX0sOTA3NDcwKGUpe2UuZXhwb3J0cz1bIk5pdWUiXX0sNjIzNDQwKGUpe2UuZXhwb3J0cz1bIk5pY2FyYWd1YSJdfSw1OTIxODkoZSl7ZS5leHBvcnRzPVsiTmlnZXIiXX0sNzk1MDIxKGUpe2UuZXhwb3J0cz1bIlNJTlQgTUFBUlRFTiAoRFVUQ0ggUEFSVCkiXX0sNDg2NzE0KGUpe2UuZXhwb3J0cz1bIlNvdXJjZXMiXX0sNDQ3ODU0KGUpe2UuZXhwb3J0cz1bIlNvdXRoIEdlb3JnaWEgYW5kIHRoZSBTb3V0aCBTYW5kd2ljaCBJc2xhbmRzIl19LDQ1NzE4NihlKXtlLmV4cG9ydHM9WyJTb3V0aCBTdWRhbiJdfSwxODE3OChlKXsKZS5leHBvcnRzPVsiU29sb21vbiBJc2xhbmRzIl19LDYwMDU3KGUpe2UuZXhwb3J0cz1bIlNvbWFsaWEiXX0sMTk5NDgzKGUpe2UuZXhwb3J0cz1bIlNhaW50IEJhcnRow6lsZW15Il19LDU3Njk3NShlKXtlLmV4cG9ydHM9WyJTYWludCBLaXR0cyBhbmQgTmV2aXMiXX0sOTU1ODM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IEhlbGVuYSwgQXNjZW5zaW9uIGFuZCBUcmlzdGFuIGRhIEN1bmhhIl19LDI1ODMxMShlKXtlLmV4cG9ydHM9WyJTYWludCBMdWNpYSJdfSw0MjUwNjQoZSl7ZS5leHBvcnRzPVsiU2FpbnQgTWFydGluIChGcmVuY2ggcGFydCkiXX0sNzk3MDM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iXX0sNjIyNjEzKGUpe2UuZXhwb3J0cz1bIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIl19LDU5ODk2MyhlKXtlLmV4cG9ydHM9WyJTYW1vYSJdfSw5OTk3NjIoZSl7ZS5leHBvcnRzPVsiU2FuIE1hcmlubyJdfSwyNzkzODIoZSl7ZS5leHBvcnRzPVsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIl19LDUwNjkxNShlKXtlLmV4cG9ydHM9WyJTZXQge2NvbG9yfSBmbGFnIl19LDQyMDgyMShlKXtlLmV4cG9ydHM9WyJTZXljaGVsbGVzIl19LDM1MjEyNyhlKXtlLmV4cG9ydHM9WyJTZWFyY2giXX0sNDc5MjQ2KGUpe2UuZXhwb3J0cz1bIlNlbGVjdCBzb3VyY2UiXX0sMjI0Mjg5KGUpe2UuZXhwb3J0cz1bIlNlbmVnYWwiXX0sNTg5MDcyKGUpe2UuZXhwb3J0cz1bIlNob3cgdGhlIG1hcmtldHMgeW91IGNhbiBwbGFjZSBhbiBvcmRlciB3aXRoIHticm9rZXJOYW1lfSJdfSw2MjE0MzAoZSl7ZS5leHBvcnRzPVsiU2hvdyBtZSJdfSwxNjQ5OTIoZSl7ZS5leHBvcnRzPVsiU2llcnJhIExlb25lIl19LDczNjQwKGUpe2UuZXhwb3J0cz1bIlNpbnQgTWFhcnRlbiAoRHV0Y2ggcGFydCkiXX0sNTIyMDE0KGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw5NzQ0MDQoZSl7ZS5leHBvcnRzPVsiU3VkYW4iXX0sODE4ODM3KGUpe2UuZXhwb3J0cz1bIlN1cmluYW1lIl19LDk3MzkxNShlKXtlLmV4cG9ydHM9WyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIl19LDYxMzE2MyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wiXX0sMTAwMzczKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCAmIGRlc2NyaXB0aW9uIl19LDQwNjAxMyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wgbm90IGZvdW5kIG9uIHtleGNoYW5nZU5hbWV9Il19LDk2MTYxNChlKXtlLmV4cG9ydHM9WyJTeW1ib2wgZ3JvdXAiXX0sMjEzMjk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCwgSVNJTiwgb3IgQ1VTSVAiXX0sMjcxODQwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbHMgbm90IGZvdW5kIGluIHtzeW1ib2xUeXBlfSJdfSw0ODg1OTkoZSl7ZS5leHBvcnRzPVsiU3ltYm9scyBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IG9uIHtleGNoYW5nZU5hbWV9Il19LDQ2NTYwNihlKXtlLmV4cG9ydHM9WyJTeW1ib2xzIG5vdCBmb3VuZCBpbiB7c3ltYm9sVHlwZX0gd2l0aCBzdWNoIGNyaXRlcmlhIl19LDI3NDQ4NShlKXtlLmV4cG9ydHM9WyJTeXJpYSJdfSw5OTA1NzUoZSl7ZS5leHBvcnRzPVsiUGFjaWZpYyJdfSw3OTg0NzYoZSl7ZS5leHBvcnRzPVsiUGFsYXUiXX0sNjk4MDgzKGUpe2UuZXhwb3J0cz1bIlBhbGVzdGluZSwgU3RhdGUgb2YiXX0sMTAwNzI5KGUpe2UuZXhwb3J0cz1bIlBhbmFtYSJdfSw3MjU2OTcoZSl7ZS5leHBvcnRzPVsiUGFwdWEgTmV3IEd1aW5lYSJdfSw0MjAxMzUoZSl7ZS5leHBvcnRzPVsiUGFyYWd1YXkiXX0sMzg0MzgyKGUpe2UuZXhwb3J0cz1bIlBpdGNhaXJuIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNTUyMDk1KGUpe2UuZXhwb3J0cz1bIlByaW1hcnkgZXhjaGFuZ2UiXX0sODQzMzI3KGUpe2UuZXhwb3J0cz1bIlB1ZXJ0byBSaWNvIl19LDY3MDkyMyhlKXtlLmV4cG9ydHM9WyJQdXJwbGUiXX0sOTA3ODc0KGUpe2UuZXhwb3J0cz1bIlB1cnBsZSBsaXN0Il19LDY1NTA0MihlKXtlLmV4cG9ydHM9WyJSZWQiXX0sMTY1NTAxKGUpe2UuZXhwb3J0cz1bIlJlZCBsaXN0Il19LDk2ODA0NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgZnJvbSBXYXRjaGxpc3QiXX0sNzU0MzgyKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBlbW9qaSJdfSw5MjQzMjgoZSl7ZS5leHBvcnRzPVsiUmVzZXQgYWxsIGZpbHRlcnMiXX0sOTcyMTczKGUpe2UuZXhwb3J0cz1bIlJlc2V0IHNvbWUgY3JpdGVyaWEgdG8gc2hvdyBzeW1ib2xzIGluIHtzeW1ib2xUeXBlfSJdfSw5MzQ4ODMoZSl7ZS5leHBvcnRzPVsiUnVzc2lhIl19LDc1ODI5NyhlKXtlLmV4cG9ydHM9WyJSd2FuZGEiXX0sODcyNjgwKGUpe2UuZXhwb3J0cz1bIlLDqXVuaW9uIl19LDUxMzk1MyhlKXtlLmV4cG9ydHM9WyJXb3JsZHdpZGUiXX0sNTY2OTQ4KGUpe2UuZXhwb3J0cz1bIldhdGNobGlzdCBjYW5ub3QgdGFrZSBhbnltb3JlLCBDYXAnbiJdfSwzODIwMjUoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGVycm9yIl19LDU5MDUwNShlKXtlLmV4cG9ydHM9WyJXYWxsaXMgYW5kIEZ1dHVuYSJdfSw4ODEyNzcoZSl7ZS5leHBvcnRzPVsiV2VzdGVybiBTYWhhcmEiXX0sMzI4ODI4KGUpe2UuZXhwb3J0cz1bIldob2EgdGhlcmUsIHlvdSBjYW4ndCBnbyBhZGRpbmcgb3ZlciB7bnVtYmVyfSBzeW1ib2xzIGFuZCBzZXBhcmF0b3JzIHRvIGEgd2F0Y2hsaXN0IOKAkyB3ZSdyZSBlbmdpbmVlcnMgbm90IG1pcmFjbGUgd29ya2Vycy4iXX0sNjE0NDUwKGUpe2UuZXhwb3J0cz1bIlRvZGF5Il19LDgzMjQ0OChlKXtlLmV4cG9ydHM9WyJUb2dvIl19LDk0MDQ4MyhlKXtlLmV4cG9ydHM9WyJUb21vcnJvdyJdfSwyNTA1NTUoZSl7ZS5leHBvcnRzPVsiVG9uZ2EiXX0sOTY4NDU4KGUpe2UuZXhwb3J0cz1bIlRhamlraXN0YW4iXX0sNDk4MTgzKGUpe2UuZXhwb3J0cz1bIlRhbnphbmlhIl19LDgwMzA1MShlKXtlLmV4cG9ydHM9WyJUaW1vci1MZXN0ZSJdfSwzMzU2NzMoZSl7ZS5leHBvcnRzPVsiVHJ5IGFnYWluIGJ5IHNlbGVjdGluZyBhbm90aGVyIGV4cGlyYXRpb24gZGF0ZS4iXX0sOTg0MjM2KGUpewplLmV4cG9ydHM9WyJUcnkgc2VsZWN0aW5nIGFub3RoZXIgc3ltYm9sLiJdfSwzMTQ4NyhlKXtlLmV4cG9ydHM9WyJUcmluaWRhZCBhbmQgVG9iYWdvIl19LDQzMDEzNChlKXtlLmV4cG9ydHM9WyJUdXZhbHUiXX0sNzM1NjgzKGUpe2UuZXhwb3J0cz1bIlR1cmttZW5pc3RhbiJdfSw5NzA2MjQoZSl7ZS5leHBvcnRzPVsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIl19LDE5MjkxMChlKXtlLmV4cG9ydHM9WyJUeXBlIHRvIHNlYXJjaCBmb3Igc3ltYm9sIl19LDQzMTM3NyhlKXtlLmV4cG9ydHM9WyJVLlMuIFZpcmdpbiBJc2xhbmRzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSw5Njc5NDEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyJdfSw3MzY3OTkoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIl19LDU4ODY5MyhlKXtlLmV4cG9ydHM9WyJVZ2FuZGEiXX0sMzE3NDc1KGUpe2UuZXhwb3J0cz1bIlVrcmFpbmUiXX0sOTI4NTUzKGUpe2UuZXhwb3J0cz1bIlVydWd1YXkiXX0sNTQyNjA5KGUpe2UuZXhwb3J0cz1bIlVzZSB0aGUgYXJyb3dzIG9yIG1vdXNlIHRvIG5hdmlnYXRlIHRocm91Z2ggdGhlIGNoYWluLiBQcmVzcyBFbnRlciBvciBjbGljayB0byBzZWxlY3QgYW5kIG9wZW4gdGhlIGNoYXJ0LiJdfSw3ODM5NzAoZSl7ZS5leHBvcnRzPVsiVXpiZWtpc3RhbiJdfSw0MTYyNTcoZSl7ZS5leHBvcnRzPVsiVmFudWF0dSJdfSw0MjMyMDYoZSl7ZS5leHBvcnRzPVsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIl19LDMwMTIyOShlKXtlLmV4cG9ydHM9WyJWaXJnaW4gSXNsYW5kcyAoVS5TLikiXX0sNDA5Mzg0KGUpe2UuZXhwb3J0cz1bIlllbWVuIl19LDk2NTU3MyhlKXtlLmV4cG9ydHM9WyJZZXN0ZXJkYXkiXX0sODY3MzkzKGUpe2UuZXhwb3J0cz1bIlphbWJpYSJdfSw5NTkxNTUoZSl7ZS5leHBvcnRzPVsiWmltYmFid2UiXX0sNzYyOTIyKGUpe2UuZXhwb3J0cz1bImNvbW1vZGl0eSJdfSwyMDgwMTcoZSl7ZS5leHBvcnRzPVsiY2ZkIl19LDk5MTA1OShlKXtlLmV4cG9ydHM9WyJjcnlwdG8iXX0sOTc0MjY0KGUpe2UuZXhwb3J0cz1bImRyIl19LDk5Njg4MihlKXtlLmV4cG9ydHM9WyJlY29ub215Il19LDg3MzU5NyhlKXtlLmV4cG9ydHM9WyJmb3JleCJdfSw4MDY3MjcoZSl7ZS5leHBvcnRzPVsiZnV0dXJlcyJdfSw2NTg5MjYoZSl7ZS5leHBvcnRzPVsiaW5kZXgiXX0sMTUxNjEoZSl7ZS5leHBvcnRzPVsiaW5kaWNlcyJdfSwzNjQ2MjUoZSl7ZS5leHBvcnRzPVsic3RvY2siXX0sOTAxNTI3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBPcHRpb25zIl19LDUzNDEzMihlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9Il19LDIwMzA4NShlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IHdpdGggc3VjaCBjcml0ZXJpYSJdfSw5MDY1NTQoZSl7ZS5leHBvcnRzPVsiw4VsYW5kIElzbGFuZHMiXX0sNTUwMjYoZSl7ZS5leHBvcnRzPVsiJWQgZGF5IiwiJWQgZGF5cyJdfSwxNjk4MyhlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9sIGZyb20geW91ciB3YXRjaGxpc3QuIiwiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB7Y291bnR9IHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sNDM4Nzc1KGUpe2UuZXhwb3J0cz1bIlRoZXJlIGlzIGFsc28ge2NvdW50fSBzeW1ib2wgaW4gb3RoZXIgbWFya2V0cyIsIlRoZXJlIGFyZSBhbHNvIHtjb3VudH0gc3ltYm9scyBpbiBvdGhlciBtYXJrZXRzIl19LDEwMTIyOChlKXtlLmV4cG9ydHM9WyJ7bWF0Y2hpbmdDb3VudH0gbWF0Y2hpbmcgc3ltYm9sIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyIsInttYXRjaGluZ0NvdW50fSBtYXRjaGluZyBzeW1ib2xzIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyJdfX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19513.8749edce64a7e2de2583.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.208Z","timestamp":1785124877208,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19513.8749edce64a7e2de2583.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5fd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6ef1097310cf5815bf5614faa1ac0b01\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1533,"size_decoded":1278,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1533), with no line terminators","md5":"09bffc63a6ee7ea12e58d4abfb223ebe","sha1":"f1191e941d756ec4e581d83de425fc389991a49f","sha256":"fc054c2a50b7830f28594d322695b96d23418348ebb834b85514d45119966be3","sha512":"880203342496aa3d09daa815dada26ddf714ff3fd3ac994ef8f1a4b47a547113fa630bcb5606543a2283de433abbdd943e94c289ad8aaf47a4de47859bc3d6fd","ssdeep":"","tlshash":"c2315cab2134099a7cdfeea4d87b730ef7407c65d74262ea6411a9374589bb0c13e325","first_seen":"2026-07-19T21:33:33.844472Z","last_seen":"2026-07-27T06:24:31.628746Z","times_seen":26,"resource_available":false,"data":"LmxpbmtJdGVtLVNSa0ZIQWdne2N1cnNvcjpwb2ludGVyfS5zY3JvbGxXcmFwLWhyUVZfQlpze2NvbnRhaW46Y29udGVudDttYXJnaW46LTRweCBjYWxjKG1heCh2YXIoLS11aS1saWItcm91bmQtdGFicy1ob3ItcGFkZGluZywgMHB4KSwgNHB4KSotMSk7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6NHB4IG1heCh2YXIoLS11aS1saWItcm91bmQtdGFicy1ob3ItcGFkZGluZywwcHgpLDRweCk7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJX0uc2Nyb2xsV3JhcC1oclFWX0Jacy5vdmVyZmxvd1Njcm9sbC1oclFWX0Jac3tvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnN7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS5zY3JvbGxXcmFwLWhyUVZfQlpzLm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzLnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsV3JhcC1oclFWX0Jacy5vdmVyZmxvd1Njcm9sbC1oclFWX0Jaczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lO2hlaWdodDowO3dpZHRoOjB9LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC5zY3JvbGxXcmFwLWhyUVZfQlpzLm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnM6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9LnJvdW5kVGFicy1oclFWX0Jac3tkaXNwbGF5OmZsZXg7ZmxleC1mbG93OnJvdyBub3dyYXA7LS11aS1saWItcm91bmRUYWItbWFyZ2luOnZhcigtLXVpLWxpYi1yb3VuZFRhYnMtZ2FwKX0ub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnMgLnJvdW5kVGFicy1oclFWX0Jac3ttaW4td2lkdGg6bWF4LWNvbnRlbnR9Lm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzIC5yb3VuZFRhYnMtaHJRVl9CWnMuY2VudGVyLWhyUVZfQlpze21hcmdpbi1pbmxpbmUtZW5kOmNhbGMobWF4KHZhcigtLXVpLWxpYi1yb3VuZC10YWJzLWhvci1wYWRkaW5nLCAwcHgpLCA0cHgpKi0xKTtwYWRkaW5nLWlubGluZS1lbmQ6bWF4KHZhcigtLXVpLWxpYi1yb3VuZC10YWJzLWhvci1wYWRkaW5nLDBweCksNHB4KX0ub3ZlcmZsb3dXcmFwLWhyUVZfQlpzIC5yb3VuZFRhYnMtaHJRVl9CWnN7Z2FwOnZhcigtLXVpLWxpYi1yb3VuZFRhYnMtZ2FwKTstLXVpLWxpYi1yb3VuZFRhYi1tYXJnaW46MDtmbGV4LXdyYXA6d3JhcH0ucm91bmRUYWJzLWhyUVZfQlpzLnN0YXJ0LWhyUVZfQlpze2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5yb3VuZFRhYnMtaHJRVl9CWnMuY2VudGVyLWhyUVZfQlpze2p1c3RpZnktY29udGVudDpjZW50ZXJ9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.247Z","timestamp":1785124877247,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/63402.d30c1e003b054930d32c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-b3cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d5dc329ba2e77271a04513dc8e2ea8c2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":46028,"size_decoded":16655,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3927)","md5":"51f86891ee79dc28bdaa34f0c6cacb5f","sha1":"8e8c8d6a85f6ac78978e96ad933ef6300d1aef2b","sha256":"015f7b5bad17c7eaeb457105542f879215cd8f29f0a18185e5ab0d330b4db3aa","sha512":"29dec03ba8451463072b5661f375a9c6661cda7bd01c2929bffada338f4987ecb31d0526f7436b86b16de82236ebcdb159d3b2bf504006cf924283c2bb53ae83","ssdeep":"768:0ZUKYt1k9LsYxxHyqE58nvYoZUNIB8BSOfhOSEuE0fykah+kl7Y8HgJD/xpnwv/a:+5qUZEekx8oVS3rPlc9wfgxI+DcwDtgw","tlshash":"58232a297190b47ca2e7419ec02e480ce36a2488e8659cb5f9fcecdd33d598d31655fe","first_seen":"2026-07-23T14:00:31.469602Z","last_seen":"2026-07-27T06:24:31.805559Z","times_seen":23,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2MzQwMl0sezg1NDQ1KGUpe2UuZXhwb3J0cz17cGlsbHM6InBpbGxzLUllUXdQamNaIixwcmltYXJ5OiJwcmltYXJ5LUllUXdQamNaIixncmF5OiJncmF5LUllUXdQamNaIixzZWxlY3RlZDoic2VsZWN0ZWQtSWVRd1BqY1oiLGdyb3VwZWQ6Imdyb3VwZWQtSWVRd1BqY1oiLGFjdGl2ZToiYWN0aXZlLUllUXdQamNaIixkaXNhYmxlQWN0aXZlT25Ub3VjaDoiZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaIix3aXRoR3JvdXBlZDoid2l0aEdyb3VwZWQtSWVRd1BqY1oiLCJxdWlldC1wcmltYXJ5IjoicXVpZXQtcHJpbWFyeS1JZVF3UGpjWiIsZ3JlZW46ImdyZWVuLUllUXdQamNaIixyZWQ6InJlZC1JZVF3UGpjWiIsYmx1ZToiYmx1ZS1JZVF3UGpjWiIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktSWVRd1BqY1oiLGdob3N0OiJnaG9zdC1JZVF3UGpjWiJ9fSwzNjQ4MTUoZSl7ZS5leHBvcnRzPXtsaWdodEJ1dHRvbjoibGlnaHRCdXR0b24ta2pSZlRsZngiLGxpbms6Imxpbmsta2pSZlRsZngiLGx0cjoibHRyLWtqUmZUbGZ4IixydGw6InJ0bC1ralJmVGxmeCIsInR5cG9ncmFwaHktcmVndWxhcjE2cHgiOiJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1tZWRpdW0xNnB4IjoidHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTRweCI6InR5cG9ncmFwaHktcmVndWxhcjE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTRweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgiOiJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweC1ralJmVGxmeCIsY29udGVudDoiY29udGVudC1ralJmVGxmeCIsdmlzdWFsbHlIaWRkZW46InZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4Iixub3dyYXA6Im5vd3JhcC1ralJmVGxmeCIsZWxsaXBzaXNDb250YWluZXI6ImVsbGlwc2lzQ29udGFpbmVyLWtqUmZUbGZ4Iix0ZXh0V3JhcENvbnRhaW5lcjoidGV4dFdyYXBDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwV2l0aEVsbGlwc2lzOiJ0ZXh0V3JhcFdpdGhFbGxpcHNpcy1ralJmVGxmeCIsc2xvdDoic2xvdC1ralJmVGxmeCIsY2FyZXQ6ImNhcmV0LWtqUmZUbGZ4IixhY3RpdmVDYXJldDoiYWN0aXZlQ2FyZXQta2pSZlRsZngiLHhzbWFsbDoieHNtYWxsLWtqUmZUbGZ4Iix3aXRoU3RhcnRTbG90OiJ3aXRoU3RhcnRTbG90LWtqUmZUbGZ4Iix3aXRoRW5kU2xvdDoid2l0aEVuZFNsb3Qta2pSZlRsZngiLG5vQ29udGVudDoibm9Db250ZW50LWtqUmZUbGZ4Iix3cmFwOiJ3cmFwLWtqUmZUbGZ4IixzbWFsbDoic21hbGwta2pSZlRsZngiLG1lZGl1bToibWVkaXVtLWtqUmZUbGZ4In19LDgzMjUxOChlKXtlLmV4cG9ydHM9eyJjaGVja2JveC1zaXplIjoiMThweCIsYm94OiJib3gtWGZHa0JCcWYiLHVuY2hlY2tlZDoidW5jaGVja2VkLVhmR2tCQnFmIixjaGVja2VkOiJjaGVja2VkLVhmR2tCQnFmIixtaXhlZDoibWl4ZWQtWGZHa0JCcWYiLGRpc2FibGVkOiJkaXNhYmxlZC1YZkdrQkJxZiIsY2hlY2tlZE1hcms6ImNoZWNrZWRNYXJrLVhmR2tCQnFmIixtaXhlZE1hcms6Im1peGVkTWFyay1YZkdrQkJxZiJ9fSw4NjAwMjUoZSl7ZS5leHBvcnRzPXtwYWlyOiJwYWlyLXh3R3NTWFIwIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMCIseHh4eHNtYWxsOiJ4eHh4c21hbGwteHdHc1NYUjAiLHh4eHNtYWxsOiJ4eHhzbWFsbC14d0dzU1hSMCIseHhzbWFsbDoieHhzbWFsbC14d0dzU1hSMCIseHNtYWxsOiJ4c21hbGwteHdHc1NYUjAiLHNtYWxsOiJzbWFsbC14d0dzU1hSMCIsbWVkaXVtOiJtZWRpdW0teHdHc1NYUjAiLGxhcmdlOiJsYXJnZS14d0dzU1hSMCIseGxhcmdlOiJ4bGFyZ2UteHdHc1NYUjAiLHh4bGFyZ2U6Inh4bGFyZ2UteHdHc1NYUjAiLHh4eGxhcmdlOiJ4eHhsYXJnZS14d0dzU1hSMCIsbG9nbzoibG9nby14d0dzU1hSMCIsc2tlbGV0b246InNrZWxldG9uLXh3R3NTWFIwIixlbXB0eToiZW1wdHkteHdHc1NYUjAifX0sNDI5MzUzKGUpe2UuZXhwb3J0cz17ZGlzYWJsZVNlbGZQb3NpdGlvbmluZzoiZGlzYWJsZVNlbGZQb3NpdGlvbmluZy1MclpwNFJPQyJ9fSw1OTE3MjgoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1haTkzREpWdyIsdmlzaWJsZToidmlzaWJsZS1haTkzREpWdyIsZm9yY2VWaXNpYmxlOiJmb3JjZVZpc2libGUtYWk5M0RKVncifX0sNzUxODYzKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1HaERqWHpCeCIsaW5wdXQ6ImlucHV0LUdoRGpYekJ4Iixib3g6ImJveC1HaERqWHpCeCIsaG92ZXJEb3Q6ImhvdmVyRG90LUdoRGpYekJ4IixyZWQ6InJlZC1HaERqWHpCeCIsYmx1ZToiYmx1ZS1HaERqWHpCeCIsZ3JlZW46ImdyZWVuLUdoRGpYekJ4IixvcmFuZ2U6Im9yYW5nZS1HaERqWHpCeCIscHVycGxlOiJwdXJwbGUtR2hEalh6QngiLGN5YW46ImN5YW4tR2hEalh6QngiLHBpbms6InBpbmstR2hEalh6QngiLGxhcmdlOiJsYXJnZS1HaERqWHpCeCIscGlja2VyRG90OiJwaWNrZXJEb3QtR2hEalh6QngifX0sNTU4ODczKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci15Zk5iZ3RnTiIsYnV0dG9uczoiYnV0dG9ucy15Zk5iZ3RnTiIsY29sb3JTZWxlY3RCdXR0b246ImNvbG9yU2VsZWN0QnV0dG9uLXlmTmJndGdOIn19LDU1ODk3MihlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItVm5lUVZvTnYiLHNlbGVjdG9yOiJzZWxlY3Rvci1WbmVRVm9OdiIsYXJyb3dMZWZ0OiJhcnJvd0xlZnQtVm5lUVZvTnYiLGNvbG9yU2VsZWN0QnV0dG9uOiJjb2xvclNlbGVjdEJ1dHRvbi1WbmVRVm9OdiIscG9wdXA6InBvcHVwLVZuZVFWb052In19LDkxNjI2KGUpe2UuZXhwb3J0cz17aXRlbToiaXRlbS12VG04TzBMTSIsCmludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS12VG04TzBMTSIsaG92ZXJlZDoiaG92ZXJlZC12VG04TzBMTSIsZGlzYWJsZWQ6ImRpc2FibGVkLXZUbThPMExNIixhY3RpdmU6ImFjdGl2ZS12VG04TzBMTSIsc2hvcnRjdXQ6InNob3J0Y3V0LXZUbThPMExNIixub3JtYWw6Im5vcm1hbC12VG04TzBMTSIsYmlnOiJiaWctdlRtOE8wTE0iLGljb25DZWxsOiJpY29uQ2VsbC12VG04TzBMTSIsaWNvbjoiaWNvbi12VG04TzBMTSIsY29udGVudDoiY29udGVudC12VG04TzBMTSIsbGFiZWw6ImxhYmVsLXZUbThPMExNIixjaGVja2VkOiJjaGVja2VkLXZUbThPMExNIix0b29sYm94OiJ0b29sYm94LXZUbThPMExNIixzaG93VG9vbGJveE9uSG92ZXI6InNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTSIsYXJyb3dJY29uOiJhcnJvd0ljb24tdlRtOE8wTE0iLHN1Yk1lbnU6InN1Yk1lbnUtdlRtOE8wTE0iLGludmlzaWJsZUhvdGtleToiaW52aXNpYmxlSG90a2V5LXZUbThPMExNIn19LDEwNzk2NihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tZDlqTE9MclIiLGVtcHR5SWNvbnM6ImVtcHR5SWNvbnMtZDlqTE9MclIiLGxvYWRpbmc6ImxvYWRpbmctZDlqTE9MclIiLGRpc2FibGVkOiJkaXNhYmxlZC1kOWpMT0xyUiIsaW50ZXJhY3RpdmU6ImludGVyYWN0aXZlLWQ5akxPTHJSIixob3ZlcmVkOiJob3ZlcmVkLWQ5akxPTHJSIixub3JtYWw6Im5vcm1hbC1kOWpMT0xyUiIsYmlnOiJiaWctZDlqTE9MclIiLGljb246Imljb24tZDlqTE9MclIiLGxhYmVsOiJsYWJlbC1kOWpMT0xyUiIsdGl0bGU6InRpdGxlLWQ5akxPTHJSIixuZXN0ZWQ6Im5lc3RlZC1kOWpMT0xyUiIsc2hvcnRjdXQ6InNob3J0Y3V0LWQ5akxPTHJSIixyZW1vdmU6InJlbW92ZS1kOWpMT0xyUiJ9fSw5NTQ0NzgoZSl7ZS5leHBvcnRzPXtzZXBhcmF0b3I6InNlcGFyYXRvci1LSHR5TVRZRyJ9fSwxNzcxMTYoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1NMW16NHF1QSIscGFpckNvbnRhaW5lcjoicGFpckNvbnRhaW5lci1NMW16NHF1QSIsbG9nbzoibG9nby1NMW16NHF1QSIsaGlkZGVuOiJoaWRkZW4tTTFtejRxdUEifX0sNDYwMzcwKGUpe2UuZXhwb3J0cz17c2Nyb2xsV3JhcDoic2Nyb2xsV3JhcC1GYU92VEQyciIsc2Nyb2xsV3JhcF92aXNpYmxlOiJzY3JvbGxXcmFwX3Zpc2libGUtRmFPdlREMnIifX0sNjQ2MTYyKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC12U2I2QzBCaiIsIndyYXAtLWhvcml6b250YWwiOiJ3cmFwLS1ob3Jpem9udGFsLXZTYjZDMEJqIixiYXI6ImJhci12U2I2QzBCaiIsYmFySW5uZXI6ImJhcklubmVyLXZTYjZDMEJqIiwiYmFySW5uZXItLWhvcml6b250YWwiOiJiYXJJbm5lci0taG9yaXpvbnRhbC12U2I2QzBCaiIsImJhci0taG9yaXpvbnRhbCI6ImJhci0taG9yaXpvbnRhbC12U2I2QzBCaiJ9fSw4MTAyODEoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLVdCMnkwRW5QIixkcm9wcGVkOiJkcm9wcGVkLVdCMnkwRW5QIn19LDg2NTU2MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVkFwcENvbnRleHQ6KCk9PmMsVFZBcHBDb250ZXh0UHJvdmlkZXI6KCk9Pml9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDExNTI5Mykscz1vKDk5OTUxKSxhPW8oMTE3MzEzKTtjb25zdCBsPXtpT3M6Im9sZCIsYW5kcm9pZDoibmV3IixvbGQ6Im9sZCIsbmV3OiJuZXciLGFueToiYW55In07ZnVuY3Rpb24gaShlKXtjb25zdFt0XT0oMCxuLnVzZVN0YXRlKSh7aXNPbk1vYmlsZUFwcFBhZ2U6ZT0+KDAsYS5pc09uTW9iaWxlQXBwUGFnZSkobFtlXSksaXNSdGw6KDAsci5pc1J0bCkoKSxsb2NhbGU6d2luZG93LmxvY2FsZSxyZW5kZXJNb2RlOmUucmVuZGVyTW9kZT8/ImxlZ2FjeSJ9KTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHMuQXBwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dH0sZS5jaGlsZHJlbil9Y29uc3QgYz1zLkFwcENvbnRleHR9LDU3MTMwMChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7Y3JlYXRlUmVhY3RSb290OigpPT5sfSk7dmFyIG49byg3Nzk0NzQpLHI9bygxMjkzNjUpLHM9bygzMzYzMzQpLGE9byg4NjU1NjApO2Z1bmN0aW9uIGwoZSx0LG89ImxlZ2FjeSIpe2NvbnN0IGw9bi5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sZSk7aWYoIm1vZGVybiI9PT1vKXtjb25zdCBlPSgwLHMuY3JlYXRlUm9vdCkodCk7cmV0dXJuIGUucmVuZGVyKGwpLHtyZW5kZXIodCl7ZS5yZW5kZXIobi5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sdCkpfSx1bm1vdW50KCl7ZS51bm1vdW50KCl9fX1yZXR1cm4gci5yZW5kZXIobCx0KSx7cmVuZGVyKGUpe3IucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm99LGUpLHQpfSx1bm1vdW50KCl7ci51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpfX19fSwxMDc1ODUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7cmV0dXJuIHR8fG51bGw9PWV8fCgic3RyaW5nIj09dHlwZW9mIGV8fEFycmF5LmlzQXJyYXkoZSkpJiYwPT09ZS5sZW5ndGh9by5kKHQse2lzSWNvbk9ubHk6KCk9Pm59KX0sMjIwNzY0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0J1dHRvbkdyb3VwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe2lzSW5CdXR0b25Hcm91cDohMSxpc0dyb3VwUHJpbWFyeTohMX0pfSwzMjgyMTkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlTGlnaHRCdXR0b25DbGFzc2VzOigpPT51fSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygzMDk5MjApLGw9bygxMDc1ODUpLGk9byg1MzIwMTEpLGM9bygyMjA3NjQpO2NvbnN0IHU9KGUsdCxvKT0+e2NvbnN0IHI9KDAsCm4udXNlQ29udGV4dCkoYS5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7Y2xhc3NOYW1lOnUsaXNTZWxlY3RlZDptLGNoaWxkcmVuOmQsc2hvd0NhcmV0OnAsZm9yY2VEaXJlY3Rpb246aCxpY29uT25seTpnLGNvbG9yOnY9ImdyYXkiLHZhcmlhbnQ6Xz0icHJpbWFyeSIsc2l6ZTpmPSJtZWRpdW0iLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOmI9ci5lbmFibGVBY3RpdmVTdGF0ZVN0eWxlcyx0eXBvZ3JhcGh5OkMsaXNMaW5rOng9ITEsdGV4dFdyYXA6eSxpc1BpbGxzOlMsaXNBY3RpdmU6dyxzdGFydFNsb3Q6ayxlbmRTbG90OkV9PXQsTD1lW2B0eXBvZ3JhcGh5LSR7KChlLHQsbyk9PntpZihvKXtjb25zdCBlPW8ucmVwbGFjZSgvXlxEKy9nLCIiKTtyZXR1cm4gdD9gc2VtaWJvbGQke2V9YDpvfXN3aXRjaChlKXtjYXNlInhzbWFsbCI6cmV0dXJuIHQ/InNlbWlib2xkMTRweCI6InJlZ3VsYXIxNHB4IjtjYXNlInNtYWxsIjpjYXNlIm1lZGl1bSI6cmV0dXJuIHQ/InNlbWlib2xkMTZweCI6InJlZ3VsYXIxNnB4IjtkZWZhdWx0OnJldHVybiIifX0pKGYsbXx8UyxDfHx2b2lkIDApfWBdLE49KDAsbi51c2VDb250ZXh0KShpLkNvbnRyb2xHcm91cENvbnRleHQpLHtpc0luQnV0dG9uR3JvdXA6TSxpc0dyb3VwUHJpbWFyeTpUfT0oMCxuLnVzZUNvbnRleHQpKGMuQnV0dG9uR3JvdXBDb250ZXh0KTtyZXR1cm4gcygpKHUsZS5saWdodEJ1dHRvbix4JiZlLmxpbmssdyYmZS5hY3RpdmUsbSYmZS5zZWxlY3RlZCwoMCxsLmlzSWNvbk9ubHkpKGQsZykmJmUubm9Db250ZW50LCEhayYmZS53aXRoU3RhcnRTbG90LChwfHwhIUUpJiZlLndpdGhFbmRTbG90LG8mJmUud2l0aEdyb3VwZWQsaCYmZVtoXSxlW1Q/InByaW1hcnkiOl9dLGVbVD8iZ3JheSI6dl0sZVtmXSxMLCFiJiZlLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcyxOLmlzR3JvdXBlZCYmZS5ncm91cGVkLHkmJmUud3JhcCxNJiZlLmRpc2FibGVBY3RpdmVPblRvdWNoLFMmJmUucGlsbHMpfX0sODMwMTIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TGlnaHRCdXR0b25Db250ZW50OigpPT5wfSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9byg3NzAxNDMpLGw9bygxMDc1ODUpLGk9bygyNzMzMTApLGM9byg5MzUxKSx1PW8ubihjKSxtPW8oMzY0ODE1KSxkPW8ubihtKTtmdW5jdGlvbiBwKGUpe2NvbnN0e3Nob3dDYXJldDp0LGljb25Pbmx5Om8sZWxsaXBzaXM6cj0hMCx0ZXh0V3JhcDpjLHRvb2x0aXBUZXh0Om0sY2hpbGRyZW46cCxlbmRTbG90Omgsc3RhcnRTbG90OmcsaXNBY3RpdmVDYXJldDp2fT1lO1toLHRdLmZpbHRlcigoZT0+ISFlKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwsZyYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuc2xvdCxkKCkuc3RhcnRTbG90KX0sZyksISgwLGwuaXNJY29uT25seSkocCxvKSYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuY29udGVudCwhYyYmZCgpLm5vd3JhcCwiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5IiwiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpLCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6bT8/KDAsYS5nZXRUZXh0Rm9yVG9vbHRpcCkocCl9LGN8fHI/bi5jcmVhdGVFbGVtZW50KG4uRnJhZ21lbnQsbnVsbCxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKCFjJiZyJiZkKCkuZWxsaXBzaXNDb250YWluZXIsYyYmZCgpLnRleHRXcmFwQ29udGFpbmVyLGMmJnImJmQoKS50ZXh0V3JhcFdpdGhFbGxpcHNpcyl9LHApLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpkKCkudmlzdWFsbHlIaWRkZW4sImFyaWEtaGlkZGVuIjohMH0scCkpOm4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwscCxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ZCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LHApKSksaCYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuc2xvdCxkKCkuZW5kU2xvdCl9LGgpLHQmJihlPT5uLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtjbGFzc05hbWU6cygpKGQoKS5jYXJldCxlJiZkKCkuYWN0aXZlQ2FyZXQpLGljb246dSgpfSkpKHYpKX19LDg1NDgyMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtMaWdodEJ1dHRvbjooKT0+ZH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oNTMyMDExKSxzPW8oMzI4MjE5KSxhPW8oODMwMTIpLGw9bygzNDUxMTYpLGk9bygzNjQ4MTUpLGM9by5uKGkpLHU9byg4NTQ0NSksbT1vLm4odSk7ZnVuY3Rpb24gZChlKXtjb25zdHtpc0dyb3VwZWQ6dH09bi51c2VDb250ZXh0KHIuQ29udHJvbEdyb3VwQ29udGV4dCkse3JlZmVyZW5jZTpvLGNsYXNzTmFtZTppLGlzU2VsZWN0ZWQ6dSxjaGlsZHJlbjpkLGljb25Pbmx5OnAsZWxsaXBzaXM6aCxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjp2LGVuZFNsb3Q6XyxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6QyxzaXplOngsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6eSx0eXBvZ3JhcGh5OlMsdGV4dFdyYXA6dz0hMSxtYXhMaW5lczprLHN0eWxlOkU9e30saXNQaWxsczpMLGlzQWN0aXZlOk4sdG9vbHRpcFRleHQ6TSxyb2xlOlQsZGF0YVFhSWQ6UCxhcmlhTGFiZWw6SSxuYW1lOlIsb25Gb2N1czpPLG9uQmx1cjpCLG9uTW91c2VFbnRlcjpqLG9uTW91c2VMZWF2ZTp6LG9uTW91c2VPdmVyOkQsb25Nb3VzZU91dDpBLG9uQ2xpY2s6RyxvbkFuaW1hdGlvbkVuZDpXLG9uUG9pbnRlck92ZXI6VSxvblBvaW50ZXJPdXQ6SCxvbktleURvd246VixhdXRvRm9jdXM6WCxpc0FjdGl2ZUNhcmV0OkYsaWQ6USxkaXNhYmxlZDpaLHRhYkluZGV4OnEsdmFsdWU6Syx0aXRsZTokLHR5cGU6SiwuLi5ZfT1lLGVlPSgwLGwuZmlsdGVyRGF0YVByb3BzKShZKSx0ZT0oMCxsLmZpbHRlckFyaWFQcm9wcykoWSksb2U9dz9rPz8yOjEsbmU9b2U+MD97Li4uRSwKIi0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcyI6b2V9OkU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7bmFtZTpSLG9uRm9jdXM6TyxvbkJsdXI6Qixvbk1vdXNlRW50ZXI6aixvbk1vdXNlTGVhdmU6eixvbk1vdXNlT3ZlcjpELG9uTW91c2VPdXQ6QSxvbkNsaWNrOkcsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOlUsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOlYsYXV0b0ZvY3VzOlgsaWQ6USxkaXNhYmxlZDpaLHRhYkluZGV4OnEsdmFsdWU6Syx0aXRsZTokLHR5cGU6SiwiZGF0YS1xYS1pZCI6UCwiYXJpYS1sYWJlbCI6SSwuLi5lZSwuLi50ZSxjbGFzc05hbWU6KDAscy51c2VMaWdodEJ1dHRvbkNsYXNzZXMpKHsuLi5tKCksLi4uYygpfSx7Y2xhc3NOYW1lOmksaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmQsaWNvbk9ubHk6cCxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjp2LGVuZFNsb3Q6XyxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6QyxzaXplOngsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6eSx0eXBvZ3JhcGh5OlMsdGV4dFdyYXA6dyxpc1BpbGxzOkwsaXNBY3RpdmU6Tn0sdCkscmVmOm8sc3R5bGU6bmUscm9sZTpUfSxuLmNyZWF0ZUVsZW1lbnQoYS5MaWdodEJ1dHRvbkNvbnRlbnQse3Nob3dDYXJldDpnLGlzQWN0aXZlQ2FyZXQ6ZyYmKEx8fE58fHV8fEYpLGljb25Pbmx5OnAsZWxsaXBzaXM6aCx0ZXh0V3JhcDp3LHRvb2x0aXBUZXh0Ok0sZW5kU2xvdDpfLHN0YXJ0U2xvdDpmfSxkKSl9fSw1MzYxMjUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Q2hlY2tib3hWaWV3SW1wbDooKT0+ZH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMjE3Mjc0KSxsPW8oMTQ3OTAxKSxpPW8oMTI1ODk3KSxjPW8ubihpKSx1PW8oODMyNTE4KSxtPW8ubih1KTtmdW5jdGlvbiBkKGUpe2NvbnN0e2NoZWNrZWQ6dCxkaXNhYmxlZDpvLGRhdGFRYUlkOnJ9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShtKCkuYm94LCEwPT09dCYmbSgpLmNoZWNrZWQsITE9PT10JiZtKCkudW5jaGVja2VkLCJtaXhlZCI9PT10JiZtKCkubWl4ZWQsbyYmbSgpLmRpc2FibGVkKSwiZGF0YS1xYS1pZCI6KDAsbC5jb25jYXRJZk5vdE51bGwpKGAke2wuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWNoZWNrYm94LXZpZXctJHt0PyJjaGVja2VkIjoidW5jaGVja2VkIn1gLHIpfSwhMD09PXQmJm4uY3JlYXRlRWxlbWVudChhLkJsb2NrSWNvbix7aWNvbjpjKCksY2xhc3NOYW1lOm0oKS5jaGVja2VkTWFya30pLCJtaXhlZCI9PT10JiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptKCkubWl4ZWRNYXJrfSkpfX0sNjI3ODQ4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5pLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9PmN9KTt2YXIgbj1vKDkxNDQ4Nykscj1vLm4obikscz1vKDEzNjQpLGE9byg4NjAwMjUpLGw9by5uKGEpO2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm4gcigpKGwoKS5wYWlyLGwoKVtlXSx0KX1mdW5jdGlvbiBjKGUsdD0yLG89ITApe3JldHVybiByKCkobCgpLmxvZ28sbCgpW2VdLGwoKS5za2VsZXRvbixzLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbyYmbCgpLmVtcHR5LDE9PT10JiZyKCkocy5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw1MzIwMTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Q29udHJvbEdyb3VwQ29udGV4dDooKT0+cyxkZWZhdWx0Q2VsbFN0YXRlOigpPT5yfSk7dmFyIG49byg3Nzk0NzQpO2NvbnN0IHI9e2lzVG9wOiEwLGlzUmlnaHQ6ITAsaXNCb3R0b206ITAsaXNMZWZ0OiEwfSxzPW4uY3JlYXRlQ29udGV4dCh7aXNHcm91cGVkOiExLGNlbGxTdGF0ZTpyfSl9LDY0MTkwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NwaW5uZXI6KCk9PmN9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDU2NzQ3OSksbD0obyg4NDU1NzcpLG8oNDI5MzUzKSksaT1vLm4obCk7ZnVuY3Rpb24gYyhlKXtjb25zdHthcmlhTGFiZWw6dCxhcmlhTGFiZWxsZWRieTpvLGNsYXNzTmFtZTpyLHN0eWxlOmwsc2l6ZTpjLGlkOnUsZGlzYWJsZVNlbGZQb3NpdGlvbmluZzptfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkociwidHYtc3Bpbm5lciIsInR2LXNwaW5uZXItLXNob3duIixgdHYtc3Bpbm5lci0tc2l6ZV8ke2Euc3Bpbm5lclNpemVNYXBbY3x8YS5ERUZBVUxUX1NJWkVdfWAsbSYmaSgpLmRpc2FibGVTZWxmUG9zaXRpb25pbmcpLHN0eWxlOmwscm9sZToicHJvZ3Jlc3NiYXIiLGlkOnUsImFyaWEtbGFiZWwiOnQsImFyaWEtbGFiZWxsZWRieSI6b30pfX0sODY5ODQyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N3aXRjaEdyb3VwQ29udGV4dDooKT0+c30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oODYyMzg4KTtjb25zdCBzPSgwLG4uY3JlYXRlQ29udGV4dCkoe2dldE5hbWU6KCk9PiIiLGdldFZhbHVlczooKT0+W10sZ2V0T25DaGFuZ2U6KCk9PnIuZGVmYXVsdCxzdWJzY3JpYmU6ci5kZWZhdWx0LHVuc3Vic2NyaWJlOnIuZGVmYXVsdH0pfSw2NTg0NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHttYWtlU3dpdGNoR3JvdXBJdGVtOigpPT5zfSk7dmFyIG49byg3Nzk0NzQpLHI9byg4Njk4NDIpO2Z1bmN0aW9uIHMoZSl7dmFyIHQ7cmV0dXJuIHQ9Y2xhc3MgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLmNvbnRleHQuZ2V0T25DaGFuZ2UoKShlLnRhcmdldC52YWx1ZSl9LHRoaXMuX29uVXBkYXRlPWU9PntlLmluY2x1ZGVzKHRoaXMucHJvcHMudmFsdWUpJiZ0aGlzLmZvcmNlVXBkYXRlKCl9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5jb250ZXh0LnN1YnNjcmliZSh0aGlzLl9vblVwZGF0ZSl9cmVuZGVyKCl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChlLHsuLi50aGlzLnByb3BzLG5hbWU6dGhpcy5fZ2V0TmFtZSgpLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlLApjaGVja2VkOnRoaXMuX2lzQ2hlY2tlZCgpfSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLmNvbnRleHQudW5zdWJzY3JpYmUodGhpcy5fb25VcGRhdGUpfV9nZXROYW1lKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXROYW1lKCl9X2lzQ2hlY2tlZCgpe3JldHVybiB0aGlzLmNvbnRleHQuZ2V0VmFsdWVzKCkuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSl9fSx0LmNvbnRleHRUeXBlPXIuU3dpdGNoR3JvdXBDb250ZXh0LHR9fSwxNDkzNjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3dpdGNoR3JvdXA6KCk9PnN9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDg2OTg0Mik7Y2xhc3MgcyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9zdWJzY3JpcHRpb25zPW5ldyBTZXQsdGhpcy5fZ2V0TmFtZT0oKT0+dGhpcy5wcm9wcy5uYW1lLHRoaXMuX2dldFZhbHVlcz0oKT0+dGhpcy5wcm9wcy52YWx1ZXMsdGhpcy5fZ2V0T25DaGFuZ2U9KCk9PnRoaXMucHJvcHMub25DaGFuZ2UsdGhpcy5fc3Vic2NyaWJlPWU9Pnt0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChlKX0sdGhpcy5fdW5zdWJzY3JpYmU9ZT0+e3RoaXMuX3N1YnNjcmlwdGlvbnMuZGVsZXRlKGUpfSx0aGlzLnN0YXRlPXtzd2l0Y2hHcm91cENvbnRleHQ6e2dldE5hbWU6dGhpcy5fZ2V0TmFtZSxnZXRWYWx1ZXM6dGhpcy5fZ2V0VmFsdWVzLGdldE9uQ2hhbmdlOnRoaXMuX2dldE9uQ2hhbmdlLHN1YnNjcmliZTp0aGlzLl9zdWJzY3JpYmUsdW5zdWJzY3JpYmU6dGhpcy5fdW5zdWJzY3JpYmV9fX1yZW5kZXIoKXtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHIuU3dpdGNoR3JvdXBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLnN0YXRlLnN3aXRjaEdyb3VwQ29udGV4dH0sdGhpcy5wcm9wcy5jaGlsZHJlbil9Y29tcG9uZW50RGlkVXBkYXRlKGUpe3RoaXMuX25vdGlmeSh0aGlzLl9nZXRVcGRhdGVzKHRoaXMucHJvcHMudmFsdWVzLGUudmFsdWVzKSl9X25vdGlmeShlKXt0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goKHQ9PnQoZSkpKX1fZ2V0VXBkYXRlcyhlLHQpe3JldHVyblsuLi50LC4uLmVdLmZpbHRlcigobz0+dC5pbmNsdWRlcyhvKT8hZS5pbmNsdWRlcyhvKTplLmluY2x1ZGVzKG8pKSl9fX0sMjc4MjYzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2Zvcm1hdFRpbWU6KCk9PnAsaXNWYWxpZFRpbWVPcHRpb25zRGF0ZVN0eWxlOigpPT5kLGlzVmFsaWRUaW1lT3B0aW9uc1JhbmdlOigpPT5tfSk7Y29uc3Qgbj17Y2FsZW5kYXI6ImdyZWdvcnkiLG51bWJlcmluZ1N5c3RlbToibGF0biIsaG91cjEyOiExfSxyPXt5ZWFyOiJudW1lcmljIixtb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9LHM9e3llYXI6Im51bWVyaWMiLG1vbnRoOiIyLWRpZ2l0IixkYXk6IjItZGlnaXQifSxhPXtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLHNlY29uZDoiMi1kaWdpdCJ9LGw9InNob3J0T2Zmc2V0IixpPSJzaG9ydCIsYz17eWVhcjowLG1vbnRoOjEsZGF5OjIsaG91cjozLG1pbnV0ZTo0LHNlY29uZDo1fTtjb25zdCB1PVsieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCJdO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHUuaW5jbHVkZXMoZSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4ibnVtZXJpYyI9PT1lfHwic2hvcnQiPT09ZX1mdW5jdGlvbiBwKGUsdCxvPSJ5ZWFyIix1PSJkYXkiLG0pe2NvbnN0IGQ9ZnVuY3Rpb24oZT0ieWVhciIsdD0iZGF5IixvPXt9KXtbZSx0XT1jW3RdPmNbZV0/W2UsdF06W3QsZV07Y29uc3QgdT17Li4uIm51bWVyaWMiPT09by5kYXRlU3R5bGU/czpyLC4uLmF9LG09by5mcmFjdGlvbmFsU2Vjb25kRGlnaXRzLGQ9ey4uLm4sZnJhY3Rpb25hbFNlY29uZERpZ2l0czp2b2lkIDA9PT1tP3ZvaWQgMDpNYXRoLmZsb29yKE1hdGgubWluKE1hdGgubWF4KDEsbSksMykpLHRpbWVab25lOm8udGltZVpvbmUsd2Vla2RheTpvLndlZWtkYXk/aTp2b2lkIDAsdGltZVpvbmVOYW1lOm8udGltZVpvbmVOYW1lP2w6dm9pZCAwfTtyZXR1cm4gT2JqZWN0LmtleXModSkuZm9yRWFjaCgobz0+e2Nbb10+PWNbZV0mJmNbb108PWNbdF0mJihkW29dPXVbb10pfSkpLGR9KG8sdSxtKSxwPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQsZCksaD1uZXcgRGF0ZShlKTtyZXR1cm4gcC5mb3JtYXQoaCl9fSw3NzAxNDMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0VGV4dEZvclRvb2x0aXA6KCk9PmF9KTt2YXIgbj1vKDc3OTQ3NCk7Y29uc3Qgcj1lPT4oMCxuLmlzVmFsaWRFbGVtZW50KShlKSYmQm9vbGVhbihlLnByb3BzLmNoaWxkcmVuKSxzPShlLHQ9ITApPT5udWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwie30iPT09SlNPTi5zdHJpbmdpZnkoZSk/IiI6ZS50b1N0cmluZygpKyh0PyIgIjoiIiksYT1lPT5BcnJheS5pc0FycmF5KGUpfHwoMCxuLmlzVmFsaWRFbGVtZW50KShlKT9uLkNoaWxkcmVuLnRvQXJyYXkoZSkucmVkdWNlKCgoZSx0KT0+e2xldCBvPSIiO3JldHVybiBvPSgwLG4uaXNWYWxpZEVsZW1lbnQpKHQpJiZyKHQpP2EodC5wcm9wcy5jaGlsZHJlbik6KDAsbi5pc1ZhbGlkRWxlbWVudCkodCkmJiFyKHQpPyIiOnModCksZS5jb25jYXQobyl9KSwiIikudHJpbSgpOnMoZSwhMSl9LDk3MzgwNChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRJbWFnZTooKT0+c30pO2NvbnN0IG49bmV3IE1hcDtmdW5jdGlvbiByKGUpe2UuY3Jvc3NPcmlnaW49ImFub255bW91cyJ9ZnVuY3Rpb24gcyhlLHQsbz1yLHMpe2xldCBhPW4uZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1hJiYoYT1uZXcgUHJvbWlzZSgoKGUsbik9Pntjb25zdCByPW5ldyBJbWFnZTtyLm9ubG9hZD0oKT0+e2Uociksci5vbmxvYWQ9bnVsbCxyLm9uZXJyb3I9bnVsbH0sci5vbmVycm9yPSgpPT57bigpLHIub25sb2FkPW51bGwsci5vbmVycm9yPW51bGx9LG8ociksci5zcmM9dCxzJiYocy5vbmFib3J0PSgpPT57bigpLHIub25sb2FkPW51bGwsci5vbmVycm9yPW51bGx9KX0pKSxuLnNldChlLGEpKSxhfX0sNTk1MTg5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ZsYWc6KCk9PmwKfSk7dmFyIG49byg3Nzk0NzQpLHI9byg2MDc4MzIpLHM9bygxMjkzMzMpLGE9byg1OTE3MjgpO2NsYXNzIGwgZXh0ZW5kcyBuLkNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fc3ltYm9sTWFya2VyPW51bGwsdGhpcy5fcmVmPW51bGwsdGhpcy5faGFuZGxlUmVmPWU9Pntjb25zdHtzeW1ib2w6dCxvbkNsaWNrOm8sY2xhc3NOYW1lOm4sYWN0aXZlQ2xhc3NOYW1lOnIsZm9yY2VWaXNpYmxlOmw9ITF9PXRoaXMucHJvcHM7bnVsbCE9PWUmJih0aGlzLl9zeW1ib2xNYXJrZXI9bmV3IHMuU3ltYm9sTWFya2VyKHtzeW1ib2w6dCxjbGFzc05hbWU6bixjb250YWluZXI6ZSxhY3RpdmVDbGFzc05hbWU6cnx8KGw/YS5mb3JjZVZpc2libGU6YS52aXNpYmxlKSxvbkNsaWNrOihlLHQpPT57bz9vKHt0YXJnZXRTeW1ib2w6ZSxzZWxlY3RlZFN5bWJvbHM6dGhpcy5wcm9wcy5zZWxlY3RlZFN5bWJvbHMsY29udGludWF0aW9uOnR9KTp0KCl9LG1hbmFnZXI6dGhpcy5jb250ZXh0fSkpLHRoaXMuX3JlZj1lfX1zaG91bGRDb21wb25lbnRVcGRhdGUoZSl7cmV0dXJuIHRoaXMucHJvcHMuc3ltYm9sIT09ZS5zeW1ib2x8fHRoaXMucHJvcHMuY2xhc3NOYW1lIT09ZS5jbGFzc05hbWV9Y29tcG9uZW50RGlkVXBkYXRlKGUpe2NvbnN0e3N5bWJvbDp0LGNsYXNzTmFtZTpvfT10aGlzLnByb3BzO251bGwhPT10aGlzLl9yZWYmJih0IT09ZS5zeW1ib2wmJnRoaXMuX3N5bWJvbE1hcmtlcj8uYmluZFRvKHRoaXMucHJvcHMuc3ltYm9sLHRoaXMuX3JlZiksbyE9PWUuY2xhc3NOYW1lJiZvJiZ0aGlzLl9zeW1ib2xNYXJrZXI/LnNldENsYXNzTmFtZShvKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9zeW1ib2xNYXJrZXImJnRoaXMuX3N5bWJvbE1hcmtlci5kZXN0cm95KCl9cmVuZGVyKCl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphLmNvbnRhaW5lcixyZWY6dGhpcy5faGFuZGxlUmVmfSl9fWwuY29udGV4dFR5cGU9ci5TbG90Q29udGV4dH0sNTYxMjA1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQobnVsbCl9LDQ0MDcxNShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6b309ZTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhLnNob3J0Y3V0LG8pfSx0KX19LDcyMTE2NyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pmh9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDI3MzMxMCksbD1vKDY0OTE2NiksaT1vKDc3OTEwOCksYz1vKDUyNTEpLHU9bygzODA1NiksbT1vKDU4MDU5NiksZD1vKDQ2MjcwNCkscD1vKDEwNzk2Nik7ZnVuY3Rpb24gaChlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOm8saXNMb2FkaW5nOnIsaXNIb3ZlcmVkOmgsYWN0aXZlOmcsY2hlY2thYmxlOnYsZGlzYWJsZWQ6XyxjaGVja2VkOmYsaWNvbjpiLGljb25DaGVja2VkOkMsaGludDp4LHN1Ykl0ZW1zOnksbGFiZWw6UyxzdHlsZWRMYWJlbDp3LG9uQ2xpY2s6ayxjaGlsZHJlbjpFLHRvb2xib3g6TCxqc3hMYWJlbDpOLHNpemU6TT0ibm9ybWFsIn09ZSxUPSgwLG4udXNlQ29udGV4dCkoaS5FbXB0eUljb25zQ29udGV4dCksUD0hIXkubGVuZ3RoO3JldHVybiByP24uY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6cygpKHQscC5pdGVtLHAubG9hZGluZyxwW01dKX0sbi5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpuLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOnMoKSh0LHAuaXRlbSxwLmludGVyYWN0aXZlLG8mJnAudGl0bGUsXyYmcC5kaXNhYmxlZCxoJiZwLmhvdmVyZWQsZyYmcC5hY3RpdmUsVCYmcC5lbXB0eUljb25zLHBbTV0pLG9uQ2xpY2s6a30sbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnMoKShwLmljb24pLGljb246ZnVuY3Rpb24oKXtpZih2JiZmKXJldHVybiBDfHxifHx1O3JldHVybiBifSgpfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShwLmxhYmVsKX0sIU4mJnc/dy5tYXAoKCh7dGV4dDplLC4uLnR9LG8pPT5uLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6byxzdHlsZTp0fSxlKSkpOk4/P1MpLCEhTCYmbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7b25DbGljazpmdW5jdGlvbigpe0wmJkwuYWN0aW9uKCl9LGNsYXNzTmFtZTpwLnJlbW92ZSxpY29uOmR9KSwhUCYmeCYmbi5jcmVhdGVFbGVtZW50KGMuSGludCx7Y2xhc3NOYW1lOnAuc2hvcnRjdXQsdGV4dDp4fSksUCYmbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnAubmVzdGVkLGljb246bX0pLEUpfX0sMzIzODMwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NvbnRleHRNZW51TGlzdDooKT0+aH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTU0NDc4KTtmdW5jdGlvbiBzKGUpe3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOnIuc2VwYXJhdG9yfSl9dmFyIGE9byg3MjExNjcpLGw9byg1NjkzOTgpLGk9byg5NjQyMTQpLGM9bygyNzYwMTkpO2NvbnN0IHU9KDAsbC5pc0ZlYXR1cmVFbmFibGVkKSgiZm9yY2VfZGlzYWJsZV9qc3hfbWVudV9pdGVtc19yZW5kZXJpbmciKTtmdW5jdGlvbiBtKGUpe2NvbnN0IHQ9dT9lLmFjdGlvbjplLmFjdGlvbi5jdXN0b20oKT8/ZS5hY3Rpb24sW28scl09KDAsbi51c2VTdGF0ZSkoKCgpPT50LmdldFN0YXRlKCkpKSxbcyxsXT0oMCxuLnVzZVN0YXRlKSghMSksbT0hIW8uc3ViSXRlbXMubGVuZ3RoLGQ9bSYmcztyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT57CmNvbnN0IGU9KCk9PnIodC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLG4uY3JlYXRlRWxlbWVudChhLkNvbnRleHRNZW51SXRlbSx7Li4ubyxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKG8uZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYobSlyZXR1cm4gdm9pZCBsKCEwKTtvLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxjLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOm8ubG9hZGluZyxpc0hvdmVyZWQ6ZH0sZCYmbi5jcmVhdGVFbGVtZW50KGkuRHJhd2VyLHtvbkNsb3NlOnB9LG4uY3JlYXRlRWxlbWVudChoLHtpdGVtczpvLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOnB9KSkpO2Z1bmN0aW9uIHAoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgZD1vKDc3OTEwOCkscD1vKDMzNDU1MCk7ZnVuY3Rpb24gaChlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjpvLGNsb3NlTmVzdGVkOnJ9PWUsbD0hQm9vbGVhbihvKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChkLkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxuLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLG8mJm4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwsbi5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDpvLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjpwLG9uQ2xpY2s6cn0pLG4uY3JlYXRlRWxlbWVudChzLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gbi5jcmVhdGVFbGVtZW50KG0se2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBuLmNyZWF0ZUVsZW1lbnQocyx7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSw4NTgwMzcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0QWN0aW9uczooKT0+cH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMTg1MjcxKSxzPW8oNzEyMTM0KSxhPW8oNDMxODIzKSxsPW8oNTA5MDQpLGk9byg5MTk5ODUpLGM9byg2NDM5MDMpLHU9bygzODY5MzEpLG09byg2MjE5MjYpLGQ9byg2NzQxOSk7ZnVuY3Rpb24gcChlLHQscCxoKXtjb25zdCBnPWZ1bmN0aW9uKGUsdCxpLHApe2NvbnN0IGg9ci50KG51bGwsdm9pZCAwLG8oMzA4MzkpKS5mb3JtYXQoe3N5bWJvbDooMCxjLnNhZmVTaG9ydE5hbWUpKHQpfSksZz1lLmdldFN5bWJvbENvbG9yKHQpfHx2b2lkIDAsdj17fSxfPXMuTElTVF9DT0xPUlMubWFwKChlPT57Y29uc3QgdD1uZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ2hhbmdlRmxhZ2dlZEdyb3VwQ29sb3IiLG9wdGlvbnM6e2xhYmVsOigwLGQuZmxhZ2dlZFN5bWJvbENvbG9yTmFtZSkoZSksb25FeGVjdXRlOigpPT5mKGUpLGNoZWNrYWJsZTohMCxjaGVja2VkOmU9PT1nfX0pO3JldHVybiB2W2VdPXQsdH0pKSxmPW89PntwKCksKDAsbS5ydW5PclNpZ25pbldpdGhGZWF0dXJlKSgoKCk9PntpLnNldENvbG9yKG8pLGUuc2V0U3ltYm9sc0NvbG9yKFt0XSxpLmdldENvbG9yKCkpLCgwLHUudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIkNvbnRleHQgbWVudSIsIkZsYWciKSxzLkxJU1RfQ09MT1JTLmZvckVhY2goKGU9Pnt2W2VdLnVwZGF0ZSh7Y2hlY2tlZDplPT09aS5nZXRDb2xvcigpfSl9KSl9KSx7ZmVhdHVyZToiZmxhZ2dlZFN5bWJvbHNDb2xvcnMiLHNvdXJjZToiU2V0IHN5bWJvbCBjb2xvciJ9KX0sYj17ZG9Ob3RDbG9zZU9uQ2xpY2s6ITB9O3JldHVybltuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuRmxhZ1N5bWJvbCIsb3B0aW9uczp7bGFiZWw6aCxvbkV4ZWN1dGU6KCk9PmYoaS5nZXRDb2xvcigpKX19KSxuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ2hhbmdlRmxhZ2dlZEdyb3VwQ29sb3IiLG9wdGlvbnM6ey4uLmIsbGFiZWw6ci50KG51bGwsdm9pZCAwLG8oOTYxNjE0KSksc3ViSXRlbXM6X30sY3VzdG9tQWN0aW9uT3B0aW9uczp7Li4uYixqc3hMYWJlbDpuLmNyZWF0ZUVsZW1lbnQoYS5MYWJlbENvbG9yU2VsZWN0b3Ise3ZhbHVlOmcsb25DaGFuZ2U6Zn0pfX0pXX0oZSx0LHAsaCk7cmV0dXJuIG51bGwhPT1lLmdldFN5bWJvbENvbG9yKHQpJiZnLnB1c2goZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGwuQWN0aW9uKHthY3Rpb25JZDoiV2F0Y2hsaXN0LlVuZmxhZ1N5bWJvbCIsb3B0aW9uczp7bGFiZWw6ci50KG51bGwsdm9pZCAwLG8oNjkyMSkpLmZvcm1hdCh7c3ltYm9sOigwLGMuc2FmZVNob3J0TmFtZSkodCl9KSxvbkV4ZWN1dGU6KCk9PntlLnNldFN5bWJvbHNDb2xvcihbdF0sbnVsbCksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiVW5mbGFnIil9fX0pfShlLHQpKSxnLnB1c2goZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5VbmZsYWdBbGxTeW1ib2xzIixvcHRpb25zOntsYWJlbDpyLnQobnVsbCx2b2lkIDAsbygzMzI3NTMpKSxvbkV4ZWN1dGU6KCk9PnsoMCxpLnNob3dVbmZsYWdBbGxTeW1ib2xzQ29uZmlybSkoKCgpPT57ZS5jbGVhckFsbFN5bWJvbHNDb2xvcigpfSkpLCgwLHUudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIkNvbnRleHQgbWVudSIsIlVuZmxhZyBhbGwiKX19fSl9KGUpKSxnfX0sMzA2NjAxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NvbG9yU2VsZWN0b3I6KCk9Pnh9KQo7dmFyIG49byg3Nzk0NzQpLHI9byg3MTIxMzQpLHM9bygyMzU3MjQpLGE9bygxNDkzNjQpLGw9byg5ODM2MTYpLGk9bygzMjk2NjgpLGM9byg5MTQ0ODcpLHU9by5uKGMpLG09byg2NTg0NiksZD1vKDI3MzMxMCkscD1vKDE4NTI3MSksaD1vKDQ0MDcxNSksZz1vKDE4MjMwOCksdj1vKDI3NDg1MSksXz1vKDIwMzMwOSksZj1vKDc1MTg2Myk7Y29uc3QgYj0oMCxtLm1ha2VTd2l0Y2hHcm91cEl0ZW0pKChmdW5jdGlvbihlKXtjb25zdHtjbGFzc05hbWU6dCx2YWx1ZTpzPXIuTGlzdENvbG9yLlJlZCxuYW1lOmEsY2hlY2tlZDpsfT1lLFtpLGNdPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxtPSgwLG4udXNlQ29udGV4dCkoaC5Db250ZXh0TWVudUNvbnRleHQpLGI9bT8udHlwZT8/Im1lbnUiLEM9cztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JlZjppLHRhYkluZGV4OmMsY2xhc3NOYW1lOnUoKSh0LGYud3JhcCwiZHJhd2VyIj09PWImJmYubGFyZ2UpLCJkYXRhLWNvbG9yIjpDLHJvbGU6Im1lbnVpdGVtIiwiYXJpYS1sYWJlbCI6cC50KG51bGwse3JlcGxhY2U6e2NvbG9yOkN9fSxvKDUwNjkxNSkpLCJhcmlhLWNoZWNrZWQiOmx9LG4uY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6Zi5pbnB1dCx0eXBlOiJyYWRpbyIsbmFtZTphLHZhbHVlOnMsY2hlY2tlZDpsLG9uQ2hhbmdlOmUub25DaGFuZ2Usb25DbGljazpsP2Z1bmN0aW9uKCl7ZS5vbkNsaWNrSWZDaGVja2VkJiZlLm9uQ2xpY2tJZkNoZWNrZWQocyl9OnZvaWQgMH0pLG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnUoKShmLmJveCxmW0NdLCJkcmF3ZXIiPT09YiYmZi5sYXJnZSl9LGw/bi5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjp2fSk6bi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5waWNrZXJEb3R9LG4uY3JlYXRlRWxlbWVudChkLkljb24se2NsYXNzTmFtZTpmLmhvdmVyRG90LGljb246X30pKSkpfSkpLEM9WzM5LDM3LDEzLDMyLDI3XTtmdW5jdGlvbiB4KGUpe2NvbnN0e2J1dHRvbkNsYXNzTmFtZTp0LHZhbHVlOm8sb25TZWxlY3RlZENsaWNrOmMsZnJvbUtleWJvYXJkOnV9PWUsbT0oMCxuLnVzZVJlZikobnVsbCksZD0oMCxuLnVzZUNhbGxiYWNrKSgoZT0+e2lmKCFtLmN1cnJlbnR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFDLmluY2x1ZGVzKHQpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj0oMCxsLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKG0uY3VycmVudCkuc29ydChsLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLGE9bi5maW5kSW5kZXgoKGU9PmU9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50KSk7aWYoLTE9PT1hKXJldHVybjtjb25zdCBjPW5bYV07bGV0IHU7c3dpdGNoKHQpe2Nhc2UgMTM6Y2FzZSAzMjpoKGMuZGF0YXNldC5jb2xvcnx8ci5MaXN0Q29sb3IuUmVkKTticmVhaztjYXNlIDI3Omgobyl9c3dpdGNoKCgwLGwubWFwS2V5Q29kZVRvRGlyZWN0aW9uKSh0KSl7Y2FzZSJpbmxpbmVOZXh0Ijp1PW5bYSsxXXx8blswXTticmVhaztjYXNlImlubGluZVByZXYiOnU9blthLTFdfHxuW24ubGVuZ3RoLTFdfXUgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50JiYoKDAsaS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShjKSwoMCxpLmJlY29tZU1haW5FbGVtZW50KSh1KSx1LmZvY3VzKCkpfSksW10pOygwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZighdSlyZXR1cm47Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHQ9bS5jdXJyZW50O2lmKCF0KXJldHVybjtjb25zdFtvXT0oMCxsLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKHQpLnNvcnQobC5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtyZXR1cm4gbz8oKDAsaS5iZWNvbWVNYWluRWxlbWVudCkobyksby5mb2N1cygpLCgpPT57ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmZvY3VzKCl9KTp2b2lkIDB9KSxbXSk7Y29uc3QgcD1yLkxJU1RfQ09MT1JTLm1hcCgoKGUsbyk9Pm4uY3JlYXRlRWxlbWVudChiLHtrZXk6byxjbGFzc05hbWU6dCxvbkNsaWNrSWZDaGVja2VkOmMsdmFsdWU6ZX0pKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgibWVudSIse3JlZjptLG9uS2V5RG93bjpkfSxuLmNyZWF0ZUVsZW1lbnQoYS5Td2l0Y2hHcm91cCx7bmFtZToiY29sb3Itc2VsZWN0b3IiLG9uQ2hhbmdlOmgsdmFsdWVzOnZvaWQgMCE9PW8/W29dOltdfSxwKSk7ZnVuY3Rpb24gaCh0KXtlLm9uQ2hhbmdlJiZ2b2lkIDAhPT10JiZlLm9uQ2hhbmdlKHQpfX19LDY3NDE5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZsYWdnZWRTeW1ib2xDb2xvck5hbWU6KCk9PnN9KTt2YXIgbj1vKDcxMjEzNCkscj1vKDE4NTI3MSk7ZnVuY3Rpb24gcyhlKXtzd2l0Y2goZSl7Y2FzZSBuLkxpc3RDb2xvci5SZWQ6cmV0dXJuIHIudChudWxsLHZvaWQgMCxvKDY1NTA0MikpO2Nhc2Ugbi5MaXN0Q29sb3IuR3JlZW46cmV0dXJuIHIudChudWxsLHZvaWQgMCxvKDY4MjY2OSkpO2Nhc2Ugbi5MaXN0Q29sb3IuQmx1ZTpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjM4MSkpO2Nhc2Ugbi5MaXN0Q29sb3IuT3JhbmdlOnJldHVybiByLnQobnVsbCx2b2lkIDAsbyg5NzEyODMpKTtjYXNlIG4uTGlzdENvbG9yLlB1cnBsZTpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjcwOTIzKSk7Y2FzZSBuLkxpc3RDb2xvci5DeWFuOnJldHVybiByLnQobnVsbCx2b2lkIDAsbygxNDY4NCkpO2Nhc2Ugbi5MaXN0Q29sb3IuUGluazpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjc2NzY4KSl9fX0sNDMxODIzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xhYmVsQ29sb3JTZWxlY3RvcjooKT0+bH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMzA2NjAxKSxzPW8oNTE4NzUpLGE9byg1NTg4NzMpO2NsYXNzIGwgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7dmFsdWU6ZX09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEud3JhcHBlcn0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7CmNsYXNzTmFtZTphLmJ1dHRvbnMsb25DbGljazpzLnByZXZlbnREZWZhdWx0fSxuLmNyZWF0ZUVsZW1lbnQoci5Db2xvclNlbGVjdG9yLHtidXR0b25DbGFzc05hbWU6YS5jb2xvclNlbGVjdEJ1dHRvbix2YWx1ZTplLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlLG9uU2VsZWN0ZWRDbGljazp0aGlzLl9vbkNoYW5nZX0pKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLnByb3BzLm9uQ2hhbmdlKGUpfX19fSw4MzQxODgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UG9wdXBDb2xvclNlbGVjdG9yOigpPT54fSk7dmFyIG49byg3Nzk0NzQpLHI9byg2MDc4MzIpLHM9byg2MDk1MjgpLGE9byg0MDYxMTApLGw9bygzMTM3NzIpLGk9byg5NjQyMTQpLGM9bygzMjM4MzApLHU9byg0NDA3MTUpLG09byg5NjkxNjgpLGQ9byg1ODU0OCkscD1vKDMwNjYwMSksaD1vKDM2MzI2OSksZz1vKDU1ODk3Mik7Y2xhc3MgdiBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKGgubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6KHRoaXMucHJvcHMuZWxlbS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnByb3BzLmhpZGUpKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihoLm1vYmlsZXRvdWNoP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQpOnRoaXMucHJvcHMuZWxlbSYmKHRoaXMucHJvcHMuZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1yZW5kZXIoKXtjb25zdCBlPXt0b3A6MH07aWYodGhpcy5wcm9wcy5lbGVtKXtjb25zdCB0PXRoaXMucHJvcHMuZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLnRvcD10LnRvcCt0LmhlaWdodC8yLCgwLG0uaXNSdGwpKCk/ZS5yaWdodD13aW5kb3cuaW5uZXJXaWR0aC10LmxlZnQ6ZS5sZWZ0PXQubGVmdCt0LndpZHRofWVsc2UgZS5sZWZ0PTA7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChkLlBvcnRhbCxudWxsLG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6ZSxjbGFzc05hbWU6Zy5wb3B1cCxyZWY6dGhpcy5fc2V0UG9wVXBFbGVtLG9uTW91c2VMZWF2ZTpoLm1vYmlsZXRvdWNoP3ZvaWQgMDp0aGlzLl9vblBvcFVwTW91c2VMZWF2ZX0sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zy53cmFwcGVyfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLnNlbGVjdG9yfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLmFycm93TGVmdH0pLG4uY3JlYXRlRWxlbWVudChwLkNvbG9yU2VsZWN0b3Ise2J1dHRvbkNsYXNzTmFtZTpnLmNvbG9yU2VsZWN0QnV0dG9uLHZhbHVlOnRoaXMucHJvcHMuY3VycmVudENvbG9yLGZyb21LZXlib2FyZDp0aGlzLnByb3BzLmZyb21LZXlib2FyZCxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZX0pKSkpKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcG9wVXBFbGVtPW51bGwsdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMucHJvcHMub25TZWxlY3RDb2xvcihlKSx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25UYXJnZXRNb3VzZUxlYXZlPWU9Pntjb25zdCB0PSEhZS5yZWxhdGVkVGFyZ2V0Lm5vZGVOYW1lLG89ZS5yZWxhdGVkVGFyZ2V0PT09dGhpcy5fcG9wVXBFbGVtLG49dGhpcy5fcG9wVXBFbGVtJiZ0JiZ0aGlzLl9wb3BVcEVsZW0uY29udGFpbnMoZS5yZWxhdGVkVGFyZ2V0KTtvfHxufHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25Qb3BVcE1vdXNlTGVhdmU9ZT0+e2NvbnN0IHQ9ISFlLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQubm9kZU5hbWUsbz1lLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQ9PT10aGlzLnByb3BzLmVsZW0sbj10JiZ0aGlzLnByb3BzLmVsZW0uY29udGFpbnMoZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0KTtvfHxufHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25Ub3VjaFN0YXJ0PWU9Pntjb25zdCB0PSEhZS50YXJnZXQubm9kZU5hbWUsbz1lLnRhcmdldD09PXRoaXMucHJvcHMuZWxlbSxuPWUudGFyZ2V0PT09dGhpcy5fcG9wVXBFbGVtLHI9dCYmdGhpcy5wcm9wcy5lbGVtLmNvbnRhaW5zKGUudGFyZ2V0KSxzPXRoaXMuX3BvcFVwRWxlbSYmdCYmdGhpcy5fcG9wVXBFbGVtLmNvbnRhaW5zKGUudGFyZ2V0KTtvfHxyfHxufHxzfHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fc2V0UG9wVXBFbGVtPWU9Pnt0aGlzLl9wb3BVcEVsZW09ZX19fWZ1bmN0aW9uIF8oZSl7Y29uc3R7YWN0aW9uczp0LC4uLm99PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChhLk1hdGNoTWVkaWEse3J1bGU6cy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGU9PmUmJnQ/bi5jcmVhdGVFbGVtZW50KGwuRHJhd2VyTWFuYWdlcixudWxsLG4uY3JlYXRlRWxlbWVudCh1LkNvbnRleHRNZW51Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6e3R5cGU6ImRyYXdlciJ9fSxuLmNyZWF0ZUVsZW1lbnQoaS5EcmF3ZXIse29uQ2xvc2U6by5oaWRlLHBvc2l0aW9uOiJCb3R0b20ifSxuLmNyZWF0ZUVsZW1lbnQoYy5Db250ZXh0TWVudUxpc3Qse2l0ZW1zOnR9KSkpKTpuLmNyZWF0ZUVsZW1lbnQodix7Li4ub30pKSl9dmFyIGY9byg1NzEzMDApO2xldCBiPW51bGwsQz1udWxsO3ZhciB4OyFmdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7YiYmQz8udW5tb3VudCgpfWUuc2hvdz1mdW5jdGlvbihlKXtifHwoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSksdCgpLEM9KDAsCmYuY3JlYXRlUmVhY3RSb290KShuLmNyZWF0ZUVsZW1lbnQoci5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6ZS5tYW5hZ2VyfHxudWxsfSxuLmNyZWF0ZUVsZW1lbnQoXyx7Li4uZSxoaWRlOnR9KSksYil9LGUuaGlkZT10fSh4fHwoeD17fSkpfSwxMjkzMzMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3ltYm9sTWFya2VyOigpPT51LGNyZWF0ZVN5bWJvbE1hcmtlclN0YW5kYWxvbmU6KCk9PmR9KTtvKDgyOTE4MCk7dmFyIG49byg4Mjk3NjMpLHI9byg4MzE1MjcpLHM9byg4MzQxODgpLGE9bygyNDM2MzEpLGw9byg2MDk1MjgpLGk9byg4NTgwMzcpLGM9byg2MjE5MjYpO2NsYXNzIHV7dXBkYXRlU3Vic2NyaXB0aW9uKCl7dGhpcy5fc2V0U3RhdGUodGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcih0aGlzLl9zeW1ib2wpKX1iaW5kVG8oZSx0KXt0aGlzLl9zZXJ2aWNlLm9mZlN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpLHRoaXMuX3N5bWJvbD1lLHRoaXMuX3VpbWFya2VyLmFwcGVuZFRvKHQpLHRoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IoZSkpLHRoaXMuX3NlcnZpY2Uub25TeW1ib2xDaGFuZ2UoZSx0aGlzLl9vbkNoYW5nZSl9dW5iaW5kKCl7dGhpcy5fc2VydmljZS5vZmZTeW1ib2xDaGFuZ2UodGhpcy5fc3ltYm9sLHRoaXMuX29uQ2hhbmdlKSx0aGlzLl91aW1hcmtlci5kZXRhY2goKX1nZXRFbGVtKCl7cmV0dXJuIHRoaXMuX3VpbWFya2VyLmdldEVsZW0oKX1pc01hcmtlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY29sb3J9c2V0Q2xhc3NOYW1lKGUpe3RoaXMuX3VpbWFya2VyLmdldEVsZW0oKS5jbGFzc0xpc3QucmVtb3ZlKC4uLnRoaXMuX2NsYXNzZXMpLHRoaXMuX2NsYXNzZXM9ZS5zcGxpdCgiICIpLmZpbHRlcihCb29sZWFuKSx0aGlzLl91aW1hcmtlci5nZXRFbGVtKCkuY2xhc3NMaXN0LmFkZCguLi50aGlzLl9jbGFzc2VzKX1kZXN0cm95KCl7dGhpcy51bmJpbmQoKSxkZWxldGUgdGhpcy5fdWltYXJrZXIsZGVsZXRlIHRoaXMuX29wdHN9dG9nZ2xlKGUpe3RoaXMuX29uQ2xpY2soZSl9X3NldFN0YXRlKGUpe2NvbnN0IHQ9dGhpcy5pc01hcmtlZCgpO3RoaXMuX2NvbG9yPWUsbnVsbCE9PXRoaXMuX2NvbG9yPyh0aGlzLl91aW1hcmtlci5zZXRDb2xvcih0aGlzLl9jb2xvciksdGhpcy5fYWRkQWN0aXZlQ2xhc3NOYW1lKCkpOih0aGlzLl91aW1hcmtlci5yZW1vdmVDb2xvcigpLHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzTmFtZSgpKSx2b2lkIDAhPT10aGlzLl9vcHRzLm9uTWFya2VkQ2hhbmdlZCYmdCE9PXRoaXMuaXNNYXJrZWQoKSYmdGhpcy5fb3B0cy5vbk1hcmtlZENoYW5nZWQoKX1fYWRkQWN0aXZlQ2xhc3NOYW1lKCl7dGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUmJnRoaXMuX3VpbWFya2VyLmFkZENsYXNzKHRoaXMuX29wdHMuYWN0aXZlQ2xhc3NOYW1lKX1fcmVtb3ZlQWN0aXZlQ2xhc3NOYW1lKCl7dGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUmJnRoaXMuX3VpbWFya2VyLnJlbW92ZUNsYXNzKHRoaXMuX29wdHMuYWN0aXZlQ2xhc3NOYW1lKX1jb25zdHJ1Y3RvcihlKXt0aGlzLl9zZXJ2aWNlPSgwLHIuZ2V0TWFya2VkU3ltYm9sc0xpc3RTZXJ2aWNlSW5zdGFuY2UpKCksdGhpcy5fY29sb3JNYW5hZ2VyPW5ldyBhLkNvbG9yTWFuYWdlcih7Y29udGV4dDphLkNvbG9yQ29udGV4dC5TeW1ib2xNYXJrZXJ9KSx0aGlzLl9jbGFzc2VzPVtdLHRoaXMuX29uQ2xpY2s9ZT0+e2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PSgpPT57Y29uc3QgdD0oMCxpLmdldEFjdGlvbnMpKHRoaXMuX3NlcnZpY2UsdGhpcy5fc3ltYm9sLHRoaXMuX2NvbG9yTWFuYWdlcixzLlBvcHVwQ29sb3JTZWxlY3Rvci5oaWRlKSxvPXRoaXMuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpLG49e2VsZW06dGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpLGN1cnJlbnRDb2xvcjpvLG9uU2VsZWN0Q29sb3I6dGhpcy5fb25TZWxlY3RDb2xvcixhY3Rpb25zOnQsbWFuYWdlcjp0aGlzLl9vcHRzLm1hbmFnZXIsZnJvbUtleWJvYXJkOmUgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50fTt3aW5kb3cubWF0Y2hNZWRpYShsLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsKS5tYXRjaGVzP3MuUG9wdXBDb2xvclNlbGVjdG9yLnNob3cobik6bnVsbD09PXRoaXMuX2NvbG9yPyhzLlBvcHVwQ29sb3JTZWxlY3Rvci5zaG93KG4pLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLG8pKToocy5Qb3B1cENvbG9yU2VsZWN0b3IuaGlkZSgpLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLG51bGwpKX0sbz13aW5kb3cuaXNfYXV0aGVudGljYXRlZDsoMCxjLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e28mJih0aGlzLl9vcHRzLm9uQ2xpY2s/dGhpcy5fb3B0cy5vbkNsaWNrKHRoaXMuX3N5bWJvbCx0KTp0KCkpfSkse2ZlYXR1cmU6ImZsYWdnZWRTeW1ib2xzQ29sb3JzIixzb3VyY2U6IlNldCBzeW1ib2wgY29sb3IifSl9LHRoaXMuX29uU2VsZWN0Q29sb3I9ZT0+e3RoaXMuX2NvbG9yTWFuYWdlci5zZXRDb2xvcihlKSx0aGlzLl9zZXJ2aWNlLnNldFN5bWJvbHNDb2xvcihbdGhpcy5fc3ltYm9sXSx0aGlzLl9jb2xvck1hbmFnZXIuZ2V0Q29sb3IoKSl9LHRoaXMuX29uRGJsQ2xpY2s9ZT0+e2UucHJldmVudERlZmF1bHQoKX0sdGhpcy5fb25DaGFuZ2U9KCk9Pnt0aGlzLl9zZXRTdGF0ZSh0aGlzLl9zZXJ2aWNlLmdldFN5bWJvbENvbG9yKHRoaXMuX3N5bWJvbCkpfSx0aGlzLl9vcHRzPWUsdGhpcy5fc3ltYm9sPWUuc3ltYm9sLHRoaXMuX2NvbG9yPWUuY29sb3J8fHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSx0aGlzLl91aW1hcmtlcj1uZXcgbi5VaU1hcmtlcih7Y29sb3I6dGhpcy5fY29sb3IsY29udGFpbmVyOmUuY29udGFpbmVyLG9uQ2xpY2s6dGhpcy5fb25DbGljayxvbkRibENsaWNrOnRoaXMuX29uRGJsQ2xpY2ssc3BlY2lhbEltYWdlOmUuc3BlY2lhbEltYWdlfSksZS5jbGFzc05hbWUmJnRoaXMuc2V0Q2xhc3NOYW1lKGUuY2xhc3NOYW1lKSwKbnVsbCE9PXRoaXMuX2NvbG9yJiZ0aGlzLl9hZGRBY3RpdmVDbGFzc05hbWUoKSx0aGlzLl9zZXJ2aWNlLm9uU3ltYm9sQ2hhbmdlKHRoaXMuX3N5bWJvbCx0aGlzLl9vbkNoYW5nZSl9fWNsYXNzIG0gZXh0ZW5kcyB1e2Rlc3Ryb3koKXt0aGlzLl9zZXJ2aWNlLm9mZkluaXQodGhpcy5fb25Jbml0KSxzdXBlci5kZXN0cm95KCl9Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fb25Jbml0PSgpPT57dGhpcy51cGRhdGVTdWJzY3JpcHRpb24oKX0sdGhpcy5fc2VydmljZS5vbkluaXQodGhpcy5fb25Jbml0KX19ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IG0oZSl9fSwxMzY2MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VFbnN1cmVkQ29udGV4dDooKT0+c30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMTM4NjM4KTtmdW5jdGlvbiBzKGUpe3JldHVybigwLHIuZW5zdXJlTm90TnVsbCkoKDAsbi51c2VDb250ZXh0KShlKSl9fSw4OTMxMTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TG9jYWxlOigpPT5zLGdldExvY2FsZUlzbzooKT0+YX0pO3ZhciBuPW8oODQ0MjI1KTtjb25zdCByPWZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFnZS1sb2NhbGUtbGlua3MiKT8udGV4dENvbnRlbnQsdD1lP0pTT04ucGFyc2UoZSk6W107aWYoMD09PXQubGVuZ3RoKXJldHVybiBuO2NvbnN0IG89e307cmV0dXJuIHQuZm9yRWFjaCgoKHtsb2NhbGU6ZSx1cmw6dH0pPT57b1tlXT17Li4ubltlXSxocmVmOnR9fSkpLG99KCk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZT1lfHx3aW5kb3cubG9jYWxlLHJbZV19ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT1lfHx3aW5kb3cubG9jYWxlLHJbZV0/Lmlzb319LDQ0ODY0NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDYWNoZWRMb2dvOigpPT5kfSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygzODc3NzQpLGw9byg3OTQxODcpLGk9byg2Mjc4NDgpLGM9byg5NzM4MDQpLHU9byg2MTYzMTEpLG09bygxNzcxMTYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQscGxhY2Vob2xkZXJMZXR0ZXI6byx1cmwxOnIsdXJsMjpkLHNpemU6Zz0ieHh4c21hbGwifT1lLHY9KDAsbi51c2VSZWYpKG51bGwpLF89KDAsbi51c2VSZWYpKG51bGwpLGY9KDAsbi51c2VSZWYpKG51bGwpLGI9KDAsbi51c2VSZWYpKG51bGwpLEM9KDAsbi51c2VSZWYpKG51bGwpLHg9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLHUudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT12b2lkIDA9PT1yP1tdOnZvaWQgMD09PWQ/W3JdOltyLGRdLHQ9eC5jdXJyZW50PShvPWUsUHJvbWlzZS5hbGwoby5tYXAoKGU9PigwLGMuZ2V0SW1hZ2UpKGBzeW1ib2xfbG9nb18ke2V9YCxlLGgpLnRoZW4oKGU9PmUuY2xvbmVOb2RlKCkpKSkpKSk7dmFyIG87dC5jYXRjaCgoKCk9PltdKSkudGhlbigoZT0+e2lmKHQ9PT14LmN1cnJlbnQpc3dpdGNoKGUubGVuZ3RoKXtjYXNlIDA6Zi5jdXJyZW50Py5jbGFzc0xpc3QuYWRkKG0uaGlkZGVuKSxfLmN1cnJlbnQ/LmNsYXNzTGlzdC5hZGQoYS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHYuY3VycmVudD8uY2xhc3NMaXN0LnJlbW92ZShhLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyk7YnJlYWs7Y2FzZSAxOnAoXy5jdXJyZW50LGVbMF0pLGYuY3VycmVudD8uY2xhc3NMaXN0LmFkZChtLmhpZGRlbiksXy5jdXJyZW50Py5jbGFzc0xpc3QucmVtb3ZlKGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx2LmN1cnJlbnQ/LmNsYXNzTGlzdC5hZGQoYS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpO2JyZWFrO2Nhc2UgMjpwKGIuY3VycmVudCxlWzBdKSxwKEMuY3VycmVudCxlWzFdKSxmLmN1cnJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUobS5oaWRkZW4pLF8uY3VycmVudD8uY2xhc3NMaXN0LmFkZChhLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdi5jdXJyZW50Py5jbGFzc0xpc3QuYWRkKGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKX19KSl9KSxbcixkXSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKSh0LG0uY29udGFpbmVyKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOmYsY2xhc3NOYW1lOnMoKShtLnBhaXJDb250YWluZXIsbS5oaWRkZW4pfSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6KDAsaS5nZXRCbG9ja1N0eWxlQ2xhc3NlcykoZyl9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpDLGNsYXNzTmFtZTpzKCkobS5sb2dvLCgwLGkuZ2V0TG9nb1N0eWxlQ2xhc3NlcykoZykpfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOmIsY2xhc3NOYW1lOnMoKShtLmxvZ28sKDAsaS5nZXRMb2dvU3R5bGVDbGFzc2VzKShnKSl9KSkpLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpfLGNsYXNzTmFtZTpzKCkobS5sb2dvLGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzLCgwLGwuZ2V0U3R5bGVDbGFzc2VzKShnKSl9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6dixjbGFzc05hbWU6cygpKG0ubG9nbywoMCxsLmdldFN0eWxlQ2xhc3NlcykoZykpfSxuLmNyZWF0ZUVsZW1lbnQoYS5DaXJjbGVMb2dvLHtzaXplOmcscGxhY2Vob2xkZXJMZXR0ZXI6b30pKSl9ZnVuY3Rpb24gcChlLHQpe2UmJihlLmlubmVySFRNTD0iIixlLmFwcGVuZENoaWxkKHQpKX1mdW5jdGlvbiBoKGUpe2UuY3Jvc3NPcmlnaW49IiIsZS5kZWNvZGluZz0iYXN5bmMifX0sNTk4MjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxheVNjcm9sbENvbnRhaW5lcjooKT0+dX0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oOTY5MTY4KSxsPW8oMTAyNjc1KSxpPW8oNjg5ODk0KSxjPW8oNDYwMzcwKTtmdW5jdGlvbiB1KGUpewpjb25zdHtyZWZlcmVuY2U6dCxjbGFzc05hbWU6byxjb250YWluZXJIZWlnaHQ6cj0wLGNvbnRhaW5lcldpZHRoOnU9MCxjb250ZW50SGVpZ2h0Om09MCxjb250ZW50V2lkdGg6ZD0wLHNjcm9sbFBvc1RvcDpwPTAsc2Nyb2xsUG9zTGVmdDpoPTAsb25WZXJ0aWNhbENoYW5nZTpnLG9uSG9yaXpvbnRhbENoYW5nZTp2LHZpc2libGU6X309ZSxbZixiXT0oMCxpLnVzZUhvdmVyRGVwcmVjYXRlZCkoKSxbQyx4XT0oMCxuLnVzZVN0YXRlKSghMSkseT1yPG0sUz11PGQsdz15JiZTPzg6MDtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5iLHJlZjp0LGNsYXNzTmFtZTpzKCkobyxjLnNjcm9sbFdyYXAsKF98fGZ8fEMpJiZjLnNjcm9sbFdyYXBfdmlzaWJsZSl9LHkmJm4uY3JlYXRlRWxlbWVudChsLk92ZXJsYXlTY3JvbGwse3NpemU6ci13LHNjcm9sbFNpemU6bS13LGNsaWVudFNpemU6ci13LHNjcm9sbFByb2dyZXNzOnAsb25TY3JvbGxQcm9ncmVzc0NoYW5nZTpmdW5jdGlvbihlKXtnJiZnKGUpfSxvbkRyYWdTdGFydDprLG9uRHJhZ0VuZDpFLHNjcm9sbE1vZGU6MH0pLFMmJm4uY3JlYXRlRWxlbWVudChsLk92ZXJsYXlTY3JvbGwse3NpemU6dS13LHNjcm9sbFNpemU6ZC13LGNsaWVudFNpemU6dS13LHNjcm9sbFByb2dyZXNzOmgsb25TY3JvbGxQcm9ncmVzc0NoYW5nZTpmdW5jdGlvbihlKXt2JiZ2KGUpfSxvbkRyYWdTdGFydDprLG9uRHJhZ0VuZDpFLHNjcm9sbE1vZGU6KDAsYS5pc1J0bCkoKT8yOjF9KSk7ZnVuY3Rpb24gaygpe3goITApfWZ1bmN0aW9uIEUoKXt4KCExKX19fSwxMDI2NzUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxheVNjcm9sbDooKT0+cH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMTM4NjM4KSxsPW8oNjQwNzQ0KSxpPW8oNjQ2MTYyKTtjb25zdCBjPWk7dmFyIHU7IWZ1bmN0aW9uKGUpe2VbZS5WZXJ0aWNhbD0wXT0iVmVydGljYWwiLGVbZS5Ib3Jpem9udGFsPTFdPSJIb3Jpem9udGFsIixlW2UuSG9yaXpvbnRhbFJ0bD0yXT0iSG9yaXpvbnRhbFJ0bCJ9KHV8fCh1PXt9KSk7Y29uc3QgbT17MDp7aXNIb3Jpem9udGFsOiExLGlzTmVnYXRpdmU6ITEsc2l6ZVByb3BOYW1lOiJoZWlnaHQiLG1pblNpemVQcm9wTmFtZToibWluSGVpZ2h0IixzdGFydFBvaW50UHJvcE5hbWU6InRvcCIsY3VycmVudE1vdXNlUG9pbnRQcm9wTmFtZToiY2xpZW50WSIscHJvZ3Jlc3NCYXJUcmFuc2Zvcm06InRyYW5zbGF0ZVkifSwxOntpc0hvcml6b250YWw6ITAsaXNOZWdhdGl2ZTohMSxzaXplUHJvcE5hbWU6IndpZHRoIixtaW5TaXplUHJvcE5hbWU6Im1pbldpZHRoIixzdGFydFBvaW50UHJvcE5hbWU6ImxlZnQiLGN1cnJlbnRNb3VzZVBvaW50UHJvcE5hbWU6ImNsaWVudFgiLHByb2dyZXNzQmFyVHJhbnNmb3JtOiJ0cmFuc2xhdGVYIn0sMjp7aXNIb3Jpem9udGFsOiEwLGlzTmVnYXRpdmU6ITAsc2l6ZVByb3BOYW1lOiJ3aWR0aCIsbWluU2l6ZVByb3BOYW1lOiJtaW5XaWR0aCIsc3RhcnRQb2ludFByb3BOYW1lOiJyaWdodCIsY3VycmVudE1vdXNlUG9pbnRQcm9wTmFtZToiY2xpZW50WCIscHJvZ3Jlc3NCYXJUcmFuc2Zvcm06InRyYW5zbGF0ZVgifX0sZD00MDtmdW5jdGlvbiBwKGUpe2NvbnN0e3NpemU6dCxzY3JvbGxTaXplOm8sY2xpZW50U2l6ZTpyLHNjcm9sbFByb2dyZXNzOmksb25TY3JvbGxQcm9ncmVzc0NoYW5nZTp1LHNjcm9sbE1vZGU6cCx0aGVtZTpoPWMsb25EcmFnU3RhcnQ6ZyxvbkRyYWdFbmQ6dixtaW5CYXJTaXplOl89ZH09ZSxmPSgwLG4udXNlUmVmKShudWxsKSxiPSgwLG4udXNlUmVmKShudWxsKSxbQyx4XT0oMCxuLnVzZVN0YXRlKSghMSkseT0oMCxuLnVzZVJlZikoMCkse2lzSG9yaXpvbnRhbDpTLGlzTmVnYXRpdmU6dyxzaXplUHJvcE5hbWU6ayxtaW5TaXplUHJvcE5hbWU6RSxzdGFydFBvaW50UHJvcE5hbWU6TCxjdXJyZW50TW91c2VQb2ludFByb3BOYW1lOk4scHJvZ3Jlc3NCYXJUcmFuc2Zvcm06TX09bVtwXTsoMCxuLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxhLmVuc3VyZU5vdE51bGwpKGYuY3VycmVudCkub3duZXJEb2N1bWVudDtyZXR1cm4gQz8oZyYmZygpLGUmJihlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsRCksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixBKSkpOnYmJnYoKSwoKT0+e2UmJihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsRCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixBKSl9fSksW0NdKTtjb25zdCBUPXQvb3x8MCxQPXIqVHx8MCxJPU1hdGgubWF4KFAsXyksUj0odC1JKS8odC1QKSxPPW8tdCxCPXc/LU86MCxqPXc/MDpPLHo9VygoMCxsLmNsYW1wKShpLEIsaikpfHwwO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpmLGNsYXNzTmFtZTpzKCkoaC53cmFwLFMmJmhbIndyYXAtLWhvcml6b250YWwiXSksc3R5bGU6e1trXTp0fSxvbk1vdXNlRG93bjpmdW5jdGlvbihlKXtpZihlLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1HKGUubmF0aXZlRXZlbnQsKDAsYS5lbnN1cmVOb3ROdWxsKShmLmN1cnJlbnQpKSxvPU1hdGguc2lnbih0KSxuPSgwLGEuZW5zdXJlTm90TnVsbCkoYi5jdXJyZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt5LmN1cnJlbnQ9bypuW2tdLzI7bGV0IHI9TWF0aC5hYnModCktTWF0aC5hYnMoeS5jdXJyZW50KTtjb25zdCBzPVcoTyk7cjwwPyhyPTAseS5jdXJyZW50PXQpOnI+cyYmKHI9cyx5LmN1cnJlbnQ9dC1vKnMpO3UoVShvKnIpKSx4KCEwKX19LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmIsY2xhc3NOYW1lOnMoKShoLmJhcixTJiZoWyJiYXItLWhvcml6b250YWwiXSksc3R5bGU6e1tFXTpfLFtrXTpJLHRyYW5zZm9ybTpgJHtNfSgke3p9cHgpYH0sb25Nb3VzZURvd246ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHkuY3VycmVudD1HKGUubmF0aXZlRXZlbnQsKDAsYS5lbnN1cmVOb3ROdWxsKShiLmN1cnJlbnQpKSx4KCEwKX19LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7CmNsYXNzTmFtZTpzKCkoaC5iYXJJbm5lcixTJiZoWyJiYXJJbm5lci0taG9yaXpvbnRhbCJdKX0pKSk7ZnVuY3Rpb24gRChlKXtjb25zdCB0PUcoZSwoMCxhLmVuc3VyZU5vdE51bGwpKGYuY3VycmVudCkpLXkuY3VycmVudDt1KFUodCkpfWZ1bmN0aW9uIEEoKXt4KCExKX1mdW5jdGlvbiBHKGUsdCl7Y29uc3Qgbz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW0xdO3JldHVybiBlW05dLW99ZnVuY3Rpb24gVyhlKXtyZXR1cm4gZSpUKlJ9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZS9UL1J9fX0sOTI5NDg4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzU2VwYXJhdG9ySXRlbTooKT0+cn0pO3ZhciBuPW8oOTAxMDIyKTtmdW5jdGlvbiByKGUpe3JldHVybigwLG4uaXNTZXBhcmF0b3JJdGVtKShlKX19LDMyMDU1KGUsdCxvKXsidXNlIHN0cmljdCI7by5yKHQpLG8uZCh0LHtyZXNvbHZlU3ltYm9sTmFtZTooKT0+YyxyZXNvbHZlU3ltYm9sTmFtZUZvckFsbDooKT0+dSxyZXNvbHZlU3ltYm9sTmFtZUZvckFsbERpc3RpbmN0OigpPT5tLHNuYXBzaG90ZXI6KCk9Pmx9KTt2YXIgbj1vKDEyODgxNCkscj1vKDYyMzUxMSkscz1vKDkyOTQ4OCk7Y29uc3QgYT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJzaG9ydF9uYW1lIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiZXhjaGFuZ2UiLCJ0eXBlc3BlY3MiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJsYXN0X3ByaWNlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJsb2dvaWQiLCJsb2dvIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwidXBkYXRlX21vZGUiLCJ1cGRhdGVfbW9kZV9zZWNvbmRzIiwicHJvX3Blcm0iLCJzb3VyY2UiLCJzb3VyY2UyIiwicHJpY2VzY2FsZSIsIm1pbm1vdiIsImZyYWN0aW9uYWwiLCJ2aXNpYmxlLXBsb3RzLXNldCIsImxvY2FsX2Rlc2NyaXB0aW9uIiwibGFuZ3VhZ2UiLCJ1bmRlcmx5aW5nLXN5bWJvbCJdKSxsPSgwLHIubGF6eVZhbHVlKSgoKCk9Pm5ldyBuLlF1b3RlU2Vzc2lvblNuYXBzaG90ZXIoe25hbWU6ImJhc2ljLXN5bWJvbC1xdW90ZXMiLGZpZWxkczpbLi4uYV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKSxpPW5ldyBTZXQoWyJwcm9fbmFtZSJdKTthc3luYyBmdW5jdGlvbiBjKGUpe3JldHVybigwLHMuaXNTZXBhcmF0b3JJdGVtKShlKT9lOmwoKS5nZXRTbmFwc2hvdChlLGkpLnRoZW4oKGU9PiJlcnJvciI9PT1lLnN0YXR1cz9lLnN5bWJvbG5hbWU6ZS52YWx1ZXMucHJvX25hbWUpKX1mdW5jdGlvbiB1KGUpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcChjKSl9ZnVuY3Rpb24gbShlKXtyZXR1cm4gdShlKS50aGVuKChlPT5bLi4ubmV3IFNldChlKV0pKX19LDk4NjI3NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtyZW1vdmVVc2RGcm9tQ3J5cHRvUGFpckxvZ29zOigpPT5pLHJlc29sdmVMb2dvVXJsczooKT0+YSxyZXNvbHZlTG9nb1VybHNGcm9tTG9nb0RhdGE6KCk9Pmx9KTt2YXIgbj1vKDYwMTg0MSkscj1vKDg2MjIxMyk7Y29uc3Qgcz0oMCxyLmdldExvZ29VcmxSZXNvbHZlcikoKTtmdW5jdGlvbiBhKGUsdD1yLkxvZ29TaXplLk1lZGl1bSl7Y29uc3Qgbz1lLmxvZ29pZCxuPWVbImJhc2UtY3VycmVuY3ktbG9nb2lkIl0sYT1lWyJjdXJyZW5jeS1sb2dvaWQiXSxsPW8mJnMuZ2V0U3ltYm9sTG9nb1VybChvLHQpO2lmKGwpcmV0dXJuW2xdO2NvbnN0IGk9biYmcy5nZXRTeW1ib2xMb2dvVXJsKG4sdCksYz1hJiZzLmdldFN5bWJvbExvZ29VcmwoYSx0KTtyZXR1cm4gaSYmYz9baSxjXTppP1tpXTpjP1tjXTpbXX1mdW5jdGlvbiBsKGUsdD1yLkxvZ29TaXplLk1lZGl1bSl7cmV0dXJuKCJwYWlyIj09PWUuc3R5bGU/W2UubG9nb2lkLGUubG9nb2lkMl06W2UubG9nb2lkXSkubWFwKChlPT5zLmdldFN5bWJvbExvZ29VcmwoZSx0KSkpLmZpbHRlcihuLm5vdE51bGwpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIDIhPT1lLmxlbmd0aD9lOmZ1bmN0aW9uKGUpe3JldHVybiBlLnNvbWUoKGU9PmMoZSkpKX0oZSkmJiFmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT5lLmluY2x1ZGVzKCJjb3VudHJ5IikmJiFjKGUpKSl9KGUpP2UuZmlsdGVyKChlPT4hYyhlKSkpOmV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5pbmNsdWRlcygiY291bnRyeS9VUyIpfX0sMjEwNzY0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZU92ZXJsYXlTY3JvbGw6KCk9Pml9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDEzODYzOCkscz1vKDY4OTg5NCksYT1vKDMxODk3NCk7Y29uc3QgbD17b25Nb3VzZUVudGVyOigpPT57fSxvbk1vdXNlTGVhdmU6KCk9Pnt9fTtmdW5jdGlvbiBpKGUsdD1hLkNoZWNrTW9iaWxlLmFueSgpKXtjb25zdCBvPSgwLG4udXNlUmVmKShudWxsKSxpPWV8fCgwLG4udXNlUmVmKShudWxsKSxbYyx1XT0oMCxzLnVzZUhvdmVyKSgpLFttLGRdPSgwLG4udXNlU3RhdGUpKHtyZWZlcmVuY2U6byxjb250YWluZXJIZWlnaHQ6MCxjb250YWluZXJXaWR0aDowLGNvbnRlbnRIZWlnaHQ6MCxjb250ZW50V2lkdGg6MCxzY3JvbGxQb3NUb3A6MCxzY3JvbGxQb3NMZWZ0OjAsb25WZXJ0aWNhbENoYW5nZTpmdW5jdGlvbihlKXtkKCh0PT4oey4uLnQsc2Nyb2xsUG9zVG9wOmV9KSkpLCgwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxUb3A9ZX0sb25Ib3Jpem9udGFsQ2hhbmdlOmZ1bmN0aW9uKGUpe2QoKHQ9Pih7Li4udCxzY3JvbGxQb3NMZWZ0OmV9KSkpLCgwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxMZWZ0PWV9LHZpc2libGU6Y30pLHA9KDAsbi51c2VDYWxsYmFjaykoKCgpPT57aWYoIWkuY3VycmVudClyZXR1cm47Y29uc3R7Y2xpZW50SGVpZ2h0OmUsc2Nyb2xsSGVpZ2h0OnQsc2Nyb2xsVG9wOm4sY2xpZW50V2lkdGg6cixzY3JvbGxXaWR0aDpzLHNjcm9sbExlZnQ6YX09aS5jdXJyZW50LGw9by5jdXJyZW50P28uY3VycmVudC5vZmZzZXRUb3A6MDtkKChvPT4oey4uLm8sY29udGFpbmVySGVpZ2h0OmUtbCxjb250ZW50SGVpZ2h0OnQtbCxzY3JvbGxQb3NUb3A6biwKY29udGFpbmVyV2lkdGg6cixjb250ZW50V2lkdGg6cyxzY3JvbGxQb3NMZWZ0OmF9KSkpfSksW10pO2Z1bmN0aW9uIGgoKXtkKChlPT4oey4uLmUsc2Nyb2xsUG9zVG9wOigwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxUb3Asc2Nyb2xsUG9zTGVmdDooMCxyLmVuc3VyZU5vdE51bGwpKGkuY3VycmVudCkuc2Nyb2xsTGVmdH0pKSl9cmV0dXJuKDAsbi51c2VFZmZlY3QpKCgoKT0+e2MmJnAoKSxkKChlPT4oey4uLmUsdmlzaWJsZTpjfSkpKX0pLFtjXSksKDAsbi51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9aS5jdXJyZW50O3JldHVybiBlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaCksKCk9PntlJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaCl9fSksW2ldKSxbbSx0P2w6dSxpLHBdfX0sNzA4ODQyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1Rvb2xXaWRnZXRDYXJldDooKT0+Y30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMjczMzEwKSxsPW8oODEwMjgxKSxpPW8oMzU2NzIxKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2Ryb3BwZWQ6dCxjbGFzc05hbWU6b309ZTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnMoKShvLGwuaWNvbix7W2wuZHJvcHBlZF06dH0pLGljb246aX0pfX0sOTM1MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy45MiA3LjgzIDkgMTIuMjlsNS4wOC00LjQ2LTEtMS4xM0w5IDEwLjI5bC00LjA5LTMuNi0uOTkgMS4xNFoiLz48L3N2Zz4nfSwyMzYxNDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuODQgOSA2LjYyIDUuMzNsLjc2LS42NkwxMS4xNiA5bC0zLjc4IDQuMzMtLjc2LS42Nkw5Ljg0IDlaIi8+PC9zdmc+J30sMTI1ODk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSA5IiB3aWR0aD0iMTEiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTAuOTk5ODc4IDRMMy45OTk4OCA3TDkuOTk5ODggMSIvPjwvc3ZnPid9LDIwMzMwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgOGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwyNzQ4NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAgOGE4IDggMCAxIDAgMTYgMEE4IDggMCAxIDAgMCA4em0yIDBhNiA2IDAgMSAwIDEyIDBBNiA2IDAgMSAwIDIgOHptMiAwYTQgNCAwIDEgMCA4IDAgNCA0IDAgMSAwLTggMCIvPjwvc3ZnPid9LDMzNDU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTYuNSAyMEwxMSAxNC41IDE2LjUgOSIvPjwvc3ZnPid9LDM1NjcyMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgOCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTAgMS40NzVsNy4zOTYgNi4wNC41OTYuNDg1LjU5My0uNDlMMTYgMS4zOSAxNC44MDcgMCA3LjM5MyA2LjEyMiA4LjU4IDYuMTIgMS4xODYuMDh6Ii8+PC9zdmc+J30sNTgwNTk2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggNWwzLjUgMy41TDggMTIiLz48L3N2Zz4nfSwzODA1NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik03IDE1bDUgNUwyMyA5Ii8+PC9zdmc+J30sODQ0MjI1KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZW4iOnsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9LCJpbiI6eyJsYW5ndWFnZSI6ImVuIiwibGFuZ3VhZ2VfbmFtZSI6IkVuZ2xpc2gg4oCOKEluZGlhKeKAjiIsImZsYWciOiJpbiIsImdlb2lwX2NvZGUiOiJpbiIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJJbmRpYW4ifSwiZGVfREUiOnsibGFuZ3VhZ2UiOiJkZSIsImxhbmd1YWdlX25hbWUiOiJEZXV0c2NoIiwiZmxhZyI6ImRlIiwiZ2VvaXBfY29kZSI6ImRlIiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJhdCIsImNoIl0sImlzbyI6ImRlIiwiaXNvXzYzOV8zIjoiZGV1IiwiZ2xvYmFsX25hbWUiOiJHZXJtYW4iLCJpc19pbl9ldXJvcGVhbl91bmlvbiI6dHJ1ZX0sImZyIjp7Imxhbmd1YWdlIjoiZnIiLCJsYW5ndWFnZV9uYW1lIjoiRnJhbsOnYWlzIiwiZmxhZyI6ImZyIiwiZ2VvaXBfY29kZSI6ImZyIiwiaXNvIjoiZnIiLCJpc29fNjM5XzMiOiJmcmEiLCJnbG9iYWxfbmFtZSI6IkZyZW5jaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwiY2FfRVMiOnsibGFuZ3VhZ2UiOiJjYV9FUyIsImxhbmd1YWdlX25hbWUiOiJDYXRhbMOgIiwiZmxhZyI6ImVzIiwiZ2VvaXBfY29kZSI6ImVzIiwiaXNvIjoiY2EiLCJpc29fNjM5XzMiOiJjYXQiLCJnbG9iYWxfbmFtZSI6IkNhdGFsYW4ifSwiZXMiOnsibGFuZ3VhZ2UiOiJlcyIsImxhbmd1YWdlX25hbWUiOiJFc3Bhw7FvbCIsImZsYWciOiJlcyIsImdlb2lwX2NvZGUiOiJlcyIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsibXgiLCJhciIsInZlIiwiY2wiLCJjbyIsInBlIiwidXkiLCJweSIsImNyIiwiZ3QiLCJjIiwiYm8iLCJwYSIsInByIl0sImlzbyI6ImVzIiwiaXNvXzYzOV8zIjoic3BhIiwiZ2xvYmFsX25hbWUiOiJTcGFuaXNoIiwiaXNfaW5fZXVyb3BlYW5fdW5pb24iOnRydWV9LCJpdCI6eyJsYW5ndWFnZSI6Iml0IiwibGFuZ3VhZ2VfbmFtZSI6Ikl0YWxpYW5vIiwiZmxhZyI6Iml0IiwiZ2VvaXBfY29kZSI6Iml0IiwiaXNvIjoiaXQiLCJpc29fNjM5XzMiOiJpdGEiLCJnbG9iYWxfbmFtZSI6Ikl0YWxpYW4iLCJpc19pbl9ldXJvcGVhbl91bmlvbiI6dHJ1ZX0sInBsIjp7Imxhbmd1YWdlIjoicGwiLCJsYW5ndWFnZV9uYW1lIjoiUG9sc2tpIiwiZmxhZyI6InBsIiwiZ2VvaXBfY29kZSI6InBsIiwiaXNvIjoicGwiLCJpc29fNjM5XzMiOiJwb2wiLCJnbG9iYWxfbmFtZSI6IlBvbGlzaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwiaHVfSFUiOnsibGFuZ3VhZ2UiOiJodV9IVSIsImxhbmd1YWdlX25hbWUiOiJNYWd5YXIiLCJmbGFnIjoiaHUiLCJnZW9pcF9jb2RlIjoiaHUiLCJpc28iOiJodSIsImlzb182MzlfMyI6Imh1biIsImdsb2JhbF9uYW1lIjoiSHVuZ2FyaWFuIiwiaXNfaW5fZXVyb3BlYW5fdW5pb24iOnRydWV9LCJzdl9TRSI6eyJsYW5ndWFnZSI6InN2IiwibGFuZ3VhZ2VfbmFtZSI6IlN2ZW5za2EiLCJmbGFnIjoic2UiLCJnZW9pcF9jb2RlIjoic2UiLCJpc28iOiJzdiIsImlzb182MzlfMyI6InN3ZSIsImdsb2JhbF9uYW1lIjoiU3dlZGlzaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwidHIiOnsibGFuZ3VhZ2UiOiJ0ciIsImxhbmd1YWdlX25hbWUiOiJUw7xya8OnZSIsImZsYWciOiJ0ciIsImdlb2lwX2NvZGUiOiJ0ciIsImlzbyI6InRyIiwiaXNvXzYzOV8zIjoidHVyIiwiZ2xvYmFsX25hbWUiOiJUdXJraXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfSwicnUiOnsibGFuZ3VhZ2UiOiJydSIsImxhbmd1YWdlX25hbWUiOiLQoNGD0YHRgdC60LjQuSIsImZsYWciOiJydSIsImdlb2lwX2NvZGUiOiJydSIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsiYW0iLCJieSIsImtnIiwia3oiLCJtZCIsInRqIiwidG0iLCJ1eiJdLCJpc28iOiJydSIsImlzb182MzlfMyI6InJ1cyIsImdsb2JhbF9uYW1lIjoiUnVzc2lhbiIsImlzX29ubHlfcmVjb21tZW5kZWRfdHdfYXV0b3JlcG9zdCI6dHJ1ZX0sImJyIjp7Imxhbmd1YWdlIjoicHQiLCJsYW5ndWFnZV9uYW1lIjoiUG9ydHVndcOqcyIsImZsYWciOiJiciIsImdlb2lwX2NvZGUiOiJiciIsImlzbyI6InB0IiwiaXNvXzYzOV8zIjoicG9yIiwiZ2xvYmFsX25hbWUiOiJQb3J0dWd1ZXNlIn0sImlkIjp7Imxhbmd1YWdlIjoiaWRfSUQiLCJsYW5ndWFnZV9uYW1lIjoiQmFoYXNhIEluZG9uZXNpYSIsImZsYWciOiJpZCIsImdlb2lwX2NvZGUiOiJpZCIsImlzbyI6ImlkIiwiaXNvXzYzOV8zIjoiaW5kIiwiZ2xvYmFsX25hbWUiOiJJbmRvbmVzaWFuIn0sIm1zX01ZIjp7Imxhbmd1YWdlIjoibXNfTVkiLCJsYW5ndWFnZV9uYW1lIjoiQmFoYXNhIE1lbGF5dSIsImZsYWciOiJteSIsImdlb2lwX2NvZGUiOiJteSIsImlzbyI6Im1zIiwiaXNvXzYzOV8zIjoiemxtIiwiZ2xvYmFsX25hbWUiOiJNYWxheXNpYW4ifSwidGhfVEgiOnsibGFuZ3VhZ2UiOiJ0aCIsImxhbmd1YWdlX25hbWUiOiLguKDguLLguKnguLLguYTguJfguKIiLCJmbGFnIjoidGgiLCJnZW9pcF9jb2RlIjoidGgiLCJpc28iOiJ0aCIsImlzb182MzlfMyI6InRoYSIsImdsb2JhbF9uYW1lIjoiVGhhaSJ9LCJ2aV9WTiI6eyJsYW5ndWFnZSI6InZpIiwibGFuZ3VhZ2VfbmFtZSI6IlRp4bq/bmcgVmnhu4d0IiwiZmxhZyI6InZuIiwiZ2VvaXBfY29kZSI6InZuIiwiaXNvIjoidmkiLCJpc29fNjM5XzMiOiJ2aWUiLCJnbG9iYWxfbmFtZSI6IlZpZXRuYW1lc2UifSwiamEiOnsibGFuZ3VhZ2UiOiJqYSIsImxhbmd1YWdlX25hbWUiOiLml6XmnKzoqp4iLCJmbGFnIjoianAiLCJnZW9pcF9jb2RlIjoianAiLCJpc28iOiJqYSIsImlzb182MzlfMyI6ImpwbiIsImdsb2JhbF9uYW1lIjoiSmFwYW5lc2UifSwia3IiOnsibGFuZ3VhZ2UiOiJrbyIsImxhbmd1YWdlX25hbWUiOiLtlZzqta3slrQiLCJmbGFnIjoia3IiLCJnZW9pcF9jb2RlIjoia3IiLCJpc28iOiJrbyIsImlzb182MzlfMyI6ImtvciIsImdsb2JhbF9uYW1lIjoiS29yZWFuIn0sInpoX0NOIjp7Imxhbmd1YWdlIjoiemgiLCJsYW5ndWFnZV9uYW1lIjoi566A5L2T5Lit5paHIiwiZmxhZyI6ImNuIiwiZ2VvaXBfY29kZSI6ImNuIiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJ6aCJdLCJpc28iOiJ6aC1IYW5zIiwiaXNvXzYzOV8zIjoiY21uIiwiZ2xvYmFsX25hbWUiOiJDaGluZXNlIn0sInpoX1RXIjp7Imxhbmd1YWdlIjoiemhfVFciLCJsYW5ndWFnZV9uYW1lIjoi57mB6auU5Lit5paHIiwiZmxhZyI6InR3IiwiZ2VvaXBfY29kZSI6InR3IiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJoayJdLCJpc28iOiJ6aC1IYW50IiwiaXNvXzYzOV8zIjoiY21uIiwiZ2xvYmFsX25hbWUiOiJUYWl3YW5lc2UifSwiYXJfQUUiOnsibGFuZ3VhZ2UiOiJhciIsImxhbmd1YWdlX25hbWUiOiLYp9mE2LnYsdio2YrYqSIsImZsYWciOiJzYSIsImdlb2lwX2NvZGUiOiJzYSIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsiYWUiLCJiaCIsImRqIiwiZHoiLCJlZyIsImVyIiwiaXEiLCJqbyIsImttIiwia3ciLCJsYiIsImx5IiwibWEiLCJtciIsIm9tIiwicWEiLCJzYSIsInNkIiwic28iLCJzeSIsInRkIiwidG4iLCJ5ZSJdLCJkaXIiOiJydGwiLCJpc28iOiJhciIsImlzb182MzlfMyI6ImFyYiIsImdsb2JhbF9uYW1lIjoiQXJhYmljIn0sImhlX0lMIjp7Imxhbmd1YWdlIjoiaGVfSUwiLCJsYW5ndWFnZV9uYW1lIjoi16LXkdeo15nXqiIsImZsYWciOiJpbCIsImdlb2lwX2NvZGUiOiJpbCIsImRpciI6InJ0bCIsImlzbyI6ImhlIiwiaXNvXzYzOV8zIjoiaGViIiwiZ2xvYmFsX25hbWUiOiJJc3JhZWxpIn19JykKfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.btcwidget.info/widget/liveTx/%23000000/%23000000/%23000000/%23ffffff/%23e01c9e/300/400/7","fqdn":"www.btcwidget.info","domain":"btcwidget.info","tld":"info"},"ip":{"addr":"172.67.170.70","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.482Z","timestamp":1785124875482,"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":"btcwidget.info","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 13:17:51 GMT","end":"Tue, 20 Oct 2026 14:16:09 GMT"},"fingerprint":{"sha1":"E7:CD:36:49:AE:D8:34:F2:63:33:72:87:05:77:72:49:FA:38:50:E8","sha256":"E4:81:A3:19:D6:10:3C:3E:58:38:52:33:31:78:0A:0E:C9:A6:02:B1:C0:EF:EF:6E:DF:38:A3:D0:41:13:F8:31"}}},"request":{"raw":"GET /widget/liveTx/%23000000/%23000000/%23000000/%23ffffff/%23e01c9e/300/400/7 HTTP/1.1\r\nHost: www.btcwidget.info\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://berthenergy-inc.biz/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 500 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/html; charset=UTF-8\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4,i=?0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\nreferrer-policy: strict-origin-when-cross-origin\r\ncf-cache-status: DYNAMIC\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gHWbAD5eGMTq35gJN073214yeR5v0fcc4F4EE4flmL859l6XN4ELMml%2FL6HFTlSHvP2MrNbsHuoAXMQ8TvDcXbmxAu8Vqc4lJhrQQhUV1mm8iTm8aMaK007nFjq47ItAtUnzOD4%3D\"}]}\r\ncf-ray: a218bde7ed9c32fa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"500","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43792.e1bd06112404f0901a66.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.721Z","timestamp":1785124876721,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43792.e1bd06112404f0901a66.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 99c1c7aed4b74f68c173043f2be4d1ff\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4002,"size_decoded":1797,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4002), with no line terminators","md5":"132394741fdf9302124f840e6c3a925d","sha1":"59267f8b0edd10201baaabda8807c79d9b9c3642","sha256":"8157f6ce008ce1e225eb1af407cc0fa0cff8f6155386f2da7e90a74c37091048","sha512":"63359d8ac07c4cd882722bc630255d64b699f4f548c64e2558f6d95f25c6e75f0b5645fee034885862797dfedaf95df80c12f73ec2d41c159177c19470c40f6d","ssdeep":"","tlshash":"bd819cbcea50d8770d5fa63e0398d06c3994b213ee26ab57ffa0d10144d7be6419a70e","first_seen":"2026-07-22T16:00:00.457602Z","last_seen":"2026-07-27T06:14:34.222628Z","times_seen":157,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUk00Xzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1STTRfOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzItUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzMtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzQtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fNS1STTRfOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi0zMDApOy0tXzYtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV83LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzgtUk00Xzp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTkwMCk7LS1fOS1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xMC1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xMS1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzEyLVJNNF86dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTMtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTQtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1STTRfOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEtUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yLVJNNF86dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zLVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV80LVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzUtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV82LVJNNF86dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTYwMCk7LS1fNy1STTRfOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV84LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzktUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1fMTAtUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTcwMCk7LS1fMTEtUk00Xzp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLV8xMi1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE3MDApOy0tXzEzLVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApOy0tXzE0LVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay00MDApfS53cmFwLUdoRGpYekJ4e2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LndyYXAtR2hEalh6Qng6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ud3JhcC1HaERqWHpCeDpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LndyYXAtR2hEalh6QnggLmlucHV0LUdoRGpYekJ4e2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1HaERqWHpCeCAuaW5wdXQtR2hEalh6Qng6aG92ZXI6bm90KDpjaGVja2VkKSsuYm94LUdoRGpYekJ4IC5ob3ZlckRvdC1HaERqWHpCeHtkaXNwbGF5OmJsb2NrfX0uYm94LUdoRGpYekJ4e2hlaWdodDoxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uYm94LUdoRGpYekJ4LnJlZC1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMS1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5yZWQtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzItUk00Xyl9fS5ib3gtR2hEalh6QnguYmx1ZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5ibHVlLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV80LVJNNF8pfX0uYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4e2NvbG9yOnZhcigtLV81LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV82LVJNNF8pfX0uYm94LUdoRGpYekJ4Lm9yYW5nZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fNy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5vcmFuZ2UtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzgtUk00Xyl9fS5ib3gtR2hEalh6QngucHVycGxlLUdoRGpYekJ4e2NvbG9yOnZhcigtLV85LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LnB1cnBsZS1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTAtUk00Xyl9fS5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTEtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTItUk00Xyl9fS5ib3gtR2hEalh6QngucGluay1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTMtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QngucGluay1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTQtUk00Xyl9fS5ib3gtR2hEalh6QngubGFyZ2UtR2hEalh6Qnh7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ucGlja2VyRG90LUdoRGpYekJ4e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmhvdmVyRG90LUdoRGpYekJ4e2NvbG9yOnZhcigtLV8wLVJNNF8pO2Rpc3BsYXk6bm9uZTtvcGFjaXR5Oi41fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXlNSEM6dmFyKC0tY29sb3Itd2hpdGUpfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteU1IQzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0ud3JhcHBlci1WbmVRVm9OdntwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo2cHggMTBweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteU1IQyk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052e2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDotMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxMnB4fS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052OmFmdGVye2JhY2tncm91bmQ6dmFyKC0tXzAteU1IQyk7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6MTJweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnYgLmFycm93TGVmdC1WbmVRVm9OdjphZnRlcjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LmNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052e3BhZGRpbmc6NHB4fS5wb3B1cC1WbmVRVm9Odntwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjEwMDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/chart-function.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.226Z","timestamp":1785124875226,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/chart-function.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:42:48 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b48-1da5\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":7589,"size_decoded":1684,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with CRLF line terminators","md5":"587761803bd8a505c2e72d5798953d57","sha1":"d22468f95664ca1e5b0da16b58cb7eb3c31b98ae","sha256":"614188f4cbc0d4634b8c9a617ab3309e53b1fcb19cadd9266e21dbf4d74ab3e3","sha512":"432f2199d43656a4ab4a7df32a538f4dde690985863b97530d97cbb4673d4238cb55ba34d76106aa870c7cb46cc19a1488875bac1075f256d5f9d95b7603d0e1","ssdeep":"96:vsrT2tfMVFKybgPqfOUWUTINeyfVFFKybgPrwzFKybgPbuhDnW:yTnFKHPqfOUb2fDFKHPrMFKHPb+DnW","tlshash":"34f1da5afe1240aba1337369c6bf6209e3f9b2130145c422746de4902fb8e6431d6fd6","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.177019Z","times_seen":24,"resource_available":true,"data":"Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgICAgIDA4LiBDaGFydCBmdW5jdGlvbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovICAgIA0KICAgIGNoYXJ0KCk7DQoNCiAgICBmdW5jdGlvbiBjaGFydCgpew0KICAgICAgLyogTGF5b3V0IDEgVG9rZW4gQ2hhdCAqLw0KICAgICAgdmFyIGNvbG9ycyA9IFsnIzdkN2Q3ZCcsICcjZDQ3YzBjJywgJyNmMDkzMWUnLCAnI2Y2YWEzNScsICcjZmJiZDE4J107DQogICAgICB2YXIgbGFiZWxzID0gWyLCq0JvdW50ecK7ICBjYW1wYWlnbiIsICJBZHZpc29ycyIsICJGb3VuZGVycyBhbmQgVGVhbSIsICJSZXNlcnZlZCBGdW5kaW5nIiwgIkRpc3RyaWJ1dGVkIHRvIENvbW11bml0eSJdOw0KICAgICAgdmFyIGRhdGEgPSBbMTAsIDEwLCA1LCA1LCA3MF07DQogICAgICB2YXIgYmdDb2xvciA9IGNvbG9yczsNCiAgICAgIHZhciBkYXRhQ2hhcnQgPSB7DQogICAgICAgIGxhYmVsczogbGFiZWxzLA0KICAgICAgICBkYXRhc2V0czogW3sNCiAgICAgICAgICBkYXRhOiBkYXRhLA0KICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmdDb2xvciwNCiAgICAgICAgICBib3JkZXJXaWR0aDogMA0KICAgICAgICB9XQ0KICAgICAgfTsNCiAgICAgIHZhciBjb25maWcgPSB7DQogICAgICAgIHR5cGU6ICdkb3VnaG51dCcsDQogICAgICAgIGRhdGE6IGRhdGFDaGFydCwNCiAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLA0KICAgICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDQwLA0KICAgICAgICAgIGxlZ2VuZDogew0KICAgICAgICAgICAgZGlzcGxheTogZmFsc2UNCiAgICAgICAgICB9LA0KICAgICAgICAgIGxlZ2VuZENhbGxiYWNrOiBmdW5jdGlvbihjaGFydCkgew0KICAgICAgICAgICAgdmFyIHRleHQgPSBbXTsNCiAgICAgICAgICAgIHRleHQucHVzaCgnPHVsIGNsYXNzPSJkb3VnaG51dC1sZWdlbmQiPicpOw0KICAgICAgICAgICAgaWYgKGNoYXJ0LmRhdGEuZGF0YXNldHMubGVuZ3RoKSB7DQogICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hhcnQuZGF0YS5kYXRhc2V0c1swXS5kYXRhLmxlbmd0aDsgKytpKSB7DQogICAgICAgICAgICAgICAgdGV4dC5wdXNoKCc8bGk+PHNwYW4gY2xhc3M9ImRvdWdobnV0LWxlZ2VuZC1pY29uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjonICsgY2hhcnQuZGF0YS5kYXRhc2V0c1swXS5iYWNrZ3JvdW5kQ29sb3JbaV0gKyAnIj48L3NwYW4+Jyk7DQogICAgICAgICAgICAgICAgaWYgKGNoYXJ0LmRhdGEubGFiZWxzW2ldKSB7DQogICAgICAgICAgICAgICAgICB0ZXh0LnB1c2goJzxzcGFuIGNsYXNzPSJkb3VnaG51dC1sZWdlbmQtdGV4dCI+JyArIGNoYXJ0LmRhdGEubGFiZWxzW2ldICsgJzwvc3Bhbj4nKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdGV4dC5wdXNoKCc8L2xpPicpOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0ZXh0LnB1c2goJzwvdWw+Jyk7DQogICAgICAgICAgICByZXR1cm4gdGV4dC5qb2luKCIiKTsNCiAgICAgICAgICB9LA0KICAgICAgICAgIHRvb2x0aXBzOiB7DQogICAgICAgICAgICB5UGFkZGluZzogMTAsDQogICAgICAgICAgICBjYWxsYmFja3M6IHsNCiAgICAgICAgICAgICAgbGFiZWw6IGZ1bmN0aW9uKHRvb2x0aXBJdGVtLCBkYXRhKSB7DQogICAgICAgICAgICAgICAgdmFyIHRvdGFsID0gMDsNCiAgICAgICAgICAgICAgICBkYXRhLmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0uZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQgLyosIGluZGV4LCBhcnJheSovICkgew0KICAgICAgICAgICAgICAgICAgdG90YWwgKz0gZWxlbWVudDsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBkYXRhLmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0uZGF0YVt0b29sdGlwSXRlbS5pbmRleF07DQogICAgICAgICAgICAgICAgdmFyIHBlcmNlbnRUeHQgPSBNYXRoLnJvdW5kKHZhbHVlIC8gdG90YWwgKiAxMDApOw0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmxhYmVsc1t0b29sdGlwSXRlbS5pbmRleF0gKyAnOiAnICsgZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdICsgJyAoJyArIHBlcmNlbnRUeHQgKyAnJSknOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9Ow0KICAgICAgDQogICAgICB2YXIgY3R4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvdWdobnV0Q2hhcnQiKS5nZXRDb250ZXh0KCIyZCIpOw0KICAgICAgdmFyIGRvdWdobnV0Q2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCBjb25maWcpOw0KDQogICAgICB2YXIgbGVnZW5kID0gZG91Z2hudXRDaGFydC5nZW5lcmF0ZUxlZ2VuZCgpOw0KICAgICAgdmFyIGxlZ2VuZEhvbGRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsZWdlbmQiKTsNCiAgICAgIGxlZ2VuZEhvbGRlci5pbm5lckhUTUwgPSBsZWdlbmQ7DQoNCiAgICAgICAvKiBMYXlvdXQgMiBUb2tlbiBDaGF0ICovDQogICAgICB2YXIgbGF5b3V0MmNvbG9ycyA9IFsnIzdkN2Q3ZCcsICcjZDQ3YzBjJywgJyNmMDkzMWUnLCAnI2Y2YWEzNScsICcjZmJiZDE4J107DQogICAgICB2YXIgbGF5b3V0MmxhYmVscyA9IFsiNjUlIENyb3dkc2FsZSIsICIxMCUgVGVhbSIsICI1JSBBZHZpc29ycyBhbmQgUGFydG5lcnMiLCAiNSUgQmVhdXR5LCBBaXJkcm9wIGFuZCBSZWZlcnJhbHMiLCAiMTUlIFJlc2VydmVkIGZvciBBZ2F0ZSBFY29zeXN0ZW0iXTsNCiAgICAgIHZhciBsYXlvdXQyZGF0YSA9IFs2NSwgMTAsIDUsIDUsIDE1XTsNCiAgICAgIHZhciBsYXlvdXQyZGF0YTIgPSBbMTAsIDIwLCAzMCwgMzAsIDIwXTsNCiAgICAgIHZhciBiZ0NvbG9yID0gbGF5b3V0MmNvbG9yczsNCg0KICAgICAgdmFyIGxheW91dDJkYXRhQ2hhcnQgPSB7DQogICAgICAgIGxhYmVsczogbGF5b3V0MmxhYmVscywNCiAgICAgICAgZGF0YXNldHM6IFt7DQogICAgICAgICAgZGF0YTogbGF5b3V0MmRhdGEsDQogICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiZ0NvbG9yLA0KICAgICAgICAgIGJvcmRlcldpZHRoOiAwDQogICAgICAgIH1dDQogICAgICB9Ow0KICAgICAgdmFyIGxheW91dDJkYXRhQ2hhcnQyID0gew0KICAgICAgICBsYWJlbHM6IGxheW91dDJsYWJlbHMsDQogICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgIGRhdGE6IGxheW91dDJkYXRhMiwNCiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJnQ29sb3IsDQogICAgICAgICAgYm9yZGVyV2lkdGg6IDANCiAgICAgICAgfV0NCiAgICAgIH07DQogICAgICB2YXIgbGF5b3V0MmNvbmZpZzEgPSB7DQogICAgICAgIHR5cGU6ICdkb3VnaG51dCcsDQogICAgICAgIGRhdGE6IGxheW91dDJkYXRhQ2hhcnQsDQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwNCiAgICAgICAgICBjdXRvdXRQZXJjZW50YWdlOiA0MCwNCiAgICAgICAgICBsZWdlbmQ6IHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlDQogICAgICAgICAgfSwNCiAgICAgICAgICBsZWdlbmRDYWxsYmFjazogZnVuY3Rpb24oY2hhcnQpIHsNCiAgICAgICAgICAgIHZhciB0ZXh0ID0gW107DQogICAgICAgICAgICB0ZXh0LnB1c2goJzx1bCBjbGFzcz0iZG91Z2hudXQtbGVnZW5kIj4nKTsNCiAgICAgICAgICAgIGlmIChjaGFydC5kYXRhLmRhdGFzZXRzLmxlbmd0aCkgew0KICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJ0LmRhdGEuZGF0YXNldHNbMF0uZGF0YS5sZW5ndGg7ICsraSkgew0KICAgICAgICAgICAgICAgIHRleHQucHVzaCgnPGxpPjxzcGFuIGNsYXNzPSJkb3VnaG51dC1sZWdlbmQtaWNvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6JyArIGNoYXJ0LmRhdGEuZGF0YXNldHNbMF0uYmFja2dyb3VuZENvbG9yW2ldICsgJyI+PC9zcGFuPicpOw0KICAgICAgICAgICAgICAgIGlmIChjaGFydC5kYXRhLmxhYmVsc1tpXSkgew0KICAgICAgICAgICAgICAgICAgdGV4dC5wdXNoKCc8c3BhbiBjbGFzcz0iZG91Z2hudXQtbGVnZW5kLXRleHQiPicgKyBjaGFydC5kYXRhLmxhYmVsc1tpXSArICc8L3NwYW4+Jyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHRleHQucHVzaCgnPC9saT4nKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGV4dC5wdXNoKCc8L3VsPicpOw0KICAgICAgICAgICAgcmV0dXJuIHRleHQuam9pbigiIik7DQogICAgICAgICAgfSwNCiAgICAgICAgICB0b29sdGlwczogew0KICAgICAgICAgICAgeVBhZGRpbmc6IDEwLA0KICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgIGxhYmVsOiBmdW5jdGlvbih0b29sdGlwSXRlbSwgZGF0YSkgew0KICAgICAgICAgICAgICAgIHZhciB0b3RhbCA9IDA7DQogICAgICAgICAgICAgICAgZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmRhdGEuZm9yRWFjaChmdW5jdGlvbihlbGVtZW50IC8qLCBpbmRleCwgYXJyYXkqLyApIHsNCiAgICAgICAgICAgICAgICAgIHRvdGFsICs9IGVsZW1lbnQ7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdOw0KICAgICAgICAgICAgICAgIHZhciBwZXJjZW50VHh0ID0gTWF0aC5yb3VuZCh2YWx1ZSAvIHRvdGFsICogMTAwKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdICsgJzogJyArIGRhdGEuZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XS5kYXRhW3Rvb2x0aXBJdGVtLmluZGV4XSArICcgKCcgKyBwZXJjZW50VHh0ICsgJyUpJzsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfTsNCg0KICAgICAgdmFyIGxheW91dDJjb25maWcyID0gew0KICAgICAgICB0eXBlOiAnZG91Z2hudXQnLA0KICAgICAgICBkYXRhOiBsYXlvdXQyZGF0YUNoYXJ0MiwNCiAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLA0KICAgICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDQwLA0KICAgICAgICAgIGxlZ2VuZDogew0KICAgICAgICAgICAgZGlzcGxheTogZmFsc2UNCiAgICAgICAgICB9LA0KICAgICAgICAgIGxlZ2VuZENhbGxiYWNrOiBmdW5jdGlvbihjaGFydCkgew0KICAgICAgICAgICAgdmFyIHRleHQgPSBbXTsNCiAgICAgICAgICAgIHRleHQucHVzaCgnPHVsIGNsYXNzPSJkb3VnaG51dC1sZWdlbmQiPicpOw0KICAgICAgICAgICAgaWYgKGNoYXJ0LmRhdGEuZGF0YXNldHMubGVuZ3RoKSB7DQogICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hhcnQuZGF0YS5kYXRhc2V0c1swXS5kYXRhLmxlbmd0aDsgKytpKSB7DQogICAgICAgICAgICAgICAgdGV4dC5wdXNoKCc8bGk+PHNwYW4gY2xhc3M9ImRvdWdobnV0LWxlZ2VuZC1pY29uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjonICsgY2hhcnQuZGF0YS5kYXRhc2V0c1swXS5iYWNrZ3JvdW5kQ29sb3JbaV0gKyAnIj48L3NwYW4+Jyk7DQogICAgICAgICAgICAgICAgaWYgKGNoYXJ0LmRhdGEubGFiZWxzW2ldKSB7DQogICAgICAgICAgICAgICAgICB0ZXh0LnB1c2goJzxzcGFuIGNsYXNzPSJkb3VnaG51dC1sZWdlbmQtdGV4dCI+JyArIGNoYXJ0LmRhdGEubGFiZWxzW2ldICsgJzwvc3Bhbj4nKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdGV4dC5wdXNoKCc8L2xpPicpOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0ZXh0LnB1c2goJzwvdWw+Jyk7DQogICAgICAgICAgICByZXR1cm4gdGV4dC5qb2luKCIiKTsNCiAgICAgICAgICB9LA0KICAgICAgICAgIHRvb2x0aXBzOiB7DQogICAgICAgICAgICB5UGFkZGluZzogMTAsDQogICAgICAgICAgICBjYWxsYmFja3M6IHsNCiAgICAgICAgICAgICAgbGFiZWw6IGZ1bmN0aW9uKHRvb2x0aXBJdGVtLCBkYXRhKSB7DQogICAgICAgICAgICAgICAgdmFyIHRvdGFsID0gMDsNCiAgICAgICAgICAgICAgICBkYXRhLmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0uZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQgLyosIGluZGV4LCBhcnJheSovICkgew0KICAgICAgICAgICAgICAgICAgdG90YWwgKz0gZWxlbWVudDsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBkYXRhLmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0uZGF0YVt0b29sdGlwSXRlbS5pbmRleF07DQogICAgICAgICAgICAgICAgdmFyIHBlcmNlbnRUeHQgPSBNYXRoLnJvdW5kKHZhbHVlIC8gdG90YWwgKiAxMDApOw0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmxhYmVsc1t0b29sdGlwSXRlbS5pbmRleF0gKyAnOiAnICsgZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdICsgJyAoJyArIHBlcmNlbnRUeHQgKyAnJSknOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9Ow0KDQogICAgICBpZigkKCcjbGF5b3V0MmRvdWdobnV0Q2hhcnQxJykubGVuZ3RoID4gMCl7DQogICAgICAgIHZhciBsYXlvdXQyY3R4MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXlvdXQyZG91Z2hudXRDaGFydDEiKS5nZXRDb250ZXh0KCIyZCIpOw0KICAgICAgICB2YXIgbGF5b3V0MmRvdWdobnV0Q2hhcnQxID0gbmV3IENoYXJ0KGxheW91dDJjdHgxLCBsYXlvdXQyY29uZmlnMSk7DQoNCiAgICAgICAgdmFyIGxheW91dDJsZWdlbmQxID0gbGF5b3V0MmRvdWdobnV0Q2hhcnQxLmdlbmVyYXRlTGVnZW5kKCk7DQogICAgICAgIHZhciBsYXlvdXQybGVnZW5kSG9sZGVyMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXlvdXQybGVnZW5kMSIpOw0KICAgICAgICBsYXlvdXQybGVnZW5kSG9sZGVyMS5pbm5lckhUTUwgPSBsYXlvdXQybGVnZW5kMTsNCiAgICAgIH0NCg0KICAgICAgLyp2YXIgbGF5b3V0MmN0eDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5b3V0MmRvdWdobnV0Q2hhcnQyIikuZ2V0Q29udGV4dCgiMmQiKTsNCiAgICAgIHZhciBsYXlvdXQyZG91Z2hudXRDaGFydDIgPSBuZXcgQ2hhcnQobGF5b3V0MmN0eDIsIGxheW91dDJjb25maWcyKTsNCg0KICAgICAgdmFyIGxheW91dDJsZWdlbmQyID0gbGF5b3V0MmRvdWdobnV0Q2hhcnQyLmdlbmVyYXRlTGVnZW5kKCk7DQogICAgICB2YXIgbGF5b3V0MmxlZ2VuZEhvbGRlcjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5b3V0MmxlZ2VuZDIiKTsNCiAgICAgIGxheW91dDJsZWdlbmRIb2xkZXIyLmlubmVySFRNTCA9IGxheW91dDJsZWdlbmQyOyovDQoNCiAgIH0="}},"time_used":77,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":77,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13492.2c77730d1125a4985bdc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.666Z","timestamp":1785124876666,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13492.2c77730d1125a4985bdc.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-576\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 42a51eebd239e15c84595de9675d10ca\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1398,"size_decoded":1347,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1398), with no line terminators","md5":"88088354fa104e0cdaa0351d0833f141","sha1":"674bbd4045db55c1c49a9f3af542cd275937376a","sha256":"c42ecd718858fd3cceedecc55ab1cf73c0ccdb74827944445c7c052992794a35","sha512":"4053448b9df28fb4c2a0b6b1789292a442298ab528e1048e9bb0152879454c993e76ea915c66ca4b0cbfcd35b123a8733dfc67fd7b9ee87d99ddc0bcfb60a2a6","ssdeep":"","tlshash":"8d217d9afbd91169a713f1355100bfc9ed5a7f60c7532395f6caf210c0caae85c75888","first_seen":"2026-04-09T17:47:32.54555Z","last_seen":"2026-07-27T06:14:34.170634Z","times_seen":548,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYldRMjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1fMS1iV1EyOiMwMDAwfS5jb250YWluZXItekxWbTZCNHR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLV8wLWJXUTIpO2JvcmRlci1yYWRpdXM6NHB4O2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6OHB4fS5jb250ZW50LXpMVm02QjR0e3BhZGRpbmc6NHB4IDhweH0uYXJyb3dIb2xkZXItekxWbTZCNHR7cG9zaXRpb246YWJzb2x1dGV9LmFycm93SG9sZGVyLXpMVm02QjR0OmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1fMC1iV1EyKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjB9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlciwuYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0OmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZDtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtib3JkZXItcmlnaHQ6NnB4IHNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNnB4fS5hcnJvd0hvbGRlci0tYmVsb3ctekxWbTZCNHQ6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDo0cHg7Ym90dG9tOjEwMCV9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlcntib3JkZXItdG9wLXdpZHRoOjRweDt0b3A6MTAwJX0uYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0OmFmdGVyLC5hcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0OmFmdGVye2JvcmRlci1ib3R0b206NnB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzEtYldRMik7Ym9yZGVyLXRvcDo2cHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1fMS1iV1EyKTttYXJnaW4tdG9wOi02cHg7dG9wOjUwJX0uYXJyb3dIb2xkZXItLWJlZm9yZS16TFZtNkI0dDphZnRlcntib3JkZXItcmlnaHQtd2lkdGg6NHB4O3JpZ2h0OjEwMCV9LmFycm93SG9sZGVyLS1hZnRlci16TFZtNkI0dDphZnRlcntib3JkZXItbGVmdC13aWR0aDo0cHg7bGVmdDoxMDAlfS5hcnJvd0hvbGRlci0tYWJvdmUtZml4LXpMVm02QjR0e2JvdHRvbTowfS5hcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQ6ZGlyKHJ0bCl7bGVmdDowfS5hcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeC16TFZtNkI0dHtyaWdodDowfS5sYWJlbC16TFZtNkI0dHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bzttYXJnaW4taW5saW5lLWVuZDoyNHB4fS5jbG9zZUJ1dHRvbi16TFZtNkI0dHtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.954Z","timestamp":1785124876954,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3873\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5104edc503746bbea8848ab504b8e90d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":14451,"size_decoded":5256,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3064)","md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-27T06:24:31.753031Z","times_seen":41,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTIyMjddLHs3MzQ5MDModCxlLG8pe28uZChlLHtsZWZ0Q29sdW1uQXJlYUxlZnRSaWdodDooKT0+YyxyaWdodENvbHVtbkFyZWFMZWZ0UmlnaHQ6KCk9PnAscm93VG9wQm90dG9tOigpPT5hLHN1bW1hcnlBcmVhMkNvbHVtbnNMZWZ0UmlnaHQ6KCk9Pm0sdG90YWxBcmVhTGVmdFJpZ2h0OigpPT5kLHZvbHVtZUZvb3RwcmludENvb3JkaW5hdGVTcGFjZTooKT0+Zn0pO3ZhciBpLHI9byg3MzY1MzEpLG49bygxOTg5MDEpLGw9bygxNzQzNDIpO2Z1bmN0aW9uIGEodCxlLG8scixuKXtjb25zdCBsPU1hdGgucm91bmQodC5wcmljZVRvQ29vcmRpbmF0ZShyK28sZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLGE9TWF0aC5yb3VuZCh0LnByaWNlVG9Db29yZGluYXRlKHIsZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9TWF0aC5tYXgoaS5MZXZlbHNTcGFjaW5nLE1hdGguZmxvb3IoaS5MZXZlbHNTcGFjaW5nKm4udmVydGljYWxQaXhlbFJhdGlvKSk7cmV0dXJue3RvcDpNYXRoLm1pbihsLGEpLGJvdHRvbTpNYXRoLm1heChsLGEpLXN9fWZ1bmN0aW9uIHModCxlLG8scil7Y29uc3Qgbj1NYXRoLnJvdW5kKHQucHJpY2VUb0Nvb3JkaW5hdGUobyxlKSpyLnZlcnRpY2FsUGl4ZWxSYXRpbyk7cmV0dXJue3RvcDpuLU1hdGgubWF4KGkuTGV2ZWxzU3BhY2luZyxNYXRoLmZsb29yKGkuTGV2ZWxzU3BhY2luZypyLnZlcnRpY2FsUGl4ZWxSYXRpbykpLGJvdHRvbTpufX1mdW5jdGlvbiB1KHQsZSl7Y29uc3Qgbz10LnJpZ2h0LXQubGVmdDtyZXR1cm57Y2VudGVyOk1hdGgucm91bmQodC5jZW50ZXIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksY29sdW1uV2lkdGg6TWF0aC5yb3VuZChvKmkuQ29sdW1uU3BhY2UqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksb2Zmc2V0Ok1hdGgucm91bmQobyppLkNhbmRsZVNwYWNlKi41KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pfX1mdW5jdGlvbiBjKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0O3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBwKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBkKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aSsyKm8uY29sdW1uV2lkdGh9fWZ1bmN0aW9uIG0odCxlKXtjb25zdCBvPXUodCxlKTtyZXR1cm57bGVmdDpvLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0LHJpZ2h0Om8uY2VudGVyK28ub2Zmc2V0KzErby5jb2x1bW5XaWR0aH19IWZ1bmN0aW9uKHQpe3RbdC5Db2x1bW5TcGFjZT0uMzVdPSJDb2x1bW5TcGFjZSIsdFt0LkNhbmRsZVNwYWNlPS4yXT0iQ2FuZGxlU3BhY2UiLHRbdC5TdW1tYXJ5T2Zmc2V0PTVdPSJTdW1tYXJ5T2Zmc2V0Iix0W3QuTGV2ZWxzU3BhY2luZz0xXT0iTGV2ZWxzU3BhY2luZyIsdFt0LkltYmFsYW5jZUxldmVsT2Zmc2V0PTFdPSJJbWJhbGFuY2VMZXZlbE9mZnNldCIsdFt0LkltYmFsYW5jZUxldmVsV2lkdGg9M109IkltYmFsYW5jZUxldmVsV2lkdGgiLHRbdC5JbWJhbGFuY2VMZXZlbFZpc2liaWxpdHlNaW5CYXJXaWR0aD0xMF09IkltYmFsYW5jZUxldmVsVmlzaWJpbGl0eU1pbkJhcldpZHRoIix0W3QuTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGg9MzMwXT0iTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGgifShpfHwoaT17fSkpO2NvbnN0IGg9KHttaW46dCxtYXg6ZX0sbyk9Pk1hdGgucm91bmQoKGUueC10LngpKm8pO2Z1bmN0aW9uIGYodCl7Y29uc3R7dGltZVNjYWxlOmUscHJpY2VTY2FsZTpvLHZvbHVtZUZvb3RwcmludDpmLHJvd1NpemU6UyxmaXJzdFZhbHVlOmcsYmFyOngscGl4ZWxSYXRpb0luZm86dix2b2x1bWVGb290cHJpbnRUeXBlOmJ9PXQsW3cseV09KDAsbi5taW5NYXgpKFt4WzNdLC4uLigwLG4uY2FsY3VsYXRlTWluTWF4KShmLmxldmVscywodD0+dC5wcmljZSkpXSk7bGV0IFYsSTtzd2l0Y2goYil7Y2FzZSBsLlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbDpjYXNlIGwuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI6Vj1jLEk9cDticmVhaztkZWZhdWx0OlY9ZCxJPWR9Y29uc3QgVD1lLmJhckJvcmRlcnMoZi5pbmRleCksRj1ULnJpZ2h0LVQubGVmdCxDPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09VihULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxNPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09SShULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxfPSgwLHIucG9pbnQpKDUqdi5ob3Jpem9udGFsUGl4ZWxSYXRpbywwKTtyZXR1cm57bGVmdFJvd0FyZWFCb3g6QyxyaWdodFJvd0FyZWFCb3g6TSxwZXJjZW50TGVmdFJvd0FyZWFCb3g6KHQsZSk9Pntjb25zdCBvPUModCkse21pbjppLG1heDpufT1vO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShuLngtaChvLGUpLGkueSksbil9LHBlcmNlbnRSaWdodFJvd0FyZWFCb3g6KHQsZSxvPSExKT0+e2NvbnN0IGk9bz8odD0+e2NvbnN0e21pbjplLG1heDpvfT10O3JldHVybigwLHIuYm94KShlLmFkZChfKSxvKX0pKE0odCkpOk0odCkse21pbjpuLG1heDpsfT1pO3JldHVybigwLHIuYm94KShuLCgwLHIucG9pbnQpKG4ueCtoKGksZSksbC55KSl9LGxldmVsQm94OnQ9Pntjb25zdCBlPVYoVCx2KSxpPUkoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUubGVmdCxuKSwoMCxyLnBvaW50KShpLnJpZ2h0LGwpKX0scHJvZmlsZVRvdGFsTGV2ZWxCb3g6dD0+ewpjb25zdCBlPWMoVCx2KSxpPWQoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUucmlnaHQsbiksKDAsci5wb2ludCkoaS5yaWdodCxsKSl9LHNob3dMZXZlbFRpdGxlczooKT0+Rj49aS5MZXZlbFRpdGxlc1Zpc2liaWxpdHlNaW5CYXJXaWR0aCxzdW1tYXJ5QXJlYTJDb2x1bW5zTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309bShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0sc3VtbWFyeUFyZWExQ29sdW1uTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309ZnVuY3Rpb24odCxlKXtjb25zdCBvPXUodCxlKSxpPTIqby5jb2x1bW5XaWR0aDtyZXR1cm57bGVmdDpvLmNlbnRlci1vLm9mZnNldCxyaWdodDpvLmNlbnRlcitvLm9mZnNldCsxK2l9fShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0saW1iYWxhbmNlQm94Oih0LGUsbj0hMCk9PntpZihGPGkuSW1iYWxhbmNlTGV2ZWxWaXNpYmlsaXR5TWluQmFyV2lkdGgpcmV0dXJuIG51bGw7Y29uc3QgbD0ibGVmdCI9PT1lP1YoVCx2KTpJKFQsdikse3RvcDpzLGJvdHRvbTp1fT1hKG8sZyxTLHQsdiksYz1NYXRoLm1heChpLkltYmFsYW5jZUxldmVsT2Zmc2V0LE1hdGguZmxvb3IoaS5JbWJhbGFuY2VMZXZlbE9mZnNldCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSkscD1NYXRoLnJvdW5kKGkuSW1iYWxhbmNlTGV2ZWxXaWR0aCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSxkPSJsZWZ0Ij09PWUsbT0obj9kOiFkKT9sLmxlZnQtYy1wOmwucmlnaHQrYztyZXR1cm4oMCxyLmJveCkoKDAsci5wb2ludCkobSxzKSwoMCxyLnBvaW50KShtK3AsdSkpfSxjb3JyZWN0SW1iYWxhbmNlQm94OnQ9Pntjb25zdHttaW46ZSxtYXg6b309dDtyZXR1cm4oMCxyLmJveCkoZS5hZGQoXyksby5hZGQoXykpfX19fSw4NDYyOTModCxlLG8pe28ucihlKSxvLmQoZSx7Vm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9PlYsY3JlYXRlVm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9Pkl9KTt2YXIgaT1vKDQzNzc0OSkscj1vKDg3MjM0Myksbj1vKDYwNTI1NyksbD1vKDE5NzI3MiksYT1vKDE1NjgyOSkscz1vKDczNzM3MSksdT1vKDE3NDM0MiksYz1vKDUwNTU2KSxwPW8oOTg0Mzc2KSxkPW8oNDAzODE3KSxtPW8oNzM0OTAzKSxoPW8oNTg4ODcwKSxmPW8oOTA4MjQ2KTtjb25zdCBTPXtwb3NpdGl2ZURlbHRhQ29sb3I6KDAsYy5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlRGVsdGFDb2xvcjooMCxjLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIil9O2NsYXNzIGcgZXh0ZW5kcyBoLlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMH1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGYudm9sdW1lRm9vdHByaW5nU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEodCxlKXtjb25zdCBvPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUoKSxuPXRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKTtpZihudWxsPT09cnx8bnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgbD10aGlzLl9zdHVkeSxhPWwub3BlbkludGVyZXN0U3VwcG9ydGVkKCksYz1sLmV4dGVuZGVkT3BlbkludGVyZXN0U3VwcG9ydGVkKCksaD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLGY9aC50eXBlLnZhbHVlKCksZz1oLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5ibG9ja0luZm8uY2hpbGRzKCkseD1uZXcgcC5Wb2x1bWVGb3JtYXR0ZXIsdj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZm9ybWF0dGVyKCksYj10PT52LmZvcm1hdCh0KSx3PWY9PT11LlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbHx8Zj09PXUuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI7bGV0IHk7aWYodyl7Y29uc3QgZT1pLmJhckJvcmRlcnMoMCksbz1pLmJhckJvcmRlcnMoMSkscj0oMCxtLnJpZ2h0Q29sdW1uQXJlYUxlZnRSaWdodCkoZSx0KSxuPSgwLG0ubGVmdENvbHVtbkFyZWFMZWZ0UmlnaHQpKG8sdCk7eT1NYXRoLnJvdW5kKChuLmxlZnQtci5yaWdodCkvMil9ZWxzZSB5PTA7Y29uc3QgVj1pLmJhclNwYWNpbmcoKSxJPW5ldyBkLkxvZ2ljYWxSYW5nZShlLmxlZnQoKS01LGUucmlnaHQoKSs1KSxUPVtdO2xldCBGO3JldHVybiBvLmZvb3RwcmludHMoKS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57aWYoIUkuY29udGFpbnMoZS5pbmRleCkpcmV0dXJuO2NvbnN0IG89ZS5zdW1tYXJ5LHI9KDAscy5kZWZhdWx0KShlLmxldmVscy5tYXAoKHQ9PnQuc2VsbFZvbHVtZSkpKSxuPSgwLHMuZGVmYXVsdCkoZS5sZXZlbHMubWFwKCh0PT50LmJ1eVZvbHVtZSkpKSxsPW4rcix1PVtdO2lmKGcudm9sdW1lLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnguZm9ybWF0KGwpfSksZy52b2x1bWVQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnZvaWQgMCE9PUY/YigobC1GKS9GKjEwMCk6IuKAlCJ9KSwKZy5idXlWb2x1bWUuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6eC5mb3JtYXQobil9KSxnLmJ1eVZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihuL2wqMTAwKX0pLGcuc2VsbFZvbHVtZS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDp4LmZvcm1hdChyKX0pLGcuc2VsbFZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihyL2wqMTAwKX0pLGcuZGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PW4tcjt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcuZGVsdGFQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0obi1yKS9sKjEwMDt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcubWluRGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYobz91LnB1c2goe3RleHQ6YihvLm1pbkRlbHRhKSxiYWNrZ3JvdW5kQ29sb3I6by5taW5EZWx0YT49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pOnUucHVzaCh7dGV4dDoi4oCUIn0pKSxnLm1heERlbHRhLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmKG8/dS5wdXNoKHt0ZXh0OmIoby5tYXhEZWx0YSksYmFja2dyb3VuZENvbG9yOm8ubWF4RGVsdGE+PTA/Uy5wb3NpdGl2ZURlbHRhQ29sb3I6Uy5uZWdhdGl2ZURlbHRhQ29sb3J9KTp1LnB1c2goe3RleHQ6IuKAlCJ9KSksZy5zZXNzaW9uQ1ZELmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/eC5mb3JtYXQoby5zZXNzaW9uQ1ZEKToi4oCUIn0pLGcucG9jUHJpY2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihlLnBvYyl9KSxnLmhsUmFuZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8uaGlnaExvd1JhbmdlP2Ioby5oaWdoTG93UmFuZ2UpOiLigJQifSksYSl7aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpLm9wZW5JbnRlcmVzdC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDpvPy5vcGVuSW50ZXJlc3RIaWdoP2Ioby5vcGVuSW50ZXJlc3RIaWdoKToi4oCUIn0pfWlmKGMpe2NvbnN0IHQ9aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKCk7dC5vcGVuSW50ZXJlc3RIaWdoLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/Lm9wZW5JbnRlcmVzdEhpZ2g/YihvLm9wZW5JbnRlcmVzdEhpZ2gpOiLigJQifSksdC5vcGVuSW50ZXJlc3RMb3cuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8ub3BlbkludGVyZXN0TG93P2Ioby5vcGVuSW50ZXJlc3RMb3cpOiLigJQifSl9Y29uc3QgcD0oZT0+e2NvbnN0IG89aS5iYXJCb3JkZXJzKGUpO3JldHVybiB3PygwLG0uc3VtbWFyeUFyZWEyQ29sdW1uc0xlZnRSaWdodCkobyx0KTp7bGVmdDpvLmNlbnRlcip0Lmhvcml6b250YWxQaXhlbFJhdGlvLHJpZ2h0OihvLmNlbnRlcitWKSp0Lmhvcml6b250YWxQaXhlbFJhdGlvfX0pKGUuaW5kZXgpO1QucHVzaCh7bGVmdDpwLmxlZnQteSxyaWdodDpwLnJpZ2h0K3kscm93czp1fSksRj1sfSkpfSkpLFR9fXZhciB4PW8oMTM4NjM4KSx2PW8oNzQ1NTY5KSxiPW8oMzA1MTAyKTtjbGFzcyB3IGV4dGVuZHMgdi5TdW1tYXJ5V2lkZ2V0U2lkZUFyZWFWaWV3e19nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpe3JldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZi52b2x1bWVGb290cHJpbmdTdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IHQ9W10sZT0oMCx4LmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCkpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52b2xGb290cHJpbnRTdHlsZS5jaGlsZHMoKS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCk7cmV0dXJuIHQucHVzaCguLi5iLmJhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXMuZmlsdGVyKCh0PT5vLmJsb2NrSW5mby5jaGlsZHMoKVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKHQ9PnQudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSkpLGUub3BlbkludGVyZXN0U3VwcG9ydGVkKCkmJnQucHVzaCguLi5iLm9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8ub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpW3QucHJvcE5hbWVdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkpLm1hcCgodD0+dC50cmFuc2xhdGVkU3RyaW5nLnRyYW5zbGF0ZWRUZXh0KCkpKSksZS5leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpJiZ0LnB1c2goLi4uYi5leHRlbmRlZE9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8uZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKClbdC5wcm9wTmFtZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKSkubWFwKCh0PT50LnRyYW5zbGF0ZWRTdHJpbmcudHJhbnNsYXRlZFRleHQoKSkpKSx0fX12YXIgeT1vKDcyODQzNik7Y2xhc3MgViBleHRlbmRzIGwuU3R1ZHl7Y29uc3RydWN0b3IodCxlLG8saSxyLG4sbD0hMSl7c3VwZXIodCxlLG8saSxyLG4pLHRoaXMuX3Jvd1NpemU9LjEsdGhpcy5fY2hhcnRTdHlsZU1vZGU9bCx0aGlzLl9zdW1tYXJ5UGFuZVZpZXc9bmV3IGcodGhpcyx0KSx0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXc9bmV3IHcodCl9cm93U2l6ZSgpe3JldHVybiB0aGlzLl9yb3dTaXplfW9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpewpjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT10JiYoMCxhLmlzRnV0dXJlcykodC50eXBlKSYmISgwLGEuaGFzQ3J5cHRvVHlwZXNwZWMpKHQudHlwZXNwZWNzKX1leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PXQmJigoMCxhLmlzRnV0dXJlcykodC50eXBlKXx8InN3YXAiPT09dC50eXBlKSYmKDAsYS5oYXNDcnlwdG9UeXBlc3BlYykodC50eXBlc3BlY3MpfXBhbmVWaWV3cyh0KXtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGU/dCE9PXRoaXMuX21vZGVsLm1haW5QYW5lKCk/W3RoaXMuX3N1bW1hcnlQYW5lVmlld106dGhpcy5fcGFuZVZpZXdzOnN1cGVyLnBhbmVWaWV3cyh0KX1jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbnVsbH1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIG51bGx9dXBkYXRlQWxsVmlld3ModCl7c3VwZXIudXBkYXRlQWxsVmlld3ModCksdGhpcy5fc3VtbWFyeVBhbmVWaWV3LnVwZGF0ZSgpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy51cGRhdGUoKX13aWRnZXRTaWRlQXJlYVZpZXdzKHQpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBvPXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYoIW8pcmV0dXJuIG51bGw7Y29uc3QgaT1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGUmJnQ9PT1pP1t0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXddOm51bGx9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl9c3RhdGVDdXN0b21GaWVsZHMoKXtyZXR1cm57cm93U2l6ZTp0aGlzLl9yb3dTaXplfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHModCl7dGhpcy5fcm93U2l6ZT10LnJvd1NpemU/P3RoaXMuX3Jvd1NpemV9X2ZpbGxQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyh0KXtjb25zdCBlPSgwLGwuZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbykoKSxvPXRoaXMuX3Jvd1NpemU7aWYobnVsbD09PW8pcmV0dXJuIGU7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6aSxlbmRUaW1lUG9pbnQ6cn09dCxuPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuYmFycygpLm1pbk1heE9uUmFuZ2UoaSxyLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pO2lmKCFuKXJldHVybiBlO2NvbnN0e21pbjphLG1heDpzfT1uO2xldCB1PU1hdGguZmxvb3IoYS9vKSpvO2lmKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLnNob3dTdW1tYXJ5LnZhbHVlKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxlPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKHUsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl8fDApO3U9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkuY29vcmRpbmF0ZVRvUHJpY2UoZStNYXRoLmZsb29yKC40KnQpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZmlyc3RWYWx1ZSgpfHwwKX1yZXR1cm57Li4uZSxiYXNlVmFsdWVNaW5NYXg6e21pbjp1LG1heDpNYXRoLmNlaWwocy9vKSpvfX19X29uRGF0YVVwZGF0ZWQodCxlLG8saSl7c3VwZXIuX29uRGF0YVVwZGF0ZWQodCxlLG8saSksZT8uaW5kZXhlc19yZXBsYWNlfHwodGhpcy5fcm93U2l6ZT0oZT8uZGF0YSkucm93U2l6ZT8/dGhpcy5fcm93U2l6ZSl9fWFzeW5jIGZ1bmN0aW9uIEkodCl7Y29uc3QgZT1hd2FpdCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6eS5zdHVkeVZvbEZvb3RwcmludElkfSksbz0oMCxpLnByZXBhcmVTdHVkeVByb3BlcnRpZXMpKGUse30sbnVsbCwoMCxuLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnN0dWR5VmVyc2lvbmluZygpLFtdKTtyZXR1cm4oMCxyLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50Iix7c3R1ZHlDb25zdHJ1Y3RvcjpWLGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgVih0LG8sW10sZSxlLCExLCEwKX19LDMwNTEwMih0LGUsbyl7by5kKGUse2Jhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PncsZXh0ZW5kZWRPcGVuSW50ZXJlc3RWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PlYsb3BlbkludGVyZXN0Vm9sdW1lRm9vdHByaW50Um93VGl0bGVzOigpPT55fSk7dmFyIGk9byg3ODMyNTQpLHI9byg1NzA2MDMpO2NvbnN0IG49aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNzI0NjYxKSksbD1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg5MTU2NDUpKSxhPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDU3MzIyNCkpLHM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNTMwOTMxKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg3NDc3NzYpKSxjPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDc5NDM4MCkpLHA9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMTM5ODcwKSksZD1pLnQobnVsbCx7CmNvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMjE5MzA2KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg4MTEwODIpKSxoPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDI0OTQxKSksZj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlLCBhYmJyIGN1bXVsYXRpdmUgZGVsdGEifSxvKDk3MzM5NSkpLFM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSwgYWJiciBQb2ludCBvZiBjb250cm9sIn0sbygzNDc4NDkpKSxnPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUsIGhpZ2gtbG93IHJhbmdlIn0sbyg4MTUyNDApKSx4PWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDY2OTc1MykpLHY9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNjAwNDUzKSksYj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg0NTY1NDIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUiLG4pLHByb3BOYW1lOiJ2b2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUgY2hhbmdlLCAlIixsKSxwcm9wTmFtZToidm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIkJ1eSB2b2x1bWUiLGEpLHByb3BOYW1lOiJidXlWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJCdXkgdm9sdW1lLCAlIixzKSxwcm9wTmFtZToiYnV5Vm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lIix1KSxwcm9wTmFtZToic2VsbFZvbHVtZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lLCAlIixjKSxwcm9wTmFtZToic2VsbFZvbHVtZVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJEZWx0YSIscCkscHJvcE5hbWU6ImRlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiRGVsdGEsICUiLGQpLHByb3BOYW1lOiJkZWx0YVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJNaW4gZGVsdGEiLG0pLHByb3BOYW1lOiJtaW5EZWx0YSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIk1heCBkZWx0YSIsaCkscHJvcE5hbWU6Im1heERlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiU2Vzc2lvbiBDVkQiLGYpLHByb3BOYW1lOiJzZXNzaW9uQ1ZEIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiUE9DIixTKSxwcm9wTmFtZToicG9jUHJpY2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsZykscHJvcE5hbWU6ImhsUmFuZ2UifV0seT1be3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCIseCkscHJvcE5hbWU6Im9wZW5JbnRlcmVzdCJ9XSxWPVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJPcGVuIGludGVyZXN0IGhpZ2giLHYpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RIaWdoIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCBsb3ciLGIpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RMb3cifV19LDczNzM3MSh0LGUsbyl7by5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBpPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvLGk9LTEscj10Lmxlbmd0aDsrK2k8cjspe3ZhciBuPWUodFtpXSk7dm9pZCAwIT09biYmKG89dm9pZCAwPT09bz9uOm8rbil9cmV0dXJuIG99O3ZhciByPW8oMjMyODU0KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9pKHQsci5kZWZhdWx0KTowfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98509.f8d6ac38558196800d81.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.884Z","timestamp":1785124876884,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98509.f8d6ac38558196800d81.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-181\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9e418957c0ca17e6790a0020d668b5c9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":385,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (385), with no line terminators","md5":"4133913207f831470f93a99259fc2199","sha1":"c85ac4b4dbb31362d3a803db2b1855a07a4432fc","sha256":"9a30cb5d3c50528598c10ec6bae54bbf4d41abaf88730d8b4b3bfacde808f6e2","sha512":"de719b99e4d591ec8c62d29bdcc5df5117829386ba6c1f8df9ccabcc679d0c237405c185c4cd9f4a9bce56a877b1bcdbc786c24ee8d22d20384bdf29bb5516ff","ssdeep":"","tlshash":"6ce061a1c294a1ddbb73d3218741f1d47225b5b6a8255e18f6c5319580c6447145843f","first_seen":"2026-06-30T21:57:43.334683Z","last_seen":"2026-07-27T06:24:31.552679Z","times_seen":173,"resource_available":false,"data":"LmJ1dHRvbi1yMHBvUnYwUnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tcjBwb1J2MFI6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4O2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1yMHBvUnYwUjpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1yMHBvUnYwUi5hY3RpdmUtcjBwb1J2MFI6YmVmb3Jle291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.956Z","timestamp":1785124876956,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59649.92df5c6660570716c83b.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-35cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 32349da4003dcad34371e52fda13e43b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13775,"size_decoded":5591,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3062)","md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-27T06:24:31.550369Z","times_seen":40,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk2NDldLHs5Njg2NzEoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0LHMpe2xldCBpPWVbYCR7dH0jJHtzfWBdfHxudWxsO3JldHVybiBudWxsPT09aSYmKGk9ZVt0XXx8bnVsbCksbnVsbD09PWkmJk9iamVjdC5rZXlzKGUpLmZvckVhY2goKHM9PntudWxsPT09aSYmcy5zdGFydHNXaXRoKGAke3R9I2ApJiYoaT1lW3NdfHxudWxsKX0pKSxpfXMuZCh0LHtnZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvOigpPT5pfSl9LDg1OTY0OShlLHQscyl7cy5kKHQse1N0dWR5Q29tcGFyZTooKT0+S30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxsPXMoOTMwMjMxKSxuPXMoOTY4NjcxKSxvPXMoMTUyNzY2KSxhPXMoMTk3MjcyKSx1PXMoOTUyOTAwKSxkPXMoMTI4OTk4KSxjPXMoMzE0OTE0KSxoPXMoNzY4MjkyKSxtPXMoNDA3Nzk5KSx5PXMoMjI2NDc3KSxiPXMoNzE2NzgpLF89cygxMjM2MTcpLHA9cyg4NzM1NzMpO2NvbnN0IFM9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9yY2VfZXhjaGFuZ2VfYXNfdGl0bGUiKTtjbGFzcyB2IGV4dGVuZHMgYi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zdHVkeUNvbXBhcmU9ZSx0aGlzLl9kYXRhPXR9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQscyl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCByPXRoaXMuX3N0dWR5Q29tcGFyZS5wcmljZVNjYWxlKCksbD10aGlzLl9zdHVkeUNvbXBhcmUubGFzdFZhbHVlRGF0YSh0aGlzLl9kYXRhLnBsb3ROYW1lLCExKTtpZihsLm5vRGF0YXx8bnVsbD09PXJ8fHIuaXNFbXB0eSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3N0dWR5Q29tcGFyZS5tb2RlbCgpLG89bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksYT1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1hKXJldHVybjtjb25zdCB1PSgwLHAucmVzZXRUcmFuc3BhcmVuY3kpKGwuY29sb3IpO2lmKGE8PW8ubGFzdEJhcigpKXMuYmFja2dyb3VuZD11LHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExO2Vsc2V7Y29uc3Qgcj1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGwuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zdHVkeUNvbXBhcmUpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPXIscy50ZXh0Q29sb3I9dSxzLmJvcmRlckNvbG9yPXMudGV4dENvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPWwuY29vcmRpbmF0ZTtjb25zdCBkPW4ucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7ZC5zaG93U2VyaWVzTGFzdFZhbHVlLnZhbHVlKCkmJihlLnRleHQ9KDAsXy5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkocixsKSxkLnNlcmllc0xhc3RWYWx1ZU1vZGUudmFsdWUoKSE9PXkuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZS5MYXN0UHJpY2VBbmRQZXJjZW50YWdlVmFsdWU/ZS5zZWNvbmRMaW5lPSIiOmUuc2Vjb25kTGluZT0oMCxfLmdldE9wcG9zaXRlTW9kZVByaWNlVGV4dCkocixsKSxlLnZpc2libGU9ITApLHQudGV4dD0iIixkLnNob3dTeW1ib2xMYWJlbHMudmFsdWUoKSYmKHQudGV4dD10aGlzLl9wYW5lVGV4dCgpLHQudmlzaWJsZT10LnRleHQubGVuZ3RoPjApLGUuc2VsZWN0ZWRNYXJrQ29sb3I9bi5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3N0dWR5Q29tcGFyZSk/dTp2b2lkIDB9X3BhbmVUZXh0KCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpO3JldHVybiBTP2U9KDAsZC5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc3R1ZHlDb21wYXJlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxkLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgZz1zKDE4NTI3MSksQz1zKDUzNjcxMCksST1zKDMwOTgzNyksZj1zKDY3ODI4NSksUD1zKDMxODk3NCksVj1zKDg2MDQ0MiksVD1zKDYwMTg0MSksdz1zKDk0Mzk1KTtjb25zdCB4PVAuQ2hlY2tNb2JpbGUuYW55KCk7Y2xhc3MgTCBleHRlbmRzIEkuU3R1ZHlWYWx1ZXNQcm92aWRlcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZW1wdHlWYWx1ZXNbMF0udGl0bGU9ZS5ndWlQbG90TmFtZSh3LlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCIiKX1nZXRWYWx1ZXMoZSl7cmV0dXJuKDAsVC5pc051bWJlcikoZSl8fCh0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpP2U9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpOihlPXRoaXMuX21vZGVsLmNyb3NzaGFpclNvdXJjZSgpLmFwcGxpZWRJbmRleCgpLCgwLFQuaXNOdW1iZXIpKGUpfHwoZT10aGlzLl9zdHVkeS5kYXRhKCkubGFzdEluZGV4KCkpKSksc3VwZXIuZ2V0VmFsdWVzKGUpfV9oaWRlVmFsdWVzKCl7cmV0dXJuITF9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIHgmJihudWxsPT09dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkucGFuZXx8KDAsVi5pc0xpbmVUb29sTmFtZSkoZi50b29sLnZhbHVlKCkpfHxudWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCkpfX1jbGFzcyBFIGV4dGVuZHMgQy5TdHVkeURhdGFXaW5kb3dWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeUNvbXBhcmU9ZX1faGlkZVZhbHVlcygpe3JldHVybiExfV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgTChlLHQpfX12YXIgTz1zKDk2NjQwNCksUj1zKDk0NzM4Mik7Y2xhc3MgVSBleHRlbmRzIEV7Y29uc3RydWN0b3IoZSx0KXsKc3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc2hvd1Nlcmllc09ITEM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzT0hMQyx0aGlzLl9zaG93U2VyaWVzT0hMQy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLE8uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9zaG93U2VyaWVzT0hMQy52YWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfV91cGRhdGVJbXBsKCl7e2NvbnN0IGU9KDAsUi5nZXREYXRhVmVuZG9yU3RyaW5nKSh0aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpKTt0aGlzLl9hZGRpdGlvbmFsPWU/Zy50KG51bGwsdm9pZCAwLHMoMzY3NTM4KSkrIiAiK2U6bnVsbH1zdXBlci5fdXBkYXRlSW1wbCgpfX12YXIgQT1zKDkzMjY5MyksRj1zKDI1MDMzNCksaz1zKDI3NTg0OSk7Y2xhc3MgRCBleHRlbmRzIGsuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc0FjdHVhbEludGVydmFsKCk/dGhpcy5fc291cmNlLmlzRmFpbGVkKCk/YCR7dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX06ICR7dGhpcy5zb3VyY2VTdGF0dXNUZXh0KCl9YDpgJHt0aGlzLl9zb3VyY2UudGl0bGUody5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx2b2lkIDAsITEsITEpfSAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX19dmFyIE09cygyMDY1NzApLE49cygzMjI1NTQpLEg9cyg3MjM1MjUpO2NvbnN0ICQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfb3ZlcmxheV9jb21wYXJlX2xlZ2VuZF9vcHRpb24iKSxCPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIiksVz0hKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zdHVkeV9jb21wYXJlX2xlZ2VuZF9pdGVtIiksaj0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTt2YXIgRzshZnVuY3Rpb24oZSl7ZS5TbmFwU2hvdFN5bWJvbEluZm9LZXk9Il9fX3NuYXBzaG90In0oR3x8KEc9e30pKTtjbGFzcyBLIGV4dGVuZHMgYS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLGwsbil7c3VwZXIoZSxmdW5jdGlvbihlKXtyZXR1cm4gZS5oYXNDaGlsZCgiY3VycmVuY3lJZCIpfHxlLmFkZENoaWxkKCJjdXJyZW5jeUlkIixuZXcgaC5Qcm9wZXJ0eShudWxsKSksZS5oYXNDaGlsZCgidW5pdElkIil8fGUuYWRkQ2hpbGQoInVuaXRJZCIsbmV3IGguUHJvcGVydHkobnVsbCkpLGUuYWRkRXhjbHVkZWRLZXkoImN1cnJlbmN5SWQiLDEpLGUuYWRkRXhjbHVkZWRLZXkoInVuaXRJZCIsMSksZX0odCkscyxpLGwsbiksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2suc3Vic2NyaWJlKG51bGwsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Vbml0Q2hhbmdlZCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKTtjb25zdCBvPSgpPT50aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsbyksdGhpcy5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxvKSxvKCksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxNLnN5bWJvbFBhcmFtcykodGhpcyl9Y29tcGFyZVN5bWJvbFBhcmFtcyhlKXtyZXR1cm4oMCxNLmNvbXBhcmVTeW1ib2xQYXJhbXMpKHRoaXMsZSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKX1hc3luYyBzZXRTeW1ib2xQYXJhbXMoZSl7dGhpcy5fc2V0U3ltYm9sQ3VycmVuY3lVbml0SW50ZXJuYWwoZSl9c3ltYm9sKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKX1zeW1ib2xPckFsaWFzKCl7cmV0dXJuIHRoaXMuc3ltYm9sKCl9CnN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbH1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLnN5bWJvbENoYW5nZWQoKX1zZXRTeW1ib2woZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSl9c3ltYm9sSW5mbygpe2lmKCF0aGlzLl9yZXNvbHZlZFN5bWJvbHMpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2lmKCFlKXJldHVybiBudWxsO2xldCB0O3JldHVybiB0PXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT90aGlzLl9yZXNvbHZlZFN5bWJvbHMuX19fc25hcHNob3R8fG51bGw6dGhpcy5fcmVzb2x2ZWRTeW1ib2xzW3RoaXMuX2dldFN5bWJvbEZvclJlc29sdmUoZSldfHxudWxsLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmbnVsbD09PXQmJih0PSgwLG4uZ2V0T2Jzb2xldGVJZGVhU3ltYm9sSW5mbykodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLGUsdGhpcy5jdXJyZW5jeSgpKSxudWxsIT09dCYmKHRoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdD10KSksdH1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5yZWFkb25seSgpfWFsaWFzU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxNLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLE4uc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfWN1cnJlbmN5KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmN1cnJlbmN5SWQudmFsdWUoKXx8bnVsbH1zZXRDdXJyZW5jeShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7Y3VycmVuY3k6ZX0pfXVuaXQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCl8fG51bGx9c2V0VW5pdChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7dW5pdDplfSl9c2V0TWV0cmljKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHttZXRyaWM6ZX0pfXN0eWxlKCl7cmV0dXJuIDJ9c2V0U3R5bGUoZSl7fWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbMV0/P251bGx9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxkLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlSW5QYXJ0cyhlLHQscyxpLHIpe2NvbnN0IGw9dGhpcy5fdGl0bGVJblBhcnRzKGUsdCxzLGkscik7cmV0dXJuW1tsWzBdLC4uLmxbMV0/P1tdXS5qb2luKCIsICIpXX10YWdzKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO3JldHVybiBlP1tlXTpbXX1zdGF0dXNWaWV3KCl7cmV0dXJuIFc/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9Z3VpUGxvdE5hbWUoZSx0KXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpfWNhbk92ZXJyaWRlTWluVGljaygpe3JldHVybiEwfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITF9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IEwodGhpcyx0aGlzLm1vZGVsKCkpfXN0YXR1c1Byb3ZpZGVyKGUpe3JldHVybiBuZXcgRCh0aGlzKX1tZWFzdXJlVW5pdElkKCl7cmV0dXJuKDAsZC5tZWFzdXJlVW5pdElkKSh0aGlzLnN5bWJvbEluZm8oKSl9Z2V0U3ltYm9sU3RyaW5nKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT10aGlzLl9nZXRTeW1ib2xGb3JBcGkodGhpcy5zeW1ib2woKSkpLCgwLG0uZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fZ2V0U3ltYm9sT2JqZWN0KGUpKX1fZ2V0U3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9X2NyZWF0ZVByaWNlQXhpc1ZpZXcoZSl7cmV0dXJuIG5ldyB2KHRoaXMse3Bsb3ROYW1lOiJjb21wYXJlIn0pfV9jcmVhdGVWaWV3cygpe3RoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBVKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9kYXRhV2luZG93Vmlld3x8KHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBFKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgQS5TdHVkeVN0YXR1c1ZpZXcodGhpcykpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9vblVuaXRDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxvLmN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLAp0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X2dldFN5bWJvbE9iamVjdChlKXtjb25zdCB0PXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscz10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXMmJih0WyJjdXJyZW5jeS1pZCJdPXMpO2NvbnN0IGk9dGhpcy51bml0KCk7cmV0dXJuIHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09aSYmKHRbInVuaXQtaWQiXT1pKSx0fV9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlPXQsc3VwZXIuX29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApfV9vblN5bWJvbEVycm9yKCl7c3VwZXIuX29uU3ltYm9sRXJyb3IoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9vblN5bWJvbFJlc29sdmVkKGUsdCxzKXtzdXBlci5fb25TeW1ib2xSZXNvbHZlZChlLHQscyksdGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKTtjb25zdCBpPXQ9PT10aGlzLnN5bWJvbCgpPygwLGMuZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbykocyx0aGlzLnN5bWJvbCgpKTpudWxsLHI9KDAsZC5zeW1ib2xDdXJyZW5jeSkocyksbD0oMCxkLnN5bWJvbFVuaXQpKHMsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX3NldFN5bWJvbEN1cnJlbmN5VW5pdEludGVybmFsKHtzeW1ib2w6aT8/dm9pZCAwLGN1cnJlbmN5OnIsdW5pdDpsfSxzKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKXtjb25zdCBlPXN1cGVyLl9jcmVhdGVTdHVkeU9uU2VydmVyKCk7cmV0dXJuIHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNJZlBhcmFtc0NoYW5nZWQoKSxlfV90cnlDcmVhdGVGb3JtYXR0ZXIoKXtGLmN1c3RvbUZvcm1hdHRlcnM/LnByaWNlRm9ybWF0dGVyRmFjdG9yeT8uKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSk7cmV0dXJuKDAsZC5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxkLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5zeW1ib2xJbmZvKCksImRlZmF1bHQiKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3QgbD10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG49W2wubGlzdGVkRXhjaGFuZ2UsbC5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW2wudGl0bGUsbl19X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fc2tpcEhpc3RvZ3JhbUJhc2VPbkF1dG9TY2FsZSgpe3JldHVybiEwfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLHUuY29tYmluZSkoKGU9Pntjb25zdCB0PSgwLGQuc3ltYm9sQ3VycmVuY3kpKGUpO251bGwhPT1lJiZudWxsIT09dD90aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKHtvcmlnaW5hbEN1cnJlbmN5OigwLGQuc3ltYm9sT3JpZ2luYWxDdXJyZW5jeSkoZSksY3VycmVudEN1cnJlbmN5OnQsYmFzZUN1cnJlbmN5OigwLGQuc3ltYm9sQmFzZUN1cnJlbmN5KShlKSxpc0N1cnJlbmN5Q29udmVydGlibGU6KDAsZC5zeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlKShlKSxpc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeTooMCxkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KShlKSxjdXJyZW5jeU9yaWdpbk5hbWU6KDAsZC5wcm9TeW1ib2wpKGUsdGhpcy5zeW1ib2woKSl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCkpfV9pbml0VW5pdE1ldGFEYXRhKCl7KDAsdS5jb21iaW5lKSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX21vZGVsLGk9KDAsZC5zeW1ib2xVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO251bGwhPT1lJiZudWxsIT09aSYmbnVsbCE9PXQ/dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHt1bml0T3JpZ2luTmFtZTooMCxkLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKSxjb252ZXJ0aWJsZUdyb3VwczooMCxILnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsZC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxkLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBqPyIiOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKTtjb25zdCB0PSgwLGQuZ2V0U3ltYm9sTGlzdGVkRXhjaGFuZ2UpKGUpO2lmKEImJnZvaWQgMCE9PXQpcmV0dXJuIHQ7aWYoJClzd2l0Y2godGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCkudmFsdWUoKSl7Y2FzZSJkZXNjcmlwdGlvbiI6cmV0dXJuIGUuZGVzY3JpcHRpb24KO2Nhc2UidGlja2VyLWFuZC1kZXNjcmlwdGlvbiI6cmV0dXJuYCR7ZS5uYW1lfSwgJHtlLmRlc2NyaXB0aW9ufWA7Y2FzZSJsb25nLWRlc2NyaXB0aW9uIjpyZXR1cm4gZS5sb25nX2Rlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9ufXJldHVybiBlLm5hbWV9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsZC5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9zZXRTeW1ib2xDdXJyZW5jeVVuaXRJbnRlcm5hbChlLHQpe2NvbnN0e3N5bWJvbDpzLGN1cnJlbmN5OmksdW5pdDpyfT1lLGw9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksbj1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSxvPWwuY3VycmVuY3lJZC52YWx1ZSgpLGE9bC51bml0SWQudmFsdWUoKTtpZih2b2lkIDAhPT1zJiZsLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wuc2V0VmFsdWVTaWxlbnRseShzKSx2b2lkIDAhPT1pJiZsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseShpKSx2b2lkIDAhPT1yJiZsLnVuaXRJZC5zZXRWYWx1ZVNpbGVudGx5KHIpLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbEN1cnJlbmN5KShlKSksbC51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKGUpKX1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSE9PW4mJmwuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC5maXJlQ2hhbmdlZCgpLGwuY3VycmVuY3lJZC52YWx1ZSgpIT09byYmbC5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbC51bml0SWQudmFsdWUoKSE9PWEmJmwudW5pdElkLmZpcmVDaGFuZ2VkKCksdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR9ZSYmKHRoaXMuX21vZGVsLnJlYWxpZ25MaW5lVG9vbHModGhpcyksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz10aGlzLnN5bWJvbFBhcmFtcygpKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.251Z","timestamp":1785124877251,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/48652.9487148ca973a8ce4caa.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-afdb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 171b8a7677f06fb0028548b4af7b21c8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":45019,"size_decoded":15866,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"84e3cbc8f2cc7d16bc14251dee5f916d","sha1":"4515c758e4180ad4b3e4de054f1010b89337c5d3","sha256":"d71c6cd3abef8e38419d743ed4851ee893ff6bc105108ae88885f8524ac780a9","sha512":"166e2773f21cfcd6f793984bb2321a0513fe16cb22296e7f7a0e81915f6b387f2961404e6b1cad8c8fe209c02411ea7a4c468f0c7216b1327f2fa2ccde80acb8","ssdeep":"768:VHqwOWJaoTqN6riNXBxFRJLTiIjsxIU1azbsYttLhqpTLuvD/XV0xwk3LlEYZZBq:5qwOW0MmiMKCkLctYz3LauFKEP9mC7Oj","tlshash":"af13d68035a1b02887e6409ad07e4546f7792bd1b48a5579f0fcc8ce3e5898df136bbe","first_seen":"2026-07-23T14:00:31.480629Z","last_seen":"2026-07-27T06:24:31.75441Z","times_seen":23,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0ODY1Miw2MTEyNl0sezk3Nzc3KHQpe3QuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDIyOTU0MSh0KXt0LmV4cG9ydHM9e2ludGVyc2VjdGlvblpvbmU6ImludGVyc2VjdGlvblpvbmUtRUlWMl9SZDAiLGludGVyc2VjdGlvbkRldGVjdG9yOiJpbnRlcnNlY3Rpb25EZXRlY3Rvci1FSVYyX1JkMCIsbGVmdDoibGVmdC1FSVYyX1JkMCIscmlnaHQ6InJpZ2h0LUVJVjJfUmQwIn19LDQ3OTU1NSh0KXt0LmV4cG9ydHM9e2Fycm93OiJhcnJvdy1tSkFpMVQwaSIsb3Blbjoib3Blbi1tSkFpMVQwaSIsYWN0aXZlOiJhY3RpdmUtbUpBaTFUMGkiLG5vbkFjdGl2ZToibm9uQWN0aXZlLW1KQWkxVDBpIn19LDk0MDAwMyh0KXt0LmV4cG9ydHM9e3BpbGxJY29uOiJwaWxsSWNvbi1qNU5HMFZWVCIsYWN0aXZlOiJhY3RpdmUtajVORzBWVlQiLG5vbkFjdGl2ZToibm9uQWN0aXZlLWo1TkcwVlZUIn19LDk2MTA4Mih0KXt0LmV4cG9ydHM9e2xheW91dDoibGF5b3V0LXBlSlVTUmRaIixzdHJldGNoOiJzdHJldGNoLXBlSlVTUmRaIixzcGFjZToic3BhY2UtcGVKVVNSZFoiLGVuZFRleHRTbG90OiJlbmRUZXh0U2xvdC1wZUpVU1JkWiIsc3RhcnRUZXh0U2xvdDoic3RhcnRUZXh0U2xvdC1wZUpVU1JkWiJ9fSw2MjY2MzEodCl7dC5leHBvcnRzPXt3cmFwOiJ3cmFwLVBvWGFjRHBYIn19LDE2MzU0NSh0KXt0LmV4cG9ydHM9e3JhZGlvQnV0dG9uVmlldzoicmFkaW9CdXR0b25WaWV3LU9MWFpReHViIixjaGVja2VkOiJjaGVja2VkLU9MWFpReHViIixkaXNhYmxlZDoiZGlzYWJsZWQtT0xYWlF4dWIifX0sMzEyNDModCl7dC5leHBvcnRzPXt0cjoidHItSTdiWmhWZnkiLHRkOiJ0ZC1JN2JaaFZmeSIsYWxpZ25MZWZ0OiJhbGlnbkxlZnQtSTdiWmhWZnkiLGFsaWduQ2VudGVyOiJhbGlnbkNlbnRlci1JN2JaaFZmeSIsY29sb3JJblRoZU1vbmV5OiJjb2xvckluVGhlTW9uZXktSTdiWmhWZnkiLGNlbnRlcjoiY2VudGVyLUk3YlpoVmZ5IixzZWxlY3RlZDoic2VsZWN0ZWQtSTdiWmhWZnkiLG5hdmlnYXRlZDoibmF2aWdhdGVkLUk3YlpoVmZ5IixmbGFzaEhpZ2hsaWdodDoiZmxhc2hIaWdobGlnaHQtSTdiWmhWZnkiLCJmbGFzaEhpZ2hsaWdodC1hbmltYXRpb24iOiJmbGFzaEhpZ2hsaWdodC1hbmltYXRpb24tSTdiWmhWZnkifX0sNTAyMTQ0KHQpe3QuZXhwb3J0cz17c2tlbGV0b25Db250YWluZXI6InNrZWxldG9uQ29udGFpbmVyLWlqUmhFd3VZIixvcHRpb25zQ2hhaW46Im9wdGlvbnNDaGFpbi1palJoRXd1WSIsc2tlbGV0b25SZWN0YW5nbGU6InNrZWxldG9uUmVjdGFuZ2xlLWlqUmhFd3VZIixzZXJpZXNHcm91cENlbGw6InNlcmllc0dyb3VwQ2VsbC1palJoRXd1WSJ9fSw1MzI3MjgodCl7dC5leHBvcnRzPXtjZWxsOiJjZWxsLUF0UllySlBuIixzb3J0QWN0aXZlOiJzb3J0QWN0aXZlLUF0UllySlBuIixzb3J0SWNvbjoic29ydEljb24tQXRSWXJKUG4iLHNvcnREZXNjOiJzb3J0RGVzYy1BdFJZckpQbiJ9fSw1NTIxNTModCl7dC5leHBvcnRzPXtmaXJzdFJvd0hlYWQ6ImZpcnN0Um93SGVhZC1sQ2t1U3RUayIsZmlyc3RSb3dUZXh0OiJmaXJzdFJvd1RleHQtbENrdVN0VGsiLHNlY29uZFJvd0hlYWQ6InNlY29uZFJvd0hlYWQtbENrdVN0VGsiLHRoOiJ0aC1sQ2t1U3RUayIsY2VudHJhbDoiY2VudHJhbC1sQ2t1U3RUayIsYWxpZ25MZWZ0OiJhbGlnbkxlZnQtbENrdVN0VGsiLGFsaWduQ2VudGVyOiJhbGlnbkNlbnRlci1sQ2t1U3RUayIsYWxpZ25SaWdodDoiYWxpZ25SaWdodC1sQ2t1U3RUayJ9fSw2MjQ2OTIodCl7dC5leHBvcnRzPXtyb290OiJyb290LVdNTE55NV93In19LDcwMjcxMCh0KXt0LmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLUVmSjlJSFZhIix3cmFwcGVyOiJ3cmFwcGVyLUVmSjlJSFZhIix0YWJsZToidGFibGUtRWZKOUlIVmEiLGZvb3RlckNlbGw6ImZvb3RlckNlbGwtRWZKOUlIVmEifX0sNjI2MDgyKHQpe3QuZXhwb3J0cz17YmxvY2s6ImJsb2NrLXNoS3hzenN4IixlbXB0eVN0YXRlSWNvbjoiZW1wdHlTdGF0ZUljb24tc2hLeHN6c3gifX0sNTI0ODU4KHQpe3QuZXhwb3J0cz17aXRlbToiaXRlbS16Z3RVQkU0VyIsaXRlbUNvbnRlbnQ6Iml0ZW1Db250ZW50LXpndFVCRTRXIixjb3VudGVyOiJjb3VudGVyLXpndFVCRTRXIn19LDg4NjgxMCh0KXt0LmV4cG9ydHM9e3Jvb3Q6InJvb3QteUJLQ2VBTnEiLHNjcm9sbENvbnRhaW5lcjoic2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xIixncm91cDoiZ3JvdXAteUJLQ2VBTnEiLGdyb3VwVGl0bGU6Imdyb3VwVGl0bGUteUJLQ2VBTnEiLGl0ZW1zOiJpdGVtcy15QktDZUFOcSIsaXRlbToiaXRlbS15QktDZUFOcSJ9fSw2MDk4NzYodCl7dC5leHBvcnRzPXtyb290OiJyb290LURyNzM5UnM0IixzY3JvbGxDb250YWluZXI6InNjcm9sbENvbnRhaW5lci1EcjczOVJzNCIsZ3JvdXA6Imdyb3VwLURyNzM5UnM0IixzdWJncm91cDoic3ViZ3JvdXAtRHI3MzlSczQiLGdyb3VwVGl0bGU6Imdyb3VwVGl0bGUtRHI3MzlSczQiLGxlZnRGYWRlOiJsZWZ0RmFkZS1EcjczOVJzNCIscmlnaHRGYWRlOiJyaWdodEZhZGUtRHI3MzlSczQiLG9uZUdyb3VwOiJvbmVHcm91cC1EcjczOVJzNCIsbGVmdEFycm93OiJsZWZ0QXJyb3ctRHI3MzlSczQiLHJpZ2h0QXJyb3c6InJpZ2h0QXJyb3ctRHI3MzlSczQiLGl0ZW1zOiJpdGVtcy1EcjczOVJzNCJ9fSw2MTY2NDModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlVGhlbWU6KCk9Pml9KTt2YXIgcz1yKDEwNjkwMCksbj1yKDIwMDY2Nik7ZnVuY3Rpb24gaSgpe3JldHVybigwLApzLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOm4ud2F0Y2hlZFRoZW1lfSl9fSw1OTA0ODYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7QmFkZ2U6KCk9PmN9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDkxNDQ4NyksaT1yLm4obiksbz1yKDk3Nzc3KSxhPXIubihvKTtmdW5jdGlvbiBsKHtocmVmOnQsb25DbGljazplLHJlZmVyZW5jZTpyLC4uLm59KXtyZXR1cm4gdD9zLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOnQsb25DbGljazplLHRhcmdldDoiX2JsYW5rIixyZWY6ciwuLi5ufSk6ZT9zLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse29uQ2xpY2s6ZSxyZWY6ciwuLi5ufSk6cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnIsLi4ubn0pfWZ1bmN0aW9uIGMoe2NsYXNzTmFtZTp0LHNpemU6ZSxsZWZ0U2xvdDpyLHJpZ2h0U2xvdDpuLGNoaWxkcmVuOm8sLi4uY30pe2NvbnN0IHU9aSgpKHQsYSgpLmJhZGdlLGUmJmEoKVtlXSxvJiZhKCkuaGFzQ2hpbGRyZW4pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQobCx7Y2xhc3NOYW1lOnUsLi4uY30sciYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLnNsb3R9LHIpLG8mJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkuY29udGVudH0sbyksbiYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLnNsb3R9LG4pKX19LDIzNDYzNih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBzO3IuZChlLHtCYWRnZVNpemU6KCk9PnN9KSxmdW5jdGlvbih0KXt0LlhTbWFsbD0ieHNtYWxsIix0LlNtYWxsPSJzbWFsbCIsdC5NZWRpdW09Im1lZGl1bSIsdC5MYXJnZT0ibGFyZ2UiLHQuWExhcmdlPSJ4bGFyZ2UifShzfHwocz17fSkpfSwyODQ1OCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VJbnRlcnNlY3Rpb25PYnNlcnZlcjooKT0+b30pO3ZhciBzPXIoNzc5NDc0KSxuPXIoMTY3NTAyKSxpPXIoNzg3ODk1KTtmdW5jdGlvbiBvKHQsZT17fSxyPVtdKXtjb25zdCBvPSgwLHMudXNlUmVmKShudWxsKSxhPSgwLHMudXNlUmVmKSh0KTthLmN1cnJlbnQ9dDtjb25zdHtyZWY6bD1udWxsLC4uLmN9PWUsdT0oMCxzLnVzZVJlZikoYyk7KDAsbi5kZWZhdWx0KShlLHUuY3VycmVudCl8fCh1LmN1cnJlbnQ9ZSk7Y29uc3QgaD0oMCxpLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGwpLGQ9KDAscy51c2VDYWxsYmFjaykoKHQ9PntoKHQpLG51bGwhPT1vLmN1cnJlbnQmJihvLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT10JiZvLmN1cnJlbnQub2JzZXJ2ZSh0KSl9KSxbaCxvXSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+KG8uY3VycmVudD1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKCh0LGUpPT5hLmN1cnJlbnQodCxlKSksey4uLnUuY3VycmVudCxyb290OnUuY3VycmVudD8ucm9vdD8uY3VycmVudH0pLGguY3VycmVudCYmZChoLmN1cnJlbnQpLCgpPT57by5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2gsdS5jdXJyZW50LC4uLnJdKSxkfX0sMTY0MjQyKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0ludGVyc2VjdGlvblpvbmU6KCk9PmR9KTt2YXIgcyxuPXIoNzc5NDc0KSxpPXIoOTE0NDg3KSxvPXIubihpKSxhPXIoMjg0NTgpLGw9cigyMjk1NDEpLGM9ci5uKGwpOyFmdW5jdGlvbih0KXt0W3QuTGVmdD0tMV09IkxlZnQiLHRbdC5SaWdodD0xXT0iUmlnaHQifShzfHwocz17fSkpO2NvbnN0IHU9MSxoPXtbLTFdOmMoKS5sZWZ0LDE6YygpLnJpZ2h0fTtmdW5jdGlvbiBkKHQpe2NvbnN0e2ludGVyc2VjdGlvbkNiOmUscG9zaXRpb246cixjbGFzc05hbWU6cyxpbnRlcnNlY3Rpb25XaWR0aDppPXUscm9vdDpsLHJvb3RNYXJnaW46ZH09dCxtPSgwLG4udXNlQ2FsbGJhY2spKCh0PT5lKHRbdC5sZW5ndGgtMV0pKSxbXSkscD0oMCxhLnVzZUludGVyc2VjdGlvbk9ic2VydmVyKShtLHtyb290Omwscm9vdE1hcmdpbjpkfSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm8oKShjKCkuaW50ZXJzZWN0aW9uWm9uZSxzKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnAsY2xhc3NOYW1lOm8oKShjKCkuaW50ZXJzZWN0aW9uRGV0ZWN0b3IsaFtyXSksc3R5bGU6e3dpZHRoOml9fSkpfX0sNDkxNjQwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0Fycm93SWNvblBpbGxQYXJ0OigpPT5ofSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigyMTcyNzQpLGE9cig3ODYyNjgpLGw9ci5uKGEpLGM9cig0Nzk1NTUpLHU9ci5uKGMpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLkJsb2NrSWNvbix7Y2xhc3NOYW1lOmkoKSh1KCkuYXJyb3csdC5vcGVuJiZ1KCkub3Blbix0LmFjdGl2ZT91KCkuYWN0aXZlOnUoKS5ub25BY3RpdmUpLGljb246bCgpfSl9fSw2MjY3MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U3ZnSWNvblBpbGxQYXJ0OigpPT5jfSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigyMTcyNzQpLGE9cig5NDAwMDMpLGw9ci5uKGEpO2Z1bmN0aW9uIGModCl7Y29uc3R7aWNvblN2ZzplfT10O3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoby5CbG9ja0ljb24se2NsYXNzTmFtZTppKCkobCgpLnBpbGxJY29uLHQuYWN0aXZlP2woKS5hY3RpdmU6bCgpLm5vbkFjdGl2ZSksaWNvbjplfSl9fSwyMDcyNDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UGlsbExheW91dFVuaXZlcnNhbDooKT0+Y30pO3ZhciBzLG49cig3Nzk0NzQpLGk9cig5MTQ0ODcpLG89ci5uKGkpLGE9cig5NjEwODIpLGw9ci5uKGEpO2Z1bmN0aW9uIGModCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4hISgodC5zcGFjZUJldHdlZW4/PzApJmUpfXJldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkobCgpLmxheW91dCx0LnN0cmV0Y2gmJmwoKS5zdHJldGNoKX0sdC5zdGFydEljb25TbG90JiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCwiICIsdC5zdGFydEljb25TbG90LCIgIiksZShzLlN0YXJ0KSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlCn0pLHQuc3RhcnRUZXh0U2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnN0YXJ0VGV4dFNsb3R9LHQuc3RhcnRUZXh0U2xvdCksZShzLlN0YXJ0TWlkZGxlKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5taWRkbGVJY29uU2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsIiAiLHQubWlkZGxlSWNvblNsb3QsIiAiKSxlKHMuTWlkZGxlRW5kKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5lbmRUZXh0U2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLmVuZFRleHRTbG90fSx0LmVuZFRleHRTbG90KSxlKHMuRW5kKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5lbmRJY29uU2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsIiAiLHQuZW5kSWNvblNsb3QsIiAiKSl9IWZ1bmN0aW9uKHQpe3RbdC5TdGFydD0xXT0iU3RhcnQiLHRbdC5TdGFydE1pZGRsZT0yXT0iU3RhcnRNaWRkbGUiLHRbdC5NaWRkbGVFbmQ9NF09Ik1pZGRsZUVuZCIsdFt0LkVuZD04XT0iRW5kIn0oc3x8KHM9e30pKX0sNTU3NTM0KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1JhZGlvYnV0dG9uUG9wb3Zlckl0ZW06KCk9Pmx9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDk3MjczNCksaT1yKDc5NTk1Niksbz1yKDYyNjYzMSksYT1yLm4obyk7ZnVuY3Rpb24gbCh0KXtjb25zdHtwb3BvdmVySXRlbVJlZjplLHBvcG92ZXJJdGVtQnV0dG9uUmVmOnIscG9wb3Zlckl0ZW1CdXR0b25JZDpvLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnUsY2hlY2tlZDpoLGRpc2FibGVkOmQsb25DbGljazptLGFyaWFDaGVja2VkOnAsdGFiSW5kZXg6ZyxyaWdodFNsb3Q6ZixzaXplOnksZGF0YVFhSWQ6dn09dDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KG4uUG9wb3Zlckl0ZW0se3BvcG92ZXJJdGVtUmVmOmUscG9wb3Zlckl0ZW1CdXR0b25SZWY6cixwb3BvdmVySXRlbUJ1dHRvbklkOm8sYXJpYUNoZWNrZWQ6cCxyb2xlOmwsdGl0bGU6YyxkZXNjcmlwdGlvbjp1LGxlZnRTbG90OnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKS53cmFwfSxzLmNyZWF0ZUVsZW1lbnQoaS5SYWRpb0J1dHRvblZpZXcse2NoZWNrZWQ6aH0pKSxyaWdodFNsb3Q6ZixvbkNsaWNrOm0sdGFiSW5kZXg6ZyxzaXplOnksZGlzYWJsZWQ6ZCxkYXRhUWFJZDp2fSl9fSw3OTU5NTYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UmFkaW9CdXR0b25WaWV3OigpPT5sfSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigxNjM1NDUpLGE9ci5uKG8pO2Z1bmN0aW9uIGwodCl7Y29uc3R7ZGlzYWJsZWQ6ZSxjaGVja2VkOnJ9PXQ7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoYSgpLnJhZGlvQnV0dG9uVmlldyxlJiZhKCkuZGlzYWJsZWQsciYmYSgpLmNoZWNrZWQpfSl9fSw4Mzg5MDIodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7aXNBc2NpaU9ubHk6KCk9Pm4sbWF0Y2hBbGw6KCk9Pm8scmVnZXhwRXNjYXBlOigpPT5pfSk7Y29uc3Qgcz0vXltcdTAwMDAtXHUwMDdmXSokLztmdW5jdGlvbiBuKHQpe3JldHVybiBzLnRlc3QodCl9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5yZXBsYWNlKC9bIS0vWy1eey19P10vZywiXFwkJiIpfWZ1bmN0aW9uIG8odCxlKXtjb25zdCByPVtdO2xldCBzPWUuZXhlYyh0KTtmb3IoO251bGwhPT1zOylyLnB1c2gocykscz1lLmV4ZWModCk7cmV0dXJuIHJ9fSw2MTg4NjQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7QWN0aXZpdHlUcmFja2VyOigpPT5pfSk7Y29uc3Qgcz1bIndoZWVsIiwiY2xpY2siLCJtb3VzZXVwIiwibW91c2Vkb3duIiwibW91c2Vtb3ZlIiwia2V5cHJlc3MiLCJrZXlkb3duIiwia2V5dXAiLCJ0b3VjaGVuZCIsInRvdWNoc3RhcnQiXSxuPVsicmVzaXplIiwiZm9jdXMiLCJibHVyIl07Y2xhc3MgaXtjb25zdHJ1Y3Rvcih0PTFlMyl7dGhpcy5fYWN0aXZpdHlTdGF0ZT17bGFzdEFjdGl2aXR5VGltZTowLHRvdGFsQWN0aXZlVGltZTowfSx0aGlzLl9hbGxFdmVudHNBYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hY3Rpdml0eURlYm91bmNlPXR9c3RhcnRUcmFja2luZygpe3RoaXMuX2FsbEV2ZW50c0Fib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCYmKHRoaXMuX2FsbEV2ZW50c0Fib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyKSx0aGlzLl9yZXNldEFjdGl2aXR5U3RhdGUoKSx0aGlzLl9zdWJzY3JpYmVUb0FsbEV2ZW50cygpfXN0b3BUcmFja2luZygpe3RoaXMuX3Jlc2V0QWN0aXZpdHlTdGF0ZSgpLHRoaXMuX3Vuc3Vic2NyaWJlRnJvbUFsbEV2ZW50cygpfWdldEN1cnJlbnRBY3Rpdml0eVRpbWUoKXtyZXR1cm4gdGhpcy5fYWN0aXZpdHlTdGF0ZS50b3RhbEFjdGl2ZVRpbWV9X2V2ZW50SGFuZGxlcigpe2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5fYWN0aXZpdHlTdGF0ZS5sYXN0QWN0aXZpdHlUaW1lK3RoaXMuX2FjdGl2aXR5RGVib3VuY2U8dCYmKHRoaXMuX2FjdGl2aXR5U3RhdGUubGFzdEFjdGl2aXR5VGltZT10LHRoaXMuX2FjdGl2aXR5U3RhdGUudG90YWxBY3RpdmVUaW1lKz0xKX1fc3Vic2NyaWJlVG9BbGxFdmVudHMoKXtzLmZvckVhY2goKHQ9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsdGhpcy5fZXZlbnRIYW5kbGVyLmJpbmQodGhpcykse3NpZ25hbDp0aGlzLl9hbGxFdmVudHNBYm9ydENvbnRyb2xsZXIuc2lnbmFsLHBhc3NpdmU6ITB9KX0pKSxuLmZvckVhY2goKHQ9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcih0LHRoaXMuX2V2ZW50SGFuZGxlci5iaW5kKHRoaXMpLHtzaWduYWw6dGhpcy5fYWxsRXZlbnRzQWJvcnRDb250cm9sbGVyLnNpZ25hbCxwYXNzaXZlOiEwfSl9KSl9X3Jlc2V0QWN0aXZpdHlTdGF0ZSgpe3RoaXMuX2FjdGl2aXR5U3RhdGUubGFzdEFjdGl2aXR5VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSwKdGhpcy5fYWN0aXZpdHlTdGF0ZS50b3RhbEFjdGl2ZVRpbWU9MH1fdW5zdWJzY3JpYmVGcm9tQWxsRXZlbnRzKCl7dGhpcy5fYWxsRXZlbnRzQWJvcnRDb250cm9sbGVyLmFib3J0KCl9fX0sNjMyMDYwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1NjYW5uZXJVdGlsczooKT0+c30pO2NsYXNzIHN7c3RhdGljIG1hcFNjYW5uZXJTeW1ib2wodCxlKXtjb25zdCByPXtuYW1lOmUuc307Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspclt0W3NdXT1lLmZbc107cmV0dXJuIHJ9c3RhdGljIGlzT3B0aW9uVHlwZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJlsiY2FsbCIsInB1dCJdLmluY2x1ZGVzKHQpfXN0YXRpYyBpc0V4cGlyYXRpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0fXN0YXRpYyBpc1Jvb3QodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fXN0YXRpYyBpc1N0cmlrZSh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9c3RhdGljIHBhcnNlTnVtYmVyKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90Om51bGx9c3RhdGljIHBhcnNlU3RyaW5nKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90Om51bGx9c3RhdGljIHBhcnNlVHlwZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dDoidW5kZWZpbmVkIn1zdGF0aWMgcGFyc2VFeHBpcmF0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90Om51bGx9fX0sMzE1MzIwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse3VzZUtleWJvYXJkTmF2aWdhdGlvbjooKT0+YX0pO3ZhciBzPXIoOTY5MTY4KSxuPXIoMjM1NzI0KSxpPXIoNzc5NDc0KTtjb25zdCBvPXs0MDo0MCwzNzozOSwzOTozNywzODozOCwzNTozNSwzNjozNiwzNDozNCwzMzozM307ZnVuY3Rpb24gYSh0LGUscixhLGMsdSl7Y29uc3RbaCxkXT0oMCxpLnVzZVN0YXRlKSgoKCk9PmwoZSxyLGMpKSksW20scF09ZnVuY3Rpb24odCxlKXtjb25zdFtyLHNdPSgwLGkudXNlU3RhdGUpKCExKSxuPSgwLGkudXNlUmVmKShlKTtyZXR1cm4gbi5jdXJyZW50PWUsKDAsaS51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9dC5jdXJyZW50O2lmKGUpcmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHIpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsaSksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGkpfTtmdW5jdGlvbiByKHQpe3QudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQudGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJihzKCEwKSxuLmN1cnJlbnQoKSl9ZnVuY3Rpb24gaSgpe3MoITEpfX0pLFt0XSksW3Isc119KHQsKCgpPT5oJiZhKGgpKSk7KDAsaS51c2VFZmZlY3QpKCgoKT0+e2QobChlLHIsYykpfSksW2UsY10pO2NvbnN0IGc9KDAsaS51c2VNZW1vKSgoKCk9Pntjb25zdCB0PXt9LGU9W107Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kyspe2NvbnN0IHM9clt0XSxuPXJbdC0xXT8uZ3JvdXBJZD8/cy5ncm91cElkLGk9clt0KzFdPy5ncm91cElkPz9zLmdyb3VwSWQ7aWYoZS5wdXNoKHtyb3c6W3MuZ3JvdXBJZF0scHJldkdyb3VwOm4sbmV4dEdyb3VwOml9KSwhdT8uW3MuZ3JvdXBJZF0pZm9yKGNvbnN0IHQgb2Ygcy5yb3dzKSh0LmNhbGxJZHx8dC5wdXRJZCkmJigiY2FsbHMiPT09YyYmdC5jYWxsSWQ/ZS5wdXNoKHtyb3c6W3QuY2FsbElkXSxwcmV2R3JvdXA6bixuZXh0R3JvdXA6aX0pOiJwdXRzIj09PWMmJnQucHV0SWQ/ZS5wdXNoKHtyb3c6W3QucHV0SWRdLHByZXZHcm91cDpuLG5leHRHcm91cDppfSk6Y3x8ZS5wdXNoKHtyb3c6W3QuY2FsbElkLHQucHV0SWRdLmZpbHRlcihCb29sZWFuKSxwcmV2R3JvdXA6bixuZXh0R3JvdXA6aX0pKX1mb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylmb3IobGV0IG49MDtuPGVbc10ucm93Lmxlbmd0aDtuKyspdFtlW3NdLnJvd1tuXV09ezQwOmVbcysxXT8ucm93W25dPz9lW3MrMV0/LnJvd1swXT8/ZVtzXS5yb3dbbl0sMzc6ZVtzXS5yb3dbbi0xXT8/ZVtzXS5yb3dbbl0sMzk6ZVtzXS5yb3dbbisxXT8/ZVtzXS5yb3dbbl0sMzg6ZVtzLTFdPy5yb3dbbl0/P2Vbcy0xXT8ucm93WzBdPz9lW3NdLnJvd1tuXSwzNTpyW3IubGVuZ3RoLTFdLmdyb3VwSWQsMzY6clswXS5ncm91cElkLDM0OmVbc10ubmV4dEdyb3VwLDMzOmVbc10ucHJldkdyb3VwfTtyZXR1cm4gdH0pLFtyLHUsY10pO3JldHVybntoYW5kbGVUYWJsZUtleURvd246KDAsaS51c2VDYWxsYmFjaykoKGU9PntpZihlLmRlZmF1bHRQcmV2ZW50ZWR8fCFofHwhdC5jdXJyZW50KXJldHVybjtjb25zdCByPWdbaF07aWYoIXIpcmV0dXJuO2NvbnN0IGk9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTtzd2l0Y2goaSl7Y2FzZSA0MDpjYXNlIDM3OmNhc2UgMzk6Y2FzZSAzODpjYXNlIDM1OmNhc2UgMzY6Y2FzZSAzNDpjYXNlIDMzOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1yWygwLHMuaXNSdGwpKCk/b1tpXTppXTtkKHQpLGEodCkscCghMCk7YnJlYWt9Y2FzZSAzMjpjYXNlIDEzOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcj10LmN1cnJlbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtY2VsbC1pZD0iJHtofSJdYCk7ciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZyLmNsaWNrKCk7YnJlYWt9fX0pLFtoLGcsYSx0LHBdKSxuYXZpZ2F0ZWRJZDptP2g6bnVsbCx0YWJsZVRhYkluZGV4OjB9fWZ1bmN0aW9uIGwodCxlLHIpe2lmKHQpcmV0dXJuIHQ7Zm9yKGNvbnN0IHQgb2YgZSlmb3IoY29uc3QgZSBvZiB0LnJvd3Mpe2lmKCJwdXRzIiE9PXImJmUuY2FsbElkKXJldHVybiBlLmNhbGxJZDtpZigiY2FsbHMiIT09ciYmZS5wdXRJZClyZXR1cm4gZS5wdXRJZH1yZXR1cm4gbnVsbH19LDQ4ODc4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtPcHRpb25zQ2hhaW5PcHRpb25Sb3c6KCk9Pmx9KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDc3OTQ3NCksbz1yKDcwNjA1MCksYT1yKDMxMjQzKTtjb25zdCBsPWkubWVtbygoZnVuY3Rpb24odCl7CmNvbnN0e2NhbGxDb2xvcjplLGNhbGxOYXZpZ2F0ZWQ6cixjYWxsU2VsZWN0ZWQ6cyxjb2xzRGF0YTpsLHB1dENvbG9yOnUscHV0TmF2aWdhdGVkOmgscHV0U2VsZWN0ZWQ6ZCxyb3dEYXRhOm0sZmxhc2hIaWdobGlnaHQ6cCxvbkNlbGxDbGljazpnfT10LHtzaWRlQ29sczpmLGNlbnRyYWxDb2xzOnksc2lkZUNvbHNEYXRhOnYsY2VudHJhbENvbHNEYXRhOmIsc2hvd09ubHk6X309bCxDPSgwLGkudXNlUmVmKShudWxsKSxFPXQ9PntDLmN1cnJlbnQmJihDLmN1cnJlbnQuZGF0YXNldC5ob3ZlclBhcnQ9dC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuY2VsbFBhcnQpfSxTPXQ9PntDLmN1cnJlbnQmJmRlbGV0ZSBDLmN1cnJlbnQuZGF0YXNldC5ob3ZlclBhcnR9O3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInRyIix7cmVmOkMsY2xhc3NOYW1lOm4oKShhLnRyLHtbYS5mbGFzaEhpZ2hsaWdodF06cH0pLCJkYXRhLXN0cmlrZSI6bS5zdHJpa2V9LCgwLG8ucmVuZGVyU2hvd09ubHkpKF8se2NlbnRyYWw6KCk9PnkubWFwKCh0PT5jKHtrZXk6dCxhbGlnbjooMCxvLmdldENvbHVtbkRhdGFBbGlnbikoYlt0XS5hbGlnbiwiY2VudHJhbCIsXyksY2hpbGRyZW46bS5jZW50cmFsW3RdLGNvbG9yOiJjZW50ZXIiLGN1c3RvbUNvbnRlbnRSZW5kZXI6Ylt0XS5jdXN0b21Db250ZW50UmVuZGVyLHBhcnQ6ImNlbnRyYWwiLHJvd0lkOm0uc3RyaWtlLnRvU3RyaW5nKCl9KSkpLGNhbGxzOigpPT5mLm1hcCgodD0+Yyh7a2V5OnQsYWxpZ246KDAsby5nZXRDb2x1bW5EYXRhQWxpZ24pKHZbdF0uYWxpZ24sImNhbGwiLF8pLGNlbGxJZDptLmNhbGxJZCxjaGlsZHJlbjptLmNhbGxbdF0sY29sb3I6ZT8/bS5jYWxsUGFydENvbG9yLGN1c3RvbUNvbnRlbnRSZW5kZXI6dlt0XS5jdXN0b21Db250ZW50UmVuZGVyLG5hdmlnYXRlZDpyLG9uQ2xpY2s6Zyxvbk1vdXNlRW50ZXI6RSxvbk1vdXNlTGVhdmU6UyxwYXJ0OiJjYWxsIixyb3dJZDptLnN0cmlrZS50b1N0cmluZygpLHNlbGVjdGVkOnN9KSkpLHB1dHM6KCk9PmYubWFwKCh0PT5jKHtrZXk6dCxhbGlnbjooMCxvLmdldENvbHVtbkRhdGFBbGlnbikodlt0XS5hbGlnbiwicHV0IixfKSxjZWxsSWQ6bS5wdXRJZCxjaGlsZHJlbjptLnB1dFt0XSxjb2xvcjp1Pz9tLnB1dFBhcnRDb2xvcixjdXN0b21Db250ZW50UmVuZGVyOnZbdF0uY3VzdG9tQ29udGVudFJlbmRlcixuYXZpZ2F0ZWQ6aCxvbkNsaWNrOmcsb25Nb3VzZUVudGVyOkUsb25Nb3VzZUxlYXZlOlMscGFydDoicHV0Iixyb3dJZDptLnN0cmlrZS50b1N0cmluZygpLHNlbGVjdGVkOmR9KSkpfSkpfSkpO2Z1bmN0aW9uIGModCl7Y29uc3R7a2V5OmUsY3VzdG9tQ29udGVudFJlbmRlcjpyLG9uQ2xpY2s6cyxvbk1vdXNlRW50ZXI6byxvbk1vdXNlTGVhdmU6bCwuLi5jfT10LHthbGlnbjp1PSJyaWdodCIsY2VsbElkOmgsY2hpbGRyZW46ZCxjb2xvcjptPSJpbi10aGUtbW9uZXkiLG5hdmlnYXRlZDpwLHBhcnQ6Zyxyb3dJZDpmLHNlbGVjdGVkOnl9PWM7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgidGQiLHtrZXk6ZSwiZGF0YS1jZWxsLWlkIjpoLCJkYXRhLWNlbGwtcGFydCI6ZywiZGF0YS1yb3ctaWQiOmYsImRhdGEtc2VsZWN0ZWQiOnk/InRydWUiOnZvaWQgMCxvbkNsaWNrOnMsb25Nb3VzZUVudGVyOm8sb25Nb3VzZUxlYXZlOmwsY2xhc3NOYW1lOm4oKShhLnRkLHtbYS5hbGlnbkxlZnRdOiJsZWZ0Ij09PXUsW2EuYWxpZ25DZW50ZXJdOiJjZW50ZXIiPT09dSxbYS5zZWxlY3RlZF06eSxbYS5uYXZpZ2F0ZWRdOnAsW2EuY29sb3JJblRoZU1vbmV5XToiaW4tdGhlLW1vbmV5Ij09PW0sW2EuY2VudGVyXToiY2VudGVyIj09PW19KX0scj9yKGMpOmQpfX0sOTMxNzU3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse09wdGlvbnNDaGFpblNrZWxldG9uOigpPT5kfSk7dmFyIHM9cig2MTYzMTEpLG49cig0MDE4NjIpLGk9cig5MTQ0ODcpLG89ci5uKGkpLGE9cig3Nzk0NzQpLGw9cigxNDkyMDApLGM9cig0ODg3ODIpLHU9cig3MDYwNTApLGg9cig1MDIxNDQpO2Z1bmN0aW9uIGQodCl7Y29uc3R7Y2VudHJhbENvbHNDb3VudDplPTIsc2lkZUNvbHNDb3VudDpyPTEwLGNsYXNzTmFtZTppLHJvd3NDb3VudDpkPTUwfT10LHtjb2xzRGF0YTptLHJvd3NEYXRhOnAsdG90YWxDb2x1bW5zOmd9PSgwLGEudXNlTWVtbykoKCgpPT5mdW5jdGlvbih7Y2VudHJhbENvbHNDb3VudDp0LHNpZGVDb2xzQ291bnQ6ZSxyb3dzQ291bnQ6cn0pe2NvbnN0IHM9e2FsaWduOiJyaWdodCIsdGl0bGU6YS5jcmVhdGVFbGVtZW50KG4uU2tlbGV0b24uUmVjdGFuZ2xlLHtjbGFzc05hbWU6aC5za2VsZXRvblJlY3RhbmdsZX0pLGN1c3RvbUNvbnRlbnRSZW5kZXI6KCk9PmEuY3JlYXRlRWxlbWVudChuLlNrZWxldG9uLlJlY3RhbmdsZSx7Y2xhc3NOYW1lOmguc2tlbGV0b25SZWN0YW5nbGV9KX0saT1bLi4uQXJyYXkodCkua2V5cygpXS5tYXAoU3RyaW5nKSxvPVsuLi5BcnJheShlKS5rZXlzKCldLm1hcChTdHJpbmcpLGw9e2NlbnRyYWxDb2xzOmksY2VudHJhbENvbHNEYXRhOmkucmVkdWNlKCgodCxlKT0+KHsuLi50LFtlXTpzfSkpLHt9KSxzaWRlQ29sczpvLHNpZGVDb2xzRGF0YTpvLnJlZHVjZSgoKHQsZSk9Pih7Li4udCxbZV06c30pKSx7fSl9LGM9Wy4uLkFycmF5KHIpLmtleXMoKV0ubWFwKCh0PT4oe3R5cGU6Im9wdGlvbiIsc3RyaWtlOjAsdW5kZXJseWluZzoiIixjYWxsOnt9LGNhbGxJZDoiY2FsbCIrdCxwdXQ6e30scHV0SWQ6InB1dCIrdCxjZW50cmFsOnt9fSkpKSxkPSgwLHUuZ2V0VG90YWxDb2x1bW5zKShsKTtyZXR1cm57Y29sc0RhdGE6bCxyb3dzRGF0YTpjLHRvdGFsQ29sdW1uczpkfX0oe2NlbnRyYWxDb2xzQ291bnQ6ZSxzaWRlQ29sc0NvdW50OnIscm93c0NvdW50OmR9KSksW2UsZCxyXSksZj0oMCxhLnVzZVJlZikobnVsbCk7cmV0dXJuKDAscy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntmLmN1cnJlbnQmJmYuY3VycmVudC5zY3JvbGxUbygoZi5jdXJyZW50LnNjcm9sbFdpZHRoLWYuY3VycmVudC5jbGllbnRXaWR0aCkvMiwwKX0pLFtdKSxhLmNyZWF0ZUVsZW1lbnQobi5Ta2VsZXRvbix7CmNsYXNzTmFtZTpvKCkoaSxoLnNrZWxldG9uQ29udGFpbmVyKX0sYS5jcmVhdGVFbGVtZW50KGwuT3B0aW9uc0NoYWluLHtjbGFzc05hbWU6aC5vcHRpb25zQ2hhaW4sY29sc0RhdGE6bSxzY3JvbGxDb250YWluZXJSZWY6Zn0sYS5jcmVhdGVFbGVtZW50KCJ0Ym9keSIsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInRyIixudWxsLGEuY3JlYXRlRWxlbWVudCgidGQiLHtjbGFzc05hbWU6aC5zZXJpZXNHcm91cENlbGwsY29sU3BhbjpnfSkpLHAubWFwKCgodCxlKT0+YS5jcmVhdGVFbGVtZW50KGMuT3B0aW9uc0NoYWluT3B0aW9uUm93LHtrZXk6ZSxjb2xzRGF0YTptLHJvd0RhdGE6dH0pKSkpKSl9fSw4MTAwNTkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7T3B0aW9uc0NoYWluU29ydGFibGVDZWxsOigpPT51fSk7dmFyIHM9cigyMTcyNzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cig3Nzk0NzQpLGE9cig1OTk1NDYpLGw9cigzODYyNjEpLGM9cig1MzI3MjgpO2Z1bmN0aW9uIHUodCl7Y29uc3R7Y2hpbGRyZW46ZSxzb3J0QWN0aXZlOnIsc29ydERlc2M6bixvbkNsaWNrOnV9PXQ7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjLmNlbGwse1tjLnNvcnRBY3RpdmVdOnJ9KSxvbkNsaWNrOnV9LG8uY3JlYXRlRWxlbWVudChzLkJsb2NrSWNvbix7Y2xhc3NOYW1lOmkoKShjLnNvcnRJY29uLG4mJmMuc29ydERlc2MpLGljb246cj9hOmx9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Yy50aXRsZX0sZSkpfX0sMTIzNjMxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse09wdGlvbnNDaGFpbldyYXBwZXI6KCk9PmF9KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDc3OTQ3NCksbz1yKDYyNDY5Mik7ZnVuY3Rpb24gYSh0KXtjb25zdHtjaGlsZHJlbjplLGNsYXNzTmFtZTpyfT10O3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuKCkoby5yb290LHIpfSxlKX19LDE0OTIwMCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtPcHRpb25zQ2hhaW46KCk9Pm19KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDE3NzUpLG89cig3Nzk0NzQpLGE9cigxODUyNzEpLGw9cig3MDYwNTApLGM9cig1NTIxNTMpO2NvbnN0IHU9by5tZW1vKChmdW5jdGlvbih0KXtjb25zdHtjb2xzRGF0YTplLGNvbHNXaWR0aHM6cz17fX09dCx7c2lkZUNvbHM6bixjZW50cmFsQ29sczppLHNpZGVDb2xzRGF0YTp1LGNlbnRyYWxDb2xzRGF0YTpkLHNob3dPbmx5Om19PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgidGhlYWQiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0ciIse2NsYXNzTmFtZTpjLmZpcnN0Um93SGVhZH0sKDAsbC5yZW5kZXJTaG93T25seSkobSx7Y2VudHJhbDooKT0+by5jcmVhdGVFbGVtZW50KCJ0aCIse2tleToiY2VudHJhbCIsImRhdGEtY29sdW1uIjoiY2VudHJhbCIsY29sU3BhbjppLmxlbmd0aH0pLGNhbGxzOigpPT5uLmxlbmd0aD4wJiZvLmNyZWF0ZUVsZW1lbnQoInRoIix7a2V5OiJjYWxscyIsImRhdGEtY29sdW1uIjoiY2FsbHMiLGNvbFNwYW46bi5sZW5ndGh9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjLmZpcnN0Um93VGV4dH0sYS50KG51bGwse2NvbnRleHQ6Im9wdGlvbnNfdHlwZSJ9LHIoNzM4NTUpKSkpLHB1dHM6KCk9Pm4ubGVuZ3RoPjAmJm8uY3JlYXRlRWxlbWVudCgidGgiLHtrZXk6InB1dHMiLCJkYXRhLWNvbHVtbiI6InB1dHMiLGNvbFNwYW46bi5sZW5ndGh9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjLmZpcnN0Um93VGV4dH0sYS50KG51bGwse2NvbnRleHQ6Im9wdGlvbnNfdHlwZSJ9LHIoOTE1Nzg3KSkpKX0pKSxvLmNyZWF0ZUVsZW1lbnQoInRyIix7Y2xhc3NOYW1lOmMuc2Vjb25kUm93SGVhZH0sKDAsbC5yZW5kZXJTaG93T25seSkobSx7Y2VudHJhbDooKT0+aS5tYXAoKHQ9Pm8uY3JlYXRlRWxlbWVudChoLHtrZXk6dCx3aWR0aDpzW3RdLGFsaWduOigwLGwuZ2V0Q29sdW1uRGF0YUFsaWduKShkW3RdLmFsaWduLCJjZW50cmFsIixtKSxzb3J0OmRbdF0uc29ydCx0b29sdGlwOmRbdF0udG9vbHRpcCxjZW50cmFsOiEwfSxkW3RdLnRpdGxlKSkpLGNhbGxzOigpPT5uLm1hcCgodD0+by5jcmVhdGVFbGVtZW50KGgse2tleTp0LHdpZHRoOnNbdF0sYWxpZ246KDAsbC5nZXRDb2x1bW5EYXRhQWxpZ24pKHVbdF0uYWxpZ24sImNhbGwiLG0pLHNvcnQ6dVt0XS5zb3J0LHRvb2x0aXA6dVt0XS50b29sdGlwfSx1W3RdLnRpdGxlKSkpLHB1dHM6KCk9Pm4ubWFwKCh0PT5vLmNyZWF0ZUVsZW1lbnQoaCx7a2V5OnQsd2lkdGg6c1t0XSxhbGlnbjooMCxsLmdldENvbHVtbkRhdGFBbGlnbikodVt0XS5hbGlnbiwicHV0IixtKSxzb3J0OnVbdF0uc29ydCx0b29sdGlwOnVbdF0udG9vbHRpcH0sdVt0XS50aXRsZSkpKX0pKSl9KSk7Y29uc3QgaD1vLm1lbW8oKGZ1bmN0aW9uKHQpe2NvbnN0e3dpZHRoOmUsYWxpZ246cixjZW50cmFsOnMsY2hpbGRyZW46aSxzb3J0OmEsdG9vbHRpcDpsfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInRoIix7ImFyaWEtc29ydCI6YSx0aXRsZTpsLGNsYXNzTmFtZTpuKCkoYy50aCx7W2MuY2VudHJhbF06cyxbYy5hbGlnbkxlZnRdOiJsZWZ0Ij09PXIsW2MuYWxpZ25DZW50ZXJdOiJjZW50ZXIiPT09cixbYy5hbGlnblJpZ2h0XToicmlnaHQiPT09ciwiYXBwbHktY29tbW9uLXRvb2x0aXAiOmx9KSxzdHlsZTp7Ii0tY29sdW1uLXdpZHRoIjplfX0saSl9KSk7dmFyIGQ9cig3MDI3MTApO2QudGFibGU7Y29uc3QgbT1vLm1lbW8oKGZ1bmN0aW9uKHQpe2NvbnN0e2NoaWxkcmVuOmUsY2xhc3NOYW1lOnIsY29sc0RhdGE6cyxjb2xzV2lkdGhzOmEsc2Nyb2xsQ29udGFpbmVyUmVmOmMsdGFibGVSZWY6aCx0YWJsZVRhYkluZGV4Om0sb25UYWJsZUtleURvd246cH09dCxnPSgwLGwuZ2V0VG90YWxDb2x1bW5zKShzKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuT3ZlcmxheVNjcm9sbFdyYXBwZXIse2NsYXNzTmFtZTpuKCkocixkLmNvbnRhaW5lciksImRhdGEtcWEtaWQiOiJvcHRpb25zLWNoYWluIixzY3JvbGxDb250YWluZXJSZWY6YywKd3JhcHBlckNsYXNzTmFtZTpkLndyYXBwZXJ9LG8uY3JlYXRlRWxlbWVudCgidGFibGUiLHtjbGFzc05hbWU6ZC50YWJsZSxvbktleURvd246cCxyZWY6aCx0YWJJbmRleDptfSxvLmNyZWF0ZUVsZW1lbnQodSx7Y29sc0RhdGE6cyxjb2xzV2lkdGhzOmF9KSxlLG8uY3JlYXRlRWxlbWVudCgidGZvb3QiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0ciIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoInRkIix7Y29sU3BhbjpnLGNsYXNzTmFtZTpkLmZvb3RlckNlbGx9KSkpKSl9KSl9LDg2NjcxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse3Njcm9sbFRvUm93OigpPT5ufSk7dmFyIHM9cig5NjkxNjgpO2Z1bmN0aW9uIG4odCxlLHI9ImNlbnRlciIpe2lmKCFlKXJldHVybjtjb25zdCBuPWUucXVlcnlTZWxlY3RvcihgdGRbZGF0YS1jZWxsLWlkPSIke3R9Il1gKTtpZighKG4gaW5zdGFuY2VvZiBIVE1MVGFibGVDZWxsRWxlbWVudCkpcmV0dXJuO2NvbnN0IGk9bi5jbG9zZXN0KCJ0ciIpO2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxUYWJsZVJvd0VsZW1lbnQpKXJldHVybjtjb25zdCBvPWUucXVlcnlTZWxlY3RvcigidGhlYWQiKTtpZighKG8gaW5zdGFuY2VvZiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCkpcmV0dXJuO2NvbnN0IGE9aS5vZmZzZXRUb3AtZS5vZmZzZXRIZWlnaHQvMitpLm9mZnNldEhlaWdodC8yLW8ub2Zmc2V0SGVpZ2h0LzI7ImNlbnRlciI9PT1yP2Uuc2Nyb2xsVG8oKCgwLHMuaXNSdGwpKCk/LTE6MSkqKGUuc2Nyb2xsV2lkdGgtZS5jbGllbnRXaWR0aCkvMixhKToibGVmdCI9PT1yJiZlLnNjcm9sbFRvKDAsYSl9fSw3MDYwNTAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Y2hhaW5Gb3JtYXROdW1iZXI6KCk9Pm4sY2hhaW5Gb3JtYXRTcHJlYWQ6KCk9PmksZ2V0Q29sdW1uRGF0YUFsaWduOigpPT5sLGdldFRvdGFsQ29sdW1uczooKT0+YSxyZW5kZXJTaG93T25seTooKT0+b30pO3ZhciBzPXIoMjUyODY2KTtmdW5jdGlvbiBuKHQsZSl7aWYobnVsbD09dClyZXR1cm4gcy5FTVBUWV9WQUxVRTtjb25zdCByPWUuZm9ybWF0KHQpO3JldHVybiAwPT09TnVtYmVyKHIpPyIwIjpyfWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gMD09PXQ/cy5FTVBUWV9WQUxVRTpuKHQsZSl9ZnVuY3Rpb24gbyh0LGUpe2lmKCJjYWxscyI9PT10KXJldHVybltlLmNlbnRyYWwoKSxlLmNhbGxzKCldO2lmKCJwdXRzIj09PXQpcmV0dXJuW2UuY2VudHJhbCgpLGUucHV0cygpXTtjb25zdCByPWUuY2FsbHMoKTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKSYmci5yZXZlcnNlKCksW3IsZS5jZW50cmFsKCksZS5wdXRzKCldfWZ1bmN0aW9uIGEodCl7cmV0dXJuKHQuc2hvd09ubHk/MToyKSp0LnNpZGVDb2xzLmxlbmd0aCt0LmNlbnRyYWxDb2xzLmxlbmd0aH1mdW5jdGlvbiBsKHQsZSxyKXtyZXR1cm4ic2lkZS1zdGFydCI9PT10PyJjYWxsIiE9PWV8fHI/ImxlZnQiOiJyaWdodCI6dH19LDM0OTM0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtFbXB0eVN5bWJvbFF1b3RlczooKT0+dX0pO3ZhciBzPXIoOTE0NDg3KSxuPXIubihzKSxpPXIoMTg1MjcxKSxvPXIoNzc5NDc0KSxhPXIoNzY1OTE0KSxsPXIoNjI2MDgyKTtmdW5jdGlvbiBjKHQpe2NvbnN0e2NsYXNzTmFtZTplLHRpdGxlOnIsdGV4dDpzfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYS5FbXB0eVN0YXRlQmxvY2sse2NsYXNzTmFtZTpuKCkoZSxsLmJsb2NrKSxpY29uQ2xhc3M6bC5lbXB0eVN0YXRlSWNvbix0ZXh0OnMsdGl0bGU6cn0pfWZ1bmN0aW9uIHUodCl7Y29uc3R7Y2xhc3NOYW1lOmV9PXQ7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChjLHtjbGFzc05hbWU6ZSx0ZXh0OmkudChudWxsLHZvaWQgMCxyKDk4NDIzNikpLHRpdGxlOmkudChudWxsLHtjb250ZXh0OiJlbXB0eSBzdGF0ZSB0aXRsZSJ9LHIoOTA0NzA0KSl9KX19LDc2NTU5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1BpY2tlclNrZWxldG9uOigpPT5jfSk7dmFyIHM9cig0MDE4NjIpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cig3Nzk0NzQpLGE9cig4ODY4MTApO2NvbnN0IGw9W3trZXk6MSxpdGVtczpbLi4uQXJyYXkoNikua2V5cygpXX0se2tleToyLGl0ZW1zOlsuLi5BcnJheSg4KS5rZXlzKCldfSx7a2V5OjMsaXRlbXM6Wy4uLkFycmF5KDUpLmtleXMoKV19LHtrZXk6NCxpdGVtczpbLi4uQXJyYXkoNCkua2V5cygpXX0se2tleTo1LGl0ZW1zOlsuLi5BcnJheSgzKS5rZXlzKCldfSx7a2V5OjYsaXRlbXM6Wy4uLkFycmF5KDEpLmtleXMoKV19XTtmdW5jdGlvbiBjKHQpe2NvbnN0e2NsYXNzTmFtZTplfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocy5Ta2VsZXRvbix7Y2xhc3NOYW1lOmkoKShlLGEucm9vdCl9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEuc2Nyb2xsQ29udGFpbmVyfSxsLm1hcCgodD0+by5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YS5ncm91cCxrZXk6dC5rZXl9LG8uY3JlYXRlRWxlbWVudChzLlNrZWxldG9uLlJlY3RhbmdsZSx7Y2xhc3NOYW1lOmEuZ3JvdXBUaXRsZX0pLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEuaXRlbXN9LHQuaXRlbXMubWFwKCh0PT5vLmNyZWF0ZUVsZW1lbnQocy5Ta2VsZXRvbi5SZWN0YW5nbGUse2tleTp0LGNsYXNzTmFtZTphLml0ZW19KSkpKSkpKSkpfX0sMTM2NzUxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1BpY2tlcjooKT0+X30pO3ZhciBzPXIoODU0ODIwKSxuPXIoNjE2MzExKSxpPXIoMjczMzEwKSxvPXIoMTY0MjQyKSxhPXIoOTE0NDg3KSxsPXIubihhKSxjPXIoNzc5NDc0KSx1PXIoMzI5NjY4KSxoPXIoOTY5MTY4KSxkPXIoOTA4MDM0KSxtPXIoMjk1NzQ0KSxwPXIoNzIxOTEwKSxnPXIoMTgyMzA4KSxmPXIoNTI0ODU4KTtmdW5jdGlvbiB5KHQpe2NvbnN0e2Rpc2FibGVkOmUsaXRlbTpyLHNlbGVjdGVkOnMsb25DbGljazpufT10LFtpLG9dPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKTtyZXR1cm4gci5jdXN0b21Db250ZW50P2MuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmYuaXRlbQp9LHIuY3VzdG9tQ29udGVudCk6Yy5jcmVhdGVFbGVtZW50KG0uU3F1YXJlQnV0dG9uLHsiYXJpYS1zZWxlY3RlZCI6cyxjbGFzc05hbWU6bCgpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsZi5pdGVtKSxjb2xvcjpzPyJibGFjayI6ImdyYXkiLGRpc2FibGVkOmUsb25DbGljazpuLHJlZmVyZW5jZTppLHNpemU6InhzbWFsbCIsdGFiSW5kZXg6byx0aXRsZTpyLnRvb2x0aXB9LGMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpmLml0ZW1Db250ZW50fSxyLnRpdGxlLHIuY291bnQmJmMuY3JlYXRlRWxlbWVudChwLkNvdW50ZXIse2NsYXNzTmFtZTpmLmNvdW50ZXIsY29sb3I6cz8ibmV1dHJhbCI6Im5ldXRyYWwtYm9sZCIsY291bnQ6ci5jb3VudCxzaXplOiJ4c21hbGwifSkpKX12YXIgdj1yKDIzNjE0NiksYj1yKDYwOTg3Nik7Y29uc3QgXz0oMCxjLm1lbW8pKChmdW5jdGlvbih0KXtjb25zdHtjbGFzc05hbWU6ZSxncm91cHM6cixtYXhTZWxlY3RlZEl0ZW1zOmE9NSxtb2RlOmg9Im11bHRpLXNlbGVjdCIsb25DaGFuZ2U6bSxvblJlbW92ZTpwLG9uU2VsZWN0OmcsdmFsdWVzOmY9W10sLi4uX309dCxbRSxTXT0oMCxkLnVzZVJvd3NOYXZpZ2F0aW9uKSgpLFtrLHddPSgwLGMudXNlU3RhdGUpKCExKSxbUixJXT0oMCxjLnVzZVN0YXRlKSghMSksVD0oMCxjLnVzZVJlZikoITApO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57VC5jdXJyZW50PSEwfSksW3JdKSwoMCxuLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKEUuY3VycmVudCYmVC5jdXJyZW50JiZmLmxlbmd0aD4wKXtjb25zdCB0PUUuY3VycmVudC5xdWVyeVNlbGVjdG9yKCdbYXJpYS1zZWxlY3RlZD0idHJ1ZSJdJyk7dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoKDAsdS5iZWNvbWVNYWluRWxlbWVudCkodCksRS5jdXJyZW50LnNjcm9sbFRvKHtsZWZ0OnQub2Zmc2V0TGVmdC1FLmN1cnJlbnQuY2xpZW50V2lkdGgvMit0LmNsaWVudFdpZHRoLzJ9KSksVC5jdXJyZW50PSExfX0pLFtFLGZdKSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoZSxiLnJvb3Qse1tiLnJpZ2h0RmFkZV06UixbYi5sZWZ0RmFkZV06a30pLC4uLl99LGMuY3JlYXRlRWxlbWVudChzLkxpZ2h0QnV0dG9uLHtkYXRhUWFJZDoicGlja2VyLWxlZnQiLGNsYXNzTmFtZTpiLmxlZnRBcnJvdyxzaXplOiJ4c21hbGwiLHZhcmlhbnQ6InNlY29uZGFyeSIsc3RhcnRTbG90OmMuY3JlYXRlRWxlbWVudChpLkljb24se2ljb246dn0pLG9uQ2xpY2s6KCk9PkMoInRvLWxlZnQiLEUuY3VycmVudCksdGFiSW5kZXg6az92b2lkIDA6LTF9KSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpiLnNjcm9sbENvbnRhaW5lcixyZWY6RSxvbktleURvd246U30sYy5jcmVhdGVFbGVtZW50KG8uSW50ZXJzZWN0aW9uWm9uZSx7cG9zaXRpb246LTEsaW50ZXJzZWN0aW9uQ2I6ZnVuY3Rpb24odCl7dyghdC5pc0ludGVyc2VjdGluZyl9fSksci5tYXAoKHQ9PmMuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOiJwaWNrZXItZ3JvdXAiLGtleTp0LmlkLGNsYXNzTmFtZTpsKCkoYi5ncm91cCx7W2Iuc3ViZ3JvdXBdOnQuc3ViZ3JvdXAsW2Iub25lR3JvdXBdOjE9PT1yLmxlbmd0aH0pfSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjoicGlja2VyLWdyb3VwLXRpdGxlIixjbGFzc05hbWU6Yi5ncm91cFRpdGxlfSxjLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsdC50aXRsZSkpLGMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmIuaXRlbXN9LHQuaXRlbXMubWFwKCh0PT5jLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OnQudmFsdWUsZGlzYWJsZWQ6Zi5sZW5ndGg+PWEmJiFmLmluY2x1ZGVzKHQudmFsdWUpLGl0ZW06dCxvbkNsaWNrOmU9PigodCxlKT0+e2lmKGYuaW5jbHVkZXMoZSkpe2lmKGYubGVuZ3RoPD0xKXJldHVybjtwPy4oZSksInNpbmdsZS1zZWxlY3QiPT09aD9tPy4oW10pOiJtdWx0aS1zZWxlY3QiPT09aCYmbT8uKGYuZmlsdGVyKCh0PT5lIT09dCkpKX1lbHNlIGc/LihlKSx0LmN1cnJlbnRUYXJnZXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGlubGluZToibmVhcmVzdCIsYmxvY2s6Im5lYXJlc3QifSksInNpbmdsZS1zZWxlY3QiPT09aD9tPy4oW2VdKToibXVsdGktc2VsZWN0Ij09PWgmJm0/LihbLi4uZixlXSl9KShlLHQudmFsdWUpLHNlbGVjdGVkOmYuaW5jbHVkZXModC52YWx1ZSl9KSkpKSkpKSxjLmNyZWF0ZUVsZW1lbnQoby5JbnRlcnNlY3Rpb25ab25lLHtwb3NpdGlvbjoxLGludGVyc2VjdGlvbkNiOmZ1bmN0aW9uKHQpe0koIXQuaXNJbnRlcnNlY3RpbmcpfX0pKSxjLmNyZWF0ZUVsZW1lbnQocy5MaWdodEJ1dHRvbix7ZGF0YVFhSWQ6InBpY2tlci1yaWdodCIsY2xhc3NOYW1lOmIucmlnaHRBcnJvdyxzaXplOiJ4c21hbGwiLHZhcmlhbnQ6InNlY29uZGFyeSIsc3RhcnRTbG90OmMuY3JlYXRlRWxlbWVudChpLkljb24se2ljb246dn0pLG9uQ2xpY2s6KCk9PkMoInRvLXJpZ2h0IixFLmN1cnJlbnQpLHRhYkluZGV4OlI/dm9pZCAwOi0xfSkpfSkpO2Z1bmN0aW9uIEModCxlKXtpZihudWxsPT09ZSlyZXR1cm47Y29uc3Qgcj0uNDUqZS5jbGllbnRXaWR0aDsidG8tbGVmdCI9PT10P2Uuc2Nyb2xsVG8oe2xlZnQ6KDAsaC5pc1J0bCkoKT9lLnNjcm9sbExlZnQrcjplLnNjcm9sbExlZnQtcixiZWhhdmlvcjoic21vb3RoIn0pOiJ0by1yaWdodCI9PT10JiZlLnNjcm9sbFRvKHtsZWZ0OigwLGguaXNSdGwpKCk/ZS5zY3JvbGxMZWZ0LXI6ZS5zY3JvbGxMZWZ0K3IsYmVoYXZpb3I6InNtb290aCJ9KX19LDU0NjU1OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VBY3Rpdml0eVRpbWVUcmFja2luZzooKT0+b30pO3ZhciBzPXIoNzc5NDc0KSxuPXIoNjE4ODY0KSxpPXIoNjA3MzQ1KTtmdW5jdGlvbiBvKHQpe2NvbnN0IGU9KDAsaS51c2VPcHRpb25zRXZlbnRUcmFja2VyKSgpOygwLHMudXNlRWZmZWN0KSgoKCk9Pntjb25zdCByPW5ldyBBYm9ydENvbnRyb2xsZXIscz1uZXcgbi5BY3Rpdml0eVRyYWNrZXI7cy5zdGFydFRyYWNraW5nKCkKO2NvbnN0IGk9KCk9PntlKHQscy5nZXRDdXJyZW50QWN0aXZpdHlUaW1lKCkudG9TdHJpbmcoKSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKCk9PnsiaGlkZGVuIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT8oaSgpLHMuc3RvcFRyYWNraW5nKCkpOnMuc3RhcnRUcmFja2luZygpfSkse3NpZ25hbDpyLnNpZ25hbH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+ci5hYm9ydCgpKSx7c2lnbmFsOnIuc2lnbmFsfSksci5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgoKT0+e2koKSxzLnN0b3BUcmFja2luZygpfSkpLCgpPT57ci5hYm9ydCgpfX0pLFt0LGVdKX19LDM3MDY0Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VPcGVuVHJhY2tpbmc6KCk9Pml9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDYwNzM0NSk7ZnVuY3Rpb24gaSh0KXtjb25zdCBlPSgwLG4udXNlT3B0aW9uc0V2ZW50VHJhY2tlcikoKTsoMCxzLnVzZUVmZmVjdCkoKCgpPT57ZSh0KX0pLFt0LGVdKX19LDYwNzM0NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VPcHRpb25zRXZlbnRUcmFja2VyOigpPT5sfSk7dmFyIHM9cig3Nzk0NzQpLG49cigyMjEwNjEpLGk9cigzNjIyMzkpO2NvbnN0IG89KDAsbi5nZXRMb2dnZXIpKCJPcHRpb25zLlRyYWNrT3B0aW9uc0V2ZW50Iik7dmFyIGE9cig0ODAyODQpO2Z1bmN0aW9uIGwoKXtjb25zdCB0PSgwLGEudXNlT3B0aW9uc1NvdXJjZVRyYWNrRXZlbnQpKCk7cmV0dXJuKDAscy51c2VDYWxsYmFjaykoKChlLHIpPT57IWZ1bmN0aW9uKHQsZSxyKXsoMCxpLmdldFRyYWNrZXIpKCkudGhlbigocz0+e251bGwhPT1zJiZzLnRyYWNrT3B0aW9uc0V2ZW50KHtzb3VyY2U6dCxlbGVtZW50X2lkOmUsZGF0YV9pZDpyPz9udWxsfSl9KSkuY2F0Y2goKCgpPT57by5sb2dFcnJvcigiU25vd3Bsb3cgdHJhY2tlciBsb2FkIGVycm9yIil9KSl9KHQsZSxyKX0pLFt0XSl9fSw3OTExNDAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlVFZTZXR0aW5nczooKT0+aX0pO3ZhciBzPXIoNzc5NDc0KSxuPXIoOTMwNTY2KTtmdW5jdGlvbiBpKHQsZSl7Y29uc3Qgcj0oMCxzLnVzZVJlZikoZSk7ci5jdXJyZW50PWU7Y29uc3QgaT0oMCxzLnVzZUNhbGxiYWNrKSgoKCk9PnIuY3VycmVudChuLmdldEpTT04odCkpKSxbdF0pLFtvLGFdPSgwLHMudXNlU3RhdGUpKGkpOygwLHMudXNlRWZmZWN0KSgoKCk9PntmdW5jdGlvbiB0KCl7YShpKCkpfXJldHVybiB3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5zdWJzY3JpYmUobnVsbCx0KSwoKT0+d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmUobnVsbCx0KX0pLFtpXSk7cmV0dXJuW28sKDAscy51c2VDYWxsYmFjaykoKGU9PnthKChyPT57Y29uc3Qgcz1lIGluc3RhbmNlb2YgRnVuY3Rpb24/ZShyKTplO3JldHVybiBuLnNldEpTT04odCxzKSxzfSkpfSksW3RdKV19aS5ib29sZWFuPWZ1bmN0aW9uKHQsZT0hMSl7cmV0dXJuIGkodCwodD0+ImJvb2xlYW4iPT10eXBlb2YgdD90OmUpKX0saS5udW1iZXI9ZnVuY3Rpb24odCxlPTApe3JldHVybiBpKHQsKHQ9PiJudW1iZXIiPT10eXBlb2YgdD90OmUpKX0saS5zdHJpbmc9ZnVuY3Rpb24odCxlPSIiKXtyZXR1cm4gaSh0LCh0PT4ic3RyaW5nIj09dHlwZW9mIHQ/dDplKSl9fSw3MDEyNTkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Y3JlYXRlU2NhblBhcmFtTWFuYWdlcjooKT0+bn0pO3ZhciBzPXIoMTgwNjY3KTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9bmV3IHMuU2NhblBhcmFtc01hbmFnZXI7cmV0dXJuIGUuc2V0UGFyYW1zKHQpLGV9fSw4ODQ2MzQodCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztyLmQoZSx7RmlsdGVyT3BlcmF0aW9uOigpPT5zfSksZnVuY3Rpb24odCl7dC5MZXNzPSJsZXNzIix0LkdyZWF0ZXI9ImdyZWF0ZXIiLHQuRXF1YWw9ImVxdWFsIix0Lk5vdEVxdWFsPSJuZXF1YWwiLHQuRXF1YWxPckxlc3M9ImVsZXNzIix0LkVxdWFsT3JHcmVhdGVyPSJlZ3JlYXRlciIsdC5JblJhbmdlPSJpbl9yYW5nZSIsdC5Ob3RJblJhbmdlPSJub3RfaW5fcmFuZ2UiLHQuRW1wdHk9ImVtcHR5Iix0Lk5vdEVtcHR5PSJuZW1wdHkiLHQuQ3Jvc3Nlcz0iY3Jvc3NlcyIsdC5Dcm9zc2VzQWJvdmU9ImNyb3NzZXNfYWJvdmUiLHQuQ3Jvc3Nlc0JlbG93PSJjcm9zc2VzX2JlbG93Iix0Lk1hdGNoPSJtYXRjaCIsdC5Ob3RNYXRjaD0ibm1hdGNoIix0LlNpbXBsZU1hdGNoPSJzbWF0Y2giLHQuSGFzPSJoYXMiLHQuSGFzTm9uZU9mPSJoYXNfbm9uZV9vZiIsdC5BYm92ZVBlcmNlbnQ9ImFib3ZlJSIsdC5CZWxvd1BlcmNlbnQ9ImJlbG93JSIsdC5JblJhbmdlUGVyY2VudD0iaW5fcmFuZ2UlIix0LkluRGF5UmFuZ2U9ImluX2RheV9yYW5nZSIsdC5JbldlZWtSYW5nZT0iaW5fd2Vla19yYW5nZSIsdC5Jbk1vbnRoUmFuZ2U9ImluX21vbnRoX3JhbmdlIix0LkluWWVhclJhbmdlPSJpbl95ZWFyX3JhbmdlIn0oc3x8KHM9e30pKX0sODI3MDI5KHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIHMsbixpO3IuZChlLHtFVV9NQVJLRVRTOigpPT5vLEdsb2JhbE1hcmtldDooKT0+aSxOb25TdG9ja01hcmtldDooKT0+bixTdG9ja01hcmtldDooKT0+c30pLGZ1bmN0aW9uKHQpe3QuQW1lcmljYT0iYW1lcmljYSIsdC5BcmdlbnRpbmE9ImFyZ2VudGluYSIsdC5BdXN0cmFsaWE9ImF1c3RyYWxpYSIsdC5BdXN0cmlhPSJhdXN0cmlhIix0LkJhaHJhaW49ImJhaHJhaW4iLHQuQmFuZ2xhZGVzaD0iYmFuZ2xhZGVzaCIsdC5CZWxnaXVtPSJiZWxnaXVtIix0LkJ1bGdhcmlhPSJidWxnYXJpYSIsdC5CcmF6aWw9ImJyYXppbCIsdC5DYW5hZGE9ImNhbmFkYSIsdC5DaGlsZT0iY2hpbGUiLHQuQ2hpbmE9ImNoaW5hIix0LkNvbG9tYmlhPSJjb2xvbWJpYSIsdC5Dcm9hdGlhPSJjcm9hdGlhIix0LkN5cHJ1cz0iY3lwcnVzIix0LkN6ZWNoPSJjemVjaCIsdC5EZW5tYXJrPSJkZW5tYXJrIix0LkVneXB0PSJlZ3lwdCIsdC5Fc3RvbmlhPSJlc3RvbmlhIix0LkZpbmxhbmQ9ImZpbmxhbmQiLHQuRnJhbmNlPSJmcmFuY2UiLAp0Lkdlcm1hbnk9Imdlcm1hbnkiLHQuR3JlZWNlPSJncmVlY2UiLHQuSG9uZ0tvbmc9Imhvbmdrb25nIix0Lkh1bmdhcnk9Imh1bmdhcnkiLHQuSWNlbGFuZD0iaWNlbGFuZCIsdC5JbmRpYT0iaW5kaWEiLHQuSW5kb25lc2lhPSJpbmRvbmVzaWEiLHQuSXJlbGFuZD0iaXJlbGFuZCIsdC5Jc3JhZWw9ImlzcmFlbCIsdC5JdGFseT0iaXRhbHkiLHQuSmFwYW49ImphcGFuIix0LktlbnlhPSJrZW55YSIsdC5LdXdhaXQ9Imt1d2FpdCIsdC5MYXR2aWE9ImxhdHZpYSIsdC5MaXRodWFuaWE9ImxpdGh1YW5pYSIsdC5MdXhlbWJvdXJnPSJsdXhlbWJvdXJnIix0Lk1hbGF5c2lhPSJtYWxheXNpYSIsdC5NZXhpY289Im1leGljbyIsdC5Nb3JvY2NvPSJtb3JvY2NvIix0Lk5ldGhlcmxhbmRzPSJuZXRoZXJsYW5kcyIsdC5OZXdaZWFsYW5kPSJuZXd6ZWFsYW5kIix0Lk5pZ2VyaWE9Im5pZ2VyaWEiLHQuTm9yd2F5PSJub3J3YXkiLHQuUGFraXN0YW49InBha2lzdGFuIix0LlBlcnU9InBlcnUiLHQuUGhpbGlwcGluZXM9InBoaWxpcHBpbmVzIix0LlBvbGFuZD0icG9sYW5kIix0LlBvcnR1Z2FsPSJwb3J0dWdhbCIsdC5RYXRhcj0icWF0YXIiLHQuUm9tYW5pYT0icm9tYW5pYSIsdC5SdXNzaWE9InJ1c3NpYSIsdC5TYXVkaUFyYWJpYT0ia3NhIix0LlNlcmJpYT0ic2VyYmlhIix0LlNpbmdhcG9yZT0ic2luZ2Fwb3JlIix0LlNsb3Zha2lhPSJzbG92YWtpYSIsdC5TbG92ZW5pYT0ic2xvdmVuaWEiLHQuU291dGhBZnJpY2E9InJzYSIsdC5Tb3V0aEtvcmVhPSJrb3JlYSIsdC5TcGFpbj0ic3BhaW4iLHQuU3JpTGFua2E9InNyaWxhbmthIix0LlN3ZWRlbj0ic3dlZGVuIix0LlN3aXR6ZXJsYW5kPSJzd2l0emVybGFuZCIsdC5UYWl3YW49InRhaXdhbiIsdC5UaGFpbGFuZD0idGhhaWxhbmQiLHQuVHVuaXNpYT0idHVuaXNpYSIsdC5UdXJrZXk9InR1cmtleSIsdC5VQUU9InVhZSIsdC5VSz0idWsiLHQuVmVuZXp1ZWxhPSJ2ZW5lenVlbGEiLHQuVmlldG5hbT0idmlldG5hbSJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5Gb3JleD0iZm9yZXgiLHQuQ3J5cHRvPSJjcnlwdG8iLHQuQ29pbj0iY29pbiIsdC5DRkQ9ImNmZCIsdC5Cb25kcz0iYm9uZHMiLHQuQm9uZD0iYm9uZCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0Lk9wdGlvbnM9Im9wdGlvbnMifShufHwobj17fSkpLGZ1bmN0aW9uKHQpe3QuR2xvYmFsPSJnbG9iYWwifShpfHwoaT17fSkpO3MuQmVsZ2l1bSxzLkN5cHJ1cyxzLkRlbm1hcmsscy5Fc3RvbmlhLHMuRmlubGFuZCxzLkZyYW5jZSxzLkdlcm1hbnkscy5HcmVlY2Uscy5IdW5nYXJ5LHMuSWNlbGFuZCxzLkl0YWx5LHMuTGF0dmlhLHMuTGl0aHVhbmlhLHMuTHV4ZW1ib3VyZyxzLk5ldGhlcmxhbmRzLHMuTm9yd2F5LHMuUG9sYW5kLHMuUG9ydHVnYWwscy5Sb21hbmlhLHMuUnVzc2lhLHMuU2VyYmlhLHMuU2xvdmFraWEscy5TcGFpbixzLlN3ZWRlbixzLlN3aXR6ZXJsYW5kLHMuVHVya2V5LHMuVUs7Y29uc3Qgbz1bcy5CZWxnaXVtLHMuQ3lwcnVzLHMuRGVubWFyayxzLkVzdG9uaWEscy5GaW5sYW5kLHMuRnJhbmNlLHMuR2VybWFueSxzLkdyZWVjZSxzLkh1bmdhcnkscy5JdGFseSxzLkxhdHZpYSxzLkxpdGh1YW5pYSxzLkx1eGVtYm91cmcscy5OZXRoZXJsYW5kcyxzLlBvbGFuZCxzLlBvcnR1Z2FsLHMuUm9tYW5pYSxzLlNsb3Zha2lhLHMuU3BhaW4scy5Td2VkZW5dfSw1OTU1MTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Z2V0U2NhbjJEYXRhOigpPT5kLGdldFNjYW5EYXRhOigpPT5ofSk7dmFyIHM9cigzODQwMTcpLG49cigyMTYwNzkpLGk9cigxNTg3NjMpLG89cigzMjYwNDgpLGE9cigxMzM4NzQpO2NvbnN0IGw9InVzZXIgZG9lcyBub3QgaGF2ZSByaWdodHMgdG8gd2F0Y2hsaXN0IjtjbGFzcyBjIGV4dGVuZHMgYS5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMubmFtZT0iV2F0Y2hsaXN0UmlnaHRzRXJyb3IiLHQuZXJyb3I/dGhpcy5tZXNzYWdlPWw6dGhpcy5tZXNzYWdlPSJ1bmtub3duIGVycm9yIn19ZnVuY3Rpb24gdSh0LGUscixhLHUsaD17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0pe2NvbnN0IGQ9ci5nZXRNYXJrZXRzKCksbT1uZXcgVVJMKCgwLG4uZ2V0QmFja2VuZFVybCkoZCxhKSt0KTt1JiZtLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxhYmVsLXByb2R1Y3QiLHUpO2NvbnN0IHA9SlNPTi5zdHJpbmdpZnkoci5nZXRQYXJhbXMoKSk7cmV0dXJuKDAscy5mZXRjaCkobS50b1N0cmluZygpLHtzaWduYWw6ZSxtZXRob2Q6IlBPU1QiLGJvZHk6cCxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczpofSkudGhlbigodD0+e2lmKDQwMD09PXQuc3RhdHVzKXtjb25zdHtzdGF0dXM6ZSxzdGF0dXNUZXh0OnJ9PXQ7cmV0dXJuIHQuanNvbigpLnRoZW4oKHQ9Pntjb25zdCBzPXQuZXJyb3I7aWYodm9pZCAwIT09KG49cykmJm4uaW5jbHVkZXMobCkpdGhyb3cgbmV3IGMoe3N0YXR1czplLHN0YXR1c1RleHQ6cixlcnJvcjpzfSk7dmFyIG47dGhyb3cgbmV3IG8uQmFkUmVxdWVzdEVycm9yUmVzcG9uc2Uoe3N0YXR1czplLHN0YXR1c1RleHQ6cixlcnJvcjpzfSl9KSl9aWYodC5vaylyZXR1cm4gdC5qc29uKCkudGhlbigodD0+dCkpO3Rocm93IG5ldyBpLkh0dHBFcnJvclJlc3BvbnNlKHQpfSkpfWZ1bmN0aW9uIGgodCxlLHIscyl7cmV0dXJuIHUoInNjYW4iLHQsZSxyLHMpfWZ1bmN0aW9uIGQodCxlLHIscyl7cmV0dXJuIHUoInNjYW4yIix0LGUscixzKX19LDM5MjU3Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtDb2x1bW5zQ29sbGVjdGlvbjooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9jb2x1bW5zPW5ldyBTZXR9c2V0U3RhdGUodCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSx0LmZvckVhY2godGhpcy5fY29sdW1ucy5hZGQsdGhpcy5fY29sdW1ucyksdGhpc31hZGRDb2x1bW4odCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuYWRkKHQpLHRoaXN9ZGVsZXRlQ29sdW1uKHQpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZSh0KSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2NvbHVtbnNdfXJlc2V0U3RhdGUoKXsKcmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX2NvbHVtbnMuc2l6ZX19fSwyNDgyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtGaWx0ZXJDb2xsZWN0aW9uOigpPT5zfSk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2ZpbHRlcnM9bmV3IFNldH1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLl9maWx0ZXJzLnNpemV9Y2xvbmUoKXtyZXR1cm4obmV3IHMpLnNldFN0YXRlKHRoaXMuZ2V0U3RhdGUoKSl9Z2V0U3RhdGUoKXtyZXR1cm5bLi4udGhpcy5fZmlsdGVyc119c2V0U3RhdGUodCl7cmV0dXJuIHRoaXMuX3Jld3JpdGVGaWx0ZXJTZXQodGhpcy5fZmlsdGVycyx0KSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVycy5jbGVhcigpLHRoaXN9YWRkQ29uZGl0aW9uKHQpe2NvbnN0IGU9QXJyYXkuaXNBcnJheSh0KT90Olt0XTtmb3IoY29uc3QgdCBvZiBlKXRoaXMuX2ZpbHRlcnMuYWRkKHQpO3JldHVybiB0aGlzfWRlbGV0ZUNvbmRpdGlvbih0KXtyZXR1cm4gdGhpcy5fZmlsdGVycy5kZWxldGUodCksdGhpc31fcmV3cml0ZUZpbHRlclNldCh0LGUpe3QuY2xlYXIoKSxlLmZvckVhY2godC5hZGQsdCl9fX0sODEyNTgzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0ZpbHRlcjI6KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlsdGVyPXZvaWQgMH1yZXNldEZpbHRlcigpe3JldHVybiB0aGlzLl9maWx0ZXI9dm9pZCAwLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVyKSk6dm9pZCAwfXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9maWx0ZXI9dCx0aGlzfWFkZEZpbHRlcjIodCl7Y29uc3QgZT10aGlzLmdldFN0YXRlKCk7aWYoIWUpcmV0dXJuIHRoaXMuc2V0U3RhdGUoe29wZXJhdG9yOnQub3BlcmF0b3Isb3BlcmFuZHM6dC5vcGVyYW5kc30pLHRoaXM7Y29uc3R7b3BlcmF0b3I6cixvcGVyYW5kczpzfT1lO3JldHVybiB0aGlzLnNldFN0YXRlKHtvcGVyYXRvcjpyLG9wZXJhbmRzOlsuLi5zLC4uLnQub3BlcmFuZHNdfSksdGhpc319fSwyMTgxNDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7T3B0aW9uczooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9vcHRpb25zPXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9vcHRpb25zPXQsdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiIsdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zLHRoaXN9c2V0TGFuZyh0KXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5sYW5nPXQsdGhpc31yZXNldExhbmcoKXtyZXR1cm4gZGVsZXRlIHRoaXMuX29wdGlvbnMubGFuZyx0aGlzfWdldFN0YXRlKCl7cmV0dXJuey4uLnRoaXMuX29wdGlvbnN9fXJlc2V0T3B0aW9ucygpe3JldHVybiB0aGlzLl9vcHRpb25zPXt9LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9vcHRpb25zKS5sZW5ndGh9fX0sMTk1MjIzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1NjYW5QcmljZUNvbnZlcnNpb246KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fcHJpY2VDb252ZXJzaW9uPXt9fXNldFByaWNlQ29udmVyc2lvbih0KXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uPXQsdGhpc31nZXRTdGF0ZSgpe3JldHVybnsuLi52b2lkIDAhPT10aGlzLl9wcmljZUNvbnZlcnNpb24udG9fc3ltYm9sP3t0b19zeW1ib2w6dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX3N5bWJvbH06e30sLi4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX2N1cnJlbmN5P3t0b19jdXJyZW5jeTp0aGlzLl9wcmljZUNvbnZlcnNpb24udG9fY3VycmVuY3l9Ont9LC4uLnZvaWQgMCE9PXRoaXMuX3ByaWNlQ29udmVyc2lvbi5kaXNhYmxlZD97ZGlzYWJsZWQ6dGhpcy5fcHJpY2VDb252ZXJzaW9uLmRpc2FibGVkfTp7fX19cmVzZXQoKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uPXt9LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9wcmljZUNvbnZlcnNpb24pLmxlbmd0aH19fSw4MjQ1MDIodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UmFuZ2U6KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fcmFuZ2U9W119Z2V0U3RhdGUoKXtyZXR1cm5bLi4udGhpcy5fcmFuZ2VdfXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9yYW5nZT10LHRoaXN9cmVzZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9yYW5nZT1bXSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3JhbmdlLmxlbmd0aH19fSwxODA2NjcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U2NhblBhcmFtc01hbmFnZXI6KCk9Pmh9KTt2YXIgcz1yKDI0ODI2KSxuPXIoMjE4MTQ1KSxpPXIoMTk1MjIzKSxvPXIoNzM4ODEpLGE9cigzOTI1NzMpLGw9cig4MjQ1MDIpLGM9cigzMjMwMjcpLHU9cig4MTI1ODMpO2NsYXNzIGh7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJDb2xsZWN0aW9uPW5ldyBzLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SPW5ldyBzLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fY29sdW1ucz1uZXcgYS5Db2x1bW5zQ29sbGVjdGlvbix0aGlzLl9pZ25vcmVVbmtub3duRmllbGRzPSExLHRoaXMuX29wdGlvbnM9bmV3IG4uT3B0aW9ucyx0aGlzLl9wcmljZUNvbnZlcnNpb249bmV3IGkuU2NhblByaWNlQ29udmVyc2lvbix0aGlzLl9yYW5nZT1uZXcgbC5SYW5nZSx0aGlzLl9zb3J0PW5ldyBjLlNvcnQsdGhpcy5fc3ltYm9scz1uZXcgby5TeW1ib2xzLHRoaXMuX21hcmtldHM9W119Z2V0UGFyYW1zKCl7Y29uc3QgdD10aGlzLmdldEZpbHRlcjIoKSxlPXQ/e2ZpbHRlcjI6dH06dm9pZCAwLHI9dGhpcy5nZXRQcmVzZXQoKSxzPXI/e3ByZXNldDpyfTp2b2lkIDA7cmV0dXJuewpjb2x1bW5zOnRoaXMuaXNDb2x1bW5zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRDb2x1bW5zKCksZmlsdGVyOnRoaXMuaXNGaWx0ZXJzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRGaWx0ZXJzKCksZmlsdGVyT1I6dGhpcy5pc0ZpbHRlck9yRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRGaWx0ZXJPUigpLGlnbm9yZV91bmtub3duX2ZpZWxkczp0aGlzLmdldElnbm9yZVVua25vd25GaWVsZHMoKSxvcHRpb25zOnRoaXMuaXNPcHRpb25zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRPcHRpb25zKCkscHJpY2VfY29udmVyc2lvbjp0aGlzLmlzUHJpY2VDb252ZXJzaW9uc0VtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0UHJpY2VDb252ZXJzaW9uKCkscmFuZ2U6dGhpcy5pc1JhbmdlRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRSYW5nZSgpLHNvcnQ6dGhpcy5pc1NvcnRFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFNvcnQoKSxzeW1ib2xzOnRoaXMuaXNTeW1ib2xzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRTeW1ib2xzKCksbWFya2V0czp0aGlzLmlzTWFya2V0c0VtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0TWFya2V0cygpLGluZGV4X2ZpbHRlcnM6dGhpcy5nZXRJbmRleEZpbHRlcnMoKSwuLi5zLC4uLmV9fWNsb25lKCl7Y29uc3QgdD1uZXcgaCxlPXRoaXMuZ2V0UGFyYW1zKCk7cmV0dXJuIHQuc2V0UGFyYW1zKGUpLHR9Z2V0RmlsdGVyc0NvbGxlY3Rpb25DbG9uZSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmNsb25lKCl9c2V0UGFyYW1zKHQpe2NvbnN0IGU9e2NvbHVtbnM6KCk9PnRoaXMuc2V0Q29sdW1ucyh0LmNvbHVtbnMpLGZpbHRlcjI6KCk9PnRoaXMuc2V0RmlsdGVyMih0LmZpbHRlcjIpLGZpbHRlcjooKT0+dGhpcy5zZXRGaWx0ZXJzKHQuZmlsdGVyKSxmaWx0ZXJPUjooKT0+dGhpcy5zZXRGaWx0ZXJPUih0LmZpbHRlck9SKSxpZ25vcmVfdW5rbm93bl9maWVsZHM6KCk9PnQuaWdub3JlX3Vua25vd25fZmllbGRzP3RoaXMuaWdub3JlVW5rbm93bkZpZWxkcygpOnRoaXMuZG9Ob3RJZ25vcmVVbmtub3duRmllbGRzKCksbWFya2V0czooKT0+dGhpcy5zZXRNYXJrZXRzKHQubWFya2V0cyksb3B0aW9uczooKT0+dGhpcy5zZXRPcHRpb25zKHQub3B0aW9ucykscHJpY2VfY29udmVyc2lvbjooKT0+dGhpcy5zZXRQcmljZUNvbnZlcnNpb24odC5wcmljZV9jb252ZXJzaW9uKSxyYW5nZTooKT0+dGhpcy5zZXRSYW5nZSh0LnJhbmdlKSxzb3J0OigpPT50aGlzLnNldFNvcnQodC5zb3J0KSxzeW1ib2xzOigpPT50aGlzLnNldFN5bWJvbHModC5zeW1ib2xzKSxwcmVzZXQ6KCk9PnRoaXMuc2V0UHJlc2V0KHQucHJlc2V0KSxpbmRleF9maWx0ZXJzOigpPT50aGlzLnNldEluZGV4RmlsdGVycyh0LmluZGV4X2ZpbHRlcnMpfTtmb3IoY29uc3RbcixzXW9mIE9iamVjdC5lbnRyaWVzKGUpKXQuaGFzT3duUHJvcGVydHkocikmJnZvaWQgMCE9PXRbcl0mJnMoKTtyZXR1cm4gdGhpc31zZXRGaWx0ZXJzKHQpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLnNldFN0YXRlKHQpLHRoaXN9YWRkRmlsdGVyKHQpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmFkZENvbmRpdGlvbih0KSx0aGlzfWdldEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5nZXRTdGF0ZSgpfWRlbGV0ZUZpbHRlcih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5kZWxldGVDb25kaXRpb24odCksdGhpc31yZXNldEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5yZXNldFN0YXRlKCksdGhpc31pc0ZpbHRlcnNFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmlzRW1wdHkoKX1zZXRGaWx0ZXJPUih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnNldFN0YXRlKHQpLHRoaXN9YWRkRmlsdGVyT1IodCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb25PUi5hZGRDb25kaXRpb24odCksdGhpc31nZXRGaWx0ZXJPUigpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuZ2V0U3RhdGUoKX1kZWxldGVGaWx0ZXJPUih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmRlbGV0ZUNvbmRpdGlvbih0KSx0aGlzfXJlc2V0RmlsdGVyT1IoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyT3JFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuaXNFbXB0eSgpfXNldEZpbHRlcjIodCl7cmV0dXJuIHRoaXMuX2ZpbHRlcjJ8fCh0aGlzLl9maWx0ZXIyPW5ldyB1LkZpbHRlcjIpLHRoaXMuX2ZpbHRlcjIuc2V0U3RhdGUodCksdGhpc31hZGRGaWx0ZXIyKHQpe3JldHVybiB0aGlzLl9maWx0ZXIyfHwodGhpcy5fZmlsdGVyMj1uZXcgdS5GaWx0ZXIyKSx0aGlzLl9maWx0ZXIyLmFkZEZpbHRlcjIodCksdGhpc31nZXRGaWx0ZXIyKCl7aWYodGhpcy5fZmlsdGVyMilyZXR1cm4gdGhpcy5fZmlsdGVyMi5nZXRTdGF0ZSgpfXJlc2V0RmlsdGVyMigpe3JldHVybiB0aGlzLl9maWx0ZXIyJiZ0aGlzLl9maWx0ZXIyLnJlc2V0RmlsdGVyKCksdGhpc31nZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZ2V0U3RhdGUoKX1zZXRPcHRpb25zKHQpe3JldHVybiB0aGlzLl9vcHRpb25zLnNldFN0YXRlKHQpLHRoaXN9cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVzZXRPcHRpb25zKCksdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnJlc3RyaWN0RW9kKCksdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubm9Fb2RSZXN0cmljdGlvbigpLHRoaXN9c2V0T3B0aW9uc0xhbmcodCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuc2V0TGFuZyh0KSx0aGlzfXJlc2V0T3B0aW9uc0xhbmcoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5yZXNldExhbmcoKSx0aGlzfWlzT3B0aW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuaXNFbXB0eSgpfWdldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5nZXRTdGF0ZSgpfXNldFN5bWJvbHModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3RhdGUodCksdGhpc30KcmVzZXRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRTdGF0ZSgpLHRoaXN9c2V0VGlja2Vycyh0KXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRUaWNrZXJzKHQpLHRoaXN9cmVzZXRUaWNrZXJzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRUaWNrZXJzKCksdGhpc31zZXRTeW1ib2xzZXQodCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3ltYm9sc2V0KHQpLHRoaXN9cmVzZXRTeW1ib2xzZXQoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFN5bWJvbHNldCgpLHRoaXN9c2V0VHlwZXModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0VHlwZXModCksdGhpc31yZXNldFR5cGVzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRUeXBlcygpLHRoaXN9c2V0R3JvdXBzKHQpe3JldHVybiB0aGlzLl9zeW1ib2xzLnNldEdyb3Vwcyh0KSx0aGlzfWlzU3ltYm9sc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuaXNFbXB0eSgpfWdldENvbHVtbnMoKXtyZXR1cm4gdGhpcy5fY29sdW1ucy5nZXRTdGF0ZSgpfWFkZENvbHVtbnModCl7Y29uc3QgZT1BcnJheS5pc0FycmF5KHQpP3Q6W3RdO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5fY29sdW1ucy5hZGRDb2x1bW4odCk7cmV0dXJuIHRoaXN9c2V0Q29sdW1ucyh0KXtyZXR1cm4gdGhpcy5fY29sdW1ucy5zZXRTdGF0ZSh0KSx0aGlzfXJlc2V0Q29sdW1ucygpe3JldHVybiB0aGlzLl9jb2x1bW5zLnJlc2V0U3RhdGUoKSx0aGlzfWRlbGV0ZUNvbHVtbih0KXtyZXR1cm4gdGhpcy5fY29sdW1ucy5kZWxldGVDb2x1bW4odCksdGhpc31pc0NvbHVtbnNFbXB0eSgpe3JldHVybiB0aGlzLl9jb2x1bW5zLmlzRW1wdHkoKX1zZXRSYW5nZSh0KXtyZXR1cm4gdGhpcy5fcmFuZ2Uuc2V0U3RhdGUodCksdGhpc31nZXRSYW5nZSgpe3JldHVybiB0aGlzLl9yYW5nZS5nZXRTdGF0ZSgpfXJlc2V0UmFuZ2UoKXtyZXR1cm4gdGhpcy5fcmFuZ2UucmVzZXRTdGF0ZSgpLHRoaXN9aXNSYW5nZUVtcHR5KCl7cmV0dXJuIHRoaXMuX3JhbmdlLmlzRW1wdHkoKX1zZXRTb3J0KHQpe3JldHVybiB0aGlzLl9zb3J0LnNldFN0YXRlKHQpLHRoaXN9Z2V0U29ydCgpe3JldHVybiB0aGlzLl9zb3J0LmdldFN0YXRlKCl9cmVzZXRTb3J0KCl7cmV0dXJuIHRoaXMuX3NvcnQucmVzZXRTdGF0ZSgpLHRoaXN9c29ydEFzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRBc2MoKSx0aGlzfXNvcnREZXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydERlc2MoKSx0aGlzfXNvcnRCeSh0KXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0QnkodCksdGhpc31pc1NvcnRFbXB0eSgpe3JldHVybiB0aGlzLl9zb3J0LmlzRW1wdHkoKX1zZXRQcmljZUNvbnZlcnNpb24odCl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbi5zZXRQcmljZUNvbnZlcnNpb24odCksdGhpc31nZXRQcmljZUNvbnZlcnNpb24oKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLmdldFN0YXRlKCl9cmVzZXRQcmljZUNvbnZlcnNpb24oKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLnJlc2V0KCksdGhpc31pc1ByaWNlQ29udmVyc2lvbnNFbXB0eSgpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24uaXNFbXB0eSgpfXNldFByZXNldCh0KXtyZXR1cm4gdGhpcy5fcHJlc2V0PXQsdGhpc31nZXRQcmVzZXQoKXtyZXR1cm4gdGhpcy5fcHJlc2V0fXJlc2V0UHJlc2V0KCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9wcmVzZXQsdGhpc31zZXRJbmRleEZpbHRlcnModCl7cmV0dXJuIHRoaXMuX2luZGV4RmlsdGVycz10LHRoaXN9Z2V0SW5kZXhGaWx0ZXJzKCl7cmV0dXJuIHRoaXMuX2luZGV4RmlsdGVyc31yZXNldEluZGV4RmlsdGVycygpe3JldHVybiBkZWxldGUgdGhpcy5faW5kZXhGaWx0ZXJzLHRoaXN9ZG9Ob3RJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITEsdGhpc31pZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITAsdGhpc31nZXRJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHN9c2V0TWFya2V0cyh0KXtyZXR1cm4gdGhpcy5fbWFya2V0cz1bLi4udF0sdGhpc31nZXRNYXJrZXRzKCl7cmV0dXJuIHRoaXMuX21hcmtldHN9aXNNYXJrZXRzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX21hcmtldHMubGVuZ3RofWdldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLmdldFN5bWJvbHMoKS53YXRjaGxpc3R9c2V0V2F0Y2hsaXN0KHQpe3JldHVybiB0aGlzLnNldFN5bWJvbHMoey4uLnRoaXMuZ2V0U3ltYm9scygpLHdhdGNobGlzdDp0fSksdGhpc31yZXNldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc31yZXNldFBhcmFtcygpe3JldHVybiB0aGlzLl9maWx0ZXIyPXZvaWQgMCx0aGlzLmRvTm90SWdub3JlVW5rbm93bkZpZWxkcygpLHRoaXMucmVzZXRDb2x1bW5zKCksdGhpcy5yZXNldEZpbHRlcnMoKSx0aGlzLnJlc2V0RmlsdGVyT1IoKSx0aGlzLnJlc2V0T3B0aW9ucygpLHRoaXMucmVzZXRQcmljZUNvbnZlcnNpb24oKSx0aGlzLnJlc2V0UmFuZ2UoKSx0aGlzLnJlc2V0U3ltYm9scygpLHRoaXMucmVzZXRJbmRleEZpbHRlcnMoKSx0aGlzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc319fSwzMjMwMjcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U29ydDooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zb3J0PXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9zb3J0PXQsdGhpc31nZXRTdGF0ZSgpe3JldHVybnsuLi50aGlzLl9zb3J0fX1zb3J0QnkodCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEJ5PXQsdGhpcy5fc29ydC5zb3J0T3JkZXJ8fHRoaXMuc29ydERlc2MoKSx0aGlzfXNvcnRBc2MoKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0QnkmJih0aGlzLl9zb3J0LnNvcnRPcmRlcj0iYXNjIiksdGhpc31zb3J0RGVzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeSYmKHRoaXMuX3NvcnQuc29ydE9yZGVyPSJkZXNjIiksdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvcnQ9e30sdGhpc30KaXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zb3J0KS5sZW5ndGh9fX0sNzM4ODEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U3ltYm9sczooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zeW1ib2xzPXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9zeW1ib2xzPXQsdGhpc31nZXRTdGF0ZSgpe2NvbnN0IHQ9dGhpcy5fc3ltYm9scy5xdWVyeT97cXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnl9fTp7fSxlPXRoaXMuX3N5bWJvbHMudGlja2Vycz97dGlja2VyczpbLi4udGhpcy5fc3ltYm9scy50aWNrZXJzXX06W10scj10aGlzLl9zeW1ib2xzLmdyb3Vwcz97Z3JvdXBzOnRoaXMuX3N5bWJvbHMuZ3JvdXBzLm1hcCgodD0+KHt0eXBlOnQudHlwZSx2YWx1ZXM6Wy4uLnQudmFsdWVzXX0pKSl9Ont9LHM9dGhpcy5fc3ltYm9scy5zeW1ib2xzZXQ/e3N5bWJvbHNldDpbLi4udGhpcy5fc3ltYm9scy5zeW1ib2xzZXRdfTpbXSxuPXRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0P3t3YXRjaGxpc3Q6e2lkOnRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0LmlkfX06e307cmV0dXJuey4uLnQsLi4uZSwuLi5yLC4uLnMsLi4udm9pZCAwPT09dGhpcy5fc3ltYm9scy5ibGFja19saXN0X3N5bWJvbHM/e306e2JsYWNrX2xpc3Rfc3ltYm9sczp0aGlzLl9zeW1ib2xzLmJsYWNrX2xpc3Rfc3ltYm9sc30sLi4ubn19c2V0VGlja2Vycyh0KXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPXQsdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPVtdLHRoaXN9c2V0VHlwZXModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9ey4uLnRoaXMuX3N5bWJvbHMscXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnksdHlwZXM6dH19LHRoaXN9cmVzZXRUeXBlcygpe3JldHVybiB0aGlzLl9zeW1ib2xzPXsuLi50aGlzLl9zeW1ib2xzLHF1ZXJ5OnsuLi50aGlzLl9zeW1ib2xzLnF1ZXJ5LHR5cGVzOltdfX0sdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9e30sdGhpc31zZXRHcm91cHModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuZ3JvdXBzPXQsdGhpc31yZXNldEdyb3Vwcygpe3JldHVybiBkZWxldGUgdGhpcy5fc3ltYm9scy5ncm91cHMsdGhpc31zZXRTeW1ib2xzZXQodCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc3ltYm9sc2V0PXQsdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnN5bWJvbHNldD1bXSx0aGlzfXJlc2V0V2F0Y2hsaXN0KCl7Y29uc3R7d2F0Y2hsaXN0OnQsLi4uZX09dGhpcy5fc3ltYm9scztyZXR1cm4gdGhpcy5fc3ltYm9scz1lLHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zeW1ib2xzKS5sZW5ndGh9fX0sMTY4ODI0KHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0KXtjb25zdFtlLHIsc109ZnVuY3Rpb24odCl7Y29uc3QgZT10LnRvU3RyaW5nKCk7cmV0dXJuW051bWJlcihlLnNsaWNlKDAsNCkpLE51bWJlcihlLnNsaWNlKDQsNikpLE51bWJlcihlLnNsaWNlKDYpKV19KHQpO3JldHVybiBuZXcgRGF0ZShlLHItMSxzKX1yLmQoZSx7Z2V0RGF0ZUZyb21ZWVlZTU1ERDooKT0+c30pfSw5MDgwMzQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlUm93c05hdmlnYXRpb246KCk9Pmh9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDEzODYzOCksaT1yKDk4MzYxNiksbz1yKDIzNTcyNCksYT1yKDMyOTY2OCksbD1yKDY4MjM4MSksYz1yKDYxNjMxMSk7Y29uc3QgdT1bMzcsMzksMzgsNDBdO2Z1bmN0aW9uIGgodCl7Y29uc3QgZT0oMCxzLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsYy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxyPSgpPT57Y29uc3Qgcj0oMCxpLnF1ZXJ5VGFiYmFibGVFbGVtZW50cykodCkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO2lmKDA9PT1yLmxlbmd0aHx8clswXS5wYXJlbnRFbGVtZW50JiYhcChyWzBdLnBhcmVudEVsZW1lbnQsKDAsbi5lbnN1cmVOb3ROdWxsKShlLmN1cnJlbnQpKSl7Y29uc3Qgcz1mdW5jdGlvbih0KXtjb25zdCByPW0odCkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLHM9ci5maW5kKCh0PT5wKHQsKDAsbi5lbnN1cmVOb3ROdWxsKShlLmN1cnJlbnQpKSkpO2lmKCFzKXJldHVybiBudWxsO2NvbnN0IG89QXJyYXkuZnJvbShzLmNoaWxkcmVuKTtpZighby5sZW5ndGgpcmV0dXJuIG51bGw7cmV0dXJuIG9bMF19KHQpO2lmKG51bGw9PT1zKXJldHVybjtpZigoMCxhLmJlY29tZU1haW5FbGVtZW50KShzKSxyLmxlbmd0aD4wKWZvcihjb25zdCB0IG9mIHIpKDAsYS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KSh0KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIixyKSxyKCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHIpfSksW10pLFtlLGZ1bmN0aW9uKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3Qgcj0oMCxvLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCF1LmluY2x1ZGVzKHIpKXJldHVybjtjb25zdCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIShzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBuPWUuY3VycmVudFRhcmdldDtsZXQgYSxjO2lmKHQpe2NvbnN0IHQ9cy5wYXJlbnRFbGVtZW50O2E9dD9BcnJheS5mcm9tKHQuY2hpbGRyZW4pOltdLGM9YS5pbmRleE9mKHMpfWVsc2UgYT0oaD1uLEFycmF5LmZyb20oaC5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSknKSkuZmlsdGVyKCgwLGwuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGgpKSkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLGM9YS5pbmRleE9mKHMpO3ZhciBoO2lmKDA9PT1hLmxlbmd0aHx8LTE9PT1jKXJldHVybjtjb25zdCBwPSgwLAppLm1hcEtleUNvZGVUb0RpcmVjdGlvbikocik7c3dpdGNoKHApe2Nhc2UiaW5saW5lUHJldiI6aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0JiYwPT09YylicmVhaztnKGQoYSxjLC0xKSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCksIXQmJmM9PT1hLmxlbmd0aC0xKWJyZWFrO2coZChhLGMsMSkpO2JyZWFrO2Nhc2UiYmxvY2tQcmV2IjpjYXNlImJsb2NrTmV4dCI6KHI9PntpZighZG9jdW1lbnQuYWN0aXZlRWxlbWVudClyZXR1cm47Y29uc3Qgcz1tKG4pLGk9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O2lmKCFpKXJldHVybjtjb25zdCBvPUFycmF5LmZyb20oaS5jaGlsZHJlbikuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZigtMT09PW8pcmV0dXJuO2NvbnN0IGE9c1siYmxvY2tOZXh0Ij09PXI/cy5pbmRleE9mKGkpKzE6cy5pbmRleE9mKGkpLTFdO2lmKCFhKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgbD1BcnJheS5mcm9tKGEuY2hpbGRyZW4pO2wubGVuZ3RoJiYoIXQmJm88PWwubGVuZ3RoLTE/ZyhsW29dKTpnKGxbMF0pKX0pKHApfX1dfWZ1bmN0aW9uIGQodCxlLHIpe3JldHVybiB0WyhlK3QubGVuZ3RoK3IpJXQubGVuZ3RoXX1mdW5jdGlvbiBtKHQpe3JldHVybiBBcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcm9sZT0icm93Il0nKSkuZmlsdGVyKCgwLGwuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKHQpKX1mdW5jdGlvbiBwKHQsZSl7Y29uc3Qgcj0oMCxuLmVuc3VyZU5vdE51bGwpKHQucGFyZW50RWxlbWVudCkub2Zmc2V0VG9wLHM9cisoMCxuLmVuc3VyZU5vdE51bGwpKHQucGFyZW50RWxlbWVudCkuY2xpZW50SGVpZ2h0LGk9ZS5zY3JvbGxUb3Asbz1pK2UuY2xpZW50SGVpZ2h0O3JldHVybiByPj1pJiZzPD1vfWZ1bmN0aW9uIGcodCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsYS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSwoMCxhLmJlY29tZU1haW5FbGVtZW50KSh0KSx0LmZvY3VzKCl9fSw0MDEwNzgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlU3ltYm9sUXVvdGVzOigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpLG49cigxNTk1MTMpO2Z1bmN0aW9uIGkodCxlPSEwKXtjb25zdFtyLGldPSgwLHMudXNlU3RhdGUpKG51bGw9PT10P3tjb21wbGV0ZWQ6ITAsaW52YWxpZDohMCxxdW90ZXM6bnVsbCxzeW1ib2w6dH06e2NvbXBsZXRlZDohMSxpbnZhbGlkOiExLHF1b3RlczpudWxsLHN5bWJvbDp0fSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2lmKG51bGw9PT10KXJldHVybiB2b2lkIGkoe2NvbXBsZXRlZDohMCxpbnZhbGlkOiEwLHF1b3RlczpudWxsLHN5bWJvbDp0fSk7aSh7Y29tcGxldGVkOiExLGludmFsaWQ6ITEscXVvdGVzOm51bGwsc3ltYm9sOnR9KTtjb25zdCByPSgwLG4uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJmdWxsIik7bGV0IHM9ITE7Y29uc3Qgbz1yPT57Y29uc3R7dmFsdWVzOnMsY29tcGxldGU6bixzdGF0dXM6b309cjtpKHtpbnZhbGlkOiJlcnJvciI9PT1vLHF1b3Rlczp7Li4uc30sY29tcGxldGVkOnZvaWQgMCE9PW58fCJlcnJvciI9PT1vLHN5bWJvbDp0fSksdm9pZCAwPT09biYmImVycm9yIiE9PW98fCFlfHxhKCl9LGE9KCk9PntzfHwocz0hMCxyLnVuc3Vic2NyaWJlKCJ1c2VTeW1ib2xRdW90ZXMiLHQsbykpfTtyZXR1cm4gci5zdWJzY3JpYmUoInVzZVN5bWJvbFF1b3RlcyIsdCxvKSwoKT0+e2EoKX19KSxbdF0pLHJ9fSw1OTk1NDYodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkgMTQuNSA0LjUtMy45NC0xLTEuMTItMi43NSAyLjRWNGgtMS41djcuODVMNS40OSA5LjQ0bC0uOTggMS4xMkw5IDE0LjVaIi8+PC9zdmc+J30sMzg2MjYxKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im05LjUgMTQuMTYtLjM0LS4yOC00LTMuNS42Ni0uNzYgMy4xNyAyLjc4VjRIMTB2OC40bDMuMTYtMi43OC42Ni43Ni00IDMuNS0uMzMuMjhoLjAxWiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"telemetry.tradingview.com/widget/report","fqdn":"telemetry.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:31.512Z","timestamp":1785124891512,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /widget/report HTTP/1.1\r\nHost: telemetry.tradingview.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://s.tradingview.com/\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 969\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T06:15:45.47424Z","times_seen":17557251,"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.googleapis.com/css?family=Poppins:300,400,500,600,700,800","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://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.193Z","timestamp":1785124875193,"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=Poppins:300,400,500,600,700,800 HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://berthenergy-inc.biz/\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 04:01:15 GMT\r\ndate: Mon, 27 Jul 2026 04:01:15 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":6798,"size_decoded":1254,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"5577e2fdd6152b39f5e319b96c264126","sha1":"505a612fa266f50775c0277f1a7dfa0cfd1b6b9e","sha256":"04580173a39dec129ed2d7b50eb52a554a5932c0c253e351cab709779126d028","sha512":"8467508563ab1aa4d0b53da3a08945d45e816b2ceebf6d3d1fa16cdd1c28d91a8d40f7bdf49ddcf78639cbd74b52979310d4f7debd1fa5e92cbb264816885de6","ssdeep":"96:SOWrOWTJc+ukOWaN3OLnOLCJc+ukOLuN3Og3OgvJc+ukOgON3OxTcOxTUJc+ukON:KjH/dCKSe1rV3HwwVzzbtwpOn","tlshash":"79e18bd2087be51467831cc212ce7d36ef4ea244b450a574abfe0c9cada7c69537272d","first_seen":"2025-09-18T00:18:28.243667Z","last_seen":"2026-07-27T05:57:57.451428Z","times_seen":718,"resource_available":false,"data":"LyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTER6OFoxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMRHo4WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTER6OFoxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpRXlwOGt2OEpIZ0ZWckpKYmVjbU5FLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUV5cDhrdjhKSGdGVnJKSm5lY21ORS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUV5cDhrdjhKSGdGVnJKSmZlY2cud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMR1Q5WjExbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxHVDlaMUpsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMR1Q5WjF4bEZRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEVqNloxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMRWo2WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEVqNloxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxDejdaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEN6N1oxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxDejdaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMREQ0WjExbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxERDRaMUpsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMREQ0WjF4bEZRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":156,"timings":{"blocked":-1,"dns":0,"connect":16,"send":0,"wait":103,"receive":0,"ssl":34},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/benefit-icon-4.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.248Z","timestamp":1785124875248,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/benefit-icon-4.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 8880\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-22b0\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":8880,"size_decoded":9105,"mime_type":"image/png","magic":"PNG image data, 125 x 125, 8-bit/color RGBA, non-interlaced","md5":"20892bb249d99e223664a7b16fd08966","sha1":"36966f92b0c760237623d40ce41c5419ee6ae3f0","sha256":"e5a196b58264ef3f8ae3813c1a052ee2f6622102aecca4f619d11dce232c7aea","sha512":"407c9a2d71711ce0cb36b8fd58934807fa9e4ad0eebb30b767e44d42be7183f5652b3f6aff9cf35597823626aa337a2e4c6600fbc5896ad98ec6c3690e377c38","ssdeep":"192:B2iATOVt/DcR1vfVFgpJcgwwXSBsY3kD60T7ipPXiSnd1wlQl36UCJXfx:AiATYr6vtFwnXC3qH6pPxdw7J5","tlshash":"02029e1dfab346a2ee8cee03147ff8214ee7c9c845c49e2af5d8ca58586a321543c5c3","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.013073Z","times_seen":14,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAYAAACPgGwlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1MUJGNjI3QjQ2NzUxMUVBQUQxRjg0ODVEMjYxQ0M0OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1MUJGNjI3QzQ2NzUxMUVBQUQxRjg0ODVEMjYxQ0M0OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjUxQkY2Mjc5NDY3NTExRUFBRDFGODQ4NUQyNjFDQzQ5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjUxQkY2MjdBNDY3NTExRUFBRDFGODQ4NUQyNjFDQzQ5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PZdXrAAAHyVJREFUeNrsXQd4FNUW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"}},"time_used":77,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":76,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.839Z","timestamp":1785124875839,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53627.115195b72f2d92cecb9b.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-3f9d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 682aee692240dd611d46178cc125cecd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16285,"size_decoded":6932,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-27T06:24:31.678718Z","times_seen":223,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MzYyN10sezgyOTE4MChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KTt2YXIgaT1vKDYwMTg0MSk7Y29uc3QgYT0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi5lKXtjb25zdCB0PSgwLGkuaXNPYmplY3QpKGVbMF0pLG89dD9hOm4scj10Pyh0LG8pPT57Y29uc3QgaT1lWzBdO3JldHVybiB2b2lkIDAhPT1pW29dP2lbb106dH06KHQsbyk9Pntjb25zdCBpPXBhcnNlSW50KG8sMTApLGE9ZVtpXTtyZXR1cm4gdm9pZCAwIT09YT9hOnR9O3JldHVybiB0aGlzLnJlcGxhY2UobyxyKX19LDE4NTI3MShlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7dDooKT0+aS50LHdpdGhUcmFuc2xhdGlvbkNvbnRleHQ6KCk9PmF9KTtvKDgyOTE4MCk7dmFyIGk9byg3ODMyNTQpO2Z1bmN0aW9uIGEoZSl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19LDQ2NzE1OCgpe3RyeXshZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG8saT1lLmRvY3VtZW50LGE9ZS5JbWFnZSxuPWUuZ2xvYmFsU3RvcmFnZSxyPWUuc3dmb2JqZWN0O3RyeXt2YXIgYz1lLmxvY2FsU3RvcmFnZX1jYXRjaChlKXt9dHJ5e3ZhciBzPWUuc2Vzc2lvblN0b3JhZ2V9Y2F0Y2goZSl7fXZhciBkPXtoaXN0b3J5OiExLGphdmE6ITEsdGVzdHM6MTAsYmFzZXVybDoiIixsc286ITAsc2lsdmVybGlnaHQ6ITEsZG9tYWluOiIiLGF1dGhQYXRoOiExLHBuZ0Nvb2tpZU5hbWU6InBuZyIscG5nUGF0aDoiL2VjL3BuZyIsZXRhZ0Nvb2tpZU5hbWU6ImV0ZyIsZXRhZ1BhdGg6Ii9lYy9ldGFnIixjYWNoZUNvb2tpZU5hbWU6ImNhY2hlYyIsY2FjaGVQYXRoOiIvZWMvY2FjaGUiLHN0YXRpY3VybDoiL3N0YXRpYy9pbWFnZXMvIn0saD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iO2UuX2V2ZXJjb29raWVfZmxhc2hfdmFyPWZ1bmN0aW9uKGUpe3Q9ZTt2YXIgbz1pLmdldEVsZW1lbnRCeUlkKCJteXN3ZiIpO28mJm8ucGFyZW50Tm9kZSYmby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfSxlLmV2ZXJjb29raWU9ZS5FdmVyY29va2llPWZ1bmN0aW9uKHUpe3U9dXx8e307dmFyIGw9e307Zm9yKHZhciBmIGluIGQpe3ZhciB2PXVbZl07bFtmXT12b2lkIDAhPT12P3Y6ZFtmXX0iZnVuY3Rpb24iPT10eXBlb2YgbC5kb21haW4mJihsLmRvbWFpbj1sLmRvbWFpbihlKSk7dmFyIHA9bC5oaXN0b3J5LGc9bC5qYXZhLG09bC50ZXN0cyxfPWwuYmFzZXVybCxrPWwuc3RhdGljdXJsLHk9bC5kb21haW4sQz10aGlzO3RoaXMuX2VjPXt9LHRoaXMuZ2V0PWZ1bmN0aW9uKGUsdCxvKXtDLl9ldmVyY29va2llKGUsdCx2b2lkIDAsdm9pZCAwLG8pfSx0aGlzLnNldD1mdW5jdGlvbihlLHQpe0MuX2V2ZXJjb29raWUoZSwoZnVuY3Rpb24oKXt9KSx0KX0sdGhpcy5fZXZlcmNvb2tpZT1mdW5jdGlvbihhLG4scixjLHMpe2lmKHZvaWQgMD09PUMuX2V2ZXJjb29raWUmJihDPXRoaXMpLHZvaWQgMD09PWMmJihjPTApLDA9PT1jJiYoQy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2UoYSxyKSxDLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlKGEsciksQy5ldmVyY29va2llX3BuZyhhLHIpLEMuZXZlcmNvb2tpZV9ldGFnKGEsciksQy5ldmVyY29va2llX2NhY2hlKGEsciksbC5sc28mJkMuZXZlcmNvb2tpZV9sc28oYSxyKSxsLnNpbHZlcmxpZ2h0JiZDLmV2ZXJjb29raWVfc2lsdmVybGlnaHQoYSxyKSxsLmF1dGhQYXRoJiZDLmV2ZXJjb29raWVfYXV0aChhLHIpLGcmJkMuZXZlcmNvb2tpZV9qYXZhKGEsciksQy5fZWMudXNlckRhdGE9Qy5ldmVyY29va2llX3VzZXJkYXRhKGEsciksQy5fZWMuY29va2llRGF0YT1DLmV2ZXJjb29raWVfY29va2llKGEsciksQy5fZWMubG9jYWxEYXRhPUMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlKGEsciksQy5fZWMuZ2xvYmFsRGF0YT1DLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2UoYSxyKSxDLl9lYy5zZXNzaW9uRGF0YT1DLmV2ZXJjb29raWVfc2Vzc2lvbl9zdG9yYWdlKGEsciksQy5fZWMud2luZG93RGF0YT1DLmV2ZXJjb29raWVfd2luZG93KGEscikscCYmKEMuX2VjLmhpc3RvcnlEYXRhPUMuZXZlcmNvb2tpZV9oaXN0b3J5KGEscikpKSx2b2lkIDAhPT1yKSh2b2lkIDA9PT10fHx2b2lkIDA9PT1vKSYmYysrPG0mJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Qy5fZXZlcmNvb2tpZShhLG4scixjLHMpfSksMzAwKTtlbHNlIGlmKChlLm9wZW5EYXRhYmFzZSYmdm9pZCAwPT09Qy5fZWMuZGJEYXRhfHwoImluZGV4ZWREQiJpbiBlfHwoZS5pbmRleGVkREI9ZS5pbmRleGVkREJ8fGUubW96SW5kZXhlZERCfHxlLndlYmtpdEluZGV4ZWREQnx8ZS5tc0luZGV4ZWREQikpJiYodm9pZCAwPT09Qy5fZWMuaWRiRGF0YXx8IiI9PT1DLl9lYy5pZGJEYXRhKXx8dm9pZCAwPT09dHx8dm9pZCAwPT09Qy5fZWMuZXRhZ0RhdGF8fHZvaWQgMD09PUMuX2VjLmNhY2hlRGF0YXx8dm9pZCAwPT09Qy5fZWMuamF2YURhdGF8fGkuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCYmKHZvaWQgMD09PUMuX2VjLnBuZ0RhdGF8fCIiPT09Qy5fZWMucG5nRGF0YSl8fHZvaWQgMD09PW8pJiZjKys8bSlzZXRUaW1lb3V0KChmdW5jdGlvbigpe0MuX2V2ZXJjb29raWUoYSxuLHIsYyxzKX0pLDMwMCk7ZWxzZXtDLl9lYy5sc29EYXRhPUMuZ2V0RnJvbVN0cihhLHQpLHQ9dm9pZCAwLEMuX2VjLnNsRGF0YT1DLmdldEZyb21TdHIoYSxvKSxvPXZvaWQgMDt2YXIgZCxoLHU9Qy5fZWMsZj1bXSx2PTA7Zm9yKGggaW4gQy5fZWM9e30sdSl1W2hdJiYibnVsbCIhPT11W2hdJiYidW5kZWZpbmVkIiE9PXVbaF0mJihmW3VbaF1dPXZvaWQgMD09PWZbdVtoXV0/MTpmW3VbaF1dKzEpO2ZvcihoIGluIGYpZltoXT52JiYodj1mW2hdLGQ9aCk7dm9pZCAwPT09ZHx8dm9pZCAwIT09cyYmMT09PXN8fEMuc2V0KGEsZCksImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4oZCx1KX19LAp0aGlzLmV2ZXJjb29raWVfd2luZG93PWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKHZvaWQgMD09PW8pcmV0dXJuIHRoaXMuZ2V0RnJvbVN0cih0LGUubmFtZSk7ZS5uYW1lPWZ1bmN0aW9uKGUsdCxvKXtpZihlLmluZGV4T2YoIiYiK3QrIj0iKT4tMXx8MD09PWUuaW5kZXhPZih0KyI9Iikpe3ZhciBpLGE9ZS5pbmRleE9mKCImIit0KyI9Iik7cmV0dXJuLTE9PT1hJiYoYT1lLmluZGV4T2YodCsiPSIpKSwtMSE9PShpPWUuaW5kZXhPZigiJiIsYSsxKSk/ZS5zdWJzdHIoMCxhKStlLnN1YnN0cihpKyhhPzA6MSkpKyImIit0KyI9IitvOmUuc3Vic3RyKDAsYSkrIiYiK3QrIj0iK299cmV0dXJuIGUrIiYiK3QrIj0iK299KGUubmFtZSx0LG8pfWNhdGNoKGUpe319LHRoaXMuZXZlcmNvb2tpZV91c2VyZGF0YT1mdW5jdGlvbihlLHQpe3RyeXt2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImRpdiIsInVzZXJkYXRhX2VsIiwxKTtpZihvLnN0eWxlLmJlaGF2aW9yPSJ1cmwoI2RlZmF1bHQjdXNlckRhdGEpIix2b2lkIDA9PT10KXJldHVybiBvLmxvYWQoZSksby5nZXRBdHRyaWJ1dGUoZSk7by5zZXRBdHRyaWJ1dGUoZSx0KSxvLnNhdmUoZSl9Y2F0Y2goZSl7fX0sdGhpcy5hamF4PWZ1bmN0aW9uKGUpe3ZhciB0LG8saSxhLG4scjtmb3IodD17IlgtUmVxdWVzdGVkLVdpdGgiOiJYTUxIdHRwUmVxdWVzdCIsQWNjZXB0OiJ0ZXh0L2phdmFzY3JpcHQsIHRleHQvaHRtbCwgYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCwgKi8qIn0sbj0wLHI9KGk9W2Z1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIil9LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfV0pLmxlbmd0aDtuPHI7bisrKXthPWlbbl07dHJ5e2E9YSgpO2JyZWFrfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fWZvcihvIGluIGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7NCE9PWEucmVhZHlTdGF0ZXx8YS5zdGF0dXM+PTQwMHx8ZS5zdWNjZXNzKGEucmVzcG9uc2VUZXh0KX0sYS5vcGVuKCJnZXQiLGUudXJsLCEwKSx0KWEuc2V0UmVxdWVzdEhlYWRlcihvLHRbb10pO3RyeXthLnNlbmQoKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0sdGhpcy5ldmVyY29va2llX2NhY2hlPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmNhY2hlQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7fX0pO2Vsc2V7dmFyIG89dGhpcy5nZXRGcm9tU3RyKGwuY2FjaGVDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5jYWNoZURhdGE9dm9pZCAwLGkuY29va2llPWwuY2FjaGVDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5jYWNoZUNvb2tpZU5hbWUrIj0iK28rIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLmNhY2hlRGF0YT1lfX0pfX0sdGhpcy5ldmVyY29va2llX2F1dGg9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpO3ZvaWQgMCE9PXQ/KG89Ii8vIit0KyJAIitsb2NhdGlvbi5ob3N0K18rbC5hdXRoUGF0aCsiP25hbWU9IitlLChpPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGkuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnNyYz1vKTpDLmFqYXgoe3VybDpfK2wuYXV0aFBhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe0MuX2VjLmF1dGhEYXRhPWV9fSl9LHRoaXMuZXZlcmNvb2tpZV9ldGFnPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmV0YWdDb29raWVOYW1lKyI9Iit0KyI7IHBhdGg9LzsgZG9tYWluPSIreSxDLmFqYXgoe3VybDpfK2wuZXRhZ1BhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe319KTtlbHNle3ZhciBvPXRoaXMuZ2V0RnJvbVN0cihsLmV0YWdDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5ldGFnRGF0YT12b2lkIDAsaS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuYWpheCh7dXJsOl8rbC5ldGFnUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPSIrbysiOyBleHBpcmVzPVR1ZSwgMzEgRGVjIDIwMzAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5fZWMuZXRhZ0RhdGE9ZX19KX19LHRoaXMuZXZlcmNvb2tpZV9qYXZhPWZ1bmN0aW9uKGUsdCl7dmFyIG89aS5nZXRFbGVtZW50QnlJZCgiZWNBcHBsZXRDb250YWluZXIiKTtmdW5jdGlvbiBhKG8pe3ZhciBhPWkuZ2V0RWxlbWVudEJ5SWQobyk7dm9pZCAwIT09dD9hLnNldChlLHQpOkMuX2VjLmphdmFEYXRhPWEuZ2V0KGUpfSJ1bmRlZmluZWQiIT10eXBlb2YgZHRqYXZhJiYobnVsbCE9byYmby5sZW5ndGh8fCgobz1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zZXRBdHRyaWJ1dGUoImlkIiwiZWNBcHBsZXRDb250YWluZXIiKSxvLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsby5zdHlsZS50b3A9Ii0zMDAwcHgiLG8uc3R5bGUubGVmdD0iLTMwMDBweCIsby5zdHlsZS53aWR0aD0iMXB4IixvLnN0eWxlLmhlaWdodD0iMXB4IixpLmJvZHkuYXBwZW5kQ2hpbGQobykpLCJ1bmRlZmluZWQiPT10eXBlb2YgZWNBcHBsZXQ/ZHRqYXZhLmVtYmVkKHtpZDoiZWNBcHBsZXQiLHVybDprKyJldmVyY29va2llLmpubHAiLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwbGFjZWhvbGRlcjoiZWNBcHBsZXRDb250YWluZXIifSx7fSx7b25KYXZhc2NyaXB0UmVhZHk6YX0pOmEoImVjQXBwbGV0IikpfSx0aGlzLmV2ZXJjb29raWVfbHNvPWZ1bmN0aW9uKGUsdCl7CnZhciBvPWkuZ2V0RWxlbWVudEJ5SWQoInN3ZmNvbnRhaW5lciIpLGE9e30sbj17fSxjPXt9O251bGwhPW8mJm8ubGVuZ3RofHwoKG89aS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc2V0QXR0cmlidXRlKCJpZCIsInN3ZmNvbnRhaW5lciIpLGkuYm9keS5hcHBlbmRDaGlsZChvKSksdm9pZCAwIT09dCYmKGEuZXZlcmRhdGE9ZSsiPSIrdCksbi5zd2xpdmVjb25uZWN0PSJ0cnVlIixjLmlkPSJteXN3ZiIsYy5uYW1lPSJteXN3ZiIsci5lbWJlZFNXRihrKyJldmVyY29va2llLnN3ZiIsInN3ZmNvbnRhaW5lciIsIjEiLCIxIiwiOS4wLjAiLCExLGEsbixjKX0sdGhpcy5ldmVyY29va2llX3BuZz1mdW5jdGlvbihlLHQpe3ZhciBvLG4scixjPWkuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Yy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixjLndpZHRoPTIwMCxjLmhlaWdodD0xLGMmJmMuZ2V0Q29udGV4dCYmKChvPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLG8uc3R5bGUucG9zaXRpb249ImFic29sdXRlIix2b2lkIDAhPT10P2kuY29va2llPWwucG5nQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3k6KEMuX2VjLnBuZ0RhdGE9dm9pZCAwLG49Yy5nZXRDb250ZXh0KCIyZCIpLHI9dGhpcy5nZXRGcm9tU3RyKGwucG5nQ29va2llTmFtZSxpLmNvb2tpZSksaS5jb29raWU9bC5wbmdDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksby5vbmxvYWQ9ZnVuY3Rpb24oKXtpLmNvb2tpZT1sLnBuZ0Nvb2tpZU5hbWUrIj0iK3IrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLnBuZ0RhdGE9IiIsbi5kcmF3SW1hZ2UobywwLDApO3ZhciBlLHQsYT1uLmdldEltYWdlRGF0YSgwLDAsMjAwLDEpLmRhdGE7Zm9yKGU9MCx0PWEubGVuZ3RoO2U8dCYmMCE9PWFbZV0mJihDLl9lYy5wbmdEYXRhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGFbZV0pLDAhPT1hW2UrMV0pJiYoQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMV0pLDAhPT1hW2UrMl0pO2UrPTQpQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMl0pfSksby5zcmM9XytsLnBuZ1BhdGgrIj9uYW1lPSIrZSl9LHRoaXMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlPWZ1bmN0aW9uKGUsdCl7dHJ5e2lmKGMpe2lmKHZvaWQgMD09PXQpcmV0dXJuIGMuZ2V0SXRlbShlKTtjLnNldEl0ZW0oZSx0KX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2U9ZnVuY3Rpb24odCxvKXt0cnl7aWYoZS5vcGVuRGF0YWJhc2Upe3ZhciBpPWUub3BlbkRhdGFiYXNlKCJzcWxpdGVfZXZlcmNvb2tpZSIsIiIsImV2ZXJjb29raWUiLDEwNDg1NzYpO3ZvaWQgMCE9PW8/aS50cmFuc2FjdGlvbigoZnVuY3Rpb24oZSl7ZS5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBjYWNoZShpZCBJTlRFR0VSIE5PVCBOVUxMIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsIG5hbWUgVEVYVCBOT1QgTlVMTCwgdmFsdWUgVEVYVCBOT1QgTlVMTCwgVU5JUVVFIChuYW1lKSkiLFtdLChmdW5jdGlvbihlLHQpe30pLChmdW5jdGlvbihlLHQpe30pKSxlLmV4ZWN1dGVTcWwoIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gY2FjaGUobmFtZSwgdmFsdWUpIFZBTFVFUyg/LCA/KSIsW3Qsb10sKGZ1bmN0aW9uKGUsdCl7fSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpOmkudHJhbnNhY3Rpb24oKGZ1bmN0aW9uKGUpe2UuZXhlY3V0ZVNxbCgiU0VMRUNUIHZhbHVlIEZST00gY2FjaGUgV0hFUkUgbmFtZT0/IixbdF0sKGZ1bmN0aW9uKGUsdCl7dC5yb3dzLmxlbmd0aD49MT9DLl9lYy5kYkRhdGE9dC5yb3dzLml0ZW0oMCkudmFsdWU6Qy5fZWMuZGJEYXRhPSIifSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpfX1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlPWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKCJpbmRleGVkREIiaW4gZXx8KGluZGV4ZWREQj1lLmluZGV4ZWREQnx8ZS5tb3pJbmRleGVkREJ8fGUud2Via2l0SW5kZXhlZERCfHxlLm1zSW5kZXhlZERCLElEQlRyYW5zYWN0aW9uPWUuSURCVHJhbnNhY3Rpb258fGUud2Via2l0SURCVHJhbnNhY3Rpb258fGUubXNJREJUcmFuc2FjdGlvbixJREJLZXlSYW5nZT1lLklEQktleVJhbmdlfHxlLndlYmtpdElEQktleVJhbmdlfHxlLm1zSURCS2V5UmFuZ2UpLGluZGV4ZWREQil7dmFyIGk9aW5kZXhlZERCLm9wZW4oImlkYl9ldmVyY29va2llIiwxKTtpLm9uZXJyb3I9ZnVuY3Rpb24oZSl7fSxpLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihlKXtlLnRhcmdldC5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoImV2ZXJjb29raWUiLHtrZXlQYXRoOiJuYW1lIix1bmlxdWU6ITF9KX0saS5vbnN1Y2Nlc3M9dm9pZCAwIT09bz9mdW5jdGlvbihlKXt2YXIgaT1lLnRhcmdldC5yZXN1bHQ7aWYoaS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpaS50cmFuc2FjdGlvbihbImV2ZXJjb29raWUiXSwicmVhZHdyaXRlIikub2JqZWN0U3RvcmUoImV2ZXJjb29raWUiKS5wdXQoe25hbWU6dCx2YWx1ZTpvfSk7aS5jbG9zZSgpfTpmdW5jdGlvbihlKXt2YXIgbz1lLnRhcmdldC5yZXN1bHQ7aWYoby5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpe3ZhciBpPW8udHJhbnNhY3Rpb24oWyJldmVyY29va2llIl0pLm9iamVjdFN0b3JlKCJldmVyY29va2llIikuZ2V0KHQpO2kub25zdWNjZXNzPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWkucmVzdWx0P0MuX2VjLmlkYkRhdGE9dm9pZCAwOkMuX2VjLmlkYkRhdGE9aS5yZXN1bHQudmFsdWV9fWVsc2UgQy5fZWMuaWRiRGF0YT12b2lkIDA7by5jbG9zZSgpfX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX3Nlc3Npb25fc3RvcmFnZT1mdW5jdGlvbihlLHQpe3RyeXtpZihzKXtpZih2b2lkIDA9PT10KXJldHVybiBzLmdldEl0ZW0oZSk7cy5zZXRJdGVtKGUsdCl9Cn1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2U9ZnVuY3Rpb24oZSx0KXtpZihuKXt2YXIgbz10aGlzLmdldEhvc3QoKTt0cnl7aWYodm9pZCAwPT09dClyZXR1cm4gbltvXVtlXTtuW29dW2VdPXR9Y2F0Y2goZSl7fX19LHRoaXMuZXZlcmNvb2tpZV9zaWx2ZXJsaWdodD1mdW5jdGlvbihlLHQpe3ZhciBvLGE9IjQuMC41MDQwMS4wIixuPSIiO3ZvaWQgMCE9PXQmJihuPSc8cGFyYW0gbmFtZT0iaW5pdFBhcmFtcyIgdmFsdWU9IicrZSsiPSIrdCsnIiAvPicpLG89JzxvYmplY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTUwMHB4O3RvcDotNTAwcHgiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yLCIgdHlwZT0iYXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yIiBpZD0ibXlzaWx2ZXJsaWdodCIgd2lkdGg9IjAiIGhlaWdodD0iMCI+JytuKyc8cGFyYW0gbmFtZT0ic291cmNlIiB2YWx1ZT0iJysoaysiZXZlcmNvb2tpZS54YXAiKSsnIi8+PHBhcmFtIG5hbWU9Im9uTG9hZCIgdmFsdWU9Im9uU2lsdmVybGlnaHRMb2FkIi8+PHBhcmFtIG5hbWU9Im9uRXJyb3IiIHZhbHVlPSJvblNpbHZlcmxpZ2h0RXJyb3IiLz48cGFyYW0gbmFtZT0iYmFja2dyb3VuZCIgdmFsdWU9IlRyYW5zcGFyZW50Ii8+PHBhcmFtIG5hbWU9IndpbmRvd2xlc3MiIHZhbHVlPSJ0cnVlIi8+PHBhcmFtIG5hbWU9Im1pblJ1bnRpbWVWZXJzaW9uIiB2YWx1ZT0iJythKyciLz48cGFyYW0gbmFtZT0iYXV0b1VwZ3JhZGUiIHZhbHVlPSJmYWxzZSIvPjxhIGhyZWY9Imh0dHA6Ly9nby5taWNyb3NvZnQuY29tL2Z3bGluay8/TGlua0lEPTE0OTE1NiZ2PScrYSsnIiBzdHlsZT0iZGlzcGxheTpub25lIj5HZXQgTWljcm9zb2Z0IFNpbHZlcmxpZ2h0PC9hPjwvb2JqZWN0Pic7dHJ5e2kuYm9keS5hcHBlbmRDaGlsZChvKX1jYXRjaChlKXt9fSx0aGlzLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdCxvLGksYSxuLHIsYyxzPSIiLGQ9MDtmb3IoZT10aGlzLl91dGY4X2VuY29kZShlKTtkPGUubGVuZ3RoOylhPSh0PWUuY2hhckNvZGVBdChkKyspKT4+MixuPSgzJnQpPDw0fChvPWUuY2hhckNvZGVBdChkKyspKT4+NCxyPSgxNSZvKTw8MnwoaT1lLmNoYXJDb2RlQXQoZCsrKSk+PjYsYz02MyZpLGlzTmFOKG8pP3I9Yz02NDppc05hTihpKSYmKGM9NjQpLHM9cytoLmNoYXJBdChhKStoLmNoYXJBdChuKStoLmNoYXJBdChyKStoLmNoYXJBdChjKTtyZXR1cm4gc30sdGhpcy5kZWNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQsbyxpLGEsbixyLGM9IiIscz0wO2ZvcihlPWUucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3M8ZS5sZW5ndGg7KXQ9aC5pbmRleE9mKGUuY2hhckF0KHMrKykpPDwyfChhPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSk+PjQsbz0oMTUmYSk8PDR8KG49aC5pbmRleE9mKGUuY2hhckF0KHMrKykpKT4+MixpPSgzJm4pPDw2fChyPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSksYys9U3RyaW5nLmZyb21DaGFyQ29kZSh0KSw2NCE9PW4mJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pKSw2NCE9PXImJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTtyZXR1cm4gYz10aGlzLl91dGY4X2RlY29kZShjKX0sdGhpcy5fdXRmOF9lbmNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT0wLGE9KGU9ZS5yZXBsYWNlKC9cclxuL2csIlxuIikpLmxlbmd0aDtpPGE7aSsrKSh0PWUuY2hhckNvZGVBdChpKSk8MTI4P28rPVN0cmluZy5mcm9tQ2hhckNvZGUodCk6dD4xMjcmJnQ8MjA0OD8obys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42fDE5Miksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpOihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQ+PjEyfDIyNCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42JjYzfDEyOCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpO3JldHVybiBvfSx0aGlzLl91dGY4X2RlY29kZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IiIsbz0wLGk9ZS5sZW5ndGgsYT0wLG49MCxyPTA7bzxpOykoYT1lLmNoYXJDb2RlQXQobykpPDEyOD8odCs9U3RyaW5nLmZyb21DaGFyQ29kZShhKSxvKz0xKTphPjE5MSYmYTwyMjQ/KG49ZS5jaGFyQ29kZUF0KG8rMSksdCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmYSk8PDZ8NjMmbiksbys9Mik6KG49ZS5jaGFyQ29kZUF0KG8rMSkscj1lLmNoYXJDb2RlQXQobysyKSx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgxNSZhKTw8MTJ8KDYzJm4pPDw2fDYzJnIpLG8rPTMpO3JldHVybiB0fSx0aGlzLmV2ZXJjb29raWVfaGlzdG9yeT1mdW5jdGlvbihlLHQpe3ZhciBvLGksYT0oaCsiLSIpLnNwbGl0KCIiKSxuPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vZXZlcmNvb2tpZS9jYWNoZS8iK3RoaXMuZ2V0SG9zdCgpKyIvIitlLHI9IiIsYz0iIixzPTE7aWYodm9pZCAwIT09dCl7aWYodGhpcy5oYXNWaXNpdGVkKG4pKXJldHVybjtmb3IodGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiKSxuKz0iLyIsaT10aGlzLmVuY29kZSh0KS5zcGxpdCgiIiksbz0wO288aS5sZW5ndGg7bysrKW4rPWlbb10sdGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiK28pO24rPSItIix0aGlzLmNyZWF0ZUlmcmFtZShuLCJpZl8iKX1lbHNlIGlmKHRoaXMuaGFzVmlzaXRlZChuKSl7Zm9yKG4rPSIvIjsiLSIhPT1yJiYxPT09czspZm9yKHM9MCxvPTA7bzxhLmxlbmd0aDtvKyspaWYodGhpcy5oYXNWaXNpdGVkKG4rYVtvXSkpeyItIiE9PShyPWFbb10pJiYoYys9ciksbis9cixzPTE7YnJlYWt9cmV0dXJuIHRoaXMuZGVjb2RlKGMpfX0sdGhpcy5jcmVhdGVFbGVtPWZ1bmN0aW9uKGUsdCxvKXt2YXIgYTtyZXR1cm4oYT12b2lkIDAhPT10JiZpLmdldEVsZW1lbnRCeUlkKHQpP2kuZ2V0RWxlbWVudEJ5SWQodCk6aS5jcmVhdGVFbGVtZW50KGUpKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0JiZhLnNldEF0dHJpYnV0ZSgiaWQiLHQpLG8mJmkuYm9keS5hcHBlbmRDaGlsZChhKSxhfSx0aGlzLmNyZWF0ZUlmcmFtZT1mdW5jdGlvbihlLHQpewp2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImlmcmFtZSIsdCwxKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksb307dmFyIHg9dGhpcy53YWl0Rm9yU3dmPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWU/ZT0wOmUrKyxlPG0mJnZvaWQgMD09PXImJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7eChlKX0pLDMwMCl9O3RoaXMuZXZlcmNvb2tpZV9jb29raWU9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10KXJldHVybiB0aGlzLmdldEZyb21TdHIoZSxpLmNvb2tpZSk7aS5jb29raWU9ZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LGkuY29va2llPWUrIj0iK3QrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5fSx0aGlzLmdldEZyb21TdHI9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBvLGksYT1lKyI9IixuPXQuc3BsaXQoL1s7Jl0vKTtmb3Iobz0wO288bi5sZW5ndGg7bysrKXtmb3IoaT1uW29dOyIgIj09PWkuY2hhckF0KDApOylpPWkuc3Vic3RyaW5nKDEsaS5sZW5ndGgpO2lmKDA9PT1pLmluZGV4T2YoYSkpcmV0dXJuIGkuc3Vic3RyaW5nKGEubGVuZ3RoLGkubGVuZ3RoKX19fSx0aGlzLmdldEhvc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5sb2NhdGlvbi5ob3N0LnJlcGxhY2UoLzpcZCsvLCIiKX0sdGhpcy50b0hleD1mdW5jdGlvbihlKXtmb3IodmFyIHQsbz0iIixpPWUubGVuZ3RoLGE9MDthPGk7KXtmb3IodD1lLmNoYXJDb2RlQXQoYSsrKS50b1N0cmluZygxNik7dC5sZW5ndGg8MjspdD0iMCIrdDtvKz10fXJldHVybiBvfSx0aGlzLmZyb21IZXg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT1lLmxlbmd0aDtpPj0wOyl0PWktMixvPVN0cmluZy5mcm9tQ2hhckNvZGUoIjB4IitlLnN1YnN0cmluZyh0LGkpKStvLGk9dDtyZXR1cm4gb30sdGhpcy5oYXNWaXNpdGVkPWZ1bmN0aW9uKGUpey0xPT09dGhpcy5ub19jb2xvciYmKC0xPT09dGhpcy5fZ2V0UkdCKCJodHRwOi8vc2FteS13YXMtaGVyZS10aGlzLXNob3VsZC1uZXZlci1iZS12aXNpdGVkLmNvbSIsLTEpJiYodGhpcy5ub19jb2xvcj10aGlzLl9nZXRSR0IoImh0dHA6Ly9zYW15LXdhcy1oZXJlLSIrTWF0aC5mbG9vcig5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKyJyYW5kLmNvbSIpKSk7cmV0dXJuIDA9PT1lLmluZGV4T2YoImh0dHBzOiIpfHwwPT09ZS5pbmRleE9mKCJodHRwOiIpP3RoaXMuX3Rlc3RVUkwoZSx0aGlzLm5vX2NvbG9yKTp0aGlzLl90ZXN0VVJMKCJodHRwOi8vIitlLHRoaXMubm9fY29sb3IpfHx0aGlzLl90ZXN0VVJMKCJodHRwczovLyIrZSx0aGlzLm5vX2NvbG9yKXx8dGhpcy5fdGVzdFVSTCgiaHR0cDovL3d3dy4iK2UsdGhpcy5ub19jb2xvcil8fHRoaXMuX3Rlc3RVUkwoImh0dHBzOi8vd3d3LiIrZSx0aGlzLm5vX2NvbG9yKX07dmFyIGIsdyxEPXRoaXMuY3JlYXRlRWxlbSgiYSIsIl9lY19yZ2JfbGluayIpLFM9IiNfZWNfcmdiX2xpbms6dmlzaXRlZHtkaXNwbGF5Om5vbmU7Y29sb3I6I0ZGMDAwMH0iO3RyeXtiPTEsKHc9aS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5zdHlsZVNoZWV0P3cuc3R5bGVTaGVldC5pbm5lckhUTUw9Uzp3LmlubmVySFRNTD93LmlubmVySFRNTD1TOncuYXBwZW5kQ2hpbGQoaS5jcmVhdGVUZXh0Tm9kZShTKSl9Y2F0Y2goZSl7Yj0wfXRoaXMuX2dldFJHQj1mdW5jdGlvbihlLHQpe3JldHVybiB0JiYwPT09Yj8tMTooRC5ocmVmPWUsRC5pbm5lckhUTUw9ZSxpLmJvZHkuYXBwZW5kQ2hpbGQodyksaS5ib2R5LmFwcGVuZENoaWxkKEQpLGkuZGVmYXVsdFZpZXc/aS5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKEQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiY29sb3IiKTpELmN1cnJlbnRTdHlsZS5jb2xvcil9LHRoaXMuX3Rlc3RVUkw9ZnVuY3Rpb24oZSx0KXt2YXIgbz10aGlzLl9nZXRSR0IoZSk7cmV0dXJuInJnYigyNTUsIDAsIDApIj09PW98fCIjZmYwMDAwIj09PW98fHQmJm8hPT10PzE6MH19fSh3aW5kb3cpfWNhdGNoKGUpe319LDIyMjk4NigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZSx0LG8saSxhLG47d2luZG93LnBhcmVudCE9PXdpbmRvdyYmd2luZG93LkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCYmd2luZG93LlRleHRNZXRyaWNzJiYodD13aW5kb3cuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZSkmJnQuaGFzT3duUHJvcGVydHkoImZvbnQiKSYmdC5oYXNPd25Qcm9wZXJ0eSgibW96VGV4dFN0eWxlIikmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Ll9fbG9va3VwU2V0dGVyX18mJihvPXQuX19sb29rdXBTZXR0ZXJfXygiZm9udCIpKSYmKHQuX19kZWZpbmVTZXR0ZXJfXygiZm9udCIsKGZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gby5jYWxsKHRoaXMsZSl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSkpLGk9dC5tZWFzdXJlVGV4dCxlPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD0wLHRoaXMuaXNGYWtlPSEwLHRoaXMuX19wcm90b19fPXdpbmRvdy5UZXh0TWV0cmljcy5wcm90b3R5cGV9LHQubWVhc3VyZVRleHQ9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaCh0KXtpZigiTlNfRVJST1JfRkFJTFVSRSIhPT10Lm5hbWUpdGhyb3cgdDtyZXR1cm4gbmV3IGV9fSxhPXQuZmlsbFRleHQsdC5maWxsVGV4dD1mdW5jdGlvbihlLHQsbyxpKXt0cnl7YS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSxuPXQuc3Ryb2tlVGV4dCx0LnN0cm9rZVRleHQ9ZnVuY3Rpb24oZSx0LG8saSl7dHJ5e24uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKGUpe2lmKCJOU19FUlJPUl9GQUlMVVJFIiE9PWUubmFtZSl0aHJvdyBlfX0pfSw4MTczNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPW8oMTc4NDk3KSxhPW8oMzYwNjIwKTtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZXx8ITE9PT1lfHwoMCwKYS5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9Pm59KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDM2MDYyMCk7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLGEuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDI5NTYzNSksbj1vKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxhLmRlZmF1bHQpKGUpJiYoMCxuLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsaS5kZWZhdWx0KShlKX19LDgzOTQyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtkZWZhdWx0OigpPT5ufSk7dmFyIGk9byg2OTIzNjkpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXt2YXIgbztpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuIGU9KDAsaS5kZWZhdWx0KShlKSxmdW5jdGlvbigpe3JldHVybi0tZT4wJiYobz10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSksZTw9MSYmKHQ9dm9pZCAwKSxvfX07Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gYSgyLGUpfX0sNjkyMzY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDQwNjQ0OSksYT0xLzA7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gZT8oZT0oMCxpLmRlZmF1bHQpKGUpKT09PWF8fGU9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MiooZTwwPy0xOjEpOmU9PWU/ZTowOjA9PT1lP2U6MH07Y29uc3Qgcj1mdW5jdGlvbihlKXt2YXIgdD1uKGUpLG89dCUxO3JldHVybiB0PT10P28/dC1vOnQ6MH19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.894Z","timestamp":1785124876894,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53297.a6f6547cdad8d37971fc.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-103a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 24a60fc7388bc957d7195fad6bd5c4d0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":66470,"size_decoded":23266,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-27T06:24:31.548778Z","times_seen":47,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw1MzI5Nyw2MzU5NV0sezg1MzMzNihlLHQpe3ZhciBvLG4scztuPVt0XSxvPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLG89QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKW9bdF09ZVt0XTtyZXR1cm4gb31yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG89ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBuPXtnZXQgcGFzc2l2ZSgpe289ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwsbiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLG4pfXZhciBzPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksaT1bXSxyPSExLGE9LTEsbD12b2lkIDAsYz12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gaS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxkPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1jJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9YyxjPXZvaWQgMCksdm9pZCAwIT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9bCxsPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxuKXtpZihzKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFpLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6bnx8e319O2k9W10uY29uY2F0KHQoaSksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGE9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBvLG4scyxpOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYobj1lLGk9KG89dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWEsIXUoby50YXJnZXQpJiYobiYmMD09PW4uc2Nyb2xsVG9wJiYwPGl8fChzPW4pJiZzLnNjcm9sbEhlaWdodC1zLnNjcm9sbFRvcDw9cy5jbGllbnRIZWlnaHQmJmk8MD9kKG8pOm8uc3RvcFByb3BhZ2F0aW9uKCkpKX0scnx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZCxvP3twYXNzaXZlOiExfTp2b2lkIDApLHI9ITApfX1lbHNle209bixzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWMpe3ZhciBlPSEhbSYmITA9PT1tLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoYz1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PWwmJihsPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOm58fHt9fTtpPVtdLmNvbmNhdCh0KGkpLFtwXSl9dmFyIG19LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtzPyhpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSksaT1bXSxhPS0xKTooaCgpLGk9W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYocyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsaT1pLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksciYmMD09PWkubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSl9ZWxzZSAxPT09aS5sZW5ndGgmJmlbMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxpPVtdKTppPWkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShzPSJmdW5jdGlvbiI9PXR5cGVvZiBvP28uYXBwbHkodCxuKTpvKXx8KGUuZXhwb3J0cz1zKX0sOTU4NjM5KGUpe2UuZXhwb3J0cz17bWVudVdyYXA6Im1lbnVXcmFwLWxCSXhJd3R6Iixpc01lYXN1cmluZzoiaXNNZWFzdXJpbmctbEJJeEl3dHoiLHNjcm9sbFdyYXA6InNjcm9sbFdyYXAtbEJJeEl3dHoiLG1vbWVudHVtQmFzZWQ6Im1vbWVudHVtQmFzZWQtbEJJeEl3dHoiLG1lbnVCb3g6Im1lbnVCb3gtbEJJeEl3dHoiLAppc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sNzYxMDkzKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLW5ma0dtN05HIn19LDk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0MjQyNjIoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1zWHNwWk5uWiIsaG92ZXI6ImhvdmVyLXNYc3BaTm5aIixjbGlja2VkOiJjbGlja2VkLXNYc3BaTm5aIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXNYc3BaTm5aIixhcnJvdzoiYXJyb3ctc1hzcFpObloiLGFycm93V3JhcDoiYXJyb3dXcmFwLXNYc3BaTm5aIixpc09wZW5lZDoiaXNPcGVuZWQtc1hzcFpObloifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSw4MTAyODEoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLVdCMnkwRW5QIixkcm9wcGVkOiJkcm9wcGVkLVdCMnkwRW5QIn19LDQwNjExMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtNYXRjaE1lZGlhOigpPT5zfSk7dmFyIG49byg3Nzk0NzQpO2NsYXNzIHMgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLnN0YXRlPXtxdWVyeTp3aW5kb3cubWF0Y2hNZWRpYSh0aGlzLnByb3BzLnJ1bGUpfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnN0YXRlLnF1ZXJ5IT09dC5xdWVyeSYmKHRoaXMuX3Vuc3Vic2NyaWJlKHQucXVlcnkpLHRoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl91bnN1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbih0aGlzLnN0YXRlLnF1ZXJ5Lm1hdGNoZXMpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoZSx0KXtyZXR1cm4gZS5ydWxlIT09dC5xdWVyeS5tZWRpYT97cXVlcnk6d2luZG93Lm1hdGNoTWVkaWEoZS5ydWxlKX06bnVsbH1fc3Vic2NyaWJlKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfV91bnN1YnNjcmliZShlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlQ2hhbmdlKX19fSw2ODEyMjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TWVudUNvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSwxNDUxNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9NRU5VX1RIRU1FOigpPT5mLE1lbnU6KCk9PmJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDkxNDQ4NyksaT1vLm4ocykscj1vKDEzODYzOCksYT1vKDYwNzgzMiksbD1vKDkwMzQyKSxjPW8oODkxMjA5KSx1PW8oNjQwNzQ0KSxkPW8oNTE4NzUpLGg9byg3MjcwOSkscD1vKDI3NjAxOSksbT1vKDY4MTIyNCksdj1vKDk1ODYzOSk7Y29uc3QgZj12O3ZhciBnOyFmdW5jdGlvbihlKXtlW2UuSW5kZW50RnJvbVdpbmRvdz0wXT0iSW5kZW50RnJvbVdpbmRvdyJ9KGd8fChnPXt9KSk7Y2xhc3MgYiBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb250YWluZXJSZWY9bnVsbCx0aGlzLl9zY3JvbGxXcmFwUmVmPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fc2Nyb2xsUmFmPW51bGwsdGhpcy5fc2Nyb2xsVGltZW91dD12b2lkIDAsdGhpcy5fbWFuYWdlcj1uZXcgbC5PdmVybGFwTWFuYWdlcix0aGlzLl9ob3RrZXlzPW51bGwsCnRoaXMuX3Njcm9sbD0wLHRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZj1lPT57dGhpcy5fY29udGFpbmVyUmVmPWUsdGhpcy5wcm9wcy5yZWZlcmVuY2UmJigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJnRoaXMucHJvcHMucmVmZXJlbmNlKGUpLCJvYmplY3QiPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJih0aGlzLnByb3BzLnJlZmVyZW5jZS5jdXJyZW50PWUpKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJnRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZSYmKHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZS5jdXJyZW50PWUpfSx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZT0oKT0+e3RoaXMuX3Jlc2l6ZUZvcmNlZCgpLHRoaXMuX2hhbmRsZU1lYXN1cmUoKX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oe2NhbGxiYWNrOmUsZm9yY2VSZWNhbGNQb3NpdGlvbjp0fT17fSk9PntpZih0aGlzLnN0YXRlLmlzTWVhc3VyZVZhbGlkJiYhdClyZXR1cm47Y29uc3R7cG9zaXRpb246b309dGhpcy5wcm9wcyxuPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtsZXQgcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ/PzA7bGV0IGM9aS0wLWw7Y29uc3QgZD1zLmhlaWdodD5jO2lmKGQpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZikuc3R5bGUub3ZlcmZsb3dZPSJzY3JvbGwiLHM9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jb25zdHt3aWR0aDpoLGhlaWdodDpwfT1zLG09ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh7Y29udGVudFdpZHRoOmgsY29udGVudEhlaWdodDpwLGF2YWlsYWJsZVdpZHRoOmEsYXZhaWxhYmxlSGVpZ2h0Oml9KTpvLHY9bT8uaW5kZW50RnJvbVdpbmRvdz8ubGVmdD8/MCxmPWEtKG0ub3ZlcnJpZGVXaWR0aD8/aCktKG0/LmluZGVudEZyb21XaW5kb3c/LnJpZ2h0Pz8wKSxnPSgwLHUuY2xhbXApKG0ueCx2LE1hdGgubWF4KHYsZikpLGI9KG0/LmluZGVudEZyb21XaW5kb3c/LnRvcD8/MCkrbCx3PWktKG0ub3ZlcnJpZGVIZWlnaHQ/P3ApLShtPy5pbmRlbnRGcm9tV2luZG93Py5ib3R0b20/PzApO2xldCB5PSgwLHUuY2xhbXApKG0ueSxiLE1hdGgubWF4KGIsdykpO2lmKG0uZm9yYmlkQ29ycmVjdFlDb29yZCYmeTxtLnkmJihjLT1tLnkteSx5PW0ueSksdCYmdm9pZCAwIT09dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldCYmbS55PD10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0KXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCEwKTtjb25zdCBfPW0ub3ZlcnJpZGVIZWlnaHQ/PyhkP2M6dm9pZCAwKTt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51SGVpZ2h0Ol8sYXBwZWFyaW5nTWVudVdpZHRoOnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51V2lkdGg6bS5vdmVycmlkZVdpZHRoLGFwcGVhcmluZ1Bvc2l0aW9uOnt4OmcseX0saXNNZWFzdXJlVmFsaWQ6ITB9LCgoKT0+e3RoaXMucHJvcHMuZG9Ob3RSZXN0b3JlUG9zaXRpb258fHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbigpLGUmJmUoKX0pKX0sdGhpcy5fcmVzdG9yZVNjcm9sbFBvc2l0aW9uPSgpPT57Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpO2Uuc2Nyb2xsVG9wPXRoaXMuX3Njcm9sbDtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbz0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvbnRhaW5lclJlZik7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZvLmNvbnRhaW5zKHQpJiYhdGhpcy5faXNFbGVtZW50RnVsbHlWaXNpYmxlKHQsZSkpdHJ5e3Quc2Nyb2xsSW50b1ZpZXcoKX1jYXRjaChlKXt9fSx0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGU9KGUsdCk9Pntjb25zdCBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBvLnRvcD49bi50b3AmJm8uYm90dG9tPD1uLmJvdHRvbX0sdGhpcy5fcmVzaXplRm9yY2VkPSgpPT57dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp2b2lkIDAsYXBwZWFyaW5nTWVudVdpZHRoOnZvaWQgMCxhcHBlYXJpbmdQb3NpdGlvbjp2b2lkIDAsaXNNZWFzdXJlVmFsaWQ6dm9pZCAwfSl9LHRoaXMuX3Jlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9yYWYmJih0aGlzLl9yYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pLHRoaXMuX3JhZj1udWxsfSkpKX0sdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2U9ZT0+e3RoaXMucHJvcHMub25DbG9zZShlKX0sdGhpcy5faGFuZGxlU2xvdD1lPT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIoZSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e3RoaXMuX3Njcm9sbD0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnNjcm9sbFRvcH0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZD0oKT0+e2NsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KSx0aGlzLl9zY3JvbGxUaW1lb3V0PXNldFRpbWVvdXQoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pfSksODApfSx0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlPWU9PnsKZS50YXJnZXQhPT10aGlzLl9zY3JvbGxXcmFwUmVmJiYodGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZCgpLG51bGw9PT10aGlzLl9zY3JvbGxSYWYmJih0aGlzLl9zY3JvbGxSYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KSx0aGlzLl9zY3JvbGxSYWY9bnVsbH0pKSkpfSx0aGlzLnN0YXRlPXt9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faGFuZGxlTWVhc3VyZSh7Y2FsbGJhY2s6dGhpcy5wcm9wcy5vbk9wZW59KTtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9cC5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8uc3Vic2NyaWJlKG51bGwsdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZSk7Y29uc3Qgbz1udWxsIT09dGhpcy5jb250ZXh0O3RoaXMuX2hvdGtleXN8fG98fCh0aGlzLl9ob3RrZXlzPWguY3JlYXRlR3JvdXAoe2Rlc2M6IlBvcHVwIG1lbnUifSksdGhpcy5faG90a2V5cy5hZGQoe2Rlc2M6IkNsb3NlIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e3RoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCl9fSkpLHRoaXMucHJvcHMucmVwb3NpdGlvbk9uU2Nyb2xsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5faGFuZGxlTWVhc3VyZSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y3VzdG9tQ2xvc2VEZWxlZ2F0ZTplPXAuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTp0fT10aGlzLnByb3BzO2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSksdGhpcy5faG90a2V5cyYmKHRoaXMuX2hvdGtleXMuZGVzdHJveSgpLHRoaXMuX2hvdGtleXM9bnVsbCksbnVsbCE9PXRoaXMuX3JhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZiksdGhpcy5fcmFmPW51bGwpLG51bGwhPT10aGlzLl9zY3JvbGxSYWYmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxSYWYpLHRoaXMuX3Njcm9sbFJhZj1udWxsKSx0aGlzLl9zY3JvbGxUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxyb2xlOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjpyLCJhcmlhLWhpZGRlbiI6bCwiYXJpYS1kZXNjcmliZWRieSI6dSwiYXJpYS1pbnZhbGlkIjpoLGNoaWxkcmVuOnAsbWluV2lkdGg6Zix0aGVtZTpnPXYsY2xhc3NOYW1lOmIsbWF4SGVpZ2h0Onksb25Nb3VzZU92ZXI6Xyxvbk1vdXNlT3V0Ongsb25LZXlEb3duOkUsb25Gb2N1czpDLG9uQmx1cjpTfT10aGlzLnByb3BzLHthcHBlYXJpbmdNZW51SGVpZ2h0Ok0sYXBwZWFyaW5nTWVudVdpZHRoOkEsYXBwZWFyaW5nUG9zaXRpb246ayxpc01lYXN1cmVWYWxpZDpOfT10aGlzLnN0YXRlLEQ9eyItLXVpLWtpdC1tZW51LW1heC13aWR0aCI6YCR7ayYmay54fXB4YCxtYXhXaWR0aDoiY2FsYygxMDB2dyAtIHZhcigtLXVpLWtpdC1tZW51LW1heC13aWR0aCkgLSA2cHgpIn07cmV0dXJuIG4uY3JlYXRlRWxlbWVudChtLk1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzfSxuLmNyZWF0ZUVsZW1lbnQoYy5TdWJtZW51SGFuZGxlcixudWxsLG4uY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOmUscm9sZTp0LCJhcmlhLWxhYmVsIjpvLCJhcmlhLWxhYmVsbGVkYnkiOnMsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6ciwiYXJpYS1oaWRkZW4iOmwsImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjbGFzc05hbWU6aSgpKGIsZy5tZW51V3JhcCwhTiYmZy5pc01lYXN1cmluZyksc3R5bGU6e2hlaWdodDpNLGxlZnQ6ayYmay54LG1pbldpZHRoOmYscG9zaXRpb246ImZpeGVkIix0b3A6ayYmay55LHdpZHRoOkEsLi4udGhpcy5wcm9wcy5saW1pdE1heFdpZHRoJiZEfSwiZGF0YS1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLW5hbWUiXSwiZGF0YS1xYS1pZCI6dGhpcy5wcm9wcy5kYXRhUWFJZCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOnRoaXMucHJvcHNbImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIl0scmVmOnRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZixvblNjcm9sbENhcHR1cmU6dGhpcy5wcm9wcy5vblNjcm9sbCxvbkNvbnRleHRNZW51OmQucHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudSx0YWJJbmRleDp0aGlzLnByb3BzLnRhYkluZGV4LG9uTW91c2VPdmVyOl8sb25Nb3VzZU91dDp4LG9uS2V5RG93bjpFLG9uRm9jdXM6QyxvbkJsdXI6U30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGcuc2Nyb2xsV3JhcCwhdGhpcy5wcm9wcy5ub01vbWVudHVtQmFzZWRTY3JvbGwmJmcubW9tZW50dW1CYXNlZCksc3R5bGU6e292ZXJmbG93WTp2b2lkIDAhPT1NPyJzY3JvbGwiOiJhdXRvIixtYXhIZWlnaHQ6eX0sb25TY3JvbGxDYXB0dXJlOnRoaXMuX2hhbmRsZVNjcm9sbCxyZWY6dGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZn0sbi5jcmVhdGVFbGVtZW50KHcse2NsYXNzTmFtZTpnLm1lbnVCb3h9LHApKSkpLG4uY3JlYXRlRWxlbWVudChhLlNsb3QsewpyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKSl9dXBkYXRlKGUpe2U/dGhpcy5fcmVzaXplRm9yY2VkKCk6dGhpcy5fcmVzaXplKCl9Zm9jdXMoZSl7dGhpcy5fY29udGFpbmVyUmVmPy5mb2N1cyhlKX1ibHVyKCl7dGhpcy5fY29udGFpbmVyUmVmPy5ibHVyKCl9fWZ1bmN0aW9uIHcoZSl7Y29uc3QgdD0oMCxyLmVuc3VyZU5vdE51bGwpKCgwLG4udXNlQ29udGV4dCkoYy5TdWJtZW51Q29udGV4dCkpLG89bi51c2VSZWYobnVsbCk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOm8sY2xhc3NOYW1lOmUuY2xhc3NOYW1lLG9uTW91c2VPdmVyOmZ1bmN0aW9uKGUpe2lmKCEobnVsbCE9PXQuY3VycmVudCYmZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiYobj1lLnRhcmdldCxvLmN1cnJlbnQ/LmNvbnRhaW5zKG4pKSkpcmV0dXJuO3ZhciBuO3QuaXNTdWJtZW51Tm9kZShlLnRhcmdldCl8fHQuc2V0Q3VycmVudChudWxsKX0sImRhdGEtcWEtaWQiOiJtZW51LWlubmVyIn0sZS5jaGlsZHJlbil9Yi5jb250ZXh0VHlwZT1jLlN1Ym1lbnVDb250ZXh0fSwxNTM3MzQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUU6KCk9PnUsUG9wdXBNZW51SXRlbTooKT0+aH0pO3ZhciBuPW8oNzc5NDc0KSxzPW8oOTE0NDg3KSxpPW8ubihzKSxyPW8oMzg3Nzc0KSxhPW8oODQ4OTg4KSxsPW8oMjc2MDE5KSxjPW8oNDcwMjk1KTtjb25zdCB1PWM7ZnVuY3Rpb24gZChlKXtlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoZSl7Y29uc3R7aWQ6dCxyb2xlOm8sY2xhc3NOYW1lOnMsdGl0bGU6dSxsYWJlbFJvd0NsYXNzTmFtZTpoLGxhYmVsQ2xhc3NOYW1lOnAsdG9vbGJveENsYXNzTmFtZTptLHNob3J0Y3V0OnYsZm9yY2VTaG93U2hvcnRjdXRzOmYsaWNvbjpnLGljb25DbGFzc25hbWU6Yixpc0FjdGl2ZTp3LGlzRGlzYWJsZWQ6eSxpc0hvdmVyZWQ6XyxhcHBlYXJBc0Rpc2FibGVkOngsbGFiZWw6RSxsaW5rOkMsc2hvd1Rvb2xib3hPbkhvdmVyOlMsc2hvd1Rvb2xib3hPbkZvY3VzOk0sdGFyZ2V0OkEscmVsOmssdG9vbGJveDpOLHRvb2xib3hSb2xlOkQscmVmZXJlbmNlOk8sb25Nb3VzZU91dDpQLG9uTW91c2VPdmVyOkwsb25LZXlEb3duOkIsc3VwcHJlc3NUb29sYm94Q2xpY2s6VD0hMCx0aGVtZTpSPWMsdGFiSW5kZXg6eix0YWdOYW1lOkYscmVuZGVyQ29tcG9uZW50Okkscm91bmRlZEljb246VyxpY29uQXJpYVByb3BzOkgsY2lyY2xlTG9nbzpWLGRvbnRDbG9zZVBvcHVwOlEsb25DbGljazpVLG9uQ2xpY2tBcmc6WixvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsc3RhcnRTbG90OkssZGF0YVFhSWQ6JCwuLi5qfT1lLFk9KDAsbi51c2VSZWYpKG51bGwpLFg9KDAsbi51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7Y29uc3R7cmVmZXJlbmNlOm8sLi4uc309dCxpPWU/PyhzLmhyZWY/ImEiOiJkaXYiKSxyPSJhIj09PWk/czpmdW5jdGlvbihlKXtjb25zdHtkb3dubG9hZDp0LGhyZWY6byxocmVmTGFuZzpuLG1lZGlhOnMscGluZzppLHJlbDpyLHRhcmdldDphLHR5cGU6bCxyZWZlcnJlclBvbGljeTpjLC4uLnV9PWU7cmV0dXJuIHV9KHMpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoaSx7Li4ucixyZWY6b30pfXJldHVybiB0LmRpc3BsYXlOYW1lPWBEZWZhdWx0Q29tcG9uZW50KCR7ZX0pYCx0fShGKSksW0ZdKSxKPUk/P1g7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChKLHsuLi5qLGlkOnQscm9sZTpvLGNsYXNzTmFtZTppKCkocyxSLml0ZW0sZyYmUi53aXRoSWNvbix7W1IuaXNBY3RpdmVdOncsW1IuaXNEaXNhYmxlZF06eXx8eCxbUi5ob3ZlcmVkXTpffSksdGl0bGU6dSxocmVmOkMsdGFyZ2V0OkEscmVsOmsscmVmZXJlbmNlOmZ1bmN0aW9uKGUpe1kuY3VycmVudD1lLCJmdW5jdGlvbiI9PXR5cGVvZiBPJiZPKGUpOyJvYmplY3QiPT10eXBlb2YgTyYmKE8uY3VycmVudD1lKX0sb25DbGljazpmdW5jdGlvbihlKXtpZih5KXJldHVybjtVJiZVKFosZSk7UXx8KGUuY3VycmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicG9wdXAtbWVudS1jbG9zZS1ldmVudCIse2J1YmJsZXM6ITAsZGV0YWlsOntjbGlja1R5cGU6KDAsYS5pc0tleWJvYXJkQ2xpY2spKGUpPyJrZXlib2FyZCI6Im1vdXNlIn19KSksKDAsbC5nbG9iYWxDbG9zZU1lbnUpKCkpfSxvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsb25Nb3VzZU92ZXI6TCxvbk1vdXNlT3V0OlAsb25LZXlEb3duOkIsdGFiSW5kZXg6eiwiZGF0YS1xYS1pZCI6JH0sViYmbi5jcmVhdGVFbGVtZW50KHIuQ2lyY2xlTG9nbyx7Li4uSCxjbGFzc05hbWU6Y1siZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIl0sc2l6ZToieHh4c21hbGwiLGxvZ29Vcmw6Vi5sb2dvVXJsLHBsYWNlaG9sZGVyTGV0dGVyOiJwbGFjZWhvbGRlckxldHRlciJpbiBWP1YucGxhY2Vob2xkZXJMZXR0ZXI6dm9pZCAwfSksSyYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlIuc3RhcnRTbG90fSxLKSxnJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsiYXJpYS1sYWJlbCI6SCYmSFsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6SCYmQm9vbGVhbihIWyJhcmlhLWhpZGRlbiJdKSxjbGFzc05hbWU6aSgpKFIuaWNvbixXJiZjWyJyb3VuZC1pY29uIl0sYiksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpnfX0pLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoUi5sYWJlbFJvdyxoKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShSLmxhYmVsLHApfSxFKSksKHZvaWQgMCE9PXZ8fGYpJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Ui5zaG9ydGN1dH0sKGVlPXYpJiZlZS5zcGxpdCgiKyIpLmpvaW4oIiArICIpKSx2b2lkIDAhPT1OJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOkQsb25DbGljazpUP2Q6dm9pZCAwLGNsYXNzTmFtZTppKCkobSxSLnRvb2xib3gse1tSLnNob3dPbkhvdmVyXTpTLFtSLnNob3dPbkZvY3VzXTpNfSl9LE4pKTt2YXIgZWV9fSw2MzI5OTIoZSx0LG8peyJ1c2Ugc3RyaWN0Igo7by5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyNzYwMTkpO2NvbnN0IGk9bi5jcmVhdGVDb250ZXh0KHMuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDgzNTk2NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtQb3B1cE1lbnU6KCk9Pmh9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDEyOTM2NSksaT1vKDkyODEzMikscj1vKDU4NTQ4KSxhPW8oMjM2NzY1KSxsPW8oMjI3OTQ5KSxjPW8oMTQ1MTUwKSx1PW8oNjMyOTkyKSxkPW8oMzAxOTM3KTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NvbnRyb2xsZXI6dCxjaGlsZHJlbjpvLGlzT3BlbmVkOmgsY2xvc2VPbkNsaWNrT3V0c2lkZTpwPSEwLGRvTm90Q2xvc2VPbjptLG9uQ2xpY2tPdXRzaWRlOnYsb25DbG9zZTpmLG9uS2V5Ym9hcmRDbG9zZTpnLGRhdGFRYUlkOmI9InBvcHVwLW1lbnUtY29udGFpbmVyIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3LC4uLnl9PWUsXz0oMCxuLnVzZUNvbnRleHQpKHUuQ2xvc2VEZWxlZ2F0ZUNvbnRleHQpLHg9bi51c2VDb250ZXh0KGwuTWVudVdpZHRoQ29udGV4dCksRT0oMCxuLnVzZUNvbnRleHQpKGQuUmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0KSxDPSgwLGEudXNlT3V0c2lkZUV2ZW50KSh7aGFuZGxlcjpmdW5jdGlvbihlKXt2JiZ2KGUpO2lmKCFwKXJldHVybjtjb25zdCB0PSgwLGkuZGVmYXVsdCkobSk/bSgpOm51bGw9PW0/W106W21dO2lmKHQubGVuZ3RoPjAmJmUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSlmb3IoY29uc3QgbyBvZiB0KXtjb25zdCB0PXMuZmluZERPTU5vZGUobyk7aWYodCBpbnN0YW5jZW9mIE5vZGUmJnQuY29udGFpbnMoZS50YXJnZXQpKXJldHVybn1mKCl9LG1vdXNlRG93bjohMCx0b3VjaFN0YXJ0OiEwfSk7cmV0dXJuIGg/bi5jcmVhdGVFbGVtZW50KHIuUG9ydGFsLHt0b3A6IjAiLGxlZnQ6IjAiLHJpZ2h0OiIwIixib3R0b206IjAiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6QyxzdHlsZTp7cG9pbnRlckV2ZW50czoiYXV0byJ9fSxuLmNyZWF0ZUVsZW1lbnQoYy5NZW51LHsuLi55LG9uQ2xvc2U6ZixvbktleWJvYXJkQ2xvc2U6ZyxvblNjcm9sbDpmdW5jdGlvbih0KXtjb25zdHtvblNjcm9sbDpvfT1lO28mJm8odCl9LGN1c3RvbUNsb3NlRGVsZWdhdGU6XyxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTpFLHJlZjp0LGRhdGFRYUlkOmIsbGltaXRNYXhXaWR0aDp4LnNldE1lbnVNYXhXaWR0aCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3fSxvKSkpOm51bGx9fSwzMDE5MzcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7Y29uc3Qgbj1vKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh2b2lkIDApfSwxOTkxNzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldE1lbnVTdW1tYXJ5OigpPT5hfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg3NjEwOTMpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShlLmNsYXNzTmFtZSxyLnRpdGxlKX0sZS5jaGlsZHJlbil9fSw1NTgwMzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDg1MzMzNiksaT1vKDEzODYzOCkscj1vKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46bywuLi5pfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihyLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLHMuZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxzLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLml9LG8pfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBvPSgwLGkuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIW8uY29udGFpbnModCl8fG51bGwhPT1uJiZvLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDM4NzIzMShlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0LG89e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LG89e30pe2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1vW3NdfHxzO2kgaW4gZSYmKG5bc109W2VbaV0sdFtzXV0uam9pbigiICIpKX1yZXR1cm4gbn0oZSx0LG8pKX1vLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm59KX0sNTkwNDg2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0JhZGdlOigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg5Nzc3NyksYT1vLm4ocik7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6bywuLi5zfSl7cmV0dXJuIGU/bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm8sLi4uc30pOnQ/bi5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm8sLi4uc30pOm4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpvLC4uLnN9KX0KZnVuY3Rpb24gYyh7Y2xhc3NOYW1lOmUsc2l6ZTp0LGxlZnRTbG90Om8scmlnaHRTbG90OnMsY2hpbGRyZW46ciwuLi5jfSl7Y29uc3QgdT1pKCkoZSxhKCkuYmFkZ2UsdCYmYSgpW3RdLHImJmEoKS5oYXNDaGlsZHJlbik7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChsLHtjbGFzc05hbWU6dSwuLi5jfSxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0sbyksciYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5jb250ZW50fSxyKSxzJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0scykpfX0sOTAwODQxKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQsbyxuLHMpe2Z1bmN0aW9uIGkocyl7aWYoZT5zLnRpbWVTdGFtcClyZXR1cm47Y29uc3QgaT1zLnRhcmdldDt2b2lkIDAhPT1vJiZudWxsIT09dCYmbnVsbCE9PWkmJmkub3duZXJEb2N1bWVudD09PW4mJih0LmNvbnRhaW5zKGkpfHxvKHMpKX1yZXR1cm4gcy5jbGljayYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSwhMSkscy5tb3VzZURvd24mJm4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpLCExKSxzLnRvdWNoRW5kJiZuLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLCExKSxzLnRvdWNoU3RhcnQmJm4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaSwhMSksKCk9PntuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixpLCExKSxuLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLCExKX19by5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5ufSl9LDIzNjc2NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9PnJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDYxNjMxMSksaT1vKDkwMDg0MSk7ZnVuY3Rpb24gcihlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphLGhhbmRsZXI6bCxyZWZlcmVuY2U6Y309ZSx1PSgwLG4udXNlUmVmKShudWxsKSxkPSgwLG4udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAscy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphfSxuPWM/Yy5jdXJyZW50OnUuY3VycmVudDtyZXR1cm4oMCxpLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbixsLGRvY3VtZW50LGUpfSksW3QsbyxyLGEsbF0pLGN8fHV9fSwyOTAyNDMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlU2FmZU1vYmlsZVRvdWNoOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9byg3Mzg0NTgpO2Z1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLG4udXNlU3RhdGUpKCExKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT57dChzLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sMTE5NzUwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ljb25RdWVzdGlvbkluZm9ybWF0aW9uOigpPT5DLEljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uOigpPT5TfSk7dmFyIG4scz1vKDc3OTQ3NCksaT1vKDkxNDQ4Nykscj1vLm4oaSksYT1vKDM0NTExNiksbD1vKDI3MzMxMCksYz1vKDc4NTk5NSksdT1vLm4oYyksZD1vKDUyNzIxOSksaD1vLm4oZCkscD1vKDY3MzA2NSksbT1vLm4ocCksdj1vKDQwMDA0NiksZj1vLm4odiksZz1vKDk5NDUpLGI9by5uKGcpOyFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShufHwobj17fSkpO2NvbnN0IHc9InNtYWxsIjt2YXIgeSxfOyFmdW5jdGlvbihlKXtlLkRlZmF1bHQ9ImRlZmF1bHQiLGUuRGFuZ2VyPSJkYW5nZXIiLGUuV2FybmluZz0id2FybmluZyIsZS5TdWNjZXNzPSJzdWNjZXNzIixlLk5ldXRyYWw9Im5ldXRyYWwiLGUuTmV1dHJhbExpZ2h0PSJuZXV0cmFsLWxpZ2h0In0oeXx8KHk9e30pKSxmdW5jdGlvbihlKXtlLkluZm89ImluZm8iLGUuUXVlc3Rpb249InF1ZXN0aW9uIixlLkNoZWNrPSJjaGVjayIsZS5FeGNsYW1hdGlvbj0iZXhjbGFtYXRpb24ifShffHwoXz17fSkpO2NvbnN0IHg9e2luZm86aCgpLHF1ZXN0aW9uOnUoKSxjaGVjazptKCksZXhjbGFtYXRpb246ZigpfSxFPXMuZm9yd2FyZFJlZigoKGUsdCk9PnMuY3JlYXRlRWxlbWVudCgic3BhbiIsey4uLmUscmVmOnQsY2xhc3NOYW1lOnIoKShlLmNsYXNzTmFtZSxiKClbIm5vLWFjdGl2ZS1zdGF0ZSJdKX0pKSksQz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpvPSJleGNsYW1hdGlvbiIsaW50ZW50Om49ImRlZmF1bHQiLGFyaWFMYWJlbDppLHRvb2x0aXA6YyxjbGFzc05hbWU6dSxyZW5kZXJDb21wb25lbnQ6ZD1FLHRhYkluZGV4Omg9MCxzaXplOnA9dyxvbkZvY3VzOm0sb25CbHVyOnYsb25DbGljazpmLC4uLmd9PWUseT14W29dPz9vO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoZCx7Y2xhc3NOYW1lOnIoKSh1LGIoKS5pY29uV3JhcHBlcixiKClbbl0sYigpW3BdKSx0aXRsZTpjLHJlZjp0LHRhYkluZGV4Omgsb25Gb2N1czptLG9uQmx1cjp2LG9uQ2xpY2s6ZiwuLi4oMCxhLmZpbHRlckRhdGFQcm9wcykoZyl9LHMuY3JlYXRlRWxlbWVudChsLkljb24seyJhcmlhLWhpZGRlbiI6IWksImFyaWEtbGFiZWwiOmksaWNvbjp5LGNsYXNzTmFtZTpiKCkuaWNvbn0pKX0pKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2ljb246dD0iZXhjbGFtYXRpb24iLGludGVudDpvPSJkZWZhdWx0IixzaXplOm49dyxvbkNsaWNrOmksb25Nb3VzZUVudGVyOmEsb25Nb3VzZUxlYXZlOmMsb25Gb2N1czp1LG9uQmx1cjpkLHJlZmVyZW5jZTpoLGFyaWFMYWJlbDpwfT1lLG09eFt0XT8/dDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtjbGFzc05hbWU6cigpKGIoKS5pY29uV3JhcHBlcixiKClbb10sYigpW25dKSwKcmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjphLG9uTW91c2VMZWF2ZTpjLG9uRm9jdXM6dSxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0scy5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTpiKCkuaWNvbn0pKX19LDg2NTA5MihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VUb29sdGlwOigpPT5yfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyOTAyNDMpLGk9byg3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm8saGlkZVRvb2x0aXA6cixvbkNsaWNrOmEsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSxjPSgwLGkudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksdT0oMCxzLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPXUmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxuLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+ciYmcigpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW2Mscl0pO3JldHVybntvbkJsdXI6KDAsbi51c2VDYWxsYmFjaykoKGU9PntyJiZyKCl9KSxbcl0pLG9uRm9jdXM6KDAsbi51c2VDYWxsYmFjaykoKGU9PnshZS50YXJnZXQubWF0Y2hlcygiOmhvdmVyIikmJm8mJmUudGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJm8oZS5jdXJyZW50VGFyZ2V0LHt0b29sdGlwRGVsYXk6MjAwfSl9KSxbb10pLG9uQ2xpY2s6KDAsbi51c2VDYWxsYmFjaykoKGU9Pnt1JiZjPy5jdXJyZW50Py5mb2N1cygpLGEmJmEoZSl9KSxbYSxjLHVdKSx0b29sdGlwOmQsY2xhc3NOYW1lOnZvaWQgMCE9PWQ/ImFwcGx5LWNvbW1vbi10b29sdGlwIjp2b2lkIDAscmVmOmN9fX0sMjI3OTQ5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01lbnVXaWR0aENvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtzZXRNZW51TWF4V2lkdGg6ITF9KX0sODkxMjA5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N1Ym1lbnVDb250ZXh0OigpPT5zLFN1Ym1lbnVIYW5kbGVyOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpO2NvbnN0IHM9bi5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIGkoZSl7Y29uc3RbdCxvXT0oMCxuLnVzZVN0YXRlKShudWxsKSxpPSgwLG4udXNlUmVmKShudWxsKSxyPSgwLG4udXNlUmVmKShuZXcgTWFwKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT4oKT0+e251bGwhPT1pLmN1cnJlbnQmJmNsZWFyVGltZW91dChpLmN1cnJlbnQpfSksW10pLG4uY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTp7Y3VycmVudDp0LHNldEN1cnJlbnQ6ZnVuY3Rpb24oZSl7bnVsbCE9PWkuY3VycmVudCYmKGNsZWFyVGltZW91dChpLmN1cnJlbnQpLGkuY3VycmVudD1udWxsKTtudWxsPT09dD9vKGUpOmkuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2kuY3VycmVudD1udWxsLG8oZSl9KSwxMDApfSxyZWdpc3RlclN1Ym1lbnU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gci5jdXJyZW50LnNldChlLHQpLCgpPT57ci5jdXJyZW50LmRlbGV0ZShlKX19LGlzU3VibWVudU5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oci5jdXJyZW50LnZhbHVlcygpKS5zb21lKCh0PT50KGUpKSl9fX0sZS5jaGlsZHJlbil9fSwxNDc5MDEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VUlfTElCX0RBVEFfUUFfSURfUFJFRklYOigpPT5yLGNvbmNhdElmTm90TnVsbDooKT0+aSxkYXRhUWFJZHM6KCk9PnN9KTt2YXIgbj1vKDU2NTc0NSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybltlLHRdLmZpbHRlcihuLmlzRXhpc3RlbnQpLmpvaW4oIiAiKX1mdW5jdGlvbiBpKGUsdCl7aWYoKDAsbi5pc0V4aXN0ZW50KSh0KSlyZXR1cm5bZSx0XS5qb2luKCIgIil9Y29uc3Qgcj0idWktbGliLSJ9LDIzMTMzMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtpc05ld3NBbGxvd2VkOigpPT5pLGlzTmV3c1N0cmVhbWluZ0VuYWJsZWQ6KCk9PnJ9KTt2YXIgbj1vKDkzMDIzMSkscz1vKDU2OTM5OCk7Y29uc3QgaT0hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iikscj0oMCxzLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciKSYmKDAscy5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2RldGFpbHNfbmV3c19zdHJlYW1pbmciKX0sMjU4NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlRGlhbG9nQWN0aW9uczooKT0+X30pO3ZhciBuPW8oNzc5NDc0KSxzPW8oNTUxNzkpLGk9byg5MjgwMDIpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdFtvLHNdPSgwLG4udXNlU3RhdGUpKCgoKT0+ZT8uaXNEaXNhYmxlZCgpPz8hMCkpO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9PntpZighZSlyZXR1cm4gdm9pZCBzKCEwKTtjb25zdCB0PSgpPT5zKGUuaXNEaXNhYmxlZCgpKTtyZXR1cm4gZS5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLHQpLCgpPT57ZS5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsdCl9fSksW2VdKSwoMCxuLnVzZUVmZmVjdCkoKCgpPT57ZSYmZS51cGRhdGVFeGVjdXRlKHQpfSksW3QsZV0pLG99dmFyIGE9byg2ODA5MzMpLGw9byg1NTI2OTUpLGM9byg4NjIwODApLHU9byg2MzA3ODcpLGQ9byg4OTIxMzMpLGg9byg0ODQ0NCkscD1vKDcwNzcxNiksbT1vKDE4NTI3MSksdj1vKDU4MzAzOCksZj1vKDc2Mjg1MSksZz1vKDkxNzk4NiksYj1vKDE3MDQ0KSx3PW8oODkwODM1KTtjbGFzcyB5IGV4dGVuZHMgZy5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3QgdD0oMCxiLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnJlcXVlc3RlZFN5bWJvbCgpLG49dD8oMCx2LnNwbGl0U3ltYm9sTmFtZSkodClbMV06IiI7c3VwZXIoe2xhYmVsOigwLGYuYXBwZW5kRWxsaXBzaXMpKG0udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bn0sY29udGV4dDoiQ29tbXVuaXR5IHBvc3RzIGRpYWxvZyJ9LG8oOTk0MDE2KSkpLGlkOiJDb21tdW5pdHkgRGlhbG9nIixpY29uOm8oODQ0NjQxKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIiwKZGlzYWJsZWQ6ITB9KSx0aGlzLl9vdmVydmlld09wdGlvbnM9ZTtjb25zdCBzPSgwLGIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQocyl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKGUpe3RoaXMudXBkYXRlKHtvbkV4ZWN1dGU6KCk9Pnt2YXIgdDtlP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KHQ9dGhpcy5fb3ZlcnZpZXdPcHRpb25zLHcuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJjb21tdW5pdHkiLHQpKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKGUpe3JldHVybiBuZXcgeShlKX1faXNEaXNhYmxlZChlKXtyZXR1cm4hKGUmJiJvayI9PT1lLnN0YXR1cyl9fWZ1bmN0aW9uIF8oZT17fSl7Y29uc3R7c2Vhc29uYWxzTGluazp0LGZvcmVjYXN0TGluazpvLG9wdGlvbnNMaW5rOm0sZWNvbm9teUluZGljYXRvcnNMaW5rOnYsc3RvY2tCb25kc0xpbms6ZixuZXdzTGluazpnLGNvbW11bml0eUxpbms6Yixjb21tdW5pdHlPdmVydmlld09wdGlvbnM6d309ZSxfPSgwLG4udXNlTWVtbykoKCgpPT5sLlNlYXNvbmFsc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoXyx0KTtjb25zdCB4PSgwLG4udXNlTWVtbykoKCgpPT5jLkFuYWx5c2lzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cih4KTtjb25zdCBFPSgwLG4udXNlTWVtbykoKCgpPT5zLkZvcmVjYXN0QWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihFLG8pO2NvbnN0IEM9KDAsbi51c2VNZW1vKSgoKCk9PmEuT3B0aW9uc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQyxtKTtjb25zdCBTPSgwLG4udXNlTWVtbykoKCgpPT5pLkVjb25vbXlJbmRpY2F0b3JzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihTLHYpO2NvbnN0IE09KDAsbi51c2VNZW1vKSgoKCk9PnUuU3RvY2tCb25kc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTSxmKTtjb25zdCBBPSgwLG4udXNlTWVtbykoKCgpPT5kLkRvY3VtZW50c0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQSk7Y29uc3Qgaz0oMCxuLnVzZU1lbW8pKCgoKT0+cC5OZXdzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihrLGcpO2NvbnN0IE49KDAsbi51c2VNZW1vKSgoKCk9PmguRXRmc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTik7Y29uc3QgRD0oMCxuLnVzZVJlZikodyksTz0oMCxuLnVzZU1lbW8pKCgoKT0+eS5jcmVhdGVBY3Rpb24oRC5jdXJyZW50KSksW10pO3JldHVybiByKE8sYikse3NlYXNvbmFsc0FjdGlvbjpfLGZvcmVjYXN0QWN0aW9uOkUsYW5hbHlzaXNBY3Rpb246eCxvcHRpb25zQWN0aW9uOkMsZWNvbm9teUluZGljYXRvcnNBY3Rpb246UyxzdG9ja0JvbmRzQWN0aW9uOk0sZG9jdW1lbnRzQWN0aW9uOkEsZXRmc0FjdGlvbjpOLG5ld3NBY3Rpb246ayxjb21tdW5pdHlBY3Rpb246T319fSw5MjgwMDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RWNvbm9teUluZGljYXRvcnNBY3Rpb246KCk9PnV9KTt2YXIgbj1vKDE4NTI3MSkscz1vKDc2Mjg1MSksaT1vKDkzMDIzMSkscj1vKDkxNzk4NiksYT1vKDE3MDQ0KSxsPW8oODkwODM1KTt2YXIgYz1vKDE1NjgyOSk7Y2xhc3MgdSBleHRlbmRzIHIuRGlhbG9nQWN0aW9ue2NvbnN0cnVjdG9yKCl7c3VwZXIoe2xhYmVsOigwLHMuYXBwZW5kRWxsaXBzaXMpKG4udChudWxsLHZvaWQgMCxvKDI1MzUzKSkpLGlkOiJFY29ub215SW5kaWNhdG9yc0RpYWxvZyIsaWNvbjpvKDY3NDkwNSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KSx0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZCgoMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZWNvbm9teS1pbmRpY2F0b3JzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpuZXcgdX1zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0KXtyZXR1cm4gQm9vbGVhbihlJiYoMCxjLmlzRWNvbm9taWNTeW1ib2wpKGUpJiZ0KX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiF1LmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0WyJmaW5hbmNpYWwtaW5kaWNhdG9yLWlkIl0pfXJldHVybiEwfX19LDU1MTc5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ZvcmVjYXN0QWN0aW9uOigpPT5ofSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg5MzAyMzEpLHI9byg3NjI4NTEpLGE9byg4OTA4MzUpO3ZhciBsPW8oOTE3OTg2KSxjPW8oMTcwNDQpLHU9byg5MjY2OTgpLGQ9by5uKHUpO2NsYXNzIGggZXh0ZW5kcyBsLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYy5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxyLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDQ1MDE2NikpKSxpZDoiRm9yZWNhc3REaWFsb2ciLGljb246ZCgpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3QgaT0oMCxjLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGkpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQKO2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTphLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yZWNhc3QiLHQpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBofXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gQm9vbGVhbihlKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFoLmNoZWNrQXZhaWxhYmlsaXR5KHQucmVjb21tZW5kYXRpb25fbWFyayl9cmV0dXJuITB9fX0sOTcxMTgzKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIG47by5kKHQse0xhYmVsUHJvZHVjdDooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuSG90bGlzdHM9ImhvdGxpc3RzIixlLk1hcmtldEVhcm5pbmdzPSJtYXJrZXRzLWVhcm5pbmdzIixlLktleVN0YXRzPSJzeW1ib2xzLWtleXN0YXRzIixlLlRlY2huaWNhbHM9InN5bWJvbHMtdGVjaG5pY2FscyIsZS5QZXJmb3JtYW5jZT0ic3ltYm9scy1wZXJmb3JtYW5jZSIsZS5Cb25kc1lpZWxkQ3VydmU9ImJvbmRzLXlpZWxkLWN1cnZlIixlLkZ1dHVyZXNGb3J3YXJkQ3VydmU9ImZ1dHVyZXMtZm9yd2FyZC1jdXJ2ZSIsZS5NYXJrZXRzRm9yZXhIZWF0bWFwPSJtYXJrZXRzLWZvcmV4LWhlYXRtYXAiLGUuTWFya2V0c0JvbmRzWWllbGRIZWF0bWFwPSJtYXJrZXRzLWJvbmRzLXlpZWxkLWhlYXRtYXAiLGUuTWFya2V0c1NlY3RvclBlcmZvcm1hbmNlSGVhdG1hcD0ibWFya2V0cy1zZWN0b3ItcGVyZm9ybWFuY2UtaGVhdG1hcCIsZS5DYWxlbmRhckVhcm5pbmdzPSJjYWxlbmRhci1lYXJuaW5ncyIsZS5DYWxlbmRhckRpdmlkZW5kcz0iY2FsZW5kYXItZGl2aWRlbmRzIixlLkNhbGVuZGFySXBvPSJjYWxlbmRhci1pcG8iLGUuUXVpY2tTZWFyY2hEaWFsb2c9InF1aWNrLXNlYXJjaC1kaWFsb2ciLGUuUG9wdXBFVEZBbmFseXNpcz0icG9wdXAtZXRmLWFuYWx5c2lzIixlLkNoYXJ0U3ltYm9saW5mbz0iY2hhcnQtc3ltYm9saW5mbyIsZS5FeHRlcm5hbFdpZGdldHM9ImV4dGVybmFsLXdpZGdldHMiLGUuUmVsYXRlZFN5bWJvbHM9InJlbGF0ZWQtc3ltYm9scyIsZS5SaWdodERldGFpbHM9InJpZ2h0LWRldGFpbHMiLGUuRm9yZXhQZXJmb3JtYW5jZT0iZm9yZXgtcGVyZm9ybWFuY2UiLGUuTWFya2V0U2VjdG9yUGVyZm9ybWFuY2U9Im1hcmtldC1zZWN0b3ItcGVyZm9ybWFuY2UiLGUuQ2hhcnRNZXRyaWNzQWN0aW9uPSJjaGFydC1tZXRyaWNzLWFjdGlvbiIsZS5HbG9iYWxTZWFyY2g9Imdsb2JhbC1zZWFyY2giLGUuU3ltYm9sU2VhcmNoQnV0dG9uPSJzeW1ib2wtc2VhcmNoLWJ1dHRvbiJ9KG58fChuPXt9KSl9LDgzMzQwOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG93VGVjaG5pY2Fsc0RpYWxvZzooKT0+c30pO3ZhciBuPW8oODkwODM1KTtmdW5jdGlvbiBzKGUpe24uY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJ0ZWNobmljYWxzIixlKX19LDkxNzk4NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtEaWFsb2dBY3Rpb246KCk9PmF9KTt2YXIgbixzPW8oNTA5MDQpOyFmdW5jdGlvbihlKXtlLkRyYXdpbmdzPSJkcmF3aW5nc0FjdGlvbnMiLGUuRnVuY3Rpb249ImZ1bmN0aW9uQWN0aW9ucyIsZS5TZXR0aW5ncz0ic2V0dGluZ3NBY3Rpb25zIn0obnx8KG49e30pKTtjbGFzcyBpIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3Ioe2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4saG90a2V5R3JvdXA6cyxob3RrZXlIYXNoOmksYWxpYXNlczpyLG9wdGlvbnNMb2FkZXI6YSxvblN0YXJ0TGlzdGVuaW5nOmwsLi4uY30pe3N1cGVyKHthY3Rpb25JZDoiVW5rbm93bkFjdGlvbiIsb3B0aW9uczp7Li4uYyxkb05vdENsb3NlT25DbGljazohMH0saWQ6ZSxvcHRpb25zTG9hZGVyOmEsb25TdGFydExpc3RlbmluZzpsfSksdGhpcy5leGVjdXRlPSgpPT57c3VwZXIuZXhlY3V0ZSgpfSx0aGlzLmdldFN0YXRlPSgpPT4oey4uLnN1cGVyLmdldFN0YXRlKCksaWQ6dGhpcy5fc2VhcmNoT3B0aW9ucy5pZCxjYXRlZ29yeTp0aGlzLl9zZWFyY2hPcHRpb25zLmNhdGVnb3J5LGZhdm91cml0ZTp0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZSxvbkZhdm91cml0ZUNsaWNrOnRoaXMuX29uRmF2b3VyaXRlQ2xpY2ssYWxpYXNlczp0aGlzLl9zZWFyY2hPcHRpb25zLmFsaWFzZXN9KSx0aGlzLnVwZGF0ZT1lPT57dGhpcy5fc2VhcmNoT3B0aW9ucz1PYmplY3QuYXNzaWduKHRoaXMuX3NlYXJjaE9wdGlvbnMsZSksc3VwZXIudXBkYXRlKGUpfSx0aGlzLl9vbkZhdm91cml0ZUNsaWNrPWU9Pnt0aGlzLl9zZWFyY2hPcHRpb25zLm9uRmF2b3VyaXRlQ2xpY2smJih0aGlzLnVwZGF0ZSh7ZmF2b3VyaXRlOiF0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZX0pLHRoaXMuX3NlYXJjaE9wdGlvbnMub25GYXZvdXJpdGVDbGljayhlKSl9LHRoaXMuX3NlYXJjaE9wdGlvbnM9e2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4sYWxpYXNlczpyfX19dmFyIHI9bygxNzA0NCk7Y2xhc3MgYSBleHRlbmRzIGl7Y29uc3RydWN0b3IoZSl7c3VwZXIoey4uLmUsb25TdGFydExpc3RlbmluZzooKT0+KCgwLHIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpLCgpPT4oMCxyLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpKX0pfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9X29uUXVvdGVzVXBkYXRlKGUpe3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGUpfSl9fX0sMTMxMzIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0hvcml6b250YWxBdHRhY2hFZGdlOigpPT5zLEhvcml6b250YWxEcm9wRGlyZWN0aW9uOigpPT5yLFZlcnRpY2FsQXR0YWNoRWRnZTooKT0+biwKVmVydGljYWxEcm9wRGlyZWN0aW9uOigpPT5pLGdldFBvcHVwUG9zaXRpb25lcjooKT0+Y30pO3ZhciBuLHMsaSxyLGE9bygxMzg2MzgpOyFmdW5jdGlvbihlKXtlW2UuVG9wPTBdPSJUb3AiLGVbZS5Cb3R0b209MV09IkJvdHRvbSIsZVtlLkF1dG9TdHJpY3Q9Ml09IkF1dG9TdHJpY3QifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuUmlnaHQ9MV09IlJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRnJvbVRvcFRvQm90dG9tPTBdPSJGcm9tVG9wVG9Cb3R0b20iLGVbZS5Gcm9tQm90dG9tVG9Ub3A9MV09IkZyb21Cb3R0b21Ub1RvcCJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkZyb21MZWZ0VG9SaWdodD0wXT0iRnJvbUxlZnRUb1JpZ2h0IixlW2UuRnJvbVJpZ2h0VG9MZWZ0PTFdPSJGcm9tUmlnaHRUb0xlZnQifShyfHwocj17fSkpO2NvbnN0IGw9e3ZlcnRpY2FsQXR0YWNoRWRnZTpuLkJvdHRvbSxob3Jpem9udGFsQXR0YWNoRWRnZTpzLkxlZnQsdmVydGljYWxEcm9wRGlyZWN0aW9uOmkuRnJvbVRvcFRvQm90dG9tLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOnIuRnJvbUxlZnRUb1JpZ2h0LHZlcnRpY2FsTWFyZ2luOjAsaG9yaXpvbnRhbE1hcmdpbjowLG1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoczohMX07ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBvPT57Y29uc3R7Y29udGVudFdpZHRoOmMsY29udGVudEhlaWdodDp1LGF2YWlsYWJsZUhlaWdodDpkfT1vLGg9KDAsYS5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7aG9yaXpvbnRhbEF0dGFjaEVkZ2U6cD1sLmhvcml6b250YWxBdHRhY2hFZGdlLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOm09bC5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixob3Jpem9udGFsTWFyZ2luOnY9bC5ob3Jpem9udGFsTWFyZ2luLHZlcnRpY2FsTWFyZ2luOmY9bC52ZXJ0aWNhbE1hcmdpbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6Zz1sLm1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoc309dDtsZXQgYj10LnZlcnRpY2FsQXR0YWNoRWRnZT8/bC52ZXJ0aWNhbEF0dGFjaEVkZ2Usdz10LnZlcnRpY2FsRHJvcERpcmVjdGlvbj8/bC52ZXJ0aWNhbERyb3BEaXJlY3Rpb247Yj09PW4uQXV0b1N0cmljdCYmKGQ8aC55K2guaGVpZ2h0K2YrdT8oYj1uLlRvcCx3PWkuRnJvbUJvdHRvbVRvVG9wKTooYj1uLkJvdHRvbSx3PWkuRnJvbVRvcFRvQm90dG9tKSk7Y29uc3QgeT1iPT09bi5Ub3A/LTEqZjpmLF89cD09PXMuUmlnaHQ/aC5yaWdodDpoLmxlZnQseD1iPT09bi5Ub3A/aC50b3A6aC5ib3R0b20sRT17eDpfLShtPT09ci5Gcm9tUmlnaHRUb0xlZnQ/YzowKSt2LHk6eC0odz09PWkuRnJvbUJvdHRvbVRvVG9wP3U6MCkreX07cmV0dXJuIGcmJihFLm92ZXJyaWRlV2lkdGg9aC53aWR0aCksRX19fSwyOTY0NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9UT09MX1dJREdFVF9NRU5VX1RIRU1FOigpPT5mLFRvb2xXaWRnZXRNZW51OigpPT5ifSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyMzU3MjQpLGE9byg4MzU5NjQpLGw9byg3MDg4NDIpLGM9bygzNDUxMTYpLHU9bygzMTM3NzIpLGQ9byg5NjQyMTQpLGg9bygxMzEzMjEpLHA9byg0MDYxMTApLG09byg4NDg5ODgpLHY9byg0MjQyNjIpO2NvbnN0IGY9djt2YXIgZzshZnVuY3Rpb24oZSl7ZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkhvcml6b250YWw9MF09Ikhvcml6b250YWwifShnfHwoZz17fSkpO2NsYXNzIGIgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fd3JhcHBlclJlZj1udWxsLHRoaXMuX3Njcm9sbFdyYXBSZWY9bnVsbCx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1udWxsLHRoaXMuX2NvbnRyb2xsZXI9bi5jcmVhdGVSZWYoKSx0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrPWU9Pnsia2V5Ym9hcmQiPT09ZS5kZXRhaWwuY2xpY2tUeXBlJiZ0aGlzLmZvY3VzKCl9LHRoaXMuX2hhbmRsZU1lbnVGb2N1cz1lPT57ZS5yZWxhdGVkVGFyZ2V0PT09dGhpcy5fd3JhcHBlclJlZiYmdGhpcy5zZXRTdGF0ZSgoZT0+KHsuLi5lLGlzT3BlbmVkQnlCdXR0b246ITB9KSkpLHRoaXMucHJvcHMub25NZW51Rm9jdXM/LihlKX0sdGhpcy5faGFuZGxlV3JhcHBlclJlZj1lPT57dGhpcy5fd3JhcHBlclJlZj1lLHRoaXMucHJvcHMucmVmZXJlbmNlJiZ0aGlzLnByb3BzLnJlZmVyZW5jZShlKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLHRoaXMuX3N5bmNTY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcigpLHRoaXMuX3VwZGF0ZVNjcm9sbENvbXBlbnNhdGlvbigpfSx0aGlzLl9zeW5jU2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXI9KCk9Pnt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSx0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmbnVsbCE9PXRoaXMuX3Njcm9sbFdyYXBSZWYmJih0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5fdXBkYXRlU2Nyb2xsQ29tcGVuc2F0aW9uKSx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuX3Njcm9sbFdyYXBSZWYpKX0sdGhpcy5fZGVzdHJveVNjcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPSgpPT57bnVsbCE9PXRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyJiYodGhpcy5fc2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPW51bGwpfSx0aGlzLl91cGRhdGVTY3JvbGxDb21wZW5zYXRpb249KCk9PntpZihudWxsPT09dGhpcy5fc2Nyb2xsV3JhcFJlZilyZXR1cm4gdm9pZCB0aGlzLnNldFN0YXRlKHtzY3JvbGxDb21wZW5zYXRpb246bnVsbH0pO2NvbnN0IGU9dGhpcy5fc2Nyb2xsV3JhcFJlZi5vZmZzZXRXaWR0aC10aGlzLl9zY3JvbGxXcmFwUmVmLmNsaWVudFdpZHRoLHQ9ZT4wPy1lKyJweCI6bnVsbAo7dGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOnR9KX0sdGhpcy5faGFuZGxlT3Blbj0oKT0+eyJkaXYiIT09dGhpcy5wcm9wcy50YWcmJih0aGlzLnNldFN0YXRlKChlPT4oey4uLmUsaXNPcGVuZWRCeUJ1dHRvbjohMX0pKSksdGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlPy5jdXJyZW50Py5hZGRFdmVudExpc3RlbmVyKCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrKSx0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQ/LmZvY3VzKCkpfSx0aGlzLl9oYW5kbGVDbGljaz1lPT57ZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiZlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpJiYodGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24odm9pZCAwLCgwLG0uaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5wcm9wcy5vbkNsaWNrJiZ0aGlzLnByb3BzLm9uQ2xpY2soZSwhdGhpcy5zdGF0ZS5pc09wZW5lZCkpfSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bj0oZSx0PSExKT0+e2NvbnN0e29uQ2xvc2U6byxvbk9wZW46bn09dGhpcy5wcm9wcyx7aXNPcGVuZWQ6c309dGhpcy5zdGF0ZSxpPSJib29sZWFuIj09dHlwZW9mIGU/ZTohczt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDppLHNob3VsZFJldHVybkZvY3VzOiEhaSYmdH0pLGkmJm4mJm4oKSwhaSYmbyYmbygpfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuY2xvc2UoKX0sdGhpcy5faGFuZGxlS2V5RG93bj1lPT57Y29uc3R7b3JpZW50YXRpb246dD0iaG9yaXpvbnRhbCJ9PXRoaXMucHJvcHM7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSkpcmV0dXJuO2NvbnN0IG89KDAsci5oYXNoRnJvbUV2ZW50KShlKTtpZihlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpKXN3aXRjaChvKXtjYXNlIDQwOmlmKCJkaXYiPT09dGhpcy5wcm9wcy50YWd8fCJob3Jpem9udGFsIiE9PXQpcmV0dXJuO2lmKHRoaXMuc3RhdGUuaXNPcGVuZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMCwhMCk7YnJlYWs7Y2FzZSAyNzppZighdGhpcy5zdGF0ZS5pc09wZW5lZHx8IXRoaXMucHJvcHMuY2xvc2VPbkVzYylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWVsc2V7aWYoImRpdiI9PT10aGlzLnByb3BzLnRhZylyZXR1cm47c3dpdGNoKG8pe2Nhc2UgMjc6e2UucHJldmVudERlZmF1bHQoKTtjb25zdHtzaG91bGRSZXR1cm5Gb2N1czp0LGlzT3BlbmVkQnlCdXR0b246b309dGhpcy5zdGF0ZTt0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMSksdCYmbyYmdGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKTticmVha319fX0sdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITEsc2hvdWxkUmV0dXJuRm9jdXM6ITEsaXNPcGVuZWRCeUJ1dHRvbjohMSxzY3JvbGxDb21wZW5zYXRpb246bnVsbH19cmVuZGVyKCl7Y29uc3R7dGFnOmU9ImRpdiIsaWQ6dCxhcnJvdzpvLGNvbnRlbnQ6cyxpc0Rpc2FibGVkOnIsaXNEcmF3ZXI6YSxpc1Nob3dUb29sdGlwOnUsdGl0bGU6ZCxjbGFzc05hbWU6aCxob3RLZXk6bSx0aGVtZTp2LGRyYXdlckJyZWFrcG9pbnQ6Zix0YWJJbmRleDpnLGlzQ2xpY2tlZDpifT10aGlzLnByb3BzLHtpc09wZW5lZDp5fT10aGlzLnN0YXRlLF89aSgpKGgsdi5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6dXx8IXIsW3YuaXNEaXNhYmxlZF06cixbdi5pc09wZW5lZF06eSxbdi5jbGlja2VkXTpifSkseD13KHMpP3Moe2lzT3BlbmVkOnl9KTpzO3JldHVybiJidXR0b24iPT09ZT9uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsaWQ6dCxjbGFzc05hbWU6aSgpKF8sdi5hY2Nlc3NpYmxlKSxkaXNhYmxlZDpyLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGl0bGU6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6bSxyZWY6dGhpcy5faGFuZGxlV3JhcHBlclJlZixvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93bix0YWJJbmRleDpnLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSwuLi4oMCxjLmZpbHRlckFyaWFQcm9wcykodGhpcy5wcm9wcyl9LHgsbyYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd1dyYXB9LG4uY3JlYXRlRWxlbWVudChsLlRvb2xXaWRnZXRDYXJldCx7ZHJvcHBlZDp5fSkpKSx0aGlzLnN0YXRlLmlzT3BlbmVkJiYoZj9uLmNyZWF0ZUVsZW1lbnQocC5NYXRjaE1lZGlhLHtydWxlOmZ9LChlPT50aGlzLl9yZW5kZXJDb250ZW50KGUpKSk6dGhpcy5fcmVuZGVyQ29udGVudChhKSkpOm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6dCxjbGFzc05hbWU6XyxvbkNsaWNrOnI/dm9pZCAwOnRoaXMuX2hhbmRsZUNsaWNrLHRpdGxlOmQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOm0scmVmOnRoaXMuX2hhbmRsZVdyYXBwZXJSZWYsImRhdGEtcm9sZSI6ImJ1dHRvbiIsdGFiSW5kZXg6ZyxvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93biwiYXJpYS1oYXNwb3B1cCI6dGhpcy5wcm9wc1siYXJpYS1oYXNwb3B1cCJdLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKX0seCxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93fSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93V3JhcH0sbi5jcmVhdGVFbGVtZW50KGwuVG9vbFdpZGdldENhcmV0LHtkcm9wcGVkOnl9KSkpLHRoaXMuc3RhdGUuaXNPcGVuZWQmJihmP24uY3JlYXRlRWxlbWVudChwLk1hdGNoTWVkaWEse3J1bGU6Zn0sKGU9PnRoaXMuX3JlbmRlckNvbnRlbnQoZSkpKTp0aGlzLl9yZW5kZXJDb250ZW50KGEpKSl9Y29tcG9uZW50RGlkVXBkYXRlKGUpeyF0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmZS5lbmFibGVTY3JvbGxDb21wZW5zYXRpb24mJih0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSwKdGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOm51bGx9KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKX1jbG9zZSgpe3RoaXMucHJvcHMubWVudVJlZmVyZW5jZT8uY3VycmVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wdXAtbWVudS1jbG9zZS1ldmVudCIsdGhpcy5fb25Qb3B1cENsb3NlT25DbGljayksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWZvY3VzKCl7dGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKX11cGRhdGUoKXtudWxsIT09dGhpcy5fY29udHJvbGxlci5jdXJyZW50JiZ0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQudXBkYXRlKCl9X3JlbmRlckNvbnRlbnQoZSl7Y29uc3R7bWVudURhdGFOYW1lOnQsbWluV2lkdGg6byxtZW51Q2xhc3NOYW1lOnMsZHJhd2VyQ2xhc3NOYW1lOmksbWVudVJvbGU6cixtYXhIZWlnaHQ6bCxkcmF3ZXJQb3NpdGlvbjpjPSJCb3R0b20iLGNoaWxkcmVuOnAsbm9Nb21lbnR1bUJhc2VkU2Nyb2xsOm0sZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOnZ9PXRoaXMucHJvcHMse2lzT3BlbmVkOmZ9PXRoaXMuc3RhdGUsZz17aG9yaXpvbnRhbE1hcmdpbjp0aGlzLnByb3BzLmhvcml6b250YWxNYXJnaW58fDAsdmVydGljYWxNYXJnaW46dGhpcy5wcm9wcy52ZXJ0aWNhbE1hcmdpbnx8Mix2ZXJ0aWNhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy52ZXJ0aWNhbEF0dGFjaEVkZ2UsaG9yaXpvbnRhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy5ob3Jpem9udGFsQXR0YWNoRWRnZSx2ZXJ0aWNhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy52ZXJ0aWNhbERyb3BEaXJlY3Rpb24saG9yaXpvbnRhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6dGhpcy5wcm9wcy5tYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHN9LGI9Qm9vbGVhbihmJiZlJiZjKSx5PXcocCk/cCh7aXNEcmF3ZXI6Yn0pOnA7cmV0dXJuIGI/bi5jcmVhdGVFbGVtZW50KHUuRHJhd2VyTWFuYWdlcixudWxsLG4uY3JlYXRlRWxlbWVudChkLkRyYXdlcix7Y2xhc3NOYW1lOmkscmVmZXJlbmNlOnRoaXMucHJvcHMuZHJhd2VyUmVmZXJlbmNlLG9uQ2xvc2U6dGhpcy5faGFuZGxlQ2xvc2UscG9zaXRpb246YywiZGF0YS1uYW1lIjp0fSx5KSk6bi5jcmVhdGVFbGVtZW50KGEuUG9wdXBNZW51LHtyZWZlcmVuY2U6dGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlLHNjcm9sbFdyYXBSZWZlcmVuY2U6dj90aGlzLl9oYW5kbGVTY3JvbGxXcmFwUmVmOnZvaWQgMCxyb2xlOnIsY29udHJvbGxlcjp0aGlzLl9jb250cm9sbGVyLGNsb3NlT25DbGlja091dHNpZGU6dGhpcy5wcm9wcy5jbG9zZU9uQ2xpY2tPdXRzaWRlLGRvTm90Q2xvc2VPbjp0aGlzLGlzT3BlbmVkOmYsbWluV2lkdGg6byxvbkNsb3NlOnRoaXMuX2hhbmRsZUNsb3NlLHBvc2l0aW9uOigwLGguZ2V0UG9wdXBQb3NpdGlvbmVyKSh0aGlzLl93cmFwcGVyUmVmLGcpLGNsYXNzTmFtZTpzLG1heEhlaWdodDpsLGRhdGFRYUlkOnQsdGFiSW5kZXg6ImRpdiIhPT10aGlzLnByb3BzLnRhZz8tMTp2b2lkIDAsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW4sb25LZXlEb3duOnRoaXMucHJvcHMub25NZW51S2V5RG93bixvbkZvY3VzOnRoaXMuX2hhbmRsZU1lbnVGb2N1cyxub01vbWVudHVtQmFzZWRTY3JvbGw6bX0sdj9uLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOnRoaXMuc3RhdGUuc2Nyb2xsQ29tcGVuc2F0aW9uP3ttYXJnaW5JbmxpbmVFbmQ6dGhpcy5zdGF0ZS5zY3JvbGxDb21wZW5zYXRpb259OnZvaWQgMH0seSk6eSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9Yi5kZWZhdWx0UHJvcHM9e2Fycm93OiEwLGNsb3NlT25DbGlja091dHNpZGU6ITAsdGhlbWU6dn19LDEzNjYzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZUVuc3VyZWRDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygxMzg2MzgpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKSgoMCxuLnVzZUNvbnRleHQpKGUpKX19LDU1MzY2OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja01ldHJpY3NNZW51QWN0aW9uOigpPT5zfSk7dmFyIG49bygzNjIyMzkpO2Z1bmN0aW9uIHMoZSl7KDAsbi5nZXRUcmFja2VyKSgpLnRoZW4oKHQ9PntudWxsIT09dCYmdC50cmFja0NoYXJ0TWV0cmljc01lbnUoZSl9KSl9fSw2MzEyNTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nOigpPT5zfSk7dmFyIG49byg4OTA4MzUpO2Z1bmN0aW9uIHMoZSl7bi5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIixlKX19LDg2MjA4MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBbmFseXNpc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oOTMwMjMxKSxyPW8oNzYyODUxKSxhPW8oMTU2ODI5KSxsPW8oODkwODM1KTt2YXIgYz1vKDE3MDQ0KSx1PW8oOTE3OTg2KTtjbGFzcyBkIGV4dGVuZHMgdS5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsci5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse2NvbnRleHQ6InByb2ZpbGVfYWN0aW9uIixyZXBsYWNlOntzeW1ib2w6dH19LG8oNjg1NTc1KSkpLGlkOiJBbmFseXNpcyIsaWNvbjpvKDg1OTc5MSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KTtjb25zdCBpPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQoaSl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKCl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciBlCjtsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiYW5hbHlzaXMiLGUpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQpe3JldHVybiBCb29sZWFuKGUmJnQmJigoMCxhLmlzRnVuZEV0ZikoZSx0KXx8KDAsYS5pc0NvcnBvcmF0ZUJvbmQpKGUsdCl8fCgwLGEuaXNHb3Zlcm5tZW50T25seUJvbmQpKGUsdCkpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFkLmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0LnR5cGVzcGVjcyl9cmV0dXJuITB9fX0sODkyMTMzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RvY3VtZW50c0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDc1MTI4MykpKSxpZDoiRG9jdW1lbnRzIixpY29uOm8oMjI4OTU4KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZG9jdW1lbnRzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBjfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gMT09PWV9X2lzRGlzYWJsZWQoZSl7aWYoZSYmIm9rIj09PWUuc3RhdHVzKXtjb25zdHt2YWx1ZXM6dH09ZTtyZXR1cm4hYy5jaGVja0F2YWlsYWJpbGl0eSh0LmRvY3VtZW50cyl9cmV0dXJuITB9fX0sNDg0NDQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RXRmc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6ImV0ZnNfZGlhbG9nIn0sbyg1MjcxKSkpLGlkOiJFVEZzIixpY29uOm8oMTg3MTQ3KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZXRmcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSl7cmV0dXJuIEJvb2xlYW4oZS5oYXNfZXRmX293bmVyc2hpcCYmZS5zeW1ib2xfcHJpbWFyeV9saXN0aW5nKXx8Qm9vbGVhbigic3BvdCI9PT1lLnR5cGUmJmUuc2hvcnRfbmFtZSYmWyJCVENVU0QiLCJCSVRDT0lOIiwiRVRIVVNEIiwiRVRIRVJFVU0iXS5pbmNsdWRlcyhlLnNob3J0X25hbWUpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFjLmNoZWNrQXZhaWxhYmlsaXR5KHQpfXJldHVybiEwfX19LDE5OTc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3Nob3dGb3J3YXJkQ3VydmVEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsZSl9fSw3MDc3MTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TmV3c0FjdGlvbjooKT0+dX0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9bygxMjI5MzIpLGM9bygyMzEzMzApO2NsYXNzIHUgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6Im5ld3NfZGlhbG9nIn0sbygxMDE0MzUpKSksaWQ6Ik5ld3MgRGlhbG9nIixpY29uOm8oMzc0NjAwKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+ewplP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KDAsbC5zaG93TmV3c0RpYWxvZykoKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyB1fXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gYy5pc05ld3NBbGxvd2VkJiZ2b2lkIDAhPT1lfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIXUuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlKX1yZXR1cm4hMH19fSwxMjI5MzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd05ld3NEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygibmV3cyIsZSl9fSw2ODA5MzMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3B0aW9uc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oMTcwNDQpLHI9byg5MzAyMzEpLGE9byg3NjI4NTEpLGw9byg5MTc5ODYpLGM9byg4OTA4MzUpO3ZhciB1PW8oODg3NjYzKTtjbGFzcyBkIGV4dGVuZHMgbC5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGkuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsYS5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0fX0sbyg0MTI3NzYpKSksaWQ6Ik9wdGlvbnNEaWFsb2ciLGljb246dSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsaS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpjLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygib3B0aW9ucyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybigwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP251bGw6bmV3IGR9c3RhdGljIGNoZWNrQXZhaWxhYmlsaXR5KGUpe3JldHVybiBCb29sZWFuKGUpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodFsib3B0aW9ucy1pbmZvIl0pfXJldHVybiEwfX19LDk5NTEyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtoYXNTZWFzb25hbHM6KCk9PnN9KTt2YXIgbj1vKDE1NjgyOSk7ZnVuY3Rpb24gcyhlLHQsbyl7cmV0dXJuISgoMCxuLmlzQm9uZCkoZSl8fCgwLG4uaXNFY29ub21pY1N5bWJvbCkoZSl8fCgwLG4uaXNPcHRpb24pKGUpfHwoMCxuLmlzU3ByZWFkKShlKXx8KDAsbi5pc1N5bWJvbERlbGlzdGVkKSh0KXx8KDAsbi5pc1N0b2Nrc1N5bWJvbCkoZSx0Pz9bXSkmJnZvaWQgMD09PW98fHZvaWQgMCE9PW8mJmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpLmdldEZ1bGxZZWFyKCksbz0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk7cmV0dXJuIHQ9PT1vfShvKSl9fSw1NTI2OTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U2Vhc29uYWxzQWN0aW9uOigpPT5kfSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg3NjI4NTEpLHI9bygxNTY4MjkpLGE9byg5OTUxMjYpLGw9byg4OTA4MzUpO3ZhciBjPW8oOTE3OTg2KSx1PW8oMTcwNDQpO2NsYXNzIGQgZXh0ZW5kcyBjLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDY4NTk2MykpKSxpZDoiU2Vhc29uYWxzRGlhbG9nIixpY29uOm8oNjI3NjAyKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygic2Vhc29uYWxzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQsbyxuKXtyZXR1cm4gQm9vbGVhbihlJiZ0JiYhKDAsci5pc0RleCkobikmJigwLGEuaGFzU2Vhc29uYWxzKShlLHQsbykpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuZmlyc3RfYmFyX3RpbWVfMWQsdFsiZXhjaGFuZ2UtaW5mbyJdKX1yZXR1cm4hMH19fSw2MzA3ODcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3RvY2tCb25kc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDg5MzU3NikpKSxpZDoiU3RvY2tCb25kcyIsCmljb246byg0MDk0NTUpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3Qgcj0oMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKHIpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQ7ZT93aW5kb3cubG9jYXRpb24uYXNzaWduKGUpOmwuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJib25kcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0LG8pe3JldHVybiBCb29sZWFuKGUmJnQmJm8pfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWMuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuaGFzX2JvbmRzKX1yZXR1cm4hMH19fSw5Mjk0ODgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5zfSk7dmFyIG49byg5MDEwMjIpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuKDAsbi5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLnIodCksby5kKHQse3Jlc29sdmVTeW1ib2xOYW1lOigpPT5jLHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsOigpPT51LHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsRGlzdGluY3Q6KCk9PmQsc25hcHNob3RlcjooKT0+YX0pO3ZhciBuPW8oMTI4ODE0KSxzPW8oNjIzNTExKSxpPW8oOTI5NDg4KTtjb25zdCByPW5ldyBTZXQoWyJwcm9fbmFtZSIsImJhc2VfbmFtZSIsInNob3J0X25hbWUiLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJleGNoYW5nZSIsInR5cGVzcGVjcyIsImxpc3RlZF9leGNoYW5nZSIsImxhc3RfcHJpY2UiLCJjb3VudHJ5X2NvZGUiLCJwcm92aWRlcl9pZCIsInN5bWJvbC1wcmltYXJ5bmFtZSIsImxvZ29pZCIsImxvZ28iLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsInNvdXJjZS1sb2dvaWQiLCJ1cGRhdGVfbW9kZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJwcm9fcGVybSIsInNvdXJjZSIsInNvdXJjZTIiLCJwcmljZXNjYWxlIiwibWlubW92IiwiZnJhY3Rpb25hbCIsInZpc2libGUtcGxvdHMtc2V0IiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInVuZGVybHlpbmctc3ltYm9sIl0pLGE9KDAscy5sYXp5VmFsdWUpKCgoKT0+bmV3IG4uUXVvdGVTZXNzaW9uU25hcHNob3Rlcih7bmFtZToiYmFzaWMtc3ltYm9sLXF1b3RlcyIsZmllbGRzOlsuLi5yXSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2V9KSkpLGw9bmV3IFNldChbInByb19uYW1lIl0pO2FzeW5jIGZ1bmN0aW9uIGMoZSl7cmV0dXJuKDAsaS5pc1NlcGFyYXRvckl0ZW0pKGUpP2U6YSgpLmdldFNuYXBzaG90KGUsbCkudGhlbigoZT0+ImVycm9yIj09PWUuc3RhdHVzP2Uuc3ltYm9sbmFtZTplLnZhbHVlcy5wcm9fbmFtZSkpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGMpKX1mdW5jdGlvbiBkKGUpe3JldHVybiB1KGUpLnRoZW4oKGU9PlsuLi5uZXcgU2V0KGUpXSkpfX0sODUxNDU4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZhY3Rvck91dEJyYWNlczooKT0+cCxnZXRUb2tlbkF0UG9zOigpPT5oLGlzQmluYXJ5T3BlcmF0b3I6KCk9PnUsaXNTcHJlYWQ6KCk9PmQscGFyc2VUb2tlbjooKT0+dixzaG9ydE5hbWU6KCk9Pm0sc3ltYm9sVG9rZW5Fc2NhcGVSZTooKT0+YSx0b2tlbml6ZTooKT0+Y30pO3ZhciBuLHM9byg5MDEwMjIpLGk9byg1NjkzOTgpOyFmdW5jdGlvbihlKXtlLlN5bWJvbD0ic3ltYm9sIixlLkluY29tcGxldGVTeW1ib2w9ImluY29tcGxldGVTeW1ib2wiLGUuTnVtYmVyPSJudW1iZXIiLGUuSW5jb21wbGV0ZU51bWJlcj0iaW5jb21wbGV0ZU51bWJlciIsZS5TZXBhcmF0b3JQcmVmaXg9InNlcGFyYXRvclByZWZpeCIsZS5PcGVuQnJhY2U9Im9wZW5CcmFjZSIsZS5DbG9zZUJyYWNlPSJjbG9zZUJyYWNlIixlLlBsdXM9InBsdXMiLGUuTWludXM9Im1pbnVzIixlLk11bHRpcGx5PSJtdWx0aXBseSIsZS5EaXZpZGU9ImRpdmlkZSIsZS5Qb3dlcj0icG93ZXIiLGUuV2hpdGVzcGFjZT0id2hpdGVzcGFjZSIsZS5VbnBhcnNlZD0idW5wYXJzZWQifShufHwobj17fSkpO2NvbnN0IHI9Lyg/OlteLStcLypeXHNdJ3xbYS16QS1aMC05X1x1MDM3MC1cdTFGRkZfXHUyRTgwLVx1RkZGRl0pKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMDIwXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXyF8Oi4mXSkqfCcuKz8nLyxhPS9bK1wtLypdLyxsPShlPSgwLGkuaXNGZWF0dXJlRW5hYmxlZCkoImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIikpPT4oe251bWJlcjplPy9cZCsoPzpcLlxkKnwoPyFbYS16QS1aMC05XyE6LiZdKSkoPzpccyooPz1ccyokKSk/fFwuXGQrKD86XHMqKD89XHMqJCkpPy86L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKXxcLlxkKy8saW5jb21wbGV0ZU51bWJlcjovXC4vLHN5bWJvbDpyLGluY29tcGxldGVTeW1ib2w6LydbXiddKi8sc2VwYXJhdG9yUHJlZml4OnMuU0VQQVJBVE9SX1BSRUZJWCxvcGVuQnJhY2U6IigiLGNsb3NlQnJhY2U6IikiLHBsdXM6IisiLG1pbnVzOiItIixtdWx0aXBseToiKiIsZGl2aWRlOiIvIixwb3dlcjoiXiIsd2hpdGVzcGFjZTovW1wwLVx4MjBcc10rLyx1bnBhcnNlZDpudWxsfSk7ZnVuY3Rpb24gYyhlLHQ9bCgpKXtpZighZSlyZXR1cm5bXTtjb25zdCBvPVtdLG49T2JqZWN0LmtleXModCk7bGV0IHM7Y29uc3QgaT0oKGU9bCgpKT0+bmV3IFJlZ0V4cChPYmplY3QudmFsdWVzKGUpLm1hcCgoZT0+e3JldHVybiBudWxsPT09ZT8iIjpgKCR7InN0cmluZyI9PXR5cGVvZiBlPyh0PWUsdC5yZXBsYWNlKC9bXF4kKClbXF17fSorP3xcXF0vZywiXFwkJiIpKTplLnNvdXJjZX0pYDt2YXIgdAp9KSkuZmlsdGVyKChlPT4iIiE9PWUpKS5jb25jYXQoIi4iKS5qb2luKCJ8IiksImciKSkodCk7Zm9yKDtzPWkuZXhlYyhlKTspe2xldCBlPSExO2ZvcihsZXQgdD1uLmxlbmd0aDt0LS07KWlmKHNbdCsxXSl7blt0XSYmby5wdXNoKHt2YWx1ZTpzW3QrMV0sdHlwZTpuW3RdLHByZWNlZGVuY2U6MCxvZmZzZXQ6cy5pbmRleH0pLGU9ITA7YnJlYWt9ZXx8by5wdXNoKHt2YWx1ZTpzWzBdLHR5cGU6InVucGFyc2VkIixwcmVjZWRlbmNlOjAsb2Zmc2V0OnMuaW5kZXh9KX1yZXR1cm4gb31mdW5jdGlvbiB1KGUpe3JldHVybiJwbHVzIj09PWV8fCJtaW51cyI9PT1lfHwibXVsdGlwbHkiPT09ZXx8ImRpdmlkZSI9PT1lfHwicG93ZXIiPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiBlLmxlbmd0aD4xJiZlLnNvbWUoKGU9PnUoZS50eXBlKSkpfWZ1bmN0aW9uIGgoZSx0KXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3Qgbj1lW29dLHM9InN5bWJvbCI9PT1uLnR5cGV8fCJpbmNvbXBsZXRlU3ltYm9sIj09PW4udHlwZXx8Im51bWJlciI9PT1uLnR5cGU7aWYobi5vZmZzZXQ8PXQmJnQ8PW4ub2Zmc2V0K24udmFsdWUubGVuZ3RoJiZzKXJldHVybiBufXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7ZT1mdW5jdGlvbihlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBvIG9mIGUpIndoaXRlc3BhY2UiIT09by50eXBlJiZ0LnB1c2gobyk7cmV0dXJuIHR9KGUpO2NvbnN0IHQ9W10sbz1bXTtsZXQgbjtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3QgaT1lW3NdO3N3aXRjaChpLnR5cGUpe2Nhc2UicGx1cyI6Y2FzZSJtaW51cyI6Y2FzZSJtdWx0aXBseSI6Y2FzZSJkaXZpZGUiOmNhc2UicG93ZXIiOm8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+aS5wcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWkucHJlY2VkZW5jZSk7YnJlYWs7Y2FzZSJvcGVuQnJhY2UiOm49e21pblByZWNlZGVuY2U6MS8wLG9wZW5CcmFjZUluZGV4OnN9LG8ucHVzaChuKTticmVhaztjYXNlImNsb3NlQnJhY2UiOntpZihuPW8ucG9wKCksIW4pYnJlYWs7Y29uc3QgaT1lW24ub3BlbkJyYWNlSW5kZXgtMV0scj1lW3MrMV0sYT1pJiYoInBsdXMiPT09aS50eXBlfHwibXVsdGlwbHkiPT09aS50eXBlKTsoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8PW4ubWluUHJlY2VkZW5jZSkmJighdShpPy50eXBlKXx8aT8ucHJlY2VkZW5jZTxuPy5taW5QcmVjZWRlbmNlfHxpPy5wcmVjZWRlbmNlPT09bj8ubWluUHJlY2VkZW5jZSYmYSkmJih0LnVuc2hpZnQobi5vcGVuQnJhY2VJbmRleCksdC5wdXNoKHMpLG8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bi5taW5QcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPW4ubWluUHJlY2VkZW5jZSkpfX19Zm9yKGxldCBvPXQubGVuZ3RoO28tLTspZS5zcGxpY2UodFtvXSwxKTtyZXR1cm4gZX1mdW5jdGlvbiBtKGUpe3JldHVybiBwKGMoZSkpLnJlZHVjZSgoKGUsdCk9PntpZigic3ltYm9sIiE9PXQudHlwZSlyZXR1cm4gZSt0LnZhbHVlO2NvbnN0WyxvXT12KHQpO3JldHVybiBvP2UrbzplfSksIiIpfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD0vXic/KD86KFtBLVowLTlfXSspOik/KC4qPyknPyQvaS5leGVjKGUudmFsdWUpO3JldHVybiBudWxsPT09dD9bdm9pZCAwLHZvaWQgMF06W3RbMV0sdFsyXV19fSwxMzg5OTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7SWNvblF1ZXN0aW9uSW5mb3JtYXRpb246KCk9PnAsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25CdXR0b246KCk9PnYsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25MaW5rOigpPT5tfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygxMTk3NTApLGE9byg4NjUwOTIpLGw9bygzNDQ3ODUpLGM9bygxOTgyMDkpLHU9by5uKGMpO2Z1bmN0aW9uIGQoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKSwoMCxsLmhpZGUpKCl9Y29uc3QgaD1lPT57KDAsbC5zaG93T25FbGVtZW50KShlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsZCl9LHA9KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxvbkNsaWNrOnM9aCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDpjLHNpemU6ZCwuLi5wfT1lLHt0b29sdGlwOm0sY2xhc3NOYW1lOnYsLi4uZn09KDAsYS51c2VUb29sdGlwKSh7dG9vbHRpcDplLnRvb2x0aXAsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITEsc2hvd1Rvb2x0aXA6bC5zaG93T25FbGVtZW50LGhpZGVUb29sdGlwOmwuaGlkZSxvbkNsaWNrOnN9LHQpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uUXVlc3Rpb25JbmZvcm1hdGlvbix7Y2xhc3NOYW1lOmkoKShvLHUoKVsiaWNvbi13cmFwcGVyIl0sbSYmdSgpWyJ3aXRoLXRvb2x0aXAiXSx2KSx0b29sdGlwOm0sc2l6ZTpkLC4uLnAsLi4uZn0pfSkpLG09KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxocmVmOnMscmVsOnIsdGFyZ2V0OmEsLi4ubH09ZSxjPSgwLG4udXNlTWVtbykoKCgpPT4oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpzLHJlbDpyLHRhcmdldDphLHJlZjp0LC4uLmV9KSkpKSxbcyxyLGFdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLmwsY2xhc3NOYW1lOmkoKShvLHUoKVsid2l0aC1saW5rIl0pLHJlbmRlckNvbXBvbmVudDpjLHJlZjp0LGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOiEwfSl9KSksdj0oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpvLHdpdGhBY3RpdmVTdGF0ZTpzLC4uLnJ9PWUsYT0oMCwKbi51c2VNZW1vKSgoKCk9PigwLG4uZm9yd2FyZFJlZikoKChlLHQpPT5uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLmUscmVmOnQsdHlwZToiYnV0dG9uIn0pKSkpLFtdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLnIsY2xhc3NOYW1lOmkoKShvLCFzJiZ1KClbIm5vLWFjdGl2ZS1zdGF0ZSJdKSxyZW5kZXJDb21wb25lbnQ6YSxyZWY6dH0pfSkpfSw3MDg4NDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldENhcmV0OigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyNzMzMTApLGE9byg4MTAyODEpLGw9bygzNTY3MjEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7ZHJvcHBlZDp0LGNsYXNzTmFtZTpvfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKG8sYS5pY29uLHtbYS5kcm9wcGVkXTp0fSksaWNvbjpsfSl9fSwxNzA0NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHthY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcjooKT0+bH0pO3ZhciBuPW8oODM5NDI2KSxzPW8oMTU5NTEzKSxpPW8oMzA5MDUyKSxyPW8oMjI1Mjk4KSxhPW8oOTQ4MzgwKTtjb25zdCBsPSgwLG4uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCxzLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgiZnVsbCIpO2xldCB0PW51bGw7Y29uc3Qgbz1uZXcgYS5EZWxlZ2F0ZSxuPShlLHQpPT57by5maXJlKGUsdCl9O3JldHVybiByLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSgobz0+e3QmJmUudW5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsdCxuKSx0PW8sbyYmZS5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsbyxuKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx7cXVvdGVzOigpPT50P2kuUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0KTpudWxsLHF1b3Rlc1VwZGF0ZTooKT0+byxyZXF1ZXN0ZWRTeW1ib2w6KCk9PnR9fSkpfSwyNjE5MzYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVib3VuY2VIaWRlVG9vbHRpcDooKT0+YSxzaG93VG9vbHRpcDooKT0+dX0pO3ZhciBuPW8oNTQ3ODUxKSxzPW8oMzQ0Nzg1KSxpPW8oNDgzNDA5KSxyPW8oMTg1MjcxKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkobCwxNTAwKTtmdW5jdGlvbiBsKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsbCksKDAscy5oaWRlKSgpfWNvbnN0IGM9NDAwO2Z1bmN0aW9uIHUoZSx0PXt9KXtjb25zdHtpbml0aWFsRGVsYXk6bj1jLGxlYXZlT25Nb3VzZU91dDphLHdpdGhvdXRUaHVtYnN1cEljb246dSx0ZXh0OmQ9ci50KG51bGwsdm9pZCAwLG8oNDQ3MTUwKSl9PXQ7KDAscy5zaG93T25FbGVtZW50KShlLHtiZWxvdzohMCx0b29sdGlwRGVsYXk6bixjb250ZW50Ont0eXBlOiJodG1sIixkYXRhOmAke2R9JHt1PyIiOmAgPHNwYW4gc3R5bGU9InZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij4ke2l9PC9zcGFuPmB9YH19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGwpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGwpLGF8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixsKX19LDkxMTMyNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtleHRyYWN0VGFiUGF0aDooKT0+ZyxnZXRTeW1ib2xQYWdlUGF0aDooKT0+YyxtYWtlU3ltYm9sQ2hhcnRVcmw6KCk9PmYsbWFrZVN5bWJvbFBhZ2VVcmw6KCk9PnZ9KTtvKDk2MzkwMCk7dmFyIG49bygzMDk4MzYpLHM9bygyNDE5MzcpLGk9byg4NTE0NTgpLHI9bygxNTY4MjkpO2NvbnN0IGE9bmV3IFNldChbIlNQOlNQWCIsIkNCT0U6U1BYIl0pO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD17Li4uZX07aWYoInNwcmVhZCI9PT10LnR5cGV8fCJleHByZXNzaW9uIj09PXQudHlwZSl7Y29uc3QgZT10LnNob3J0TmFtZSYmdSh0LnNob3J0TmFtZSksbz10LnByb05hbWUmJnUodC5wcm9OYW1lKTt0LnR5cGU9dm9pZCAwLHQuc2hvcnROYW1lPWUsdC5wcm9OYW1lPW99cmV0dXJuIHR9ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IG89bChlKTtyZXR1cm4gaChwKG8sdCksZChvKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4oMCxpLnRva2VuaXplKShlKS5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy52YWx1ZX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9e3Nob3J0TmFtZTplLnNob3J0TmFtZSxleGNoYW5nZTplLmV4Y2hhbmdlLHByb05hbWU6ZS5wcm9OYW1lLHR5cGU6ZS50eXBlLHR5cGVzcGVjczplLnR5cGVzcGVjcyxyb290OmUucm9vdH07cmV0dXJuIHQucHJvTmFtZSYmdC5wcm9OYW1lLmluY2x1ZGVzKCI6IikmJihbdC5leGNoYW5nZSx0LnNob3J0TmFtZV09dC5wcm9OYW1lLnNwbGl0KCI6IikpLHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuc2hvcnROYW1lfHwiIiksbj1lbmNvZGVVUklDb21wb25lbnQodC5leGNoYW5nZXx8IiIpLHM9ZW5jb2RlVVJJQ29tcG9uZW50KHQucHJvTmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQucm9vdHx8IiIpO3JldHVybiBlLnJlcGxhY2UoInt0dmV4Y2hhbmdlfSIsbikucmVwbGFjZSgie3R2c3ltYm9sfSIsbykucmVwbGFjZSgie3R2cHJvc3ltYm9sfSIscykucmVwbGFjZSgie3R2cm9vdH0iLGkpfWZ1bmN0aW9uIHAoZSx0PSIiKXtjb25zdCBvPWQoZSkse3R5cGU6bix0eXBlc3BlY3M6cyxzaG9ydE5hbWU6aSxwcm9OYW1lOmwsZXhjaGFuZ2U6Yyxyb290OnV9PW87cmV0dXJuIHZvaWQgMD09PWkmJnZvaWQgMD09PWw/KGNvbnNvbGUud2FybigiUGFyYW1zIG1pc3NlZCIpLAoiLyIpOmwmJmEuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm58fHM/ImNvbW1vZGl0eSI9PT1uJiZzJiZzLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohdXx8IXN8fCJmdXR1cmVzIiE9PW58fHMuaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmaT8uZW5kc1dpdGgoIjEhIil8fHMuaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9jJiYoImZvcmV4Ij09PW58fHMmJigwLHIuaGFzQ3J5cHRvVHlwZXNwZWMpKHMpKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH1mdW5jdGlvbiBtKGUsdCxvLGkpe2NvbnN0IHI9KHdpbmRvdy5sb2NhbGVfZG9tYWlucz8oMCxzLmRldGVybWluZUJhc2VVcmwpKHdpbmRvdy5sb2NhbGVfZG9tYWlucyxpKTp3aW5kb3cubG9jYXRpb24ub3JpZ2luKStoKGUsZChsKHQpKSk7cmV0dXJuIG8/KDAsbi5hZGRVdG1Ub1VybCkocixvKTpyfWZ1bmN0aW9uIHYoZSx0LG8sbil7Y29uc3Qgcz1sKGUpO3JldHVybiBtKHAocyxuKSxzLHQsbyl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBtKCIvY2hhcnQvP3N5bWJvbD17dHZwcm9zeW1ib2x9IixlLHQpfWZ1bmN0aW9uIGcoZSx0KXtjb25zdCBvPWMoe3Byb05hbWU6ZX0pO3JldHVybiB0LnN0YXJ0c1dpdGgobyk/dC5yZXBsYWNlKG8uc2xpY2UoMCxvLmxlbmd0aC0xKSwiIik6bnVsbH19LDY3MzA2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTQtOS45N0wxMS45IDYgOC4zIDkuODIgNi4xIDcuNDYgNC45OSA4LjUgOC4zMiAxMiAxMyA3LjAzWiIvPjwvc3ZnPid9LDQwMDA0NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZaTTkgNGMtLjc5IDAtMS4zOC43LTEuMjUgMS40OGwuNjcgNC4wM2EuNTkuNTkgMCAwIDAgMS4xNiAwbC42Ny00LjAzQTEuMjcgMS4yNyAwIDAgMCA5IDRabTAgOGExIDEgMCAxIDAgMCAyIDEgMSAwIDAgMCAwLTJaIi8+PC9zdmc+J30sNTI3MjE5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTEtMTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWk04LjUgOS41SDdWOGgzdjZIOC41VjkuNVoiLz48L3N2Zz4nfSw3ODU5OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wm0tMS00YTEgMSAwIDEgMCAyIDAgMSAxIDAgMCAwLTIgMFptMi44My0zLjUyYy0uNDkuNDMtLjk3Ljg1LTEuMDYgMS41Mkg4LjI2Yy4wOC0xLjE4Ljc0LTEuNjkgMS4zMi0yLjEzLjQ5LS4zOC45Mi0uNzEuOTItMS4zN0MxMC41IDYuNjcgOS44MiA2IDkgNnMtMS41LjY3LTEuNSAxLjVWOEg2di0uNWEzIDMgMCAxIDEgNiAwYzAgLjk2LS42IDEuNDgtMS4xNyAxLjk4WiIvPjwvc3ZnPid9LDQwOTQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgNEg2djE5aDE1VjEwaDF2MTRINVYzaDEyem0tMyAydjJoMWEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTNhMiAyIDAgMSAwIDAgNGgzYTMgMyAwIDEgMSAwIDZoLTF2MmgtMXYtMmgtMWEzIDMgMCAwIDEtMy0zaDFhMiAyIDAgMCAwIDIgMmgzYTIgMiAwIDEgMCAwLTRoLTNhMyAzIDAgMSAxIDAtNmgxVjZ6bTExLS41LTIuMzM5IDIuMzU0LS43MDctLjcwOEwyMy4xMDEgNkgxOVY1aDQuMWwtMS4xNDYtMS4xNDYuNzA3LS43MDh6Ii8+PC9zdmc+J30sODQ0NjQxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgMTZhNSA1IDAgMCAxIDUgNWgtMWE0IDQgMCAwIDAtNC00SDhhNCA0IDAgMCAwLTQgNEgzYTUgNSAwIDAgMSA1LTV6bTkgMWE0IDQgMCAwIDEgNCA0aC0xYTMgMyAwIDAgMC0zLTNoLTN2LTF6bS0xLjUtOWMuNDY0IDAgLjY5NyAwIC44OTIuMDI1YTMgMyAwIDAgMSAyLjU4MyAyLjU4M2MuMDI1LjE5NS4wMjUuNDI4LjAyNS44OTJzMCAuNjk3LS4wMjUuODkxbC0uMDQ0LjI1YTMgMyAwIDAgMS0yLjU0IDIuMzMzbC0uMTU2LjAxNWMtLjE2OS4wMS0uMzg3LjAxLS43MzUuMDFzLS41NjYgMC0uNzM1LS4wMWwtLjE1Ny0uMDE1YTMgMyAwIDAgMS0yLjUzOS0yLjMzNGwtLjA0NC0uMjQ5QzE2IDEyLjE5NyAxNiAxMS45NjQgMTYgMTEuNXMwLS42OTcuMDI1LS44OTJhMyAzIDAgMCAxIDIuNTgzLTIuNTgzQzE4LjgwMyA4IDE5LjAzNiA4IDE5LjUgOE0xMCA2Yy40NjQgMCAuNjk2IDAgLjg5Mi4wMjJhMy41IDMuNSAwIDAgMSAzLjA4NSAzLjA4NkMxNCA5LjMwMyAxNCA5LjUzNiAxNCAxMHMwIC42OTYtLjAyMy44OTFhMy41IDMuNSAwIDAgMS0zLjA4NSAzLjA4NkMxMC42OTYgMTQgMTAuNDY0IDE0IDEwIDE0Yy0uMzQ4IDAtLjU2NiAwLS43MzUtLjAxbC0uMTU3LS4wMTNhMy41IDMuNSAwIDAgMS0zLjAzOS0yLjc4NWwtLjA0Ny0uM0M2LjAwMSAxMC42OTUgNiAxMC40NjMgNiAxMGMwLS4zNDggMC0uNTY2LjAxLS43MzZsLjAxMi0uMTU2QTMuNSAzLjUgMCAwIDEgOC44MDggNi4wN2wuMy0uMDQ3QzkuMzA0IDYgOS41MzYgNiAxMCA2bTkuNSAzYy0uNDk2IDAtLjY0Ny4wMDItLjc2LjAxN2EyIDIgMCAwIDAtMS43MjIgMS43MjJjLS4wMTUuMTE0LS4wMTguMjY1LS4wMTguNzYgMCAuNDk2LjAwMy42NDguMDE4Ljc2MWEyIDIgMCAwIDAgMS43MjEgMS43MjJjLjExNC4wMTUuMjY1LjAxOC43NjEuMDE4cy42NDctLjAwMy43Ni0uMDE4YTIgMiAwIDAgMCAxLjcyMi0xLjcyMWMuMDE1LS4xMTQuMDE4LS4yNjYuMDE4LS43NjEgMC0uNDk2LS4wMDMtLjY0Ny0uMDE4LS43NjFhMiAyIDAgMCAwLTEuNzIxLTEuNzIyQzIwLjE0NyA5LjAwMiAxOS45OTYgOSAxOS41IDlNMTAgN2MtLjQ5MiAwLS42NTUuMDAxLS43OC4wMTVBMi41IDIuNSAwIDAgMCA3LjAxNiA5LjIyQzcgOS4zNDUgNyA5LjUxIDcgMTBjMCAuNDkyLjAwMi42NTYuMDE2Ljc4MWEyLjUgMi41IDAgMCAwIDIuMjA0IDIuMjA0Yy4xMjUuMDE0LjI4OC4wMTYuNzguMDE2cy42NTUtLjAwMi43OC0uMDE2YTIuNSAyLjUgMCAwIDAgMi4yMDQtMi4yMDRjLjAxNC0uMTI1LjAxNi0uMjg5LjAxNi0uNzhzLS4wMDItLjY1NS0uMDE2LS43OGEyLjUgMi41IDAgMCAwLTIuMjA0LTIuMjA1QzEwLjY1NSA3LjAwMSAxMC40OTIgNyAxMCA3Ii8+PC9zdmc+J30sMjI4OTU4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiAxMC41VjI0SDZWNGgxMC41ek03IDIzaDE0VjExaC01VjVIN3ptMTItNEg5di0xaDEwem0wLTRIOXYtMWgxMHptLTYtNEg5di0xaDR6bTQtMWgzLjI2N0wxNyA2LjEzOXoiLz48L3N2Zz4nfSwxODcxNDcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTE3LjM5NCA2LjAxNC4yMTIuMTUzQTEzIDEzIDAgMCAxIDIzIDE2LjcwOVYyM2wtLjAwNC4xNTRhMyAzIDAgMCAxLTIuODQyIDIuODQyTDIwIDI2SDhhMyAzIDAgMCAxLTIuOTk2LTIuODQ2TDUgMjN2LTYuMjkxQTEzIDEzIDAgMCAxIDEwLjA4IDYuNGwuMzE0LS4yMzMuMjExLS4xNTNMOSAyaDEwek0xMC45NDkgN0ExMiAxMiAwIDAgMCA2IDE2LjcwOVYyM2EyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTYuMjkxQTEyIDEyIDAgMCAwIDE3LjA1IDd6TTExIDE3SDl2MWgxLjc0M3YxSDl2MWgydjFIOHYtNWgzem01IDBoLTEuNDgydjRoLTEuMDMzdi00SDEydi0xaDR6bTQgMGgtMnYxaDEuNzcxdjFIMTh2MmgtMXYtNWgzek0xMS42NzcgNmg0LjY0NmwxLjItM2gtNy4wNDZ6Ii8+PC9zdmc+J30sOTI2Njk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNSAyNWgtMXYtMmgxem0wLTRoLTF2LTJoMXptOC0xM3Y1aC0xVjkuNzA3bC03LjQ2MyA3LjQ2My01LTQtNC42ODMgNC42ODQtLjcwOC0uNzA3IDUuMzE3LTUuMzE3IDUgNEwyMS4yOTMgOUgxOFY4em0tOCA1aC0xdi0yaDF6bTAtNGgtMVY3aDF6bTAtNGgtMVYzaDF6Ii8+PC9zdmc+J30sODU5NzkxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxMmMxLjI5NiAwIDIuNDkzLjIzMiAzLjM4NS42MjkuNDQ1LjE5Ny44MzcuNDQ3IDEuMTI0Ljc0OC4yODkuMzAzLjQ5LjY4NC40OTEgMS4xMjN2Mi40NnEuMjg0LS4xODQuNjE1LS4zMzFjLjg5Mi0uMzk3IDIuMDktLjYzIDMuMzg1LS42MyAxLjI5NiAwIDIuNDkzLjIzMyAzLjM4NS42My40NDUuMTk3LjgzNy40NDcgMS4xMjQuNzQ4LjI4OS4zMDMuNDkuNjg0LjQ5MSAxLjEyM3YzYzAgLjQzOC0uMjAyLjgxOS0uNDkxIDEuMTIzLS4yODcuMzAxLS42NzkuNTUtMS4xMjQuNzQ4LS44OTIuMzk2LTIuMDkuNjI5LTMuMzg1LjYyOS0xLjI5NiAwLTIuNDkzLS4yMzMtMy4zODUtLjYzLS40NDUtLjE5Ny0uODM3LS40NDYtMS4xMjQtLjc0N2ExLjggMS44IDAgMCAxLS40MDctLjY0MnEtLjMxNi4yMi0uNy4zOWMtLjg5LjM5Ni0yLjA4Ny42MjktMy4zODQuNjI5cy0yLjQ5My0uMjMzLTMuMzg1LS42M2MtLjQ0NS0uMTk3LS44MzctLjQ0Ni0xLjEyNC0uNzQ3QzQuMjAyIDIxLjMxOSA0IDIwLjkzOCA0IDIwLjV2LTZjMC0uNDM5LjIwMi0uODIuNDkxLTEuMTIzLjI4Ny0uMzAyLjY3OS0uNTUgMS4xMjQtLjc0OC44OTItLjM5NyAyLjA5LS42MyAzLjM4NS0uNjNtMTMgOC4wMzlhNC40IDQuNCAwIDAgMS0uNjE1LjMzMmMtLjg5Mi4zOTYtMi4wOS42MjktMy4zODUuNjI5LTEuMjk2IDAtMi40OTMtLjIzMy0zLjM4NS0uNjNBNC4zIDQuMyAwIDAgMSAxNCAyMC4wNHYxLjQ2YzAgLjExNC4wNS4yNi4yMTYuNDM0LjE2OC4xNzcuNDM3LjM2LjgwNi41MjQuNzM2LjMyNyAxLjc4OS41NDMgMi45NzguNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3ptLTE3IC40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3YtMS40NmE0LjQgNC40IDAgMCAxLS42MTUuMzNjLS44OTIuMzk3LTIuMDkuNjMtMy4zODUuNjMtMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjQgNC40IDAgMCAxIDUgMTkuMDR6TTE4IDE3Yy0xLjE5IDAtMi4yNDIuMjE2LTIuOTc5LjU0NC0uMzY4LjE2NC0uNjM3LjM0Ni0uODA1LjUyMy0uMTY2LjE3NS0uMjE2LjMyLS4yMTYuNDM0cy4wNS4yNTkuMjE2LjQzM2MuMTY4LjE3Ny40MzcuMzYuODA2LjUyNC43MzYuMzI3IDEuNzg5LjU0MyAyLjk3OC41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNS0uNTIzQzIwLjI0MiAxNy4yMTUgMTkuMTg5IDE3IDE4IDE3bS01LS45NmE0LjQgNC40IDAgMCAxLS42MTUuMzMyYy0uODkyLjM5Ni0yLjA5LjYyOS0zLjM4NS42MjktMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjMgNC4zIDAgMCAxIDUgMTYuMDR2MS40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3pNOSAxM2MtMS4xOSAwLTIuMjQyLjIxNi0yLjk3OS41NDQtLjM2OC4xNjQtLjYzNy4zNDYtLjgwNS41MjMtLjE2Ni4xNzUtLjIxNi4zMi0uMjE2LjQzNHMuMDUuMjU5LjIxNi40MzNjLjE2OC4xNzguNDM3LjM2LjgwNS41MjQuNzM3LjMyNyAxLjc5LjU0MyAyLjk3OS41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNi0uNTIzQzExLjI0MyAxMy4yMTUgMTAuMTkgMTMgOSAxM20xMi41LTRhMi41IDIuNSAwIDEgMSAwIDUuMDAyQTIuNSAyLjUgMCAwIDEgMjEuNSA5bS40OTktMy4zNEwxNS43NjYgMTNsLS43NjQtLjYzTDIxLjIzNSA1ek0yMS41IDEwYTEuNSAxLjUgMCAxIDAgMCAzLjAwMSAxLjUgMS41IDAgMCAwIDAtM20tNi02YTIuNSAyLjUgMCAxIDEgMCA1LjAwMkEyLjUgMi41IDAgMCAxIDE1LjUgNG0wIDFhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwzNzQ2MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIxIDEzaDN2OC41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTVhMi41IDIuNSAwIDAgMS0yLjQ4Ny0yLjI0NEw0IDIxLjVWNWgxN3pNNSAyMS41QTEuNSAxLjUgMCAwIDAgNi41IDIzSDIwVjZINXpNMjEgMjNoLjVhMS41IDEuNSAwIDAgMCAxLjUtMS41VjE0aC0yem0tNy0zSDd2LTFoN3ptNC0zSDd2LTFoMTF6bS03LTRIN1Y5aDR6bTcgMGgtNXYtMWg1ek04IDEyaDJ2LTJIOHptMTAtMmgtNVY5aDV6Ii8+PC9zdmc+J30sODg3NjYzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDEyaDguMTdsMi45NTgtNS45ODEuODk2LjQ0M0wxNy4yODYgMTJoLjA1MmwtLjQ5MyAxaC0uMDUzbC0zLjMyMiA2LjcyLS4xMzguMjhIOHY1SDdWM2gxem0wIDdoNC43MWwyLjk2Ny02SDh6bTE1LTZoLTUuMDRsLjQ5My0xSDIzeiIvPjwvc3ZnPid9LDYyNzYwMihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTIwLjUwNSA5LjQyOS4zOTQuNzg4YTguMSA4LjEgMCAwIDEgLjUwMiA2LjAxM2MxLjQwNy0uMzI5IDIuNjkyLS4xNzIgNC4xMDMuMjgzbC40OTYuMTU3LS4xNzguNDg0Yy0uNzgxIDIuMjItMi43MjUgMy44Ni00LjY3OCA0LjU3Ni41NS41NzIuOTI2IDEuMjUzIDEuMjcgMS44NzVsLjA3My4xMzEuMjQ1LjQ0NC0uNDQ1LjIzOWMtMi4yNDIgMS4yMDctNSAuNDA4LTYuNjE0LTEuMzU1bC0uNTMxIDEuNDAyLS45MzUtLjM1NC41MTUtMS4zNmMtMi4zNi4zNDEtNS4wMTItLjc3NC01Ljk5OC0zLjEwOGwtLjE5OC0uNDY3LjQ3LS4xOWMuNjk1LS4yODQgMS40MTItLjU3IDIuMi0uNzEtMS41NDItMi4yNDEtMS40Mi00LjE3NS0uNjM2LTYuNDA0bC4xNi0uNDUxLjQ1Ny4xMzhjMS4zOTguNDI0IDIuNjA5IDEuMDQxIDMuNDQzIDIuMjY0YTkuMDIgOS4wMiAwIDAgMSA0LjMxMi00LjIwMmwuOTE3LS40MjMuNDQtLjIwM3pNMTkuMzUgMTAuNTNhOC4wMiA4LjAyIDAgMCAwLTQuMTEyIDQuMzY3bC0uMDk4LjI1Mi0uNDQ2IDEuMTQtLjQ4LTEuMTI1Yy0uNTczLTEuMzQyLTEuNTMxLTIuMDI0LTIuODYtMi40OTQtLjYwNCAyLjA4My0uNTQ0IDMuODY3IDEuMTc0IDUuNjg0bC43NTMuODMyLTEuMTIzLjAwM2MtLjc5Ni4wMDMtMS41MDguMjIxLTIuMjgzLjUyMiAxLjA1NiAxLjc2OCAzLjQ5NyAyLjUzIDUuNDg2IDEuODY2bC4zNy0uMTIzLjIxLjMyN2MxLjEzMSAxLjc2MiAzLjQ4MyAyLjY4NSA1LjQwNyAxLjk2OC0uNDI5LS43NTQtLjg0NS0xLjM4Ny0xLjUxNi0xLjgxNWwtMS4wMjYtLjY1NiAxLjE5MS0uMjU1YzEuOC0uMzg0IDMuNzgxLTEuNzY3IDQuNjgzLTMuNzEyLTEuMzU0LS4zNjQtMi41NC0uMzY3LTMuOTI2LjE2MmwtMS4wODcuNDE1LjQ0Ny0xLjA3NS4wOTctLjIzYTcuMSA3LjEgMCAwIDAtLjIwNi01LjkxOGwtLjE3OC0uMzU1em0tMTMuOTc5IDYuNy0xLjg3IDEuMDk4LS41MDYtLjg2MyAxLjg3LTEuMDk3ek0xMi41IDZhNi40OSA2LjQ5IDAgMCAxIDUuMiAyLjU5OWwtLjcxNi43MTVhNS41IDUuNSAwIDEgMC03LjY3IDcuNjdMOC42IDE3LjdBNi41IDYuNSAwIDAgMSAxMi41IDZNNCAxMnYxSDJ2LTF6bTEuNDMtNC4yNzQtLjUwNy44NjItMS45MjctMS4xMzQuNTA4LS44NjF6TTE4LjMxNSAzLjUgMTcuMjEgNS40MDNsLS44NjQtLjUwMkwxNy40NSAzek04LjY0NyA0Ljg0OWwtLjg2NS41MDItMS4wNy0xLjg0Ljg2NS0uNTAyek0xMyA0aC0xVjJoMXoiLz48L3N2Zz4nfSw2NzQ5MDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAyMmgtMXYtM2gxem0zIDBoLTF2LTZoMXptMyAwaC0xdi04aDF6bTMgMGgtMXYtNmgxem0zIDBoLTF2LTRoMXptMyAwaC0xdi02aDF6bTMgMGgtMXYtOGgxem0tLjE0Ni0xNC4xNDYtNC41ODYgNC41ODZhMi41IDIuNSAwIDAgMS0zLjUzNiAwbC0zLjE3MS0zLjE3MmExLjUgMS41IDAgMCAwLTIuMTIyIDBsLTQuNTg1IDQuNTg2LS43MDgtLjcwN0w4LjIzMiA4LjU2YTIuNSAyLjUgMCAwIDEgMy41MzYgMGwzLjE3MiAzLjE3MWExLjUgMS41IDAgMCAwIDIuMTIgMGw0LjU4Ny00LjU4NnoiLz48L3N2Zz4nfSwzNTY3MjEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDgiIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0wIDEuNDc1bDcuMzk2IDYuMDQuNTk2LjQ4NS41OTMtLjQ5TDE2IDEuMzkgMTQuODA3IDAgNy4zOTMgNi4xMjIgOC41OCA2LjEyIDEuMTg2LjA4eiIvPjwvc3ZnPid9LDQ4MzQwOShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDApIj48cGF0aCBmaWxsPSIjRkZEQjVFIiBkPSJNMTMuNjUxIDcuOTcyYzAtLjE2OC0uMDQtLjMyNS0uMTA3LS40NjgtLjQ0Ny0xLjQ0Mi0yLjU0LTEuMzM3LTUuNTE2LTEuNDA3LS40OTgtLjAxMi0uMjEzLS42LS4wMzgtMS44OS4xMTMtLjgzOC0uNDI4LTIuMTI3LTEuMzM3LTIuMTI3LTEuNSAwLS4wNTcgMS4xODMtMS4zODMgNC4xMDgtLjcwOCAxLjU2Mi0yLjI5MS42ODctMi4yOTEgMi4yNTd2My41NzNjMCAuNjEuMDYgMS4xOTguOTE5IDEuMjk1LjgzMy4wOTMuNjQ2LjY4NyAxLjg0Ny42ODdoNi4wMTVhMS4xMTIgMS4xMTIgMCAwIDAgMS4xMS0xLjExMWMwLS4yNTQtLjA4OC0uNDg2LS4yMzItLjY3My4zNC0uMTkuNTczLS41NS41NzMtLjk2NmExLjEgMS4xIDAgMCAwLS4yMzItLjY3MmMuMzQxLS4xOS41NzYtLjU1LjU3Ni0uOTY3IDAtLjMwMy0uMTIzLS41NzgtLjMyLS43NzlhMS4xMDUgMS4xMDUgMCAwIDAgLjQxNi0uODZ6Ii8+PHBhdGggZmlsbD0iI0VFOTU0NyIgZD0iTTkuNjczIDkuMDgzaDIuODY3Yy4zOSAwIC43NTctLjIwOS45NTYtLjU0NGEuMjkyLjI5MiAwIDAgMC0uNTAyLS4yOTguNTMuNTMgMCAwIDEtLjQ1NC4yNTlIOS42MDRhLjUyOC41MjggMCAwIDEgMC0xLjA1NmgxLjk2MmEuMjkyLjI5MiAwIDAgMCAwLS41ODNIOS42MDNhMS4xMTIgMS4xMTIgMCAwIDAtMS4xMSAxLjExMWMwIC4zNDIuMTU4LjY0NC40Ljg0OGExLjEwNyAxLjEwNyAwIDAgMC0uMzMyLjc5MWMwIC4zNDMuMTYuNjQ2LjQwNC44NWExLjEwNSAxLjEwNSAwIDAgMCAuMTQgMS42OTMgMS4xMDIgMS4xMDIgMCAwIDAgLjA0MiAxLjUyYy4yMDguMjA4LjQ5LjMyNS43ODUuMzI2aDEuODI4YTEuMTE3IDEuMTE3IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDItLjI5OC41MzEuNTMxIDAgMCAxLS40NTQuMjU4SDkuOTMyYS41MjguNTI4IDAgMCAxIDAtMS4wNTVIMTIuMWExLjExNyAxLjExNyAwIDAgMCAuOTU2LS41NDQuMjkyLjI5MiAwIDEgMC0uNTAxLS4yOTguNTI2LjUyNiAwIDAgMS0uNDU0LjI1OUg5Ljc0NWEuNTI5LjUyOSAwIDAgMSAwLTEuMDU2aDIuNjk3YTEuMTE2IDEuMTE2IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDEtLjI5OC41MjUuNTI1IDAgMCAxLS40NTUuMjU5aC0yLjc3YS41MjkuNTI5IDAgMCAxIDAtMS4wNTZ6Ii8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.953Z","timestamp":1785124876953,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2d9a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 06e648ab405875e41b6b8b35fb139b82\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11674,"size_decoded":5249,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3063)","md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-27T06:24:31.676978Z","times_seen":33,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTM1NV0sezgyMTk5MSh0LGUsaSl7aS5kKGUse2JsZW5kQ29sb3JzOigpPT5vfSk7dmFyIGw9aSgxMzQ2Nyk7Y29uc3Qgbz0odCxlKT0+KDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwuYmxlbmRSZ2JhKSgoMCxsLnBhcnNlUmdiYSkodCksKDAsbC5wYXJzZVJnYmEpKGUpKSl9LDY4MjcyMCh0LGUsaSl7aS5kKGUse0xvbGxpcG9wVG9vbHRpcE1hbmFnZXI6KCk9PnN9KTt2YXIgbD1pKDE2NzUwMiksbz1pKDEzODYzOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2lzRGVzdHJveWVkPSExLHRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyPW51bGwsdGhpcy5fc2hvd1Rvb2x0aXBBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9hY3RpdmVMb2xsaXBvcD10LHRoaXMuX2NhcmRUeXBlPWUsdGhpcy5fYWN0aXZlTG9sbGlwb3Auc3Vic2NyaWJlKCh0PT57bnVsbD09PXQmJnRoaXMuX2Rlc3Ryb3lUb29sdGlwKCl9KSl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lUb29sdGlwKCksdGhpcy5fYWN0aXZlTG9sbGlwb3AucmVsZWFzZSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LGUsaSl7aWYodGhpcy5faXNDbGlja0luc2lkZVRvb2x0aXAoaSkpcmV0dXJuITE7aWYodm9pZCAwIT09aSl7Y29uc3Qgbz1lKHQsaSk7aWYobnVsbCE9PW8mJigwLGwuZGVmYXVsdCkobyx0aGlzLl9hY3RpdmVMb2xsaXBvcC52YWx1ZSgpKSlyZXR1cm4hMX1jb25zdCBvPSEhdGhpcy5fYWN0aXZlTG9sbGlwb3AudmFsdWUoKTtyZXR1cm4gdGhpcy5fYWN0aXZlTG9sbGlwb3Auc2V0VmFsdWUobnVsbCksb31hc3luYyBzaG93VG9vbHRpcCh0LGUsbCxzLG4pe2NvbnN0IGE9bmV3IEFib3J0Q29udHJvbGxlcjt0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj1hO2NvbnN0IHI9YXdhaXQgbChhLnNpZ25hbCk7aWYobnVsbD09PXJ8fDA9PT1yLmxlbmd0aClyZXR1cm47Y29uc3R7c2hvd0xvbGxpcG9wVG9vbHRpcDpofT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc3MjYzKSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSgyOTUzNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDE3MDg3KSxpLmUoMzI3NDgpLGkuZSg0MzY0NCksaS5lKDQ1MzY4KSxpLmUoMjAyNzEpLGkuZSg1MTg4MCksaS5lKDE4NDcyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDUyOTIwKSxpLmUoODIyNzEpLGkuZSgzMTAwMSksaS5lKDY1NjEzKSxpLmUoNDgzMTIpLGkuZSgzMjM4NyksaS5lKDk3NjQ3KSxpLmUoNTc0ODUpLGkuZSg0MTY3MildKS50aGVuKGkuYmluZChpLDEzMDc1MikpLGQ9YXdhaXQgcygpO3RoaXMuX2lzRGVzdHJveWVkfHxhLnNpZ25hbC5hYm9ydGVkfHwoKDAsby5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlciwiTG9sbGlwb3AgdG9vbHRpcCByZW5kZXJlciBzaG91bGQgYmUgbnVsbCBiZWZvcmUgY3JlYXRpbmcgYSBuZXcgb25lIiksdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI9aCh7aXRlbXM6cixwb3NpdGlvbjplLGN1c3RvbUNsb3NlU3Vic2NyaXB0aW9uczpuLmN1c3RvbUNsb3NlU3Vic2NyaXB0aW9ucyxvbkNsb3NlOigpPT5uLm9uQ2xvc2UodCksb25DbGlja091dHNpZGU6ZT0+bi5vbkNsaWNrT3V0c2lkZSh0LGUpLG9uU2l6ZUNoYW5nZWQ6bi5vblNpemVDaGFuZ2VkLHNob3dTY3JvbGxGYWRlczohMCxjYXJkVHlwZTp0aGlzLl9jYXJkVHlwZSx0aGVtZTpkfSkpfV9pc0NsaWNrSW5zaWRlVG9vbHRpcCh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyJiZ2b2lkIDAhPT10JiZ0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlci5pc0NsaWNrSW5zaWRlKHQpfV9kZXN0cm95VG9vbHRpcCgpe3RoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI/LmhpZGUoKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlcj1udWxsfX19LDE0Nzk5Mih0LGUsaSl7dmFyIGw7ZnVuY3Rpb24gbyh0LGUsaT0wKXtlLnNldFZhbHVlKHQudmFsdWUoKSk7Y29uc3QgbD17fTtyZXR1cm4gdC5zdWJzY3JpYmUobCwodD0+e2Uuc2V0VmFsdWUodC52YWx1ZSgpKX0pKSwxPT09aSYmZS5zdWJzY3JpYmUobCwoZT0+e3Quc2V0VmFsdWUoZS52YWx1ZSgpKX0pKSwoKT0+e3QudW5zdWJzY3JpYmVBbGwobCksMT09PWkmJmUudW5zdWJzY3JpYmVBbGwobCl9fWkuZChlLHtiaW5kUHJvcGVydGllczooKT0+b30pLGZ1bmN0aW9uKHQpe3RbdC5PbmVXYXlTcmNUb0RzdD0wXT0iT25lV2F5U3JjVG9Ec3QiLHRbdC5Ud29XYXlzPTFdPSJUd29XYXlzIn0obHx8KGw9e30pKX0sNDk0MDc5KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BQYW5lVmlldzooKT0+d30pLGZ1bmN0aW9uKHQpe3RbdC5TcGFjZUJldHdlZW5Sb3dzPTI1XT0iU3BhY2VCZXR3ZWVuUm93cyIsdFt0LlRvb2x0aXBUb3BNYXJnaW49MTVdPSJUb29sdGlwVG9wTWFyZ2luIix0W3QuU3BhY2VCZXR3ZWVuQ2FyZEFuZExvbGxpcG9wPThdPSJTcGFjZUJldHdlZW5DYXJkQW5kTG9sbGlwb3AifShsfHwobD17fSkpO3ZhciBvPWkoMTY3NTAyKSxzPWkoOTE4Nzc5KSxuPWkoMTM4NjM4KSxhPWkoNzM2NTMxKSxyPWkoNjAxODQxKSxoPWkoNDAyMDQ1KSxkPWkoNjYzNCkscD1pKDY4MjcyMCksYz1pKDc2MyksdT1pKDc4OTE5MCksXz1pKDYzNzEwNCkseT1pKDU0MDg0NSksYj1pKDgyMjcyNiksdj1pKDk3NjgxMyksQz1pKDkyNjE0OSk7Y2xhc3Mgd3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2ludmFsaWRhdGVkPSExLHRoaXMuX3JlbmRlcmVyPW5ldyB1LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBiLlRleHRXaWR0aENhY2hlLAp0aGlzLl9zdHlsZXNDYWNoZT1udWxsLHRoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvPW5ldyBoLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZD10aGlzLl9yZWNyZWF0ZVN0eWxlcy5iaW5kKHRoaXMpLHRoaXMuX21vZGVsPXQsdGhpcy5fc291cmNlPWUsdGhpcy5fcmVjcmVhdGVTdHlsZXMoKSxDLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0LmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0Lm1haW5TZXJpZXMoKS5vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQpLHRoaXMuX2xvbGxpcG9wVG9vbHRpcD1uZXcgcC5Mb2xsaXBvcFRvb2x0aXBNYW5hZ2VyKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX0pKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksQy5DSEFSVF9GT05UX0ZBTUlMWV9XVi51bnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXAuZGVzdHJveSgpfXByb2Nlc3NDbGlja0luc2lkZSh0LGUsaSl7Y29uc3QgbD10aGlzLl9sb2xsaXBvcHNbaV07cmV0dXJuISghbHx8IWwudmlzaWJsZSkmJih0aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQsdGhpcy5fZ2V0TG9sbGlwb3BSZW5kZXJlckRhdGEobCksKDAscy5zaXplKSh7d2lkdGg6ZS5jbGllbnRXaWR0aCxoZWlnaHQ6ZS5jbGllbnRIZWlnaHR9KSx7cHJldmVudERlZmF1bHQ6KCk9Pnt9LHRhcmdldDplfSksITApfXByb2Nlc3NDbGlja091dHNpZGUodCxlKXtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LHRoaXMuX2dldEFjdGl2ZUxvbGxpcG9wVG9vbHRpcEluZm8uYmluZCh0aGlzKSxlKX11cGRhdGUodCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9YWZ0ZXJVcGRhdGUodCxlLGksbCl7fWdldFN0eWxlKHQsZSl7bGV0IGk9ZTtpZih0LnN0YWNrJiYoaSs9Il9zdGFjazoiK3Quc3RhY2spLCJhY3RpdmUiPT09aSlyZXR1cm4gdGhpcy5fYWN0aXZlU3R5bGU7aWYoImhvdmVyZWQiPT09aSlyZXR1cm4gdGhpcy5faG92ZXJlZFN0eWxlO2lmKCJkZWZhdWx0Ij09PWkpcmV0dXJuIHRoaXMuX2RlZmF1bHRTdHlsZTtpZih0aGlzLl9zdHlsZXNDYWNoZXx8KHRoaXMuX3N0eWxlc0NhY2hlPXt9KSwhdGhpcy5fc3R5bGVzQ2FjaGVbaV0pe2NvbnN0IGw9KDAsci5jbG9uZSkoImFjdGl2ZSI9PT1lP3RoaXMuX2FjdGl2ZVN0eWxlOiJob3ZlcmVkIj09PWU/dGhpcy5faG92ZXJlZFN0eWxlOnRoaXMuX2RlZmF1bHRTdHlsZSk7dC5zdGFjayYmKGwubG9sbGlwb3AuaW5jSGVpZ2h0PTI1KnQuc3RhY2spLHRoaXMuX3N0eWxlc0NhY2hlW2ldPWx9cmV0dXJuIHRoaXMuX3N0eWxlc0NhY2hlW2ldfWhhc1Rvb2x0aXAodCl7cmV0dXJuITB9Y2xlYXJBY3RpdmVMb2xsaXBvcCgpe3RoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKX1hc3luYyBfc3BlY2lhbFRvb2x0aXBTdHlsZXModCl7fV9nZXRZKCl7bGV0IHQ9MDtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IGw9ZVtpXTtsLmNvbnRhaW5zTWFpblNlcmllcygpJiYodCs9bC5oZWlnaHQoKSl9cmV0dXJuIHR9X3Nob3dCYXJMaW5lKHQpe3JldHVybiB0aGlzLmhhc1Rvb2x0aXAodCkmJih0LmhvdmVyZWR8fHRoaXMuX2lzTG9sbGlwb3BBY3RpdmUodCkpfV9nZXRMb2xsaXBvcFJlbmRlcmVyRGF0YSh0KXtjb25zdCBlPXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKHQpLGk9dGhpcy5nZXRTdHlsZSh0LGUpO3JldHVybntpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleCxjZW50ZXJQb2ludDpuZXcgYS5Qb2ludCh0LmJhc2VQb2ludC54LHQuYmFzZVBvaW50LnktaS5sb2xsaXBvcC5ib3R0b20taS5sb2xsaXBvcC5oZWlnaHQvMi0oaS5sb2xsaXBvcC5pbmNIZWlnaHR8fDApKSxzdHlsZTppLHN0YXR1czplfX1fY3JlYXRlUmVuZGVyZXJzKHQpe2NvbnN0e21lZGlhU2l6ZTplfT10O2Zvcihjb25zdCBpIG9mIE9iamVjdC52YWx1ZXModGhpcy5fbG9sbGlwb3BzKSlpZih2b2lkIDAhPT1pJiZpLnZpc2libGUpe2NvbnN0IGw9dGhpcy5fZ2V0TG9sbGlwb3BTdGF0dXMoaSksbz10aGlzLmdldFN0eWxlKGksbCkscz17aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXgsY2VudGVyUG9pbnQ6bmV3IGEuUG9pbnQoaS5iYXNlUG9pbnQueCxpLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0LzItKG8ubG9sbGlwb3AuaW5jSGVpZ2h0fHwwKSksc3R5bGU6byxzdGF0dXM6bH0sbj17Y3Vyc29yVHlwZTp2LlBhbmVDdXJzb3JUeXBlLkRlZmF1bHQsYWN0aXZlSXRlbTp7aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXh9LGhpZGVDcm9zc2hhaXJMaW5lc09uSG92ZXI6ITAsY2xpY2tIYW5kbGVyOihpLGwpPT50aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQscyxlLGkpLHRhcEhhbmRsZXI6KGksbCk9PnRoaXMuX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxzLGUsaSl9O2lmKHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKHMsbikpLHRoaXMuX3Nob3dCYXJMaW5lKGkpKXtjb25zdHtzdHJva2VTdHlsZTp0LGxpbmVTdHlsZTplLGxpbmVXaWR0aDpsfT1vLmJhckxpbmUscz17Y29sb3I6dCxsaW5lc3R5bGU6ZSxsaW5ld2lkdGg6bCwKeDppLmJhc2VQb2ludC54LHRvcDowLGJvdHRvbTppLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0fSxuPW5ldyB5LlZlcnRpY2FsTGluZVJlbmRlcmVyO24uc2V0RGF0YShzKSx0aGlzLl9yZW5kZXJlci5pbnNlcnQobiwwKX19fV9yZWNyZWF0ZVN0eWxlcygpe3RoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AodCxlKXtyZXR1cm4gbmV3IF8uTG9sbGlwb3BSZW5kZXJlcih0LG5ldyBjLkhpdFRlc3RSZXN1bHQoYy5IaXRUYXJnZXQuQ3VzdG9tLGUpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1fb25TeW1ib2xPckludGVydmFsQ2hhbmdlZCgpe3RoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fcmVuZGVyZXIuY2xlYXIoKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCl9YXN5bmMgX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxlLGksbCl7bC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9e2lkOmUuaWQsaXRlbUluZGV4OmUuaXRlbUluZGV4fTtpZigoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHMpKXJldHVybiB0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCksITE7dGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvLnNldFZhbHVlKHMpO2NvbnN0IHI9e3RhcmdldDpsLnRhcmdldCx0YXJnZXRTaXplOmkscG9pbnQ6bmV3IGEuUG9pbnQoZS5jZW50ZXJQb2ludC54LGUuY2VudGVyUG9pbnQueS1lLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLTgpLG1hcmdpblRvcDoxNX0saD0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2xvbGxpcG9wc1tlLmlkXSksZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnNob3dUb29sdGlwKHQsciwodD0+dGhpcy5fY3JlYXRlVG9vbHRpcENvbnRlbnQoaCx0KSksKCgpPT50aGlzLl9zcGVjaWFsVG9vbHRpcFN0eWxlcyhoKSkse29uQ2xvc2U6dGhpcy5wcm9jZXNzQ2xpY2tPdXRzaWRlLmJpbmQodGhpcyksb25DbGlja091dHNpZGU6KHQsZSk9Pnt0aGlzLl9zb3VyY2Uub25DbGlja091dHNpZGU/Lih0LCgwLG4uZW5zdXJlRGVmaW5lZCkoZSkpfSxjdXN0b21DbG9zZVN1YnNjcmlwdGlvbnM6W2Qub25TY3JvbGwoKSxkLmJhclNwYWNpbmdDaGFuZ2VkKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCldLG9uU2l6ZUNoYW5nZWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3NvdXJjZSkpLm9uU2l6ZUNoYW5nZWQoKX0pLCEwfV9nZXRMb2xsaXBvcFN0YXR1cyh0KXtyZXR1cm4gdGhpcy5faXNMb2xsaXBvcEFjdGl2ZSh0KT8iYWN0aXZlIjp0LmhvdmVyZWQ/ImhvdmVyZWQiOiJkZWZhdWx0In1faXNMb2xsaXBvcEFjdGl2ZSh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpJiYoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHtpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleH0pfV9nZXRBY3RpdmVMb2xsaXBvcFRvb2x0aXBJbmZvKHQsZSl7Y29uc3QgaT0oMCxkLmdldENsaWNrUG9zaXRpb24pKGUpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5yZW5kZXJlcih0KT8uaGl0VGVzdChuZXcgYS5Qb2ludChpLngsaS55KSx0KT8uZGF0YSgpPy5hY3RpdmVJdGVtPz9udWxsO3JldHVybiBudWxsPT09bD9udWxsOmx9fX0sNjM3MTA0KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BSZW5kZXJlcjooKT0+ZCxkcmF3TGFiZWw6KCk9PnB9KSxmdW5jdGlvbih0KXt0W3QuU2l6ZURlbHRhPTFdPSJTaXplRGVsdGEifShsfHwobD17fSkpO3ZhciBvPWkoNzY4MzA1KSxzPWkoNzM2NTMxKSxuPWkoMjYwNjkpLGE9aSg3ODY0MzYpLHI9aSgxNTEyMSksaD1pKDYwNDIxNCk7Y2xhc3MgZHtjb25zdHJ1Y3Rvcih0LGUsaSl7dGhpcy5fbWF0cml4PW5ldyBET01NYXRyaXhSZWFkT25seSx0aGlzLl9kYXRhPXQsdGhpcy5faGl0dGVzdD1lLHRoaXMuX3RleHRXaWR0aENhY2hlPWl9ZHJhdyh0LGUpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmx9PWUse2NlbnRlclBvaW50Om8sc3R5bGU6e2xvbGxpcG9wOm59fT10aGlzLl9kYXRhLGE9TWF0aC5yb3VuZChvLngqaSkscj1NYXRoLnJvdW5kKG8ueSpsKSxoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMi8yLGQ9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKSUyLzIscD1uZXcgcy5Qb2ludChhK2gsci1kKTt0aGlzLl9tYXRyaXg9KG5ldyBET01NYXRyaXhSZWFkT25seSkudHJhbnNsYXRlKGgsLWQpLnNjYWxlKGksbCkudHJhbnNsYXRlKC1uLndpZHRoLzIsLW4uaGVpZ2h0LzIpLnRyYW5zbGF0ZShvLngsby55KSx0aGlzLl9kcmF3TG9sbGlwb3AodCxwLGUpLHRoaXMuX2RyYXdMYWJlbCh0LHAsZSl9aGl0VGVzdCh0KXtjb25zdCBlPXRoaXMuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxvLnBvaW50SW5Cb3gpKHQsZSk/dGhpcy5faGl0dGVzdDpudWxsfV9oaXRUZXN0Qm94KCl7Y29uc3QgdD0oMCxoLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmVzZCxlPXRoaXMuX2RhdGEuY2VudGVyUG9pbnQueS10aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLXQsaT10aGlzLl9kYXRhLmNlbnRlclBvaW50LngtdGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC53aWR0aC8yLXQ7cmV0dXJuKDAscy5ib3gpKG5ldyBzLlBvaW50KGksZSksbmV3IHMuUG9pbnQoaSt0aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLndpZHRoKzIqdCxlK3RoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AuaGVpZ2h0KzIqdCkpfV9kcmF3TG9sbGlwb3AodCxlLGkpe2NvbnN0IGw9dGhpcy5fZGF0YS5zdHlsZSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86b309aSxzPXRoaXMuX2ZpbGxSYWRpdXMobykKO2wubG9sbGlwb3AuZmlsbENpcmNsZSYmbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3ImJnRoaXMuX2RyYXdGaWxsZWRDaXJjbGUodCxlLHMsbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3IpO2NvbnN0IG49TWF0aC5yb3VuZChsLmxvbGxpcG9wLmxpbmVXaWR0aCpvKSxhPXMtTWF0aC5yb3VuZCgxKm8rbi8yKTtsLmxvbGxpcG9wLmZpbGxDaXJjbGUmJmwubG9sbGlwb3AuZmlsbFN0eWxlJiZ0aGlzLl9kcmF3RmlsbGVkQ2lyY2xlKHQsZSxhLGwubG9sbGlwb3AuZmlsbFN0eWxlKSx0aGlzLl9kcmF3Qm9yZGVyTGluZSh0LGUsbixhKX1fZHJhd0xhYmVsKHQsZSxpKXtjb25zdCBsPXRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dCxvPWwubGFiZWw7aWYoIiI9PT1vKXJldHVybjtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT1pO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPWwuc3Ryb2tlU3R5bGUsdC5mb250PWwuZm9udDtjb25zdCBhPXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsbyk7dC50cmFuc2xhdGUoZS54LGUueSthKm4pLCgwLHIuZHJhd1NjYWxlZCkodCxzLG4sKCgpPT57dC5maWxsVGV4dChvLDAsMCl9KSl9X2ZpbGxSYWRpdXModCl7Y29uc3QgZT10aGlzLl9kYXRhLnN0eWxlLGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHQpKTtsZXQgbD1NYXRoLnJvdW5kKGUubG9sbGlwb3Aud2lkdGgqdCk7cmV0dXJuIGwlMiE9aSUyJiYobCs9MSksbC8yfV9kcmF3Qm9yZGVyTGluZSh0LGUsaSxsKXtjb25zdCBvPXRoaXMuX2RhdGEuc3R5bGU7dC5zdHJva2VTdHlsZT1vLmxvbGxpcG9wLnN0cm9rZVN0eWxlLHQubGluZVdpZHRoPWksKDAsYS5zZXRMaW5lU3R5bGUpKHQsbi5MSU5FU1RZTEVfU09MSUQpLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksbCksdC5zdHJva2UoKX1fZHJhd0ZpbGxlZENpcmNsZSh0LGUsaSxsKXt0LmZpbGxTdHlsZT1sLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksaSksdC5maWxsKCl9fWZ1bmN0aW9uIHAodCxlLGksbCl7dHJ5e3Quc2F2ZSgpLHQuZmlsbFN0eWxlPWwuZmlsbENvbG9yLHQuZmlsbChmdW5jdGlvbih0LGUpe2NvbnN0IGk9bmV3IFBhdGgyRDtyZXR1cm4gaS5hZGRQYXRoKHQsZSksaX0oZSxpKSxsLmZpbGxSdWxlKX1maW5hbGx5e3QucmVzdG9yZSgpfX19LDU0MDg0NSh0LGUsaSl7aS5kKGUse1ZlcnRpY2FsTGluZVJlbmRlcmVyOigpPT5yfSk7dmFyIGw9aSg3NjMpLG89aSg3ODY0MzYpLHM9aSg2MDQyMTQpLG49aSgxNTEyMSksYT1pKDkzNDMwNSk7Y2xhc3MgciBleHRlbmRzIGEuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9oaXRUZXN0PW5ldyBsLkhpdFRlc3RSZXN1bHQobC5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dH1zZXRIaXRUZXN0KHQpe3RoaXMuX2hpdFRlc3Q9dH1oaXRUZXN0KHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHxudWxsPT09dGhpcy5faGl0VGVzdClyZXR1cm4gbnVsbDtjb25zdCBlPSgwLHMuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkubGluZSxpPU1hdGguYWJzKHQueC10aGlzLl9kYXRhLngpPD1lK3RoaXMuX2RhdGEubGluZXdpZHRoLzIsbD12b2lkIDA9PT10aGlzLl9kYXRhLnRvcHx8dGhpcy5fZGF0YS50b3AtdC55PD1lLG89dm9pZCAwPT09dGhpcy5fZGF0YS5ib3R0b218fHQueS10aGlzLl9kYXRhLmJvdHRvbTw9ZTtyZXR1cm4gaSYmbCYmbz90aGlzLl9oaXRUZXN0Om51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHx0aGlzLl9kYXRhLmxpbmV3aWR0aDw9MClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmwsbWVkaWFTaXplOnN9PXQ7aWYodGhpcy5fZGF0YS54PC10aGlzLl9kYXRhLmxpbmV3aWR0aC8yfHx0aGlzLl9kYXRhLng+cy53aWR0aCt0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKXJldHVybjtlLmxpbmVDYXA9ImJ1dHQiLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fZGF0YS5saW5ld2lkdGgqaSkpLHZvaWQgMCE9PXRoaXMuX2RhdGEubGluZXN0eWxlJiYoMCxvLnNldExpbmVTdHlsZSkoZSx0aGlzLl9kYXRhLmxpbmVzdHlsZSk7Y29uc3QgYT12b2lkIDAhPT10aGlzLl9kYXRhLnRvcD9NYXRoLm1heCh0aGlzLl9kYXRhLnRvcCwwKTowLHI9dm9pZCAwIT09dGhpcy5fZGF0YS5ib3R0b20/TWF0aC5taW4odGhpcy5fZGF0YS5ib3R0b20scy5oZWlnaHQpOnMuaGVpZ2h0LGg9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLngqaSksZD1NYXRoLmZsb29yKGEqbCkscD1NYXRoLmNlaWwocipsKSxjPXRoaXMuX2RhdGEuZXhjbHVkZUJvdW5kYXJpZXM7dm9pZCAwIT09YyYmKDAsbi5hZGRFeGNsdXNpb25BcmVhQnlTY29wZSkodCxjKSwoMCxvLmRyYXdWZXJ0aWNhbExpbmUpKGUsaCxkLHApfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.202Z","timestamp":1785124877202,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 47\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d16a372bfdea8f9730dfa18fed5f85fd\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":47,"size_decoded":831,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"285050ec431662602ebff1a7403d840d","sha1":"e46274ce870b7b93f851b2764c3f0d6dca88cbfe","sha256":"e7051ebd49847be7a2594441481b75d8893d862ca965a4b10ef38bd60fcaf512","sha512":"2d5d3c21c502edac88ccc711982ef21cd411a476d72776ad784c143b582646a57b9eb034d9f364c322df558128497a522f08998f24c3835b07483eb7cd29b19d","ssdeep":"","tlshash":"b8900284aa2099524912905e13c8d05debc45dc016810fb2a514415454d15d31082110","first_seen":"2026-07-19T21:33:33.874532Z","last_seen":"2026-07-27T06:24:31.683191Z","times_seen":25,"resource_available":false,"data":"LmhpZ2hsaWdodGVkLVVzVHFua0wwe2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3916.5481261b9512717460fe.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.218Z","timestamp":1785124877218,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3916.5481261b9512717460fe.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-527\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: de111010b7eb4b24d6baf64c14fc5322\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1319,"size_decoded":1174,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1319), with no line terminators","md5":"a1bb7ef590664b0f02c8827b83a39965","sha1":"1306777feaf4283c77ea4e48d3bf3c8dce143921","sha256":"8d0a307ce60e964474b8dd762dcbcc08a2749f583077a313115f4ec6a855b27b","sha512":"5c4a70de5fe18f9129572854704902530773d6712fac4db28ebd310e85f6322e6653bd2677be19aeba2211530d67b018c8e12b15ade2952c268d8f2f76fcdca9","ssdeep":"","tlshash":"7521f7cde5d2a22f3a0f313e432dc15c621a7881df932b75b826d2e402c57e565b7564","first_seen":"2025-07-09T18:19:43.559202Z","last_seen":"2026-07-27T06:24:31.624773Z","times_seen":288,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTTRVUzojMDAwMH0uYnV0dG9uLXc2bFZlX29Je2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQpKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTowO2hlaWdodDoyMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7d2lkdGg6MjJweH0uYnV0dG9uLXc2bFZlX29JLmhvdmVyZWQtdzZsVmVfb0ksLmJ1dHRvbi13NmxWZV9vSTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXItY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLXc2bFZlX29JOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIpKX19LmJ1dHRvbi13NmxWZV9vSS5kaXNhYmxlZC13NmxWZV9vSSwuYnV0dG9uLXc2bFZlX29JLmRpc2FibGVkLXc2bFZlX29JOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1fMC1NNFVTKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tdzZsVmVfb0kuZGlzYWJsZWQtdzZsVmVfb0k6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IsdmFyKC0tXzAtTTRVUykpfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32632.596e5348a1538a18fd4e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.807Z","timestamp":1785124875807,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d114c16a17c228a99b973a08b5e0e2b3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-07-27T06:14:34.257445Z","times_seen":792,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":48,"timings":{"blocked":-1,"dns":28,"connect":1,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37746.345227bb16e0d8bc9bd5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.678Z","timestamp":1785124876678,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37746.345227bb16e0d8bc9bd5.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-4a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8901db2ae8420ebd5a11a8a07236f197\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1187,"size_decoded":1308,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1187), with no line terminators","md5":"7c2aff82ece78ae66e4fd48a3d376d48","sha1":"a0455b0a01ddb45dbeb672c1c2b4acd05473f387","sha256":"b7b76e631e49ee552d2d39a236f96bdfaf0b9feeb6bfc0f463b53af9b083016a","sha512":"eb59cb697bda650cf008b5547eb750fad0e6fb3532027021fcdf3c855b246b1f377f29bdde84c93f8e6514afcba0b90d725b44f933da0dca4ece00bb5204704f","ssdeep":"","tlshash":"59219099c45b006d493f13259bdd264d453d980262277eef39d1b0ce0a86adf23ff229","first_seen":"2026-04-09T17:47:32.401827Z","last_seen":"2026-07-27T06:14:34.24931Z","times_seen":545,"resource_available":false,"data":"LmRpYWxvZy1xeUN3MFBhTnttYXgtd2lkdGg6MzgwcHg7bWluLXdpZHRoOjI4MHB4O3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCV9LmRpYWxvZy1xeUN3MFBhTiBbZGF0YS1kcmFnZy1hcmVhPXRydWVde2N1cnNvcjpncmFifS5kaWFsb2ctcXlDdzBQYU4gW2RhdGEtZHJhZ2ctYXJlYT10cnVlXS5kcmFnZ2luZy1xeUN3MFBhTntjdXJzb3I6Z3JhYmJpbmd9aHRtbC50aGVtZS1kYXJrIC5kaWFsb2ctcXlDdzBQYU4ubW9iaWxlLXF5Q3cwUGFOe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmxhY2spfWh0bWwudGhlbWUtZGFyayAuZGlhbG9nLXF5Q3cwUGFOLm1vYmlsZS1xeUN3MFBhTjpub3QoLmZ1bGxzY3JlZW4tcXlDdzBQYU4pe2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApLDAgMCAycHggMCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOe2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLW5hbWU6ZGlhbG9nQW5pbWF0aW9uLXF5Q3cwUGFOO3RyYW5zZm9ybS1vcmlnaW46MCAwfS5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9QGtleWZyYW1lcyBkaWFsb2dBbmltYXRpb24tcXlDdzBQYU57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkpKSBzY2FsZSgwKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZKSkgc2NhbGUoMSl9fS5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTtsaW5lLWhlaWdodDoyMXB4O21heC13aWR0aDo1NDBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTIwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6bWF4LWNvbnRlbnR9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe21heC13aWR0aDoyNDBweH19LmRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.753Z","timestamp":1785124876753,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: edd2345377641f8c556977b50d4f3645\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-07-27T06:14:47.002011Z","times_seen":2184,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.893Z","timestamp":1785124876893,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9d25\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: de51c65a07d10cb24d71b1f02a36934d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":40229,"size_decoded":13400,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-27T06:24:31.640541Z","times_seen":53,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjExMjYsNjk2OTddLHs0MTE5OTIoZSx0LHMpe3MuZCh0LHtoYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFnczooKT0+aX0pO3ZhciByPXMoMTU2ODI5KTtuZXcgU2V0KFsic3RvY2siLCJkciIsInJpZ2h0Iiwid2FycmFudCIsInN0cnVjdHVyZWQiLCJib25kIl0pLG5ldyBTZXQoWyJtdXR1YWwiLCJ1bml0IiwidHJ1c3QiLCJyZWl0IiwiY2xvc2VkZW5kIiwiZXRuIl0pLG5ldyBTZXQoWyJldG4iXSksbmV3IFNldChbImNvbnZlcnRpYmxlIiwiY29ycG9yYXRlIl0pLG5ldyBTZXQoWyJjZmQiXSk7ZnVuY3Rpb24gaShlLHQscyl7aWYodCYmcyYmKDAsci5pc0V0ZikodCxzKSlyZXR1cm4hMTtjb25zdHtkaXZpZGVuZHNfYXZhaWxhYmlsaXR5OmksZWFybmluZ3NfYXZhaWxhYmlsaXR5Om4sZmluYW5jaWFsc19hdmFpbGFiaWxpdHk6b309ZTtyZXR1cm4gMT09PW98fDE9PT1pfHwxPT09bn19LDg4OTM5NyhlLHQscyl7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5pfSk7dmFyIHI9cyg4OTA4MzUpO2Z1bmN0aW9uIGkoZSl7ci5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODI3MDI5KGUsdCxzKXt2YXIgcixpLG47cy5kKHQse0VVX01BUktFVFM6KCk9Pm8sR2xvYmFsTWFya2V0OigpPT5uLE5vblN0b2NrTWFya2V0OigpPT5pLFN0b2NrTWFya2V0OigpPT5yfSksZnVuY3Rpb24oZSl7ZS5BbWVyaWNhPSJhbWVyaWNhIixlLkFyZ2VudGluYT0iYXJnZW50aW5hIixlLkF1c3RyYWxpYT0iYXVzdHJhbGlhIixlLkF1c3RyaWE9ImF1c3RyaWEiLGUuQmFocmFpbj0iYmFocmFpbiIsZS5CYW5nbGFkZXNoPSJiYW5nbGFkZXNoIixlLkJlbGdpdW09ImJlbGdpdW0iLGUuQnVsZ2FyaWE9ImJ1bGdhcmlhIixlLkJyYXppbD0iYnJhemlsIixlLkNhbmFkYT0iY2FuYWRhIixlLkNoaWxlPSJjaGlsZSIsZS5DaGluYT0iY2hpbmEiLGUuQ29sb21iaWE9ImNvbG9tYmlhIixlLkNyb2F0aWE9ImNyb2F0aWEiLGUuQ3lwcnVzPSJjeXBydXMiLGUuQ3plY2g9ImN6ZWNoIixlLkRlbm1hcms9ImRlbm1hcmsiLGUuRWd5cHQ9ImVneXB0IixlLkVzdG9uaWE9ImVzdG9uaWEiLGUuRmlubGFuZD0iZmlubGFuZCIsZS5GcmFuY2U9ImZyYW5jZSIsZS5HZXJtYW55PSJnZXJtYW55IixlLkdyZWVjZT0iZ3JlZWNlIixlLkhvbmdLb25nPSJob25na29uZyIsZS5IdW5nYXJ5PSJodW5nYXJ5IixlLkljZWxhbmQ9ImljZWxhbmQiLGUuSW5kaWE9ImluZGlhIixlLkluZG9uZXNpYT0iaW5kb25lc2lhIixlLklyZWxhbmQ9ImlyZWxhbmQiLGUuSXNyYWVsPSJpc3JhZWwiLGUuSXRhbHk9Iml0YWx5IixlLkphcGFuPSJqYXBhbiIsZS5LZW55YT0ia2VueWEiLGUuS3V3YWl0PSJrdXdhaXQiLGUuTGF0dmlhPSJsYXR2aWEiLGUuTGl0aHVhbmlhPSJsaXRodWFuaWEiLGUuTHV4ZW1ib3VyZz0ibHV4ZW1ib3VyZyIsZS5NYWxheXNpYT0ibWFsYXlzaWEiLGUuTWV4aWNvPSJtZXhpY28iLGUuTW9yb2Njbz0ibW9yb2NjbyIsZS5OZXRoZXJsYW5kcz0ibmV0aGVybGFuZHMiLGUuTmV3WmVhbGFuZD0ibmV3emVhbGFuZCIsZS5OaWdlcmlhPSJuaWdlcmlhIixlLk5vcndheT0ibm9yd2F5IixlLlBha2lzdGFuPSJwYWtpc3RhbiIsZS5QZXJ1PSJwZXJ1IixlLlBoaWxpcHBpbmVzPSJwaGlsaXBwaW5lcyIsZS5Qb2xhbmQ9InBvbGFuZCIsZS5Qb3J0dWdhbD0icG9ydHVnYWwiLGUuUWF0YXI9InFhdGFyIixlLlJvbWFuaWE9InJvbWFuaWEiLGUuUnVzc2lhPSJydXNzaWEiLGUuU2F1ZGlBcmFiaWE9ImtzYSIsZS5TZXJiaWE9InNlcmJpYSIsZS5TaW5nYXBvcmU9InNpbmdhcG9yZSIsZS5TbG92YWtpYT0ic2xvdmFraWEiLGUuU2xvdmVuaWE9InNsb3ZlbmlhIixlLlNvdXRoQWZyaWNhPSJyc2EiLGUuU291dGhLb3JlYT0ia29yZWEiLGUuU3BhaW49InNwYWluIixlLlNyaUxhbmthPSJzcmlsYW5rYSIsZS5Td2VkZW49InN3ZWRlbiIsZS5Td2l0emVybGFuZD0ic3dpdHplcmxhbmQiLGUuVGFpd2FuPSJ0YWl3YW4iLGUuVGhhaWxhbmQ9InRoYWlsYW5kIixlLlR1bmlzaWE9InR1bmlzaWEiLGUuVHVya2V5PSJ0dXJrZXkiLGUuVUFFPSJ1YWUiLGUuVUs9InVrIixlLlZlbmV6dWVsYT0idmVuZXp1ZWxhIixlLlZpZXRuYW09InZpZXRuYW0ifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuRm9yZXg9ImZvcmV4IixlLkNyeXB0bz0iY3J5cHRvIixlLkNvaW49ImNvaW4iLGUuQ0ZEPSJjZmQiLGUuQm9uZHM9ImJvbmRzIixlLkJvbmQ9ImJvbmQiLGUuRnV0dXJlcz0iZnV0dXJlcyIsZS5PcHRpb25zPSJvcHRpb25zIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLkdsb2JhbD0iZ2xvYmFsIn0obnx8KG49e30pKTtyLkJlbGdpdW0sci5DeXBydXMsci5EZW5tYXJrLHIuRXN0b25pYSxyLkZpbmxhbmQsci5GcmFuY2Usci5HZXJtYW55LHIuR3JlZWNlLHIuSHVuZ2FyeSxyLkljZWxhbmQsci5JdGFseSxyLkxhdHZpYSxyLkxpdGh1YW5pYSxyLkx1eGVtYm91cmcsci5OZXRoZXJsYW5kcyxyLk5vcndheSxyLlBvbGFuZCxyLlBvcnR1Z2FsLHIuUm9tYW5pYSxyLlJ1c3NpYSxyLlNlcmJpYSxyLlNsb3Zha2lhLHIuU3BhaW4sci5Td2VkZW4sci5Td2l0emVybGFuZCxyLlR1cmtleSxyLlVLO2NvbnN0IG89W3IuQmVsZ2l1bSxyLkN5cHJ1cyxyLkRlbm1hcmssci5Fc3RvbmlhLHIuRmlubGFuZCxyLkZyYW5jZSxyLkdlcm1hbnksci5HcmVlY2Usci5IdW5nYXJ5LHIuSXRhbHksci5MYXR2aWEsci5MaXRodWFuaWEsci5MdXhlbWJvdXJnLHIuTmV0aGVybGFuZHMsci5Qb2xhbmQsci5Qb3J0dWdhbCxyLlJvbWFuaWEsci5TbG92YWtpYSxyLlNwYWluLHIuU3dlZGVuXX0sNTk1NTE3KGUsdCxzKXtzLmQodCx7Z2V0U2NhbjJEYXRhOigpPT5oLGdldFNjYW5EYXRhOigpPT51fSk7dmFyIHI9cygzODQwMTcpLGk9cygyMTYwNzkpLG49cygxNTg3NjMpLG89cygzMjYwNDgpLGE9cygxMzM4NzQpO2NvbnN0IGw9InVzZXIgZG9lcyBub3QgaGF2ZSByaWdodHMgdG8gd2F0Y2hsaXN0Igo7Y2xhc3MgXyBleHRlbmRzIGEuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IldhdGNobGlzdFJpZ2h0c0Vycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1sOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fWZ1bmN0aW9uIGMoZSx0LHMsYSxjLHU9e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9KXtjb25zdCBoPXMuZ2V0TWFya2V0cygpLGQ9bmV3IFVSTCgoMCxpLmdldEJhY2tlbmRVcmwpKGgsYSkrZSk7YyYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsYWJlbC1wcm9kdWN0IixjKTtjb25zdCBtPUpTT04uc3RyaW5naWZ5KHMuZ2V0UGFyYW1zKCkpO3JldHVybigwLHIuZmV0Y2gpKGQudG9TdHJpbmcoKSx7c2lnbmFsOnQsbWV0aG9kOiJQT1NUIixib2R5Om0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6dX0pLnRoZW4oKGU9PntpZig0MDA9PT1lLnN0YXR1cyl7Y29uc3R7c3RhdHVzOnQsc3RhdHVzVGV4dDpzfT1lO3JldHVybiBlLmpzb24oKS50aGVuKChlPT57Y29uc3Qgcj1lLmVycm9yO2lmKHZvaWQgMCE9PShpPXIpJiZpLmluY2x1ZGVzKGwpKXRocm93IG5ldyBfKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pO3ZhciBpO3Rocm93IG5ldyBvLkJhZFJlcXVlc3RFcnJvclJlc3BvbnNlKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pfSkpfWlmKGUub2spcmV0dXJuIGUuanNvbigpLnRoZW4oKGU9PmUpKTt0aHJvdyBuZXcgbi5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1mdW5jdGlvbiB1KGUsdCxzLHIpe3JldHVybiBjKCJzY2FuIixlLHQscyxyKX1mdW5jdGlvbiBoKGUsdCxzLHIpe3JldHVybiBjKCJzY2FuMiIsZSx0LHMscil9fSwzOTI1NzMoZSx0LHMpe3MuZCh0LHtDb2x1bW5zQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9jb2x1bW5zPW5ldyBTZXR9c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSxlLmZvckVhY2godGhpcy5fY29sdW1ucy5hZGQsdGhpcy5fY29sdW1ucyksdGhpc31hZGRDb2x1bW4oZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuYWRkKGUpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZShlKSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2NvbHVtbnNdfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fY29sdW1ucy5jbGVhcigpLHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fY29sdW1ucy5zaXplfX19LDI0ODI2KGUsdCxzKXtzLmQodCx7RmlsdGVyQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJzPW5ldyBTZXR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fZmlsdGVycy5zaXplfWNsb25lKCl7cmV0dXJuKG5ldyByKS5zZXRTdGF0ZSh0aGlzLmdldFN0YXRlKCkpfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2ZpbHRlcnNdfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9yZXdyaXRlRmlsdGVyU2V0KHRoaXMuX2ZpbHRlcnMsZSksdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuY2xlYXIoKSx0aGlzfWFkZENvbmRpdGlvbihlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9maWx0ZXJzLmFkZChlKTtyZXR1cm4gdGhpc31kZWxldGVDb25kaXRpb24oZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuZGVsZXRlKGUpLHRoaXN9X3Jld3JpdGVGaWx0ZXJTZXQoZSx0KXtlLmNsZWFyKCksdC5mb3JFYWNoKGUuYWRkLGUpfX19LDgxMjU4MyhlLHQscyl7cy5kKHQse0ZpbHRlcjI6KCk9PnJ9KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlsdGVyPXZvaWQgMH1yZXNldEZpbHRlcigpe3JldHVybiB0aGlzLl9maWx0ZXI9dm9pZCAwLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVyKSk6dm9pZCAwfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9maWx0ZXI9ZSx0aGlzfWFkZEZpbHRlcjIoZSl7Y29uc3QgdD10aGlzLmdldFN0YXRlKCk7aWYoIXQpcmV0dXJuIHRoaXMuc2V0U3RhdGUoe29wZXJhdG9yOmUub3BlcmF0b3Isb3BlcmFuZHM6ZS5vcGVyYW5kc30pLHRoaXM7Y29uc3R7b3BlcmF0b3I6cyxvcGVyYW5kczpyfT10O3JldHVybiB0aGlzLnNldFN0YXRlKHtvcGVyYXRvcjpzLG9wZXJhbmRzOlsuLi5yLC4uLmUub3BlcmFuZHNdfSksdGhpc319fSwyMTgxNDUoZSx0LHMpe3MuZCh0LHtPcHRpb25zOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX29wdGlvbnM9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnM9ZSx0aGlzfXJlc3RyaWN0RW9kKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnM9IlBSRVZfQkFSIix0aGlzfW5vRW9kUmVzdHJpY3Rpb24oKXtyZXR1cm4gZGVsZXRlIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnMsdGhpc31zZXRMYW5nKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhbmc9ZSx0aGlzfXJlc2V0TGFuZygpe3JldHVybiBkZWxldGUgdGhpcy5fb3B0aW9ucy5sYW5nLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udGhpcy5fb3B0aW9uc319cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnM9e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX29wdGlvbnMpLmxlbmd0aH19fSwxOTUyMjMoZSx0LHMpe3MuZCh0LHtTY2FuUHJpY2VDb252ZXJzaW9uOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3ByaWNlQ29udmVyc2lvbj17fX1zZXRQcmljZUNvbnZlcnNpb24oZSl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbj1lLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX3N5bWJvbD97dG9fc3ltYm9sOnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19zeW1ib2x9Ont9LC4uLnZvaWQgMCE9PXRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeT97CnRvX2N1cnJlbmN5OnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeX06e30sLi4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLmRpc2FibGVkP3tkaXNhYmxlZDp0aGlzLl9wcmljZUNvbnZlcnNpb24uZGlzYWJsZWR9Ont9fX1yZXNldCgpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb249e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX3ByaWNlQ29udmVyc2lvbikubGVuZ3RofX19LDgyNDUwMihlLHQscyl7cy5kKHQse1JhbmdlOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3JhbmdlPVtdfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX3JhbmdlXX1zZXRTdGF0ZShlKXtyZXR1cm4gdGhpcy5fcmFuZ2U9ZSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fcmFuZ2U9W10sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLl9yYW5nZS5sZW5ndGh9fX0sMTgwNjY3KGUsdCxzKXtzLmQodCx7U2NhblBhcmFtc01hbmFnZXI6KCk9PnV9KTt2YXIgcj1zKDI0ODI2KSxpPXMoMjE4MTQ1KSxuPXMoMTk1MjIzKSxvPXMoNzM4ODEpLGE9cygzOTI1NzMpLGw9cyg4MjQ1MDIpLF89cygzMjMwMjcpLGM9cyg4MTI1ODMpO2NsYXNzIHV7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJDb2xsZWN0aW9uPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fY29sdW1ucz1uZXcgYS5Db2x1bW5zQ29sbGVjdGlvbix0aGlzLl9pZ25vcmVVbmtub3duRmllbGRzPSExLHRoaXMuX29wdGlvbnM9bmV3IGkuT3B0aW9ucyx0aGlzLl9wcmljZUNvbnZlcnNpb249bmV3IG4uU2NhblByaWNlQ29udmVyc2lvbix0aGlzLl9yYW5nZT1uZXcgbC5SYW5nZSx0aGlzLl9zb3J0PW5ldyBfLlNvcnQsdGhpcy5fc3ltYm9scz1uZXcgby5TeW1ib2xzLHRoaXMuX21hcmtldHM9W119Z2V0UGFyYW1zKCl7Y29uc3QgZT10aGlzLmdldEZpbHRlcjIoKSx0PWU/e2ZpbHRlcjI6ZX06dm9pZCAwLHM9dGhpcy5nZXRQcmVzZXQoKSxyPXM/e3ByZXNldDpzfTp2b2lkIDA7cmV0dXJue2NvbHVtbnM6dGhpcy5pc0NvbHVtbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldENvbHVtbnMoKSxmaWx0ZXI6dGhpcy5pc0ZpbHRlcnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlcnMoKSxmaWx0ZXJPUjp0aGlzLmlzRmlsdGVyT3JFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlck9SKCksaWdub3JlX3Vua25vd25fZmllbGRzOnRoaXMuZ2V0SWdub3JlVW5rbm93bkZpZWxkcygpLG9wdGlvbnM6dGhpcy5pc09wdGlvbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldE9wdGlvbnMoKSxwcmljZV9jb252ZXJzaW9uOnRoaXMuaXNQcmljZUNvbnZlcnNpb25zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRQcmljZUNvbnZlcnNpb24oKSxyYW5nZTp0aGlzLmlzUmFuZ2VFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFJhbmdlKCksc29ydDp0aGlzLmlzU29ydEVtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0U29ydCgpLHN5bWJvbHM6dGhpcy5pc1N5bWJvbHNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFN5bWJvbHMoKSxtYXJrZXRzOnRoaXMuaXNNYXJrZXRzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRNYXJrZXRzKCksaW5kZXhfZmlsdGVyczp0aGlzLmdldEluZGV4RmlsdGVycygpLC4uLnIsLi4udH19Y2xvbmUoKXtjb25zdCBlPW5ldyB1LHQ9dGhpcy5nZXRQYXJhbXMoKTtyZXR1cm4gZS5zZXRQYXJhbXModCksZX1nZXRGaWx0ZXJzQ29sbGVjdGlvbkNsb25lKCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uY2xvbmUoKX1zZXRQYXJhbXMoZSl7Y29uc3QgdD17Y29sdW1uczooKT0+dGhpcy5zZXRDb2x1bW5zKGUuY29sdW1ucyksZmlsdGVyMjooKT0+dGhpcy5zZXRGaWx0ZXIyKGUuZmlsdGVyMiksZmlsdGVyOigpPT50aGlzLnNldEZpbHRlcnMoZS5maWx0ZXIpLGZpbHRlck9SOigpPT50aGlzLnNldEZpbHRlck9SKGUuZmlsdGVyT1IpLGlnbm9yZV91bmtub3duX2ZpZWxkczooKT0+ZS5pZ25vcmVfdW5rbm93bl9maWVsZHM/dGhpcy5pZ25vcmVVbmtub3duRmllbGRzKCk6dGhpcy5kb05vdElnbm9yZVVua25vd25GaWVsZHMoKSxtYXJrZXRzOigpPT50aGlzLnNldE1hcmtldHMoZS5tYXJrZXRzKSxvcHRpb25zOigpPT50aGlzLnNldE9wdGlvbnMoZS5vcHRpb25zKSxwcmljZV9jb252ZXJzaW9uOigpPT50aGlzLnNldFByaWNlQ29udmVyc2lvbihlLnByaWNlX2NvbnZlcnNpb24pLHJhbmdlOigpPT50aGlzLnNldFJhbmdlKGUucmFuZ2UpLHNvcnQ6KCk9PnRoaXMuc2V0U29ydChlLnNvcnQpLHN5bWJvbHM6KCk9PnRoaXMuc2V0U3ltYm9scyhlLnN5bWJvbHMpLHByZXNldDooKT0+dGhpcy5zZXRQcmVzZXQoZS5wcmVzZXQpLGluZGV4X2ZpbHRlcnM6KCk9PnRoaXMuc2V0SW5kZXhGaWx0ZXJzKGUuaW5kZXhfZmlsdGVycyl9O2Zvcihjb25zdFtzLHJdb2YgT2JqZWN0LmVudHJpZXModCkpZS5oYXNPd25Qcm9wZXJ0eShzKSYmdm9pZCAwIT09ZVtzXSYmcigpO3JldHVybiB0aGlzfXNldEZpbHRlcnMoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uYWRkQ29uZGl0aW9uKGUpLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmdldFN0YXRlKCl9ZGVsZXRlRmlsdGVyKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uaXNFbXB0eSgpfXNldEZpbHRlck9SKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1Iuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmFkZENvbmRpdGlvbihlKSx0aGlzfWdldEZpbHRlck9SKCl7CnJldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuZ2V0U3RhdGUoKX1kZWxldGVGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVyT1IoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyT3JFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuaXNFbXB0eSgpfXNldEZpbHRlcjIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcjJ8fCh0aGlzLl9maWx0ZXIyPW5ldyBjLkZpbHRlcjIpLHRoaXMuX2ZpbHRlcjIuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIyKGUpe3JldHVybiB0aGlzLl9maWx0ZXIyfHwodGhpcy5fZmlsdGVyMj1uZXcgYy5GaWx0ZXIyKSx0aGlzLl9maWx0ZXIyLmFkZEZpbHRlcjIoZSksdGhpc31nZXRGaWx0ZXIyKCl7aWYodGhpcy5fZmlsdGVyMilyZXR1cm4gdGhpcy5fZmlsdGVyMi5nZXRTdGF0ZSgpfXJlc2V0RmlsdGVyMigpe3JldHVybiB0aGlzLl9maWx0ZXIyJiZ0aGlzLl9maWx0ZXIyLnJlc2V0RmlsdGVyKCksdGhpc31nZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZ2V0U3RhdGUoKX1zZXRPcHRpb25zKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVzZXRPcHRpb25zKCksdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnJlc3RyaWN0RW9kKCksdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubm9Fb2RSZXN0cmljdGlvbigpLHRoaXN9c2V0T3B0aW9uc0xhbmcoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnMuc2V0TGFuZyhlKSx0aGlzfXJlc2V0T3B0aW9uc0xhbmcoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5yZXNldExhbmcoKSx0aGlzfWlzT3B0aW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuaXNFbXB0eSgpfWdldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5nZXRTdGF0ZSgpfXNldFN5bWJvbHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3RhdGUoZSksdGhpc31yZXNldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFN0YXRlKCksdGhpc31zZXRUaWNrZXJzKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzLnNldFRpY2tlcnMoZSksdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFRpY2tlcnMoKSx0aGlzfXNldFN5bWJvbHNldChlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRTeW1ib2xzZXQoZSksdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0U3ltYm9sc2V0KCksdGhpc31zZXRUeXBlcyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRUeXBlcyhlKSx0aGlzfXJlc2V0VHlwZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFR5cGVzKCksdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0R3JvdXBzKGUpLHRoaXN9aXNTeW1ib2xzRW1wdHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5pc0VtcHR5KCl9Z2V0Q29sdW1ucygpe3JldHVybiB0aGlzLl9jb2x1bW5zLmdldFN0YXRlKCl9YWRkQ29sdW1ucyhlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9jb2x1bW5zLmFkZENvbHVtbihlKTtyZXR1cm4gdGhpc31zZXRDb2x1bW5zKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRDb2x1bW5zKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMucmVzZXRTdGF0ZSgpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZUNvbHVtbihlKSx0aGlzfWlzQ29sdW1uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuaXNFbXB0eSgpfXNldFJhbmdlKGUpe3JldHVybiB0aGlzLl9yYW5nZS5zZXRTdGF0ZShlKSx0aGlzfWdldFJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLmdldFN0YXRlKCl9cmVzZXRSYW5nZSgpe3JldHVybiB0aGlzLl9yYW5nZS5yZXNldFN0YXRlKCksdGhpc31pc1JhbmdlRW1wdHkoKXtyZXR1cm4gdGhpcy5fcmFuZ2UuaXNFbXB0eSgpfXNldFNvcnQoZSl7cmV0dXJuIHRoaXMuX3NvcnQuc2V0U3RhdGUoZSksdGhpc31nZXRTb3J0KCl7cmV0dXJuIHRoaXMuX3NvcnQuZ2V0U3RhdGUoKX1yZXNldFNvcnQoKXtyZXR1cm4gdGhpcy5fc29ydC5yZXNldFN0YXRlKCksdGhpc31zb3J0QXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEFzYygpLHRoaXN9c29ydERlc2MoKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0RGVzYygpLHRoaXN9c29ydEJ5KGUpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeShlKSx0aGlzfWlzU29ydEVtcHR5KCl7cmV0dXJuIHRoaXMuX3NvcnQuaXNFbXB0eSgpfXNldFByaWNlQ29udmVyc2lvbihlKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLnNldFByaWNlQ29udmVyc2lvbihlKSx0aGlzfWdldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24uZ2V0U3RhdGUoKX1yZXNldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24ucmVzZXQoKSx0aGlzfWlzUHJpY2VDb252ZXJzaW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbi5pc0VtcHR5KCl9c2V0UHJlc2V0KGUpe3JldHVybiB0aGlzLl9wcmVzZXQ9ZSx0aGlzfWdldFByZXNldCgpe3JldHVybiB0aGlzLl9wcmVzZXR9cmVzZXRQcmVzZXQoKXtyZXR1cm4gZGVsZXRlIHRoaXMuX3ByZXNldCx0aGlzfXNldEluZGV4RmlsdGVycyhlKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzPWUsdGhpc31nZXRJbmRleEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzfXJlc2V0SW5kZXhGaWx0ZXJzKCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9pbmRleEZpbHRlcnMsdGhpc31kb05vdElnbm9yZVVua25vd25GaWVsZHMoKXtyZXR1cm4gdGhpcy5faWdub3JlVW5rbm93bkZpZWxkcz0hMSx0aGlzfWlnbm9yZVVua25vd25GaWVsZHMoKXsKcmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITAsdGhpc31nZXRJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHN9c2V0TWFya2V0cyhlKXtyZXR1cm4gdGhpcy5fbWFya2V0cz1bLi4uZV0sdGhpc31nZXRNYXJrZXRzKCl7cmV0dXJuIHRoaXMuX21hcmtldHN9aXNNYXJrZXRzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX21hcmtldHMubGVuZ3RofWdldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLmdldFN5bWJvbHMoKS53YXRjaGxpc3R9c2V0V2F0Y2hsaXN0KGUpe3JldHVybiB0aGlzLnNldFN5bWJvbHMoey4uLnRoaXMuZ2V0U3ltYm9scygpLHdhdGNobGlzdDplfSksdGhpc31yZXNldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc31yZXNldFBhcmFtcygpe3JldHVybiB0aGlzLl9maWx0ZXIyPXZvaWQgMCx0aGlzLmRvTm90SWdub3JlVW5rbm93bkZpZWxkcygpLHRoaXMucmVzZXRDb2x1bW5zKCksdGhpcy5yZXNldEZpbHRlcnMoKSx0aGlzLnJlc2V0RmlsdGVyT1IoKSx0aGlzLnJlc2V0T3B0aW9ucygpLHRoaXMucmVzZXRQcmljZUNvbnZlcnNpb24oKSx0aGlzLnJlc2V0UmFuZ2UoKSx0aGlzLnJlc2V0U3ltYm9scygpLHRoaXMucmVzZXRJbmRleEZpbHRlcnMoKSx0aGlzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc319fSwzMjMwMjcoZSx0LHMpe3MuZCh0LHtTb3J0OigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3NvcnQ9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX3NvcnQ9ZSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuey4uLnRoaXMuX3NvcnR9fXNvcnRCeShlKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0Qnk9ZSx0aGlzLl9zb3J0LnNvcnRPcmRlcnx8dGhpcy5zb3J0RGVzYygpLHRoaXN9c29ydEFzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeSYmKHRoaXMuX3NvcnQuc29ydE9yZGVyPSJhc2MiKSx0aGlzfXNvcnREZXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEJ5JiYodGhpcy5fc29ydC5zb3J0T3JkZXI9ImRlc2MiKSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fc29ydD17fSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PU9iamVjdC52YWx1ZXModGhpcy5fc29ydCkubGVuZ3RofX19LDczODgxKGUsdCxzKXtzLmQodCx7U3ltYm9sczooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zeW1ib2xzPXt9fXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzPWUsdGhpc31nZXRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5fc3ltYm9scy5xdWVyeT97cXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnl9fTp7fSx0PXRoaXMuX3N5bWJvbHMudGlja2Vycz97dGlja2VyczpbLi4udGhpcy5fc3ltYm9scy50aWNrZXJzXX06W10scz10aGlzLl9zeW1ib2xzLmdyb3Vwcz97Z3JvdXBzOnRoaXMuX3N5bWJvbHMuZ3JvdXBzLm1hcCgoZT0+KHt0eXBlOmUudHlwZSx2YWx1ZXM6Wy4uLmUudmFsdWVzXX0pKSl9Ont9LHI9dGhpcy5fc3ltYm9scy5zeW1ib2xzZXQ/e3N5bWJvbHNldDpbLi4udGhpcy5fc3ltYm9scy5zeW1ib2xzZXRdfTpbXSxpPXRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0P3t3YXRjaGxpc3Q6e2lkOnRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0LmlkfX06e307cmV0dXJuey4uLmUsLi4udCwuLi5zLC4uLnIsLi4udm9pZCAwPT09dGhpcy5fc3ltYm9scy5ibGFja19saXN0X3N5bWJvbHM/e306e2JsYWNrX2xpc3Rfc3ltYm9sczp0aGlzLl9zeW1ib2xzLmJsYWNrX2xpc3Rfc3ltYm9sc30sLi4uaX19c2V0VGlja2VycyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPWUsdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPVtdLHRoaXN9c2V0VHlwZXMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9ey4uLnRoaXMuX3N5bWJvbHMscXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnksdHlwZXM6ZX19LHRoaXN9cmVzZXRUeXBlcygpe3JldHVybiB0aGlzLl9zeW1ib2xzPXsuLi50aGlzLl9zeW1ib2xzLHF1ZXJ5OnsuLi50aGlzLl9zeW1ib2xzLnF1ZXJ5LHR5cGVzOltdfX0sdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9e30sdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuZ3JvdXBzPWUsdGhpc31yZXNldEdyb3Vwcygpe3JldHVybiBkZWxldGUgdGhpcy5fc3ltYm9scy5ncm91cHMsdGhpc31zZXRTeW1ib2xzZXQoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc3ltYm9sc2V0PWUsdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnN5bWJvbHNldD1bXSx0aGlzfXJlc2V0V2F0Y2hsaXN0KCl7Y29uc3R7d2F0Y2hsaXN0OmUsLi4udH09dGhpcy5fc3ltYm9scztyZXR1cm4gdGhpcy5fc3ltYm9scz10LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zeW1ib2xzKS5sZW5ndGh9fX0sMTI4ODE0KGUsdCxzKXtzLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+dX0pO3ZhciByPXMoOTQ4MzgwKSxpPXMoMTUwMTUwKSxuPXMoMjE0OTg3KSxvPXMoMTM4NjM4KSxhPXMoMzY3OTQ2KSxsPXMoOTcwNzc0KSxfPXMoMzA5MDUyKTtjb25zdCBjPW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHIuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWsKO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9fSwwPT09ZS5maWVsZHMubGVuZ3RoKXRocm93IG5ldyBFcnJvcignU3VwcG9ydCBmb3IgZW1wdHkgImZpZWxkcyIgYXJyYXkgaXMgbm90IGltcGxlbWVudGVkJyk7Y29uc3R7cHJvdmlkZXI6dD1sLlF1b3RlU2Vzc2lvbn09ZTt0aGlzLl9maWVsZHM9bmV3IFNldChlLmZpZWxkcyksdGhpcy5fc2Vzc2lvbj1uZXcgdChlLmFwaSxbInNuYXBzaG90ZXIiLGUubmFtZSwoMCxpLnJhbmRvbUhhc2gpKCldLmZpbHRlcihCb29sZWFuKS5qb2luKCJfIikpLHRoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLl9oYW5kbGVyKX1nZXRTbmFwc2hvdFN5bmMoZSx0KXtjb25zdCBzPXUuY2FjaGUuZ2V0KGUpO3JldHVybiBzJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkocyx7ZmllbGRzOnQsdGltZXN0YW1wOm51bGx9KT9zOm51bGx9Z2V0U25hcHNob3RzRm9yQWxsU3luYyhlLHQpe3JldHVybiBlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdFN5bmMoZSx0KSkpfWdldFNuYXBzaG90KGUsdCxzKXtjb25zdCByPXM/LnNpZ25hbD8/bnVsbCxpPXM/LmZyZXNobmVzcyxhPXZvaWQgMCE9PWk/RGF0ZS5ub3coKS1pOm51bGw7cmV0dXJuIG5ldyBQcm9taXNlKCgocyxpKT0+e2lmKHImJnIuYWJvcnRlZCl0aHJvdygwLG4uY3JlYXRlQWJvcnRFcnJvcikoKTtjb25zdCBsPSgpPT57dGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsXyksaSgoMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCkpfSxfPShpPWUpPT57aWYoaSE9PWUpcmV0dXJuO2NvbnN0IG49dS5jYWNoZS5nZXQoZSk7biYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KG4se3RpbWVzdGFtcDphLHN5bWJvbDplLGZpZWxkczp0fSkmJih0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxfKSxyPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbCkscyhuKSl9O2lmKCEoKCk9Pntjb25zdCByPXUuY2FjaGUuZ2V0KGUpO2lmKCFyKXJldHVybiExO2NvbnN0IGk9KDAsby5lbnN1cmVOb3ROdWxsKSh1LmNhY2hlLmdldFRpbWVzKGUpKTtyZXR1cm4hIXRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCxzeW1ib2w6ZSx0aW1lc3RhbXA6YSx0aW1lczppfSkmJihzKHIpLCEwKX0pKCkmJihyPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbCx7b25jZTohMH0pLHRoaXMuX29uU3ltYm9sRGF0YS5zdWJzY3JpYmUodGhpcyxfKSwhdGhpcy5faW5jb21wbGV0ZS5oYXMoZSkpKXtpZih0aGlzLl91cGRhdGVkRmllbGRzLnNldChlLG5ldyBTZXQpLHRoaXMuX2luY29tcGxldGUuYWRkKGUpLCF0aGlzLl9jb25uZWN0ZWQpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9iYXRjaGVyKXtjb25zdCB0PXRoaXMuX2JhdGNoZXI9e3N5bWJvbHM6bmV3IFNldChbZV0pLHByb21pc2U6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9iYXRjaGVyPT09dCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50LnN5bWJvbHNdKSx0aGlzLl9iYXRjaGVyPW51bGwpfSkpfX1lbHNlIHRoaXMuX2JhdGNoZXIuc3ltYm9scy5hZGQoZSl9fSkpfWdldFNuYXBzaG90c0ZvckFsbChlLHQscyl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90KGUsdCxzKSkpKX1zdGF0aWMgcmVsYXgoZSl7cmV0dXJuIGV9c3RhdGljIGlzU3VjY2VzcyhlKXtyZXR1cm4iZXJyb3IiIT09ZS5zdGF0dXN9c3RhdGljIGhhc0FsbEZpZWxkcyhlLHQpe2Zvcihjb25zdCBzIG9mIEFycmF5LmZyb20odCkpaWYoIWUuaGFzT3duUHJvcGVydHkocykpcmV0dXJuITE7cmV0dXJuITB9X2lzU25hcHNob3RSZWFkeShlLHQpe2NvbnN0e2ZpZWxkczpzLHRpbWVzdGFtcDpyLHRpbWVzOmksc3ltYm9sOm59PXQ7cmV0dXJuImVycm9yIj09PWUuc3RhdHVzfHwobnVsbCE9PXImJmk/dGhpcy5faXNBbGxGaWVsZHNVcFRvRGF0ZShlLGkscyxyKTpudWxsIT09ciYmbj90aGlzLl9pc0FsbEZpZWxkc1VwZGF0ZWQoZSxuLHMpOnRoaXMuX2hhc0FsbEZpZWxkcyhlLHMpKX1faXNBbGxGaWVsZHNVcGRhdGVkKGUsdCxzKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighcnx8IXIuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKWlmKCFyLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIHUuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxzLHIpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cylyZXR1cm4hMTtpZihzPHIpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9Yy5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9dS5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTt1LmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLAp0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLHUuY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLHI9bmV3IFNldChzKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9maWVsZHMpZS52YWx1ZXMuaGFzT3duUHJvcGVydHkodCkmJnIuYWRkKHQpO3RoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KHQsciksImVycm9yIj09PWUuc3RhdHVzP3RoaXMuX2hhbmRsZUNvbXBsZXRlRGF0YSh0KTp0aGlzLl9vblN5bWJvbERhdGEuZmlyZSh0KX19dS5jYWNoZT1fLlFVT1RFX0ZJRUxEU19DQUNIRX0sNjE1NTQ3KGUsdCxzKXtzLmQodCx7RGV0YWlsc0RhdGFQcm92aWRlcjooKT0+QSxnZXRCb25kc1JlcXVlc3RQYXJhbXM6KCk9PkIsZ2V0RnV0dXJlc1JlcXVlc3RQYXJhbXM6KCk9PlAsZ2V0U2NyZWVuZXJSZXF1ZXN0UGFyYW1zOigpPT5NLHByZXBhcmVCb25kc0RhdGE6KCk9PnEscHJlcGFyZUZ1dHVyZXNEYXRhOigpPT54fSk7dmFyIHI9cygxNTAxNTApLGk9cygxMzg2MzgpLG49cygxODA2NjcpLG89cyg4MjcwMjkpO2NvbnN0IGE9ZT0+ImZ1dHVyZXMiPT09ZT9vLk5vblN0b2NrTWFya2V0LkZ1dHVyZXM6by5HbG9iYWxNYXJrZXQuR2xvYmFsO3ZhciBsLF89cyg2MTkxMjMpLGM9cygxNTY4MjkpLHU9cyg3MzEwOTEpLGg9cygyMTQ5ODcpLGQ9cyg3NzA4MjUpOyFmdW5jdGlvbihlKXtlLkFsbFN0b2Nrcz0iYWxsX3N0b2NrcyIsZS5TbWFsbENhcD0ic21hbGxfY2FwIixlLkxhcmdlQ2FwPSJsYXJnZV9jYXAiLGUuTGFyZ2VzdEVtcGxveWVycz0ibGFyZ2VzdF9lbXBsb3llcnMiLGUuSGlnaERpdmlkZW5kPSJoaWdoX2RpdmlkZW5kIixlLkhpZ2hlc3ROZXRJbmNvbWU9ImhpZ2hlc3RfbmV0X2luY29tZSIsZS5IaWdoZXN0Q2FzaD0iaGlnaGVzdF9jYXNoIixlLkhpZ2hlc3RQcm9maXRQZXJFbXBsb3llZT0iaGlnaGVzdF9wcm9maXRfcGVyX2VtcGxveWVlIixlLkdhaW5lcnM9ImdhaW5lcnMiLGUuTG9zZXJzPSJsb3NlcnMiLGUuVm9sdW1lTGVhZGVycz0idm9sdW1lX2xlYWRlcnMiLGUuVW51c3VhbFZvbHVtZT0idW51c3VhbF92b2x1bWUiLGUuTW9zdFZvbGF0aWxlPSJtb3N0X3ZvbGF0aWxlIixlLkhpZ2hCZXRhPSJoaWdoX2JldGEiLGUuQmVzdFBlcmZvcm1pbmc9ImJlc3RfcGVyZm9ybWluZyIsZS5IaWdoZXN0UmV2ZW51ZT0iaGlnaGVzdF9yZXZlbnVlIixlLk1vc3RFeHBlbnNpdmU9Im1vc3RfZXhwZW5zaXZlIixlLlBlbm55U3RvY2tzPSJwZW5ueV9zdG9ja3MiLGUuT3ZlcmJvdWdodD0ib3ZlcmJvdWdodCIsZS5PdmVyc29sZD0ib3ZlcnNvbGQiLGUuQWxsVGltZUhpZ2g9ImFsbF90aW1lX2hpZ2giLGUuQWxsVGltZUxvdz0iYWxsX3RpbWVfbG93IixlLkFib3ZlNTJ3a0hpZ2g9ImFib3ZlXzUyd2tfaGlnaCIsZS5CZWxvdzUyd2tMb3c9ImJlbG93XzUyd2tfbG93IixlLlByZU1hcmtldEdhaW5lcnM9InByZS1tYXJrZXQtZ2FpbmVycyIsZS5QcmVNYXJrZXRMb3NlcnM9InByZS1tYXJrZXQtbG9zZXJzIixlLlByZU1hcmtldE1vc3RBY3RpdmU9InByZV9tYXJrZXRfbW9zdF9hY3RpdmUiLGUuUHJlTWFya2V0R2FwcGVycz0icHJlX21hcmtldF9nYXBwZXJzIixlLkFmdGVySG91cnNHYWluZXJzPSJhZnRlcl9ob3Vyc19nYWluZXJzIixlLkFmdGVySG91cnNMb3NlcnM9ImFmdGVyX2hvdXJzX2xvc2VycyIsZS5BY3RpdmVBZnRlckhvdXJzPSJhY3RpdmVfYWZ0ZXJfaG91cnMiLGUuUGlua1NoZWV0U3RvY2tzPSJwaW5rLXNoZWV0LXN0b2NrcyIsZS5FYXJuaW5nPSJlYXJuaW5nIixlLkNyeXB0b3BhaXJzTWFya2V0cz0iY3J5cHRvcGFpcnNfbWFya2V0cyIsZS5Ub3BEZWZpPSJ0b3AtZGVmaSIsZS5NYXJrZXRDYXBSYW5rPSJtYXJrZXQtY2FwLXJhbmsiLGUuV29ybGRzTGFyZ2VzdENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfY29tcGFuaWVzIixlLldvcmxkc05vblVzQ29tcGFuaWVzPSJ3b3JsZHNfbm9uX3VzX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0RW1wbG95ZXJzPSJ3b3JsZHNfbGFyZ2VzdF9lbXBsb3llcnMiLGUuV29ybGRzSGlnaGVzdFJldmVudWU9Indvcmxkc19oaWdoZXN0X3JldmVudWUiLGUuV29ybGRzSGlnaGVzdFJldmVudWVQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcmV2ZW51ZV9wZXJfZW1wbG95ZWVfY29tcGFuaWVzIixlLldvcmxkc0hpZ2hlc3RQcm9maXRQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcHJvZml0X3Blcl9lbXBsb3llZV9jb21wYW5pZXMiLGUuV29ybGRzSGlnaGVzdEVhcm5pbmdzPSJ3b3JsZHNfaGlnaGVzdF9lYXJuaW5ncyIsZS5Xb3JsZHNIaWdoZXN0RGl2aWRlbmRzPSJ3b3JsZHNfaGlnaGVzdF9kaXZpZGVuZHMiLGUuV29ybGRzTGFyZ2VzdE9pbEFuZEdhc0NvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfb2lsX2FuZF9nYXNfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RTZW1pY29uZHVjdG9yc1Byb2R1Y2Vycz0id29ybGRzX2xhcmdlc3Rfc2VtaWNvbmR1Y3RvcnNfcHJvZHVjZXJzIixlLldvcmxkc0xhcmdlc3RUZWxlY29tbXVuaWNhdGlvbkNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfdGVsZWNvbW11bmljYXRpb25fY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RUZWNoQ29tcGFuaWVzPSJ3b3JsZHNfbGFyZ2VzdF90ZWNoX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0QmlvdGVjaENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfYmlvdGVjaF9jb21wYW5pZXMiLGUuV29ybGRzTGFyZ2VzdEZpbmFuY2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2ZpbmFuY2VfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RCYW5rcz0id29ybGRzX2xhcmdlc3RfYmFua3MiLGUuV29ybGRzTGFyZ2VzdEVDb21tZXJjZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZV9jb21tZXJjZV9jb21wYW5pZXMiLAplLldvcmxkc0xhcmdlc3RTb2Z0d2FyZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfc29mdHdhcmVfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RBdXRvbWFrZXJzPSJ3b3JsZHNfbGFyZ2VzdF9hdXRvbWFrZXJzIixlLldvcmxkc0xhcmdlc3RIb3RlbHNBbmRSZXNvcnRzPSJ3b3JsZHNfbGFyZ2VzdF9ob3RlbHNfYW5kX3Jlc29ydHMiLGUuV29ybGRzTGFyZ2VzdFJlc3RhdXJhbnRDaGFpbnM9Indvcmxkc19sYXJnZXN0X3Jlc3RhdXJhbnRfY2hhaW5zIixlLldvcmxkc0xhcmdlc3RTdG9yZXM9Indvcmxkc19sYXJnZXN0X3N0b3JlcyIsZS5Xb3JsZHNMYXJnZXN0QmV2ZXJhZ2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2JldmVyYWdlX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0Rm9vZENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZm9vZF9jb21wYW5pZXMiLGUuRnV0dXJlc0FsbD0iZnV0dXJlc19hbGwiLGUuRnV0dXJlc0FncmljdWx0dXJhbD0iZnV0dXJlc19hZ3JpY3VsdHVyYWwiLGUuRnV0dXJlc0VuZXJneT0iZnV0dXJlc19lbmVyZ3kiLGUuRnV0dXJlc0N1cnJlbmNpZXM9ImZ1dHVyZXNfY3VycmVuY2llcyIsZS5GdXR1cmVzTWV0YWxzPSJmdXR1cmVzX21ldGFscyIsZS5GdXR1cmVzV29ybGRJbmRpY2VzPSJmdXR1cmVzX3dvcmxkX2luZGljZXMiLGUuRnV0dXJlc0ludGVyZXN0UmF0ZXM9ImZ1dHVyZXNfaW50ZXJlc3RfcmF0ZXMiLGUuRnV0dXJlc0NvbnRyYWN0cz0iZnV0dXJlc19jb250cmFjdHMiLGUuQm9uZHNBbGxZaWVsZD0iYm9uZHNfYWxsX3lpZWxkIixlLkJvbmRzQWxsMTB5WWllbGQ9ImJvbmRzX2FsbF8xMHlfeWllbGQiLGUuQm9uZHNNYWpvcjEweVlpZWxkPSJib25kc19tYWpvcl8xMHlfeWllbGQiLGUuQm9uZHNBbWVyaWNhc1lpZWxkPSJib25kc19hbWVyaWNhc195aWVsZCIsZS5Cb25kc0V1cm9wZVlpZWxkPSJib25kc19ldXJvcGVfeWllbGQiLGUuQm9uZHNBc2lhWWllbGQ9ImJvbmRzX2FzaWFfeWllbGQiLGUuQm9uZHNQYWNpZmljWWllbGQ9ImJvbmRzX3BhY2lmaWNfeWllbGQiLGUuQm9uZHNNaWRkbGVFYXN0WWllbGQ9ImJvbmRzX21pZGRsZV9lYXN0X3lpZWxkIixlLkJvbmRzQWZyaWNhWWllbGQ9ImJvbmRzX2FmcmljYV95aWVsZCIsZS5Cb25kc1VTQVlpZWxkPSJib25kc191c2FfeWllbGQiLGUuQm9uZHNVS1lpZWxkPSJib25kc191a195aWVsZCIsZS5Cb25kc0VVWWllbGQ9ImJvbmRzX2V1X3lpZWxkIixlLkJvbmRzR2VybWFueVlpZWxkPSJib25kc19nZXJtYW55X3lpZWxkIixlLkJvbmRzRnJhbmNlWWllbGQ9ImJvbmRzX2ZyYW5jZV95aWVsZCIsZS5Cb25kc0NoaW5hWWllbGQ9ImJvbmRzX2NoaW5hX3lpZWxkIixlLkJvbmRzSW5kaWFZaWVsZD0iYm9uZHNfaW5kaWFfeWllbGQiLGUuQm9uZHNKYXBhbllpZWxkPSJib25kc19qYXBhbl95aWVsZCIsZS5TdG9ja3NSZWxhdGVkQm9uZHM9InN0b2Nrc19yZWxhdGVkX2JvbmRzIixlLkNvaW5NYXJrZXRDYXBSYW5rPSJjb2luX21hcmtldF9jYXBfcmFuayIsZS5Db2luVG90YWxWYWx1ZUxvY2tlZD0iY29pbl90b3RhbF92YWx1ZV9sb2NrZWQiLGUuQ29pbkRlZmk9ImNvaW5fZGVmaSIsZS5Db2luR2FpbmVycz0iY29pbl9nYWluZXJzIixlLkNvaW5Mb3NlcnM9ImNvaW5fbG9zZXJzIixlLkNvaW5MYXJnZUNhcD0iY29pbl9sYXJnZV9jYXAiLGUuQ29pblNtYWxsQ2FwPSJjb2luX3NtYWxsX2NhcCIsZS5Db2luTW9zdFRyYWRlZD0iY29pbl9tb3N0X3RyYWRlZCIsZS5Db2luTW9zdFRyYW5zYWN0aW9ucz0iY29pbl9tb3N0X3RyYW5zYWN0aW9ucyIsZS5Db2luSGlnaGVzdFRyYW5zYWN0aW9uVm9sPSJjb2luX2hpZ2hlc3RfdHJhbnNhY3Rpb25fdm9sdW1lIixlLkNvaW5Mb3dlc3RTdXBwbHk9ImNvaW5fbG93ZXN0X3N1cHBseSIsZS5Db2luSGlnaGVzdFN1cHBseT0iY29pbl9oaWdoZXN0X3N1cHBseSIsZS5Db2luTW9zdEV4cGVuc2l2ZT0iY29pbl9tb3N0X2V4cGVuc2l2ZSIsZS5Db2luTW9zdFZvbGF0aWxlPSJjb2luX21vc3Rfdm9sYXRpbGUiLGUuQ29pbkFsbFRpbWVHaWdoPSJjb2luX2FsbF90aW1lX2hpZ2giLGUuQ29pbkFsbFRpbWVMb3c9ImNvaW5fYWxsX3RpbWVfbG93IixlLkNvaW41MldlZWtIaWdoPSJjb2luXzUyX3dlZWtfaGlnaCIsZS5Db2luNTJXZWVrTG93PSJjb2luXzUyX3dlZWtfbG93IixlLkNvaW5Nb3N0QWRkcmVzc2VzV2l0aEJhbGFuY2U9ImNvaW5fbW9zdF9hZGRyZXNzZXNfd2l0aF9iYWxhbmNlIixlLkNvaW5Nb3N0QWRkcmVzc2VzQWN0aXZlPSJjb2luX21vc3RfYWRkcmVzc2VzX2FjdGl2ZSIsZS5Db2luSGlnaGVzdE9wZW5JbnRlcmVzdD0iY29pbl9oaWdoZXN0X29wZW5faW50ZXJlc3QiLGUuQ29pblJpc2luZ09wZW5JbnRlcmVzdD0iY29pbl9yaXNpbmdfb3Blbl9pbnRlcmVzdCIsZS5Db2luRnVuZGluZ0V4dHJlbWVzPSJjb2luX2Z1bmRpbmdfZXh0cmVtZXMiLGUuQ29pbkxpcXVpZGF0aW9uU3Bpa2VzPSJjb2luX3RvcF9saXF1aWRhdGlvbnMiLGUuSW5kaWNlc0N1cnJlbmN5PSJpbmRpY2VzX2N1cnJlbmN5IixlLkZvcmV4UmF0ZXNBbGw9ImZvcmV4X3JhdGVzX2FsbCIsZS5Gb3Jlc1JhdGVzTWFqb3I9ImZvcmV4X3JhdGVzX21ham9yIixlLkZvcmV4UmF0ZXNNaW5vcj0iZm9yZXhfcmF0ZXNfbWlub3IiLGUuRm9yZXhSYXRlc0V4b3RpYz0iZm9yZXhfcmF0ZXNfZXhvdGljIixlLkZvcmV4UmF0ZXNBbWVyaWNhcz0iZm9yZXhfcmF0ZXNfYW1lcmljYXMiLGUuRm9yZXhSYXRlc0V1cm9wZT0iZm9yZXhfcmF0ZXNfZXVyb3BlIixlLkZvcmV4UmF0ZXNBc2lhPSJmb3JleF9yYXRlc19hc2lhIixlLkZvcmV4UmF0ZXNQYWNpZmljPSJmb3JleF9yYXRlc19wYWNpZmljIixlLkZvcmV4UmF0ZXNNaWRkbGVFYXN0PSJmb3JleF9yYXRlc19taWRkbGVfZWFzdCIsZS5Gb3JleFJhdGVzQWZyaWNhPSJmb3JleF9yYXRlc19hZnJpY2EiLGUuSW5kaWNlc0FsbD0iaW5kaWNlc19hbGwiLGUuSW5kaWNlc01ham9yPSJpbmRpY2VzX21ham9yIixlLkluZGljZXNVUz0iaW5kaWNlc191cyIsZS5JbmRpY2VzU05QPSJpbmRpY2VzX3NucF9zZWN0b3JzIixlLkluZGljZXNBbWVyaWNhcz0iaW5kaWNlc19hbWVyaWNhcyIsCmUuSW5kaWNlc0V1cm9wZT0iaW5kaWNlc19ldXJvcGUiLGUuSW5kaWNlc0FzaWE9ImluZGljZXNfYXNpYSIsZS5JbmRpY2VzUGFjaWZpYz0iaW5kaWNlc19wYWNpZmljIixlLkluZGljZXNNaWRkbGVFYXN0PSJpbmRpY2VzX21pZGRsZV9lYXN0IixlLkluZGljZXNBZnJpY2E9ImluZGljZXNfYWZyaWNhIixlLkluZGV4Q29tcG9uZW50c01hcmtldFBhZ2VzPSJpbmRleF9jb21wb25lbnRzX21hcmtldF9wYWdlcyIsZS5TZWN0b3JzPSJtYXJrZXRfc2VjdG9ycyIsZS5JbmR1c3RyaWVzPSJtYXJrZXRfaW5kdXN0cmllcyIsZS5NYXJrZXRDb21wYW55PSJtYXJrZXRfY29tcGFueSIsZS5FdGZMYXJnZXN0PSJldGZzX21hcmtldF9wYWdlX2xhcmdlc3QiLGUuRXRmSGlnaGVzdEF1bUdyb3d0aD0iZXRmc19tYXJrZXRfaGlnaGVzdF9hdW1fZ3Jvd3RoIixlLkV0ZkhpZ2hlc3RSZXR1cm5zPSJldGZzX21hcmtldF9wYWdlX2hpZ2hlc3RfcmV0dXJuIixlLkV0Zkxvc2Vycz0iZXRmc19tYXJrZXRfcGFnZV9iaWdnZXN0X2xvc3NlcyIsZS5FdGZFcXVpdHk9ImV0ZnNfbWFya2V0X3BhZ2VfZXF1aXR5XzV5IixlLkV0ZkdvbGQ9ImV0ZnNfbWFya2V0X3BhZ2VfZ29sZCIsZS5FdGZGaXhlZEluY29tZT0iZXRmc19tYXJrZXRfcGFnZV9maXhlZF9pbmNvbWVfNXkiLGUuRXRmUmVhbEVzdGF0ZT0iZXRmc19tYXJrZXRfcGFnZV9yZWFsX2VzdGF0ZSIsZS5FdGZDb21tb2RpdGllczV5PSJldGZzX21hcmtldF9wYWdlX2NvbW1vZGl0aWVzXzV5IixlLkV0Zk1vc3RUcmFkZWRBbGxNYXJrZXRzPSJldGZzX21hcmtldF9wYWdlX21vc3RfdHJhZGVkX2FsbF9tYXJrZXRzIixlLkV0ZkhpZ2hlc3RZaWVsZD0iZXRmc19tYXJrZXRfcGFnZV9oaWdoZXN0X3lpZWxkIixlLkV0ZkRpdmlkZW5kPSJldGZzX21hcmtldF9wYWdlX2RpdmlkZW5kIixlLkV0ZkFjdGl2ZWx5TWFuYWdlZD0iZXRmc19tYXJrZXRfcGFnZV9hY3RpdmVseV9tYW5hZ2VkIixlLkV0ZkFzc2V0QWxsb2NhdGlvbjV5PSJldGZzX21hcmtldF9wYWdlX2Fzc2V0X2FsbG9jYXRpb25fNXkiLGUuRXRmU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3Rvcl9hdW0iLGUuRXRmc01hcmtldFBhZ2VEaXZpZGVuZHM9ImV0ZnNfbWFya2V0X3BhZ2VfZGl2aWRlbmRzIixlLkV0ZnNNYXJrZXRQYWdlU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3RvciIsZS5Db3VudHJ5VG9wRXRmc01vc3RUcmFkZWQ9ImNvdW50cnlfdG9wX2V0ZnNfbW9zdF90cmFkZWQiLGUuRXRmVVNBPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX3VzIixlLkV0ZkNhbmFkYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9jYSIsZS5FdGZVSz0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF91ayIsZS5FdGZHZXJtYW55PSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2RlIixlLkV0ZkphcGFuPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2pwIixlLkV0ZkF1c3RyYWxpYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9hdSIsZS5FdGZzRXRoZXJldW09ImV0ZnNfbWFya2V0X3BhZ2VfZXRoZXJldW0iLGUuQ29ycG9yYXRlQm9uZHNIaWdoZXN0WWllbGQ9ImhpZ2hlc3RfeWllbGRfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNTaG9ydFRlcm09InNob3J0X3Rlcm1fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNMb25nVGVybT0ibG9uZ190ZXJtX2JvbmRzIixlLkNvcnBvcmF0ZUJvbmRzWmVyb0NvdXBvbj0iemVyb19jb3Vwb25fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGaXhlZFJhdGU9ImZpeGVkX3JhdGVfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGbG9hdGluZ1JhdGU9ImZsb2F0aW5nX3JhdGVfYm9uZHMiLGUuSXBvQ2FsZW5kYXI9Imlwb19jYWxlbmRhciJ9KGx8fChsPXt9KSk7dmFyIG09cyg2NjMwNDYpLHA9cyg4Mzk0MjYpLHk9cygzMDgzODgpLGc9cyg1OTU1MTcpLGY9cyg0MjA5ODkpO2NsYXNzIGJ7Y29uc3RydWN0b3IoKXt0aGlzLl9yZXF1ZXN0U3ltYm9sRGF0YT0oMCxtLmRlZmF1bHQpKCgoZSwuLi50KT0+KHt0aW1lOnBlcmZvcm1hbmNlLm5vdygpLGRhdGE6KDAseS5nZXRTeW1ib2xEYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdFNjYW5EYXRhPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxnLmdldFNjYW5EYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEJvbmRzPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxmLmdldEJvbmRzKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHM9KDAsbS5kZWZhdWx0KSgoKGUsLi4udCk9Pih7dGltZTpwZXJmb3JtYW5jZS5ub3coKSxkYXRhOigwLGYuZ2V0RnV0dXJlc0NvbnRyYWN0cykoLi4udCl9KSkpfWdldFN5bWJvbERhdGEoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdFN5bWJvbERhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTeW1ib2xEYXRhKGUsLi4udCkuZGF0YX1nZXRTY2FuRGF0YShlLC4uLnQpe3JldHVybiB0aGlzLl9jbGVhcklmU3RhbGUoZSx0aGlzLl9yZXF1ZXN0U2NhbkRhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTY2FuRGF0YShlLC4uLnQpLmRhdGF9Z2V0Qm9uZHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEJvbmRzLmNhY2hlKSx0aGlzLl9yZXF1ZXN0Qm9uZHMoZSwuLi50KS5kYXRhfWdldEZ1dHVyZXNDb250cmFjdHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHMuY2FjaGUpLHRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsLi4udCkuZGF0YX1fY2xlYXJJZlN0YWxlKGUsdCl7Y29uc3Qgcz10LmdldChlKTtzJiZNYXRoLmFicyhzLnRpbWUtcGVyZm9ybWFuY2Uubm93KCkpPjVlMyYmdC5kZWxldGUoZSl9fWNvbnN0IHY9KDAsCnAuZGVmYXVsdCkoKCgpPT5uZXcgYikpLFM9WyJwcmljZV81Ml93ZWVrX2hpZ2giLCJwcmljZV81Ml93ZWVrX2xvdyIsInNlY3RvciIsImNvdW50cnkiLCJtYXJrZXQiLCJMb3cuMU0iLCJIaWdoLjFNIiwiUGVyZi5XIiwiUGVyZi4xTSIsIlBlcmYuM00iLCJQZXJmLjZNIiwiUGVyZi5ZIiwiUGVyZi5ZVEQiLCJSZWNvbW1lbmQuQWxsIiwiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGMiLCJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYyIsIm5hdl9kaXNjb3VudF9wcmVtaXVtIiwib3Blbl9pbnRlcmVzdCIsImNvdW50cnlfY29kZV9mdW5kIiwiaXYiLCJ1bmRlcmx5aW5nX3N5bWJvbCIsImRlbHRhIiwiZ2FtbWEiLCJyaG8iLCJ0aGV0YSIsInZlZ2EiLCJ0aGVvUHJpY2UiXSxDPVsiZXhwaXJhdGlvbiIsImNsb3NlIiwicHJpY2VzY2FsZSIsIm1pbm1vdiJdLGs9WyJtYXJrZXRfY2FwX2NhbGMiLCJtYXJrZXRfY2FwX2RpbHV0ZWRfY2FsYyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3ZhbHVlX3RyYWRlZCIsIjI0aF92b2xfdG9fbWFya2V0X2NhcCIsImZ1bGx5X2RpbHV0ZWRfdmFsdWUiLCJkZXhfdG90YWxfbGlxdWlkaXR5IiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCJdLHc9WyIyNGhfdm9sX3RvX21hcmtldF9jYXAiXSxEPVsiZnVuZGluZ19yYXRlIiwib3Blbl9pbnRlcmVzdCIsImxpcXVpZGF0aW9uc192b2x1bWVfMjRoIl0sRT1bIlBlcmYuM1kiLCJQZXJmLjVZIiwibmF2X3RvdGFsX3JldHVybi4xTSIsIm5hdl90b3RhbF9yZXR1cm4uM00iLCJuYXZfdG90YWxfcmV0dXJuLjFZIiwibmF2X3RvdGFsX3JldHVybi5ZVEQiLCJuYXZfdG90YWxfcmV0dXJuLjNZIiwibmF2X3RvdGFsX3JldHVybi41WSJdLEY9WyJtYXR1cml0eV9kYXRlIiwiY2xvc2UiLCJjb3Vwb24iLCJ0eXBlc3BlY3MiLCJwcmljZXNjYWxlIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwidGVybS10by1tYXR1cml0eSIsImRheXNfdG9fbWF0dXJpdHkiLCJjb3VudHJ5X2NvZGVfZnVuZCJdLFI9WyJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5X2RhdGUiXTtjbGFzcyBBe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX2Z1dHVyZXM9W10sdGhpcy5fYm9uZHM9W10sdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1bXSx0aGlzLl9jcnlwdG9EYXRhPW51bGwsdGhpcy5fY3J5cHRvQXNzZXREYXRhPW51bGwsdGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9bnVsbCx0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1udWxsLHRoaXMuX2V0ZkRhdGE9bnVsbCx0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PW51bGwsdGhpcy5fdW5kZXJseWluZ1N5bWJvbD1udWxsLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0PW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRXRmUmVxdWVzdD1udWxsLHRoaXMuX2NvbnRyYWN0Qm9uZHNSZXF1ZXN0PW51bGwsdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRGF0YT17fSx0aGlzLl9kZXhDb252ZXJ0ZWRTeW1ib2xEYXRhPW51bGwsdGhpcy5fc2NyZWVuZXJSZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9bnVsbCx0aGlzLl9ib25kc0NvbXBsZXRlPW51bGwsdGhpcy5fZnV0dXJlc0NvbXBsZXRlPW51bGwsdGhpcy5fcHJvZHVjdExhYmVsPW51bGwsdGhpcy5fc3ltYm9sPWUuc3ltYm9sLHRoaXMuX2NsaWVudElkPSgwLHIuZ3VpZCkoKSx0aGlzLl9wcm9kdWN0TGFiZWw9ZS5sYWJlbD8/bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlPWUucXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZX1zZXRIYW5kbGVyKGUpe3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5fc3Vic2NyaWJlZHx8KHRoaXMuX3N1YnNjcmliZWQ9ITAsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fc3ltYm9sLCh0PT57dGhpcy5fY2hlY2tEYXRhSGFuZGxlcih0LGUpfSkpKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS51bnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0aGlzLl9zeW1ib2wpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2wmJnRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2UudW5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fdW5kZXJseWluZ1N5bWJvbCksdGhpcy5fZGV4Q29udmVydGVkU3ltYm9sJiZ0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbCl9X21lcmdlRGF0YUhhbmRsZXIoZSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Jlc3BvbnNlKSxzPXtzeW1ib2w6dGhpcy5fc3ltYm9sLHF1b3Rlczp7Li4udC52YWx1ZXN9LHNjcmVlbmVyOnt9LGFnZ3JlZ2F0ZWQ6e2Z1dHVyZXM6dGhpcy5fZnV0dXJlcyxib25kczp0aGlzLl9ib25kcyxjcnlwdG9fZGF0YTp0aGlzLl9jcnlwdG9EYXRhLGV0Zl9kYXRhOnRoaXMuX2V0ZkRhdGEsY3J5cHRvX2Fzc2V0X2RhdGE6dGhpcy5fY3J5cHRvQXNzZXREYXRhLGNyeXB0b19kZXJpdmF0aXZlX2RhdGE6dGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGEsdW5kZXJseWluZ19zeW1ib2xfZGF0YTp0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YSxkZXhfY29udmVydGVkX3N5bWJvbF9kYXRhOnRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGEsc3RvY2tzX3JlbGF0ZWRfYm9uZHNfZGF0YTp0aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNEYXRhfX07Uy5mb3JFYWNoKChlPT57CnZvaWQgMCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmbnVsbCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmKHMuc2NyZWVuZXJbZV09dGhpcy5fc2NyZWVuZXJEYXRhW2VdKX0pKTtjb25zdCByPXsuLi50LHZhbHVlczpzfTtudWxsPT09dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSYmdC5jb21wbGV0ZSYmbnVsbD09PXRoaXMuX3NjcmVlbmVyUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ29tcGxldGUmJihyLmNvbXBsZXRlU2NyZWVuZXI9dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSxudWxsPT09dGhpcy5fY29udHJhY3RCb25kc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0Qm9uZENvbnRyYWN0cyhyLGUpKSksdGhpcy5fYm9uZHNDb21wbGV0ZSYmKHIuYm9uZHNDb21wbGV0ZT10aGlzLl9ib25kc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fZnV0dXJlc0NvbXBsZXRlJiZ0LmNvbXBsZXRlJiZudWxsPT09dGhpcy5fY29udHJhY3RGdXR1cmVzUmVxdWVzdCYmKHRoaXMuX2Z1dHVyZXNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSksdGhpcy5fZnV0dXJlc0NvbXBsZXRlJiYoci5mdXR1cmVzQ29tcGxldGU9dGhpcy5fZnV0dXJlc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUmJnQuY29tcGxldGUmJm51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b0Rlcml2YXRpdmVSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlJiYoci5jcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUpLGUocil9X2NoZWNrRGF0YUhhbmRsZXIoZSx0KXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNwb25zZT1lLG51bGw9PT10aGlzLl9zY3JlZW5lclJlcXVlc3QmJih0aGlzLl9zY3JlZW5lclJlcXVlc3Q9dGhpcy5fcmVxdWVzdFNjcmVlbmVyKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3QmJih0aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0RhdGEoZSx0KSksbnVsbD09PXRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9Bc3NldFJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Fzc2V0RGF0YShlLHQpKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZVJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3QmJih0aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3Q9dGhpcy5fcmVxdWVzdEV0ZkRhdGEoZSx0KSksbnVsbD09PXRoaXMuX2NvbnRyYWN0RnV0dXJlc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PXRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCkpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2x8fCh0aGlzLl91bmRlcmx5aW5nU3ltYm9sPXRoaXMuX3N1YnNjcmliZVVuZGVybHlpbmdTeW1ib2xEYXRhKGUsdCkpLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbHx8KHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD10aGlzLl9zdWJzY3JpYmVEZXhDb252ZXJ0ZWRTeW1ib2xEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNSZXF1ZXN0JiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfV9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCl7Y29uc3R7InN5bWJvbC1wcmltYXJ5bmFtZSI6cyxoYXNfYm9uZHM6cn09ZS52YWx1ZXM7aWYoIXN8fHZvaWQgMD09PXIpcmV0dXJuIG51bGw7aWYoIXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGk9KG5ldyBuLlNjYW5QYXJhbXNNYW5hZ2VyKS5zZXRDb2x1bW5zKFsuLi5SXSkuc2V0UHJlc2V0KGwuU3RvY2tzUmVsYXRlZEJvbmRzKS5zZXRSYW5nZShbMCwzXSkuc2V0SW5kZXhGaWx0ZXJzKFt7bmFtZToiYm9uZF9pc3N1ZXJfY3JfcGFyZW50X3N0b2NrX3N5bWJvbCIsdmFsdWVzOltzXX1dKTtyZXR1cm4gdigpLmdldFNjYW5EYXRhKGBzY3JlZW5lci1zdG9jay1yZWxhdGVkLWJvbmRzLSR7c31gLG51bGwsaSxvLk5vblN0b2NrTWFya2V0LkJvbmQsdGhpcy5fcHJvZHVjdExhYmVsPz92b2lkIDApLnRoZW4oKGU9PnshZS5lcnJvciYmZS5kYXRhJiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1lLmRhdGEucmVkdWNlKCgoZSx0KT0+e2ZvcihsZXQgcz0wO3M8Ui5sZW5ndGg7cysrKWlmKG51bGw9PT10LmRbc10pcmV0dXJuIGU7Y29uc3Qgcz1SLnJlZHVjZSgoKGUscyxyKT0+KHsuLi5lLFtzXTp0LmRbcl19KSkse3N5bWJvbDp0LnN9KTtyZXR1cm4gZS5wdXNoKHMpLGV9KSxbXSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKDAsaC5pc0Fib3J0RXJyb3IpKGUpKXRocm93IGV9KSl9X3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1QKGUudmFsdWVzKTtpZih2b2lkIDA9PT1zKXJldHVybiB0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7c3ltYm9sOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0RnV0dXJlc0NvbnRyYWN0cyhgc2NyZWVuZXItZnV0dXJlcy1jb250cmFjdHMtJHtyfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKGUuZGF0YS5sZW5ndGgmJih0aGlzLl9mdXR1cmVzPXgoZSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpfQpfc3Vic2NyaWJlVW5kZXJseWluZ1N5bWJvbERhdGEoZSx0KXtjb25zdCBzPWUudmFsdWVzWyJ1bmRlcmx5aW5nLXN5bWJvbCJdO3JldHVybiBzPyh0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCxzLChlPT57ZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKE9iamVjdC5rZXlzKGUudmFsdWVzKS5sZW5ndGgmJih0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1lLnZhbHVlcyksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkscyk6bnVsbH1fc3Vic2NyaWJlRGV4Q29udmVydGVkU3ltYm9sRGF0YShlLHQpe2NvbnN0IHM9ZS52YWx1ZXMuZGV4X2NvbnZlcnRlZF9zeW1ib2w7cmV0dXJuIHMmJiJVU0QiIT09ZS52YWx1ZXMuY3VycmVuY3lfaWQ/KHRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2Uuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHMsKGU9PntlJiYhdGhpcy5fZGVzdHJveWVkJiYoT2JqZWN0LmtleXMoZS52YWx1ZXMpLmxlbmd0aCYmKHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGE9ZS52YWx1ZXMpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLHMpOm51bGx9X3JlcXVlc3RCb25kQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1CKHsuLi5lLnZhbHVlcy5xdW90ZXMsY291bnRyeV9jb2RlX2Z1bmQ6ZS52YWx1ZXMuc2NyZWVuZXI/LmNvdW50cnlfY29kZV9mdW5kfSk7aWYodm9pZCAwPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxQcm9taXNlLnJlc29sdmUoKTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxudWxsO2NvbnN0e2NvdW50cnlDb2RlOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0Qm9uZHMoYHNjcmVlbmVyLWJvbmRzLSR7ZS52YWx1ZXMucXVvdGVzLnByb19uYW1lfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9ib25kc0NvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLGUmJiF0aGlzLl9kZXN0cm95ZWQmJihlLmRhdGEubGVuZ3RoJiYodGhpcy5fYm9uZHM9cShlKSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSl9X3JlcXVlc3RDcnlwdG9Bc3NldERhdGEoZSx0KXtjb25zdHtjcnlwdG9fYXNzZXQ6c309ZS52YWx1ZXM7cmV0dXJuIHM/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1hc3NldC0ke3N9YCxudWxsLHMsdyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PnshdGhpcy5fZGVzdHJveWVkJiZlJiYoMCE9PU9iamVjdC5rZXlzKGUpLmxlbmd0aCYmKHRoaXMuX2NyeXB0b0Fzc2V0RGF0YT13LnJlZHVjZSgoKHQscyk9Pih7Li4udCxbc106ZVtzXX0pKSx7fSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLmNhdGNoKChlPT57aWYoISgoMCxoLmlzQWJvcnRFcnJvcikoZSl8fGUgaW5zdGFuY2VvZiBkLlN5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2UpKXRocm93IGV9KSk6bnVsbH1fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCl7Y29uc3R7dHlwZTpzfT1lLnZhbHVlcyxyPSgpPT4odGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCkpO2lmKHMmJiJzcG90IiE9PXMpcmV0dXJuIHIoKTtpZighZS5jb21wbGV0ZSlyZXR1cm4gbnVsbDtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0e3Byb19uYW1lOnQsY3J5cHRvX2Fzc2V0OnMsZnVuZF92aWV3X21vZGVzOnIsYmFzZV9jdXJyZW5jeV9pZDppLHR5cGU6bixjdXJyZW5jeV9pZDpvfT1lLGE9Qm9vbGVhbih0JiZzJiZ0PT09cyksbD0ic3BvdCI9PT1uJiYiVVNEIj09PW87aWYoIWEmJiFsfHwhcj8uY3J5cHRvPy5pbmNsdWRlcygiY3J5cHRvX2Rlcml2YXRpdmVfbWV0cmljc19hZ2ciKSlyZXR1cm4gbnVsbDtpZihzKXJldHVybiBzO2lmKGkpcmV0dXJuYENSWVBUTzoke2kucmVwbGFjZSgvXlhUVkMvLCIiKX1VU0RgO3JldHVybiBudWxsfShlLnZhbHVlcyk7cmV0dXJuIGk/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1kZXJpdmF0aXZlLSR7aX1gLG51bGwsaSxELHRoaXMuX3Byb2R1Y3RMYWJlbCkudGhlbigoZT0+e3RoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLCF0aGlzLl9kZXN0cm95ZWQmJmUmJigwIT09T2JqZWN0LmtleXMoZSkubGVuZ3RoJiYodGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9RC5yZWR1Y2UoKCh0LHMpPT4oey4uLnQsW3NdOmVbc119KSkse30pKSx0aGlzLl9tZXJnZURhdGFIYW5kbGVyKHQpKX0pKS5jYXRjaCgoZT0+e2lmKCEoKDAsaC5pc0Fib3J0RXJyb3IpKGUpfHxlIGluc3RhbmNlb2YgZC5TeW1ib2xEb2VzTm90RXhpc3RFcnJvclJlc3BvbnNlKSl0aHJvdyBlfSkpOnIoKX1fcmVxdWVzdENyeXB0b0RhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLGN1cnJlbmN5X2NvZGU6aSxkZXhfY29udmVydGVkX3N5bWJvbDpufT1lLnZhbHVlcztpZihzJiYhKDAsYy5oYXNDcnlwdG9UeXBlc3BlYykocykpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFyKXJldHVybiBudWxsO2xldCBvPXI7aWYoIlVTRCIhPT1pKXtpZighbilyZXR1cm4gbnVsbDtvPW59cmV0dXJuIHYoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1jcnlwdG8tJHtvfWAsbnVsbCxvLGssdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9jcnlwdG9EYXRhPWsucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX1fcmVxdWVzdEV0ZkRhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLHR5cGU6aX09ZS52YWx1ZXM7cmV0dXJuIGkmJnMmJiEoMCwKYy5pc0V0ZikoaSxzKT9Qcm9taXNlLnJlc29sdmUoKTpyP3YoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1ldGYtJHtyfWAsbnVsbCxyLEUsdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9ldGZEYXRhPUUucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKTpudWxsfV9yZXF1ZXN0U2NyZWVuZXIoZSx0KXtjb25zdCBzPU0oZS52YWx1ZXMpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7bmFtZTpyfT1zO3JldHVybiB2KCkuZ2V0U3ltYm9sRGF0YShgc2NyZWVuZXItZ2VuZXJpYy0ke3J9YCxudWxsLHIsUyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PntlP3RoaXMuX2Rlc3Ryb3llZHx8KDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJlMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt0aGlzLl9zY3JlZW5lckRhdGFbdF09c30pKSx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpOnRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX19ZnVuY3Rpb24geChlKXtyZXR1cm4gZS5kYXRhLm1hcCgoZT0+Qy5yZWR1Y2UoKCh0LHMscik9Pih7Li4udCxbc106ImV4cGlyYXRpb24iPT09cz8oMCxfLm11dGF0ZVNpbXBsZURhdGUpKGUuZFtyXSk6ZS5kW3JdfSkpLHtzeW1ib2w6ZS5zfSkpKX1mdW5jdGlvbiBxKGUpe3JldHVybiBlLmRhdGEubWFwKChlPT5GLnJlZHVjZSgoKHQscyxyKT0+e2xldCBpO3N3aXRjaChzKXtjYXNlIm1hdHVyaXR5X2RhdGUiOmk9KDAsXy5tdXRhdGVTaW1wbGVEYXRlKShlLmRbcl0pO2JyZWFrO2Nhc2UiZnJhY3Rpb25hbCI6aT0idHJ1ZSI9PT1lLmRbcl07YnJlYWs7ZGVmYXVsdDppPWUuZFtyXX1yZXR1cm57Li4udCxbc106aX19KSx7c3ltYm9sOmUuc30pKSl9ZnVuY3Rpb24gUChlKXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6dCxyb290OnMsdHlwZTpyfT1lO2lmKHImJiJmdXR1cmVzIiE9PXIpcmV0dXJuO2lmKCF0fHwhcnx8IXMpcmV0dXJuIG51bGw7Y29uc3QgaT17Y29sdW1uczpDLHNvcnQ6e3NvcnRCeToiZXhwaXJhdGlvbiIsc29ydE9yZGVyOiJhc2MifX07cmV0dXJue3N5bWJvbDpgJHt0fToke3N9YCxtYXJrZXQ6YSgpLG9wdGlvbnM6aX19ZnVuY3Rpb24gQihlLHQ9e2NvbHVtbnM6Rixzb3J0Ontzb3J0Qnk6Im1hdHVyaXR5X2RhdGUiLHNvcnRPcmRlcjoiYXNjIn19KXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6cyx0eXBlOnIsdHlwZXNwZWNzOmksY291bnRyeV9jb2RlX2Z1bmQ6bn09ZTtpZihyJiYiYm9uZCIhPT1yKXJldHVybjtpZighKHMmJnImJm4mJmk/LmluY2x1ZGVzKCJnb3Zlcm5tZW50IikpKXJldHVybiBudWxsO3JldHVybntjb3VudHJ5Q29kZTpuLG1hcmtldDphKCksb3B0aW9uczp0fX1mdW5jdGlvbiBNKGUpe2lmKCFlLnR5cGV8fCFlLmxpc3RlZF9leGNoYW5nZSlyZXR1cm4gbnVsbDtpZih1LlNZTUJPTF9UWVBFX0JMQUNLX0xJU1QuaGFzKGUudHlwZSkpcmV0dXJuO2NvbnN0IHQ9ZS5wcm9fbmFtZTtyZXR1cm4gdD97bmFtZTp0LHR5cGU6ZS50eXBlfTpudWxsfX0sNDIwOTg5KGUsdCxzKXtzLmQodCx7Z2V0Qm9uZHM6KCk9PnUsZ2V0RnV0dXJlc0NvbnRyYWN0czooKT0+Y30pO3ZhciByPXMoMjIxMDYxKSxpPXMoODI3MDI5KSxuPXMoMzg0MDE3KSxvPXMoMjE0OTg3KTtjb25zdCBhPSgpPT53aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20iO2Z1bmN0aW9uIGwoZSx0PWUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubGVuZ3RoPjE/YCR7YSgpfS9nbG9iYWwvYDpgJHthKCl9LyR7dFswXX0vYDpgJHthKCl9LyR7dH0vYH1jb25zdCBfPSgwLHIuZ2V0TG9nZ2VyKSgiU2NyZWVuZXIuV2lkZ2V0Iik7ZnVuY3Rpb24gYyhlLHQscyl7Y29uc3Qgcj17ZmlsdGVyOlt7bGVmdDoiZXhwaXJhdGlvbiIsb3BlcmF0aW9uOiJuZW1wdHkifSx7bGVmdDoic3VidHlwZSIsb3BlcmF0aW9uOiJuZXF1YWwiLHJpZ2h0OiJjb250aW51b3VzIn1dLGluZGV4X2ZpbHRlcnM6W3tuYW1lOiJyb290Iix2YWx1ZXM6W2VdfV0sbWFya2V0czpbaS5Ob25TdG9ja01hcmtldC5GdXR1cmVzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMsImZ1dHVyZXMiKSsic2NhbiIse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeShyKSxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChlPT5lLmpzb24oKSkpLmNhdGNoKChlPT57Xy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBmdXR1cmVzIGNvbnRyYWN0cy4gJHtlLm1lc3NhZ2V9YCl9KSl9ZnVuY3Rpb24gdShlLHQscyxyKXtjb25zdCBhPXtmaWx0ZXI6W3tsZWZ0OiJtYXR1cml0eV9kYXRlIixvcGVyYXRpb246Im5lbXB0eSJ9LHtsZWZ0OiJjb3VudHJ5X2NvZGUiLG9wZXJhdGlvbjoiZXF1YWwiLHJpZ2h0OmV9LHtsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzIixyaWdodDoiZ292ZXJubWVudCJ9XSxzeW1ib2xzOntxdWVyeTp7dHlwZXM6WyJib25kIl19fSxtYXJrZXRzOltpLk5vblN0b2NrTWFya2V0LkJvbmRzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMpKyJzY2FuIix7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGEpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixzaWduYWw6cn0pLnRoZW4oKGU9PmUuanNvbigpKSkuY2F0Y2goKGU9PnsoMCxvLnJldGhyb3dBYm9ydEVycm9yKShlKSwKXy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBib25kcy4gJHtlLm1lc3NhZ2V9YCl9KSl9fSw2MTkxMjMoZSx0LHMpe3MuZCh0LHttdXRhdGVTaW1wbGVEYXRlOigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg0OTExNjUpLG49cygxNjg4MjQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUmJigwLHIuaXNOdW1iZXIpKGUpP2kuZGF0ZUZvcm1hdEZ1bmN0aW9uc1sieXl5eS1NTS1kZCJdKCgwLG4uZ2V0RGF0ZUZyb21ZWVlZTU1ERCkoZSksITApOiLigJQifX0sMTY4ODI0KGUsdCxzKXtmdW5jdGlvbiByKGUpe2NvbnN0W3QscyxyXT1mdW5jdGlvbihlKXtjb25zdCB0PWUudG9TdHJpbmcoKTtyZXR1cm5bTnVtYmVyKHQuc2xpY2UoMCw0KSksTnVtYmVyKHQuc2xpY2UoNCw2KSksTnVtYmVyKHQuc2xpY2UoNikpXX0oZSk7cmV0dXJuIG5ldyBEYXRlKHQscy0xLHIpfXMuZCh0LHtnZXREYXRlRnJvbVlZWVlNTUREOigpPT5yfSl9LDYyMzUxMShlLHQscyl7ZnVuY3Rpb24gcihlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+cn0pfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66522.661a97161c3cad9690d2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.097Z","timestamp":1785124877097,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66522.661a97161c3cad9690d2.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-3a7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9cca7213d31834dea40ec0e773de6f76\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":935,"size_decoded":1223,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (935), with no line terminators","md5":"9295c27fd4daa554b8dc928ab0c03a98","sha1":"2f33253bdbb14763a9e94d92768f77ec5ec2416f","sha256":"1936404f933cb5460b13710ba8fbe6e85d647437100f0ab98916d094a14d0bdf","sha512":"e4fbc74b9e0e953c709284d47e4093018617cabcd5525629f6f8152d3b8dd8fe175c8281e80fdfea7c397d218d86b578389aab6640dc1cb9a6cd7d0c37679c80","ssdeep":"","tlshash":"4b115631f150ca2d7c67a8290781d28e6128ec0e66c7a65dbb16e22948cf7d32263318","first_seen":"2026-02-24T15:20:08.929924Z","last_seen":"2026-07-27T06:24:31.533199Z","times_seen":572,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQktiLTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUJLYi06dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LmRpYWxvZy1VR2RDNjlzd3ttaW4td2lkdGg6MjU0cHg7cGFkZGluZzo0MHB4O3dpZHRoOmF1dG99LmRpYWxvZ0lubmVyLVVHZEM2OXN3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS50aXRsZVdyYXBwZXItVUdkQzY5c3d7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTAwJX0udGl0bGUtVUdkQzY5c3d7Y29sb3I6dmFyKC0tXzAtQktiLSk7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjI4cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5mb0hpbnQtVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KTtoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjhweDt3aWR0aDoxOHB4fS5mb3JtLVVHZEM2OXN3e2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MjAwcHg7d2lkdGg6MTAwJX0uaW5wdXRXcmFwcGVyLVVHZEM2OXN3e2ZsZXgtZ3JvdzoxfS5pbnB1dC1VR2RDNjlzd3tmb250LXNpemU6MjRweDt0ZXh0LWFsaWduOmNlbnRlcn0uaGludC1VR2RDNjlzd3tjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDozcHg7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uZXJyb3ItVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/transactions-icon.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.251Z","timestamp":1785124875251,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/transactions-icon.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 3277\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-ccd\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3277,"size_decoded":3501,"mime_type":"image/png","magic":"PNG image data, 68 x 68, 8-bit/color RGBA, non-interlaced","md5":"ab973e8344e4f2679f3172d7f4e57769","sha1":"78b48bb155d3bd48b3d328dbc1f0206411691cbb","sha256":"823e0e65af23bf4e8e5273c14953d6cf3ab207db163fa10bb5eec15bd4857bd0","sha512":"83df66a0b8552d1f063d5750f05471d63c43e25f5e11c909c7e49ca7d2a4777a676a3c291695d6927cb74fc85a6a30802f024d54c8c24bc79c96bf455592738b","ssdeep":"","tlshash":"e1614a9bb88d69822446ee2d287640371f608e9105ba50ed048fe84b1a9e0f4406dc9f","first_seen":"2025-08-11T23:10:22.71239Z","last_seen":"2026-07-27T04:03:30.040326Z","times_seen":13,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NzIwOUQ4RjQ3RDYxMUVBQjY1MkZBNjYzMEZEQjZCQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwOUQ5MDQ3RDYxMUVBQjY1MkZBNjYzMEZEQjZCQSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjc3MjA5RDhENDdENjExRUFCNjUyRkE2NjMwRkRCNkJBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjc3MjA5RDhFNDdENjExRUFCNjUyRkE2NjMwRkRCNkJBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WTk1eAAACUJJREFUeNrsXAmMFEUU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"}},"time_used":74,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":73,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/countries-icon.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.254Z","timestamp":1785124875254,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/countries-icon.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 3843\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-f03\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3843,"size_decoded":4067,"mime_type":"image/png","magic":"PNG image data, 68 x 68, 8-bit/color RGBA, non-interlaced","md5":"a690d83805fabfb49c95625f13360fc0","sha1":"d8838e0a8c6b44d280662a3a28d689c49543f085","sha256":"537f9282346e35a3e5587d02174989190bc84ea3fbb1d309cb1db6222098efdb","sha512":"3cc7b34a745945fb5058a2e632104fe5af1b63bb25744f80c699c6545a09e68229948fc0e5a4d15d5957e6d9615bae8f0b225d8a2c0b00d92c5f3ad340d8a655","ssdeep":"","tlshash":"68815d18f75419a0439cbc9628ca91bed613c6c0bfdb9de0045b8929d8782b179774ef","first_seen":"2025-08-11T23:10:22.739265Z","last_seen":"2026-07-27T04:03:30.136932Z","times_seen":18,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1RjU4NkIwODQ3RDYxMUVBQjA3NDhENjk1MzU4NjAwNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1RjU4NkIwOTQ3RDYxMUVBQjA3NDhENjk1MzU4NjAwNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVGNTg2QjA2NDdENjExRUFCMDc0OEQ2OTUzNTg2MDA2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVGNTg2QjA3NDdENjExRUFCMDc0OEQ2OTUzNTg2MDA2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VZ2m7QAAC3hJREFUeNrMXAt0FdUV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"}},"time_used":70,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":69,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49518.081f9637b94ee62a6e6f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.805Z","timestamp":1785124875805,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49518.081f9637b94ee62a6e6f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-14e9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9189079c51ccd2b48f089b7503f4eca6\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5353,"size_decoded":1929,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5353), with no line terminators","md5":"d7a9f60b8ae2b7f3ca613c9e5b32c1be","sha1":"96edacc2eaf0e2cf90be1c863bcdf71fce951db7","sha256":"62105e79933d1412be7816bc118e665a99e90c3d846b5e3282d35372ec43018a","sha512":"be8a4d2d71a8547c7dd2aa502370f205f86911c5def4816629a2da7cd82f3786e92dd78ecc49e89a9af136891ed67fb875ef4fcddcc07ccc31b5f51d430f4da3","ssdeep":"48:DVGIKVGI0GIKZGIpGIoVGIRGIqGIuGIjVGI0QVGIZGITZGI0LGI06GIHGI8GI/G7:D81CWQbawWxrGn5W+orw57Ur6Mpk98","tlshash":"12b1f676e8201aa675ba5a192380fad45034d022bf219ffff3c568168dcf1c6789381d","first_seen":"2026-03-24T10:46:27.490841Z","last_seen":"2026-07-27T06:14:34.17239Z","times_seen":1419,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"time_used":48,"timings":{"blocked":-1,"dns":28,"connect":1,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.760Z","timestamp":1785124876760,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-67c0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: feb09464ea1e96855429115fa9dac7b4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26560,"size_decoded":11050,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-07-27T06:24:31.804793Z","times_seen":61,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzA2OTldLHsxMzA2OTkodCxlLHIpe3IuZChlLHtjb25maWd1cmVTdG9yZTooKT0+QSxjcmVhdGVBY3Rpb246KCk9Pl8sY3JlYXRlQXN5bmNUaHVuazooKT0+VCxjcmVhdGVEcmFmdFNhZmVTZWxlY3RvcjooKT0+dyxjcmVhdGVTbGljZTooKT0+eCxpc0FueU9mOigpPT5xLGlzRnVsZmlsbGVkOigpPT5VLGlzUGVuZGluZzooKT0+Syxpc1JlamVjdGVkOigpPT5MfSk7dmFyIG49cigzMjcyMzkpLG89cigzNjQzNTApLGk9cig3ODc3MjQpO2lmKCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIHU9cig5NTM3NDkpO3ZhciBmLGE9KGY9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbcl09ZVtyXSl9LGYodCxlKX0sZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhlKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWYodCxlKSx0LnByb3RvdHlwZT1udWxsPT09ZT9PYmplY3QuY3JlYXRlKGUpOihyLnByb3RvdHlwZT1lLnByb3RvdHlwZSxuZXcgcil9KSxjPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixvLGksdT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZvWzBdKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gaT17bmV4dDpmKDApLHRocm93OmYoMSkscmV0dXJuOmYoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihpW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGk7ZnVuY3Rpb24gZihpKXtyZXR1cm4gZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGkpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7dTspdHJ5e2lmKHI9MSxuJiYobz0yJmlbMF0/bi5yZXR1cm46aVswXT9uLnRocm93fHwoKG89bi5yZXR1cm4pJiZvLmNhbGwobiksMCk6bi5uZXh0KSYmIShvPW8uY2FsbChuLGlbMV0pKS5kb25lKXJldHVybiBvO3N3aXRjaChuPTAsbyYmKGk9WzImaVswXSxvLnZhbHVlXSksaVswXSl7Y2FzZSAwOmNhc2UgMTpvPWk7YnJlYWs7Y2FzZSA0OnJldHVybiB1LmxhYmVsKysse3ZhbHVlOmlbMV0sZG9uZTohMX07Y2FzZSA1OnUubGFiZWwrKyxuPWlbMV0saT1bMF07Y29udGludWU7Y2FzZSA3Omk9dS5vcHMucG9wKCksdS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShvPXUudHJ5cywobz1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKXx8NiE9PWlbMF0mJjIhPT1pWzBdKSl7dT0wO2NvbnRpbnVlfWlmKDM9PT1pWzBdJiYoIW98fGlbMV0+b1swXSYmaVsxXTxvWzNdKSl7dS5sYWJlbD1pWzFdO2JyZWFrfWlmKDY9PT1pWzBdJiZ1LmxhYmVsPG9bMV0pe3UubGFiZWw9b1sxXSxvPWk7YnJlYWt9aWYobyYmdS5sYWJlbDxvWzJdKXt1LmxhYmVsPW9bMl0sdS5vcHMucHVzaChpKTticmVha31vWzJdJiZ1Lm9wcy5wb3AoKSx1LnRyeXMucG9wKCk7Y29udGludWV9aT1lLmNhbGwodCx1KX1jYXRjaCh0KXtpPVs2LHRdLG49MH1maW5hbGx5e3I9bz0wfWlmKDUmaVswXSl0aHJvdyBpWzFdO3JldHVybnt2YWx1ZTppWzBdP2lbMV06dm9pZCAwLGRvbmU6ITB9fShbaSxmXSl9fX0sbD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgsbz10Lmxlbmd0aDtyPG47cisrLG8rKyl0W29dPWVbcl07cmV0dXJuIHR9LHM9T2JqZWN0LmRlZmluZVByb3BlcnR5LHA9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyx2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMseT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGg9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxiPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZSBpbiB0P3ModCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yfSxnPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGV8fChlPXt9KSl5LmNhbGwoZSxyKSYmYih0LHIsZVtyXSk7aWYodilmb3IodmFyIG49MCxvPXYoZSk7bjxvLmxlbmd0aDtuKyspe3I9b1tuXTtoLmNhbGwoZSxyKSYmYih0LHIsZVtyXSl9cmV0dXJuIHR9LG09ZnVuY3Rpb24odCxlKXtyZXR1cm4gcCh0LGQoZSkpfSx3PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciByPW8uY3JlYXRlU2VsZWN0b3IuYXBwbHkodm9pZCAwLHQpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspZVtvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm4gci5hcHBseSh2b2lkIDAsbChbKDAsbi5pc0RyYWZ0KSh0KT8oMCxuLmN1cnJlbnQpKHQpOnRdLGUpKX19LE89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9DT01QT1NFX18/d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX0NPTVBPU0VfXzpmdW5jdGlvbigpe2lmKDAhPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzBdP2kuY29tcG9zZTppLmNvbXBvc2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18mJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fO2Z1bmN0aW9uIGoodCl7CmlmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9dmFyIFA9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe2Zvcih2YXIgcj1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKylyW25dPWFyZ3VtZW50c1tuXTt2YXIgbz10LmFwcGx5KHRoaXMscil8fHRoaXM7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihvLGUucHJvdG90eXBlKSxvfXJldHVybiBhKGUsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnNwZWNpZXMse2dldDpmdW5jdGlvbigpe3JldHVybiBlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gdC5wcm90b3R5cGUuY29uY2F0LmFwcGx5KHRoaXMsZSl9LGUucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10scj0wO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyXT1hcmd1bWVudHNbcl07cmV0dXJuIDE9PT10Lmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0WzBdKT9uZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0WzBdLmNvbmNhdCh0aGlzKSkpKTpuZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0LmNvbmNhdCh0aGlzKSkpKX0sZX0oQXJyYXkpO2Z1bmN0aW9uIEUoKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LnRodW5rLHI9dm9pZCAwPT09ZXx8ZSxuPSh0LmltbXV0YWJsZUNoZWNrLHQuc2VyaWFsaXphYmxlQ2hlY2ssbmV3IFApO3ImJigiYm9vbGVhbiI9PXR5cGVvZiByP24ucHVzaCh1LmRlZmF1bHQpOm4ucHVzaCh1LmRlZmF1bHQud2l0aEV4dHJhQXJndW1lbnQoci5leHRyYUFyZ3VtZW50KSkpOzA7cmV0dXJuIG59KHQpfX12YXIgUz0hL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopfHxudWxsO2Z1bmN0aW9uIEEodCl7dmFyIGUscj1FKCksbj10fHx7fSxvPW4ucmVkdWNlcix1PXZvaWQgMD09PW8/dm9pZCAwOm8sZj1uLm1pZGRsZXdhcmUsYT12b2lkIDA9PT1mP3IoKTpmLGM9bi5kZXZUb29scyxzPXZvaWQgMD09PWN8fGMscD1uLnByZWxvYWRlZFN0YXRlLGQ9dm9pZCAwPT09cD92b2lkIDA6cCx2PW4uZW5oYW5jZXJzLHk9dm9pZCAwPT09dj92b2lkIDA6djtpZigiZnVuY3Rpb24iPT10eXBlb2YgdSllPXU7ZWxzZXtpZighaih1KSl0aHJvdyBuZXcgRXJyb3IoJyJyZWR1Y2VyIiBpcyBhIHJlcXVpcmVkIGFyZ3VtZW50LCBhbmQgbXVzdCBiZSBhIGZ1bmN0aW9uIG9yIGFuIG9iamVjdCBvZiBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGNvbWJpbmVSZWR1Y2VycycpO2U9KDAsaS5jb21iaW5lUmVkdWNlcnMpKHUpfXZhciBoPWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGgmJihoPWgociksIVMmJiFBcnJheS5pc0FycmF5KGgpKSl0aHJvdyBuZXcgRXJyb3IoIndoZW4gdXNpbmcgYSBtaWRkbGV3YXJlIGJ1aWxkZXIgZnVuY3Rpb24sIGFuIGFycmF5IG9mIG1pZGRsZXdhcmUgbXVzdCBiZSByZXR1cm5lZCIpO2lmKCFTJiZoLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0fSkpKXRocm93IG5ldyBFcnJvcigiZWFjaCBtaWRkbGV3YXJlIHByb3ZpZGVkIHRvIGNvbmZpZ3VyZVN0b3JlIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBiPWkuYXBwbHlNaWRkbGV3YXJlLmFwcGx5KHZvaWQgMCxoKSxtPWkuY29tcG9zZTtzJiYobT1PKGcoe3RyYWNlOiFTfSwib2JqZWN0Ij09dHlwZW9mIHMmJnMpKSk7dmFyIHc9W2JdO0FycmF5LmlzQXJyYXkoeSk/dz1sKFtiXSx5KToiZnVuY3Rpb24iPT10eXBlb2YgeSYmKHc9eSh3KSk7dmFyIFA9bS5hcHBseSh2b2lkIDAsdyk7cmV0dXJuKDAsaS5jcmVhdGVTdG9yZSkoZSxkLFApfWZ1bmN0aW9uIF8odCxlKXtmdW5jdGlvbiByKCl7Zm9yKHZhciByPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXJbbl09YXJndW1lbnRzW25dO2lmKGUpe3ZhciBvPWUuYXBwbHkodm9pZCAwLHIpO2lmKCFvKXRocm93IG5ldyBFcnJvcigicHJlcGFyZUFjdGlvbiBkaWQgbm90IHJldHVybiBhbiBvYmplY3QiKTtyZXR1cm4gZyhnKHt0eXBlOnQscGF5bG9hZDpvLnBheWxvYWR9LCJtZXRhImluIG8mJnttZXRhOm8ubWV0YX0pLCJlcnJvciJpbiBvJiZ7ZXJyb3I6by5lcnJvcn0pfXJldHVybnt0eXBlOnQscGF5bG9hZDpyWzBdfX1yZXR1cm4gci50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK3R9LHIudHlwZT10LHIubWF0Y2g9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXR9LHJ9ZnVuY3Rpb24gRCh0KXt2YXIgZSxyPXt9LG49W10sbz17YWRkQ2FzZTpmdW5jdGlvbih0LGUpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgdD90OnQudHlwZTtpZihuIGluIHIpdGhyb3cgbmV3IEVycm9yKCJhZGRDYXNlIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCB0d28gcmVkdWNlcnMgZm9yIHRoZSBzYW1lIGFjdGlvbiB0eXBlIik7cmV0dXJuIHJbbl09ZSxvfSxhZGRNYXRjaGVyOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4ucHVzaCh7bWF0Y2hlcjp0LHJlZHVjZXI6ZX0pLG99LGFkZERlZmF1bHRDYXNlOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsb319O3JldHVybiB0KG8pLFtyLG4sZV19ZnVuY3Rpb24geCh0KXt2YXIgZT10Lm5hbWUscj10LmluaXRpYWxTdGF0ZTtpZighZSl0aHJvdyBuZXcgRXJyb3IoImBuYW1lYCBpcyBhIHJlcXVpcmVkIG9wdGlvbiBmb3IgY3JlYXRlU2xpY2UiKQo7dmFyIG89dC5yZWR1Y2Vyc3x8e30saT0iZnVuY3Rpb24iPT10eXBlb2YgdC5leHRyYVJlZHVjZXJzP0QodC5leHRyYVJlZHVjZXJzKTpbdC5leHRyYVJlZHVjZXJzXSx1PWlbMF0sZj12b2lkIDA9PT11P3t9OnUsYT1pWzFdLGM9dm9pZCAwPT09YT9bXTphLHM9aVsyXSxwPXZvaWQgMD09PXM/dm9pZCAwOnMsZD1PYmplY3Qua2V5cyhvKSx2PXt9LHk9e30saD17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByLG4saT1vW3RdLHU9ZSsiLyIrdDsicmVkdWNlciJpbiBpPyhyPWkucmVkdWNlcixuPWkucHJlcGFyZSk6cj1pLHZbdF09cix5W3VdPXIsaFt0XT1uP18odSxuKTpfKHUpfSkpO3ZhciBiPWZ1bmN0aW9uKHQsZSxyLG8pe3ZvaWQgMD09PXImJihyPVtdKTt2YXIgaT0iZnVuY3Rpb24iPT10eXBlb2YgZT9EKGUpOltlLHIsb10sdT1pWzBdLGY9aVsxXSxhPWlbMl0sYz0oMCxuLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKCl7fSkpO3JldHVybiBmdW5jdGlvbih0LGUpe3ZvaWQgMD09PXQmJih0PWMpO3ZhciByPWwoW3VbZS50eXBlXV0sZi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybigwLHQubWF0Y2hlcikoZSl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2VyfSkpKTtyZXR1cm4gMD09PXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hIXR9KSkubGVuZ3RoJiYocj1bYV0pLHIucmVkdWNlKChmdW5jdGlvbih0LHIpe2lmKHIpe3ZhciBvO2lmKCgwLG4uaXNEcmFmdCkodCkpcmV0dXJuIHZvaWQgMD09PShvPXIodCxlKSk/dDpvO2lmKCgwLG4uaXNEcmFmdGFibGUpKHQpKXJldHVybigwLG4uZGVmYXVsdCkodCwoZnVuY3Rpb24odCl7cmV0dXJuIHIodCxlKX0pKTtpZih2b2lkIDA9PT0obz1yKHQsZSkpKXtpZihudWxsPT09dClyZXR1cm4gdDt0aHJvdyBFcnJvcigiQSBjYXNlIHJlZHVjZXIgb24gYSBub24tZHJhZnRhYmxlIHZhbHVlIG11c3Qgbm90IHJldHVybiB1bmRlZmluZWQiKX1yZXR1cm4gb31yZXR1cm4gdH0pLHQpfX0ocixnKGcoe30sZikseSksYyxwKTtyZXR1cm57bmFtZTplLHJlZHVjZXI6YixhY3Rpb25zOmgsY2FzZVJlZHVjZXJzOnZ9fXZhciBrPWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PTIxKTtmb3IodmFyIGU9IiIscj10O3ItLTspZSs9Ik1vZHVsZVN5bWJoYXNPd25Qci0wMTIzNDU2Nzg5QUJDREVGR0hOUlZmZ2N0aVV2el9LcVlUSmtMeHBaWElqUVciWzY0Kk1hdGgucmFuZG9tKCl8MF07cmV0dXJuIGV9LEk9L14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopP251bGw6WyJuYW1lIiwibWVzc2FnZSIsInN0YWNrIiwiY29kZSJdLFI9ZnVuY3Rpb24odCxlKXt0aGlzLnBheWxvYWQ9dCx0aGlzLm1ldGE9ZX0sTj1mdW5jdGlvbih0LGUpe3RoaXMucGF5bG9hZD10LHRoaXMubWV0YT1lfSxDPWZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe2Zvcih2YXIgZT17fSxyPTAsbj1JO3I8bi5sZW5ndGg7cisrKXt2YXIgbz1uW3JdOyJzdHJpbmciPT10eXBlb2YgdFtvXSYmKGVbb109dFtvXSl9cmV0dXJuIGV9cmV0dXJue21lc3NhZ2U6U3RyaW5nKHQpfX07ZnVuY3Rpb24gVCh0LGUscil7dmFyIG49Xyh0KyIvZnVsZmlsbGVkIiwoZnVuY3Rpb24odCxlLHIsbil7cmV0dXJue3BheWxvYWQ6dCxtZXRhOm0oZyh7fSxufHx7fSkse2FyZzpyLHJlcXVlc3RJZDplLHJlcXVlc3RTdGF0dXM6ImZ1bGZpbGxlZCJ9KX19KSksbz1fKHQrIi9wZW5kaW5nIiwoZnVuY3Rpb24odCxlLHIpe3JldHVybntwYXlsb2FkOnZvaWQgMCxtZXRhOm0oZyh7fSxyfHx7fSkse2FyZzplLHJlcXVlc3RJZDp0LHJlcXVlc3RTdGF0dXM6InBlbmRpbmcifSl9fSkpLGk9Xyh0KyIvcmVqZWN0ZWQiLChmdW5jdGlvbih0LGUsbixvLGkpe3JldHVybntwYXlsb2FkOm8sZXJyb3I6KHImJnIuc2VyaWFsaXplRXJyb3J8fEMpKHR8fCJSZWplY3RlZCIpLG1ldGE6bShnKHt9LGl8fHt9KSx7YXJnOm4scmVxdWVzdElkOmUscmVqZWN0ZWRXaXRoVmFsdWU6ISFvLHJlcXVlc3RTdGF0dXM6InJlamVjdGVkIixhYm9ydGVkOiJBYm9ydEVycm9yIj09PShudWxsPT10P3ZvaWQgMDp0Lm5hbWUpLGNvbmRpdGlvbjoiQ29uZGl0aW9uRXJyb3IiPT09KG51bGw9PXQ/dm9pZCAwOnQubmFtZSl9KX19KSksdT0idW5kZWZpbmVkIiE9dHlwZW9mIEFib3J0Q29udHJvbGxlcj9BYm9ydENvbnRyb2xsZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbigpe30sZGlzcGF0Y2hFdmVudDpmdW5jdGlvbigpe3JldHVybiExfSxvbmFib3J0OmZ1bmN0aW9uKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKCl7fX19cmV0dXJuIHQucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7MH0sdH0oKTtyZXR1cm4gT2JqZWN0LmFzc2lnbigoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGYsYSxsKXt2YXIgcyxwLGQ9KG51bGwhPShzPW51bGw9PXI/dm9pZCAwOnIuaWRHZW5lcmF0b3IpP3M6aykoKSx2PW5ldyB1LHk9bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZSh7bmFtZToiQWJvcnRFcnJvciIsbWVzc2FnZTpwfHwiQWJvcnRlZCJ9KX0pKX0pKSxoPSExO3ZhciBiPWZ1bmN0aW9uKCl7cmV0dXJuIHU9dGhpcyxzPW51bGwscD1mdW5jdGlvbigpe3ZhciB1LHMscDtyZXR1cm4gYyh0aGlzLChmdW5jdGlvbihjKXtzd2l0Y2goYy5sYWJlbCl7Y2FzZSAwOmlmKGMudHJ5cy5wdXNoKFswLDIsLDNdKSxyJiZyLmNvbmRpdGlvbiYmITE9PT1yLmNvbmRpdGlvbih0LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSl0aHJvd3tuYW1lOiJDb25kaXRpb25FcnJvciIsbWVzc2FnZToiQWJvcnRlZCBkdWUgdG8gY29uZGl0aW9uIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZS4ifTtyZXR1cm4gaD0hMCxmKG8oZCx0LG51bGw9PSh1PW51bGw9PXI/dm9pZCAwOnIuZ2V0UGVuZGluZ01ldGEpP3ZvaWQgMDp1LmNhbGwocix7cmVxdWVzdElkOmQsYXJnOnR9LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSkpLApbNCxQcm9taXNlLnJhY2UoW3ksUHJvbWlzZS5yZXNvbHZlKGUodCx7ZGlzcGF0Y2g6ZixnZXRTdGF0ZTphLGV4dHJhOmwscmVxdWVzdElkOmQsc2lnbmFsOnYuc2lnbmFsLHJlamVjdFdpdGhWYWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgUih0LGUpfSxmdWxmaWxsV2l0aFZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBOKHQsZSl9fSkpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBSKXRocm93IGU7cmV0dXJuIGUgaW5zdGFuY2VvZiBOP24oZS5wYXlsb2FkLGQsdCxlLm1ldGEpOm4oZSxkLHQpfSkpXSldO2Nhc2UgMTpyZXR1cm4gcz1jLnNlbnQoKSxbMywzXTtjYXNlIDI6cmV0dXJuIHA9Yy5zZW50KCkscz1wIGluc3RhbmNlb2YgUj9pKG51bGwsZCx0LHAucGF5bG9hZCxwLm1ldGEpOmkocCxkLHQpLFszLDNdO2Nhc2UgMzpyZXR1cm4gciYmIXIuZGlzcGF0Y2hDb25kaXRpb25SZWplY3Rpb24mJmkubWF0Y2gocykmJnMubWV0YS5jb25kaXRpb258fGYocyksWzIsc119fSkpfSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXt2YXIgcj1mdW5jdGlvbih0KXt0cnl7byhwLm5leHQodCkpfWNhdGNoKHQpe2UodCl9fSxuPWZ1bmN0aW9uKHQpe3RyeXtvKHAudGhyb3codCkpfWNhdGNoKHQpe2UodCl9fSxvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/dChlLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZS52YWx1ZSkudGhlbihyLG4pfTtvKChwPXAuYXBwbHkodSxzKSkubmV4dCgpKX0pKTt2YXIgdSxzLHB9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oYix7YWJvcnQ6ZnVuY3Rpb24odCl7aCYmKHA9dCx2LmFib3J0KCkpfSxyZXF1ZXN0SWQ6ZCxhcmc6dCx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gYi50aGVuKE0pfX0pfX0pLHtwZW5kaW5nOm8scmVqZWN0ZWQ6aSxmdWxmaWxsZWQ6bix0eXBlUHJlZml4OnR9KX1mdW5jdGlvbiBNKHQpe2lmKHQubWV0YSYmdC5tZXRhLnJlamVjdGVkV2l0aFZhbHVlKXRocm93IHQucGF5bG9hZDtpZih0LmVycm9yKXRocm93IHQuZXJyb3I7cmV0dXJuIHQucGF5bG9hZH12YXIgRj1mdW5jdGlvbih0LGUpe3JldHVybihyPXQpJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5tYXRjaD90Lm1hdGNoKGUpOnQoZSk7dmFyIHJ9O2Z1bmN0aW9uIHEoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiBGKHQsZSl9KSl9fWZ1bmN0aW9uICQodCxlKXtpZighdHx8IXQubWV0YSlyZXR1cm4hMTt2YXIgcj0ic3RyaW5nIj09dHlwZW9mIHQubWV0YS5yZXF1ZXN0SWQsbj1lLmluZGV4T2YodC5tZXRhLnJlcXVlc3RTdGF0dXMpPi0xO3JldHVybiByJiZufWZ1bmN0aW9uIFcodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRbMF0mJiJwZW5kaW5nImluIHRbMF0mJiJmdWxmaWxsZWQiaW4gdFswXSYmInJlamVjdGVkImluIHRbMF19ZnVuY3Rpb24gSygpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXQubGVuZ3RoP2Z1bmN0aW9uKHQpe3JldHVybiAkKHQsWyJwZW5kaW5nIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wZW5kaW5nfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06SygpKHRbMF0pfWZ1bmN0aW9uIEwoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsicmVqZWN0ZWQiXSl9OlcodCk/ZnVuY3Rpb24oZSl7dmFyIHI9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlamVjdGVkfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06TCgpKHRbMF0pfWZ1bmN0aW9uIFUoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsiZnVsZmlsbGVkIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5mdWxmaWxsZWR9KSk7cmV0dXJuIHEuYXBwbHkodm9pZCAwLHIpKGUpfTpVKCkodFswXSl9KDAsbi5lbmFibGVFUzUpKCl9LDMyNzIzOSh0LGUscil7ZnVuY3Rpb24gbih0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KGU+MT9lLTE6MCksbj0xO248ZTtuKyspcltuLTFdPWFyZ3VtZW50c1tuXTt0aHJvdyBFcnJvcigiW0ltbWVyXSBtaW5pZmllZCBlcnJvciBucjogIit0KyhyLmxlbmd0aD8iICIrci5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiInIit0KyInIn0pKS5qb2luKCIsIik6IiIpKyIuIEZpbmQgdGhlIGZ1bGwgZXJyb3IgYXQ6IGh0dHBzOi8vYml0Lmx5LzNjWEVLV2YiKX1mdW5jdGlvbiBvKHQpe3JldHVybiEhdCYmISF0W0ddfWZ1bmN0aW9uIGkodCl7cmV0dXJuISF0JiYoZnVuY3Rpb24odCl7aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdClyZXR1cm4hMTt2YXIgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7aWYobnVsbD09PWUpcmV0dXJuITA7dmFyIHI9T2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4gcj09PU9iamVjdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHImJkZ1bmN0aW9uLnRvU3RyaW5nLmNhbGwocik9PT1KfSh0KXx8QXJyYXkuaXNBcnJheSh0KXx8ISF0W0JdfHwhIXQuY29uc3RydWN0b3JbQl18fGQodCl8fHYodCkpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIG8odCl8fG4oMjMsdCksdFtHXS50fWZ1bmN0aW9uIGYodCxlLHIpe3ZvaWQgMD09PXImJihyPSExKSwwPT09YSh0KT8ocj9PYmplY3Qua2V5czpIKSh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtyJiYic3ltYm9sIj09dHlwZW9mIG58fGUobix0W25dLHQpfSkpOnQuZm9yRWFjaCgoZnVuY3Rpb24ocixuKXtyZXR1cm4gZShuLHIsdCl9KSl9ZnVuY3Rpb24gYSh0KXt2YXIgZT10W0ddCjtyZXR1cm4gZT9lLmk+Mz9lLmktNDplLmk6QXJyYXkuaXNBcnJheSh0KT8xOmQodCk/Mjp2KHQpPzM6MH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIDI9PT1hKHQpP3QuaGFzKGUpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gMj09PWEodCk/dC5nZXQoZSk6dFtlXX1mdW5jdGlvbiBzKHQsZSxyKXt2YXIgbj1hKHQpOzI9PT1uP3Quc2V0KGUscik6Mz09PW4/KHQuZGVsZXRlKGUpLHQuYWRkKHIpKTp0W2VdPXJ9ZnVuY3Rpb24gcCh0LGUpe3JldHVybiB0PT09ZT8wIT09dHx8MS90PT0xL2U6dCE9dCYmZSE9ZX1mdW5jdGlvbiBkKHQpe3JldHVybiBVJiZ0IGluc3RhbmNlb2YgTWFwfWZ1bmN0aW9uIHYodCl7cmV0dXJuIHomJnQgaW5zdGFuY2VvZiBTZXR9ZnVuY3Rpb24geSh0KXtyZXR1cm4gdC5vfHx0LnR9ZnVuY3Rpb24gaCh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTt2YXIgZT1RKHQpO2RlbGV0ZSBlW0ddO2Zvcih2YXIgcj1IKGUpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIG89cltuXSxpPWVbb107ITE9PT1pLndyaXRhYmxlJiYoaS53cml0YWJsZT0hMCxpLmNvbmZpZ3VyYWJsZT0hMCksKGkuZ2V0fHxpLnNldCkmJihlW29dPXtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTppLmVudW1lcmFibGUsdmFsdWU6dFtvXX0pfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxlKX1mdW5jdGlvbiBiKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSxtKHQpfHxvKHQpfHwhaSh0KXx8KGEodCk+MSYmKHQuc2V0PXQuYWRkPXQuY2xlYXI9dC5kZWxldGU9ZyksT2JqZWN0LmZyZWV6ZSh0KSxlJiZmKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGIoZSwhMCl9KSwhMCkpLHR9ZnVuY3Rpb24gZygpe24oMil9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gbnVsbD09dHx8Im9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl9ZnVuY3Rpb24gdyh0KXt2YXIgZT1ZW3RdO3JldHVybiBlfHxuKDE4LHQpLGV9ZnVuY3Rpb24gTyh0LGUpe1lbdF18fChZW3RdPWUpfWZ1bmN0aW9uIGooKXtyZXR1cm4gS31mdW5jdGlvbiBQKHQsZSl7ZSYmKHcoIlBhdGNoZXMiKSx0LnU9W10sdC5zPVtdLHQudj1lKX1mdW5jdGlvbiBFKHQpe1ModCksdC5wLmZvckVhY2goXyksdC5wPW51bGx9ZnVuY3Rpb24gUyh0KXt0PT09SyYmKEs9dC5sKX1mdW5jdGlvbiBBKHQpe3JldHVybiBLPXtwOltdLGw6SyxoOnQsbTohMCxfOjB9fWZ1bmN0aW9uIF8odCl7dmFyIGU9dFtHXTswPT09ZS5pfHwxPT09ZS5pP2UuaigpOmUuTz0hMH1mdW5jdGlvbiBEKHQsZSl7ZS5fPWUucC5sZW5ndGg7dmFyIHI9ZS5wWzBdLG89dm9pZCAwIT09dCYmdCE9PXI7cmV0dXJuIGUuaC5nfHx3KCJFUzUiKS5TKGUsdCxvKSxvPyhyW0ddLlAmJihFKGUpLG4oNCkpLGkodCkmJih0PXgoZSx0KSxlLmx8fEkoZSx0KSksZS51JiZ3KCJQYXRjaGVzIikuTShyW0ddLHQsZS51LGUucykpOnQ9eChlLHIsW10pLEUoZSksZS51JiZlLnYoZS51LGUucyksdCE9PVY/dDp2b2lkIDB9ZnVuY3Rpb24geCh0LGUscil7aWYobShlKSlyZXR1cm4gZTt2YXIgbj1lW0ddO2lmKCFuKXJldHVybiBmKGUsKGZ1bmN0aW9uKG8saSl7cmV0dXJuIGsodCxuLGUsbyxpLHIpfSksITApLGU7aWYobi5BIT09dClyZXR1cm4gZTtpZighbi5QKXJldHVybiBJKHQsbi50LCEwKSxuLnQ7aWYoIW4uSSl7bi5JPSEwLG4uQS5fLS07dmFyIG89ND09PW4uaXx8NT09PW4uaT9uLm89aChuLmspOm4ubztmKDM9PT1uLmk/bmV3IFNldChvKTpvLChmdW5jdGlvbihlLGkpe3JldHVybiBrKHQsbixvLGUsaSxyKX0pKSxJKHQsbywhMSksciYmdC51JiZ3KCJQYXRjaGVzIikuUihuLHIsdC51LHQucyl9cmV0dXJuIG4ub31mdW5jdGlvbiBrKHQsZSxyLG4sdSxmKXtpZihvKHUpKXt2YXIgYT14KHQsdSxmJiZlJiYzIT09ZS5pJiYhYyhlLkQsbik/Zi5jb25jYXQobik6dm9pZCAwKTtpZihzKHIsbixhKSwhbyhhKSlyZXR1cm47dC5tPSExfWlmKGkodSkmJiFtKHUpKXtpZighdC5oLkYmJnQuXzwxKXJldHVybjt4KHQsdSksZSYmZS5BLmx8fEkodCx1KX19ZnVuY3Rpb24gSSh0LGUscil7dm9pZCAwPT09ciYmKHI9ITEpLHQuaC5GJiZ0Lm0mJmIoZSxyKX1mdW5jdGlvbiBSKHQsZSl7dmFyIHI9dFtHXTtyZXR1cm4ocj95KHIpOnQpW2VdfWZ1bmN0aW9uIE4odCxlKXtpZihlIGluIHQpZm9yKHZhciByPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyOyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO2lmKG4pcmV0dXJuIG47cj1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocil9fWZ1bmN0aW9uIEModCl7dC5QfHwodC5QPSEwLHQubCYmQyh0LmwpKX1mdW5jdGlvbiBUKHQpe3Qub3x8KHQubz1oKHQudCkpfWZ1bmN0aW9uIE0odCxlLHIpe3ZhciBuPWQoZSk/dygiTWFwU2V0IikuTihlLHIpOnYoZSk/dygiTWFwU2V0IikuVChlLHIpOnQuZz9mdW5jdGlvbih0LGUpe3ZhciByPUFycmF5LmlzQXJyYXkodCksbj17aTpyPzE6MCxBOmU/ZS5BOmooKSxQOiExLEk6ITEsRDp7fSxsOmUsdCxrOm51bGwsbzpudWxsLGo6bnVsbCxDOiExfSxvPW4saT1aO3ImJihvPVtuXSxpPXR0KTt2YXIgdT1Qcm94eS5yZXZvY2FibGUobyxpKSxmPXUucmV2b2tlLGE9dS5wcm94eTtyZXR1cm4gbi5rPWEsbi5qPWYsYX0oZSxyKTp3KCJFUzUiKS5KKGUscik7cmV0dXJuKHI/ci5BOmooKSkucC5wdXNoKG4pLG59ZnVuY3Rpb24gRih0KXtyZXR1cm4gbyh0KXx8bigyMix0KSxmdW5jdGlvbiB0KGUpe2lmKCFpKGUpKXJldHVybiBlO3ZhciByLG49ZVtHXSxvPWEoZSk7aWYobil7aWYoIW4uUCYmKG4uaTw0fHwhdygiRVM1IikuSyhuKSkpcmV0dXJuIG4udDtuLkk9ITAscj1xKGUsbyksbi5JPSExfWVsc2Ugcj1xKGUsbyk7cmV0dXJuIGYociwoZnVuY3Rpb24oZSxvKXtuJiZsKG4udCxlKT09PW98fHMocixlLHQobykpfSkpLDM9PT1vP25ldyBTZXQocik6cn0odCl9ZnVuY3Rpb24gcSh0LGUpe3N3aXRjaChlKXtjYXNlIDI6CnJldHVybiBuZXcgTWFwKHQpO2Nhc2UgMzpyZXR1cm4gQXJyYXkuZnJvbSh0KX1yZXR1cm4gaCh0KX1mdW5jdGlvbiAkKCl7ZnVuY3Rpb24gdCh0LGUpe3ZhciByPWlbdF07cmV0dXJuIHI/ci5lbnVtZXJhYmxlPWU6aVt0XT1yPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTplLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXNbR107cmV0dXJuIFouZ2V0KGUsdCl9LHNldDpmdW5jdGlvbihlKXt2YXIgcj10aGlzW0ddO1ouc2V0KHIsdCxlKX19LHJ9ZnVuY3Rpb24gZSh0KXtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIG89dFtlXVtHXTtpZighby5QKXN3aXRjaChvLmkpe2Nhc2UgNTpuKG8pJiZDKG8pO2JyZWFrO2Nhc2UgNDpyKG8pJiZDKG8pfX19ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dC50LHI9dC5rLG49SChyKSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0pe3ZhciBpPW5bb107aWYoaSE9PUcpe3ZhciB1PWVbaV07aWYodm9pZCAwPT09dSYmIWMoZSxpKSlyZXR1cm4hMDt2YXIgZj1yW2ldLGE9ZiYmZltHXTtpZihhP2EudCE9PXU6IXAoZix1KSlyZXR1cm4hMH19dmFyIGw9ISFlW0ddO3JldHVybiBuLmxlbmd0aCE9PUgoZSkubGVuZ3RoKyhsPzA6MSl9ZnVuY3Rpb24gbih0KXt2YXIgZT10Lms7aWYoZS5sZW5ndGghPT10LnQubGVuZ3RoKXJldHVybiEwO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxlLmxlbmd0aC0xKTtyZXR1cm4hKCFyfHxyLmdldCl9dmFyIGk9e307TygiRVM1Iix7SjpmdW5jdGlvbihlLHIpe3ZhciBuPUFycmF5LmlzQXJyYXkoZSksbz1mdW5jdGlvbihlLHIpe2lmKGUpe2Zvcih2YXIgbj1BcnJheShyLmxlbmd0aCksbz0wO288ci5sZW5ndGg7bysrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCIiK28sdChvLCEwKSk7cmV0dXJuIG59dmFyIGk9UShyKTtkZWxldGUgaVtHXTtmb3IodmFyIHU9SChpKSxmPTA7Zjx1Lmxlbmd0aDtmKyspe3ZhciBhPXVbZl07aVthXT10KGEsZXx8ISFpW2FdLmVudW1lcmFibGUpfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihyKSxpKX0obixlKSxpPXtpOm4/NTo0LEE6cj9yLkE6aigpLFA6ITEsSTohMSxEOnt9LGw6cix0OmUsazpvLG86bnVsbCxPOiExLEM6ITF9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobyxHLHt2YWx1ZTppLHdyaXRhYmxlOiEwfSksb30sUzpmdW5jdGlvbih0LHIsaSl7aT9vKHIpJiZyW0ddLkE9PT10JiZlKHQucCk6KHQudSYmZnVuY3Rpb24gdChlKXtpZihlJiYib2JqZWN0Ij09dHlwZW9mIGUpe3ZhciByPWVbR107aWYocil7dmFyIG89ci50LGk9ci5rLHU9ci5ELGE9ci5pO2lmKDQ9PT1hKWYoaSwoZnVuY3Rpb24oZSl7ZSE9PUcmJih2b2lkIDAhPT1vW2VdfHxjKG8sZSk/dVtlXXx8dChpW2VdKToodVtlXT0hMCxDKHIpKSl9KSksZihvLChmdW5jdGlvbih0KXt2b2lkIDAhPT1pW3RdfHxjKGksdCl8fCh1W3RdPSExLEMocikpfSkpO2Vsc2UgaWYoNT09PWEpe2lmKG4ocikmJihDKHIpLHUubGVuZ3RoPSEwKSxpLmxlbmd0aDxvLmxlbmd0aClmb3IodmFyIGw9aS5sZW5ndGg7bDxvLmxlbmd0aDtsKyspdVtsXT0hMTtlbHNlIGZvcih2YXIgcz1vLmxlbmd0aDtzPGkubGVuZ3RoO3MrKyl1W3NdPSEwO2Zvcih2YXIgcD1NYXRoLm1pbihpLmxlbmd0aCxvLmxlbmd0aCksZD0wO2Q8cDtkKyspdm9pZCAwPT09dVtkXSYmdChpW2RdKX19fX0odC5wWzBdKSxlKHQucCkpfSxLOmZ1bmN0aW9uKHQpe3JldHVybiA0PT09dC5pP3IodCk6bih0KX19KX1yLmQoZSx7Y3VycmVudDooKT0+RixkZWZhdWx0OigpPT5vdCxlbmFibGVFUzU6KCk9PiQsaXNEcmFmdDooKT0+byxpc0RyYWZ0YWJsZTooKT0+aSxvcmlnaW5hbDooKT0+dX0pO3ZhciBXLEssTD0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2woIngiKSxVPSJ1bmRlZmluZWQiIT10eXBlb2YgTWFwLHo9InVuZGVmaW5lZCIhPXR5cGVvZiBTZXQsWD0idW5kZWZpbmVkIiE9dHlwZW9mIFByb3h5JiZ2b2lkIDAhPT1Qcm94eS5yZXZvY2FibGUmJiJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCxWPUw/U3ltYm9sLmZvcigiaW1tZXItbm90aGluZyIpOigoVz17fSlbImltbWVyLW5vdGhpbmciXT0hMCxXKSxCPUw/U3ltYm9sLmZvcigiaW1tZXItZHJhZnRhYmxlIik6Il9fJGltbWVyX2RyYWZ0YWJsZSIsRz1MP1N5bWJvbC5mb3IoImltbWVyLXN0YXRlIik6Il9fJGltbWVyX3N0YXRlIixKPSgidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLCIiK09iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpLEg9InVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0Lm93bktleXM/UmVmbGVjdC5vd25LZXlzOnZvaWQgMCE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKX06T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMsUT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24odCl7dmFyIGU9e307cmV0dXJuIEgodCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7ZVtyXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscil9KSksZX0sWT17fSxaPXtnZXQ6ZnVuY3Rpb24odCxlKXtpZihlPT09RylyZXR1cm4gdDt2YXIgcj15KHQpO2lmKCFjKHIsZSkpcmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvPU4oZSxyKTtyZXR1cm4gbz8idmFsdWUiaW4gbz9vLnZhbHVlOm51bGw9PT0obj1vLmdldCl8fHZvaWQgMD09PW4/dm9pZCAwOm4uY2FsbCh0LmspOnZvaWQgMH0odCxyLGUpO3ZhciBuPXJbZV07cmV0dXJuIHQuSXx8IWkobik/bjpuPT09Uih0LnQsZSk/KFQodCksdC5vW2VdPU0odC5BLmgsbix0KSk6bn0saGFzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW4geSh0KX0sb3duS2V5czpmdW5jdGlvbih0KXtyZXR1cm4gUmVmbGVjdC5vd25LZXlzKHkodCkpfSxzZXQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU4oeSh0KSxlKQo7aWYobnVsbD09bj92b2lkIDA6bi5zZXQpcmV0dXJuIG4uc2V0LmNhbGwodC5rLHIpLCEwO2lmKCF0LlApe3ZhciBvPVIoeSh0KSxlKSxpPW51bGw9PW8/dm9pZCAwOm9bR107aWYoaSYmaS50PT09cilyZXR1cm4gdC5vW2VdPXIsdC5EW2VdPSExLCEwO2lmKHAocixvKSYmKHZvaWQgMCE9PXJ8fGModC50LGUpKSlyZXR1cm4hMDtUKHQpLEModCl9cmV0dXJuIHQub1tlXT09PXImJiJudW1iZXIiIT10eXBlb2YgciYmKHZvaWQgMCE9PXJ8fGUgaW4gdC5vKXx8KHQub1tlXT1yLHQuRFtlXT0hMCwhMCl9LGRlbGV0ZVByb3BlcnR5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMCE9PVIodC50LGUpfHxlIGluIHQudD8odC5EW2VdPSExLFQodCksQyh0KSk6ZGVsZXRlIHQuRFtlXSx0Lm8mJmRlbGV0ZSB0Lm9bZV0sITB9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbih0LGUpe3ZhciByPXkodCksbj1SZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO3JldHVybiBuP3t3cml0YWJsZTohMCxjb25maWd1cmFibGU6MSE9PXQuaXx8Imxlbmd0aCIhPT1lLGVudW1lcmFibGU6bi5lbnVtZXJhYmxlLHZhbHVlOnJbZV19Om59LGRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7bigxMSl9LGdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC50KX0sc2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24oKXtuKDEyKX19LHR0PXt9O2YoWiwoZnVuY3Rpb24odCxlKXt0dFt0XT1mdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHNbMF09YXJndW1lbnRzWzBdWzBdLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pKSx0dC5kZWxldGVQcm9wZXJ0eT1mdW5jdGlvbih0LGUpe3JldHVybiBaLmRlbGV0ZVByb3BlcnR5LmNhbGwodGhpcyx0WzBdLGUpfSx0dC5zZXQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBaLnNldC5jYWxsKHRoaXMsdFswXSxlLHIsdFswXSl9O3ZhciBldD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dmFyIGU9dGhpczt0aGlzLmc9WCx0aGlzLkY9ITAsdGhpcy5wcm9kdWNlPWZ1bmN0aW9uKHQscixvKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpe3ZhciB1PXI7cj10O3ZhciBmPWU7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dm9pZCAwPT09dCYmKHQ9dSk7Zm9yKHZhciBuPWFyZ3VtZW50cy5sZW5ndGgsbz1BcnJheShuPjE/bi0xOjApLGk9MTtpPG47aSsrKW9baS0xXT1hcmd1bWVudHNbaV07cmV0dXJuIGYucHJvZHVjZSh0LChmdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4obj1yKS5jYWxsLmFwcGx5KG4sW2UsdF0uY29uY2F0KG8pKX0pKX19dmFyIGE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHImJm4oNiksdm9pZCAwIT09byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJm4oNyksaSh0KSl7dmFyIGM9QShlKSxsPU0oZSx0LHZvaWQgMCkscz0hMDt0cnl7YT1yKGwpLHM9ITF9ZmluYWxseXtzP0UoYyk6UyhjKX1yZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2UmJmEgaW5zdGFuY2VvZiBQcm9taXNlP2EudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIFAoYyxvKSxEKHQsYyl9KSwoZnVuY3Rpb24odCl7dGhyb3cgRShjKSx0fSkpOihQKGMsbyksRChhLGMpKX1pZighdHx8Im9iamVjdCIhPXR5cGVvZiB0KXtpZigoYT1yKHQpKT09PVYpcmV0dXJuO3JldHVybiB2b2lkIDA9PT1hJiYoYT10KSxlLkYmJmIoYSwhMCksYX1uKDIxLHQpfSx0aGlzLnByb2R1Y2VXaXRoUGF0Y2hlcz1mdW5jdGlvbih0LHIpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKHIpe2Zvcih2YXIgbj1hcmd1bWVudHMubGVuZ3RoLG89QXJyYXkobj4xP24tMTowKSxpPTE7aTxuO2krKylvW2ktMV09YXJndW1lbnRzW2ldO3JldHVybiBlLnByb2R1Y2VXaXRoUGF0Y2hlcyhyLChmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh2b2lkIDAsW2VdLmNvbmNhdChvKSl9KSl9OltlLnByb2R1Y2UodCxyLChmdW5jdGlvbih0LGUpe249dCxvPWV9KSksbixvXTt2YXIgbixvfSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LnVzZVByb3hpZXMpJiZ0aGlzLnNldFVzZVByb3hpZXModC51c2VQcm94aWVzKSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LmF1dG9GcmVlemUpJiZ0aGlzLnNldEF1dG9GcmVlemUodC5hdXRvRnJlZXplKX12YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5jcmVhdGVEcmFmdD1mdW5jdGlvbih0KXtpKHQpfHxuKDgpLG8odCkmJih0PUYodCkpO3ZhciBlPUEodGhpcykscj1NKHRoaXMsdCx2b2lkIDApO3JldHVybiByW0ddLkM9ITAsUyhlKSxyfSxlLmZpbmlzaERyYWZ0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQmJnRbR10pLkE7cmV0dXJuIFAocixlKSxEKHZvaWQgMCxyKX0sZS5zZXRBdXRvRnJlZXplPWZ1bmN0aW9uKHQpe3RoaXMuRj10fSxlLnNldFVzZVByb3hpZXM9ZnVuY3Rpb24odCl7dCYmIVgmJm4oMjApLHRoaXMuZz10fSxlLmFwcGx5UGF0Y2hlcz1mdW5jdGlvbih0LGUpe3ZhciByO2ZvcihyPWUubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWVbcl07aWYoMD09PW4ucGF0aC5sZW5ndGgmJiJyZXBsYWNlIj09PW4ub3Ape3Q9bi52YWx1ZTticmVha319cj4tMSYmKGU9ZS5zbGljZShyKzEpKTt2YXIgaT13KCJQYXRjaGVzIikuJDtyZXR1cm4gbyh0KT9pKHQsZSk6dGhpcy5wcm9kdWNlKHQsKGZ1bmN0aW9uKHQpe3JldHVybiBpKHQsZSl9KSl9LHR9KCkscnQ9bmV3IGV0LG50PXJ0LnByb2R1Y2U7cnQucHJvZHVjZVdpdGhQYXRjaGVzLmJpbmQocnQpLHJ0LnNldEF1dG9GcmVlemUuYmluZChydCkscnQuc2V0VXNlUHJveGllcy5iaW5kKHJ0KSxydC5hcHBseVBhdGNoZXMuYmluZChydCkscnQuY3JlYXRlRHJhZnQuYmluZChydCkscnQuZmluaXNoRHJhZnQuYmluZChydCk7Y29uc3Qgb3Q9bnR9LDk1Mzc0OSh0LGUscil7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9ZS5kaXNwYXRjaCxuPWUuZ2V0U3RhdGU7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbz9vKHIsbix0KTplKG8pfX0KfX1yLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBvPW4oKTtvLndpdGhFeHRyYUFyZ3VtZW50PW47Y29uc3QgaT0vXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaik/bnVsbDpvfSw3ODc3MjQodCxlLHIpe2lmKHIuZChlLHthcHBseU1pZGRsZXdhcmU6KCk9PnYsYmluZEFjdGlvbkNyZWF0b3JzOigpPT5wLGNvbWJpbmVSZWR1Y2VyczooKT0+bCxjb21wb3NlOigpPT5kLGNyZWF0ZVN0b3JlOigpPT5jfSksIS9eKDE5NTA4fDk0ODE5KSQvLnRlc3Qoci5qKSl2YXIgbj1yKDIyNDEwNyk7ZnVuY3Rpb24gbyh0KXtyZXR1cm4iTWluaWZpZWQgUmVkdXggZXJyb3IgIyIrdCsiOyB2aXNpdCBodHRwczovL3JlZHV4LmpzLm9yZy9FcnJvcnM/Y29kZT0iK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzLiAifXZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5vYnNlcnZhYmxlfHwiQEBvYnNlcnZhYmxlIix1PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpfSxmPXtJTklUOiJAQHJlZHV4L0lOSVQiK3UoKSxSRVBMQUNFOiJAQHJlZHV4L1JFUExBQ0UiK3UoKSxQUk9CRV9VTktOT1dOX0FDVElPTjpmdW5jdGlvbigpe3JldHVybiJAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OIit1KCl9fTtmdW5jdGlvbiBhKHQpe2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9ZnVuY3Rpb24gYyh0LGUscil7dmFyIG47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiByfHwiZnVuY3Rpb24iPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1szXSl0aHJvdyBuZXcgRXJyb3IobygwKSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJnZvaWQgMD09PXImJihyPWUsZT12b2lkIDApLHZvaWQgMCE9PXIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IG5ldyBFcnJvcihvKDEpKTtyZXR1cm4gcihjKSh0LGUpfWlmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDIpKTt2YXIgdT10LGw9ZSxzPVtdLHA9cyxkPSExO2Z1bmN0aW9uIHYoKXtwPT09cyYmKHA9cy5zbGljZSgpKX1mdW5jdGlvbiB5KCl7aWYoZCl0aHJvdyBuZXcgRXJyb3IobygzKSk7cmV0dXJuIGx9ZnVuY3Rpb24gaCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3Iobyg0KSk7aWYoZCl0aHJvdyBuZXcgRXJyb3Iobyg1KSk7dmFyIGU9ITA7cmV0dXJuIHYoKSxwLnB1c2godCksZnVuY3Rpb24oKXtpZihlKXtpZihkKXRocm93IG5ldyBFcnJvcihvKDYpKTtlPSExLHYoKTt2YXIgcj1wLmluZGV4T2YodCk7cC5zcGxpY2UociwxKSxzPW51bGx9fX1mdW5jdGlvbiBiKHQpe2lmKCFhKHQpKXRocm93IG5ldyBFcnJvcihvKDcpKTtpZih2b2lkIDA9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKG8oOCkpO2lmKGQpdGhyb3cgbmV3IEVycm9yKG8oOSkpO3RyeXtkPSEwLGw9dShsLHQpfWZpbmFsbHl7ZD0hMX1mb3IodmFyIGU9cz1wLHI9MDtyPGUubGVuZ3RoO3IrKyl7KDAsZVtyXSkoKX1yZXR1cm4gdH1yZXR1cm4gYih7dHlwZTpmLklOSVR9KSwobj17ZGlzcGF0Y2g6YixzdWJzY3JpYmU6aCxnZXRTdGF0ZTp5LHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDEwKSk7dT10LGIoe3R5cGU6Zi5SRVBMQUNFfSl9fSlbaV09ZnVuY3Rpb24oKXt2YXIgdCxlPWg7cmV0dXJuKHQ9e3N1YnNjcmliZTpmdW5jdGlvbih0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihvKDExKSk7ZnVuY3Rpb24gcigpe3QubmV4dCYmdC5uZXh0KHkoKSl9cmV0dXJuIHIoKSx7dW5zdWJzY3JpYmU6ZShyKX19fSlbaV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH0sbn1mdW5jdGlvbiBsKHQpe2Zvcih2YXIgZT1PYmplY3Qua2V5cyh0KSxyPXt9LG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTswLCJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldJiYocltpXT10W2ldKX12YXIgdSxhPU9iamVjdC5rZXlzKHIpO3RyeXshZnVuY3Rpb24odCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9dFtlXTtpZih2b2lkIDA9PT1yKHZvaWQgMCx7dHlwZTpmLklOSVR9KSl0aHJvdyBuZXcgRXJyb3IobygxMikpO2lmKHZvaWQgMD09PXIodm9pZCAwLHt0eXBlOmYuUFJPQkVfVU5LTk9XTl9BQ1RJT04oKX0pKXRocm93IG5ldyBFcnJvcihvKDEzKSl9KSl9KHIpfWNhdGNoKHQpe3U9dH1yZXR1cm4gZnVuY3Rpb24odCxlKXtpZih2b2lkIDA9PT10JiYodD17fSksdSl0aHJvdyB1O2Zvcih2YXIgbj0hMSxpPXt9LGY9MDtmPGEubGVuZ3RoO2YrKyl7dmFyIGM9YVtmXSxsPXJbY10scz10W2NdLHA9bChzLGUpO2lmKHZvaWQgMD09PXApe2UmJmUudHlwZTt0aHJvdyBuZXcgRXJyb3IobygxNCkpfWlbY109cCxuPW58fHAhPT1zfXJldHVybihuPW58fGEubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKT9pOnR9fWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZSh0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fWZ1bmN0aW9uIHAodCxlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gcyh0LGUpO2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKG8oMTYpKTt2YXIgcj17fTtmb3IodmFyIG4gaW4gdCl7dmFyIGk9dFtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaSYmKHJbbl09cyhpLGUpKX1yZXR1cm4gcn1mdW5jdGlvbiBkKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl0KO3JldHVybiAwPT09ZS5sZW5ndGg/ZnVuY3Rpb24odCl7cmV0dXJuIHR9OjE9PT1lLmxlbmd0aD9lWzBdOmUucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KGUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX0pKX1mdW5jdGlvbiB2KCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPXQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyksaT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihvKDE1KSl9LHU9e2dldFN0YXRlOnIuZ2V0U3RhdGUsZGlzcGF0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gaS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19LGY9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0KHUpfSkpO3JldHVybiBpPWQuYXBwbHkodm9pZCAwLGYpKHIuZGlzcGF0Y2gpLCgwLG4uZGVmYXVsdCkoKDAsbi5kZWZhdWx0KSh7fSxyKSx7fSx7ZGlzcGF0Y2g6aX0pfX19fSwxOTM3MSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoOTA4MTU0KTtmdW5jdGlvbiBvKHQsZSxyKXtyZXR1cm4oZT0oMCxuLmRlZmF1bHQpKGUpKWluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fX0sMjI0MTA3KHQsZSxyKXtpZihyLmQoZSx7ZGVmYXVsdDooKT0+aX0pLCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIG49cigxOTM3MSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7ZSYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9vKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7KDAsbi5kZWZhdWx0KSh0LGUscltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6byhPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH19LDg5MjYzOSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtmdW5jdGlvbiBvKHQsZSl7aWYoIm9iamVjdCIhPSgwLG4uZGVmYXVsdCkodCl8fCF0KXJldHVybiB0O3ZhciByPXRbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1yKXt2YXIgbz1yLmNhbGwodCxlfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT0oMCxuLmRlZmF1bHQpKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09ZT9TdHJpbmc6TnVtYmVyKSh0KX19LDkwODE1NCh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pml9KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtpZighL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBvPXIoODkyNjM5KTtmdW5jdGlvbiBpKHQpe3ZhciBlPSgwLG8uZGVmYXVsdCkodCwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PSgwLG4uZGVmYXVsdCkoZSk/ZTplKyIifX0sMTI5NDc2KHQsZSxyKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxuKHQpfXIuZChlLHtkZWZhdWx0OigpPT5ufSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.836Z","timestamp":1785124877836,"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://berthenergy-inc.biz/\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 04:01:17 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-27T06:15:18.694025Z","times_seen":79767,"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":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:27.605Z","timestamp":1785124887605,"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://berthenergy-inc.biz/\r\nOrigin: https://berthenergy-inc.biz\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://berthenergy-inc.biz\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 04:01:27 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":527,"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-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":""}},"time_used":31,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-animation-mobile.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.241Z","timestamp":1785124875241,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-animation-mobile.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 245314\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-3be42\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":245314,"size_decoded":245542,"mime_type":"image/png","magic":"PNG image data, 686 x 666, 8-bit/color RGBA, non-interlaced","md5":"bfa77f6c686655cb7802bd34373f82c6","sha1":"d61cd4c17706ef767e0367e679ddad643c3d5422","sha256":"340df0c912fc90293efe546f8aec10a68f95f0925b07e92907ea91a3db4bd32b","sha512":"08ed14a1bd95f785011cea7e06059f794e6d0cfb322a87355fb7267e61c5452d8b6df328879da5479fc9ea70ea2c777ddbab2b4a2ecea59b4549346431883161","ssdeep":"6144:ZZ5Bl0hke5qofaXHsPeZvuv6UfuuR4MpW+ecnV:35B+hxq6EvyfuuR4kWbcV","tlshash":"2c34220bbb68e81c140acda5cb738c5dd9ae4ed1bc9dec4348b34181aff65512264ede","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.170297Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAq4AAAKaCAYAAAD/FNu9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyNUJBQzJFQzQ5QTYxMUVBOEQxOEY0NUFFNThEOTVGMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyNUJBQzJFRDQ5QTYxMUVBOEQxOEY0NUFFNThEOTVGMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI1QkFDMkVBNDlBNjExRUE4RDE4RjQ1QUU1OEQ5NUYwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI1QkFDMkVCNDlBNjExRUE4RDE4RjQ1QUU1OEQ5NUYwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/XAkBQADurdJREFUeNrsnQecJEd1/19Vh4k7u7PpNlzOSXc6SSehDEhCBiGBMSBhkuGPQDZGJP9N+gMGk02yMTbGJBtjkLGEjEUUQQFJp5NO0ulOupzD3u5t3skd6l9V3TPTMzt727vbe7e7936f6+udnpqang5V33r96j0CKBRqWvSCi1bU+yhmbXlqX8pHXSpfxXzUV+D1ZX3UF+KrsI/6cry+vI/6RF2h8crxuobwykChUCjUZKXiIUChpkeUUOqjGPNZl1z5KRpwfRP5rRTPOgqFQqEQXFGo2QiulCmBgStlhK/81Ed91kcDrs/v/qFQKBQKheCKQs00KTQ4Cymvi/gsS2Z4fSgUCoVCIbiiUDNNhAQHroT4Lkt81kcCrg9dBVAoFAqF4IpCzdqbi1I/j85tn3UF6iowgfpIwPWhUCgUCoXgikLNNNEAXQXcaV6BWUhpwK4CFF0FUCgUCnU2+lY8BCjU9Eg8Pvex+H60P8Pr81MXvfHq1QSvDBQKhUJNVmhxRaGmSUqAPq6Kfx/XoOvz+1vR4opCoVAoBFcUaraKUjB9FDN91sV8lrV81mf7rM/2WZ/lp777HtjN8MpAoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKNbNF8BCgUNOjt75y7UYfxbLfuff5vT7qivPVMh/1DfD6jvqor4WvOnzUd5LXd9pHfZ181eyjvmd5fZj2FYVCoVCTkoqHAIWaHlFC6/wU81mXwld+6sv6rE/zWZ/ms76Qz/pQKBQKhUJwRaFmHrj6glKf4CqfjvgpS2Z4fSgUCoVCIbiiUDNNhIASFLgSBx+DrI+eo/pQKBQKhUJwRaFmmigN0OJKA7aQUv/fHfD+oVAoFAqF4IpCzThwJYE+ivcLmugqgEKhUCgEVxQKNTEphARmceV1+QXDoOsjAdeHQqFQKBSCKwo100SV4HxIeV0CDP3UR3zWF6iP6wTqQ6FQKBQKwRWFmnHgGmxUAb9lg67P729FiysKhUKhEFxRKARXDIeFQqFQKBQKhUKhUCgUCoVCoSaj44cwDTEKhULNVDHGsI1GnVPhoz0UCoVCoVB+0RUPAQrBFYVCoVAoFAqFQnBFoVAoFAqFQiG4olDTIPSfQqFQKGyjUSgEVxQKhUKhUFMQQx9XFIIrClUxmsfIAigUCjVz22hmW9hGoxBcUSgUCoVCoVCoMwkzZ6FmlvApFAqFQqFQKARX1CzRnHkE9bm/2HStj2KpD/7T09t81NXAVxt91NfN69vto775fLXMR30HeH3HfdS3nK86fdT3EK8PhycoFLbRKBSCKwo1o1p3Aqt9FOvjyzYfdUX5yk99wv1nt4/6kj7r6+fLcR/1tfqs72FAuzoKNYuFty8KwRWFmpOjeQ5zfnzIqc+6/JYlPusj56g+FAo1u7kVLa4oBFcUai6KkuDAkAYMmuewPhRqVmrzhqW1rm/2xLMHWY2yZIx7Z1rL87I2nikUgisKdXY1Z0bzlAZncaXUd1nisz4ScH0UwRU1V3XFpiX8PmD1Nd7K8yVTvVFTmM5X0QDK5/iSrVE+zFfhGvs59OjTh6YZXhlaXFEIrijUnATXAF0FJmDRDLo+tLiiznspZMz+0hijPA2oPJ1g+bPQfiK4ohBcUai5SeCUBOdDSolfKPVbHzlH9aFQs6+jVBhMBCx5eXqOyqNQCK4o1NnmPXeZ9VNXz5HFFX1cUaiApTiuNYrf+zfA8iSI8sEKLa4oBFcU6iw3vGets1OCAtczdFTTXR/xWR/1WR8KNfs6SjJBiyuZoAU1uPLYRqMQXFGos6o5FCKQBOiTSvyXJT7rI+eoPhRq9g1CFSZapoEabxXGKJ8PqHx+jPK5McpjVAEUgisKhaP5yYlS8l0fxUyfdZ3iKz/1ZX3W9xxfHfVRdMRnfY/z1Y7xyr3j89uwY0XNOv3skaMCXIcmUD4/FnQGVF6Aaw7baBQKhTrHOn4AYnxByx0KhULNQDErF+MLttGocya0uKJmmnA0j0KhUDOWXLGNRiG4olAIrigUCjU7yBXbaNQ5FZr7UVPS8UNAxIJHAoVCoc4LcIUgZ9EyhiCMmpjQ4oqaUSLlOK4oFAo1I/TmGztFm5Ss8Vbu3351IlOjvEjHGg2gfJaXz9YoH+GrSI3yg7z8LEv5yvACQyG4omb1YB6hFYVCzSi5KVbX1HjrJF8O1SjfyFdLAih/DGpE/+DlW/hqQY3y22C6ow1gG41CcEWhKoSNIgqFmlngSqURU6v11hjlaUDl6QTLYxuNQnBFobBRRKFQ53VHSSaWwvUslB8rU91sTPk6J1J8oxBcUQiuKBQKNSOk0DH7yzEsokDPUfnpx9agJ1MxZFYUgisKwXVG6K5PXnqtj2KpWz+2dZuPuhr4aqOP+rp5fbt91Defr5b5qO8Ar++4j/qW81Wnj/oe4vVhT4WaXeCqyEvWt0WUl6cBlSdjlB/LQnu22mgScH0oFIIrCsH1XIsS9ic+ip0AZ0LFeHWJyRh+6tvKl90+6hOg+Sof9d3Dl+M+6tvAVy/0Ud/DgI8FUbMNXIk0C3bVeGt4jPKpgMqPjFF+ZIzy1vQfDQxfhUJwRc1mBY8gcyYcFqW+4iRTn3X5LUt81kcCro8CxoVGzVF9+SfdAgifnkD503x1ehrLn+KrU+emzUdwRSG4oma3SMAIO2caRUKCA0NCggXNc1gfCoWaG23+TK0PheCKQs3qRnGmgyv1WZffsgiuKBRqGoUJCFAIrqjZD5oswMrmkI9rgK4C/sEw6PpIwPWhUCg0Lni5FS2uKARXFDaKMwNcaYBgSP1Cqd/6yDmqD4VCzWahjysKwRWFsDmqrjnRMAbsKhD0o33f330u9g+Fmkn61BuaxXUbq/GW8f/+ozdfo7zIahUKoHyBly/UKK/zlV6jfIaXt6eZXMnMrg+F4IpCjQ8iLOD65oTOs6gCaHFFzVlRwkRf+ac13trJl0drlF/NV5cHUH4b1AiXx8tfwFcX1yj/QxgjhFbAoEkCrg+FQnBFzVKxuQM/lJwTH1L0cUWhApZCx0zJSqa5/JkyZ52rBAR4n6MQXFGzWmhxHeuHUPhPH8VGfNbVzVd+6jvhs749Puvb47O+p/iqz0dRG28Z1OwDV2us/lIZozwNqDydYPmz0H6iqwAKwRU1N+A1yLrmREN243sf/2WAdfXzVZD1HearwwHWt4uvduGtgJqLomRM6CRjlCfnqPxZEMM4rigEV9Qs1vRkzkKhUKgZI4WO2V+OYUEFGlB5OsHy099+YlQBFIIrag6IzNC6UCgUaurgSpgYotdyhUmPUT4bUPnsBMtbs6y9xzYfhUKdXR0/ADpftKDq69oLS/mi45FFoVComSc7272UL4EZvZiVi+FRRU1EaHFFBTFaDsRhYNXK5cQwDig9vSpZtXIRjsJRKBRqhmjP3v1OO88YhSCtpJg5C4XgijpH8DopUK1VlxsaBoVCoVAzRMX2ulAw6LHjJzCOKwrBFTW3tXrVcr+Nk5wvS7ApQ6FQqJknZhO+1GzTd+/ZP4mnbwyPKQrBFXX2RKYOqtX1UWzHUCgUaoa2+US4CjBf7b4/kEWLKwrBFXVWR99ATpzUeIMVmE8qNmIoFAo1g9nVb0FfVln0cUUhuKKmW97GqK//MFWUQLMhEYXOjRH4t9/TsmFc7mcs97a/7907Xrmv/XlTPBqiS8crZ9ts4PZ/6D02XrlvvKu5WVNIx3jlDIudvONrvb3jlfvmnc0dCiXN45X738czO+59LI02ddSs0nte3B1qiFh/M+p+Y/DoJ3/e8b/V2z/2spNXUQI3BVD+t7z8b2qUv56Xv656e94kX/jsr9oHptdYwdtnNvlbuAbMIriiEFxR0wOpZ0l0rrRiukq+6IPTD/L/7hivVF1EWaZQ+Dsffcr9fDVuuYhOr+EHetzvVRXyDb66Z7xyYY2+khB45Xjl1i7UXnrvY2cl1iQKFZgUahNC7DiMJq5Qzbua2Bq/H4Ior49RXq9ZnhB6NtpoTVMDa6ZTqRSdnIsBCsEVdd7q+CEg85cAmwykUsqIomACgtqdC9Cgfi8hvuujPusjfuoj/vfPX31oW0HNRnDl161KR/eXNqt9zfOylA8Mz3p562xg6xQtrrXaDj8Gk7FgljExqKAIugiuqPNBq1c7jcO//6CfrF7dOCNwswRKcwBwfIMm8VUX8Q3CAdZHgq6PAD4YRM06icdAfFH83r+8LJnm8rRWeYX4u1+n1q4JVy4W2H3MBAj7qKvYX5VAdjdaZRFcUecFpE4DnBEabNzVoOs7l51dYBZXt+Mctz7mvz4S8P75BWEUatZJobZYRoEiGWNikXAtqAWW011eOSuOVi64BtiHTKVP+/rXv0b43wizCK6o8wlUFy0sBJb9KgDco3MFbygE92hfHBQ/9fkGV5/1wQTqIz7qo3hromYjuCpyQK3WuOHoGK1YzUf5013+rHi4Agv4W4KbjItWWQRX1ByE1KDlWFwDjQIwZ9iGUBKcT6o0kfooy3zX589C6jNUjd/65s7UO9T5pE/+vDPLV2/2W/6vf7LwV3z1q2ks/xO++sm5GpMrqhLYjUym6vnOJtY3IswiuKLOM1CtwSHExlMyFtQHOTmLnIvJXsT/b8XJWSjU+SAxMYsFyX5nN/whWmURXFFzAFIb6q1Jf0fQc22EXVEh5HzycaU+65rpPq7UD7iiqwAKNdtl89s4OHMFmUJ7/5fvfNeU+wq0yiK4omYBqNainak1PICuAtMPrmROTM5CiysKNbvFGA3U4spmXsIZtMoiuKJmEqTWUCRqT34/ZGiU4H4GmUsTzwn8fPw2G7r9VGUz1qcQMn59ANt9jlUO+dy/Q77qI/Ac8VHfcNbGDgCFms3NmjRUBHgbT9HwsWz58mmfXIxWWQRXBNU514gFOZqnfDSvzIlj88ef6v6boOp67ed6DvNVYPW9+jPdW/hqS1D1/cmnu3/JV7/EuxyFmuMSE0ADRbbZmeIbrbIIrnMVUGfFDTk4qNDJ7ms2Q6lpEiWo32rZhA6NUAxTj0KhZow+cuOJ0NLm3KdGMxw8/LYfLPtp9fZ/ed3Bq1XKbpl6efLrt/1g6f3V27/1+oM3EGAvqd4+nFM++967F/dP57EwLZMODg1Pus+ollEoTLr/2L9/H2lpaaEwA8I51jBMMQRaBFcE1fNDcyYBAQqFmhuKhW2FKrAJRpNlTVcaTWUthEy9PGNsR63ylLL2WuVVFfTpPxrBJiCYy31ZFR8gyCK4IqQGpZA++Uc1QbsKEIz0iUKhZphEo6TWiKPMxsxsVXvy40TL2xMsr5yVxFk25UsgVd14w4t5D8KoWP/q/t9NGOiWS//WWcOB1SCLMIvgiqA6WWna1HyMSKAWUpx3jkKhZpYUwsQyqr/ktKGMUb5mZquJlh8rG91Y5VV6NvxFA/6OKUYVSCQSs7nPQKssguvUtOY8fuQ/2R9ctLgGdcB4g0wUgvSKOru6aE0DufWlC5rCIa1R1ZRGXVcaqEKjhNI6NaQlFq9Y/mJFVROUvyaE6Hx7iFASIfwPThBUrER7Ki9cNxuDLOfEqCzwG8QmbtYH/s9kjJnMtm3xLJivs/x/Q6z565R8bVsjfD3El2FmWYOWafZYpn3CsuxjQ2l27JY3/mAEz9pZBFfHwqnUANGabZUbbm7K5WGMJ1DC2lqrPD0LYVlURQmszScea8Xk6mMwxyZEkCoWKcHsLoRZBNfzHVS9morFlfLRtwIYxxU18/S2P2rSO5r1Nk1VOzVd6aCEtFNF6SQKbScqbVYoaaSK2shHSk18e6NgT6IooHBKoYJU+MJhFZasXAHJ5ma3CymiB3O6E1Jj6EdGd0UVHjWsGEWOOD2S4talOBmJWPF7nD/ckJmstC3J/9v+8Hss27QM2yxk+DrLLHPYtqxevj7J10cs0zrIYXdvOs92vvxtP+3Dq2GqA2q5TMCCChO0uNYuT8doD1Un4Ydao57p78uYTTUlONvCVNzNWlpaSDQanev9dzXMnvcge96AK0LqGRplZSaFI5FdBJ4U1Li6/cXxcFNCWapryhJCyFK5KMpSDqTzCSUdHDxbxUw/WnQIFGYtlxAci6gz5CJFC6koK8qpCmhhXS4Lly6FREOyopet6E5KXYft6ddZuX9x/2TFshWfYVXueZUFWOV/pTLOK/7rFI7YSiQMuoBb1lkCa7lismwDXz11/x2mVchnrEJhwDaNLmZaR2zL3GOa1rOZnLnlpjt+2YVX05n16KF49uYLBt9Uvb1gkYFa5Ydy6q+iuv30VMvnDNJbq/xwXrknrLGHqrfv7w2dnv6jEWR/wfggTsA5m1Id55nOe6vsnATXqhOKoDqdd5Db5wfYjlFCGJ4zlNRLN4SUdfOVRbpC1vGrbC2/2NZQSpeABFXocJ6xgjQ/OQDq3PHEfWYq03lxIFU0FdSQLhcJpeJvvlZ0vp2/JyyrlC+KRmV5cQW2Ns+DaCRedX2yMlu600JI1YNTQmi55XHLesuwUq535hpSy39Li2sxK5FrYWXgzQ1fBbvuduJB2jItu2BAOIqHwglFDyf460V80wuKpfkGeOLnby3YhcIQB9tuDrYHLLOw3TTsx7sHjYf/9P2/SeNVCPBf2xptvuzxW/4d/7lYAOrAdJW//QdLhBX9HFnSGQ0YFrG9Dx5mSydoLsLsnABXtKZOTcoUJlcFHlWAoKvA+ar33BBZqqtkI78G1vCXayklHFRhNV9CzrVBqpziiIREKq2qCodODVQBoromraZiEUBKqAO0zCVNI5eHQibP/7RdK6vzeeq6CCj8c0vWroZIOFaGyCoDDwGoyHrpcCyp2QqVUrF7IJZVgG6RR8XvkxYoB0OLUOqCLquwvrrvy8o84Fu0x5Li9xJP+TIYF/8WC1VUnYaVFjUcaeFb1vNPvEKUr+8AtvWnbxqxCvku2yjssw3jmULB+MPzh1MPvutTjxTwij1vFVzKV1mNTTC61vSAbC2YnQsgO+vAFa2p09AKTSUqAAMS7HwAStDNdW7r8qUa3bxYXakpcJGIRcnB8iK+WfydcOcvlaynxDMklQAqAFOAJodL4gKn3O62ylbBBLNgONOx3bLS6irKFX1Xi59TqMdNgJSss0vWrIbGlpbx+1t3v8qurgxqOrhWtFTVllPmMaKySsiEMlyOfr/SSusU9VhqBZYzqAG0pOI3l3+QC7S2DbbNiu4OhGp6QuEL37KKf+LlUV7P5R3Mevzexb0caPcx03yKH+8Hj/Vkf/2Gv/5dBq/u80FBxnFlbuSEydVXn6gjoXAIOWACMDsXrLIzHlzRmjoL7gaKk7NQY+sdV+ntYU25grPSFZwLL+XrjfyCiQEpWyPLwFq+0UtWQxe0imZOMRnfLjjWUkJMF8KExdQFULmdlj9LnejAZWijbrkyrAqQ1UIaLF27GpJNTWPM/a4ysXoe9Ve6qlb2AUzGvCTgtXqWUHWUD2v1V7LR+8Aq94HVgGHGYJR7ASsC76jtrleDezxUOShQS9ZcAbG2bYFtOZ/lZRRFD81TQ+F5fMtVYYA7V7fa9tZ7/5TDbGEvM41HCoZ132e/f+CxX/1mF9rS5hy3Mn67BBpuG/v2cwiytWB2poPsjAJXtKaeGyl05iQgEANwOkfO/Y8/3FY/XhnTYtbrPt+dGq/cJ97QqK5dqMfGK5fK2oW3fKUnO165v39Hs97RpEbGK3eyz8y++196x30s/K93toYb4jSUzVrKnn2ZtdmcdSnny8s4KAlQXeg+2a+4u0uP0FnVHU/K8dBKlkX5IJ6WbZoUqiZWQU0wFY/9hX+ropfdCLRwCKimcEBT5fuUvy8suR2d8yFRX+9ULC2QNlgSOp2/GRQh1XYtkqzKX9UTEQCgChKhHCmAlKGTuP87D/VpKQKBd8KYSNkEHgts8TuKfq3EczMWobXi+I3yk61iYrdOZjmAbYFZOgbSHOZOWlNUKt0bmXtsxDEg7mfl0EEPt4qFv7gqxOADn35vc+6T77zwEDMK24x84RddPan7Xvv+36ewxZ315Bps0P+pxHHlu6FrGrJCwDA7062y5xRc0Zo6Q67Uqfi4Bn7yKJ0rRte2pDLuZA7e7z/PVy8er9xV68KX6Sq5e7xydoPyX3x153jlLlwW+jPOIp8cr1xrg/IxvvrmWO9vXqjQTZ3KhqHe3Be6j9tX9w6YmmWzsjtqkTJJEZ7cfo8WRymkprW18hqr8gclULKoykX4txZ9WjXFmWQl3ATUotWVys9Rvg5xaA0lIhCKiSUsXyshDfRwWNaRVbKOxVZ1b4qSn6jiwKrtkiencgmPIhSrG1CAFR+xiw02K8Gvs00+vHdg0Ha2O+vqcu7ihHgtP8K3HGAGuwjJzgGjVLg8iN/LgVwPgarp/BjopX2nlEBFpAJW/k5bMrkNrCpqQdm1wPke2xLW1opwCOVzUQTfIgWXQn/JAURYDYXXQCiyRouzNyxrbLKfuPdPj9tGYatpmvcd687cfdt7fo3uBbOOW4PLnOVcR1MJrcUA089OP8jWgtlzCbJnDVzXrFnuZRwE1RmkXE6i66TOiWEQpWAQCwKyvNo2UbI5aced9dcI9THRjAmE8/Fb3afdfoje37FjTAbOH/98sFH79+ZL9BUhBV6sULiOn6lr+btNh47lSuElivOFypZBJocjcvZ/CVTdWf+je7FRvq1eUC0++qde/1Y3goAe1iHRmoR4UwJiyToIJ2IQioad6AGaKiGvVHHp+8uvyQxumUpRCUgRbh2wtc2CXJt8ydlF6zBzuKLkQqFKmFX1MD9GUdBCYVmfIo+fUhoaMNcNgxUXr48sYbUGXWVYJbQMxEVwL77n+hnLNA16aKESCi3UAF69sj75rSf/5/WH+G941MgX7v7u3bt+9a179lrYIs9s2aalDA+nA2mj+wcHiQBhuZ5EbZlclg46n0WmOMswy5nOO3qQ6127zg7MTgu4upA6PQY5VOBSpjY5CwJO1kIonRvXDPELmv7qIn7qI0HXJ2bkrFIj8+qIANWb+Ideyrct8N7ZcmUTsFh5RjuV8VLBsQieyaJa9V55fhGrjLPmfp8A1vr2Jmha0AqJlgYOqAlpPRUhrkCAWMlnlnhglJx3rZCcpi1A1jLBKuTAyjDI82OaLlpwwbVUayEHaCMxCMfqnGgMYlAg3CdkggQOopYtF2Zb5Ri1hFSFBmOlSA+O4wCU/WrlhC+7dF7kJDk5kgGV6voKsahRePNfvPXy3DveeNEOyzR+MTyc/+5L/s99x2bK8fzKq09ENs7P/qB6u2WT+274h2Xfqd5+/7sOvFxR2FunXN4id93wtWV31Sh/Ky9/a/X2nmH1jtu+s7jnbFnhpq7iI5hJ8g6/BjUVXQVmAsiKdRXMOpbZaYDZQMAVramoAO8BZa5cQoQQP+BKfdblqz4SUH2ptEWPnsirz+/J/HlHHfkiLxmuGIZKo5ozc11agxXBjQ6sVsMoGQWqpAQ8NnMhqxRztTwpK1Yfh9blndDY2QqxJg6o8ShoulaaaAVFw7xbHh8YTuDaZBaAISIw5MFMDUGOn4hhAZniklCEL3AItEgcInX1HGoj5Qly1PX/rfCZJRXus8Qz0CAuIItBRRE0hOuBaVqONZ6WIz3wkx9WQ5HNajiyuSUGH33qf99w1DIKD+Tzhf+46nX3/v5cHq+6sK3yn37l6LuXPVd79A2dQZRnFB6r2WhQWFirfEhj4ek/GraizJDMWagZDbNey2ygVtkJgytaU+eeFMom7VQqHv9NzUepRps8Rxoyn64CxGddhAZowa1VX9+ASQ8czmpHTxTUgUGTusazdUU3T8sqZ4UqgqqueB77l2CluBO0opWQYZbcx88O7FLHKsvriSfj0LZiISQ7myDeVA/hWES6ApSTCZAyEc8AyUfpwgppWa5vq+U+XneBzrIrXkuwlo/QwbVUur6uM60R5b9DWGnNfBaM4QHInDriTP8SMCvcDKIcZusbIBSJuvO3PH65RYtrcUBRYZF1/xCTvIhS+tXSGssh1rYN11Lv+CvLUZWqLSKq9mYtEnvzkz/+49P5vpM/4of77i/fdfjRex/qts/yvVwz5SsZO4UrCaI8jHHPizFirfKUnJWLn3ozxQVQ4aT7n2gkQjScnDVbQFaug7DKjguu69CaOqe18YKsfDQ/helQxUndgV7gc2F6lk9XAUr91QV+XQV81icNnL39ElbVA0dyyvCwRb3Zp2RcVJO5j+1BzipXdQJejoRRsAqlCenFeKDu/CgJuqpKZT0ti1o5qM6HZHsjRBIx+YjaecRMKhINTCujcWBiAposFzrFJCSxTaxt928BpJYDpnYRRu2ytdEbRaA0e7+iT/ZGFbBHl6ua2V+R/YuVBwSlv8HxGSYu8VI2/XZmGTnAKIBp5DnM9kOm66jcKUZV0GNxiCabINrQ6FhNXYi3mSduLKUVE7m8wzYnagKViZ6L1lgjV5DHpwixdj4NhYGuFj5Gfpeiwbs+9MZlXR940/J7LMv+8Zf/89Cj9z54atohVg60aA3oZLXvNzevxZTLszHah7HKKzTQtnja22jqaQMnW5+mKgRjKM5amCUuZ1a0hs+NA7JqDUitqBCFOrumLJFvc240Q37B1ecdHpiP621r1fW/+M3gTcNpKzo0bBKPoUwCh2U4llFhVVVVDpua8/y/NqySEo9YVnFSkGNFFSyqhHjvynvTztWdElTr5zWAHgmVIgKUHkEHfRlxALIEaJqmY9GzTAmpYpttGhJCSzP0ywRa+bLqvfFCrgay3xUpX8cGXKgC5jLUOueFsopTFXxjzgGeWBxkB7Iw1H8aBiVBaKBGOMg2NkG8sUWCZ3Gil2U68zeLmcoc0iimEitfuYrqpN8VmywOwLn+Xhg8uFtOrovEY/zaCYty7Rwk36loyjs/9OYVXR9884p7TJv9+N1f2vnItl2D03KGlLEtrmNZREkQ5SdqcVXOSq8doMW1lMFt0jfM6MEiajaDrFyvq2GV9cKsygvQqg+hzt8LZhKWCCJ9BQK0bNC5ciEG7CrgN6pAzTKvXEnnRVX4U84Mb+TfuOHoiXwZVjnAFaFTWkV1ItdOUPrKoWwpuBIrf44wB1QV3o1qIcf83rasA+avmg/JjiSEoqEieldma5pqnycfM9sOlApQda2ntmG5YZ6qAA+qLKSTGowQ6eJQcedIizQdZXElxQD+pe+zy3FV3divpclOMsg/c5+6T3xiPatMkFWKD1syf7u/3gnAYLuhJ2xpTQ3EO1h8h/CXzedheLAXhg7uAaKFQI8nINrUwkHWSerA5DVjAStYFaHM5OSusl+BM10nnwbI9EJDWzM/pzbkMhlID47ImLyRuiiEShBL3qkr9J3f+NDGw/zT3+cDsv+4/s//cCDQBtKJijHKwsl3m45RngZSfoz2gTg5NpRa+3k2mjaFBnUji3uH0SmQK2A4rDnPJqOssqr7B1raz2OJkJcz6UIl51dUAZ+TqSZucb1mAQm1x8gtnLPeyD97I39HcaJvFS2rwhpG5LwZTXeArCJRQKnJcJBCgJVtOoAlTpJwLdNDzoSqaF0Elly4hANrG0Ti4dIOBzGmkVZI0/OovvhIX5A2qywHMH39mLAUti5ul8BUtoSOzmzl7AfxvF8FrnI7KZFMsUw5DrsTG1bO5nddFMTvFWBuGWJt8sUGq2A4a8N5zcYBciaTCxTpxo2t64a5ovwLRUxaItcWUNuaEuBLYM/nIJ/LQq63C/qF6TAchUiyGRLtHaALH1nxS01Twq5j4adOiC6+ttIjkO89XprgJ5JH1IXqXV9rC3LpHKSH0qBqKkQTMWnF54UX81/10WSd9tFtP3jxo3xM9e9HT2V+/Oq/2jI01XP/pu8uGPnjC4dHJQA52q/VPEjvuavjHxc2Gl+frvLvvqvj07z8Z6q3/+SZxFnw/Q06AcHk23uR7lXMFMNe/LwCWVsV5ldOsjNujgBq9lgVA50VKl0F5sqlSL7qA8q6/NSULcBxXfNV31OvWUk38qN4Oz83t/Fz0wCesNGG6YQ2Em29plMnTSrxBH/1WlaJ4+Nqun6u8jMCVsOOz2LrolZYvGERNLU3yDShUJx1PlVI9cYSdWG10sIyNaaaLLS2lKAVKoOYliC2aOUlo/Z3FFiTMvhWJg7yhBRTxUhFcewLjFX9ftl+V3yFAFojZ4Ap4DZfAENEDcg7i4DbM4Gt7QTZdQCaanKbmU7xc66CJh7dMwtUAZTZzGRPLNiZFKR5nanjh4DoIdATDVA3rw3iTa3uYMqB8FxvPy9zQE7Q06Mi5qxSMYJTNQ3iDZocFIlrOZPKQmooxa/LEB9AOZEnRHphlZIrls2Pf/WpH13/P6bFvvnOzzz90BPP9U/6ypkIFG47GmFimSnlg+VWkYAgyK+2J284QYPr+Sbp/6p6Tj+C6/kKn1OIKgBMCTqO65yx/l9y57EPBVXXdR86cZCvxqzvqg4Smp8gtyqU/DXni01eQ6ftwqfo6DWNQiikVjz29wbel76FvKxhOD2C8G+VVlXFgdWOFW2wbONiSDTHXVcCOiWrakV2qGImKWAzqjNyoLVN+leWoZV4O3IvckI1WVcCY/FuscsA6kkBW3Zp9YBxRV2eUUhVNlnhUxqK8kVCcbRcl2uZNoV1M2dCIVeQE6AE5Bb4iEj6+3r3UJj2xaSocFg+yrf50rJ2FfQfOAQFogG1LCCWwdcmULMwqVEEK+Qh33sK8qdPQS8f7Gh1Sahr64R4fQxIrh/iyXrIZ7Mw1NMvf1ckFpWZzopjZOL6XItMaXWNdXKfjbwB6eEMWHygE+bAG6uLiO1hPrK+NaTRW7/18QuP8N/6z8dOW9+65c6HB7HlnzFt9KTrExEFdF3DJ8bnEbgCuJOzPFZXvADOM2WylJgGoVMYuJBCgQQ4/4PSXF7ByYHjaM0ijXz+7fXzuo4WrtqzJ/em7h7zhRxOI5YHZKTfqmspDYVpxexur3VV5qc3bBHW0wnorREIRxxrrHh/4ZpOWHLBfKhriAp/NOdRswx1NIlT5HEfKAalZ2dj1tNUoHVRu/MougSLtaysPqG1aDG1vSeiDOvMa0LyWFXL1Yx2h6j8ClYJrCVY5oMQMfEprkIorpd/By8jYqoKiDWyfCkYQNQIjPT0ljKTJee3c2g9DIV0Rp4/Wzgz8/csdz+IbQIxBcTyz3KQFa4GE5KIJDDYB/0DfBHhsjgwRxNxiMklIX9HPpuDod5Bee1FOMAKa6zjOUNK7gQic1pInieAPAfzgb4ROeCKc4ANiwQVRFvE74XPLemwPrP9e2sPGr37/nuka8/dP9zasPObDzea2Kr4RQebpjOZQNpoUY9lmcX6JqxUaoSEwyHsL84P2cUJWqVZiXyDXRX6CoXyASIiL32Awaih5GqJ8uirf1kfuWhlaKmuwjJVIUt27Mxde//Phy461WN2lvxSKZHGP+ZE9QfVnXrsGPnoKOuqbQnLqi0TLAlYjUSUUgKB1sVNsOqSpVDfFC1Dqqh8Iqe6IksSLcfynC1mpRK0hh2AZBOwslZf1c4R98yiImV3AbsYw8BLox7IZdX2hlrf4YFf5kzAKs3UcS2urKLu8qfE5CglrkA4HgU10gRmto+f9xAH2bx0i06PpIGZ+bE5hirANAVsLeQ8urNMCbASZI2Ck8HLd9dkgZVOw4hYuvm1E4lCojEBsbo4h1nnYOT4fg32DvBrW5O+1UVYLSfu4tdyLCQBV/hjZ9J5GBnJQTgagjjfRhWVKg2Ll5P4gg8mkqs+eHvr87m3XXvwcduwtpo2PH5ySHv0td9ceBpbnbFOOKMqDXQO7RTqQl+B8+WqE4xafFEdTkO8oeAxOs/Yk0ze0k6CTqgZ0CTn2a7//Fhjw6J5ygqVwkpFIWJEuVBMnH/w4XTds8/mNmez9qKK7FQcRuRkdPn41BO6CiqtqzKvfYFJX1cR6iqki1ndTiXRRBjWXbECWhfUS9iRQfNte0KuAE7sTRWIqjgz7cEb2mn2yIHWNo+llVQ0kxVW1pJl050RX4GVXuusx5+1OCmrGJy/FOO10hWAjYmpFSQKFXPFiIyC6vbpdjV0eP70vkdBi3eAmenmH+HgSRmEYxrfHQW0qAL182JyoFPI5CGfzkGOw2Ahna/pJSDd1HUOjXwpWWQ5wJJCDqhh+HctEBCbGoEBsfBrSq+rg2RzA0Q5YMfqYtIlIJfJcbDOghbSIBaPgKarpeMurltxjdc3ROUxzuUN6B/KyLix8XhIxsBl4Vaga9aHmWVeCt3PLtaP/+6OJU25+NYP7d/L337EZuSRVJ7+4YavLjmIrZJ35BPk5Cx7Sq4CCqVo6Jj7qmjIKsDVdRmwAV0GUBMaLAc6+FboeZgC8J6/TTa3NdHVuqqs5n3sSr40874hYzPY291j7rjnnkFtcJC9nm+f7w42ZIox6uaTL/JPTWDlt7Pj52rL18LPNR5W3UxFnIwvXgyL1swDTXW7I/Go1yesikfJiq5zWNZK+e1LsUZn6QBEQGtzEVrZ6LaTMa+RiFVA6qi4q57UqI4/q4cwi/6tFa4BtSxIXnD2TgCzRw8KiKdsMagueENyiX20PC4PTnOv1y8EI3WKn/q8M2ixs2DTaBlu+efF9RaOhyEUC0HCDeVVyBQ4yHKYTeUgz/8uhfeqAFkF7FAEQCyibg6xtJDna75YPt0KTAMK/f3QzRcSDkMsWQ/J1kaI18elv6tpmJDhQG2OMIhGQxCJhtwBV3l0FwnrEOXn1OK/ZXgkz8GXQLx5Hr+GFXFuIjBv0yLWtCFrpPp+CUd/8YSaPb5KpeyTDRGr84kP7T/Ff9kf+Gd+n87TB6//6pI95y+32kpwk7NY8CCMmnPQWp2QYFQAY3QZOP9Ep2JxZUBwctbE9V+faGic36Ks0VWyih/ANXxp4W33MO/3nysY7Bf9I/ber/1zXyYC7F38vY8RQutLN63ixFkVT2AtaREtpkWtAlbmZr4SZYR1NVx2BYg3RmHDVSsg2RKR4aUIsV2wGv9USqtqOAQaBwgBq9WWvFl9LxShNRzywJ2Q5fmJXmgsT9SqCeuMeQIQsMq+mlT5u0JlQoSyv6vH17XkllATAFwGKH+OgV3xO9golwcCarQZjHQP2EYGShbkUaHFyKioBOKaExCrRzWoa4nLsgJecyNZyI7kwMgWajQYvB6Nw2PRrYADKRWW2HxO+sn6Qp1cDlJdfOk+DXoiAU3tzRAREQjCmqwzlzNgYECEylIgLqywVKkAWIWv41EdINoEJlGgYLvBo4W/MoEIjSVfylbe9pJcLvebwYHUTZEj30/HdPsqVWHXKJS9PxG2/nHLB/af4OPAB02LPJTK0Yde/k9L9p9HHBFoylcyxTafUoKsMoeHSV4XgTHB1b2Q0GXgPJHbnU36zi+6GZCAd2mutURfvbMucskqbU1IJ+sJIRfw4zaP32UCVJ8XoNo3bO+++YMDJ0XZa9tZQ4MOd0YI3MnL1bvHGUKaSI9JwBCPbE0bvL6t1cAq58cIK5n7maLxackFnbB8QztoigMhIo6mH1cAAah6JMIhJwJU1WAuWkgktC50odXrl1oCOO9jfI8FUwZdtd0D70Kjm6iTQdVgwC5DLCsZmlgleAKriipgQ+XcrEqorB2BoBpa7dFgLSbuaRGw8kP8Osh5WgMR7jci7PRgib9ZjRixNcPYEplsQo9okGitk7Flc8NZDrI5yKXypcl4FdUoKliROFjhuOMbW8iCIiHW8MFPNhQGB6GLLzQcgcS8Jmhua4QY34dYLCyzpKU5PFspYYXVIRbRncll/P6h8RaZhkGxnPi1Iq8X03TnPPLvZ8L1Vw/d2NSqX28k3n5/92D6g2/48B/+V3ztB2883XHhguzl8ZB1lUbZ++oj1hcfeN/+k7yq3+Ut8sDJQe2hd/1w/gihEIbR45h8zqC56u1h1Q5NqLxmh/lPCVVvN0wyYtpkmmO5MkIDyjrjjN1sStjk2nzxGRHHFcl17o6Sam2sCa47d+1n69Fl4PyB1yk9mhe+jEFOzuL4QGa/z9INm3X6kTfFl4V12KCqAlZhGe8NDd4RPW+Y7Df9w/ZzN/31wHHvZwSw1nNg5b/+Tv6yvvjoPxLWQOUb8wUL8l5grbKwEiAlC5+Y+F1MAKCoFDZcvQw6FiWAiQkzYPAyyrjASlUVQnVx0OIx6Qow210AxrHacGhtlzPTy36pDKxcHqxsDuxcFmwONHY+LwFLzIQnAlI51EmXDZHKVHEiNyjuWsBeZigF2VQazIIpW2Dh/0l1HYiugRIKgRaLgZbgS11MxitlUJ2Gtgico62ybNRMLa93rV3lDgCVrwVbi99n5qVPa+UEMgG9ioyrqmohMGXIK7OCpip9b0llWlz3f3HdxZIxiCajEujzmTz0H++XESxq4pAIvVWEWJEEIZ8Byo+7PN7j9W683OCR4zB4vAuiTY3QtqgNND7YatBVOXjI5k3oHcpCOBKGSEOr46khYgQzN06wXAry/EAkKkN+2ZmMeF9RdP2Pmpu1G+758osfeHLHqU9+4d+e28u/8qdisRnJfu9NR5s4vF5LKbtGV9mnFjUW6u6549Cu4Tzd2jWoPfaDrcmn93SHpfmZlzdrX3/i8mHaaDYnNQlekZfc6PKWsD5OewqCqWS6qg3Ck/2kKh4/oZvBnIXWnVUuAmcEVxde7fXr0GXgfDC5SnCd7BCl6CoQ3BDHmf4+C4dM3/9oon5ph7JRV8lG3n9s4JuivIM8YJpsB+837/rh/bn93/hpxvT8UqkrW1m8KQTv5T/73QJYixbWeFSTk0uyOQty+XJgei+wygTnMtUYA6vcCco3w/EIXPTCZdCQ1HgnzcFJTJAZB1YFcIXq4xxY60CNROaMC8C40LqgXeZ5z5zsAmN4mC8jcmKQcKMQrhECTJ0ICU5MWwmq1Mny5KeJZDJDVAFMw3DS1HIwk/6gpVzrBLRoBLT6Ogg11EOoKQnhxgYOuCpUTPCqyLBVIzRWhRnUG5mg0lpMzAzYapTvg1W2tFbEp7Ul8Jlmju9XCxjpPl7WqPEd4PHhrWGRLb4hju1wTlph/aGRUrLECv9WRUBsPiuto2cUP1+ZntNw8HSfPI5tSzsgwmE1HtEgXhcFQ6uHvE1lqlvqpi32puFl/PywQkHGr6XxOgnQZiolHk0okVjkuqsuW/yii9a1/PZ3jx392LfvPXhMpG14zbcXHxW3v1iuXZGi735Rz1pe1fUcYq9Z1pJ/7UdfdsrMGGRrf1p97HCv/vu/+23b3lEdMXXcxUffj0BrtYXupTiqPD0bbWcxbS0NpLV3XAXoZOtjMu04mtjmnNjO5/aPebOrPsy06DIwx6Xrkx/xkoAnUpFZlDlrzWKF/NP7E0ujIbhYUcgm3nYu4h1WiveFT+cM9t09R6wdb/3c0MhYn19dz9SVdfAWfgw/zl/OK0JUIqbKCVSpjAHpLNQEVhHmKqRQCQam7cBPsUxDax1cePViiIScR9c274zHM2Lr8RiEk/WgS8sfmTlRAKZzJwSopIc5+Ntw+g8HJaCI409k/FKHDEjpkT9nImGJtIkbDIDJoYLNYU442gjrJHH9QAWQUjcLpQBfkaZVBqgSZnBRB+HQavH3Tas8OYl/zkhn5JI52V3aRa0uDuHmRgi3NEKktVlaac8Yy7UKWpnH/aDErWZGNuuVnOk94a6/s7vNzA5AKLkY8gOH5e8dVV+Vxbc64IFYBk4NQbo/PbnTpGpgKgkR9gKokQcll5F+sWf+kM33dwCObBsAlR/DtqULoa5zCQgPGWLZ0jfcFNe5qgPwAR1jRtk3WGT54vDK+EADVIUPJhok4BtDg+Kc0WgscsPLrlt57RWb2u6574GjH/7uL7tK9/iD++I2X3Ymw9Zhfnv+eEVrLvyqTQMXz6szLmuJG2/g6zv/+23791k2eThrkAfv29nwzH8/3WgqlInx0Kj+2Ga1k8OoChOX56jyqjhx1vS2n0RYXIOcnMUmPzlLWFzRx3VuWlvPeN7P9CYnXrZ+HSYmmMsyDELMwuQTEPB2nJan7wZwtTJQjKklRJhW3fHKsHbbdaELImFyiUphE9/NJL9B9pkme3I4zb71518aOXTghFUddX6Ubl7AbuJs81ne/q8ugmkipkEkrMBQyoDhtCFvO+JxkXT8uQiEQ4rz6FU+6gQPsMbhoquXgK6Iz/KO16JuSKoxjB2qCpHmJESTSVB0rSqM07mVeLQ+MpASbCf9JqPxkJyUFgSsWhxArP4+YMNDDjBSx9xFi5DKAZPpIbBEGlsxI57SsuWQFS2TtuNDCu7kK8vjlyo2GI7F0p3wIwP2i7qY7kndaruOAAJexSIyQJhOMH/iZrMyRlJgpNKQOnJMnmi9oQEi7a0QbWsBPRGvsnRWoyhznupWRx9Qo/z7crJRt6A6DS3zTBZz70nLgPzQMdDr5/P1UQnjFcBbI6Ks93gPdg1CeiATyHUhYsWKRQA/LWSBZtNA2ZmtsCY/hse3Pw/KgWPQumoNxPj1LlwDqEwrzM+i8G0VSy4LrGCVM7iJU8QBttB3Ggh/X29qlq+NwQHx/XpDY+K219+y9mWvecmSf/jhb0989vs/O2J4LJ987MKUg6dDxhd/3baFbxIL/NkVvU2b5qcvoJRdGdbYa191YX/qlgsG/nA6pW6795nGvXu7I5nKY1m7LSRu/TVNCdPcdtrM4m10IZA2Ol8w+KVuKWI9mc9nMhkSj8dmbH+BmtwlJthz0uDqwquFLgNzW1O0ms75qAL/8N5YfNMK9ZKQRi5VKAgXAMEVz2bz7L/3HDO3/Z/PDvtOH3nTAnaRTuAL/K68ptjD18VUSMQ1GObA2t2XK4Mq8VoWCMQiqny0mXU712IkgYYWDqzXLAKdimDvOQkeZ7KwhhJ1EG1thjBfA5lZLmIi/ehAVz+khzKghjTQRJpV5qSgFfCggDmxgPZFAODAYZ7uAaO3Rz4OduDCsaiKekk0AhAOOxDjxlV1stG6vqLF1LQSJqzyrH/XwuolyGIa24owVMzj/2mX8U7aLsW5orwp1jjY2qGyjyqHdwGzhNO74majKgyPQIGD2PC+Q6DF4xDtnAdRDrJqNFwBk6QmtHombtEI51Thn6tJMK3MCgajTLm2mefffQK02Dz+/adcv1i3PCuH82JlK5r8a7BrKDBordgtft6scAzy/FqPxqLARgZkiK0zSbh+dG3bCjQWh+blKyGaqHfOXS7j7G4oLBMe2KmUTElbOo/ilOXzkO8+BUo4AqG2dl5XCgp8AMTvs0QoGv1/b3rZkre8+qrWj73iQ08IlwFQKJNLtb73WNORz6fanuF/fv8DN3TFV83LXq5yiG2KmXe+5YqeWKZAd/SntSeeOBLbuu1IfGAsJufQWrN+Qs7CzSyswCzg+qZgsD0f3JnOIwkXgXFj5Kk+K7MmUBY1+8B1ig1HgPvCeFcwA1wFvv3hWMOqhcplYQ6rhJD1/DemTRueGMmyv/+fhwvbv3JXrVg/Y+vaNpJMhuCThLG3FyfQRiMKNDWEYCRjwsmebE1+FxmtElFNxp5MZU0HWN1IAonGKFzywsWgg4DVjHQ9G+tUCkCLtTRDXVsrKG6moZkErAIS+k/2Qe/xPmn51MK6XNdzOLM8oaBoJCZnu5vpzOiZ7rVAOJsBs7sbrMEB6edb/AwVERLq6jjE1DlOwUVfU+aEDytBZ7WV1QukNlRYWVkxbqoLvZVpXMGTNctj2y5m4ColIwD3+8XJV+UiDbrC/cC1xFLLCYplZrIwfOAIjBw6BqHGeoh1tkGoOekkjoBKaK3lVyCcGyhRQQk5kQWqXQCqP2ObBRk2Sw3X8+/u9xQhpYlkTsW2DK5QGLEgf/IUNDY1wEjvAMgpYPx42wC+zp1vceA07HqACD826RFQrYL0YR3zmkinoGf7U3ywwgF22QoIxWKOlZVvl7+Gv1bjdWDy8SjL5z2DEHHM03JREwmILlgIhYF+Xm5Y+Dt3xhsS3/7lV698++Bg5u23/c3Tu/iHRs6025+/v1184f1ieenaQfWWDQMXRDT7ys5k/rqOhvxrb97Q/7xhkod7Uvqjn/j5/C7vZ3vSKj9hMHSOhpcBhsOaWhxX6SpAMAHBHJKvwM6+YNR1GcAoA6jRQORE0QvyuuDt0Lkh13//WLxxaSe9nMPq5XwH1vBN/RxWt6Qz7Ccf/dfM8488a0y4tU5oQF62xPoL01A+weEjwSSPUGhrDsuQVie6sxJKqq2swsLaUKfJ18J1wLLKPqwiXuVlNyyDmJYHZqZdi13tQyZcAOLt86CuvVWkuixZ5GaShk8PwoldR8EwTFBDuowR25Csh6ampAuEjIOJVYIdNRqFSH0CMv0cGjK5MSyseTB7e8ES8GE41kHhu6om6kFJNMjMXhIwbRc4PXAy2spql6G2CKnjWVkrLJyVVlYvsDqP5qGc2cz2wGYpJKtTr82vGzGLx3L9NBXbmYAgPloYHIHCcIYfO11aYKNtTU6MXTZGKCy3WsvM8Gst6VhSU65vrV2G0FHOB5YBLDfMj1+IH9csVMSY5avB0718nYV8TszMt6VVdJAPuGw+4BBuEOInNC5dAoVcAQaPnQjUWiassAU1DBaHY6WQA1VO5hq7H2TZFPTufAZoXT00LlnGj4PmupIMyVlRWj2HYb4U+vqlxd47yDB4GbHozc0QXbQYcl1dYOX4d+r6ZU2t+rZffnXzj37xUNdf/P09x3N+9v0XzzeYfHma/ymWf/zyqw6viOj2lQplN7YlCn/29VsPHuQQ+8hQTnnk4z9beOIcjzKDiyrAxCVNppgtES2uc0TjughM1OIqXQYuWLcCXQbmIHqKGVFn8hZYtLBAjhzV2RifdpegLguZ2B7OVvKsb38k2rByEX1BWKVXi0QAwphhWvDoSJr9+x1fSO87cML2hGD3v0+fueXw/Ew6dtuRk/V3pjJ6WzEcfCsH1mhYgZMcWHMFu8avJ9CY0EHTFBgYLkDBsEvAKt676IWLoblR+N6lwTbLk4eqJWao1y+cD7F5LeW9nmHte3YkA0efOQBDp4d4h6+CyqEr0ZCAzoUdIpWjO/PeCVck03NyMBOuEvwASv/ceGsz5PoHID/isb6KzwwNO8BacF0ChItBUx3QaNzlOKfeCitrETqLcVjtSreAM1pZvfBaMrSOYWX1PPstwa8XWL2nqgS79qg+2hYJKBTpSit9PDVbAIACNof09PFTkO3ug0hrE0TammUs39qRs5yJW2Z2ELREO79mRCKCXihGFKhIJVuRVtaSk5VsEXdVxHl1I8gPdXfxcxjj9algZdKO6YQ4YcGYcNXk56HAqfv03oMQTjZIV5Vs34AbmWGirQQBPaZDKlPDDYHfMFYoAqYW5sfFApod4RA9dkgte2QITu94GrSGJkjOX+hk0rJNDqy9Mq6c3tgof3+BD4Rs182kePwKp0+DoQxAuLNDRo4QAMtMSzVGsm+4dlnm5Td9Ofwt0pj61p9/TD104Kj/5/jvv2fJPr4Sy/c+c8uRhbGQdTmH2CuTUfO2r/zJkf28jXqkJ6Vt+eJvOrvPBbhSGQORBND7yNEZJWO0+cuWryAH9u8b87ipirC3EkIQS2a72I7n9ll+C0/08T+6DMy5y8XJfjWVlifQVoMBJdM8OPrSeyKxS9coV4R1ciXnvo28Xx3gHcHDIyn2b3d8vhJWJ6JP3XxkUTxkXUmBXL3vaNN1J3sSi2z3tyTiCrQ1xaGnPwfdp3MVDFm0sjY16BCLatA/WIC+IaNimsWqTe2wdGkUzFwGrDxxgKEWsMaikFy6CGIc6srx8mcWsZocKI9sPwAn9x4FharSKhyJR2Hx6qVQx2FGwJ2EVsuxspZCR4lH0P3DkElnQVncDmqUA35IB8JhLZ/NyRi1TISwyueLZmtQeX00HC1Dpjshh0GlhdTrFlDTylo9+YoVJ1+x2m4Bfq2sXuut93QxT1KCikEHg+q5WGIuVR6cGL8600Dn0C/qzPb0Q25gGCIiIkFLg4yhVH09FGsrDJ/k104rKMINgINsrayzpQvK3TdhwTZH+kCNJSFMLIgmGyE1kIP0gBM9wErn4OjhPli1uI6f8zyEV66GdM9p+V5uYFB+PjvQD9Hm5glDa+P8BtDCGsTq+T4YITDExKoa17nN4dUQoa04cGoipJZVO7GBcC0wB3uhZ7gfQs1tUN/a5vxM/rlc9ymg/DoLt7XJuL753tPlpAzyUjAgc/gIqPEYxJctg5EjhyDbK3hSaRg8UvdX0RH9tv/8u8GHQGEPpLLw+Ns/ouyeCMR++KeLRLgtsdz1iZuOdEZ1JiyxL2xLFF73hVce3lOwyJYTg6Et//xw28BZMowFHMd1au09wagCc0HWRApPCEI5EbML1q3AKANzSIZJiGWdeRa/iDww5tVmUcU0g4sCQGRk0uCTZ73qRar6ztfoF8cjygt5/72Zt7sZzjuPDA2zH9/+mcyuY932uJEAanYqNx5fUB82Lw9p1lW8P13QO1CX2Xu4+UrDou3SLYD/moUdUZk8YN/RESduZFUdYtJVa1MIhkYMONaVrYgkkGyJwearO4BlBqVv3VguASLuanL5EunHOiPNq65F8uSuw3Bw224ZhJ5qCmgRHZauXwGt8+c5rOexskpodeEV3Nfybw6m2eMnpY+qFndy0qsymL7ptn78CorGQNND7mdsx8rKPBbP6slXNaysoyZfjbKynmnyVS0rKyuzay0rK/OaQ+1Rp5F5IbZWJAGRZsksyEXnwBYRcXgFwPYOcjBNc3hNgt4QL2eRrbpEjFQ3qJEkKFoUrEK6aseqYsm6lSjRJP/cAJC6OAfWXGkilsa5rDCYhkWr2qHA7wEWifPBVAsM8/Mmk1lIw7dVGvn69XkV0Jqc38ih1UnWINK6CsttKEYgPZiFka7aYGqrGuTVBFA+uFFFdq4xMnOJOLGF013QM9AHifYFEIo7x0u4AWSOHZPXXGzxEgmvwlXAe26MkRFIPf4oqM1JmHf9i6Hv8a0yokGmPzT/yJbWlyUXp/TGRemb/+vvrUE+dnt8KAUP3f4Rde+xLv8368d/tkhk1/uxWD7yR8cXxnTzCpWylyxI5l/7qZcf3Zk1yJYnj8a3/WpXMj99tg5byRUKgTx9NQwRVcBUxbrm+873jKlcNkvcgRjC6+yVLdhy2sDVhVeTw6uGF8rc0Xg+qs3NJjnZpZ0tEgr0uvrl16JrGuLkhSqFq/lL3bJhy2CKfe7z/5Z7+v6tpjWZOt/34pNtjTHjMo2yyxWFLQJGDmfy2oPbdy+4hg8C3i5jm/Oj1ZTUYV5TGA4dT0GqmHfAcxSFr2tnW0T6rx47lXH9WJ1TIbIOXXrdYogrKbAFGIwBrCLuavOqFdIlgM2Y4Kuj1Xf8NOx5dAdkBoblb1E1HRauXAqL1y4DRYSbEtZUATLSwupkNBIRBohrCbVdmBWG5lBUlxOtjIEBKAyJwP3R0rGVk5I4sEmPABcwq90CallZyyGuPK4DY06+mriV1Tv56sxW1tFuAaVvYN7tlc/+qzNZFYwcFMwchEIxiHD4Elmisj0cYFM5iLQmODyq5f2RXYdTg5nh15oWkY/4oXj8Sl9S/KtqLg2xwDglQl6V913mVuDXc4Z/X10iJJMICP/lUa4tjE0CWlU3nS0puTSIIKjxJv5bYypkUwa/zoTvuDX6u9QQ5BVNug7oHM4Vq3YTQDj8p44fhFS0Dho65kv3ARk6bXhYTsYKzZsHoeZmPoA6LqFWvJfr73UsrT2nIHPkKCQv3Qz5U90wvHu3OJQN/QfrXt13KH536/r+X8STxgY+jvjMvV+3+jnEPsJvi4dfdrtyYCL31Kd/OV9aYptjxl1vu7JneVSzXhBS2WuvXDr8ussWp59J5+mWu7c37TrcFwo4lxYLNBTJmZ7YzZs3jxw9emRsVwFVJUFmbkSdfXuGYMqJfmiyj/3RZWAugStMMRwWYcFZ4JlMYDSlhug7Hws3r1qkvCikwfX8ZQfvs5/J5tm3frXFeuxT38lnJ1PnGzf3JJY05zfrCruCUraUEtZl2uSx02nty/sPzl+iE/gW77tWig5M1ygsXRCDkbQJz+0frrCsFVvg9pYwJOIqB9aszIzluAU4h3HZ+lZYuTIMRnoQRNShWrFY1UgYWlavgMSCjhk9hkwPpmD3wzvh9JEuNzUqQOuCdlh58XqIxqMSVr1uAdVWVrv4WsAJ/6wuodUBTFnGZJAfGpJWO+FzyQjxWEXtM1tZR02+mliIqzJw+XALqLayjpp8BTWsrGxUIP8aZtiq+Luu9ZI4+5TLjEAhl4FoIikB1uKUlOkaBL0hxgc94RKwusEQnO8sZOW1aHPwJUrIY1GudBUQazPdCyODfOCRzkDfsTQ0LmhwOwgCekcSBk8OQlK3weTnsOe5PUDlpDinGkXXpa/yRKEVSkkV7FFuMGJQFGuMQrQhKhMe5IaN0mG1DAOi9XX8mKRkMohcmAO8ZUDEyFbEpq1QdgQGD+0FLdkCsWRTCeSFLyvVQxBZMF+GyhrYsd11D3BkptNw+vcPQHz5cmh90Ytg4MknJfQSRv6kZ0fT1ccM9s5cW89X162AKzjPX5lMwK2//paZOX6SbXv4Mfupp5+1+2U9Fjm+81T4ZPVurW/LdagKm18aoD/XKFZ7NMW+57pVAyt0FS6Lhuy3v/HS0+mCCY/1Z9Qt//pI2+lg2mhbUQJ1D5tK/yF9yxBcZ68mZTyaFHxyQrYvWLcCowzMHYvr5DNnAQ02pt8kXVzfdJOmveVm9bJomLxEoXAR39SVN+A3e45Yv33rJ3O9k9mTa1cM6ZsXpTdENPsyjVrr+X4NWwy2DqS1b3/ptx0nF9aBctk88iEOrR/m/ZkiurR5HEhbG0Ow90gKMhnLhaIyZIgEA8sWCF/XPOw9nCoef6kwf++aly0Dlunj0JqquU/CH7SZA2ty6eKy9WoGWlkNfvD3PrYbDj+zX05KEwarusZ6WHvpBmhsa3ICvwtoHcPKWnIVEFYzEW+Un1QtqjmZwGTk/rLFVJYtWlG9Ia3ONPnqXIS4qnJGOZOVlVX7tvqwshZ/RxFaS9ZPfgxTg72Qz6ShrqVVprA1RnJgGwxC9SHpnMNKCQiIy4OOEcTKDYESSpQna3l+gG0VeL0cAFN5yDFNrp9++Cis29wGekiVkRvmLWgCw/01ds6ZYC/gNTG/EzK9fXKSli9o7az3QCuMOmYVgwjhfsBvjXhTFOKNCoz0DUNmjFiylqJBmmowcGIAOppIzTBaYpvVfxqGUsMQb+sExY3OIYA1vf8Ah2AGdZvWg/W0BfmenorPpvbvh+yJE5DcfAkU+vpg+Pldor7WsEZ+rPfO++7dW/J/9ZWfj/zsfbfl169aSV6xsJNe9ObXKS991c3q0cNH7Kcff9L+2c5TMApcFWqrfPCsV2/vGVGtz90/X8SJfeaVG/qjK1uzl6iUbW6Jmy/+wPUnD+ZMsvX5U9Ht9++uz0365haZroLMnDUFn1lKnclZ2IvPSgkXgUk9DZi01RRdBuaInL7ujAOQ+nqLdLQbNd0FCASe9nVCg6F7vxSZ39pIXqor0rqqce55qG+IfeBtn8o9X+W36lvvvKZ7cTxkXKYpcLFwo+Bt9DMjOfUr39kyb19fWpV1vnyJsiCu2d/n710u2nBhgli1pE7GZH12zxDYdiVriKZ1QXsUYlGVA+tIOVqAq2UXtMGKZSpY6d6xzNrQuHwJtKxbXc5yNQMDbwswPPT0Adj1h+fkJCzB1uFYGFZvXgcLVi1yHuEXras1Jl9JiPVYWYVvqph1rkW0EuA632OXwbUEp3Y5xFVNtwAYO8SVXemv6rWyloBwMpOvwGu9hVEhrsadfMVGES1UfiuptLJWcXDFYKKQhYGTRyHW2MKhromDqwW5wTzodcLySTxNgrPzwtoqrK+mgNdwwnMtU/6eBoNdA5BNlcMZd66ZB6HuFBze1QXzlnVAx/wGyPachlAsAnkRd9cwOCgnILZoAaRO90M+NX4KWCItrUnQRLa4alcYN+FBMZVDrXC1AnrjzVGIJCIw3D0wZhNY39kAYm90M8eXQs3RIDUKkDlxBJREEqL1jbJMdqAXsqe7ge7fAw0XXQzRhQth8JlnZISBEhxns9D70MMQW8Lv32uugf6tW+U2vmtvuWxF6Opv3q698Rs/P97zyKPsEV78kUsvUdo3X6xeuHqlcv3FG5Xr77yDPTCSht9+4Itk25M7nbPLbwkRLEKtNewvtY3PNgpaf0gsd1x1qj0esjeHVPbSCzvTN69rT28fyWmPffuxluOTuMtpwH3QmP1HMtlIFi5cSI4ePTpGY2dDcDFlUWezq5iMi8CUwdVtK9BlYNabW10qIn7KncFaGxC68l1R6DjRsN50k6rd/krtqpBOXsbLXsC5YE+2wL7zq8eshz71nUK2Yp996lUb+xKLkoWLNIVt5p1CG+/09mUN+qPHDtXtePRQneGt8zXLlZtUYn+bf29SAIrIerV8UUxaUAeHDU+X51hbRWasFQvr4Fh3Fo6cHK6wsobCKlz10qWg5AfAytW+j0WEgPZLLoRwQ/2MzhIz2D0IW+/dIi1cAlhFiKvlG5fDqovXgqpSCXDWGJOvSMnqWrayOj6tjqWV1bCygtfKOmry1fghrkpw6yvElQco7QozqP/JVyVDoQ8r60TcAipAehwTBy8/0tsD+UwWGufP5wMuBYyMBSofUClKMSYrKY26hLXVGOmWawckNVA5xPYeOgiZodFeN03z4tDUGpUfF5EepAO9O7ploTBkTRuy+w/7awtE9IDOJKghteq6Zy60Ms92D8p7tjlWdCKiWkE93zeq1kH/8QIUsgWwTctxXfBIxIE1FB1CHGA126zRDPIrMTUII9mMHEDm+pyn7yIMWf/jj0OotRVaXvRCGN6xE3KnTlV8Nn3oEORPn4bkZZdCep9jieWHZnl9lD54+43tn/3+b08+Lspt22b18OXXqgr3v/bVoSgH2bUNdfD//uUTbKhQIL871Qf3f+bzIuUrjAototLabec3HmkTCQx+unpe9mfXrxxaqyr2pYmwfce7X9h9Mm+SJ3d2Rbb/4WBd3l+XIVLN2oG0+Y63rO1E7iZn6HfG+C5FHAWMhjUbZU3lw1OCzh0799kXrEeXgdmsliaTkHHOXzxukTMMvoNO+TpmXXd/Idze0UJu0VS4Xkwo5v3Ob3sG2T+//L3Zg5P5ooaIRV6zqX9FRLU3q4q1ljeBw7xfffLYoL7th9uaR6VxXdFA1Eta6af5d7+n2DUuWxiHSITC088PgmmxSsDg/y2ZH4M4B9dn9w6BYVaSRceSJGy6pB6MVH/N/ROxWNsv2ggNixbM+BDbAg4f+tHDMqaqsHJ1LJsPG67cCLH6qPRJ9boF1LKyWiWYLbsOiMxZIlYnjLKy2q7xdAqTr2TTOcNCXDEYtb0SWL1WVqjwZR3fqFXJwIXMMPQc3AdNi5ZBKCF8X/mbOnUsr6UEBIxfm6dBjTWVoFVPtELP3j2lkFdnuomFxR20EKQL/LhqodEgPi601vOPq1UJM5h8Ug3u5KyyFb0W6LstE2GlIoqmQENnAvIpkQBBPN1QnGgIeYMPPusgn84CaW2DbP8AFPg1GrFyUCvwnGLzAWreFKMzYcoubReuAqd/93uov/BCiHR0ONZXzwDGTKWg76GHIbF+Pejz5sHw9u3iyYPeWKd9/K0v6Xz0f7d2/8PAiJEp/pQf3JV//i+/EPvplz7A6l6wEa4Na/CShW3w2s/9TeT4088Y++7/nfFcNstKEEDpmY/v7u6IxZcdovu+dVN/Y0vcuEhX2LWb5mduuKA98+xwXnviB082njrzxcQCezw/rzkphjRUrI+d6Bm184lE4ozfw7kVsXX2yRbseM7AFRxitVxwxYtnFso0CLFs4kT9H0NGgRLeNJJadCv4gvPIGT8/QSkiRFexvg0rKP3S+0UYK/IKhcIlnAcOpHPs2/f8xnrwa3cZOfcanNB3v2T1cN2ixtyFusouEZlT+W/YNZxTvnP3M82HhrIKq1XnHy2mrQ0h8gPemVwtrH8iIsCGVfVwsjsH+46MgDcMqLSk8v5s/YoknOrNw47dQ6Pitl523RJIRrMcDGr7sgo/1raNF7iTV2Z+ZphcOgeZoYwMFbrq4lWw4aoNbppQJ83qmUJcldwCWLmMDDAf18phsKp9VmtaWceafHWGEFfMYzUdN8SVBx8nNPmqysoa1OQrgElAa7lus1CAY9t3QPvaVRCf18IPpzBeqXwpSIC3OT+p0XoJrISqEG6cD6d2PQfp/pFpvZYcaG0ANaRUDhocZgLv5KzRrF9lhWYeFwIP6IZiGjQvbgCWtqHv8BA0L0zAUJ7JjGAdy5fCia3bwCIKpNQYhOwChG1zVCMjLMmxWBiyhgZ2ugzywgVmcNs2CLe3Q/M118DgU0/JiVnlQZ4NQ88+K62zjVdcAUNPPy2Bti6mXvGaqzsWPbyz7/O7j6WOu5eUbFv/7+eJaCh+Jpaf/CMsVRh706aN6isu3KDefOKk/cxjW81tu3abvcXyfo7zj59uFL4Tv13alH/g2hXDq0Kqvak+bN3+jitOH00bdNsfDsR3H+0P1bCM2YoIXxVEm2/yxl4cSrGuVV8hnye2aRE6Zt9kENM0g+x/UNNs45iqtTUQcN2+cx/buH6FeKai4TmZfSI+wC8Ssc/wPg00mxphVEYV+PRfanVXbaI3RkJwM3/ZwvnnoVN97L23vCe3a7J1v/ai/oWJsLWZM+dqQtigCNx9uC/07P27689oPnrVCnVzWGE/4v1Np+gTGxK69Gd9lgPpcNoc9RSztTkESzqj0sqazpgV2BmtC8O1L1sI9kg/1HgSCaG6OCy44gUQbWmcVZkMw/Ew1DXWQWZwBPZs2wPpoRRs5PAq0tOeafJVtZVVPIYXk4X0mBNEv/TIfxwra8UEKzaZyVfsrE6+mkyIq7EmX/m1spZ/gwPbuZG8PMbHn30O2tethoYF850J3jTMv80AKiIKcHgToaAiTYs4tD7LoXVo2qE12SGgVfOAvncuEKum/KoD67FIF50nWfXnnPctk0EhU5AxhY2CBaGwAlSMxKvcB/Ic5kUSgxi/YbUaN2U0rIOp65AfGRZZs8qDua4uKAwMQMNFF0G++xSkD1Q+GBLWWQG09Zs2QfbIEVleU0nniy5s+eylq5ve9sm7uu7LGXTUmf7jv4SDLTH7b2+5Dr50683KNatXqX+0bq32esuEHakMDP/tN9hjDz3pHw4O9oWsg30tz/M/n3/VhQNNDWHzoqhm33jdquEXmibZfmxA3/7A/sRIuY22RN624DiGjT05KxqNkvE/jylfZ5OtTDDjOQdXF17tjegyMHvhlUz+vKkKEwkMAgNXSkh81SLtrRcspZfzl6m8AT99Yqf18/d9qTA4mfrWzMtqF85PrwvrbBNvbVv5pv3DOfof9+1sPDqcU8a9gW5dpd6qEvYvvH8Pi9eLOyPQ2KDD1u39YJjMYwly+sMLViTA4oUff7bfSTbg+YbFq5pg/QVxMEb6a5wDAvWLFkCbeITYUAezLf+22P9rXnc1PH7vFhjqHoCTB09A78nTsOaSVbBg5XxnwlSNEFeO1ZSVQlwJS2soprtP7m2fk6/OFOKKlSayjRviajJuAWcMcTWJyVejrKz+J19VdOesFtQVoZVxaC1UTBrr2rlbYl7T4oX8e1TnsYCYGEfEIKKJQ+sOSPVNP7Q2dDaApmse+i8esUorasllgJUHAMXDTioY1gOr7uBH/GcaJgwcH+Q/VYfkggSk0nlorotBLluAk9u2j7Yx8s+PUA1CvI5ojROg89Gw3pyE1GAa7FzZ91dEUuh/9FGIrVgByUsvldZX78Qt8f7Ali1Qt34dqPUNkNq9S5gCYnUR5YefeUPnx9/37/1fqGWgOp1WrW//FEb4Iq2w9/4jLJvXCLfwpuOvv/R/yQhvN+976jnyyzs/a08om9Y9zyT7+Or+C+dnHlzbnlmnU7ZxcWPhktdf0rtnKKdsu29nsifQOK7OSZt0ZBon3StDa+vskL19ii4CgYJrkaTF/YvnZvZJUc78fiR8BosrC4axfv517cJkgv6JzYyX8MbogVQGvvg33zAefugpe1KPFa5dPpzorC9s0hRYTwhjpk12HB/S7r5/d/2wn8/HNUJesVz5KP/zw0Ve2bC6HnI5C57cOQBeTpKWUp3CxeuTcOBoGrp6MqOsXRuvXAjtyRwYmdHGXTHTetFVl/P3MqMDtM8i1TXVwXVvvR52f+97sL8nIuHgucefgxMHj8O6zWsgWhcdNfnKgVkmkwUoivBpDZVdA2pMvjpjiKuqyVdntLIyz4BjPCsr88ThrYh7Wt6uUEWmWtVUvuiqDN8lZhkWsjko/H/2zgMwsqs6/+f1N31Go1HvWu1K2qIt3nXbtXED2xjTbDoOJQ4h9IQkTgjFVJOEBAglEAMBQgmYajA2Btu422t7e9Xuqqz6SKPp5dX/vfe9mXlTJe1qd+V/9GA82ilvXr33d797znfSEon3lFXZgHbCXtQCwApQkHy1DCprdvsLoNWyTB06CiyCRm9bK/ZdI7m3LNqv4KmTED8P4QHY8ooorUUJVwU7lUvKMlVVVbFU9squzJqgl1VstdwABl+X4ckoqIqGqwITxwKvYIOYhD6P9hsyUsXtzACDziMFLjTm5UshCry1CD5jPEiRQshPDA6C5POB75JLILp3LwkNsI4yYgcPgdjSAp6t2yC2n8S9AsdRd37pHf6+nz+TfNc9T8WrJk696r06Ll7w75/5AHX3rm1AZqou3Uy99akfMn+anoN7XvU+dUnFDfaO2SX02IP+3PPagVC7jdO2+mzqG960dXY8lYx6OWY5YbHyuhajuNKrJV9fNGrrcq1o2cDVDBnA2derIQMvvqUqLQlCtVABEpp0Rg3HFVtp5hN/xb7ELsLrUb/VpWrwmKzoTwyNSR95+8dKvQsXs7y8P9LgFuUtiBu60VaFUjL90NPDjuOj88KiAXhDLc0PBOhvoJ16IwYNnBF/0UYfnDodh/HpFOS5x+hMazw8rO/xwAuH5iEalwpnf9FKXnJzDwjyPOhlwMO/roc4BuDqURhcV9yi4zgyhSTJLFZ5batJQ606DscTTRBS3BCdi8Kzf3gWWntaoA09sKpqVVkxADIsQxKxcqpqAWRWs7jKS236eUy+olBfKwoiOG0i2B0iglYDVvHAgzGf8fYlIwyk0Hdk9GUZwbeiIHhFwITdFbCKp6LP6uh4aEw2TaBC8tUiBofVVFYCweg4V4LW7ArG9xxA58FBKrHRggPC41OQmI+fe2htxIlYXEEVLb1AaKWK9WpQUlESe6vK6QrVt7LKrJnIheN2FZ1Aq6acufCDvxlRKLCjn3SVkWo8PheknQ6IT04VDG5wpbfw7t0kNCA5PAyZrOuA2XqmcRUuHOuK4DV+YD9omTSCYfoNr7nE2dbdwL72878IL6iefuRLOh5h3NMUgJ997y7Y7nLAa5vr4BvP/IjZH0/CTz/0ee2Z/cf1Je38z/bVjKCnket6IzV+mzwQnQ+1H3jy17e8cmP4iX0TtqPDc4JyNg2M4VJQ/poURbFq3yKKAlCr8a0vhkVejhCBc6G4roYMvCgXEuV6VudrqVmdf3ELI7z5RuZGmwC3on/6ZAV+Mziuf/St/yhNP3Q3/VVjmxbftvodCn1pZ6LTxmoDHA316O7AYQA///VB35Lh9+o2xtPspH6CRVvcv9tFhiip+45EIBTJFIjMuK/EFbLqa0V44oVZM3Qgzw2inYOrb+4ENVoaGsCiBrf18ovB1dxUjjou+ILjTQ8+ehx2/3YfpGIpaO1rhF237gBvg2dRAMWCDL32EZiT3TAiNYOiczB2YgzmJoPQub6TdO5ZtZVmseUVuwiLq3wRgIUsrgrgrEBlrZZ8VU5lLUy+YtDF7rTbwIUuXmxEj+26aCZ/+8jpDCSSKQRTCkgZCVKRuGEBpmgm2Obd42gzs1E3ozFVBO8afpBUk7NPvtKtym0VpbXw3Okw+uzz0HPdS4BH8OWoq4PYbLhyZanlgNYmBK08b4kdLt1DvciglVwraMxM82LRe/nv43NI4RrBJtqoaACWDEXOClqtS1LFhTY08Ig0NmQoWBw2DmxrO2H2xCj6vbybHqmy9cwz4OrvB9btgcTg8UJJKhIm0OpcvwGS6D2szKJVX7a5y/bIv72du/mvvxMcWcy2TQRBv/ad6rPoz2d//mWms9EPt7gd8PFvfZKeSaapn//wt9rvvvFTLbOU/X3wqAc3ZA9/8G8bX8+LjhMCq2/d0ZbcuqkxdXA4xB/eP2E/w6IGZ6He6voquK78ZdlCBM4JuJoNMh59Cavn6sWxKApFaRq1ULkq2u3W6JmZ0m406yqwmMbjk+9h3FduZ14l8vBa3NugPv5njzyn/erjX1OikO1eEMcoyuLWV++Sma2tybUiq21gGHCpGnV8Ksw+9PgpXyS3viUs13extQEb/Ba1hZtw5+dxsbC51wtP7wtBPGn4s+qm+kUhsNja74OMrCFonYPsm9ku1F3rgCuuaQApWiqSOBvroX3XZcDahBWZVzBycBwe/d9nITQ5TyypsJ4+fmwS7vnn38Dm69bDlms3AsPSVaAXQYJ5nLx0FJxCAk4qHZAEJ2RSGTj2wjEINAWgY20rMaPEiVi57P+zsbg6k+SrKiqrNfkK761TFMEhcAaAUgYMhsYnIHR6EiIzsxCfCxM7Jb2KGoqVWNFhA9HlIOVHnTUI2tB1gBPWWAS7aPQDKs2AyjGmCrtYYC2vsmaPSzYRa1FtAgLu08++AN1X7yIDLE9zI8yPji37dWYorW7gBD43UCgIlciGc1irdmHHCd4OajoBjGAvgW4yBLCqtCYTqZIG8xNRdOy9y7oP6PaH2aQCXhFdH0X3BE7kql/TBsHhCVAsca8kNODQIRCbmsG9eTPEDhwgAwNj3ooica+x/XvB0bcBMhNjIIfmsDnrukY/+/AX/7zuFR+6e+bwUrbxte9Xh9HTv37pH+i7t/RRr7SL8Gd//hr6bW95Of2zR3brv/7YV9XoUtaH7ll97ear993z6PSjm5qT6zhaX78mkNnY5pOPjoe5Q3vH7YnF9z8K6n9UBj+Xa6/xraepSsUpPUmSKEWR6VV4XdmYsdwrXHZw3XtwUN+8GjLwYtNcq970HFd5REwZ4fFVv/+lOxjv1j7q9ajPfzXqO8OIXb7znV+ov/vur9VMuYZqoRaoqzbD9wTSvSKn99GUzigqdWRwVjhycMJ2xmUMX7GGba4RqQc0Xe/G/671CdC/xgWPPz8HGUkrCLfDRu2XbamF4fEEeiRLCvo0tvlg63Zs3F7aH9St74OGbQNgHLKVRa3zUxF47CdPw9C+MQN7KFzRqx06+5rhmd/vgXQyDXt+fwCG9g7DzlsuhsY1DRXBNcuXSVWAMaUR4pQjd2J9tV5oaK0jQSacg7NUqNIKLa0sKmvl5KtqFld6icpaathfJSzAvCDtNIuAlSfKMF5S0TiMHTgO0yeGQUpnCpixjFhY6EKKDk4qliCP0IRRHhRXlvLW1yKICwCHQJHRVGAyKqi4OADPlo3EWSgswArrS4HW7BJHID53Yghq1/WAq6keYjNBBF+Z5WtzcCJWk5fEA2crdeXk0uLmRs/LqLyrFoF1It9i6fnv6dimw7qflCFZY9eA8NTyKa3lzsV8SgEZPde42KK2k4WmdR0wPTQGmWhhnHB6YhwBeApcA5shfvAg6HImt904gSt++CA41vYCxXIgBWcwvDbVe9kH//PdDa/65SPHwgKr9RRvy3BIeGTfuL1szNEHPqfhBNfv/tkr6R+/49X0DSIPr79+J/Xmq3awvzk+rP/0nR9XZxa5w8QFYHSeV9DjkM+uHNnRnugQWH19W420tskrn5qMsgf2nHYsMjC6ciUunueqdgfManzrSl/kvcsYInDOwNWEV3Xzxh48R7MaMvCioFZcw7H6ZwqerW9R2D1GL/ve1z/K+Df1UG9CbffNCAQmY0n44kf+Q3nw6f1mwhVVoUvDAYRl3lsTSAtdNZk+ntXXYWU/LVP7D03ZB8fCvFJ5fQsvr17Ldrt56veoc2/CnVBDrQjd7Q547Dlj+l83/SIxzAgcDTsv8sO+oxGYns1Y8kiMz7T3BmB9nwhKUbwqzXHgaW2Bxi0DZxoSfM6WTFKC3b/ZC/seOgKKahzKQHMNXP2aS6C5u45AT/f6Znj693vhyPMnIDobg/u/+RD0XNQJ21++FYFX4QQLZgdJZWBMqoOg6icqI41aA7vTBu1rW8DtdRqWV06+MNmqksWVZim5uiSLK+2MLa7wawKGVgQNLMuQU4bDAEZeOABTx4fMmNsqwArVoz+sM/uZeAqm46dh5tQYuOtqoK6zBUSnHRg8lZHWQEbXjmZC80LJV3lbAzhjaM0uk/sPgbejHQ0u7ODraIPg0cFlhVY2C606ZdmxwjAh6zEU/U2gpBKgZtKF0EquERW9lwTO5rTEClDE8upcQmsB7KcRvCoJqPc7Scx2Dq4YGlp6u2Di5GlIzYUK2lUc96qlj4BjwwZIHj0CWiqrzNJkBJg4egjE7h7g0SBGmp7CX6nxOpnfXLKh/sMHByfF4m0QWZ1ZqB387q+1DHr88pJN1L2ffh9zFbot37ixh3r1E9/nf3fytP6j2z4iVw+xwvZVer7Nn0+x2gNHPdjr69RVPdEmO68NNHnkV9Q5I8MzMfbQnnFHZIGpA7pq+13VcBGHjOirJQhW5qLtPTB4TmKMzmW5Vqy6roYMvBgWfQHFldWpqoPlon7x25+i63s76Leitvt61L5NRBNw1/s+qz58ZGgRSQE6MMXrW1eXtrW45bU8r/ag9zIpmX7u+dOOoXCKOeve6DXrELRyCFp1aMI/29qI4KrRgFZcCStXpl7DGa4s7Nrmhyf3zMF8RC6BkDUbG6Cni0Eda6EyJXrc0Hn1FRAeGVtZrQoCmqOPH4dn7n0BktEM+bfdZYPLbtgKGy5ZS0AyW+2KRcB++Y1bCMA+ef8eiIbicPKFIZg4PgkXvXwLdA10mKyow9i8CCOxHtBojkRP8whQOtY1Q12j35jKRdAqOIVFJl9BZYsrrTBe1aqy5jxPzyD5ikHfFXHVLsYIk8DHYezwIJzefxRUWS5nuVpVZa0ErKWgiyBreg4iMyGoaaqDhp52I2kN/aaCeERm2QVU1sLjsJiY1mqLKskwffAwtFx8ETgCfnT9ngY5lT6ra45Aa2NWabWqq1ZopYrUcVz2uBOUTBzkRBSslljka+hcaWoGWAytliOjyirEZhLnBVpzg0D0m+MzUWhurEGDHsvAFe13+/oumBx1QGT4dIESoCLgThw8APb+9ZA+dRLUeMwiFtDkNaG9A/iGRpCNhC73wOa1X2FF8fsHDg0dLFQgF49wT+/X1WtvV/6Axkp//J/Pspe6nPDWdR3UD574Lv/7k2P69xDAjpe/iFWmUvD1w4NuDL0Tu7pj9Q5e3Vjvkq+/tic6Gkywh/ZN2MuGJNBU5f6F4/mq+0OhC2q5qnitLueEAc/Jcs7AFZG2vnnjasjAi0J0pfSqyjjqLyuHClD5qmlf/yjt37SWejPHwqtQXz8cjsOdb7lDeRz1w0voPWkqa1a5pjYttnrldRyjd6M+LJWU6N3PjjhHEbguy9TDa9Zx3R4efq9haEU/0Npoh9YGGzz6fBDy1pyGkupxcXDZVj888nQQ4imlUA1CxNO7vRk6m43O3rq4Guuh46pdpK75Slomjk7As794DmbHcalaI6t/664+2HHtALA8bVa6MsqyGuVZDfuqQJMPbnrrFXBo9wk4jB6ZZAae+tnTMLxvCLq2dsGxJw5DPOQgwMqiU9nSXQ9t3Y1EdcIJXwxHG8UFcMdXkny1sMVVDm6rWlwVJ1+BZQq5cvIVjjMV0LHA6la2L8Txq6N7DkE6nihXiXXRwLoQtFpfxts/Nz4N0bkwtG/sAbvXDRxJjqIQvDJVVdblgtbsMnfiFDRs3ogGryy4mxtJ+IBVDsXHDIfi4utHRte+mvO3pSpAK9oXnik6WNk90YqKDRi/4ahrI84B6fAsFNRTxqIfx5ECCXhqXafonNqOoTU8ESaVwM73gn2cg0kVGhx2sFtONr6mmtrqSRuBHQcsbSjoaHCSRPBqW9cHmfExUHGYUfYYoqfM6AjwTS3ANaJ7KS0Da7fzA1t6/wzdo/995NjQsTwgLx3Scfv80r9UnkR/Pvm7r3M7vE7qtnXt1A8RwD50agy+9daPSEUjblzytTogP3bSNY2epi/riAUcnN5X71JedvUaBLBx7vCBKVus8KqvXICA41iqxu+npqen9Qq9BWWWU1tdVhi0YgZ80YGrCa+rIQMvEnY9my+LPO167HvMewQObsEKazgGn0DA+tjSgDW3IUwqpfE7O2PrRVbv0slMNr37uTH7WHqZgBUvr1zLNXtFuA+xUxPeyrYmOzQjaH38ubmc3VVWtPO5eLhkoAb+8NQMpNJqQceK/+zdhqC1CaGYXBiDXtPTBS2XbQeKWjmXf2w2Ci/c+xyMHhgnijJeujd1wGU3XgQun4MorKQ4gJqtdKXmgFIzQRZn0K2/qAtau+vghUePwOxkCKaHpmFmZIZADFaXAo0+WLOhHUQbl/subVpeEVBRzyD5ilDB8ltc4c9yCHQEUxnDSzIchdN7D0F0Zs7yvSrceYYqa5WXSWjCyecPQ/umteCpqwEOW2hpCMpoqiD5qrAU7fJBK0FJRYUQgtX6gQ3grK+DyeOj0NTfBYnjg5AJhYAVReBsogGjqSToiSQZkDCCAIzTCSDYENBKoKLryIstr9Dn8vePWbY1twtUkY+tDqLLjyBUglRoEgpOBPo/dhTgHG5Iz08brnzmMcHQGpmKQToSBcHjuSD3Gd6SOGeH2NQENDX5C95r6W6G0+i4JoKzhd9Bxy117DCIPb0gYReEWKygeZYnxsG5tg8YLwNqJILbFXZg64bbNF377uDgyInl2O4b3i0TJ4L7vsJt9nmod6wlACs8MDiqf/ttH5UmzUEfoy/SUevJYVcQPQUvaU8EHLzaX++Sr6mxKyPTcfb40Rlbwhgwwnl1tVldzvlyzkIEzgu4WuTi1ZCBlcysFLOA4lp+RPt376QcfpdwM8/RVyCkHIom4DPv+6z20JFT+hnNzTW6ZS6dZr3796V2cbQ+kZTpvS9gYFXoZR25vbyHrfXbqPtR596GV9xUJ0JHswMeeTZIDOLz3aYGblNpffCJGVJ8wCIEkWXNxjroaqNJ52pdGrZsgvrNGxaW4c7X8DctwdGHDsLxJ46BJBv74W+qgYtv3A4N7QECqSq27clWtcqWYzWLBGRfA8u/7S4Bdt64CUYHJ+Hw86eI36vL64DegXbw1rqMUAPz89iFQCAxreoik6+qWFzpFtV0QYsrK9SVhgXQaLDBK5rBPdhLNyPBxOFBmB0ZL1Rsz0Bl1Reg08VcFvgYjuw/Bl1b14PT7wEeHYMUTZWorOcCWq2qKwZXPGvg8rth9ugJ47c9NSCReGb0n4SMPd5A94jknOLDiy8zvL2+thZw1DeCFJ4GORWBfEnWclSfD3vgeAFdZwpkYnMl6iwr2kH01kNiehhyBnU6WKA1QuBZ17ULet8F0UBRQddXZ3djIbyubQOcApmcnSvQDfDmpgaPgdDdY0B4PC9Oij4EwLhwAXqmXW7QEjE80OK3bNt4myLL3zo9Oj7O0sujPt74Xnkvenr//V/jL/a4qHf0dVI/RgD7m0MntP/GrsNLbdSeHnFggP3TjrZEwM6pfaitv7rGro5I6OoyFNcKfQ/DUtV+yig+sFrydaWpref6B845uJohA1iKWg0ZWIEL6hcoMzieqtx5Aq2o+RD5G3YB93fvoF7tsMHbFZWypzLaD/72n6mvPX9YV89EwXXwGt1Xl2oXOa1blm12fy177HsPc89m8sC6bCPqy1tZV72D/hUi1DW4762rEaC32wV/eCpYkA2PH14nBzu3BeD3T0xDKqMUVMrCS+taP6ztEYg3o3X437bzYqjp7lwRzSmJOX3hBILWA5A0E3VEpw02XTkAPZu70WEwFVYMkEUqqwGd+N8amRLOQqzxnP9MS0cAAo0emJ0KQ0NzTS7RSjehlGZxTCtHFKWyyVflVNZFJV+dhcUVuqBZBKmM0fuR4zJ9cgSmjw+he0JZlMq62OSrpaisZT+LwHB0/3Ho3bUVaJ4BDu2KRJ0faMVLOhxB8BgHm89L4DkTWnwVUWytpabmITWTBt6FgAvBqBSZzZ3n/IE041vN2FUj2oCGTCJScMQMaHUiEG6F6OixgsQ9XAkLQyvFMAiyeWA4vtDj9QIt8/NxkI+NQe+GDlJNLbs0r2mF0/i8zc0XJsCiazVz6gQI7V3GRDqCV5u3FlibYf+lhOeA8dUCJTpATydxGI6w49JtbxQc7jc8fC+2OVm+9vL6v5IMBfar/OU+N/XnA2vpn1JUWLSLM7gu9dxS1/fsqAPLzI9ta0nU2Tit1wmhl8wGp+tZNYKnYjKl95hGY6usSvskSxKx04JVO6wVA63nMkTgfCquGF6V1ZCBlS67VhnVMkC5nBrV0w70f36MeqnTDn+B+MyWSMH3Ikl5FvVNoecP00ueGuAZneqvTzUiYF2L2nMWgepJl5MJdXfZJjOKtOwXf7uHZnv99A9QX7GVCEZujvi0PvjkNIKzQpNzh52GK3cE4P5Hp0l4QJH/OQRavbBpsxuUVN6fEWfPd7xkJ3jamleECBAemYYTf9wHYQSUsmwY4Pdt74Xey9cDizr3LLQWqKzmczYsIKuyatnP5AoDFFa+4liGQGsObk0YxdAq4phWTbPA50IWV3q+ctZCFldLTb7CxsPpDBmJEbEGnbPI5AxMHj0BUjJVFjqXK/lqqcBq/TBWgoMjE1Df0wEsVjmpwsFJOn5uoDW74JhMDK64PLEiqZCIJaFx41qQTw4iGNPA7ffB3Ng0uX4Yrw8ohxNBawbc9W6S2IeV03R4mhQEoFgetHQcj2ggJ33rOWqzBvuWHAqGE8DZ2AGR4cNGuIn5DoHW6SiINTWQDoUIuBYfbGsVq3O9YGAX0fEiFdTQdsZjKTh8YAj6N3bmbOFwzGtLdyuM4QSsubl894jlf7TvmdEh4No6gHe4yf2a5Xs8M67NzwGNFVh8L0oZnPDoGxjo+a+3sb7L7/zW4Nxy78+N75GeCPioJ3/4Oe4aryv1zbVtJ7/98DfFb3/z58pPf3S/smSftOfHHDMCqwcv6lBb0qnkK71M8IqtzdrgsaA4mpDygboM9h6s1nGt2mGtpAWHCCjn44fOW+Q6urrwXKq4em5XIrXSVb1TbaIGd71X3Fbrod6HmonWjAw/uu9R+OFd/6XH7vkyXA360oe7vXXpGpegrqVp3Smr1MjIvDA0l2AVHGxPnaPh8zWd7BfR07W4BxB5hnix/gFBq2y6B2QfosDAtZfUEaU1mVFzdXuy/ajTK8LFOwMgJ+IWuGeg89orwdlQDxeaWjPhGJx+/AAET0whYDXGE41rW6Fv1wDYXXYCpQRCi5KvqqmsGlFL86EDONlJyxUL0HPfzSZW4f+hQ0KssvRqFldFyVdVVVaLzdOCFleWKeLsb1EZBRhJyq0nHYsjYD0JiVD4rIH1XEJrTrmbDBJwNaZIKAPzzwO04iU5Zxwjzm6HlC6Ar9UNOjbVR/CUSadhJioDuGsMhRAde7vAQePAZnQtToKSjFrqB8gEYlUpTQCWZrjssAKgJMLV8qxT5B6z++ohMnIkB63kUjGh1dPaCvGpGWMwVrRgpw9NUSCTPLfla3FBDTwIlhNJmDt+Ehq2bISpF/aT85OIp+DQvlPQP9CVU3Bwy9vc1QzDCWzzJQEUOUQwsRgILR2ghUPYrb+gKjB+jfLWEHjF7yEQbrtofe2vbr48fM29TwQzy71vs/O6/tK/lP7w9PcDz6Ul4X67mHzjB97I3frOV7H/+e7PSg+cGF3ayEBSKD2otIw3NjWPqjp3kmdTXRsak22pDHP8wJRtyuh7xKpuWJRZOWuVXlfEIp2vHzpv4LrnwKC+ZdVlYKUuFZXw790FbZ3tgQ/zNLUDtY33PncQPviBz+lzlgEJBUsIjm/zZhx+h9rNULpf1aipiSi3ZzzCZwqafkpb9nbobZv596M+4h24acWdxUsuDsDju4O5ZKssALEsBdddXkfiXeNJBaAw9wVYjoWrXtENsqUiFu5QO669glTEutBK6+zzR2B6zyBkMkbn7ar1QvflA+Ct9xMgxNPg1rCAciprNmZCzcW45hO0rCqrYROWVVizSTbG3wxrWF4ZPp3lk6/KqqzLnHyFN5NB28xKOOHMsLJSELzODA5DeGKqEFLP0OIKd5vOhgA46gJgr60BweUi3qc4GY1ku2PFNJkCKR6HFILkRHAOYpMzJQ4UlYA1+1I6YVH3zyO04sILasoohsQiIB14+SXmuc8r8jKCVzmBHghmFQRhnEBBYuoEsKKrKJnRIC9GcEAmFkTHKlAw06FbR4iWwgOYTAS7A+LBcSPkxIRWVVEhFoyBf91aiI5PouOcLHN6KKL+Cm7XOb0/7WhAywksxGYTpOhBYjpI7pdAfy8EDx0lxyqJjtGhvSehb1MXsGYrh1WDJjQgGUeDKE3VcteU6PWj420DNRQkoQHq/BxQmkUlwIcngtohjxcgGkUQh6tv0Vvf+ZrubyNwffM521Fdpw+d2HDvoZMP//h1L2Xf5LJTd3zvU8LrgyH9S6/8UHrPkoUTtD+zavNwKDg22l6T6RQ5rX9bS6IlkmaOL/hdYv+lrXLrhV/kPechROC8g6sJr8qW1ZCBFai4loLnpz8A7iu3w+08D69FbfDhkQn9ba/7EBwt/S5FLabcXo1d4ZrcUjvH6E3o45G5JLt7KCTEy/TS9HJ3Lm/ZJFyDQPmzmtkp7toegBeOhCEcz3tyZvvKay+tg937QxAKS1lr8wK19dpb+0CJhy0NJw0dV+8yoPUCL/GTYzB/8CTpIHEZ0bZL+qBubTvpPHNT/2UsrsolX5VTWa1qa8G/LSorZN0DnGZ8oaUIwEIWVwUAVqCyVku+KqeyGmEBNOrVBKzImDCMt3d2+DTMnhol2fJno7KKXg80bF4PdRt6wdfZTkqjGtugF33ZumLNCOHUjG2JTwWJvVQQAcsshpYiV4ri32UYxqIiw3mDVt7GgpJOQGImSMoUk/hRoTDfliWVxTjg3Q5EkzWGco+VfVkGBnygJCMGoahyrtFhOLsxAKKsiWbl9wfPCEvppHH96tmYVuzTGoP6LZsgPHSaxOKWdHA2kSiZgtt9TmdCMLTydp6cGGetw/CPRfcUTr7S0XZ6uzsgdHKI7GcqmYEj+0+RsIHsRLgg8hDoaoWZE6Nk/wi04phWvMn4/g2HgEaAqofD+f2gzIszFgXd4QSKJHKhQSNNv/oHH+1975s/dfQr5wZcNVIk5ms/kZPocffX/lH49aYe+t31furrj3/H/sixYe0/3nlnenzx4GrYMaI+QUGPwTavNFbrVLo8orrtwGM/TglqcD8W/StAND4Mq+B6YRdtz3kKEbgg4GqRk1dDBlYStgJN+30aNTdP6ySO9ZPwaqcI70ZtQiQUhjueHJo+8Mt7fVEAW5kORcdtWGUDaUanOmvSDSKrtWPhIyExB48HxVC1vnI57U1e08d3iqz+fRzaiBv5gV4vTAczMDmdyocHmB3B5Vv9cPJ0HMZnUvk+1NLXXX5TH9DpSI6XMLJ3XHkZuJoaVkQSiDxvdNw4+7v72p0gOh0GtC6QfGVVWbUilZVM/1vCAsqprHouZEAz3ANc/FlZXJ1t8hVNIXDGcEWA3RiARKdmYOrwcZAsBvpnknzl7+mCrmuvgMCGdTmvV6tFU9m1ZbedglwiEh7wOJvqyICnfdcloKbTMLn/CJx+8nmYR2Bdbnucfm/u72Q8c96gFW8vVouH/vBgwb7RHI8GSA6iLrN29IxAi3c5ibKJK8UZAzsE27wNQTdvXouyUdpUkYidFbFXYyrLzcXODLp5/PDMAYZWfD6ip8chWWQtRWDQ4ybHWSlTNCE7AFtWaDXbU+xh7Ky1Q3w2QRTU1HyY3HPY0zlmqvwEXg9geO3KNXZOlwPSzfWQSSh5aM1eYjhMAIGp7nQBhUGVMriV/Aetm0JQr9lsQCUTkImGgaO1z37jb7r3vesLJx87F+AKllCcv/psBpeKvfMnnxd/0lJPfWB9N/2TP/2X/Qf/c5/8nf/6hZxaYGW4PShwKRgN8yn0OLSmNn0aDZ63iOrMtv56eXQoJJ5OyYVGtbj4AGupUra6XJBFOt8/eN7BlYQMbFp1GVgxQyU8YEVQh59//hUYaArAh3HOQDIFd3/kS/C/T+4B5Y4PUz7cNpYLCdB0Gs9e0eXea/VILpegdtG0Zksr9OjQvDgpq2R8XLmgAerGVJVaUvhBpaU/wAg1dvoHCKi8uFlsDoikkMBDh4J5FdVkqt4uF4lNO3YqBrmcIYva2j3QDD67BJplXNly6XZwtzavmHMp1GG/yCEyBX3kvkehYdM6CHS3lE2+qmRxVZB8VUVlzVeo0nKqKnEPcAuLSL6qZnGll6isur7I5Ct0GYpONwg0R2IoCTSEIzCx7xAkZudLYWgJKquruQHW33Iz+NetyV75lqpPGujlUEu3bLtRgiuXNV9Q7QoPNgQemrcPkAeuUHXigcdg5tBxiypFQQM+l3iAQoD8/EFryYExX1KxPyt6pCOlLgMsglIeASyHQEv0+gyIxElH+EHzCFUY0CgBp4UDpckkYpeiqtk05A1GsOVVFMe01gUgPjMHybnSXCR7rZ/E44ZHRsv3tNEo8E7n4ttJdLwlWYfWbRtIlSveJoC71gvR+VkE7KixEkVQ0GeyVfNwrKujxkbgFW96JhojsI2V30zEKCCVTKbh2OFhWNffnh8Y1fkgOBUpUu7NOS0ZHScaDcQQ1GJQhXx9AlLAABdgSONkUVy2GfGcz8V9759ua730098/Pb3M4MooilrSRr/ujjSekXv3/f9hu87joD74jpu5l7/2avaL178/9YdKq1J1HfU/Go2fi9d3Yk6M3X71Ww8cO3ZUYBmpvbs2XZeSmaGTc0LuhMuyTKmqsiz9xepyZnrJnv2D5121uRCKK6AdlRG8roYMrIDFadcpnqM9936NupPj4HrU/v3u2QPwob++C3ISBk1XA83S2HmPqHJ1TrmdpfVaTafmpqP8kbkkt7hRmY4Lgi5PrP2lLdznUCO7GfcBdoGBLf0++O0jkzklLwungRoButoccO9DE4VQY/7D5bPDhgE83ZnIrbtx6yao6e5YUefS3tYAgYs3wMSTB0BKyXDqqQMwcWQEui5ZDzaXbVHJV+VU1krJV1mVlbgHcFhpFczMbb3ApmhpFlfa4pKvClRWXFa3BuxuL8mw1tIZUpp0/Pm9EMLlNYuz05egsgouJ6y7+WXQetl2ciPkp/6pom0plQn1LLDmrifK8kGq4he9bS1w0e1vhNljJ+HgT++D5GwImtZ1gM1tgFYyc25n5Qi0ilZo1aFCka6Ki5JJgxJMAwSDEDG/xzs9pCCA4PYQZda83YFMABC/PZk4FGDooyz3oJ47XLoBrTNREHkeUtE4pBOlM8jOhjrigBA8MljaXlEUGaBxDgdRYxcDrIMH59GpV6G5qwbCJ4dB1mkEnTIC0Bi5PhDPAiI5cNa3AI+uw/mTR0isLT6O9ho7GjQZ24hfY3ClL4Y2k8sAYrEknDg+Bmt6WvLwWuuE4EzCAH1TWqWyEVQZBKZ2B+gsWg8Ju6By96IcnAJZsGHvUzPeFeo3dDq+09tmf8XR0eQyGsJrDFWlTOv170s9+LabuMff9gr2HV439cknvmV/7YnT+r/82SdSp8orrlCxchZN05TuXR88deSFYLNHarVx2rr+unQ4lGKGp2JcEvu4Uiupwsv/Md0Ls9yF+GH2Qu3xqsvAhV8GeoH5t39gbuUE+9+hC2H/+DTc/tr3wT4oIlGO1Wm7XatAk7j6X540272ZgMBqrXh2MZZhDo5H+Hjx+ha+NM7eVeC2AeHlaMPeZeYQwZXba+FPu4MFDgL4DQ51LlduD8Cv/ziRzQUqUVuvenUfqPF8/FzNmk4IrO9dXA9+nhdvbweIVARGH3oBMuCBWHAenvvlY9DY2w7tmzqM6e1sWMACFleFYQFlVFYTYOlccQEt75NayeJKK4xXLauyLiH5inP5wNvUQrpvFcGqjPZnch8C9j0HSBZ5OWBdjMqK43Q7r94FPTdcDaxoy+8bFI5s9DI0rJdbqaXClZ7zLdUrbIDxR+3aLrj8b26H0QceBptgNNVpBG6Scu5snXLQSlFlVdYFL/lyBxaMka+M7iE5HoX4xGkEbyyCVwyxXnQODYjFACtniE0AYBckmtUs550i7gEYWvHMCMVTZaHVEagFZ2MDTO09ULKx2N9VcLogNT8PFMsuuDNYWTmxbxZ8dTaoa7KDqugwdiIIzRu7wCXNQk1bHUSnJ4H1BBC8UhAeGwJ68jTY65sQuE+QZECWZ8HmESAVyZgqtUzuQazMMoIx6TgfisHoyBS0ttVnYQ3cbh5BrWzKAnTe6hY/pRKg2lxAo3sWT5fheyoTixC3Bi6dAIm3g0Bm6Clcye7Kj97W9sG3fProF5ZRcqUoqB5Y+t3fyCn0+OrdHxXvXddBfxg9fvjIN+zf++bP5W//6AE5F7tBRHYdgXAFZxqOY4njTUJi1ONB23CjW57xiGq7z6ZsdPLqhCxn8JWx6ipwYRbpQv3wBQPXF/YPals3vbhcBnZtENw1LrYe3bRuVdW1lAShyZASPDQqJ19sV9xPvqT3tjbAR1Aj2h6T1N+/99P63+8/Sp3pqJwKOBS7W1BaaVq3Syo9PhbhZxSNWnrJV/3sVfib1vINAkN9XTPVO+zVOjSWhHBUtlRlMrDjusvq4U/PBSElKcVMQpbLbuoHSOVzyBz1AWjavnlFn1uc2dxIHwUbVwOnlVaQNAaG952C8cEJ6L14HfgavdWTr6qprFph5SsGK60OARaTfFXd4soKfubfWmHCjjX5ihEdULOuD0SXA9RECpRkEmaPDcLInx4n07IlHLWEsICGzRug/7U3kenmCkxZUWLVi98rrm4FRdBawPBUwfoy4QhEDh4GkTeaaVyhKpY+d5UUC6F1iSprhTq4WCk06IQ2d9vYRzUjQyw+A/HJGaJA2nx+EHxukvhFptZTCgLTEHH5EBw8GR7Hw2kCrZUWrEg762vLQiseiLibmyA6NlHWPAn7MXOmwX9ugIq2u7XXB4JIg4hAevdTM9C8xgWcipOhbDCLw08YgVx73u5+iE2MoNF6BOLjoyRRTZc1Aqm8jS8oDkHisBE442OQhdfpqRCIIg+1dUYcs82GYBd1MHhGHrKxrBa0ozMIXjkRWASqmVjYcCMw94tVMpBhOBA0YpEFAs987CsfWvvQe//9+J7luE5w0WFYZEWyP/9UGsdqvP93X7Zf63VRH37f6/nr3/BS7nOv/JvkU5Z7hFrsdTUZ5ZLocaTdl6kROa39hacf8TMXX55YZcjzvsiY4f7PgasJrzKCVxZWcMiAjaeoKzaIfo+dakS3lw0Bq65qxrwmx4Cvxc94a11MLBTTggdGpfhKv9puf73mePPN1LtFAV4vS/Dwcwe1v2vpkHaOTNj1SkInthNUlfL2qqoK7OkJPeAW1HXooERm49zhSJqVrOrp0rtP/aysXBuc9FfRNvtJ9Ss3D3U+Hu5/bNoqBJIGcX2PG6bnMjAdTOXVVj2vtgZafNBQS4NiWkvhJJTWyy9e1BTjhVzMRGRwUiFYI0ZgAppgQvZDMpqCZ+57Aeo6A9C3owt4BLjZsIBqFlc5wLSorPh9Ft0AGCqI5ZW2+OSrs7K4ohlwtnWBf20PiYlUEwmIjU/A8V/fB9HRsdI+T6/KVQWvu1uaYP2tN6N1d5eBzdLeNN/f6uV72pI/9aJwAeu6868rqQzEjp+AJIYs8hYFKUWHuHSOlVYbu7wqaxaAKYv5KGX4rmK7KGNqxVATk6E5SM4jUBUEEDwuYG0O8hUc8pJC1y2eKMdJh5UWXuBBdLtg+tCxMtDKQmBdDylda1Xhc20Yjg/VCwuQYFBV0HUr2IwiCS1OFmJb/eAOONFrjGWgga5B1AjOHduPtrvGSDbD+4jWqSkyqd6ViqZLEumw+ov3iSKZaTpJhhwdmQYRAavTYUxE+nxOmAnGjOOoUxb7FwoodI9SUgbiOPwAK/CW1pLB5Zt11G6hF80jxtb7hG9fc1HNpX98LnTW/q6oPWBVVaOX0kbf8P7kH9//Bv7p11zFvreuhvrKo990PPDw8+q/fvteLYJDD9D6yrb56Mig99SS90bmhXk7p0UdLs+2oVPHuzpr0tOzCW4slmFkWF3O9aK9cIFCBFYEuJoLvpFsK+3MNPoY5rI+oQGBaxO6ZVgc8ier5ZtwjgVHrYe27ernU6EEhAbHpaikrLwCyvd+Q7281gf/hNoANTgHH3zFu6gnetfozGf+tvrAoVKMa61dcYyOUc3xOJVIyvSpyRgXXY4+9Gy+/LbNwuvRxl6vmbn/O1Fn8+Dj0yaA5dVWF+qIetqc8LMHJ8r3u1hhv3EdAqOI2dHQ0LpzB0miWemLnjUJIEKNCo38aXSDReBYpIO8P35iGiaH5mDr1evA3+CunnxVRmUl7gHooudxGVdL5YaqFle6RTVd0OLK6uup5U4J5wmAq6MLRI+TdOaZSBiO/+QXMPns8wVgsFSVlcSxvvIGEsdKWdQ4veztrpvQXbydC7FrGWgt+hIGuvjQMMRPDpEkOpP5IYEgT1LPXXOCK6rloPWsVNZsWABVqrKahxUrphhas1PgWTA3niiS7IUtpCg6jK4vBwFZY4CsghTNkM/QfOk9aLPbYH58shRa0XXatGUTzBw8Ckq61F2AFUUyfY8TuawLtqkqPuTuOjtRT8k1njtA+QOlkuIWKm4szPtCg1QkDVKyfB+P2xT8XYevBuKhIPnOqcFx6FvfjvoU43y4XQLE4kqRSmzcV0p0FlQMvqiBZrIDBBPxeLQdKQSvrFnRBT3WvvOmpjsQuN65DC0MfSbWYl/+sZRAj8//6DO2e9sb6E+89GLunu39yr9SukZVsUGrCMeoz1HXb9o2wYCKjsAvxDqH0ucWtPHxKDcHq8u5ZrYLulxwcF1pIQMDXYKwqZ1rEgVowpaUOIFX0RY3L4LuMdFrh4bNXXxNPK2Hh6eVSDKjaxd6n/7pPZrnZTv1D3Mc3JDOwI+/+j/UV376O7C24ktSNzlGpwMOuYGldb8ocpn6ADU2GWOWA1qJURBFnVnI0su6+Vqeob5ghnDCpnVeOHoyCklcZCDLDqbsetUlAfjDkzP5DPgitfXi69eTOuA5FXfLRhB9Hlh5w5EK4KobqquGoCEkB2AsWZ8zfxdQ57tmoA1q6l2ml2u+qlU5i6sswOomiLI8TsTiSi2uFpV8dQYWV5wdhLpmELxeAiLY7/TUQ/fDqfseADWdWZLKauUaEsd6zRXQc8M1CJDEyiBqBe+K0KqXgVYdKocUFP5AanwKIkePE1us7CeTig5p5dwarWFo5azQShWE4y4JWqksqGYhKqtKUgac6kRpVQ1gpaAEWsFSChWfeymWACmeJPBKc4blEVYysb1VCmfOM/nuKztbULhvDDRu2wzBQ8dAKhMPa/PXkApXOGGq5HwgavWjzYiaL6dtAoTH4hBoFgwwL/Kd5RwuBMF2kJMx4zCi45qOKaDI+mI6jtyfMrq2h05Owtp1rcagSuAgkchgzwVzQGDsqxQ1LLZ4CsExzYFI9FUwk+uN9QmUcf3Y8bHDIQs8/ddf/uveX77/347uO6s2Wldpi4nykpc3fiR1eMd65k2ff5/tnT63/gmaGoEPvVGt++AXYOpMNsdbU5MaDgtHm1wyzq9obvdK3lCKOR3LMBKsLsu9XNAQgZWkuGJ4lbZeYJeBa7fYHF31bDvLUPWahrpZzeyNz6QzQANdh0j517WwXtTGRibn1WgkqSkXYr/uu1u9zueGO9Cf86Pj8PbXfYA5UHaLq7Arg0BVtBnVSXyi4nAIWhMZ8UrMqcY6uhO1tcsZeHdG0NrorOeb3amv6brkxVPXDtQZNwZEuO/QfInaumGdB4ZPJyASK5XFiQOB2wbt7U6QU4YFobu1CbxdbfCioFbIhwokNC/MKC0Ql3hQdSNbu2NtI7SvbzSK/C5kcaXlp0+Nz+CYVqMiFmgVkq8WY3G1hOQrhfcC768HmjeUNykSgT3fvBtSwbnyHLVIlbVh80bov+UVpNJVAanqlWRTqjQRq2Cr80Bbbvq/0qUjzUcgcuQoSKF8UQsJQUYcDbbOseNVDlopWE6V1UzV1AtBVLVCazGw5u76rJ8InXuNIkpmhtQtoE1QxddQfD5sxG96PCTMoaQRQdd3bVc7BA8fg0wsVvI+DgvB1czKqbAEkLHSjR6nj85Dz456iKHtxqE1Y0NBaN/YA1Q0CILDAZl4FERvLQgN7TA3eJAcQM7ugkQotjhoLbNgp4Hp6QjU1bnJv70+B8zNorYIK7Q4ESsSNqqHZdVV1Pxm0PEWLZP3+Ngw+FgjuFXQvcvSDKn54Hfb7h5o7rp63/ip2JkPjHVKP8vE1GcPqcpVfxn/xv98yvNQT7f6s4vX6z/53Zec/3LDB+L3FvY9NL1QoWVssKZqlH46ws94RTXiEdWWGruy1sFrk8EEG1LPINdidSl/W2BWWwkbwq6gg3JBQgbeeKXTH/AwHSyj+xVFxzHu2nIRCpYOBU73tNQyrlqZic/HVRwLe15O/Cfer3mvvUz/J5aFq1DbfPfnvkF/64HHKKlcR0QZCbTVr1iZousdcj1LazWoIQjPJrlpWaU08/vLmNS5dDusHU1b2lrdsVtZOnJjVm29ZLMfnnxhtsBFCf9tE2joQVB6z/3jpkpYqLbi5apbtqD9NTo0XHmnfuv6F1XrkolLMEv3QVRzg4ynLtF++ltqoK2/BXg7t6jkq2KVlSREsdgnVTB8X42rYmGVNQevZVTWYosry+REFnDpdBjUEPpGvaFA8QhU+m57Cwz+708hNjaxZGAlcayve5UljlUvssvSF6A1vcyPUZaXrMGhUKGEq06U4uixQUiRfTCnmhFsZVA/nUoq59ywogBaF2lxVVllLU2+yqqsBDxVDK16eWi1qqyQh9YSoM2qqiaUkuMlSZAIBo1SrvhhETA9fh/Mo2MrpUr9733dHaSaVmouVHV3E+hXm9f5YOjYPLR0usEbsIG31gFaKkZQnVyieJARiUIsvJ8ow56uPojPzkIqMnVW52cmGAE7ulcdDtEAdHTbYR/ZTGTeLHlL5Y4VDhPA4c84t55hCptOG89CLCWBmzOS7kRB73vD9bWfcT7g/8ruyb2DknoGdE1pDF3FDmspy0e+zpz84b+2PYxO036vi/rYY99wXfPQ88qdH/9man5xfSxQFkNlCKeZDHqcbHDJNTyjNTS6ZHc4xYzHpVX1dZkYbUUsKwZcsfx80ebzEzLgECnqTS9xNfmcVCe6/9wKsbXUtZwPUzGJWXILrH0SZXmbqtLA4/abx3GwbtrusTOpWEqLh+Jq+lzt373fVF7i91IfRRwwf2qUetNbPkwfy+qq5bTWbF9QKecoEmLssSDjZGhdS6vM6HyaTWS/i3320ICfoullmz1gKm1r8dLhbrW1ulu2oEF5k882+HaDdTRoRB1MHHX+2EWgWG3deVEt/OkZC9AWqa2NnQFwCqijNW/Rhm2bjCpAL4Ixu4Y649kXjsPMwVGQKA/ZY5vHDp1rm8FR4zA6fk0vSb4qp7Lm1ddsIhaCVpdQXmVdzuQrs1xrbsoZryM5D6kRdMk1dwJvqwd3Zztc+vF/hKEHHoSTv7qPxCguBK04jrX3lTdCC06uK8ipsiZaaaUXRAnQlpnuL1BhqYrOA1l1Ozk0CrFTQ7kSrxg4JDTCVChj0HHOK2JloXW5k6/0UhDFoboGtC5FZaWK3iv8Lk5swiSHq0nh44kN/efQDzHYmxXDG2o8MtgarUzFrNreNaCg4x7NJr5VWeweER0nDjx1dojOpyAW16B92wDEjr5A2gTsl4p3jdYl4F0+YH21MHv8GMSmQ2fdXuBzMjw0CX397UaVNZcNZiZCJDyAssSyZgNYsRlEEtEraqTN92mj40F/ChwD6bREnArwC93dyq31fttzO9ntbbOp0O6DwaORpW2cwuCCEcuRo0rTuKXQqds/x3znU7dLj3Y105956Q7uFxf1sp96xYdjf2TRyXQ67BXzYSnzkih+fybBhRycGnOLarPXpnTZOW16NsXNw+pypov83N4LHyKwEhVXQAdGQvB6zkIG1jZz7E3b7e12gepGl7uIYRWX0z6f+0gzuuAUKc7Os3IioyfmE2pqudb9vts0xy3Xa3egNvWmdBr++/PfoL/+wOPUAiNNqiom+kTZNzbKNaHtHgql2UlJpdVi0YVa1vNFLyrw/5LGizptrDiA+kqm3jl8GU0rHVm1dWu/F+5/dKpEba33C6gj1SE4n6motu68aQPokhEP5+loAVug5kVArDokT47A3N7jkEpkyP5im53GtQjy6r15f1ar5VUVi6tsWED2MzimFSutxgCgQvJVicpaLfmqnMqq59mVyqtruU+rEiRHjoESDoJ/w0agbCJ03XAd1PX3wqEf3gOhwZNlgRXHsXZdfSX03HgdMKJQRGKWuNUyZVoL/rRCbAnkWlXYMv6s5n+l4CzEBk+AEk8R1Yy8hkBDZozM+vMNrWdmcUVVTr6yqKz4Pwa0qhVU1grAWgy0ue8BWONlaZoBzu0iMao47jUdTwCNGj3R68U1j8vunNescjd/cnhR0MqKvNkiUeD128k6Q0cPABYbcTlhWZFJZCmuWCXFYpCemAMpuXyiVCYjw/j4LLS01hntkd8Fc6lkgTKdVx4p4BBOZiQFRGyxlTXXJmotB5FInNhtYa9+xNuuq66WbvrVL4Wf1ttrX+pt2XF4z/TBIwk5ubi+UNfp5Z0SIA4FcNudicHt/cyb7vor+7trPNQXHvma+xdDMPODhS5SCsqrvwmZkdFjOGCXfRyt1dU7ZFckzUykVVqB1WVJJwiz2UraIHYFHiR8gJY1ZOCqAZvt0nVCt12kO3G4DwFWDazzkoBew6VLia8yjuExJlgBz4XjAkOomdYpKss3GvF9Nl43VCXKKFhIjIEsXso6RWULm2RvLj0bQ69zqB1xB1jaIcmAVdiUdhZ5GP/7ZXVbS73+GTwyGhmn3vHGDzJ7LWRacSED+DKiMc9orJNX61GLIjQ1K8GhCW1GGqW1kvXpQOsanJV9VdH6GA17uVRYX6enzd7qbr6IoZh6nRxUlXHyoVuy4LWmzQlD40nUgGslauulW/zw20em8pZYVuxA/2nvbwZOx50RzjYWwN+/ZuW3KAiG4vuPQioUB00i0je4mmvA1Vhr5P4uYHFVnHwFRcUGiOUVhtYFVNazSr7SLfZLxTAM+YQ6vAIpEoSpp/4Evp5+8K3pBFttDWx551th4tnn4MT9fwQpkR8HNm4dgP7XvoIk4ZSTtPSC6ZRiWNPLh7vq5T5f3mkgd20lk5AeGob0XIhAFmnksMrK0Ua3i7blfELr2amsAJWSr/KVQ2gjPEBSFxUWUFZlLQZWY17IBGbjbzzExSVUsQcrrkqlKSqZ/qfR+eZygxRjcdYY/qizR08sAlpt6PtsaaEM85olxRDQuZKTaTJBhD+XjqVBSi0/DwVnwuDzucDuEEHgWTQgFQz3Aovamm19sbIaiacRqPIFFVDxX3a7CPF4ElweF3mlqVG/rr5ef3B6moryDL9hR+NA62wq9MyB4LHwIlodRtWXZodVsf/RcMlXncHPeH27D6vqNe+NfeWHn3Q+0dZAf3Yt/7OdH7g59Ndv3g0Hyw6jqFwthIrbEkxyYTunJl281ugRlE5BpacjGTYGq8tSmGxFLSvOkBKRPWbGZfEIu+1ql+ezf1az48Zt9ps8NrqPxLGvsIW4uzBg9zpor1Ok7KhvWdI56e3WmT98X3lPa5P+LTTYfvKL36VfZ4HWM7oOnLxid3EqqUEYk5jR2nolJQiVYprMOanlOh7YS6aoDXK7iY8fXNy0pa3T2/oyDK3Z9xpcI1dSlFaj60aHuK7LBYeORwqAFD86m+0wMZOCdMYYkuiQV1uzvfSlL+vP/WZN3xri/7hSFwqXn927F6Tn94IWN1QYzusG3/oucLUECLQaYQFGdSwyUjMdBEiMHFb8zPKvWQ9X8tmsywBWWklFLI6orNbqWdnqWmAB3VyIgEVtzQ0ZzPXl8uzNsIRc0QI9r7LqlhiOrCIO1jxJ/Bran9DR/TD66J9I2U281G3oh23vvA3q1/eCp60ZLvvwe2Hbu96GwNZfBVrLEZoOpZGuxgbqZSBXz0JrpVFhcAakkydAjRsWzzLa3xiCLxzLSqBVO//QuiCw6qX7ThFoLZ98VQCtlAmtsmZOVVNFKms2NpPOz/Oa71NUFZWVNlVe0txkwxSMz+HCAThJizAMTtxC8Col8wMYwTT5D58eXyS0MlB8hZSwkcVV4FxBa3Y5PTqd+zmPz1XSbVudBHCFtWQqkz+O5oPneRIige9vM5KA23Wl8sq8Ykt76x21L93ZelE/jzMwsyq110fhR9H0B0Nsv5Zhcdp4fBPQ5NmyvOlj8T0//r10q6oLJzoapO///kuut3md5foZDRaTQ52UGWk6wY3IGh0SGK2xRsT5GvpqqdiFF9lkshW1rMieGR2ozPazCBn44Ks8DS0Bto8FqhEbBCiLSLiiiv6mKrTpVNHnqQrr0RdYXxmnZYolRYgoDrUvsqToaU2vfkd+8WNKy9b1cBfDQFtwDv7mVe9i/7igxFp2OygjrhS1gC5OrkF9nEvRqUg0zZKYIJ7TqYpDWj3XPC7PUmZ9fj7Ab21bu42m2Bbr4WVohXVw4Ztzamu7C06MxEk4gK7nfTLxf7es98EvHhyvqLY29zQAhwAN36FijRccjYEV25IIYyOgj4xAJi1ne2ZgG/zAoWctWwmrOPlqAYurgspXulkRy8XnVdaqFlfa4pKvKqisJVZGVKHKWsyY2fVLkTBMPvcM2OuawB0IEJW8+5pdwLAcOFuaysqKevlsqbJqaUVzVijzeWsoATqOfCYBfCoOybgB1gqCuYgkg2Qp94oPRSaxwqC1+GbMWVxRFnG6vMpKwgPM4gLFKiu9UPJVEbDqOQW2UGWligpCZ9eDK26JPh+kw2FyPKPTQRCx4wCPY1FpSIYXduvD0MpipbXkSrHEVVgUd/zfdPTcQiteUskMzM2GobbWQ6b7sYcy9rUtniszkrgESM7jyl5GUpfVMcLhckA8HANPrY8cy7oA7Gpp0X87PgbZ2E9aZIRNu1ovah6PTT15bG4oUaGfo5Zris0YDmp0uRKyX70nHR+47i8+35z62FaPXbnjV593X/LbJ6W//5cfpCJ5xYWUn6UXuy3zaTbk4NWUyGh1HkFpSSv0DILaNKwuZaX13YjFVuKGreQRx5IOmMtOU598i6/za++pvWldC/9SgaWbXqxXC7bT4jnKjstcozuybMb/b74t37B9k3YP7r8ffYa6JQutZ9p+0BoODVAaUCvgQDfzVDTDzlsbhypbu6zcitbFWpvErQ3r67rd665nKKa1OJYp4Dy9EyjNk2WgdZ0uOHoilgOjLKR2tNhhZDwBipJNLCpVWy97+aZcC+1b17Firw02HgVhYtSAUpoByRcArQFd6gJvlHDVTEU0q7CaYJpTWVWVAGcecE3VVdNzBrAMLrPp4nLhAbpmiYetpLLqZVRWvYrKmoUDTSuEUh3MbdEKVNYSq6ksY6MvJKbHYPr4IUibtkdyPA5ze/dBbHikKFa2KCOvXIYelPMxpSookaXQSqeS4AjPgIDLBOMQJHQuQtE4BBNxkLTCeN4VA62VVNaCqfnS5CsqN+FiQquKq7RoBFKNVkHPiaX5rFfdpB499zeVC67Scy0JlTPO10wllibrpfK1o0wwpnJKLZ4hsdX4iH8rPva49G82AW6x0Foyoi0e6RZAawbk9PkJl5yanCfhCUSldDvKqq3ZP7ETQSKWzCuu5hs8GtjJkgRZW3Ic7nrxpdrLSlt0urbN03TjZS1b2stfLypqIbRlbPMr9y/41H70ey33Hj6lvgGd1vqbd/E/+8Gdrs2FB2Bp91BCYlKRDHsaT3bYWK3JJSieVUY9ewZbBVe07DbkacUiWJZ9bF0j8F+43b/xi+8KvK7Jz17FMlQtjlEtrn9MtBszhlUz41PxM4mxyWsK5BYisa16NoYVDwjNmFbze2D5nJ6NaTXnknQ9O4jUc5/XiO9dtg005tmMdVvic6hcbGxuHI0WBvU7IgJZG/obt6rUdbs08aEfSh/zefS74gn41hvfz9z+D//CBBc6TpUemkZRmQwtoo1pxIcoIbMTKYXJWD+jaohr1fLfp87wd6tuk479xjl6Z+tFm32i9yp0aOxlRuqUgwvfkFUS25oQnE4kcMxUAY/gvzf3emHvkUgBkOiWvsnhsYPT7NztDQFSsWfF3rCZvDiQdPhAFmwFKmseWK1QquRft6isusUWC0zIpTkcN8jnY17VoiQrsj41B6wlvqxaUSxrEbDmRVqtoHJUdjCRV1n1EpU1N87QrIqnacyVkSCMgD48M03qtpMp45FRmHnmGciE5kqhtWIZV+t6qZzaVu6rVtEVl9/kZqeAj4bQBWwksAWnQ3BqZAxiiZQlNtaE1pUQHqBXVlkxTOLMec7uIHGkotcHnNOJ4M5mpHBTeQWUIvl96PqSlDyU0pQBn7jsnvk54kJCpqn13L+z3Iuzy41/6+Ybei5vNPuZLOjmoDgHz3mAxQUqnHU1hvMAOm8SaiRVpfpMp40kYrGWwUzlCgy66edrQOv5q3qJFdZQ2Lj3cbyrcVyhKG7YCDsVRBHS2J82e39ZPuf0uonqmgXe+ga4wl8LzjI/yTl4++Vb/X2Xu1kHX9BG4xyQfInWs3qoqANC7QmLn8v2BapK8xxH/8VdieG7vp96kyTrT7Y30N/73b+73+52YL1FpTUcurDE31XQz4bT3IykUkGG0n0eQW5Azwycg/7sRfpQdq/AEIGcgPMiIP6yIQNvuMJpv3rAvtFho/pRP8Hiwb4CoMH/hwtpn3Wd+/gH1fYrL1H/hWPAd3qCescb3se9cNbTUAnNk0yCCzXI0ViGiVT8/Spbt5w+rpROM6mETbyirf8a1A3VkgQsSofC6UGg/PZxNOpW67KQ2tflhj88MV2itjYEBJgJZUCStQK11UodO199kaHMoRW7O1ou6LmWUxIEJ4JQ68ATaCyITYUTB4rbCzrulNG+OGOzeHIP0naPMWFWJvmqmsVVQeUr9DmGNyyvCKadK4urqslX5TxSi5Kkyhi3WvFXTiVgPp0EEQE9j46fgi7u4LPPgb2xAby9vUCRcqHFBQIqxbyWThqX2GApCtCROWBSSQKKGLSikQSMjU0Z8FCkYuZiWvUVAK35mw54hwsBnI9Mr4seN/AuJ3GmoBgWKNZ4YIcG7LKMB0AyAkJc2So9P08SomJTMwheU5aw16xvq141+SoPXaaOQhlKQT4swIqM5pxLDlizSWK62QrpRHXFfzvr/JCYniPvJcJxRGH2itDKCazFOYIqO7DRLaEC6dj5hdbsEkG/63FwwKLzINoFSCdNfcEiH2Rh1o4G30k0YHK4nLk38Huiwwax+ShArfEyGgTwl1yuX/HbX1H3lWvr0Vnv6PV0+N207dGDM4NG4pauMcvqD1ilf7F6ev/2CSmNHh//9T+7dtd4aPTs3ng6E/0OarXPWICLSWycZ7SMjVPr7LzaJCl0MKPSK1ZpPE+LvpLV1hUProj49e1begoKE3z4Nd6aLd3CZpGl1iqGIooGXVXKqlJVnssFtupFn1tUww8lyckFY5dK22P9Wyv6TFHf+p1/la9pa9Y/Lstw4H9/Q7/76//Dzp7NBD2NCFFktBo0kLc5nZBUaTpaaZ9pWqc4Xi/bvFCUOcynlu2W4YaH6q6gKXrOgNbya3bwoWuyip7HxUE8oeSdBKxqa58X/vTsbI6LdK1QbcWPlo5aUBF42Ov9wIg8nHP390o3oyLB/vsPQPc1m4CtcUEGAQHuhDUTqomyyPGQ7BsA6uhh1LREgUWQxsaSkLG7QHfYc7GrlSyu9OwBMKfzjeOARn48A4IJrbpaXPlqMRZXVruoBSyuSkqLFiZfLQpYC6A1f7Nky8+mUnGQKBYEDFx4enBsHJKTk+Dt7wcHtkXSi6BVrwIrBZdnVllG2zuPzk80nDNBxl6Zk1NBiEXjZRoKyvAcjcsXFlotP83ZbOCqrQNHbS2wCIQwpOJpdgKqDF108PMDFHwp8k47cHYb2BEgGmq9iiA2BrGJCYiOThjVqiijppY10LKaxZVuOhdAIdfm7bfMxiCfJGZ+38xvx7Gf2UACGt0n2MouNRcmiistySSJoBy05s89VWYwlb0OjPeI0pqRL0j7gLdjeioEzS0BcLrskE5lLF0KXdCp2J02mEPg7nA7C44/HhDYXQhq0aDDgR0G0DFtaaVewnHwABqDaeWlCd3d5Apc77U5n3t8dM8JSleweTe1TEGuQOywKgTNUjRFFb9389/HfvNfdziP97Yz/9HhfurfYtRlXz+bbZE0WlYkesLOKTUCp9UxtB5OKsz/ZdeB9O49gyvauXylK66ADqCC4FX+93fVdrYFmIt4mmlXNF1VVX3ZKlyt5CXg15mvfjLzHo+bfnMkCt94599zd8/OE7cuWjP6EI2ilnYcWErnOFrDHkG610sFBY5WF1B86SqgSRlOYWe/XNG2bZOijtt0neKLGk4yK5hlJQcfrmcoqT8Lqf3dbjh4PGJCWF5tFUWaeDDiYgRZtTXfFxv/6tnaCZSZ6OBsrb9g51lJZyA1ehp8bQGo7WgkG2mzGSqRjjpeisvfqqrdAWrfegj96DvgqO8GEm4WmgdpPgpMrRd10Ez55KsyKiv+DC4uIDh5E2TPzuJKSsnAi8xZJV8VwmQZqNSLi65SOTcDY97aPE66AklZAQ4Y4PB3JAnm9uyBxOgo1AxsIob1ZcS10qiCbAJa9m1ccnN2mtyAuAwnjmOdmpqD+XCkCErzwLOSoJUTRfA2NiJw85IpdXK94HOXSEJ8YgoSsyGIzwRBIjGiEigZCTRENbiKHGfDSVAeEkvqaGoklchcTfVGYpDbAbyrG/xrOiGJrsfwqWGIT84UAateCp6UmbdPWZwLCsb5liIHBesxFV2cCID3wVKZC68GW2JpLly6OUPuIazGZvNdbW4MrUyJSqFb3AL0IrUDJ2LJmQs7exoKRaG+oYZUscODDBL3WqS2ZsMmeEEACZ073iaa7xnHBwPrHDovWXDlOKpm+yWw6anH9b0VZBa8MA7OdsnVnTvqsB3WMtK46VKgVxBYqLJ9z+13xY+//1bx1luuo//Tw+7/5D2f9szf8k+RR850M3DTF5fYOTunpnHogINVeQSvIf3/AGMULTJmrpW+keyL4Uj++O/r27xO5lWo7edkRddzsackNM9UAvMhdpQZtkfG6DiOVctX0c7lmaua8R5ANg7VjFfV84ULKdOzNRfvSnxdjdhWs/nMheWR9w2Uzq7P2BYjzjVfGdXgB4rU6TL3Qc86zmQ/Z374Fdcq3re/Tv4sYpZ1x4foD777I+wTUGhEQ/SGG7bZhZEZRT5yWlrwgmMpTeRo3Yv9ztMKE2Y4jcF2nVAlw0pTcYxrhZAAXCpaN8LOzvT81jv8fH9gzaUszbQYpQSJA6nVeyZX1g9TsluYvjyr7OHD5nXxMBeWcsCRZSIMtAeORcqorXruM5uv7CO/IPrdwAj8BWmlsC/j6BPPQMuOrRDZNwIHHngaetpckIrFwbdjB4nb08uMJkLjwxCZmQZn0zpshQB6WoLEMAIqlx3EgCsHnDmVNRcqkLezYnjWcA8o9qy0xPqVxLGWAdZELA0nDoUgPJeCti4PtK7x4DrjFVTWMwwLKFFZqTy0UnqBcGv9vAwqqUqFTZFwj5uenYXJhx8Bz9q14FzTna8AVQKxhaWltGQC1MkJoKQ0rhiHrkQG5tFgYW4+XBRHWVhmDyfLZRIXEFrNn2UQuLkCAXD6fEYMKABJYJo6eBRmjhyH+PRMoTinm34jemGej8VlyVivyEPNmi6oWd8PgYENCJRsIHrdUL9lPdR0d8DcsROQmps3GscshmSn+c2wgHIqq55rZQvVWbOpNNdHEQcMQ3E03bbNL+DzKnqcBLqNCFA0yEC/a3MJxKe12KWi8PwUTqEZ0KrAsla3PhPAQp1KMDgPDY1+NDDnIJWUStTW7HF0oIFEFF2fGFyz4QSks6Rpcv3iuFnWjFfu6qEuf+pxbR9AgRlBwbwhPqo8za5RlZQtEWPtyxEiphvB37RuJH9Qpfur0uj8lX3vP36ajm3atuvONbWDf9ngp79y/xe8X7zhb8LfOpvtSclMkkO/yDO6386q9RmVnlN16v9KwYIVHyLwogLX00HFNzylnPB7GKHWzeAyIuL/71fQP7xX7rt4QPk8uq1j9/+Jecu/f4sdK/7MHbf6mvrbuM1OkW5/5EDqBwhcq5a0QzekA4GhC92IMUmjEwUUVFVxreoqcFZG1OsD3Z4mV92VaBUus8OiLQ0wVZwXg7szgUlclhX0WhtsMDyeKFBbs5CFE7aeOzhfRm3Nr6+23kPiIG31/gvTEaFOdWrvQWhG0IrjCrt2rs+pm6JefU4BD47UTArmTu0F3l0HbE03+jwLqdkoxGfj4GjyguAwYzqz1S2s0IrLuDr5kuSrPLyWUVmLLK6kjAynjs7D2HCUnDA8w3x6KAqz0wlY018DnhqxUDRdwOJq6SorFKisVVtkBlc8AqK+0gioo8eOQQqHD2xEsOX1lgq/WaBBAwt5YhzUaJgo+HgaPZHKwGwoDJIklxKiVcE7n9AqlodWnMjjcLvB5fOT2tOkg56PwPATuyF4dDC3bRRlAVZL6WuKLvw7x5DZwlmyBHNHjkLo6DE49atfg79vHTTuvAzc7S3AOkSo37weEgiKQ8dPoUGwApDzhC1aYUFrlE2+0rO2BGCtxZ13EuAKWh9j1E9b6iMgePW5QJqPk4/ZXA5gRfOK063XVmXZPQ+tK2MJzUWI6upw2iCVkkrU1uwLDMeZdngA+WIPxjF0eD2QiGBrLD/5vMdHbQrUUe7ZoF5+irygooHGTI65rr2oqT/+3MThybNGJRwzW+H2WAiOFY3R5tQdP2fCz/+x1vv/yHsPOMmu6kz83Pveq5w7zHT3hJ6cJY1GGUkICUQwYMsEgw2YbBuDF2NjlkVgTLTXNv7ba7DN8jNevF4Mlg1mTQ5aCwth5TzS5Dw9HasrV71w/ze+d1+l7pnpGdRSza+mu6tevXrx3O9+5zvfwZ/44V/kNnzgc5Xfv/8p55z1HLaHWy4hZ5iULmJ4Q46H5uhrzwXLrPq9z3CJwLICrphGKYKJe3zSae072Ty9Mm8CfQ6YGCWfjVfPn36k9aL14+6HGzW481OfjXzi/sew6vMH2aSB3/3yzNrNY5FdUQsNYbwwaGQ3v4m8ND2KMddDRYdoNyHhvV9Q/+PP7BB7LnPOln5Xje0czcUyNxJ1HYr2Ysgf1PxBmSBXjhuZ2NRGhLy8KzWbG9Yk4e4HZjrYVqZ7nS22QNqYdmVbx3et4dQ40/dZdBC42HQrAzXFw8dgeMdWiCTOrlmcdMnw29k2ipMA87NgFMYBosPgthyY2j8F0UwMCquy9BhCqPMVby6gCrHaWNbFyAI8utCx/XOwf28RmFEyW78JDiScCjQiOWg2XNj7yAwM0YnFmg0ZXlByrsVXYW63jWVdpGBIgRSXqfPoGG65BFhvJYdZZ/3nvZBcsxrSmzYyWjL4jOdC69RpsCfPCE6LtWelE43ZmQrU6o0uZyRsUM8LsS4maEWdGDoWj0OqUAArEuHsJEv7n7jvYThJJ0vs+muftuI2VrV9aopxeKqLkO7JirjedebJvTBLgWxmfA2Mv+RWSKwY5o0gViSSMEMnCzbrboba/FxBK+AKNTRAfgsEtVP8M8yFwLCCpgQ8L4MCaYFmFMVkNkY8KvePnV+7swMadL/uGuXWMwq0crDmuFCcK0OOAvJQ46guxoSsGKtRq1PAngqsxBiYTyWgNDsH2aEB9Tl86ZV49w+/5d6lf94wxKzB9Vw9cGEm5xpM5V54w/jue3985KGnzwu58i5cpAdpgnA0FutTvCUchG774Pw3/+5DmWPrx4zP/cm701/85t2t3/rjL1dnz5lQIMirOcZ01HDTJiIFhL35MNnzrHvY9y4DicCyAq7Kqi8eRU7TQfj0jEMoiD1TyGA8NmClIybKPBuunIgF6C8+1nzHQIG8ZWYGf/bNvxP5X4ooWzNsGW+9Nb1xbNDamYhACqPF6UqZOTO98djxMVwPz7kE2T3AZ9/j3x8Xnz1wvWHN7m1xK74HBUleGccQ9lUB7Ylb5otlzV3habV4FjMXb7gdbOs2CpaePFjqy7ZecoOQCUQHLryNn9uyoTYzq2WfCf17DjJrxsCMRs+tIEy4WGkqAAfcqQNAImcAUut5YqIyU4X56SoFrxnIDid8ppWB1u4sa6/iq2A0P3OqDE8+OAM1CsoYA2lQEJF1ZyDjznA2NenMQjk+Cp5BgcpkHUpzTVi9PgUD/Pv1zSe9AWuI9Govvmrfrv4Av9u6WwZixgk8dcOCYO3ECWhNT0Nq82aK+4ehNTkJzeNHgTDXAKYlpOdtfr4KlVq9i45Vu4XUcfxZgVb5dSYFa+lMlutZmSyAF/Y8/hQcvfchsCXoRhqRqTu4++BU64mHtaRxeFkUalCANAeB8rET8PgXvgij114FI9c/j7sUDG7fCrNPH6DgteLf4tiXBQQ9yhQTqwku/Mp4BlANNsHAKJhcce/YoMNZEEGYryyGSDIKDj0ffKJuxMF161rRFek6UaqXmxToPzPH8tmZEgeukYjJHVMg5JUbPBOpFBSnZiGRTgfuA3IZ07R4Ny0zGuF/j61Ce2ikumuhMUF4uPIDhZOR+DW3rL8yd9fRh+61XeecLnbmn9J/7CELjU18W9/8ydJjH3t78jXP3x357Cuuj35lbBi//b1/Xj56Pse56RplJh2gY2g2Yrim7RqlZ6HulTu8LacNXiaMKw9WiA6QJBnF9nzdtVjGbqbkuRPF+lw6bhQpgI1TQJdfrlfOpnVu7APvat6eTKJr9h3C7/+9T0buYtfTpeui8Vdek9w0UrC20PEpojGsaOEAQwwJWsEhaI4IiW7X4W8h7NrrDQOdnR2WRbfoxvHd11jI2qTwERbaYREJETZCDV9QuAGMZdR3K/nlyGAMTk01OthW9hzORwMmtgvbyh4ja4d49X0kn7qg55aZoB+9624Y2bPbH/UdCh7ihSyv5D5nMOwF4I5oP6FRBtR4FMz4CNjWSmBs9cn9szB9ugKrNhegUEhAYP6/+OKrUrEJjz8wCVMTNa6RYwAnBSUouJNgaF2aTbcB+cphaMQK0EjS73cRHDtUhrlpCmDHMxCN47MuvvJBNToXwBr+g8h10ukO1OjKIhzAUnDaakHlySegfviQAKzSh7Rca0C5XvMN4PuxrPxwuj870MrOSzKRgBh9IolA509OwJGfPsgnStp9BRqp2QlYuwHaLiwrwsGK9KYEuh524qf3QoVODNb/wisB00labsMamNt3kLO/KMj9hzLdvLhAX4kfhTDvhCWadQoZAZbLEKIBXb/JAQPFwt0Cm0IHa+AYvSZrXK7gg9e2REDjGQxa2aNaqUOzaUM8FoGW0+zKtvLzR/dZn+j77XWBNV1IcR19Olrgn01n0JZ8ASWLc6TW9XrzD61r6PKxqGltvXn9nuwjEwf+30R55uz72pPexV4LjS3cDF3zbP/IF6oTr73ZecNv/ELiz/dssb78pduzv/mmT8w/dF5UpIfrHiKOib1cBLv5FsFF+pXPJuvNZSMRWJaMK3tGLORFWtiz6azPtXks9earrjdbdisxA9VGh0wrFcMFHzSoJgECvIiGA8Tvtq3GbWV8j2SRFbcSVIVa7H9PKwiDcIMCkM0EiPo+L9zFm6e+EdH5DUENILm+W25wBt7w6tYfGQhyd/7EeOdfftHaf+22WOYFl8Q3DmeNdZYFJpYNCriTANs+I4woWbEZDhVtEZPpWYE3tMHltu7iGqpi9z3Fn1rdRJeJA46YXmj9/sf91tcLg9d8PG3uGdt+k4GNUa1IO9gP1KurrGiWnrBmxyjkyyuMsHplAp48VOpgW+MxA6oNpy/byopVYxELiGVp1j8XALS6Lpy890EY3XMZRHNZaTtJeHtSNuifD7bRwWqotkoeB1w9BXE8A15kDbSAtXukwPOeU7B2RwFWbywIs3fN4qqTzRR/N+mxfOrhaTi0bx5kbQfEUB2G0STESL0HPiQQbcyA1SpBIz0GXiJDB1sb9j85A0MjSRhakdAG2kWwrEo+4i3uuPQDrOEyTbp/9GK0HQJJ04QoFgCWgb4mnXCUGg3errU7YA2zrMJ84GcAWolM/0YjEI/HROcoBr5KZTh6/6Mwd+xUezwNgVJdFqBYVqTrW6Htd4Tk7yj0mvg8DskIlH0WsyI7eMc/w/pX3cZb8mbXroK5A4fVGdZAqlZJ6wNi4sMmzN0DZDBEei89ItrKSlstRcRxSY0r/7aw+C56jk0zCk6r0ebki5YFaFWP+WIZhodpOCQNTYgcPJEsSYvG49CkE+VoMg66IDaWSsH08VOQHhrwZx47dxvb/+NHzv16pk0R3RrQDIwi5EEzMB7bPbLxpQcisR8cnDlZO4sgJoYmQrqOIWzsIXTm22t88TyXjl+uob9/x4+ajQf2Ou/6mw9kfn/dqPF3d3w894HXfrj43fOiJAlyHA/PmsjLRxAZoOGiSK+kZ0PRlv3TZSQR0CZRy4NxFY1YEG/Gkopj24+R/FVx29Zb4O473qo9cqh5crLoTjsucZ/p+/b6X7THKWj9PAWA7he/Ennb3ocycx94Te7qV1+fetFQ1ljPiC3Ug//slcKnUcCiwT7NGsdQ0FqCBVIbkjXtM3HoTaqiUEKx92NdfjR+xdiOl5jYGFOkTGgbsIsT0YbFTnXcasZSsXo0atqmsMISw1PCKu6QXUk5WMikLZibtzvYVgZoj5yo9WVbN16+jv9hZeIX7NwyRpMVpAzv3AaxfE6k6aOWP8Cf9/pJuNGP5nYVdFx1m5Co7Ye0fZTe7A4HVvsfnoJ7vn0YitP1wDFAR74StLJuSPufmIVvffUQBZxF/pZJY/WoOQFr8FGIQr3nxEAxnpjOLuPFIxCbPQJspslenzpTg0P7S1Ct2RBqJNDmGEAInJWWlfQArcQ/+6hLC0+FhwmUHRvKtg02nWwUazWYrdbaQCvpybKK800unuVVzPBBa4QC1UwiDvFolIM5Jks5et8j8MjXvxcCrfoME2ssq3odY627FYSXFe9TFGHIjlgy6PL2rpKZViy8eorPYBGo2URgZhZOfO8H4n6PRSBWyInYbiCtMxbh+lWOWPhTdt4yhOWVj8ukkQCXu3K5Afi17z4DK63YMJEsgWX41ltWLCXPJoKg1SxZNqCVA9e5igb8u4wR8hlPJqBerYXYVlFcp++7mAiMrjZ26Be4HHTDGTBwmScBbi/apedqYOPg6pfvGtlwlpnPPvZaC0ni+Bym8347fNp1b33v3EfKNfLXKwbwZ77+6dxrzz/eIs/xuEWWzSyzMCKRZQ5auSJmOW748mBccdDhD4miXpKMGa1qw7U488kuXr4MIayboOsQ79ikzZBLbSBrWoWMkcXd9lUZ/6MFBkXSO4+x6M90Wcevv6Vx6RWXOX9Yr6OHvvfN3F9eOhTfnB3HBUO05YYOgBcKH91JIBrEWJl4ktXr0Dnswhelcq/uo1RFqM/7wg6rrwp269Da9NrcyK10NR05+Zhlm5lEOZ5LVpKZZCMJEMVrh6bWxpEXq9atWrGaKFfseGOyla1auLpF7StLF7Zarmb5FKS4x1bG4J6HZnqDKvr7+kvHhWl58sIYVPCWoxNTnFliRu+EecXSp9tcOjsdvzhLYypDkgHt74gzB4NQhiKspM8slItNuPtbR2H15ixsvWwQzAgOsaynjpfhoZ+cgUpJtPE06Y01ZM3CoDkLqL2gCjoBa/vbRqMExpmnwcmuBC87RM+dByeONyCfi8LAoCXT1Iu0uDonlhUWpSNu0nPEnoRAD5a1DbDK2MFkBK3qRQStPOmCIB4xwZLdoth3T+0/Aicfe5qn4buxrFotky8NwDpZB212V0jqWH3GFYVek4AlYH79z2Ntgh3QtrXjx6F06CCkx9dCfCAPreK8AKwEhQCUJlIFwnTUhm5toJ8L5NMvWJ15FMze+HFh4Fc12ZIehFY0ztNqvlcr8wesNOn96cJyebCGF8zVgsVCpwfbyn4yP1tneg7a7AeEhyuNTa1aEyJJMYHP5vGWbt8Vt1rWQHo+NZApZQASePPosfWFGMrMVxKV6Uq2UqonG4JkQslV2eGXWYb5/QdPPj25KOzEW7aSruMLmwv1ek8QHqKOo9f7L3//3F9/7dO56UIGf+zf/riQf/nvzf7NeSI94hA8b4CXosCVFUeUPUDL1XGg/tMH9y9Lve6ycRXwaGRjE3tPTvhjFvKaNvZc18OCdfX4xJ4XKNLf2b3L2mdPzDiNk7NOvZDA0YGcmaQX+jNilvT+d9dfsHG995HidPSHhx/N/2D7iLHVwFIxhtoErKi9/0wvAE2idPRiOdg6OZubieCFDKX76Ggx9JMJ7Fy5IT+WGbqV1daJ255P0/nQYhouziXLieHcXG5FvjE8kPdWzE17T42t9Hbk095ocd6ZmJqzJ6YrjWKjbtIT3dqg2NahgRicnmqCbguqAGw8YkCVNR3owraqu3Tl2kHAMSvQ6C3xo1WpQYIOzIxh9ejgYs/OQWRoaGmBDQnvkw5k22xZJc5yIA8nIIbm4AwaAWbNf3hvEY4fKsGlV6+A0bUpKM014KF7JuDksZrsJ48hb5VhJDYNFnJ6yUZ7mQG0jU8uGLMnAVfngAzTiYOVhnLFg4bjwUDeAGascH7FV2GW1b90z+KYdwesAN1kAUETrYsJWk3OUkbpeYmqAiX6KJ2ZhuOPPg31+XK3iX+Q6iedWlaE2wBtqManuyxAGdojv45K3NXid0XVYq0WCPsgtvj4kxy4Mn9iM0bn2XbTL7BCCAIwKQGsIWlg1GabJRptqQsOh+Km6t7G2VqphQ3Wy4rXYoFpNmvjWmlQsO/64H65jOalEo0zcQpMbdKVbQXQ8KpiGHQ2NpWARq0GUfqTLRSNocKqtcbAyWPurKJIDBqnh1Nz6dVDsyvHVjhrS3POkS3ryPXDOfv4xFTriDVtn/IImq02Ey35mejKVOFl167Z8YN7jj1xYjEDUL+xJxKJLOAq4PUN4rd9sHjHVz+WK60oGH/2nT8p5F/94bk/qtTP72Z1AVcw8RwKXlOcigW83JhLm4JWG5bpY7loXHkMJERkLrjNNKswj2Lbsb0oA7NEeH6y8KQ4VCG2EsJ8b6rsNSbmm/VM3IgMpnHciqC4J3kdfwjyhL7VbyAAfvMCNVkXWle1jKfrVokmq/Ln9lKXikDXvX7wvfXXrRrG7547kfrW6SOp/6D4idlUCTZZNUSQmTimIdWzylhym1KnK5smIDRbcaJccCtAaxMWWTAlGyRgQvosT99nDQh6rBN7hHT1cr1sdNPQyvTArfTzvlko0YANwp5BJxwUG3l0bCIGZg2O6AIRCydNk9Toaxair9MntnB5hH44psDaYC4KJyZqAcMoT6FhIF5l24ttVcAunUsy0eyFYVsdF6yEqOb2mg2oHz0OiXXjQfefpQAxVgQy23dC8YnHQxIBnWWFdvAq/4tCFVZbB2GGDMKkW6ADlwM/+cFJyBYiMDtdB+V8kzQbsDo5Awnc6Fn43w4eSS+Ard/PTQqKT+wFKKykM4h1ontqGUHTsyATt5lN/DmAzC4sKyFndbwXzbLCzwC0mph3eoqyjkgshS5DT5NOkE48vh/mJ6a6f64LSNVZVoza3lcsKwPJ9Bo243EpDRDspdtogWtTfMIaLuBwcZdiWZFeQaoFL/V7Y3qKzWL454yIBS4vLkJ+8RUCjdmV8gAVpQVjqoCxBmSRcnPANNaKpgZYgjUicRHylxNBlbtF0MmUAK1OUNCARBAGQM94AFsu1yDHiqyYbWkXtlUdPMa62i3W1S4WYl4jiQRU5uZ1lgTWbTbXnzjmzMmjx8fCpmN6Dduwq3WnMjPTPGYa2KzWYb7Rwo2WbTL+iDcT8Nl5BGYhkbn1eeO77rr7yGMHe48/HHga/GevBgR08Ok1nrGalc6msJ2P136k+P2/vz33jjUrjc/+yyfy8dtun/uD6nmCVwpWm6IQhqSYMwIdJmuwPB7LzkVguQJXLrPxWVcmmfJ4p0ISi2PbrXkWZ10xc18TcZYIqz/kYl6D4ieY5mtuc7rsNhIRVCpkjDj9mbhY+zGUwfF3vLH5zsG89arZk7GvnDmefEBJAYRe18fp7ZYBqL28UqdfXZeYpaoXo7cwDTborKs6Ee6vdWYqJwokUa/3oItWevfopuEVFLTSs2J5hKh2N6wE1C9ks13TLdZSdQpckeOU3XKtVUlMeycoYEW2g+xyLVIuVuLlshOru25tBzHAlwbkMhF45KliB9s6lI/C5GyzL9vKQk40EuGM69IDDJNX8bLddep1KDM/y+3beP/3pcQ2DBRv+JU3QXHvk3D061+H5nyxJ2CFtv0nUhJQMKcgiefhZGMFlNw4r/pny0WwA6OJGShEKtCD0Fw8y9oTJNJ3Zk6DW54DtGYzPXEroEVv1qKdgpTlQATVejKlvSyuuhVfXSiW1QettYsDWhMRzH1nFdB0bQcm9h+EqSMnZEvfzhxJiDnVQanOrMr1Z1eNQJo+kyNDECvkeTMMMf32dFzo/+026tCaL0N9ag6qZ85Aa3Ia7Ebd1zbxWbdf9KiCXPA7YVYX9BpmjD43QyKdDgLs84rtJbIaCEnHAWifRxPVfdqlcT/wddUDqgpD6lPMBqo8WQSXa1qD9oUKvApQ8swGr7Vqg3skE6/FdcC92NYInYS06k3ZRUu7Lvhng05j7PXBYbyGLvGArCymx8GAM/P5crUZa03MVWcS0eZBFsdt23IrjXij1Eg2HM/o1tzPyMdTN92wbhf+8eHH9vfCUMIOq0fLV3YFkH6pQF7YtaiCgTd+onjP538v+5Ytq82//don8tF3/Pf524+ecc9LG0IjfZO3Xafglf1gJbHLAFIxicCydkVYLnZYnFHFktdUrCt7PW5ht2USw7MJ17nyZqGESwuIYDB5Caqoxsf8F76eWsNzKNgrmSaqDmWNKL2vEwvRM536d1W/SnyWIKhlDQLkaMFIbhqLDN94Y/Wt6SxcO3Uq/neTJ+JPGEaooFdbQRCVlVGVqrrXGQ72ouMSy/OQWUibdRonzh60CjGYL2PtvetYMB1d30Sh965avXV0IJG9lQUuAjrZHFohz8jVW1H71NxgabqUrUQte8oybGa1QvfL8JqOZTdaEduMOTgJs6t1gMq2m+57iG1l/+cyJkzPNfuyrcq6B0fNJcsJcmspV2rmZA1uZf9+iK1cwS2ALtQjt207pNdtgBPf+y6c/sndUi8QZllDANYLa2IjdJ6zLnYc5ow0lO04RIwmDEZKXLjcC7AuhmXth+V0zEmaDbD3PwpkbgUYW3cBnVFAk55tEklDxC7SmWejB2Dtx7KeK2BdHMsaAq3ehYU1rJ4oZSEwtbakM8dOw8S+I+C07J4ZqhBIJWHGVQHWzOqVMHzpdshvHOftjkMXBj+inrbrXhADmcacuWKYFhAcg9EVBZit0fsRXGhQENuYOA12qaRghzykSBZT0X2JJwFblrhnPJezx8Q30hcgimtaMQ6mIkSfHuPQ+SKSgWWnis3BCdZiG8G+84DYFuK/5zQ8PgEIcKrWe1u1j/WtZZ6ZD5fp4WxHgs7ubCvXstLzVZmdD18cWkMCqbvgr2VyHLi23SuIVBqJppQDlHwVMgqGPoy1wUK7HHOx5PMpeIX/OPzE/m7QVLR97TW+EOkMjPsSiGiRdea/9t/Lj3z+/em3bl5j/u0XPpCNvv2Pyu8/dp7glXEw9GopUwCeFttrVJ/Bl4x9z4NPt2CZP5YHcOXQit0YiI4TYdaVvZ6M4VbLcWPdWFdV1CVT7BwssZjIMgysQbJtE+fElMMa3VcGMgzAGsmlUD2yWDCaNzJrhqzCQA6nLtlTflMi4e48fST+N9MT8UMG1kr1EYTq9lF3sIy0MZX/z0Er85M3kZOK4fPRq/TVuJpGn85aIjuEdNA6mMy+ODTMYGGU7xMabWw6C4pNJ+I27IjjD5uqQyl9z8K2iUlrxPcbZSyzboGlVdYzJvboyZpfrNWNbY0n44CspTPUYNpNe24OIgOFEPuW2bkTyk/uBTOVBjN94bxiDQqM177ilTBw+eVw6J/ugOqpU2EMogPW9tflLzmrDFn67NLYqifo7AZaE4ODUJ2aXhCwtj+c6TNQ+uksJLfuAGvjFtY2A7zsKBgUuJLSGQC9c88FY1nRgizrxQKtjDxLmAiiRnDrlaeLcPKpw9Co1HpOLzvkACRsccVey6weg7U3XQPJkZXS2ijstEC0enu/W1XoezzeLa1RrPHrfRYsgDihg0kEkuNrIbV2DdiVCpQOHAJnbkrsjESO7Lfc1o3SFo6BroZvESesqigEMQNtAJbMKUGaZZZiRQnyWQ22LrEs9hU5REZ8rEAx0UGaaLesquqJanNLiEZD6OD1Gcy8OoL19wviOrStdAJkMUmGo72OfJaV6YxZIwJW9MdeTqTwSEAaCTjazcFGB619GVFgVoipF9y4fifcdejx/Z33nWf0wnmmaSxgMO7x8ruzOVzv/OPyI599X/pXto+bX/rCB9J/vDTgFdGxC5coQkkR5CafoeB12boIdMOEz/gHx6NiMqn9lOUBiGU7EKSiuMVjFEh3FmGiJKZqmCsNMNdyitS2D2SFnQZgCoTI6TmnduB0a2py3q223KBuWGpeEQkIBwClLwXuRCyeIu6aIwUze8Xm6Lrt45HRQgalLt1T+tV43N129EDisxOn4ofU5+T6MNfCEuHaordw5TGZYGUQI7+PQXNANgWttgumZSDHxLwJEDqXf5yJJhj3+7znGQbX83b7xzWuYop/+aqNw0OpzK1yQoRJ4HWLugU81L3OTLm7YL+XIdf7OisUQKWTC6hUnQ62lbFCiTh9r+Z0AiQtjR5LxpYMuDKj+uqRo2BmMx2uYOxkZrZvhdbMNHiNCy8pSo6Nwc73vAfW/tzLuQaWKMCqs6wk/HuImCawOC0r6SSzc+PjcP0H3w8v/MOPw6Vv+hVerbxY0Oqvlg7Alccfhpm7fgh2SejucCoHsfFtYGUHQytYjMVVL8DaqY1dHMt6MUAr+9okBW65KPZBa7Nah0MP7oWD9z/RHbS2+a4iFHYMQFI2wBpebLntZbD99b/QE7SCApA9U04CtNbna77QXukIkASavGqfTjzc6AoYuuYaiA+t4N2rGGHAZAi5nTv4gXWqIqvKhP0ss8QAq7C8El2wEFI+iGo/VNUACrERoAz2kdLigm+nFWq0oLknsG1m+tbAcDtwidAhKoK2qP8MfNTrTQo8vZ5sa8Cw4k6JBbO3Za4D3IVCvGdaOJ3Ls7TH4uO2dukYMt6L+O/XYRCUiSYoeN2xSR8/eJdv4hgESI+xxzMiEbPn2ERcl9dIne2495t/Vn760YPOG+mqb/yfv5f9dDKO8LmNoPo/OpxiXBFEkJsCBEuwziX9V7/nwaefFY0TlgdwlWahwi4QSU/X4Mnej0aQG7GQK1hX8Zopi7p820FhB4iQWpfBFZpyPcIPlo2Gs2VSO3Tanp6Yc8tNm/XBWfg4mRhZK3NGdud4dNWGUWswHcemZRFr99Wlt8US7rYj+5N/OXMmdlyFE9WyVcZYFaP1gSiA1hqQ5Q5edHygY4cRNZFtGOBe6OuAH0uz16xajAaXj20cGkkXXkb/iLSNdT1n7B0BsdusngY0A9lRGqGyCnQx4FqqOCErLDZ48d/pwRFtULuzrTw9Ho+wE3beB82zbZh/4kmIj47y1Gf3w4MhsXYtOJWqpJ0v9CQPw8iNN8Blv/s+yG3ZGva41cFbO2Al0NeTlZDuLGssl4Pdb3sL3Hj7B6CwcQM/iePPvx5u/uRHYeyqK0Lf0W3s7/Zya3YaJr7zbzD74P2czWbdxRJrNkBmyyWAY/ELzLKSriwruQigNUaDU54C1rgpbgSWxj759BF4+icPQ2lqri/LKjSh4eYBqgDLotf72pufR8/TL0N+0zp+H3SCVtlJBZHQmUGguq6IzzBv38Z8XUhSEPFrpLBqFECfCeSCV23Aiu1DYCbikNuxDXK7dlIAOwSjL34RBaeYW8O1ikW5nYxlBQFaeZDD3OcIUTiD/cAf7Jgf+OVkVXdAUEEUa9ZavjtCqDiSAudmI8Qm+yC1B3h9pnKuZ+aqYDfsnmyr3g22nW3lQDUS4ddaoCBAMLrWGkYL+IXrbGvf+B7ICnA2lrz5eePbxtuCS08d6wLtxtUKzilJ+l/+orxv7zHn7RQ7vOiOj+f/IBlDS5Bs5fleWRzAmFdAz5DLxL7ngeUvEVhWwBULdNfJuuKAdWVIMB3DLdVYRbGuap6pmheoolfV1MAA/waXAJeo+xrKNbd+bMqZPTPrzDdbAYDVr0Q6Y7OGs0Z285g5PDZgpBOWoHQZaL38yvI7ojGy6dBTyb+YmYyeQgHQDm5o1BZfkP/1upuMf/Mz0Go7xIxg5NB9dTmljDti06KfsUjgR97niXq9x0iWVsNKjaYLL2EuPZK9OL9A1xYwLVTLBWb7dGCMm1CtO51V9CDboPZhW3ka1jLErOY8H7P33Q/JdeNgxGMLzryYjAA4CLs4t1yUAsrtb3szbGXsZyqtY5Ou7Cl0YURDoLMNZDKgvvnlPwe3fOpjsPq6azrY5mg2DXve+Va49r3vhkSh0HPI6TkcUZA/9+gjcPgrX4bKsWPiXsvlYcWVz4PMus3iJloqljUQTncH7SAmRBcKtDLyPxfBXMuKZdp8+vgE7L37IZg+drp78RfqomXVGFfVHGBkzy64/NfeAGNX75YpewXOdTqNBOb/coKnQCvROG5egT9f52l5KVnlbfzUZwVTyhoieGCtyAbNDVg70fVrYezlLwOT+YXSY1ifnORAWBQUIeEegBVDQTTGVZc5qKYEvjZfNEDwzWOFLABhpAVXNRjI7SMS7joOfdr+PncFr4h0TQc98xjXFiQyUSnF0FgPFGZemYsC8doYdCSK1ISMAPk6k1we5/xBEaNuIHQRRATpJi/AA4n0rdet3bIqwNme0Xt8If3HNkSkQvrcxr93/Wn5kaeOOm+JR9HPU/D6oXNdT/jJ/DiNqgSviX7j50V6soO4XBwPnlXANYhp0mEA6zFJPlmnw3gE2zrraiDZwAAHrKvqpC3Aq8+6ckVBwOIi366w0iTN49Nu8eS0M19tEOaYhyMWihbSODM2GMkNpI0oxUJEJc+tCDCm9R1W1F29/4nUn85NRU8psK11fpE2Hgj8bdFkAkpyhTQVEWsCY7sUtJrIYU4uYbro3JOT9N43+uOunt1g6WBmRKcmM5fR7Uz0DGB9WNf2QNhtGQzNvJ7itkwMjaarARLFtopBvx/byoErp97P/9LPbNsKtaNHRZHJItIGdDYjWlZexMfgJbtgzwfeByPXXiMLYPrIArp0vuomCxi76kq45ZMfg623vZLra9uRrS5jHt65HW7++Edg40te5FdvnI1JFTOoP/RP/wyHv/Fv4NRq/LwNbNsG47e8GGKFwaVhWTW7pW7A+kKBVoOejwwFrNko9hMA5Zki7LvnEa5l5YVDPS4l1AW8+kwr/S+/fjVc+vbXw/qX3ARWIqHdbQGT6p9kRGS2nwhQ2nY4OIB1FNPqtQFWfVQWUatETP93IxaF9JrVkBwZAeZ3hyj4rZ6ZAK/Z9FlQwxJu0EFAx1qAVIETBxIBlZdWmW+tW5fS5vpdwkJNDYhqVwqtekV7rwd4DWd+wgHrGfRwWcMM6ASkIbaVXW/c2YSE2FZ+/JkTihsWQ6dzRm6huNwrzveL7yqkDyWzL96zauOQzGWgXhEBiXLr/gPYOTKu6vEbfzr/yJHT7q9T8Pr6b3y68K4lOi1EgVfP8+I/Y+a1/pMHnh0SAfVYFsVZimX1OIIiojCL+AVbiN50fsFWIoqcpg1GowU4MMn2PCzDrCutMzQBPxG1Wn4ckzcKq/vyGVa+DF2vXas7LXqPe9dtj44L1peIzlKiyQed1BLjsitLvxqNehsOPJn6zOyMOWUKUkA2NZTaTdla20CBN7esAWBxlMuzOJ9ARGMaj3up8iY5Hps4I6mpNZDylD03EOt6wZDT7x6UcrDQMivSuej0dHK75wU9m9XwENhekVDNGVEw3DdkQKQTKQS2jUImYicV20o4m42g2fI62FaQ6VzSh23lJ5iBVuP840gkn+ezJaZxTa5bu5jOt+A2RQ2d57jchuii3OSxGGx81c/Diiv2wP47vg7lkyfPyeIqv34d7Hjda6GwYUP4ZEEf5pYAb8Kw4zW/AGPXXAkP/90/QJEer4XDfvjPmcceh+LBQ7DxlS+FNTc9D6LZDIzf/AKYeWIvzOx7ig68ztkDVugPWC8UaGWXSZLOdGOmuHnZP6ZjPbnvCC/A6jdE60AEoTaWFVhxXJ4elxtgYPM4qOZjAdVO/EIjLq1RaXY12ehQSQgQyJjWeqkuvE0xCWbVehJFAV8kgxidoMWHBiGWz4p7lBUw0olH7fRpeu235Eyd8HavGKuGAYEddODX6htU+aopTxYT+Oy/mpB5WpMCHOyINPkQL3ki+LYqZbF/CMnCLMLJPQyqmSLxo5mP732rLNHp65nEvRKC+rKtitUmLCVlhShLYeHneSHvxVgCpyEsd9aKiWXQ7tS8osDTkSwkHYiMZnOvMGr2vyLm40q6j19cOOp6Pcc24fFKzpvAecuniz/93x/O/fbooPGXd3w8P/PqD899dWnudaNOr+0EPb4JOpDX4eKLpW0KWpvwLHssm85Z7GbhTQhc5RiAWNmSsskKmhPQf+m40Ww5ECe8oogoppXHbMOTllrMMovpJxlT6rCVUUDssoVlFy5JRCImmxW5CJ4N47N7VzEmmAJHIokDjLAJ6MrrSm+JJ9wdB/am/mx2OjKpmGGiQCoAaMyr4lx9GyxfgoQDYyzW4t71iGlg5FkGckE1PUQoxBScxxE2FpjS4naNayoSM/aMbXyx604m6XaU+rC1smKYD3ler0BGZEEwG0+RGs/99+mNr42/bMxrOaSDbeWtD13oAmjDDQlazaVrGGJlMlyD2ZqdhcjAwOInDLZNn4SDyv4DEgG3WgHSakE0HoU6BThmOs3ayZzdGaaneGTXbhjZuRsOfvfbsO8b/5eC6FYnYOumY83nYPtrXg2rrrpSQyykF8YMPMfE/M9/ObtqDG780O/CkTvvgif/5RvgNJqLAq3qJca4PvWP/wyTDz4Cl73tDZBcOQi58TUQz2Zh6qm9UC/Onp3FFbn4oDURNem9YwjgSNfLWNXTB4/DzPGJ3n6wbW3zdDs8pfGJRKOw6sZrYPSKS0TqiXiBKwBRfXNVdbyn3Zte2LVWzjX9s0wnBA0GWn05Qds2Edk3W0vNxyh4jq8Yli21Xa4Fr50+A/Z80Q9+In2m/ABd2fkKaYAZ++1bsf8q8T1HA9uqICXF8kaEoOB8S6glQCvh7VzVnjXKxcCfACnHAQ882T2UhI6FchcAzRaFwDOJeyX6RKxD2yqBKzbkQBawrQqRYt16gl1PEZRYDNuK+7CtHYxs23roH7GR1ODLiOdaPRnXBbLChqxgXopj+IaPF7//1T/If3gohz/+97fni2/8xNz3luLUUMBaY8CVPmMSvF60y4I+l4Ov7LMUuArGsTfrKlrCKtssYNlY1lWr4nkW70TlYeQST7B3WFCBSjbAmEp+z3pq/bw1NgfAyP9dREn2k94oxCEKrBIkrQkZdkFXXjv/K/Gku+vgU6k/n56MnhbyBqTKvvyisKCGAPnEiYE0EiPs18pZYrYtUVOAVvmeX3QWctU+azKbx+cFpAKda79+/dabTIxHQ8yLBJydrGs40HmB/a2kLhDpC2jBSSi2lT2Zx6Prkg62lX2gqfca78K2sl9bjaXtdGcmE4CYVoQVOJiLu6WseAyqUzMUvLUglsuEow09QAceOADFY8dh0/N2Q7RV4h2GIGaBMz8PzTOTEKFgkulr7Vp9wQGUDViJVIH/ZEdg08t+jgKcK+HRL/09TD3xRNdjxAcFCo43vvTF9PkS8f09AGWnZYDWuL5tGfbSuhfcCCt3XwKP/Z874PRDjywIWNsfs/sOwP/70Cdg0ytupeu6nheXDG3cBJXJKSiePA6uY/dmWdHCLOuFAK3xqAXZVJTO3kRVPp2IwhTzYz1wrKckoC/L6qfCEYxcvgvWPP86sJIxUTQlwWggDPHkTRmwhKhtAhJ0lcK8NbAArR5nWkHOGlFoGwLkr4BfJJuB5KoR6dHqis9PTkJjckoWfmn+hAYOFU6FnT+xT+cR9R/bNjc4HoohDUxYkQbqkaZiDoCnV2+CGY2B02qI7l9KOcF2kFv2IX+9PvxFxPeNDoPXLt5+P1PkCr3ZVo0y9XtFti+DccCeI+4sEFUUqtTW+WwraGxrO0mhs609XWNAJTS5XCZH50aJmMlmc43OQmO6Lssy+rC33oItX8/m8drfn/vq1z+VHxgbMv7sr38394Zf/5PiQ0txdhDraElITILXi9W16lknEVhWwBUtxLrK7licdWXZdfpLMobspo2NluMhDlSlsJUtZxAlkRI9CYRcgC5mcI6ViCy+J1p485V7yKdDXY9rbCmA5Y1dhFwAoz1XlW9LZ9zrDuxLfmbydPSYgWVtggDBYPgrkEVjCnj6BVp+ZxjZaEHMgR2XmGxFMRML0IoDmVc4aBCB5M8JuXL/W+ilZEWyDE6t/5aNl+yJGOZmkRmU9b6KJe1iI9TOuuI2RpW0s64kzLrSLzED9wDC18WaD4S1rZKT6aiQ9zo8Sxv1pY8bmDGgTM/B20g6sBgqMTmYh9lDR8FtNiE1LPSaXqMJ3/38nbBq1yrY8/PPl92HsvyT7AJIrE/5a2KAhz3tao2C32xv0JrMC72JxhUlhofhmt95H5z46U/h8f/zj9Aql0NbN3rFZbDj9b8C8XwWvFaFfsgK7UenvRXpup+kB/EZp8D7yt94G0w8/BgFsP8E9bniokCrz6E7Djz9tW/ByXvuh+23/RykVw5BPJ0Ga81aKFFgX6uVwtI3QhYFWC8U09rOzzGpSL1U7Q1a+7CsChXkx9fC+hffBMmhgtgPTWvtOwFouE/1tW7fe+zDXAFaeYaYg9aaZAwglHZXLKuaQZvxKKRWj9EJXEocZ7odTXo+aydPgWc3/Y0WWlIkJDKqgACJQizeXY9gDaUTDUgFoJLTFkQCbKRtlAJjRPHKCs+KuTGbIBJ5XzaVTMAH69IkAQXNTYi2FcHrCkiH52Y9ucKLCGtJezVtG9uKJDjF/t862MS+9tXXw1ooCkHmL7RX7QW2PVlRtHAxl/TztXYMrb/l0JmHvt3lfQx9xjbkS6CX7ljfdvvsX33zDwfHNq8yP//7b07/4se+VDq+BBiGpSXqruvF6f5GsYEudPreufu+fcu6rWvf8XZZbKRkR0ErnNKtsOSsHelV++xnKm40GaoSnQNxYAsoECMKsZYS/GJZoWjw9zhQlsVhxK/01z/Hyrku3VN6YbZgv/jY4fhfnTkRO+K7Fygng/B3gYF9WlX8HXQiDNhU4H2YWSYE6IRTa1sT5rWWoDqLx6mFTgHr8sV+uW5867pkJHq1mjUj1DnGhtNDi3EY6D9DVwOUKrhi4zOW2jR9CGaDj+9X3ada3rW9C3ahskItpudbVMU73YfcOgq0Tpyiz5P8pcr9j8G1v3Qt7Lxph98yc/r4DJSm5wFPTYA9MxsCb4wJrU5OQ6NY6gFaCxK0th8M8Vx1zdVw86c/AWPX7Obv5Nevh+s/+Duw+y2v4+CSf49dlV6ZmnNuP8NX0H1WtWV1ObP8deVlu+AFH/sQrL/l+T5jczbFW5WJSbj3r/8O9v7rt7n0gN2w6XwecrkCvc/MBS2uLgZo5ZOlpg2nZypQ4i1iGTAwYc3OjbDxyp0QTcY7BnP/hsBtLCsziB/Iw47X3QY73/AqSAwVgr2RKnKpBPWbcPg6V799q6Z3lUCPK+oZ00oEaG1ooFWTQ8q4JSv0LQPS46uhsGM7WBnhXGHXKjD/9F6oHD4MxGkJFwBDxDweS6NYeLYK92oh+Pcrb9U+ekHWGql0vqcVn+mVuoHxs6/ZZK+JAC5cGpgabL4sr+UmOK0aqIm4WD/yZRWozQ7Lfx3CaYNnnL8rbvNvbWNbQbEehgEhv0XlSsG1YAHIlRiXcxaMmFkolnewrWhhttVfhjjYwubGF2665PLOz5AFWr4yxtVdcs3Ge/6i+FHbJU/ecEn0b3/5lkRmqeYXjG2l1yOT/kUv4NXwrJUILCvgijQgqDOVwg0A+cAWty0XMYHEoyZ3AeDkrGD82I0g2FI5NGDZtECsUf2OVfdWZWUtjAcIVp/kBVnbL6lcM7zS/qXTJ2L/68iBxF4IbA3978MoYFsNrOyxQeXDsOfX4CqQixloNQVgZOiQX4mYED9LhtU+6o0A4BycMjS/8Z5Pz0OYFWftXLlmYCCRfiFAYCwtKyiwjF3KfxyJ8ZIIg2mpM9Zn571m4MKImmDRBlD8HMxbA3pxlu14fODzDfblwGzbIiXalW3Vp6It58JFDEH7Q7NaW1QPe3ZgVu7eBbMHj0Dz0EGwKBDJDgfsqTU3DQ999zGIp+LgZQtcL9hqM6FnOs+5AwcXCVqhwx8qkkzCrte9DF74h5+CG2//IC/C6qRytOO42F6w+t+IdPtqkfaJRWHn636RAubfhsyaVedy0OHUg4/BvZ//Ekw+dUCs07Qgm85APBIDX+jYBtsvFmjVh9lqw4E5VuUpX0nlM7Dl2kth5YbVMn3eBXdIAMuO04Zbb4I9v/FmGNi0wQdURLvKRfMnL9AXk5BjrxTHgwbow3oOQmwOWtkxwFifkaIgs0N/T46sgIFLd0F8WGhZvVYTKocOcF9jl4JXAU6lLZcEmIaFwYDAU1WzefFtrng8D6KtBK0k1P1LAFIpOUDYt9QKmgygwLeQlXZS0MqaW7DAzzyCxcvsWIkWzQhBW4URdFpfaU0WQuAVnhkWWRjjNrYVhdlWpGvV9B0VB9aQvcWR7yqQHJLxuwfZ0M62ijjvx3yiOaYhvzA59ARfFs1JIZSMRK+9dnzzeHjs8bDneT3HJpcXbpEld5A6dMpxv/Bv1few4eJXX5L43OigYS7Fern8EKMWvdFMT4DXC+GA1bj7vn0uPIsfy8bHNcRyYkWwhljXwMJKY12ZZMAyeNNtJPU6gDTWFgU2VUg5sqhMigDE0tcVkxCby5bZtKWxfWx1861TE5F/2r83eR/Gmj0XljZbOLTtfsjzv5f4zKySGtGblTA1A+sI5mLkS1792AOwlGUBfMf7Mq4MbGM3FRkvDL+UWZIqFjxgRLt3WMH+aNd7Ft7OuqrMlJ6iMkyM9eJo25GWDDp3SMJjdD9sZTftC3vB8t7gMahOTC7KKotdJIx5LB06AjgWnojjRg3GL11D1xdhFRNgFfIdgBhbJjeGXwi0LtRgiskHfG7bCyO97j6o7aDVg1pxArDbAN+cQzsZhPSQE8hJCQPgN/6334Edr/l5rq8920erVoenv3MnPPHNH0CzLAiHaMSCjBVlhZQ9WVYgFx60KikQS5Mjuk11CuHqdJt4BTu9mVasXwVbrr4EkoVMF/khgtE9l8FVv/V2GLv6Sl7UpHL/pO10kLabAGmsoA9aQWOhNeDFdONNCloRuKD1nZcBUSCRaD4HA5ftgBQ9V8iwePFV9cQJmH34UQ4KDdlAwNdJIZHPYexsiF2QwREpX1bdYBsFTKrMeAV6WKzYVyzAq/JnxTqjIe1I2PFtNChwLfHtd+tV8OgTcXaZSGlEFyssgM4iJ+i0zdL/+FmXafHsTLsvWtuGEUDBgKSxrR3eYYKd5VeAIWmgrp6s7SREEMNR92x5wLbqbcJRwJii4VT2xdtWjGWDsQejBRyfpenP0j/u+Pd6+c6HGu80Mdr2N+/L/7elGx7ouI5RkwjwutRyTSYReFa0dV3+jCvGCKP2FL3fZMVPyYefATubTlgNE0PY+xUEwaG8XGV2CVBoXb4qnfO6emODVavtsXWb6u8qFa0fPvlo+kdaMxf/u4NmLgHbirUGCkj3dVUAkGBWvMTGN4Lb0nSBlAuFYuv5PsVm9V0Gp5tbns+E9O2RqENW1Tkj7wjqnQGvv0cgK6gjmii2yXrdmijIXmuBzVUO2z3YVoWUavMX1o+ZWc+wavyZfYe4nVC/B9OonvzP+yF/9dXQPHaKF+/4YGzFKpg+Pgszx6cAnzoG9aPHwEqEU8vVM5OQWjmsgdZ8J2jtA6k6rBDbACbR2qyy/1ulY13Bn1k7LY87osAzHWZcia4aJF39YUEOrBtedBPc/NH/Cit2bT+nY188fgoe+dp34PQT+2QPdwRJw4RYtwvtgoPWACQwvY0Vs/wbw6H7WjcjYMt5I5MMbLh8B6zatoEeP5Pf7/kN47Dn138VNv7crWDGk7K5NJH2UcGZJVohlkKpCHWDDh7o0gnEldOE+3g2Sw2uJRVsphtUiNLvZO4X+a2bIb9tMxi8nS9dfuoMzDz4ANRPHAXMCg84dQrBrN8Qfn1GqBAL+y0M/WYCUrivRiSlqdU1VqK7FuLXtQC4oh0MRoF0wQfKql7LaUH99ITYZzqxc0tzFAh5nPVVBVgdnaZ0uQXq5vGq3U39JAMXGclixZhC2AJLT//zNKGBOthWNrk2Ikaooxa9FbS0lIe6sa3dIgnWSJZu40BoPAh8dHViJrJpcOVL09GYbEpA6Lzc7GPgL4qzLpR5/6f/oXzi0Gnn3ckYeuNXPly4bQnHXAZeWzQ8WTRGGUu4zRV4DjyWVQMCpAFS1I11xZ2sqy8ZiOCW+jwWMp+urKveItbX1GqsK3tt+7ZWYfuuynubNWPvI/en/4WvEwfFsj6BYMgGBxK0+lJcrbkL1lplMXTs0ouYWXSZBvKw30griMsAISutsFjgfEbXPo/5yeF1yIus62AZfAa4n0YVofbgFE4x6SC1O+tKQaDttyVldlYtjzch6GBblXSgD2JT4+PMydkLft2y1G5mbARO3fsQ16N2nR43m3DmsSdgzfXXgJlOQWzTOPzg8z+AalE2XqEX1rW/eAUMrB4Cb3QNJDdt9LWvfEhxXK7tzK5drYFWo0davB0qIgh5fOpLdiNNRDbQL3Jpf3hWGmrFM5xxJW5Tkwnolf3Qwz9L72IFEBvIw1Xvfgdc9Zu/BtHM2UvM2GTh+MNPwJPf/TFUZ0Xhl8UALP0eSyclGWitXxjQijR7EDaRsWJGaCYq8ob0eqbgtW5FRTkofeRHhmHLNZfDjp9/KVzyxtdwJlyjVGWho363tZ0/pSWWuhmC2pdRnq1icsdBa1lIW3hZKmsHwCfcLgeL6bExKOzYCpGsIMKccgnmHn4ESvufprOuVtAcQGpGkRGk/FkwwwgHrKlcBiNNAmAQKReQsgISaK2C/tzgM66KXcW+SwFobgMSOnkOBdQn6T4JA2pSK9JtEQWoRJsrKz0Y6mBPNfDaVTJwlkH0ArOtoqEK6mj7CvqAoSYNbWwr6wmJTSu8Jwh72E9TItSeTWsnH3p0yQqPC+3a1iAKYh3oGhgP3bh+642hi7gvgXlhD/07/2Tup7Nl75PDOePT/+M9+UuWDtcguuPg0HmDRciSYLHafzzLJQL+2LosGFckWVc6s/J9W7WnZonV9h43ZOKqyWTMsJu2Z9LxTN1wPtrCSPQOpDcwi5WeMHNVAYrewHIdzFZroOBEbntF7RNeM1J66L7sF8WtzV2zOGPrd+IKxi3FW2AiQV5gj+WHBB51HJfds2xSzEhXfzs7iiNkTQUigSMOEmZfZ38DE+HGYPbiPXePjQ/V5os76dqPgt9YMRDXIaTXqAYBS3cG4CbSISWe/5NvM2mzx5KWWn4m1DCxHXzGg1qD+6d0sK1EZbj7sa3yMXtqDlZtX3XBr91IOgkDWzbC0bt+AmtuvJazbn6jQwpm54+e4DIBKyokApGVQ3DVL14FP7njpzC0MgZbb9oDETaws9Q5vThYxyG3JkBGavUqaMyXeYodcdCao9ef0QOzky5DrH7sUPh9QoIuWH5LVNTrGuLrcilwHVh3GTjsBacenil0OxldpAPtk46xKylo37SO+74e/fE9i27zqh51enye+vd7YWh8DEa2jPPjz1SvDLwyQUP9goDWsI6QMY5m1NB0onrnAAm06XbV6DPi2hCxbXrN0+Xni1B69HExWYlFIVTO3nYnhZhAopLersQLMvJI9znVPYsvygqxynXhiKEZ0DP0GS+kID48RK+9BN92du1Vjh6G+pkzfgpf7AYJsXV+q1blI6LrLdX+k4DRDJhSJM4F1t1Zpe2VSgyoTjHS0JkFf082EJCIlQOx6omjPHPBQXWzSjfD4fttOwbMnyzRbY6AQWMIa3fKnJg85mnsuYIVT0QhkoyLiQWdFDJ9LFP8cN9jJFo0cqkC67lNv8Pmmnks7LANk9uBISsiQDXGwiqFlf1icby9lsPtuFQmhhVGsc8w/bqSFvVpVtjxsFhs6MO2+ljUMPQB1X+PNR8wLVPTw/KFHKFX9bCEj7gteGhNB4hvpNaPke2WZZPDr9Z7TQSiiGlecuOGrScJa07ALSV6NSBw6LjsYLjA4PU1H5350jc/NXjJtrXWZ193c+IV/3hnbX5pJh30OHuEEVYRA6MWOvdqP+c/7n32SwSWl1RAlwborGuXtq+9WFc20UzHjYZhKLJVxtw2JhOQLyEIUvqiQosv9YZfrrzPMEnhsYczn3Nt5AhiASFRNYt4JsuXa8noYWiOCEYgWlUtoGUTL8IRTcQUulYlWwCtBgG0Ai4IaXvP9yLoHiULiaS1KjdwK+rrOoDCs+k+9ie9WNe+gY5JAqNWS9ew1moeRCNGB9vKgUrDhVjU6Mu2ssfk4cmLdv3GCzleTMOYVx+T0cGiNlPkoLO9CUFuZQ5e9PZbYBsFrWwgb5w+DfX9T0NkdgIqTz0FTqkMRjIJzUpVXqwStEqmlXT4S5IuDKcqluq9NOlFJ2kgV3jbO13y720kKukvWOj4dhLsCfO8veT1r4Ln/e67IT268uxPAP3yqcMnYO+d90Lx9BR/id1faXqjpaLW+d9AbbIApPVjNegXmTGzrVAGwK98IsHBZbSTQwFPPZ4AV4IMe64I8w88BI3jJwMVgH7wVaMB0i541YxIkEYWarpWBpwa8w3pHhCkvxloy6xZDbHhFYB4d68mVI8fg+n77oP61JSvY0V6db9ffACiIxYvmhJFQyKeIR5EFMKQFi6ScZXyANk+yfBlBUTKCoLvwLKsRwRaLCxZjEAm4LVsqB49AoT+5HHbboJJWn7vb9tGUJlrQXW+DvWyDc2aC06L8IJNp+UKEExBpJVKQIxOOq2oyVxdwGJyCfrdFt2OCP07Rq+bBAW4MRqHTL5/hPuH82UjJkTiEYgm4hCl92mMZVJyGRoHCvwZzWcgmk1DJEXXH4uDSycr2DD9uMDOJXtt0cA1Fg2zqN3YVi4TMMJMvXyddSJj0hRdM0EIdpBOSy8ybneRCITGh7aQIudbnuodGfrMQDJ1s11vxRfCBhdK49r++MMvl2+np6b65luTfxyPLlnQAAVY6XmwzmM1zwmJwLJiXLG4pEV3KqSxrtzzU3TLamddPb1NrGRMWQ1LMopbFdeLEOkXCsL3VTQZkB6wLmcLES/MElk5vgZ40xtKr0qnvOt+fHfst1DJxDpoNcRPFIBhBIF0QPxpKtDKXg9ZZRHMKF8maQAUIiCCWKSlsTqmvL4b37kMtT730/H5q9dsvJ5uZwEh4sc/vcFAwBqjvl1T2GewquGVTQnau2PpBEv791iWWWPpMMdx+AfqDYcOHDiEWNWvpXILkgkT6k23J0xi+3L64JmLdv0ypmb6qX0wdvWeYHrcaPL2nKhPXVw0KQFtep1onECfmfwKDdcRAVoTDLSaXSFrb3jYXsHmdQLPDvdR4rPe+mShVToNkdwqqJfmIJ4bBqNVBIedcTPaE7AS6Me+tgNYOZFaPw43/rffhoPf/3fY/63v8+5jZ/Ow6Xk48uCTkBkuwKodmyCWiEGSAhPWHKBUa0LjvNwmwiwrvx8pklFMK9JmYu3mcUjr8KTa9DWjCTDp9W7ZDe7/Vj96FFrT05BYvx7MdDLUkayz6E11s0JhMKt0rUhIKZol0YFSmUkz8JLIZ8GkoA1Je6TG9Dw0Jk6A2xLWVnx+jQKW1a9WFb4nYr/lTF219UJYsyNDelo+AK98uwxPRfugK5dqr9ouSPXkuqSJN3cbmS9B48wEE7qL4jLGXCObg1vuUEd/SRaSsG51Uk6C2XWMKVilsYJeA9I0Gpx6DeZPVAPZEZFd+pgzE9sWJvup088QQXB5yl+aXY9eCwizEuPeqG7bpdz9ntPvESwbmDitxdt8RuIxgAXYVuaTa1hmZyEW+8GOV9wMJlX0p+vhpmJ2IHzFdpUI4H6EZ7tEALWXjLkIAmsbfdnYzMkzl2NCvoP7TEoxQheFgbv7sWbjP/c2333djug3/uGDA29/9Uen/+eSkXP0QnVdYhEKXimQPdvq4dpd9+5z4Dn0WB4aV+W7inUXgT6sa7vJv+9KgJnLQItObj3sY8ugaAsgcFbBbazri15Y2TM64rz56f2Rz/z47vihENPKfhoi3e87CvjMrWJdA+/YNn0aZhNeQzAXRJILHWyrz9e0FXbh8z6DYqhpf/Xa8c1rYqa1S9VTtDsDMF8w03BYIzG67a4Zs1qWabZMZW3Sbfbd49u7FmrpM3Z6PErpfEZqEnmcDelb9SG7XHUglTB7sq3q55lDU6FK/Av18GwHTt33EAWtV0AknfLZPZMONtgwzu/M9QStaGHQ2vEi6jqj6QRG0JVdNRqzUDpznLOvHo7wwhjXbm/NTXSutweKRdDPF5bdaBtfcjPc8umPwdC2zed03EqTs/DUXffD5OETfN/YvVnIxGEgm2BVzOfFsqJeoFVnWSFouYmkZknNWJWOmAUl17KgkUiBI8GMV6tCZe+TFMQe4V7BJKReZjM9Tzt+SPNvJRry8MClwEuAVuVagCGeSUFqxSAYcTFZcup1KO7bD6XDR+jEy+b6UGwQX48aCrjg+ZpTXoiFZZGWr00NUkysOEgwqBj8wgAiIhA2wtZYgf2V0ruSoBe2PxAIzW/zzCn+VOyx6dhA4xP/PsIKt1l7WbZO1gFO67AVBKCwthW1Fed3ugyQrsmIgOW+eIpXNgFbiG3l3sGm0cG2inyicLvQHQk8G5ptu9Mzg9YuEehgW9tvFx2gsroRcGkodAzU1kCRrcdptYYGPOuynmwl3znvoh3sj3xx/uDErPtfcyn8e//fb+YvXTLgyqaEGDGVFcUD5GwGBoeC1ho8xx7LArhCKCOFw+4BOCiy8rtSYWhzIUDasoCycdxQ4JR7hap2zcIQC/tWd0T4uu7Y0RjbuaP1gclJ41++8a+pH7OPGoFzACt6N4j8PFd1Ia5mwrqkAUL+rnzqjhVoZS+ZosMBkswLIqB5ooLQsBLSpSDTlz0QPbyel4/rinQ2OpRKv1APQIrzMLCHUtFabCQ7nVs3fGokbtWymVhlYMvY8bXs75H8mUIqVo0zMEs0Xz/ZMLFvoZZM+wguXfPmo9/dzA8mQ373xNMsKP3ctgfFig2ppLUg78hSg6f2n76gly0DFzP7D8OKy3ZClBm0M5AUsYJB5bwmcwq0GtDZkqIvt9n7ZV174Ve7dXEYIJo7gDqBbgOyK1ZLfbEJyIoH2lGiGhe0fa6DJUTQrY9vN+CcHB6Gq9/zdrjsV1/HU65nPaGg5+bEkwfhqR8/AFXZvIExryNDaUgnY4uHrKHuROAXYjF5QJA6UbRicOcirazRX45oOlH/kGBwYgloxZPgyWumOTkFlceeBDfUbYxAUB9DwrZX/jH2KCBxoVVu+K9G4lFIDmTBkk0QGJtYOXEa5p8+wN0usKy2YuCPp/wNV/qzavZU0leVp+8N7LsA8EIqA/zgjQ0FlE0hIVBBW9NmYR+QGrwwDEmgq5hprGli2fJurQyNY4fALZckU+uBSVGXabpgYtaRy9BM9en3RC09qPmFVzg0wSVtKJR0WGJ1YNOfUVMCrsmNxvqyrfw6Y24RBu5gW9Wx1tlWw4hAswFlFYcXkgjoMZ57cEuLKtFY0cPK71v3cI1HmpHR3FR+y8ix1Wxs2bnq6Hr6+5oR+lqCvqffY3QguWb7yrFC9/GLZfC8c/IwP9fnGz4182/1FvnXbWusP79ldyy5VOsVHq/gMskxEW3YF/O555REYHlJBWQa3/NE61YWKz2fdQ0Ksjp/ChmB/Jso1tW0PC8RQ61qHSymncdCKsBJAk+CZP6TxutkzIvceEP1g/U6fvqrX838b53lNWTsRcrmil1IcmJvChsB31EAK59YCAA1B7t0A1ibe9DstDRSNtDfgl842o1tPWcUxFx3hMoseFy+avx6us0ZlcpXW0NBK05Ga9GB1Hy6kK7nCll3EDkYElHIbhn3dhbL9sxcqTUdKTqzM+VsqdxI1j0x2+9I//eVDGgzerYMw/SZlOmn7tjilZoNcQoOqjXHT1/ztLwrWkj2Y1uVsuHYo8dh1ZaxCwNa6U5VJqYgv34NmNGoSC96TEd3/nNFBlbjiXwb+CXnBVpJSCqA2jL3SNZmoW4dCDjYdOLDUNz/BKzMDoLRnOZNIoxIVrPB6r8h3S6BsMwAtckYxI+xqy6H4R1b4an/+z049uOfnPWxrLHirbvuh+ENq2H1jk1cn1jIJSGVisHMbAVaXVuy6lZKYYkAAwdWzOwuC9AmLET/LFGGrW06VO3CZcVbzWQGLKcJlmvzgqH6keNgFosQG1vJb2Q1eRMzX+K7CagWphy0Vhr82rQouI7SG5cXEomSVKgXZ6ExN8eLuUTaJ+hqxfLtHp+4Ev5kTgSgerFgIVlRWinACsTpxT5Ys/EL2iYoratyM/CHY09MlbG6DgxN8cA8Wel5aU1NgEPBNcgqVcNxhUerpCJcB/uuT/yz0QgMJzGUiy0ozrWgNE/RWdmDRt0FmzEIFCibLKhHMJgRGu9oYI5mUrw1c2ZkANIU4NeOnYDm9Cy4jQYHjcxv2KLrtSJRrjVlXzhz9DTYNmsxa8tiLgrU6YTViMUAx+JgJBJgJtkzCZhOHIjtcmkAa0tr1xtg12pglyvQrFT45IEdEIsCbsdudWFb42E2uAvbqmhr1tZbWWDp4JbLEzSKmTkMNOsetzUxZCvCXhKBvi1d2/275c+42TIHUnPp0YHyipWD7qpaBWZ2bYPrZmYaJ89M2yfpODM5XSmUW47liLkKMTcODd/y5MTJO7qwAxeVcVWPv/xa+aPve3Xm2//lVekP//ChxgeXDuswHzoK9+k+0zNmo/7dLZ5zEoFlB1wVoBQuAoHW1ZPMqbACIIG2VQO4utZVvZ6K4Va95ZosWhqsMJW+ybp08ADKgrYrun+//JXlt9MvTn/rW+nbHZv5Ynkic45kExiR1kKaHSESbCzxIwQSktmQDZZiX02VBhPdRrDv8UX0FohIDeQh6SshQUhwybnZgsiVqYY2cOWa9aNRy7qEBByuzxYDb4HrGTQAmqZJIlaExAxWhxAzsmzhSNOtmoZrMgkBA7lMTkDPiyvBaadGNpxuY6y1J/uC+y4DWLiyQL4Q11hBgPmyDemEAZWq0+5zT8EGs8tCvFFBryQD+55DDx6G615zzQW5Zll3q8TwANeVeQ06KM2XwKIDYH8gt1jQmpPgu2vivQvTBv37qCqNXu83tVWRDjkq1/3Ruc/KzZdQIDENnhkHFLMW8A1fgPwlPRF2x6csCgJ2v+VNMHblbnjsH74KlTNTZz3JOHPgGMydnIT1l2+DwuoR3rhgbLQApVIdZosVn/VFeiN4FE4Lc8urqAEaeuvOsvqAVWNZQ3MPFEplqxZDbFHHinEJQaTVAiaJZ0xj7UANIsPDYBUyQd5RO0b8ayioa1LQyoWDFASxSnqlr7bptVqjAJhpQnl/bOn1ydlOf5OIHC5Yv2WHg1cGdgldB5ZtshAmAYqRTC1CmqTRN6wW+k8sZ/IMaLqGTLSw9TOWVIEsrpfCfuBgTglOaZ4+i1xTyqfcLg3iErSyYjIOWpsiZLHJvSczBCiegOmaJ47fsAUDgwkYkNkblRzwVCwhws2AJwDqRSgfYk+Fkdi2WMJHuuGAV2Na1ro42p50QcARAcTVShsukEaFflQnyDo1ru3NOtjEQhVrueVO6WM8nQyxrdCFbeWkA7O7opionW1lExBTZoHU53l/M+SgsIaIaC4C0BW06qvukxJHDsGk5VpuvWk0yzWvBBP1Q5w6rOFSvWU0m47luh5Wc2WelzAxXn3z5m2X3Ll/72OhzAmz+mEjNrq4bmTfu79Re9lV8d/eMW595Qu/M3DnOz4z8/2lWrdhsIZgnLG26I710rsywPqckwgsK+Cq9P9ECD9Fip8ENlikg3UVILYb6yp+UthLIVUmgRuzZS/hcFkU8RuuKGnCC15UvimXc265//7Eh06fNitBm24ii7llu9k20CoKaZHqRhjSpIIslBWack64El0mp2VsBF+juQmAJn/QbtMluGEFpxI1LTySyd8sCZiQrRVnM2kwqTZjTXr0WONv0my1GnPz7rRp2KbjIqfWsKqlaqQyV01Xqq1Yiy7vBSC163lts83i6SQP6RZZImjiQjbqs63sZ7Fkw/hYEk5PNSFUWETfnJu3IZuOwPRcswvbGix66sBpqJfrkKBgg0kHWMtYmxmVS8CLZcUaljYRZsTkQZ6xp0Ra12Dsd7HgJ4exJszmip82ugzTCrLUbmLdeOCveT6gNZ7lqb2uPCXpkYInpCeryR6NmX1gxnKdKVLSBmxRD9SJwk6xvS2rwlcC6YpLeyDstoVJx2IEBjauh+s/+F44+N074eD37lyw8UPHZKPegKfufggGVp2G9VfshFgqDrlcEtKZBExNUYBYbwQXbtvFZPia1n6AtQvLinSWtb0dZwD6CA5srFiXy7pBwRdFTlE6fiF6HTpTk+BVyxBZMUQxUySwv2IJXHpdtyp1sFjlu2UInSlLqtstqM+UwGm2RCpd8weWvQSCFqpIpOyZ3STxDLq/rOMEu+8seZOAHzhBpp0E6DRkCl95lyDePCFIQUmpARumSWAVxzKlvJzTUzQ0FhmLOToxajV8nMZsrvisWGpvWQThWQ1ZsOPJ3tzEirI+wCJlzggM2YCAaO1dVVOCdsm1Ol+k7wwMdcgLLsaDA9eF2FbmZWXKSUGIheUOYPS61drFSg1d6DIni3IRCIPWHmwrR1yu6U2VC6VqM9GcmK/PRE2bSwNsx3JqrXizYUdtfsX4nxRrz8UTN6zOFw4cn5uta7kg1CnQvziP935u7sF//ujgX69dYX7q9Tcn7/vyj6rFJWReHdb23RMS/G6BrPzv/7mPwHP0sUwYV+kcwGKf24N1DVhV7W/o6jCg/o5ZyE1EEY3pxCLC+Jgwnz32fes3N8fWrWv92smTkb9/8P7EPgWEpWsdMgRoxVKGpiQBfh2ZAq1IFWbhIPOGkDCMsUwBpMGvYVBiXQl4sd49OmTjHnRfkNZZ55mA5kjohvWbd9Oxa1CNk4qFkM4HfGNsOlOeq2Wq5UayETNbRQM7mLGiDKTaruk07YhNf7qeh7z2yUc31nVB8CojZz6JIBqPQqMqwANjU1lqr51tZT9n51uweiTBgWsvtlVO1+HAfQfhsp0D0JiYg6mZJsyVW1CtuvxAWxGWoqPfG8EQScYgM5yH/NgwuPMlaM1Mc/BqslRhLMJTeRYFteXT07wCm+8oHSiNaBQSa9cIP0dy7t7QArTqTGs7butAmqHBtBdobc4doUCHpS2HtE+HPcbIQnID0ms51IWx7bFWQrog5n50bfexiqU9N73shTB6xSXw2Je/BrMHDp/1sZ45MQHFM9MwftlWGNu2ASx6o65aNQhleu1NTRXpxMYNzYS4T2vM6NCxdmdZJYLFKMD7PVhWIodlJB0uuYUVuyldAUBsJoiDCMQoIImw9xpNaJ08BUYuA1YuyxlQj4JWZ74CFjfuN8R6mRVbpcqBOtIaAwgvwCAd5Pe19737ZNMAOmywSnzWvY5lNoU6AfuzagVY/Zk4aL8TTxQTavuMTN6UXrL+QhOAiM7bGQJ0MbA+OAT2fBGc4pxYnSnYWRM7/PvtJpIdvFAwp6KAGCVSwohAxSE1d5BBSZ9/qa8moewI8c8n8QNZ2FkX6bchQou6ks/nwey2BJPai21Vr4mJRHCLBZ20kO/6gIOJljaaYFkNt6jCqwUkAjpDyyYJtVasxZ7660Hxr9rU0Lqil4yuvoEC1+8F9xfjRryfWa3Ox/6+9D/+6B35W1//guTtFLj+7hKSdaxYizGvBhL1L/p4WqOg1Ybn8GO5MK6BLlSxrpJhVd2nCCY8UxViXaWdlc66ekIATV9nsNdDqThuNlrEbCnWlQEWyzOuuqb63loNP/G972S+KSehxPPNqrivK5adXXCoIKw7aFXEAmdqmS6BgVad3RXdt5AvEfBpVwC9mCBgW1EoTJ3P0QWW7FudH0ymY7Frux97rbBKSBQIA6dMgyQxR1BSoyMkoSzWQeqiwGvb5vHvzpsNWLVpFPY/fMgPwM0mHbAt1kkrjIWEVAD3ZVtV2H36J0/DrptfBcnhEUjSz69tY/dIW5qctzYdHIAoferLeZ4LTQooUtuGfJ0haWcZ+5j4LwRaYwy0spSsbPUZElmQbmAQhZPFXVLvdm2aAr0YWKkVnSCStJ1MnW0lqINF7WB+tQIu0iPFHwatC+lgewBp0h0AJ4eH4Orfegec+OkD8NTXv811g2fzYBrKg/c9DpOHT8KW6y+HzEAeMpkEpNNxmJqeh2KxKt0DsEi19mFZ/dHYR6GkC8uKdLoKiC83UMJOLJwEXK3rkwRcDRrGWatjVVLmlUpgUxCLUgkg9Sb3kuVghC7TqDXBrjfFNhiBgbXfLYUE3nhqE7AMYMLhSvbOZs4RzLA/wkz7XfBc7LPNfrEZZ149HyQJmQHWzPWReJ/rY13Wes0/NrxkluERCagZG8vHbopyrfwwGBSIts6cAsTY1whblmVNJNTiWFl8njPOrLkHBbhMu0v8Y098+yt/uiSiUQhwhqx2eyQkOiMqgbZ+WxfkkcikQi5YnWyrfJvZ0nlNPyukDypC3+r5582wmCOI7wHcpms9B4lAz88sQiMrXSn1749Z5s4r1ow/dv+xI6d9gPsz0LiqxyMHW63HDrXef9nGyL98/n0D33rnZ2Z+tIS4h2sXmcsAa0qkQhN9VuE5/lguDQg4C4o1ayjhEIBDLVpxWxvXbk+5Hl9+wLJjmSSuBwWuGG554fwvGSYU7roz/Tk1pqrvb7Pdwqrd62JAq+i2h7kLEkaBHAAp0CqJGCURQG0SAa1ow5eOYbQ0WoHNQ2PX0ZVaGn2nzXoXnm0j6G5nBZ0BCnoHKugaMBmmNel9u2IwEcInjFnNpqyuhvmieMvQviTMtqqNOvLoUajMnV9hJpMO2LNzrCLvrDs7nRVo7cpo9gaEpA2E6lUcnl2ngCPaCVrle0SvCiCkjen0wqAU2iUFqF/Sv/0D/dlcgJBhBgnpBPq3WWDLr7pmD9x4+2/D6BWXndPxL0/PwQPf+BEFsY/x9rqMXR0dHYD161ZyGyIzagV+SouwuEIaqG03bNZZVvDbmYoqTNYNihdESY88NWtWbClrbFqjQM1WaRImk2ANKkA0KGDdnSqlKrRqDSkF0FAHDtqvAtLUDgrwqu2TgU7ZVgkwLaymDEsURQmQa2rOAqz4SzosGBYHvByostcYaKKBFtHrkP9tKLYUC8aWA1rBFnJ5A5ZFRizLFE1AbM04RFcUeOaFySdcCm49Q6SgxOeZ8D5G0U4CAr9aomk5SZsbQDg2+A4Dms64/WoL9L+ky61JLuigmMhmtDxcL7YViXaueoBW77F5hBXO5ZkU5LpOQO5JX8nF61rb2daum056rSs07gB0sxpDaFU2f1N4okrQzxKfvP/zc4+W697fjq8wP/mCy2KJpc02C5mA5/lNgErPZYnAsgKuuMOvNeTR6rOu7TZYOqjUgSf4nxVBkEkG4lHcYvf4jl3VHQNDzsv3PR39q8kzVkW10PbHJKxIVmE3KKRUAker7wrudx4bMfKtsJgWQUjJNH9ZeaMS2QGEi7L5cswySw8rQkuL9EkzLwD2iLAFQaHmiot7Mkba83CMzmR3+bYlYn38JwpcDvp3wuKdIKRDNygbFWlrhTwMft10eD29gpdaVliUiet0eCgRckuar7QgnbS6opY5CmpzmUhftlWlA5+484lzvjZZm8bq0WM8NbvU3o0CtMomBb1QIOkG4GQ6MwTw9G5XwjjTiKQ64KPbLEGrdBLMRL4L4YlCy4elBeEU/mKS/d3f6O7TRXQgHpJAdGtmAKHtiSSTcOkbXwNXveutkBgsnP3EhN5gRx99Gu654zswc3xCsF3JGGzcMAoDhazPIC7a4koHD35WBUnDON2uSMQnBlqJag+q3/z+d2L/+5oUwNUcBuLEUWFgt8qaK9QbrJBFVrn//+y9abQkx3kl9kXkUnu9rd97vXcD3UA3QBIgCJAgQVLcKWobihpL1GbRkj1H0oxkaXxsn9HMOZ75MbZ87LEWW+MRZe08IqWhKFLDfcNGEiAIEACx9L5vb99qr8rMCMcXEZkZudR7rxvdjQYahZOo11VZWVVZkRE3btzvXkhYeFGgkcds5J9qgeGXqmhY2RnZJE68kgJ9cf0FCmBarvZ6DQGrZcefT4JXS4NeDUrBkRsQV3estnjeiYGtZUX7QsxWKN0sFSO5w8GdmARnej/QUj3S0MqiKATjtjhupWpGIGomksd8KDFZ8qTdVRY88QgAp1EVgczhrumtVK3oQAGIJj8klc6mUKAj5RwJY9oINtrxZEU/rxd0pK9/zP1n/VWN+7hfl/280e/rxIZwXNhs0pY5/qgKPtNOC2V6dMe7bztwUO7LAiqz2K9g7Lua2+99uvEHopsIfvMjtX95tY9tiR9QnA9LgNf+zS4ReEVJBVRlaMimKq0rmkZQvexOKJNOH6aWVac9DWVdwZAW4IJ2rUT7TsGrHbiz8+ury843n32y+iyJ6E0esqZy/s0iy0GFhqm5jA/K/iryyYaQfaVETnCtaCUnkggYEbDqXzReXDMlAsbEmCTNsF/azffoSNh5SMIMpRTMWCUmhpffMFsrSrSWIiP9ypV+5FtkZR83QedEhcHIljqsLjTUEIIsFPawOC0Nkm/V6QUwtSWM1cxnW8O7Fx5+AeqjFoztmoapW3dARwDR/sKCPAlocVMoueCWShD4HqzMLMi8cdn4HAeoW4DabfsVe3S1QWtxTIEiPoRZzHiskiFg1tBcCmAAfl8CizSARKa1v3oeSlN3qsrvHIjJOc8SHGkZAufrs8BDoWkWxCYBawpGrOv2ZRamqUfGD+yHt/+r34KTX3kQTj/4rSgXfnMMlwCFzTY88+VHYNtte+COd9wHRQEeJreMwOhYFWbmlqEjl+A3b3EVXsgcwp4ilgWE+zKfySx5GnmRhICVJ+UFRnGNTJfzOFgC7DK9LzFBb9jhkDjVKsqgNpd5ovAAEgFVpSWILa6ofD9bAmvqKnaUsdD+hEZetCTWHcTT8FCmYLniEvVRsBotsyt3AVtLY5g6J9IWy5erpYp8tcQ1STATGko7q+CtrUB/fgYCT2b0gVWtAXrASD9hAimdEo1sWuIOKG6gVK/JktBMjMSH2JxcYON9XsqtNj6aZFvTdLH+Ie1CRZyPVoZtVb83KqP7cTuS5yrZT+tCrU3oWlmaaU0FDZBctnXIFUzCeVtElEOiqZPxcuWdBds+LgUeL6NUILx954V+99y8/29v2Wr/yb/7pdFP/7u/Xj1+Fcl1NIUfrLVZ93V37CcvHj5x0zOurxCNa+wSYGpYmaF1la6CKAcxHAa43o8brw23GOSqoFjbAvbWtzc+KkBY8Nij9U/hSGFZup4mjJfFlwbaS5aq5X2zuIrqx8GwQJQzJu3pqgNjuCkRMMBtHOMFRkyWaYUY1mMN07deweW7q7ZzO+PNYn7Pq7r0DGhdD7ymoqxihwCpLl4XpA4Hr+qYE1Ybbn3dbnhaAE0AFrkL1CsOrDQGCWmJBK9dH8pFW4BYlnnOBK+rc2vgjozB1v275DEre/fIzQRUauzjML57Xy47uLmo1c31N5E8ILEgwjeoatZ/D0lOlWyaVRQDk5f9JNISyAevswSlyQOS0cq11+Kb+R45BWJ8yOfPLeqK34tftsSAZ0ErCQ+n/m2JCcbtP/YB2HbvXfD8J/8BGucvbghYExMdcT974iwsXpiBgw/cC7vfcEBaZ926Z5toix2YnV+JirfM2NL1iq9idGuAPJRo+iomjkR6oNhuKmJcTc9UConM+oCHaVMpSULaviQEt4TES+lyP0vqHyPHARqDXZXWBtGsGrA8TINXC/Gmb866qUYhKKsI9LBDYtcwWhSdYw9L/3E2Cio/MNAhIyRGlBpVSdWMOF6Alzx3VOSrAPc40SSyBB4lAo5ibJnuREKLQxJJ76O1AU5I4jqJZt4kG9NKyJAJU9o75RpSr6ipLmo3gSTLSpKDgywctMD3IKNtlZMOO2wj6gkMMuivdcFBeUUaRA5fGduErpVsSiKQx8hSmv8am5LRd+6/7Q26L6BAXn6c8qu/v/Tg5//91MNvPuj++2KB/GxvcPV0Y6L5rgYMmDGnek0q8EqQCkSrRIaG1UzT0jKBeNXMjITNecyUFuC25/bmXdVa8P6zJ8r/sdulg3DpP5ymGlIF2dda2r+VGAlelEYerFEgQQhaQSUrJnStJCkXSAUUxBbR8qKlsYvA1bxGxwujb9dyhiGdCA8ldZcT4zpE78o21QnmaJ7CZSvYsa2WIPjWWh7UqvnzL5QL1KvOulKBUFD1/S9+/zq1ZjXI9ts94AMPmi8egrWnnoLe4UPAz5+BUnMJrNZF8JdfAH/1EATtiwIEtIfAVg4bYzt9VlkgZ2E88HN50MBrg1vbHoPWSA/AJKDNlUHwLNvKeQ52HaJj5Wn2mMdFLXyz4D/zHjxOACNG4GlqkmFVq/D6X/pZuPVH3i+dH4YwHcmUJUNKiM4Rhx5+HJ74zJegtaxccMbHqnDgtp0wNlY3iC/DC4/Ey9UcDFlAGGWqOxQJWhFRBGF+XrwmC5QYwnfj+NTozkNWLUyjimNNYm0sDWUCoVyBxq+R+tDQQxXdMZKgVT1nFhaojpRL8Molq48m/jIeVsoFXMnuQSgB0GEF6BIg0RMtRbpYeY/Il4RaWAfijhYlsVQxtNJm1JHng3Wa0D9/FAaLF6UYEI9jFSpxZ0QM3pMkKbw0NRhrVtfnBMyELbJuL3j1ybH6xHjKYwZSoFRtlluBIOjls63EBaWMjvXW6L4QDLwk4xqOruuB1izbmnMtbRa08vTjNAcPyNtoqfg2zgIxjQnIjYJVHnq29+8ci7zxj35j/Eev4mE7D3/32CBcBHjdHftfGYmnNz3jmse6UmXAz4wlf6aW3sFkWJnOcmWxq0DEyIZ/OxVWnt7V+e+7LetLM2dGnrGoV0PXFnSdwX5RDntMXy/yxRztmizCzeueJGouqMoAN0Fr5ONqLvpTo88MSVY1phgVKSQqhCXc6DcTy7z88jHt/Xtv2SVO5C5TYJ9f5c+1xa3UHXETI8SrbFwx0iSy/CSa6CJgHstgXpkCE6GTQEJigPsz5UgApoPoRJlBbawCjeWm+t5ioPR9Lq158N4oKFMpWlQZ4XHOMwOVgS3gwqELMHtiBqb3b7tm7XjmxEW49OIZ6b24+54DUCiWoXrwgGKGuEofguIouGHzQKDpC4CrqCWgzojsuzhnmyB2Dc6k3xCNvCqONchfh2I+2IV6DmBk0Jk/BG59p0E1cS0X2DxQz/8nz/28/LLHep4leonxEM96x3ZbHfAHKtVo6713w8SB/XDqqw/C0uFjQ1lWMACs2YZWZufhO5/6HNx6391w4G1vAttxYO+eKWhO1OHCxUUYSCCQZFljFJqUBUTnN1C62pBppQZjS7SZdIwsVC+S9pWNgHa4/JNgXEmSuY0AMYNI4xTOwC0rtuOi4fqtpaYX1IpeC1EHV0SjToE7SxK4yqaKjgBU22JJiYqVrPykRbGLAKysJKUAOMFSnw+XvDwJZnFJWzkaFID1O+LfmDjVBW9pRkzu1uIO0LaAlutSCqAcGGL2PpQzJf2rUvX/JsaNMsc2GJx4jiyAXBss5To2VGRRVopthTTbKmB9oQS9zkqWbdXuAT5ra322XtfygtRyvSIt9L+pobRQspM80JpLQnCVUhItoMaLBOY9bFAMHC1i8BDcknpzlezfMsqvNp9zxbff//vGxbfdUfizHVvs33nDXvcbL5wZDF7iIfFHkdXDLxw+wQVoDVlXBjfx7RWD3BPFWCnWVZfzhwRDgnXVBVQkZkeJyWrK+32vW/05bPVHnxv/BOZb10q0A0ZUKw8TsohhbaiJBtsScMNSUiACpmQgFA3EoJXGRVsk9F+NWWESu8gYF3g4+BAwQPJVOqfT9fpbVD0CpcM6iVihkPwtcjuW9Gx5A+aVRktI62mnIFEYNgGrcOebb0syqw3lLpCVTlBoNDyoVexcqQChyYH+8c88fk3a7uzJOfjcf/g8zJ24BK//4JvhzvfdB9Xxmk4psvRHRU3raELILAd6uyzG6hF5j4O4PMvImgbephhQ1l/VRpkks8QuGS1CjUCDJGjtr5wDt7YD7NLoELFCCGQ3IIB5+rPx4eA2z95qvUAD020gRzqQLkrrtFoKtBo3p1qBAz/1E3DHRz8i5g31oSwrMTFnXGwvNagnn3wWHvnEZ2Dx3CXFitXLcOD2nTA6UtUa0+HFVzFoVcUxeLxwNI+XWXgqnURX4EcfRP++ZtUngJFclbRJUqECYJjR66KnuFpUJoGp78oTFlyh/YncLWpDtn491uEUZFIXsSsqUtYKFOsqGVZHpkrJf0tWVTOumpFFYCqdByxXL7UVlDQBNeTieDj54twGtrYA/twp4N1W1OFb4vV2qaiTQ8J2Rg2QF6nAIe24m16RMUsMSepxsoEiwFRiXM2bIwaMCWTzbWtDtpXaJWMCkGZbHZ1yFk9k3EIF2isruURzeky4PNBqjAvramSHjC2EJ31kU2PMoAMHOGc3FI75+Bea/0k03fK//vnRj12FwzUe+m7sIvDi4RNyKnizs670FfRB1ZqFAWBVFb+x5E/jin4D2EK09J5c2ZLPb9nR2Vupej+2eKny8UHX6uNjJZf4RRcGylVbuQfQ2OaQyiTBeCUODHMA7TJAw7+tcHxIg1aaiFIlYeU84aFTVjT+GJKCdUArY0ASPdcG2xt37trqWtatWv0eiuCpjjaPNvU9eOQGMGyJxwSvuuaBar9y5VIA6h4gci0gnPNch4F4FZ/rzxDvhzT3ju01nXmrHuv1AigWqNa+gVEpqzxdXZfE1dIEMpXE4e3sc2cEyJy5qu32xa//AJ7+6nPwoV/7ANz9oXuhUE7KibtrbVkua3XmAdoXgHporn4UgvYlAU57KaBHpHcmAk7m9cBrL6TwXs46PUbjWA6k7bCUTU5BguA8hOl3VwVOmJDuAknsSPJp0YSRbypmluRkDwz7vBngCYaxv/mwGUKfJx9IvjGC1m6rLf1Zh93G9t8Cb/xnH4Pt99+rrmDI8XYnSUaWGN6Y7dWGmPx8AZ7+8kPS3B+PMTlagamRMthRJX+Y5RzLAkCXTyMbyFiOJhUM+5TUc+mwgwgIR0v7EM6YY3bUQBrxMjxPSg/scEKVjP6TbGukW7W0jZZlaGltBUZJEbgn5v9WTeDUmlzbUyC0qAFsUQJWoGXxRF3ur6yyHLmfrHgXAEsmYol2Su1xEI1ShiwEy7PAug0ICwdw7odG/Cr5yzgHJC5MS65/80xRWxat8YwkYKhuYAMq9moAWFw1umWiAraWCWzEtrrlGgwwYjbhV6ULtpwi+Ni3EKMxC+wXWqUBRHVroF1dSLLqn8vw9ER/ru+1xDh6nMAmJQKpcSccO6gcufVYkkOMMM6rvQ7bejlj37XevvlMrz23GvxfE3XrNz/8QGX0JRyrK0BrP5dVQMnAwf0EbtLbKwW4YjXOSpp1JVnWlRqEgwaphNJkVGrEuiIg3bqn+av9nvXEhRP1Z00wXCtZHdvi0gA4qpcSfyi5F8HkLMnISvVpCGTxMhObpY9j0Th0Jg1aozGIRq4CanGMmOPW5nSt/QFfOD3rdS/nhO4aG3tzDmCE/BlzqlJ0A/BKibHWNrRfH9KhxSuZ6ljKBCVxnDFowp47d5tiCmi2VSFWdNXrJU8cX9sdAWyLVnSS5e9h5QcTfOdvv3X1pAGPPy9//B/95x+AYjUGrCxg8INvPA+P/tXXoDG/LC2vnNG9QCo7gdljYFX3iIZQEgN/S60UkWzIgFWoSoDQWzy2CevYlHaU+fLcBIMO5CFM5g+AOmVpl5UExAQGjblcT9ls2IIe/PNAK9loNI+Rst9vg4XWiDoxLPyuXqcJdrGaYVTj118eaI06RMeBPe99F7zuY78A1W3TkFjZz7CwxpPGMvz5Q8fgG3/+d3D+xWMRUzbuUChjPCskWVaiE6eQZY2r8UlKG2uwZiSc68YMWlpHay7PADHzpI3LkoQ51ZqlNR+zQiBLzMWL2CXB6MiUtxaLpQI0ZGFRFlARYFyAIXtUnNeaCgWQ4FVvVlHbZlWUl6tVltpWychqX1f0ICXOuACqSxA0WsA7bXXeiALQWHxEpdUWjwoQMqv1hv1VxsqK5M+cc9nAjaQwZGPn4iteLxZtY1mcH2LRHHoXErMqDBWJitmIab2mCu7kMTiP2iuev0G7vf5qCWwc50pTK2zhOLCJYqx16ifC9+KQPyZx0u3A7hsNsPzOn658WnTzi7/4/uqvvQSJQDOXDFGuAvyVRDzelMDVed9DaC3xx+LDflZcDTOpEAAIWddIEgC66j8FbKm53C/223X7ynstm++6eHLkrxSwpREYRtuqesXqhJIAGgYL8ISPOLEiVwCqYutjm0KFuzTAJeHjZsEYJXFKIlGrxlG9BiVpljXDtnZ67OwTR3uf++U/mPvUM6f6PRqazm6w7Z0YrxRs+wBEsgr8fPkdQ1gjRuLErmwno48DKUYqMmQ1x1cwVjMpj9nnWOIhX2eZaV2pYolR0oY77t6TeJ9Oz4dKyZadJQEe0b2W+F79gQ9Fl4Y4KsLBacM8fPLi4Utw6vsnX7q0ZXkJmABKd77vrmRv1OnC1/6fL0OhXIB3fexDcMtdd+tilWKcPCQGcZQH0OK4jMDEMSborwpA2UuyMALwYnGL355fF7Im7oOu0s1yZlRSGT5rliqekWxsamD220vg99agOLE3R5mQXf435dARbUs2UA1kuAVkf1uSUUuUVwlwjcCbOgXgMDzJCz/BZkGreatMT8Gd//XPwZ73vVtMEtxUoZa5HE+Sj+lJk9frwbNfewSe/spD0GurCUJRfP+KJ4C452ltpXITkGmnWqMJ1CiWoUkmNWKezRSPlEsAgSQbR4wF3/g5GltVmZJ72clBHJ0VWWKFrgD6IpdPWZoWi/cFLReQrGu5DqS+E2gF3TkGorFOSACqAHBZMa1UTDwoVsePKPaVFOSETTGuFhYfiLtJ4K1zwHud2PlALmMFUj6girlo5OGKcbQkrUWO5ALDJ0wZnSusN/fmmQ6ZDEO7V2sMFG2wPFofzrZG2JWCW6pDv9tIpb2EbGsJfL+bmGy5YhK8emkm8+nlWImTB4sQyDMYTfXpYJAuNLZZS4wPGXBK8h9PWmDxXD5SjRcymKP+1ltv2bXZ8e96bLMrgX9pyf+Depl+7OffW524gmOsPfTdY0N1rFoyAHccvDklA6+YLy3AKxfbkdL7H/prcZF8UjTwk2q2qDWshsNADuuaCB7A/4qloFId7/9ce7Xw9+3V4nJCgqBZ2aJLvLILA9PzP3QOsMMAAmRY5WaExUT1FgT9ulX/T6MQnDRjrEArNa0YY9Cas6LNGm12+AtPtD/53/3f8//4h/+4eu5yz+XBrVvfGEncjHawPng1iN91nAVi37782TZk9K88d7YufRhpHMCQvo2XGYxM1OPkGzHw9/seFApWNHuhREkL8O+eALZSTiALTvRaFE/OCkKLyW9/6lvK0uilXFgXz8O2B+7KrPCsPvEcPPDz74A73n6H1rSqxoISALVLD0LdvYnpaEEMRkvHTW5T3gpjt8jAABiiP00eSHTy3TUJCEwWNcSUVAxqWKiVp3kNBm0BWltQnrwNsjA1FceaFwFLTJVBVreaL2VVxTF4bgKvrz1tmcFcB5IdJimErg3Mrhi0mkvv02+6B17/3/wSjO7fl8OyGsyrpiUjsbt+bHV2Dp77xqMwc+K0BKe4flrsd6HQbcrPqEAri3Wm0bosj62mElpWSIBWM0ggbXGV/NtgVA1WF2is9pThAIakPJxRA0mxrhGDa6krlYb6VnHtFatAR7eJSdekWupHHauzVbyPaFfWtEBJkzItSwFW3BC81mMwS4rqLR2MM50A1j4lJltU6bSxgTAPCG5megsnhmyDZ6Bj/FjSXYKQ9H550HNjBpUMaTvxky+dhR2bnjR+K5NtJamULFcxv8xkW8N9Lclgy77GQJQYAczS/R1J/kUhPwlxg/OybpHVcE2sKc3loQQw14JLyQcYbK3X3nSjYZb/8eNLXwwYP/9P31n5jct8afebj+VKBHIlA68B11fIrfTBhy/UPvTwZ0U/9Zdie0E06CChaw1X42jWOitkXbfeuvJTos23Lh0f+0oynIDG7K3YamWrQ6muRSA6AYvEBWGRvIDGtlvKXkqnuIYEQZykGPo6mxNmnRaC41qo0MSIhEjIR0Q/NJhbDZ7++JfX/urX/uP8Nz75SHMJrkA349q2VXELb4RIg0poSHyqWhCes3SfTT3hEBOYJKVfjQjPYXnUOeA1Tx+FMY6OzRD7Z5DUmLcA973nLnXS9Jje7aFcwIqkACi7wLRDnBT4AQPX1pV64SonCd8UDEN1gLWFNfj+F57KLgVuFvD4Aii5rixuMW/22goUd0zDyPS4ANFG4pLXgpnD35JL2iQYQNCeE2CrmzjbuK9dnQKvvZgZHahbUUazubCVx8gwRB+R2zqJ9pEDWtDPd64KfIEX+lAc352ysEK/Tg94ym824XXF06A2x4wr8xiJQKu5DwI8Fnhy4I3AKVMuC0wOxjzx2V4KaDVvbq0G+//JT8A+sTni7wzLSmicRZ0QpKtlFvxpLh0/DcefegY6DRUvTMV5K4j2YPc6CZlB0kKLmjnPBvtKEgAya71lSAQSCSY0lganKogs12BzQ6ysJ1CEQoJeiyUEPALUxCmCNS4Aa21aMab4bHsBeA+ZP7wIx4FTATit3QKDbtNL1iUpJ0AASywEqiVlj2XXxONbxGtPi4OUFdMrfneCwRnKGFvra/USFjofSDBsfL8osCFbYBWHP8Sz5Zxs0ZfOn14lSFGuV7Vvax7bagJlCm55BPpicpqY4Og24CTYVvX5imKisXzuXM41CZFfBPa/8t9p0Dq0+l/VJvDUBhAnYG0GtOpjUbP+Ij1GqF05cS3r4J7x8RrcQFrXRofxs/P+71WL9Od/5l3VLZt8HTbYxmbaxYtHlGTgjptQ6/qKppnrP/Lw8tiPPfJ10V/9uWi9T4qtpwCm4TAQsqwG61oZ604XKt4HGgvlT7GAMLNgK826CuzB6yXa1tVZhnUhVf2l1rfG/t9S5ppgfS0jplwCbCthrWcUKWt3AkNyxnxonpv3vvVv/2bpz//lnyx855Hnu62Xcs7u271nr0VJLbEOZmhuo44n2UhIOpPa0IpFLmEpFjZxrA1n2zkMLW5+QLlFAysBilACQBhMjVGo1MsQOTQgQBUoAZnVsBbG0c9hW/CCAAr4HI3JJvXhuRrfDA3s0198ElZnl69o9CHeANffshdbrwuFLUnQKvfvL8HkvnuVlNWuAi1PQjBoZghUy6nIdKv0sjhKC0x3lHU9UHXyVSKRSgBWNI8PY0UTNCgouyynMp4Bpuhs0Jo5BO7I5MYnxUC8yJTiTMxfmxHochmcoAOB+Jv3m8pLjacKvMxzaLngd5rA/H4C5GKxmiXAE2gJRLfduSqgNSFR2bcP7vzFX4TJN95tLKvQpOY1mu3RBMMpk7c6PTj7/GGYPX1OngP8ck6/A8X2Kliacc+VBSRAK+QGCeTJAiKD6FCTnGFsVWV5XNQUA3BIaHdSic8kTvsiYsJjj06CtWWX+FvpuBGsBjPPAF8+AXz1qBiGT6hYQxgTTwpQZW8XF+ZOKQ1QbGtFF2cJ8GlhdOsO4AMEUwLIMnEtodabD2JNrYx8tQx7Bwm9tfQi/PappLWU/jQv2vVqgNGrjSBQfza2dTL/jUjSKQLbP8fkh6jAz2yPlrTAwokfGLqvYMCg12iut+pAooS1zYLWRP+fHB/y32MoaCWppp3z3kxtYq8D09Ovu9Ewyr/60+VvBIxf+MjbK7+8yZesfvOxY5u2ujp8REoGyM0GXl8V+oiJH3+kM/XhRx4XoBAZ2EdFg25GBVCGE0HIuk7saH6UefT44vn609QAqQnW1QCp5SLxCjZ4MbAl6MlNaRxuQMMlfivheGAWW5FYi5tMUowUWCFoxR08jy0eOjv42r/4T/N/9a//cumZUzOedzWmgROV8t05ADK3/muoeB4Sq4+ZzomQRL3qFYFXU6IXyOqKIDkOiUGo3p6B+z90jwKmlqr98HsBlFyUcjCwKQPHYmCJzbFVChFSB5LCDbVERuY71RXIsqEEPjz0Fw9e0SofR9DazdbKsVodikWeAK3y8dI0LJ58WgI2OliBoLMIdnE0Bfi41JeiqXgaoTIsstLBAfnpVMnkK1N3ytCZQAAGFRGXZEGVETxKCIrJN5T4N4D23FEoT9+mlicjhjVniZSr5fDl82dh5vAz0Gs2JDClRTF/KtQgwEKdQgW4AJ+83wK3VFPJTEOiZO1yDfprCwJvdxOssCfmdPiZO83WVQet4c1yXdj1Q++Cgz/zUahOb00xrxCBP1NHGi7HhI81FpfgwtHTyvYKVFtzmytge/2ULMDQKFpGXCuNgwMgXcAFpkE0jSrko/QtE/BCqGk1l5MhWYAVjRSGRIKpjs+ubQFn617RQY6ofcTnZzMvCND6tPi7LduVhJBeQ4BXAWBxMkZEu2YCvFpT4ofcqa3aBEDFMAFrVHzOXcB9AVqZeFy8jrCuOifSRsvSAQimpYsVd0Q0X8SaqcciuRfJUABKroR9vUqmhaNTWwTgdHLSsQzvRKI8ct1yXUyO1pIeryHbKvqNwaCVYFsL4jpbPHN646X+ywStRhPLHxdSJEguiE0D4OHvDaE7crVYuOuGoVv11uowNrsS/PFohf7SO19frGywP0oEelfQTPjNJhl4VQl7p3/yEX/7Tz36vNTAUvp1cb9AjRAZ6Vg82drvFIP7VmZrnwy9XAGSNllJyyy1x0jValuqYkhd+tR0nyFmMVhYABYye3F6ayglIEaCVgq0dvv83OOHuv/43/7+/Kd+9++Wj7S67KoZDW8bqRcLtr0/3adSY4RKdxyRx+wwp4GU/x4dql+6MuaVRh0YxuYEEWjFm0N9mBqzoD5eAfTfdaQ1DhMghknW1bFxKUyxrghWHZtLGGxbCF6VxEAG+JB4BZ2K5xydKTN74iK88OBzl9+L4FKmAFm+YS+DjIcztktKAXqN+SQRaRVh253vVK407ihYlWnlY2mseyO7GXQFuClPJCQAuFTOMKCArD8Q57OvgdIbRppWHv0nq7mpFRv4J+ywOAzW5qA8easYVEspSjUFNFFuN+jCySe/pwz/D7wRSiOj0BXg1alOQNCYBXFCgIt9aGVCjKZV8HotufyLxVeRjCChTaRQHN0GnYXzAsy3wUzLai2twKDdkW3gWt3wYp24dQ/c/Ssfg1ve+x5dJEQzLGsEWMF4DB0Gtm2FnQduVVF6+LHFefaqdQgK5SzoCe2bIOVgQJOANcmyGsxpQgNJTViBRTeJDikt1YhBeXKYsKo1cHeK335sUs0YgwCC2ePgnXgMWHNRDyshK+oqrSsWGfZFu+/NiS9cUswrFb+3tVWtjArQCgK0gndMAFxx3XhNY72HQhR3y01QTw1LGdA+StRgGVPXAhleaLU5bLDOoTLg9qXjiGKlDNWx+hAknWRb0WHDE8A081vKgcaRS4MJbSuuuHvieplfzP+2gdIeSR3ZOvUNw/r3oStx2ZW7dTWzoewv972jagimY2Dplvv27N5+o+GS//1vV/8Ru6Zf/bH6L6yzG3ZYa1dy/MNKMgA3E+tqvxq/1M5/+ij+kKdwO/Gpd2wVuOsNApXsxIugNtn+ab9nP9Feqp6TSVxUTeLDNBCu9ZxU5nSxKK0LJQPVIu2stYNKGPsaOvPT1CQ4cgoIF+AsMHIEksXAumKfrbaCY48f7j77t4+0Fq/Veblj67YDxBiFjE4jUoUlk7NQeyoFS/nPx+lYAHGqCpcJZdxIzYpeFx4veZz0fgI8Es6ks6U8rz7TdCBDxkWAtECDAXGtV1oX4P4fuQe+/elHlXEuVYCsWLDAH3AoCbDaFhszukZZt4DyAKxIxW8ngSbIoi0EsoNAnRi34EABXAGOMFnq8i4VtucWOP/w9+GWH3lAgtZCYUQMHF1wttwGjdM/gM7KJRjdcVB6VCaHRpKHlCDwOlDcciBT6d9dOAKF0T0ZcGeCR3M6zvnwAIDwh5SZ7xSBYzfFeqrnsVDLqW0RuMTJDOuD5hKUxncZRVQMOhdPwu677gKnWALWb8OxJ5+F6Vu2QXlUHKO2TQ47BNpKHO2WxPluSoYWmdzO7CmobL0181kRFOLjzQtHoTJ9C1iFkkzEUim1uPzZALdeE5/RuuqgtVQtR9hg2/1vgfEDt8Ppr38TVs+cNYThIYCy5NIME+ejvmUCJsW4aonJApPaXNG2i2XwC5UkwxoBDkiAMJLwF+GJZXHT0SC6GCmPbKLkPhSioi+JKSV7qQWDCesPrlbjw9eEHZ64VuyRumjDW9Q4ywXARKb75Pck20ps1HVziVkJgnnbV8saFroKiP1tBE7iNUwAWDoljnFB3OPKgmgvVIzZg6dUcSL1lO+rnLPjxYraWCbjZAGPieEGzBcdRSB/a5Sy4ESF48SWWpEnrmyCgca+gbJSw/Mka7zClqQ7KnVtkEiWLR+lhmcxgQzzv/nyrStglES7ndg2lZID5Bh6y8ccKQPo65QskmLiHbecYlsJFMt1uPj8i0Pfv9vxOyGJkEbj1wq05pEmAJysR2ijBlZGe+gLYOtI/Q5xd+lGwiMnL3necjP4i9Gq9cu1Ev3TZj4ZtfaNy5AIrMO6crgJbq96K4X9P/ft2QO/8O2vi5/0HyZuWarYbnBbY6b2WTOEIJQJmIwpyWFdqyUycBzsRdWqv2W6BcSOBTSqccUjUCUiZ6pMwCzuwq5xML8WPPOnX2184rc+vvTNv320s5RYB7vKW7VYuENF93FiZkKTXIbU0Bnp7wVhIRbIQF11j6A2dbxhzKsS5XNtlGIUdKkxUR4POyK5TE0UesQZfyCFW5oRZOKEOmJgo4EcdB3wYbTEYGrnBLhi0HTFoIkbEcCgVCRQcLlkWgsu+mlyybY6DlPyAuSBbC6dB/BxBLl+CFqLDrzzI++G0S2j0Dy3llNAtEEvUq3C6L6d8PRnHwfXqerTJ9ExTOy7D0pj22H1wnPQXjgpfVWD7jKak4rPPQDWWQS/cR6C1qx4jfrqVnFEMVhGsdWgMSsA2yjYpZEcs1T917pzcAIJM1zcHzW0nCvQmtcPcgUu80BrZ/4kWG5RgpbwGae3CoWJHRK0IpIIFi/C/re8GcZ23AIMww+o0izSUk3GdKJLQG95RoNES4ctDHK5LyoAYG377dCePQ3tpRWBodS5csplMZDb4vG5rG73JYPWUiJxDW8FAeYO/lcfgdt+/EfBrVYTsgC8eNDG6LY3vxF233mbtDWS8henAP3amACu1awsIJ10lJIFkIQswEjCoiReSk8s2obAi6lZqh0eLk4ZiQoVRU9FdRgBoUyb9evJjPipWGcV/HkBOLFYSmtc3X33gzWxXbQLtLByxL1oA05Z/BAVIO64uJ8Q2xZZlCUlAnRSfKSaOFhdaVcxJhYlASAed3aL194iXrdXbLvFyd0DpCi2wnaxTcmNohtHoaJiZcWEhbq2eu+S+LfrAlq5yM3S35XqZkaVTZP6t5q4Uj2BVd+fRech3iDjjB+v7fLII5YAT9oTv0SpwMS2SdmGk6taJJdtdUp1GPTWcplzihG52Idwnij6C3oetBYWhr5/vyem/ZwT7YFGeVhUleq3w/58Q9AqhfVqvDDHDxL5rqnjZYqDST7bGgbYGGOZVHsVHedOMTGk13IcvZLtUw+3P21RGP/ffmX8/TnP9wVo7b6U9hKyrgdvEtbVhpvkdscvfmfNnx37KPPpJy/8YPuDorncxlGqqlhX0KyrXPKXWkNZQ5lkXfHyGC1b7YHnVyhNeX9Hfs4kJkJS/nRhNbsfQHtmyf/BX32j+eKpWd+7Ht9/+0i9VLCtvUbeNI/BZriemWZIQ+bV6DyQUZVdPM8wptqXhg9jXsOA5Yh5zTC3ypU9dgNSS0BBEJep4x6Bb4Fd6IPEVuKx0tp5uO9Dd8G3/uYhmVBk0dhVoFzmUOwSBZo4kXULDNlcRwA/We8hQJPFBLgEaPZU1ZxTcODtH/khGJsek4DV7w6geaEB9V31yzrn4wdvgZEdUzB3+FGY2HuPAJhuBLtK9Um58ZCZZB5wAbwoKQuwNVA+rq422OcsAx79bkM8Xwa7WM+EE+gonCTS40OWPs2qfwStGKkpi2xIciqvrXaCQU/bZSUr+Ptr87I4pDC2I/q88nV+D6yKKi6hQR9oZUQCDZ6XdiU/DkugbdSzqkAEN5dKQE2rNbIDGqcvQm3vjuhxBJBo6N84fwlqO7e9ZOYVQWsRQSuh+RMA8ekmDtwOI3v3wPlvPw6Lz78AhUoJbnnjXVCfroPX6oPXH0AgGmavXAFGnQzAIQmzWG4IAnnCIivCMpECwAq58jgxjEBUiKevqkgeoHbBe0s5MfAY2yrcwOU9D5OxuKGPEhNH3vGA9S6K8y7AVX1Myk3o1ruBN1eALZ7EikrxWF/KVyVzavkSnnBbAEO7J4sBwVoVz02LHQSApYdVQRGCWO+0aIe4qtIQW1NeCzLEAO/RUUIWEjIZfyzZVuwcMAJWADS8VtHWCSe3IeMqV7zxusd/43diepUF/x2AtiMjyjyNq8jdsGgR+4nQpo3rpSWFk5ja13w8dYm9FKlAbWxETJCqGbY1KYHQkxVbtCXWl+eC5OhgbQHuB14znvCIA5TKI3Dq8SfW/Qz9rt8LNW5x8Hg+M0pTXzoXtOaATxo35mRgQYJE4SQTeJAgXXAtDYcWK5S91d+0a8f2J8+ev3gj4Y8vfa+79ssfrH5u5xYbY2C/npIIrF6lt7lpWNebBrgK0PoBcXcvtdkvvvFXHjv/zJ8/8IJo/reKvumAaP0lVTwpvagQLinQZRRoMUmgMo5jbrVodXSka1T3oAg1KVXlYU0EpAgSz+OLJ2f8Z//4i40TrZ5aLiDXSVR92/TkrYoFlrNVboJXEs541Yp66EMUygB0dgOnITPLU+AVNDgNj8c1dA9BLzee11cVzwOv4cislqpVB4UPeT734tFasRxsYIFT7APrIqkdgNNbgtvu3Qszz5+RbIoqvmICuIoft8nkIBRoe0N0HqD4I6ODjvgWpbLoOdpUMq+07MIDHxagdWpcAzAiB8TecgfcigPFsdLmgA4agbujQLaMQbG+BVbOPS+O14Da1jugUFUJheYiPq1MR72YVavmLv2rQcSWQQRWsRp7wKYrqPPJ10z/xiEJiBEYKOkCSR0XGd8KBN02JEy29NNBvyXZT2dkKjp8uBezChBgylV1TP3dWhUX0LjAOrGuNilDpDGYF5/D67TEOd+asvaKwUVPJv4QmXiVvhXqNeBdD5aPn4Tx/beqvPsrBq1F5SSQ+E0y5rFgiUnPLe/7Idh/7+uhXqDQ7wyg216Tba9NXBi4WcCaEu0ZLCsko0nNDBApyKbx+6f9ZXNAMboHcMmqkih+VqpCowp7Gk96wkQsqdJJx4epfYPmsgwGsEamFdMpJihWWUzGVi8AtOYhXJBRV70+d1xLDKSxSQVg8CJA8Z0CsD4mTt4tYve6khBEr9Gvx4sVPwt30INNSQDwm2OUIT4eXtzydYFx+RiJFwzixSEOQ4IzNrp2ru2tUCrCyOR4pqIsn21VTgHeoJnLtlpWGfygY1TSisdQfrOyBt21NXHNDL8eWg1d+aiW64cv52u/BpOg4eY9JMEopEBr/DhPvS46jo7ICfFxCtwS5eNqgt3JagVpx0s3GgZ55uTgE++4s/il3/7IyL4//OzaqVAi8PXvHLkqy0LIut4sjOvNlLrwP4vtb+ytK+fxH/f8ymP+ff/ssWNv/dXHPy8Q2eNiDFgJnQhM6YD0tpJ/80g+UC+TfsEhvqWdZnQwVuTlCiQRLw7dPr/wxOHef/n1P1r8z//hM6vHQtB6PW/1YnFffLGTZOqVKscdWlgFQ6L+0jPmuPNIdy4baKMyBV8k/DxS5+oFqG7TaIbwaPMHtgCTvizIKnbmYf99e6A6YkGlxOVWLgKUawSKNodSAW2yGBQcLjYAR9xXBWCtlQJotdUZcIs2vOPDb4ex6RGcvqT0oFyyrl5ncwS5hXGWWm9oOQXYsu8+GN31ehi0V6Bx6QUYdFalRIBj9TX3MwMm6vZYvylA34L0dcVq+9CaKioESoHLzKCbR2rynALUXPf/kORmEugEvY50EkinZWHBB34WpzqeZXClhnMUenOXYNDryhmdvWUHHP3OE7B68axK3VCUF7BeUwIQBKCliW3yM0rP1kCxrQlvWAO0bhQUgWB1ZPdOWDh0RJzuy3cakKC1UlKFVGnQmlOP5voejHktGK+6Epwj4dfoB7AcWDAYwrKmba2yFlfhamqq+MoAJCYVF0sNaGStFeVPEwrphDutYDKudBp/sZBh5skUTh7ei/MfrMwAay4oAIkIY+wWMWG7Q/+2nmRHRQOWjCpnq3qRWUwAB08rTStaXmExXf+QeLm4aGX0a0c7XQT6vLMYfVJZjSQu4mJszQVD5hQb4s8Ng1xz9+N8/RfwK5AKWKKtTmyf1r/Rxmwr2uN5oW0egZTHq62kHWFBlu5hC4UanHnyiQ0/S2O534GIbtW5ZGT9QluywTiwHmjNHwdCw5ew8SWPJ8OHxMyGEkYtwiS5go+XC87+GxGA/O6n1g6LseyZ+w8Uflo/1BOgtXOV3+amAK83BePqz429RbR5Ma2Hf5H3/Nt+7XEEs+cf/aO3bREXyW0YmENSrKtRsCVZwnqF9tZazNHe8ESP46ZjABZcnXjsUP/Zf3isvfhyfn9M9io59r5oRoyMKdp5QUAKVoBeSLRg9x3GKAs4Zb64V8uOigmVHYfZyRhMaci8RjKDiEHlEV1rMq9peYDJvIISzFIdhyJHT1nYJn6FXp+s2g4bVxGyXBX0iHf2ehQKIx6gBag/dwre8KE3walvPiGAo0xVg8poAUrlvhxTfTHmecjG+gLESjsYCrNLAlxgJGy9BPd9+AGoT46pgo3IpJ9HyTxoX7R6ZhnGb0OLmvWXnn2/I97fjSrHZUcrBtrq1O3KAkgOKAKw9Rti0G9IyQIutaNGtIeeplylB9FiHag7GltW8YSnwJCuK20hFVLd2dF8qH2WfJkAqoM2cDHY8QwS4FLnygQgQa0hDNEAI1gt7boVTj31A5jYsxPGtm+HO9/5Nug0VqQn62DhjMAfZfD6faCFCgT9nhhwHSVL6LehMn0r5ERxbQq0hjfUvI7tuwUWDx+DLXcezGhUh4NWokArMRKXeC5RDDTwoYxFawJoWZbSuC6vtmFuoS3JQB5aXJksqzFMJ4zwM56spnyAZnWURF1tNOW3GoJWGgnw9YOR4iAU74BxHNwv0NX7kDAjikAUJwbLq0IIuMA5qEWWzhCo6S6OARfAigtQStDKjuKkQVyktKZSsvrPIMRALYk4FBbjiYkZQyPmw6LdT4jXutJZIIwmlrIA/A2sklqHweAL5hsTLwBTIhNVjEarGlS3YR4zscmyxeFIgF8JEXt52AEHmC0CtMqViCFsKzHZVloS/VEvxncm086JnCz7QTehjy6W6jB39AgEnpfQqOd8X748L5dXMsv+1xm0KhmAwYzbFhNd78AuOp7r2gOnWoBawaKl6Xpj3GdW4AW2P/Dd3XftLI08d6G7dqNhkcU19pmtY/ZvTtTo/7HUZCtX+/hHbhLW9WaRCiDb+o/21pVj6+30Q7/xOALMxQf/8K1V0TnuF+BlRygTELM6qXRlegxwBHqqlGi/3WMlo2/BvtVbWAsOf/GJ9nOPHe63boQv/4YdW6fQjlZWbdOAigvedsXFjxd+wfVdLD6bHlkcDxgRWMD2+57rdb3CQHQAvh9Yvil3UMv+Vx+8grGyFFtjKYhhiZl0u8uXRhw+Hg0blEUVAl7bgtIWH/qrHXBLHKZv3wrduVkJGkvVCtRqfQFwpbZYFjfzAodSicDMnLLIqowV4O4P3Q+jU6NKM6eXq1XEqPryTLOSbMBh9ZQCrxuRKgOvAQW3Hln0cC3AkF+SKhbNqm4FC7ZGr0Eo5myZGDIAD6OGhtBLyGQigMYs+BzgGYFayKeqgtYSWJXx3MQrq1BWIQBkvUUb9R0sAWz33f8WWDx/Fi68+H0Y37kPKvUR8MTx6ch2OQmxiAB47RVV7DO2Dfx+V2p4w+9xpaA1YkIrFRi7dQ+0L8xCdfe2TTKtBQn6cs0aTGDca0Fp0FFG/uJ17U4fLs03oNsbyBSppHllEpQCSRZYDQOsQIlRGERS+IhH7H649K/ATWwUHeNiUxagLzl96YXELWf6dYQa4C4EtWAAVg0Y9eoE0YV28toBbbWG4AonQKwpnpoQ+4hJUEeAViImiKQpXQaIeA6Cjtgsta9/UhVzCfDFg1X0i1OfxS4p8Mq8uP2yUGMaWgjwhARHOyUliys5jxwEhs7ghqHTDVArT/4sm76Nb5sCt1AAMAvxUmxr9JW4DdIIRbOpcfhFaG/mirPRj44lSXoBVAMxQZ8VwHUjvXe/G6z4PmMENmdpeK1AK42shNXxXNuzy26vUC12ytViv1wuBpWRijNRLtj1XVPtnQOPDDp9u9Ppu937dtt3M9b53guXyr0bCYj83SPtz//2R0b+lz/451vetPWfPHr+Wr0PgtcjumDrNeD6imRbR24Xdz8htrdv9jXv/a3vIuB89qu/d/9hceHsFWPRbulbH7KuVGlqKi7xPJ+4ns8d0Ye0Ly76z//to61DJ2dUGTQhN4Yp8FStsptSRh3qWSWnVygVOsVycVAquYG4Z2VKqmTnVHen5yPxRXudvtVp9wqddr/UbQ9KfWImS0aaVuSeASBrjZXQtOqRjW8AXnXBVghike1W+lYiPrfYw2q06fLoiBqY5JgbgK4CZvIAXoNAeWtBgNczsOut98DMIyuS6SmOjkOlugq+y6HbYVAUSNetCNB6kcpCLiwUuvOD90NlfAxYYNgKQSqi1GA6BaqH1dPLMHbL2LrVwziA9wcCvDr12KZok6MjT/rvrDO4DmE6BQDwFk+BXd8eayF5mqkl61BLGpiEXq6pJU3QhTHDh+8kJYlFQZN794q/9shwABnYJYCq4xbBFgCl22moQAI0Su80cwrOFPjody4ftEYAU4DX3tLGaYoIWrGwSs5bkq0hc7YxPKAggCueY88LYG6lAY1mF8Lld2Ka4uexrCShjjFAq1GIZVhcJfSrhCeKbuLjqCULi5LYojdWDUK45K6WOahxTAUGIxAcFfnwmM0kNmSQlGgjVhUr/WsRi8t7q6oVu2gD15bV/UCqwLuHNdO6qvZFxhXlAwheBSDjrK/wp3dWtIUxCV4ZIPB1NevqyeIrlNcoiMqi9qYKprTXVcSshoVpOddQijXPXzTY2PIq/2Vk02Uyo5PjUK6UE6d0GNuqXFV0PDOlGbaVCfBvueq8mJKDUmkUXvzaVzZ1nbQag4XIAlHPugnh1OwxhoFWgJRWNeEqw6PHaSp5cagrAQ4F6ChJkWn1nKLbK1WK/Uq94o/Wa3x0pEYmCwVS3b7NJs2mv+K0vFV8j4CRA7vGBy/Mt5xgoen4Nwoe+cYz3eav/Xj9SxM1+jNIpl2L97gZWNebgXH9dbE9Zm9deepyX/jD/8MTOG09+sX/8/4TjNCdlLC94rIsMEO/Wi/T848d6p3+ky83TrZfBu3qZm6VgrvHIpJpxQvfrQrQWin5tVqVj1QrZKS51lvasdXZ1+n6jVabrdotbquZPeVeYAeSECOxj2vkEkDidEE+xI2A57gN5IBXMEAxaK0SHl+GW6Gv68Iqmdu9XTNOXNnWhPDOspRlgbfqQWX7FAxWTsL2d70HGs88AsWxKajUz8CgzwDrjtwihVkEreIbliwH9r/vLVCaGJGDIguU44AELBEbqcuoeHJJsd/oweq5VRjdM7Y+AyMAJFb1um4dADZac1xHAMA35Hfi14vzM5g7DPboTgEcKknGMgLgPOf1MbsbgfZ0gRi6DlBVILa5gTxrpxUWZtmjO+QviPyZPVbJOQMx0FKgtXPFoHXTS7Za06rAPk8wxzwH+RAWf55Guw/NVj+mOFMWV2bx1UayAG5GxxGuE9l5XJhlHh8icX70b0mqqYLR0IguZlmjSFnzOe1zmvgs0RxV/wxaMkG03hcv0NoIWOWxyMUAnSl4W4DWXlslr1EfSLEi2sw4QPecAqVWTwJWdU4UcOVMM654PrlyCoDBqgDDOOlrA+v1IvmKYnB5LBHQzgCqnfN4MSHB/GtZBCG5rSyvyfKNAOu6oNSUZQ7HEOggUB2tQyLWbAjbKr+jDHMYpHSverIiSW5LxqfEExmAYnkUZo8cgn6rtSl3jZXF/kxe/PdmQGs+A5uJf90UaFVDCSOqcIuErg6Mic1n4Ps+DJqN/nLPGbR9n3uezwd+QJErZoyVpkVXwfyA3GisI9YTfkLcf8J78N1F570PXzNG+OCB/eTI0Vcn6/qqBq7+3AhSAL8ktl97Kcf5sf/pCewJzn7ud998TlxJk5TQbeLiel489tzIhx6+9MPvOIhl4OPkBo1dcyxrJyF+WJ5LWBhCwyXGQemmz+VN4jc1hOm+PfS01TxnWIvMDdcAyLO2SoFT2Ax4leEDNFoRpXHHR+ilJTJ/r7bDkm9PjeU4qhg94lABXlegvPsOAXAojB58AJyRnVAaOQruoAm0VICZo13JtBYrNux84F4ojdfEWMnUEitK7FAIK3GKpVgL1MYl2L946bG73JFgYWTX6LrnnzHRww4aMoI2O+KReHDNeZ/ho2OWNVVzBAFaZ18Ee2QH0MJo7oDK16lc4ZmATON7dNYEEC5L94HNDeZ8E2wWy7KrPBl4cF1Ba7kk78NzmQD0nCc/K7LGtgMM7aDEvhOjZahVi3BpoQmdrpcAlZysx7Ia43ZYTAVxWEBeZmn8Z7yPtPGjyj0AtDerpkRjsCZ3tSLwK8XkZiqZOQnisXwgZnyVBIGWa6KNbQHQKXHYcQRzZ4CvXgRSxwIj1GT3ZWoT6lp5f05FuqKjAHq2YqGWTNcS5ylYkzZsGDAiNa0oNyAFtU93WVzXJcnYBtISi+jQgEDuK6evPDDAKE/Ia7hxvUY1XuZqBSepdj98GsYz1+w6jOwmirMq9SrUx0cT1mbJ+U4MYiWRHKANoA9hJLDJtspwBnBFB+onJkpS64rSlRdeMFwo1r/NX+rMxPMtkkjO2gRohfVAKzHcA+KrIwFaIQ8ES4cRv+C3B7zPuejn/V7Q7fndQsNfoZRTSbJ4ttfzrH53UOj3vHJpZm2ar3b67AYbl1ccm3xVrRnC+8X2hWvGuh549bKur3bGFSPWcNn/c1fjYD/5O0/iNTevtx+Ej3/120daAryiIK94o52A3eOjmPRVC5gVDAIXLI9RvXzGPD8YdDqsaVs+5t1wMTv1e1IqYHc6vUK3OyhKnWtiVFPu0RK8ZhK2hoNX2Ai8gi7MMldSlSaXy7G40YJOf0Ca6DkfgddwTKYQmY1jrre/sgjurveBMzUiuoc6lCeeFEeuwsrpGQFMbAFOOex8+5ukcbzkyDEegluqgp5aEryGVeScRJ5goTtWQi/XXWxL8FrbUd8YvPotKBQrRsRqeglznXXMBOeXz7TinTd3SIHW0nhmuA0w38KMY8oMydwYM7K8KfcFECnVc9FqCmuuTxQnmLAcmsv4XteXaS1qMMmTn4PDOmw5gU5lDEr9NhTYAAquDft3T8ByowezCw2V2AZkUyyrCVqBxKN46DlHUu6gCrTSSDIQRfYR43fIi3LVLUh7iSiwSLV0nRpOA4bsINItuiVwJrZIjbMiODn4SxfBn0H/Vk8lZmEqmOWDJV0UBLDvoTVWRRzDl/bzMvIVGXvpNCBeg36t6CzA0VGgoI/rKb9U9GQNGgK82lK1wsR7MG6yrTz2VAWWkAlwRqLnzElQvHpCkm3dNK5IuChsZvUj+RqSdzGYoLVWgdEt47EjhMG2QoptlfIkcaoK5axcJEoC8wjYZWYcD2QfVq5tgWc/+/ebpwPF6Tl1eO3iMOD5UkErXCZolRaV+vlANNLOoNwfIIDtV3qoebVoYFEZZkC4GOPEGGYHAXd8LDQeKU9PApxr3kDDcQ+xgvOeI+A99G7Ubfz0tQKur3bW9dUOXNFF4E/t6ZVrb/JPYFn8fxvcYKzrrvHRbaCzb7zADRizun3f9ToDr+928cL3LQt1pOjHLS52L7C9ge94Yh8f70VnwGRKGE2GEFwL8EpSpb6GiF+mT662yKWJUTiQ2Cvs4y0dloLJPRiv2loEa+8HxX5dKGy9G9onvwe2QL12kcPue+8Bq1yVpuN67VJ/OEX3ItXr+6o6nCeWDcORjUdLjvjP9lxDftva9pFNMa9uYSLjlEo2FMOF7BHLjqL6MzmDFWD1ELQm9/Ob8wIL9MAZ25XLIUU8b04kbIzRaC69mlwNZZlPvNGFA6lzEUseELR2rx/TeoXW3VjM1ynW4OgXvwS3vfkNUBurS/a1XinAhdk2dAYD4IRkC7NyWNbEkK9XE6JsDgiLqLixlKyVO1LTSuNY1whTMMW0mTZYxvuG4RIk8arkc/IvuwDO+ATY9dHot2GNZRicfUFcYk1xeFu9j1ys8aS+ltOCmNmtic/miud9xbDqZWxiuaqpBF3FwKJrBrNU4ZXUsjJt9K/AK/htoA4mc/nSs1U9rYBomBrAOYl1riajD2aRmXqOmXrvIU5wcRNPhnFsqomYNl2pp8oIWifHkh69abwathfxffq9QIBWN3JwMONccfPbDJyqaxxDvbYyMgW+HYDf72+6LXda/lyvo0JxdKAOyQDSxPzp2oHW5BgQHxfHJC6w6iBwfXPxQR0nkkjQ0VJxq3j01A0yFOOPt2z8G2cT/5/34Ltt570PXxMNLgLWVyvr+qoFrv7cyP3iDguz/ux6vN9Xv3XE/+F3HsSKg7Eb6TzUi4VtJhcWcDEr9axB3ysMVP/ISLRsiCoCRjlTOiKe7pxCTevVAK9yKk20ck/Zc6Fzp45V58QmjDoOI67tOyWHuyMVv9pqs6XJSU8Nfqhzk9nkql6EFrBoQby4WACrVFXgjWDRzJ1Ap14Phe4JoHUOY1MHAYoOBN4AggFTS5wBAz9QAyTaSVpUWQgJkC8ZWAm/ZLpOCDFJHEykz1B7tikTfeo7xzYHXt3qOuk6JMOCZiCgyQIi+9yZh6A0CtR1M8yt35gF1muBO7kvBYTTI2sKsHKeD2F5GmgagJUT4zk+tAdPf88MdohA67Wtq4iY1k0Hzgy3T1qdX4bvff4huPXuA3DL3QfBtilMjRRgrdGClZ4J8NOBA4YmNhEeEBcLRueKxCxcOEhLqUwYnhlCBtGuqdeVrhvg2MBcR3ngGe+DwE8xtPGkLQzfUq1cfS6nNi4mPONRlC/rdqF/6nkIli6q1C6MqJP+wiocAKNiOUoFsGiNl5XnCCqZpdPdQIJoBWIRbRf19aXcAmTLYWpKKX2OJXDFx2xxnfakxFMmcSF41WnT6jrkunPSGlcWzueMhCuW9CA28vhisJtYLSBDrpMhl+EmVhmQaR3ZMmagVDLkb/Vnt+VBoeLGLg+G4hTbRr85AFeuFPBYt4zguDouThmRC0mXc1uaH5xJAc91WdZrD1pjK8Yo+iKTpJUFrXhfdO1tN9BQvIoYwfg3pmfhKu0DYnsUXru9Blz1DaPVvmZPr123BA3RMJsfeudBrDIp3CgnwbWtSZJKw1JAUvnZBMxOqL4Yj7qUyB1AJaCHWdKaVFkfvMIG4JVzvV7HNWpG3EhkBpYUPRIPCBtwSgYBsH5A/LWO3T56hhzfs4M9gJGNAdNifXy5Jf4aqPxxeyAQwmBFjJ+nwdpyjxjk1lRBgysm36NbICAuBG1PAFcu7bEEiJfRlszH44kBXpLPVMVCioERHZ8w+jpmYjRXyrhRy6R8X9vzLak1GxlasMUj8Nrvo1VW1ZANAOQv36+L/OQPxtbOAa1OCVzgZkCo3xSgtbsGLvrHpimlECAkJAJJNnUobs1QVOnX8gyAjv8f63pz3wYjZK8baC1o27ON6JIsYOWpv/HiQMP3k88cgrkzF+GOB+4Bt1QDV/zEY6wLLTER8pwiwHosK+QlX5m2WUnrKjlK09h5ANslxSSzwFdJX5YAlgKxOeh7KtoHk+WOoJKmtCUbtnOFnakmaNV7WMUSOKNjYlJYVKBItNveqaPQP39U1XRZimGVLL20wfIlK6r8iVHDWlCld/g+SLSixhvDNuT7epo9xCu+Iz1ZI2DJAp2epnoD9W9fMbIoV3G5jGlmvgKv4fUYAtCojUXJWYZ2OrLBIskJGB/Sroe1h41QKs9OSqtS0zqSDCDLYNdYn9pp9OSkCj2p47YRs639dh/sQgGonQytcIsV6Lfa4I4WTWp5U7cLp9snQQk6QiBINirC2gC0wnqglRBTbZ2bvJXMa1vHQku7FtBQBuNYdPIG0bf2vyKwgfmA856Hm96D7/6O+PND1xq4vhrlAq/K5Cx/bgS9VT8qtr9+Gd5+EW6grGBXXLzppRbzwqeEp2at8QyY5FR55i/fkA06q6ygf6NKVEpIjHIUA0Q6PYIWnvMJW0/Qy4a+ukcTdOYviBc0gHtok7cKg3NfAXfbG8AZH1XVaEEQLWhLsOGHldKGipTHrFbgs0TMqKkf4JwnTBs7i21YObWU9I3MGQiVVVZTgtg4gnWd5cucx3Gw9haPAymPA7ez8mreW5MFVSZoDTElFlh5yxcEKKmt8zmTYDRfRJCTxJW7T9payjSCJ4nz2e92rh/TOtSH1gSlDJIxWTwDWmN8qRp3e60F3//yt+D0C8dk9SN+w6LXhUJrWWA1L5t8lU7MImGONDFsjSDKoA6Lc5Tdh9Jng7g46NoSkL5cTJHBGp35RSytVp29aPc2OnIwU9rJE1ZcKlW4AO7YhNhGxd9qYjWYOQtr3/oqdE8dVoX9BquuYlQZUFe9T9D35URQAk6m0tUQeEoLK9wCvUlZgC/tshRwZfIxHsoFpOVa+HggN5xYsq6SCFCbSd2sIlpJpF/VmQVRQZYCw8mELW7+bqm8jlADyzkYxVt5QJXkrCDE/YqpoamP1qE+NrIOw0oSr2+vtqFQKqigE2UZkUBpAwFaUcNqF0wHCyIjYG27DIe++hXdXWx+KAoC3jtzrH0pxV5u6BwQyryuBLSuPwZENlwbglaTaQ1vFiUTN8AQzDUmyLt9WQPXa3Z7tboKvFojX39SN5j/cr3f+CtqOWD1RjkRlkXHowt6c+A1sXxDSKyaeqng1RiT85eddKGBCV5DdhelC0guLizT02FRhSy+YGqgklZW6H+CPpA0gP7cWfH4gnj9PATdRVh97M/AFgCPWEwPptp5J2JBlYkMmMUcGs9iUYjvc83qhAMcjy2zwoIPPVD0VjqwfHxeuhWs26MheO03xIDhGdBuWFFW+kG0vDoEVm1KzE6q2Qvb6wi00QZ3+mCGJULQOpg7Cs7oDnE+rAwfmqVYh4FwsjFozXx0boD/UIMYr+H2u9eJaZWaVpIDrg1IpjWWEWsXAiNOEl8l/JtE4JJGWGTh3Cwc//6L0Fha1eDRB3d1EWhzJbaiMq4ukmdxZYJZ42qTvx020J74rZcWgHTaUYV/e2EZVk6fFxOpFVg9fgp6y2vROXaRjZKxsSRKy1J6Ayq9bgtjoeREtPuVVWh871FovfC0TDWLzP41WFWFVAJAOqqtBz0BNH1LXRNB6LuqACxjPAan0tLK19tA7SMjfrVbgPy3mGTyIJILyN8Cr1OBZdDGVL6vNRCn0de/k14Jia5FEqFUrttbmilNSHB4lmHneYVbm2JY48nAyMQIVOqVBEZdj21trbSgUC4KUGoZtVbx5GbQ6cnv4ZQLiQmPZTlQrkzAC1/+grKHuczb8oJ/DOf1JmiV8yQKdD2AaY4nVxO0mlOBywGt8WuJs3OsXnmZh+DVryQlAuYN5QJ3ew++exJeu70GXMXtZ8X2n+3ptf7L8eaioaLL+SDZNV3/rVYsOKIDKSQu7IQhtPyXlgCg0XM0uw1lAbFGiQzrbPA5TrXhD9Vjr77n2Q4th31VC+2M8uhYoKoSKD5O9T4CuAqQeuaSfVKBCs1QMr2h5k0Mekg+9ea74IlBnKHNjgCuXk/8u+3DzNc+DYXxCbm0psCrWiaVUQeoYQ1CXSeJGMbIh59KRiICrXlUDQ/BDQKwVh+Wj85J9ml9ACoayqAlgHF3k5N3dfOWz4M9sg1IaSS7T28FaS8g9R2QdmxFcNCfeRGcyX2ykG3dBVEOQwLgN2JZ89ipvOMxY7/rA1rRKioqxEqx2CZLnmCDeUj8D6k0jwhqNcpHdheaKcXAhYsnz8HM6Yvge+r70U4TrLlLQHqdCLAm0o+iKD5j2igBMdXfQzT0QR/44hzAyjI2Tvl4D/W0Zy9CVwDVeFLGoHXxEqydOA2s11crCeJzuq4DFrXlubAKLhRqVXkvE+LENdN88TlY+/5j4K2tKQ/REEowGulHkb4l0pOEgt8Vrwuo+FVZbFkVsqZyqV+D1UCBUrUFyg4Ev5aYxBFxHVBxTLvoioc8WdwlvgxqerQ6CS9EIplXf6AANEGtO1ETy3jlgkeTUM4gxbbyjJlH2k2AwzpSmZz5HM/cE6mTH9sShgsMcQ4w2FZsf43FBhQqRXCKjoFqY7a13+oBmphiRHWUyCbbiwWVkUk49M2vQr/dSlLLm7xdPNs/KtVc4Vig+3XVJ6r+eSOPVlm6IDfJO4QWijQxTmzk+0qiKR3qU8RxGE2MVeuAVmW3xaPlipFysfwyjsEDjQWG3V4QG8a+vv1a9nmvRtb1VQdc/bkRHMk/AKpq7+W8veySgWpR0SYGgEyAV2qMtxtkUa+jczLLlLOz77AjW6+zo4QkaAuNE0g0aOtHAtEnrTStVqttzctBIyDS11ECTvE/dN/pLnDw+4EArsj2IDOxBF7Xh0EvgH6zC2e++E2oTI9HkevS/zD0ABIPyDoQrZ8NQWg4FEnw6rOIac1WY/BEXZXXHcDikVnxvr0hSM5ot54A14P2OuxmbIaP4AWjWCkav6fYTNZeAj7oAsOs+PTwywRovfS8lA5Qp5jJF+CoDyZkA/Z0iCg1u3AOm/PFIteVaS2PlWOswHO+Fr+cqzYZdRQt74dAQy/rE6oAZ6fZluC1uarHMgHoqACedHFWA09igBFIAFjTSguhIV9cBD43Cxwrxjm6Sw1g7cIctBdXZQJcgqUDqoIeOj1YOXISOph1rM2cHceCQrkMjgCs0t9VgMnO6dOw8sR3oTc7q66N8Dwxw/OUaxiJKYI0kCBSWldxVWjFmAKtyq5KBwbotDWGjP/KCvQXFpRMR8ARKfHBWFKCgNQXAK0pVzmYUwVmVyQYxve3yhVwp3eCPT4ljuuIfcNYZh33GkkEaMSyRsCQxeCUR98DEhPUhCSAR266ub/30GaNJgyODRNT4+AW3Wj3VDia8XgIWlehVC+DW3JTCgL1j367J76vByUZ1mEcEO34xrbCqe9+B1rinA6/NoffRFPsnj7WP0tTK2myQk+PGxn5wIZFWHkgM9nXD4+NjZKzkmNF/FMkxrTEOGOwu2XXKb9Mw+96EgF5c977MM7cUef6rtc41NcYV4x3FdN0eOTl/BBipuWJTmCNhmPXy7BVHMeNl/CVyJ2SUDgXz16HdkDR49gnSF5Sz5i5DjNgyRl0ToeVMp7WGZNqFs6NWXj4mZUYn+v+ihAd1EOZHLnQq4+w2QXrKOglW6Z9G7GyubtMIRgIwDhA8IoM7EDs05CpWQPx70Efge0aHPv8Y1DfOS470UAzrYzTOIGGcUPflmRZEbwqZjZkblKFSCEK0vsjO7J8QgCK+Y2jRtFgvd9vyuXRPOISGapeY01lwReqmVHTb8wBE68n9W3ZaFLxGn/hBBSmDwJ1S5nn/ZWL6sey3By1whCGlfMM4ls3NSsP+ElNa++6gFZcfqUhI8ovE6MOAdzxuWFxqzf8VGkkG1CP4elqLK/B4qUF0U61S1+3DeTSWSDNtWQ4QbR8HA/4ZG0FggvngbUaUftqLq3C2tyStHAjmSIvYtgoqd+sMzMPK4cOg9dsqbmWbsO9hVlYfuop6Jw7I9sa6KCCGMxRMLGgrCtEoNmnGhQSLQVgEdMpASyHiG3tXFqC1okL8nqyMTGK++K7zCpAy1Ub55E2Vh1L2cVaso0MGqvQmzsnHy/sFhOw8oSY9GmmmuooWw5RslYo7+EJiyuSYFvTN5aegvH81h0386Rkxi0WYHS8DlQAcQJkQ7YVJU6rcytQHasnmdaQbZVMehu8ngfVLSOpCQ6B+ug2OP/s07AoJhyQmkJutn0vzAcvcqbXGUjs4KtrHpTbi2ZhubG6ZqzYDV/KT7sERONGuFKn7CGygFiOD4TkrBKCUtFQkhiv4gDk8D0FcK28TOPvGmKATZx6LMx6x2tQ9DXgihnAn7Wn14Ib4LMggO6/XG9ecG0nOQPlyRzodZfwY/AqOwiasEkfXmFqdlRZLS0kGV9iVISCmYcJOvOaExov02IpBmpdT110TrCA+KH8ELFIv4V2Oei/KguPRSfPddFGD1cZBWgl4OEmWkXjwhIc+eKzML57XNpdMb2SpQrtFfvBpGsAj/9OLDeDrmhOsnWmVCDW1Sk9beP8CjQvLA8p2jKxYAD9XgN8RODmUqYY2FfOHQGnVM4dbYPWErBuA6zxvSnGk8sCGLu3Ip8jOaDVmz8h97OqE0MKsMgGS/7mUmseSwtZ9wIegtbudQOthNB1Ksg3Ik/S3zRH8pCoVKFRURUxwCfRS/6+aIjL88vQXGupNoEzsOV5gEvnZKwukDi4QDKD7Sbw86eArS5HgQ/tRgsa4hiD3iByKOAGoDEZVwiPo58LBGhePXoUVo+fhNbZs7D87HPQPHZcPN7X+4F+HxqxrHIRlim8Qm0V+SoDr5it2Fb8vpVRA6gGWsbDZKFY49glCVPKt24Du1rWwFJpW6UeHCUDOGkTB7VdKmUD4HVQ4K4BqNK54vEGiwvQOX1U/psWx8Tn1g4H1ICdjGSSs7Qdn3QNMdlWsygr4R6SAqcbyQQqlRKMCNCqrR42ZFsDcV5W51dgZGpMfGfH0EnHbGtntSlZ6OrkiOEuoQ5SG98Gs0cPw8zhQ0MWajbX0s+e8F8Y0q9TYvTpNFZwG3ZW+cW4kBlnwgs/h1nNjC/h+MNp/lgCiTGNmEtFxvvalL4cDj99PfZv5vZdkDrX95Reg6M3KXDVbgLvg6uUlPVSb1969AheVYvEmJNfz81C4ZMhjjdnp9EsehNLPzEAWA+88kTh1Xrg1ahDIGFHSFLLRVoyShgj0aArgGnAOGXtvtVbXLWPq8+Efp+2ZEEDtHf0iNy8QVhdPADPkxI5eY+Pe+LxxeMX4bnPPwdb9owre3JjUAvtkaSmNV10oXdE6y05mAba7ZHHxT2R+1hEyKpBt7uGRVtp3Wv+DWUDg35bF8AEMHfkSahs2SGrhrOoVQz8/RY4U7dlwRbaIjVnwS+MAHGyzgMDBK3UAXt0x5DSLEPzx/MNg2K3hdSjCScCbiy/qqhOCVqDa6xpRdBaMtwDOBsawJD/zTapIeAmSKFJIGtRQ1JDE4U43U4XlhfWoN8f6CGvB/zCWTTUVPv1+8AunAM+ewnQvw0/Qb/bh8bCqrRDYvpCk2xuCHbDqy4qwDIYXE4SIQQYkdydmwe/04VQihgD1RCs6eVyrkM+cGmfYbNDptVWcoKyAFUVMfEhji5qCy+VQE66uhcWobRrEopbaqoWD5lUMaHyxXfpzcxAb2FJhhwodQGV7GLAbT355OCMTUBhh5h4UVdf1+r68xtrEHQ64toWf3tKqkBJkASUDBIFlyZATU9iWGKJnQxZS8jKBFDPOjpSleECRDOlcWFAPtvaa/egsbgCo9smtHsApNwGKDQXVmQfUxPAlqQkI7Xx7TB//Dice+bpoW14M7i13YILC3PBYh64JGHuq0E0RH03ViBsArSmCY5Ng9ahYwgkVhETLGvqfW2LuNd53JVjPo79m+yintUvfcNrcPTmZVzfpfuTG8bQ94uPHhlcxuzrqt4cm1pmJxIV9ht6ILopsT3E9uY54JVsaJeVtUnJqzo1HQXC4+pSKYKAVcpaGWFi42cu2S8SAR79nqOCA7AoJCCKdQ3kGK+9WJkc0AYesrGYd433FNDhavbweXjuq8/D1L4pWbAlQTIonWvo9R1EMeihR2QMYKhe+g0YS4yCPBwwwpQCw3rI6wxg8fAl6C63NiUdaDdX4Phj34KRHfugUB3JwErmK7sgZ3x3zkxODP5Lp4FLj9esE7m3cFpmyTsTu7MD3qCjZgLRoJ11EBgaL2ACAsK1k28MDRT46lxz0CrdA8RclkQZ7SZ7nP47B6AOw60m66bBOH6X0dsPiAmNbQq8tb4VIJ6iJZlXvKyweKq51obGWkv+LQH/6jKw08eBnT8D0OvqyYwPzaUmdBodYNzEOZpJDiNA9XEhwqkh8xgqBrV/awimElrO2MQ+Sn/S818ur1vV1mURVmABL1YB6lukHVsMKEPQqsMDBDJyp0ZlbCszrK28lQ6sHZsFqz4K7vgYBK1VZXkFyuWD4dUvgKovXtNbXID+whzYE9PSdzksrsTVEiY9ay3wGm3lxyz7ERbFNEeOAqmVAXOelWRbISklSGldeWrC4orvNTZWAwf1rGb+H0AqrSz+G+Ud/XYXxnZMgWVZBrUQkqkUVmcXwbItqE6OxpMiDXwlaD1xHM5+/8l1Vm82mpyp26UL/Jlh4BISodf5rjGXA1oNAnpToJUSFl0yadAK5hJd3iqinDNS93qvsuoxf8PbH/z2PfT3/2ENL+4jYnvTa3B087dXWwDBj4jtm/b0Wu8Gmx6gFw4q6q/rRUQJsYm0kuIxeOVG9mEy6YoNCQ0AZVkuORgaL98nBvAoYCAV6WqkbGm3UxIRdFy/i5G0peMJiB4muY7YQutyzPjDIhPRkQmoSlodq7WyUjhfLvq7mC4cifSqEsjicqAtByTERxKs4r14HJ8L0A9SvO78MyfBE63lng+/BWZOLEKULhq6YEtNK9dSMx5HYWqWVadcymNSmsy2T1m8Rq/BwXv19KIs2pJaW0qGsK4+PPiXD8Eb3/c6sMs1w+1V3XqNZbCLFbBzWFguQOtg9gi407cDWE52UuO1wccI3PGd2QKvXgv81RlwpvYlmgtsKg/LSBtKhVGFfyLTyoJrH+PqlooCDPmQTU7ghn6Z5+sceBaLJ/7m5gTDh0HXg9Hb9kNl+1ZYeu55AbSWEvGdxFzQjFwHko8NBgGsrrSgXC5CEQt09DnC9tLp9MHzPM3m0ghvKhI1Fo7HfxsZymaoVpiUFSWJUK0NNdAVMUBc5IVkif5EhQYwTwCtYhlIpSZZ3eh84HFZ8kQ54tg+SgCQUQy1q9j+xL5dAdxGXrcLiC3AqofXq7a08phK34pS2NSkMeiINitAME62UOpAnELsAoJ7WhgkQnWSWBjnrINKomsyqW+NJQI88dEjVpWbXWa2PeBvVaqUoomB6rmorPKXjDfwBNuKn3d5ZgFK1QrUx+qGLhoS+6xcnIGSeL48Uo9DB5RoWswTdsDc8WMCtD61/kXAN1Zxiya1dvokP8H1kjzNJGWRTMgAqHqFKCSApgCrASdh4yIsng0xMBYvsAWaxcUconqJmEInmeQsEjPhUAB63UIIELCua4X5l//mXuoFMDkI+FbP49hxBzNL/ola2Xrrv/nluz7+v/7Fc69K39XXGNeNgeuXb7QP9cWH5bLBwvV+X8uiUTUoTVX/Q3aGS4cwr9HYm5ktD+mM0vnVkNBIpTOoUyytJng5EDNti2sfV1kfbVncXm677ZOXik+BNhxnsjAkZF2pStbSDgEIUhULGzKyKtpVbuL1Z58/CU985gnYtn+bAIFOvFSqCzwkbGcG+AmLt8LyB6LYV1nNbQwWiYXGsFrF4H26i01YOnwJvHZWBo2ati/9v9+Eez54N0zv2yZAd08Vbum0q9b8RQGW2mC7OXMhjJWdPQbO5H5pJp+56DuL8hgStKZfKkDrYP6UBK1xhCSPdH88D9UN83TlWfHB9QKtSh4Qj23Jj0xi8MqzHxk3rz+AxtIalCenwJ8/C7S5CFXqgT9zGgLxbzLoArUt0Z4CCVrDA9mVCky/7a2w5Z67ZeIUMoGmzjVkWdOPxYIZECC1B2trbeh2+9DG5eTVtgC1vqqGCklSY8lYU1cK0Br6R2VXpaeD4dI1qGQ4WQ8jAbAWt8hzRPWp0bZTmn2VUnIrkK4DTMy9+cik1LLKtCwWFjNyI341LMwS54MLUOo4+nEa+R87AgQjC6sKubTsBrfVJrRnF4BgG+m2wN22F1jI5MqkZ/F5xMiP8gD1viQCoJZT0gVdlrjGLTVxpLGfKeN5KwY8CWT1lZucnGS1r9i11utVKJWLyV7RSOZN1FjJBZABLFyYhdrEGFTGkoA0/O1xBWXxzAxUJ8ehNFJLpKhRcb5HJnfB7NEjG4NWiHW9691mLtGn/n/23jRYkuu8Evvuzczaq96+dTe6gW6ggcZGcANAiBIpUhoOqRktI41GI48s//I4/MOhcIznhyO8TviPwxGeCdsxcijsCcd4PBrNaKMokdQGUSQAglhILI2lAfTeb+u3116Zea/vd7e8mZX13qtGAwK6u8Die12vlqxc7j33fOc7h+mmrCHQmlxBZNR4TYdZ1jFAay5LmmZgna+fZloho7PNOh5wYsQuH+Ltup7rh27//p99Nvj//rvP3C1+xSh61HRZTeteh13Y7TCUCtz7X/3aI1O/8auP3Ko2pXcY16GJfq1+j/iBYezf/ihunzih+3/niw/gamzqQ/tQbn1RwY1bBScCVkFFy7xSzhzG1TKvJGWJNSLKlWjPawcVEDtyuJ9LQYf3mO3QgxHnlqA0/I10FJBdpCqVklLKvWYv6OI2X14vLt+90F8u+eERbCKR5UVsEhEbggAVJzDEm7G0uRJgVXy5mOkyJCO6EUsxO5dePQ8kKMATP/cErF7chF5nkAnCVq9L/F24S72a1T0wrr6OYmK5Ibb0gOywllztjqgXwua5VajONaB+ZEI5HYQRfPs3/wIe/7ufhPm755PXMGzcEmBXTGyFIIS5ex/OZVni9rYArSele8AQMN1dAa9Yhsiv5IBWAZDW3oPisYeTRqZUBwsbAVrd0vvIDMwPD7SWSpAEr7ERLFR6W7ldMAzg3AvnBPAlsHTfcehsXAdv/oQUODTFW3lLd6vnxxH4yFjP1CDsrSYLG32rHjsG5fl5aJ2/Cr2N90ayrElyl9MprlnWXi90QKmzkiTJajDN2EFKaIdAxG80IG41FUDV2m1i/06ckghRLCVeN569MLVUlsuOxLjaAFKoJpy6rZHQhL4kkHLjIFJTXJCHQTqBcl1oocRmTCutuILUkXhteVEsFvC9ir78XI66HiN90HIdlAhQTtXrjSQA2V/UAZviNvdkpCzKBjgkQRvuGlLaZkE+o552IkhO92IxgEo5WZQkKdmqQU0OuVbjqv7W2W1Bu9mCmaOLAmA7067TTIfBArtrGzB9/Cj40p4siXjFJtKJ+eNw/fL5fTStOdfDPsg1ikj7/Hv0bFbapa8OvaThacDospkHSAPcTaA0C4r3B7NpxnV/0EqSuFeSbLs6Y8SLCx9S7Ov2N8Qcn33wT/6XJyqDkN0thvQlvWtjfbe3do9fmqyRkxqPYRjB5H/+9x/eFeuz3d/6vddjuHO7pRnXnxD3y/7C7oWP8DZu63LCh3YbNUCMZF5pTnI6z0+8GhLN0/RwnNdFCnkr9ezrudM+wm3gIUXPyG4YhIwrd4GQEfbOcul5hpOSlgtIaYAEsSgF8GTzCJYPZfMWMwCWKv0rU9jeQJvNq2vQ7LRh4fgClGtlcJsbpCyAQJKFngGt9oLSvrPM2PHYEmWijjWgNYlS59C+vgcbb6/CoNmDF3/7u/Dpn/kkLJ2aHzqe7734Hlw+exnqx+4e0ogymcAlRvnK5DBoRRZx45KUDbBiI2cWG8hGLQlaPS9DS2G07BWgpfpwAxZkTFHdPzkt2B8u00rSV8AQy0bA1bjarzTowTvPvQ7HHzwOJz/1IHh+AFfOviP10NHaZajxPkTL54Ei21qsQHNzG/aW1yTz2t8dtjvD9KnJhx6C6U88Cn615nYkOmECJB3jaumthElNErTSyVkcqAOA04C2UK9B/cz9ULv3JNTuu1ccu6wPu8NLmRI30KRcrZlZbEJESQCfWAReqOvHjak/tz+NPZ2yqOO2BC+vwVg1axGexCqjUwDTOnS5iORKl44gtnnlOlAMHOi01GtBJXExbmQDCcvLtD+r3Gb53IQtVYtTaoMSLPhk5pocdhbIi3HltuxMoV4vQrXi6qaJ6x+VGv3Utc1g69qalHnMHT8qQSshCSA1r21t7UDz+hbM3XNcglY3Tc0LijCxcAL6vAc7q8tj8BZ8XxeT1RX/OXFJxtkxPWOoJmXa2bH7EKDVvHZs0Jqu6hkt7WjQmvceNDP/fcC3UM/t9vZX/9uTU3/2z5/8rPj1S+J+Yj+stbEXXRT7aOK+I8GUg8uwoeHIf/KzD0396tceutUknXeAawa4fu+jvIHfwDICgesWrH3A/9mV6v7g1aaMSF89rl9H0j0m7ntwNeJTnnotUO4CXOKCY+66BRBlOQ7aIjDjB0gT62uiXPwUGSR+DCJfw0FimZLL66WrzY53hUkwStXjDFI+rDi5GbDKHF0binoZT7Mr2Myz19qBqbkJqE9NJolYBupoKi8NTNPQyLCrQxMH50NyS1dUEHVD2Dy/Dvd+7gws3DOcAvj2c+/A+sV1+OTXnpATIroO4J3JBrQ+tDbW1CqD+mlwKf7Xv64YZVKdGSJMSTwA2tmE4tGH0qBVP2mw8g54FWTbShkISA5ovFcHot/74EErJmINg1YY7RCvOUWXcyXX1+G+Jx+G2lQdClEf3nrmdZg6Mg++ODP9hbugRQrgHzkJkfhJiwFE/b5i9wehOHY9CDud3G0rTE7AwlNPQuPk3dphINukRZwSqwNYKU0FEqgShYENVBOxif8w/u6VBbC69x6onz4tjllFfj9PAK3a6VNQWlpAfyDL8JnGrZQPqaPv8dBCDJuhypOgFodm8eWAV56Y/hsHAsmdcqXV7Mfi352BtO6UjgE6prkX+9C+up0k35lrt1aHysKsQFM+RIUadC5f0MfJAFaQGldaLKtABAtmMYShr13WEqs6tYDVbgOUWc0q11Mfy5EI8BxJdLEQQKNWgsB32VLiXL/6mPBE6zoQ23P98grUpidgYn5mGELpZLTNK6vSFmv2nmPy/HCdCAqlKtRnj8Lu1ioKg/cJCMlnW0cB1zAiexcvFt7Yr3RvFCzD/tvOGJ7TnOsUA4ieE2yKFujXy/kj17vVvlYp3DhLJTom774/8LXbTBxy5IP7b/0bWiLw4m89deTZf/m5n9SA9SgcAjifuxpexULZPYvBPcO8E+CKc/aXv3Jm8he+fCa4A1lvPeD64/A3HDpwKPD69FvYOLbzoTOuo8FripoiVAwmVBlMm54OmnkPajtBh1bXdnVOhgT73LKqGWY2J21Lg1aubbsoSt4oU+Ow8XRFzEAxkIC/dbVsFywyoEczroqB9RN2VU+cBsCylA+rMXyh4Jco/Pb/9G+lGfjssfkU8LSpWUSDV2P7xI3PZDJZEEpSUbBaSAh5sU0Jk4sJRwLAvrPmJG4BvPXsO7Dy3hp87hc/lxoKkXXd27wO5555HqrTc2lwpj8iam4A9YvgNRZzmNYe0N4OxHUBajw/g6oF8Lj6BtD6DNDKxPCZxbMleBgGzL0Ph2ktT1RSoDWvAzyx9CIZeyMOAZr/VqrgF9XcUOnvwsNffAyqk3X5tx/9+ctQ6OxAod4Qi4UBtFav68QqVR0sz05DZ2Mz7/qz29g4dRLmH/8sFCYmk0Qst3ELiPZ+pSmDeTObJ3rYDMsqDSs9qBw7Ao0HH4Rgckq7IKctnILZWSgePwG0nLCvkm2l2oPVvHFBnCviuaQxKR7XllSgNbMWqNIUsW78ju1PzdoOmIc1aQHyI61xVdrXngC0VIDsaz+4AmFroPSrRjYgrpuY0ASs6usXU7NKR+6SoQZKu81t2AB+JkpslByCpEIHDFhWcnUtO9DXv1NUSCdo6THBw1QqAeArpYKSBrjeuBm2lTvAv7XblCzq3PEjMpkMhlhWImUp19+7DBVxjk0uzQNA2vu1XJ+CysQcnP2zb0HEBo7m/PCM6yiR6/Jy8XvoSOasmUbqUXPK+JkKW1JZyzrJUJrmoW3ATGoeGQKg1M5FhJFUt9xQ81hOhdB5nB/WyPbGbzv//D+dHbz5r3/s9Cv/6qmfFf/+orjPj/MG3T6PxLm4XqvQpX2ehs0Mjb/zxQfqf+vzD9z2APaWAK7Rev0IKH3r9z4O2yuuqE1xDz9oTzkHkqUDIPcHrxbA2kFEGfmNBK+J42N6sLK9tDkG1HngNUd6QLgxkSSJok9hPBnmJee29d3i9c29whvc6Y2yk6uREIBu4HKr2Jp55U45UDKO4t7v9ODf/LN/LRNtjpw6rmyGstVAAmlzfZ7Tfk7SkwhP0ZIEMoOxfSl6ve5c2oSdy1tw+UcXYfndNfjif/T5oXkLvSBf/vqzsHj/vRAKEBqhI7yDiWmhJAGpP3Vk6Dxkgy7w5irEldnsl7Gg1WvMg1+bzgDSbGKYW4Nl+jsiI9z5kDStRevMwN2YXhMAAdzJpyeprHrzneUqKSORQBZXxnfGIRQEeIk4Te1/6Z2q5RoS/LFR3zWZO7F5a/ZTj0Hjfozd9fVJn5EFOCwruE1dtkDrsqwAJQEyJx55GEpLi6njaATmVr+L/sHUh2BpCfy5ZKHCzDDgFYBOTSvQ6gfKaool2lIDXq03MTeVD+74turP1iBUsqwCcDYvbcCgFSYNXByZaLEvzixCa3kX9q5tAKlNqa/MuGxEIihID/vgCdRanp2H4twi9NaWpeaV66qHBJ+ov41iJcdwFqMueyoXqzHVKiSWqqK4Fhj2yhT7rlzwoC7AtbGryl+3aYZZs61hP4TrV5Zlk+f0sUWxaV42JVYB2+1d2Lq6ArN3H4VKo55yFsD/ajNL4rVFeO3bfwI9qVGmmq0f4+IYwbj2+t7KlavFc3mkwShQmFFSZ0BrJmdj1DzgANbDgNa0FmMYtFKSCkPOJ2c4RB/U/Hp8zif/4h/PowzgH4r7j4n75I2OY+JcXisHZOkQT8WTsfyTT56ufv7x07ethOBWYVw/I+4oMnv747Cxf/S0LCusf9CfYyyuclfLeeA1h31NDSaZgcwdgOwANmKlnfqsfPCaO/ioKMckVUt3chFTpZfOkgLAvnGl9oyYZPvW/gaITf7hli1yycAkVSdVQDblWF1H/Pr/8XV4/XuvwPEzJyEoFKxGNeNxlZZ8mj40F+DZ5zk2O5xnctDBPtckIA1aPSgHJXjyq58cCnDsNnvwzG9/Fx79ymehPFGV7xcKMNrrtyBmkZzwZFjCEFsqgHFPPGfzkhhq79Jde+DIGLj420XwJubAb8zA4XKmeGqfSqaVxTng9uaDVtUOrSdp4kzaMELCMCRtEIDDLwA0d/UxE/td7PP3XnpXyjC6hRocO30X9EMOeyvqsi3UqjKqM6hW1ffda0JpYiJ/mZpzqwiQOfuZz0B5bj4p/eeyrNQBtG6oJYVAAJ5JAVir99wtQHAwvH+1XIZLQBVZKyoJysV2B0eOAa3VVUmjMQlkXoDZckk1P3FVsbBgVfob89SCLwGoaQDLXBCLl5HY4NqJWVh/ewO2L29rTaraPL9SgMY9c1BdnAUmzhkpBRCLgaIAjSQKpW4VXULaa+vQeu89WVJX26eusqDRAK9clc1LnBgJA3GkQm4IiNG8muoHpNwyzHcKfAr1gg/FgCYLSq0Ftq4QJmTAsK1ig3Y3tmFvc1s2YJVMEAGkjyfuw83L18T3GMDCqRPgFQKwKn7dhDW5dA909/bgjb/8M4jDMFnVEjqWVGCUxvXipepfjWJZ3bsFhyTNsuaB1gwTO1x5y2FZ3VN6FGiVjGvGM9YNz4GDKoo3e9ARt8dOFmu/8fMTT/yTX5r6iu/B47qc//7ItxhWA58sjMd/QeHJT91X/Mxj93l3gOvH84bmvS/7C7sfGw80AV67H7RkIFLIAfYDrzQzUOWBVy11oqNKR3nglWSkAzAibWuUdEAPTHqe5mnwm2FfpT1U129f3So/6w5TqnGDOFVzkg9YndIglgOlzsy5PfMHz8E3/s8/gqP33gU1tKgBl13iDg5yZAMpwJriDpzildPGy9MRPsR9IcoEN1qwfWHTyge6e134i3/1V/D4zz8B1al6+vuIw/7O91+RqUwhpm+lhm8umdbB2nnwF+5Vk2HKvpRBobclAMwE+PVZZ03BchnEPJHrQMoD2Igy5c0BsSnQmqPA2Adf54z/XHWd1yfg/A/ekhG0ncIENOYacO65swKwMqDNLSj5AgBevQRerwNBpSTuqgEOWTWUDJSmxjMMoaibfOB+mHzoQfDLRQsl0jZZkNLByvJ1qQT106dg4sEz4FfLkKX0uKNZxa+L1mrcWrg5Rvro0To1A97SUaD1hq0qJMwkDEWcuilSBtCaeGMLYC14JdrKCqSUYenRJRh0I7j8wmVorbdkbDJayOFdtlv3e4COchEE0G6FEHolYH4ZYjBOAiqqFSUHJQGyJx54QBJQA7FokHUf7qR8mePKEtBqthMbxtzFliko++JcqhYplH2qZT6e9WcFnpL/OqcRFed7CBtXVyEQx2X2mHINsI4Czmv64npcf+8y1GdnYGJpQa/uk1E5KFVg6sgpWH33bbiQDRagNJ3AdoNSgZ3dwivb24X1MVlWmicNSOtbc1nWkaA1y7LmM61yFKdZlvUgssOx6sJwmJvWDP3YqWL1v/9HU1/+R1+q//I9C4W7S8HN6/sKY77qUTJ7YwVcoI89fJ//8Jl7Cdwmt1uFav6kuL/0cdtolAyIHzUcsz6I949jFrt2VTwJArDcoE7gSQUPOFUz+1yjezVklkqz4sa2ihPXIwcgYUbV/Eh00iZhTjdSJrDAYMCU5ZZBcW5R3ZmATYeQ/PRzy/XXp8r9BwMvWjBsUFIGdErh2Yo3JKSGiskcXs+df/Ui/F//7f8Nv/pP/yFUJ2qwfnk5JRPgzkanEFKG3eMOyko3v5OszXnCCGmCB/0rW6tN6Gx14ZXvvgk//itPQX2mMQTG3vrrH8Hk4gyU6yVZrseyK4YUUJ2eFW6tQOnYg7LEmmZMxVHbXYW4OgmkWLLwP9nnw9Qlt4eIy5x5bEg5vDyA78tK7gdaA9w+wvOZ1H2AKs8NttUnb30SZo7H8OKfvgT3PHQMZo4twMzRGRmxSqs1CMXp788uQFwsQnt9U2bLo7a1vb4BtYW5feaV/UF6YWoSph57DNpXr0JvZdVOxSTjpongr3r0iGqy0vpp9zRzSSZpTSf+iY1jeB2kTDGt2ZV5nTGo49JCzgI+mjbOQFAqbbW4fn1qwIC0TRY414Z2FPDEC2ZPzQIXgLW92YKdq1tQOzIHxZkpYFu7MtqUE5K5fNR3wYHD830IxMLRn5iCUJxnO2+9I+NkLYh294dEz0YWQFSfoHO+KgmEUsvj9y8FCFypZVaJLmy7bCtxdMEyrUxs087mpnz/2aNL0l0itfw2hk7it93ldbkgWjh13EpEXCa1MjUPpdokvPeDZ6G9vZ2zyskflw4qubkDXByTzoVLE983nwqOTVUqPMC1T3UIBM7TLKvuQXCuy6zeNK17VW4q2qpKr5ISG2I+LKhQht6KieWpvgfIJ0PSwFtZbrPwZjkLnFrw72MxVAQAZ/UK7YQxv4lzNex5ATx4o6//H39tuvzEA6VHCv7Rlamf+c4FuMVvtwrj+umPI3D9upIMrH1Q718ps1FCe+KwrpDLypKhwSuRDiSmz+nVtevik5EOWNqWDH/mfit4YvKr0jnUxjLScFRcdegS9u5q9WkjfbPNGynguD8pJylgL/+yaIrJ9l/+09+ClQsrcOKheyEoFSGd/5n/xrZxKwO0OOcpx26SMqFJD+PEumqC1Ph94qn7wUdrr0GcAmGv/OnLUG5UYfF0Ei6AmfAIYLvtprTMKqAsi3oZRM0hvn4RoFSH2C8lMM9lj3NBq9K1KtCalQewMQDs4SYBmYhVGnYPuLEpZNjPdWJxCj77lc9Ifevq+atQnp+F6NoV2aBVFMcv3liH8MoFIK0meEEALQFasSlovxIuOeT3qh4/Lkv/Qa2adh0Q71ASwHjmU5+AigBIxoqJp+g/Ypv7jJuGYlqTsyct7XUy2LRrM+PUYWydkjtARtcK9nnW2ddNobISAvUeYDXmnqqC4Hedq8OEWBR4JBILMrEkwHS3bgf8QR/KAYFaowwF9GBt7QHtNIGKmR0v6s52E3YvXILOtWVrf8Ug7SLCrUTC0bgCcSQB2uJavLDoEagEim01Xf6EO81XuqGMZNSU7d0mbK5eh2qjDtOL85J1J0ONdIZlvQTFagXm7r5LgFs/ablHyCz+jSyrWJXAW999Gjp7+eng8lzwxsNfJtjB3FbXKs+EAzogGZsqIHksaWrOgDxrQzuOu0YZI0BrSvtKMvGxNMfqyo71MdFOLanPBDi4iQy3oVqObxrGCcXp+NbVsP/e8uCV3Q67hMqsmwZcGd8Tx2Nsjew/+cWpxr/7rxd/4vHTpf9YDFmPw62XhnprMq7Reh3rc9h5cvbjuP0CvHZ/9ktncLSavNnvffcSb5AwCQqwpCCuXBl3pizNkJIkeCDFh2mwq+xHuWmKwlmAmUGIpRlbY0PuhhIYORlxwxCS7k9jBplshxnCpCMWRr6qVEbiEJSQSdgiW53SxlarfbZRDh8B7SIwDjTCyYHQfcY68Z6/97//MTz6+TPwlV//Cmwur8HuxhZknUMNJuUj4ItlvDiTo75qBOIJaU2yr0vKyOagoH1Wqx9DIGbeUqMEL37zZZhcqMKJx+4d2uzuXkfG3RpPUPQo9UwUrNiG/rW3IZhaAl6sQn60qwaplmEzoFUdyEG/K5PLSM73PDyE44cArUVV0uZZ8HnQe/J9H0/CCogMqJpcmpOs3u7lZfAXl6TWtSeAl4c6ULHv8Pn9duemC+jQwqrx0Bnor69D99qKsrI6ebfU1KYXSBkNirl8NJSMw9iCFmKdy9JlFxUgoC5Qxs3Fn8gAiPY+dc9lYpu09NUHoMv0oNnY9PEgjm+ra+VhpDvSNmq3qeQJ4tzDTpp+T/y111XTU3kyCSqIXYbZSbfSbKvcGkacbUhstBLwrYBpgTIIbFifjmHgYGlmrq+1xClA3Qe9Aext7UkN6+yxIw5r6pZtFEjeRpZVAO75k8clQAW3+INMe6UOjcUTsH7pPVi/cH6f5j5wFitjnHGOXV+n412+vlE5r425CeduWqFDWGTK+ZpbNYqGTMd+wrxaJpVChndwJGWJHI0mr7fbkgbRdts4dYEo5y4ZQvJJF0h8X48vxjNj6Sv2G3/QIrtI+pSSwdtXBgJr8qtHpgNSLxPsXn1fOtNBxPfE+zcO+/x//LWJ2U/cUzhTKXt3B54McqM3ULy6A1z/Bm8P6Bnn3Mf4O2yAkgzc1OMx0+CVvS1uF7+ppCtKTAmRWMSoy/vZ50KSnGUmKCMHMKMpw0EpBV4TzZOadxiAm7aVHV8T0KtX9U74CiEpLjL9PSx1ZEuAbHmr8GZxPl4S32821Vp8yNFpX+Cqb6989w1477XL8Ov/za9AbbIBK+ev2IknCR1wJh3lPmsbWEiqdstleR0nNyqPC0uPQW5+vIu7NEsUdWPo9Dtwz8MnYPqu6SFA19zYhbX3luHUZx/Q+ygGNoghgoHsfg5Xz4M/MQ+kOrEPeGRpBwUHtIa9jv7uZAgckiEQexh5wDAYdUFrsj0OY8pHGGDxzGN8GMSmFxdc6nPD3sBZzPhy20M8bkEhDSAPdUqND2+L8/NQmJ4Bv1JU2kCeh8FJwoYzbkGnZOEZd6LpEs20Ba8aXnGethAj3JER8KQSYFPgMtSY0VESY10lz4k4rUDUZXuu/V2HVDQOW8szWu8UVmeZQ8izeRg8XfjgJBMuIDO8wKexA1BN+IIrd9ANWJxohyoiy/y7201xyVGYWpwHL/ASmYUZHPXA1m23od1aF4vJKpQbNWuqbU1KMchg9qgErhdeeQE6e3uHGZaGdPAH4lapa5Ypgp2VlfJLWJEi2RjWDGBNV904sePx6OYntyF3aIU6CrQ6gQIjQSuxCTSJhdZBoDWb8DUzweo3az4t+CSebfh7EeMUe/ziiEQX1wZRFPNl8TidrBHM8S3cEHANQQBXUjvg88mvfLG2dN/R4HSjTOc9Knc5Gaeycwe4fnRu94v7RX+hOfi4foGv/+Wb7Oe+dAYlA8du5vuWi7zQ9bkfRhBxFzian1ROBtwFr5bFhGQlrUCtZlydcVEOEop9lWyoAq88BTABXIY1Hxi7q3YDZCFJTVfa2oQd4FkAbAAs18SAAK/x8mbx+fvi+Gti4B4PNuB2eIerLu1tt+A7v/c0PPW1z8A9j5yG9UvXoLWzZyf5JKqVpTwcR5K5Arzi1OIVfDlB4r8TpwMOKRmBY1ZvCKFKpQL97T54RV8AHixDUthd24V3n30VHvuZpzTocyz3kUXc3BAYpyReU9XsL4H9haMOzEOmVYBWBMI0Y+afgFuenpWGQCw5ELymQWsOYnHsjA5mb4djXlONaxnQejNomhu9YQMYoTACtEKimU4i2CDSoJWAmzXMHa9inmJebUWX8DTgIzwBuxyclGhnTxNX4ZwcZ+4EUyRLC8XoMlPfgaz8OxsIkV6PZG2C0+sURxI0xLKquIRAgOkAjIaWgi1m66Yu087DSYKGpDQ2Rk/WPYjEtdiYmlRRrIRqcJsujqMl1/bqupSQLN53Rlwb2oDPUegH5QpMLJ2EfmcPVi68Bb12a5yhaaybXASI83l9vfRCHJKQcS/OYycN3ZwhFNSm28jXfB2pCxZdFteRBaQYS0izEiQhfNUvlGR3WUyH2FRq6gdmG1PJyCmXg3qFTd0sjeuRaW/H92Aa3dpQ5+pRTsXWMSJmvtXtKLpynV+fqHreZI1WxDaUxnnvmHHU4ua6E9RKxPvio9Wlk4vBPbUybYht8FKFAGeAJbcJfL1VgOubH/cv8Yd/+Wb755RkYOLmrRCBTtZD7/p2IdIgNQ+8EkNgATj1+qRhyixwiQsek/nIlvdNjg9TlT2eYlgVQDUDHOE57Ct3Bz+nUUvlZ1n2Vw9SjpuN8/5qEOBe1I9Y58L3L5574G89dP94uHW86QE3zPN68MYzP4ATDz8E9ZkpWLtwOWlQIrYpQQJDyZ4RT3XdQz4BydBIXYBnv1iUDyPbk4AQ4jA4mdeaPtxQgK89HNMHcO3sRfjEV58UkylNzf64TbiJnvgMr1YTnzGQHrCo1fPk3U9Nl9mTRLoHoE+rPKkMSNVMFuRrYl1ASg61v7kECSmm1eptaQbApj8m7c85TJDynM17v6C11+7DtlgogONcVCoNxOHehUG3I8GhjSPyiGzmwYY5D38ifRL48ndk89A3Fi9NFg6Ai+PPxB09Y/F3LF/IxRBnYB3AiJIHYNlDpYdwa3SpPIS4ChLSkbPWV0ifX1IPG8WSOZeXmWEvbTenllEQpiEDscJ2MObQ2tE5SfQC3VTkKY9Y6SlcVn+TuM9T2+ozGRSSMKvcLqwUmawZZea4duh9IB/DbUZ3AvuYWiwS8XggfgZaK8HdgArTd27bSxOPXNDa3fZeS5zjIdQnG9IxwE0cc9x35W13Y1Mc4z5MLc1L7bsRfQI3+5pCff4YFKoTsHHtPPho9zXeenpsMw7cNytnL11v7XnrAmvF+/QxDFlamcfcYk8ey2qjwvMY2ES773Cx+dGtNL0tBjnrtrj8OPI0Azv8PTyP03Lp/VtVmUM81fDmByEXlyph4pyUrKuHQeSUcQSwYmwnW804XNuOtooFSmcaXlFc1tXDvDnmZ0Cm56hRof4nTxaXji94xypFWhJDOHXBauKPm7MYuQNcP/I3FPS9eyscDHHxok1J9WYdFzyrJxshbOwUtDwgaWpKaVm59s/mafbVgFei6khynrPgMQteDSBV0a2ofZUG4SSTeAIawLIc9tUQIoynB0Ka1VY525B9f9kXAjQUn1F65+WtV6ePXkGHgcnxJofxpQWDwQD+1//iN+Grv/6T8OkvfUqyr03sDubOF+dcA1om/RuxuYSxODMC6yFbeq8PBICkEKBVEtoEDcIkAx2IzVt0zerdO6UFuP+zD8lJmccKvMhBUkzmK29fhaX77xKje+C4bqGOMIRI3GPdOOJ5pps5TftJppXv59HKVac6cRq0OB1mbVMANiMPsKDVzsT6eTQLbyEtZUizqDyjFMg7vHhccH/f6A09dV/41utw6rFjSq/sEiFjSgVQvkEI3cdObPi3qK+a5JLOd2dvOs1b9mJxwhiGVBaOtYhlTS1zqxPmIGmMIkNMsPFJpVYI6X5m0kjGrZIAeJp9tZxaCrGlpQCJTTLR3q4K5lAB8CmLwOcsPbUTLQMwABSSyFuuURo+1u1gI2NPNl7Vpyac12iWlVN73XXbHWhubssF6+T8XHL90eRzg1IVJo6dhPbOJlx77UUo16rglxvplvxDDE6cj8e7Nlc3Bq/86bW/xg3BxfwQy5oBnJANgCGjm3dpSss1yh7R9QDPdw1IvTdNAKtzZaZBa66eNX8bpxqh51NepO8fzmHKyLpYa54WoJUwZFqZAqqGdXUALPc8wjp9Fu0sx33fI82pGikEPi3v9wH9kMu8aLFuJeUiLd57JJg6MuXNi98DXMsasZ5ah+pAIEJd85Es/3EHuH7Eb3eJ+/dvhYPx+3/xJvuFL59BP5ybJhmYqEdYshg4ZXl3ts8r2Q9JB0giM4Us8+nOnkQ3buk8a2YGMOZoae0K27TDOOxr8jfbj5F1QtCfM7QN3AXjjPkRFlMQMLz87UtPL0z2vyCeNX0o5MrHxa1EuhAYq5pv/j9Pw4++8xr8yn/5SzAxNw2rF69IwOlCNQSsEQsls4bsDLJpKj42PckSnQ406PSlN2SpVla+nL3BcMtTrhEjkf6kVKJgjNIUlztl8O5zr8DRMyeSSWmoGUu5ZkZhLLadaRY2wPqYZlq7imlN7YhRaVoOhCLMcvpJOwc49knc9V9LmFb5vnGyjEmfwkmdII91zTPlz/zj/YLWDoLWb74On/7pB6E6mZ6ffB8ldn2xLysp5wmeI/TkPBYzlJgFxf6N+52UJRTohCgIaELS6/fDRCxWNNlw5pgyq2NVWcfOd471ngsdr10qwHIhsAssV+pCdAUlLTJnVo6QxMvqJ1hnCaYbw5g8bB4T+6HXGToGlMaysS/lAAKunR1k0s6IZmWdI4z1WwFYPQFYpaaJOAAZnOYrI0AyjClJ3Bg63YFsvipXyjCzOKubAHP4LAwGwca9zS3pcDF/Qi9W0myYPIcbS3dJLevKxXPQazZV+d4YXJPxgGsqVOOg0nNMOi9//Z3vIjUoDwnzwsMCVgNa9V/oMJPKhxnboURF53UjWNb9QGvC6DIyCrTuxwTjZ0zUopuF41Zxbv4ffu3HxGHjOAxyAWAxg5xnWVcEtjHjVIBcBLBcANL46gZviWu7NVGlhWJARgJYPDUeP10+JZ7jFwtEgG7wVHGNQDZ/hLjQnxCS1wZxK99uBTssBK5Xb5UDIi4QdIxvwk1IpUO8OFGLp3Fu0NVqCsYTbx/z5lR0Hx+dsJIZhGzpSA1U6PLNPYxsJXl2KyQ1CBLHhFq6xHA3VcWJnLVzQnYbSPIeyC6YzRHAK17bDJ4VALl3qPlh3GhrokILXPZk9dIG/Ivf+E14+elX4MSZ0zA5N51suaM7ZDLDfSD9ObE0TPxM+ZtYxaAEV71WVyYHYdMHdjXbyXL4IOgdZD7LlyCRkljcfTjz+cehMTunYjWz9XILLjVrRpSdVhj2oN9rQ7/fluVk5X+Z3Km+px/PRlTxBORq31BbqoW0eWQBs+Eti87A9YxNg1KeAijDB5TkbAO/eaB1T4HWx7/6MNQm319V0i/o5rzMEmJfKkiHC9hpn6e5bJ4XAA2uF7IbIpBA1bwmqiE7La7N0IwVlQkiMM5JNozDsavK+igrJzVd3k/fsyy5Gytrt1t8uD/oQlEAYj8aaKNo1/orYVKlXYTRserrBJ/eE8B/r9kW608PJmcmoSiuRdBxtqnEKvFYJBaAWyvrUvc6vbQAk/OzWhOfTsnCBWNt4YSsxFw+9xr02u2hKg2M4cuaijI+8LkQr61VnmvvRk0zlMfghzmglcCIsV3Lmqk7NuNYnQWt2QQurg6+J3kQOxcMg9ahlC7Zg8Vpdr5BJoRAntWVHRqp7nuldp7Tz52eCCuZ73kj96aekyU/4UkDGCJ/ygAf87v8G6Xq71IDS/Tz8VBLkLu+wzoX18KNrWbcimJ7pZJygZQKPpfpJeUiBL5PiHlv6iSF2d4+4tiUJXIO20B9h3H9iN+i9TqORIvifvkWOy7YqFW5GcenWuJHxfh42ZAxltnMsJS5llmaodXqNUqUfw5kn5ORDqiicFLyp270LB+2zdJOidqSJ8d5IBs56+hfeUY+YK1dYuaHHg0L+I+I0d5ut/JMrdj8IhxgWyKnBzZOxzixEWHZ21/97nPw4l+8Ar/wn30V6vUS9HpRpkSuJv8YGbMohoIYtfB9JJCy20DBJX2wAaS72wK/GEBloiZ3CnpFsoiptl6SmNdzM2nLUQ4paAE4CWL6QIFWtOiRTeADqXG1STtkmIY2Tpycp1nahPs0QNVkKxkGkKXWyDyFyk1HPIUklIFCgKDVbkSkbZZMXrx7muWlOo7S1cJQpVJqWt8naP3+H78GT/7MwzLsIR9XHBxAYEArZEDrQegkDVozlXqSfHaqNMHdsr+lt9PJH5A0VIF1EyCW5U2HdiQKWH3li+dEKcAMbsKqXTMk8bOckLzwuHQfHjfd/uocpWEfPASqOtkkaZZKyjJpMO+ajyjM0xP7LxLXTTHwodFopJsnSfoci8W50tzalT8nZ2fAlwsrkpb44FgThuJ6jKFYC2B745pc8GUXw8r+zhtPKgCJldhBt63N8ou9TrBjJMhiXEUSkI3SsQ6xlilQyg3BAKNYVuc96BBjux/LmvH8zi/786QRK4dVTW1HRueKpI0YWt+PjDACx2edakCaYV0xy4Jo1hVd3YhkXcVzPKZYV7HzUUqAjxG0Ht5usW64w9tiM6NPnCwcwRyTSpFW9TWLTc6eG21LqJWkg5soSbWcPAGx5I5U4GNyW9Az4rVb6aCIFV78937q/bsMoA5HjMlHAp/7g5DEMMJrNVVezSZpcSv/Srz0Mt6pEgTAcOOWs/oziVuMZK0k9QDkNldl7buow66mvF+tlw/J+MGKEUd8ZR+iopmu+3GwTQaVF0pe+8l9J4cbYVz3mYTaux34N//z78LdZ47Ak1+uQNTZAFoWay1Pp+doVpRrSQA27BQxxlO8X9jtK8sy49/Kk4kXG3HaO02pla1MVKUustfuKgbXSV4yzKvNvKcIXkPMG7W5vNQvQVAuy+afSEy0YdS39l2mxuzAvREA0S3nG/Ukc/rNWRqwp/JtmfYUJRAUA6t7JPh+eNoyH/JdA3garR3KVeDmgNa2AK3P/tFr8NTffQQq9eJBJ8mBoDXt+bvP++jvGTk+rXlAmTvnSpqtTlwC7MXq6F2T8n96cWUY+FRSmsPcJl6xXILIbIAckctTOsQIg/M+rj2WZXWdZ1EMKogQsEZ2W4ysJJHDJqENLoDnmjXFMxSl4owLcCmu23KlYFbnzrrIgGAqJRKt7Rb0e32YmJ2CorhOXF9X8ztKeppb2wKoMmgcXYLYw+bHKP8oUiMvGiO+FXjOOT5829stnt3bKV11gV3M/TABlaaZKtXtP7LBypTpeZr1hBywmyYXckBrKmVrVFCNMx+p58SUQC5TPARincZegTA5VEr8eLcJz70PPLf2e3/+ph3UPK1pRXkAwwYtpXVFMCuQLJcJygKgcpQNiMPLsNHDE3MUMrAIWMVrxd8oj/H/xXuEMcc2ghICYAFwi5aMl3eiORGi+x4JSf+kJNMfmYQA3QGuH/mbyfbdvNUOjLhgmgK8osFf40bfI4q4HDkX53r08nI5zjKtkKMbTbxa3cGBuDF6buOWBZOGYc1jX533pi76sY48GTbV0crqizFxFUg/z/pYpgAsl17l/sA6Hujt70Wlq2KKedWDzqOjEQ0fTy6Ao4h3cBzjpbeWBdgcwNKJkzA70QWvXIPSzIKSGZBEH4iNU71WR2la66rShd3KqIslpkucJlGUyNS2t/bk88vi+eVqCQa9ngQ2rrekmmeVjQ9F1pVi5bCoG6jUaInpRUG5AKUoFKCuC+GgJ95/GKwSt+HKMLKoeZSPe3YBwMFtGEpPwkSzZ7acK/4ZFH1IbCUHmoXzc9jTg0IHYLjU7qCimwFan/nD1+DzP/cIlBulkYsdPI9WL26INcoGdPYCR+OiT2xPHAHxnXHxoWuNyssXNcU+ugwEynFAPObj4+J31u+LBU4PfMJUF32cuAFIs2RLibvnilNPlE17GkSYFaH+SfXzkb0PxefE4jzASFWpv3Zq98RQoCQRI9iMO/NZ1EmR0qEe+F14ECSlcl0hQGpKTkVacqP+pmQsrDeAeG8X2M4O6JPR0Z0aLJ/yfLbSB+Mti18KbVUiHf1a9Im0m3OqzUlTm3YDwO/cajWlfrg6WYfG7KQrxEywK0fAugPN7R2oLS7C5ImFg8cPKy8aQ6nHINfjNlUBaAcXN69X3oJUIiFWnII+pFhNAvuxrMlj3IJLMpxQPcSyDgHLHM1sLsu6r0csz33v/RrNELRWy7EvdvF0HPMbTbfawzk4M9SDBKHYn+WwropRFUtsIl2ymJoSxOMIZsVlKkCpOMW5NNqRjCyTtCrS4MRH0ErVW4uxqoOvo1ZuYC9Xe4nSRF4BkAKyqRiMO8D1I35DXUjozzfbt+LBEWchNmrV4AZTOXqhumgXpgeVKyvlvVF2UoaeUAwr4amWFz2i06GBzfBoBCDb+JVGDamSvvZFpy4IzVQNSZYxs1bhxDK3eTZa3GUTUO6k5AJxYFfw4i+9qPpu0YvLBHr35RKuY7KuRE9ChB7uEJ194Qp89scfgEY5gp3zb0BZgNfy9IJr9ag0rVIS0BbgxYNKoyon8367Kx83RjH2gFAqJ9pOsytHuUIxgJIARAjQYpzxJDg2QjKUHgiwJPWufemXrbofuJpHmWJZA0zWws/ca8HGu9cgXF4Xk3MT9lohtDshDAZM2mkVKwUB3oowtxRAGBFp1+QjkzVdhcYRAo2FBYgF6Ii2tiHuKY0uNgrTgi/lDkGxKFmsrgDK/Ug5wngIdBDEeuJ7B2WZVIXG/zQoqp+FolgEhOL9euL9+nJBQIslsa27EHU7EHVaqsFIfO/q7JHUZI9Si/cFWnd78L0/+BF8/uc/IY5LabRbrPj8l759Fo7edxIq9YLAfcXkfNEXYKEcyBkKT2uZUaFLyHamkheMAqeyXCLAadTrSyaP61UflxHFusZKWUofzd0TysgDiMPA8oTwJtq3lTCFf6WKmehKAlFG9qmSBnH+naLgTHpXovuUXqpcpdjFzHSFsiTDQi4WI1kNUM2LsYx/5a2WWLUNMkwv1V2LRkJj5AM0GYD0F0cEEXsFiHD/ii9VwO/oudHK1HEb0DAJAWunLxb9IVSqVahPmnhhapu5zIs64trYWbsuFow1WLz/FPBaw1p27TtmmMXumFKB/XSu/Z6/ur5W+2EWtOIvSvPvAkOeA1hd8M8dHWp+AEEKKOYwoZDpgbApW5A05hLYTz5g/hbh8pzqKLdcqUD2u+HuX5jpy7kCh9EbAHR4Iq5mH/SkVhWBpsCjXDGqyLpKMMulgyE2awnASrnHLOsq/sa5Yl3F47KJC99A/p3j5e6Jgbbgy/CCvtTISjSqJAdKKkAUiFUxlYnuNZUKTeAAm/A7wPUjdMOul+1b9eD87p+/Gf/iT51ZuVHJwEAD1+mJGHXAe6PspLgOg1Z6thyv1Rw7KmLdD1VBOO+985wHbMJWnp42N5yAJ32V5m3ztbjZ8AKIeND3ICo4Tunyzftx47UCQSQxOD40Pei0mfGkAvRQejU7qIjnzi1NwdlrHRhE16G3tQbVxbugODGbDMsGYAjwiZKAIAigMlWTwAabtNCpIJs0ad4/DGPsKgaFadBRIFI+K0HBdjvL0d0T4JVGYKk20F0xGkjg734JYO70AvBTM7CIgQiEaLBEU5OqTwWgYr7Somq2lcebECET2KiDV28ARpL7jqsAbgJOSwLBgacoB2ynE9uGufRFa59lhQgIChB09gfWGghBLAJaAxaL9QnLrHJHRiDfQ4CXfjuEYPrGrkdkWr/3+wK0/r3HoLqPPAC344VvnoWlkzNw/IElLOwLkFtLuQp46ONJSdKwlLLtsohO+pPiHdNOY/T3jZnTXK+PA02tvFKrRrMQSzyZNUNuk6YYmMsf9O9KSoALB08eFAKmOcielnIb3cgB8w+mQSnJpJUxHfeKmtKsdZb0hhXnLB305B01TsmJTRMXCoAM5NFNWBqAGkDKxEKHCcCKFJcnztkiDoO6uUovahOUxRXARqTS7fblYq9SKYEfVFPA1oVmg24XtgVg9cRiaeHBM+DjtSKuz/iw8hDNrpMxmrNAe9fm4dbBwNtYXak97459ZgNCFnT307GmMGYuoB0NLmmOM0EaAWeen7bBOzCJSwXccLcNd1jfmgfGxf9mJgc1HMbCmPdu4FJf+V1HIpAcNhS1MlSGCRCKYFLKA5hkSJmUDiCjisBWaV2ZYl09Jk4rzbqivTAeetTFxlw2cMniiu+Tmtg9bSx8yfdTbofUc6RyHtG2yIhkzayoCxsUHCb2DnD9WDCu27fyARIX0J4Ar1iyGDu6rjvgklqqFPl9gc/OR7G4VjgZaqpKosttUDmkyvW2t3/YNksPSNywr3lWVVn5gMF4bATwdBu01LWpulPV9jhvmxcd67xPxPxB0SPclRKYVwz45Ese2RHXe++YO9Vzk6d+aOBKD82euCV+BBzY6PH971yD2cUa3M+uQbC+DLUjJ6BQn0yZ8+FXwszz1qaSBFSm6lAvT0Gv2YZ+p++gVq5tdhKNRkx96VZAsfmqtatGvmoFoFjQXHaoUq9ooCv8sSQcJFCJsFyMVcZItn5zLNXGAlhG6u8CrUoLJcmCEg1WU5CFJSDM3f2ucQIeXdQC4khNFXDGFPl8uSpJv5/zN575x5Aalhl5AL+h6xAbsZ75/Vfh878gQOsB8oAfCNB69NQcHLt/IRfCmEasIQWE/SWdKyVBexiN1TSYxhM8x22AA3GEnUrCmiwdU9pXNwWOJ4ymiSHNd5tNfz+SZ/kb9hVYDXtYz4aUc7OBxDxZ8ZEMYLWtQ/LuAyuVBGANJEvriff0XL2q8Ya1ZXLFokZin/ZChVEqpaKSMzgJEsSREgzEYhGDBhCEzzxwPxSnp4D3+kC67aGy/34Aghhd/LiuAjka1zD0tleX688xBiyF8PU2xLzQHw0QDwasRjeZcnE5JMuaB1oPx7K6MgWWbs4awbJmXz9Rj0/gP3shb455wTRxzs37gwacyLryhHWVLgOcJX6u4jks0boyxbp6yjpLsbEcm7goRVbWl1YEqAIidfGUtmRZE+cCy7Z6lGhnBzXEgwNoc2yy7gDXj/gN9Z+9W/0giTMSWdfquJKBjb24q19fODLX9y6vlmIJAI0WlHHI80IFW1XkTlEtqUgwN/xomH1NSwAyQJY72ZPOOtqU+xkZZmnVAlOuQM3kmQKw+eBXGxREzAt9GhXd8pn5jhFpvERJLPbpYCmZINhYGlc1CfmHiom1cgCattDaXGvB99dbcPTuKTjBLkGhsgq1xbsgqDac12kNrAC7LdS0ei0oNyowMdeQTVz9fpgst11to9aPkmIRKAYZCPDJ2k2ItsXkXi1BYUKcVgUspsZKT8p1elI8gCjuqa5tmUakmFAVAhDL33kvgrit/IxoFakHBMQVuT8U4nCbs5wGIZ3iBDrhKBafRQRAxoPPMCmRMAmEFR6nlr6HERDJ/VuelVQCWm/shqD12T98DX7sFx6Far20L7j4/jdeh+NnFuDovfN5yFs3YtER59iwC8L7A60ZsMp56nziqbKI45XKiVM+59qil1gPImehaEGkOxgAHwZvkuXEF3Q7AqwKsDfo2yg/JQUwvUM0bRtHhohHq9eWWthSBbg4t3kktnPQAa/bdUIHqF0HJC5JantDcR9gZ414brVcsAs+FyhbpwBcNIpFItrXTZ06CaX5eSXh0JUZVXEZgz2Vi11fUWhjANesq0AY0t2Va7VnxebFkGPIz2TvkIp5zetZyMoCslyx+7qk+YoPNV/lNXo5jjGj3QD2adZKnsOS5Yn1fHWx8rCUoVqJcH2/hFix1WXNMZqzcD+ujPqj1LFStA9gTJX+JahEvasBmwKychVCoFlXJGnRekAcamRdiSdQL2NSIcSlGwGCVip7sGriHG1pECvfDzGssdMygFV6ZDmg1TRskTuM68fu1rzVD9J/+LM3o1/6aRlMcHSc161uRV3z+9Jcv3ZltbTtBgsYjxMLYFPsazKbkaHVcxIQkH0dTbSvCaOb21DlNm9pNpXkug8kBcLc6FhDofB81pUXegGJiikLn6SthLFg6gfAt5+AuL+obHvGlApQ4ypw+IlLC5iGaJnlS9uwcnkHjpycgZNijVKqbEJ5ZhFopZYqVRIdI9ttdqHX6kGhFEClEihNa2wIMRPFqfgi5eDLpV7UL03JzWW9DvRXr2NGLBSmCuDX0CTfl96mMa55pGwgliwssUysBq88tv6tsoQpgAhri8k95lKW2EMNLNmGzvZ1IAVsNKtDaXZSAPJJVChAf20dwt09uc2FIlGNWQL4FoKi1L12dltSUyuN5ZGNxQYmlAUUC+JeBk/+XgJaqoInwAuO6thMxEJxF9sS4V2ApH6rDc31LfHYQI7qvj9WhLhMxPrBH78GT9lGrBHAQmwnugwcfyALWhMexIDW4ffI7xa/OaA1n30l7r8z7XPcSAkcgAvuio+n2fNUCd/1isW6KO73QRcoawINQqC729r2K11fzuB1y0ZyB8coUCzO5oo4TytVZZ8njjHs7lrRfBIskLyPcQ3An6G4rtBCE/2GKgWiHQmIXrHTVPIcvn8XrerQAuvEcXH+zsqxgTnHwy5CPS93sZB7FDxthzWuVMAmxymmVYFWEuaxvPiVIlbopUHh4QGr8z7Z5KtDAVYXtOY1UtHc8ACeY3PFU93yxAYcjG7uWpjt2b9tt9g4FdlVnGtHA1frKkAFCOUek6yrBqHaZSDFukpGVjVkccm6IphF6IsaV7QWoKY5y/dgVozp275pzlIKNP27cRigjq8rMcGJJo4dbF30DnD9yN9KABDfDgdKXFA7AryigK922NdcWo96urZKpyfjU+LniykdqXEHoAT2YV9V46LElZpPwcJ91klgmH1VvSVJw0QOw+o4K7psquM+4JZB3EHtsACWgR8i8yCGEi9hidwBD7tkpp4nbOszuDBAERKM5eNKZYDAYZuz1IiuMurJCLC7cnETVi9twrF75+DUwxSK1V0o1qchKNds3c518A4FuIljtSz3Ze8KaiE9Wf43llvUsK+gfxfb7deqUKijAiWCwfYG9K9ehUF7D3ixJnbJlAY5sfbl1CAW2VaiQKuSFTD1b2qcBYgAnwwCKv7uc2hIthdzDMX2FcTfsVtdfLY3OwN0ZkqFIqAKNA4k4xuKI4knLZ+pStcFOz85Kyn8dHwP5JNIuwWk05H70tW0yi52AWoDsQ+mje4Vkk6+w9x6ArS+9Cevw+M/8whUGsXRjVjifHnm66/CiTNLcOz0XC6TKkGr+G/1wjqsX1qXmMU21mu2T1rf4L89jNoVAIup2F10esCENbyjOX5QLkGhIn6vCuAujkkowHnU7kIsQBzDhjWxj3k4UH54qDHmyqBKphp5Kj/SOKhTnyaiOtkpooCY+rdulBN/R6eLrrjH2ByGSW9xrMFUCrYqRCLNiWNM/0j2dSDAZkGDSG672q30gOvSvWVbXdCPf6tWgdZq8tphHbGo2tqR1QCjB08kAGaXe/aUYdSHCK9PcZw88ZoC1ayn1c2TFIhkYj+EOIKJ59ePHRXn4bT6rjHLXQzYhSs7DGzVgM/3xmrOUlUPpVfOgtY85hLHxJgHfTV2DgPWTIkecsr3o5OvIN+Z4DAsKz0Ey5qWKkRS3XkQy+q+59zkYA6HcTws6zvx7iF3cQvn2H2Hbd3pT1WZX8oEtB2Wchkg2tvVsq5a40q1l6u8xMRZi6yrlBzIhi7PR/0rJTNhxM6aS5FSw7YqgGouV6KZWJ0KYdhWYxByRyrwMQKut9NtWdxPHVYy0A85C2O+EnjkKJZOpifDYHs3iLKxrga8ygGB45WI15g0ldcXAyeBNygU/Vg2OjHZEylDSsRFSJgaJMkwa6sBrGVfHQBr2Ndh+YADRnXLsFSQphjY/QGskQ84rGu3SHt11/kgDWAJ90szL3qB+FKML8EYjCvRjCs5BONqWQZ8ru8fuDhePn8dli9uwMLxWfjE58WEHbalfMD3KkkSo2N1JJtM5BxcFIg9EoCuJbWjUCqLzwuSbDLdKS4/nyqKtjA5AXG9ADSsQ7i2Bu133pLl0GBCfJ64E920JuNjDZBFQAzMFuvFkC3pBRP3aVAJ7wnA0+4IMLOq2D5kSis18OtFoPUqxLSqQIsb+QqOso1B0iaooQYuMGKWiQHVgFWBe2wEuvE1ba/Vhx/92Vn49NcehnKtBKOoVgQT3/2DV+HuhxbhrtPzuV3fnjjW2Cy3/O4q7G404dEvPJRhMZMT0vxumNa0nRfWuLsQ4X0PoMOzml7UHRflPSUq1zpUsx6LHRGwdAswOz3i8i73o9zpEaQMnjFuHT2GuZEQxHIhAv2uKv0jWLbXDgEOeVpPkssCp6S92nOYYkMfLqzQT7XVgnhjUwFizZLy4X54nXYFsl07LhSV/VsUQhCHzqLPS5G8Nvq1WAYWBJKdr87PScAqjwFj+6FQDVw9HXU7TB7nLlxzKi4HEK5yO6LIay5frX1PjLtxHmA1/4x40NW1FvJ+ACuW6t8Xy7qPJVYKhBIuyRFPGkXhMK2iXvGIFfzIL4r1myoEYDgXlTMBUwGLqff0fU7rFX5aXZvAXjjX2zikRGD5oCfJJCwigakCrciGyMYsx9uV57Ou+Dycn7BBS7OumFdAFGiVgHhG4NlttY4kylzEZV6l2DVRgJlgAlfnCoTckQp8jG6t2wW1ihVh+Pe/IoMJDi0ZGIT8gljlLeH4e2yxU9jem4iyzVXYwkPRhQ4NcChei+hIh48xQqXGiJJyoVsKy2Jaw+5JZebBwshHkTmLmB8TA2YZcT1aU/IBrgEsSxzQ3cQrnpUPOBDVWGBS571hOO3LKAvSDVwCuA4C3kcQTcEleCDVW8Lb2+T5d5995wsnPnViapzjQg8JXG3VmNKx5AXrVzaAb0+BL0BDq8egOtkHv1QVALactkChjpE6Oghgug+ypL2WADoDoKWSAKFV8dmBEk2ByaGPZKwrsmho9l+YmwV/agJYX4C/7W0YXLkk2S1aEYCzXFbNaKYNCw8phhrIEVRbJMlseh3rSmIzocklkgQC3Tbw/h7Euxw6HfG6SgMKs4tSh8sRdBUCadlli9TaRMe6D+dP7QkzxQ+EDvsv+Np9eOMv34DHfvohKNX3lwd8D0Hrg4twHBuxcp6HwRD4h2vvrsHOehMe+ty9kGm4H2KDJWjl/EMaVTTgT0EZ134qeQSbqRCgIlglfWyoCoeq/CRdGLalfmNByrNsq1UYUNnk509MAKmpPtS4uQfRyory57Jlfy+LG9XjeLoJQMjFIo35BWmphelaMveapG2sksYuKmk5IgAyLu5krNHWBgTiXC9NTR6y4qIYaum0EcWHY1wpyeyAwzGuu1dWem88s/0dsQ/ZUEMTd0vsRCzWi719AGu+u8CIDv0UUeA0xaZAbI4sgORZYkESEKBYTKYIS7Hi9WnseWre8fTcg9JPUg7aZSgw2RQlDpicZ3D+iWWbkxfjYgUfw7efn+nIng587yjmq5vNOCL0QCJy7d9/+80D/V5RXep5HK2vJPD0EHtKZhXtsDTrir6tCevKEtZVEvYK6Ko0LSkx8FVxAwsbM+JLbSNCtUUQZYdF1U23U6jmLQ1iidOcRQi9fdywbgngWoPb6CYusG0BXg8tGegO+IVyCZ7C3+eno3vFif2a7diXP5hYSUbi4onEoBF5Pt692MNBRA0qCIeKpFocVLDzV2rLxWo/imkciScPokD87schCyIEsDEaMDGaG/GaxAcSrZHl2aSVXADrZlVn/F8B9gewNlwSWdcC7dcgx3bLBbBv/uWl7zQ3WigbOJQFmeGKD9OcZecAORp5Yw0zUqEvAObZ77wK3T6DR7/4CMwen5V6UEKKuuyoAJ7RVkjuET1QJ6ZUn0q/A+H1DRjEERQmBVicauhuZWT3BpZZUk3+qIcVj01OgF+vSqaLdZvAOnvABWCRXQUCaIDswgbtR4qCL25ZKqZHUrVQUVZLsssuiDA4DPotdCUoQKEigArqY5GV5So/Hu2FAAEsalLFcwhaXvmeO1HCBwHtML3s3F+/CQ9+6UEo1Qr7MGAoD3gNTkjQOj+itEglo3n9yiZsXOnCIz/+gHSSkGS0m2dq7bBU6f3DA60ueAVrmyUPQIhMqsA+aE+F3f/hIGeZQJIwAgAnvSr3rAfHt8sCUQ+t0qampG5ZapN3doBdvpw0kiURcA7tp4GnAaLitQhY5aq42wWv19TKSNdazgpl1OeKBZg3KdanxZJkl8uzM/Lxva3rOXpVOIBxpVpqEB52d499jNffvnb9zWc2vy/QGssCRMh4sUYs6KkwFr6P1dT+gBVSeb3Dr6HkYK1petuScADzOuox6qs5x8efgRcicBW/MzEHcR+BIIEyqZX6VR9iX1X2qLiEqFhj408/Ft81xnkHaU0Eswuz/WlsY8NrrBfyC4chvnBOPRRBIbWqlnVFZlXaYcnkq4R1xV4sDVolrZqkaEknAsW6Sk9Y8WdkXKtFmEf5fcT4ugStXgJaPUoNUKWe1rVqiQDN5IfAHanAx+fWhdvwRlTE7enhmWD4tt1i7043PBwomZQLTPTf2tothhq0EgVWQxp4Az/wIj/w8S6eSjn+RC95MYqXSK0c1z3CAglaMRk0IuEgomKkYWEYRSGN0LSOkQgCiMRpJdlXozN1JHBc48Us60ky3q9OZDrRWJe6TEOeA0EaiCaetPhxESv0Azooi8c8A5BHAFi4+urmS+Xa1Eprb+dTUix3AHI97CREjS2klAockqU1x9zTaUJiQ3vtHrz4Jy9IfeKZH3sYjj98XGofidS00kQ+oBuydMQK0EoFglpNMqPh3i50Ll6EsNsSwLQMwfQEGN9YaULPlZFgQHuSSMIj5pVK4BUDpbVDey0BbEivqzSulUnZIMNMjC1qXlHnSrhO1EJBFxN4lAngKr7DHpInAZQEqJYH08aZMimDYIMQOGZz8g4YwzXJbEn7rQBjtsTdVxIIz7sp11XYHcDF587B6Z84A4VqcSRrK90DELSeWVCWVyOOP8oZLr+1Br1WEx586kEZfmDPmZxErw8brsrSNpb4sYEKgSl21SFLGUeQ9iwzsg0OJJfnTsnLIRP4CSYxVsYFVKoQTE0DbdRVBOvuHoRrG8B6XQ2SKAwXssFKCLj+SUoVeT7jseedLtC9Pe2vRzN6IodlFddQYXYW/Jk5u4AsTk0qfTSeg+h3LIWFYwJXuaAiuYvUkavddBjZvredTe+NjbMb74wGrKk9DSFH4MpJmhHNBax5OtbUVyPabHbYTounWFTLfg8zuSl9rTKLwNSpGMkSWvBCMe/gPQoKPt5ZASPKfU/OPb4YkEi9HDcKXjyQBiQxiUMx70QxjQZxHHoIY+NATElBhEB4osofMJ/X7vF3D8ByeAQOHReP7n9M+bcK3CpBJXI0UjqggChhscO6ItNKclhXDUJ5rMILvFKBHMFCj/jbDlUuAxq0KubVOAxoIw0rEQDbmOUYnd8Brh+LG3rUBbcbcP2db78Z/vJXpMvAkYOee+7a4Ow9S4GdUu5a6pa3dwtoiwVYlvHF4CEBqxo4fBw4CoW4IPABBjAVgoAUkI+pVmmjEPBSFPFwEPL+YEDFf3FfMbJSVapUsQJfUmmMhTVibV7guBBkB5IUaHRY1/QAS1KMQJ4DwTCATfSz5nUhK0qtazLs5gJYeSuWa8uU+t3dnY0nxAS/n9v8kG/oYdhTOdmN0Zwh1uvSjzVbPnzrmdfh3LOvw/zdC/DgFx6DxuKk0twSX2v6VNOPTDqSFlxKB1qcmQQ2XYNCrwXdlWVonn1d6kKDyUlxrysJgXh/6UEfRMD6hjdH1lQGbwPB3HaOpfSBGG1L4t5EV23tqMTVgfe4YtZ9JrB6LEArhf6u+HdQggD9aiXDylVznmFbeabjz4a7IY2CTCBaf7X1mcXVigA1w74vf3JPm+cjG+wdboiLBGi99sI7cPfnTsvGp/0SsV7449fhrgcWBWid3/e4n39tGaJeBR5+6pjAhPxvZKwgEpwOZFmfhGIxIO6STdVxrpYxzcoXHD1xSkfsINR8EJtGrF61IoFqcXZRLHpmgGx5EG5tAVteTtw7bJQqTbkSJHyeWox5NXFeYoOWOKa83Qa+s6sbBjPsaiZCCOUtpaUj4E/PSN9VDwMGxPsoiymWWnhQ6uc6foy+LhFh+GMvOpRTxP6vQtXI2jX60u4WXcn1MU2DQrX4YoWutL5/n4A1+cc+rC3sr1+FHH0t6DQun6K+M5ZsK849RT8S842ce4py7ilAUcw9uEqGWo00SpE4e0MQdz4YhEzc+YCEsj84NPtxbk52DGLZXtpPbezGbx5wGFZ/5xASAfsdJdXK0QEA5anKu5UoICrGWE4VEJWsa8y4ZmNzWVfGPK7YW/HcQkBR+rfmaUstah0FqAKvppVCJ3MbiQBNe7jeNjKBWwG44q16O7Ku4oLb/OW/fbBk4I9+0D7/lU9XLcCfmYwfpB5/UWoWUZYjM5fx+hIXncc9vPse8cWqt1AokmKx6JUHfTZoNEqTve6g2+uzLjqgspjzwMMVMI/Fxeh5VCw2MVVEvGcszT8dMJqJhE3LB3JYTwcTGkkD5OhfMwB2RISsBbCyy5ZDv4LNn0O2X7pSaggmGehUKu1MzSx8Z2tz/Qk2iCZGkifscMg1sZekcrIbKzlHMrR+anhyR6qNy2vw3f/329Ia6+Gf/gwcOXNCLOUDCwqIjXxVjUsoRWY8lAC6tLgIpflpAU57EG5ch97FC1KTivZYvF4E7IyghQHEg2SqkmDYpi+hPrEq3mtbH/YIsKdDBmyJbVAngwC3XhG6m2Je9YtQQI9aXdMjulTteuQTw0o6Jr36n2AN9QlPutDFrEaiyM7sJJlIFXhFtlb7bcoZBQEPUYA3jhhsvnoBjn72PghK+8sDfvits5JlPXLv3L6H671Xl2Hj6g78+M8/LF743k2//nV/nWyOw8uNMJXVKtlSKUeIJEiNOm2VtmXiQjnLVAn4SPip/pUDYF2fVwfE4nkdTEwKgDiltKpi/0atJoTbm9B6+xwElTnob59PLmXiygd4GhLhX8SxweYsD10h0O6s2YT4+qb0GXYbEpPfaVLdDgIoLy1CcWlJLtjQJq3QqAGZnHDM/HOuUbzOxrkudXMWPzzf6hyL0YOGOIzda+fJC+0m2YWkMj8SsOqzAiJe6oJTNR6ZlpXjFJCJZ4XDANYROlbIA6xmCeIRnb+ntKwU+ypQO+p5KBEAMfeAALC0WBJzTzjoDxoTau7p95W9I5biUYkkO/XFhRwz5TA1Ox3Pc0d5e/by4G0Y7eHa+p1vvbk51jWnncxSrCvSrqi41Q1blnVF0MoTraus+CvWlSknApyECGpcPTGPHhWnwopnrLCUPEC5CxDtBWv9XLXu1fi6yg6U24hqvUWAK2pTKnD73q7CAZKBZofF3T57o1ggj+DcJp5YOzLfoStrJZMaLgGg1MzLhD3QgwJEAgfgwNLnPBSYJqRiPRtFg3gQxSQUuDVGvY6aA+TUqblNBYyc5K30oDhKo5ob92rJE5IXH5sBsAdoYNV4NmCldsnrNPTrIOWAkCR62c32g6A3N7/0vc2N6491u52jedBVTkLjeG1iyd8bUypgWNoD1tXhIIRXvvkcvP30C/DEFx+A2ul7IZhsKN9IHe3JkAVF1wF5oJXFFYYI4IgYzE5DMDUhday8uQvxxo6ARn0ozFTBIwIA0IJyDqCaMYq5WvoLMEqpir5FIKs8J3EC7onPjsErNyDcbUNhcgq8yoSyiA3FCdUXd8ZsvFqiXo2tcwInPGORlMyYtu3PAUDEBbn4M1agjipcC1G7KUBuaKkKtIc6dlQA1u1rks1DdhtLxpzqBjqtp1y+uANnHp2Hidmq7O5PdJZpkHf53Q3o7bTh81+9XwywsboegKXxmvNTWlXZc52AMWikfoAXoEItsTpWUmuMdlRRLB6KVVNdxCQ4jWVwhAKpTCCfCBOdGHNq05AWoeZg11F9bTzdu68MDOo1ca5MSes0WilLBjfEZr6tLehcuOA0VRExO1fSGCILmzRYpKUKeJOTQKs1magW7zVhsHxNl2vSmtXUnSs0X1yYh/Jdd4lzfgJ6q+uw9/pZqN//AJQW5g91nSpP1jGBK4Ldcbyf9SAzShzS7/KtS+fgxXBA+vQQgNXYXYWs0LGq4BsArDAKsHJOsqA1VyOb2i08x3EgOdq6UU/5V6h5RP5kDOcVdFzj0YDGfYbtvhBiISdGxhWJEmkootdiKp6A8HKZoRT+qK7AeeJNmn/6cvvqPhKBqzcw38a67E81gJXlfnGMVCCBtsXytBUWYzr6VVsIxDoBy8MeZi4ArkC2vgocOB7F/CWHZSXEMK02OUs3YGk3ATJaIsBvB+BzKwDXKbhNb2LFOPgHf1u6DOwrGdjrsh/NFbxHzL+PLvSXltfKyzgexbguxL7yWNbMQgXoZKgyCyMe+x7vU7RbVqyYmCO1xjWk4SAigzDyQnGPWOyLV/gC8GLHJ9UR07qLXwPY4SaqtLsBT0X7kcRHX68u4zgVJZsHYOEgDSyDQIDuIKQkLFhRHk/CLpnLZJp4djHuzM4vvLSzvbWzu737YGqg0OXGwygUqWmh8Mj4UgFPg90xltYIIrafex5++Noq3PvUI3D806ehPFnVZXkugYZk6RAAxVy1+2rmThKqApiQallOyixqg49+rINt8TuOthWkxJTGVH6nupQy2BYabUzml7gArTPQu74h9lBJvG8AYaujD2wAQSmAgm6CQlvYGMHsQN0VFnBssEjKMymZfnnmMc3Gcmt/ZPuZBWhtie0Pk9oaIU4iKJEnmZRVMO3yaz1zAe45UlDOCbr5x9bqAOxsgv945KQAaafEfmZd8GCALrliFhroFLDEz8Z12CSOm7j8XHRXQABNVVoa9uREkTK/Z9IEn+kmOAXGmGbw5CFEAIkJUsw0exnMyuwpexi21QVnKCFBgBpMTUqts/QTbbUg2tmG1rl3IO52cyhHYo8P17AlrZJVCVLIzvpT09JVIO60pZMFWrIlJRcvBVKtoFK7N/ti2yrH7oLK8aMQdXryOX65Ct1Ll8Xx7oxFRxGtPSeHRADEAFc2BtjV1nJ5H7C7yS5cey9+w46PWVbCSa6iLrYUuCnkxe4+koBhQpgc4C4gh1b1xQ5kcPNlAVnAKj8TbawoNvFyptwBBKYbRJgrLWXyeG7LYkF/wHoejeVAKStmMTYFk0j1WNAwZF4Ux57Asj5bnImCxLmNs06f/5CxYWmavq39OzF33sCU+01xea4IEPlpRkk1Rm0rB6pjYJmUARBli6UqmdirKiUFyLqaaFjLuiqAC4F43jGx/vxDZG+Vi4AKGNCSAcm0IkT1iAa0xAGxyXSFWOgH4v7uHeD68QCuk3Ab38QFeP0fKMnASMnElevRS3MT3q/pAY+VinCyVotWWi1fhhMAk7wZVzYjEROjQRTGLKQDXD1yzw6WahKMY0YYiuPD2IsicQ9RHB9Ld4EIizcxduEk4A+GbarSGtZEPuAmxVpt1dCg6UbIZgAsOAB2pAY2lKxrFCjlJ7eTAQJY6izJIS09IJNT0+eLxdL2+tr1z8RxXEr2ySEZVxOZSVVyzjglSTmCeQczrqmSomcMwAAufP91uPTC61AqF+HUFx6F+fuOQFCkyj4q5jYNyzRIqeABZvcGEUAVbbP8xj1iitwD3tPfWRKSqC+tSSmA3OFyV8TgYTNW+Rj0r18Rfy8LwNOw+0sxgwKM9XHndrEHQ43KPoLZEpQaAcg+OiQbQyYtoqKBeP4gUnjGrUna5AsTHMPTs7IG0aEArWjMTwgBkk84QdYXNDkHE4DLjajMLSK6s7kbGWqy7t0OFpL5vKxIDb1YTZMS7i/NtqrUphjbxtVxQ0dWSz0ZICtAf6+jGq9MSTqXbeXDWBVL/fUGBAJIFhBM1uvynEOQHO7syIVQ8403h0FqCgtl3zelhJRyFwSawfSMtGfjAoWEu7vQv3IVmHYuSPY1zS2+I6OPbG9pYQHKR44kK1sBglVwhv56XtLNMk7Zn4zDuFId+QyHZ1zlUTGLDvOYOMVXLoSvbK7EyzACrEIarKZ2SshL7RFerHAAw5oLWHPHkxx3gXEAa/JaAjhHIJM7wMKBOJ4x3pmYexjzwoiFvid9+z3l5aqqdzLXghPZjhUxAVgFaI24L050jzdq0Sl3VNhqxq+M2P1tnDNvZK4Nvvw0Ejsv9P78J18SwPS0BLCMzMSSUmWy/E9RK8e59m/NZ12pZV2BlYvkLnH9+wJ9XzUhA1S1xBGd/WHkAaNAKzaXPS/ub4vt47cL7rkVgKsfrddr/nzztvFzzRlvr4gfD8AIbuFbL7Zfe+xkMUJZq3nsxJF2/fVzk3u4WuXKg5VKe5FYeunFBH1dUbGjSpxEN2ApWYAcPBRAjWO0JMFVM658PcbVKGv9Ul0jSEc+QIYBLHftsxwJASeQ+NVlI12z4DILYHObuLAkhY1aAe3VUlOsw0pQ7vRIOwN1qVLZOXLX0e+ur6491u3254y24jCMqy0N4+SIzURjSAVUqpGXAlPDM1KGCZLvn/4rpmy98/TLcOGvfwjliTIc+8Q9MHlsCgJPY28t+tBCSMnG2nmf+RD3WuBXF8Vc0QI2wB0jQBZFe6w5CW496emKo64Amt4xCDeWJWj1Cw0NkjW4IaCbczTtLidzgcl6Awi7oY4WVWwbLQiwIwAtJkWVJzyJyZgAsJGMpo1kTn0CAvjwDkfQ2lGg1WVYU2yrMXt0Hjele3futUyc1bA4z0vpj0lS0U4Bu4TpJVkMgg+g/y5QC95QBoCgFSkaXGDgT2RcVRqv+t6Mq7Q3qe8RoNVornkKsyaNUH61Iu5V8Gt1AVTrslFJ9rnF6DaxJ0DqLrSvXIFIAMp9zfdhf0mBYo4DydKW5pagMHkcaLsG0c4W9K8ty6SvXCcBkgweeFyMitav1qAwMw2l+TkZIkDFSYvb71XKyeo3dfgVmB2HcZXXmDeGVZ2UdHiJgP8QFVueGTMGXbZ3+Y3uy90Wa9G8crveS2oJyTNNUQQiHvTEOB4elHaVJwkYCViT8oU+vTEggIySLeQ2jvGRwFc9H+cQOcKjHyv3eSSmlTCOUPMa4dzjaRrblYTJCBREgOBzaYsl5q+l+Z4807gaQsSjQM9dDX9ISG7/4JX3O9+WfuppvCjewvv1r3/hGOXwSQE6j3pcxb4ykjgJaNYVHxczqnITsLpXRsTQRu8R77Mu/tCXCnyqU7E0SB0BWnFfnhM/nhdg9ertiHk+7sDViKuxU+K2Ba6//c03+7/y1TMroyQD762E7e6AvVry6WPmsck6O1MqsRd6PRwEpIEzFvkhBl/yr2gADUSnf4ufzDQ8MWnpLdNL0HRZ/mQKsLqDInccBMwc5DIywwDWGqGn/F9BSyiJ4dTSUgPIAbB5EoIUgMWRIYZiz+NhkZI4AAvT3OYsN40rGfVw0CgEfv/IsaPPb21u3y3++RCX4qxDAFcDTqRe1T90AIG6Uv0DNK48M0dhJd5P0nyI2Uncwq+o24erL70Nq69RKFeLsHB6HipTdQVUTZneZJdpAgw9Y1l3F7zaSfCCLvA+V0lE/oLYPgFOBwOgRXGvfBLC7afBry+J7ajJNKJ4ECq9B+HObExsE1aewBL/Fvexbhiiv00CH2VmqjRYcqyluGq6YpozlycLFaC1KZuVlK+MNwRGR7KtroQgxbaSEWxrRlxovUu5lQjsy7b6KJnwEmBtBOeM6Z+xZVbl7zxhW1HTGg96qvReDqTHLgY6UHFHz1I3qS3udCDCuwCpveVl+fuo0vXYE4oAksH0tLxTTKESi4VwewcGa+sQX+9DZ/MdC6AhFbWaYB+zMMAFEIJVld42KfW9+F2L+N6VChiDy9FVCn+shCpirrMx7NVU5PMw47pvhJGV5HDYWhm8d+3t3ttYNSf7ANYh7to2nRKGDVlKGp3nw3qjgNWurYi7gDsMYIUDAGvyPByHPW5IDzT0j1kBm7YiCZRRYEITDQZTyWhyl6jULCov8tmp1kl398aMb//Bc813cvb8Cs6VN3PunfvZ7yBwvHrlP/zEtMfYIwKQnpS6VC4tsohmXamKgMWOLobrS+kFi8BWrL3uE9fwec/YXdlULGVsqGQC1rs1Fj9fF//+QeHLT2/dzpXmjztwRX0namPQLP4C3N43LH+gbCK3WW1zjz13dJo+FstmKtk5Q+9aagbvXpwYGCDIlHGVHIFj7mIhk0VEbE8BDpiZEjhxm6TASbIcArBDMa1pXasLYO3Ax5OQRz4egM3ou4gFsCGvtEq0PcmlxD/ZxoMArK4Qwuzs1MVwN+xuL29/GmxR/qCZERR4GpdxlQ1dAZBD2/ToRpNcZpYPFcQRHO5dWAayEsq4TDq3CKVaSczjiUZUsZLIYlUEYN0FWj0pfu8riyV/RnynCXEX68fiowKkfEuAKR88vyxBKx5TTwBpr1CQ74VMYtw3EoA4OWVwx8ZmG6nTuU7sAXaWO/p01QGxUpvoy1FNvlac0YPWripBY1wmV01MLrtHjMsDVf6dsjMCzRU1w62jaxQFkuoHGs22gsu2JhRtAhyG2FYqmVYwGljNrOE+wtjaGDtTMB2I+hAXtJQPTfTRKQHXQUw12/nypFaWV+gQEbXaEG9tSd2oadrKlwncGGJF1habs1D/6tWVhVrUbEJ/YwNab5yVXrzmO3uFGniNRgbsc8iqEHGx5ZXKkgVGwI2LNQSv/Y116F5bhsYDD0gwfqhrAA+Y58E4OZh0zOtSNWf5MhzkkISrBKxRf8CvvLr+5tU3u+fHBavu5RxCuW3G35sJWIefezjAmip05DSF5fnQqhA/lApQZpZPKBOVT1Yeiipy0fZvJgP63Ew7JpTX3LdtdtnzMRs6Ah09R34gt7t+6a8RSH7nnX/7+ReYx8/4DO5jLuvKNOuqtK6SmfWU3+u94jL/48Q1wJECEAtkxYqU/FD8fKn4U0///+y9Cdgkx1kmGBGZWVX/3fchyYdkGUuW7DFgbIMxNsdw2Yw5POYe8LDAMMsus/DA7uzODjwPM7O7w+wwzAwwgDE29mKMjWWMD2wj27IsWbcldbe6dfWl7v777/7vuvOI2PjiyIyIjKyqFGJUrf7LDlV1/ZWZkZGZEW+88X7v10M7rysbuIYH2jS9tHABTZjl6AXOurIf/Z5bzvKPr/CtHj9yMr7rmj3hz5vf7V3Kbn0mog8PE5npytGOytVahlmRVbAiyEpbW/kCrwxQWbKgqgCwOM+sVeADg/cyx4ZJAGxFKllB2UFqxF6EB3PFmMKwf3wyqFwDxPbXBit3vee+z80cbAKbfXAsmIQP4HNSd4Acy7j6GCeiPL4Y8hqk+zzTAwkW+xttlHb7KITgqdkWaswAsAoluwoZFfEC4qgQ4dmbOeja5OcywwEr/67x9Shb+zTfzy6RJUcQqTBbSjOp04RAo0wuDwMQD1tNFM2HEmiCfHOYoiSWbgN5ZJGKUmGu5462xEIFl1+szjMRVQ+Li2GzUQRFGZHpmu2UeeC1zpeJAKg0ixWbyfLl3ZwnygO2pHE9VgC3WDUgOdMXLczzKc0AZR15HkQtQ+slcAHMGhygDeNiv2q0knVieVYrAbqhDYWrAADUVIRap/1ezsrmWlemt3VS4Hq0reMy5Armc3FRBWftFoAV9p92uyheW0e9s2c4YO0gZ53e/wCY0EolywBmljSaCqhy4MqBaWPPbl72Km034cdZnUjjbT8zcoJYZ9kfa6nApM8YkVIBkbxgwtfm8ubGUx89/kh7td/xsaROK3kBqyAXUDSgKEjrA9biEFWAlYwAn+YxxgPWPKvXRLrafDxQs1Vzig23M8H2YsXBfYMX5Ystag1reT27F9sqYdjX2Q9++tjfuwb05T/6ZQCWDx557xsf4Zj1Rn7rfg0HsE2daUuxruLztfvCa/k5LAHjGko1L9aeraqL2ASwyv/xaOs7vpCindcLhnGFF1D1L9q5lAjxB3PAwSskJjjs/u2vvtI9+e2vmTkbBPhFRucUXnOoQ86cW8wXV3UH4V/aZ5bAclz6VWNlrARgTRziAljdCROsBFYI45KEoILNrAtgU9YYBihtEJwCFcj0IEGZ5YReAX7FvxhLadI933/gmusO7bl0cfXVWZbOVQHXnFIJhA9TLRBqDsKmz7pQHyjERjBT/2YisxaAmIAw4fBTvMvsqQ3l0x9FDEUBLxFBQUPG/NIgQdrHXzCkVAJNErU4+IqUKwIHqxkHFC1+S4GP69yrEN28k/+GAxtYqh5eFot6mCZ8n4mQCDCVl0J6WMQoEYAMQBoWQV6k0UDNuRDN7pqXaXH5cQHopvy3cS8Vn6XuMlAZuUhx82GWWyUl3W1hG1VE/fu1rQCehGYswIa2tQC42FjOR7kTgOskYG+HDSP8oDmPUjTDAfqCnKjkgV1ymRxS2epgoHxqBspyAUozwbjCeUAotXCBSLLcDUJYYg36sj1oAXDNpBimJ7L/Zdgq8ftLBGbtWpJ+rGDSL+h4qX2NNzZQ5/HHBWCdZGWhuOdNMpDkgVTgtUoi/t5oioxujX17UTg7V1jFmZIOxYjXYk+Fd2+9bbCWCugZzSRLGyN8Yc1XlrL4/IntY5dPL19wAJx3ib8KsArpFgesCW31UB1bK4TGMqykFGIlA2VdltUHWC0gOmmaWSsQjFW6HRCPomfPri643uyx15JQ/PF7evc4TX8Rxsb/nmPxq376LgCaJ+7/o296PCPsxbz+HMTieZN1PbQneC3vAtY5Ut2URgI5y3qBvz/A//HEzD+8egKurjbgCmLra3cuZf5QX0IVkoG1dvaFA7vCf6LYTMBmbN+u9JUXVujROCZeNrW0tI8kgPV5pzJWmVDA3F+OMfTvKgBs/jPhDlswuCUAa/rAOqJF5gJxH4BNUKsboV4ImnrV0VJz0PCxsNL41vBq4v9cXJhfn5+bvXNl5fLL29vtG1yaMx9AVWQ9RpMv+4vgLDD9yw2nDYCKUc5uBiIzlooviTAEmQlQKkAoANZIfhZAtcE/c8AG7yCHjZp8JtMCJlB6WYIzdthqcDDLwWqDA8logb/v4YP7Pl7gfb9qYQCjEGNwPwexL+P/bPOyjXC2xre5htcDlqo5cE0BZHEQm0pNJvh0QpgtEzhM2YqlA8TvRb7frlBfCFdvOG+RTieUoE4wuJJiEUFLlOUZlkTG+G5P+NASA3wWXq96NlN2D7BocZ+2FZmmicQJ7nL3V2hXJZ52sIkArQ25nG1SxVjTR0rHmtHiXQdmMRmwlQ57KshH3daUGtZXnmQDkPWs2RTgEEApRObDEn+g6gHXBAKzIMq//eSTKO10JgNvo5BrgSIFIISJCUx6hLyEt8niTTfLvxEy2j9Vs6G10iQHKjirhiRHAdeJQ9IUI15OQGB/s3VpcOH0w+uPxf0sRsbtgh1xutnvMENATcwVH0jnQWc6CNm38QirKjQOsFakaEWjAKuTsKCsbZ0wCYIJXlEF8GXM0sqKzwf2DkoxHZ0+ve/cGu9Eiu0B3F96vobjb/jZu6F5zkD5/O+8Yb/UwJK9oOeda5HX8VN/PFBWzbw8DfrVue/84vkdIPPCB64gwv6GnUupWNdPHWM/+r1+ycCDT8Wf/+6vD36CUTOSHjWuO9xunjq7NPQBTxf0YZl93mv+bzGsjrG/sexvM7rVANbAewSb2GAMgEVuZ+rnl0yWGCJzW+0G6S3B+VFWjHRQdTN9LPJ0/CaAhciCw4cPnlhaWli+tLL26jRNFstjnUgZNRFLk7PUoKMLI3HiVDl4AeGorcGpGg2pNEpECQBCDI5dKRokHIRSmW4l4EAQFhdDMBBERAJX/l0EXiz8GM0AC8/QIW+CiAPfkIOlMElRyEFnAIxsxkFHIxBhEYSmArTiiIPW7DEOPPj8sbmMaPs8op0zKOueQXRwXiYkEF0NpMaMJNuaiUA/lFFZeQrWV1QZ+lMizwe2g0sBh+nDTZtqlChvBpVmWGJnuazfh6QJcRF/QXKLIyx0qwI8BdrMnlhR/kU8FrZYQtMKy2K8PaDXYnbN/WAlj9BWXBCIpV0f1IKoHrGBbdVAVQJXVrCqUED7OugLJlRbsQlYzsG9AMO8kFZTBGeBXrRgMJHQwGYc2EOAVv/8eeHFypLncBUSmzetCo8GRnVpCbUOHETR4RaKNzdR78xpDqBr5I5RSTtqSQWEe0dNeU3N4CxxqrSacU2G2eDMI2tHV892L7lxfZZpGrYWrryAVf824X0Vfy4YGu+tOjFgrU5uUA1YqxhR37GeLWAtfUdk3fbs7rIwYLtlbIZUlsHT/MxqeofTw5+FMXEaxuZv+6V7QGN7+ZO/9fqFsIle3gjxa3jFPsgfkUf5CT4w911fXEc7r6sGuD7By0/sXEoLvPZ/7HtvgcA1SzLwyXu7p7711a1TjQC/1Px+z0L2ioszyaP9flRejjeW4AuwaepScyaWuqyoudyOc80BNv7uBbDIZWBz/ZOnTgV4ZMgPYP1ZtczzEf6AKGAxa/UauD9v2mkVrAezHW+YlZodm6AdDj87O7P9kpdee9fq6sYN7e3tG5HM8KeC59nEoNVkglANvZ7ADDBoU1SAu9KAi0QQe77SjnAOplhKJJOUEZW5AUsCT2goObCiA6F5xeQliG3djvCed/DvziMU7UdkN9/T7gMo6Mxy8HsYJZefRunGJZRtbwsPUMo4gIU05DgSdkmIRJbhOzMYK82VFj9Ql42ZYFEO/Omww7EKB9cQca6+Ywr0AUsJgWB0GBt54rGJHGQ+x0B67BIdsBXooC0s/yYC3gAQVbGtqGBbvQQkWF41c5N7ZOQME5rahKIkUYyqCMqCuylANIIJg7q5wQxIBzrJzEEyoAuCsuJYBKNBqtVsbU20twC9Xm0re87z7Ah9L+hV5+cFWIVkBSLqJJpFQXOGTyq2ZBuQmj7G2i+1poUcC6X+eNKHRqQyCiCX9YSca5WPM2/ctXOdZ55+YOVEltDMn13KLxEwwR1z/paiZi9DUTIasFYFXWFUBQ7NY9p9mtHt2ZIC47e5vqtIjuA9lgpgZZYsAI0G0Y4jAYPkdozs3z18kYcQ6H38K92vGNtf/DM+Fk7b+PzWX723nXzhLUtq/fGXom/74k7A1VUIXI/z8uJ0ZWEmPNju71zS/AVaV5AMzJhfrmxkn37RvvAXzO9gxnrtofb806f5NNaVAHgCrzSIsAOrVKckhYdKSF/oRYvArCJbFfEDWGYB2Fyi6HMhsLp65gewlU4EGCE7gCxjUcyhTT/Ew1m3I2e2USt12gh5ByD+o/3795zctbRwYXV17SaMO4eRPmFGa4FXwRRGk+v1RIMq4Fpmm7GFuzWMY0Qtr2YUFdb1ctmaMLBfAsAKwK+vArlu4GD0ToQ4YCS0Lf6GkmcQjpbyYRY0COH+6xBZ2scBVV/4r/aOH0FsmIq0MVkXbLJiiaBJk59jU2TjImHDjxIMsKNvFKhK0m2LADCXGSVK0GtF82NsZbHSKFMHQ1GVPUwA91Sdt8muGYwizgOtWJ7yVgBmJSVoLszx8+zx80TSfL/Z4jePyKUsaSoidZ9CAiICupiaIBQiVfEZgrJAE9zrSucACNAyrLGQCiRj6kaV9lYs93L1tmUNACgBo96funeFIC8Q9YHX3A03SpCoTf9JxZOB0VgrqzJwlSmPcc3gRFInOAvOFTS3QludTCST0BINZKR87W4M17Ns0H763ksnOACm7uEdwEryJ7ZCO6S/zFDIn57mUFv72cvyo8FqXcBq6wYYth0ACsDq7ot4jocNx5VnDViNbfbu3s4IYTNuO2126Z0rm5lebumrMXBaX9/Pyxd2QOvVC1wfV7f01/DyyM4llS8+02Q/8dZbQFtjJSb43EO929/1nYs/p1cYRaIjjgbnZtD1i4uDI9vbrVESAGToVpnJipoAliKLzWRmCtUiMKvYxgCwyAWweWc5wkaL2Z0+84/NZgeIq4ZynMDAIPitJPINNgoXkAoEwEwZqz5goxkNDl9z6OG9+5aHF84kkLRgjtF6vplgE1QnQpop83dEcQnQlpkKHc8j2cQ8TSct/iZzFAJYilGAO3zfL+Vg7GGOGPn4kG7yUXWTbw/orIVYtsxbaFa4NIJhjwRR1KDKCQewQxQd3o9wc04EH2XdIUp7Q/GZ9fhxcF+AjmhmDoWtGRRwIAspTzOOhSHxQO4BqzNipUnuDYptLrXMhrojoQKzJJSgM0R+9wENUm0AbKxxqig5bAR1keYCSvgYG84t8f3PFAFayvoLIyP1K/8qBZcAmD5RmVwB8isjHaDV74nALFFygFokG8i1lrm21blFRzkJgANCQzlIzM6gFu8QZEKDGPV7fbBvEhMY4Y0K/rDApApGm6LBxeVaK/hYyzfqpDxWGtlaGldY9oc615IKRNISLU4mezyZnCRAOyTDbHjm4UvHlx9fX37tmw/fKNzj6egALA+QLWFWcZ1xkPL7qIdLvy+6Vz+b61gLWvPq0S4BammDuIB1lLWV2RePBce+YLIxtlvNRop2LyY3gh0jqJWCfPWN4RPPxJ8jRY6QMx/45LGpDGxKvvAWaNMf5OXXd5DKVQpcwwPtdnppATSdr94BrvaLP7g9Dl5BMnBIf/foqXhji89MF2bIm9we+JqDvWvandYKxH64AJEhxxnAEOa7AJao/oYi/9I8thwILACLSgAWGVYqFS4EloOXGzCWB1EVxzQDqszf6+PHbKbTwHQxQFnowl/syAIcQOtdHdZtNzMTda+9ds+ZtTPrLxu0B9fVCXwhgdS4Go4OjuVB2dsKgF9ua84KRK1i8iUgZVhYeWtvUJniUwUHAduaacZVMnsBGSDceBFKu8d4pRYQyQA0biBC1/ghekK8Km4WdlnhewVeDUStBSR55B9UKORgaCYQ+s1M2D0xsVSetjmA7cUoajbQHES7L7YEswkR9WmSoXgwBGcIlCVyeZcaEwJsOQiY3qqOthX5tK3Io20lfjhsuRDo4RebabL4tWgWYFgnXHAGbZEhK1VJBtS5CH0rWIgN+9KLNbfI0gwrRVaaLOe/lp8x2FoJL90IhY0GilpQmqjBS8i/g+MnQ8hcNkDttS2UQACcANocAM5GKJBmPTbgxMovFU0CKAsnOsFqkhpa0meRbU6A7JDVArs544omXbxj4pqtP7O+fv9tTz5AY6HaxohY4XbIA9Tw6EYq7g3+9IHndBtbFg1lGy1H18/+boBVtQdhEwFW85zIcwVYPfXbv2+7KcTvCFsrYXGGTt92N3RKcmERxr4pHpq/CcmkSR/bQSlXL+MKrwd5eS0v79+5pKVeEKxXIIF3S3/32Nn4469/RetN7m+jgO3Zv7e9fGl1oQQQNWwtpWT1BXAVAFalKSyW1pH9Ww1wEbKDvZADdi3JoFmBAsAi7YpgWW1hS3NrWWnlAJYyW34GRFKCZjsE9xaxEHn62FVnac+QgilsaIFYVpBN6PKJ9aN/+ztfOIma9OX8i4OTJC8Qg3YUjmWPGDNM7gXjhEt/z1lWBV5l2kV1SUBHCClUwb4KiM1QpRXloCmaiVHQvA7F7ZMcFMxxUDDg3w8k28nBKwuGihaXp0NpT6RsFQEVrGAJkQJA8ri6hagzDjM1ieEAtZ+g7uoG2jy/IvSTID0JQwm8AvBBbUbCq7WplrSZAhMiXapKOqBlGfLmYB57LCM4S0sHMLKcBHApTaztTWAHeBVAGCQCOZhFZrSLkbgAJgYAXJUmN9PZsrR7gJZvUFq0Y257pf1fkZAgYKXFDURAH2+fKBKAVdiRiQlBKtoHQH+/3ZWWW1TSahC0BfsFr1bslWt4ehgn0cUkm4jVg1p+qURM3nBNV4HigZiIChaTQxxMfoy1s5sr5z71+OlLT69vmKDMCGoi1Qs9frsrSzPP79iYzXaYkfzWt7G9hO8Dzcy75TgQqvTm0MuTSn2uCXSRljEwNBKwFnbLllvAKEA9P99PZ1vZDeWpHx/k1tJPqN+C7dWFKR+Wf5iXz0ffthOMdbUD14d4+a6dy1l+vf+Tx9hPvvUWyCp2s/7uw1/qPPqalzVPRwF+ickeQtm7K3n51nb69DAOS1H+jGHk9VP1BHCZzgBEIRkqs/YZf1czdDUOU+ToZo1VWtvZQKVvNWKOzOUyyjwg1+GEzFgKggvqkzKcpyPkA0a7gbuLGAJWmevij20Qq6JdhR+pcSgNYrXNKlKyxnSQ9lgfPbJ//+FWe3vjxjjuX4tGDP8im1MUlnWDI2gbYI+ERypTDZ8vL5c9PuV3igkLMtE+0BYymJ2iRpTwQX0fGmytcNDR4tXgYJVjegxr90L32uYHjFUzhbJ1xPZ9JL07M2UlAMcCu6EAKVMvS77AclpcZwbwA2/wdU2FNhblutfcR1UEVsmLDOxi1GpJUEJwrv8UVqgZRUWUXXHr6uTgUnkgGUaik4XrFDcqwUCgfEKV14awdJLJxPXkIZJuYepIwCgLYEzlTU1Vm6RxIpbjU/BvhfS4AGLBxxWyjolUrzqgT96GJA9WKgw7pWyA5hONNOmrxA+KiS7y9hruCEUyBevmqbO8jklN4KqssWppXJVDQC2pQFBMRCZ8ZnBIJtK2bl7sXH76nvOPb6502kTPWguwBXeaLITRumBVAzYIeFVMK/V0dT6wWgKjpCKjMUaVbnAW84kRxSaf/mwAqw/QW99VbWPETYLd397d3cO+VCr8cvU/cU/3i+qfp94/pRIBeCVfeDOkfXsnL7+8g052gCswrr+WriyR8OAW3bmsJfDa/cm32ZKBMyvJbTde0/gXBrjSnVVw+GB77swzu7sGhignIxgfwGXMqKsBLKvQtSLLDkskIBCr1Q6ALbkXIEvSgFkp3aza1tLVWhZgOYwR5G2CALz2FoTbis27Wh5ZxQBrKAsZdhgXdSaGh2MjCgd79hw4GifDU53Oxis4IDvgZVK1IKAWe9TgJ5qWx0mN+FkBaiUkIsK5QIAdWoDWMOQwM1pAg/YGBxwAWqkAt6AIxhxUYQDHWR/RIEYiUyPRNaYSpGaxyiZFZSphosGmsoNiuGBfMXaaVwNqbOAJjMYJhDOQEgyGCA+HUpuZZ6QiRqIA+W8ZTITE7wFAwjJ62AryCH6mo/uVO4HU/mbi+tIsK1g9I8BLV3NmN2//xgrqX1qRsy8HeAFjXEyJcAGkRWKGrMjepQCpYGHzoCw6EcgqpaQdCRBxabIwEbNZC+gq0F2HcVUJOOpKBWSCvMm3YWy000Jnrb/55D3PPLF6enNDTkYZ0Uv0OTJT7iFiMkuRLSwvG1D4WUyYnLGZLu8yqbviNAkY9boSMCepAR4NIrHt+kZyBtYmA4h5vKpzqrbj8gRreWywdu/eogFhs+IxgPwoGOU3z+Xt7DPLGxl4t668/xPHulM+HL9V4a7bdpDJDnB9AFYSeLmFlyPPVyVuesWN+MTjT03rbA9MjUEyIBJ9/9kXO7f/y3fu/nHecexxf9hq0mt27+qc2NicDxzgV3YTGJE5y0w4oLcTWlbV2SkJQQ5Q/N6sLF+4xRj7gLE/2xVzHAU8ANYKHJMVMoMecgQtmdeeYF6ZG99k7cE6YzjfAsRSrMc0nT9AGSDIikVhs7t716GHhvFgV7+/dWOWDfdZA6ryfR3tRGACOsdVgNkUcKAcfIjWulKVpoyAHCFRgB4yalGhz+xt9/lA3BQJDgSiBcAGYJRKJp6xngRzKEWFLC7T8IwDSQ5eEVgNxSriPJDAXkfOK6DvBWJitNSZspzzeS5e6uYDu6xBu4ua8wy1FucRMQOuCFb/VpmflHvApZNn0aDTQ/tfei1a3LcndxUg+jfRAZTQHgoPLqFhPxH60T7//fq5i+J3s7sWBfjNhGer1LdSyxEgj7h6drkA6r5qs6dSmlALuBKZVKIOoAQmW+pP6+lV4V6tE5xV5a/cWettnnrg/MkLxy9fQkVCMDe3lZk+wFlOMIxaSRmk5X2k4u6BaWV8dpiDODIBc4oMdwFH+E4wrgSr5toUY44nK2beDFl/n4DVBtJgRzxM5+eS6+1HFp4SMeHMbv9qH7SiQzXGTfvrp3j5cPStO24CVz1wDQ+0V9OVhRP847c8n8B1qlnXTxyj/+RthWSg26fZ+dX0tuv2Bz/jo7H27Rm8rNtrnU6SEOs0rSZZVwqQKgNY5AOw2CZVAwUsvQAWiCXNUGId6u70oKYsACMrBsg4DvNTHKgUaIXKwFnKZhM2I5hX09qFmRFS7kFdEEuY8AxXkoI86yeSwJESheFazdZms9F6IEmHi4PB5stSGh9UHbXyHy3hLWOcKr6XwDWSGleFfaghfpMgMQ9AV3ZYgUjrykgi/RKDVGhKux0qvg+FDkNlk6DyAqlBTGTEyi2Y4EhMBiQzHXzFQsGCEpEGFaG0r4AyIlJ7yWQgl9Ta4pyKz83NAqIZbAfTjsg/hvEUPHkY1UOCz/GhEa53+Dpg0mJcJ9jO9N4NZbDV5NUKEBWevzV9XGuAavGMMJvFbl/ubjx97zNPL5+4vKqIa2I800brai6S6czD2NZkMBugmsF5Tm+VCk1rkFlgj5U++7evALXMZF1JxbZFhkOU2wyrmFXX2gpXsb5j/Gq9aV1RdapaCA7bu6e9r+qarbfp5x87E2/yH5/6Uz7GTfMYnHzxzdfy9gdJ41t2EMnf7UVeQOfyJV7e9HxXAljXaW0g/mC3keFt97GvdD/DsceWvxNn5MD+rTnkrDRiZGhODa+9POLUTNdudFw5iJVZSAlT+a9VggFidoj6WEpOiLGDACTk0ZmqjI44TzJfWuYylueNhAbY7ii9Jd8PEcwrElBQ7sP8YT445QMUtgcuZsT4qGXEvMgYZN1G4u9R2NxemD/41fm5A18Og9ayzJI0eb8skHck88EzY2zVJB7VTKsCsRITK6kABwkhB62wjN1rQ5R/IMCntDdlvCpMBj0pT1PKIunvylgB6BFFuZ9WbrAfoDQJhF4xnFHtlq+sm9AbGwBct6byBkU1l6SnAbyy52cR5tmcf84o19kOlvDDYIJ9G8cA26largJhbcZVZJvj93+dbZCSY2xd6mw8dNtj9931pw/df/Hxy+sYK82qTINqglbsdiXSdhrhvD/I+0ajY9F9CDIjQwXT2mE4yCr6I+dAxfZ2H2f2fcVNYPaV1rZG36r7XBucFn207rOZyCSj+3LjtCr6fXOM8NXTOLcinwf//cLSZhoEbK7iamV3HRt8lL+vqLFt2l8/z8ux6Fu/eM8O9NwBrvp1h2Jcn7fXFMsEzBcspwiT5uX1tH9uLf1weZyVMKYZ0QO7dm2nZh7qSQGsMoTRSANrErAwHTRApgNgsVr9N49VMADPAYDFCJsDR2lAKNtzqn8TPrDMtXM2xALB5uhiD1h677kOTi4HFueRA1imj0fEQIkh50CzMz+7/5G7P3DfAyfve7KbJeNS+hTNJPLC84EbmcvxBoilyk1AXG0q06sCewabQHrXbhejJAsBM/NChM5TyyqZzEAqmVKI5BeGwESxwsUKKcv91ZWLAA1RDBa5HIgEUaY0hbIezODNmVppzcdWnXfeZO7GoSSCazKIGNlTrucEtT6XSBTVNEyVkfu4XiS+1IZOmqENywQFQY3FO4JVJrjJgavwVhUR/zV0sYLVjSYOaOT3Iutv9QZHPnns6J3veeC+ladWN1X/lBthOH1QLhpnuZxJAVYyGVg1O4EEzQnQ6umDSmAV66QAeX9mTrLrAVYNVvV8pdhRTihgu283+27HUU72sqLvZ6Xt7Lr6yAOTAGi2+vHcTHItrZixb7TpFx94YgBe5eemfdBNviiCsmB183d3YOff/RW+gM7ly7wcTFeWbg4Pbh1/vlnXaQWxfGaa/dT3FZKBj9zZ+Zv/+ft3/QDvoXZrwsFgCNmuxeH1g2F8ajhohJo8cpfUDd2ossaSi8AjJAT59kWSbsYqMnEhI44G+0ksZg2kJYpHnZjxazt4zM6uVUWaqXPBKEaz7Qj35wOUhuqP5pKcdVgnM6wRnMUsB6g8wM0Ip2CiTeRw2b7YW3voo8fv5N80wmD+OsZ6L+E7aDJNVDJkeX1JuWokNAhaP6olAswwtmXMZFwDDnb575IQdTpShxgECoOD2zdV1mEQp0ZlZDxE20NKUiYyDYW5HEECT1k50KIxQxzMTwGlCRO+oEEIJvtGkFYF9MOKnRPZsfLv8QgIqm2a6gA97SjwbMAkrgdenwUIlQx1Da2rYqkZZhOzvjjQ2alqZHUDQFnnXIgMtCJBPR9XEqH6jCsHvFRZiVW9spSm549dPP/UXafPtFe7fT2ZRuaCtlQAFEaluFgkMBOC6UslZdGgyra7FE8z8T4zyBI20wHw6gtM0oCzNDdFzjI7wd4kB27AlXlLeT+bWbhMXblxkSeVBOSExcjf5i2RfxcGGR97uoeKNhJdCzEe/OyOR/sf4dueet9fH8uuAHzyDoW3/nwHdu4wrgUCP9iGWRcYEH/3Dus6+sUf9G3+BkEGoBGKT6+kHxQduKd3hx5i357tA0TECVQsr1cty9eQEPgY2KITJbiKCXVZVbBNIYShEjsLowjxsrCFL6fLiFQwr/AV6NAoy3OGW43gO8fCF1EGmxEdpysW25DVeqyQFEg0J9uDSFwVJM1o16lm4/CXgmDpUYzDdhkmqZ2FYKEVWSBV/z33cUUStAoTq0Yq7KMy2kQpDfj9gEVQmSjC2orIIC4hFcBSZgCZtkiogGqo0/xoIspiXoGdFcBWgFAAr01xygGheXfELLbVBiGS1avhqlDT9xOpoDFUc5vc/qoG5yrsneoslWNcu26SPa2ZoUowoWEt71PJbAYTrQPkLG1U11UgkCxtUIelHf3bQWfYf+LLpx7/zG9/6Y6vfvzY4+217gAVfY854VbPqjFiMi0RYNj3nGNLG1Sap+BiJYqDVjzbMcTv5j5MdtXopxzW0ujbkLXsX/SFDstZ0Y+afZ9uB3utbFw/XsWwIv+x1Y6K1SmYavG5Mllc2gx53S1izaRd19r0M0dODx9TY9m0s61wbr/Ey59E33rHTlDWDuNaen2Gl+/l5bd3Lu1YcgmyjQHL2vjzL7Rv/5Uf2v1WPs5f5xl0MWiM9u7Zal9e3Z0pQGIHMnmcBXKugpYYTeyhIuVPqe0KoBCQ7rxlDBAriA8zW5X12bS1Mn5fUHF6Gu9k1LJS05osKnZ9BMS/UzTTDxihAR7OGHWoxC/m4OZkvsKIma4NxflYMlDMSEHHYhaQhYsMLV5kbMCvY+dFCMUHzKBgRouaSycBlcZVsbCU6TEDoYiDR+lzOoMooQJkAmDNBNuK5aGVbZVYCRQANpAmvLghTk5k4UIKnGrgyQzbK3hnoKHlJcJCmpClTf6XIQevmXIOMuwrdCifsk/ygfNq1GLMoCbGhjhPyTo5OtLL8XgU91tGcQGutYSvzCxVJrTJCCZB+4XAhqc1AKJkaSFL2qSSDJggiHaYcMou2lgli6gFQkVihZrWVu7qDIOkARurpx985tyZh89dNgIxy1fDsLhSz2XJhN9MVIXKjKJehXLTrqrELGGcoJkusuVPlbcPHuH76jKd+ryxJ6uW4+ACPtZldwEjP7PWno5kbE03A1KuLzFzb1hesDlgzb9qzW4NGyG9xnd+KolM99P39z6oxrAr4fUPeXklL2/fQR47wNX3+hQvv5iuLM2FB7eeNz83YF1vuulGfOLE9LKv7/3rY9lPf98tT/OPNw8TRo+dGb731S9r/quq37ea2YHFhe2znfZSRItsWgyXraWwBWBJMV32AVgzgp8DpyIRAC1m7dIGS3Vw5up/FSyxTAQMiYCor2G/6vGELQ1Bwm5LZ3EqrY6xDDeHkBA1ZIMZZ9BwdqO0XwWbygrTUqkJyM1dC7svZiBnM7suKn4OB2puINTc5IAmwqx3GOH+dfzHc4zm+8tzUwV5/YgeCFAYMkHmxVkL4YgDySDOQS2hEpBiBWDBRBHAE1XUMIBQFFJDj4qtkUu6JmjwShU4iiStDAAWskSlkViSxEFaYDLLThOLIJs6QU5YM5Ro8mVysYQdhLWYUCkMDFDd1FGCca1p8i+1pxmkdat3PjiZeOGfKE0oTuLJt4mkXypNkonrBTIUXEt7q4SaQR3gmv8Hxb14ePbIhfNP3X3qfPtyp4+USonYzz22tAG2agSX05MyXFraceZBBeCzBUQpag4yXuT84tmBVcuZALOqKH3vZx9YdY9BhAWcTs48XlbgA6xVKWh9gFUkVGv0hrOz8eFR1/X8avqXZ1bSR957ZUgE4PWrvHwgessdyzuQcwe4+l6gc4XAo2/n5eM7l3cseN1619tvgaTyBz5+b/eRl13TeHC2hb/Wl6sU/jU/P7xuGPfPxsNWS+FW5AJYK6UrtQYFZnws2Wg53q3FiqjM4aoHAIaMbXXnS8sA2rtP7Ekr6+JcZFthOdlhrOQCBsMbJQkmWYT689KQnFmdtAaOKj+RMf6xwm6xCsOwfPXd3cxMSS8jPxBJGFs4i7L5s3GX7Tt/9PRNh2+6dsbF9DoBEyzJNzjoBGauH0doHrqDBr+0QV96vDKcs6eYGToGBWJlSwE4akr6WlxkzcwSlbOBFJaWTIJaAaaEVRbOZQFZBt+lQjZAfZJQAG3Mkl+PZyg5CBNxHelkgEoa49dcWhd6zVHsoUeTqo9TV+MaBKiW9pSE9bNNBer3eDIGVbQZTCrg92OAKzbbLJKTF/CunaheSipSp8lgUpT04/jxO59++sQdT50DrSs2WUX98BWPn3aKNuddjnCUWckA5Lza1Nhb4M3CvtqjNUWzXYrChOBKG6tqIGt9priK258EsFoerJZWtojgtOwLfbZWyFrBMveBfGxr7rBg9vWa8SBxMr/Q2W88OtjN75WkaPmT9/X+DMauK2GMTe548+v4eYDb0T/fQRw7wNV/Mge3knRl6dP84w9NA3CddtZVvSAqcxcvjdsf7r3nba+f+4+4+r5gu5Y6hzfWg9UkjYIiMMtmYFXa1bzzYtResipm4FUA1sDAxPYi8G07DsAiC2UjKwjAPfYIKYEzuNhMLkd7NEVz7RD15zgMs9sP26m9ELICG6w8CFaAmGxZqZEwenMqwy1w7naqkxkYARPDHl69+wOPfLk5/1gry+b3IRwfCki228hDgEIiCfHhELSQKvkA2BSBJRboURlSMgEZJC20rkITSwTwpMJRIBJRWwzCUJSOlSkxIMvXDVUwl/g7lSCESUich83w/Wc0RAFK+DVPEM0Ca/YE1l7yZIlMHTsBQylsmujkwFUHDaFajGsgl7Ero/rKIFu0RBDUzJIq61bHEk3oQgMI0KsBXAFQgoSjRoCWZFzxeAEDK85FMLsqO9jE59KA9LlUpMAd9WqvdtvnjlxYfubRc5fXz212rb7DmABiAzQh2/bPYVKZL66opPk3ca6t0denT7IUz3SZWMdg2JPmdSxYLbOr48FqfcBqRaVpR1pcuR3yA1Y1FjAfYJV1MupOMjy3sDmLjYxYvtfxZ+I/2uzSp64gWPKveflI9JY7ntyBmzvAddQL7J3ezQFskwPZ4fNVCQCsAFxv5uX4FIPXP/mrY+m73n7LSf7x5kdPDS9//cubHz28m/xwzp2qjkdYkjCxrBUu7tqa31jf02fUpqZ8DCwzAazLZnpAILIzyTCs1tNFp8oKBtNEjUZHadIDtGBeTBbWSubF7M7YOHQZxNokaAWIBR/GAA1bIZK6V2oCVWFzhfMMYPmOzbFNouC8w2fuECTT1Wr5nk57n4tkdXYyjZiGnWSA8dy5NJ07T3A2EzYGh1ArPdSI6BwsBQ6SkIMIIvSvwqYIwAGkimXYsqSi2n2HBkjHrgg+BsBuBDpPWFoOck2rDk2huVZEA074bSR+QVMqlr7Fd0LgSlCawriVcgwJ2aSwxerhOn6oWFku8ekEm7AXEOAwqBe5LvStI43xKxwFYBvx53Ti8xFR8pBla2LgqtKk1qApiUqrKrUsbLJ6RY2ambPkfQaMKJ81TQ5cOUCmoJPwYPdhNx6eP3ph+al7T19YPb3eKUL8bXNgU5dqYdg8nbU2YbVYZezMOA1XP2apBJiathmBTmIimqEoTlGzb6hmS6CvrDXwMpzO+gyzJQMW+GTEmUGVjoPHpIzV4QITJA7wZtjyAdZ8DGB574absxtpQNgMuAdgqb0psa7bPfqVzzzY+ziMWVcI2wr2nN/Ky9fvQM0d4DruBYwr3PggiP7E81kRAK8cuBL03Cao/PsArxtKMrD/w3d2PvHPvnfxjWGArqm8aQibXVjc6Le39pia/AKUqo5fWTAZAVPqM3UzUxUdmYmCi+hZgn37odTkYB0Jguq0mautsslLC4w6IBY7INYC01UgFnaToUbMQRwNWH/GHjz0AMLMiI48z6mZBUzZ7ximUhqmY5z/V7UTUc2sFzjhK2ZJMuTgSRkZxIPZ0zjLnknSdCkZor1BC+3HAZ5hSgghCI9AA0+Se6xKH9YgD57S7KrMOY/lPIHifDuWByQTaYeVb0OFtAAYWkxj3rtL0Cr/lsnfAzhGkGWLSozCVLQ7rfEYieXokOPCOkvrAI6CWjFTRLCatPayv2RpkVj7nBSEAqik2eSyPiFHEKa8NU4oVNH+dcAuOATUMaghMn0rWJtNDMKxmq0ZfUQySOKLT61deubR8yvPHLmwkbPRRhAVcaChCWZZiVFlJRgpVpUYK1vBuoDY+Zs+Duw5xa0+5cC1AqziEWDVZerxOFCLWBUANc67lD3LA0blUo7r+VreP/FsiwtHZozGA91oZqMbhdn+Udef9/Wdux8b/FcYq64gLAIxIx+M3nLHiR2ouQNcR5/Qwa1+urL0Sf7xHz/fwFW/pp11VQMDeLvu6g4YevCp4R+8/hXN3xj1+yiie2bnNy/3OrsjN0Wq2YGxIqlUAaKIT4OK8sCpPDLIoEhUJL71e935KgBbBFqNYFHHaWENEJsTupZe1SbTPNvpz0EKhuIR6s8SlEUIFW42pcpJ4CmgIdP9vgCaDJuHZRrkKh4H5zINnA/CjMkwYGYolFkR2cxxCQ2BQer0Gnygx+t4mz0VtdhCax4doCk+xH/XlABUpYjVLgJ5ulgpFYBCRGgLBy2NUPmrarbVWObP2VlSKOYAHAHjykGbBrSaN9Zwg1LF1wJ4ZcXSco37WfrYshqzxoCoc61xHAEOa7K0OthMoK8JGUesZAyTyh6Q1AXLbFM1LKSiULoE1LHDihr1As0EcG3wqzv5uTCV5i2Ns/T8seULZ4+uXDp/YmWzuCeYjVhRyV/VyAZVjrLEJu4ydZdVjKLMjOX9u/wCNDYgDWi1pTTguQWrnjr5A6asYCs0GRC2tmflBjJ+7wRcFfeRA/7d7Yi6UCTa6jUayb5x1//MpfT9x84kD14pOCS5403fw9/ewMsv7MDMHeA66etDvPwpB7DzHMh2nue6GBbx0/t6z8eOpv/0+28Fl4Gbvvjo4MkbDkef3LdA3pp3RHzkzBxxYbOZ7svo1sVhb2nGC0SL7owVs3Bc7TKvGUxSAFis8KVKsYp9bCm4BBkzc0dq4LHiGjlA2mDUXJ+uD2JlIEaA4iZhw5ZWCWgQbg6wDBWRHMwAoPonGWPaER2zSupYniMzxhmmtRQijSwFP3Y0SEhWnAtGwz7rcPzUOfrZZ06unuwc2PPipf1Jn82SeTRveb4yg0ll8t/CfB68YlnM7w4DnKLCAlIl38mBLUgT4OCUDI0WKMV6SMAKt5yQ0jak1GBSgESkvIAI5/IajCtIH8RtPiEXGCrpRC2HAAnea3UJAuzxdo5rAFfhrxpOnDlKAolGLcYV7mfwCkY1A9qEVGDC8++3417vYr+78vT66om7Tl6gCaX6dg98jv4lc3zmKFeNZAHF7WKdkybGSzMOo0fHbmdm7YPweeBcFwlDubIzm0e36gWUIwHq6CQFXsA6mTsALu0TI8NzewRgxQg5q0l+wConVnz63BzsHXf9uwP26G13d98HY9QVAlrh4f53vPxh9OY7nn6+6zPNCZF2gKv9AlssyIDygwBgn8+KHJdyAXwlsK68Y1j/me+/dZ1/3PuXd3Y/8q7vXPhaPvYdGrXNTGt4kNL2SjJYmKlgMPMcoMwyOaoIpKLMdiIwggLG2WlR5mblMjWqtkdWLjdgqBLQekCs8TcbCJcCx40vQDpAcZhissWQz8tQedYyVg4tZgWDITGtOjGKc0VGGf1raKm8BoTNORE4GMcpofnfND3NC9iPAVG7/MTGpYtPblyGo0StYXNhb2P3wt7m3rm9wR6OZwLBqGIVgMU0q9dEWToo2FNmugWVUjLkAUCSCSxsspDndDIWiEE9aABonry7gv2L5WhaI5hJgUMhu6WTAVdgJwVcH8W4ukwxfhb2XiqgiYY1TfvhfGoyrkL+USN0DDeiCa2tmAHCG2qpxPMryujGSmfz0tmty+efWFvdXOn0DON9hLW9RTE98wI451nyBAehUlYrc0NnKoXzxNXFb7H7zAO7muEWry/R60ATBln5wbdvO+JIk3xg1XU1IZW6Vs/2jBnAnmJTGIx9x2Y2XW2xrc52WnbBSL/XaHX3GMSOnjRYN1LGUPee48P/xMemtSsIf7yLF7D0+rc73OgOcJ38pKS7wAf4x596voHrlcS6qhfMEBe3exTdc2Lwe998SwuiIkeOfLMz/QMdSi7RZG62AvhhMzsicwjZQrPKrFB7jXiwJl0dFpWWxyfmYz8sEMvszh4bEBMWI30m3ca5oElALGX2ICLhJmFgVMpIrnUrBUtoPauJZ5T/qg6Ty9WsmOHyOTrjn1hu54A1UP5VSUbMoC4dA4YpIxKLMh1MJ3eVDNhw/dzw4vr5wUVCtsni/tbSrsPzexYPze0Nd0WzEsSqLEjDEBXL/eacpbDE0t8HOnI/j9rzPC1milhgdgXjWuMuJhIcggXS5EBP6mKFXjeelNUMJSioAG6sgnLVwHVyNljVrU7mqBAi8Rv10qTydiZ1WFrNuOK6FmJEGheq17CfDtYudldXTm+vXnh6Yz2NczGvneWpjLKQ47yMSw8CswCUjyE1AkYZNpeMnGbAnlSn+ccUNwYZbsTSGEoFWY4Gq6OYVZfq9QdalZheVLV/bzCpC3hRKWGBWFrxA1bk18fiivqQfD47GDZa7cVJ7pWTy8mfHD0d33elYI/kS29a5I33fwJojd58x/OuxwW2dQe4Xlmv9/HySxzAXs+B7KkpYF1B60r4ZzrNjfbHHzua/A8/cCu01yvue3x45vqD0Uev2Re8U/XosPKasTIIZzOz3f39Lr5M09lZ7LF5UUE27nhSAFiGc10ZZYUPKrbTBiJbveoHj2Xt7IjlfdOSyxwcjJ271lqjmFjKHBrHBM0AHyG6GDd6IRrMYpaFLB8jFPLWjITND7tAqBRw5g4g2vKUyEAukmUBlbC0GJh1PYVVjhbXygxYjFEqTWe1HpkyurXS39hc6UFn/HRrvtHcfd3irutJ85rm3OyiXOwM1AUi5fEyp8LBpqqp/EID4+xtipmVgF5LBG9NLr2UYBfXBK6whI3Z5AFQAPIIBKcROppldNCPBK50cuCq7KDE0v+kL8GGR9K8f9JNoqieEwHciFCvOhpfJvXN25fa3SfuvXj20jOdja31Xs9iOTH2ePprhpAhU4/qc0E2l/kL/9gyksPWTEsnHWCGIL0sBiAuLhaygFYP0rcargPYYyE1sQygBApxCax6Qe7o/TMTlPq3sYAmNoKzRoNVt319AFr0SSQehq2tGaMG2HwszLnGVpfe/TcP9D8EY9IVhDt+nZdNXv5gWir0QpMJvKCBKwerRzhofYh//Fle/vfnuz4KvJJbbroRH5tyycC7bzt6mYNXEMzv/cu7up/+me9aeOVME78y75A84jTofVqznX2DHlpjHLxaLgLSwkkOOQx5BxpmrOUHEIaOmTqQXMwOCEdeYpzHKiGOSEvACna07Anr4gYreMphRUsguMKmZhyIJY5nE7UMyMVCGN85YQma7RKcNEI6bFmDAs7XI2WsFWMl30bKzHAs+7wcdkdIylKKqRhJWW79ioyILuVckLv3SB5WJTnPnR4wQqa1Z7+bDAcn1laWj6+vQP0OvaS11Ny3t7Xvhv279r54965wqdEqhCFGUgKcCeaQjGDpfA8HBuawhoepWI7m26C0RrpTANIAdutsA8BVZFhP/DVnnq81cKU1zwfqVgO4CmsrsDer40sLuuAaDKpIUAbXZoxUIEto0ovT4VMn1s+tX764tbZ8f4dPhnRGXxV9iRwHAGYvSCAnRqg6OMpczrfQE3YVBIVtcs6kYoxLjGzRP9i9V4Yaw4wollUDW9E1ZVi7YjxbsFoCrKMZ2fGOAxMAVhWYRmQ3RAU5LvpkIoXqTEXcYoOHwHkCFLtvtPpFyBKN4gFpbDYYKltQuAR/krKLn/tq/7/CWHQFsa3/gL/9PC9vj958Z4x2XjvA9Vm+fpeXf5+u7P7N8OBGfwrqQxUdNfWp6ngHBJKBXRll+FP39/7w7d849xu8c1nKO6Es79qZwcCy5kxnz7CHN1E20yoxngZYLDkEYLBJl+mYSAhWflQqKQmAL4xbYV+4FwCo5LiWj3mEwhI3/DsV74S5ANSWIZQ6aotRrQax7naGP2wZxFq/pYY7gWY2zSAHyqI4IWESsGGLoKSht2cFVYtVup2CVzKywxappLBlucaKQRtTZZeltLxGcJxNbeLc+hWD/U8uxyhst3I3Km1pJo9D5Kxh+2K31z093Hz6vmVIa8iWDjRmXvX67RuHzYv9xX2tpfm5aEG48TIJ2gQIUxmaNLZjzOHCTCYQnAsYmxxQ6WCmqIYuVmlCUVID6Al2MpQ3WB1P1kajFnDFCoiToF7dAlj6J3UYV+kSMfnSP+bXpgR0Wa+Tdra3063N9WRz/dJwi5BZ9rJXzBx48pH1czaIKq8AeIAPxl7gp9EW0+DJBkO2J7R6JuxALWNH2H56UKHIx46Plqh1kGW41VeOAXZSk2ITrFdxqpbPVX9DqsDlSAcCVO0YMEL7WmpfGfjKUBCwACMA3PDvDOyicSgFz6gVpg0dHgp9reh7kSoylXapXsSwyqI4HuJwM+LHCVw6AFQ9xuWHqX96/xPD37u0mR27gkArXIHf4eU2Dlpvn4Y6vVBlAlcDcP0LXv5vXmCp+33TwLrectON6JabbyTHjk+3ZOCPPno0/tkfvBUSE3zNudV0++Gnh7//dTc2fs3sbDK/RI81ZtoLwz7bALtXPTZrVhC7IJLjwABBtDvvKHGGA5yKzwBkoeME4Ap+Q3PN/gxVwDWjOMsodJ588MjCjPe3NOMllZ0pynGfh8n0g1GbUXVMtgvHAongiLFPOoosJMwGsUjRnsUgJxc6U9waYBQlIR3MQKx9zmYwBV5RPjNgeg2VFTug2AgakQO0RKGUFqMpwcoX1oTnjOVq1wLAIsstSJkZsGJWoA5GkKFFFQBZzjTUnrrbg7i7ttV76O4jYnmBhJjsvXZxft+h2V0vbcxes7B/aQbQGCuxkr4ocSxAG2MMITQpcFXbxJMTH8LaCrYZ1tGRckAdRAjDcSqno6x8PkIqUNOTFZbko7qMa6OeLrbZUMFzk0oFEEqHMRtstuMzT/ef2dhIttZXk+00saPb9uydnSlfYYYtkOm5vI6mtCIiHvmWcbDLOFrLFthwerKOgT06TUPxCXN2/rxy4Jqa50BQmTk1s2qVA0CZuSxuM44TglWznuaqk28fxEbVhWkfYUEA7DDvcwOSBgRnov8NCAXWFUdBE+wf8Gw0bMnJJe93qSYOAuiDeXceZIx/5n8TPjAmYBXyKBYPULAJ9huBbw7nfnd6Jf3gI6fiO2EMuoKwBgRk3czLj01TpV6IMoEXPHAND24N0pWlP+Eff3EagKvJunLwijl4neqbinccKxy8gmRgz12PDZ7cv4t86Lq94Q+bnWZFYDRutDq7eXcFTMucZjzdzoqIWX2GREeJ0yAkCQmCjL/TADpOWJ6CSHbMGnh+Jp4DcMRHDYi34cA1yOIsTTOSZikNoVCShSnfm+xMneAoR0rgZVRLelgHxJIRIFYYN7oSAmyDWMyQko0CXLf9ZnnHnyVkrkNQ3AhY3FIBEXlGLHUeFqBWYSkkl24o3wEAv/I8Lf2uhp758qzOz8Xccy5WS1m+oMrsirhaVLi+lKpYDj2eyxpIdjlj9PLZrW0ox+5dPiscoRokWNrTmF9aiubn58nC7AxbnGmieR86lVKBelH4wATSRj3GNeDHoWD0X4PVFOxx2kc13PSljKFWMgEi2dOgHnAFprpWAgJgwxuVmbDYYMB6vT5tt7vpdnubtjc2O534tk8lGJmG/v7pBTwfpGSvasRTEv+sRGdX8kUaYSNpQP48MStJtEf/mq8juJQu9uZSVcIaDuOSDDeGGvKSChCZP6xSts98YBU9B2DVBebufgiq3n8A+JJQRRSkIfS9Ie97oyANRb8LgJaXRhA0YNv5VjIH0uSMYljpoqnoh4MsA/KARigT2R8CDGCWSQpcHC+D1GjBFoBgMglo3ezQL3/2od4nYOy5gtjWFyHpIPCvo2+588JUsK033YjRCxKyXh2MK7x+n5dfTi/ufnN4aOOO57syoG/loFWHW0+/ZAAhyAsNKevCv7q7d/uPf9v8SxZnyRv0OAWqTQ4oskIJWTwuYbO9mMZsG2dz84belRIRBCSlAXy2T3inyTvJhERBFkIJQxaGAQvku7BqxAtzeI73mLzDpFmSYo5YWRokJEkwS0mGUtmW4OuEOUQCejEn80bIAEqBVObHcSDWZmktBqUEYvW6YS4TcAc9mgsEIn56YRrQpAEgVh+VWpJWhSiN/A4FdaOy4JYtb0x4WwLw+qfMSiaJ8pSVpbvCcF+QbgQitI4ULq9S9oiLNii1XRrTbPXicOsyL/q8YCeLC2RubhbNzc7w0sRzs/N4PojC+VL6hpGojQiwS3Rq1QnBIQFJQlDPPgoBEzqoAQ6xSnma1Vj2V96nOApq9O5hbVcBAPtwTnGC+ltbqN0bsm6vz7qdLuq2O0k3TWWfZS1Te3AbLjOQRC2JG2Qus9jNKls6bOY0sQKpjEcUs0rkXFop1ysNejuzDvbToGoJgLU5IEV+MFxV32I/0AXI7MyVQG1Uilc0ue9rVRpWhtyofiPBApErW9D3RiTh/WwKfS8HriyMIso/o5DPkcJmgzVhk4U5NpdRRKHfTVOaceDK+2AKBadwHQSZICT9ENEgcqdQNOxSsgn+EYHZpxC7XjnbPYjZyb++t/tBNeZcSS+QJD7Kyx/usK07wPW5Yl3PpSu7ISEBLHPfMQ11ApkAB6/hrTffSI5OuWTgDz96dPhzPyhcBl4O/77tru77f+Qt84cbIX6Rw6QIT1SXoQmizkLK6BZhC0uS+dREA0N6WUouU9EgDKgArY2IRVHIYUcDR80GieJ+OlxcjBbSJEuHMY2DGCXDBKg9Gd2RcdwciOgurbkSGU9lBlUHjI4MyBod1GUBUa8fTvEDCylooWvukOAMQiJ4zdLGYgQBHxSFKWFxE7MkMmy7clswhg2HSqYsCVAhJdBig3wN1GDIsXESWmQomVm5M4NTxSIQrmKNXiNVmdA8bzeZqUtkjPSkxJTnqMWEAr3obK6w3dYW7XLQ1C0SGVB031f/mhy8bn4X7ZBwphG1mhGd4YPqjHxHM65ZvPBxBeDaqANcpVSg3nJ8JIBrFauJc48xi/ETzC7LavipB8raqmZwFmk0vVIBuDH4DGkQJ6Q/VKU3wN1Tf/xldvFsZyMZZJkxzfECUly5Su/3LJVaSg0ZGfat3GCfma9Mu1FOKuDqGXDRvp65lmWrn7sHeEGevvPClJLmAHSspBp8VnjIMjLR7yd0BCixqxMHZ5lAVgmPYF4tkjdQAoXw04NVrohw0BqyiN/OjWaEoqhBGhAUS0gQzC+Ec0lC03hI45igBCfS3YGBBwwCxJqJ1M4Bo5ADBsd00KbBVsO9RATLZDbu5UkztHX7w/13c/D6BIw5Vw7b+s0/zt++kZc3RN9y51QARcG2vtBxHbo6Xr/Fy0Ppxd2vCQ9tPDwldYKBIeDglR2dcskA70iWf+6HboVc0rt7MUs/91D/d7/r62f/V0LQLpOZAx1lZixaK0EkI1FvMUvodoCWFs2hQ9nFEBUcgI0si0KmKRNNSbqI964Eiw5X/c0IfFCatTzAQvk9Yjd4ygGjDvgcCWK9aV19TCxyjqkcAPSgS0qDlycBQkGmEEZxa8DR1FBk3mJpaNbWIl2wEBxjzcUqDCn4DxsCmACeGXEoeU4uNw4eMzfRgR27pjbCVtZezS7bA2fZQYwxJ02wexgF+rIkYxdObW0Y3ZZ1XjNN1Jxr0ZmZFmvNtPDMnka80Frb2MUSPsamiMFgPAlwDTjQq8O4CocEAIeVrKbHVkCxwXzeNjkIBeDKEXqeKnbMK81wnAxi3Lu8hjZXh9uX1hpbgwQP+0MOUHnh74OSNzG09KVNxaKqK2cgyipwWjWHczw8VSweK4NdjaeYMQFy29ABmnqChpENggtQ69YVj9TJFq4DMEsLMg5Yh5C2meBquyij7yjrVWV/hivA6kQyAA9YrUrUNTIdrMPI5oFj8meskOISad+ldFzCW0B2wcIOWmhe+XfEAOXW5EV6hiAcs147I50oT5YoYzAJVkFYbvV5Hxk/8NTwD5Y3srMw1lxBoPXF/O0/8PIbHLQ+PU11O3HiqRewUOAqAa7hwY1jHLRCNq1f5eXHp4R1ZRy0AtsKo+SVkMrucV6+Aer7zGq6dc/jg999w02tX+G9T9PpMCX5aj82jISDuTTNNiO2Z49cShddHehRwVEAZu4oowwiArI01dpMButSaTBIRUcJS1FZyjIORJI0RSBwzUBzBUtTKI90lV0xc+gYE8S6AzYrde4lEIt8INY3oLu9BXHCjtTyITHYWOrsgLnWMHBeFM/0+U8DQoe8vSGIws5qLs/PGp+YOlH7S9eD1oDAyggrH9UkY+1KCnLdrOF2KbheM++QVrdarBg2wX5++qaTArJS/5LiTAxqrtTyDO6ewRABKBuiLfXtGf7hy3dpulIM5K0maszOsCZ/54U1GhGOogaO+HsI73sPZPNRmrYoFQm3RAbY8cA1kiC0juWUDjabELhCe2UZ//+An2B3mGx1w20OTBNRKE5AOpNkJB7GeDhMSDyIyRD04Oj4caPxmhqQmgAG+VbI9Y2CUUUCLWyDIIT90LZsgM+K5FS4HI1nRkiVj8eQN8OqXzupM3VYv3X0oB62mGSMNIYMstwhJ5irAqhqFtFlVRUA966w/PcGq6ofMiaNcs4v3QEC/k4ZP3HoRWmaoQwIAuF6xXvXJKaxSlGN4B6Ev/OScmSfpZRQGSQrg7WgP+9n3bUMDVp6IYYQPwFu3t6Pn0ved+xMfEaNMVcGaL3zm3nDoT/mHx/k5fempV5XA9t6NTGu8AJ3gTs4gP034aGN49NQIZAJgFzg1ptvCI4ePznVetc//Mujw5//oUIycOx0fGFxhrz7lS9p/IIGHozlMEOMzYFwzWL59yRI5uNsbbPBdi+JECIUAFFHUymIEilPGe8toRMFHVUc0FSkKjXYTuEoIAIDCOissiQLeCcaQoAApTTkACooCBdfSlmn//eA2Ik1sS4IHKeL1QO3HTTllxU4gFsPP5QGM31EKSFs2OQYP0TMHtxNmOcj/xj2IyNsxljn4NEUA9rDLvbgdGxmKZcQCRtgtWjfYpDNZQ8WvEGmRac3/4/pEJHnSBhJMfA/DgcohsL/0S7Oz3jd/wT/zxPWd2GAwU2KkAALJQEhHKIGWL+T+a8eaQaNgAzbwyQdxBnGCBe57jG+4eWt/XPz/cVjj1w8mSb8yvHZF8MdNPfoV5rweWsZ9yE5BL+wHCzDPSwSyMFEgMnPWHxGRy8hdNvnVRMsVKQcs4AKrroNPEwp8kAv416viMA0njGM/NO5nGEF92LXkB97sXDJ8cNyC7XC4plXa4pNYIzdxFL6OcxlMlCzjGEJWI3JtwlUPVIIx/6q9JRQa8Xh2WpW3W3xKKlBGSB6U8oy0dXCjDlgEFSFqTgiwFGhvuJ9K01SloUBS8SKmGp1OaHDFOIIUhoAcM1EICyLGKRj3s7aqxQlDTWbIBhX5Ckzvju/mt5274nBMf7HU3/wl1eORIC/fgVwIi+vnxaJgG7TE1Oe5GgHuNY50UMb93LQ+rf847+aFtZVvQCwhq+65QZ25NjJqb7heMdy/uelZEBIBL5yfHC81cD/3w2Hwp8YzTCJTktk3cI4nRmy1XYD75nFLATkKjRRkI6UQpoBgKQ0E0FbOGPYHDQEyhUDuQCuMNjz91BaYVHoQAPp7ep2lA4yrYrv8QFRB3hWjQsqmt+yv/IsEZJiAR2VUy8qIIvRCDpGgBjCzx3N9HlrBJgNG4hmIS6cu6RKwm0Epv1yEfZlWFWDuTaGlZVXKJqVT50ZA2xhIqA8YOW+KNYsWxnUIhdlWx5fzPJ5YBVknlIZYA9u9kIs5p60V57gYowsA+KJP6MJ8+599fJGZ9S9v+9gNh81spnl84PtNDXSa13csHj4kc+Pk91JL51PMIaV6oyrQUTpe5njnllUqCUdKDzZsNH4PvhU3AsYu3OeIpuT+Yhi3+3PkOFhjHAVYal3QsonV0gV4AYI+Tw4ihEJrYCzcUDVuGNHgE2GsY27nd+z0YFaNZIWWA60qDpQi1jdFVEpsyFLAoBYwgFrSlMcwDQqAMcBkjCiJFzKVUTwC1TYXjEAvbLPzfiEeittrzKURgqtTsT6rW5nt9/+cP9O/nETxpYriG19HX/733j5mehbvnxhWup180034he0PuAqZVzh9Ru83Jku735NeHg6tK5HhWTgBg1eEw5ep/re470SLOe8DqnVpy8+2r+v1ZidP7QreHsFsrOiagVwIrQR07VBhHbxfzZnGeUDBwetFGAp2CQysAQF1YDIUpqPEFREAoiYWGF5JZIRCA9XaYKtFhNxKbDK7MDNR9vVso4GsWW2FbPKEC3MvGSn0Ivl2cdKZpklIIs8QLYAPxjA+8wABbytaNKAIC5jGGWmqNXPv+aOB9gmpqXHKzZljmX3BWY5ClFpGGSEiAMriVGJgWbYBDjuDcK0oZaZP6wgkZkz/8AjacdSu+YKXzYa+DEPLMDVF2okdGS40HOjyV39Jz2Ud58Y+VN2ednNCoqeFQv04jMtTw8wKtOtHhsqLG115bQNORGT2Jd3wD4UNqCtmczEE9hkVSc3ZTIQnUxiGiYUN2Kdp9dd9SgxoAgh7DO2HSkBYOVrXs5i9exkAM6+PDi2KlCr9JIT/TALaRDwduEglH8DxnZUuCLIjCFYP5WwM5g0qwBY/ouE0mE73dri3VLDupQVE5lAKGcR3u7R+z77YO/Tan3nSpII7OZv7+XlAxy03jZtw3OdvmkHuF45rOsD6cXdn1Cs6zumpV5Hj5+kHLRSdT2mOi/zf/vI0f4/e4dITHCj/u5vHuh9/m2vm53btxh8B2VCgJ+NGWtBps9Hjw0+a1/YauC5JbE6yoiCQyJYi1oDNy22zhj8H6s8sToSQiU3YE4nXwKx2MKtk4BYzdA5INYPyNS+THaDstyQXAdC4BKnIzWqxj6ZqxrQQNYeZEEgzAcTJKKfG0MOYCOUcRBb5GXM7QU8i+4MmbksLYBq+gvZLBwqfDWLaC5sslVYBWuIlF6umpG5u9U7KoSyuqbURczYIIgLW7ARAMzuyZnBoo/s49lkYBaNZ0uxsoHCNogfe7iJQK0JVEx2lY0dycxsT3jkSTEDxGEfe2uDJY9GtTiWmXzDZEH955arFdxcsMpPw8u0usC8EPPyE4kSSqKkuBBmMpG/K1C1Gc18xWEEWMXle+U5B6tuvaykD7kkgiCRTAYH8vmFTjyXmBvrHyKHtEq3zb+Ks7jTS7f4BICFpYS97jNggPjOgB791P3dDysXmpMwplwZoPWNUP938wLLJb82TXW7WWlbX+hBWVcr4wqv3+Tl3nR59xvDwxt3TUuljhw7mXLwGvESwucpZ10hbWMuGYDXJ+/vfeL7Xjfb2DUfvEkHaBljsvYRLVJcSz8klqF2o0/jtdlw136ZpEBCUNNayyNezDMwCi8Wkx0qsaLlFLPIqMwkTOwodwLfCOS6gmHDj8qneWOeBVY/xvFKC2yNLGkkiBdhoQUgltGgaieMeaJdNJVsgDtcEjUUXrLYqIuVNhMzrBWEOK+rghC41ETylsDIQbbYx7ZibZcwFtG531u2XmwUUYEnR5ZsPAGiGhP7Fca1gSry0VqY4mexAx/j6WVdifMwj2d/GXYZUewPVEJeiIhMDa0nr7Kn3j7tLsyAwYcVEdCvYuYJ0sqfzbpA1QWJzALAEqTXD8waBVadCYWtkxkBepkz1zU0vCUgLecXkE8EF7IiMeeHJTBNDHTjzlpMOwEqpAH2JEiYEUjAau6+O6CP/c2DvQ+o/UAo5bkrCDv8L7yAh/m3RG/68mCHbX3+XgRdZa/w0AYYBb+fl99Kl/dOWwQeAFbyD265IZjmNvz9Dx+FB+SEyYMq8HrbZpdakwG1NFQKeDBHR4qGrU6yelmmElIplww7JWwk/s472zz7FiK6YEUgapjl7MMJlrActMzc4jhPy4qL4A9rW6c+1rbe3+esFdY4xir2LjFyK5jvx91Q24gZBSldMASaQCBXMNNDwDIVB3Lb1d4lkUN9URfJFJoZhvS2RHuSefajA3E0c4Vzxq18dqxIyiBKIN6ZKlgVtWyZo50iYhtjNP5/CgR420z5WmpLNlmYUfz30fjCRN53Uuz72RSzHrpuRr1pEfCE6/0P9h8Y7V4UptjyvO0VOC7aWj8h7v5U0UZKGGtgk9e7uNFJxTNkoCCsZQb536SI0lSLO8+1vv+DDAWtAQtmezgIU7PdfM9S5TM34tnOrfmMUoBGZk1SnX0gNx1s0bbMKqVt3Vva7pfctsj7QrOf9NgH+uui+mIBWglm+p7e7K9fHGQdI39eDojFpSMVfX1/yE5+9qu9D8SpyHUMY8cJNZZM/Sv+8hu/nb/9H7z8cw5ap8r6SrOtx68StvWqBK7q9eu8fA0vPzJNlVL6VgCv4WtuvWGqrw3vcHoQCWp2rECGfOq+7kc3O/Ruh+yRHaRaMDUiTvPQD4azZidb205Z3CvYHhs4IuYAPKcDdkBsAeJGgljf4FABYuXAS3TxYkkHhLpAxi2+uum0sLoo9oaYRRldecCtcwyIriGNIQoBwDZiedCK4+oBV4EDEzTIuK6iTbWtl2R8TXCmz4sVQMIGMcTTZnlLWxZCHogES5gFsCpKgJBVzPbDI66/B4gQFUlNCgBWdf0891PpmuTiQB/AG3F/uEAQEaNu/u1lh46rSrmNjOX7ohDkaXvfvUJ8wFHWvwBzehIK6exEMlDrvsk/e86HqOcHWddPyU+K59S8JwGvRgmKOFgNm0MMEUYVoJ55nilfm+Hqc9TPb0UfkFX0AcjqQ0Q/4k6UR/VHqHoCZAJ30U4mWHUm/FV9lK/vJeohgkRZa93VFd5HR0b/QXQfwZDlFGKRQoOYPX37w733DmOWqeOegjHkCgGtN/C39/DyOxy0/tUUglZ8/CpwErjqgWt4eANMjv8jL7+ZLu+dmTLwCjcgzEgjDl6n3ZPtLC/b5hewxP/p+7sf3ehk94y9+XDecRLZ1zHSyzbjXtJZ9836y530SBBrBIRMCmLHDBqsuj7VrIe5v3xhFCPLANyuX4kZQ+MAcX48XymYriBMOYDtYygkVANI7isrStFeBhjCrnWnXTCTSQqIS1Ji5QvLtLOuAWbscybqMKCPFkX/GxtEoM52oBJbuFyXVXTdVEpa/OwLI0UxiGCdFcz+rWSrjZLfJ9JyASvPt6rjGfu3jjtxfVUb+duiVIpqGYSr/n3pGqhUdKV7tvR86QkXzUlVNWthOHcYYPY9JCTdFoAv7jucT5qo0gvruqn7Gu7lsDXAkZycGavWxT2Kx08yKyeD5XN06o48k99iAuLrF8x+BHm3H/2sjwCreXH7kir2eFS/ppA16sX9rY3+2ibDWThmBc1ev+YbK9D6vv6Q6fiNbTV2XAmgdZ6//Rkv9/Lyb6ewileVROBqZ1zh9Z/U+69OW8UekRpXuBkb09yAv/fho9BbHsd56LQsUPHPPgiygexu4eeK3biJcggH1qAJQ3Ral2wO11eZtBQoQJnNfHoBIiqvp2GTdbAHoDHLt3ZH7zJraAJJQWl/owYW5GH1KgGyR14gGG2jmADEKhxi4qARY8FM8QGfBBkp+j7FglHNsBIbVPjZUn2NLGYMF5l3cAGCSmCbGEvqAS6xt8KSSaF8YgZ64HFL8O4E5lkv1fsKm4iBNSZnY9n36mOhZyVXmOy8C+Zf/j6/FrLdiyK+R2OAlPW8EGvWV8gAJItXqhtjmslHxGb0hZkGzuUSIl00yVDQHKJwts/fYz4rYznYdp4DbfTrfWZ8KzDuM4hHT4z9bcys6+ZZuZl4pca3hD+CWcWTgNVSnVBVf8rQxmDzYjveiqkZIesHUEgmHBDGf+I57Q3oic99tfenHLymav9izPi9K0AiEN/1RlDS/JFSL/1s9Ka7pspr/ZaCbd0BrlcR69pToPWX0wt7Xz6FVRSz06+99YapBq+/+xdHwcfylPs9MK9/80DvY5e3sr+1OkwiOrTRU0gMutc42OhfXouzuJcvGVo6Vz9g9GhF8+IunTnZg0YDzzLViMdICny6WlfjVwayZaZoMhDj+1nFmrF1DBxQFLSGsLxKgijmG2Uk11VSrI3jq0qxjIxlJgA9tJOcisVmNJpngC5VnJTPFWkAq4oCV7oerFT8k4IJ9bD2/4in2ELDkS83As5s+4mPR+roViVgLwMw4i0m+GKj7rVi5jESX1u+pYV/K8mFQSWg59TBq0GWz0IAE66ET7j6KOT3LDCtBPvubzTpKoXvBHyrFh6gOlqrijI8gQRg4v7H/b1HBuCmQpsErLoXzqpfStPhpe7q+UHW95J6CqAW8h8H0LYH9Ojtj/Q/mEhNq36dUmPGlfD6d0haP/5o45vv2ppS/HZVSQRy/HYVM64cvK7dli7vfRf/+Nu8vG2a6vbw0ZPsNbfeEPOPTQ5eo68ePTnNNlmneTnAy4L7h9sf7n32TbfM9A7uCd7qyAQIpKUkhCGqXI+Ybe/IezsabA83ho1gprfUXIT9M1qa74/wZTX+RD0Mr4MvTLurka4CzEmnTsu+Uaxs+4ML4IbBxRtVpxsyjlv6mnlD3ktWXqzCYJ9VJGAQrgAkSjEvMhFtGjAKmbky4ovC1tsQJ+GnYwqPcyMdj6279/w8bUGZx0l/rA1VOWMCHo0vzV2PTsLF8Mjc9c6viQFIPefJRt8EFVi46rfYPl886S4990bltq4dnO8VYNuvlSg2lWDb5L/iIEYtwOoNgquCVIgt3d9U3M9V9cOe5wlNsj0u9zrlVK/MjeS3sksoSnhiV4FRSQiYp05kZP39aWSZu526S7f63bVu0h4IEpVoD27s0cP6X5vd7N4vHet/ErJtmVhWjRVT/4rveuPP8ref5uX7OWh9atrqd8vNN4pFsquRbb3qgat6/QteHkwv7H1HeM3aR6YNvH6tAq9f96ob0ENHphO88hk0+5/e+arH+MfX+4aBu44N7nrdK1r9a/YFP4BcnyNW+IEquQCjMlJC4ME0Y2iQ9vAwjVf2zu7eFeCgUdV5sxEgljh+rsgGuNZvKSuPYtUox9438nATTANZxXiUbKh0jfFol3taNcgyP21dOgBlVUDEOTb/GEQZ5kXmHk0DkZ2LZYGVAcDyVTVAgBSpErlKi4jZyEV2LGm3g0Za5wo72xwgMK8xv68ly6CdjcOGtg0q9qHLIl3t5GOFYDXlexnojAJULkitCW6xBWDGnb1rl4Qnqp/PuD8/BGOW7ZQKLJMSHZ3VqrifbQBGAvAUzTBYWDmN7bekwhXVYGO9WJEPgFYDXzzuwSsmCxTnWt8R+y0n4GKuB+uYDF0jEgxY7T8i2QEx/aNTutLeXElpDOmzkLGa4z9N44MMisVoo5196a7HBp9HUoxsPlmP/Ze/OHIFSAS+6XuR1LP+IgetX5lC0Krb/apkW91J2tXKuoKZ/n9AYI91Ye+eaavfV4+KYC0ArxEHr1M70eAdEsymT1X9/b7HBw89dT75U959xbm7wBiBvwzxltpGDmHJ5e5qux1313RHW7XUlnfaEy6JjdKv6cHEDu6ybXQmDfAi+mdERTKpYowlTlBVaUkVuaVU/4qAElEq1/url3xF5BwHsCRqDUljtheE/F3YC4kM58hcMDdTbGLkaj8BwBX2TcUpMG/Rbg9mWD/xlnHtoaUbrCLqPz8LVFlU4JOtVsix6Ghpas44j/iNDMgqBSyNrVeF5MDWrrKR7UXUOq9Z3GtB8uvhXCelfS1bsmmLLuwuXxf3SWELR+Q9FmYkbMZBY7YPumt+z6UYe+5Nz/1bdb9XPRu+e8Yn7XFb3PfcVl9TOsIez+k/nDpPGmA1UkLljwMoCsFYF12HzrC3dW7z8sU4G4oLPKJfRqabgOEqwC6spX8tQWvpdUqNEdMOWsGnFXSt/0/jjXf9xRTjNnbsKmVbdxjX4vXveQE28Ld4+ZkpBK8ZB62CeX3tq25gDxw5mU1jI/LeCyYBB3mZ9/392Jn4qe6AvvvWlzZ+kveX86oTFFZLajkeFqwFIMpUsgJpes2UQo6xdtxm/WRwcd/c7r0BH928TKKThMDJamXTBy5bam/rZsiiJiPC/MTmKDILe1kjzMaSO6UkCCjPEjbmkOaplRko0F5U7MMjNQAmNuBbBBkOxcaE0SxgLAtAUqCXmhlVjq1aBetQazIr2GjqDxfR74xUtFBxEXR7YIZxRTsyJ6MUttFUSYEhkyRMMjCMvgNUfKEGrxPvgXiT9NoL+c4O7Ry8xc2pjPH9t2oFcV1i/qpq7WXyjMQIJAersg10oBRYVRFgVXkBnXV5vaCCgWbWBGlcS/rus8mlBaws08Hj2fIiyMuZTNsEvvl7MuosMBqbUQuNYFaxwaw6x5XnR3kPe7G9dX6QDEQfQQI5KTXsrtzsV1bSAvXsJKeWk488fi55ytOWnVGkxrS8kru/6ZX89vog//h+Dlr/32mso5AI8PY+dvypDF3Fr6uecRXo/Zo1WIL/OV7ekV7Y+93TWMeHjginAQCvrde+ejoTFPznD4lloKNohD3H6ZV0+b7Hh38Qp2x5DAjOI9IDaT6UMxAJTfDy9qW1rX57TXmVOuzLCI9C0xBoDFvqoVJc8qpegFeR8afSkNxYtBtpvTWKga1hlVUZwDWWSUSSOgZmDFjYIJrt8/cY/k0CQnP/sHyfBktVHSJFHNYY5e4PVcVYfiYVAUiC7eVXzCzudcnbkBgBOli7MKhCRoROVZScca67LXOaT+EOQlTxJH4on2MRlFUKjGNG++ERbCUafZ105XS9zGttBkoRmS6UBWEzDhuzgyCaGZKgkRAIuKpi+ycJLhxjeVWPYbWfuapnc6KgL5ShKrZTg1XDD7p2UhPb1GzMio/ZNzoe0p1hf/Ps+uVzg6QvQCvYegREUdvjwYO4Fxhl7cfOxO8D0FoxNTrKx4apXtbmoPV6/gYMKwQT/8tprOOtUiIA98tVDVp3gKsNXh9C0iLrv3DwujSl4BUANpTWN0wveN3mndmZUcPypa2sfceR/p/0Yvo4KUzeiWNibWYPZLlszvCV3Bpsp+c2Ly+nWZxI+yZKHFsu2w7KqQcQdPn/kB3R7W7LkM/s30lGMGZAQ9oj3qwHswvzLBfL4UkkHSgK81tdeUEAs+yoTG9Ov10WG+kb6d2XwE0k4OCkwYHsTBxGs0PxbxxS6bGultYVkHNshKwodpUwljCznZD8d17Ev7EsMpaPIKSLdS4EG76oygBfgd285H8HSS2quoY+qcCYovF37W2te9g4N1Yq0j9Wg07jb0Yd8ns4v3+Ibsu8Da321feSz7bKAlnMSTKmjws4n1/7IGim4l4Imxyk8sOSkJlzBYRG3mukovjvZ1YpeSnto/Q8ieIBxKz8jJb6EZ99FSQgYNZ95CQdcBMiePsbf18l9fIj+yobRKu+kRckvYVJRjN6bmP9/MXtjXZKM6G7VxGrjClfV6Z8YZFIgGhmRJNuBnCcOGHL9z85fM/Z1XSlor8/I8aE6Qat1yjQCnEa/2PjjXdP6xI8jPns2PGrVyKQ47UdyGq9/i8k3QUAwL5rGiv4wJGT8WtfLRITzHDw2rv/0ZPTOJOFmTdIBuaqftCPWfz5R/of+sabWt+2ez54o7XUxeRIROWkHhaeCaQczGh5qTvNEnR+a3V1oTkX7pmbP2gFZBlraJTZy2Yl5wDL08CTwp2NXET0OgK4S3ymo3teJ3dJ2H81WXkR0xN44roqjNhefetfPR4dRFS9am9IK1QGMBREzUQfjFIhLSBSYkCJs9RYtJNPX2e6TuTaU6YC1rAdtGXZU4zQYWBn9yxfxp18SX8sM6D9R9nYSOyxrxHb54qJMVeUEOdHuq3skEmLLR1fLYFwmcxUFfBCqNvupLSiMNl5VR2/SqJT2cae5wVPeDxMxgd0lbfzXPMRy/jeumM28txw+bkxb/vKoK7Nbm91tbvdBctCgnP/bGDpM83cIyWDHXXdOwP62ANPDj/BwWta8ZOuGgumGLS+4TB/+xgv53j5KQ5a4+lkW2/QEoF0B6btAFeXdR2kF/b+U/7xC+mF/e8Mr7k8leLsBx49OfwGCV7nXvfq67v3PXpqqsDrf/7zI/SXfuRVR/jHN6AxYeNfOT74/C0vaSxfty/8R+p+tDOBMEm2QhcagpIyE0gWi7BdQV5QmvHfbA86aXc4OL9vYWlpttFYkEHs7FmBWCR1sVYVSvZYzvbjBiW+EcUqzSYporGZgx2ZO0iCnYwvQt6LTn0YrQLMVtti+W20qs7T3BBjZ5BVQUIFaAooIoWekTcJgFgMIBY+y1J9/NyUwACwGJvgyxR+MvP+8SIBbJwzQ+jvCisrwaakKBl+Lo6A8XhZdWn6YSgSc/sjE7Dq5mJVyM3GxABMFVHLr6f4TMuWacy5sZGZOWtigDoKjFY2hB+kjrVdM8D9WEcB7K8PMVq65PWLJ9DgluZZI/qVEngeAVZhu2GS9s9vba7EaQzXrPA7lmoCajwPhupKJxUoViDgb5c3sy88cnJ474i2hRM58jt/Pr0SAQ5a9/K3D/GyzsuPRd90d38a6/mqW27gfaRgW696icAOcK0Gr49w8PqbwLpy8HoPB69TmZru/kdPDjR4fcNrru/d8/CpqbqpeYe1ycHraf7x+nG/PXYmPr7RoauvfHH0jwOCd6sldCpYV/EfjTQhaEDqGVnOueVAF6c0Zcuba5szjdb2gcWlgyEhoQailjVPmRwZwziy0QQR84BCzbQJHSHEOrAAZH5hkISNkEYQcSZ+JVYoIb4M/L8IwFQLzBKPmIdSP6j0+rb6weyk6GciQOttM9Ps33MN5EALlQuYDPiSvrAC32sQKwCtXLLUbUwMypcyN0rEw7Ra3zPsQg89aakXY1cHaJazEk2OeeuxkN5aWmQ0yyF92YPU/rmc2OQiWUoIsKgKrFZd/ZHMqYp0r56U1AauVSF7I0Aq9oDUiZreDVaD9iFl3zDj35mW1YxjVfGoI4/zciUjgK7elnc17OJW+9xmv5swoSEp8hho+SuRQmgRVaDS2xGVbILYfQ/rn7yY/tXpleTMmNv3NIwBUw5aP8oLJCJ657SCVgOn0aPHn7pq7a92gOuEuIuX7+Dl3en5/d8TXnt5Kmc6HLz2X/fq62cUeO1OG3jFBD3J3w7xMjvut8sb6epWL3vP172s+baZJnmFwbxiFeEtluwCHWjO5Ko6VslDzO67Gw+y06vxhd2zc6298/MHndQAVmdPHUbSw6Y6Y3/JpcDYXmZ1QiyTYz2mWKy+CQsoCmicNIJhoxWiNAdqIraBsJSSjLKAwGdeqAS0pESuUoZKUdWMVoDWOmB2BDs7EkUhvz+sHBlJbpMzCduIlbiWg1kqi1ExaCzJzApNJzQQQd5Bn5VAqol21QeqQvBxyaxpPIisA2JFlLZrv/YswKrvRXCVqMM5JZddzQN+8mA5mVs3Z1Ixld5PZrg6wpNUsRo0MmkRRerLAqpY1Lrg3ndsL4ivmL6SsukqdoA5Irn1GUYhTgNliitFKMrQucSi4tFsrvt3MgLsuue92euvr2xvb6U0o3kKYiECMFdCcIaKlM2meQIuPPwQTlK0fPyZ+OPr7Wx71HVUYPDJKQatIA/4c176CrT+/+y9CcAkR1n/X1V9zD3vfe177JndbDa7yQYSQjgk3Aj8kUNUDlFUFEUF9ccpCoIICqKiovzEH7eKHCJnuAIk5CLHZrPJJptk3933vq+5p7ur/s9T3T3TM+/MvDPvO+/u+77bldR2z7wzPd3V1VWfeupbz7NlNbhHj9guME+dPutbW31wXdPqys2JLvQycBvkd0J+31Y917tODmcAWrERiT75+N7U7fcNbxkNzN994QHrza86epLYkoE1Uzoncrc+lP3yVXsD13a3Ks9CDsQpLC5RzQmaZXv25q4+U1SACRuWuJhPJTPLmfS5nnhLezQQiDvdkSixjHoacFEZYkkZxJZN24sioACkot1UYRZjzGQKNdFQxVSAWAx1qzCdBVVD50FgVIHWViIBFboUrloSXLnJVXhPhW4G9oHShCgNb0BpRa/ntF4LqaghYRXVQEhQURsqVp+TvXDf7gmFEPXGg6oKYo5rAMstdKVwnfaCEwm2DtQWrbSe2uFBDF6QfghP3RHrBsi1YNy1vNZrcaV1Wn3xgVCq+rgS3pthr/8pcbZqgyllVJCaLNlYsVQNBlB0bbHGCKExQK0KqbSiO7EqrrQqQWqlwA/lMwYcBtJY1WWTROVAlXHHL2uY6mpWVSxZ3dx1dNCIyQEpsQestKJCpYJ8oGGrbMYw0+MLS1MZI2/SMudqjms0CbGKrV2yX3u0raxshmApxe9+YDj3Y4vX5fT+JLb9WxJabwdoFeSrsLsI+Ze0G+7YytDqLrjbylEzfXDdWvA6Ow7wimHf/tsc77pD7Z/93lY91ztODKcBXtGqGb3h+N7kbVsLXhfe8qqjOK20p97vnBzO3T3QqY4f2KW9BBrTFk8vLBtThRVgCFt+AFsGHQjnlm0p4HJFl/QHK6jJOR9dnJ8PaYHFvnhLb0BTA9U7AFEGBmtIAgrTzDa0ogschZmKygymMkuxM8oDuKIo8CeqsVBQBJj0CiAEdgIWnLZpMstUhGVYwqKQgWAtBC9VKBR3CvBa5kfWsRhXW/BSOfHqUFQDaGvgZhUrbaHjE2s61qkV+nUtzLAXxJPqMWlta62rQ7BX4Dtb4eJyHZC4Xqh1XU6VOJRfZ2LVf6Dg54g4nufLXot1WTnrgcFK449KkbckfHFaC07XOp+q1lXWgDSg2p0t86UqqkC4PYvOZTANfOZhkKooOGDFwaozy4JGayICNKRnA/Awc7TDIqTKmRRUwAgcnMohLvxNkTMu5T/FauhVa1llob0zxxeWx1YyWcOp3IwU3Tgwakd/8Lj6opysUtwIWwJrr1g0xuet75ydNB6ts76c+yi0+VsUWlG29gXI45BfB9Ca3Kp9+lVH9uGNQT6zHnjw7CXvRcAH18bg9bsArX8Lu5+A7VMAXie2Mrw++biUk8YceN1Ko7RHiO1lIFTvF8bmzMn5hPX/rtobeF44yA57rK5SGwAUiKuy6nLnho1tOp+zzs7NTsRDIa23Jb5LsSVcpaBStkDL23mUO7cXngVejr9QuSgXYFVCq6YAtAKwaqpQNZXIjBaNcEgJBjSqmVxw0+CWYQgzT7lBTVFwAYbTiQpeplyrJFnTntiuEGmMOZboVTBbzdpaabqU17DC1uisCqFsq1nO3IVJDaHo2pBbN2xR19JYuGU1PCLYUabsuVynNjhqAiG8cRG8/icEXYt43Zif0vTOKK+CWMIFCe/KMjfslnMHPHfVdrxaNvdP18vajWhv67qftJJK3BPRaW25QUOAWhVSaX2QSmpAavl7iryNFs6mUJxRwYGqopgMB6gIsUzOrMjoYSQcMII4OBXQUHGOXlEocCzjOG1vSXgVxJLTA4qceakjvGv1+wbHmlxOjs8mkimUwTA3MmEZtDrBCOVrxZ4iKlhbXddhitMy5gwxfmYs/62lFK834lXGaeu3ILQ+6TCx5QHo8ur1AK1bWdOKCYPrcIBWXyLgg+u60vshPwnyZ83xnheo/dP5rXqit983nAZoxdY69pRr9qZ+eu9wbiucF4zAzT969dH7YffJjXwvmxf5Ox/Jfv3QgH62p015tvMwu8YQoaCa1FEwCmxv0eGSPXuKVlfFsbribB685vBa8KV02khksiNtkUigOx7dVVhfscYCLVbVGuvGZHf1baLgq1HCLHZkQKGqiv0BpYGgiteg53JG3oYg6NZwVRZH34ocv8zkpQkbV505cKQvXtm8VaETFkI0hAS0pueHdY32i3Fr1xhcCMdCWBe0CrFel1Jc1AY46vFIUFYjNmTtkMEY4I6qum4SRpu1uIKSCp4m2AbsuZQ2sFyPioa1urbuU3iD3De+GEvUcINVaUmlqAm7ZYutBKnkvcM7vLUlAWhdRRmQIaFVU0x3gApbzERVUdlKOI2GaQgtrpZFuGkJy7SoZZrCYhz30bsfOmPQLNRCcSmJYjXBmVaQCOA5ziZSU1NLiRWcXXJDaZcFHSHlW8ZkE2ZXG2cRVjHIixCLSX7bw6P5u3iFiH010v1/+/kHtpy7JuOOJz0RrvRzsPtjyG8CaN3SU+9XObpWgFbf9ZUPrussoP5Zyxzver1T6T8M+Q+28vnedt9wxoHX6NOu2ctuuXd4S4wsoUGbB3hFDw1DDZtrx/IPzi4rYwcHtBfqKt1VsH4A3gnLtlRye9kVk/C6BmpAT8FnE4n0Qip9tisWjXbGIt3VrKlFy+Iqa2xJh0ILnkttK5n08sTQbSlHz6XcJNxaXsqkqMMIliW4aXLLwD+gNUag4dPGVEfPafvfR2y1qupVK6NgVatqJUtYtVigq0PeNmr5pGtExBV1QpAHcNeFZsK2QF2UxIitu/X6793MtN4yIg3ci3p/oNR1k3Dk6SURaWvBa43jVtHB1gmp1cCZVbtB1J1al+vWMCIqallxTAKDUpQCCQBYe2ZFD1BN15iaS2eMSFQNWQa38gY3jbwwqWsoNwtDUjli5Qyd3rn6J7omrLr7i6nswvjS8nzOME0nMEAxWARx3dFVtLa6PlsLHgTcY5oWWRyZNW6aWrSmGqw9I9jGb0FofRZsPgH5S5DfqT35ji1twbz6yn0qtK0o4c8TP/ngukF4nQJ4fTXsfssc7zmp9k//2xaH1+xTrrEtr09/wl7lJ/cMbxUtD07TdJEGJANuWkhYy3c+bP3H4UH9ie0x9hR3mQWaNizbx53LQjKqjBNuiHHbCwDuoqqMcWeNNXInRo+ZXFpemV1JJnpa4i2d0VAXr9DN0TWsscIOWokLL6AvQM0aR4/cnFi2AwR8bQCrKhirlrpkS3D6kKPZxbQoR68CMgsFpxGleyw76qcMSbWKUTkXpAGYrR7fnVePTUA3YsGrw7JWN3jWkiRsIvA2yzbqLFKjF+w81llWDeld64Loko8VQhfXBa41DN2NAGqt66oIqpV8wJaFbyZFj8He6NGu/xP5Phe29bNiI+K6iROrwsfWIQ8QdDGdXRxbSMxm8oZRgFRS1etDwYtAYUGWUgqtrn/WZIafeGTc+KlhikYtfRmnbd9q0PoaYgcV+nvtyXd+eKtzBkArc5gsf7+va/XBtUnwejdA61sI+ncd6zmtDkz/dCufL8oEnnbNXuSwFoRXaJxWfnzP8EV9GHAa6Y9fU7+XgUrp9Gj+7s64Mry/T3u+qtBunI9XgQEtCyDVngRDKxdxVxwwl82ocP+G1lluOxSw2dAEVBxdWFycXllZ6Y3HW9ujoc5yhqtlaeROJFfuLufm1GLUFLbHALkkw44Xbxb1fRJcHSEA6t7wU+hRwJJ6NxWnDYUbBbZSZ1qp0+W2ULOaM/BKVtga8CB4dQsmrQkdwp5eZI7EtZrFlmw2xW0IeJt3FrSwpeSCnct6BwwNLtaqG14dayNd0+F+6bmwajeWssaYumIUqGp+YGlVCy2VnvhwaZawo7/ioNQSlOOiSimoxtewjzpYZ1wo7MEpsUwTJ3sUnNDntsXVWZjlRr6ldNU1eH21rmRyyyPzielkLp/3WlbXsraWloNsrtz2QP4ODPxXJubNH0wummNrDSiqpJMf+dzWkQgYd16HVe1tsPtGyP9Hu/7O/9wG0IpljjIyE6DV99fqg2sz4XX68wCvV8HupwBenw3wen4rn+8t9w4bAK3oBLoVctszrt2z9KOfnbuoDwU0cLMAr6OwO7jeY8ytWPMLCesLhwb0J7RF2Q2MEcXi61Njer+SMyzz3NzC7OSyutDXGmtvi4Q7V3Xkq2K7umGw0KCkyE4MMZUBgDLon0x4ybjlri4vgIwoBh6QXgM4Wmq57dO1xFVOFVdXlTpdVgEluLusq2JvXqXEeHVoEJLTqxe0C7XFHrWKq646u8Zy2UYj0EoJoRf7GZRukhrw47ol4JXW/bk63GMV3IFBtlaBalU4LdbRjQPq+iC1QpkwewkfDi5ha+FTKEer0ucVDlK5yajidX0mQ2oQ6YIYJUEcB6kWDmjR5R3OrBDFVsd7gpOVLypbyuRWxhYSU4lsPu9O9VeCVlJdIlCwtjLFCevqjCqTGX7/45PGHXlTrFf3OYpt+haCVvQa8xHIzyHoOeD6O3+01bniOEAr3HEdm60Tp3xdqw+um5PQr+s+gm6yxnqeC/C6tJVP9if3DJsAr+iepA1yx43X7lm8+WfnLurDAY3og7Dphhxctx0LnvSHR/P3tEWVs3t71WdrCt1lWFCfcTkvQbepcqGW1z0WdjOiXDLAHMKxwxjYXVTOMPnw7OLsxGJiqacl2tIdC3UjdVZYrb/a9ygCqYRPuWKYCjd6FhHFaUgXsZ0oWdJzAECvN2oWldabiuFeq4ZwrQKzldm0unW25hp/6WN9zTvjeGkiVfSIdS/Gqh9wmwG7666LNRZwlS3+JxccXum6v1en3nUNi7YohKmVdFYRVGnjLrDWgNS6Q8Q2EsnLhm5sYBQ7TLCcWUGrqSlkmDeOfl25RT1OIGxXb5TY+nUckCpl2R6o2rAqSs5rIZVdGl1ITKdyRo4Uw62WQyupYGktCTTgQquKrhAciQBA9PLEvPGDmSVby7rOepkldlu+VaAVZWifhIwBBl4O0HpqmzCF7lR1X9daP0P4qdEEwBqDzXcgz0Nb8wp1cHrLV7ife8Je9C/YAjc8CA3X0g/uOpe9mOfzJ685iu6xntSkzpnu69WOAMQ+HQA1JCSXyRVS9kItYb/mticjZ2EETvLJxcSCFN4n7ntyQY/7nqYqWm88EutpifR6ozxysbbEVIjV3l95pUdPVPouJWsfrzo4iVoW6CrOWbkQojaS1oSUwic0jSvHjy1ddtc97Q+vdf7VD0cbtqELQTZdDiMa+IUrr4gNtrbMtt7xs8CDprnaqwC9IAu2Gm/naQMuyuo5fmurFtm7J9pz3/2Lw40CdqOA2jxIrQ3YWEaK9HDGHd+uTtCxwnpH4VhS5fo8KfuxZ1dsN212/aYl52Z7CUjPji8k51N5I+uR22wIXFV0q6Lg+J2IRJrffW7aPIH+ojdYte768OcemCJbIAG0HnGgdY6gu6sn3TWzHVji+JX7dMd+kjtxyte1+uC6+fA6AJvvQ0vzA9i+CeB1W1S6G6/dE4NGDcF7BeD1oi7a+j+vPfoE2Aw063ihAA0PdmrPjATZQRc6pf/vIrjaHCtQY8ZJJXC14c3ed94oAK3KmNLTEo7sao3uYhjzYBXRlC6i4vWDlagHjkQV2KwGa2IdcFcLygSvDYVegNYBXK8+tgjg2vHwmidU+TwalrSITWzO1gvERw5HB9taZlvuuDv4UCVw3ShgNgCi6wFeVufB10xtLQCuu0Pd951cOVfxEGydHgYoaSwUbGVIpQ38bsXFW3b52p7dVitwqB07xJ7yIeWwatcvIaZWMpNjC8mFvGGarkqIeiQAZdBKquhaXWgt8SKgqtTMm2J8fM78yUqaLzehSo39zWcfuGdLQOtd170ACvjvYBeDBP0JQGuWbIN0zdF9GlQI1LVm7zvl61obSb5UYL0FNzA9BvD6y7D7TciTxPb3uuXTzT87l3jWdXtQKtD27Cft0aFhW/zenecuFnQ/QGwvA4FmHCyTE+nTo/lvt0bYo0Pd2vWqQtuw5ea2JyLueBngjpcB7izUIoVZdlobUAzOTehYliaWUomOaDDUDwAb0tVgAdooL40pLip4AygPGVslahStSBqVfFVSQauHfK0IszVdXNVyjVUDLpwgBt7VJRRFGSWdc730JBqAJg/o0k0wtnqlG+sCRjs0PaWENBDydXMex0bLtBHTRl1TzVgQFwhQNxNSy98raNyd2BW2ZxJe7glalLuHQ6f/edOCNiU1OgVtCrYvzAXQ5kErThItzy5bt03Mm481qSrlnLb7IgPrE9FH9x8TexHWRyF/DKB1WxiQAFqRvXQfWtc7EPfThpI52vNMIsPI0feog1P/sl3OG+BVgwatw/HtMvfdOy6O7vWtv3oM/bJe18xjZg0RNC0RONCnHe5sUa+hhGte66orGZALoEolA8SVGXisrqtkBMS1zkIn0RLUgwMdsZ6WUCBexl6iAneuBtk6rXvVTaTVZAK0IfmAWMMe2qiVVkoFrlw+cNd9bY+4YFsns66HLpveWTVLcnDk8tBAW+tiyx0/C5xGt2cNgmbz2+cGj9lQeNsaUNraoob3DgV6TpxKDa/netcIWFBt0EAbKQNa5zlVDr0r1lzkxTzlk8gY6dGF5PhcIoORrrgj/nV51SsPIDU8CLghXUlxgRazPZjYxSKSWXFyatG607BEM53u3/XXnzl5UaNIArTiguOPweXjYuk/1K676+bt0vc+8eg+hdvrO/L3PnDWIH7ywfUiwevLoCjRyfHvALx+abuc97OftAdH5R3QwgUoEfM33XH+ogQrAHhFcN3VPCsZoeksj2CQ8HCABvf36U+IhchlUuDVZHgVzhGDuqr3tUbjfa2hfgXje5aB2kZAdrNhthbQrhdqJbgeWbnsrhOtDzeiCa0XcDcEuhcQgo8cCg60tizF77wn8HCj4Lpe2Gx2g18LSOsBSAmucQXAVe858WDm3Brnt06L7AWE1AqgWjmgQZnbPKjbM4nMFMoBEpl8hhRgtDFolcdeA1wzOTE+Pm/+zORkkjb3MZkAaL3rIkPrUdj8E+Q0XP7vALSe2zbQemwfupEIcRta/cVY60y+VKAZhTg4/RVztBd9f37MGOld0Yamvrsdzvv7d0rXWLPPvX4Pjl67n3/D7hVGxNK3bhu5oNMt0LBiOFiUDOjN6pyDGs1l8iICDXj+1Lnc7W1R5eHd3cq1AZ322WEBbAhl6HnR9jQgHE8DiHcKrrhghYhcVDgxIe3vOREi5XS+HZBVZPKm8fj00tzw7Mp8ZywYGmqPDkSCWsTTaVXgVr7aSlNBXlDNk0D10FnVyqVKsAFenYzWcitVI5Qqc9ZWsQY6TlEvJLll2syRt6jkJWLjR6Uy/JnrdH79dbpp58XYuh+rtUcRtEZwAGG7zWB0ndcp5SqiIbivsSCrrt+3pTUVntMKh2WV6y7NGmZ2dD41MrmYThpceh2gtp9jUgw0XAVaPWVfyLWg1bL40tiCde/ssjUV0mlKVWgzDVQIWvdfZGjFQEB/TuzF0W8HaE1vF0649tg+rL1oaTV8aL3wA3A/VUkAr++Ahvl3YfdVAK+3bKdzf971u0MADV0ArugyZeabPx25oNKBt/3qMVykdW0zj5nNi5BhiRIY7mtXBvralGugQW8psbraBLchy6twP+dAUCyoBwbaIh1d8VCvUtZbc17JgloFLKvAbOXP1oCy6kBQ3RLL1/R2VPG70uJ6xcqBO060PlInNa5nsNSUARbfRIXZkUNaf1t8JX77vcFHrPVaXDcOnc1p++sE70pg2hpn4T2DaveJB/Pn1gwVzMS6zmGjkEqqQGqjoOpWzLlEdm5sPjm1kMxlZP1mjvWUFiNlFV8XodU950YkAtCGZedXrAfG583HpScUheaDOm32DNrdH/rMydGLAqw/e0IExoAYBeu5kN+nXXf357dT/4rQCpswBvy9++TZLPGTD65bKRkjve+GzRsg/xLA623b6dyff8NuFcC1GxpDDSrG3Dd+OpK6kL//9tcdezKxffA1y4JGU1keE2W+R7GxH+hU93fGlWOwHyJVJAPOMRqWDTgW2YJHAk1hWnc8FO1vi/RGXStsBVCr5IqqOqCy+qUDpIbnAbF+mKzlrgrB9eorVvbfeV/rmc2AUC6aNCkg6KbOLlxx0AbXO+5rDrjaFbg50cAYXYeXrHXCdUuchfYMqD33P5Q/Zx9ojWug69G0NuphgNdtpa0ceWv153KmlRubT01MLqWXMnkz75hPC5BJa8sD7NNqAFrRXrKcEqfH5oxHLE4spxx4JMgSTZYITH7w0ydvv0jQiq6uPuYsHf09gNYtF162Vrru2F4Mf4jtvvmzk2czxE8bTr5UoMkJYPV9AK9R2P0sbH8RXt+7Xc79O7edN3/+hiH0kIDBCvpe/NShZQTY/731gkkH7oPcQZonGRBBjaYzeREth7jRWfOxiXlzeKhLPdQaUa5gTOjcEy5WlGGbtGoUjioKIX88sgF72TyVQVrtJe7OxLNhcWN8MbU4vpBajAY0va8tHO9rDe9SFaZ7IbG8c6wWJMCWDlTodAWr6haL1lQDVAf/WlBbCz7cfrUeCyHnDQ+iBdugA9QC+G56SFjLcSnQ3JCvjF4c2Wu9Ft/yumFHGjWL769RFuvxMLCpkFrlnGWEE8H51FJ2AoB1YSmdz+DY1oHOTYNWrMKJDH98fM56MG+KkmlnbPOaDK2G0zZfWGC9+wnYiv4m7KLngJsgvxOgNUW2Ubr+6r243gGh1fKhtXnJt7huxgM30ovl+teQXwbtDMDrxL3b7Rpe9JShEDSUeCHY40x97ZaR3IX43Xf82rE9sHliM48J4Bo2TFEVhnWVav0d6uUtEXYQHglNENvy6v5XsKA6vkXLAxRUkQ3IzwtStHa6n8cDIgC0R4OhXW3hzu54sKfio1inVbYWfQrBaoHpuoMNeC24blQwSopRwjSVK8cOZ/fc80DocfvztrN1Gb5MUOI6X+cNcmMzVvtvXowC4YTXFIUQv5fvV3e1xjLRux9QHrcXZ5Vev/BES1tfA77xJrxR7wVsDSN1Ibwx5cyGN07iMRYa2qV2nXokP2o/J8wNcEqK5dEAvFaVBfCGoLZBSKXe520xmZsDWJ2eXskmTYtL/1PUM9Uv5aisEDmMFmHWHnfUCa2FzzPba59IZfnw5KJ1OpsXq0BIU2k+pNNm6z7v/qtPnTx3gaEVIyv+DRT0cdi+R7v2nq9stz4UoRU2EQBXjA6cAXD1Awz44Lpd4JUBvKJsYOLu7XYNL37qEEr7e6DRjMETOPPVW0YWLxC8PhU2vU3DCWg1klkeX8tDvQTYTvWKWJhdBl2pUiFAgQxiUA1eiUceQBx4dYMeuNDlWHKFHeNcSMOfpjK1Ox6KDXREelvCerwmoFV5/0IBrRdq0YrGqBs1CLeW/Rq+rqpCufwyNnDqtHXeBTQ3vGUx9CXjCDD1RsjizTCObgK1lpSDvP7i6317g93xqBl58HT+PIKrhDThhP8kTshPuW9vLxa9skYUE5WgrgDteO2WvHYFwdWpD7GoEtzVF2w/81hy0oV14dYHYtcHu254wh7X9DDAG7a6rhdSvSmVy6fH5jMTE4sZWwrgWEGdbeEXqAOtpAxaHb+qpOiOtXixVaJiFYzrCKzTS9bD6K+62oghGmIrTba2TgG03nqBoRV1rH8JeQSu5C0ArSPbre988tUoDyA402cBuKbvOjnsQ2sTky8V2KSkDU0JgNe3Oi+/bIzsejXA663b6Rq+fusIaqYmXvK0Iel14GVPH4pD2zjx5Z+MbrbvOYzI8rxm1U/sOdEKkc6VSgbKU84U5tkp42RAo4/0tasH4iF6CDoDxTEVCmeekxUd9VM7LqvH24DjPN8O1yqdz8tAOsW190JOTnNbZ4DTiEIYJgY2SC2OzKcWIgEVSCcY7msLdwPEtq6yNlYMNiBIlSAENXr3GquuBKvDomZBj8oZhj8HUGEIKwgqjMmQlwCuBAY9QRLW8wEb1GwdsQWwipBicYVbXMV9ziW4MLHWOHqjjvml1beprqUEsWHVgnJAaDftLcPXArYCtriuW5CgltMtRVpbZTlwTrnllAMXql0mOFaSMLeOdVMblTzQhp8p6oVI5gBraRnge4Khe6aAqmqMaDQE5eDWB0sUBjFYFlgORZgnNsSvB1CrBVqQj08lqWpVbaxd39J5MzW+kJkEWE0kskbGfca9oVhpAYBpMcjCaqh15CK08F1XxlMpwIDzGQGD7vPTiwCs+QKwVjzfsE5TTYZW02mLLwyw3nMNGhdwjciLIKN7yY8BtF4U/+Ibgtbje7HNl9CK1ceHVt/iug0tr7uwjN8H+TVQmV+r7Z64ZTtex0ufNoQBC/qRAaFhnvrSj0Y31fr6zl87tg82T2jmMdE9VrmXgZqDD5VqfW3KZbEQOwDXrntlAy4Y1isbcCyZ3Ltoq+C9QLhruZy/2T64ALZVtaclGOtvC6EltrWaZbL6wqtqXgrIuq2tiO42oLiQAhkgRUVQQVBThL3ViNLXG22bGE8uyHLhGH6XAKwyy+SMmxazEFwtIbOEl1rwyjfa9DfZ0uqFVlWWgZ3tcuBMVYTCGGE9PdF4MMQCExMrC9wUMgCxZTGOC7VMTqEsEOBtiLccgOXS2E/Xc1Ibas/ZOuDVtbAqMhtOOXDMiopbrA9QZYJhTWtpDUdmppaX0VevBc8Ol2WAAxnCzdVlIOF1TQ8E1aCzmnG1OqTSUsuqmQZYHcdFVomMmXPL1hsBTe4zV89NCl5WC3/3aFqLAFvq8sop99XyAJQE5KSF9UzOEGuuQkcvAuj+qtkGhA986uTZCwStT4HNB+GxAjinb9WeeM9Fdbu13nTD8b2KtLQKYt5+YjhF/OSD6zYH2D+FyvzbsPs7AK/f3K7X8fKnD3ZCY43yARzdj3/x5s2zvgK8Ph02Pc06niMZaGnUpKUwova0qXtbIuwy6IRD3IHLEhhdy9sAcU2yZfCKu4VjicJ75YAbDqiBXoDYXe0AsSG9xe30GoXZWkC7NtQKwaR1DS2sJlULsAaQonBFU4WiKIRBJ6qoGlNb28Lh5aV02rIEt0xhGRaxTJNYhgnAZjEJbSbXisBCFNGI6696E98Ee4ecCidoWYTrB2DDslAVS9EULAsBZUFkbmmNhANBpi0vpdJQBgDskGUZCNMwmSwHA6HNUuHPLsSrDsRvPnxW6BBo/b8lSNHabjh1wcS6IMFdg6w65aAHNTUUCgYSiWQGAd6QZYH1AeuCBFjLcuoDl+WAdcEG+JqLsWoIYeuFVDclc0Z6YiEzObmYWVzJGFlSFu7Xu8DKeU2KMgDbzuuRBXg/Y2tdq/hp9UIr3HQjleFnZ5ets3lT5Oqri0REg2yZNjdW8DRA6082vV+89xqEvLfB7isgfw72P6I98d5t6S7qKdfsVaH9jOE9vP2+4aRPPT647gx4Pb/rTbB5O+S3Abx+frtexyueMRiARnIAKk8YtpP/9cPRuc34nXf9+rEwbJ5PmihpMSyhZdaQDNTqCLtalMHWCDuoKrSgRfW4yipxn0VEcY2TvbBLFD/vSEVdDa17LAeAXctr0RLrgjBaYjVF74oHwj2twY7OaKAbI3Wthj3asPsrIdZYkiVXS/OCpVVlhrS2asySgIK6Vh1BRVdUXVfVQEBFAhP5nGHm86aZM4hpIsAa1DQsxcIsrY3ChldOVFEObBuBVrFpq7AQ2FyJAAK8oXjBFQBe1VWqajpTA5AR2hBKclnDyOct08hzM28S0zAAYBFcoRwA4qEsNG5KaFV5PdKJRoGt2fCK1laAVawP1KkPNrRCfcBBjCwHjSk61ActoGlQJxSoB5Yh64Nl5g1uykGMSR1oxcGM5lhd1TLJAG3cPRapGk2r8CwspHJzU4vZ2enlTCqZMdPEBU/XPEpKF085VtYimBLXTOp4CaCeoAIea6pzMOZKCkq8BNiDqwwg/eNzK9Z5i5OGpsdDAZqEwWIzDQj4+zf95f87uakWQ4DWZ8DmvfA4IaD/qfaEe+8i2zQBtGqwQdeLudvu8y2tPrjuPHjFyB8fgvbqA9rusX/eztfyyhsHu6Dx7YOcUQgZ+fwPRpvueQDg9QBsrmnmMVHrajYgGaiU2qKsuz2qXBbQaTcXa8oGCtbX8kVbHjB1/lriK7YAYMVFXyVAhiuZWXssEOptCbYByPaGdDVYM6AAWWfYV8cG7FhcqS0RMByZAC9Y2WwLG4Ut0LS9PIWYFrctrjIDvFrS4loEFc8UsQsq9m+u39u+IGRTdWV2OZhUTo07UgENwBXLAqFNleBGUdkJ5WMv07E4WlsR3IvlgOBqWghtAK5Cq0s20WzLaQVrcp2/IRyZQLEMUCqhOlZn2/KM1nenPuCSLahHpumtD0WLK+eqKIK76sgFqKgFpzUB1YFE78ucwY3ZlezU1FJ2fmY5mzQsbhFSnNL3QDL1WlrdMqXUA7CUFv9OPZZTUrqoitQI42paZGk5zR9fTFoT6xlowQA6HwZwbXL1vheg9bHNA9ar220DDnshbD8NV/0PAK3b1in/067ZG+D2QqzMT+8dThM/+eC6Q+H1RfDQYqzlT8FD+15tzxjfrtfyS88c1KEF3g3gGoVuaQpdZ332e+NNhYY/ff2xG2HT3TR7mZQMiBaxETJyUiTAYh1xtj+kswG4aKXc8upYU7zWV+7qB7gHWh2Bqyf6liixtHJHZuC1JjrfcR0KyHUesZAW6m4JRntbQ12tEa29xN9nbaCty3rprphnzqIshRpUsRfi2NpGqXElaAOm7oIhuRjJItzCLHWdDLWuvGBtdWCtfGGSWPf9ZWLzG07UuEptJ3Ms0LIcVBteHb2vLAe5OMk+L4o6X1vrC7Am9b6odxWuvlPz6Ds3Hhih1sKmZnUMXsszK9E7S82zlI4onohRsj5wXJwmsC7YWl95/UzCqlUCraX3seZMeDUrM7y7ks4nppZy0wCrS4vJfLrgZ7UIpEVedRZ20VJg9c5pUK9WtWDdLrq6sj1g0RIjcbmlVeTyYmopzYeTGb6w/vtLeTRImy0RmHn/v5+8eVP6vfuuxmL4BTjb/wPbOSiWd2nX3PvAdu7Ln/6EvSGoqFFomJMArb6fVh9cdzq8DqDLp0/CQ/xj2P4+wGtuO1/Pq5812AHt6CA0ohZUqvOf+d74ShPBFUezKBlQmnXMvCkCuFirWcdTFap1xNhgNMh2K4zGCiLXsshbxfcKK7bcBV+VpQMFW2eZrtYF3SLl8YJJ13lLY1TpiAVC3fFgrLMl2B0LqvEq1LpWhKyyRsN1geUs0iImcVeRU2cVuXSNRF3TJ5UWaYQ2dIHFOROFVeTSq4CtbS2B1nVO84sL2njiNXJb5ymtr5YDcehdQTiAL9fZuGyEVngEeVkGWBaWsxjLcoHVMz1+sRv4+iQHthssec32oj1mSwdsDxNYF2wXYR60lGXAbO8Ksgxgnxc1zkVwp/XBaZlFNp03M7PLuamZ5dwy5FTOtAzXYuqxkJZM6bvQSj2/4/ydUbbK1dUqaQDxQKtHzMq8ZQkXlE3n+Ohikp836tSv1kphnSbRb2sTqzRan28CcE1sArTuhw16DDgK9/9fYfvv2jUntp3HgDJoxX4JwTVxy73DfhhXH1wvGXi9HB7iz8HuGORfB3hd3M7X85pn96vQQA9CpeqGFnweAfZTN403RXv17tcfOwSb480831ROxDYqGaiU4mHWAXl3UGd9jvlvbd2rB15JqfW14O/V/YtjfRVeyUDRYlswv3p0s/Z+UFe0zlgg0hUPtHS1BHoiATW0JiSKGhZHB2CxS2bE9t0pPX1JC6PEUGof2nYBZfvodH2XSosasXWMpZAi1hnOdfM0rWuCWxnM80JZ2L5NPUUpnJLzQKprXeSCis1okjeieaV1RuiSsgF0heZev8efq20QFK53J7f2YD0gxTJgsm7Yfl0bW3CVNaz83HJuZiaRWwBgTSazZs4F1VK3XWWvi54AyiyvRQ2rY2l1raysKCfwwK8LrIXzK9WzQhszl0jz8ysZPtOsOooSgUiANhsw73vfv598pLnAelWQyBDo9PWwvQPy+7XjJ8a2cz/3jGv3QuUlcWFHeFz+yT3DeeInH1wvKXg9N4CO9j8LOQDd1mvVvWPnt/s1/epz+mPQku+DyhWA1nsMOq/JT357ckMNNoAr1tVnQe5s1nkCSLJkhreKTXoOdJUGWqPKEHQwQ9ABBgvw6rGWlsNr0dJaCq+ucdYrHXAB1ekMy6C36GKrHGDd15GgGuyMByIAsy0dMb09GlSjDcOgKEaJsrWG3OnBRWEG09Fr2p+ULIvbyoEH1m1pFReOWaudo2uBtcuhGEWreBucmFqeKGLExl6x2U0x3UCI2HrB142aRgr1gTsDGOGwnHCt9w6cynpgBzYmnsADa/xezuTZuZXs3NxKfnlmOZtYcRZVeYHUe5zKWlVaMsVPSOkKfxdYnfcK0Fr0xVqUEzBSXIDlfB7p28gafGw5xUdyhmiq7hELNRpiS4ySZkrMcIHtDwBcm/YgAbRiIIE/IXKmjP41AOtN271vu/HaPdCY0VbpcJiQRYBWk/jJB9dLFF5jsPk4tPVXwy35LXXv6O3b/Zpe97x+bOd7oXHdA515DvYf/7dvTy5v5Jh/9hvHcKr7BYQQ1qzzlJKBnIht9nMWD7Mu6Gz6AWbRlRgrsb4KD88WvQ64POa1nJIyIC1YX0lRhlD6WoiSBV3F3yuFMPxOQFO0jpgW6ogGYp1xvb0lorcrNYhH1KuYLVzP2s3NunriC2BpXR9Qr7Yd1ioHSjebXtd3fLah31hdBpTWLgdvWaD+ZSVtLM0njAWA1eX5RD6NFtUCdpIChZZaVu2/rtKrup/3egygRYAttbKWLsDyWmwLD0VxoZVNt4Yp5lM5Pp5I82khyKasXQgFaALakWZKy/A8v/0XnzzZFHmXceKqfXCD30FsP9xolPmEdvz+bb/S/sbr9qhwXW0ybDUniz++Z9jy6cUH10sdXhUA1z+HW/JaePkugNcv7ITrev3z+zUA170OxM5BC3/2X785uW49EMDrYdhc3cxzTGVF3OTNlwxUSgojWktE6QsHaL/CaCspNRaWLNwq90hQZn0tWFrtLxbgyhvwwIHjouBWrPq9ks8WJQbSZytlbRE93BHTo2iVbY1q7a68oF6Ya8gQug443PRVjRdDfrCJAMsuwDnVY9ytBuk5g+cXUrn5+ZU8QmpiPpFLmpawSqbzaZE1vdpZWmpYLkSsKvyRlMgCaCn8yoVTDtd6jk9XSQxszwCez1kcmhBDTCQyfKIZ2tVaSWU0HwnSlSYf9gRA6+mNA+uxFiiWN8Dur8BTg66t/gqAddvPIGJ61nV70HNAG1xXHsB18Uc/86Nh+eDqp0IyhwcRXN8L+TPwkLxP3Te6I0Z1v/mCvjh0DBiBKiblA4Sc/+dvTDY8zfLnvylXpmI42I6mmRsEYdDptK0r1uYGUkCjkViI7goF6C4ok6Bw3Wp5oMkDsCWaVUf7WmJN5aJM9+oB0ZoAK4g3clfZ6+IRXatsW0QLQo60RfV4G8BsOKCG6Qahdf0Sgc1gVbolOqWabp42cly67u/RZh4/m7dySyljYSGVX1pIGKnFlJFJ5cwcLayLIt55fA+gFoDVu4iKev/o/U5BDUBL3V65kMrKdbAehwAlVlZagH+sIGbOEFMw6J3I5MXKBakPUCFiIbbYZInAPOSb3vtvJ9Zd5437j6Gf7VfCg/M7cJZLsP9R7er7byY7JD37uj1RKJw4eg64+a5zK8RPPrj6qSK83gCbf4WG4BRsfxfgdXGnXNtvv7CvRwIsGh8pOcuYGP+Hr0011GgCvKKlsqmSAeiEgtn8+gITNOM5jARpWyTIduka6YaL0lyA9WpfSXm4WAfcRMELLHHFrl4PBqvAl5SGoS2CqQdYvTDp/qwHFD2/TYSuMA0ANgQgCzCrxdrCemskpMBApT4AXC98bsZiLLEF7SiUbsox6Waeh3fqHssUgDQFkLq0kDSWFlP51GLSyGTyVr7suCURp0rhla4Kuer9naIt1WtNpV5t66poV0VQJaVW3DIrqwvA8FwKwxLz6ZyYAGCd3ywpQLUU1GkSBrvNXL0uJQIArUsbgNafg80fEdsa+a9QVF8EaDXIDkjPfdIe9GjcCtcVgiq89IO7zvk+Wn1w9dMa8DoED8wnYBd1nb8N8PrATrm2N76oD2flhuCf/QCu2HmdAXidbuQY7/nNq68kTZYMYDhY0yLaRYYUhNiOkE57oJPqIk7UMGE7cV3llUAIL2CKkul+ZwHXKj1rDYAtXRzmfrTkM0WvBV7LcIFmnQ3qeONBLRAPq4GWiBZuCavReEhviQaVuMJomQS2cQBtNmBeHI8Emw+bzQbiWoENLKgbqayVTGTM5eW0kYScBlhNJbJmHqf7y6NQefugcjdURWCk5VP7JadetliKVnD6T0oA1RnsMlbBiuu11tJC9FwMTzufNcQsAOssPFMXZQZMVYiBYV2bfNgT7/m3E6fWBawnj10FT8wfEnRvRch/o6FFu+rkMtkh6bnXSz1rBydyFen89+8653sO8MHVT3XB69lB1BN+iMipcfZOdd/5L++k63vTi/t0AFeMjLUbeokVSsXpj351ui6H3O+xJQM/L0f6zTI/cKJIycAWeS6wYw0HaXs4QHt0tQixXvnAqsVbRZuo3IFr8rrMqmQ19fBuUR/gAdhKFtgC0nq+V2IVrgaFCAbRoBoEoA22RrRILKiFYkElEg6q0ZCuhOop+GYS5nYA1k2F13V8J2dauWTOSiYzJkCqkVpOm1nImRXInDvDJQ9wVjt/r/60AJ7FpfmlcFr2nVWr+z1L+itZWN2vM+bh9WqyABgQGpZYyObFTCYn5mDkZ13kdsCWCLCmngfO4n3rPQ1KBIyTV+6Fze9Bf3QjlNP3Yf8fAVhHd1K/9LzrdwcFoZ2oZ4XKPP/9O8/5i7B8cPXTOgD29RhlBHb/E/J7AWB31OjvD17SGwZwPQTgOgDbGaiUD3/4K9Nrjt4BXtsceG1aPc4ZIpS5eJKBNSEWLbEAsZ2CFi2xzQRYlz3L/cmWwCkps8qW+471yg9qQGwp8AqhMKZEgooeC6kBhFvYhuB1JBpQAWyVmKZQhYjm6U+38+qK5tJrqZbW5IKns1YqlbMSyayZAkBNJzJmNpm18omsmcVQrTboiTIAXR+sFrbF71f8XnmUKs/3vJ+vG1gLn7O/J2E1lxezWwFWvQme+USTJQLCgda6JWjGA1ei28Y3wDdfBNu7oT/6mHZs4wu6tlp6/g27WwQnrQCuK3CtS9+985y/CMsHVz+tH153X4ejW8g4pf57AK8jO+0a3/LSnhYA1yugUvYwKiZh//QHvzRTUwz/3t+6+irYHGvmeSSzvNW0iL6Vn9ugTuNBjXZqGkGXVdECcHo9DxTlACX6V89nK8EkL5pzV4HqKggVZRzoOJCtAqdrwmxJQDBR5Cn5OqAxPaQzNRxQNdjqYV0JhAJKMAw5pLFQSFfCOmwVtgbcih3S7DXI8FiqWYPnsoaVyeZ5Op01Mxl4nc5ZuUzewq2BGT5jeG/sqml9z++WMuRqi3Dpqv7KQOvYPGtC66r3ykKqlr6/GnaLLrGKuleoZwDhZB4GqwuQly60ZrWepCokHw2ypSYf9uSf/98T99cJrDjT8xuQXwL5EXgSP64dO3XnTut7XviUIWYJOasVBHCdu+mO8yniJx9c/dQUeMWV9H8HGWHtbQCv396J1/knL+tpB/a4AsC1l8oABuTUB744k6wCrthpvZCgiL5JCSUDKxnevl2eD+jcAiEdIFalHapKW3EdyWYCbDl8rpIQEE8Erw1CbC2QdWHM+3XGCEPABahVAWIZAK2mqUwLaooa0Kimq0zHHMCtxoKqygK6QgPMG+JqGyTOBTUskc+bPOts8+hKCrY5gFIDthJA8wY3c4ZlZvLcQjjl1aURtBqoemF1LVBtEFaJF1grQW85rDrfXS+wCkuIFcNEUCXzsN3qi21EPMQWmiwRQAj+FoCrVRtYj2Cgl1+FcnsZbM9B/jfIP9aOntpxFkiAVozu1Q3gimUy853bzhvETz64+qmp8IqN9e9CfrMdLpb9lbp/OLcTr/Xtr+jugu7mSsjdUFHHmMJPve8/5lZJCP7iDVcj0DdVMpDNi1DW2PTABM1/oClhQY226Rpt11TSDn12sACHvMT/aym0lgUxWPWe8EpgPVKDMpBdRZvEuwRstR52DXhdDbzev4vKfyfVVQDlv1MKScxekWNn2JevKcKwfA8XlVH5vkezS+TnSuqdyipXQ5OXUTakkli+wgZSi+P7RLqTgH3C7ZhpxLIjr1HH1y+v1Y6XQTitpw8on8YvgcXKv1HVulr2nRJY9U7ZF+DS487KPf8K3yclC7FWH2cVvEI5AcOTJUcGsAjlt20iHcFznAjqNNNMEEZo/bNPnJivCqynjqC2E10yvhTyJBQjLhD+4U4EVkwvfupQG9QJlJwlAFznAFp9aYAPrn7aRIB9MjQwH4EuFUfQbwZ4PbNTr/Wdr+xGcD0K4NoL21HgglPv+cLcQhm8Hif2CtemJVyoZfGL62VgowmtsQEAWU2hrYpCWqE31wtBZkmpBGC139cyKBReBl0NvxUhthyG14DYDYHs+mC26t/X8Fyw2R0crTE4WU9bXhkyvaBZSYtaA1Q3CquFz9MKPlvdnyy+WRFYaZmmFf2rAuwvmxZZzptkybTEtnRhpDBi4IKsJh/2FEDrvRX7k1OHewRhvwa7L4KafY6gH3FCfqAdfZCTHZj+v6cOqVBXenB8AOA6882fjiR8qvDB1U8XAl4f3w0jRfZB2H0q5A9Ag/MF9cDOjejx7l/p7IIKewzAFRdxjUNn9cC7Pzcn3Wi97w1XKTiAhtzSrN+zbC8DHWIHPScAsGFdo60aQKzCaBz4S/UALKkAs4JUAFgHQosAKqp8xim61e9XBVlS6XMlnxGVAbKMqkU1xKzT/dZWf45oHR+oanctDZFagsK0CiBXBNDVh60Jq85WVATPsmOs+p4Xnj3f4/CcJgBQlwyAVcMUKbK91925XgTmleZKBHCm6uvv/sT9Jcc0Hzy8B0rr1bD7PADXYdh+El7fAsC6Y/uRlzxtKAotBYA6wUXOU1+/dcSXBvjg6qcLD7B7XwWbd0KDcxts3w7wurCTr/c9r+rsBHA9Bp3WHkbFHFTi+9/52fnzAK8orn9BM+t1Ji8i2S3oZaBZz7+u0oim0jh0knFFIXEoOM2lNq+nggLwVQBUz5tlUFq+6IqWvr9KmiBK3i+jx0q6VlGRMkVFxUL5OdUiVtEklF1TT7rRlpqucazV0/kliEirHL623nUVkNLqf6NlsErKHP+XHmc16K62wlpwDxFUIZOEAdutuKhqIwkDDYR02szFQVj43wZonfUAK85OvVoaPQRBH+GfVq88fcdO7jde9vQh1P53Y1AB2M5BocwDtPrSAB9c/XQR4fUANEAfJfb0xzsBXr+/06/5fa/pbAFwvQoq8UHGSBK2J4zgrlZC2OFm/g4u1NrukoF6k8JoQFNJXGU0ijAL5RrGdgLdaVWbwnf+4V6qFNUtqCUQ6/EZWwEcRVULa3VQrY6XqxeKVRADiAZA9sI31nWJBGiZrbSW79cyyUBNkF11VFJi+SyDTrH6N8rdWHm/SO2FVuVeBeAOZaDuJU0uEo5lNbOznz9i4IKsJh/2wT/91/vvMh+6HMv4BijdX4Hbg55YboX8OfXI6Qd3erv28qcPhqDN6XcCuUx87ZYRPwqWD65+2hLw+thehKvfh/xbcGu/Do3T+9XLzu742MofeG1HGAALAfaIAj2epcY6TSWyKIjSFH+30GGqUjIgLr3nBYpT0RQaVRUSA6iNwusw5MBq2UAJ4IkSiK3giaAcJIXr26nMolv2hZqAWsuauurzdQKqV36wNe5HZYVrLVlATeitAbbl/llLwLKSRtbxM1Zt0VbRD2vp4TxgawKkprgQKcsCWLVEYjstpmrCs+ZKBJp5zSu/8ELjpssP8OfA/i9C7oVf+i7U9P8AYD2/08v0F28cxAV63YKTDmhjlmF/6qu3jPgBBXxw9dMWBNir4db+NTROAXj5LoDXWy+F6/7Q6zqAscgVlNFncBa4VjBt2qKh85zqyY0eO5MT0ayxYyUDDSVGiaYqNAKDhQjAbARhliHMVvISUNTDrqlZLcIwXSUBKIPSylIAURtC6wHctUC2AkNvFqCu1XCvrXFdI8pWJfi0d1drXmkla6wncEFVrWo5cBctqegrFiE1DQPDlMVFCqD1kg6rGdRoMhSgyWYdr7tLxF7+YkOPx8TPOTMiX4X8NfWKhxcuhfJ85Y2D6FFlEOqZCuA69uWfjPoLsHxw9dPWhtd9IWis/hh2XwP5S8h1ALCXxIP7t7/eSg21/eWMGM9mxGojlC1ZLHTeIKHphr22FyGGJtKXjmSgcdAiCsoLUFoAMItW2RDAbGjVwrbqIFtdMlABZNcDs2vBaKNguwXKfEMLtKpBqvfYpabTtUG1HFadKGxZ+CfLuQ2puOUArv5TU0zSi0CYLdAmyFKOHbGGDh80r+nppv2hoHhAtv+CfBeA9ZIYGPzyMwex3vVAneuC7Qpsx7/0o1HTr2U+uPppuwDso/ueCJu/xAE95L8AeP3BpXDdH/idqxAwX8ZEvk8T6T0Kze+CntTkJDCSJ5ERTpSGfd+aFtFQMuDXqvoTgGwAQFZCLHAMboMItVLTWOqdoBRgK4OkZ4EWJRWhtabVVYjqr6qhbo031x7tiCqtbsPtLm3gT3SNd2h1zwFl8CrqA1r7JbqYtQFVCMioTRWoT82RTdIIA+xpmkrR13IQns2MZYkk/NC2BGKA1jl1AxKBcFjoTzxuXrFvNz8eDIqO5RX6UGcH/SCA693q4YcvmQVIr3rWYATq3hBcsAJ1ceyLN48uET/54OqnbQmvKBlA7euvQf4u4MT71cse2/HTRQCvfcQOTAAV3dJ0kh7UaHYPIzzMqTqZF+HzeRGab6RjTedELOdLBjYOtJTojDkgy4gOUBuAxihgSw5Wx2QV1aJlVdLJVrqhqyN4VSJNUeXdLdPxV7eyroLTmrBcamYVlRdolbnPcnz2Iojm0LE/7nPMCKhCTvNfkHIKqDQY0GkLnF/Q4oLDaJRzC2M3QOYCzwkX3mwb62JAo8lwgK5rNmzfXqvrysPmVT3d4grBiTk+yR649371xPQM++I7/+X+iUulPXnNs/uZEGwXVMBuuP8LsB37rx/6VlYfXP20EwD2Sti8H7ChF7Yfhm7my+rBx3b0aPyv3njV02BzyFvnAWC7dJreo1Kjl1CWMUTwXFZERiyhrmmFxanvlTTv5Jyofo3aNDjTGMUwrAi0JCChloqA46pLc9utSnrZyrBJ1wRRUfV2r1EfNkHsSiltKJhAtTdXQ66o9XfqfMCAfw0EUWeKHwBVwiCC6kWFwWiIxkIB1gqnrZsArJYF0ArZQnDlxN4KIQFW2FKELNQhg2xhv64MvQiE2XwjEoFQUGjXHDcP7RmyjkUjonclQceGz6kP3HtCPZM3pO/XR97x8ftvuVTai9c+px/dWw0BuOLDOPKFH4wu+63ozk5+53sp3ezLzp4CeH0F7L6OoN9XQl5qnjnw5wCvj+3gy0bfhAOQI27vnSfhmbwIzyjCDAZZco9Os/tDLHmUE20qK8LDGSsyJapoYbGDiQToUiIjuvwatTkJeh/gEWFCD5yqAlwqwi2CLDCe5uzrzlYlNvCqRRgrCasqyoFOVJq7t+GW1hjAuJB5cawKVT0BVIBTuwRMYk+jG3JhFG457gt7314sZWzklDYF7Chh7XGlNRqk7UJQxbA4wKqMgktFaZSu0owLcggJA+BajNH8VgXYSIAt1wuthw6auw5dZh3p7uSHoCysySn20E9uVb8zOl7iPivltHk7Pr3uef061OHdUHgYsnUK8jhAq+8x4FIwbvhFcGkm89ED/dBcvgt2nwL5U7D/cfXQY9mdeK1/9carEFyfX+s5AIDtCbP0Xo3l+wFGjDwPnEtZ0bM5Hqw4hedIBmJ+TdrSjZsiAZbClkjYVeBdZwuv7YG74vydyX17S51tBWClF+E6JNdwYk/VY8dsORAm9wVuAfYRTuED+J7peQ8d9m+7KdOARrWeVqUzFlbaLC4YjGQswyTcBlcqLa2O1dWyAGNXWVw5am7R8ipt4lh2HK2bjFKT0q0BsHCNibUkAh3tPHLVMfPwQL91JBAQbSvLyujwOXbqxEntMce6Wp6+846P3z+2k5/r1z+/n8LN7ZUeAzhJw3b4s98bT/ktng+ufrpUAPbMAfTv9w4iOzf6YfXQo9/didf5wd89/gzYHFzrcwo19YiS2B1iqX0qM9stoc7nePhc0oydN4TmlRLQ5RTvAirwZy02MTFBNIWIDth2UkFagdfigG8RqK9BABJccKgU3GnJWLUUIS0nqMjA2xm4TSlA0GVBARAYXYC8KBoDl5LpdFpv20lXGT/X+s2KXhbINg9f2miKh1iwv1PtiYVpG5rd8wirpi0JsMFVgqoNrhbCqi0VsOUCwtG5SqmADa3E3nfKUW4BYE0AWH4xARZGVGZLhM1Wur/BoFCPXmns2z1kHW6N86F8nqyMT6qnT57STs/Oslqge+bt/3zfj3Zy/fiNF/TH4X7uh/usQ8GdB3Cd/sz3xv3oV5dY8jvdS70CHHzsewCvGCr2DZA/ZD5yGTqp/iAA7OM77FLxGtHyGq71IQDV/IrZ9ugKaXs0yDKtUTWxD/LRFm3pOlPoE2krcnbJaBnhgvFwkC4l0qLTr0XN7NBJTCdkL9DoHiDDfo3RrlBQoRrgq6bazpsATIiFhGIJaU5EWoEOTJrYcIYf3+eOHyZJMdymFwvfNyTcLMCBZgBoJ4FiJjijUwCz6VpA6e7X3UP6XWlDqbddje3pUXZFgqzFMAjPA5gS23pcuWxF2b6o8H4V/If6wGBgQyW8wkt6Ecw3kRBd9J4VwDS94nB+cN9e82Bnh3VAwCkCpD5264OBLz9yRp2sY4Fg2mnjdmT6rZ/v0+G53Qu73ZCnIT/46ZvG8/6Tc2km3+Lqp0ICaN0Dm7dDfhI0k5+H7b+olz+a3CnX98HfO47X97zGHxJBY2qiN6om94eU7G60phlCH0kY0bPjiVgqa9SGYT+tOXqOBgg5qhByWFdIfxzQNRJSZOOUzXGSypgkk7NIDrLJnRBdjnKVuVHumeNWy3lfwOcsbptI3cyoI4GkRQwtkgNaY8k5oJgRztgwEE3SvzMXJh3YpfUcGdL3GQCrubxtWUVwzRmcGxaxbIurbXk1XEurZXsTgAGMZVlEuBZXHKtYa1hciS0bkNWEMSraolpgKWlcsFCyAZUmAdCXUX+8f5/Rc9l+87KuLuuAqorQ4hI7PzKiPnLylD5sGLQRveZNb/+n+87ttLrx2y/swxVX/XCzdtveIthjn/z2+Ir/1Pjg6ic/lQPsjdCsvxV2Q5D/CarJV9TLz+wI0TvA67Owr1zv9xnlapu2NBjTkvuDSm6IUmotZkJz89nI5GwmOiME9W1tdSadkMEgJTcolBxoi2usJa4TA0hlcdkgKwlDWlWRPIJBhYQhB4FqFSBV18pqudkUBQssd5nUadyk+BG1AcK2wtpzyQ600gK/FnzJ4mIrgBoAYTrLGX2ME/qYyeh54ttQayYMh5w3RcB9ralyQZR7O0jOEMFCpwPv6/B39/WeHvVgQKPhkM4w5GkYF4uhJCAP4JoHcM3khGKaQiC0oncDuH+m602gHFy5a2R3wJVUAddgQGEHB6Ide3pDPUGd6F+9ZfrOC1FOqLG96gouDh3MH+jutg7oKomuJNj4+IT6+KkHtcdgfz3rDB4DaN1x/rnf+KK+LriPBwSanwkZ/r/fmpzwnzQ/OcYOP/mprFIcevRm8+HLcNrp1ZDfDPmXzdMHP6IePrPtp6KAVX5KbMlAaH0dNLMW8u3nMKvM1Nv1pd0RPXWoLTjz9P2ts2YiHxxbyEbGp1LxaQAm7temChYnSoZClDxTU+hAV3tAAuncYo48NpyQUKopjHTA+7GwKqkjlbFIMmWSxZU8EI1wQNPGU9zoQZUE4bOKyogKmWFMWg3oCIZaKIhEiQCQDhFIQVnTXpDvLLcXxLXIMhtYqS05AAjugp0uldEn66iZZfRhi9BH8oSihMZfuVzh0YJyK/YnqJn3aEi9f2N2+dEizBEGt0lZTHKxkODZSJBi1p3jUAF/c7SrGLtrtQeBohGm1vtyPxLStMsGW9oHe8IdumKpOJsihEU304iDdWrvHrPj4AFrYN9uqyMUFNFEgk0ND2snTj+sn11YYClP+9ToeaCl+Kc7qSK96cV9cag4B+Gex+HlKLGh1ffJ6idvP+4nP1VPALDtUE1+FzqQlxLbzcpHAWC3tfusD/3e8X2weW4zj2kY+e72wPKh9lBqIB7I9cGDZSWM4ORsKjoykYxPmpxd8rCjEBKJUPJcoIUrejqDJKAzMjmbJam03Se1xnXS0YZWV07mF/NkOWnY+lUHfxSNkdauKAlHVKIhBgmcPzZs0lyDHChqChBOAYopfpmq8rgm/FYmlSeJhQzJpvMFSy1TbcurA08F4lIYzVmUPmhycgogdoz4llgXTFk2XwzMEdRoCsqvUOfTOREv1AN4PwB/d1/v79MOwy2KuhIAGHhg1C2uKoTrGtVQimM6MgG4ORl04+WxuPIaFlfXEwNviQW1/QNtrf1d4RaFcpS34hotHKagDZ9+7dbZplpcFYXQA/vMrv37zP7+Pqs/oItgMqlMzs+pD505ow3PzinNkqJ8723/dN+OWI/wBy/pDcLDdJngtA+2M3APz3z8G5Np/+nykw+uflofwJ4+iNPrb4F8PeSvE9S/Hj4ztV2v56/fdBzBdX+zjodTpctpqwcDE+iKpfVFl3d1R5JDcT23S2GCpQx9ej4TGR1daRlL5fXMpVZ/gpRcHiTkhbGoFujq0MnUTFbKATB1dQRJa0wlc0sGmVvISm2qq1UNx4OkozcKkAsjgVxWTv27AleqqkTRVWLm8iQQiwCXKhJScysr8DqGOgEpH5Bb+B7SDbIMWlepNK+S4j7+r2iSgfNASisAsitzCflakX+zZQTCcR4q5bKMLpuC3pPj5AH4mUvaHQ8WC8Ck7r5WGTWoRyoA0BkojiMoV1nRZ+zBfv2googwDAaEaUoje15GxHK8BgB56ppKUetIHamAJcEV/m4Ke8ttcBVecMXTamuJ6Hv722NdbeEwo+jS1cLTgjvOKb6GSgFbjuB610bLIBQU6qGDZu/uIXNXd7fVA+CtzS+wmZERdeLhR9Xz1NRGmuzJ4PG3/uN9294LzFte2qNxQffD/d0DhbMC4PrwP359coH4yU8+uPqpSQB7HQ6OHej7IvTen1QPP7ztxPIArigV+GVkqmYd0zBFoDwwgcq4siu23NcbSQ62hTKDAdUKZwxtbiETHh1PxMemk9H5HW2yo4RFiXi2SskTd3UFJQiOT2Wk81GE1e7OIJmZy5J5gFbbnZVNhb2720m8LUCsbEbCqqJrRA0FiRYKwTZAFCRZOHh6Zo6o4TDRI7byIz0Lr+EzWjhCXGOocEYW7qouy5Q+luxs2hmhFuesJcg6q7nQOotvZ5I5sjC5RLKpHLxHiWO8LSQmVQn0TM6iP8tZcmrTTw2kI7u1AwC6IQOtp0CipnR3RZyoWBJgpUVVOuZl0n5OS8FVOODqOpegor01pg3t6gi3YawtAsDKMO4EgqttYWWOpZVJr1gW+9qtc+uyuHZ1WZED+43egV1mX0c777I4s2Zn2dT5EXXykUe1qXSaSkCPhegswHeuicWGWtj/BHDdtoPgP35ZD7qy2wtP5QEAVwwj/Mg/fG3K17H6yQdXP20KvGK9wUVOb4JuuxW2nwYm+C/1ioe31bTOh3//OPp1fU4zj5nMiracISLVHrbeaKKzP7Yy2BlO747qRrslWGY5FxyfTEZHzy22jmdMdce4eAG200JEvFRjZN/uXREyM49WVlNaL4d2hUkmy8nEdEaa2FwvAf37u0lLS4CYRo6oAY1o0ShAaZhQVSk6o3L0rWY2R9LziyS2q8eul7k8vJ4nsb7ewgR+AV0Lr0XRY2phxGDvWw7IItgSoCIbkZgDtLYMMpvKSojNJDLSEkuVYhNK7RBIMwCwd2YM8rDwtbD1gese/YCukJD01Wqh1dX2GCDDp3FbPoByALPoOcDWJcPwAcDWhGyDLdS49rYWZaCvKxgOagrAKowzBKPUogqAqu1MAGCVAawKBFfb6orW16/9dK4ui6umCbZvr9E5NGj29PZaPZGwiGYyND05pUydO69NPn5Wm8Nz9X4HZRHRoHR/1cz0vT/52H1ntuP9fuvLu3EF6xDA6iFn4dUjsH/+7/9nyl8T4CcfXP206QALNMFQ+/pb0FRj1KF/h/xlANjcdrkGgNefh83eZh0PG+KlNEfJgLLWZ2OBXHhvy/JgXyw51BbKDmiK0JN5lBSER0eWY2OjS7EZa5t6KUBoDRP+CpXR3bsBUsemMgCqFgkFFTLYFybnxtMknTFtn0Rofe2Kk8ED3QCNBnwxQHSc+ldUUiTOUmhF6+zSuRHSsntQQiXC78q5Ufm6NNBrCcE63gPEqptW+trxAYuWWI7mPvc7ttstx/cWSa2kycL4HDHypm2FpbacAH8eeuBkziK3p/Pkfr4NI1ddyHR0j3aZptKQdHnlWl3RmurAq9SxmvK13HejZAlXtwH/dLR3sJ6eTj2oawCrAKYU4wwIx9LKbYAFaKUOqLrQ6lhfAVznq4Jrb68Z27Pb7OrrM7s72q1OrAZLC8r8xKQ6DaA6PT1TXa+KpNwaZlNNlggMA7R+a7vd53f8IgCrkG6tDkFhoDzgUXj9+N9+ddp/Pvzkg6ufLjTAXh6AZvllsPtrdp+NIWTpV9Qjp42tfu4f+YPj6IMVvScEmnXMvCmC5ZKBtRJ2rLtbl3sG4onB3lh6KBowuqAMjeVccGIqER45uxgfm0xElrZJo0JDgr9EpeTgUF+EjE6lSS7PSUtMI52tAXJ2NEVMqTe1LaD7r9pDolGdsIBO1GjQ1pKWWES9RGnvJadniR4NEz0clu+nZheIhlIC5zXx4qnHv2v5cVxorQS5JWGsEGDRMoz2PmoHQrA9E1BiGiZZnl4kidlFZyEYKUgO4CvZrCnuTOX4vfBVY6e2AThgM0zR6r5WVZoAKixcb94Q7YX6AUUGoFqQFx0Z0q5UFBozJLBKU2gKINW0bJAl2ZwIS1kAlzcLQ3zmbHgV0tsZU9TcsSOXt6qKHD8grEprKj5TTAYacKyrxJIxB+RrqW2V8gEpFfjf2xYK4BqP88DevfmuXX1mV1cX7wwERDCVYsmZGWV2bFydHT6rzeXy9flYRYmArtJmhtLGGZnP/fE/3LdtZrfe9UppYR2Eu3cFRruDW/oYvD7zN1+e8QMI+MkHVz9dZIB96HKkBoy89RqALtRefRryNwBgt7QFFuD1MLGlD01LyQxvz5skst7vR/V88EDH8sBgS3KoO5IZCmtmq8mV5EImODaRiIw+vhAfm1gJL2/F8gwI/nTFItcP7gqT6bmstLQitLbFNTI8liKuARM1pEduuJyoOiVKOGAvkiKe6XzvVL63nmXhmFIi0Cv/hhKBzNwCiUqJgHCPUIl3SSWJQMlvVv6Sh3GlS/uCGy0iAdV+gWCbWkyQxfFZaRJETwaKpsCfFHydTuesO5IZ84TYgRZYuCY1Z4g+9zXA2gzczsJzn82LQXcf38e/u6+v2K1frVDSimAKYwA0lS5xLvJocTUAD9PwLDkeBJBIlzCUr1VYb4deCNTs1Ucvb0O3WqwAq/hRAVXMtq5SRyZACxBrZ0ItpqumemZx+nxvr9nR2Wl1hMM8aho0PzenzE1OarPnzmlzi4usYS0pXGMqGqLNXmT0A4DW09uhTvzZr3RSuEdDcNeOwD2LQB1BC+vpD35pJkf85CcfXP205QBW0FfC7q/gS8ifgZ7+f9Qrty7A/u0fHn8xbPY00wK1lOJ9XKwtGagn9cXSLfvblgcGWtKDXZHsYCRgxvOmkphNhUYnEqGxx+bj4+eXohd9Ja5O6F7FsF7W1R6gCKzo0grlAd0dATI8mnKkAUA5mkaOPe0wYQFFegZwF1CJUkpcDZgoETg/QlqGBh2LpiDLI2OkZbC/IDItNZWKCgwqKmy8sCyKkLrqxnqw2PGdJeUBrLioC1MuacsITMOQ76sBHU2BaJ1NJVP5H6+kjNOkhist/IrzQ2vgdKULuzjgmjdFv/taU+k0EGLB0ghQu7sArpTk4O8FjyRX7tavgTFMiwuusL+I4GrYi7JEKss7pEzAkiuqluC3MlI+IJ1GABYxNXP1lZe3ozSAIrQyB15JwdoqYdWxttKAZgQiESMSDuXDwZAR0VUrMMfnpgBOF6am1LmxMW1helpNiA2UJmoQWiNs0utZoQnp3B/9/X1f3+rt/3tf3ckwPCuU3xEA1xDcoUehKE9/4Iszl5w3FT9tTvIDEPip+ZXKXqT1KfPBw/9FbAvsayH/unnq8BeA5/5bu/LBrdiA3UxsyYDelBEhdFiRAF1IZhuTDFRLU4nwMmbYfRBfD7SkWg91Lg/uiqeHrupdePL1g7Nxw2Lp+UxgHD43PrwYHQeYnYH3LtgCoZCuxoOCvJTjFCzw23LCkAuxegBaz42lC14DKJDJ0adfQdSwWrCyrgLVKlSWnp0nka4uZ7EUIZn5BRLp7LBfe2ETzZqZnNS+opssXETFVKUKu9YJrZ7RvvBIDYRczi5k4AN00YWnEopHSD/kXDpLVmYWpYstLiwSjIYjoVj452Pp3LXLy9kfptL5il4ImBwD1CTUWtHr3asRolT44M1NB124rYqnjCit82/I/AqjCvpd5c5aOERQpB8h5/4pQ6+7VNgBCKgTiEDA94gdOwCN22hhhd/B6X87MwmqgoZCZjASyUUjAKmhsBlRFFMD4rWyGZpJLmtLmbSW+dLNLbeUg+pGrDr47DcZWvNOG7Vl0/te04kuy/ZDMR4jtvTqYcgP/eUXZ7LET35qYvItrn7a9AQAixrYX4Dd10D3jg3aV+D1F7WjD24pX30f/cPjV8Lmmc08ZiLDOzYiGag3dUczsYMdK/39Lan+7mi2PxYwOjFy13JWn55NBycnV0KTj8/HJ6cSoU1zXTbQHn79zFSirb87RMZnMtKHKi7EQrlANm8V+PTKp11BIu2hQvNTpKgye6KHJBB6rWyOZJaWSLSnh7gSgeziIok4rwvJ4iQ9MkGyiSzJG1xm00Sv9cL2qWSTkpQqKACzekgnnYNtJABbSXoAogiccqof/q6gN3lWeq6lSFhKPOgBQdFcKLe/l4fjoYzAgHNGy2swFpY+nxLL6cfm55M353JmyX0Bzg6vgyrFGn8QFT5ZCrfCpr4K4FtP8jgJWwVtrOx14e9PvCx4KKCRsNS4ClwTJyxDehLAMK/oVQDaEG7rX7klA6FJV1gFbwJMyV5z5cF2RNmAbmmxaD4SiRnRcNAMB4NmBBdhmQYxsimWyWRYJpuimXyWGgwJmFjobYB+/fblu5r1HARUkoqG2HyTH68fvuXv7zu1Fdv3D7y2Q4NKcjm0N6hhVdG6CmOOB9/7hTlfEuAnH1z9tM0B9tRhaODYC2D3VdAdIm18E/J/AMCObyF4RcAeatbx0BC3nOK7miUZqNvio5v6ZZ3LvYMt6b7uWKavLZTr0xgP5i0ltZgBmE0FpyZXwjNnF2LTC+nAhhd67GoPHV1eyD1HVwRxra0xjHClMTK/mHOkp4IMXD5Adh3qLdjcSqybVaDV9SKwfH6MxIcGbEUAYM/yqCMRKEM0YylBkmMzuCAIYJXLMLEGQKKJoV8hS/Lh9jHl7D6GiAXaOHTdAekSa+TUKHzGtEPAIrwy4kCuSlT4nIo+ZYG0cKsF7H1aOE/3QqiEV0XXpSXWbWpz6YyEYgtAPhAJkVAkjE6zRCqZPn/mofNfN01LLmiCr4RrAmoFCe5G76GoburmJeMLuspyu6H0pEOBQ7pGwwipAK8SWB3XWLZXAdfDAIKqZQcmQCM3VTiNt5qhzk6hHbl8d28oaIV1zQqgy6xsRs3kMiybTgKsplkGSpUzZ2EWVB5qexaw0HwrrbP/e/vyz5pxLSgRaImwCdZca+sIQOv/bLX2/EOv6whBBTgK9+IK2BoArg9A/X/4zz4/5y+68tOmJl8q4KcLV9mulF4G/tc4deQbsH0asafm/8N44MiPYPufALAPbYHT/KFzXlqTOjIebqJkoN6Uyqv5ExMdI5jd9wZbU2172pI9PdFMD0oMDncvXfscKtSspSYQZudTwdmpZGh2ZDEyO50IJer9LV2lgYCiPCOXzZPWjgCZmstJsopHNekGy5UIBCMB0rO/pzhR7IHWknnvCqrO1Ow8CXd1Ol8VJD2/QMKdHau/IN1Y2ZCK5NBzcLf8fRMoCFf/21sLYBb9tVqQOVmZX5HfmZ+YJ2YOPmM60Erl/XNCZQkZdQtNfZbBbKstZlzKbskQn6XnghbinAGAatjBEwIBeTA9GiJ6OERwhZrGnCqmENra3rLnCddf8cax0embx8/PPLCmwYGSRrF1/ZBJV1lLy48rCnrcdUAtteUAwKGC4nIpgbIOVHgIYFN7LRwNalwLRqxAMGwGg2ErGAlbIT0oAugTyxLqimVSa24mOJtOKQCsSp7ICGnCDjTgaFulhEAOVtzQbChEENTeNifhs95kaDWcNmnLpI/8emurEMrVUIUPwUtsJzB4w5l3f27O91vspwuSfIurny5qAmg9TuxFXNdDdcSpsC9CvkU7euqiNYJ/9+ZrroLNjc08ZiLNuwxLhLdS2aP+bwhgdqA12d0Ty/S0hfKdLZA1JvS8xbIrOW1uMR2Ym00F5yZXQvPjy5HFdF5d5dLpioHoC0anc4esXJ6oAB0rSZPEoqoExkTSLNDNvqv3kK7dHRXkrKIqsKJG1UhnSD6RIJGebvm+lc+TzAJKBrql6ZXlslKWgLQgbWkApguPT0iJQLy3g8Q74qtJyZPGz06RpZllaU3FELPp5RQJx0Kkd3ev9A4g3LBMwuEzZzEWWmERXLVggCCroGnQ62+2XISqALziZ4kjO0BJA5IaY2phoRduM5nM7KMPDt+UzeTSJdApatLjxqyfqx0x4OnUuz7JdbKget7AG+9aaoVcbOYFXVL0rPCkw8HDQZVGpBwAilHVTKYFLE3RLV0PmAEtIEJM4QpaUnGqP5WmqZUESy8vKanFRZYSQk1fc/RAp70ASzheBIQM70psWKXoXYCgVwHh+HC1PQo44yCLfuPO5IYtrppCU7Ewm2vyY3rzm//u3vu3Qnvx0d9oHYTH7TjcvD0ArhPwyN0H+2ff/umdHfzPTz64+slP1QB2CKojLuR6PuRF6Nq+BNtvasdOXZQY8ACvr4DNQLOOh1KBpaS1S5Ca1quL3yBQ6cEgPtia6gKY7WwP5xBmO4KaJekvY6gryzltHoB2fj4VWEwbLWFT6fq5Uw8tkvYWjSyuGAB59oKs6flsgXzQ2nrsWVdWoC0P6FkmEXlDgp0SCkqLJUIrAmGgrVUGss+nUiSQWiHnpvNk75UDRF2cJxw+h35icwCsKA9AYDUwmxhMSSUDh3atglVvwoVTww+NOouqgiSfycIpUNJ/oJ8EgoGaraYF8KqFdPn5fMqjuBDlJCic8qVEC///7L0JmCTXVed77o0919q6q7pbUrcseZFlW3JLXmVj4wdjP8wMi23WxzbADPiB+QbjMY8ZhgE8CxgYwGOzPvh4DMt4AQ8eb2y2sTGyJbU2y5Ila+ludVdX15pr7HHfOfdGREZmZVVldWe3WnYcKToqM5aMuLH94txz/seRJWuzBDPaT50ZKo52oJ6QrCyv3XHq0TP3jUH6XaHzAqH2QuFDpOeNYXD2zOzLKBYn8ZzPrl1h6uzGvCUE9BOWPDE3H9kzs5Hz3CPOcdtis5oea5qeaIwnbhCyoO8yt9djfqvF692uhs3LoygSKwi4vVQOK9V2RXC98dhBledHUCqLDYCCWJGWdiXPqiw6kCZvqdccCbI47a9u715UjCseuWSmpp2VPzw9O4PQ+r6n8n7wrh9uasj9z8FjeQs29ByC68M4vvutf7i1XD61SnuqrAwVKO2KMOP5D1CX9q+G9z/v93D8TTh8Ow7/MrzveR9H+vhL4wX3PXFZAY7D34JSQ5jKNaLhg63q8M2elxy40o/FcqfSpQH/fDz7zjEi86qZ/uxSvT8/X/PnFqre0rXz3RtsY7UpxJfhtiM6dDwLzm0a0MaxG9rgexq0+zpCO4PDz1waQZ1ht2uwuSGh1Wg0gZsm+OsKSLWKDfpMQ3bTEx2YjTquM4ZFakXPwzeeSMWxJiKNYU1kDGuEVBPTd6EPnc0uVJvOjvSpGxxqMw70u66EVqYiAaC9vgXzS/O7kh0itoxlTXyfQGngcC1KDxR0Y4naCL4ZbjuVsuWaDhx/P45DEAjbhk6iFiStJfjS4YWXzCw0rnvo3kc/EvqBn62KTeB+KLpKGUwUWLD/4IPCnNTbr2mDOO5EBQ2wWj22GjORVa8ms7V6YlRrsVGrR4DD1bRQELDQ8cxq6Jqs3eNBv89Dr8+W/ZD1Kc4VQRWPLVhRTAQqNK4xispgpIIlVCgHvSJoquiA6vqXUgMyPAAkmCpAFXk8K3lcAdK/WeoQZhf3QknJWLhhyRSdQeSR/pun6h7wnh9pNvAY3oyX3U2gXrbvweGDP/mHW20orbSn2sFSNkFpV6IhsFIA4Nfg8C1437wRH4J04/wLHD5r3HTfZQkj+I2fPH4cR6+a5jrb/eRgGF1ZIQO73BuYFCTKnIUjrPLcq6qvma2wZ59ba0NVa8FcLYCG7cFCM4K644POE5nF3+4jjNUXwIUGeFAFL6mCi03g4RAmSn0sIphj5Gl15Nq9c+fBPHgg/dVxFa0EaJ4Lydo6+Eg2sVOV3feqHqiQY1ISoBhWTedQqdm77qzn+nDu9LoqvaQxtS1ISAevOihVBba1DFdVs2RiV6OG0O1DjNAbhwFQvVJJi1Sy1jClRNZOxQ7I82o6Vg6bVGaWvK+aBNhEEiBiVvzkE8ufWjmz9pjYER13/WZvrbHtE8WeM9GLhJFojSaCaT2uV6vwzEo10R0nNqrNsFWpRBq9AFAeXK9lzvV7etjraWGvy1tbW/yRjU3d9VwevfJG+yWWxeciVeqVigqshLHwSWUgVkUGjsT4PYURIMyu4HydiHRc1XeU/+je+ryjB9NAESZk1awBtHI6C1n+dwqtZDJUQLq5P/S53gWHChg66zcq/PyUr79P/cSvnThxuS/6331z8xheOrfimfcsbNjzCK53CcEeeMvvb5UJV6VdMVZ6XEu7Is14wRcolvLvaAjve8H1CmDhZ3Bohfe+4MP4rPmIcfN965dyG/CJdjeOKAHh0LTWWXf4xlY3ca60kAEZuSkkqA690LJhf13+11LTPNpw9Gd3Qw4nlxlYxiw8cFppFc00DGi1Q6g6EcxWQzhylQFHaw44vAsNtg621geD+ZJJI2Eg0CLEWjhEJgS8jmBbgf5sDCF0wBc10juSsJf9OAl6yiBK06YwUSCvXNx3QaOkJwJPndxnGujmADgJZHd7c7csA44cOyAV76n3mVQHZDwt0pECWZ6WcmWDGNW05SL8baRlCZ1AqvlRmJeIlYyLAMsQyPWqA9ywUoktLn/c67ngtrpg2hZOo5qlHNsklOEDpumoylxJol1z7PDXzszUjj78xZOfFNtDA9g22mRDmMkmw9ZhTwbngtXrkVWrxVa1FpmVSmw5lcRCMDVt/Nt2EsvQE/kMCUOe9HuG4bl60O9pvbU1Z6XV1lqtLd3rdnTfMdnRwbEAzwtFN3sb4pwFGlXZ0liqisvIncrxxUcW2MVtdvGYq1JYkj6pxgD5pEWsIbUm8qgkchJ5WjWRJV7JsAEmVV9Tbdf0PJJ+WlmxN38rY+wC7xEJXdNsuk4g6oa/+3Jd+3/wY3UbW+FmbPjjOF7Ar6g4xp/82O+0TpZPotKuVK9KaaU9LQyBtQ4qBvYb8XlDgYv/BEpS6/PGzfdekgSB3/zJ41RjnUIGpiZn5QWi1rvMKgM7Xf9CZVTv6z5gaMy86VjtO5AUqhsuh0ceWYNaRYduP5JMV8G/e/1YrRT/ue7ma2CubkBcGyRJIZ4hyPbAhr4EWou5YPO+HJuaK8csTYQKwYAgsRFibRxb4CfZ2ILOyRXwQgd6Ph6eSpM0ki6iNdKkK579zcak7+9wF5WcqxK5ZKxuFEmAVfL4aWUtHIxqBYxmE5hh5CRJygNu15PJXiStpZyAiUze0g1Hgq/8TNdAEHYffvCJD7v9oLsrihZzxEZgtFqJDfKKOg6iv5MYjh2bBKOWhUBqJ6ZpgYF/G4YpjKwmgx9w33W1wPM0j8b9vuZ1u7rXaWteu234vse3lbEVYrLY2sUZrfbMq4xDCLdV0mbF5iCRBxHGiRwraaxUFkt6WVXVLBrT+0IieP+W5x5eTBOzZGyrkrwiaCUMVlWzQMWz0knPpLIAjnt+0n/iXLTy+Ep0QS/BVZut2ibrTvGapN6kP37Lr5245BrXf/SW+lF8M3gRVbiinEA8de/E94A7/9V7WmU4QGkluJZW2pQBlpjmBXj6vh5UOME6fv4ojj9mvPDeaWf1wrveevxFMOWQgVYvWcSH8GULGciqk4qdrvnJJIHkPM9YtI/P14xbydO52mVw+tQGOJaOQB6BhrCn61wmSGVL3HDbs4EjyJ19Yh0OXb8EZtXOyWY7e6UlWnGwNB8Btg8m88HkHg74GcdGOtbCDhgMxzoD6ZqT2KKBHxHoGhDGGg56Oqi/IzloEAkNYjkgUOMyidDV52Q/jnC2E/8O9kaq50fAyHPLMzDm0jus12sgS4ulbeH1XQj9SMIr9bFTNS6pmsANMIy0zRi9EITx6vKT/+S7W8uGkWiGjgOOTTPRTQMHU8ixgZ/xewMHXdflNEM31AsY+R0Tycw8Qhj1g4ATlAYu/u26OkFqiHDqdzq63+vp4Q4QKmC3L8X+Er7m6rxy9UFjoemwRigLDrAkQjoNCVLxC6nliu8DxLCqBKxUIUiShLvHn7t4UEnySlAFpqA1j21NY1ohraoFm92o8zgC6/JGdMGQZuhAIQIrU75UP/Xjv3rijkt1H/jTf1NxsEluiQW8WAjtAJ4DX8LPn8MD9aUf/O+dpHy6lPZ0sDJUoLSnnRk33UcPRJKIuTe856Z34/jrcSCI/Z7w7pvuwvHH8Rn2WeOF94RT+sk7cXgODovT2oe6w9e2esnVQlyal8cCoOYe1Sm4pIVpMHuuZtxEnbg0UDUqMpncTYKfGqcqR/mvG6YB7ZUNWDi6BEdusGHl0WWoz9egcWB2mG5ECnkEHZqKCXUDhFBtZowXUYl7rt31eamrqtsNmeBkGjHMHTBwHIGh4aDHOI7B1COw7UB9xkHjuIxG40RBJhvuYk8STcbmEuAmgkuYpTENNF+M07PDFtHfgg2DLAkvkc59+j2FGGgsVrgo0kgDrsIPdJuTC1vOR9tDIQ1xGOL2JTLGlkCMa7HSmtLlgvT6oYnr2SuS2OskibuJgBdFEY/CiMdhxIIo1CMCUt/nYaeruwilEQJp4Pta6PkEpHrQ62thGA6XA95vfCvs/9zdtbLXRjfpbXT9XsVi5lUL+jxC4UwahIq8zyhaQBYjSxL5MSEUZaq8sNRrVZqsCahCsQLU0ZLQKr33lOC31oo2Hj0brmx044sqO03vSDV76tJXBMF3Tfte8N632kxWtkr4i6lwHX5FHuLbcfj8D7yrs1k+UUp7ulnpcS3tK8YQWkly57UgvbCSFEi4+68RYB+52HW/+6eOU+zX98IUQwZcXzR6vliYJq2mVzUbA7ATLL+31/Xogn3TQt14MSU+URb/SofB2kpL6rcSsBoaV1WpUh9vdbYK199yHcRuH8JOB6yFBQiDCCDwQaO4TtOEzMtKwBa5Pph1VSE36nugmTokNL9hSCgu7mz38cehv3IOf8aAAAE3jBOozthQqZkqHpWztFTrzrtFsEggS2OdxpqCHAJbhCM5jdM81MUsPyt1A/qbZ3+n6yneVYcDS9kQsSkY01X8Kvn/ENRjzZLe14QgGVnLd7EtQlLhNxQ8x1xO0wyK+dWRzzQJ0J2t/sojj5z5OIXl7q32epF6r0M7MexPJScyvozl0hE9L1mNYshLfjar/KpsDXje+F1PrGbTHIvNWDqrZZ87XrKChzJEntcWZ/W5Aw1+Le4fpzABPxLtIBJe5m2lcZyw/vHnLCxJhYAsHCCXvKL6sCI5txFsPLrsn+/7YipJRjWbnb8EIQL/3//9KyemBsMfeJt9EFvkpfguRMBaxfOH3vg/R9WtvvvX+6V3tbSnrZUe19K+Ysx44b0P4OgBBNj34PgVKcS+K7z75lP4/KJEr783jt+zeiHrpgcKwutnQVX8morhA5sewpWLCRkQRVhlY99MxdReUHEtczX9uapkKqRlU1UGvhgh5CzXxXRMOUFzKjKuk3t9fKUQSqe1tQVatQrCdiDyfKmDaqS6qUkYQdJF0MXXhHNdJmNi6wik5uxMvt/OoUPQO4fgKkJElADhToNey4f6rDXSQGLHd/U4ZjjoF9IUF+AKGJ5oIZlZCObUVh5Ber2WqiooC9xAloglVQNN6T7JJDDdMhFgVYxstVFbfO5zj77hy4+c+bDvR/39bve0AsM1jWnNKrsmW2EQsQ4Bag6uFZyW8nsQsnbPi/PrsGqx2arN8gRIL2SbeG5Rld743Hq0iat+JnlhbZNbeOr4MQIxYanUZqUyVYIp5QDpXRVp4pVgQZQEZ1b9tSfOBet4ncVDTVDA7v2mZeka9KcMrWT/NA1o/aufNmuC4laBvwTh/xh+dRoHkva74zv/W78HpZVWgmtppV2RAOulN+u/RWglLxBVwaJwgu8NTxyn6lyfwMfWp41bTuzrRo4POBIpp5CBg9Pa1nqFr+9LZUAMZ5BP8tAVbGJw3XW+2apOcYS1mMqZpoPsuWZpmICsdTm8JwZl9qd0zXUdhI6gurkFYbsNeqMBURBAeOYMcAQ2i+I+cYilnJQAu1aBtptIzdaVMwHotgn+ygqYi4ty76kSlTU3B97GBmgJlZatge/F4PVCsBx9xwbce0/3bqId9afE+BNn3EQ3SJSXGluN2iE4t4pg3gSzqZLYTNuQ8bte16UwWQmvtI7Q6yG/Rgj5jlQuMB27+qznXP0tj3/5zMe6/WB9P8eY7dpII5/YzgtSdz3Ca37kKRet+CqF+5FP0xKhFcvIyiJk2iCrjhzR+S+o9Wp+BLEfJf2+n6zrGk90DhaVhRUsc1yrUAFKuup7sXf6vH/+1PlgSwxkMthIK+wQoLw7y0sVAbxmGZtqbyVJaX3uQhf+2L/XjTjhL8R9fTmeTtTrRGVY6SX7T974Tu90+UQorQTX0kp7WkHsPedw9Gc0hCduJmmrV4Pq8v/R8K7j9LD4DJAqwS0nvL3W9eZ3nkje87bjH0mXn4qcFYWEOhbbxAfy/KTAOoaIYP/L7t9mKvp1JOpPHlfpdY2FTDYC6XEVigUSSGGWpcCiFUhAdVQbMzODz7ohoRVSriEvruzeZzrEJoe1Lz8JtevmoXawCUG3IwsU5Onq+E/l0CFw1zfwJwPpjYwTBpvrLiwdqe0OqBfsaryABXcpnBoSuFOTxSoG011bhziIwD4wJ3+LI6E59YqEV3JBErxSwlEUeAj4IdjVOlBqvW6YxjOeedXrnzx57pObW/3TO2z5NJU3RgGYGwX45FJfahB6UpyWJMPXDu5TtuxYyDQKQOwF4LV60ZplMKtR4U08vRwVGRAz/L73xDl/dWUz7LDxuL33wRE5MI9tq4rFN+ianWI70hXzEbq37Gehv/0PuoYb+Hxsy5fj+JZ0PZTU9es4fPGbf8kry7CW9hVrZYxraV91Fp44TjR1MyilgJeqxxSjm/6ncbjTuPWuXZO6futtxylc4LZpbtNWLzkcxcLez/UpYDLxyYnjXPeoTP+cw5VvRoKYyypUUexlV1iwcXZdJmeR3illwlPWfLZhS9ctwdxV82PWXwjIHClomoUd0Dh0fUi6LXBmZyCmKlO47qDfB9228+U2HngAgk4PAmFCJ7KlcpRmKHUDir2lv6kIgUZ/y4Ej8BmX6EZ4oWsS1IdOsQvyE1UIsxfmhgJJ/b6P7RGAlIAVaQNxAtumfHEgDdgY3yhWzpz/3Opa95EJwXUqMa90yKsWr2ef+0HSw13JAa+GkJktgy8/Ud8XeVe7bTDH0JmVwSK+xHVw2Th9NWM1O10WqOSw6OH5Fw4AGXhGunRKFo6CmHQX2F4nfrouPJe8mSo/O+Xb0T/+6DtPfHqSGT/185wTrMYJfxlu8cvwb1NJWMFn8bu7Xv+fg7JIQGlfFVZ6XEv7qjPj+Al6KFL27l3hXceJYLIKWf+GPBfhnbd8Hh9Vt0uIfdFd4x4G1A1H3tupJVbVHb662U2uVjF6e9PPBHk4F8JSO86JD20TmW+WevGVogCAtTQHvXNd5XvG703LBMM2wa5Y4FRsGd9qVM0UTkeglTy3ng+eH4OF82qGNnb/DIqRtRbAb7dBq1aARAx0y0ag0aRnlmCtftU1sPbgg2AwhDowIMR/KbGJFAdCioX0KQ43lvqsLB3mdQZmoUDB2JbUVPIYJYURiCfIBVKjlUo2iQTGO/UuwtFl6BnZ4f52SIoArNmBd9qqmHKf/a6vksWoTXF7+lsb4DRmISbpLCTzpasWX4KAb547335gr+M74dbuORs54Ntu0tppeqeP09jQmvJt8UJBBQk8tUPD0+mbjhu3Ct8ObUsySErb9rLGJpfjYntOZ4wKDaxO+Va0lt5LdrTPvoPpiWDPwx15BV5z9JJN8fBUUesPcLjjte/YO665tNK+0qz0uJZWWmoIrJTi/mIcXoaPvFvT6+MuktbCz3cZL74zf0j81tuOU+zs903jGsoksfq+aLpBMhEMiwnjBPanKrDzpEZFWzzctL6BQgRIUYBVHOTJGeit9WRlK4MShjSeZ4JlG6fZOhiVYe8m91xgXh82PU2uK4l8cGaqsnoVxa0OtkWkzJANHLZnoSk6OXvHHQjCnvw7THTpDQYlQZ+GIcgSTSC4JmNx7YoOjRlr95ujjhA+Ny/3LQmDQUlXBFhZJStW1bFUMpBaf1ZZK6s4JhRcUW77RLdcucdhKOGVzD6wAGatAsV6t1EYg9fxpF4pT5PP6BSqNGflXBz3USSxWFtZf+DscuuePY7ylLqUJyg3wHZXdhVsOKrkYp9abPJ923M+x+RrFYsNgTljF9V2tOwf/eg7T5wbnXDHf2UGlV3FGW7D8csQXE38+x78+x9w/E+v/rmkW96tSyvBtbTSShuG2DskxN6Ew8vxMrkVHzPUjX8fDpSgdQdC7MZvv+04JX299GJgdfR6bFHIQLItZGBHGN3rAp7Y5bSHl3ehbjxrpqK/PEagihEKq0cPQ+vkMpj1JnBTl93zjG+/tegWgmvNzHdawuzWBsQIWQR+3O3D8vk+NBZqYLAEdF1DSqgifOkp/LGxIQaj1n7yNGw9/sSe+xlxC2KzQjGYMDtvjUhsjbaogMriYdAMDnHfg6jXU6VcqTufoJWqZKXQmoF1JsElwyVSrVYZQoHr9YMQwmiC8EiKAKD5hIohdhYXsI2H4Z9KSBG8UlwvS5Ic8iszc6p/naAdD8r6+Y0Hzp7duvsiT5HLA7dsh6Sw3QD3Ih9uYgLI1TnzmipEYMd5LgBib/+Rd574RPbhnl+GBq4AIRVhVbAXybq3OA+OP42fb3/FzyalIkBppZXgWlppk0LsrRQT+3xQ3liqokWZM48iu9z9158Rx86en+yZNUmxgSgWZqufXLXTtbkfaN3n9b3rvIsN86aqyW+m+Fbr4DxEfgidlU1w5uekhJUouIDl3ykPUnKR1XSG4DM4twbm0gLo3S0IrYb0UGpUdCDsADOrkPhtYNZsmnguRsIiiv3Ng3XGvXXornYg9kldgEuPqJTUilT9UEpkypaP7KYCwqoOTkXftTn0ag2sKm6T58PqQw/jOtV6yKspAywlqGoSgGVIAUlXaZos00rhDya2jWaZEpSZRjGoCXS7PeWp3QOpKGFLOowNAyrY5qPqBFT31Ovg/sbkeY1TLmTgNGfkNrE0aW5zdfOBs8vD8Lovytp7Y8E2mXXjMfPW7POjZ8P7t7qD0IFbnmW9Ivu774nWg6eC+7LP1y4Zz5hr8CPZ5y+dDu/uusqrqGtMv+k682XZtJMr0YNrrXg/XfZi0ok7wKuYqWqn8dBNXMxkAogl5Yc/eOXSiSUE1Vfh8Aps4ZtwoTb+TaD6GQTWz73kZ4RX3n1LK23My2TZBKWVtrsZL7qTYmLvSYffDT9/67UEsMgnt37dbdqN61tiYbMFy+fXxdlT58QK6eiPA9ZJ+vYNzqKKDVt9X8yPIym2DyqdPExg78IDuO0VUhTgjo0gpUPvyfMyIYuKBijtVZVUBTm8qg59Eat41nw9BFQIjJwZECOQ6RQaEPbA7bTAqc8hIG4hvDYp0hgEN8dwRzJCHQKSoA/cbkBtCYHRvBoEro8b9ZG2SGD5zrsRuH3gSYB3PkfmQll7aIVFvS7oui4B2Gk2oLumSsjHUshWqcbDHknmFMPbQPCszDRkGKeJFOSH8R6tzmQtKC2tKEbJZ2ajOrTr5NG1Gw74vQAEzewHNDO4W5tgN2el15dsdmHmRmLa5ZWt+/b1RpM1PWd7duFrnOmOxfMN1DRymYvcnV2chudNkMZ9SDMNZg0vSwHMajruIy9OM3Q8cdhAgWDCNzKx29ua2IVnKxZb13VZzOSCVESKEKuxRDtgbx66tna2YmrB+/F94yh+/QQOn6T7Cg733vJ2OqtKQYDSSivBtbTSpgmyL77zcRzR8N7w8y+eR2j9IdOAr33u9exlN17PeKcPq2ubsHxmRSyvbYnOXg/PUatYvBVESS2OhT2OqybqAhX7WGhvbqX1aQJZwl6YgfbpVZmcReEBbrsHldkmAmw09NtZZoyQRQoy/QMlmaXZdQj7W5IFuIdgiIBlVUjWKZTQqkq+Zo4+saubjLruCR9pzDQLobUPiFC5l3ZQjJVB/fAh2Hz8CWChD2BX5DZFkVA5Ubu0Y9jvSw+r1ahBZfGgTPqSHt0oG6feXfoex5HvyWmZ+X0PVp84A5VmG+oLszgtAY1Ku0q5fLYjUolUUp8S0KiiGBVt4BRKkaTOP410XisIrxa4m1uyAheLQyWr1UJ4pTAOhG7aCYLXJEm8ldX2F2FQBphNdEqpwyZ2Iz3aDYMP4E5jaYGw/IVsME3nQ79NKgm8OH20SQw+mJezfVwEE14yY3aJqe1kLl2L+70/FF8YG0a/vlTZvLZp9o7amnc1HlFPg/iTOM8HCVif/1MSXEsrrbQSXEsr7XJB7OfXf/ftt/wa/tlBpjhw6AA7sLjADuP4umuPsJuDEPpbHbGytilWEGTPI8P4u4Fs9tCr2Wyt3RdXswvTYGWTqMzv5kEbM59mzjXA3+xC5AUUWimhlLrgRRpjORTnWiDuJIxz1QCCKsOwIYw80J26BM4k9qUnlkqeSk9j6CGEmiDiQI63bWw2EjHEXgtBeAZiv40bWIVEIPzGUVqYVxvKBqoePACtU6dl1zqEAdJSFWKhgSHiXXc9DnA7CAARRmn38kz/3fRZXRf66xvQO7cqgZbMbXdlJazGwpxsJ6oSG2t8hwOUhgMosFOQjcvKcrgJ7Z+tUurjLo59sGsWBC6p9OMJEylNW5/gtTlHSgPU7mzhwOwtcZy4Gxvdx3bYbC5giPX3BbdCMH/o5aWwTHEafgh5cX2CxcXpDNL8trS+BU4LCr8j0+5SmN4PTe5VWGDbe0Pd5mtFwN/rmiWztMg8Utu4et7uHK0a7lGdRTNhrHVaQeWxVffg+03o/9xrfnZzs7xzllbahVsZ41paaRdpr7rlWvaGr5k5Zhn8e4rfN+qseuQAW5yfgcVGjR1AADERXLe22rByfiNZWV4T62EEO1JT3xdzbpDM7eeC3RZHu8sC+4HiQ4v1r6vM1hdbp1YGBQioWAAC3cKxQxCHcZ5dn4UMZPRsOIYcVKUvDaEk9aiSkg+CLNMtGdfKzTpFdsrubqYZCGEIpVZacCAJJORyzaLAWZwllODK8G8FrXUcb8n546CL44bMuscfSUMOFGJsnTwNnTPL1B8NxvyiTCwzOWXC7B7CSF5PngbyVg4d3qWwwXAiGcWhdp48C52V1Rx7qCgDeV6lxJZUOtg9AIRCAgzdlKoFZr0CUs2T2gBSRQPcT/KG04uESwlbUYTwGiqk0nSoNGYV/ZL3G98Llp9c/btW213ex0OCFeqNDWBW7ELcu3w5SU0IxmAiMSuxz6SoSXo+aAbH5BsVi23sNa/GEn6ktnVoqdq6tmG6R209OIyHPOwE9ulNv/rESm/miXWvvq6u5+R/fPD23ilQjvbkk7c/XMYElFZaCa6llXb57GtffIwrUFSI9u2vnn2dxtkt4x7GlJuzOMdmF+fZwdkGO1irMAJS1uuLjc22OL+6RepFYiOKh0CWbXWTq+JEWBNcrOxSXf+0D1dfs/D6sNVthl5IAvKyahaND1x/GEExkUlKowlaaYilTEpSCVrKc8i5MWiZJIIk6EjPKnXx5xW0qMuf/jNsFQ4Q4GerNgw4+CNJ5Kp+bIJaw0J4VdBK3lpKkHI762DXD+S7Ggc+LJ+4VwH13AEw6jVZnAD87h4NxahUqfKqzc+BXqmMKbpU/Gt4mt/qwPqXn1CKBGhmxUagVPsTI0TvdSQM06bSVKBRXLBjKakv8rzKduayepb85Qxe4wh4mkgGuIxdn5HJYwTSjIno1MnzH3HdoHWx14AYeD93g9lJkqBGr5f9hHqK/W/2Li8pnPkzNf7kuPk4E/xoY/PwUrV9tGn1j1Y0/wg2gNYNzXMbXvWxlX7jiTPd2TOx4HGxIfBauevP/6H7sWzfpFdZuZ2Tv/3sw0l5Ny2ttBJcSyvtktnXv+SYJnsx01JEiWIo8ZLn1MxnHLZ+GC+qmb2emIYO2tI8m1+Y5QdmarBQddgsTev22Xqrk6ytt8T6+Y1ko+8JrdWnwgQ7XKvigq/ySaFVzjdbMW7hcfIsigqgxCQC18pCEyozVTj/+AosXXsIoiDKV6y8qyzvY7VmK3mcq6apZK7hWNVQ5eMwDUTkKwLSlVqB8FvAzBpVAAAZF2tU8Pcj6YVVpETZ+r4qSkChBrgugwnw/AjManPbnm488hj019aB2wiPR46Abpkg3K7Uat0VaFTXNWimCdbBA7sfiDFhBGHfhdUHv5zDa/PgPO4uk97ShO9+OLhuSIUCCqnQEXoJypNY7T95oRPyQKeJayJMwOum8EqhHBSgbFfArNVkrC5BLn7nPvboub+Ko3j61ZZUVdoh7+ykIdeTAu4U4HXH9TQr/LSuqdAFjScageqhWvvorO1eUze9o3jhm93AXF73nMdXevUnTnfmTrmR4e+0X7hhW48uh7/3+Ye9IAVW9X6XvqSluscUzpx8/DMPlV7Y0korwbW00i7eXvfyo1LvXfGL8i4Wy5VmAPuGV84eHQ0ZmMQIZA/OsbmFGX6gWefzVRtID4oh62yd34j9J1cTsbKRdFw/7dO+0JpA+wgPKMbuVXX2TJOx49LbmoYIHHruNXD6/pNAXtgjzzqC3yd5ZYRcYCB1wVIFLd0yUo+WvmOAoihsoPRbhq56wBNf6ZYMDRjmw0TFuVpNSPwucNORMbNB35MVvJjZSKtcDRot7Pbh/Be+KP+uHzsGZr2GpBWDv7WxZ1PqKXBYc7OyqtaO2UpjvqNvgk4X1r70mATbymxdwugk4ErtaFdrst0pXpi8y7Sfsj0pHljCaJT/LAKprLBFyVos1Y41anUwLEcVYqDksCjafOzxlY9OInc1jWeNyEB2l3NwDOBOvm3s4uF1rhJ1bjjQqh2sdq6Ztdyrq0ZwhDGh9UPzXMu3T6306ydPtmZPdkPLnXSdQST++P2f6T5RqIQsz6GsUEf6csfS2F4C2PjD/1ACbGmlleBaWmkXYK+/7Rq6RjQqBZ/ILukhBhSi6DhM//62V8+9niHkXUxlHR3ZZGGWz8432VyzxuY1DY5yxkwEV7/VFd2NdtJZbyVdHPrJuKKXE0cf7g2tZLbGrrIYu42gNRYUInAEehsd2Dy3Jdtk8dhB0CkBSwz/dvakplhSq5ZWqmIaaIzvDS6UuBX2lFpAEqlELYqJ5Yb0PJLHkapucZ1CBDoIr3WE2DZodiMNGahtT1FPGW31wYchaHfAnG1C89pjoJsG9M4tS9mrXV8wKNaVPMlplaxMu1V+pjhS+X1aQQuHOKuuJT+rogTdlVXoraxLcNUNQ8a4xoyNaQlVfEGeY9judq0KuuMozVhdU6ECALk6lBg6OQWEfgSBFwAPA2AylICB2WjK7SfQpcS6vhvdv7Lev/9irxPa7YbDnexz1xNeFA82aKbKK9nfVCyt6yZeeqYwx2SmZbC8wkK7n3hxotzH1NS4bF6Qo+cJP4x2yabbxxMNgZQdqvUbVzU780u1/vy8483VzWAmESxCMD2z5Tmnzvdrp0+2Z097kXFBnulEiLvf++nuh8d4WHNgzb7j6XdZtAydPh/6RAmwpZVWgmtppU1g3/TKa6i7U6fe4ZQdcu7ZCWAz3Lj1WVXrusPWjyC8NKa1PVEiLGS1Zx+Y4fXZOqs2a7xesZmN25F0+klvqyN6m+2kt94RffzsicnqIU18/Wu4LzaH15FT1ZmrQRWh6+xDT8p2IKlWyzZh6RmLEAfhCBwM/rBnKvmTmmvGriQtk6/CPgJvDZKgC8yopp+r6ZNd5B7vJHQlLBLIcsORnleCVwA2ltjpk7+1BesPPyb7/g+84HlgOjZ4m5vgd9q7AxruB+mwyrCGrEIWU2PIQDb9HHi+LNQQ074kIofQ4fZBOiE3W/bik80jxNA5RkZxsXazISEZSD2B80FMKM6s4e72+z5oVGUrUQUKKHyD1skDX/bfy8q3CNq6qUtZLtretVb4yXbXX76Y83Omxiv/4qW112WfP3W/++mTK2FeKOB7v67xrdnfm91k9UO3dz+dff6a5zsvOLZoXJ99/uu7+p88txnJ+FuEWuNNX1P/hmza5x7y7vjS6eBs4Qk2MdjNOr5zuN6dXar15heq3uyc483rPDH6od7bcO31XuA8subVTp3pzCxHCb/ouFNs7vaj58LfvvPLgV8sg7wHsA7mk15YRs74+C//7sEyDra00jLHTtkEpZU2sG/9mmuoS1Mnrf08QURJ86hkeZaKLPEBwFKUouoeZ1IR9a6He/5VB83/bRvsu6Z2oXLm97zk7MOnIkrqkkBgGUxbmOG1uQarIjjUluaNeeQRI4ohavdEv41Au9lJehvtBGFW+NteWCeQb00foOTUbRFLaYbGZpbm4EwKrUkKWZ7rp6Xoh2k4T9jCPwjisnABFVihGlhCHRUcIPDkuvSiUtY8o1hW8rjiWBC8Wko+C5/lMv6VYjhF5KnNZAocCXi5YcP2LvxhvnHm5kF3zkCEcOmtrYO+dBA0Xc+rTe3iQQNfJTgBydJnpV5lBS0kRx5zCYYUj0vQmMaTjoVW2sRQJpiJ8cpaI8eHZLXkiSa1onRsIpW4FvouGKEP3YhJd6YU3cX2DOPBShPdBI30aynUg+OxCGMwLROXDeHArH2bH0QfDcL4gsuK0sVi6AM3upLwGkwvTqO/i9N0fCsqTqdcM+L51OsvRtbLdtDNGGrBpu3bRxq92cVqf3a+4s4htM5ZWmxHCQu3PGtzre+sP3B+/tFTW/X1tm96tsk2qpaUv5qa+ZH48IlHA5+zoXJ3+a6PAmsGrSmwZpq11Fb8DV93AykRRO//mxJgSyutBNfSSkN746uvlsCKD3aZ4k1J8okYdOmJVBJIjAFYhWGUWiHysM4P/ePGY2989fz9+NS5aVrbWLH4VhglzSQRkv4CpJ6zq3Hn7Cp0sidjzWHmXIMTyFYaVVY9smAcRDDQSK2g6yZ9BFq33UvcrU7S3+omXlIUHRp4r8RIbCFX0AZbc0cWZrfOrksILRZenTlYl1W0VDf0+JpdMYErQlN7y0NwCqHaMEA3bTAsW66DdFXlj6XJWxJgIU3W0mwJr8AtmahEgCo3mdQIcOFI6rnWIfF7wHFc8JFv+5dAk7rVa4sHYOvkk9BbOQ/OLCkRRBI64yjaw5MmRuA23gP/s4T70YS0HRl1/GoSkYciEBRHnS2lJoBf+wjgzDSgrgnoSW9vJMMQZIWv9AcSBHMeBdieuH+WBWEQgumYEPiBcXixetvJM52/H4432A+4ksrXAMEUXheKDmhD8Dk0TUU+FMBVMRvPMu+HpnGF7oN5BTtQdWtL9V4TARUHb6ZpBzOmFltxwqKWZ22t9+3NRzdmnjzTqW2s9Zzu6DuCplG1Ok4VMTQ2pSQvPFT3fuhz/S8X8hNzWM0+7wGsg++z9yMA802vvYFiYKP3frwE2NK+eq0MFSjtq9q+/TVX0zVgUG9qCqbqyZWonvQ0vHDIg5gB7KibJ2OZJL2sXnh91b7usPNm/HOo/uhesa9ily78MBZ2x02uFvu4dglmZ+vcaVYJZrmDnx3bYCZtb88Dt+cl/W5feC0EWhrwczDOAzjTrL6qMlNbXPnysqycJXOxcEbDNuDI9Qfg1EPn4JpnH0GoDUa2ruByIg8jwqFTsxCszAFbEjEErmxxypiPSP4KAZb0XGUoAMEs6bZKpYEk7aonqA0QmD3QDBtirwOa0xzjghveGVqnDEXAHVi5/wFZ5aq+dBCsKnl4Q3whuPBEe5GfRCIbTc00Q4f64kFJel6rkxc2oB8J/LSKVyxgYaEGbpiA1cTxZmsoi5D0XWWBBqDQg4o8GTVcXxwltMyDK6vdC4p3NXSmXXPQyDWHz66HW3kiIdp1h81chsELkvDMWrSVfT7Q1KqNqpbHwJ5ZCze9QESZh/XYkrkgX9x0H2m7DXWj58w6fqNp+zN1M6hrXOh+pHlbntXadK2ttb7TOtetts4TpAq2V+EBUa/w04bGvL3m2/W4D5/xnUeXw/fc/WjgFUEVxsBqOt4NWNWyhYoNKeQiwPLozz76QAmwpZXgWlppXw323f+H9LAaiZDl4DNHGgzB6x4Am+HAOIjN5nn9y+afbRn8O6Z5xSJYHvBDMTsZSY1TtAdh6ozP1bmNIFvBB7dds5lTsbmta6BRYgz+httzhUcDgrIn42Z1+9l+x3tO6EUyRCBJG+SqGw7B5tktaG/24arrFkHTiwWXRB6TSt+RZirlEnVbHhjY8lZVV5JVka8UA2jIe/kRchFGuUVxrhQy4EiVAW5WZIJXUS81Drw0QWqk0pYYgQFNT+WoSBnBgNbJU9A5tyL1UWeOLElvZEzasmNeSMbRihiC1EubR6NblvQSU2Jan0q8xsNqCQTzVEzB9wIE+IqkPioVO1xxTMhkLenupYIGji1DJAiCydt8fr33iW43WH3KHkhMMIpFPVB1G7OOV5ux/XrDDhoNy28YPDFjweKub3Zantna9Oz2es9pne1UW23fDLad7xPEv1oG26zafKr76wfif37kjv5Do6A6CqtqE3cG1vwBzQsJXSztD2J5fCzpxUZ//OESYEsrwbW00r4i7Xu+/ohMuiIOEEIltySjlUT3AFgoLDMKsTAGZL/5lQtv4Iw9f1r7QB7ZVj85httg7DIXG3EIiUk8R1WbmQizdgNhFh/oODDbsZhF4QYIqnx9I74OoRb6Lg44Nhp1CnyFJ760okDAIu/rEkRhJDPoh6oSpAF+QRAhhOlgVy3QdTPdQCFVBGScKz7t41CF5DLTkaECElr9Xl6EQOmXGio7PvTkshJod9k9GYcqhftjpUpAUlpBCOfv+6LUQK3Nz4Fpmyoet7CeJI2nEIkYdPc/BZhg1avgzM1JWiEd2m1sLgrwYyCMZp7vYW4lpVuZrEWm2RR6gS8PpgFBGIKmab2Tp1sfx32OL+W+1MzAWqi6tabtV5pWUGvYfq1uBfWaGdY0JjQJqIHR6fgmvuNYnfW+017tVdprfbu3mxdVDJeoHZ+dl58PEDQr/CRjU9OApV6I+//X7b0PjILqXrCabvDAw7oTsGYzQiFGVq03wnH4Rx96oFQhKK0E19JK+0qx73/tEZ16tmWVzAFwiiLADj3jCwCbf5kMnDq7QWzxaXnzM2uVY0syZKA6ras0jITTccXVI0Q75G1Ky72LacTt2SbTCWax8W6zDNZwTAbVqgELh+vQPt+GOE7A9QR1A4PdrEEMGoSJRgkqCEQyfS1XyuI6l7GXJJJPUqjURW/gHwSt0mMqS26lbUz6rWkcJ5UvlRCLwCqTsyCLNWUyq55HLvTcUIYSVGYWcrmooscyk7tismxsJD23m489Bv2NDdBxG+oLMxISSPIr8yhH4ZXBArWlg2A4tgxxcFfX8IVBG5yEo/RaPAvF4NzMK5sFAWjEpvjZrtflOa3jcYmiBPwwfmT5XOeei9lWnSd81kEoRTBFKK0glFYaVlCtGGG1ZoVVjSVSVsILdbcXGL22AtTuhmsTpHa3XLt/sa2ehain7ZNBX77ausNOGzpzp3iIeqdXo3efeNR3B5fh4JLcCVbzl40dgFXNN+RlLQJr0YtLQ0iV0f7gg18sAba0ElxLK+3pav/ydUcoHMDMYkez2MMivKrvtwFsCrZD3tRtXtidILZor3vJ3I22qb1pmldo1xMHgyAZDhlgTMD0qgiNIebk2XGYPI/+vPrGq2Hj7AaEnR44NoeKpeGYwYGDDlQcDWFXQxiSSWsyfSmIGFBxrSBmpB8KQkd2QVhMhAlRooiCYk+Z1GpFiPL6SiOVyr6SV5UktGiabsPo6wEjTdeEXOkRtDo+1OcXgCU+AmgqU8U1Kf1EUEslZ5MkkHqwUeDJ7vS1hx5WMLMwC4atvMBBpNyqcfQUuFdzaGHSc03bXl1akqoLtM9Bq40b6EMgRpyKYjgRTcp1cbUOimWlsYfHS6o2eK4CIF0Hu1GXoQISbnGZ1fOtz7bb7o4SWXUrtBp24NRN30YQtStm6FSNyKmageMYUcXWI4suDip96oaa2w/1ftc3+x3f7G15Vm/TtWnoT0N2ap9XkzzRZIiAw85Pc+VeIN73sbvcB3aqJTEJrMIEwAoj0DoYRDY/nRXB7//lF6Ly7l9aCa6llfY0sh/6hkNEoiZ1Ko8mVU0KsEUkGBMSMASxRcfOsK9Lreufv2Lh2zXObrhwF9JQ9z/9Pt/qJcfwp3UGlxhYBztSi934tTOHZ8GqmLD8yLmBb4lKuzoGHDjUALfvglOvg2HqYOJrg8ljcBBsdRzLzzqlcJNfNpbSSVR2NQwjBFgEVob4GXP5d4hAGyBgxXoFAteDhHRdxRixfvJCdrryb7vRkIArKO6VQhEI0jhXjlx5fJLc9UYVpmiZzUdPyqpWpmNBba4hQwr8cDiW95LdhAuQOhTgOGJUarZy4ECq4yrAb3cg6fdkqEamdEFFEKSkLFcSXSN8D/QKQeetu9UnGQAV74pmNZsI7DaYLACDh6Anrh/3Vu639dComJFta7FpG7GNn21Ljy3OlJ4GvowEXqR5bqjLoeMbLgFqG4ct13a7gSqFOppwWOye323a6PRpdOtjs4TNKj/Jxj8RL2j9eI48+L8/7/7PIqAWIXUEXHNYzWm66DUdExJQmG8bsGbvq0XITaGYZMWC3/nAF+LyaVBaCa6llXYF24++/hBLlFKAKTKAlP9wuBCAzcBz1As7CrEwSo4jvqTnP7NRPbpkvwUvOmcKVy6FAghSGWj3k2suZ/tqoL1m6fql5qkvnM69kVKjCJ+bh5+xABvnWlIndH6xDrrtyKpUJDGlRPpVuVEV6xqCgTBbrRhgGpqEWx2PnA6hTNzSk0CODYODTt3a5H2V0agMYgRagloaR0KN3b4HMUIvHYyYI8xpjvTkEhAnhMhSTUpTv6+RXuxAPYCgdfPxk7Jrt3FwTlamomNO8bhT96RKLypsr+o1CXThdjkLB9LKWXiKIdRzw4AkcAtglqh2pPZEUKWxQQO9KDBq21i2LbWzhX+bPACEUeUdF1KdGEKhI7gz1wvidQTTwA10j8a9QPd7gUGA6rU908s8pgSXfijymGtTZxHpsRa8kWYB4BLLYHnD4jmsxfQOkxpOC4uAWlzWwPVq/OIijBsVfgq3r5+9/Ik9ytBOYO6p1ehd9z7md0cP6dBHPvzdTrCajXbzsA7+HgusSqlg8OMU/+r/1vu+UIYPlFaCa2mlXWn25m88RH2pFj1Ik4JXVOSllvYFsCmk8hxKk+2AKnYC19Ekc/r4z1688ALL4G+8KGBlLCnGrXbcZAmhYeZytXG9Ubs16AdXd7b6Qw/h+cMqPnTj3JYCwDkHqjMNmfzDpeQSwpOFEBvG+d0n8AOp/2o5JlgVW3pJuWHiTnJZylQeCwRMSigyEIBJB1bnBGbpmD7noIZ4KkKCGzm/zsXAiSaTlBKEV00ySkRC/AS8gilpLxx3V9el/il5NikeluZDcAMSIciOZTFqIEp3wzA0GYIgQVKWxB3jUpWwKkDj29mBtjPjNPk3E0Pfa+lyBDIEoaSVayPsI7sqjzUBKe63LsGUXgri/IyTWTvkxcb9DmPcbzBkYYIoMWSCXZCQ9JiAIMbjo1VBODMQhHh9UCGIMIyXlzf+OowSb69zgq63vp9Y2WcbabgImD0vyeM7NCRrm1y72UtDJPQQh+yzg8tm0Du6XoJaXWMX7EHE5bfqDj+3bftTeBUFjdjtb6LjDbf//X9zon9fEU7HPWCLwKmmjYfVUe/qJMAKO0Br4TvcNOa/6733h+VTorQSXEsr7QqwH/+mJS4SZgmpFjAMo+MAVqRPmN0ANntu7QSxsAvIjgPXbOI3vPzgd+EjZ18hAxJW2XhPE3mNNrvxMxJx2QqKmEE3+mcsLWBCD0W7asOBa+bg7CPnpDtaFXhiMH9kBiHQllWa4pT0NFOHOIjk0zUiTywCGHllyRsqF5QCscrzF/mqnCuzKzsQ03bCkBr6QpU2ZXEo5bkIbFnsg44QrRvqey5DFYQcyxuh14ew1yXHLlTrFTmmJk9we7gELpGCl0ghguA49Yyx9KRhg21h2262yaDeJ51wlASWpKSD2xzF2fkmJFBLz2fMZIRInHqVaVoWD8ztGsTMkJ+pbWk6xfRGgsv1RgzbnCndWykXRt7uOEp1bANZayPoutJTzimRDafbzVkZ8ypI71VHuG13llfXu5/b64RICDA9kcOpYzEC1xwwu65wBuAKCU7PK7mRpzaMBucuTdMK4NorrJeAV9fggsAVdzOarWmP7XQdFa8nUYiH3X2/xYMfvbP/p6NwOu7zOFCFEViFHYB1XEhAAXDHAmtxuixErPaI5LP83/jz+8vwgdJKcC2ttKfKfuKbl8jDauagmSX6iIE3NClC6T4AtjhtBEbzcIJRx0widnXYiJue2agfOWC/hZ7D+/Wu7uj1CUW1416+kIHIi5+fROIZ8sGLlHH1DUdg7fQqeD0/rQqknq1zi3UwqxWZxU+FCqjiFgnpU3d9KggAoe9DFARQadaBURIWxWeS15VoiGsTOL2GZR3EtklKfSDs92TVLU5SUeMSrhDwth47KTVNaVsqjZp86vd6HowKwmaEkMKAfFvKTiAqCzuIL81qQLHBcjJhSiWNyTGBoxxz6bGNPA9Bc4IiCASaszNyHUK6jcM0IBR/n1QXSPKLKmUlg0IFeWGsFGLJ20pgbiC4yvY2LbAaTVVdi8g9jsTKuc1PBGHcmQBei9Wvkp2m0fk8GuNaFPDfbVnOLjxMoO7wU6bBJi5rKzXk1G+zHWbwljejd93zmN8eAtMdnrCTgOpO3tV8/Xt4WMd4WTNgzat1pX8GFD7wa39yfxk+UNrTzrSyCUp7utpPfsui9tIbaqRGb0CxtKLsFk7L0aTf5/Fixcxe+Z960EtPBmP599uSIEYeCIN5iC3lAPkAg5qVLKt9ORjYuXU/OLrk9HSNPZeNJgZL5pNZ4ILTisdMHzfguqIoBjNOZPwsu9QDbl8fwfVa+vGFq+cgDiPorHfSDVIxnFZFB9vSZEwqidzLdibyiKnrOwM/lTGvW0a6I6b0CKojxHeA0+0EkUlCqbcRIUEuiRMJbfnfoQ9GxVGarxpL412HXeYSEgIPV4HwOlOXElEEvURLUgc2zcxnGS2w7XKh3Y0WArwLgevjqgIIXQ/hPJAVxaIglG1Fg6p0peIQpHqCpsuqYbrjINyThzrYo/SWkIBLoQ0ifRtjiZL4Iikw6V3lap1yH6JQeqFl7EO6/URmlLlIMmYUekBtRceKk9pD4OPYwrUl9b4bnNnznBj2Du44Lb22itMmXvZCz1fLYK2KxTcnvZ4G16K8ZkUxsT8bgkh86PYvBScJDakS7ejCGt927ef3ADY8pDHio2PqDeBqlnT9I/cUWXOjCLnZb2gsXfUYaE3no0vQePlNi8ln7ztfFi8orQTX0kq71PbWb1208AbsgOqRTqGS5aCa84RgUATRIsBmVWoyvGU5xLKhaWOlZ3YA2RGYHQbadEAmhSfOusvPuKp6FfWmDzwlLEE4ihkDcSFdIaRJ6UeiKcRopN30Dbc1xKZq2BWrPndoFlYeXyl4IEl6CXfsYB1aW33w3QAqDUdBarH4upS90nLJpswXziYEVuU9VN5U6cElSJWxpiO1VqkkarcLtflZCW5J5OP26bKKV5z1z2dt6NgAblceI0PG3cpTTIY0DA74mCHt/leiBQiJaVlV5eXMQFqVZSXYjHxfAW0f26fTBW+rBTF+p1mWBFHNNBCyKwi4gdqfIRcl5FW75Hpxv8mLTZ5T9S4WK/kvUzn0M6+rLLpAKgKcQjV8nB+PE36/uh5AY8aSlbiU5oIA3bRU1wEeGySciu8FK3Es/KfjvYKU1ZoV7fTFKBIwJUWcAR5LEvHIJ+7zPqYgcWJAHQuq2d+cZyE2nA1sGEhTet4RWIteVlYA4VQRjW27Z+Ep/4qbl/grblqM//HelfLBUloJrqWVNm17+xsParfdUK3iHdfMgaFYKweGQTX31OwAsHzgkci9P9u8sAXW2hNkR/6GHR9egjUq+sl6Rb8VYZVTwgof9CZf0ECeIVxPECK8Xsx6Jv49Dv3FY4tH159cg4hiVtO3CNrv2QN1CP1QQit1wVNcKVWlkg2YKIUACankbSRZJiKDNK6V5ufbih6lxQYkmCpYE2LwXQaq23gSvyYgpI21KzZEXg+B1ZAxnBQ2QIL7g45aIbVONU3gMqoal12vIfip7n/Zlb7tv+JppwbdtsCenQWzVgETwZdg2LAtCaNUWlZ6n1NJKwXqaWhviO3Vast2sPB3KanNsB2EW7dQ3nVwrmcHQgJnSjLkWSZXmkwkxH2UXf5MJSNGfU/Wcog9VV6XAFowHeqzjlwHtSVPk9gIfDXbhsTz5JhFoen50fLlOK+mPdQdfhZf6oKpnPMKEL2eJ/7wybU4SN/FdgXUcZCaeVQHYDrsWR3nXWUTAKtE3hHPbbEiFy8Crdp4lnpfzVe+cDH5zD0rpfe1tCveyhjX0p429tNvOmjjE9kqlmPNCwelPspBqCHbHrMKKv41/3tMEldxHQDDeu7FeNhRJ+BoaOWwZ3D81ziEr33ZoVtw/IZptlO7L44ECK+X45jYjnVbb7M/U3yY2jULmnM1WDu7qXaeYjhx2sI1ixLesuQrimNNEBA1y5Zd8CKOEXQ9mbyVP50lnA5aWgwflbGeWBgq15rIAglmvY7byhGwfTDw90LPRSBzwOuHQ4uQF9bQEug+eUp+bi4tQhzrstJXvzdIrh/nEpcBkWk3vF6rAjOMXbZRfUmeV5LiCtqdgcYaeX5rNZi59pjSjkKg7a2u7R42QL+JgKlOZAJ/hCLLkm1cjJlVrKzii8nTTYoOJKeVrZtkx1TIhoH7UIOo2wHuOBD1+slGy/975NuxXleKQ+26SX7OVSzWofCVwTk5KJSBhzqq2jyPmfUCUcHzNVcOwGntLLGL3ms6bpIrZjgW6xkaCyY9P02DbTUcdnbKp/0Hvuvn75QJa9//L26U5aNhRE9ge5KWKDx0ORt9Am+TyILtlbEAhosWZLBa7GHKQgIK7zZFD2th3Wy4xOzgpZukyNx3/MF9ZexraaXHtbTSLtT+3bcd5K+8sVqTXta0imKhq54BDCJct3fls21eUtghtGCbF3acJ3bIG7vdI1v0yrLx3lkha4r/9Zng3kc7yRu+9vBZnOMZOCyMcedd0H+GwVw/FLO5A/QSDlEQbSG1XCN3jatyrgtH5mHz/Jb0/mUJ0ExKOSUyxlRWaIpiVRGKYjnTClnE/tSVHm52ELrMAe+JXegvS77aNll9kNAqw6AZuRzBrNYh7HfAqNZkY0VhNJQZRA1GlbMEddGHqnysZjoK8lKvJLCdogXSIrtpnC0nSN/j8U/eZmoTC8FahhKEUQ6rkeuC3WzkJ20chLBLrEJOJdIjTRoGFJbg+3J7yHubeWFl+ydJ7sYrKiFA6omT60DI1yoVhNce6PUaSzwvChPYHHceUNOFkaikHkhu6qQqIJUw5HQE02o2jXLJEChzDyg2q4Xga+bLGsynebJY2OKyBK2aNljvHj0CSaPKn8x6Pqb035dx+KsPfFKx8D1fWk1wiI7fcEAUvK8j3f2jVvC+bh8PeVZH583m04pxtWM8rHzgHR6C2oKXleUBu8OeWYp8MF99fDH+1N2l97W0ElxLK23f9rPfuYAPNFFjmR8hS9AYE6tawNBtALsthKAIkyombCKILca97gmzxYeRWm/4hx8/49+DwJq7bvAB+IZXH34c/3zJtK5H4g58iIVBBE241ElaDAFEgIMfGnSE5g7NyYQkr+sWGgvAsnVA6IAgjMGs2BLYQvLmIdwlJAXV60oZJnqwEpWsn16XSVsmJW3BQCGe7QStUNwq9Y0MEUBIo5AAqShg2BD0PQoIUBJTcSyjDLKnPhEVZ9JXiduggbvZhsCPwJTJUpoEyziNN91xyE4iGQKRhgTs6BweJIYRRZD6AhUWIA+pVKJFUCVPNCVrqe/d7W9FxX5pVT9LQalIdW+rVVkhi5LBhJQe06SXlUIWEimNxUekMhi+YKh9IfCl5eN+H3QEWAj9qheIk6Otnba4JsE1bQlD536qxargM0T4HCQfCkOXclhyGiUV4iabg2URXFm6MziE0WBZXWehxqWO657nZs1hZ/Cc86Z4OyJP7+9/13+80x2dcPdDqwkOCLCLlFTJt4UK7Px3EVT3hFVWCAcANhzDuiOwDocFjPOyDi2XQrf5tbcswSdPnCvLxpZWgmtppU1i//G7FtirnlepAlWZYpmgIhuSgBkF2PxevAfADkHqGC/sOIgdC7I7wKwUAxgkYwkcwv/3o2f9u7/cGevBQHh1EV7pAXvDtNpP15gfxcJCILAu9bHC51xLCHGNU3N4dbYGW8sbAw8ktR0Ca71ZgW7Xl5n2ZsWSklT0tA7bbRlDSR5YkYIaPWQdnL+z0ZVd9Kalj/S9iu2ezNHELVwucj3pzUyiWA4SYD1fhghkZwtLpakGsdAUDBrJRCaK26VQA0hVEWgb4508qFmICgECiOz0UfA6Fli3r4h+muJvCSpp26WT2PfAnlG97Ema4LW70zVNBpPzcRkiEPuB8qTKamExaCm8khd2CPwzrzNAHicrYwBIvgyPDccDEflhO05gnKQUw1kNzmWCYUKe0aJeKh3GbBr9vF7o7if9YXkk0ukIp34hkYrWmy+LDB7g+bGnJxDht1212dqUT/W/Qmh9eLcZ7n7ofHLiofPRrc89KKT3MvfADnmCx8bBjvPAjsLqtjjZQtJVfp/iuwNr5mXNluVDPVR8oNyGzfiaW5eM19yyGH3irpUydKC0K8bKGNfSrjj7he9eoCdqNRUC3669Kvg2bdWBLutI8QCZfM2G4CCfJtjYGNX8u0I87Og8o+tLtn8vY1hp+N2PLO950/+zn7+VfuzNODxjWu1IQLDVTa4jxaNLfiMRcP3Ba5eu36BELS8YChFozFal+9dHaIVUQWDu8IJKJvJ92SXPEV7Js0dxoVIoXyCkySz4GCKcXmlUZTWtsSoDI3EC1PRhtwdGtSrXFbpdGSJAiVm6LGTAxtMuZeWTBJR8Q0lhViZRKa1ZqvhF4CrGpacXZV7Jp5u+FnEEZ8aL59HghMmSy0Sa+JWdOLSXft+FsKPCQBtXXyXVBqQKgeuOp+bibkilBEqIM5S3Fpcl73OE0C69sbRjQmSkvq0ZaHNNWVlBk79nzM5CuLkJJo57a5urHS/5QoG+k3S4YsAGdyueqfFHqeDAFFf7GA7v+c6fu3Nf+/kjb3weBTqbxWctY9sfvtl3QzGrwy/kQ7GrANvjXYc1XgcxrPlqhsOfRkKqhoC1sI0iC2/q/7vfvjcon06lleBaWmkj9o7/a97GW6UzKv4/CqOTACzAzklcxWmwC8TuBrI7wSxahN/7v/Xh5X095BBeF3D0U+QwmlZ7eoFo9rzkqksPC0xzKs4r+62eVfRKWxULnIoN7Y12Krgv/UdgmBrU5uqyMSlzXU6jckl+IL2UiiOxERH9K02EP4RXivtkqTxVsZs90y3L7mg0H401mZjkyrGUpyLvk26MZVbZSR4GUkpKVupiA1dWSNqrOJC3k86ZmOswxo067PFmYlBgoFBoQBEBH5YiyM7vrEAAeTlx3N9syc+1w4dkyAOFEESuDzvswABcKSyA4lpTbdhccSEFaPK2Mk0bfvMaMcfUJbyTXJfRbELY7oBer1NIh9jsRP+IsB1lTmsYvLslqeSteCpBtmbz05bJ2lNcJb2A/gpC6wV5cN/8puex9Jo2x0HqTqAKE8JqDrYDoVtWnG9SYB2sJwfWoiwg/e/jtdH/6ffcXXpfSyvBtbTS/sv3zlNSdg3viMYAUtlQ9atxagJ7AezAuzqsFCBG0sJHIXY3T+sQuCas+D09zP13f2j5gpMa/vwXbn0Vjr55mm3b7idXh5FoXPKDKGCGJeJF2UOYMvRnFuegvbqpErUYVyL+JE1FEY2GISWyZANTEpEs+Qqyq16knk4yN0igMlNDfECwpLhMy6aVDwNrfqwSiN0+aBRlQjGpIQn0W1LeShsqGzsiS0CcSYlLpAcrfzPKe+BF6o2VjCxLtY4WR9i+Tg6qYIFyYfGC+KaqkMU0Nvib9lXj205WqUmbeWNTLdok3vvUosIDNB/Ri0kyXAj7tFqSwSKvqyz4gD/X7cWgm9SfzXPWlKVksW0tS5deY7/nAkPwz/RpKTa50+o95Ifi/MhTpMhJNKv3VNxHKESgUeGnp7zaD37Hf7jzUxe7kh//tufTIbHyF9MxVbXGgerQ9ALgjnpXh8C2WHlrxPNaBNZ0HjYOWAGGoFW90OFphP903v7uu8vErdKeMtPLJijtqbZf+r55DR+YdVBa3iJ316juzAErFFw5aZlIkiUSFPLGCgDLWFquMUWSIQDJlmViCGKLHgox3KkLWWX6QizBIB+I5/3U3m/+r6kkMvwDDi/E4egUPVDLrV5SxR29tCEDDLawqZ7E5qDCClBfaErwkcL4SrtHApxhqHCBIEqAB7Gs2ATkZY1CpTlKMJdKNknvn8VVJnysSYknWdkqCoDb1W3gGJOH1anIgxz5LuhOFSK3J8dORd/2spLLYdFn0i7FM9BydNADrhKxCGJ7KUjv6UYceolR8bAy8Qqf8TGTwZp0vkjtWsHTSkaqXdhI2MPgbU3p1IaeJ7v5t8ksDf+jXJ9UhjgFXNqFqNMbwDm9NOA+utjuFQvHER4PPZEALZQkAVh1bLNeT6orUIgCwa5er+F6OtiOdTA1NudH4vzopuBP2tkLHFclRXO4wWmVwjYn+HPeYHvBxN3MDw5NY4PoG5ZWg1PTGHn9IB7b+ozFdK5P+aw+mV6TF23veq8sr+r9xHc8n046C4+/BjA5qA5/z8YvMwKd+wXWIuyOAGuW3ErHqfnOH3th923//e6wfHqVVnpcS/uqs3d+/7yZelpZISRgjJeVbdNdHedJzTywo/MUpxcdW8OAuj2cAMbNN5hOkyjuK/iND56bWvfZe3/xxYs4ets0Xyy9IJnpecmRy+B11RDMXurUK06lWYWts2tpV7l6AFKGu4Ng6AcKlsj7R2oDXKiCAqzgYpcxsDJDXslGkbYoxBFwCaaJLBAgvYFp6l4S+nJeKbGF0EpjKcAvf0eH5gyCmIig3fbAdPBvw4ZOy8sPLoUTWDySMbkxxXoE6rnc3vBl2MLluBuzzEObBTVmCVn7uGtTMQEZLkGYYmw/hWxN0aHrx6QvBRYOcRxKtQVKSCMJLr/dhnq9AoFPJWt90Go1iLtdOY563ajVi2/PL4m0ciwueoAUzagp8WdXCTKz3/RDuKoInzQ9+xzFMIObXMs+mzqsUIRGNjsuezj3qGqwTps+br+rNn/SNnlrikeEXkTf+W0/+/lLUlLqJ7/7+XTymgADYddRUB1AJ9sZcEeBE7aHFOwGrPk8Y4C18BvDagRqmf5bf/Nut3yKlXa5rVQVKO0ps1/9gRkkEF5jY0oRAgxXiBncVBkb+W60W2u48hWwovRVQZN1RBKroBBQ0GMtKhGM/mZEQt2//sGV6HMPdafaLu/7xJnem15zhB6az57WOnWNeVEkKkgVFlxKiSzygHPenT00f6h9fl1Vmypo/jhVC0ElkS8iKgZTpruralpJWkmKK2CT203Z/Hm5My49rhpBLnkfTTPlO9IljdKSqY7MqKcSp0r6KZBeQ5qxagkpc2VbGgRhJNcTeHF+AnmbW6SWClUEbgLjJE1kkvMATCBsCxc3DL2VibwN9iuuq1QFlJebXgyy8AyuM6mzG4TqNZHWTuEcODO2UUUVKwgCqTYQIbTblqE8x4GKO5YvFmp7eBQl60KJ1WeXCMfplSxeUmOsn3pGU7ksMZNvoqoS1x9MI+UQYQ+qU8llMyktjss2Bxn5zGUq6WrovMOXn27V0aYNmB9GaL3/Ut3//un+8/FtNy2G6buKNnouZJpaPJNrLWqvjmiwjlUXUNJWacMNwrbVdJHf/3I5raH7MM/VWxgf+V3IK/yZr3vpIe3/fNnh8GO3L5cPtNIum5WhAqVddvtvPzhDHpq68jak3iShKfX2VAxepN39uR8vT8IRaRiA8sCOhhCkC7F0+aEwguJ8rNA7my06UMJMoxQyaXY2VK+Jpni/+hcrl7SbDPfukziiqlpXT2udNYefa/XimhDAL63XVWxtLa+dTcLosHoAqqec5ZiqtGkiChJUXL5gkDA+JQxlbws6wmYi40q5jMOMKVOePlOilIFAFWPzkzYrSVulrnWqwEXAGfl9MNIQAY3CCVKXeYTr0HWBZxyHikPVsEi1wEUAtpVsFA4Rbk8iY0Sj1Bul7euoXaTDdSp9YCw7wbnycI92HxgmvV0gwNsqjjWOhQJWUnSgcAsCVaZCHXgae0vKD7Q+8mCT8oOhBeQl7ReuIJKrKtZi4EUW1/ggKLigLpd5YDljhenDkTusuCwfWW86f0LnNskXT/EspjjZT1zqe+Gv/A8VPvBvv/cFdD8hPWQNRryvbOT0GvWsDryy2d/bvasAe4cEAGwLCxhO8BoAa7H6lgx5+M23Hm+/5VdPlHGvpV0WK0MFSrus9hs/NMPx2dkUVF1ypOtfjbU07nRY7SgLIRDbEq62hxAMT4cidMJoKMHI+ofmK4yy+SkswPvlD5y/LFm17/vFFx3C0b+FKfaMuIGY7fviyOW4t+gMjuPTrUEeP9JBrc3UoNfpqweelgr+05i6+E0LwdOU3dEKZkF5TEl/lSuvakzd/pIlufS2ijT7nkBKOigjyv73pOSVBGHpZTTyo1irG3I6fTacmvTMdjqxjDEl1QB/Y0uWe509VANNM6QXN9EtaK0HlyZUgE1y+xV7TBLb5pSqAri9mqFLDd3h6YP5NQJRCr0wbelR9ansLDmZNSaXr9Qr5EYFt9NViXX4MiEIcJ0KhH13s9MPHkyviyhdsVPYOmroYoxDMSCZAKfYxUzd5UUlDRcKMa44FLPqKPxgKJa8arEnbZNtTfHI0Hb/8pt+9o7L7kb8f77vBRQnbI2CaoEdd4bVbKZRjWrYPelqHLAWX6RGgRUG0Arpe6lM2sKv2j/2KyfKggWlleBa2leOveuHmzrePpuZx68QgyqKIHmhAAsAY+NgYZ8QC9tBVj5o/+v7zl/2m/L73/Gi1+LoG6e5zlY/OYYMWNsDlVia15bdKhK2/7uLpWv8RQiuem2+CaEXQBTGKbAyCaNUXIkSsXilokIH8HCEG5tp/ySXXdm0DPVVknA+lWiVqyaaNRXrUPwqeWsJVkXavU7SUbosNCDyk4iSwqQope/K+bRKDTw3UPG0VNJVyk31EV65LJIgPby47jDRroy77J6lb1PqIo8ptR0CPRS0+sU4xQJRQMnCSqiaWaVeleoDgRsqcsGXC5lAR1W3/MDfavVPSCUNMT5Z6uJ2VRTFntI8zO2GvN1tVvgTU/75D7/x39/xsafqPvkzP/ACOuHI+6qPgirAzp7VnWA1W4YV9B92imHdCVgH694GrMXtox6w9pvfeaLUey3tkhovm6C0y2Hv/tdNA29sM9SdV7yZcjYSX5VPQ8Bh8XBlF8hjtxgbiefiaVwrjgdlXUcqXuVDMZaVJzLrm2cDg9EhwKH7VEBran+Lw5lprrBm87PAYFy3HhECBT3y7Zwg+L4RTICfJOKLdq0iG5viJnkh0E7G1uFmUPEBnh1oSi+vVmW5UYJLEv3XKcEoETJJicqYyo0gQA0CyVrkiU3wbxLeJ43SoNuTEli0vJKSUpsT4rpCP0LSMiCKmIJo6kpPp9MydOqEYQJ+L8DVJxAS2O4pSSqGcL9Q/fXCoDVXExgZdpNHTX+LYnsl0hDMU2QpJXdFqh2p7Ct5sKnUbRILVe5WvpaJIX+sSE8Eml/pY/FCsYJUFYExU+LupYHWkXNNBv5wdW4OCfkneC6fmfLP0/r+5qm8V/7nP7wvxqGLl4M7fC/iacxqOmyLWx26Dw5V1yrG7OfrgZEYVhguRZtW+MrjbeVA32kjOQKD+yv9ZPN33n7cLp94pZUe19Ke1vZbP9K08FnXyF0nSf4IhGKhgYIHdVcPbPEBWyyzPr7rn23XYRVjPauj3lga93/xz9eecsmXv/hPL6KM7LdP80XT9cVczxeHd78PjHNysX3HsdVmazcmYTwv35TpiahpMkRAk5jMZWwlfZaJRQhWUa8rk4vIK8gpcQvnIXiV3lZyQ1FJ1DTjX8KaVBYoeBvpwZxl0490p2+LBRnhT/LUkqQWPZn1bB3kudT0kbvmQGCNXdRtVIzUALiIkAQE0Ky4AJWOpbjVbWC9y8/kMnAUgsFVUpdTsSAM0gQ2agOK/SVpMpyn3erdGcWiP2VsHYP7bGyjVCx2BoeNKf44ndu/9K3/7o4nr5R758/94M2EidWUHdl4z+uwMkDuMN3mqR2EAwCMJARO4mEdnq84ZkUd2nT13X/1S3f1obTSSnAt7elmv/OjTYc0WrdVwkoGHHEhADu0rmEIFTvD6XiIhe3rCHDU/4U/W7tiKsQgvP5zHL1uaniAjdHqJ9ciJ9Ym8gAO3TWy3LfJzbTN5+imflDGnUoQ1dQDV9NliACFDlDMaULJV70+cNuS3kOKqWSaoQQkrQGwSsjN4k7JPyxjWdlYMBwHrXGUSJF+w9KHZ0sSCKjUKuk7aWlxAEhdSirjKRWJL8hWcenjmghSLwpPdwt3Jc+qDBHQZIhAksRpsYJioE1BzViMax4xmC19yahWbAjCVByAqm2RR5cKRWD7dDv9L4RhspFCEIXULmbriiJYp8Jn+fE3BpJWFCuO7yB5FSpdgyY2czX75SAUazhPdqA5HvZ8vbgpm7irHi7Ta1T4E+l5OLYK7wXYxxBaP3Sl3UN//odvpnZx0uIFQ6A6DLDDcDkEq9kpO05G6wKBNfuaDQNrJsJC//R+6L/c1YXSSpuylaoCpV0y+7031yuysIAYYgrpUhFZYaRE+syEKhrAhh7SjOWulmIEn1IEQIBNCw0MPK3DSgTACv42AVAULSj+lii+weGH3s/96doVF6OF+/pRHN2Mw6GLBdbU58IoE7vdS64Te3lys9r2xUO4T3gNg+ARhFUHYaiuGZqMXU1k1jpTCUQUc0mhAb4HRCqZW55gSVAZVkrOosQgjRKK0tedwkFjFFpAYMXZNtAjSA38ELchgjhUMlGaoTy8gevLJCSWlb6gWFqkLAJoIYOxR96oZGwC5GENkPXBanxH0MzelXTbzstKibSwAMFlFpd7QW4GIWSXPiVZSU0l2V7JoFiB2IFSs57/wmWgLgxV4ax4IbH0+CdSsixOjxV1R4OeK5Vhs1k6yxOwkkRsiWSwxcVpePh4FA9+WdeYiSA6mB4LHotc9g4nsjw5KxGiQw2K5+5yxlZD1/H4EJhJjBKxPnol3kd/7vfukb0/7/jXNxHMVwue16GaZTvB6m7e1dFpozGsBbDdG1iHoVUq0P3/7L0HoC1JVS5cqzrsfdLNcWbuJEbCI87A4CACKohZHoZneIrhmX4lKaKCIgiCRAVEeaIiSUwg5vdUENPAwMCAijLAMJeZm88NJ+2zQ4eqv1alrqruHc6d0XfPTNdM371P7+7evauru7766lvfeusLH02//xUfXydtaUvLuLblUi9vfebSgk4soNlPWgvGChlYy6Q6DKy3TYN7wDgWlkxgYhs+w+9EWqn3onedKy/VOn3fK27EbFrPJxchGbCANSj9jO8bjPihGY/i2xChbGALTBcFSOd3Lj6quzjXQT2qFMVFegAi/majkQJxyjNLvdev0tYJ/Vo590SO3JjzG5CGwI2ANNJHrap0A0CEJcDy3oMLVZS9tkldWxmQYW9IUgGWE7HECU6PR6TY3LCYvbdWKgsvm2SeWkG2tItSFgiEA0xkRuNuh1AMKLMBUlxqectRNpWfRemE0blK7a70auUSpBqP20imwQWtc22QRDSpBVxgixUSKTbV1PncXIdkw5G++pG6UTULPRoVnx9l5Un99cnSXHS1OfbmkB0X4NQ6B+xciL7IAaaDnvjc/N1N6YE0JrvM370BP1YyPtL1T3fMR9eazwYjdlqc4h1zKZwPB6jBWGsrABa3fc3TX3jrXZf6c/UVP/JIxIk4S5K4QNXrzCeAVTKGXbXv7x3AGsoWht/78o+vkba05V4qbXBWW+590PqsJfRoXXIztFBgenGCBYgToKXTtqvJWA4yyGB8ENeYQK7SD1QgjQFdJqAhCMDi65cyaMWiO9YPbBWwaheHxkHqfArnBKbrz+ZtX1047eFgjjvTwjjPs8HwM5wptGUDshCIlTpzlmYyOWf6Vb1HVtEEnqiAo5ywPNPsXykZRx2pJX4wGuonZG7nPFnYvUAWds6RznxK5hZj0pmLSKdLpZdpREspB1gQ2+GYaDTM5Dl152Myt6MjAWx3LrKaaQSvcil0oBOystroH0I6oGFB/Wlli6F+n9T2utGHzgJORgz1mwvlNyu+G8+BG70NKFsxLvWyZUNQWDM37sWP6XSwJsUsNSluGbcnw42lktm+agpydaTdzXBxPyPBZ5R6n0URcJUYTS5ggoLsUn0ml6EBrWAnWRrbPd2CX/HfbQfQiuWF//tf+Avf/C8bFOgAbLCWTbhmA63CRAVODhCgQcAVmLFY5AZj+YkMTK4D9ZwGXxbgPE+9pC7EJEWAuXe86DG72p6xLS3j2pZLsrzt2RK0LnDukznGeadiOKczsHp33sTAmkNPYmHN/o1Ma7Vv/wXvOD/cLvX7vl+6EcWcPyeWgxfDsDYVgb06M0kGxrKvW2NekyRZXNq38+FRJJGSYltLnWBAB2UR/cptVL3aN9IBU3IbPeVO7fQ4ly4BoC3uOXqxIvUmjoUBRvv3xQL4KWBHEyUCOHV8QOaXumiQj9PQJOlEZM++rgLSpbLKOnt6JCPzDZB2Gxr25Mlcl1RDrgba1LkRom5XojiTklWmtUVtbzHZtAK3KSUjXam6FckMpNcrydxCStIkvAjjA7LCm0Yyt8bnX0sgENQnifLSlefAFdgxzHKWlUeHWXHyohuzBJZeO+JTeiu+Y57eEdNKOztzYx3fPjHb1i8+/QW35tvtWfuqH7s+AcW+0lCzapjVkHl1B1lN7GrAtILDxE5kWEkAWN2Mg845DL/rpR9bJW1pSwtc23KplHc+Zx6zMi1hzvPQg/ViASwhs8kIyAQQGwJZ/Rn2wxs//fbz284wW4DXa4hKTAD3BLC6ZTDi+4aZkgzwmfd3K3lrPq/pXGfnjn07HyIAIpVgTDOKXKd+NYykGcXwym1Kpi1VqU3VxUQ2EsGrAXjKD1ZPZ+dMACw044/I5VctSMmAKUUpQOmpPhn1hiROY5J0U9LpRmT3vnklOcgVPjp7eqjSvzo/W+px+ypoOp6bU3Sg9p4lloJSFJiCFbwKJiMqSQD6xuK+UjKAwN2CSOfh7Cg4s/5mlRYXlK8tYv9MrJOGC6Ke4oROBa3+D9GgVcswpFxAp9xF6QQCVSm3kBm2xPEjahnoLC/vHI3K0xeHWcMsV9NbTzeF0/MdOHsPbp0QwOL71wjQeud2fea+5lnXYz3uMBm3QhmAAasOAG0I4Kq9b3IJ2AJgrTZ01+v2PPjOl7TgtS0tcG3LJVDe9VwFWn1AeXEA1gWhHrsasLB1lrUZxNa3ixCsrv/k285v2xSFf/rKG/+HeHnyPQWsblnb5A8oGZ8bi3PqD4/w+7ZUn5357u7FnQsPwm4Ng7IkyypBbKlIP2QmZbas2ihEOxFQ20hw6lwBVpDvpU+strDiuE4As0OXz9uoeQSeWVaSlXPKXL/I1bT/4s45AVw7zoiJk+UzmY7Q90s5HEm2WGpoOx0BqGMFViN3zpZ6520Y23yzL4FrsnNHNWrjjn7VanyrQC6ut5H56/G79H6DzYLEXSpBZSKAMCsyxZJOTVjADblq61ENCFQldTqxA7ZFHZWYMjfSQBbIKCs/l2XFua2DVl9+yWdobjGFwc4F+Py9dPsYAPuBp/3MrX+43Z+9r3v29aCZ185YZrUBrE5iVzX09N5cLGB1B2F6/eDbX9yC17a0wLUt/w/L7/34PLoH7KqBUQs6pwPYCnjSiVKAcSxsE4htOgaScOjk87zfWeXbuc4FcEXz0heJ5QD37Bgu/p4uGOls9Nl1bkD5RYGCLbgNzO9cPNJJ48tZkYMKQFLgFRlMKR1AFpYHKFlqYVWWLah6WQlY5RQ3gisdrY/SAgnGxAaZWDfs50pYmUSSnRwNCtKZS0mUasaRg2ItTQMSILrMCpmiyVazYUZLZdfVWEwAl/sqjoEYgJUFYQMVtyQ9bQXoNRYA+Nu5YZyZCi4zLLS9wHHsIgV53oN+gWJRknYikkRKE4uB+2PzFzuerZIRtnIG45ZASLebykQFpn7RRxc9dEvJalMyGBb/UeTlmsEk4vutS40YABXufRdHYFK6UiZOWFwKO9OBlr7UXkhsh/6+4vfES3P0zkiSyzzj9zzpAR57+djZ/Bef9cufHN5XnsOvf+4N86DT484CVh0sOZFddVnZMBPXFgGr3kxe6t63/fxHW7eBtrTAtS3/9eUPfmIefVp3h2znxQBYB2haX8xJUoCLALGbP/7bq/cJU+ybHnUN/Pg37XtwN6XPuzfv7/6I7R9m/OA9eI5syVNTwLg0TaPDnW73oEBpYAK0IBYASYI77vaj8uBVB+rOQ6o5Uq4Bq0lAgFm1Is3Oym/DJThBTEWL35vOdXSEfiQBbzEaWcYTMPjLdQ7QhWVZNRUw6XdGsce+SjcEVk6tTuutSrV/HAXXjdUraPtFpEcuxXl9korfkGMgV2CzwR0XASkRIEwLWKmVCmANpWgLZvbR9YCDAglgxWeDwfDTec4l+EhiSI7six9gzuX0SnF3f1QlJ7j2UPJgMyAa5bx/4lxxzJzR/p3RgaV5usdsKz47KrYZGVB77eHkSvGzpQa1N+CfGGT8zEWCVVuGGXvd69937rNGNnTLJ4/y+8Jz4Y3PuwGnC5YsTpwBrHrsqgNYG/cNNKzjmNcmwKpedASuDLQkG9/yc7dutL1oW7ZaWleBtlx0+cOf7KYE2G4AFkaVVqla3YWUosEFaVyrCOogfaGEGNaJQEe6Nqdz1Y4EctG4ybgSOMv6fQW0PvYR11KB8ejr3nMeO95/mNJZb6lDnu/Qc1EEQ6feZnAbUEHnZpkOVnlKSbEnhtFVCWTX8GIIo0H/NNdh8lF3TgDCUQ20kijSX+j3oFwHdSHoQv0rlQFFymUAU8Qi4DIBRtguYqL9WXXtJJ1UZskabY4k+EOHAsygBXJ0pFhcjlPzgEMvRlzsStNUMqb4CgkuiQTdkhXFtKt4zgFolcMrqiJjmg0IuF0k3I6VZheiKgcnNBgRoDeu+F+AvUieO7r84/qYGuEj90aKeE4StOr3xsdWJV+IiJa2ahtfrq2/LAbkc11+aMciuXauS/aLU+xE+hQjWk8mhuvUuTk/w4l0d/d1XQXiCAZ4OQO3gq0C1lA29A+v++Nzny2lpBc1vEDxnrrxEddueyLn2a+7bSQu4RqVubU9dwDlCqCdAcBxB9D5W2uOK9ZdwEkdq10CLLql1F3vyAlodQzDsspUs1Sl5dbb7/jjl9843/akbWmBa1v+S8p7nt9FH8F9tiMR4HVWAEuhArDgWK6QalQf5N9WANa1xaKBLRYNbLUMiKUKxK4957dWR9u9zh/z8GtBLFTKQFWqeX7qQv4e8fvPzwAsYVYQutiFE84+hMD4/xzQOg3oCvxU7oxIfkUE2RFxPRcEPNoooHM05527sgKODUfFZ+L5LudlLtlIz1onjvRF1z5MDr2jgrNUo2BM2VNZwIq6TIF8ENCWApBy2R4EWKW4cMX8ICAVn6NllqvANFMDUGQKxOphUUy5tDutAKbfaCFy0VikkhPIH8P1op+8yApjOll8jc0SKS9VmUyBqlcPpfJJAwJ5/iXahOFvjBV6QIY56SYkFgC9stnihvXSo8Hqt1C9LzhmVyr9LljbLFE3vc0+OZrlZEWc4tz8HDmSJjCXJJDGMaoGgHqWVjFQXJIYDHC1bSaSGXoBzCJRjibQF7pwyuyLC9XgdcbBVFN7PH/n6ey9nAFHgp/pCRumhfN4j23358QzX3tbLi7VqpR2TwGrrp0VBBZYLiilrh3eVgCr2MIFrG6gFlXb737fL93YbXvUtmylRG0VtGWr5Y9/qiv6JQFalTtOkEBbPJxATehW81EVUUbcKSfly6kO40TDWh9LQtxnpdPZOuDF9Luu9Uu1YJ+99sy3rOXbvc6vf9i1BvZ4FNJtdwzLxz90/lRE4XEzHGamTll0boWcHWcy4AMs5iJegIbnYzR24WweSLlLLHvFHx3RU/U5ic8xEq+KrmworbQqn9eMleUA8gI9gCNzZBnohMb9MlDLlQkos31KI+U7auQCOvJeJi1Anr9QvqSRDixC2yvtf0kiT7aqfWSRpRQgT2W00mley1J5yGKj0rZQVGti+JRqxcl4cTQy7BdiKaVMIBIg1Sb54m5cnd+A/WOHflaTyW0566+TNCDjjAkQIvG7ZMIDMFIc9Zuthy6RelT1vUBt1jTJuGrtMNpklSVfyfNyVRx6lOdkXRy+Jw7dKRlmveJxzlmiTQqkCLibQpwVfIjLMOOD/ohbbSkCUvFSys9zPuwN+CbKezspLHcTut5JIBFfu4bLMCfnxHdNG4SOrZi85L/x5r9YOSUTUOgNmZM6GpvX4QO7cSGnl1e27fPiLz90in3jEw5n4vp3JHrcIliFGrsKNeaVTgWsoAFrNc6030W9vmDuO55y+fD333+Stb1rW8i91ZG1pS2m/MlPp/jo2Y+SQDfwqdKmhtlBaeAeUNfAEtKsgx3XPzcFdBFS82oV/SdZ+f/+91q5nev7UQ/zGSDOCQlklvLPlz5j//eI1yfeW/c8fs36ZnldyUkn2HkW6UHEBWAVyG+BqFHJUJxln0igOgNwFp2tACsPxNzscgocLaOKUqc19X+Ckn9S4vpGcpmHIFeANlHgFQO39l/WdWyzpJ0+WT1fjWkKtHtKgOzYnVQVxRk5t5xjsJEEqjJjK4AFuhJMa5q/CTrhS0dg8xFTvTp++ygrpdUUwXMU51OOaeRjUdgk0Bp8puKsuKwjpltLhAFWNksZtcFYZjdkqFH7ahoXalojHRCWZ5k49w4ZDEafKfKyUZ8oflJXfMWOJOZLuFOR8/Ush7VyOuC0VmxiIDbcOU8/T7YodZm0vfjgH3/hnWffzoivkSeB17N7f33yU3dua+3rW37m0dgwdyGJ7v62ULdqh0xBsBUhgetAQFRM0bB6+0Dge1IREnKfUrxf/vqf+si2fl635b+mtFKBtmxtpAMENa0pBFmwmrKtqB0qCYEzRdSsgQ1kBOE2DVICoF5WLquJZWK5T4BWCcKchRH/b0P6La8WaOtz4Z507CFAXejS4yGFOpFdJTwVYGg3Z8V+cVZzokPqAY1PE4hWxFUakSmZtVBaKfBhNy95vDlkdwlc1adpR065c2vQXzUCLqcggfhm5yAzVCHQwgAr6TQgDorBRB2cLo9Amup3F2LxSlXUvElxSlA+AJiClHTEkspFHFcATEAdrabwIzCz/4AoTyGeIq/nGtZnWxRKb90RnXmeq/SxCiRpSUFZjL9E3FEYOEqD2uZNamZeJbPH70TAirZdVSIDsGlkiQVtoBwbjH7YHEezslRSZWIYUZSb464jAtThkJztbcLRkXgVP7G7MM+vFssRcQpLMKENmIa00IHjFwFaJ5ULZ8U9UnLLsBp3Me7eW+79hVXzyIdeC+HgcTuVH3rlx+WzEIPbaCCpCthTcPUUTeyqfRZTJ8ZAs6uhhnUKw6qPSe2gU05+ANn3V6/54pZMa8t0ZqStgrbMWv78BSl2Ojuq8bXRCDqTUMSLMm2UEBA/CnWsjECnGzAzXT5D4DwEfTkBYgt+4Qd/fX3bglbsKA/u3w1mKlPZiaKuEOxiKSNNgX70M8P8SQ+fP4OSgYbxwEUt4lg50ZKBidty3hEIYIdABItoyUolYKUb4n1ey17aMFbBGCoErAh88WvljxXPpizno7mF7jwfjaIK2eiAJmktxYmRpICThUoKatEGS7J/mmEVwHfXno7yfuUKpeDn/fXcThXjvDbi0Pl55T/A9ZlvbnKV2lX6nFIrFYiI8VXVvq2uLpdUIBMttySLiTuK7+/GlGSjgiRowSVANoJX9GV1ExRM4w5r8g17S4zHepKxRkZVgFdpsaU9ZfXtpT7DenMCx5gA2spSjMpUs5F0KihXxdJ3MtU2XltdpVmew3pZwqb46an46n1pKg3zxflARhr2n0vgrBg8rEIQtD7DMvZcypL/5qvfc+G4DU1zpAJj7y+wtxg5fHA3bFfpwJ/98yny35942VBc1hQth8GLERgPVl05AQnkAODIAZTEgHua1+mAFZqIDMynEb3rb04M2t62LVOIlba0ZXr5yxemXfEs32+7xkoXxqtZzXoWLFdCQIgzA8qp97nzvraekLqUgJB6Glei/B0vfP+bNrY1aDWdKjGdKqHWlujTt9/BH/Lg64wcURk86XkTRHe/+Iz9PyBeHn8P73vukG10vV9+kQAgnXAjhoCV8Xlp8Q8wopRihzNT3SMJihlWeTV4Fu1IAlbURkYudBMgZmmuE+22GYAwSh97QVYQK4bWoUnoJpBgwBMFz+u0GGXkiqu7OtI/kRWb55ycPj6o7KxoRDpdSvbuJZXpv6jcUycKUjD1DVLXigDZMJEY8CV76sheMNAVaBomeseiRRWmne10YwFcgRRJR2XmMgwnSgayXJ0LVJVk7wELBbmjtXFTEhGtyW0kbb13oJlemdyBgpNON7JAXwoMdEYvZGrle7TB6qRkfX3whbJkBnQiCZ3LZbYZmyjt8N1pzHfi36McVrIMVoxHlzit4Y756HNQdwKYJcHGuPxgN//8O8/+Nq+YVgVaWSUzCscM4f1FnUvwiW0qH3j7zz0aT3+P+BXJJJmAoxYggb1VTQ7g7uv5xY6XBFTTNqHtViXzXvnqn/hIr+1129IC17ZcdPk/PxtH4gF/CFFjk/50EoDVnU6TztXpWWigWfX3IxNALKm+G/ui89/3q9sTtN7wcAlYoaljxU4VAWu4z0Mfch2EnetPPH3Pwv6d0SvE210X9UBosLPKSz7fG/AH6GuNXqupWLoGsKKGFVSQ1TRUIS40R2Aacz9zEjaARF9QHqAs+ZpE0F2ci/dBRCl0uoSPhlU0v34t0V0AmaOIep9hYBIC1yuvW7CPPQRuZcEFKB1JcCqzdQmQNreYkH2HF5CiFcBSReefuGskzfwlOEVKSM8yFIaqlRmuSvSjsr2v6YSZRkTZMJeR/SrQq1DXK9Z+/cji6gxcylu12pfrBADUzNcSrc/VbKm7vsyZU3F8BmhX/YFMKo38CTgZ0KX9cDGzGALYPGeDXm94TpxiLv3t9C+II4Aj++J5UOvY8mq5Psy4FRBfeSDea96Pcl6cWS030oTvSFK+Z+d8lHQiOmAMBnMdOLOywe7ICuXjignQDu2p/GHFZ6f7I9YjZKydbVjWzq6VL3j9n1zom8dGaW1sK9Aa3l9mcBgODIlWTdz2b9sTvL7jRY/BprtH/JQ0AK4zgVW1zxj9KrnHgFUDYImIzzz1x2/J2t63LU0lbqugLZPKX/9cjE+RfQJFRdqd3ThCcjuPRuS0JeiUSZYvBA1gAWw0vEmC5EnyuCRtFIB1iCoj76vAaW3UVdoZPQ7Rhe954/YErY95xLU4i3yvDCJ/RXTQL/2ufe8UQOJZ9xSwmiJAY7+TkHPDjF0mwFRXN4IRpZFrtjrp/KnYD9lVG/UEagBCNetKJxxBbirA83C9n5/atXfpkAB+kcvsKIZTBWlF1ABHbX0gKhaDi1Ane+ILQ03pq+l9DipTFueFYmLTVLKjxz+3KqUIFC21ikLiUtCZrCRApspeCzNUFej7qkOx0fTfzKdK4lR8Z5xGAlCWJBWgNZJ2XaVkNiW7GqvUrblMtKDcEGT7L6E2WlNizOq9zd7lrJ8piSrUR4KYDQt/j7sBglY8T9e5QSA2Phxk6/J6Ksku3q8FLqJ9RA88khwwx+wNeT7MK/HuA69ILrNIcpP1BXCVAVsoI7h6f3zV4d3xHg1gDg1G+WkDXDEb12V74xssc17mNw8yssFnhI1Fyd/xq3964d72b0bbLPKxbQhen/Gyj/HfffFjUPOwFxXapM68emDVgtOAXXVAaA2sVp9tGbC6gHf/B95w06knP+eW1mmgLS1wbcuWGbidGFdigaadypwAYInJf24m4KgBq2DkAAagurnSEcDah6cDYl3w63bLDoF74Rlv2Ci2Y/3e+IhrpWZC+gE5QE0TccpUX7xBBshDgg1SAdMRvPhd5z7+8u/Z/2Hx9nEzXN+pnW9Z8o5M4smlPi4XAHE0C9uF24udkNnxpv4dwBo18YBNHCE2gYxFcPrs6MKOLlmY78A819wMOq2LgQuhhNX2lKBVt1RkZKupgVLTZ9qRIhdAshBdNcoM0PM1y0ghFhoLRLYwL10NGAY1KcsCSbAyWtlFSbYVF660sFymdmUq2xRaa6ElFbKWCHwFkEWwi4xqORhWNBduT6ERePIxTgLher6le1s5DEgK0ckZgOdNdbIHIr1wVXDbcJj3ipIVAVOOABapZBZTcKAz74rfxxQjT4o4suZfAox65yuGDpCJz83oNVraVdxYAP/UoB+dkJ1UVKWDpSZnE9i2NHbAJKr3lpe9+9zH7b1hkpARNbRWOmYq76Vx95f9u4FQxIQFWEMf/dftBWD/5y98jL37JY+5gMFQ9qduFayOYVeJA1ihxrwGjijgHhc89hYUNkGW/mzbC7elxoS0VdCWceX9Px93JXANM6qYKTSVFKCWSMCK7on5TMXrhk4EdIyXoHrKoajQT2rgZoFxzmflu9/Q33Y+rY+7/hp47KOuiTwDBufBbTtKSnQGscC1QSUvtaDVxa74z0qv/F2MK8KZ86aFVhmK6LgFJQGjvNybFeVeAUryHQv09ojSLMz5EC5I0grQsiD2XwDJK9qfFnEZhCXzqcfUaS60Hlyj40AgKgVsKkjSxUSuCFXWh7y32uermGlLNjwBLinhDpNjptRLwh3QAk5SYEsUMWVBb0z4MWMXGw0lgI3n5uTnZW9TBjbFAsDG83M6eIlIpwHp76rBrBrUKWd9nMKXhv0ITocjlRRhriuvGtEVjH6ouE4GZuFxnCApGBN6X7mNNjPUEPy+pgUbXRxHMmOYTNzgpKNC1lemqNLngnWYyEA34Nkw34Tma4bXvJuKYY1ZIrV7jG1AtIXFRDmT2cVtLwLTin2Q2ZfsPmMFXV5cZA/fsy9/YqfL9rr7YfbeGdvx5vJq8bsGYFEfryvNqnQxY2PvL/mZo281NU5d0EY5xfTL2+35850v+VipE5fwmiuA4wzg+rV6wVa1bIfKIUBliKg/480YzwJWvG7agFtdMOfZXmVxnv/7N9601PbEbak/59rSlobydy8Rjy9OL9NgIwyu4uE6GeTAiRc4xYlPkfpBVZSE29X9Wb3v1H9Ql2Na/fZf7m+7NK5fIkCrZqsUR8hksA+3pujcSczpBGqNG3m6skoLesXri79r32MF4HzmVllWZLHygi0UJZ8XGCZLYtrDpAT4WX/ILh8VZO8YbjSSAVtNbiWSfdVSAdJIEPKASBRfGIt9KrbNV5FwnHqne3d3dgkAGKNllUv7SImATDFWqqAl27ic6YFwvlnnHzX2WFLP2unIVwS0XEoOIpniVdpXZJliat0Tt6HXClEhCJTpZnVaVWQuMTofAWEcV5pVo4WNTMYqrphPd705bbW9Yo/t9gTZZVbnqcP2Ih0MIokcvKe/TtxgQDn+I+UCMoMXkOEgXxv0R5sN/UbFpFLd9IDkAsNnboaKSOGZUoCUEUd5MKtOrpuQ84tz9LTDlDLx9EkXl8oHpV12pMyj072N6HYxNhjq/BF8XLu1swSMv+ml7z57K95b3CGmy+DeImT8/UWJN5MBBvQTx02BUm4TcnzoE0e33bT2H77ssSkA39fErFYPFf8WqZhX6g2468xrM8PqSALcQRq4s0ZujhHx7tSTnnlLTtrSlha4tmVS+eBL6H7xxFhQT3jKx4DJsQDWoIumQK7wMxPM5Xa1TYFZQVDXxre9bri+3er1CTdcQ5nyLLW/Zxx4deqDe4iuIQGBC1ht3you20u+68CzBGK4cRbAKjv8kqdZIRMHQBrTzSiCUQAO6HqfPZBxFdyhz44yGbDVCEypTlZBZwSsBPNKlZxGTduAPwaSfy/ORfMC+CwZTzRZp1yBQdSoWk2oqTxMWVqOl0MrGk8BOZNCFsEq6l4lWM0yxZqmqVwndbBZLtOi1q4Mgt80lTwoSgXk/HqsMn0lqboJ0G3ABFahRVakAS2uN2A06UQKvIr985HKhOWtF2W4mY8JvgLJrKrp/wCwWmWKAsDcTKmj/Vek6kH8vGxjrXdOY34Y039AwwBpBA24UMqEBYAl8pVkO+bpZ41RQ1jSDtslAOzDaMQXhv3oc5u96Og44Oo0oltf+q7lN8m2xNW95YLXcQkIxvWPk+6vyAdt/Obbth94fe/Lb8QZkN3jwGodkNa1q249uQDUs0h0kxpMAazVd8p/Rk/4sQ+fanvltoSDyra0xZZ/eCmdFx3KQuXZp6bsnflbLw+4O5VEQUkCzFRSo4wAKhmBkRKYhda9/WpyAiSAtiNofeKjr4mImTULZQFUQn5bV5FeKPjelHYqzZnGi8Z0qrju3HrxdvHSm4VlHeVsMSv4QizAajeNVkLQqjsTNt8Bk5gABLhDLeMiZjVtyBWBYHaOVJlVw1gQDzqgshJj70tehec3JECo/d0blP3za8W5osQodmXjJNChCpaSVg3VT0egKSP3w2NDNU2vbKDUtD9G1cusU8MhKXs9Nf+9sCiZWCaAaLm5KYEr7aRSWoASA3ssmTe3JGwwJFzsH2nTWgl0cR9kbyPwKkNGbNsbozo/qvMrK/9L7q0HnYfeS3xggtXE703SRLwmFrRWv9uEyUd2Chh0DlQDrnHQen4920QHV6I9HmAK82GlISgL4TL7mScDkew7SkkYn5tL4eQ40IolG9HVlfPJzYPN6DPd+fKLdu/LvzRJ2aTpY2zrb1NwVd8byIpSDuH9RRvur+Be87Y1zy15rDpoxc+ovse3Vfnmn70VPXl7th01JnrxpQDuM9q2T+o9ABS+Ne1WywGcRDW2bwA/dazuU7SAQW3bufnXH7er7Znb0jKubWks//QylAiQKxSUqrgtn/WkfAwT2sjMTmNh7TECf9YxTCxOGS1/82uG2yog4stuvDpCRaZblyyoC5d95eFkLx9/97pZ7g1gdabv2EuecfBLxOuPjWVZGU/ygs8h4ZYkIDoxmOrOIMDitaOcHNTJAryzVJZZ0vd1HMtqL7MiSAHQ6ZQZCOe0Jaiajcu4up97VbXQpfMLO+aWZCCVYVv1Jjv3dtRGhZp1REa2t8Gq3hbNZRMg8wtQnTpnZGNTH4LxKtOUwNYykAtHBALA2sxeOA0fqZhXyepKZpc3PnLjNJYMp5QE6BS0cuqfVhpdpue2vfUFkyloseBXUarQBrK2BplBEEEDnt+RIZ81y0rcLFrOSFSc3MpGvjGq3AF4SoqCEmZtbGE6+2qy5Br21QnSohudBM6LscGaGCxN9e2MYt5d2lE8XLSUfcNBdMfmRnxHA/v6a0/98VtuNn98yfXXUN0e7b1ln0NkQusMfpi5twzb406PRxBYQ1F19f/+1i9sq2fUn7zyRpQMdMcxq3XmtS4FcNlVr04a08p6kgAbI9ZksaX/PvG4H/lwKxloS+sq0JYao4Yef5GGAtwFRxaVANPxppS7n5kOwmi+KscAR9BGqtDjsPPQRBIJbbXUd8jeALvr809/9fYBrU957NVYVxFTHR9GUBMtuZTsDdMEoRuQg+MC490AzO85VBR2MOBs7lCt5u6pnzh689/8yk03ibePDlnWvJSMaYIsa9zAsDYws1FW8N1AaSHaQZDlXhJ2mCGio9fyaaPmUqA8TNAqE6QZVAh+k2tk9TxEb9IPSA3uZlb0s/mEL8YU3RA04I0o2XuwK0AmJhxQpJgA66TX41K3KkEmmlt2gOzdH1dWFxCR/hdygT9Bpz1V2lLlLFCoHheDwzCQCxMW5AIsZ7oakclMEg0KmdbaVm0aHQ/Mr6MmuYAEq+DfLdrWy2bWkoFdFhromDAEvZFPuQY3doXxlXTA3H3amkzpe00bFN81yNgwq0CrhBcZoDihLBKB1GdiPcDGRs2JN+jLWejTKdIEVqRbREF2FyVfEH9fwNSkYwdYBQxXLyS3zi+UV8wvFg9NO+zg+kpymzgTo3P/uAtaseA9gODVAC495ibM1JBzf1W14zS54N4KQByhpBG0IpiNxL1fvv+j2we8UqCYMvoATjRMAqu15tXgDmAB/zg5gANYx4FcAk5yA7UOgXUrGWhLy7i2xXnIvxwwO9ZhYtBDQxYsUmNTKwa2iW2dyMJWx6tnwgqZVvX2/NNemW2bdIBPvelq4CpDlPKpt3UJxOAfl3312eYxwWmkAY+QWpwNu/m2o95e73/9TbvFy2uJiujHEUCUFwwj/Eka08Gk6VoLtEo+L7DWbjNbXDI+l2X8gHO+ida51tjVkNfCNzmJ41LO6bvsqd8qoGFfcOTPwX5ubXGBsDpzCd8hMd38PLnyCibdAezvEW+PH9eZqCRwRbaVkoOHI4NA5A+9+65CmgbYEQFuiyDPjEBsz09VKlqq08qWZaWlhSC02vFiBd70JIa6FhXqFx+aGoO7vRGLe7mViRefVjGvCnhIppcDu7CerzFna+6RZOhzVuS0yV55wnvUt4o3ozQFTE88DD9PYrKaRLAxE/u6M3+keN3V34j/bdCP7hCrn/+U595yoWn7x99wDd6LdCv31oT7ayxgldPcLpMomtnffmT7gNe/ePUXY1atg4TcM7A6iV2twHADYA32rWtp4exjf+hDG6QtLXBtS1tueYVUQV7OiQykccAqhGCV16b4vc/rIDbwUa91HFNBrHrT+4ZXZtsmWfhX3XSVsgPSMMsF/ZMA7DgQOwNTbpgh9k8BaHXA65PEy4+gNECA0BQlAUnsgYdxLCvNCr6nZFKv6vX9Wc72ivVLKA3gSsLZBFiDSymZu8SRS/IApAbDF+IGqJtWwi0JrdldqEMR9PSBxfloZ5LQ7tVHfGxesEgCVyYZUrX3/CIlhw7HnmjUBa5cBmtRy04qCUFZpVvlTi+rM20ZkKq20WBV2mPFxEzxS29XBG4JVckAcF49Rw9VNbseO+uLjNn0TzF6RMWKb84GhR8t6Selr9Ws8pHSpwzKd1Zpb2Oy1i82xLUtXLjC/dAsBTR5kUfS1Xai9BXcfyNKNjsJHNM+ecE+HLWNI5QQICs7pc3D/GLxgLmF8kH7Dg3//NCV/f8VX3vXxPb8hBuuidgW760QrLpgi0wArRRs4rfir2+5a9uA1796zRcvit+yG+pX0QOrtXpoYFddwBrKATyg2wBYwRufGTNY+fg8duMPfGjbpvVuyz0vbXBWW8wDY0k8GFITLFT58OEcLq+8WR1RPQk9WOXnKpDLPux9j1YYF9BFofKFhTAwi8hc6KvbpS6/7vFXis6Zx4rI4lUe78rfVv9OtFDkxCRecgNAcMHZYHdxI0fCz/CYN992tBwHWrG8/N2n/3GYsTsEfkoFYM3TRODHCT6uysuVzI0Kfrl4XdDrzDWU78UxMEiug6wmVW5SbtCFxUzmvYAlUUaTlKi4i8DvlzuLxV3BcarPiLO+wmfgnqOs9s1+ubq+np3lJCoqHyNxwmmHCNxlzdbtK2bRotU6nxVSFW56WDwO+rDKqfo0JVSnTpUnhXgO9bQS9XIVpY+foYRAvO/Ox2KJSBwbT1EBBLsR6S6I9XO4Ldf610JqWcXpEvEVsu8uxTpcaMzEPkA6c9SmgEU9LGa9wlcZ/KWTGqDMAYGtSouL67lNMlCMRgK05tK+a1SwYV6wQrdRYq4J1ak+wXGyKGicFjRKx11ve32ovZ+ZaHsjxtFSjSduW1Kv8tBd0eYuE+10cVLbxFPo9+I7h/3oHQK0Xi3+/qPiziOXTbo3xf1RYk2F9497fzV9Rh1AZQOR5KLqR25HQhNiblyjkq/9kiu3DUn0tc//CAa4DYi5x+hE31UvkLYWbGWc4UDdjmGQljYDroJNqRcADLpUwYMq+/HutsdugWtb7ufl1lcCgo494QPHsAfUAbAOWLURpd7D2j7MjBMB8x/44DsSTAKxzned//pfyrZToEOsnrVcJxCQnT64zgqRvvkiB8AaEKutM2tODONALIIB7JAnndCTVLTzvltv779bAIfVSPuyTip5wXeOcn4Qda3NTCyPBbjYFUfQbxgIuYs81VLAogzilDgmCFCfhW10EaiOCSRwLnCD7MPvtriTcSiPn2JrJ0+RtXNnWb66npIL50Zac1rtnhcRWblQkgvLuficiaV0ZanKKstljBD3IUspM1BFMhMVOg7EYkFAqxaVLVkmK5AJCxSnbhCYjHfnyosKTPKCKJKaVVxicQxMGIDBXLFArvIV1yW4pDJlayS/h+pALcUMo0yBFaW0tlLnHklgah3eBXrMh0NSDEcK9GKLFfW02S+GgROAvTxu3ZpKQ/uyHJKUBPUebKtuDBWEJf23xGnt4Sqzmtdu1FSEZPn3ZTnfSybPDA42N+KXiNen4Xux/Hlx9MhjpoBXhvfMuPsruLeqhRrAWoH5JsCqzPu5NHGIpPuAHAAlX//47QNexblf0LZlnivAVLBKmt0Bas9/GrjOUD+5TANgdb93xyfe+iVp23Pfr4m2ttzfy8deKUXvOx1ZgK9L9f1Xp8sIwn2mSAnMe+cr3M9Wv/oXi21jffWNX3plopMLeD60TMsCdL3xpgQNWJhTl7Pdppz9/a1fmKhPfcIN1yTIUtCIC1hGVl/4Pw99hVj9w5OeCwKw7mOVNID7cecqyWnJ+G6iU/wWJV8U23fcE3PfFwKO5xjF5PwyCHSrbmoA7zjc07V6x4dg2ya5QNPn3W60ELGyi8mr3DlJ9GvloyyA0iY1LPdhmAZ/MoZROnhVtJwEjllOormu+tuVCzCVFjadU+OBYqT8WqVUoEO1Xysn2ajycU27lV9rPmSkLIL14msHvdzxqKOeSBAqIaY69mCgAy01pRZJVMbXN8uNglmo7g0quFshhFTOWHp+Bd0GUp5n0Nxo8ZSGGriCg4R5BLAm1uQGtIazzGK/LI3hLAKphrb6G1/xnFveL+vxzqtE+2K/IPb6dnGkn4qvOf6eSffFl914tXTMGn9/cbcZgMv0BCYNxucLHODnZ3OrWPv8z/757m0xCP/b19+ETiP7nRmHZhkAIRO1q+6I1D1Gg3413NY9DnjHE839kd//oZNt790C17bcD8ttrxYdNydX+iBzPIC14NUDqxBqXr1gLme91x2EIDbcTpTRU19WnN4udfm0J1yJgUnU0fbWkiiEADYE8JNc0V10qjvQ4gNTopYff8M1qdh2J3rf/sPHj8qghr97w0143/+8WB5WZ1FJLEDr/iCZgAdccaa1ZGQXsmLOZYO84LucRAP2vCRolRPiYasgQcvRPT+v1URgjTUGvMqzaNxWvu7bG7mBYxytpjbWS+jEZAkBLO12SQICrXdLLyJlo4dnoMBoBQTBMps4/U+cOXJ5rbKM0FSxsGYuVOqbkd2UTgTKT5Zz7RbA2RjhJYx9Sld9PdQUpmCoKq4kAig5wNe40yXZZo9UokOVNxVp/t6A9bKCFbV+AdzgLKgFarkIX4JXkucNngYoEVgxV8kBqdISglJYE2eR8XHxUAK0IngVp+o6X3xKLC8VwNWruOLoke8VR/8FcclelVx9/Ncn3R9PfqwCr8z5Pjqpo2xwFpgBsIITtMT/9J/uzrbLM008K5DxXrwnYNU2yUB2Q0igXw0GAu5+3uyLWomrTz78e2/edpkT23LPS2uHdT8v4jm7h4NNg65EbNbHSNnW607XOFhqc3XbA4HinKq+DJxAae6DFA+cVrZa8kw8ay29yfntUo/f/MQjMVc2Ynbymet64I6tGHpFofOptMBn3GMwuDYEGxc4EszXF++fEq38uOuvQQZ0USybArTaBzx29B98401vFm9/RSyWJUXta1ZIl4DIeFOBkyPVxH8JDLRbKkkq11X5c+MY+si8ViSqOEmgFJlW8MEogJvWafx69/sbt1dgl0MNRvn7yU8uO5SkLpDN85KvrpX9fk7OC1DVmedkR5IW0b79FQmHwLM/Qla0IK5Y2ZwoygB8VlO5Dkh5gNS6OhdEJ0TAZAWqJiNVSUjCZiMCSWyBLDdAVr5W2hpleQV1XtBNsiC+txgOZaCVW7HpwiLJBwO381e/KQJpI1aUZUGh8iMjflBVDUyShurWSSREo0Jz2yqYC5lWqI7mxOvom5/zXYTCCqaFdZ4TLv6Ls5IfSgHOiUEGtmUEsG/+8mffUrsH4muOva04esVZ8fbX8ruuOCRq98XJVScb7xUc+D3li68uI3V7wTR2pzqhOlj1P68BVqPdpOJZkb73H49tC/Aqzh0HG/Mmx0kYZNUIVsnW2dWAlfYdG7wBGbiWxAiqW+B6/8Qtbbm/ln99jcx2tOQHDDmZUFRghpcFi4bCezIhmAvc9c0BXWFQl6OJXf/Klxbbwmz6W7/8SCQ6r1hqVInSvQXZvio9MDF6Oq70b5TbzEdSF2f1sHgctdBQawfTQetjHyVBK1pf9f7ptqO1h7vo8JfFyzstpmIyCOuQq2e1ekMHSEh5APG3sf03kBGm8DRNg0nQmiRuXwZBzlC7XkuoNWoKyRpS67+8Jgg1fSsJJHfaDdUsWlRKLYAqCp6trw/PDjOyIk5BeY0iNkd1g3YMcA9oGVaL7XybKxmw5dYQAlKB5WSaWH1/pZ1ILLH4llJLDShJOgmZW+qQ+aU58VmqtasxSecEGJxPiFQI81IC2wJTyCKfTUu5YICVbBzDgQSt7jkj04qZvpQ9F1Q6XVHrmwPey4oyJw6X7AEGaY0hrxEhQSC4kyjJ7iyuOzLsidnYtItJgBDZe9W2eNT4uT6PLOcHxOAIM2e9U7fhZkbmmuN/KV6+QyzfLpZX5ndfNnZ2Ee8lqtLPhvcZiaC6H412lVJHv1ppWGsBrBRqoFUxAZTQb/myI8l2eLaJOsbkERecAC1oCtBydau2r6C+dpW62tVq+8ZsWhQc71wVuaW+2/6tMmr9xzsfv9j25C1wbcv9qIAKyKqCoxwAS5zAKRVNzE2UdS0VKxkXzFXt4wV00UkBECpAS3QibG071OG3fcURPOXEsg4KgMoqGQdg3TSJFsQ6QNYDs0p6qDpLhSCKv7llMmi98RHXIrxBj9bNm287Oppw/f9aLJ9hnCwKMHBQngp1XAMqhwCZaVRAr10YZOJkcbSfmQ4riWFTsrXir5wmqW4LKu0meO3BG9A46wg0OwnUvsvfDiCIZG9YzPczk8Y4jH5HmQdjDEaiBW5yTOhFuLbAcpEaWCupcLGg1clvKmcwykKA4IjQyjqJLO3qkMWdidS1SscBzJE6H5OFXalckk6FfLpzMVnanYilQ1IBYI21FroS4PrFPQLkpgpk86L0Atxk+lZx/BJZXR3wIuPBxDhkc8R7JcP7zYvuh9C1AbznQc1BQF4jdY3V3yWNYiYWbAuiTfQb3EK8dmYIZVF9u2wsEHXOyXnfH/H8I7cPpkqIkquPf1gD128Sy6vyuw+NBa94T+G9pa8X2HtO15V7b5r7dQxYrQFW5UpgAjDtsyASz45tkR72y551y6ao+MEsYNUNtAJLaGhFiBts5QfzeqSIB1ihAqwG6AZkwJ62J2+Ba1vuJ+VTryMIbpZCkGBGupS4liQuAGtmYcMIXeo9zJtBbANwMZ9d+PKXsEs+gOE7n3xEzsC6HXqVO14BlpCBbQKxIZD1wKyzxBGf6gf5mIdfi0wOsq39D3/iaDalQ+J3Lxd/kuV8N2+aJnWmehnnC5xLMFwP+/ffcgGSNjMp8ATi8Ckm1NjFmLaVQYBAHfRquq5GVGsRllJrEmf4Q5SaoZpwrLamelFY2N1Hf52yamAkK0bF5ijjqwILDhWCpspBQD8+Nf9U8Y5Ue7xWd5A1QKVRbNlOYs8MgW5i50blGWlGS+pjPf4Yjx3L70M5gYssoyiSjgMFBpYFN1TS7So21qYqoiRn0ag3Ir0Sk7RBtR6g0hD4qJ/a2iPmXS38m1ouF1eJgUvM4xgj/Zk7/V9rMlU7wydLIn7ajnFtFtUndy/nHxTfdeOrfvT6R00Fr1cdvw3Hlxq8vro4Nh684r2F95hYeHjv+TZXzWDVHaRWNlo1wFoBf3F6+AzZFkAByEr1bJvIrBKHWQV3oARjXAkoeP2NZVdDwNpox0hJ5zO/+6ULbY/eAte23B8uPEaZ1xkj2yu5DxNPRjCGhbU+fKGUYEYQ6yyjJ72Y9bdHHbI0qtt6BgBWgVgDYMeAWFsHUQOg1Uv+lzdPjka+/mHXIjLCAcnwo588OlVm8aofu/6qU+fLR17YKD/SBFYdsIAZsRY9wMHHOlaRfjRHC4hNagXDOoKrCyTO1KkyaecN089GVe1lfoWalBWq4+vF/G1+gdzuzHKeiSU3y/LZIif2u9U+oyHnp0/l2enT1ZLlLB8Oy7XNXn42y8oeK0vpkQWOrhHcBmAgmKk9E8Dl1qio0NEgI9mocgjAuLIiK0g2zMVSkCIvbf2Vo5Lkg0ImH1AgVOlfc7F+1MeUtLHUryqFdVVvcSeV/qxoiaUtW8tBTnrDnA8ICaUVXl3UPgP3c/Cz8Zr6U55e6rsZROVatJSYoW4w1iGEEGgaAHHO5zjOGPAA3IqCbbU30LMxQL741c+8/pHTwetJBK//QyzfKpYXTtoW7zG0px0DTu0S0TpYrbOrjYDVtmF9f3e2w7Pu8T/6YfR83qANYNVlVqdJAcJ+YgY5wAT/cGX8K86jZV3vZ6V1Fbgfltt/RQblXcO5EzxE6hmcTAg5b3ITUP/U9gscBnhDBqxaDs/AXuvEl76IXfKBC9/9lZdjKtdU1U+VMIpxJ7hsTHYxUrkKeMFrEzjm/E//6e6JllePeti1+Izvio4z/9i/3TkVtIoOH/1Zvx7TqmO1/7crk6enCT1YXVViovSg5HyPo331nNFMPL/5qRnE8YVoxyIIsNYt+nPgNJbgoeOZp/mZsZqINpuFqO5I4O3Bm1wHGo7LJ3zm/61D4L11FBNZJVEnEUuURKm0k2Lccx3wLCNgzE1FghuKq54dgSb3ci5z6RGrfFlLa68lxaGpCvYqBn7SKJQIoKds0R/IFK4Zg2HBIA9+ZGBvBWP7Bh4GZFVDg8CFQK0fxvMDTimfZ8NsB+v3SRgwDj7bSvzMVGiTdcHeLYBZ2viZT901/GPFRzuEMyEfeP6bPvG5aW0+v/vQl4uN3y2+9IXxkTO/M2nbpz1Beq6mEwb+zvjLtk2bXqshBaoVCFeDe2aaSvHOvz1xyT/zbvmNx+Ez4AqNGT1/hdAVwA7oAgutpmArt3LqQVxNnwEBL4uXLMeu+45/3jbpwNvSMq5t2epoBchOYzPimT4TjxUg42QELgtLZpMSjGdiiRfY1dsOoPV7v+py1FqmldaPgUyaQCTjQlwGtknD6zGxqKUjavEy9TiBWNNA6yMfeq3pZGcCra951vW7xA5fh7PIeP0QF929nH9AgKEyZFxRIoDEXW2wa0g5v9+CdbogvV+5uJhF1Mm8iWcI852DG7FVzaBX2ladXaBiT6EhSNnPdgA1RYGTucD5HkMN+f81aWNrewMmNBAgPSuHm5vZWm99eG7UzzbzrBhwxktjGAWEOyfL/ch/6lgAcTMG4FKLav07eMWcSvcCrZXlzhAS6SZMVlCORv7siTg+sq35YFQOS9rvF3TDBa2kFuBWsdzgBFiSut4V3AwMXorOKuobcnHtEbTiJn3a7eQy+qyGhKHmW1BhHyra3lI1zODsruXs7zx3Y+1rL7Z+ymufdf0VU5nXK09/ULw8DycbiuMHv2rStuKew4CtnAZT/7jEUN2zHrMaNdzrUDUB82ygVmNt7/NYPFMueb3rTT/8YdRCr4WaVcusjklO4MnPNLPqsqswjl0l7mc2a5fJzhfc9m02rRa4tuU+Wz77Bvkw2WXyTjvTOJ7utElGEAZoWOBJmqUEk0BsU2CXWLZFWlebGpeG6WyZBbGmk4rAm0Vucghwg7BIlUFLBoew9/3j3bPk5EZda/mJT00Hra979vUY8vMNot7nXKCwMSBrqz12q0pTqwNjCEdguwi0Fnhi00Aa9gWXYdTpYECO2baM4lL8XVZBSlXSJuNAEXRA4DcLq7gkQUDP2MWmJYVQNu1moPT62hqAI3XJNkDzOrmg3nQ0yAeDzWxzY7W/0lvtXxj0RhusEP+VmPfVTLtXYBbbe6cbk65MIAA2cxV6MKQdlcI1jqkcVeCP6XQSkkRMrMdMWmCP113skpgWKkWsHWxAUTA66m3kvUFGeqUArBPqzLs3rYUTsfJCd8BAfMeR6hniXlu85iyKCwnu9HF78cJ8Q3AdNAZtVXLarqiALu4n2uZH1/tsReVhIqE5Ba78ul9+zvW7prX/+MjpdxNlA/eW4sTBB0zaVtx7TPyGQgVp2fuyul8jC2rHgVVwngNNgNUdhXW+76svh0v/2QfrmGlinCPAOLDqSQGIF9hV63vcm9TIAaBKJ+1n0qvay+LRP/jS1t6zBa5tuU9ecAQi4vlNA6argRmsBQ25LCwhQbpWUg/oagKxTZpYffzNm36WX/L2V//ray5PQPmcunnYG9LZKgAbgFhifrcLZCPqaeTMe/bevz82tT4e/lCpayWfnAG06uv3leJlp37wU6g4SHLXmeyTecHPGjZM4LElUvN78klTZ64denSuy53t5PRu1Mlq9F4FjnQgj8/aOeyrQVJA6rlGGzSxhHg+VU7b9vIDeAyrK86rnYPLBHvs4ySGljHO86zIeuuDtd7aYHV9tX9+c2O0NhzkvTwvRwLoImHLdu3vkF0HugJ0RvaG6C5QsvvAnFi6Erzi90aJALgLhOw+2CF7DnZJ2lVZvNBFYG6B8p37knLnoYU8Y7Q3KKL1YUk3s5IMdeCVA0ZrqXBJyFhDFXvlroPg2lk/+aDOZBHXfGSOq1SxYh3ESUaTmIRMObHJDZpAG+L2JWyTXxBtE3wpgWFbDX7CGYeve/1zb5jFZuqVYkFd97uKE/vnJ2343n88Vo6zyqo5LEwEqz5gpf7IyTwLLvk0pjf+4IcwVe5aY4DVBLDqBVrRCWljG9jVMCjOBaweS0vprraHv3+UdoRy/wOuu9xEAvo98CqbJXeSDlgTfZNMoEGA6EqW6npY8D9Xn3E/maL6bOVSr7sf/NrDoi5YquqC6iQKNgyHAwQZwGzdMPvbQY8VHU3sOPP8qUD0YQ+5DoWVdJZtsfzKc66/URz4WtAZJrhj5a+SRlApGbjushSjsJGZ7eqfBJ5Ok/jJJPCPIXQSTuVEt78NUlZxmiXlqOOkjK0UjtzPTxEmIHC+BgL1pZPWIfg82M/8cWg/eM+7khFy7jwvnFqATsph907qTdsun2c5Z/VEGlsppSykJJnyM0WjqNEoQRs1OhzmbJRhWviSdhc7gH5cGIhflowXooGwvKBFxlnZTWR1ZQUUg5yUPCtYuhRHtJPIai8JlA6Q05ARvPYW1DVxovnDaztR4wpBUgLz+MijdKTRRJXTS4V2QT/qdrsk7wfnEOhm1aDJKBFQW338XP4plLM0sa2OJAc/w9TVTxbL/53Mup7hxfGDPyTe/r1YflksPzJp+z/64LEcbe9cogeq56lXEVq3Wv2+UPPp5xqrwD+Rubti8YwpfvOvTpWXeB+CwXG7mg2WodF02V0H4N/LoXY1rDfiPzN8bQsxWeJkG8AB+bm2l28Z17bch8rRN0m/0QUI2NSQLZzGwo6REtSZVlKXE5BQbqDY2M0bX8AveW0rGl5T21EyzaYEOmFTb3QMK+PICXCJqWJkY4elwQCrP/i7YxMdBB76kOt0nnVS/Mu/3znVOuwNz73hoPjix0HFp5GQdcXP1jb5hZVeeStHbWswsmjIoGT7jj7tdHhTYiXxbQWNC06j0s3saCPYg3qrsZzmIHUg1aBl1RHtWp5CgrZ8cD8kB/dVy/49xGcAxdLtAD24jyTuElPX2+reWRCA5kOBYwclyzNWZqNiNBoWg2E/z/q9LO/3imw4ZMPRkPUH/aI3HPHRsM/ykViKnJecK1E1ugzI4wzLkD0Fm+Kumu2o17UDPgIyPDzrYD8O7jjDSAQKmhQV6w4emzqCNCnl/MJk0OoO5dZ67HhWkP0u8++yrQFmwvUPeeNP3PDgqYzNFWdQlvQMsXxrcXL/06dtL+7JzNyfccCo6sWyqqG7iInAh0bJFCPGT1hvcsm7DFz//R/C0fKao6eGRhlAg251nBTA1a6OY1e9/ogarRJ1Z/6S4+99YmuN1QLXttzH2NYdgYBvrPbSDUoJtbChgH4WEAtkvCYW1Aj+ki4/+vWHI9FRxVE1JWYBLNjOq6bFtCDWyAEcWQA0gFlcind/4Fg5473L/u3f72TTNnzj826IxTP+a8DNeAWkisz2ooQJuXs5/3RekrJu8l8zpJevDKIoj5IYqk4JfC0AgUwFanFXuFrLZe7qKLW+MujIIAzOqje5ek6AiqCRQUdgzfJJQzt19btyqZIfwAwa21kXzjicOb5Z4DLYzE29wMZKVi6fGBS4DDYLu359JWNnjveLMyf65XCg1xO7vlwWC2n43Q1xakEwVlD3dS/n+vEgsADTB8yjzsirR90WHC03DKJOJ2w/3lQ7tfcGyQveP7tRnET9YppEB8AfOoHLttrVCs4++Vefd8PUjErx5Wf+Vby8CicjipN7D07aVtyTXNybuZvhj9IxQLUBrEIAVkPAWiUjIVQ8ay75rFrihNc9CcAEGUATWB0nBSAOWCV1OYABrDWpmkMW7Gx7+ha4tuU+VHAqJfQddBBAIwsbaGFhEgs7K4gN2Njshp8ig21Qdx2DlCJXi2piDBwWdgyI9dlYV9davWfvev+JqdP+D3nwdRJTfOrTd8w0pSgO/TiiM8zYfgY8zOGBgTimR06vFJ8nzlR7ONvnvg5kyibDv4GjidUkmoKLXACb3GpKLRaU3ZcbLuUlJqhWqu3GJSogPv3jIk9nXw/1Wh7RuTgAXoyWA6HNscYYD4Ri2HFLQIm6deAry+s3kJe6ITgFc34Nv1ktATys1aPdjtRgqT/SAJO8gXpnhQMTrvIWV7ZajmWSYWGHVLYVaGxPjn0SMtKnV4s75I7i/zQmV3lsazAAs+mZVOlqLfcsBaUCd4nl9dM2FPdm0aR3jagPVDUY85jVKACrLmCN9A+KqprvPPMbDl/SgVqP+N6bC1Hbm4FPLTQ5AjS6AjQ5A0xgVw1gDZ1avExd6iuWTr3via3N5328tBrX+0k59mYJvKppKK41mcT3Z3WBCnc0ic42laaT+FpH7ujdCJmuidXHWL/U6+7ZTzuUiOqKOAO3nnjk/FamOluoDEkZB1OJla7Vqx+tieWk6slnDU7DrWcCrW/6yRt2i++4UbMX6kSrL+YWsHKJRqQTaRqRK4cZ769tspO7FukVYcPg1plK7Y9ZsqhRMrq6UnB+tPjOEuKSk4JRzigB0mDtauuiUrF6DYbXdK/jGlZQOCGV76P5Yqo7VHdXhfEYuLJPcPeFBv8mLmEZn3IOwfjAPznn0OOud7ii8RgT9oHJ7YkTV5hqr7F/QaHpiAwoY1FcQqBrdY/NdQ0iO4+wRTU1R3ISyFBE2zsxHJE+UVlGca9DAiB2MEeDy7Z6gzFaSV7E6ut+7SdvuObHXnvb0cms69miOLkfNa63FCf3fmV82fm/ncj0UKlRngsGtV4jqlA5IyEgd7WZlIzRvKrZAAzUGl3iM3goF1gk4ejWM+olTZ6r/vvg81C7aqdWSDDN0nBDqdkjwKDSS75faUvLuLZl+kNmRxAF3KA3rTGm9ajRQLM5Tg87KSUi8c/jkn/ASPsrouyq7BKwqK7+LWRi9fSi2M+4DLAmlqJ821+fmApGH/JgqW3l//7pO2ZKiSs2/grMCGplAbR65nusq2aykljmisegLFheK0/mBemH/Y0PMqSGNTIsG4e6Sb15j0hegNzMBYNVliZOAvslUqc/PfllGCk/DbTB8ZNQqoUUuJw6Q4rwEP0B4eKz/PhJXpiFsZpMwU0u5Uyyz7qofxeWErqwI4nSlNrbrtON6KJYt6jXm/MS62F+MY5wiRNqn9tqvTjOYhwSWIQEWGDMAmH+LOJ4EBPiygm4Z+ll2tGIdkbcgfZhGB13hwzifU6jyGNbA9CaF3ywvFoeJ+5sBg6oYjgcSgTGygfU61Pe/Pwbpvqjxped/bR4eYtYXlOc2j1xml7co8bftZZBy5cA1JlV6uvY689YY7elnznP+e+HLmnm8KHPuLmPmX1dN4CaZnUas9osBZiVXbXJhtX+tlEstT1+y7i25b4BXBd12Ar3yC6HaPFYWNdZgFdsAHe2GcO01phYwza67gR6Xe9hzyPsUq63n3j6QcW2VnmbFLNGtQ08A++34z8hE0s0G+tzhqxiWtXGswanwadvv2OmOhOd9pXi0NfZ+Hte1b0kqTj3LhSeG4IDqGxC+ZnV4s4r98cPq5GMYH6WmgGMdJYtMOE13FCRioUG42MQUV5CkqdlnhIDc538VxC6CfgNKTQzgEkMa8DW8tV1w1KDe194xyjFFqvrOqWRU+d0PH8JzYTn5BLFQA9d0ZXP3wvLw3LtApPfuXuvBK0SmJ4X6wu9fpdYvyTXczh7elRurJr1sV5PyNHP5LmTwW4q4+omSGumkh3w6R/F8rAZTXL0f4q0gwH3OVowe3PLS3IM4hKtIGduHbqw+cxKeYd+zoBrvZdE5GBWkBOe6MFlW32GHNfvFcsjxKpPzHBJXi4WdNNA9vVXJ2341v97Iv+BrzmchMFhTawrbWDTXYZWs6s11lW959uAdQWMT9g3zg1gErNaERi0Nij2mdex7Ko/iq78JpbO/tmTYP83/gMnbWkZ17Zsz3L6LQS9R+ca80XDeBYWmplYmKaHDTWxE3SxG9uBbXW9aEOj9pCFtR6tWqcVBUvs5TS3bEz+W//n1NSH7IM12zrzuRPyhCB+hrisa5PeNaais3eCkQZDvrm6yU415LyqAJLKawWBxlV1vQbZQRUjldOkxOnlKomV577qEoDVx2F2psBrNIgygvB4Y833G3efNGs/rqq3tgCpMoPVM6aajGEQmPtzAD8DXWP2r6bsYTC2rgIP21CQG1aMYyzAKGV5lBSkxraDx6RWoFW9Z5KnbAatqz12clO0Of2MoQ77izztXh+c1iUCrlxBf/b4t/z0o2dgXc+jy8CrxfK84vTuuRmIgMzcv26mu6iZVfUDtJxnhmsRRXUCDedZkz7vmw5e0qyreM71QjcAb8ZkArMa6FaDz72sH5PYVXB1sXp/PPR82/O3wLUt27jgrGRTCqAw08lEV4AxUoJJILbRncAx2BdL/1Kut+d/84FIgIXIpL+kTkpbA2JhHIgdA2Q9WQGVr/wtf3VqZiuwT98+m0RAdNaXi4f5VQ2m7TAOvEoCKCK7nWxY8vXsSnm8YHwIdUBEK6kJmM63chOgNtYKaACisjjNVL1CU5vzAjsUCrGOAH4ii3r0chNoC5MGVJ9T4sZ8Nbb//4xFUuzaxqosquj0ImdN64lYz0eDkozEelbaaWi5XmzLxXruxVo11EVz9jHXKksPL5pTi3lxYSq5BF5DL/sWcZwZSFjfKsZOamKbotxIUZLhmZXyWBNopWoGuisgb+qB0wC01u3eAKPMHznj7fXb+vUHpt5ff3WqEPduORNQ1WA1cqUADliNMEte9UxxjiHXX9IOA1/0Hf+cAzqdNYHVmtPCdLDqSgEcqYVODe49cM219/s0avu1Vi5wHy6tVOD+MDpBmQCvpurNRK6TaAAcaQDnLgnkSgmIG7cxPqhLf+YFdpmvI9Xfmw9+LuGXeL11bL2BCWYC5zdy57c5kgFHTkDc38/C8CBZ5zOB1gc/6LqtMi83qZgrNV1vL4SRDBhBqQ7WEhedi4d+LDqHmKvILaqjS6j4i50+X37+yIH4oTayyzKploDDyV3xP/oHSEWKal5mvdrShqIJ8MIF8NGSgVo7gID15o7AJVShNGUsqG3jiQYcwQb4IgTfZnZyuUdttyw5OfGFQUGCyPrVcxlfPecE3unmtnperD8vNbnuCcCK2H7lHJQN1Vb74Xzi2LaS6/KxEoxqdRYlOTMNPGBUiXcMsG4TJlaPN2ZhA3LqQoGjMt4EWs0QKIqgK+puE6ByrwhBq8O2mm1uFP/eNgPrOihO7X6tePtTxZndb4kProymzMYgcJ8Pa8dUS9142A3Q4t6Ugsu2O4yxnPEhs8uI/l/NSm2gLt6rAz/AihAyTiYQtKxpUgCvtdaO4W7e+rm2wLUt25xxRci0bvSqTfAgcAfgDcCUNGRP8kCs3Yf7uiTe/HpJZ8p6wbcewC4k8YC3dA2wYLQGYkkFrYBzcJGVB2SdOpgpQ5Ypt8/Itv7mzzx6QWz4YHmGtApuHgdeMSuU7uhjsFP62g5Bg9f+iPXWNsvTOxeiQ1VX4Q1xjPcVr8Cr3KZar2rGhplnNCliXsYRugxUTa4JZZkuv1JwTta3hoMpeQWuPFx6z7uiJPzkMvUC4ua6nOzfXXpTyyfOxEXJavfKPZrCjWIgVz1gTrJp587m5dqFXH7D/sOdaMcOlYBs3PrlUxnbWC/R+sCsl+dy52f7hbkivNmJoHbevGGz8VYNXE/1U5bTpHDhhCsR4S60AHcbM3CFAK8BrG2yU5tD1psEWjVDlzBHIjAJtDpOwQd+6wWPPvIDv/TxYzNcmreK5efFgkkJfn/Shr/+F6fKZz3tELafCJoBXaB7nQ2sWkCmVkbiWRT90h8tX7LZtMQ1WRfnOxcAVR/AEl+zOitYtdtD3ZUhzKDlouPWD6sFrm3Z5mXfD5KTbS1s+WGccBcpkYA9bgCx/gCgDmRDdlAcI3vjn56+11ln8ex+JFceXAo1ImCeBF5110EJj71knQF4XV4pjy3NRbvjSLErhFgH0qpqJM2r3aQqglQZhRnkagCsWIXernE57IQwCYDwRgA7hfWEeqpYC3z37Cqp+0lWADl1NmLutpi4ds9O5gHXM+cJ47mXFZXf8/YFEKuYKhLprEPygRwBRIkKBaPUiDPENmI9TZR5F8UdpGWXSh1rtpc2s3wSSJ1AtU7wZeBBWudh1MmM8bwbBMYrCFLNPoCvdyXETKtX++UlGZ1ZKY7NAFrxJ6YykQStUr9OBK2Vvvt6sUwFrvHhlX5xeve7iZIL/P4MpABG1cc11hXqXm8zg9XqwphaQtb1kvW6vubb/hkHMSfaXqMt/2X9c1sFbWlLw41BWScMJoNxwWYSM0g9mqMZDLdTGrbICb6I6Oxpbm//zB1bAUsPcXK6q9Om9WRHTrYiJSmlEHmfgXXkl/IyPIFTF4qjNUIFwAcw4AfkECebqDuFjLVVUspzjEyHmj+jmyagHtrkBmaEabegvnfjIQgPjPidII8wSqueR+Ce/UeJpyt1ksHa9uEGYIlqkheH+prgeiIR92yDcw/qyUn02+BXFBBgZslpWjAp1DSt3FxzGw8PfAxoNUraYKIHTl8oPq/9jA1AjZpAq26XUU3XOgW06hUPeesLHz1rf/dbYnlicWbnA6dtKAaeubhWLLy3ac3GyWrj1bOC+DZZU7IZpu0TuS1taRnXtrRlbPn579hH5b0BTKk1uU0gULP+8llW1Rmr6VruJWJQylCPlS1e98dn7nW2VXTOqGe+wmVUrahhDPPK9QyfBqhK+RoaSmElAGGbQ7ax3mfLOxfoQaP9VcFXnLvzzmD+VtQyDzzJPWVAFidlXBRaMuDNXjeLNjmfqIkN1jokNwtmwYGH8+JQeXlVa2lt9nIK7zudpisLTj7/GalxJZxVMP/sqYydO6PkAXq9/ILlk1l59rSanTfrsebPnByx5dOZ+wN8Nc8UtSqfuJVfStQli2ul+XR/WOLqhsHRe7seE1pUjz7GZlC1vslO9wZsQ1YzJbRKPwwVYHWCCsU2EWG1bLNkCmjF13mxXCU+Ozq1Uzy08qnizO6PEWWP9bKpg1yQcp8OaWZbxyQnIIEKuMlkn9n6E8+k+KW/d65on85taUsLXNvSlqaOKFFYTWfCAu25OhnEjgOy1sPVBbNkC9rWLWEiIMgSUc+7dQp4RXaLyWBvCxAQQCA+Yp4QjXDcm+O07kI33RVHpFPN6CPQ4Jw4PqL2b9CmTxXgtMFchq8bRZ18vhykpLIPHg8MwXW459Ngo7ttCEgJ8QO1EJtDkKErQGmTvmFrhZf16WR5vUr/nMx6VjISwmy5PeMuKJrpbHiFlab+Jv3zpUTAXFsSgFIHgkGlGQk1NAq6RuqEoSzJ6PSF4phDJFvQSgP9KjFOAzqTljszIAPJJ4NW8/5BswBXXf5MLN88C3DFbMbi2N2w6pqyRXlZtBr1n362LedYeG+0wLUtbWmBa1vaMgG4EhtsViUPcECsAqV0nGtCBWQdcax5edV7lv9zgCshVzoJJchWwKt1R9XbU7UlZ3prmdkUlOfA8mpx9Ip98UMQOFLPcMsqfrn52+J1nfTAyy/KTaYCyguSlB2WxzXsb+uPTwGmk7nPoyc7pQ8clZDSxb6bQ8qOnuh4x2EMaokK/rNLsx7VXESoeGnY0jHHgvgQWYV1O6JJiV5DtLq0bkIRL4utKxOphiaV+DUlJVrhkRMrxZ04OKpAK/hT/9Vrleqe2O0DqctU0AqacZ21IHB9WXFm55H44NpEbexr37vMfvpbDtSDtBoY1UZgWzGrYzWvoJ9JbWlLW1rg2pa2NDAoxIAnHth5KczKHU4O5QQuIuXUy/UeOiro400ErcXyEuIKDBCKBLqihFvNoujhZBIv7CTL+OAGazj3q+wU/RbBq9ofuS6Gf5da8SBBLVe4lQsQh5YBfKPPeigZ2DFPDyS8YDmNqZvPCtUBhnDjNjBLYRqDXZ3YHrlyRFN0GYgiziAATtzxBxgHYGtBROHnvX40Bg9WcKMUv683IHw6kUu2ihv9wVEM5OrrUvn8PXemYGsrik49cDihSzul/TpBycCazpC1/1Ac7dipcNHy6YJtrCm6dv/hmFauAqOy6bT51NNsjM+yf6FEAK+NHXw427j+Dlz7o3lsbS1EXHQ6vOTYdkQbWqfgSwMCwGnZVQVaqfQ0uAimVXu7wmXveNFj4Bkv+9jUixsfXPkPAVq/IN4+lVT+rpOeGci6xiQApWOBanWr1KQEzcFcJPrF79pLf+5d51n7hG5LC1zb0pa22PKK796LPqbUdPjcTHm6E9ukLgNwgayLWI20gPjEXiNwLc4sxYSVHZ6XXcJ4RwDLrujjUs6lPRN2vqUAgYXov0eiyx4WJ+eHJIrQazJHECs6ZfRc3Q8mon+r4FU5zSpFADBEQ0wbsjLLzNJKq3tmpTi+2E13z7E8LWgcETC/uxJHVIDVIfrAyRnKLUcn/85op5hngySgHptUr3wKgJwVU4ayBPBRA//PAa6YXjfRjgFxZZofi/dqPUjHAINjkgRI2jEOAxV8TMQ2Zj3AFCPX8b+onsDW2Ulck5w6IVZWrRqkc3Udy6p13AOwArQyKMsMJQIYhDVJz+q8p1T6LsiGV1IDaLcGWvEVa3ZRbN+YsS//wJf7Ayb+iQ+Jfx+Xf+DL3kb8caitxuTJH1RpnqGaxvcBJ2tmX0Mw2wxWrU2EbgjYX2ftU7otLXBtS1va4rGtPkCtcjU4UUN8rEctD7K5AyOBMZTEqAFgpYQLwFqUCwKaLpGi3EEKtsQLtoOXsCDwZKoNpQoSFQOIog1xlhs8jtbE3xsQQU8cY/h7v6YSzGgj1S2DVwSqFDhlSLlyPIyc0ZVWWPo3c1c6ICAIO71SfOHA/tGDN8icQ3VKeaszzW+mlW3tEM4N2OI6QYHiYktMI0qSMlWSAX9Om3s4C8bBMNhauFQTz1hPXMBnw72zfyk4oKVKsq7CyS30s2rSBhDjvOdTQXTARtd/uju14GwwokmBzg/EHYc0pHJ1cL+/LrDM6rK8FG3mTq4yUjRKA0jlFhEpllWnu1UnUFwkaDXr5gxwVUCV2yyiuokb5wFKyvg2QtkPi2Y5p2/eIPcKMAFq8T3eD/zVb/+0XDnKS+6C1K0AVbfJN7CvSQtc29KWFri2pS0hExY3TTmHINaQcyEb6zKrLvrhlR1/+dLfO2c/krIAZFlLskhyvovk5R6eF/vJiB8gGd/Pc7JXwFVMXxiJrnRAEr5CUnaWpNEypHyZJNDh0j2oJAcOD+LlU3O6i1V61K2AV3GOpRQbImqVybSQwMUOnTHr+epKB8SyMeDru/r52U5aHikgooT4OL0Cpy7i5Nx3frVxayoVapSWCUoGFJAI2UA+A+cJW0eYdQIXZqJWL45zZaIKjn42k5pbzKJFdZanc6dyfuGMyoRVlK7bQM7On1E4rSy5pVzPnir0el2VMHuF1GqAug6+qEsRwExcC0q8EVstbIt7uQQqRraGksX7YS+XEoFQGqADr6AuDahAq2x3nOf3ALQim70gwKaS4RDpYiGamX4lUrAecQNmewufhoXeA8mO85fxtZ094sjeAQd3UrIjKdVSnB17+BftjC6sZvHaZl7mBeO9vnKHAH9gHA6ULVgdA2ohYFzb0pYWuLZV0Ja2BMC1AplNTJVDu9SBrIuCoBkWFQFeogIhxKREaUA5Rwq+QwDWPWI5zAfkStYnVwu4epXoGuehS06SeXKn2L6DqgGBKzOgdESiaCC62mGSstQ4BFwkeMWfhOkbdxBegRApEMB+mmvpgK4a8z0nLxR371/K9xdJNK+TWnEn8KrRccACWmLPxYSky68YRp1igQ2ThmSwsBW60yW0rj7cp+6uRQn8+PIcc4823y3hwJ6R5/d57MxcWZb3cmwWCp3z+umXpQKy4fmzEocPlUjFgBzGAJjvKrBVLhiawC0ea0g7hf0kzMZVA6z+tQ1OSF61gpF8sNw7KnNWNLGsAWillNMguQD+0vxiQCseEGPL5lNYEGfZFa0XgSre6zG+irYqXsU69beauTi96wJcPQCSDh5B2PzthmWV4w4LXGkhvqEQxysfdOUCPZbSdO8oLQZZUfY2E7bWy8ssL/koZ7yJUR3DvtbToxKrvW9LW1rg2lZBW9riAtcy4jo4WLKKDog1IFWzrLVQIV6lLaoYVjcHvNqgbIAOXGenUoFXVIBbIJl4HUJMeqRDzopPU5KQFRIJGCs+40DRtB+ZHjwedqK8yGnFTFXBVGxW8IpMlsBMKwkluwyjypUJqzgOZVY6ELgO4Ea9c5uf7xzuPJxT37AWiMO2+vqK6ozAknU2rIwJVJ6TmKUsp5PA6OysKic7F0be9lmBusk5DyWmCYOdC5m33Qk6B+y/MiRmSxiZjz3AhMNAECxYKxmNS6Y8qTxgy4O/61/lalq5h4RPrcNdS0yy+jOzrK5zgLgGqxb7zQhaqfZ+jShg+GA034V5MQqY5wqspqKlicERV4t6r4Astu0+jXhGVzkp/xtn+Xn989X9RkABVkJz8Zrj33t3JGxzUKSDUVkOM5p30yhfnI/KlfWsFOvEZz4DG8J+zx7L2aZyJSjJ675vFzzvd1Z5+6RuSwtc29KWtpBf/v5dOlNQaYCpssrkkZ3/DoCs4iQrIGt7bleY6UgzEdB6wDU+uFEWZ5ZyEpUDwqN1wssIiRVOWEHiskc75BQvyTxREdQjAVw3SArnBYi9AAk9T6TOFTbFOQx762lKNMnqBFNJzas6Zc4NoOXcANNqwf/KkiynMbk2BLjIflnpADopMHUcw74ONrPVfgYXdnXIHtsDczdwp2Jcq0AtOz4wdarjfRRjO4rSIuFlQjmbdaJ+AhsLtQSo4OU6aIJ1BjzwKRkItl6iiJArrpLSCrJynvP1NUWb7j1AYXFRfdm49efOMr65wZ31ypDsrjvLSfAa+BhcHP7NgPJhlJZeJBzU/FobsbHnIuC8XeGdbOnsF05QJ/nXONCKOusQkOLbouTLKudYkOZ1HGgVbR9FslEEEYLWOCbJXEoWOWfzqCkXTbIjfm0qhmUd0ThTpSW3YBYBbESG9BwpyweRcnRHxbQiUNWAFWgmMHYmXocLHcgXOqSTRJEArTTrJhD3h5DFEeT9YcE6CZSrGxkLqydgVb0aBijD6qSNg9+2tKUFrm1py/2RbfWmQx30UtqORLlUkXFA1u4PjtbVC+8BUgMXAryOBHhlcpJYTv0LIJqUK1DCSVJCV3SyiTpMVILoSsXnfQFiN3kc9UgMPUDtK0SjbBDtMKlZXfDqBERNlQ5kBT8/1wFkxaxLgIlE8dhXKolcT/vKT539XH7NoRtTnHI1TDK3mknQ383BqykXwLrISJ3YMO6UC+Uw9q/ITJH+UEdurE50g28fAFDDrVVeWe+7Z3MdGNvWBKJaWFIH7fUqvNftAkxbv74KpK+/Xq1XJ4ME6TgXr8AooNn5Sr8Mo04J4EOocIDAAxUwDwW2rsJZ/Lt2YXh0t3YDmJlldbLx4oHykpzeijRAAEaBWcUYIRKgFRdKkk7CEbQuiGVOtOQul7KBsqv+FkBWvucpRxBLWMwHPCdlcZiXgyuIZFtpASBB60jcjyN85RCJ+w+G4uuG3ZQkYjgySmKQeFn8I7PRidccmxuK0QV4LRuCtWpANcD+xM0U1pa2tMC1LW1pi434IBao1dk7j411gGwTmHXD2w1++5m3N/swCvCaF8tLBXDRCUblBudxKuUB4g0IhKqhAEoCCtHV5ygXABpl4hWtsGRv9/sv1VylgX0XA17Rl5/BKfGNV2p1g4lL49PYV1oUxek1dteVOzVjq5EMt2wraOZOot0GAGupUHtyBYl5RmPWYXk0wTV/LIB1fyaENq6MN03XAkSsdhyAMfwkh4ttazY1qGJ0XTBtIR847y14dtwGauvHQfvJZ1ltPaIpKyDmY5Pogp+TN0w+EAJWLCfLuY095z9/1ma9IkRjVQpjACupwK36SzSwlbJkg1lBa0RlbglKIwSwCrQi49oRC2EF6lznOC8RxM4TJhnYec5zrX9FEIsAlnX4oIzF53tIwa6UshygGUfASulANP8+QCxAa7kpvnEgGvlmN5GTCzG2tm4KQ0mQzsVKkcMEHGaMl2XM+4OCzwJUPUZ2yykn2tKWFri2pS33ccaVu5ZXLq5rzIjlAlmXNTHyAhfMakA7EXjFBzbw81wvm9Imy5e8cQ3suN42QBW0lDpU7bu6FfBqSFNcspzfncT0KtQTAFgRbCP7KgGsTD2gAOyu5ZOnTi1eu/9wNFwKu2DO3Zri2vIVbJIHDXXA0cDKTZEBTNEoi7At05xuL/+5Y7vY2A30ETcHCb/j7l1+5qwS4F42FUAhCLn780oGkGVV2zl/lvO1FfX1Yr2FxeeWOV+9oEBOllfY8ZzYfnW1dCjjizotpSsmKBHolBcFWB3o71beSIwC4hOnbr9YltVYZg1G/O6ZQKtxFMNMGlQC2EguEYkjMSRJIikB6CrQWixKvStnS4Tn+B5fkY3F9wLEFnOkz9A+a5GU5Gry/7N3JmCWU2XeP+fkbrVXdxe9sG8KiAsgIuCGMjM6iqPOouN8jjsqoGwiuKLgjoiCCiKgzuhsOn7qqDOfjo7oKIu7IsraNL1Xd1d3rXdNcr73PdlOkpPt1q3qqurzPk8quUlubirJyfnln3dBpZUgqBro1jNLaGkWLv8ZmMYUevhgRQ1K7LIhEpqJIK4yZma2qV0tM4LOCZ0O5a0255UytzHzgCrLgCpVlv/A0u2TkjZtGly1aVuB4MqEKuIVFOCS/JcbZAOzwjArI1nexqmojJWh4mH+VZoGr8KVQABnxO9VCpnqWHwSxtOM0REXtt1VHGimvgyrBtjy1h33149ce/IA7Rihd9dSKVoqJ8MK5U5yM7zysE9lo1S1Bq1GaT642O6UePxhJbxF/NmWWSLRVK6U9D4eplGXH4CccaeNg1MnV8x3d9DsiIFH99tsi4HLCl3X+yNcBMK8xFWerd7Dmfu4EfUddr7nzNwxaW9a06q3qR+IlaiyekUMYtAKm+y0O/aOkH+s/8sJFbeYk0XAcL5TckHWKDFx+VYATh1/VuHvarruA50hYneGYTxK7NYw5+1hUkefWIBdkx8DJ2OOssoMYdUpgaT4H9nUyQvChRrbgYZneQ+R8JsmNAAAZ47+tbRUYqxSZqyvWuLNlmkzpi5GEL0mXF9sZ12mFVdt2jS4atMmw4DhU5xbS8qnLB9kI8FYkSwCQaejUFj5wu4/b3OR65K5uyco3OaOr6lfQCCP60CrYz/QV2WnhUqtuimuOJXI3ZdL3Q9ArzWzZe6dqD/UN1Y5TlRD4hHPSyrVyiLhtFieYheeB3BG0WWggi4DbB6HKO73mljblc5bVZ2f0diFE448ozTznytgLVZ2XARiwKpKeZWGyb4mSB9t902M7Xp4J2a2SgBW4gIrVQGrt7zV4Q8TjBlLyc8qpcwi0nzEPIddhdsFp5US7xAn2I85KbFE4QFDvN53sgtUhYsANweIbQ/ZbdpPOjCPkbWU2RMw36KcNeFXYL1SGa57kRNWpDeG7cGDhi34UlSn5ZgNgbnuCwY0A9PZPdgPAFjbDueqkEHVe1CgLHxuqcZWbdo0uGrTJnUc3mv5oDIWI5JI6IIsUSuyMXig4WCZbqlVFCngRHYb8BOhy24DFFNocUJliCziOuC7C8A2ARbG+yqoupJhR5r1M7Fy3/fVUV8V7gOUj+6b2Le5dti2Y4bah4aVVh5OUioXJqCES4tpZB3SNspWlZiM8ezgLJ4L5Hge3luQhw3MKrDhMOfqmpygfHbG+Z3VY5z2Dzr75M4XtmoNxyAsYXv3UF6fdf7DVWsIzHd2cesmyrPSXKkMiRCPLcuhoAbnJfpU5ufgEJfgTruvPrr5kftR6MwCVjesKwas7vNRp9mxH80DrVLFLeZW3XJ+m4nfFv61ZZFOjtnoyS18VgVMos+4SG+FY/RLbVDhBgBTVb6el+066ZBt6CIA82dgK00ifFtFGizMvoDVvNzUdPjOhtncFhPctrnwkEH3VvHwiCu6vq6RqmeeopoKqhpctWnT4KpNm6RYRiBVQTdJIBtVZXPJfWmwOj5kYDYB6O4qvAO8ZqMaJNqrW51KuCR2oG9umzv624QZ7ft/vce875djplgvB7zKoIqw6ZThDNTXRtu+d7CPPU1KmRUC2Cz3gbGdW7ZuLB9VO7rWGAtVWZK8fuVoONlvUpE+C/9hWmc1a9BuGHlJkxN1NVNnPs2zlbxxTcUekuA/GBpxputzcLRm3ewBfZwOjVBpvlNuta+f++vPTDtJz3BBrd/253tpMYruFh5TmzKa9DQXLzwQOTRUqiQH4wlea5ce3XavIVK4KYCVJLsFeMFZ3neabX4fbNgSTrESsPqKZBRavYc7ES3oRhVyPyczr5bpjDh41GiJ/o/amH6uxFF1FeSOMItZA8pzlJs1OsCPpKY9xefYRpG7lRgNDMSC5bMwnoUTOQcwOwfEWRcZBjiz4J5gAhZ3gE8tzDAHtwjLNG3bAlo1Tfxr4d5RJtIMZIKq706gg7O0adPgqk1bBFztUKcvRM6IG0CsxKsRKvHqo6+feYmGArQyOx0RkMWtKnR9/cTiA8S0hohFBgBc+7ll1dw2CzRgdIjBG8RgdW4YM8QwZx/7xPG5h3+3eodpssPFS0gJXvGVadR1QM4UEFZfBa7wjsn3Qq+7vWTQQyJ5X12Apf5s7ohyMYAd27rx4Y1HPqZ8bHlmJK60BknqaTgki8hcKYt7lmHwDi3xqm3SPDQpu7Aec/Cu0Hc6lkE2j68JMd5ArUXWr54KrbdpxxjQByPzfhqJfI0Sy4US5qdJjc93A+NE9gDbVaYN7hEak+YzmpQNK3knW6zELWZw+b/jNKHaLfXdpBM2zck+Uu3YW3b9oWa1bBr4pAZfynALkIOv4BqebrTszXlUVg9k0VWG+k+Xoh3iJY0v5W3O6Fx/jaL/ds2PNRT+qbYFh7ANfNkihlUHhnVTY9kVOtAu8QbdSprGo06VLNaGX2yLAC2CCqxRB4CtO+Bq1DnHrAGCWFvQftrtjm122rbZ7pgWDDYMzs7YNjcM5XOC0u9VFODVyKpNmwZXbdoUiisNlFMFyMYV2TjMRoCWBKm1aCa02laNW2SImHyEdDqrecdeQ9p8DenAYJIh6Ihrohcz7Aa03n2kTPfSMt9DKnQvKRv7BofbO+dmKseYHWbaPKh8JYKxcquvzpcQluYa9u9HBoy18D+WIxImdwK9AoDlCQA7tumh+x8+6tjjji7Pjvr+rjSgJBf1pWpbofCtIHOWC7ENJrIMlChPirCmcXEQJvvK4YpYJQC26AYMZtPoeuibYKtk3HkorljCddujTFxgzUYQEbVvL7oHOCprsynNR7eBaXd+I/h5eb5fvje8q4nXHMrreCzjsBqf5NFsroryspOkZrY377q3zw3Gkl0CAoU0G1i97QO0/tZfL0tlpWE/WnGpONcxt23h1YqncBMAZsMr2wqrmliBDh4UWzifcmMOc7uiryvH4C3sH/vhwbFdfpAYZQRX/J4JsNp2iw/g95rOYODZapqcM6yPBcDaanV4u9Ox28222Wm1LXOu0bEazY7Vapu265CbCKnhzyGo1VWztGlw1YdAmza/Y+C+l1+4EoESZFUwqwJaqfPJCizC2uk1V2kdQWjlTXIwafJDeYscyhvkUOguV8NWMFxknFbJVlrjWzgxDSpyb1qd0bH6tkajZDCL2twS9dRjwVNu6VaSpb4SEV9COo2OfU9/lZ1K3AAZWX11vyfwIglg8SfWbnrwgU2HH33MUbXGGsc9VvZu5fEgfl+ZjQV2CW/cOqnaQ1bTyCFsBpMs0udzrvYhZJE8rsxFHRW0zUMFA0AN/y4qoIA/OOSbT6kzP7xuXkF42qjaokYVIUrc5bHstVz5I/jwsof3texHd/yhr93o+KBJgzfceYHVU2lbbXJ/2yRTeVTWKLRKhC3EepH8GOC1Sun9qIrCHptOyVYbq1610KcV1qw4sIouOXYZntNKpNYeozUKD2zVPxCjOk6cQ4IBVqi8Ct9YKlwOqFOQgLJ2o9WpNNuctNoortqdRss06w3Tg1a73TY5o+FCbBmg2pNrTZs2Da7atK1QxZVH4FMFskQCUg9mCZVdBlgYtAJeygJXrwqpE4wlqhvYJeGzapEatcggb5MxIqpnkRlaIagKlVF/dX+UHXvi7o07tw6bIpLbDjII0GjqKvygUF/dyluhFFnNFtleKZGt0JUf5v7fMYDlCQos8Wqrgh20ZePGhzcc0TpysLPBcDJxBeqqhP2hDFpyFy9BbJuVeJtjYQIz4ZjGhalo5SxiM6oqfxp94c5ynLiFtGTVNK/4Fv96i5XsDiupsz0onujivxxg1Ta7f67vkc3316yOGQLWoJZWLmD1YM2y6N5603qAMbdgQRhS01TWsCLrPJugk6mN+QWqZfZLKl7p8w7HMq2clQFeyyKbAAArxc/Y5qjI9Vqiq+eOIWVeJ+3Be6iBgVd+HKLlwCtCLPOCukQZ2Jm62T9X72BWDgtV1iaCKwArDJZlCmjNB6nSQlmRpVpx1aZNg6s2bQG4Wpy7kVWcRkq7RtVUQmJKVaAb2uHeJYBadsv5Q/TcG2eSOh+TMtLmWMLVILO0ZFQBESscqJUBrAqV1SJ96AQJLXeOlsheUqW7SIVOkBKdRl+7vmFzFrbzB/gHTiSOeuW8tg8pqsm+rwJAFe4Dsw37t6ODxgh0vMOwgpEEsH7Kg4gPrOBRWHfdzke3b121vjE2VjlqiLaZC+mRbLncV6nDAnA4nWq9VOUV0yJBloGMPj1Sy5UxleLK4zVfs+K4urnWDE4OWmuK6Zlpg9TnHDQeHoUT3GeH5tPI/KlJuBga8fXHd5RJOuA6/wQW68Vjx0KHnaZlYqBRYqLUuaAeafVNrHl040bxbSaXdKWeWwBJBdYQjIqttOea1i8loFUFXxGVyhrJCUtljRgukZ2nPqa2hThOPCYlNladg4dCoHeR0grTYYm2YDhjODxDrSOowX/PSXXcCdxyGzcRbzIsEcglqtk52QXgh829kw2j2bZ4q21amKsV3QKEawAJgj/zQmr4PmPJp0mbNg2u2rRpcxMs+jla3WpEEZD1ATWksEodUpIza6DSYpvrKBvjuhnLHB9q0JIFv1fCrAFtalhztMwmeNUahK6xTyiwQtRlLVgO67IZUmLTpGRME4POwG7WuVm+C37s8d7/QiJ5V2kkdZXs++oVKIi5D4ABvP58uJ89EzroipMzLA6w3vFRBXG5rrF8zb6dk7ONwXvnDl332PW0Xg1FX/FAZXXr54byZ1FZmUWXAUO4DLAkZVG2B7YeESfSCLnONfpj69k263lgjAF7vOYgJwjLNOFE1p0fGByy6egq59pLmt9qMu65Dcjzd49XOM+BNXNGlXPKMlCfhmE1Eq7VICV7x6S9ZWz3Rq+UK1GltSI5FFaPdHF38BqzbdKSgTUCsEq3AAW0SiAr1v9Z+ezbzc4Pno0HC06o4QjpFCt2CGBlzkMcQ0Rl2ChotX0CzL6LsNJe+SmAOuBqe76yAmDh82y9Y09M1gfabQv9BDC1AHceiBVVTIg6k4ACVGP3KH2n1qbBVZs2bcJe8ck6/+dL+qNuAiGQTYXZsLoaAwMXbBPB1YVX09w1NAtcAWBqzfFyaZJYvEZ5qQLdZJlwi4lcUUC06OuKhZ4AWJuw7SamxMLvf+sa+ivoqWcJtweJFHCWpL460OkULcCMkyH3geAQYLR0A8DiruEB9nQulCu3XKsEsN7/qcpC4GCo0Or4YGu2wzfW733osKOPOKbaWFPCr/L4S3HfVcCl2KgIahpl3oEDVLE7mWjJOVPhWewJIxrztRDR3I4Eafvqpa+wCcU3Yz4jCetn/26LlTkeM0MJrZSmvot2f2AbH2jRrTsfHGvMtpwgLCr5A4SzCCT4sPo/RgPIJPWG/UvT5JPMhVqVW4APqSkqqwJaccFPcEH57B/iv4eN2QKIpX4tOfEo4aXqAmhdO95HStZTiMluoKw0IzVn79HUlj4jxPIf3vlQaXK6YcqpLGjC9UZDLxKsxPOncCmw9Z1amwZXbdq0+cac6GNDhs6ou4AKZonsGik6fwXUOsvwfW4jtVE6BQXaOJjjQ3OkJDpyQ0ArKXkFEoBqDFt0wrDPXhECtBdefrf57Wueeien7LmOs6kdKMR+okvJl1WAbIL7gPQ1XGpafHquYf98sI+dzp1wJ64AWK4CWOK7HjgqLK63fvPDm7eMjO0dWDt81FpaL8lPByHwp2G91TmozkpzRtVGHGN8+YhR6G67a0dF7HBjzvDBZGayxFuugJw0v1lnyvmpKQSII4ujQh0cV6pKv5BI9m1i8M1zpd1rtj+81ZVLWZq6SmSA9VNjBSfSU1RxW402/12rw3eq/FidXVS7BQQErFRZPXj+3TmX3703+q+5EOv966IxuzBL6EG7zhYJuczS9+AybxHFs6j7fd++eOGQwVhcPY0CagFIjWUd+Nvr6hpctWlw1Ydg5drN540gWPT7r7SxkrwtlVzigY5l8xAvwNggdpDSiIS2wf3vO7NcKrElwhOF693E3zYP6A3mta/52q4le/OlFKU7ZkSgKVbSVYZRVaefCLWElAs10HUz7utIYhZU9P4HduxPnY6fCVKSA6+Il4gqxX0gCWDbHb5njtq/AHg91ZWeqAyw4v+lnPsZFRLcCJz1KF8zPTFnz07e+9Ahhx92RK21ukpMl28URXNlKuCBZ2DTqPJBq7l84q7hSE1NlOUHJh9WcehmPsv47+eMGj4zUF9tpTxjF4M8u5v5UJ1u27npoPps06HCgLWiECn7cCqA1UtjIIAVF9Rb/J560340D7DG4FgC1kDhZdFMBN/Le1o8GDXHV50Do++WjtoOD5nb8z30EpFCiyaBqQpaVcFZNAFkoaWZS/mSvuKvMWseqRI/x7BbTELcIYKyf4wGj0xe9TCvtJn3f3vrOuVyw4p0ZF3qRbQyFl7H+S27de6NMx1NAxpctS0fw7Y7IMNllLWk+dI8IwxmEUCV+zbOw2DrzGMkMp9Lv2W7auISBVd8/W73Rd9aUzeXUhrMytkGokBLAxeCypcu6qd/f319QeXBF7zt7onvfOypP4GfPctROZ1MAkLqC9RXqnIfQEiI+b8SN32W+1UsCUuJ/fOBPvYU5gbdBwDreqqK33WcVCmVMg9w97mHByDLuEXWbX1k8+7a0K7WwesPP5pNDxC5CEFMgiWhxLlNo8yr3KQVbupWr7AWLZGWUcq85njE6Xc37e/s3dvevm7Pw3udVGGUpbkCSLAa8FgYIon8/QZCa8veRIPArhiwhn4n2y0gCrgPPP9td99X5FiZO1chgP4FDG8reO+oqKCVhtehCfOjkEqV96al/CyGmU0oqQZ1Q7z2ylyXYCn/NZfeXFE/A4Q3L3QVQn8Eny1/uScESN8P/Z5cYYxj1gdCNLhqcNW2bEQd7zVwdF64YnxIeY0CLY/fnEJqbWTd0K95YCJTMN+/mYWyVRPqQHU8LZYdyyJApcSgKqCNqbF+dSrRwbWK7Nfxxx1L77v/IV7wf/kO/NYzhHLqv+9n7ut72y955foBUBrOzyoBrJQ+SwLYZofvsol953CNnQYzK17NBVv2pnBUWB5VYYlPtsGzE46HmzMtsnHmwU2rDhourxk+5FAyW3UDsUIFL1Vq7EypZq8255iOX4neByiZhWOTB1S9oztLy/bWudLutTs271jvqvVRWJVBjEZTYFFJ/HLVVSJnBYCfnmvZv2q2+Xbh05oXWIn/OBMC1qgSKwH1N7o4ZAitKId/Pe8X/unifhSySzSp6liC0poCqSr1dakDWJCKhXoZnmP5sCmRA0aJFOlKFXU9FKmDuZc7Wv6+uKXh7S22jnat0OCqbfmxazARTWOpUFBjamtUWU39fthFILQT0jxjKR8wA8CVBwAaiAaKLALY4XCe0EFxxpUnwlm5VhRcu7E/v+zuif+69qnfg915Qdif1VNBnGAseX4egJVdCDom3zfdsH861M9Ohz4DU3V5r6K9bahUWO+a8l0JXIdV6imxY5O7Z8jk7vseWrNhtH9V34ZD+Wwl1rfTcLVa4mQZ4IO22mVgdHAicv0yMjW3KjSvXGqTgdpMaB6uowrsUp/cPNKckw5r7KCG2M/ZmQqvzzm34uHRNqnVzNT501MV3mzE5+/a2a/ck1lW5cQP/Q87CEQP1DSr2tsa5YmDtm/ZcbDVsSOBVf5r/gisBhyRrK7634Xz25lt2j9vd/gEpc79oBtgdfaBxQsUEN9l4TfPe2sxtdW1c5FFS+um6rnvG4xUYzyaAadJMJviStBa4p1N8IAcKiMdqK54H5Fy7AZVB8OqK5dVV+c+5Kiu0f6HKiq4ybCb4mykTYOrtqVob7ppit/0phHC4wWD4jcdHr8BcKUKm6K2xkGVR/wT8PXzkgbXl1zT5N+4ooaqazVa2lXp15qURUCCWgUgILhOLcb/Azfwb8Ho6TCMEGWBgYj/qwewJBzApXIh8ADWtPjc1Jz14+F+41TowMc8OuJULp/rb8vv1jxXAr+DccslSBXH+PqJHVNkgkw+vGb9qvKqgbWHk5ma9yQRVsWFDyRpsjIcXJNUuBUrj7lu1dbQaeiYFTJTXx1ap1ZqknWj4fXqjRH4H41UEC1844XnmtVjToye1TFIc87xdx0c7NDh0Wbq/HarRNpeOixp/sSu/mhGBNqmBsdjQmKZQsP7P0Wq1vZGae9BO7fuFMDqRfIXg1XxKaqu+qmysLiATaZn6vbPTZs3ADqNADLzAWuwDoutF3FbwKDFf8k6D50fnGUQv8YEZ/ToB44ndvssYpXfActK2JDLZ//Qzm5ndl/SlZDhOqCapyoFa7/4o82l7SpAvIcQGTjDqqsMl3lVV5oFq3KVmIgySyPBBto0uGpbHmaRIEqec0KjSmhcNOV5lFnVPKYG4Mi6l75kHbvu6+NLOUALSaAa7mhYohtAYqAWVT8QYLv7ymW1ykuvbRby9T3++GPpffcVcxd43lvvbv6/6576z7ArF3h+piRWYCDwf40FcEUU2GgQF7KNSMjEbWtyzvrZUJ9xXK1Mj+VuNlgPYCmR4/NiEEuiEOv5wrpf5Gv37pwie8nko0OrB9pja9YdYcwO1Bw4jSuMRo2vNudoPBtRpFAU55E+VRyKWNCSk5aK9/ga87OHOfnsqRzcnj7fTTccecSMR7Hj3Bk4FklaMcqpW8hgqz7Tnlg/vnXPIZx7Efos4rOaCKuyEktpKDaGhHOwUtqx+LbpuvU7uE9YTr7XlKCrHMAa/Y63n+53v/28S+8eT4ZVXoHrvcrtDjwI8SpMY7lXg1r0KtKs3GE/dAQ8WLY3AIY3O99/Rou4pV1VEAttmbkPo4nprxKglaaprSRcCra5lDuZt/7lOjcliRTFmaC6hlucGkTlehjcczCQVNeou4B/H5bcBdDeeNOUdhXQ4KptGVoHn4RVbgJx1dVQrcOjT7EKZTbRtzWitsrX3ZIN0GKYE5WTURIqAWt7r7WDkHji571P9WtVva7CbA9FjgH6tyK4ngDDH4vC66V33w3wehr86FPcDp5zHlJXkwE26kIQ+o7jQeLngeWYQJ7fD4Cyd6jGToL5VYRR6sFoBsR6h9E77Co1ds3s3gaZ2fvITKlS2rT+kIOG+ujIIfZsWe4NUWqbNap82G5FusRII2B2pNP0REM7Ah9eEahk74/CT5MmIw/fN8a9n/McQ3fvGCa7d/q766exledzO+ixd+8YhPmD/sUm/z8zrCpqnYaoiaPrQMXeavbN1nbvGV81+3Bz1INepvRb9bKtyqqmz1MxWJXU1eDrxK637HvqTbLZB08prZWsls4DWL1vInQ/ChPfjAMrprpCYLX64TlrkHBzmNjWMOcmTFsDtL99BG+R5/J9/VfzTv1xhBmzlBgznBkzhJWmYR/mAHob5bNv70TuF30J0JrL31W+3tR5Xpc+uKI4wp3HWi7/eyrVlQcpssP9irjaeURJjR9XHnYFSHMX0JGaGly1LUdDfzJPDUgGVoVKqlRYY2ptd8rsEvdzfeGH251vv6Niyu2DSu+mA/62fbU1DLSuQit15Irj3v/1y2tT6JpQVKzrBpqgN/8CgOAJsB/DxKmQFeRZDWUUwCCqfAArL5PdCNodsmefaf94qJ8+sWzQ9cQvQuCGbJDAlUAFsYF/sSfceW/AubcftGq1rYO3PYIot3Pz4Kr++tjY2IZyc3A1d5KatnmZm9wkZUmVpbGnN5vQCIOK1DrR9RwHGdV5mJ/Z0YJK8YhIKuf8UFVl41Q5H10E2qzMDVexrcOR2MIHG/bM3L71e7btOzi4WKkSVMMcXBhWXcJE14Cp6Tr/tWkBLzPOopCaliXA+ZAMrLIaHLg1CEnus392yV2WGlrNAW6bo8Q2V3G7M0aszkHcbq4ldmcNGWi/hO/hu/hEfYywzpMJq+0mrLybkMpuuCArnJVKqOYBvHKswuUTGyWD0dMSD3mzlcsUgBr64PEZpem5n5dAP2PQiJIacxHwVFe3YEbiOgmuBWkpxhLcBXQ2AQ2u2papmXL3m6Ge5nYTILEvsvi80Heo/N0lf90xBn09JyPyv8IV5CgDbTiRux06BJTGjh0eMFRd53Krrvc9xE/oUnWFjnz2e584/TOwH+/0CwVEATbkDhAosIogLkca4dK6shuB87kzNUd+0VchhwzWKJafLXMn86pb/5XTFCWW8HDq4CBLjlc31gNZ+Ltqbl8Dhi24rY0jawYbo6tWralYAwaxS6utuq/iPLLzlPhTQMQFoN4aia2H13ZqVapuHj3mhwkZS0UWAT5Nq3yXXWt2ZpuTY3t27ltrbfcrm3kPIVFQVaqqwUohn9UAJMOw6hF3s80fmG3wB/G0s1CJ13jhgPiyYsDqszMlX/rTi+/aojgq6MNahiumBg8s/Zxbwwir3G4cTKzmYYTNncyn68fxOWucUONMagxuIiUL1uvDjZrwK23YRFMM+Gz2g2dbmPP1G1dUKtDWy2nQSlODttLVWPe7jed/qL3Ug4xK3n0+1KbcDAOhYxCZl8ddIPia9DnBXUBaR4OrBldty9HOv3mq8+lzR1SsGblRGJk9ZMIrb64AXZ6+DqUXvXi9cf03di5Zx3lGbUy0OuJ98jsUrvi/Imorj3ZYkTBu6eNQEXCVzglCQOFjB/B6739/8vR/hVv7yx1llVMlwEZdCNwgLhlgiZQtIE2FbXb49rZJ9wz1s8dVDHJoAKVBmscoxLpCIvWPcZA2Kw6ysigDe79mZqLOYcD/anP/UG37mlUHHVwSSqzBFMioKvkaXS2zlOoSKXuABwpg1d5kD85N7u1MrJ3cNjPG/RpZiI7MZ9JwABCNvqKWFdG8sOqBqGmR3bN1+/cYtJeURksFrNG0VgWBFdf73z+5+K7/TjhJXMrWZrsp3XAaH+wtOmAcz+tsN8wap7RUJ8RowzVvwj451em8urqRexns8RAhhCZeBjkCs0L3itA838d1bin3MRe/eD02RyNyX6R5lNQ87gKRnK4kK7uASFXNNLhqcNW23A0bcDlRMVWQUdx9gGYrsYQUWafUDXwtlj3vA2bne+8pteB/qLrqKYlCqlyriKYBfSRIS/L1Kn/rHZW+F364nfs14B8d1ZWceMKx7N4/PlQ48AD2+Nvwu8fA8FRX5kwF2GgWAj8PLLd5xI0gWYXlvDM9Z/22UqZbBmvsCYyRISpV0nJFa+6nIZM8pGnQC/qTst+w7FrgaT0ezA41Ztt86+y2vbD2PkaZuWpk9WB/aXjU6FQHSYcZxKbzEDYX3jKAGB0d6qRs7+XV9nSTzNK9k3uMTsOskUmynrjFqbw6VBEmkhXVPKDqfYytJ73mh3PQrDftexstvoPSxOwA3u/H/FejcJviwxoFVvz8CEzcmnSsMKiq84OzOvBbLU6NOULLZWLgW36A2DH7VFKhFd4c+DKt0RZsEYbSDGXlvYSV91BWmSCsNEUYfo96QVoc2i7ew/pVp0mdHZdQ1bmlah9XzyxKl7x/a0n1Oj/JFaDwOiTdzzWh6Vrnf3ZKZxTQ4KptGVubJJQaTYh6L7ROUjaBjO3g/izpvIRwY8SEnnK0cLh6ViLQemolC3dIahBCVbeo/xr2dMbjTziW//6PxVwGzr7oLv6D60+/EXYH80A91kFEJcBSOQtBWEkN/GCzVNhAYSUcc77unbF+NFBjh/dV6XEUjy31RFc5dVbgUuCBrPdbbr7XoNoOkQFYemhw/YqpVwsM/pb2Tu1t7iV7d+K2sFLTYP9AabA20lchtUFqlfqJGcAsXyJKKvUhlXeIwadJ2aqbtNVudGbJ5MykaTYtvEzLAVkyGXxk6EsoL5oKqkpV1aPGQCU0m23+0FzTfgSOsyW7BSTBqjND7Q7gT+cDVpzYAxMffc5Fd6UGO5bPvr2N/qlwhCy4QFvUZnW6qjlAVpvPI7PV2ygb+gGpOMFkhBpNmGggwBLGZmE8S5lRh19rwnYEEAH1jiivkpjKaidCbXLAlv+/zf3p1eaycBMI7vNxd4FwJoHAzzUvrOZpjpFttIm2FWtUH4KVb58+dwSfiFfZkp+plworeP9q4LszHsnfym0ezt8ql3INthEu8eq91vXm2X7Gef+zp5jN3fDNnUs2XckP3lvCA4ZZgowojEcgnM/nQQBsz59/0KwX2TdUXDGPPYBrV5Gz/3P96UOwG1fD5MG+f6sPmlKFKy56XS5VVwsqXUWnuR2CSC8XK/E3GkAmJp4HgD2qVqbHCP9XLkEnD30/uj0/XYW0j5yr1W7OuVoFV5XmRRiqlFm5Mzg4YNTK/ZUSrVQYL9WAxaowVABqGbEX5KZpO7TEm6TEW4TZTc6sjkk6Zsdq0tn6HG92mh2bWwk3b5oY8JMEqRmg6q8f5HH12IpKHrFWq80fAWB92Lad17JRWI0Dabq6Ku2P9yte0JXadYCQWZh+z7MvvGt73mPtBmqVSK3RTw/d/HW4Glv2g0e8UTzOiAcXTDch3AOEQktwECprEJD1X+8q4bPChhwqa5oSSzNgFtvJtrOvMpescnjhi9bjuRhkrrtPELXHfb8U70SxIG2aAFcqf/bnO66t0jx/G07FYeKnxPJ+i1HpmsXfES+GyPQFN08tdaVamwZXbWl2w7mja7grAWJnbkfKvKrANQygcXC1vXKuErjaPCjx6q0jB2YJaA3AoQ3guqRV1/95HxuG/29VllrN08GUZ3wfO8Qdz/1AMWXl8SccW0IXvHvu3dgVvP7whtPxmngfTK7zwDUMpXGADSBVUlNV0xLESpDog6a3HR9gK/RorPUeLT/MJVk7C2RzwizJgtoo2EbvmFgmlTPGbCq6TMbdQricBoIidZVPB8Rt///HjAXUdjJOUpxv2zbmqvOriKmV/2g8D827XCZSBaTGXv2rQFWCBA8QEFg3IbBaNmnngVWlopqirgbrJAIrdV+hvx+g9cFurn9z27q3weV1IbGNM/gDx+8k4dz3IslFUvGB7767tJZI2VoSXlunZhqgWdBL7dnnvM+eWMr3RwDXMux7nwOVPASueI6YBK7+ZxdcBcxKcJsAriRShQ1+x6IZ4IpOMnsAXHXVrBVq2lXgwDEExL6khTlcVjMtj9oYsSXvLsDwPSy1R7n03l9KDMDVPVTsWFDV8ZAyDeBxwCCP6YK7h9JD+UknHm389t6NhVUZ6PAnAF4RXK+CnVsbcwdw3rY7DEuJoXIjiGcV8AKlwq4EIYh14IO72WtsBKC5JnkEAPYwANij4JgPus83RBx3KkVkeQmg3AnXkSGW+cH3lVWBqFteNvJqMnrGeMJDiDPTsvCtuBu4M2/1QAY/FcxQ5XeiFxhNUloTIJWEXv0ngqq0fquJCmvLflQorI5jAsuC1aLqqsfPMV/XsLvC/KB167pnw+jtMLy6dNjOrYTszP3d772nhPfRviQfy7w+rxKg0gSYnV4G/UpZvi9mvs4n2QFalKZvJhqgpdhm580aWrXiqm1FKK6oZo0kKa42ZkjioVKvYXU19ro/KDLgKa6hedI6nuLquB0EiqsY27Tx6W/tWNKJon90NcNyqavyqKsK/9+8N1Bcb/vZV5mFjsUTTjyaATmg6tH5ze83duV2cTsqrwivhKwL1NYkVTVZhZW/G1VIVUpsBCh9pbSvytYDwB5ZNshYyIUg/DvyfB5eKeLvqoDXRKhVqLU5HvJ6cSOmqTdpmqWyUqKGVhLNyZoEqarAK+fpyKZTzba9qd6yt3HZs0Lhs5oGq0XVVdW0u1sYZf+BswpAq+Me4OrlRz94GCmb/wOfvlQ6ZPy9Rc7T968s4f4fXET0kcE0TWmNrDT3rCvt3Uv5vviWF63HEz4QvPLnkkrqpX12Q1hpkGaNSYqrrMoGCioPqbAkso6zHSt03TJJcYUeZvYtt0wt6by32rTiqi2HXXjLZPv614/aIZlQeoKdr2Xmek1/Yl/S4OqormTEU11DKa8UQVfhylk2VRZ9UPPJGhjGi+zbPfdutJ904tFCeT358Ue3f/37jYWhCgBg4vZPnf5O2Kl3w5ePdjuieF5X4kfuh1VYZ+dtQoJSrT6wKpRYH3ClzASEBMFYjbY93miT8bJBB/qr7PBKmR7KRAle7gddOZ4rznGTfs+nJD9ITJJjKZWJlcrpzGgIXv3AL56g+CxMvoEkpYnG03Mluw7EATUVUlWg6ma3Ndsm31EHYG13+JSkqrIkWE1MpRWF1RzqanTa/x8o2QvTV5/1FlWu1iio8hLmbsVyrtzulHGaDs4NE5t+gbTLD9mbD7m58/3HrBapryjtJJV0Dd0LmD1KFIGuBTILKD8oYHZyOamt8+o7YoFZVFXwo4i1iDatuGpbGQbgihVe+tyAq0BBBXD1ig90q7gGQVzOPDvYVpbiip/nPvOtHUu6pvRPPsCGBVgm+7Wm1wPluaF/z1nvtWeL7t9Jjz+6gmKGQUnrF/ds7Oqu/6NPn16D/+Ny2KEnyWpmkj9roLCGSrOG8l1mKbHhddRqLF49tSpbWwOArZToes5JrJxDVJmNKazh82Ynyqc5chX3CmSzXolSdcR6NMAqBqcxJS+SszUKqfJn0+Z7mm2+pd6yx9EXIo+q2i2s5lFX/W06nzfD/Pc/6813TaRD61kAqxZcy/YAlnIltj0oyrwa1iDbMHklPKYcZO8afjttlfcQyhoE02NheVeRJgs+E9bCdFfR7d5+FUOf1vW5OlCa3tGmlYPFdLxPf/fS9m198ws3oHf3gOTG0bXi6q0TVlB5t4pr58JbJpcD9GvTiqu2Ak+ifUv0yX1JPyVDRzJ9xwfpMJECiCgJ8ttShUjAFT2TCnJoeP01P7qatZ51pV0oefZvfr+xffLjj8aOtUq6rGsOQND88afP+CA8o7wG9vP5Xvop7z+jUmremC+snybLq2kV+MOqlFjlWFJjnfkByDbb9u5mm+yGjRnoSlCt0A1lgx5EHBWch2GPy0qqL7BKB95XimP+yDQOt6pCEjxDWetaQaBJjJsR6ENjm6Dx9cKQ6kGwafGJVptvx/yrNucdSe1kRUA1sh+5YTVRXfXlWDH9cxh98plvvrOeAa1VAak2VsYyR+HfWU2s9hhMrybDjVfyOfux9gT9MjFnj+cEYNWo7COsPEHt0gRn5UnCSpOY/bbzg2e3ZPUV2iReZ2NZao/qYSRrhnzjoE7urH3LhB2WovClMwlocNW2kuyiWyc7179+1Iyed3x67YW7QLSLLOIucP45G9o3fnvHknaoh55rD8H0UaHOiUdzufI4kCr8D3kqwxz0k/ezHU9/j130eIgHk6c88ei+n/9uY1c+XgAG6HZwKwDsJvhX3gh7U3ITVHnJ//1X8EpXgCSIJb47AQkFdklFDiiJ5GaNgqyjyNqNlr293iLbAKlK1Qobq5boukqJrsWHCv8oe78pYWyo6HAEahWnxIg9aEQTp/ewrXQBQlT9faqaT6UvCTeAjsl3tU0ODwN83La5/5DEKGMKEO4JrEYBNQqrEXVV9nv9Kvz952dccCfPgFYDoBUeLO0+ANVhgNY1xGqt51bzUDrYeBlptI6zJht/BFI/jRrVvYT17eC8fytM17hRRddKzGBhwoVnutE/fi5QgwpoLWc/eSRDaZbS6k7vO/1d3F4G3UllMa7/gsaJdhPQ4KptRVoT7hOD8+13o66dlHRXsl2qlFomSzxpNHQozbs/RGdgZ4diIl0AQVSVDStJZk14zYyq6WoYCr0uRP/WU59wNCoO/aeddFT/z37zSL3b/xUA9vv/+5kzHoX9uww6lnVYmiBSBIB7vrAebKogNlim9In16pGHXAqyQFZa32627PFmS/gF00qZDlfLdAwgdsww6Cri5t+lTE59pYba4JTE8kFQJajSQt4g2XyTqzOnaaorJcm5XNEFYF/HJHvaHXui1eH7uFDDmZe6i6ZlHMgDquH1aS6/1yRY9bbhljr9FADrXQVuKdR5CrcBYm3o3+wqXWWeQ2z7sXyi8QfSaqAfeQ3+fWDRygxhVg3Wr4h1OfrE4v/CmXxOfvoBOgzzBvI+WCSd5zTl1Z1sPfWdfMlnErjghRvc47QwEKqA/dwP7hfeMqmzCWhw1bYSwRWGgaJsSqMBLL2H28r552zoLHnV1QkOweNnJJV1pQqQoUl0QxMXjdz5Qdo+4118psj+/eKejfZTnng0AuvAGScfNQj7O/fTXz3S1TEFYHjwJ5854xL48gWwm0+XAJSScL7UZIiV3AnCEJqsxqpANvRdeZ4EswBm0zjA3I1YKRMgdhVA7KoSDGUEWeoqZjxQW6mHOjzSTUaudRrzqs3xSrhXyhPNkQ6LhQjaMi0+aVpkX9vke9sdMmlzJwCSepRKCUuD1G5BVQm6SbDqE6oSeO+DyY89/YI79xQ4gjYciA6c3RahRh0ujVmybvYcaLWP43tr/yKqX9U6QwCpBi4nqLrSyi50FYBhWsyjBtwfKT5Ai3xL0AbR/WYNyfTmSL8Q0goR0ODWuHuZ9CGVvNc7zfL17aqdWEnb0JkEDhDTwVkHoH3ydaOouPZlVc7KKkCgqpwVLUCQUTnL+Wz7n9FdYMmX6vvFRwS4rncZKFV249nFBxLN/e6O09/JC/ttnXbSURioNcScJN/T/9slvHoGAPunMHo9R7VKSo3lQyaPlV5NDMRSpMIKb8uZYUePKOeq7yVWw4rNLxukv1yiIzAeLpXIiEHpEABfTXmueMZ5SsvzWhRUOUnXV2kysCKvWxaf6VgEQVWAO8DqrAIYckFqGqgWhVWlG0A6rOI0BoR9BcZfedr5dxbOkSvcBQiv8nJjlK7d82GYPotPVj7GJ6qPEm4OYIYBoRYKwGUIqnCsSlOElaZxoBTLuxqN8tm3d+76EEVh5xDquo108+BBM0rCSuri3lPfvvR9W88/Z0MJCw4wxkNlhVUFCLIqZ+UsQBCqnJVSgKBz0a06KEuDq7aVDK6iBGwUXLlX4pUkl3wlhMgZBBx1zU4v+eplFgjWoUEeWeJnFvDAeO6m7+xY8q97fvVRgpVzhlQiqjr9FU2k0wzDznvbU97BO0X38YyTj2JwUx9mTlTu9I9++ci8kuX/9MYzDoLRhVzKOqCEWEmJzYJY1ecMkC0Es9Fl0eVwXMplgw4CyA6UGB00GOln7kCjNdj3303ZtmxSh/+jbsIYQHUOxrMdAFSY30qD06xlMUhVKKpdqKq5YTUCuY/A308+7bw7N87n+JkPHTlImHULtLkTSb3vAr59zSa4ydSc1FjCmZ+KCruEdoTCSmkTgLXplHZlbQzK+vmHhYZ9CMnjy5nfvzXpa81TriDblkPfAeA6wFCtj4BrJAsAkUvAxgA0Z8lXFi6CoSz5Km1jGsBV+7dqcNW2ku0TrxsdcSs2xVJi2RK4BoUFaCiFlpzuSoRgI7yS9JRYMrgqUmJ54NoBcF3yN6DfXCPy4R5G3IANhcNjYR/IFPUOoXXbqW8vXqXpaacchT3wCAYyMYNP/fBnmzrz+b/vuOkMlM//FP6ZVyO4JxUpiEJsXjU2SS3l4dRXuWA2S4lNWt9bD49ZyaA1gFkcqvC5Bk8CZeYEgaHyVIFpAwPYUJWjNIi0FiqdVJsLDo4p/V4Ha2+JtAnOtIljaC9tjOq3AUYBSJvOwJvw2VSoe9nuAzQRZGOQqlJT5wuqWQqtVLULr8mvwId/P/O8O+eV09nceNgG2N5tcJRH4Dbzd+Thx2yBacMZxP/K3DBD8bIHJrBNWeWzb/fb1i8+IvZrA0nJwJIaUKeemRSUhdfwlpMvJ52lfs8DaMVCJzUBiowHQEqSU2FRKqewkgCV2aF1pHRWAlyl9Fj+95iUCisCrtbFt03u1b26BldtKx9cy3IlrWguV1sC125zuaqqZ7nb8UFV3Lnt8GdUlgBel3xk7W+vEUFUh5KEkq5F5iWosfKq6EKx7ZQrSOHj8gyEV1ReDd4HvffU93+2ad6+YACwmNf2NbCDfyK9Vk8A0fmBbJYqG4NPHjtGPBVSFzF3awIEFc7nSmmueamAmgWpGaCaC1YTvx/M/yXM++wZb7pzx3yPo7nxiCfD3eRzsNFNcIbeUDpqa+FcqL/6qNgvdAPqTwPPIp1phl/nziddTmaX+r0OoBV3O6iSpQBXJrkJ9DKHK3VcChJzuMLkLICr9m/V4KrtQLDrXjuKVWBKecu+qvxc7UjZ1279XFF1lcrQWgCuy+JGdM+1ZBj2d10alyYpqV2QDyrR2066nHQF9c8+7chBA9VXRua+d9emnviD3fnZM06A/+8NMHmcn/uUqwsVpEFsGshmwWxuoFVDbdI5WzrgSnMyEQ1HemcBahKkJoCqsoxsFFRTYddZwXNDQFC9FYD1zl4cQ4DWl8Hog3AJfhV+58rSUVu6UjB/c41oy0O96EQTVFl57uQT37Y8ArIAXPEhvSxe1We4Caj8W/3Srin+rYTEy736YJwMrvhmZO9Ft+psAhpctR0Q9onXjWIy/eG0AC3SrZ+rp9Z24S6A27c4ad78nR3mcjiOv/84Weup1xmwk7q4CLxCh9cVvP7JaUfWAFzHGONWifLd3/7p5nkf47tuPgOj9J9BUIF1IV6G2DC4ZoCs/J0IyOYH1xS3AcVZUEIoz3V8e9VZ0oylLA/Q0ni6LCWgquBSsb3Y8m5A1Z0v+8xOY05WGH/n9DfeOe9rz3zoqH7Y6vsJtV8IH68uHf3ol7vZzu8+JvYNr93B+Z6znOmb6rDe9se/lSx54DrvBRswL29/mtqa6CZAFP6tETeBvIFZUf9WB3TJnFZbNbhqO8BMVl3T/FxjKmmP3QUi2QXEGPahfvMyCNT6w3WiHR0C+9yXh2p6kLxewOsTLiNdBVv92elHlgBc1wK4ot/mrv/4yea5XhyHu28+A4P+zoHJl8H/OBoB1kIgGwLKZB9VrobTNHDN6yqQfZZ6pbpmuwokZnVNDMDKWp4XUvOAag5YxXELJr4Jk1956hvv7Mn1BtD6OBhdL9KcUftCgNbfdbOde671fVoHenAu83SyHVhvy+MuJRZZBnb+ORv6BSOiuqrIJtBLN4GC/q3Yo+wFcNVqqwZXbQcYuGJw0YjKzzWvu4AqLVbe7AIZqmvn5mUQqIV23ydEypzDYN8reWW5eYIPvgrdeuJbSVeq1fPOPIICuK6GDmGNwciUwfjuf799S0/8igFg8bXi8+Gfeylxs1ekQWwayHYBs6FDngWuSeeA51BTewGuNJ/vZE/AlZAEBTYFUucBqt58bL//AZ///bQ33DnVE2B98Ghsa68hlF8C4/+GH3lP6ZhHZrrZ1r0fF/t9MJlHKey0c6jI34rkteX4S0h7OdzXznuBCMiqRtVWQjwFND2bQN40WP53w/Moo6luAnOXaLVVg6u2AxZehz3gmo+7QFJ2gSKqa8TXFQmnAfC6LJSJ+z8pMgwc7lVsygOvEgR11YfDsO2ES7svc/gXTz+8H8D1YABXTJ217Ss/3DLXq+Pxs88JgH0u/G9/iYpWTF2NgqwEpPMIzMpSWFcsuEbv5zTuA5vgz0rz+bmGlyWBqvcZK0B9A6a+fdob7pjq1TVlPnjs0XC5fBgmjwFw/WDp2Ee+3u22/nidyAKBKa+qXZy34h2rc7vbetzFyyNRvuci4J3f+aitYh4Lq63zSYOFusaln5/cR7RpcNV2wIKr4SpjXWUXKBKkVVR1xbHFSf1z/7ljWbwOeuB60QkejvfaBBjN93/k/28R+nYcdwnpGjhf8szDGYAr9FJkrMTIhMHsHV/67209e1j42efOxPvMM+CfQoB9XKq6mkOVjYJlEtAq4TKH60DeM7BY4JrMQSSl6Gu6D2yeAK2ompoBqt73tsKnr8H4+wCsPXtbYt5/LKYdezUMb4FL426YdWXpMRvHu37I/IRopwit+apH5u8pkx4y8FrZ/tiLln4GAc/OP2cDqtBGHt9WQvKrrTSipPpgnCObAAlAd/qS2ybbRJsGV20HNLwOQkcsqggpsgsoq2gRMn/VNSnDgOymALc78+bv7Ggul2P50A3iOCK80jQltYckjpvaA53ivHIZvvTZhw0BuB4B4FoyGNnyxe9um+j1sQGIfSyM/gKGs2C3KxFYzSosYKsAtFjxAZ5LcSU5oJT34BTSPPdgmltxzR2gpQLUJEjNAFVxmcOfO2Het2D8q6ece0dPHzLN+x9zMhzqK+EXMUfrR0uPeejr89kePFxiABb6tLKF7kils7Hj2AuFCr0s7LwXbKhgnmKVi0BSpaw0tXU+QVmKalnmpZ/XVbI0uGrT4PraUYSs1Q5spQdpFVFdi/q6ehQWCdTCbS+bLANoGz8lXrEd6nWOmemVevOz2DGOQwfZta/q3519GANwPRjA9TAYZg1qP/y5/9xR7/Xx+fktZyI8PBeG58GxOdLHSJJTWc0BtGpwzesqwJeQqwAtAK4pqmvcJzYXpIaXh1TbXTD6Liz5r6e8/o6ep3Uy//jY1XA3uhS2/0I42t+C8XWlxz7U9cMZPFDivq9xhwXtPCPnZufRbyHLBrQAWlFl7QtBKuMhaM3KJNALtTUlKGvyktsml01foE2Dq7aFhVesQy/SwcxXdU3KMJCU1zWHywBxswzYy+V4PvLpMLwGaLagJjIOQEc5r9dor37uIX0ArscCuK4uMbLTMPgjn/rmzgV5NffzW888VkAsJ8+G8WgYCHliAJcSTJOAVgG16eCaD0rnC6899nHNDacxWM2GVM/PFd98/BiBFWb87tTX39HzK9r84/FVOHWvIE4A1nb4zQ+Xjnvw1/N8kER3KAzCGljIxqd4xNhx1JvJ1HK5ZwG0UtevleZ1EUjK21rUtzVJbY0EZTUu/fzkHNGmwVWbNs8+/hovPVZ3qmtihoGEMrBReLUTXAbc9Ww3WGvZpD959DNxeF0EgMVTNn5kDzrMNzx/A/q9PhbAtd+gZFOJ8Ueu/b/jCxIs94tbz0R/w1Pg0DwTxk8nmAieq1Je8VxZAzjPVldjcJsCub0G15z+rcmuAopX3ZR2mxKLprkRNOHPXTD+EQx3A6wuSKYP8w/HM/i1FyA/wWnBQMebAFy/WTr+wXldb5ucB0iE1tJCNbiEYK3tR1ywfNwD0JL8Wr3rQlVsILO8q6O2UhaB1oRtpqmtNgz7LtHprzS46kOgTTYM1HJzcFKV6koSMgwk5XXN4zJASHqWgQi8mjctI39XtC03khp3fF6N+UBSFzYNp2j88PPnly8Syz0CuB4G4HocgCsGcj1oMLLpQ1/ZtWDq9y9vOxNzC58Ck0+D4XQ4QGOq45UEtFlQmwWeeYE0EXzz3Xxz+VjSQj6uWSmxaB4/V5zG9FJ3wzo/wfGTX3fHgqWlM+89AY/D2QCp58IvY7nVL8Nh/XLphAfm5aKy+UbxfxxEHBeoheg9afJlQbZBu5tZTvcpaOfoc57q15qURSCPi0BS3tYCauv0pZ/XAVnaNLhqU9jHXzOKCkX/vPK6RuDVTnAZyOPvqoDXNsDrsrqBbb1JpBs7HP6Bch4a6mGLRl+w7YedR+b9eu3iF68vAbgeDeB6HIArLRn2fSVGHrryn/YsuPsGgOwxMDoDhqfC+T+BeL7DJCUVVgw++ZJyFciruBZyFUgJzkoAVHm9hwWsEoJlWP9wyuvuWNDz2rnnRFRYnwNw8zqCEf6UfwM+/2PphPv2zPth8SY/a0C1Z+0rX28Jdyuy5dDzSH053Z8AWlGNrmVBa5Zf6zxcBMQWVHlb3X1oAbQuqwcBbRpctS0+vIZcBmweVl1zuQwklILtEbw2b1pGwVpo2z8rXlUeBkMfJ4te6nEKGvv4wW+af7WeK/56LWYdeAyA6xMAXCmALALsfVf8w8SiFIv41W1n4oPVk2B4MhzEk2F8FHEyOKQrrAV8XPM6cyyKq0CB4CxSoCgBTOzAZwI8pDD8GkB1UQKIOvc8Hh7eOAbmvRx24hAA12/A9JdLJ/5xTw/aGP5/YyGFfnE6UvxdLAqyGdpYazndlwBa8SGwPy+0EpLt1+qprZTGodXbbpKLgCJvKz5A7QNw1S4C2jS4aks2z2UAwJUqVFfRZ6e5DKRmGSgYrJUCr/WbllGwFtrOm4VSiErQ0HwFoC4aOIL+zvVv7I3f3ZUvHysBsB4P4PpEGA+UmXU/Y+Q3F982mbh9c3wI/39n4P6rcu4mZ7dgbJfWzhQ6JL/+/Jl4LDE/7ONhjAMqsrU8GQQSHyAKAGm38NoDH1eatU1pHTz3D8Dye2H8exxOfu0dE4t57Xd++8RhQu0XwR79tZsKDRXWfy8//t6JHrUtz5e1sh/aFhYV2AJta1k9TKMbkAutrAi0ytkBSLJfa2IWAe0ioE2Dq7YFsY+/ZhQd9QeKuAx48GknuAwkwaudEKyVAa/chddl9yQ+/jmyliSoQnzhGzQmQd+x7g1CIZq3ffDv1zAA12MBXE8FcF1fKvFNZQBYg9mPvP4zM1zAKicVblsVONE1uDiq8LnsVhhDeLXhrwk734bus0UZaRFmtOBzpyjEov3m82fiNtEt4zEwfqw7PAaulf684FoERrtRz2mBey8tDq7oA74RhgcFrMKAn0967R37Bao6v3nicbBXmLv3bADXKZj+Khyy75SfcG+jR20Jr6N1MIzmOFcL0WHig9o2aE/L6j7kQmsfXDNGUWhNzddK4y4CLBlaxewUF4EmQOss0aZNg6u2AvA6jApGniwDeVJkLYDyasO4sRzhddfnCB7bQ0gPE6FnAFC0D8dXs3sOOpf0TLX+5OtGDwNwfTKA64klw54bGia/O+lZ1n1HncAZtawhbpIhYvEhbln9xKZVoboitDLepIYxR0p0lhjGNCnxGcrYHEw3SutmegJcALSYv/MIGI6G4UgYDuVOIvq1JJ71YTmAK54/fN2/FYZHYNhMnfH4k157x35tD51fn1SDw/IsB1j58TBGd4T/AHC9o/zE3/ckK8XuW8RxWeWeP0M6d4v6DLr2DWQPWYaGGQTg2iotNLRm+bWmZBHAiUntIqBNg6u2Qnbda0eZm2WAIbzaXmaADHjNCtbK4/NaAGDxBte48dvLD1733EoQ3tDvtbo/Wjh1XiGPr3l9bxOk33zeyODQiH16pUKeOdBvrVs9Zo2vP4RvW7ehM8dMvoa3yWo4a5juqgTI2KIlMkXKZC+pGLtphe0mZTpBSsY+6FanAWjrvYJXlf328yINFyp2B7sQtIZjNLqjiK9xlbwRVKcWCVxbroqH52TCBVQc8JX6uAur2wFOO0vpWu788hRE7CcAnP4JESnNOJZK+h4WDyif9LttvfytiVtFvun1PKvdLNwdAa/HrWPnkmWZU/SCF26owXVVpl5hgZzQmtc9QOXXKkrCJkCrwkWAu9BqEW3aNLhq6wJeywCHIwkuAzF4TQvWWkB4NQFcG8vx+O69Tah9CE2j81WLKO264eOx27Hqdb2JhhbuAbbV12nwkUd+y09uz/GnMds+ZaBqDQz18Ua/wUulDvy/FhmkFYCyGtlM+5yBVI1ttELHSaWMADtJDTKDrgPduA30FHC/cCYetpKr7nluDkxMO/18NN2Z99kOIZQTbIKDJS2zXBiynvSaO5aV33bnF08+glCOuXefA//bQQCuGPD1A/i37iyf/NuewvXk50kV2gimzBrqhlF71L4QVreufh3pLMf7DUBrlWLaq4IqK50HtHpqq5QOKxFa3fVnAVqbRJs2Da7aurUMf9cQvNpcHay1UPBKAoA1P/Ot5QmvbqeMrz17WkM9d4MPXkdjypldI6+ZH8B64MpNPkw61mrS4WOdWfPw2V3kqVaTnsxMfniVkGqJ8DaA67gxQO4HaH2U1shWF1x3LTVw1SbB6s9OBVjFHLv86TA+FMAVfWp/BNM/LJ/yq55nJ5j6ggi4QlV8RFytKa4cC3yRYJnb3aOvJcvyWtyf0Cr5umZBq/Zr1abBVVvP4BVVjur+hldCUtXXZQ2vbgeNrgP9i9LIaeJs7DjGh17dPcACvFa4ZQ0QB15XAbyu4W3zIBybDbK+MUuP6zTJ4ZbJ8fV8nZXpA+V++uuBdezO0iDbQcrGPmrQmV76uWrrElTvfmoJWtgJcGGcCq37VPGARdGflt8B45+WT/3lzoX43ZkvivaA18cq3gWl9pAuMap9y3wf6PanvRmhlfFKFFjJIkFrVgYBd31s51Par1WbBldtPbHrXjuKuTJR8SgtFrz6UJpDfZUA1vz0MobX6S+Kdomd9UHdtNE8X6DJwBpdMgNzdg28sjtfPhdea8Tig8Qig8S0MDhrUARncYASTmm7wWvT4/TY1ox9vNUkj2M2qTBCflei5H8NSn5sdPgf1r6B6I5ssWH1ztPh+uOPh/N/EgxPEimsKLkPWjYGWv28fNovxhfqt+f+Ufh+YxsYlS/plCwQuazLi2gvDDuHX02Wrb/lW160XiitJAKtKmD17gP7AVrRRQb9Wm3d+rRpcNXWS3g1XHhleX1ek/K8zld99UFV7T5gAcA2AGCXLfDM/YMIBjqUJAQF9brFZ9wMUGnajVzd/8pi/b+bu7VEbKvKAUoj6bAocS4RzCzQru/mZOLXncfxBn96ifCzME9s2SDTMNxZLpH/ZZTcDr+/UbfE3lv7p2eOAjwcD2CKuXBPhHMC4MgnYXyPkxWA31N+6s8W9IGw/o8i6Aof2Ia6BtDetXj0Yd068CqyrCs2AbSKQKwosBJCCqms8voL4NOKhkprR7dEbRpctS0EvGKwFqZyoosNr4Qkq68ByPoAK7INfOqbO5ctvEJHTt2OfN0Saa/4yhQj3PcCQBZWRsxdQ9QtPMCk/8e7dDAKncu+rNtuIhsAWp8Jw3MAXJ8HHeHhxIms/ykM+Jr6Dhj/sv/viU5QXoTIfvx0LLd6CBz2Y6HpPAamj4XptQAQ8IBi3wer3Avz7i2fcdfORbrGR9zrvG+JHCLM4LATrvFlHdV+IUArwewB1OfQxVZZ80LrDEBrS7dMbRpctS0kvGJ075ADjwsHr4Rkq68ZAIspZevLGV7dzt2rvT64BHYHgfWR/lcufiogOA6Yg/UMGM4UAxWVsjoCtLB8KSW/hjEO9/S/gjR0S4WDc/uzEFI3EGpjDlsAf364GFOCuVZ3QZN5mOBAOFbW2lE+c3FzwMI5xVfYxxBXFdzPhvC0dX9c2z0GVq+4QCkJWAlJVll9kF0caK0DtNZ1S9WmwVXbYsBrH8DhQK/glZB86ispDrAIWvUbvrlz2ftOQSePPn+YOqu0H6F1E3TsSyLqt/4l8fCEwUInwXAyXF4nuxCE9jB0jH+AMQ4PunD7cN//ISsyYrnzg2eXRDoqwtcJUCVkPaF8vTOG64Xa6Ku5DZZvhvFmmLep/IyfzC6R63p/wyte16jk7ynqCrMUoRWuewzuNPICqw8DSSqrvKy30NoCaJ0h2rRpcNW2iPA6AGDYVxReXcjMpb5KAJoreCsBYHEfGgCvyz46HTp59A31SsYuZhteUtCaeHy+LB6mngDD8Y7PphiOI45i7VQMExHx6CtLN8H0ozDeQSjDxP7jfX9r7l2K/1f7u6f3wb7CgwsbhV5/BAhgNez3GtjvVTDG6WEnrRmfxYA6+MpOAFenYAEl28vP+tHcEr+u9xe8YvquHXBdL3v/yotevB7dShFaWRawEjJ/X9Z5QmsboHVa96LaNLhq2x/wOgRQWA2gcWHV19CynADrTGNSBNK8/hs7V0QAgNvRo/o6rKE12xr/JIDWKfdKRelXGOiRjq8nXQ8A2O/8n6wJ0zspBqNRto8QYy+sA2M2AetNERGoZsxA79tw14VjwhswNoXrrihHRDvwnabzmcJ5wkEsI9Qp4gq/RWvwGZdVYVafOz0I4wFYYUBMI4RQMW8Evl9yihewFszbCxSA+4P7CJBK98AwAcv3lJ/zw/oyv6YXC17xOG2Ha3pFvKa++MXrSwCmfSSipMrASsIgmekW4C8j+VVWGYhToNWE8dQlt+m0V9o0uGrbf/CK8FTxIbILeFUBrAeozrL5Aay/jNPWJ7+xc8UEAkBnj0C2gfQw9+tKg9ZcYPuvJfc4snUAg2spKtqUjQKkDrtKJ1zjdMQ5zkYFeuAazBuAdWynvCkCK7Odz1QEmjmfqfPZXUadZe46CL20KSCYsjmYBiBmUxTHhKIaNQvLpmDeJHwfAXqy8md3za3k87AI8IqBfBh4NblSjtklL1mH+VlrhORXWFXA6qyzoCorji2YnLxYQ6s2Da7a9qd94nUix+tQXniNQ2pcfSVE7T4Q/W4UYGPfI4HLgASxJowan/j6+Iq5eUKHj1CFPo1VDa2LZ82vra86OU5FsgRUTo0gIy5zw7bxgwDXOnWWmdUX3q9LWi4uvKKbELpO7F3ufqyyXfqSdTWAwYoMqz6UzhNYCUlXWUl30DoF0KpztWrT4KptycArKq9lGV49sMxSX5311O4DHu3mBVhCEr4bhlgb/V6v+/q4tVLOgZtaCAO4MH1WZSlC63kv2IAXRZ97WizszBAqbvz2Dq3ALAO744OUMTx/lPTDxdbHROAX2fWUt/PZHl/LvYJXvL7Q53eimxRuS9Xe+pfrmNuODBlWY7AZLAi/xk8AVvU63mbSVVaioVWbBldty80+ifBKyDDnTmeTQ32NAWya+0AUYJ3lTKXS8oBkw9shcYhtfPz/jq+oxNc9ANgFgdbzz/Gh1e8MpRuRJUCWcVTG7OWewmyl2I+vZpShokdJH7RMBNWaYBMXWBgV01gGZNepbydLCV7xOsKcw3tWErC60Cr7s6phVQJWtXpqh4GWFHILiEFrErBqaNWmwVXbcoFXDNiqROHVg8Yk9ZWQ+QMsIekqbALEdq792q4Vl/dTSu6OWQhq+xNa3/Ki9R600qybkNvp2dSBDws6aWsluXUsZfvh+xgCSVX4TAKkyqDKKKe+uiY+u+DjLMPRrlOu6G2lqS7gFR9CUWHdt9KAFe2yv1qL56ZKVK4AEqxG5yeltiI5gDUCvTFg9TapUFlxUgRiXXSrhlZtGly1LQN4hcmq/OrfA1gZXglRuw+QDIANwayssEbcCKRpLtOrvMz9LCptfexru6yVeE4AAPB8YAqtocWG1gsdaO2XO8W0m5FcklIGWeKpsgCy167Q87TY9t9XlspYx17AKrWr7nQQmCPXtfemg2UusHBZ+tt1yuX7BV7xwRMV1smV5MPq2dv+CgubiTZUUimrATzGQFOZJWA+wCrPT1FZNbRq0+CqbVkC7BD0ILUovKoANgKSXQGsx65JKmwEVGPuBO7yxjVf27ViS4i6VbgQYFcRp/TqgkLrpS9ZV+IKpTXpJkQVayUFnAiIRZilLtDC//Dhr+7SyqzC/vOdFXxcAEi1y/jqH0GVOOVAGQsAh7qv/33ZTgAI9f0bRQgaCaVOir1KxsnxkxYHXvFcY/aF3SslrZXKLv+rtXie+kLNI6KsRh/0oupqDGYLAqs/TwGsoX0IHnpQ+UZo1e1RmwZXbcsOXjEfZZ9UhjXTfSALYIlqW0QdjCVDrAp4iWJd4mQdqH/031cuBLmFDFa7EGssBLRe9ldrscJXv5zVIfFmRDkJ98nxzjinyoQ9NhCYjUBrU0elta/+lz0HhOrzjSsqDEt9MgQ8AaoCTnEo4aGhMegMji1DcKUhVwAaBPfwyGffv9VbRoikyMLn8Se+bcHgFRszForYsxIKByTZFX8tVFZ08anI13seWFU96FHFw2EasMrfy+MWIH0fH/ynNbRq0+Cqbdna9a8f7cfysDK8RgGWR9NkKQBWBtQowKZAaSrEEpIIsjg0PvLVXR19BrvqdAW04n2GF+i+Qp2q4m6l6rgLvBIVUOuALSq0HMcIt+i8ab/jHyeWdEf7b5f2YxpYBFMs52m4Y3x1bIjofmKXXBil0df5zh/b8UuN+irSQG2VvpPLTUDyb/XBlQXnpOfweqDY2/9mrXCvoc5DpRJU/Ws+BVajbSQMmerUVkWAlZDYA1ATgFWfc20aXLWtCHhF5WBICrLqCmBDyxRptLIglhQAWXceqgcN/Qo6v73zpWtL+KDi3WMi3hh5b06UKDrgIp12lsKkyEXJBcQ6YCvGRECtxZ0x8cc0/NmBACKKY9mRVEJe5888xdN9Nc+kqG+XJy3mQoUYM2e+B6gModXbJovBJRFMHlVFA2U1XW1FcGXhEqAhRbWAm0AIbhFen3CZhte89o6/wdoXpOa6ciRf88G5oMr1SNztxjtfCe1D6RJQAFjR6gCtc/osatPgqm0lwSu+6hv2VLg0gPWAJyGIy1lN6SbQJcSmgKw72fjQV1au72uv7D0vHyvBcRxMOI6xB4O0m1G4k7RjK6s67TRYjYBksDh/LkpFOU0fWimSHU1Yn4mCWVJgGo34C6KrbgR2GZUCYqgdy8PJItBKqaJ85zzV1qxsAgluAiEQgs87T3yrhtcse9dL/bcULAlUk677vLCqWE8ZdFUQWHF65sJbJnVRDW0aXLWtPLvh3FEDQAZTNBkyVOYBWB9Sw+vxZDhVQywhySAbgtlQMJmAMHQbaHzg33bpKFmFXfV3Y2U4ZAOc+0pr/OEgiVxT7kxpPq9pHbazLJ//XhqwqjrrvMAaUTpzQ6uruCZCq7xOCFqVcBnehyi8R31bVWorjf9+NJuAUGRjUejBd3Y+7lINryp798uEytoHkFpJgtQkUCXFr/3M69+ZTm4DkYc5zOE79ZZbprRLlTYNrtpWrn3q3BEGt1S/UEEWwHoQy1WQGl4vFWJJZPtpIJsIs86Hxvv/dU9Ln8nAPvCKNQCtFJVWqnwIURzzzBsUTb5hpXXWWeqSP78LdSlYf/9DK3UVuSi0prkI4EhSXgurrQqoDbsISHDs7berDOOGxo+/RGQB0Obae14+hrAaKiaQdK3TLq59kvCwRlKu/5zAir+HX0Bo1anptGlw1XZAwCtef4PQ9dXCgJoNsB5IpqiwIYiNAi6XLv0kkE2DLXcSb9b1q/9lj3mgn8uPvGoNg+MzGjl/qQ8M87pxRTrqPJ21DKtF1KUibgEyDCwOtOLSBL9WP3DKViePj7oI+KAaziSg9G1VqK2RoCyqAmHXpWDrcRev3NRVee3Kl4+JghxUSu+VFJioThGX70GtyPVfpA2AtWFy+s23TGnff20aXLUdWPbpc0dqotKW81o/BrCE5FdhZdjkGRAbh9F0wEoCWryBY+7Xqw6QdEtJds2r1lTguKCrAHbEhiobhOpYFgTWrI5dnSooZ2cdhc80YI1+rxfAGobIfNAqFE2pBCtVuAgwBbQ6M+IBWUmZBFS+rQlqa3AcA4UWCXkOpudgxhyA6wHbVt73d2Mi+ModMgFVvi6TQDWrDShcDFLV1bQ24C6rA7DqICxtGly1HdDwirAzDLdFpgJYCUR5EvxkQSzJAbJJMJulGLrLMDCh9d5/3nPAKxAfe/UaBNeKC7HlpONPcsBsQmdO02BW1VHnUZYiMOqDQl5gjYLoUoDWtCwCaS4CqrytBdRWdAtoIajCuP64S4kO2iHCBxwLP/Sn9b1pkJoXVEkOWM3TBqIPbXjRQTuYueDmKe0mpU2DqzZtn3njCBPwagvg4ZICGoKbLBXWg1iXjgqBbB6YjQJtZF9wXL/yn/bo7AOuXfvqNdQF2JLr01yKHd8ub1YJfoAxSFUBcFZH7Xf2GcDqrJesspIlAK0kza/V3VeVi4AqICspkwDFV8eUNHCAj40nXEa036NrV/+fMbzu0Y/ViJY7ppGrPwNSE0E1un6edpCmrsoPbc4FREyYmDr/Zu3Pqk2DqzZtIbvxjSMDIjLdlsCzAMTG11NDbAbIKmE2CbQUaiH6vTbe/eUJHWkbsY+/ZpQ6EGsINVZMF79xSYqrlaRcKZWsJFiVO2rKghtkaqCWClilHcwCVvk3euXTqoJWyV1ACa2q0q6ZLgKEtGDchHEDhuaTLtegGrUPvGKNKCJAEvxYVZ2wClLzgGreh7YkWE16aHOnm5ju6rzPan9WbRpctWlT2k1vGiljyizuvIEkUYiNK6z5IFYFsvI6SSqgAkx5Brh61sHSse/60oTu1BPsuteOYhYCVGHlwch1A8vwCczIQhDqpF1VSamuhgEzwSUgAVgj25q3yqrMHpABrWnBWFl+re5yy3n1z1uuC0DzlCuITgmXYB/6+zXMBdZKjmuWJkJmCqTmBdWisBppB9wFVu3qoU2DqzZtOeAVb/5YaavqkSK3SQg6kyBWJssskM2C2RilklyKa3R1VF7r7/hHDbB57BOv81RZ37VAlDXNcyNLiMB214t30IlQQKNVuOxo5HYisDqzkt0CyBKEVskFAHeoRRxAFaB62ju4vm5z2IdfKYAVXQKqSf1rpuKaDLGJbxmKvF2ItoeUhza8Z00DtOpzr02DqzZtBQEWOwIvPyhJg9gYcKr9VXOppR7MRoFW9R2eQa2SYVBD4+3/oAG2qF3/egdmiaPGymOmBgIe7/AzQDW6LKquyuuRSPqhNIWVkHwqqwzFiwCtOLODvqlEjDn6qHbOfJeG1KKG6eBkYKUFOl2aVmyjoBtMFqymPbhF2kL9TTdNzeozq02DqzZtXdpnzxvBKHUsFVtWQWkeiI1BbQLIZgFtFGpVYJtjWxi8Vb9cA+y87dNOPmAPZA3ojA13Gl0zjazOPu4nmAKrEbKYD7BGobUIsPofs1NeAZzaGFRjwmcxJi6sPvNKW7/qn6dd8yrfJaCaBpZJYJoGp2nbyesKo3qAS4JV9zsW5mZ94026CpY2Da7atPXEbj7PDdzKcg/ICbJJMJsGtFlQmwd0IwDbuOyLOohrIeymN404aUSpD7OGE4wv5jljYhvhjj4frDqzLUVGgvTAqzRgJSS3ysphv20XNGyXnC33s4BU+GyefZWpg2kWwK59tQi6UroEpIFoUUCNXoc0Zf1u3GFI+Nqrw8TsG27UAVjaNLhq09ZT+9z5IyVPfc3yY80C2TwwGwXaLKjtEnQRNOpv/cKkTqO1H+y2C4Z8kBUD9TnRg1yJMS3mwoTzOQBeFk5D5EGn7V9C7nIeUWS5Ow9WtMVYfBb0Kr5ne8spVmuD8fM/2NZK/X6wj79m1EtrVekGQovAKckBqWmgmgSrijcNeC1NA7Dqe482Da7atC2k3XL+0AAnbMBL+JorNVYEZIvAbBGwJd2DLnYimAuzdcltk1r50KZtCdh1rx2tusBaKgKheTvdDMU1BqkqUM1wG0hyixEq6+s/M6PvNdo0uGrTthh26wVDnu9rhTsxOplZBVTrJMFs8Dk/1OaF3YzOD/cGU9A0L7p1Uqtr2rQtsl3/+lG8odSg3WJp1nmlZyv6PRWgypCqgtCcoOp9xjc80wCs2kVJmwZXbdr2h912wVAfdzIPsABKWTKk8vSSo0lAq4LaKNj2CFxlE36wF96i3Qi0aVtou+Fc3x2gWrTt5gFXqnj5EgvYYupOOg1SM0BVXo5leOde+2mtsmrT4KpN2361z795CKF10O10YtWwoiCbB2ZVnVbS3Z7niNHmOaqb0uR2KdwIYGi++ZYpHRGuTVuPzM1M4bkDlLtptxltVwmlSR1xVjaBJKCNgmoEZjEV3wwAq36Do02DqzZtSwxgseMZIug+IMGoqqyrB7PdAG0W4CaAa08apdsJNc77rA6o0KatW3Mr9KUWDOhlu02D0iKAKkNqGFyV2zBdYG3pM65Ng6s2bUsZYN8y1Ac9DgIsIwkgmlTWNQlo0zqxopkG5tVwg04J1RP0hW286SZd4Uabtiz77HmiIh/6rYpgq/3UblM74iRAzQGp8hfx/5qDBXOv+ZR2C9CmwVWbtmVhX3jLEHZSg9xJEp5InrFMBAlAG4VakrJekvEeNEilrxuxMdACXQla5944o10JtGlz7Zbzh4QrALRdBNZqN+02re3OV21NglPV9hMgNTrZhPVmXn2DdgvQpsFVm7ZlaV+8cAjT2AyJzksRrEVSq2TlW7VYB8gyO6/i4BoyEdCFLgU6CEPbgWiff/MQlojGfKt+oBVfgu1W1RGnptRS+696hlXRpl91g84WoE2DqzZtK8L+4cKhCvH8X6V+LMm/NQtq0wA3X0fYXSPMyhUptXD8CfRta8IXWvqVobYVDatvEcqqkxWAC1hly7TdJn6MBF75fqyUWDOvvKHe1FeBNg2u2rStQPvSRf2YnxEBtuR0RIbcKSUWMEjlWL5/W25WYnN3UkAsjl91g3Yn0LYiHka9jAA1LgVZKSviLcF2q5qtcBWQgrUseT1swzN/f329rq8EbRpctWk7MAAWfV9DAVxxUDWi/VyutFkL2nDV4Erj86y077VdiG1Cx6d94bQtp3brBVhVSQKsckXNgP3ddlNcBWiBduvhNuZjnX3FJ+v6LYo2Da7atB1I9k8X91M3eCtUwCDJkpbzfMV1etBorUKdYtI6kdePmDIH1dgWzG+//BO6M9S2tOyfL+lHNx/0UUdQLXv0VgRAl2vblZZzzBKA0Pp/PlnXb0y0aXDVpu0A7xixPfS7RQwCBbZg57jfGnMO94F8+SF9v9gWoXbrZR9vmvrq0LbY9m9vrRmEM6Goui4ALNr+0vItzzcQa3+2XUW7FQorDn/3CQ2s2jS4atOmTbJ/cQGWOAqsoQDX/eoqR5M7P5oDXNXLqE1TOlSTOm4FAmb/5tqmdivQ1nP76mU1JkEqFg8pK1fkLDMPcwq4Lou2S8O7JlwC/vY6DazatGlw1aYtxf7tUleBdQE2qYNc7A4wpfPLXjcdUGPfSUh2juCKLgUCZF9yjQZZbcXt65fXmAupVTdtVej1f4qySrKANgVc91u7LdJ24SNCqlBYX6aBVZs2Da7atBWG2LfWMBckAmwl2kEuFXBNgtI8gJoCqTHXgmAbfn9qwby2C7M47vzFR9raR1ZbyL759kpZtB9HTUVgLXkeOarcyvkq3OUA2hS4XRLtNtx20S1nFob6yz7e1G1ImzYNrtq0zc++clmt6vrA1pZcY87n45q4PB1SA1BV5ZGMfBEDSDoCZB2gbb/gQ23tJ3sA2XfeWTHcV/346r/iPPC5PqoBLCryKLNUQC1W4U4BqEvXxxXbyexLr2029NWjTZsGV23aem5fvayGnTICbH9WZ7lYjbZocJYCXGOQKs+nRBHYRdWg66/rf7Zxg21Y3hFjR5k1n/sBU6tKy9z+37tLmAu54r7urwCfYtswCA8DakxVVYFpFzBLckBtFrjux3aL6ehm/+baZktfSdq0aXDVpm3B7Wtvq6Hv64A7sP0MroWCs5IANQtSU0E1DKvRdeTP+Je7SlPHVWg7CLZnX2VqdXYJ2vevLOG1XuaOL2rZVVQrJJJDlccAk4XoMBFkw+vIs7gaPFkqlBYJzloMeI0EXGHBgNm/+pjO2KFNmwZXbdr2k3398lqfG8hV3R8NVp0L0k5dh6q5NKseekxRzQGq/qyU5TAtfP3wD3boqNCaHtTCF8xnXWnrQJUFtB9dxagLp6iillBFDUCV0SgoKgKplFCaB2SzYDYNaFXgqqr2uj8DK93rWPivvuQa7b+qTZsGV23aloh944qQG0GP25hdCFxpMo8mAmoipEorUbUrQWFQlWBVLI8FiEmfXUXZpi7EEqHUctMtnoCAa53xLq7BNsXu+KA4wgikBicU4bQMxFZyQRVV1MAPVQGfwTRTQmNekA3PYypAVaqsab4APA6ivAi4qkC3B4a/iH6rcy/+qHYH0KZNg6s2bUvYvvn2CnPhFYdKjxosLdSYsxObpwJqFqTmAdXY70igSvLBamgZdXkEl9HQDztkT50sBx7Mmm65ItuFXPxnrCdfQVZUCq9fflRUfEMYxdf56F+K+YeNAFIFmHrzfaLyXp1z7wjzeCBUEsSGP3cHsgnrBDCbE2hV4KqSUHk6YfZSBcXrD9NZ1V/0kbZOF6dNmwZXbdqWl33LSQU04EKssRAtVrUozTUgDVDzAGheUM0Lq9KyVFj1oVb93ZAbg/Q9eX3v5y3qDc4/LwZpGn1wccdx3tzjLl20dJ/k9x8nA676KYboNHemEUIZDwdCSdBIQ6/jQzAZBcsiEBtflgqxGSCbCrN5gVYFnrwguPbg7OI1I9TVF36krdVVbdoWyEr6EGjTtvAGHRn6t01++x2VKeKk0kKI7SvMrengSvPQLE0IyCoCqSoILQqqkeWFYdWfJweI+dM8/JuKbcDYgHWMGIBHFF/340Nk8fLUE0bJIVzBXjjDhXABotSDTpdR3f+Pc/cYcBdEqftvcWfV2Ct3J1KOUP973OPX4BnA236wLHwOAwh2zr0MstHzz8NjlQcLl//fYFftFM5kNOtBLk1VncfJRUgV6uo5H9b5i7Vp0+CqTdsKMrdjQ1Wm8Z/vrCA09bsQm+1KQLMW27lAl6Yvp6pleSB1vqDqAWdhWI2DrkpdDUOr+62wC4MSWMPbWyTz9oErQDHGizLASpCOSyh1VuA8jOdRiPWh11NG3W3wBIiNwCdX75gaZF3I5NFrMQtmXT5PBE0euf550iNB2kNhfuzEB1HMDDD3fJ2jWJs2Da7atB0IBh0e+r7N4PBf7xK5MD1XgnJix1qQaxO+Q5OW0xy/F1VT84BqXlilJHk7WbDqr65WV0O+uFFglYGaxre36MYkBZWTAGApDdwBaDivA3fV0OB7NFBJfQUzCrHudrjkQeAvlpRYn5BDoOp8kUq/kwtkeXAN5YVZaXeSjNMYyCpWIumxexnciu1VKKt//kGzre9g2rRpcNWm7YA16AhRtUE3gqnvvrsk+8OW8oKrCrG6qaYVBdRMSJ0HqJIIXPYCVmPQKgGeClhD6m4cWGnOY99bo8QTS4kPq/Lr+rgbgXz4/NfsPKA6muRK4B8NBcRGqZETGVR5GGK99XKCbBGYVV23BaCWRI9NAXBF0hXK6nM/YGq/VW3aNLhq06YtatBBCn9YHL73nlLVBdg+AIJyIWrNCVxZgJoEqYSkvPrvElRJEVgNAC8JVp3Jou4AETcCuh/A1YNt/829DLA87EagUmETfWElyCc5IVb1Bl3lUhCG1DDIhiBVwYfJKmtwbSp8Wnnata9WXHMBruXCav3P3m829R1JmzYNrtq0actp0HGiyoPDvh+8VyixhdJryVCa1MkXAVQZQFXwmQtUE2A1XiY2H6wq4DIRVgnJdAeIAev+SL3CaACiPMSJkvJJMlVY+T/zXQlIUYglcfW0KMhy6YdkH1maArOpQMvD13aCPyvP83DnmuOzSknj7Ku0sqpNmwZXbdq0zdugQ8XOVbgT/M/7mCFBbI0kiIJ5XAWSALUIpHYDqjLEpMJqwnajsBqDcIXvanR+1B0guo6qjO4igSv1QVQGWO4ftLAbQQ4VVua+PBDrAaj3m152gpgay4Mv0AyQDUNq6OQpITQP0CaBq6zWKtbj7gMhKquN57zP7ug7jDZtGly1adO2QAYdrR/YdftVDJNb1qiTXqsv1K7z+bjSfFDLU9enKSBcCFQTYDWrMld0Oxm+q87qan/a8P+4n1RXD7Z5wIYBZBZQYX04VbgSpEGsKrArDH8JaiyPX0hU2j5NgVlZmZXdDPICbeoDmuMCgLVWRVaPs95r68IA2rRpcNWmTdtiG3TAXgAJDuTHV7OyC7DoF9tHCpV95bmgNg+kzhdUyTxhNQadGeoqSQBWuh+zCsj/okpJTVNhCSnkSqCEWHdm9PrJDbJUAZ1FYVa1q9FniQR/Vk9VRVCtP/NKW2cC0KZNg6s2bdqWmkEHja89cZj+yQdE3soaCdTYShqcJgJqAqRGwDFWMjYRVPPDqjKqvyCsOrNzqquqdRZbcmUSoEaPag4VNtWV4P+zd3atUcRQGD6Z7Xb9C94o9EYoCFIQRPqDRFFExeLXpYoiIghe+INEEEQQBG+88Mp7v7bd7cacTJJJMme+at2l9X1gOpNsOrtLl+kzZ09OKJPYhnSCWnWCMEkrqxrQJbK5zFIPmZWEuafU8ueeJ1T9Mj3T7QeLBa4IAEBcAQBHhO37i7DgAbffPFTsRF5keT/pm/MqRlIFSRVFVYjcDomq5kJ6EFltOofQX58ItppyWGHClBYkNI/CErWnEoTHBYnNHqs8MqpO4CU2ls5eIpvIt09QqJ6nS2bDeBKllqOoU/NcLKu/L97T+PofAIgrAOC4YP6xJ2kFbx8FkfUyO+kS1CZJlURVit4OEdVs/KHLqh/XOBlsdfmtPsypUhmUV5hqSyWIxtYk1juhlBPbfDvTLbLS2ERmxb90rYqAJLSz6EZseuEuRBUAiCsA4L/B/ONPRPbdY6t2EwrRWH3CXydaymY1RlOHiGqTrHYtI9skq5GUqpbzi2W2SAlCu0QKla1iRdICAqnIUpZKEES3RWKlnNhMRA8sslEdrlr5K0lmBaHlzybnqE6V25+/o/HVPwAQVwAAKDFiwO4wdZvl/RN7nbAia4zDpxcU1E9SB4tqk4BGB6pJQiVZzQW1S1ajMbWJXMtCORnXbgGBJEzq35scYT2IxNZyYhWlKQViWoKu34yQJKa6LqVaiRWtdr2g8ra1o1GiCgAAcQUADGNrh3g52h9us3x4ypO8bGSWUwt4zwsijKiezUhSe6CotsqqlAYgyWpkc0kqQCS7iTTmY5ZJUQmkclFVHUdYpSisIKd9JTacK5ZOKaUgazdFY8Ovx3IbvaSF6efc1F1dyereudvdJa4AAADiCgAYjJEMFg/evvu+j8/s9WRCldCyzK5Lq279jahK4jtIVr2dpr9Tj66uKL81kfys7JUYhRUkNouadkpsm6D2FlkXkc1kduY+J34FuN2ztwiRVAAAxBUAsFqMkHBklrefvu/Tcys3Y0VOYiuZnVBtGs9wWW0d2yGrvkuKruZdK6jl6qsZ6EhIkyisE8TmVIIBEhvOJY9V8XMIIsvtPU3hZiYcb95EFBUAAHEFABwRNm+UUuO2hM8vaOxkduxkdmwlt2wXbVHVXFYbqxn0kdVsXOypq1o1q1AhN7TywyzVoimVICBIrO/OJTYusRXJaJ4WMHNCOjPjZ+aEHDnlr/rnZ65DUAEAEFcAwDHGyI5fKKHGl5c2X9aL7DqVUVtur5k2X7dGhy2r/kdLBHZpeGGOIqBppSghlSBIqSSx7rRSTqzb82z9uS7/HnN3ozFTZXu2cc32AQAAxBUAAHI2rtp15e3a8tLjX19ZX1uzcluK7JpvR2LLkjsioVCoapPVSmpXVlWgUMmKqDWJ1dWLT2pJZRLLgdR909g3B3PT61M55lQJqt1OXyGUmQIAQFwBAOBfcOpy+dU1UfdEn2+vbemukRPbkTsu9yocc9y2cMeFKo8Ldzxa9vtzMs3LnvEM/IXpWFiRN8e+n0ohXTg5ZTH1ss/j9k9eIhTnBwAcO/4IMAB2puVxCz3wqgAAAABJRU5ErkJggg=="}},"time_used":119,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":79,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30200.71da076fb0197e4d5953.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.815Z","timestamp":1785124875815,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30200.71da076fb0197e4d5953.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 86\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b73-56\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4db4752de6b8d7a4c18d1610e5d55c92\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86,"size_decoded":870,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b02278d29b4e6fb9286fa4e3d93d2ce5","sha1":"0e3940c360032f59c0eb14248728f6b6d0c99cae","sha256":"6373ee883ff860f1955a9c73438e96ed35056eacf0fadb1c6ae58a57e31a5e34","sha512":"cf3ba4d72f48389a359a141bea634d0369e9ba9b4e796f108b6c71cd23e57123b60f7b390b1edba4debfc2e84ebd9bc8cefa9ab0ef5f5d70274f73ef0be4ac8c","ssdeep":"","tlshash":"ada012d2b4410450000501481120733bcab721c426940d0804c0bf2203464a19c78150","first_seen":"2026-01-13T13:30:16.848169Z","last_seen":"2026-07-27T06:14:34.258315Z","times_seen":1820,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32427.6d166f87b73672e561da.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.886Z","timestamp":1785124876886,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32427.6d166f87b73672e561da.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-6854\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c7c73ac207656f1ee2e7ddd3233dea59\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26708,"size_decoded":6118,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (26708), with no line terminators","md5":"32fcdfd8c316846fd66f3170427e7c77","sha1":"6cd395666698972688086231acc7c92869c526c2","sha256":"611cc3a9b9a962bd86a58946c40f4db83ee7464d2fd0f96e5bdc128adc47279e","sha512":"c87b402782fb530431f851e0cdf6eea7fe311cf40f98235daa0427b63b098ffd61cf0bfac44287a5cacf81a5e799f4807074eb6a6d868fd6f35e7dd1313f3154","ssdeep":"384:NuoYQ+hStFKAD8LjW2KegDJbJiSFCJvkJrTKbA:YSPqW2KeuTKk","tlshash":"81c2e68af340717eba0b963c8746e1ec2748ec66d9024efef971e19045c27e652b6d1c","first_seen":"2026-06-30T21:57:43.46701Z","last_seen":"2026-07-27T06:24:31.795975Z","times_seen":173,"resource_available":false,"data":"LndyYXAtVWZER3loNUt7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6MTAwJX0uYnV0dG9uLUk4ckFuWFRSLndpdGhUZXh0LUk4ckFuWFRSe3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5idXR0b24tSThyQW5YVFIud2l0aG91dFRleHQtSThyQW5YVFIsLmJ1dHRvbi1oRHRJb3hqVXtwYWRkaW5nOjAgNXB4fS5ncm91cC1oRHRJb3hqVXtkaXNwbGF5OmNvbnRlbnRzfS5tZW51LWhEdElveGpVOm9ubHktY2hpbGR7cGFkZGluZzowIDVweH0uYmV0YUJhZGdlLWhEdElveGpVLC5uZXdCYWRnZS1oRHRJb3hqVXstLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLXdoaXRlKTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0uYmV0YUJhZGdlLWhEdElveGpVOmZpcnN0LWNoaWxkLC5uZXdCYWRnZS1oRHRJb3hqVTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjZweH0uYmV0YUJhZGdlLWhEdElveGpVey0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LmxhYmVsLWhEdElveGpVe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30uY29udGFpbmVyLWhEdElveGpVLm5ld1ZpZXctaER0SW94alV7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmNvbnRhaW5lci1oRHRJb3hqVS5uZXdWaWV3LWhEdElveGpVLmRlc2t0b3AtaER0SW94alV7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5mdWxsLXVfUkFwbmlOLmxhc3QtdV9SQXBuaU4sLm1lZGl1bS11X1JBcG5pTi5sYXN0LXVfUkFwbmlOe21hcmdpbi1pbmxpbmUtZW5kOjdweH0uZHJvcGRvd24tTWJ3Qk1XRHl7bWluLXdpZHRoOjIwMHB4fS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5e3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5LnNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5ey0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubWVudS1NYndCTVdEeXttYXgtd2lkdGg6MzE0cHh9LmxhYmVsLU1id0JNV0R5e292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc21hbGxXaWR0aFRpdGxlLU1id0JNV0R5e21hcmdpbi1ib3R0b206OHB4O21hcmdpbi10b3A6MnB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9LnNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeXtwYWRkaW5nOjZweCAxNnB4fS5zbWFsbFdpZHRoV3JhcHBlci1NYndCTVdEeTpub3QoLm5ld1ZpZXctTWJ3Qk1XRHkpe3BhZGRpbmctdG9wOjhweH0uc3RhdGVUaXRsZS1ya3ZrRll6Mntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSkpO2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEwcHh9LnN0YXRlVGl0bGUtcmt2a0ZZejIuaGlkZGVuLXJrdmtGWXoye2hlaWdodDowO292ZXJmbG93OmhpZGRlbn0ubG9hZGVyLXJrdmtGWXoyey0tdWktbGliLWxvYWRlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXNhdmUtbGF5b3V0LWxvYWRlcix2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpKX0udmFsdWUtZHIzdkdpblR7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpzdGFydH0udmFsdWUtZHIzdkdpblQuc2VsZWN0ZWQtZHIzdkdpblR7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUpfS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSjpmaXJzdC1jaGlsZHttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS5sYXlvdXRJdGVtLUVYR18waGFKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzo0cHggMH0ubGF5b3V0SXRlbS1FWEdfMGhhSiAubGF5b3V0TWV0YS1FWEdfMGhhSntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi10b3A6MnB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnRvb2xib3gtRVhHXzBoYUp7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O3BhZGRpbmctdG9wOjNweH0udG9vbGJveFNtYWxsLUVYR18waGFKe2FsaWduLXNlbGY6ZmxleC1zdGFydDtwYWRkaW5nLXRvcDo5cHh9LmxheW91dFRpdGxlLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ubGF5b3V0SXRlbVdyYXAtRVhHXzBoYUp7cGFkZGluZy1ibG9jazoycHggMnB4O3BhZGRpbmctaW5saW5lOjhweCAxMHB4fS5sYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKe3BhZGRpbmctaW5saW5lLWVuZDoyMHB4fS5sYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZWxsaXBzaXMtRVhHXzBoYUp7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak17cGFkZGluZzo2cHggMTZweH0ubWVudUl0ZW0tcldCY2Qxak06aGFzKDpmb2N1cy12aXNpYmxlKSAucmVtb3ZlLXJXQmNkMWpNe3Zpc2liaWxpdHk6dmlzaWJsZX0ubWVudUl0ZW0tcldCY2Qxak0uc2lnbmFsLXJXQmNkMWpNe2FuaW1hdGlvbi1kdXJhdGlvbjouOHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLW5hbWU6aGlnaGxpZ2h0LWFuaW1hdGlvbi1yV0JjZDFqTTstLW1peGluLWlubmVyLWJhc2UtY29sb3I6IzAwMDA7LS1taXhpbi1pbm5lci1oaWdobGlnaHQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeSl9QGtleWZyYW1lcyBoaWdobGlnaHQtYW5pbWF0aW9uLXJXQmNkMWpNezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItYmFzZS1jb2xvcil9MzAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItaGlnaGxpZ2h0LWNvbG9yKX02MCV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1taXhpbi1pbm5lci1iYXNlLWNvbG9yKX10b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW1peGluLWlubmVyLWhpZ2hsaWdodC1jb2xvcil9fS5zaGFyaW5nTGFiZWxXcmFwLV9VQ2xRVHQ2e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS50aXRsZVNoYXJpbmdMYWJlbC1fVUNsUVR0NntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25XcmFwLV9VQ2xRVHQ2e21hcmdpbi1pbmxpbmUtc3RhcnQ6N3B4fS5pbmZvSWNvbi1fVUNsUVR0Nntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7ZGlzcGxheTpmbGV4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5mb0ljb24tX1VDbFFUdDY6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KX19LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0Njpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fS5oaW50LV9VQ2xRVHQ2e2Rpc3BsYXk6ZmxleH0uYWNjZXNzaWJsZS1tRUdaQmZ1THtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0udGl0bGUtdHNUb2JzeXB7Y3Vyc29yOmRlZmF1bHR9LnNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2LC50aXRsZS10c1RvYnN5cHtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZzoxMHB4IDIwcHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc21hbGxUYWJsZXRTZWN0aW9uVGl0bGUtb3VKSnNWVTZ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb3B5TGluay1lM0JabVpYSHtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOHB4O21hcmdpbjowIDEycHggNnB4fS5jb3B5TGluay1lM0JabVpYSCwuY29weUxpbmstZTNCWm1aWEg6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb3B5TGluay1lM0JabVpYSDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcil9fS5jb3B5TGluay1lM0JabVpYSDphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2ZpbGw6dmFyKC0tY29sb3ItYnJhbmQpfS5jb3B5TGluay1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5jb3B5TGluay1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvcHlMaW5rLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS5jb3B5TGluay1lM0JabVpYSC5jb3B5TGlua01vYmlsZS1lM0JabVpYSHttYXJnaW46MCAyMHB4fS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEh7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0uc2VjdGlvbi1DcVBRQmc0WnttYXJnaW46LTJweCAwfS5zZWN0aW9uLUNxUFFCZzRaOmZpcnN0LWNoaWxke21hcmdpbi10b3A6NHB4fS5zZWN0aW9uLUNxUFFCZzRaW2RhdGEtb3Blbj10cnVlXXttYXJnaW4tYm90dG9tOjRweH0uYWRkQ3VzdG9tSW50ZXJ2YWwtQ3FQUUJnNFp7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH0uYWRkQ3VzdG9tSW50ZXJ2YWxEZXNrdG9wLUNxUFFCZzRae3BhZGRpbmctYm90dG9tOjNweDtwYWRkaW5nLXRvcDozcHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVXVQdjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1VdVB2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtVXVQdjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLVV1UHY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9Lm1lbnVCdG5XcmFwLXphcExoMHJSe2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG99Lm1lbnUtemFwTGgwclJ7bWF4LXdpZHRoOjM0MHB4fS5uZXdNZW51V3JhcHBlci16YXBMaDByUntwYWRkaW5nOjAgNnB4Oy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubmV3TWVudVdyYXBwZXItemFwTGgwclIuZGVza3RvcC16YXBMaDByUnstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm9wZW5lZC16YXBMaDByUi5ob3Zlci16YXBMaDByUjpiZWZvcmUsLm9wZW5lZC16YXBMaDByUjphY3RpdmU6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLWJvcmRlci1yYWRpdXMsMCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7ei1pbmRleDotMX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm9wZW5lZC16YXBMaDByUjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0ub3BlbmVkLXphcExoMHJSLmNsaWNrZWQtemFwTGgwclI6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKSk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrfS5hdXRvU2F2ZVdyYXBwZXItemFwTGgwclIsLnNoYXJpbmdXcmFwcGVyLXphcExoMHJSe21pbi13aWR0aDpjYWxjKDEwMCUgLSAyMnB4KTt3aWR0aDoxOTJweH0uYnV0dG9uLXphcExoMHJSLmJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUntwYWRkaW5nLWlubGluZS1lbmQ6NnB4fS5idXR0b24temFwTGgwclJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjY1cHh9LmhpbnRQbGFjZUhvbGRlci16YXBMaDByUntoZWlnaHQ6MTI4cHh9LnNtYWxsSGludFBsYWNlSG9sZGVyLXphcExoMHJSe2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LnBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSOmZpcnN0LWNoaWxke21hcmdpbi1ib3R0b206NnB4O21hcmdpbi10b3A6NnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNob3J0Y3V0LXphcExoMHJSe2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWlubGluZS1lbmQ6MDt0ZXh0LWFsaWduOmVuZH0udG9vbFRpdGxlLXphcExoMHJSe3BhZGRpbmc6NHB4IDEycHh9LnRvb2xUaXRsZU1vYmlsZS16YXBMaDByUntwYWRkaW5nOjhweCAyMHB4fS50ZXh0V3JhcC16YXBMaDByUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udGV4dC16YXBMaDByUnttYXgtd2lkdGg6MTAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndpdGhJY29uLXphcExoMHJSe3BhZGRpbmctYm90dG9tOjJweDtwYWRkaW5nLXRvcDoycHh9LnN3aXRjaGVyTGFiZWwtemFwTGgwclJ7b3ZlcmZsb3c6dmlzaWJsZX0uZWxsaXBzaXMtemFwTGgwclJ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5idXR0b24tVTliMFRBczR7cGFkZGluZzowIDZweH0ubWVudUJ0bi1VOWIwVEFzNDpvbmx5LWNoaWxke3BhZGRpbmc6MCAxMHB4fS5kcm9wZG93bi1VOWIwVEFzNHttaW4td2lkdGg6MTQwcHh9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczR7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczQuZGVza3RvcC1VOWIwVEFzNHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVDb250ZW50LVU5YjBUQXM0e2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmdyb3VwLVU5YjBUQXM0e2Rpc3BsYXk6Y29udGVudHN9LmJ1dHRvbi13X2dES243Ty5pc0Rpc2FibGVkLXdfZ0RLbjdPe29wYWNpdHk6MSFpbXBvcnRhbnR9LmJ1dHRvbi13b0szVnhtbXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM3cHh9Lm5ld1ZpZXctcDVBbkcwR097cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9Lm5ld1ZpZXctcDVBbkcwR08uZGVza3RvcC1wNUFuRzBHT3stLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9LmNvbnRhaW5lci1KUVowSEtENHtoZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDR7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cGFkZGluZy1pbmxpbmUtZW5kOjMwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1KUVowSEtENDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYnV0dG9uLUpRWjBIS0Q0OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1KUVowSEtENDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjNGE0YTRhMDAgMCx2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSAxMDAlKX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzRhNGE0YTAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkgMTAwJSl9fS5idXR0b24tSlFaMEhLRDQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uYnV0dG9uLUpRWjBIS0Q0OmFjdGl2ZSAudmFsdWUtSlFaMEhLRDQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmJ1dHRvbi1KUVowSEtENDphY3RpdmUgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKX0udmFsdWUtSlFaMEhLRDR7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS52YWx1ZS1KUVowSEtENDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS52YWx1ZS1KUVowSEtENDpiZWZvcmU6ZGlyKHJ0bCl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmFjdGlvbi1KUVowSEtENHthbGw6dW5zZXQ7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjI0cHg7aW5zZXQtaW5saW5lLWVuZDowO291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjI0cHh9LmFjdGlvbi1KUVowSEtENDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjdGlvbi1KUVowSEtENDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWN0aW9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY3Rpb24tSlFaMEhLRDQ6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY3Rpb24tSlFaMEhLRDQ6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czpjYWxjKDUwJSArIDRweCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hY3Rpb24tSlFaMEhLRDQ6aG92ZXIgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX19LmFjdGlvbi1KUVowSEtENDphY3RpdmUgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSl9Lmljb24tSlFaMEhLRDR7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyNHB4O3dpZHRoOjI0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLUpRWjBIS0Q0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9fS5pY29uLUpRWjBIS0Q0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlKX0uYnV0dG9uLW80MHQ5TDVue3BhZGRpbmc6NXB4IDEwcHg7d2lkdGg6MTAwcHh9LmJ1dHRvbi1vNDB0OUw1bi5zbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVue3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udGV4dC1vNDB0OUw1bntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3ZlcmZsb3c6aGlkZGVufS5zZWFyY2hCdXR0b24tbzQwdDlMNW4sLnRleHQtbzQwdDlMNW57bWFyZ2luOjAgNHB4O3dpZHRoOjEyOHB4fS5tZW51T3BlbmVkLW80MHQ5TDVuey0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX0udXBwZXJjYXNlLW80MHQ5TDVue3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uZGVzY3JpcHRpb24taFZTM0k5cnN7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MjgwcHg7bWluLXdpZHRoOjE3MHB4O3BhZGRpbmctYm90dG9tOjRweDt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaVpHNDojMDAwMH0ubGFiZWxSb3ctX3VYalNTUTV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6Y2FsYygxMDAlIC0gNjBweCl9LnRvb2xib3gtX3VYalNTUTV7bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS5kZXNjcmlwdGlvbi1fdVhqU1NRNXtwYWRkaW5nOjB9LmRlc2NyaXB0aW9uVGFibGV0U21hbGwtX3VYalNTUTV7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy1pbmxpbmUtZW5kOjU2cHh9Lml0ZW0tX3VYalNTUTV7bWFyZ2luLXRvcDotM3B4O3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDowfS5pdGVtLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW0tX3VYalNTUTUsLml0ZW0tX3VYalNTUTU6YWN0aXZlLC50aXRsZUl0ZW0tX3VYalNTUTUsLnRpdGxlSXRlbS1fdVhqU1NRNTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1pWkc0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tX3VYalNTUTU6aG92ZXIsLnRpdGxlSXRlbS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtLV91WGpTU1E1e3Bvc2l0aW9uOnN0YXRpY30udGl0bGVJdGVtLV91WGpTU1E1OmZvY3VzLXdpdGhpbiAucmVtb3ZlLV91WGpTU1E1e3Zpc2liaWxpdHk6dmlzaWJsZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlSXRlbS1fdVhqU1NRNSAucmVtb3ZlLV91WGpTU1E1LmFjdGl2ZS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpiZWZvcmUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNSwuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZSwudGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmhvdmVyLC50aXRsZUl0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTV7bGluZS1oZWlnaHQ6MjRweDtwYWRkaW5nLWJsb2NrOjRweCAwO3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1e2xpbmUtaGVpZ2h0OjE3cHg7cGFkZGluZy1ibG9jazoxcHggOHB4O3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTV7Zm9udC1zaXplOjE2cHh9LndyYXAtX3VYalNTUTV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwLV91WGpTU1E1LmhvdmVyZWQtX3VYalNTUTUsLndyYXAtX3VYalNTUTU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXAtX3VYalNTUTU6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0ud3JhcC1fdVhqU1NRNS5ob3ZlcmVkLV91WGpTU1E1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LndyYXAtX3VYalNTUTU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS53cmFwLXJCdEVmWlFJe3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0udGl0bGVXcmFwLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmluZGljYXRvcnMtckJ0RWZaUUl7bWFyZ2luLWlubGluZS1lbmQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjMzcHh9LnRpdGxlLXJCdEVmWlFJe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzt3aGl0ZS1zcGFjZTpub3dyYXB9LnRpdGxlLXJCdEVmWlFJIC5pY29uLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmV9LnRpdGxlLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo1cHggMjBweH0udGl0bGVUYWJsZXRTbWFsbC1yQnRFZlpRSXtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS50aXRsZVRhYmxldFNtYWxsLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNnB4fS5sYWJlbFJvdy1yQnRFZlpRSXtmbGV4OjEgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5sYWJlbC1yQnRFZlpRSXtmbGV4OjAgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5tZW51LXNXUDJYV0Ewe21heC13aWR0aDozNDBweH0ubWVudS1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDowOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZToxfS5tZW51LXNXUDJYV0EwLm5ld1ZpZXctc1dQMlhXQTAuZGVza3RvcC1zV1AyWFdBMHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVTbWFsbFRhYmxldC1zV1AyWFdBMHttYXgtd2lkdGg6MTAwJX0ubWVudUl0ZW1IZWFkZXJUYWJsZXRTbWFsbC1zV1AyWFdBMHtwYWRkaW5nOjEwcHggMjBweCAycHh9Lm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGwtc1dQMlhXQTAubmV3Vmlldy1zV1AyWFdBMHtwYWRkaW5nLWlubGluZToxNnB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMHtjdXJzb3I6ZGVmYXVsdDttYXJnaW46MDtwYWRkaW5nLWJvdHRvbTozcHg7cGFkZGluZy10b3A6NHB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmctaW5saW5lOjhweH0ud3JhcC1ISjdTM1A0OS5mdWxsLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkuZnVsbC1ISjdTM1A0OSAubGFzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLWVuZDo3cHh9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5sYXN0LUhKN1MzUDQ5e21hcmdpbi1pbmxpbmUtZW5kOjdweH0uYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OXtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5pY29uLW9ORGlRQ21Oe3BhZGRpbmc6NXB4fS5yb3ctWDZTMDNPVmp7cGFkZGluZzowIDEycHh9LnJvdy1YNlMwM09WajpsYXN0LWNoaWxke3BhZGRpbmc6MH0ucm93LVg2UzAzT1ZqOmxhc3QtY2hpbGQgLnJvd0lubmVyLVg2UzAzT1Zqe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNtYWxsUm93LVg2UzAzT1Zqe3BhZGRpbmc6MCAyMHB4fS5zbWFsbFJvdy1YNlMwM09WajpsYXN0LWNoaWxkIC5yb3dJbm5lci1YNlMwM09WantwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS5yb3dJbm5lci1YNlMwM09WanthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjFweH0ucm93TGFiZWwtWDZTMDNPVmp7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEzcHg7d2lkdGg6MThweH0uc21hbGxSb3dMYWJlbC1YNlMwM09Wantmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjE0cHh9LnJvd0J1dHRvbnMtWDZTMDNPVmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ubGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WanthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjEwcHg7bWluLXdpZHRoOjIwcHg7cG9zaXRpb246cmVsYXRpdmV9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7Ym9yZGVyLXJhZGl1czo0cHg7Y29udGVudDoiIjtoZWlnaHQ6MjdweDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjI5cHh9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09Wajpmb2N1cy12aXNpYmxlLmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7b3V0bGluZS1zdHlsZTpzb2xpZH0uc21hbGxXaWR0aC1YNlMwM09WanttYXJnaW4taW5saW5lLWVuZDo3cHh9LnNtYWxsV2lkdGgtWDZTMDNPVmo6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5sYXlvdXRCdXR0b24tWDZTMDNPVmp7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3BhZGRpbmc6NHB4fS5sYXlvdXRCdXR0b24tWDZTMDNPVmogc3Zne2Rpc3BsYXk6YmxvY2t9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5ob3ZlcmVkLVg2UzAzT1ZqLC5sYXlvdXRCdXR0b24tWDZTMDNPVmo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5sYXlvdXRCdXR0b24tWDZTMDNPVmouaG92ZXJlZC1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LmxheW91dEJ1dHRvbi1YNlMwM09WajphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5pc0FjdGl2ZS1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9LnNtYWxsV2lkdGhMYXlvdXRCdXR0b24tWDZTMDNPVmp7cGFkZGluZzo3LjVweCA2LjVweH0ubGF5b3V0QnV0dG9ucy1YNlMwM09WanttYXJnaW4tYm90dG9tOjEwcHh9LmxheW91dEJ1dHRvbnMtWDZTMDNPVmosLnRvZ2dsZXItcDVHaTJoSTF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udG9nZ2xlci1wNUdpMmhJMXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7cGFkZGluZzoxNHB4IDE0cHggMTJweH0udG9nZ2xlci1wNUdpMmhJMS5ob3ZlcmVkLXA1R2kyaEkxLC50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50b2dnbGVyLXA1R2kyaEkxOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTF7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWlubGluZS1lbmQ6MTRweH0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTEuY2VudGVyZWQtcDVHaTJoSTF7bWFyZ2luLWlubGluZS1zdGFydDo0MXB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSkpfS50b2dnbGVyLXA1R2kyaEkxLmNoZWNrZWQtcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMSwudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMSBzdmd7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50b2dnbGVyLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbik7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWh0bWwudGhlbWUtZGFyayAudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnN3aXRjaGVyTGFiZWwtcDVHaTJoSTF7b3ZlcmZsb3c6dmlzaWJsZX0uYnV0dG9uLVBWTHhLaElJe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM4cHh9LmRyb3Bkb3duLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApO2N1cnNvcjpkZWZhdWx0O21hcmdpbi1ib3R0b206LTZweDttYXJnaW4tdG9wOjdweH0ubGF5b3V0VHlwZS1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjNweDtwYWRkaW5nOjEwcHggMTJweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRpdGxlLVBWTHhLaElJe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOjEuNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnN5bmNDaGFydHMtUFZMeEtoSUl7bWFyZ2luLXRvcDo4cHg7cGFkZGluZzoxMHB4IDEycHh9LnN5bmNDaGFydHMtUFZMeEtoSUkubW9iaWxlLVBWTHhLaElJe3BhZGRpbmc6MTBweCAyMHB4fS50YWJsZXRXcmFwcGVyLVBWTHhLaElJe3BhZGRpbmctYmxvY2s6MCAxNnB4O3BhZGRpbmctaW5saW5lOjAgMH0uaWNvbi1QVkx4S2hJSXtkaXNwbGF5OmJsb2NrfS5pY29uLVBWTHhLaElJIHN2Z3tkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN5bmNMaXN0V3JhcHBlci1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjEwcHh9LnN3aXRjaGVyLVBWTHhLaElJe2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2hlaWdodDozMnB4O3BhZGRpbmc6NXB4IDEycHh9LnN3aXRjaGVyLVBWTHhLaElJLm1vYmlsZS1QVkx4S2hJSXtoZWlnaHQ6NDBweDtwYWRkaW5nOjEwcHggMjBweH0uc3dpdGNoTGFiZWxXcmFwLVBWTHhLaElJe2Rpc3BsYXk6ZmxleH0uc3dpdGNoTGFiZWwtUFZMeEtoSUl7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0uaWNvbldyYXAtUFZMeEtoSUl7bWFyZ2luLWlubGluZS1zdGFydDo3cHh9LmluZm9JY29uLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmZsZXh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbmZvSWNvbi1QVkx4S2hJSTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo2cHh9LmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24tRTJ2N1didW4ud2l0aG91dEljb24tRTJ2N1didW57cGFkZGluZzowIDVweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.944Z","timestamp":1785124876944,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-1fd7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7edbf38d3affdf7ece3116dbafa1dda5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8151,"size_decoded":3735,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3064)","md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-27T06:24:31.596608Z","times_seen":49,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjY5ODhdLHs4NzcyMTcoZSx0LG8pe28uZCh0LHtBYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlldzooKT0+cH0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oMTk4OTAxKSxyPW8oOTgzMzc4KSxuPW8oOTk1MjQwKSxhPW8oMTY4MjU4KSxzPW8oNTIxOTgzKTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDplfSwoKGUsbyk9Pih7dGltZVBvaW50SW5kZXg6byt0fSkpKX1mdW5jdGlvbiBjKGUsdCxvKXtsZXQgaSxsO2NvbnN0IHI9ZS5sZW5ndGg7Zm9yKGxldCBuPXQ7bj49MCYmbjxyO24rPW8pe2NvbnN0IHQ9ZVtuXTtpZih2b2lkIDA9PT1pJiZ2b2lkIDAhPT10LnBsb3QxVmFsdWUmJihpPW4pLHZvaWQgMD09PWwmJnZvaWQgMCE9PXQucGxvdDJWYWx1ZSYmKGw9biksdm9pZCAwIT09aSYmdm9pZCAwIT09bClyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS50eXBlP2Ake2UuY29sb3J9YDpgJHtlLmNvbG9yMX06JHtlLmNvbG9yMn06JHtlLmNvb3JkaW5hdGUxfToke2UuY29vcmRpbmF0ZTJ9YH1jb25zdCBoPXt0eXBlOjAsY29sb3I6IiJ9O2Z1bmN0aW9uIF8oZSl7cmV0dXJuW2EuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lLGEuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrcyxhLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc10uaW5jbHVkZXMoZSl9Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQsbyl7dGhpcy5faXNIbGluZUZpbGw9ITEsdGhpcy5fYmFuZEFLZXk9bnVsbCx0aGlzLl9iYW5kQktleT1udWxsLHRoaXMuX2NvbG9yUGxvdEluZGV4PW51bGwsdGhpcy5fYXJlYVJlbmRlcmVyPW5ldyBuLkFyZWFCYWNrZ3JvdW5kUmVuZGVyZXIsdGhpcy5fZGF0YUludmFsaWRhdGVkPW51bGwsdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSx0aGlzLl9wbEluZGV4MT1udWxsLHRoaXMuX3BsSW5kZXgyPW51bGwsdGhpcy5faXRlbXM9W10sdGhpcy5fY29sb3JBcmVhcz1uZXcgbi5DYWNoZWRNYXAsdGhpcy5fZ2VuZXJhdGVDb2xvcj0oMCxyLmdlbmVyYXRlQ29sb3JDYWNoZWQpKCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZpbGxHYXBzPSEhbz8uZmlsbGdhcHMsdGhpcy5fZmlsbFRvSW50ZXJzZWN0aW9uPSEhbz8uZmlsbFRvSW50ZXJzZWN0aW9ufXVwZGF0ZShlKXtpZigiZ2xvYmFsLWNoYW5nZSI9PT1lLnR5cGUpcmV0dXJuIHRoaXMuX2RhdGFJbnZhbGlkYXRlZD0oMCxzLm1lcmdlRGF0YUludmFsaWRhdGlvbikodGhpcy5fZGF0YUludmFsaWRhdGVkLHt9KSx2b2lkKHRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITApO2lmKCJkYXRhLXNvdXJjZS1jaGFuZ2UiIT09ZS50eXBlKXRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITA7ZWxzZXtlLnNvdXJjZUlkPT09dGhpcy5fc291cmNlLmlkKCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9KDAscy5tZXJnZURhdGFJbnZhbGlkYXRpb24pKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCx7Zmlyc3RJbmRleDplLmZpcnN0VXBkYXRlZFRpbWVQb2ludEluZGV4LGNsZWFyRGF0YTplLmNsZWFyRGF0YX0pKX19cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkP3RoaXMuX3VwZGF0ZUltcGxGdWxsKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSksdGhpcy5fYXJlYVJlbmRlcmVyfV9taW5GaXJzdEJhckluZGV4KCl7cmV0dXJuLTEvMH1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCl9X2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpe2lmKCF0aGlzLl9wbG90R2VvbWV0cnlDYWNoZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcyx0PV8oZVt0aGlzLl9wbG90QUlkKCldLnBsb3R0eXBlLnZhbHVlKCkpLG89XyhlW3RoaXMuX3Bsb3RCSWQoKV0ucGxvdHR5cGUudmFsdWUoKSk7dGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9e3Bsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeTp0LHBsb3QySGFzU3RlcGxpbmVHZW9tZXRyeTpvfX1yZXR1cm4gbmV3IG4uQXJlYUJhY2tncm91bmRJdGVtKHRoaXMuX3Bsb3RHZW9tZXRyeUNhY2hlLnBsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeSx0aGlzLl9wbG90R2VvbWV0cnlDYWNoZS5wbG90Mkhhc1N0ZXBsaW5lR2VvbWV0cnkpfV9wbG90TmFtZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMubWFwKChlPT5lLmlkKSl9X3Bsb3RJbmRleDEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3BsSW5kZXgxJiYodGhpcy5fcGxJbmRleDE9dGhpcy5fcGxvdE5hbWVzKCkuaW5kZXhPZih0aGlzLl9wbG90QUlkKCkpKzEpLHRoaXMuX3BsSW5kZXgxfV9wbG90SW5kZXgyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9wbEluZGV4MiYmKHRoaXMuX3BsSW5kZXgyPXRoaXMuX3Bsb3ROYW1lcygpLmluZGV4T2YodGhpcy5fcGxvdEJJZCgpKSsxKSx0aGlzLl9wbEluZGV4Mn1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEobnVsbCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmNsZWFyRGF0YSYmKHRoaXMuX2l0ZW1zPVtdKSwhdGhpcy5fdmlzaWJsZSgpKXJldHVybiExO2lmKG51bGw9PT10aGlzLl9wcmljZVNjYWxlKCkpcmV0dXJuITE7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWUoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX3NvdXJjZS5wbG90cygpLnBsb3R0YWJsZVJhbmdlKCksbz10LnNpemUoKTtpZigwPT09bylyZXR1cm4hMQo7Y29uc3Qgcj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RBSWQoKSksbj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RCSWQoKSksYT1NYXRoLm1pbihyLG4pLHM9TWF0aC5tYXgocixuKTtsZXQgYz1lLmZpcnN0SW5kZXg7Y29uc3QgdT1vKyhzLWEpKzEsaD10aGlzLl9wbG90SW5kZXgxKCksXz10aGlzLl9wbG90SW5kZXgyKCk7dSE9PXRoaXMuX2l0ZW1zLmxlbmd0aCYmKHZvaWQgMD09PWN8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGM8dGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgrYT8oYz12b2lkIDAsdGhpcy5faXRlbXM9ZCh1LDFlMTApKTp0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZCh1LXRoaXMuX2l0ZW1zLmxlbmd0aCwxZTEwK3RoaXMuX2l0ZW1zLmxlbmd0aCkpKTtjb25zdCBwPXRoaXMuX2NvbG9yUGxvdEluZGV4LHY9dGhpcy5fdHJhbnNwYXJlbmN5KCksbT12b2lkIDA9PT1jP3QuZnVsbFJhbmdlSXRlcmF0b3IoKTp0LnJhbmdlSXRlcmF0b3IoYywoMCxpLmVuc3VyZU5vdE51bGwpKHQubGFzdEluZGV4KCkpKTtsZXQgST12b2lkIDAhPT1jPygwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYythLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSktYTotYTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PWUuaW5kZXgrcixvPWUuaW5kZXgrbixpPXRoaXMuX2l0ZW1zW0krcl0sbD10aGlzLl9pdGVtc1tJK25dO2lmKGkudGltZVBvaW50SW5kZXg9dCxsLnRpbWVQb2ludEluZGV4PW8sdGhpcy5faXNIbGluZUZpbGx8fChpLnBsb3QxVmFsdWU9ZS52YWx1ZVtoXT8/dm9pZCAwLGwucGxvdDJWYWx1ZT1lLnZhbHVlW19dPz92b2lkIDApLG51bGwhPT1wKXtjb25zdCB0PUkrYS0xO2lmKHQ+PTAmJnQ8dGhpcy5faXRlbXMubGVuZ3RoKXtjb25zdCBvPXRoaXMuX2l0ZW1zW3RdO2xldCBpO2k9MD09PXAudHlwZT97dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmErMV19Ont0eXBlOjEsY29sb3JJbmRleE9yUmdiYTE6dm9pZCAwPT09cC5jb2xvckluZGV4T3JSZ2JhMT92b2lkIDA6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmExKzFdLGNvbG9ySW5kZXhPclJnYmEyOnZvaWQgMD09PXAuY29sb3JJbmRleE9yUmdiYTI/dm9pZCAwOmUudmFsdWVbcC5jb2xvckluZGV4T3JSZ2JhMisxXSx2YWx1ZTE6dm9pZCAwPT09cC52YWx1ZUluZGV4MT92b2lkIDA6ZS52YWx1ZVtwLnZhbHVlSW5kZXgxKzFdLHZhbHVlMjp2b2lkIDA9PT1wLnZhbHVlSW5kZXgyP3ZvaWQgMDplLnZhbHVlW3AudmFsdWVJbmRleDIrMV19O2NvbnN0IGw9by5jb2xvcj10aGlzLl9nZXRDb2xvckJ5UGxvdFZhbHVlKGkpPz92b2lkIDA7dm9pZCAwIT09bCYmKDE9PT1sLnR5cGU/KGwuY29sb3IxPWwuY29sb3IxJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IxLHYpLGwuY29sb3IyPWwuY29sb3IyJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IyLHYpKTpsLmNvbG9yPXRoaXMuX2dlbmVyYXRlQ29sb3IobC5jb2xvcix2KSl9fUkrPTF9cmV0dXJuIHRoaXMuX3VwZGF0ZUltcGxMaWdodCgpLCEwfV91cGRhdGVJbXBsTGlnaHQoKXtpZighdGhpcy5fdmlzaWJsZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD10aGlzLl9maXJzdFZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuO2xldCBvO2lmKHRoaXMuX2lzSGxpbmVGaWxsKXtjb25zdCBsPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYmFuZHNbKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYW5kQUtleSldLHI9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5iYW5kc1soMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhbmRCS2V5KV07bz17bGV2ZWwxOmUucHJpY2VUb0Nvb3JkaW5hdGUobC52YWx1ZS52YWx1ZSgpLHQpLGxldmVsMjplLnByaWNlVG9Db29yZGluYXRlKHIudmFsdWUudmFsdWUoKSx0KX19Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxhPXIudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1hKXJldHVybjtjb25zdCBzPWUucHJpY2VUb0Nvb3JkaW5hdGVGbih0KSxkPXRoaXMuX3RyYW5zcGFyZW5jeSgpLF89dGhpcy5fbWluRmlyc3RCYXJJbmRleCgpLHA9TWF0aC5tYXgoXyxhLmZpcnN0QmFyKCkpLHY9KDAsbC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxwLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7aWYodj49dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybjtjb25zdCBtPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLCgwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYS5sYXN0QmFyKCksKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSk7bGV0IEksZjt0aGlzLl9pc0hsaW5lRmlsbD8oST1fPT09cD92Ok1hdGgubWF4KDAsdi0xKSxmPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLG0rMSkpOihJPV89PT1wP3Y6Yyh0aGlzLl9pdGVtcyx2LTEsLTEpPz92LGY9Yyh0aGlzLl9pdGVtcyxtKzEsMSk/P20pO2NvbnN0IGc9dGhpcy5fY29sb3JBcmVhcztnLmludmFsaWRhdGVDYWNoZSgpO2xldCB4LHk9bnVsbCxDPW51bGwsYj1udWxsO2NvbnN0IFA9dGhpcy5fY29tbW9uQ29sb3IoKTtsZXQgQjsxPT09UC50eXBlPyhQLmNvb3JkaW5hdGUxPXMoUC52YWx1ZTEpLFAuY29vcmRpbmF0ZTI9cyhQLnZhbHVlMiksUC5jb2xvcjE9UC5jb2xvcjEmJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjEsZCksUC5jb2xvcjI9UC5jb2xvcjImJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjIsZCkpOlAuY29sb3I9dGhpcy5fZ2VuZXJhdGVDb2xvcihQLmNvbG9yLGQpO2xldCBTPTA9PT1JO2ZvcihsZXQgZT1JO2U8PWY7ZSs9MSl7Y29uc3QgdD10aGlzLl9pdGVtc1tlXSxpPXQudGltZVBvaW50SW5kZXg7bGV0IGwsYTshdGhpcy5fZmlsbEdhcHMmJnZvaWQgMCE9PUImJmktQj4xJiYoeT1udWxsKSx2b2lkIDAhPT1vPyhsPW8ubGV2ZWwxLAphPW8ubGV2ZWwyKToobD10LnBsb3QxQ29vcmRpbmF0ZT12b2lkIDA9PT10LnBsb3QxVmFsdWU/dm9pZCAwOnModC5wbG90MVZhbHVlKSxhPXQucGxvdDJDb29yZGluYXRlPXZvaWQgMD09PXQucGxvdDJWYWx1ZT92b2lkIDA6cyh0LnBsb3QyVmFsdWUpKTtjb25zdCBkPXQueENvb3JkaW5hdGU9ci5pbmRleFRvQ29vcmRpbmF0ZSh0LnRpbWVQb2ludEluZGV4KTtpZih0LmNvbG9yJiYxPT09dC5jb2xvci50eXBlJiYodC5jb2xvci5jb29yZGluYXRlMT1zKHQuY29sb3IudmFsdWUxKSx0LmNvbG9yLmNvb3JkaW5hdGUyPXModC5jb2xvci52YWx1ZTIpKSx0aGlzLl9maWxsR2Fwcz92b2lkIDAhPT1sfHx2b2lkIDAhPT1hOnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEpe2NvbnN0IG89bnVsbCE9PXRoaXMuX2NvbG9yUGxvdEluZGV4P3QuY29sb3J8fGg6UDtpZihBPW8sIShudWxsPT09KHc9Yil8fG51bGw9PT1BP3c9PT1BOjA9PT13LnR5cGUmJjA9PT1BLnR5cGU/dy5jb2xvcj09PUEuY29sb3I6MT09PXcudHlwZSYmMT09PUEudHlwZSYmdy5jb2xvcjE9PT1BLmNvbG9yMSYmdy5jb2xvcjI9PT1BLmNvbG9yMiYmdy5jb29yZGluYXRlMT09PUEuY29vcmRpbmF0ZTEmJncuY29vcmRpbmF0ZTI9PT1BLmNvb3JkaW5hdGUyKXx8bnVsbD09PXkpe2lmKG51bGwhPT15JiYodm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpKSxlPT09Ziljb250aW51ZTtiPW87Y29uc3QgdD11KG8pLGk9Zy5nZXQodCk/P25ldyBuLkFyZWFCYWNrZ3JvdW5kSXRlbXNHcm91cChvKTtDPXkseT1pLm5ld0l0ZW0oKT8/dGhpcy5fY3JlYXRlQXJlYUJhY2tncm91bmRJdGVtKCksaS5wdXNoKHkpLGcuc2V0KHQsaSl9dm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpfWVsc2UgdGhpcy5fZmlsbEdhcHN8fChiPW51bGwseT1udWxsLEM9bnVsbCk7Qj1pLHg9dH12YXIgdyxBO2cuZGVsZXRlKHUoaCkpO2NvbnN0IFY9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGNvbG9yQXJlYXM6Z307dGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEoVil9fX0sMTY2OTg4KGUsdCxvKXtvLmQodCx7QXJlYUJhY2tncm91bmRQYW5lVmlldzooKT0+cn0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oODc3MjE3KTtjbGFzcyByIGV4dGVuZHMgbC5BYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X3Bsb3RBSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzBdLm5hbWV9X3Bsb3RCSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzFdLm5hbWV9X2NvbW1vbkNvbG9yKCl7cmV0dXJue3R5cGU6MCxjb2xvcjp0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmFyZWFCYWNrZ3JvdW5kLmJhY2tncm91bmRDb2xvci52YWx1ZSgpfX1fdHJhbnNwYXJlbmN5KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQuZmlsbEJhY2tncm91bmQudmFsdWUoKX1fZ2V0Q29sb3JCeVBsb3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fY29tbW9uQ29sb3IoKX19fSw5ODMzNzgoZSx0LG8pe28uZCh0LHtnZW5lcmF0ZUNvbG9yQ2FjaGVkOigpPT5ufSk7dmFyIGk9byg2NjMwNDYpLGw9byg4NzM1NzMpLHI9byg1MTcyOTMpO2Z1bmN0aW9uIG4oZT0xZTMpe2NvbnN0IHQ9aS5kZWZhdWx0LkNhY2hlO2kuZGVmYXVsdC5DYWNoZT1yLkNpcmN1bGFyQ2FjaGVCdWZmZXIuYmluZChyLkNpcmN1bGFyQ2FjaGVCdWZmZXIsZSk7Y29uc3Qgbz0oMCxpLmRlZmF1bHQpKGwuZ2VuZXJhdGVDb2xvciwoKGUsdCxvKT0+YCR7ZX1fJHt0fV8ke299YCkpO3JldHVybiBpLmRlZmF1bHQuQ2FjaGU9dCxvfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6605.1e8942319b485afc1f75.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.190Z","timestamp":1785124877190,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6605.1e8942319b485afc1f75.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-1c7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d8f5b7d48e201716485f8d7e67f11c95\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":455,"size_decoded":1058,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (455), with no line terminators","md5":"d2ca4d9cab95479c91e8f31c8229afbb","sha1":"cede3b6337ec4629cebf14c946dc59dd6f6c156a","sha256":"0e87fa3009dc8f3432528e0b70da28015ba4e896241e7531f9086e06e71e7eca","sha512":"c3e0d4a1c9c9021120c05d783907844dd92838a00db5e2832aa6c276691d5c8c7ac6f4fc63f895e0628afbf2a76efda4aa1982fc5335ed69f5b960eee35b446c","ssdeep":"","tlshash":"99f027136cdd9a1fa41b302dcbc44b09d0d98902b70d4bf9bc16e260a28a7922a33060","first_seen":"2026-02-24T21:05:06.368121Z","last_seen":"2026-07-27T06:24:31.639126Z","times_seen":200,"resource_available":false,"data":"LmRpYWxvZy1iOFN4TW56WHtkaXNwbGF5OmJsb2NrO21heC13aWR0aDo1NTBweDttaW4td2lkdGg6MzgwcHg7d2lkdGg6YXV0b31AbWVkaWEgKG1heC13aWR0aDozNzlweCl7LmRpYWxvZy1iOFN4TW56WHttaW4taGVpZ2h0OmF1dG87bWluLXdpZHRoOjEwMCV9fS53cmFwcGVyLWI4U3hNbnpYe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9LmRpYWxvZy1iOFN4TW56WCAuc2VwYXJhdG9yLWI4U3hNbnpYe2ZsZXg6bm9uZTttYXJnaW4tYmxvY2s6MCAycHg7bWFyZ2luLWlubGluZTowIDB9LnNlcGFyYXRvci1iOFN4TW56WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLWRpYWxvZy1oZWFkZXItc2VwYXJhdG9yLHZhcigtLWNvbG9yLWRpdmlkZXIpKX0uYm91bmRlZC1iOFN4TW56WHtib3gtc2hhZG93OjAgMCAwIDFweCB2YXIoLS1jb2xvci1kaXZpZGVyKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/owl.carousel.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.222Z","timestamp":1785124875222,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/owl.carousel.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:43:18 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b66-15f88\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":89992,"size_decoded":25706,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (360)","md5":"ccdf893e7d8b26933af0c336bcc3943e","sha1":"ac575ba3377f95ef22bad865ec35b0b3dcb0dfe0","sha256":"db9d6cf3c1c4b047c62f646e7d9991c06a212931c362bf53f9a2406b30f09466","sha512":"818db99c2eb775d1342dc2cf871509185c5ad86a08c80e452f29b8509a870c43078e9f11113e999ff487a35b25b6ddd6b95b6a7f2c4408fdfcfdd69473f59510","ssdeep":"1536:owLoreUC7AuLMjvNlP8GNMBJ6IcIhKJQIOybQOoiYM9OJ0QQKOv:oUMNlPBqJTuOGQOotEhKOv","tlshash":"bf9393c5f36c261b422631785eae23ce723d402ad911186f7ca8e9dc29d546c436eff9","first_seen":"2023-03-07T01:03:43Z","last_seen":"2026-07-27T06:10:22.708315Z","times_seen":12475,"resource_available":true,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4zLjQKICogQ29weXJpZ2h0IDIwMTMtMjAxOCBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFCiAqLwovKioKICogT3dsIGNhcm91c2VsCiAqIEB2ZXJzaW9uIDIuMy40CiAqIEBhdXRob3IgQmFydG9zeiBXb2pjaWVjaG93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICogQHRvZG8gTGF6eSBMb2FkIEljb24KICogQHRvZG8gcHJldmVudCBhbmltYXRpb25lbmQgYnVibGluZwogKiBAdG9kbyBpdGVtc1NjYWxlVXAKICogQHRvZG8gVGVzdCBaZXB0bwogKiBAdG9kbyBzdGFnZVBhZGRpbmcgY2FsY3VsYXRlIHdyb25nIGFjdGl2ZSBjbGFzc2VzCiAqLwo7KGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKCS8qKgoJICogQ3JlYXRlcyBhIGNhcm91c2VsLgoJICogQGNsYXNzIFRoZSBPd2wgQ2Fyb3VzZWwuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge0hUTUxFbGVtZW50fGpRdWVyeX0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGNyZWF0ZSB0aGUgY2Fyb3VzZWwgZm9yLgoJICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXSAtIFRoZSBvcHRpb25zCgkgKi8KCWZ1bmN0aW9uIE93bChlbGVtZW50LCBvcHRpb25zKSB7CgoJCS8qKgoJCSAqIEN1cnJlbnQgc2V0dGluZ3MgZm9yIHRoZSBjYXJvdXNlbC4KCQkgKiBAcHVibGljCgkJICovCgkJdGhpcy5zZXR0aW5ncyA9IG51bGw7CgoJCS8qKgoJCSAqIEN1cnJlbnQgb3B0aW9ucyBzZXQgYnkgdGhlIGNhbGxlciBpbmNsdWRpbmcgZGVmYXVsdHMuCgkJICogQHB1YmxpYwoJCSAqLwoJCXRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBPd2wuRGVmYXVsdHMsIG9wdGlvbnMpOwoKCQkvKioKCQkgKiBQbHVnaW4gZWxlbWVudC4KCQkgKiBAcHVibGljCgkJICovCgkJdGhpcy4kZWxlbWVudCA9ICQoZWxlbWVudCk7CgoJCS8qKgoJCSAqIFByb3hpZWQgZXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0ge307CgoJCS8qKgoJCSAqIFJlZmVyZW5jZXMgdG8gdGhlIHJ1bm5pbmcgcGx1Z2lucyBvZiB0aGlzIGNhcm91c2VsLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9wbHVnaW5zID0ge307CgoJCS8qKgoJCSAqIEN1cnJlbnRseSBzdXBwcmVzc2VkIGV2ZW50cyB0byBwcmV2ZW50IHRoZW0gZnJvbSBiZWluZyByZXRyaWdnZXJlZC4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fc3VwcmVzcyA9IHt9OwoKCQkvKioKCQkgKiBBYnNvbHV0ZSBjdXJyZW50IHBvc2l0aW9uLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9jdXJyZW50ID0gbnVsbDsKCgkJLyoqCgkJICogQW5pbWF0aW9uIHNwZWVkIGluIG1pbGxpc2Vjb25kcy4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fc3BlZWQgPSBudWxsOwoKCQkvKioKCQkgKiBDb29yZGluYXRlcyBvZiBhbGwgaXRlbXMgaW4gcGl4ZWwuCgkJICogQHRvZG8gVGhlIG5hbWUgb2YgdGhpcyBtZW1iZXIgaXMgbWlzc2xlYWRpbmcuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2Nvb3JkaW5hdGVzID0gW107CgoJCS8qKgoJCSAqIEN1cnJlbnQgYnJlYWtwb2ludC4KCQkgKiBAdG9kbyBSZWFsIG1lZGlhIHF1ZXJpZXMgd291bGQgYmUgbmljZS4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fYnJlYWtwb2ludCA9IG51bGw7CgoJCS8qKgoJCSAqIEN1cnJlbnQgd2lkdGggb2YgdGhlIHBsdWdpbiBlbGVtZW50LgoJCSAqLwoJCXRoaXMuX3dpZHRoID0gbnVsbDsKCgkJLyoqCgkJICogQWxsIHJlYWwgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2l0ZW1zID0gW107CgoJCS8qKgoJCSAqIEFsbCBjbG9uZWQgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2Nsb25lcyA9IFtdOwoKCQkvKioKCQkgKiBNZXJnZSB2YWx1ZXMgb2YgYWxsIGl0ZW1zLgoJCSAqIEB0b2RvIE1heWJlIHRoaXMgY291bGQgYmUgcGFydCBvZiBhIHBsdWdpbi4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fbWVyZ2VycyA9IFtdOwoKCQkvKioKCQkgKiBXaWR0aHMgb2YgYWxsIGl0ZW1zLgoJCSAqLwoJCXRoaXMuX3dpZHRocyA9IFtdOwoKCQkvKioKCQkgKiBJbnZhbGlkYXRlZCBwYXJ0cyB3aXRoaW4gdGhlIHVwZGF0ZSBwcm9jZXNzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9pbnZhbGlkYXRlZCA9IHt9OwoKCQkvKioKCQkgKiBPcmRlcmVkIGxpc3Qgb2Ygd29ya2VycyBmb3IgdGhlIHVwZGF0ZSBwcm9jZXNzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9waXBlID0gW107CgoJCS8qKgoJCSAqIEN1cnJlbnQgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHRoZSBkcmFnIG9wZXJhdGlvbi4KCQkgKiBAdG9kbyAjMjYxCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2RyYWcgPSB7CgkJCXRpbWU6IG51bGwsCgkJCXRhcmdldDogbnVsbCwKCQkJcG9pbnRlcjogbnVsbCwKCQkJc3RhZ2U6IHsKCQkJCXN0YXJ0OiBudWxsLAoJCQkJY3VycmVudDogbnVsbAoJCQl9LAoJCQlkaXJlY3Rpb246IG51bGwKCQl9OwoKCQkvKioKCQkgKiBDdXJyZW50IHN0YXRlIGluZm9ybWF0aW9uIGFuZCB0aGVpciB0YWdzLgoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX3N0YXRlcyA9IHsKCQkJY3VycmVudDoge30sCgkJCXRhZ3M6IHsKCQkJCSdpbml0aWFsaXppbmcnOiBbICdidXN5JyBdLAoJCQkJJ2FuaW1hdGluZyc6IFsgJ2J1c3knIF0sCgkJCQknZHJhZ2dpbmcnOiBbICdpbnRlcmFjdGluZycgXQoJCQl9CgkJfTsKCgkJJC5lYWNoKFsgJ29uUmVzaXplJywgJ29uVGhyb3R0bGVkUmVzaXplJyBdLCAkLnByb3h5KGZ1bmN0aW9uKGksIGhhbmRsZXIpIHsKCQkJdGhpcy5faGFuZGxlcnNbaGFuZGxlcl0gPSAkLnByb3h5KHRoaXNbaGFuZGxlcl0sIHRoaXMpOwoJCX0sIHRoaXMpKTsKCgkJJC5lYWNoKE93bC5QbHVnaW5zLCAkLnByb3h5KGZ1bmN0aW9uKGtleSwgcGx1Z2luKSB7CgkJCXRoaXMuX3BsdWdpbnNba2V5LmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsga2V5LnNsaWNlKDEpXQoJCQkJPSBuZXcgcGx1Z2luKHRoaXMpOwoJCX0sIHRoaXMpKTsKCgkJJC5lYWNoKE93bC5Xb3JrZXJzLCAkLnByb3h5KGZ1bmN0aW9uKHByaW9yaXR5LCB3b3JrZXIpIHsKCQkJdGhpcy5fcGlwZS5wdXNoKHsKCQkJCSdmaWx0ZXInOiB3b3JrZXIuZmlsdGVyLAoJCQkJJ3J1bic6ICQucHJveHkod29ya2VyLnJ1biwgdGhpcykKCQkJfSk7CgkJfSwgdGhpcykpOwoKCQl0aGlzLnNldHVwKCk7CgkJdGhpcy5pbml0aWFsaXplKCk7Cgl9CgoJLyoqCgkgKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBjYXJvdXNlbC4KCSAqIEBwdWJsaWMKCSAqLwoJT3dsLkRlZmF1bHRzID0gewoJCWl0ZW1zOiAzLAoJCWxvb3A6IGZhbHNlLAoJCWNlbnRlcjogZmFsc2UsCgkJcmV3aW5kOiBmYWxzZSwKCQljaGVja1Zpc2liaWxpdHk6IHRydWUsCgoJCW1vdXNlRHJhZzogdHJ1ZSwKCQl0b3VjaERyYWc6IHRydWUsCgkJcHVsbERyYWc6IHRydWUsCgkJZnJlZURyYWc6IGZhbHNlLAoKCQltYXJnaW46IDAsCgkJc3RhZ2VQYWRkaW5nOiAwLAoKCQltZXJnZTogZmFsc2UsCgkJbWVyZ2VGaXQ6IHRydWUsCgkJYXV0b1dpZHRoOiBmYWxzZSwKCgkJc3RhcnRQb3NpdGlvbjogMCwKCQlydGw6IGZhbHNlLAoKCQlzbWFydFNwZWVkOiAyNTAsCgkJZmx1aWRTcGVlZDogZmFsc2UsCgkJZHJhZ0VuZFNwZWVkOiBmYWxzZSwKCgkJcmVzcG9uc2l2ZToge30sCgkJcmVzcG9uc2l2ZVJlZnJlc2hSYXRlOiAyMDAsCgkJcmVzcG9uc2l2ZUJhc2VFbGVtZW50OiB3aW5kb3csCgoJCWZhbGxiYWNrRWFzaW5nOiAnc3dpbmcnLAoJCXNsaWRlVHJhbnNpdGlvbjogJycsCgoJCWluZm86IGZhbHNlLAoKCQluZXN0ZWRJdGVtU2VsZWN0b3I6IGZhbHNlLAoJCWl0ZW1FbGVtZW50OiAnZGl2JywKCQlzdGFnZUVsZW1lbnQ6ICdkaXYnLAoKCQlyZWZyZXNoQ2xhc3M6ICdvd2wtcmVmcmVzaCcsCgkJbG9hZGVkQ2xhc3M6ICdvd2wtbG9hZGVkJywKCQlsb2FkaW5nQ2xhc3M6ICdvd2wtbG9hZGluZycsCgkJcnRsQ2xhc3M6ICdvd2wtcnRsJywKCQlyZXNwb25zaXZlQ2xhc3M6ICdvd2wtcmVzcG9uc2l2ZScsCgkJZHJhZ0NsYXNzOiAnb3dsLWRyYWcnLAoJCWl0ZW1DbGFzczogJ293bC1pdGVtJywKCQlzdGFnZUNsYXNzOiAnb3dsLXN0YWdlJywKCQlzdGFnZU91dGVyQ2xhc3M6ICdvd2wtc3RhZ2Utb3V0ZXInLAoJCWdyYWJDbGFzczogJ293bC1ncmFiJwoJfTsKCgkvKioKCSAqIEVudW1lcmF0aW9uIGZvciB3aWR0aC4KCSAqIEBwdWJsaWMKCSAqIEByZWFkb25seQoJICogQGVudW0ge1N0cmluZ30KCSAqLwoJT3dsLldpZHRoID0gewoJCURlZmF1bHQ6ICdkZWZhdWx0JywKCQlJbm5lcjogJ2lubmVyJywKCQlPdXRlcjogJ291dGVyJwoJfTsKCgkvKioKCSAqIEVudW1lcmF0aW9uIGZvciB0eXBlcy4KCSAqIEBwdWJsaWMKCSAqIEByZWFkb25seQoJICogQGVudW0ge1N0cmluZ30KCSAqLwoJT3dsLlR5cGUgPSB7CgkJRXZlbnQ6ICdldmVudCcsCgkJU3RhdGU6ICdzdGF0ZScKCX07CgoJLyoqCgkgKiBDb250YWlucyBhbGwgcmVnaXN0ZXJlZCBwbHVnaW5zLgoJICogQHB1YmxpYwoJICovCglPd2wuUGx1Z2lucyA9IHt9OwoKCS8qKgoJICogTGlzdCBvZiB3b3JrZXJzIGludm9sdmVkIGluIHRoZSB1cGRhdGUgcHJvY2Vzcy4KCSAqLwoJT3dsLldvcmtlcnMgPSBbIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3dpZHRoID0gdGhpcy4kZWxlbWVudC53aWR0aCgpOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oY2FjaGUpIHsKCQkJY2FjaGUuY3VycmVudCA9IHRoaXMuX2l0ZW1zICYmIHRoaXMuX2l0ZW1zW3RoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCldOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCcuY2xvbmVkJykucmVtb3ZlKCk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgbWFyZ2luID0gdGhpcy5zZXR0aW5ncy5tYXJnaW4gfHwgJycsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJcnRsID0gdGhpcy5zZXR0aW5ncy5ydGwsCgkJCQljc3MgPSB7CgkJCQkJJ3dpZHRoJzogJ2F1dG8nLAoJCQkJCSdtYXJnaW4tbGVmdCc6IHJ0bCA/IG1hcmdpbiA6ICcnLAoJCQkJCSdtYXJnaW4tcmlnaHQnOiBydGwgPyAnJyA6IG1hcmdpbgoJCQkJfTsKCgkJCSFncmlkICYmIHRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuY3NzKGNzcyk7CgoJCQljYWNoZS5jc3MgPSBjc3M7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgd2lkdGggPSAodGhpcy53aWR0aCgpIC8gdGhpcy5zZXR0aW5ncy5pdGVtcykudG9GaXhlZCgzKSAtIHRoaXMuc2V0dGluZ3MubWFyZ2luLAoJCQkJbWVyZ2UgPSBudWxsLAoJCQkJaXRlcmF0b3IgPSB0aGlzLl9pdGVtcy5sZW5ndGgsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJd2lkdGhzID0gW107CgoJCQljYWNoZS5pdGVtcyA9IHsKCQkJCW1lcmdlOiBmYWxzZSwKCQkJCXdpZHRoOiB3aWR0aAoJCQl9OwoKCQkJd2hpbGUgKGl0ZXJhdG9yLS0pIHsKCQkJCW1lcmdlID0gdGhpcy5fbWVyZ2Vyc1tpdGVyYXRvcl07CgkJCQltZXJnZSA9IHRoaXMuc2V0dGluZ3MubWVyZ2VGaXQgJiYgTWF0aC5taW4obWVyZ2UsIHRoaXMuc2V0dGluZ3MuaXRlbXMpIHx8IG1lcmdlOwoKCQkJCWNhY2hlLml0ZW1zLm1lcmdlID0gbWVyZ2UgPiAxIHx8IGNhY2hlLml0ZW1zLm1lcmdlOwoKCQkJCXdpZHRoc1tpdGVyYXRvcl0gPSAhZ3JpZCA/IHRoaXMuX2l0ZW1zW2l0ZXJhdG9yXS53aWR0aCgpIDogd2lkdGggKiBtZXJnZTsKCQkJfQoKCQkJdGhpcy5fd2lkdGhzID0gd2lkdGhzOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBjbG9uZXMgPSBbXSwKCQkJCWl0ZW1zID0gdGhpcy5faXRlbXMsCgkJCQlzZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3MsCgkJCQkvLyBUT0RPOiBTaG91bGQgYmUgY29tcHV0ZWQgZnJvbSBudW1iZXIgb2YgbWluIHdpZHRoIGl0ZW1zIGluIHN0YWdlCgkJCQl2aWV3ID0gTWF0aC5tYXgoc2V0dGluZ3MuaXRlbXMgKiAyLCA0KSwKCQkJCXNpemUgPSBNYXRoLmNlaWwoaXRlbXMubGVuZ3RoIC8gMikgKiAyLAoJCQkJcmVwZWF0ID0gc2V0dGluZ3MubG9vcCAmJiBpdGVtcy5sZW5ndGggPyBzZXR0aW5ncy5yZXdpbmQgPyB2aWV3IDogTWF0aC5tYXgodmlldywgc2l6ZSkgOiAwLAoJCQkJYXBwZW5kID0gJycsCgkJCQlwcmVwZW5kID0gJyc7CgoJCQlyZXBlYXQgLz0gMjsKCgkJCXdoaWxlIChyZXBlYXQgPiAwKSB7CgkJCQkvLyBTd2l0Y2ggdG8gb25seSB1c2luZyBhcHBlbmRlZCBjbG9uZXMKCQkJCWNsb25lcy5wdXNoKHRoaXMubm9ybWFsaXplKGNsb25lcy5sZW5ndGggLyAyLCB0cnVlKSk7CgkJCQlhcHBlbmQgPSBhcHBlbmQgKyBpdGVtc1tjbG9uZXNbY2xvbmVzLmxlbmd0aCAtIDFdXVswXS5vdXRlckhUTUw7CgkJCQljbG9uZXMucHVzaCh0aGlzLm5vcm1hbGl6ZShpdGVtcy5sZW5ndGggLSAxIC0gKGNsb25lcy5sZW5ndGggLSAxKSAvIDIsIHRydWUpKTsKCQkJCXByZXBlbmQgPSBpdGVtc1tjbG9uZXNbY2xvbmVzLmxlbmd0aCAtIDFdXVswXS5vdXRlckhUTUwgKyBwcmVwZW5kOwoJCQkJcmVwZWF0IC09IDE7CgkJCX0KCgkJCXRoaXMuX2Nsb25lcyA9IGNsb25lczsKCgkJCSQoYXBwZW5kKS5hZGRDbGFzcygnY2xvbmVkJykuYXBwZW5kVG8odGhpcy4kc3RhZ2UpOwoJCQkkKHByZXBlbmQpLmFkZENsYXNzKCdjbG9uZWQnKS5wcmVwZW5kVG8odGhpcy4kc3RhZ2UpOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBydGwgPSB0aGlzLnNldHRpbmdzLnJ0bCA/IDEgOiAtMSwKCQkJCXNpemUgPSB0aGlzLl9jbG9uZXMubGVuZ3RoICsgdGhpcy5faXRlbXMubGVuZ3RoLAoJCQkJaXRlcmF0b3IgPSAtMSwKCQkJCXByZXZpb3VzID0gMCwKCQkJCWN1cnJlbnQgPSAwLAoJCQkJY29vcmRpbmF0ZXMgPSBbXTsKCgkJCXdoaWxlICgrK2l0ZXJhdG9yIDwgc2l6ZSkgewoJCQkJcHJldmlvdXMgPSBjb29yZGluYXRlc1tpdGVyYXRvciAtIDFdIHx8IDA7CgkJCQljdXJyZW50ID0gdGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoaXRlcmF0b3IpXSArIHRoaXMuc2V0dGluZ3MubWFyZ2luOwoJCQkJY29vcmRpbmF0ZXMucHVzaChwcmV2aW91cyArIGN1cnJlbnQgKiBydGwpOwoJCQl9CgoJCQl0aGlzLl9jb29yZGluYXRlcyA9IGNvb3JkaW5hdGVzOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBwYWRkaW5nID0gdGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcsCgkJCQljb29yZGluYXRlcyA9IHRoaXMuX2Nvb3JkaW5hdGVzLAoJCQkJY3NzID0gewoJCQkJCSd3aWR0aCc6IE1hdGguY2VpbChNYXRoLmFicyhjb29yZGluYXRlc1tjb29yZGluYXRlcy5sZW5ndGggLSAxXSkpICsgcGFkZGluZyAqIDIsCgkJCQkJJ3BhZGRpbmctbGVmdCc6IHBhZGRpbmcgfHwgJycsCgkJCQkJJ3BhZGRpbmctcmlnaHQnOiBwYWRkaW5nIHx8ICcnCgkJCQl9OwoKCQkJdGhpcy4kc3RhZ2UuY3NzKGNzcyk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgaXRlcmF0b3IgPSB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGgsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJaXRlbXMgPSB0aGlzLiRzdGFnZS5jaGlsZHJlbigpOwoKCQkJaWYgKGdyaWQgJiYgY2FjaGUuaXRlbXMubWVyZ2UpIHsKCQkJCXdoaWxlIChpdGVyYXRvci0tKSB7CgkJCQkJY2FjaGUuY3NzLndpZHRoID0gdGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoaXRlcmF0b3IpXTsKCQkJCQlpdGVtcy5lcShpdGVyYXRvcikuY3NzKGNhY2hlLmNzcyk7CgkJCQl9CgkJCX0gZWxzZSBpZiAoZ3JpZCkgewoJCQkJY2FjaGUuY3NzLndpZHRoID0gY2FjaGUuaXRlbXMud2lkdGg7CgkJCQlpdGVtcy5jc3MoY2FjaGUuY3NzKTsKCQkJfQoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aCA8IDEgJiYgdGhpcy4kc3RhZ2UucmVtb3ZlQXR0cignc3R5bGUnKTsKCQl9Cgl9LCB7CgkJZmlsdGVyOiBbICd3aWR0aCcsICdpdGVtcycsICdzZXR0aW5ncycgXSwKCQlydW46IGZ1bmN0aW9uKGNhY2hlKSB7CgkJCWNhY2hlLmN1cnJlbnQgPSBjYWNoZS5jdXJyZW50ID8gdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5pbmRleChjYWNoZS5jdXJyZW50KSA6IDA7CgkJCWNhY2hlLmN1cnJlbnQgPSBNYXRoLm1heCh0aGlzLm1pbmltdW0oKSwgTWF0aC5taW4odGhpcy5tYXhpbXVtKCksIGNhY2hlLmN1cnJlbnQpKTsKCQkJdGhpcy5yZXNldChjYWNoZS5jdXJyZW50KTsKCQl9Cgl9LCB7CgkJZmlsdGVyOiBbICdwb3NpdGlvbicgXSwKCQlydW46IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmFuaW1hdGUodGhpcy5jb29yZGluYXRlcyh0aGlzLl9jdXJyZW50KSk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAncG9zaXRpb24nLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbigpIHsKCQkJdmFyIHJ0bCA9IHRoaXMuc2V0dGluZ3MucnRsID8gMSA6IC0xLAoJCQkJcGFkZGluZyA9IHRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nICogMiwKCQkJCWJlZ2luID0gdGhpcy5jb29yZGluYXRlcyh0aGlzLmN1cnJlbnQoKSkgKyBwYWRkaW5nLAoJCQkJZW5kID0gYmVnaW4gKyB0aGlzLndpZHRoKCkgKiBydGwsCgkJCQlpbm5lciwgb3V0ZXIsIG1hdGNoZXMgPSBbXSwgaSwgbjsKCgkJCWZvciAoaSA9IDAsIG4gPSB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKCQkJCWlubmVyID0gdGhpcy5fY29vcmRpbmF0ZXNbaSAtIDFdIHx8IDA7CgkJCQlvdXRlciA9IE1hdGguYWJzKHRoaXMuX2Nvb3JkaW5hdGVzW2ldKSArIHBhZGRpbmcgKiBydGw7CgoJCQkJaWYgKCh0aGlzLm9wKGlubmVyLCAnPD0nLCBiZWdpbikgJiYgKHRoaXMub3AoaW5uZXIsICc+JywgZW5kKSkpCgkJCQkJfHwgKHRoaXMub3Aob3V0ZXIsICc8JywgYmVnaW4pICYmIHRoaXMub3Aob3V0ZXIsICc+JywgZW5kKSkpIHsKCQkJCQltYXRjaGVzLnB1c2goaSk7CgkJCQl9CgkJCX0KCgkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCcuYWN0aXZlJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwoJCQl0aGlzLiRzdGFnZS5jaGlsZHJlbignOmVxKCcgKyBtYXRjaGVzLmpvaW4oJyksIDplcSgnKSArICcpJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwoKCQkJdGhpcy4kc3RhZ2UuY2hpbGRyZW4oJy5jZW50ZXInKS5yZW1vdmVDbGFzcygnY2VudGVyJyk7CgkJCWlmICh0aGlzLnNldHRpbmdzLmNlbnRlcikgewoJCQkJdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLmN1cnJlbnQoKSkuYWRkQ2xhc3MoJ2NlbnRlcicpOwoJCQl9CgkJfQoJfSBdOwoKCS8qKgoJICogQ3JlYXRlIHRoZSBzdGFnZSBET00gZWxlbWVudAoJICovCglPd2wucHJvdG90eXBlLmluaXRpYWxpemVTdGFnZSA9IGZ1bmN0aW9uKCkgewoJCXRoaXMuJHN0YWdlID0gdGhpcy4kZWxlbWVudC5maW5kKCcuJyArIHRoaXMuc2V0dGluZ3Muc3RhZ2VDbGFzcyk7CgoJCS8vIGlmIHRoZSBzdGFnZSBpcyBhbHJlYWR5IGluIHRoZSBET00sIGdyYWIgaXQgYW5kIHNraXAgc3RhZ2UgaW5pdGlhbGl6YXRpb24KCQlpZiAodGhpcy4kc3RhZ2UubGVuZ3RoKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcyk7CgoJCS8vIGNyZWF0ZSBzdGFnZQoJCXRoaXMuJHN0YWdlID0gJCgnPCcgKyB0aGlzLnNldHRpbmdzLnN0YWdlRWxlbWVudCArICc+JywgewoJCQkiY2xhc3MiOiB0aGlzLnNldHRpbmdzLnN0YWdlQ2xhc3MKCQl9KS53cmFwKCAkKCAnPGRpdi8+JywgewoJCQkiY2xhc3MiOiB0aGlzLnNldHRpbmdzLnN0YWdlT3V0ZXJDbGFzcwoJCX0pKTsKCgkJLy8gYXBwZW5kIHN0YWdlCgkJdGhpcy4kZWxlbWVudC5hcHBlbmQodGhpcy4kc3RhZ2UucGFyZW50KCkpOwoJfTsKCgkvKioKCSAqIENyZWF0ZSBpdGVtIERPTSBlbGVtZW50cwoJICovCglPd2wucHJvdG90eXBlLmluaXRpYWxpemVJdGVtcyA9IGZ1bmN0aW9uKCkgewoJCXZhciAkaXRlbXMgPSB0aGlzLiRlbGVtZW50LmZpbmQoJy5vd2wtaXRlbScpOwoKCQkvLyBpZiB0aGUgaXRlbXMgYXJlIGFscmVhZHkgaW4gdGhlIERPTSwgZ3JhYiB0aGVtIGFuZCBza2lwIGl0ZW0gaW5pdGlhbGl6YXRpb24KCQlpZiAoJGl0ZW1zLmxlbmd0aCkgewoJCQl0aGlzLl9pdGVtcyA9ICRpdGVtcy5nZXQoKS5tYXAoZnVuY3Rpb24oaXRlbSkgewoJCQkJcmV0dXJuICQoaXRlbSk7CgkJCX0pOwoKCQkJdGhpcy5fbWVyZ2VycyA9IHRoaXMuX2l0ZW1zLm1hcChmdW5jdGlvbigpIHsKCQkJCXJldHVybiAxOwoJCQl9KTsKCgkJCXRoaXMucmVmcmVzaCgpOwoKCQkJcmV0dXJuOwoJCX0KCgkJLy8gYXBwZW5kIGNvbnRlbnQKCQl0aGlzLnJlcGxhY2UodGhpcy4kZWxlbWVudC5jaGlsZHJlbigpLm5vdCh0aGlzLiRzdGFnZS5wYXJlbnQoKSkpOwoKCQkvLyBjaGVjayB2aXNpYmlsaXR5CgkJaWYgKHRoaXMuaXNWaXNpYmxlKCkpIHsKCQkJLy8gdXBkYXRlIHZpZXcKCQkJdGhpcy5yZWZyZXNoKCk7CgkJfSBlbHNlIHsKCQkJLy8gaW52YWxpZGF0ZSB3aWR0aAoJCQl0aGlzLmludmFsaWRhdGUoJ3dpZHRoJyk7CgkJfQoKCQl0aGlzLiRlbGVtZW50CgkJCS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKQoJCQkuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRlZENsYXNzKTsKCX07CgoJLyoqCgkgKiBJbml0aWFsaXplcyB0aGUgY2Fyb3VzZWwuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUuaW5pdGlhbGl6ZSA9IGZ1bmN0aW9uKCkgewoJCXRoaXMuZW50ZXIoJ2luaXRpYWxpemluZycpOwoJCXRoaXMudHJpZ2dlcignaW5pdGlhbGl6ZScpOwoKCQl0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKHRoaXMuc2V0dGluZ3MucnRsQ2xhc3MsIHRoaXMuc2V0dGluZ3MucnRsKTsKCgkJaWYgKHRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoICYmICF0aGlzLmlzKCdwcmUtbG9hZGluZycpKSB7CgkJCXZhciBpbWdzLCBuZXN0ZWRTZWxlY3Rvciwgd2lkdGg7CgkJCWltZ3MgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ2ltZycpOwoJCQluZXN0ZWRTZWxlY3RvciA9IHRoaXMuc2V0dGluZ3MubmVzdGVkSXRlbVNlbGVjdG9yID8gJy4nICsgdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IgOiB1bmRlZmluZWQ7CgkJCXdpZHRoID0gdGhpcy4kZWxlbWVudC5jaGlsZHJlbihuZXN0ZWRTZWxlY3Rvcikud2lkdGgoKTsKCgkJCWlmIChpbWdzLmxlbmd0aCAmJiB3aWR0aCA8PSAwKSB7CgkJCQl0aGlzLnByZWxvYWRBdXRvV2lkdGhJbWFnZXMoaW1ncyk7CgkJCX0KCQl9CgoJCXRoaXMuaW5pdGlhbGl6ZVN0YWdlKCk7CgkJdGhpcy5pbml0aWFsaXplSXRlbXMoKTsKCgkJLy8gcmVnaXN0ZXIgZXZlbnQgaGFuZGxlcnMKCQl0aGlzLnJlZ2lzdGVyRXZlbnRIYW5kbGVycygpOwoKCQl0aGlzLmxlYXZlKCdpbml0aWFsaXppbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ2luaXRpYWxpemVkJyk7Cgl9OwoKCS8qKgoJICogQHJldHVybnMge0Jvb2xlYW59IHZpc2liaWxpdHkgb2YgJGVsZW1lbnQKCSAqICAgICAgICAgICAgICAgICAgICBpZiB5b3Uga25vdyB0aGUgY2Fyb3VzZWwgd2lsbCBhbHdheXMgYmUgdmlzaWJsZSB5b3UgY2FuIHNldCBgY2hlY2tWaXNpYmlsaXR5YCB0byBgZmFsc2VgIHRvCgkgKiAgICAgICAgICAgICAgICAgICAgcHJldmVudCB0aGUgZXhwZW5zaXZlIGJyb3dzZXIgbGF5b3V0IGZvcmNlZCByZWZsb3cgdGhlICRlbGVtZW50LmlzKCc6dmlzaWJsZScpIGRvZXMKCSAqLwoJT3dsLnByb3RvdHlwZS5pc1Zpc2libGUgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gdGhpcy5zZXR0aW5ncy5jaGVja1Zpc2liaWxpdHkKCQkJPyB0aGlzLiRlbGVtZW50LmlzKCc6dmlzaWJsZScpCgkJCTogdHJ1ZTsKCX07CgoJLyoqCgkgKiBTZXR1cHMgdGhlIGN1cnJlbnQgc2V0dGluZ3MuCgkgKiBAdG9kbyBSZW1vdmUgcmVzcG9uc2l2ZSBjbGFzc2VzLiBXaHkgc2hvdWxkIGFkYXB0aXZlIGRlc2lnbnMgYmUgYnJvdWdodCBpbnRvIElFOD8KCSAqIEB0b2RvIFN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgYnkgdXNpbmcgYG1hdGNoTWVkaWFgIHdvdWxkIGJlIG5pY2UuCgkgKiBAcHVibGljCgkgKi8KCU93bC5wcm90b3R5cGUuc2V0dXAgPSBmdW5jdGlvbigpIHsKCQl2YXIgdmlld3BvcnQgPSB0aGlzLnZpZXdwb3J0KCksCgkJCW92ZXJ3cml0ZXMgPSB0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZSwKCQkJbWF0Y2ggPSAtMSwKCQkJc2V0dGluZ3MgPSBudWxsOwoKCQlpZiAoIW92ZXJ3cml0ZXMpIHsKCQkJc2V0dGluZ3MgPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zKTsKCQl9IGVsc2UgewoJCQkkLmVhY2gob3ZlcndyaXRlcywgZnVuY3Rpb24oYnJlYWtwb2ludCkgewoJCQkJaWYgKGJyZWFrcG9pbnQgPD0gdmlld3BvcnQgJiYgYnJlYWtwb2ludCA+IG1hdGNoKSB7CgkJCQkJbWF0Y2ggPSBOdW1iZXIoYnJlYWtwb2ludCk7CgkJCQl9CgkJCX0pOwoKCQkJc2V0dGluZ3MgPSAkLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zLCBvdmVyd3JpdGVzW21hdGNoXSk7CgkJCWlmICh0eXBlb2Ygc2V0dGluZ3Muc3RhZ2VQYWRkaW5nID09PSAnZnVuY3Rpb24nKSB7CgkJCQlzZXR0aW5ncy5zdGFnZVBhZGRpbmcgPSBzZXR0aW5ncy5zdGFnZVBhZGRpbmcoKTsKCQkJfQoJCQlkZWxldGUgc2V0dGluZ3MucmVzcG9uc2l2ZTsKCgkJCS8vIHJlc3BvbnNpdmUgY2xhc3MKCQkJaWYgKHNldHRpbmdzLnJlc3BvbnNpdmVDbGFzcykgewoJCQkJdGhpcy4kZWxlbWVudC5hdHRyKCdjbGFzcycsCgkJCQkJdGhpcy4kZWxlbWVudC5hdHRyKCdjbGFzcycpLnJlcGxhY2UobmV3IFJlZ0V4cCgnKCcgKyB0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUNsYXNzICsgJy0pXFxTK1xccycsICdnJyksICckMScgKyBtYXRjaCkKCQkJCSk7CgkJCX0KCQl9CgoJCXRoaXMudHJpZ2dlcignY2hhbmdlJywgeyBwcm9wZXJ0eTogeyBuYW1lOiAnc2V0dGluZ3MnLCB2YWx1ZTogc2V0dGluZ3MgfSB9KTsKCQl0aGlzLl9icmVha3BvaW50ID0gbWF0Y2g7CgkJdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzOwoJCXRoaXMuaW52YWxpZGF0ZSgnc2V0dGluZ3MnKTsKCQl0aGlzLnRyaWdnZXIoJ2NoYW5nZWQnLCB7IHByb3BlcnR5OiB7IG5hbWU6ICdzZXR0aW5ncycsIHZhbHVlOiB0aGlzLnNldHRpbmdzIH0gfSk7Cgl9OwoKCS8qKgoJICogVXBkYXRlcyBvcHRpb24gbG9naWMgaWYgbmVjZXNzZXJ5LgoJICogQHByb3RlY3RlZAoJICovCglPd2wucHJvdG90eXBlLm9wdGlvbnNMb2dpYyA9IGZ1bmN0aW9uKCkgewoJCWlmICh0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCkgewoJCQl0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZyA9IGZhbHNlOwoJCQl0aGlzLnNldHRpbmdzLm1lcmdlID0gZmFsc2U7CgkJfQoJfTsKCgkvKioKCSAqIFByZXBhcmVzIGFuIGl0ZW0gYmVmb3JlIGFkZC4KCSAqIEB0b2RvIFJlbmFtZSBldmVudCBwYXJhbWV0ZXIgYGNvbnRlbnRgIHRvIGBpdGVtYC4KCSAqIEBwcm90ZWN0ZWQKCSAqIEByZXR1cm5zIHtqUXVlcnl8SFRNTEVsZW1lbnR9IC0gVGhlIGl0ZW0gY29udGFpbmVyLgoJICovCglPd2wucHJvdG90eXBlLnByZXBhcmUgPSBmdW5jdGlvbihpdGVtKSB7CgkJdmFyIGV2ZW50ID0gdGhpcy50cmlnZ2VyKCdwcmVwYXJlJywgeyBjb250ZW50OiBpdGVtIH0pOwoKCQlpZiAoIWV2ZW50LmRhdGEpIHsKCQkJZXZlbnQuZGF0YSA9ICQoJzwnICsgdGhpcy5zZXR0aW5ncy5pdGVtRWxlbWVudCArICcvPicpCgkJCQkuYWRkQ2xhc3ModGhpcy5vcHRpb25zLml0ZW1DbGFzcykuYXBwZW5kKGl0ZW0pCgkJfQoKCQl0aGlzLnRyaWdnZXIoJ3ByZXBhcmVkJywgeyBjb250ZW50OiBldmVudC5kYXRhIH0pOwoKCQlyZXR1cm4gZXZlbnQuZGF0YTsKCX07CgoJLyoqCgkgKiBVcGRhdGVzIHRoZSB2aWV3LgoJICogQHB1YmxpYwoJICovCglPd2wucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewoJCXZhciBpID0gMCwKCQkJbiA9IHRoaXMuX3BpcGUubGVuZ3RoLAoJCQlmaWx0ZXIgPSAkLnByb3h5KGZ1bmN0aW9uKHApIHsgcmV0dXJuIHRoaXNbcF0gfSwgdGhpcy5faW52YWxpZGF0ZWQpLAoJCQljYWNoZSA9IHt9OwoKCQl3aGlsZSAoaSA8IG4pIHsKCQkJaWYgKHRoaXMuX2ludmFsaWRhdGVkLmFsbCB8fCAkLmdyZXAodGhpcy5fcGlwZVtpXS5maWx0ZXIsIGZpbHRlcikubGVuZ3RoID4gMCkgewoJCQkJdGhpcy5fcGlwZVtpXS5ydW4oY2FjaGUpOwoJCQl9CgkJCWkrKzsKCQl9CgoJCXRoaXMuX2ludmFsaWRhdGVkID0ge307CgoJCSF0aGlzLmlzKCd2YWxpZCcpICYmIHRoaXMuZW50ZXIoJ3ZhbGlkJyk7Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgd2lkdGggb2YgdGhlIHZpZXcuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge093bC5XaWR0aH0gW2RpbWVuc2lvbj1Pd2wuV2lkdGguRGVmYXVsdF0gLSBUaGUgZGltZW5zaW9uIHRvIHJldHVybi4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9IC0gVGhlIHdpZHRoIG9mIHRoZSB2aWV3IGluIHBpeGVsLgoJICovCglPd2wucHJvdG90eXBlLndpZHRoID0gZnVuY3Rpb24oZGltZW5zaW9uKSB7CgkJZGltZW5zaW9uID0gZGltZW5zaW9uIHx8IE93bC5XaWR0aC5EZWZhdWx0OwoJCXN3aXRjaCAoZGltZW5zaW9uKSB7CgkJCWNhc2UgT3dsLldpZHRoLklubmVyOgoJCQljYXNlIE93bC5XaWR0aC5PdXRlcjoKCQkJCXJldHVybiB0aGlzLl93aWR0aDsKCQkJZGVmYXVsdDoKCQkJCXJldHVybiB0aGlzLl93aWR0aCAtIHRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nICogMiArIHRoaXMuc2V0dGluZ3MubWFyZ2luOwoJCX0KCX07CgoJLyoqCgkgKiBSZWZyZXNoZXMgdGhlIGNhcm91c2VsIHByaW1hcmlseSBmb3IgYWRhcHRpdmUgcHVycG9zZXMuCgkgKiBAcHVibGljCgkgKi8KCU93bC5wcm90b3R5cGUucmVmcmVzaCA9IGZ1bmN0aW9uKCkgewoJCXRoaXMuZW50ZXIoJ3JlZnJlc2hpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3JlZnJlc2gnKTsKCgkJdGhpcy5zZXR1cCgpOwoKCQl0aGlzLm9wdGlvbnNMb2dpYygpOwoKCQl0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5yZWZyZXNoQ2xhc3MpOwoKCQl0aGlzLnVwZGF0ZSgpOwoKCQl0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5yZWZyZXNoQ2xhc3MpOwoKCQl0aGlzLmxlYXZlKCdyZWZyZXNoaW5nJyk7CgkJdGhpcy50cmlnZ2VyKCdyZWZyZXNoZWQnKTsKCX07CgoJLyoqCgkgKiBDaGVja3Mgd2luZG93IGByZXNpemVgIGV2ZW50LgoJICogQHByb3RlY3RlZAoJICovCglPd2wucHJvdG90eXBlLm9uVGhyb3R0bGVkUmVzaXplID0gZnVuY3Rpb24oKSB7CgkJd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVyKTsKCQl0aGlzLnJlc2l6ZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQodGhpcy5faGFuZGxlcnMub25SZXNpemUsIHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZVJlZnJlc2hSYXRlKTsKCX07CgoJLyoqCgkgKiBDaGVja3Mgd2luZG93IGByZXNpemVgIGV2ZW50LgoJICogQHByb3RlY3RlZAoJICovCglPd2wucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzLl9pdGVtcy5sZW5ndGgpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYgKHRoaXMuX3dpZHRoID09PSB0aGlzLiRlbGVtZW50LndpZHRoKCkpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYgKCF0aGlzLmlzVmlzaWJsZSgpKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXRoaXMuZW50ZXIoJ3Jlc2l6aW5nJyk7CgoJCWlmICh0aGlzLnRyaWdnZXIoJ3Jlc2l6ZScpLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7CgkJCXRoaXMubGVhdmUoJ3Jlc2l6aW5nJyk7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXRoaXMuaW52YWxpZGF0ZSgnd2lkdGgnKTsKCgkJdGhpcy5yZWZyZXNoKCk7CgoJCXRoaXMubGVhdmUoJ3Jlc2l6aW5nJyk7CgkJdGhpcy50cmlnZ2VyKCdyZXNpemVkJyk7Cgl9OwoKCS8qKgoJICogUmVnaXN0ZXJzIGV2ZW50IGhhbmRsZXJzLgoJICogQHRvZG8gQ2hlY2sgYG1zUG9pbnRlckVuYWJsZWRgCgkgKiBAdG9kbyAjMjYxCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUucmVnaXN0ZXJFdmVudEhhbmRsZXJzID0gZnVuY3Rpb24oKSB7CgkJaWYgKCQuc3VwcG9ydC50cmFuc2l0aW9uKSB7CgkJCXRoaXMuJHN0YWdlLm9uKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCArICcub3dsLmNvcmUnLCAkLnByb3h5KHRoaXMub25UcmFuc2l0aW9uRW5kLCB0aGlzKSk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlICE9PSBmYWxzZSkgewoJCQl0aGlzLm9uKHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMuX2hhbmRsZXJzLm9uVGhyb3R0bGVkUmVzaXplKTsKCQl9CgoJCWlmICh0aGlzLnNldHRpbmdzLm1vdXNlRHJhZykgewoJCQl0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5kcmFnQ2xhc3MpOwoJCQl0aGlzLiRzdGFnZS5vbignbW91c2Vkb3duLm93bC5jb3JlJywgJC5wcm94eSh0aGlzLm9uRHJhZ1N0YXJ0LCB0aGlzKSk7CgkJCXRoaXMuJHN0YWdlLm9uKCdkcmFnc3RhcnQub3dsLmNvcmUgc2VsZWN0c3RhcnQub3dsLmNvcmUnLCBmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlIH0pOwoJCX0KCgkJaWYgKHRoaXMuc2V0dGluZ3MudG91Y2hEcmFnKXsKCQkJdGhpcy4kc3RhZ2Uub24oJ3RvdWNoc3RhcnQub3dsLmNvcmUnLCAkLnByb3h5KHRoaXMub25EcmFnU3RhcnQsIHRoaXMpKTsKCQkJdGhpcy4kc3RhZ2Uub24oJ3RvdWNoY2FuY2VsLm93bC5jb3JlJywgJC5wcm94eSh0aGlzLm9uRHJhZ0VuZCwgdGhpcykpOwoJCX0KCX07CgoJLyoqCgkgKiBIYW5kbGVzIGB0b3VjaHN0YXJ0YCBhbmQgYG1vdXNlZG93bmAgZXZlbnRzLgoJICogQHRvZG8gSG9yaXpvbnRhbCBzd2lwZSB0aHJlc2hvbGQgYXMgb3B0aW9uCgkgKiBAdG9kbyAjMjYxCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBldmVudCBhcmd1bWVudHMuCgkgKi8KCU93bC5wcm90b3R5cGUub25EcmFnU3RhcnQgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBzdGFnZSA9IG51bGw7CgoJCWlmIChldmVudC53aGljaCA9PT0gMykgewoJCQlyZXR1cm47CgkJfQoKCQlpZiAoJC5zdXBwb3J0LnRyYW5zZm9ybSkgewoJCQlzdGFnZSA9IHRoaXMuJHN0YWdlLmNzcygndHJhbnNmb3JtJykucmVwbGFjZSgvLipcKHxcKXwgL2csICcnKS5zcGxpdCgnLCcpOwoJCQlzdGFnZSA9IHsKCQkJCXg6IHN0YWdlW3N0YWdlLmxlbmd0aCA9PT0gMTYgPyAxMiA6IDRdLAoJCQkJeTogc3RhZ2Vbc3RhZ2UubGVuZ3RoID09PSAxNiA/IDEzIDogNV0KCQkJfTsKCQl9IGVsc2UgewoJCQlzdGFnZSA9IHRoaXMuJHN0YWdlLnBvc2l0aW9uKCk7CgkJCXN0YWdlID0gewoJCQkJeDogdGhpcy5zZXR0aW5ncy5ydGwgPwoJCQkJCXN0YWdlLmxlZnQgKyB0aGlzLiRzdGFnZS53aWR0aCgpIC0gdGhpcy53aWR0aCgpICsgdGhpcy5zZXR0aW5ncy5tYXJnaW4gOgoJCQkJCXN0YWdlLmxlZnQsCgkJCQl5OiBzdGFnZS50b3AKCQkJfTsKCQl9CgoJCWlmICh0aGlzLmlzKCdhbmltYXRpbmcnKSkgewoJCQkkLnN1cHBvcnQudHJhbnNmb3JtID8gdGhpcy5hbmltYXRlKHN0YWdlLngpIDogdGhpcy4kc3RhZ2Uuc3RvcCgpCgkJCXRoaXMuaW52YWxpZGF0ZSgncG9zaXRpb24nKTsKCQl9CgoJCXRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcywgZXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bicpOwoKCQl0aGlzLnNwZWVkKDApOwoKCQl0aGlzLl9kcmFnLnRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKCQl0aGlzLl9kcmFnLnRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTsKCQl0aGlzLl9kcmFnLnN0YWdlLnN0YXJ0ID0gc3RhZ2U7CgkJdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50ID0gc3RhZ2U7CgkJdGhpcy5fZHJhZy5wb2ludGVyID0gdGhpcy5wb2ludGVyKGV2ZW50KTsKCgkJJChkb2N1bWVudCkub24oJ21vdXNldXAub3dsLmNvcmUgdG91Y2hlbmQub3dsLmNvcmUnLCAkLnByb3h5KHRoaXMub25EcmFnRW5kLCB0aGlzKSk7CgoJCSQoZG9jdW1lbnQpLm9uZSgnbW91c2Vtb3ZlLm93bC5jb3JlIHRvdWNobW92ZS5vd2wuY29yZScsICQucHJveHkoZnVuY3Rpb24oZXZlbnQpIHsKCQkJdmFyIGRlbHRhID0gdGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlciwgdGhpcy5wb2ludGVyKGV2ZW50KSk7CgoJCQkkKGRvY3VtZW50KS5vbignbW91c2Vtb3ZlLm93bC5jb3JlIHRvdWNobW92ZS5vd2wuY29yZScsICQucHJveHkodGhpcy5vbkRyYWdNb3ZlLCB0aGlzKSk7CgoJCQlpZiAoTWF0aC5hYnMoZGVsdGEueCkgPCBNYXRoLmFicyhkZWx0YS55KSAmJiB0aGlzLmlzKCd2YWxpZCcpKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgoJCQl0aGlzLmVudGVyKCdkcmFnZ2luZycpOwoJCQl0aGlzLnRyaWdnZXIoJ2RyYWcnKTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogSGFuZGxlcyB0aGUgYHRvdWNobW92ZWAgYW5kIGBtb3VzZW1vdmVgIGV2ZW50cy4KCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS5vbkRyYWdNb3ZlID0gZnVuY3Rpb24oZXZlbnQpIHsKCQl2YXIgbWluaW11bSA9IG51bGwsCgkJCW1heGltdW0gPSBudWxsLAoJCQlwdWxsID0gbnVsbCwKCQkJZGVsdGEgPSB0aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5wb2ludGVyLCB0aGlzLnBvaW50ZXIoZXZlbnQpKSwKCQkJc3RhZ2UgPSB0aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5zdGFnZS5zdGFydCwgZGVsdGEpOwoKCQlpZiAoIXRoaXMuaXMoJ2RyYWdnaW5nJykpIHsKCQkJcmV0dXJuOwoJCX0KCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCgkJaWYgKHRoaXMuc2V0dGluZ3MubG9vcCkgewoJCQltaW5pbXVtID0gdGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSk7CgkJCW1heGltdW0gPSB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpICsgMSkgLSBtaW5pbXVtOwoJCQlzdGFnZS54ID0gKCgoc3RhZ2UueCAtIG1pbmltdW0pICUgbWF4aW11bSArIG1heGltdW0pICUgbWF4aW11bSkgKyBtaW5pbXVtOwoJCX0gZWxzZSB7CgkJCW1pbmltdW0gPSB0aGlzLnNldHRpbmdzLnJ0bCA/IHRoaXMuY29vcmRpbmF0ZXModGhpcy5tYXhpbXVtKCkpIDogdGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSk7CgkJCW1heGltdW0gPSB0aGlzLnNldHRpbmdzLnJ0bCA/IHRoaXMuY29vcmRpbmF0ZXModGhpcy5taW5pbXVtKCkpIDogdGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSk7CgkJCXB1bGwgPSB0aGlzLnNldHRpbmdzLnB1bGxEcmFnID8gLTEgKiBkZWx0YS54IC8gNSA6IDA7CgkJCXN0YWdlLnggPSBNYXRoLm1heChNYXRoLm1pbihzdGFnZS54LCBtaW5pbXVtICsgcHVsbCksIG1heGltdW0gKyBwdWxsKTsKCQl9CgoJCXRoaXMuX2RyYWcuc3RhZ2UuY3VycmVudCA9IHN0YWdlOwoKCQl0aGlzLmFuaW1hdGUoc3RhZ2UueCk7Cgl9OwoKCS8qKgoJICogSGFuZGxlcyB0aGUgYHRvdWNoZW5kYCBhbmQgYG1vdXNldXBgIGV2ZW50cy4KCSAqIEB0b2RvICMyNjEKCSAqIEB0b2RvIFRocmVzaG9sZCBmb3IgY2xpY2sgZXZlbnQKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS5vbkRyYWdFbmQgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBkZWx0YSA9IHRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsIHRoaXMucG9pbnRlcihldmVudCkpLAoJCQlzdGFnZSA9IHRoaXMuX2RyYWcuc3RhZ2UuY3VycmVudCwKCQkJZGlyZWN0aW9uID0gZGVsdGEueCA+IDAgXiB0aGlzLnNldHRpbmdzLnJ0bCA/ICdsZWZ0JyA6ICdyaWdodCc7CgoJCSQoZG9jdW1lbnQpLm9mZignLm93bC5jb3JlJyk7CgoJCXRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcyk7CgoJCWlmIChkZWx0YS54ICE9PSAwICYmIHRoaXMuaXMoJ2RyYWdnaW5nJykgfHwgIXRoaXMuaXMoJ3ZhbGlkJykpIHsKCQkJdGhpcy5zcGVlZCh0aGlzLnNldHRpbmdzLmRyYWdFbmRTcGVlZCB8fCB0aGlzLnNldHRpbmdzLnNtYXJ0U3BlZWQpOwoJCQl0aGlzLmN1cnJlbnQodGhpcy5jbG9zZXN0KHN0YWdlLngsIGRlbHRhLnggIT09IDAgPyBkaXJlY3Rpb24gOiB0aGlzLl9kcmFnLmRpcmVjdGlvbikpOwoJCQl0aGlzLmludmFsaWRhdGUoJ3Bvc2l0aW9uJyk7CgkJCXRoaXMudXBkYXRlKCk7CgoJCQl0aGlzLl9kcmFnLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsKCgkJCWlmIChNYXRoLmFicyhkZWx0YS54KSA+IDMgfHwgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLl9kcmFnLnRpbWUgPiAzMDApIHsKCQkJCXRoaXMuX2RyYWcudGFyZ2V0Lm9uZSgnY2xpY2sub3dsLmNvcmUnLCBmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKCQkJfQoJCX0KCgkJaWYgKCF0aGlzLmlzKCdkcmFnZ2luZycpKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMubGVhdmUoJ2RyYWdnaW5nJyk7CgkJdGhpcy50cmlnZ2VyKCdkcmFnZ2VkJyk7Cgl9OwoKCS8qKgoJICogR2V0cyBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgY2xvc2VzdCBpdGVtIGZvciBhIGNvb3JkaW5hdGUuCgkgKiBAdG9kbyBTZXR0aW5nIGBmcmVlRHJhZ2AgbWFrZXMgYGNsb3Nlc3RgIG5vdCByZXVzYWJsZS4gU2VlICMxNjUuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge051bWJlcn0gY29vcmRpbmF0ZSAtIFRoZSBjb29yZGluYXRlIGluIHBpeGVsLgoJICogQHBhcmFtIHtTdHJpbmd9IGRpcmVjdGlvbiAtIFRoZSBkaXJlY3Rpb24gdG8gY2hlY2sgZm9yIHRoZSBjbG9zZXN0IGl0ZW0uIEV0aGVyIGBsZWZ0YCBvciBgcmlnaHRgLgoJICogQHJldHVybiB7TnVtYmVyfSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgY2xvc2VzdCBpdGVtLgoJICovCglPd2wucHJvdG90eXBlLmNsb3Nlc3QgPSBmdW5jdGlvbihjb29yZGluYXRlLCBkaXJlY3Rpb24pIHsKCQl2YXIgcG9zaXRpb24gPSAtMSwKCQkJcHVsbCA9IDMwLAoJCQl3aWR0aCA9IHRoaXMud2lkdGgoKSwKCQkJY29vcmRpbmF0ZXMgPSB0aGlzLmNvb3JkaW5hdGVzKCk7CgoJCWlmICghdGhpcy5zZXR0aW5ncy5mcmVlRHJhZykgewoJCQkvLyBjaGVjayBjbG9zZXN0IGl0ZW0KCQkJJC5lYWNoKGNvb3JkaW5hdGVzLCAkLnByb3h5KGZ1bmN0aW9uKGluZGV4LCB2YWx1ZSkgewoJCQkJLy8gb24gYSBsZWZ0IHB1bGwsIGNoZWNrIG9uIGN1cnJlbnQgaW5kZXgKCQkJCWlmIChkaXJlY3Rpb24gPT09ICdsZWZ0JyAmJiBjb29yZGluYXRlID4gdmFsdWUgLSBwdWxsICYmIGNvb3JkaW5hdGUgPCB2YWx1ZSArIHB1bGwpIHsKCQkJCQlwb3NpdGlvbiA9IGluZGV4OwoJCQkJLy8gb24gYSByaWdodCBwdWxsLCBjaGVjayBvbiBwcmV2aW91cyBpbmRleAoJCQkJLy8gdG8gZG8gc28sIHN1YnRyYWN0IHdpZHRoIGZyb20gdmFsdWUgYW5kIHNldCBwb3NpdGlvbiA9IGluZGV4ICsgMQoJCQkJfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdyaWdodCcgJiYgY29vcmRpbmF0ZSA+IHZhbHVlIC0gd2lkdGggLSBwdWxsICYmIGNvb3JkaW5hdGUgPCB2YWx1ZSAtIHdpZHRoICsgcHVsbCkgewoJCQkJCXBvc2l0aW9uID0gaW5kZXggKyAxOwoJCQkJfSBlbHNlIGlmICh0aGlzLm9wKGNvb3JkaW5hdGUsICc8JywgdmFsdWUpCgkJCQkJJiYgdGhpcy5vcChjb29yZGluYXRlLCAnPicsIGNvb3JkaW5hdGVzW2luZGV4ICsgMV0gIT09IHVuZGVmaW5lZCA/IGNvb3JkaW5hdGVzW2luZGV4ICsgMV0gOiB2YWx1ZSAtIHdpZHRoKSkgewoJCQkJCXBvc2l0aW9uID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyBpbmRleCArIDEgOiBpbmRleDsKCQkJCX0KCQkJCXJldHVybiBwb3NpdGlvbiA9PT0gLTE7CgkJCX0sIHRoaXMpKTsKCQl9CgoJCWlmICghdGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCS8vIG5vbiBsb29wIGJvdW5kcmllcwoJCQlpZiAodGhpcy5vcChjb29yZGluYXRlLCAnPicsIGNvb3JkaW5hdGVzW3RoaXMubWluaW11bSgpXSkpIHsKCQkJCXBvc2l0aW9uID0gY29vcmRpbmF0ZSA9IHRoaXMubWluaW11bSgpOwoJCQl9IGVsc2UgaWYgKHRoaXMub3AoY29vcmRpbmF0ZSwgJzwnLCBjb29yZGluYXRlc1t0aGlzLm1heGltdW0oKV0pKSB7CgkJCQlwb3NpdGlvbiA9IGNvb3JkaW5hdGUgPSB0aGlzLm1heGltdW0oKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHBvc2l0aW9uOwoJfTsKCgkvKioKCSAqIEFuaW1hdGVzIHRoZSBzdGFnZS4KCSAqIEB0b2RvICMyNzAKCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBjb29yZGluYXRlIC0gVGhlIGNvb3JkaW5hdGUgaW4gcGl4ZWxzLgoJICovCglPd2wucHJvdG90eXBlLmFuaW1hdGUgPSBmdW5jdGlvbihjb29yZGluYXRlKSB7CgkJdmFyIGFuaW1hdGUgPSB0aGlzLnNwZWVkKCkgPiAwOwoKCQl0aGlzLmlzKCdhbmltYXRpbmcnKSAmJiB0aGlzLm9uVHJhbnNpdGlvbkVuZCgpOwoKCQlpZiAoYW5pbWF0ZSkgewoJCQl0aGlzLmVudGVyKCdhbmltYXRpbmcnKTsKCQkJdGhpcy50cmlnZ2VyKCd0cmFuc2xhdGUnKTsKCQl9CgoJCWlmICgkLnN1cHBvcnQudHJhbnNmb3JtM2QgJiYgJC5zdXBwb3J0LnRyYW5zaXRpb24pIHsKCQkJdGhpcy4kc3RhZ2UuY3NzKHsKCQkJCXRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKCcgKyBjb29yZGluYXRlICsgJ3B4LDBweCwwcHgpJywKCQkJCXRyYW5zaXRpb246ICh0aGlzLnNwZWVkKCkgLyAxMDAwKSArICdzJyArICgKCQkJCQl0aGlzLnNldHRpbmdzLnNsaWRlVHJhbnNpdGlvbiA/ICcgJyArIHRoaXMuc2V0dGluZ3Muc2xpZGVUcmFuc2l0aW9uIDogJycKCQkJCSkKCQkJfSk7CgkJfSBlbHNlIGlmIChhbmltYXRlKSB7CgkJCXRoaXMuJHN0YWdlLmFuaW1hdGUoewoJCQkJbGVmdDogY29vcmRpbmF0ZSArICdweCcKCQkJfSwgdGhpcy5zcGVlZCgpLCB0aGlzLnNldHRpbmdzLmZhbGxiYWNrRWFzaW5nLCAkLnByb3h5KHRoaXMub25UcmFuc2l0aW9uRW5kLCB0aGlzKSk7CgkJfSBlbHNlIHsKCQkJdGhpcy4kc3RhZ2UuY3NzKHsKCQkJCWxlZnQ6IGNvb3JkaW5hdGUgKyAncHgnCgkJCX0pOwoJCX0KCX07CgoJLyoqCgkgKiBDaGVja3Mgd2hldGhlciB0aGUgY2Fyb3VzZWwgaXMgaW4gYSBzcGVjaWZpYyBzdGF0ZSBvciBub3QuCgkgKiBAcGFyYW0ge1N0cmluZ30gc3RhdGUgLSBUaGUgc3RhdGUgdG8gY2hlY2suCgkgKiBAcmV0dXJucyB7Qm9vbGVhbn0gLSBUaGUgZmxhZyB3aGljaCBpbmRpY2F0ZXMgaWYgdGhlIGNhcm91c2VsIGlzIGJ1c3kuCgkgKi8KCU93bC5wcm90b3R5cGUuaXMgPSBmdW5jdGlvbihzdGF0ZSkgewoJCXJldHVybiB0aGlzLl9zdGF0ZXMuY3VycmVudFtzdGF0ZV0gJiYgdGhpcy5fc3RhdGVzLmN1cnJlbnRbc3RhdGVdID4gMDsKCX07CgoJLyoqCgkgKiBTZXRzIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpdGVtLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtwb3NpdGlvbl0gLSBUaGUgbmV3IGFic29sdXRlIHBvc2l0aW9uIG9yIG5vdGhpbmcgdG8gbGVhdmUgaXQgdW5jaGFuZ2VkLgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaXRlbS4KCSAqLwoJT3dsLnByb3RvdHlwZS5jdXJyZW50ID0gZnVuY3Rpb24ocG9zaXRpb24pIHsKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4gdGhpcy5fY3VycmVudDsKCQl9CgoJCWlmICh0aGlzLl9pdGVtcy5sZW5ndGggPT09IDApIHsKCQkJcmV0dXJuIHVuZGVmaW5lZDsKCQl9CgoJCXBvc2l0aW9uID0gdGhpcy5ub3JtYWxpemUocG9zaXRpb24pOwoKCQlpZiAodGhpcy5fY3VycmVudCAhPT0gcG9zaXRpb24pIHsKCQkJdmFyIGV2ZW50ID0gdGhpcy50cmlnZ2VyKCdjaGFuZ2UnLCB7IHByb3BlcnR5OiB7IG5hbWU6ICdwb3NpdGlvbicsIHZhbHVlOiBwb3NpdGlvbiB9IH0pOwoKCQkJaWYgKGV2ZW50LmRhdGEgIT09IHVuZGVmaW5lZCkgewoJCQkJcG9zaXRpb24gPSB0aGlzLm5vcm1hbGl6ZShldmVudC5kYXRhKTsKCQkJfQoKCQkJdGhpcy5fY3VycmVudCA9IHBvc2l0aW9uOwoKCQkJdGhpcy5pbnZhbGlkYXRlKCdwb3NpdGlvbicpOwoKCQkJdGhpcy50cmlnZ2VyKCdjaGFuZ2VkJywgeyBwcm9wZXJ0eTogeyBuYW1lOiAncG9zaXRpb24nLCB2YWx1ZTogdGhpcy5fY3VycmVudCB9IH0pOwoJCX0KCgkJcmV0dXJuIHRoaXMuX2N1cnJlbnQ7Cgl9OwoKCS8qKgoJICogSW52YWxpZGF0ZXMgdGhlIGdpdmVuIHBhcnQgb2YgdGhlIHVwZGF0ZSByb3V0aW5lLgoJICogQHBhcmFtIHtTdHJpbmd9IFtwYXJ0XSAtIFRoZSBwYXJ0IHRvIGludmFsaWRhdGUuCgkgKiBAcmV0dXJucyB7QXJyYXkuPFN0cmluZz59IC0gVGhlIGludmFsaWRhdGVkIHBhcnRzLgoJICovCglPd2wucHJvdG90eXBlLmludmFsaWRhdGUgPSBmdW5jdGlvbihwYXJ0KSB7CgkJaWYgKCQudHlwZShwYXJ0KSA9PT0gJ3N0cmluZycpIHsKCQkJdGhpcy5faW52YWxpZGF0ZWRbcGFydF0gPSB0cnVlOwoJCQl0aGlzLmlzKCd2YWxpZCcpICYmIHRoaXMubGVhdmUoJ3ZhbGlkJyk7CgkJfQoJCXJldHVybiAkLm1hcCh0aGlzLl9pbnZhbGlkYXRlZCwgZnVuY3Rpb24odiwgaSkgeyByZXR1cm4gaSB9KTsKCX07CgoJLyoqCgkgKiBSZXNldHMgdGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIG5ldyBpdGVtLgoJICovCglPd2wucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24ocG9zaXRpb24pIHsKCQlwb3NpdGlvbiA9IHRoaXMubm9ybWFsaXplKHBvc2l0aW9uKTsKCgkJaWYgKHBvc2l0aW9uID09PSB1bmRlZmluZWQpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5fc3BlZWQgPSAwOwoJCXRoaXMuX2N1cnJlbnQgPSBwb3NpdGlvbjsKCgkJdGhpcy5zdXBwcmVzcyhbICd0cmFuc2xhdGUnLCAndHJhbnNsYXRlZCcgXSk7CgoJCXRoaXMuYW5pbWF0ZSh0aGlzLmNvb3JkaW5hdGVzKHBvc2l0aW9uKSk7CgoJCXRoaXMucmVsZWFzZShbICd0cmFuc2xhdGUnLCAndHJhbnNsYXRlZCcgXSk7Cgl9OwoKCS8qKgoJICogTm9ybWFsaXplcyBhbiBhYnNvbHV0ZSBvciBhIHJlbGF0aXZlIHBvc2l0aW9uIG9mIGFuIGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgYWJzb2x1dGUgb3IgcmVsYXRpdmUgcG9zaXRpb24gdG8gbm9ybWFsaXplLgoJICogQHBhcmFtIHtCb29sZWFufSBbcmVsYXRpdmU9ZmFsc2VdIC0gV2hldGhlciB0aGUgZ2l2ZW4gcG9zaXRpb24gaXMgcmVsYXRpdmUgb3Igbm90LgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgbm9ybWFsaXplZCBwb3NpdGlvbi4KCSAqLwoJT3dsLnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbihwb3NpdGlvbiwgcmVsYXRpdmUpIHsKCQl2YXIgbiA9IHRoaXMuX2l0ZW1zLmxlbmd0aCwKCQkJbSA9IHJlbGF0aXZlID8gMCA6IHRoaXMuX2Nsb25lcy5sZW5ndGg7CgoJCWlmICghdGhpcy5pc051bWVyaWMocG9zaXRpb24pIHx8IG4gPCAxKSB7CgkJCXBvc2l0aW9uID0gdW5kZWZpbmVkOwoJCX0gZWxzZSBpZiAocG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID49IG4gKyBtKSB7CgkJCXBvc2l0aW9uID0gKChwb3NpdGlvbiAtIG0gLyAyKSAlIG4gKyBuKSAlIG4gKyBtIC8gMjsKCQl9CgoJCXJldHVybiBwb3NpdGlvbjsKCX07CgoJLyoqCgkgKiBDb252ZXJ0cyBhbiBhYnNvbHV0ZSBwb3NpdGlvbiBvZiBhbiBpdGVtIGludG8gYSByZWxhdGl2ZSBvbmUuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgYWJzb2x1dGUgcG9zaXRpb24gdG8gY29udmVydC4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9IC0gVGhlIGNvbnZlcnRlZCBwb3NpdGlvbi4KCSAqLwoJT3dsLnByb3RvdHlwZS5yZWxhdGl2ZSA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgkJcG9zaXRpb24gLT0gdGhpcy5fY2xvbmVzLmxlbmd0aCAvIDI7CgkJcmV0dXJuIHRoaXMubm9ybWFsaXplKHBvc2l0aW9uLCB0cnVlKTsKCX07CgoJLyoqCgkgKiBHZXRzIHRoZSBtYXhpbXVtIHBvc2l0aW9uIGZvciB0aGUgY3VycmVudCBpdGVtLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtCb29sZWFufSBbcmVsYXRpdmU9ZmFsc2VdIC0gV2hldGhlciB0byByZXR1cm4gYW4gYWJzb2x1dGUgcG9zaXRpb24gb3IgYSByZWxhdGl2ZSBwb3NpdGlvbi4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKi8KCU93bC5wcm90b3R5cGUubWF4aW11bSA9IGZ1bmN0aW9uKHJlbGF0aXZlKSB7CgkJdmFyIHNldHRpbmdzID0gdGhpcy5zZXR0aW5ncywKCQkJbWF4aW11bSA9IHRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aCwKCQkJaXRlcmF0b3IsCgkJCXJlY2lwcm9jYWxJdGVtc1dpZHRoLAoJCQllbGVtZW50V2lkdGg7CgoJCWlmIChzZXR0aW5ncy5sb29wKSB7CgkJCW1heGltdW0gPSB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMiArIHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDE7CgkJfSBlbHNlIGlmIChzZXR0aW5ncy5hdXRvV2lkdGggfHwgc2V0dGluZ3MubWVyZ2UpIHsKCQkJaXRlcmF0b3IgPSB0aGlzLl9pdGVtcy5sZW5ndGg7CgkJCWlmIChpdGVyYXRvcikgewoJCQkJcmVjaXByb2NhbEl0ZW1zV2lkdGggPSB0aGlzLl9pdGVtc1stLWl0ZXJhdG9yXS53aWR0aCgpOwoJCQkJZWxlbWVudFdpZHRoID0gdGhpcy4kZWxlbWVudC53aWR0aCgpOwoJCQkJd2hpbGUgKGl0ZXJhdG9yLS0pIHsKCQkJCQlyZWNpcHJvY2FsSXRlbXNXaWR0aCArPSB0aGlzLl9pdGVtc1tpdGVyYXRvcl0ud2lkdGgoKSArIHRoaXMuc2V0dGluZ3MubWFyZ2luOwoJCQkJCWlmIChyZWNpcHJvY2FsSXRlbXNXaWR0aCA+IGVsZW1lbnRXaWR0aCkgewoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJbWF4aW11bSA9IGl0ZXJhdG9yICsgMTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLmNlbnRlcikgewoJCQltYXhpbXVtID0gdGhpcy5faXRlbXMubGVuZ3RoIC0gMTsKCQl9IGVsc2UgewoJCQltYXhpbXVtID0gdGhpcy5faXRlbXMubGVuZ3RoIC0gc2V0dGluZ3MuaXRlbXM7CgkJfQoKCQlpZiAocmVsYXRpdmUpIHsKCQkJbWF4aW11bSAtPSB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMjsKCQl9CgoJCXJldHVybiBNYXRoLm1heChtYXhpbXVtLCAwKTsKCX07CgoJLyoqCgkgKiBHZXRzIHRoZSBtaW5pbXVtIHBvc2l0aW9uIGZvciB0aGUgY3VycmVudCBpdGVtLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtCb29sZWFufSBbcmVsYXRpdmU9ZmFsc2VdIC0gV2hldGhlciB0byByZXR1cm4gYW4gYWJzb2x1dGUgcG9zaXRpb24gb3IgYSByZWxhdGl2ZSBwb3NpdGlvbi4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKi8KCU93bC5wcm90b3R5cGUubWluaW11bSA9IGZ1bmN0aW9uKHJlbGF0aXZlKSB7CgkJcmV0dXJuIHJlbGF0aXZlID8gMCA6IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyOwoJfTsKCgkvKioKCSAqIEdldHMgYW4gaXRlbSBhdCB0aGUgc3BlY2lmaWVkIHJlbGF0aXZlIHBvc2l0aW9uLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtwb3NpdGlvbl0gLSBUaGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIGl0ZW0uCgkgKiBAcmV0dXJuIHtqUXVlcnl8QXJyYXkuPGpRdWVyeT59IC0gVGhlIGl0ZW0gYXQgdGhlIGdpdmVuIHBvc2l0aW9uIG9yIGFsbCBpdGVtcyBpZiBubyBwb3NpdGlvbiB3YXMgZ2l2ZW4uCgkgKi8KCU93bC5wcm90b3R5cGUuaXRlbXMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9pdGVtcy5zbGljZSgpOwoJCX0KCgkJcG9zaXRpb24gPSB0aGlzLm5vcm1hbGl6ZShwb3NpdGlvbiwgdHJ1ZSk7CgkJcmV0dXJuIHRoaXMuX2l0ZW1zW3Bvc2l0aW9uXTsKCX07CgoJLyoqCgkgKiBHZXRzIGFuIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCByZWxhdGl2ZSBwb3NpdGlvbi4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbcG9zaXRpb25dIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtLgoJICogQHJldHVybiB7alF1ZXJ5fEFycmF5LjxqUXVlcnk+fSAtIFRoZSBpdGVtIGF0IHRoZSBnaXZlbiBwb3NpdGlvbiBvciBhbGwgaXRlbXMgaWYgbm8gcG9zaXRpb24gd2FzIGdpdmVuLgoJICovCglPd2wucHJvdG90eXBlLm1lcmdlcnMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9tZXJnZXJzLnNsaWNlKCk7CgkJfQoKCQlwb3NpdGlvbiA9IHRoaXMubm9ybWFsaXplKHBvc2l0aW9uLCB0cnVlKTsKCQlyZXR1cm4gdGhpcy5fbWVyZ2Vyc1twb3NpdGlvbl07Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgYWJzb2x1dGUgcG9zaXRpb25zIG9mIGNsb25lcyBmb3IgYW4gaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbcG9zaXRpb25dIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtLgoJICogQHJldHVybnMge0FycmF5LjxOdW1iZXI+fSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbnMgb2YgY2xvbmVzIGZvciB0aGUgaXRlbSBvciBhbGwgaWYgbm8gcG9zaXRpb24gd2FzIGdpdmVuLgoJICovCglPd2wucHJvdG90eXBlLmNsb25lcyA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgkJdmFyIG9kZCA9IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyLAoJCQlldmVuID0gb2RkICsgdGhpcy5faXRlbXMubGVuZ3RoLAoJCQltYXAgPSBmdW5jdGlvbihpbmRleCkgeyByZXR1cm4gaW5kZXggJSAyID09PSAwID8gZXZlbiArIGluZGV4IC8gMiA6IG9kZCAtIChpbmRleCArIDEpIC8gMiB9OwoKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4gJC5tYXAodGhpcy5fY2xvbmVzLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiBtYXAoaSkgfSk7CgkJfQoKCQlyZXR1cm4gJC5tYXAodGhpcy5fY2xvbmVzLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiB2ID09PSBwb3NpdGlvbiA/IG1hcChpKSA6IG51bGwgfSk7Cgl9OwoKCS8qKgoJICogU2V0cyB0aGUgY3VycmVudCBhbmltYXRpb24gc3BlZWQuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSBhbmltYXRpb24gc3BlZWQgaW4gbWlsbGlzZWNvbmRzIG9yIG5vdGhpbmcgdG8gbGVhdmUgaXQgdW5jaGFuZ2VkLgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgY3VycmVudCBhbmltYXRpb24gc3BlZWQgaW4gbWlsbGlzZWNvbmRzLgoJICovCglPd2wucHJvdG90eXBlLnNwZWVkID0gZnVuY3Rpb24oc3BlZWQpIHsKCQlpZiAoc3BlZWQgIT09IHVuZGVmaW5lZCkgewoJCQl0aGlzLl9zcGVlZCA9IHNwZWVkOwoJCX0KCgkJcmV0dXJuIHRoaXMuX3NwZWVkOwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIGNvb3JkaW5hdGUgb2YgYW4gaXRlbS4KCSAqIEB0b2RvIFRoZSBuYW1lIG9mIHRoaXMgbWV0aG9kIGlzIG1pc3NsZWFuZGluZy4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgaXRlbSB3aXRoaW4gYG1pbmltdW0oKWAgYW5kIGBtYXhpbXVtKClgLgoJICogQHJldHVybnMge051bWJlcnxBcnJheS48TnVtYmVyPn0gLSBUaGUgY29vcmRpbmF0ZSBvZiB0aGUgaXRlbSBpbiBwaXhlbCBvciBhbGwgY29vcmRpbmF0ZXMuCgkgKi8KCU93bC5wcm90b3R5cGUuY29vcmRpbmF0ZXMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXZhciBtdWx0aXBsaWVyID0gMSwKCQkJbmV3UG9zaXRpb24gPSBwb3NpdGlvbiAtIDEsCgkJCWNvb3JkaW5hdGU7CgoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiAkLm1hcCh0aGlzLl9jb29yZGluYXRlcywgJC5wcm94eShmdW5jdGlvbihjb29yZGluYXRlLCBpbmRleCkgewoJCQkJcmV0dXJuIHRoaXMuY29vcmRpbmF0ZXMoaW5kZXgpOwoJCQl9LCB0aGlzKSk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy5jZW50ZXIpIHsKCQkJaWYgKHRoaXMuc2V0dGluZ3MucnRsKSB7CgkJCQltdWx0aXBsaWVyID0gLTE7CgkJCQluZXdQb3NpdGlvbiA9IHBvc2l0aW9uICsgMTsKCQkJfQoKCQkJY29vcmRpbmF0ZSA9IHRoaXMuX2Nvb3JkaW5hdGVzW3Bvc2l0aW9uXTsKCQkJY29vcmRpbmF0ZSArPSAodGhpcy53aWR0aCgpIC0gY29vcmRpbmF0ZSArICh0aGlzLl9jb29yZGluYXRlc1tuZXdQb3NpdGlvbl0gfHwgMCkpIC8gMiAqIG11bHRpcGxpZXI7CgkJfSBlbHNlIHsKCQkJY29vcmRpbmF0ZSA9IHRoaXMuX2Nvb3JkaW5hdGVzW25ld1Bvc2l0aW9uXSB8fCAwOwoJCX0KCgkJY29vcmRpbmF0ZSA9IE1hdGguY2VpbChjb29yZGluYXRlKTsKCgkJcmV0dXJuIGNvb3JkaW5hdGU7Cgl9OwoKCS8qKgoJICogQ2FsY3VsYXRlcyB0aGUgc3BlZWQgZm9yIGEgdHJhbnNsYXRpb24uCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge051bWJlcn0gZnJvbSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgaXRlbS4KCSAqIEBwYXJhbSB7TnVtYmVyfSB0byAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0uCgkgKiBAcGFyYW0ge051bWJlcn0gW2ZhY3Rvcj11bmRlZmluZWRdIC0gVGhlIHRpbWUgZmFjdG9yIGluIG1pbGxpc2Vjb25kcy4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9IC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNsYXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUuZHVyYXRpb24gPSBmdW5jdGlvbihmcm9tLCB0bywgZmFjdG9yKSB7CgkJaWYgKGZhY3RvciA9PT0gMCkgewoJCQlyZXR1cm4gMDsKCQl9CgoJCXJldHVybiBNYXRoLm1pbihNYXRoLm1heChNYXRoLmFicyh0byAtIGZyb20pLCAxKSwgNikgKiBNYXRoLmFicygoZmFjdG9yIHx8IHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCkpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgc3BlY2lmaWVkIGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgcG9zaXRpb24gb2YgdGhlIGl0ZW0uCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgdGhlIHRyYW5zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUudG8gPSBmdW5jdGlvbihwb3NpdGlvbiwgc3BlZWQpIHsKCQl2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudCgpLAoJCQlyZXZlcnQgPSBudWxsLAoJCQlkaXN0YW5jZSA9IHBvc2l0aW9uIC0gdGhpcy5yZWxhdGl2ZShjdXJyZW50KSwKCQkJZGlyZWN0aW9uID0gKGRpc3RhbmNlID4gMCkgLSAoZGlzdGFuY2UgPCAwKSwKCQkJaXRlbXMgPSB0aGlzLl9pdGVtcy5sZW5ndGgsCgkJCW1pbmltdW0gPSB0aGlzLm1pbmltdW0oKSwKCQkJbWF4aW11bSA9IHRoaXMubWF4aW11bSgpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCWlmICghdGhpcy5zZXR0aW5ncy5yZXdpbmQgJiYgTWF0aC5hYnMoZGlzdGFuY2UpID4gaXRlbXMgLyAyKSB7CgkJCQlkaXN0YW5jZSArPSBkaXJlY3Rpb24gKiAtMSAqIGl0ZW1zOwoJCQl9CgoJCQlwb3NpdGlvbiA9IGN1cnJlbnQgKyBkaXN0YW5jZTsKCQkJcmV2ZXJ0ID0gKChwb3NpdGlvbiAtIG1pbmltdW0pICUgaXRlbXMgKyBpdGVtcykgJSBpdGVtcyArIG1pbmltdW07CgoJCQlpZiAocmV2ZXJ0ICE9PSBwb3NpdGlvbiAmJiByZXZlcnQgLSBkaXN0YW5jZSA8PSBtYXhpbXVtICYmIHJldmVydCAtIGRpc3RhbmNlID4gMCkgewoJCQkJY3VycmVudCA9IHJldmVydCAtIGRpc3RhbmNlOwoJCQkJcG9zaXRpb24gPSByZXZlcnQ7CgkJCQl0aGlzLnJlc2V0KGN1cnJlbnQpOwoJCQl9CgkJfSBlbHNlIGlmICh0aGlzLnNldHRpbmdzLnJld2luZCkgewoJCQltYXhpbXVtICs9IDE7CgkJCXBvc2l0aW9uID0gKHBvc2l0aW9uICUgbWF4aW11bSArIG1heGltdW0pICUgbWF4aW11bTsKCQl9IGVsc2UgewoJCQlwb3NpdGlvbiA9IE1hdGgubWF4KG1pbmltdW0sIE1hdGgubWluKG1heGltdW0sIHBvc2l0aW9uKSk7CgkJfQoKCQl0aGlzLnNwZWVkKHRoaXMuZHVyYXRpb24oY3VycmVudCwgcG9zaXRpb24sIHNwZWVkKSk7CgkJdGhpcy5jdXJyZW50KHBvc2l0aW9uKTsKCgkJaWYgKHRoaXMuaXNWaXNpYmxlKCkpIHsKCQkJdGhpcy51cGRhdGUoKTsKCQl9Cgl9OwoKCS8qKgoJICogU2xpZGVzIHRvIHRoZSBuZXh0IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgdGhlIHRyYW5zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uKHNwZWVkKSB7CgkJc3BlZWQgPSBzcGVlZCB8fCBmYWxzZTsKCQl0aGlzLnRvKHRoaXMucmVsYXRpdmUodGhpcy5jdXJyZW50KCkpICsgMSwgc3BlZWQpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgcHJldmlvdXMgaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbc3BlZWRdIC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNpdGlvbi4KCSAqLwoJT3dsLnByb3RvdHlwZS5wcmV2ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQlzcGVlZCA9IHNwZWVkIHx8IGZhbHNlOwoJCXRoaXMudG8odGhpcy5yZWxhdGl2ZSh0aGlzLmN1cnJlbnQoKSkgLSAxLCBzcGVlZCk7Cgl9OwoKCS8qKgoJICogSGFuZGxlcyB0aGUgZW5kIG9mIGFuIGFuaW1hdGlvbi4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS5vblRyYW5zaXRpb25FbmQgPSBmdW5jdGlvbihldmVudCkgewoKCQkvLyBpZiBjc3MyIGFuaW1hdGlvbiB0aGVuIGV2ZW50IG9iamVjdCBpcyB1bmRlZmluZWQKCQlpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkgewoJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCS8vIENhdGNoIG9ubHkgb3dsLXN0YWdlIHRyYW5zaXRpb25FbmQgZXZlbnQKCQkJaWYgKChldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudCB8fCBldmVudC5vcmlnaW5hbFRhcmdldCkgIT09IHRoaXMuJHN0YWdlLmdldCgwKSkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoKCQl0aGlzLmxlYXZlKCdhbmltYXRpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3RyYW5zbGF0ZWQnKTsKCX07CgoJLyoqCgkgKiBHZXRzIHZpZXdwb3J0IHdpZHRoLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybiB7TnVtYmVyfSAtIFRoZSB3aWR0aCBpbiBwaXhlbC4KCSAqLwoJT3dsLnByb3RvdHlwZS52aWV3cG9ydCA9IGZ1bmN0aW9uKCkgewoJCXZhciB3aWR0aDsKCQlpZiAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCAhPT0gd2luZG93KSB7CgkJCXdpZHRoID0gJCh0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUJhc2VFbGVtZW50KS53aWR0aCgpOwoJCX0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGgpIHsKCQkJd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsKCQl9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpIHsKCQkJd2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7CgkJfSBlbHNlIHsKCQkJY29uc29sZS53YXJuKCdDYW4gbm90IGRldGVjdCB2aWV3cG9ydCB3aWR0aC4nKTsKCQl9CgkJcmV0dXJuIHdpZHRoOwoJfTsKCgkvKioKCSAqIFJlcGxhY2VzIHRoZSBjdXJyZW50IGNvbnRlbnQuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge0hUTUxFbGVtZW50fGpRdWVyeXxTdHJpbmd9IGNvbnRlbnQgLSBUaGUgbmV3IGNvbnRlbnQuCgkgKi8KCU93bC5wcm90b3R5cGUucmVwbGFjZSA9IGZ1bmN0aW9uKGNvbnRlbnQpIHsKCQl0aGlzLiRzdGFnZS5lbXB0eSgpOwoJCXRoaXMuX2l0ZW1zID0gW107CgoJCWlmIChjb250ZW50KSB7CgkJCWNvbnRlbnQgPSAoY29udGVudCBpbnN0YW5jZW9mIGpRdWVyeSkgPyBjb250ZW50IDogJChjb250ZW50KTsKCQl9CgoJCWlmICh0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvcikgewoJCQljb250ZW50ID0gY29udGVudC5maW5kKCcuJyArIHRoaXMuc2V0dGluZ3MubmVzdGVkSXRlbVNlbGVjdG9yKTsKCQl9CgoJCWNvbnRlbnQuZmlsdGVyKGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5ub2RlVHlwZSA9PT0gMTsKCQl9KS5lYWNoKCQucHJveHkoZnVuY3Rpb24oaW5kZXgsIGl0ZW0pIHsKCQkJaXRlbSA9IHRoaXMucHJlcGFyZShpdGVtKTsKCQkJdGhpcy4kc3RhZ2UuYXBwZW5kKGl0ZW0pOwoJCQl0aGlzLl9pdGVtcy5wdXNoKGl0ZW0pOwoJCQl0aGlzLl9tZXJnZXJzLnB1c2goaXRlbS5maW5kKCdbZGF0YS1tZXJnZV0nKS5hZGRCYWNrKCdbZGF0YS1tZXJnZV0nKS5hdHRyKCdkYXRhLW1lcmdlJykgKiAxIHx8IDEpOwoJCX0sIHRoaXMpKTsKCgkJdGhpcy5yZXNldCh0aGlzLmlzTnVtZXJpYyh0aGlzLnNldHRpbmdzLnN0YXJ0UG9zaXRpb24pID8gdGhpcy5zZXR0aW5ncy5zdGFydFBvc2l0aW9uIDogMCk7CgoJCXRoaXMuaW52YWxpZGF0ZSgnaXRlbXMnKTsKCX07CgoJLyoqCgkgKiBBZGRzIGFuIGl0ZW0uCgkgKiBAdG9kbyBVc2UgYGl0ZW1gIGluc3RlYWQgb2YgYGNvbnRlbnRgIGZvciB0aGUgZXZlbnQgYXJndW1lbnRzLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtIVE1MRWxlbWVudHxqUXVlcnl8U3RyaW5nfSBjb250ZW50IC0gVGhlIGl0ZW0gY29udGVudCB0byBhZGQuCgkgKiBAcGFyYW0ge051bWJlcn0gW3Bvc2l0aW9uXSAtIFRoZSByZWxhdGl2ZSBwb3NpdGlvbiBhdCB3aGljaCB0byBpbnNlcnQgdGhlIGl0ZW0gb3RoZXJ3aXNlIHRoZSBpdGVtIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGVuZC4KCSAqLwoJT3dsLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbihjb250ZW50LCBwb3NpdGlvbikgewoJCXZhciBjdXJyZW50ID0gdGhpcy5yZWxhdGl2ZSh0aGlzLl9jdXJyZW50KTsKCgkJcG9zaXRpb24gPSBwb3NpdGlvbiA9PT0gdW5kZWZpbmVkID8gdGhpcy5faXRlbXMubGVuZ3RoIDogdGhpcy5ub3JtYWxpemUocG9zaXRpb24sIHRydWUpOwoJCWNvbnRlbnQgPSBjb250ZW50IGluc3RhbmNlb2YgalF1ZXJ5ID8gY29udGVudCA6ICQoY29udGVudCk7CgoJCXRoaXMudHJpZ2dlcignYWRkJywgeyBjb250ZW50OiBjb250ZW50LCBwb3NpdGlvbjogcG9zaXRpb24gfSk7CgoJCWNvbnRlbnQgPSB0aGlzLnByZXBhcmUoY29udGVudCk7CgoJCWlmICh0aGlzLl9pdGVtcy5sZW5ndGggPT09IDAgfHwgcG9zaXRpb24gPT09IHRoaXMuX2l0ZW1zLmxlbmd0aCkgewoJCQl0aGlzLl9pdGVtcy5sZW5ndGggPT09IDAgJiYgdGhpcy4kc3RhZ2UuYXBwZW5kKGNvbnRlbnQpOwoJCQl0aGlzLl9pdGVtcy5sZW5ndGggIT09IDAgJiYgdGhpcy5faXRlbXNbcG9zaXRpb24gLSAxXS5hZnRlcihjb250ZW50KTsKCQkJdGhpcy5faXRlbXMucHVzaChjb250ZW50KTsKCQkJdGhpcy5fbWVyZ2Vycy5wdXNoKGNvbnRlbnQuZmluZCgnW2RhdGEtbWVyZ2VdJykuYWRkQmFjaygnW2RhdGEtbWVyZ2VdJykuYXR0cignZGF0YS1tZXJnZScpICogMSB8fCAxKTsKCQl9IGVsc2UgewoJCQl0aGlzLl9pdGVtc1twb3NpdGlvbl0uYmVmb3JlKGNvbnRlbnQpOwoJCQl0aGlzLl9pdGVtcy5zcGxpY2UocG9zaXRpb24sIDAsIGNvbnRlbnQpOwoJCQl0aGlzLl9tZXJnZXJzLnNwbGljZShwb3NpdGlvbiwgMCwgY29udGVudC5maW5kKCdbZGF0YS1tZXJnZV0nKS5hZGRCYWNrKCdbZGF0YS1tZXJnZV0nKS5hdHRyKCdkYXRhLW1lcmdlJykgKiAxIHx8IDEpOwoJCX0KCgkJdGhpcy5faXRlbXNbY3VycmVudF0gJiYgdGhpcy5yZXNldCh0aGlzLl9pdGVtc1tjdXJyZW50XS5pbmRleCgpKTsKCgkJdGhpcy5pbnZhbGlkYXRlKCdpdGVtcycpOwoKCQl0aGlzLnRyaWdnZXIoJ2FkZGVkJywgeyBjb250ZW50OiBjb250ZW50LCBwb3NpdGlvbjogcG9zaXRpb24gfSk7Cgl9OwoKCS8qKgoJICogUmVtb3ZlcyBhbiBpdGVtIGJ5IGl0cyBwb3NpdGlvbi4KCSAqIEB0b2RvIFVzZSBgaXRlbWAgaW5zdGVhZCBvZiBgY29udGVudGAgZm9yIHRoZSBldmVudCBhcmd1bWVudHMuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIGl0ZW0gdG8gcmVtb3ZlLgoJICovCglPd2wucHJvdG90eXBlLnJlbW92ZSA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgkJcG9zaXRpb24gPSB0aGlzLm5vcm1hbGl6ZShwb3NpdGlvbiwgdHJ1ZSk7CgoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMudHJpZ2dlcigncmVtb3ZlJywgeyBjb250ZW50OiB0aGlzLl9pdGVtc1twb3NpdGlvbl0sIHBvc2l0aW9uOiBwb3NpdGlvbiB9KTsKCgkJdGhpcy5faXRlbXNbcG9zaXRpb25dLnJlbW92ZSgpOwoJCXRoaXMuX2l0ZW1zLnNwbGljZShwb3NpdGlvbiwgMSk7CgkJdGhpcy5fbWVyZ2Vycy5zcGxpY2UocG9zaXRpb24sIDEpOwoKCQl0aGlzLmludmFsaWRhdGUoJ2l0ZW1zJyk7CgoJCXRoaXMudHJpZ2dlcigncmVtb3ZlZCcsIHsgY29udGVudDogbnVsbCwgcG9zaXRpb246IHBvc2l0aW9uIH0pOwoJfTsKCgkvKioKCSAqIFByZWxvYWRzIGltYWdlcyB3aXRoIGF1dG8gd2lkdGguCgkgKiBAdG9kbyBSZXBsYWNlIGJ5IGEgbW9yZSBnZW5lcmljIGFwcHJvYWNoCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUucHJlbG9hZEF1dG9XaWR0aEltYWdlcyA9IGZ1bmN0aW9uKGltYWdlcykgewoJCWltYWdlcy5lYWNoKCQucHJveHkoZnVuY3Rpb24oaSwgZWxlbWVudCkgewoJCQl0aGlzLmVudGVyKCdwcmUtbG9hZGluZycpOwoJCQllbGVtZW50ID0gJChlbGVtZW50KTsKCQkJJChuZXcgSW1hZ2UoKSkub25lKCdsb2FkJywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQllbGVtZW50LmF0dHIoJ3NyYycsIGUudGFyZ2V0LnNyYyk7CgkJCQllbGVtZW50LmNzcygnb3BhY2l0eScsIDEpOwoJCQkJdGhpcy5sZWF2ZSgncHJlLWxvYWRpbmcnKTsKCQkJCSF0aGlzLmlzKCdwcmUtbG9hZGluZycpICYmICF0aGlzLmlzKCdpbml0aWFsaXppbmcnKSAmJiB0aGlzLnJlZnJlc2goKTsKCQkJfSwgdGhpcykpLmF0dHIoJ3NyYycsIGVsZW1lbnQuYXR0cignc3JjJykgfHwgZWxlbWVudC5hdHRyKCdkYXRhLXNyYycpIHx8IGVsZW1lbnQuYXR0cignZGF0YS1zcmMtcmV0aW5hJykpOwoJCX0sIHRoaXMpKTsKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgY2Fyb3VzZWwuCgkgKiBAcHVibGljCgkgKi8KCU93bC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoKCQl0aGlzLiRlbGVtZW50Lm9mZignLm93bC5jb3JlJyk7CgkJdGhpcy4kc3RhZ2Uub2ZmKCcub3dsLmNvcmUnKTsKCQkkKGRvY3VtZW50KS5vZmYoJy5vd2wuY29yZScpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlICE9PSBmYWxzZSkgewoJCQl3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZXIpOwoJCQl0aGlzLm9mZih3aW5kb3csICdyZXNpemUnLCB0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSk7CgkJfQoKCQlmb3IgKHZhciBpIGluIHRoaXMuX3BsdWdpbnMpIHsKCQkJdGhpcy5fcGx1Z2luc1tpXS5kZXN0cm95KCk7CgkJfQoKCQl0aGlzLiRzdGFnZS5jaGlsZHJlbignLmNsb25lZCcpLnJlbW92ZSgpOwoKCQl0aGlzLiRzdGFnZS51bndyYXAoKTsKCQl0aGlzLiRzdGFnZS5jaGlsZHJlbigpLmNvbnRlbnRzKCkudW53cmFwKCk7CgkJdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS51bndyYXAoKTsKCQl0aGlzLiRzdGFnZS5yZW1vdmUoKTsKCQl0aGlzLiRlbGVtZW50CgkJCS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcykKCQkJLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5sb2FkZWRDbGFzcykKCQkJLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ydGxDbGFzcykKCQkJLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5kcmFnQ2xhc3MpCgkJCS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuZ3JhYkNsYXNzKQoJCQkuYXR0cignY2xhc3MnLCB0aGlzLiRlbGVtZW50LmF0dHIoJ2NsYXNzJykucmVwbGFjZShuZXcgUmVnRXhwKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MgKyAnLVxcUytcXHMnLCAnZycpLCAnJykpCgkJCS5yZW1vdmVEYXRhKCdvd2wuY2Fyb3VzZWwnKTsKCX07CgoJLyoqCgkgKiBPcGVyYXRvcnMgdG8gY2FsY3VsYXRlIHJpZ2h0LXRvLWxlZnQgYW5kIGxlZnQtdG8tcmlnaHQuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge051bWJlcn0gW2FdIC0gVGhlIGxlZnQgc2lkZSBvcGVyYW5kLgoJICogQHBhcmFtIHtTdHJpbmd9IFtvXSAtIFRoZSBvcGVyYXRvci4KCSAqIEBwYXJhbSB7TnVtYmVyfSBbYl0gLSBUaGUgcmlnaHQgc2lkZSBvcGVyYW5kLgoJICovCglPd2wucHJvdG90eXBlLm9wID0gZnVuY3Rpb24oYSwgbywgYikgewoJCXZhciBydGwgPSB0aGlzLnNldHRpbmdzLnJ0bDsKCQlzd2l0Y2ggKG8pIHsKCQkJY2FzZSAnPCc6CgkJCQlyZXR1cm4gcnRsID8gYSA+IGIgOiBhIDwgYjsKCQkJY2FzZSAnPic6CgkJCQlyZXR1cm4gcnRsID8gYSA8IGIgOiBhID4gYjsKCQkJY2FzZSAnPj0nOgoJCQkJcmV0dXJuIHJ0bCA/IGEgPD0gYiA6IGEgPj0gYjsKCQkJY2FzZSAnPD0nOgoJCQkJcmV0dXJuIHJ0bCA/IGEgPj0gYiA6IGEgPD0gYjsKCQkJZGVmYXVsdDoKCQkJCWJyZWFrOwoJCX0KCX07CgoJLyoqCgkgKiBBdHRhY2hlcyB0byBhbiBpbnRlcm5hbCBldmVudC4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZXZlbnQgc291cmNlLgoJICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50IC0gVGhlIGV2ZW50IG5hbWUuCgkgKiBAcGFyYW0ge0Z1bmN0aW9ufSBsaXN0ZW5lciAtIFRoZSBldmVudCBoYW5kbGVyIHRvIGF0dGFjaC4KCSAqIEBwYXJhbSB7Qm9vbGVhbn0gY2FwdHVyZSAtIFdldGhlciB0aGUgZXZlbnQgc2hvdWxkIGJlIGhhbmRsZWQgYXQgdGhlIGNhcHR1cmluZyBwaGFzZSBvciBub3QuCgkgKi8KCU93bC5wcm90b3R5cGUub24gPSBmdW5jdGlvbihlbGVtZW50LCBldmVudCwgbGlzdGVuZXIsIGNhcHR1cmUpIHsKCQlpZiAoZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKSB7CgkJCWVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIsIGNhcHR1cmUpOwoJCX0gZWxzZSBpZiAoZWxlbWVudC5hdHRhY2hFdmVudCkgewoJCQllbGVtZW50LmF0dGFjaEV2ZW50KCdvbicgKyBldmVudCwgbGlzdGVuZXIpOwoJCX0KCX07CgoJLyoqCgkgKiBEZXRhY2hlcyBmcm9tIGFuIGludGVybmFsIGV2ZW50LgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBldmVudCBzb3VyY2UuCgkgKiBAcGFyYW0ge1N0cmluZ30gZXZlbnQgLSBUaGUgZXZlbnQgbmFtZS4KCSAqIEBwYXJhbSB7RnVuY3Rpb259IGxpc3RlbmVyIC0gVGhlIGF0dGFjaGVkIGV2ZW50IGhhbmRsZXIgdG8gZGV0YWNoLgoJICogQHBhcmFtIHtCb29sZWFufSBjYXB0dXJlIC0gV2V0aGVyIHRoZSBhdHRhY2hlZCBldmVudCBoYW5kbGVyIHdhcyByZWdpc3RlcmVkIGFzIGEgY2FwdHVyaW5nIGxpc3RlbmVyIG9yIG5vdC4KCSAqLwoJT3dsLnByb3RvdHlwZS5vZmYgPSBmdW5jdGlvbihlbGVtZW50LCBldmVudCwgbGlzdGVuZXIsIGNhcHR1cmUpIHsKCQlpZiAoZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKSB7CgkJCWVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIsIGNhcHR1cmUpOwoJCX0gZWxzZSBpZiAoZWxlbWVudC5kZXRhY2hFdmVudCkgewoJCQllbGVtZW50LmRldGFjaEV2ZW50KCdvbicgKyBldmVudCwgbGlzdGVuZXIpOwoJCX0KCX07CgoJLyoqCgkgKiBUcmlnZ2VycyBhIHB1YmxpYyBldmVudC4KCSAqIEB0b2RvIFJlbW92ZSBgc3RhdHVzYCwgYHJlbGF0ZWRUYXJnZXRgIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge1N0cmluZ30gbmFtZSAtIFRoZSBldmVudCBuYW1lLgoJICogQHBhcmFtIHsqfSBbZGF0YT1udWxsXSAtIFRoZSBldmVudCBkYXRhLgoJICogQHBhcmFtIHtTdHJpbmd9IFtuYW1lc3BhY2U9Y2Fyb3VzZWxdIC0gVGhlIGV2ZW50IG5hbWVzcGFjZS4KCSAqIEBwYXJhbSB7U3RyaW5nfSBbc3RhdGVdIC0gVGhlIHN0YXRlIHdoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXZlbnQuCgkgKiBAcGFyYW0ge0Jvb2xlYW59IFtlbnRlcj1mYWxzZV0gLSBJbmRpY2F0ZXMgaWYgdGhlIGNhbGwgZW50ZXJzIHRoZSBzcGVjaWZpZWQgc3RhdGUgb3Igbm90LgoJICogQHJldHVybnMge0V2ZW50fSAtIFRoZSBldmVudCBhcmd1bWVudHMuCgkgKi8KCU93bC5wcm90b3R5cGUudHJpZ2dlciA9IGZ1bmN0aW9uKG5hbWUsIGRhdGEsIG5hbWVzcGFjZSwgc3RhdGUsIGVudGVyKSB7CgkJdmFyIHN0YXR1cyA9IHsKCQkJaXRlbTogeyBjb3VudDogdGhpcy5faXRlbXMubGVuZ3RoLCBpbmRleDogdGhpcy5jdXJyZW50KCkgfQoJCX0sIGhhbmRsZXIgPSAkLmNhbWVsQ2FzZSgKCQkJJC5ncmVwKFsgJ29uJywgbmFtZSwgbmFtZXNwYWNlIF0sIGZ1bmN0aW9uKHYpIHsgcmV0dXJuIHYgfSkKCQkJCS5qb2luKCctJykudG9Mb3dlckNhc2UoKQoJCSksIGV2ZW50ID0gJC5FdmVudCgKCQkJWyBuYW1lLCAnb3dsJywgbmFtZXNwYWNlIHx8ICdjYXJvdXNlbCcgXS5qb2luKCcuJykudG9Mb3dlckNhc2UoKSwKCQkJJC5leHRlbmQoeyByZWxhdGVkVGFyZ2V0OiB0aGlzIH0sIHN0YXR1cywgZGF0YSkKCQkpOwoKCQlpZiAoIXRoaXMuX3N1cHJlc3NbbmFtZV0pIHsKCQkJJC5lYWNoKHRoaXMuX3BsdWdpbnMsIGZ1bmN0aW9uKG5hbWUsIHBsdWdpbikgewoJCQkJaWYgKHBsdWdpbi5vblRyaWdnZXIpIHsKCQkJCQlwbHVnaW4ub25UcmlnZ2VyKGV2ZW50KTsKCQkJCX0KCQkJfSk7CgoJCQl0aGlzLnJlZ2lzdGVyKHsgdHlwZTogT3dsLlR5cGUuRXZlbnQsIG5hbWU6IG5hbWUgfSk7CgkJCXRoaXMuJGVsZW1lbnQudHJpZ2dlcihldmVudCk7CgoJCQlpZiAodGhpcy5zZXR0aW5ncyAmJiB0eXBlb2YgdGhpcy5zZXR0aW5nc1toYW5kbGVyXSA9PT0gJ2Z1bmN0aW9uJykgewoJCQkJdGhpcy5zZXR0aW5nc1toYW5kbGVyXS5jYWxsKHRoaXMsIGV2ZW50KTsKCQkJfQoJCX0KCgkJcmV0dXJuIGV2ZW50OwoJfTsKCgkvKioKCSAqIEVudGVycyBhIHN0YXRlLgoJICogQHBhcmFtIG5hbWUgLSBUaGUgc3RhdGUgbmFtZS4KCSAqLwoJT3dsLnByb3RvdHlwZS5lbnRlciA9IGZ1bmN0aW9uKG5hbWUpIHsKCQkkLmVhY2goWyBuYW1lIF0uY29uY2F0KHRoaXMuX3N0YXRlcy50YWdzW25hbWVdIHx8IFtdKSwgJC5wcm94eShmdW5jdGlvbihpLCBuYW1lKSB7CgkJCWlmICh0aGlzLl9zdGF0ZXMuY3VycmVudFtuYW1lXSA9PT0gdW5kZWZpbmVkKSB7CgkJCQl0aGlzLl9zdGF0ZXMuY3VycmVudFtuYW1lXSA9IDA7CgkJCX0KCgkJCXRoaXMuX3N0YXRlcy5jdXJyZW50W25hbWVdKys7CgkJfSwgdGhpcykpOwoJfTsKCgkvKioKCSAqIExlYXZlcyBhIHN0YXRlLgoJICogQHBhcmFtIG5hbWUgLSBUaGUgc3RhdGUgbmFtZS4KCSAqLwoJT3dsLnByb3RvdHlwZS5sZWF2ZSA9IGZ1bmN0aW9uKG5hbWUpIHsKCQkkLmVhY2goWyBuYW1lIF0uY29uY2F0KHRoaXMuX3N0YXRlcy50YWdzW25hbWVdIHx8IFtdKSwgJC5wcm94eShmdW5jdGlvbihpLCBuYW1lKSB7CgkJCXRoaXMuX3N0YXRlcy5jdXJyZW50W25hbWVdLS07CgkJfSwgdGhpcykpOwoJfTsKCgkvKioKCSAqIFJlZ2lzdGVycyBhbiBldmVudCBvciBzdGF0ZS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgLSBUaGUgZXZlbnQgb3Igc3RhdGUgdG8gcmVnaXN0ZXIuCgkgKi8KCU93bC5wcm90b3R5cGUucmVnaXN0ZXIgPSBmdW5jdGlvbihvYmplY3QpIHsKCQlpZiAob2JqZWN0LnR5cGUgPT09IE93bC5UeXBlLkV2ZW50KSB7CgkJCWlmICghJC5ldmVudC5zcGVjaWFsW29iamVjdC5uYW1lXSkgewoJCQkJJC5ldmVudC5zcGVjaWFsW29iamVjdC5uYW1lXSA9IHt9OwoJCQl9CgoJCQlpZiAoISQuZXZlbnQuc3BlY2lhbFtvYmplY3QubmFtZV0ub3dsKSB7CgkJCQl2YXIgX2RlZmF1bHQgPSAkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdLl9kZWZhdWx0OwoJCQkJJC5ldmVudC5zcGVjaWFsW29iamVjdC5uYW1lXS5fZGVmYXVsdCA9IGZ1bmN0aW9uKGUpIHsKCQkJCQlpZiAoX2RlZmF1bHQgJiYgX2RlZmF1bHQuYXBwbHkgJiYgKCFlLm5hbWVzcGFjZSB8fCBlLm5hbWVzcGFjZS5pbmRleE9mKCdvd2wnKSA9PT0gLTEpKSB7CgkJCQkJCXJldHVybiBfZGVmYXVsdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoJCQkJCX0KCQkJCQlyZXR1cm4gZS5uYW1lc3BhY2UgJiYgZS5uYW1lc3BhY2UuaW5kZXhPZignb3dsJykgPiAtMTsKCQkJCX07CgkJCQkkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdLm93bCA9IHRydWU7CgkJCX0KCQl9IGVsc2UgaWYgKG9iamVjdC50eXBlID09PSBPd2wuVHlwZS5TdGF0ZSkgewoJCQlpZiAoIXRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXSkgewoJCQkJdGhpcy5fc3RhdGVzLnRhZ3Nbb2JqZWN0Lm5hbWVdID0gb2JqZWN0LnRhZ3M7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLl9zdGF0ZXMudGFnc1tvYmplY3QubmFtZV0gPSB0aGlzLl9zdGF0ZXMudGFnc1tvYmplY3QubmFtZV0uY29uY2F0KG9iamVjdC50YWdzKTsKCQkJfQoKCQkJdGhpcy5fc3RhdGVzLnRhZ3Nbb2JqZWN0Lm5hbWVdID0gJC5ncmVwKHRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXSwgJC5wcm94eShmdW5jdGlvbih0YWcsIGkpIHsKCQkJCXJldHVybiAkLmluQXJyYXkodGFnLCB0aGlzLl9zdGF0ZXMudGFnc1tvYmplY3QubmFtZV0pID09PSBpOwoJCQl9LCB0aGlzKSk7CgkJfQoJfTsKCgkvKioKCSAqIFN1cHByZXNzZXMgZXZlbnRzLgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gZXZlbnRzIC0gVGhlIGV2ZW50cyB0byBzdXBwcmVzcy4KCSAqLwoJT3dsLnByb3RvdHlwZS5zdXBwcmVzcyA9IGZ1bmN0aW9uKGV2ZW50cykgewoJCSQuZWFjaChldmVudHMsICQucHJveHkoZnVuY3Rpb24oaW5kZXgsIGV2ZW50KSB7CgkJCXRoaXMuX3N1cHJlc3NbZXZlbnRdID0gdHJ1ZTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogUmVsZWFzZXMgc3VwcHJlc3NlZCBldmVudHMuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge0FycmF5LjxTdHJpbmc+fSBldmVudHMgLSBUaGUgZXZlbnRzIHRvIHJlbGVhc2UuCgkgKi8KCU93bC5wcm90b3R5cGUucmVsZWFzZSA9IGZ1bmN0aW9uKGV2ZW50cykgewoJCSQuZWFjaChldmVudHMsICQucHJveHkoZnVuY3Rpb24oaW5kZXgsIGV2ZW50KSB7CgkJCWRlbGV0ZSB0aGlzLl9zdXByZXNzW2V2ZW50XTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogR2V0cyB1bmlmaWVkIHBvaW50ZXIgY29vcmRpbmF0ZXMgZnJvbSBldmVudC4KCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IC0gVGhlIGBtb3VzZWRvd25gIG9yIGB0b3VjaHN0YXJ0YCBldmVudC4KCSAqIEByZXR1cm5zIHtPYmplY3R9IC0gQ29udGFpbnMgYHhgIGFuZCBgeWAgY29vcmRpbmF0ZXMgb2YgY3VycmVudCBwb2ludGVyIHBvc2l0aW9uLgoJICovCglPd2wucHJvdG90eXBlLnBvaW50ZXIgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciByZXN1bHQgPSB7IHg6IG51bGwsIHk6IG51bGwgfTsKCgkJZXZlbnQgPSBldmVudC5vcmlnaW5hbEV2ZW50IHx8IGV2ZW50IHx8IHdpbmRvdy5ldmVudDsKCgkJZXZlbnQgPSBldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXMubGVuZ3RoID8KCQkJZXZlbnQudG91Y2hlc1swXSA6IGV2ZW50LmNoYW5nZWRUb3VjaGVzICYmIGV2ZW50LmNoYW5nZWRUb3VjaGVzLmxlbmd0aCA/CgkJCQlldmVudC5jaGFuZ2VkVG91Y2hlc1swXSA6IGV2ZW50OwoKCQlpZiAoZXZlbnQucGFnZVgpIHsKCQkJcmVzdWx0LnggPSBldmVudC5wYWdlWDsKCQkJcmVzdWx0LnkgPSBldmVudC5wYWdlWTsKCQl9IGVsc2UgewoJCQlyZXN1bHQueCA9IGV2ZW50LmNsaWVudFg7CgkJCXJlc3VsdC55ID0gZXZlbnQuY2xpZW50WTsKCQl9CgoJCXJldHVybiByZXN1bHQ7Cgl9OwoKCS8qKgoJICogRGV0ZXJtaW5lcyBpZiB0aGUgaW5wdXQgaXMgYSBOdW1iZXIgb3Igc29tZXRoaW5nIHRoYXQgY2FuIGJlIGNvZXJjZWQgdG8gYSBOdW1iZXIKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ3xPYmplY3R8QXJyYXl8Qm9vbGVhbnxSZWdFeHB8RnVuY3Rpb258U3ltYm9sfSAtIFRoZSBpbnB1dCB0byBiZSB0ZXN0ZWQKCSAqIEByZXR1cm5zIHtCb29sZWFufSAtIEFuIGluZGljYXRpb24gaWYgdGhlIGlucHV0IGlzIGEgTnVtYmVyIG9yIGNhbiBiZSBjb2VyY2VkIHRvIGEgTnVtYmVyCgkgKi8KCU93bC5wcm90b3R5cGUuaXNOdW1lcmljID0gZnVuY3Rpb24obnVtYmVyKSB7CgkJcmV0dXJuICFpc05hTihwYXJzZUZsb2F0KG51bWJlcikpOwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIGRpZmZlcmVuY2Ugb2YgdHdvIHZlY3RvcnMuCgkgKiBAdG9kbyAjMjYxCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge09iamVjdH0gLSBUaGUgZmlyc3QgdmVjdG9yLgoJICogQHBhcmFtIHtPYmplY3R9IC0gVGhlIHNlY29uZCB2ZWN0b3IuCgkgKiBAcmV0dXJucyB7T2JqZWN0fSAtIFRoZSBkaWZmZXJlbmNlLgoJICovCglPd2wucHJvdG90eXBlLmRpZmZlcmVuY2UgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kKSB7CgkJcmV0dXJuIHsKCQkJeDogZmlyc3QueCAtIHNlY29uZC54LAoJCQl5OiBmaXJzdC55IC0gc2Vjb25kLnkKCQl9OwoJfTsKCgkvKioKCSAqIFRoZSBqUXVlcnkgUGx1Z2luIGZvciB0aGUgT3dsIENhcm91c2VsCgkgKiBAdG9kbyBOYXZpZ2F0aW9uIHBsdWdpbiBgbmV4dGAgYW5kIGBwcmV2YAoJICogQHB1YmxpYwoJICovCgkkLmZuLm93bENhcm91c2VsID0gZnVuY3Rpb24ob3B0aW9uKSB7CgkJdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpOwoKCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQl2YXIgJHRoaXMgPSAkKHRoaXMpLAoJCQkJZGF0YSA9ICR0aGlzLmRhdGEoJ293bC5jYXJvdXNlbCcpOwoKCQkJaWYgKCFkYXRhKSB7CgkJCQlkYXRhID0gbmV3IE93bCh0aGlzLCB0eXBlb2Ygb3B0aW9uID09ICdvYmplY3QnICYmIG9wdGlvbik7CgkJCQkkdGhpcy5kYXRhKCdvd2wuY2Fyb3VzZWwnLCBkYXRhKTsKCgkJCQkkLmVhY2goWwoJCQkJCSduZXh0JywgJ3ByZXYnLCAndG8nLCAnZGVzdHJveScsICdyZWZyZXNoJywgJ3JlcGxhY2UnLCAnYWRkJywgJ3JlbW92ZScKCQkJCV0sIGZ1bmN0aW9uKGksIGV2ZW50KSB7CgkJCQkJZGF0YS5yZWdpc3Rlcih7IHR5cGU6IE93bC5UeXBlLkV2ZW50LCBuYW1lOiBldmVudCB9KTsKCQkJCQlkYXRhLiRlbGVtZW50Lm9uKGV2ZW50ICsgJy5vd2wuY2Fyb3VzZWwuY29yZScsICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgZS5yZWxhdGVkVGFyZ2V0ICE9PSB0aGlzKSB7CgkJCQkJCQl0aGlzLnN1cHByZXNzKFsgZXZlbnQgXSk7CgkJCQkJCQlkYXRhW2V2ZW50XS5hcHBseSh0aGlzLCBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwoJCQkJCQkJdGhpcy5yZWxlYXNlKFsgZXZlbnQgXSk7CgkJCQkJCX0KCQkJCQl9LCBkYXRhKSk7CgkJCQl9KTsKCQkJfQoKCQkJaWYgKHR5cGVvZiBvcHRpb24gPT0gJ3N0cmluZycgJiYgb3B0aW9uLmNoYXJBdCgwKSAhPT0gJ18nKSB7CgkJCQlkYXRhW29wdGlvbl0uYXBwbHkoZGF0YSwgYXJncyk7CgkJCX0KCQl9KTsKCX07CgoJLyoqCgkgKiBUaGUgY29uc3RydWN0b3IgZm9yIHRoZSBqUXVlcnkgUGx1Z2luCgkgKiBAcHVibGljCgkgKi8KCSQuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IgPSBPd2w7Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogQXV0b1JlZnJlc2ggUGx1Z2luCiAqIEB2ZXJzaW9uIDIuMy40CiAqIEBhdXRob3IgQXJ0dXMgS29sYW5vd3NraQogKiBAYXV0aG9yIERhdmlkIERldXRzY2gKICogQGxpY2Vuc2UgVGhlIE1JVCBMaWNlbnNlIChNSVQpCiAqLwo7KGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKCS8qKgoJICogQ3JlYXRlcyB0aGUgYXV0byByZWZyZXNoIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgQXV0byBSZWZyZXNoIFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbAoJICovCgl2YXIgQXV0b1JlZnJlc2ggPSBmdW5jdGlvbihjYXJvdXNlbCkgewoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIFJlZnJlc2ggaW50ZXJ2YWwuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtudW1iZXJ9CgkJICovCgkJdGhpcy5faW50ZXJ2YWwgPSBudWxsOwoKCQkvKioKCQkgKiBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIGN1cnJlbnRseSB2aXNpYmxlIG9yIG5vdC4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge0Jvb2xlYW59CgkJICovCgkJdGhpcy5fdmlzaWJsZSA9IG51bGw7CgoJCS8qKgoJCSAqIEFsbCBldmVudCBoYW5kbGVycy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge09iamVjdH0KCQkgKi8KCQl0aGlzLl9oYW5kbGVycyA9IHsKCQkJJ2luaXRpYWxpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b1JlZnJlc2gpIHsKCQkJCQl0aGlzLndhdGNoKCk7CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gc2V0IGRlZmF1bHQgb3B0aW9ucwoJCXRoaXMuX2NvcmUub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBBdXRvUmVmcmVzaC5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCgkJLy8gcmVnaXN0ZXIgZXZlbnQgaGFuZGxlcnMKCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKTsKCX07CgoJLyoqCgkgKiBEZWZhdWx0IG9wdGlvbnMuCgkgKiBAcHVibGljCgkgKi8KCUF1dG9SZWZyZXNoLkRlZmF1bHRzID0gewoJCWF1dG9SZWZyZXNoOiB0cnVlLAoJCWF1dG9SZWZyZXNoSW50ZXJ2YWw6IDUwMAoJfTsKCgkvKioKCSAqIFdhdGNoZXMgdGhlIGVsZW1lbnQuCgkgKi8KCUF1dG9SZWZyZXNoLnByb3RvdHlwZS53YXRjaCA9IGZ1bmN0aW9uKCkgewoJCWlmICh0aGlzLl9pbnRlcnZhbCkgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLl92aXNpYmxlID0gdGhpcy5fY29yZS5pc1Zpc2libGUoKTsKCQl0aGlzLl9pbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgkLnByb3h5KHRoaXMucmVmcmVzaCwgdGhpcyksIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b1JlZnJlc2hJbnRlcnZhbCk7Cgl9OwoKCS8qKgoJICogUmVmcmVzaGVzIHRoZSBlbGVtZW50LgoJICovCglBdXRvUmVmcmVzaC5wcm90b3R5cGUucmVmcmVzaCA9IGZ1bmN0aW9uKCkgewoJCWlmICh0aGlzLl9jb3JlLmlzVmlzaWJsZSgpID09PSB0aGlzLl92aXNpYmxlKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuX3Zpc2libGUgPSAhdGhpcy5fdmlzaWJsZTsKCgkJdGhpcy5fY29yZS4kZWxlbWVudC50b2dnbGVDbGFzcygnb3dsLWhpZGRlbicsICF0aGlzLl92aXNpYmxlKTsKCgkJdGhpcy5fdmlzaWJsZSAmJiAodGhpcy5fY29yZS5pbnZhbGlkYXRlKCd3aWR0aCcpICYmIHRoaXMuX2NvcmUucmVmcmVzaCgpKTsKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICovCglBdXRvUmVmcmVzaC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBwcm9wZXJ0eTsKCgkJd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpOwoKCQlmb3IgKGhhbmRsZXIgaW4gdGhpcy5faGFuZGxlcnMpIHsKCQkJdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoaGFuZGxlciwgdGhpcy5faGFuZGxlcnNbaGFuZGxlcl0pOwoJCX0KCQlmb3IgKHByb3BlcnR5IGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSB7CgkJCXR5cGVvZiB0aGlzW3Byb3BlcnR5XSAhPSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkF1dG9SZWZyZXNoID0gQXV0b1JlZnJlc2g7Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogTGF6eSBQbHVnaW4KICogQHZlcnNpb24gMi4zLjQKICogQGF1dGhvciBCYXJ0b3N6IFdvamNpZWNob3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIGxhenkgcGx1Z2luLgoJICogQGNsYXNzIFRoZSBMYXp5IFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbAoJICovCgl2YXIgTGF6eSA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIEFscmVhZHkgbG9hZGVkIGl0ZW1zLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7QXJyYXkuPGpRdWVyeT59CgkJICovCgkJdGhpcy5fbG9hZGVkID0gW107CgoJCS8qKgoJCSAqIEV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIGNoYW5nZS5vd2wuY2Fyb3VzZWwgcmVzaXplZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmICghZS5uYW1lc3BhY2UpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJaWYgKCF0aGlzLl9jb3JlLnNldHRpbmdzIHx8ICF0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWlmICgoZS5wcm9wZXJ0eSAmJiBlLnByb3BlcnR5Lm5hbWUgPT0gJ3Bvc2l0aW9uJykgfHwgZS50eXBlID09ICdpbml0aWFsaXplZCcpIHsKCQkJCQl2YXIgc2V0dGluZ3MgPSB0aGlzLl9jb3JlLnNldHRpbmdzLAoJCQkJCQluID0gKHNldHRpbmdzLmNlbnRlciAmJiBNYXRoLmNlaWwoc2V0dGluZ3MuaXRlbXMgLyAyKSB8fCBzZXR0aW5ncy5pdGVtcyksCgkJCQkJCWkgPSAoKHNldHRpbmdzLmNlbnRlciAmJiBuICogLTEpIHx8IDApLAoJCQkJCQlwb3NpdGlvbiA9IChlLnByb3BlcnR5ICYmIGUucHJvcGVydHkudmFsdWUgIT09IHVuZGVmaW5lZCA/IGUucHJvcGVydHkudmFsdWUgOiB0aGlzLl9jb3JlLmN1cnJlbnQoKSkgKyBpLAoJCQkJCQljbG9uZXMgPSB0aGlzLl9jb3JlLmNsb25lcygpLmxlbmd0aCwKCQkJCQkJbG9hZCA9ICQucHJveHkoZnVuY3Rpb24oaSwgdikgeyB0aGlzLmxvYWQodikgfSwgdGhpcyk7CgkJCQkJLy9UT0RPOiBOZWVkIGRvY3VtZW50YXRpb24gZm9yIHRoaXMgbmV3IG9wdGlvbgoJCQkJCWlmIChzZXR0aW5ncy5sYXp5TG9hZEVhZ2VyID4gMCkgewoJCQkJCQluICs9IHNldHRpbmdzLmxhenlMb2FkRWFnZXI7CgkJCQkJCS8vIElmIHRoZSBjYXJvdXNlbCBpcyBsb29waW5nIGFsc28gcHJlbG9hZCBpbWFnZXMgdGhhdCBhcmUgdG8gdGhlICJsZWZ0IgoJCQkJCQlpZiAoc2V0dGluZ3MubG9vcCkgewogICAgICAgICAgICAgIHBvc2l0aW9uIC09IHNldHRpbmdzLmxhenlMb2FkRWFnZXI7CiAgICAgICAgICAgICAgbisrOwogICAgICAgICAgICB9CgkJCQkJfQoKCQkJCQl3aGlsZSAoaSsrIDwgbikgewoJCQkJCQl0aGlzLmxvYWQoY2xvbmVzIC8gMiArIHRoaXMuX2NvcmUucmVsYXRpdmUocG9zaXRpb24pKTsKCQkJCQkJY2xvbmVzICYmICQuZWFjaCh0aGlzLl9jb3JlLmNsb25lcyh0aGlzLl9jb3JlLnJlbGF0aXZlKHBvc2l0aW9uKSksIGxvYWQpOwoJCQkJCQlwb3NpdGlvbisrOwoJCQkJCX0KCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyBzZXQgdGhlIGRlZmF1bHQgb3B0aW9ucwoJCXRoaXMuX2NvcmUub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBMYXp5LkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVyCgkJdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglMYXp5LkRlZmF1bHRzID0gewoJCWxhenlMb2FkOiBmYWxzZSwKCQlsYXp5TG9hZEVhZ2VyOiAwCgl9OwoKCS8qKgoJICogTG9hZHMgYWxsIHJlc291cmNlcyBvZiBhbiBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgcG9zaXRpb24uCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIGl0ZW0uCgkgKiBAcHJvdGVjdGVkCgkgKi8KCUxhenkucHJvdG90eXBlLmxvYWQgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXZhciAkaXRlbSA9IHRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCkuZXEocG9zaXRpb24pLAoJCQkkZWxlbWVudHMgPSAkaXRlbSAmJiAkaXRlbS5maW5kKCcub3dsLWxhenknKTsKCgkJaWYgKCEkZWxlbWVudHMgfHwgJC5pbkFycmF5KCRpdGVtLmdldCgwKSwgdGhpcy5fbG9hZGVkKSA+IC0xKSB7CgkJCXJldHVybjsKCQl9CgoJCSRlbGVtZW50cy5lYWNoKCQucHJveHkoZnVuY3Rpb24oaW5kZXgsIGVsZW1lbnQpIHsKCQkJdmFyICRlbGVtZW50ID0gJChlbGVtZW50KSwgaW1hZ2UsCiAgICAgICAgICAgICAgICB1cmwgPSAod2luZG93LmRldmljZVBpeGVsUmF0aW8gPiAxICYmICRlbGVtZW50LmF0dHIoJ2RhdGEtc3JjLXJldGluYScpKSB8fCAkZWxlbWVudC5hdHRyKCdkYXRhLXNyYycpIHx8ICRlbGVtZW50LmF0dHIoJ2RhdGEtc3Jjc2V0Jyk7CgoJCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ2xvYWQnLCB7IGVsZW1lbnQ6ICRlbGVtZW50LCB1cmw6IHVybCB9LCAnbGF6eScpOwoKCQkJaWYgKCRlbGVtZW50LmlzKCdpbWcnKSkgewoJCQkJJGVsZW1lbnQub25lKCdsb2FkLm93bC5sYXp5JywgJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCQkkZWxlbWVudC5jc3MoJ29wYWNpdHknLCAxKTsKCQkJCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ2xvYWRlZCcsIHsgZWxlbWVudDogJGVsZW1lbnQsIHVybDogdXJsIH0sICdsYXp5Jyk7CgkJCQl9LCB0aGlzKSkuYXR0cignc3JjJywgdXJsKTsKICAgICAgICAgICAgfSBlbHNlIGlmICgkZWxlbWVudC5pcygnc291cmNlJykpIHsKICAgICAgICAgICAgICAgICRlbGVtZW50Lm9uZSgnbG9hZC5vd2wubGF6eScsICQucHJveHkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29yZS50cmlnZ2VyKCdsb2FkZWQnLCB7IGVsZW1lbnQ6ICRlbGVtZW50LCB1cmw6IHVybCB9LCAnbGF6eScpOwogICAgICAgICAgICAgICAgfSwgdGhpcykpLmF0dHIoJ3NyY3NldCcsIHVybCk7CgkJCX0gZWxzZSB7CgkJCQlpbWFnZSA9IG5ldyBJbWFnZSgpOwoJCQkJaW1hZ2Uub25sb2FkID0gJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCQkkZWxlbWVudC5jc3MoewoJCQkJCQknYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoIicgKyB1cmwgKyAnIiknLAoJCQkJCQknb3BhY2l0eSc6ICcxJwoJCQkJCX0pOwoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcignbG9hZGVkJywgeyBlbGVtZW50OiAkZWxlbWVudCwgdXJsOiB1cmwgfSwgJ2xhenknKTsKCQkJCX0sIHRoaXMpOwoJCQkJaW1hZ2Uuc3JjID0gdXJsOwoJCQl9CgkJfSwgdGhpcykpOwoKCQl0aGlzLl9sb2FkZWQucHVzaCgkaXRlbS5nZXQoMCkpOwoJfTsKCgkvKioKCSAqIERlc3Ryb3lzIHRoZSBwbHVnaW4uCgkgKiBAcHVibGljCgkgKi8KCUxhenkucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFuZGxlciwgcHJvcGVydHk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLmhhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuaGFuZGxlcnNbaGFuZGxlcl0pOwoJCX0KCQlmb3IgKHByb3BlcnR5IGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSB7CgkJCXR5cGVvZiB0aGlzW3Byb3BlcnR5XSAhPSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkxhenkgPSBMYXp5OwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEF1dG9IZWlnaHQgUGx1Z2luCiAqIEB2ZXJzaW9uIDIuMy40CiAqIEBhdXRob3IgQmFydG9zeiBXb2pjaWVjaG93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhdXRvIGhlaWdodCBwbHVnaW4uCgkgKiBAY2xhc3MgVGhlIEF1dG8gSGVpZ2h0IFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbAoJICovCgl2YXIgQXV0b0hlaWdodCA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJdGhpcy5fcHJldmlvdXNIZWlnaHQgPSBudWxsOwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwgcmVmcmVzaGVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodCkgewoJCQkJCXRoaXMudXBkYXRlKCk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknY2hhbmdlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nKXsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2xvYWRlZC5vd2wubGF6eSc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodAoJCQkJCSYmIGUuZWxlbWVudC5jbG9zZXN0KCcuJyArIHRoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKS5pbmRleCgpID09PSB0aGlzLl9jb3JlLmN1cnJlbnQoKSkgewoJCQkJCXRoaXMudXBkYXRlKCk7CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gc2V0IGRlZmF1bHQgb3B0aW9ucwoJCXRoaXMuX2NvcmUub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBBdXRvSGVpZ2h0LkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVycwoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoJCXRoaXMuX2ludGVydmFsSWQgPSBudWxsOwoJCXZhciByZWZUaGlzID0gdGhpczsKCgkJLy8gVGhlc2UgY2hhbmdlcyBoYXZlIGJlZW4gdGFrZW4gZnJvbSBhIFBSIGJ5IGdhdnJvY2hlbGVnbm91IHByb3Bvc2VkIGluICMxNTc1CgkJLy8gYW5kIGhhdmUgYmVlbiBtYWRlIGNvbXBhdGlibGUgd2l0aCB0aGUgbGF0ZXN0IGpRdWVyeSB2ZXJzaW9uCgkJJCh3aW5kb3cpLm9uKCdsb2FkJywgZnVuY3Rpb24oKSB7CgkJCWlmIChyZWZUaGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQpIHsKCQkJCXJlZlRoaXMudXBkYXRlKCk7CgkJCX0KCQl9KTsKCgkJLy8gQXV0b3Jlc2l6ZSB0aGUgaGVpZ2h0IG9mIHRoZSBjYXJvdXNlbCB3aGVuIHdpbmRvdyBpcyByZXNpemVkCgkJLy8gV2hlbiBjYXJvdXNlbCBoYXMgaW1hZ2VzLCB0aGUgaGVpZ2h0IGlzIGRlcGVuZGVudCBvbiB0aGUgd2lkdGgKCQkvLyBhbmQgc2hvdWxkIGFsc28gY2hhbmdlIG9uIHJlc2l6ZQoJCSQod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKSB7CgkJCWlmIChyZWZUaGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQpIHsKCQkJCWlmIChyZWZUaGlzLl9pbnRlcnZhbElkICE9IG51bGwpIHsKCQkJCQljbGVhclRpbWVvdXQocmVmVGhpcy5faW50ZXJ2YWxJZCk7CgkJCQl9CgoJCQkJcmVmVGhpcy5faW50ZXJ2YWxJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJcmVmVGhpcy51cGRhdGUoKTsKCQkJCX0sIDI1MCk7CgkJCX0KCQl9KTsKCgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglBdXRvSGVpZ2h0LkRlZmF1bHRzID0gewoJCWF1dG9IZWlnaHQ6IGZhbHNlLAoJCWF1dG9IZWlnaHRDbGFzczogJ293bC1oZWlnaHQnCgl9OwoKCS8qKgoJICogVXBkYXRlcyB0aGUgdmlldy4KCSAqLwoJQXV0b0hlaWdodC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7CgkJdmFyIHN0YXJ0ID0gdGhpcy5fY29yZS5fY3VycmVudCwKCQkJZW5kID0gc3RhcnQgKyB0aGlzLl9jb3JlLnNldHRpbmdzLml0ZW1zLAoJCQlsYXp5TG9hZEVuYWJsZWQgPSB0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkLAoJCQl2aXNpYmxlID0gdGhpcy5fY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS50b0FycmF5KCkuc2xpY2Uoc3RhcnQsIGVuZCksCgkJCWhlaWdodHMgPSBbXSwKCQkJbWF4aGVpZ2h0ID0gMDsKCgkJJC5lYWNoKHZpc2libGUsIGZ1bmN0aW9uKGluZGV4LCBpdGVtKSB7CgkJCWhlaWdodHMucHVzaCgkKGl0ZW0pLmhlaWdodCgpKTsKCQl9KTsKCgkJbWF4aGVpZ2h0ID0gTWF0aC5tYXguYXBwbHkobnVsbCwgaGVpZ2h0cyk7CgoJCWlmIChtYXhoZWlnaHQgPD0gMSAmJiBsYXp5TG9hZEVuYWJsZWQgJiYgdGhpcy5fcHJldmlvdXNIZWlnaHQpIHsKCQkJbWF4aGVpZ2h0ID0gdGhpcy5fcHJldmlvdXNIZWlnaHQ7CgkJfQoKCQl0aGlzLl9wcmV2aW91c0hlaWdodCA9IG1heGhlaWdodDsKCgkJdGhpcy5fY29yZS4kc3RhZ2UucGFyZW50KCkKCQkJLmhlaWdodChtYXhoZWlnaHQpCgkJCS5hZGRDbGFzcyh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHRDbGFzcyk7Cgl9OwoKCUF1dG9IZWlnaHQucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFuZGxlciwgcHJvcGVydHk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9PSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkF1dG9IZWlnaHQgPSBBdXRvSGVpZ2h0OwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIFZpZGVvIFBsdWdpbgogKiBAdmVyc2lvbiAyLjMuNAogKiBAYXV0aG9yIEJhcnRvc3ogV29qY2llY2hvd3NraQogKiBAYXV0aG9yIERhdmlkIERldXRzY2gKICogQGxpY2Vuc2UgVGhlIE1JVCBMaWNlbnNlIChNSVQpCiAqLwo7KGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKCS8qKgoJICogQ3JlYXRlcyB0aGUgdmlkZW8gcGx1Z2luLgoJICogQGNsYXNzIFRoZSBWaWRlbyBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBjYXJvdXNlbCAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIFZpZGVvID0gZnVuY3Rpb24oY2Fyb3VzZWwpIHsKCQkvKioKCQkgKiBSZWZlcmVuY2UgdG8gdGhlIGNvcmUuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPd2x9CgkJICovCgkJdGhpcy5fY29yZSA9IGNhcm91c2VsOwoKCQkvKioKCQkgKiBDYWNoZSBhbGwgdmlkZW8gVVJMcy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge09iamVjdH0KCQkgKi8KCQl0aGlzLl92aWRlb3MgPSB7fTsKCgkJLyoqCgkJICogQ3VycmVudCBwbGF5aW5nIGl0ZW0uCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtqUXVlcnl9CgkJICovCgkJdGhpcy5fcGxheWluZyA9IG51bGw7CgoJCS8qKgoJCSAqIEFsbCBldmVudCBoYW5kbGVycy4KCQkgKiBAdG9kbyBUaGUgY2xvbmVkIGNvbnRlbnQgcmVtb3ZhbGUgaXMgdG9vIGxhdGUKCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge09iamVjdH0KCQkgKi8KCQl0aGlzLl9oYW5kbGVycyA9IHsKCQkJJ2luaXRpYWxpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlKSB7CgkJCQkJdGhpcy5fY29yZS5yZWdpc3Rlcih7IHR5cGU6ICdzdGF0ZScsIG5hbWU6ICdwbGF5aW5nJywgdGFnczogWyAnaW50ZXJhY3RpbmcnIF0gfSk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkncmVzaXplLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MudmlkZW8gJiYgdGhpcy5pc0luRnVsbFNjcmVlbigpKSB7CgkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3JlZnJlc2hlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLmlzKCdyZXNpemluZycpKSB7CgkJCQkJdGhpcy5fY29yZS4kc3RhZ2UuZmluZCgnLmNsb25lZCAub3dsLXZpZGVvLWZyYW1lJykucmVtb3ZlKCk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknY2hhbmdlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT09ICdwb3NpdGlvbicgJiYgdGhpcy5fcGxheWluZykgewoJCQkJCXRoaXMuc3RvcCgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3ByZXBhcmVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKCFlLm5hbWVzcGFjZSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQl2YXIgJGVsZW1lbnQgPSAkKGUuY29udGVudCkuZmluZCgnLm93bC12aWRlbycpOwoKCQkJCWlmICgkZWxlbWVudC5sZW5ndGgpIHsKCQkJCQkkZWxlbWVudC5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCQkJCXRoaXMuZmV0Y2goJGVsZW1lbnQsICQoZS5jb250ZW50KSk7CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gc2V0IGRlZmF1bHQgb3B0aW9ucwoJCXRoaXMuX2NvcmUub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBWaWRlby5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCgkJLy8gcmVnaXN0ZXIgZXZlbnQgaGFuZGxlcnMKCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKTsKCgkJdGhpcy5fY29yZS4kZWxlbWVudC5vbignY2xpY2sub3dsLnZpZGVvJywgJy5vd2wtdmlkZW8tcGxheS1pY29uJywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCXRoaXMucGxheShlKTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglWaWRlby5EZWZhdWx0cyA9IHsKCQl2aWRlbzogZmFsc2UsCgkJdmlkZW9IZWlnaHQ6IGZhbHNlLAoJCXZpZGVvV2lkdGg6IGZhbHNlCgl9OwoKCS8qKgoJICogR2V0cyB0aGUgdmlkZW8gSUQgYW5kIHRoZSB0eXBlIChZb3VUdWJlL1ZpbWVvL3Z6YWFyIG9ubHkpLgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtqUXVlcnl9IHRhcmdldCAtIFRoZSB0YXJnZXQgY29udGFpbmluZyB0aGUgdmlkZW8gZGF0YS4KCSAqIEBwYXJhbSB7alF1ZXJ5fSBpdGVtIC0gVGhlIGl0ZW0gY29udGFpbmluZyB0aGUgdmlkZW8uCgkgKi8KCVZpZGVvLnByb3RvdHlwZS5mZXRjaCA9IGZ1bmN0aW9uKHRhcmdldCwgaXRlbSkgewoJCQl2YXIgdHlwZSA9IChmdW5jdGlvbigpIHsKCQkJCQlpZiAodGFyZ2V0LmF0dHIoJ2RhdGEtdmltZW8taWQnKSkgewoJCQkJCQlyZXR1cm4gJ3ZpbWVvJzsKCQkJCQl9IGVsc2UgaWYgKHRhcmdldC5hdHRyKCdkYXRhLXZ6YWFyLWlkJykpIHsKCQkJCQkJcmV0dXJuICd2emFhcicKCQkJCQl9IGVsc2UgewoJCQkJCQlyZXR1cm4gJ3lvdXR1YmUnOwoJCQkJCX0KCQkJCX0pKCksCgkJCQlpZCA9IHRhcmdldC5hdHRyKCdkYXRhLXZpbWVvLWlkJykgfHwgdGFyZ2V0LmF0dHIoJ2RhdGEteW91dHViZS1pZCcpIHx8IHRhcmdldC5hdHRyKCdkYXRhLXZ6YWFyLWlkJyksCgkJCQl3aWR0aCA9IHRhcmdldC5hdHRyKCdkYXRhLXdpZHRoJykgfHwgdGhpcy5fY29yZS5zZXR0aW5ncy52aWRlb1dpZHRoLAoJCQkJaGVpZ2h0ID0gdGFyZ2V0LmF0dHIoJ2RhdGEtaGVpZ2h0JykgfHwgdGhpcy5fY29yZS5zZXR0aW5ncy52aWRlb0hlaWdodCwKCQkJCXVybCA9IHRhcmdldC5hdHRyKCdocmVmJyk7CgoJCWlmICh1cmwpIHsKCgkJCS8qCgkJCQkJUGFyc2VzIHRoZSBpZCdzIG91dCBvZiB0aGUgZm9sbG93aW5nIHVybHMgKGFuZCBwcm9iYWJseSBtb3JlKToKCQkJCQlodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTppZAoJCQkJCWh0dHBzOi8veW91dHUuYmUvOmlkCgkJCQkJaHR0cHM6Ly92aW1lby5jb20vOmlkCgkJCQkJaHR0cHM6Ly92aW1lby5jb20vY2hhbm5lbHMvOmNoYW5uZWwvOmlkCgkJCQkJaHR0cHM6Ly92aW1lby5jb20vZ3JvdXBzLzpncm91cC92aWRlb3MvOmlkCgkJCQkJaHR0cHM6Ly9hcHAudnphYXIuY29tL3ZpZGVvcy86aWQKCgkJCQkJVmlzdWFsIGV4YW1wbGU6IGh0dHBzOi8vcmVnZXhwZXIuY29tLyMoaHR0cCUzQSU3Q2h0dHBzJTNBJTdDKSU1QyUyRiU1QyUyRihwbGF5ZXIuJTdDd3d3LiU3Q2FwcC4pJTNGKHZpbWVvJTVDLmNvbSU3Q3lvdXR1KGJlJTVDLmNvbSU3QyU1Qy5iZSU3Q2JlJTVDLmdvb2dsZWFwaXMlNUMuY29tKSU3Q3Z6YWFyJTVDLmNvbSklNUMlMkYodmlkZW8lNUMlMkYlN0N2aWRlb3MlNUMlMkYlN0NlbWJlZCU1QyUyRiU3Q2NoYW5uZWxzJTVDJTJGLiUyQiU1QyUyRiU3Q2dyb3VwcyU1QyUyRi4lMkIlNUMlMkYlN0N3YXRjaCU1QyUzRnYlM0QlN0N2JTVDJTJGKSUzRiglNUJBLVphLXowLTkuXyUyNS0lNUQqKSglNUMlMjYlNUNTJTJCKSUzRgoJCQkqLwoKCQkJaWQgPSB1cmwubWF0Y2goLyhodHRwOnxodHRwczp8KVwvXC8ocGxheWVyLnx3d3cufGFwcC4pPyh2aW1lb1wuY29tfHlvdXR1KGJlXC5jb218XC5iZXxiZVwuZ29vZ2xlYXBpc1wuY29tfGJlXC1ub2Nvb2tpZVwuY29tKXx2emFhclwuY29tKVwvKHZpZGVvXC98dmlkZW9zXC98ZW1iZWRcL3xjaGFubmVsc1wvLitcL3xncm91cHNcLy4rXC98d2F0Y2hcP3Y9fHZcLyk/KFtBLVphLXowLTkuXyUtXSopKFwmXFMrKT8vKTsKCgkJCWlmIChpZFszXS5pbmRleE9mKCd5b3V0dScpID4gLTEpIHsKCQkJCXR5cGUgPSAneW91dHViZSc7CgkJCX0gZWxzZSBpZiAoaWRbM10uaW5kZXhPZigndmltZW8nKSA+IC0xKSB7CgkJCQl0eXBlID0gJ3ZpbWVvJzsKCQkJfSBlbHNlIGlmIChpZFszXS5pbmRleE9mKCd2emFhcicpID4gLTEpIHsKCQkJCXR5cGUgPSAndnphYXInOwoJCQl9IGVsc2UgewoJCQkJdGhyb3cgbmV3IEVycm9yKCdWaWRlbyBVUkwgbm90IHN1cHBvcnRlZC4nKTsKCQkJfQoJCQlpZCA9IGlkWzZdOwoJCX0gZWxzZSB7CgkJCXRocm93IG5ldyBFcnJvcignTWlzc2luZyB2aWRlbyBVUkwuJyk7CgkJfQoKCQl0aGlzLl92aWRlb3NbdXJsXSA9IHsKCQkJdHlwZTogdHlwZSwKCQkJaWQ6IGlkLAoJCQl3aWR0aDogd2lkdGgsCgkJCWhlaWdodDogaGVpZ2h0CgkJfTsKCgkJaXRlbS5hdHRyKCdkYXRhLXZpZGVvJywgdXJsKTsKCgkJdGhpcy50aHVtYm5haWwodGFyZ2V0LCB0aGlzLl92aWRlb3NbdXJsXSk7Cgl9OwoKCS8qKgoJICogQ3JlYXRlcyB2aWRlbyB0aHVtYm5haWwuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge2pRdWVyeX0gdGFyZ2V0IC0gVGhlIHRhcmdldCBjb250YWluaW5nIHRoZSB2aWRlbyBkYXRhLgoJICogQHBhcmFtIHtPYmplY3R9IGluZm8gLSBUaGUgdmlkZW8gaW5mbyBvYmplY3QuCgkgKiBAc2VlIGBmZXRjaGAKCSAqLwoJVmlkZW8ucHJvdG90eXBlLnRodW1ibmFpbCA9IGZ1bmN0aW9uKHRhcmdldCwgdmlkZW8pIHsKCQl2YXIgdG5MaW5rLAoJCQlpY29uLAoJCQlwYXRoLAoJCQlkaW1lbnNpb25zID0gdmlkZW8ud2lkdGggJiYgdmlkZW8uaGVpZ2h0ID8gJ3dpZHRoOicgKyB2aWRlby53aWR0aCArICdweDtoZWlnaHQ6JyArIHZpZGVvLmhlaWdodCArICdweDsnIDogJycsCgkJCWN1c3RvbVRuID0gdGFyZ2V0LmZpbmQoJ2ltZycpLAoJCQlzcmNUeXBlID0gJ3NyYycsCgkJCWxhenlDbGFzcyA9ICcnLAoJCQlzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCWNyZWF0ZSA9IGZ1bmN0aW9uKHBhdGgpIHsKCQkJCWljb24gPSAnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXBsYXktaWNvbiI+PC9kaXY+JzsKCgkJCQlpZiAoc2V0dGluZ3MubGF6eUxvYWQpIHsKCQkJCQl0bkxpbmsgPSAkKCc8ZGl2Lz4nLHsKCQkJCQkJImNsYXNzIjogJ293bC12aWRlby10biAnICsgbGF6eUNsYXNzLAoJCQkJCQkic3JjVHlwZSI6IHBhdGgKCQkJCQl9KTsKCQkJCX0gZWxzZSB7CgkJCQkJdG5MaW5rID0gJCggJzxkaXYvPicsIHsKCQkJCQkJImNsYXNzIjogIm93bC12aWRlby10biIsCgkJCQkJCSJzdHlsZSI6ICdvcGFjaXR5OjE7YmFja2dyb3VuZC1pbWFnZTp1cmwoJyArIHBhdGggKyAnKScKCQkJCQl9KTsKCQkJCX0KCQkJCXRhcmdldC5hZnRlcih0bkxpbmspOwoJCQkJdGFyZ2V0LmFmdGVyKGljb24pOwoJCQl9OwoKCQkvLyB3cmFwIHZpZGVvIGNvbnRlbnQgaW50byBvd2wtdmlkZW8td3JhcHBlciBkaXYKCQl0YXJnZXQud3JhcCggJCggJzxkaXYvPicsIHsKCQkJImNsYXNzIjogIm93bC12aWRlby13cmFwcGVyIiwKCQkJInN0eWxlIjogZGltZW5zaW9ucwoJCX0pKTsKCgkJaWYgKHRoaXMuX2NvcmUuc2V0dGluZ3MubGF6eUxvYWQpIHsKCQkJc3JjVHlwZSA9ICdkYXRhLXNyYyc7CgkJCWxhenlDbGFzcyA9ICdvd2wtbGF6eSc7CgkJfQoKCQkvLyBjdXN0b20gdGh1bWJuYWlsCgkJaWYgKGN1c3RvbVRuLmxlbmd0aCkgewoJCQljcmVhdGUoY3VzdG9tVG4uYXR0cihzcmNUeXBlKSk7CgkJCWN1c3RvbVRuLnJlbW92ZSgpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiAodmlkZW8udHlwZSA9PT0gJ3lvdXR1YmUnKSB7CgkJCXBhdGggPSAiLy9pbWcueW91dHViZS5jb20vdmkvIiArIHZpZGVvLmlkICsgIi9ocWRlZmF1bHQuanBnIjsKCQkJY3JlYXRlKHBhdGgpOwoJCX0gZWxzZSBpZiAodmlkZW8udHlwZSA9PT0gJ3ZpbWVvJykgewoJCQkkLmFqYXgoewoJCQkJdHlwZTogJ0dFVCcsCgkJCQl1cmw6ICcvL3ZpbWVvLmNvbS9hcGkvdjIvdmlkZW8vJyArIHZpZGVvLmlkICsgJy5qc29uJywKCQkJCWpzb25wOiAnY2FsbGJhY2snLAoJCQkJZGF0YVR5cGU6ICdqc29ucCcsCgkJCQlzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CgkJCQkJcGF0aCA9IGRhdGFbMF0udGh1bWJuYWlsX2xhcmdlOwoJCQkJCWNyZWF0ZShwYXRoKTsKCQkJCX0KCQkJfSk7CgkJfSBlbHNlIGlmICh2aWRlby50eXBlID09PSAndnphYXInKSB7CgkJCSQuYWpheCh7CgkJCQl0eXBlOiAnR0VUJywKCQkJCXVybDogJy8vdnphYXIuY29tL2FwaS92aWRlb3MvJyArIHZpZGVvLmlkICsgJy5qc29uJywKCQkJCWpzb25wOiAnY2FsbGJhY2snLAoJCQkJZGF0YVR5cGU6ICdqc29ucCcsCgkJCQlzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CgkJCQkJcGF0aCA9IGRhdGEuZnJhbWVncmFiX3VybDsKCQkJCQljcmVhdGUocGF0aCk7CgkJCQl9CgkJCX0pOwoJCX0KCX07CgoJLyoqCgkgKiBTdG9wcyB0aGUgY3VycmVudCB2aWRlby4KCSAqIEBwdWJsaWMKCSAqLwoJVmlkZW8ucHJvdG90eXBlLnN0b3AgPSBmdW5jdGlvbigpIHsKCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ3N0b3AnLCBudWxsLCAndmlkZW8nKTsKCQl0aGlzLl9wbGF5aW5nLmZpbmQoJy5vd2wtdmlkZW8tZnJhbWUnKS5yZW1vdmUoKTsKCQl0aGlzLl9wbGF5aW5nLnJlbW92ZUNsYXNzKCdvd2wtdmlkZW8tcGxheWluZycpOwoJCXRoaXMuX3BsYXlpbmcgPSBudWxsOwoJCXRoaXMuX2NvcmUubGVhdmUoJ3BsYXlpbmcnKTsKCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ3N0b3BwZWQnLCBudWxsLCAndmlkZW8nKTsKCX07CgoJLyoqCgkgKiBTdGFydHMgdGhlIGN1cnJlbnQgdmlkZW8uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBldmVudCBhcmd1bWVudHMuCgkgKi8KCVZpZGVvLnByb3RvdHlwZS5wbGF5ID0gZnVuY3Rpb24oZXZlbnQpIHsKCQl2YXIgdGFyZ2V0ID0gJChldmVudC50YXJnZXQpLAoJCQlpdGVtID0gdGFyZ2V0LmNsb3Nlc3QoJy4nICsgdGhpcy5fY29yZS5zZXR0aW5ncy5pdGVtQ2xhc3MpLAoJCQl2aWRlbyA9IHRoaXMuX3ZpZGVvc1tpdGVtLmF0dHIoJ2RhdGEtdmlkZW8nKV0sCgkJCXdpZHRoID0gdmlkZW8ud2lkdGggfHwgJzEwMCUnLAoJCQloZWlnaHQgPSB2aWRlby5oZWlnaHQgfHwgdGhpcy5fY29yZS4kc3RhZ2UuaGVpZ2h0KCksCgkJCWh0bWwsCgkJCWlmcmFtZTsKCgkJaWYgKHRoaXMuX3BsYXlpbmcpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5fY29yZS5lbnRlcigncGxheWluZycpOwoJCXRoaXMuX2NvcmUudHJpZ2dlcigncGxheScsIG51bGwsICd2aWRlbycpOwoKCQlpdGVtID0gdGhpcy5fY29yZS5pdGVtcyh0aGlzLl9jb3JlLnJlbGF0aXZlKGl0ZW0uaW5kZXgoKSkpOwoKCQl0aGlzLl9jb3JlLnJlc2V0KGl0ZW0uaW5kZXgoKSk7CgoJCWh0bWwgPSAkKCAnPGlmcmFtZSBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiB3ZWJraXRBbGxvd0Z1bGxTY3JlZW4gPjwvaWZyYW1lPicgKTsKCQlodG1sLmF0dHIoICdoZWlnaHQnLCBoZWlnaHQgKTsKCQlodG1sLmF0dHIoICd3aWR0aCcsIHdpZHRoICk7CgkJaWYgKHZpZGVvLnR5cGUgPT09ICd5b3V0dWJlJykgewoJCQlodG1sLmF0dHIoICdzcmMnLCAnLy93d3cueW91dHViZS5jb20vZW1iZWQvJyArIHZpZGVvLmlkICsgJz9hdXRvcGxheT0xJnJlbD0wJnY9JyArIHZpZGVvLmlkICk7CgkJfSBlbHNlIGlmICh2aWRlby50eXBlID09PSAndmltZW8nKSB7CgkJCWh0bWwuYXR0ciggJ3NyYycsICcvL3BsYXllci52aW1lby5jb20vdmlkZW8vJyArIHZpZGVvLmlkICsgJz9hdXRvcGxheT0xJyApOwoJCX0gZWxzZSBpZiAodmlkZW8udHlwZSA9PT0gJ3Z6YWFyJykgewoJCQlodG1sLmF0dHIoICdzcmMnLCAnLy92aWV3LnZ6YWFyLmNvbS8nICsgdmlkZW8uaWQgKyAnL3BsYXllcj9hdXRvcGxheT10cnVlJyApOwoJCX0KCgkJaWZyYW1lID0gJChodG1sKS53cmFwKCAnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLWZyYW1lIiAvPicgKS5pbnNlcnRBZnRlcihpdGVtLmZpbmQoJy5vd2wtdmlkZW8nKSk7CgoJCXRoaXMuX3BsYXlpbmcgPSBpdGVtLmFkZENsYXNzKCdvd2wtdmlkZW8tcGxheWluZycpOwoJfTsKCgkvKioKCSAqIENoZWNrcyB3aGV0aGVyIGFuIHZpZGVvIGlzIGN1cnJlbnRseSBpbiBmdWxsIHNjcmVlbiBtb2RlIG9yIG5vdC4KCSAqIEB0b2RvIEJhZCBzdHlsZSBiZWNhdXNlIGxvb2tzIGxpa2UgYSByZWFkb25seSBtZXRob2QgYnV0IGNoYW5nZXMgbWVtYmVycy4KCSAqIEBwcm90ZWN0ZWQKCSAqIEByZXR1cm5zIHtCb29sZWFufQoJICovCglWaWRlby5wcm90b3R5cGUuaXNJbkZ1bGxTY3JlZW4gPSBmdW5jdGlvbigpIHsKCQl2YXIgZWxlbWVudCA9IGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50IHx8IGRvY3VtZW50Lm1vekZ1bGxTY3JlZW5FbGVtZW50IHx8CgkJCQlkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudDsKCgkJcmV0dXJuIGVsZW1lbnQgJiYgJChlbGVtZW50KS5wYXJlbnQoKS5oYXNDbGFzcygnb3dsLXZpZGVvLWZyYW1lJyk7Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIHBsdWdpbi4KCSAqLwoJVmlkZW8ucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFuZGxlciwgcHJvcGVydHk7CgoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKCdjbGljay5vd2wudmlkZW8nKTsKCgkJZm9yIChoYW5kbGVyIGluIHRoaXMuX2hhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuX2hhbmRsZXJzW2hhbmRsZXJdKTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCSQuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5WaWRlbyA9IFZpZGVvOwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEFuaW1hdGUgUGx1Z2luCiAqIEB2ZXJzaW9uIDIuMy40CiAqIEBhdXRob3IgQmFydG9zeiBXb2pjaWVjaG93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhbmltYXRlIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgTmF2aWdhdGlvbiBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBzY29wZSAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIEFuaW1hdGUgPSBmdW5jdGlvbihzY29wZSkgewoJCXRoaXMuY29yZSA9IHNjb3BlOwoJCXRoaXMuY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIEFuaW1hdGUuRGVmYXVsdHMsIHRoaXMuY29yZS5vcHRpb25zKTsKCQl0aGlzLnN3YXBwaW5nID0gdHJ1ZTsKCQl0aGlzLnByZXZpb3VzID0gdW5kZWZpbmVkOwoJCXRoaXMubmV4dCA9IHVuZGVmaW5lZDsKCgkJdGhpcy5oYW5kbGVycyA9IHsKCQkJJ2NoYW5nZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT0gJ3Bvc2l0aW9uJykgewoJCQkJCXRoaXMucHJldmlvdXMgPSB0aGlzLmNvcmUuY3VycmVudCgpOwoJCQkJCXRoaXMubmV4dCA9IGUucHJvcGVydHkudmFsdWU7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknZHJhZy5vd2wuY2Fyb3VzZWwgZHJhZ2dlZC5vd2wuY2Fyb3VzZWwgdHJhbnNsYXRlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSkgewoJCQkJCXRoaXMuc3dhcHBpbmcgPSBlLnR5cGUgPT0gJ3RyYW5zbGF0ZWQnOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3RyYW5zbGF0ZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLnN3YXBwaW5nICYmICh0aGlzLmNvcmUub3B0aW9ucy5hbmltYXRlT3V0IHx8IHRoaXMuY29yZS5vcHRpb25zLmFuaW1hdGVJbikpIHsKCQkJCQl0aGlzLnN3YXAoKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQl0aGlzLmNvcmUuJGVsZW1lbnQub24odGhpcy5oYW5kbGVycyk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglBbmltYXRlLkRlZmF1bHRzID0gewoJCWFuaW1hdGVPdXQ6IGZhbHNlLAoJCWFuaW1hdGVJbjogZmFsc2UKCX07CgoJLyoqCgkgKiBUb2dnbGVzIHRoZSBhbmltYXRpb24gY2xhc3NlcyB3aGVuZXZlciBhbiB0cmFuc2xhdGlvbnMgc3RhcnRzLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybnMge0Jvb2xlYW58dW5kZWZpbmVkfQoJICovCglBbmltYXRlLnByb3RvdHlwZS5zd2FwID0gZnVuY3Rpb24oKSB7CgoJCWlmICh0aGlzLmNvcmUuc2V0dGluZ3MuaXRlbXMgIT09IDEpIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKCEkLnN1cHBvcnQuYW5pbWF0aW9uIHx8ICEkLnN1cHBvcnQudHJhbnNpdGlvbikgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLmNvcmUuc3BlZWQoMCk7CgoJCXZhciBsZWZ0LAoJCQljbGVhciA9ICQucHJveHkodGhpcy5jbGVhciwgdGhpcyksCgkJCXByZXZpb3VzID0gdGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMucHJldmlvdXMpLAoJCQluZXh0ID0gdGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMubmV4dCksCgkJCWluY29taW5nID0gdGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVJbiwKCQkJb3V0Z29pbmcgPSB0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZU91dDsKCgkJaWYgKHRoaXMuY29yZS5jdXJyZW50KCkgPT09IHRoaXMucHJldmlvdXMpIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKG91dGdvaW5nKSB7CgkJCWxlZnQgPSB0aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5wcmV2aW91cykgLSB0aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5uZXh0KTsKCQkJcHJldmlvdXMub25lKCQuc3VwcG9ydC5hbmltYXRpb24uZW5kLCBjbGVhcikKCQkJCS5jc3MoIHsgJ2xlZnQnOiBsZWZ0ICsgJ3B4JyB9ICkKCQkJCS5hZGRDbGFzcygnYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLW91dCcpCgkJCQkuYWRkQ2xhc3Mob3V0Z29pbmcpOwoJCX0KCgkJaWYgKGluY29taW5nKSB7CgkJCW5leHQub25lKCQuc3VwcG9ydC5hbmltYXRpb24uZW5kLCBjbGVhcikKCQkJCS5hZGRDbGFzcygnYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLWluJykKCQkJCS5hZGRDbGFzcyhpbmNvbWluZyk7CgkJfQoJfTsKCglBbmltYXRlLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uKGUpIHsKCQkkKGUudGFyZ2V0KS5jc3MoIHsgJ2xlZnQnOiAnJyB9ICkKCQkJLnJlbW92ZUNsYXNzKCdhbmltYXRlZCBvd2wtYW5pbWF0ZWQtb3V0IG93bC1hbmltYXRlZC1pbicpCgkJCS5yZW1vdmVDbGFzcyh0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZUluKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVPdXQpOwoJCXRoaXMuY29yZS5vblRyYW5zaXRpb25FbmQoKTsKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICogQHB1YmxpYwoJICovCglBbmltYXRlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQlmb3IgKGhhbmRsZXIgaW4gdGhpcy5oYW5kbGVycykgewoJCQl0aGlzLmNvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuaGFuZGxlcnNbaGFuZGxlcl0pOwoJCX0KCQlmb3IgKHByb3BlcnR5IGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSB7CgkJCXR5cGVvZiB0aGlzW3Byb3BlcnR5XSAhPSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkFuaW1hdGUgPSBBbmltYXRlOwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEF1dG9wbGF5IFBsdWdpbgogKiBAdmVyc2lvbiAyLjMuNAogKiBAYXV0aG9yIEJhcnRvc3ogV29qY2llY2hvd3NraQogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBhdXRob3IgVG9tIERlIENhbHV3w6kKICogQGxpY2Vuc2UgVGhlIE1JVCBMaWNlbnNlIChNSVQpCiAqLwo7KGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKCS8qKgoJICogQ3JlYXRlcyB0aGUgYXV0b3BsYXkgcGx1Z2luLgoJICogQGNsYXNzIFRoZSBBdXRvcGxheSBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBzY29wZSAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIEF1dG9wbGF5ID0gZnVuY3Rpb24oY2Fyb3VzZWwpIHsKCQkvKioKCQkgKiBSZWZlcmVuY2UgdG8gdGhlIGNvcmUuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPd2x9CgkJICovCgkJdGhpcy5fY29yZSA9IGNhcm91c2VsOwoKCQkvKioKCQkgKiBUaGUgYXV0b3BsYXkgdGltZW91dCBpZC4KCQkgKiBAdHlwZSB7TnVtYmVyfQoJCSAqLwoJCXRoaXMuX2NhbGwgPSBudWxsOwoKCQkvKioKCQkgKiBEZXBlbmRpbmcgb24gdGhlIHN0YXRlIG9mIHRoZSBwbHVnaW4sIHRoaXMgdmFyaWFibGUgY29udGFpbnMgZWl0aGVyCgkJICogdGhlIHN0YXJ0IHRpbWUgb2YgdGhlIHRpbWVyIG9yIHRoZSBjdXJyZW50IHRpbWVyIHZhbHVlIGlmIGl0J3MKCQkgKiBwYXVzZWQuIFNpbmNlIHdlIHN0YXJ0IGluIGEgcGF1c2VkIHN0YXRlIHdlIGluaXRpYWxpemUgdGhlIHRpbWVyCgkJICogdmFsdWUuCgkJICogQHR5cGUge051bWJlcn0KCQkgKi8KCQl0aGlzLl90aW1lID0gMDsKCgkJLyoqCgkJICogU3RvcmVzIHRoZSB0aW1lb3V0IGN1cnJlbnRseSB1c2VkLgoJCSAqIEB0eXBlIHtOdW1iZXJ9CgkJICovCgkJdGhpcy5fdGltZW91dCA9IDA7CgoJCS8qKgoJCSAqIEluZGljYXRlcyB3aGVuZXZlciB0aGUgYXV0b3BsYXkgaXMgcGF1c2VkLgoJCSAqIEB0eXBlIHtCb29sZWFufQoJCSAqLwoJCXRoaXMuX3BhdXNlZCA9IHRydWU7CgoJCS8qKgoJCSAqIEFsbCBldmVudCBoYW5kbGVycy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge09iamVjdH0KCQkgKi8KCQl0aGlzLl9oYW5kbGVycyA9IHsKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAnc2V0dGluZ3MnKSB7CgkJCQkJaWYgKHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXkpIHsKCQkJCQkJdGhpcy5wbGF5KCk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhpcy5zdG9wKCk7CgkJCQkJfQoJCQkJfSBlbHNlIGlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT09ICdwb3NpdGlvbicgJiYgdGhpcy5fcGF1c2VkKSB7CgkJCQkJLy8gUmVzZXQgdGhlIHRpbWVyLiBUaGlzIGNvZGUgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHBvc2l0aW9uCgkJCQkJLy8gb2YgdGhlIGNhcm91c2VsIHdhcyBjaGFuZ2VkIHRocm91Z2ggdXNlciBpbnRlcmFjdGlvbi4KCQkJCQl0aGlzLl90aW1lID0gMDsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5KSB7CgkJCQkJdGhpcy5wbGF5KCk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkncGxheS5vd2wuYXV0b3BsYXknOiAkLnByb3h5KGZ1bmN0aW9uKGUsIHQsIHMpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSkgewoJCQkJCXRoaXMucGxheSh0LCBzKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdzdG9wLm93bC5hdXRvcGxheSc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlKSB7CgkJCQkJdGhpcy5zdG9wKCk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknbW91c2VvdmVyLm93bC5hdXRvcGxheSc6ICQucHJveHkoZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UgJiYgdGhpcy5fY29yZS5pcygncm90YXRpbmcnKSkgewoJCQkJCXRoaXMucGF1c2UoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdtb3VzZWxlYXZlLm93bC5hdXRvcGxheSc6ICQucHJveHkoZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UgJiYgdGhpcy5fY29yZS5pcygncm90YXRpbmcnKSkgewoJCQkJCXRoaXMucGxheSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3RvdWNoc3RhcnQub3dsLmNvcmUnOiAkLnByb3h5KGZ1bmN0aW9uKCkgewoJCQkJaWYgKHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlICYmIHRoaXMuX2NvcmUuaXMoJ3JvdGF0aW5nJykpIHsKCQkJCQl0aGlzLnBhdXNlKCk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkndG91Y2hlbmQub3dsLmNvcmUnOiAkLnByb3h5KGZ1bmN0aW9uKCkgewoJCQkJaWYgKHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlKSB7CgkJCQkJdGhpcy5wbGF5KCk7CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gcmVnaXN0ZXIgZXZlbnQgaGFuZGxlcnMKCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKTsKCgkJLy8gc2V0IGRlZmF1bHQgb3B0aW9ucwoJCXRoaXMuX2NvcmUub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBBdXRvcGxheS5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCX07CgoJLyoqCgkgKiBEZWZhdWx0IG9wdGlvbnMuCgkgKiBAcHVibGljCgkgKi8KCUF1dG9wbGF5LkRlZmF1bHRzID0gewoJCWF1dG9wbGF5OiBmYWxzZSwKCQlhdXRvcGxheVRpbWVvdXQ6IDUwMDAsCgkJYXV0b3BsYXlIb3ZlclBhdXNlOiBmYWxzZSwKCQlhdXRvcGxheVNwZWVkOiBmYWxzZQoJfTsKCgkvKioKCSAqIFRyYW5zaXRpb24gdG8gdGhlIG5leHQgc2xpZGUgYW5kIHNldCBhIHRpbWVvdXQgZm9yIHRoZSBuZXh0IHRyYW5zaXRpb24uCgkgKiBAcHJpdmF0ZQoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZF0gLSBUaGUgYW5pbWF0aW9uIHNwZWVkIGZvciB0aGUgYW5pbWF0aW9ucy4KCSAqLwoJQXV0b3BsYXkucHJvdG90eXBlLl9uZXh0ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQl0aGlzLl9jYWxsID0gd2luZG93LnNldFRpbWVvdXQoCgkJCSQucHJveHkodGhpcy5fbmV4dCwgdGhpcywgc3BlZWQpLAoJCQl0aGlzLl90aW1lb3V0ICogKE1hdGgucm91bmQodGhpcy5yZWFkKCkgLyB0aGlzLl90aW1lb3V0KSArIDEpIC0gdGhpcy5yZWFkKCkKCQkpOwoKCQlpZiAodGhpcy5fY29yZS5pcygnaW50ZXJhY3RpbmcnKSB8fCBkb2N1bWVudC5oaWRkZW4pIHsKCQkJcmV0dXJuOwoJCX0KCQl0aGlzLl9jb3JlLm5leHQoc3BlZWQgfHwgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheVNwZWVkKTsKCX0KCgkvKioKCSAqIFJlYWRzIHRoZSBjdXJyZW50IHRpbWVyIHZhbHVlIHdoZW4gdGhlIHRpbWVyIGlzIHBsYXlpbmcuCgkgKiBAcHVibGljCgkgKi8KCUF1dG9wbGF5LnByb3RvdHlwZS5yZWFkID0gZnVuY3Rpb24oKSB7CgkJcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gdGhpcy5fdGltZTsKCX07CgoJLyoqCgkgKiBTdGFydHMgdGhlIGF1dG9wbGF5LgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFt0aW1lb3V0XSAtIFRoZSBpbnRlcnZhbCBiZWZvcmUgdGhlIG5leHQgYW5pbWF0aW9uIHN0YXJ0cy4KCSAqIEBwYXJhbSB7TnVtYmVyfSBbc3BlZWRdIC0gVGhlIGFuaW1hdGlvbiBzcGVlZCBmb3IgdGhlIGFuaW1hdGlvbnMuCgkgKi8KCUF1dG9wbGF5LnByb3RvdHlwZS5wbGF5ID0gZnVuY3Rpb24odGltZW91dCwgc3BlZWQpIHsKCQl2YXIgZWxhcHNlZDsKCgkJaWYgKCF0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpKSB7CgkJCXRoaXMuX2NvcmUuZW50ZXIoJ3JvdGF0aW5nJyk7CgkJfQoKCQl0aW1lb3V0ID0gdGltZW91dCB8fCB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5VGltZW91dDsKCgkJLy8gQ2FsY3VsYXRlIHRoZSBlbGFwc2VkIHRpbWUgc2luY2UgdGhlIGxhc3QgdHJhbnNpdGlvbi4gSWYgdGhlIGNhcm91c2VsCgkJLy8gd2Fzbid0IHBsYXlpbmcgdGhpcyBjYWxjdWxhdGlvbiB3aWxsIHlpZWxkIHplcm8uCgkJZWxhcHNlZCA9IE1hdGgubWluKHRoaXMuX3RpbWUgJSAodGhpcy5fdGltZW91dCB8fCB0aW1lb3V0KSwgdGltZW91dCk7CgoJCWlmICh0aGlzLl9wYXVzZWQpIHsKCQkJLy8gU3RhcnQgdGhlIGNsb2NrLgoJCQl0aGlzLl90aW1lID0gdGhpcy5yZWFkKCk7CgkJCXRoaXMuX3BhdXNlZCA9IGZhbHNlOwoJCX0gZWxzZSB7CgkJCS8vIENsZWFyIHRoZSBhY3RpdmUgdGltZW91dCB0byBhbGxvdyByZXBsYWNlbWVudC4KCQkJd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9jYWxsKTsKCQl9CgoJCS8vIEFkanVzdCB0aGUgb3JpZ2luIG9mIHRoZSB0aW1lciB0byBtYXRjaCB0aGUgbmV3IHRpbWVvdXQgdmFsdWUuCgkJdGhpcy5fdGltZSArPSB0aGlzLnJlYWQoKSAlIHRpbWVvdXQgLSBlbGFwc2VkOwoKCQl0aGlzLl90aW1lb3V0ID0gdGltZW91dDsKCQl0aGlzLl9jYWxsID0gd2luZG93LnNldFRpbWVvdXQoJC5wcm94eSh0aGlzLl9uZXh0LCB0aGlzLCBzcGVlZCksIHRpbWVvdXQgLSBlbGFwc2VkKTsKCX07CgoJLyoqCgkgKiBTdG9wcyB0aGUgYXV0b3BsYXkuCgkgKiBAcHVibGljCgkgKi8KCUF1dG9wbGF5LnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7CgkJaWYgKHRoaXMuX2NvcmUuaXMoJ3JvdGF0aW5nJykpIHsKCQkJLy8gUmVzZXQgdGhlIGNsb2NrLgoJCQl0aGlzLl90aW1lID0gMDsKCQkJdGhpcy5fcGF1c2VkID0gdHJ1ZTsKCgkJCXdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fY2FsbCk7CgkJCXRoaXMuX2NvcmUubGVhdmUoJ3JvdGF0aW5nJyk7CgkJfQoJfTsKCgkvKioKCSAqIFBhdXNlcyB0aGUgYXV0b3BsYXkuCgkgKiBAcHVibGljCgkgKi8KCUF1dG9wbGF5LnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uKCkgewoJCWlmICh0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpICYmICF0aGlzLl9wYXVzZWQpIHsKCQkJLy8gUGF1c2UgdGhlIGNsb2NrLgoJCQl0aGlzLl90aW1lID0gdGhpcy5yZWFkKCk7CgkJCXRoaXMuX3BhdXNlZCA9IHRydWU7CgoJCQl3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX2NhbGwpOwoJCX0KCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICovCglBdXRvcGxheS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBwcm9wZXJ0eTsKCgkJdGhpcy5zdG9wKCk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuYXV0b3BsYXkgPSBBdXRvcGxheTsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBOYXZpZ2F0aW9uIFBsdWdpbgogKiBAdmVyc2lvbiAyLjMuNAogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCSd1c2Ugc3RyaWN0JzsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIG5hdmlnYXRpb24gcGx1Z2luLgoJICogQGNsYXNzIFRoZSBOYXZpZ2F0aW9uIFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbC4KCSAqLwoJdmFyIE5hdmlnYXRpb24gPSBmdW5jdGlvbihjYXJvdXNlbCkgewoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwbHVnaW4gaXMgaW5pdGlhbGl6ZWQgb3Igbm90LgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7Qm9vbGVhbn0KCQkgKi8KCQl0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlOwoKCQkvKioKCQkgKiBUaGUgY3VycmVudCBwYWdpbmcgaW5kZXhlcy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge0FycmF5fQoJCSAqLwoJCXRoaXMuX3BhZ2VzID0gW107CgoJCS8qKgoJCSAqIEFsbCBET00gZWxlbWVudHMgb2YgdGhlIHVzZXIgaW50ZXJmYWNlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2NvbnRyb2xzID0ge307CgoJCS8qKgoJCSAqIE1hcmt1cCBmb3IgYW4gaW5kaWNhdG9yLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7QXJyYXkuPFN0cmluZz59CgkJICovCgkJdGhpcy5fdGVtcGxhdGVzID0gW107CgoJCS8qKgoJCSAqIFRoZSBjYXJvdXNlbCBlbGVtZW50LgoJCSAqIEB0eXBlIHtqUXVlcnl9CgkJICovCgkJdGhpcy4kZWxlbWVudCA9IHRoaXMuX2NvcmUuJGVsZW1lbnQ7CgoJCS8qKgoJCSAqIE92ZXJyaWRkZW4gbWV0aG9kcyBvZiB0aGUgY2Fyb3VzZWwuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5fb3ZlcnJpZGVzID0gewoJCQluZXh0OiB0aGlzLl9jb3JlLm5leHQsCgkJCXByZXY6IHRoaXMuX2NvcmUucHJldiwKCQkJdG86IHRoaXMuX2NvcmUudG8KCQl9OwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdwcmVwYXJlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhKSB7CgkJCQkJdGhpcy5fdGVtcGxhdGVzLnB1c2goJzxkaXYgY2xhc3M9IicgKyB0aGlzLl9jb3JlLnNldHRpbmdzLmRvdENsYXNzICsgJyI+JyArCgkJCQkJCSQoZS5jb250ZW50KS5maW5kKCdbZGF0YS1kb3RdJykuYWRkQmFjaygnW2RhdGEtZG90XScpLmF0dHIoJ2RhdGEtZG90JykgKyAnPC9kaXY+Jyk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknYWRkZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSkgewoJCQkJCXRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoZS5wb3NpdGlvbiwgMCwgdGhpcy5fdGVtcGxhdGVzLnBvcCgpKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdyZW1vdmUub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSkgewoJCQkJCXRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoZS5wb3NpdGlvbiwgMSk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknY2hhbmdlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT0gJ3Bvc2l0aW9uJykgewoJCQkJCXRoaXMuZHJhdygpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2luaXRpYWxpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmICF0aGlzLl9pbml0aWFsaXplZCkgewoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcignaW5pdGlhbGl6ZScsIG51bGwsICduYXZpZ2F0aW9uJyk7CgkJCQkJdGhpcy5pbml0aWFsaXplKCk7CgkJCQkJdGhpcy51cGRhdGUoKTsKCQkJCQl0aGlzLmRyYXcoKTsKCQkJCQl0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7CgkJCQkJdGhpcy5fY29yZS50cmlnZ2VyKCdpbml0aWFsaXplZCcsIG51bGwsICduYXZpZ2F0aW9uJyk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkncmVmcmVzaGVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2luaXRpYWxpemVkKSB7CgkJCQkJdGhpcy5fY29yZS50cmlnZ2VyKCdyZWZyZXNoJywgbnVsbCwgJ25hdmlnYXRpb24nKTsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJCXRoaXMuZHJhdygpOwoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcigncmVmcmVzaGVkJywgbnVsbCwgJ25hdmlnYXRpb24nKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyBzZXQgZGVmYXVsdCBvcHRpb25zCgkJdGhpcy5fY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIE5hdmlnYXRpb24uRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICogQHRvZG8gUmVuYW1lIGBzbGlkZUJ5YCB0byBgbmF2QnlgCgkgKi8KCU5hdmlnYXRpb24uRGVmYXVsdHMgPSB7CgkJbmF2OiBmYWxzZSwKCQluYXZUZXh0OiBbCgkJCSc8c3BhbiBhcmlhLWxhYmVsPSInICsgJ1ByZXZpb3VzJyArICciPiYjeDIwMzk7PC9zcGFuPicsCgkJCSc8c3BhbiBhcmlhLWxhYmVsPSInICsgJ05leHQnICsgJyI+JiN4MjAzYTs8L3NwYW4+JwoJCV0sCgkJbmF2U3BlZWQ6IGZhbHNlLAoJCW5hdkVsZW1lbnQ6ICdidXR0b24gdHlwZT0iYnV0dG9uIiByb2xlPSJwcmVzZW50YXRpb24iJywKCQluYXZDb250YWluZXI6IGZhbHNlLAoJCW5hdkNvbnRhaW5lckNsYXNzOiAnb3dsLW5hdicsCgkJbmF2Q2xhc3M6IFsKCQkJJ293bC1wcmV2JywKCQkJJ293bC1uZXh0JwoJCV0sCgkJc2xpZGVCeTogMSwKCQlkb3RDbGFzczogJ293bC1kb3QnLAoJCWRvdHNDbGFzczogJ293bC1kb3RzJywKCQlkb3RzOiB0cnVlLAoJCWRvdHNFYWNoOiBmYWxzZSwKCQlkb3RzRGF0YTogZmFsc2UsCgkJZG90c1NwZWVkOiBmYWxzZSwKCQlkb3RzQ29udGFpbmVyOiBmYWxzZQoJfTsKCgkvKioKCSAqIEluaXRpYWxpemVzIHRoZSBsYXlvdXQgb2YgdGhlIHBsdWdpbiBhbmQgZXh0ZW5kcyB0aGUgY2Fyb3VzZWwuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbigpIHsKCQl2YXIgb3ZlcnJpZGUsCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5nczsKCgkJLy8gY3JlYXRlIERPTSBzdHJ1Y3R1cmUgZm9yIHJlbGF0aXZlIG5hdmlnYXRpb24KCQl0aGlzLl9jb250cm9scy4kcmVsYXRpdmUgPSAoc2V0dGluZ3MubmF2Q29udGFpbmVyID8gJChzZXR0aW5ncy5uYXZDb250YWluZXIpCgkJCTogJCgnPGRpdj4nKS5hZGRDbGFzcyhzZXR0aW5ncy5uYXZDb250YWluZXJDbGFzcykuYXBwZW5kVG8odGhpcy4kZWxlbWVudCkpLmFkZENsYXNzKCdkaXNhYmxlZCcpOwoKCQl0aGlzLl9jb250cm9scy4kcHJldmlvdXMgPSAkKCc8JyArIHNldHRpbmdzLm5hdkVsZW1lbnQgKyAnPicpCgkJCS5hZGRDbGFzcyhzZXR0aW5ncy5uYXZDbGFzc1swXSkKCQkJLmh0bWwoc2V0dGluZ3MubmF2VGV4dFswXSkKCQkJLnByZXBlbmRUbyh0aGlzLl9jb250cm9scy4kcmVsYXRpdmUpCgkJCS5vbignY2xpY2snLCAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCXRoaXMucHJldihzZXR0aW5ncy5uYXZTcGVlZCk7CgkJCX0sIHRoaXMpKTsKCQl0aGlzLl9jb250cm9scy4kbmV4dCA9ICQoJzwnICsgc2V0dGluZ3MubmF2RWxlbWVudCArICc+JykKCQkJLmFkZENsYXNzKHNldHRpbmdzLm5hdkNsYXNzWzFdKQoJCQkuaHRtbChzZXR0aW5ncy5uYXZUZXh0WzFdKQoJCQkuYXBwZW5kVG8odGhpcy5fY29udHJvbHMuJHJlbGF0aXZlKQoJCQkub24oJ2NsaWNrJywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQl0aGlzLm5leHQoc2V0dGluZ3MubmF2U3BlZWQpOwoJCQl9LCB0aGlzKSk7CgoJCS8vIGNyZWF0ZSBET00gc3RydWN0dXJlIGZvciBhYnNvbHV0ZSBuYXZpZ2F0aW9uCgkJaWYgKCFzZXR0aW5ncy5kb3RzRGF0YSkgewoJCQl0aGlzLl90ZW1wbGF0ZXMgPSBbICQoJzxidXR0b24gcm9sZT0iYnV0dG9uIj4nKQoJCQkJLmFkZENsYXNzKHNldHRpbmdzLmRvdENsYXNzKQoJCQkJLmFwcGVuZCgkKCc8c3Bhbj4nKSkKCQkJCS5wcm9wKCdvdXRlckhUTUwnKSBdOwoJCX0KCgkJdGhpcy5fY29udHJvbHMuJGFic29sdXRlID0gKHNldHRpbmdzLmRvdHNDb250YWluZXIgPyAkKHNldHRpbmdzLmRvdHNDb250YWluZXIpCgkJCTogJCgnPGRpdj4nKS5hZGRDbGFzcyhzZXR0aW5ncy5kb3RzQ2xhc3MpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpKS5hZGRDbGFzcygnZGlzYWJsZWQnKTsKCgkJdGhpcy5fY29udHJvbHMuJGFic29sdXRlLm9uKCdjbGljaycsICdidXR0b24nLCAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJdmFyIGluZGV4ID0gJChlLnRhcmdldCkucGFyZW50KCkuaXModGhpcy5fY29udHJvbHMuJGFic29sdXRlKQoJCQkJPyAkKGUudGFyZ2V0KS5pbmRleCgpIDogJChlLnRhcmdldCkucGFyZW50KCkuaW5kZXgoKTsKCgkJCWUucHJldmVudERlZmF1bHQoKTsKCgkJCXRoaXMudG8oaW5kZXgsIHNldHRpbmdzLmRvdHNTcGVlZCk7CgkJfSwgdGhpcykpOwoKCQkvKiRlbC5vbignZm9jdXNpbicsIGZ1bmN0aW9uKCkgewoJCQkkKGRvY3VtZW50KS5vZmYoIi5jYXJvdXNlbCIpOwoKCQkJJChkb2N1bWVudCkub24oJ2tleWRvd24uY2Fyb3VzZWwnLCBmdW5jdGlvbihlKSB7CgkJCQlpZihlLmtleUNvZGUgPT0gMzcpIHsKCQkJCQkkZWwudHJpZ2dlcigncHJldi5vd2wnKQoJCQkJfQoJCQkJaWYoZS5rZXlDb2RlID09IDM5KSB7CgkJCQkJJGVsLnRyaWdnZXIoJ25leHQub3dsJykKCQkJCX0KCQkJfSk7CgkJfSk7Ki8KCgkJLy8gb3ZlcnJpZGUgcHVibGljIG1ldGhvZHMgb2YgdGhlIGNhcm91c2VsCgkJZm9yIChvdmVycmlkZSBpbiB0aGlzLl9vdmVycmlkZXMpIHsKCQkJdGhpcy5fY29yZVtvdmVycmlkZV0gPSAkLnByb3h5KHRoaXNbb3ZlcnJpZGVdLCB0aGlzKTsKCQl9Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIHBsdWdpbi4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBjb250cm9sLCBwcm9wZXJ0eSwgb3ZlcnJpZGUsIHNldHRpbmdzOwoJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5nczsKCgkJZm9yIChoYW5kbGVyIGluIHRoaXMuX2hhbmRsZXJzKSB7CgkJCXRoaXMuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuX2hhbmRsZXJzW2hhbmRsZXJdKTsKCQl9CgkJZm9yIChjb250cm9sIGluIHRoaXMuX2NvbnRyb2xzKSB7CgkJCWlmIChjb250cm9sID09PSAnJHJlbGF0aXZlJyAmJiBzZXR0aW5ncy5uYXZDb250YWluZXIpIHsKCQkJCXRoaXMuX2NvbnRyb2xzW2NvbnRyb2xdLmh0bWwoJycpOwoJCQl9IGVsc2UgewoJCQkJdGhpcy5fY29udHJvbHNbY29udHJvbF0ucmVtb3ZlKCk7CgkJCX0KCQl9CgkJZm9yIChvdmVycmlkZSBpbiB0aGlzLm92ZXJpZGVzKSB7CgkJCXRoaXMuX2NvcmVbb3ZlcnJpZGVdID0gdGhpcy5fb3ZlcnJpZGVzW292ZXJyaWRlXTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCS8qKgoJICogVXBkYXRlcyB0aGUgaW50ZXJuYWwgc3RhdGUuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewoJCXZhciBpLCBqLCBrLAoJCQlsb3dlciA9IHRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoIC8gMiwKCQkJdXBwZXIgPSBsb3dlciArIHRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsCgkJCW1heGltdW0gPSB0aGlzLl9jb3JlLm1heGltdW0odHJ1ZSksCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5ncywKCQkJc2l6ZSA9IHNldHRpbmdzLmNlbnRlciB8fCBzZXR0aW5ncy5hdXRvV2lkdGggfHwgc2V0dGluZ3MuZG90c0RhdGEKCQkJCT8gMSA6IHNldHRpbmdzLmRvdHNFYWNoIHx8IHNldHRpbmdzLml0ZW1zOwoKCQlpZiAoc2V0dGluZ3Muc2xpZGVCeSAhPT0gJ3BhZ2UnKSB7CgkJCXNldHRpbmdzLnNsaWRlQnkgPSBNYXRoLm1pbihzZXR0aW5ncy5zbGlkZUJ5LCBzZXR0aW5ncy5pdGVtcyk7CgkJfQoKCQlpZiAoc2V0dGluZ3MuZG90cyB8fCBzZXR0aW5ncy5zbGlkZUJ5ID09ICdwYWdlJykgewoJCQl0aGlzLl9wYWdlcyA9IFtdOwoKCQkJZm9yIChpID0gbG93ZXIsIGogPSAwLCBrID0gMDsgaSA8IHVwcGVyOyBpKyspIHsKCQkJCWlmIChqID49IHNpemUgfHwgaiA9PT0gMCkgewoJCQkJCXRoaXMuX3BhZ2VzLnB1c2goewoJCQkJCQlzdGFydDogTWF0aC5taW4obWF4aW11bSwgaSAtIGxvd2VyKSwKCQkJCQkJZW5kOiBpIC0gbG93ZXIgKyBzaXplIC0gMQoJCQkJCX0pOwoJCQkJCWlmIChNYXRoLm1pbihtYXhpbXVtLCBpIC0gbG93ZXIpID09PSBtYXhpbXVtKSB7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlqID0gMCwgKytrOwoJCQkJfQoJCQkJaiArPSB0aGlzLl9jb3JlLm1lcmdlcnModGhpcy5fY29yZS5yZWxhdGl2ZShpKSk7CgkJCX0KCQl9Cgl9OwoKCS8qKgoJICogRHJhd3MgdGhlIHVzZXIgaW50ZXJmYWNlLgoJICogQHRvZG8gVGhlIG9wdGlvbiBgZG90c0RhdGFgIHdvbnQgd29yay4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUuZHJhdyA9IGZ1bmN0aW9uKCkgewoJCXZhciBkaWZmZXJlbmNlLAoJCQlzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCWRpc2FibGVkID0gdGhpcy5fY29yZS5pdGVtcygpLmxlbmd0aCA8PSBzZXR0aW5ncy5pdGVtcywKCQkJaW5kZXggPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSwKCQkJbG9vcCA9IHNldHRpbmdzLmxvb3AgfHwgc2V0dGluZ3MucmV3aW5kOwoKCQl0aGlzLl9jb250cm9scy4kcmVsYXRpdmUudG9nZ2xlQ2xhc3MoJ2Rpc2FibGVkJywgIXNldHRpbmdzLm5hdiB8fCBkaXNhYmxlZCk7CgoJCWlmIChzZXR0aW5ncy5uYXYpIHsKCQkJdGhpcy5fY29udHJvbHMuJHByZXZpb3VzLnRvZ2dsZUNsYXNzKCdkaXNhYmxlZCcsICFsb29wICYmIGluZGV4IDw9IHRoaXMuX2NvcmUubWluaW11bSh0cnVlKSk7CgkJCXRoaXMuX2NvbnRyb2xzLiRuZXh0LnRvZ2dsZUNsYXNzKCdkaXNhYmxlZCcsICFsb29wICYmIGluZGV4ID49IHRoaXMuX2NvcmUubWF4aW11bSh0cnVlKSk7CgkJfQoKCQl0aGlzLl9jb250cm9scy4kYWJzb2x1dGUudG9nZ2xlQ2xhc3MoJ2Rpc2FibGVkJywgIXNldHRpbmdzLmRvdHMgfHwgZGlzYWJsZWQpOwoKCQlpZiAoc2V0dGluZ3MuZG90cykgewoJCQlkaWZmZXJlbmNlID0gdGhpcy5fcGFnZXMubGVuZ3RoIC0gdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkubGVuZ3RoOwoKCQkJaWYgKHNldHRpbmdzLmRvdHNEYXRhICYmIGRpZmZlcmVuY2UgIT09IDApIHsKCQkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5odG1sKHRoaXMuX3RlbXBsYXRlcy5qb2luKCcnKSk7CgkJCX0gZWxzZSBpZiAoZGlmZmVyZW5jZSA+IDApIHsKCQkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5hcHBlbmQobmV3IEFycmF5KGRpZmZlcmVuY2UgKyAxKS5qb2luKHRoaXMuX3RlbXBsYXRlc1swXSkpOwoJCQl9IGVsc2UgaWYgKGRpZmZlcmVuY2UgPCAwKSB7CgkJCQl0aGlzLl9jb250cm9scy4kYWJzb2x1dGUuY2hpbGRyZW4oKS5zbGljZShkaWZmZXJlbmNlKS5yZW1vdmUoKTsKCQkJfQoKCQkJdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmZpbmQoJy5hY3RpdmUnKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5jaGlsZHJlbigpLmVxKCQuaW5BcnJheSh0aGlzLmN1cnJlbnQoKSwgdGhpcy5fcGFnZXMpKS5hZGRDbGFzcygnYWN0aXZlJyk7CgkJfQoJfTsKCgkvKioKCSAqIEV4dGVuZHMgZXZlbnQgZGF0YS4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IG9iamVjdCB3aGljaCBnZXRzIHRocm93bi4KCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUub25UcmlnZ2VyID0gZnVuY3Rpb24oZXZlbnQpIHsKCQl2YXIgc2V0dGluZ3MgPSB0aGlzLl9jb3JlLnNldHRpbmdzOwoKCQlldmVudC5wYWdlID0gewoJCQlpbmRleDogJC5pbkFycmF5KHRoaXMuY3VycmVudCgpLCB0aGlzLl9wYWdlcyksCgkJCWNvdW50OiB0aGlzLl9wYWdlcy5sZW5ndGgsCgkJCXNpemU6IHNldHRpbmdzICYmIChzZXR0aW5ncy5jZW50ZXIgfHwgc2V0dGluZ3MuYXV0b1dpZHRoIHx8IHNldHRpbmdzLmRvdHNEYXRhCgkJCQk/IDEgOiBzZXR0aW5ncy5kb3RzRWFjaCB8fCBzZXR0aW5ncy5pdGVtcykKCQl9OwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIGN1cnJlbnQgcGFnZSBwb3NpdGlvbiBvZiB0aGUgY2Fyb3VzZWwuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcmV0dXJucyB7TnVtYmVyfQoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5jdXJyZW50ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGN1cnJlbnQgPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKTsKCQlyZXR1cm4gJC5ncmVwKHRoaXMuX3BhZ2VzLCAkLnByb3h5KGZ1bmN0aW9uKHBhZ2UsIGluZGV4KSB7CgkJCXJldHVybiBwYWdlLnN0YXJ0IDw9IGN1cnJlbnQgJiYgcGFnZS5lbmQgPj0gY3VycmVudDsKCQl9LCB0aGlzKSkucG9wKCk7Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgY3VycmVudCBzdWNjZXNvci9wcmVkZWNlc3NvciBwb3NpdGlvbi4KCSAqIEBwcm90ZWN0ZWQKCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLmdldFBvc2l0aW9uID0gZnVuY3Rpb24oc3VjY2Vzc29yKSB7CgkJdmFyIHBvc2l0aW9uLCBsZW5ndGgsCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5nczsKCgkJaWYgKHNldHRpbmdzLnNsaWRlQnkgPT0gJ3BhZ2UnKSB7CgkJCXBvc2l0aW9uID0gJC5pbkFycmF5KHRoaXMuY3VycmVudCgpLCB0aGlzLl9wYWdlcyk7CgkJCWxlbmd0aCA9IHRoaXMuX3BhZ2VzLmxlbmd0aDsKCQkJc3VjY2Vzc29yID8gKytwb3NpdGlvbiA6IC0tcG9zaXRpb247CgkJCXBvc2l0aW9uID0gdGhpcy5fcGFnZXNbKChwb3NpdGlvbiAlIGxlbmd0aCkgKyBsZW5ndGgpICUgbGVuZ3RoXS5zdGFydDsKCQl9IGVsc2UgewoJCQlwb3NpdGlvbiA9IHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpOwoJCQlsZW5ndGggPSB0aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoOwoJCQlzdWNjZXNzb3IgPyBwb3NpdGlvbiArPSBzZXR0aW5ncy5zbGlkZUJ5IDogcG9zaXRpb24gLT0gc2V0dGluZ3Muc2xpZGVCeTsKCQl9CgoJCXJldHVybiBwb3NpdGlvbjsKCX07CgoJLyoqCgkgKiBTbGlkZXMgdG8gdGhlIG5leHQgaXRlbSBvciBwYWdlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZD1mYWxzZV0gLSBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHRoZSB0cmFuc2l0aW9uLgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5uZXh0ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQkkLnByb3h5KHRoaXMuX292ZXJyaWRlcy50bywgdGhpcy5fY29yZSkodGhpcy5nZXRQb3NpdGlvbih0cnVlKSwgc3BlZWQpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgcHJldmlvdXMgaXRlbSBvciBwYWdlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZD1mYWxzZV0gLSBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHRoZSB0cmFuc2l0aW9uLgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5wcmV2ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQkkLnByb3h5KHRoaXMuX292ZXJyaWRlcy50bywgdGhpcy5fY29yZSkodGhpcy5nZXRQb3NpdGlvbihmYWxzZSksIHNwZWVkKTsKCX07CgoJLyoqCgkgKiBTbGlkZXMgdG8gdGhlIHNwZWNpZmllZCBpdGVtIG9yIHBhZ2UuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgcG9zaXRpb24gb2YgdGhlIGl0ZW0gb3IgcGFnZS4KCSAqIEBwYXJhbSB7TnVtYmVyfSBbc3BlZWRdIC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNpdGlvbi4KCSAqIEBwYXJhbSB7Qm9vbGVhbn0gW3N0YW5kYXJkPWZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRoZSBzdGFuZGFyZCBiZWhhdmlvdXIgb3Igbm90LgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS50byA9IGZ1bmN0aW9uKHBvc2l0aW9uLCBzcGVlZCwgc3RhbmRhcmQpIHsKCQl2YXIgbGVuZ3RoOwoKCQlpZiAoIXN0YW5kYXJkICYmIHRoaXMuX3BhZ2VzLmxlbmd0aCkgewoJCQlsZW5ndGggPSB0aGlzLl9wYWdlcy5sZW5ndGg7CgkJCSQucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLCB0aGlzLl9jb3JlKSh0aGlzLl9wYWdlc1soKHBvc2l0aW9uICUgbGVuZ3RoKSArIGxlbmd0aCkgJSBsZW5ndGhdLnN0YXJ0LCBzcGVlZCk7CgkJfSBlbHNlIHsKCQkJJC5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sIHRoaXMuX2NvcmUpKHBvc2l0aW9uLCBzcGVlZCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuTmF2aWdhdGlvbiA9IE5hdmlnYXRpb247Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogSGFzaCBQbHVnaW4KICogQHZlcnNpb24gMi4zLjQKICogQGF1dGhvciBBcnR1cyBLb2xhbm93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgkndXNlIHN0cmljdCc7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBoYXNoIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgSGFzaCBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBjYXJvdXNlbCAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIEhhc2ggPSBmdW5jdGlvbihjYXJvdXNlbCkgewoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIEhhc2ggaW5kZXggZm9yIHRoZSBpdGVtcy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge09iamVjdH0KCQkgKi8KCQl0aGlzLl9oYXNoZXMgPSB7fTsKCgkJLyoqCgkJICogVGhlIGNhcm91c2VsIGVsZW1lbnQuCgkJICogQHR5cGUge2pRdWVyeX0KCQkgKi8KCQl0aGlzLiRlbGVtZW50ID0gdGhpcy5fY29yZS4kZWxlbWVudDsKCgkJLyoqCgkJICogQWxsIGV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5zdGFydFBvc2l0aW9uID09PSAnVVJMSGFzaCcpIHsKCQkJCQkkKHdpbmRvdykudHJpZ2dlcignaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbicpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3ByZXBhcmVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlKSB7CgkJCQkJdmFyIGhhc2ggPSAkKGUuY29udGVudCkuZmluZCgnW2RhdGEtaGFzaF0nKS5hZGRCYWNrKCdbZGF0YS1oYXNoXScpLmF0dHIoJ2RhdGEtaGFzaCcpOwoKCQkJCQlpZiAoIWhhc2gpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJdGhpcy5faGFzaGVzW2hhc2hdID0gZS5jb250ZW50OwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nKSB7CgkJCQkJdmFyIGN1cnJlbnQgPSB0aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpKSwKCQkJCQkJaGFzaCA9ICQubWFwKHRoaXMuX2hhc2hlcywgZnVuY3Rpb24oaXRlbSwgaGFzaCkgewoJCQkJCQkJcmV0dXJuIGl0ZW0gPT09IGN1cnJlbnQgPyBoYXNoIDogbnVsbDsKCQkJCQkJfSkuam9pbigpOwoKCQkJCQlpZiAoIWhhc2ggfHwgd2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSkgPT09IGhhc2gpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoOwoJCQkJfQoJCQl9LCB0aGlzKQoJCX07CgoJCS8vIHNldCBkZWZhdWx0IG9wdGlvbnMKCQl0aGlzLl9jb3JlLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgSGFzaC5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCgkJLy8gcmVnaXN0ZXIgdGhlIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGxpc3RlbmVyIGZvciBoYXNoIG5hdmlnYXRpb24KCQkkKHdpbmRvdykub24oJ2hhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24nLCAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJdmFyIGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSksCgkJCQlpdGVtcyA9IHRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCksCgkJCQlwb3NpdGlvbiA9IHRoaXMuX2hhc2hlc1toYXNoXSAmJiBpdGVtcy5pbmRleCh0aGlzLl9oYXNoZXNbaGFzaF0pOwoKCQkJaWYgKHBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgcG9zaXRpb24gPT09IHRoaXMuX2NvcmUuY3VycmVudCgpKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCXRoaXMuX2NvcmUudG8odGhpcy5fY29yZS5yZWxhdGl2ZShwb3NpdGlvbiksIGZhbHNlLCB0cnVlKTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglIYXNoLkRlZmF1bHRzID0gewoJCVVSTGhhc2hMaXN0ZW5lcjogZmFsc2UKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICogQHB1YmxpYwoJICovCglIYXNoLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQkkKHdpbmRvdykub2ZmKCdoYXNoY2hhbmdlLm93bC5uYXZpZ2F0aW9uJyk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuSGFzaCA9IEhhc2g7Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogU3VwcG9ydCBQbHVnaW4KICoKICogQHZlcnNpb24gMi4zLjQKICogQGF1dGhvciBWaXZpZCBQbGFuZXQgU29mdHdhcmUgR21iSAogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgl2YXIgc3R5bGUgPSAkKCc8c3VwcG9ydD4nKS5nZXQoMCkuc3R5bGUsCgkJcHJlZml4ZXMgPSAnV2Via2l0IE1veiBPIG1zJy5zcGxpdCgnICcpLAoJCWV2ZW50cyA9IHsKCQkJdHJhbnNpdGlvbjogewoJCQkJZW5kOiB7CgkJCQkJV2Via2l0VHJhbnNpdGlvbjogJ3dlYmtpdFRyYW5zaXRpb25FbmQnLAoJCQkJCU1velRyYW5zaXRpb246ICd0cmFuc2l0aW9uZW5kJywKCQkJCQlPVHJhbnNpdGlvbjogJ29UcmFuc2l0aW9uRW5kJywKCQkJCQl0cmFuc2l0aW9uOiAndHJhbnNpdGlvbmVuZCcKCQkJCX0KCQkJfSwKCQkJYW5pbWF0aW9uOiB7CgkJCQllbmQ6IHsKCQkJCQlXZWJraXRBbmltYXRpb246ICd3ZWJraXRBbmltYXRpb25FbmQnLAoJCQkJCU1vekFuaW1hdGlvbjogJ2FuaW1hdGlvbmVuZCcsCgkJCQkJT0FuaW1hdGlvbjogJ29BbmltYXRpb25FbmQnLAoJCQkJCWFuaW1hdGlvbjogJ2FuaW1hdGlvbmVuZCcKCQkJCX0KCQkJfQoJCX0sCgkJdGVzdHMgPSB7CgkJCWNzc3RyYW5zZm9ybXM6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICEhdGVzdCgndHJhbnNmb3JtJyk7CgkJCX0sCgkJCWNzc3RyYW5zZm9ybXMzZDogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gISF0ZXN0KCdwZXJzcGVjdGl2ZScpOwoJCQl9LAoJCQljc3N0cmFuc2l0aW9uczogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gISF0ZXN0KCd0cmFuc2l0aW9uJyk7CgkJCX0sCgkJCWNzc2FuaW1hdGlvbnM6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICEhdGVzdCgnYW5pbWF0aW9uJyk7CgkJCX0KCQl9OwoKCWZ1bmN0aW9uIHRlc3QocHJvcGVydHksIHByZWZpeGVkKSB7CgkJdmFyIHJlc3VsdCA9IGZhbHNlLAoJCQl1cHBlciA9IHByb3BlcnR5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcHJvcGVydHkuc2xpY2UoMSk7CgoJCSQuZWFjaCgocHJvcGVydHkgKyAnICcgKyBwcmVmaXhlcy5qb2luKHVwcGVyICsgJyAnKSArIHVwcGVyKS5zcGxpdCgnICcpLCBmdW5jdGlvbihpLCBwcm9wZXJ0eSkgewoJCQlpZiAoc3R5bGVbcHJvcGVydHldICE9PSB1bmRlZmluZWQpIHsKCQkJCXJlc3VsdCA9IHByZWZpeGVkID8gcHJvcGVydHkgOiB0cnVlOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfSk7CgoJCXJldHVybiByZXN1bHQ7Cgl9CgoJZnVuY3Rpb24gcHJlZml4ZWQocHJvcGVydHkpIHsKCQlyZXR1cm4gdGVzdChwcm9wZXJ0eSwgdHJ1ZSk7Cgl9CgoJaWYgKHRlc3RzLmNzc3RyYW5zaXRpb25zKCkpIHsKCQkvKiBqc2hpbnQgLVcwNTMgKi8KCQkkLnN1cHBvcnQudHJhbnNpdGlvbiA9IG5ldyBTdHJpbmcocHJlZml4ZWQoJ3RyYW5zaXRpb24nKSkKCQkkLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQgPSBldmVudHMudHJhbnNpdGlvbi5lbmRbICQuc3VwcG9ydC50cmFuc2l0aW9uIF07Cgl9CgoJaWYgKHRlc3RzLmNzc2FuaW1hdGlvbnMoKSkgewoJCS8qIGpzaGludCAtVzA1MyAqLwoJCSQuc3VwcG9ydC5hbmltYXRpb24gPSBuZXcgU3RyaW5nKHByZWZpeGVkKCdhbmltYXRpb24nKSkKCQkkLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCA9IGV2ZW50cy5hbmltYXRpb24uZW5kWyAkLnN1cHBvcnQuYW5pbWF0aW9uIF07Cgl9CgoJaWYgKHRlc3RzLmNzc3RyYW5zZm9ybXMoKSkgewoJCS8qIGpzaGludCAtVzA1MyAqLwoJCSQuc3VwcG9ydC50cmFuc2Zvcm0gPSBuZXcgU3RyaW5nKHByZWZpeGVkKCd0cmFuc2Zvcm0nKSk7CgkJJC5zdXBwb3J0LnRyYW5zZm9ybTNkID0gdGVzdHMuY3NzdHJhbnNmb3JtczNkKCk7Cgl9Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7Cg=="}},"time_used":79,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":79,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67685.13755296d7d26eb7dbcc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.888Z","timestamp":1785124876888,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67685.13755296d7d26eb7dbcc.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2dfdd010b51c5019534b12e106fe7041\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":962,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"e318e6f9288c2f57bc947bf5784073b5","sha1":"a8b58198db65d302cc3fbf15118ab6bc7d525299","sha256":"71a4dbafdc173ecf98b93d11ac6a6ee8c80cbc2ea048858bcffa5e40d5254862","sha512":"dd5a0eddb94f41914f89297eba707a66a3471917598a8b67f2a6305092870bbc68f08e9af7598c1481a6fc82a2b44452c0b8f13d9ccc3eb9f059726a689bc62f","ssdeep":"","tlshash":"d8e020e355cd600d012f064cfd5774be920955037b5b6ccbea50e185edc82402535c08","first_seen":"2026-06-30T21:57:43.299741Z","last_seen":"2026-07-27T06:24:31.767891Z","times_seen":173,"resource_available":false,"data":"Lml0ZW0tWVJXMEpzRGR7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweDtwb3NpdGlvbjpyZWxhdGl2ZX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tWVJXMEpzRGR7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LVlSVzBKc0Rke21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1ZUlcwSnNEZHtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLVlSVzBKc0RkIC5pY29uLVlSVzBKc0RkLC5sb2FkaW5nLVlSVzBKc0RkIC5zaG9ydGN1dC1ZUlcwSnNEZHtvcGFjaXR5OjB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.091Z","timestamp":1785124877091,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.40528.289cbeb8632c78beb058.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-271\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a10059253add748b28c349fc9e53aed1\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":625,"size_decoded":1094,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (625), with no line terminators","md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-07-27T06:24:31.769679Z","times_seen":340,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MDUyOF0sezE0MzQxMihlKXtlLmV4cG9ydHM9WyJOb3QgYXBwbGljYWJsZSJdfSw0ODc3NjMoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQgaXMgZ29pbmcgdG8gYmUgYSBmaXZlIG1pbnV0ZSBjaGFydCkuIE9yIG51bWJlciBwbHVzIGxldHRlciBmb3IgSCAoSG91cmx5KSwgRCAoRGFpbHkpLCBXIChXZWVrbHkpLCBNIChNb250aGx5KSBpbnRlcnZhbHMgKGkuZS4gRCBvciAySCkiXX0sMjEyMDUoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQncyBnb2luZyB0byBiZSBhIGZpdmUgbWludXRlIGNoYXJ0KS4gT3IgbnVtYmVyIHBsdXMgbGV0dGVyIGZvciBvdGhlciBpbnRlcnZhbHM6IFMgZm9yIDEgc2Vjb25kIGNoYXJ0ICgxNVMgZm9yIDE1IHNlY29uZCBjaGFydCwgZXRjLiksIEggKEhvdXJseSksIEQgKERhaWx5KSwgVyAoV2Vla2x5KSwgTSAoTW9udGhseSkgaW50ZXJ2YWxzIChpLmUuIEQgb3IgMkgpIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.200Z","timestamp":1785124877200,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-2ee\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ca0ccc6859a1d3f4b0c159912e78c8a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":750,"size_decoded":957,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"2632199c98129948ba24975de6a4cee8","sha1":"82a2d79a460678d39482b2df940a21f7177ade40","sha256":"caa9bc8415c74f92a48a4fdd430e1c0cdf6eab1ff81861a3ecb151196a982ec4","sha512":"01348d63394733bbe814bb6e0c4ceb17d75a380fecc3b2e339eb4a403103fafcc831f7ec9b99239d764d4d4b3b2e2840eb63e687286ed89ad97b68208b17419e","ssdeep":"","tlshash":"4f01044ad880e3f3782622ec6314526b06d19e15b2865fc777d8c00348cc4f300b7abe","first_seen":"2026-07-17T03:30:51.175342Z","last_seen":"2026-07-27T06:14:34.168229Z","times_seen":56,"resource_available":false,"data":"LnByaW1hcnktWThvRlRfUFp7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLWJveDp2YXIoCgkJLS11aS1saWItY2hlY2tib3gtY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpCgkpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1tYXJrOnZhcigKCQktLXVpLWxpYi1jaGVja2JveC1tYXJrLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZSkKCSl9LmRhbmdlci1ZOG9GVF9QWnstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1ib3g6dmFyKAoJCS0tdWktbGliLWNoZWNrYm94LWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpCgkpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1tYXJrOnZhcigKCQktLXVpLWxpYi1jaGVja2JveC1tYXJrLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZSkKCSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.625Z","timestamp":1785124877625,"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://berthenergy-inc.biz/\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 04:01:17 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-27T06:15:18.694025Z","times_seen":79767,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"time_used":45,"timings":{"blocked":-1,"dns":2,"connect":26,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/#","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.230Z","timestamp":1785124875230,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 8050\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\nvary: Accept-Encoding,User-Agent\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"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":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","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"]},{"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":"particles.js","description":"Particles.js is a JavaScript library for creating particles.","website":"https://github.com/VincentGarreau/particles.js","common_platform_enumeration":"","icon":"","categories":["JavaScript graphics"]}],"data":{"size":45463,"size_decoded":8367,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (1549)","md5":"af9fd7bee8a99f448f5492f36cae82d6","sha1":"51ede8add8769813f1ea7e181c80f4c75b6e33f2","sha256":"3acedd52f9f10aa128b3df50d427631083fa765efbe76748cccf13b5b054653a","sha512":"1950811880a9ae90ffefd722efdc8ccdb198c764e3259d900ebc9626fafaf55c7afd4d54e0c8fd4c7440c0b5bda4139383c213b88855a3204b71eb0162ad1a76","ssdeep":"768:iXjP+oOUwPIyuvpSQcmNoKhQq/kXV0iW/MIYJtCte8LBI8S8F8yFKFty:2QqcxW/MIYJtOQTy","tlshash":"d8132d3198f5006351a3d0c5ba716b6b2f82ea5bc61b8a4576fc0b9c5fc3d86ec6360d","first_seen":"2026-07-27T03:24:36.839431Z","last_seen":"2026-07-27T04:03:29.959918Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiB4bWw6bGFuZz0iZW4iPiAgICAKPGhlYWQ+ICAgICAgIAogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPiAKICAgCiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0ibW9zdCBwb3B1bGFyIGNyeXB0byBjdXJyZW5jaWVzLGNyeXB0b2N1cnJlbmN5LHRvcCBjcnlwdG8gY3VycmVuY3kgZXhjaGFuZ2VzLG1vc3QgcHJvZml0YWJsZSBiaXRjb2luIG1pbmluZyBwb29sLHR5cGVzIG9mIGNyeXB0byBjdXJyZW5jaWVzLG9pbnMgb25saW5lLGJ1eSBiaXRjb2lucyB3aXRoIGNyZWRpdCBjYXJkLGJpdGNvaW4sd2hhdCBhcmUgYml0Y29pbnMsaG93IHRvIGJ1eSBiaXRjb2luIHN0b2NrLGJ1eSBiaXRjb2lucyBpbnN0YW50bHksYml0Y29pbiBkb2xsYXIgZXhjaGFuZ2UgcmF0ZSxpcyBiaXRjb2luIG1pbmluZyB3b3J0aCBpdCxiaXRjb2luIHZhbHVlIGNoYXJ0LGhvdyBtdWNoIGlzIDEgYml0Y29pbixiaXRjb2luIHZhbHVlIHVzZCxiaXRjb2luIGRvbGxhciBjaGFydCxiaXRjb2luIHRvIHVzZCxiaXRjb2luIHZhbHVlIHByb2plY3Rpb25zLGVhc2llc3Qgd2F5IHRvIGJ1eSBiaXRjb2lucyxiZXN0IHdheSB0byBidXkgYml0Y29pbnMsYmVzdCBwbGFjZSB0byBidXkgYml0Y29pbnMsYnV5IGJ0YyB3aXRoIGNyZWRpdCBjYXJkLGJ1eSBiaXRjb2lucyB3aXRoIGRlYml0IGNhcmQsaG93IHRvIGJ1eSBiaXRjb2lucyBmb3IgZHVtbWllcyxiZXN0IHdheSB0byBnZXQgYml0Y29pbnMsaG93IHRvIHB1cmNoYXNlIGJpdGNvaW5zLGhvdyB0byBidXkgYml0Y29pbnMsc3RvcmVzIHRoYXQgYWNjZXB0IGJpdGNvaW5zLHdoYXQgbWVyY2hhbnRzIHRha2UgYml0Y29pbnMsYml0Y29pbiBpbnZlc3RtZW50IGluZGlhLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBzb3V0aCBhZnJpY2EsYml0Y29pbiBpbnZlc3RtZW50IGluIGdoYW5hLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBkdWJhaSxpdGNvaW4gaW52ZXN0bWVudCBpbiBvbWFuLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBsYWR5c21pdGgsYml0Y29pbiBpbnZlc3RtZW50IGluIHNpbmdhcG9yZSxiaXRjb2luIGludmVzdG1lbnQgaW4gYm90c3dhbmEsYml0Y29pbiBpbnZlc3RtZW50IGphcGFuLGJpdGNvaW4gaW52ZXN0bWVudCBqaW0gZGF2aWRzb24sYml0Y29pbiBpbnZlc3RtZW50IHN0cmF0ZWd5LGJpdGNvaW4gaW52ZXN0bWVudCBzY3JpcHQgcGhwLGJpdGNvaW4gaW52ZXN0bWVudCB0ZW1wbGF0ZSxiaXRjb2luIGludmVzdG1lbnQgdGVsZWdyYW0gZ3JvdXAsYml0Y29pbiBpbnZlc3RtZW50IHRlc3RpbW9uaWVzLGJpdGNvaW4gaW52ZXN0bWVudCB0cnVzdCBwcmljZSxpcyBiaXRjb2luIHZpYWJsZSBpbnZlc3RtZW50LCAjYnRjLCAjbW9uZXksICNldGhlcmV1bSwgI2ZvcmV4LCAjYml0Y29pbm1pbmluZywgI3RyYWRpbmcsICNpbnZlc3RtZW50LCAjYnVzaW5lc3MsICNmb3JleHRyYWRlciwgI2xpdGVjb2luLCAjdHJhZGVyLCAjYml0Y29pbmNhc2gsICNiaXRjb2lubmV3LHMgI2JpdGNvaW5zLCAjYmluYXJ5b3B0aW9ucywgI2VudHJlcHJlbmV1ciwgI2ludmVzdCwgI2NyeXB0b25ld3MsICNpbnZlc3RpbmcsICNiaXRjb2lucHJpY2UsICNldGgsICNjb2luYmFzZSwgI2ludmVzdG9yLCAjcmlwcGxlLCAjYmluYXIsIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iVHJ1c3RlZCBUcmFkaW5nIGNvbXBhbnkiIC8+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9OTIwIj4KCiAgICAKCgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSJpbWFnZXMvZmF2aWNvbi5wbmciIHR5cGU9ImltYWdlL3BuZyIgLz4gCiAgICA8c2NyaXB0PjA8L3NjcmlwdD4KICAgIDwhLS0gRm9udCBGYW1pbHkgLS0+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UFQrU2Fuczo0MDAsNzAwIiByZWw9InN0eWxlc2hlZXQiPiAKICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDMwMGksNDAwLDQwMGksNjAwLDYwMGksNzAwLDcwMGksODAwLDgwMGkiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczozMDAsNDAwLDUwMCw2MDAsNzAwLDgwMCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDwhLS0gV2Vic2l0ZSBUaXRsZSAtLT4KICAgIDx0aXRsZT5iZXJ0aGVuZXJneS1pbmMuYml6PC90aXRsZT4KICAgIDwhLS0gU3R5bGVzaGVldHMgU3RhcnQgLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ZvbnQtYXdlc29tZS81LjE1LjQvY3NzL2FsbC5taW4uY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3Mvc3R5bGVzL2Jvb3RzdHJhcC5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvYW5pbWF0ZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvb3dsLmNhcm91c2VsLm1pbi5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvc3R5bGVtYWluLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL3N0eWxlcy9yZXNwb25zaXZlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KICAgICA8IS0tIFN0eWxlc2hlZXRzIEVuZCAtLT4KICAgIDwhLS1baWYgbHQgSUUgOV0+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2h0bWw1c2hpdi8zLjcuMy9odG1sNXNoaXYuanMiPjwvc2NyaXB0PjwhW2VuZGlmXS0tPgogICAgPCEtLVtpZiBsdCBJRSA5XT48c2NyaXB0IHNyYz0ianMvcmVzcG9uZC5qcyI+PC9zY3JpcHQ+PCFbZW5kaWZdLS0+CiAgICAKPC9oZWFkPjxib2R5IGNsYXNzID0gJ3NpbmdsZS1wb3N0Jz4KICAgIDwhLS1NYWluIFdyYXBwZXIgU3RhcnQtLT4KICAgIDxkaXYgY2xhc3M9IndyYXBwZXIiIGlkPSJ0b3AiPgogICAgICAgIDwhLS1IZWFkZXIgU3RhcnQgLS0+CiAgICAgICAgPGhlYWRlcj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgbG9nbyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIuLyIgdGl0bGU9ImJlcnRoZW5lcmd5LWluYy5iaXoiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxpZ2h0IiBzcmM9ImltYWdlcy9sb2dvLnBuZyIgYWx0PSJiZXJ0aGVuZXJneS1pbmMuYml6Ij4KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJkYXJrIiBzcmM9ImltYWdlcy9sb2dvLnBuZyIgaGVpZ2h0ID0gIjgwcHgiIGFsdD0iYmVydGhlbmVyZ3ktaW5jLmJpeiI+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOCBtYWluLW1lbnUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1pY29uIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9wIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1pZGRsZSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJib3R0b20iPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0ib25lcGFnZSI+CiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJhY3RpdmUiPjxhIGhyZWY9Ii4vIj5Ib21lPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1hYm91dCI+QWJvdXQgVXM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4vI3ByaWNpbmciPlRyYWRlPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1ydWxlcyI+TGVnYWw8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4vI3RlYW0iPnRlYW08L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXN1cHBvcnQiPkNvbnRhY3Q8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtYnRuIj48YSBocmVmPSI/YT1sb2dpbiIgc3R5bGUgPSAiY29sb3I6I0ZGRDAxNzsgYm9yZGVyOjFweCBzb2xpZCAjRkZEMDE3Ij5TaWduIEluPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Imdvb2dsZV90cmFuc2xhdGVfZWxlbWVudCI+PC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCgpIHsKICAgICAgICBuZXcgZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHsKICAgICAgICAgICAgcGFnZUxhbmd1YWdlOiAnZW4nLAogICAgICAgICAgICBsYXlvdXQ6IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudC5JbmxpbmVMYXlvdXQuU0lNUExFCiAgICAgICAgfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCcpOwogICAgfQoKPC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3RyYW5zbGF0ZS5nb29nbGUuY29tL3RyYW5zbGF0ZV9hL2VsZW1lbnQuanM/Y2I9Z29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQiPjwvc2NyaXB0Pgo8c3R5bGU+CiAgICAuZ29vZy10ZS1nYWRnZXQgaW1nIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC5nb29nLXRlLWdhZGdldC1zaW1wbGUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgcGFkZGluZzogN3B4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICB9CiAgICAKICAgIC5nb29nLXRlLWdhZGdldC1zaW1wbGUgLmdvb2ctdGUtbWVudS12YWx1ZSBzcGFuewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgIH0KCjwvc3R5bGU+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbmF2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2hlYWRlcj4gICAgICAgIDwhLS1IZWFkZXIgRW5kLS0+CgogICAgICAgIDwhLS0gQ29udGVudCBTZWN0aW9uIFN0YXJ0IC0tPiAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1pZGQtY29udGFpbmVyIj4uCiAgICAgICAgICAgIDwhLS0gSGVybyBTZWN0aW9uIFN0YXJ0IC0tPiAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLW1haW4gZGlhbW9uZC1sYXlvdXQgd2hpdGUtc2VjIiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoaW1hZ2VzL3NsaWRlci5wbmcpO2hlaWdodDo3MDBweCAhaW1wb3J0YW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgc3R5bGUgPSAidGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjojMDAwMDAwIj5UcmFkZSB3aXRoIEJlcnRoZW5lcmd5IDxzcGFuIHN0eWxlID0gInRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7IGNvbG9yOiMwNUFBOUIiPmFzc2V0cywgdGhlIHNtYXJ0IHdheSwgaGFzc2xlLWZyZWU8L3NwYW4+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsZWFkIHRleHQtY2FwaXRhbGl6ZSIgc3R5bGUgPSAiY29sb3I6IzAwMDAwMCI+c21hcnQgdXNlcnMgYW5kIHN0YXJ0IFRyYWRpbmcgd2l0aCBCZXJ0aGVuZXJneSBhdCB0aGUgYmVzdCBhdmFpbGFibGUgcHJpY2UgYW55d2hlcmUgYXQgYW55IHRpbWUuIEEgdHJ1c3RlZCBhbmQgYWNjZXNzaWJsZSB3ZWFsdGggbWFuYWdlbWVudCBlY29lbmVyZ3kgcG93ZXJlZCBieSBibG9ja2NoYWluIHRlY2hub2xvZ3k8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLWJ0bnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9ImJ0biBidG40IiBzdHlsZSA9ICJib3JkZXItcmFkaXVzOjM3cHgiPkNSRUFURSBBQ0NPVU5UPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0iYnRuIGJ0bjUiIHN0eWxlID0gImJvcmRlci1yYWRpdXM6MzdweCI+TE9HSU48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtNiIgZGF0YS13b3ctZGVsYXk9IjAuNXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbW9uZC1hbmltYXRpb24gbW9iaWxlLWhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbW9uZC1ncmlkIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWdyaWQtMiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0ZXItT3JiaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJPcmJpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3RhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Ik9yYml0U3F1YXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXIiPkE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWNvaW4iPjxzcGFuPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGluZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtOCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtOSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMTAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsLTExIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibC0xMiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsLTE0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibC0xNSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5zaWRlLWJpdGNvaW4iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlzMiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNxdWFyZS0xIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9iaWxlLXZpc2libGUgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGlhbW9uZC1hbmltYXRpb24tbW9iaWxlLnBuZyIgYWx0PSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIEhlcm8gU2VjdGlvbiBFbmQgLS0+CgogICAgICAgICAgICAgPCEtLSBibG9nIHNlY3Rpb24gLS0+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbnMiIGlkID0gInByaWNpbmciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZSA9ICJwYWRkaW5nOjdweCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPjxoMiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIiBzdHlsZSA9ICJtYXJnaW4tdG9wOjIwcHgiPlNtYXJ0IFRyYWRpbmcgUGxhbnM8L2gyPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyIgc3R5bGUgPSAicGFkZGluZzo3cHgiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbC1sZy00JyBzdHlsZSA9ICdib3JkZXI6NHB4IHNvbGlkICMwMDAwMDA7IHBhZGRpbmc6MTBweDsgYm9yZGVyLXJhZGl1czo3cHgnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3MgPSAndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+U1RBUlRFUjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQxMC4wMCA8c3BhbiBzdHlsZSA9ICdmb250LXNpemU6MTRweCc+TWluaW11bTwvc3Bhbj48L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGUgPSAncGFkZGluZzoycHg7Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IEluc3RhbnQgV2l0aGRyYXdhbDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGUgPSAnbWFyZ2luLXRvcDogLTEwcHgnPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBEZWRpY2F0ZWQgU3VwcG9ydDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGUgPSAnbWFyZ2luLXRvcDogLTEwcHgnPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBEdXJhdGlvbjogMjQgSG91cnM8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgUHJvZml0OiA4JTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0ZXh0LWNlbnRlcic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND4kNDk5LjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbGctNCcgc3R5bGUgPSAnYm9yZGVyOjRweCBzb2xpZCAjMDAwMDAwOyBwYWRkaW5nOjEwcHg7IGJvcmRlci1yYWRpdXM6N3B4Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzID0gJ3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PklOVEVSTUVESUFURTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQ1MDAuMDAgPHNwYW4gc3R5bGUgPSAnZm9udC1zaXplOjE0cHgnPk1pbmltdW08L3NwYW4+PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlID0gJ3BhZGRpbmc6MnB4Oyc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBJbnN0YW50IFdpdGhkcmF3YWw8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRGVkaWNhdGVkIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRHVyYXRpb246IDI0IEhvdXJzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZSA9ICdtYXJnaW4tdG9wOiAtMTBweCc+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IFByb2ZpdDogMTYlPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQ2OTk5LjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbGctNCcgc3R5bGUgPSAnYm9yZGVyOjRweCBzb2xpZCAjMDAwMDAwOyBwYWRkaW5nOjEwcHg7IGJvcmRlci1yYWRpdXM6N3B4Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzID0gJ3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkFEVkFOQ0VEPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+JDcwMDAuMDAgPHNwYW4gc3R5bGUgPSAnZm9udC1zaXplOjE0cHgnPk1pbmltdW08L3NwYW4+PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlID0gJ3BhZGRpbmc6MnB4Oyc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBJbnN0YW50IFdpdGhkcmF3YWw8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRGVkaWNhdGVkIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRHVyYXRpb246IDQ4IEhvdXJzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZSA9ICdtYXJnaW4tdG9wOiAtMTBweCc+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IFByb2ZpdDogMzMlPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQxMDAwMDAwLjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnI+CiAgICAgICAgICAgIDwhLS0gYmxvZyBzZWN0aW9uIEVuZCAtLT4KICAgICAgICAgICAgPCEtLUFib3V0IFN0YXJ0IC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dC1zZWN0aW9uIHAtdGIgZGlhbW9uZC1sYXlvdXQiIGlkPSJhYm91dCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvY2VydC5wbmciIHN0eWxlID0gImJvcmRlci1yYWRpdXM6IDhweDsgYm9yZGVyOjVweCBzb2xpZCAjMDAwMDAwIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy03IGNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyIgc3R5bGUgPSAiZm9udC1zaXplOjI1cHg7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgdGV4dC1hbGlnbjpjZW50ZXIiPldlbGNvbWUgVG8gYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBzdHlsZSA9ICJ0ZXh0LWFsaWduOmNlbnRlciI+QWJvdXQgVXM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PldlIGFyZSB0cnVzdGVkIGFuZCBhY2Nlc3NpYmxlIHdlYWx0aCBtYW5hZ2VtZW50IGVjb2VuZXJneSBwb3dlcmVkIGJ5IGJsb2NrY2hhaW4gdGVjaG5vbG9neSwgYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkIHB1dHMgeW91ciB3ZWFsdGggYmFjayBpbiB5b3VyIGhhbmRzLiBiZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBDb21wYW55IGlzIGEgbGVhZGluZyBCZXJ0aGVuZXJneSB0cmFkaW5nIEdyb3VwIHRoYXQgdXRpbGl6ZXMgaW5ub3ZhdGl2ZSBwcm9wcmlldGFyeSB0ZWNobm9sb2dpZXMgdG8gcHJvdmlkZSBtYW5hZ2VkIEJlcnRoZW5lcmd5IHRyYWRpbmcgc2VydmljZXMgdG8geWllbGQgaGlnaGVyIHByb2ZpdHMuPC9oNT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBOYXYgdGFicyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyB0ZXh0LXVwcGVyY2FzZSIgcm9sZT0idGFibGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1saW5rIGFjdGl2ZSIgaWQ9Im1pc3Npb24tdGFiIiBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjbWlzc2lvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSJtaXNzaW9uIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj5PdXIgTWlzc2lvbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ2aXNpb24tdGFiIiBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdmlzaW9uIiByb2xlPSJ0YWIiIGFyaWEtY29udHJvbHM9InZpc2lvbiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPk91ciB2aXNpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1saW5rIiBpZD0iZ3VhcmFudGVlcy10YWIiIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNndWFyYW50ZWVzIiByb2xlPSJ0YWIiIGFyaWEtY29udHJvbHM9Imd1YXJhbnRlZXMiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5HdWFyYW50ZWVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYWIgcGFuZXMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJtaXNzaW9uIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1sYWJlbGxlZGJ5PSJtaXNzaW9uLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XaGlsZSB3ZSBzZXJ2ZWQgYXMgYW4gVHJhZGluZyBob3VzZSBmb3IgcmV0YWlsIGJpdGNvaW4gaW52ZXN0b3JzLCBvdXIgY29yZSBwdXJwb3NlIGFuZCBmb2N1cyB3YXMgYWx3YXlzLCBmaXJzdCBhbmQgZm9yZW1vc3QsIHRvIGJlIGFuIGVkdWNhdGlvbiBob3VzZS4gVG8gcHJvdmlkZSBjbGVhciBhbmQgdW5yaXZhbGxlZCBlZHVjYXRpb24gaW4gdGhlIHNwYWNlOyB0byBkZW15c3RpZnkgdGhlIGNvbXBsZXggbmF0dXJlIG9mIGJsb2NrY2hhaW4gdGVjaG5vbG9neSBhbmQgb2ZmZXIgaW5zaWdodCBpbnRvIHRoZSBmaW5hbmNpYWwgYW5kIHBoaWxvc29waGljYWwgdmFsdWUgaGVsZCB3aXRoaW4gaXRzIGJsdWVwcmludC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSIgaWQ9InZpc2lvbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0idmlzaW9uLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGlzIGV0aG9zIG9mIGVkdWNhdGlvbiByZW1haW5zIGEga2V5IHRlbmV0IG9mIHdobyB3ZSBhcmUgYW5kIHdoYXQgd2UgZG8uIEJ1dCBhcyBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgYm91bmRsZXNzLCB1bnRhcHBlZCBwb3RlbnRpYWwgb2YgQml0Y29pbiBoYXMgZGV2ZWxvcGVkIGFuZCBkZWVwZW5lZCwgc28gdG9vIGhhcyBvdXIgbWFya2V0IG9mZmVyaW5nLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIiBpZD0iZ3VhcmFudGVlcyIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0iZ3VhcmFudGVlcy10YWIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSB0dXJuZWQgb3VyIGF0dGVudGlvbiB0byBwcm92aWRlIGEgbW9yZSBob2xpc3RpYyBhbmQgZmFyLXJlYWNoaW5nIHNvbHV0aW9uOiBHcmF2aXR5LCBhIGNvbm5lY3RlZCBlY29lbmVyZ3kgb2YgZXZlcnlkYXkgZmluYW5jaWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcywgYmFja2VkIGJ5IHRoZSBwb3dlciBhbmQgc2NhbGUgb2YgQml0Y29pbiBTViAodGhlIE9yaWdpbmFsIEJpdGNvaW4pIHRoYXQgd2lsbCBwbGF5IGEgcm9sZSBpbiBlbmFibGluZyBzb3ZlcmVpZ250eSwgYW5kIGV2ZW50dWFsbHkgaW4gdGhlIGV2b2x1dGlvbiBvZiBodW1hbiBzdXN0YWluYWJpbGl0eS4gPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGhyZWY9Ij9hPWFib3V0IiBzdHlsZSA9ICJib3JkZXItcmFkaXVzOjM3cHgiPlJlYWQgTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGEgY2xhc3M9IndhdGNoLWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9NU9UTUVqLXdqM28iIHRhcmdldCA9ICJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLXBsYXkiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN0cm9uZz5XYXRjaCB2aWRlbzwvc3Ryb25nPldoYXQgaXMgYml0Y29pbj88L3NwYW4+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLUFib3V0IGVuZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCgkJCTxkaXYgY2xhc3M9ImNvbC1tZC02IHRleHQtY2VudGVyIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToyMHB4OyI+CgkJCQkJPGgzIHN0eWxlPSJwYWRkaW5nOjIwcHg7IG1hcmdpbjowcHg7IAogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDIsMCwzNiwxKSAwJSwgcmdiYSgyMzUsMTU0LDEzLDEpIDAlLCByZ2JhKDEwMSwzMywxNjEsMSkgMzclLCByZ2JhKDEsMTIsMTMsMSkgNzklKTsgY29sb3I6d2hpdGU7IiA+TElWRSBDSEFSVDwvaDM+CgkJCQkKCQkJCTxkaXYgY2xhc3M9ImNhcmQgY2FyZC1ib2R5Ij4KCQkJCTxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5idGN3aWRnZXQuaW5mby93aWRnZXQvbGl2ZVR4LyUyMzAwMDAwMC8lMjMwMDAwMDAvJTIzMDAwMDAwLyUyM2ZmZmZmZi8lMjNlMDFjOWUvMzAwLzQwMC83IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgZnJhbWVCb3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iPjwvaWZyYW1lPgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQoJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNiB0ZXh0LWNlbnRlciIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweDsiPgoJCQkJCTxoMyBzdHlsZT0icGFkZGluZzoyMHB4OyBtYXJnaW46MHB4OyAKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyLDAsMzYsMSkgMCUsIHJnYmEoMjM1LDE1NCwxMywxKSAwJSwgcmdiYSgxMDEsMzMsMTYxLDEpIDM3JSwgcmdiYSgxLDEyLDEzLDEpIDc5JSk7IGNvbG9yOndoaXRlOyIgPkxJVkUgVFJBREU8L2gzPgoJCQkJCgkJCQk8ZGl2IGNsYXNzPSJjYXJkIGNhcmQtYm9keSI+CgkJCQkgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPgo8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4KICA8ZGl2IGlkPSJ0cmFkaW5ndmlld183NzM1NCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tL3N5bWJvbHMvQlRDVVNEVC8/ZXhjaGFuZ2U9QklOQU5DRSIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJibHVlLXRleHQiPkJUQ1VTRFQgQ2hhcnQ8L3NwYW4+PC9hPiBieSBtaWRkZXhlbmVyZ3k8L2Rpdj4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS90di5qcyI+PC9zY3JpcHQ+CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogIG5ldyBUcmFkaW5nVmlldy53aWRnZXQoCiAgewogICJ3aWR0aCI6IDQwMCwKICAiaGVpZ2h0IjogNDAwLAogICJzeW1ib2wiOiAiQklOQU5DRTpCVENVU0RUIiwKICAiaW50ZXJ2YWwiOiAiRCIsCiAgInRpbWV6b25lIjogIkV0Yy9VVEMiLAogICJ0aGVtZSI6ICJsaWdodCIsCiAgInN0eWxlIjogIjEiLAogICJsb2NhbGUiOiAiZW4iLAogICJ0b29sYmFyX2JnIjogIiNmMWYzZjYiLAogICJlbmFibGVfcHVibGlzaGluZyI6IHRydWUsCiAgImFsbG93X3N5bWJvbF9jaGFuZ2UiOiB0cnVlLAogICJjb250YWluZXJfaWQiOiAidHJhZGluZ3ZpZXdfNzczNTQiCn0KICApOwogIDwvc2NyaXB0Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQmVuZWZpdHMgU3RhcnQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXRzIHAtdGIgYmxhY2stYmcgd2hpdGUtc2VjIGRpYW1vbmQtbGF5b3V0Ij4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImdvbGQtdGVjaC1iZyI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+PHNwYW4+V2h5IFRyYWRlIFdpdGggYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkPC9zcGFuPjwvaDI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLXR4dCBtdy04NTAgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5iZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBDb21wYW55IGlzIGEgbGVhZGluZyB0cmFkaW5nIEdyb3VwIHRoYXQgdXRpbGl6ZXMgaW5ub3ZhdGl2ZSBwcm9wcmlldGFyeSB0ZWNobm9sb2dpZXMgdG8gcHJvdmlkZSBtYW5hZ2VkIHRyYWRpbmcgc2VydmljZXMgdG8geWllbGQgaGlnaGVyIHByb2ZpdHMuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtYm94IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JlbmVmaXQtaWNvbi0xLnBuZyIgYWx0PSJTYWZlIGFuZCBTZWN1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5TYWZlIGFuZCBTZWN1cmU8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSd2ZSBidWlsdCBvbmUgb2YgdGhlIHRoZSB3b3JsZCdzIG1vc3Qgc29waGlzdGljYXRlZCBUcmFkaW5nIGNvbXBhbnkuIFlvdXIgcGVyc29uYWwgZGF0YSBhbmQgdHJhbmFzY3Rpb25zIGFyZSBhbHdheXMgcHJvdGVjdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1ib3ggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmVuZWZpdC1pY29uLTIucG5nIiBhbHQ9Ikluc3RhbnQgRXhjaGFuZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5JbnN0YW50IEV4Y2hhbmdlPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSB0aGUgZmFzdGVzdCBwYXltZW50IHN5c3RlbSwgZGVlcC1yb290ZWQgaW4gYmxvY2tjaGFpbiB0ZWNobm9sb2d5LiBObyBoaWRkZW4gZmVlcywgYW5kIG5vIGV4dHJhIGNvbW1pc3Npb25zLiBXaXRoZHJhd2FscyBhcmUgc2VudCB0byB5b3VyIHdhbGxldHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWJveCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iZW5lZml0LWljb24tMy5wbmciIGFsdD0iV29ybGQgQ292ZXJhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5Xb3JsZCBDb3ZlcmFnZTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSBnZW5lcmFsIHB1YmxpYy4gV2UgYXJlIGFjY2VwdGVkIGFjcm9zcyB0aGUgZ2xvYmUgYXMgYW4gVHJhZGluZyBjb21wYW55LCB3ZSBhcmUgY2VydGlmaWVkIGFzIGFuIElTTy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtYm94IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JlbmVmaXQtaWNvbi00LnBuZyIgYWx0PSJNb2JpbGUgQXBwcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcyA9ICJ0ZXh0LWNhcGl0YWxpemUiPldlIEFyZSBDZXJ0aWZpZWQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5iZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBpcyBmdWxseSByZWdpc3RlcmVkIHRvIG9wZXJhdGUgYXMgYSBMaW1pdGVkIExpYWJpbGl0eSBDb21wYW55LCBDbGljayA8YSBocmVmPSI/YT1hYm91dCI+SEVSRTwvYT4gdG8gdmlldyBvdXIgY29tcGFueSBwcm9maWxlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1ib3ggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmVuZWZpdC1pY29uLTUucG5nIiBhbHQ9IlN0cm9uZyBOZXR3b3JrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzID0gInRleHQtY2FwaXRhbGl6ZSI+VHJhbnNwYXJlbnQgc3RhdGlzdGljczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkVhY2ggdXNlcidzIFRyYWRpbmcgaW4gVHJhZGluZyBwcm9kdWN0cyB3aWxsIGJlIHJlY29yZGVkIGluIGJsb2NrY2hhaW4sIHByb3ZpbmcgdGhhdCBpdCBpcyByZWFsIGFuZCBiZWxvbmcgdG8gdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWJveCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iZW5lZml0LWljb24tNi5wbmciIGFsdD0iTWFyZ2luIFRyYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5Mb3cgZW50cnkgdGhyZXNob2xkPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHBhcml0eSBvZiBUcmFkaW5nIG9wcG9ydHVuaXRpZXMgaXMgdGhlIGNvcmUgb2Ygb3VyIGNvbmNlcHQuIFdlIHdpbGwgZ2l2ZSBldmVyeW9uZSBhbiBhY2Nlc3MgdG8gdGhlIHdvcmxkIG9mIFRyYWRpbmdzLiA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQmVuZWZpdHMgRW5kIC0tPgogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLSBUaGUgUm9hZG1hcCAgc3RhcnQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm9hZG1hcC1zZWMgZGlhbW9uZC1sYXlvdXQiIGlkPSJyb2FkbWFwIiBzdHlsZSA9ICJtYXJnaW4tYm90dG9tOi0zMHB4Ij4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBUaGUgUm9hZG1hcCBlbmQtLT4KICAgICAgICAgICAgPGRpdiBpZD0iY291bnRlciIgY2xhc3M9Im1pbGVzdG9uZS1zZWN0aW9uIHAtdGIgYy1sIiBzdHlsZSA9ICJtYXJnaW4tdG9wOi0zMHB4Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXIiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVyLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL3RyYW5zYWN0aW9ucy1pY29uLnBuZyIgYWx0PSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci12YWx1ZSIgZGF0YS1jb3VudD0iNTU0NjY1NS44Ij4wPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjb3VudC10ZXh0ICI+VG90YWwgV2l0aGRyYXdhbHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9zdXBwb3J0LWljb24ucG5nIiBhbHQ9IiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVyLXZhbHVlIiBkYXRhLWNvdW50PSI5ODU2MSI+MDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iY291bnQtdGV4dCAiPlVzZXJzPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXItaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvd2FsbGV0cy1pY29uLnBuZyIgYWx0PSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci12YWx1ZSIgZGF0YS1jb3VudD0iNjY0MTg0LjMxIj4wPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjb3VudC10ZXh0ICI+VG90YWwgRGVwb3NpdHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9jb3VudHJpZXMtaWNvbi5wbmciIGFsdD0iIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXItdmFsdWUiIGRhdGEtY291bnQ9IjEzOSI+MDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iY291bnQtdGV4dCAiPkNvdW50cmllczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgogCiAgICAgICAgICAgIDwhLS0gVGVhbSBzZWMgc3RhcnQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1zZWN0aW9uIHAtdGIgbGlnaHQtZ3JheS1iZyBkaWFtb25kLWxheW91dCIgaWQ9InRlYW0iIHN0eWxlID0gImJhY2tncm91bmQ6IHVybChpbWFnZXMvY29pbnBvb2wtZG90cy1jaXJjbGUucG5nKSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+RXhlY3V0aXZlIEJvYXJkPC9oMj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL2Nlby5qcGciIGFsdD0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1zb2NpYWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiIHRhcmdldCA9ICJfYmxhbmsiPjxpIGNsYXNzPSJmYWIgZmEtZmFjZWJvb2stZiI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPjxpIGNsYXNzPSJmYWIgZmEtdHdpdHRlciI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPjxpIGNsYXNzPSJmYWIgZmEtbGlua2VkaW4taW4iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+VWxyaWtlIExpbmRzYXkgPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Rm91bmRlciAmIENFTzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0taW1nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9ib2FyZC9icm9rZXIuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhdHJpY2sgTmFpcmFwaXo8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Dby1mb3VuZGVyICYgQ1RPPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL3N1cHBvcnQuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkNoYXJpZmkgQWJvdSBEYXlhPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U3VwcG9ydCBNYW5hZ2VyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL2FuYWx5c3QuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlZhaWJoYXYgR2F3YXM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MZWFkIFJlc2VhcmNoIE1hbmFnZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLSBCcmFuZCBsb2dvIHNsaWRlciAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFydG5lci1sb2dvIHAtdGIgd2hpdGUtc2VjIGRhcmstZ3JheS1iZyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+PHNwYW4+V2UgQWNjZXB0PC9zcGFuPjwvaDI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFydG5lci1sb2dvLWdyaWQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj48aW1nIHNyYz0iaW1hZ2VzL3BheTEucG5nIiBhbHQ9IndlIGFjY2VwdCIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+PGltZyBzcmM9ImltYWdlcy9wYXkyLnBuZyIgYWx0PSJXZSBhY2NlcHQiIC8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPjxpbWcgc3JjPSJpbWFnZXMvcGF5My5wbmciIGFsdD0iV2UgYWNjZXB0IiAvPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj48aW1nIHNyYz0iaW1hZ2VzL3BheTQucG5nIiBhbHQ9IldlIGFjY2VwdCIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICA8IS0tIENvbnRlbnQgU2VjdGlvbiBFbmQgLS0+IAo8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+CiAgICAgICAgPCEtLWZvb3RlciBTdGFydC0tPiAgIAogICAgICAgIDxmb290ZXIgY2xhc3M9ImRpYW1vbmQtZm9vdGVyIj4KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXQtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC01IHdpZGdldC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC1odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLyIgdGl0bGU9IiI+PGltZyBzcmM9ImltYWdlcy9sb2dvLnBuZyIgYWx0PSJiZXJ0aGVuZXJneS1pbmMuYml6Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlID0gIm1hcmdpbi1sZWZ0Oi0zMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPmluZm9AYmVydGhlbmVyZ3ktaW5jLmJpejwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+KzQ0NzQwNTQxMjk3MTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+VGhlIE9sZCBQaWdnZXJ5IE1hcmtzIEhhbGwgTGFuZSwgTWFyZ2FyZXQgUm9kaW5nLCBEdW1vdywgRW5nbGFuZCwgQ002IDFRVDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTMgd2lkZ2V0LWFyZWEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgd2lkZ2V0LWh0bWwgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPlN0YXkgQ29ubmVjdGVkPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIHRhcmdldCA9ICJfYmxhbmsiPjxpIGNsYXNzPSJmYWIgZmEtZmFjZWJvb2stZiI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgdGFyZ2V0ID0gIl9ibGFuayI+PGkgY2xhc3M9ImZhYiBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXRlbGVncmFtLXBsYW5lIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXlvdXR1YmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC00IHdpZGdldC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC1odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5NeSBBY2NvdW50PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGkgY2xhc3M9ImZhIGZhLWNoZWNrIj48L2k+Jm5ic3A7PGEgaHJlZj0iP2E9bG9naW4iPlNpZ24gSW48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpIGNsYXNzPSJmYSBmYS1jaGVjayI+PC9pPiZuYnNwOzxhIGhyZWY9Ij9hPXNpZ251cCI+U2lnbiBVcDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGkgY2xhc3M9ImZhIGZhLWNoZWNrIj48L2k+Jm5ic3A7IDxhIGhyZWY9Ij9hPWZvcmdvdF9wYXNzd29yZCI+Rm9yZ290IFBhc3N3b3JkPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5cmlnaHQtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXItbWVudSBob3Jpem9udGFsLW1lbnUgb25lcGFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi8iPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1hYm91dCI+QWJvdXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLyNwcmljaW5nIj5QcmljaW5nPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9cnVsZXMiPkxlZ2FsPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi8jdGVhbSI+VGVhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5LXRleHQiPsKpIENvcHlyaWdodCAyMDI2IEFsbCBSaWdodHMgUmVzZXJ2ZWQgPGEgaHJlZj0iIyI+YmVydGhlbmVyZ3ktaW5jLmJpejwvYT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPCEtLWZvb3RlciBlbmQtLT4gICAKPC9kaXY+ICAgIDwhLS1NYWluIFdyYXBwZXIgRW5kLS0+CiAKICAgIDxzY3JpcHQgc3JjPSJqcy9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9vbnBhZ2VzY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL3dvdy5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5jb3VudGRvd24uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL293bC5jYXJvdXNlbC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvQ2hhcnRfbWFpbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvY2hhcnQtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL3NjcmlwdC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvcGFydGljbGVzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9nb2xkLWFwcC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbicpLmFkZENsYXNzKCdkb25lJyk7CiAgICAgICAgICAgIH0sIDYwMDApOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbiAubWFpbicpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgMTAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmluc2lkZS1iaXRjb2luJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgICAgICB9LCAzMDAwKTsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgalF1ZXJ5KCcuaW5zaWRlLWJpdGNvaW4nKS5hZGRDbGFzcygnc3BpbmNvaW4nKTsKICAgICAgICAgICAgfSwgNTAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcycpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgNjAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmRpYW1vbmQtYW5pbWF0aW9uIC50b3AtY29pbicpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgMzAwMCk7CiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbiAub3V0ZXItT3JiaXQnKS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgICAgIH0sIDUwMDApOwogICAgICAgIH0pOwogICAgPC9zY3JpcHQ+CiAgICA8c3R5bGU+Ci5tZ20gewogICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiA5MDsKICAgIGJvdHRvbTogODBweDsKICAgIGxlZnQ6IDEwMHB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHggMjdweDsKICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTNweCAwcHggcmdiYSgwLDAsMCwuMyk7CiAgICBmb250LXNpemU6IDMwcHg7Cn0KLm1nbSBhIHsKICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiNmMmQ1MTY7Cn0KLm1nbSBhLCAubWdtIGE6YWN0aXZlIHsKICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsKICAgIGNvbG9yOiNmMmQ1MTY7Cn0KPC9zdHlsZT4KPHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIiBzcmM9IiMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBsaXN0Q291bnRyaWVzID0gWydTb3V0aCBBZnJpY2EnLCAnVVNBJywgJ0dlcm1hbnknLCAnRnJhbmNlJywgJ0l0YWx5JywgJ1NvdXRoIEFmcmljYScsICdBdXN0cmFsaWEnLCAnU291dGggQWZyaWNhJywgJ0NhbmFkYScsICdBcmdlbnRpbmEnLCAnU2F1ZGkgQXJhYmlhJywgJ01leGljbycsICdTb3V0aCBBZnJpY2EnLCAnU291dGggQWZyaWNhJywgJ1ZlbmV6dWVsYScsICdTb3V0aCBBZnJpY2EnLCAnU3dlZGVuJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ1VuaXRlZCBLaW5nZG9tJywgJ1NvdXRoIEFmcmljYScsICdHcmVlY2UnLCAnQ3ViYScsICdTb3V0aCBBZnJpY2EnLCAnUG9ydHVnYWwnLCAnQXVzdHJpYScsICdTb3V0aCBBZnJpY2EnLCAnUGFuYW1hJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnTmV0aGVybGFuZHMnLCAnU3dpdHplcmxhbmQnLCAnQmVsZ2l1bScsICdJc3JhZWwnLCAnQ3lwcnVzJ107CiAgICB2YXIgbGlzdFBsYW5zID0gWyckNTAwJywnJDE1MDAnLCckMTAwMCcsJyQxMCwwMDAnLCckMjAwMCcsJyQzMDAwJywnJDQwMDAnLCAnJDYwMCcsICckNzAwJywgJyQyNTAwJ107CiAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg0MDAwMCAtIDgwMDAgKyAxKSArIDgwMDApOwogICAgdmFyIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKICAgIAoKICAgIGZ1bmN0aW9uIHJlcXVlc3QoKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbChydW4pOwogICAgICAgIGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDQwMDAwIC0gODAwMCArIDEpICsgODAwMCk7CiAgICAgICAgdmFyIGNvdW50cnkgPSBsaXN0Q291bnRyaWVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGxpc3RDb3VudHJpZXMubGVuZ3RoKV07CiAgICAgICAgCiAgICAgICAgdmFyIHBsYW4gPSBsaXN0UGxhbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdFBsYW5zLmxlbmd0aCldOwogICAgICAgIHZhciBtc2cgPSAnQW4gaW52ZXN0b3IgZnJvbSA8Yj4nICsgY291bnRyeSArICc8L2I+IERlcG9zaXRlZCA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJqYXZhc2NyaXB0OnZvaWQoMCk7Ij4nICsgcGxhbiArICcgLjwvYT4nOwogICAgICAgICQoIi5tZ20gLnR4dCIpLmh0bWwobXNnKTsKICAgICAgICAkKCIubWdtIikuc3RvcCh0cnVlKS5mYWRlSW4oMTAwKTsKICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZU91dCg2MDApOwogICAgICAgIH0sIDYwMDApOwogICAgICAgIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKICAgIH0KPC9zY3JpcHQ+IAo8ZGl2IGFsaWduPSJjZW50ZXIiPgoJPGRpdiBjbGFzcz0ibWdtIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgo8ZGl2IGNsYXNzPSJ0eHQiIHN0eWxlPSJjb2xvcjpibGFjazsiPkFuIGludmVzdG9yIGZyb20gPGI+PC9iPiBEZXBvc2l0ZWQgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iamF2YXNjcmlwdDp2b2lkKDApOyI+PC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgk8c3R5bGU+Ci5tZ20gewogICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiA5MDsKICAgIGJvdHRvbTogODBweDsKICAgIGxlZnQ6IDEwMHB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHggMjdweDsKICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTNweCAwcHggcmdiYSgwLDAsMCwuMyk7CiAgICBmb250LXNpemU6IDQwcHg7Cn0KLm1nbSBhIHsKICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICBkaXNwbGF5OmJsb2NrOwogICAgY29sb3I6I2YyZDUxNjsKfQoubWdtIGEsIC5tZ20gYTphY3RpdmUgewogICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOwogICAgY29sb3I6I2YyZDUxNjsKfQo8L3N0eWxlPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIHNyYz0iIyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIGxpc3RDb3VudHJpZXMgPSBbJ1NvdXRoIEFmcmljYScsICdVU0EnLCAnR2VybWFueScsICdGcmFuY2UnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ0F1c3RyYWxpYScsICdTb3V0aCBBZnJpY2EnLCAnQ2FuYWRhJywgJ0FyZ2VudGluYScsICdTYXVkaSBBcmFiaWEnLCAnTWV4aWNvJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnVmVuZXp1ZWxhJywgJ1NvdXRoIEFmcmljYScsICdTd2VkZW4nLCAnU291dGggQWZyaWNhJywgJ1NvdXRoIEFmcmljYScsICdJdGFseScsICdTb3V0aCBBZnJpY2EnLCAnVW5pdGVkIEtpbmdkb20nLCAnU291dGggQWZyaWNhJywgJ0dyZWVjZScsICdDdWJhJywgJ1NvdXRoIEFmcmljYScsICdQb3J0dWdhbCcsICdBdXN0cmlhJywgJ1NvdXRoIEFmcmljYScsICdQYW5hbWEnLCAnU291dGggQWZyaWNhJywgJ1NvdXRoIEFmcmljYScsICdOZXRoZXJsYW5kcycsICdTd2l0emVybGFuZCcsICdCZWxnaXVtJywgJ0lzcmFlbCcsICdDeXBydXMnXTsKICAgIHZhciBsaXN0UGxhbnMgPSBbJyQ1MDAnLCckMTUwMCcsJyQxMDAwJywnJDEwLDAwMCcsJyQyMDAwJywnJDMwMDAnLCckNDAwMCcsICckNjAwJywgJyQ3MDAnLCAnJDI1MDAnXTsKICAgIGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDQwMDAwIC0gODAwMCArIDEpICsgODAwMCk7CiAgICB2YXIgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgCgogICAgZnVuY3Rpb24gcmVxdWVzdCgpIHsKICAgICAgICBjbGVhckludGVydmFsKHJ1bik7CiAgICAgICAgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoNDAwMDAgLSA4MDAwICsgMSkgKyA4MDAwKTsKICAgICAgICB2YXIgY291bnRyeSA9IGxpc3RDb3VudHJpZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdENvdW50cmllcy5sZW5ndGgpXTsKICAgICAgICAKICAgICAgICB2YXIgcGxhbiA9IGxpc3RQbGFuc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsaXN0UGxhbnMubGVuZ3RoKV07CiAgICAgICAgdmFyIG1zZyA9ICdBbiBpbnZlc3RvciBmcm9tIDxiPicgKyBjb3VudHJ5ICsgJzwvYj4gV2l0aGRyYXcgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iamF2YXNjcmlwdDp2b2lkKDApOyI+JyArIHBsYW4gKyAnIC48L2E+JzsKICAgICAgICAkKCIubWdtIC50eHQiKS5odG1sKG1zZyk7CiAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZUluKDEwMCk7CiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVPdXQoMjAwMCk7CiAgICAgICAgfSwgNjAwMCk7CiAgICAgICAgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgfQo8L3NjcmlwdD4KICAgPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJzNiOWQ2ZmU2ZTc2OTg2ZWNiODExY2YzYTE5NmQ1MDVlOGY5ZTJkYjknOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PlBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0PgoKPC9ib2R5PgoKPC9odG1sPg=="}},"time_used":845,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":845,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/benefit-icon-6.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.250Z","timestamp":1785124875250,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/benefit-icon-6.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 9702\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-25e6\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":9702,"size_decoded":9927,"mime_type":"image/png","magic":"PNG image data, 125 x 125, 8-bit/color RGBA, non-interlaced","md5":"14c46f3176087ee234262971a7803574","sha1":"320fbd9ae0a0c1353e19f1fa5881f7cf5f7fb54b","sha256":"e2b1fdfc5c0af46e4f57f6f0f0c7462a0baa9d7a4cd992d135c35fd0a30de1a5","sha512":"98af0c585dbec207c267ec4dd08fa0e29e8c2e462555fee33fd7c7db0c8c03bab2d365848f96f6f0743cc60c1417ae3e86d2ae1a52553768d0199091e95c8fe8","ssdeep":"192:B6j9I9JEZ1HIpOZL2JNfwCR0nePPOMgLo5lzL:8j2IZ1P1owDe1gLo59L","tlshash":"ee12b04de24254814edcc8ec47e6202ddf9492417e10b5b7eca7d84c9a3c53ab1c99af","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.11112Z","times_seen":14,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAYAAACPgGwlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0N0NFOTE5RTQ2NzUxMUVBOEJGRUFDQTk5QkQ1M0ZEMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0N0NFOTE5RjQ2NzUxMUVBOEJGRUFDQTk5QkQ1M0ZEMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3Q0U5MTlDNDY3NTExRUE4QkZFQUNBOTlCRDUzRkQxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQ3Q0U5MTlENDY3NTExRUE4QkZFQUNBOTlCRDUzRkQxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PP346wAAIltJREFUeNrsXQl4VNX1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"}},"time_used":75,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":74,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/board/analyst.jpg","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.259Z","timestamp":1785124875259,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/board/analyst.jpg HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/jpeg\r\ncontent-length: 174058\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-2a7ea\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":174058,"size_decoded":174287,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2020:12:04 03:35:50], baseline, precision 8, 450x469, components 3","md5":"275288486598b33d414bff8c88954756","sha1":"04460b319ed428d637c7e3639e1f1c59d212c472","sha256":"eea4d1907fcf12163c2746714e386173a02e51088cebf5b4d5a8ebb2117eb0b7","sha512":"433627944a3d1a11511460425e53834899402fdf91348780ace86628366c8df1c8e4c70f1165b0c96af0d647b44673b212382bd07035006d3a5578d7341a85e5","ssdeep":"3072:lJfJabZgM77WG484865on/HLwZApZc9QUYXjhOaK8+O6V/YJmn:uqM7705on/HEZApZEQCftO6V/Smn","tlshash":"3804126c1918c8d2f7ca633f83b781de9601de1297cb6607b88d4646f3b06ca35ac657","first_seen":"2026-07-27T03:24:36.893042Z","last_seen":"2026-07-27T04:03:30.21951Z","times_seen":3,"resource_available":false,"data":"/9j/4RgjRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAeAAAAcgEyAAIAAAAUAAAAkIdpAAQAAAABAAAApAAAANAAas/AAAAnEABqz8AAACcQQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykAMjAyMDoxMjowNCAwMzozNTo1MAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAABwqADAAQAAAABAAAB1QAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAABbtAAAAAAAAAEgAAAABAAAASAAAAAH/2P/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoACaAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A2smvc18+C5x2LQHuPeTK6LOcW12EeC4q7KsL3axqVmjZ0CCZGi3bcekjTlV241e/UQq7ch06uKT8naNDJUkQtII6uiK8do1ASF1DOFjnMeVB17jyT5p4isOvV2XZVHcDyQznY44AWMXE6k7WjlxSD6Q4NPunWTxHKNIoB2hkUPG6BB7qvdmYbDBc34f7ll2uufoyRwCAe38lvtVb3l0DWe79dPj7kq8VAgdLdhmZS4/oyHxzCL9r3CB34WJWyt7osr9PbO4fxa5quUBrXNLHOLDo4HUiO4TT42ujIdg391hEzogPscHDU6dlpDCMhgeCzaCDyROvluVC/BvZdscI5jnVKMolII66Ib7iWHVZtm6eVrHEcW8yO5URgAnxT62W8caLjQe6gQtm3pZOjTqqj+nXN4SlLssFbuedw4Kj6lniVasxbWiYkIGx3h5IWmw//9Da6gycd5HdcPZh3mx8Dkld/nkMxTPdcm3No3u7wVnAN4yIkXJHTcgu7qT8GwCIJIWu7PxwOwQj1HHJ+kAFIDSw2XGOFcT9GAiOqqxKHX3EADRvi5x+ixq2K8rHscGgjVZGfYzNz9oJGNina0jUPef52P8AqPU2qbGOM+A3WSsDdqVh91zXvsaGmAayI2T7dzfz9v7j/T/kI1nS2vArMl0nUCQR+d7WoObcKPbSCbrO35rRodzp+k5Ew8fqeRDvUc8zLZ0IPY+2P81Kfe9kxiTpVr7Gta8taKyH7eYgd3Bv8r89NViTLXtc4dnNLZ55/lLSqwcywyWtdYTq0NkHvL/zGtWjj9B6hYGgBjA3XgHnwb+d/bVeWUDS2YYJdnD/AGVUAHsySzSS2CCJ/wA1EaacYN3PlzfpNsLfd5s9RzPdu/4VdEfqp6j9+TZ6hAAiNPL2qT/qjLfTqYONXatMfmqP3Ae5XeyQHmndZsPtqaW2A/Rc2B4+386t/wD0Fdp6s3Nxiy6PUboBOxxbHsex30d1cfnM/wCN/R/zdy36rZFMF7IaJbzoAf5MFCv6FRvazcWP4LIl3xS449NFpxmtXMsy5ZqIdyBwFW+3kPPgDAK2aelsZa5uSxxreDW90aiR7He7+V9D/wBKLnMio0vdW4Q5pII+B593uU+OVsZi2LOqObwJUB1UO5Cpem95018kjS9p1BHinTrsiMfFv/banAgwm/Q+X7yz3VuAJIjwR9p/6KbSeAW//9HoesMjE+S83vru9Z2wHUmSvUOsNH2fXwXHiugWHcByqETTbJ1JeZspyRyCVEY95/NK6x1FD/D7lXsGPXpoE4FVnZw8dl7DO06D8iag+paGkEgckdyfzWtWu+2k1va2AXNIHxIWRjDcGMAkEFzm6667A138j2q5yoBhPxIDFlJsJ7q6vU3OhzjyOw/zf3f6y08FrNrBtGon7lm3XAPaxuo+QEf1R9FaWCHGkeAENVfP6Y14tnBq9BgurfAiI+kPH4rXpa0gCRCwemAh5JIA0jyW/Q0yPycfkWefmbh0i3Ka2Fsu+Q+CtMqa8wNZCqtJY2PNFrtB4mfBTQrQFq5OI2QV7wxgILZ8Z1WLk4QPuqb+kb9B06x+5P7q08kuGsyDzKrOduJj5qLIRfZkxRqPe3Ga8U3W1ObuZbXtIIBJH027fpezR/0P+MXM9Q6eyzINjubBuB8Y0+l/JXUdXeyqxuz+cs58v3P+mFzXVrrKm1tBdtsl5B/e9vH+cpsJNg+DBkHqIDUo6ZUH6K0/p9JGoWe3MtbwU7uo2nSeO6mlZYqptW9NpLI04CH+z6vLwVZ2faWc8IP2+3w7/gm0Uv8A/9LqeuOAoPwXDZDpcSDC7L6xtecc7OYXD1YmU/R5PxWf0DdiQLtv0OirUyVk5zi60idPBbNOLYK4WflYFrrJaE4DRQIu3OkNIJKpG41Swcj2n5FWeqnIwX1VQB6zS7doeDG3X6Kzdr7Xeo72F5A07meQrvKekS7Sr6MXMC+EhvYxIfudq4jWfNdN0v0bMfa94G0SJjmVydljqWkEbiYAdMf9FSryr22+hjhz7Nxb+jJBJmPdr7fopnNx4tB0ZMM+HR7FuRh0O3NvBB02xEFa2J1RktDHgxrHkF51ZgdevD7Rh3ODdXOLt/3Mndu/qqOPnZuGT6uPZSSIa54e0Az/ACtrVSPLk6iQtsR5kdRo+uftBj2adwSmq6gxoB01HJPiue+rtnUs3CZkMxGWsc0lrm5DWufxuZ6bq3bP7Vix+pZXUnYrcvGZacKHOqe0thrA5zQy6yX77vb/AIP6Ci4Z3uNNLZf1dUBd6092cll0aiRrHl80iWdiCvMqOr9QbY2u6vIO+NgDXvmfmz95dV0vq7Mxhbi2tZdWAHBzPoif8JW/07fpN96Uschv16rRKO0enRsdZrAzcN8R6z/TPxEOH+c1Yf1joLLaag3VgfMc8tb/AN9Wzm5dmbjVupx3A1OFz7jHp1vZLfTD93q2W+5/0K0LP6kymipremuz3PE2XWQ1rGOP0W2uBs3futq+h/pE7GeGr13Y5YzPJ6fxeQNbp+iUJ7LAZ2mF1T8bFbY9gghpI150QbaMUjspzLRrG7I7PLF0Ayobh/Fbd+BQST4oP7OqQ4gnXs//0+n669oo18FyRzKG88+S6f6yQMc/BcE6I5mFnHo34RBt1v2nWBodEJ/UqTqSsrk8lPsPdEWvMIhF9YH15Lca5o1oeQ7+q7/zNqyMV5uLXNENYZPxJP8A5JbrscW02V93NIA8/wA1YmHV6T3gatc0OM9jP0f8xXeWNgDxpr5AOnm7GGcfUOqa9/5z3gOA/qMP5y2GdFwbSbMUmt1gJf6fskn3bXsdLHbXrAwjX9pAtJ2z9EGF2nTW4Ia2GCfmqvN3GZNn1NvBETj5NOrpORW0F1rnN89o/wA7YytA670/DfTWz1X+pUfVG12ntDvZ+6xz/YureMX0CCwEHt4rgutXNzMy94vFNOM8VNZyC7m3Rv7v0FBjJMxR21sL5xFaj6F6f6kNso6VVTt2ObuIHgD7lexul1YdNlGOHV13PdZoQZJ03NbZPtZ9DaxB+rDqq8QXseHt0BfOmvtcfxWrfS17HM3nczVjh+Dk2W5PidE0LGmwGu7ljp+ax5NeRuDtYcP++yxzf85Fd06yyyt2xlYZo6ytuy0g/Sqa9v8AN1P/AML71Cvq4qzPsOfXsvjc10wHtOm8LYdkY+yK5E8+P4oUDufoo2No3fVyeqMqx+mvrYwNaBGxoiQSP3UHqeTVV09uZaJ2NaSziXR+jr/tvWjcyu3Z6hlpcAfgVz31oFl9tWE3RtJ9S0N43u9tbP8ArdaWOPEaVKYxgy/SeaObkOe59jyXuJc4+ZMlL17CZ3FWh0d57wo2dMsYNNVakRTSB9WrVdfaOCm+0P8AH81NbTa3QtKf0X+H5qjpkuNv/9To/rBUbKYPguRPS641ldd9YbvToJ8AuUdmvI0CzjIDRvwhI2QaQnplfaQpt6bWPElSZlWE9kPJ6i6tunKfA30ROMo1qUnoV1GQ0aLns/Hbj9Ru2mGXRbW0dgT7x/nq7bm2WcPIVa4vfjv3e4th7SQJEH3t3Kxy5qYB6rDE0S0rHlpJGkGQt3oWfbY4MkyFkYe05VZd49/GV0fSsarDzqrg0Ct3IiYP+vvUfOyHyka9GbliQbB0X6x1rIqx3mskEAismOeN39ZcNY+9hMPIBJP3+Mrqfrd0XKZlVP6fJqc2SCZbunvu+huasjF6V1Rzg447bHN1O3baI/fFQc5zv7DLFHy/DGFgiz06rsonOXCL06gf96n+rf8Azlyw+jphP2YGbbHg7GnmNPp2f8G1dr0/oDWXsz87NyczIAB2WHZSI0/ozPb7PzPeqHRcrqra6cc51WKx4cAw41oLSI3Mc0UtYx/uWldj5V2M8Nz8tlz2/onuZ6DA/wB2rqX/AKfZu2/+i1HkkSTQEb0238yyQhWlymR56Nb63V224Lcioh2RiuNtJH04H86z+3WpdE6rZl49T4MvAg9ioP8Aq2ynAF2Vk5Gfk2ObNlzzt3Ej3V0j6P0f+MWrRg1YlNWPSIDBIIHzMf1pUOQgARGpB+ZliSNdvBLufDTaQGhzXEnSGz7nf9+XJZnXar8265v0bHuc3+rMM/6K3eu5hr6TYHgNstHptbMxu9v/AFG5cTazXRScuN76sOccQ8nWd1loEgfJBPWQ7R3Cy2tedIlI1GdQppVeurXEBTrsyqLByn9any8Fk1sI7fFE934qPS/Bf7Yq3//V3/rMP0LgPBckKnQIC7L6wFoYZH3rnxZU0dlmmNnV0IZCBs54osPZZ+fRk/mtkeC3jl0tOpEIFuTjvnUJ8KiiZlIPONpyh+YVLJyK8XHNuS0huoDe7j+61a1+Zh01utteGsbqT5eQ/eXMUXHrX1gx23AijfPp9hWybSz+3t96nxjjN1oOrDORjp1PRmd9TwYLXMIJB0cO8FdBi5wNVdx+i4gOngHhv9l25Z3XqntznZQ1ZkGXRwH/AJ3+f9JDwMtlTX49430WgifCU7nMfFrWo/JfgnXV63qrDbi0vZLq3t2gcwZ1Yf6y5up+RVcWhp3B30ToidM+sDqmNxckl7Gu27zwRxu/tLqb6MHLbVlVNaXuAFhGmo4VGjj0I0OxbkJcesZbFq9P6jnj9GGv17F0rbx25Fjg61m2dZmSVCn08fZJbqND/CVpVXY/0gdxPbnVR3fWmWUpAd2GRVvY0O4a4H7lTttbWx1jzEgkfDzT53UKZLWncB9IeMawsHq2dZZjuvJhm9rGj98n3f5jGtTRDikPFhM6CPqRdmOBe47Gk7W/H85URhVE+XghOzbHDlN61mhlXYAAADo1ZGRsk7ttnTKY8FI9MoPbVUft97dAVD9pZHjKUgQtF23rOm1tBgwq/wBjHiOZUT1J/cSi/aD4dpUfVf6tn//W1/rdYWUvgx5riRbY5slx+9WfrD9eLOq7q8TEGNSfz7XepYf7DIqZ/wCCLmLbrrdHvLh+7On+aFTGAnfRtxzxiNBxOrbm4tZ99wnwB3H/AKMqtZ1qgAipjnuHBdDR/FyzixrtI14EIPovABGoOqkGCA3srZc1M7VFnlZV2S/da6R+a0aNHwVr6tOa3rDSe9dgb8dqzyx08EeSljXPxsuq5vLXSR5H2uU+2zBZJs93sMkttLmOG5h0IWVbjupdB91bvou/77/WV2q31Whw4Ov3ohAcC1zZBEEHhKZEgviaLmtx3fSb7m+PP3q5j5OVhshpsFfG0Q9vj/XQrGGgy0ks8eXDt7v32p2ZNjRuEPae/IKqTBGhFhtYyDrE0W/X9ZLhDCTYR22OO5XsfqPUr5Lv1eoiADDXH/rfu/z3qhg13ZUvqxi1vBscdrfk4/SW9idLaGh97tfwVeXCOjNcz1Y0VvuAaAfTHJPdaH1j6Q6j6lX5pEXV203sbH5geKj/ANusuf8A+Bra6J0B1jm5GUzZjt1rqcIc/wDlWN/Nq/k/4RXPrq2s/VTqvqaNGM8j+sPdX/4JtU+DCR65Cv3R/wB01c+YfJE3r6j/ANy+QMtLxLPcD/rqiTdt0BWTYXV2EglpB5BhXsXq+TV9NrchndrtHf8AbjVMYdmMZb0KUstOpU2VPPYq7jdY6VdAf+r2Htb9H/t1vt/zlea/EGogg8EagqLIT2pdGXjbjGl+ntPxVjY/w/NhaJsxT3CbdR4BRsvGb2f/1+C29k+0+EpwfHkKQHA/FRrkLxDCeCB/BPshoHlClaPbHiQI+JRHx4R8UVNUtISAB0I17fFGI8lHZ3+8pKenwMNhxabWg7LWB9fwPI/sPV+nouflHbj0PfP50QP893tWl/iv6q23Gv6HbBsxycjFnvW8/rFQ/wCJvd6n/Xv5C7sY7nH3KG5RNbsgqnh8L/F/ZkOBz8j0x3rpG53/AG4/2N/6an1n6v8A1F6C0Y9gtGda3cYueXbZ/nbGQ+jc78z9Au8qqYwwOV5v9deiW9Lz/th35uPlnc99xDnyRFte6Gt/ddT+59BCfFwk73ovwmJyAE0Br5qZ0vED22VZt7KnGK3OFdzY/rV+g7/wNdn9XsTpD2uspe7Iycd2ywXANfW7ln6H8z1WfpKrf8JX/NvXDfVPJyvtL+nHc/Hc02UtcYrLBrpu/O/7+tDCyuodPzGdYxsfdiXPNG4OO11VbnB1B3neyxjvUfVv/wALv/wSixVGVyHFXXt/WbfNRuFRkY9hfzPo65b/ABk3Gv6qZFY5yLKavl6jbX/9CtdJi5NOVj15FDt9VrQ5jh4H/vy5P/Gk8N+rtTP38lv4MtcrsjpbmDd8ltHunjxURoZHzCnYNSe6hHkglfQynY+yr+bcW+QOn+b9FMBBjuJSIPgkpMM60fTJnxCn9u/llVSRChHxTfbj2XcUu7//0OEaCRPZTj5Qo1agT/tRNAPPx+CYuQv1cxvMuk/ABEeD8PBQZ7slzRxWyPm73fwaiPEHy7QhetKRHxCk3SCDBPH96Z0HUnQcJgdST8j2TlOj0DqtnSOrYvUmT+rvBsaO9Z9l7P7VTn/2173U+u6tltTg+uwBzHDgtcNzXD+s1fOjHaz4divYf8WXWRn9A+xWGb+mO9E+Jqd78V/+Zuo/6wgBqonR6wsB40PiuX+vjah0six3u3tc0ETIIsadjf5K6peZ/Xnqb8zqtjKSduEW1MnVpc0777dn53pW/o/+tf8ABpmahHbW2XloGeQDoNS4Gay7o/VMSsw2z0TbcSCai7efTZ/KZXS7d9Fdfj15NtX2DMeBgZTjkV5NZD3U3NDWPoc/dtycf03ezZ+lo/m/8Gue6rYer41N7rQy5jf0XqSQ8Od722N9z62Ne3ezIf8AorVq/Vmu/H6cyjJa4VkkFruXk/QfSR7Xbf5z1W+zZ7P8Iq1kAGv6vmP6zpTiDGifH6/1HoOhN6j0TIsw8ysnp9h3V5LfdW1x/wAJuH83Vd+fv/m7Flf42ryzC6fT2fZY8/2Gtb/6NXU9BssdhfZ73eo/HJbv7OYfdX/6T2LiP8a+5runUNMV1B7m+I9Qtbs/qN9H2KzCvbFbHbw/quXlB9wg1Y3I/S/rPBP1JIEEdlEx5eamD7nAa6pnCO6esY6RoPkkTIlPr8fFRmDHY/gUlLHhRjz8vkp68qH+5FT/AP/Z/+0gMFBob3Rvc2hvcCAzLjAAOEJJTQQlAAAAAAAQAAAAAAAAAAAAAAAAAAAAADhCSU0EOgAAAAAA5QAAABAAAAABAAAAAAALcHJpbnRPdXRwdXQAAAAFAAAAAFBzdFNib29sAQAAAABJbnRlZW51bQAAAABJbnRlAAAAAENscm0AAAAPcHJpbnRTaXh0ZWVuQml0Ym9vbAAAAAALcHJpbnRlck5hbWVURVhUAAAAAQAAAAAAD3ByaW50UHJvb2ZTZXR1cE9iamMAAAAMAFAAcgBvAG8AZgAgAFMAZQB0AHUAcAAAAAAACnByb29mU2V0dXAAAAABAAAAAEJsdG5lbnVtAAAADGJ1aWx0aW5Qcm9vZgAAAAlwcm9vZkNNWUsAOEJJTQQ7AAAAAAItAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAAXAAAAAENwdG5ib29sAAAAAABDbGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAATGJsc2Jvb2wAAAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dPYmpjAAAAAQAAAAAAAFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAAAFJzbHRVbnRGI1B4bECF4AAAAAAAAAAACnZlY3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1BzAAAAAFBnUEMAAAAATGVmdFVudEYjUmx0AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAAU2NsIFVudEYjUHJjQFkAAAAAAAAAAAAQY3JvcFdoZW5QcmludGluZ2Jvb2wAAAAADmNyb3BSZWN0Qm90dG9tbG9uZwAAAAAAAAAMY3JvcFJlY3RMZWZ0bG9uZwAAAAAAAAANY3JvcFJlY3RSaWdodGxvbmcAAAAAAAAAC2Nyb3BSZWN0VG9wbG9uZwAAAAAAOEJJTQPtAAAAAAAQArwAAAABAAECvAAAAAEAAThCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTScQAAAAAAAKAAEAAAAAAAAAAThCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIAAjhCSU0EAgAAAAAABgAAAAAAADhCSU0EMAAAAAAAAwEBAQA4QklNBC0AAAAAAAYAAQAAAA44QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADSQAAAAYAAAAAAAAAAAAAAdUAAAHCAAAACgBVAG4AdABpAHQAbABlAGQALQAxAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAHCAAAB1QAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAB1QAAAABSZ2h0bG9uZwAAAcIAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAdUAAAAAUmdodGxvbmcAAAHCAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0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AAAAAQA4QklNBAYAAAAAAAcACAAAAAEBAP/hDa1odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTA0VDAzOjM1OjUwKzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTA0VDAzOjM1OjUwKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0wNFQwMzozNTo1MCswMTowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpENTZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpENDZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkQ0NkRGMUQ3RDgzNUVCMTFBMUU2OUFBMkQ0MTZEQzFBIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ0NkRGMUQ3RDgzNUVCMTFBMUU2OUFBMkQ0MTZEQzFBIiBzdEV2dDp3aGVuPSIyMDIwLTEyLTA0VDAzOjM1OjUwKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RDU2REYxRDdEODM1RUIxMUExRTY5QUEyRDQxNkRDMUEiIHN0RXZ0OndoZW49IjIwMjAtMTItMDRUMDM6MzU6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+4ADkFkb2JlAGRAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgIC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"}},"time_used":102,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":64,"receive":38,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff2","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.614Z","timestamp":1785124875614,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff2 HTTP/1.1\r\nHost: cdnjs.cloudflare.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://berthenergy-inc.biz\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css\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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/octet-stream; charset=utf-8\r\ncontent-length: 76736\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\nlast-modified: Mon, 13 Sep 2021 19:10:03 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=nMPkD3FEWN8SzGOeah2wAgbT2QqHWhgtd6QbdvjW0UYMC90uYF2vZxZA35jWdq1EDOFoGLEs8CtiI%2Fc8814h%2FmNfu7ulj6kyAgGjmkc08ZwPi4n0gjOFcCGeG3o2HIVt3AhKwKmy\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=5,i=?0\r\nserver: cloudflare\r\ncf-ray: a218bde8ab08b28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"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":76736,"size_decoded":77719,"mime_type":"application/octet-stream; charset=utf-8","magic":"Web Open Font Format (Version 2), TrueType, length 76736, version 331.-31196","md5":"ed311c7a0ade9a75bb3ebf5a7670f31d","sha1":"0613c7ebba55ee47ef302c0f7766324692f899a7","sha256":"8ea8791754915a898a3100e63e32978a6d1763be6df8e73a39d3a90d691cdeef","sha512":"6048e7ab94134b7200f0d5ed7fb8d577298d4831a2b3a4e0e5baa5c67468f77d4409314d63d34436ba6ba038c86faf87e46dacf98d311a74291b976fa39a9674","ssdeep":"1536:yVIKSdIKO0RtQIJwjZKd4jkC8Voun7L5XpeVQ+OEmdEu:SItm0RtQpAdofaluV99u","tlshash":"4d730196c3ca08de6994937ce960efdd1b0d4dc7aa72c7525e63c9a451c8ec83834b78","first_seen":"2023-04-05T17:41:32Z","last_seen":"2026-07-27T06:16:23.000786Z","times_seen":27858,"resource_available":false,"data":"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"}},"time_used":58,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52396.ed76caf2ffe014460ba6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.656Z","timestamp":1785124876656,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52396.ed76caf2ffe014460ba6.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-37a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 91fd433cc6d8969198ae0d160af9c651\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":890,"size_decoded":1183,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (890), with no line terminators","md5":"4ea5d0b6056033b75774e42fe5d68067","sha1":"748282414e5e498bf7540bb4c9a4871cb5ace801","sha256":"650d170333b85bddb948d847ac00379ef6939e1848f4e0a777b76a0413292927","sha512":"ff316d259a766190a4f00a012288d5790d1e7f304f11afb9f4d5c3e82f90cac799c49c72f2c77633bf15cf4a3b3f2573ec1b42426e65a0c959dbbdf448902c91","ssdeep":"","tlshash":"5b117aa5f54996a7f83b693b0bd89b4f1128e0055e075f69ea26b130458b3fa30b13d4","first_seen":"2026-07-17T03:30:51.146413Z","last_seen":"2026-07-27T06:14:34.088773Z","times_seen":97,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEtQODp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1MS1A4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTEtQODp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxLUDg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LmRpYWxvZy1HSFVINl8xWHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoyODBweDt0ZXh0LWFsaWduOnN0YXJ0fS5kaWFsb2ctR0hVSDZfMVgucm91bmRlZC1HSFVINl8xWHtib3JkZXItcmFkaXVzOjZweH0uZGlhbG9nLUdIVUg2XzFYLnNoYWRvd2VkLUdIVUg2XzFYe2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5kaWFsb2ctR0hVSDZfMVguZnVsbHNjcmVlbi1HSFVINl8xWHtib3R0b206MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5kaWFsb2ctR0hVSDZfMVguZGFya2VyLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtTEtQOCl9LmJhY2tkcm9wLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEtTEtQOCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7ei1pbmRleDotMX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.771Z","timestamp":1785124876771,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42212.4754c2804ab9a979776b.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8f61\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7841ee3759299e957e9006457fc0b67d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":36705,"size_decoded":14239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-27T06:24:31.720713Z","times_seen":60,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjIxMl0sezkyNDUwNyhlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCI6IihtYXgtaGVpZ2h0OiAzNjBweCkiLCJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNDA2MTEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hdGNoTWVkaWE6KCk9Pm99KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9oYW5kbGVDaGFuZ2U9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuc3RhdGU9e3F1ZXJ5OndpbmRvdy5tYXRjaE1lZGlhKHRoaXMucHJvcHMucnVsZSl9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUucXVlcnkhPT10LnF1ZXJ5JiYodGhpcy5fdW5zdWJzY3JpYmUodC5xdWVyeSksdGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Vuc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuKHRoaXMuc3RhdGUucXVlcnkubWF0Y2hlcyl9c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe3JldHVybiBlLnJ1bGUhPT10LnF1ZXJ5Lm1lZGlhP3txdWVyeTp3aW5kb3cubWF0Y2hNZWRpYShlLnJ1bGUpfTpudWxsfV9zdWJzY3JpYmUoZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKGUpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfX19LDYwOTUyOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtEaWFsb2dCcmVha3BvaW50czooKT0+b30pO3ZhciBuPXMoOTI0NTA3KTtjb25zdCBvPXtTbWFsbEhlaWdodDpuWyJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCJdLFRhYmxldFNtYWxsOm5bInRhYmxldC1zbWFsbC1icmVha3BvaW50Il0sVGFibGV0Tm9ybWFsOm5bInRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCJdfX0sNjU5ODc4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+cn0pO3ZhciBuPXMoNzc5NDc0KSxvPXMoNTg1NDgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6cyxyb290OnJ9PXRoaXMucHJvcHM7aWYoIXMpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cj9pOm4uY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw1NTgwMzAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDg1MzMzNikscj1zKDEzODYzOCksaT1zKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46cywuLi5yfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihpLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLG8uZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxvLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLnJ9LHMpfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBzPSgwLHIuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIXMuY29udGFpbnModCl8fG51bGwhPT1uJiZzLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDY0OTE2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2FkZXI6KCk9PmN9KTt2YXIgbixvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxpPXMubihyKSxhPXMoMjQ0NTI1KSxsPXMubihhKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHNpemU6cz0ibWVkaXVtIixzdGF0aWNQb3NpdGlvbjpuLGNvbG9yOnI9ImJsYWNrIn09ZSxhPWkoKShsKCkuaXRlbSxsKClbcl0sbCgpW3NdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShsKCkubG9hZGVyLG4mJmwoKS5zdGF0aWMsdCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphfSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmF9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YX0pKX0KIWZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtZWRpdW0iLGUuU21hbGw9InNtYWxsIn0obnx8KG49e30pKX0sNTg1NDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEyOTM2NSkscj1zKDg1Njc3MCksaT1zKDkwMzQyKSxhPXMoNTcwMTkzKSxsPXMoNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHIubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwobi5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PW4uY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnJ9KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcj1uLmNyZWF0ZUNvbnRleHQobnVsbCl9LDcxODU1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtPdXRzaWRlRXZlbnQ6KCk9Pm99KTt2YXIgbj1zKDIzNjc2NSk7ZnVuY3Rpb24gbyhlKXtjb25zdHtjaGlsZHJlbjp0LC4uLnN9PWU7cmV0dXJuIHQoKDAsbi51c2VPdXRzaWRlRXZlbnQpKHMpKX19LDkwMzQyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse092ZXJsYXBNYW5hZ2VyOigpPT5pLGdldFJvb3RPdmVybGFwTWFuYWdlcjooKT0+bH0pO3ZhciBuPXMoMTM4NjM4KSxvPXMoNTcwMTkzKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1bXX1hZGQoZSl7dGhpcy5fc3RvcmFnZS5wdXNoKGUpfXJlbW92ZShlKXt0aGlzLl9zdG9yYWdlPXRoaXMuX3N0b3JhZ2UuZmlsdGVyKCh0PT5lIT09dCkpfWhhcyhlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5pbmNsdWRlcyhlKX1nZXRJdGVtcygpe3JldHVybiB0aGlzLl9zdG9yYWdlfX1jbGFzcyBpe2NvbnN0cnVjdG9yKGU9ZG9jdW1lbnQpe3RoaXMuX3N0b3JhZ2U9bmV3IHIsdGhpcy5fd2luZG93cz1uZXcgTWFwLHRoaXMuX2luZGV4PTAsdGhpcy5fZG9jdW1lbnQ9ZSx0aGlzLl9jb250YWluZXI9ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCl9c2V0Q29udGFpbmVyKGUpe2NvbnN0IHQ9dGhpcy5fY29udGFpbmVyLHM9bnVsbD09PWU/dGhpcy5fZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOmU7IWZ1bmN0aW9uKGUsdCl7QXJyYXkuZnJvbShlLmNoaWxkTm9kZXMpLmZvckVhY2goKGU9PntlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnQuYXBwZW5kQ2hpbGQoZSl9KSl9KHQscyksdGhpcy5fY29udGFpbmVyPXN9cmVnaXN0ZXJXaW5kb3coZSl7dGhpcy5fc3RvcmFnZS5oYXMoZSl8fHRoaXMuX3N0b3JhZ2UuYWRkKGUpfWVuc3VyZVdpbmRvdyhlLHQ9e3Bvc2l0aW9uOiJmaXhlZCIsZGlyZWN0aW9uOiJub3JtYWwifSl7Y29uc3Qgcz10aGlzLl93aW5kb3dzLmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzO3RoaXMucmVnaXN0ZXJXaW5kb3coZSk7Y29uc3Qgbj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLnN0eWxlLnBvc2l0aW9uPXQucG9zaXRpb24sbi5zdHlsZS56SW5kZXg9dGhpcy5faW5kZXgudG9TdHJpbmcoKSxuLmRhdGFzZXQuaWQ9ZSx2b2lkIDAhPT10LmluZGV4KXtjb25zdCBlPXRoaXMuX2NvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDtpZih0LmluZGV4Pj1lKXRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChuKTtlbHNlIGlmKHQuaW5kZXg8PTApdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTtlbHNle2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXNbdC5pbmRleF07dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLGUpfX1lbHNlInJldmVyc2UiPT09dC5kaXJlY3Rpb24/dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQobik7cmV0dXJuIHRoaXMuX3dpbmRvd3Muc2V0KGUsbiksKyt0aGlzLl9pbmRleCxufQp1bnJlZ2lzdGVyV2luZG93KGUpe3RoaXMuX3N0b3JhZ2UucmVtb3ZlKGUpO2NvbnN0IHQ9dGhpcy5fd2luZG93cy5nZXQoZSk7dm9pZCAwIT09dCYmKG51bGwhPT10LnBhcmVudEVsZW1lbnQmJnQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0KSx0aGlzLl93aW5kb3dzLmRlbGV0ZShlKSl9Z2V0WmluZGV4KGUpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7cmV0dXJuIHBhcnNlSW50KHQuc3R5bGUuekluZGV4fHwiMCIpfW1vdmVMYXN0V2luZG93VG9Ub3AoKXtjb25zdCBlPXRoaXMuX3N0b3JhZ2UuZ2V0SXRlbXMoKSx0PWVbZS5sZW5ndGgtMV07dCYmdGhpcy5tb3ZlVG9Ub3AodCl9bW92ZVRvVG9wKGUpe2lmKHRoaXMuZ2V0WmluZGV4KGUpIT09dGhpcy5faW5kZXgpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7dGhpcy5fd2luZG93cy5mb3JFYWNoKCgoZSxzKT0+e2UuaGFzQXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSxlPT09dD8idHJ1ZSI6ImZhbHNlIil9KSksdC5zdHlsZS56SW5kZXg9KCsrdGhpcy5faW5kZXgpLnRvU3RyaW5nKCl9fXJlbW92ZVdpbmRvdyhlKXt0aGlzLnVucmVnaXN0ZXJXaW5kb3coZSl9fWNvbnN0IGE9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbChlPWRvY3VtZW50KXtjb25zdCB0PWUuZ2V0RWxlbWVudEJ5SWQoIm92ZXJsYXAtbWFuYWdlci1yb290Iik7aWYobnVsbCE9PXQpcmV0dXJuKDAsbi5lbnN1cmVEZWZpbmVkKShhLmdldCh0KSk7e2NvbnN0IHQ9bmV3IGkoZSkscz1mdW5jdGlvbihlKXtjb25zdCB0PWUuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0LnN0eWxlLnpJbmRleD0xNTAuLnRvU3RyaW5nKCksdC5zdHlsZS50b3A9IjBweCIsdC5zdHlsZS5sZWZ0PSIwcHgiLHQuaWQ9Im92ZXJsYXAtbWFuYWdlci1yb290Iix0LmRhdGFzZXQucWFJZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHR9KGUpO3JldHVybiBhLnNldChzLHQpLHQuc2V0Q29udGFpbmVyKHMpLGUuYm9keS5hcHBlbmRDaGlsZChzKSx0fX12YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkJhc2VaaW5kZXg9MTUwXT0iQmFzZVppbmRleCJ9KGN8fChjPXt9KSl9LDQ5ODY1MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5vfSk7dmFyIG49cygyMzI5NDgpO2Z1bmN0aW9uIG8oZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IHM9d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PXN8fCEoMCxuLmlzUHJvZHVjdERlZmluZWQpKHMpfHwodD8hcy5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohcy5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IHM9KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKHMpPz8hMX19LDkzMTM1MihlLHQscyl7InVzZSBzdHJpY3QiO2lmKHMuZCh0LHtnZXRPd25TaGFyZWRMaXN0OigpPT5jLHNoYXJlQ3VzdG9tTGlzdDooKT0+bCxzaGFyZU1hcmtlZExpc3Q6KCk9PmF9KSwyMTE4IT1zLmopdmFyIG49cyg3MTIxMzQpO3ZhciBvPXMoMzg0MDE3KSxyPXMoMzA0Mzk5KSxpPXMoNzkwMDQxKTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvTWFya2VkU3ltYm9sTGlzdCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdCl9ZnVuY3Rpb24gYyhlLHQpe3JldHVybigwLG4uaXNMaXN0Q29sb3IpKGUpPygwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9YCkse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsc2lnbmFsOnR9KS50aGVuKHIuaGFuZGxlSlNPTik6KDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jdXN0b20vJHtlfWApLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDp0fSkudGhlbihyLmhhbmRsZUpTT04pfX0sOTE5OTg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVW5pcXVlTmFtZTooKT0+UyxjYW5Vc2VNdWx0aXBsZUxpc3RzOigpPT5fLGNvbXBhcmVTeW1ib2xzOigpPT5QLGNvbnZlcnRUb1NlcGFyYXRvck5hbWU6KCk9PnYsY3JlYXRlU2F2ZVJlbmFtZURpYWxvZzooKT0+dyxmaW5kTmV4dEF2YWlsYWJsZVN5bWJvbDooKT0+RCxnZXRTeW1ib2xGcm9tTGlzdDooKT0+ayxnZXRUcmFuc2xhdGVkTGlzdFRpdGxlOigpPT5FLGhhc0R1cGxpY2F0ZXM6KCk9PkwsaXNFcXVhbFJlY29yZHM6KCk9Pk4saXNWYWxpZFNlcGFyYXRvckl0ZW06KCk9Pmcsc2VwYXJhdG9yVmFsVG9EaXNwbGF5VmFsOigpPT5iLHNob3dSZW1vdmVTZWxlY3RlZFN5bWJvbHNDb25maXJtOigpPT5SLHNob3dVbmZsYWdBbGxTeW1ib2xzQ29uZmlybTooKT0+QixzaG93VW5mbGFnU2VsZWN0ZWRTeW1ib2xzQ29uZmlybTooKT0+SSxzb3J0U3ltYm9sczooKT0+VCx0b1Bvc2l0aW9uUmVjb3JkOigpPT5PLHRyYWNrUmVtb3ZlRXZlbnQ6KCk9PkF9KQo7dmFyIG49cygxMzg2MzgpLG89cyg5MzAyMzEpLHI9cyg3ODMyNTQpLGk9cygyMzQ5NjQpLGE9cyg4Nzc0NDIpLGw9cyg3NDU2NTQpLGM9cyg1MjgzOTYpLHU9cyg2OTMyMTYpLGQ9cyg5Mjk0ODgpO2lmKDIxMTghPXMuail2YXIgbT1zKDkwMTAyMik7dmFyIGg9cygzODY5MzEpLHA9cyg2NDM5MDMpLHk9KHMoOTExMzI3KSxzKDQ0MzgyNykpLGY9cyg4MzE1MjcpO3MoMzIwNTUpO2Z1bmN0aW9uIGcoZSl7cmV0dXJuKDAsZC5pc1NlcGFyYXRvckl0ZW0pKGUpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUucmVwbGFjZShtLlNFUEFSQVRPUl9QUkVGSVgsIiIpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0uU0VQQVJBVE9SX1BSRUZJWCtlfWZ1bmN0aW9uIFMoZSx0LHM9ITApe2NvbnN0IG49bmV3IFNldChlKSxvPXM/IiAxIjoiIjtpZighbi5oYXModCtvKSlyZXR1cm4gdCtvO2xldCByPTIsaT0iIjtmb3IoO3I8PTJlMyYmKGk9YCR7dH0gJHtyfWAsbi5oYXMoaSkpOylyKz0xO3JldHVybiBpfWZ1bmN0aW9uIF8oKXtyZXR1cm4oMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtdWx0aXBsZV93YXRjaGxpc3RzIikmJndpbmRvdy51c2VyJiZCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gdyhlLHQsbixvLGEpe3JldHVybigpPT5uZXcgUHJvbWlzZSgoKGwsYyk9PnsoMCxpLnNob3dSZW5hbWUpKHt0aXRsZTplLGluaXRWYWx1ZTp0LHRleHQ6ci50KG51bGwse2NvbnRleHQ6ImlucHV0IGxhYmVsIn0scyg2NTE2MzgpKSxtYXhMZW5ndGg6MTI4LGVtb2ppUGlja2VyOiEwLG1haW5CdXR0b25UZXh0OmEsb25SZW5hbWU6KHtuZXdWYWx1ZTplLGRpYWxvZ0Nsb3NlOnR9KT0+e2woZSksdCgpLG8/LigpfX0sbil9KSl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5yZXBsYWNlKCLiiJIiLCItIil9ZnVuY3Rpb24gVChlLHQscyxvLHIpe2NvbnN0IGk9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXSxzPVtdO2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxkLmlzU2VwYXJhdG9ySXRlbSkoZSkmJnMucHVzaCh0KX0pKTtsZXQgbj0wO3MuZm9yRWFjaCgocz0+e3QucHVzaCh7dmFsdWVzOmUuc2xpY2UobixzKSxzZXBhcmF0b3I6ZVtzXX0pLG49cysxfSkpO2NvbnN0IG89c1tzLmxlbmd0aC0xXSxyPWUuc2xpY2UobysxKTtyZXR1cm4gci5sZW5ndGg+MCYmdC5wdXNoKHt2YWx1ZXM6cixzZXBhcmF0b3I6bnVsbH0pLHR9KHQpO3JldHVybiBpLmZvckVhY2goKHQ9Pnt0LnZhbHVlcy5zb3J0KCgodCxpKT0+e2lmKCJmbGFnIj09PXMpe2NvbnN0IGU9KDAsZi5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKS5nZXRTeW1ib2xDb2xvcih0KSxzPSgwLGYuZ2V0TWFya2VkU3ltYm9sc0xpc3RTZXJ2aWNlSW5zdGFuY2UpKCkuZ2V0U3ltYm9sQ29sb3IoaSk7cmV0dXJuKDAseS5nZXRTb3J0QnlDb2xvckNvbXBhcmF0b3IpKG8pKGUscyl9Y29uc3QgZD1sLnF1b3RlU2Vzc2lvbkFkYXB0ZXJzLmdldChlKS5nZXRMYXN0U3ltYm9sRGF0YSh0KSxtPWwucXVvdGVTZXNzaW9uQWRhcHRlcnMuZ2V0KGUpLmdldExhc3RTeW1ib2xEYXRhKGkpLGg9KDAsdS5pc0V4dHJhSG91cnNTZXNzaW9uKShkPy52YWx1ZXMuY3VycmVudF9zZXNzaW9uKSxnPSgwLHUuaXNFeHRyYUhvdXJzU2Vzc2lvbikobT8udmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiksYj0oZSx0KT0+e2lmKCFlfHwiZmxhZyI9PT1zKXJldHVybjt2YXIgbjtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXM/dm9pZCAwOnI9PT1hLlRpY2tlclR5cGUuRGVzY3JpcHRpb24mJiJzaG9ydF9uYW1lIj09PXM/KG49ZS52YWx1ZXMsKDAsYy5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKG4pfHwoMCxwLnNhZmVTaG9ydE5hbWUpKHQpKToicmNocCI9PT1zPygwLHUuZ2V0RXh0cmFIb3Vyc0NoYW5nZVBlcmNlbnQpKGUudmFsdWVzKT8/dm9pZCAwOmUudmFsdWVzW3NdfSx2PWIoZCx0KSxTPWIobSxpKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtjb25zdCBzPS0xPT09dD8tMS8wOjEvMDtyZXR1cm4obyxyLGksYSk9PntpZigicmNocCIhPT1lKXtpZih2b2lkIDA9PT1vJiZ2b2lkIDA9PT1yKXJldHVybiAwO2lmKHZvaWQgMD09PW8pcmV0dXJuLXQ7aWYodm9pZCAwPT09cilyZXR1cm4gdH1zd2l0Y2goZSl7Y2FzZSJzaG9ydF9uYW1lIjpyZXR1cm4gdCoobz09PXI/MDooMCxuLmVuc3VyZSkobyk8KDAsbi5lbnN1cmUpKHIpPy0xOjEpO2Nhc2UicmNocCI6cmV0dXJuIGkhPT1hP2k+YT8tMToxOihpfHwobz12b2lkIDApLGF8fChyPXZvaWQgMCkseChvLHIsdCxzKSk7Y2FzZSJsYXN0X3ByaWNlIjpjYXNlImNoYW5nZSI6Y2FzZSJjaGFuZ2VfcGVyY2VudCI6cmV0dXJuIHgobyxyLHQscyk7Y2FzZSJ2b2x1bWUiOntjb25zdCBlPSgwLG4uZW5zdXJlKShvKT49MWUxMDA/czpOdW1iZXIobyksaT0oMCxuLmVuc3VyZSkocik+PTFlMTAwP3M6TnVtYmVyKHIpO3JldHVybiB0KihlLWkpfWRlZmF1bHQ6cmV0dXJuKDAsbi5lbnN1cmUpKG8pPigwLG4uZW5zdXJlKShyKT8tMToxfX19KHMsbykodixTLGgsZyl9KSl9KSksZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoe3ZhbHVlczplLHNlcGFyYXRvcjpzfSk9Pnt0LnB1c2goLi4uZSksbnVsbCE9PXMmJnQucHVzaChzKX0pKSx0fShpKX1mdW5jdGlvbiB4KGUsdCxzLG4pe2xldCBvPXBhcnNlRmxvYXQoQyhTdHJpbmcoZSkpKSxyPXBhcnNlRmxvYXQoQyhTdHJpbmcodCkpKTtyZXR1cm4gbz1pc05hTihvKT9uOm8scj1pc05hTihyKT9uOnIscyooby1yKX1mdW5jdGlvbiBFKGUpe3JldHVybiJjb2xvcmVkIj09PWUudHlwZT9lLm5hbWV8fCgwLHkuZ2V0Q29sb3JlZExpc3RUaXRsZSkoZS5jb2xvcik6ZS5uYW1lfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4gZT09PXR8fCgwLHAuc2FmZVNob3J0TmFtZSkoZSk9PT10fWZ1bmN0aW9uIE8oZSl7cmV0dXJue3N5bWJvbDplLnN5bWJvbCxzaWRlOmUuc2lkZSxxdHk6ZS5xdHksYXZnUHJpY2U6ZS5hdmdQcmljZX19ZnVuY3Rpb24gTihlLHQpewpyZXR1cm4gZT09PXR8fHZvaWQgMCE9PWUmJnZvaWQgMCE9PXQmJihlLnNpZGU9PT10LnNpZGUmJmUucXR5PT09dC5xdHkmJmUuYXZnUHJpY2U9PT10LmF2Z1ByaWNlJiZlLnN5bWJvbD09PXQuc3ltYm9sKX1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbz1lW3NdLnRvVXBwZXJDYXNlKCkscj0oMCxwLnNhZmVTaG9ydE5hbWUpKG8pO2lmKHQuaGFzKHIpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkodC5nZXQocikpO2lmKGUuaGFzKG8pfHxlLmhhcyhyKXx8bz09PXIpcmV0dXJuITA7ZS5hZGQobyksdC5zZXQocixlKX1lbHNlIHQuc2V0KHIsbmV3IFNldChbb10pKX1yZXR1cm4hMX1mdW5jdGlvbiBrKGUsdCl7aWYodC5pbmNsdWRlcyhlKSlyZXR1cm4gZX1mdW5jdGlvbiBEKGUsdCxzKXtjb25zdCBuPSJuZXh0Ij09PXM7Zm9yKGxldCBzPWU7bj9zPHQubGVuZ3RoOnM+PTA7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkmJnMhPT1lKXJldHVybiB0W3NdO2ZvcihsZXQgcz1uPzA6dC5sZW5ndGgtMTtuP3M8ZTpzPmU7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkpcmV0dXJuIHRbc119ZnVuY3Rpb24gQShlKXtlPygwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk11bHRpIHNlbGVjdCIsIlJlbW92ZSIpOigwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIlJlbW92ZSIpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIHIudChudWxsLHtwbHVyYWw6IkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIixjb250ZXh0OiJzeW1ib2xzX2FuZF9kcmF3aW5nc19jb3VudCIsY291bnQ6ZSxyZXBsYWNlOntjb3VudDplLnRvU3RyaW5nKCl9fSxzKDE2OTgzKSl9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MzU3NTApKSx0ZXh0Ok0oZSksbWFpbkJ1dHRvblRleHQ6ci50KG51bGwse2NvbnRleHQ6ImFjdGlvbiJ9LHMoMTA4KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDMwOTMzKSksb25Db25maXJtOih7ZGlhbG9nQ2xvc2U6ZX0pPT57dCgpLGUoKX0sb25DbG9zZTooKT0+e24/LmZvY3VzKCl9fSl9ZnVuY3Rpb24gSShlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MTcxOTEpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDQ5NTM2OSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9ZnVuY3Rpb24gQihlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg4MjY4NzMpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDk1ODk1MSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9fSw0MzIzNTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Uk9VVElORV9DQU5DRUxMRURfTUVTU0FHRTooKT0+YyxTeW1ib2xMaXN0U3luY2hyb25pemF0aW9uU2VydmljZTooKT0+dX0pO3ZhciBuPXMoNTA3Mjg1KSxvPXMoNjMyNjg2KSxyPXMoMjIxMDYxKTtzKDMwMDI4Nik7Y29uc3QgaT02ZTUsYT0zZTQsbD0zZTQsYz0iUk9VVElORV9DQU5DRUxMRUQiO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3N0YXRlPW51bGwsdGhpcy5fc3luYz1udWxsLHRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA9bnVsbCx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsLHRoaXMuX29uUHVzaFN0cmVhbUNoYW5nZT1lPT57d2luZG93LnVzZXImJndpbmRvdy51c2VyLnNlc3Npb25faGFzaCE9PWUuc2Vzc2lvbl9oYXNoP24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm93blB1c2hTdHJlYW0oKT8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiQ3Jvc3MgYnJvd3NlciBzeW5jIiksdGhpcy5zeW5jU3ltYm9scyhlKSk6dGhpcy5fbG9nZ2VyLmxvZ0RlYnVnKCJTeW5jIHNraXBwZWQ6IG9uIHNlY29uZGFyeSB0YWIiKTp0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogc2Vzc2lvbiBoYXNoIil9LHRoaXMuX29uUHVzaFN0cmVhbVN0YXR1cz1lPT57Y29uc3QgdD1EYXRlLm5vdygpO2lmKGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuT3BlbiYmdGhpcy5fcHJldkNvbm5lY3Rpb25TdGF0dXM9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXt0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1lO2NvbnN0IHM9bnVsbD09PXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA/MDp0LXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA7aWYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1udWxsLCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gdm9pZCB0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogaXMgbm90IGF1dGhlbnRpY2F0ZWQiKTtpZighbi5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub3duUHVzaFN0cmVhbSgpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBvbiBzZWNvbmRhcnkgdGFiIik7aWYoczxpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBzaG9ydCBkaXNjb25uZWN0aW9uIikKO3RoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pntjb25zdCBlPW51bGwhPT10aGlzLl9zdGF0ZT90aGlzLl9nZXRUaW1lc3RhbXAodGhpcy5fc3RhdGUpOm51bGw7bnVsbD09PWV8fGU8dD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiUmVjb25uZWN0IHN5bmMiKSx0aGlzLnN5bmNTeW1ib2xzKCkpOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIlJlY29ubmVjdCBzeW5jIGhhbmRsZWQgYnkgYW5vdGhlciB0YWIiKX0pLE1hdGgucmFuZG9tKCkqbCthKX1lbHNlIGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1EYXRlLm5vdygpLHRoaXMuX3ByZXZDb25uZWN0aW9uU3RhdHVzPWUsY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpKX07Y29uc3R7ZXZlbnQ6dCxzdGF0ZTpzLHN5bmNocm9uaXplOmMsZ2V0VGltZXN0YW1wOnUsbG9nZ2VyTmFtZTpkfT1lO3RoaXMuX2V2ZW50PXQsdGhpcy5fc3luY2hyb25pemU9Yyx0aGlzLl9zdGF0ZT1zLHRoaXMuX2dldFRpbWVzdGFtcD11LHRoaXMuX2xvZ2dlcj0oMCxyLmdldExvZ2dlcikoYCR7ZH0uU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VgKSx0aGlzLmNvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N5bmM9bnVsbCx0aGlzLmNsb3NlQ29ubmVjdGlvbigpfXN5bmNTeW1ib2xzKGUpe2lmKG51bGw9PT10aGlzLl9zeW5jKXtjb25zdCB0PXRoaXMuX3N5bmM9dGhpcy5fc3luY2hyb25pemUoe2Fzc2VydDooKT0+e2lmKHRoaXMuX3N5bmMhPT10KXRocm93IG5ldyBFcnJvcihjKX0sY2FuY2VsOigpPT57dGhpcy5fc3luYz1udWxsfX0sZSkudGhlbigoKCk9Pnt0aGlzLl9zeW5jPW51bGx9KSwoZT0+e3Rocm93IHRoaXMuX3N5bmM9bnVsbCxlfSkpfXJldHVybiB0aGlzLl9zeW5jfWNvbm5lY3QoKXt0aGlzLl9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKX1jbG9zZUNvbm5lY3Rpb24oKXt0aGlzLl91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpfWlzRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZX1zZXRTdGF0ZShlKXt0aGlzLl9zdGF0ZT1lfV9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKXtuLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vbih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uUHJpdmF0ZVN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpfV91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpe24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZlN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpLGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsfX19LDMxMzMwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNQVhfV0FUQ0hMSVNUX0xFTkdUSDooKT0+YSxnZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQ6KCk9Pmwsc2hvd01heExpbWl0RXJyb3I6KCk9PmN9KTt2YXIgbj1zKDU2OTM5OCksbz1zKDQ3OTM0KSxyPXMoMjM0OTY0KSxpPXMoNzgzMjU0KTtzKDMwMDI4Nik7Y29uc3QgYT0xZTM7ZnVuY3Rpb24gbCgpe3JldHVybigwLG4uaXNGZWF0dXJlRW5hYmxlZCkoIndhdGNobGlzdF9zeW1ib2xzX3RpZXJlZF9saW1pdHMiKT8oMCxvLmdldENvbmZpZykoIldBVENITElTVF9TWU1CT0xTIik/LmxpbWl0Pz9hOmF9ZnVuY3Rpb24gYyhlKXsoMCxyLnNob3dXYXJuaW5nKSh7dGl0bGU6aS50KG51bGwsdm9pZCAwLHMoNTY2OTQ4KSksdGV4dDppLnQobnVsbCx7cmVwbGFjZTp7bnVtYmVyOmEudG9TdHJpbmcoKX19LHMoMzI4ODI4KSl9LGUpfX0sOTEzNDEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0QXBpOigpPT5tfSk7dmFyIG49cygyMjEwNjEpLG89cygzODQwMTcpLHI9cyg1ODA1MjYpLGk9cyg2MjEyMCksYT1zKDk2MjA4MSksbD1zKDMwNDM5OSk7YXN5bmMgZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9KDAsci5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUsdCk7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmRlbGV0ZShlKSwoMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvJHtlfS9yZXBsYWNlLz91bnNhZmU9dHJ1ZWApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkocyksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9dmFyIHU9cyg5MzEzNTIpO2NvbnN0IGQ9KDAsbi5nZXRMb2dnZXIpKCJNYXJrZWRTeW1ib2xzLkFwaSIpO2NsYXNzIG17Z2V0TGlzdHMoKXtyZXR1cm4oMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoIi9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvIikse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVtb3ZlIHN5bWJvbHMgZnJvbSAke2V9LWxpc3Q6ICR7dH1gKSxhc3luYyBmdW5jdGlvbihlLHQpe3JldHVybiBpLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZSk/YyhlLCgwLHIuZ2V0TG9jYWxMaXN0U3ltYm9scykoZSkpOigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9L3JlbW92ZS9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHQpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpKX1hcHBlbmRTeW1ib2xzKGUsdCl7CnJldHVybiAwPT09dC5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKG51bGwpOihkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIGFwcGVuZCBzeW1ib2xzIHRvICR7ZX0tbGlzdDogJHt0fWApLGFzeW5jIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmhhcyhlKT9jKGUsKDAsci5nZXRMb2NhbExpc3RTeW1ib2xzKShlKSk6KDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vYXBwZW5kL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkodCksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9KGUsdCkpfXJlcGxhY2VTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVwbGFjZSBzeW1ib2xzIGluICR7ZX0tbGlzdDogJHt0fWApLGMoZSx0KSl9cmVzZXRTeW1ib2xzKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVzZXQgc3ltYm9sczogJHtlfWApLGZ1bmN0aW9uKGUpe3JldHVybigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC9idWxrX3JlbW92ZS8iKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGUpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlKSl9cmVzZXRBbGwoKXtyZXR1cm4gZC5sb2dOb3JtYWwoIlNlbmRpbmcgcmVxdWVzdCB0byByZXNldCBBTEwgc3ltYm9scyIpLCgwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8iKSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW5hbWVMaXN0KGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vcmVuYW1lL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkoe25hbWU6dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXNoYXJlTGlzdChlLHQpe3JldHVybiBkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIHNoYXJlICR7ZX0tbGlzdDogJHt0fWApLCgwLHUuc2hhcmVNYXJrZWRMaXN0KShlLHQpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gY2hhbmdlIGRlc2NyaXB0aW9uICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXJlbmFtZVNlcGFyYXRvcihlLHQscyl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lIHNlcGFyYXRvciAke2V9LWxpc3Q6ICR7dH0gdG8gJHtzfWApLGFzeW5jIGZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4oMCxhLmNvbW1vblJlbmFtZVNlcGFyYXRvcikoZSwiY29sb3JlZCIsdCxzKX0oZSx0LHMpfX19LDcxMjEzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMSVNUX0NPTE9SUzooKT0+bSxMaXN0Q29sb3I6KCk9Pm4sY2hhbmdlRGVzY3JpcHRpb246KCk9PkMsY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+TixnZXRDb21tYW5kczooKT0+QSxnZXRMaXN0QnlDb2xvcjooKT0+ayxnZXRTeW1ib2xDb2xvcjooKT0+TCxnZXRTeW1ib2xzQnlDb2xvcjooKT0+RCxnZXRUaW1lc3RhbXA6KCk9Pk0saXNMaXN0Q29sb3I6KCk9PmgsbWFya01hbnk6KCk9PmIscmVkdWNlcjooKT0+TyxyZW1vdmU6KCk9Pl8scmVuYW1lOigpPT53LHJlbmFtZVNlcGFyYXRvcjooKT0+VCxyZXNldDooKT0+UyxzZXR1cDooKT0+dixzaGFyZTooKT0+RSxzaGlmdENvbW1hbmQ6KCk9PngsdXBkYXRlUGVyc2lzdGVkU3RhdGU6KCk9PlB9KTt2YXIgbixvPXMoMTMwNjk5KSxyPXMoMzI3MjM5KSxpPXMoMTM4NjM4KSxhPXMoNDMzMjApLGw9cygyOTUyMzUpLGM9cyg2MTI0NDYpLHU9cyg5MDEwMjIpLGQ9cyg5NzM1MjQpOyFmdW5jdGlvbihlKXtlLlJlZD0icmVkIixlLkJsdWU9ImJsdWUiLGUuR3JlZW49ImdyZWVuIixlLk9yYW5nZT0ib3JhbmdlIixlLlB1cnBsZT0icHVycGxlIixlLkN5YW49ImN5YW4iLGUuUGluaz0icGluayJ9KG58fChuPXt9KSk7Y29uc3QgbT1bbi5SZWQsbi5CbHVlLG4uR3JlZW4sbi5PcmFuZ2Usbi5QdXJwbGUsbi5DeWFuLG4uUGlua107ZnVuY3Rpb24gaChlKXtyZXR1cm4gbmV3IFNldChtKS5oYXMoZSl9Y29uc3QgcD17bGlzdHM6e2NvbG9yczpbXSxieUNvbG9yOnt9LGJ5U3ltYm9sOnt9fSxjb21tYW5kczpbXSx0aW1lc3RhbXA6bnVsbH07ZnVuY3Rpb24geShlLHQpe2NvbnN0e2xpc3RzOnN9PWUsbj1zLmJ5Q29sb3JbdF07biYmMD09PW4uc3ltYm9scy5sZW5ndGgmJihzLmNvbG9ycz1zLmNvbG9ycy5maWx0ZXIoKGU9PmUhPT10KSkpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuKDAsdS5pc1NlcGFyYXRvckl0ZW0pKGUpfWNvbnN0IGc9KDAsby5jcmVhdGVTbGljZSkoe25hbWU6Im1hcmtlZC1saXN0cyIsaW5pdGlhbFN0YXRlOnAsCnJlZHVjZXJzOntzZXR1cDooZSx0KT0+e2NvbnN0e2xpc3RzOnMsdGltZXN0YW1wOm59PXQucGF5bG9hZCxvPXtsaXN0czp7Y29sb3JzOltdLGJ5Q29sb3I6e30sYnlTeW1ib2w6e319LGNvbW1hbmRzOltdLHRpbWVzdGFtcDpudWxsfTtvLnRpbWVzdGFtcD1uO2Zvcihjb25zdCBlIG9mIGZ1bmN0aW9uKGUsdCl7cmV0dXJuWy4uLmVdLnNvcnQoKChlLHMpPT50LmluZGV4T2YoZS5jb2xvciktdC5pbmRleE9mKHMuY29sb3IpKSl9KHMsbSkpe2NvbnN0IHQ9ZS5zeW1ib2xzLmZpbHRlcigodD0+dm9pZCAwPT09by5saXN0cy5ieVN5bWJvbFt0XSYmKGYodCl8fChvLmxpc3RzLmJ5U3ltYm9sW3RdPWUuY29sb3IpLCEwKSkpO28ubGlzdHMuYnlDb2xvcltlLmNvbG9yXT17Y29sb3I6ZS5jb2xvcixuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHNoYXJlZDplLnNoYXJlZCxzeW1ib2xzOnQscGVyc2lzdGVkU3RhdGU6ZS5wZXJzaXN0ZWRTdGF0ZX0sdC5sZW5ndGg+MCYmby5saXN0cy5jb2xvcnMucHVzaChlLmNvbG9yKX1yZXR1cm4gb30scmVtb3ZlOihlLHQpPT57Y29uc3R7Y29sb3I6cyxzeW1ib2xzOm4sc2lsZW50Om99PXQucGF5bG9hZCx7bGlzdHM6YSxjb21tYW5kczpsfT1lLHU9YS5ieUNvbG9yW3NdO2lmKHZvaWQgMD09PXV8fDA9PT11LnN5bWJvbHMubGVuZ3RoKXJldHVybjtjb25zdCBkPW5ldyBTZXQobiksbT11LnN5bWJvbHMuZmlsdGVyKChlPT4hZC5oYXMoZSkpKTtpZighKDAsYy5lcXVhbEFycmF5cykobSx1LnN5bWJvbHMpKXt1LnN5bWJvbHM9bTtmb3IoY29uc3QgZSBvZiBkKWRlbGV0ZSBhLmJ5U3ltYm9sW2VdO298fGwucHVzaCh7dHlwZToicmVtb3ZlIixjb2xvcjpzLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pLHkoZSxzKX19LG1hcmtNYW55OihlLHQpPT57Y29uc3R7Y29sb3I6cyxiZWZvcmU6bixzaWxlbnQ6b309dC5wYXlsb2FkLHtsaXN0czphLGNvbW1hbmRzOmx9PWUse3VuaXF1ZTp1LGV4Y2x1c2lvbnM6bX09ZnVuY3Rpb24oZSx0KXtjb25zdHtjb2xvcjpzLHN5bWJvbHM6bixzZXBhcmF0b3JzOm99PXQucGF5bG9hZCx7bGlzdHM6cn09ZSxhPXt9LGw9bmV3IFNldCxjPWU9PmYoZSk/KCgwLGkuYXNzZXJ0KShudWxsIT09cykscyk6ci5ieVN5bWJvbFtlXTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSl7Y29uc3QgdD1uW2VdO2lmKGwuaGFzKHQpfHxmKHQpJiYhbyljb250aW51ZTtsLmFkZCh0KTtjb25zdCBzPWModCk7dm9pZCAwIT09cyYmKGFbc109YVtzXT8/bmV3IFNldCkuYWRkKHQpfXJldHVybntleGNsdXNpb25zOmEsdW5pcXVlOmx9fShlLHQpO2lmKDA9PT11LnNpemUpcmV0dXJuO2NvbnN0IGg9ZnVuY3Rpb24oZSx0LHMsbil7Y29uc3R7Y29sb3I6byxiZWZvcmU6cn09dC5wYXlsb2FkLHtsaXN0czppfT1lO2xldCBhO2lmKG51bGwhPT1vJiZ2b2lkIDAhPT1yJiZzLmhhcyhyKSl7Y29uc3QgZT1pLmJ5Q29sb3Jbb107aWYodm9pZCAwIT09ZSl7YT1uO2ZvcihsZXQgdD1lLnN5bWJvbHMuaW5kZXhPZihyKTt0Pj0wOy0tdClpZighcy5oYXMoZS5zeW1ib2xzW3RdKSl7YT1lLnN5bWJvbHNbdF07YnJlYWt9fX1yZXR1cm4gYX0oZSx0LHUsZC5MSVNUX1NUQVJUKTtpZihudWxsIT09cyYmdm9pZCAwIT09bVtzXSYmMT09PU9iamVjdC5rZXlzKG0pLmxlbmd0aCl7Y29uc3QgdD1hLmJ5Q29sb3Jbc107KDAsaS5hc3NlcnQpKHZvaWQgMCE9PXQpO2NvbnN0IHA9dC5zeW1ib2xzLmZpbHRlcigoZT0+IXUuaGFzKGUpKSksZz0oMCxkLmdldFRhcmdldEluZGV4KShwLG4saCk7aWYodm9pZCAwPT09Zz9wLnB1c2goLi4udSk6cC5zcGxpY2UoZywwLC4uLnUpLCgwLGMuZXF1YWxBcnJheXMpKHAsdC5zeW1ib2xzKSlyZXR1cm47e2NvbnN0IG49bVtzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09biksdC5zeW1ib2xzPXA7Zm9yKGNvbnN0IGUgb2YgbilkZWxldGUgYS5ieVN5bWJvbFtlXTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpO3JldHVybiB5KGUscyksdm9pZChvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4udC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9fWZvcihjb25zdCB0IGluIG0pe2lmKCFtLmhhc093blByb3BlcnR5KHQpKWNvbnRpbnVlO2NvbnN0IHM9bVt0XTsoMCxpLmFzc2VydCkodm9pZCAwIT09cyk7Y29uc3Qgbj1hLmJ5Q29sb3JbdF07KDAsaS5hc3NlcnQpKHZvaWQgMCE9PW4pLG4uc3ltYm9scz1uLnN5bWJvbHMuZmlsdGVyKChlPT4hcy5oYXMoZSl8fChkZWxldGUgYS5ieVN5bWJvbFtlXSwhMSkpKSx5KGUsdCl9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQob3x8bC5wdXNoKHt0eXBlOiJyZXNldCIsc3ltYm9sczpbLi4udV0scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpO2NvbnN0IHA9YS5ieUNvbG9yW3NdO2lmKGEuY29sb3JzLmluY2x1ZGVzKHMpKXsoMCxpLmFzc2VydCkodm9pZCAwIT09cCk7Y29uc3QgdD0oMCxkLmdldFRhcmdldEluZGV4KShwLnN5bWJvbHMsbixoKTt2b2lkIDA9PT10PyhwLnN5bWJvbHMucHVzaCguLi51KSxvfHwodm9pZCAwPT09bVtzXT9sLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTpsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSkpOihwLnN5bWJvbHMuc3BsaWNlKHQsMCwuLi51KSxvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9ZWxzZSB2b2lkIDA9PT1wP2EuYnlDb2xvcltzXT17Y29sb3I6cywKc3ltYm9sczpbLi4udV0sbmFtZTpudWxsLGRlc2NyaXB0aW9uOm51bGwsc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9OnAuc3ltYm9scz1bLi4udV0sYS5jb2xvcnMucHVzaChzKSxvfHxsLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpfSxyZW5hbWVTZXBhcmF0b3I6KGUsdCk9Pntjb25zdHtjb2xvcjpzLHNlcGFyYXRvcjpuLG5hbWU6byxzaWxlbnQ6YX09dC5wYXlsb2FkO2lmKG49PT1vfHwhZihuKXx8IWYobykpcmV0dXJuO2NvbnN0IGw9ZS5saXN0cy5ieUNvbG9yW3NdOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1sKTtjb25zdCBjPWwuc3ltYm9scy5pbmRleE9mKG4pOy0xIT09YyYmLTE9PT1sLnN5bWJvbHMuaW5kZXhPZihvKSYmKGwuc3ltYm9scy5zcGxpY2UoYywxLG8pLGF8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVuYW1lLXNlcGFyYXRvciIsY29sb3I6cyxzZXBhcmF0b3I6bixuYW1lOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSxyZW5hbWU6KGUsdCk9Pntjb25zdHtuYW1lOnMsY29sb3I6bixzaWxlbnQ6b309dC5wYXlsb2FkLGE9ZS5saXN0cy5ieUNvbG9yW25dOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1hKSxhLm5hbWUhPT1zJiYoYS5uYW1lPXMsb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZW5hbWUiLGNvbG9yOm4sbmFtZTpzLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX0sY2hhbmdlRGVzY3JpcHRpb246KGUsdCk9Pntjb25zdHtjb2xvcjpzLGRlc2NyaXB0aW9uOm4sc2lsZW50Om99PXQucGF5bG9hZCxhPWUubGlzdHMuYnlDb2xvcltzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09YSksYS5kZXNjcmlwdGlvbiE9PW4mJihhLmRlc2NyaXB0aW9uPW4sb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJjaGFuZ2UtZGVzY3JpcHRpb24iLGNvbG9yOnMsZGVzY3JpcHRpb246bixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHJlc2V0OihlLHQpPT57Y29uc3R7c2lsZW50OnN9PXQucGF5bG9hZCx7bGlzdHM6bn09ZTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PW4uYnlDb2xvcltlXTt2b2lkIDAhPT10JiYodC5zeW1ib2xzPVtdKX1uLmNvbG9ycz1bXSxuLmJ5U3ltYm9sPXt9LHN8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVzZXQtYWxsIixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KX0sc2hhcmU6KGUsdCk9Pntjb25zdHtsaXN0czpzLGNvbW1hbmRzOm59PWUse3NoYXJlZDpvLGNvbG9yOmEsc2lsZW50Omx9PXQucGF5bG9hZCxjPXMuYnlDb2xvclthXTt2b2lkIDAhPT1jJiZjLnNoYXJlZCE9PW8mJihjLnNoYXJlZD1vLGx8fG4ucHVzaCh7dHlwZToic2hhcmUiLGNvbG9yOmEsc2hhcmVkOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooZSx0KT0+e2NvbnN0e2xpc3RzOnN9PWU7Zm9yKGNvbnN0IGUgb2YgbSl7Y29uc3Qgbj1zLmJ5Q29sb3JbZV0sbz10LnBheWxvYWRbZV07dm9pZCAwIT09biYmbi5wZXJzaXN0ZWRTdGF0ZSYmbyYmKG4ucGVyc2lzdGVkU3RhdGU9ey4uLm4ucGVyc2lzdGVkU3RhdGUsLi4ub30pfX0sc2hpZnRDb21tYW5kOihlLHQpPT57Y29uc3R7Y291bnQ6c309dC5wYXlsb2FkO2UuY29tbWFuZHMuc3BsaWNlKDAscyl9fX0pLHttYXJrTWFueTpiLHNldHVwOnYscmVzZXQ6UyxyZW1vdmU6XyxyZW5hbWU6dyxjaGFuZ2VEZXNjcmlwdGlvbjpDLHJlbmFtZVNlcGFyYXRvcjpULHNoaWZ0Q29tbWFuZDp4LHNoYXJlOkUsdXBkYXRlUGVyc2lzdGVkU3RhdGU6UH09Zy5hY3Rpb25zLHtyZWR1Y2VyOk99PWc7ZnVuY3Rpb24gTihlLHQscz1nKXtyZXR1cm4oMCxhLmNyZWF0ZUNyb3NzVGFiU3luY01pZGRsZXdhcmUpKHtpZDplLGNoYW5uZWw6dCxldmVudDoibWFya2VkLWxpc3QtY3Jvc3MtdGFiLXN5bmMiLGZpbHRlcjplPT5mdW5jdGlvbihlLHQpe3JldHVybiB0LmFjdGlvbnMubWFya01hbnkubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWUubWF0Y2goZSl8fHQuYWN0aW9ucy5jaGFuZ2VEZXNjcmlwdGlvbi5tYXRjaChlKXx8dC5hY3Rpb25zLnJlbW92ZS5tYXRjaChlKXx8dC5hY3Rpb25zLnNldHVwLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVuYW1lU2VwYXJhdG9yLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVzZXQubWF0Y2goZSl8fHQuYWN0aW9ucy5zaGFyZS5tYXRjaChlKXx8dC5hY3Rpb25zLnVwZGF0ZVBlcnNpc3RlZFN0YXRlLm1hdGNoKGUpfShlLHMpfSl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiBlLmxpc3RzLmJ5U3ltYm9sW2wucXVhbGlmaWVkLmNhc3QodCldPz9udWxsfWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5saXN0cy5ieUNvbG9yW3RdPz9udWxsfWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4gayhlLHQpPy5zeW1ib2xzPz9udWxsfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuY29tbWFuZHN9ZnVuY3Rpb24gTShlKXtyZXR1cm4gZS50aW1lc3RhbXB9fSw0OTI2NzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxzPXt9O2lmKCFlKXJldHVybiBzO2xldCBvPXQuZXhlYyhlKTtmb3IoO287KXNbbihvWzFdKV09bihvWzJdKSxvPXQuZXhlYyhlKTtyZXR1cm4gc31mdW5jdGlvbiByKCl7cmV0dXJuIG8od2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIGkoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF0KO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSxlKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdKXtjb25zdCBuPWVbc10sbz0ib2JqZWN0Ij09dHlwZW9mIG4/SlNPTi5zdHJpbmdpZnkobik6U3RyaW5nKG4pO3QucHVzaCh7a2V5OnMscGFpcjplbmNvZGVVUklDb21wb25lbnQocykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChvKX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLmtleT50LmtleT8xOmUua2V5PHQua2V5Py0xOjApKS5tYXAoKGU9PmUucGFpcikpLmpvaW4oIiYiKX1zLmQodCx7Y3JlYXRlVXJsUGFyYW1zOigpPT5hLGdldFVybFBhcmFtczooKT0+cixyZW1vdmVIYXNoRnJvbVVybDooKT0+aX0pfSw5NzM1MjQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TElTVF9TVEFSVDooKT0+bixnZXRUYXJnZXRJbmRleDooKT0+b30pO2NvbnN0IG49U3ltYm9sKCk7ZnVuY3Rpb24gbyhlLHQscyl7Y29uc3Qgbz12b2lkIDA9PT1zP3ZvaWQgMCE9PXQ/ZS5pbmRleE9mKHQpOnZvaWQgMDpzPT09bj8wOmUuaW5kZXhPZihzKSsxO3JldHVybi0xIT09bz9vOnZvaWQgMH19LDQzMzIwKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtjb25zdHtpZDp0LGV2ZW50OnMsY2hhbm5lbDpuLGZpbHRlcjpvfT1lO3JldHVybiBlPT4obi5vbihzLChzPT57Y29uc3R7YWN0aW9uOm4sZW1pdHRlcjpyfT1KU09OLnBhcnNlKHMpO3IhPT10JiZvKG4pJiZlLmRpc3BhdGNoKHsuLi5uLHBheWxvYWQ6ey4uLm4ucGF5bG9hZCxzaWxlbnQ6ITB9fSl9KSksZT0+cj0+e2NvbnN0IGk9ZShyKTtyZXR1cm4gbyhyKSYmKHIucGF5bG9hZC5zaWxlbnR8fG4uZW1pdChzLEpTT04uc3RyaW5naWZ5KHthY3Rpb246cixlbWl0dGVyOnR9KSkpLGl9KX1zLmQodCx7Y3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+bn0pfSwyOTUyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cXVhbGlmaWVkOigpPT5ufSk7Y29uc3Qgbj17Y2FzdDplPT5lLGNhc3RNYW55OmU9PmUubWFwKG4uY2FzdCl9fSw2MTI0NDYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdIT09dFtzXSlyZXR1cm4hMTtyZXR1cm4hMH1zLmQodCx7ZXF1YWxBcnJheXM6KCk9Pm59KX0sMzA0Mzk5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhbmRsZUpTT046KCk9PnIsd2F0Y2hsaXN0VXJsOigpPT5pfSk7dmFyIG49cygzMTg5NzQpLG89cyg1NjkzOTgpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUub2s/MjA0PT09ZS5zdGF0dXM/UHJvbWlzZS5yZXNvbHZlKCk6ZS5qc29uKCk6ZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IHQ9bmV3IEVycm9yKGUuZGV0YWlsfHwibm90IG9rIik7dGhyb3cgZS5jb2RlJiYodC5uYW1lPWBBcGlFcnJvcjoke2UuY29kZX1gKSx0fSkpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD13aW5kb3cuVFZfV0FUQ0hMSVNUU19VUkwrZTtpZighKDAsby5pc0ZlYXR1cmVFbmFibGVkKSgid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iKSlyZXR1cm4gdDtjb25zdCBzPSgwLG4uaXNEZXNrdG9wQXBwKSgpPyJ3ZWItdHZkIjoid2ViIjtyZXR1cm4gdCsoZS5pbmNsdWRlcygiPyIpPyImIjoiPyIpKyJzb3VyY2U9IitzfX0sNDM2Mzk0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1dhcm5pbmc6KCk9PmF9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDE4NTI3MSkscj1zKDcyNTg2MiksaT1zKDQ1OTg2Myk7ZnVuY3Rpb24gYShlKXtjb25zdHt0aXRsZTp0LGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxvbkNsb3NlOmM9KCk9Pnt9LGJhY2tkcm9wOnUsc2hvd0Nsb3NlQnV0dG9uOmQsZGF0YVFhSWQ6bX09ZSxoPSgwLGkuZ2V0Q29udGVudCkoZSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChyLlNpbXBsZURpYWxvZyx7Li4uaCx0aXRsZTp0fHxvLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSxvbkNsb3NlOmMsYmFja2Ryb3A6dSxhY3Rpb25zOmwoZSksZGF0YU5hbWU6Indhcm5pbmctZGlhbG9nIixkYXRhUWFJZDptLGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxzaG93Q2xvc2VCdXR0b246ZH0pfWZ1bmN0aW9uIGwoZSl7Y29uc3R7YnV0dG9uVGV4dDp0LGludGVudEJ1dHRvbjpuLGFjdGlvbnM6cixvbkNvbmZpcm06aX09ZSxhPVt7bmFtZToib2siLHRpdGxlOnR8fG8udChudWxsLHZvaWQgMCxzKDIwODA3OCkpLGludGVudDpuLGhhbmRsZXI6KHtkaWFsb2dDbG9zZTplfSk9PntpPy4oKSxlKCl9fV07cmV0dXJuIHImJnIuZm9yRWFjaCgoZT0+YS5wdXNoKGUpKSksYX19LDU5NjA1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzaG93U2ltcGxlRGlhbG9nSW5zdGFuY2U6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEzODYzOCkscj1zKDYwNzgzMiksaT1zKDg2MzQ0KSxhPXMoNTcxMzAwKTtjb25zdCBsPW5ldyBpLkRpYWxvZ3NPcGVuZXJNYW5hZ2VyO2Z1bmN0aW9uIGMoZSx0LHMpe2NvbnN0e3RpdGxlOml9PWU7bGV0IGM9YCR7aX1fYDtpZihjKz0idGV4dCJpbiBlP2UudGV4dDoiaHRtbCJpbiBlP2UuaHRtbDplLmlkLGwuaXNPcGVuZWQoYykpcmV0dXJuKDAsby5lbnN1cmVEZWZpbmVkKShsLmdldERpYWxvZ1BheWxvYWQoYykpLmNsb3NlSGFuZGxlcjtjb25zdCB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9KCk9PntlLm9uQ2xvc2U/LigpLG0udW5tb3VudCgpLGwuc2V0QXNDbG9zZWQoYyl9LG09KDAsYS5jcmVhdGVSZWFjdFJvb3QpKG4uY3JlYXRlRWxlbWVudChyLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpzfHxudWxsfSxuLmNyZWF0ZUVsZW1lbnQodCx7Li4uZSxvbkNsb3NlOmR9KSksdSk7cmV0dXJuIGwuc2V0QXNPcGVuZWQoYyx7Y2xvc2VIYW5kbGVyOmR9KSxkfX0sODYzNDQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm4sZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7CnRoaXMuX3N0b3JhZ2U9bmV3IE1hcH1zZXRBc09wZW5lZChlLHQpe3RoaXMuX3N0b3JhZ2Uuc2V0KGUsdCl9c2V0QXNDbG9zZWQoZSl7dGhpcy5fc3RvcmFnZS5kZWxldGUoZSl9aXNPcGVuZWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuaGFzKGUpfWdldERpYWxvZ1BheWxvYWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuZ2V0KGUpfX1jb25zdCBvPW5ldyBufSw4NTE0NTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZmFjdG9yT3V0QnJhY2VzOigpPT5oLGdldFRva2VuQXRQb3M6KCk9Pm0saXNCaW5hcnlPcGVyYXRvcjooKT0+dSxpc1NwcmVhZDooKT0+ZCxwYXJzZVRva2VuOigpPT55LHNob3J0TmFtZTooKT0+cCxzeW1ib2xUb2tlbkVzY2FwZVJlOigpPT5hLHRva2VuaXplOigpPT5jfSk7dmFyIG4sbz1zKDkwMTAyMikscj1zKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KG58fChuPXt9KSk7Y29uc3QgaT0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9L1srXC0vKl0vLGw9KGU9KDAsci5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOmksaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6by5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1sKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IHM9W10sbj1PYmplY3Qua2V5cyh0KTtsZXQgbztjb25zdCByPSgoZT1sKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7bz1yLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9bi5sZW5ndGg7dC0tOylpZihvW3QrMV0pe25bdF0mJnMucHVzaCh7dmFsdWU6b1t0KzFdLHR5cGU6blt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0Om8uaW5kZXh9KSxlPSEwO2JyZWFrfWV8fHMucHVzaCh7dmFsdWU6b1swXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDpvLmluZGV4fSl9cmV0dXJuIHN9ZnVuY3Rpb24gdShlKXtyZXR1cm4icGx1cyI9PT1lfHwibWludXMiPT09ZXx8Im11bHRpcGx5Ij09PWV8fCJkaXZpZGUiPT09ZXx8InBvd2VyIj09PWV9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5sZW5ndGg+MSYmZS5zb21lKChlPT51KGUudHlwZSkpKX1mdW5jdGlvbiBtKGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspe2NvbnN0IG49ZVtzXSxvPSJzeW1ib2wiPT09bi50eXBlfHwiaW5jb21wbGV0ZVN5bWJvbCI9PT1uLnR5cGV8fCJudW1iZXIiPT09bi50eXBlO2lmKG4ub2Zmc2V0PD10JiZ0PD1uLm9mZnNldCtuLnZhbHVlLmxlbmd0aCYmbylyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKGUpe2U9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgcyBvZiBlKSJ3aGl0ZXNwYWNlIiE9PXMudHlwZSYmdC5wdXNoKHMpO3JldHVybiB0fShlKTtjb25zdCB0PVtdLHM9W107bGV0IG47Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZVtvXTtzd2l0Y2goci50eXBlKXtjYXNlInBsdXMiOmNhc2UibWludXMiOmNhc2UibXVsdGlwbHkiOmNhc2UiZGl2aWRlIjpjYXNlInBvd2VyIjpzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnIucHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1yLnByZWNlZGVuY2UpO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjpuPXttaW5QcmVjZWRlbmNlOjEvMCxvcGVuQnJhY2VJbmRleDpvfSxzLnB1c2gobik7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjp7aWYobj1zLnBvcCgpLCFuKWJyZWFrO2NvbnN0IHI9ZVtuLm9wZW5CcmFjZUluZGV4LTFdLGk9ZVtvKzFdLGE9ciYmKCJwbHVzIj09PXIudHlwZXx8Im11bHRpcGx5Ij09PXIudHlwZSk7KCF1KGk/LnR5cGUpfHxpPy5wcmVjZWRlbmNlPD1uLm1pblByZWNlZGVuY2UpJiYoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8bj8ubWluUHJlY2VkZW5jZXx8cj8ucHJlY2VkZW5jZT09PW4/Lm1pblByZWNlZGVuY2UmJmEpJiYodC51bnNoaWZ0KG4ub3BlbkJyYWNlSW5kZXgpLHQucHVzaChvKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPm4ubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1uLm1pblByZWNlZGVuY2UpKX19fWZvcihsZXQgcz10Lmxlbmd0aDtzLS07KWUuc3BsaWNlKHRbc10sMSk7cmV0dXJuIGV9ZnVuY3Rpb24gcChlKXsKcmV0dXJuIGgoYyhlKSkucmVkdWNlKCgoZSx0KT0+e2lmKCJzeW1ib2wiIT09dC50eXBlKXJldHVybiBlK3QudmFsdWU7Y29uc3RbLHNdPXkodCk7cmV0dXJuIHM/ZStzOmV9KSwiIil9ZnVuY3Rpb24geShlKXtjb25zdCB0PS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLmV4ZWMoZS52YWx1ZSk7cmV0dXJuIG51bGw9PT10P1t2b2lkIDAsdm9pZCAwXTpbdFsxXSx0WzJdXX19LDY5MjI2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDkxNDQ4Nykscj1zLm4obyksaT1zKDI3MzMxMCksYT1zKDU4NTQ4KSxsPXMoODA2NjkzKSxjPXMoOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6cyxyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sbi5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnIoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpzLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiByKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOnMsY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTptLGFycm93UmVmZXJlbmNlOmgsb25DbG9zZTpwLGFycm93U3R5bGU6eSxjaGlsZHJlbjpmLHJvbGU6ZywuLi5ifT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmIsY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjpnfSxkJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptLHJlZjpoLHN0eWxlOnl9KSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoYy5jb250YWluZXIscyl9LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShjLmNvbnRlbnQsbyl9LGYpLHAmJm4uY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOnB9KSkpfX0sMjQxOTM3KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9dHx8d2luZG93LmxvY2FsZXx8ImVuIjtsZXQgbj1lW3NdP2Vbc106ZS5lbjtyZXR1cm4gbj0idHJhZGluZ3ZpZXcuY29tIj09PW4/Ind3dy50cmFkaW5ndmlldy5jb20iOm4sbj9kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK246IiJ9cy5kKHQse2RldGVybWluZUJhc2VVcmw6KCk9Pm59KX0sMzM3MzYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgbj1zKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDk2MzkwMChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBuOyFmdW5jdGlvbihlKXtlLkVtcHR5PSIiLGUuVGVjaG5pY2Fsc1BhdGg9InRlY2huaWNhbHMvIixlLkZpbmFuY2lhbHNPdmVydmlld1BhdGg9ImZpbmFuY2lhbHMtb3ZlcnZpZXcvIixlLlRpbWVsaW5lUGF0aD0iaGlzdG9yeS10aW1lbGluZS8iLGUuTmV3c1BhdGg9Im5ld3MvIixlLk9wdGlvbnNQYXRoPSJvcHRpb25zLyIsZS5Qcm9maWxlUGF0aD0icHJvZmlsZS8iLAplLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0obnx8KG49e30pKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.857Z","timestamp":1785124876857,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-9de\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c5de29a11300e3e0b3f099017361c551\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2526,"size_decoded":1471,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2526), with no line terminators","md5":"b42a9e7d525b085dd6a8b47f0de67234","sha1":"3f0eec62020fc6a548ca79f106d4977314a8c1fe","sha256":"9dcf914fe1e67e14d06fe012bbdf425fcf085e0e703d42d1f360e3b840a4fc8c","sha512":"c899b211a18c733fd09e7fe54459d19a86b71efb75553f219188672793ad1aba396df2fb87b1e4fafb0dedd93bd4341004cdeb0a9a6339c3183e5a08237c2e3f","ssdeep":"","tlshash":"b8513c88f161b43f2e4f71290318c16c73267591ef820bb9f826f5d401d6feba6a6715","first_seen":"2026-07-20T16:56:18.412108Z","last_seen":"2026-07-27T06:24:31.813559Z","times_seen":60,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTcwMCk7LS1fMS1nNy1yOiMwMDAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTgwMCk7LS1fMS1nNy1yOiMwMDAwfS5mYXZvcml0ZS1Rd0tXU1VtYXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmb250LXNpemU6MDtoZWlnaHQ6MjJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyMnB4O3dpZHRoOjIycHh9LmZhdm9yaXRlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mYXZvcml0ZS1Rd0tXU1VtYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9fS5mYXZvcml0ZS1Rd0tXU1VtYS5kaXNhYmxlZC1Rd0tXU1VtYSwuZmF2b3JpdGUtUXdLV1NVbWEuZGlzYWJsZWQtUXdLV1NVbWE6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZhdm9yaXRlLVF3S1dTVW1hLmRpc2FibGVkLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX19LmZhdm9yaXRlLVF3S1dTVW1he291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5mYXZvcml0ZS1Rd0tXU1VtYTpmb2N1c3tvdXRsaW5lOm5vbmV9LmZhdm9yaXRlLVF3S1dTVW1hOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5mYXZvcml0ZS1Rd0tXU1VtYTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uZmF2b3JpdGUtUXdLV1NVbWEuZm9jdXNlZC1Rd0tXU1VtYTphZnRlcntkaXNwbGF5OmJsb2NrfS5mYXZvcml0ZS1Rd0tXU1VtYS5hY3RpdmUtUXdLV1NVbWF7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKX0uZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hLmFjdGl2ZS1Rd0tXU1VtYTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpKX19LmZhdm9yaXRlLVF3S1dTVW1hLmNoZWNrZWQtUXdLV1NVbWF7Y29sb3I6dmFyKC0tXzAtZzctcil9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/657.29ddd4f04e6ec50da70b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.199Z","timestamp":1785124877199,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/657.29ddd4f04e6ec50da70b.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 60\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b75-3c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 755f582d1a348f245d0c315a4388a247\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":60,"size_decoded":844,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"df18085a2070c3224e444c71713a95bc","sha1":"144d76cfc0df49820ea9adff3d08089670097e0e","sha256":"41b689f65b61467ec344afc1b82582ad1aca4134488ceb2f506e8f80e6ba919c","sha512":"f498445a0b87460528dde1423c9e61047aa43ac1d298895e5ce55ad2ec4f8bb9e3a40c41434d71c573e693ac551d5865326e39fd2a4735648b7637f8d41a88fc","ssdeep":"","tlshash":"16a0020653c51f358913d92307962717115454258912d6b58a03caa6964d78879261ec","first_seen":"2026-02-24T21:05:06.310249Z","last_seen":"2026-07-27T06:24:31.784747Z","times_seen":205,"resource_available":false,"data":"LmxvZ28tZDB2Vm1HdlR7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTttYXJnaW4taW5saW5lLWVuZDo4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/logo.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.239Z","timestamp":1785124875239,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/logo.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 63652\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-f8a4\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":63652,"size_decoded":63878,"mime_type":"image/png","magic":"PNG image data, 797 x 589, 8-bit/color RGBA, non-interlaced","md5":"7a45ffef55ec1bbe6050d34dc70261b6","sha1":"6ab3c0294c41d9b8f089e5d0dcbecac41aaf0398","sha256":"c1738d17e960317795bd3df4105c596da07f73ac2097458c3b98a0181177ed4c","sha512":"cd342524ad91f642a8148840c7652990be08f144d4de6fef44bd3620109568c406fc04ca2950cef4ae59580eed6390451fd616e5a90fa45bd388cbfdaae45662","ssdeep":"1536:p6XZBNX8eYCpLjDTZF71zgv93QefdE2XHpifMhTToZ6:p6XZBNxVf1KxfHpifMt","tlshash":"cf53022636c4f35f50e31bf697c74ad848bc94beda8728d2a0d949048435bdb57c8e2d","first_seen":"2026-07-27T03:24:36.848424Z","last_seen":"2026-07-27T04:03:30.147458Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":79,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":60,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.612Z","timestamp":1785124875612,"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/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.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://berthenergy-inc.biz\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: 7748\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 03:05:43 GMT\r\nexpires: Fri, 23 Jul 2027 03:05:43 GMT\r\ncache-control: public, max-age=31536000\r\nage: 348932\r\nlast-modified: Mon, 15 Sep 2025 16:36:26 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":7748,"size_decoded":8560,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7748, version 1.0","md5":"a09f2fccfee35b7247b08a1a266f0328","sha1":"0da2d17e738f46d2a09e6fb7969da451719a9820","sha256":"cd36de204aca2d5fa263a731f7c20009b5e3d754ba1f1e03c33e93a48f3e7446","sha512":"5e3f9a298003b84250ec6801e08ad2a4ff8845d4c3e13ea61bec37da24d26ede13b436257882124cc0c27e9a323ba92e7d23c6ad3f48a7b75535f5ed98813a0e","ssdeep":"96:0g6vAF/FXh6MmoI56TEwosGU/DbVF/QBT1gaHEYT6u/w3hXLbJPAS772+6haAftj:zp6x6TYpoDYBJg8TRkbJPAS/2+CzQa7","tlshash":"f3f19de65d1e5e8980f0102f6f6efce767950d88141dadf9a9e72f884c6ba1b04c90cd","first_seen":"2023-04-05T13:48:05Z","last_seen":"2026-07-27T06:14:32.706437Z","times_seen":268141,"resource_available":true,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.873Z","timestamp":1785124875873,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3552.4c5535183b7a0330a89d.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-2fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c5e9478e62e20b151adeb314c41bea3e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12194,"size_decoded":4814,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-27T06:16:22.9807Z","times_seen":1105,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.958Z","timestamp":1785124877958,"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://berthenergy-inc.biz/\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: 350933\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-27T06:15:18.686348Z","times_seen":14589,"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":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":"berthenergy-inc.biz/images/wallets-icon.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.253Z","timestamp":1785124875253,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/wallets-icon.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 3586\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-e02\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3586,"size_decoded":3810,"mime_type":"image/png","magic":"PNG image data, 68 x 68, 8-bit/color RGBA, non-interlaced","md5":"0a58c155b853ea1678f8cb6bfea53f72","sha1":"44d7e973e10d7199ececbaf79d9703d2ad491e01","sha256":"e5645ffd5ae7747b5352ea604527ccbc36caff17b4a437f9787153898ee5be63","sha512":"15b5b6789beec93e5cc530189740dce36ac53a0accbc2b81329e1422df56708c498f17635bf988d91ec28086b735018e7709622f0fb3defd1bd83c15472c5055","ssdeep":"","tlshash":"45714b1ed6611e81cad8c83124e2d413d733cd8e48d5f12a7ccf94aae7209b5da284fa","first_seen":"2025-08-11T23:10:22.741794Z","last_seen":"2026-07-27T04:03:29.954895Z","times_seen":17,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2QUNERTYzMTQ3RDYxMUVBOTIyNkQyRUE0NENDQzdDOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2QUNERTYzMjQ3RDYxMUVBOTIyNkQyRUE0NENDQzdDOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZBQ0RFNjJGNDdENjExRUE5MjI2RDJFQTQ0Q0NDN0M5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZBQ0RFNjMwNDdENjExRUE5MjI2RDJFQTQ0Q0NDN0M5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+P4/v2QAACndJREFUeNrUXAmYVlMY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"}},"time_used":70,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":69,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/pay1.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.261Z","timestamp":1785124875261,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/pay1.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 4770\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-12a2\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":4770,"size_decoded":4995,"mime_type":"image/png","magic":"PNG image data, 166 x 51, 8-bit/color RGBA, non-interlaced","md5":"af6e499a216e5284ea18c475c67d49ed","sha1":"120be8d83dfdc8813ca4c5c0fb567e0c6efc7820","sha256":"abba1a90deef4e7c9920e0d628c52685bff7ead0ec4325d4e62abeafb19b0fc1","sha512":"37503c422b970b5433fc7b64808d9d01eadcbe958142b4a2ea6017d296697d47dddeaa9d7efd929b1fe70be9916fb5dbfe0e54b161625b4d97864b5d29ba0be4","ssdeep":"96:W2ylApiQ7fxCc+eFGMAlkU2qecQc9LJq0iHvfmJ12dlUXoPBBoB0+dLktefr:r7znNGecQ30KRdWXo5BoB0+Nj","tlshash":"63a17e4c8b025d855644c361a4d1405bba7309c8eaf1f77126d9dc970b2d2b88c7b3f7","first_seen":"2025-02-21T02:45:33.050322Z","last_seen":"2026-07-27T04:03:30.025134Z","times_seen":8,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKYAAAAzCAYAAAAdI3OHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM5RTJEMEYzRDY5ODExRThBMTI3RTY0OEM5Nzk3RURFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM5RTJEMEY0RDY5ODExRThBMTI3RTY0OEM5Nzk3RURFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzlFMkQwRjFENjk4MTFFOEExMjdFNjQ4Qzk3OTdFREUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzlFMkQwRjJENjk4MTFFOEExMjdFNjQ4Qzk3OTdFREUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6htjl1AAAPEklEQVR42uxd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"}},"time_used":83,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":63,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52680.8efa6b4d998186f39cba.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.830Z","timestamp":1785124876830,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52680.8efa6b4d998186f39cba.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ae3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7304efc4c9c7c1bb7db27f3e90b7203b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2787,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2787), with no line terminators","md5":"b0b40767c8085628e53f188cb8827433","sha1":"dd4305af40e8132a6ffbe7ffa526b4443a209c2e","sha256":"e9b4d54c12d552fc8335e6ed145a9e61a5ae4a6b1415893daabfe8fde06952f3","sha512":"ca04e58582ad20de833d414362fea6b8f410a60267f11aa0863ce5c5b9952c123fd9d0bd2045651309ee607e9e956bbe87f419fbfb8c0b662c0772c6e36c0560","ssdeep":"","tlshash":"2b51ce84b24094bb7bb3f5798268b1ce6b249c3dddf23fc7b4aad14548d27e20194d25","first_seen":"2026-07-17T14:15:58.299653Z","last_seen":"2026-07-27T06:24:31.800627Z","times_seen":71,"resource_available":false,"data":"Lmljb25CdXR0b24tSEREVVlPQkl7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH0uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1c3tvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YmVmb3Jle2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uc3F1YXJlLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6NHB4fS5zcXVhcmUtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo4cHh9LnJvdW5kLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6MTJweH0ucm91bmQtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxNnB4fS5wcmltYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmltYXJ5LUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSl9LnByaW1hcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5wcmltYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5zZWNvbmRhcnktSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS5zZWNvbmRhcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5zZWNvbmRhcnktSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LnRlcnRpYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX19LnRlcnRpYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKSl9LnByaW1hcnktc3BlY2lhbC1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35342.7d61a7ec764ba6b2c6bd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.877Z","timestamp":1785124876877,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35342.7d61a7ec764ba6b2c6bd.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-327\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7ec1f8efa0882c22843f82464c0c6840\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":807,"size_decoded":1107,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (807), with no line terminators","md5":"50d3abce4215ba71259575a94352a7c1","sha1":"f6730a01f60611b0d6d8b26b0771318b8ba5e72d","sha256":"8645bbc80c253b897320c57fa607b4f6898034ea24adf1e1ef5f754c8b1255a2","sha512":"cf887dea6f55668c33daa46b54a9fe526a84dee52138a92728920e878e21d5bc8b516e76ce087a8a0580365ea43b8dba7239895e6136f44d43645ef76695bdba","ssdeep":"","tlshash":"ae0155c4a5887e3bac6233f8f61291131754dd19fdda2e427a66e08e80a62e2407a930","first_seen":"2026-07-17T14:15:58.314201Z","last_seen":"2026-07-27T06:24:31.693471Z","times_seen":68,"resource_available":false,"data":"LmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnByaW1hcnktWUZYVkpORVEsLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnNlY29uZGFyeS1ZRlhWSk5FUSwuZmF2b3JpdGVzSWNvbkJ1dHRvblRvZ2dsZWQtWUZYVkpORVEudGVydGlhcnktWUZYVkpORVF7LS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmFjdGlvbi15bUZ1OVFFRHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5zaG93T25Ib3Zlci15bUZ1OVFFRHstLW1lbnUtaXRlbS1pcy1ob3ZlcmVkLW9yLWZvY3VzZWQ6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZCwwKSArIHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWZvY3VzZWQtdmlzaWJsZSwwKSl9QG1lZGlhIG5vdCAoYW55LXBvaW50ZXI6Y29hcnNlKXsuc2hvd09uSG92ZXIteW1GdTlRRUR7b3BhY2l0eTptaW4oMSx2YXIoLS1tZW51LWl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tbWVudS1pdGVtLWFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc2hvd09uSG92ZXIteW1GdTlRRUQ6aGFzKDpmb2N1cy12aXNpYmxlKXstLW1lbnUtaXRlbS1hY3Rpb24tZm9yY2VWaXNpYmxlOjF9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8579.6f6518be4293822786e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.096Z","timestamp":1785124877096,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8579.6f6518be4293822786e0.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1a27\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 979476a432927ae4a306fbcf468f8f47\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6695,"size_decoded":1628,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6695), with no line terminators","md5":"aeecabaec60d7097b5e0df49367d3ee8","sha1":"f170c1bb6b76ce03bb8bc5e206a34a0fe91631e7","sha256":"5e3d9d49b9da950fbda835658d479573002ce3d34f5365b6f7dc9a1fe8ab3721","sha512":"d98867b86352def67f1efa0d2e1e76b45d2a102d316b7f5fb9ec3f1f1569a25c6b72f0a52ada71baf88eed1de8775c8e0163899fc4fc30d610c654508298c920","ssdeep":"192:kgzg8gGgHgDgYgygFg/g5gZgWATd8QnBiEogsOpOOO4O1O5OCO8OrO9OxOJOJ5a:kgzg8gGgHgDgYgygFg/g5gZgWATd8Qn5","tlshash":"bad1991be7e487737c638ff9c28ca0645f1ad69abe604fa6a1307e0c8bc7e555760402","first_seen":"2026-07-17T03:30:51.23738Z","last_seen":"2026-07-27T06:24:31.559674Z","times_seen":54,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTXVZODpub25lOy0tXzEtTXVZODpub25lOy0tXzItTXVZODpub25lOy0tXzMtTXVZODpub25lOy0tXzQtTXVZODpub25lfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTXVZODppbnZlcnQoMSk7LS1fMS1NdVk4OmludmVydCgxKTstLV8yLU11WTg6aW52ZXJ0KDEpOy0tXzMtTXVZODppbnZlcnQoMSk7LS1fNC1NdVk4OmludmVydCgxKX0uaW5wdXQtSDB4ZENuRlN7cGFkZGluZzowIGNhbGMoOHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAycHgpIC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6MnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czoycHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzAtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTey13ZWJraXQtYXBwZWFyYW5jZTphdXRvO2FwcGVhcmFuY2U6dGV4dGZpZWxkO2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO21hcmdpbjowO21pbi13aWR0aDowO291dGxpbmU6MDt3aWR0aDoxMDAlOy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLXVpLWxpYi1jb250cm9sLXRleHQtZmlsbC1jb2xvcixjdXJyZW50Q29sb3IpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtvcmRlcjowfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jbGVhci1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDpmb2N1c3tib3JkZXItcmFkaXVzOjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fMS1NdVk4KX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLmlucHV0LUgweGRDbkZTLnNpemUtc21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7ZmlsdGVyOnZhcigtLV8yLU11WTgpfS5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzMtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLWxhcmdlLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6NnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fNC1NdVk4KX0uaW5wdXQtSDB4ZENuRlMud2l0aC1zdGFydC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoNHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy53aXRoLWVuZC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKDRweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWlubmVyLXNsb3QtZ2FwLCAycHgpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50035.0227c09e8de3b4008395.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.220Z","timestamp":1785124877220,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50035.0227c09e8de3b4008395.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 49\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b74-31\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b2b720ed1880093c3b30f8b07b31025c\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":49,"size_decoded":833,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5cad8e0ddf70f7e7bd2c5b0f9c11a8dc","sha1":"41032fed0aadcd1947a6be4c67bc42a37e88ea05","sha256":"efe71be95be3672f79552c1e97a78c4802144f663cb11a4fb939cc4b57a915a6","sha512":"5968fa2e4c5b778001f70228a5b7b788dfc48409558346537e64029b2edc62addaee814c459f386b46af8bbd65e16e02a11c7cb494894b9d37f88c9dab66ee85","ssdeep":"","tlshash":"809002bd998840646c518619915249c8c583851049901b89e15530685a71c00441129a","first_seen":"2023-04-17T07:26:31Z","last_seen":"2026-07-27T06:24:31.789008Z","times_seen":951,"resource_available":false,"data":"Lmljb24tT0pwa19DQVF7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVufQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43808.5ad3651a38630f775442.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.233Z","timestamp":1785124877233,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43808.5ad3651a38630f775442.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddd-734c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 12f8962b37afdd28f94d7a186520148c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":29516,"size_decoded":7156,"mime_type":"text/css; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (29514), with no line terminators","md5":"89d54002d9dff292d378d97abe4e3410","sha1":"6ad49e20962e85a41c0ed2955a7d9b8bf56fcb47","sha256":"c2f76e73327dad5c04fe2f8617bc8b3aab016114e3cc57f1a9757f1b8ff7530a","sha512":"bf553ad2781e9c3bf61da104cf8e0b85b64f3eb4a469d7ea50a1131c1c45ca98ce6f3fe2673c2a6f86857e8b0005fa4baa2df74ef8e80fbbfb9684cb81792860","ssdeep":"384:QTsoqYs5cN4nzyHDmcWE5N9cVOS8RSACPZhnT7HumHZKefLpKY7:QRgcN4zyHDm/E5N9cVOS8/CPZhT7hnLB","tlshash":"e6d297c5f701a0367bb7572d5770a24daa1cec83d50a4be9fd81be1988c5bfb3069608","first_seen":"2026-06-08T18:14:42.108897Z","last_seen":"2026-07-27T06:24:31.685146Z","times_seen":102,"resource_available":false,"data":"LmNvbnRhaW5lci1UYUZfYVlFRnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgY2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nKSotMSk7cG9zaXRpb246cmVsYXRpdmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItVGFGX2FZRUY6aG92ZXIgLmZsYWctVGFGX2FZRUZ7ZGlzcGxheTpmbGV4fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZmxhZy1UYUZfYVlFRntkaXNwbGF5Om5vbmV9fS5jb250ZW50LVRhRl9hWUVGe3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0uY29udGVudC1UYUZfYVlFRjpmaXJzdC1sZXR0ZXJ7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udW5kZXJseWluZ0NlbGwtVWNjZEhsaGcudW5kZXJseWluZ0NlbGwtVWNjZEhsaGd7Ym90dG9tOnZhcigtLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b20pO2hlaWdodDowO3Bvc2l0aW9uOnN0aWNreTt0b3A6Y2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpKjIpO3dpZHRoOjEwMCU7ei1pbmRleDoxMH0udW5kZXJseWluZ0NlbGwtVWNjZEhsaGc6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQpO2NvbnRlbnQ6IiI7aGVpZ2h0OjFweDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xcHh9LnVuZGVybHlpbmdCYWRnZS1VY2NkSGxoZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1oZWF2eSk7Ym9yZGVyLXJhZGl1czozcHg7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NjAwO2luc2V0LWlubGluZS1zdGFydDo1MCU7bGluZS1oZWlnaHQ6dmFyKC0tb3B0aW9ucy10YWJsZS11bmRlcmx5aW5nLXJvdy1saW5lLWhlaWdodCk7cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLXVuZGVybHlpbmctcm93LWxpbmUtaGVpZ2h0KSotMS8yIC0gMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpfS51bmRlcmx5aW5nQmFkZ2UtVWNjZEhsaGc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1MCUpfS5yb290LU53RlVaY25Se2hlaWdodDoxMDAlfS5jaGFpbi1Od0ZVWmNuUnstLW9wdGlvbnMtY2hhaW4tYmctY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrLXNlY29uZGFyeSk7LS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW4pOy0tb3B0aW9ucy10YWJsZS11bmRlcmx5aW5nLXJvdy1saW5lLWhlaWdodDoxNXB4Oy0tb3B0aW9ucy10YWJsZS1ib2R5LWJvdHRvbTpjYWxjKHZhcigtLW9wdGlvbnMtdGFibGUtdW5kZXJseWluZy1yb3ctbGluZS1oZWlnaHQpLzIpO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MH0uc2VsZWN0b3ItTndGVVpjblJ7LS1vcHRpb25zLXBpY2tlci1ibHVyLWNvbG9yOnZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnkpO21hcmdpbjowIDIwcHh9LmVtcHR5U3RhdGVJY29uLU53RlVaY25Se2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWdob3N0LmM1YWI4ODEzYzU2OGM5MzkxMDYwLnN2Zyk7aGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fWh0bWwudGhlbWUtZGFyayAuZW1wdHlTdGF0ZUljb24tTndGVVpjblJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZW1wdHktZ2hvc3QtZGFyay5hM2YxYTg5NjhiMGY2OTZiMWM4OS5zdmcpfS5lbXB0eS1Od0ZVWmNuUnthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZW1wdHktTndGVVpjblIsLnJvb3QtWHdKb19pUDZ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ucm9vdC1Yd0pvX2lQNntnYXA6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UpO21pbi1oZWlnaHQ6MH0uc2VsZWN0b3ItWHdKb19pUDZ7LS1vcHRpb25zLXBpY2tlci1ibHVyLWNvbG9yOnZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnkpO21hcmdpbjowIDIwcHh9LmNoYWluLVh3Sm9faVA2ey0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcjp2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstc2Vjb25kYXJ5KTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjB9LmVtcHR5LVh3Sm9faVA2e2hlaWdodDoxMDAlfS50aXRsZS1jMTJsYTVpTXthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS5pY29uLWMxMmxhNWlNe2ZsZXg6MCAwIDE4cHh9LmNoaWxkcmVuV3JhcHBlci1NZ3BEOXVUT3thbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MSAwIGF1dG87ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXJ9QG1lZGlhIChtYXgtaGVpZ2h0OjQ0MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LmNoaWxkcmVuV3JhcHBlci1NZ3BEOXVUT3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH19LmNvbnRhaW5lci1NZ3BEOXVUT3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjhweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1OMVB4OnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU4xUHg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCl9LnRpdGxlLU5kM3dza2xLe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtTjFQeCk7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KTtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206OHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjQycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUlOYTc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fMS1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzItSU5hNzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8zLUlOYTc6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzQtSU5hNzp2YXIoLS1jb2xvci10di1ibHVlLTIwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzEtSU5hNzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLUlOYTc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMy1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzQtSU5hNzp2YXIoLS1jb2xvci10di1ibHVlLTIwMCl9LndyYXAtSEVpSVFlYkJ7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YnJlYWstaW5zaWRlOmF2b2lkO2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbn0ud3JhcC1IRWlJUWViQi5saWJBbGxTZWxlY3RlZC1IRWlJUWViQntjb2x1bW4tc3BhbjphbGx9LmNvbnRhaW5lci1IRWlJUWViQnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1JTmE3KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4fS5jb250YWluZXItSEVpSVFlYkIgLmljb25XcmFwLUhFaUlRZWJCe2ZsZXgtc2hyaW5rOjB9LmNvbnRhaW5lci1IRWlJUWViQiAuaWNvbi1IRWlJUWViQiwuY29udGFpbmVyLUhFaUlRZWJCIC5pY29uV3JhcC1IRWlJUWViQnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmNvbnRhaW5lci1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Y29sb3I6dmFyKC0tXzAtSU5hNyk7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb250YWluZXItSEVpSVFlYkIgLnRpdGxlLUhFaUlRZWJCIC5oaWdobGlnaHRlZC1IRWlJUWViQntjb2xvcjp2YXIoLS1fNC1JTmE3KX0uY29udGFpbmVyLUhFaUlRZWJCIC5kZXNjcmlwdGlvbi1IRWlJUWViQntjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2xpbmUtaGVpZ2h0OjE3cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb250YWluZXItSEVpSVFlYkIubGliQWxsU2VsZWN0ZWQtSEVpSVFlYkJ7d2lkdGg6Y2FsYyg1MCUgLSAycHgpfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsuY29udGFpbmVyLUhFaUlRZWJCLmxpYkFsbFNlbGVjdGVkLUhFaUlRZWJCe3dpZHRoOmF1dG99fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCe2hlaWdodDo1MnB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCLmFsbFNlbGVjdGVkLUhFaUlRZWJCe2hlaWdodDo0MHB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCIC5pY29uV3JhcC1IRWlJUWViQnttYXJnaW4taW5saW5lLXN0YXJ0OjJweDt3aWR0aDo0MHB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCIC5pY29uLUhFaUlRZWJCe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LmNvbnRhaW5lci1IRWlJUWViQi5tb2JpbGUtSEVpSVFlYkIgLnRpdGxlLUhFaUlRZWJCe2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHh9LmNvbnRhaW5lci1IRWlJUWViQi5tb2JpbGUtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCe2ZvbnQtc2l6ZToxMnB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQntib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjQ2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuaWNvbldyYXAtSEVpSVFlYkJ7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuaWNvbi1IRWlJUWViQntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuYWxsU2VsZWN0ZWRJY29uLUhFaUlRZWJCIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjJweH0uY29udGFpbmVyLUhFaUlRZWJCLmRlc2t0b3AtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCe2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQjpob3Zlcjpub3QoLnNlbGVjdGVkLUhFaUlRZWJCKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLUlOYTcpfX0uY29udGFpbmVyLUhFaUlRZWJCe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXItSEVpSVFlYkI6Zm9jdXN7b3V0bGluZTpub25lfS5jb250YWluZXItSEVpSVFlYkI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmNvbnRhaW5lci1IRWlJUWViQjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uY29udGFpbmVyLUhFaUlRZWJCLmZvY3VzZWQtSEVpSVFlYkI6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uY29udGFpbmVyLUhFaUlRZWJCLnNlbGVjdGVkLUhFaUlRZWJCe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCLC5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmljb24tSEVpSVFlYkIsLmNvbnRhaW5lci1IRWlJUWViQi5zZWxlY3RlZC1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCIC5oaWdobGlnaHRlZC1IRWlJUWViQntjb2xvcjp2YXIoLS1fNC1JTmE3KX0uY29udGFpbmVyLUhFaUlRZWJCLnNlbGVjdGVkLUhFaUlRZWJCe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkI6Zm9jdXN7b3V0bGluZTpub25lfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmNvbnRhaW5lci1IRWlJUWViQi5zZWxlY3RlZC1IRWlJUWViQjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgLSAycHgpO2luc2V0LWlubGluZS1zdGFydDoxcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MXB4O3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDoxfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIuZm9jdXNlZC1IRWlJUWViQjphZnRlcntkaXNwbGF5OmJsb2NrfS50aXRsZVdpdGhvdXREZXNjLUhFaUlRZWJCe3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDo4cHh9LnRleHRCbG9jay1IRWlJUWViQntkaXNwbGF5OmZsZXg7ZmxleDowIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjB9LmJvcmRlcmVkLUhFaUlRZWJCe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLV8xLUlOYTcpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXdkdk46dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13ZHZOOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jb250YWluZXItdHNqbVF0WFF7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jb250ZW50TGlzdC10c2ptUXRYUXtvdmVyZmxvdy15OmF1dG87cGFkZGluZzo2cHggMH1AbWVkaWEgKHBvaW50ZXI6ZmluZSl7QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LmNvbnRlbnRMaXN0LXRzam1RdFhRe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudExpc3QtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfX0uY29udGVudExpc3REZXNrdG9wLXRzam1RdFhRe3BhZGRpbmc6MTZweCAwfS5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lci10c2ptUXRYUXttYXJnaW4tYm90dG9tOjE2cHh9LnNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyLXRzam1RdFhROmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lci10c2ptUXRYUS5vbmVDb2x1bW4tdHNqbVF0WFF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wLXRzam1RdFhRe2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaDttYXJnaW4tYm90dG9tOjI0cHg7cGFkZGluZzowIDEycHh9LnNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyRGVza3RvcC10c2ptUXRYUTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uZ3JvdXBUaXRsZURlc2t0b3AtdHNqbVF0WFF7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH0uY29sdW1uLXRzam1RdFhRe292ZXJmbG93OmhpZGRlbn0uZW1wdHlUZXh0LXRzam1RdFhRe2NvbG9yOnZhcigtLV8wLXdkdk4pO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjEycHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcn1AbWVkaWEgKG1heC1oZWlnaHQ6NDQwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuZW1wdHlJY29uLXRzam1RdFhRe2Rpc3BsYXk6bm9uZX19Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFF7ZmxleDoxIDA7b3ZlcmZsb3c6YXV0bztwYWRkaW5nLWJvdHRvbTo1NHB4O3BhZGRpbmctdG9wOjI0cHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFF7c2Nyb2xsYmFyLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpICMwMDAwO3Njcm9sbGJhci13aWR0aDp0aGlufX0ubm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uYWN0aW9ucy1vQXRvWGxSNHtkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1lbmQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5hY3Rpb24tb0F0b1hsUjQuZGlzYWJsZWQtb0F0b1hsUjR7LS11aS1saWItaWNvbkJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiMwMDAwOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9LmFjdGlvbi1vQXRvWGxSNCsuYWN0aW9uLW9BdG9YbFI0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5mbGFnLU5tMTc0enFTe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXRlcnRpYXJ5LWludmVyc2UpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5mbGFncy1ObTE3NHpxU3tkaXNwbGF5OmZsZXh9LmZsYWdDb250YWluZXItTm0xNzR6cVN7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uZmxhZ0NvbnRhaW5lci1ObTE3NHpxUzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xMHB4fS5jb3VudGVyLU5tMTc0enFTe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCk7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4fS5jb250YWluZXItTm0xNzR6cVN7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtpc29sYXRpb246aXNvbGF0ZX0uZmxhZ1dyYXAtRUJOWmRDSDF7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjNweH0uZmxhZ1dyYXAtRUJOWmRDSDEgLmljb24tRUJOWmRDSDF7ZGlzcGxheTpmbGV4O2hlaWdodDoyMHB4O21hcmdpbi1pbmxpbmUtZW5kOjRweDtwYWRkaW5nOjRweDt3aWR0aDoyMHB4fS5mbGFnV3JhcC1FQk5aZENIMSAuaWNvbi1FQk5aZENIMSBzdmd7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZsYWdXcmFwLUVCTlpkQ0gxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcik7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpfS5mbGFnV3JhcC1FQk5aZENIMTpob3ZlciAuY2FyZXQtRUJOWmRDSDF7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LnRpdGxlLUVCTlpkQ0gxe3doaXRlLXNwYWNlOm5vd3JhcH0uY2FyZXQtRUJOWmRDSDF7ZGlzcGxheTpmbGV4O2hlaWdodDoxOHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MThweH0uYnV0dG9uQ29sb3JzLXBlTWpRYnV6ey0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0uYnV0dG9uQ29sb3JzLXBlTWpRYnV6OmFjdGl2ZXstLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsKX0ud3JhcC1CZDA1QmpVYXtkaXNwbGF5OmNvbnRlbnRzfS5pdGVtLUJkMDVCalVhe2hlaWdodDo0MHB4O3BhZGRpbmctaW5saW5lLWVuZDoyNHB4fS5pdGVtLUJkMDVCalVhOmZpcnN0LWNoaWxke2dyaWQtY29sdW1uLWVuZDozO21pbi13aWR0aDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tQmQwNUJqVWE6bGFzdC1jaGlsZHtncmlkLWNvbHVtbi1zdGFydDpzcGFuIDM7cGFkZGluZy1pbmxpbmUtZW5kOjE3cHh9Lml0ZW0tQmQwNUJqVWEsLndyYXAtQmQwNUJqVWEuc21hbGwtQmQwNUJqVWF7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cG9zaXRpb246c3RpY2t5O3RvcDotMXB4O3otaW5kZXg6MX0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWF7ZmxleDowIDAgYXV0bztmbGV4LWZsb3c6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtvdmVyZmxvdy14OmF1dG87cGFkZGluZzo4cHggMjBweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWF7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LndyYXAtQmQwNUJqVWEubmV3U3R5bGVzLUJkMDVCalVhOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWEubW9iaWxlLUJkMDVCalVhe2ZsZXgtZmxvdzp1bnNldH0udGV4dC1CZDA1QmpVYXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5leGNoYW5nZS1CZDA1QmpVYSwudGV4dC1CZDA1QmpVYXtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmV4Y2hhbmdlLUJkMDVCalVhey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4fS5maWx0ZXJJdGVtLUJkMDVCalVhe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwLUJkMDVCalVhe21hcmdpbi1pbmxpbmUtZW5kOjhweH0uZW1wdHlTcGFjZS1CZDA1QmpVYXtmbGV4LXNocmluazowO2hlaWdodDo4cHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzEtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8yLWs1MU46dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzQtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWs1MU46dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLV8xLWs1MU46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMi1rNTFOOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzMtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzQtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtbGlnaHQtcl9mNVFhbld7NTAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCl9fUBrZXlmcmFtZXMgaGlnaGxpZ2h0LWFuaW1hdGlvbi10aGVtZS1kYXJrLXJfZjVRYW5XezUwJXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCl9fS5pdGVtUm93LXJfZjVRYW5Xe2Rpc3BsYXk6Y29udGVudHN9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjUycHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVzpoYXMoLmNvbXBvc2l0ZURlc2NyaXB0aW9uLXJfZjVRYW5XKXtoZWlnaHQ6NzBweH19Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJX0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuV3tmbGV4OjEgMSBhdXRvO21heC13aWR0aDpub25lO3BhZGRpbmctaW5saW5lLWVuZDoxNnB4fS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZGVzY3JpcHRpb24tcl9mNVFhbld7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuV3tjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxN3B4O2xpbmUtaGVpZ2h0OjE3cHg7cGFkZGluZy1pbmxpbmUtZW5kOjB9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuY29tcG9zaXRlRGVzY3JpcHRpb24tcl9mNVFhbld7aGVpZ2h0OmF1dG99fS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZmxhZy1yX2Y1UWFuV3ttYXJnaW4taW5saW5lLXN0YXJ0OjhweH0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLmV4Y2hhbmdlRGVzY3JpcHRpb24tcl9mNVFhbld7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5leGNoYW5nZU5hbWUtcl9mNVFhblcsLml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5tYXJrZXRUeXBlLXJfZjVRYW5Xe3RleHQtYWxpZ246ZW5kfS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZXhjaGFuZ2VOYW1lLXJfZjVRYW5Xe21hcmdpbi1pbmxpbmUtZW5kOjB9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5tYXJrZXRUeXBlLXJfZjVRYW5Xe2xpbmUtaGVpZ2h0OjE3cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLmFjdGlvbkhhbmRsZVdyYXAtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuc291cmNlLXJfZjVRYW5Xe2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjRweH0uaXRlbVJvdy1yX2Y1UWFuVy5hY3RpdmUtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXIsLml0ZW1Sb3ctcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6MnB4O2JvdHRvbTowO2NvbnRlbnQ6IiI7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxfS5pdGVtUm93LXJfZjVRYW5XLmFjdGl2ZS1yX2Y1UWFuVyAubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVysuY2VsbC1yX2Y1UWFuVzphZnRlciwuaXRlbVJvdy1yX2Y1UWFuVy5zZWxlY3RlZC1yX2Y1UWFuVyAubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVysuY2VsbC1yX2Y1UWFuVzphZnRlcntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czo0cHg7Ym9yZGVyLWlubGluZS1zdGFydC13aWR0aDoycHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo0cHh9Lml0ZW1Sb3ctcl9mNVFhblcuYWN0aXZlLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5XOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9Lml0ZW1Sb3ctcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50KX0uaXRlbVJvdy1yX2Y1UWFuVzphY3RpdmU6bm90KDpmb2N1cy13aXRoaW4pIC5jZWxsLXJfZjVRYW5Xe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uaXRlbVJvdy1yX2Y1UWFuVy5leHBhbmRlZC1yX2Y1UWFuVyAuY2VsbC1yX2Y1UWFuVywuaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhbld7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKTstLXR2LWNvbG9yLWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKX0uaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLm5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhblc6YmVmb3Jle2NvbnRlbnQ6IiJ9Lml0ZW1Sb3ctcl9mNVFhblcuaG92ZXItcl9mNVFhblcgLmNlbGwtcl9mNVFhbld7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbVJvdy1yX2Y1UWFuVzpob3ZlciAuY2VsbC1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCl9fS5pdGVtUm93LXJfZjVRYW5XLmhvdmVyLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZSwuaXRlbVJvdy1yX2Y1UWFuVy5ob3Zlci1yX2Y1UWFuVysubmVzdGVkLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtUm93LXJfZjVRYW5XOmhvdmVyIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZSwuaXRlbVJvdy1yX2Y1UWFuVzpob3ZlcisubmVzdGVkLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9fS5pdGVtUm93LXJfZjVRYW5XLmhpZ2hsaWdodGVkLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2FuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlfS5pdGVtUm93LXJfZjVRYW5XLmhpZ2hsaWdodGVkLXJfZjVRYW5XLmxpZ2h0LXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2FuaW1hdGlvbi1uYW1lOmhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtbGlnaHQtcl9mNVFhbld9Lml0ZW1Sb3ctcl9mNVFhblcuaGlnaGxpZ2h0ZWQtcl9mNVFhblcuZGFyay1yX2Y1UWFuVyAuY2VsbC1yX2Y1UWFuV3thbmltYXRpb24tbmFtZTpoaWdobGlnaHQtYW5pbWF0aW9uLXRoZW1lLWRhcmstcl9mNVFhbld9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtUm93LXJfZjVRYW5XOmhvdmVyIC5tYXJrZWRGbGFnLXJfZjVRYW5Xe2Rpc3BsYXk6ZmxleH19Lml0ZW1Sb3ctcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuV3tkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWlubGluZS1lbmQ6MjRweH0uaXRlbVJvdy1yX2Y1UWFuVyAuaXRlbUluZm9DZWxsLXJfZjVRYW5XLm9mZnNldC1yX2Y1UWFuV3twYWRkaW5nLWlubGluZS1zdGFydDo4cHh9Lml0ZW1Sb3ctcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuVyAuZGVzY3JpcHRpb24tcl9mNVFhbld7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbn0uaXRlbVJvdy1yX2Y1UWFuVyAuaXRlbUluZm9DZWxsLXJfZjVRYW5XIC5kZXNjcmlwdGlvbi1yX2Y1UWFuVy5vZmZzZXQtcl9mNVFhbld7bWFyZ2luLWlubGluZS1zdGFydDo0NHB4fS5pdGVtUm93LXJfZjVRYW5XIC5kZXNjcmlwdGlvbkNlbGwtcl9mNVFhbld7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS5pdGVtUm93LXJfZjVRYW5XIC5kZXNjcmlwdGlvbkNlbGwtcl9mNVFhblcuYWRkaXRpb24tcl9mNVFhbld7Z3JpZC1jb2x1bW46My81fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1pbmxpbmUtZW5kOjIwcHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhbld7bWF4LXdpZHRoOjEyNHB4fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhblc6aGFzKC5tdWx0aXBsZUZsYWdzLXJfZjVRYW5XKXttYXgtd2lkdGg6MTgwcHh9fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhblcuaGlkZGVuLXJfZjVRYW5Xe2Rpc3BsYXk6bm9uZX0uaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLmV4Y2hhbmdlQ2VsbC1yX2Y1UWFuV3twYWRkaW5nLWlubGluZS1lbmQ6NDZweH0uaXRlbVJvdy1yX2Y1UWFuVyAuaG92ZXJDZWxsLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7cGFkZGluZy1pbmxpbmUtZW5kOjIwcHh9Lml0ZW1Sb3ctcl9mNVFhblcgLmNlbGwtcl9mNVFhblcgLmhvdmVyQ2VsbC1yX2Y1UWFuVzphZnRlcntjb250ZW50Om5vbmV9Lm5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhbld7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MH0ubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVzpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKTtoZWlnaHQ6NHB4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMXB4O3dpZHRoOjEycHh9LmFjdGlvbkhhbmRsZVdyYXAtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowfS5hY3Rpb25IYW5kbGVXcmFwLXJfZjVRYW5XLmZpeGVkV2lkdGgtcl9mNVFhbld7d2lkdGg6MjBweH0uZXhwYW5kVG9nZ2xlLXJfZjVRYW5Xe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo2cHggLTJweH0uc3ltYm9sRGVzY3JpcHRpb24tcl9mNVFhblcsLnN5bWJvbFRpdGxlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVy5pbnZhbGlkLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuVy5pbnZhbGlkLXJfZjVRYW5Xe2NvbG9yOnZhcigtLV8wLWs1MU4pfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVyBlbSwuc3ltYm9sVGl0bGUtcl9mNVFhblcgZW17Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2ZvbnQtc3R5bGU6bm9ybWFsfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVy5ub0Rlc2NyaXB0aW9uLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuVy5ub0Rlc2NyaXB0aW9uLXJfZjVRYW5Xe3BhZGRpbmctdG9wOjFweH0uaGlnaGxpZ2h0ZWRUZXh0LXJfZjVRYW5Xe2ZvbnQtd2VpZ2h0OjcwMH0uc3ltYm9sVGl0bGUtcl9mNVFhbld7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5Xe2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjM5cHg7bWFyZ2luLWlubGluZS1lbmQ6YXV0bztwYWRkaW5nLWlubGluZS1lbmQ6MjRweH0uY29tcG9zaXRlRGVzY3JpcHRpb24tcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWF4LXdpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5jb21wb3NpdGVEZXNjcmlwdGlvbi1yX2Y1UWFuV3thbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19LnN5bWJvbERlc2NyaXB0aW9uTWFpbi1yX2Y1UWFuV3tmbGV4LXNocmluazoxO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTtmbGV4LXNocmluazowfS5zeW1ib2xEZXNjcmlwdGlvbkRldGFpbHMtcl9mNVFhblc6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7bWFyZ2luOjAgNHB4fUBtZWRpYSAobWF4LXdpZHRoOjQ0MHB4KXsuc3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9fS5leGNoYW5nZURlc2NyaXB0aW9uLXJfZjVRYW5Xe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59LmZsYWctcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowfS5leGNoYW5nZU5hbWUtcl9mNVFhbld7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lm5hcnJvdy1yX2Y1UWFuV3ttYXgtd2lkdGg6MTAwcHh9LndpZGUtcl9mNVFhbld7bWF4LXdpZHRoOjE4MHB4fS5tYXJrZXRUeXBlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjFweDttYXJnaW4taW5saW5lLWVuZDo4cHh9LmV4Y2hhbmdlTmFtZS1yX2Y1UWFuVywubWFya2V0VHlwZS1yX2Y1UWFuV3t0ZXh0LWFsaWduOnN0YXJ0fS5leGNoYW5nZU5hbWUtcl9mNVFhblcsLm1hcmtldFR5cGUtcl9mNVFhblcsLnN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuV3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmRhdGFNb2RlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjJweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dmVydGljYWwtYWxpZ246dG9wfS5jZWxsLXJfZjVRYW5Xe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MzlweDtpc29sYXRpb246aXNvbGF0ZTtwb3NpdGlvbjpyZWxhdGl2ZX0uY2VsbC1yX2Y1UWFuVzphZnRlcntib3JkZXItd2lkdGg6MH0uYWN0aW9uc0NlbGwtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWlubGluZS1lbmQ6MTJweH0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFjdGlvbi1yX2Y1UWFuV3toZWlnaHQ6MjhweDttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MjhweDstLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1rNTFOKX0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFjdGlvbi1yX2Y1UWFuVy5zZWxlY3RlZC1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZC1ob3Zlcil9LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC50YXJnZXRBY3Rpb24tcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhbld7Y29sb3I6dmFyKC0tXzQtazUxTil9LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC5yZW1vdmVBY3Rpb24tcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhbld7Y29sb3I6dmFyKC0tXzMtazUxTil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hY3Rpb25zQ2VsbC1yX2Y1UWFuVyAucmVtb3ZlQWN0aW9uLXJfZjVRYW5XOmhvdmVye2NvbG9yOnZhcigtLV8zLWs1MU4pfX0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFkZEFjdGlvbi1yX2Y1UWFuV3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC5hZGRBY3Rpb24tcl9mNVFhblc6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9fS5hY3Rpb25zQ2VsbC1yX2Y1UWFuVzphZnRlciwuY2VsbC1yX2Y1UWFuVzpoYXMoKy5lbXB0eUFjdGlvbnMtcl9mNVFhblcpOmFmdGVyLC5jZWxsLXJfZjVRYW5XOmhhcygrLmV4Y2hhbmdlQ2VsbC1yX2Y1UWFuVy5oaWRkZW4tcl9mNVFhblcrLmVtcHR5QWN0aW9ucy1yX2Y1UWFuVyk6YWZ0ZXJ7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjRweDtib3JkZXItaW5saW5lLWVuZC13aWR0aDoycHg7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6NHB4fS5tYXJrZWRGbGFnV3JhcC1yX2Y1UWFuV3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXJrZWRGbGFnV3JhcC1yX2Y1UWFuVy5vZmZzZXQtcl9mNVFhbld7bWFyZ2luLWlubGluZS1zdGFydDotOHB4fS5tYXJrZWRGbGFnLXJfZjVRYW5Xe2Rpc3BsYXk6bm9uZX0ubWFya2VkRmxhZ01vYmlsZS1yX2Y1UWFuV3tkaXNwbGF5OmZsZXh9LmxvZ28tcl9mNVFhbld7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweH0uc291cmNlLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5wcmltYXJ5SWNvbi1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpO2JvcmRlci1yYWRpdXM6NnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaGVhdnkpO2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucHJvbW9CYWRnZS1yX2Y1UWFuV3thbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4taW5saW5lLWVuZDo4cHg7LS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpOy0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjYjEzMWI4LCMyYzIzOTEgMjAlLCMwYjA5MjMgNDAlLCMwYjA5MjMgNjAlLCMyYzIzOTEgODAlLCNiMTMxYjgpfS5wcm9tb0ljb24tcl9mNVFhbld7bWFyZ2luLWlubGluZS1lbmQ6NHB4Oy0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdDoxcHg7LS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodDoxcHh9LndyYXAtRlNYNkFhdFh7Y29udGFpbjpzdHJpY3Q7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0ud3JhcC1GU1g2QWF0WC53YXRjaGxpc3QtRlNYNkFhdFh7cGFkZGluZy10b3A6MH0ud3JhcC1GU1g2QWF0WC5ub0ZlZWQtRlNYNkFhdFh7bWF4LWhlaWdodDo0MHB4fS53cmFwLUZTWDZBYXRYLm5ld1N0eWxlcy1GU1g2QWF0WHttYXgtaGVpZ2h0OjB9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WHtoZWlnaHQ6MTAwJTttYXJnaW4tdG9wOjFweDtvdmVyZmxvdzphdXRvO3Njcm9sbC1wYWRkaW5nLXRvcDo0MHB4fUBtZWRpYSAocG9pbnRlcjpmaW5lKXtAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX19LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WC5ub0ZlZWQtRlNYNkFhdFh7b3ZlcmZsb3c6aGlkZGVufS5saXN0Q29udGFpbmVyLUZTWDZBYXRYLC53YXRjaGxpc3RDb250YWluZXItRlNYNkFhdFh7Ym94LXNpemluZzpib3JkZXItYm94O21heC13aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjZweH0ubGlzdENvbnRhaW5lci1GU1g2QWF0WHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczowZnIgbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50IG1pbi1jb250ZW50O21hcmdpbi10b3A6LTFweDtwYWRkaW5nLXRvcDoxcHh9Lmxpc3RDb250YWluZXItRlNYNkFhdFgubXVsdGlMaW5lSXRlbXNDb250YWluZXItRlNYNkFhdFh7ZGlzcGxheTpibG9ja30ubGlzdENvbnRhaW5lci1GU1g2QWF0WC53aXRoU3Bpbm5lci1GU1g2QWF0WHtwYWRkaW5nLWJvdHRvbTowfS5zcGlubmVyQ29udGFpbmVyLUZTWDZBYXRYe2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2dyaWQtY29sdW1uOjEvLTE7aGVpZ2h0OjQwcHg7bWFyZ2luLWJvdHRvbTo2cHg7cG9zaXRpb246cmVsYXRpdmV9LnNwaW5uZXJDb250YWluZXItRlNYNkFhdFgubGFyZ2VTcGlubmVyLUZTWDZBYXRYe2hlaWdodDo1MnB4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLTlhMkg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC05YTJIOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5vdGhlclN5bWJvbHMtUjFvV21vcE17Y29sb3I6dmFyKC0tXzAtOWEySCk7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxNnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfS5vdGhlclN5bWJvbHMtUjFvV21vcE0ubmV3U3R5bGVzLVIxb1dtb3BNe2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE4cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDttYXJnaW4tYm90dG9tOjEycHh9Lm90aGVyU3ltYm9scy1SMW9XbW9wTS5uZXdTdHlsZXMtUjFvV21vcE0sLm90aGVyU3ltYm9scy1SMW9XbW9wTS5zbWFsbEZvbnQtUjFvV21vcE17Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9Lm90aGVyU3ltYm9scy1SMW9XbW9wTS5zbWFsbEZvbnQtUjFvV21vcE17Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4fS5yZXNldEZpbHRlcnMtUjFvV21vcE17YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6OHB4O2hlaWdodDozNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDoxNnB4fS5ib2xkLVIxb1dtb3BNe2ZvbnQtd2VpZ2h0OjcwMH0uZXhjaGFuZ2VXcmFwLVIxb1dtb3BNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9Lmljb24tUjFvV21vcE17aGVpZ2h0OjE4cHg7bWFyZ2luLWJsb2NrOjAgMnB4O21hcmdpbi1pbmxpbmU6MTBweCA2cHg7d2lkdGg6MThweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTXtmbGV4OjEgMDtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjU0cHg7cGFkZGluZy10b3A6MjRweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTXtzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5ub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5ub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS50b2tlbi1SMW9XbW9wTXtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LnNob3dNZS1SMW9XbW9wTXtib3JkZXItcmFkaXVzOjZweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC0tZDdPOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtLWQ3Tzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VhcmNoLWsyUkJ2TFZNOjpwbGFjZWhvbGRlcnt0ZXh0LXRyYW5zZm9ybTpub25lfS5zZWFyY2gtazJSQnZMVk0udXBwZXJDYXNlLWsyUkJ2TFZNe3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaW5wdXRDb250YWluZXItazJSQnZMVk17cGFkZGluZzowIDIwcHggOHB4fS5zcHJlYWRzLWsyUkJ2TFZNe2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4taW5saW5lLWVuZDo5cHg7cGFkZGluZzowIDVweH0uc3ByZWFkcy1rMlJCdkxWTTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wbGF0Zm9ybS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLWNoYXJ0LXBhZ2UtYmcpKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4fS5idWJibGVzQ29udGFpbmVyLWsyUkJ2TFZNey0tdWktbGliLXJvdW5kLXRhYnMtaG9yLXBhZGRpbmc6MH0uYnViYmxlc0NvbnRhaW5lci1rMlJCdkxWTSAuYnViYmxlcy1rMlJCdkxWTXttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowO21pbi1oZWlnaHQ6Zml0LWNvbnRlbnQ7cGFkZGluZzo4cHggMjBweDt3aWR0aDp1bnNldH0uc3Bpbm5lcldyYXAtazJSQnZMVk17aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uZW1wdHlUZXh0LWsyUkJ2TFZNe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MThweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyOHB4O2NvbG9yOnZhcigtLV8wLS1kN08pO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfUBtZWRpYSAobWF4LWhlaWdodDo0NDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5lbXB0eUljb24tazJSQnZMVk17ZGlzcGxheTpub25lfX0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTXtmbGV4OjEgMDtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjU0cHg7cGFkZGluZy10b3A6MjRweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTXtzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5ub1Jlc3VsdHNEZXNrdG9wLWsyUkJ2TFZNOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5ub1Jlc3VsdHNEZXNrdG9wLWsyUkJ2TFZNOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS50cmFkaW5nRmlsdGVyQnV0dG9uV3JhcC1rMlJCdkxWTXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4fS5kaWFsb2ctc2FiaDFmaDR7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCV9LnRhYmxldERpYWxvZy1zYWJoMWZoNHtoZWlnaHQ6NTYycHg7bWF4LXdpZHRoOjU2MHB4fS5kZXNrdG9wRGlhbG9nLXNhYmgxZmg0e2hlaWdodDo2ODBweDttYXgtd2lkdGg6ODQwcHg7bWluLXdpZHRoOjcxOXB4O3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kZXNrdG9wRGlhbG9nLXNhYmgxZmg0e21heC13aWR0aDo2NDBweDttaW4td2lkdGg6NDgwcHh9fUBtZWRpYSAobWF4LXdpZHRoOjUxOXB4KXsuZGVza3RvcERpYWxvZy1zYWJoMWZoNHttYXgtd2lkdGg6NDc5cHg7bWluLXdpZHRoOjM4MHB4fX0uYmFja0J1dHRvbi1zYWJoMWZoNHttYXJnaW4taW5saW5lLWVuZDoxN3B4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTNweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81247.7059063ba4d3b37302dc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.860Z","timestamp":1785124876860,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81247.7059063ba4d3b37302dc.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-308\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6f60fa1201e9d6a758911cd9daa27d1c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":776,"size_decoded":1087,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (776), with no line terminators","md5":"61f42e8a346b20abe1ee19436587307b","sha1":"2b1289bece80c17f1b05ceeee27a391f85fd14df","sha256":"5540ab6ad033d0c8d744e54bce1762b3c3a26f361e08614893bea5efce561218","sha512":"f13b8d738468b5744d16bbc46db4bf0d7f907f202a52a43d492591b896e8061ec482c18effa0e8fcdf773c4dfcbd05919a21550a62fdce9b2e095f675efb350c","ssdeep":"","tlshash":"c401d623120632e7df76c13cae82d7c56f9a21b548200a0ffc7a9811476b3f94b889d2","first_seen":"2026-06-30T21:57:43.398574Z","last_seen":"2026-07-27T06:24:31.689805Z","times_seen":189,"resource_available":false,"data":"LmFjY2Vzc2libGUtS3RxYV9TelB7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4fS5hY2Nlc3NpYmxlLUt0cWFfU3pQOm5vdCguYWNjZXNzaWJsZS1LdHFhX1N6UC5hY3RpdmUtS3RxYV9TelApOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LmFjY2Vzc2libGUtS3RxYV9TelAuYWN0aXZlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.238Z","timestamp":1785124877238,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-480d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 925e42467b8cf6bfb6eeaa6fbb4b392b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":18445,"size_decoded":8139,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"038623c38228a4865caf89b1ceed9af4","sha1":"fd2acb21c02b96c3c9c1f1081dab960c7031d783","sha256":"b8d3050d5622dc00f843f06bba75b96d7e07f17b7a71a3e5b77c9d30e3c91720","sha512":"dccd582f4658fc2f09410a5304dd63fe7d4e6420b4a961d737904968f4ca733ac1a0ece06f7a4e90ebf80305f0edcfd2a5fb95ea52ea369659b342075df8d55b","ssdeep":"384:he30HE+F6f00MWmgOsLEWioQLsiJrTNk20ptZTEjifF:hJEU6f00yzsYWxQLsiJrTT0ptPF","tlshash":"6282a5cdf5c0b0a75a93b8b040bf128bb23a6940bc5d9130d116f9d57d7a81ea163fad","first_seen":"2026-07-23T14:00:31.677621Z","last_seen":"2026-07-27T06:24:31.632487Z","times_seen":22,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTg1MTJdLHs0ODkwNTcobix0LGUpe2UuZCh0LHskOigpPT5aLEE6KCk9PlIsQjooKT0+TCxDOigpPT5QLEQ6KCk9PnksRTooKT0+QyxGOigpPT5ILEc6KCk9PlEsSDooKT0+ZixJOigpPT5qLEo6KCk9PkQsTDooKT0+VyxNOigpPT5lbixOOigpPT5hbixPOigpPT50bixQOigpPT5xLFE6KCk9PnVuLFI6KCk9PlUsUzooKT0+RyxUOigpPT5fLFU6KCk9PmNuLFY6KCk9PkksVzooKT0+JCxaOigpPT5YLGE6KCk9PkssYTM6KCk9PnJuLGE0OigpPT5vbixiOigpPT5GLGQ6KCk9PnosZTooKT0+TSxmOigpPT5CLGc6KCk9PkosaDooKT0+WSxpOigpPT5BLGo6KCk9PmssazooKT0+dSxsOigpPT5OLG06KCk9PkUsbjooKT0+eCxvOigpPT5kLHA6KCk9PmwscTooKT0+ZyxyOigpPT52LHM6KCk9Pm0sdDooKT0+aSx1OigpPT5zLHY6KCk9PmIseTooKT0+Uyx6OigpPT5UfSk7dmFyIHI9ZSg1NjQ1MjEpLGE9ZSg2NDQzMjApLG89ZSg0NzQxMzYpO2lmKDIxMTghPWUuail2YXIgYz1lKDgyMzcwOSk7dmFyIHU9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG59fSghMCksaT1mdW5jdGlvbigpe307dmFyIGY9ZnVuY3Rpb24obil7cmV0dXJuIG59OyJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5hc3luY0l0ZXJhdG9yJiZTeW1ib2wuYXN5bmNJdGVyYXRvcjt2YXIgbD1mdW5jdGlvbihuLHQpeygwLGEuZGVmYXVsdCkobix0KSxPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiZPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpLmZvckVhY2goKGZ1bmN0aW9uKGUpe25bZV09dFtlXX0pKX0scz1mdW5jdGlvbihuLHQpe3ZhciBlO3JldHVybihlPVtdKS5jb25jYXQuYXBwbHkoZSx0Lm1hcChuKSl9O2Z1bmN0aW9uIHYobix0KXt2YXIgZT1uLmluZGV4T2YodCk7ZT49MCYmbi5zcGxpY2UoZSwxKX1mdW5jdGlvbiBkKG4pe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe3R8fCh0PSEwLG4oKSl9fXZhciBwPWZ1bmN0aW9uKG4pe3Rocm93IG59LGg9ZnVuY3Rpb24obil7cmV0dXJue3ZhbHVlOm4sZG9uZTohMH19O2Z1bmN0aW9uIGcobix0LGUpe3ZvaWQgMD09PXQmJih0PXApLHZvaWQgMD09PWUmJihlPSJpdGVyYXRvciIpO3ZhciByPXttZXRhOntuYW1lOmV9LG5leHQ6bix0aHJvdzp0LHJldHVybjpoLGlzU2FnYUl0ZXJhdG9yOiEwfTtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmKHJbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiByfSkscn1mdW5jdGlvbiB5KG4sdCl7dmFyIGU9dC5zYWdhU3RhY2s7Y29uc29sZS5lcnJvcihuKSxjb25zb2xlLmVycm9yKGUpfXZhciBBPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgRXJyb3IoIlxuICByZWR1eC1zYWdhOiBFcnJvciBjaGVja2luZyBob29rcyBkZXRlY3RlZCBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnXG4gIGluIHJlZHV4LXNhZ2EgY29kZSBhbmQgbm90IHlvdXJzLiBUaGFua3MgZm9yIHJlcG9ydGluZyB0aGlzIGluIHRoZSBwcm9qZWN0J3MgZ2l0aHViIHJlcG8uXG4gIEVycm9yOiAiK24rIlxuIil9LEU9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmFwcGx5KG51bGwsbmV3IEFycmF5KG4pKX0sQz1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4oT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5TQUdBX0FDVElPTix7dmFsdWU6ITB9KSl9fSxUPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ci5URVJNSU5BVEV9LFM9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1yLlRBU0tfQ0FOQ0VMfSxtPWZ1bmN0aW9uKG4pe3JldHVybiBUKG4pfHxTKG4pfTtmdW5jdGlvbiBOKG4sdCl7dmFyIGU9T2JqZWN0LmtleXMobikscj1lLmxlbmd0aDt2YXIgYSxjPTAsdT0oMCxvLmFycmF5KShuKT9FKHIpOnt9LGY9e307cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGU9ZnVuY3Rpb24oZSxvKXthfHwob3x8bShlKT8odC5jYW5jZWwoKSx0KGUsbykpOih1W25dPWUsKytjPT09ciYmKGE9ITAsdCh1KSkpKX07ZS5jYW5jZWw9aSxmW25dPWV9KSksdC5jYW5jZWw9ZnVuY3Rpb24oKXthfHwoYT0hMCxlLmZvckVhY2goKGZ1bmN0aW9uKG4pe3JldHVybiBmW25dLmNhbmNlbCgpfSkpKX0sZn1mdW5jdGlvbiBrKG4pe3JldHVybntuYW1lOm4ubmFtZXx8ImFub255bW91cyIsbG9jYXRpb246YihuKX19ZnVuY3Rpb24gYihuKXtyZXR1cm4gbltyLlNBR0FfTE9DQVRJT05dfWZ1bmN0aW9uIEwoKXtmb3IodmFyIG49YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShuKSxlPTA7ZTxuO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXQubGVuZ3RoP2Z1bmN0aW9uKG4pe3JldHVybiBufToxPT09dC5sZW5ndGg/dFswXTp0LnJlZHVjZSgoZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbih0LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19KSl9dmFyIHc9e2lzRW1wdHk6dSxwdXQ6aSx0YWtlOml9O2Z1bmN0aW9uIE8obix0KXt2b2lkIDA9PT1uJiYobj0xMCk7dmFyIGU9bmV3IEFycmF5KG4pLHI9MCxhPTAsbz0wLGM9ZnVuY3Rpb24odCl7ZVthXT10LGE9KGErMSklbixyKyt9LHU9ZnVuY3Rpb24oKXtpZigwIT1yKXt2YXIgdD1lW29dO3JldHVybiBlW29dPW51bGwsci0tLG89KG8rMSklbix0fX0saT1mdW5jdGlvbigpe2Zvcih2YXIgbj1bXTtyOyluLnB1c2godSgpKTtyZXR1cm4gbn07cmV0dXJue2lzRW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gMD09cn0scHV0OmZ1bmN0aW9uKHUpe3ZhciBmO2lmKHI8biljKHUpO2Vsc2Ugc3dpdGNoKHQpe2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoIkNoYW5uZWwncyBCdWZmZXIgb3ZlcmZsb3chIik7Y2FzZSAzOmVbYV09dSxvPWE9KGErMSklbjticmVhaztjYXNlIDQ6Zj0yKm4sZT1pKCkscj1lLmxlbmd0aCxhPWUubGVuZ3RoLG89MCxlLmxlbmd0aD1mLG49ZixjKHUpfX0sdGFrZTp1LGZsdXNoOml9fXZhciB4PWZ1bmN0aW9uKCl7cmV0dXJuIHcKfSxJPWZ1bmN0aW9uKG4pe3JldHVybiBPKG4sMyl9LE09ZnVuY3Rpb24obil7cmV0dXJuIE8obiw0KX0saj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxub25lOngsZml4ZWQ6ZnVuY3Rpb24obil7cmV0dXJuIE8obiwxKX0sZHJvcHBpbmc6ZnVuY3Rpb24obil7cmV0dXJuIE8obiwyKX0sc2xpZGluZzpJLGV4cGFuZGluZzpNfSksXz0iVEFLRSIscT0iUFVUIixSPSJBTEwiLFU9IlJBQ0UiLFA9IkNBTEwiLEs9IkNQUyIsSD0iRk9SSyIsRD0iSk9JTiIsRj0iQ0FOQ0VMIixHPSJTRUxFQ1QiLHo9IkFDVElPTl9DSEFOTkVMIixCPSJDQU5DRUxMRUQiLEo9IkZMVVNIIixRPSJHRVRfQ09OVEVYVCIsWT0iU0VUX0NPTlRFWFQiLFY9ZnVuY3Rpb24obix0KXt2YXIgZTtyZXR1cm4oZT17fSlbci5JT109ITAsZS5jb21iaW5hdG9yPSExLGUudHlwZT1uLGUucGF5bG9hZD10LGV9O2Z1bmN0aW9uIFcobix0KXtyZXR1cm4gdm9pZCAwPT09biYmKG49IioiKSwoMCxvLnBhdHRlcm4pKG4pPygoMCxvLm5vdFVuZGVmKSh0KSYmY29uc29sZS53YXJuKCJ0YWtlKHBhdHRlcm4pIHRha2VzIG9uZSBhcmd1bWVudCBidXQgdHdvIHdlcmUgcHJvdmlkZWQuIENvbnNpZGVyIHBhc3NpbmcgYW4gYXJyYXkgZm9yIGxpc3RlbmluZyB0byBzZXZlcmFsIGFjdGlvbiB0eXBlcyIpLFYoXyx7cGF0dGVybjpufSkpOigwLG8ubXVsdGljYXN0KShuKSYmKDAsby5ub3RVbmRlZikodCkmJigwLG8ucGF0dGVybikodCk/VihfLHtjaGFubmVsOm4scGF0dGVybjp0fSk6KDAsby5jaGFubmVsKShuKT8oKDAsby5ub3RVbmRlZikodCkmJmNvbnNvbGUud2FybigidGFrZShjaGFubmVsKSB0YWtlcyBvbmUgYXJndW1lbnQgYnV0IHR3byB3ZXJlIHByb3ZpZGVkLiBTZWNvbmQgYXJndW1lbnQgaXMgaWdub3JlZC4iKSxWKF8se2NoYW5uZWw6bn0pKTp2b2lkIDB9ZnVuY3Rpb24gWChuLHQpe3JldHVybigwLG8udW5kZWYpKHQpJiYodD1uLG49dm9pZCAwKSxWKHEse2NoYW5uZWw6bixhY3Rpb246dH0pfWZ1bmN0aW9uIFoobil7dmFyIHQ9VihSLG4pO3JldHVybiB0LmNvbWJpbmF0b3I9ITAsdH1mdW5jdGlvbiAkKG4pe3ZhciB0PVYoVSxuKTtyZXR1cm4gdC5jb21iaW5hdG9yPSEwLHR9ZnVuY3Rpb24gbm4obix0KXt2YXIgZSxyPW51bGw7cmV0dXJuKDAsby5mdW5jKShuKT9lPW46KCgwLG8uYXJyYXkpKG4pPyhyPW5bMF0sZT1uWzFdKToocj1uLmNvbnRleHQsZT1uLmZuKSxyJiYoMCxvLnN0cmluZykoZSkmJigwLG8uZnVuYykocltlXSkmJihlPXJbZV0pKSx7Y29udGV4dDpyLGZuOmUsYXJnczp0fX1mdW5jdGlvbiB0bihuKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKWVbci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIFYoUCxubihuLGUpKX1mdW5jdGlvbiBlbihuKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKWVbci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIFYoSCxubihuLGUpKX1mdW5jdGlvbiBybihuKXtyZXR1cm4gVihELG4pfWZ1bmN0aW9uIGFuKG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1yLlNFTEZfQ0FOQ0VMTEFUSU9OKSxWKEYsbil9ZnVuY3Rpb24gb24obil7dm9pZCAwPT09biYmKG49Zik7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodD4xP3QtMTowKSxyPTE7cjx0O3IrKyllW3ItMV09YXJndW1lbnRzW3JdO3JldHVybiBWKEcse3NlbGVjdG9yOm4sYXJnczplfSl9ZnVuY3Rpb24gY24obix0KXtyZXR1cm4gVih6LHtwYXR0ZXJuOm4sYnVmZmVyOnR9KX12YXIgdW49MjExOCE9ZS5qP3RuLmJpbmQobnVsbCxjLmRlZmF1bHQpOm51bGx9LDgyMzcwOShuLHQsZSl7aWYoZS5kKHQse2RlZmF1bHQ6KCk9PmF9KSwyMTE4IT1lLmopdmFyIHI9ZSg1NjQ1MjEpO2NvbnN0IGE9MjExOCE9ZS5qP2Z1bmN0aW9uKG4sdCl7dmFyIGU7dm9pZCAwPT09dCYmKHQ9ITApO3ZhciBhPW5ldyBQcm9taXNlKChmdW5jdGlvbihyKXtlPXNldFRpbWVvdXQocixNYXRoLm1pbigyMTQ3NDgzNjQ3LG4pLHQpfSkpO3JldHVybiBhW3IuQ0FOQ0VMXT1mdW5jdGlvbigpe2NsZWFyVGltZW91dChlKX0sYX06bnVsbH0sNTY0NTIxKG4sdCxlKXtlLmQodCx7Q0FOQ0VMOigpPT5hLENIQU5ORUxfRU5EX1RZUEU6KCk9Pm8sSU86KCk9PmMsTUFUQ0g6KCk9PnUsTVVMVElDQVNUOigpPT5pLFNBR0FfQUNUSU9OOigpPT5mLFNBR0FfTE9DQVRJT046KCk9PnAsU0VMRl9DQU5DRUxMQVRJT046KCk9PmwsVEFTSzooKT0+cyxUQVNLX0NBTkNFTDooKT0+dixURVJNSU5BVEU6KCk9PmR9KTt2YXIgcj1mdW5jdGlvbihuKXtyZXR1cm4iQEByZWR1eC1zYWdhLyIrbn0sYT1yKCJDQU5DRUxfUFJPTUlTRSIpLG89cigiQ0hBTk5FTF9FTkQiKSxjPXIoIklPIiksdT1yKCJNQVRDSCIpLGk9cigiTVVMVElDQVNUIiksZj1yKCJTQUdBX0FDVElPTiIpLGw9cigiU0VMRl9DQU5DRUxMQVRJT04iKSxzPXIoIlRBU0siKSx2PXIoIlRBU0tfQ0FOQ0VMIiksZD1yKCJURVJNSU5BVEUiKSxwPXIoIkxPQ0FUSU9OIil9LDg5NDQ4KG4sdCxlKXtlLmQodCx7YnVmZmVyczooKT0+dS5JLGRlZmF1bHQ6KCk9PlEsZXZlbnRDaGFubmVsOigpPT5MfSk7dmFyIHI9ZSg1NjQ1MjEpLGE9ZSg2NDQzMjApLG89ZSg3ODg5MTUpLGM9ZSg0NzQxMzYpLHU9ZSg0ODkwNTcpO2Z1bmN0aW9uIGkoKXt2YXIgbj17fTtyZXR1cm4gbi5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe24ucmVzb2x2ZT10LG4ucmVqZWN0PWV9KSksbn1jb25zdCBmPWk7dmFyIGw9W10scz0wO2Z1bmN0aW9uIHYobil7dHJ5e2goKSxuKCl9ZmluYWxseXtnKCl9fWZ1bmN0aW9uIGQobil7bC5wdXNoKG4pLHN8fChoKCkseSgpKX1mdW5jdGlvbiBwKG4pe3RyeXtyZXR1cm4gaCgpLG4oKX1maW5hbGx5e3koKX19ZnVuY3Rpb24gaCgpe3MrK31mdW5jdGlvbiBnKCl7cy0tfWZ1bmN0aW9uIHkoKXt2YXIgbjtmb3IoZygpOyFzJiZ2b2lkIDAhPT0obj1sLnNoaWZ0KCkpOyl2KG4pfXZhciBBPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXsKcmV0dXJuIG4uc29tZSgoZnVuY3Rpb24obil7cmV0dXJuIG0obikodCl9KSl9fSxFPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbih0KX19LEM9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LnR5cGU9PT1TdHJpbmcobil9fSxUPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlPT09bn19LFM9ZnVuY3Rpb24oKXtyZXR1cm4gdS5rfTtmdW5jdGlvbiBtKG4pe3ZhciB0PSIqIj09PW4/UzooMCxjLnN0cmluZykobik/QzooMCxjLmFycmF5KShuKT9BOigwLGMuc3RyaW5nYWJsZUZ1bmMpKG4pP0M6KDAsYy5mdW5jKShuKT9FOigwLGMuc3ltYm9sKShuKT9UOm51bGw7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBhdHRlcm46ICIrbik7cmV0dXJuIHQobil9dmFyIE49e3R5cGU6ci5DSEFOTkVMX0VORF9UWVBFfSxrPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnR5cGU9PT1yLkNIQU5ORUxfRU5EX1RZUEV9O2Z1bmN0aW9uIGIobil7dm9pZCAwPT09biYmKG49KDAsdS5lKSgpKTt2YXIgdD0hMSxlPVtdO3JldHVybnt0YWtlOmZ1bmN0aW9uKHIpe3QmJm4uaXNFbXB0eSgpP3IoTik6bi5pc0VtcHR5KCk/KGUucHVzaChyKSxyLmNhbmNlbD1mdW5jdGlvbigpeygwLHUucikoZSxyKX0pOnIobi50YWtlKCkpfSxwdXQ6ZnVuY3Rpb24ocil7aWYoIXQpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gbi5wdXQocik7ZS5zaGlmdCgpKHIpfX0sZmx1c2g6ZnVuY3Rpb24oZSl7dCYmbi5pc0VtcHR5KCk/ZShOKTplKG4uZmx1c2goKSl9LGNsb3NlOmZ1bmN0aW9uKCl7aWYoIXQpe3Q9ITA7dmFyIG49ZTtlPVtdO2Zvcih2YXIgcj0wLGE9bi5sZW5ndGg7cjxhO3IrKyl7KDAsbltyXSkoTil9fX19fWZ1bmN0aW9uIEwobix0KXt2b2lkIDA9PT10JiYodD0oMCx1Lm4pKCkpO3ZhciBlLHI9ITEsYT1iKHQpLG89ZnVuY3Rpb24oKXtyfHwocj0hMCwoMCxjLmZ1bmMpKGUpJiZlKCksYS5jbG9zZSgpKX07cmV0dXJuIGU9bigoZnVuY3Rpb24obil7ayhuKT9vKCk6YS5wdXQobil9KSksZT0oMCx1Lm8pKGUpLHImJmUoKSx7dGFrZTphLnRha2UsZmx1c2g6YS5mbHVzaCxjbG9zZTpvfX1mdW5jdGlvbiB3KCl7dmFyIG4sdCxlLGEsbyxjLGk9KHQ9ITEsYT1lPVtdLG89ZnVuY3Rpb24oKXthPT09ZSYmKGE9ZS5zbGljZSgpKX0sYz1mdW5jdGlvbigpe3Q9ITA7dmFyIG49ZT1hO2E9W10sbi5mb3JFYWNoKChmdW5jdGlvbihuKXtuKE4pfSkpfSwobj17fSlbci5NVUxUSUNBU1RdPSEwLG4ucHV0PWZ1bmN0aW9uKG4pe2lmKCF0KWlmKGsobikpYygpO2Vsc2UgZm9yKHZhciBvPWU9YSx1PTAsaT1vLmxlbmd0aDt1PGk7dSsrKXt2YXIgZj1vW3VdO2Zbci5NQVRDSF0obikmJihmLmNhbmNlbCgpLGYobikpfX0sbi50YWtlPWZ1bmN0aW9uKG4sZSl7dm9pZCAwPT09ZSYmKGU9UyksdD9uKE4pOihuW3IuTUFUQ0hdPWUsbygpLGEucHVzaChuKSxuLmNhbmNlbD0oMCx1Lm8pKChmdW5jdGlvbigpe28oKSwoMCx1LnIpKGEsbil9KSkpfSxuLmNsb3NlPWMsbiksZj1pLnB1dDtyZXR1cm4gaS5wdXQ9ZnVuY3Rpb24obil7bltyLlNBR0FfQUNUSU9OXT9mKG4pOmQoKGZ1bmN0aW9uKCl7ZihuKX0pKX0saX1mdW5jdGlvbiBPKG4sdCl7dmFyIGU9bltyLkNBTkNFTF07KDAsYy5mdW5jKShlKSYmKHQuY2FuY2VsPWUpLG4udGhlbih0LChmdW5jdGlvbihuKXt0KG4sITApfSkpfXZhciB4LEk9MCxNPWZ1bmN0aW9uKCl7cmV0dXJuKytJfTtmdW5jdGlvbiBqKG4pe24uaXNSdW5uaW5nKCkmJm4uY2FuY2VsKCl9dmFyIF89KCh4PXt9KVt1LlRdPWZ1bmN0aW9uKG4sdCxlKXt2YXIgYT10LmNoYW5uZWwsbz12b2lkIDA9PT1hP24uY2hhbm5lbDphLHU9dC5wYXR0ZXJuLGk9dC5tYXliZSxmPWZ1bmN0aW9uKG4pe24gaW5zdGFuY2VvZiBFcnJvcj9lKG4sITApOiFrKG4pfHxpP2Uobik6ZShyLlRFUk1JTkFURSl9O3RyeXtvLnRha2UoZiwoMCxjLm5vdFVuZGVmKSh1KT9tKHUpOm51bGwpfWNhdGNoKG4pe3JldHVybiB2b2lkIGUobiwhMCl9ZS5jYW5jZWw9Zi5jYW5jZWx9LHhbdS5QXT1mdW5jdGlvbihuLHQsZSl7dmFyIHI9dC5jaGFubmVsLGE9dC5hY3Rpb24sbz10LnJlc29sdmU7ZCgoZnVuY3Rpb24oKXt2YXIgdDt0cnl7dD0ocj9yLnB1dDpuLmRpc3BhdGNoKShhKX1jYXRjaChuKXtyZXR1cm4gdm9pZCBlKG4sITApfW8mJigwLGMucHJvbWlzZSkodCk/Tyh0LGUpOmUodCl9KSl9LHhbdS5BXT1mdW5jdGlvbihuLHQsZSxyKXt2YXIgYT1yLmRpZ2VzdEVmZmVjdCxvPUksaT1PYmplY3Qua2V5cyh0KTtpZigwIT09aS5sZW5ndGgpe3ZhciBmPSgwLHUubCkodCxlKTtpLmZvckVhY2goKGZ1bmN0aW9uKG4pe2EodFtuXSxvLGZbbl0sbil9KSl9ZWxzZSBlKCgwLGMuYXJyYXkpKHQpP1tdOnt9KX0seFt1LlJdPWZ1bmN0aW9uKG4sdCxlLHIpe3ZhciBhPXIuZGlnZXN0RWZmZWN0LG89SSxpPU9iamVjdC5rZXlzKHQpLGY9KDAsYy5hcnJheSkodCk/KDAsdS5tKShpLmxlbmd0aCk6e30sbD17fSxzPSExO2kuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24odCxyKXtzfHwocnx8KDAsdS5zKSh0KT8oZS5jYW5jZWwoKSxlKHQscikpOihlLmNhbmNlbCgpLHM9ITAsZltuXT10LGUoZikpKX07dC5jYW5jZWw9dS50LGxbbl09dH0pKSxlLmNhbmNlbD1mdW5jdGlvbigpe3N8fChzPSEwLGkuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIGxbbl0uY2FuY2VsKCl9KSkpfSxpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3N8fGEodFtuXSxvLGxbbl0sbil9KSl9LHhbdS5DXT1mdW5jdGlvbihuLHQsZSxyKXt2YXIgYT10LmNvbnRleHQsbz10LmZuLGk9dC5hcmdzLGY9ci50YXNrO3RyeXt2YXIgbD1vLmFwcGx5KGEsaSk7aWYoKDAsYy5wcm9taXNlKShsKSlyZXR1cm4gdm9pZCBPKGwsZSk7aWYoKDAsYy5pdGVyYXRvcikobCkpcmV0dXJuIHZvaWQgeihuLGwsZi5jb250ZXh0LEksKDAsdS5qKShvKSwhMSxlKTtlKGwpfWNhdGNoKG4pe2UobiwhMCl9fSx4W3UuYV09ZnVuY3Rpb24obix0LGUpe3ZhciByPXQuY29udGV4dCxhPXQuZm4sbz10LmFyZ3M7dHJ5e3ZhciB1PWZ1bmN0aW9uKG4sdCl7CigwLGMudW5kZWYpKG4pP2UodCk6ZShuLCEwKX07YS5hcHBseShyLG8uY29uY2F0KHUpKSx1LmNhbmNlbCYmKGUuY2FuY2VsPXUuY2FuY2VsKX1jYXRjaChuKXtlKG4sITApfX0seFt1LkZdPWZ1bmN0aW9uKG4sdCxlLHIpe3ZhciBhPXQuY29udGV4dCxvPXQuZm4saT10LmFyZ3MsZj10LmRldGFjaGVkLGw9ci50YXNrLHM9ZnVuY3Rpb24obil7dmFyIHQ9bi5jb250ZXh0LGU9bi5mbixyPW4uYXJnczt0cnl7dmFyIGE9ZS5hcHBseSh0LHIpO2lmKCgwLGMuaXRlcmF0b3IpKGEpKXJldHVybiBhO3ZhciBvPSExO3JldHVybigwLHUucSkoKGZ1bmN0aW9uKG4pe3JldHVybiBvP3t2YWx1ZTpuLGRvbmU6ITB9OihvPSEwLHt2YWx1ZTphLGRvbmU6ISgwLGMucHJvbWlzZSkoYSl9KX0pKX1jYXRjaChuKXtyZXR1cm4oMCx1LnEpKChmdW5jdGlvbigpe3Rocm93IG59KSl9fSh7Y29udGV4dDphLGZuOm8sYXJnczppfSksdj1mdW5jdGlvbihuLHQpe3JldHVybiBuLmlzU2FnYUl0ZXJhdG9yP3tuYW1lOm4ubWV0YS5uYW1lfTooMCx1LmopKHQpfShzLG8pO3AoKGZ1bmN0aW9uKCl7dmFyIHQ9eihuLHMsbC5jb250ZXh0LEksdixmLHZvaWQgMCk7Zj9lKHQpOnQuaXNSdW5uaW5nKCk/KGwucXVldWUuYWRkVGFzayh0KSxlKHQpKTp0LmlzQWJvcnRlZCgpP2wucXVldWUuYWJvcnQodC5lcnJvcigpKTplKHQpfSkpfSx4W3UuSl09ZnVuY3Rpb24obix0LGUscil7dmFyIGE9ci50YXNrLG89ZnVuY3Rpb24obix0KXtpZihuLmlzUnVubmluZygpKXt2YXIgZT17dGFzazphLGNiOnR9O3QuY2FuY2VsPWZ1bmN0aW9uKCl7bi5pc1J1bm5pbmcoKSYmKDAsdS5yKShuLmpvaW5lcnMsZSl9LG4uam9pbmVycy5wdXNoKGUpfWVsc2Ugbi5pc0Fib3J0ZWQoKT90KG4uZXJyb3IoKSwhMCk6dChuLnJlc3VsdCgpKX07aWYoKDAsYy5hcnJheSkodCkpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gdm9pZCBlKFtdKTt2YXIgaT0oMCx1LmwpKHQsZSk7dC5mb3JFYWNoKChmdW5jdGlvbihuLHQpe28obixpW3RdKX0pKX1lbHNlIG8odCxlKX0seFt1LmJdPWZ1bmN0aW9uKG4sdCxlLGEpe3ZhciBvPWEudGFzazt0PT09ci5TRUxGX0NBTkNFTExBVElPTj9qKG8pOigwLGMuYXJyYXkpKHQpP3QuZm9yRWFjaChqKTpqKHQpLGUoKX0seFt1LlNdPWZ1bmN0aW9uKG4sdCxlKXt2YXIgcj10LnNlbGVjdG9yLGE9dC5hcmdzO3RyeXtlKHIuYXBwbHkodm9pZCAwLFtuLmdldFN0YXRlKCldLmNvbmNhdChhKSkpfWNhdGNoKG4pe2UobiwhMCl9fSx4W3UuZF09ZnVuY3Rpb24obix0LGUpe3ZhciByPXQucGF0dGVybixhPWIodC5idWZmZXIpLG89bShyKSxjPWZ1bmN0aW9uIHQoZSl7ayhlKXx8bi5jaGFubmVsLnRha2UodCxvKSxhLnB1dChlKX0sdT1hLmNsb3NlO2EuY2xvc2U9ZnVuY3Rpb24oKXtjLmNhbmNlbCgpLHUoKX0sbi5jaGFubmVsLnRha2UoYyxvKSxlKGEpfSx4W3UuZl09ZnVuY3Rpb24obix0LGUscil7ZShyLnRhc2suaXNDYW5jZWxsZWQoKSl9LHhbdS5nXT1mdW5jdGlvbihuLHQsZSl7dC5mbHVzaChlKX0seFt1LkddPWZ1bmN0aW9uKG4sdCxlLHIpe2Uoci50YXNrLmNvbnRleHRbdF0pfSx4W3UuaF09ZnVuY3Rpb24obix0LGUscil7dmFyIGE9ci50YXNrOygwLHUucCkoYS5jb250ZXh0LHQpLGUoKX0seCk7ZnVuY3Rpb24gcShuLHQpe3JldHVybiBuKyI/Iit0fWZ1bmN0aW9uIFIobil7dmFyIHQ9bi5uYW1lLGU9bi5sb2NhdGlvbjtyZXR1cm4gZT90KyIgICIrcShlLmZpbGVOYW1lLGUubGluZU51bWJlcik6dH1mdW5jdGlvbiBVKG4pe3ZhciB0PSgwLHUudSkoKGZ1bmN0aW9uKG4pe3JldHVybiBuLmNhbmNlbGxlZFRhc2tzfSksbik7cmV0dXJuIHQubGVuZ3RoP1siVGFza3MgY2FuY2VsbGVkIGR1ZSB0byBlcnJvcjoiXS5jb25jYXQodCkuam9pbigiXG4iKToiIn12YXIgUD1udWxsLEs9W10sSD1mdW5jdGlvbihuKXtuLmNyYXNoZWRFZmZlY3Q9UCxLLnB1c2gobil9LEQ9ZnVuY3Rpb24oKXtQPW51bGwsSy5sZW5ndGg9MH0sRj1mdW5jdGlvbigpe3ZhciBuLHQsZT1LWzBdLHI9Sy5zbGljZSgxKSxhPWUuY3Jhc2hlZEVmZmVjdD8obj1lLmNyYXNoZWRFZmZlY3QsKHQ9KDAsdS52KShuKSk/dC5jb2RlKyIgICIrcSh0LmZpbGVOYW1lLHQubGluZU51bWJlcik6IiIpOm51bGw7cmV0dXJuWyJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGFzayAiK1IoZS5tZXRhKSsoYT8iIFxuIHdoZW4gZXhlY3V0aW5nIGVmZmVjdCAiK2E6IiIpXS5jb25jYXQoci5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybiIgICAgY3JlYXRlZCBieSAiK1Iobi5tZXRhKX0pKSxbVShLKV0pLmpvaW4oIlxuIil9O2Z1bmN0aW9uIEcobix0LGUsYSxvLGMsaSl7dmFyIGw7dm9pZCAwPT09aSYmKGk9dS50KTt2YXIgcyx2LGQ9MCxwPW51bGwsaD1bXSxnPU9iamVjdC5jcmVhdGUoZSkseT1mdW5jdGlvbihuLHQsZSl7dmFyIHIsYT1bXSxvPSExO2Z1bmN0aW9uIGMobil7dCgpLGYoKSxlKG4sITApfWZ1bmN0aW9uIGkodCl7YS5wdXNoKHQpLHQuY29udD1mdW5jdGlvbihpLGYpe298fCgoMCx1LnIpKGEsdCksdC5jb250PXUudCxmP2MoaSk6KHQ9PT1uJiYocj1pKSxhLmxlbmd0aHx8KG89ITAsZShyKSkpKX19ZnVuY3Rpb24gZigpe298fChvPSEwLGEuZm9yRWFjaCgoZnVuY3Rpb24obil7bi5jb250PXUudCxuLmNhbmNlbCgpfSkpLGE9W10pfXJldHVybiBpKG4pLHthZGRUYXNrOmksY2FuY2VsQWxsOmYsYWJvcnQ6YyxnZXRUYXNrczpmdW5jdGlvbigpe3JldHVybiBhfX19KHQsKGZ1bmN0aW9uKCl7aC5wdXNoLmFwcGx5KGgseS5nZXRUYXNrcygpLm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIG4ubWV0YS5uYW1lfSkpKX0pLEEpO2Z1bmN0aW9uIEEodCxlKXtpZihlKXtpZihkPTIsSCh7bWV0YTpvLGNhbmNlbGxlZFRhc2tzOmh9KSxFLmlzUm9vdCl7dmFyIGE9RigpO0QoKSxuLm9uRXJyb3IodCx7c2FnYVN0YWNrOmF9KX12PXQscCYmcC5yZWplY3QodCl9ZWxzZSB0PT09ci5UQVNLX0NBTkNFTD9kPTE6MSE9PWQmJihkPTMpLHM9dCxwJiZwLnJlc29sdmUodCk7RS5jb250KHQsZSksRS5qb2luZXJzLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uY2IodCxlKX0pKSxFLmpvaW5lcnM9bnVsbH0KdmFyIEU9KChsPXt9KVtyLlRBU0tdPSEwLGwuaWQ9YSxsLm1ldGE9byxsLmlzUm9vdD1jLGwuY29udGV4dD1nLGwuam9pbmVycz1bXSxsLnF1ZXVlPXksbC5jYW5jZWw9ZnVuY3Rpb24oKXswPT09ZCYmKGQ9MSx5LmNhbmNlbEFsbCgpLEEoci5UQVNLX0NBTkNFTCwhMSkpfSxsLmNvbnQ9aSxsLmVuZD1BLGwuc2V0Q29udGV4dD1mdW5jdGlvbihuKXsoMCx1LnApKGcsbil9LGwudG9Qcm9taXNlPWZ1bmN0aW9uKCl7cmV0dXJuIHB8fChwPWYoKSwyPT09ZD9wLnJlamVjdCh2KTowIT09ZCYmcC5yZXNvbHZlKHMpKSxwLnByb21pc2V9LGwuaXNSdW5uaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1kfSxsLmlzQ2FuY2VsbGVkPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT1kfHwwPT09ZCYmMT09PXQuc3RhdHVzfSxsLmlzQWJvcnRlZD1mdW5jdGlvbigpe3JldHVybiAyPT09ZH0sbC5yZXN1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gc30sbC5lcnJvcj1mdW5jdGlvbigpe3JldHVybiB2fSxsKTtyZXR1cm4gRX1mdW5jdGlvbiB6KG4sdCxlLGEsbyxpLGYpe3ZhciBsPW4uZmluYWxpemVSdW5FZmZlY3QoKGZ1bmN0aW9uKHQsZSxhKXtpZigoMCxjLnByb21pc2UpKHQpKU8odCxhKTtlbHNlIGlmKCgwLGMuaXRlcmF0b3IpKHQpKXoobix0LHYuY29udGV4dCxlLG8sITEsYSk7ZWxzZSBpZih0JiZ0W3IuSU9dKXsoMCxfW3QudHlwZV0pKG4sdC5wYXlsb2FkLGEsZCl9ZWxzZSBhKHQpfSkpO3AuY2FuY2VsPXUudDt2YXIgcz17bWV0YTpvLGNhbmNlbDpmdW5jdGlvbigpezA9PT1zLnN0YXR1cyYmKHMuc3RhdHVzPTEscChyLlRBU0tfQ0FOQ0VMKSl9LHN0YXR1czowfSx2PUcobixzLGUsYSxvLGksZiksZD17dGFzazp2LGRpZ2VzdEVmZmVjdDpofTtyZXR1cm4gZiYmKGYuY2FuY2VsPXYuY2FuY2VsKSxwKCksdjtmdW5jdGlvbiBwKG4sZSl7dHJ5e3ZhciBvO2U/KG89dC50aHJvdyhuKSxEKCkpOigwLHUueSkobik/KHMuc3RhdHVzPTEscC5jYW5jZWwoKSxvPSgwLGMuZnVuYykodC5yZXR1cm4pP3QucmV0dXJuKHIuVEFTS19DQU5DRUwpOntkb25lOiEwLHZhbHVlOnIuVEFTS19DQU5DRUx9KTpvPSgwLHUueikobik/KDAsYy5mdW5jKSh0LnJldHVybik/dC5yZXR1cm4oKTp7ZG9uZTohMH06dC5uZXh0KG4pLG8uZG9uZT8oMSE9PXMuc3RhdHVzJiYocy5zdGF0dXM9Mykscy5jb250KG8udmFsdWUpKTpoKG8udmFsdWUsYSxwKX1jYXRjaChuKXtpZigxPT09cy5zdGF0dXMpdGhyb3cgbjtzLnN0YXR1cz0yLHMuY29udChuLCEwKX19ZnVuY3Rpb24gaCh0LGUscixhKXt2b2lkIDA9PT1hJiYoYT0iIik7dmFyIG8sYz1NKCk7ZnVuY3Rpb24gaShlLGEpe298fChvPSEwLHIuY2FuY2VsPXUudCxuLnNhZ2FNb25pdG9yJiYoYT9uLnNhZ2FNb25pdG9yLmVmZmVjdFJlamVjdGVkKGMsZSk6bi5zYWdhTW9uaXRvci5lZmZlY3RSZXNvbHZlZChjLGUpKSxhJiZmdW5jdGlvbihuKXtQPW59KHQpLHIoZSxhKSl9bi5zYWdhTW9uaXRvciYmbi5zYWdhTW9uaXRvci5lZmZlY3RUcmlnZ2VyZWQoe2VmZmVjdElkOmMscGFyZW50RWZmZWN0SWQ6ZSxsYWJlbDphLGVmZmVjdDp0fSksaS5jYW5jZWw9dS50LHIuY2FuY2VsPWZ1bmN0aW9uKCl7b3x8KG89ITAsaS5jYW5jZWwoKSxpLmNhbmNlbD11LnQsbi5zYWdhTW9uaXRvciYmbi5zYWdhTW9uaXRvci5lZmZlY3RDYW5jZWxsZWQoYykpfSxsKHQsYyxpKX19ZnVuY3Rpb24gQihuLHQpe3ZhciBlPW4uY2hhbm5lbCxyPXZvaWQgMD09PWU/dygpOmUsYT1uLmRpc3BhdGNoLG89bi5nZXRTdGF0ZSxjPW4uY29udGV4dCxpPXZvaWQgMD09PWM/e306YyxmPW4uc2FnYU1vbml0b3IsbD1uLmVmZmVjdE1pZGRsZXdhcmVzLHM9bi5vbkVycm9yLHY9dm9pZCAwPT09cz91LkQ6cztmb3IodmFyIGQ9YXJndW1lbnRzLmxlbmd0aCxoPW5ldyBBcnJheShkPjI/ZC0yOjApLGc9MjtnPGQ7ZysrKWhbZy0yXT1hcmd1bWVudHNbZ107dmFyIHk9dC5hcHBseSh2b2lkIDAsaCk7dmFyIEEsRT1NKCk7aWYoZiYmKGYucm9vdFNhZ2FTdGFydGVkPWYucm9vdFNhZ2FTdGFydGVkfHx1LnQsZi5lZmZlY3RUcmlnZ2VyZWQ9Zi5lZmZlY3RUcmlnZ2VyZWR8fHUudCxmLmVmZmVjdFJlc29sdmVkPWYuZWZmZWN0UmVzb2x2ZWR8fHUudCxmLmVmZmVjdFJlamVjdGVkPWYuZWZmZWN0UmVqZWN0ZWR8fHUudCxmLmVmZmVjdENhbmNlbGxlZD1mLmVmZmVjdENhbmNlbGxlZHx8dS50LGYuYWN0aW9uRGlzcGF0Y2hlZD1mLmFjdGlvbkRpc3BhdGNoZWR8fHUudCxmLnJvb3RTYWdhU3RhcnRlZCh7ZWZmZWN0SWQ6RSxzYWdhOnQsYXJnczpofSkpLGwpe3ZhciBDPXUuQi5hcHBseSh2b2lkIDAsbCk7QT1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3JldHVybiBDKChmdW5jdGlvbih0KXtyZXR1cm4gbih0LGUscil9KSkodCl9fX1lbHNlIEE9dS5IO3ZhciBUPXtjaGFubmVsOnIsZGlzcGF0Y2g6KDAsdS5FKShhKSxnZXRTdGF0ZTpvLHNhZ2FNb25pdG9yOmYsb25FcnJvcjp2LGZpbmFsaXplUnVuRWZmZWN0OkF9O3JldHVybiBwKChmdW5jdGlvbigpe3ZhciBuPXooVCx5LGksRSwoMCx1LmopKHQpLCEwLHZvaWQgMCk7cmV0dXJuIGYmJmYuZWZmZWN0UmVzb2x2ZWQoRSxuKSxufSkpfWNvbnN0IEo9ZnVuY3Rpb24obil7dmFyIHQsZT12b2lkIDA9PT1uP3t9Om4scj1lLmNvbnRleHQsYz12b2lkIDA9PT1yP3t9OnIsaT1lLmNoYW5uZWwsZj12b2lkIDA9PT1pP3coKTppLGw9ZS5zYWdhTW9uaXRvcixzPSgwLG8uZGVmYXVsdCkoZSxbImNvbnRleHQiLCJjaGFubmVsIiwic2FnYU1vbml0b3IiXSk7ZnVuY3Rpb24gdihuKXt2YXIgZT1uLmdldFN0YXRlLHI9bi5kaXNwYXRjaDtyZXR1cm4gdD1CLmJpbmQobnVsbCwoMCxhLmRlZmF1bHQpKHt9LHMse2NvbnRleHQ6YyxjaGFubmVsOmYsZGlzcGF0Y2g6cixnZXRTdGF0ZTplLHNhZ2FNb25pdG9yOmx9KSksZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe2wmJmwuYWN0aW9uRGlzcGF0Y2hlZCYmbC5hY3Rpb25EaXNwYXRjaGVkKHQpO3ZhciBlPW4odCk7cmV0dXJuIGYucHV0KHQpLGV9fX1yZXR1cm4gdi5ydW49ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX0sCnYuc2V0Q29udGV4dD1mdW5jdGlvbihuKXsoMCx1LnApKGMsbil9LHZ9LFE9Sn0sNjE0ODI1KG4sdCxlKXtlLmQodCx7YWxsOigpPT5hLiQsY2FsbDooKT0+YS5PLGNhbmNlbDooKT0+YS5OLGRlbGF5OigpPT5hLlEsZm9yazooKT0+YS5NLGpvaW46KCk9PmEuYTMscHV0OigpPT5hLloscmFjZTooKT0+YS5XLHNlbGVjdDooKT0+YS5hNCx0YWtlOigpPT5hLkwsdGFrZUV2ZXJ5OigpPT52LHRha2VMYXRlc3Q6KCk9PmQsdGhyb3R0bGU6KCk9PnB9KTt2YXIgcj1lKDQ3NDEzNiksYT1lKDQ4OTA1Nyksbz1mdW5jdGlvbihuKXtyZXR1cm57ZG9uZTohMCx2YWx1ZTpufX0sYz17fTtmdW5jdGlvbiB1KG4pe3JldHVybigwLHIuY2hhbm5lbCkobik/ImNoYW5uZWwiOigwLHIuc3RyaW5nYWJsZUZ1bmMpKG4pP1N0cmluZyhuKTooMCxyLmZ1bmMpKG4pP24ubmFtZTpTdHJpbmcobil9ZnVuY3Rpb24gaShuLHQsZSl7dmFyIHIsdSxpLGY9dDtmdW5jdGlvbiBsKHQsZSl7aWYoZj09PWMpcmV0dXJuIG8odCk7aWYoZSYmIXUpdGhyb3cgZj1jLGU7ciYmcih0KTt2YXIgYT1lP25bdV0oZSk6bltmXSgpO3JldHVybiBmPWEubmV4dFN0YXRlLGk9YS5lZmZlY3Qscj1hLnN0YXRlVXBkYXRlcix1PWEuZXJyb3JTdGF0ZSxmPT09Yz9vKHQpOml9cmV0dXJuKDAsYS5xKShsLChmdW5jdGlvbihuKXtyZXR1cm4gbChudWxsLG4pfSksZSl9ZnVuY3Rpb24gZihuLHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGU+Mj9lLTI6MCksbz0yO288ZTtvKyspcltvLTJdPWFyZ3VtZW50c1tvXTt2YXIgYyxmPXtkb25lOiExLHZhbHVlOigwLGEuTCkobil9LGw9ZnVuY3Rpb24obil7cmV0dXJuIGM9bn07cmV0dXJuIGkoe3ExOmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDpmLHN0YXRlVXBkYXRlcjpsfX0scTI6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMSIsZWZmZWN0OihuPWMse2RvbmU6ITEsdmFsdWU6YS5NLmFwcGx5KHZvaWQgMCxbdF0uY29uY2F0KHIsW25dKSl9KX07dmFyIG59fSwicTEiLCJ0YWtlRXZlcnkoIit1KG4pKyIsICIrdC5uYW1lKyIpIil9ZnVuY3Rpb24gbChuLHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGU+Mj9lLTI6MCksbz0yO288ZTtvKyspcltvLTJdPWFyZ3VtZW50c1tvXTt2YXIgYyxmLGw9e2RvbmU6ITEsdmFsdWU6KDAsYS5MKShuKX0scz1mdW5jdGlvbihuKXtyZXR1cm57ZG9uZTohMSx2YWx1ZTphLk0uYXBwbHkodm9pZCAwLFt0XS5jb25jYXQocixbbl0pKX19LHY9ZnVuY3Rpb24obil7cmV0dXJue2RvbmU6ITEsdmFsdWU6KDAsYS5OKShuKX19LGQ9ZnVuY3Rpb24obil7cmV0dXJuIGM9bn0scD1mdW5jdGlvbihuKXtyZXR1cm4gZj1ufTtyZXR1cm4gaSh7cTE6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMiIsZWZmZWN0Omwsc3RhdGVVcGRhdGVyOnB9fSxxMjpmdW5jdGlvbigpe3JldHVybiBjP3tuZXh0U3RhdGU6InEzIixlZmZlY3Q6dihjKX06e25leHRTdGF0ZToicTEiLGVmZmVjdDpzKGYpLHN0YXRlVXBkYXRlcjpkfX0scTM6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMSIsZWZmZWN0OnMoZiksc3RhdGVVcGRhdGVyOmR9fX0sInExIiwidGFrZUxhdGVzdCgiK3UobikrIiwgIit0Lm5hbWUrIikiKX1mdW5jdGlvbiBzKG4sdCxlKXtmb3IodmFyIG89YXJndW1lbnRzLmxlbmd0aCxjPW5ldyBBcnJheShvPjM/by0zOjApLGY9MztmPG87ZisrKWNbZi0zXT1hcmd1bWVudHNbZl07dmFyIGwscyx2PXtkb25lOiExLHZhbHVlOigwLGEuUSkobil9LGQ9ZnVuY3Rpb24obil7cmV0dXJuIGw9bn0scD1mdW5jdGlvbihuKXtyZXR1cm4gcz1ufSxoPSEoMCxyLmNoYW5uZWwpKHQpO3JldHVybiBofHxwKHQpLGkoe3ExOmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDp7ZG9uZTohMSx2YWx1ZTooMCxhLlUpKHQsKDAsYS5WKSgxKSl9LHN0YXRlVXBkYXRlcjpwfX0scTI6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMyIsZWZmZWN0Ontkb25lOiExLHZhbHVlOigwLGEuTCkocyl9LHN0YXRlVXBkYXRlcjpkfX0scTM6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxNCIsZWZmZWN0OihuPWwse2RvbmU6ITEsdmFsdWU6YS5NLmFwcGx5KHZvaWQgMCxbZV0uY29uY2F0KGMsW25dKSl9KX07dmFyIG59LHE0OmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDp2fX19LGg/InExIjoicTIiLCJ0aHJvdHRsZSgiK3UodCkrIiwgIitlLm5hbWUrIikiKX1mdW5jdGlvbiB2KG4sdCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZT4yP2UtMjowKSxvPTI7bzxlO28rKylyW28tMl09YXJndW1lbnRzW29dO3JldHVybiBhLk0uYXBwbHkodm9pZCAwLFtmLG4sdF0uY29uY2F0KHIpKX1mdW5jdGlvbiBkKG4sdCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZT4yP2UtMjowKSxvPTI7bzxlO28rKylyW28tMl09YXJndW1lbnRzW29dO3JldHVybiBhLk0uYXBwbHkodm9pZCAwLFtsLG4sdF0uY29uY2F0KHIpKX1mdW5jdGlvbiBwKG4sdCxlKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxvPW5ldyBBcnJheShyPjM/ci0zOjApLGM9MztjPHI7YysrKW9bYy0zXT1hcmd1bWVudHNbY107cmV0dXJuIGEuTS5hcHBseSh2b2lkIDAsW3Msbix0LGVdLmNvbmNhdChvKSl9fSw2NDQzMjAobix0LGUpe2Z1bmN0aW9uIHIoKXtyZXR1cm4gcj1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBlPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gZSkoe30pLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKG5bcl09ZVtyXSl9cmV0dXJuIG59LHIuYXBwbHkobnVsbCxhcmd1bWVudHMpfWUuZCh0LHtkZWZhdWx0OigpPT5yfSl9LDc4ODkxNShuLHQsZSl7ZnVuY3Rpb24gcihuLHQpe2lmKG51bGw9PW4pcmV0dXJue307dmFyIGU9e307Zm9yKHZhciByIGluIG4paWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChuLHIpKXsKaWYoLTEhPT10LmluZGV4T2YocikpY29udGludWU7ZVtyXT1uW3JdfXJldHVybiBlfWUuZCh0LHtkZWZhdWx0OigpPT5yfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.253Z","timestamp":1785124877253,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-f1ae\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 04545327e97c14c13c453c2bf8b78083\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":61870,"size_decoded":24219,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8724)","md5":"a33d79b36d31bad99801ac951429ec12","sha1":"0132a8f4734c731690767f7346c30377761aed71","sha256":"42e14e00fdcb59805d9b1fc3225db0713e0a8ce22f25639326da817409380856","sha512":"b85e7f37730215e956573da5116e3901e2dc95b7c20bf9dba114b73817e363a0af560933b8f1193dae05ec6d87310bb3f73d9facec95f9521a846a4a0bacee6f","ssdeep":"768:1VZTM7OTm7FZkgTGJPrOvJ1UKxQcGhXEwpMALDw0Iv6CCVmXRfoUUUh3W//YWXgK:1MT2AbUKuXEgMPCVmpRK","tlshash":"0353f953b3045e4e75abe1e7ce2d8d49978e50a3304ac234f5efaed8229647fd623844","first_seen":"2026-07-24T15:28:44.934306Z","last_seen":"2026-07-27T06:24:31.551152Z","times_seen":21,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2ODQ4MV0sezQ3NDEzNihlLGQsdSl7InVzZSBzdHJpY3QiO3UuZChkLHthcnJheTooKT0+bCxjaGFubmVsOigpPT5mLGZ1bmM6KCk9Pm8saXRlcmF0b3I6KCk9PmksbXVsdGljYXN0OigpPT5wLG5vdFVuZGVmOigpPT5uLHBhdHRlcm46KCk9PnMscHJvbWlzZTooKT0+cixzdHJpbmc6KCk9PmEsc3RyaW5nYWJsZUZ1bmM6KCk9Pm0sc3ltYm9sOigpPT5oLHVuZGVmOigpPT5jfSk7dmFyIHQ9dSg1NjQ1MjEpLGM9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWV9LG49ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWV9LG89ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9LGE9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfSxsPUFycmF5LmlzQXJyYXkscj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmbyhlLnRoZW4pfSxpPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZvKGUubmV4dCkmJm8oZS50aHJvdyl9LHM9ZnVuY3Rpb24gZShkKXtyZXR1cm4gZCYmKGEoZCl8fGgoZCl8fG8oZCl8fGwoZCkmJmQuZXZlcnkoZSkpfSxmPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZvKGUudGFrZSkmJm8oZS5jbG9zZSl9LG09ZnVuY3Rpb24oZSl7cmV0dXJuIG8oZSkmJmUuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIil9LGg9ZnVuY3Rpb24oZSl7cmV0dXJuIEJvb2xlYW4oZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlfSxwPWZ1bmN0aW9uKGUpe3JldHVybiBmKGUpJiZlW3QuTVVMVElDQVNUXX19LDIzNTgyNyhlKXtlLmV4cG9ydHM9e2ljb25XcmFwOiJpY29uV3JhcC1HY3pxM2FMWSIsc2ZXYXJuaW5nSWNvbjoic2ZXYXJuaW5nSWNvbi1HY3pxM2FMWSJ9fSw2OTg1MDEoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1aVVc2YnBSMCJ9fSwxMjc5MShlKXtlLmV4cG9ydHM9e2J1YmJsZXM6ImJ1YmJsZXMtZFJBc1hWdmEiLG11bHRpTGluZToibXVsdGlMaW5lLWRSQXNYVnZhIixidWJibGU6ImJ1YmJsZS1kUkFzWFZ2YSJ9fSw4MTA3ODUoZSl7ZS5leHBvcnRzPXtidWJibGU6ImJ1YmJsZS1BVTloT3dFcyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLUFVOWhPd0VzIixjb250ZW50OiJjb250ZW50LUFVOWhPd0VzIiwiYXBwZWFyYW5jZS1kZWZhdWx0IjoiYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzIixhY3RpdmU6ImFjdGl2ZS1BVTloT3dFcyIsZ3JheToiZ3JheS1BVTloT3dFcyIscmVkOiJyZWQtQVU5aE93RXMiLGJsdWU6ImJsdWUtQVU5aE93RXMiLGdyZWVuOiJncmVlbi1BVTloT3dFcyIsb3JhbmdlOiJvcmFuZ2UtQVU5aE93RXMiLHB1cnBsZToicHVycGxlLUFVOWhPd0VzIixjeWFuOiJjeWFuLUFVOWhPd0VzIixwaW5rOiJwaW5rLUFVOWhPd0VzIiwiYXBwZWFyYW5jZS10ZXh0IjoiYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzIiwiZm9udFNpemUtcyI6ImZvbnRTaXplLXMtQVU5aE93RXMiLCJmb250U2l6ZS1tIjoiZm9udFNpemUtbS1BVTloT3dFcyIsInNpemUtbSI6InNpemUtbS1BVTloT3dFcyIsInNpemUtbCI6InNpemUtbC1BVTloT3dFcyJ9fSw5MjEwMzEoZSl7ZS5leHBvcnRzPXtzeW1ib2xMaXN0OiJzeW1ib2xMaXN0LVJveWpBbVI0In19LDg1NjQwMChlKXtlLmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLWlpcWhEY2NzIix0YWJsZXREaWFsb2c6InRhYmxldERpYWxvZy1paXFoRGNjcyIsZGVza3RvcERpYWxvZzoiZGVza3RvcERpYWxvZy1paXFoRGNjcyJ9fSw0MjgwOTcoZSl7ZS5leHBvcnRzPXtlbW9qaToiZW1vamktQnNFUkdjWjEiLGNsZWFyQnV0dG9uOiJjbGVhckJ1dHRvbi1Cc0VSR2NaMSJ9fSw0MDIyMyhlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItbXowODY2TTIiLGhvdmVyZWQ6ImhvdmVyZWQtbXowODY2TTIifX0sOTk1ODUxKGUpe2UuZXhwb3J0cz17ZW1vamlXcmFwOiJlbW9qaVdyYXAtUjJDVHBtSHIiLGVtb2ppOiJlbW9qaS1SMkNUcG1IciIsdG9vbHRpcEVtb2ppOiJ0b29sdGlwRW1vamktUjJDVHBtSHIiLHRvb2x0aXBFbW9qaVdyYXA6InRvb2x0aXBFbW9qaVdyYXAtUjJDVHBtSHIifX0sMjI4NTgxKGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tdzZsVmVfb0kiLGhvdmVyZWQ6ImhvdmVyZWQtdzZsVmVfb0kiLGRpc2FibGVkOiJkaXNhYmxlZC13NmxWZV9vSSJ9fSw1MDg3NDcoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7U1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0U6KCk9PnR9KTtjb25zdCB0PSgwLHUoNDczMDY4KS5jcmVhdGVTZXJ2aWNlRGVzY3JpcHRvcikoIlN5bWJvbExpc3RSZXBvc2l0b3J5QmFja2VuZCIpfSwyNTMyNShlLGQsdSl7InVzZSBzdHJpY3QiO3UuZChkLHtTeW1ib2xTZWFyY2hXYXRjaGxpc3RDb250ZXh0OigpPT5ufSk7dmFyIHQsYz11KDc3OTQ3NCk7IWZ1bmN0aW9uKGUpe2VbZS5BZGQ9MF09IkFkZCIsZVtlLkZpbmQ9MV09IkZpbmQiLGVbZS5SZW1vdmU9Ml09IlJlbW92ZSJ9KHR8fCh0PXt9KSk7Y29uc3Qgbj1jLmNyZWF0ZUNvbnRleHQobnVsbCl9LDgyODc0NyhlLGQsdSl7InVzZSBzdHJpY3QiO3UucihkKSx1LmQoZCx7Q29tcG9uZW50czooKT0+UmUsc2hvd0RlZmF1bHRTZWFyY2hEaWFsb2c6KCk9Pl9lLHNob3dTeW1ib2xTZWFyY2hJdGVtc0RpYWxvZzooKT0+bX0pO3ZhciB0PXUoMjI1Mjk4KSxjPXUoNzM4NDU4KSxuPXUoMjQzOTM4KSxvPXUoMjc5NDA1KSxhPXUoNzc5NDc0KSxsPXUoNjA3ODMyKSxyPXUoODYzNDQpLGk9dSg2MTM4NzApLHM9dSg1OTc2NTQpLGY9dSg1NzEzMDApO2Z1bmN0aW9uIG0oZSl7CmNvbnN0e2luaXRpYWxNb2RlOmQ9InN5bWJvbFNlYXJjaCIsYXV0b2ZvY3VzOnU9ITAsZGVmYXVsdFZhbHVlOnQsc2hvd1NwcmVhZEFjdGlvbnM6YyxzZWxlY3RTZWFyY2hPbkluaXQ6bixvblNlYXJjaENvbXBsZXRlOm8sZGlhbG9nVGl0bGU6bSxwbGFjZWhvbGRlcjpoLGZ1bGxzY3JlZW46cCxpbml0aWFsU2NyZWVuOmIsd3JhcHBlcjpnLGRpYWxvZzp2LGNvbnRlbnRJdGVtOlMsb25DbG9zZTp5LG9uT3Blbjp3LGZvb3RlcjpFLHN5bWJvbFR5cGVzOkMsc2VhcmNoSW5wdXQ6eCxlbXB0eVN0YXRlOkksaGlkZU1hcmtlZExpc3RGbGFnOkEsZGlhbG9nV2lkdGg6ej0iYXV0byIsbWFuYWdlcjpULHNob3VsZFJldHVybkZvY3VzOk0sb25TeW1ib2xGaWx0ZXJzUGFyYW1zQ2hhbmdlOmssb25FbXB0eVJlc3VsdHM6RCxjdXN0b21TZWFyY2hTeW1ib2xzOk4sZW5hYmxlT3B0aW9uc0NoYWluOkwsZGlzYWJsZVJlY2VudHM6aixvdmVycmlkZVF1ZXJ5UGFyYW1zOl8saGlkZGVuRmlsdGVySWRzOlIsc2hvd1JlY2VudHM6VyxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6TyxzZWxlY3RlZFN5bWJvbFNldHRpbmdzS2V5OkYsZmlsdGVyVmFsdWVzU2V0dGluZ3NLZXk6SH09ZTtpZihyLmRpYWxvZ3NPcGVuZXJNYW5hZ2VyLmlzT3BlbmVkKCJTeW1ib2xTZWFyY2giKXx8ci5kaWFsb2dzT3BlbmVyTWFuYWdlci5pc09wZW5lZCgiQ2hhbmdlSW50ZXJ2YWxEaWFsb2ciKXx8KDAsaS5pc1NpZ25Nb2RhbE9wZW4pKCkpcmV0dXJuO2NvbnN0IFY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksUD1hLmNyZWF0ZUVsZW1lbnQobC5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6VD8/bnVsbH0sYS5jcmVhdGVFbGVtZW50KHMuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2cse29uQ2xvc2U6VSxpbml0aWFsTW9kZTpkLGRlZmF1bHRWYWx1ZTp0LHNob3dTcHJlYWRBY3Rpb25zOmMsaGlkZU1hcmtlZExpc3RGbGFnOkEsc2VsZWN0U2VhcmNoT25Jbml0Om4sb25TZWFyY2hDb21wbGV0ZTpvLGRpYWxvZ1RpdGxlOm0scGxhY2Vob2xkZXI6aCxmdWxsc2NyZWVuOnAsaW5pdGlhbFNjcmVlbjpiLHdyYXBwZXI6ZyxkaWFsb2c6dixjb250ZW50SXRlbTpTLGZvb3RlcjpFLHN5bWJvbFR5cGVzOkMsc2VhcmNoSW5wdXQ6eCxlbXB0eVN0YXRlOkksYXV0b2ZvY3VzOnUsZGlhbG9nV2lkdGg6eixzaG91bGRSZXR1cm5Gb2N1czpNLG9uU3ltYm9sRmlsdGVyc1BhcmFtc0NoYW5nZTprLG9uRW1wdHlSZXN1bHRzOkQsY3VzdG9tU2VhcmNoU3ltYm9sczpOLGVuYWJsZU9wdGlvbnNDaGFpbjpMLGRpc2FibGVSZWNlbnRzOmosb3ZlcnJpZGVRdWVyeVBhcmFtczpfLGhpZGRlbkZpbHRlcklkczpSLHNob3dSZWNlbnRzOlcsc2VhcmNoSW5pdGlhdGlvblBvaW50Ok8sc2VsZWN0ZWRTeW1ib2xTZXR0aW5nc0tleTpGLGZpbHRlclZhbHVlc1NldHRpbmdzS2V5Okh9KSksQj0oMCxmLmNyZWF0ZVJlYWN0Um9vdCkoUCxWKTtmdW5jdGlvbiBVKCl7Qi51bm1vdW50KCksci5kaWFsb2dzT3BlbmVyTWFuYWdlci5zZXRBc0Nsb3NlZCgiU3ltYm9sU2VhcmNoIikseSYmeSgpfXJldHVybiByLmRpYWxvZ3NPcGVuZXJNYW5hZ2VyLnNldEFzT3BlbmVkKCJTeW1ib2xTZWFyY2giKSx3JiZ3KCkse2Nsb3NlOlV9fXZhciBoLHAsYixnPXUoMjMyMzY0KSx2PXUoOTMwMjMxKSxTPXUoMTM4NjM4KSx5PXUoMzg2OTMxKSx3PXUoOTE0NDg3KSxFPXUubih3KSxDPXUoMzQ1MTE2KSx4PXUoODEwNzg1KTtmdW5jdGlvbiBJKGUpe2NvbnN0e3RpdGxlOmQsaXNBY3RpdmU6dSxpc0FuaW1hdGVkOnQsYWN0aXZlQ29sb3I6YyxzaXplOm49Im0iLGFwcGVhcmFuY2U6bz0iZGVmYXVsdCIsZm9udFNpemU6YT0ibSIsZ3JheVN0eWxlczpsLGNsYXNzTmFtZTpyfT1lO3JldHVybiBFKCkoeC5idWJibGUsdSYmeC5hY3RpdmUsYyYmeFtjXSxkJiYiYXBwbHktY29tbW9uLXRvb2x0aXAiLG4mJnhbYHNpemUtJHtufWBdLGEmJnhbYGZvbnRTaXplLSR7YX1gXSxvJiZ4W2BhcHBlYXJhbmNlLSR7b31gXSx0JiZ4LmFuaW1hdGVkLGwmJnguZ3JheSxyKX1mdW5jdGlvbiBBKGUpe2NvbnN0e2lkOmQsdGl0bGU6dSx0YWJJbmRleDp0LHJvbGU6Yyxjb250ZW50Q2xhc3NOYW1lOm4sY2hpbGRyZW46byxvbkNsaWNrOmwsb25Nb3VzZURvd246cixyZWZlcmVuY2U6aSxncmF5U3R5bGVzOnMsLi4uZn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Li4uKDAsQy5maWx0ZXJBcmlhUHJvcHMpKGYpLC4uLigwLEMuZmlsdGVyRGF0YVByb3BzKShmKSxpZDpkLHRpdGxlOnUsdGFiSW5kZXg6dCxyb2xlOmMsY2xhc3NOYW1lOkkoZSksb25DbGljazpsLG9uTW91c2VEb3duOnIscmVmOml9LGEuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpFKCkoeC5jb250ZW50LG4pfSxvKSl9IWZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtIixlLkxhcmdlPSJsIn0oaHx8KGg9e30pKSxmdW5jdGlvbihlKXtlLkRlZmF1bHQ9ImRlZmF1bHQiLGUuVGV4dD0idGV4dCJ9KHB8fChwPXt9KSksZnVuY3Rpb24oZSl7ZS5TbWFsbD0icyIsZS5NZWRpdW09Im0ifShifHwoYj17fSkpO3ZhciB6PXUoMTI3OTEpO2Z1bmN0aW9uIFQoZSl7Y29uc3R7Y2xhc3NOYW1lOmQsaXRlbUNsYXNzTmFtZTp1LGl0ZW1Db250ZW50Q2xhc3NOYW1lOnQsaXRlbXM6YyxnZXRJdGVtVGl0bGU6bixnZXRJdGVtVG9vbHRpcDpvLGdldEl0ZW1LZXk6bCxjaGVja0l0ZW1Jc0FjdGl2ZTpyLGdldEl0ZW1Db2xvcjppLG9uQnViYmxlQ2xpY2s6cyxtdWx0aWxpbmU6ZixjaGlsZHJlbjptLEJ1YmJsZUNvbXBvbmVudDpoPUEscmVmZXJlbmNlOnAsZm9udFNpemU6YixncmF5U3R5bGVzOmd9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkUoKShkLHouYnViYmxlcyxmJiZ6Lm11bHRpTGluZSkscmVmOnB9LGMubWFwKCgoZSxkKT0+YS5jcmVhdGVFbGVtZW50KGgse2tleTpsP2woZSk6ZCxpZDpsP2woZSk6ZC50b1N0cmluZygpLGNsYXNzTmFtZTpFKCkoei5idWJibGUsdSksY29udGVudENsYXNzTmFtZTp0LG9uQ2xpY2s6ZnVuY3Rpb24oKXtzKGUpfSxvbk1vdXNlRG93bjpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9LAppc0FjdGl2ZTohIXImJnIoZSksYWN0aXZlQ29sb3I6aT9pKGUpOnZvaWQgMCxmb250U2l6ZTpiLHRpdGxlOm8/byhlKTp2b2lkIDAsZ3JheVN0eWxlczpnfSxuKGUpKSkpLG0pfWNvbnN0IE09bmV3IFNldChbInR5cGUiLCJzaG9ydF9uYW1lIiwiZXhjaGFuZ2UiLCJ1cGRhdGVfbW9kZSIsImxvZ28iLCJjdXJyZW5jeV9jb2RlIiwidHlwZXNwZWNzIiwicHJvX25hbWUiLCJsYW5ndWFnZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiJdKTt2YXIgaz11KDIwMTk2MSksRD11KDQ1NjcwNSksTj11KDkxOTk4NSksTD11KDkyOTQ4OCksaj11KDEzNjYzKSxfPXUoNzgzMjU0KSxSPXUoNTI4Mzk2KSxXPXUoMzQ0MTAzKSxPPXUoNjk3NDcyKSxGPXUoNjY0Mzg2KSxIPXUoNjQzOTAzKSxWPXUoMjczMzEwKSxQPXUoMTU2ODI5KSxCPXUoMTI4ODE0KTtjb25zdCBVPSgwLHUoNjIzNTExKS5sYXp5VmFsdWUpKCgoKT0+bmV3IEIuUXVvdGVTZXNzaW9uU25hcHNob3Rlcih7bmFtZToic3ltYm9sLXNlYXJjaC13YXRjaGxpc3QiLGZpZWxkczpbLi4uTV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKTt2YXIgRyxLPXUoMTAxNzEyKSwkPXUoNDk4NjUxKSxZPXUoNDc5MzQpLHE9dSg1NjEyMDUpLFo9dSg2MDA1MzgpLEo9dSgyMzU4MjcpO2Z1bmN0aW9uIFEoZSl7Y29uc3R7c3ltYm9sOmQsb25DbGljazpjfT1lLHthY3RpdmVTeW1ib2w6bn09KDAsai51c2VFbnN1cmVkQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLFtvLGxdPSgwLGEudXNlU3RhdGUpKCgoKT0+e2NvbnN0IGU9VSgpLmdldFNuYXBzaG90U3luYyhkLE0pO3JldHVybiBudWxsPT09ZT9HLkxvYWRpbmc6ImVycm9yIj09PWUuc3RhdHVzP0cuSW52YWxpZDpHLlJlc29sdmVkfSkpO2lmKCgwLGEudXNlRWZmZWN0KSgoKCk9PntpZihvPT09Ry5Mb2FkaW5nKXtsZXQgZT0hMDtyZXR1cm4gVSgpLmdldFNuYXBzaG90KGQsTSkudGhlbigoKCk9PntlJiZsKEcuUmVzb2x2ZWQpfSkpLCgpPT5lPSExfXJldHVybigpPT57fX0pLFtdKSxvPT09Ry5Mb2FkaW5nKXJldHVybiBhLmNyZWF0ZUVsZW1lbnQoRi5TeW1ib2xTZWFyY2hEaWFsb2dDb250ZW50SXRlbSx7dGl0bGU6KDAsSC5zYWZlU2hvcnROYW1lKShkKSxkYW5nZXJvdXNEZXNjcmlwdGlvbkhUTUw6IiAiLG9uQ2xpY2s6RSxpc0FjdGl2ZTohMSxoaWRlRXhjaGFuZ2U6ITAsaGlkZU1hcmtlZExpc3RGbGFnOiEwLHNob3J0TmFtZTooMCxILnNhZmVTaG9ydE5hbWUpKGQpfSk7Y29uc3Qgcj1VKCkuZ2V0U25hcHNob3RTeW5jKGQsTSk7aWYobz09PUcuSW52YWxpZHx8bnVsbD09PXJ8fCJlcnJvciI9PT1yLnN0YXR1cylyZXR1cm4gYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0se3RpdGxlOigwLEguc2FmZVNob3J0TmFtZSkoZCksc2hvcnROYW1lOigwLEguc2FmZVNob3J0TmFtZSkoZCksaW52YWxpZDohMH0pO2NvbnN0IGk9bj9uPT09ci52YWx1ZXMucHJvX25hbWU6dm9pZCAwO2lmKCEoMCxZLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIikmJigoMCxLLmlzU2ZRdW90ZURhdGEpKHIpfHwoMCwkLmlzSURDRXhjaGFuZ2UpKCgwLFcuZ2V0RXhjaGFuZ2UpKHIuc3ltYm9sbmFtZSkpKSlyZXR1cm4gYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0se3RpdGxlOmEuY3JlYXRlRWxlbWVudChYLG51bGwsKDAsSC5zYWZlU2hvcnROYW1lKShkKSksZGFuZ2Vyb3VzRGVzY3JpcHRpb25IVE1MOl8udChudWxsLHZvaWQgMCx1KDc0NDg3MCkpLnRvVXBwZXJDYXNlKCksb25DbGljazpFLGlzQWN0aXZlOmksaGlkZUV4Y2hhbmdlOiEwLGhpZGVNYXJrZWRMaXN0RmxhZzohMCxzaG9ydE5hbWU6KDAsSC5zYWZlU2hvcnROYW1lKShkKX0pO2NvbnN0IHM9ci52YWx1ZXMudXBkYXRlX21vZGUse3R5cGU6Zix0eXBlc3BlY3M6bSxzaG9ydF9uYW1lOmgsZXhjaGFuZ2U6cCxsb2dvOmJ9PXIudmFsdWVzLGc9KDAsUi5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKHIudmFsdWVzKSx2PSgwLFcuZ2V0RXhjaGFuZ2UpKGQpLFM9KDAsTy5nZXRFeGNoYW5nZXMpKCkuZmluZCgoZT0+ZS52YWx1ZT09PXYpKSx3PSgwLFAuaGFzQ3J5cHRvVHlwZXNwZWMpKG0/P1tdKT8iY3J5cHRvIjpmO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoRi5TeW1ib2xTZWFyY2hEaWFsb2dDb250ZW50SXRlbSx7dGl0bGU6aCxmdWxsU3ltYm9sTmFtZTpkLGlzRW9kOiJlbmRvZmRheSI9PT1zJiYiZWNvbm9taWMiIT09ZixkYW5nZXJvdXNEZXNjcmlwdGlvbkhUTUw6ZyxvbkNsaWNrOkUsaXNBY3RpdmU6aSxzb3VyY2VMb2dvczpbe2NvdW50cnk6Uz8uY291bnRyeSxwcm92aWRlcklkOlM/LnByb3ZpZGVySWR9XSxleGNoYW5nZU5hbWU6cCxtYXJrZXRUeXBlOncsaGlkZU1hcmtlZExpc3RGbGFnOiEwLGxvZ29EYXRhOmIsdHlwZTpmLHNob3J0TmFtZTooMCxILnNhZmVTaG9ydE5hbWUpKGQpfSk7ZnVuY3Rpb24gRSgpeygwLHkudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk1vYmlsZSBTUyIsIlNlbGVjdCBzeW1ib2wiKSxvIT09Ry5JbnZhbGlkJiZ0Lmxpbmtpbmcuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGQsInN5bWJvbCBzZWFyY2giKSxjJiZjKCl9fWZ1bmN0aW9uIFgoZSl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkouaWNvbldyYXB9LGUuY2hpbGRyZW4sYS5jcmVhdGVFbGVtZW50KFYuSWNvbix7aWNvbjpaLGNsYXNzTmFtZTpKLnNmV2FybmluZ0ljb259KSl9IWZ1bmN0aW9uKGUpe2UuTG9hZGluZz0ibG9hZGluZyIsZS5SZXNvbHZlZD0icmVzb2x2ZWQiLGUuSW52YWxpZD0iaW52YWxpZCJ9KEd8fChHPXt9KSk7dmFyIGVlPXUoNjk4NTAxKTtmdW5jdGlvbiBkZShlKXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZWUuY29udGFpbmVyfSxlLmNoaWxkcmVuKX12YXIgdWU9dSg3MzI1MzMpLHRlPXUoMzY2MjYyKSxjZT11KDQyOTk5MiksbmU9dSg3Nzk5MzkpLG9lPXUoNzYwMzkwKSxhZT11KDUxMDU5OCksbGU9dSg5MjEwMzEpCjtmdW5jdGlvbiByZShlKXtjb25zdFtkLHVdPSgwLGEudXNlU3RhdGUpKFtdKSx7c2VhcmNoUmVmOnQsb25DbG9zZTpjfT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShxLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksW24sb109KDAsYS51c2VTdGF0ZSkobnVsbCksW2wscl09KDAsYS51c2VTdGF0ZSkoW10pLGk9KDAsYS51c2VSZWYpKG51bGwpLHM9KDAsYS51c2VSZWYpKG51bGwpLGY9KDAsYS51c2VNZW1vKSgoKCk9PmQubWFwKChlPT4oMCxMLmlzU2VwYXJhdG9ySXRlbSkoZSk/YS5jcmVhdGVFbGVtZW50KGRlLHtrZXk6ZSxzeW1ib2w6ZSxjaGlsZHJlbjooMCxOLnNlcGFyYXRvclZhbFRvRGlzcGxheVZhbCkoZSl9KTphLmNyZWF0ZUVsZW1lbnQoUSx7a2V5OmUsc3ltYm9sOmUsb25DbGljazpjfSkpKSksW2RdKSxtPSgwLGEudXNlQ2FsbGJhY2spKChlPT4oMCxMLmlzU2VwYXJhdG9ySXRlbSkoZFtlXSk/MzY6dWUuUk9XX0hFSUdIVCksW2RdKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT57bGV0IGUsZD0hMDtyZXR1cm4oMCxELmluaXRTeW1ib2xMaXN0U2VydmljZSkoKS50aGVuKCh1PT57aWYoIWQpcmV0dXJuO2NvbnN0e3N0b3JlOnR9PXUsYz10LmdldFN0YXRlKCksbj0oMCx0ZS5nZXRHbG9iYWxBY3RpdmVJRCkoYyk7KDAsdGUuZ2V0SXNSZWFkeUN1c3RvbUxpc3RzKShjKSYmbnVsbCE9PW4/cChjKTooZT10LnN1YnNjcmliZSgoKCk9PntpZighZClyZXR1cm47Y29uc3QgdT10LmdldFN0YXRlKCksYz0oMCx0ZS5nZXRHbG9iYWxBY3RpdmVJRCkodSk7KDAsdGUuZ2V0SXNSZWFkeUN1c3RvbUxpc3RzKSh1KSYmbnVsbCE9PWMmJigoMCxTLmVuc3VyZURlZmluZWQpKGUpKCkscCh1KSl9KSksdC5kaXNwYXRjaCgoMCxuZS5nZXRDdXN0b21XYXRjaGxpc3RzVGh1bmspKG51bGwpKSx0LmRpc3BhdGNoKCgwLG5lLmdldEFjdGl2ZVdhdGNobGlzdFRodW5rKShudWxsKSkpfSkpLCgpPT57ZD0hMSxlJiZlKCl9fSksW10pLGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsYS5jcmVhdGVFbGVtZW50KFQse2l0ZW1DbGFzc05hbWU6bGUuc3ltYm9sTGlzdCxpdGVtczpsLGdldEl0ZW1UaXRsZTplPT5hLmNyZWF0ZUVsZW1lbnQoYWUuTGVhZGluZ0Vtb2ppVGV4dCx7dGV4dDooMCxOLmdldFRyYW5zbGF0ZWRMaXN0VGl0bGUpKGUpfSksZ2V0SXRlbUtleTplPT5lLmlkLGNoZWNrSXRlbUlzQWN0aXZlOmU9PmUuaWQ9PT1uLGdldEl0ZW1Db2xvcjplPT4iY3VzdG9tIj09PWUudHlwZT9udWxsOmUuY29sb3Isb25CdWJibGVDbGljazpmdW5jdGlvbihlKXtoKGUuaWQsZS5zeW1ib2xzKSwoMCx5LnRyYWNrRXZlbnQpKCJXYXRjaGxpc3QiLCJNb2JpbGUgU1MiLCJTZWxlY3QgbGlzdCIpfSxncmF5U3R5bGVzOiEwfSksYS5jcmVhdGVFbGVtZW50KGsuU3ltYm9sU2VhcmNoRmVlZCx7dmlydHVhbExpc3RLZXk6bnx8dm9pZCAwLGxpc3RXcmFwUmVmOnMsbGlzdFJlZjppLG9uVG91Y2hNb3ZlOmZ1bmN0aW9uKCl7dC5jdXJyZW50Py5ibHVyKCl9LGl0ZW1zOmYsZ2V0SXRlbVNpemU6bX0pKTtmdW5jdGlvbiBoKGUsZCl7Y29uc3QgdD1kLmZpbHRlcigoZT0+ISgwLEwuaXNTZXBhcmF0b3JJdGVtKShlKSkpO1UoKS5nZXRTbmFwc2hvdHNGb3JBbGwodCxNKSxvKGUpLHUoZCksaS5jdXJyZW50Py5zY3JvbGxUbygwKX1mdW5jdGlvbiBwKGUpe2NvbnN0IGQ9KDAsdGUuZ2V0R2xvYmFsQWN0aXZlSUQpKGUpO2lmKCFkKXJldHVybjtjb25zdCB1PVsuLi4oMCxjZS5nZXRNYXJrZWRMaXN0cykoZSksLi4uKDAsdGUuZ2V0Q3VzdG9tTGlzdHMpKGUpXS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUmJmUuc3ltYm9scy5sZW5ndGg+MCkpLnNvcnQoZnVuY3Rpb24oZSl7cmV0dXJuKGQsdSk9PigwLG9lLmlzRGVsZXRlZFN5bWJvbHNMaXN0KShkLmlkKSYmZC5pZCE9PWU/MTooMCxvZS5pc0RlbGV0ZWRTeW1ib2xzTGlzdCkoZC5pZCkmJnUuaWQhPT1lfHxkLmlkPT09ZT8tMTp1LmlkPT09ZT8xOiJjb2xvcmVkIj09PWQudHlwZSYmImNvbG9yZWQiIT09dS50eXBlPy0xOiJjb2xvcmVkIj09PXUudHlwZSYmImNvbG9yZWQiIT09ZC50eXBlPzE6ImN1c3RvbSI9PT1kLnR5cGUmJiJjdXN0b20iPT09dS50eXBlP2QubmFtZS5sb2NhbGVDb21wYXJlKHUubmFtZSk6MH0oZCkpO2lmKHIodSksIXUubGVuZ3RoKXJldHVybiB2b2lkIHQuY3VycmVudD8uZm9jdXMoKTtjb25zdCBjPXUuZmluZCgoZT0+ZS5pZD09PWQpKSxuPXZvaWQgMCE9PWM/Yy5zeW1ib2xzOltdO2lmKG4ubGVuZ3RoKWgoZCxuKTtlbHNle2NvbnN0IGU9dS5maW5kKChlPT5lLnN5bWJvbHMubGVuZ3RoKSk7ZSYmaChlLmlkLGUuc3ltYm9scyl9fX12YXIgaWU9dSgzNjY1OTcpLHNlPXUoNzIwNjc3KSxmZT11KDUwNDA3KTtmdW5jdGlvbiBtZShlKXtjb25zdHttb2RlOmQsc2V0TW9kZTp1LHNlYXJjaFJlZjp0LHNlYXJjaFNwcmVhZHM6YyxzZWxlY3RlZFN5bWJvbFR5cGU6bixzZWxlY3RlZFNlYXJjaFNvdXJjZTpvLGNhY2hlZElucHV0VmFsdWU6bH09KDAsai51c2VFbnN1cmVkQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLHtyZXNldFJlY29tbWVuZHM6cix1cGRhdGVSZWNvbW1lbmRzOmksbGlzdFJlZjpzLHNlYXJjaFRva2VuOmYsaXNCcm9rZXJDaGVja2VkOm0saXNBY2NvdW50RmlsdGVyQ2hlY2tlZDpofT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShmZS5TeW1ib2xTZWFyY2hEaWFsb2dCb2R5Q29udGV4dCk7cmV0dXJuKDAsYS51c2VFZmZlY3QpKCgoKT0+e3ZvaWQgMCE9PWYmJnImJmkmJigiIiE9PWYudHJpbSgpfHxjP2koZixuLG8pOnIoKSxiKCkpfSksW2YsYyxuLG8sbSxoXSksKDAsdi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/YS5jcmVhdGVFbGVtZW50KGllLkRpYWxvZ1NlYXJjaCx7Li4uZSxjaGlsZHJlbjp2b2lkIDAsb25DYW5jZWw6InN5bWJvbFNlYXJjaCI9PT1kP3A6dm9pZCAwfSk6YS5jcmVhdGVFbGVtZW50KHNlLlNlYXJjaElucHV0LHsuLi5lLGVuZFNsb3Q6dm9pZCAwLG9uUmVzZXQ6cCxzaG93Q2xlYXJBbHdheXM6InN5bWJvbFNlYXJjaCI9PT1kfSk7ZnVuY3Rpb24gcCgpe2Uub25SZXNldD8uKCksCiJzeW1ib2xTZWFyY2giPT09ZCYmdC5jdXJyZW50JiZyJiYodC5jdXJyZW50LmJsdXIoKSx1KCJ3YXRjaGxpc3QiKSxyKCksYigpLGwmJmwuY3VycmVudCYmKGwuY3VycmVudD0iIikpfWZ1bmN0aW9uIGIoKXtzPy5jdXJyZW50Py5zY3JvbGxUbygwKX19dmFyIGhlPXUoNzE3MjYzKTtmdW5jdGlvbiBwZShlKXtjb25zdHttb2RlOmQsc3ltYm9sU2VhcmNoQ29udGVudDp0fT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShxLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkse2VtcHR5VGV4dENsYXNzTmFtZTpjLHN5bWJvbFNlYXJjaFN0YXRlOm59PSgwLGoudXNlRW5zdXJlZENvbnRleHQpKGZlLlN5bWJvbFNlYXJjaERpYWxvZ0JvZHlDb250ZXh0KTtyZXR1cm4icmVzZXRGaWx0ZXIiPT09bnx8InJlc2V0VGFiRmlsdGVyIj09PW4/YS5jcmVhdGVFbGVtZW50KGhlLlN5bWJvbFNlYXJjaE5vUmVzdWx0LHsuLi5lLGNsYXNzTmFtZTp2b2lkIDB9KTphLmNyZWF0ZUVsZW1lbnQoaGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjfSxmdW5jdGlvbigpe2lmKCJleGNoYW5nZSI9PT1kKXJldHVybiBfLnQobnVsbCx2b2lkIDAsdSg0NzIyOTkpKTtyZXR1cm4iIiE9PXQudG9rZW4udHJpbSgpP18udChudWxsLHZvaWQgMCx1KDQxNzc3KSk6Xy50KG51bGwsdm9pZCAwLHUoMTkyOTEwKSl9KCkpKX12YXIgYmUsZ2UsdmUsU2U9dSgzNjIyMzkpO2FzeW5jIGZ1bmN0aW9uIHllKGUpe2NvbnN0e3NlYXJjaFR5cGU6ZCxzZWFyY2hSZXN1bHQ6dT0iIixpbnB1dFZhbHVlOnQ9IiJ9PWUsYz1hd2FpdCgwLFNlLmdldFRyYWNrZXIpKCk7YyYmYy50cmFja1NlYXJjaFRvb2xiYXIoZCx0LHUsZnVuY3Rpb24oZSl7Y29uc3R7ZmlsdGVyUGFyYW1zOmQsYWN0aW9uOnUsbnVtYmVySW5MaXN0OnQsdGFyZ2V0OmMsZmVhdHVyZWRTeW1ib2xOYW1lOm4sc2VhcmNoUmVzdWx0Om99PWUsYT17YWN0aW9uOnV9O3ZvaWQgMCE9PWMmJihhLnRhcmdldD1jKTt2b2lkIDAhPT1uJiYoYS5zaG93X2ZlYXR1cmVkX3N5bWJvbD1uLGEuc2VsZWN0X2ZlYXR1cmVkX3N5bWJvbD1uPT09bz9uOm51bGwpO3ZvaWQgMCE9PXQmJihhLnNlbGVjdGVkX2lkeF9vYmplY3Q9dCk7ZC5yZXN1bHRfbGlzdD8ubGVuZ3RoJiYoYS5udW1iZXJfb2ZfcmVzdWx0X2xpc3Q9ZC5yZXN1bHRfbGlzdC5sZW5ndGgpO3JldHVybiBPYmplY3Qua2V5cyhkKS5mb3JFYWNoKChlPT57InJlc3VsdF9saXN0Ij09PWU/ZFtlXT8ubGVuZ3RoJiYoYVtlXT1kW2VdKTphW2VdPWRbZV0/ZFtlXToiQWxsIn0pKSxKU09OLnN0cmluZ2lmeShhKX0oZSkpfSFmdW5jdGlvbihlKXtlLkNsaWNrPSJjbGljayIsZS5FbnRlcj0iZW50ZXIiLGUuRW1wdHk9ImVtcHR5X3Jlc3VsdCJ9KGJlfHwoYmU9e30pKSxmdW5jdGlvbihlKXtlLlJlc3VsdExpc3Q9InJlc3VsdF9saXN0IixlLkNvdW50cnk9ImNvdW50cnkiLGUuRXhjaGFuZ2U9ImV4Y2hhbmdlIn0oZ2V8fChnZT17fSkpLGZ1bmN0aW9uKGUpe2UuRW1wdHlSZXN1bHRNZW51PSJlbXB0eV9yZXN1bHRfX21lbnUiLGUuRW1wdHlSZXN1bHRDaGFydD0iZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9KHZlfHwodmU9e30pKTt2YXIgd2U9dSgyNTMyNSksRWU9dSg0OTI5NzgpLENlPXUoNTU4OTc5KSx4ZT11KDU4Mzg0MiksSWU9dSgzODQxNTQpLEFlPXUoMzg0NDU4KTtmdW5jdGlvbiB6ZShlKXtjb25zdHtpc1NlbGVjdGVkOmQsZXhpc3RJbldhdGNobGlzdDp0LGZpbmRJbldhdGNobGlzdDpjLGFkZFRvV2F0Y2hsaXN0Om4scmVtb3ZlRnJvbVdhdGNobGlzdDpvfT1lLHtzZWxlY3RlZEFjdGlvbjpsfT0oMCxTLmVuc3VyZU5vdE51bGwpKCgwLGEudXNlQ29udGV4dCkod2UuU3ltYm9sU2VhcmNoV2F0Y2hsaXN0Q29udGV4dCkpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLHQ/YS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoRWUuTGlzdEl0ZW1CdXR0b24se2NsYXNzTmFtZTpFKCkoQWUuYWN0aW9uLEFlLnJlbW92ZUFjdGlvbixkJiYyPT09bCYmQWUuc2VsZWN0ZWQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksb25DbGljazpvLGljb246Q2UsdGl0bGU6Xy50KG51bGwsdm9pZCAwLHUoOTY4MDQ3KSl9KSxhLmNyZWF0ZUVsZW1lbnQoRWUuTGlzdEl0ZW1CdXR0b24se2NsYXNzTmFtZTpFKCkoQWUuYWN0aW9uLEFlLnRhcmdldEFjdGlvbixkJiYxPT09bCYmQWUuc2VsZWN0ZWQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksb25DbGljazpjLGljb246SWUsdGl0bGU6Xy50KG51bGwsdm9pZCAwLHUoNzY2NjIyKSl9KSk6YS5jcmVhdGVFbGVtZW50KEVlLkxpc3RJdGVtQnV0dG9uLHtjbGFzc05hbWU6RSgpKEFlLmFjdGlvbixBZS5hZGRBY3Rpb24sZCYmMD09PWwmJkFlLnNlbGVjdGVkLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLG9uQ2xpY2s6bixpY29uOnhlLHRpdGxlOl8udChudWxsLHZvaWQgMCx1KDQxODIzOCkpfSkpfXZhciBUZT11KDIzNTcyNCksTWU9dSg1MTk1MTUpLGtlPXUoNjU0NjM2KTt2YXIgRGU9dSg5NjQzNjEpLE5lPXUoOTgzNjE2KSxMZT11KDg1NjQwMCk7Y29uc3QgamU9KDAsdSgxNTM1ODIpLmlzUGxhdGZvcm1Nb2JpbGUpKCk7ZnVuY3Rpb24gX2UoZSl7Y29uc3QgZD1uZXcgZy5XYXRjaGVkVmFsdWUoe30pLHU9KDAsby5nZXRTeW1ib2xTZWFyY2hDb21wbGV0ZU92ZXJyaWRlRnVuY3Rpb24pKCkse2RlZmF1bHRWYWx1ZTphLHNob3dTcHJlYWRBY3Rpb25zOmwsc291cmNlOnIsb25TZWFyY2hDb21wbGV0ZTppLHRyYWNrUmVzdWx0c09wdGlvbnM6cyxzZXRTeW1ib2w6Zj0oZSxkKT0+dC5saW5raW5nLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLnN5bWJvbCxkKSxzZWFyY2hUeXBlOmgsLi4ucH09ZSxiPXsuLi5wLHNob3dTcHJlYWRBY3Rpb25zOmw/PygwLG4uY2FuU2hvd1NwcmVhZEFjdGlvbnMpKCksb25TeW1ib2xGaWx0ZXJzUGFyYW1zQ2hhbmdlOnM/LnRyYWNrUmVzdWx0cz9lPT5kLnNldFZhbHVlKGUpOnZvaWQgMCxvblNlYXJjaENvbXBsZXRlOihlLHQpPT57Y29uc3QgYz10Py5zeW1ib2xUeXBlCjt1KGVbMF0uc3ltYm9sLGVbMF0ucmVzdWx0KS50aGVuKChlPT57ZihlLCJzeW1ib2wgc2VhcmNoIiksaT8uKGUpLCgwLHkudHJhY2tFdmVudCkoIk5ldyBTUyIsIiI9PT1jPyJBbGwiOigwLFMuZW5zdXJlRGVmaW5lZCkoYyksIkNoYXJ0IiksciYmYSE9PWUuc3ltYm9sJiYoMCxTZS5nZXRUcmFja2VyKSgpLnRoZW4oKGQ9PntudWxsIT09ZCYmZC50cmFja0NoYW5nZVN5bWJvbChlLnN5bWJvbCxyKX0pKSwhcz8udHJhY2tSZXN1bHRzfHx0Py5pc1NwcmVhZHx8Im9wdGlvbnMiPT09YyYmcC5lbmFibGVPcHRpb25zQ2hhaW58fHllKHsuLi50LGZpbHRlclBhcmFtczpkLnZhbHVlKCksc2VhcmNoUmVzdWx0OmUuc3ltYm9sLHNlYXJjaFR5cGU6aCxhY3Rpb246dD8uaXNLZXlib2FyZEV2ZW50PyJlbnRlciI6ImNsaWNrIn0pfSkpfSxvbkVtcHR5UmVzdWx0czpzPy50cmFja1Jlc3VsdHM/ZnVuY3Rpb24oZSl7eWUoe2lucHV0VmFsdWU6ZSxmaWx0ZXJQYXJhbXM6ZC52YWx1ZSgpLHNlYXJjaFR5cGU6KDAsUy5lbnN1cmVEZWZpbmVkKShzKS5lbXB0eVNlYXJjaFR5cGUsYWN0aW9uOiJlbXB0eV9yZXN1bHQifSl9OnZvaWQgMH07amUmJiEoMCx2LmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9tKHsuLi5iLGluaXRpYWxNb2RlOiJ3YXRjaGxpc3QiLGluaXRpYWxTY3JlZW46cmUsc2VhcmNoSW5wdXQ6bWUsZW1wdHlTdGF0ZTpwZSxmdWxsc2NyZWVuOiEwLGRpYWxvZ1dpZHRoOiJmaXhlZCIsYXV0b2ZvY3VzOiFjLm1vYmlsZXRvdWNofSk6bSh7Li4uYixkZWZhdWx0VmFsdWU6YX0pfWNvbnN0IFJlPXtTeW1ib2xTZWFyY2hXYXRjaGxpc3REaWFsb2dDb250ZW50SXRlbTpmdW5jdGlvbihlKXtjb25zdHthZGRUb1dhdGNobGlzdDpkLHJlbW92ZUZyb21XYXRjaGxpc3Q6dSxmaW5kSW5XYXRjaGxpc3Q6dCxleGlzdEluV2F0Y2hsaXN0Om4saXNTZWxlY3RlZDpvLGZ1bGxTeW1ib2xOYW1lOmwsLi4ucn09ZSx7b25DbG9zZTppLHNlYXJjaFJlZjpzLHNlYXJjaFNwcmVhZHM6Zn09KDAsUy5lbnN1cmVOb3ROdWxsKSgoMCxhLnVzZUNvbnRleHQpKHEuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSkse3NldFNlbGVjdGVkQWN0aW9uOm0saXNTcHJlYWRPck11bHRpcGxlTW9kZTpoLGFkZEFmdGVyOnAsY2xlYXJUYXJnZXRTeW1ib2w6YixoaWdobGlnaHRlZDpnLGhpZ2hsaWdodDp2fT0oMCxTLmVuc3VyZU5vdE51bGwpKCgwLGEudXNlQ29udGV4dCkod2UuU3ltYm9sU2VhcmNoV2F0Y2hsaXN0Q29udGV4dCkpLHc9aChmLHMpO3JldHVybigwLGEudXNlTGF5b3V0RWZmZWN0KSgoKCk9PntvJiZtKHZvaWQgMCE9PW4/bj8yOjA6bnVsbCl9KSxbbyxuXSksYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0sey4uLnIsZnVsbFN5bWJvbE5hbWU6bCxvbkNsaWNrOnc/ZS5vbkNsaWNrOmZ1bmN0aW9uKHUpe2lmKHZvaWQgMD09PWwpcmV0dXJuO2lmKHZvaWQgMD09PW4pcmV0dXJuIHZvaWQoMCxTLmVuc3VyZURlZmluZWQpKGUub25DbGljaykodSk7bj8oeCgpLEMoIndhdGNobGlzdCByZW1vdmUgY2xpY2siLHUpLHA9PT1sJiZiKCkpOigoMCxrZS5ydW5PclNpZ25JbldpdGhQcm9tbykoIndhdGNoTGlzdCIse3NvdXJjZToiYWRkIHN5bWJvbCB0byB3YXRjaGxpc3QifSwoKCk9PntkKE1lLldBVENITElTVF9XSURHRVRfSUQsW2xdLHApLGUuaWQmJnYoZS5pZCl9KSksQygid2F0Y2hsaXN0IGFkZCBjbGljayIsdSkpO0UodSl9LGlzSGlnaGxpZ2h0ZWQ6Zz09PWUuaWQsaXNTZWxlY3RlZDpvLGFjdGlvbnM6dm9pZCAwPT09bnx8dz92b2lkIDA6YS5jcmVhdGVFbGVtZW50KHplLHtpc1NlbGVjdGVkOm8sZXhpc3RJbldhdGNobGlzdDpuLGFkZFRvV2F0Y2hsaXN0OmZ1bmN0aW9uKHUpe2lmKHUuc3RvcFByb3BhZ2F0aW9uKCksdm9pZCAwPT09bClyZXR1cm47KDAsa2UucnVuT3JTaWduSW5XaXRoUHJvbW8pKCJ3YXRjaExpc3QiLHtzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0sKCgpPT57ZChNZS5XQVRDSExJU1RfV0lER0VUX0lELFtsXSxwKSxlLmlkJiZ2KGUuaWQpfSkpLEUodSksQygid2F0Y2hsaXN0IGFkZCBidXR0b24iLHUpfSxyZW1vdmVGcm9tV2F0Y2hsaXN0OmZ1bmN0aW9uKGUpe2lmKGUuc3RvcFByb3BhZ2F0aW9uKCksdm9pZCAwPT09bClyZXR1cm47eCgpLEUoZSksQygid2F0Y2hsaXN0IHJlbW92ZSBidXR0b24iLGUpLHA9PT1sJiZiKCl9LGZpbmRJbldhdGNobGlzdDpmdW5jdGlvbihlKXtpZihlLnN0b3BQcm9wYWdhdGlvbigpLHZvaWQgMD09PWwpcmV0dXJuO3QoTWUuV0FUQ0hMSVNUX1dJREdFVF9JRCxsKSxpKCksQygid2F0Y2hsaXN0IGdvdG8gYnV0dG9uIil9fSl9KTtmdW5jdGlvbiBFKGUpe2UmJigwLFRlLm1vZGlmaWVyc0Zyb21FdmVudCkoZSk9PT1UZS5Nb2RpZmllcnMuU2hpZnQ/aSgpOmMubW9iaWxldG91Y2h8fHMuY3VycmVudD8uc2VsZWN0KCl9ZnVuY3Rpb24gQyhlLGQpe2xldCB1PWU7ZCYmKDAsVGUubW9kaWZpZXJzRnJvbUV2ZW50KShkKT09PVRlLk1vZGlmaWVycy5TaGlmdCYmKHUrPSIgc2hpZnQiKSwoMCx5LnRyYWNrRXZlbnQpKCJHVUkiLCJTUyIsdSl9ZnVuY3Rpb24geCgpe3ZvaWQgMCE9PWwmJnUoTWUuV0FUQ0hMSVNUX1dJREdFVF9JRCxbbF0sdm9pZCAwLCEwKX19LFN5bWJvbFNlYXJjaFdhdGNobGlzdERpYWxvZzpmdW5jdGlvbihlKXtjb25zdHthZGRUb1dhdGNobGlzdDpkLHJlbW92ZUZyb21XYXRjaGxpc3Q6dSxmaW5kSW5XYXRjaGxpc3Q6dCwuLi5jfT1lLHtmZWVkSXRlbXM6bixzZWFyY2hSZWY6byxzZWFyY2hTcHJlYWRzOmwsc2VsZWN0ZWRJbmRleDpyLG9uU3VibWl0Omksb3BlbmVkSXRlbXM6cyxzZXRTZWxlY3RlZEluZGV4OmYsb25DbG9zZTptLGlzTW9iaWxlOmgsaXNUYWJsZXQ6cCxtb2RlOmIsc2V0TW9kZTpnLHN5bWJvbFNlYXJjaFN0YXRlOnYsdG9nZ2xlRXhwYW5kOnl9PSgwLFMuZW5zdXJlTm90TnVsbCkoKDAsCmEudXNlQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpKSx7c2VsZWN0ZWRBY3Rpb246dyxzZXRTZWxlY3RlZEFjdGlvbjpDLGlzU3ByZWFkT3JNdWx0aXBsZU1vZGU6eCxhZGRBZnRlcjpJLGNsZWFyVGFyZ2V0U3ltYm9sOkEsaGlnaGxpZ2h0Onp9PSgwLFMuZW5zdXJlTm90TnVsbCkoKDAsYS51c2VDb250ZXh0KSh3ZS5TeW1ib2xTZWFyY2hXYXRjaGxpc3RDb250ZXh0KSksVD1uW3JdLE09ImV4Y2hhbmdlIj09PWI7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChEZS5BZGFwdGl2ZVBvcHVwRGlhbG9nLHsuLi5jLGNsYXNzTmFtZTpFKCkoTGUuZGlhbG9nLCFoJiYocD9MZS50YWJsZXREaWFsb2c6TGUuZGVza3RvcERpYWxvZykpLGRhdGFOYW1lOiJ3YXRjaGxpc3Qtc3ltYm9sLXNlYXJjaC1kaWFsb2ciLG9uS2V5RG93bjpmdW5jdGlvbihlKXtpZihlLnRhcmdldCYmZS50YXJnZXQhPT1vLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGQ9KDAsVGUuaGFzaEZyb21FdmVudCkoZSk7c3dpdGNoKGQpe2Nhc2UgMTM6cmV0dXJuIHgobCxvKT92b2lkIGkoITApOihUP2soITEpOmkoITEpLHZvaWQgby5jdXJyZW50Py5zZWxlY3QoKSk7Y2FzZSAxMytUZS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIHgobCxvKT92b2lkIGkoITApOnZvaWQoVD9rKCEwKTppKCEwKSk7Y2FzZSAyNzpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLE0/dm9pZCBnKCJzeW1ib2xTZWFyY2giKTp2b2lkIG0oKX1zd2l0Y2goKDAsTmUubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShkKSl7Y2FzZSJibG9ja1ByZXYiOmlmKGUucHJldmVudERlZmF1bHQoKSwwPT09cnx8Imdvb2QiIT09dilyZXR1cm47aWYoLTE9PT1yKXJldHVybiB2b2lkIGYoMCk7ZihyLTEpO2JyZWFrO2Nhc2UiYmxvY2tOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCkscj09PW4ubGVuZ3RoLTF8fCJnb29kIiE9PXYpcmV0dXJuO2YocisxKTticmVhaztjYXNlImlubGluZVByZXYiOmlmKCFUKXJldHVybjtpZihULmlkJiZULm9uRXhwYW5kQ2xpY2smJnMuaGFzKFQuaWQpJiYoMj09PXd8fDA9PT13KSlyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgeShULmlkKTsxPT09dyYmKGUucHJldmVudERlZmF1bHQoKSxDKDIpKTticmVhaztjYXNlImlubGluZU5leHQiOmlmKCFUKXJldHVybjtpZihULmlkJiZULm9uRXhwYW5kQ2xpY2smJiFzLmhhcyhULmlkKSYmKDE9PT13fHwwPT09dykpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIHkoVC5pZCk7Mj09PXcmJihlLnByZXZlbnREZWZhdWx0KCksQygxKSl9fSxiYWNrZHJvcDohMCxkcmFnZ2FibGU6ITF9KTtmdW5jdGlvbiBrKGUpe2lmKCFUfHx2b2lkIDA9PT1ULmZ1bGxTeW1ib2xOYW1lKXJldHVybjtjb25zdHtmdWxsU3ltYm9sTmFtZTpjfT1UO3N3aXRjaCh3KXtjYXNlIDA6KDAsa2UucnVuT3JTaWduSW5XaXRoUHJvbW8pKCJ3YXRjaExpc3QiLHtzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0sKCgpPT57ZChNZS5XQVRDSExJU1RfV0lER0VUX0lELFtjXSxJKSxULmlkJiZ6KFQuaWQpfSkpO2JyZWFrO2Nhc2UgMTpyZXR1cm4gdChNZS5XQVRDSExJU1RfV0lER0VUX0lELGMpLHZvaWQgbSgpO2Nhc2UgMjp1KE1lLldBVENITElTVF9XSURHRVRfSUQsW2NdKSxJPT09YyYmQSgpfWUmJm0oKX19fX0sNDI3NzczKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0VNUFRZX0VNT0pJOigpPT50fSk7Y29uc3QgdD0iIn0sMzE1MTU0KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse2Vtb2ppR3JvdXBzOigpPT5OLGlzU3VwcG9ydGVkRW1vamk6KCk9Pk0sbG9jYWxlQ29tcGFyZUVtb2ppVGl0bGVzOigpPT5ELHJlbW92ZVVuYXZhaWxhYmxlRW1vamk6KCk9PlQsc2VwYXJhdGVFbW9qaTooKT0+a30pO3ZhciB0PXUoNzc5NDc0KSxjPXUoMTg1MjcxKSxuPXUoNjYzMDQ2KSxvPXUoNjQxNTkzKSxhPXUoMTM4NjM4KSxsPXUoMjczNzMyKSxyPXUoODE0NjcwKSxpPXUoNjIwNzgxKSxzPXUoMTYxMTc3KSxmPXUoMTg1NjA1KSxtPXUoMjAyNTExKSxoPXUoNzUwNzY5KSxwPXUoNjk0NTMyKSxiPXUoOTAwMzExKSxnPXUoNTY5Nzg1KQo7Y29uc3Qgdj1bIvCfmIAiLCLwn5iDIiwi8J+YhCIsIvCfmIEiLCLwn5iGIiwi8J+YhSIsIvCfmIIiLCLwn6SjIiwi4pi677iPIiwi8J+YiiIsIvCfmIciLCLwn5mCIiwi8J+ZgyIsIvCfmIkiLCLwn5iMIiwi8J+YjSIsIvCfpbAiLCLwn5iYIiwi8J+YlyIsIvCfmJkiLCLwn5iaIiwi8J+YiyIsIvCfmJsiLCLwn5idIiwi8J+YnCIsIvCfpKoiLCLwn6SoIiwi8J+nkCIsIvCfpJMiLCLwn5iOIiwi8J+kqSIsIvCfpbMiLCLwn5iPIiwi8J+YkiIsIvCfmJ4iLCLwn5iUIiwi8J+YnyIsIvCfmJUiLCLwn5mBIiwi4pi577iPIiwi8J+YoyIsIvCfmJYiLCLwn5irIiwi8J+YqSIsIvCfpboiLCLwn5iiIiwi8J+YrSIsIvCfmKQiLCLwn5igIiwi8J+YoSIsIvCfpKwiLCLwn6SvIiwi8J+YsyIsIvCfpbUiLCLwn6W2Iiwi8J+YsSIsIvCfmKgiLCLwn5iwIiwi8J+YpSIsIvCfmJMiLCLwn6SXIiwi8J+klCIsIvCfpK0iLCLwn6SrIiwi8J+kpSIsIvCfmLYiLCLwn5iQIiwi8J+YkSIsIvCfmKwiLCLwn5mEIiwi8J+YryIsIvCfmKYiLCLwn5inIiwi8J+YriIsIvCfmLIiLCLwn6WxIiwi8J+YtCIsIvCfpKQiLCLwn5iqIiwi8J+YtSIsIvCfpJAiLCLwn6W0Iiwi8J+koiIsIvCfpK4iLCLwn6SnIiwi8J+YtyIsIvCfpJIiLCLwn6SVIiwi8J+kkSIsIvCfpKAiLCLwn5iIIiwi8J+RvyIsIvCfkbkiLCLwn5G6Iiwi8J+koSIsIvCfkqkiLCLwn5G7Iiwi8J+SgCIsIuKYoO+4jyIsIvCfkb0iLCLwn5G+Iiwi8J+kliIsIvCfjoMiLCLwn5i6Iiwi8J+YuCIsIvCfmLkiLCLwn5i7Iiwi8J+YvCIsIvCfmL0iLCLwn5mAIiwi8J+YvyIsIvCfmL4iLCLwn5GLIiwi8J+kmiIsIvCflpAiLCLinIsiLCLwn5aWIiwi8J+RjCIsIvCfpI8iLCLinIzvuI8iLCLwn6SeIiwi8J+knyIsIvCfpJgiLCLwn6SZIiwi8J+RiCIsIvCfkYkiLCLwn5GGIiwi8J+WlSIsIvCfkYciLCLimJ3vuI8iLCLwn5GNIiwi8J+RjiIsIuKciiIsIvCfkYoiLCLwn6SbIiwi8J+knCIsIvCfkY8iLCLwn5mMIiwi8J+RkCIsIvCfpLIiLCLwn6SdIiwi8J+ZjyIsIuKcje+4jyIsIvCfkoUiLCLwn6SzIiwi8J+SqiIsIvCfpr4iLCLwn6a1Iiwi8J+mvyIsIvCfprYiLCLwn5GCIiwi8J+muyIsIvCfkYMiLCLwn6egIiwi8J+mtyIsIvCfprQiLCLwn5GAIiwi8J+RgSIsIvCfkYUiLCLwn5GEIiwi8J+SiyIsIvCfqbgiLCLwn5G2Iiwi8J+nkiIsIvCfkaYiLCLwn5GnIiwi8J+nkSIsIvCfkbEiLCLwn5GoIiwi8J+nlCIsIvCfkajigI3wn6awIiwi8J+RqOKAjfCfprEiLCLwn5Go4oCN8J+msyIsIvCfkajigI3wn6ayIiwi8J+RqSIsIvCfkanigI3wn6awIiwi8J+nkeKAjfCfprAiLCLwn5Gp4oCN8J+msSIsIvCfp5HigI3wn6axIiwi8J+RqeKAjfCfprMiLCLwn6eR4oCN8J+msyIsIvCfkanigI3wn6ayIiwi8J+nkeKAjfCfprIiLCLwn5Gx4oCN4pmA77iPIiwi8J+RseKAjeKZgu+4jyIsIvCfp5MiLCLwn5G0Iiwi8J+RtSIsIvCfmY0iLCLwn5mN4oCN4pmC77iPIiwi8J+ZjeKAjeKZgO+4jyIsIvCfmY4iLCLwn5mO4oCN4pmC77iPIiwi8J+ZjuKAjeKZgO+4jyIsIvCfmYUiLCLwn5mF4oCN4pmC77iPIiwi8J+ZheKAjeKZgO+4jyIsIvCfmYYiLCLwn5mG4oCN4pmC77iPIiwi8J+ZhuKAjeKZgO+4jyIsIvCfkoEiLCLwn5KB4oCN4pmC77iPIiwi8J+SgeKAjeKZgO+4jyIsIvCfmYsiLCLwn5mL4oCN4pmC77iPIiwi8J+Zi+KAjeKZgO+4jyIsIvCfp48iLCLwn6eP4oCN4pmC77iPIiwi8J+nj+KAjeKZgO+4jyIsIvCfmYciLCLwn5mH4oCN4pmC77iPIiwi8J+Zh+KAjeKZgO+4jyIsIvCfpKYiLCLwn6Sm4oCN4pmC77iPIiwi8J+kpuKAjeKZgO+4jyIsIvCfpLciLCLwn6S34oCN4pmC77iPIiwi8J+kt+KAjeKZgO+4jyIsIvCfp5HigI3impXvuI8iLCLwn5Go4oCN4pqV77iPIiwi8J+RqeKAjeKale+4jyIsIvCfp5HigI3wn46TIiwi8J+RqOKAjfCfjpMiLCLwn5Gp4oCN8J+OkyIsIvCfp5HigI3wn4+rIiwi8J+RqOKAjfCfj6siLCLwn5Gp4oCN8J+PqyIsIvCfp5HigI3impbvuI8iLCLwn5Go4oCN4pqW77iPIiwi8J+RqeKAjeKalu+4jyIsIvCfp5HigI3wn4y+Iiwi8J+RqOKAjfCfjL4iLCLwn5Gp4oCN8J+MviIsIvCfp5HigI3wn42zIiwi8J+RqOKAjfCfjbMiLCLwn5Gp4oCN8J+NsyIsIvCfp5HigI3wn5SnIiwi8J+RqOKAjfCflKciLCLwn5Gp4oCN8J+UpyIsIvCfp5HigI3wn4+tIiwi8J+RqOKAjfCfj60iLCLwn5Gp4oCN8J+PrSIsIvCfp5HigI3wn5K8Iiwi8J+RqOKAjfCfkrwiLCLwn5Gp4oCN8J+SvCIsIvCfp5HigI3wn5SsIiwi8J+RqOKAjfCflKwiLCLwn5Gp4oCN8J+UrCIsIvCfp5HigI3wn5K7Iiwi8J+RqOKAjfCfkrsiLCLwn5Gp4oCN8J+SuyIsIvCfp5HigI3wn46kIiwi8J+RqOKAjfCfjqQiLCLwn5Gp4oCN8J+OpCIsIvCfp5HigI3wn46oIiwi8J+RqOKAjfCfjqgiLCLwn5Gp4oCN8J+OqCIsIvCfp5HigI3inIjvuI8iLCLwn5Go4oCN4pyI77iPIiwi8J+RqeKAjeKciO+4jyIsIvCfp5HigI3wn5qAIiwi8J+RqOKAjfCfmoAiLCLwn5Gp4oCN8J+agCIsIvCfp5HigI3wn5qSIiwi8J+RqOKAjfCfmpIiLCLwn5Gp4oCN8J+akiIsIvCfka4iLCLwn5Gu4oCN4pmC77iPIiwi8J+RruKAjeKZgO+4jyIsIvCflbUiLCLwn5W177iP4oCN4pmC77iPIiwi8J+Vte+4j+KAjeKZgO+4jyIsIvCfkoIiLCLwn5KC4oCN4pmC77iPIiwi8J+SguKAjeKZgO+4jyIsIvCfkbciLCLwn5G34oCN4pmC77iPIiwi8J+Rt+KAjeKZgO+4jyIsIvCfpLQiLCLwn5G4Iiwi8J+RsyIsIvCfkbPigI3imYLvuI8iLCLwn5Gz4oCN4pmA77iPIiwi8J+RsiIsIvCfp5UiLCLwn6S1Iiwi8J+RsCIsIvCfpLAiLCLwn6SxIiwi8J+RvCIsIvCfjoUiLCLwn6S2Iiwi8J+muCIsIvCfprjigI3imYLvuI8iLCLwn6a44oCN4pmA77iPIiwi8J+muSIsIvCfprnigI3imYLvuI8iLCLwn6a54oCN4pmA77iPIiwi8J+nmSIsIvCfp5nigI3imYLvuI8iLCLwn6eZ4oCN4pmA77iPIiwi8J+nmiIsIvCfp5rigI3imYLvuI8iLCLwn6ea4oCN4pmA77iPIiwi8J+nmyIsIvCfp5vigI3imYLvuI8iLCLwn6eb4oCN4pmA77iPIiwi8J+nnCIsIvCfp5zigI3imYLvuI8iLCLwn6ec4oCN4pmA77iPIiwi8J+nnSIsIvCfp53igI3imYLvuI8iLCLwn6ed4oCN4pmA77iPIiwi8J+nniIsIvCfp57igI3imYLvuI8iLCLwn6ee4oCN4pmA77iPIiwi8J+nnyIsIvCfp5/igI3imYLvuI8iLCLwn6ef4oCN4pmA77iPIiwi8J+ShiIsIvCfkobigI3imYLvuI8iLCLwn5KG4oCN4pmA77iPIiwi8J+ShyIsIvCfkofigI3imYLvuI8iLCLwn5KH4oCN4pmA77iPIiwi8J+atiIsIvCfmrbigI3imYLvuI8iLCLwn5q24oCN4pmA77iPIiwi8J+njSIsIvCfp43igI3imYLvuI8iLCLwn6eN4oCN4pmA77iPIiwi8J+njiIsIvCfp47igI3imYLvuI8iLCLwn6eO4oCN4pmA77iPIiwi8J+nkeKAjfCfpq8iLCLwn5Go4oCN8J+mryIsIvCfkanigI3wn6avIiwi8J+nkeKAjfCfprwiLCLwn5Go4oCN8J+mvCIsIvCfkanigI3wn6a8Iiwi8J+nkeKAjfCfpr0iLCLwn5Go4oCN8J+mvSIsIvCfkanigI3wn6a9Iiwi8J+PgyIsIvCfj4PigI3imYLvuI8iLCLwn4+D4oCN4pmA77iPIiwi8J+SgyIsIvCflboiLCLwn5W0Iiwi8J+RryIsIvCfka/igI3imYLvuI8iLCLwn5Gv4oCN4pmA77iPIiwi8J+nliIsIvCfp5bigI3imYLvuI8iLCLwn6eW4oCN4pmA77iPIiwi8J+nkeKAjfCfpJ3igI3wn6eRIiwi8J+RrSIsIvCfkasiLCLwn5GsIiwi8J+SjyIsIvCfkajigI3inaTvuI/igI3wn5KL4oCN8J+RqCIsIvCfkanigI3inaTvuI/igI3wn5KL4oCN8J+RqSIsIvCfkpEiLCLwn5Go4oCN4p2k77iP4oCN8J+RqCIsIvCfkanigI3inaTvuI/igI3wn5GpIiwi8J+RqiIsIvCfkajigI3wn5Gp4oCN8J+RpiIsIvCfkajigI3wn5Gp4oCN8J+RpyIsIvCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpyIsIvCfkajigI3wn5Go4oCN8J+RpiIsIvCfkajigI3wn5Go4oCN8J+RpyIsIvCfkajigI3wn5Go4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+RqOKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkajigI3wn5Gn4oCN8J+RpyIsIvCfkanigI3wn5Gp4oCN8J+RpiIsIvCfkanigI3wn5Gp4oCN8J+RpyIsIvCfkanigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Gp4oCN8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqeKAjfCfkanigI3wn5Gn4oCN8J+RpyIsIvCfkajigI3wn5GmIiwi8J+RqOKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkaciLCLwn5Go4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+Rp+KAjfCfkaciLCLwn5Gp4oCN8J+RpiIsIvCfkanigI3wn5Gm4oCN8J+RpiIsIvCfkanigI3wn5GnIiwi8J+RqeKAjfCfkafigI3wn5GmIiwi8J+RqeKAjfCfkafigI3wn5GnIiwi8J+XoyIsIvCfkaQiLCLwn5GlIiwi8J+RoyJdLFM9WyLwn5C2Iiwi8J+QsSIsIvCfkK0iLCLwn5C5Iiwi8J+QsCIsIvCfpooiLCLwn5C7Iiwi8J+QvCIsIvCfkKgiLCLwn5CvIiwi8J+mgSIsIvCfkK4iLCLwn5C3Iiwi8J+QvSIsIvCfkLgiLCLwn5C1Iiwi8J+ZiCIsIvCfmYkiLCLwn5mKIiwi8J+QkiIsIvCfkJQiLCLwn5CnIiwi8J+QpiIsIvCfkKQiLCLwn5CjIiwi8J+QpSIsIvCfpoYiLCLwn6aFIiwi8J+miSIsIvCfpociLCLwn5C6Iiwi8J+QlyIsIvCfkLQiLCLwn6aEIiwi8J+QnSIsIvCfkJsiLCLwn6aLIiwi8J+QjCIsIvCfkJ4iLCLwn5CcIiwi8J+mnyIsIvCfppciLCLwn5W3Iiwi8J+VuCIsIvCfpoIiLCLwn5CiIiwi8J+QjSIsIvCfpo4iLCLwn6aWIiwi8J+mlSIsIvCfkJkiLCLwn6aRIiwi8J+mkCIsIvCfpp4iLCLwn6aAIiwi8J+QoSIsIvCfkKAiLCLwn5CfIiwi8J+QrCIsIvCfkLMiLCLwn5CLIiwi8J+miCIsIvCfkIoiLCLwn5CFIiwi8J+QhiIsIvCfppMiLCLwn6aNIiwi8J+mpyIsIvCfkJgiLCLwn6abIiwi8J+mjyIsIvCfkKoiLCLwn5CrIiwi8J+mkiIsIvCfppgiLCLwn5CDIiwi8J+QgiIsIvCfkIQiLCLwn5COIiwi8J+QliIsIvCfkI8iLCLwn5CRIiwi8J+mmSIsIvCfkJAiLCLwn6aMIiwi8J+QlSIsIvCfkKkiLCLwn6auIiwi8J+QleKAjfCfproiLCLwn5CIIiwi8J+QkyIsIvCfpoMiLCLwn6aaIiwi8J+mnCIsIvCfpqIiLCLwn6apIiwi8J+ViiIsIvCfkIciLCLwn6adIiwi8J+mqCIsIvCfpqEiLCLwn6amIiwi8J+mpSIsIvCfkIEiLCLwn5CAIiwi8J+QvyIsIvCfppQiLCLwn5C+Iiwi8J+QiSIsIvCfkLIiLCLwn4y1Iiwi8J+OhCIsIvCfjLIiLCLwn4yzIiwi8J+MtCIsIvCfjLEiLCLwn4y/Iiwi4piY77iPIiwi8J+NgCIsIvCfjo0iLCLwn46LIiwi8J+NgyIsIvCfjYIiLCLwn42BIiwi8J+NhCIsIvCfkJoiLCLwn4y+Iiwi8J+SkCIsIvCfjLciLCLwn4y5Iiwi8J+lgCIsIvCfjLoiLCLwn4y4Iiwi8J+MvCIsIvCfjLsiLCLwn4yeIiwi8J+MnSIsIvCfjJsiLCLwn4ycIiwi8J+MmiIsIvCfjJUiLCLwn4yWIiwi8J+MlyIsIvCfjJgiLCLwn4yRIiwi8J+MkiIsIvCfjJMiLCLwn4yUIiwi8J+MmSIsIvCfjI4iLCLwn4yNIiwi8J+MjyIsIvCfqpAiLCLwn5KrIiwi4q2Q77iPIiwi8J+MnyIsIuKcqCIsIuKaoe+4jyIsIuKYhO+4jyIsIvCfkqUiLCLwn5SlIiwi8J+MqiIsIvCfjIgiLCLimIDvuI8iLCLwn4ykIiwi4puF77iPIiwi8J+MpSIsIuKYge+4jyIsIvCfjKYiLCLwn4ynIiwi4puIIiwi8J+MqSIsIvCfjKgiLCLinYTvuI8iLCLimIPvuI8iLCLim4TvuI8iLCLwn4ysIiwi8J+SqCIsIvCfkqciLCLwn5KmIiwi4piU77iPIiwi8J+MiiIsIvCfjKsiXSx5PVsi8J+NjyIsIvCfjY4iLCLwn42QIiwi8J+NiiIsIvCfjYsiLCLwn42MIiwi8J+NiSIsIvCfjYciLCLwn42TIiwi8J+NiCIsIvCfjZIiLCLwn42RIiwi8J+lrSIsIvCfjY0iLCLwn6WlIiwi8J+lnSIsIvCfjYUiLCLwn42GIiwi8J+lkSIsIvCfpaYiLCLwn6WsIiwi8J+lkiIsIvCfjLYiLCLwn4y9Iiwi8J+llSIsIvCfp4QiLCLwn6eFIiwi8J+llCIsIvCfjaAiLCLwn6WQIiwi8J+lryIsIvCfjZ4iLCLwn6WWIiwi8J+lqCIsIvCfp4AiLCLwn6WaIiwi8J+NsyIsIvCfp4giLCLwn6WeIiwi8J+nhyIsIvCfpZMiLCLwn6WpIiwi8J+NlyIsIvCfjZYiLCLwn4ytIiwi8J+NlCIsIvCfjZ8iLCLwn42VIiwi8J+lqiIsIvCfpZkiLCLwn6eGIiwi8J+MriIsIvCfjK8iLCLwn6WXIiwi8J+lmCIsIvCfpasiLCLwn42dIiwi8J+NnCIsIvCfjbIiLCLwn42bIiwi8J+NoyIsIvCfjbEiLCLwn6WfIiwi8J+mqiIsIvCfjaQiLCLwn42ZIiwi8J+NmiIsIvCfjZgiLCLwn42lIiwi8J+loCIsIvCfpa4iLCLwn42iIiwi8J+NoSIsIvCfjaciLCLwn42oIiwi8J+NpiIsIvCfpaciLCLwn6eBIiwi8J+NsCIsIvCfjoIiLCLwn42uIiwi8J+NrSIsIvCfjawiLCLwn42rIiwi8J+NvyIsIvCfjakiLCLwn42qIiwi8J+MsCIsIvCfpZwiLCLwn42vIiwi8J+lmyIsIvCfjbwiLCLimJXvuI8iLCLwn421Iiwi8J+ngyIsIvCfpaQiLCLwn422Iiwi8J+NuiIsIvCfjbsiLCLwn6WCIiwi8J+NtyIsIvCfpYMiLCLwn424Iiwi8J+NuSIsIvCfp4kiLCLwn42+Iiwi8J+niiIsIvCfpYQiLCLwn420Iiwi8J+NvSIsIvCfpaMiLCLwn6WhIiwi8J+loiIsIvCfp4IiXSx3PVsi4pq977iPIiwi8J+PgCIsIvCfj4giLCLimr7vuI8iLCLwn6WOIiwi8J+OviIsIvCfj5AiLCLwn4+JIiwi8J+ljyIsIvCfjrEiLCLwn6qAIiwi8J+PkyIsIvCfj7giLCLwn4+SIiwi8J+PkSIsIvCfpY0iLCLwn4+PIiwi8J+lhSIsIuKbs++4jyIsIvCfqoEiLCLwn4+5Iiwi8J+OoyIsIvCfpL8iLCLwn6WKIiwi8J+liyIsIvCfjr0iLCLwn5u5Iiwi8J+btyIsIuKbuCIsIvCfpYwiLCLwn46/Iiwi4pu3Iiwi8J+PgiIsIvCfqoIiLCLwn4+L77iPIiwi8J+Pi++4j+KAjeKZgu+4jyIsIvCfj4vvuI/igI3imYDvuI8iLCLwn6S8Iiwi8J+kvOKAjeKZgu+4jyIsIvCfpLzigI3imYDvuI8iLCLwn6S44oCN4pmA77iPIiwi8J+kuCIsIvCfpLjigI3imYLvuI8iLCLim7nvuI8iLCLim7nvuI/igI3imYLvuI8iLCLim7nvuI/igI3imYDvuI8iLCLwn6S6Iiwi8J+kviIsIvCfpL7igI3imYLvuI8iLCLwn6S+4oCN4pmA77iPIiwi8J+PjO+4jyIsIvCfj4zvuI/igI3imYLvuI8iLCLwn4+M77iP4oCN4pmA77iPIiwi8J+PhyIsIvCfp5giLCLwn6eY4oCN4pmC77iPIiwi8J+nmOKAjeKZgO+4jyIsIvCfj4QiLCLwn4+E4oCN4pmC77iPIiwi8J+PhOKAjeKZgO+4jyIsIvCfj4oiLCLwn4+K4oCN4pmC77iPIiwi8J+PiuKAjeKZgO+4jyIsIvCfpL0iLCLwn6S94oCN4pmC77iPIiwi8J+kveKAjeKZgO+4jyIsIvCfmqMiLCLwn5qj4oCN4pmC77iPIiwi8J+ao+KAjeKZgO+4jyIsIvCfp5ciLCLwn6eX4oCN4pmC77iPIiwi8J+nl+KAjeKZgO+4jyIsIvCfmrUiLCLwn5q14oCN4pmC77iPIiwi8J+ateKAjeKZgO+4jyIsIvCfmrQiLCLwn5q04oCN4pmC77iPIiwi8J+atOKAjeKZgO+4jyIsIvCfj4YiLCLwn6WHIiwi8J+liCIsIvCfpYkiLCLwn4+FIiwi8J+OliIsIvCfj7UiLCLwn46XIiwi8J+OqyIsIvCfjp8iLCLwn46qIiwi8J+kuSIsIvCfpLnigI3imYLvuI8iLCLwn6S54oCN4pmA77iPIiwi8J+OrSIsIvCfjqgiLCLwn46sIiwi8J+OpCIsIvCfjqciLCLwn468Iiwi8J+OuSIsIvCfpYEiLCLwn463Iiwi8J+OuiIsIvCfjrgiLCLwn6qVIiwi8J+OuyIsIvCfjrIiLCLwn46vIiwi8J+OsyIsIvCfjq4iLCLwn46wIiwi8J+nqSJdLEU9WyLwn5qXIiwi8J+alSIsIvCfmpkiLCLwn5qMIiwi8J+ajiIsIvCfj44iLCLwn5qTIiwi8J+akSIsIvCfmpIiLCLwn5qQIiwi8J+amiIsIvCfmpsiLCLwn5qcIiwi8J+mryIsIvCfpr0iLCLwn6a8Iiwi8J+btCIsIvCfmrIiLCLwn5u1Iiwi8J+PjSIsIvCfm7oiLCLwn5qoIiwi8J+alCIsIvCfmo0iLCLwn5qYIiwi8J+aliIsIvCfmqEiLCLwn5qgIiwi8J+anyIsIvCfmoMiLCLwn5qLIiwi8J+aniIsIvCfmp0iLCLwn5qEIiwi8J+ahSIsIvCfmogiLCLwn5qCIiwi8J+ahiIsIvCfmociLCLwn5qKIiwi8J+aiSIsIuKciO+4jyIsIvCfm6siLCLwn5usIiwi8J+bqSIsIvCfkroiLCLwn5uwIiwi8J+agCIsIvCfm7giLCLwn5qBIiwi8J+btiIsIuKbte+4jyIsIvCfmqQiLCLwn5ulIiwi8J+bsyIsIuKbtCIsIvCfmqIiLCLimpPvuI8iLCLim73vuI8iLCLwn5qnIiwi8J+apiIsIvCfmqUiLCLwn5qPIiwi8J+XuiIsIvCfl78iLCLwn5e9Iiwi8J+XvCIsIvCfj7AiLCLwn4+vIiwi8J+PnyIsIvCfjqEiLCLwn46iIiwi8J+OoCIsIuKbsu+4jyIsIuKbsSIsIvCfj5YiLCLwn4+dIiwi8J+PnCIsIvCfjIsiLCLim7AiLCLwn4+UIiwi8J+XuyIsIvCfj5UiLCLim7rvuI8iLCLwn4+gIiwi8J+PoSIsIvCfj5giLCLwn4+aIiwi8J+PlyIsIvCfj60iLCLwn4+iIiwi8J+PrCIsIvCfj6MiLCLwn4+kIiwi8J+PpSIsIvCfj6YiLCLwn4+oIiwi8J+PqiIsIvCfj6siLCLwn4+pIiwi8J+SkiIsIvCfj5siLCLim6rvuI8iLCLwn5WMIiwi8J+VjSIsIvCfm5UiLCLwn5WLIiwi4pupIiwi8J+bpCIsIvCfm6MiLCLwn5e+Iiwi8J+OkSIsIvCfj54iLCLwn4yFIiwi8J+MhCIsIvCfjKAiLCLwn46HIiwi8J+OhiIsIvCfjIciLCLwn4yGIiwi8J+PmSIsIvCfjIMiLCLwn4yMIiwi8J+MiSIsIvCfjIEiXSxDPVsi4oya77iPIiwi8J+TsSIsIvCfk7IiLCLwn5K7Iiwi4oyo77iPIiwi8J+WpSIsIvCflqgiLCLwn5axIiwi8J+WsiIsIvCflbkiLCLwn5ecIiwi8J+SvSIsIvCfkr4iLCLwn5K/Iiwi8J+TgCIsIvCfk7wiLCLwn5O3Iiwi8J+TuCIsIvCfk7kiLCLwn46lIiwi8J+TvSIsIvCfjp4iLCLwn5OeIiwi4piO77iPIiwi8J+TnyIsIvCfk6AiLCLwn5O6Iiwi8J+TuyIsIvCfjpkiLCLwn46aIiwi8J+OmyIsIvCfp60iLCLij7EiLCLij7IiLCLij7AiLCLwn5WwIiwi4oyb77iPIiwi4o+zIiwi8J+ToSIsIvCflIsiLCLwn5SMIiwi8J+SoSIsIvCflKYiLCLwn5WvIiwi8J+qlCIsIvCfp68iLCLwn5uiIiwi8J+SuCIsIvCfkrUiLCLwn5K0Iiwi8J+StiIsIvCfkrciLCLwn5KwIiwi8J+SsyIsIvCfko4iLCLimpbvuI8iLCLwn6ewIiwi8J+UpyIsIvCflKgiLCLimpIiLCLwn5ugIiwi4puPIiwi8J+UqSIsIuKame+4jyIsIvCfp7EiLCLim5MiLCLwn6eyIiwi8J+UqyIsIvCfkqMiLCLwn6eoIiwi8J+qkyIsIvCflKoiLCLwn5ehIiwi4pqU77iPIiwi8J+boSIsIvCfmqwiLCLimrDvuI8iLCLimrHvuI8iLCLwn4+6Iiwi8J+UriIsIvCfk78iLCLwn6e/Iiwi8J+SiCIsIuKal++4jyIsIvCflK0iLCLwn5SsIiwi8J+VsyIsIvCfqbkiLCLwn6m6Iiwi8J+SiiIsIvCfkokiLCLwn6esIiwi8J+moCIsIvCfp6siLCLwn6eqIiwi8J+MoSIsIvCfp7kiLCLwn6e6Iiwi8J+nuyIsIvCfmr0iLCLwn5qwIiwi8J+avyIsIvCfm4EiLCLwn5uAIiwi8J+nvCIsIvCfqpIiLCLwn6e9Iiwi8J+ntCIsIvCfm44iLCLwn5SRIiwi8J+XnSIsIvCfmqoiLCLwn6qRIiwi8J+biyIsIvCfm48iLCLwn5uMIiwi8J+nuCIsIvCflrwiLCLwn5uNIiwi8J+bkiIsIvCfjoEiLCLwn46IIiwi8J+OjyIsIvCfjoAiLCLwn46KIiwi8J+OiSIsIvCfjo4iLCLwn4+uIiwi8J+OkCIsIvCfp6ciLCLinInvuI8iLCLwn5OpIiwi8J+TqCIsIvCfk6ciLCLwn5KMIiwi8J+TpSIsIvCfk6QiLCLwn5OmIiwi8J+PtyIsIvCfk6oiLCLwn5OrIiwi8J+TrCIsIvCfk60iLCLwn5OuIiwi8J+TryIsIvCfk5wiLCLwn5ODIiwi8J+ThCIsIvCfk5EiLCLwn6e+Iiwi8J+TiiIsIvCfk4giLCLwn5OJIiwi8J+XkiIsIvCfl5MiLCLwn5OGIiwi8J+ThSIsIvCfl5EiLCLwn5OHIiwi8J+XgyIsIvCfl7MiLCLwn5eEIiwi8J+TiyIsIvCfk4EiLCLwn5OCIiwi8J+XgiIsIvCfl54iLCLwn5OwIiwi8J+TkyIsIvCfk5QiLCLwn5OSIiwi8J+TlSIsIvCfk5ciLCLwn5OYIiwi8J+TmSIsIvCfk5oiLCLwn5OWIiwi8J+UliIsIvCfp7ciLCLwn5SXIiwi8J+TjiIsIvCflociLCLwn5OQIiwi8J+TjyIsIvCfp64iLCLwn5OMIiwi8J+TjSIsIuKcgu+4jyIsIvCflooiLCLwn5aLIiwi4pyS77iPIiwi8J+WjCIsIvCflo0iLCLwn5OdIiwi4pyP77iPIiwi8J+UjSIsIvCflI4iLCLwn5SPIiwi8J+UkCIsIvCflJIiLCLwn5STIiwi8J+nsyIsIvCfjIIiLCLimILvuI8iLCLwn6e1Iiwi8J+ntiIsIvCfkZMiLCLwn5W2Iiwi8J+lvSIsIvCfpbwiLCLwn6a6Iiwi8J+RlCIsIvCfkZUiLCLwn5GWIiwi8J+noyIsIvCfp6QiLCLwn6elIiwi8J+npiIsIvCfkZciLCLwn5GYIiwi8J+luyIsIvCfqbEiLCLwn6myIiwi8J+psyIsIvCfkZkiLCLwn5GaIiwi8J+RmyIsIvCfkZwiLCLwn5GdIiwi8J+OkiIsIvCfkZ4iLCLwn5GfIiwi8J+lviIsIvCfpb8iLCLwn5GgIiwi8J+RoSIsIvCfqbAiLCLwn5GiIiwi8J+RkSIsIvCfkZIiLCLwn46pIiwi8J+OkyIsIvCfp6IiLCLim5EiLCLwn5KEIiwi8J+SjSIsIvCfkrwiXSx4PVsi4p2k77iPIiwi8J+noSIsIvCfkpsiLCLwn5KaIiwi8J+SmSIsIvCfkpwiLCLwn5akIiwi8J+kjSIsIvCfpI4iLCLwn5KUIiwi4p2j77iPIiwi8J+SlSIsIvCfkp4iLCLwn5KTIiwi8J+SlyIsIvCfkpYiLCLwn5KYIiwi8J+SnSIsIvCfkp8iLCLimK7vuI8iLCLinJ3vuI8iLCLimKrvuI8iLCLwn5WJIiwi4pi477iPIiwi4pyh77iPIiwi8J+UryIsIvCflY4iLCLimK/vuI8iLCLimKbvuI8iLCLwn5uQIiwi4puOIiwi4pmI77iPIiwi4pmJ77iPIiwi4pmK77iPIiwi4pmL77iPIiwi4pmM77iPIiwi4pmN77iPIiwi4pmO77iPIiwi4pmP77iPIiwi4pmQ77iPIiwi4pmR77iPIiwi4pmS77iPIiwi4pmT77iPIiwi8J+GlCIsIuKam++4jyIsIvCfiZEiLCLimKLvuI8iLCLimKPvuI8iLCLwn5O0Iiwi8J+TsyIsIvCfiLYiLCLwn4ia77iPIiwi8J+IuCIsIvCfiLoiLCLwn4i377iPIiwi4py077iPIiwi8J+GmiIsIvCfkq4iLCLwn4mQIiwi44qZ77iPIiwi44qX77iPIiwi8J+ItCIsIvCfiLUiLCLwn4i5Iiwi8J+IsiIsIvCfhbDvuI8iLCLwn4Wx77iPIiwi8J+GjiIsIvCfhpEiLCLwn4W+77iPIiwi8J+GmCIsIuKdjCIsIuKtle+4jyIsIvCfm5EiLCLim5TvuI8iLCLwn5ObIiwi8J+aqyIsIvCfkq8iLCLwn5KiIiwi4pmo77iPIiwi8J+atyIsIvCfmq8iLCLwn5qzIiwi8J+asSIsIvCflJ4iLCLwn5O1Iiwi8J+arSIsIuKdl++4jyIsIuKdlSIsIuKdkyIsIuKdlCIsIuKAvO+4jyIsIuKBie+4jyIsIvCflIUiLCLwn5SGIiwi44C977iPIiwi4pqg77iPIiwi8J+auCIsIvCflLEiLCLimpzvuI8iLCLwn5SwIiwi4pm777iPIiwi4pyFIiwi8J+Ir++4jyIsIvCfkrkiLCLinYfvuI8iLCLinLPvuI8iLCLinY4iLCLwn4yQIiwi8J+SoCIsIuKTgu+4jyIsIvCfjIAiLCLwn5KkIiwi8J+PpyIsIvCfmr4iLCLimb/vuI8iLCLwn4W/77iPIiwi8J+IsyIsIvCfiILvuI8iLCLwn5uCIiwi8J+bgyIsIvCfm4QiLCLwn5uFIiwi8J+auSIsIvCfmroiLCLwn5q8Iiwi8J+auyIsIvCfmq4iLCLwn46mIiwi8J+TtiIsIvCfiIEiLCLwn5SjIiwi4oS577iPIiwi8J+UpCIsIvCflKEiLCLwn5SgIiwi8J+GliIsIvCfhpciLCLwn4aZIiwi8J+GkiIsIvCfhpUiLCLwn4aTIiwiMO+4j+KDoyIsIjHvuI/ig6MiLCIy77iP4oOjIiwiM++4j+KDoyIsIjTvuI/ig6MiLCI177iP4oOjIiwiNu+4j+KDoyIsIjfvuI/ig6MiLCI477iP4oOjIiwiOe+4j+KDoyIsIvCflJ8iLCLwn5SiIiwiI++4j+KDoyIsIirvuI/ig6MiLCLij4/vuI8iLCLilrbvuI8iLCLij7giLCLij68iLCLij7kiLCLij7oiLCLij60iLCLij64iLCLij6kiLCLij6oiLCLij6siLCLij6wiLCLil4DvuI8iLCLwn5S8Iiwi8J+UvSIsIuKeoe+4jyIsIuKshe+4jyIsIuKshu+4jyIsIuKsh++4jyIsIuKGl++4jyIsIuKGmO+4jyIsIuKGme+4jyIsIuKGlu+4jyIsIuKGle+4jyIsIuKGlO+4jyIsIuKGqu+4jyIsIuKGqe+4jyIsIuKktO+4jyIsIuKkte+4jyIsIvCflIAiLCLwn5SBIiwi8J+UgiIsIvCflIQiLCLwn5SDIiwi8J+OtSIsIvCfjrYiLCLinpUiLCLinpYiLCLinpciLCLinJbvuI8iLCLimb4iLCLwn5KyIiwi8J+SsSIsIuKEou+4jyIsIsKp77iPIiwiwq7vuI8iLCLjgLDvuI8iLCLinrAiLCLinr8iLCLwn5SaIiwi8J+UmSIsIvCflJsiLCLwn5SdIiwi8J+UnCIsIuKclO+4jyIsIuKYke+4jyIsIvCflJgiLCLwn5S0Iiwi8J+foCIsIvCfn6EiLCLwn5+iIiwi8J+UtSIsIvCfn6MiLCLimqvvuI8iLCLimqrvuI8iLCLwn5+kIiwi8J+UuiIsIvCflLsiLCLwn5S4Iiwi8J+UuSIsIvCflLYiLCLwn5S3Iiwi8J+UsyIsIvCflLIiLCLilqrvuI8iLCLilqvvuI8iLCLil77vuI8iLCLil73vuI8iLCLil7zvuI8iLCLil7vvuI8iLCLwn5+lIiwi8J+fpyIsIvCfn6giLCLwn5+pIiwi8J+fpiIsIvCfn6oiLCLirJvvuI8iLCLirJzvuI8iLCLwn5+rIiwi8J+UiCIsIvCflIciLCLwn5SJIiwi8J+UiiIsIvCflJQiLCLwn5SVIiwi8J+ToyIsIvCfk6IiLCLwn5GB4oCN8J+XqCIsIvCfkqwiLCLwn5KtIiwi8J+XryIsIuKZoO+4jyIsIuKZo++4jyIsIuKZpe+4jyIsIuKZpu+4jyIsIvCfg48iLCLwn460Iiwi8J+AhO+4jyIsIvCflZAiLCLwn5WRIiwi8J+VkiIsIvCflZMiLCLwn5WUIiwi8J+VlSIsIvCflZYiLCLwn5WXIiwi8J+VmCIsIvCflZkiLCLwn5WaIiwi8J+VmyIsIvCflZwiLCLwn5WdIiwi8J+VniIsIvCflZ8iLCLwn5WgIiwi8J+VoSIsIvCflaIiLCLwn5WjIiwi8J+VpCIsIvCflaUiLCLwn5WmIiwi8J+VpyJdLEk9WyLwn4+z77iPIiwi8J+PtCIsIvCfj4EiLCLwn5qpIiwi8J+Ps++4j+KAjfCfjIgiLCLwn4+04oCN4pig77iPIiwi8J+HpvCfh6siLCLwn4em8J+HvSIsIvCfh6bwn4exIiwi8J+HqfCfh78iLCLwn4em8J+HuCIsIvCfh6bwn4epIiwi8J+HpvCfh7QiLCLwn4em8J+HriIsIvCfh6bwn4e2Iiwi8J+HpvCfh6wiLCLwn4em8J+HtyIsIvCfh6bwn4eyIiwi8J+HpvCfh7wiLCLwn4em8J+HuiIsIvCfh6bwn4e5Iiwi8J+HpvCfh78iLCLwn4en8J+HuCIsIvCfh6fwn4etIiwi8J+Hp/Cfh6kiLCLwn4en8J+HpyIsIvCfh6fwn4e+Iiwi8J+Hp/Cfh6oiLCLwn4en8J+HvyIsIvCfh6fwn4evIiwi8J+Hp/Cfh7IiLCLwn4en8J+HuSIsIvCfh6fwn4e0Iiwi8J+Hp/Cfh6YiLCLwn4en8J+HvCIsIvCfh6fwn4e3Iiwi8J+HrvCfh7QiLCLwn4e78J+HrCIsIvCfh6fwn4ezIiwi8J+Hp/Cfh6wiLCLwn4en8J+HqyIsIvCfh6fwn4euIiwi8J+HsPCfh60iLCLwn4eo8J+HsiIsIvCfh6jwn4emIiwi8J+HrvCfh6giLCLwn4eo8J+HuyIsIvCfh6fwn4e2Iiwi8J+HsPCfh74iLCLwn4eo8J+HqyIsIvCfh7nwn4epIiwi8J+HqPCfh7EiLCLwn4eo8J+HsyIsIvCfh6jwn4e9Iiwi8J+HqPCfh6giLCLwn4eo8J+HtCIsIvCfh7Dwn4eyIiwi8J+HqPCfh6wiLCLwn4eo8J+HqSIsIvCfh6jwn4ewIiwi8J+HqPCfh7ciLCLwn4eo8J+HriIsIvCfh63wn4e3Iiwi8J+HqPCfh7oiLCLwn4eo8J+HvCIsIvCfh6jwn4e+Iiwi8J+HqPCfh78iLCLwn4ep8J+HsCIsIvCfh6nwn4evIiwi8J+HqfCfh7IiLCLwn4ep8J+HtCIsIvCfh6rwn4eoIiwi8J+HqvCfh6wiLCLwn4e48J+HuyIsIvCfh6zwn4e2Iiwi8J+HqvCfh7ciLCLwn4eq8J+HqiIsIvCfh6rwn4e5Iiwi8J+HqvCfh7oiLCLwn4er8J+HsCIsIvCfh6vwn4e0Iiwi8J+Hq/Cfh68iLCLwn4er8J+HriIsIvCfh6vwn4e3Iiwi8J+HrPCfh6siLCLwn4e18J+HqyIsIvCfh7nwn4erIiwi8J+HrPCfh6YiLCLwn4es8J+HsiIsIvCfh6zwn4eqIiwi8J+HqfCfh6oiLCLwn4es8J+HrSIsIvCfh6zwn4euIiwi8J+HrPCfh7ciLCLwn4es8J+HsSIsIvCfh6zwn4epIiwi8J+HrPCfh7UiLCLwn4es8J+HuiIsIvCfh6zwn4e5Iiwi8J+HrPCfh6wiLCLwn4es8J+HsyIsIvCfh6zwn4e8Iiwi8J+HrPCfh74iLCLwn4et8J+HuSIsIvCfh63wn4ezIiwi8J+HrfCfh7AiLCLwn4et8J+HuiIsIvCfh67wn4e4Iiwi8J+HrvCfh7MiLCLwn4eu8J+HqSIsIvCfh67wn4e3Iiwi8J+HrvCfh7YiLCLwn4eu8J+HqiIsIvCfh67wn4eyIiwi8J+HrvCfh7EiLCLwn4eu8J+HuSIsIvCfh6/wn4eyIiwi8J+Hr/Cfh7UiLCLwn46MIiwi8J+Hr/Cfh6oiLCLwn4ev8J+HtCIsIvCfh7Dwn4e/Iiwi8J+HsPCfh6oiLCLwn4ew8J+HriIsIvCfh73wn4ewIiwi8J+HsPCfh7wiLCLwn4ew8J+HrCIsIvCfh7Hwn4emIiwi8J+HsfCfh7siLCLwn4ex8J+HpyIsIvCfh7Hwn4e4Iiwi8J+HsfCfh7ciLCLwn4ex8J+HviIsIvCfh7Hwn4euIiwi8J+HsfCfh7kiLCLwn4ex8J+HuiIsIvCfh7Lwn4e0Iiwi8J+HsvCfh7AiLCLwn4ey8J+HrCIsIvCfh7Lwn4e8Iiwi8J+HsvCfh74iLCLwn4ey8J+HuyIsIvCfh7Lwn4exIiwi8J+HsvCfh7kiLCLwn4ey8J+HrSIsIvCfh7Lwn4e2Iiwi8J+HsvCfh7ciLCLwn4ey8J+HuiIsIvCfh77wn4e5Iiwi8J+HsvCfh70iLCLwn4er8J+HsiIsIvCfh7Lwn4epIiwi8J+HsvCfh6giLCLwn4ey8J+HsyIsIvCfh7Lwn4eqIiwi8J+HsvCfh7giLCLwn4ey8J+HpiIsIvCfh7Lwn4e/Iiwi8J+HsvCfh7IiLCLwn4ez8J+HpiIsIvCfh7Pwn4e3Iiwi8J+Hs/Cfh7UiLCLwn4ez8J+HsSIsIvCfh7Pwn4eoIiwi8J+Hs/Cfh78iLCLwn4ez8J+HriIsIvCfh7Pwn4eqIiwi8J+Hs/Cfh6wiLCLwn4ez8J+HuiIsIvCfh7Pwn4erIiwi8J+HsPCfh7UiLCLwn4ey8J+HtSIsIvCfh7Pwn4e0Iiwi8J+HtPCfh7IiLCLwn4e18J+HsCIsIvCfh7Xwn4e8Iiwi8J+HtfCfh7giLCLwn4e18J+HpiIsIvCfh7Xwn4esIiwi8J+HtfCfh74iLCLwn4e18J+HqiIsIvCfh7Xwn4etIiwi8J+HtfCfh7MiLCLwn4e18J+HsSIsIvCfh7Xwn4e5Iiwi8J+HtfCfh7ciLCLwn4e28J+HpiIsIvCfh7fwn4eqIiwi8J+Ht/Cfh7QiLCLwn4e38J+HuiIsIvCfh7fwn4e8Iiwi8J+HvPCfh7giLCLwn4e48J+HsiIsIvCfh7jwn4emIiwi8J+HuPCfh7MiLCLwn4e38J+HuCIsIvCfh7jwn4eoIiwi8J+HuPCfh7EiLCLwn4e48J+HrCIsIvCfh7jwn4e9Iiwi8J+HuPCfh7AiLCLwn4e48J+HriIsIvCfh6zwn4e4Iiwi8J+HuPCfh6ciLCLwn4e48J+HtCIsIvCfh7/wn4emIiwi8J+HsPCfh7ciLCLwn4e48J+HuCIsIvCfh6rwn4e4Iiwi8J+HsfCfh7AiLCLwn4en8J+HsSIsIvCfh7jwn4etIiwi8J+HsPCfh7MiLCLwn4ex8J+HqCIsIvCfh7Xwn4eyIiwi8J+Hu/Cfh6giLCLwn4e48J+HqSIsIvCfh7jwn4e3Iiwi8J+HuPCfh78iLCLwn4e48J+HqiIsIvCfh6jwn4etIiwi8J+HuPCfh74iLCLwn4e58J+HvCIsIvCfh7nwn4evIiwi8J+HufCfh78iLCLwn4e58J+HrSIsIvCfh7nwn4exIiwi8J+HufCfh6wiLCLwn4e58J+HsCIsIvCfh7nwn4e0Iiwi8J+HufCfh7kiLCLwn4e58J+HsyIsIvCfh7nwn4e3Iiwi8J+HufCfh7IiLCLwn4e58J+HqCIsIvCfh7nwn4e7Iiwi8J+Hu/Cfh64iLCLwn4e68J+HrCIsIvCfh7rwn4emIiwi8J+HpvCfh6oiLCLwn4es8J+HpyIsIvCfj7TzoIGn86CBovOggaXzoIGu86CBp/Oggb8iLCLwn4+086CBp/OggaLzoIGz86CBo/OggbTzoIG/Iiwi8J+PtPOggafzoIGi86CBt/OggazzoIGz86CBvyIsIvCfh7rwn4ezIiwi8J+HuvCfh7giLCLwn4e68J+HviIsIvCfh7rwn4e/Iiwi8J+Hu/Cfh7oiLCLwn4e78J+HpiIsIvCfh7vwn4eqIiwi8J+Hu/Cfh7MiLCLwn4e88J+HqyIsIvCfh6rwn4etIiwi8J+HvvCfh6oiLCLwn4e/8J+HsiIsIvCfh7/wn4e8Il0sQT1bLi4udiwuLi5TLC4uLnksLi4udywuLi5FLC4uLkMsLi4ueCwuLi5JXSx6PW5ldyBTZXQoQSkKO2Z1bmN0aW9uIFQoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT56LmhhcyhlKSkpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIHouaGFzKGUpfWNvbnN0IGs9KDAsbi5kZWZhdWx0KSgoZT0+e2NvbnN0IGQ9KDAsby5nZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZykoZSksdT1udWxsIT09ZCYmTShkKT9kOiIiO3JldHVybntlbW9qaTp1LGVtb2ppTGVzc1N0cmluZzplLnJlcGxhY2UodSwiIil9fSkpO2Z1bmN0aW9uIEQoZSxkLC4uLnUpe2NvbnN0IHQ9aygoMCxhLmVuc3VyZU5vdE51bGwpKGUpKS5lbW9qaUxlc3NTdHJpbmcudHJpbSgpLGM9aygoMCxhLmVuc3VyZU5vdE51bGwpKGQpKS5lbW9qaUxlc3NTdHJpbmcudHJpbSgpO3JldHVybiB0PT09Yz9lLmxvY2FsZUNvbXBhcmUoZCwuLi51KTp0LmxvY2FsZUNvbXBhcmUoYywuLi51KX1jb25zdCBOPSgpPT5be3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoNDY1NDU2KSksZW1vamlzOltdLGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246cn0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSgzMDYwNzApKSxlbW9qaXM6dixjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOml9KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoNjY4NDQ5KSksZW1vamlzOlMsY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpzfSl9LHt0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSx1KDE0NzUwMCkpLGVtb2ppczp5LGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246Zn0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSg1NzQ3MTUpKSxlbW9qaXM6dyxjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOm19KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoMTIzMTM4KSksZW1vamlzOkUsY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpofSl9LHt0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSx1KDk0MzM5MykpLGVtb2ppczpDLGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246cH0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSgyNzY2MDkpKSxlbW9qaXM6eCxjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOmJ9KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoMTc0MTc4KSksZW1vamlzOkksY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpnfSl9XX0sNDI4OTI0KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0Vtb2ppSXRlbTooKT0+Zn0pO3ZhciB0PXUoNzc5NDc0KSxjPXUoOTE0NDg3KSxuPXUubihjKSxvPXUoMjczMzEwKSxhPXUoMTg1MjcxKSxsPXUoMzMzMzEyKSxyPXUoNDI3NzczKSxpPXUoNDI4MDk3KSxzPXUoODg5NTQ2KTtmdW5jdGlvbiBmKGUpe2NvbnN0e2Vtb2ppOmQsY2xhc3NOYW1lOmN9PWU7aWYoZD09PXIuRU1QVFlfRU1PSkkpcmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLkljb24se2NsYXNzTmFtZTpuKCkoYyxpLmNsZWFyQnV0dG9uLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLGljb246cyx0aXRsZTphLnQobnVsbCx2b2lkIDAsdSg3NTQzODIpKX0pO2NvbnN0IGY9KDAsbC5nZXRUd2Vtb2ppVXJsKShkLCJwbmciKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJpbWciLHtjbGFzc05hbWU6bigpKGMsaS5lbW9qaSksc3JjOmYsZGVjb2Rpbmc6ImFzeW5jIix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLGFsdDoiIixkcmFnZ2FibGU6ITEsb25Db250ZXh0TWVudTpmdW5jdGlvbihlKXtpZihlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJmUudGFyZ2V0LmNsb3Nlc3QoImEiKSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpfX0pfX0sMjczNzMyKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0ljb25JdGVtOigpPT5sfSk7dmFyIHQ9dSg3Nzk0NzQpLGM9dSg5MTQ0ODcpLG49dS5uKGMpLG89dSgyNzMzMTApLGE9dSg0MDIyMyk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKGEud3JhcHBlcixlLmNsYXNzTmFtZSl9LHQuY3JlYXRlRWxlbWVudChvLkljb24se2ljb246ZS5pY29ufSkpfX0sNTEwNTk4KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0xlYWRpbmdFbW9qaVRleHQ6KCk9PmF9KTt2YXIgdD11KDc3OTQ3NCksYz11KDI0OWUzKSxuPXUoNDI4OTI0KSxvPXUoOTk1ODUxKTtmdW5jdGlvbiBhKGUpe2NvbnN0e3RleHQ6ZCx0ZXh0UmVuZGVyOnUsZmlyc3RTZWdtZW50T25seTphPSExLHNwYWNlQWZ0ZXJFbW9qaTpsPSEwfT1lLHtsZWFkaW5nRW1vamk6cixwcm9jZXNzZWRUZXh0Oml9PSgwLHQudXNlTWVtbykoKCgpPT4oMCxjLnByb2Nlc3NUZXh0V2l0aExlYWRpbmdFbW9qaSkoe3RleHQ6ZCx0ZXh0UmVuZGVyOnUsZmlyc3RTZWdtZW50T25seTphfSkpLFtkLHUsYV0pO3JldHVybiByP3QuY3JlYXRlRWxlbWVudCh0LkZyYWdtZW50LG51bGwsdC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm8uZW1vamlXcmFwfSwiwqAiLHQuY3JlYXRlRWxlbWVudChuLkVtb2ppSXRlbSx7Y2xhc3NOYW1lOm8uZW1vamksZW1vamk6cn0pKSwiIiE9PWkmJnQuY3JlYXRlRWxlbWVudCh0LkZyYWdtZW50LG51bGwsbCYmdC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCwiwqAiKSxpKSk6dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxpKX19LDI0OWUzKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse2dldExlYWRpbmdFbW9qaUh0bWw6KCk9PnMscHJvY2Vzc1RleHRXaXRoTGVhZGluZ0Vtb2ppOigpPT5pfSk7dmFyIHQ9dSg2NDE1OTMpLGM9dSg5MzAyMzEpLG49dSgzMTUxNTQpLG89dSg0Mjc3NzMpLGE9dSgzMzMzMTIpLGw9dSg5OTU4NTEpO2NvbnN0IHI9KDAsCmMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7dGV4dDpkLHRleHRSZW5kZXI6dT1lPT5lLGZpcnN0U2VnbWVudE9ubHk6Yz0hMX09ZSxhPSgwLHQuZ2V0Rmlyc3RTZWdtZW50T3JDb2RlUG9pbnRTdHJpbmcpKGQpLGw9bnVsbCE9PWEmJigwLG4uaXNTdXBwb3J0ZWRFbW9qaSkoYSk/YTpvLkVNUFRZX0VNT0pJLGk9Yz9hfHwiIjpkO2lmKCFyfHxsPT09by5FTVBUWV9FTU9KSSlyZXR1cm57bGVhZGluZ0Vtb2ppOiIiLHByb2Nlc3NlZFRleHQ6dShpKX07cmV0dXJue2xlYWRpbmdFbW9qaTpsLHByb2Nlc3NlZFRleHQ6dShpLnJlcGxhY2UobCwiIikpfX1mdW5jdGlvbiBzKGUpe2NvbnN0e3Byb2Nlc3NlZFRleHQ6ZCxsZWFkaW5nRW1vamk6dX09aSh7dGV4dDplfSksYz0oMCx0Lmh0bWxFc2NhcGUpKGQpO2lmKCF1KXJldHVybiBjO3JldHVybmAke2Z1bmN0aW9uKGUpe2NvbnN0IGQ9KDAsYS5nZXRUd2Vtb2ppVXJsKShlLCJwbmciKTtyZXR1cm5gPHNwYW4gY2xhc3M9JHtsLnRvb2x0aXBFbW9qaVdyYXB9PiZuYnNwPGltZyBjbGFzcz0ke2wudG9vbHRpcEVtb2ppfSBzcmM9JHtkfSBkZWNvZGluZz0iYXN5bmMiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgYWx0PSIiIGRyYWdnYWJsZT0iZmFsc2UiLz48L3NwYW4+YH0odSl9Jm5ic3A7JHtjfWB9fSw0OTI5NzgoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7TGlzdEl0ZW1CdXR0b246KCk9Pmx9KTt2YXIgdD11KDc3OTQ3NCksYz11KDkxNDQ4Nyksbj11Lm4oYyksbz11KDI3MzMxMCksYT11KDIyODU4MSk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGFzc05hbWU6ZCxkaXNhYmxlZDp1LC4uLmN9PWU7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLkljb24se2NsYXNzTmFtZTpuKCkoYS5idXR0b24sdSYmYS5kaXNhYmxlZCxkKSwuLi5jfSl9fSwzMzMzMTIoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7Z2V0VHdlbW9qaVVybDooKT0+Y30pO3ZhciB0PXUoMjYwNjAzKTtmdW5jdGlvbiBjKGUsZCl7bGV0IHU9IiI7cmV0dXJuIHQuZGVmYXVsdC5wYXJzZShlLChlPT4odT10LmRlZmF1bHQuYmFzZSsoInN2ZyI9PT1kP2BzdmcvJHtlfS5zdmdgOmA3Mng3Mi8ke2V9LnBuZ2ApLCExKSkpLHV9dC5kZWZhdWx0LmJhc2U9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3R3ZW1vamkvMTMuMC4xLyJ9LDYwMDUzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI2IiBjeT0iNiIgcj0iNS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNS4xIDIuOTk1YS45MDUuOTA1IDAgMCAxIDEuODAxIDBMNi41IDdoLTFsLS40LTQuMDA1eiIvPjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIGZpbGw9ImN1cnJlbnRDb2xvciIgcng9IjEiIHg9IjUiIHk9IjgiLz48L3N2Zz4nfSw4ODk1NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMzMyIDYuNTQ4IDIxLjQyIDIwLjcwNEE5Ljk2MiA5Ljk2MiAwIDAgMCAyNCAxNGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwYTkuOTYxIDkuOTYxIDAgMCAwLTYuNjY4IDIuNTQ4Wm0xMy4zODEgMTQuODY0TDYuNjIxIDcuMjUyQTkuOTYyIDkuOTYyIDAgMCAwIDQgMTRjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMCAyLjU4NCAwIDQuOTM4LS45OCA2LjcxMy0yLjU4OFpNNi4yNjMgNi4xODFBMTAuOTY3IDEwLjk2NyAwIDAgMSAxNCAzYzYuMDc1IDAgMTEgNC45MjUgMTEgMTEgMCAzLjAzNi0xLjIzIDUuNzg1LTMuMjE4IDcuNzc1QTEwLjk2NyAxMC45NjcgMCAwIDEgMTQgMjVDNy45MjUgMjUgMyAyMC4wNzUgMyAxNGMwLTMuMDU4IDEuMjQ5LTUuODI2IDMuMjYzLTcuODJaIi8+PC9zdmc+J30sNTgzODQyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTMuOSAxNC4xVjIyaDEuMnYtNy45SDIzdi0xLjJoLTcuOVY1aC0xLjJ2Ny45SDZ2MS4yaDcuOXoiLz48L3N2Zz4nfSwzODQxNTQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNCA5LjVhLjUuNSAwIDAgMCAxIDBWNy4wMkE2LjUgNi41IDAgMCAxIDIwLjk4IDEzSDE4LjVhLjUuNSAwIDAgMCAwIDFoMi40OEE2LjUgNi41IDAgMCAxIDE1IDE5Ljk4VjE3LjVhLjUuNSAwIDAgMC0xIDB2Mi40OEE2LjUgNi41IDAgMCAxIDguMDIgMTRoMi40OGEuNS41IDAgMCAwIDAtMUg4LjAyQTYuNSA2LjUgMCAwIDEgMTQgNy4wMlY5LjV6bTEtMy40OFY0LjVhLjUuNSAwIDAgMC0xIDB2MS41MkE3LjUgNy41IDAgMCAwIDcuMDIgMTNINS41YS41LjUgMCAwIDAgMCAxaDEuNTJBNy41IDcuNSAwIDAgMCAxNCAyMC45OHYxLjUyYS41LjUgMCAwIDAgMSAwdi0xLjUyQTcuNSA3LjUgMCAwIDAgMjEuOTggMTRoMS41MmEuNS41IDAgMCAwIDAtMWgtMS41MkE3LjUgNy41IDAgMCAwIDE1IDYuMDJ6Ii8+PC9zdmc+J30sMjAyNTExKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy45OCA2LjAyTDE0LjUgNmMyLjE4IDAgNC4xNi44IDUuNjYgMi4xNGwtNS42NiA1LjY1LTIuMzEtMi4zYTguNDMgOC40MyAwIDAgMCAxLjU1LTMuNjQgMTQuMDEgMTQuMDEgMCAwIDAgLjI0LTEuODN6bS0xLjAxLjEyYTguNDUgOC40NSAwIDAgMC00LjEzIDJsMi42NCAyLjYzYTcuNTkgNy41OSAwIDAgMCAxLjI4LTMuMTJjLjEyLS41OS4xOC0xLjEyLjItMS41MXptLTQuODMgMi43YTguNDUgOC40NSAwIDAgMC0yIDQuMTNjLjM5LS4wMy45Mi0uMSAxLjUxLS4yMWE3LjU5IDcuNTkgMCAwIDAgMy4xMi0xLjI4TDguMTQgOC44NHptLTIuMTIgNS4xNGE4LjQ4IDguNDggMCAwIDAgMi4xMiA2LjE4bDUuNjUtNS42Ni0yLjMtMi4zMWE4LjQzIDguNDMgMCAwIDEtMy42NCAxLjU1IDE0LjAzIDE0LjAzIDAgMCAxLTEuODMuMjR6bTIuODIgNi44OGE4LjQ2IDguNDYgMCAwIDAgNS4xMyAyLjEydi0uMDdBOC45NSA4Ljk1IDAgMCAxIDE2LjMgMTdsLTEuOC0xLjgtNS42NiA1LjY1ek0xNC45NyAyM2MyLS4xIDMuOC0uOSA1LjE5LTIuMTNMMTcgMTcuNzJhNy45NCA3Ljk0IDAgMCAwLTIuMDQgNS4yN3ptNS45LTIuODNhOC40NiA4LjQ2IDAgMCAwIDIuMTEtNS4xM2gtLjAyYTEwLjYyIDEwLjYyIDAgMCAwLTUuMiAybDMuMSAzLjEzem0yLjEyLTYuMTNjLS4xLTItLjktMy44LTIuMTMtNS4xOWwtNS42NSA1LjY2IDEuODMgMS44M2ExMS42IDExLjYgMCAwIDEgNS45NS0yLjN6TTE0LjUgNUE5LjQ2IDkuNDYgMCAwIDAgNSAxNC41YzAgNS4yOCA0LjIyIDkuNSA5LjUgOS41czkuNS00LjIyIDkuNS05LjVTMTkuNzggNSAxNC41IDV6Ii8+PC9zdmc+J30sMTYxMTc3KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC41NCAzLjJsLjc4LS41OSA1LjQ5IDQuNSAxLjQzIDEuMDdhNS4yOCA1LjI4IDAgMCAxIDIuMTktMi4zIDkuMTkgOS4xOSAwIDAgMSAxLjg4LS44NWguMDRsLjAxLS4wMS4xNC40OC40Mi0uMjh2LjAxbC4wMS4wMmEzLjE0IDMuMTQgMCAwIDEgLjE2LjI2bC4zNy43MmMuMi40NS40IDEuMDIuNSAxLjY0YTIuMTMgMi4xMyAwIDAgMSAxLjg5LjQ2bC4xOC4xNi4wMy4wMi4xOC4xNmMuMjIuMTYuNDIuMjcuODEuMjVhNS45IDUuOSAwIDAgMCAyLjItLjg2bC42Ni0uMzYuMDkuNzVhNS45OCA1Ljk4IDAgMCAxLTEuNyA1LjEgNi44NyA2Ljg3IDAgMCAxLTEuNyAxLjIzIDE5Ljk3IDE5Ljk3IDAgMCAxIC40OCAyLjQ4Yy4yNSAxLjczLjQyIDQuMDguMDYgNi41QTEuNDYgMS40NiAwIDAgMSAxOS42OCAyNWgtNy43MWExLjUgMS41IDAgMCAxLTEuNC0yLjA2bDEtMi40N2MtLjE4LjAyLS4zNy4wMy0uNTguMDNhMyAzIDAgMCAxLTEuNTMtLjQgNi44NCA2Ljg0IDAgMCAxLTEuNi42NGMtMS4wOC4yNy0yLjU1LjI5LTMuNzItLjg5YTQuMDYgNC4wNiAwIDAgMS0uOTYtMyA1LjEgNS4xIDAgMCAxIDItMy43NCA5OC41IDk4LjUgMCAwIDAgMi43LTIuMjRMNC41NSAzLjJ6TTE2LjUgNS41bC0uMTQtLjQ4LjM1LS4xLjIuMy0uNDEuMjh6bS03Ljg3IDYuMDZhNTcuNDggNTcuNDggMCAwIDEtMi4xOSAxLjgybC40OS4yNmMuNjUuMzcgMS40OC45IDEuOTcgMS41NmE1Ljc4IDUuNzggMCAwIDEgMS4xNCA0LjA3bC4wNi4wM2MuMTkuMS40OS4yLjkuMi42OCAwIC45NS0uMTEgMS4wMy0uMTZ2LS4wM2wuOTcuMTloLS41LjV2LjAzYS43NS43NSAwIDAgMS0uMDEuMS43NC43NCAwIDAgMS0uMDkuMjFsLTEuMzkgMy40N2EuNS41IDAgMCAwIC40Ny42OWg3LjcxYy4yNCAwIC40My0uMTcuNDctLjM4YTIyIDIyIDAgMCAwLS4wNi02LjIyIDI0LjQgMjQuNCAwIDAgMC0uNTYtMi43MSAxMS4zNSAxMS4zNSAwIDAgMC0uOTQtMS41MiA3LjEgNy4xIDAgMCAwLTIuMzEtMi4yMmwtLjYyLS4zMS40OS0uNUEzLjAzIDMuMDMgMCAwIDAgMTcgOC42YTEuMiAxLjIgMCAwIDAgLjAxLS4xYzAtLjY1LS4yMi0xLjMzLS40Ni0xLjg2LS4xLS4yMS0uMTgtLjQtLjI2LS41NGE4LjA3IDguMDcgMCAwIDAtMS4zNC42NGMtLjkuNTQtMS43NCAxLjMyLTEuOTUgMi4zNnYuMDNsLS4wMi4wM0wxMi41IDlsLjQ3LjE2di4wMmEyLjk3IDIuOTcgMCAwIDEtLjEuMjYgNS45IDUuOSAwIDAgMS0uMzEuNjJjLS4yNy40Ni0uNyAxLjA3LTEuMzQgMS4zOS0uNjMuMzEtMS4zOC4zLTEuOS4yM2E1LjgzIDUuODMgMCAwIDEtLjctLjEyem0zLjI2LTIuMzlMMTAuMiA3LjlsLS4wMi0uMDFMNi4zIDQuN2wyLjU3IDUuODhoLjAxYy4xNC4wNC4zNC4wOC41Ny4xMS40Ny4wNi45Ny4wNSAxLjM0LS4xNC4zNi0uMTguNjgtLjU3LjkxLS45OS4wOC0uMTQuMTUtLjI3LjItLjM5em04LjMyIDQuNjhhNS40NyA1LjQ3IDAgMCAwIDEuMzctMS4wMiA0Ljg4IDQuODggMCAwIDAgMS40Ni0zLjUzYy0uOC4zOS0xLjQxLjU4LTEuOTIuNjEtLjcuMDUtMS4xNC0uMTgtMS40OS0uNDVhNS42IDUuNiAwIDAgMS0uMjItLjE5bC0uMDMtLjAzLS4xNy0uMTNhMS40IDEuNCAwIDAgMC0uMzMtLjIyYy0uMTgtLjA3LS40NC0uMTItLjkzIDBsLS4xLjRjLS4xLjMtLjI4LjY5LS41OCAxLjA5Ljg3LjU5IDEuNiAxLjQ2IDIuMTQgMi4yYTE0LjkyIDE0LjkyIDAgMCAxIC44IDEuMjd6TTkuMDUgMTkuMTl2LS4wOWE0Ljc4IDQuNzggMCAwIDAtLjk2LTMuMyA1LjU2IDUuNTYgMCAwIDAtMS42NS0xLjI5Yy0uMy0uMTctLjYtLjMtLjgtLjRsLS4wNS0uMDNhNC4wNSA0LjA1IDAgMCAwLTEuNCAyLjgyIDMuMSAzLjEgMCAwIDAgLjY2IDIuMjVjLjgzLjgyIDEuODYuODQgMi43OC42MmE1LjcxIDUuNzEgMCAwIDAgMS40Mi0uNTh6bTQuMjYtNS44N2MtLjMuMjQtLjc0LjU0LTEuMTguNjYtLjM3LjEtLjgxLjEtMS4xMi4wOGE2Ljk1IDYuOTUgMCAwIDEtLjU0LS4wNmgtLjA1bC4wOC0uNS4wOC0uNS4wMy4wMWE1LjAyIDUuMDIgMCAwIDAgMS4yNiAwYy4yNC0uMDYuNTQtLjI1LjgzLS40N2E2LjEgNi4xIDAgMCAwIC40Mi0uMzdsLjAyLS4wMi4zNi4zNS4zNS4zNmgtLjAxbC0uMDMuMDRhNi4wOSA2LjA5IDAgMCAxLS41LjQyek02IDE3aDF2LTFINnYxeiIvPjwvc3ZnPid9LDU2OTc4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjUgMjR2LTUuNW0wIDBzMi43LTEuMSA0LjUtMWMyLjEuMTIgMi45IDEuODggNSAyIDEuOC4xIDQuNS0xIDQuNS0xdi02bS0xNCA2di02bTAgMHYtNnMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTF2Nm0tMTQgMHMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTEiLz48L3N2Zz4nfSwxODU2MDUoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjUgOGgxLjM2bC0uODUtMy4zOC45OC0uMjQuOSAzLjYyaDcuNjRhMS4zNCAxLjM0IDAgMCAxIC4yLjAyYy4xMy4wMi4zMS4wNy41LjE2LjE4LjA5LjM4LjI0LjUzLjQ2LjE1LjI0LjI0LjUyLjI0Ljg2IDAgLjM0LS4wOS42Mi0uMjQuODZhMS4zOCAxLjM4IDAgMCAxLS43OS41NkwyMiAyNC41NGwtLjAzLjQ2SDYuNWMtMSAwLTEuNjQtLjY4LTEuOTktMS4yM2E0LjQgNC40IDAgMCAxLS4zOC0uNzhsLS4wMS0uMDRjLS4xLS4wMy0uMjItLjA3LS4zNC0uMTNhMS4zNiAxLjM2IDAgMCAxLS41NC0uNDZBMS41MSAxLjUxIDAgMCAxIDMgMjEuNWMwLS4zNC4wOS0uNjIuMjQtLjg2LjE1LS4yMi4zNS0uMzcuNTQtLjQ2LjEtLjA1LjItLjA5LjI4LS4xMWE2LjYgNi42IDAgMCAxIC45Ni0yLjM0QzUuOTIgMTYuMzUgNy41NiAxNSAxMC41IDE1Yy43MiAwIDEuMzYuMDggMS45My4yMmwtLjQtNC4zYTEuMzggMS4zOCAwIDAgMS0uOC0uNTdBMS41MSAxLjUxIDAgMCAxIDExIDkuNWMwLS4zNC4wOS0uNjIuMjQtLjg2LjE1LS4yMi4zNS0uMzcuNTQtLjQ2YTEuNzMgMS43MyAwIDAgMSAuNy0uMThoLjAydi41Vjh6bS45NiA3LjU3YTUuNzMgNS43MyAwIDAgMSAyLjUyIDIuMTYgNi44NiA2Ljg2IDAgMCAxIC45NSAyLjM0IDEuMzggMS4zOCAwIDAgMSAuODIuNThjLjE2LjIzLjI1LjUxLjI1Ljg1IDAgLjM0LS4wOS42Mi0uMjQuODYtLjE1LjIyLS4zNS4zNy0uNTQuNDYtLjEyLjA2LS4yNC4xLS4zNC4xM2wtLjAxLjA0YTQuNCA0LjQgMCAwIDEtLjU0IDEuMDFoNC43bC45My0xM2gtOC45MWwuNDEgNC41N3pNMTQuNSA5aDhhLjczLjczIDAgMCAxIC4yOC4wN2MuMDYuMDQuMTEuMDguMTUuMTMuMDMuMDUuMDcuMTQuMDcuMyAwIC4xNi0uMDQuMjUtLjA3LjNhLjM4LjM4IDAgMCAxLS4xNS4xMy43My43MyAwIDAgMS0uMjcuMDdIMTIuNWEuNzMuNzMgMCAwIDEtLjI4LS4wNy4zOC4zOCAwIDAgMS0uMTUtLjEzLjUyLjUyIDAgMCAxLS4wNy0uM2MwLS4xNi4wNC0uMjUuMDctLjMuMDQtLjA1LjA5LS4xLjE1LS4xM0EuNzMuNzMgMCAwIDEgMTIuNSA5aDIuMDF6bTEuNCAxMWE1LjggNS44IDAgMCAwLS43Ni0xLjczQzE0LjQxIDE3LjE1IDEzLjA2IDE2IDEwLjUgMTZjLTIuNTYgMC0zLjkxIDEuMTUtNC42NCAyLjI3QTUuODYgNS44NiAwIDAgMCA1LjEgMjBoMTAuNzh6TTQuNSAyMWEuNzIuNzIgMCAwIDAtLjI4LjA3LjM4LjM4IDAgMCAwLS4xNS4xMy41Mi41MiAwIDAgMC0uMDcuM2MwIC4xNi4wNC4yNS4wNy4zLjA0LjA1LjA5LjEuMTUuMTNhLjczLjczIDAgMCAwIC4yNy4wN0gxNi41YS43Mi43MiAwIDAgMCAuMjgtLjA3LjM4LjM4IDAgMCAwIC4xNS0uMTMuNTIuNTIgMCAwIDAgLjA3LS4zLjUyLjUyIDAgMCAwLS4wNy0uMy4zOC4zOCAwIDAgMC0uMTUtLjEzLjczLjczIDAgMCAwLS4yNy0uMDdINC41em0uNzMgMmwuMTMuMjNjLjI4LjQ1LjY1Ljc3IDEuMTQuNzdoOGMuNSAwIC44Ni0uMzIgMS4xNC0uNzcuMDUtLjA3LjEtLjE1LjEzLS4yM0g1LjIzek0xMSAxN3YxaC0xdi0xaDF6bS0zIDFoMXYxSDh2LTF6bTQgMXYtMWgxdjFoLTF6Ii8+PC9zdmc+J30sNjk0NTMyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjUgMjFIOWguNXptOCAwSDE3aC41em0tNi0xMEgxMXYxaC41di0xem00IDFoLjV2LTFoLS41djF6bTIgNy41aC41LS41em0uMjktMS41OUE3Ljk3IDcuOTcgMCAwIDAgMjEgMTEuNWgtMWE2Ljk3IDYuOTcgMCAwIDEtMi43OSA1LjU5bC41OC44MnpNMjEgMTEuNUE3LjUgNy41IDAgMCAwIDEzLjUgNHYxYTYuNSA2LjUgMCAwIDEgNi41IDYuNWgxek0xMy41IDRBNy41IDcuNSAwIDAgMCA2IDExLjVoMUE2LjUgNi41IDAgMCAxIDEzLjUgNVY0ek02IDExLjVhNy45OCA3Ljk4IDAgMCAwIDMuMjEgNi40MWwuNTctLjgyQTYuOTggNi45OCAwIDAgMSA3IDExLjVINnpNOSAyMWExIDEgMCAwIDAgMSAxdi0xSDl6bTggMWExIDEgMCAwIDAgMS0xaC0xdjF6bS02LS41VjIzaDF2LTEuNWgtMXptMCAxLjVhMSAxIDAgMCAwIDEgMXYtMWgtMXptMSAxaDN2LTFoLTN2MXptMyAwYTEgMSAwIDAgMCAxLTFoLTF2MXptMS0xdi0xLjVoLTFWMjNoMXptLTMtMTEuNXY2aDF2LTZoLTF6TTkuNSAyMGg4di0xaC04djF6TTkgMTcuNXYyaDF2LTJIOXptMCAyVjIxaDF2LTEuNUg5em05IDEuNXYtMS41aC0xVjIxaDF6bTAtMS41di0yaC0xdjJoMXpNOS41IDE4aDR2LTFoLTR2MXptNCAwaDR2LTFoLTR2MXptLTItNmgydi0xaC0ydjF6bTIgMGgydi0xaC0ydjF6TTEwIDIyaDEuNXYtMUgxMHYxem0xLjUgMGg0di0xaC00djF6bTQgMEgxN3YtMWgtMS41djF6Ii8+PC9zdmc+J30sODE0NjcwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik02IDE0LjVDNiA5Ljc4IDkuNzggNiAxNC41IDZjNC43MiAwIDguNSAzLjc4IDguNSA4LjUgMCA0LjcyLTMuNzggOC41LTguNSA4LjVBOC40NiA4LjQ2IDAgMCAxIDYgMTQuNXpNMTQuNSA1QTkuNDYgOS40NiAwIDAgMCA1IDE0LjVjMCA1LjI4IDQuMjIgOS41IDkuNSA5LjVzOS41LTQuMjIgOS41LTkuNVMxOS43OCA1IDE0LjUgNXpNMTQgMTZWOWgxdjZoNHYxaC01eiIvPjwvc3ZnPid9LDYyMDc4MShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYgMTQuNUM2IDkuNzggOS43OCA2IDE0LjUgNmM0LjcyIDAgOC41IDMuNzggOC41IDguNSAwIDQuNzItMy43OCA4LjUtOC41IDguNUE4LjQ2IDguNDYgMCAwIDEgNiAxNC41ek0xNC41IDVBOS40NiA5LjQ2IDAgMCAwIDUgMTQuNWMwIDUuMjggNC4yMiA5LjUgOS41IDkuNXM5LjUtNC4yMiA5LjUtOS41UzE5Ljc4IDUgMTQuNSA1ek0xMiAxMmExIDEgMCAxIDAgMCAyIDEgMSAwIDAgMCAwLTJ6bTQgMWExIDEgMCAxIDEgMiAwIDEgMSAwIDAgMS0yIDB6bS02IDRsLS40My4yNnYuMDFsLjAzLjAzYTMuNTUgMy41NSAwIDAgMCAuMy40IDUuNyA1LjcgMCAwIDAgOS4yMiAwIDUuNDIgNS40MiAwIDAgMCAuMjgtLjRsLjAyLS4wM3YtLjAxTDE5IDE3bC0uNDMtLjI2di4wMmEyLjQ1IDIuNDUgMCAwIDEtLjI0LjMyYy0uMTcuMjEtLjQzLjUtLjc4Ljc5YTQuNzEgNC43MSAwIDAgMS02Ljg4LS44IDQuMzIgNC4zMiAwIDAgMS0uMjMtLjMxbC0uMDEtLjAyTDEwIDE3eiIvPjwvc3ZnPid9LDkwMDMxMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjYgMTUuNDNBNi4xOSA2LjE5IDAgMCAxIDE0IDYuMzZhNi4xOSA2LjE5IDAgMCAxIDguNCA5LjA4bC0uMDMuMDItNy4zIDcuMzFhMS41IDEuNSAwIDAgMS0yLjEzIDBsLTcuMy03LjMtLjAzLS4wM20uNzEtLjd2LS4wMWE1LjE5IDUuMTkgMCAwIDEgNy4zMy03LjM0di4wMWMuMi4yLjUxLjE5LjcgMGE1LjE5IDUuMTkgMCAwIDEgNy4zNCA3LjMzbC0uMDMuMDItNy4zIDcuMzFhLjUuNSAwIDAgMS0uNzEgMGwtNy4zLTcuMy0uMDMtLjAyeiIvPjwvc3ZnPid9LDc1MDc2OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjIuODcgNi40NGMuMDktLjc4LS41My0xLjQtMS4zLTEuMzEtMS40My4xNS0zLjQzLjQ4LTUuNDIgMS4yYTExLjggMTEuOCAwIDAgMC01LjIzIDMuNDRMOS44NiAxMS45bDYuMjQgNi4yNCAyLjEzLTEuMDZhMTEuOCAxMS44IDAgMCAwIDMuNDQtNS4yM2MuNzItMS45OSAxLjA1LTQgMS4yLTUuNDF6bS00LjkzIDExLjlsLTEuNzIuODYtLjA0LjAyaC0uMDRsLTIuMi42N3YuMDFhMTkuNjggMTkuNjggMCAwIDAtLjEzIDMuMzNjLjAxLjE0LjA4LjIyLjE3LjI2LjA4LjA0LjIuMDUuMzItLjAzYTE4LjgzIDE4LjgzIDAgMCAwIDIuNzktMi4yNiA4LjE4IDguMTggMCAwIDAgLjQ0LTEuMWMuMTYtLjUxLjMzLTEuMTIuNDEtMS43NnptLS40NCAzLjE2bC4zNS4zNS0uMDEuMDItLjA1LjA1YTE2Ljg1IDE2Ljg1IDAgMCAxLS44My43NmMtLjU0LjQ3LTEuMyAxLjA4LTIuMSAxLjYxYTEuMyAxLjMgMCAwIDEtMi4wNS0uOTggMTYuNDYgMTYuNDYgMCAwIDEgLjA5LTMuMDhsLS4xNi4wNWExLjUgMS41IDAgMCAxLTEuNTMtLjM2bC0zLjEzLTMuMTNjLS40LS40LS41NC0xLS4zNi0xLjUzbC4wNS0uMTYtLjM2LjA0Yy0uNy4wNi0xLjYyLjExLTIuNTQuMDZhMS4zIDEuMyAwIDAgMS0xLjEzLS44Yy0uMTgtLjQyLS4xMy0uOTQuMTctMS4zNWE4Ny41NSA4Ny41NSAwIDAgMSAyLjE1LTIuOGwuMDQtLjA0di0uMDJsLjQuMzEtLjIyLS40NS4wMy0uMDFhNS45MyA1LjkzIDAgMCAxIC4zNC0uMTZjLjIzLS4xLjU1LS4yMi45NC0uMzVBOS43NyA5Ljc3IDAgMCAxIDEwLjI2IDlhMTIuOSAxMi45IDAgMCAxIDUuNTUtMy42MWMyLjA5LS43NiA0LjE4LTEuMSA1LjY1LTEuMjYgMS40MS0uMTUgMi41NiAxIDIuNCAyLjQxYTI0LjA0IDI0LjA0IDAgMCAxLTEuMjUgNS42NUExMi45IDEyLjkgMCAwIDEgMTkgMTcuNzRhOS43NyA5Ljc3IDAgMCAxLS44OCAzLjYxIDkuMTggOS4xOCAwIDAgMS0uMTYuMzR2LjAzaC0uMDFsLS40NS0uMjJ6bTAgMGwuNDUuMjItLjA0LjA4LS4wNi4wNS0uMzUtLjM1em0tMTEtMTFsLS40LS4zMS4wOC0uMDkuMS0uMDUuMjIuNDV6bTMuMTYtLjQ0YTkuNjEgOS42MSAwIDAgMC0yLjg0Ljg0bC0uMTMuMTZhMTA5LjgzIDEwOS44MyAwIDAgMC0xLjk3IDIuNTguNC40IDAgMCAwLS4wNi4zOGMuMDQuMS4xMi4xNy4yNy4xOGExNi4wNSAxNi4wNSAwIDAgMCAzLjE4LS4xNWwuNjYtMi4yLjAxLS4wMy4wMi0uMDQuODYtMS43MnptNS40IDguNDVsLTUuNTctNS41Ni0uNTEgMS43LS4zMS45MmEuNS41IDAgMCAwIC4xMi41MWwzLjEzIDMuMTNhLjUuNSAwIDAgMCAuNS4xMmwuOTItLjNoLjAybDEuNy0uNTJ6bS0xMC45MS42NGwyLTIgLjcuNy0yIDItLjctLjd6bTAgNGw0LTQgLjcuNy00IDQtLjctLjd6bTQgMGwyLTIgLjcuNy0yIDItLjctLjd6TTE2IDEwLjVhMS41IDEuNSAwIDEgMSAzIDAgMS41IDEuNSAwIDAgMS0zIDB6TTE3LjUgOGEyLjUgMi41IDAgMSAwIDAgNSAyLjUgMi41IDAgMCAwIDAtNXoiLz48L3N2Zz4nfSwyNjA2MDMoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7ZGVmYXVsdDooKT0+dH0pO2NvbnN0IHQ9ZnVuY3Rpb24oKXt2YXIgZT17YmFzZToiaHR0cHM6Ly90d2Vtb2ppLm1heGNkbi5jb20vdi8xMy4wLjEvIixleHQ6Ii5wbmciLHNpemU6IjcyeDcyIixjbGFzc05hbWU6ImVtb2ppIixjb252ZXJ0Ontmcm9tQ29kZVBvaW50OmZ1bmN0aW9uKGUpe3ZhciBkPSJzdHJpbmciPT10eXBlb2YgZT9wYXJzZUludChlLDE2KTplO2lmKGQ8NjU1MzYpcmV0dXJuIGEoZCk7cmV0dXJuIGEoNTUyOTYrKChkLT02NTUzNik+PjEwKSw1NjMyMCsoMTAyMyZkKSl9LHRvQ29kZVBvaW50Omd9LG9uZXJyb3I6ZnVuY3Rpb24oKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobCh0aGlzLmFsdCwhMSksdGhpcyl9LApwYXJzZTpmdW5jdGlvbihkLHUpe3UmJiJmdW5jdGlvbiIhPXR5cGVvZiB1fHwodT17Y2FsbGJhY2s6dX0pO3JldHVybigic3RyaW5nIj09dHlwZW9mIGQ/bTpmKShkLHtjYWxsYmFjazp1LmNhbGxiYWNrfHxyLGF0dHJpYnV0ZXM6ImZ1bmN0aW9uIj09dHlwZW9mIHUuYXR0cmlidXRlcz91LmF0dHJpYnV0ZXM6cCxiYXNlOiJzdHJpbmciPT10eXBlb2YgdS5iYXNlP3UuYmFzZTplLmJhc2UsZXh0OnUuZXh0fHxlLmV4dCxzaXplOnUuZm9sZGVyfHwodD11LnNpemV8fGUuc2l6ZSwibnVtYmVyIj09dHlwZW9mIHQ/dCsieCIrdDp0KSxjbGFzc05hbWU6dS5jbGFzc05hbWV8fGUuY2xhc3NOYW1lLG9uZXJyb3I6dS5vbmVycm9yfHxlLm9uZXJyb3J9KTt2YXIgdH0scmVwbGFjZTpiLHRlc3Q6ZnVuY3Rpb24oZSl7dS5sYXN0SW5kZXg9MDt2YXIgZD11LnRlc3QoZSk7cmV0dXJuIHUubGFzdEluZGV4PTAsZH19LGQ9eyImIjoiJmFtcDsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwiJyI6IiYjMzk7IiwnIic6IiZxdW90OyIKfSx1PS8oPzpcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMXxcdWQ4M2RcdWRjNmJcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZjXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2ZFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RbXHVkYzZiLVx1ZGM2ZF0pfCg/Olx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZVx1ZGRkMSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP1x1MjAwZCg/Olx1MjY5NVx1ZmUwZnxcdTI2OTZcdWZlMGZ8XHUyNzA4XHVmZTBmfFx1ZDgzY1tcdWRmM2VcdWRmNzNcdWRmN2NcdWRmODRcdWRmOTNcdWRmYTRcdWRmYThcdWRmZWJcdWRmZWRdfFx1ZDgzZFtcdWRjYmJcdWRjYmNcdWRkMjdcdWRkMmNcdWRlODBcdWRlOTJdfFx1ZDgzZVtcdWRkYWYtXHVkZGIzXHVkZGJjXHVkZGJkXSl8KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NV18XHUyNmY5KSgoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVmZTBmKVx1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmKXwoPzpcdWQ4M2NbXHVkZmMzXHVkZmM0XHVkZmNhXXxcdWQ4M2RbXHVkYzZlXHVkYzcwXHVkYzcxXHVkYzczXHVkYzc3XHVkYzgxXHVkYzgyXHVkYzg2XHVkYzg3XHVkZTQ1LVx1ZGU0N1x1ZGU0Ylx1ZGU0ZFx1ZGU0ZVx1ZGVhM1x1ZGViNC1cdWRlYjZdfFx1ZDgzZVtcdWRkMjZcdWRkMzVcdWRkMzctXHVkZDM5XHVkZDNkXHVkZDNlXHVkZGI4XHVkZGI5XHVkZGNkLVx1ZGRjZlx1ZGRkNi1cdWRkZGRdKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/XHUyMDBkW1x1MjY0MFx1MjY0Ml1cdWZlMGZ8KD86XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1MjZhN1x1ZmUwZnxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdWQ4M2NcdWRmMDh8XHVkODNjXHVkZmY0XHUyMDBkXHUyNjIwXHVmZTBmfFx1ZDgzZFx1ZGMxNVx1MjAwZFx1ZDgzZVx1ZGRiYXxcdWQ4M2RcdWRjM2JcdTIwMGRcdTI3NDRcdWZlMGZ8XHVkODNkXHVkYzQxXHUyMDBkXHVkODNkXHVkZGU4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2RcdWRjNmZcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNkXHVkYzA4XHUyMDBkXHUyYjFiKXxbIyowLTldXHVmZTBmP1x1MjBlM3woPzpbwqnCrlx1MjEyMlx1MjY1Zl1cdWZlMGYpfCg/Olx1ZDgzY1tcdWRjMDRcdWRkNzBcdWRkNzFcdWRkN2VcdWRkN2ZcdWRlMDJcdWRlMWFcdWRlMmZcdWRlMzdcdWRmMjFcdWRmMjQtXHVkZjJjXHVkZjM2XHVkZjdkXHVkZjk2XHVkZjk3XHVkZjk5LVx1ZGY5Ylx1ZGY5ZVx1ZGY5Zlx1ZGZjZFx1ZGZjZVx1ZGZkNC1cdWRmZGZcdWRmZjNcdWRmZjVcdWRmZjddfFx1ZDgzZFtcdWRjM2ZcdWRjNDFcdWRjZmRcdWRkNDlcdWRkNGFcdWRkNmZcdWRkNzBcdWRkNzNcdWRkNzYtXHVkZDc5XHVkZDg3XHVkZDhhLVx1ZGQ4ZFx1ZGRhNVx1ZGRhOFx1ZGRiMVx1ZGRiMlx1ZGRiY1x1ZGRjMi1cdWRkYzRcdWRkZDEtXHVkZGQzXHVkZGRjLVx1ZGRkZVx1ZGRlMVx1ZGRlM1x1ZGRlOFx1ZGRlZlx1ZGRmM1x1ZGRmYVx1ZGVjYlx1ZGVjZC1cdWRlY2ZcdWRlZTAtXHVkZWU1XHVkZWU5XHVkZWYwXHVkZWYzXXxbXHUyMDNjXHUyMDQ5XHUyMTM5XHUyMTk0LVx1MjE5OVx1MjFhOVx1MjFhYVx1MjMxYVx1MjMxYlx1MjMyOFx1MjNjZlx1MjNlZC1cdTIzZWZcdTIzZjFcdTIzZjJcdTIzZjgtXHUyM2ZhXHUyNGMyXHUyNWFhXHUyNWFiXHUyNWI2XHUyNWMwXHUyNWZiLVx1MjVmZVx1MjYwMC1cdTI2MDRcdTI2MGVcdTI2MTFcdTI2MTRcdTI2MTVcdTI2MThcdTI2MjBcdTI2MjJcdTI2MjNcdTI2MjZcdTI2MmFcdTI2MmVcdTI2MmZcdTI2MzgtXHUyNjNhXHUyNjQwXHUyNjQyXHUyNjQ4LVx1MjY1M1x1MjY2MFx1MjY2M1x1MjY2NVx1MjY2Nlx1MjY2OFx1MjY3Ylx1MjY3Zlx1MjY5Mi1cdTI2OTdcdTI2OTlcdTI2OWJcdTI2OWNcdTI2YTBcdTI2YTFcdTI2YTdcdTI2YWFcdTI2YWJcdTI2YjBcdTI2YjFcdTI2YmRcdTI2YmVcdTI2YzRcdTI2YzVcdTI2YzhcdTI2Y2ZcdTI2ZDFcdTI2ZDNcdTI2ZDRcdTI2ZTlcdTI2ZWFcdTI2ZjAtXHUyNmY1XHUyNmY4XHUyNmZhXHUyNmZkXHUyNzAyXHUyNzA4XHUyNzA5XHUyNzBmXHUyNzEyXHUyNzE0XHUyNzE2XHUyNzFkXHUyNzIxXHUyNzMzXHUyNzM0XHUyNzQ0XHUyNzQ3XHUyNzU3XHUyNzYzXHUyNzY0XHUyN2ExXHUyOTM0XHUyOTM1XHUyYjA1LVx1MmIwN1x1MmIxYlx1MmIxY1x1MmI1MFx1MmI1NVx1MzAzMFx1MzAzZFx1MzI5N1x1MzI5OV0pKD86XHVmZTBmfCg/IVx1ZmUwZSkpfCg/Oig/Olx1ZDgzY1tcdWRmY2JcdWRmY2NdfFx1ZDgzZFtcdWRkNzRcdWRkNzVcdWRkOTBdfFtcdTI2MWRcdTI2ZjdcdTI2ZjlcdTI3MGNcdTI3MGRdKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzpcdWQ4M2NbXHVkZjg1XHVkZmMyLVx1ZGZjNFx1ZGZjN1x1ZGZjYV18XHVkODNkW1x1ZGM0Mlx1ZGM0M1x1ZGM0Ni1cdWRjNTBcdWRjNjYtXHVkYzY5XHVkYzZlXHVkYzcwLVx1ZGM3OFx1ZGM3Y1x1ZGM4MS1cdWRjODNcdWRjODUtXHVkYzg3XHVkY2FhXHVkZDdhXHVkZDk1XHVkZDk2XHVkZTQ1LVx1ZGU0N1x1ZGU0Yi1cdWRlNGZcdWRlYTNcdWRlYjQtXHVkZWI2XHVkZWMwXHVkZWNjXXxcdWQ4M2VbXHVkZDBjXHVkZDBmXHVkZDE4LVx1ZGQxY1x1ZGQxZVx1ZGQxZlx1ZGQyNlx1ZGQzMC1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkNzdcdWRkYjVcdWRkYjZcdWRkYjhcdWRkYjlcdWRkYmJcdWRkY2QtXHVkZGNmXHVkZGQxLVx1ZGRkZF18W1x1MjcwYVx1MjcwYl0pKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/fCg/Olx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM2NVx1ZGI0MFx1ZGM2ZVx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzNcdWRiNDBcdWRjNjNcdWRiNDBcdWRjNzRcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzc3XHVkYjQwXHVkYzZjXHVkYjQwXHVkYzczXHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGRlNlx1ZDgzY1tcdWRkZTgtXHVkZGVjXHVkZGVlXHVkZGYxXHVkZGYyXHVkZGY0XHVkZGY2LVx1ZGRmYVx1ZGRmY1x1ZGRmZFx1ZGRmZl18XHVkODNjXHVkZGU3XHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWZcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOVx1ZGRmYlx1ZGRmY1x1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGU4XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWVcdWRkZjAtXHVkZGY1XHVkZGY3XHVkZGZhLVx1ZGRmZl18XHVkODNjXHVkZGU5XHVkODNjW1x1ZGRlYVx1ZGRlY1x1ZGRlZlx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmZl18XHVkODNjXHVkZGVhXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYVx1ZGRlY1x1ZGRlZFx1ZGRmNy1cdWRkZmFdfFx1ZDgzY1x1ZGRlYlx1ZDgzY1tcdWRkZWUtXHVkZGYwXHVkZGYyXHVkZGY0XHVkZGY3XXxcdWQ4M2NcdWRkZWNcdWQ4M2NbXHVkZGU2XHVkZGU3XHVkZGU5LVx1ZGRlZVx1ZGRmMS1cdWRkZjNcdWRkZjUtXHVkZGZhXHVkZGZjXHVkZGZlXXxcdWQ4M2NcdWRkZWRcdWQ4M2NbXHVkZGYwXHVkZGYyXHVkZGYzXHVkZGY3XHVkZGY5XHVkZGZhXXxcdWQ4M2NcdWRkZWVcdWQ4M2NbXHVkZGU4LVx1ZGRlYVx1ZGRmMS1cdWRkZjRcdWRkZjYtXHVkZGY5XXxcdWQ4M2NcdWRkZWZcdWQ4M2NbXHVkZGVhXHVkZGYyXHVkZGY0XHVkZGY1XXxcdWQ4M2NcdWRkZjBcdWQ4M2NbXHVkZGVhXHVkZGVjLVx1ZGRlZVx1ZGRmMlx1ZGRmM1x1ZGRmNVx1ZGRmN1x1ZGRmY1x1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGYxXHVkODNjW1x1ZGRlNi1cdWRkZThcdWRkZWVcdWRkZjBcdWRkZjctXHVkZGZiXHVkZGZlXXxcdWQ4M2NcdWRkZjJcdWQ4M2NbXHVkZGU2XHVkZGU4LVx1ZGRlZFx1ZGRmMC1cdWRkZmZdfFx1ZDgzY1x1ZGRmM1x1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWEtXHVkZGVjXHVkZGVlXHVkZGYxXHVkZGY0XHVkZGY1XHVkZGY3XHVkZGZhXHVkZGZmXXxcdWQ4M2NcdWRkZjRcdWQ4M2NcdWRkZjJ8XHVkODNjXHVkZGY1XHVkODNjW1x1ZGRlNlx1ZGRlYS1cdWRkZWRcdWRkZjAtXHVkZGYzXHVkZGY3LVx1ZGRmOVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGY2XHVkODNjXHVkZGU2fFx1ZDgzY1x1ZGRmN1x1ZDgzY1tcdWRkZWFcdWRkZjRcdWRkZjhcdWRkZmFcdWRkZmNdfFx1ZDgzY1x1ZGRmOFx1ZDgzY1tcdWRkZTYtXHVkZGVhXHVkZGVjLVx1ZGRmNFx1ZGRmNy1cdWRkZjlcdWRkZmJcdWRkZmQtXHVkZGZmXXxcdWQ4M2NcdWRkZjlcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGU5XHVkZGViLVx1ZGRlZFx1ZGRlZi1cdWRkZjRcdWRkZjdcdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmZdfFx1ZDgzY1x1ZGRmYVx1ZDgzY1tcdWRkZTZcdWRkZWNcdWRkZjJcdWRkZjNcdWRkZjhcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmYlx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWVcdWRkZjNcdWRkZmFdfFx1ZDgzY1x1ZGRmY1x1ZDgzY1tcdWRkZWJcdWRkZjhdfFx1ZDgzY1x1ZGRmZFx1ZDgzY1x1ZGRmMHxcdWQ4M2NcdWRkZmVcdWQ4M2NbXHVkZGVhXHVkZGY5XXxcdWQ4M2NcdWRkZmZcdWQ4M2NbXHVkZGU2XHVkZGYyXHVkZGZjXXxcdWQ4M2NbXHVkY2NmXHVkZDhlXHVkZDkxLVx1ZGQ5YVx1ZGRlNi1cdWRkZmZcdWRlMDFcdWRlMzItXHVkZTM2XHVkZTM4LVx1ZGUzYVx1ZGU1MFx1ZGU1MVx1ZGYwMC1cdWRmMjBcdWRmMmQtXHVkZjM1XHVkZjM3LVx1ZGY3Y1x1ZGY3ZS1cdWRmODRcdWRmODYtXHVkZjkzXHVkZmEwLVx1ZGZjMVx1ZGZjNVx1ZGZjNlx1ZGZjOFx1ZGZjOVx1ZGZjZi1cdWRmZDNcdWRmZTAtXHVkZmYwXHVkZmY0XHVkZmY4LVx1ZGZmZl18XHVkODNkW1x1ZGMwMC1cdWRjM2VcdWRjNDBcdWRjNDRcdWRjNDVcdWRjNTEtXHVkYzY1XHVkYzZhXHVkYzZmXHVkYzc5LVx1ZGM3Ylx1ZGM3ZC1cdWRjODBcdWRjODRcdWRjODgtXHVkY2E5XHVkY2FiLVx1ZGNmY1x1ZGNmZi1cdWRkM2RcdWRkNGItXHVkZDRlXHVkZDUwLVx1ZGQ2N1x1ZGRhNFx1ZGRmYi1cdWRlNDRcdWRlNDgtXHVkZTRhXHVkZTgwLVx1ZGVhMlx1ZGVhNC1cdWRlYjNcdWRlYjctXHVkZWJmXHVkZWMxLVx1ZGVjNVx1ZGVkMC1cdWRlZDJcdWRlZDUtXHVkZWQ3XHVkZWViXHVkZWVjXHVkZWY0LVx1ZGVmY1x1ZGZlMC1cdWRmZWJdfFx1ZDgzZVtcdWRkMGRcdWRkMGVcdWRkMTAtXHVkZDE3XHVkZDFkXHVkZDIwLVx1ZGQyNVx1ZGQyNy1cdWRkMmZcdWRkM2FcdWRkM2NcdWRkM2YtXHVkZDQ1XHVkZDQ3LVx1ZGQ3Nlx1ZGQ3OFx1ZGQ3YS1cdWRkYjRcdWRkYjdcdWRkYmFcdWRkYmMtXHVkZGNiXHVkZGQwXHVkZGRlLVx1ZGRmZlx1ZGU3MC1cdWRlNzRcdWRlNzgtXHVkZTdhXHVkZTgwLVx1ZGU4Nlx1ZGU5MC1cdWRlYThcdWRlYjAtXHVkZWI2XHVkZWMwLVx1ZGVjMlx1ZGVkMC1cdWRlZDZdfFtcdTIzZTktXHUyM2VjXHUyM2YwXHUyM2YzXHUyNjdlXHUyNmNlXHUyNzA1XHUyNzI4XHUyNzRjXHUyNzRlXHUyNzUzLVx1Mjc1NVx1Mjc5NS1cdTI3OTdcdTI3YjBcdTI3YmZcdWU1MGFdKXxcdWZlMGYvZyx0PS9cdUZFMEYvZyxjPVN0cmluZy5mcm9tQ2hhckNvZGUoODIwNSksbj0vWyY8PiciXS9nLG89L14oPzppZnJhbWV8bm9mcmFtZXN8bm9zY3JpcHR8c2NyaXB0fHNlbGVjdHxzdHlsZXx0ZXh0YXJlYSkkLyxhPVN0cmluZy5mcm9tQ2hhckNvZGUKO3JldHVybiBlO2Z1bmN0aW9uIGwoZSxkKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZD9lLnJlcGxhY2UodCwiIik6ZSl9ZnVuY3Rpb24gcihlLGQpe3JldHVybiIiLmNvbmNhdChkLmJhc2UsZC5zaXplLCIvIixlLGQuZXh0KX1mdW5jdGlvbiBpKGUsZCl7Zm9yKHZhciB1LHQsYz1lLmNoaWxkTm9kZXMsbj1jLmxlbmd0aDtuLS07KTM9PT0odD0odT1jW25dKS5ub2RlVHlwZSk/ZC5wdXNoKHUpOjEhPT10fHwib3duZXJTVkdFbGVtZW50ImluIHV8fG8udGVzdCh1Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHxpKHUsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZyhlLmluZGV4T2YoYyk8MD9lLnJlcGxhY2UodCwiIik6ZSl9ZnVuY3Rpb24gZihlLGQpe2Zvcih2YXIgdCxjLG4sbyxhLHIsZixtLGgscCxiLGcsdixTPWkoZSxbXSkseT1TLmxlbmd0aDt5LS07KXtmb3Iobj0hMSxvPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxyPShhPVNbeV0pLm5vZGVWYWx1ZSxtPTA7Zj11LmV4ZWMocik7KXtpZigoaD1mLmluZGV4KSE9PW0mJm8uYXBwZW5kQ2hpbGQobChyLnNsaWNlKG0saCksITApKSxnPXMoYj1mWzBdKSxtPWgrYi5sZW5ndGgsdj1kLmNhbGxiYWNrKGcsZCksZyYmdil7Zm9yKGMgaW4ocD1uZXcgSW1hZ2UpLm9uZXJyb3I9ZC5vbmVycm9yLHAuc2V0QXR0cmlidXRlKCJkcmFnZ2FibGUiLCJmYWxzZSIpLHQ9ZC5hdHRyaWJ1dGVzKGIsZykpdC5oYXNPd25Qcm9wZXJ0eShjKSYmMCE9PWMuaW5kZXhPZigib24iKSYmIXAuaGFzQXR0cmlidXRlKGMpJiZwLnNldEF0dHJpYnV0ZShjLHRbY10pO3AuY2xhc3NOYW1lPWQuY2xhc3NOYW1lLHAuYWx0PWIscC5zcmM9dixuPSEwLG8uYXBwZW5kQ2hpbGQocCl9cHx8by5hcHBlbmRDaGlsZChsKGIsITEpKSxwPW51bGx9biYmKG08ci5sZW5ndGgmJm8uYXBwZW5kQ2hpbGQobChyLnNsaWNlKG0pLCEwKSksYS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChvLGEpKX1yZXR1cm4gZX1mdW5jdGlvbiBtKGUsZCl7cmV0dXJuIGIoZSwoZnVuY3Rpb24oZSl7dmFyIHUsdCxjPWUsbz1zKGUpLGE9ZC5jYWxsYmFjayhvLGQpO2lmKG8mJmEpe2Zvcih0IGluIGM9IjxpbWcgIi5jb25jYXQoJ2NsYXNzPSInLGQuY2xhc3NOYW1lLCciICcsJ2RyYWdnYWJsZT0iZmFsc2UiICcsJ2FsdD0iJyxlLCciJywnIHNyYz0iJyxhLCciJyksdT1kLmF0dHJpYnV0ZXMoZSxvKSl1Lmhhc093blByb3BlcnR5KHQpJiYwIT09dC5pbmRleE9mKCJvbiIpJiYtMT09PWMuaW5kZXhPZigiICIrdCsiPSIpJiYoYz1jLmNvbmNhdCgiICIsdCwnPSInLHVbdF0ucmVwbGFjZShuLGgpLCciJykpO2M9Yy5jb25jYXQoIi8+Iil9cmV0dXJuIGN9KSl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZFtlXX1mdW5jdGlvbiBwKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gYihlLGQpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSh1LGQpfWZ1bmN0aW9uIGcoZSxkKXtmb3IodmFyIHU9W10sdD0wLGM9MCxuPTA7bjxlLmxlbmd0aDspdD1lLmNoYXJDb2RlQXQobisrKSxjPyh1LnB1c2goKDY1NTM2KyhjLTU1Mjk2PDwxMCkrKHQtNTYzMjApKS50b1N0cmluZygxNikpLGM9MCk6NTUyOTY8PXQmJnQ8PTU2MzE5P2M9dDp1LnB1c2godC50b1N0cmluZygxNikpO3JldHVybiB1LmpvaW4oZHx8Ii0iKX19KCl9fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/bootstrap.min.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.217Z","timestamp":1785124875217,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/bootstrap.min.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:43:46 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b82-c75f\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":51039,"size_decoded":17395,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (50758)","md5":"67176c242e1bdc20603c878dee836df3","sha1":"27a71b00383d61ef3c489326b3564d698fc1227c","sha256":"56c12a125b021d21a69e61d7190cefa168d6c28ce715265cea1b3b0112d169c4","sha512":"9fa75814e1b9f7db38fe61a503a13e60b82d83db8f4ce30351bd08a6b48c0d854baf472d891af23c443c8293380c2325c7b3361b708af9971aa0ea09a25cdd0a","ssdeep":"768:E9Yw7GuJM+HV0cen/7Kh5rM7V4RxCKg8FW/xsXQUd+FiID65r48Hgp5HRl+:E9X7PMIM7V4R5LFAxTWyuHHgp5HRl+","tlshash":"3533b649725078b201df9176913f460bb736788ea907816cb95d98ed2e7cd89322bf3c","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-07-27T06:11:32.139904Z","times_seen":125735,"resource_available":true,"data":"LyohCiAgKiBCb290c3RyYXAgdjQuMS4zIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKQogICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnMgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ncmFwaHMvY29udHJpYnV0b3JzKQogICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkKICAqLwohZnVuY3Rpb24odCxlKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP2UoZXhwb3J0cyxyZXF1aXJlKCJqcXVlcnkiKSxyZXF1aXJlKCJwb3BwZXIuanMiKSk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIiwianF1ZXJ5IiwicG9wcGVyLmpzIl0sZSk6ZSh0LmJvb3RzdHJhcD17fSx0LmpRdWVyeSx0LlBvcHBlcil9KHRoaXMsZnVuY3Rpb24odCxlLGgpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLmtleSxpKX19ZnVuY3Rpb24gcyh0LGUsbil7cmV0dXJuIGUmJmkodC5wcm90b3R5cGUsZSksbiYmaSh0LG4pLHR9ZnVuY3Rpb24gbChyKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbz1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9LGU9T2JqZWN0LmtleXMobyk7ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMmJihlPWUuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMobykuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sdCkuZW51bWVyYWJsZX0pKSksZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlLG4saTtlPXIsaT1vW249dF0sbiBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se3ZhbHVlOmksZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW25dPWl9KX1yZXR1cm4gcn1lPWUmJmUuaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9lLmRlZmF1bHQ6ZSxoPWgmJmguaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9oLmRlZmF1bHQ6aDt2YXIgcixuLG8sYSxjLHUsZixkLGcsXyxtLHAsdix5LEUsQyxULGIsUyxJLEEsRCx3LE4sTyxrLFAsaixILEwsUix4LFcsVSxxLEYsSyxNLFEsQixWLFkseixKLFosRywkLFgsdHQsZXQsbnQsaXQscnQsb3Qsc3QsYXQsbHQsY3QsaHQsdXQsZnQsZHQsZ3QsX3QsbXQscHQsdnQseXQsRXQsQ3QsVHQsYnQsU3QsSXQsQXQsRHQsd3QsTnQsT3Qsa3QsUHQsanQsSHQsTHQsUnQseHQsV3QsVXQscXQsRnQsS3QsTXQsUXQsQnQsVnQsWXQsenQsSnQsWnQsR3QsJHQsWHQsdGUsZWUsbmUsaWUscmUsb2Usc2UsYWUsbGUsY2UsaGUsdWUsZmUsZGUsZ2UsX2UsbWUscGUsdmUseWUsRWUsQ2UsVGUsYmUsU2UsSWUsQWUsRGUsd2UsTmUsT2Usa2UsUGUsamUsSGUsTGUsUmUseGUsV2UsVWUscWUsRmUsS2UsTWUsUWUsQmUsVmUsWWUsemUsSmUsWmUsR2UsJGUsWGUsdG4sZW4sbm4scm4sb24sc24sYW4sbG4sY24saG4sdW4sZm4sZG4sZ24sX24sbW4scG4sdm4seW4sRW4sQ24sVG4sYm4sU24sSW4sQW4sRG4sd24sTm4sT24sa24sUG4sam4sSG4sTG4sUm4seG4sV24sVW4scW4sRm49ZnVuY3Rpb24oaSl7dmFyIGU9InRyYW5zaXRpb25lbmQiO2Z1bmN0aW9uIHQodCl7dmFyIGU9dGhpcyxuPSExO3JldHVybiBpKHRoaXMpLm9uZShsLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKCl7bj0hMH0pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtufHxsLnRyaWdnZXJUcmFuc2l0aW9uRW5kKGUpfSx0KSx0aGlzfXZhciBsPXtUUkFOU0lUSU9OX0VORDoiYnNUcmFuc2l0aW9uRW5kIixnZXRVSUQ6ZnVuY3Rpb24odCl7Zm9yKDt0Kz1+figxZTYqTWF0aC5yYW5kb20oKSksZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk7KTtyZXR1cm4gdH0sZ2V0U2VsZWN0b3JGcm9tRWxlbWVudDpmdW5jdGlvbih0KXt2YXIgZT10LmdldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQiKTtlJiYiIyIhPT1lfHwoZT10LmdldEF0dHJpYnV0ZSgiaHJlZiIpfHwiIik7dHJ5e3JldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpP2U6bnVsbH1jYXRjaCh0KXtyZXR1cm4gbnVsbH19LGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50OmZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiAwO3ZhciBlPWkodCkuY3NzKCJ0cmFuc2l0aW9uLWR1cmF0aW9uIik7cmV0dXJuIHBhcnNlRmxvYXQoZSk/KGU9ZS5zcGxpdCgiLCIpWzBdLDFlMypwYXJzZUZsb2F0KGUpKTowfSxyZWZsb3c6ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0SGVpZ2h0fSx0cmlnZ2VyVHJhbnNpdGlvbkVuZDpmdW5jdGlvbih0KXtpKHQpLnRyaWdnZXIoZSl9LHN1cHBvcnRzVHJhbnNpdGlvbkVuZDpmdW5jdGlvbigpe3JldHVybiBCb29sZWFuKGUpfSxpc0VsZW1lbnQ6ZnVuY3Rpb24odCl7cmV0dXJuKHRbMF18fHQpLm5vZGVUeXBlfSx0eXBlQ2hlY2tDb25maWc6ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaSBpbiBuKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpKXt2YXIgcj1uW2ldLG89ZVtpXSxzPW8mJmwuaXNFbGVtZW50KG8pPyJlbGVtZW50IjooYT1vLHt9LnRvU3RyaW5nLmNhbGwoYSkubWF0Y2goL1xzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKSk7aWYoIW5ldyBSZWdFeHAocikudGVzdChzKSl0aHJvdyBuZXcgRXJyb3IodC50b1VwcGVyQ2FzZSgpKyc6IE9wdGlvbiAiJytpKyciIHByb3ZpZGVkIHR5cGUgIicrcysnIiBidXQgZXhwZWN0ZWQgdHlwZSAiJytyKyciLicpfXZhciBhfX07cmV0dXJuIGkuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9dCxpLmV2ZW50LnNwZWNpYWxbbC5UUkFOU0lUSU9OX0VORF09e2JpbmRUeXBlOmUsZGVsZWdhdGVUeXBlOmUsaGFuZGxlOmZ1bmN0aW9uKHQpe2lmKGkodC50YXJnZXQpLmlzKHRoaXMpKXJldHVybiB0LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LGx9KGUpLEtuPShuPSJhbGVydCIsYT0iLiIrKG89ImJzLmFsZXJ0IiksYz0ocj1lKS5mbltuXSx1PXtDTE9TRToiY2xvc2UiK2EsQ0xPU0VEOiJjbG9zZWQiK2EsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIithKyIuZGF0YS1hcGkifSxmPSJhbGVydCIsZD0iZmFkZSIsZz0ic2hvdyIsXz1mdW5jdGlvbigpe2Z1bmN0aW9uIGkodCl7dGhpcy5fZWxlbWVudD10fXZhciB0PWkucHJvdG90eXBlO3JldHVybiB0LmNsb3NlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2VsZW1lbnQ7dCYmKGU9dGhpcy5fZ2V0Um9vdEVsZW1lbnQodCkpLHRoaXMuX3RyaWdnZXJDbG9zZUV2ZW50KGUpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHx0aGlzLl9yZW1vdmVFbGVtZW50KGUpfSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtyLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxvKSx0aGlzLl9lbGVtZW50PW51bGx9LHQuX2dldFJvb3RFbGVtZW50PWZ1bmN0aW9uKHQpe3ZhciBlPUZuLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCksbj0hMTtyZXR1cm4gZSYmKG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKSksbnx8KG49cih0KS5jbG9zZXN0KCIuIitmKVswXSksbn0sdC5fdHJpZ2dlckNsb3NlRXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9ci5FdmVudCh1LkNMT1NFKTtyZXR1cm4gcih0KS50cmlnZ2VyKGUpLGV9LHQuX3JlbW92ZUVsZW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztpZihyKGUpLnJlbW92ZUNsYXNzKGcpLHIoZSkuaGFzQ2xhc3MoZCkpe3ZhciB0PUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KGUpO3IoZSkub25lKEZuLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKHQpe3JldHVybiBuLl9kZXN0cm95RWxlbWVudChlLHQpfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQodCl9ZWxzZSB0aGlzLl9kZXN0cm95RWxlbWVudChlKX0sdC5fZGVzdHJveUVsZW1lbnQ9ZnVuY3Rpb24odCl7cih0KS5kZXRhY2goKS50cmlnZ2VyKHUuQ0xPU0VEKS5yZW1vdmUoKX0saS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1yKHRoaXMpLGU9dC5kYXRhKG8pO2V8fChlPW5ldyBpKHRoaXMpLHQuZGF0YShvLGUpKSwiY2xvc2UiPT09biYmZVtuXSh0aGlzKX0pfSxpLl9oYW5kbGVEaXNtaXNzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXt0JiZ0LnByZXZlbnREZWZhdWx0KCksZS5jbG9zZSh0aGlzKX19LHMoaSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4xLjMifX1dKSxpfSgpLHIoZG9jdW1lbnQpLm9uKHUuQ0xJQ0tfREFUQV9BUEksJ1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLF8uX2hhbmRsZURpc21pc3MobmV3IF8pKSxyLmZuW25dPV8uX2pRdWVyeUludGVyZmFjZSxyLmZuW25dLkNvbnN0cnVjdG9yPV8sci5mbltuXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHIuZm5bbl09YyxfLl9qUXVlcnlJbnRlcmZhY2V9LF8pLE1uPShwPSJidXR0b24iLHk9Ii4iKyh2PSJicy5idXR0b24iKSxFPSIuZGF0YS1hcGkiLEM9KG09ZSkuZm5bcF0sVD0iYWN0aXZlIixiPSJidG4iLEk9J1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxBPSdbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXScsRD0iaW5wdXQiLHc9Ii5hY3RpdmUiLE49Ii5idG4iLE89e0NMSUNLX0RBVEFfQVBJOiJjbGljayIreStFLEZPQ1VTX0JMVVJfREFUQV9BUEk6KFM9ImZvY3VzIikreStFKyIgYmx1ciIreStFfSxrPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbih0KXt0aGlzLl9lbGVtZW50PXR9dmFyIHQ9bi5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIHQ9ITAsZT0hMCxuPW0odGhpcy5fZWxlbWVudCkuY2xvc2VzdChBKVswXTtpZihuKXt2YXIgaT10aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoRCk7aWYoaSl7aWYoInJhZGlvIj09PWkudHlwZSlpZihpLmNoZWNrZWQmJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFQpKXQ9ITE7ZWxzZXt2YXIgcj1uLnF1ZXJ5U2VsZWN0b3Iodyk7ciYmbShyKS5yZW1vdmVDbGFzcyhUKX1pZih0KXtpZihpLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8bi5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil8fGkuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpfHxuLmNsYXNzTGlzdC5jb250YWlucygiZGlzYWJsZWQiKSlyZXR1cm47aS5jaGVja2VkPSF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhUKSxtKGkpLnRyaWdnZXIoImNoYW5nZSIpfWkuZm9jdXMoKSxlPSExfX1lJiZ0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwhdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoVCkpLHQmJm0odGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoVCl9LHQuZGlzcG9zZT1mdW5jdGlvbigpe20ucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LHYpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sbi5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1tKHRoaXMpLmRhdGEodik7dHx8KHQ9bmV3IG4odGhpcyksbSh0aGlzKS5kYXRhKHYsdCkpLCJ0b2dnbGUiPT09ZSYmdFtlXSgpfSl9LHMobixudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4xLjMifX1dKSxufSgpLG0oZG9jdW1lbnQpLm9uKE8uQ0xJQ0tfREFUQV9BUEksSSxmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGU9dC50YXJnZXQ7bShlKS5oYXNDbGFzcyhiKXx8KGU9bShlKS5jbG9zZXN0KE4pKSxrLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChtKGUpLCJ0b2dnbGUiKX0pLm9uKE8uRk9DVVNfQkxVUl9EQVRBX0FQSSxJLGZ1bmN0aW9uKHQpe3ZhciBlPW0odC50YXJnZXQpLmNsb3Nlc3QoTilbMF07bShlKS50b2dnbGVDbGFzcyhTLC9eZm9jdXMoaW4pPyQvLnRlc3QodC50eXBlKSl9KSxtLmZuW3BdPWsuX2pRdWVyeUludGVyZmFjZSxtLmZuW3BdLkNvbnN0cnVjdG9yPWssbS5mbltwXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIG0uZm5bcF09QyxrLl9qUXVlcnlJbnRlcmZhY2V9LGspLFFuPShqPSJjYXJvdXNlbCIsTD0iLiIrKEg9ImJzLmNhcm91c2VsIiksUj0iLmRhdGEtYXBpIix4PShQPWUpLmZuW2pdLFc9e2ludGVydmFsOjVlMyxrZXlib2FyZDohMCxzbGlkZTohMSxwYXVzZToiaG92ZXIiLHdyYXA6ITB9LFU9e2ludGVydmFsOiIobnVtYmVyfGJvb2xlYW4pIixrZXlib2FyZDoiYm9vbGVhbiIsc2xpZGU6Iihib29sZWFufHN0cmluZykiLHBhdXNlOiIoc3RyaW5nfGJvb2xlYW4pIix3cmFwOiJib29sZWFuIn0scT0ibmV4dCIsRj0icHJldiIsSz0ibGVmdCIsTT0icmlnaHQiLFE9e1NMSURFOiJzbGlkZSIrTCxTTElEOiJzbGlkIitMLEtFWURPV046ImtleWRvd24iK0wsTU9VU0VFTlRFUjoibW91c2VlbnRlciIrTCxNT1VTRUxFQVZFOiJtb3VzZWxlYXZlIitMLFRPVUNIRU5EOiJ0b3VjaGVuZCIrTCxMT0FEX0RBVEFfQVBJOiJsb2FkIitMK1IsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitMK1J9LEI9ImNhcm91c2VsIixWPSJhY3RpdmUiLFk9InNsaWRlIix6PSJjYXJvdXNlbC1pdGVtLXJpZ2h0IixKPSJjYXJvdXNlbC1pdGVtLWxlZnQiLFo9ImNhcm91c2VsLWl0ZW0tbmV4dCIsRz0iY2Fyb3VzZWwtaXRlbS1wcmV2IiwkPSIuYWN0aXZlIixYPSIuYWN0aXZlLmNhcm91c2VsLWl0ZW0iLHR0PSIuY2Fyb3VzZWwtaXRlbSIsZXQ9Ii5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYiLG50PSIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIsaXQ9IltkYXRhLXNsaWRlXSwgW2RhdGEtc2xpZGUtdG9dIixydD0nW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScsb3Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKHQsZSl7dGhpcy5faXRlbXM9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2FjdGl2ZUVsZW1lbnQ9bnVsbCx0aGlzLl9pc1BhdXNlZD0hMSx0aGlzLl9pc1NsaWRpbmc9ITEsdGhpcy50b3VjaFRpbWVvdXQ9bnVsbCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX2VsZW1lbnQ9UCh0KVswXSx0aGlzLl9pbmRpY2F0b3JzRWxlbWVudD10aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IobnQpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCl9dmFyIHQ9by5wcm90b3R5cGU7cmV0dXJuIHQubmV4dD1mdW5jdGlvbigpe3RoaXMuX2lzU2xpZGluZ3x8dGhpcy5fc2xpZGUocSl9LHQubmV4dFdoZW5WaXNpYmxlPWZ1bmN0aW9uKCl7IWRvY3VtZW50LmhpZGRlbiYmUCh0aGlzLl9lbGVtZW50KS5pcygiOnZpc2libGUiKSYmImhpZGRlbiIhPT1QKHRoaXMuX2VsZW1lbnQpLmNzcygidmlzaWJpbGl0eSIpJiZ0aGlzLm5leHQoKX0sdC5wcmV2PWZ1bmN0aW9uKCl7dGhpcy5faXNTbGlkaW5nfHx0aGlzLl9zbGlkZShGKX0sdC5wYXVzZT1mdW5jdGlvbih0KXt0fHwodGhpcy5faXNQYXVzZWQ9ITApLHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihldCkmJihGbi50cmlnZ2VyVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50KSx0aGlzLmN5Y2xlKCEwKSksY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbH0sdC5jeWNsZT1mdW5jdGlvbih0KXt0fHwodGhpcy5faXNQYXVzZWQ9ITEpLHRoaXMuX2ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbCksdGhpcy5fY29uZmlnLmludGVydmFsJiYhdGhpcy5faXNQYXVzZWQmJih0aGlzLl9pbnRlcnZhbD1zZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3RoaXMubmV4dFdoZW5WaXNpYmxlOnRoaXMubmV4dCkuYmluZCh0aGlzKSx0aGlzLl9jb25maWcuaW50ZXJ2YWwpKX0sdC50bz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2FjdGl2ZUVsZW1lbnQ9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKFgpO3ZhciBuPXRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9hY3RpdmVFbGVtZW50KTtpZighKHQ+dGhpcy5faXRlbXMubGVuZ3RoLTF8fHQ8MCkpaWYodGhpcy5faXNTbGlkaW5nKVAodGhpcy5fZWxlbWVudCkub25lKFEuU0xJRCxmdW5jdGlvbigpe3JldHVybiBlLnRvKHQpfSk7ZWxzZXtpZihuPT09dClyZXR1cm4gdGhpcy5wYXVzZSgpLHZvaWQgdGhpcy5jeWNsZSgpO3ZhciBpPW48dD9xOkY7dGhpcy5fc2xpZGUoaSx0aGlzLl9pdGVtc1t0XSl9fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtQKHRoaXMuX2VsZW1lbnQpLm9mZihMKSxQLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxIKSx0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2lzUGF1c2VkPW51bGwsdGhpcy5faXNTbGlkaW5nPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2luZGljYXRvcnNFbGVtZW50PW51bGx9LHQuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1sKHt9LFcsdCksRm4udHlwZUNoZWNrQ29uZmlnKGosdCxVKSx0fSx0Ll9hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fY29uZmlnLmtleWJvYXJkJiZQKHRoaXMuX2VsZW1lbnQpLm9uKFEuS0VZRE9XTixmdW5jdGlvbih0KXtyZXR1cm4gZS5fa2V5ZG93bih0KX0pLCJob3ZlciI9PT10aGlzLl9jb25maWcucGF1c2UmJihQKHRoaXMuX2VsZW1lbnQpLm9uKFEuTU9VU0VFTlRFUixmdW5jdGlvbih0KXtyZXR1cm4gZS5wYXVzZSh0KX0pLm9uKFEuTU9VU0VMRUFWRSxmdW5jdGlvbih0KXtyZXR1cm4gZS5jeWNsZSh0KX0pLCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZQKHRoaXMuX2VsZW1lbnQpLm9uKFEuVE9VQ0hFTkQsZnVuY3Rpb24oKXtlLnBhdXNlKCksZS50b3VjaFRpbWVvdXQmJmNsZWFyVGltZW91dChlLnRvdWNoVGltZW91dCksZS50b3VjaFRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbih0KXtyZXR1cm4gZS5jeWNsZSh0KX0sNTAwK2UuX2NvbmZpZy5pbnRlcnZhbCl9KSl9LHQuX2tleWRvd249ZnVuY3Rpb24odCl7aWYoIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QodC50YXJnZXQudGFnTmFtZSkpc3dpdGNoKHQud2hpY2gpe2Nhc2UgMzc6dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucHJldigpO2JyZWFrO2Nhc2UgMzk6dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmV4dCgpfX0sdC5fZ2V0SXRlbUluZGV4PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pdGVtcz10JiZ0LnBhcmVudE5vZGU/W10uc2xpY2UuY2FsbCh0LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCh0dCkpOltdLHRoaXMuX2l0ZW1zLmluZGV4T2YodCl9LHQuX2dldEl0ZW1CeURpcmVjdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBuPXQ9PT1xLGk9dD09PUYscj10aGlzLl9nZXRJdGVtSW5kZXgoZSksbz10aGlzLl9pdGVtcy5sZW5ndGgtMTtpZigoaSYmMD09PXJ8fG4mJnI9PT1vKSYmIXRoaXMuX2NvbmZpZy53cmFwKXJldHVybiBlO3ZhciBzPShyKyh0PT09Rj8tMToxKSkldGhpcy5faXRlbXMubGVuZ3RoO3JldHVybi0xPT09cz90aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV06dGhpcy5faXRlbXNbc119LHQuX3RyaWdnZXJTbGlkZUV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fZ2V0SXRlbUluZGV4KHQpLGk9dGhpcy5fZ2V0SXRlbUluZGV4KHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihYKSkscj1QLkV2ZW50KFEuU0xJREUse3JlbGF0ZWRUYXJnZXQ6dCxkaXJlY3Rpb246ZSxmcm9tOmksdG86bn0pO3JldHVybiBQKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIocikscn0sdC5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudD1mdW5jdGlvbih0KXtpZih0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCl7dmFyIGU9W10uc2xpY2UuY2FsbCh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCQpKTtQKGUpLnJlbW92ZUNsYXNzKFYpO3ZhciBuPXRoaXMuX2luZGljYXRvcnNFbGVtZW50LmNoaWxkcmVuW3RoaXMuX2dldEl0ZW1JbmRleCh0KV07biYmUChuKS5hZGRDbGFzcyhWKX19LHQuX3NsaWRlPWZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG89dGhpcyxzPXRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihYKSxhPXRoaXMuX2dldEl0ZW1JbmRleChzKSxsPWV8fHMmJnRoaXMuX2dldEl0ZW1CeURpcmVjdGlvbih0LHMpLGM9dGhpcy5fZ2V0SXRlbUluZGV4KGwpLGg9Qm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7aWYodD09PXE/KG49SixpPVoscj1LKToobj16LGk9RyxyPU0pLGwmJlAobCkuaGFzQ2xhc3MoVikpdGhpcy5faXNTbGlkaW5nPSExO2Vsc2UgaWYoIXRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KGwscikuaXNEZWZhdWx0UHJldmVudGVkKCkmJnMmJmwpe3RoaXMuX2lzU2xpZGluZz0hMCxoJiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChsKTt2YXIgdT1QLkV2ZW50KFEuU0xJRCx7cmVsYXRlZFRhcmdldDpsLGRpcmVjdGlvbjpyLGZyb206YSx0bzpjfSk7aWYoUCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhZKSl7UChsKS5hZGRDbGFzcyhpKSxGbi5yZWZsb3cobCksUChzKS5hZGRDbGFzcyhuKSxQKGwpLmFkZENsYXNzKG4pO3ZhciBmPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHMpO1Aocykub25lKEZuLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKCl7UChsKS5yZW1vdmVDbGFzcyhuKyIgIitpKS5hZGRDbGFzcyhWKSxQKHMpLnJlbW92ZUNsYXNzKFYrIiAiK2krIiAiK24pLG8uX2lzU2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIFAoby5fZWxlbWVudCkudHJpZ2dlcih1KX0sMCl9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChmKX1lbHNlIFAocykucmVtb3ZlQ2xhc3MoViksUChsKS5hZGRDbGFzcyhWKSx0aGlzLl9pc1NsaWRpbmc9ITEsUCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHUpO2gmJnRoaXMuY3ljbGUoKX19LG8uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9UCh0aGlzKS5kYXRhKEgpLGU9bCh7fSxXLFAodGhpcykuZGF0YSgpKTsib2JqZWN0Ij09dHlwZW9mIGkmJihlPWwoe30sZSxpKSk7dmFyIG49InN0cmluZyI9PXR5cGVvZiBpP2k6ZS5zbGlkZTtpZih0fHwodD1uZXcgbyh0aGlzLGUpLFAodGhpcykuZGF0YShILHQpKSwibnVtYmVyIj09dHlwZW9mIGkpdC50byhpKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2Ygbil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytuKyciJyk7dFtuXSgpfWVsc2UgZS5pbnRlcnZhbCYmKHQucGF1c2UoKSx0LmN5Y2xlKCkpfSl9LG8uX2RhdGFBcGlDbGlja0hhbmRsZXI9ZnVuY3Rpb24odCl7dmFyIGU9Rm4uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTtpZihlKXt2YXIgbj1QKGUpWzBdO2lmKG4mJlAobikuaGFzQ2xhc3MoQikpe3ZhciBpPWwoe30sUChuKS5kYXRhKCksUCh0aGlzKS5kYXRhKCkpLHI9dGhpcy5nZXRBdHRyaWJ1dGUoImRhdGEtc2xpZGUtdG8iKTtyJiYoaS5pbnRlcnZhbD0hMSksby5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoUChuKSxpKSxyJiZQKG4pLmRhdGEoSCkudG8ociksdC5wcmV2ZW50RGVmYXVsdCgpfX19LHMobyxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4xLjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFd9fV0pLG99KCksUChkb2N1bWVudCkub24oUS5DTElDS19EQVRBX0FQSSxpdCxvdC5fZGF0YUFwaUNsaWNrSGFuZGxlciksUCh3aW5kb3cpLm9uKFEuTE9BRF9EQVRBX0FQSSxmdW5jdGlvbigpe2Zvcih2YXIgdD1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocnQpKSxlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXt2YXIgaT1QKHRbZV0pO290Ll9qUXVlcnlJbnRlcmZhY2UuY2FsbChpLGkuZGF0YSgpKX19KSxQLmZuW2pdPW90Ll9qUXVlcnlJbnRlcmZhY2UsUC5mbltqXS5Db25zdHJ1Y3Rvcj1vdCxQLmZuW2pdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gUC5mbltqXT14LG90Ll9qUXVlcnlJbnRlcmZhY2V9LG90KSxCbj0oYXQ9ImNvbGxhcHNlIixjdD0iLiIrKGx0PSJicy5jb2xsYXBzZSIpLGh0PShzdD1lKS5mblthdF0sdXQ9e3RvZ2dsZTohMCxwYXJlbnQ6IiJ9LGZ0PXt0b2dnbGU6ImJvb2xlYW4iLHBhcmVudDoiKHN0cmluZ3xlbGVtZW50KSJ9LGR0PXtTSE9XOiJzaG93IitjdCxTSE9XTjoic2hvd24iK2N0LEhJREU6ImhpZGUiK2N0LEhJRERFTjoiaGlkZGVuIitjdCxDTElDS19EQVRBX0FQSToiY2xpY2siK2N0KyIuZGF0YS1hcGkifSxndD0ic2hvdyIsX3Q9ImNvbGxhcHNlIixtdD0iY29sbGFwc2luZyIscHQ9ImNvbGxhcHNlZCIsdnQ9IndpZHRoIix5dD0iaGVpZ2h0IixFdD0iLnNob3csIC5jb2xsYXBzaW5nIixDdD0nW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJyxUdD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSx0KXt0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITEsdGhpcy5fZWxlbWVudD1lLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcodCksdGhpcy5fdHJpZ2dlckFycmF5PXN0Lm1ha2VBcnJheShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrZS5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytlLmlkKyciXScpKTtmb3IodmFyIG49W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKEN0KSksaT0wLHI9bi5sZW5ndGg7aTxyO2krKyl7dmFyIG89bltpXSxzPUZuLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQobyksYT1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocykpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdD09PWV9KTtudWxsIT09cyYmMDxhLmxlbmd0aCYmKHRoaXMuX3NlbGVjdG9yPXMsdGhpcy5fdHJpZ2dlckFycmF5LnB1c2gobykpfXRoaXMuX3BhcmVudD10aGlzLl9jb25maWcucGFyZW50P3RoaXMuX2dldFBhcmVudCgpOm51bGwsdGhpcy5fY29uZmlnLnBhcmVudHx8dGhpcy5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuX2VsZW1lbnQsdGhpcy5fdHJpZ2dlckFycmF5KSx0aGlzLl9jb25maWcudG9nZ2xlJiZ0aGlzLnRvZ2dsZSgpfXZhciB0PWEucHJvdG90eXBlO3JldHVybiB0LnRvZ2dsZT1mdW5jdGlvbigpe3N0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGd0KT90aGlzLmhpZGUoKTp0aGlzLnNob3coKX0sdC5zaG93PWZ1bmN0aW9uKCl7dmFyIHQsZSxuPXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmIXN0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGd0KSYmKHRoaXMuX3BhcmVudCYmMD09PSh0PVtdLnNsaWNlLmNhbGwodGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoRXQpKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0QXR0cmlidXRlKCJkYXRhLXBhcmVudCIpPT09bi5fY29uZmlnLnBhcmVudH0pKS5sZW5ndGgmJih0PW51bGwpLCEodCYmKGU9c3QodCkubm90KHRoaXMuX3NlbGVjdG9yKS5kYXRhKGx0KSkmJmUuX2lzVHJhbnNpdGlvbmluZykpKXt2YXIgaT1zdC5FdmVudChkdC5TSE9XKTtpZihzdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGkpLCFpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt0JiYoYS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoc3QodCkubm90KHRoaXMuX3NlbGVjdG9yKSwiaGlkZSIpLGV8fHN0KHQpLmRhdGEobHQsbnVsbCkpO3ZhciByPXRoaXMuX2dldERpbWVuc2lvbigpO3N0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKF90KS5hZGRDbGFzcyhtdCksdGhpcy5fZWxlbWVudC5zdHlsZVtyXT0wLHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGgmJnN0KHRoaXMuX3RyaWdnZXJBcnJheSkucmVtb3ZlQ2xhc3MocHQpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLnNldFRyYW5zaXRpb25pbmcoITApO3ZhciBvPSJzY3JvbGwiKyhyWzBdLnRvVXBwZXJDYXNlKCkrci5zbGljZSgxKSkscz1Gbi5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtzdCh0aGlzLl9lbGVtZW50KS5vbmUoRm4uVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24oKXtzdChuLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhtdCkuYWRkQ2xhc3MoX3QpLmFkZENsYXNzKGd0KSxuLl9lbGVtZW50LnN0eWxlW3JdPSIiLG4uc2V0VHJhbnNpdGlvbmluZyghMSksc3Qobi5fZWxlbWVudCkudHJpZ2dlcihkdC5TSE9XTil9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChzKSx0aGlzLl9lbGVtZW50LnN0eWxlW3JdPXRoaXMuX2VsZW1lbnRbb10rInB4In19fSx0LmhpZGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0aGlzLl9pc1RyYW5zaXRpb25pbmcmJnN0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGd0KSl7dmFyIGU9c3QuRXZlbnQoZHQuSElERSk7aWYoc3QodGhpcy5fZWxlbWVudCkudHJpZ2dlcihlKSwhZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIG49dGhpcy5fZ2V0RGltZW5zaW9uKCk7dGhpcy5fZWxlbWVudC5zdHlsZVtuXT10aGlzLl9lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW25dKyJweCIsRm4ucmVmbG93KHRoaXMuX2VsZW1lbnQpLHN0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKG10KS5yZW1vdmVDbGFzcyhfdCkucmVtb3ZlQ2xhc3MoZ3QpO3ZhciBpPXRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg7aWYoMDxpKWZvcih2YXIgcj0wO3I8aTtyKyspe3ZhciBvPXRoaXMuX3RyaWdnZXJBcnJheVtyXSxzPUZuLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQobyk7aWYobnVsbCE9PXMpc3QoW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHMpKSkuaGFzQ2xhc3MoZ3QpfHxzdChvKS5hZGRDbGFzcyhwdCkuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpfXRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7dGhpcy5fZWxlbWVudC5zdHlsZVtuXT0iIjt2YXIgYT1Gbi5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtzdCh0aGlzLl9lbGVtZW50KS5vbmUoRm4uVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24oKXt0LnNldFRyYW5zaXRpb25pbmcoITEpLHN0KHQuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKG10KS5hZGRDbGFzcyhfdCkudHJpZ2dlcihkdC5ISURERU4pfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYSl9fX0sdC5zZXRUcmFuc2l0aW9uaW5nPWZ1bmN0aW9uKHQpe3RoaXMuX2lzVHJhbnNpdGlvbmluZz10fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtzdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbHQpLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl90cmlnZ2VyQXJyYXk9bnVsbCx0aGlzLl9pc1RyYW5zaXRpb25pbmc9bnVsbH0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybih0PWwoe30sdXQsdCkpLnRvZ2dsZT1Cb29sZWFuKHQudG9nZ2xlKSxGbi50eXBlQ2hlY2tDb25maWcoYXQsdCxmdCksdH0sdC5fZ2V0RGltZW5zaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHN0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKHZ0KT92dDp5dH0sdC5fZ2V0UGFyZW50PWZ1bmN0aW9uKCl7dmFyIG49dGhpcyx0PW51bGw7Rm4uaXNFbGVtZW50KHRoaXMuX2NvbmZpZy5wYXJlbnQpPyh0PXRoaXMuX2NvbmZpZy5wYXJlbnQsInVuZGVmaW5lZCIhPXR5cGVvZiB0aGlzLl9jb25maWcucGFyZW50LmpxdWVyeSYmKHQ9dGhpcy5fY29uZmlnLnBhcmVudFswXSkpOnQ9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLl9jb25maWcucGFyZW50KTt2YXIgZT0nW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtcGFyZW50PSInK3RoaXMuX2NvbmZpZy5wYXJlbnQrJyJdJyxpPVtdLnNsaWNlLmNhbGwodC5xdWVyeVNlbGVjdG9yQWxsKGUpKTtyZXR1cm4gc3QoaSkuZWFjaChmdW5jdGlvbih0LGUpe24uX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhhLl9nZXRUYXJnZXRGcm9tRWxlbWVudChlKSxbZV0pfSksdH0sdC5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzPWZ1bmN0aW9uKHQsZSl7aWYodCl7dmFyIG49c3QodCkuaGFzQ2xhc3MoZ3QpO2UubGVuZ3RoJiZzdChlKS50b2dnbGVDbGFzcyhwdCwhbikuYXR0cigiYXJpYS1leHBhbmRlZCIsbil9fSxhLl9nZXRUYXJnZXRGcm9tRWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT1Gbi5nZXRTZWxlY3RvckZyb21FbGVtZW50KHQpO3JldHVybiBlP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSk6bnVsbH0sYS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1zdCh0aGlzKSxlPXQuZGF0YShsdCksbj1sKHt9LHV0LHQuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgaSYmaT9pOnt9KTtpZighZSYmbi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoaSkmJihuLnRvZ2dsZT0hMSksZXx8KGU9bmV3IGEodGhpcyxuKSx0LmRhdGEobHQsZSkpLCJzdHJpbmciPT10eXBlb2YgaSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBlW2ldKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytpKyciJyk7ZVtpXSgpfX0pfSxzKGEsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMS4zIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiB1dH19XSksYX0oKSxzdChkb2N1bWVudCkub24oZHQuQ0xJQ0tfREFUQV9BUEksQ3QsZnVuY3Rpb24odCl7IkEiPT09dC5jdXJyZW50VGFyZ2V0LnRhZ05hbWUmJnQucHJldmVudERlZmF1bHQoKTt2YXIgbj1zdCh0aGlzKSxlPUZuLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyksaT1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZSkpO3N0KGkpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1zdCh0aGlzKSxlPXQuZGF0YShsdCk/InRvZ2dsZSI6bi5kYXRhKCk7VHQuX2pRdWVyeUludGVyZmFjZS5jYWxsKHQsZSl9KX0pLHN0LmZuW2F0XT1UdC5falF1ZXJ5SW50ZXJmYWNlLHN0LmZuW2F0XS5Db25zdHJ1Y3Rvcj1UdCxzdC5mblthdF0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBzdC5mblthdF09aHQsVHQuX2pRdWVyeUludGVyZmFjZX0sVHQpLFZuPShTdD0iZHJvcGRvd24iLEF0PSIuIisoSXQ9ImJzLmRyb3Bkb3duIiksRHQ9Ii5kYXRhLWFwaSIsd3Q9KGJ0PWUpLmZuW1N0XSxOdD1uZXcgUmVnRXhwKCIzOHw0MHwyNyIpLE90PXtISURFOiJoaWRlIitBdCxISURERU46ImhpZGRlbiIrQXQsU0hPVzoic2hvdyIrQXQsU0hPV046InNob3duIitBdCxDTElDSzoiY2xpY2siK0F0LENMSUNLX0RBVEFfQVBJOiJjbGljayIrQXQrRHQsS0VZRE9XTl9EQVRBX0FQSToia2V5ZG93biIrQXQrRHQsS0VZVVBfREFUQV9BUEk6ImtleXVwIitBdCtEdH0sa3Q9ImRpc2FibGVkIixQdD0ic2hvdyIsanQ9ImRyb3B1cCIsSHQ9ImRyb3ByaWdodCIsTHQ9ImRyb3BsZWZ0IixSdD0iZHJvcGRvd24tbWVudS1yaWdodCIseHQ9InBvc2l0aW9uLXN0YXRpYyIsV3Q9J1tkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScsVXQ9Ii5kcm9wZG93biBmb3JtIixxdD0iLmRyb3Bkb3duLW1lbnUiLEZ0PSIubmF2YmFyLW5hdiIsS3Q9Ii5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpIixNdD0idG9wLXN0YXJ0IixRdD0idG9wLWVuZCIsQnQ9ImJvdHRvbS1zdGFydCIsVnQ9ImJvdHRvbS1lbmQiLFl0PSJyaWdodC1zdGFydCIsenQ9ImxlZnQtc3RhcnQiLEp0PXtvZmZzZXQ6MCxmbGlwOiEwLGJvdW5kYXJ5OiJzY3JvbGxQYXJlbnQiLHJlZmVyZW5jZToidG9nZ2xlIixkaXNwbGF5OiJkeW5hbWljIn0sWnQ9e29mZnNldDoiKG51bWJlcnxzdHJpbmd8ZnVuY3Rpb24pIixmbGlwOiJib29sZWFuIixib3VuZGFyeToiKHN0cmluZ3xlbGVtZW50KSIscmVmZXJlbmNlOiIoc3RyaW5nfGVsZW1lbnQpIixkaXNwbGF5OiJzdHJpbmcifSxHdD1mdW5jdGlvbigpe2Z1bmN0aW9uIGModCxlKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fcG9wcGVyPW51bGwsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9tZW51PXRoaXMuX2dldE1lbnVFbGVtZW50KCksdGhpcy5faW5OYXZiYXI9dGhpcy5fZGV0ZWN0TmF2YmFyKCksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX12YXIgdD1jLnByb3RvdHlwZTtyZXR1cm4gdC50b2dnbGU9ZnVuY3Rpb24oKXtpZighdGhpcy5fZWxlbWVudC5kaXNhYmxlZCYmIWJ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGt0KSl7dmFyIHQ9Yy5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCksZT1idCh0aGlzLl9tZW51KS5oYXNDbGFzcyhQdCk7aWYoYy5fY2xlYXJNZW51cygpLCFlKXt2YXIgbj17cmVsYXRlZFRhcmdldDp0aGlzLl9lbGVtZW50fSxpPWJ0LkV2ZW50KE90LlNIT1csbik7aWYoYnQodCkudHJpZ2dlcihpKSwhaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYoIXRoaXMuX2luTmF2YmFyKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9vdHN0cmFwIGRyb3Bkb3duIHJlcXVpcmUgUG9wcGVyLmpzIChodHRwczovL3BvcHBlci5qcy5vcmcpIik7dmFyIHI9dGhpcy5fZWxlbWVudDsicGFyZW50Ij09PXRoaXMuX2NvbmZpZy5yZWZlcmVuY2U/cj10OkZuLmlzRWxlbWVudCh0aGlzLl9jb25maWcucmVmZXJlbmNlKSYmKHI9dGhpcy5fY29uZmlnLnJlZmVyZW5jZSwidW5kZWZpbmVkIiE9dHlwZW9mIHRoaXMuX2NvbmZpZy5yZWZlcmVuY2UuanF1ZXJ5JiYocj10aGlzLl9jb25maWcucmVmZXJlbmNlWzBdKSksInNjcm9sbFBhcmVudCIhPT10aGlzLl9jb25maWcuYm91bmRhcnkmJmJ0KHQpLmFkZENsYXNzKHh0KSx0aGlzLl9wb3BwZXI9bmV3IGgocix0aGlzLl9tZW51LHRoaXMuX2dldFBvcHBlckNvbmZpZygpKX0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmMD09PWJ0KHQpLmNsb3Nlc3QoRnQpLmxlbmd0aCYmYnQoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oKS5vbigibW91c2VvdmVyIixudWxsLGJ0Lm5vb3ApLHRoaXMuX2VsZW1lbnQuZm9jdXMoKSx0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsITApLGJ0KHRoaXMuX21lbnUpLnRvZ2dsZUNsYXNzKFB0KSxidCh0KS50b2dnbGVDbGFzcyhQdCkudHJpZ2dlcihidC5FdmVudChPdC5TSE9XTixuKSl9fX19LHQuZGlzcG9zZT1mdW5jdGlvbigpe2J0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxJdCksYnQodGhpcy5fZWxlbWVudCkub2ZmKEF0KSx0aGlzLl9lbGVtZW50PW51bGwsKHRoaXMuX21lbnU9bnVsbCkhPT10aGlzLl9wb3BwZXImJih0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHRoaXMuX3BvcHBlcj1udWxsKX0sdC51cGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSxudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKX0sdC5fYWRkRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2J0KHRoaXMuX2VsZW1lbnQpLm9uKE90LkNMSUNLLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLGUudG9nZ2xlKCl9KX0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiB0PWwoe30sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LGJ0KHRoaXMuX2VsZW1lbnQpLmRhdGEoKSx0KSxGbi50eXBlQ2hlY2tDb25maWcoU3QsdCx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSx0fSx0Ll9nZXRNZW51RWxlbWVudD1mdW5jdGlvbigpe2lmKCF0aGlzLl9tZW51KXt2YXIgdD1jLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTt0JiYodGhpcy5fbWVudT10LnF1ZXJ5U2VsZWN0b3IocXQpKX1yZXR1cm4gdGhpcy5fbWVudX0sdC5fZ2V0UGxhY2VtZW50PWZ1bmN0aW9uKCl7dmFyIHQ9YnQodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlKSxlPUJ0O3JldHVybiB0Lmhhc0NsYXNzKGp0KT8oZT1NdCxidCh0aGlzLl9tZW51KS5oYXNDbGFzcyhSdCkmJihlPVF0KSk6dC5oYXNDbGFzcyhIdCk/ZT1ZdDp0Lmhhc0NsYXNzKEx0KT9lPXp0OmJ0KHRoaXMuX21lbnUpLmhhc0NsYXNzKFJ0KSYmKGU9VnQpLGV9LHQuX2RldGVjdE5hdmJhcj1mdW5jdGlvbigpe3JldHVybiAwPGJ0KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoIi5uYXZiYXIiKS5sZW5ndGh9LHQuX2dldFBvcHBlckNvbmZpZz1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD17fTsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fY29uZmlnLm9mZnNldD90LmZuPWZ1bmN0aW9uKHQpe3JldHVybiB0Lm9mZnNldHM9bCh7fSx0Lm9mZnNldHMsZS5fY29uZmlnLm9mZnNldCh0Lm9mZnNldHMpfHx7fSksdH06dC5vZmZzZXQ9dGhpcy5fY29uZmlnLm9mZnNldDt2YXIgbj17cGxhY2VtZW50OnRoaXMuX2dldFBsYWNlbWVudCgpLG1vZGlmaWVyczp7b2Zmc2V0OnQsZmxpcDp7ZW5hYmxlZDp0aGlzLl9jb25maWcuZmxpcH0scHJldmVudE92ZXJmbG93Ontib3VuZGFyaWVzRWxlbWVudDp0aGlzLl9jb25maWcuYm91bmRhcnl9fX07cmV0dXJuInN0YXRpYyI9PT10aGlzLl9jb25maWcuZGlzcGxheSYmKG4ubW9kaWZpZXJzLmFwcGx5U3R5bGU9e2VuYWJsZWQ6ITF9KSxufSxjLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWJ0KHRoaXMpLmRhdGEoSXQpO2lmKHR8fCh0PW5ldyBjKHRoaXMsIm9iamVjdCI9PXR5cGVvZiBlP2U6bnVsbCksYnQodGhpcykuZGF0YShJdCx0KSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHRbZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTt0W2VdKCl9fSl9LGMuX2NsZWFyTWVudXM9ZnVuY3Rpb24odCl7aWYoIXR8fDMhPT10LndoaWNoJiYoImtleXVwIiE9PXQudHlwZXx8OT09PXQud2hpY2gpKWZvcih2YXIgZT1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoV3QpKSxuPTAsaT1lLmxlbmd0aDtuPGk7bisrKXt2YXIgcj1jLl9nZXRQYXJlbnRGcm9tRWxlbWVudChlW25dKSxvPWJ0KGVbbl0pLmRhdGEoSXQpLHM9e3JlbGF0ZWRUYXJnZXQ6ZVtuXX07aWYodCYmImNsaWNrIj09PXQudHlwZSYmKHMuY2xpY2tFdmVudD10KSxvKXt2YXIgYT1vLl9tZW51O2lmKGJ0KHIpLmhhc0NsYXNzKFB0KSYmISh0JiYoImNsaWNrIj09PXQudHlwZSYmL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKXx8ImtleXVwIj09PXQudHlwZSYmOT09PXQud2hpY2gpJiZidC5jb250YWlucyhyLHQudGFyZ2V0KSkpe3ZhciBsPWJ0LkV2ZW50KE90LkhJREUscyk7YnQocikudHJpZ2dlcihsKSxsLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmJ0KGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub2ZmKCJtb3VzZW92ZXIiLG51bGwsYnQubm9vcCksZVtuXS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGJ0KGEpLnJlbW92ZUNsYXNzKFB0KSxidChyKS5yZW1vdmVDbGFzcyhQdCkudHJpZ2dlcihidC5FdmVudChPdC5ISURERU4scykpKX19fX0sYy5fZ2V0UGFyZW50RnJvbUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGUsbj1Gbi5nZXRTZWxlY3RvckZyb21FbGVtZW50KHQpO3JldHVybiBuJiYoZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKG4pKSxlfHx0LnBhcmVudE5vZGV9LGMuX2RhdGFBcGlLZXlkb3duSGFuZGxlcj1mdW5jdGlvbih0KXtpZigoL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKT8hKDMyPT09dC53aGljaHx8MjchPT10LndoaWNoJiYoNDAhPT10LndoaWNoJiYzOCE9PXQud2hpY2h8fGJ0KHQudGFyZ2V0KS5jbG9zZXN0KHF0KS5sZW5ndGgpKTpOdC50ZXN0KHQud2hpY2gpKSYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkJiYhYnQodGhpcykuaGFzQ2xhc3Moa3QpKSl7dmFyIGU9Yy5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcyksbj1idChlKS5oYXNDbGFzcyhQdCk7aWYoKG58fDI3PT09dC53aGljaCYmMzI9PT10LndoaWNoKSYmKCFufHwyNyE9PXQud2hpY2gmJjMyIT09dC53aGljaCkpe3ZhciBpPVtdLnNsaWNlLmNhbGwoZS5xdWVyeVNlbGVjdG9yQWxsKEt0KSk7aWYoMCE9PWkubGVuZ3RoKXt2YXIgcj1pLmluZGV4T2YodC50YXJnZXQpOzM4PT09dC53aGljaCYmMDxyJiZyLS0sNDA9PT10LndoaWNoJiZyPGkubGVuZ3RoLTEmJnIrKyxyPDAmJihyPTApLGlbcl0uZm9jdXMoKX19ZWxzZXtpZigyNz09PXQud2hpY2gpe3ZhciBvPWUucXVlcnlTZWxlY3RvcihXdCk7YnQobykudHJpZ2dlcigiZm9jdXMiKX1idCh0aGlzKS50cmlnZ2VyKCJjbGljayIpfX19LHMoYyxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4xLjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEp0fX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBadH19XSksY30oKSxidChkb2N1bWVudCkub24oT3QuS0VZRE9XTl9EQVRBX0FQSSxXdCxHdC5fZGF0YUFwaUtleWRvd25IYW5kbGVyKS5vbihPdC5LRVlET1dOX0RBVEFfQVBJLHF0LEd0Ll9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKE90LkNMSUNLX0RBVEFfQVBJKyIgIitPdC5LRVlVUF9EQVRBX0FQSSxHdC5fY2xlYXJNZW51cykub24oT3QuQ0xJQ0tfREFUQV9BUEksV3QsZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksR3QuX2pRdWVyeUludGVyZmFjZS5jYWxsKGJ0KHRoaXMpLCJ0b2dnbGUiKX0pLm9uKE90LkNMSUNLX0RBVEFfQVBJLFV0LGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9KSxidC5mbltTdF09R3QuX2pRdWVyeUludGVyZmFjZSxidC5mbltTdF0uQ29uc3RydWN0b3I9R3QsYnQuZm5bU3RdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYnQuZm5bU3RdPXd0LEd0Ll9qUXVlcnlJbnRlcmZhY2V9LEd0KSxZbj0oWHQ9Im1vZGFsIixlZT0iLiIrKHRlPSJicy5tb2RhbCIpLG5lPSgkdD1lKS5mbltYdF0saWU9e2JhY2tkcm9wOiEwLGtleWJvYXJkOiEwLGZvY3VzOiEwLHNob3c6ITB9LHJlPXtiYWNrZHJvcDoiKGJvb2xlYW58c3RyaW5nKSIsa2V5Ym9hcmQ6ImJvb2xlYW4iLGZvY3VzOiJib29sZWFuIixzaG93OiJib29sZWFuIn0sb2U9e0hJREU6ImhpZGUiK2VlLEhJRERFTjoiaGlkZGVuIitlZSxTSE9XOiJzaG93IitlZSxTSE9XTjoic2hvd24iK2VlLEZPQ1VTSU46ImZvY3VzaW4iK2VlLFJFU0laRToicmVzaXplIitlZSxDTElDS19ESVNNSVNTOiJjbGljay5kaXNtaXNzIitlZSxLRVlET1dOX0RJU01JU1M6ImtleWRvd24uZGlzbWlzcyIrZWUsTU9VU0VVUF9ESVNNSVNTOiJtb3VzZXVwLmRpc21pc3MiK2VlLE1PVVNFRE9XTl9ESVNNSVNTOiJtb3VzZWRvd24uZGlzbWlzcyIrZWUsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitlZSsiLmRhdGEtYXBpIn0sc2U9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIixhZT0ibW9kYWwtYmFja2Ryb3AiLGxlPSJtb2RhbC1vcGVuIixjZT0iZmFkZSIsaGU9InNob3ciLHVlPSIubW9kYWwtZGlhbG9nIixmZT0nW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxkZT0nW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsZ2U9Ii5maXhlZC10b3AsIC5maXhlZC1ib3R0b20sIC5pcy1maXhlZCwgLnN0aWNreS10b3AiLF9lPSIuc3RpY2t5LXRvcCIsbWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKHQsZSl7dGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9lbGVtZW50PXQsdGhpcy5fZGlhbG9nPXQucXVlcnlTZWxlY3Rvcih1ZSksdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPSExLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPSExLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITEsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9MH12YXIgdD1yLnByb3RvdHlwZTtyZXR1cm4gdC50b2dnbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2lzU2hvd24/dGhpcy5oaWRlKCk6dGhpcy5zaG93KHQpfSx0LnNob3c9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiYhdGhpcy5faXNTaG93bil7JHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoY2UpJiYodGhpcy5faXNUcmFuc2l0aW9uaW5nPSEwKTt2YXIgbj0kdC5FdmVudChvZS5TSE9XLHtyZWxhdGVkVGFyZ2V0OnR9KTskdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKG4pLHRoaXMuX2lzU2hvd258fG4uaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLl9pc1Nob3duPSEwLHRoaXMuX2NoZWNrU2Nyb2xsYmFyKCksdGhpcy5fc2V0U2Nyb2xsYmFyKCksdGhpcy5fYWRqdXN0RGlhbG9nKCksJHQoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MobGUpLHRoaXMuX3NldEVzY2FwZUV2ZW50KCksdGhpcy5fc2V0UmVzaXplRXZlbnQoKSwkdCh0aGlzLl9lbGVtZW50KS5vbihvZS5DTElDS19ESVNNSVNTLGRlLGZ1bmN0aW9uKHQpe3JldHVybiBlLmhpZGUodCl9KSwkdCh0aGlzLl9kaWFsb2cpLm9uKG9lLk1PVVNFRE9XTl9ESVNNSVNTLGZ1bmN0aW9uKCl7JHQoZS5fZWxlbWVudCkub25lKG9lLk1PVVNFVVBfRElTTUlTUyxmdW5jdGlvbih0KXskdCh0LnRhcmdldCkuaXMoZS5fZWxlbWVudCkmJihlLl9pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pfSksdGhpcy5fc2hvd0JhY2tkcm9wKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX3Nob3dFbGVtZW50KHQpfSkpfX0sdC5oaWRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodCYmdC5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLl9pc1RyYW5zaXRpb25pbmcmJnRoaXMuX2lzU2hvd24pe3ZhciBuPSR0LkV2ZW50KG9lLkhJREUpO2lmKCR0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobiksdGhpcy5faXNTaG93biYmIW4uaXNEZWZhdWx0UHJldmVudGVkKCkpe3RoaXMuX2lzU2hvd249ITE7dmFyIGk9JHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoY2UpO2lmKGkmJih0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITApLHRoaXMuX3NldEVzY2FwZUV2ZW50KCksdGhpcy5fc2V0UmVzaXplRXZlbnQoKSwkdChkb2N1bWVudCkub2ZmKG9lLkZPQ1VTSU4pLCR0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKGhlKSwkdCh0aGlzLl9lbGVtZW50KS5vZmYob2UuQ0xJQ0tfRElTTUlTUyksJHQodGhpcy5fZGlhbG9nKS5vZmYob2UuTU9VU0VET1dOX0RJU01JU1MpLGkpe3ZhciByPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpOyR0KHRoaXMuX2VsZW1lbnQpLm9uZShGbi5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbih0KXtyZXR1cm4gZS5faGlkZU1vZGFsKHQpfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQocil9ZWxzZSB0aGlzLl9oaWRlTW9kYWwoKX19fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXskdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsdGUpLCR0KHdpbmRvdyxkb2N1bWVudCx0aGlzLl9lbGVtZW50LHRoaXMuX2JhY2tkcm9wKS5vZmYoZWUpLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9iYWNrZHJvcD1udWxsLHRoaXMuX2lzU2hvd249bnVsbCx0aGlzLl9pc0JvZHlPdmVyZmxvd2luZz1udWxsLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9bnVsbCx0aGlzLl9zY3JvbGxiYXJXaWR0aD1udWxsfSx0LmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2FkanVzdERpYWxvZygpfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bCh7fSxpZSx0KSxGbi50eXBlQ2hlY2tDb25maWcoWHQsdCxyZSksdH0sdC5fc2hvd0VsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPSR0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGNlKTt0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUmJnRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfHxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpLHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT0iYmxvY2siLHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpLHRoaXMuX2VsZW1lbnQuc2Nyb2xsVG9wPTAsbiYmRm4ucmVmbG93KHRoaXMuX2VsZW1lbnQpLCR0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKGhlKSx0aGlzLl9jb25maWcuZm9jdXMmJnRoaXMuX2VuZm9yY2VGb2N1cygpO3ZhciBpPSR0LkV2ZW50KG9lLlNIT1dOLHtyZWxhdGVkVGFyZ2V0OnR9KSxyPWZ1bmN0aW9uKCl7ZS5fY29uZmlnLmZvY3VzJiZlLl9lbGVtZW50LmZvY3VzKCksZS5faXNUcmFuc2l0aW9uaW5nPSExLCR0KGUuX2VsZW1lbnQpLnRyaWdnZXIoaSl9O2lmKG4pe3ZhciBvPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpOyR0KHRoaXMuX2RpYWxvZykub25lKEZuLlRSQU5TSVRJT05fRU5ELHIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKG8pfWVsc2UgcigpfSx0Ll9lbmZvcmNlRm9jdXM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzOyR0KGRvY3VtZW50KS5vZmYob2UuRk9DVVNJTikub24ob2UuRk9DVVNJTixmdW5jdGlvbih0KXtkb2N1bWVudCE9PXQudGFyZ2V0JiZlLl9lbGVtZW50IT09dC50YXJnZXQmJjA9PT0kdChlLl9lbGVtZW50KS5oYXModC50YXJnZXQpLmxlbmd0aCYmZS5fZWxlbWVudC5mb2N1cygpfSl9LHQuX3NldEVzY2FwZUV2ZW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9pc1Nob3duJiZ0aGlzLl9jb25maWcua2V5Ym9hcmQ/JHQodGhpcy5fZWxlbWVudCkub24ob2UuS0VZRE9XTl9ESVNNSVNTLGZ1bmN0aW9uKHQpezI3PT09dC53aGljaCYmKHQucHJldmVudERlZmF1bHQoKSxlLmhpZGUoKSl9KTp0aGlzLl9pc1Nob3dufHwkdCh0aGlzLl9lbGVtZW50KS5vZmYob2UuS0VZRE9XTl9ESVNNSVNTKX0sdC5fc2V0UmVzaXplRXZlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2lzU2hvd24/JHQod2luZG93KS5vbihvZS5SRVNJWkUsZnVuY3Rpb24odCl7cmV0dXJuIGUuaGFuZGxlVXBkYXRlKHQpfSk6JHQod2luZG93KS5vZmYob2UuUkVTSVpFKX0sdC5faGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsITApLHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMSx0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24oKXskdChkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhsZSksdC5fcmVzZXRBZGp1c3RtZW50cygpLHQuX3Jlc2V0U2Nyb2xsYmFyKCksJHQodC5fZWxlbWVudCkudHJpZ2dlcihvZS5ISURERU4pfSl9LHQuX3JlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy5fYmFja2Ryb3AmJigkdCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlKCksdGhpcy5fYmFja2Ryb3A9bnVsbCl9LHQuX3Nob3dCYWNrZHJvcD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49JHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoY2UpP2NlOiIiO2lmKHRoaXMuX2lzU2hvd24mJnRoaXMuX2NvbmZpZy5iYWNrZHJvcCl7aWYodGhpcy5fYmFja2Ryb3A9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fYmFja2Ryb3AuY2xhc3NOYW1lPWFlLG4mJnRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQobiksJHQodGhpcy5fYmFja2Ryb3ApLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLCR0KHRoaXMuX2VsZW1lbnQpLm9uKG9lLkNMSUNLX0RJU01JU1MsZnVuY3Rpb24odCl7ZS5faWdub3JlQmFja2Ryb3BDbGljaz9lLl9pZ25vcmVCYWNrZHJvcENsaWNrPSExOnQudGFyZ2V0PT09dC5jdXJyZW50VGFyZ2V0JiYoInN0YXRpYyI9PT1lLl9jb25maWcuYmFja2Ryb3A/ZS5fZWxlbWVudC5mb2N1cygpOmUuaGlkZSgpKX0pLG4mJkZuLnJlZmxvdyh0aGlzLl9iYWNrZHJvcCksJHQodGhpcy5fYmFja2Ryb3ApLmFkZENsYXNzKGhlKSwhdClyZXR1cm47aWYoIW4pcmV0dXJuIHZvaWQgdCgpO3ZhciBpPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTskdCh0aGlzLl9iYWNrZHJvcCkub25lKEZuLlRSQU5TSVRJT05fRU5ELHQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGkpfWVsc2UgaWYoIXRoaXMuX2lzU2hvd24mJnRoaXMuX2JhY2tkcm9wKXskdCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlQ2xhc3MoaGUpO3ZhciByPWZ1bmN0aW9uKCl7ZS5fcmVtb3ZlQmFja2Ryb3AoKSx0JiZ0KCl9O2lmKCR0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGNlKSl7dmFyIG89Rm4uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fYmFja2Ryb3ApOyR0KHRoaXMuX2JhY2tkcm9wKS5vbmUoRm4uVFJBTlNJVElPTl9FTkQscikuZW11bGF0ZVRyYW5zaXRpb25FbmQobyl9ZWxzZSByKCl9ZWxzZSB0JiZ0KCl9LHQuX2FkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2VsZW1lbnQuc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7IXRoaXMuX2lzQm9keU92ZXJmbG93aW5nJiZ0JiYodGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdD10aGlzLl9zY3JvbGxiYXJXaWR0aCsicHgiKSx0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyYmIXQmJih0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodD10aGlzLl9zY3JvbGxiYXJXaWR0aCsicHgiKX0sdC5fcmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQ9IiIsdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQ9IiJ9LHQuX2NoZWNrU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLl9pc0JvZHlPdmVyZmxvd2luZz10LmxlZnQrdC5yaWdodDx3aW5kb3cuaW5uZXJXaWR0aCx0aGlzLl9zY3JvbGxiYXJXaWR0aD10aGlzLl9nZXRTY3JvbGxiYXJXaWR0aCgpfSx0Ll9zZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgcj10aGlzO2lmKHRoaXMuX2lzQm9keU92ZXJmbG93aW5nKXt2YXIgdD1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZ2UpKSxlPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChfZSkpOyR0KHQpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1lLnN0eWxlLnBhZGRpbmdSaWdodCxpPSR0KGUpLmNzcygicGFkZGluZy1yaWdodCIpOyR0KGUpLmRhdGEoInBhZGRpbmctcmlnaHQiLG4pLmNzcygicGFkZGluZy1yaWdodCIscGFyc2VGbG9hdChpKStyLl9zY3JvbGxiYXJXaWR0aCsicHgiKX0pLCR0KGUpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1lLnN0eWxlLm1hcmdpblJpZ2h0LGk9JHQoZSkuY3NzKCJtYXJnaW4tcmlnaHQiKTskdChlKS5kYXRhKCJtYXJnaW4tcmlnaHQiLG4pLmNzcygibWFyZ2luLXJpZ2h0IixwYXJzZUZsb2F0KGkpLXIuX3Njcm9sbGJhcldpZHRoKyJweCIpfSk7dmFyIG49ZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQsaT0kdChkb2N1bWVudC5ib2R5KS5jc3MoInBhZGRpbmctcmlnaHQiKTskdChkb2N1bWVudC5ib2R5KS5kYXRhKCJwYWRkaW5nLXJpZ2h0IixuKS5jc3MoInBhZGRpbmctcmlnaHQiLHBhcnNlRmxvYXQoaSkrdGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9fSx0Ll9yZXNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChnZSkpOyR0KHQpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj0kdChlKS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7JHQoZSkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpLGUuc3R5bGUucGFkZGluZ1JpZ2h0PW58fCIifSk7dmFyIGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIiK19lKSk7JHQoZSkuZWFjaChmdW5jdGlvbih0LGUpe3ZhciBuPSR0KGUpLmRhdGEoIm1hcmdpbi1yaWdodCIpOyJ1bmRlZmluZWQiIT10eXBlb2YgbiYmJHQoZSkuY3NzKCJtYXJnaW4tcmlnaHQiLG4pLnJlbW92ZURhdGEoIm1hcmdpbi1yaWdodCIpfSk7dmFyIG49JHQoZG9jdW1lbnQuYm9keSkuZGF0YSgicGFkZGluZy1yaWdodCIpOyR0KGRvY3VtZW50LmJvZHkpLnJlbW92ZURhdGEoInBhZGRpbmctcmlnaHQiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1ufHwiIn0sdC5fZ2V0U2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT1zZSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpO3ZhciBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgtdC5jbGllbnRXaWR0aDtyZXR1cm4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSxlfSxyLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24obixpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9JHQodGhpcykuZGF0YSh0ZSksZT1sKHt9LGllLCR0KHRoaXMpLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIG4mJm4/bjp7fSk7aWYodHx8KHQ9bmV3IHIodGhpcyxlKSwkdCh0aGlzKS5kYXRhKHRlLHQpKSwic3RyaW5nIj09dHlwZW9mIG4pe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgdFtuXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrbisnIicpO3Rbbl0oaSl9ZWxzZSBlLnNob3cmJnQuc2hvdyhpKX0pfSxzKHIsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMS4zIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBpZX19XSkscn0oKSwkdChkb2N1bWVudCkub24ob2UuQ0xJQ0tfREFUQV9BUEksZmUsZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLGk9Rm4uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTtpJiYoZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGkpKTt2YXIgcj0kdChlKS5kYXRhKHRlKT8idG9nZ2xlIjpsKHt9LCR0KGUpLmRhdGEoKSwkdCh0aGlzKS5kYXRhKCkpOyJBIiE9PXRoaXMudGFnTmFtZSYmIkFSRUEiIT09dGhpcy50YWdOYW1lfHx0LnByZXZlbnREZWZhdWx0KCk7dmFyIG89JHQoZSkub25lKG9lLlNIT1csZnVuY3Rpb24odCl7dC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8by5vbmUob2UuSElEREVOLGZ1bmN0aW9uKCl7JHQobikuaXMoIjp2aXNpYmxlIikmJm4uZm9jdXMoKX0pfSk7bWUuX2pRdWVyeUludGVyZmFjZS5jYWxsKCR0KGUpLHIsdGhpcyl9KSwkdC5mbltYdF09bWUuX2pRdWVyeUludGVyZmFjZSwkdC5mbltYdF0uQ29uc3RydWN0b3I9bWUsJHQuZm5bWHRdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gJHQuZm5bWHRdPW5lLG1lLl9qUXVlcnlJbnRlcmZhY2V9LG1lKSx6bj0odmU9InRvb2x0aXAiLEVlPSIuIisoeWU9ImJzLnRvb2x0aXAiKSxDZT0ocGU9ZSkuZm5bdmVdLFRlPSJicy10b29sdGlwIixiZT1uZXcgUmVnRXhwKCIoXnxcXHMpIitUZSsiXFxTKyIsImciKSxBZT17YW5pbWF0aW9uOiEwLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0b29sdGlwIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGRpdiBjbGFzcz0idG9vbHRpcC1pbm5lciI+PC9kaXY+PC9kaXY+Jyx0cmlnZ2VyOiJob3ZlciBmb2N1cyIsdGl0bGU6IiIsZGVsYXk6MCxodG1sOiEoSWU9e0FVVE86ImF1dG8iLFRPUDoidG9wIixSSUdIVDoicmlnaHQiLEJPVFRPTToiYm90dG9tIixMRUZUOiJsZWZ0In0pLHNlbGVjdG9yOiEoU2U9e2FuaW1hdGlvbjoiYm9vbGVhbiIsdGVtcGxhdGU6InN0cmluZyIsdGl0bGU6IihzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbikiLHRyaWdnZXI6InN0cmluZyIsZGVsYXk6IihudW1iZXJ8b2JqZWN0KSIsaHRtbDoiYm9vbGVhbiIsc2VsZWN0b3I6IihzdHJpbmd8Ym9vbGVhbikiLHBsYWNlbWVudDoiKHN0cmluZ3xmdW5jdGlvbikiLG9mZnNldDoiKG51bWJlcnxzdHJpbmcpIixjb250YWluZXI6IihzdHJpbmd8ZWxlbWVudHxib29sZWFuKSIsZmFsbGJhY2tQbGFjZW1lbnQ6IihzdHJpbmd8YXJyYXkpIixib3VuZGFyeToiKHN0cmluZ3xlbGVtZW50KSJ9KSxwbGFjZW1lbnQ6InRvcCIsb2Zmc2V0OjAsY29udGFpbmVyOiExLGZhbGxiYWNrUGxhY2VtZW50OiJmbGlwIixib3VuZGFyeToic2Nyb2xsUGFyZW50In0sd2U9Im91dCIsTmU9e0hJREU6ImhpZGUiK0VlLEhJRERFTjoiaGlkZGVuIitFZSxTSE9XOihEZT0ic2hvdyIpK0VlLFNIT1dOOiJzaG93biIrRWUsSU5TRVJURUQ6Imluc2VydGVkIitFZSxDTElDSzoiY2xpY2siK0VlLEZPQ1VTSU46ImZvY3VzaW4iK0VlLEZPQ1VTT1VUOiJmb2N1c291dCIrRWUsTU9VU0VFTlRFUjoibW91c2VlbnRlciIrRWUsTU9VU0VMRUFWRToibW91c2VsZWF2ZSIrRWV9LE9lPSJmYWRlIixrZT0ic2hvdyIsUGU9Ii50b29sdGlwLWlubmVyIixqZT0iLmFycm93IixIZT0iaG92ZXIiLExlPSJmb2N1cyIsUmU9ImNsaWNrIix4ZT0ibWFudWFsIixXZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGkodCxlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9vdHN0cmFwIHRvb2x0aXBzIHJlcXVpcmUgUG9wcGVyLmpzIChodHRwczovL3BvcHBlci5qcy5vcmcpIik7dGhpcy5faXNFbmFibGVkPSEwLHRoaXMuX3RpbWVvdXQ9MCx0aGlzLl9ob3ZlclN0YXRlPSIiLHRoaXMuX2FjdGl2ZVRyaWdnZXI9e30sdGhpcy5fcG9wcGVyPW51bGwsdGhpcy5lbGVtZW50PXQsdGhpcy5jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMudGlwPW51bGwsdGhpcy5fc2V0TGlzdGVuZXJzKCl9dmFyIHQ9aS5wcm90b3R5cGU7cmV0dXJuIHQuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSEwfSx0LmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9ITF9LHQudG9nZ2xlRW5hYmxlZD1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hdGhpcy5faXNFbmFibGVkfSx0LnRvZ2dsZT1mdW5jdGlvbih0KXtpZih0aGlzLl9pc0VuYWJsZWQpaWYodCl7dmFyIGU9dGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSxuPXBlKHQuY3VycmVudFRhcmdldCkuZGF0YShlKTtufHwobj1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSkscGUodC5jdXJyZW50VGFyZ2V0KS5kYXRhKGUsbikpLG4uX2FjdGl2ZVRyaWdnZXIuY2xpY2s9IW4uX2FjdGl2ZVRyaWdnZXIuY2xpY2ssbi5faXNXaXRoQWN0aXZlVHJpZ2dlcigpP24uX2VudGVyKG51bGwsbik6bi5fbGVhdmUobnVsbCxuKX1lbHNle2lmKHBlKHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhrZSkpcmV0dXJuIHZvaWQgdGhpcy5fbGVhdmUobnVsbCx0aGlzKTt0aGlzLl9lbnRlcihudWxsLHRoaXMpfX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHBlLnJlbW92ZURhdGEodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpLHBlKHRoaXMuZWxlbWVudCkub2ZmKHRoaXMuY29uc3RydWN0b3IuRVZFTlRfS0VZKSxwZSh0aGlzLmVsZW1lbnQpLmNsb3Nlc3QoIi5tb2RhbCIpLm9mZigiaGlkZS5icy5tb2RhbCIpLHRoaXMudGlwJiZwZSh0aGlzLnRpcCkucmVtb3ZlKCksdGhpcy5faXNFbmFibGVkPW51bGwsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2hvdmVyU3RhdGU9bnVsbCwodGhpcy5fYWN0aXZlVHJpZ2dlcj1udWxsKSE9PXRoaXMuX3BvcHBlciYmdGhpcy5fcG9wcGVyLmRlc3Ryb3koKSx0aGlzLl9wb3BwZXI9bnVsbCx0aGlzLmVsZW1lbnQ9bnVsbCx0aGlzLmNvbmZpZz1udWxsLHRoaXMudGlwPW51bGx9LHQuc2hvdz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIm5vbmUiPT09cGUodGhpcy5lbGVtZW50KS5jc3MoImRpc3BsYXkiKSl0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSB1c2Ugc2hvdyBvbiB2aXNpYmxlIGVsZW1lbnRzIik7dmFyIHQ9cGUuRXZlbnQodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XKTtpZih0aGlzLmlzV2l0aENvbnRlbnQoKSYmdGhpcy5faXNFbmFibGVkKXtwZSh0aGlzLmVsZW1lbnQpLnRyaWdnZXIodCk7dmFyIG49cGUuY29udGFpbnModGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuZWxlbWVudCk7aWYodC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8IW4pcmV0dXJuO3ZhciBpPXRoaXMuZ2V0VGlwRWxlbWVudCgpLHI9Rm4uZ2V0VUlEKHRoaXMuY29uc3RydWN0b3IuTkFNRSk7aS5zZXRBdHRyaWJ1dGUoImlkIixyKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixyKSx0aGlzLnNldENvbnRlbnQoKSx0aGlzLmNvbmZpZy5hbmltYXRpb24mJnBlKGkpLmFkZENsYXNzKE9lKTt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcucGxhY2VtZW50P3RoaXMuY29uZmlnLnBsYWNlbWVudC5jYWxsKHRoaXMsaSx0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnBsYWNlbWVudCxzPXRoaXMuX2dldEF0dGFjaG1lbnQobyk7dGhpcy5hZGRBdHRhY2htZW50Q2xhc3Mocyk7dmFyIGE9ITE9PT10aGlzLmNvbmZpZy5jb250YWluZXI/ZG9jdW1lbnQuYm9keTpwZShkb2N1bWVudCkuZmluZCh0aGlzLmNvbmZpZy5jb250YWluZXIpO3BlKGkpLmRhdGEodGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSx0aGlzKSxwZS5jb250YWlucyh0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy50aXApfHxwZShpKS5hcHBlbmRUbyhhKSxwZSh0aGlzLmVsZW1lbnQpLnRyaWdnZXIodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5JTlNFUlRFRCksdGhpcy5fcG9wcGVyPW5ldyBoKHRoaXMuZWxlbWVudCxpLHtwbGFjZW1lbnQ6cyxtb2RpZmllcnM6e29mZnNldDp7b2Zmc2V0OnRoaXMuY29uZmlnLm9mZnNldH0sZmxpcDp7YmVoYXZpb3I6dGhpcy5jb25maWcuZmFsbGJhY2tQbGFjZW1lbnR9LGFycm93OntlbGVtZW50OmplfSxwcmV2ZW50T3ZlcmZsb3c6e2JvdW5kYXJpZXNFbGVtZW50OnRoaXMuY29uZmlnLmJvdW5kYXJ5fX0sb25DcmVhdGU6ZnVuY3Rpb24odCl7dC5vcmlnaW5hbFBsYWNlbWVudCE9PXQucGxhY2VtZW50JiZlLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UodCl9LG9uVXBkYXRlOmZ1bmN0aW9uKHQpe2UuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KX19KSxwZShpKS5hZGRDbGFzcyhrZSksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnBlKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsbnVsbCxwZS5ub29wKTt2YXIgbD1mdW5jdGlvbigpe2UuY29uZmlnLmFuaW1hdGlvbiYmZS5fZml4VHJhbnNpdGlvbigpO3ZhciB0PWUuX2hvdmVyU3RhdGU7ZS5faG92ZXJTdGF0ZT1udWxsLHBlKGUuZWxlbWVudCkudHJpZ2dlcihlLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1dOKSx0PT09d2UmJmUuX2xlYXZlKG51bGwsZSl9O2lmKHBlKHRoaXMudGlwKS5oYXNDbGFzcyhPZSkpe3ZhciBjPUZuLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMudGlwKTtwZSh0aGlzLnRpcCkub25lKEZuLlRSQU5TSVRJT05fRU5ELGwpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMpfWVsc2UgbCgpfX0sdC5oaWRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmdldFRpcEVsZW1lbnQoKSxpPXBlLkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElERSkscj1mdW5jdGlvbigpe2UuX2hvdmVyU3RhdGUhPT1EZSYmbi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZS5fY2xlYW5UaXBDbGFzcygpLGUuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiKSxwZShlLmVsZW1lbnQpLnRyaWdnZXIoZS5jb25zdHJ1Y3Rvci5FdmVudC5ISURERU4pLG51bGwhPT1lLl9wb3BwZXImJmUuX3BvcHBlci5kZXN0cm95KCksdCYmdCgpfTtpZihwZSh0aGlzLmVsZW1lbnQpLnRyaWdnZXIoaSksIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKHBlKG4pLnJlbW92ZUNsYXNzKGtlKSwib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmcGUoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oKS5vZmYoIm1vdXNlb3ZlciIsbnVsbCxwZS5ub29wKSx0aGlzLl9hY3RpdmVUcmlnZ2VyW1JlXT0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyW0xlXT0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyW0hlXT0hMSxwZSh0aGlzLnRpcCkuaGFzQ2xhc3MoT2UpKXt2YXIgbz1Gbi5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChuKTtwZShuKS5vbmUoRm4uVFJBTlNJVElPTl9FTkQscikuZW11bGF0ZVRyYW5zaXRpb25FbmQobyl9ZWxzZSByKCk7dGhpcy5faG92ZXJTdGF0ZT0iIn19LHQudXBkYXRlPWZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3BvcHBlciYmdGhpcy5fcG9wcGVyLnNjaGVkdWxlVXBkYXRlKCl9LHQuaXNXaXRoQ29udGVudD1mdW5jdGlvbigpe3JldHVybiBCb29sZWFuKHRoaXMuZ2V0VGl0bGUoKSl9LHQuYWRkQXR0YWNobWVudENsYXNzPWZ1bmN0aW9uKHQpe3BlKHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5hZGRDbGFzcyhUZSsiLSIrdCl9LHQuZ2V0VGlwRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpcD10aGlzLnRpcHx8cGUodGhpcy5jb25maWcudGVtcGxhdGUpWzBdLHRoaXMudGlwfSx0LnNldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFRpcEVsZW1lbnQoKTt0aGlzLnNldEVsZW1lbnRDb250ZW50KHBlKHQucXVlcnlTZWxlY3RvckFsbChQZSkpLHRoaXMuZ2V0VGl0bGUoKSkscGUodCkucmVtb3ZlQ2xhc3MoT2UrIiAiK2tlKX0sdC5zZXRFbGVtZW50Q29udGVudD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuY29uZmlnLmh0bWw7Im9iamVjdCI9PXR5cGVvZiBlJiYoZS5ub2RlVHlwZXx8ZS5qcXVlcnkpP24/cGUoZSkucGFyZW50KCkuaXModCl8fHQuZW1wdHkoKS5hcHBlbmQoZSk6dC50ZXh0KHBlKGUpLnRleHQoKSk6dFtuPyJodG1sIjoidGV4dCJdKGUpfSx0LmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC10aXRsZSIpO3JldHVybiB0fHwodD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcudGl0bGU/dGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnRpdGxlKSx0fSx0Ll9nZXRBdHRhY2htZW50PWZ1bmN0aW9uKHQpe3JldHVybiBJZVt0LnRvVXBwZXJDYXNlKCldfSx0Ll9zZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO3RoaXMuY29uZmlnLnRyaWdnZXIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCJjbGljayI9PT10KXBlKGkuZWxlbWVudCkub24oaS5jb25zdHJ1Y3Rvci5FdmVudC5DTElDSyxpLmNvbmZpZy5zZWxlY3RvcixmdW5jdGlvbih0KXtyZXR1cm4gaS50b2dnbGUodCl9KTtlbHNlIGlmKHQhPT14ZSl7dmFyIGU9dD09PUhlP2kuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VFTlRFUjppLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTSU4sbj10PT09SGU/aS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUxFQVZFOmkuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNPVVQ7cGUoaS5lbGVtZW50KS5vbihlLGkuY29uZmlnLnNlbGVjdG9yLGZ1bmN0aW9uKHQpe3JldHVybiBpLl9lbnRlcih0KX0pLm9uKG4saS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGkuX2xlYXZlKHQpfSl9cGUoaS5lbGVtZW50KS5jbG9zZXN0KCIubW9kYWwiKS5vbigiaGlkZS5icy5tb2RhbCIsZnVuY3Rpb24oKXtyZXR1cm4gaS5oaWRlKCl9KX0pLHRoaXMuY29uZmlnLnNlbGVjdG9yP3RoaXMuY29uZmlnPWwoe30sdGhpcy5jb25maWcse3RyaWdnZXI6Im1hbnVhbCIsc2VsZWN0b3I6IiJ9KTp0aGlzLl9maXhUaXRsZSgpfSx0Ll9maXhUaXRsZT1mdW5jdGlvbigpe3ZhciB0PXR5cGVvZiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIik7KHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoInRpdGxlIil8fCJzdHJpbmciIT09dCkmJih0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIix0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpfHwiIiksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSl9LHQuX2VudGVyPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTsoZT1lfHxwZSh0LmN1cnJlbnRUYXJnZXQpLmRhdGEobikpfHwoZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSkscGUodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4sZSkpLHQmJihlLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c2luIj09PXQudHlwZT9MZTpIZV09ITApLHBlKGUuZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhrZSl8fGUuX2hvdmVyU3RhdGU9PT1EZT9lLl9ob3ZlclN0YXRlPURlOihjbGVhclRpbWVvdXQoZS5fdGltZW91dCksZS5faG92ZXJTdGF0ZT1EZSxlLmNvbmZpZy5kZWxheSYmZS5jb25maWcuZGVsYXkuc2hvdz9lLl90aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl9ob3ZlclN0YXRlPT09RGUmJmUuc2hvdygpfSxlLmNvbmZpZy5kZWxheS5zaG93KTplLnNob3coKSl9LHQuX2xlYXZlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTsoZT1lfHxwZSh0LmN1cnJlbnRUYXJnZXQpLmRhdGEobikpfHwoZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSkscGUodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4sZSkpLHQmJihlLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c291dCI9PT10LnR5cGU/TGU6SGVdPSExKSxlLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCl8fChjbGVhclRpbWVvdXQoZS5fdGltZW91dCksZS5faG92ZXJTdGF0ZT13ZSxlLmNvbmZpZy5kZWxheSYmZS5jb25maWcuZGVsYXkuaGlkZT9lLl90aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl9ob3ZlclN0YXRlPT09d2UmJmUuaGlkZSgpfSxlLmNvbmZpZy5kZWxheS5oaWRlKTplLmhpZGUoKSl9LHQuX2lzV2l0aEFjdGl2ZVRyaWdnZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fYWN0aXZlVHJpZ2dlcilpZih0aGlzLl9hY3RpdmVUcmlnZ2VyW3RdKXJldHVybiEwO3JldHVybiExfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZih0PWwoe30sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LHBlKHRoaXMuZWxlbWVudCkuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgdCYmdD90Ont9KSkuZGVsYXkmJih0LmRlbGF5PXtzaG93OnQuZGVsYXksaGlkZTp0LmRlbGF5fSksIm51bWJlciI9PXR5cGVvZiB0LnRpdGxlJiYodC50aXRsZT10LnRpdGxlLnRvU3RyaW5nKCkpLCJudW1iZXIiPT10eXBlb2YgdC5jb250ZW50JiYodC5jb250ZW50PXQuY29udGVudC50b1N0cmluZygpKSxGbi50eXBlQ2hlY2tDb25maWcodmUsdCx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSx0fSx0Ll9nZXREZWxlZ2F0ZUNvbmZpZz1mdW5jdGlvbigpe3ZhciB0PXt9O2lmKHRoaXMuY29uZmlnKWZvcih2YXIgZSBpbiB0aGlzLmNvbmZpZyl0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRbZV0hPT10aGlzLmNvbmZpZ1tlXSYmKHRbZV09dGhpcy5jb25maWdbZV0pO3JldHVybiB0fSx0Ll9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIHQ9cGUodGhpcy5nZXRUaXBFbGVtZW50KCkpLGU9dC5hdHRyKCJjbGFzcyIpLm1hdGNoKGJlKTtudWxsIT09ZSYmZS5sZW5ndGgmJnQucmVtb3ZlQ2xhc3MoZS5qb2luKCIiKSl9LHQuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZT1mdW5jdGlvbih0KXt2YXIgZT10Lmluc3RhbmNlO3RoaXMudGlwPWUucG9wcGVyLHRoaXMuX2NsZWFuVGlwQ2xhc3MoKSx0aGlzLmFkZEF0dGFjaG1lbnRDbGFzcyh0aGlzLl9nZXRBdHRhY2htZW50KHQucGxhY2VtZW50KSl9LHQuX2ZpeFRyYW5zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFRpcEVsZW1lbnQoKSxlPXRoaXMuY29uZmlnLmFuaW1hdGlvbjtudWxsPT09dC5nZXRBdHRyaWJ1dGUoIngtcGxhY2VtZW50IikmJihwZSh0KS5yZW1vdmVDbGFzcyhPZSksdGhpcy5jb25maWcuYW5pbWF0aW9uPSExLHRoaXMuaGlkZSgpLHRoaXMuc2hvdygpLHRoaXMuY29uZmlnLmFuaW1hdGlvbj1lKX0saS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1wZSh0aGlzKS5kYXRhKHllKSxlPSJvYmplY3QiPT10eXBlb2YgbiYmbjtpZigodHx8IS9kaXNwb3NlfGhpZGUvLnRlc3QobikpJiYodHx8KHQ9bmV3IGkodGhpcyxlKSxwZSh0aGlzKS5kYXRhKHllLHQpKSwic3RyaW5nIj09dHlwZW9mIG4pKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHRbbl0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK24rJyInKTt0W25dKCl9fSl9LHMoaSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4xLjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEFlfX0se2tleToiTkFNRSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZlfX0se2tleToiREFUQV9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiB5ZX19LHtrZXk6IkV2ZW50IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTmV9fSx7a2V5OiJFVkVOVF9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiBFZX19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gU2V9fV0pLGl9KCkscGUuZm5bdmVdPVdlLl9qUXVlcnlJbnRlcmZhY2UscGUuZm5bdmVdLkNvbnN0cnVjdG9yPVdlLHBlLmZuW3ZlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHBlLmZuW3ZlXT1DZSxXZS5falF1ZXJ5SW50ZXJmYWNlfSxXZSksSm49KHFlPSJwb3BvdmVyIixLZT0iLiIrKEZlPSJicy5wb3BvdmVyIiksTWU9KFVlPWUpLmZuW3FlXSxRZT0iYnMtcG9wb3ZlciIsQmU9bmV3IFJlZ0V4cCgiKF58XFxzKSIrUWUrIlxcUysiLCJnIiksVmU9bCh7fSx6bi5EZWZhdWx0LHtwbGFjZW1lbnQ6InJpZ2h0Iix0cmlnZ2VyOiJjbGljayIsY29udGVudDoiIix0ZW1wbGF0ZTonPGRpdiBjbGFzcz0icG9wb3ZlciIgcm9sZT0idG9vbHRpcCI+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxoMyBjbGFzcz0icG9wb3Zlci1oZWFkZXIiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1ib2R5Ij48L2Rpdj48L2Rpdj4nfSksWWU9bCh7fSx6bi5EZWZhdWx0VHlwZSx7Y29udGVudDoiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSJ9KSx6ZT0iZmFkZSIsWmU9Ii5wb3BvdmVyLWhlYWRlciIsR2U9Ii5wb3BvdmVyLWJvZHkiLCRlPXtISURFOiJoaWRlIitLZSxISURERU46ImhpZGRlbiIrS2UsU0hPVzooSmU9InNob3ciKStLZSxTSE9XTjoic2hvd24iK0tlLElOU0VSVEVEOiJpbnNlcnRlZCIrS2UsQ0xJQ0s6ImNsaWNrIitLZSxGT0NVU0lOOiJmb2N1c2luIitLZSxGT0NVU09VVDoiZm9jdXNvdXQiK0tlLE1PVVNFRU5URVI6Im1vdXNlZW50ZXIiK0tlLE1PVVNFTEVBVkU6Im1vdXNlbGVhdmUiK0tlfSxYZT1mdW5jdGlvbih0KXt2YXIgZSxuO2Z1bmN0aW9uIGkoKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9bj10LChlPWkpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSwoZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSkuX19wcm90b19fPW47dmFyIHI9aS5wcm90b3R5cGU7cmV0dXJuIHIuaXNXaXRoQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl8fHRoaXMuX2dldENvbnRlbnQoKX0sci5hZGRBdHRhY2htZW50Q2xhc3M9ZnVuY3Rpb24odCl7VWUodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKFFlKyItIit0KX0sci5nZXRUaXBFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGlwPXRoaXMudGlwfHxVZSh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LHIuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciB0PVVlKHRoaXMuZ2V0VGlwRWxlbWVudCgpKTt0aGlzLnNldEVsZW1lbnRDb250ZW50KHQuZmluZChaZSksdGhpcy5nZXRUaXRsZSgpKTt2YXIgZT10aGlzLl9nZXRDb250ZW50KCk7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUuY2FsbCh0aGlzLmVsZW1lbnQpKSx0aGlzLnNldEVsZW1lbnRDb250ZW50KHQuZmluZChHZSksZSksdC5yZW1vdmVDbGFzcyh6ZSsiICIrSmUpfSxyLl9nZXRDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtY29udGVudCIpfHx0aGlzLmNvbmZpZy5jb250ZW50fSxyLl9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIHQ9VWUodGhpcy5nZXRUaXBFbGVtZW50KCkpLGU9dC5hdHRyKCJjbGFzcyIpLm1hdGNoKEJlKTtudWxsIT09ZSYmMDxlLmxlbmd0aCYmdC5yZW1vdmVDbGFzcyhlLmpvaW4oIiIpKX0saS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1VZSh0aGlzKS5kYXRhKEZlKSxlPSJvYmplY3QiPT10eXBlb2Ygbj9uOm51bGw7aWYoKHR8fCEvZGVzdHJveXxoaWRlLy50ZXN0KG4pKSYmKHR8fCh0PW5ldyBpKHRoaXMsZSksVWUodGhpcykuZGF0YShGZSx0KSksInN0cmluZyI9PXR5cGVvZiBuKSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytuKyciJyk7dFtuXSgpfX0pfSxzKGksbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMS4zIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBWZX19LHtrZXk6Ik5BTUUiLGdldDpmdW5jdGlvbigpe3JldHVybiBxZX19LHtrZXk6IkRBVEFfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRmV9fSx7a2V5OiJFdmVudCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuICRlfX0se2tleToiRVZFTlRfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gS2V9fSx7a2V5OiJEZWZhdWx0VHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFllfX1dKSxpfSh6biksVWUuZm5bcWVdPVhlLl9qUXVlcnlJbnRlcmZhY2UsVWUuZm5bcWVdLkNvbnN0cnVjdG9yPVhlLFVlLmZuW3FlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIFVlLmZuW3FlXT1NZSxYZS5falF1ZXJ5SW50ZXJmYWNlfSxYZSksWm49KGVuPSJzY3JvbGxzcHkiLHJuPSIuIisobm49ImJzLnNjcm9sbHNweSIpLG9uPSh0bj1lKS5mbltlbl0sc249e29mZnNldDoxMCxtZXRob2Q6ImF1dG8iLHRhcmdldDoiIn0sYW49e29mZnNldDoibnVtYmVyIixtZXRob2Q6InN0cmluZyIsdGFyZ2V0OiIoc3RyaW5nfGVsZW1lbnQpIn0sbG49e0FDVElWQVRFOiJhY3RpdmF0ZSIrcm4sU0NST0xMOiJzY3JvbGwiK3JuLExPQURfREFUQV9BUEk6ImxvYWQiK3JuKyIuZGF0YS1hcGkifSxjbj0iZHJvcGRvd24taXRlbSIsaG49ImFjdGl2ZSIsdW49J1tkYXRhLXNweT0ic2Nyb2xsIl0nLGZuPSIuYWN0aXZlIixkbj0iLm5hdiwgLmxpc3QtZ3JvdXAiLGduPSIubmF2LWxpbmsiLF9uPSIubmF2LWl0ZW0iLG1uPSIubGlzdC1ncm91cC1pdGVtIixwbj0iLmRyb3Bkb3duIix2bj0iLmRyb3Bkb3duLWl0ZW0iLHluPSIuZHJvcGRvd24tdG9nZ2xlIixFbj0ib2Zmc2V0IixDbj0icG9zaXRpb24iLFRuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbih0LGUpe3ZhciBuPXRoaXM7dGhpcy5fZWxlbWVudD10LHRoaXMuX3Njcm9sbEVsZW1lbnQ9IkJPRFkiPT09dC50YWdOYW1lP3dpbmRvdzp0LHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fc2VsZWN0b3I9dGhpcy5fY29uZmlnLnRhcmdldCsiICIrZ24rIiwiK3RoaXMuX2NvbmZpZy50YXJnZXQrIiAiK21uKyIsIit0aGlzLl9jb25maWcudGFyZ2V0KyIgIit2bix0aGlzLl9vZmZzZXRzPVtdLHRoaXMuX3RhcmdldHM9W10sdGhpcy5fYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5fc2Nyb2xsSGVpZ2h0PTAsdG4odGhpcy5fc2Nyb2xsRWxlbWVudCkub24obG4uU0NST0xMLGZ1bmN0aW9uKHQpe3JldHVybiBuLl9wcm9jZXNzKHQpfSksdGhpcy5yZWZyZXNoKCksdGhpcy5fcHJvY2VzcygpfXZhciB0PW4ucHJvdG90eXBlO3JldHVybiB0LnJlZnJlc2g9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5fc2Nyb2xsRWxlbWVudD09PXRoaXMuX3Njcm9sbEVsZW1lbnQud2luZG93P0VuOkNuLHI9ImF1dG8iPT09dGhpcy5fY29uZmlnLm1ldGhvZD90OnRoaXMuX2NvbmZpZy5tZXRob2Qsbz1yPT09Q24/dGhpcy5fZ2V0U2Nyb2xsVG9wKCk6MDt0aGlzLl9vZmZzZXRzPVtdLHRoaXMuX3RhcmdldHM9W10sdGhpcy5fc2Nyb2xsSGVpZ2h0PXRoaXMuX2dldFNjcm9sbEhlaWdodCgpLFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLl9zZWxlY3RvcikpLm1hcChmdW5jdGlvbih0KXt2YXIgZSxuPUZuLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7aWYobiYmKGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihuKSksZSl7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihpLndpZHRofHxpLmhlaWdodClyZXR1cm5bdG4oZSlbcl0oKS50b3ArbyxuXX1yZXR1cm4gbnVsbH0pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdH0pLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXS1lWzBdfSkuZm9yRWFjaChmdW5jdGlvbih0KXtlLl9vZmZzZXRzLnB1c2godFswXSksZS5fdGFyZ2V0cy5wdXNoKHRbMV0pfSl9LHQuZGlzcG9zZT1mdW5jdGlvbigpe3RuLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxubiksdG4odGhpcy5fc2Nyb2xsRWxlbWVudCkub2ZmKHJuKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fc2Nyb2xsRWxlbWVudD1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX3NlbGVjdG9yPW51bGwsdGhpcy5fb2Zmc2V0cz1udWxsLHRoaXMuX3RhcmdldHM9bnVsbCx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9bnVsbH0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YodD1sKHt9LHNuLCJvYmplY3QiPT10eXBlb2YgdCYmdD90Ont9KSkudGFyZ2V0KXt2YXIgZT10bih0LnRhcmdldCkuYXR0cigiaWQiKTtlfHwoZT1Gbi5nZXRVSUQoZW4pLHRuKHQudGFyZ2V0KS5hdHRyKCJpZCIsZSkpLHQudGFyZ2V0PSIjIitlfXJldHVybiBGbi50eXBlQ2hlY2tDb25maWcoZW4sdCxhbiksdH0sdC5fZ2V0U2Nyb2xsVG9wPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQ9PT13aW5kb3c/dGhpcy5fc2Nyb2xsRWxlbWVudC5wYWdlWU9mZnNldDp0aGlzLl9zY3JvbGxFbGVtZW50LnNjcm9sbFRvcH0sdC5fZ2V0U2Nyb2xsSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsSGVpZ2h0fHxNYXRoLm1heChkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KX0sdC5fZ2V0T2Zmc2V0SGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQ9PT13aW5kb3c/d2luZG93LmlubmVySGVpZ2h0OnRoaXMuX3Njcm9sbEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0fSx0Ll9wcm9jZXNzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0U2Nyb2xsVG9wKCkrdGhpcy5fY29uZmlnLm9mZnNldCxlPXRoaXMuX2dldFNjcm9sbEhlaWdodCgpLG49dGhpcy5fY29uZmlnLm9mZnNldCtlLXRoaXMuX2dldE9mZnNldEhlaWdodCgpO2lmKHRoaXMuX3Njcm9sbEhlaWdodCE9PWUmJnRoaXMucmVmcmVzaCgpLG48PXQpe3ZhciBpPXRoaXMuX3RhcmdldHNbdGhpcy5fdGFyZ2V0cy5sZW5ndGgtMV07dGhpcy5fYWN0aXZlVGFyZ2V0IT09aSYmdGhpcy5fYWN0aXZhdGUoaSl9ZWxzZXtpZih0aGlzLl9hY3RpdmVUYXJnZXQmJnQ8dGhpcy5fb2Zmc2V0c1swXSYmMDx0aGlzLl9vZmZzZXRzWzBdKXJldHVybiB0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx2b2lkIHRoaXMuX2NsZWFyKCk7Zm9yKHZhciByPXRoaXMuX29mZnNldHMubGVuZ3RoO3ItLTspe3RoaXMuX2FjdGl2ZVRhcmdldCE9PXRoaXMuX3RhcmdldHNbcl0mJnQ+PXRoaXMuX29mZnNldHNbcl0mJigidW5kZWZpbmVkIj09dHlwZW9mIHRoaXMuX29mZnNldHNbcisxXXx8dDx0aGlzLl9vZmZzZXRzW3IrMV0pJiZ0aGlzLl9hY3RpdmF0ZSh0aGlzLl90YXJnZXRzW3JdKX19fSx0Ll9hY3RpdmF0ZT1mdW5jdGlvbihlKXt0aGlzLl9hY3RpdmVUYXJnZXQ9ZSx0aGlzLl9jbGVhcigpO3ZhciB0PXRoaXMuX3NlbGVjdG9yLnNwbGl0KCIsIik7dD10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCsnW2RhdGEtdGFyZ2V0PSInK2UrJyJdLCcrdCsnW2hyZWY9IicrZSsnIl0nfSk7dmFyIG49dG4oW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHQuam9pbigiLCIpKSkpO24uaGFzQ2xhc3MoY24pPyhuLmNsb3Nlc3QocG4pLmZpbmQoeW4pLmFkZENsYXNzKGhuKSxuLmFkZENsYXNzKGhuKSk6KG4uYWRkQ2xhc3MoaG4pLG4ucGFyZW50cyhkbikucHJldihnbisiLCAiK21uKS5hZGRDbGFzcyhobiksbi5wYXJlbnRzKGRuKS5wcmV2KF9uKS5jaGlsZHJlbihnbikuYWRkQ2xhc3MoaG4pKSx0bih0aGlzLl9zY3JvbGxFbGVtZW50KS50cmlnZ2VyKGxuLkFDVElWQVRFLHtyZWxhdGVkVGFyZ2V0OmV9KX0sdC5fY2xlYXI9ZnVuY3Rpb24oKXt2YXIgdD1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fc2VsZWN0b3IpKTt0bih0KS5maWx0ZXIoZm4pLnJlbW92ZUNsYXNzKGhuKX0sbi5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD10bih0aGlzKS5kYXRhKG5uKTtpZih0fHwodD1uZXcgbih0aGlzLCJvYmplY3QiPT10eXBlb2YgZSYmZSksdG4odGhpcykuZGF0YShubix0KSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHRbZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTt0W2VdKCl9fSl9LHMobixudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4xLjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHNufX1dKSxufSgpLHRuKHdpbmRvdykub24obG4uTE9BRF9EQVRBX0FQSSxmdW5jdGlvbigpe2Zvcih2YXIgdD1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodW4pKSxlPXQubGVuZ3RoO2UtLTspe3ZhciBuPXRuKHRbZV0pO1RuLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChuLG4uZGF0YSgpKX19KSx0bi5mbltlbl09VG4uX2pRdWVyeUludGVyZmFjZSx0bi5mbltlbl0uQ29uc3RydWN0b3I9VG4sdG4uZm5bZW5dLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdG4uZm5bZW5dPW9uLFRuLl9qUXVlcnlJbnRlcmZhY2V9LFRuKSxHbj0oSW49Ii4iKyhTbj0iYnMudGFiIiksQW49KGJuPWUpLmZuLnRhYixEbj17SElERToiaGlkZSIrSW4sSElEREVOOiJoaWRkZW4iK0luLFNIT1c6InNob3ciK0luLFNIT1dOOiJzaG93biIrSW4sQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitJbisiLmRhdGEtYXBpIn0sd249ImRyb3Bkb3duLW1lbnUiLE5uPSJhY3RpdmUiLE9uPSJkaXNhYmxlZCIsa249ImZhZGUiLFBuPSJzaG93Iixqbj0iLmRyb3Bkb3duIixIbj0iLm5hdiwgLmxpc3QtZ3JvdXAiLExuPSIuYWN0aXZlIixSbj0iPiBsaSA+IC5hY3RpdmUiLHhuPSdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLFduPSIuZHJvcGRvd24tdG9nZ2xlIixVbj0iPiAuZHJvcGRvd24tbWVudSAuYWN0aXZlIixxbj1mdW5jdGlvbigpe2Z1bmN0aW9uIGkodCl7dGhpcy5fZWxlbWVudD10fXZhciB0PWkucHJvdG90eXBlO3JldHVybiB0LnNob3c9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO2lmKCEodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYm4odGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoTm4pfHxibih0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhPbikpKXt2YXIgdCxpLGU9Ym4odGhpcy5fZWxlbWVudCkuY2xvc2VzdChIbilbMF0scj1Gbi5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2lmKGUpe3ZhciBvPSJVTCI9PT1lLm5vZGVOYW1lP1JuOkxuO2k9KGk9Ym4ubWFrZUFycmF5KGJuKGUpLmZpbmQobykpKVtpLmxlbmd0aC0xXX12YXIgcz1ibi5FdmVudChEbi5ISURFLHtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9KSxhPWJuLkV2ZW50KERuLlNIT1cse3JlbGF0ZWRUYXJnZXQ6aX0pO2lmKGkmJmJuKGkpLnRyaWdnZXIocyksYm4odGhpcy5fZWxlbWVudCkudHJpZ2dlcihhKSwhYS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmIXMuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ImJih0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IocikpLHRoaXMuX2FjdGl2YXRlKHRoaXMuX2VsZW1lbnQsZSk7dmFyIGw9ZnVuY3Rpb24oKXt2YXIgdD1ibi5FdmVudChEbi5ISURERU4se3JlbGF0ZWRUYXJnZXQ6bi5fZWxlbWVudH0pLGU9Ym4uRXZlbnQoRG4uU0hPV04se3JlbGF0ZWRUYXJnZXQ6aX0pO2JuKGkpLnRyaWdnZXIodCksYm4obi5fZWxlbWVudCkudHJpZ2dlcihlKX07dD90aGlzLl9hY3RpdmF0ZSh0LHQucGFyZW50Tm9kZSxsKTpsKCl9fX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7Ym4ucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LFNuKSx0aGlzLl9lbGVtZW50PW51bGx9LHQuX2FjdGl2YXRlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLHI9KCJVTCI9PT1lLm5vZGVOYW1lP2JuKGUpLmZpbmQoUm4pOmJuKGUpLmNoaWxkcmVuKExuKSlbMF0sbz1uJiZyJiZibihyKS5oYXNDbGFzcyhrbikscz1mdW5jdGlvbigpe3JldHVybiBpLl90cmFuc2l0aW9uQ29tcGxldGUodCxyLG4pfTtpZihyJiZvKXt2YXIgYT1Gbi5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChyKTtibihyKS5vbmUoRm4uVFJBTlNJVElPTl9FTkQscykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYSl9ZWxzZSBzKCl9LHQuX3RyYW5zaXRpb25Db21wbGV0ZT1mdW5jdGlvbih0LGUsbil7aWYoZSl7Ym4oZSkucmVtb3ZlQ2xhc3MoUG4rIiAiK05uKTt2YXIgaT1ibihlLnBhcmVudE5vZGUpLmZpbmQoVW4pWzBdO2kmJmJuKGkpLnJlbW92ZUNsYXNzKE5uKSwidGFiIj09PWUuZ2V0QXR0cmlidXRlKCJyb2xlIikmJmUuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwhMSl9aWYoYm4odCkuYWRkQ2xhc3MoTm4pLCJ0YWIiPT09dC5nZXRBdHRyaWJ1dGUoInJvbGUiKSYmdC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCEwKSxGbi5yZWZsb3codCksYm4odCkuYWRkQ2xhc3MoUG4pLHQucGFyZW50Tm9kZSYmYm4odC5wYXJlbnROb2RlKS5oYXNDbGFzcyh3bikpe3ZhciByPWJuKHQpLmNsb3Nlc3Qoam4pWzBdO2lmKHIpe3ZhciBvPVtdLnNsaWNlLmNhbGwoci5xdWVyeVNlbGVjdG9yQWxsKFduKSk7Ym4obykuYWRkQ2xhc3MoTm4pfXQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMCl9biYmbigpfSxpLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWJuKHRoaXMpLGU9dC5kYXRhKFNuKTtpZihlfHwoZT1uZXcgaSh0aGlzKSx0LmRhdGEoU24sZSkpLCJzdHJpbmciPT10eXBlb2Ygbil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBlW25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytuKyciJyk7ZVtuXSgpfX0pfSxzKGksbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMS4zIn19XSksaX0oKSxibihkb2N1bWVudCkub24oRG4uQ0xJQ0tfREFUQV9BUEkseG4sZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHFuLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChibih0aGlzKSwic2hvdyIpfSksYm4uZm4udGFiPXFuLl9qUXVlcnlJbnRlcmZhY2UsYm4uZm4udGFiLkNvbnN0cnVjdG9yPXFuLGJuLmZuLnRhYi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGJuLmZuLnRhYj1Bbixxbi5falF1ZXJ5SW50ZXJmYWNlfSxxbik7IWZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGpRdWVyeS4galF1ZXJ5IG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlIEJvb3RzdHJhcCdzIEphdmFTY3JpcHQuIik7dmFyIGU9dC5mbi5qcXVlcnkuc3BsaXQoIiAiKVswXS5zcGxpdCgiLiIpO2lmKGVbMF08MiYmZVsxXTw5fHwxPT09ZVswXSYmOT09PWVbMV0mJmVbMl08MXx8NDw9ZVswXSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgYXQgbGVhc3QgalF1ZXJ5IHYxLjkuMSBidXQgbGVzcyB0aGFuIHY0LjAuMCIpfShlKSx0LlV0aWw9Rm4sdC5BbGVydD1Lbix0LkJ1dHRvbj1Nbix0LkNhcm91c2VsPVFuLHQuQ29sbGFwc2U9Qm4sdC5Ecm9wZG93bj1Wbix0Lk1vZGFsPVluLHQuUG9wb3Zlcj1Kbix0LlNjcm9sbHNweT1abix0LlRhYj1Hbix0LlRvb2x0aXA9em4sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5taW4uanMubWFw"}},"time_used":66,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":66,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/88906.0d650469c9c843577b47.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.817Z","timestamp":1785124875817,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/88906.0d650469c9c843577b47.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5029\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e33e84d37f2e4f169e48e0ac8814c4d7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20521,"size_decoded":4225,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (20521), with no line terminators","md5":"4a51ba6d12ee0610b5d72dd27e711a99","sha1":"aad2a74218259b98d0471539beaba1a0f6d22f98","sha256":"701de67c496f57ecf6702cbf74570ac82c16d20f7661b5336e4b57faaf99a48b","sha512":"ae10205cd98ebe930ec6b30d92db97e27eb3811af4aac3da8ad6e32444c18b650cfb62f89d379fb2f320f1dcdf197bedd1e7fae73ad4ca5af2a4c0ce0a964737","ssdeep":"384:lN346M/4UZch+iBcHuNeCB/H1nVdx2Z1L:g6M/46ch8","tlshash":"eb929cadef35f639e43d972bd7a3789f3910d7caae13469ba2d4141504cabe34122c84","first_seen":"2026-07-23T13:54:09.175898Z","last_seen":"2026-07-27T06:24:31.7762Z","times_seen":220,"resource_available":false,"data":"OnJvb3QsW2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1waG9uZTo1NnB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtdGFibGV0OjgwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3A6MTAwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmU6MTZweDstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLXRhYmxldDoyNHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wOjMycHg7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1kZXNrdG9wOjQwcHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0OjE2cHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1sYXB0b3A6MjRweDstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWRlc2t0b3A6MjRweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXBob25lOjU2cHg7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQ6ODBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcDoxMDBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3A6MTIwcHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0OjI0cHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3A6MzJweDstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3A6NDBweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXBob25lOjE2cHg7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZS10YWJsZXQ6MTZweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcDoyNHB4Oy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcDoyNHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLXBob25lOjgwcHg7LS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0OjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcDoxNjBweDstLXYtcmh5dGhtLXNwYWNpbmctMS1kZXNrdG9wOjIwMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0Ojg4cHg7LS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3A6MTYwcHg7LS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmU6NDhweDstLXYtcmh5dGhtLXNwYWNpbmctMy10YWJsZXQ6NjRweDstLXYtcmh5dGhtLXNwYWNpbmctMy1sYXB0b3A6ODhweDstLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy00LXBob25lOjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0OjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcDo4MHB4Oy0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lOjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0OjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wOjQwcHg7LS12LXJoeXRobS1zcGFjaW5nLTUtZGVza3RvcDo0OHB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy0xOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMS1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy00OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNC1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lKX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fUBzdXBwb3J0cyBub3QgKGNvbnRhaW5lci10eXBlOmlubGluZS1zaXplKXtAbWVkaWEgKG1pbi13aWR0aDo3MDJweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDcwMnB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0KX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KXs6cm9vdHstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fUBtZWRpYSAobWluLXdpZHRoOjE0NDBweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEzNzRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19fUBjb250YWluZXIgY29udGVudC1jb250YWluZXIgKG1pbi13aWR0aDogMTM3NHB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0zOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWRlc2t0b3ApfX0udHYtdGV4dCBvbCwudHYtdGV4dCBwLC50di10ZXh0IHVse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTJweH0udHYtdGV4dCBoMXtmb250LXNpemU6NDVweDttYXJnaW4tYm90dG9tOjMwcHg7bWFyZ2luLXRvcDozMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDF7Zm9udC1zaXplOjM4cHh9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGV4dCBoMXtmb250LXNpemU6MzJweH19QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di10ZXh0IGgxe2ZvbnQtc2l6ZToyOHB4fX0udHYtdGV4dCBoMntmb250LXNpemU6MzFweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10ZXh0IGgye2ZvbnQtc2l6ZToyNnB4fX1AbWVkaWEgKG1heC13aWR0aDo0NzlweCl7LnR2LXRleHQgaDJ7Zm9udC1zaXplOjI0cHh9fS50di10ZXh0IGgze2ZvbnQtc2l6ZToxN3B4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDN7Zm9udC1zaXplOjE2cHh9fS50di10ZXh0IGg0e2ZvbnQtc2l6ZToxNXB4fS50di10ZXh0IGgyLC50di10ZXh0IGgzLC50di10ZXh0IGg0e21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tdG9wOjIwcHh9LnR2LXRleHQgaDE6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDI6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDM6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50di10ZXh0IG9sLC50di10ZXh0IHVse2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlfS50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIG9sLC50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIHVse2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtwYWRkaW5nLWlubGluZS1zdGFydDoxN3B4fS50di10ZXh0IGE6bm90KC50di1idXR0b24pOm5vdCgudHYtY2hhcnQtdmlld19fZGVzY3JpcHRpb25fX3RhZyksLnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0udHYtdGV4dCBhOm5vdCgudHYtYnV0dG9uKTpub3QoLnR2LWNoYXJ0LXZpZXdfX2Rlc2NyaXB0aW9uX190YWcpOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0udHYtdGV4dC0tZGFya2JnLC50di10ZXh0LS1kYXJrYmcgb2wsLnR2LXRleHQtLWRhcmtiZyBwLC50di10ZXh0LS1kYXJrYmcgdWx7Y29sb3I6I2ZmZn0uYXJpYS1saXZlLXJlZ2lvbnMtd3JhcHBlcntib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAsMCwwLDApO292ZXJmbG93LXg6aGlkZGVufWh0bWx7Y29sb3Itc2NoZW1lOmxpZ2h0fWh0bWwudGhlbWUtZGFya3tjb2xvci1zY2hlbWU6ZGFya31odG1sLnRoZW1lLWRhcmsgaWZyYW1le2NvbG9yLXNjaGVtZTpub3JtYWx9Ym9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOjMyMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5Lmktbm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9Ym9keS5pLW5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNlbGVjdGlvbi1iZyl9LnNjcmVlbi1pd3I5T3Rwc3tib3R0b206MDtkaXNwbGF5Om5vbmU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDo4fS5zY3JlZW4taXdyOU90cHMuZmFkZS1pd3I5T3Rwc3thbmltYXRpb246c2NyZWVuZmFkZS1pd3I5T3RwcyAuM3MgZWFzZSBiYWNrd2FyZHM7ZGlzcGxheTpibG9ja31Aa2V5ZnJhbWVzIHNjcmVlbmZhZGUtaXdyOU90cHN7MCV7b3BhY2l0eTowfX0ucGFuZVNlcGFyYXRvci1haTlNWEo5a3ttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5a3toZWlnaHQ6N3B4O2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotM3B4O3dpZHRoOjEwMCU7ei1pbmRleDo1MH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLm1vYmlsZS1haTlNWEo5a3toZWlnaHQ6MTFweDt0b3A6LTVweH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmFjdGl2ZS1haTlNWEo5aywucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmhvdmVyZWQtYWk5TVhKOWssLnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5ay5zZWxlY3RlZC1haTlNWEo5a3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2N1cnNvcjpyb3ctcmVzaXplfS5wYW5lU2VwYXJhdG9yLWFpOU1YSjlrIC5oYW5kbGUtYWk5TVhKOWsuYWN0aXZlLWFpOU1YSjlrOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGp7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjN9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlci1iVENUUkNUai5oaWRkZW4tYlRDVFJDVGp7dmlzaWJpbGl0eTpoaWRkZW59LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7d2lkdGg6MTAwJX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1Rqe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtjb2x1bW4tZ2FwOjJweDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6MCAzcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtY2hpbGQoMSBvZiA6bm90KC5qcy1oaWRkZW4pKXtib3JkZXItc3RhcnQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czozcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtbGFzdC1jaGlsZCgtbisxIG9mIDpub3QoLmpzLWhpZGRlbikpe2JvcmRlci1lbmQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6M3B4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqOmhvdmVyOm5vdCgucmVhZG9ubHkpe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9fS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqLmV4cGFuZGVkLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24tYlRDVFJDVGp7dHJhbnNmb3JtOnNjYWxlWSgtMSl9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogZGl2e3BvaW50ZXItZXZlbnRzOmF1dG99LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dC1iVENUUkNUant3aGl0ZS1zcGFjZTpub3dyYXB9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93bi1iVENUUkNUanthbGlnbi1zZWxmOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1Rqe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGogLnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUantjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGo6aG92ZXI6bm90KC5yZWFkb25seSl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0ucHJpY2UtYXhpc3tjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGV9LnByaWNlLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnByaWNlLWF4aXMtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wcmljZS1heGlzLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnByaWNlLWF4aXNfX21vZGVCdXR0b25ze2JvdHRvbTowO21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZToxcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDozfS5wcmljZS1heGlzX19tb2RlQnV0dG9uc19oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnBhbmV7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59LnBhbmUtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wYW5lLS1jdXJzb3ItZXJhc2Vye2N1cnNvcjp1cmwoZXJhc2VyLmM4MDYxMGEwNGE5MmQyNDY1YjAzLmN1ciksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRvdHtjdXJzb3I6dXJsKGRvdC4zZDYxN2I2YjAxZWRiYTgzYTdmNC5jdXIpLGRlZmF1bHR9LnBhbmUtLWN1cnNvci1wZXJmb3JtYW5jZXtjdXJzb3I6dXJsKHBlcmZvcm1hbmNlLjc2OWNmOWRkYTJlZGU3ZDEyYjc0LnN2ZyksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRlZmF1bHQsLnBhbmUtLWN1cnNvci1kZW1vbnN0cmF0aW9ue2N1cnNvcjpkZWZhdWx0fS5wYW5lLS1jdXJzb3ItZ3JhYmJpbmd7Y3Vyc29yOmdyYWJiaW5nfS5wYW5lLS1jdXJzb3Item9vbS1pbntjdXJzb3I6em9vbS1pbn0ucGFuZS0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5wYW5lLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5wYW5lLS1jdXJzb3Itbm9uZXtjdXJzb3I6bm9uZX0udGltZS1heGlze2N1cnNvcjpkZWZhdWx0fS50aW1lLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnRpbWUtYXhpcy0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5pY29uLWlyQTBvYUg4ey0tdWktbGliLWluLWluZm9ybWVyLWljb24tY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQpOy0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1saWdodCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtLWpHSTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC0takdJOnZhcigtLWNvbG9yLXR2LWJsdWUtODAwKX0uY2hhcnQtd2lkZ2V0e2JvcmRlci1zdHlsZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MjU2cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo1MTJweH0uY2hhcnQtbWFya3VwLXRhYmxle2JvcmRlcjpub25lO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDowcHh9LmNoYXJ0LW1hcmt1cC10YWJsZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS5jaGFydC1ndWktd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2x1bW4tZ2FwOjRweDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDA7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5jaGFydC1ndWktd3JhcHBlcl9fbGVnZW5ke2ZsZXg6MSAxIGF1dG87bWF4LXdpZHRoOjEwMCV9LmNoYXJ0LWd1aS13cmFwcGVyX19wYW5lQ29udHJvbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXN7LS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXM6NHB4fS5jaGFydC1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSl9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lcntjb250YWluOnN0cmljdDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO2JvcmRlcjpub25lO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3otaW5kZXg6MH0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yLHZhcigtLV8wLS1qR0kpKTtib3R0b206MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jaGFydC1wYWdlIC5jaGFydC1jb250YWluZXIuaW5hY3RpdmUgLmJhY2stdG8tcHJlc2VudHtkaXNwbGF5Om5vbmV9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lci5uby1oZWFkZXItdG9vbGJhciAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntib3JkZXItc3RhcnQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4KX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm5vLWJvdHRvbS10b29sYmFyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci1lbmQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCl9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1sZWZ0LWNoYXJ0IC5jaGFydC1jb250YWluZXItYm9yZGVyLC5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWxlZnQtY2hhcnQubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4IDAgMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydCAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydC5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwIDRweCAwIDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWZ1bGwtd2lkdGgtY2hhcnQgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXJ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1mdWxsLXdpZHRoLWNoYXJ0Lm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCA0cHggMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5uby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzLmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXIsLmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMuYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpfS5jaGFydHNTcGxpdHRlci14cXNhT3g5Q3tiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCI7cG9zaXRpb246YWJzb2x1dGV9LmNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDLmhvdmVyZWQteHFzYU94OUN7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX0uY2hhcnQtY29udHJvbHMtYmFye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSk7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGFpbjpzdHJpY3Q7aGVpZ2h0OjM5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlfS5uby1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXJ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uby1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udHJvbHMtYmFye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXIubXVsdGlwbGUtbGF5b3V0e2JvcmRlci1yYWRpdXM6NHB4fQ=="}},"time_used":26,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":26,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44031.2691fc2c3468293bfd16.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.713Z","timestamp":1785124876713,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44031.2691fc2c3468293bfd16.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-90\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a68e4918202eddfcd483a1bb7a7daef6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":144,"size_decoded":886,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"669466b98876123099594e1a8ff0556e","sha1":"f7b7d85273ef4a6de745e7d1977d6eaeb4e25f41","sha256":"634134c6e0cfe9953231051ead0975df8ee84bfbd6df8222218fdea0f1b04497","sha512":"ecd87db6f1f0eb9c5d7b76d4b2a7f4dbff140856b0addb002e166951b7c534f59c42c8acf7638bb7b769ecbb39022454b989196dfe7b376e759e63163119856f","ssdeep":"","tlshash":"48c02b8871c0302aba0f312ac33cc55830301940ec001f6a992de4f288c0fda13e2f39","first_seen":"2026-07-23T14:00:31.42266Z","last_seen":"2026-07-27T06:14:34.267143Z","times_seen":152,"resource_available":false,"data":"LnNlcGFyYXRvci1LSHR5TVRZR3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7aGVpZ2h0OjFweDttYXJnaW46NnB4IDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47092.c57238934a2f7a36a0c0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.217Z","timestamp":1785124877217,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47092.c57238934a2f7a36a0c0.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0ec5a6a362ecdccd86305a95a2a141de\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":185,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"24e74681705029f86b9d87bedc027aa5","sha1":"fe1386df90ebe4f07b9dff456b94337a883095c2","sha256":"202296674a1e160a78b7c4b60243b3ee3e435038df80806234e5d0c7ba5a45de","sha512":"c796dea4f074dc6dc1ce415b6f58c1074ecef040f75963d77b501466b6c7d01c2df3dd3c2c6f8a0aafe54ae942c597af1ff7e5a4e44fb78d5a1cc675f07e3206","ssdeep":"","tlshash":"9dc0121255062d0ac4a756a27971259410705417ad336d3fe17c3b314daa6c9299e586","first_seen":"2026-07-19T21:33:33.838584Z","last_seen":"2026-07-27T06:24:31.616931Z","times_seen":26,"resource_available":false,"data":"LmludGVyc2VjdGlvblpvbmUtRUlWMl9SZDB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MH0uaW50ZXJzZWN0aW9uRGV0ZWN0b3ItRUlWMl9SZDB7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQtRUlWMl9SZDB7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LnJpZ2h0LUVJVjJfUmQwe2luc2V0LWlubGluZS1lbmQ6MH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.244Z","timestamp":1785124877244,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8946.0be20cf5b56838bd1cdd.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-80bb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 190c9418fc0aac846c11d198eded927c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32955,"size_decoded":10982,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"db8665d50bbb7613ae4d5ff6618efb3c","sha1":"72a0474595ec30ff0f5b29570e7d187a4fa34bf9","sha256":"fb3be873ebdfbe3bb4183024dae7c56fffbf7bea33c01b1f7e13d8881b2d73b9","sha512":"a6a8b9b47236538cc2a9b1b522fad8d83f2d3dc7bfbe876ca6cce7a11cb9e780846d3701f295f97ada93ab31796dc3f2300f38706cefc2b939261da5325e75ca","ssdeep":"768:3iSitKD8BRCVEvoJvvI2TWRe3/E05YFa9dOJiGHE9E1RInrGhbnFT8hu7tOq+CKX:bitKDeSEAJHj3f8hbWBp","tlshash":"a5e2f7513531714852fba5eb99da062ce334732ce8248e25a8f1dc8c7ae5ae0e377d4c","first_seen":"2026-07-22T17:32:48.084118Z","last_seen":"2026-07-27T06:24:31.633242Z","times_seen":26,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTQ2XSx7NzI3NjIzKGUpe2UuZXhwb3J0cz17ImNoZWNrYm94LXByaW1hcnktZGVmYXVsdC1iZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSIsImNoZWNrYm94LWRhbmdlci1kZWZhdWx0LWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCkiLCJjaGVja2JveC1wcmltYXJ5LWZnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVpbmFyeS1pbnZlcnNlKSIsImNoZWNrYm94LWRhbmdlci1mZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZSkiLHByaW1hcnk6InByaW1hcnktWThvRlRfUFoiLGRhbmdlcjoiZGFuZ2VyLVk4b0ZUX1BaIn19LDM1NDMzMShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItVHk1TzFXSlEiLGRpck1hdGNoaW5nOiJkaXJNYXRjaGluZy1UeTVPMVdKUSJ9fSw3OTYwMTAoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLWpQSWFPOEh1In19LDYzNjk4NihlKXtlLmV4cG9ydHM9e2N1c3RvbUxpc3RJdGVtOiJjdXN0b21MaXN0SXRlbS05UTlGSHlybiIsY2xpY2thYmxlOiJjbGlja2FibGUtOVE5Rkh5cm4ifX0sOTk0MjgoZSl7ZS5leHBvcnRzPXtkaXZpZGVyOiJkaXZpZGVyLVpkX3RxdWNEIixsaW5lOiJsaW5lLVpkX3RxdWNEIn19LDIxMjY3MihlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItS1VpdHN0cEoiLHByaW1hcnlUaXRsZVdyYXBwZXI6InByaW1hcnlUaXRsZVdyYXBwZXItS1VpdHN0cEoiLHNlY29uZGFyeVRpdGxlV3JhcHBlcjoic2Vjb25kYXJ5VGl0bGVXcmFwcGVyLUtVaXRzdHBKIix0aXRsZToidGl0bGUtS1VpdHN0cEoiLGNvbnRlbnQ6ImNvbnRlbnQtS1VpdHN0cEoiLGxlZnQ6ImxlZnQtS1VpdHN0cEoiLHdpdGhMZWZ0U2xvdDoid2l0aExlZnRTbG90LUtVaXRzdHBKIixzcGFjZToic3BhY2UtS1VpdHN0cEoiLGljb246Imljb24tS1VpdHN0cEoifX0sMjIxNDk2KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tT3diR1Z5YTMiLHRleHQ6InRleHQtT3diR1Z5YTMifX0sODY0NzM2KGUpe2UuZXhwb3J0cz17Y29udGV4dEFjdGlvbnM6ImNvbnRleHRBY3Rpb25zLXVCSmhqVVY4IixoaWRlSWZOb0hvdmVyOiJoaWRlSWZOb0hvdmVyLXVCSmhqVVY4Iixzb21lQ29udGV4dEFjdGlvbkZvY3VzZWQ6InNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZC11QkpoalVWOCJ9fSw2OTE4MyhlKXtlLmV4cG9ydHM9e3JpZ2h0OiJyaWdodC1PSUJrazNnSyIsYXJyb3c6ImFycm93LU9JQmtrM2dLIn19LDYyNTcwOShlKXtlLmV4cG9ydHM9e3NtYWxsOiJzbWFsbC10V0RJQ1RheSIsbWVkaXVtOiJtZWRpdW0tdFdESUNUYXkiLGxhcmdlOiJsYXJnZS10V0RJQ1RheSIsc3dpdGNoVmlldzoic3dpdGNoVmlldy10V0RJQ1RheSIsY2hlY2tlZDoiY2hlY2tlZC10V0RJQ1RheSIsZGlzYWJsZWQ6ImRpc2FibGVkLXRXRElDVGF5Iix0cmFjazoidHJhY2stdFdESUNUYXkiLHRodW1iOiJ0aHVtYi10V0RJQ1RheSJ9fSw3OTgwMDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2hlY2tib3hWaWV3OigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9big1MzYxMjUpLGw9big3Mjc2MjMpLGM9bi5uKGwpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7Y2hlY2tlZDp0LGNsYXNzTmFtZTpuLGRpc2FibGVkOmksaW50ZW50Omw9InByaW1hcnkiLGRhdGFRYUlkOnMsLi4uZH09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGMoKVtsXSxlLmNsYXNzTmFtZSksLi4uZH0sby5jcmVhdGVFbGVtZW50KHIuQ2hlY2tib3hWaWV3SW1wbCx7ZGlzYWJsZWQ6aSxjaGVja2VkOnQsZGF0YVFhSWQ6c30pKX19LDYzODg3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTdmdJY29uTGlzdEl0ZW1QYXJ0OigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big0NTA4MiksYT1uKDIxNzI3NCk7ZnVuY3Rpb24gcihlKXtjb25zdHtpY29uU3ZnOnQsZGlyTWF0Y2hpbmc6bn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuV3JhcHBlcix7ZGlyTWF0Y2hpbmc6bn0sby5jcmVhdGVFbGVtZW50KGEuQmxvY2tJY29uLHtpY29uOnR9KSl9fSw1OTQzMjMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VXJsSWNvbkxpc3RJdGVtUGFydDooKT0+bH0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNDUwODIpLGE9big3NDE0MDUpLHI9bigzODc3NzQpO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxvLnVzZUNvbnRleHQpKGEuTGlzdEl0ZW1IYXNEZXNjcmlwdGlvbkNvbnRleHQpLHtpY29uVXJsOm4scGxhY2Vob2xkZXJMZXR0ZXI6bCxkaXJNYXRjaGluZzpjfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5XcmFwcGVyLHtkaXJNYXRjaGluZzpjfSxvLmNyZWF0ZUVsZW1lbnQoci5DaXJjbGVMb2dvLHtzaXplOnQ/InhzbWFsbCI6Inh4eHNtYWxsIixsb2dvVXJsOm4scGxhY2Vob2xkZXJMZXR0ZXI6bH0pKX19LDQ1MDgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1dyYXBwZXI6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDM1NDMzMSksbD1uLm4ocik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGwoKS53cmFwcGVyLGUuZGlyTWF0Y2hpbmcmJmwoKS5kaXJNYXRjaGluZyksaW5lcnQ6ZS5pbmVydD8idHJ1ZSI6dm9pZCAwfSxlLmNoaWxkcmVuKX19LDU3NDA3NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDaGVja2JveExpc3RJdGVtOigpPT5kfSk7dmFyIG89big3Nzk0NzQpLGk9big3OTgwMDIpLGE9big1NjU3NDUpLHI9big2Mjg4MjUpLGw9bigzNDUxMTYpLGM9big3OTYwMTApLHM9bi5uKGMpO2Z1bmN0aW9uIGQoZSl7CmNvbnN0e2xpc3RJdGVtUmVmOnQsbGlzdEl0ZW1CdXR0b25SZWY6bixsaXN0SXRlbUJ1dHRvbklkOmMscm9sZTpkLHRpdGxlOnUsZGVzY3JpcHRpb246cCxjaGVja2VkOm0sb25DbGljazpJLGFyaWFDaGVja2VkOnYsbGVmdFNsb3Q6QyxyaWdodFNsb3Q6YixkaXNhYmxlZDpmLHRhYkluZGV4OmgsZGF0YVFhSWQ6aywuLi5FfT1lLE89KDAsbC5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShFKSxnPUFycmF5LmlzQXJyYXkoQyk/QzpbQ107cmV0dXJuIG8uY3JlYXRlRWxlbWVudChyLkxpc3RJdGVtLHtsaXN0SXRlbVJlZjp0LGxpc3RJdGVtQnV0dG9uUmVmOm4sbGlzdEl0ZW1CdXR0b25JZDpjLGFyaWFDaGVja2VkOnYscm9sZTpkLHRpdGxlOnUsZGVzY3JpcHRpb246cCxkaXNhYmxlZDpmLGxlZnRTbG90OltvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkud3JhcCxrZXk6ImNoZWNrYm94In0sby5jcmVhdGVFbGVtZW50KGkuQ2hlY2tib3hWaWV3LHtjaGVja2VkOm19KSksLi4uZy5maWx0ZXIoYS5pc0V4aXN0ZW50KS5tYXAoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCx7a2V5OnR9LGUpKSldLHJpZ2h0U2xvdDpiLG9uQ2xpY2s6SSx0YWJJbmRleDpoLGRhdGFRYUlkOmssLi4uT30pfX0sODk2MjM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUxpc3RJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9bigzNDUxMTYpLGw9big2MzY5ODYpLGM9bi5uKGwpO2NvbnN0IHM9KDAsby5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtpZDpuLGNoaWxkcmVuOmksb25DbGljazpsLGRpc2FibGVkOnMsZm9jdXNhYmxlOmQscm9sZTp1LGFyaWFMYWJlbDpwLGFyaWFFeHBhbmRlZDptLGFyaWFDb250cm9sczpJLGFyaWFIYXNwb3B1cDp2LGFyaWFMZXZlbDpDLGRhdGFRYUlkOmIsLi4uZn09ZSxoPSgwLHIuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZiksaz1sPyJidXR0b24iOiJkaXYiLEU9ZHx8bCxPPXM/dm9pZCAwOmw7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChrLHtpZDpuLGNsYXNzTmFtZTphKCkoYygpLmN1c3RvbUxpc3RJdGVtLE8mJmMoKS5jbGlja2FibGUpLG9uQ2xpY2s6TywiYXJpYS1kaXNhYmxlZCI6cywiYXJpYS1sYWJlbCI6cCwiYXJpYS1leHBhbmRlZCI6bSwiYXJpYS1jb250cm9scyI6SSwiYXJpYS1oYXNwb3B1cCI6diwiYXJpYS1sZXZlbCI6Qyxyb2xlOnUsdGFiSW5kZXg6RT8wOnZvaWQgMCxyZWY6dCwuLi5oLCJkYXRhLXFhLWlkIjpifSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2luZXJ0OnM/InRydWUiOnZvaWQgMH0saSkpfSkpfSw3MzI3MzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGl2aWRlckxpc3RJdGVtOigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big5OTQyOCksYT1uLm4oaSk7ZnVuY3Rpb24gcihlKXtjb25zdHtyb2xlOnR9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKS5kaXZpZGVyLHJvbGU6dH0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLmxpbmV9KSl9fSw4NDQ4NzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VjdGlvbkxpc3RJdGVtOigpPT5sfSk7dmFyIG89big3Nzk0NzQpLGk9big5MzU1MzUpLGE9bigxNDc5MDEpLHI9bigzNDUxMTYpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7aWQ6dCx0aXRsZTpuLGNoaWxkcmVuOmwsaXRlbVJvbGU6YyxhcmlhTGFiZWw6cyxyaWdodFNsb3Q6ZCxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTp1LGRhdGFRYUlkOnAsb25DbGljazptLG9uS2V5RG93bjpJLGlzV3JhcHBlZDp2LC4uLkN9PWUsYj0oMCxyLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKEMpLGY9KDAsby51c2VJZCkoKSxoPSgwLG8udXNlSWQpKCksaz12b2lkIDAhPT1uO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLGsmJm8uY3JlYXRlRWxlbWVudChpLlRpdGxlTGlzdEl0ZW0se2RhdGFRYUlkOigwLGEuY29uY2F0SWZOb3ROdWxsKShgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1saXN0LXNlY3Rpb24tdGl0bGVgLHApLGlkOnQsdGl0bGU6bixyb2xlOmMscmlnaHRTbG90OmQscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6dSxhcmlhTGFiZWw6cyx2YXJpYW50OiJzZWNvbmRhcnkiLGFyaWFDb250cm9sczp2b2lkIDAhPT12P2g6dm9pZCAwLHRpdGxlSWQ6Zix3cmFwcGVkOnYsb25DbGljazptLG9uS2V5RG93bjpJLC4uLmJ9KSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbGxlZGJ5IjpmLGlkOmgsImRhdGEtcWEtaWQiOigwLGEuY29uY2F0SWZOb3ROdWxsKShgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1saXN0LXNlY3Rpb24tY29udGVudGAscCl9LCF2JiZsKSl9fSw5MzU1MzUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VGl0bGVMaXN0SXRlbTooKT0+Q30pO3ZhciBvLGk9big3Nzk0NzQpLGE9big5MTQ0ODcpLHI9bi5uKGEpLGw9bigyNzMzMTApLGM9big4NTkwOTEpLHM9bigzNDUxMTYpLGQ9bigxOTQ2NDgpLHU9bi5uKGQpLHA9big1NDMzMzkpLG09bi5uKHApLEk9bigyMTI2NzIpLHY9bi5uKEkpO2Z1bmN0aW9uIEMoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sbGVmdFNsb3Q6byx0aXRsZTphLG9uQ2xpY2s6ZCxhcmlhTGFiZWw6cCxyaWdodFNsb3Q6SSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpDLGxpc3RJdGVtQnV0dG9uUmVmOmIsdmFyaWFudDpmPSJwcmltYXJ5IixhcmlhQ29udHJvbHM6aCxhcmlhTGV2ZWw6ayx0aXRsZUlkOkUsd3JhcHBlZDpPLGRhdGFRYUlkOmcsb25LZXlEb3duOngsbmVzdGVkTGlzdHNBcmlhT3duczpTLG5lc3RlZExpc3RBcmlhSGlkZGVuOnksLi4uTH09ZSxBPSgwLHMuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoTCksdz12b2lkIDAhPT1PO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoYy5UaXRsZVNlY3Rpb25MaXN0SXRlbSx7ZGF0YVFhSWQ6ZyxpZDp0LHJvbGU6bixvbkNsaWNrOmQsb25LZXlEb3duOngscmlnaHRTbG90OkkscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6QyxhcmlhTGFiZWw6cCwKY2xhc3NOYW1lOnIoKSh2KCkud3JhcHBlcixvJiZ2KCkud2l0aExlZnRTbG90LHYoKVtgJHtmfVRpdGxlV3JhcHBlcmBdKSxsaXN0SXRlbUJ1dHRvblJlZjpiLGZvY3VzYWJsZTp3LGFyaWFFeHBhbmRlZDp3PyFPOnZvaWQgMCxhcmlhQ29udHJvbHM6aCxhcmlhTGV2ZWw6ayxuZXN0ZWRMaXN0c0FyaWFPd25zOlMsbmVzdGVkTGlzdEFyaWFIaWRkZW46eSwuLi5BfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2KCkuY29udGVudH0sbyYmaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6digpLmxlZnR9LG8pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnYoKS50aXRsZSxpZDpFfSxhKSksdyYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2KCkuc3BhY2V9KSxpLmNyZWF0ZUVsZW1lbnQobC5JY29uLHtjbGFzc05hbWU6digpLmljb24saWNvbjpPP3UoKTptKCl9KSkpfSFmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkifShvfHwobz17fSkpfSw4NTkwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VGl0bGVTZWN0aW9uTGlzdEl0ZW06KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDg5NjIzNyksYT1uKDE0NzkwMSkscj1uKDM0NTExNik7ZnVuY3Rpb24gbChlKXtjb25zdHtpZDp0LHJvbGU6bixvbkNsaWNrOmwscmlnaHRTbG90OmMscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6cyxmb2N1c2FibGU6ZCxhcmlhRXhwYW5kZWQ6dSxhcmlhQ29udHJvbHM6cCxhcmlhSGFzcG9wdXA6bSxhcmlhTGV2ZWw6SSxhcmlhTGFiZWw6dixjaGlsZHJlbjpDLGNsYXNzTmFtZTpiLGxpc3RJdGVtQnV0dG9uUmVmOmYsZGF0YVFhSWQ6aCxvbktleURvd246ayxuZXN0ZWRMaXN0c0FyaWFPd25zOkUsbmVzdGVkTGlzdEFyaWFIaWRkZW46TywuLi5nfT1lLHg9KDAsci5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShnKSxTPSgwLG8udXNlSWQpKCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOmgsb25LZXlEb3duOmt9LG8uY3JlYXRlRWxlbWVudChpLkN1c3RvbUxpc3RJdGVtLHtpZDp0LHJvbGU6bixvbkNsaWNrOmwsZm9jdXNhYmxlOmR8fCEhYyxyZWY6ZixhcmlhRXhwYW5kZWQ6dT8/KCEhY3x8dm9pZCAwKSxhcmlhQ29udHJvbHM6cD8/KGM/Uzp2b2lkIDApLGFyaWFIYXNwb3B1cDptPz8oYz8ibWVudSI6dm9pZCAwKSxhcmlhTGV2ZWw6SSxhcmlhTGFiZWw6dixkYXRhUWFJZDpgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH10aXRsZS1saXN0LWl0ZW1gLC4uLnh9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmJ9LEMsYykpLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6Uyxyb2xlOiJtZW51IiwiYXJpYS1sYWJlbGxlZGJ5IjpzLCJhcmlhLW9yaWVudGF0aW9uIjoiaG9yaXpvbnRhbCIsImFyaWEtb3ducyI6RSwiYXJpYS1oaWRkZW4iOk99KSl9fSw4NjE2MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51Q29udGV4dFByb3ZpZGVyOigpPT5hLHVzZU1lbnVDb250ZXh0OigpPT5yfSk7dmFyIG89big3Nzk0NzQpO2NvbnN0IGk9KDAsby5jcmVhdGVDb250ZXh0KSh1bmRlZmluZWQpO2Z1bmN0aW9uIGEoZSl7Y29uc3R7ZGVmYXVsdENsb3NlT25DbGljazp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLlByb3ZpZGVyLHt2YWx1ZTp0fSxuKX1mdW5jdGlvbiByKCl7cmV0dXJuKDAsby51c2VDb250ZXh0KShpKX19LDgwODk0NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51UG9wb3ZlcjooKT0+UWV9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDIwODA4MCksYT1uKDk3MjczNCkscj1uKDQ5Mzk2MCk7ZnVuY3Rpb24gbChlKXtyZXR1cm57dGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGxlZnRTbG90OigwLHIuaWNvblBhcnQpKGUpfX12YXIgYz1uKDQ0NTQ5Myk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gdD0+e2NvbnN0e2lzQW5jaG9yUG9zaXRpb25lcjpuLGlzTW9iaWxlUG9zaXRpb25lcjppfT0oMCxjLnVzZVBvcG92ZXJDb250ZXh0KSgpLHt2aXNpYmxlOmE9ImFsd2F5cyIsLi4ucn09dDtyZXR1cm4iYWx3YXlzIj09PWF8fG4mJiJkZXNrdG9wT25seSI9PT1hfHxpJiYibW9iaWxlT25seSI9PT1hP28uY3JlYXRlRWxlbWVudChlLHsuLi5yfSk6bnVsbH19dmFyIGQ9big0MDgzNzApLHU9big4NjE2Mik7ZnVuY3Rpb24gcChlKXtjb25zdCB0PSgwLHUudXNlTWVudUNvbnRleHQpKCkse2Nsb3NlUG9wb3ZlcjpufT0oMCxjLnVzZVBvcG92ZXJDb250ZXh0KSgpLHtvbkNsaWNrOmksY2xvc2VPbkNsaWNrOmE9dD8/ZC5ERUZBVUxUX0NMT1NFX09OX0NMSUNLfT1lO3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoLi4uZSk9PntpPy4oLi4uZSksImRvTm90Q2xvc2UiIT09YSYmbighMCx7Y3VycmVudExldmVsOiJjdXJyZW50TGV2ZWwiLGFsbExldmVsczoiYWxsTGV2ZWxzIn1bYV0pfSksW2ksYSxuXSl9Y29uc3QgbT1zKChlPT57Y29uc3QgdD1wKGUpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYS5Qb3BvdmVySXRlbSx7Li4ubChlKSxkaXNhYmxlZDplLmRpc2FibGVkLGhvdGtleTplLmhvdGtleSxvbkNsaWNrOnQscm9sZTp2b2lkIDAhPT1lLnNlbGVjdGVkPyJtZW51aXRlbWNoZWNrYm94IjoibWVudWl0ZW0iLGFyaWFMYWJlbDplLnRpdGxlLGVsbGlwc2lzOmUuZWxsaXBzaXMsc2VsZWN0ZWQ6ZS5zZWxlY3RlZCxhcmlhQ2hlY2tlZDplLnNlbGVjdGVkPz92b2lkIDAscmlnaHRTbG90OmUucmlnaHRUZXh0LGludGVudDplLmludGVudCxkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIEk9bigyMTcyNzQpLHY9bigxMjI5NiksQz1uLm4odik7ZnVuY3Rpb24gYihlKXsKY29uc3R7cG9wb3Zlckl0ZW1SZWY6dCxwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6aSxyb2xlOnIsYXJpYUhhc3BvcHVwOmwsYXJpYUNvbnRyb2xzOmMsYXJpYUV4cGFuZGVkOnMsYXJpYUxhYmVsOmQsbGVmdFNsb3Q6dSx0aXRsZTpwLGRlc2NyaXB0aW9uOm0sc2VsZWN0ZWQ6dixocmVmOmIsb25DbGljazpmLHJlbDpoLHRhcmdldDprPSJfYmxhbmsiLGRhdGFRYUlkOkV9PWUsTz0iX2JsYW5rIj09PWs7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLlBvcG92ZXJJdGVtLHtwb3BvdmVySXRlbVJlZjp0LHBvcG92ZXJJdGVtQnV0dG9uUmVmOm4scG9wb3Zlckl0ZW1CdXR0b25JZDppLHJvbGU6cixhcmlhSGFzcG9wdXA6bCxhcmlhQ29udHJvbHM6YyxhcmlhRXhwYW5kZWQ6cyxhcmlhTGFiZWw6ZCxsZWZ0U2xvdDp1LHRpdGxlOnAsZGVzY3JpcHRpb246bSxocmVmOmIscmlnaHRTbG90Ok8/by5jcmVhdGVFbGVtZW50KEkuQmxvY2tJY29uLHtpY29uOkMoKX0pOnZvaWQgMCxzZWxlY3RlZDp2LG9uQ2xpY2s6ZixyZWw6aCx0YXJnZXQ6ayxkYXRhUWFJZDpFfSl9Y29uc3QgZj1zKChlPT57Y29uc3QgdD1wKGUpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYix7Li4ubChlKSxvbkNsaWNrOnQsaHJlZjplLmhyZWYscm9sZToibWVudWl0ZW0iLGFyaWFMYWJlbDplLnRpdGxlLHNlbGVjdGVkOmUuc2VsZWN0ZWQscmVsOmUucmVsLHRhcmdldDplLnRhcmdldCxkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIGg9big3MjIzMjApLGs9big5MzgyNDIpLEU9bigxNDc5MDEpLE89bigyMjE0OTYpLGc9bi5uKE8pO2NvbnN0IHg9YCR7RS5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9aGVhZGVyLW5lc3RlZC1wb3BvdmVyYDtmdW5jdGlvbiBTKGUpe2NvbnN0e3RpdGxlOnQsY2hpbGRyZW46bixidXR0b25Sb2xlOmEsYnV0dG9uQXJpYUhhc3BvcHVwOnIscG9wb3ZlclJvbGU6bCxmaXhlZEZvb3RlcjpzLGZpeGVkSGVhZGVyOmQsY2xvc2VPblNjcm9sbE91dHNpZGU6dSxjbG9zZU9uUmVzaXplV2luZG93OnAsZGF0YVFhSWQ6bX09ZSxJPSgwLG8udXNlUmVmKShudWxsKSx2PSgwLG8udXNlUmVmKShudWxsKSxDPSgwLG8udXNlSWQpKCksYj0oMCxvLnVzZUlkKSgpLHtjbG9zZVBvcG92ZXI6Zn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNPcGVuOmgsb25PcGVuOk8sb25DbG9zZTpTfT0oMCxrLnVzZU5lc3RlZFBvcG92ZXJPcGVuU3RhdGUpKEksZikseT0oMCxvLnVzZUNhbGxiYWNrKSgoKCk9PntoP1MoITApOk8oKX0pLFtoLE8sU10pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7aWQ6QyxjbGFzc05hbWU6ZygpLmJ1dHRvbixvbkNsaWNrOnkscmVmOkkscm9sZTphLCJhcmlhLWhhc3BvcHVwIjpyLCJhcmlhLWNvbnRyb2xzIjpiLCJhcmlhLWxhYmVsIjp0LCJkYXRhLXFhLWlkIjooMCxFLmNvbmNhdElmTm90TnVsbCkoYCR7eH0tb3Blbi1idXR0b25gLG0pfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnKCkudGV4dH0sdCkpLG8uY3JlYXRlRWxlbWVudChpLlBvcG92ZXJLZXlib2FyZE5hdmlnYXRvcix7cm9sZTpsLGlzT3BlbjpoLG9uQ2xvc2U6UyxhbmNob3JlZDp7YXQ6SSx0eXBlOiJlbGVtZW50In0scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmIsYXJpYUxhYmVsbGVkYnk6QyxmaXhlZEZvb3RlcjpzLGZpeGVkSGVhZGVyOmQsY2xvc2VPblNjcm9sbE91dHNpZGU6dSxjbG9zZU9uUmVzaXplV2luZG93OnAsZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke3h9LXBvcG92ZXJgLG0pfSxuKSl9dmFyIHk9big4MDc4NzMpO2Z1bmN0aW9uIEwoZSl7cmV0dXJuIGUuc3VibWVudXM/by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxlLnN1Ym1lbnVzLm1hcCgoKHQsbik9Pm8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se2tleTpgJHt0LnRpdGxlfToke259YCxkYXRhUWFJZDp0LmRhdGFRYUlkfSxvLmNyZWF0ZUVsZW1lbnQoUyx7dGl0bGU6dC50aXRsZSwuLi5lLnNwbGl0SXRlbXModC5pdGVtcyxlLnN1Ym1lbnVPcHRpb25zKSxjbG9zZU9uUmVzaXplV2luZG93OmUuc3VibWVudU9wdGlvbnMuY2xvc2VPblJlc2l6ZVdpbmRvdyxjbG9zZU9uU2Nyb2xsT3V0c2lkZTplLnN1Ym1lbnVPcHRpb25zLmNsb3NlT25TY3JvbGxPdXRzaWRlfSkpKSkpOm51bGx9Y29uc3QgQT1zKChlPT57Y29uc3QgdD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5UaXRsZVBvcG92ZXJJdGVtLHtpZDp0LHRpdGxlOmUudGl0bGUscm9sZTplLnN1Ym1lbnVzPy5sZW5ndGg/Im1lbnVpdGVtIjp2b2lkIDAsYXJpYUxhYmVsOmUudGl0bGUscmlnaHRTbG90Om8uY3JlYXRlRWxlbWVudChMLHtzdWJtZW51czplLnN1Ym1lbnVzLHN1Ym1lbnVPcHRpb25zOmUuc3VibWVudU9wdGlvbnMsc3BsaXRJdGVtczplLnNwbGl0SXRlbXN9KSxkYXRhUWFJZDplLmRhdGFRYUlkLHZhcmlhbnQ6ZS52YXJpYW50fSl9KSk7dmFyIHc9big3MzI3MzEpO2NvbnN0IFQ9cygoZT0+by5jcmVhdGVFbGVtZW50KHcuRGl2aWRlckxpc3RJdGVtLHtyb2xlOiJzZXBhcmF0b3IifSkpKTt2YXIgUD1uKDQ2NjIzMCk7Y29uc3QgUj1zKChlPT57Y29uc3QgdD1wKHtjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2s/PyJkb05vdENsb3NlIixvbkNsaWNrOmUub25DbGlja30pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoUC5DaGVja2JveFBvcG92ZXJJdGVtLHt0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazp0LGNoZWNrZWQ6ZS5jaGVja2VkLGFyaWFDaGVja2VkOmUuY2hlY2tlZCxyb2xlOiJtZW51aXRlbWNoZWNrYm94IixkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIE49big1NjEyNTQpO2NvbnN0IFE9cygoZT0+e2NvbnN0IHQ9cCh7Y2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrPz8iZG9Ob3RDbG9zZSIsb25DbGljazplLm9uQ2xpY2t9KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KE4uU3dpdGNoUG9wb3Zlckl0ZW0sey4uLmwoZSksCm9uQ2xpY2s6dCxjaGVja2VkOmUuY2hlY2tlZCxhcmlhQ2hlY2tlZDplLmNoZWNrZWQscm9sZToibWVudWl0ZW1jaGVja2JveCIsZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pfSkpO3ZhciBfPW4oNTU3NTM0KTtjb25zdCBCPXMoKGU9Pntjb25zdCB0PXAoe2Nsb3NlT25DbGljazplLmNsb3NlT25DbGljaz8/ImRvTm90Q2xvc2UiLG9uQ2xpY2s6KCk9PmUub25DbGljayghZS5jaGVja2VkKX0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoXy5SYWRpb2J1dHRvblBvcG92ZXJJdGVtLHt0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazp0LGNoZWNrZWQ6ZS5jaGVja2VkLGFyaWFDaGVja2VkOmUuY2hlY2tlZCxyb2xlOiJtZW51aXRlbXJhZGlvIixkaXNhYmxlZDplLmRpc2FibGVkLGRhdGFRYUlkOmUuZGF0YVFhSWR9KX0pKTt2YXIgRD1uKDM5MTkxNCk7Y29uc3QgTT1zKChlPT57Y29uc3QgdD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoRC5TZWN0aW9uUG9wb3Zlckl0ZW0se2lkOnQsdGl0bGU6ZS50aXRsZSxpdGVtUm9sZTplLndyYXBwYWJsZT8ibWVudWl0ZW1jaGVja2JveCI6ZS5zdWJtZW51cz8ubGVuZ3RoPyJtZW51aXRlbSI6dm9pZCAwLHdyYXBwYWJsZTplLndyYXBwYWJsZSxkZWZhdWx0V3JhcHBlZDplLmRlZmF1bHRXcmFwcGVkLGFyaWFMYWJlbDplLnRpdGxlLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OnQscmlnaHRTbG90OmUuc3VibWVudXM/Lmxlbmd0aD9vLmNyZWF0ZUVsZW1lbnQoTCx7c3VibWVudXM6ZS5zdWJtZW51cyxzdWJtZW51T3B0aW9uczplLnN1Ym1lbnVPcHRpb25zLHNwbGl0SXRlbXM6ZS5zcGxpdEl0ZW1zfSk6dm9pZCAwLGRhdGFRYUlkOmUuZGF0YVFhSWR9LGUuaXRlbXMubWFwKCgodCxuKT0+ZS5waWNrTWVudUl0ZW0odCxuLGUuc3VibWVudU9wdGlvbnMpKSkpfSkpO3ZhciBXPW4oOTIwOTM4KTtjb25zdCBGPXMoKGU9Pntjb25zdHtjaGlsZHJlbjp0LGxhYmVsOm4sZGF0YVFhSWQ6aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KFcuQ3VzdG9tUG9wb3Zlckl0ZW0se2Rpc2FibGVkOiEwLHJvbGU6Im1lbnVpdGVtIixhcmlhTGFiZWw6bixmb2N1c2FibGU6ITAsZGF0YVFhSWQ6aX0sdCl9KSksSD1zKChlPT57Y29uc3R7aXRlbXM6dCxzdWJtZW51T3B0aW9uczpuLHBpY2tNZW51SXRlbTppfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudCh3LkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIn0pLHQubWFwKCgoZSx0KT0+aShlLHQsbikpKSl9KSksVT1zKChlPT57Y29uc3R7aXRlbXM6dCxzdWJtZW51T3B0aW9uczpuLHBpY2tNZW51SXRlbTppfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLHQubWFwKCgoZSx0KT0+aShlLHQsbikpKSxvLmNyZWF0ZUVsZW1lbnQody5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciJ9KSl9KSk7dmFyICQ9big2Mzg4NzIpLEs9bigyNzM2NzcpLEo9bi5uKEspO2Z1bmN0aW9uIFYoZSl7Y29uc3R7dGl0bGU6dCxvbkNsaWNrOm4scG9wb3Zlckl0ZW1CdXR0b25SZWY6aSxkYXRhUWFJZDphfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5UaXRsZVBvcG92ZXJJdGVtLHt0aXRsZTp0LG9uQ2xpY2s6bixsZWZ0U2xvdDpvLmNyZWF0ZUVsZW1lbnQoJC5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOkooKSxkaXJNYXRjaGluZzohMH0pLHBvcG92ZXJJdGVtQnV0dG9uUmVmOmksZGF0YVFhSWQ6YX0pfXZhciB6PW4oOTg4MDY4KSxxPW4oMjM1NzI0KSxqPW4oNzg3ODk1KSxHPW4oMjM2NDU0KSxYPW4oNjQwNTEzKSxaPW4oMjUwNTE4KSxZPW4oMjk4NzI4KSxlZT1uKDg1NDMzOCksdGU9big0NzkyOTcpLG5lPW4oNTc3ODMyKSxvZT1uKDE1OTI1Nik7Y29uc3QgaWU9KDAsdGUud2luZG93RXZlbnQpKCJtb3VzZW1vdmUiKTt2YXIgYWUscmU9big5NTY3MzApLGxlPW4oMjM2MTQ2KSxjZT1uLm4obGUpLHNlPW4oNjkxODMpLGRlPW4ubihzZSk7IWZ1bmN0aW9uKGUpe2UuQ2xpY2s9ImNsaWNrIixlLkhvdmVyPSJob3ZlciJ9KGFlfHwoYWU9e30pKTtjb25zdCB1ZT0iaG92ZXIiLHBlPTMwMCxtZT1gJHtFLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1uZXN0ZWQtcG9wb3ZlcmA7ZnVuY3Rpb24gSWUoZSl7Y29uc3QgdD0oMCxvLnVzZUlkKSgpLG49KDAsby51c2VSZWYpKG51bGwpLHI9KDAsby51c2VSZWYpKG51bGwpLGw9KDAsby51c2VJZCkoKSx7Y2hpbGRyZW46cyxwb3BvdmVySXRlbVJlZjpkPW4scG9wb3Zlckl0ZW1CdXR0b25JZDp1PWwscG9wb3Zlckl0ZW1CdXR0b25SZWY6cD1yLG5lc3RlZFBvcG92ZXJSb2xlOm0scm9sZTp2LGxlZnRTbG90OkMsb3Blbk9uOmI9dWUsY2xvc2VPbkhvdmVyQXdheURlbGF5TXM6Zj1wZSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpoLGNsb3NlT25SZXNpemVXaW5kb3c6TyxkaXNhYmxlZDpnLHRpdGxlOngsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDpTPXQsc2VsZWN0ZWQ6eSxkZXNjcmlwdGlvbjpMLHJpZ2h0U2xvdDpBLGZpeGVkSGVhZGVyOncsZml4ZWRGb290ZXI6VCxkYXRhUWFJZDpQfT1lLFI9KDAsai51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShwKSxOPSgwLGoudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZCkse2ZvY3VzRmlyc3Q6UX09KDAsby51c2VNZW1vKSgoKCk9PigwLFouZ2V0U2VsZWN0b3JLZXlib2FyZE5hdmlnYXRpb24pKGBbJHt6LkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTn1dYCkpLFtdKSx7aXNSdGw6XyxjbG9zZVBvcG92ZXI6Qn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNNb2JpbGVQb3NpdGlvbmVyOkR9PSgwLHJlLnVzZVBvc2l0aW9uZXJDb250ZXh0KSgpLE09RD8iY2xpY2siOmIsVz0oMCxZLmZsaXBBcnJvd3NPblJ0bCkoMzcsXyksRj0oMCxZLmZsaXBBcnJvd3NPblJ0bCkoMzksXykse2lzT3BlbjpILG9uT3BlbjpVLG9uQ2xvc2U6JH09KDAsay51c2VOZXN0ZWRQb3BvdmVyT3BlblN0YXRlKShSLEIpLEs9KDAsby51c2VSZWYpKG51bGwpLEo9KDAsby51c2VDYWxsYmFjaykoKCgpPT57aWYoSCkkKCEwKTtlbHNle1UoKQo7Y29uc3QgZT1LLmN1cnJlbnQ7ZSYmUShlKX19KSxbSCwkLFUsUV0pLFg9KDAsby51c2VDYWxsYmFjaykoKGU9PnsoMCxxLmhhc2hGcm9tRXZlbnQpKGUpIT09Rnx8SigpfSksW0YsSl0pOyFmdW5jdGlvbihlLHQsbj0wLG8saSl7KDAsb2UudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT57bGV0IGU9ITEsYT0tMTtyZXR1cm4gaWUoKHI9Pntjb25zdCBsPXt4OnIuY2xpZW50WCx5OnIuY2xpZW50WX0sYz1vLmN1cnJlbnQscz0oMCxuZS5pc0luRXhjbHVkZWRBcmVhKShsLGkpfHxjJiYoMCxlZS5pc1hZSW5zaWRlRWxlbWVudFRocm91Z2hQb3J0YWxzKShjLGwueCxsLnkpfHwhMTtzIT09ZSYmKGNsZWFyVGltZW91dChhKSxlPXMsYT1zZXRUaW1lb3V0KCgoKT0+e2V8fHQoITEsImN1cnJlbnRMZXZlbCIpfSksbikpfSkpfSksW28sbixpLHRdKX0oImhvdmVyIj09PU0mJnZvaWQgMCE9PWYsJCxmLEssTik7Y29uc3QgdGU9ImhvdmVyIj09PU0mJnZvaWQgMCE9PWY/VTp2b2lkIDA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuUG9wb3Zlckl0ZW0se2xlZnRTbG90OkMsdGl0bGU6eCxkZXNjcmlwdGlvbjpMLHJvbGU6dixwb3BvdmVySXRlbVJlZjpOLHBvcG92ZXJJdGVtQnV0dG9uUmVmOlIsb25DbGljazplPT57ImJ1dHRvbiJpbiBlJiYiY2xpY2siIT09TXx8SigpfSxvbktleURvd25Qb3BvdmVySXRlbUJ1dHRvbjpYLHJpZ2h0U2xvdDpvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpkZSgpLnJpZ2h0fSxBLG8uY3JlYXRlRWxlbWVudChJLkJsb2NrSWNvbix7aWNvbjpjZSgpLGNsYXNzTmFtZTpkZSgpLmFycm93fSkpLGlzT3BlbjpILGFyaWFIYXNwb3B1cDptLGFyaWFFeHBhbmRlZDpILGFyaWFDb250cm9sczpTLHBvcG92ZXJJdGVtQnV0dG9uSWQ6dSxzZWxlY3RlZDp5LGRpc2FibGVkOmcsb25Nb3VzZUVudGVyOnRlLGRhdGFRYUlkOigwLEUuY29uY2F0SWZOb3ROdWxsKShgJHttZX0tb3Blbi1idXR0b25gLFApfSksby5jcmVhdGVFbGVtZW50KGkuUG9wb3ZlcktleWJvYXJkTmF2aWdhdG9yLHtpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OlMscm9sZTptLGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDpOfSxpc09wZW46SCxvbkNsb3NlOiQscGxhY2VtZW50UnVsZXM6Q2UucGxhY2VtZW50UnVsZXMsd2lkdGg6dmUsaGVpZ2h0OkcuUE9QT1ZFUl9ERUZBVUxUX0hFSUdIVCxpc1J0bDpfLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OkssYXJpYUxhYmVsbGVkYnk6dSxmaXhlZEhlYWRlcjp3LGZpeGVkRm9vdGVyOlQsY2xvc2VPblNjcm9sbE91dHNpZGU6aCxjbG9zZU9uUmVzaXplV2luZG93Ok8sZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke21lfS1wb3BvdmVyYCxQKX0sRCYmby5jcmVhdGVFbGVtZW50KFYse3RpdGxlOngsb25DbGljazooKT0+JCghMCwiY3VycmVudExldmVsIiksZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke21lfS1jbG9zZS1idXR0b25gLFApfSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHtvbktleURvd246ZT0+e2NvbnN0IHQ9ZS5jdXJyZW50VGFyZ2V0LG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxvPSgwLHEuaGFzaEZyb21FdmVudCkoZSksaT1uJiZ0LmNvbnRhaW5zKG4pJiYidHJ1ZSIhPT1uLmdldEF0dHJpYnV0ZSh6LkRBVEFfTkVTVEVEX1BPUE9WRVJfT1BFTik7aWYobz09PVcmJmkpcmV0dXJuICQoITAsImN1cnJlbnRMZXZlbCIpLHZvaWQgZS5zdG9wUHJvcGFnYXRpb24oKX19LHMpKSl9Y29uc3QgdmU9W3tieToiY29udGVudCJ9XSxDZT17cGxhY2VtZW50UnVsZXM6W3suLi5YLlBMQUNFTUVOVF9SSUdIVF9BTElHTl9UT1Asb2Zmc2V0Ont4OjAseTotNn19LHsuLi5YLlBMQUNFTUVOVF9MRUZUX0FMSUdOX1RPUCxvZmZzZXQ6e3g6MCx5Oi02fX0sey4uLlguUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0JPVFRPTSxvZmZzZXQ6e3g6MCx5OjZ9fSx7Li4uWC5QTEFDRU1FTlRfTEVGVF9BTElHTl9CT1RUT00sb2Zmc2V0Ont4OjAseTo2fX1dfSxiZT1zKChlPT5vLmNyZWF0ZUVsZW1lbnQoSWUsey4uLmwoZSkscm9sZToibWVudWl0ZW0iLG5lc3RlZFBvcG92ZXJSb2xlOiJtZW51IixvcGVuT246ZS5vcGVuU3VibWVudU9uLGNsb3NlT25TY3JvbGxPdXRzaWRlOmUuY2xvc2VPblNjcm9sbE91dHNpZGUsY2xvc2VPblJlc2l6ZVdpbmRvdzplLmNsb3NlT25SZXNpemVXaW5kb3cscmlnaHRTbG90OmUucmlnaHRUZXh0LGRhdGFRYUlkOmUuZGF0YVFhSWQsLi4uZS5zcGxpdEl0ZW1zKGUuc3VibWVudSx7b3BlblN1Ym1lbnVPbjplLm9wZW5TdWJtZW51T24sY2xvc2VPblNjcm9sbE91dHNpZGU6ZS5jbG9zZU9uU2Nyb2xsT3V0c2lkZSxjbG9zZU9uUmVzaXplV2luZG93OmUuY2xvc2VPblJlc2l6ZVdpbmRvd30pfSkpKTt2YXIgZmU9big1OTA5MTQpLGhlPW4oMzEyMjk1KSxrZT1uKDExOTc1MCksRWU9big5MDYxMzQpLE9lPW4oNjM3NTY0KTtjb25zdCBnZT1zKChlPT57Y29uc3QgdD1wKGUpLG49KDAsby51c2VJZCkoKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGZlLkNvbnRleHRBY3Rpb25zUG9wb3Zlckl0ZW0sey4uLmwoZSksdGl0bGU6by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxlLnRpdGxlLGUuaW5mb1RpdGxlJiZvLmNyZWF0ZUVsZW1lbnQoeWUse2FjdGlvbjp7a2luZDoiaXFpIixvbkNsaWNrOmUuaW5mb09uQ2xpY2ssaWNvbjplLmluZm9JY29uLGludGVudDplLmluZm9JbnRlbnQsdGl0bGU6ZS5pbmZvVGl0bGV9fSkpLHBvcG92ZXJJdGVtQnV0dG9uSWQ6bixob3RrZXk6ZS5ob3RrZXksYXJpYUhhc3BvcHVwOiJtZW51Iixyb2xlOiJtZW51aXRlbSIscmlnaHRTbG90Om8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsZS5jb250ZXh0QWN0aW9ucz8ubWFwKCgoZSx0KT0+by5jcmVhdGVFbGVtZW50KHhlLHthY3Rpb246ZSxrZXk6dH0pKSkpLG9uQ2xpY2s6dCxzZWxlY3RlZDplLnNlbGVjdGVkLGRhdGFRYUlkOmUuZGF0YVFhSWR9KX0pKTtmdW5jdGlvbiB4ZShlKXtjb25zdCB0PWUuYWN0aW9uO3N3aXRjaCh0LmtpbmQpe2Nhc2UiaWNvbkJ1dHRvbiI6CnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoU2Use2FjdGlvbjp0fSk7Y2FzZSJpcWkiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoeWUse2FjdGlvbjp0fSk7Y2FzZSJjdXN0b20iOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoTGUse2FjdGlvbjp0fSl9fWZ1bmN0aW9uIFNlKGUpe2NvbnN0IHQ9ZS5hY3Rpb247cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se2RhdGFRYUlkOnQuZGF0YVFhSWR9LG8uY3JlYXRlRWxlbWVudChoZS5JY29uQnV0dG9uLHtyb2xlOiJtZW51aXRlbSIsb25DbGljazp0Lm9uQ2xpY2ssdGl0bGU6dC50aXRsZSxpY29uOnQuaWNvblN2Z30pKX1mdW5jdGlvbiB5ZShlKXtjb25zdCB0PWUuYWN0aW9uLHtjbG9zZVBvcG92ZXI6bn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSxpPWUuYWN0aW9uLm9uQ2xpY2s7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24sbnVsbCxvLmNyZWF0ZUVsZW1lbnQoRWUuVG9vbHRpcCx7Y29udGVudDp0LnRpdGxlPz8iSGVsbG8iLHRyaWdnZXI6W0VlLlRyaWdnZXIuSG92ZXIsRWUuVHJpZ2dlci5Gb2N1cywuLi5pP1tdOltFZS5UcmlnZ2VyLkNsaWNrXV0scGxhY2VtZW50OltPZS5Ub29sdGlwUGxhY2VtZW50cy5Ub3AsT2UuVG9vbHRpcFBsYWNlbWVudHMuQm90dG9tXX0sby5jcmVhdGVFbGVtZW50KGtlLkljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uLHtpY29uOnQuaWNvbixpbnRlbnQ6dC5pbnRlbnQsYXJpYUxhYmVsOnQudGl0bGUsb25DbGljazppPygpPT57bighMSwiYWxsTGV2ZWxzIiksaSgpfTp2b2lkIDB9KSkpfWZ1bmN0aW9uIExlKGUpe2NvbnN0IHQ9ZS5hY3Rpb247cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se3ByZXZlbnRDbGlja1Byb3BhZ2F0aW9uOnQucHJldmVudENsaWNrUHJvcGFnYXRpb259LHQuY2hpbGRyZW4pfXZhciBBZT1uKDkxMzg3NCksd2U9big1NjU3NDUpO2NvbnN0IFRlPShlLHQsbik9PntpZighZSlyZXR1cm4gbnVsbDtzd2l0Y2goZS50eXBlKXtjYXNlIHZvaWQgMDpjYXNlImJhc2ljIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KG0se2tleTpgYmFzaWMtJHtlLnRpdGxlfToke2UuZGVzY3JpcHRpb259OiR7ZS5pZH1gLGljb25Tdmc6ZS5pY29uU3ZnLGljb25Vcmw6ZS5pY29uVXJsLGljb25Kc3g6ZS5pY29uSnN4LGljb25TcGFjZTplLmljb25TcGFjZSx0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazplLm9uQ2xpY2ssaG90a2V5OmUuaG90a2V5LGRpc2FibGVkOmUuZGlzYWJsZWQsZWxsaXBzaXM6ZS5lbGxpcHNpcyxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssc2VsZWN0ZWQ6ZS5zZWxlY3RlZCx2aXNpYmxlOmUudmlzaWJsZSxyaWdodFRleHQ6ZS5yaWdodFRleHQsZGF0YVFhSWQ6ZS5kYXRhUWFJZCxpbnRlbnQ6ZS5pbnRlbnR9KTtjYXNlImxpbmsiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoZix7a2V5OmBsaW5rLSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGhyZWY6ZS5ocmVmLHNlbGVjdGVkOmUuc2VsZWN0ZWQsY2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrLHZpc2libGU6ZS52aXNpYmxlLG9uQ2xpY2s6ZS5vbkNsaWNrLGRhdGFRYUlkOmUuZGF0YVFhSWQscmVsOmUucmVsLHRhcmdldDplLnRhcmdldH0pO2Nhc2UidGl0bGUiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoQSx7a2V5OmB0aXRsZS0ke2UudGl0bGV9YCx0aXRsZTplLnRpdGxlLHZpc2libGU6ZS52aXNpYmxlLHN1Ym1lbnVzOmUuc3VibWVudXMsc3VibWVudU9wdGlvbnM6bixkYXRhUWFJZDplLmRhdGFRYUlkLHZhcmlhbnQ6ZS52YXJpYW50LHNwbGl0SXRlbXM6TmV9KTtjYXNlImNvbnRleHRBY3Rpb25zIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KGdlLHtrZXk6YGNvbnRleHRBY3Rpb25zLSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGNvbnRleHRBY3Rpb25zOmUuY29udGV4dEFjdGlvbnMsb25DbGljazplLm9uQ2xpY2ssaG90a2V5OmUuaG90a2V5LHNlbGVjdGVkOmUuc2VsZWN0ZWQsY2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrLHZpc2libGU6ZS52aXNpYmxlLGRhdGFRYUlkOmUuZGF0YVFhSWQsaW5mb09uQ2xpY2s6ZS5pbmZvT25DbGljayxpbmZvSWNvbjplLmluZm9JY29uLGluZm9JbnRlbnQ6ZS5pbmZvSW50ZW50LGluZm9UaXRsZTplLmluZm9UaXRsZX0pO2Nhc2Uic3ViTWVudSI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChiZSx7a2V5OmBzdWJNZW51LSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHN1Ym1lbnU6ZS5zdWJtZW51LC4uLm4sdmlzaWJsZTplLnZpc2libGUscmlnaHRUZXh0OmUucmlnaHRUZXh0LGRhdGFRYUlkOmUuZGF0YVFhSWQsc3BsaXRJdGVtczpOZX0pO2Nhc2UiZGl2aWRlciI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChULHtrZXk6YGRpdmlkZXItJHt0fToke2UuaWR9YCx2aXNpYmxlOmUudmlzaWJsZX0pO2Nhc2UiY2hlY2tib3giOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoUix7a2V5OmBjaGVja2JveC0ke3R9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pO2Nhc2Uic3dpdGNoIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KFEsewprZXk6YGNoZWNrYm94LSR7dH06JHtlLmlkfWAsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGljb25Tdmc6ZS5pY29uU3ZnLGljb25Vcmw6ZS5pY29uVXJsLGljb25Kc3g6ZS5pY29uSnN4LGljb25TcGFjZTplLmljb25TcGFjZSxvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pO2Nhc2UicmFkaW8iOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoQix7a2V5OmBjaGVja2JveC0ke3R9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxkaXNhYmxlZDplLmRpc2FibGVkLGNsb3NlT25DbGljazplLmNsb3NlT25DbGljayxkYXRhUWFJZDplLmRhdGFRYUlkfSk7Y2FzZSJzZWN0aW9uIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KE0se2tleTpgc2VjdGlvbi0ke2UudGl0bGV9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsaXRlbXM6ZS5pdGVtcyx3cmFwcGFibGU6ZS53cmFwcGFibGUsZGVmYXVsdFdyYXBwZWQ6ZS5kZWZhdWx0V3JhcHBlZCx2aXNpYmxlOmUudmlzaWJsZSxzdWJtZW51czplLnN1Ym1lbnVzLHN1Ym1lbnVPcHRpb25zOm4sZGF0YVFhSWQ6ZS5kYXRhUWFJZCxwaWNrTWVudUl0ZW06VGUsc3BsaXRJdGVtczpOZX0pO2Nhc2UiaGVhZGVyIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KFUse2tleToiaGVhZGVyIixpdGVtczplLml0ZW1zLHZpc2libGU6ZS52aXNpYmxlLHN1Ym1lbnVPcHRpb25zOm4scGlja01lbnVJdGVtOlRlfSk7Y2FzZSJmb290ZXIiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoSCx7a2V5OiJmb290ZXIiLGl0ZW1zOmUuaXRlbXMsdmlzaWJsZTplLnZpc2libGUsc3VibWVudU9wdGlvbnM6bixwaWNrTWVudUl0ZW06VGV9KTtjYXNlIm5vbkludGVyYWN0aXZlIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KEYse2tleToibm9uSW50ZXJhY3RpdmUtIit0LGxhYmVsOmUubGFiZWwsY2hpbGRyZW46ZS5jaGlsZHJlbixkYXRhUWFJZDplLmRhdGFRYUlkfSl9fTtmdW5jdGlvbiBQZShlKXtyZXR1cm4hKCFlfHwiZm9vdGVyIiE9PWUudHlwZSl9ZnVuY3Rpb24gUmUoZSl7cmV0dXJuISghZXx8ImhlYWRlciIhPT1lLnR5cGUpfWNvbnN0IE5lPShlLHQpPT57Y29uc3Qgbj0oZSxuKT0+VGUoZSxuLHQpLFtvLGksYV09KDAsQWUuc3BsaXQpKGUsUmUsUGUpLHI9by5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpLGw9aS5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpLGM9YS5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpO3JldHVybntmaXhlZEhlYWRlcjpyLmxlbmd0aD4wP3I6bnVsbCxjaGlsZHJlbjpjLmxlbmd0aD4wP2M6bnVsbCxmaXhlZEZvb3RlcjpsLmxlbmd0aD4wP2w6bnVsbH19O2Z1bmN0aW9uIFFlKGUpe2NvbnN0e2l0ZW1zOnQsYW5jaG9ySWQ6bixhbmNob3JCdXR0b25SZWY6YSxjb250ZW50SWQ6cixpc09wZW46bCxvbkNsb3NlOmMscGxhY2VtZW50UnVsZXM6cyx3aWR0aDpkLGhlaWdodDp1LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnAscmVwb3NpdGlvblRyaWdnZXJzOm0sb3BlblN1Ym1lbnVPbjpJPSJob3ZlciIsbW9iaWxlQnJlYWtwb2ludDp2LGNsb3NlT25TY3JvbGxPdXRzaWRlOkMsY2xvc2VPblJlc2l6ZVdpbmRvdzpiLGRhdGFRYUlkOmZ9PWUsaD0oMCxvLnVzZU1lbW8pKCgoKT0+ImZ1bmN0aW9uIiE9dHlwZW9mIHQ/dDpsP3QoKTpbXSksW3QsbF0pLGs9KDAsby51c2VNZW1vKSgoKCk9Pk5lKGgse29wZW5TdWJtZW51T246SSxjbG9zZU9uUmVzaXplV2luZG93OmIsY2xvc2VPblNjcm9sbE91dHNpZGU6Q30pKSxbYixDLEksaF0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5Qb3BvdmVyS2V5Ym9hcmROYXZpZ2F0b3Ise3JvbGU6Im1lbnUiLGFyaWFMYWJlbGxlZGJ5Om4saXNPcGVuOmwsb25DbG9zZTpjLGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDphfSxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OnIscGxhY2VtZW50UnVsZXM6cyx3aWR0aDpkLGhlaWdodDp1LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnAscmVwb3NpdGlvblRyaWdnZXJzOm0sbW9iaWxlQnJlYWtwb2ludDp2LGNsb3NlT25TY3JvbGxPdXRzaWRlOkMsY2xvc2VPblJlc2l6ZVdpbmRvdzpiLGRhdGFRYUlkOmYsLi4ua30pfX0sNDA4MzcwKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIG87bi5kKHQse0Nsb3NlT25DbGljazooKT0+byxERUZBVUxUX0NMT1NFX09OX0NMSUNLOigpPT5pLE1lbnVDb250ZXh0QWN0aW9uS2luZDooKT0+cixNZW51SXRlbVZpc2libGU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLkFsbExldmVscz0iYWxsTGV2ZWxzIixlLkN1cnJlbnRMZXZlbD0iY3VycmVudExldmVsIixlLkRvTm90Q2xvc2U9ImRvTm90Q2xvc2UifShvfHwobz17fSkpO2NvbnN0IGk9ImN1cnJlbnRMZXZlbCI7dmFyIGEscjshZnVuY3Rpb24oZSl7ZS5EZXNrdG9wT25seT0iZGVza3RvcE9ubHkiLGUuTW9iaWxlT25seT0ibW9iaWxlT25seSIsZS5BbHdheXM9ImFsd2F5cyJ9KGF8fChhPXt9KSksZnVuY3Rpb24oZSl7ZS5pY29uQnV0dG9uPSJpY29uQnV0dG9uIixlLmlxaT0iaXFpIixlLmN1c3RvbT0iY3VzdG9tIn0ocnx8KHI9e30pKX0sNDIyNzc3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUhvcml6b250YWxNZW51S2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5zfSk7dmFyIG89big5ODgwNjgpLGk9big0NDU0OTMpLGE9big4MDc4NzMpLHI9bigyODQ2OTApO2NvbnN0IGw9YFske28uREFUQV9JU19DT05URVhUX0FDVElPTn1dYCxjPWEuQ09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1MubWFwKChlPT5gJHtsfSAke2V9YCkpLmpvaW4oIiwiKSxzPSgpPT57Y29uc3R7aXNSdGw6ZX09KDAsaS51c2VQb3BvdmVyQ29udGV4dCkoKTtyZXR1cm4oMCxyLmdldExpbmVhcktleWJvYXJkTmF2aWdhdGlvbikoYytgLFske28uREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OfV1gLHtob3Jpem9udGFsOiEwLGlzUnRsOmUsCmFsbG93TmVzdGVkRm9jdXNhYmxlOiEwfSl9fSw0OTM5NjAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aWNvblBhcnQ6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDQ1MDgyKTtmdW5jdGlvbiBhKGUpe2NvbnN0e2NoaWxkcmVuOnR9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLldyYXBwZXIse2luZXJ0OiEwfSx0KX12YXIgcj1uKDYzODg3MiksbD1uKDU5NDMyMyk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuV3JhcHBlcixudWxsKX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLmljb25Kc3g/by5jcmVhdGVFbGVtZW50KGEsbnVsbCxlLmljb25Kc3gpOmUuaWNvblN2Zz9vLmNyZWF0ZUVsZW1lbnQoci5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOmUuaWNvblN2Z30pOmUuaWNvblVybD9vLmNyZWF0ZUVsZW1lbnQobC5VcmxJY29uTGlzdEl0ZW1QYXJ0LHtpY29uVXJsOmUuaWNvblVybH0pOmUuaWNvblNwYWNlP28uY3JlYXRlRWxlbWVudChjLG51bGwpOnZvaWQgMH19LDQ2NjIzMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDaGVja2JveFBvcG92ZXJJdGVtOigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big1NzQwNzcpLGE9big5ODgwNjgpO2Z1bmN0aW9uIHIoZSl7Y29uc3R7cG9wb3Zlckl0ZW1SZWY6dCxwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6cixyb2xlOmwsdGl0bGU6YyxkZXNjcmlwdGlvbjpzLGNoZWNrZWQ6ZCxvbkNsaWNrOnUsYXJpYUNoZWNrZWQ6cCxsZWZ0U2xvdDptLHJpZ2h0U2xvdDpJLGRpc2FibGVkOnYsdGFiSW5kZXg6QyxkYXRhUWFJZDpifT1lLGY9KDAsby51c2VDYWxsYmFjaykoKCgpPT57dT8uKCFkKX0pLFtkLHVdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuQ2hlY2tib3hMaXN0SXRlbSx7bGlzdEl0ZW1SZWY6dCxsaXN0SXRlbUJ1dHRvblJlZjpuLGxpc3RJdGVtQnV0dG9uSWQ6cixhcmlhQ2hlY2tlZDpwLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnMsY2hlY2tlZDpkLG9uQ2xpY2s6ZixsZWZ0U2xvdDptLHJpZ2h0U2xvdDpJLGRpc2FibGVkOnYsdGFiSW5kZXg6QyxkYXRhUWFJZDpiLFthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06InRydWUifSl9fSw4MDc4NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1M6KCk9PnUsQ29udGV4dEFjdGlvbjooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxhPW4ubihpKSxyPW4oMjk2Nzg2KSxsPW4oOTg4MDY4KSxjPW4oODY0NzM2KSxzPW4ubihjKTtjb25zdCBkPXtbbC5EQVRBX0lTX0NPTlRFWFRfQUNUSU9OXTohMH0sdT1bImFbaHJlZl0iLCJidXR0b246bm90KDpkaXNhYmxlZCkiLCJpbnB1dDpub3QoOmRpc2FibGVkKSIsJ1tyb2xlPSJidXR0b24iXSddLHA9dS5qb2luKCIsIik7ZnVuY3Rpb24gbShlKXtjb25zdHtjaGlsZHJlbjp0LGRhdGFRYUlkOm4scHJldmVudENsaWNrUHJvcGFnYXRpb246aT0hMH09ZSx7aWQ6bCxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6Yyxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOnUsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjptfT0oMCxyLnVzZUNvbnRleHRBY3Rpb24pKCksST0oMCxvLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsby51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9SS5jdXJyZW50O2lmKCFlKXJldHVybjtjb25zdCB0PWUucXVlcnlTZWxlY3RvcihwKTtyZXR1cm4gdD9mdW5jdGlvbihlLHQpe2NvbnN0IG49KCk9Pnt0KChlPT5lKzEpKX0sbz0oKT0+e3QoKGU9PmUtMSkpfTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbiksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixvKSwoKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4pLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsbyl9fSh0LG0pOnZvaWQgMH0pLFt0LG1dKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5kLGlkOmwscmVmOkksb25DbGljazplPT57aSYmZS5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3NOYW1lOmEoKShzKCkuY29udGV4dEFjdGlvbnMsYyYmcygpLmhpZGVJZk5vSG92ZXIsdT4wJiZzKCkuc29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkKSwiZGF0YS1xYS1pZCI6bn0sdCl9fSwyOTY3ODYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29udGV4dEFjdGlvbjooKT0+cix1c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dDooKT0+YX0pO3ZhciBvPW4oNzc5NDc0KTtjb25zdCBpPSgwLG8uY3JlYXRlQ29udGV4dCkoe3NldElkczooKT0+e30saGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOiExLGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6MCxzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOigpPT57fX0pO2Z1bmN0aW9uIGEoZSx0LG4pe2NvbnN0W2Escl09KDAsby51c2VTdGF0ZSkoMCksbD0oMCxvLnVzZU1lbW8pKCgoKT0+KHtmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOmEsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpyLHNldElkczp0LGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3ZlcjohIW59KSksW2Escix0LG5dKTtyZXR1cm4oMCxvLnVzZU1lbW8pKCgoKT0+ZT9vLmNyZWF0ZUVsZW1lbnQoaS5Qcm92aWRlcix7dmFsdWU6bH0sZSk6dm9pZCAwKSxbZSxsXSl9ZnVuY3Rpb24gcigpe2NvbnN0e3NldElkczplLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp0LGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6bixzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOmF9PSgwLG8udXNlQ29udGV4dCkoaSkscj0oMCxvLnVzZUlkKSgpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PihlKChlPT5bLi4uZSxyXSkpLCgpPT57ZSgoZT0+ZS5maWx0ZXIoKGU9PmUhPT1yKSkpKX0pKSxbZSxyXSkse2lkOnIsaGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOnQsZm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpuLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6YX19fSw1OTA5MTQoZSx0LG4peyJ1c2Ugc3RyaWN0Igo7bi5kKHQse0NvbnRleHRBY3Rpb25zUG9wb3Zlckl0ZW06KCk9PmR9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk3MjczNCksYT1uKDc4Nzg5NSkscj1uKDQyMjc3NyksbD1uKDI5Njc4NiksYz1uKDUyOTQxMSk7ZnVuY3Rpb24gcyhlKXtjb25zdHtpZDp0LGFyaWFMYWJlbGxlZGJ5Om4sYXJpYU93bnM6aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDp0LHJvbGU6Im1lbnUiLCJhcmlhLWxhYmVsbGVkYnkiOm4sImFyaWEtb3JpZW50YXRpb24iOiJob3Jpem9udGFsIiwiYXJpYS1vd25zIjppLmpvaW4oIiAiKSwiYXJpYS1oaWRkZW4iOjA9PT1pLmxlbmd0aH0pfWZ1bmN0aW9uIGQoZSl7Y29uc3QgdD0oMCxvLnVzZVJlZikobnVsbCksbj0oMCxvLnVzZVJlZikobnVsbCkse3BvcG92ZXJJdGVtUmVmOmQ9dCxwb3BvdmVySXRlbUJ1dHRvblJlZjp1PW4scG9wb3Zlckl0ZW1CdXR0b25JZDpwLHJvbGU6bSxhcmlhQ29udHJvbHM6SSxhcmlhTGFiZWw6dixsZWZ0U2xvdDpDLHRpdGxlOmIsZGVzY3JpcHRpb246ZixyaWdodFNsb3Q6aCxpc09wZW46ayxzZWxlY3RlZDpFLGRpc2FibGVkOk8saG90a2V5Omcsb25DbGljazp4LGFyaWFIYXNwb3B1cDpTLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp5LGRhdGFRYUlkOkwsZWxsaXBzaXM6QX09ZSx3PSgwLGEudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZCksVD0oMCxhLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHUpLHtvbkZvY3VzOlAsb25LZXlEb3duOlJ9PSgwLHIudXNlSG9yaXpvbnRhbE1lbnVLZXlib2FyZE5hdmlnYXRpb24pKCksW04sUV09KDAsby51c2VTdGF0ZSkoW10pLF89KDAsYy51c2VJc0ZpcnN0UmVuZGVyKSgpLEI9KDAsbC51c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dCkoaCxRLHkpLEQ9KDAsbC51c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dCkoYixRLHkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIse29uRm9jdXM6UCxvbktleURvd246Un0sby5jcmVhdGVFbGVtZW50KGkuUG9wb3Zlckl0ZW0se3BvcG92ZXJJdGVtQnV0dG9uSWQ6cCxsZWZ0U2xvdDpDLHRpdGxlOkQsZGVzY3JpcHRpb246ZixyaWdodFNsb3Q6Qixpc09wZW46ayxzZWxlY3RlZDpFLGRpc2FibGVkOk8saG90a2V5Omcsb25DbGljazp4LHBvcG92ZXJJdGVtUmVmOncscG9wb3Zlckl0ZW1CdXR0b25SZWY6VCxyb2xlOm0sYXJpYUhhc3BvcHVwOlMsYXJpYUNvbnRyb2xzOkksYXJpYUV4cGFuZGVkOiEwLGFyaWFMYWJlbDp2LGFyaWFCdXN5Ol8sb3V0c2lkZU9mQnV0dG9uU2xvdDpvLmNyZWF0ZUVsZW1lbnQocyx7aWQ6SSxhcmlhTGFiZWxsZWRieTpwLGFyaWFPd25zOk59KSxkYXRhUWFJZDpMLGVsbGlwc2lzOkF9KSl9fSw5MjA5MzgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q3VzdG9tUG9wb3Zlckl0ZW06KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk4ODA2OCksYT1uKDg5NjIzNyk7Y29uc3Qgcj0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2lkOm4sY2hpbGRyZW46cixvbkNsaWNrOmwsZGlzYWJsZWQ6Yyxmb2N1c2FibGU6cyxyb2xlOmQsYXJpYUxhYmVsOnUsYXJpYUV4cGFuZGVkOnAsYXJpYUNvbnRyb2xzOm0sYXJpYUhhc3BvcHVwOkksZGF0YVFhSWQ6dn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGEuQ3VzdG9tTGlzdEl0ZW0se2lkOm4sb25DbGljazpsLGZvY3VzYWJsZTpzLHJlZjp0LHJvbGU6ZCxhcmlhTGFiZWw6dSxhcmlhRXhwYW5kZWQ6cCxhcmlhQ29udHJvbHM6bSxhcmlhSGFzcG9wdXA6SSxkaXNhYmxlZDpjLGRhdGFRYUlkOnYsW2kuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXTpzfHxsPyJ0cnVlIjp2b2lkIDB9LHIpfSkpfSwzOTE5MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VjdGlvblBvcG92ZXJJdGVtOigpPT5jfSk7dmFyIG89big3Nzk0NzQpLGk9big0NDU0OTMpLGE9big4NDQ4NzEpLHI9big5ODgwNjgpLGw9big0MjI3NzcpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCx0aXRsZTpuLGNoaWxkcmVuOmMsaXRlbVJvbGU6cyx3cmFwcGFibGU6ZCxkZWZhdWx0V3JhcHBlZDp1LG9uV3JhcHBlZENoYW5nZWQ6cCxhcmlhTGFiZWw6bSxyaWdodFNsb3Q6SSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTp2LGRhdGFRYUlkOkN9PWUsW2IsZl09KDAsby51c2VTdGF0ZSkodT8/ITEpLHtvbktleURvd246aH09KDAsbC51c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbikoKSxrPW58fHZvaWQgMCx7b25Qb3BvdmVyQ29udGVudFJlc2l6ZTpFfT0oMCxpLnVzZVBvcG92ZXJDb250ZXh0KSgpOygwLG8udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntFPy4oKX0pLFtFLGJdKTtjb25zdCBPPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2YoKGU9Pntjb25zdCB0PSFlO3JldHVybiBwPy4odCksdH0pKX0pLFtwXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2VjdGlvbkxpc3RJdGVtLHtpZDp0LHRpdGxlOmssY2hpbGRyZW46YyxpdGVtUm9sZTpzLGFyaWFMYWJlbDptLHJpZ2h0U2xvdDpJLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OnYsZGF0YVFhSWQ6Qyxpc1dyYXBwZWQ6ZD9iOnZvaWQgMCxvbkNsaWNrOmQ/Tzp2b2lkIDAsb25LZXlEb3duOmgsW3IuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXTpkfHxJPyJ0cnVlIjp2b2lkIDB9KSl9fSw1NjEyNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3dpdGNoUG9wb3Zlckl0ZW06KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk3MjczNCksYT1uKDMwODIxNik7ZnVuY3Rpb24gcihlKXtjb25zdHtwb3BvdmVySXRlbVJlZjp0LHBvcG92ZXJJdGVtQnV0dG9uUmVmOm4scG9wb3Zlckl0ZW1CdXR0b25JZDpyLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnMsY2hlY2tlZDpkLG9uQ2xpY2s6dSxhcmlhQ2hlY2tlZDpwLGxlZnRTbG90Om0sZGF0YVFhSWQ6SX09ZSx2PSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e3U/LighZCl9KSxbdSxkXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLlBvcG92ZXJJdGVtLHtwb3BvdmVySXRlbVJlZjp0LApwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6cixhcmlhQ2hlY2tlZDpwLGxlZnRTbG90Om0scm9sZTpsLHRpdGxlOmMsZGVzY3JpcHRpb246cyxyaWdodFNsb3Q6by5jcmVhdGVFbGVtZW50KGEuU3dpdGNoVmlldyx7Y2hlY2tlZDpkfSksb25DbGljazp2LGRhdGFRYUlkOkl9KX19LDcyMjMyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUaXRsZVBvcG92ZXJJdGVtOigpPT5zfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDk4ODA2OCkscj1uKDkzNTUzNSksbD1uKDQyMjc3NyksYz1uKDI5Njc4Nik7ZnVuY3Rpb24gcyhlKXtjb25zdHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOnMsb25DbGljazpkLGFyaWFMYWJlbDp1LHJpZ2h0U2xvdDpwLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5Om0scG9wb3Zlckl0ZW1CdXR0b25SZWY6SSx2YXJpYW50OnYsYXJpYUNvbnRyb2xzOkMsdGl0bGVJZDpiLHdyYXBwYWJsZTpmLHdyYXBwZWQ6aCxkYXRhUWFJZDprfT1lLHtvbktleURvd246RX09KDAsbC51c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbikoKSxbTyxnXT0oMCxpLnVzZVN0YXRlKShbXSkseD0oMCxjLnVzZVdyYXBwZWRJbnRvQ29udGV4dEFjdGlvbnNDb250ZXh0KShwLGcpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoci5UaXRsZUxpc3RJdGVtLHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOnMsb25DbGljazpkLGFyaWFMYWJlbDp1LHJpZ2h0U2xvdDp4LHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5Om0sbGlzdEl0ZW1CdXR0b25SZWY6SSx2YXJpYW50OnYsYXJpYUNvbnRyb2xzOkMsdGl0bGVJZDpiLHdyYXBwZWQ6Zj9oOnZvaWQgMCxkYXRhUWFJZDprLG9uS2V5RG93bjpFLG5lc3RlZExpc3RzQXJpYU93bnM6Ty5sZW5ndGg+MD9PLmpvaW4oIiAiKTp2b2lkIDAsbmVzdGVkTGlzdEFyaWFIaWRkZW46MD09PU8ubGVuZ3RoLFthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06Znx8ZHx8cD8idHJ1ZSI6dm9pZCAwfSl9IWZ1bmN0aW9uKGUpe2UuUHJpbWFyeT0icHJpbWFyeSIsZS5TZWNvbmRhcnk9InNlY29uZGFyeSJ9KG98fChvPXt9KSl9LDMwODIxNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTd2l0Y2hWaWV3OigpPT5zfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDkxNDQ4Nykscj1uLm4oYSksbD1uKDYyNTcwOSksYz1uLm4obCk7ZnVuY3Rpb24gcyhlKXtjb25zdHtzaXplOnQ9InNtYWxsIixjaGVja2VkOm4sZGlzYWJsZWQ6b309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKShjKCkuc3dpdGNoVmlldyxjKClbdF0sbyYmYygpLmRpc2FibGVkLG4mJmMoKS5jaGVja2VkKX0saS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmMoKS50cmFja30pLGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjKCkudGh1bWJ9KSl9IWZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLk1lZGl1bT0ibWVkaXVtIixlLkxhcmdlPSJsYXJnZSJ9KG98fChvPXt9KSl9LDkxMzg3NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBBcnJheS5mcm9tKGUudmFsdWVzKCkpLmZvckVhY2goKChlLG4pPT57dC5zZXQoZS5pZCxuKX0pKSx0fWZ1bmN0aW9uIGkoZSwuLi50KXtjb25zdCBuPXQubWFwKCgoKT0+W10pKTtyZXR1cm4gbi5wdXNoKFtdKSxlLmZvckVhY2goKGU9Pntjb25zdCBvPXQuZmluZEluZGV4KCh0PT50KGUpKSksaT0obi5sZW5ndGgrbyklbi5sZW5ndGg7bltpXS5wdXNoKGUpfSkpLG59bi5kKHQse2dldElkVG9JbmRleE1hcDooKT0+byxzcGxpdDooKT0+aX0pfSwxOTQ2NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTQuNjcgNy4zOC42Ni0uNzZMOSA5Ljg0bDMuNjctMy4yMi42Ni43Nkw5IDExLjE2IDQuNjcgNy4zOFoiLz48L3N2Zz4nfSw1NDMzMzkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTQuNjcgMTAuNjIuNjYuNzZMOSA4LjE2bDMuNjcgMy4yMi42Ni0uNzZMOSA2Ljg0bC00LjMzIDMuNzhaIi8+PC9zdmc+J30sMTIyOTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAzQTEuNSAxLjUgMCAwIDAgMyA0LjV2OUExLjUgMS41IDAgMCAwIDQuNSAxNWg5YTEuNSAxLjUgMCAwIDAgMS41LTEuNVYxMGgtMXYzLjVhLjUuNSAwIDAgMS0uNS41aC05YS41LjUgMCAwIDEtLjUtLjV2LTlhLjUuNSAwIDAgMSAuNS0uNUg4VjNINC41ek0xMSA0aDIuM0w5LjE0IDguMTVsLjcuN0wxNCA0LjcxVjdoMVYzaC00djF6Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.622Z","timestamp":1785124877622,"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://berthenergy-inc.biz/\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: 399033\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-27T06:15:18.680435Z","times_seen":16655,"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":"berthenergy-inc.biz/css/styles/responsive.css","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.204Z","timestamp":1785124875204,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /css/styles/responsive.css HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 01 Feb 2022 20:36:18 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f999c2-6731\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":26417,"size_decoded":7302,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"7c021e5a33012d58a2f7fd40e292f0dd","sha1":"798c5309a29ae1fb6eddf0dc0c137f041589020c","sha256":"fcfdf523b22d2f38c5afc6b28b9c110fc50c497eb73506c4f785e12fd0fc4b08","sha512":"bc8ac5267c3afe3779d49f21f54dbfef62fdb4347da15dd449c75294afd5eefc054c1cb385495eedce6a786c3edcd8870ab28528d01b6c906bc8b0fef313f5dd","ssdeep":"384:Ecp+NXiw55N4kjA5kfAK1be0CIySZ3OKasPJoSA0:EO+JiM5MK12UlNaY","tlshash":"4bc2d820ba08140d63d661a1bbb42e76fe3ad013aba340f5f0e45555c2fc61d17f6eea","first_seen":"2025-08-11T23:10:22.732348Z","last_seen":"2026-07-27T04:03:29.957355Z","times_seen":21,"resource_available":false,"data":"IC8qIFJlc3BvbnNpdmUgY3NzIHN0YXJ0ICovDQogDQogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHsNCiAJLm91ci1taXNzaW9uLWJveGVzIGg0IHsNCiAJCWZvbnQtc2l6ZTogMjBweDsNCiAJCWxpbmUtaGVpZ2h0OiAzMHB4Ow0KIAkJYm90dG9tOiAxNXB4Ow0KIAkJbGVmdDogMTVweDsNCiAJCXJpZ2h0OiAxNXB4Ow0KIAl9DQogCS5vdXItbWlzc2lvbi1ib3hlcyAuY29sIHsNCiAJCXBhZGRpbmc6IDE1cHg7DQogCQlwYWRkaW5nLXRvcDogMjBweDsNCiAJCW1pbi1oZWlnaHQ6IDQ1MHB4Ow0KIAl9DQogCS5sYXlvdXQtMiAucm93ew0KIAkJcGFkZGluZzo4MHB4IDBweDsgDQogCX0NCiAJLnByZS1zYWxlLXRpbWVyew0KIAkJcGFkZGluZy10b3A6IDQwcHg7DQoJCXBhZGRpbmctYm90dG9tOiA1MHB4Ow0KIAl9DQogCS5sYXlvdXQtMyAuY29udGFpbmVyID4gLnJvd3sNCiAJCXBhZGRpbmc6IDUwcHggMHB4Ow0KIAl9DQogCS5sYXlvdXQtMyAuc2VjLXRpdGxlew0KIAkJbWF4LXdpZHRoOjk0MHB4Ow0KIAkJbWFyZ2luOiBhdXRvOyANCiAJfQ0KIAkubGF5b3V0LTMgLnNlYy10aXRsZSBoMXsNCiAJCWZvbnQtc2l6ZTo0MnB4OyANCiAJfQ0KIAkucHJlLXNhbGUtdGltZXItb3V0ZXJ7DQogCQltYXJnaW4tdG9wOjE1cHg7IA0KIAl9DQogCS5sYXlvdXQtMyAud2UtYWNjZXB0LXNlY3Rpb257DQogCQltYXJnaW4tdG9wOjE1cHg7DQogCX0NCgkuYW5pbWF0aW9uLWNpcmNsZS1tYWluIHsNCgkJcmlnaHQ6IDAlOw0KCX0NCgkuZGlhbW9uZC1hbmltYXRpb257DQoJCXRyYW5zZm9ybTogc2NhbGUoMC43KTsNCgkJd2lkdGg6IDU4MHB4Ow0KCX0NCgkucGxhdGludW0tYW5pbWF0aW9uew0KCQl0cmFuc2Zvcm06IHNjYWxlKDAuNyk7DQoJCW1hcmdpbi10b3A6IC0xMDBweDsNCgl9DQogfQ0KIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7DQogCW5hdiB1bCBsaSB7DQogCQltYXJnaW4tbGVmdDogMjBweDsNCiAJfQ0KIAloZWFkZXIgew0KIAkJcGFkZGluZy10b3A6IDE1cHg7DQogCX0NCiAJLmRvdWdobnV0Q2hhcnRDb250YWluZXIgew0KIAkJbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KIAl9DQogCS50ZWFtIGltZyB7DQogCQltYXgtd2lkdGg6IDIwMHB4Ow0KIAkJbWF4LWhlaWdodDogMjAwcHg7DQogCX0NCiAJLmZvb3Rlci0yIC5zb2NpYWxzIGxpew0KIAkJbWFyZ2luOiAwcHggM3B4IDEwcHg7DQogCX0NCiAJLmZvb3Rlci0yIC5zb2NpYWxzIGxpIGF7DQogCQl3aWR0aDo0OHB4Ow0KIAkJaGVpZ2h0OjQ4cHg7DQogCQlsaW5lLWhlaWdodDo0OHB4Ow0KIAkJZm9udC1zaXplOiAyMHB4Ow0KIAl9DQogCS5mb290ZXItMiAuc29jaWFscyBsaSBhIGl7DQogCQlsaW5lLWhlaWdodDo0OHB4Ow0KIAl9DQogCS50ZWFtLXNlY3Rpb24uc3R5bGUtMjo6YmVmb3Jlew0KIAkJcmlnaHQ6Y2FsYygoKDEwMCUgLSA5NjBweCkgLyAyKSArICgoOTkwcHggKiA3NSkgLyAxMDApKSANCiAJfQ0KIAkuZXhwZXJ0LXNsaWRlciAudGVhbS1pbWd7DQogCQktbXMtZmxleDogMCAwIDQwJTsNCgkJZmxleDogMCAwIDQwJTsNCgkJd2lkdGg6IDQwJTsNCgkJbWF4LXdpZHRoOiA0MCU7DQogCX0NCiAJLmV4cGVydC1zbGlkZXIgLnRlYW0tZGV0aWxzew0KIAkJLW1zLWZsZXg6IDAgMCA2MCU7DQoJCWZsZXg6IDAgMCA2MCU7DQoJCXdpZHRoOiA2MCU7DQoJCW1heC13aWR0aDogNjAlOw0KIAl9DQogCWgxew0KIAkJZm9udC1zaXplOjQycHg7IA0KIAl9DQogCS5sYXlvdXQtMyAuY29udGFpbmVyID4gLnJvd3sNCiAJCXBhZGRpbmc6NTBweCAwcHg7IA0KIAl9DQogCS5wcmUtc2FsZS10aW1lci1vdXRlcnsNCiAJCW1hcmdpbi10b3A6MTBweDsgDQogCX0NCiAJLndlLWFjY2VwdC1zZWN0aW9uew0KIAkJbWFyZ2luLXRvcDozMHB4OyANCiAJfQ0KIAkuY29weXJpZ2h0cy5zdHlsZS0xew0KCQltYXJnaW4tdG9wOiAwcHg7DQoJfQ0KCS5jYXJib24tbGF5b3V0IC5oZXJvLW1haW4gaDEsIGgyLnNlY3Rpb24taGVhZGluZ3sNCgkJZm9udC1zaXplOiAyLjhyZW07DQoJfQ0KCS5jYXJib24tbGF5b3V0IC5hYm91dC1sZWZ0IGg0ew0KCQlmb250LXNpemU6MjRweDsgDQoJfQ0KCS5jYXJib24tbGF5b3V0IC5hYm91dC1sZWZ0IGg1ew0KCQlmb250LXNpemU6MThweDsgDQoJfQ0KCS50b2tlbi1hbGxvY2F0aW9uLWJveCAuc2FsZS1saXN0IC5wcmljZS10YWd7DQoJCWZvbnQtc2l6ZToxNXB4OyANCgl9DQoJLmJlbmVmaXRzLWJveCBoM3sNCgkJZm9udC1zaXplOjIwcHg7IA0KCX0NCgkuY2FyYm9uLWxheW91dCAuYWJvdXQtbGVmdHsNCiAJCXBhZGRpbmctbGVmdDogMTVweDsNCiAJfQ0KIAkuYW5pbWF0aW9uLWNpcmNsZS1tYWluIHsNCgkJbWF4LXdpZHRoOiA2MDBweDsNCgkJbWF4LWhlaWdodDogNjAwcHg7DQoJfQ0KCS5jb252ZXJ0b3Itd2lkZ2V0ew0KCQltYXJnaW4tdG9wOiAwOw0KCX0NCgkuY3VycmVuY3ktY2FsdWxhdG9yew0KCQlwYWRkaW5nOiA1MHB4IDE1cHggMjBweCAyMHB4Ow0KCQltYXJnaW4tbGVmdDogMDsNCgl9DQoJLmNvbnZlcnRvci13aWRnZXQgLmN1cnJlbnQtaWNvew0KCQl0cmFuc2Zvcm06IG5vbmU7DQoJCXBvc2l0aW9uOiBzdGF0aWM7DQoJCW1hcmdpbi1ib3R0b206IC00NXB4Ow0KCQltYXJnaW4tbGVmdDoyMHB4OyANCgl9DQoJLmNyeXB0b25hdG9yd2lkZ2V0IHRkew0KCQlwYWRkaW5nOiAycHg7DQoJfQ0KCS5jcnlwdG9uYXRvcndpZGdldCB0ZCBzZWxlY3QsIC5jcnlwdG9uYXRvcndpZGdldCB0ZCBpbnB1dHsNCgkJaGVpZ2h0OiA0NXB4ICFpbXBvcnRhbnQ7DQoJfQ0KCS50b2tlbi1zYWxlIC5idXR0b24td3JhcHBlciAuYnRuew0KCQltaW4td2lkdGg6IGNhbGMoNTAlIC0gMjRweCk7DQoJfQ0KCS5kaWFtb25kLWxheW91dCAudG9rZW4tc2FsZS1sZWZ0ew0KCQlwYWRkaW5nOiAwcHggMHB4Ow0KCX0NCgkuY291bnRlci12YWx1ZXsNCgkJZm9udC1zaXplOiA0MnB4Ow0KCX0NCgkuc3R5bGUtMi5hY2NvcmRpb24gLmNhcmQtaGVhZGVyIGEgaDV7DQoJCWZvbnQtc2l6ZToxNnB4OyANCgl9DQoJLmhvcml6b250YWwtcm9hZG1hcCAucm9hZG1hcC10ZXh0ew0KCQlwYWRkaW5nOiAzMHB4IDMwcHggMHB4Ow0KCX0NCgkuaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0uZXZlbiAucm9hZG1hcC10ZXh0ew0KCQlwYWRkaW5nOiAwcHggMzBweCAzMHB4Ow0KCX0NCgkudGVhbS1taW5pbWFsLXNlY3Rpb24gLnRlYW0tYm94ew0KCQl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJfQ0KCS50ZWFtLW1pbmltYWwtc2VjdGlvbiAudGVhbS1pbWd7DQoJCWRpc3BsYXk6IHRhYmxlOw0KCQltYXJnaW46IDBweCBhdXRvIDE1cHg7DQoJCWZsZXg6IDAgMCAxMDAlOw0KCX0NCgkudGVhbS1taW5pbWFsLXNlY3Rpb24gLnRleHR7DQoJCXBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCgkJd2lkdGg6IDEwMCU7DQoJCXRleHQtYWxpZ246Y2VudGVyOyANCgl9DQoJdWwuaG9yaXpvbnRhbC1tZW51IGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyew0KCQltYXJnaW46IDBweCA3cHg7DQoJfQ0KCS5kaWFtb25kLWxheW91dC50ZWFtLXNlY3Rpb246OmFmdGVyew0KCQlsZWZ0OiAwOw0KCQltYXJnaW4tbGVmdDogMDsNCgl9DQoJLnRvbGxmcmVlLWxpc3QgbGkgc3Ryb25new0KCQlkaXNwbGF5OiBibG9jazsNCgl9DQoJLmV4Y2hhbmdlLWxpc3Qtc2VjdGlvbiAuaGVhZGluZyBoMnsNCgkJZm9udC1zaXplOjI0cHg7IA0KCX0NCgkuZXhjaGFuZ2UtbGlzdCAuaXRlbXsNCgkJbWFyZ2luLXRvcDogMTBweDsNCgl9DQoJLnZpZGVvLXNlY3Rpb257DQoJCXBhZGRpbmc6MTUwcHggMHB4OyANCgl9DQoJLmJhbmFmaXRzLWNpcmNsZXsNCgkJaGVpZ2h0OiAzMDBweDsNCgkJd2lkdGg6IDMwMHB4Ow0KCQltYXJnaW4tYm90dG9tOiAtMTEwcHg7DQoJfQ0KCS5iYW5hZml0cy1jaXJjbGU6OmJlZm9yZSB7DQoJCWhlaWdodDogMzEycHg7DQoJCXdpZHRoOiAzMTJweDsNCgl9DQoJLmJhbmFmaXRzLWNpcmNsZSAuaWNvbiBpbWd7DQoJCW1heC13aWR0aDogMTUwcHg7DQoJfQ0KCS5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOmZpcnN0LWNoaWxkew0KCQl0b3A6MjkwcHg7DQoJCWxlZnQ6LTQwcHg7DQoJfQ0KCS5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCgyKXsNCgkJdG9wOiAxNTBweDsNCgkJbGVmdDogMzBweDsNCgl9DQoJLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDMpew0KCQl0b3A6IDE1cHg7DQoJfQ0KCS5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg0KXsNCgkJdG9wOiAxNTBweDsNCgkJcmlnaHQ6IDMwcHg7DQoJfQ0KCS5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg1KXsNCgkJdG9wOjI5MHB4Ow0KCQlyaWdodDotNDBweDsNCgl9DQoJLmJsb2ctZ3JpZC1sYXlvdXQgLmFydGljbGUtaW1new0KCQl3aWR0aDoxMDAlOyANCgl9DQoJLmJsb2ctZ3JpZC1sYXlvdXQgLmFydGljbGUtaW1nIGF7DQoJCXBhZGRpbmctdG9wOjc1JTsgDQoJfQ0KCS5ibG9nLWdyaWQtbGF5b3V0IC5hcnRpY2xlLWRldGFpbHN7DQoJCXdpZHRoOiAxMDAlOw0KCX0NCgkudGVhbXNsaWRlciAub3dsLW5hdnsNCgkJbGVmdDogY2FsYygxMDAlIC0gOTMwcHgpOw0KCQlib3R0b206MDsgDQoJfQ0KCS52aXNpYmxlLmFib3V0LW1lcmN1cnktYW5pbWF0aW9uIC5tZXJjdXJ5LWJhc2V7DQoJCW1pbi13aWR0aDo2ODBweDsNCgl9DQogfQ0KIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsNCiAJLmxvZ28gaW1nIHsNCiAJCW1heC13aWR0aDogMTgwcHg7DQogCX0NCiAJbmF2IHsNCiAJCW1hcmdpbi10b3A6IDNweDsNCiAJfQ0KIAluYXYgdWwgbGkgew0KIAkJbWFyZ2luLWxlZnQ6IDVweDsNCiAJfQ0KIAluYXYgdWwgbGkgYSB7DQogCQlmb250LXNpemU6IDE0cHg7DQogCX0NCiAJLmhlcm8tbWFpbnsNCiAJCWhlaWdodDphdXRvOyAgDQogCX0NCiAJLnByZS1zYWxlLXRpbWVyIHsNCiAJCXBhZGRpbmc6IDEyMHB4IDE1cHggMjAwcHg7DQogCX0NCiAJLnByZS1zYWxlLXRpbWVyIGgzIHsNCiAJCWZvbnQtc2l6ZTogMjZweDsNCiAJfQ0KIAkuc2VjLXRpdGxlIGgxIHsNCiAJCWZvbnQtc2l6ZTogNDBweA0KIAl9DQogCS5zZWMtdGl0bGUgaDMgew0KIAkJZm9udC1zaXplOiAyOHB4DQogCX0NCiAJLnNlYy10aXRsZTphZnRlciwNCiAJLnNlYy10aXRsZS50ZXh0LWNlbnRlcjphZnRlciB7DQogCQltYXJnaW46IDIwcHggMDsNCiAJfQ0KIAkuaGVyby1idG5zIGEgew0KIAkJbWluLXdpZHRoOiAyMTBweDsNCiAJfQ0KIAkjY2xvY2sgbGkgew0KIAkJcGFkZGluZzogMCA4cHg7DQogCX0NCiAJI2Nsb2NrIHVsIHsNCiAJCW1hcmdpbjogMCAtOHB4Ow0KIAl9DQogCSNjbG9jayBsaSBzcGFuIHsNCiAJCWZvbnQtc2l6ZTogMzBweDsNCiAJCXBhZGRpbmc6IDEwcHggMnB4Ow0KIAl9DQogCSNjbG9jayBsaSBzcGFuIGVtIHsNCiAJCWZvbnQtc2l6ZTogMTRweDsNCiAJfQ0KIAkuYWJvdXQtc2VjdGlvbiwNCiAJLnRva2VuLXNhbGUsDQogCS5yb2FkbWFwLXNlYywNCiAJLnRlYW0tc2VjdGlvbiwNCiAJLmJsb2ctc2VjdGlvbiwNCiAJZm9vdGVyIHsNCiAJCXBhZGRpbmc6IDYwcHggMDsNCiAJfQ0KIAkub3VyLW1pc3Npb24gew0KIAkJcGFkZGluZy10b3A6IDYwcHgNCiAJfQ0KIAkub3VyLW1pc3Npb24tYm94ZXMgc3BhbiB7DQogCQlmb250LXNpemU6IDI4cHg7DQogCX0NCiAJLm91ci1taXNzaW9uLWJveGVzIC5jb2wgew0KIAkJd2lkdGg6IDUwJTsNCiAJCWZsZXgtYmFzaXM6IGluaGVyaXQ7DQogCQlib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg1NCwgNTQsIDU0LCAwLjgpOw0KIAl9DQogCS5kb3VnaG51dCB7DQogCQlkaXNwbGF5OiBibG9jazsNCiAJfQ0KIAkuZG91Z2hudXQgLmNoYXJ0LWxlZ2VuZCB7DQogCQl3aWR0aDogMTAwJTsNCiAJCXBhZGRpbmctbGVmdDogMzBweDsNCiAJCXBhZGRpbmctdG9wOiAzMHB4Ow0KIAl9DQogCS50ZWFtIGg0IHsNCiAJCW1hcmdpbjogMTVweCAwIDVweDsNCiAJCWZvbnQtc2l6ZTogMjBweDsNCiAJfQ0KIAkuZm9vdGVyLWJveC0zIHAgYnIgew0KIAkJZGlzcGxheTogbm9uZTsNCiAJfQ0KIAkNCiAJLmJsb2ctbGlzdCArIC5ibG9nLWxpc3QsDQogCS5ibG9nLWxpc3Qgew0KIAkJbWFyZ2luLXRvcDogMzBweDsNCiAJfQ0KIAkuYmxvZy1zZWN0aW9uIC5ibG9nbWFpbiA+IGRpdiB7DQogCQlmbGV4LWJhc2lzOiBpbmhlcml0Ow0KIAkJbWF4LXdpZHRoOiAxMDAlOw0KIAl9DQogCWltZy5wbGF5LWJ0bi1pbWd7DQogCQltYXgtd2lkdGg6OTBweDsgDQogCX0NCiAJLnN0YWdlLWRldGFpbCBzcGFuew0KIAkJd2lkdGg6NDklOw0KIAkJZGlzcGxheTpibG9jazsgIA0KIAkJZm9udC1zaXplOiAxM3B4Ow0KIAkJbGluZS1oZWlnaHQ6MS4yOyANCiAJfQ0KIAkuc3RhZ2UtZGV0YWlsIHNwYW4uc2FsZS1kYXRlew0KIAkJdGV4dC1hbGlnbjpsZWZ0Ow0KIAkJZGlzcGxheTppbmxpbmUtYmxvY2s7IA0KIAl9DQogCS5zdGFnZS1kZXRhaWwgc3Bhbi50b2tlbi1kaXNjb3VudHsNCiAJCWRpc3BsYXk6aW5saW5lLWJsb2NrOyANCiAJfQ0KIAkuYWJvdXQtc2VjdGlvbi5zdHlsZS0yIGg1ew0KIAkJZm9udC1zaXplOiAxOHB4Ow0KIAl9DQogCS5sYXlvdXQtMiAuaGVyby1sZWZ0IHB7DQogCQlmb250LXNpemU6IDE4cHg7DQogCX0NCiAJLnRlYW0tc2VjdGlvbi5zdHlsZS0yOjpiZWZvcmV7DQogCQlyaWdodDpjYWxjKCgoMTAwJSAtIDcyMHB4KSAvIDIpICsgKCg3NTBweCAqIDc1KSAvIDEwMCkpIA0KIAl9DQogCS5leHBlcnQtc2xpZGVyew0KIAkJYmFja2dyb3VuZDpub25lOyANCiAJfQ0KIAkuZXhwZXJ0LXNsaWRlciAudGVhbS1pbWd7DQogCQlhbGlnbi1zZWxmOiBzdGFydDsNCiAJfQ0KIAkuYWJvdXQtc2VjdGlvbi5jLWw6OmJlZm9yZXsNCiAJCXJpZ2h0OiA3MCU7DQogCX0NCgkNCgkudG9rZW4tc2FsZS1sZWZ0ew0KCQlmbGV4OiAwIDAgMTAwJTsNCgkJbWF4LXdpZHRoOiAxMDAlOw0KCX0NCgkudG9rZW4tc2FsZS1yaWdodHsNCgkJZmxleDogMCAwIDEwMCU7DQoJCW1heC13aWR0aDogMTAwJTsNCgl9DQoJLmN1cnJlbnQtcHJpY2Vzew0KCQltYXgtd2lkdGg6IDEwMCU7DQoJCW1hcmdpbjogMDsNCgl9DQoJLmNvbnZlcnRvci13aWRnZXR7DQoJCXBhZGRpbmc6IDAgMTVweDsNCgkJbWFyZ2luLXRvcDogMzBweDsNCgkJbWF4LXdpZHRoOjEwMCU7DQoJfQ0KCS5jb3VudGVyLWljb257DQoJCXBhZGRpbmc6MTVweDsNCgl9DQoJLmNvdW50ZXItaWNvbiBpbWd7DQoJCW1heC13aWR0aDo0OHB4OyANCgl9DQoJLmNvdW50ZXItdmFsdWUgew0KCSAgICBmb250LXNpemU6IDM2cHg7DQoJfQ0KCS5jb3VudC10ZXh0IHsNCgkJZm9udC1zaXplOiAxLjJyZW07DQoJfQ0KCS5zdHlsZS0yLmFjY29yZGlvbiAuY2FyZC1oZWFkZXIgYSBoNXsNCgkJbGluZS1oZWlnaHQ6MjRweDsgDQoJfQ0KCS5kaWFtb25kLWxheW91dC50ZWFtLXNlY3Rpb246OmJlZm9yZXsNCgkJaGVpZ2h0OiAxNjdweDsNCgl9DQoJLnRvbGxmcmVlLWxpc3QgbGkgc3Ryb25new0KCQlkaXNwbGF5OmlubGluZS1ibG9jazsNCgl9DQoJLmV4Y2hhbmdlLWxpc3Qtc2VjdGlvbiAuaGVhZGluZ3sNCgkJdGV4dC1hbGlnbjogY2VudGVyOw0KCQltYXJnaW4tcmlnaHQ6IDA7DQoJCWJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IA0KCX0NCgkuZXhjaGFuZ2UtbGlzdC1zZWN0aW9uIC5oZWFkaW5nOjpiZWZvcmUgew0KCQlsZWZ0OiA1MCU7DQoJfQ0KCS5leGNoYW5nZS1saXN0LXNlY3Rpb24gLmhlYWRpbmcgaDJ7DQoJCW1hcmdpbi1yaWdodDowOw0KCQltYXJnaW4tYm90dG9tOjMwcHg7ICANCgl9DQoJLmJhbmFmaXRzLWNpcmNsZXsNCgkJZGlzcGxheTpub25lOyANCgl9DQoJLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW17DQoJCXBvc2l0aW9uOiBzdGF0aWM7DQoJCW1heC13aWR0aDogMTAwJTsNCgkJb3BhY2l0eTogMSAhaW1wb3J0YW50Ow0KCQl2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQoJCXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50Ow0KCX0NCgkuYmFuYWZpdHMtbGlzdC1pdGVtc3sNCgkJcGFkZGluZy10b3A6IDUwcHg7DQoJCXBhZGRpbmctYm90dG9tOiA5MHB4Ow0KCX0NCgkuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmVuZWZpdC1ib3h7DQoJCWZsZXgtZGlyZWN0aW9uOiBpbmhlcml0Ow0KCQlkaXNwbGF5OnRhYmxlOw0KCQl3aWR0aDoxMDAlOw0KCQltYXJnaW4tYm90dG9tOjMwcHg7ICAgDQoJfQ0KCS5iZW5lZml0LWJveCAuYmVuZWZpdC1pY29uLCAuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoMikgLmJlbmVmaXQtaWNvbiwgLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06Zmlyc3QtY2hpbGQgLmJlbmVmaXQtaWNvbiwgLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDQpIC5iZW5lZml0LWljb24sIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg1KSAuYmVuZWZpdC1pY29uew0KCQltYXgtd2lkdGg6MTAwcHg7DQoJCXdpZHRoOjEwMCU7ICANCgkJZGlzcGxheTogdGFibGU7DQoJCW1hcmdpbjogMHB4IGF1dG8gMTVweDsNCgl9DQoJLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06bnRoLWNoaWxkKDIpIC5iZW5lZml0LWJveCwgLmJhbmFmaXRzLWxpc3QtaXRlbXMgLmJhbmFmaXRzLWl0ZW06Zmlyc3QtY2hpbGQgLmJlbmVmaXQtYm94LCAuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoNCkgLmJlbmVmaXQtYm94LCAuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoNSkgLmJlbmVmaXQtYm94ew0KCQl0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCgkJZGlzcGxheTogdGFibGU7DQoJCXdpZHRoOjEwMCU7IA0KCX0NCgkuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoMikgLnRleHQsIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOmZpcnN0LWNoaWxkIC50ZXh0LCAuYmFuYWZpdHMtbGlzdC1pdGVtcyAuYmFuYWZpdHMtaXRlbTpudGgtY2hpbGQoNCkgLnRleHQsIC5iYW5hZml0cy1saXN0LWl0ZW1zIC5iYW5hZml0cy1pdGVtOm50aC1jaGlsZCg1KSAudGV4dHsNCgkJcGFkZGluZy1yaWdodDogMDsNCgkJbWF4LXdpZHRoOiAxMDAlOw0KCX0NCgkubWVyY3VyeS1sYXlvdXQgLmJlbmVmaXQtaWNvbnsNCgkJbWF4LXdpZHRoOjExNnB4Ow0KCQltYXJnaW4tYm90dG9tOiAzMHB4Ow0KCX0NCgkudmlkZW8tc2VjdGlvbnsNCgkJcGFkZGluZzoxMDBweCAwcHg7IA0KCX0NCgkuaXBhZC1jZW50ZXJ7DQoJCXRleHQtYWxpZ246Y2VudGVyOyANCgl9DQoJLmNoYXJ0LWltZ3sNCgkJcGFkZGluZy1ib3R0b206NjBweDsgDQoJfQ0KCS5ibG9nLWdyaWQtbGF5b3V0IC5mb290ZXItbWV0YSAuZW50cnktcmVhZG1vcmV7DQoJCXdpZHRoOiAxMDAlOw0KCQlmbG9hdDogbGVmdDsNCgl9DQoJLnRlYW1zbGlkZXIgLm93bC1uYXZ7DQoJCXBvc2l0aW9uOiBzdGF0aWM7DQoJCWRpc3BsYXk6IHRhYmxlOw0KCQltYXJnaW46IDE1cHggYXV0bzsNCgl9DQoJLnRlYW1zbGlkZXIub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbnsNCgkJbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDsNCgkJbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50Ow0KCX0NCgkuZmFxLXNlY3Rpb24gLnRhYi1zZWN0aW9uIC5uYXYtdGFicyAubmF2LWl0ZW17DQoJCW1hcmdpbjogMHB4IDhweDsNCgl9DQoJLmZhcS1zZWN0aW9uIC50YWItc2VjdGlvbiAubmF2LXRhYnMgLm5hdi1saW5rew0KCQlmb250LXNpemU6MTZweDsgDQoJfQ0KCS5zdHlsZS0zLmFjY29yZGlvbiAuY2FyZC1oZWFkZXIgYSBoNXsNCgkJZm9udC1zaXplOiAxOHB4Ow0KCQlsaW5lLWhlaWdodDogMjhweDsNCgkJZm9udC13ZWlnaHQ6IDYwMDsNCgl9DQoJLnBsYXRpbnVtLWZvb3RlciB1bC5ob3Jpem9udGFsLW1lbnUgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXJ7DQoJCW1hcmdpbjogMHB4IDEycHg7DQoJfQ0KIH0NCiBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KIAkuZm9vdGVyLWJveC0yIGxpIHsNCiAJCXdpZHRoOiAxMDAlDQogCX0NCiAJLmZvb3Rlci1ib3gtMSwNCiAJLmZvb3Rlci1ib3gtMiwNCiAJLmZvb3Rlci1ib3gtMyB7DQogCQlmbGV4LWJhc2lzOiBpbmhlcml0Ow0KIAkJbWFyZ2luLWJvdHRvbTogMzBweDsNCiAJfQ0KIAkuZm9vdGVyLWJveC0yIHsNCiAJCW1heC13aWR0aDogMjUlOw0KIAl9DQogCS5mb290ZXItYm94LTMgew0KIAkJbWF4LXdpZHRoOiA0MS42NiU7DQogCX0NCiAJLmJlbmVmaXRzLWJveGVzIC5pdGVtIC5iZi1pbWFnZSwgLmJlbmVmaXRzLWJveGVzIC5pdGVtIC5iZi1kZXRhaWxzew0KIAkJZGlzcGxheTpibG9jazsNCiAJfQ0KIAkuYmVuZWZpdHMtYm94ZXMgLml0ZW0gLmJmLWltYWdlew0KIAkJbWFyZ2luLWJvdHRvbTozMHB4OyAgDQogCX0NCiAJLmhlcm8tbGVmdCAuaGVyby1idG5zIGEgKyBhew0KIAkJbWFyZ2luOjE1cHggMCAwOw0KIAl9DQogCS5wcmUtc2FsZS10aW1lcnsNCiAJCW1hcmdpbi1ib3R0b206LTYwcHg7IA0KIAl9DQogCS50ZWFtLXNlY3Rpb24uYy1sIC5yb3cgLmNvbHsNCgkJLW1zLWZsZXg6IDAgMCA1MCU7DQoJCWZsZXg6IDAgMCA1MCU7DQoJCW1heC13aWR0aDogNTAlOw0KCQltYXJnaW46IDE1cHggMHB4Ow0KCX0NCgkuY2FyYm9uLWxheW91dCAuaGVyby1tYWluIC5oZXJvLWJ0bnMgLmJ0biArIC5idG4geyBtYXJnaW4tdG9wOjE1cHg7ICBtYXJnaW4tbGVmdDowcHg7ICB9DQoJLnRva2VuLXByaWNpbmctc2VjdGlvbnsNCgkJcGFkZGluZy10b3A6IDYwcHg7DQoJfQ0KCS50b2tlbi1wcmljaW5nLXNlY3Rpb246OmJlZm9yZSwgLnRva2VuLXByaWNpbmctc2VjdGlvbjo6YWZ0ZXIgIHsNCgkJdG9wOiAwOw0KCQl0cmFuc2Zvcm06IG5vbmU7DQoJfQ0KCS50b2tlbi1wcmljaW5nLXNlY3Rpb24gLnNlY3Rpb24taGVhZGluZyB7DQoJICAgIG1hcmdpbjogMCAwIDYwcHg7DQoJfQ0KIH0NCiBAbWVkaWEgKG1pbi13aWR0aDogMzBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogCWhlYWRlciwNCiAJaGVhZGVyLmZpeGVkIHsNCiAJCXBhZGRpbmc6IDEwcHggMDsNCiAJfQ0KIAkubWFpbi1tZW51IHsNCiAJCXBvc2l0aW9uOiByZWxhdGl2ZTsNCiAJCXRvcDogMDsNCiAJCXBhZGRpbmc6IDA7DQogCQl3aWR0aDoxMDAlOw0KIAkJbWF4LXdpZHRoOjEwMCU7DQogCQlsZWZ0OjBweDsgICANCiAJfQ0KIAkubWVudS1pY29uIHsNCiAJCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAJCXRvcDoxMHB4Ow0KIAkJcmlnaHQ6MTVweDsNCiAJCWhlaWdodDogMzBweDsNCiAJCXdpZHRoOiAzNXB4Ow0KIAkJY3Vyc29yOiBwb2ludGVyOw0KIAkJei1pbmRleDogMTAwOw0KIAkJLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZTsNCiAJCXRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlOw0KIAkJZGlzcGxheTogYmxvY2s7DQogCX0NCiAJLm1lbnUtaWNvbi5hY3RpdmUgLnRvcCB7DQogCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMXB4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZSg0NWRlZyk7DQogCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTFweCkgdHJhbnNsYXRlWCgwKSByb3RhdGUoNDVkZWcpOw0KIAl9DQogCS5tZW51LWljb24uYWN0aXZlIC5taWRkbGUgew0KIAkJb3BhY2l0eTogMDsNCiAJCWJhY2tncm91bmQ6ICNmYmJkMTg7DQogCX0NCiAJLm1lbnUtaWNvbi5hY3RpdmUgLmJvdHRvbSB7DQogCQktd2Via2l0LXRyYTFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlKC00NWRlZyk7DQogCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlKC00NWRlZyk7DQogCQliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KIAl9DQogCS5tZW51LWljb24gc3BhbiB7DQogCQliYWNrZ3JvdW5kOiAjZmJiZDE4Ow0KIAkJYm9yZGVyOiBub25lOw0KIAkJaGVpZ2h0OiAzcHg7DQogCQl3aWR0aDogMTAwJTsNCiAJCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAJCXRvcDogMHB4Ow0KIAkJbGVmdDogMDsNCiAJCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zNXMgZWFzZTsNCiAJCXRyYW5zaXRpb246IGFsbCAuMzVzIGVhc2U7DQogCQljdXJzb3I6IHBvaW50ZXI7DQogCX0NCiAJLm1lbnUtaWNvbiBzcGFuOm50aC1vZi10eXBlKDIpIHsNCiAJCXRvcDogMTBweDsNCiAJfQ0KIAkubWVudS1pY29uIHNwYW46bnRoLW9mLXR5cGUoMykgew0KIAkJdG9wOiAyMXB4Ow0KIAl9DQogCW5hdiB7DQogCQlkaXNwbGF5OiBub25lOw0KIAkJd2lkdGg6IDEwMCU7DQogCQlmbG9hdDogbGVmdDsNCiAJCXBhZGRpbmctdG9wOiAwOw0KIAkJdGV4dC1hbGlnbjogbGVmdDsNCiAJCXBvc2l0aW9uOmZpeGVkOw0KIAkJbGVmdDowOyAgDQogCX0NCiAJbmF2IHVsIHsNCiAJCW1hcmdpbi10b3A6IDYwcHg7DQogCQliYWNrZ3JvdW5kOiAjZmZmOw0KIAl9DQogCW5hdiB1bCBsaSB7DQogCQlkaXNwbGF5OiBibG9jazsNCiAJCXBhZGRpbmc6IDVweCAyMHB4Ow0KIAkJbWFyZ2luOiAwICFpbXBvcnRhbnQ7DQogCQlib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCiAJfQ0KIAluYXYgdWwgbGkgYSB7DQogCQljb2xvcjogIzFkMWQxZDsNCiAJfQ0KIAluYXYgdWwgbGkubmF2LWJ0biBhIHsNCiAJCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAJfQ0KIAlib2R5IHsNCiAJCWZvbnQtc2l6ZTogMTRweDsNCiAJCWxpbmUtaGVpZ2h0OiAyNXB4Ow0KIAl9DQogCS5zdWItdHh0IHsNCiAJCWZvbnQtc2l6ZTogMTZweDsNCiAJfQ0KIAkuc2VjLXRpdGxlIGgxIHsNCiAJCWZvbnQtc2l6ZTogMzRweDsNCiAJfQ0KIAkjY2xvY2sgbGkgc3BhbiBlbSB7DQogCQlmb250LXNpemU6IDEzcHg7DQogCX0NCiAJLndlLWFjY2VwdC1zZWN0aW9uIHVsIGxpIHNwYW4gew0KIAkJaGVpZ2h0OiA0NXB4Ow0KIAkJd2lkdGg6IDQ1cHg7DQogCQlmb250LXNpemU6IDIwcHg7DQogCQlsaW5lLWhlaWdodDogNDVweDsNCiAJfQ0KIAkuYWJvdXQtcmlnaHQgew0KIAkJbWFyZ2luLWJvdHRvbTozMHB4Ow0KIAl9DQogCS53YXRjaC1saW5rIHsNCiAJCW1hcmdpbi10b3A6IDA7DQogCX0NCiAJLmZvb3Rlci1ib3gtMSwNCiAJLmZvb3Rlci1ib3gtMiwNCiAJLmZvb3Rlci1ib3gtMyB7DQogCQltYXJnaW4tYm90dG9tOiAzMHB4Ow0KIAl9DQogCS5hYm91dC1sZWZ0ew0KIAkJdGV4dC1hbGlnbjpqdXN0aWZ5Ow0KIAl9DQogCS5oZXJvLWxlZnQgew0KIAkJcGFkZGluZy10b3A6IDIwcHg7DQogCQl0ZXh0LWFsaWduOiBjZW50ZXI7DQogCX0NCiAJLmhlcm8tbGVmdCAuc2VjLXRpdGxlOjphZnRlcnsNCg0KIAkJYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9saW5lMi5wbmcpIG5vLXJlcGVhdCB0b3AgY2VudGVyOw0KIAl9DQogCS5wcmUtc2FsZS10aW1lciB7DQogCQlwYWRkaW5nOiA1MHB4IDEwcHg7DQogCQloZWlnaHQ6IGF1dG87DQogCQltYXJnaW4tYm90dG9tOiAtNjBweDsNCiAJfQ0KIAkuYnRuIHsNCiAJCXBhZGRpbmc6IDEwcHggMjBweDsNCiAJfQ0KIAkub3VyLW1pc3Npb24tYm94ZXMgLmNvbCB7DQogCQl3aWR0aDogMTAwJTsNCiAJfQ0KIAkuc2FsZS1ib3ggKyAuc2FsZS1ib3ggew0KIAkJbWFyZ2luLXRvcDogMzBweDsNCiAJfQ0KIAkuZG91Z2hudXRDaGFydENvbnRhaW5lciB7DQogCQltYXJnaW4tcmlnaHQ6IDA7DQogCQltYXJnaW46IDAgYXV0bzsNCiAJfQ0KIAkucm9hZG1hcC1zbGlkZXIgew0KIAkJbWFyZ2luLXRvcDogMTBweDsNCiAJfQ0KICAJLmJsb2ctc2luZ2xlLWNvbnQgaDQgew0KIAkJZm9udC1zaXplOiAxOHB4Ow0KIAl9DQogCS52ZXJ0aWNhbC1yb2FkbWFwOjpiZWZvcmV7DQogCQlsZWZ0OjdweDsgDQogCX0NCiAJLnJvYWRtYXAtaXRlbSAudGl0bGV7DQogCQl0ZXh0LWFsaWduOmxlZnQ7DQogCQlwYWRkaW5nLXJpZ2h0OjBweDsNCiAJCXBhZGRpbmctbGVmdDozMHB4OyANCiAJCXdpZHRoOjEwMCU7DQogCQltYXJnaW4tYm90dG9tOjBweDsgICAgDQogCX0NCiAJLnJvYWRtYXAtaXRlbSAudGl0bGU6OmJlZm9yZXsNCiAJCXJpZ2h0OiBhdXRvOw0KIAkJbGVmdDogMDsNCiAJfQ0KIAkucm9hZG1hcC10ZXh0ew0KIAkJdGV4dC1hbGlnbjpsZWZ0Ow0KIAkJd2lkdGg6MTAwJTsNCiAJfQ0KIAkubGF5b3V0LTJ7DQogCQloZWlnaHQ6YXV0bzsgDQogCX0NCiAJLmxheW91dC0yIC5yb3d7DQogCQlwYWRkaW5nOjBweDsgDQogCX0NCgkucHJlLXNhbGUtdGltZXJ7DQoJCW1heC13aWR0aDoxMDAlOw0KCX0NCgkubGF5b3V0LTIgLmhlcm8tbGVmdHsNCgkJb3JkZXI6MjsgDQoJfQ0KCS5sYXlvdXQtMiAuaGVyby1yaWdodHsNCgkJb3JkZXI6MTsgDQoJfQ0KCS5mb290ZXItMiAuc2VjLXRpdGxlIGg0ew0KCQlmb250LXNpemU6IDI4cHg7DQoJfQ0KCS5mb290ZXItMiAuc29jaWFscyBsaSBhIHsNCiAgICAJd2lkdGg6IDM2cHg7DQogICAgCWhlaWdodDogMzZweDsNCiAgICAJbGluZS1oZWlnaHQ6IDM2cHg7DQoJfQ0KCS5mb290ZXItMiAuc29jaWFscyBsaSBhIGl7DQoJCWZvbnQtc2l6ZTogMjBweDsNCgkJbGluZS1oZWlnaHQ6IDM2cHg7DQoJfQ0KCS5leHBlcnQtc2xpZGVyew0KCQltYXJnaW4tbGVmdDowcHg7IA0KCQl3aWR0aDoxMDAlOyANCgl9DQoJLnRlYW0tc2VjdGlvbi5zdHlsZS0yOjpiZWZvcmV7DQoJCWRpc3BsYXk6bm9uZTsgDQoJfQ0KCS5leHBlcnQtc2xpZGVyIC50ZWFtLWltZ3sNCgkJYm9yZGVyOm5vbmU7DQoJfQ0KCS5leHBlcnQtc2xpZGVyIC5vd2wtbmF2ew0KCQlkaXNwbGF5Om5vbmU7IA0KCX0NCgkuZXhwZXJ0LXNsaWRlciAub3dsLWRvdHN7DQoJCWRpc3BsYXk6YmxvY2s7IA0KCX0NCgkuZXhwZXJ0LXNsaWRlciAudGVhbS1pbWcsIC5leHBlcnQtc2xpZGVyIC50ZWFtLWRldGlsc3sNCgkJLW1zLWZsZXg6IDAgMCAxMDAlOw0KCQlmbGV4OiAwIDAgMTAwJTsNCgkJd2lkdGg6IDEwMCU7DQoJCW1heC13aWR0aDogMTAwJTsNCgl9DQoJLmV4cGVydC1zbGlkZXIgLnRlYW0tZGV0aWxzew0KCQlwYWRkaW5nOjMwcHggMHB4IDBweDsgDQoJfQ0KCQ0KCQ0KCS5wcmUtc2FsZS10aW1lci5zdHlsZS0yew0KCSAgICBwYWRkaW5nOiAzMHB4IDVweDsNCgl9DQoJaW1nLnBsYXktYnRuLWltZ3sNCgkJZGlzcGxheTogbm9uZTsNCgl9DQoJLnNpbmdsZS1wb3N0IC5zaWRlYmFyew0KCQltYXJnaW4tdG9wOiA1MHB4Ow0KCX0NCgkud2F0Y2gtbGluayB7DQoJICAgIG1hcmdpbjogMzBweCBhdXRvIDA7DQoJfQ0KCS5zYWxlLWNoYXJ0LXZpZXd7DQoJCWRpc3BsYXk6IHRhYmxlOw0KCQl3aWR0aDogMTAwJTsNCgkJbWFyZ2luLWJvdHRvbTogMTVweDsNCgl9DQoJLmRvdWdobnV0IC5jaGFydC1sZWdlbmQgbGkgLmRvdWdobnV0LWxlZ2VuZC10ZXh0LCAuZG91Z2hudXQgLmNoYXJ0LWxlZ2VuZCBsaSAubGluZS1sZWdlbmQtdGV4dHsNCgkJZm9udC1zaXplOjE2cHg7IA0KCX0NCgkuYWJvdXQtc2VjdGlvbi5jLWw6OmJlZm9yZSB7DQoJICAgIGhlaWdodDogMjUwcHg7DQogICAgCXJpZ2h0OiAwOw0KICAgIAl3aWR0aDogMTAwJTsNCiAgICAJdG9wOiAwOw0KCX0NCgkuY2FyYm9uLWxheW91dCAuYWJvdXQtbGVmdHsNCgkJcGFkZGluZy1sZWZ0OjE1cHg7DQoJCXBhZGRpbmctdG9wOjMwcHg7ICANCgl9DQoJLnRva2VuLXNhbGUtbGVmdCB7DQoJICAgLW1zLWZsZXg6IDAgMCAxMDAlOw0KICAgIAlmbGV4OiAwIDAgMTAwJTsNCiAgICAJbWF4LXdpZHRoOiAxMDAlOw0KICAgIAlwYWRkaW5nOiAwcHggMzBweDsNCgl9DQoJLnRva2VuLXNhbGUtcmlnaHQgew0KICAgIAktbXMtZmxleDogMCAwIDEwMCU7DQogICAgCWZsZXg6IDAgMCAxMDAlOw0KICAgIAltYXgtd2lkdGg6IDEwMCU7DQogICAgCXBhZGRpbmc6IDBweCAzMHB4Ow0KIAl9DQogCS50b2tlbi1hbGxvY2F0aW9uLWJveCAuc2FsZS1saXN0ew0KIAkJd2lkdGg6NDklOw0KIAkJdGV4dC1hbGlnbjpjZW50ZXI7IA0KIAl9DQogCS50b2tlbi1hbGxvY2F0aW9uLWJveCAuc2FsZS1saXN0Omxhc3QtY2hpbGR7DQogCQl3aWR0aDoxMDAlOyANCiAJfQ0KIAkucm9hZG1hcC1pdGVtOm50aC1jaGlsZCgybisxKSAucm9hZG1hcC1kYXl7DQogCQlsZWZ0OiAwOyANCiAJCXJpZ2h0OiBhdXRvOw0KCQl0ZXh0LWFsaWduOiBsZWZ0Ow0KCQltYXJnaW4tbGVmdDogNDBweDsNCgkJbWFyZ2luLXJpZ2h0OiAwOw0KCQl0b3A6IDA7DQogCX0NCiAJLm1lcmN1cnktcm9hZG1hcCAucm9hZG1hcC1pdGVtIC5yb2FkbWFwLWRheXsNCiAJCXRvcDogMjBweDsNCiAJCW1hcmdpbi1yaWdodDogMHB4Ow0KIAkJbWFyZ2luLWxlZnQ6IDBweDsNCiAJCWxlZnQ6IDUwJTsNCiAJfQ0KIAkubWVyY3VyeS1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0gLnJvYWRtYXAtdGV4dHsNCiAJCXRleHQtYWxpZ246IGNlbnRlcjsNCiAJfQ0KIAkuYy1sIC5yb2FkbWFwLXRleHR7DQogCQl0ZXh0LWFsaWduOmxlZnQ7DQogCX0NCiAJLmMtbCAucm9hZG1hcC1pdGVtOm50aC1jaGlsZCgybisxKSAucm9hZG1hcC10ZXh0ew0KIAkJd2lkdGg6IDEwMCU7DQogCX0NCiAJLnJvYWRtYXAtaXRlbSAucm9hZG1hcC1kYXl7DQogCQl0b3A6MDsNCiAJCWxlZnQ6MDsgIA0KIAkJbWFyZ2luLWxlZnQ6NDBweDsgDQogCX0NCiAJLmMtbCAucm9hZG1hcC1pdGVtIC5yb2FkbWFwLXRleHQ6OmJlZm9yZXsNCiAJCXRvcDogMDsNCgkJcmlnaHQ6IGF1dG87DQoJCWxlZnQ6LTJweDsgDQogCX0NCiAJLmMtbCAucm9hZG1hcC1pdGVtew0KIAkJbWFyZ2luLWJvdHRvbTogNTBweDsNCiAJfQ0KIAkucm9hZG1hcC1pdGVtOm50aC1jaGlsZCgybisxKSAucm9hZG1hcC1kYXk6OmFmdGVyew0KIAkJd2lkdGg6IDA7DQoJCWhlaWdodDogMDsNCgkJYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCQlib3JkZXItcmlnaHQ6IDEzcHggc29saWQgI2ZiYmQxODsNCgkJYm9yZGVyLWxlZnQ6bm9uZTsNCgkJYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCQljb250ZW50OiAiIjsNCgkJZGlzcGxheTogYmxvY2s7DQoJCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgkJdG9wOiA1MCU7DQoJCWxlZnQ6IC0xM3B4Ow0KCQltYXJnaW4tdG9wOiAtOHB4Ow0KIAl9DQogCS5jLWwgLnJvYWRtYXAtaXRlbTpudGgtY2hpbGQoMm4rMSkgLnJvYWRtYXAtdGV4dDo6YmVmb3JlIHsNCgkgICAgbGVmdDotMnB4Ow0KICAgIAlyaWdodDogYXV0bzsNCgl9DQoJLmZvb3Rlci0zIC5mb290ZXItYm94LTIsIC5mb290ZXItMyAuZm9vdGVyLWJveC0zIHsNCgkgICAgcGFkZGluZy10b3A6IDMwcHg7DQoJfQ0KCS5jYXJib24tbGF5b3V0IC5oZXJvLW1haW4gaDEsIGgyLnNlY3Rpb24taGVhZGluZ3sNCgkJZm9udC1zaXplOiAyLjFyZW07DQoJfQ0KCS5jLWwgLmNvbHsNCgkJLW1zLWZsZXg6IDAgMCA1MCU7DQoJCWZsZXg6IDAgMCA1MCU7DQoJCW1heC13aWR0aDogNTAlOw0KCQltYXJnaW4tYm90dG9tOjMwcHg7IA0KCX0NCgkuY2FyYm9uLWxheW91dCAgLmhlcm8tYnRucyBhICsgYS5idG57DQoJCW1hcmdpbi10b3A6MDsgDQoJfQ0KCS5jYXJib24tbGF5b3V0IC5oZXJvLW1haW4gLnJvdyA+IGRpdiB7DQoJICAgIG9yZGVyOiAyOw0KCX0NCgkuY2FyYm9uLWxheW91dCAuaGVyby1tYWluIC5yb3cgPiBkaXYgKyBkaXYgew0KCSAgICBvcmRlcjogMTsNCgl9DQoJLmFuaW1hdGlvbi1jaXJjbGUtbWFpbnsNCgkJdG9wOiAwOw0KCQl0cmFuc2Zvcm06IG5vbmU7DQoJCW1hcmdpbjogYXV0bzsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCW1hcmdpbi10b3A6IC03MHB4Ow0KCX0NCgkuY3VycmVudC1wcmljZXMgLml0ZW17DQoJCW1heC13aWR0aDogNDIwcHg7DQoJCW1hcmdpbjogMCBhdXRvIDE1cHg7DQoJCWZsZXg6MCAwIDEwMCU7DQoJfQ0KCS5jb252ZXJ0b3Itd2lkZ2V0IC5jdXJyZW50LWljb3sNCgkJbWFyZ2luOiAwIDAgLTQ1cHggMDsNCgkJd2lkdGg6IDEwMCU7DQoJCXRleHQtYWxpZ246IGNlbnRlcjsgDQoJfQ0KCS5jdXJyZW5jeS1jYWx1bGF0b3Igew0KCSAgICBwYWRkaW5nOjY1cHggMTVweCAyMHB4IDIwcHg7DQoJICAgIG1hcmdpbi1sZWZ0OiAwOw0KCSAgICBtYXgtd2lkdGg6IDM5MHB4Ow0KCQltYXJnaW46IGF1dG87DQoJfQ0KCS5tZXJjdXJ5LWxheW91dCAuY3VycmVuY3ktY2FsdWxhdG9yew0KCQltYXgtd2lkdGg6IDEwMCU7DQoJfQ0KCS5tZXJjdXJ5LWxheW91dCAuY3J5cHRvbmF0b3J3aWRnZXQgdGQ6Zmlyc3QtY2hpbGQgew0KCSAgICB3aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpICFpbXBvcnRhbnQ7DQoJfQ0KCS5tZXJjdXJ5LWxheW91dCAuY3J5cHRvbmF0b3J3aWRnZXQgdGQ6bGFzdC1jaGlsZHsNCgkJd2lkdGg6IDIwMHB4ICFpbXBvcnRhbnQ7DQoJfQ0KCS50b2tlbi1zYWxlIC5idXR0b24td3JhcHBlciB7DQoJICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAJbWFyZ2luLWJvdHRvbTogMzBweDsNCgl9DQoJLnRva2VuLXNhbGUgLmJ1dHRvbi13cmFwcGVyIC5idG57DQoJCW1pbi13aWR0aDogaW5oZXJpdDsNCgl9DQoJLmhvcml6b250YWwtcm9hZG1hcCAucm9hZG1hcC1pdGVtew0KCQlsaW5lLWhlaWdodDogMjhweDsNCgkJZm9udC1zaXplOiAxNXB4Ow0KCX0NCgkuaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0gLnJvYWRtYXAtdGV4dHsNCgkJcGFkZGluZzogMzBweCAxNXB4IDBweDsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCS5ob3Jpem9udGFsLXJvYWRtYXAgLnJvYWRtYXAtaXRlbS5ldmVuIC5yb2FkbWFwLXRleHR7DQoJCXBhZGRpbmc6IDBweCAxNXB4IDMwcHg7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkuaG9yaXpvbnRhbC1yb2FkbWFwIC5yb2FkbWFwLWl0ZW0gLnJvYWRtYXAtZGF5ew0KCQl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJCW1hcmdpbi1sZWZ0OiAwOw0KCX0NCgkudGVhbS1ib3h7DQoJCW1hcmdpbjogMTVweCBhdXRvOw0KCQltYXgtd2lkdGg6IDMyMHB4Ow0KCX0NCgkuZGlhbW9uZC1sYXlvdXQudGVhbS1zZWN0aW9uOjpiZWZvcmUgew0KCSAgICBoZWlnaHQ6IDE2M3B4Ow0KCX0NCgkucGFydG5lci1sb2dvLWdyaWQgLml0ZW17DQoJCWZsZXg6IDAgMCA1MCU7DQoJCW1heC13aWR0aDogNTAlOw0KCX0NCgkucGFydG5lci1sb2dvLWdyaWQgLml0ZW06bnRoLWNoaWxkKDJuICsgMSl7DQoJCWJvcmRlci1sZWZ0OiAwcHg7DQoJfQ0KCS5wYXJ0bmVyLWxvZ28tZ3JpZDpsYXN0LWNoaWxkIC5pdGVtew0KCQlib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7DQoJfQ0KCS5wYXJ0bmVyLWxvZ28tZ3JpZDpsYXN0LWNoaWxkIC5pdGVtOm50aC1jaGlsZCgzKSwgLnBhcnRuZXItbG9nby1ncmlkOmxhc3QtY2hpbGQgLml0ZW06bGFzdC1jaGlsZHsNCgkJYm9yZGVyLWJvdHRvbTowcHg7DQoJfQ0KCS5kaWFtb25kLWZvb3RlciB1bC5ob3Jpem9udGFsLW1lbnV7DQoJCXRleHQtYWxpZ246IGNlbnRlcjsNCgkJbWFyZ2luLWJvdHRvbToxNXB4OyANCgl9DQoJLmNvcHktdGV4dCB7DQoJICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCgl9DQoJLmZvb3Rlci13aWRnZXQtYXJlYSAud2lkZ2V0LWFyZWF7DQoJCW1hcmdpbjoxNXB4IDBweDsgDQoJfQ0KCS5kaWFtb25kLWZvb3RlciAud2lkZ2V0LWFyZWF7DQoJCXRleHQtYWxpZ246Y2VudGVyOyANCgl9DQoJLmNvbnRhY3QtaW5mbyB1bCBsaXsNCgkJZGlzcGxheTogdGFibGU7DQoJCW1hcmdpbjogMTBweCBhdXRvIDEwcHg7DQoJfQ0KCS5kaWFtb25kLWxheW91dCAudG9rZW4tYWxsb2NhdGlvbi1ib3ggLnJvdzpsYXN0LWNoaWxkIC5zYWxlLWxpc3R7DQoJCXdpZHRoOiAxMDAlOw0KCX0NCgkubW9iaWxlLWhpZGRlbnsNCgkJZGlzcGxheTpub25lOyANCgl9DQoJLm1vYmlsZS12aXNpYmxlew0KCQlkaXNwbGF5OiBibG9jazsNCgl9DQoJLmljb24tYm94LmNvbnRhY3QtZGV0YWlsc3sNCgkJcGFkZGluZzoxNXB4IDMwcHg7IA0KCX0NCgkuZm9ybS1ibG9jay5zdHlsZS0yew0KCQlwYWRkaW5nOiA1MHB4IDMwcHg7DQoJfQ0KCS52aWRlby1zZWN0aW9uew0KCQlwYWRkaW5nOjYwcHggMHB4OyANCgl9DQoJLm1vYmlsZS1jZW50ZXJ7DQoJCXRleHQtYWxpZ246Y2VudGVyOyANCgl9DQoJLnBsYXRpbnVtLWZvb3RlciAuZm9vdGVyLXdpZGdldC1hcmVhIC53aWRnZXQtYXJlYXsNCgkJbWFyZ2luLWJvdHRvbTogNjBweDsNCgl9DQoJLmV4Y2hhbmdlLWxpc3R7DQoJCWZsZXgtd3JhcDp3cmFwOyANCgl9DQoJLmV4Y2hhbmdlLWxpc3QgLml0ZW17DQoJCWZsZXg6IDAgMCA1MCU7DQoJCW1heC13aWR0aDogNTAlOw0KCQlwYWRkaW5nOiAxMHB4IDAgMTBweCAwOw0KCQltYXJnaW4tdG9wOjE1cHg7DQoJCW1hcmdpbi1ib3R0b206MTVweDsNCgl9DQoJLmV4Y2hhbmdlLWxpc3QgLml0ZW06bnRoLWNoaWxkKDJuKTo6YWZ0ZXJ7DQoJCWRpc3BsYXk6bm9uZTsgDQoJfQ0KCWhlYWRlciAuY29sLXNtLTZ7DQoJCS1tcy1mbGV4OiAwIDAgNTAlOw0KCQlmbGV4OiAwIDAgNTAlOw0KCQltYXgtd2lkdGg6IDUwJTsNCgkJcGFkZGluZy1yaWdodDogMTVweDsNCgkJcGFkZGluZy1sZWZ0OiAxNXB4Ow0KCX0NCgkucGxhdGludW0tbW92ZS00ew0KCQlyaWdodDogLTIwcHg7DQoJfQ0KCS5wbGF0aW51bS1tb3ZlLTV7DQoJCWxlZnQ6IC0yMHB4Ow0KCX0NCgkudmlkZW8tc2VjdGlvbiAucGxheS1idXR0b257DQoJCW1hcmdpbjowcHggYXV0bzsNCgl9DQoJLnZpZGVvLXNlY3Rpb24gaW1new0KCQlwb3NpdGlvbjphYnNvbHV0ZTsgDQoJfQ0KCS50b2tlbi1wcmljaW5nLXNlY3Rpb257DQoJCXBhZGRpbmctdG9wOjYwcHg7IA0KCX0NCgkudG9rZW4tcHJpY2luZy1zZWN0aW9uIC5zZWN0aW9uLWhlYWRpbmcgew0KCSAgICBtYXJnaW46IDAgMCA2MHB4Ow0KCX0NCgkudG9rZW4tcHJpY2luZy1zZWN0aW9uOjpiZWZvcmUsIC50b2tlbi1wcmljaW5nLXNlY3Rpb246OmFmdGVyICB7DQoJCXRvcDogMDsNCgkJdHJhbnNmb3JtOiBub25lOw0KCX0NCgkuaXBob25lLWltZ3sNCgkJcGFkZGluZy1ib3R0b206MzBweDsgDQoJfQ0KCS5tYWluLWNpcmNsZS1vbmUsIC5hbGxvY2F0aW9uLWxpc3QtcG9pbnR7DQoJCXdpZHRoOiAzMjBweDsNCgkJaGVpZ2h0OiAzMjBweDsNCgl9DQoJLm1haW4tY2lyY2xlLW9uZTo6YmVmb3JlIHsNCiAgICAJd2lkdGg6IDIwMHB4Ow0KICAgIAloZWlnaHQ6IDIwMHB4Ow0KICAgIH0NCgkubWFpbi1jaXJjbGUtb25lOjphZnRlciB7DQoJICAgIHdpZHRoOiAyNjBweDsNCgkgICAgaGVpZ2h0OiAyNjBweDsNCgl9DQoJLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoMykgLnBvaW50IHsNCgkgICAgaGVpZ2h0OiA2MHB4Ow0KCSAgICB3aWR0aDogNjBweDsNCgkgICAgdG9wOiAtMzBweDsNCgkgICAgbGVmdDogLTMwcHg7DQoJfQ0KCS5hbGxvY2F0aW9uLWxpc3QtcG9pbnQgbGk6bnRoLWNoaWxkKDQpIC5wb2ludCB7DQoJICAgIGhlaWdodDogNTBweDsNCgkgICAgd2lkdGg6IDUwcHg7DQoJICAgIHRvcDogLTI1cHg7DQoJICAgIGxlZnQ6IC0yNXB4Ow0KCX0NCgkuYWxsb2NhdGlvbi1saXN0LXBvaW50IGxpOm50aC1jaGlsZCg1KSAucG9pbnQgew0KCSAgICBoZWlnaHQ6IDM2cHg7DQoJICAgIHdpZHRoOiAzNnB4Ow0KCSAgICB0b3A6IC0xOHB4Ow0KCSAgICBsZWZ0OiAtMThweDsNCgl9DQoJLmFsbG9jYXRpb24tbGlzdC1wb2ludCBsaTpudGgtY2hpbGQoMikgLnBvaW50IHsNCgkgICAgaGVpZ2h0OjY4cHg7DQoJICAgIHdpZHRoOiA2OHB4Ow0KCSAgICB0b3A6LTM0cHg7DQoJICAgIGxlZnQ6LTM0cHg7DQoJfQ0KCS5tZXJjdXJ5LWFuaW1hdGlvbnsNCgkJcGFkZGluZy1ib3R0b206MzBweDsgDQoJfQ0KCSNlYXJ0aC1ib3gtY292ZXI6OmJlZm9yZXsNCgkJd2lkdGg6IDMyMHB4Ow0KCQloZWlnaHQ6IDMyMHB4Ow0KCX0NCgkjZWFydGgtYm94LCAjZWFydGgtYm94IHNwYW57DQoJCXdpZHRoOiAyNDBweDsNCgkJaGVpZ2h0OiAyNDBweDsNCgl9DQoJI2VhcnRoLWJveC1jb3ZlcnsNCgkJbWFyZ2luOiBhdXRvOw0KCQlkaXNwbGF5OiB0YWJsZTsNCgkJd2lkdGg6IDMyMHB4Ow0KCQloZWlnaHQ6IDMyMHB4Ow0KCX0NCgkjZWFydGgtYm94LWNvdmVyIC5lYXJ0aC1pY29ucyAuaWNvbi0xew0KCQl3aWR0aDogMjBweDsNCgkJaGVpZ2h0OiAzNnB4Ow0KCQl0b3A6IDEwN3B4Ow0KCQlsZWZ0OiA1OHB4Ow0KCX0NCgkjZWFydGgtYm94LWNvdmVyIC5lYXJ0aC1pY29ucyAuaWNvbi0yew0KCQl3aWR0aDogMTJweDsNCgkJaGVpZ2h0OiAzMHB4Ow0KCQl0b3A6IDE2OHB4Ow0KCQlyaWdodDogNDZweDsNCgl9DQoJI2VhcnRoLWJveC1jb3ZlciAuZWFydGgtaWNvbnMgLmljb24tM3sNCgkJdG9wOiA5MnB4Ow0KCQlyaWdodDogMTAxcHg7DQoJCXdpZHRoOiAxOXB4Ow0KCQloZWlnaHQ6IDIwcHg7DQoJfQ0KCSNlYXJ0aC1ib3gtY292ZXIgLmVhcnRoLWljb25zIC5pY29uLTR7DQoJCXRvcDogNjNweDsNCgkJbGVmdDogMTA1cHg7DQoJCXdpZHRoOiAxNHB4Ow0KCQloZWlnaHQ6IDE3cHg7DQoJfQ0KCSNlYXJ0aC1ib3gtY292ZXIgLmVhcnRoLWljb25zIC5pY29uLTV7DQoJCXRvcDogMjVweDsNCgkJcmlnaHQ6IDEyNHB4Ow0KCQl3aWR0aDogMTdweDsNCgkJaGVpZ2h0OiAyMnB4Ow0KCX0NCgkjZWFydGgtYm94LWNvdmVyIC5lYXJ0aC1pY29ucyAuaWNvbi02ew0KCQl3aWR0aDogMTBweDsNCgkJaGVpZ2h0OiAxNHB4Ow0KCQl0b3A6IDc3cHg7DQoJCXJpZ2h0OiA3OHB4Ow0KCX0NCgkjZWFydGgtYm94LWNvdmVyIC5lYXJ0aC1pY29ucyAuaWNvbi03ew0KCQl3aWR0aDogMzRweDsNCgkJaGVpZ2h0OiAzNHB4Ow0KCQl0b3A6IDE5NnB4Ow0KCQlsZWZ0OiAxMTdweDsNCgl9DQoJLnZpc2libGUuYWJvdXQtbWVyY3VyeS1hbmltYXRpb24gLm1lcmN1cnktYmFzZXsNCgkJbWluLXdpZHRoOjQwMHB4Ow0KCX0NCgkuYWJvdXQtbWVyY3VyeS1hbmltYXRpb257DQoJCW1pbi1oZWlnaHQ6MzIwcHg7DQoJfQ0KCS50b2tlbi1wcmljaW5nLXNlY3Rpb24gLnNlY3Rpb24taGVhZGluZyBzcGFuew0KCQlwYWRkaW5nLWxlZnQ6IDA7DQoJCW1hcmdpbi1ib3R0b206IDE1cHg7DQoJfQ0KCSNIZWFydExpbmV7DQoJCWxlZnQ6IC0xNjBweDsNCgkJdG9wOiAyMHB4Ow0KCX0NCgkuZm9vdGVyLTMgLmNvcHlyaWdodHMuc3R5bGUtMXsNCgkJbWFyZ2luLXRvcDogMDsNCgl9DQoJQC13ZWJraXQta2V5ZnJhbWVzIGNvaW5hbmltYXRpb24gew0KCQkwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwMCUpIHJvdGF0ZSgwZGVnKTsNCgkJfQ0KCQk1MCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDM2MGRlZyk7DQoJCX0NCgkJMTAwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xODAlKSByb3RhdGUoNzIwZGVnKTsNCgkJfQ0KCX0NCglALXdlYmtpdC1rZXlmcmFtZXMgY29pbmFuaW1hdGlvbnR3byB7DQoJCTAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwJSkgcm90YXRlKDBkZWcpOw0KCQl9DQoJCTUwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGUoLTM2MGRlZyk7DQoJCX0NCgkJMTAwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xODAlKSByb3RhdGUoLTcyMGRlZyk7DQoJCX0NCgl9DQogfQ0KIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsNCiAJLmJsb2ctbGlzdC1pbWcgew0KIAkJbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KIAkJbWluLXdpZHRoOiAxMjBweDsNCiAJfQ0KIAkuYmxvZy1saXN0IGg0IHsNCiAJCWZvbnQtc2l6ZTogMTRweDsNCiAJCW1hcmdpbi10b3A6IDVweDsNCiAJCWxpbmUtaGVpZ2h0OiBub3JtYWw7DQogCX0NCiAJLnRlYW0tbWVtYmVyIC50ZWFtIHsNCiAJCXdpZHRoOiAxMDAlOw0KIAl9DQogCS5oZXJvLWxlZnQgLmhlcm8tYnRucyBhICsgYXsNCiAJCW1hcmdpbjoxNXB4IDBweCAwcHg7DQogCX0NCiAJaW1nLnBsYXktYnRuLWltZ3sNCiAJCW1hcmdpbjowIDAgMTVweDsNCiAJCWRpc3BsYXk6dGFibGU7DQogCQlmbG9hdDogbm9uZTsgIA0KIAl9DQogCWltZy5wbGF5LWJ0bi1pbWd7DQoJCWRpc3BsYXk6IG5vbmU7DQoJfQ0KIAkuYmVuZWZpdHMtYm94ZXMgLml0ZW0gLmJmLWltYWdlLCAuYmVuZWZpdHMtYm94ZXMgLml0ZW0gLmJmLWRldGFpbHN7DQogCQlkaXNwbGF5OiBibG9jazsNCiAJCXRleHQtYWxpZ246IGNlbnRlcjsNCiAJfQ0KIAkuYmVuZWZpdHMtYm94ZXMgLml0ZW0gLmJmLWltYWdlew0KIAkJbWFyZ2luLWJvdHRvbToxNXB4OyANCiAJCXBhZGRpbmc6MHB4Ow0KIAkJdGV4dC1hbGlnbjogY2VudGVyOyANCiAJfQ0KIAkuZm9vdGVyLTIgLnNlYy10aXRsZSBoNHsNCgkJZm9udC1zaXplOiAyNHB4Ow0KCX0NCgkubmV3c2xldHRlciAuaW5wdXQgaW5wdXR7DQoJCXBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7DQoJfQ0KCS5uZXdzbGV0dGVyIC5pbnB1dCBpew0KCQlkaXNwbGF5Om5vbmU7DQoJfQ0KCS50ZWFtLXNlY3Rpb24gLnJvdyAuY29sew0KCQktbXMtZmxleDogMCAwIDEwMCU7DQoJCWZsZXg6IDAgMCAxMDAlOw0KCQltYXgtd2lkdGg6IDEwMCU7DQoJfQ0KCS50ZWFtIC50ZWFtLWlubmVyIGltZ3sNCgkJaGVpZ2h0OiBhdXRvOw0KCQltYXgtaGVpZ2h0OiBpbmhlcml0Ow0KCX0NCgkubmV3c2xldHRlciAuaW5wdXR7DQoJCXdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7DQoJfQ0KCS50ZWFtLXNlY3Rpb24gLnJvdyAuY29sew0KCQltYXgtd2lkdGg6IDMwMHB4Ow0KCQl3aWR0aDogMTAwJTsNCgkJbWFyZ2luOiAxNXB4IGF1dG87DQoJCWRpc3BsYXk6IHRhYmxlOw0KCX0NCgkuY2FyYm9uLWxheW91dCAuaGVyby1idG5zIGEsIC5jYXJib24tbGF5b3V0IC5oZXJvLWJ0bnMgYSArIGEuYnRuew0KCQltYXJnaW4tdG9wOjEwcHg7DQoJfQ0KCS50YWItc2VjdGlvbiAubmF2LXRhYnN7DQoJCWJvcmRlci1ib3R0b206MHB4OyANCgl9DQoJLnRhYi1zZWN0aW9uIC5uYXYtdGFicyAubmF2LWl0ZW17DQoJCXdpZHRoOiAxMDAlOw0KCQltYXJnaW46MDsNCgkJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTY7DQoJfQ0KCS5jcnlwdG9uYXRvcndpZGdldCB0ZDpmaXJzdC1jaGlsZCwgLmNyeXB0b25hdG9yd2lkZ2V0IHRkOmxhc3QtY2hpbGR7DQoJCXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQoJfQ0KCS5kaWFtb25kLWxheW91dCAudG9rZW4tYWxsb2NhdGlvbi1ib3ggaDN7DQoJCWZvbnQtc2l6ZTogMjRweDsNCgl9DQoJLnRva2VuLXNhbGUgLmJ1dHRvbi13cmFwcGVyew0KCQlkaXNwbGF5OiB0YWJsZTsNCgkJbWFyZ2luOjBweCBhdXRvIDMwcHg7IA0KCX0NCgkuYnV0dG9uLXdyYXBwZXIgYSArIGF7DQoJCWRpc3BsYXk6dGFibGU7DQoJCW1hcmdpbi1sZWZ0OjA7DQoJCW1hcmdpbi10b3A6MTBweDsgIA0KCX0NCgkuaGVyby1idG5zIGEgKyBhew0KCQltYXJnaW4tdG9wOjEwcHg7IA0KCX0NCgkuZm9ybS1ibG9jay5zdHlsZS0yew0KCQlwYWRkaW5nOjMwcHggMTVweDsNCgl9DQoJLnBsYXRpbnVtLWZvb3RlciAubmV3c2xldHRlciBpbnB1dFt0eXBlPSJlbWFpbCJdew0KCQl3aWR0aDogMTAwJTsNCgkJbWFyZ2luLWJvdHRvbToxNXB4OyANCgl9DQoJLmZhcS1zZWN0aW9uIC50YWItc2VjdGlvbiAubmF2LXRhYnMgLm5hdi1pdGVtew0KCQlmbGV4LWJhc2lzOiBhdXRvOw0KCQlmbGV4LWdyb3c6IDA7DQoJfQ0KCS50b2tlbi1hbGxvY2F0aW9uLWJveC5zdHlsZS00ew0KCQlwYWRkaW5nOjMwcHggMTVweDsNCgl9DQoJLmN1cnJlbmN5LWZvcm0gLnBvc3RwZW5kLmZvcm0tY29udHJvbHsNCgkJbWF4LXdpZHRoOiAxMjBweDsNCgl9DQoJLnBsYXRpbnVtLWxheW91dC5oZXJvLW1haW4gLmhlcm8tYnRucyAuYnRuICsgLmJ0bnsNCgkJbWFyZ2luLWxlZnQ6MDsgDQoJfQ0KCS52aWRlby1zZWN0aW9uIC5wbGF5LWJ1dHRvbiBhew0KCQliYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDEwMHB4Ow0KCQloZWlnaHQ6IDEyMHB4Ow0KCQl3aWR0aDogMTIwcHg7DQoJfQ0KCS5tZXJjdXJ5LWxheW91dCAuY3J5cHRvbmF0b3J3aWRnZXQgdGQ6Zmlyc3QtY2hpbGQgew0KCSAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7DQoJfQ0KCS5tZXJjdXJ5LWxheW91dCAuY3J5cHRvbmF0b3J3aWRnZXQgdGQ6bGFzdC1jaGlsZHsNCgkJd2lkdGg6MTAwJSAhaW1wb3J0YW50Ow0KCX0NCiB9DQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0Ojc2NnB4KSB7DQoJLmhlcm8tbWFpbnsNCgkJbWluLWhlaWdodDoxMDB2aDsNCgkJaGVpZ2h0OmF1dG87IA0KCX0NCgkucHJlLXNhbGUtdGltZXJ7DQoJCW1hcmdpbi1ib3R0b206IC02MHB4Ow0KCQlwYWRkaW5nOiAzMHB4Ow0KCQkNCgl9DQoJLnByZS1zYWxlLXRpbWVyID4gZGl2ew0KCQl2ZXJ0aWNhbC1hbGlnbjp0b3A7IA0KCX0NCgkucHJlLXNhbGUtdGltZXIuc3R5bGUtMnsNCgkJbWFyZ2luLWJvdHRvbTowcHg7DQoJfQ0KCQ0KIH0NCiA="}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":54,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23669.a61971d84257c346bd5f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.865Z","timestamp":1785124876865,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23669.a61971d84257c346bd5f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-aa8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 76aa60d8f28001eaeb12d1f89bb51b5c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2728,"size_decoded":1649,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2728), with no line terminators","md5":"da3d6d05d2dc6bb0ff4b03eeae50a509","sha1":"971568eb9afbac7c18c9ca16e66bdf625523fedb","sha256":"7d4afa2f45d8b837f2049b2c41340a236d2c063efdfb60095bdd1e9bc5db27f2","sha512":"ca319be4af9c386f0b41df40efa6885fa6ebc3e8b804d6d26179b1f08f0e676aaf47163b09510a6848c93a02a544cc3319d21e4d3bc7761ee6244fd052c90d6a","ssdeep":"","tlshash":"4751fcc8a3587817a61b713dd78892ccd125a863fc980addfc62f190c3da7e0d7a9854","first_seen":"2026-06-30T21:57:43.387896Z","last_seen":"2026-07-27T06:24:31.73023Z","times_seen":174,"resource_available":false,"data":"LndyYXBwZXItcTU0VHd5Q097YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJsb2NrOjZweCAycHg7cGFkZGluZy1pbmxpbmU6MTJweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcH0ud3JhcHBlci1xNTRUd3lDTy5ob3ZlcmVkLXE1NFR3eUNPLC53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLXE1NFR3eUNPOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LndyYXBwZXItcTU0VHd5Q08uaG92ZXJlZC1xNTRUd3lDT3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItcTU0VHd5Q086aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0ud3JhcHBlci1xNTRUd3lDTzpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyMHB4fS53cmFwcGVyLXE1NFR3eUNPIC5zd2l0Y2hXcmFwLXE1NFR3eUNPe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLmxhYmVsUm93LXE1NFR3eUNPe3BhZGRpbmc6MH0uaWNvbi1xNTRUd3lDTywud3JhcHBlci1xNTRUd3lDTy53aXRoSWNvbi1xNTRUd3lDTyAubGFiZWwtcTU0VHd5Q08sLndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLnN3aXRjaFdyYXAtcTU0VHd5Q097YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweH0uaWNvbi1xNTRUd3lDT3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDt3aWR0aDoyOHB4fS5pY29uLXE1NFR3eUNPIHN2Z3tkaXNwbGF5OmJsb2NrfS5sYWJlbFJvdy1xNTRUd3lDT3tmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MnB4IDAgNnB4fS5sYWJlbC1xNTRUd3lDT3tmb250LXNpemU6MTRweDttYXJnaW4taW5saW5lLWVuZDoxMnB4O292ZXJmbG93OmhpZGRlbn0ubGFiZWxfZGlzYWJsZWQtcTU0VHd5Q097b3BhY2l0eTouNX0ubGFiZWxIaW50LXE1NFR3eUNPe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y29udGFpbjpjb250ZW50O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tdG9wOjA7bWF4LWhlaWdodDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4yNXMgZWFzZS1pbixtYXJnaW4tdG9wIC4yNXMgZWFzZS1pbixvcGFjaXR5IC4zNXMgbGluZWFyO3doaXRlLXNwYWNlOm5vcm1hbH0ubGFiZWxPbi1xNTRUd3lDTysubGFiZWxIaW50LXE1NFR3eUNPe21hcmdpbi10b3A6NHB4O21heC1oZWlnaHQ6MzRweDtvcGFjaXR5OjE7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4ycyBlYXNlLW91dCxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCxvcGFjaXR5IC4zNXMgbGluZWFyfS5hY2Nlc3NpYmxlLXE1NFR3eUNPe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50221.f49da2a7279774aa5fe8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.192Z","timestamp":1785124877192,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50221.f49da2a7279774aa5fe8.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-c5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 780cb6894be9dfbef7033df4f25da432\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":197,"size_decoded":911,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"bc1901314fcc62f8ef539d88faeaca36","sha1":"ba55a4ec0d7824f8528bc278b9be78720717c84a","sha256":"026507e65d33327e7d6d98823d6fc3811034aa4a37822b71b643c63ed67730f4","sha512":"a067df264905a867bbb63d375d50b57eef2e9fbc7ee4f71675080a6027ba1e03725e3ad8d526bd8fd83638e2f7266526cbe7703db7bb22f0cf6c4ef13c7fa32d","ssdeep":"","tlshash":"3ed022b1e3b23017b921883ffe882acd12792036e210022c38dc266c4312b00d3204b1","first_seen":"2026-07-19T14:58:49.002434Z","last_seen":"2026-07-27T06:14:34.292275Z","times_seen":40,"resource_available":false,"data":"LndyYXBwZXItYm9IeW5lMTN7Ym9yZGVyOjFweCBzb2xpZH0ud3JhcHBlci1FaVNJQnY0ZHtib3JkZXItcmFkaXVzOjUwJX0ud3JhcHBlci1FaVNJQnY0ZCwud3JhcHBlci1hRGNTNGxlRywud3JhcHBlci1oVHpmYXQ5NXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ud3JhcHBlci1hRGNTNGxlR3toZWlnaHQ6MjRweDt3aWR0aDoxMDBweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/jquery.countdown.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.221Z","timestamp":1785124875221,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/jquery.countdown.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:43:28 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b70-2638\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":9784,"size_decoded":3459,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"6d3cd439de5bb33549d3e88e4287b36d","sha1":"ca201670b9ac5c22beee3e957f019c3a65ecb432","sha256":"e0353595e99187155727166867c9c2f56070305183b63a23a3400db4420f7049","sha512":"4d452996a3651402edacc57911e429e31886ad820f681335d82086c4bd9c20f0a4478049e7eeb43f81f67ff23161f8bcf72d8f923aa96dc1527ee5b9adcafa63","ssdeep":"192:hQHchgyq0vFaKzYPvo4PWPrdgxuG0egEATe+bi:hfgRgFvcv7PWPrdgxuagEATe+bi","tlshash":"1e12214db7791181947a73398fad0109f636936ba443426a7cfc52c82f3286841ebff9","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:29.967999Z","times_seen":51,"resource_available":true,"data":"LyohDQogKiBUaGUgRmluYWwgQ291bnRkb3duIGZvciBqUXVlcnkgdjIuMS4wIChodHRwOi8vaGlsaW9zLmdpdGh1Yi5pby9qUXVlcnkuY291bnRkb3duLykNCiAqIENvcHlyaWdodCAoYykgMjAxNSBFZHNvbiBIaWxpb3MNCiAqIA0KICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZg0KICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4NCiAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8NCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mDQogKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sDQogKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCiAqIA0KICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsDQogKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KICogDQogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUg0KICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MNCiAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUg0KICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSDQogKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTg0KICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4NCiAqLw0KKGZ1bmN0aW9uKGZhY3RvcnkpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCkgew0KICAgICAgICBkZWZpbmUoWyAianF1ZXJ5IiBdLCBmYWN0b3J5KTsNCiAgICB9IGVsc2Ugew0KICAgICAgICBmYWN0b3J5KGpRdWVyeSk7DQogICAgfQ0KfSkoZnVuY3Rpb24oJCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgaW5zdGFuY2VzID0gW10sIG1hdGNoZXJzID0gW10sIGRlZmF1bHRPcHRpb25zID0gew0KICAgICAgICBwcmVjaXNpb246IDEwMCwNCiAgICAgICAgZWxhcHNlOiBmYWxzZQ0KICAgIH07DQogICAgbWF0Y2hlcnMucHVzaCgvXlswLTldKiQvLnNvdXJjZSk7DQogICAgbWF0Y2hlcnMucHVzaCgvKFswLTldezEsMn1cLyl7Mn1bMC05XXs0fSggWzAtOV17MSwyfSg6WzAtOV17Mn0pezJ9KT8vLnNvdXJjZSk7DQogICAgbWF0Y2hlcnMucHVzaCgvWzAtOV17NH0oW1wvXC1dWzAtOV17MSwyfSl7Mn0oIFswLTldezEsMn0oOlswLTldezJ9KXsyfSk/Ly5zb3VyY2UpOw0KICAgIG1hdGNoZXJzID0gbmV3IFJlZ0V4cChtYXRjaGVycy5qb2luKCJ8IikpOw0KICAgIGZ1bmN0aW9uIHBhcnNlRGF0ZVN0cmluZyhkYXRlU3RyaW5nKSB7DQogICAgICAgIGlmIChkYXRlU3RyaW5nIGluc3RhbmNlb2YgRGF0ZSkgew0KICAgICAgICAgICAgcmV0dXJuIGRhdGVTdHJpbmc7DQogICAgICAgIH0NCiAgICAgICAgaWYgKFN0cmluZyhkYXRlU3RyaW5nKS5tYXRjaChtYXRjaGVycykpIHsNCiAgICAgICAgICAgIGlmIChTdHJpbmcoZGF0ZVN0cmluZykubWF0Y2goL15bMC05XSokLykpIHsNCiAgICAgICAgICAgICAgICBkYXRlU3RyaW5nID0gTnVtYmVyKGRhdGVTdHJpbmcpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKFN0cmluZyhkYXRlU3RyaW5nKS5tYXRjaCgvXC0vKSkgew0KICAgICAgICAgICAgICAgIGRhdGVTdHJpbmcgPSBTdHJpbmcoZGF0ZVN0cmluZykucmVwbGFjZSgvXC0vZywgIi8iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlU3RyaW5nKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgY2FzdCBgIiArIGRhdGVTdHJpbmcgKyAiYCB0byBhIGRhdGUgb2JqZWN0LiIpOw0KICAgICAgICB9DQogICAgfQ0KICAgIHZhciBESVJFQ1RJVkVfS0VZX01BUCA9IHsNCiAgICAgICAgWTogInllYXJzIiwNCiAgICAgICAgbTogIm1vbnRocyIsDQogICAgICAgIG46ICJkYXlzVG9Nb250aCIsDQogICAgICAgIHc6ICJ3ZWVrcyIsDQogICAgICAgIGQ6ICJkYXlzVG9XZWVrIiwNCiAgICAgICAgRDogInRvdGFsRGF5cyIsDQogICAgICAgIEg6ICJob3VycyIsDQogICAgICAgIE06ICJtaW51dGVzIiwNCiAgICAgICAgUzogInNlY29uZHMiDQogICAgfTsNCiAgICBmdW5jdGlvbiBlc2NhcGVkUmVnRXhwKHN0cikgew0KICAgICAgICB2YXIgc2FuaXRpemUgPSBzdHIudG9TdHJpbmcoKS5yZXBsYWNlKC8oWy4/KiteJFtcXVxcKCl7fXwtXSkvZywgIlxcJDEiKTsNCiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoc2FuaXRpemUpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzdHJmdGltZShvZmZzZXRPYmplY3QpIHsNCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGZvcm1hdCkgew0KICAgICAgICAgICAgdmFyIGRpcmVjdGl2ZXMgPSBmb3JtYXQubWF0Y2goLyUoLXwhKT9bQS1aXXsxfSg6W147XSs7KT8vZ2kpOw0KICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZXMpIHsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gZGlyZWN0aXZlcy5sZW5ndGg7IGkgPCBsZW47ICsraSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGlyZWN0aXZlID0gZGlyZWN0aXZlc1tpXS5tYXRjaCgvJSgtfCEpPyhbYS16QS1aXXsxfSkoOlteO10rOyk/LyksIHJlZ2V4cCA9IGVzY2FwZWRSZWdFeHAoZGlyZWN0aXZlWzBdKSwgbW9kaWZpZXIgPSBkaXJlY3RpdmVbMV0gfHwgIiIsIHBsdXJhbCA9IGRpcmVjdGl2ZVszXSB8fCAiIiwgdmFsdWUgPSBudWxsOw0KICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmUgPSBkaXJlY3RpdmVbMl07DQogICAgICAgICAgICAgICAgICAgIGlmIChESVJFQ1RJVkVfS0VZX01BUC5oYXNPd25Qcm9wZXJ0eShkaXJlY3RpdmUpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IERJUkVDVElWRV9LRVlfTUFQW2RpcmVjdGl2ZV07DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IE51bWJlcihvZmZzZXRPYmplY3RbdmFsdWVdKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtb2RpZmllciA9PT0gIiEiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBwbHVyYWxpemUocGx1cmFsLCB2YWx1ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kaWZpZXIgPT09ICIiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlIDwgMTApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSAiMCIgKyB2YWx1ZS50b1N0cmluZygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKHJlZ2V4cCwgdmFsdWUudG9TdHJpbmcoKSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgvJSUvLCAiJSIpOw0KICAgICAgICAgICAgcmV0dXJuIGZvcm1hdDsNCiAgICAgICAgfTsNCiAgICB9DQogICAgZnVuY3Rpb24gcGx1cmFsaXplKGZvcm1hdCwgY291bnQpIHsNCiAgICAgICAgdmFyIHBsdXJhbCA9ICJzIiwgc2luZ3VsYXIgPSAiIjsNCiAgICAgICAgaWYgKGZvcm1hdCkgew0KICAgICAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLyg6fDt8XHMpL2dpLCAiIikuc3BsaXQoL1wsLyk7DQogICAgICAgICAgICBpZiAoZm9ybWF0Lmxlbmd0aCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHBsdXJhbCA9IGZvcm1hdFswXTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgc2luZ3VsYXIgPSBmb3JtYXRbMF07DQogICAgICAgICAgICAgICAgcGx1cmFsID0gZm9ybWF0WzFdOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGlmIChNYXRoLmFicyhjb3VudCkgPT09IDEpIHsNCiAgICAgICAgICAgIHJldHVybiBzaW5ndWxhcjsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHJldHVybiBwbHVyYWw7DQogICAgICAgIH0NCiAgICB9DQogICAgdmFyIENvdW50ZG93biA9IGZ1bmN0aW9uKGVsLCBmaW5hbERhdGUsIG9wdGlvbnMpIHsNCiAgICAgICAgdGhpcy5lbCA9IGVsOw0KICAgICAgICB0aGlzLiRlbCA9ICQoZWwpOw0KICAgICAgICB0aGlzLmludGVydmFsID0gbnVsbDsNCiAgICAgICAgdGhpcy5vZmZzZXQgPSB7fTsNCiAgICAgICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sIGRlZmF1bHRPcHRpb25zKTsNCiAgICAgICAgdGhpcy5pbnN0YW5jZU51bWJlciA9IGluc3RhbmNlcy5sZW5ndGg7DQogICAgICAgIGluc3RhbmNlcy5wdXNoKHRoaXMpOw0KICAgICAgICB0aGlzLiRlbC5kYXRhKCJjb3VudGRvd24taW5zdGFuY2UiLCB0aGlzLmluc3RhbmNlTnVtYmVyKTsNCiAgICAgICAgaWYgKG9wdGlvbnMpIHsNCiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gImZ1bmN0aW9uIikgew0KICAgICAgICAgICAgICAgIHRoaXMuJGVsLm9uKCJ1cGRhdGUuY291bnRkb3duIiwgb3B0aW9ucyk7DQogICAgICAgICAgICAgICAgdGhpcy4kZWwub24oInN0b3BlZC5jb3VudGRvd24iLCBvcHRpb25zKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRlbC5vbigiZmluaXNoLmNvdW50ZG93biIsIG9wdGlvbnMpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHRoaXMuc2V0RmluYWxEYXRlKGZpbmFsRGF0ZSk7DQogICAgICAgIHRoaXMuc3RhcnQoKTsNCiAgICB9Ow0KICAgICQuZXh0ZW5kKENvdW50ZG93bi5wcm90b3R5cGUsIHsNCiAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKHRoaXMuaW50ZXJ2YWwgIT09IG51bGwpIHsNCiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOw0KICAgICAgICAgICAgdGhpcy51cGRhdGUoKTsNCiAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZS5jYWxsKHNlbGYpOw0KICAgICAgICAgICAgfSwgdGhpcy5vcHRpb25zLnByZWNpc2lvbik7DQogICAgICAgIH0sDQogICAgICAgIHN0b3A6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTsNCiAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWwgPSBudWxsOw0KICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KCJzdG9wZWQiKTsNCiAgICAgICAgfSwNCiAgICAgICAgdG9nZ2xlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGlmICh0aGlzLmludGVydmFsKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zdG9wKCk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRoaXMuc3RhcnQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgcGF1c2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdGhpcy5zdG9wKCk7DQogICAgICAgIH0sDQogICAgICAgIHJlc3VtZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0aGlzLnN0YXJ0KCk7DQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0aGlzLnN0b3AuY2FsbCh0aGlzKTsNCiAgICAgICAgICAgIGluc3RhbmNlc1t0aGlzLmluc3RhbmNlTnVtYmVyXSA9IG51bGw7DQogICAgICAgICAgICBkZWxldGUgdGhpcy4kZWwuZGF0YSgpLmNvdW50ZG93bkluc3RhbmNlOw0KICAgICAgICB9LA0KICAgICAgICBzZXRGaW5hbERhdGU6IGZ1bmN0aW9uKHZhbHVlKSB7DQogICAgICAgICAgICB0aGlzLmZpbmFsRGF0ZSA9IHBhcnNlRGF0ZVN0cmluZyh2YWx1ZSk7DQogICAgICAgIH0sDQogICAgICAgIHVwZGF0ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAodGhpcy4kZWwuY2xvc2VzdCgiaHRtbCIpLmxlbmd0aCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIGhhc0V2ZW50c0F0dGFjaGVkID0gJC5fZGF0YSh0aGlzLmVsLCAiZXZlbnRzIikgIT09IHVuZGVmaW5lZCwgbm93ID0gbmV3IERhdGUoKSwgbmV3VG90YWxTZWNzTGVmdDsNCiAgICAgICAgICAgIG5ld1RvdGFsU2Vjc0xlZnQgPSB0aGlzLmZpbmFsRGF0ZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpOw0KICAgICAgICAgICAgbmV3VG90YWxTZWNzTGVmdCA9IE1hdGguY2VpbChuZXdUb3RhbFNlY3NMZWZ0IC8gMWUzKTsNCiAgICAgICAgICAgIG5ld1RvdGFsU2Vjc0xlZnQgPSAhdGhpcy5vcHRpb25zLmVsYXBzZSAmJiBuZXdUb3RhbFNlY3NMZWZ0IDwgMCA/IDAgOiBNYXRoLmFicyhuZXdUb3RhbFNlY3NMZWZ0KTsNCiAgICAgICAgICAgIGlmICh0aGlzLnRvdGFsU2Vjc0xlZnQgPT09IG5ld1RvdGFsU2Vjc0xlZnQgfHwgIWhhc0V2ZW50c0F0dGFjaGVkKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsU2Vjc0xlZnQgPSBuZXdUb3RhbFNlY3NMZWZ0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGhpcy5lbGFwc2VkID0gbm93ID49IHRoaXMuZmluYWxEYXRlOw0KICAgICAgICAgICAgdGhpcy5vZmZzZXQgPSB7DQogICAgICAgICAgICAgICAgc2Vjb25kczogdGhpcy50b3RhbFNlY3NMZWZ0ICUgNjAsDQogICAgICAgICAgICAgICAgbWludXRlczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCkgJSA2MCwNCiAgICAgICAgICAgICAgICBob3VyczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwKSAlIDI0LA0KICAgICAgICAgICAgICAgIGRheXM6IE1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0IC8gNjAgLyA2MCAvIDI0KSAlIDcsDQogICAgICAgICAgICAgICAgZGF5c1RvV2VlazogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwIC8gMjQpICUgNywNCiAgICAgICAgICAgICAgICBkYXlzVG9Nb250aDogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwIC8gMjQgJSAzMC40MzY4KSwNCiAgICAgICAgICAgICAgICB0b3RhbERheXM6IE1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0IC8gNjAgLyA2MCAvIDI0KSwNCiAgICAgICAgICAgICAgICB3ZWVrczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwIC8gMjQgLyA3KSwNCiAgICAgICAgICAgICAgICBtb250aHM6IE1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0IC8gNjAgLyA2MCAvIDI0IC8gMzAuNDM2OCksDQogICAgICAgICAgICAgICAgeWVhcnM6IE1hdGguYWJzKHRoaXMuZmluYWxEYXRlLmdldEZ1bGxZZWFyKCkgLSBub3cuZ2V0RnVsbFllYXIoKSkNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5lbGFwc2UgJiYgdGhpcy50b3RhbFNlY3NMZWZ0ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zdG9wKCk7DQogICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KCJmaW5pc2giKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KCJ1cGRhdGUiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgZGlzcGF0Y2hFdmVudDogZnVuY3Rpb24oZXZlbnROYW1lKSB7DQogICAgICAgICAgICB2YXIgZXZlbnQgPSAkLkV2ZW50KGV2ZW50TmFtZSArICIuY291bnRkb3duIik7DQogICAgICAgICAgICBldmVudC5maW5hbERhdGUgPSB0aGlzLmZpbmFsRGF0ZTsNCiAgICAgICAgICAgIGV2ZW50LmVsYXBzZWQgPSB0aGlzLmVsYXBzZWQ7DQogICAgICAgICAgICBldmVudC5vZmZzZXQgPSAkLmV4dGVuZCh7fSwgdGhpcy5vZmZzZXQpOw0KICAgICAgICAgICAgZXZlbnQuc3RyZnRpbWUgPSBzdHJmdGltZSh0aGlzLm9mZnNldCk7DQogICAgICAgICAgICB0aGlzLiRlbC50cmlnZ2VyKGV2ZW50KTsNCiAgICAgICAgfQ0KICAgIH0pOw0KICAgICQuZm4uY291bnRkb3duID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBhcmd1bWVudHNBcnJheSA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCk7DQogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgaW5zdGFuY2VOdW1iZXIgPSAkKHRoaXMpLmRhdGEoImNvdW50ZG93bi1pbnN0YW5jZSIpOw0KICAgICAgICAgICAgaWYgKGluc3RhbmNlTnVtYmVyICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBpbnN0YW5jZXNbaW5zdGFuY2VOdW1iZXJdLCBtZXRob2QgPSBhcmd1bWVudHNBcnJheVswXTsNCiAgICAgICAgICAgICAgICBpZiAoQ291bnRkb3duLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShtZXRob2QpKSB7DQogICAgICAgICAgICAgICAgICAgIGluc3RhbmNlW21ldGhvZF0uYXBwbHkoaW5zdGFuY2UsIGFyZ3VtZW50c0FycmF5LnNsaWNlKDEpKTsNCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFN0cmluZyhtZXRob2QpLm1hdGNoKC9eWyRBLVpfXVswLTlBLVpfJF0qJC9pKSA9PT0gbnVsbCkgew0KICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5zZXRGaW5hbERhdGUuY2FsbChpbnN0YW5jZSwgbWV0aG9kKTsNCiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2Uuc3RhcnQoKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAkLmVycm9yKCJNZXRob2QgJXMgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LmNvdW50ZG93biIucmVwbGFjZSgvXCVzL2dpLCBtZXRob2QpKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIG5ldyBDb3VudGRvd24odGhpcywgYXJndW1lbnRzQXJyYXlbMF0sIGFyZ3VtZW50c0FycmF5WzFdKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsNCn0pOw=="}},"time_used":62,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":62,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71901.43d5b48d9643656bfd2c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.858Z","timestamp":1785124876858,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71901.43d5b48d9643656bfd2c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1f184c59996a7f399f985f29a02ac13b\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6f60c3725f61aa347ed7762fdf8fdf11","sha1":"0eb08b4e1af29799e916fc9d9386cb6c96d13d78","sha256":"08a238fafe5ccfdeb182eb61a9597d32a7e3cfad290a0ce62061302fadafa0e4","sha512":"e1c14f942cbbebbb809b688c5956540410d65d8192ab5b374a7f7355488382dd907b31b68573381b5c399d38cd1490b3ca92187cb5c60c2ef9b8e83a6f889b01","ssdeep":"","tlshash":"d380008a0a0228ea038c8280cc0320a8b3080ca0002030bf800a2afc2280082a0bc80a","first_seen":"2026-06-30T21:57:43.490808Z","last_seen":"2026-07-27T06:24:31.49446Z","times_seen":189,"resource_available":false,"data":"LmJ1dHRvbi1GRHRpRGJ5antwYWRkaW5nOjAgNXB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/css/styles/images/coinpool-dots-circle.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.532Z","timestamp":1785124875532,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /css/styles/images/coinpool-dots-circle.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/html; charset=iso-8859-1\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":355,"size_decoded":451,"mime_type":"text/html; charset=iso-8859-1","magic":"HTML document, ASCII text","md5":"4525b2d648f7c457a689fd96421783a5","sha1":"11bfe30ce44585a15a38e86bc094224ddfe2c08e","sha256":"cc0b4e42510d49c6decd464123ecf3b14ae9b47f9b4ed2ee64893e2d6520a264","sha512":"94e3e8246cf38ff7740e51aa115c8c455b14f78e672c2686b782c0ce30b6fa2dbd91a78b29b3964d9c0414aabd4b9391fd5db326665e25b4b8e73dae60ffe979","ssdeep":"","tlshash":"71e0c04f4057b3474011a2907dc01291e505236b38a152f93ac09467500897dc4aa2dd","first_seen":"2025-12-09T03:51:58.5943Z","last_seen":"2026-07-27T06:14:48.102741Z","times_seen":47346,"resource_available":true,"data":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPjxoZWFkPgo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+CjwvaGVhZD48Ym9keT4KPGgxPk5vdCBGb3VuZDwvaDE+CjxwPlRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuPC9wPgo8cD5BZGRpdGlvbmFsbHksIGEgNDA0IE5vdCBGb3VuZAplcnJvciB3YXMgZW5jb3VudGVyZWQgd2hpbGUgdHJ5aW5nIHRvIHVzZSBhbiBFcnJvckRvY3VtZW50IHRvIGhhbmRsZSB0aGUgcmVxdWVzdC48L3A+CjwvYm9keT48L2h0bWw+Cg=="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.767Z","timestamp":1785124876767,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5855\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 62332d62e00b4e5c8d4b4e96964cf99e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22613,"size_decoded":9336,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-27T06:24:31.743815Z","times_seen":60,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNDg4OV0sezQ3MzE1OShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW1MRWhDclZ3IixpY29uT25seToiaWNvbk9ubHktbUxFaENyVnciLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3QtbUxFaENyVnciLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1tTEVoQ3JWdyIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1tTEVoQ3JWdyIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLW1MRWhDclZ3Iix4c21hbGw6InhzbWFsbC1tTEVoQ3JWdyIsc21hbGw6InNtYWxsLW1MRWhDclZ3IixtZWRpdW06Im1lZGl1bS1tTEVoQ3JWdyIsbGFyZ2U6ImxhcmdlLW1MRWhDclZ3Iix4bGFyZ2U6InhsYXJnZS1tTEVoQ3JWdyIsY29udGVudDoiY29udGVudC1tTEVoQ3JWdyIsbGluazoibGluay1tTEVoQ3JWdyIsYmx1ZToiYmx1ZS1tTEVoQ3JWdyIscHJpbWFyeToicHJpbWFyeS1tTEVoQ3JWdyIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktbUxFaENyVnciLGdyYXk6ImdyYXktbUxFaENyVnciLGdyZWVuOiJncmVlbi1tTEVoQ3JWdyIscmVkOiJyZWQtbUxFaENyVnciLGJsYWNrOiJibGFjay1tTEVoQ3JWdyIsc2xvdDoic2xvdC1tTEVoQ3JWdyIsc3RyZXRjaDoic3RyZXRjaC1tTEVoQ3JWdyIsZ3JvdXBlZDoiZ3JvdXBlZC1tTEVoQ3JWdyIsYWRqdXN0UG9zaXRpb246ImFkanVzdFBvc2l0aW9uLW1MRWhDclZ3IixmaXJzdFJvdzoiZmlyc3RSb3ctbUxFaENyVnciLGZpcnN0Q29sOiJmaXJzdENvbC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtbGVmdCI6Im5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtcmlnaHQiOiJuby1jb3JuZXItdG9wLXJpZ2h0LW1MRWhDclZ3Iiwibm8tY29ybmVyLWJvdHRvbS1yaWdodCI6Im5vLWNvcm5lci1ib3R0b20tcmlnaHQtbUxFaENyVnciLCJuby1jb3JuZXItYm90dG9tLWxlZnQiOiJuby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVnciLHRleHRXcmFwOiJ0ZXh0V3JhcC1tTEVoQ3JWdyIsbXVsdGlsaW5lQ29udGVudDoibXVsdGlsaW5lQ29udGVudC1tTEVoQ3JWdyIscHJpbWFyeVRleHQ6InByaW1hcnlUZXh0LW1MRWhDclZ3IixzZWNvbmRhcnlUZXh0OiJzZWNvbmRhcnlUZXh0LW1MRWhDclZ3In19LDMzMTg4MyhlKXtlLmV4cG9ydHM9e2FjdGlvbkJ1dHRvbjoiYWN0aW9uQnV0dG9uLWs1M3ZleFBhIixzbWFsbDoic21hbGwtazUzdmV4UGEiLGhpZGRlblRpdGxlOiJoaWRkZW5UaXRsZS1rNTN2ZXhQYSJ9fSw4ODgxNTkoZSl7ZS5leHBvcnRzPXtwb3B1cERpYWxvZzoicG9wdXBEaWFsb2ctQjAyVVVVTjMiLHdyYXA6IndyYXAtQjAyVVVVTjMiLG1haW46Im1haW4tQjAyVVVVTjMiLHNtYWxsOiJzbWFsbC1CMDJVVVVOMyIsdGl0bGU6InRpdGxlLUIwMlVVVU4zIixjb250ZW50OiJjb250ZW50LUIwMlVVVU4zIixodG1sOiJodG1sLUIwMlVVVU4zIixmb290ZXI6ImZvb3Rlci1CMDJVVVVOMyIsY2xvc2U6ImNsb3NlLUIwMlVVVU4zIixtYXJnaW5XaXRob3V0Q2xvc2VCdXR0b246Im1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOMyJ9fSw2NzQ3NDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QnV0dG9uOigpPT5ofSk7dmFyIG8scixuLGk9cyg3Nzk0NzQpLGw9cygyOTU3NDQpO2Z1bmN0aW9uIGEoZT0iZGVmYXVsdCIpe3N3aXRjaChlKXtjYXNlImRlZmF1bHQiOnJldHVybiJwcmltYXJ5IjtjYXNlInN0cm9rZSI6cmV0dXJuInNlY29uZGFyeSJ9fWZ1bmN0aW9uIGMoZT0icHJpbWFyeSIpe3N3aXRjaChlKXtjYXNlInByaW1hcnkiOnJldHVybiJicmFuZCI7Y2FzZSJzdWNjZXNzIjpyZXR1cm4iZ3JlZW4iO2Nhc2UiZGVmYXVsdCI6cmV0dXJuImdyYXkiO2Nhc2UiZGFuZ2VyIjpyZXR1cm4icmVkIn19ZnVuY3Rpb24gdShlPSJtIil7c3dpdGNoKGUpe2Nhc2UicyI6cmV0dXJuInhzbWFsbCI7Y2FzZSJtIjpyZXR1cm4ic21hbGwiO2Nhc2UibCI6cmV0dXJuImxhcmdlIn19ZnVuY3Rpb24gbShlKXtjb25zdHtpbnRlbnQ6dCxzaXplOnMsYXBwZWFyYW5jZTpvLHVzZUZ1bGxXaWR0aDpyLGljb246biwuLi5pfT1lO3JldHVybnsuLi5pLGNvbG9yOmModCksc2l6ZTp1KHMpLHZhcmlhbnQ6YShvKSxzdHJldGNoOnJ9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlNxdWFyZUJ1dHRvbix7Li4ubShlKX0pfSFmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlNtYWxsPSJzIixlLk1lZGl1bT0ibSIsZS5MYXJnZT0ibCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLlN0cm9rZT0ic3Ryb2tlIn0obnx8KG49e30pKX0sMjQzMjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1NxdWFyZUJ1dHRvbkNvbnRlbnQ6KCk9Pm0sZ2V0U3F1YXJlQnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxuPXMubihyKSxpPXMoNjA1MTQxKSxsPXMoNDczMTU5KSxhPXMubihsKTtjb25zdCBjPSJhcHBseS1vdmVyZmxvdy10b29sdGlwIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5IGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQgYXBwbHktY29tbW9uLXRvb2x0aXAiO2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJtZWRpdW0iLHZhcmlhbnQ6cz0icHJpbWFyeSIsY29sb3I6bz0iYnJhbmQiLHN0cmV0Y2g6cj0hMSxzdGFydFNsb3Q6bCxlbmRTbG90OnUsaWNvbk9ubHk6bT0hMSxjbGFzc05hbWU6aCxpc0dyb3VwZWQ6ZCxjZWxsU3RhdGU6cCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Onk9ITEscHJpbWFyeVRleHQ6ZixzZWNvbmRhcnlUZXh0Ol8saXNBbmNob3I6Uz0hMX09ZSxnPSJicmFuZCI9PT1vPyJibGFjayI6byxiPWZ1bmN0aW9uKGUpe2xldCB0PSIiCjtyZXR1cm4gMCE9PWUmJigxJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1sZWZ0Il0pKSwyJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1yaWdodCJdKSksNCZlJiYodD1uKCkodCxhKClbIm5vLWNvcm5lci1ib3R0b20tcmlnaHQiXSkpLDgmZSYmKHQ9bigpKHQsYSgpWyJuby1jb3JuZXItYm90dG9tLWxlZnQiXSkpKSx0fSgoMCxpLmdldEdyb3VwQ2VsbFJlbW92ZVJvdW5kQm9yZGVycykocCkpLEM9bSYmKGx8fHUpO3JldHVybiBuKCkoaCxhKCkuYnV0dG9uLGEoKVt0XSxhKClbZ10sYSgpW3NdLHImJmEoKS5zdHJldGNoLGwmJmEoKS53aXRoU3RhcnRJY29uLHUmJmEoKS53aXRoRW5kSWNvbixDJiZhKCkuaWNvbk9ubHksYixkJiZhKCkuZ3JvdXBlZCxkJiYheSYmYSgpLmFkanVzdFBvc2l0aW9uLGQmJnAuaXNUb3AmJmEoKS5maXJzdFJvdyxkJiZwLmlzTGVmdCYmYSgpLmZpcnN0Q29sLGYmJl8mJmEoKS5tdWx0aWxpbmVDb250ZW50LFMmJmEoKS5saW5rLGMpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7c3RhcnRTbG90OnQsaWNvbk9ubHk6cyxjaGlsZHJlbjpyLGVuZFNsb3Q6aSxwcmltYXJ5VGV4dDpsLHNlY29uZGFyeVRleHQ6dX09ZTtpZih0JiZpJiZzKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCk7Y29uc3QgbT1zJiYodD8/aSksaD0hdCYmIWkmJiFzJiYhciYmbCYmdTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCksciYmIW0mJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkuY29udGVudH0sciksaSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhKCkuc2xvdCxhKCkuZW5kU2xvdFdyYXApfSxpKSxoJiYhbSYmZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJpbWFyeVRleHQmJmUuc2Vjb25kYXJ5VGV4dCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKGEoKS50ZXh0V3JhcCxjKX0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5wcmltYXJ5VGV4dH0sIiAiLGUucHJpbWFyeVRleHQsIiAiKSwic3RyaW5nIj09dHlwZW9mIGUuc2Vjb25kYXJ5VGV4dD9vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LCIgIixlLnNlY29uZGFyeVRleHQsIiAiKTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxlLnNlY29uZGFyeVRleHQuZmlyc3RMaW5lKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsZS5zZWNvbmRhcnlUZXh0LnNlY29uZExpbmUpKSl9KGUpKX19LDI5NTc0NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTcXVhcmVCdXR0b246KCk9PnV9KTt2YXIgbz1zKDc3OTQ3NCkscj1zKDc3MDE0Myksbj1zKDUzMjAxMSksaT1zKDM0NTExNik7ZnVuY3Rpb24gbChlLHQpe3JldHVybiBzPT57aWYodClyZXR1cm4gcy5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgcy5zdG9wUHJvcGFnYXRpb24oKTtlPy4ocyl9fXZhciBhPXMoMjQzMjA3KTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNvbG9yOnMsdmFyaWFudDpvLHNpemU6cixzdHJldGNoOm4saWNvbk9ubHk6bCxzdGFydFNsb3Q6YSxlbmRTbG90OmMscHJpbWFyeVRleHQ6dSxzZWNvbmRhcnlUZXh0Om0sLi4uaH09ZTtyZXR1cm57Li4uaCwuLi4oMCxpLmZpbHRlckRhdGFQcm9wcykoZSksLi4uKDAsaS5maWx0ZXJBcmlhUHJvcHMpKGUpfX1mdW5jdGlvbiB1KGUpe2NvbnN0e3JlZmVyZW5jZTp0LHRvb2x0aXBUZXh0OnMsZGlzYWJsZWQ6aSxvbkNsaWNrOnUsb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0Omgsb25Nb3VzZURvd246ZCxvbk1vdXNlRW50ZXI6cCxhcmlhRGlzYWJsZWQ6eSwuLi5mfT1lLHtpc0dyb3VwZWQ6XyxjZWxsU3RhdGU6UyxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Omd9PSgwLG8udXNlQ29udGV4dCkobi5Db250cm9sR3JvdXBDb250ZXh0KSxiPSgwLGEuZ2V0U3F1YXJlQnV0dG9uQ2xhc3Nlcykoey4uLmYsaXNHcm91cGVkOl8sY2VsbFN0YXRlOlMsZGlzYWJsZVBvc2l0aW9uQWRqdXN0bWVudDpnfSksQz1zPz8oZS5wcmltYXJ5VGV4dD9bZS5wcmltYXJ5VGV4dCxlLnNlY29uZGFyeVRleHRdLmpvaW4oIiAiKTooMCxyLmdldFRleHRGb3JUb29sdGlwKShlLmNoaWxkcmVuKSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyhmKSwiYXJpYS1kaXNhYmxlZCI6aXx8eSx0YWJJbmRleDplLnRhYkluZGV4Pz8oaT8tMTowKSxjbGFzc05hbWU6YixyZWY6dCxvbkNsaWNrOmwodSxpKSxvbk1vdXNlRG93bjpsKGQsaSksb25Nb3VzZU92ZXI6bChtLGkpLG9uTW91c2VPdXQ6bChoLGkpLG9uTW91c2VFbnRlcjpsKHAsaSksImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjpDfSxvLmNyZWF0ZUVsZW1lbnQoYS5TcXVhcmVCdXR0b25Db250ZW50LHsuLi5mfSkpfX0sNjA1MTQxKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1zLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5vfSl9LDk3MTY1OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VJc01vdW50ZWQ6KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCk7Y29uc3Qgcj0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sMTQ3OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9Pm4sZGF0YVFhSWRzOigpPT5yfSkKO3ZhciBvPXMoNTY1NzQ1KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuW2UsdF0uZmlsdGVyKG8uaXNFeGlzdGVudCkuam9pbigiICIpfWZ1bmN0aW9uIG4oZSx0KXtpZigoMCxvLmlzRXhpc3RlbnQpKHQpKXJldHVybltlLHRdLmpvaW4oIiAiKX1jb25zdCBpPSJ1aS1saWItIn0sNTY1NzQ1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1zLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw5NjIwODEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y29tbW9uUmVuYW1lU2VwYXJhdG9yOigpPT5pfSk7dmFyIG89cygzODQwMTcpLHI9cyg1ODA1MjYpLG49cygzMDQzOTkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0LHMsaSl7Y29uc3R7b2xkU2VwYXJhdG9yOmwsbmV3U2VwYXJhdG9yOmF9PSgwLHIucmVtb3RlUmVuYW1lU2VwYXJhdG9ycykoZSxzLGkpLGM9YXdhaXQoMCxvLmZldGNoKSgoMCxuLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0LyR7dH0vJHtlfS9yZXBsYWNlX3N5bWJvbC9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHtvbGQ6bCxuZXc6YX0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSk7aWYoIWMub2spe2NvbnN0e2RldGFpbDplfT1hd2FpdCBjLmpzb24oKTt0aHJvdyBFcnJvcihlKX1yZXR1cm4oMCxuLmhhbmRsZUpTT04pKGMpfX0sNjkzMjE2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEV4dHJhSG91cnNDaGFuZ2VQZXJjZW50OigpPT5uLGlzRXh0cmFIb3Vyc1Nlc3Npb246KCk9PnJ9KTtjb25zdCBvPVsicHJlX21hcmtldCIsInBvc3RfbWFya2V0IiwibmlnaHQiXTtmdW5jdGlvbiByKGUpe3JldHVybiBCb29sZWFuKGUmJm8uaW5jbHVkZXMoZSkpfWZ1bmN0aW9uIG4oZSl7bGV0IHQ7c3dpdGNoKGUuY3VycmVudF9zZXNzaW9uKXtjYXNlIm5pZ2h0Ijp0PWUubmNocDticmVhaztjYXNlInBvc3RfbWFya2V0IjpjYXNlInByZV9tYXJrZXQiOnQ9ZS5yY2hwfXJldHVybiB0Pz9udWxsfX0sMjQzNjMxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0NvbG9yQ29udGV4dDooKT0+byxDb2xvck1hbmFnZXI6KCk9Pmx9KTt2YXIgbyxyPXMoNzEyMTM0KSxuPXMoMzU3NTMzKSxpPXMoNTAwNTE0KTshZnVuY3Rpb24oZSl7ZVtlLlN5bWJvbE1hcmtlcj0wXT0iU3ltYm9sTWFya2VyIixlW2UuU2NyZWVuZXJGaWx0ZXI9MV09IlNjcmVlbmVyRmlsdGVyIn0ob3x8KG89e30pKTtjbGFzcyBse2dldENvbG9yKCl7c3dpdGNoKHRoaXMuX2NvbnRleHQpe2Nhc2Ugby5TeW1ib2xNYXJrZXI6cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUNvbG9yKG4uU3ltYm9sTWFya2VyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpO2Nhc2Ugby5TY3JlZW5lckZpbHRlcjpyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlQ29sb3Iobi5TeW1ib2xzRmlsdGVyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpfX1zZXRDb2xvcihlKXtzd2l0Y2godGhpcy5fY29udGV4dCl7Y2FzZSBvLlN5bWJvbE1hcmtlcjpuLlN5bWJvbE1hcmtlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSk7YnJlYWs7Y2FzZSBvLlNjcmVlbmVyRmlsdGVyOm4uU3ltYm9sc0ZpbHRlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSl9fV9nZXRBdmFpbGFibGVDb2xvcihlKXtyZXR1cm4oMCxpLmNoZWNrQ29sb3JQZXJtaXNzaW9ucykoZSk/ZToodGhpcy5zZXRDb2xvcihyLkxpc3RDb2xvci5SZWQpLHIuTGlzdENvbG9yLlJlZCl9Y29uc3RydWN0b3IoZSl7dGhpcy5fY29udGV4dD1lLmNvbnRleHR9fX0sNTAwNTE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0TW9kZWw6KCk9PmssY2hlY2tDb2xvclBlcm1pc3Npb25zOigpPT5ULGdldE1hcmtlZExpc3RzU3RhdGU6KCk9Pk59KTt2YXIgbz1zKDEzODYzOCkscj1zKDcxMjEzNCk7Y2xhc3MgbntkZXN0cm95KCl7dGhpcy5fc3Vic2NyaXB0aW9uKCksdGhpcy5fZGVzdHJveWVkPSEwfV9nZXRDb21tYW5kcygpe2NvbnN0IGU9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSk7cmV0dXJuKDAsci5nZXRDb21tYW5kcykoZSl9Y29uc3RydWN0b3IoZSl7dGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hhbmRsZUNoYW5nZT0oKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRDb21tYW5kcygpO2lmKGUubGVuZ3RoPjApe2lmKG51bGwhPT10aGlzLl9leGVjdXRpbmcpcmV0dXJuO2NvbnN0W3QsLi4uc109ZTtzd2l0Y2godC50eXBlKXtjYXNlImFwcGVuZCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5hcHBlbmRTeW1ib2xzKHQuY29sb3IsdC5zeW1ib2xzKS50aGVuKChlPT4hZXx8dGhpcy5fZGVzdHJveWVkP251bGw6e1t0LmNvbG9yXTp7c3ltYm9sczplfX0pKS50aGVuKChhc3luYyBlPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSksbz0oMCxyLmdldExpc3RCeUNvbG9yKShzLHQuY29sb3IpO2lmKG51bGwhPT1vJiZudWxsIT09by5wZXJzaXN0ZWRTdGF0ZSYmbnVsbCE9PW8ucGVyc2lzdGVkU3RhdGUuaWQpcmV0dXJuIGU7Y29uc3Qgbj1hd2FpdCB0aGlzLl9hcGkuZ2V0TGlzdHMoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmZpbmQoKGU9PmUuY29sb3I9PT10LmNvbG9yKSk7cmV0dXJuIGk/e1t0LmNvbG9yXTp7aWQ6aS5pZCxzeW1ib2xzOmkuc3ltYm9sc319Om51bGx9KSk7YnJlYWs7Y2FzZSJyZW1vdmUiOnRoaXMuX2V4ZWN1dGluZz10aGlzLl9hcGkucmVtb3ZlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXBsYWNlIjoKdGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXBsYWNlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXNldCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldFN5bWJvbHModC5zeW1ib2xzKS50aGVuKCgoKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm4gbnVsbDtjb25zdCBlPXt9O2Zvcihjb25zdCBzIG9mIHIuTElTVF9DT0xPUlMpe2NvbnN0IG89dC5wcmV2TGlzdHMuYnlDb2xvcltzXTtpZighb3x8IW8ucGVyc2lzdGVkU3RhdGUpY29udGludWU7Y29uc3Qgcj1vLnBlcnNpc3RlZFN0YXRlLnN5bWJvbHMuZmlsdGVyKChlPT4hdC5zeW1ib2xzLmluY2x1ZGVzKGUpKSk7ZVtzXT17Li4uby5wZXJzaXN0ZWRTdGF0ZSxzeW1ib2xzOnJ9fXJldHVybiBlfSkpO2JyZWFrO2Nhc2UicmVuYW1lIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnJlbmFtZUxpc3QodC5jb2xvcix0Lm5hbWUpLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlImNoYW5nZS1kZXNjcmlwdGlvbiI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5jaGFuZ2VEZXNjcmlwdGlvbih0LmNvbG9yLHQuZGVzY3JpcHRpb24pLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlInJlc2V0LWFsbCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldEFsbCgpLnRoZW4oKCgpPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IGU9e307Zm9yKGNvbnN0IHMgb2Ygci5MSVNUX0NPTE9SUyl7Y29uc3Qgbz10LnByZXZMaXN0cy5ieUNvbG9yW3NdO28mJm8ucGVyc2lzdGVkU3RhdGUmJihlW3NdPXsuLi5vLnBlcnNpc3RlZFN0YXRlLHN5bWJvbHM6W119KX1yZXR1cm4gZX0pKTticmVhaztjYXNlInNoYXJlIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnNoYXJlTGlzdCh0LmNvbG9yLHQuc2hhcmVkKS50aGVuKChlPT50aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzaGFyZWQ6ZS5zaGFyZWR9fSkpO2JyZWFrO2Nhc2UicmVuYW1lLXNlcGFyYXRvciI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZW5hbWVTZXBhcmF0b3IodC5jb2xvcix0LnNlcGFyYXRvcix0Lm5hbWUpLnRoZW4oKGU9PiFlfHx0aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzeW1ib2xzOmV9fSkpfXRoaXMuX2V4ZWN1dGluZy50aGVuKChlPT57aWYodGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkKXJldHVybjtjb25zdFtvXT10aGlzLl9nZXRDb21tYW5kcygpO289PT10Pyh0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxyLnNoaWZ0Q29tbWFuZCkoe2NvdW50OjF9KSksZSYmdGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci51cGRhdGVQZXJzaXN0ZWRTdGF0ZSkoZSkpKToodGhpcy5fb25XYXJuKGBDb21tYW5kOiAke0pTT04uc3RyaW5naWZ5KHQpfSB3YXMgc2VudCB0byB0aGUgc2VydmVyIGJ1dCBpcyBub3QgZm91bmQgaW4gdGhlIHN0YXRlYCkscy5sZW5ndGg+MCYmdGhpcy5fb25XYXJuKGBDb21tYW5kczogJHtKU09OLnN0cmluZ2lmeShzKX0gd2FzIGRyb3BwZWQgZnJvbSBzdGF0ZSB3aXRob3V0IHN5bmNpbmcgd2l0aCBzZXJ2ZXJgKSksdGhpcy5faGFuZGxlQ2hhbmdlKCl9KSwoZT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5fZXhlY3V0aW5nPW51bGw7Y29uc3R7Y29sb3JzOnMsYnlDb2xvcjpufT10LnByZXZMaXN0cyxpPXMubWFwKChlPT4oMCxvLmVuc3VyZURlZmluZWQpKG5bZV0pKSk7dGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci5zZXR1cCkoe2xpc3RzOmksdGltZXN0YW1wOigwLG8uZW5zdXJlTm90TnVsbCkoKDAsci5nZXRUaW1lc3RhbXApKHRoaXMuX3NlbGVjdG9yKHRoaXMuX3N0b3JlLmdldFN0YXRlKCkpKSl9KSksdGhpcy5fb25FcnJvcih0LGUpfSkpfX07Y29uc3R7cm9vdDp0LHNlbGVjdG9yOnMsb25FcnJvcjpuLG9uV2FybjppLGFwaTpsfT1lO3RoaXMuX3N0b3JlPXQsdGhpcy5fc2VsZWN0b3I9cyx0aGlzLl9zdWJzY3JpcHRpb249dGhpcy5fc3RvcmUuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fb25FcnJvcj1uLHRoaXMuX29uV2Fybj1pLHRoaXMuX2FwaT1sLHRoaXMuX2hhbmRsZUNoYW5nZSgpfX12YXIgaT1zKDI5NTIzNSksbD1zKDkwMTAyMik7dmFyIGE9cygyMjEwNjEpLGM9cygxODUyNzEpLHU9cyg5MTM0MTMpLG09cyg2MzI2ODYpLGg9cygxNTI3MTcpLGQ9cyg0NTY3MDUpLHA9cyg1ODA1MjYpLHk9cyg5Mjk0ODgpLGY9cyg2NDM5MDMpLF89cygxNTk1MTMpLFM9cyg0NzkzNCksZz1zKDc3MDc1NSksYj1zKDYxMzg3MCksQz1zKDMxMzMwMCksdj1zKDU5NjA1MCksdz1zKDQzNjM5NCksRT1zKDQzMjM1MCk7Y29uc3QgeD0oMCxhLmdldExvZ2dlcikoIk1hcmtlZFN5bWJvbHMuTW9kZWwiKTt2YXIgTDtmdW5jdGlvbiBOKGUpe3JldHVybiBlLm1hcmtlZExpc3RzfSFmdW5jdGlvbihlKXtlLkxpbWl0UmVhY2hlZD0iTGltaXRSZWFjaGVkIn0oTHx8KEw9e30pKTtjbGFzcyBre2Rlc3Ryb3koKXt0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmRlc3Ryb3koKSx0aGlzLl9zdWJzY3JpcHRpb24mJnRoaXMuX3N1YnNjcmlwdGlvbigpLHRoaXMuX2V4ZWN1dG9yJiZ0aGlzLl9leGVjdXRvci5kZXN0cm95KCl9Z2V0U3ltYm9sc0J5Q29sb3IoZSl7aWYobnVsbD09PXRoaXMuX3NlcnZpY2UpcmV0dXJuW107Y29uc3R7c3RvcmU6dH09dGhpcy5fc2VydmljZSxzPU4odC5nZXRTdGF0ZSgpKTtyZXR1cm4gbnVsbD09PXM/W106KDAsci5nZXRTeW1ib2xzQnlDb2xvcikocyxlKT8/W119Z2V0TGlzdHMoKXtyZXR1cm4gci5MSVNUX0NPTE9SUy5yZWR1Y2UoKChlLHQpPT4oZS5zZXQodCxuZXcgU2V0KHRoaXMuZ2V0U3ltYm9sc0J5Q29sb3IodCkpKSxlKSksbmV3IE1hcCl9c2V0U3ltYm9sc0NvbG9yKGUsdCl7aWYoeC5sb2dOb3JtYWwoYFNldCBzeW1ib2xzIGNvbG9yICR7dH1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4KO2NvbnN0IHM9dGhpcy5fcmVzdHJpY3RlZE1hcmtTeW1ib2xzKHtzeW1ib2xzOmUsY29sb3I6dCxzZXBhcmF0b3JzOiExfSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaChzKX1tYXJrTWFueShlKXtpZih4LmxvZ05vcm1hbChgTWFyayBtYW55IHN5bWJvbHM6ICR7ZS5jb2xvcn1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm47Y29uc3QgdD10aGlzLl9yZXN0cmljdGVkTWFya1N5bWJvbHMoZSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCh0KX1nZXRTeW1ib2xDb2xvcihlKXtpZihudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4gbnVsbDtjb25zdHtzdG9yZTp0fT10aGlzLl9zZXJ2aWNlLHM9Tih0LmdldFN0YXRlKCkpO3JldHVybiBudWxsPT09cz9udWxsOigwLHIuZ2V0U3ltYm9sQ29sb3IpKHMsZSl9Y2xlYXJBbGxTeW1ib2xzQ29sb3IoKXt4LmxvZ05vcm1hbCgiQ2xlYXIgYWxsIHN5bWJvbHMgY29sb3IiKSxudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnJlc2V0KSh7fSkpfXN5bmNTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKX1hbm9ueW1pemUoKXtudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnNldHVwKSh7dGltZXN0YW1wOkRhdGUubm93KCksbGlzdHM6W119KSl9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmNvbm5lY3QoKX1jbG9zZUNvbm5lY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5jbG9zZUNvbm5lY3Rpb24oKX1fcmVzb2x2ZShlKXtjb25zdCB0PW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSlpZih2b2lkIDAhPT1zLnN5bWJvbHMpZm9yKGNvbnN0IGUgb2Ygcy5zeW1ib2xzKXtpZigoMCx5LmlzU2VwYXJhdG9ySXRlbSkoZSkpY29udGludWU7KDAsZi5zYWZlU2hvcnROYW1lKShlKT09PWUmJnQuYWRkKGUpfWNvbnN0IHM9QXJyYXkuZnJvbSh0KS5tYXAoKGU9PnRoaXMuX3Nlc3Npb24uc25hcHNob3QoZSkudGhlbigodD0+dC5wcm9fbmFtZXx8ZSksKCgpPT5lKSkudGhlbigodD0+W2UsdF0pKSkpO3JldHVybiBQcm9taXNlLmFsbChzKS50aGVuKCh0PT57Y29uc3Qgcz1uZXcgTWFwKHQpO3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3N5bWJvbHM6dCxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLHAubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sY29sb3I6ZS5jb2xvcixzaGFyZWQ6ZS5zaGFyZWQsY3JlYXRlZDplLmNyZWF0ZWQsbW9kaWZpZWQ6ZS5tb2RpZmllZCx0eXBlOmUudHlwZSxhY3RpdmU6ZS5hY3RpdmUsc3ltYm9sczp0Lm1hcCgoZT0+cy5nZXQoZSk/P2UpKSxjb2xsYXBzZWRTZXBhcmF0b3JzOm8scGVyc2lzdGVkU3RhdGU6ZX19KSl9KSl9X2NyZWF0ZUV4ZWN1dG9yKCl7Y29uc3R7c3RvcmU6ZX09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9leGVjdXRvcj1uZXcgbih7cm9vdDplLHNlbGVjdG9yOmU9PigwLG8uZW5zdXJlTm90TnVsbCkoTihlKSksYXBpOnRoaXMuX2FwaSxvbkVycm9yOnRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3Isb25XYXJuOmU9Pnt4LmxvZ1dhcm4oZSl9fSkseC5sb2dOb3JtYWwoIkV4ZWN1dG9yIHdhcyBjcmVhdGVkIil9Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJvbWlzZT0oMCxkLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSx0aGlzLl9zZXJ2aWNlPW51bGwsdGhpcy5fZXhlY3V0b3I9bnVsbCx0aGlzLl9zdWJzY3JpcHRpb249bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzPW51bGwsdGhpcy5fcmVjb3Zlcj0hMSx0aGlzLl9zeW5jaHJvbml6ZT1hc3luYyBlPT57bGV0IHQscztudWxsIT09dGhpcy5fZXhlY3V0b3ImJih0aGlzLl9leGVjdXRvci5kZXN0cm95KCksdGhpcy5fZXhlY3V0b3I9bnVsbCx4LmxvZ05vcm1hbCgiRXhlY3V0b3Igd2FzIGRlc3Ryb3llZC4iKSk7dHJ5e3RoaXMuX3JlY292ZXImJmF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpO2NvbnN0W29dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9hcGkuZ2V0TGlzdHMoKSx0aGlzLl9wcm9taXNlXSk7dD1hd2FpdCB0aGlzLl9yZXNvbHZlKG8pLHM9RGF0ZS5ub3coKSxlLmFzc2VydCgpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7aWYoeC5sb2dFcnJvcihgU3luYyBzeW1ib2xzIGVycm9yOiAke2UubWVzc2FnZX1gKSxlLm1lc3NhZ2U9PT1FLlJPVVRJTkVfQ0FOQ0VMTEVEX01FU1NBR0UpcmV0dXJuO2lmKCJBcGlFcnJvcjpub3RfYXV0aGVudGljYXRlZCI9PT1lLm5hbWUpcmV0dXJuIHRoaXMuX3JlY292ZXJ8fGF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpLHZvaWQoMCxiLnNob3dTaWduTW9kYWwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX10aHJvdyBlfXRoaXMuX3JlY292ZXI9ITE7Y29uc3R7c3RvcmU6bn09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9jcmVhdGVFeGVjdXRvcigpO2NvbnN0IGk9dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5nZXRTdGF0ZSgpLGw9bnVsbCE9PWk/TShpKTpudWxsO2lmKG51bGwhPT1sJiZsPj1zKXJldHVybjtjb25zdCBhPSgwLHIuc2V0dXApKHtsaXN0czp0Lm1hcCgoZT0+KHtuYW1lOmUubmFtZT8/bnVsbCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uPz9udWxsLGNvbG9yOmUuY29sb3Isc3ltYm9sczplLnN5bWJvbHMsc2hhcmVkOmUuc2hhcmVkLGNvbGxhcHNlZFNlcGFyYXRvcnM6ZS5jb2xsYXBzZWRTZXBhcmF0b3JzLHBlcnNpc3RlZFN0YXRlOmUucGVyc2lzdGVkU3RhdGV9KSkpLHRpbWVzdGFtcDpzfSk7bi5kaXNwYXRjaChhKX0sdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57aWYodGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5pc0Rlc3Ryb3llZCgpKXJldHVybjtjb25zdHtzdG9yZTplfT0oMCwKby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKSx0PSgwLG8uZW5zdXJlTm90TnVsbCkoTihlLmdldFN0YXRlKCkpKTtpZih0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmdldFN0YXRlKCkhPT10KXRyeXt0aGlzLl9vcHRzLm9uQ2hhbmdlPy4odCwoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuZ2V0U3RhdGUoKSkpfWZpbmFsbHl7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSh0KX19LHRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3I9KGUsdCk9PnsiQXBpRXJyb3I6cGxhbl9zeW1ib2xzX2xpbWl0X3JlYWNoZWQiIT09dC5uYW1lP3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9PT1tLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj90aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmlzRGVzdHJveWVkKCl8fCh4LmxvZ0Vycm9yKGBGYWlsZWQgdG8gZXhlY3V0ZSAke2UudHlwZX1gKSx0aGlzLl9yZWNvdmVyPSEwLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKSk6KDAsdi5zaG93U2ltcGxlRGlhbG9nSW5zdGFuY2UpKHt0aXRsZTpjLnQobnVsbCx2b2lkIDAscygzODIwMjUpKSx0ZXh0OnQubWVzc2FnZX0sdy5XYXJuaW5nKTooMCxnLm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToid2F0Y2hsaXN0U3ltYm9scyJ9KX0sdGhpcy5fb3B0cz1lLHRoaXMuX2FwaT1lLmFwaXx8bmV3IHUuTWFya2VkU3ltYm9sc0xpc3RBcGksdGhpcy5fc2Vzc2lvbj1lLnF1b3RlU2Vzc2lvbnx8KDAsXy5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoInNpbXBsZSIpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2U9bmV3IEUuU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2Uoe3N5bmNocm9uaXplOnRoaXMuX3N5bmNocm9uaXplLGV2ZW50OmUuZXZlbnQsc3RhdGU6bnVsbCxnZXRUaW1lc3RhbXA6TSxsb2dnZXJOYW1lOiJNYXJrZWRTeW1ib2xzTGlzdE1vZGVsIn0pLHRoaXMuX3Jlc3RyaWN0ZWRNYXJrU3ltYm9scz1mdW5jdGlvbihlKXtjb25zdHtsaW1pdDp0LGNvbG9yczpzLG9uTGltaXQ6byxvblJlc3RyaWN0ZWRDb2xvcjpuLHNlbGVjdG9yOmF9PWU7cmV0dXJuIGU9PihjLHUpPT57Y29uc3QgbT11KCksaD1hKG0pLHtjb2xvcjpkLHN5bWJvbHM6cCxzZXBhcmF0b3JzOnl9PWU7aWYobnVsbCE9PWQpe2NvbnN0IGU9aC5saXN0cy5ieUNvbG9yW2RdPy5zeW1ib2xzPz9bXSxyPW5ldyBTZXQoZSksYT1pLnF1YWxpZmllZC5jYXN0TWFueShbXSk7Zm9yKGNvbnN0IGUgb2YgbmV3IFNldChwKSkheSYmKDAsbC5pc1NlcGFyYXRvckl0ZW0pKGUpfHxyLmhhcyhlKXx8YS5wdXNoKGUpO2lmKCFzKCkuaW5jbHVkZXMoZCkpcmV0dXJuIHZvaWQgbigpO2lmKGEubGVuZ3RoJiZhLmxlbmd0aCtyLnNpemU+dCgpKXJldHVybiB2b2lkIG8oKX1jKCgwLHIubWFya01hbnkpKGUpKX19KHtzZWxlY3RvcjplPT4oMCxvLmVuc3VyZU5vdE51bGwpKE4oZSkpLGxpbWl0OmUubGltaXQ/PygoKT0+KDAsQy5nZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQpKCkpLG9uTGltaXQ6KCk9Pnt4LmxvZ05vcm1hbCgiTGltaXRSZWFjaGVkIiksdGhpcy5fb3B0cy5vbkxpbWl0Py4oKX0sY29sb3JzOmUuY29sb3JzPz8oKCk9PnIuTElTVF9DT0xPUlMuZmlsdGVyKEQpKSxvblJlc3RyaWN0ZWRDb2xvcjooKT0+e3RoaXMuX29wdHMub25SZXN0cmljdGVkQ29sb3I/LigpfX0pLHRoaXMuX3Byb21pc2UudGhlbigoZT0+e2lmKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuaXNEZXN0cm95ZWQoKSlyZXR1cm47dGhpcy5fc2VydmljZT1lO2NvbnN0e3N0b3JlOnR9PWU7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSgoMCxvLmVuc3VyZU5vdE51bGwpKE4odC5nZXRTdGF0ZSgpKSkpLHRoaXMuX3N1YnNjcmlwdGlvbj10LnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2UpfSkpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuY29ubmVjdCgpfX1mdW5jdGlvbiBEKGUpe3JldHVybiByLkxpc3RDb2xvci5SZWQ9PT1lfHwoMCxTLmVuYWJsZWQpKCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyIpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuISFEKGUpfHwoKDAsZy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6ImZsYWdnZWRTeW1ib2xzIn0pLCExKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLnRpbWVzdGFtcH19LDM1NzUzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTeW1ib2xNYXJrZXJTZXR0aW5nczooKT0+byxTeW1ib2xzRmlsdGVyU2V0dGluZ3M6KCk9PnJ9KTt2YXIgbyxyLG49cyg3MTIxMzQpLGk9cyg5MzA1NjYpOyFmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbF9tYXJrZXJfY29sb3IiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfX0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbHNfZmlsdGVyX2NvbG9yIixzPSJtYXJrZWRfc3ltYm9sc19maWx0ZXIiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfSxlLnNldElzQWN0aXZlPWZ1bmN0aW9uKGUpe2kuc2V0VmFsdWUocyxlLHtmb3JjZUZsdXNoOiEwfSl9LGUuZ2V0SXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gaS5nZXRCb29sKHMsITEpfX0ocnx8KHI9e30pKX0sMTU1OTAwKGUsdCxzKXsidXNlIHN0cmljdCI7cygzMTg5NzQpfSw0NTk4NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe3JldHVybiJodG1sImluIGU/e2h0bWw6ZS5odG1sfToidGV4dCJpbiBlP3tjb250ZW50OmUudGV4dH06e2NvbnRlbnQ6ZS5jb250ZW50fX1zLmQodCx7Z2V0Q29udGVudDooKT0+b30pfSwxODQyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTaW1wbGVEaWFsb2dDb250ZXh0OigpPT5vfSkKO2NvbnN0IG89cyg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe2lzU21hbGxUYWJsZXQ6ITEsZGlhbG9nQ2xvc2VIYW5kbGVyOigpPT57fX0pfSw3MjU4NjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2ltcGxlRGlhbG9nOigpPT5FfSk7dmFyIG89cyg3Nzk0NzQpLHI9cyg5MTQ0ODcpLG49cy5uKHIpLGk9cyg4ODA4ODYpLGw9cygxNzk3NzEpLGE9cyg1ODU4MjEpLGM9cygyMzU3MjQpLHU9cyg0MDYxMTApLG09cyg2MDM2MTIpLGg9cyg2MDk1MjgpLGQ9cyg1NTgwMzApLHA9cyg2NzQ3NDkpLHk9cyg2NDkxNjYpLGY9cygxMzg2MzgpLF89cyg5NzE2NTkpLFM9cyg2MDc4MzIpLGc9cygxODQyMiksYj1zKDMzMTg4Myk7ZnVuY3Rpb24gQyhlKXtjb25zdHtkaXNhYmxlZDp0LG5hbWU6cyx0aXRsZTpyLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCxoYW5kbGVyOmEscmVmZXJlbmNlOmMsZGF0YVFhSWQ6dSx0eXBlOm0sY2xhc3NOYW1lOmh9PWUse2lzU21hbGxUYWJsZXQ6ZCxkaWFsb2dDbG9zZUhhbmRsZXI6Q309KDAsby51c2VDb250ZXh0KShnLlNpbXBsZURpYWxvZ0NvbnRleHQpLHY9KDAsZi5lbnN1cmVOb3ROdWxsKSgoMCxvLnVzZUNvbnRleHQpKFMuU2xvdENvbnRleHQpKSx3PSgwLF8udXNlSXNNb3VudGVkKSgpLFtFLHhdPSgwLG8udXNlU3RhdGUpKCExKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KHAuQnV0dG9uLHt0eXBlOm0sZGlzYWJsZWQ6dCxyZWZlcmVuY2U6YyxjbGFzc05hbWU6bigpKGIuYWN0aW9uQnV0dG9uLGgsZCYmYi5zbWFsbCksbmFtZTpzLHNpemU6ZD8ibCI6dm9pZCAwLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCwiZGF0YS1xYS1pZCI6dSxvbkNsaWNrOmZ1bmN0aW9uKCl7aWYoRSlyZXR1cm47Y29uc3QgZT1hKHtkaWFsb2dDbG9zZTpDLGlubmVyTWFuYWdlcjp2fSk7ZSYmKHgoITApLGUudGhlbigoKCk9Pnt3LmN1cnJlbnQmJngoITEpfSkpKX19LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoRSYmYi5oaWRkZW5UaXRsZSl9LHIpLEUmJm8uY3JlYXRlRWxlbWVudCh5LkxvYWRlcix7Y29sb3I6InByaW1hcnkiPT09bD8iYmxhY2siOiJ3aGl0ZSJ9KSl9dmFyIHY9cygxNzYyNjgpLHc9cyg4ODgxNTkpO2Z1bmN0aW9uIEUoZSl7Y29uc3R7dGl0bGU6dCxvbkNsb3NlOnMsYWN0aW9uczpyLGRhdGFOYW1lOnAsZGF0YVFhSWQ6eSxwb3B1cERpYWxvZ0NsYXNzTmFtZTpmLGNvbnRlbnRDbGFzc05hbWU6Xyx3cmFwcGVyQ2xhc3NOYW1lOlMsYmFja2Ryb3A6YixjbG9zZU9uT3V0c2lkZUNsaWNrOkU9ITAsc2hvd0Nsb3NlQnV0dG9uOng9ITAsY2xvc2VPbkVzY2FwZVByZXNzOkw9ITAsZXZlbnRzOk49ITAsY2VudGVyZWRPblJlc2l6ZTprLHNob3VsZEF1dG9DbG9zZTpEfT1lOygwLG8udXNlRWZmZWN0KSgoKCk9PihsLnN1YnNjcmliZShtLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELHMsbnVsbCksKCk9PntsLnVuc3Vic2NyaWJlKG0uQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQscyxudWxsKX0pKSxbc10pO2NvbnN0W1QsTV09KDAsby51c2VTdGF0ZSkoITApLEI9KDAsby51c2VSZWYpKG51bGwpLE89KDAsby51c2VSZWYpKG51bGwpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixVKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLFUpfSkpLFtPLGtdKSxvLmNyZWF0ZUVsZW1lbnQodS5NYXRjaE1lZGlhLHtydWxlOmguRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChsPT5vLmNyZWF0ZUVsZW1lbnQoZy5TaW1wbGVEaWFsb2dDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7aXNTbWFsbFRhYmxldDpsLGRpYWxvZ0Nsb3NlSGFuZGxlcjpzfX0sby5jcmVhdGVFbGVtZW50KGEuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTpuKCkody5wb3B1cERpYWxvZyxmKSxjb21wb25lbnRSZWY6Tyxpc09wZW5lZDpULGJhY2tkcm9wOmIsZGF0YVFhSWQ6eT8/dm9pZCAwLG9uQ2xpY2tCYWNrZHJvcDpOP1Y6dm9pZCAwLG9uQ2xpY2tPdXRzaWRlOkU/Vjp2b2lkIDAsb25LZXlEb3duOkksYXV0b2ZvY3VzOiEwLGZpeGVkQm9keTohMH0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcud3JhcCxTKSwiZGF0YS1uYW1lIjpwLCJkYXRhLXFhLWlkIjp5fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuKCkody5tYWluLCF4JiZ3Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbixsJiZ3LnNtYWxsKX0sdCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcudGl0bGUsbCYmdy5zbWFsbCl9LHQpLGZ1bmN0aW9uKHQpe2lmKCJodG1sImluIGUpcmV0dXJuIG8uY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKHcuY29udGVudCx0JiZ3LnNtYWxsLHcuaHRtbCxfKSxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOmUuaHRtbH19KTtpZigiY29udGVudCJpbiBlKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoZC5Ub3VjaFNjcm9sbENvbnRhaW5lcix7Y2xhc3NOYW1lOm4oKSh3LmNvbnRlbnQsdCYmdy5zbWFsbCxfKX0sZS5jb250ZW50KTtyZXR1cm4gbnVsbH0obCksciYmci5sZW5ndGg+MCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcuZm9vdGVyLGwmJncuc21hbGwpfSxyLm1hcCgoKGUsdCk9Pm8uY3JlYXRlRWxlbWVudChDLHsuLi5lLGtleTplLm5hbWUsZGF0YVFhSWQ6YCR7ZS5uYW1lfS1idG5gLHJlZmVyZW5jZTowPT09dD9COnZvaWQgMH0pKSkpKSx4JiZvLmNyZWF0ZUVsZW1lbnQoaS5OYXZCdXR0b24se2FyaWFMYWJlbDoiY2xvc2UiLHNpemU6Im1lZGl1bSIscHJlc2VydmVQYWRkaW5nczohMCxjbGFzc05hbWU6bigpKHcuY2xvc2UsbCYmdy5zbWFsbCksaWNvbjp2LG9uQ2xpY2s6ViwiZGF0YS1uYW1lIjoiY2xvc2UiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkpKSkpKTtmdW5jdGlvbiBJKGUpe3N3aXRjaCgoMCxjLmhhc2hGcm9tRXZlbnQpKGUpKXtjYXNlIDI3OlQmJkwmJihlLnByZXZlbnREZWZhdWx0KCkscygpKTticmVhaztjYXNlIDEzOgpjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoZS5kZWZhdWx0UHJldmVudGVkfHx0IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnR8fHQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCYmInN1Ym1pdCIhPT10LnR5cGUpcmV0dXJuO2lmKFQmJnImJnIubGVuZ3RoKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1CLmN1cnJlbnQ7dCYmdC5jbGljaygpfX19ZnVuY3Rpb24gVigpe0QmJk0oITEpLHMoKX1mdW5jdGlvbiBVKCl7ayYmTy5jdXJyZW50Py5jZW50ZXJBbmRGaXQ/LigpfX19LDMzMjY2MChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBvO3MuZCh0LHtEaWFsb2dFdmVudERpc3BhdGNoZXI6KCk9Pmx9KSxmdW5jdGlvbihlKXtlLk9wZW49ImRpYWxvZy1vcGVuIixlLkNsb3NlPSJkaWFsb2ctY2xvc2UiLGUuRnVsbHNjcmVlbk9uPSJkaWFsb2ctZnVsbHNjcmVlbi1vbiIsZS5GdWxsc2NyZWVuT2ZmPSJkaWFsb2ctZnVsbHNjcmVlbi1vZmYifShvfHwobz17fSkpO3ZhciByPXMoMjIxMDYxKSxuPXMoMTUwMTUwKTtjb25zdCBpPSgwLHIuZ2V0TG9nZ2VyKSgiRGlhbG9nRXZlbnREaXNwYXRjaGVyIik7Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TZXNzaW9uSWQ9bnVsbH1kaXNwYXRjaChlKXtpZigiZGlhbG9nLW9wZW4iPT09ZSl7aWYobnVsbCE9PXRoaXMuX29wZW5TZXNzaW9uSWQpcmV0dXJuIHZvaWQgaS5sb2dFcnJvcigiTXVsdGlwbGUgY2FsbHMgdG8gb3BlbiBkaWFsb2ciKTt0aGlzLl9vcGVuU2Vzc2lvbklkPSgwLG4ucmFuZG9tSGFzaCkoKX1udWxsIT09dGhpcy5fb3BlblNlc3Npb25JZD8od2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2J1YmJsZXM6ITAsZGV0YWlsOntkaWFsb2dTZXNzaW9uSWQ6dGhpcy5fb3BlblNlc3Npb25JZH19KSksImRpYWxvZy1jbG9zZSI9PT1lJiYodGhpcy5fb3BlblNlc3Npb25JZD1udWxsKSk6aS5sb2dFcnJvcigiRW1wdHkgb3BlbiBkaWFsb2cgc2Vzc2lvbiBpZCIpfX19LDE3NjI2OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJtLjU4IDEuNDIuODItLjgyIDE1IDE1LS44Mi44MnoiLz48cGF0aCBkPSJtLjU4IDE1LjU4IDE1LTE1IC44Mi44Mi0xNSAxNXoiLz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.941Z","timestamp":1785124876941,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-6018\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 60456f7df52fedd901485c7d08ed0714\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":24600,"size_decoded":7957,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-27T06:24:31.638389Z","times_seen":49,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTc1NThdLHs5NjA0NjQoZSx0LG4pe3ZhciBpO24uZCh0LHtNYXJrTG9jYXRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLkFib3ZlQmFyPSJBYm92ZUJhciIsZS5CZWxvd0Jhcj0iQmVsb3dCYXIiLGUuVG9wPSJUb3AiLGUuQm90dG9tPSJCb3R0b20iLGUuUmlnaHQ9IlJpZ2h0IixlLkxlZnQ9IkxlZnQiLGUuQWJzb2x1dGU9IkFic29sdXRlIixlLkFic29sdXRlVXA9IkFic29sdXRlVXAiLGUuQWJzb2x1dGVEb3duPSJBYnNvbHV0ZURvd24ifShpfHwoaT17fSkpfSw1MTI0MzcoZSx0LG4pe24uZCh0LHtUZXh0SW1hZ2VDYWNoZXNDb250YWluZXI6KCk9PmR9KTt2YXIgaSxvPW4oMTM4NjM4KSxyPW4oMTQxNjUpLHM9big1OTA4OTQpOyFmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuQ2VudGVyPSJjZW50ZXIiLGUuUmlnaHQ9InJpZ2h0In0oaXx8KGk9e30pKTt2YXIgYT1uKDkxODc3OSksaD1uKDE1MTIxKTtjb25zdCBsPSgwLGguY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCxhLnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksMSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlLHQsbixpLHIsYT0iY2VudGVyIixoPTApe3RoaXMuX2xpbmVzPWUuc3BsaXQoL1teXFNcclxuXSooPzpcclxufFxyfFxuKS8pLHRoaXMuX2ZvbnQ9ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuKDAscy5tYWtlRm9udCkoaSxuLGAke2U/ImJvbGQgIjoiIn0ke3Q/Iml0YWxpYyAiOiIifWApfSh0LG4saSxyKSx0aGlzLl9mb250U2l6ZT1yLHRoaXMuX3ZlcnRpY2FsUGFkZGluZz1+fihyLzYpLHRoaXMuX3RleHRBbGlnbj1hLHRoaXMuX2xpbmVTcGFjaW5nPWg7Y29uc3QgYz0oMCxvLmVuc3VyZU5vdE51bGwpKGwuZ2V0Q29udGV4dCgiMmQiKSk7Yy5mb250PXRoaXMuX2ZvbnQsYy50ZXh0QmFzZWxpbmU9InRvcCI7bGV0IGQ9MDtmb3IobGV0IGU9MDtlPHRoaXMuX2xpbmVzLmxlbmd0aDsrK2Upe2NvbnN0IHQ9dGhpcy5fbGluZXNbZV0sbj1jLm1lYXN1cmVUZXh0KHQpLndpZHRoO2Q9TWF0aC5tYXgoZCxuKX10aGlzLnRleHRJbWFnZVdpZHRoPWQrMSx0aGlzLnRleHRJbWFnZUhlaWdodD10aGlzLl9saW5lcy5sZW5ndGgqcisodGhpcy5fbGluZXMubGVuZ3RoLTEpKnRoaXMuX2xpbmVTcGFjaW5nK3RoaXMuX3ZlcnRpY2FsUGFkZGluZ31wYWludFRvKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOm99PWU7bi5zYXZlKCk7Y29uc3Qgcj10LmxvY2F0aW9uO24udHJhbnNsYXRlKE1hdGgucm91bmQoZnVuY3Rpb24oZSx0LG4pe2xldCBpPWU7c3dpdGNoKHQpe2Nhc2UibGVmdCI6YnJlYWs7Y2FzZSJyaWdodCI6aS09bjticmVhaztjYXNlImNlbnRlciI6aS09bi8yfXJldHVybiBNYXRoLnJvdW5kKGkpfShyLngsci5ob3J6QWxpZ24sdGhpcy50ZXh0SW1hZ2VXaWR0aCkqaSksTWF0aC5yb3VuZChmdW5jdGlvbihlLHQsbil7bGV0IGk9ZTtzd2l0Y2godCl7Y2FzZSJ0b3AiOmJyZWFrO2Nhc2UiYm90dG9tIjppLT1uO2JyZWFrO2Nhc2UibWlkZGxlIjppLT1uLzJ9cmV0dXJuIE1hdGgucm91bmQoaSl9KHIueSxyLnZlcnRBbGlnbix0aGlzLnRleHRJbWFnZUhlaWdodCkqbykpO2NvbnN0IHM9dC5zdHlsZTtsZXQgYTtzd2l0Y2gobi50ZXh0QmFzZWxpbmU9InRvcCIsbi5mb250PXRoaXMuX2ZvbnQsbi5saW5lSm9pbj0icm91bmQiLG4uZmlsbFN0eWxlPXMuZmlsbFN0eWxlLHMuc3Ryb2tlU3R5bGUmJihuLnN0cm9rZVN0eWxlPXMuc3Ryb2tlU3R5bGUpLHMubGluZVdpZHRoJiYobi5saW5lV2lkdGg9cy5saW5lV2lkdGgpLHRoaXMuX3RleHRBbGlnbil7Y2FzZSJsZWZ0IjphPTAsbi50ZXh0QWxpZ249ImxlZnQiO2JyZWFrO2Nhc2UicmlnaHQiOmE9dGhpcy50ZXh0SW1hZ2VXaWR0aC0xLG4udGV4dEFsaWduPSJyaWdodCI7YnJlYWs7ZGVmYXVsdDphPXRoaXMudGV4dEltYWdlV2lkdGgvMixuLnRleHRBbGlnbj0iY2VudGVyIn1sZXQgbD10aGlzLl92ZXJ0aWNhbFBhZGRpbmc7KDAsaC5kcmF3U2NhbGVkKShuLGksbywoKCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9saW5lcylzLnN0cm9rZVN0eWxlJiZuLnN0cm9rZVRleHQoZSxhLGwpLG4uZmlsbFRleHQoZSxhLGwpLGwrPXRoaXMuX2ZvbnRTaXplLGwrPXRoaXMuX2xpbmVTcGFjaW5nfSkpLG4ucmVzdG9yZSgpfX1jbGFzcyBkIGV4dGVuZHMgci5BYnN0cmFjdE1hcENvbnRhaW5lcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21heFNpemU9ZSx0aGlzLl9rZXlzUXVldWU9W119Z2V0KGUpe2NvbnN0e2ZvbnRTaXplOnQsdGV4dDpuLGFsaWduOmksZm9udDpvLGJvbGQ6YSxpdGFsaWM6aCxsaW5lU3BhY2luZzpsPTB9PWU7aWYoIW58fCF0fHwhaSlyZXR1cm4gbnVsbDtjb25zdCBkPSgwLHMubWFrZUZvbnQpKHQsbyxoPyJpdGFsaWMiOiIiLGE/ImJvbGQiOiIiKSxmPSgwLHIuZ2V0RGVmYXVsdDMpKHRoaXMuX21hcCxsLGksZCxuZXcgTWFwKTtsZXQgZz1mLmdldChuKTtyZXR1cm4gdm9pZCAwIT09Z3x8KHRoaXMuX3NpemU+PXRoaXMuX21heFNpemU/dGhpcy5fZGVsZXRlRmlyc3RLZXkoKTorK3RoaXMuX3NpemUsdGhpcy5fa2V5c1F1ZXVlLnB1c2goW2QsaSxsLG5dKSxnPW5ldyBjKG4sYSxoLG8sdCxpLGwpLGYuc2V0KG4sZykpLGd9X2RlbGV0ZUZpcnN0S2V5KCl7Y29uc3QgZT10aGlzLl9rZXlzUXVldWUuc2hpZnQoKSxbdCxuLGkscl09ZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFwLmdldChpKSksYT0oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KG4pKSxoPSgwLG8uZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO2guZGVsZXRlKHIpLDA9PT1oLnNpemUmJmEuZGVsZXRlKHQpLDA9PT1hLnNpemUmJnMuZGVsZXRlKG4pLDA9PT1zLnNpemUmJnRoaXMuX21hcC5kZWxldGUoaSl9fX0sMjkzNDE4KGUsdCxuKXtuLmQodCx7Y29udmVydFBvaW50c1RvU2NyZWVuRGltZW5zaW9uOigpPT5hLGRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlOigpPT5oLAppc0V4dGVuZEluU2FtZURpcmVjdGlvbjooKT0+c30pO3ZhciBpPW4oMTM4NjM4KSxvPW4oMTc5Njc0KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGU9PT1vLkR3Z0V4dGVuZC5Ob25lP3Q6dD09PW8uRHdnRXh0ZW5kLk5vbmU/ZTplPT09by5Ed2dFeHRlbmQuQm90aHx8dD09PW8uRHdnRXh0ZW5kLkJvdGg/by5Ed2dFeHRlbmQuQm90aDplPT09dD90Om8uRHdnRXh0ZW5kLkJvdGh9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPT09by5Ed2dFeHRlbmQuQm90aHx8ZT09PXR9ZnVuY3Rpb24gYShlLHQsbixzLGEsaCxsLGMsZCxmKXtsZXQgZyx4O2lmKG51bGw9PT1lJiZudWxsPT09bil7aWYoYSE9PW8uRHdnRXh0ZW5kLlJpZ2h0JiZhIT09by5Ed2dFeHRlbmQuQm90aClyZXR1cm4gbnVsbDthPW8uRHdnRXh0ZW5kLkJvdGgsZz0wLHg9Y31lbHNlIG51bGw9PT1lPyhnPWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShuKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5MZWZ0KSk6Zz1sLmluZGV4VG9Db29yZGluYXRlKGUpLG51bGw9PT1uPyh4PWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShlKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5SaWdodCkpOng9bC5pbmRleFRvQ29vcmRpbmF0ZShuKTtjb25zdCB1PWcsXz1oLnByaWNlVG9Db29yZGluYXRlKHQsZCksdz14LHA9aC5wcmljZVRvQ29vcmRpbmF0ZShzLGQpO3JldHVybiB2b2lkIDAhPT1mPyhmLngxPXUsZi55MT1fLGYueDI9dyxmLnkyPXAsZi5leHRlbmQ9YSxmKTp7eDE6dSx5MTpfLHgyOncseTI6cCxleHRlbmQ6YX19ZnVuY3Rpb24gaChlLHQsbixpLHIpe2xldCBzPSExO3N3aXRjaChuKXtjYXNlIG8uRHdnRXh0ZW5kLkJvdGg6cz0hMDticmVhaztjYXNlIG8uRHdnRXh0ZW5kLlJpZ2h0OnM9bnVsbD09PXR8fG51bGw9PT1lfHxlPD1yO2JyZWFrO2Nhc2Ugby5Ed2dFeHRlbmQuTGVmdDpzPW51bGw9PT10fHx0Pj1pO2JyZWFrO2RlZmF1bHQ6bnVsbCE9PWUmJm51bGwhPT10P3M9KGU+PWl8fHQ+PWkpJiYoZTw9cnx8dDw9cik6bnVsbCE9PWUmJm51bGw9PT10P3M9ZTw9cjpudWxsPT09ZSYmbnVsbCE9PXQmJihzPXQ+PWkpfXJldHVybiBzfX0sNDc3Mzg4KGUsdCxuKXtuLmQodCx7RHdnTGFiZWxQYW5lVmlld0NvbnN0YW50czooKT0+aSxjYWxjdWxhdGVEd2dMYWJlbHNNYXJnaW5zOigpPT5hLGNhbGN1bGF0ZUxhYmVsSGVpZ2h0OigpPT5zfSk7dmFyIGksbz1uKDU4OTUxMSkscj1uKDU0ODU2MCk7ZnVuY3Rpb24gcyhlLHQsbil7bGV0IHI9bjtzd2l0Y2godCl7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLlRpbnk6cj0uNiplO2JyZWFrO2Nhc2Ugby5QbG90U3ltYm9sU2l6ZS5TbWFsbDpyPS44KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLk5vcm1hbDpyPWU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkxhcmdlOnI9MS41KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkh1Z2U6cj0yKmU7YnJlYWs7ZGVmYXVsdDoibnVtYmVyIj09dHlwZW9mIHQmJnQ+MCYmKHI9dC9pLkZPTlRfU0laRV9NVUxUKX1yZXR1cm4gcn1mdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBvPWUubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksYT1NYXRoLnJvdW5kKG8qaS5BVVRPX1NJWkVfTVVMVCksaD1zKGkuTk9STUFMX1NJWkUsdC5zaXplLGEpKmkuU0hBUEVfSEVJR0hUX01VTFQsbD1NYXRoLnJvdW5kKGgvMik7c3dpdGNoKHQuc3R5bGUpe2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsVXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxMZWZ0VXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodFVwOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOjB9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bjpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbExlZnREb3duOmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsUmlnaHREb3duOnJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOmx9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsTGVmdDpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0OmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsQ2VudGVyOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOmx9fXJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOjB9fSFmdW5jdGlvbihlKXtlLk5PUk1BTF9TSVpFPTUwLGUuQVVUT19TSVpFX01VTFQ9MSxlLlNIQVBFX0hFSUdIVF9NVUxUPS41LGUuU0hBUEVfV0lEVEhfTVVMVD0uNixlLkZPTlRfU0laRV9NVUxUPS4yNH0oaXx8KGk9e30pKX0sODc0MTM1KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGU6KCk9PncsUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZTooKT0+dSxQYW5lUmVuZGVyZXJBYnN0cmFjdFN0cm9rZVNoYXBlOigpPT5ffSk7dmFyIGksbz1uKDEzODYzOCkscj1uKDczNjUzMSkscz1uKDc2ODMwNSksYT1uKDYwMTg0MSksaD1uKDg4NDI4KSxsPW4oNzYzKSxjPW4oNTEyNDM3KSxkPW4oOTI2MTQ5KSxmPW4oOTM0MzA1KSxnPW4oMTUxMjEpLHg9bigzMTg5NzQpOyFmdW5jdGlvbihlKXtlLlRyYW5zcGFyZW50PSJyZ2JhKDAsIDAsIDAsIDApIn0oaXx8KGk9e30pKTtjbGFzcyB1IGV4dGVuZHMgZi5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlLHQ9e3NraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zOiExfSl7c3VwZXIoKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9iYXJTcGFjaW5nPTAsdGhpcy5fdmVydE9mZnNldD0wLHRoaXMuX3RleHRDYWNoZT10LnRleHRDYWNoZXx8bmV3IGMuVGV4dEltYWdlQ2FjaGVzQ29udGFpbmVyKDVlMyksdGhpcy5fZHJhd09wZXJhdGlvbj10LnNraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zP3RoaXMuX2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpOnRoaXMuX2RyYXdXaXRoT3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9aGl0VGVzdChlKXtjb25zdCB0PWwuSGl0VGFyZ2V0LlJlZ3VsYXI7bGV0IG49bnVsbAo7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpe2lmKCFpKWNvbnRpbnVlO2NvbnN0IG89dGhpcy5fY2FsY0JvdW5kaW5nQm94KGkpO2lmKG8mJigwLHMucG9pbnRJbkJveCkoZSxvKSl7Y29uc3QgZT17dG9vbHRpcDp0aGlzLl9nZXRUb29sdGlwKGksbyl9O249bmV3IGwuSGl0VGVzdFJlc3VsdCh0LGUpfX1yZXR1cm4gbn1zZXREYXRhKGUpe2lmKHRoaXMuX2hlaWdodD12b2lkIDAhPT1lLmhlaWdodD9lLmhlaWdodDplLndpZHRoLHRoaXMuX3dpZHRoPXZvaWQgMCE9PWUud2lkdGg/ZS53aWR0aDplLmhlaWdodCx0aGlzLl9jb2xvcj1lLmNvbG9yLHRoaXMuX2JvcmRlckNvbG9yPWUuYm9yZGVyQ29sb3IsdGhpcy5fdmVydE9mZnNldD1lLnZlcnRPZmZzZXR8fDAsZS50ZXh0JiYodGhpcy5fdGV4dD1lLnRleHQsdGhpcy5fZm9udFNpemU9ZS5mb250U2l6ZSx0aGlzLl9saW5lU3BhY2luZz1lLmxpbmVTcGFjaW5nLHRoaXMuX3RleHRDb2xvcj1lLnRleHRDb2xvcix0aGlzLl90ZXh0QWxpZ249ZS50ZXh0QWxpZ258fCJjZW50ZXIiKSx2b2lkIDAhPT1lLml0ZW1zJiZ2b2lkIDAhPT1lLmJhclNwYWNpbmcpe2NvbnN0IHQ9ZS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsbj1lLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P2UuaXRlbXMubGVuZ3RoO3RoaXMuc2V0SXRlbXMobj50P2UuaXRlbXMuc2xpY2UodCxuKTpbXSxlLmJhclNwYWNpbmcpfX1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJbXBsKGUpe3RoaXMuX3ByZURyYXdJbml0KCksdGhpcy5fZHJhd09wZXJhdGlvbihlKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS52ZXJ0T2Zmc2V0LG49dGhpcy5fZ2V0VGV4dENhY2hlKGUpO2lmKCFuKXJldHVybjtjb25zdCBpPW4udGV4dEltYWdlV2lkdGgsbz1uLnRleHRJbWFnZUhlaWdodCxzPWkvMixhPWUueSt0K2UudGV4dFZlcnRPZmZzZXQsaD10PjA/MDotbyxsPXQ+MD9vOjAsYz1uZXcgci5Qb2ludChlLmNlbnRlci1zLGEraCksZD1uZXcgci5Qb2ludChlLmNlbnRlcitzLGErbCk7cmV0dXJuKDAsci5ib3gpKGMsZCl9X3VuaW9uQm94KGUsdCl7Y29uc3Qgbj1NYXRoLm1pbihlLm1pbi54LHQubWluLngpLGk9TWF0aC5tYXgoZS5tYXgueCx0Lm1heC54KSxvPU1hdGgubWluKGUubWluLnksdC5taW4ueSkscz1NYXRoLm1heChlLm1heC55LHQubWF4LnkpLGE9bmV3IHIuUG9pbnQobixvKSxoPW5ldyByLlBvaW50KGkscyk7cmV0dXJuKDAsci5ib3gpKGEsaCl9X2dldFRvb2x0aXAoZSx0KXtpZihlLnRvb2x0aXApcmV0dXJue2NvbnRlbnQ6e3R5cGU6InRleHQiLGRhdGE6ZS50b29sdGlwfSx0b29sdGlwRGVsYXk6MjAwLGV4dGVuZE1hcmdpbjohMCxyZWN0Ont4OnQubWluLngseTp0Lm1pbi55LHc6TWF0aC5hYnModC5tYXgueC10Lm1pbi54KSxoOk1hdGguYWJzKHQubWF4LnktdC5taW4ueSl9fX1fc2V0QmFzZURhdGEoZSx0KXt0aGlzLl9pdGVtcy5sZW5ndGg9MCx0aGlzLl9iYXJTcGFjaW5nPXQ7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoKDAsYS5pc05hTikodC55KSljb250aW51ZTtjb25zdCBlPXZvaWQgMD09PXQud2lkdGg/KDAsby5lbnN1cmVEZWZpbmVkKSh0aGlzLl93aWR0aCk6dC53aWR0aCxuPXZvaWQgMD09PXQuaGVpZ2h0PygwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5faGVpZ2h0KTp0LmhlaWdodCxpPXZvaWQgMD09PXQudmVydE9mZnNldD90aGlzLl92ZXJ0T2Zmc2V0OnQudmVydE9mZnNldCxyPWk+MD9uOi1uO3RoaXMuX2l0ZW1zLnB1c2goe3dpZHRoOmUsaGVpZ2h0Om4sdmVydE9mZnNldDppLHRleHRWZXJ0T2Zmc2V0OnIsc2hhcGVXaWR0aDowLHNoYXBlSGVpZ2h0OjAsc3RlcFg6MCxzdGVwWTowLC4uLnR9KX19X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K28rdC50ZXh0VmVydE9mZnNldDtsZXQgcztzPXQuc3R5bGUmJnZvaWQgMCE9PXQuc3R5bGUudGV4dENvbG9yP3Quc3R5bGUudGV4dENvbG9yOnRoaXMuX3RleHRDb2xvcjtjb25zdCBhPXtzdHlsZTp7ZmlsbFN0eWxlOnN9LGxvY2F0aW9uOnt4OmkseTpyLGhvcnpBbGlnbjpoLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOm8+MD9oLlZlcnRpY2FsQWxpZ24uVG9wOmguVmVydGljYWxBbGlnbi5Cb3R0b219fTtuLnBhaW50VG8oZSxhKX1fZHJhd1dpdGhPcHRpbWl6YXRpb25zKGUpe2xldCB0LG4saT1udWxsLG89ITE7Zm9yKGNvbnN0IHIgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikoci55KXx8KHIuc3R5bGUmJnZvaWQgMCE9PXIuc3R5bGUuY29sb3I/KHQ9ci5zdHlsZS5jb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiLG49ci5zdHlsZS5ib3JkZXJDb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiKToodD10aGlzLl9jb2xvcixuPXRoaXMuX2JvcmRlckNvbG9yKSwoaSE9PXR8fHguaXNTYWZhcmkpJiYoaT10LG8mJnRoaXMuX2VuZFBhdGgoZSksdGhpcy5fc3RhcnRQYXRoKGUsdCxuKSksdGhpcy5fZHJhd0l0ZW1TaGFwZShlLHIpLG89ITApO28mJnRoaXMuX2VuZFBhdGgoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikodC55KXx8dGhpcy5fZHJhd0l0ZW1UZXh0KGUsdCl9X2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucyhlKXtsZXQgdCxuO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKXtpZigoMCxhLmlzTmFOKShpLnkpKWNvbnRpbnVlO2NvbnN0IHI9KDAsby5lbnN1cmVEZWZpbmVkKShpLnN0eWxlKTt0PXIuY29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIixuPXIuYm9yZGVyQ29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIix0aGlzLl9zdGFydFBhdGgoZSx0LG4pLHRoaXMuX2RyYXdJdGVtU2hhcGUoZSxpKSx0aGlzLl9lbmRQYXRoKGUpLHRoaXMuX2RyYXdJdGVtVGV4dChlLGkpfX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lOygwLApnLmRyYXdTY2FsZWQpKG4saSxvLCgoKT0+dGhpcy5fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKG4sdCkpKX1fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7fV9wcmVEcmF3SW5pdCgpe31fc3RhcnRQYXRoKGUsdCxuKXt9X2VuZFBhdGgoZSl7fV9nZXRUZXh0Q2FjaGUoZSl7Y29uc3QgdD1lLnRleHR8fHRoaXMuX3RleHQsbj1lLmZvbnRTaXplfHx0aGlzLl9mb250U2l6ZSxpPWUubGluZVNwYWNpbmc/P3RoaXMuX2xpbmVTcGFjaW5nLG89ZS50ZXh0QWxpZ258fHRoaXMuX3RleHRBbGlnbixyPWUuZm9udD8/ZC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLHM9ZS5ib2xkPz8hMSxhPWUuaXRhbGljPz8hMTtyZXR1cm4gdGhpcy5fdGV4dENhY2hlLmdldCh7dGV4dDp0LGJvbGQ6cyxpdGFsaWM6YSxmb250OnIsZm9udFNpemU6bixsaW5lU3BhY2luZzppLGFsaWduOm99KX19Y2xhc3MgXyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLnN0cm9rZVN0eWxlPXR9X2VuZFBhdGgoZSl7ZS5jb250ZXh0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcigyKmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pKX19Y2xhc3MgdyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bn1fZW5kUGF0aChlKXtjb25zdCB0PWUuY29udGV4dDt0LmZpbGwoKSx0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcihlLmhvcml6b250YWxQaXhlbFJhdGlvKSl9fX0sNjUxOTY2KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQXJyb3dEb3duOigpPT5oLFBhbmVSZW5kZXJlckFycm93VXA6KCk9PmF9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSkscj1uKDY0MDc0NCk7Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3NpZ249MCx0aGlzLl90aGluQXJyb3c9ITEsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPTAsdGhpcy5faGVhZEhlaWdodD0wLHRoaXMuX2Fycm93V2lkdGg9MH1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxzPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYT10aGlzLl9zaWduLGg9dGhpcy5fYXJyb3dXaWR0aCxsPXRoaXMuX2hlYWRIZWlnaHQsYz1NYXRoLmFicyh0LmhlaWdodCksZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZj10LnZlcnRPZmZzZXQsZz1NYXRoLnJvdW5kKCh0LnkrZithKmMvMikqbykrcyx4PSgwLHIuY2VpbGVkRXZlbikoaCppKSx1PXgvMixfPU1hdGgucm91bmQoYypvKSx3PU1hdGgucm91bmQobCpvKTtuLnRyYW5zbGF0ZShkLGcpLHRoaXMuX3RoaW5BcnJvdz8obi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygtdSwtdSphKSxuLm1vdmVUbygwLDApLG4ubGluZVRvKHUsLXUqYSksbi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygwLC1fKmEpLG4ubW92ZVRvKC11LC1fKmEpLG4ubGluZVRvKHUsLV8qYSkpOihuLm1vdmVUbygwLDApLF88dz8obi5saW5lVG8oeCwtXyphKSxuLmxpbmVUbygteCwtXyphKSk6KG4ubGluZVRvKHgsLXcqYSksbi5saW5lVG8odSwtdyphKSxuLmxpbmVUbyh1LC1fKmEpLG4ubGluZVRvKC11LC1fKmEpLG4ubGluZVRvKC11LC13KmEpLG4ubGluZVRvKC14LC13KmEpKSxuLmxpbmVUbygwLDApKSxuLnRyYW5zbGF0ZSgtZCwtZyl9X3ByZURyYXdJbml0KCl7Y29uc3QgZT10aGlzLl9jYWxjdWxhdGVXaWR0aCgpO3RoaXMuX2Fycm93V2lkdGg9ZSx0aGlzLl9zaWduPXRoaXMuX2lzVXAoKT8tMToxLHRoaXMuX3RoaW5BcnJvdz1lPDQsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPU1hdGgubWF4KGUvMiwxKSx0aGlzLl9oZWFkSGVpZ2h0PU1hdGgucm91bmQoZSl9X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bixpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSl9X2xpbmVXaWR0aChlKXtyZXR1cm4gdGhpcy5fdGhpbkFycm93P3RoaXMuX3RoaW5BcnJvd0xpbmVXaWR0aDpzdXBlci5fbGluZVdpZHRoKGUpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLnZlcnRPZmZzZXQsbj10aGlzLl9zaWduLG89dGhpcy5fYXJyb3dXaWR0aCxyPXRoaXMuX2hlYWRIZWlnaHQscz1NYXRoLmFicyhlLmhlaWdodCksYT1lLmNlbnRlci1vLGg9YSsyKm8sbD1lLnkrdCtuKk1hdGgucm91bmQocy8yKSxjPWwrKC1zLXIpKm4sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9X2NhbGN1bGF0ZVdpZHRoKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fYmFyU3BhY2luZy80KX19Y2xhc3MgYSBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMH19Y2xhc3MgaCBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMX19fSwzMzA4NjEoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZTooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjb25zdCByPTIqTWF0aC5QSTtjbGFzcyBzIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj1NYXRoLm1heCh0LndpZHRoLHQuaGVpZ2h0KS8yLGk9dC5jZW50ZXIsbz10LnZlcnRPZmZzZXQscz10LnkrbztlLm1vdmVUbyhpK24scyksCmUuYXJjKGkscyxuLDAsciwhMSl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PU1hdGgubWF4KGUud2lkdGgsZS5oZWlnaHQpLzIsbj1lLmNlbnRlcixvPWUudmVydE9mZnNldCxyPWUueStvLHM9bi10LGE9bit0LGg9ci10LGw9cit0LGM9bmV3IGkuUG9pbnQocyxoKSxkPW5ldyBpLlBvaW50KGEsbCk7bGV0IGY9KDAsaS5ib3gpKGMsZCk7Y29uc3QgZz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBnJiYoZj10aGlzLl91bmlvbkJveChmLGcpKSxmfX19LDMwMjQ2OShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckNyb3NzU2hhcGU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9dC5jZW50ZXItci8yLGg9dC52ZXJ0T2Zmc2V0LGw9dC55LXMvMitoLGM9dGhpcy5fbGluZVdpZHRoKGUpLGQ9YyUyPy41OjAsZj1NYXRoLnJvdW5kKGEqaSk7bGV0IGc9TWF0aC5yb3VuZCgoYStyKSppKTsoZy1mKSUyIT1jJTImJihnKz0xKTtjb25zdCB4PU1hdGguZmxvb3IoKGYrZykvMikrZCx1PU1hdGgucm91bmQobCpvKTtsZXQgXz1NYXRoLnJvdW5kKChsK3MpKm8pOyhfLXUpJTIhPWMlMiYmKF8rPTEpO2NvbnN0IHc9TWF0aC5mbG9vcigodStfKS8yKStkO24ubW92ZVRvKHgsdSksbi5saW5lVG8oeCxfKSxuLm1vdmVUbyhmLHcpLG4ubGluZVRvKGcsdyl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPWUuY2VudGVyLXQvMixyPWUudmVydE9mZnNldCxzPWUueS1uLzIrcixhPW8saD1vK3QsbD1zLGM9cytuLGQ9bmV3IGkuUG9pbnQoYSxsKSxmPW5ldyBpLlBvaW50KGgsYyk7bGV0IGc9KDAsaS5ib3gpKGQsZik7Y29uc3QgeD1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiB4JiYoZz10aGlzLl91bmlvbkJveChnLHgpKSxnfX19LDc0NzQ2NShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckRpYW1vbmQ6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGVVc2luZ0NTU1BpeGVscyhlLHQpe2NvbnN0IG49TWF0aC5yb3VuZCh0LmhlaWdodC8yKSxpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K287ZS5tb3ZlVG8oaSxyLW4pLGUubGluZVRvKGkrbixyKSxlLmxpbmVUbyhpLHIrbiksZS5saW5lVG8oaS1uLHIpLGUubGluZVRvKGksci1uKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9TWF0aC5yb3VuZChlLmhlaWdodC8yKSxuPWUuY2VudGVyLG89ZS52ZXJ0T2Zmc2V0LHI9ZS55K28scz1uLXQsYT1uK3QsaD1yLXQsbD1yK3QsYz1uZXcgaS5Qb2ludChzLGgpLGQ9bmV3IGkuUG9pbnQoYSxsKTtsZXQgZj0oMCxpLmJveCkoYyxkKTtjb25zdCBnPXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIGcmJihmPXRoaXMuX3VuaW9uQm94KGYsZykpLGZ9fX0sNTQ0MjQzKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyRmxhZ1NoYXBlOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NzQxMzUpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckFic3RyYWN0RmlsbFN0cm9rZVNoYXBle19kcmF3SXRlbVNoYXBlVXNpbmdDU1NQaXhlbHMoZSx0KXtjb25zdCBuPXQud2lkdGgsaT10LmhlaWdodCxvPWkvMixyPShuLTMpLzMscz10LmNlbnRlci1uLzIsYT10LnZlcnRPZmZzZXQsaD10LnktbythO2UubW92ZVRvKHMsaCksZS5saW5lVG8ocyszLGgpLGUuYmV6aWVyQ3VydmVUbyhzK3IsaC1yLHMrMipyLGgrcixzK24saCksZS5saW5lVG8ocytuLGgrbyksZS5iZXppZXJDdXJ2ZVRvKHMrbi1yLGgrbytyLHMrbi0yKnIsaCtvLXIscyszLGgrbyksZS5saW5lVG8ocyszLGgraSksZS5saW5lVG8ocyxoK2kpLGUubGluZVRvKHMsaCl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPW4vMixyPWUuY2VudGVyLXQvMixzPWUudmVydE9mZnNldCxhPWUueS1vK3MsaD1yLGw9cit0LGM9YSxkPWErbixmPW5ldyBpLlBvaW50KGgsYyksZz1uZXcgaS5Qb2ludChsLGQpO2xldCB4PSgwLGkuYm94KShmLGcpO2NvbnN0IHU9c3VwZXIuX2NhbGNCb3VuZGluZ0JveChlKTtyZXR1cm4gdSYmKHg9dGhpcy5fdW5pb25Cb3goeCx1KSkseH19fSw4NDY1MjkoZSx0LG4pe24uZCh0LHtDb3JuZXJWZWN0b3JzQ2xvY2t3aXNlOigpPT5pLFBhbmVSZW5kZXJlckxhYmVsQmFzZTooKT0+YX0pO3ZhciBpLG89bigxMzg2MzgpLHI9big4ODQyOCkscz1uKDg3NDEzNSk7Y2xhc3MgYSBleHRlbmRzIHMuUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7c2V0SXRlbXMoZSx0KXt0aGlzLl9zZXRCYXNlRGF0YShlLHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2l0ZW1zKXtpZihlLmZvbnRTaXplKXtjb25zdCB0PWUuZm9udFNpemU7ZS5zdGVwWD1NYXRoLnJvdW5kKHQvMS41KSxlLnN0ZXBZPU1hdGgucm91bmQodC8yKS0xfWVsc2V7Y29uc3QgdD1lLmhlaWdodDtlLnN0ZXBYPU1hdGgucm91bmQodC8yKi42NSkrLjUsZS5zdGVwWT1lLnN0ZXBYfWUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKTtjb25zdCB0PXRoaXMuX2dldFRleHRDYWNoZShlKTtpZihudWxsPT09dCl7ZS5zaGFwZVdpZHRoPTIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PTIuNSplLnN0ZXBZO2NvbnRpbnVlfWNvbnN0IG49dC50ZXh0SW1hZ2VXaWR0aCxpPXQudGV4dEltYWdlSGVpZ2h0O2Uuc2hhcGVXaWR0aD1uKzIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PWkrMiplLnN0ZXBZLGUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKSxlLnRleHRIb3Jpek9mZnNldD10aGlzLl9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKSxlLnRleHRWZXJ0T2Zmc2V0PXRoaXMuX2dldFZlcnRpY2FsVGV4dE9mZnNldChlKX19Cl9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gZS52ZXJ0T2Zmc2V0fV9kcmF3Q29ybmVyKGUsdCxuLGkpe2NvbnN0e2NvbnRleHQ6byxob3Jpem9udGFsUGl4ZWxSYXRpbzpyfT1lLHM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKDIqcikpO28ubGluZVRvKHQtcyppLnByZXZQb2ludFNpZ25YLG4tcyppLnByZXZQb2ludFNpZ25ZKSxvLmFyY1RvKHQsbix0K3MqaS5uZXh0UG9pbnRTaWduWCxuK3MqaS5uZXh0UG9pbnRTaWduWSxzKX1fZ2V0QXJyb3dTaXplKGUpe3JldHVybiBlLnN0ZXBYfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gMH1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybiAwfV9oYXNUZXh0KGUpe3JldHVybiBCb29sZWFuKGUudGV4dCl8fEJvb2xlYW4odGhpcy5fdGV4dCl9X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQudGV4dEhvcml6T2Zmc2V0fHwwLHM9dC5jZW50ZXIraSxhPXQudmVydE9mZnNldCxoPXQueSthK3QudGV4dFZlcnRPZmZzZXQsbD10LnN0eWxlPy50ZXh0Q29sb3J8fHRoaXMuX3RleHRDb2xvcixjPXtzdHlsZTp7ZmlsbFN0eWxlOigwLG8uZW5zdXJlRGVmaW5lZCkobCl9LGxvY2F0aW9uOnt4OnMseTpNYXRoLmZsb29yKGgpLGhvcnpBbGlnbjpyLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOnIuVmVydGljYWxBbGlnbi5NaWRkbGV9fTtuLnBhaW50VG8oZSxjKX19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsbixpKXt0aGlzLnByZXZQb2ludFNpZ25YPWUsdGhpcy5wcmV2UG9pbnRTaWduWT10LHRoaXMubmV4dFBvaW50U2lnblg9bix0aGlzLm5leHRQb2ludFNpZ25ZPWl9fSFmdW5jdGlvbihlKXtlLnJpZ2h0VXA9bmV3IGgoMSwwLDAsMSksZS5yaWdodERvd249bmV3IGgoMCwxLC0xLDApLGUubGVmdERvd249bmV3IGgoLTEsMCwwLC0xKSxlLmxlZnRVcD1uZXcgaCgwLC0xLDEsMCl9KGl8fChpPXt9KSl9LDE2ODQ4NyhlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckxhYmVsQ2VudGVyOigpPT5sLFBhbmVSZW5kZXJlckxhYmVsRG93bjooKT0+cyxQYW5lUmVuZGVyZXJMYWJlbExlZnQ6KCk9PmEsUGFuZVJlbmRlcmVyTGFiZWxSaWdodDooKT0+aCxQYW5lUmVuZGVyZXJMYWJlbFVwOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NDY1MjkpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXItZS5zaGFwZVdpZHRoLzIsbj1lLmNlbnRlcitlLnNoYXBlV2lkdGgvMixvPWUueStlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodCtlLnZlcnRPZmZzZXQscz1uZXcgaS5Qb2ludCh0LG8pLGE9bmV3IGkuUG9pbnQobixyKTtyZXR1cm4oMCxpLmJveCkocyxhKX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpyfT1lLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MCxhPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLGg9dGhpcy5fZ2V0QXJyb3dTaXplKHQpO2xldCBsPU1hdGgucm91bmQoaCppKTsoYStsKSUxIT1zJTEmJihsKz0uNSk7bGV0IGM9TWF0aC5yb3VuZCh0LnNoYXBlV2lkdGgvMippKTsoYStjKSUxIT1zJTEmJihjKz0uNSk7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZC1sLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoKSpyKStzLHU9ZCtsLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoK3Quc2hhcGVIZWlnaHQpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKF8seCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUscCx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93biksbi5saW5lVG8ocCx4KSk6KHRoaXMuX2RyYXdDb3JuZXIoZSxfLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCkpLG4ubGluZVRvKGcseCl9X2dldFZlcnRpY2FsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZUhlaWdodC8yK3RoaXMuX2dldEFycm93U2l6ZShlKX1fY2FsY1ZlcnRPZmZzZXQoZSl7cmV0dXJuIE1hdGguc2lnbihlLnZlcnRPZmZzZXQpPj0wP2UudmVydE9mZnNldDplLnZlcnRPZmZzZXQtZS5zaGFwZUhlaWdodH19Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyTGFiZWxCYXNle19jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQrZS52ZXJ0T2Zmc2V0LHI9ZS55K2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyPy41OjAsaD10aGlzLl9nZXRBcnJvd1NpemUodCk7bGV0IGw9TWF0aC5yb3VuZChoKmkpOyhhK2wpJTEhPXMlMSYmKGwrPS41KTtsZXQgYz1NYXRoLnJvdW5kKHQuc2hhcGVXaWR0aC8yKmkpOyhhK2MpJTEhPXMlMSYmKGMrPS41KQo7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZCtsLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC1oKSpyKStzLHU9ZC1sLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC10LnNoYXBlSGVpZ2h0LWgpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKHAseCksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodFVwKSxuLmxpbmVUbyhfLHgpKToodGhpcy5fZHJhd0Nvcm5lcihlLHAseCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8seCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSksbi5saW5lVG8oZyx4KX1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybi1lLnNoYXBlSGVpZ2h0LzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gTWF0aC5zaWduKGUudmVydE9mZnNldCk8PTA/ZS52ZXJ0T2Zmc2V0OmUudmVydE9mZnNldCtlLnNoYXBlSGVpZ2h0fX1jbGFzcyBhIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLG49ZS5jZW50ZXIrZS5zaGFwZVdpZHRoLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXIrYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyK3Quc2hhcGVXaWR0aCthKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKTpuLmxpbmVUbyhmLHUpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHUsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksaD90aGlzLl9kcmF3Q29ybmVyKGUsZix3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93bik6bi5saW5lVG8oZix3KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBoIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLWUuc2hhcGVXaWR0aCxuPWUuY2VudGVyLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXItYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKTpuLmxpbmVUbyhmLHcpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx1LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0VXApLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCk6bi5saW5lVG8oZix1KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBsIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXsKY29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dC5zaGFwZUhlaWdodC8yLGg9dC5zaGFwZVdpZHRoLzIsbD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsYz1NYXRoLnJvdW5kKCh0LmNlbnRlci1oKSppKStzLGQ9TWF0aC5yb3VuZCgodC5jZW50ZXIraCkqaSkrcyxmPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcztuLm1vdmVUbyhsLGYpLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLGMsZyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxjLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksbi5saW5lVG8obCxmKX19fSw0MDc1ODQoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJTcXVhcmU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxyPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MDtsZXQgYT1NYXRoLnJvdW5kKHQuaGVpZ2h0LzIqbyk7KHIrYSklMSE9cyUxJiYoYSs9LjUpO2NvbnN0IGg9TWF0aC5yb3VuZCh0LmNlbnRlcippKStyLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbykrcixjPWgtYSxkPWwtYSxmPWgrYSxnPWwrYTtuLnJlY3QoYyxkLGYtYyxnLWQpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmhlaWdodCxuPU1hdGgucm91bmQodC8yKSxvPWUuY2VudGVyLW4scj1lLnZlcnRPZmZzZXQscz1lLnkrci1uLGE9byxoPW8rdCxsPXMsYz1zK3QsZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX0sMTE4NzUyKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bjooKT0+YSxQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcDooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjbGFzcyByIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89dC8yLHI9TWF0aC5yb3VuZChuLzMpLHM9ZS5jZW50ZXIsYT1lLnZlcnRPZmZzZXQtMipyLGg9ZS55K2EsbD1zLW8sYz1zK28sZD1oLGY9aCtuLGc9bmV3IGkuUG9pbnQobCxkKSx4PW5ldyBpLlBvaW50KGMsZik7bGV0IHU9KDAsaS5ib3gpKGcseCk7Y29uc3QgXz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBfJiYodT10aGlzLl91bmlvbkJveCh1LF8pKSx1fX1jbGFzcyBzIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LTIqYSxsPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYz1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGQ9YyUyPy41OjA7bGV0IGY9TWF0aC5yb3VuZChyKmkpO2YlMiE9YyUyJiYoZis9MSk7Y29uc3QgZz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2QseD1NYXRoLnJvdW5kKCh0LnkraCkqbyksdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pK2wsdz1nLWYvMjtuLm1vdmVUbyhnLHgpLG4ubGluZVRvKHUsXyksbi5saW5lVG8odyxfKSxuLmxpbmVUbyhnLHgpfX1jbGFzcyBhIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LWEsbD10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxkPWMlMj8uNTowO2xldCBmPU1hdGgucm91bmQocippKTtmJTIhPWMlMiYmKGYrPTEpO2NvbnN0IGc9TWF0aC5yb3VuZCh0LmNlbnRlcippKStkLHg9TWF0aC5yb3VuZCgodC55K2gpKm8pK2wsdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pLHc9Zy1mLzI7bi5tb3ZlVG8odyx4KSxuLmxpbmVUbyh1LHgpLG4ubGluZVRvKGcsXyksbi5saW5lVG8odyx4KX19fSwzNjMzMjYoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJYQ3Jvc3M6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj10LndpZHRoLGk9dC5oZWlnaHQsbz10LmNlbnRlci1uLzIscj10LnZlcnRPZmZzZXQscz10LnktaS8yK3I7ZS5tb3ZlVG8obyxzKSxlLmxpbmVUbyhvK24scytpKSxlLm1vdmVUbyhvLHMraSksZS5saW5lVG8obytuLHMpfV9jYWxjQm91bmRpbmdCb3goZSl7CmNvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89ZS5jZW50ZXItdC8yLHI9ZS52ZXJ0T2Zmc2V0LHM9ZS55LW4vMityLGE9byxoPW8rdCxsPXMsYz1zK24sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_68x28dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.835Z","timestamp":1785124877835,"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://berthenergy-inc.biz/\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: 399059\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-27T06:15:18.688407Z","times_seen":17212,"resource_available":false,"data":"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"}},"time_used":15,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/loading.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.837Z","timestamp":1785124877837,"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://berthenergy-inc.biz/\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: 195861\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-27T06:15:18.681482Z","times_seen":16845,"resource_available":false,"data":"R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAABAAEAAAAzMIutz+MMpJaxNjCDoIGZwHTphmCUWxMcK6FJnBti5gxMJx0C1bGDndpgc5GAwHSmvnSAAAIfkECQoAAAAsAAAAABAAEAAAAzQIutz+TowhIBuEDLuw5opEcUJRVGAxGSBgTEVbGqh8HLV13+1hGAeAINcY4oZDGbIlJCoSACH5BAkKAAAALAAAAAAQABAAAAM2CLoyIyvKQciQzJRWLwaFYxwO9BlO8UlCYZircBzwCsyzvRzGqCsCWe0X/AGDww8yqWQan78EACH5BAkKAAAALAAAAAAQABAAAAMzCLpiJSvKMoaR7JxWX4WLpgmFIQwEMUSHYRwRqkaCsNEfA2JSXfM9HzA4LBqPyKRyOUwAACH5BAkKAAAALAAAAAAQABAAAAMyCLpyJytK52QU8BjzTIEMJnbDYFxiVJSFhLkeaFlCKc/KQBADHuk8H8MmLBqPyKRSkgAAIfkECQoAAAAsAAAAABAAEAAAAzMIuiDCkDkX43TnvNqeMBnHHOAhLkK2ncpXrKIxDAYLFHNhu7A195UBgTCwCYm7n20pSgAAIfkECQoAAAAsAAAAABAAEAAAAzIIutz+8AkR2ZxVXZoB7tpxcJVgiN1hnN00loVBRsUwFJBgm7YBDQTCQBCbMYDC1s6RAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P4wykmrZULUnCnXHggIwyCOx3EOBDEwqcqwrlAYwmEYB1bapQIgdWIYgp5bEZAAADsAAAAAAAAAAAAK"}},"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":"www.tradingview-widget.com/static/bundles/embed/23254.3043f6ff1396f5065c2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.879Z","timestamp":1785124876879,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23254.3043f6ff1396f5065c2a.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-1ad\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b517aadecff5ef3d3bffba09a7e25437\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":429,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (429), with no line terminators","md5":"27d579b35c62ffe990fa3b3e58719791","sha1":"9e2ad92e195c20fd9832696d5dc46e995683380c","sha256":"c9e28194d44ef9378cd88ba949c9c8a339180667df4f4ec154731a7cd0d26031","sha512":"dcb22c5861af670a1b2f04c4ab8d0a11b00575c651a54472e8b1d0f0b0e73fb03cf6fa75541b6e524286fa5b13ee34cb6bb46f4cf5b5845444e1af4cab83be91","ssdeep":"","tlshash":"bee082021643901ef14f014895563ed8b20d44c3aa7b5ececa716149da7414c0a30af8","first_seen":"2026-06-30T21:57:43.455853Z","last_seen":"2026-07-27T06:24:31.643652Z","times_seen":173,"resource_available":false,"data":"LmhpZGRlbi1SM1dpQ09kbntvcGFjaXR5OjB9Lml0ZW0tSmtRWFVsdEF7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweH1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LUprUVhVbHRBe21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1Ka1FYVWx0QXtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLUprUVhVbHRBIC5pY29uLUprUVhVbHRBLC5sb2FkaW5nLUprUVhVbHRBIC5zaG9ydGN1dC1Ka1FYVWx0QXtvcGFjaXR5OjB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.78","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.206Z","timestamp":1785124875206,"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://berthenergy-inc.biz/\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 04:01:15 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":27154,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"71d437275adfd7dbebf2f58fdb913e10","sha1":"f65e008f708dc021190739fc79c82bb489fc976e","sha256":"aa45affa2704e18bdd2b6c114028ef47c1ab429dcc40ad6a032f8b66abbc18fc","sha512":"5d5a7a6eb2b5e6966c911b381218b2c658214126edaf4f59ad6724b34dbbef34ac05b757f1025599284e5dcce25042739eae36f0237cc207229b3770a49fa3ce","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECiewNWF0:XDD4U6KKZgtBgtCi00","tlshash":"8e73b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","first_seen":"2026-07-27T04:01:40.037193Z","last_seen":"2026-07-27T05:00:29.161152Z","times_seen":152,"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/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg2OC4zNTk3OTY5OTUwJzsgY29uc3QgaD0ndHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgb3BoPSd0cmFuc2xhdGUtcGEuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzPSdodHRwcycrJzovLyc7IGMuX3BhaD1oOyBjLl9wYXM9czsgY29uc3QgYj1zKyd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzdGF0aWNQYXRoID0gJy90cmFuc2xhdGVfc3RhdGljLyc7IGMuX3BjaT1iK3N0YXRpY1BhdGgrJ2ltZy90ZV9jdHJsMy5naWYnOyBjLl9wbWk9YitzdGF0aWNQYXRoKydpbWcvbWluaV9nb29nbGUucG5nJzsgYy5fcGJpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2JrLmdpZic7IGMuX3BsaT1iK3N0YXRpY1BhdGgrJ2ltZy9sb2FkaW5nLmdpZic7IGMuX3BzPSdodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVx4M2RCSUFBQndcL2RceDNkMFwvcnNceDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVx4M2RlbF9tYWluX2Nzcyc7IGMuX3BsbGE9b3BoKydcL3YxXC9zdXBwb3J0ZWRMYW5ndWFnZXMnOyBjLl9wdWg9J3RyYW5zbGF0ZS5nb29nbGUuY29tJztjLl9jbmFsPXt9O19sb2FkQ3NzKGMuX3BzKTsgX2xvYWRKcygnaHR0cHM6XC9cL3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbVwvX1wvdHJhbnNsYXRlX2h0dHBcL19cL2pzXC9rXHgzZHRyYW5zbGF0ZV9odHRwLnRyLm5vLnNjcm5ZNlEyX3l3Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QxXC9leG1ceDNkZWxfY29uZlwvZWRceDNkMVwvcnNceDNkQU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1d1wvbVx4M2RlbF9tYWluJyk7X2V4cG9ydFZlcnNpb24oJ1RFXzIwMjYwNzIyJyk7CiAgICAgICAgfSkoKTsKICAgICAgfSkoKTsKICA="}},"time_used":95,"timings":{"blocked":-1,"dns":0,"connect":16,"send":0,"wait":44,"receive":0,"ssl":35},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/jquery.min.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.216Z","timestamp":1785124875216,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/jquery.min.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:43:50 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b86-1762a\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":95786,"size_decoded":39065,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32086)","md5":"8101d596b2b8fa35fe3a634ea342d7c3","sha1":"d6c1f41972de07b09bfa63d2e50f9ab41ec372bd","sha256":"540bc6dec1dd4b92ea4d3fb903f69eabf6d919afd48f4e312b163c28cff0f441","sha512":"9e1634eb02ab6acdfd95bf6544eefa278dfdec21f55e94522df2c949fb537a8dfeab6bcfecf69e6c82c7f53a87f864699ce85f0068ee60c56655339927eebcdb","ssdeep":"1536:/PEkjP+iADIOr/NEe876nmBu3HvF38sEeLHFoqqhJ7SerN5wVI+xcBmPv7E+nzm6:ENMyqhJvN32cBC7M6Whca98HrB","tlshash":"b293c8d9b6d27162977730b850bf510bb13a98eab80c4c60f1a4d8e47d78e89507bf2d","first_seen":"2023-03-07T01:02:02Z","last_seen":"2026-07-27T06:01:31.922347Z","times_seen":55404,"resource_available":true,"data":"LyohIGpRdWVyeSB2MS4xMS4xIHwgKGMpIDIwMDUsIDIwMTQgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMSIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSk+PTB9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7Zm9yKGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtpZighYXx8Im9iamVjdCIhPT1tLnR5cGUoYSl8fGEubm9kZVR5cGV8fG0uaXNXaW5kb3coYSkpcmV0dXJuITE7dHJ5e2lmKGEuY29uc3RydWN0b3ImJiFqLmNhbGwoYSwiY29uc3RydWN0b3IiKSYmIWouY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGMpe3JldHVybiExfWlmKGsub3duTGFzdClmb3IoYiBpbiBhKXJldHVybiBqLmNhbGwoYSxiKTtmb3IoYiBpbiBhKTtyZXR1cm4gdm9pZCAwPT09Ynx8ai5jYWxsKGEsYil9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/YSsiIjoib2JqZWN0Ij09dHlwZW9mIGF8fCJmdW5jdGlvbiI9PXR5cGVvZiBhP2hbaS5jYWxsKGEpXXx8Im9iamVjdCI6dHlwZW9mIGF9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYmbS50cmltKGIpJiYoYS5leGVjU2NyaXB0fHxmdW5jdGlvbihiKXthLmV2YWwuY2FsbChhLGIpfSkoYil9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKG8sIm1zLSIpLnJlcGxhY2UocCxxKX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPTAsZj1hLmxlbmd0aCxnPXIoYSk7aWYoYyl7aWYoZyl7Zm9yKDtmPmU7ZSsrKWlmKGQ9Yi5hcHBseShhW2VdLGMpLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgaWYoZyl7Zm9yKDtmPmU7ZSsrKWlmKGQ9Yi5jYWxsKGFbZV0sZSxhW2VdKSxkPT09ITEpYnJlYWt9ZWxzZSBmb3IoZSBpbiBhKWlmKGQ9Yi5jYWxsKGFbZV0sZSxhW2VdKSxkPT09ITEpYnJlYWs7cmV0dXJuIGF9LHRyaW06ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6KGErIiIpLnJlcGxhY2UobiwiIil9LG1ha2VBcnJheTpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fFtdO3JldHVybiBudWxsIT1hJiYocihPYmplY3QoYSkpP20ubWVyZ2UoYywic3RyaW5nIj09dHlwZW9mIGE/W2FdOmEpOmYuY2FsbChjLGEpKSxjfSxpbkFycmF5OmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZihiKXtpZihnKXJldHVybiBnLmNhbGwoYixhLGMpO2ZvcihkPWIubGVuZ3RoLGM9Yz8wPmM/TWF0aC5tYXgoMCxkK2MpOmM6MDtkPmM7YysrKWlmKGMgaW4gYiYmYltjXT09PWEpcmV0dXJuIGN9cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGEsYil7dmFyIGM9K2IubGVuZ3RoLGQ9MCxlPWEubGVuZ3RoO3doaWxlKGM+ZClhW2UrK109YltkKytdO2lmKGMhPT1jKXdoaWxlKHZvaWQgMCE9PWJbZF0pYVtlKytdPWJbZCsrXTtyZXR1cm4gYS5sZW5ndGg9ZSxhfSxncmVwOmZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQsZT1bXSxmPTAsZz1hLmxlbmd0aCxoPSFjO2c+ZjtmKyspZD0hYihhW2ZdLGYpLGQhPT1oJiZlLnB1c2goYVtmXSk7cmV0dXJuIGV9LG1hcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZj0wLGc9YS5sZW5ndGgsaD1yKGEpLGk9W107aWYoaClmb3IoO2c+ZjtmKyspZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7ZWxzZSBmb3IoZiBpbiBhKWQ9YihhW2ZdLGYsYyksbnVsbCE9ZCYmaS5wdXNoKGQpO3JldHVybiBlLmFwcGx5KFtdLGkpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGY7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiJiYoZj1hW2JdLGI9YSxhPWYpLG0uaXNGdW5jdGlvbihhKT8oYz1kLmNhbGwoYXJndW1lbnRzLDIpLGU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShifHx0aGlzLGMuY29uY2F0KGQuY2FsbChhcmd1bWVudHMpKSl9LGUuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxtLmd1aWQrKyxlKTp2b2lkIDB9LG5vdzpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sc3VwcG9ydDprfSksbS5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7aFsiW29iamVjdCAiK2IrIl0iXT1iLnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiByKGEpe3ZhciBiPWEubGVuZ3RoLGM9bS50eXBlKGEpO3JldHVybiJmdW5jdGlvbiI9PT1jfHxtLmlzV2luZG93KGEpPyExOjE9PT1hLm5vZGVUeXBlJiZiPyEwOiJhcnJheSI9PT1jfHwwPT09Ynx8Im51bWJlciI9PXR5cGVvZiBiJiZiPjAmJmItMSBpbiBhfXZhciBzPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxuLG8scCxxLHIscyx0LHU9InNpenpsZSIrLW5ldyBEYXRlLHY9YS5kb2N1bWVudCx3PTAseD0wLHk9Z2IoKSx6PWdiKCksQT1nYigpLEI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWImJihsPSEwKSwwfSxDPSJ1bmRlZmluZWQiLEQ9MTw8MzEsRT17fS5oYXNPd25Qcm9wZXJ0eSxGPVtdLEc9Ri5wb3AsSD1GLnB1c2gsST1GLnB1c2gsSj1GLnNsaWNlLEs9Ri5pbmRleE9mfHxmdW5jdGlvbihhKXtmb3IodmFyIGI9MCxjPXRoaXMubGVuZ3RoO2M+YjtiKyspaWYodGhpc1tiXT09PWEpcmV0dXJuIGI7cmV0dXJuLTF9LEw9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixNPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixOPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTz1OLnJlcGxhY2UoInciLCJ3IyIpLFA9IlxcWyIrTSsiKigiK04rIikoPzoiK00rIiooWypeJHwhfl0/PSkiK00rIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitPKyIpKXwpIitNKyIqXFxdIixRPSI6KCIrTisiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrUCsiKSopfC4qKVxcKXwpIixSPW5ldyBSZWdFeHAoIl4iK00rIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTSsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitNKyIqLCIrTSsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTSsiKihbPit+XXwiK00rIikiK00rIioiKSxVPW5ldyBSZWdFeHAoIj0iK00rIiooW15cXF0nXCJdKj8pIitNKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChRKSxXPW5ldyBSZWdFeHAoIl4iK08rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK04rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTisiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTi5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrUCksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1EpLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTSsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTSsiKig/OihbKy1dfCkiK00rIiooXFxkKyl8KSkiK00rIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0wrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitNKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK00rIiooKD86LVxcZCk/XFxkKikiK00rIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYj0vWyt+XS8sYmI9Lyd8XFwvZyxjYj1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK00rIj98KCIrTSsiKXwuKSIsImlnIiksZGI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9O3RyeXtJLmFwcGx5KEY9Si5jYWxsKHYuY2hpbGROb2Rlcyksdi5jaGlsZE5vZGVzKSxGW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGViKXtJPXthcHBseTpGLmxlbmd0aD9mdW5jdGlvbihhLGIpe0guYXBwbHkoYSxKLmNhbGwoYikpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MDt3aGlsZShhW2MrK109YltkKytdKTthLmxlbmd0aD1jLTF9fX1mdW5jdGlvbiBmYihhLGIsZCxlKXt2YXIgZixoLGosayxsLG8scixzLHcseDtpZigoYj9iLm93bmVyRG9jdW1lbnR8fGI6dikhPT1uJiZtKGIpLGI9Ynx8bixkPWR8fFtdLCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIGQ7aWYoMSE9PShrPWIubm9kZVR5cGUpJiY5IT09aylyZXR1cm5bXTtpZihwJiYhZSl7aWYoZj1fLmV4ZWMoYSkpaWYoaj1mWzFdKXtpZig5PT09ayl7aWYoaD1iLmdldEVsZW1lbnRCeUlkKGopLCFofHwhaC5wYXJlbnROb2RlKXJldHVybiBkO2lmKGguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNlIGlmKGIub3duZXJEb2N1bWVudCYmKGg9Yi5vd25lckRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGopKSYmdChiLGgpJiZoLmlkPT09ailyZXR1cm4gZC5wdXNoKGgpLGR9ZWxzZXtpZihmWzJdKXJldHVybiBJLmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKSksZDtpZigoaj1mWzNdKSYmYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEkuYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTk9PT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYiwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3FiKG9bbF0pO3c9YWIudGVzdChhKSYmb2IoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBJLmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGdiKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBoYihhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGliKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24gamIoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24ga2IoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEQpLSh+YS5zb3VyY2VJbmRleHx8RCk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIGxiKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG1iKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBuYihhKXtyZXR1cm4gaGIoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaGIoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBvYihhKXtyZXR1cm4gYSYmdHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPT1DJiZhfWM9ZmIuc3VwcG9ydD17fSxmPWZiLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWZiLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGU9YT9hLm93bmVyRG9jdW1lbnR8fGE6dixnPWUuZGVmYXVsdFZpZXc7cmV0dXJuIGUhPT1uJiY5PT09ZS5ub2RlVHlwZSYmZS5kb2N1bWVudEVsZW1lbnQ/KG49ZSxvPWUuZG9jdW1lbnRFbGVtZW50LHA9IWYoZSksZyYmZyE9PWcudG9wJiYoZy5hZGRFdmVudExpc3RlbmVyP2cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixmdW5jdGlvbigpe20oKX0sITEpOmcuYXR0YWNoRXZlbnQmJmcuYXR0YWNoRXZlbnQoIm9udW5sb2FkIixmdW5jdGlvbigpe20oKX0pKSxjLmF0dHJpYnV0ZXM9aWIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1pYihmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChlLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSYmaWIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSdhJz48L2Rpdj48ZGl2IGNsYXNzPSdhIGknPjwvZGl2PiIsYS5maXJzdENoaWxkLmNsYXNzTmFtZT0iaSIsMj09PWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiaSIpLmxlbmd0aH0pLGMuZ2V0QnlJZD1pYihmdW5jdGlvbihhKXtyZXR1cm4gby5hcHBlbmRDaGlsZChhKS5pZD11LCFlLmdldEVsZW1lbnRzQnlOYW1lfHwhZS5nZXRFbGVtZW50c0J5TmFtZSh1KS5sZW5ndGh9KSxjLmdldEJ5SWQ/KGQuZmluZC5JRD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiLmdldEVsZW1lbnRCeUlkIT09QyYmcCl7dmFyIGM9Yi5nZXRFbGVtZW50QnlJZChhKTtyZXR1cm4gYyYmYy5wYXJlbnROb2RlP1tjXTpbXX19LGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYixkYik7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgiaWQiKT09PWJ9fSk6KGRlbGV0ZSBkLmZpbmQuSUQsZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGNiLGRiKTtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGM9dHlwZW9mIGEuZ2V0QXR0cmlidXRlTm9kZSE9PUMmJmEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYyYmYy52YWx1ZT09PWJ9fSksZC5maW5kLlRBRz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Qz9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOnZvaWQgMH06ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9MCxmPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk7aWYoIioiPT09YSl7d2hpbGUoYz1mW2UrK10pMT09PWMubm9kZVR5cGUmJmQucHVzaChjKTtyZXR1cm4gZH1yZXR1cm4gZn0sZC5maW5kLkNMQVNTPWMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oYSxiKXtyZXR1cm4gdHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9PUMmJnA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZS5xdWVyeVNlbGVjdG9yQWxsKSkmJihpYihmdW5jdGlvbihhKXthLmlubmVySFRNTD0iPHNlbGVjdCBtc2FsbG93Y2xpcD0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NsaXBePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK00rIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK00rIiooPzp2YWx1ZXwiK0wrIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RofHxxLnB1c2goIjpjaGVja2VkIil9KSxpYihmdW5jdGlvbihhKXt2YXIgYj1lLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Yi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKSxhLmFwcGVuZENoaWxkKGIpLnNldEF0dHJpYnV0ZSgibmFtZSIsIkQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoJiZxLnB1c2goIm5hbWUiK00rIipbKl4kfCF+XT89IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aHx8cS5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLHEucHVzaCgiLC4qOiIpfSkpLChjLm1hdGNoZXNTZWxlY3Rvcj0kLnRlc3Qocz1vLm1hdGNoZXN8fG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxvLm1vek1hdGNoZXNTZWxlY3Rvcnx8by5vTWF0Y2hlc1NlbGVjdG9yfHxvLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmliKGZ1bmN0aW9uKGEpe2MuZGlzY29ubmVjdGVkTWF0Y2g9cy5jYWxsKGEsImRpdiIpLHMuY2FsbChhLCJbcyE9JyddOngiKSxyLnB1c2goIiE9IixRKX0pLHE9cS5sZW5ndGgmJm5ldyBSZWdFeHAocS5qb2luKCJ8IikpLHI9ci5sZW5ndGgmJm5ldyBSZWdFeHAoci5qb2luKCJ8IikpLGI9JC50ZXN0KG8uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHQ9Ynx8JC50ZXN0KG8uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGM9OT09PWEubm9kZVR5cGU/YS5kb2N1bWVudEVsZW1lbnQ6YSxkPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWR8fCEoIWR8fDEhPT1kLm5vZGVUeXBlfHwhKGMuY29udGFpbnM/Yy5jb250YWlucyhkKTphLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpKSl9OmZ1bmN0aW9uKGEsYil7aWYoYil3aGlsZShiPWIucGFyZW50Tm9kZSlpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sQj1iP2Z1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgZD0hYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gZD9kOihkPShhLm93bmVyRG9jdW1lbnR8fGEpPT09KGIub3duZXJEb2N1bWVudHx8Yik/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKToxLDEmZHx8IWMuc29ydERldGFjaGVkJiZiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpPT09ZD9hPT09ZXx8YS5vd25lckRvY3VtZW50PT09diYmdCh2LGEpPy0xOmI9PT1lfHxiLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYik/MTprP0suY2FsbChrLGEpLUsuY2FsbChrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGY9YS5wYXJlbnROb2RlLGc9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFmfHwhZylyZXR1cm4gYT09PWU/LTE6Yj09PWU/MTpmPy0xOmc/MTprP0suY2FsbChrLGEpLUsuY2FsbChrLGIpOjA7aWYoZj09PWcpcmV0dXJuIGtiKGEsYik7Yz1hO3doaWxlKGM9Yy5wYXJlbnROb2RlKWgudW5zaGlmdChjKTtjPWI7d2hpbGUoYz1jLnBhcmVudE5vZGUpaS51bnNoaWZ0KGMpO3doaWxlKGhbZF09PT1pW2RdKWQrKztyZXR1cm4gZD9rYihoW2RdLGlbZF0pOmhbZF09PT12Py0xOmlbZF09PT12PzE6MH0sZSk6bn0sZmIubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBmYihhLG51bGwsbnVsbCxiKX0sZmIubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGEsYil7aWYoKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLGI9Yi5yZXBsYWNlKFUsIj0nJDEnXSIpLCEoIWMubWF0Y2hlc1NlbGVjdG9yfHwhcHx8ciYmci50ZXN0KGIpfHxxJiZxLnRlc3QoYikpKXRyeXt2YXIgZD1zLmNhbGwoYSxiKTtpZihkfHxjLmRpc2Nvbm5lY3RlZE1hdGNofHxhLmRvY3VtZW50JiYxMSE9PWEuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIGR9Y2F0Y2goZSl7fXJldHVybiBmYihiLG4sbnVsbCxbYV0pLmxlbmd0aD4wfSxmYi5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybihhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSx0KGEsYil9LGZiLmF0dHI9ZnVuY3Rpb24oYSxiKXsoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSk7dmFyIGU9ZC5hdHRySGFuZGxlW2IudG9Mb3dlckNhc2UoKV0sZj1lJiZFLmNhbGwoZC5hdHRySGFuZGxlLGIudG9Mb3dlckNhc2UoKSk/ZShhLGIsIXApOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09Zj9mOmMuYXR0cmlidXRlc3x8IXA/YS5nZXRBdHRyaWJ1dGUoYik6KGY9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZi5zcGVjaWZpZWQ/Zi52YWx1ZTpudWxsfSxmYi5lcnJvcj1mdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrYSl9LGZiLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZD1bXSxlPTAsZj0wO2lmKGw9IWMuZGV0ZWN0RHVwbGljYXRlcyxrPSFjLnNvcnRTdGFibGUmJmEuc2xpY2UoMCksYS5zb3J0KEIpLGwpe3doaWxlKGI9YVtmKytdKWI9PT1hW2ZdJiYoZT1kLnB1c2goZikpO3doaWxlKGUtLSlhLnNwbGljZShkW2VdLDEpfXJldHVybiBrPW51bGwsYX0sZT1mYi5nZXRUZXh0PWZ1bmN0aW9uKGEpe3ZhciBiLGM9IiIsZD0wLGY9YS5ub2RlVHlwZTtpZihmKXtpZigxPT09Znx8OT09PWZ8fDExPT09Zil7aWYoInN0cmluZyI9PXR5cGVvZiBhLnRleHRDb250ZW50KXJldHVybiBhLnRleHRDb250ZW50O2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyljKz1lKGEpfWVsc2UgaWYoMz09PWZ8fDQ9PT1mKXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKGI9YVtkKytdKWMrPWUoYik7cmV0dXJuIGN9LGQ9ZmIuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86aGIsbWF0Y2g6WCxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS5yZXBsYWNlKGNiLGRiKSxhWzNdPShhWzNdfHxhWzRdfHxhWzVdfHwiIikucmVwbGFjZShjYixkYiksIn49Ij09PWFbMl0mJihhWzNdPSIgIithWzNdKyIgIiksYS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1hWzFdLnNsaWNlKDAsMyk/KGFbM118fGZiLmVycm9yKGFbMF0pLGFbNF09KyhhWzRdP2FbNV0rKGFbNl18fDEpOjIqKCJldmVuIj09PWFbM118fCJvZGQiPT09YVszXSkpLGFbNV09KyhhWzddK2FbOF18fCJvZGQiPT09YVszXSkpOmFbM10mJmZiLmVycm9yKGFbMF0pLGF9LFBTRVVETzpmdW5jdGlvbihhKXt2YXIgYixjPSFhWzZdJiZhWzJdO3JldHVybiBYLkNISUxELnRlc3QoYVswXSk/bnVsbDooYVszXT9hWzJdPWFbNF18fGFbNV18fCIiOmMmJlYudGVzdChjKSYmKGI9ZyhjLCEwKSkmJihiPWMuaW5kZXhPZigiKSIsYy5sZW5ndGgtYiktYy5sZW5ndGgpJiYoYVswXT1hWzBdLnNsaWNlKDAsYiksYVsyXT1jLnNsaWNlKDAsYikpLGEuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2IsZGIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09YT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yn19LENMQVNTOmZ1bmN0aW9uKGEpe3ZhciBiPXlbYSsiICJdO3JldHVybiBifHwoYj1uZXcgUmVnRXhwKCIoXnwiK00rIikiK2ErIigiK00rInwkKSIpKSYmeShhLGZ1bmN0aW9uKGEpe3JldHVybiBiLnRlc3QoInN0cmluZyI9PXR5cGVvZiBhLmNsYXNzTmFtZSYmYS5jbGFzc05hbWV8fHR5cGVvZiBhLmdldEF0dHJpYnV0ZSE9PUMmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQVRUUjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe3ZhciBlPWZiLmF0dHIoZCxhKTtyZXR1cm4gbnVsbD09ZT8iIT0iPT09YjpiPyhlKz0iIiwiPSI9PT1iP2U9PT1jOiIhPSI9PT1iP2UhPT1jOiJePSI9PT1iP2MmJjA9PT1lLmluZGV4T2YoYyk6Iio9Ij09PWI/YyYmZS5pbmRleE9mKGMpPi0xOiIkPSI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6In49Ij09PWI/KCIgIitlKyIgIikuaW5kZXhPZihjKT4tMToifD0iPT09Yj9lPT09Y3x8ZS5zbGljZSgwLGMubGVuZ3RoKzEpPT09YysiLSI6ITEpOiEwfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0ibnRoIiE9PWEuc2xpY2UoMCwzKSxnPSJsYXN0IiE9PWEuc2xpY2UoLTQpLGg9Im9mLXR5cGUiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixxPWIucGFyZW50Tm9kZSxyPWgmJmIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxzPSFpJiYhaDtpZihxKXtpZihmKXt3aGlsZShwKXtsPWI7d2hpbGUobD1sW3BdKWlmKGg/bC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bC5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9Im9ubHkiPT09YSYmIW8mJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYobz1bZz9xLmZpcnN0Q2hpbGQ6cS5sYXN0Q2hpbGRdLGcmJnMpe2s9cVt1XXx8KHFbdV09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSxtPWpbMF09PT13JiZqWzJdLGw9biYmcS5jaGlsZE5vZGVzW25dO3doaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKDE9PT1sLm5vZGVUeXBlJiYrK20mJmw9PT1iKXtrW2FdPVt3LG4sbV07YnJlYWt9fWVsc2UgaWYocyYmKGo9KGJbdV18fChiW3VdPXt9KSlbYV0pJiZqWzBdPT09dyltPWpbMV07ZWxzZSB3aGlsZShsPSsrbiYmbCYmbFtwXXx8KG09bj0wKXx8by5wb3AoKSlpZigoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKSYmKyttJiYocyYmKChsW3VdfHwobFt1XT17fSkpW2FdPVt3LG1dKSxsPT09YikpYnJlYWs7cmV0dXJuIG0tPWUsbT09PWR8fG0lZD09PTAmJm0vZD49MH19fSxQU0VVRE86ZnVuY3Rpb24oYSxiKXt2YXIgYyxlPWQucHNldWRvc1thXXx8ZC5zZXRGaWx0ZXJzW2EudG9Mb3dlckNhc2UoKV18fGZiLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrYSk7cmV0dXJuIGVbdV0/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsIiIsYl0sZC5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGEudG9Mb3dlckNhc2UoKSk/aGIoZnVuY3Rpb24oYSxjKXt2YXIgZCxmPWUoYSxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSlkPUsuY2FsbChhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDpoYihmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aGIoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksIWMucG9wKCl9fSksaGFzOmhiKGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm4gZmIoYSxiKS5sZW5ndGg+MH19KSxjb250YWluczpoYihmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuKGIudGV4dENvbnRlbnR8fGIuaW5uZXJUZXh0fHxlKGIpKS5pbmRleE9mKGEpPi0xfX0pLGxhbmc6aGIoZnVuY3Rpb24oYSl7cmV0dXJuIFcudGVzdChhfHwiIil8fGZiLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK2EpLGE9YS5yZXBsYWNlKGNiLGRiKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGIpe3ZhciBjO2RvIGlmKGM9cD9iLmxhbmc6Yi5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fGIuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuIGM9Yy50b0xvd2VyQ2FzZSgpLGM9PT1hfHwwPT09Yy5pbmRleE9mKGErIi0iKTt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiYxPT09Yi5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGIpe3ZhciBjPWEubG9jYXRpb24mJmEubG9jYXRpb24uaGFzaDtyZXR1cm4gYyYmYy5zbGljZSgxKT09PWIuaWR9LHJvb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1vfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW4uYWN0aXZlRWxlbWVudCYmKCFuLmhhc0ZvY3VzfHxuLmhhc0ZvY3VzKCkpJiYhIShhLnR5cGV8fGEuaHJlZnx8fmEudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYhIWEuY2hlY2tlZHx8Im9wdGlvbiI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWi50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gWS50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYiYnV0dG9uIj09PWEudHlwZXx8ImJ1dHRvbiI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiJpbnB1dCI9PT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJ0ZXh0Ij09PWEudHlwZSYmKG51bGw9PShiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpfHwidGV4dCI9PT1iLnRvTG93ZXJDYXNlKCkpfSxmaXJzdDpuYihmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6bmIoZnVuY3Rpb24oYSxiKXtyZXR1cm5bYi0xXX0pLGVxOm5iKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm5bMD5jP2MrYjpjXX0pLGV2ZW46bmIoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxvZGQ6bmIoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxsdDpuYihmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA+Yz9jK2I6YzstLWQ+PTA7KWEucHVzaChkKTtyZXR1cm4gYX0pLGd0Om5iKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOysrZDxiOylhLnB1c2goZCk7cmV0dXJuIGF9KX19LGQucHNldWRvcy5udGg9ZC5wc2V1ZG9zLmVxO2ZvcihiIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KWQucHNldWRvc1tiXT1sYihiKTtmb3IoYiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KWQucHNldWRvc1tiXT1tYihiKTtmdW5jdGlvbiBwYigpe31wYi5wcm90b3R5cGU9ZC5maWx0ZXJzPWQucHNldWRvcyxkLnNldEZpbHRlcnM9bmV3IHBiLGc9ZmIudG9rZW5pemU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGksaixrPXpbYSsiICJdO2lmKGspcmV0dXJuIGI/MDprLnNsaWNlKDApO2g9YSxpPVtdLGo9ZC5wcmVGaWx0ZXI7d2hpbGUoaCl7KCFjfHwoZT1TLmV4ZWMoaCkpKSYmKGUmJihoPWguc2xpY2UoZVswXS5sZW5ndGgpfHxoKSxpLnB1c2goZj1bXSkpLGM9ITEsKGU9VC5leGVjKGgpKSYmKGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmVbMF0ucmVwbGFjZShSLCIgIil9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtmb3IoZyBpbiBkLmZpbHRlcikhKGU9WFtnXS5leGVjKGgpKXx8altnXSYmIShlPWpbZ10oZSkpfHwoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZyxtYXRjaGVzOmV9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtpZighYylicmVha31yZXR1cm4gYj9oLmxlbmd0aDpoP2ZiLmVycm9yKGEpOnooYSxpKS5zbGljZSgwKX07ZnVuY3Rpb24gcWIoYSl7Zm9yKHZhciBiPTAsYz1hLmxlbmd0aCxkPSIiO2M+YjtiKyspZCs9YVtiXS52YWx1ZTtyZXR1cm4gZH1mdW5jdGlvbiByYihhLGIsYyl7dmFyIGQ9Yi5kaXIsZT1jJiYicGFyZW50Tm9kZSI9PT1kLGY9eCsrO3JldHVybiBiLmZpcnN0P2Z1bmN0aW9uKGIsYyxmKXt3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpcmV0dXJuIGEoYixjLGYpfTpmdW5jdGlvbihiLGMsZyl7dmFyIGgsaSxqPVt3LGZdO2lmKGcpe3doaWxlKGI9YltkXSlpZigoMT09PWIubm9kZVR5cGV8fGUpJiZhKGIsYyxnKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSl7aWYoaT1iW3VdfHwoYlt1XT17fSksKGg9aVtkXSkmJmhbMF09PT13JiZoWzFdPT09ZilyZXR1cm4galsyXT1oWzJdO2lmKGlbZF09aixqWzJdPWEoYixjLGcpKXJldHVybiEwfX19ZnVuY3Rpb24gc2IoYSl7cmV0dXJuIGEubGVuZ3RoPjE/ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEubGVuZ3RoO3doaWxlKGUtLSlpZighYVtlXShiLGMsZCkpcmV0dXJuITE7cmV0dXJuITB9OmFbMF19ZnVuY3Rpb24gdGIoYSxiLGMpe2Zvcih2YXIgZD0wLGU9Yi5sZW5ndGg7ZT5kO2QrKylmYihhLGJbZF0sYyk7cmV0dXJuIGN9ZnVuY3Rpb24gdWIoYSxiLGMsZCxlKXtmb3IodmFyIGYsZz1bXSxoPTAsaT1hLmxlbmd0aCxqPW51bGwhPWI7aT5oO2grKykoZj1hW2hdKSYmKCFjfHxjKGYsZCxlKSkmJihnLnB1c2goZiksaiYmYi5wdXNoKGgpKTtyZXR1cm4gZ31mdW5jdGlvbiB2YihhLGIsYyxkLGUsZil7cmV0dXJuIGQmJiFkW3VdJiYoZD12YihkKSksZSYmIWVbdV0mJihlPXZiKGUsZikpLGhiKGZ1bmN0aW9uKGYsZyxoLGkpe3ZhciBqLGssbCxtPVtdLG49W10sbz1nLmxlbmd0aCxwPWZ8fHRiKGJ8fCIqIixoLm5vZGVUeXBlP1toXTpoLFtdKSxxPSFhfHwhZiYmYj9wOnViKHAsbSxhLGgsaSkscj1jP2V8fChmP2E6b3x8ZCk/W106ZzpxO2lmKGMmJmMocSxyLGgsaSksZCl7aj11YihyLG4pLGQoaixbXSxoLGkpLGs9ai5sZW5ndGg7d2hpbGUoay0tKShsPWpba10pJiYocltuW2tdXT0hKHFbbltrXV09bCkpfWlmKGYpe2lmKGV8fGEpe2lmKGUpe2o9W10saz1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJmoucHVzaChxW2tdPWwpO2UobnVsbCxyPVtdLGosaSl9az1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJihqPWU/Sy5jYWxsKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj11YihyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SS5hcHBseShnLHIpfSl9ZnVuY3Rpb24gd2IoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1yYihmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9cmIoZnVuY3Rpb24oYSl7cmV0dXJuIEsuY2FsbChiLGEpPi0xfSxoLCEwKSxtPVtmdW5jdGlvbihhLGMsZCl7cmV0dXJuIWcmJihkfHxjIT09ail8fCgoYj1jKS5ub2RlVHlwZT9rKGEsYyxkKTpsKGEsYyxkKSl9XTtmPmk7aSsrKWlmKGM9ZC5yZWxhdGl2ZVthW2ldLnR5cGVdKW09W3JiKHNiKG0pLGMpXTtlbHNle2lmKGM9ZC5maWx0ZXJbYVtpXS50eXBlXS5hcHBseShudWxsLGFbaV0ubWF0Y2hlcyksY1t1XSl7Zm9yKGU9KytpO2Y+ZTtlKyspaWYoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKWJyZWFrO3JldHVybiB2YihpPjEmJnNiKG0pLGk+MSYmcWIoYS5zbGljZSgwLGktMSkuY29uY2F0KHt2YWx1ZToiICI9PT1hW2ktMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShSLCIkMSIpLGMsZT5pJiZ3YihhLnNsaWNlKGksZSkpLGY+ZSYmd2IoYT1hLnNsaWNlKGUpKSxmPmUmJnFiKGEpKX1tLnB1c2goYyl9cmV0dXJuIHNiKG0pfWZ1bmN0aW9uIHhiKGEsYil7dmFyIGM9Yi5sZW5ndGg+MCxlPWEubGVuZ3RoPjAsZj1mdW5jdGlvbihmLGcsaCxpLGspe3ZhciBsLG0sbyxwPTAscT0iMCIscj1mJiZbXSxzPVtdLHQ9aix1PWZ8fGUmJmQuZmluZC5UQUcoIioiLGspLHY9dys9bnVsbD09dD8xOk1hdGgucmFuZG9tKCl8fC4xLHg9dS5sZW5ndGg7Zm9yKGsmJihqPWchPT1uJiZnKTtxIT09eCYmbnVsbCE9KGw9dVtxXSk7cSsrKXtpZihlJiZsKXttPTA7d2hpbGUobz1hW20rK10paWYobyhsLGcsaCkpe2kucHVzaChsKTticmVha31rJiYodz12KX1jJiYoKGw9IW8mJmwpJiZwLS0sZiYmci5wdXNoKGwpKX1pZihwKz1xLGMmJnEhPT1wKXttPTA7d2hpbGUobz1iW20rK10pbyhyLHMsZyxoKTtpZihmKXtpZihwPjApd2hpbGUocS0tKXJbcV18fHNbcV18fChzW3FdPUcuY2FsbChpKSk7cz11YihzKX1JLmFwcGx5KGkscyksayYmIWYmJnMubGVuZ3RoPjAmJnArYi5sZW5ndGg+MSYmZmIudW5pcXVlU29ydChpKX1yZXR1cm4gayYmKHc9dixqPXQpLHJ9O3JldHVybiBjP2hiKGYpOmZ9cmV0dXJuIGg9ZmIuY29tcGlsZT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1bXSxmPUFbYSsiICJdO2lmKCFmKXtifHwoYj1nKGEpKSxjPWIubGVuZ3RoO3doaWxlKGMtLSlmPXdiKGJbY10pLGZbdV0/ZC5wdXNoKGYpOmUucHVzaChmKTtmPUEoYSx4YihlLGQpKSxmLnNlbGVjdG9yPWF9cmV0dXJuIGZ9LGk9ZmIuc2VsZWN0PWZ1bmN0aW9uKGEsYixlLGYpe3ZhciBpLGosayxsLG0sbj0iZnVuY3Rpb24iPT10eXBlb2YgYSYmYSxvPSFmJiZnKGE9bi5zZWxlY3Rvcnx8YSk7aWYoZT1lfHxbXSwxPT09by5sZW5ndGgpe2lmKGo9b1swXT1vWzBdLnNsaWNlKDApLGoubGVuZ3RoPjImJiJJRCI9PT0oaz1qWzBdKS50eXBlJiZjLmdldEJ5SWQmJjk9PT1iLm5vZGVUeXBlJiZwJiZkLnJlbGF0aXZlW2pbMV0udHlwZV0pe2lmKGI9KGQuZmluZC5JRChrLm1hdGNoZXNbMF0ucmVwbGFjZShjYixkYiksYil8fFtdKVswXSwhYilyZXR1cm4gZTtuJiYoYj1iLnBhcmVudE5vZGUpLGE9YS5zbGljZShqLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1pPVgubmVlZHNDb250ZXh0LnRlc3QoYSk/MDpqLmxlbmd0aDt3aGlsZShpLS0pe2lmKGs9altpXSxkLnJlbGF0aXZlW2w9ay50eXBlXSlicmVhaztpZigobT1kLmZpbmRbbF0pJiYoZj1tKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNiLGRiKSxhYi50ZXN0KGpbMF0udHlwZSkmJm9iKGIucGFyZW50Tm9kZSl8fGIpKSl7aWYoai5zcGxpY2UoaSwxKSxhPWYubGVuZ3RoJiZxYihqKSwhYSlyZXR1cm4gSS5hcHBseShlLGYpLGU7YnJlYWt9fX1yZXR1cm4obnx8aChhLG8pKShmLGIsIXAsZSxhYi50ZXN0KGEpJiZvYihiLnBhcmVudE5vZGUpfHxiKSxlfSxjLnNvcnRTdGFibGU9dS5zcGxpdCgiIikuc29ydChCKS5qb2luKCIiKT09PXUsYy5kZXRlY3REdXBsaWNhdGVzPSEhbCxtKCksYy5zb3J0RGV0YWNoZWQ9aWIoZnVuY3Rpb24oYSl7cmV0dXJuIDEmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuLmNyZWF0ZUVsZW1lbnQoImRpdiIpKX0pLGliKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsIiMiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGpiKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmEuZ2V0QXR0cmlidXRlKGIsInR5cGUiPT09Yi50b0xvd2VyQ2FzZSgpPzE6Mil9KSxjLmF0dHJpYnV0ZXMmJmliKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGlucHV0Lz4iLGEuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksIiI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGpiKCJ2YWx1ZSIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjfHwiaW5wdXQiIT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP3ZvaWQgMDphLmRlZmF1bHRWYWx1ZX0pLGliKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pfHxqYihMLGZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYz92b2lkIDA6YVtiXT09PSEwP2IudG9Mb3dlckNhc2UoKTooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZkLnNwZWNpZmllZD9kLnZhbHVlOm51bGx9KSxmYn0oYSk7bS5maW5kPXMsbS5leHByPXMuc2VsZWN0b3JzLG0uZXhwclsiOiJdPW0uZXhwci5wc2V1ZG9zLG0udW5pcXVlPXMudW5pcXVlU29ydCxtLnRleHQ9cy5nZXRUZXh0LG0uaXNYTUxEb2M9cy5pc1hNTCxtLmNvbnRhaW5zPXMuY29udGFpbnM7dmFyIHQ9bS5leHByLm1hdGNoLm5lZWRzQ29udGV4dCx1PS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPnwpJC8sdj0vXi5bXjojXFtcLixdKiQvO2Z1bmN0aW9uIHcoYSxiLGMpe2lmKG0uaXNGdW5jdGlvbihiKSlyZXR1cm4gbS5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4hIWIuY2FsbChhLGQsYSkhPT1jfSk7aWYoYi5ub2RlVHlwZSlyZXR1cm4gbS5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1iIT09Y30pO2lmKCJzdHJpbmciPT10eXBlb2YgYil7aWYodi50ZXN0KGIpKXJldHVybiBtLmZpbHRlcihiLGEsYyk7Yj1tLmZpbHRlcihiLGEpfXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gbS5pbkFycmF5KGEsYik+PTAhPT1jfSl9bS5maWx0ZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbMF07cmV0dXJuIGMmJihhPSI6bm90KCIrYSsiKSIpLDE9PT1iLmxlbmd0aCYmMT09PWQubm9kZVR5cGU/bS5maW5kLm1hdGNoZXNTZWxlY3RvcihkLGEpP1tkXTpbXTptLmZpbmQubWF0Y2hlcyhhLG0uZ3JlcChiLGZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZX0pKX0sbS5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPXRoaXMsZT1kLmxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIHRoaXMucHVzaFN0YWNrKG0oYSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGI9MDtlPmI7YisrKWlmKG0uY29udGFpbnMoZFtiXSx0aGlzKSlyZXR1cm4hMH0pKTtmb3IoYj0wO2U+YjtiKyspbS5maW5kKGEsZFtiXSxjKTtyZXR1cm4gYz10aGlzLnB1c2hTdGFjayhlPjE/bS51bmlxdWUoYyk6YyksYy5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yP3RoaXMuc2VsZWN0b3IrIiAiK2E6YSxjfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHcodGhpcyxhfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHcodGhpcyxhfHxbXSwhMCkpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIXcodGhpcywic3RyaW5nIj09dHlwZW9mIGEmJnQudGVzdChhKT9tKGEpOmF8fFtdLCExKS5sZW5ndGh9fSk7dmFyIHgseT1hLmRvY3VtZW50LHo9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0qKSkkLyxBPW0uZm4uaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7aWYoIWEpcmV0dXJuIHRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiBhKXtpZihjPSI8Ij09PWEuY2hhckF0KDApJiYiPiI9PT1hLmNoYXJBdChhLmxlbmd0aC0xKSYmYS5sZW5ndGg+PTM/W251bGwsYSxudWxsXTp6LmV4ZWMoYSksIWN8fCFjWzFdJiZiKXJldHVybiFifHxiLmpxdWVyeT8oYnx8eCkuZmluZChhKTp0aGlzLmNvbnN0cnVjdG9yKGIpLmZpbmQoYSk7aWYoY1sxXSl7aWYoYj1iIGluc3RhbmNlb2YgbT9iWzBdOmIsbS5tZXJnZSh0aGlzLG0ucGFyc2VIVE1MKGNbMV0sYiYmYi5ub2RlVHlwZT9iLm93bmVyRG9jdW1lbnR8fGI6eSwhMCkpLHUudGVzdChjWzFdKSYmbS5pc1BsYWluT2JqZWN0KGIpKWZvcihjIGluIGIpbS5pc0Z1bmN0aW9uKHRoaXNbY10pP3RoaXNbY10oYltjXSk6dGhpcy5hdHRyKGMsYltjXSk7cmV0dXJuIHRoaXN9aWYoZD15LmdldEVsZW1lbnRCeUlkKGNbMl0pLGQmJmQucGFyZW50Tm9kZSl7aWYoZC5pZCE9PWNbMl0pcmV0dXJuIHguZmluZChhKTt0aGlzLmxlbmd0aD0xLHRoaXNbMF09ZH1yZXR1cm4gdGhpcy5jb250ZXh0PXksdGhpcy5zZWxlY3Rvcj1hLHRoaXN9cmV0dXJuIGEubm9kZVR5cGU/KHRoaXMuY29udGV4dD10aGlzWzBdPWEsdGhpcy5sZW5ndGg9MSx0aGlzKTptLmlzRnVuY3Rpb24oYSk/InVuZGVmaW5lZCIhPXR5cGVvZiB4LnJlYWR5P3gucmVhZHkoYSk6YShtKToodm9pZCAwIT09YS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9YS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9YS5jb250ZXh0KSxtLm1ha2VBcnJheShhLHRoaXMpKX07QS5wcm90b3R5cGU9bS5mbix4PW0oeSk7dmFyIEI9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sQz17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTttLmV4dGVuZCh7ZGlyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWFbYl07d2hpbGUoZSYmOSE9PWUubm9kZVR5cGUmJih2b2lkIDA9PT1jfHwxIT09ZS5ub2RlVHlwZXx8IW0oZSkuaXMoYykpKTE9PT1lLm5vZGVUeXBlJiZkLnB1c2goZSksZT1lW2JdO3JldHVybiBkfSxzaWJsaW5nOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdO2E7YT1hLm5leHRTaWJsaW5nKTE9PT1hLm5vZGVUeXBlJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfX0pLG0uZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oYSl7dmFyIGIsYz1tKGEsdGhpcyksZD1jLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2Q+YjtiKyspaWYobS5jb250YWlucyh0aGlzLGNbYl0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZD0wLGU9dGhpcy5sZW5ndGgsZj1bXSxnPXQudGVzdChhKXx8InN0cmluZyIhPXR5cGVvZiBhP20oYSxifHx0aGlzLmNvbnRleHQpOjA7ZT5kO2QrKylmb3IoYz10aGlzW2RdO2MmJmMhPT1iO2M9Yy5wYXJlbnROb2RlKWlmKGMubm9kZVR5cGU8MTEmJihnP2cuaW5kZXgoYyk+LTE6MT09PWMubm9kZVR5cGUmJm0uZmluZC5tYXRjaGVzU2VsZWN0b3IoYyxhKSkpe2YucHVzaChjKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soZi5sZW5ndGg+MT9tLnVuaXF1ZShmKTpmKX0saW5kZXg6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/InN0cmluZyI9PXR5cGVvZiBhP20uaW5BcnJheSh0aGlzWzBdLG0oYSkpOm0uaW5BcnJheShhLmpxdWVyeT9hWzBdOmEsdGhpcyk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS51bmlxdWUobS5tZXJnZSh0aGlzLmdldCgpLG0oYSxiKSkpKX0sYWRkQmFjazpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09YT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihhKSl9fSk7ZnVuY3Rpb24gRChhLGIpe2RvIGE9YVtiXTt3aGlsZShhJiYxIT09YS5ub2RlVHlwZSk7cmV0dXJuIGF9bS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5wYXJlbnROb2RlO3JldHVybiBiJiYxMSE9PWIubm9kZVR5cGU/YjpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBtLmRpcihhLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiLGMpfSxuZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBEKGEsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBtLmRpcihhLCJuZXh0U2libGluZyIsYyl9LHByZXZVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsInByZXZpb3VzU2libGluZyIsYyl9LHNpYmxpbmdzOmZ1bmN0aW9uKGEpe3JldHVybiBtLnNpYmxpbmcoKGEucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsYSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGEpe3JldHVybiBtLnNpYmxpbmcoYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaWZyYW1lIik/YS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudDptLm1lcmdlKFtdLGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe20uZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1tLm1hcCh0aGlzLGIsYyk7cmV0dXJuIlVudGlsIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiYic3RyaW5nIj09dHlwZW9mIGQmJihlPW0uZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihDW2FdfHwoZT1tLnVuaXF1ZShlKSksQi50ZXN0KGEpJiYoZT1lLnJldmVyc2UoKSkpLHRoaXMucHVzaFN0YWNrKGUpfX0pO3ZhciBFPS9cUysvZyxGPXt9O2Z1bmN0aW9uIEcoYSl7dmFyIGI9RlthXT17fTtyZXR1cm4gbS5lYWNoKGEubWF0Y2goRSl8fFtdLGZ1bmN0aW9uKGEsYyl7YltjXT0hMH0pLGJ9bS5DYWxsYmFja3M9ZnVuY3Rpb24oYSl7YT0ic3RyaW5nIj09dHlwZW9mIGE/RlthXXx8RyhhKTptLmV4dGVuZCh7fSxhKTt2YXIgYixjLGQsZSxmLGcsaD1bXSxpPSFhLm9uY2UmJltdLGo9ZnVuY3Rpb24obCl7Zm9yKGM9YS5tZW1vcnkmJmwsZD0hMCxmPWd8fDAsZz0wLGU9aC5sZW5ndGgsYj0hMDtoJiZlPmY7ZisrKWlmKGhbZl0uYXBwbHkobFswXSxsWzFdKT09PSExJiZhLnN0b3BPbkZhbHNlKXtjPSExO2JyZWFrfWI9ITEsaCYmKGk/aS5sZW5ndGgmJmooaS5zaGlmdCgpKTpjP2g9W106ay5kaXNhYmxlKCkpfSxrPXthZGQ6ZnVuY3Rpb24oKXtpZihoKXt2YXIgZD1oLmxlbmd0aDshZnVuY3Rpb24gZihiKXttLmVhY2goYixmdW5jdGlvbihiLGMpe3ZhciBkPW0udHlwZShjKTsiZnVuY3Rpb24iPT09ZD9hLnVuaXF1ZSYmay5oYXMoYyl8fGgucHVzaChjKTpjJiZjLmxlbmd0aCYmInN0cmluZyIhPT1kJiZmKGMpfSl9KGFyZ3VtZW50cyksYj9lPWgubGVuZ3RoOmMmJihnPWQsaihjKSl9cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBoJiZtLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYyl7dmFyIGQ7d2hpbGUoKGQ9bS5pbkFycmF5KGMsaCxkKSk+LTEpaC5zcGxpY2UoZCwxKSxiJiYoZT49ZCYmZS0tLGY+PWQmJmYtLSl9KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bS5pbkFycmF5KGEsaCk+LTE6ISghaHx8IWgubGVuZ3RoKX0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gaD1bXSxlPTAsdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBoPWk9Yz12b2lkIDAsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4haH0sbG9jazpmdW5jdGlvbigpe3JldHVybiBpPXZvaWQgMCxjfHxrLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4haX0sZmlyZVdpdGg6ZnVuY3Rpb24oYSxjKXtyZXR1cm4haHx8ZCYmIWl8fChjPWN8fFtdLGM9W2EsYy5zbGljZT9jLnNsaWNlKCk6Y10sYj9pLnB1c2goYyk6aihjKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBrLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhZH19O3JldHVybiBrfSxtLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9W1sicmVzb2x2ZSIsImRvbmUiLG0uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlamVjdGVkIl0sWyJub3RpZnkiLCJwcm9ncmVzcyIsbS5DYWxsYmFja3MoIm1lbW9yeSIpXV0sYz0icGVuZGluZyIsZD17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzO3JldHVybiBtLkRlZmVycmVkKGZ1bmN0aW9uKGMpe20uZWFjaChiLGZ1bmN0aW9uKGIsZil7dmFyIGc9bS5pc0Z1bmN0aW9uKGFbYl0pJiZhW2JdO2VbZlsxXV0oZnVuY3Rpb24oKXt2YXIgYT1nJiZnLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthJiZtLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9hLnByb21pc2UoKS5kb25lKGMucmVzb2x2ZSkuZmFpbChjLnJlamVjdCkucHJvZ3Jlc3MoYy5ub3RpZnkpOmNbZlswXSsiV2l0aCJdKHRoaXM9PT1kP2MucHJvbWlzZSgpOnRoaXMsZz9bYV06YXJndW1lbnRzKX0pfSksYT1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hP20uZXh0ZW5kKGEsZCk6ZH19LGU9e307cmV0dXJuIGQucGlwZT1kLnRoZW4sbS5lYWNoKGIsZnVuY3Rpb24oYSxmKXt2YXIgZz1mWzJdLGg9ZlszXTtkW2ZbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7Yz1ofSxiWzFeYV1bMl0uZGlzYWJsZSxiWzJdWzJdLmxvY2spLGVbZlswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZVtmWzBdKyJXaXRoIl0odGhpcz09PWU/ZDp0aGlzLGFyZ3VtZW50cyksdGhpc30sZVtmWzBdKyJXaXRoIl09Zy5maXJlV2l0aH0pLGQucHJvbWlzZShlKSxhJiZhLmNhbGwoZSxlKSxlfSx3aGVuOmZ1bmN0aW9uKGEpe3ZhciBiPTAsYz1kLmNhbGwoYXJndW1lbnRzKSxlPWMubGVuZ3RoLGY9MSE9PWV8fGEmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2U6MCxnPTE9PT1mP2E6bS5EZWZlcnJlZCgpLGg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihlKXtiW2FdPXRoaXMsY1thXT1hcmd1bWVudHMubGVuZ3RoPjE/ZC5jYWxsKGFyZ3VtZW50cyk6ZSxjPT09aT9nLm5vdGlmeVdpdGgoYixjKTotLWZ8fGcucmVzb2x2ZVdpdGgoYixjKX19LGksaixrO2lmKGU+MSlmb3IoaT1uZXcgQXJyYXkoZSksaj1uZXcgQXJyYXkoZSksaz1uZXcgQXJyYXkoZSk7ZT5iO2IrKyljW2JdJiZtLmlzRnVuY3Rpb24oY1tiXS5wcm9taXNlKT9jW2JdLnByb21pc2UoKS5kb25lKGgoYixrLGMpKS5mYWlsKGcucmVqZWN0KS5wcm9ncmVzcyhoKGIsaixpKSk6LS1mO3JldHVybiBmfHxnLnJlc29sdmVXaXRoKGssYyksZy5wcm9taXNlKCl9fSk7dmFyIEg7bS5mbi5yZWFkeT1mdW5jdGlvbihhKXtyZXR1cm4gbS5yZWFkeS5wcm9taXNlKCkuZG9uZShhKSx0aGlzfSxtLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9tLnJlYWR5V2FpdCsrOm0ucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXtpZihhPT09ITA/IS0tbS5yZWFkeVdhaXQ6IW0uaXNSZWFkeSl7aWYoIXkuYm9keSlyZXR1cm4gc2V0VGltZW91dChtLnJlYWR5KTttLmlzUmVhZHk9ITAsYSE9PSEwJiYtLW0ucmVhZHlXYWl0PjB8fChILnJlc29sdmVXaXRoKHksW21dKSxtLmZuLnRyaWdnZXJIYW5kbGVyJiYobSh5KS50cmlnZ2VySGFuZGxlcigicmVhZHkiKSxtKHkpLm9mZigicmVhZHkiKSkpfX19KTtmdW5jdGlvbiBJKCl7eS5hZGRFdmVudExpc3RlbmVyPyh5LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSkpOih5LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuZGV0YWNoRXZlbnQoIm9ubG9hZCIsSikpfWZ1bmN0aW9uIEooKXsoeS5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1ldmVudC50eXBlfHwiY29tcGxldGUiPT09eS5yZWFkeVN0YXRlKSYmKEkoKSxtLnJlYWR5KCkpfW0ucmVhZHkucHJvbWlzZT1mdW5jdGlvbihiKXtpZighSClpZihIPW0uRGVmZXJyZWQoKSwiY29tcGxldGUiPT09eS5yZWFkeVN0YXRlKXNldFRpbWVvdXQobS5yZWFkeSk7ZWxzZSBpZih5LmFkZEV2ZW50TGlzdGVuZXIpeS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixKLCExKSxhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLEosITEpO2Vsc2V7eS5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixKKSxhLmF0dGFjaEV2ZW50KCJvbmxvYWQiLEopO3ZhciBjPSExO3RyeXtjPW51bGw9PWEuZnJhbWVFbGVtZW50JiZ5LmRvY3VtZW50RWxlbWVudH1jYXRjaChkKXt9YyYmYy5kb1Njcm9sbCYmIWZ1bmN0aW9uIGUoKXtpZighbS5pc1JlYWR5KXt0cnl7Yy5kb1Njcm9sbCgibGVmdCIpfWNhdGNoKGEpe3JldHVybiBzZXRUaW1lb3V0KGUsNTApfUkoKSxtLnJlYWR5KCl9fSgpfXJldHVybiBILnByb21pc2UoYil9O3ZhciBLPSJ1bmRlZmluZWQiLEw7Zm9yKEwgaW4gbShrKSlicmVhaztrLm93bkxhc3Q9IjAiIT09TCxrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9ITEsbShmdW5jdGlvbigpe3ZhciBhLGIsYyxkO2M9eS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLGMmJmMuc3R5bGUmJihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9ImRpc3BsYXk6aW5saW5lO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD1hPTM9PT1iLm9mZnNldFdpZHRoLGEmJihjLnN0eWxlLnpvb209MSkpLGMucmVtb3ZlQ2hpbGQoZCkpfSksZnVuY3Rpb24oKXt2YXIgYT15LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG51bGw9PWsuZGVsZXRlRXhwYW5kbyl7ay5kZWxldGVFeHBhbmRvPSEwO3RyeXtkZWxldGUgYS50ZXN0fWNhdGNoKGIpe2suZGVsZXRlRXhwYW5kbz0hMX19YT1udWxsfSgpLG0uYWNjZXB0RGF0YT1mdW5jdGlvbihhKXt2YXIgYj1tLm5vRGF0YVsoYS5ub2RlTmFtZSsiICIpLnRvTG93ZXJDYXNlKCldLGM9K2Eubm9kZVR5cGV8fDE7cmV0dXJuIDEhPT1jJiY5IT09Yz8hMTohYnx8YiE9PSEwJiZhLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpPT09Yn07dmFyIE09L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxOPS8oW0EtWl0pL2c7ZnVuY3Rpb24gTyhhLGIsYyl7aWYodm9pZCAwPT09YyYmMT09PWEubm9kZVR5cGUpe3ZhciBkPSJkYXRhLSIrYi5yZXBsYWNlKE4sIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYoYz1hLmdldEF0dHJpYnV0ZShkKSwic3RyaW5nIj09dHlwZW9mIGMpe3RyeXtjPSJ0cnVlIj09PWM/ITA6ImZhbHNlIj09PWM/ITE6Im51bGwiPT09Yz9udWxsOitjKyIiPT09Yz8rYzpNLnRlc3QoYyk/bS5wYXJzZUpTT04oYyk6Y31jYXRjaChlKXt9bS5kYXRhKGEsYixjKX1lbHNlIGM9dm9pZCAwfXJldHVybiBjfWZ1bmN0aW9uIFAoYSl7dmFyIGI7Zm9yKGIgaW4gYSlpZigoImRhdGEiIT09Ynx8IW0uaXNFbXB0eU9iamVjdChhW2JdKSkmJiJ0b0pTT04iIT09YilyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBRKGEsYixkLGUpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGYsZyxoPW0uZXhwYW5kbyxpPWEubm9kZVR5cGUsaj1pP20uY2FjaGU6YSxrPWk/YVtoXTphW2hdJiZoOwppZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWIoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYigpe3JldHVybiExfWZ1bmN0aW9uIGNiKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2IoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYigpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWI6YmIpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJiLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJiLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJiLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFiLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWIsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWIsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmI7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRiKGEpe3ZhciBiPWViLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYj0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmI9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYj1uZXcgUmVnRXhwKCI8KD86IitlYisiKVtcXHMvPl0iLCJpIiksaGI9L15ccysvLGliPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamI9LzwoW1x3Ol0rKS8sa2I9Lzx0Ym9keS9pLGxiPS88fCYjP1x3KzsvLG1iPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmI9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2I9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBiPS9edHJ1ZVwvKC4qKS8scWI9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJiPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2I9ZGIoeSksdGI9c2IuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmIub3B0Z3JvdXA9cmIub3B0aW9uLHJiLnRib2R5PXJiLnRmb290PXJiLmNvbGdyb3VwPXJiLmNhcHRpb249cmIudGhlYWQscmIudGg9cmIudGQ7ZnVuY3Rpb24gdWIoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWIoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZiKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdiKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YihhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWIoYSl7dmFyIGI9cGIuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YihhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYihhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYihhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGIoYikudGV4dD1hLnRleHQseWIoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYi50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRiLmlubmVySFRNTD1hLm91dGVySFRNTCx0Yi5yZW1vdmVDaGlsZChmPXRiLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YihmKSxoPXViKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmIoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWIoYSksZD1kfHx1YihmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFiKGUsZFtnXSk7ZWxzZSBBYihhLGYpO3JldHVybiBkPXViKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnpiKGQsIWkmJnViKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYihiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYi50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamIuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJiW2ldfHxyYi5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYiwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhiLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhiLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2IudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYi50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHViKHAsImlucHV0IiksdmIpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXViKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnpiKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2IudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13Yih0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdiKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWIoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6Yih1YihjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHViKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmIsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWIudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2IudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhiLnRlc3QoYSl8fHJiWyhqYi5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGliLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YihiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWIodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5iLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YihpLCJzY3JpcHQiKSx4YiksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWIoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWIpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYi50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWIsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENiLERiPXt9O2Z1bmN0aW9uIEViKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYihhKXt2YXIgYj15LGM9RGJbYV07cmV0dXJuIGN8fChjPUViKGEsYiksIm5vbmUiIT09YyYmY3x8KENiPShDYnx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2JbMF0uY29udGVudFdpbmRvd3x8Q2JbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWIoYSxiKSxDYi5kZXRhY2goKSksRGJbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYj0vXm1hcmdpbi8sSGI9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYixKYixLYj0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSxudWxsKX0sSmI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxJYihhKSxnPWM/Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdOnZvaWQgMCxjJiYoIiIhPT1nfHxtLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKXx8KGc9bS5zdHlsZShhLGIpKSxIYi50ZXN0KGcpJiZHYi50ZXN0KGIpJiYoZD1oLndpZHRoLGU9aC5taW5XaWR0aCxmPWgubWF4V2lkdGgsaC5taW5XaWR0aD1oLm1heFdpZHRoPWgud2lkdGg9ZyxnPWMud2lkdGgsaC53aWR0aD1kLGgubWluV2lkdGg9ZSxoLm1heFdpZHRoPWYpKSx2b2lkIDA9PT1nP2c6ZysiIn0pOnkuZG9jdW1lbnRFbGVtZW50LmN1cnJlbnRTdHlsZSYmKEliPWZ1bmN0aW9uKGEpe3JldHVybiBhLmN1cnJlbnRTdHlsZX0sSmI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxJYihhKSxnPWM/Y1tiXTp2b2lkIDAsbnVsbD09ZyYmaCYmaFtiXSYmKGc9aFtiXSksSGIudGVzdChnKSYmIUtiLnRlc3QoYikmJihkPWgubGVmdCxlPWEucnVudGltZVN0eWxlLGY9ZSYmZS5sZWZ0LGYmJihlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdCksaC5sZWZ0PSJmb250U2l6ZSI9PT1iPyIxZW0iOmcsZz1oLnBpeGVsTGVmdCsicHgiLGgubGVmdD1kLGYmJihlLmxlZnQ9ZikpLHZvaWQgMD09PWc/ZzpnKyIifHwiYXV0byJ9KTtmdW5jdGlvbiBMYihhLGIpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXt2YXIgYz1hKCk7aWYobnVsbCE9YylyZXR1cm4gYz92b2lkIGRlbGV0ZSB0aGlzLmdldDoodGhpcy5nZXQ9YikuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19IWZ1bmN0aW9uKCl7dmFyIGIsYyxkLGUsZixnLGg7aWYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGIuaW5uZXJIVE1MPSIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iLGQ9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdLGM9ZCYmZC5zdHlsZSl7Yy5jc3NUZXh0PSJmbG9hdDpsZWZ0O29wYWNpdHk6LjUiLGsub3BhY2l0eT0iMC41Ij09PWMub3BhY2l0eSxrLmNzc0Zsb2F0PSEhYy5jc3NGbG9hdCxiLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsYi5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLGsuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1iLnN0eWxlLmJhY2tncm91bmRDbGlwLGsuYm94U2l6aW5nPSIiPT09Yy5ib3hTaXppbmd8fCIiPT09Yy5Nb3pCb3hTaXppbmd8fCIiPT09Yy5XZWJraXRCb3hTaXppbmcsbS5leHRlbmQoayx7cmVsaWFibGVIaWRkZW5PZmZzZXRzOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWcmJmkoKSxnfSxib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBudWxsPT1mJiZpKCksZn0scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBudWxsPT1lJiZpKCksZX0scmVsaWFibGVNYXJnaW5SaWdodDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1oJiZpKCksaH19KTtmdW5jdGlvbiBpKCl7dmFyIGIsYyxkLGk7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSxiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MSU7dG9wOjElO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7d2lkdGg6NHB4O3Bvc2l0aW9uOmFic29sdXRlIixlPWY9ITEsaD0hMCxhLmdldENvbXB1dGVkU3R5bGUmJihlPSIxJSIhPT0oYS5nZXRDb21wdXRlZFN0eWxlKGIsbnVsbCl8fHt9KS50b3AsZj0iNHB4Ij09PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e3dpZHRoOiI0cHgifSkud2lkdGgsaT1iLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgiZGl2IikpLGkuc3R5bGUuY3NzVGV4dD1iLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MCIsaS5zdHlsZS5tYXJnaW5SaWdodD1pLnN0eWxlLndpZHRoPSIwIixiLnN0eWxlLndpZHRoPSIxcHgiLGg9IXBhcnNlRmxvYXQoKGEuZ2V0Q29tcHV0ZWRTdHlsZShpLG51bGwpfHx7fSkubWFyZ2luUmlnaHQpKSxiLmlubmVySFRNTD0iPHRhYmxlPjx0cj48dGQ+PC90ZD48dGQ+dDwvdGQ+PC90cj48L3RhYmxlPiIsaT1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpLGlbMF0uc3R5bGUuY3NzVGV4dD0ibWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowO2Rpc3BsYXk6bm9uZSIsZz0wPT09aVswXS5vZmZzZXRIZWlnaHQsZyYmKGlbMF0uc3R5bGUuZGlzcGxheT0iIixpWzFdLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0KSxjLnJlbW92ZUNoaWxkKGQpKX19fSgpLG0uc3dhcD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9e307Zm9yKGYgaW4gYilnW2ZdPWEuc3R5bGVbZl0sYS5zdHlsZVtmXT1iW2ZdO2U9Yy5hcHBseShhLGR8fFtdKTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09Z1tmXTtyZXR1cm4gZX07dmFyIE1iPS9hbHBoYVwoW14pXSpcKS9pLE5iPS9vcGFjaXR5XHMqPVxzKihbXildKikvLE9iPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxQYj1uZXcgUmVnRXhwKCJeKCIrUysiKSguKikkIiwiaSIpLFFiPW5ldyBSZWdFeHAoIl4oWystXSk9KCIrUysiKSIsImkiKSxSYj17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sU2I9e2xldHRlclNwYWNpbmc6IjAiLGZvbnRXZWlnaHQ6IjQwMCJ9LFRiPVsiV2Via2l0IiwiTyIsIk1veiIsIm1zIl07ZnVuY3Rpb24gVWIoYSxiKXtpZihiIGluIGEpcmV0dXJuIGI7dmFyIGM9Yi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStiLnNsaWNlKDEpLGQ9YixlPVRiLmxlbmd0aDt3aGlsZShlLS0paWYoYj1UYltlXStjLGIgaW4gYSlyZXR1cm4gYjtyZXR1cm4gZH1mdW5jdGlvbiBWYihhLGIpe2Zvcih2YXIgYyxkLGUsZj1bXSxnPTAsaD1hLmxlbmd0aDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoZltnXT1tLl9kYXRhKGQsIm9sZGRpc3BsYXkiKSxjPWQuc3R5bGUuZGlzcGxheSxiPyhmW2ddfHwibm9uZSIhPT1jfHwoZC5zdHlsZS5kaXNwbGF5PSIiKSwiIj09PWQuc3R5bGUuZGlzcGxheSYmVShkKSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IixGYihkLm5vZGVOYW1lKSkpKTooZT1VKGQpLChjJiYibm9uZSIhPT1jfHwhZSkmJm0uX2RhdGEoZCwib2xkZGlzcGxheSIsZT9jOm0uY3NzKGQsImRpc3BsYXkiKSkpKTtmb3IoZz0wO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihiJiYibm9uZSIhPT1kLnN0eWxlLmRpc3BsYXkmJiIiIT09ZC5zdHlsZS5kaXNwbGF5fHwoZC5zdHlsZS5kaXNwbGF5PWI/ZltnXXx8IiI6Im5vbmUiKSk7cmV0dXJuIGF9ZnVuY3Rpb24gV2IoYSxiLGMpe3ZhciBkPVBiLmV4ZWMoYik7cmV0dXJuIGQ/TWF0aC5tYXgoMCxkWzFdLShjfHwwKSkrKGRbMl18fCJweCIpOmJ9ZnVuY3Rpb24gWGIoYSxiLGMsZCxlKXtmb3IodmFyIGY9Yz09PShkPyJib3JkZXIiOiJjb250ZW50Iik/NDoid2lkdGgiPT09Yj8xOjAsZz0wOzQ+ZjtmKz0yKSJtYXJnaW4iPT09YyYmKGcrPW0uY3NzKGEsYytUW2ZdLCEwLGUpKSxkPygiY29udGVudCI9PT1jJiYoZy09bS5jc3MoYSwicGFkZGluZyIrVFtmXSwhMCxlKSksIm1hcmdpbiIhPT1jJiYoZy09bS5jc3MoYSwiYm9yZGVyIitUW2ZdKyJXaWR0aCIsITAsZSkpKTooZys9bS5jc3MoYSwicGFkZGluZyIrVFtmXSwhMCxlKSwicGFkZGluZyIhPT1jJiYoZys9bS5jc3MoYSwiYm9yZGVyIitUW2ZdKyJXaWR0aCIsITAsZSkpKTtyZXR1cm4gZ31mdW5jdGlvbiBZYihhLGIsYyl7dmFyIGQ9ITAsZT0id2lkdGgiPT09Yj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGY9SWIoYSksZz1rLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxmKTtpZigwPj1lfHxudWxsPT1lKXtpZihlPUpiKGEsYixmKSwoMD5lfHxudWxsPT1lKSYmKGU9YS5zdHlsZVtiXSksSGIudGVzdChlKSlyZXR1cm4gZTtkPWcmJihrLmJveFNpemluZ1JlbGlhYmxlKCl8fGU9PT1hLnN0eWxlW2JdKSxlPXBhcnNlRmxvYXQoZSl8fDB9cmV0dXJuIGUrWGIoYSxiLGN8fChnPyJib3JkZXIiOiJjb250ZW50IiksZCxmKSsicHgifW0uZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9SmIoYSwib3BhY2l0eSIpO3JldHVybiIiPT09Yz8iMSI6Y319fX0sY3NzTnVtYmVyOntjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjprLmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsYyxkKXtpZihhJiYzIT09YS5ub2RlVHlwZSYmOCE9PWEubm9kZVR5cGUmJmEuc3R5bGUpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpLGk9YS5zdHlsZTtpZihiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVViKGksaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSx2b2lkIDA9PT1jKXJldHVybiBnJiYiZ2V0ImluIGcmJnZvaWQgMCE9PShlPWcuZ2V0KGEsITEsZCkpP2U6aVtiXTtpZihmPXR5cGVvZiBjLCJzdHJpbmciPT09ZiYmKGU9UWIuZXhlYyhjKSkmJihjPShlWzFdKzEpKmVbMl0rcGFyc2VGbG9hdChtLmNzcyhhLGIpKSxmPSJudW1iZXIiKSxudWxsIT1jJiZjPT09YyYmKCJudW1iZXIiIT09Znx8bS5jc3NOdW1iZXJbaF18fChjKz0icHgiKSxrLmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1jfHwwIT09Yi5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fChpW2JdPSJpbmhlcml0IiksIShnJiYic2V0ImluIGcmJnZvaWQgMD09PShjPWcuc2V0KGEsYyxkKSkpKSl0cnl7aVtiXT1jfWNhdGNoKGope319fSxjc3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGg9bS5jYW1lbENhc2UoYik7cmV0dXJuIGI9bS5jc3NQcm9wc1toXXx8KG0uY3NzUHJvcHNbaF09VWIoYS5zdHlsZSxoKSksZz1tLmNzc0hvb2tzW2JdfHxtLmNzc0hvb2tzW2hdLGcmJiJnZXQiaW4gZyYmKGY9Zy5nZXQoYSwhMCxjKSksdm9pZCAwPT09ZiYmKGY9SmIoYSxiLGQpKSwibm9ybWFsIj09PWYmJmIgaW4gU2ImJihmPVNiW2JdKSwiIj09PWN8fGM/KGU9cGFyc2VGbG9hdChmKSxjPT09ITB8fG0uaXNOdW1lcmljKGUpP2V8fDA6Zik6Zn19KSxtLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gYz9PYi50ZXN0KG0uY3NzKGEsImRpc3BsYXkiKSkmJjA9PT1hLm9mZnNldFdpZHRoP20uc3dhcChhLFJiLGZ1bmN0aW9uKCl7cmV0dXJuIFliKGEsYixkKX0pOlliKGEsYixkKTp2b2lkIDB9LHNldDpmdW5jdGlvbihhLGMsZCl7dmFyIGU9ZCYmSWIoYSk7cmV0dXJuIFdiKGEsYyxkP1hiKGEsYixkLGsuYm94U2l6aW5nJiYiYm9yZGVyLWJveCI9PT1tLmNzcyhhLCJib3hTaXppbmciLCExLGUpLGUpOjApfX19KSxrLm9wYWNpdHl8fChtLmNzc0hvb2tzLm9wYWNpdHk9e2dldDpmdW5jdGlvbihhLGIpe3JldHVybiBOYi50ZXN0KChiJiZhLmN1cnJlbnRTdHlsZT9hLmN1cnJlbnRTdHlsZS5maWx0ZXI6YS5zdHlsZS5maWx0ZXIpfHwiIik/LjAxKnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsiIjpiPyIxIjoiIn0sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zdHlsZSxkPWEuY3VycmVudFN0eWxlLGU9bS5pc051bWVyaWMoYik/ImFscGhhKG9wYWNpdHk9IisxMDAqYisiKSI6IiIsZj1kJiZkLmZpbHRlcnx8Yy5maWx0ZXJ8fCIiO2Muem9vbT0xLChiPj0xfHwiIj09PWIpJiYiIj09PW0udHJpbShmLnJlcGxhY2UoTWIsIiIpKSYmYy5yZW1vdmVBdHRyaWJ1dGUmJihjLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIiksIiI9PT1ifHxkJiYhZC5maWx0ZXIpfHwoYy5maWx0ZXI9TWIudGVzdChmKT9mLnJlcGxhY2UoTWIsZSk6ZisiICIrZSl9fSksbS5jc3NIb29rcy5tYXJnaW5SaWdodD1MYihrLnJlbGlhYmxlTWFyZ2luUmlnaHQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9tLnN3YXAoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sSmIsW2EsIm1hcmdpblJpZ2h0Il0pOnZvaWQgMH0pLG0uZWFjaCh7bWFyZ2luOiIiLHBhZGRpbmc6IiIsYm9yZGVyOiJXaWR0aCJ9LGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1thK2JdPXtleHBhbmQ6ZnVuY3Rpb24oYyl7Zm9yKHZhciBkPTAsZT17fSxmPSJzdHJpbmciPT10eXBlb2YgYz9jLnNwbGl0KCIgIik6W2NdOzQ+ZDtkKyspZVthK1RbZF0rYl09ZltkXXx8ZltkLTJdfHxmWzBdO3JldHVybiBlfX0sR2IudGVzdChhKXx8KG0uY3NzSG9va3NbYStiXS5zZXQ9V2IpfSksbS5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihhLGIpe3JldHVybiBWKHRoaXMsZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj17fSxnPTA7aWYobS5pc0FycmF5KGIpKXtmb3IoZD1JYihhKSxlPWIubGVuZ3RoO2U+ZztnKyspZltiW2ddXT1tLmNzcyhhLGJbZ10sITEsZCk7cmV0dXJuIGZ9cmV0dXJuIHZvaWQgMCE9PWM/bS5zdHlsZShhLGIsYyk6bS5jc3MoYSxiKX0sYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gVmIodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gVmIodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihhKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBhP2E/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7VSh0aGlzKT9tKHRoaXMpLnNob3coKTptKHRoaXMpLmhpZGUoKX0pfX0pO2Z1bmN0aW9uIFpiKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBaYi5wcm90b3R5cGUuaW5pdChhLGIsYyxkLGUpfW0uVHdlZW49WmIsWmIucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpaYixpbml0OmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0aGlzLmVsZW09YSx0aGlzLnByb3A9Yyx0aGlzLmVhc2luZz1lfHwic3dpbmciLHRoaXMub3B0aW9ucz1iLHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1kLHRoaXMudW5pdD1mfHwobS5jc3NOdW1iZXJbY10/IiI6InB4IikKfSxjdXI6ZnVuY3Rpb24oKXt2YXIgYT1aYi5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gYSYmYS5nZXQ/YS5nZXQodGhpcyk6WmIucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiLGM9WmIucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMucG9zPWI9dGhpcy5vcHRpb25zLmR1cmF0aW9uP20uZWFzaW5nW3RoaXMuZWFzaW5nXShhLHRoaXMub3B0aW9ucy5kdXJhdGlvbiphLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOmEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmIucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmIucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVpiLnByb3RvdHlwZSxaYi5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFpiLnByb3BIb29rcy5zY3JvbGxUb3A9WmIucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYi5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRiLF9iLGFjPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYz1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2M9L3F1ZXVlSG9va3MkLyxkYz1baWNdLGVjPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJjLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJjLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYygpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGI9dm9pZCAwfSksJGI9bS5ub3coKX1mdW5jdGlvbiBnYyhhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYyhhLGIsYyl7Zm9yKHZhciBkLGU9KGVjW2JdfHxbXSkuY29uY2F0KGVjWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGljKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmIoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmIoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYy5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYihhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYyhxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpjKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2MoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGMubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGJ8fGZjKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYnx8ZmMoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpjKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kY1tmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGMsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYyx7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlY1tjXT1lY1tjXXx8W10sZWNbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYy51bnNoaWZ0KGEpOmRjLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtjKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2MudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2MoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdjKCJzaG93Iiksc2xpZGVVcDpnYygiaGlkZSIpLHNsaWRlVG9nZ2xlOmdjKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGI9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYj12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYnx8KF9iPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2IpLF9iPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYz0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGMsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYyxuYyxvYz1tLmV4cHIuYXR0ckhhbmRsZSxwYz0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFjPWsuZ2V0U2V0QXR0cmlidXRlLHJjPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25jOm1jKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYyYmcWN8fCFwYy50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFjP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmM9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYyYmcWN8fCFwYy50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYyYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2NbYl18fG0uZmluZC5hdHRyO29jW2JdPXJjJiZxY3x8IXBjLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9jW2JdLG9jW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvY1tiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmMmJnFjfHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1jJiZtYy5zZXQoYSxiLGMpfX0pLHFjfHwobWM9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYy5pZD1vYy5uYW1lPW9jLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWMuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWMuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yz0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2MudGVzdChhLm5vZGVOYW1lKXx8dGMudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWM9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWMsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHVjLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWMsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZjPW0ubm93KCksd2M9L1w/Lyx4Yz0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YyxmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHljLHpjLEFjPS8jLiokLyxCYz0vKFs/Jl0pXz1bXiZdKi8sQ2M9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYz0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYz0vXig/OkdFVHxIRUFEKSQvLEZjPS9eXC9cLy8sR2M9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGM9e30sSWM9e30sSmM9IiovIi5jb25jYXQoIioiKTt0cnl7emM9bG9jYXRpb24uaHJlZn1jYXRjaChLYyl7emM9eS5jcmVhdGVFbGVtZW50KCJhIiksemMuaHJlZj0iIix6Yz16Yy5ocmVmfXljPUdjLmV4ZWMoemMudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExjKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWMoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWM7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYyhhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2MoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGMoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emMsdHlwZToiR0VUIixpc0xvY2FsOkRjLnRlc3QoeWNbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmMsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05jKE5jKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5jKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxjKEhjKSxhamF4VHJhbnNwb3J0OkxjKEljKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNjLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpjKSsiIikucmVwbGFjZShBYywiIikucmVwbGFjZShGYyx5Y1sxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdjLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWNbMV0mJmNbMl09PT15Y1syXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWNbM118fCgiaHR0cDoiPT09eWNbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWMoSGMsayxiLHYpLDI9PT10KXJldHVybiB2O2g9ay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWMudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdjLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJjLnRlc3QoZSk/ZS5yZXBsYWNlKEJjLCIkMV89Iit2YysrKTplKyh3Yy50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmMrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0pjKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYyhJYyxrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9jKGssdixjKSksdT1QYyhrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uZWFjaChbImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGEsYil7bS5mbltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vbihiLGEpfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYz0vJTIwL2csUmM9L1xbXF0kLyxTYz0vXHI/XG4vZyxUYz0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWM9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZjKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJjLnRlc3QoYSk/ZChhLGUpOlZjKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYyhhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZjKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFjLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYy50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGMudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYywiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2MsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmMoKXx8JGMoKX06WmM7dmFyIFdjPTAsWGM9e30sWWM9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5BY3RpdmVYT2JqZWN0JiZtKGEpLm9uKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhjKVhjW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYyYmIndpdGhDcmVkZW50aWFscyJpbiBZYyxZYz1rLmFqYXg9ISFZYyxZYyYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYztpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhjW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGNbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmMoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGMoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2M9W10sYWQ9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2MucG9wKCl8fG0uZXhwYW5kbysiXyIrdmMrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFkLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWQudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFkLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yy50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2MucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmQ9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiZClyZXR1cm4gYmQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2Q9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGQoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRkKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjZDt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjZH0pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGQoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYihrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYihhLGIpLEhiLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWQ9YS5qUXVlcnksZmQ9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmQpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVkKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo="}},"time_used":65,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":65,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/particles.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.228Z","timestamp":1785124875228,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/particles.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:42:30 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b36-a801\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":43009,"size_decoded":11625,"mime_type":"application/javascript","magic":"ASCII text","md5":"f10f10368bb1407fe7a0b392952ee5ab","sha1":"6d41b2dfd94b9b8e8b96b95d1258f57efb11aada","sha256":"89c8e085c3da89b31fd63bf88102068b931e58d1de9b64a2b29728ac28827d28","sha512":"146e059a32de4af6784f8596ee7c0cab003fb04cce9f99748c78dc793f8de545ffb1315a060963061156a53462fa7e18bb1220be7a244d7d0843d44e13463440","ssdeep":"384:TxzjtwGGs5YQWS+ngXFlkjXEFOcQmxm3DO3p3z8CIopbubAi4OUlLqozr+XDhYnT:9t+BDcpz88pbuM+Uo0r+XUd1YTebBCQL","tlshash":"31131e8d5bfb18632697b1b84fdf8001e73080db1a8b95a5fc6c0258cf98655d29efe4","first_seen":"2023-03-07T12:23:24Z","last_seen":"2026-07-27T05:57:15.197132Z","times_seen":14340,"resource_available":true,"data":"LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLyogQXV0aG9yIDogVmluY2VudCBHYXJyZWF1ICAtIHZpbmNlbnRnYXJyZWF1LmNvbQovKiBNSVQgbGljZW5zZTogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAovKiBEZW1vIC8gR2VuZXJhdG9yIDogdmluY2VudGdhcnJlYXUuY29tL3BhcnRpY2xlcy5qcwovKiBHaXRIdWIgOiBnaXRodWIuY29tL1ZpbmNlbnRHYXJyZWF1L3BhcnRpY2xlcy5qcwovKiBIb3cgdG8gdXNlPyA6IENoZWNrIHRoZSBHaXRIdWIgUkVBRE1FCi8qIHYyLjAuMAovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKdmFyIHBKUyA9IGZ1bmN0aW9uKHRhZ19pZCwgcGFyYW1zKXsKCiAgdmFyIGNhbnZhc19lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnK3RhZ19pZCsnID4gLnBhcnRpY2xlcy1qcy1jYW52YXMtZWwnKTsKCiAgLyogcGFydGljbGVzLmpzIHZhcmlhYmxlcyB3aXRoIGRlZmF1bHQgdmFsdWVzICovCiAgdGhpcy5wSlMgPSB7CiAgICBjYW52YXM6IHsKICAgICAgZWw6IGNhbnZhc19lbCwKICAgICAgdzogY2FudmFzX2VsLm9mZnNldFdpZHRoLAogICAgICBoOiBjYW52YXNfZWwub2Zmc2V0SGVpZ2h0CiAgICB9LAogICAgcGFydGljbGVzOiB7CiAgICAgIG51bWJlcjogewogICAgICAgIHZhbHVlOiA0MDAsCiAgICAgICAgZGVuc2l0eTogewogICAgICAgICAgZW5hYmxlOiB0cnVlLAogICAgICAgICAgdmFsdWVfYXJlYTogODAwCiAgICAgICAgfQogICAgICB9LAogICAgICBjb2xvcjogewogICAgICAgIHZhbHVlOiAnI2ZmZicKICAgICAgfSwKICAgICAgc2hhcGU6IHsKICAgICAgICB0eXBlOiAnY2lyY2xlJywKICAgICAgICBzdHJva2U6IHsKICAgICAgICAgIHdpZHRoOiAwLAogICAgICAgICAgY29sb3I6ICcjZmYwMDAwJwogICAgICAgIH0sCiAgICAgICAgcG9seWdvbjogewogICAgICAgICAgbmJfc2lkZXM6IDUKICAgICAgICB9LAogICAgICAgIGltYWdlOiB7CiAgICAgICAgICBzcmM6ICcnLAogICAgICAgICAgd2lkdGg6IDEwMCwKICAgICAgICAgIGhlaWdodDogMTAwCiAgICAgICAgfQogICAgICB9LAogICAgICBvcGFjaXR5OiB7CiAgICAgICAgdmFsdWU6IDEsCiAgICAgICAgcmFuZG9tOiBmYWxzZSwKICAgICAgICBhbmltOiB7CiAgICAgICAgICBlbmFibGU6IGZhbHNlLAogICAgICAgICAgc3BlZWQ6IDIsCiAgICAgICAgICBvcGFjaXR5X21pbjogMCwKICAgICAgICAgIHN5bmM6IGZhbHNlCiAgICAgICAgfQogICAgICB9LAogICAgICBzaXplOiB7CiAgICAgICAgdmFsdWU6IDIwLAogICAgICAgIHJhbmRvbTogZmFsc2UsCiAgICAgICAgYW5pbTogewogICAgICAgICAgZW5hYmxlOiBmYWxzZSwKICAgICAgICAgIHNwZWVkOiAyMCwKICAgICAgICAgIHNpemVfbWluOiAwLAogICAgICAgICAgc3luYzogZmFsc2UKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGxpbmVfbGlua2VkOiB7CiAgICAgICAgZW5hYmxlOiB0cnVlLAogICAgICAgIGRpc3RhbmNlOiAxMDAsCiAgICAgICAgY29sb3I6ICcjZmZmJywKICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgIHdpZHRoOiAxCiAgICAgIH0sCiAgICAgIG1vdmU6IHsKICAgICAgICBlbmFibGU6IHRydWUsCiAgICAgICAgc3BlZWQ6IDIsCiAgICAgICAgZGlyZWN0aW9uOiAnbm9uZScsCiAgICAgICAgcmFuZG9tOiBmYWxzZSwKICAgICAgICBzdHJhaWdodDogZmFsc2UsCiAgICAgICAgb3V0X21vZGU6ICdvdXQnLAogICAgICAgIGJvdW5jZTogZmFsc2UsCiAgICAgICAgYXR0cmFjdDogewogICAgICAgICAgZW5hYmxlOiBmYWxzZSwKICAgICAgICAgIHJvdGF0ZVg6IDMwMDAsCiAgICAgICAgICByb3RhdGVZOiAzMDAwCiAgICAgICAgfQogICAgICB9LAogICAgICBhcnJheTogW10KICAgIH0sCiAgICBpbnRlcmFjdGl2aXR5OiB7CiAgICAgIGRldGVjdF9vbjogJ2NhbnZhcycsCiAgICAgIGV2ZW50czogewogICAgICAgIG9uaG92ZXI6IHsKICAgICAgICAgIGVuYWJsZTogdHJ1ZSwKICAgICAgICAgIG1vZGU6ICdncmFiJwogICAgICAgIH0sCiAgICAgICAgb25jbGljazogewogICAgICAgICAgZW5hYmxlOiB0cnVlLAogICAgICAgICAgbW9kZTogJ3B1c2gnCiAgICAgICAgfSwKICAgICAgICByZXNpemU6IHRydWUKICAgICAgfSwKICAgICAgbW9kZXM6IHsKICAgICAgICBncmFiOnsKICAgICAgICAgIGRpc3RhbmNlOiAxMDAsCiAgICAgICAgICBsaW5lX2xpbmtlZDp7CiAgICAgICAgICAgIG9wYWNpdHk6IDEKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGJ1YmJsZTp7CiAgICAgICAgICBkaXN0YW5jZTogMjAwLAogICAgICAgICAgc2l6ZTogODAsCiAgICAgICAgICBkdXJhdGlvbjogMC40CiAgICAgICAgfSwKICAgICAgICByZXB1bHNlOnsKICAgICAgICAgIGRpc3RhbmNlOiAyMDAsCiAgICAgICAgICBkdXJhdGlvbjogMC40CiAgICAgICAgfSwKICAgICAgICBwdXNoOnsKICAgICAgICAgIHBhcnRpY2xlc19uYjogNAogICAgICAgIH0sCiAgICAgICAgcmVtb3ZlOnsKICAgICAgICAgIHBhcnRpY2xlc19uYjogMgogICAgICAgIH0KICAgICAgfSwKICAgICAgbW91c2U6e30KICAgIH0sCiAgICByZXRpbmFfZGV0ZWN0OiBmYWxzZSwKICAgIGZuOiB7CiAgICAgIGludGVyYWN0OiB7fSwKICAgICAgbW9kZXM6IHt9LAogICAgICB2ZW5kb3JzOnt9CiAgICB9LAogICAgdG1wOiB7fQogIH07CgogIHZhciBwSlMgPSB0aGlzLnBKUzsKCiAgLyogcGFyYW1zIHNldHRpbmdzICovCiAgaWYocGFyYW1zKXsKICAgIE9iamVjdC5kZWVwRXh0ZW5kKHBKUywgcGFyYW1zKTsKICB9CgogIHBKUy50bXAub2JqID0gewogICAgc2l6ZV92YWx1ZTogcEpTLnBhcnRpY2xlcy5zaXplLnZhbHVlLAogICAgc2l6ZV9hbmltX3NwZWVkOiBwSlMucGFydGljbGVzLnNpemUuYW5pbS5zcGVlZCwKICAgIG1vdmVfc3BlZWQ6IHBKUy5wYXJ0aWNsZXMubW92ZS5zcGVlZCwKICAgIGxpbmVfbGlua2VkX2Rpc3RhbmNlOiBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLmRpc3RhbmNlLAogICAgbGluZV9saW5rZWRfd2lkdGg6IHBKUy5wYXJ0aWNsZXMubGluZV9saW5rZWQud2lkdGgsCiAgICBtb2RlX2dyYWJfZGlzdGFuY2U6IHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmdyYWIuZGlzdGFuY2UsCiAgICBtb2RlX2J1YmJsZV9kaXN0YW5jZTogcEpTLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLmRpc3RhbmNlLAogICAgbW9kZV9idWJibGVfc2l6ZTogcEpTLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLnNpemUsCiAgICBtb2RlX3JlcHVsc2VfZGlzdGFuY2U6IHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlcHVsc2UuZGlzdGFuY2UKICB9OwoKCiAgcEpTLmZuLnJldGluYUluaXQgPSBmdW5jdGlvbigpewoKICAgIGlmKHBKUy5yZXRpbmFfZGV0ZWN0ICYmIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvID4gMSl7CiAgICAgIHBKUy5jYW52YXMucHhyYXRpbyA9IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOyAKICAgICAgcEpTLnRtcC5yZXRpbmEgPSB0cnVlOwogICAgfSAKICAgIGVsc2V7CiAgICAgIHBKUy5jYW52YXMucHhyYXRpbyA9IDE7CiAgICAgIHBKUy50bXAucmV0aW5hID0gZmFsc2U7CiAgICB9CgogICAgcEpTLmNhbnZhcy53ID0gcEpTLmNhbnZhcy5lbC5vZmZzZXRXaWR0aCAqIHBKUy5jYW52YXMucHhyYXRpbzsKICAgIHBKUy5jYW52YXMuaCA9IHBKUy5jYW52YXMuZWwub2Zmc2V0SGVpZ2h0ICogcEpTLmNhbnZhcy5weHJhdGlvOwoKICAgIHBKUy5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSA9IHBKUy50bXAub2JqLnNpemVfdmFsdWUgKiBwSlMuY2FudmFzLnB4cmF0aW87CiAgICBwSlMucGFydGljbGVzLnNpemUuYW5pbS5zcGVlZCA9IHBKUy50bXAub2JqLnNpemVfYW5pbV9zcGVlZCAqIHBKUy5jYW52YXMucHhyYXRpbzsKICAgIHBKUy5wYXJ0aWNsZXMubW92ZS5zcGVlZCA9IHBKUy50bXAub2JqLm1vdmVfc3BlZWQgKiBwSlMuY2FudmFzLnB4cmF0aW87CiAgICBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLmRpc3RhbmNlID0gcEpTLnRtcC5vYmoubGluZV9saW5rZWRfZGlzdGFuY2UgKiBwSlMuY2FudmFzLnB4cmF0aW87CiAgICBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5ncmFiLmRpc3RhbmNlID0gcEpTLnRtcC5vYmoubW9kZV9ncmFiX2Rpc3RhbmNlICogcEpTLmNhbnZhcy5weHJhdGlvOwogICAgcEpTLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLmRpc3RhbmNlID0gcEpTLnRtcC5vYmoubW9kZV9idWJibGVfZGlzdGFuY2UgKiBwSlMuY2FudmFzLnB4cmF0aW87CiAgICBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLndpZHRoID0gcEpTLnRtcC5vYmoubGluZV9saW5rZWRfd2lkdGggKiBwSlMuY2FudmFzLnB4cmF0aW87CiAgICBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSA9IHBKUy50bXAub2JqLm1vZGVfYnViYmxlX3NpemUgKiBwSlMuY2FudmFzLnB4cmF0aW87CiAgICBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5yZXB1bHNlLmRpc3RhbmNlID0gcEpTLnRtcC5vYmoubW9kZV9yZXB1bHNlX2Rpc3RhbmNlICogcEpTLmNhbnZhcy5weHJhdGlvOwoKICB9OwoKCgogIC8qIC0tLS0tLS0tLS0gcEpTIGZ1bmN0aW9ucyAtIGNhbnZhcyAtLS0tLS0tLS0tLS0gKi8KCiAgcEpTLmZuLmNhbnZhc0luaXQgPSBmdW5jdGlvbigpewogICAgcEpTLmNhbnZhcy5jdHggPSBwSlMuY2FudmFzLmVsLmdldENvbnRleHQoJzJkJyk7CiAgfTsKCiAgcEpTLmZuLmNhbnZhc1NpemUgPSBmdW5jdGlvbigpewoKICAgIHBKUy5jYW52YXMuZWwud2lkdGggPSBwSlMuY2FudmFzLnc7CiAgICBwSlMuY2FudmFzLmVsLmhlaWdodCA9IHBKUy5jYW52YXMuaDsKCiAgICBpZihwSlMgJiYgcEpTLmludGVyYWN0aXZpdHkuZXZlbnRzLnJlc2l6ZSl7CgogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb24oKXsKCiAgICAgICAgICBwSlMuY2FudmFzLncgPSBwSlMuY2FudmFzLmVsLm9mZnNldFdpZHRoOwogICAgICAgICAgcEpTLmNhbnZhcy5oID0gcEpTLmNhbnZhcy5lbC5vZmZzZXRIZWlnaHQ7CgogICAgICAgICAgLyogcmVzaXplIGNhbnZhcyAqLwogICAgICAgICAgaWYocEpTLnRtcC5yZXRpbmEpewogICAgICAgICAgICBwSlMuY2FudmFzLncgKj0gcEpTLmNhbnZhcy5weHJhdGlvOwogICAgICAgICAgICBwSlMuY2FudmFzLmggKj0gcEpTLmNhbnZhcy5weHJhdGlvOwogICAgICAgICAgfQoKICAgICAgICAgIHBKUy5jYW52YXMuZWwud2lkdGggPSBwSlMuY2FudmFzLnc7CiAgICAgICAgICBwSlMuY2FudmFzLmVsLmhlaWdodCA9IHBKUy5jYW52YXMuaDsKCiAgICAgICAgICAvKiByZXBhaW50IGNhbnZhcyBvbiBhbmltIGRpc2FibGVkICovCiAgICAgICAgICBpZighcEpTLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZSl7CiAgICAgICAgICAgIHBKUy5mbi5wYXJ0aWNsZXNFbXB0eSgpOwogICAgICAgICAgICBwSlMuZm4ucGFydGljbGVzQ3JlYXRlKCk7CiAgICAgICAgICAgIHBKUy5mbi5wYXJ0aWNsZXNEcmF3KCk7CiAgICAgICAgICAgIHBKUy5mbi52ZW5kb3JzLmRlbnNpdHlBdXRvUGFydGljbGVzKCk7CiAgICAgICAgICB9CgogICAgICAgIC8qIGRlbnNpdHkgcGFydGljbGVzIGVuYWJsZWQgKi8KICAgICAgICBwSlMuZm4udmVuZG9ycy5kZW5zaXR5QXV0b1BhcnRpY2xlcygpOwoKICAgICAgfSk7CgogICAgfQoKICB9OwoKCiAgcEpTLmZuLmNhbnZhc1BhaW50ID0gZnVuY3Rpb24oKXsKICAgIHBKUy5jYW52YXMuY3R4LmZpbGxSZWN0KDAsIDAsIHBKUy5jYW52YXMudywgcEpTLmNhbnZhcy5oKTsKICB9OwoKICBwSlMuZm4uY2FudmFzQ2xlYXIgPSBmdW5jdGlvbigpewogICAgcEpTLmNhbnZhcy5jdHguY2xlYXJSZWN0KDAsIDAsIHBKUy5jYW52YXMudywgcEpTLmNhbnZhcy5oKTsKICB9OwoKCiAgLyogLS0tLS0tLS0tIHBKUyBmdW5jdGlvbnMgLSBwYXJ0aWNsZXMgLS0tLS0tLS0tLS0gKi8KCiAgcEpTLmZuLnBhcnRpY2xlID0gZnVuY3Rpb24oY29sb3IsIG9wYWNpdHksIHBvc2l0aW9uKXsKCiAgICAvKiBzaXplICovCiAgICB0aGlzLnJhZGl1cyA9IChwSlMucGFydGljbGVzLnNpemUucmFuZG9tID8gTWF0aC5yYW5kb20oKSA6IDEpICogcEpTLnBhcnRpY2xlcy5zaXplLnZhbHVlOwogICAgaWYocEpTLnBhcnRpY2xlcy5zaXplLmFuaW0uZW5hYmxlKXsKICAgICAgdGhpcy5zaXplX3N0YXR1cyA9IGZhbHNlOwogICAgICB0aGlzLnZzID0gcEpTLnBhcnRpY2xlcy5zaXplLmFuaW0uc3BlZWQgLyAxMDA7CiAgICAgIGlmKCFwSlMucGFydGljbGVzLnNpemUuYW5pbS5zeW5jKXsKICAgICAgICB0aGlzLnZzID0gdGhpcy52cyAqIE1hdGgucmFuZG9tKCk7CiAgICAgIH0KICAgIH0KCiAgICAvKiBwb3NpdGlvbiAqLwogICAgdGhpcy54ID0gcG9zaXRpb24gPyBwb3NpdGlvbi54IDogTWF0aC5yYW5kb20oKSAqIHBKUy5jYW52YXMudzsKICAgIHRoaXMueSA9IHBvc2l0aW9uID8gcG9zaXRpb24ueSA6IE1hdGgucmFuZG9tKCkgKiBwSlMuY2FudmFzLmg7CgogICAgLyogY2hlY2sgcG9zaXRpb24gIC0gaW50byB0aGUgY2FudmFzICovCiAgICBpZih0aGlzLnggPiBwSlMuY2FudmFzLncgLSB0aGlzLnJhZGl1cyoyKSB0aGlzLnggPSB0aGlzLnggLSB0aGlzLnJhZGl1czsKICAgIGVsc2UgaWYodGhpcy54IDwgdGhpcy5yYWRpdXMqMikgdGhpcy54ID0gdGhpcy54ICsgdGhpcy5yYWRpdXM7CiAgICBpZih0aGlzLnkgPiBwSlMuY2FudmFzLmggLSB0aGlzLnJhZGl1cyoyKSB0aGlzLnkgPSB0aGlzLnkgLSB0aGlzLnJhZGl1czsKICAgIGVsc2UgaWYodGhpcy55IDwgdGhpcy5yYWRpdXMqMikgdGhpcy55ID0gdGhpcy55ICsgdGhpcy5yYWRpdXM7CgogICAgLyogY2hlY2sgcG9zaXRpb24gLSBhdm9pZCBvdmVybGFwICovCiAgICBpZihwSlMucGFydGljbGVzLm1vdmUuYm91bmNlKXsKICAgICAgcEpTLmZuLnZlbmRvcnMuY2hlY2tPdmVybGFwKHRoaXMsIHBvc2l0aW9uKTsKICAgIH0KCiAgICAvKiBjb2xvciAqLwogICAgdGhpcy5jb2xvciA9IHt9OwogICAgaWYodHlwZW9mKGNvbG9yLnZhbHVlKSA9PSAnb2JqZWN0Jyl7CgogICAgICBpZihjb2xvci52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KXsKICAgICAgICB2YXIgY29sb3Jfc2VsZWN0ZWQgPSBjb2xvci52YWx1ZVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBwSlMucGFydGljbGVzLmNvbG9yLnZhbHVlLmxlbmd0aCldOwogICAgICAgIHRoaXMuY29sb3IucmdiID0gaGV4VG9SZ2IoY29sb3Jfc2VsZWN0ZWQpOwogICAgICB9ZWxzZXsKICAgICAgICBpZihjb2xvci52YWx1ZS5yICE9IHVuZGVmaW5lZCAmJiBjb2xvci52YWx1ZS5nICE9IHVuZGVmaW5lZCAmJiBjb2xvci52YWx1ZS5iICE9IHVuZGVmaW5lZCl7CiAgICAgICAgICB0aGlzLmNvbG9yLnJnYiA9IHsKICAgICAgICAgICAgcjogY29sb3IudmFsdWUuciwKICAgICAgICAgICAgZzogY29sb3IudmFsdWUuZywKICAgICAgICAgICAgYjogY29sb3IudmFsdWUuYgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihjb2xvci52YWx1ZS5oICE9IHVuZGVmaW5lZCAmJiBjb2xvci52YWx1ZS5zICE9IHVuZGVmaW5lZCAmJiBjb2xvci52YWx1ZS5sICE9IHVuZGVmaW5lZCl7CiAgICAgICAgICB0aGlzLmNvbG9yLmhzbCA9IHsKICAgICAgICAgICAgaDogY29sb3IudmFsdWUuaCwKICAgICAgICAgICAgczogY29sb3IudmFsdWUucywKICAgICAgICAgICAgbDogY29sb3IudmFsdWUubAogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgIH0KICAgIGVsc2UgaWYoY29sb3IudmFsdWUgPT0gJ3JhbmRvbScpewogICAgICB0aGlzLmNvbG9yLnJnYiA9IHsKICAgICAgICByOiAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDI1NSAtIDAgKyAxKSkgKyAwKSwKICAgICAgICBnOiAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDI1NSAtIDAgKyAxKSkgKyAwKSwKICAgICAgICBiOiAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDI1NSAtIDAgKyAxKSkgKyAwKQogICAgICB9CiAgICB9CiAgICBlbHNlIGlmKHR5cGVvZihjb2xvci52YWx1ZSkgPT0gJ3N0cmluZycpewogICAgICB0aGlzLmNvbG9yID0gY29sb3I7CiAgICAgIHRoaXMuY29sb3IucmdiID0gaGV4VG9SZ2IodGhpcy5jb2xvci52YWx1ZSk7CiAgICB9CgogICAgLyogb3BhY2l0eSAqLwogICAgdGhpcy5vcGFjaXR5ID0gKHBKUy5wYXJ0aWNsZXMub3BhY2l0eS5yYW5kb20gPyBNYXRoLnJhbmRvbSgpIDogMSkgKiBwSlMucGFydGljbGVzLm9wYWNpdHkudmFsdWU7CiAgICBpZihwSlMucGFydGljbGVzLm9wYWNpdHkuYW5pbS5lbmFibGUpewogICAgICB0aGlzLm9wYWNpdHlfc3RhdHVzID0gZmFsc2U7CiAgICAgIHRoaXMudm8gPSBwSlMucGFydGljbGVzLm9wYWNpdHkuYW5pbS5zcGVlZCAvIDEwMDsKICAgICAgaWYoIXBKUy5wYXJ0aWNsZXMub3BhY2l0eS5hbmltLnN5bmMpewogICAgICAgIHRoaXMudm8gPSB0aGlzLnZvICogTWF0aC5yYW5kb20oKTsKICAgICAgfQogICAgfQoKICAgIC8qIGFuaW1hdGlvbiAtIHZlbG9jaXR5IGZvciBzcGVlZCAqLwogICAgdmFyIHZlbGJhc2UgPSB7fQogICAgc3dpdGNoKHBKUy5wYXJ0aWNsZXMubW92ZS5kaXJlY3Rpb24pewogICAgICBjYXNlICd0b3AnOgogICAgICAgIHZlbGJhc2UgPSB7IHg6MCwgeTotMSB9OwogICAgICBicmVhazsKICAgICAgY2FzZSAndG9wLXJpZ2h0JzoKICAgICAgICB2ZWxiYXNlID0geyB4OjAuNSwgeTotMC41IH07CiAgICAgIGJyZWFrOwogICAgICBjYXNlICdyaWdodCc6CiAgICAgICAgdmVsYmFzZSA9IHsgeDoxLCB5Oi0wIH07CiAgICAgIGJyZWFrOwogICAgICBjYXNlICdib3R0b20tcmlnaHQnOgogICAgICAgIHZlbGJhc2UgPSB7IHg6MC41LCB5OjAuNSB9OwogICAgICBicmVhazsKICAgICAgY2FzZSAnYm90dG9tJzoKICAgICAgICB2ZWxiYXNlID0geyB4OjAsIHk6MSB9OwogICAgICBicmVhazsKICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOgogICAgICAgIHZlbGJhc2UgPSB7IHg6LTAuNSwgeToxIH07CiAgICAgIGJyZWFrOwogICAgICBjYXNlICdsZWZ0JzoKICAgICAgICB2ZWxiYXNlID0geyB4Oi0xLCB5OjAgfTsKICAgICAgYnJlYWs7CiAgICAgIGNhc2UgJ3RvcC1sZWZ0JzoKICAgICAgICB2ZWxiYXNlID0geyB4Oi0wLjUsIHk6LTAuNSB9OwogICAgICBicmVhazsKICAgICAgZGVmYXVsdDoKICAgICAgICB2ZWxiYXNlID0geyB4OjAsIHk6MCB9OwogICAgICBicmVhazsKICAgIH0KCiAgICBpZihwSlMucGFydGljbGVzLm1vdmUuc3RyYWlnaHQpewogICAgICB0aGlzLnZ4ID0gdmVsYmFzZS54OwogICAgICB0aGlzLnZ5ID0gdmVsYmFzZS55OwogICAgICBpZihwSlMucGFydGljbGVzLm1vdmUucmFuZG9tKXsKICAgICAgICB0aGlzLnZ4ID0gdGhpcy52eCAqIChNYXRoLnJhbmRvbSgpKTsKICAgICAgICB0aGlzLnZ5ID0gdGhpcy52eSAqIChNYXRoLnJhbmRvbSgpKTsKICAgICAgfQogICAgfWVsc2V7CiAgICAgIHRoaXMudnggPSB2ZWxiYXNlLnggKyBNYXRoLnJhbmRvbSgpLTAuNTsKICAgICAgdGhpcy52eSA9IHZlbGJhc2UueSArIE1hdGgucmFuZG9tKCktMC41OwogICAgfQoKICAgIC8vIHZhciB0aGV0YSA9IDIuMCAqIE1hdGguUEkgKiBNYXRoLnJhbmRvbSgpOwogICAgLy8gdGhpcy52eCA9IE1hdGguY29zKHRoZXRhKTsKICAgIC8vIHRoaXMudnkgPSBNYXRoLnNpbih0aGV0YSk7CgogICAgdGhpcy52eF9pID0gdGhpcy52eDsKICAgIHRoaXMudnlfaSA9IHRoaXMudnk7CgogICAgCgogICAgLyogaWYgc2hhcGUgaXMgaW1hZ2UgKi8KCiAgICB2YXIgc2hhcGVfdHlwZSA9IHBKUy5wYXJ0aWNsZXMuc2hhcGUudHlwZTsKICAgIGlmKHR5cGVvZihzaGFwZV90eXBlKSA9PSAnb2JqZWN0Jyl7CiAgICAgIGlmKHNoYXBlX3R5cGUgaW5zdGFuY2VvZiBBcnJheSl7CiAgICAgICAgdmFyIHNoYXBlX3NlbGVjdGVkID0gc2hhcGVfdHlwZVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBzaGFwZV90eXBlLmxlbmd0aCldOwogICAgICAgIHRoaXMuc2hhcGUgPSBzaGFwZV9zZWxlY3RlZDsKICAgICAgfQogICAgfWVsc2V7CiAgICAgIHRoaXMuc2hhcGUgPSBzaGFwZV90eXBlOwogICAgfQoKICAgIGlmKHRoaXMuc2hhcGUgPT0gJ2ltYWdlJyl7CiAgICAgIHZhciBzaCA9IHBKUy5wYXJ0aWNsZXMuc2hhcGU7CiAgICAgIHRoaXMuaW1nID0gewogICAgICAgIHNyYzogc2guaW1hZ2Uuc3JjLAogICAgICAgIHJhdGlvOiBzaC5pbWFnZS53aWR0aCAvIHNoLmltYWdlLmhlaWdodAogICAgICB9CiAgICAgIGlmKCF0aGlzLmltZy5yYXRpbykgdGhpcy5pbWcucmF0aW8gPSAxOwogICAgICBpZihwSlMudG1wLmltZ190eXBlID09ICdzdmcnICYmIHBKUy50bXAuc291cmNlX3N2ZyAhPSB1bmRlZmluZWQpewogICAgICAgIHBKUy5mbi52ZW5kb3JzLmNyZWF0ZVN2Z0ltZyh0aGlzKTsKICAgICAgICBpZihwSlMudG1wLnB1c2hpbmcpewogICAgICAgICAgdGhpcy5pbWcubG9hZGVkID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgCgogIH07CgoKICBwSlMuZm4ucGFydGljbGUucHJvdG90eXBlLmRyYXcgPSBmdW5jdGlvbigpIHsKCiAgICB2YXIgcCA9IHRoaXM7CgogICAgaWYocC5yYWRpdXNfYnViYmxlICE9IHVuZGVmaW5lZCl7CiAgICAgIHZhciByYWRpdXMgPSBwLnJhZGl1c19idWJibGU7IAogICAgfWVsc2V7CiAgICAgIHZhciByYWRpdXMgPSBwLnJhZGl1czsKICAgIH0KCiAgICBpZihwLm9wYWNpdHlfYnViYmxlICE9IHVuZGVmaW5lZCl7CiAgICAgIHZhciBvcGFjaXR5ID0gcC5vcGFjaXR5X2J1YmJsZTsKICAgIH1lbHNlewogICAgICB2YXIgb3BhY2l0eSA9IHAub3BhY2l0eTsKICAgIH0KCiAgICBpZihwLmNvbG9yLnJnYil7CiAgICAgIHZhciBjb2xvcl92YWx1ZSA9ICdyZ2JhKCcrcC5jb2xvci5yZ2IucisnLCcrcC5jb2xvci5yZ2IuZysnLCcrcC5jb2xvci5yZ2IuYisnLCcrb3BhY2l0eSsnKSc7CiAgICB9ZWxzZXsKICAgICAgdmFyIGNvbG9yX3ZhbHVlID0gJ2hzbGEoJytwLmNvbG9yLmhzbC5oKycsJytwLmNvbG9yLmhzbC5zKyclLCcrcC5jb2xvci5oc2wubCsnJSwnK29wYWNpdHkrJyknOwogICAgfQoKICAgIHBKUy5jYW52YXMuY3R4LmZpbGxTdHlsZSA9IGNvbG9yX3ZhbHVlOwogICAgcEpTLmNhbnZhcy5jdHguYmVnaW5QYXRoKCk7CgogICAgc3dpdGNoKHAuc2hhcGUpewoKICAgICAgY2FzZSAnY2lyY2xlJzoKICAgICAgICBwSlMuY2FudmFzLmN0eC5hcmMocC54LCBwLnksIHJhZGl1cywgMCwgTWF0aC5QSSAqIDIsIGZhbHNlKTsKICAgICAgYnJlYWs7CgogICAgICBjYXNlICdlZGdlJzoKICAgICAgICBwSlMuY2FudmFzLmN0eC5yZWN0KHAueC1yYWRpdXMsIHAueS1yYWRpdXMsIHJhZGl1cyoyLCByYWRpdXMqMik7CiAgICAgIGJyZWFrOwoKICAgICAgY2FzZSAndHJpYW5nbGUnOgogICAgICAgIHBKUy5mbi52ZW5kb3JzLmRyYXdTaGFwZShwSlMuY2FudmFzLmN0eCwgcC54LXJhZGl1cywgcC55K3JhZGl1cyAvIDEuNjYsIHJhZGl1cyoyLCAzLCAyKTsKICAgICAgYnJlYWs7CgogICAgICBjYXNlICdwb2x5Z29uJzoKICAgICAgICBwSlMuZm4udmVuZG9ycy5kcmF3U2hhcGUoCiAgICAgICAgICBwSlMuY2FudmFzLmN0eCwKICAgICAgICAgIHAueCAtIHJhZGl1cyAvIChwSlMucGFydGljbGVzLnNoYXBlLnBvbHlnb24ubmJfc2lkZXMvMy41KSwgLy8gc3RhcnRYCiAgICAgICAgICBwLnkgLSByYWRpdXMgLyAoMi42Ni8zLjUpLCAvLyBzdGFydFkKICAgICAgICAgIHJhZGl1cyoyLjY2IC8gKHBKUy5wYXJ0aWNsZXMuc2hhcGUucG9seWdvbi5uYl9zaWRlcy8zKSwgLy8gc2lkZUxlbmd0aAogICAgICAgICAgcEpTLnBhcnRpY2xlcy5zaGFwZS5wb2x5Z29uLm5iX3NpZGVzLCAvLyBzaWRlQ291bnROdW1lcmF0b3IKICAgICAgICAgIDEgLy8gc2lkZUNvdW50RGVub21pbmF0b3IKICAgICAgICApOwogICAgICBicmVhazsKCiAgICAgIGNhc2UgJ3N0YXInOgogICAgICAgIHBKUy5mbi52ZW5kb3JzLmRyYXdTaGFwZSgKICAgICAgICAgIHBKUy5jYW52YXMuY3R4LAogICAgICAgICAgcC54IC0gcmFkaXVzKjIgLyAocEpTLnBhcnRpY2xlcy5zaGFwZS5wb2x5Z29uLm5iX3NpZGVzLzQpLCAvLyBzdGFydFgKICAgICAgICAgIHAueSAtIHJhZGl1cyAvICgyKjIuNjYvMy41KSwgLy8gc3RhcnRZCiAgICAgICAgICByYWRpdXMqMioyLjY2IC8gKHBKUy5wYXJ0aWNsZXMuc2hhcGUucG9seWdvbi5uYl9zaWRlcy8zKSwgLy8gc2lkZUxlbmd0aAogICAgICAgICAgcEpTLnBhcnRpY2xlcy5zaGFwZS5wb2x5Z29uLm5iX3NpZGVzLCAvLyBzaWRlQ291bnROdW1lcmF0b3IKICAgICAgICAgIDIgLy8gc2lkZUNvdW50RGVub21pbmF0b3IKICAgICAgICApOwogICAgICBicmVhazsKCiAgICAgIGNhc2UgJ2ltYWdlJzoKCiAgICAgICAgZnVuY3Rpb24gZHJhdygpewogICAgICAgICAgcEpTLmNhbnZhcy5jdHguZHJhd0ltYWdlKAogICAgICAgICAgICBpbWdfb2JqLAogICAgICAgICAgICBwLngtcmFkaXVzLAogICAgICAgICAgICBwLnktcmFkaXVzLAogICAgICAgICAgICByYWRpdXMqMiwKICAgICAgICAgICAgcmFkaXVzKjIgLyBwLmltZy5yYXRpbwogICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIGlmKHBKUy50bXAuaW1nX3R5cGUgPT0gJ3N2ZycpewogICAgICAgICAgdmFyIGltZ19vYmogPSBwLmltZy5vYmo7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICB2YXIgaW1nX29iaiA9IHBKUy50bXAuaW1nX29iajsKICAgICAgICB9CgogICAgICAgIGlmKGltZ19vYmopewogICAgICAgICAgZHJhdygpOwogICAgICAgIH0KCiAgICAgIGJyZWFrOwoKICAgIH0KCiAgICBwSlMuY2FudmFzLmN0eC5jbG9zZVBhdGgoKTsKCiAgICBpZihwSlMucGFydGljbGVzLnNoYXBlLnN0cm9rZS53aWR0aCA+IDApewogICAgICBwSlMuY2FudmFzLmN0eC5zdHJva2VTdHlsZSA9IHBKUy5wYXJ0aWNsZXMuc2hhcGUuc3Ryb2tlLmNvbG9yOwogICAgICBwSlMuY2FudmFzLmN0eC5saW5lV2lkdGggPSBwSlMucGFydGljbGVzLnNoYXBlLnN0cm9rZS53aWR0aDsKICAgICAgcEpTLmNhbnZhcy5jdHguc3Ryb2tlKCk7CiAgICB9CiAgICAKICAgIHBKUy5jYW52YXMuY3R4LmZpbGwoKTsKICAgIAogIH07CgoKICBwSlMuZm4ucGFydGljbGVzQ3JlYXRlID0gZnVuY3Rpb24oKXsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBwSlMucGFydGljbGVzLm51bWJlci52YWx1ZTsgaSsrKSB7CiAgICAgIHBKUy5wYXJ0aWNsZXMuYXJyYXkucHVzaChuZXcgcEpTLmZuLnBhcnRpY2xlKHBKUy5wYXJ0aWNsZXMuY29sb3IsIHBKUy5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZSkpOwogICAgfQogIH07CgogIHBKUy5mbi5wYXJ0aWNsZXNVcGRhdGUgPSBmdW5jdGlvbigpewoKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBwSlMucGFydGljbGVzLmFycmF5Lmxlbmd0aDsgaSsrKXsKCiAgICAgIC8qIHRoZSBwYXJ0aWNsZSAqLwogICAgICB2YXIgcCA9IHBKUy5wYXJ0aWNsZXMuYXJyYXlbaV07CgogICAgICAvLyB2YXIgZCA9ICggZHggPSBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5jbGlja19wb3NfeCAtIHAueCApICogZHggKyAoIGR5ID0gcEpTLmludGVyYWN0aXZpdHkubW91c2UuY2xpY2tfcG9zX3kgLSBwLnkgKSAqIGR5OwogICAgICAvLyB2YXIgZiA9IC1CQU5HX1NJWkUgLyBkOwogICAgICAvLyBpZiAoIGQgPCBCQU5HX1NJWkUgKSB7CiAgICAgIC8vICAgICB2YXIgdCA9IE1hdGguYXRhbjIoIGR5LCBkeCApOwogICAgICAvLyAgICAgcC52eCA9IGYgKiBNYXRoLmNvcyh0KTsKICAgICAgLy8gICAgIHAudnkgPSBmICogTWF0aC5zaW4odCk7CiAgICAgIC8vIH0KCiAgICAgIC8qIG1vdmUgdGhlIHBhcnRpY2xlICovCiAgICAgIGlmKHBKUy5wYXJ0aWNsZXMubW92ZS5lbmFibGUpewogICAgICAgIHZhciBtcyA9IHBKUy5wYXJ0aWNsZXMubW92ZS5zcGVlZC8yOwogICAgICAgIHAueCArPSBwLnZ4ICogbXM7CiAgICAgICAgcC55ICs9IHAudnkgKiBtczsKICAgICAgfQoKICAgICAgLyogY2hhbmdlIG9wYWNpdHkgc3RhdHVzICovCiAgICAgIGlmKHBKUy5wYXJ0aWNsZXMub3BhY2l0eS5hbmltLmVuYWJsZSkgewogICAgICAgIGlmKHAub3BhY2l0eV9zdGF0dXMgPT0gdHJ1ZSkgewogICAgICAgICAgaWYocC5vcGFjaXR5ID49IHBKUy5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZSkgcC5vcGFjaXR5X3N0YXR1cyA9IGZhbHNlOwogICAgICAgICAgcC5vcGFjaXR5ICs9IHAudm87CiAgICAgICAgfWVsc2UgewogICAgICAgICAgaWYocC5vcGFjaXR5IDw9IHBKUy5wYXJ0aWNsZXMub3BhY2l0eS5hbmltLm9wYWNpdHlfbWluKSBwLm9wYWNpdHlfc3RhdHVzID0gdHJ1ZTsKICAgICAgICAgIHAub3BhY2l0eSAtPSBwLnZvOwogICAgICAgIH0KICAgICAgICBpZihwLm9wYWNpdHkgPCAwKSBwLm9wYWNpdHkgPSAwOwogICAgICB9CgogICAgICAvKiBjaGFuZ2Ugc2l6ZSAqLwogICAgICBpZihwSlMucGFydGljbGVzLnNpemUuYW5pbS5lbmFibGUpewogICAgICAgIGlmKHAuc2l6ZV9zdGF0dXMgPT0gdHJ1ZSl7CiAgICAgICAgICBpZihwLnJhZGl1cyA+PSBwSlMucGFydGljbGVzLnNpemUudmFsdWUpIHAuc2l6ZV9zdGF0dXMgPSBmYWxzZTsKICAgICAgICAgIHAucmFkaXVzICs9IHAudnM7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICBpZihwLnJhZGl1cyA8PSBwSlMucGFydGljbGVzLnNpemUuYW5pbS5zaXplX21pbikgcC5zaXplX3N0YXR1cyA9IHRydWU7CiAgICAgICAgICBwLnJhZGl1cyAtPSBwLnZzOwogICAgICAgIH0KICAgICAgICBpZihwLnJhZGl1cyA8IDApIHAucmFkaXVzID0gMDsKICAgICAgfQoKICAgICAgLyogY2hhbmdlIHBhcnRpY2xlIHBvc2l0aW9uIGlmIGl0IGlzIG91dCBvZiBjYW52YXMgKi8KICAgICAgaWYocEpTLnBhcnRpY2xlcy5tb3ZlLm91dF9tb2RlID09ICdib3VuY2UnKXsKICAgICAgICB2YXIgbmV3X3BvcyA9IHsKICAgICAgICAgIHhfbGVmdDogcC5yYWRpdXMsCiAgICAgICAgICB4X3JpZ2h0OiAgcEpTLmNhbnZhcy53LAogICAgICAgICAgeV90b3A6IHAucmFkaXVzLAogICAgICAgICAgeV9ib3R0b206IHBKUy5jYW52YXMuaAogICAgICAgIH0KICAgICAgfWVsc2V7CiAgICAgICAgdmFyIG5ld19wb3MgPSB7CiAgICAgICAgICB4X2xlZnQ6IC1wLnJhZGl1cywKICAgICAgICAgIHhfcmlnaHQ6IHBKUy5jYW52YXMudyArIHAucmFkaXVzLAogICAgICAgICAgeV90b3A6IC1wLnJhZGl1cywKICAgICAgICAgIHlfYm90dG9tOiBwSlMuY2FudmFzLmggKyBwLnJhZGl1cwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYocC54IC0gcC5yYWRpdXMgPiBwSlMuY2FudmFzLncpewogICAgICAgIHAueCA9IG5ld19wb3MueF9sZWZ0OwogICAgICAgIHAueSA9IE1hdGgucmFuZG9tKCkgKiBwSlMuY2FudmFzLmg7CiAgICAgIH0KICAgICAgZWxzZSBpZihwLnggKyBwLnJhZGl1cyA8IDApewogICAgICAgIHAueCA9IG5ld19wb3MueF9yaWdodDsKICAgICAgICBwLnkgPSBNYXRoLnJhbmRvbSgpICogcEpTLmNhbnZhcy5oOwogICAgICB9CiAgICAgIGlmKHAueSAtIHAucmFkaXVzID4gcEpTLmNhbnZhcy5oKXsKICAgICAgICBwLnkgPSBuZXdfcG9zLnlfdG9wOwogICAgICAgIHAueCA9IE1hdGgucmFuZG9tKCkgKiBwSlMuY2FudmFzLnc7CiAgICAgIH0KICAgICAgZWxzZSBpZihwLnkgKyBwLnJhZGl1cyA8IDApewogICAgICAgIHAueSA9IG5ld19wb3MueV9ib3R0b207CiAgICAgICAgcC54ID0gTWF0aC5yYW5kb20oKSAqIHBKUy5jYW52YXMudzsKICAgICAgfQoKICAgICAgLyogb3V0IG9mIGNhbnZhcyBtb2RlcyAqLwogICAgICBzd2l0Y2gocEpTLnBhcnRpY2xlcy5tb3ZlLm91dF9tb2RlKXsKICAgICAgICBjYXNlICdib3VuY2UnOgogICAgICAgICAgaWYgKHAueCArIHAucmFkaXVzID4gcEpTLmNhbnZhcy53KSBwLnZ4ID0gLXAudng7CiAgICAgICAgICBlbHNlIGlmIChwLnggLSBwLnJhZGl1cyA8IDApIHAudnggPSAtcC52eDsKICAgICAgICAgIGlmIChwLnkgKyBwLnJhZGl1cyA+IHBKUy5jYW52YXMuaCkgcC52eSA9IC1wLnZ5OwogICAgICAgICAgZWxzZSBpZiAocC55IC0gcC5yYWRpdXMgPCAwKSBwLnZ5ID0gLXAudnk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KCiAgICAgIC8qIGV2ZW50cyAqLwogICAgICBpZihpc0luQXJyYXkoJ2dyYWInLCBwSlMuaW50ZXJhY3Rpdml0eS5ldmVudHMub25ob3Zlci5tb2RlKSl7CiAgICAgICAgcEpTLmZuLm1vZGVzLmdyYWJQYXJ0aWNsZShwKTsKICAgICAgfQoKICAgICAgaWYoaXNJbkFycmF5KCdidWJibGUnLCBwSlMuaW50ZXJhY3Rpdml0eS5ldmVudHMub25ob3Zlci5tb2RlKSB8fCBpc0luQXJyYXkoJ2J1YmJsZScsIHBKUy5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmNsaWNrLm1vZGUpKXsKICAgICAgICBwSlMuZm4ubW9kZXMuYnViYmxlUGFydGljbGUocCk7CiAgICAgIH0KCiAgICAgIGlmKGlzSW5BcnJheSgncmVwdWxzZScsIHBKUy5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmhvdmVyLm1vZGUpIHx8IGlzSW5BcnJheSgncmVwdWxzZScsIHBKUy5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmNsaWNrLm1vZGUpKXsKICAgICAgICBwSlMuZm4ubW9kZXMucmVwdWxzZVBhcnRpY2xlKHApOwogICAgICB9CgogICAgICAvKiBpbnRlcmFjdGlvbiBhdXRvIGJldHdlZW4gcGFydGljbGVzICovCiAgICAgIGlmKHBKUy5wYXJ0aWNsZXMubGluZV9saW5rZWQuZW5hYmxlIHx8IHBKUy5wYXJ0aWNsZXMubW92ZS5hdHRyYWN0LmVuYWJsZSl7CiAgICAgICAgZm9yKHZhciBqID0gaSArIDE7IGogPCBwSlMucGFydGljbGVzLmFycmF5Lmxlbmd0aDsgaisrKXsKICAgICAgICAgIHZhciBwMiA9IHBKUy5wYXJ0aWNsZXMuYXJyYXlbal07CgogICAgICAgICAgLyogbGluayBwYXJ0aWNsZXMgKi8KICAgICAgICAgIGlmKHBKUy5wYXJ0aWNsZXMubGluZV9saW5rZWQuZW5hYmxlKXsKICAgICAgICAgICAgcEpTLmZuLmludGVyYWN0LmxpbmtQYXJ0aWNsZXMocCxwMik7CiAgICAgICAgICB9CgogICAgICAgICAgLyogYXR0cmFjdCBwYXJ0aWNsZXMgKi8KICAgICAgICAgIGlmKHBKUy5wYXJ0aWNsZXMubW92ZS5hdHRyYWN0LmVuYWJsZSl7CiAgICAgICAgICAgIHBKUy5mbi5pbnRlcmFjdC5hdHRyYWN0UGFydGljbGVzKHAscDIpOwogICAgICAgICAgfQoKICAgICAgICAgIC8qIGJvdW5jZSBwYXJ0aWNsZXMgKi8KICAgICAgICAgIGlmKHBKUy5wYXJ0aWNsZXMubW92ZS5ib3VuY2UpewogICAgICAgICAgICBwSlMuZm4uaW50ZXJhY3QuYm91bmNlUGFydGljbGVzKHAscDIpOwogICAgICAgICAgfQoKICAgICAgICB9CiAgICAgIH0KCgogICAgfQoKICB9OwoKICBwSlMuZm4ucGFydGljbGVzRHJhdyA9IGZ1bmN0aW9uKCl7CgogICAgLyogY2xlYXIgY2FudmFzICovCiAgICBwSlMuY2FudmFzLmN0eC5jbGVhclJlY3QoMCwgMCwgcEpTLmNhbnZhcy53LCBwSlMuY2FudmFzLmgpOwoKICAgIC8qIHVwZGF0ZSBlYWNoIHBhcnRpY2xlcyBwYXJhbSAqLwogICAgcEpTLmZuLnBhcnRpY2xlc1VwZGF0ZSgpOwoKICAgIC8qIGRyYXcgZWFjaCBwYXJ0aWNsZSAqLwogICAgZm9yKHZhciBpID0gMDsgaSA8IHBKUy5wYXJ0aWNsZXMuYXJyYXkubGVuZ3RoOyBpKyspewogICAgICB2YXIgcCA9IHBKUy5wYXJ0aWNsZXMuYXJyYXlbaV07CiAgICAgIHAuZHJhdygpOwogICAgfQoKICB9OwoKICBwSlMuZm4ucGFydGljbGVzRW1wdHkgPSBmdW5jdGlvbigpewogICAgcEpTLnBhcnRpY2xlcy5hcnJheSA9IFtdOwogIH07CgogIHBKUy5mbi5wYXJ0aWNsZXNSZWZyZXNoID0gZnVuY3Rpb24oKXsKCiAgICAvKiBpbml0IGFsbCAqLwogICAgY2FuY2VsUmVxdWVzdEFuaW1GcmFtZShwSlMuZm4uY2hlY2tBbmltRnJhbWUpOwogICAgY2FuY2VsUmVxdWVzdEFuaW1GcmFtZShwSlMuZm4uZHJhd0FuaW1GcmFtZSk7CiAgICBwSlMudG1wLnNvdXJjZV9zdmcgPSB1bmRlZmluZWQ7CiAgICBwSlMudG1wLmltZ19vYmogPSB1bmRlZmluZWQ7CiAgICBwSlMudG1wLmNvdW50X3N2ZyA9IDA7CiAgICBwSlMuZm4ucGFydGljbGVzRW1wdHkoKTsKICAgIHBKUy5mbi5jYW52YXNDbGVhcigpOwogICAgCiAgICAvKiByZXN0YXJ0ICovCiAgICBwSlMuZm4udmVuZG9ycy5zdGFydCgpOwoKICB9OwoKCiAgLyogLS0tLS0tLS0tLSBwSlMgZnVuY3Rpb25zIC0gcGFydGljbGVzIGludGVyYWN0aW9uIC0tLS0tLS0tLS0tLSAqLwoKICBwSlMuZm4uaW50ZXJhY3QubGlua1BhcnRpY2xlcyA9IGZ1bmN0aW9uKHAxLCBwMil7CgogICAgdmFyIGR4ID0gcDEueCAtIHAyLngsCiAgICAgICAgZHkgPSBwMS55IC0gcDIueSwKICAgICAgICBkaXN0ID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpOwoKICAgIC8qIGRyYXcgYSBsaW5lIGJldHdlZW4gcDEgYW5kIHAyIGlmIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZW0gaXMgdW5kZXIgdGhlIGNvbmZpZyBkaXN0YW5jZSAqLwogICAgaWYoZGlzdCA8PSBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLmRpc3RhbmNlKXsKCiAgICAgIHZhciBvcGFjaXR5X2xpbmUgPSBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLm9wYWNpdHkgLSAoZGlzdCAvICgxL3BKUy5wYXJ0aWNsZXMubGluZV9saW5rZWQub3BhY2l0eSkpIC8gcEpTLnBhcnRpY2xlcy5saW5lX2xpbmtlZC5kaXN0YW5jZTsKCiAgICAgIGlmKG9wYWNpdHlfbGluZSA+IDApeyAgICAgICAgCiAgICAgICAgCiAgICAgICAgLyogc3R5bGUgKi8KICAgICAgICB2YXIgY29sb3JfbGluZSA9IHBKUy5wYXJ0aWNsZXMubGluZV9saW5rZWQuY29sb3JfcmdiX2xpbmU7CiAgICAgICAgcEpTLmNhbnZhcy5jdHguc3Ryb2tlU3R5bGUgPSAncmdiYSgnK2NvbG9yX2xpbmUucisnLCcrY29sb3JfbGluZS5nKycsJytjb2xvcl9saW5lLmIrJywnK29wYWNpdHlfbGluZSsnKSc7CiAgICAgICAgcEpTLmNhbnZhcy5jdHgubGluZVdpZHRoID0gcEpTLnBhcnRpY2xlcy5saW5lX2xpbmtlZC53aWR0aDsKICAgICAgICAvL3BKUy5jYW52YXMuY3R4LmxpbmVDYXAgPSAncm91bmQnOyAvKiBwZXJmb3JtYW5jZSBpc3N1ZSAqLwogICAgICAgIAogICAgICAgIC8qIHBhdGggKi8KICAgICAgICBwSlMuY2FudmFzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICBwSlMuY2FudmFzLmN0eC5tb3ZlVG8ocDEueCwgcDEueSk7CiAgICAgICAgcEpTLmNhbnZhcy5jdHgubGluZVRvKHAyLngsIHAyLnkpOwogICAgICAgIHBKUy5jYW52YXMuY3R4LnN0cm9rZSgpOwogICAgICAgIHBKUy5jYW52YXMuY3R4LmNsb3NlUGF0aCgpOwoKICAgICAgfQoKICAgIH0KCiAgfTsKCgogIHBKUy5mbi5pbnRlcmFjdC5hdHRyYWN0UGFydGljbGVzICA9IGZ1bmN0aW9uKHAxLCBwMil7CgogICAgLyogY29uZGVuc2VkIHBhcnRpY2xlcyAqLwogICAgdmFyIGR4ID0gcDEueCAtIHAyLngsCiAgICAgICAgZHkgPSBwMS55IC0gcDIueSwKICAgICAgICBkaXN0ID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpOwoKICAgIGlmKGRpc3QgPD0gcEpTLnBhcnRpY2xlcy5saW5lX2xpbmtlZC5kaXN0YW5jZSl7CgogICAgICB2YXIgYXggPSBkeC8ocEpTLnBhcnRpY2xlcy5tb3ZlLmF0dHJhY3Qucm90YXRlWCoxMDAwKSwKICAgICAgICAgIGF5ID0gZHkvKHBKUy5wYXJ0aWNsZXMubW92ZS5hdHRyYWN0LnJvdGF0ZVkqMTAwMCk7CgogICAgICBwMS52eCAtPSBheDsKICAgICAgcDEudnkgLT0gYXk7CgogICAgICBwMi52eCArPSBheDsKICAgICAgcDIudnkgKz0gYXk7CgogICAgfQogICAgCgogIH0KCgogIHBKUy5mbi5pbnRlcmFjdC5ib3VuY2VQYXJ0aWNsZXMgPSBmdW5jdGlvbihwMSwgcDIpewoKICAgIHZhciBkeCA9IHAxLnggLSBwMi54LAogICAgICAgIGR5ID0gcDEueSAtIHAyLnksCiAgICAgICAgZGlzdCA9IE1hdGguc3FydChkeCpkeCArIGR5KmR5KSwKICAgICAgICBkaXN0X3AgPSBwMS5yYWRpdXMrcDIucmFkaXVzOwoKICAgIGlmKGRpc3QgPD0gZGlzdF9wKXsKICAgICAgcDEudnggPSAtcDEudng7CiAgICAgIHAxLnZ5ID0gLXAxLnZ5OwoKICAgICAgcDIudnggPSAtcDIudng7CiAgICAgIHAyLnZ5ID0gLXAyLnZ5OwogICAgfQoKICB9CgoKICAvKiAtLS0tLS0tLS0tIHBKUyBmdW5jdGlvbnMgLSBtb2RlcyBldmVudHMgLS0tLS0tLS0tLS0tICovCgogIHBKUy5mbi5tb2Rlcy5wdXNoUGFydGljbGVzID0gZnVuY3Rpb24obmIsIHBvcyl7CgogICAgcEpTLnRtcC5wdXNoaW5nID0gdHJ1ZTsKCiAgICBmb3IodmFyIGkgPSAwOyBpIDwgbmI7IGkrKyl7CiAgICAgIHBKUy5wYXJ0aWNsZXMuYXJyYXkucHVzaCgKICAgICAgICBuZXcgcEpTLmZuLnBhcnRpY2xlKAogICAgICAgICAgcEpTLnBhcnRpY2xlcy5jb2xvciwKICAgICAgICAgIHBKUy5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZSwKICAgICAgICAgIHsKICAgICAgICAgICAgJ3gnOiBwb3MgPyBwb3MucG9zX3ggOiBNYXRoLnJhbmRvbSgpICogcEpTLmNhbnZhcy53LAogICAgICAgICAgICAneSc6IHBvcyA/IHBvcy5wb3NfeSA6IE1hdGgucmFuZG9tKCkgKiBwSlMuY2FudmFzLmgKICAgICAgICAgIH0KICAgICAgICApCiAgICAgICkKICAgICAgaWYoaSA9PSBuYi0xKXsKICAgICAgICBpZighcEpTLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZSl7CiAgICAgICAgICBwSlMuZm4ucGFydGljbGVzRHJhdygpOwogICAgICAgIH0KICAgICAgICBwSlMudG1wLnB1c2hpbmcgPSBmYWxzZTsKICAgICAgfQogICAgfQoKICB9OwoKCiAgcEpTLmZuLm1vZGVzLnJlbW92ZVBhcnRpY2xlcyA9IGZ1bmN0aW9uKG5iKXsKCiAgICBwSlMucGFydGljbGVzLmFycmF5LnNwbGljZSgwLCBuYik7CiAgICBpZighcEpTLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZSl7CiAgICAgIHBKUy5mbi5wYXJ0aWNsZXNEcmF3KCk7CiAgICB9CgogIH07CgoKICBwSlMuZm4ubW9kZXMuYnViYmxlUGFydGljbGUgPSBmdW5jdGlvbihwKXsKCiAgICAvKiBvbiBob3ZlciBldmVudCAqLwogICAgaWYocEpTLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uaG92ZXIuZW5hYmxlICYmIGlzSW5BcnJheSgnYnViYmxlJywgcEpTLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uaG92ZXIubW9kZSkpewoKICAgICAgdmFyIGR4X21vdXNlID0gcC54IC0gcEpTLmludGVyYWN0aXZpdHkubW91c2UucG9zX3gsCiAgICAgICAgICBkeV9tb3VzZSA9IHAueSAtIHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc195LAogICAgICAgICAgZGlzdF9tb3VzZSA9IE1hdGguc3FydChkeF9tb3VzZSpkeF9tb3VzZSArIGR5X21vdXNlKmR5X21vdXNlKSwKICAgICAgICAgIHJhdGlvID0gMSAtIGRpc3RfbW91c2UgLyBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuZGlzdGFuY2U7CgogICAgICBmdW5jdGlvbiBpbml0KCl7CiAgICAgICAgcC5vcGFjaXR5X2J1YmJsZSA9IHAub3BhY2l0eTsKICAgICAgICBwLnJhZGl1c19idWJibGUgPSBwLnJhZGl1czsKICAgICAgfQoKICAgICAgLyogbW91c2Vtb3ZlIC0gY2hlY2sgcmF0aW8gKi8KICAgICAgaWYoZGlzdF9tb3VzZSA8PSBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuZGlzdGFuY2UpewoKICAgICAgICBpZihyYXRpbyA+PSAwICYmIHBKUy5pbnRlcmFjdGl2aXR5LnN0YXR1cyA9PSAnbW91c2Vtb3ZlJyl7CiAgICAgICAgICAKICAgICAgICAgIC8qIHNpemUgKi8KICAgICAgICAgIGlmKHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5zaXplICE9IHBKUy5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSl7CgogICAgICAgICAgICBpZihwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSA+IHBKUy5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSl7CiAgICAgICAgICAgICAgdmFyIHNpemUgPSBwLnJhZGl1cyArIChwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSpyYXRpbyk7CiAgICAgICAgICAgICAgaWYoc2l6ZSA+PSAwKXsKICAgICAgICAgICAgICAgIHAucmFkaXVzX2J1YmJsZSA9IHNpemU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICB2YXIgZGlmID0gcC5yYWRpdXMgLSBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSwKICAgICAgICAgICAgICAgICAgc2l6ZSA9IHAucmFkaXVzIC0gKGRpZipyYXRpbyk7CiAgICAgICAgICAgICAgaWYoc2l6ZSA+IDApewogICAgICAgICAgICAgICAgcC5yYWRpdXNfYnViYmxlID0gc2l6ZTsKICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIHAucmFkaXVzX2J1YmJsZSA9IDA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgfQoKICAgICAgICAgIC8qIG9wYWNpdHkgKi8KICAgICAgICAgIGlmKHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5vcGFjaXR5ICE9IHBKUy5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZSl7CgogICAgICAgICAgICBpZihwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUub3BhY2l0eSA+IHBKUy5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZSl7CiAgICAgICAgICAgICAgdmFyIG9wYWNpdHkgPSBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUub3BhY2l0eSpyYXRpbzsKICAgICAgICAgICAgICBpZihvcGFjaXR5ID4gcC5vcGFjaXR5ICYmIG9wYWNpdHkgPD0gcEpTLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLm9wYWNpdHkpewogICAgICAgICAgICAgICAgcC5vcGFjaXR5X2J1YmJsZSA9IG9wYWNpdHk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICB2YXIgb3BhY2l0eSA9IHAub3BhY2l0eSAtIChwSlMucGFydGljbGVzLm9wYWNpdHkudmFsdWUtcEpTLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLm9wYWNpdHkpKnJhdGlvOwogICAgICAgICAgICAgIGlmKG9wYWNpdHkgPCBwLm9wYWNpdHkgJiYgb3BhY2l0eSA+PSBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUub3BhY2l0eSl7CiAgICAgICAgICAgICAgICBwLm9wYWNpdHlfYnViYmxlID0gb3BhY2l0eTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgIH1lbHNlewogICAgICAgIGluaXQoKTsKICAgICAgfQoKCiAgICAgIC8qIG1vdXNlbGVhdmUgKi8KICAgICAgaWYocEpTLmludGVyYWN0aXZpdHkuc3RhdHVzID09ICdtb3VzZWxlYXZlJyl7CiAgICAgICAgaW5pdCgpOwogICAgICB9CiAgICAKICAgIH0KCiAgICAvKiBvbiBjbGljayBldmVudCAqLwogICAgZWxzZSBpZihwSlMuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5lbmFibGUgJiYgaXNJbkFycmF5KCdidWJibGUnLCBwSlMuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5tb2RlKSl7CgoKICAgICAgaWYocEpTLnRtcC5idWJibGVfY2xpY2tpbmcpewogICAgICAgIHZhciBkeF9tb3VzZSA9IHAueCAtIHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3Bvc194LAogICAgICAgICAgICBkeV9tb3VzZSA9IHAueSAtIHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3Bvc195LAogICAgICAgICAgICBkaXN0X21vdXNlID0gTWF0aC5zcXJ0KGR4X21vdXNlKmR4X21vdXNlICsgZHlfbW91c2UqZHlfbW91c2UpLAogICAgICAgICAgICB0aW1lX3NwZW50ID0gKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gcEpTLmludGVyYWN0aXZpdHkubW91c2UuY2xpY2tfdGltZSkvMTAwMDsKCiAgICAgICAgaWYodGltZV9zcGVudCA+IHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kdXJhdGlvbil7CiAgICAgICAgICBwSlMudG1wLmJ1YmJsZV9kdXJhdGlvbl9lbmQgPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgaWYodGltZV9zcGVudCA+IHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kdXJhdGlvbioyKXsKICAgICAgICAgIHBKUy50bXAuYnViYmxlX2NsaWNraW5nID0gZmFsc2U7CiAgICAgICAgICBwSlMudG1wLmJ1YmJsZV9kdXJhdGlvbl9lbmQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgIH0KCgogICAgICBmdW5jdGlvbiBwcm9jZXNzKGJ1YmJsZV9wYXJhbSwgcGFydGljbGVzX3BhcmFtLCBwX29ial9idWJibGUsIHBfb2JqLCBpZCl7CgogICAgICAgIGlmKGJ1YmJsZV9wYXJhbSAhPSBwYXJ0aWNsZXNfcGFyYW0pewoKICAgICAgICAgIGlmKCFwSlMudG1wLmJ1YmJsZV9kdXJhdGlvbl9lbmQpewogICAgICAgICAgICBpZihkaXN0X21vdXNlIDw9IHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kaXN0YW5jZSl7CiAgICAgICAgICAgICAgaWYocF9vYmpfYnViYmxlICE9IHVuZGVmaW5lZCkgdmFyIG9iaiA9IHBfb2JqX2J1YmJsZTsKICAgICAgICAgICAgICBlbHNlIHZhciBvYmogPSBwX29iajsKICAgICAgICAgICAgICBpZihvYmogIT0gYnViYmxlX3BhcmFtKXsKICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHBfb2JqIC0gKHRpbWVfc3BlbnQgKiAocF9vYmogLSBidWJibGVfcGFyYW0pIC8gcEpTLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLmR1cmF0aW9uKTsKICAgICAgICAgICAgICAgIGlmKGlkID09ICdzaXplJykgcC5yYWRpdXNfYnViYmxlID0gdmFsdWU7CiAgICAgICAgICAgICAgICBpZihpZCA9PSAnb3BhY2l0eScpIHAub3BhY2l0eV9idWJibGUgPSB2YWx1ZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgIGlmKGlkID09ICdzaXplJykgcC5yYWRpdXNfYnViYmxlID0gdW5kZWZpbmVkOwogICAgICAgICAgICAgIGlmKGlkID09ICdvcGFjaXR5JykgcC5vcGFjaXR5X2J1YmJsZSA9IHVuZGVmaW5lZDsKICAgICAgICAgICAgfQogICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGlmKHBfb2JqX2J1YmJsZSAhPSB1bmRlZmluZWQpewogICAgICAgICAgICAgIHZhciB2YWx1ZV90bXAgPSBwX29iaiAtICh0aW1lX3NwZW50ICogKHBfb2JqIC0gYnViYmxlX3BhcmFtKSAvIHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kdXJhdGlvbiksCiAgICAgICAgICAgICAgICAgIGRpZiA9IGJ1YmJsZV9wYXJhbSAtIHZhbHVlX3RtcDsKICAgICAgICAgICAgICAgICAgdmFsdWUgPSBidWJibGVfcGFyYW0gKyBkaWY7CiAgICAgICAgICAgICAgaWYoaWQgPT0gJ3NpemUnKSBwLnJhZGl1c19idWJibGUgPSB2YWx1ZTsKICAgICAgICAgICAgICBpZihpZCA9PSAnb3BhY2l0eScpIHAub3BhY2l0eV9idWJibGUgPSB2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICB9CgogICAgICB9CgogICAgICBpZihwSlMudG1wLmJ1YmJsZV9jbGlja2luZyl7CiAgICAgICAgLyogc2l6ZSAqLwogICAgICAgIHByb2Nlc3MocEpTLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLnNpemUsIHBKUy5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSwgcC5yYWRpdXNfYnViYmxlLCBwLnJhZGl1cywgJ3NpemUnKTsKICAgICAgICAvKiBvcGFjaXR5ICovCiAgICAgICAgcHJvY2VzcyhwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUub3BhY2l0eSwgcEpTLnBhcnRpY2xlcy5vcGFjaXR5LnZhbHVlLCBwLm9wYWNpdHlfYnViYmxlLCBwLm9wYWNpdHksICdvcGFjaXR5Jyk7CiAgICAgIH0KCiAgICB9CgogIH07CgoKICBwSlMuZm4ubW9kZXMucmVwdWxzZVBhcnRpY2xlID0gZnVuY3Rpb24ocCl7CgogICAgaWYocEpTLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uaG92ZXIuZW5hYmxlICYmIGlzSW5BcnJheSgncmVwdWxzZScsIHBKUy5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmhvdmVyLm1vZGUpICYmIHBKUy5pbnRlcmFjdGl2aXR5LnN0YXR1cyA9PSAnbW91c2Vtb3ZlJykgewoKICAgICAgdmFyIGR4X21vdXNlID0gcC54IC0gcEpTLmludGVyYWN0aXZpdHkubW91c2UucG9zX3gsCiAgICAgICAgICBkeV9tb3VzZSA9IHAueSAtIHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc195LAogICAgICAgICAgZGlzdF9tb3VzZSA9IE1hdGguc3FydChkeF9tb3VzZSpkeF9tb3VzZSArIGR5X21vdXNlKmR5X21vdXNlKTsKCiAgICAgIHZhciBub3JtVmVjID0ge3g6IGR4X21vdXNlL2Rpc3RfbW91c2UsIHk6IGR5X21vdXNlL2Rpc3RfbW91c2V9LAogICAgICAgICAgcmVwdWxzZVJhZGl1cyA9IHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlcHVsc2UuZGlzdGFuY2UsCiAgICAgICAgICB2ZWxvY2l0eSA9IDEwMCwKICAgICAgICAgIHJlcHVsc2VGYWN0b3IgPSBjbGFtcCgoMS9yZXB1bHNlUmFkaXVzKSooLTEqTWF0aC5wb3coZGlzdF9tb3VzZS9yZXB1bHNlUmFkaXVzLDIpKzEpKnJlcHVsc2VSYWRpdXMqdmVsb2NpdHksIDAsIDUwKTsKICAgICAgCiAgICAgIHZhciBwb3MgPSB7CiAgICAgICAgeDogcC54ICsgbm9ybVZlYy54ICogcmVwdWxzZUZhY3RvciwKICAgICAgICB5OiBwLnkgKyBub3JtVmVjLnkgKiByZXB1bHNlRmFjdG9yCiAgICAgIH0KCiAgICAgIGlmKHBKUy5wYXJ0aWNsZXMubW92ZS5vdXRfbW9kZSA9PSAnYm91bmNlJyl7CiAgICAgICAgaWYocG9zLnggLSBwLnJhZGl1cyA+IDAgJiYgcG9zLnggKyBwLnJhZGl1cyA8IHBKUy5jYW52YXMudykgcC54ID0gcG9zLng7CiAgICAgICAgaWYocG9zLnkgLSBwLnJhZGl1cyA+IDAgJiYgcG9zLnkgKyBwLnJhZGl1cyA8IHBKUy5jYW52YXMuaCkgcC55ID0gcG9zLnk7CiAgICAgIH1lbHNlewogICAgICAgIHAueCA9IHBvcy54OwogICAgICAgIHAueSA9IHBvcy55OwogICAgICB9CiAgICAKICAgIH0KCgogICAgZWxzZSBpZihwSlMuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5lbmFibGUgJiYgaXNJbkFycmF5KCdyZXB1bHNlJywgcEpTLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uY2xpY2subW9kZSkpIHsKCiAgICAgIGlmKCFwSlMudG1wLnJlcHVsc2VfZmluaXNoKXsKICAgICAgICBwSlMudG1wLnJlcHVsc2VfY291bnQrKzsKICAgICAgICBpZihwSlMudG1wLnJlcHVsc2VfY291bnQgPT0gcEpTLnBhcnRpY2xlcy5hcnJheS5sZW5ndGgpewogICAgICAgICAgcEpTLnRtcC5yZXB1bHNlX2ZpbmlzaCA9IHRydWU7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZihwSlMudG1wLnJlcHVsc2VfY2xpY2tpbmcpewoKICAgICAgICB2YXIgcmVwdWxzZVJhZGl1cyA9IE1hdGgucG93KHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlcHVsc2UuZGlzdGFuY2UvNiwgMyk7CgogICAgICAgIHZhciBkeCA9IHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3Bvc194IC0gcC54LAogICAgICAgICAgICBkeSA9IHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3Bvc195IC0gcC55LAogICAgICAgICAgICBkID0gZHgqZHggKyBkeSpkeTsKCiAgICAgICAgdmFyIGZvcmNlID0gLXJlcHVsc2VSYWRpdXMgLyBkICogMTsKCiAgICAgICAgZnVuY3Rpb24gcHJvY2VzcygpewoKICAgICAgICAgIHZhciBmID0gTWF0aC5hdGFuMihkeSxkeCk7CiAgICAgICAgICBwLnZ4ID0gZm9yY2UgKiBNYXRoLmNvcyhmKTsKICAgICAgICAgIHAudnkgPSBmb3JjZSAqIE1hdGguc2luKGYpOwoKICAgICAgICAgIGlmKHBKUy5wYXJ0aWNsZXMubW92ZS5vdXRfbW9kZSA9PSAnYm91bmNlJyl7CiAgICAgICAgICAgIHZhciBwb3MgPSB7CiAgICAgICAgICAgICAgeDogcC54ICsgcC52eCwKICAgICAgICAgICAgICB5OiBwLnkgKyBwLnZ5CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHBvcy54ICsgcC5yYWRpdXMgPiBwSlMuY2FudmFzLncpIHAudnggPSAtcC52eDsKICAgICAgICAgICAgZWxzZSBpZiAocG9zLnggLSBwLnJhZGl1cyA8IDApIHAudnggPSAtcC52eDsKICAgICAgICAgICAgaWYgKHBvcy55ICsgcC5yYWRpdXMgPiBwSlMuY2FudmFzLmgpIHAudnkgPSAtcC52eTsKICAgICAgICAgICAgZWxzZSBpZiAocG9zLnkgLSBwLnJhZGl1cyA8IDApIHAudnkgPSAtcC52eTsKICAgICAgICAgIH0KCiAgICAgICAgfQoKICAgICAgICAvLyBkZWZhdWx0CiAgICAgICAgaWYoZCA8PSByZXB1bHNlUmFkaXVzKXsKICAgICAgICAgIHByb2Nlc3MoKTsKICAgICAgICB9CgogICAgICAgIC8vIGJhbmcgLSBzbG93IG1vdGlvbiBtb2RlCiAgICAgICAgLy8gaWYoIXBKUy50bXAucmVwdWxzZV9maW5pc2gpewogICAgICAgIC8vICAgaWYoZCA8PSByZXB1bHNlUmFkaXVzKXsKICAgICAgICAvLyAgICAgcHJvY2VzcygpOwogICAgICAgIC8vICAgfQogICAgICAgIC8vIH1lbHNlewogICAgICAgIC8vICAgcHJvY2VzcygpOwogICAgICAgIC8vIH0KICAgICAgICAKCiAgICAgIH1lbHNlewoKICAgICAgICBpZihwSlMudG1wLnJlcHVsc2VfY2xpY2tpbmcgPT0gZmFsc2UpewoKICAgICAgICAgIHAudnggPSBwLnZ4X2k7CiAgICAgICAgICBwLnZ5ID0gcC52eV9pOwogICAgICAgIAogICAgICAgIH0KCiAgICAgIH0KCiAgICB9CgogIH0KCgogIHBKUy5mbi5tb2Rlcy5ncmFiUGFydGljbGUgPSBmdW5jdGlvbihwKXsKCiAgICBpZihwSlMuaW50ZXJhY3Rpdml0eS5ldmVudHMub25ob3Zlci5lbmFibGUgJiYgcEpTLmludGVyYWN0aXZpdHkuc3RhdHVzID09ICdtb3VzZW1vdmUnKXsKCiAgICAgIHZhciBkeF9tb3VzZSA9IHAueCAtIHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc194LAogICAgICAgICAgZHlfbW91c2UgPSBwLnkgLSBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeSwKICAgICAgICAgIGRpc3RfbW91c2UgPSBNYXRoLnNxcnQoZHhfbW91c2UqZHhfbW91c2UgKyBkeV9tb3VzZSpkeV9tb3VzZSk7CgogICAgICAvKiBkcmF3IGEgbGluZSBiZXR3ZWVuIHRoZSBjdXJzb3IgYW5kIHRoZSBwYXJ0aWNsZSBpZiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGVtIGlzIHVuZGVyIHRoZSBjb25maWcgZGlzdGFuY2UgKi8KICAgICAgaWYoZGlzdF9tb3VzZSA8PSBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5ncmFiLmRpc3RhbmNlKXsKCiAgICAgICAgdmFyIG9wYWNpdHlfbGluZSA9IHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLmdyYWIubGluZV9saW5rZWQub3BhY2l0eSAtIChkaXN0X21vdXNlIC8gKDEvcEpTLmludGVyYWN0aXZpdHkubW9kZXMuZ3JhYi5saW5lX2xpbmtlZC5vcGFjaXR5KSkgLyBwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5ncmFiLmRpc3RhbmNlOwoKICAgICAgICBpZihvcGFjaXR5X2xpbmUgPiAwKXsKCiAgICAgICAgICAvKiBzdHlsZSAqLwogICAgICAgICAgdmFyIGNvbG9yX2xpbmUgPSBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLmNvbG9yX3JnYl9saW5lOwogICAgICAgICAgcEpTLmNhbnZhcy5jdHguc3Ryb2tlU3R5bGUgPSAncmdiYSgnK2NvbG9yX2xpbmUucisnLCcrY29sb3JfbGluZS5nKycsJytjb2xvcl9saW5lLmIrJywnK29wYWNpdHlfbGluZSsnKSc7CiAgICAgICAgICBwSlMuY2FudmFzLmN0eC5saW5lV2lkdGggPSBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLndpZHRoOwogICAgICAgICAgLy9wSlMuY2FudmFzLmN0eC5saW5lQ2FwID0gJ3JvdW5kJzsgLyogcGVyZm9ybWFuY2UgaXNzdWUgKi8KICAgICAgICAgIAogICAgICAgICAgLyogcGF0aCAqLwogICAgICAgICAgcEpTLmNhbnZhcy5jdHguYmVnaW5QYXRoKCk7CiAgICAgICAgICBwSlMuY2FudmFzLmN0eC5tb3ZlVG8ocC54LCBwLnkpOwogICAgICAgICAgcEpTLmNhbnZhcy5jdHgubGluZVRvKHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc194LCBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeSk7CiAgICAgICAgICBwSlMuY2FudmFzLmN0eC5zdHJva2UoKTsKICAgICAgICAgIHBKUy5jYW52YXMuY3R4LmNsb3NlUGF0aCgpOwoKICAgICAgICB9CgogICAgICB9CgogICAgfQoKICB9OwoKCgogIC8qIC0tLS0tLS0tLS0gcEpTIGZ1bmN0aW9ucyAtIHZlbmRvcnMgLS0tLS0tLS0tLS0tICovCgogIHBKUy5mbi52ZW5kb3JzLmV2ZW50c0xpc3RlbmVycyA9IGZ1bmN0aW9uKCl7CgogICAgLyogZXZlbnRzIHRhcmdldCBlbGVtZW50ICovCiAgICBpZihwSlMuaW50ZXJhY3Rpdml0eS5kZXRlY3Rfb24gPT0gJ3dpbmRvdycpewogICAgICBwSlMuaW50ZXJhY3Rpdml0eS5lbCA9IHdpbmRvdzsKICAgIH1lbHNlewogICAgICBwSlMuaW50ZXJhY3Rpdml0eS5lbCA9IHBKUy5jYW52YXMuZWw7CiAgICB9CgoKICAgIC8qIGRldGVjdCBtb3VzZSBwb3MgLSBvbiBob3ZlciAvIGNsaWNrIGV2ZW50ICovCiAgICBpZihwSlMuaW50ZXJhY3Rpdml0eS5ldmVudHMub25ob3Zlci5lbmFibGUgfHwgcEpTLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uY2xpY2suZW5hYmxlKXsKCiAgICAgIC8qIGVsIG9uIG1vdXNlbW92ZSAqLwogICAgICBwSlMuaW50ZXJhY3Rpdml0eS5lbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBmdW5jdGlvbihlKXsKCiAgICAgICAgaWYocEpTLmludGVyYWN0aXZpdHkuZWwgPT0gd2luZG93KXsKICAgICAgICAgIHZhciBwb3NfeCA9IGUuY2xpZW50WCwKICAgICAgICAgICAgICBwb3NfeSA9IGUuY2xpZW50WTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgIHZhciBwb3NfeCA9IGUub2Zmc2V0WCB8fCBlLmNsaWVudFgsCiAgICAgICAgICAgICAgcG9zX3kgPSBlLm9mZnNldFkgfHwgZS5jbGllbnRZOwogICAgICAgIH0KCiAgICAgICAgcEpTLmludGVyYWN0aXZpdHkubW91c2UucG9zX3ggPSBwb3NfeDsKICAgICAgICBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeSA9IHBvc195OwoKICAgICAgICBpZihwSlMudG1wLnJldGluYSl7CiAgICAgICAgICBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeCAqPSBwSlMuY2FudmFzLnB4cmF0aW87CiAgICAgICAgICBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeSAqPSBwSlMuY2FudmFzLnB4cmF0aW87CiAgICAgICAgfQoKICAgICAgICBwSlMuaW50ZXJhY3Rpdml0eS5zdGF0dXMgPSAnbW91c2Vtb3ZlJzsKCiAgICAgIH0pOwoKICAgICAgLyogZWwgb24gb25tb3VzZWxlYXZlICovCiAgICAgIHBKUy5pbnRlcmFjdGl2aXR5LmVsLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBmdW5jdGlvbihlKXsKCiAgICAgICAgcEpTLmludGVyYWN0aXZpdHkubW91c2UucG9zX3ggPSBudWxsOwogICAgICAgIHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc195ID0gbnVsbDsKICAgICAgICBwSlMuaW50ZXJhY3Rpdml0eS5zdGF0dXMgPSAnbW91c2VsZWF2ZSc7CgogICAgICB9KTsKCiAgICB9CgogICAgLyogb24gY2xpY2sgZXZlbnQgKi8KICAgIGlmKHBKUy5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmNsaWNrLmVuYWJsZSl7CgogICAgICBwSlMuaW50ZXJhY3Rpdml0eS5lbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7CgogICAgICAgIHBKUy5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3Bvc194ID0gcEpTLmludGVyYWN0aXZpdHkubW91c2UucG9zX3g7CiAgICAgICAgcEpTLmludGVyYWN0aXZpdHkubW91c2UuY2xpY2tfcG9zX3kgPSBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeTsKICAgICAgICBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZS5jbGlja190aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CgogICAgICAgIGlmKHBKUy5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmNsaWNrLmVuYWJsZSl7CgogICAgICAgICAgc3dpdGNoKHBKUy5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmNsaWNrLm1vZGUpewoKICAgICAgICAgICAgY2FzZSAncHVzaCc6CiAgICAgICAgICAgICAgaWYocEpTLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZSl7CiAgICAgICAgICAgICAgICBwSlMuZm4ubW9kZXMucHVzaFBhcnRpY2xlcyhwSlMuaW50ZXJhY3Rpdml0eS5tb2Rlcy5wdXNoLnBhcnRpY2xlc19uYiwgcEpTLmludGVyYWN0aXZpdHkubW91c2UpOwogICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgaWYocEpTLmludGVyYWN0aXZpdHkubW9kZXMucHVzaC5wYXJ0aWNsZXNfbmIgPT0gMSl7CiAgICAgICAgICAgICAgICAgIHBKUy5mbi5tb2Rlcy5wdXNoUGFydGljbGVzKHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLnB1c2gucGFydGljbGVzX25iLCBwSlMuaW50ZXJhY3Rpdml0eS5tb3VzZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLnB1c2gucGFydGljbGVzX25iID4gMSl7CiAgICAgICAgICAgICAgICAgIHBKUy5mbi5tb2Rlcy5wdXNoUGFydGljbGVzKHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLnB1c2gucGFydGljbGVzX25iKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAncmVtb3ZlJzoKICAgICAgICAgICAgICBwSlMuZm4ubW9kZXMucmVtb3ZlUGFydGljbGVzKHBKUy5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlbW92ZS5wYXJ0aWNsZXNfbmIpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ2J1YmJsZSc6CiAgICAgICAgICAgICAgcEpTLnRtcC5idWJibGVfY2xpY2tpbmcgPSB0cnVlOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ3JlcHVsc2UnOgogICAgICAgICAgICAgIHBKUy50bXAucmVwdWxzZV9jbGlja2luZyA9IHRydWU7CiAgICAgICAgICAgICAgcEpTLnRtcC5yZXB1bHNlX2NvdW50ID0gMDsKICAgICAgICAgICAgICBwSlMudG1wLnJlcHVsc2VfZmluaXNoID0gZmFsc2U7CiAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgcEpTLnRtcC5yZXB1bHNlX2NsaWNraW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgfSwgcEpTLmludGVyYWN0aXZpdHkubW9kZXMucmVwdWxzZS5kdXJhdGlvbioxMDAwKQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgIH0pOwogICAgICAgIAogICAgfQoKCiAgfTsKCiAgcEpTLmZuLnZlbmRvcnMuZGVuc2l0eUF1dG9QYXJ0aWNsZXMgPSBmdW5jdGlvbigpewoKICAgIGlmKHBKUy5wYXJ0aWNsZXMubnVtYmVyLmRlbnNpdHkuZW5hYmxlKXsKCiAgICAgIC8qIGNhbGMgYXJlYSAqLwogICAgICB2YXIgYXJlYSA9IHBKUy5jYW52YXMuZWwud2lkdGggKiBwSlMuY2FudmFzLmVsLmhlaWdodCAvIDEwMDA7CiAgICAgIGlmKHBKUy50bXAucmV0aW5hKXsKICAgICAgICBhcmVhID0gYXJlYS8ocEpTLmNhbnZhcy5weHJhdGlvKjIpOwogICAgICB9CgogICAgICAvKiBjYWxjIG51bWJlciBvZiBwYXJ0aWNsZXMgYmFzZWQgb24gZGVuc2l0eSBhcmVhICovCiAgICAgIHZhciBuYl9wYXJ0aWNsZXMgPSBhcmVhICogcEpTLnBhcnRpY2xlcy5udW1iZXIudmFsdWUgLyBwSlMucGFydGljbGVzLm51bWJlci5kZW5zaXR5LnZhbHVlX2FyZWE7CgogICAgICAvKiBhZGQgb3IgcmVtb3ZlIFggcGFydGljbGVzICovCiAgICAgIHZhciBtaXNzaW5nX3BhcnRpY2xlcyA9IHBKUy5wYXJ0aWNsZXMuYXJyYXkubGVuZ3RoIC0gbmJfcGFydGljbGVzOwogICAgICBpZihtaXNzaW5nX3BhcnRpY2xlcyA8IDApIHBKUy5mbi5tb2Rlcy5wdXNoUGFydGljbGVzKE1hdGguYWJzKG1pc3NpbmdfcGFydGljbGVzKSk7CiAgICAgIGVsc2UgcEpTLmZuLm1vZGVzLnJlbW92ZVBhcnRpY2xlcyhtaXNzaW5nX3BhcnRpY2xlcyk7CgogICAgfQoKICB9OwoKCiAgcEpTLmZuLnZlbmRvcnMuY2hlY2tPdmVybGFwID0gZnVuY3Rpb24ocDEsIHBvc2l0aW9uKXsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBwSlMucGFydGljbGVzLmFycmF5Lmxlbmd0aDsgaSsrKXsKICAgICAgdmFyIHAyID0gcEpTLnBhcnRpY2xlcy5hcnJheVtpXTsKCiAgICAgIHZhciBkeCA9IHAxLnggLSBwMi54LAogICAgICAgICAgZHkgPSBwMS55IC0gcDIueSwKICAgICAgICAgIGRpc3QgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7CgogICAgICBpZihkaXN0IDw9IHAxLnJhZGl1cyArIHAyLnJhZGl1cyl7CiAgICAgICAgcDEueCA9IHBvc2l0aW9uID8gcG9zaXRpb24ueCA6IE1hdGgucmFuZG9tKCkgKiBwSlMuY2FudmFzLnc7CiAgICAgICAgcDEueSA9IHBvc2l0aW9uID8gcG9zaXRpb24ueSA6IE1hdGgucmFuZG9tKCkgKiBwSlMuY2FudmFzLmg7CiAgICAgICAgcEpTLmZuLnZlbmRvcnMuY2hlY2tPdmVybGFwKHAxKTsKICAgICAgfQogICAgfQogIH07CgoKICBwSlMuZm4udmVuZG9ycy5jcmVhdGVTdmdJbWcgPSBmdW5jdGlvbihwKXsKCiAgICAvKiBzZXQgY29sb3IgdG8gc3ZnIGVsZW1lbnQgKi8KICAgIHZhciBzdmdYbWwgPSBwSlMudG1wLnNvdXJjZV9zdmcsCiAgICAgICAgcmdiSGV4ID0gLyMoWzAtOUEtRl17Myw2fSkvZ2ksCiAgICAgICAgY29sb3JlZFN2Z1htbCA9IHN2Z1htbC5yZXBsYWNlKHJnYkhleCwgZnVuY3Rpb24gKG0sIHIsIGcsIGIpIHsKICAgICAgICAgIGlmKHAuY29sb3IucmdiKXsKICAgICAgICAgICAgdmFyIGNvbG9yX3ZhbHVlID0gJ3JnYmEoJytwLmNvbG9yLnJnYi5yKycsJytwLmNvbG9yLnJnYi5nKycsJytwLmNvbG9yLnJnYi5iKycsJytwLm9wYWNpdHkrJyknOwogICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIHZhciBjb2xvcl92YWx1ZSA9ICdoc2xhKCcrcC5jb2xvci5oc2wuaCsnLCcrcC5jb2xvci5oc2wucysnJSwnK3AuY29sb3IuaHNsLmwrJyUsJytwLm9wYWNpdHkrJyknOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIGNvbG9yX3ZhbHVlOwogICAgICAgIH0pOwoKICAgIC8qIHByZXBhcmUgdG8gY3JlYXRlIGltZyB3aXRoIGNvbG9yZWQgc3ZnICovCiAgICB2YXIgc3ZnID0gbmV3IEJsb2IoW2NvbG9yZWRTdmdYbWxdLCB7dHlwZTogJ2ltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCd9KSwKICAgICAgICBET01VUkwgPSB3aW5kb3cuVVJMIHx8IHdpbmRvdy53ZWJraXRVUkwgfHwgd2luZG93LAogICAgICAgIHVybCA9IERPTVVSTC5jcmVhdGVPYmplY3RVUkwoc3ZnKTsKCiAgICAvKiBjcmVhdGUgcGFydGljbGUgaW1nIG9iaiAqLwogICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwogICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpewogICAgICBwLmltZy5vYmogPSBpbWc7CiAgICAgIHAuaW1nLmxvYWRlZCA9IHRydWU7CiAgICAgIERPTVVSTC5yZXZva2VPYmplY3RVUkwodXJsKTsKICAgICAgcEpTLnRtcC5jb3VudF9zdmcrKzsKICAgIH0pOwogICAgaW1nLnNyYyA9IHVybDsKCiAgfTsKCgogIHBKUy5mbi52ZW5kb3JzLmRlc3Ryb3lwSlMgPSBmdW5jdGlvbigpewogICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocEpTLmZuLmRyYXdBbmltRnJhbWUpOwogICAgY2FudmFzX2VsLnJlbW92ZSgpOwogICAgcEpTRG9tID0gbnVsbDsKICB9OwoKCiAgcEpTLmZuLnZlbmRvcnMuZHJhd1NoYXBlID0gZnVuY3Rpb24oYywgc3RhcnRYLCBzdGFydFksIHNpZGVMZW5ndGgsIHNpZGVDb3VudE51bWVyYXRvciwgc2lkZUNvdW50RGVub21pbmF0b3IpewoKICAgIC8vIEJ5IFByb2dyYW1taW5nIFRob21hcyAtIGh0dHBzOi8vcHJvZ3JhbW1pbmd0aG9tYXMud29yZHByZXNzLmNvbS8yMDEzLzA0LzAzL24tc2lkZWQtc2hhcGVzLwogICAgdmFyIHNpZGVDb3VudCA9IHNpZGVDb3VudE51bWVyYXRvciAqIHNpZGVDb3VudERlbm9taW5hdG9yOwogICAgdmFyIGRlY2ltYWxTaWRlcyA9IHNpZGVDb3VudE51bWVyYXRvciAvIHNpZGVDb3VudERlbm9taW5hdG9yOwogICAgdmFyIGludGVyaW9yQW5nbGVEZWdyZWVzID0gKDE4MCAqIChkZWNpbWFsU2lkZXMgLSAyKSkgLyBkZWNpbWFsU2lkZXM7CiAgICB2YXIgaW50ZXJpb3JBbmdsZSA9IE1hdGguUEkgLSBNYXRoLlBJICogaW50ZXJpb3JBbmdsZURlZ3JlZXMgLyAxODA7IC8vIGNvbnZlcnQgdG8gcmFkaWFucwogICAgYy5zYXZlKCk7CiAgICBjLmJlZ2luUGF0aCgpOwogICAgYy50cmFuc2xhdGUoc3RhcnRYLCBzdGFydFkpOwogICAgYy5tb3ZlVG8oMCwwKTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2lkZUNvdW50OyBpKyspIHsKICAgICAgYy5saW5lVG8oc2lkZUxlbmd0aCwwKTsKICAgICAgYy50cmFuc2xhdGUoc2lkZUxlbmd0aCwwKTsKICAgICAgYy5yb3RhdGUoaW50ZXJpb3JBbmdsZSk7CiAgICB9CiAgICAvL2Muc3Ryb2tlKCk7CiAgICBjLmZpbGwoKTsKICAgIGMucmVzdG9yZSgpOwoKICB9OwoKICBwSlMuZm4udmVuZG9ycy5leHBvcnRJbWcgPSBmdW5jdGlvbigpewogICAgd2luZG93Lm9wZW4ocEpTLmNhbnZhcy5lbC50b0RhdGFVUkwoJ2ltYWdlL3BuZycpLCAnX2JsYW5rJyk7CiAgfTsKCgogIHBKUy5mbi52ZW5kb3JzLmxvYWRJbWcgPSBmdW5jdGlvbih0eXBlKXsKCiAgICBwSlMudG1wLmltZ19lcnJvciA9IHVuZGVmaW5lZDsKCiAgICBpZihwSlMucGFydGljbGVzLnNoYXBlLmltYWdlLnNyYyAhPSAnJyl7CgogICAgICBpZih0eXBlID09ICdzdmcnKXsKCiAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgIHhoci5vcGVuKCdHRVQnLCBwSlMucGFydGljbGVzLnNoYXBlLmltYWdlLnNyYyk7CiAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uIChkYXRhKSB7CiAgICAgICAgICBpZih4aHIucmVhZHlTdGF0ZSA9PSA0KXsKICAgICAgICAgICAgaWYoeGhyLnN0YXR1cyA9PSAyMDApewogICAgICAgICAgICAgIHBKUy50bXAuc291cmNlX3N2ZyA9IGRhdGEuY3VycmVudFRhcmdldC5yZXNwb25zZTsKICAgICAgICAgICAgICBwSlMuZm4udmVuZG9ycy5jaGVja0JlZm9yZURyYXcoKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIHBKUyAtIEltYWdlIG5vdCBmb3VuZCcpOwogICAgICAgICAgICAgIHBKUy50bXAuaW1nX2Vycm9yID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB4aHIuc2VuZCgpOwoKICAgICAgfWVsc2V7CgogICAgICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCl7CiAgICAgICAgICBwSlMudG1wLmltZ19vYmogPSBpbWc7CiAgICAgICAgICBwSlMuZm4udmVuZG9ycy5jaGVja0JlZm9yZURyYXcoKTsKICAgICAgICB9KTsKICAgICAgICBpbWcuc3JjID0gcEpTLnBhcnRpY2xlcy5zaGFwZS5pbWFnZS5zcmM7CgogICAgICB9CgogICAgfWVsc2V7CiAgICAgIGNvbnNvbGUubG9nKCdFcnJvciBwSlMgLSBObyBpbWFnZS5zcmMnKTsKICAgICAgcEpTLnRtcC5pbWdfZXJyb3IgPSB0cnVlOwogICAgfQoKICB9OwoKCiAgcEpTLmZuLnZlbmRvcnMuZHJhdyA9IGZ1bmN0aW9uKCl7CgogICAgaWYocEpTLnBhcnRpY2xlcy5zaGFwZS50eXBlID09ICdpbWFnZScpewoKICAgICAgaWYocEpTLnRtcC5pbWdfdHlwZSA9PSAnc3ZnJyl7CgogICAgICAgIGlmKHBKUy50bXAuY291bnRfc3ZnID49IHBKUy5wYXJ0aWNsZXMubnVtYmVyLnZhbHVlKXsKICAgICAgICAgIHBKUy5mbi5wYXJ0aWNsZXNEcmF3KCk7CiAgICAgICAgICBpZighcEpTLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZSkgY2FuY2VsUmVxdWVzdEFuaW1GcmFtZShwSlMuZm4uZHJhd0FuaW1GcmFtZSk7CiAgICAgICAgICBlbHNlIHBKUy5mbi5kcmF3QW5pbUZyYW1lID0gcmVxdWVzdEFuaW1GcmFtZShwSlMuZm4udmVuZG9ycy5kcmF3KTsKICAgICAgICB9ZWxzZXsKICAgICAgICAgIC8vY29uc29sZS5sb2coJ3N0aWxsIGxvYWRpbmcuLi4nKTsKICAgICAgICAgIGlmKCFwSlMudG1wLmltZ19lcnJvcikgcEpTLmZuLmRyYXdBbmltRnJhbWUgPSByZXF1ZXN0QW5pbUZyYW1lKHBKUy5mbi52ZW5kb3JzLmRyYXcpOwogICAgICAgIH0KCiAgICAgIH1lbHNlewoKICAgICAgICBpZihwSlMudG1wLmltZ19vYmogIT0gdW5kZWZpbmVkKXsKICAgICAgICAgIHBKUy5mbi5wYXJ0aWNsZXNEcmF3KCk7CiAgICAgICAgICBpZighcEpTLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZSkgY2FuY2VsUmVxdWVzdEFuaW1GcmFtZShwSlMuZm4uZHJhd0FuaW1GcmFtZSk7CiAgICAgICAgICBlbHNlIHBKUy5mbi5kcmF3QW5pbUZyYW1lID0gcmVxdWVzdEFuaW1GcmFtZShwSlMuZm4udmVuZG9ycy5kcmF3KTsKICAgICAgICB9ZWxzZXsKICAgICAgICAgIGlmKCFwSlMudG1wLmltZ19lcnJvcikgcEpTLmZuLmRyYXdBbmltRnJhbWUgPSByZXF1ZXN0QW5pbUZyYW1lKHBKUy5mbi52ZW5kb3JzLmRyYXcpOwogICAgICAgIH0KCiAgICAgIH0KCiAgICB9ZWxzZXsKICAgICAgcEpTLmZuLnBhcnRpY2xlc0RyYXcoKTsKICAgICAgaWYoIXBKUy5wYXJ0aWNsZXMubW92ZS5lbmFibGUpIGNhbmNlbFJlcXVlc3RBbmltRnJhbWUocEpTLmZuLmRyYXdBbmltRnJhbWUpOwogICAgICBlbHNlIHBKUy5mbi5kcmF3QW5pbUZyYW1lID0gcmVxdWVzdEFuaW1GcmFtZShwSlMuZm4udmVuZG9ycy5kcmF3KTsKICAgIH0KCiAgfTsKCgogIHBKUy5mbi52ZW5kb3JzLmNoZWNrQmVmb3JlRHJhdyA9IGZ1bmN0aW9uKCl7CgogICAgLy8gaWYgc2hhcGUgaXMgaW1hZ2UKICAgIGlmKHBKUy5wYXJ0aWNsZXMuc2hhcGUudHlwZSA9PSAnaW1hZ2UnKXsKCiAgICAgIGlmKHBKUy50bXAuaW1nX3R5cGUgPT0gJ3N2ZycgJiYgcEpTLnRtcC5zb3VyY2Vfc3ZnID09IHVuZGVmaW5lZCl7CiAgICAgICAgcEpTLnRtcC5jaGVja0FuaW1GcmFtZSA9IHJlcXVlc3RBbmltRnJhbWUoY2hlY2spOwogICAgICB9ZWxzZXsKICAgICAgICAvL2NvbnNvbGUubG9nKCdpbWFnZXMgbG9hZGVkISBjYW5jZWwgY2hlY2snKTsKICAgICAgICBjYW5jZWxSZXF1ZXN0QW5pbUZyYW1lKHBKUy50bXAuY2hlY2tBbmltRnJhbWUpOwogICAgICAgIGlmKCFwSlMudG1wLmltZ19lcnJvcil7CiAgICAgICAgICBwSlMuZm4udmVuZG9ycy5pbml0KCk7CiAgICAgICAgICBwSlMuZm4udmVuZG9ycy5kcmF3KCk7CiAgICAgICAgfQogICAgICAgIAogICAgICB9CgogICAgfWVsc2V7CiAgICAgIHBKUy5mbi52ZW5kb3JzLmluaXQoKTsKICAgICAgcEpTLmZuLnZlbmRvcnMuZHJhdygpOwogICAgfQoKICB9OwoKCiAgcEpTLmZuLnZlbmRvcnMuaW5pdCA9IGZ1bmN0aW9uKCl7CgogICAgLyogaW5pdCBjYW52YXMgKyBwYXJ0aWNsZXMgKi8KICAgIHBKUy5mbi5yZXRpbmFJbml0KCk7CiAgICBwSlMuZm4uY2FudmFzSW5pdCgpOwogICAgcEpTLmZuLmNhbnZhc1NpemUoKTsKICAgIHBKUy5mbi5jYW52YXNQYWludCgpOwogICAgcEpTLmZuLnBhcnRpY2xlc0NyZWF0ZSgpOwogICAgcEpTLmZuLnZlbmRvcnMuZGVuc2l0eUF1dG9QYXJ0aWNsZXMoKTsKCiAgICAvKiBwYXJ0aWNsZXMubGluZV9saW5rZWQgLSBjb252ZXJ0IGhleCBjb2xvcnMgdG8gcmdiICovCiAgICBwSlMucGFydGljbGVzLmxpbmVfbGlua2VkLmNvbG9yX3JnYl9saW5lID0gaGV4VG9SZ2IocEpTLnBhcnRpY2xlcy5saW5lX2xpbmtlZC5jb2xvcik7CgogIH07CgoKICBwSlMuZm4udmVuZG9ycy5zdGFydCA9IGZ1bmN0aW9uKCl7CgogICAgaWYoaXNJbkFycmF5KCdpbWFnZScsIHBKUy5wYXJ0aWNsZXMuc2hhcGUudHlwZSkpewogICAgICBwSlMudG1wLmltZ190eXBlID0gcEpTLnBhcnRpY2xlcy5zaGFwZS5pbWFnZS5zcmMuc3Vic3RyKHBKUy5wYXJ0aWNsZXMuc2hhcGUuaW1hZ2Uuc3JjLmxlbmd0aCAtIDMpOwogICAgICBwSlMuZm4udmVuZG9ycy5sb2FkSW1nKHBKUy50bXAuaW1nX3R5cGUpOwogICAgfWVsc2V7CiAgICAgIHBKUy5mbi52ZW5kb3JzLmNoZWNrQmVmb3JlRHJhdygpOwogICAgfQoKICB9OwoKCgoKICAvKiAtLS0tLS0tLS0tIHBKUyAtIHN0YXJ0IC0tLS0tLS0tLS0tLSAqLwoKCiAgcEpTLmZuLnZlbmRvcnMuZXZlbnRzTGlzdGVuZXJzKCk7CgogIHBKUy5mbi52ZW5kb3JzLnN0YXJ0KCk7CiAgCgoKfTsKCi8qIC0tLS0tLS0tLS0gZ2xvYmFsIGZ1bmN0aW9ucyAtIHZlbmRvcnMgLS0tLS0tLS0tLS0tICovCgpPYmplY3QuZGVlcEV4dGVuZCA9IGZ1bmN0aW9uKGRlc3RpbmF0aW9uLCBzb3VyY2UpIHsKICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBzb3VyY2UpIHsKICAgIGlmIChzb3VyY2VbcHJvcGVydHldICYmIHNvdXJjZVtwcm9wZXJ0eV0uY29uc3RydWN0b3IgJiYKICAgICBzb3VyY2VbcHJvcGVydHldLmNvbnN0cnVjdG9yID09PSBPYmplY3QpIHsKICAgICAgZGVzdGluYXRpb25bcHJvcGVydHldID0gZGVzdGluYXRpb25bcHJvcGVydHldIHx8IHt9OwogICAgICBhcmd1bWVudHMuY2FsbGVlKGRlc3RpbmF0aW9uW3Byb3BlcnR5XSwgc291cmNlW3Byb3BlcnR5XSk7CiAgICB9IGVsc2UgewogICAgICBkZXN0aW5hdGlvbltwcm9wZXJ0eV0gPSBzb3VyY2VbcHJvcGVydHldOwogICAgfQogIH0KICByZXR1cm4gZGVzdGluYXRpb247Cn07Cgp3aW5kb3cucmVxdWVzdEFuaW1GcmFtZSA9IChmdW5jdGlvbigpewogIHJldHVybiAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgd2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSAgICB8fAogICAgd2luZG93Lm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWUgICAgICB8fAogICAgd2luZG93Lm1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lICAgICB8fAogICAgZnVuY3Rpb24oY2FsbGJhY2spewogICAgICB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMCAvIDYwKTsKICAgIH07Cn0pKCk7Cgp3aW5kb3cuY2FuY2VsUmVxdWVzdEFuaW1GcmFtZSA9ICggZnVuY3Rpb24oKSB7CiAgcmV0dXJuIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSAgICAgICAgIHx8CiAgICB3aW5kb3cud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CiAgICB3aW5kb3cubW96Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lICAgIHx8CiAgICB3aW5kb3cub0NhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSAgICAgIHx8CiAgICB3aW5kb3cubXNDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgICAgIHx8CiAgICBjbGVhclRpbWVvdXQKfSApKCk7CgpmdW5jdGlvbiBoZXhUb1JnYihoZXgpewogIC8vIEJ5IFRpbSBEb3duIC0gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTYyNDEzOS8zNDkzNjUwCiAgLy8gRXhwYW5kIHNob3J0aGFuZCBmb3JtIChlLmcuICIwM0YiKSB0byBmdWxsIGZvcm0gKGUuZy4gIjAwMzNGRiIpCiAgdmFyIHNob3J0aGFuZFJlZ2V4ID0gL14jPyhbYS1mXGRdKShbYS1mXGRdKShbYS1mXGRdKSQvaTsKICBoZXggPSBoZXgucmVwbGFjZShzaG9ydGhhbmRSZWdleCwgZnVuY3Rpb24obSwgciwgZywgYikgewogICAgIHJldHVybiByICsgciArIGcgKyBnICsgYiArIGI7CiAgfSk7CiAgdmFyIHJlc3VsdCA9IC9eIz8oW2EtZlxkXXsyfSkoW2EtZlxkXXsyfSkoW2EtZlxkXXsyfSkkL2kuZXhlYyhoZXgpOwogIHJldHVybiByZXN1bHQgPyB7CiAgICAgIHI6IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpLAogICAgICBnOiBwYXJzZUludChyZXN1bHRbMl0sIDE2KSwKICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNikKICB9IDogbnVsbDsKfTsKCmZ1bmN0aW9uIGNsYW1wKG51bWJlciwgbWluLCBtYXgpIHsKICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobnVtYmVyLCBtaW4pLCBtYXgpOwp9OwoKZnVuY3Rpb24gaXNJbkFycmF5KHZhbHVlLCBhcnJheSkgewogIHJldHVybiBhcnJheS5pbmRleE9mKHZhbHVlKSA+IC0xOwp9CgoKLyogLS0tLS0tLS0tLSBwYXJ0aWNsZXMuanMgZnVuY3Rpb25zIC0gc3RhcnQgLS0tLS0tLS0tLS0tICovCgp3aW5kb3cucEpTRG9tID0gW107Cgp3aW5kb3cucGFydGljbGVzSlMgPSBmdW5jdGlvbih0YWdfaWQsIHBhcmFtcyl7CgogIC8vY29uc29sZS5sb2cocGFyYW1zKTsKCiAgLyogbm8gc3RyaW5nIGlkPyBzbyBpdCdzIG9iamVjdCBwYXJhbXMsIGFuZCBzZXQgdGhlIGlkIHdpdGggZGVmYXVsdCBpZCAqLwogIGlmKHR5cGVvZih0YWdfaWQpICE9ICdzdHJpbmcnKXsKICAgIHBhcmFtcyA9IHRhZ19pZDsKICAgIHRhZ19pZCA9ICdwYXJ0aWNsZXMtanMnOwogIH0KCiAgLyogbm8gaWQ/IHNldCB0aGUgaWQgdG8gZGVmYXVsdCBpZCAqLwogIGlmKCF0YWdfaWQpewogICAgdGFnX2lkID0gJ3BhcnRpY2xlcy1qcyc7CiAgfQoKICAvKiBwSlMgZWxlbWVudHMgKi8KICB2YXIgcEpTX3RhZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhZ19pZCksCiAgICAgIHBKU19jYW52YXNfY2xhc3MgPSAncGFydGljbGVzLWpzLWNhbnZhcy1lbCcsCiAgICAgIGV4aXN0X2NhbnZhcyA9IHBKU190YWcuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShwSlNfY2FudmFzX2NsYXNzKTsKCiAgLyogcmVtb3ZlIGNhbnZhcyBpZiBleGlzdHMgaW50byB0aGUgcEpTIHRhcmdldCB0YWcgKi8KICBpZihleGlzdF9jYW52YXMubGVuZ3RoKXsKICAgIHdoaWxlKGV4aXN0X2NhbnZhcy5sZW5ndGggPiAwKXsKICAgICAgcEpTX3RhZy5yZW1vdmVDaGlsZChleGlzdF9jYW52YXNbMF0pOwogICAgfQogIH0KCiAgLyogY3JlYXRlIGNhbnZhcyBlbGVtZW50ICovCiAgdmFyIGNhbnZhc19lbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwogIGNhbnZhc19lbC5jbGFzc05hbWUgPSBwSlNfY2FudmFzX2NsYXNzOwoKICAvKiBzZXQgc2l6ZSBjYW52YXMgKi8KICBjYW52YXNfZWwuc3R5bGUud2lkdGggPSAiMTAwJSI7CiAgY2FudmFzX2VsLnN0eWxlLmhlaWdodCA9ICIxMDAlIjsKCiAgLyogYXBwZW5kIGNhbnZhcyAqLwogIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWdfaWQpLmFwcGVuZENoaWxkKGNhbnZhc19lbCk7CgogIC8qIGxhdW5jaCBwYXJ0aWNsZS5qcyAqLwogIGlmKGNhbnZhcyAhPSBudWxsKXsKICAgIHBKU0RvbS5wdXNoKG5ldyBwSlModGFnX2lkLCBwYXJhbXMpKTsKICB9Cgp9OwoKd2luZG93LnBhcnRpY2xlc0pTLmxvYWQgPSBmdW5jdGlvbih0YWdfaWQsIHBhdGhfY29uZmlnX2pzb24sIGNhbGxiYWNrKXsKCiAgLyogbG9hZCBqc29uIGNvbmZpZyAqLwogIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICB4aHIub3BlbignR0VUJywgcGF0aF9jb25maWdfanNvbik7CiAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uIChkYXRhKSB7CiAgICBpZih4aHIucmVhZHlTdGF0ZSA9PSA0KXsKICAgICAgaWYoeGhyLnN0YXR1cyA9PSAyMDApewogICAgICAgIHZhciBwYXJhbXMgPSBKU09OLnBhcnNlKGRhdGEuY3VycmVudFRhcmdldC5yZXNwb25zZSk7CiAgICAgICAgd2luZG93LnBhcnRpY2xlc0pTKHRhZ19pZCwgcGFyYW1zKTsKICAgICAgICBpZihjYWxsYmFjaykgY2FsbGJhY2soKTsKICAgICAgfWVsc2V7CiAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIHBKUyAtIFhNTEh0dHBSZXF1ZXN0IHN0YXR1czogJyt4aHIuc3RhdHVzKTsKICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgcEpTIC0gRmlsZSBjb25maWcgbm90IGZvdW5kJyk7CiAgICAgIH0KICAgIH0KICB9OwogIHhoci5zZW5kKCk7Cgp9Ow=="}},"time_used":75,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":75,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31837.d368caa64d494a4087cc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.801Z","timestamp":1785124875801,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31837.d368caa64d494a4087cc.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-5656\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2447b38c59982782e4935f0ea274e84a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22102,"size_decoded":4305,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (22102), with no line terminators","md5":"723a7e925325b3ef2a66b0c084a39bdd","sha1":"6a1663dea4b2b18ff687ee9767a12412fb13768d","sha256":"8eb306a311580ce73c3d612ed0ae486994b351a828db7b8fb04c56c89824ba82","sha512":"c0282c69a16641bab7619996a69102f8dc69001ea8a81a80217b27e27aedc0c796accdbf3990fcb955facdc82faa2cb8b455065be32e8d0c3ca62c73e94d5c22","ssdeep":"192:9n/er85dIvw/pxhIJmhxiDmCtskjYzbgwH:1mQz3vgwH","tlshash":"65a236ebed91d7aeeb075f39035a9d2877519dc28a103f5ab221d0c106e2af5607f603","first_seen":"2026-03-24T10:46:27.371959Z","last_seen":"2026-07-27T06:14:34.209656Z","times_seen":1032,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteTJaWDojZWNlY2VjOy0tXzEteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV8yLXkyWlg6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzQteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzUteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tXzYteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzIteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1fNC15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1fNS15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMC15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEyLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnR2LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowO21pbi13aWR0aDo0MHB4O3BhZGRpbmc6MXB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtmaWxsOmN1cnJlbnRDb2xvcjtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZSxjb2xvciAuMzVzIGVhc2V9LnR2LWJ1dHRvbi50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMjFweH0udHYtYnV0dG9uLmktYWN0aXZlLC50di1idXR0b24uaS1ob3ZlciwudHYtYnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b246aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWJ1dHRvbi0tYmxvY2t7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50di1idXR0b24rLnR2LWJ1dHRvbnttYXJnaW4taW5saW5lLXN0YXJ0OjE1cHh9LnR2LWJ1dHRvbi50di1idXR0b24tLW5vLWxlZnQtbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtYnV0dG9uX190ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1idXR0b25fX3RleHQtLWZ1bGwtaGVpZ2h0e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6MTAwJTt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MTFweCA1cHh9LnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LGEudHYtYnV0dG9uLS1kZWZhdWx0OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0OmFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLXkyWlgpO2NvbG9yOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kZWZhdWx0LmktaG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtjb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1kZWZhdWx0OmhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2NvbG9yOiNmZmZ9fS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfX0udHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLWRlZmF1bHQuaS1jaGVja2VkLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWNoZWNrZWR7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHQ6aG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9fS50di1idXR0b24tLWRlZmF1bHQuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdDphY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0OmFjdGl2ZXtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tcHJpbWFyeSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1wcmltYXJ5OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzYteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdHtjb2xvcjp2YXIoLS1fNi15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNi15MlpYKTtjb2xvcjp2YXIoLS1fOS15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5LmktYWN0aXZlLC50di1idXR0b24tLXByaW1hcnk6YWN0aXZlLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1wcmltYXJ5LmktaG92ZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV83LXkyWlgpO2NvbG9yOnZhcigtLV85LXkyWlgpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVyLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9fS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV85LXkyWlgpfX0udHYtYnV0dG9uLS1zZWNvbmRhcnksLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1zZWNvbmRhcnk6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3R7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNkMWRiZjA7Ym9yZGVyLWNvbG9yOiNkMWRiZjA7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1ob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMWU3ZjU7Ym9yZGVyLWNvbG9yOiNlMWU3ZjU7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeTpob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1O2JvcmRlci1jb2xvcjojZTFlN2Y1O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1fS50di1idXR0b24tLXNlY29uZGFyeV9naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zdWNjZXNzLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsYS50di1idXR0b24tLXN1Y2Nlc3M6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpfS50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN1Y2Nlc3MuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2VzczphY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtYWN0aXZlKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0tc3VjY2Vzcy5pLWhvdmVyLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlciwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcil9LnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyLC50di1idXR0b24tLWRhbmdlcl9naG9zdCxhLnR2LWJ1dHRvbi0tZGFuZ2VyOnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0e2NvbG9yOnZhcigtLV8zLXkyWlgpfS50di1idXR0b24tLWRhbmdlcl9naG9zdC5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyLmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcjphY3RpdmUsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcl9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzUteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kYW5nZXIuaS1ob3ZlciwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVyLC50di1idXR0b24tLWRhbmdlcl9naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzQteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9fS50di1idXR0b24tLXdhcm5pbmcsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdCxhLnR2LWJ1dHRvbi0td2FybmluZzp2aXNpdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0td2FybmluZy5pLWFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtjb2xvcjojZmZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0td2FybmluZy5pLWhvdmVyLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0td2FybmluZzpob3ZlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tbGluaywudHYtYnV0dG9uLS1saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1saW5rOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0udHYtYnV0dG9uLS1saW5rOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS50di1idXR0b24tLWxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdle2JvcmRlci13aWR0aDoycHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVye2JvcmRlci13aWR0aDoxcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15MlpYKX19LnR2LWJ1dHRvbi5pLWRpc2FibGVkLC50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZCwudHYtYnV0dG9uOmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS15MlpYKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LWRpc2FibGVkKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi5pLWRpc2FibGVkOmhvdmVyLC50di1idXR0b246ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzEteTJaWCk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7Y3Vyc29yOmRlZmF1bHR9fS50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7Ym9yZGVyLXJhZGl1czoxcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE1cHg7cGFkZGluZzoycHggN3B4fS50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3hzbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjFweCA2cHh9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwrLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1idXR0b24tLXNpemVfc21hbGx7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjVweDtwYWRkaW5nOjFweCAxMnB4fS50di1idXR0b24tLXNpemVfc21hbGwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3NtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowIDExcHh9LnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbCsudHYtYnV0dG9uLS1zaXplX3NtYWxse21hcmdpbi1pbmxpbmUtc3RhcnQ6MTBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjQ0cHg7cGFkZGluZzoxcHggMzBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXN0YXRlLC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e3BhZGRpbmc6MCAyOXB4fS50di1idXR0b24tLXNpemVfcHJvbW97Ym9yZGVyLXJhZGl1czoxMjBweDtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDo1NHB4O3BhZGRpbmc6MXB4IDQwcHh9LnR2LWJ1dHRvbi0tc2l6ZV9wcm9tby50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfcHJvbW8udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMzlweH0udHYtYnV0dG9uLS1uby1wYWRkaW5ne3BhZGRpbmc6MXB4fS50di1idXR0b24tLW5vLXBhZGRpbmcudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1uby1wYWRkaW5nLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowfS50di1idXR0b24tLXN0YXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDt0ZXh0LWFsaWduOmNlbnRlcn0udHYtYnV0dG9uLS1zdGF0ZTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrLWhpbnQsLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZHtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjYyNXMgZWFzZSx0cmFuc2Zvcm0gLjI2MjVzIGVhc2V9LnR2LWJ1dHRvbi0tc3RhdGVfX2VsbGlwc2lzLXRleHR7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50LC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVja2Vke3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e29wYWNpdHk6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke29wYWNpdHk6MH19LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrZWR7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHtvcGFjaXR5OjF9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3MuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Y29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3M6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMy15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMTAteTJaWCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LXkyWlgpO2NvbG9yOnZhcigtLV8xMS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC1ob3Zlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LWhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QtaG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2UxZTdmNTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2QxZGJmMDtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmcuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWljb24td2l0aC10ZXh0IHN2Z3ttYXJnaW4taW5saW5lLWVuZDo2cHg7bWFyZ2luLWJvdHRvbTotOHB4O3ZlcnRpY2FsLWFsaWduOnVuc2V0fS50di1idXR0b24tLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6YXV0bztwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOjM0cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfeHNtYWxse2hlaWdodDoxOXB4O3dpZHRoOjE5cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfc21hbGx7aGVpZ2h0OjI3cHg7d2lkdGg6MjdweH0udHYtYnV0dG9uLS1pY29uLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZXtoZWlnaHQ6NDZweDt3aWR0aDo0NnB4fS50di1idXR0b25fX2ljb257ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjdweH0udHYtYnV0dG9uLS1sb2FkZXIgLnR2LWJ1dHRvbl9fdGV4dHt0cmFuc2l0aW9uOm9wYWNpdHkgMTc1bXMgZWFzZSx0cmFuc2Zvcm0gMTc1bXMgZWFzZX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX3RleHR7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbi1kZWxheToxNzVtc30udHYtYnV0dG9uX19sb2FkZXJ7Ym90dG9tOjA7Zm9udC1zaXplOjA7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjowIGF1dG87b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2V9LnR2LWJ1dHRvbl9fbG9hZGVyOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MH0udHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xMi15MlpYKTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwcHg7bWFyZ2luLWlubGluZS1lbmQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguNik7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSxvcGFjaXR5IC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTBweH0udHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7dHJhbnNpdGlvbi1kZWxheTouMTE2NjY2NjdzfS50di1idXR0b25fX2xvYWRlci1pdGVtOm50aC1jaGlsZCgzKXt0cmFuc2l0aW9uLWRlbGF5OjIzMy4zMzMzM21zfS50di1idXR0b24tLWRlZmF1bHQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1sb2FkZXIuaS1sb2FkaW5nIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17b3BhY2l0eToxfS50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtvcGFjaXR5OjB9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNil9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItWWpkSEtzQk0gLjk2cyBlYXNlLWluLW91dCBpbmZpbml0ZSBib3RofS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDIpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNTFzfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDMpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zMnN9LnR2LWJ1dHRvbi0tbm8tYm9yZGVyLXJhZGl1c3tib3JkZXItcmFkaXVzOjB9LnR2LWJ1dHRvbi0tbm8tYm9yZGVye2JvcmRlcjpub25lfS50di1idXR0b24tLWNvbm5lY3R7Ym9yZGVyLXJhZGl1czowfS50di1idXR0b24tLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtYnV0dG9uLS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWJ1dHRvbi0td2l0aC1pY29ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9QGtleWZyYW1lcyB0di1idXR0b24tbG9hZGVyLVlqZEhLc0JNezAlLHRve3RyYW5zZm9ybTpzY2FsZSguNil9NTAle3RyYW5zZm9ybTpzY2FsZSguOSl9fQ=="}},"time_used":92,"timings":{"blocked":-1,"dns":35,"connect":39,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/3b9d6fe6e76986ecb811cf3a196d505e8f9e2db9.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:20.835Z","timestamp":1785124880835,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /widget/3b9d6fe6e76986ecb811cf3a196d505e8f9e2db9.json HTTP/1.1\r\nHost: bootstrap.smartsuppchat.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\nContent-Type: text/plain\r\nOrigin: https://berthenergy-inc.biz\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://berthenergy-inc.biz/\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":"","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-27T06:15:45.47424Z","times_seen":17557251,"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/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.610Z","timestamp":1785124875610,"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/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1xlFQ.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://berthenergy-inc.biz\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: 7816\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 23:00:27 GMT\r\nexpires: Wed, 21 Jul 2027 23:00:27 GMT\r\ncache-control: public, max-age=31536000\r\nage: 450048\r\nlast-modified: Mon, 15 Sep 2025 16:35:07 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":7816,"size_decoded":8628,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7816, version 1.0","md5":"25b0e113ca7cce3770d542736db26368","sha1":"cb726212d5d525021752a1d8470a0fb593e0c49e","sha256":"9338e65fc077355c7a87ae0d64cc101e23b9bf8ad78ae65f0f319c857311b526","sha512":"a0d331e62ab4727f49ca286a1ee7fb81cddc5bb9edf71ef84f4bd4fa1552069af1a82752011ba88fae80862d034135926b7e99d70e59d626d66d4ede90e94c30","ssdeep":"192:Agw5ksLwlyK8F2BXU96Fc575OI3+ga534SlEFwTG4ovej9be:Al5y8FSUMS5VOq1KISlvS4ov+4","tlshash":"a3f1af19d5de5a73f80032b45b6911ba7e42fa83bc68bbedf8046a10ad542cb467cc91","first_seen":"2023-04-05T13:48:05Z","last_seen":"2026-07-27T06:15:14.9776Z","times_seen":288488,"resource_available":true,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.878Z","timestamp":1785124875878,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/95244.9da889c136d2506a3d81.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-93db\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5462d263de492aa2e479b1365033ff5c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":37851,"size_decoded":12352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3061)","md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-27T06:24:31.52819Z","times_seen":224,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTUyNDRdLHs3NjI4NTEoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUrIuKApiJ9cy5kKHQse2FwcGVuZEVsbGlwc2lzOigpPT5ufSl9LDk1MjkwMChlLHQscyl7cy5kKHQse2FjY3VtdWxhdGU6KCk9PmEsYWNjdW11bGF0ZURlZmVycmVkOigpPT5sLGNvbWJpbmU6KCk9Pm8sY29tYmluZVdpdGhGaWx0ZXJlZFVwZGF0ZTooKT0+cn0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCwuLi5zKXtsZXQgaT1udWxsO2NvbnN0IHI9KC4uLnQpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSxpPy52YWx1ZSgpKSxvPWk9bmV3IG4uV2F0Y2hlZFZhbHVlKHIoLi4ucykpLGE9KCk9Pntjb25zdCBlPXMubWFwKCgoZSx0KT0+ZS52YWx1ZSgpKSk7dCguLi5lKSYmby5zZXRWYWx1ZShyKC4uLnMpKX0sbD1zLm1hcCgoZT0+ZS5zcGF3bigpKSk7Zm9yKGNvbnN0IGUgb2YgbCllLnN1YnNjcmliZShhKTtyZXR1cm4gby5yZWFkb25seSgpLnNwYXduKCgoKT0+e2wuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxzLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSl9KSl9ZnVuY3Rpb24gcihlLHQsLi4ucyl7cmV0dXJuIGkoZSx0LC4uLnMpfWZ1bmN0aW9uIG8oZSwuLi50KXtyZXR1cm4gaShlLCgoKT0+ITApLC4uLnQpfWZ1bmN0aW9uIGEoZSx0LC4uLnMpe2xldCBpPW51bGw7Y29uc3Qgcj1vKCgoLi4uZSk9PihlLnNwbGljZSgtMSksZSkpLC4uLnMpLGE9dC5zcGF3bigpLGw9KHQsLi4ucyk9Pntjb25zdCBuPXQubWFwKChlPT5lLnZhbHVlKCkpKTtyZXR1cm4gZShuLC4uLnMsaT8udmFsdWUoKSl9LHU9aT1uZXcgbi5XYXRjaGVkVmFsdWUobChhLnZhbHVlKCksLi4uci52YWx1ZSgpKSk7bGV0IGM9W107Y29uc3QgaD0oKT0+e3Uuc2V0VmFsdWUobChjLC4uLnIudmFsdWUoKSkpfSxkPWU9PntjLmZvckVhY2goKGU9PmUuZGVzb3koKSkpLGM9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLGMuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoaCkpKSxoKCl9O2QoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShkKSxyLnN1YnNjcmliZShoKTtyZXR1cm4gdS5yZWFkb25seSgpLnNwYXduKCgoKT0+e2MuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxyLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX1mdW5jdGlvbiBsKGUsdCwuLi5zKXtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBhPW8oKCguLi5lKT0+KGUuc3BsaWNlKC0xKSxlKSksLi4ucyksbD10LnNwYXduKCksdT0odCwuLi5zKT0+e2NvbnN0IG49dC5tYXAoKGU9PmUudmFsdWUoKSkpO3JldHVybiBlKG4sLi4ucyxpPy52YWx1ZSgpKX0sYz1pPW5ldyBuLldhdGNoZWRWYWx1ZSh1KGwudmFsdWUoKSwuLi5hLnZhbHVlKCkpKTtsZXQgaD1bXTtjb25zdCBkPWU9PnNldFRpbWVvdXQoZSwwKSx5PSgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLHI9ZCgoKCk9Pntjb25zdCBlPXUoaCwuLi5hLnZhbHVlKCkpO3I9ZCgoKCk9PntjLnNldFZhbHVlKGUpfSkpfSkpfSxiPWU9PntoLmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSksaD1lLm1hcCgoZT0+ZS5zcGF3bigpKSksaC5mb3JFYWNoKChlPT5lLnN1YnNjcmliZSh5KSkpLHkoKX07YihsLnZhbHVlKCkpLGwuc3Vic2NyaWJlKGIpLGEuc3Vic2NyaWJlKHkpO3JldHVybiBjLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLGguZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxsLmRlc3Ryb3koKSxhLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDI0MTk1NihlLHQscyl7cy5kKHQse2NyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbjooKT0+aX0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgcz1uZXcgbi5XYXRjaGVkVmFsdWUoZSgpKSxpPXt9O3Quc3Vic2NyaWJlKGksKCgpPT57cy5zZXRWYWx1ZShlKHMudmFsdWUoKSkpfSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LnVuc3Vic2NyaWJlQWxsKGkpKSl9fSw4NTI5ODAoZSx0LHMpe2Z1bmN0aW9uIG4oZSx0LHMsbixpKXtjb25zdHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDpyLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTpvLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6YSx1cHBlcmNhc2VJbnN0cnVtZW50TmFtZXM6bH09ZTtsZXQgdT10JiYobiYmdC5wcm9fbmFtZXx8dC5mdWxsX25hbWV8fHQubmFtZSk7cmV0dXJuIGEmJnM/dT1zOihvfHwhaSYmcikmJnQmJnQudGlja2VyJiYodT10LnRpY2tlciksbCYmdSYmKHU9dS50b1VwcGVyQ2FzZSgpKSx1fXMuZCh0LHtleHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvOigpPT5ufSl9LDU5NjcwNihlLHQscyl7cy5kKHQse2lzQ0ZEU3ltYm9sOigpPT5uLGlzQ3J5cHRvU3ltYm9sOigpPT5yLGlzSGlwM1N5bWJvbDooKT0+byxpc1N0b2NrU3ltYm9sOigpPT5pfSk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBCb29sZWFuKHQ/LmluY2x1ZGVzKCJjZmQiKSkmJlsiY29tbW9kaXR5IiwiZnV0dXJlcyIsImluZGV4Iiwic3RvY2siLCJmdW5kIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gaShlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ2b2lkIDAhPT10JiYhdC5pbmNsdWRlcygiY2ZkIikmJiF0LmluY2x1ZGVzKCJuZGYiKX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJjcnlwdG8iKX1mdW5jdGlvbiBvKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJoaXAzIil9fSwyMjUyOTgoZSx0LHMpe3MuZCh0LHtsaW5raW5nOigpPT5XfSk7dmFyIG49cyg1NDc4NTEpLGk9cygxMzg2MzgpLHI9cygyMjEwNjEpLG89KHMoOTMwMjMxKSxzKDIzMjM2NCkpLGE9cygyNTQ2NzMpLGw9cygxMjg5OTgpLHU9cyg5NTI5MDApLGM9cygyNDE5NTYpO3ZhciBoPXMoOTMwNTY2KSxkPXMoNjMxNjM0KSx5PXMoNzk4MzgpLGI9cyg3Nzg5NDYpLG09cyg3NzQ1MDcpLHA9cygzNjIyMzkpCjt2YXIgUz1zKDM4MzM1MSksXz1zKDcwMTUwNiksZz1zKDY4Mjc3OSksdj1zKDIwOTM5KTtjb25zdCB3PSgwLHIuZ2V0TG9nZ2VyKSgiTGlua2luZyIpO3ZhciBmLEM7IWZ1bmN0aW9uKGUpe2VbZS5Ob3RCb3VuZD0wXT0iTm90Qm91bmQiLGVbZS5Cb3VuZFRvV2lkZ2V0PTFdPSJCb3VuZFRvV2lkZ2V0IixlW2UuQm91bmRUb01vZGVsPTJdPSJCb3VuZFRvTW9kZWwifShmfHwoZj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5TeW1ib2w9MF09IlN5bWJvbCIsZVtlLlJlc29sdXRpb249MV09IlJlc29sdXRpb24ifShDfHwoQz17fSkpO2NsYXNzIGt7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMud2F0Y2hlZFN5bWJvbHM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLndhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuc2VyaWVzU2hvcnRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMucHJvU3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLmVuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZEludGVydmFsPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRJbnRyYWRheT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkVGlja3M9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLnN5bWJvbE5hbWVzTGlzdD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwsdGhpcy5fY2hhcnRXaWRnZXRCaW5kaW5nU3RhdGU9MCx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz1udWxsLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZD10aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXIuYmluZCh0aGlzKSx0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kPXRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyLmJpbmQodGhpcyksdGhpcy5fc2V0R3JvdXBTeW1ib2xDYW5jZWxsYXRpb25Ub2tlbj17Y2FuY2VsbGVkOiExfSx0aGlzLl9tdXRlZD0hMSx0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQ9KCk9Pntjb25zdCBlPXRoaXMuX2NoYXJ0VG9CaW5kKCk7ZSE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJihudWxsPT09ZT90aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpOnRoaXMuYmluZFRvQ2hhcnRXaWRnZXQoZSkpfSx0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cz0oKT0+e3RoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz8uKCk7Y29uc3QgZT0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKSx0PVtdLHM9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLnN5bWJvbFdWKCkuc3Bhd24oKSxpPW4ucmVzb2x1dGlvbldWKCkuc3Bhd24oKTtlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTeW1ib2xCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSW50ZXJ2YWxCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksdC5wdXNoKGUpLHMucHVzaChpKX10aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM9KCk9Pnt0LmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSkscy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz12b2lkIDB9O2NvbnN0IG49dGhpcy53YXRjaGVkU3ltYm9sLnZhbHVlKCk7ZS5sZW5ndGg+MSYmdGhpcy5fbmVlZEFwcGx5U3ltYm9sKG4pJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwU3ltYm9sKG4pO2NvbnN0IHI9dGhpcy53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKTtlLmxlbmd0aD4xJiZ0aGlzLl9uZWVkQXBwbHlJbnRlcnZhbChyKSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cEludGVydmFsKHIpLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCgpfSx0aGlzLl9ncm91cEluZGV4PWU7Y29uc3Qgbj0oZSx0KT0+e2Uuc3Vic2NyaWJlKChlPT57cygpPT09dGhpcyYmdC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX07bih0aGlzLndhdGNoZWRTeW1ib2xzLHQud2F0Y2hlZFN5bWJvbHMpLG4odGhpcy53YXRjaGVkU3ltYm9sLHQud2F0Y2hlZFN5bWJvbCksbih0aGlzLnNlcmllc1Nob3J0U3ltYm9sLHQuc2VyaWVzU2hvcnRTeW1ib2wpLG4odGhpcy5wcm9TeW1ib2wsdC5wcm9TeW1ib2wpLG4odGhpcy5lbnN1cmVkUHJvU3ltYm9sLHQuZW5zdXJlZFByb1N5bWJvbCksbih0aGlzLndhdGNoZWRJbnRlcnZhbCx0LndhdGNoZWRJbnRlcnZhbCksbih0aGlzLndhdGNoZWRJbnRyYWRheSx0LndhdGNoZWRJbnRyYWRheSksbih0aGlzLndhdGNoZWRTZWNvbmRzLHQud2F0Y2hlZFNlY29uZHMpLG4odGhpcy53YXRjaGVkVGlja3MsdC53YXRjaGVkVGlja3MpLG4odGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sdC53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pLG4odGhpcy53YXRjaGVkUmFuZ2UsdC53YXRjaGVkUmFuZ2UpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsdC53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsdC53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpLG4odGhpcy5zeW1ib2xOYW1lc0xpc3QsdC5zeW1ib2xOYW1lc0xpc3QpLHRoaXMud2F0Y2hlZFN5bWJvbC5zdWJzY3JpYmUoKGU9PnsKdGhpcy5fYm91bmRDaGFydFdpZGdldCYmdGhpcy5fYm91bmRDaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHx0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1tdXRlKGUpe3RoaXMuX211dGVkPWV9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0PWUuYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9ZS5saW5raW5nR3JvdXBzQ2hhcnRzKHRoaXMuX2dyb3VwSW5kZXgpLnNwYXduKCksdGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cyksdGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCksdGhpcy5fdXBkYXRlQWxsR3JvdXBDaGFydFdpZGdldHMoKTtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsdS5jb21iaW5lKSgoKCk9PmUuZ2V0QWxsKCkuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpJiZlLmhhc01vZGVsKCkpKS5tYXAoKGU9PigwLGMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PmUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCkpLGUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sUmVzb2x2ZWQoKSkub3duZXJzaGlwKCkpKSksZS5jaGFydE1vZGVscygpLndlYWtSZWZlcmVuY2UoKSxlLmxheW91dC53ZWFrUmVmZXJlbmNlKCkpO3JldHVybigwLHUuYWNjdW11bGF0ZSkoKGU9PmUpLHQub3duZXJzaGlwKCkpfShlKTt0LnN1YnNjcmliZSgoZT0+e3RoaXMud2F0Y2hlZFN5bWJvbHMuc2V0VmFsdWUoZSl9KSksdGhpcy53YXRjaGVkU3ltYm9scy5zZXRWYWx1ZSh0LnZhbHVlKCkpfXVuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXt0aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM/LmRlc3Ryb3koKSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9bnVsbCx0aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM/LigpfWJpbmRUb0NoYXJ0V2lkZ2V0KGUpe2lmKHRoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0KCksdGhpcy5fYm91bmRDaGFydFdpZGdldD1lLGUuaGFzTW9kZWwoKSlyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkKGUubW9kZWwoKSk7ZS5tb2RlbENyZWF0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkLCEwKSx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0xO2NvbnN0IHQ9ZS5tYWluU2VyaWVzUHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0LnN5bWJvbC52YWx1ZSgpKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0LmludGVydmFsLnZhbHVlKCkpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KX11bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKXtjb25zdCBlPXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ7aWYobnVsbCE9PWUpe3N3aXRjaCh0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZSl7Y2FzZSAxOmUubW9kZWxDcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7YnJlYWs7Y2FzZSAyOnRoaXMud2F0Y2hlZFN5bWJvbC51bnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD10aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHQuc3ltYm9sRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMud2F0Y2hlZEludGVydmFsLnVuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQpLGRlbGV0ZSB0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrfWUubGlua2luZ0dyb3VwSW5kZXgoKS51bnN1YnNjcmliZSh0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0wfX1ib3VuZENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXR9bWFpblNlcmllcygpe2lmKCF0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KXRocm93IG5ldyBFcnJvcigiQ2hhcnRXaWRnZXQgaXMgdW5kZWZpbmVkIik7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3dhdGNoZWRTeW1ib2xMaXN0ZW5lcihlKXt0aGlzLl9uZWVkQXBwbHlTeW1ib2woZSkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2woZSl9X3VwZGF0ZVN5bWJvbEJ5UHJvcGVydHkoZSx0KXtjb25zdCBzPXRoaXMuX3N5bWJvbExvY2soKTtzJiZ0aGlzLl9uZWVkQXBwbHlTeW1ib2wodCkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2wodCksKHN8fGU9PT10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KSYmdGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQpfV93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lcihlKXtjb25zdCB0PWEuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3QmJnRoaXMuX25lZWRBcHBseUludGVydmFsKHQpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwodCl9X3VwZGF0ZUludGVydmFsQnlQcm9wZXJ0eShlLHQpewpjb25zdCBzPXRoaXMuX2ludGVydmFsTG9jaygpLG49YS5JbnRlcnZhbC5ub3JtYWxpemUodCk7cyYmbiYmdGhpcy5fbmVlZEFwcGx5SW50ZXJ2YWwobikmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBJbnRlcnZhbChuKSwoc3x8ZT09PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpJiZ0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShuPz90KX1fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbygpe3RoaXMuc2VyaWVzU2hvcnRTeW1ib2wuc2V0VmFsdWUoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KS5nZXRTeW1ib2woITApKTtjb25zdCBlPXRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihlKXtjb25zdCB0PWUucHJvX25hbWV8fCExO3RoaXMucHJvU3ltYm9sLnNldFZhbHVlKHR8fHRoaXMud2F0Y2hlZFN5bWJvbC52YWx1ZSgpKSx0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSksZS5hbGlhc2VzJiZ0aGlzLnN5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLmFsaWFzZXMpO2xldCBzPSgwLF8uYWxsQ2hhcnRTdHlsZXMpKCk7KCgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKXx8dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSkmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKSkpKSwiaGxjIj09PWUudmlzaWJsZV9wbG90c19zZXQmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLGwuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpKSkpLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKHMpLHRoaXMud2F0Y2hlZEludHJhZGF5LnNldFZhbHVlKCEhZS5oYXNfaW50cmFkYXkpLHRoaXMud2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoISFlLmhhc19zZWNvbmRzKSx0aGlzLndhdGNoZWRUaWNrcy5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpJiYhIWVbImlzLXRpY2tiYXJzLWF2YWlsYWJsZSJdKSx0aGlzLndhdGNoZWRSYW5nZS5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpKTtjb25zdCBuPWUuZGF0YV9mcmVxdWVuY3k/ZS5kYXRhX2ZyZXF1ZW5jeTp2b2lkIDA7dGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc2V0VmFsdWUobil9ZWxzZSB0aGlzLndhdGNoZWRJbnRyYWRheS5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkU2Vjb25kcy5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkVGlja3Muc2V0VmFsdWUoITEpLHRoaXMud2F0Y2hlZFJhbmdlLnNldFZhbHVlKCExKSx0aGlzLm1haW5TZXJpZXMoKS5pc0ZhaWxlZCgpJiZ0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSl9X29uQ2hhcnRNb2RlbENyZWF0ZWQoZSl7aWYoIXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpdGhyb3cgbmV3IEVycm9yKCJDaGFydFdpZGdldCBpcyB1bmRlZmluZWQiKTt0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0yLHRoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnN5bWJvbFdWKCkudmFsdWUoKSksdGhpcy53YXRjaGVkU3ltYm9sLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD1lLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHQuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTZXJpZXNTeW1ib2xJbmZvKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8oKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlc29sdXRpb25XVigpLnZhbHVlKCkpLHRoaXMud2F0Y2hlZEludGVydmFsLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kKSx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlYWRPbmx5KCkmJih0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrPSEwKX1fY2hhcnRUb0JpbmQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjtyZXR1cm4gbnVsbD09PWU/bnVsbDplLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD9lLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk6bnVsbCE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD90aGlzLl9ib3VuZENoYXJ0V2lkZ2V0OmUuZ2V0QWxsKCkuZmluZCgoZT0+ZS5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4KSk/P251bGx9X3N5bWJvbExvY2soKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5zeW1ib2wudmFsdWUoKX1faW50ZXJ2YWxMb2NrKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1fY2hhcnRzRm9yTG9jayhlKXtyZXR1cm4oMD09PWU/dGhpcy5fc3ltYm9sTG9jaygpOnRoaXMuX2ludGVydmFsTG9jaygpKT8oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKTp0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0P1t0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0XTpbXX1fc2V0R3JvdXBTeW1ib2woZSl7dGhpcy5tdXRlKCEwKSx0aGlzLl9zZXRHcm91cFN5bWJvbENhbmNlbGxhdGlvblRva2VuLmNhbmNlbGxlZD0hMDtjb25zdCB0PXRoaXMuX3NldEdyb3VwU3ltYm9sQ2FuY2VsbGF0aW9uVG9rZW49e2NhbmNlbGxlZDohMX07KDAsCmkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5zZXRTeW1ib2woZSx0aGlzLl9ncm91cEluZGV4LCgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fYm91bmRDaGFydFdpZGdldCkpLmZpbmFsbHkoKCgpPT57aWYodGhpcy5fYm91bmRDaGFydFdpZGdldCYmIXQuY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCk7dC5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHwodGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQuc3ltYm9sKCkpLHRoaXMucHJvU3ltYm9sLnNldFZhbHVlKHQucHJvU3ltYm9sKCkpKX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5U3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRzRm9yTG9jaygwKSxzPXQuZmluZCgodD0+dC5oYXNNb2RlbCgpJiZ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSYmdC5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKSkpO2lmKHMpe2NvbnN0IGU9cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtpZih0LmV2ZXJ5KCh0PT5lLnN5bWJvbFNhbWVBc1Jlc29sdmVkKHQuc3ltYm9sV1YoKS52YWx1ZSgpKSkpKXJldHVybiExfXJldHVybiB0LnNvbWUoKHQ9PnQuc3ltYm9sV1YoKS52YWx1ZSgpIT09ZSkpfV9zZXRHcm91cEludGVydmFsKGUpe3RoaXMubXV0ZSghMCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pLnNldFJlc29sdXRpb24oZSx0aGlzLl9ncm91cEluZGV4KS5maW5hbGx5KCgoKT0+e2lmKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpe2NvbnN0IHQ9dGhpcy5fYm91bmRDaGFydFdpZGdldC5yZXNvbHV0aW9uV1YoKS52YWx1ZSgpO2EuSW50ZXJ2YWwuaXNFcXVhbCh0LGUpfHx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0KX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5SW50ZXJ2YWwoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0c0ZvckxvY2soMSkuc29tZSgodD0+IWEuSW50ZXJ2YWwuaXNFcXVhbCh0LnJlc29sdXRpb25XVigpLnZhbHVlKCksZSkpKX19Y29uc3QgVz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl93YXRjaGVkU3ltYm9scz1uZXcgby5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3dhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl9wcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRJbnRlcnZhbD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZEludHJhZGF5PW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFRpY2tzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb249bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9zeW1ib2xOYW1lc0xpc3Q9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX29uU3ltYm9sTGlua0JvdW5kPXRoaXMuX29uU3ltYm9sTGluay5iaW5kKHRoaXMpLHRoaXMuX3NlYXJjaENoYXJ0cz1udWxsLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9bnVsbCx0aGlzLl9zZWxmRW1pdD0hMSx0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPSExLHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcj0wLHRoaXMuX2xpbmtpbmdHcm91cHM9bmV3IE1hcCx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXA9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PW51bGwsdGhpcy5fdXBkYXRlTGlua2luZ0dyb3Vwcz0oKT0+eygwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5hbGxMaW5raW5nR3JvdXBzKCkudmFsdWUoKS5mb3JFYWNoKChlPT50aGlzLl9saW5raW5nR3JvdXAoZSkpKSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUudXBkYXRlQm91bmRDaGFydFdpZGdldCgpKSl9LHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5zZXRWYWx1ZSh0aGlzLl9saW5raW5nR3JvdXAobnVsbCkpO2NvbnN0IGU9KGUsdCk9PntlLnN1YnNjcmliZSgoZT0+dCgpLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9O2UodGhpcy5fd2F0Y2hlZFN5bWJvbHMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3ltYm9scykpLGUodGhpcy5fd2F0Y2hlZFN5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTeW1ib2wpKSxlKHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkuc2VyaWVzU2hvcnRTeW1ib2wpKSxlKHRoaXMuX3Byb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnByb1N5bWJvbCkpLGUodGhpcy5fZW5zdXJlZFByb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLmVuc3VyZWRQcm9TeW1ib2wpKSxlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRJbnRlcnZhbCkpLGUodGhpcy5fd2F0Y2hlZEludHJhZGF5LCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZEludHJhZGF5KSksZSh0aGlzLl93YXRjaGVkU2Vjb25kcywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTZWNvbmRzKSksCmUodGhpcy5fd2F0Y2hlZFRpY2tzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFRpY2tzKSksZSh0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pKSxlKHRoaXMuX3dhdGNoZWRSYW5nZSwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRSYW5nZSkpLGUodGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zKSksZSh0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpKSxlKHRoaXMuX3N5bWJvbE5hbWVzTGlzdCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnN5bWJvbE5hbWVzTGlzdCkpO2NvbnN0IHQ9ZT0+e3RoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS53YXRjaGVkU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnNldFZhbHVlKGUuc2VyaWVzU2hvcnRTeW1ib2wudmFsdWUoKSksdGhpcy5fcHJvU3ltYm9sLnNldFZhbHVlKGUucHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUoZS5lbnN1cmVkUHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShlLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpKSx0aGlzLl93YXRjaGVkSW50cmFkYXkuc2V0VmFsdWUoZS53YXRjaGVkSW50cmFkYXkudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoZS53YXRjaGVkU2Vjb25kcy52YWx1ZSgpKSx0aGlzLl93YXRjaGVkVGlja3Muc2V0VmFsdWUoZS53YXRjaGVkVGlja3MudmFsdWUoKSksdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnNldFZhbHVlKGUud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRSYW5nZS5zZXRWYWx1ZShlLndhdGNoZWRSYW5nZS52YWx1ZSgpKSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMuc2V0VmFsdWUoZS53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKGUud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnZhbHVlKCkpLHRoaXMuX3N5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLnN5bWJvbE5hbWVzTGlzdC52YWx1ZSgpKX07dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnN1YnNjcmliZSh0KSx0KHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSwoMCx2LnNldE11dGVMaW5raW5nR3JvdXApKCgoZSx0KT0+eyJhbGwiPT09ZT90aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUubXV0ZSh0KSkpOnRoaXMuX2xpbmtpbmdHcm91cChlKS5tdXRlKHQpfSkpfWdldCBzeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRTeW1ib2xzfWdldCBzeW1ib2woKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN5bWJvbH1nZXQgcHJvU3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Byb1N5bWJvbC5yZWFkb25seSgpfXN5bWJvbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suc3ltYm9sLnZhbHVlKCl9Z2V0IGVuc3VyZWRQcm9TeW1ib2woKXtyZXR1cm4gdGhpcy5fZW5zdXJlZFByb1N5bWJvbC5yZWFkb25seSgpfWdldCBzeW1ib2xOYW1lc0xpc3QoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZXNMaXN0LnJlYWRvbmx5KCl9Z2V0IHNlcmllc1Nob3J0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnJlYWRvbmx5KCl9Z2V0IGludGVydmFsKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRJbnRlcnZhbH1pbnRlcnZhbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1nZXQgaW50cmFkYXkoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZEludHJhZGF5LnJlYWRvbmx5KCl9Z2V0IHNlY29uZHMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFNlY29uZHMucmVhZG9ubHkoKX1nZXQgdGlja3MoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFRpY2tzLnJlYWRvbmx5KCl9Z2V0IHJhbmdlKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRSYW5nZS5yZWFkb25seSgpfWdldCBzdXBwb3J0ZWRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMucmVhZG9ubHkoKX1nZXQgc3VwcG9ydGVkQ2hhcnRTdHlsZXMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnJlYWRvbmx5KCl9Z2V0IHByZXZlbnRGZWVkQnlTeW1ib2woKXtyZXR1cm4gdGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbH1nZXQgZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnJlYWRvbmx5KCl9YWN0aXZlTGlua2luZ0dyb3VwKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5yZWFkb25seSgpfWdldENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKS5ib3VuZENoYXJ0V2lkZ2V0KCl9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ub25BYm91dFRvQmVEZXN0cm95ZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5vbkFib3V0VG9CZURlc3Ryb3llZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKSwKdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFsbExpbmtpbmdHcm91cHMoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcyksdGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcygpLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PWUuYWN0aXZlTGlua2luZ0dyb3VwKCkuc3Bhd24oKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAuc2V0VmFsdWUodGhpcy5fbGlua2luZ0dyb3VwKGUpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKHQ9PnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpKSl9YmluZFRvU2VhcmNoQ2hhcnRzKGUpe3RoaXMudW5iaW5kRnJvbVNlYXJjaENoYXJ0cygpLHRoaXMuX3NlYXJjaENoYXJ0cz1lLGUub25TZWFyY2hCeVN5bWJvbC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSxlLmxvYWRpbmdTeW1ib2wuc3Vic2NyaWJlKChlPT57ITE9PT1lJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPTApfSkpLHRoaXMuX3dhdGNoZWRTeW1ib2wuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKX11bmJpbmRGcm9tU2VhcmNoQ2hhcnRzKCl7dGhpcy5fc2VhcmNoQ2hhcnRzJiYodGhpcy5fc2VhcmNoQ2hhcnRzLm9uU2VhcmNoQnlTeW1ib2wudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSx0aGlzLl93YXRjaGVkU3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKSx0aGlzLl9zZWFyY2hDaGFydHM9bnVsbCl9c2V0UHJldmVudEZlZWRCeVN5bWJvbChlKXt0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPWV9c2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4saSl7Y29uc3Qgcj12b2lkIDAhPT1pP3RoaXMuX2xpbmtpbmdHcm91cChpLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKSk6dGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpO3ZhciBvLGEsbCx1OyhyLndhdGNoZWRTeW1ib2wudmFsdWUoKSE9PWV8fHMpJiYody5sb2dJbmZvKGBDaGFuZ2UgbGlua2luZyBzeW1ib2wgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksci53YXRjaGVkU3ltYm9sLnNldFZhbHVlKGUscyksbnx8bnVsbD09PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbnx8KG89ci5tYWluU2VyaWVzKCksYT10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubGF5b3V0LnZhbHVlKCksbD10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubWV0YUluZm8udWlkLnZhbHVlKCl8fCIiLHU9dCx3aW5kb3cudXNlci5kb19ub3RfdHJhY2t8fG8uc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKChlPT57aWYoZSlyZXR1cm47Y29uc3QgdD1vLnN5bWJvbEluZm8oKTt0JiYoMCxwLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e251bGwhPT1lJiZlLnRyYWNrQ2hhcnRTeW1ib2xzKHtzeW1ib2xOYW1lOnQucHJvX25hbWUsc3ltYm9sVHlwZTp0LnR5cGUscmVzb2x1dGlvbjpvLmludGVydmFsKCksbGF5b3V0VHlwZTphLGNoYXJ0SWQ6bCxjaGFydFN0eWxlczp5LlNUWUxFX1NIT1JUX05BTUVTW28uc3R5bGUoKV0sb3BlblNvdXJjZTp1LHBsYXRmb3JtOigwLGIuZ2V0UGxhdGZvcm0pKCksaXNFeHBlcnQ6d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzPT09bS5Vc2VyU3RhdHVzLlByb30pfSkpfSkse29uY2U6ITB9KSkpfXNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4pe2NvbnN0IGk9dm9pZCAwIT09bj90aGlzLl9saW5raW5nR3JvdXAobi5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCkpOnRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKTthLkludGVydmFsLmlzRXF1YWwoaS53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKSxlKXx8KHcubG9nSW5mbyhgQ2hhbmdlIGxpbmtpbmcgaW50ZXJ2YWwgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksc3x8KDAsUy50cmFja0ludGVydmFsQ2hhbmdpbmcpKGUsdCksaS53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoZSkpfV9vblNlYXJjaEJ5U3ltYm9sKGUpe2lmKCFlLnJlc29sdmVkX3N5bWJvbCl0aHJvdyBuZXcgRXJyb3IoIm5vIHJlc29sdmVkX3N5bWJvbCIpO3RoaXMuX3NlbGZFbWl0PSEwLHRoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS5yZXNvbHZlZF9zeW1ib2wpLHRoaXMuX3NlbGZFbWl0PSExfV9vblN5bWJvbExpbmsoZSl7aWYoIXRoaXMuX3NlbGZFbWl0KXtpZighdGhpcy5fc2VhcmNoQ2hhcnRzKXtjb25zdCBlPSJObyBzZWFyY2ggY2hhcnRzIGRlZmluZWQiO3Rocm93IHcubG9nRXJyb3IoZSksbmV3IEVycm9yKGUpfXRoaXMuX3ByZXZlbnRGZWVkQnlTeW1ib2x8fHRoaXMuX2xvYWRTZWFyY2hDaGFydHMoZSl9fV9sb2FkU2VhcmNoQ2hhcnRzKGUpe2lmKCF0aGlzLl9zZWFyY2hDaGFydHMpe2NvbnN0IGU9Ik5vIHNlYXJjaCBjaGFydHMgZGVmaW5lZCI7dGhyb3cgdy5sb2dFcnJvcihlKSxuZXcgRXJyb3IoZSl9aWYodGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZClyZXR1cm4gdm9pZCh0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSkpO2NvbnN0IHQ9ZT0+dGhpcy5fc2VhcmNoQ2hhcnRzPyghMD09PXRoaXMuX3NlYXJjaENoYXJ0cy5sb2FkaW5nU3ltYm9sLnZhbHVlKCk/dGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPDEwMCYmKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcisrLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9KDAsbi5kZWZhdWx0KSh0LDJlMyksdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSk6dGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD1udWxsLHRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2wuY2FsbCh0aGlzLl9zZWFyY2hDaGFydHMsZSkpOigpPT57fQo7ITA9PT10aGlzLl9zZWFyY2hDaGFydHMubG9hZGluZ1N5bWJvbC52YWx1ZSgpP3RoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcjwxMDAmJih0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXIrKyx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkPSgwLG4uZGVmYXVsdCkodCwyZTMpLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQoZSkpOnRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2woZSl9X2xpbmtpbmdHcm91cChlKXtsZXQgdD10aGlzLl9saW5raW5nR3JvdXBzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPXt3YXRjaGVkU3ltYm9sczp0aGlzLl93YXRjaGVkU3ltYm9scyx3YXRjaGVkU3ltYm9sOnRoaXMuX3dhdGNoZWRTeW1ib2wsc2VyaWVzU2hvcnRTeW1ib2w6dGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wscHJvU3ltYm9sOnRoaXMuX3Byb1N5bWJvbCxlbnN1cmVkUHJvU3ltYm9sOnRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wsd2F0Y2hlZEludGVydmFsOnRoaXMuX3dhdGNoZWRJbnRlcnZhbCx3YXRjaGVkSW50cmFkYXk6dGhpcy5fd2F0Y2hlZEludHJhZGF5LHdhdGNoZWRTZWNvbmRzOnRoaXMuX3dhdGNoZWRTZWNvbmRzLHdhdGNoZWRUaWNrczp0aGlzLl93YXRjaGVkVGlja3Msd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uOnRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbix3YXRjaGVkUmFuZ2U6dGhpcy5fd2F0Y2hlZFJhbmdlLHdhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9uczp0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzOnRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyxzeW1ib2xOYW1lc0xpc3Q6dGhpcy5fc3ltYm9sTmFtZXNMaXN0fTt0PW5ldyBrKGUscywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSksdGhpcy5fbGlua2luZ0dyb3Vwcy5zZXQoZSx0KSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24mJnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbil9cmV0dXJuIHR9X3VuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXtudWxsIT09dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uJiYodGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg/LmRlc3Ryb3koKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS51bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkpKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWxsTGlua2luZ0dyb3VwcygpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsKX19O3tjb25zdCBlPSgwLGQuZ2V0RnJlc2hJbml0RGF0YSkoKS5zeW1ib2xJbmZvLHQ9ZT9lLnByb19zeW1ib2w6aC5nZXRWYWx1ZSgiZWRpdGNoYXJ0Lm1vZGVsLnN5bWJvbCIsKDAsZy5nZXREZWZhdWx0U3ltYm9sKSgpKTtXLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcih0LCJpbml0aWFsIGRhdGEiLCExLCEwKX13aW5kb3cuVHJhZGluZ1ZpZXdBcGl8fCh3aW5kb3cuVHJhZGluZ1ZpZXdBcGk9e2xpbmtpbmc6V30pfSwyMDkzOShlLHQscyl7bGV0IG47ZnVuY3Rpb24gaShlLHQpe24/LihlLHQpfWZ1bmN0aW9uIHIoZSl7bj1lfXMuZCh0LHttdXRlTGlua2luZ0dyb3VwOigpPT5pLHNldE11dGVMaW5raW5nR3JvdXA6KCk9PnJ9KX0sMzU1MTIzKGUsdCxzKXtzLmQodCx7c3BhcnNlVXNlcnNUcmFja2luZ0NvZWZmaWNpZW50OigpPT5hfSk7dmFyIG49cyg5MzIzNjUpO2NvbnN0IGk9InNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCIscj0oMCxzKDE2MDI5NikuaXNQcm9kKSgpP251bGw6bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2xldCBvPW51bGwhPT1yP3BhcnNlRmxvYXQocik6bnVsbDtudWxsIT09byYmKCFOdW1iZXIuaXNGaW5pdGUobyl8fG88MHx8bz4xKSYmKG89bnVsbCxuLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaSkpO2NvbnN0IGE9bz8/LjF9LDM4MzM1MShlLHQscyl7cy5kKHQse3RyYWNrSW50ZXJ2YWxDaGFuZ2luZzooKT0+b30pO3ZhciBuPXMoODU2MTk2KSxpPXMoMzYyMjM5KSxyPXMoMzU1MTIzKTtmdW5jdGlvbiBvKGUsdCl7d2luZG93LnVzZXIuZG9fbm90X3RyYWNrfHwoMCxuLnNob3VsZEFmZmVjdFVzZXIpKCJJbnRlcnZhbENoYW5naW5nIixyLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLGkuZ2V0VHJhY2tlcikoKS50aGVuKChzPT57bnVsbCE9PXMmJnMudHJhY2tDaGFydEludGVydmFsQ2hhbmdpbmcoZSx0KX0pKX19LDcwMTUwNihlLHQscyl7cy5kKHQse2FsbENoYXJ0U3R5bGVzOigpPT5yfSk7dmFyIG49cyg5MzAyMzEpO2NvbnN0IGk9KDAscygzMTg5NzQpLm9uV2lkZ2V0KSgpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPVswLDEsOSwxMywyLDE0LDE1LDMsMTYsMTBdO3JldHVybiBlLnB1c2goMTIpLGl8fGUucHVzaCgxNyksaXx8ZS5wdXNoKDE4KSxpfHxlLnB1c2goMjApLGl8fGUucHVzaCgxOSksZX0oKS5jb25jYXQoZnVuY3Rpb24oKXtjb25zdCBlPVs4XTtyZXR1cm4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiKSYmKGUucHVzaCg0LDcsNSw2KSxlLnB1c2goMTEpKSxlfSgpKX19LDMxNDkxNChlLHQscyl7cy5kKHQse2V4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm86KCk9PnV9KTt2YXIgbj1zKDg1Mjk4MCksaT1zKDkzMDIzMSk7Y29uc3Qgcj0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksbz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLGE9KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLAppLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLHU9bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cixjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOmEsdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHMpe3ZhciBuLGk7IWZ1bmN0aW9uKGUpe2VbZS5PZmZsaW5lPTBdPSJPZmZsaW5lIixlW2UuUmVzb2x2aW5nPTFdPSJSZXNvbHZpbmciLGVbZS5Mb2FkaW5nPTJdPSJMb2FkaW5nIixlW2UuUmVhZHk9M109IlJlYWR5IixlW2UuSW52YWxpZFN5bWJvbD00XT0iSW52YWxpZFN5bWJvbCIsZVtlLlNuYXBzaG90PTVdPSJTbmFwc2hvdCIsZVtlLkVPRD02XT0iRU9EIixlW2UuUHVsc2U9N109IlB1bHNlIixlW2UuRGVsYXllZD04XT0iRGVsYXllZCIsZVtlLkRlbGF5ZWRTdGVhbWluZz05XT0iRGVsYXllZFN0ZWFtaW5nIixlW2UuTm9CYXJzPTEwXT0iTm9CYXJzIixlW2UuUmVwbGF5PTExXT0iUmVwbGF5IixlW2UuRXJyb3I9MTJdPSJFcnJvciIsZVtlLkNhbGN1bGF0aW9uRXJyb3I9MTNdPSJDYWxjdWxhdGlvbkVycm9yIixlW2UuVW5zdXBwb3J0ZWRSZXNvbHV0aW9uPTE0XT0iVW5zdXBwb3J0ZWRSZXNvbHV0aW9uIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuTWFya2Vycz0wXT0iTWFya2VycyIsZVtlLlN0ZXBsaW5lPTFdPSJTdGVwbGluZSIsZVtlLlNpbXBsZT0yXT0iU2ltcGxlIn0oaXx8KGk9e30pKX0sNzk4MzgoZSx0LHMpe3MuZCh0LHtTRVJJRVNfU1RBVFVTX1RFWFQ6KCk9PkMsU1RZTEVfU0hPUlRfTkFNRVM6KCk9PmssU1lNQk9MX1NUUklOR19EQVRBOigpPT5WLGNoYXJ0U3R5bGVzV2l0aEF0dGFjaGVkU3R1ZGllczooKT0+TCxpc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4OigpPT5XLHNlcmllc0xvYWRpbmdTdGF0dXNlczooKT0+ZixzZXJpZXNSZWFkeVN0YXR1c2VzOigpPT53fSk7cyg1ODAzNyk7dmFyIG49cyg3Mjg0MzYpLGk9cyg3Nzc2NjEpLHI9cyg1NTAzOTMpO2NvbnN0IG89MCxhPTEsbD0yLHU9MyxjPTQsaD01LGQ9Nix5PTcsYj04LG09OSxwPTEwLFM9MTEsXz0xMixnPTEzLHY9MTQsdz1uZXcgU2V0KFszLDYsNyw4LDksMTFdKSxmPW5ldyBTZXQoWzEsMl0pLEM9e1tvXToiY29ubmVjdGluZyIsW2FdOiJsb2FkaW5nIixbbF06ImxvYWRpbmciLFt1XToicmVhbHRpbWUiLFtjXToiaW52YWxpZCIsW2hdOiJzbmFwc2hvdCIsW2RdOiJlbmRvZmRheSIsW3ldOiJlbmRvZmRheSIsW2JdOiJkZWxheWVkIixbbV06ImRlbGF5ZWRfc3RyZWFtaW5nIixbcF06ImZvcmJpZGRlbiIsW1NdOiJyZXBsYXkiLFtfXToiZXJyb3IiLFtnXToiY2FsY3VsYXRpb25fZXJyb3IiLFt2XToidW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiJ9LGs9ezA6ImJhciIsMToiY2FuZGxlIiw5OiJob2xsb3dDYW5kbGUiLDI6ImxpbmUiLDE0OiJsaW5lV2l0aE1hcmtlcnMiLDE1OiJzdGVwbGluZSIsMzoiYXJlYSIsMTY6ImhsY0FyZWEiLDQ6InJlbmtvIiw3OiJwYiIsNToia2FnaSIsNjoicG5mIiw4OiJoYSIsMTA6ImJhc2VsaW5lIiwxMToicmFuZ2UiLDEyOiJoaWxvIiwxMzoiY29sdW1uIiwxNzoidm9sRm9vdHByaW50IiwxODoidHBvIiwxOToidm9sQ2FuZGxlcyIsMjA6InN2cCIsMjE6ImhsY0JhcnMifTtmdW5jdGlvbiBXKGUpe3JldHVybiJ2YXJpYW50cyJpbiBlfWNvbnN0IEk9W3t0eXBlOmkuc3R1ZHlUcG9QcmVyaW9kaWNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LHt0eXBlOmkuc3R1ZHlUcG9TZXNzaW9uc0lkLGJhc2ljU3R1ZHlWZXJzaW9uOjEwNH1dLFY9ezQ6e3R5cGU6IkJhclNldFJlbmtvQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw3Ont0eXBlOiJCYXJTZXRQcmljZUJyZWFrQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjM0fSw1Ont0eXBlOiJCYXJTZXRLYWdpQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw2Ont0eXBlOiJCYXJTZXRQbkZAdHYtcHJvc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzN9LDg6e3R5cGU6IkJhclNldEhlaWtlbkFzaGlAdHYtYmFzaWNzdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo2MH0sMTE6e3R5cGU6IkJhclNldFJhbmdlQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzJ9LDE3Ont0eXBlOm4uc3R1ZHlWb2xGb290cHJpbnRJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LDE4Ont2YXJpYW50czpJLHNlbGVjdG9yOmU9Pntjb25zdCB0PWU7cmV0dXJuIkRheSI9PT10LnBlcmlvZCYmMT09PXQucGVyaW9kc051bT9JWzFdOklbMF19fSwyMDp7dHlwZTpyLnN0dWR5VmJQU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMjZ9fSxMPS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKT9bMTcsMTgsMjBdOm51bGx9LDEyODk5OChlLHQscyl7aWYocy5kKHQse2FjdHVhbFN5bWJvbDooKT0+d2UsY2hhcnRTdHlsZVN0dWR5SWQ6KCk9PiQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5ZLGRpc3BsYXllZFN5bWJvbEV4Y2hhbmdlOigpPT52ZSxkaXNwbGF5ZWRTeW1ib2xOYW1lOigpPT5nZSxleHRyYWN0TGluZVRvb2xTeW1ib2xGcm9tU3ltYm9sSW5mbzooKT0+YmUsZ2V0Q2hhcnRTdHlsZUJ5UmVzb2x1dGlvbjooKT0+cSxnZXREZWZhdWx0U3R5bGU6KCk9Pk8sZ2V0TGFzdFVzZWRNZXRyaWM6KCk9PlUsZ2V0TGFzdFVzZWRSYXdEYXRhU3R5bGU6KCk9PlAsZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PkEsZ2V0TGFzdFVzZWRTdHlsZTooKT0+TSxnZXRTZXJpZXNEaXNwbGF5RXJyb3JXVjooKT0+eGUsZ2V0U2VyaWVzUHJpY2VGb3JtYXR0aW5nU3RhdGU6KCk9PnosZ2V0U291cmNlRm9yRWNvbm9teVN5bWJvbDooKT0+U2UsZ2V0U3ltYm9sRGVsYXlTZWNvbmRzOigpPT5EZSxnZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZTooKT0+UmUsZ2V0U3ltYm9sVHJhZGVkRXhjaGFuZ2U6KCk9PlRlLGdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZTooKT0+aywKaGFzVm9sdW1lOigpPT5MZSxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PldlLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigpPT5aLGlzQ29udmVydGVkVG9PdGhlck1ldHJpYzooKT0+b2UsaXNDb252ZXJ0ZWRUb090aGVyVW5pdDooKT0+cmUsaXNFY29ub21pY1N5bWJvbDooKT0+QmUsaXNGdXR1cmVDb250aW51b3VzU3ltYm9sV2l0aEJhY2thanVzdG1lbnQ6KCk9PkZlLGlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sOigpPT5FZSxpc0hMQ0Jhc2VkU3R5bGU6KCk9PkYsaXNNZWFzdXJlVW5pdFN5bWJvbDooKT0+SWUsaXNNZXRyaWNBY3RpdmU6KCk9PmFlLGlzUHJpY2VTb3VyY2VTdHlsZTooKT0+SCxpc1JhbmdlQmFzZWRTdHlsZTooKT0+SSxpc1JhbmdlU3R5bGU6KCk9PkwsaXNSYXdEYXRhU3R5bGU6KCk9PkUsaXNSZWd1bGFyU2Vzc2lvbklkOigpPT5DZSxpc1JlcXVpcmluZ1Jlc3RhcnRTZXJpZXNTdHlsZXM6KCk9PlcsaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PlQsaXNTcHJlYWRTeW1ib2xXaXRoTWFueUxlZ3M6KCk9PkdlLGlzU3RvY2syNGhTZXNzaW9uSWQ6KCk9PmtlLGlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXk6KCk9PkcsaXNUaW1lQmFzZWRTdHlsZTooKT0+Qixpc1ZhbGlkU3R5bGU6KCk9PlIsbWVhc3VyZVVuaXRJZDooKT0+VmUscHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXM6KCk9PmoscHJvU3ltYm9sOigpPT5mZSxzZXRMYXN0VXNlZE1ldHJpYzooKT0+TixzZXRMYXN0VXNlZFJhd0RhdGFTdHlsZTooKT0+RCxzZXRMYXN0VXNlZFN0eWxlOigpPT54LHN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0OigpPT5WLHN5bWJvbEJhc2VDdXJyZW5jeTooKT0+USxzeW1ib2xDdXJyZW5jeTooKT0+WCxzeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlOigpPT5LLHN5bWJvbEhhc0Vjb25vbWljRXZlbnRzOigpPT55ZSxzeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbjooKT0+aGUsc3ltYm9sSGFzTmlnaHRNYXJrZXQ6KCk9PmNlLHN5bWJvbEhhc1ByZU9yUG9zdE1hcmtldDooKT0+dWUsc3ltYm9sSGFzU2V2ZXJhbFNlc3Npb25zOigpPT5kZSxzeW1ib2xNZXRyaWM6KCk9Pm5lLHN5bWJvbE9yaWdpbmFsQ3VycmVuY3k6KCk9Pkosc3ltYm9sT3JpZ2luYWxNZXRyaWM6KCk9PmllLHN5bWJvbE9yaWdpbmFsVW5pdDooKT0+c2Usc3ltYm9sVGl0bGU6KCk9Pl9lLHN5bWJvbFRpdGxlU2VwYXJhdG9yOigpPT5wZSxzeW1ib2xUb1NhdmVJblN0YXRlOigpPT5tZSxzeW1ib2xVbml0OigpPT50ZSxzeW1ib2xVbml0Q29udmVydGlibGVHcm91cHNJZkV4aXN0OigpPT5sZX0pLC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbj1zKDk1MjkwMCk7aWYoL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciBpPXMoMjU0NjczKTt2YXIgcj1zKDE4NTI3MSksbz1zKDkzMDIzMSksYT1zKDkzMDU2NiksbD1zKDMxODk3NCksdT1zKDE1NjgyOSksYz1zKDc5ODM4KSxoPXMoNzU1NjI3KSxkPXMoOTg0Mzc2KSx5PXMoMTI1MjE4KTtpZigvXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaikpdmFyIGI9cyg1OTY3MDYpO2lmKC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbT1zKDI0MTk1Nik7dmFyIHA9cygzMTQ5MTQpO2NvbnN0IFM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSxfPSgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIik7dmFyIGc7IWZ1bmN0aW9uKGUpe2UuTGFzdFVzZWRTdHlsZUtleT0iY2hhcnQubGFzdFVzZWRTdHlsZSIsZS5MYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZT0iY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiLGUuTGFzdFVzZWRSYXdEYXRhU3R5bGU9ImNoYXJ0LnJhd0RhdGFTdHlsZSIsZS5MYXN0VXNlZE1ldHJpYz0iY2hhcnQubGFzdFVzZWRNZXRyaWMifShnfHwoZz17fSkpO2NvbnN0IHY9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1s0LDUsNiw3LDhdOm51bGwsdz0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzQsNSw2LDcsMTFdOm51bGwsZj0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzAsMSw5LDE5LDIsMTQsMTUsMywxNiwyMSwxMCw4LDEyLDEzLDE4LDE3LDIwXTpudWxsLEM9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1syLDE0LDE1LDEwLDMsMTMsMThdOm51bGw7ZnVuY3Rpb24gayhlKXtyZXR1cm57MDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk0MTYyOSkpLDE6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxMTg0OTEpKSwyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoMjEwNDk5KSksMTQ6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxODYxNDcpKSwxNTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDkxNjE0OCkpLDM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg3OTYwOTMpKSwxNjpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk2Nzg0MSkpLDk6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygzMzE4MjQpKSwxMDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDUyNTMzMSkpLDEyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoOTUyODEwKSksMTM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2MTczNDApKSw0OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoNDYxNzM4KSksNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDMwNzQzNikpLDU6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg0MTM0MykpLDY6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4NjcwMjEpKSwxMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDE4ODM1MikpLDg6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4MzU1NDMpKSwxNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDIwMTA3MykpLAoxODpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDExNzk4NCkpLDE5OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoODkyMzc1KSksMjA6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2ODc5NTEpKSwyMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDY4MzAwKSl9W2VdfWZ1bmN0aW9uIFcoZSl7cmV0dXJuLTEhPT12LmluZGV4T2YoZSl9ZnVuY3Rpb24gSShlKXtyZXR1cm4tMSE9PXcuaW5kZXhPZihlKX1mdW5jdGlvbiBWKGUsdCl7cmV0dXJuIUwoZSkmJiFMKHQpJiYhKGU9PT10fHwhVyhlKSYmIVcodCkpfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIDExPT09ZX1mdW5jdGlvbiBCKGUpe3JldHVybi0xIT09Zi5pbmRleE9mKGUpfWZ1bmN0aW9uIEcoZSl7cmV0dXJuIDE3IT09ZSYmMTghPT1lJiYyMCE9PWUmJkIoZSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKXx8QihlKX1mdW5jdGlvbiBUKGUpe3N3aXRjaChlKXtjYXNlIDM6Y2FzZSAxMDpjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTM6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gRihlKXtzd2l0Y2goZSl7Y2FzZSAxNjpjYXNlIDIxOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEUoZSl7cmV0dXJuIWMuU1lNQk9MX1NUUklOR19EQVRBW2VdfWZ1bmN0aW9uIHgoZSx0KXtSKGUpJiYoMTEhPT1lJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFN0eWxlIixlKSxFKGUpJiZEKGUpLFdlKHQpJiZUKGUpJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZSkpfWZ1bmN0aW9uIEQoZSl7YS5zZXRWYWx1ZSgiY2hhcnQucmF3RGF0YVN0eWxlIixlKX1mdW5jdGlvbiBNKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTdHlsZSIpO3JldHVybiB2b2lkIDA9PT1lPzE6ZX1mdW5jdGlvbiBBKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiKTtyZXR1cm4gdm9pZCAwPT09ZT8xNDplfWZ1bmN0aW9uIFAoKXtyZXR1cm4gYS5nZXRJbnQoImNoYXJ0LnJhd0RhdGFTdHlsZSIsMSl9ZnVuY3Rpb24gTihlKXthLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIsZSl9ZnVuY3Rpb24gVSgpe3JldHVybiBhLmdldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIpPz9udWxsfWZ1bmN0aW9uIE8oZSl7cmV0dXJuIGU/MTE6MX1mdW5jdGlvbiBxKGUsdCl7Y29uc3Qgcz1MKHQpLG49aS5JbnRlcnZhbC5pc1JhbmdlKGUpO3JldHVybiFzJiZuP08oITApOnMmJiFuP08oITEpOnR9ZnVuY3Rpb24gJChlLHQscyl7Y29uc3Qgbj1jLlNZTUJPTF9TVFJJTkdfREFUQVtlXTtpZih2b2lkIDA9PT1uKXJldHVybiBudWxsO2NvbnN0IGk9KDAsYy5pc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4KShuKT9uLnNlbGVjdG9yKHM/P3t9KTpuO3JldHVybiB0P2Ake2kudHlwZX0tJHtpLmJhc2ljU3R1ZHlWZXJzaW9ufWA6aS50eXBlfWZ1bmN0aW9uIGooZSl7Y29uc3QgdD1lLnByaWNlQXhpc1Byb3BlcnRpZXMscz10LmxvY2tTY2FsZS52YWx1ZSgpLG49Nj09PWUuc3R5bGUudmFsdWUoKTsobnx8cykmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZSghKCFuJiYhcykpLHQucGVyY2VudGFnZURpc2FibGVkLnNldFZhbHVlKCEoIW4mJiFzKSl9ZnVuY3Rpb24gSChlKXtyZXR1cm4gQy5pbmNsdWRlcyhlKX1mdW5jdGlvbiB6KGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG4saSxyLG8sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpufT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG49InRydWUiPT09ZVsyXSxvPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm4sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06b319ZnVuY3Rpb24gWShlLHQscz0hMSl7Y29uc3R7cHJpY2VTY2FsZTpuLG1pbk1vdmU6aSxmcmFjdGlvbmFsOnIsbWluTW92ZTI6byx2YXJpYWJsZU1pblRpY2s6YSxub0V4cG9uZW50aWFsRm9ybTpsfT16KGUsdCxzKTtpZihudWxsIT1lKXtjb25zdCBsPWUuZm9ybWF0O2lmKCJkZWZhdWx0Ij09PXQmJiJ2b2x1bWUiPT09bClyZXR1cm4gbmV3IGQuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pO2lmKCJwZXJjZW50Ij09PWwpcmV0dXJuIG5ldyB5LlBlcmNlbnRhZ2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6bixtaW5Nb3ZlOmksZnJhY3Rpb25hbDpyLG1pbk1vdmUyOm8sdmFyaWFibGVNaW5UaWNrOmEsaWdub3JlTWluTW92ZTpzfSl9cmV0dXJuIG5ldyBoLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm4sbWluTW92ZTppLGZyYWN0aW9uYWw6cixtaW5Nb3ZlMjpvLHZhcmlhYmxlTWluVGljazphLGlnbm9yZU1pbk1vdmU6cyxub0V4cG9uZW50aWFsRm9ybTpsfSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gbnVsbCE9PWUmJiEoMCx1LmlzU3ByZWFkKShlLnR5cGUpfWZ1bmN0aW9uIFgoZSx0LHMpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49IXR8fHM/ZS5jdXJyZW5jeV9pZDplLmN1cnJlbmN5X2NvZGU7cmV0dXJuIHZvaWQgMD09PW58fCIiPT09bnx8InBjdCI9PT1uP251bGw6bn1mdW5jdGlvbiBKKGUsdCl7Y29uc3Qgcz10P2Uub3JpZ2luYWxfY3VycmVuY3lfY29kZTplLm9yaWdpbmFsX2N1cnJlbmN5X2lkO3JldHVybiJwY3QiPT09cz9udWxsOnM/P1goZSx0KX1mdW5jdGlvbiBRKGUpe3JldHVybiBlLmJhc2VfY3VycmVuY3lfaWR8fG51bGx9ZnVuY3Rpb24gWihlKXtpZihudWxsPT09ZXx8IUsoZSkpcmV0dXJuITE7Y29uc3QgdD1KKGUpCjtyZXR1cm4gbnVsbCE9PXQmJnQhPT1YKGUpfWZ1bmN0aW9uIGVlKGUsdCl7cmV0dXJuIHQmJm51bGwhPT1lJiYhKDAsdS5pc1NwcmVhZCkoZS50eXBlKX1mdW5jdGlvbiB0ZShlLHQpe2lmKG51bGw9PT1lfHwhdClyZXR1cm4gbnVsbDtjb25zdCBzPWUudW5pdF9pZDtyZXR1cm4gdm9pZCAwPT09c3x8IiI9PT1zP251bGw6c31mdW5jdGlvbiBzZShlLHQpe3JldHVybiB0P2Uub3JpZ2luYWxfdW5pdF9pZHx8dGUoZSx0KTpudWxsfWZ1bmN0aW9uIG5lKGUsdCl7cmV0dXJuIHQmJmUubWV0cmljcz8uY3VycmVudHx8bnVsbH1mdW5jdGlvbiBpZShlLHQpe3JldHVybiB0P2UubWV0cmljcz8uZGVmYXVsdHx8bmUoZSx0KTpudWxsfWZ1bmN0aW9uIHJlKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IWVlKGUsdCkpJiYodm9pZCAwIT09ZS5vcmlnaW5hbF91bml0X2lkJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1lLnVuaXRfaWQpfWZ1bmN0aW9uIG9lKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IXQpJiYodm9pZCAwIT09ZT8ubWV0cmljcz8uZGVmYXVsdCYmZT8ubWV0cmljcz8uZGVmYXVsdCE9PWU/Lm1ldHJpY3M/LmN1cnJlbnQpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiBCb29sZWFuKGU/Lm1ldHJpY3M/LmN1cnJlbnQmJiJwcmljZSIhPT1lLm1ldHJpY3MuY3VycmVudCl9ZnVuY3Rpb24gbGUoZSx0KXtyZXR1cm4gbnVsbCE9PWUmJmVlKGUsdCk/ZS51bml0X2NvbnZlcnNpb25fdHlwZXN8fG51bGw6W119ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIG51bGwhPT1lJiZ2b2lkIDAhPT1lLnN1YnNlc3Npb25zJiZlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJwcmVtYXJrZXQiPT09ZS5pZHx8InBvc3RtYXJrZXQiPT09ZS5pZCkpfWZ1bmN0aW9uIGNlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4iMjRoIj09PWUuaWQpKX1mdW5jdGlvbiBoZShlKXtyZXR1cm4gbnVsbCE9PWUmJnZvaWQgMCE9PWUuc3Vic2Vzc2lvbnMmJihlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJyZWd1bGFyIj09PWUuaWQpKSYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4idXNfcmVndWxhciI9PT1lLmlkKSkpfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5maWx0ZXIoKGU9PiFlLnByaXZhdGUpKS5sZW5ndGg+MX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gbnVsbCE9PWUmJigoMCx1LmlzRm9yZXhTeW1ib2wpKGUudHlwZSl8fCgwLGIuaXNDRkRTeW1ib2wpKGUudHlwZSxlLnR5cGVzcGVjcyl8fCgwLHUuaGFzQ3J5cHRvVHlwZXNwZWMpKGUudHlwZXNwZWNzfHxbXSkpfWZ1bmN0aW9uIGJlKGUsdCl7cmV0dXJuKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShlLG51bGwsITAsITApfHx0fWZ1bmN0aW9uIG1lKGUsdCl7cmV0dXJuIGU/ZS50aWNrZXI/P2UucHJvX25hbWU/P3Q6dH1jb25zdCBwZT0iwrciO2Z1bmN0aW9uIFNlKGUsdCl7cmV0dXJuIEJlKGUpP2Uuc291cmNlMj8uZGVzY3JpcHRpb24/P251bGw6bnVsbH1mdW5jdGlvbiBfZShlLHQpe2NvbnN0IHM9UmUoZSk7cmV0dXJuIHR8fF8/ZS5uYW1lOmAke2UubmFtZX0gJHtwZX0gJHtzfWB9ZnVuY3Rpb24gZ2UoZSl7bGV0IHQ9ZSYmKGZ1bmN0aW9uKGUpe3JldHVybigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZlLmZyb250X2NvbnRyYWN0fHxudWxsfShlKXx8ZS5uYW1lKXx8IiI7cmV0dXJuIHQubGVuZ3RoPjQwJiYodD10LnN1YnN0cmluZygwLDM3KSsiLi4uIiksdC50cmltKCl9ZnVuY3Rpb24gdmUoZSl7Y29uc3QgdD1lP2UuZXhjaGFuZ2U6IiI7cmV0dXJuIFM/dC50b1VwcGVyQ2FzZSgpOnR9ZnVuY3Rpb24gd2UoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBmZShlLHQpe3JldHVybiBlPy5wcm9fbmFtZT8/dH1mdW5jdGlvbiBDZShlLHQpe3dpbmRvdztyZXR1cm5bInN0b2NrIiwiZnVuZCIsImluZGV4IiwiZHIiXS5pbmNsdWRlcyh0LnR5cGUpJiYicmVndWxhciI9PT1lfHwoMCx1LmlzRnV0dXJlcykodC50eXBlKSYmInVzX3JlZ3VsYXIiPT09ZX1mdW5jdGlvbiBrZShlKXtyZXR1cm4iMjRoIj09PWV9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gSWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoInVuaXQiPT09ZS5tZWFzdXJlJiZudWxsIT09VmUoZSkpfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlPy52YWx1ZV91bml0X2lkPz9udWxsfWZ1bmN0aW9uIExlKGUpe3JldHVybiJvaGxjdiI9PT1lLnZpc2libGVfcGxvdHNfc2V0fWZ1bmN0aW9uIEJlKGUpe3JldHVybiBudWxsIT09ZSYmKDAsdS5pc0Vjb25vbWljU3ltYm9sKShlLnR5cGUpfWZ1bmN0aW9uIEdlKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNTcHJlYWQpKGUudHlwZSl9KGUpJiYoZT8ubGVncz8/W10pLmxlbmd0aD4xfWZ1bmN0aW9uIFJlKGUpe2NvbnN0IHQ9U2UoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7cmV0dXJuKDAsbC5vbldpZGdldCkoKXx8KDAsdS5pc0ZvcmV4U3ltYm9sKShlLnR5cGUpP2UuZXhjaGFuZ2U6ZS5leGNoYW5nZV9saXN0ZWRfbmFtZT8/ZS5leGNoYW5nZX1mdW5jdGlvbiBUZShlKXtyZXR1cm4gZS5leGNoYW5nZX1mdW5jdGlvbiBGZShlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZCb29sZWFuKGUuaGFzX2JhY2thZGp1c3RtZW50JiZlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gRWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoMCx1LmlzRnV0dXJlcykoZS50eXBlKSYmIUJvb2xlYW4oZS50eXBlc3BlY3M/LmluY2x1ZGVzKCJjb250aW51b3VzIikpfWZ1bmN0aW9uIHhlKGUpe3JldHVybigwLG4uY29tYmluZSkoKCh0LHMsbik9Pntzd2l0Y2godCl7Y2FzZSA0Ontjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCkKO3JldHVybiBudWxsIT09dCYmKCJyZXNvbHV0aW9uX25vdF9lbnRpdGxlZCI9PT10fHwiY3VzdG9tX3Jlc29sdXRpb24iPT09dHx8InNlY29uZHNfbm90X2VudGl0bGVkIj09PXR8fCJ0aWNrc19ub3RfZW50aXRsZWQiPT09dHx8dC5zdGFydHNXaXRoKCJzdHVkeV9ub3RfYXV0aDoiKSk/bnVsbDp7dHlwZToiaW52YWxpZF9zeW1ib2wifX1jYXNlIDEzOntjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6ImNhbGN1bGF0aW9uc19lcnJvciIsZXJyb3JNZXNzYWdlOnR9fWNhc2UgMTQ6e2NvbnN0IHQ9ZS51bnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSgpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6InVuc3VwcG9ydGVkX3Jlc29sdXRpb24iLHJlYXNvbjp0LnJlYXNvbn19Y2FzZSAxOmNhc2UgMjpyZXR1cm4gbnVsbDtkZWZhdWx0OmlmKHMpcmV0dXJuIG4/e3R5cGU6Imlwb19wcmljZWQifTp7dHlwZToibm9fZGF0YSJ9fXJldHVybiBudWxsfSksZS5zdGF0dXNXVigpLndlYWtSZWZlcmVuY2UoKSwoMCxtLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKHQ9PnZvaWQgMCE9PXQmJighZS5iYXJzKCkuc2l6ZSgpJiYhZS5uc0JhcnMoKS5zaXplKCkmJiFlLmlzSW5SZXBsYXkoKS52YWx1ZSgpKSksZS5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKSkub3duZXJzaGlwKCksKDAsbi5jb21iaW5lKSgoKGUsdCk9PnQ/InByaWNlZCI9PT1lPy5pcG9fb2ZmZXJfc3RhdHVzOm51bGwpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZXMoKS53ZWFrUmVmZXJlbmNlKCksZS5xdW90ZXNQcm92aWRlcigpLmNvbXBsZXRlZCgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpfWZ1bmN0aW9uIERlKGUpe3JldHVybiBNYXRoLm1heCgwLGU/LmRlbGF5Pz8wKX19LDc3NzY2MShlLHQscyl7cy5kKHQse3N0dWR5VHBvUHJlcmlvZGljSWQ6KCk9Pm4sc3R1ZHlUcG9TZXNzaW9uc0lkOigpPT5pfSk7Y29uc3Qgbj0iVFBPUGVyaW9kaWNAdHYtdm9sdW1lYnlwcmljZSIsaT0iVFBPU2Vzc2lvbnNAdHYtdm9sdW1lYnlwcmljZSJ9LDcyODQzNihlLHQscyl7cy5kKHQse3N0dWR5Vm9sRm9vdHByaW50SWQ6KCk9Pm59KTtjb25zdCBuPSJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSJ9LDU1MDM5MyhlLHQscyl7cy5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Nzg5NDYoZSx0LHMpe3ZhciBuO3MuZCh0LHtnZXRQbGF0Zm9ybTooKT0+b30pLGZ1bmN0aW9uKGUpe2UuRGVza3RvcD0iZGVza3RvcCIsZS5XZWI9IndlYiIsZS5JT1M9ImlvcyIsZS5BbmRyb2lkPSJhbmRyb2lkIn0obnx8KG49e30pKTt2YXIgaT1zKDExNzMxMykscj1zKDMxODk3NCk7ZnVuY3Rpb24gbygpe3JldHVybigwLHIuaXNEZXNrdG9wQXBwKSgpPyJkZXNrdG9wIjooMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/ImlvcyI6KDAsaS5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpPyJhbmRyb2lkIjoid2ViIn19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94948.0fc88fa63c054a8d7684.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.680Z","timestamp":1785124876680,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94948.0fc88fa63c054a8d7684.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b14acfeb83f66a046230a3da2e8294cf\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":58,"size_decoded":842,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5592fcacaacd1e8d44b8a3fbb380b590","sha1":"c1941ebad54702aac9c07152c40ea90c524ed011","sha256":"fe2e73df95dfdba476a9f13e9a0654010c8fbfe8266e38067621719d71bd179b","sha512":"87708aa11fe40f2364325f5d9f72a006dbfbfda851f696a21b2359441ee7c274d65722ab3df0dd59a66fcc87d7207404a4ba63b630689462beec57d1d7da5a3f","ssdeep":"","tlshash":"6aa002c61bf521e442796c0e8ec00307e4d144a100002dd78427c0700caef9f449031f","first_seen":"2026-07-17T03:30:51.219732Z","last_seen":"2026-07-27T06:14:34.289301Z","times_seen":95,"resource_available":false,"data":"LmJsb2NrSWNvbi1ndk9RVmlWNywuYmxvY2tJY29uLWd2T1FWaVY3IHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.794Z","timestamp":1785124876794,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9984\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 16fa3a6a8feec77e47c8f2aaccf494ce\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":39300,"size_decoded":15763,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3429)","md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-27T06:24:31.718306Z","times_seen":58,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTg4M10sezc0NTgwOCh0KXt0LmV4cG9ydHM9e319LDIwNTYxMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5zfSk7dmFyIG89aSgyMzIzNjQpO2Z1bmN0aW9uIHModCxlKXtjb25zdCBpPW5ldyBvLldhdGNoZWRWYWx1ZSh0KCkpLHM9e307ZS5mb3JFYWNoKChlPT5lLnN1YnNjcmliZShzLCgoKT0+e2kuc2V0VmFsdWUodCgpKX0pKSkpO3JldHVybiBpLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT5lLmZvckVhY2goKHQ9PnQudW5zdWJzY3JpYmVBbGwocykpKSkpfX0sNDkyNjc3KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQucmVwbGFjZSgvXCsvZywiICIpKS5yZXBsYWNlKC88XC8/W14+XSsoPnwkKS9nLCIiKX1mdW5jdGlvbiBzKHQpe2NvbnN0IGU9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtpZighdClyZXR1cm4gaTtsZXQgcz1lLmV4ZWModCk7Zm9yKDtzOylpW28oc1sxXSldPW8oc1syXSkscz1lLmV4ZWModCk7cmV0dXJuIGl9ZnVuY3Rpb24gYSgpe3JldHVybiBzKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpKX1mdW5jdGlvbiBuKCl7Y29uc3QgdD13aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgiIyIpWzBdO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSx0KX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IGkgaW4gdClpZih0Lmhhc093blByb3BlcnR5KGkpJiZudWxsIT10W2ldKXtjb25zdCBvPXRbaV0scz0ib2JqZWN0Ij09dHlwZW9mIG8/SlNPTi5zdHJpbmdpZnkobyk6U3RyaW5nKG8pO2UucHVzaCh7a2V5OmkscGFpcjplbmNvZGVVUklDb21wb25lbnQoaSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChzKX0pfXJldHVybiBlLnNvcnQoKCh0LGUpPT50LmtleT5lLmtleT8xOnQua2V5PGUua2V5Py0xOjApKS5tYXAoKHQ9PnQucGFpcikpLmpvaW4oIiYiKX1pLmQoZSx7Y3JlYXRlVXJsUGFyYW1zOigpPT5yLGdldFVybFBhcmFtczooKT0+YSxyZW1vdmVIYXNoRnJvbVVybDooKT0+bn0pfSw1Mjg4NjQodCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztpLmQoZSx7S25vd25BY3Rpb246KCk9Pm8sd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9PnN9KSxmdW5jdGlvbih0KXt0LkV4cGFuZD0iZXhwYW5kLWxvZ28iLHQuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShvfHwobz17fSkpO2NvbnN0IHM9bmV3IFNldChbby5FeHBhbmQsby5MYXJnZVRyYWRlTG9nb10pfSw0MDAxODEodCxlLGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBvKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg5NTIwNyldKS50aGVuKGkuYmluZChpLDQ3NzE1MCkpO3JldHVybiB0KCl9aS5kKGUse2dldFRyYWNrZXI6KCk9Pm99KX0sOTA4NDU0KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2FkZEJyYW5kaW5nU291cmNlOigpPT5QdH0pO3ZhciBvPWkoOTUyOTAwKSxzPWkoMjA1NjExKSxhPWkoOTMwNTA2KSxuPWkoOTE4Nzc5KSxyPWkoNTQ3ODUxKSxoPWkoNzM2NTMxKSxsPWkoNzY4MzA1KSxkPWkoNTA1NTYpLGM9aSgxMzg2MzgpLGc9aSgxODUyNzEpLF89aSgzMTg5NzQpLG09aSg5MzAyMzEpLHU9aSg1OTYyNzIpLHc9aSg3NjMpLHA9aSgyMTg4MTQpLGY9aSg4NzM1NzMpLHY9aSgzNDI3OCkseD1pKDE1MTIxKSx5PWkoNDM5ODc5KSxiPWkoMzY0MTg4KSxBPWkoODM5NDEyKSxTPWkoNDAwMTgxKSxMPWkoNjAxNTg3KTthc3luYyBmdW5jdGlvbiBUKHQsZSl7Y29uc3QgaT1mdW5jdGlvbigpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihPYmplY3Qua2V5cyh0KS5sZW5ndGg+MClyZXR1cm4oMCxMLmZpbHRlclV0bUluZm8pKHQpO2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5ocmVmKTtyZXR1cm57dXRtX2NhbXBhaWduOmUuZ2V0KCJ1dG1fY2FtcGFpZ24iKXx8dm9pZCAwLHV0bV9zb3VyY2U6ZS5nZXQoInV0bV9zb3VyY2UiKXx8dm9pZCAwfX0oKTsoYXdhaXQoMCxTLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfdHZfbGlua19jbGljay9qc29uc2NoZW1hLzEtMC0wIix7d2lkZ2V0X3R5cGU6ayhpKSxkb21haW46QyhpKSxsaW5rOnQsdGFyZ2V0X3R5cGU6ZX0pfWZ1bmN0aW9uIEModCl7Y29uc3QgZT1sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnM/LlswXXx8ZG9jdW1lbnQucmVmZXJyZXI7cmV0dXJuIHQudXRtX3NvdXJjZXx8ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBuZXcgVVJMKHQpLmhvc3R9Y2F0Y2godCl7cmV0dXJuIiJ9fShlKX1mdW5jdGlvbiBrKHQpe2lmKHQudXRtX2NhbXBhaWduKXJldHVybiB0LnV0bV9jYW1wYWlnbjtjb25zdCBlPWxvY2F0aW9uLnBhdGhuYW1lO3JldHVybiBlLmluY2x1ZGVzKCJlbWJlZC13aWRnZXQiKT9lLnNwbGl0KCIvIilbMl06ZX12YXIgQj1pKDIyMTA2MSksUD1pKDM4NDAxNyksTT1pKDUyODg2NCk7Y29uc3QgVz13aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVHx8Imh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYueHN0YWdpbmctd2lkZ2V0LnR2IixWPSgwLEIuZ2V0TG9nZ2VyKSgiV2lkZ2V0U2hlcmlmZi5XaWRnZXQiKTtsZXQgej1udWxsO2FzeW5jIGZ1bmN0aW9uIFooKXtyZXR1cm4gbnVsbD09PXomJih6PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKCl7Y29uc3QgdD1mdW5jdGlvbigpe2lmKGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyYmZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aClyZXR1cm4gZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW2RvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgtMV07dHJ5e3JldHVybiBuZXcgVVJMKGRvY3VtZW50LnJlZmVycmVyKS5vcmlnaW59Y2F0Y2godCl7CnJldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT10KXJldHVybiBWLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgZT1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixXKTtlLnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsdCk7cmV0dXJuKGF3YWl0KDAsUC5mZXRjaCkoZS50b0pTT04oKSkudGhlbigodD0+e2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PXQuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOnQuanNvbigpfSkpLmNhdGNoKCh0PT4oVi5sb2dXYXJuKHQubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKCh0PT5NLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyh0KSkpfSgpKSxQcm9taXNlLnJlc29sdmUoeil9dmFyIEk9aSg0NzkzNCksSD1pKDc3NDUwNyksRj1pKDc4NjQzNiksTz1pKDgyMjcyNiksRD1pKDUxNTkyKSxSPWkoOTI2MTQ5KSxFPWkoOTc2ODEzKSxVPWkoNTk1ODAwKSxOPWkoMzkyMjIzKSwkPWkoODc3OTc5KSxqPWkoNzIxNjQ2KSxHPWkoMzMzMzE4KSxxPWkoNDIyNzExKSxLPWkoNTkyMTU1KTtpKDc0NTgwOCk7Y29uc3QgUT17Y3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdLGN1c3RvbUJyYW5kaW5nVGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS04NTAiXSxiYWNrZ3JvdW5kOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS03MDAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxzdGF0aWNUZXh0QmFja2dyb3VuZDooMCxmLmdlbmVyYXRlQ29sb3IpKGQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTgwMCJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxwbGF0Zm9ybUJnQ29sb3I6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTIwMCJdfSxKPXtjdXN0b21CcmFuZGluZ1RyYWRpbmdWaWV3VGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWJyYW5kIl0sY3VzdG9tQnJhbmRpbmdUZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTg1MCJdLGJhY2tncm91bmQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0xNTAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHN0YXRpY1RleHRCYWNrZ3JvdW5kOigwLGYuZ2VuZXJhdGVDb2xvcikoZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHBsYXRmb3JtQmdDb2xvcjpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLXdoaXRlIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdfTtmdW5jdGlvbiBZKHQsZSl7cmV0dXJuIHQucmVwbGFjZSgvYmxhY2svZyxlLnBsYXRmb3JtQmdDb2xvcikucmVwbGFjZSgvbGlnaHRncmF5L2csZS5wbGF0Zm9ybUZnQ29sb3IpfWNvbnN0IFg9W1sibG9nby1saWdodCIsWSgkLEopXSxbImxvZ28tZGFyayIsWSgkLFEpXSxbInByby1iYWRnZS1saWdodCIsWShqLEopXSxbInByby1iYWRnZS1kYXJrIixZKGosUSldLFsidHJhZGluZ3ZpZXctbGlnaHQiLFkoRyxKKV0sWyJ0cmFkaW5ndmlldy1kYXJrIixZKEcsUSldLFsibG9nby1vbGQtc3R5bGUiLFVdLFsidHJhZGluZ3ZpZXctb2xkLXN0eWxlIixOXSxbImxvZ28tdHJhZGUtd2l0aCIscV0sWyJ0cmFkaW5ndmlldy10cmFkZS13aXRoIixLXV0sdHQ9bmV3IE1hcChYKSxldD0ic2l0ZV9icmFuZGluZyIsaXQ9IndpZGdldF9icmFuZGluZyIsb3Q9IndpZGdldF9yZWZlcnJhbF9icmFuZGluZyIsc3Q9IndpZGdldF9jdXN0b21fYnJhbmRpbmciLGF0PSJ3aWRnZXRfY3VzdG9tX25vX3Bvd2VyZWRfYnJhbmRpbmciLG50PSJmdW5kYW1lbnRhbF9icmFuZGluZyIscnQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9icmFuZGluZyIsaHQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9ub19wb3dlcmVkX2JyYW5kaW5nIixsdD0ibGlicmFyeV9icmFuZGluZyIsZHQ9ImxpYnJhcnlfY3VzdG9tX2JyYW5kaW5nIixjdD0ibGlicmFyeV9jdXN0b21fbm9fcG93ZXJlZF9icmFuZGluZyIsZ3Q9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImNocm9tZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJlZGdlIiksX3Q9d2luZG93LnVybFBhcmFtc3x8e30sbXQ9d2luZG93LmluaXREYXRhfHx7fTtmdW5jdGlvbiB1dCh0KXtyZXR1cm4gX3RbdF18fG10Lmhhc2hTZXR0aW5nc1t0XXx8IiJ9KF90LnJlZmVycmFsX2lkfHxfdC5ub19yZWZlcnJhbF9pZCkmJigwLEEuZW5hYmxlKShfdC5yZWZlcnJhbF9pZHx8IiIsImFnZ3Jlc3NpdmUiKTtnLnQobnVsbCx2b2lkIDAsaSg0MTQwMTgpKSxnLnQobnVsbCx2b2lkIDAsaSg2MzM5MDYpKTtjb25zdCB3dD1nLnQobnVsbCx2b2lkIDAsaSgzMDA3ODgpKSxwdD1nLnQobnVsbCx2b2lkIDAsaSgyOTc5NDgpKSxmdD1nLnQobnVsbCx2b2lkIDAsaSg2MTgzNTkpKSsiICI7dmFyIHZ0OyFmdW5jdGlvbih0KXt0W3QuT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldD0wXT0iT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldCIsdFt0Lk5ld0ZvbnRBZGRpdGlvbmFsVmVydGljYWxPZmZzZXQ9LjFdPSJOZXdGb250QWRkaXRpb25hbFZlcnRpY2FsT2Zmc2V0Iix0W3QuU3Ryb2tlV2lkdGg9NF09IlN0cm9rZVdpZHRoIiwKdFt0LlN0YXRpY0xvZ29Ib3Jpem9udGFsVGV4dE9mZnNldD01XT0iU3RhdGljTG9nb0hvcml6b250YWxUZXh0T2Zmc2V0Iix0W3QuVGV4dFdpZHRoQ29tcGVuc2F0aW9uPTJdPSJUZXh0V2lkdGhDb21wZW5zYXRpb24iLHRbdC5BZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dD01MDBdPSJBZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dCIsdFt0LldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkPTQ4MF09IldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkIix0W3QuVGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTFdPSJUZXh0QWRkaXRpb25hbENyb3BXaWR0aCIsdFt0LkJhZGdlTG9nb01hcmdpbj0tMTFdPSJCYWRnZUxvZ29NYXJnaW4iLHRbdC5CYWRnZVRleHRNYXJnaW49LThdPSJCYWRnZVRleHRNYXJnaW4iLHRbdC5UZXh0QW5pbWF0ZWRBbHBoYVN0YXJ0PS4zXT0iVGV4dEFuaW1hdGVkQWxwaGFTdGFydCIsdFt0LlRleHRBbmltYXRlZEFscGhhRW5kPTFdPSJUZXh0QW5pbWF0ZWRBbHBoYUVuZCIsdFt0LkFuaW1hdGlvbkR1cmF0aW9uPTIwMF09IkFuaW1hdGlvbkR1cmF0aW9uIn0odnR8fCh2dD17fSkpO2NvbnN0IHh0PSgwLF8ub25XaWRnZXQpKCkseXQ9eHQ7Y2xhc3MgYnQgZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IodCxlLGkpe3N1cGVyKHQsZSksdGhpcy5fY2FudmFzV2lkdGg9MCx0aGlzLl9wYW5lSGVpZ2h0PTAsdGhpcy5fbGVmdD0xMyx0aGlzLl9ib3R0b209MzYsdGhpcy5fbGF5b3V0PWV0LHRoaXMuX25lZWRUb1Nob3c9ITAsdGhpcy5fc2hvd0JyYW5kaW5nPSExLHRoaXMuX2N1c3RvbUxvZ29TcmM9IiIsdGhpcy5fY3VzdG9tTG9nb0xpbms9IiIsdGhpcy5fdHJhZGluZ3ZpZXdMb2dvTGlua1RvUGF0aD0iIix0aGlzLl9jdWJpY0Jlemllcj1uZXcgcC5DdWJpY0JlemllciguNCwuMDEsLjIyLDEpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCx0aGlzLl9jbG9zZUFuaW1hdGlvbj1udWxsLHRoaXMuX3Bvd0J5PW51bGwsdGhpcy5fY3VzdG9tPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX21haW5TZXJpZXM9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHRoaXMuX3Zpc2libGU9aSx0aGlzLl9zaG93Rm9yUHJvPSFlLm9uV2lkZ2V0KCk7Y29uc3Qgbz0oKT0+dGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpO3RoaXMuX3Zpc2libGUuc3Vic2NyaWJlKG8pLHRoaXMuX2Rhcms9ZS5kYXJrKCkuc3Bhd24oKSx0aGlzLl9kYXJrLnN1YnNjcmliZShvKSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2xlZnQ9OCx0aGlzLl9ib3R0b209NSk7Y29uc3Qgcz0oKT0+e3RoaXMuX25lZWRUb1Nob3c/dGhpcy5fc2hvd0JyYW5kaW5nPSEwOnRoaXMuX3Nob3dCcmFuZGluZz0hMX07dGhpcy5fcmVzaXplSGFuZGxlckRlbGF5ZWQ9KDAsci5kZWZhdWx0KShzLDIwMCkscygpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZUhhbmRsZXJEZWxheWVkKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5faW5pdCgpOih0aGlzLl9tYWluU2VyaWVzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzLnN5bWJvbEluZm8oKSYmdGhpcy5faW5pdCgpKSx0aGlzLl9yZW5kZXJlcj17ZHJhdzp0aGlzLmRyYXcuYmluZCh0aGlzKSxoaXRUZXN0OnRoaXMuaGl0VGVzdC5iaW5kKHRoaXMpfSxlLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpfWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyRGVsYXllZCksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wb3dCeSYmdGhpcy5fcG93QnkuZGVzdHJveSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Zpc2libGUucmVsZWFzZSgpLHRoaXMuX2RhcmsuZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3llZD0hMH1wYW5lVmlld3ModCl7aWYod2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXlvdXQhPT1hdCYmdGhpcy5fbGF5b3V0IT09aHQpcmV0dXJuW107aWYoIXRoaXMuX3Zpc2libGUudmFsdWUoKSlyZXR1cm5bXTtpZih0aGlzLl9sYXlvdXQ9PT1ldCYmIXRoaXMuX3Nob3dGb3JQcm8mJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuW107Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCFlKXJldHVybltdO2NvbnN0IGk9KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibW92ZV9sb2dvX3RvX21haW5fcGFuZSIpO2xldCBvPSExO2lmKHQubWF4aW1pemVkKCkudmFsdWUoKSlvPSEwO2Vsc2UgaWYoaSlvPWUuY29sbGFwc2VkKCkudmFsdWUoKT90PT09dGhpcy5fbW9kZWwucGFuZXMoKS5maW5kKCh0PT4hdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSk6dC5pc01haW5QYW5lKCkudmFsdWUoKTtlbHNlIGlmKHRoaXMuX21vZGVsLmxhc3RQYW5lKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgaT1lLmxlbmd0aC0xO2k+PTA7LS1pKXtjb25zdCBzPWVbaV07aWYoIXMuY29sbGFwc2VkKCkudmFsdWUoKSl7bz1zPT09dDticmVha319fWVsc2Ugbz10LmlzTGFzdCgpO3JldHVybiBvP1t7cmVuZGVyZXI6dGhpcy5yZW5kZXJlci5iaW5kKHRoaXMpfV06W119bGFiZWxQYW5lVmlld3ModCl7cmV0dXJuW119cHJpY2VBeGlzVmlld3ModCxlKXtyZXR1cm5bXX11cGRhdGVBbGxWaWV3cygpe311cGRhdGVWaWV3c0ZvclBhbmUodCl7fXByaWNlU2NhbGUoKXtyZXR1cm4gbnVsbH1yZW5kZXJlcih0KXtyZXR1cm4gdGhpcy5fcGFuZUhlaWdodD10Lm1lZGlhU2l6ZS5oZWlnaHQsdGhpcy5fY2FudmFzV2lkdGg9dC5tZWRpYVNpemUud2lkdGgsCnRoaXMuX3JlbmRlcmVyfWhhc0NvbnRleHRNZW51KCl7cmV0dXJuITF9b25DbGlja091dHNpZGUoKXt0aGlzLl9oYXNBbmltYXRpb24oKSYmdGhpcy5fc3RhcnRDbG9zZUFuaW1hdGlvbigpfWhpdFRlc3QodCl7aWYoIXRoaXMuX3Nob3dCcmFuZGluZ3x8KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibG9nb193aXRob3V0X2xpbmsiKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9wb3dCeSYmdGhpcy5fbGF5b3V0IT09YXQmJnRoaXMuX2xheW91dCE9PWh0JiYodGhpcy5fcG93QnkuaGl0VGVzdCh0KXx8dGhpcy5fY3VzdG9tJiZ0aGlzLl9jdXN0b20uaGl0VGVzdCh0KSkpe2NvbnN0IHQ9dGhpcy5fbGF5b3V0IT09ZXR8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCgwLEkuY2FuVXBncmFkZVBsYW4pKCkpO3JldHVybiBuZXcgdy5IaXRUZXN0UmVzdWx0KHcuSGl0VGFyZ2V0LkN1c3RvbSx7aGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlcjohMCxjdXJzb3JUeXBlOnQ/RS5QYW5lQ3Vyc29yVHlwZS5Qb2ludGVyOkUuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCxjbGlja0hhbmRsZXI6KCk9Pnt0aGlzLl9vcGVuTGluaygpLHRoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuYWN0aXZlPSExKX0sdGFwSGFuZGxlcjooKT0+e3RoaXMuX2hhc0FuaW1hdGlvbigpP3RoaXMuX3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKTp0aGlzLl9vcGVuTGluaygpfSxtb3VzZUVudGVySGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMCksdGhpcy5faGFzQW5pbWF0aW9uKCkmJnRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpfSxtb3VzZUxlYXZlSGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMSx0aGlzLl9wb3dCeS5hY3RpdmU9ITEpLHRoaXMuX2hhc0FuaW1hdGlvbigpJiZ0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCl9LG1vdXNlRG93bkhhbmRsZXI6KCk9Pnt0aGlzLl9wb3dCeSYmKHRoaXMuX3Bvd0J5LmFjdGl2ZT0hMCl9LG1vdXNlVXBIYW5kbGVyOigpPT57dGhpcy5fcG93QnkmJih0aGlzLl9wb3dCeS5hY3RpdmU9ITEpfX0pfXJldHVybiBudWxsfXR2VXJsKCl7Y29uc3QgdD1tdC5xdWVyeVNldHRpbmdzPy5sb2NhbGU/P210LmN1cnJlbnRMb2NhbGVJbmZvPy5sYW5ndWFnZSxlPSJodHRwczovLyIrKDAsYi5nZXRUVkhvc3RGcm9tTG9jYWxlKSh0fHwiZW4iKTtsZXQgaT1uZXcgVVJMKGUpO3tjb25zdCB0PXRoaXMuX21haW5TZXJpZXMucHJvU3ltYm9sKCksZT1tdC5jdXN0b21lcj8/bXQud2lkZ2V0RGVmYXVsdHM/LmN1c3RvbWVyO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fZm9yX3dpZGdldF9vd25lcnMiKSl7Y29uc3QgdD0oMCxBLnJlZmVyZW5jZVRvVHJhZGluZ1ZpZXcpKCksZT10LmluZGV4T2YoInV0bV9zb3VyY2UiKTstMSE9PWUmJihpPW5ldyBVUkwodC5zbGljZSgwLGUpKSl9ZWxzZSBpZihlKXtpZigidHdpdHRlciI9PT1lJiYiL3R3aXR0ZXItY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ3d3cudHdpdHRlci5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsInR3aXR0ZXItY2hhcnQiKSxpLnRvU3RyaW5nKCk7aWYoInRlbGVncmFtIj09PWUmJiIvdGVsZWdyYW0vY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ0ZWxlZ3JhbS5vcmciKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ0ZWxlZ3JhbS1taW5pLWFwcCIpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIiwidGVsZWdyYW0tbWluaS1hcHAtbG9nbyIpLGkudG9TdHJpbmcoKX1lbHNlIGkucGF0aG5hbWU9ImNoYXJ0IixpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInN5bWJvbCIsdCk7Y29uc3Qgbz11dCgidXRtX2NhbXBhaWduIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fc291cmNlIix1dCgidXRtX3NvdXJjZSIpKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLHV0KCJ1dG1fbWVkaXVtIikpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIixvP2Ake299LWxvZ29gOiIiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV90ZXJtIix0KX1yZXR1cm4gaS50b1N0cmluZygpfWRyYXcodCxlKXtpZighdGhpcy5fc2hvd0JyYW5kaW5nKXJldHVybjtsZXQgaT0wO190LnV0bT0hMCwoMCx4LmRyYXdTY2FsZWQpKHQsZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9PntpZih0aGlzLl9wb3dCeSYmdGhpcy5fcG93Qnkuc2hvdyl7aT10aGlzLl9wb3dCeS5oZWlnaHQsdC5zYXZlKCk7Y29uc3Qgbz1uZXcgaC5Qb2ludCh0aGlzLl9sZWZ0LHRoaXMuX3BhbmVIZWlnaHQtdGhpcy5fYm90dG9tLWkpO3RoaXMuX3Bvd0J5LmRyYXcobyx0LGUsdGhpcy5fY2FudmFzV2lkdGgpLHQucmVzdG9yZSgpfWlmKHRoaXMuX2N1c3RvbSYmdGhpcy5fY3VzdG9tLnNob3cpe3Quc2F2ZSgpO2NvbnN0IG89bmV3IGguUG9pbnQodGhpcy5fbGVmdCx0aGlzLl9wYW5lSGVpZ2h0LXRoaXMuX2JvdHRvbS1pLXRoaXMuX2N1c3RvbS5oZWlnaHQpO3RoaXMuX2N1c3RvbS5kcmF3KG8sdCxlKSx0LnJlc3RvcmUoKX19KSl9X2luaXQoKXt0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IHQ9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5LmRlc3Ryb3koKSx0aGlzLl9wb3dCeT1uZXcgQ3QodGhpcy5fbGF5b3V0LHQ/Lm5hbWV8fCIiLHRoaXMuX21vZGVsLCgoKT0+dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpKSksCnRoaXMuX2N1c3RvbT1uZXcga3QodGhpcy5fbGF5b3V0LHRoaXMuX2N1c3RvbUxvZ29TcmMsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLl9vcGVuQW5pbWF0aW9uPW51bGwsdGhpcy5fY2xvc2VBbmltYXRpb249bnVsbCwoMCxfLm9uV2lkZ2V0KSgpJiZaKCkudGhlbigodD0+e3QuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbykmJnRoaXMuX3Bvd0J5JiZ0aGlzLl9wb3dCeS5zaG93VHJhZGVXaXRoTG9nbyghMCksKHQuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5FeHBhbmQpfHx0LmluY2x1ZGVzKE0uS25vd25BY3Rpb24uTGFyZ2VUcmFkZUxvZ28pKSYmKHRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPXtzdG9wOigpPT57fSxjb21wbGV0ZWQ6KCk9PiExfSl9KSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX1fY2hlY2tMYXlvdXQoKXtpZigoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1tdC53aWRnZXREZWZhdWx0cy5sb2dvfHx7fSxlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpO3RoaXMuX25lZWRUb1Nob3c9IXQud2hpdGVsYWJlbCx0LmltYWdlPyh0aGlzLl9jdXN0b21Mb2dvU3JjPSIvc3RhdGljL2ltYWdlcy93aWRnZXQtZW1iZWQtbG9nby8iK3QuaW1hZ2UsdC5ub19wb3dlcmVkX2J5P3RoaXMuX2xheW91dD1lP2h0OmF0OnRoaXMuX2xheW91dD1lP3J0OnN0KTpfdC5yZWZlcnJhbF9pZHx8X3Qubm9fcmVmZXJyYWxfaWQ/dGhpcy5fbGF5b3V0PW90OnRoaXMuX2xheW91dD1lP250Oml0fWVsc2UgdGhpcy5fbGF5b3V0PWV0fV9zdGFydE9wZW5BbmltYXRpb24oKXtpZihudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbilyZXR1cm47bnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uJiYodGhpcy5fY2xvc2VBbmltYXRpb24uc3RvcCgpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPW51bGwpO2NvbnN0IHQ9KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb3dCeSkuYW5pbWF0aW9uU3RlcCgpO3RoaXMuX29wZW5BbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MSxkdXJhdGlvbjoyMDAqKDEtdCksZWFzaW5nOnRoaXMuX2N1YmljQmV6aWVyLmVhc2luZ0Z1bmMsb25TdGVwOnRoaXMuX2FuaW1hdGVkRHJhd1N0ZXAuYmluZCh0aGlzKX0pfV9zdGFydENsb3NlQW5pbWF0aW9uKCl7aWYobnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uKXJldHVybjtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmKHRoaXMuX29wZW5BbmltYXRpb24uc3RvcCgpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCk7Y29uc3QgdD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRpb25TdGVwKCk7dGhpcy5fY2xvc2VBbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MCxkdXJhdGlvbjoyMDAqdCxlYXNpbmc6dGhpcy5fY3ViaWNCZXppZXIuZWFzaW5nRnVuYyxvblN0ZXA6dGhpcy5fYW5pbWF0ZWREcmF3U3RlcC5iaW5kKHRoaXMpfSl9X2FuaW1hdGVkRHJhd1N0ZXAodCxlKXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRlZERyYXdTdGVwKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X2hhc0FuaW1hdGlvbigpe3JldHVybiBudWxsIT09dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5Lmhhc0FuaW1hdGlvbigpfV9vcGVuR29Qcm8oKXt3aW5kb3cucnVuT3JTaWduSW4oKGFzeW5jKCk9PntpZighKDAsSS5jYW5VcGdyYWRlUGxhbikoKSlyZXR1cm47Y29uc3R7b3BlbkdvUHJvOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzk4MyksaS5lKDMzMjIxKSxpLmUoMTc5OTEpLGkuZSgyMjU0NyldKS50aGVuKGkuYmluZChpLDUxNzk5MSkpO3RoaXMuX2Rlc3Ryb3llZHx8dCh7Z29wcm9Tb3VyY2U6ImJyYWRpbmcifSwoKCk9Pnt9KSl9KSx7c291cmNlOiJicmFuZGluZyJ9KX1fb3BlbkxpbmsoKXtpZigoMCxfLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4hMTtpZih0aGlzLl9sYXlvdXQ9PT1ldClyZXR1cm4gdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpfHx0aGlzLl9vcGVuR29Qcm8oKSwhMTsoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmVCh0aGlzLnR2VXJsKCksImNvcHlyaWdodCIpO3JldHVybigwLGMuZW5zdXJlTm90TnVsbCkod2luZG93Lm9wZW4odGhpcy50dlVybCgpLCJfYmxhbmsiKSkub3BlbmVyPW51bGwsITB9X3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKXtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmdGhpcy5fb3BlbkFuaW1hdGlvbi5jb21wbGV0ZWQoKT90aGlzLl9vcGVuTGluaygpfHx0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCk6dGhpcy5fc3RhcnRPcGVuQW5pbWF0aW9uKCl9fWxldCBBdD17fSxTdD17fTtmdW5jdGlvbiBMdCh0LGUsaSxvLHMpe2NvbnN0IGE9eXQ/U3Q6QXQsbj1bZSx5dCYmaSxzJiYidHJhZGVXaXRoIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIi0iKSxyPWFbbl07aWYodm9pZCAwIT09cilyZXR1cm4gcjtjb25zdFtoLGwsZF09ZnVuY3Rpb24odCxlLGkpe3JldHVybiBpP1sibG9nby10cmFkZS13aXRoIiwidHJhZGluZ3ZpZXctdHJhZGUtd2l0aCJdOlt5dD8ibG9nby1vbGQtc3R5bGUiOmBsb2dvLSR7dH1gLHl0PyJ0cmFkaW5ndmlldy1vbGQtc3R5bGUiOmB0cmFkaW5ndmlldy0ke3R9YCx5dHx8IWU/dm9pZCAwOmBwcm8tYmFkZ2UtJHt0fWBdfShlLG8scyksZz10PT55dD90LnJlcGxhY2UoL2ZpbGw9IiNbXGRhLWZdezZ9Ii9naSxgZmlsbD0iJHtpfSJgKTp0LF89e2xvZ29JbWFnZTp0KGcoKDAsYy5lbnN1cmVEZWZpbmVkKSh0dC5nZXQoaCkpKSksdGV4dEltYWdlOnQoZygoMCxjLmVuc3VyZURlZmluZWQpKHR0LmdldChsKSkpKSxwcm9CYWRnZUltYWdlOmQ/dChnKCgwLGMuZW5zdXJlRGVmaW5lZCkodHQuZ2V0KGQpKSkpOnZvaWQgMH07cmV0dXJuIGFbbl09XyxffWNsYXNzIFR0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9wTGVmdFBvaW50PW51bGwsdGhpcy5faGl0VGVzdEhlaWdodD1udWxsfWhpdFRlc3QodCl7CmNvbnN0IGU9dGhpcy5fZ2V0SGl0VGVzdEJveCgpO2lmKGUpcmV0dXJuKDAsbC5wb2ludEluQm94KSh0LGUpfV9nZXRIaXRUZXN0Qm94KCl7Y29uc3QgdD10aGlzLl90b3BMZWZ0UG9pbnQ7aWYodCl7Y29uc3R7eDplLHk6aX09dDtyZXR1cm4oMCxoLmJveCkodCxuZXcgaC5Qb2ludChlK3RoaXMud2lkdGgsaSsodGhpcy5faGl0VGVzdEhlaWdodD8/dGhpcy5oZWlnaHQpKSl9fX1jbGFzcyBDdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpLG8pe3N1cGVyKCksdGhpcy5zaG93PSEwLHRoaXMuaG92ZXJlZD0hMSx0aGlzLmFjdGl2ZT0hMSx0aGlzLl9uZWVkRGlzcGxheUltYWdlPSExLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0xLHRoaXMuX3RleHRBZGRpdGlvbmFsQ3JvcFdpZHRoPTAsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQ9MSx0aGlzLl9iYWRnZURhdGE9e2xvZ29NYXJnaW46MCx0ZXh0TWFyZ2luOjAsd2lkdGg6MH0sdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITEsdGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMSx0aGlzLl90eHQ9IlRyYWRpbmdWaWV3Iix0aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGg9MCx0aGlzLl9sb2dvV2lkdGg9MCx0aGlzLl90ZXh0V2lkdGhDYWNoZT1uZXcgTy5UZXh0V2lkdGhDYWNoZSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpOYU4sdmVydGljYWxQaXhlbFJhdGlvOk5hTn0sdGhpcy5fbW9kZWw9aSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zaG93VHJhZGVXaXRoTG9nbz0hMSx0aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2FuaW1hdGVkX2xvZ28iKXx8dD09PWl0LHRoaXMuX2Fsd2F5c01heGltaXplZD0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsb2dvX2Fsd2F5c19tYXhpbWl6ZWQiKXx8dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYhXy5DaGVja01vYmlsZS5hbnkoKXx8IV8uQ2hlY2tNb2JpbGUuYW55KCkmJiF0aGlzLl9tb2RlbC5vbldpZGdldCgpJiYoIXdpbmRvdy51c2VyfHwhd2luZG93LnVzZXIuaXNfcHJvKSx0aGlzLl9mb250U2l6ZT10aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZ3x8dGhpcy5fbGF5b3V0PT09b3Q/MTE6MTQsdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmd8fHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2ZvbnRTaXplPTEyKSx0aGlzLl9zaXplQ29uc3RhbnRzPWZ1bmN0aW9uKHQpe3tpZih4dClyZXR1cm57YnJhbmRDaXJjbGVTaXplOjMyLHRleHRBc0ltYWdlV2lkdGhDb21wZW5zYXRpb246MixsZWZ0T2Zmc2V0OjEsYm90dG9tT2Zmc2V0Oi0yMCxsb2dvTGVmdE9mZnNldDoxLGxvZ29UZXh0T2Zmc2V0OjR9O2NvbnN0IGU9e2JyYW5kQ2lyY2xlU2l6ZTo0OCx0ZXh0QXNJbWFnZVdpZHRoQ29tcGVuc2F0aW9uOjAsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNCxsb2dvTGVmdE9mZnNldDo4LGxvZ29UZXh0T2Zmc2V0OjF9O3JldHVybiB0P18uQ2hlY2tNb2JpbGUuYW55KCk/ey4uLmUsbGVmdE9mZnNldDotMjEsYm90dG9tT2Zmc2V0Oi0yMH06ey4uLmUsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNn06ZX19KHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSksdGhpcy53aWR0aD10aGlzLl9taW5pbWl6ZWRBbmltYXRpb25XaWR0aCgpLHRoaXMuX2FuaW1hdGVkV2lkdGg9dGhpcy53aWR0aCx0aGlzLmhlaWdodD10aGlzLl9mb250U2l6ZSsyLHRoaXMuX3JlcXVlc3RSZXBhaW50PW8sdGhpcy5faW5pdCgpLHRoaXMuX2NoZWNrRm9udExvYWRlZCgpLHRoaXMuX3JlY2FsY3VsYXRlTWV0cmljcygpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5vbkNoYXJ0VGhlbWVMb2FkZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKX1oYXNBbmltYXRpb24oKXtyZXR1cm4gdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmcmJiF0aGlzLl9hbHdheXNNYXhpbWl6ZWR9YW5pbWF0aW9uU3RlcCgpe2NvbnN0IHQ9dGhpcy5fbWluaW1pemVkQW5pbWF0aW9uV2lkdGgoKSxlPXRoaXMuX21heGltaXplZEFuaW1hdGlvbldpZHRoKCk7cmV0dXJuKHRoaXMuX2FuaW1hdGVkV2lkdGgtdCkvKGUtdCl9YW5pbWF0ZWREcmF3U3RlcCh0KXtjb25zdCBlPXRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2FuaW1hdGVkV2lkdGg9ZSt0KihpLWUpLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPXRoaXMuX3RleHRBbmltYXRlZEFscGhhU3RhcnQrdCoodGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQtdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydCl9ZHJhdyh0LGUsaSxvKXtjb25zdHticmFuZENpcmNsZVNpemU6cyxsb2dvTGVmdE9mZnNldDphLGxlZnRPZmZzZXQ6bixib3R0b21PZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0aGlzLl9uZWVkRGlzcGxheUltYWdlJiYodD1uZXcgaC5Qb2ludCh0Lngrbix0LnktcikpLHRoaXMuX3RvcExlZnRQb2ludD10LGUudHJhbnNsYXRlKHQueCx0LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmR9PWk7KDAsRC5lcXVhbFBpeGVsUmF0aW9zKShpLHRoaXMuX3BpeGVsUmF0aW8pfHwodGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpsLHZlcnRpY2FsUGl4ZWxSYXRpbzpkfSk7Y29uc3QgYz10aGlzLl9jb2xvcnM7aWYodGhpcy5fc2hvd1RyYWRlV2l0aExvZ28pe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdUcmFkZVdpdGhMb2dvKGUsdCxpKX1lbHNlIGlmKHRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKXsKY29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTt0aGlzLndpZHRoPXRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fZHJhd0xvZ28oZSx0LHRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fYW5pbWF0ZWRXaWR0aCx0aGlzLl9hbmltYXRlZFdpZHRoPih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0LmxvZ29JbWFnZS52aWV3Qm94KCkud2lkdGgrdGhpcy5fc2l6ZUNvbnN0YW50cy5sb2dvVGV4dE9mZnNldCt0aGlzLl9iYWRnZURhdGEubG9nb01hcmdpbit0aGlzLl9iYWRnZURhdGEud2lkdGgrdGhpcy5fYmFkZ2VEYXRhLnRleHRNYXJnaW4pKX19ZWxzZSBpZih0aGlzLl9sYXlvdXQ9PT1zdHx8dGhpcy5fbGF5b3V0PT09cnQpe2UuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCk7Y29uc3QgdD1lLm1lYXN1cmVUZXh0KHRoaXMuX3R4dCkud2lkdGgrMjt0aGlzLndpZHRoPXQrZS5tZWFzdXJlVGV4dCgiVHJhZGluZ1ZpZXciKS53aWR0aCsyLGUuc2F2ZSgpLGUuZ2xvYmFsQWxwaGE9LjcsZS5maWxsU3R5bGU9dGhpcy5fY29sb3JzLmN1c3RvbUJyYW5kaW5nVGV4dCxlLmZpbGxUZXh0KHRoaXMuX3R4dCwwLDEyKSxlLmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuY3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQsZS5maWxsVGV4dCgiVHJhZGluZ1ZpZXciLHQsMTIpLGUucmVzdG9yZSgpfWVsc2UgaWYodGhpcy5fbGF5b3V0PT09b3Qpe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdMb2dvKGUsdCxpLGksITApfWVsc2UgaWYodGhpcy5fbmVlZERpc3BsYXlJbWFnZSl7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTtlLnNhdmUoKSx5dCYmdGhpcy5fZHJhd0JnQ2lyY2xlKGUscy8yKTtjb25zdHt3aWR0aDppLGhlaWdodDpvfT10LmxvZ29JbWFnZS52aWV3Qm94KCksbj1uZXcgaC5Qb2ludChNYXRoLnJvdW5kKChzLWkpLzIpLTErYSxNYXRoLmZsb29yKChzLW8pLzIpKzEpO3RoaXMuX2RyYXdMb2dvSW1hZ2UoZSxuLHQubG9nb0ltYWdlKTtjb25zdCByPSEwO3ImJihlLnRyYW5zbGF0ZShzKzUsTWF0aC5yb3VuZCh0aGlzLl9mb250U2l6ZSooInB4IEV1Y2xpZENpcmN1bGFyIj09PXRoaXMuX2dldEZvbnRGYW1pbHkoKT8uMTowKSkpLHRoaXMuX2RyYXdUZXh0U3Ryb2tlKGUpLHRoaXMuX2RyYXdUZXh0RmlsbChlKSksZS5yZXN0b3JlKCksdGhpcy53aWR0aD1zLHImJih0aGlzLndpZHRoKz10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGgpfWVsc2V7Y29uc3QgdD0hMDt0JiYoZS5zYXZlKCksZS50cmFuc2xhdGUoZ3Q/LS41OjAsLS41KSx0aGlzLl9kcmF3VGV4dFN0cm9rZShlKSx0aGlzLl9kcmF3VGV4dEZpbGwoZSksZS5yZXN0b3JlKCkpLHQmJih0aGlzLndpZHRoPXRoaXMuX21heGltaXplZEFuaW1hdGlvblRleHRXaWR0aCl9fXNob3dUcmFkZVdpdGhMb2dvKHQpe3RoaXMuX3Nob3dUcmFkZVdpdGhMb2dvPXR9X21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl7cmV0dXJuKHl0P3RoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplOnRoaXMuX2xvZ29XaWR0aCkrdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4rdGhpcy5fYmFkZ2VEYXRhLndpZHRofV9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpe3JldHVybih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpK3RoaXMuX3NpemVDb25zdGFudHMubG9nb1RleHRPZmZzZXQrdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoK3RoaXMuX2JhZGdlRGF0YS53aWR0aCt0aGlzLl9iYWRnZURhdGEudGV4dE1hcmdpbn1fZHJhd1RyYWRlV2l0aExvZ28odCxlLGkpe3t0LnNhdmUoKSx0aGlzLl9kcmF3RmlsbFJlY3RXaXRoUm91bmRlZENvcm5lcih0LC01LDEsMTQxLDM4LDgsNyk7Y29uc3R7d2lkdGg6byxoZWlnaHQ6c309ZS5sb2dvSW1hZ2Uudmlld0JveCgpLGE9bmV3IGguUG9pbnQoTWF0aC5yb3VuZChvLzIpLTE5LE1hdGguZmxvb3Iocy8yKS0xMik7dGhpcy5fZHJhd0xvZ29JbWFnZSh0LGEsZS5sb2dvSW1hZ2UpO2NvbnN0IG49bmV3IGguUG9pbnQoYS54K28sYS55KTt0aGlzLl9kcmF3SW1hZ2VDcm9wV2lkdGgodCxuLGUudGV4dEltYWdlLGkpLHRoaXMud2lkdGg9bytNYXRoLm1pbihlLnRleHRJbWFnZS52aWV3Qm94KCkud2lkdGgsaSksdC5yZXN0b3JlKCl9fV9kcmF3TG9nbyh0LGUsaSxvLHMpe2NvbnN0e2JyYW5kQ2lyY2xlU2l6ZTphLGxvZ29MZWZ0T2Zmc2V0Om4sbG9nb1RleHRPZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0LnNhdmUoKSx5dCYmdGhpcy5fZHJhd0ZpbGxSZWN0V2l0aFJvdW5kZWRDb3JuZXIodCwtLjUsMCxpLGEsYS8yKTtjb25zdHtsb2dvSW1hZ2U6bCx0ZXh0SW1hZ2U6ZCxwcm9CYWRnZUltYWdlOmN9PWUse3dpZHRoOmcsaGVpZ2h0Ol99PWwudmlld0JveCgpLG09bmV3IGguUG9pbnQoTWF0aC5yb3VuZCgoYS1nKS8yKS0xK24sTWF0aC5mbG9vcigoYS1fKS8yKSsxKTtpZihzKXtjb25zdCBlPW5ldyBoLlBvaW50KG0ueCtnK3IsbS55KSxpPXQuZ2xvYmFsQWxwaGE7dC5nbG9iYWxBbHBoYSo9dGhpcy5fdGV4dEFuaW1hdGVkQWxwaGE7Y29uc3Qgcz1vLSh5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpLXItdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4tdGhpcy5fYmFkZ2VEYXRhLndpZHRoO3RoaXMuX2RyYXdJbWFnZUNyb3BXaWR0aCh0LGUsZCxzKSx0Lmdsb2JhbEFscGhhPWl9aWYoYyl7Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6aX09Yy52aWV3Qm94KCk7Yy5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDp7eDptLngrdGhpcy53aWR0aC1lLHk6TWF0aC5mbG9vcigoYS1pKS8yKSsxLHdpZHRoOmUsaGVpZ2h0Oml9fSl9dGhpcy5fZHJhd0xvZ29JbWFnZSh0LG0sbCksdC5yZXN0b3JlKCl9X2luaXQoKXtTdD17fSxBdD17fSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuc2hvdyYmKHRoaXMuX3VwZGF0ZUNvbG9ycygpLHRoaXMuX3VwZGF0ZUhlaWdodCgpLAp0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVDb2xvcnMpLHRoaXMuX21vZGVsLm9uQ2hhcnRUaGVtZUxvYWRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUNvbG9ycykpfV91cGRhdGVIZWlnaHQoKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKWlmKHl0KXRoaXMuaGVpZ2h0PXRoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplO2Vsc2V7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UodGhpcy5fY29sb3JzLmxvZ28pO2lmKG51bGwhPT10KXtjb25zdCBlPXQubG9nb0ltYWdlLnZpZXdCb3goKS5oZWlnaHQ7dGhpcy5oZWlnaHQ9TWF0aC5tYXgoZSx0LnRleHRJbWFnZS52aWV3Qm94KCkuaGVpZ2h0KSx0aGlzLl9oaXRUZXN0SGVpZ2h0PWV9fWVsc2UgdGhpcy5oZWlnaHQ9dGhpcy5fZm9udFNpemUrMn1fY2hlY2tGb250TG9hZGVkKCl7aWYoIXRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nJiZkb2N1bWVudC5mb250cyYmZG9jdW1lbnQuZm9udHMuY2hlY2smJmRvY3VtZW50LmZvbnRzLmxvYWQpe2RvY3VtZW50LmZvbnRzLmNoZWNrKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCk/dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMDpkb2N1bWVudC5mb250cy5sb2FkKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCx0aGlzLl90eHQpLnRoZW4oKCgpPT57dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMCx0aGlzLl9yZWNhbGN1bGF0ZU1ldHJpY3MoKSx0aGlzLl9yZXF1ZXN0UmVwYWludCgpfSkpfX1fZ2V0Rm9udEZhbWlseSgpe3JldHVybiB0aGlzLl9ldWNsaWRGb250QXZhaWxhYmxlPyJweCBFdWNsaWRDaXJjdWxhciI6YHB4ICR7Ui5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpfWB9X3JlY2FsY3VsYXRlTWV0cmljcygpe2NvbnN0IHQ9KDAseC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXMpKGRvY3VtZW50LCgwLG4uc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSksZT0oMCx4LmdldFByZXNjYWxlZENvbnRleHQyRCkodCk7ZS5mb250PXRoaXMuX2ZvbnRTaXplK3RoaXMuX2dldEZvbnRGYW1pbHkoKTtjb25zdCBpPXRoaXMuX25lZWREaXNwbGF5SW1hZ2U/dGhpcy5fZ2V0TG9nb0ltYWdlKHRoaXMuX2NvbG9ycy5sb2dvKTpudWxsO2xldCBvPWk/aS50ZXh0SW1hZ2Uudmlld0JveCgpLndpZHRoK3RoaXMuX3NpemVDb25zdGFudHMudGV4dEFzSW1hZ2VXaWR0aENvbXBlbnNhdGlvbjpNYXRoLmNlaWwoZS5tZWFzdXJlVGV4dCh0aGlzLl90eHQpLndpZHRoKSsyKzg7byUyPT0wJiYobys9MSksdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoPW8sdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9sb2dvV2lkdGg9aT8ubG9nb0ltYWdlLnZpZXdCb3goKS53aWR0aD8/MCx0aGlzLl9hbmltYXRlZFdpZHRoPXRoaXMuX2Fsd2F5c01heGltaXplZD90aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpOnRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl9X3VwZGF0ZUNvbG9ycygpe3RoaXMuX2NvbG9ycz10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9ROkp9X2dldExvZ29JbWFnZSh0KXtyZXR1cm4gTHQoeS5zdmdSZW5kZXJlcix0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8iZGFyayI6ImxpZ2h0Iix0LCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJkJvb2xlYW4od2luZG93LnVzZXI/LmlzX2V4cGVydCkmJndpbmRvdy51c2VyPy5kZWNsYXJlZF9zdGF0dXM9PT1ILlVzZXJTdGF0dXMuUHJvLHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvKX1fY2hlY2tMYXlvdXQoKXtzd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OmNhc2Ugb3Q6Y2FzZSBzdDpjYXNlIG50OmNhc2UgcnQ6Y2FzZSBkdDpjYXNlIGx0OmNhc2UgZXQ6dGhpcy5zaG93PSEwO2JyZWFrO2Nhc2UgYXQ6Y2FzZSBodDpjYXNlIGN0OnRoaXMuc2hvdz0hMX1zd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OnRoaXMuX25lZWREaXNwbGF5SW1hZ2U9ITAsdGhpcy5fdHh0PXd0O2JyZWFrO2Nhc2UgbnQ6dGhpcy5fdHh0PXB0LmZvcm1hdCh7c3ltYm9sOnRoaXMuX3N5bWJvbH0pO2JyZWFrO2Nhc2Ugb3Q6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDticmVhaztjYXNlIHN0OmNhc2UgcnQ6dGhpcy5fdHh0PWZ0O2JyZWFrO2Nhc2UgZXQ6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDtjb25zdCB0PXRoaXMuX2dldExvZ29JbWFnZSgiIikucHJvQmFkZ2VJbWFnZTt0JiYhdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYodGhpcy5fYmFkZ2VEYXRhPXtsb2dvTWFyZ2luOi0xMSx0ZXh0TWFyZ2luOi04LHdpZHRoOnQudmlld0JveCgpLndpZHRofSksdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITAsdGhpcy5fdGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0uMyx0aGlzLl90ZXh0QW5pbWF0ZWRBbHBoYUVuZD0xfX1fZHJhd1RleHRTdHJva2UodCl7dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC50ZXh0QWxpZ249InN0YXJ0Iix0LmZvbnQ9dGhpcy5fZm9udFNpemUrdGhpcy5fZ2V0Rm9udEZhbWlseSgpLHQuc3Ryb2tlU3R5bGU9dGhpcy5fY29sb3JzLnN0YXRpY1RleHRCYWNrZ3JvdW5kLHQubGluZVdpZHRoPTQsdC5saW5lSm9pbj0icm91bmQiLHQuc3Ryb2tlVGV4dCh0aGlzLl90eHQsMCx0aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZS8yK3RoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsdGhpcy5fdHh0KSksdC5yZXN0b3JlKCl9X2RyYXdUZXh0RmlsbCh0KXt0LnNhdmUoKSx0LnRleHRCYXNlbGluZT0ibWlkZGxlIix0LnRleHRBbGlnbj0ic3RhcnQiLHQuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCksdC5maWxsU3R5bGU9dGhpcy5fY29sb3JzLnRleHQsCnQuZmlsbFRleHQodGhpcy5fdHh0LDAsdGhpcy5fc2l6ZUNvbnN0YW50cy5icmFuZENpcmNsZVNpemUvMit0aGlzLl90ZXh0V2lkdGhDYWNoZS55TWlkQ29ycmVjdGlvbih0LHRoaXMuX3R4dCkpLHQucmVzdG9yZSgpfV9kcmF3SW1hZ2VDcm9wV2lkdGgodCxlLGksbyl7dC5zYXZlKCk7Y29uc3R7bG9nb01hcmdpbjpzLHRleHRNYXJnaW46YX09dGhpcy5fYmFkZ2VEYXRhO3QuYmVnaW5QYXRoKCk7Y29uc3R7d2lkdGg6bixoZWlnaHQ6cn09aS52aWV3Qm94KCk7dC5yZWN0KGUueC10aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxlLnksbyt0aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxyKSx0LmNsaXAoKSxpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueC0odGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb24/bi1vLXMrYTowKSx5OmUueSx3aWR0aDpuLGhlaWdodDpyfX0pLHQucmVzdG9yZSgpfV9kcmF3QmdDaXJjbGUodCxlKXtjb25zdCBpPTIqTWF0aC5QSTt0LnNhdmUoKSx0LmJlZ2luUGF0aCgpLHQuZmlsbFN0eWxlPXRoaXMuX2NvbG9ycy5zaGFkb3csdC5hcmMoZSxlLGUrMSwwLGkpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksdC5iZWdpblBhdGgoKSx0LmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuYmFja2dyb3VuZCx0LmFyYyhlLGUsZSwwLGksITEpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X2RyYXdGaWxsUmVjdFdpdGhSb3VuZGVkQ29ybmVyKHQsZSxpLG8scyxhLG4pe3Quc2F2ZSgpLCgwLEYuZHJhd1JvdW5kUmVjdCkodCxlLTEsaS0xLG8rMixzKzIsYSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksKDAsRi5kcmF3Um91bmRSZWN0KSh0LGUsaSxvLHMsbj8/YSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZEZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5hY3RpdmU/dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/InJnYmEoNTQsIDU4LCA2OSkiOiJyZ2JhKDIyNCwgMjI3LCAyMzUpIjp0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8icmdiKDQyLCA0NiwgNTcpIjoicmdiKDI0MCwgMjQzLCAyNTApIn1fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpe3JldHVybiB0aGlzLl9zaG93VHJhZGVXaXRoTG9nbyYmKHRoaXMuYWN0aXZlfHx0aGlzLmhvdmVyZWQpP3RoaXMuX3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKTp0aGlzLl9jb2xvcnMuc2hhZG93fV9iYWNrZ3JvdW5kRmlsbFN0eWxlKCl7cmV0dXJuIHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvJiYodGhpcy5hY3RpdmV8fHRoaXMuaG92ZXJlZCk/dGhpcy5fdHJhZGVXaXRoTG9nb0JhY2tncm91bmRDb2xvcigpOnRoaXMuX2NvbG9ycy5iYWNrZ3JvdW5kfV9kcmF3TG9nb0ltYWdlKHQsZSxpKXt5dHx8KHRoaXMuX3RvcExlZnRQb2ludD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvcExlZnRQb2ludCkuYWRkKGUpKTtjb25zdHt3aWR0aDpvLGhlaWdodDpzfT1pLnZpZXdCb3goKTtpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueCx5OmUueSx3aWR0aDpvLGhlaWdodDpzfX0pfX1jbGFzcyBrdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpKXtzdXBlcigpLHRoaXMuc2hvdz0hMSx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCx0aGlzLl9yZWFkeT0hMSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zcmM9ZSx0aGlzLl9vblJlYWR5Q2FsbGJhY2s9aSx0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IG89bmV3IEltYWdlO3RoaXMuX2ltZz1vLHRoaXMuc2hvdyYmKG8uYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCgpPT57dGhpcy53aWR0aD1NYXRoLnJvdW5kKG8ud2lkdGgpLHRoaXMuaGVpZ2h0PU1hdGgucm91bmQoby5oZWlnaHQpLHRoaXMuX3JlYWR5PSEwLHRoaXMuX29uUmVhZHlDYWxsYmFjayYmdGhpcy5fb25SZWFkeUNhbGxiYWNrKCl9KSksby5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixvLnNyYz10aGlzLl9zcmMpfWRyYXcodCxlLGkpe3RoaXMuX3RvcExlZnRQb2ludD10LHRoaXMuX3JlYWR5JiYoZS50cmFuc2xhdGUodC54LHQueSksZS5kcmF3SW1hZ2UodGhpcy5faW1nLC0uNSwtLjUsdGhpcy53aWR0aCx0aGlzLmhlaWdodCkpfV9jaGVja0xheW91dCgpe3N3aXRjaCh0aGlzLl9sYXlvdXQpe2Nhc2Ugc3Q6Y2FzZSBhdDpjYXNlIHJ0OmNhc2UgaHQ6Y2FzZSBkdDpjYXNlIGN0OnRoaXMuc2hvdz0hMDticmVhaztjYXNlIGV0OmNhc2UgaXQ6Y2FzZSBvdDpjYXNlIG50OmNhc2UgbHQ6dGhpcy5zaG93PSExfX19Y29uc3QgQnQ9e3M6MCwiMmgiOjAsIjJ2IjoxLCIzaCI6MCwiM3YiOjIsIjNzIjowLCIzciI6MSwiMi0xIjoxLCIxLTIiOjEsNDoxLCI0diI6MywiNGgiOjAsIjRzIjowLCI0cy1sIjowLCIxLTMiOjEsIjMtMSI6MywiMi0yLWwiOjAsIjItMi1yIjoxLCIyLTIiOjMsIjEtNCI6MSwiNWgiOjAsIjV2IjowLCI1cyI6MCwiNXMtbCI6MCwiMi0zIjoyLCIzLTIiOjMsIjQtMSI6NCwiMi0zLWwiOjAsIjItMy1yIjoyLDY6MSwiNmgiOjAsIjZ2IjowLCI2YyI6NCwiMi00IjoyLCI0LTIiOjQsIjQtMyI6NCwiN2giOjAsIjdzIjowLDg6MSwiOGMiOjYsIjhoIjowLCI4diI6MCwiOXMiOjYsIjUtNCI6NSwiOWgiOjAsIjl2IjowLCIxMGM1IjoxLCIxMGgiOjAsIjEwdiI6MCwiMTJjNiI6MSwiMTJjNCI6MywiMTJoIjowLCIxNGM3IjoxLCIxNmM4IjoxLCIxNmM0IjozfTtmdW5jdGlvbiBQdCh0KXtjb25zdCBlPWZ1bmN0aW9uKHQsZSxpLGEpe2xldCBuPTA7Y29uc3Qgcj0oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+KytuKSxbaSxhXSk7cmV0dXJuKDAsby5jb21iaW5lKSgoKGUsaSk9PnQoKVtCdFtlXV0/P251bGwpLGUud2Vha1JlZmVyZW5jZSgpLHIub3duZXJzaGlwKCkpCn0odC5nZXRBbGwuYmluZCh0KSx0LmxheW91dCx0LmNoYXJ0c1N3YXBwZWQoKSx0LmNoYXJ0V2lkZ2V0Q3JlYXRlZCgpKTt0LmFkZEN1c3RvbVNvdXJjZSgiYnJhbmRpbmciLCgoaSxzKT0+e2NvbnN0IGE9KDAsby5jb21iaW5lKSgoKHQsZSk9Pntjb25zdCBpPXQ/P2U7cmV0dXJuIG51bGwhPT1pJiZpLmhhc01vZGVsKCkmJmkubW9kZWwoKS5tb2RlbCgpPT09c30pLHQubWF4aW1pemVkQ2hhcnRXaWRnZXQoKS53ZWFrUmVmZXJlbmNlKCksZS5vd25lcnNoaXAoKSk7cmV0dXJuIG5ldyBidChpLHMsYS5vd25lcnNoaXAoKSl9KSxhLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpfX0sODM5NDEyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2VuYWJsZTooKT0+cixyZWZlcmVuY2VUb1RyYWRpbmdWaWV3OigpPT5ofSk7dmFyIG89aSgzODY5MzEpLHM9aSg2MDE1ODcpLGE9aSg5MzAyMzEpO2xldCBuO2Z1bmN0aW9uIHIodCxlKXtuPXQsZT1lfHwiYWdncmVzc2l2ZSIsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fcG9saWN5XyIrZSksKDAsby50cmFja0V2ZW50KSgiUmVmZXJyYWwgcHJvZ3JhbSBlbmFibGVkIixlKX1mdW5jdGlvbiBoKCl7Y29uc3QgdD0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIjtyZXR1cm4gbj90KyI/YWZmX2lkPSIrbisiJiIrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITEpOnQrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITApfX0sMzE5ODcyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldExvY2FsaXplZERvbWFpbjooKT0+cyxnZXRMb2NhbGl6ZWREb21haW5Vcmw6KCk9PmF9KTtjb25zdCBvPXthcl9BRToiYXIiLGRlX0RFOiJkZSIsZW46Ind3dyIsZXM6ImVzIixjYV9FUzoiZXMiLGZhX0lSOiJ3d3ciLGZyOiJmciIsaGVfSUw6ImlsIixpZDoiaWQiLGluOiJpbiIsaXQ6Iml0IixqYToianAiLGtyOiJrciIsbXNfTVk6Im15IixwbDoicGwiLGJyOiJiciIscnU6InJ1Iixzdl9TRToic2UiLHRoX1RIOiJ0aCIsdHI6InRyIix1azoidWsiLHZpX1ZOOiJ2biIsemhfQ046ImNuIix6aF9UVzoidHcifTtmdW5jdGlvbiBzKHQpe3JldHVybiBvW3RdfHwid3d3In1mdW5jdGlvbiBhKHQsZSl7Y29uc3QgaT1zKGUpLG89dC50b1N0cmluZygpLGE9YCR7dC5wYXRobmFtZX0ke3Quc2VhcmNofSR7dC5oYXNofWAsbj0vXmh0dHBzOlwvXC8oW1x3LV0rKVwueHN0YWdpbmcoLXdpZGdldCk/XC50di87cmV0dXJuL15odHRwczpcL1wvKChcdyotKT8oYmV0YXxiZXRhMCkpXC50cmFkaW5ndmlld1wuY29tLy50ZXN0KG8pPyJ3d3ciPT09aT9gaHR0cHM6Ly9iZXRhLnRyYWRpbmd2aWV3LmNvbSR7YX1gOmBodHRwczovLyR7aX0tYmV0YS50cmFkaW5ndmlldy5jb20ke2F9YDpuLnRlc3Qobyk/by5yZXBsYWNlKG4sImh0dHBzOi8vJDEueHN0YWdpbmcudHYiKTovXC9sb2NhbGhvc3QvLnRlc3Qobyk/bzovXmh0dHBzOlwvXC8oXHcrXC4pP3RyYWRpbmd2aWV3XC5jb20vLnRlc3Qobyk/YGh0dHBzOi8vJHtpfS50cmFkaW5ndmlldy5jb20ke2F9YDpvfX0sMzY0MTg4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnN9KTt2YXIgbz1pKDMxOTg3Mik7ZnVuY3Rpb24gcyh0KXtyZXR1cm4oMCxvLmdldExvY2FsaXplZERvbWFpbikodCkrIi50cmFkaW5ndmlldy5jb20ifX0sNjAxNTg3KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PnIsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmgsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPWkoNDkyNjc3KSxzPWkoNjQxNTkzKTtjb25zdCBhPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9e307cmV0dXJuIGEuZm9yRWFjaCgoaT0+e2NvbnN0IG89dFtpXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKGVbaV09KDAscy5odG1sRXNjYXBlKShvKSl9KSksZX1mdW5jdGlvbiByKHQsZT0hMSl7Y29uc3QgaT0oMCxvLmNyZWF0ZVVybFBhcmFtcykodCk7cmV0dXJuIGkmJmU/Ij8iK2k6aX1mdW5jdGlvbiBoKHQpe3JldHVybiByKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLHQpfX0sNTk1ODAwKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAxOSIgd2lkdGg9IjIyIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSIjMTMxNzIyIiBkPSJNOSA0SDB2NGg1djdoNFY0Wm04IDExaC01bDQuNS0xMWg1TDE3IDE1Wm0tNS03YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNFoiLz48L3N2Zz4nfSw4Nzc5NzkodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM1IDE5IiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMCAwaDE2djFhNC45OCA0Ljk4IDAgMCAxIDYuOS44N0wyMy42NSAwaDExLjNsLTcuNiAxOUg2di05SDBWMFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWk0yNiAxN2gtN2w2LTE1aDdsLTYgMTVaTTE5IDhhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvc3ZnPid9LDcyMTY0Nih0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwIDE5IiB3aWR0aD0iNTAiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTAuNjUgMGgzOS4zbC03LjYgMTlILjA1TDYgNGgzLjA1bDEuNi00WiIvPjxwYXRoIGZpbGw9ImxpZ2h0Z3JheSIgZD0ibTYgMTcgNi0xNWgzNWwtNiAxNUg2WiIvPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTkuMTUgNS45YzEuNDQgMCAyLjQ5IDEuMDQgMi40OSAyLjM5cy0xLjA1IDIuMzktMi40OSAyLjM5aC0uOTFWMTNoLTEuNDVWNS45aDIuMzZabS0uMDIgMy40MmMuNjYgMCAxLjEtLjQ1IDEuMS0xLjAzIDAtLjU4LS40NC0xLjAzLTEuMS0xLjAzaC0uODl2Mi4wNmguODlaTTIzLjQgMTNWNS45aDIuNzJjMS4zMyAwIDIuMTguOTIgMi4xOCAyLjEgMCAuOTUtLjUyIDEuNTUtMS40NiAxLjg1TDI5LjM5IDEzaC0xLjc1bC0yLjQzLTIuOTloLS4zNlYxM0gyMy40Wm0xLjQ1LTQuMjNoMS4xYy41NCAwIC45LS4yOS45LS43NyAwLS40OS0uMzYtLjc3LS45LS43N2gtMS4xdjEuNTRabTEyLjUuNjhhMy42NyAzLjY3IDAgMSAxLTcuMzQgMCAzLjY3IDMuNjcgMCAwIDEgNy4zNCAwWm0tNS44OCAwYzAgMS4yNC45NyAyLjI3IDIuMiAyLjI3YTIuMjQgMi4yNCAwIDAgMCAyLjIyLTIuMjdjMC0xLjI0LS45Ny0yLjI3LTIuMjEtMi4yN2EyLjI0IDIuMjQgMCAwIDAtMi4yMSAyLjI3WiIvPjwvc3ZnPid9LDM5MjIyMyh0KXt0LmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgODkgMTkiIHdpZHRoPSI4OSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iIzEzMTcyMiIgZD0iTTY3LjI1IDQuOWMwIC43My0uNiAxLjMyLTEuMzcgMS4zMi0uNzMgMC0xLjM2LS41OS0xLjM2LTEuMzEgMC0uNzIuNjMtMS4zMSAxLjM2LTEuMzEuNzYgMCAxLjM3LjU5IDEuMzcgMS4zWk02Ni45OCAxNWgtMi4yVjYuOTZoMi4yVjE1Wk0zMy41MiA2LjI0Yy43NyAwIDEuMzctLjU5IDEuMzctMS4zIDAtLjczLS42LTEuMzItMS4zNy0xLjMyLS43MyAwLTEuMzUuNTktMS4zNSAxLjMxIDAgLjcyLjYyIDEuMzEgMS4zNSAxLjMxWk0zMi4zOSAxNWgyLjJWNi45NmgtMi4yVjE1Wk01LjE1IDE1aC0yLjJWNi4yMkgwdi0yLjJoOC4xdjIuMkg1LjE1VjE1Wk0xMC4zIDE1bC0yLjIuMDFWNi45NmgyLjJ2MS4zOWMuMjctLjc0IDEtMS4zIDEuODYtMS4zaC4wM2MuMjIgMCAuNDQgMCAuNy4wN3YyLjFjLS4zNC0uMS0uNjItLjE1LS45OC0uMTUtMSAwLTEuNi43NC0xLjYgMS45OVYxNVpNMzguMjcgMTVoLTIuMlY2Ljk3bDIuMi0uMDF2LjczYy40My0uNiAxLjEzLS44OSAyLjE0LS44OSAxLjg5IDAgMy4wMSAxLjMzIDMuMDEgMy4yOFYxNWgtMi4ydi00LjM2YzAtMS4wOS0uNDItMS45Ni0xLjMtMS45Ni0xIDAtMS42NS42OC0xLjY1IDIuMTNWMTVaTTU5LjQ3IDE1bDQuNTctMTAuOTloLTIuNThsLTIuOTQgNy43My0zLjMyLTcuNzNoLTIuNTdMNTcuMjYgMTVoMi4yMVpNODYuNDUgMTVoLTIuMTZsLTEuNDgtNC41NEw4MS4zMyAxNWgtMi4xNWwtMi42My04LjA0aDIuMzFsMS41IDUuMTggMS42LTUuMThoMS42N2wxLjYyIDUuMTggMS40OC01LjE4aDIuMzNMODYuNDUgMTVaTTE2Ljg3IDE1LjIzYzEuMTIgMCAxLjktLjU2IDIuMjctMS4wOHYuOWgyLjJ2LTguMWgtMi4ydi45MmEyLjc4IDIuNzggMCAwIDAtMi4yNy0xLjA5Yy0yLjE1IDAtMy44IDEuOTQtMy44IDQuMjMgMCAyLjI4IDEuNjUgNC4yMiAzLjggNC4yMlptLjQ3LTIuMDJjLTEuMjMgMC0yLjA0LS45Mi0yLjA0LTIuMiAwLTEuMjguOC0yLjIgMi4wNC0yLjIgMS4yMyAwIDIuMDQuOTIgMi4wNCAyLjIgMCAxLjI4LS44MSAyLjItMi4wNCAyLjJaTTI4LjcgMTQuMTVhMi43OCAyLjc4IDAgMCAxLTIuMjYgMS4wOGMtMi4xNiAwLTMuOC0xLjk0LTMuOC00LjIyIDAtMi4yOSAxLjY0LTQuMjMgMy44LTQuMjMgMS4xMSAwIDEuOS41NyAyLjI3IDEuMDlWNC4wMmgyLjJ2MTEuMDNoLTIuMnYtLjlaTTI0Ljg4IDExYzAgMS4yOC44IDIuMiAyLjA0IDIuMiAxLjIzIDAgMi4wNC0uOTIgMi4wNC0yLjIgMC0xLjI4LS44MS0yLjItMi4wNC0yLjJzLTIuMDQuOTItMi4wNCAyLjJaTTQ4Ljc1IDE4LjZjMi40NyAwIDQuMjUtMS4yNiA0LjI1LTQuMThWNi45NmgtMi4yMXYuOWEyLjY1IDIuNjUgMCAwIDAtMi4yNS0xLjA4Yy0yLjEzIDAtMy44MyAxLjgxLTMuODMgNC4xIDAgMi4yNiAxLjcgNC4xNyAzLjgzIDQuMTdhMi44IDIuOCAwIDAgMCAyLjI1LTEuMTZ2LjU1YzAgMS4zLS43NiAyLjIyLTIuMDggMi4yMi0uOSAwLTEuODEtLjMxLTIuNTItMWwtMS4yMiAxLjY0Yy45My45IDIuMzcgMS4zIDMuNzggMS4zWm0uMjYtNS42NWEyLjAyIDIuMDIgMCAwIDEtMi4wNi0yLjA3YzAtMS4yNS45NC0yLjA4IDIuMDUtMi4wOCAxLjEyIDAgMi4wNi44MyAyLjA2IDIuMDggMCAxLjIzLS45NCAyLjA3LTIuMDUgMi4wN1pNNzYuMzkgMTMuMzhhNC40IDQuNCAwIDAgMS0zLjc2IDEuODFjLTIuNDEgMC00LjI5LTEuNjctNC4yOS00LjIyIDAtMi40IDEuOC00LjIzIDQuMjYtNC4yMyAyLjEyIDAgMy45OCAxLjM0IDMuOTggMy45OHYuMTJjMCAuMTkuMDEuNDQtLjAzLjcySDcwLjVjLjEzIDEuMDggMS4wOSAxLjYgMi4xNiAxLjZhMi40IDIuNCAwIDAgMCAyLjA5LTEuMDFsMS42NSAxLjIzWm0tMy44Ni00LjhjLS44MiAwLTEuNzQuNDEtMS45NSAxLjRoMy43OGMtLjE5LS45Ny0xLTEuNC0xLjgzLTEuNFoiLz48L3N2Zz4nfSwzMzMzMTgodCl7CnQuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMSAxMjYgMjQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNzYgMTMuOHYzLjM0YzAgMi40LS43NCA0LjQyLTIuMjggNS44YTguMDIgOC4wMiAwIDAgMS01LjUgMS44OGMtMi4yMSAwLTQuNzUtLjYzLTYuNS0yLjMybC0xLjI3LTEuMjIuOTUtMS4yOEgzOS42NEE2Ljc3IDYuNzcgMCAwIDEgMzMgMTguMTRWMjBoLTYuMzZjLS41Mi4xNS0xLjEuMjQtMS43Mi4yNC0zLjUyIDAtNi4xMy0yLjU4LTYuOTItNS43MlYyMEg0VjhIMFYxaDE1djRoM3YuMTZjLjE3LS4wMi4zNS0uMDMuNTItLjAzaC4wOGMuMyAwIC44MyAwIDEuNDUuMTdsMS40LjRhNi43IDYuNyAwIDAgMSA1LjItLjdIMzN2MS44NmE2Ljc3IDYuNzcgMCAwIDEgNi0yVjFoNi41OWEzLjg4IDMuODggMCAwIDEgMS45NS0uNTNBMy44MiAzLjgyIDAgMCAxIDUxLjMzIDVsMy44LS4wMWMuNTctLjE1IDEuMTctLjIxIDEuNzgtLjIxYTUuODggNS44OCAwIDAgMSA1LjI2IDNBNy4wMSA3LjAxIDAgMCAxIDY5LjcgNWgyLjVsLTEuNzQtNGg3Ljg3bDMuMDcgNy4xN0w4NC4xMiAxaDUuMzhjLjYtLjM2IDEuMjktLjU2IDItLjU2YTMuODIgMy44MiAwIDAgMSAzLjg3IDMuNzdBMy43IDMuNyAwIDAgMSA5NSA1LjgzdjEuMThhNy43NiA3Ljc2IDAgMCAxIDUuNjMtMi4zYy45IDAgMS44LjEzIDIuNjYuNDNsLS4wNC0uMTRoNy40bC42IDIuMDcuNjMtMi4wN2g1LjIxbC42NSAyLjA3LjU5LTIuMDdoNy40MmwtNC44NCAxNWgtNS44NGwtLjU2LTEuNzItLjU1IDEuNzJoLTUuODRsLS45Mi0yLjgzYTggOCAwIDAgMS02LjUyIDMuMDJBNy45MiA3LjkyIDAgMCAxIDk1IDE3LjkyVjIwaC03di05LjEyTDg0LjM1IDIwSDc4LjdMNzYgMTMuOFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik05My4zNyA0LjIxYzAgLjk5LS44MyAxLjc4LTEuODcgMS43OC0xIDAtMS44NC0uOC0xLjg0LTEuNzhzLjg1LTEuNzcgMS44NC0xLjc3YzEuMDQgMCAxLjg3LjggMS44NyAxLjc3Wk05MyAxOGgtM1Y3aDN2MTFaTTQ3LjU0IDYuMDJjMS4wNCAwIDEuODctLjggMS44Ny0xLjc3IDAtLjk5LS44My0xLjc4LTEuODctMS43OC0xIDAtMS44NC44LTEuODQgMS43OHMuODUgMS43NyAxLjg0IDEuNzdaTTQ2IDE4aDNWN2gtM3YxMVpNOSAxOEg2VjZIMlYzaDExdjNIOXYxMlpNMTYgMThsLTMgLjAyVjdoM3YxLjg5Yy4zNi0xIDEuMzQtMS43NiAyLjUzLTEuNzZoLjAzYy4zIDAgLjYgMCAuOTQuMXYyLjg0YTQgNCAwIDAgMC0xLjMxLS4yYy0xLjM4IDAtMi4xOSAxLTIuMTkgMi43VjE4Wk01NCAxOGgtM1Y3LjAxTDU0IDd2MWMuNTctLjgyIDEuNTMtMS4yMSAyLjktMS4yMSAyLjU3IDAgNC4xIDEuOCA0LjEgNC40NVYxOGgtM3YtNmMwLTEuNDctLjU2LTIuNjYtMS43Ny0yLjY2LTEuMzYgMC0yLjIzLjkzLTIuMjMgMi44OVYxOFpNODMgMThsNi0xNWgtMy41bC00IDEwLjVMNzcgM2gtMy41TDgwIDE4aDNaTTExOS40NSAxOGgtMi45M2wtMi4wMi02LjI1LTIgNi4yNWgtMi45M0wxMDYgN2gzLjE0bDIuMDUgNy4wNEwxMTMuMzYgN2gyLjI2bDIuMiA3LjA0TDExOS44MyA3SDEyM2wtMy41NSAxMVpNMjQuOTIgMTguMjRjMS41MiAwIDIuNTctLjc3IDMuMDgtMS40N1YxOGgzVjdoLTN2MS4yM2EzLjc4IDMuNzggMCAwIDAtMy4wOC0xLjQ3Yy0yLjkzIDAtNS4xNyAyLjY0LTUuMTcgNS43NHMyLjI0IDUuNzQgNS4xNyA1Ljc0Wm0uNjQtMi43NWMtMS42OCAwLTIuNzgtMS4yNS0yLjc4LTIuOTkgMC0xLjc0IDEuMS0zIDIuNzgtMyAxLjY3IDAgMi43NyAxLjI2IDIuNzcgM3MtMS4xIDMtMi43NyAzWk00MSAxNi43N2MtLjUuNy0xLjU2IDEuNDctMy4wOCAxLjQ3LTIuOTMgMC01LjE3LTIuNjQtNS4xNy01Ljc0czIuMjQtNS43NCA1LjE3LTUuNzRjMS41MiAwIDIuNTcuNzcgMy4wOCAxLjQ3VjNoM3YxNWgtM3YtMS4yM1ptLTUuMjItNC4yN2MwIDEuNzQgMS4xIDMgMi43OCAzIDEuNjcgMCAyLjc3LTEuMjYgMi43Ny0zcy0xLjEtMy0yLjc3LTNjLTEuNjggMC0yLjc4IDEuMjYtMi43OCAzWk02OC4yMyAyMi44MmMzLjM2IDAgNS43Ny0xLjcyIDUuNzctNS42OFY3aC0zdjEuMjNhMy42IDMuNiAwIDAgMC0zLjA2LTEuNDdjLTIuODggMC01LjIgMi40Ni01LjIgNS41NiAwIDMuMDggMi4zMiA1LjY4IDUuMiA1LjY4QTMuOCAzLjggMCAwIDAgNzEgMTYuNDJ2Ljc0YzAgMS43Ni0xLjA0IDMuMDItMi44MiAzLjAyYTQuODQgNC44NCAwIDAgMS0zLjQzLTEuMzdsLTEuNjUgMi4yNWMxLjI1IDEuMiAzLjIxIDEuNzYgNS4xMyAxLjc2Wm0uMzUtNy42OGEyLjc1IDIuNzUgMCAwIDEtMi44LTIuODJjMC0xLjY5IDEuMjgtMi44MSAyLjgtMi44MSAxLjUyIDAgMi44IDEuMTIgMi44IDIuODFhMi43NSAyLjc1IDAgMCAxLTIuOCAyLjgyWk0xMDUuNzggMTUuNzJhNS45NiA1Ljk2IDAgMCAxLTUuMSAyLjQ3Yy0zLjI4IDAtNS44My0yLjI3LTUuODMtNS43NGE1LjYyIDUuNjIgMCAwIDEgNS43OC01Ljc1YzIuODkgMCA1LjQyIDEuODMgNS40MiA1LjQyYTYuMDEgNi4wMSAwIDAgMS0uMDQgMS4xM2gtOC4yNGMuMTggMS40NyAxLjQ4IDIuMTkgMi45MyAyLjE5IDEuMzkgMCAyLjMzLS42MiAyLjg0LTEuMzlsMi4yNCAxLjY3Wm0tNS4yMy02LjUzYy0xLjEzIDAtMi4zOC41Ny0yLjY3IDEuOTFoNS4xNWMtLjI2LTEuMzItMS4zNi0xLjkxLTIuNDgtMS45MVoiLz48L3N2Zz4nfSw0MjI3MTEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQwIDMyIiB3aWR0aD0iNDAiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTYgMjVIOVYxNEgyVjdoMTR2MThaTTM3LjUgNyAzMCAyNWgtOGw3LjUtMThoOFpNMjIgMTVhNCA0IDAgMSAwIDAtOCA0IDQgMCAwIDAgMCA4WiIvPjwvc3ZnPid9LDU5MjE1NSh0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDg5IDMyIiB3aWR0aD0iODkiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxnIGZpbGw9IiMxMzE3MjIiIGNsaXAtcGF0aD0idXJsKCNhKSI+PHBhdGggZD0iTTcuNDg1IDI1Ljk0N0g5LjR2LTcuNTA1aDIuNTA2di0xLjgxSDUuMDA1djEuODFoMi40OHY3LjUwNVpNMTEuOTEgMjUuOTQ3aDEuNzk3di0zLjEzNmMwLTEuMDg5LjU2NC0xLjc0NSAxLjQxNy0xLjc0NS4zMDIgMCAuNTM4LjA1My44MTMuMTQ1di0xLjgyNGEyLjAxMSAyLjAxMSAwIDAgMC0uNjAzLS4wNzljLS43MzUgMC0xLjQwNC40ODYtMS42MjcgMS4xMjl2LTEuMDVoLTEuNzk4djYuNTZaTTE5LjM4OCAyNi4wOTJjLjkwNSAwIDEuNTg3LS40NiAxLjg4OS0uODh2LjczNWgxLjc5OHYtNi41NmgtMS43OTh2LjczNWMtLjMwMi0uNDItLjk4NC0uODgtMS44OS0uODgtMS43NDUgMC0zLjA4MyAxLjU3NS0zLjA4MyAzLjQyNSAwIDEuODUgMS4zMzggMy40MjUgMy4wODQgMy40MjVabS4zOC0xLjY0Yy0uOTk3IDAtMS42NTMtLjc0OC0xLjY1My0xLjc4NSAwLTEuMDM2LjY1Ni0xLjc4NCAxLjY1My0xLjc4NHMxLjY1My43NDggMS42NTMgMS43ODRjMCAxLjAzNy0uNjU2IDEuNzg1LTEuNjUzIDEuNzg1Wk0yNy4zNTQgMjYuMDkyYy45MDYgMCAxLjU4OC0uNDYgMS44OS0uODh2LjczNWgxLjc5N3YtOS44NGgtMS43OTd2NC4wMTVjLS4zMDItLjQyLS45ODQtLjg4LTEuODktLjg4LTEuNzQ1IDAtMy4wODMgMS41NzUtMy4wODMgMy40MjUgMCAxLjg1IDEuMzM4IDMuNDI1IDMuMDgzIDMuNDI1Wm0uMzgtMS42NGMtLjk5NiAwLTEuNjUyLS43NDgtMS42NTItMS43ODUgMC0xLjAzNi42NTYtMS43ODQgMS42NTMtMS43ODRzMS42NTMuNzQ4IDEuNjUzIDEuNzg0YzAgMS4wMzctLjY1NiAxLjc4NS0xLjY1MyAxLjc4NVpNMzMuNTUgMTguMzExYy42NDMgMCAxLjE1NS0uNTEyIDEuMTU1LTEuMTQyIDAtLjYzLS41MTItMS4xNDEtMS4xNTUtMS4xNDFhMS4xNSAxLjE1IDAgMCAwLTEuMTQyIDEuMTQyYzAgLjYzLjUyNSAxLjE0MSAxLjE0MiAxLjE0MVptLS44OTIgNy42MzZoMS43OTd2LTYuNTZoLTEuNzk3djYuNTZaTTM2LjA1IDI1Ljk0N2gxLjc5OHYtMy4yMDFjMC0xLjI2LjYxNy0xLjg2MyAxLjQ1Ni0xLjg2My43NDggMCAxLjE1NS41NzcgMS4xNTUgMS41MjJ2My41NDJoMS43OTd2LTMuODQ0YzAtMS43MDYtLjk0NC0yLjg2LTIuNTMyLTIuODYtLjg1MyAwLTEuNTIyLjM2Ny0xLjg3Ni44OTJ2LS43NDhIMzYuMDV2Ni41NlpNNDYuODMgMjQuMjQyYy0uOTA0IDAtMS42NjYtLjY4My0xLjY2Ni0xLjY4IDAtMS4wMS43NjEtMS42OCAxLjY2Ny0xLjY4LjkwNSAwIDEuNjY2LjY3IDEuNjY2IDEuNjggMCAuOTk3LS43NiAxLjY4LTEuNjY2IDEuNjhabS0uMjEgNC41NzljMi4wMDggMCAzLjUzLTEuMDI0IDMuNTMtMy4zODV2LTYuMDVoLTEuNzk3di43MzZjLS4zNTQtLjUxMi0xLjA2My0uODgtMS45MDMtLjg4LTEuNzE5IDAtMy4wOTYgMS40Ny0zLjA5NiAzLjMyIDAgMS44MzcgMS4zNzcgMy4zMDcgMy4wOTYgMy4zMDcuODQgMCAxLjU0OS0uMzggMS45MDMtLjg2NnYuNDQ2YzAgMS4wNS0uNjk2IDEuNzk3LTEuNzU4IDEuNzk3LS43MzUgMC0xLjQ3LS4yNDktMi4wNDctLjgxM2wtLjk4NCAxLjMzOGMuNzQ4LjcyMiAxLjkxNSAxLjA1IDMuMDU3IDEuMDVaTTUzLjk1MSAyNS45NDdoMS42OTNsMy44NTctOS4zMTZoLTIuMWwtMi41OTcgNi40Ny0yLjYzNy02LjQ3aC0yLjA2bDMuODQ0IDkuMzE2Wk02MS4xNSAxOC4zMTFjLjY0NCAwIDEuMTU1LS41MTIgMS4xNTUtMS4xNDIgMC0uNjMtLjUxMS0xLjE0MS0xLjE1NC0xLjE0MWExLjE1IDEuMTUgMCAwIDAtMS4xNDIgMS4xNDJjMCAuNjMuNTI1IDEuMTQxIDEuMTQyIDEuMTQxWm0tLjg5MiA3LjYzNmgxLjc5OHYtNi41NmgtMS43OTh2Ni41NlpNNjYuNzA4IDI2LjA5MmMxLjM3OCAwIDIuNDI3LS41NzggMy4wNDQtMS40N2wtMS4zMzgtLjk5N2MtLjMwMi40Ni0uODY2LjgyNy0xLjY5My44MjctLjg2NiAwLTEuNjQtLjQ4Ni0xLjc0NS0xLjM2NWg0LjkwN2MuMDQtLjI3Ni4wMjYtLjQ2LjAyNi0uNjE3IDAtMi4xMzgtMS41MDgtMy4yMjctMy4yMjctMy4yMjctMS45OTUgMC0zLjQ1MSAxLjQ4Mi0zLjQ1MSAzLjQyNCAwIDIuMDczIDEuNTIyIDMuNDI1IDMuNDc3IDMuNDI1Wm0tMS42NjYtNC4yMjVjLjE3LS44LjkxOC0xLjE0MiAxLjU4Ny0xLjE0Mi42NyAwIDEuMzI1LjM1NCAxLjQ4MyAxLjE0MmgtMy4wN1pNNzYuNjQ0IDI1Ljk0N2gxLjc4NGwyLjE2NS02LjU2aC0xLjkyOGwtMS4yMzQgNC4xOTktMS4zMzgtNC4yaC0xLjM3OGwtMS4zMjUgNC4yLTEuMjQ2LTQuMmgtMS45MTZsMi4xNzggNi41NjFoMS43ODRsMS4yMi0zLjcyNiAxLjIzNCAzLjcyNlpNNi45MjQgMTJWNi44ODZINS4xNjJ2LS45NThoNC41MzN2Ljk1OGgtMS43N1YxMmgtMVptMy4zMyAwVjUuOTI4aDIuMTljMS4xMjkgMCAxLjgzOS43MjcgMS44MzkgMS43MjcgMCAuODU2LS41MDUgMS40MTItMS4zNzcgMS42MTdMMTUuMTY0IDEyaC0xLjIzMmwtMi4yMjQtMi42NjhoLS40NTNWMTJoLTFabTEuMDAxLTMuNTRoMS4wN2MuNTkgMCAuOTU3LS4yODMuOTU3LS44MDUgMC0uNTIxLS4zNjgtLjgwNC0uOTU4LS44MDRoLTEuMDY5VjguNDZabTMuNDYgMy41NCAyLjY1MS02LjA3MmguODcyTDIwLjg5IDEyaC0xLjA0NGwtLjY5Mi0xLjU5aC0yLjcyTDE1Ljc1IDEyaC0xLjAzNVptMi4xMDQtMi40OGgxLjk1bC0uOTc1LTIuMjUtLjk3NSAyLjI1Wm00LjUxIDIuNDhWNS45MjhoMS44NjVjMS44MDUgMCAzLjE4MiAxLjMxNyAzLjE4MiAzLjAzNlMyNC45OTkgMTIgMjMuMTk0IDEySDIxLjMzWm0xLjAwMi0uOTMyaC44NjNjMS4zIDAgMi4xNjQtLjkxNSAyLjE2NC0yLjEwNHMtLjg2NC0yLjEwNC0yLjE2NC0yLjEwNGgtLjg2M3Y0LjIwOFptNC44MDQuOTMyVjUuOTI4aDMuNjUydi45NThoLTIuNjUydjEuNTU2aDIuMTM4VjkuNGgtMi4xMzh2MS42NDJoMi42NTJWMTJoLTMuNjUyWm0xMi4wMjMtMy4wMzZhMy4xMjQgMy4xMjQgMCAwIDEtMy4xMzggMy4xMzkgMy4xMiAzLjEyIDAgMCAxLTMuMTM5LTMuMTQgMy4xMiAzLjEyIDAgMCAxIDMuMTM5LTMuMTM4IDMuMTI0IDMuMTI0IDAgMCAxIDMuMTM4IDMuMTM5Wm0tNS4yNjggMGMwIDEuMjA2LjkyNCAyLjE3MiAyLjEzIDIuMTcyIDEuMTk3IDAgMi4xMi0uOTY2IDIuMTItMi4xNzIgMC0xLjIwNi0uOTIzLTIuMTcyLTIuMTItMi4xNzItMS4yMDYgMC0yLjEzLjk2Ni0yLjEzIDIuMTcyWk00NS4yMDggMTJoLS44NzJsLTMuNDIxLTQuMzdWMTJoLTFWNS45MjhoLjg3MmwzLjQxMiA0LjM1M1Y1LjkyOGgxLjAxVjEyWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoODl2MzJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nCn19XSk7"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15634.9ff500f40c3ec2496a9d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.854Z","timestamp":1785124876854,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15634.9ff500f40c3ec2496a9d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-7a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ed509afea9b082a0075e64961ddb1c33\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1958,"size_decoded":1433,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1958), with no line terminators","md5":"1fe59f1cabe116d4c360e360391910cf","sha1":"6005a9d280a7661b640624f5309d0059e00f57a4","sha256":"4cac2a96f86db5b5ea7cc505de00925b8dff9a9b88157d33fa0832d728ab2d06","sha512":"4ce34a33edf60063dc9b5a69446b4f0f5b1870f1fa2980b7306e02ea292d73a9f2773611581f28e96d6bbf7d8c35367b6e71c21cc38b5073b921728dc3ced4b9","ssdeep":"","tlshash":"ef41545553f6b277e6b3453c6eaeb6944fb4403fab31168cb990e13847ef5500344d40","first_seen":"2026-07-22T16:00:00.46556Z","last_seen":"2026-07-27T06:14:34.184174Z","times_seen":155,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T04:01:14.134Z","timestamp":1785124874134,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: berthenergy-inc.biz\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\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:14 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 8050\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\nset-cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0\nPHPSESSID=b01e85924b98011c47b0c565ada27c29; path=/; domain=berthenergy-inc.biz; HttpOnly\r\nvary: Accept-Encoding,User-Agent\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","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"]},{"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":"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":"particles.js","description":"Particles.js is a JavaScript library for creating particles.","website":"https://github.com/VincentGarreau/particles.js","common_platform_enumeration":"","icon":"","categories":["JavaScript graphics"]}],"data":{"size":45463,"size_decoded":8536,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (1549)","md5":"af9fd7bee8a99f448f5492f36cae82d6","sha1":"51ede8add8769813f1ea7e181c80f4c75b6e33f2","sha256":"3acedd52f9f10aa128b3df50d427631083fa765efbe76748cccf13b5b054653a","sha512":"1950811880a9ae90ffefd722efdc8ccdb198c764e3259d900ebc9626fafaf55c7afd4d54e0c8fd4c7440c0b5bda4139383c213b88855a3204b71eb0162ad1a76","ssdeep":"768:iXjP+oOUwPIyuvpSQcmNoKhQq/kXV0iW/MIYJtCte8LBI8S8F8yFKFty:2QqcxW/MIYJtOQTy","tlshash":"d8132d3198f5006351a3d0c5ba716b6b2f82ea5bc61b8a4576fc0b9c5fc3d86ec6360d","first_seen":"2026-07-27T03:24:36.839431Z","last_seen":"2026-07-27T04:03:29.959918Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiB4bWw6bGFuZz0iZW4iPiAgICAKPGhlYWQ+ICAgICAgIAogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPiAKICAgCiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0ibW9zdCBwb3B1bGFyIGNyeXB0byBjdXJyZW5jaWVzLGNyeXB0b2N1cnJlbmN5LHRvcCBjcnlwdG8gY3VycmVuY3kgZXhjaGFuZ2VzLG1vc3QgcHJvZml0YWJsZSBiaXRjb2luIG1pbmluZyBwb29sLHR5cGVzIG9mIGNyeXB0byBjdXJyZW5jaWVzLG9pbnMgb25saW5lLGJ1eSBiaXRjb2lucyB3aXRoIGNyZWRpdCBjYXJkLGJpdGNvaW4sd2hhdCBhcmUgYml0Y29pbnMsaG93IHRvIGJ1eSBiaXRjb2luIHN0b2NrLGJ1eSBiaXRjb2lucyBpbnN0YW50bHksYml0Y29pbiBkb2xsYXIgZXhjaGFuZ2UgcmF0ZSxpcyBiaXRjb2luIG1pbmluZyB3b3J0aCBpdCxiaXRjb2luIHZhbHVlIGNoYXJ0LGhvdyBtdWNoIGlzIDEgYml0Y29pbixiaXRjb2luIHZhbHVlIHVzZCxiaXRjb2luIGRvbGxhciBjaGFydCxiaXRjb2luIHRvIHVzZCxiaXRjb2luIHZhbHVlIHByb2plY3Rpb25zLGVhc2llc3Qgd2F5IHRvIGJ1eSBiaXRjb2lucyxiZXN0IHdheSB0byBidXkgYml0Y29pbnMsYmVzdCBwbGFjZSB0byBidXkgYml0Y29pbnMsYnV5IGJ0YyB3aXRoIGNyZWRpdCBjYXJkLGJ1eSBiaXRjb2lucyB3aXRoIGRlYml0IGNhcmQsaG93IHRvIGJ1eSBiaXRjb2lucyBmb3IgZHVtbWllcyxiZXN0IHdheSB0byBnZXQgYml0Y29pbnMsaG93IHRvIHB1cmNoYXNlIGJpdGNvaW5zLGhvdyB0byBidXkgYml0Y29pbnMsc3RvcmVzIHRoYXQgYWNjZXB0IGJpdGNvaW5zLHdoYXQgbWVyY2hhbnRzIHRha2UgYml0Y29pbnMsYml0Y29pbiBpbnZlc3RtZW50IGluZGlhLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBzb3V0aCBhZnJpY2EsYml0Y29pbiBpbnZlc3RtZW50IGluIGdoYW5hLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBkdWJhaSxpdGNvaW4gaW52ZXN0bWVudCBpbiBvbWFuLGJpdGNvaW4gaW52ZXN0bWVudCBpbiBsYWR5c21pdGgsYml0Y29pbiBpbnZlc3RtZW50IGluIHNpbmdhcG9yZSxiaXRjb2luIGludmVzdG1lbnQgaW4gYm90c3dhbmEsYml0Y29pbiBpbnZlc3RtZW50IGphcGFuLGJpdGNvaW4gaW52ZXN0bWVudCBqaW0gZGF2aWRzb24sYml0Y29pbiBpbnZlc3RtZW50IHN0cmF0ZWd5LGJpdGNvaW4gaW52ZXN0bWVudCBzY3JpcHQgcGhwLGJpdGNvaW4gaW52ZXN0bWVudCB0ZW1wbGF0ZSxiaXRjb2luIGludmVzdG1lbnQgdGVsZWdyYW0gZ3JvdXAsYml0Y29pbiBpbnZlc3RtZW50IHRlc3RpbW9uaWVzLGJpdGNvaW4gaW52ZXN0bWVudCB0cnVzdCBwcmljZSxpcyBiaXRjb2luIHZpYWJsZSBpbnZlc3RtZW50LCAjYnRjLCAjbW9uZXksICNldGhlcmV1bSwgI2ZvcmV4LCAjYml0Y29pbm1pbmluZywgI3RyYWRpbmcsICNpbnZlc3RtZW50LCAjYnVzaW5lc3MsICNmb3JleHRyYWRlciwgI2xpdGVjb2luLCAjdHJhZGVyLCAjYml0Y29pbmNhc2gsICNiaXRjb2lubmV3LHMgI2JpdGNvaW5zLCAjYmluYXJ5b3B0aW9ucywgI2VudHJlcHJlbmV1ciwgI2ludmVzdCwgI2NyeXB0b25ld3MsICNpbnZlc3RpbmcsICNiaXRjb2lucHJpY2UsICNldGgsICNjb2luYmFzZSwgI2ludmVzdG9yLCAjcmlwcGxlLCAjYmluYXIsIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iVHJ1c3RlZCBUcmFkaW5nIGNvbXBhbnkiIC8+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9OTIwIj4KCiAgICAKCgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSJpbWFnZXMvZmF2aWNvbi5wbmciIHR5cGU9ImltYWdlL3BuZyIgLz4gCiAgICA8c2NyaXB0PjA8L3NjcmlwdD4KICAgIDwhLS0gRm9udCBGYW1pbHkgLS0+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UFQrU2Fuczo0MDAsNzAwIiByZWw9InN0eWxlc2hlZXQiPiAKICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDMwMGksNDAwLDQwMGksNjAwLDYwMGksNzAwLDcwMGksODAwLDgwMGkiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczozMDAsNDAwLDUwMCw2MDAsNzAwLDgwMCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDwhLS0gV2Vic2l0ZSBUaXRsZSAtLT4KICAgIDx0aXRsZT5iZXJ0aGVuZXJneS1pbmMuYml6PC90aXRsZT4KICAgIDwhLS0gU3R5bGVzaGVldHMgU3RhcnQgLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ZvbnQtYXdlc29tZS81LjE1LjQvY3NzL2FsbC5taW4uY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3Mvc3R5bGVzL2Jvb3RzdHJhcC5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvYW5pbWF0ZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvb3dsLmNhcm91c2VsLm1pbi5jc3MiIHR5cGU9InRleHQvY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZXMvc3R5bGVtYWluLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL3N0eWxlcy9yZXNwb25zaXZlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KICAgICA8IS0tIFN0eWxlc2hlZXRzIEVuZCAtLT4KICAgIDwhLS1baWYgbHQgSUUgOV0+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2h0bWw1c2hpdi8zLjcuMy9odG1sNXNoaXYuanMiPjwvc2NyaXB0PjwhW2VuZGlmXS0tPgogICAgPCEtLVtpZiBsdCBJRSA5XT48c2NyaXB0IHNyYz0ianMvcmVzcG9uZC5qcyI+PC9zY3JpcHQ+PCFbZW5kaWZdLS0+CiAgICAKPC9oZWFkPjxib2R5IGNsYXNzID0gJ3NpbmdsZS1wb3N0Jz4KICAgIDwhLS1NYWluIFdyYXBwZXIgU3RhcnQtLT4KICAgIDxkaXYgY2xhc3M9IndyYXBwZXIiIGlkPSJ0b3AiPgogICAgICAgIDwhLS1IZWFkZXIgU3RhcnQgLS0+CiAgICAgICAgPGhlYWRlcj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgbG9nbyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIuLyIgdGl0bGU9ImJlcnRoZW5lcmd5LWluYy5iaXoiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImxpZ2h0IiBzcmM9ImltYWdlcy9sb2dvLnBuZyIgYWx0PSJiZXJ0aGVuZXJneS1pbmMuYml6Ij4KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJkYXJrIiBzcmM9ImltYWdlcy9sb2dvLnBuZyIgaGVpZ2h0ID0gIjgwcHgiIGFsdD0iYmVydGhlbmVyZ3ktaW5jLmJpeiI+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOCBtYWluLW1lbnUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1pY29uIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9wIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1pZGRsZSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJib3R0b20iPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPG5hdiBjbGFzcz0ib25lcGFnZSI+CiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJhY3RpdmUiPjxhIGhyZWY9Ii4vIj5Ib21lPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1hYm91dCI+QWJvdXQgVXM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4vI3ByaWNpbmciPlRyYWRlPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1ydWxlcyI+TGVnYWw8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii4vI3RlYW0iPnRlYW08L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXN1cHBvcnQiPkNvbnRhY3Q8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtYnRuIj48YSBocmVmPSI/YT1sb2dpbiIgc3R5bGUgPSAiY29sb3I6I0ZGRDAxNzsgYm9yZGVyOjFweCBzb2xpZCAjRkZEMDE3Ij5TaWduIEluPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Imdvb2dsZV90cmFuc2xhdGVfZWxlbWVudCI+PC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCgpIHsKICAgICAgICBuZXcgZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHsKICAgICAgICAgICAgcGFnZUxhbmd1YWdlOiAnZW4nLAogICAgICAgICAgICBsYXlvdXQ6IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudC5JbmxpbmVMYXlvdXQuU0lNUExFCiAgICAgICAgfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCcpOwogICAgfQoKPC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3RyYW5zbGF0ZS5nb29nbGUuY29tL3RyYW5zbGF0ZV9hL2VsZW1lbnQuanM/Y2I9Z29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQiPjwvc2NyaXB0Pgo8c3R5bGU+CiAgICAuZ29vZy10ZS1nYWRnZXQgaW1nIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC5nb29nLXRlLWdhZGdldC1zaW1wbGUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgcGFkZGluZzogN3B4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICB9CiAgICAKICAgIC5nb29nLXRlLWdhZGdldC1zaW1wbGUgLmdvb2ctdGUtbWVudS12YWx1ZSBzcGFuewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgIH0KCjwvc3R5bGU+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbmF2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2hlYWRlcj4gICAgICAgIDwhLS1IZWFkZXIgRW5kLS0+CgogICAgICAgIDwhLS0gQ29udGVudCBTZWN0aW9uIFN0YXJ0IC0tPiAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1pZGQtY29udGFpbmVyIj4uCiAgICAgICAgICAgIDwhLS0gSGVybyBTZWN0aW9uIFN0YXJ0IC0tPiAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLW1haW4gZGlhbW9uZC1sYXlvdXQgd2hpdGUtc2VjIiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoaW1hZ2VzL3NsaWRlci5wbmcpO2hlaWdodDo3MDBweCAhaW1wb3J0YW50Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgc3R5bGUgPSAidGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjojMDAwMDAwIj5UcmFkZSB3aXRoIEJlcnRoZW5lcmd5IDxzcGFuIHN0eWxlID0gInRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7IGNvbG9yOiMwNUFBOUIiPmFzc2V0cywgdGhlIHNtYXJ0IHdheSwgaGFzc2xlLWZyZWU8L3NwYW4+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsZWFkIHRleHQtY2FwaXRhbGl6ZSIgc3R5bGUgPSAiY29sb3I6IzAwMDAwMCI+c21hcnQgdXNlcnMgYW5kIHN0YXJ0IFRyYWRpbmcgd2l0aCBCZXJ0aGVuZXJneSBhdCB0aGUgYmVzdCBhdmFpbGFibGUgcHJpY2UgYW55d2hlcmUgYXQgYW55IHRpbWUuIEEgdHJ1c3RlZCBhbmQgYWNjZXNzaWJsZSB3ZWFsdGggbWFuYWdlbWVudCBlY29lbmVyZ3kgcG93ZXJlZCBieSBibG9ja2NoYWluIHRlY2hub2xvZ3k8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZXJvLWJ0bnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9ImJ0biBidG40IiBzdHlsZSA9ICJib3JkZXItcmFkaXVzOjM3cHgiPkNSRUFURSBBQ0NPVU5UPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0iYnRuIGJ0bjUiIHN0eWxlID0gImJvcmRlci1yYWRpdXM6MzdweCI+TE9HSU48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBjb2wtbWQtNiIgZGF0YS13b3ctZGVsYXk9IjAuNXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbW9uZC1hbmltYXRpb24gbW9iaWxlLWhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbW9uZC1ncmlkIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWdyaWQtMiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0ZXItT3JiaXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJPcmJpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3RhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Ik9yYml0U3F1YXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXIiPkE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWNvaW4iPjxzcGFuPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGluZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtNyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtOCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtOSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMTAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsLTExIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibC0xMiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImwtMTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsLTE0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibC0xNSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5zaWRlLWJpdGNvaW4iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlzMiI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNxdWFyZS0xIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9iaWxlLXZpc2libGUgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGlhbW9uZC1hbmltYXRpb24tbW9iaWxlLnBuZyIgYWx0PSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIEhlcm8gU2VjdGlvbiBFbmQgLS0+CgogICAgICAgICAgICAgPCEtLSBibG9nIHNlY3Rpb24gLS0+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbnMiIGlkID0gInByaWNpbmciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZSA9ICJwYWRkaW5nOjdweCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPjxoMiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIiBzdHlsZSA9ICJtYXJnaW4tdG9wOjIwcHgiPlNtYXJ0IFRyYWRpbmcgUGxhbnM8L2gyPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyIgc3R5bGUgPSAicGFkZGluZzo3cHgiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbC1sZy00JyBzdHlsZSA9ICdib3JkZXI6NHB4IHNvbGlkICMwMDAwMDA7IHBhZGRpbmc6MTBweDsgYm9yZGVyLXJhZGl1czo3cHgnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3MgPSAndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+U1RBUlRFUjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQxMC4wMCA8c3BhbiBzdHlsZSA9ICdmb250LXNpemU6MTRweCc+TWluaW11bTwvc3Bhbj48L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGUgPSAncGFkZGluZzoycHg7Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IEluc3RhbnQgV2l0aGRyYXdhbDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGUgPSAnbWFyZ2luLXRvcDogLTEwcHgnPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBEZWRpY2F0ZWQgU3VwcG9ydDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGUgPSAnbWFyZ2luLXRvcDogLTEwcHgnPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBEdXJhdGlvbjogMjQgSG91cnM8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgUHJvZml0OiA4JTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0ZXh0LWNlbnRlcic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND4kNDk5LjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbGctNCcgc3R5bGUgPSAnYm9yZGVyOjRweCBzb2xpZCAjMDAwMDAwOyBwYWRkaW5nOjEwcHg7IGJvcmRlci1yYWRpdXM6N3B4Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzID0gJ3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PklOVEVSTUVESUFURTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQ1MDAuMDAgPHNwYW4gc3R5bGUgPSAnZm9udC1zaXplOjE0cHgnPk1pbmltdW08L3NwYW4+PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlID0gJ3BhZGRpbmc6MnB4Oyc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBJbnN0YW50IFdpdGhkcmF3YWw8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRGVkaWNhdGVkIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRHVyYXRpb246IDI0IEhvdXJzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZSA9ICdtYXJnaW4tdG9wOiAtMTBweCc+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IFByb2ZpdDogMTYlPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQ2OTk5LjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbGctNCcgc3R5bGUgPSAnYm9yZGVyOjRweCBzb2xpZCAjMDAwMDAwOyBwYWRkaW5nOjEwcHg7IGJvcmRlci1yYWRpdXM6N3B4Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzID0gJ3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkFEVkFOQ0VEPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+JDcwMDAuMDAgPHNwYW4gc3R5bGUgPSAnZm9udC1zaXplOjE0cHgnPk1pbmltdW08L3NwYW4+PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlID0gJ3BhZGRpbmc6MnB4Oyc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSdmYSBmYS1jaGVjaycgc3R5bGUgPSAnY29sb3I6I0ZGRDAxNyc+PC9pPiZuYnNwOyBJbnN0YW50IFdpdGhkcmF3YWw8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRGVkaWNhdGVkIFN1cHBvcnQ8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlID0gJ21hcmdpbi10b3A6IC0xMHB4Jz48aSBjbGFzcz0nZmEgZmEtY2hlY2snIHN0eWxlID0gJ2NvbG9yOiNGRkQwMTcnPjwvaT4mbmJzcDsgRHVyYXRpb246IDQ4IEhvdXJzPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZSA9ICdtYXJnaW4tdG9wOiAtMTBweCc+PGkgY2xhc3M9J2ZhIGZhLWNoZWNrJyBzdHlsZSA9ICdjb2xvcjojRkZEMDE3Jz48L2k+Jm5ic3A7IFByb2ZpdDogMzMlPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RleHQtY2VudGVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PiQxMDAwMDAwLjAwIDxzcGFuIHN0eWxlID0gJ2ZvbnQtc2l6ZToxNHB4Jz5NYXhpbXVtPC9zcGFuPjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGV4dC1jZW50ZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcyA9ICdidG4gYnRuNScgc3R5bGUgPSAnYm9yZGVyLXJhZGl1czozN3B4JyBocmVmPSc/YT1sb2dpbic+R2V0IFN0YXJ0ZWQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnI+CiAgICAgICAgICAgIDwhLS0gYmxvZyBzZWN0aW9uIEVuZCAtLT4KICAgICAgICAgICAgPCEtLUFib3V0IFN0YXJ0IC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dC1zZWN0aW9uIHAtdGIgZGlhbW9uZC1sYXlvdXQiIGlkPSJhYm91dCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvY2VydC5wbmciIHN0eWxlID0gImJvcmRlci1yYWRpdXM6IDhweDsgYm9yZGVyOjVweCBzb2xpZCAjMDAwMDAwIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy03IGNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyIgc3R5bGUgPSAiZm9udC1zaXplOjI1cHg7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgdGV4dC1hbGlnbjpjZW50ZXIiPldlbGNvbWUgVG8gYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBzdHlsZSA9ICJ0ZXh0LWFsaWduOmNlbnRlciI+QWJvdXQgVXM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PldlIGFyZSB0cnVzdGVkIGFuZCBhY2Nlc3NpYmxlIHdlYWx0aCBtYW5hZ2VtZW50IGVjb2VuZXJneSBwb3dlcmVkIGJ5IGJsb2NrY2hhaW4gdGVjaG5vbG9neSwgYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkIHB1dHMgeW91ciB3ZWFsdGggYmFjayBpbiB5b3VyIGhhbmRzLiBiZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBDb21wYW55IGlzIGEgbGVhZGluZyBCZXJ0aGVuZXJneSB0cmFkaW5nIEdyb3VwIHRoYXQgdXRpbGl6ZXMgaW5ub3ZhdGl2ZSBwcm9wcmlldGFyeSB0ZWNobm9sb2dpZXMgdG8gcHJvdmlkZSBtYW5hZ2VkIEJlcnRoZW5lcmd5IHRyYWRpbmcgc2VydmljZXMgdG8geWllbGQgaGlnaGVyIHByb2ZpdHMuPC9oNT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBOYXYgdGFicyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyB0ZXh0LXVwcGVyY2FzZSIgcm9sZT0idGFibGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1saW5rIGFjdGl2ZSIgaWQ9Im1pc3Npb24tdGFiIiBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjbWlzc2lvbiIgcm9sZT0idGFiIiBhcmlhLWNvbnRyb2xzPSJtaXNzaW9uIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj5PdXIgTWlzc2lvbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmF2LWxpbmsiIGlkPSJ2aXNpb24tdGFiIiBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjdmlzaW9uIiByb2xlPSJ0YWIiIGFyaWEtY29udHJvbHM9InZpc2lvbiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPk91ciB2aXNpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdi1saW5rIiBpZD0iZ3VhcmFudGVlcy10YWIiIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNndWFyYW50ZWVzIiByb2xlPSJ0YWIiIGFyaWEtY29udHJvbHM9Imd1YXJhbnRlZXMiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5HdWFyYW50ZWVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYWIgcGFuZXMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJtaXNzaW9uIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1sYWJlbGxlZGJ5PSJtaXNzaW9uLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XaGlsZSB3ZSBzZXJ2ZWQgYXMgYW4gVHJhZGluZyBob3VzZSBmb3IgcmV0YWlsIGJpdGNvaW4gaW52ZXN0b3JzLCBvdXIgY29yZSBwdXJwb3NlIGFuZCBmb2N1cyB3YXMgYWx3YXlzLCBmaXJzdCBhbmQgZm9yZW1vc3QsIHRvIGJlIGFuIGVkdWNhdGlvbiBob3VzZS4gVG8gcHJvdmlkZSBjbGVhciBhbmQgdW5yaXZhbGxlZCBlZHVjYXRpb24gaW4gdGhlIHNwYWNlOyB0byBkZW15c3RpZnkgdGhlIGNvbXBsZXggbmF0dXJlIG9mIGJsb2NrY2hhaW4gdGVjaG5vbG9neSBhbmQgb2ZmZXIgaW5zaWdodCBpbnRvIHRoZSBmaW5hbmNpYWwgYW5kIHBoaWxvc29waGljYWwgdmFsdWUgaGVsZCB3aXRoaW4gaXRzIGJsdWVwcmludC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSIgaWQ9InZpc2lvbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0idmlzaW9uLXRhYiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGlzIGV0aG9zIG9mIGVkdWNhdGlvbiByZW1haW5zIGEga2V5IHRlbmV0IG9mIHdobyB3ZSBhcmUgYW5kIHdoYXQgd2UgZG8uIEJ1dCBhcyBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgYm91bmRsZXNzLCB1bnRhcHBlZCBwb3RlbnRpYWwgb2YgQml0Y29pbiBoYXMgZGV2ZWxvcGVkIGFuZCBkZWVwZW5lZCwgc28gdG9vIGhhcyBvdXIgbWFya2V0IG9mZmVyaW5nLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIiBpZD0iZ3VhcmFudGVlcyIgcm9sZT0idGFicGFuZWwiIGFyaWEtbGFiZWxsZWRieT0iZ3VhcmFudGVlcy10YWIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSB0dXJuZWQgb3VyIGF0dGVudGlvbiB0byBwcm92aWRlIGEgbW9yZSBob2xpc3RpYyBhbmQgZmFyLXJlYWNoaW5nIHNvbHV0aW9uOiBHcmF2aXR5LCBhIGNvbm5lY3RlZCBlY29lbmVyZ3kgb2YgZXZlcnlkYXkgZmluYW5jaWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcywgYmFja2VkIGJ5IHRoZSBwb3dlciBhbmQgc2NhbGUgb2YgQml0Y29pbiBTViAodGhlIE9yaWdpbmFsIEJpdGNvaW4pIHRoYXQgd2lsbCBwbGF5IGEgcm9sZSBpbiBlbmFibGluZyBzb3ZlcmVpZ250eSwgYW5kIGV2ZW50dWFsbHkgaW4gdGhlIGV2b2x1dGlvbiBvZiBodW1hbiBzdXN0YWluYWJpbGl0eS4gPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGhyZWY9Ij9hPWFib3V0IiBzdHlsZSA9ICJib3JkZXItcmFkaXVzOjM3cHgiPlJlYWQgTW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGEgY2xhc3M9IndhdGNoLWxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9NU9UTUVqLXdqM28iIHRhcmdldCA9ICJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLXBsYXkiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN0cm9uZz5XYXRjaCB2aWRlbzwvc3Ryb25nPldoYXQgaXMgYml0Y29pbj88L3NwYW4+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLUFib3V0IGVuZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJPGRpdiBjbGFzcz0icm93Ij4KCQkJCgkJCTxkaXYgY2xhc3M9ImNvbC1tZC02IHRleHQtY2VudGVyIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToyMHB4OyI+CgkJCQkJPGgzIHN0eWxlPSJwYWRkaW5nOjIwcHg7IG1hcmdpbjowcHg7IAogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDIsMCwzNiwxKSAwJSwgcmdiYSgyMzUsMTU0LDEzLDEpIDAlLCByZ2JhKDEwMSwzMywxNjEsMSkgMzclLCByZ2JhKDEsMTIsMTMsMSkgNzklKTsgY29sb3I6d2hpdGU7IiA+TElWRSBDSEFSVDwvaDM+CgkJCQkKCQkJCTxkaXYgY2xhc3M9ImNhcmQgY2FyZC1ib2R5Ij4KCQkJCTxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5idGN3aWRnZXQuaW5mby93aWRnZXQvbGl2ZVR4LyUyMzAwMDAwMC8lMjMwMDAwMDAvJTIzMDAwMDAwLyUyM2ZmZmZmZi8lMjNlMDFjOWUvMzAwLzQwMC83IiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgZnJhbWVCb3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iPjwvaWZyYW1lPgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQoJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNiB0ZXh0LWNlbnRlciIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweDsiPgoJCQkJCTxoMyBzdHlsZT0icGFkZGluZzoyMHB4OyBtYXJnaW46MHB4OyAKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyLDAsMzYsMSkgMCUsIHJnYmEoMjM1LDE1NCwxMywxKSAwJSwgcmdiYSgxMDEsMzMsMTYxLDEpIDM3JSwgcmdiYSgxLDEyLDEzLDEpIDc5JSk7IGNvbG9yOndoaXRlOyIgPkxJVkUgVFJBREU8L2gzPgoJCQkJCgkJCQk8ZGl2IGNsYXNzPSJjYXJkIGNhcmQtYm9keSI+CgkJCQkgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPgo8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4KICA8ZGl2IGlkPSJ0cmFkaW5ndmlld183NzM1NCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tL3N5bWJvbHMvQlRDVVNEVC8/ZXhjaGFuZ2U9QklOQU5DRSIgcmVsPSJub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJibHVlLXRleHQiPkJUQ1VTRFQgQ2hhcnQ8L3NwYW4+PC9hPiBieSBtaWRkZXhlbmVyZ3k8L2Rpdj4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS90di5qcyI+PC9zY3JpcHQ+CiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogIG5ldyBUcmFkaW5nVmlldy53aWRnZXQoCiAgewogICJ3aWR0aCI6IDQwMCwKICAiaGVpZ2h0IjogNDAwLAogICJzeW1ib2wiOiAiQklOQU5DRTpCVENVU0RUIiwKICAiaW50ZXJ2YWwiOiAiRCIsCiAgInRpbWV6b25lIjogIkV0Yy9VVEMiLAogICJ0aGVtZSI6ICJsaWdodCIsCiAgInN0eWxlIjogIjEiLAogICJsb2NhbGUiOiAiZW4iLAogICJ0b29sYmFyX2JnIjogIiNmMWYzZjYiLAogICJlbmFibGVfcHVibGlzaGluZyI6IHRydWUsCiAgImFsbG93X3N5bWJvbF9jaGFuZ2UiOiB0cnVlLAogICJjb250YWluZXJfaWQiOiAidHJhZGluZ3ZpZXdfNzczNTQiCn0KICApOwogIDwvc2NyaXB0Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQmVuZWZpdHMgU3RhcnQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXRzIHAtdGIgYmxhY2stYmcgd2hpdGUtc2VjIGRpYW1vbmQtbGF5b3V0Ij4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImdvbGQtdGVjaC1iZyI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+PHNwYW4+V2h5IFRyYWRlIFdpdGggYmVydGhlbmVyZ3ktaW5jLmJpeiBMaW1pdGVkPC9zcGFuPjwvaDI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLXR4dCBtdy04NTAgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5iZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBDb21wYW55IGlzIGEgbGVhZGluZyB0cmFkaW5nIEdyb3VwIHRoYXQgdXRpbGl6ZXMgaW5ub3ZhdGl2ZSBwcm9wcmlldGFyeSB0ZWNobm9sb2dpZXMgdG8gcHJvdmlkZSBtYW5hZ2VkIHRyYWRpbmcgc2VydmljZXMgdG8geWllbGQgaGlnaGVyIHByb2ZpdHMuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtYm94IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JlbmVmaXQtaWNvbi0xLnBuZyIgYWx0PSJTYWZlIGFuZCBTZWN1cmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5TYWZlIGFuZCBTZWN1cmU8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSd2ZSBidWlsdCBvbmUgb2YgdGhlIHRoZSB3b3JsZCdzIG1vc3Qgc29waGlzdGljYXRlZCBUcmFkaW5nIGNvbXBhbnkuIFlvdXIgcGVyc29uYWwgZGF0YSBhbmQgdHJhbmFzY3Rpb25zIGFyZSBhbHdheXMgcHJvdGVjdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1ib3ggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmVuZWZpdC1pY29uLTIucG5nIiBhbHQ9Ikluc3RhbnQgRXhjaGFuZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5JbnN0YW50IEV4Y2hhbmdlPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSB0aGUgZmFzdGVzdCBwYXltZW50IHN5c3RlbSwgZGVlcC1yb290ZWQgaW4gYmxvY2tjaGFpbiB0ZWNobm9sb2d5LiBObyBoaWRkZW4gZmVlcywgYW5kIG5vIGV4dHJhIGNvbW1pc3Npb25zLiBXaXRoZHJhd2FscyBhcmUgc2VudCB0byB5b3VyIHdhbGxldHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWJveCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iZW5lZml0LWljb24tMy5wbmciIGFsdD0iV29ybGQgQ292ZXJhZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5Xb3JsZCBDb3ZlcmFnZTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSBnZW5lcmFsIHB1YmxpYy4gV2UgYXJlIGFjY2VwdGVkIGFjcm9zcyB0aGUgZ2xvYmUgYXMgYW4gVHJhZGluZyBjb21wYW55LCB3ZSBhcmUgY2VydGlmaWVkIGFzIGFuIElTTy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtYm94IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JlbmVmaXQtaWNvbi00LnBuZyIgYWx0PSJNb2JpbGUgQXBwcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcyA9ICJ0ZXh0LWNhcGl0YWxpemUiPldlIEFyZSBDZXJ0aWZpZWQ8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5iZXJ0aGVuZXJneS1pbmMuYml6IExpbWl0ZWQgVHJhZGluZyBpcyBmdWxseSByZWdpc3RlcmVkIHRvIG9wZXJhdGUgYXMgYSBMaW1pdGVkIExpYWJpbGl0eSBDb21wYW55LCBDbGljayA8YSBocmVmPSI/YT1hYm91dCI+SEVSRTwvYT4gdG8gdmlldyBvdXIgY29tcGFueSBwcm9maWxlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1ib3ggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmVuZWZpdC1pY29uLTUucG5nIiBhbHQ9IlN0cm9uZyBOZXR3b3JrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzID0gInRleHQtY2FwaXRhbGl6ZSI+VHJhbnNwYXJlbnQgc3RhdGlzdGljczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkVhY2ggdXNlcidzIFRyYWRpbmcgaW4gVHJhZGluZyBwcm9kdWN0cyB3aWxsIGJlIHJlY29yZGVkIGluIGJsb2NrY2hhaW4sIHByb3ZpbmcgdGhhdCBpdCBpcyByZWFsIGFuZCBiZWxvbmcgdG8gdGhpcyBwYXJ0aWN1bGFyIHVzZXIuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWJveCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iZW5lZml0LWljb24tNi5wbmciIGFsdD0iTWFyZ2luIFRyYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3MgPSAidGV4dC1jYXBpdGFsaXplIj5Mb3cgZW50cnkgdGhyZXNob2xkPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHBhcml0eSBvZiBUcmFkaW5nIG9wcG9ydHVuaXRpZXMgaXMgdGhlIGNvcmUgb2Ygb3VyIGNvbmNlcHQuIFdlIHdpbGwgZ2l2ZSBldmVyeW9uZSBhbiBhY2Nlc3MgdG8gdGhlIHdvcmxkIG9mIFRyYWRpbmdzLiA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gQmVuZWZpdHMgRW5kIC0tPgogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLSBUaGUgUm9hZG1hcCAgc3RhcnQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm9hZG1hcC1zZWMgZGlhbW9uZC1sYXlvdXQiIGlkPSJyb2FkbWFwIiBzdHlsZSA9ICJtYXJnaW4tYm90dG9tOi0zMHB4Ij4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBUaGUgUm9hZG1hcCBlbmQtLT4KICAgICAgICAgICAgPGRpdiBpZD0iY291bnRlciIgY2xhc3M9Im1pbGVzdG9uZS1zZWN0aW9uIHAtdGIgYy1sIiBzdHlsZSA9ICJtYXJnaW4tdG9wOi0zMHB4Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXIiID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVyLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL3RyYW5zYWN0aW9ucy1pY29uLnBuZyIgYWx0PSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci12YWx1ZSIgZGF0YS1jb3VudD0iNTU0NjY1NS44Ij4wPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjb3VudC10ZXh0ICI+VG90YWwgV2l0aGRyYXdhbHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9zdXBwb3J0LWljb24ucG5nIiBhbHQ9IiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVyLXZhbHVlIiBkYXRhLWNvdW50PSI5ODU2MSI+MDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iY291bnQtdGV4dCAiPlVzZXJzPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXItaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvd2FsbGV0cy1pY29uLnBuZyIgYWx0PSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci12YWx1ZSIgZGF0YS1jb3VudD0iNjY0MTg0LjMxIj4wPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjb3VudC10ZXh0ICI+VG90YWwgRGVwb3NpdHM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9jb3VudHJpZXMtaWNvbi5wbmciIGFsdD0iIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXItdmFsdWUiIGRhdGEtY291bnQ9IjEzOSI+MDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iY291bnQtdGV4dCAiPkNvdW50cmllczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PgogCiAgICAgICAgICAgIDwhLS0gVGVhbSBzZWMgc3RhcnQtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1zZWN0aW9uIHAtdGIgbGlnaHQtZ3JheS1iZyBkaWFtb25kLWxheW91dCIgaWQ9InRlYW0iIHN0eWxlID0gImJhY2tncm91bmQ6IHVybChpbWFnZXMvY29pbnBvb2wtZG90cy1jaXJjbGUucG5nKSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+RXhlY3V0aXZlIEJvYXJkPC9oMj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL2Nlby5qcGciIGFsdD0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1zb2NpYWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiIHRhcmdldCA9ICJfYmxhbmsiPjxpIGNsYXNzPSJmYWIgZmEtZmFjZWJvb2stZiI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPjxpIGNsYXNzPSJmYWIgZmEtdHdpdHRlciI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIiPjxpIGNsYXNzPSJmYWIgZmEtbGlua2VkaW4taW4iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+VWxyaWtlIExpbmRzYXkgPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Rm91bmRlciAmIENFTzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0taW1nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9ib2FyZC9icm9rZXIuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlBhdHJpY2sgTmFpcmFwaXo8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Dby1mb3VuZGVyICYgQ1RPPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL3N1cHBvcnQuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PkNoYXJpZmkgQWJvdSBEYXlhPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U3VwcG9ydCBNYW5hZ2VyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1pbWciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JvYXJkL2FuYWx5c3QuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWZhY2Vib29rLWYiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLWxpbmtlZGluLWluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0PlZhaWJoYXYgR2F3YXM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MZWFkIFJlc2VhcmNoIE1hbmFnZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLSBCcmFuZCBsb2dvIHNsaWRlciAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFydG5lci1sb2dvIHAtdGIgd2hpdGUtc2VjIGRhcmstZ3JheS1iZyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+PHNwYW4+V2UgQWNjZXB0PC9zcGFuPjwvaDI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFydG5lci1sb2dvLWdyaWQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj48aW1nIHNyYz0iaW1hZ2VzL3BheTEucG5nIiBhbHQ9IndlIGFjY2VwdCIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+PGltZyBzcmM9ImltYWdlcy9wYXkyLnBuZyIgYWx0PSJXZSBhY2NlcHQiIC8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPjxpbWcgc3JjPSJpbWFnZXMvcGF5My5wbmciIGFsdD0iV2UgYWNjZXB0IiAvPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj48aW1nIHNyYz0iaW1hZ2VzL3BheTQucG5nIiBhbHQ9IldlIGFjY2VwdCIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICA8IS0tIENvbnRlbnQgU2VjdGlvbiBFbmQgLS0+IAo8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+CiAgICAgICAgPCEtLWZvb3RlciBTdGFydC0tPiAgIAogICAgICAgIDxmb290ZXIgY2xhc3M9ImRpYW1vbmQtZm9vdGVyIj4KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXQtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC01IHdpZGdldC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC1odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIuLyIgdGl0bGU9IiI+PGltZyBzcmM9ImltYWdlcy9sb2dvLnBuZyIgYWx0PSJiZXJ0aGVuZXJneS1pbmMuYml6Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlID0gIm1hcmdpbi1sZWZ0Oi0zMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPmluZm9AYmVydGhlbmVyZ3ktaW5jLmJpejwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+KzQ0NzQwNTQxMjk3MTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+VGhlIE9sZCBQaWdnZXJ5IE1hcmtzIEhhbGwgTGFuZSwgTWFyZ2FyZXQgUm9kaW5nLCBEdW1vdywgRW5nbGFuZCwgQ002IDFRVDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTMgd2lkZ2V0LWFyZWEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgd2lkZ2V0LWh0bWwgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPlN0YXkgQ29ubmVjdGVkPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiIHRhcmdldCA9ICJfYmxhbmsiPjxpIGNsYXNzPSJmYWIgZmEtZmFjZWJvb2stZiI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgdGFyZ2V0ID0gIl9ibGFuayI+PGkgY2xhc3M9ImZhYiBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXRlbGVncmFtLXBsYW5lIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIiB0YXJnZXQgPSAiX2JsYW5rIj48aSBjbGFzcz0iZmFiIGZhLXlvdXR1YmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC00IHdpZGdldC1hcmVhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC1odG1sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0id2lkZ2V0LXRpdGxlIj5NeSBBY2NvdW50PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGkgY2xhc3M9ImZhIGZhLWNoZWNrIj48L2k+Jm5ic3A7PGEgaHJlZj0iP2E9bG9naW4iPlNpZ24gSW48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpIGNsYXNzPSJmYSBmYS1jaGVjayI+PC9pPiZuYnNwOzxhIGhyZWY9Ij9hPXNpZ251cCI+U2lnbiBVcDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGkgY2xhc3M9ImZhIGZhLWNoZWNrIj48L2k+Jm5ic3A7IDxhIGhyZWY9Ij9hPWZvcmdvdF9wYXNzd29yZCI+Rm9yZ290IFBhc3N3b3JkPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5cmlnaHQtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290ZXItbWVudSBob3Jpem9udGFsLW1lbnUgb25lcGFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi8iPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1hYm91dCI+QWJvdXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIuLyNwcmljaW5nIj5QcmljaW5nPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9cnVsZXMiPkxlZ2FsPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLi8jdGVhbSI+VGVhbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5LXRleHQiPsKpIENvcHlyaWdodCAyMDI2IEFsbCBSaWdodHMgUmVzZXJ2ZWQgPGEgaHJlZj0iIyI+YmVydGhlbmVyZ3ktaW5jLmJpejwvYT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPCEtLWZvb3RlciBlbmQtLT4gICAKPC9kaXY+ICAgIDwhLS1NYWluIFdyYXBwZXIgRW5kLS0+CiAKICAgIDxzY3JpcHQgc3JjPSJqcy9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9vbnBhZ2VzY3JvbGwuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL3dvdy5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5jb3VudGRvd24uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL293bC5jYXJvdXNlbC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvQ2hhcnRfbWFpbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvY2hhcnQtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImpzL3NjcmlwdC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0ianMvcGFydGljbGVzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJqcy9nb2xkLWFwcC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbicpLmFkZENsYXNzKCdkb25lJyk7CiAgICAgICAgICAgIH0sIDYwMDApOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbiAubWFpbicpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgMTAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmluc2lkZS1iaXRjb2luJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgICAgICB9LCAzMDAwKTsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgalF1ZXJ5KCcuaW5zaWRlLWJpdGNvaW4nKS5hZGRDbGFzcygnc3BpbmNvaW4nKTsKICAgICAgICAgICAgfSwgNTAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmRpYW1vbmQtYW5pbWF0aW9uIC5saW5lcycpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgNjAwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIGpRdWVyeSgnLmRpYW1vbmQtYW5pbWF0aW9uIC50b3AtY29pbicpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgfSwgMzAwMCk7CiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBqUXVlcnkoJy5kaWFtb25kLWFuaW1hdGlvbiAub3V0ZXItT3JiaXQnKS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgICAgIH0sIDUwMDApOwogICAgICAgIH0pOwogICAgPC9zY3JpcHQ+CiAgICA8c3R5bGU+Ci5tZ20gewogICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiA5MDsKICAgIGJvdHRvbTogODBweDsKICAgIGxlZnQ6IDEwMHB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHggMjdweDsKICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTNweCAwcHggcmdiYSgwLDAsMCwuMyk7CiAgICBmb250LXNpemU6IDMwcHg7Cn0KLm1nbSBhIHsKICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiNmMmQ1MTY7Cn0KLm1nbSBhLCAubWdtIGE6YWN0aXZlIHsKICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsKICAgIGNvbG9yOiNmMmQ1MTY7Cn0KPC9zdHlsZT4KPHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIiBzcmM9IiMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBsaXN0Q291bnRyaWVzID0gWydTb3V0aCBBZnJpY2EnLCAnVVNBJywgJ0dlcm1hbnknLCAnRnJhbmNlJywgJ0l0YWx5JywgJ1NvdXRoIEFmcmljYScsICdBdXN0cmFsaWEnLCAnU291dGggQWZyaWNhJywgJ0NhbmFkYScsICdBcmdlbnRpbmEnLCAnU2F1ZGkgQXJhYmlhJywgJ01leGljbycsICdTb3V0aCBBZnJpY2EnLCAnU291dGggQWZyaWNhJywgJ1ZlbmV6dWVsYScsICdTb3V0aCBBZnJpY2EnLCAnU3dlZGVuJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ1VuaXRlZCBLaW5nZG9tJywgJ1NvdXRoIEFmcmljYScsICdHcmVlY2UnLCAnQ3ViYScsICdTb3V0aCBBZnJpY2EnLCAnUG9ydHVnYWwnLCAnQXVzdHJpYScsICdTb3V0aCBBZnJpY2EnLCAnUGFuYW1hJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnTmV0aGVybGFuZHMnLCAnU3dpdHplcmxhbmQnLCAnQmVsZ2l1bScsICdJc3JhZWwnLCAnQ3lwcnVzJ107CiAgICB2YXIgbGlzdFBsYW5zID0gWyckNTAwJywnJDE1MDAnLCckMTAwMCcsJyQxMCwwMDAnLCckMjAwMCcsJyQzMDAwJywnJDQwMDAnLCAnJDYwMCcsICckNzAwJywgJyQyNTAwJ107CiAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg0MDAwMCAtIDgwMDAgKyAxKSArIDgwMDApOwogICAgdmFyIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKICAgIAoKICAgIGZ1bmN0aW9uIHJlcXVlc3QoKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbChydW4pOwogICAgICAgIGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDQwMDAwIC0gODAwMCArIDEpICsgODAwMCk7CiAgICAgICAgdmFyIGNvdW50cnkgPSBsaXN0Q291bnRyaWVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGxpc3RDb3VudHJpZXMubGVuZ3RoKV07CiAgICAgICAgCiAgICAgICAgdmFyIHBsYW4gPSBsaXN0UGxhbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdFBsYW5zLmxlbmd0aCldOwogICAgICAgIHZhciBtc2cgPSAnQW4gaW52ZXN0b3IgZnJvbSA8Yj4nICsgY291bnRyeSArICc8L2I+IERlcG9zaXRlZCA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJqYXZhc2NyaXB0OnZvaWQoMCk7Ij4nICsgcGxhbiArICcgLjwvYT4nOwogICAgICAgICQoIi5tZ20gLnR4dCIpLmh0bWwobXNnKTsKICAgICAgICAkKCIubWdtIikuc3RvcCh0cnVlKS5mYWRlSW4oMTAwKTsKICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZU91dCg2MDApOwogICAgICAgIH0sIDYwMDApOwogICAgICAgIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKICAgIH0KPC9zY3JpcHQ+IAo8ZGl2IGFsaWduPSJjZW50ZXIiPgoJPGRpdiBjbGFzcz0ibWdtIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgo8ZGl2IGNsYXNzPSJ0eHQiIHN0eWxlPSJjb2xvcjpibGFjazsiPkFuIGludmVzdG9yIGZyb20gPGI+PC9iPiBEZXBvc2l0ZWQgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iamF2YXNjcmlwdDp2b2lkKDApOyI+PC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgk8c3R5bGU+Ci5tZ20gewogICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiA5MDsKICAgIGJvdHRvbTogODBweDsKICAgIGxlZnQ6IDEwMHB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHggMjdweDsKICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTNweCAwcHggcmdiYSgwLDAsMCwuMyk7CiAgICBmb250LXNpemU6IDQwcHg7Cn0KLm1nbSBhIHsKICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICBkaXNwbGF5OmJsb2NrOwogICAgY29sb3I6I2YyZDUxNjsKfQoubWdtIGEsIC5tZ20gYTphY3RpdmUgewogICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOwogICAgY29sb3I6I2YyZDUxNjsKfQo8L3N0eWxlPgo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIHNyYz0iIyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIGxpc3RDb3VudHJpZXMgPSBbJ1NvdXRoIEFmcmljYScsICdVU0EnLCAnR2VybWFueScsICdGcmFuY2UnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ0F1c3RyYWxpYScsICdTb3V0aCBBZnJpY2EnLCAnQ2FuYWRhJywgJ0FyZ2VudGluYScsICdTYXVkaSBBcmFiaWEnLCAnTWV4aWNvJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnVmVuZXp1ZWxhJywgJ1NvdXRoIEFmcmljYScsICdTd2VkZW4nLCAnU291dGggQWZyaWNhJywgJ1NvdXRoIEFmcmljYScsICdJdGFseScsICdTb3V0aCBBZnJpY2EnLCAnVW5pdGVkIEtpbmdkb20nLCAnU291dGggQWZyaWNhJywgJ0dyZWVjZScsICdDdWJhJywgJ1NvdXRoIEFmcmljYScsICdQb3J0dWdhbCcsICdBdXN0cmlhJywgJ1NvdXRoIEFmcmljYScsICdQYW5hbWEnLCAnU291dGggQWZyaWNhJywgJ1NvdXRoIEFmcmljYScsICdOZXRoZXJsYW5kcycsICdTd2l0emVybGFuZCcsICdCZWxnaXVtJywgJ0lzcmFlbCcsICdDeXBydXMnXTsKICAgIHZhciBsaXN0UGxhbnMgPSBbJyQ1MDAnLCckMTUwMCcsJyQxMDAwJywnJDEwLDAwMCcsJyQyMDAwJywnJDMwMDAnLCckNDAwMCcsICckNjAwJywgJyQ3MDAnLCAnJDI1MDAnXTsKICAgIGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDQwMDAwIC0gODAwMCArIDEpICsgODAwMCk7CiAgICB2YXIgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgCgogICAgZnVuY3Rpb24gcmVxdWVzdCgpIHsKICAgICAgICBjbGVhckludGVydmFsKHJ1bik7CiAgICAgICAgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoNDAwMDAgLSA4MDAwICsgMSkgKyA4MDAwKTsKICAgICAgICB2YXIgY291bnRyeSA9IGxpc3RDb3VudHJpZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdENvdW50cmllcy5sZW5ndGgpXTsKICAgICAgICAKICAgICAgICB2YXIgcGxhbiA9IGxpc3RQbGFuc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsaXN0UGxhbnMubGVuZ3RoKV07CiAgICAgICAgdmFyIG1zZyA9ICdBbiBpbnZlc3RvciBmcm9tIDxiPicgKyBjb3VudHJ5ICsgJzwvYj4gV2l0aGRyYXcgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iamF2YXNjcmlwdDp2b2lkKDApOyI+JyArIHBsYW4gKyAnIC48L2E+JzsKICAgICAgICAkKCIubWdtIC50eHQiKS5odG1sKG1zZyk7CiAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZUluKDEwMCk7CiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVPdXQoMjAwMCk7CiAgICAgICAgfSwgNjAwMCk7CiAgICAgICAgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgfQo8L3NjcmlwdD4KICAgPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJzNiOWQ2ZmU2ZTc2OTg2ZWNiODExY2YzYTE5NmQ1MDVlOGY5ZTJkYjknOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PlBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0PgoKPC9ib2R5PgoKPC9odG1sPg=="}},"time_used":808,"timings":{"blocked":-1,"dns":2,"connect":20,"send":0,"wait":751,"receive":0,"ssl":35},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-top-coin.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.524Z","timestamp":1785124875524,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-top-coin.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 80717\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-13b4d\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":80717,"size_decoded":80944,"mime_type":"image/png","magic":"PNG image data, 356 x 239, 8-bit/color RGBA, non-interlaced","md5":"731e16b6fbc411bdbadfa9b562f5ac9c","sha1":"ccf7ce5d436d1c9b10db48c65973a20c4d9b2aa5","sha256":"ab956904d79d6437fa131fe1505598d65b45f0c3cc8583b783d3b489f96ab84e","sha512":"f44bc32a147af8a171f113c5e412b4c3b046b5c75bfeb986b1a9c456ab727e8beb647b8ea5c3e6c4d7a260b0643b58ed2e9b02f56c9b9a1baf8549dd6ec7f46e","ssdeep":"1536:/o0h/pz1Vax5h15L43IApv4h6l/fQt398adPEdmPorqk1plUcgS:juP1u4Apv4h6VQT9dPEQPOHXwS","tlshash":"2c7312aa8a9735329493809fc1fe22a384232d4d6872ecc7bd573d0c8a7d47c96745a9","first_seen":"2023-06-05T19:37:56Z","last_seen":"2026-07-27T04:03:30.033763Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAWQAAADvCAYAAADFG66PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0Nzg4RjlDRDQ4MTQxMUVBODVENkVGMzBGMDlGMjk2MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0Nzg4RjlDRTQ4MTQxMUVBODVENkVGMzBGMDlGMjk2MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODhGOUNCNDgxNDExRUE4NUQ2RUYzMEYwOUYyOTYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQ3ODhGOUNDNDgxNDExRUE4NUQ2RUYzMEYwOUYyOTYyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+YFiuJAABN8JJREFUeNrsvQeYZOdV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"}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/33735.2cb844ad2b0f3c892162.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.821Z","timestamp":1785124875821,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/33735.2cb844ad2b0f3c892162.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3e1907-eb6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 26 Jun 2026 06:15:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/26/2026 11:13:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 98d21b0cc5aa9225dfdb737ff2a4515a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3766,"size_decoded":1923,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3766), with no line terminators","md5":"c9433cd2c494e00bc1f5eeb71eecd363","sha1":"da37ba6947ef271416292a4bec7fd80696864e22","sha256":"83f03dfc765b467ce1c567e7c09720d3c654d84ee9ac41c94804ee40cd808af1","sha512":"b29c41b6ced30e594e30b98862f24c8824d4187d5bda612574fadeeb13c4f440d1f30c411d3803c9cd32479fbfabde86b44bc5257aa1f4144bacfc414d897a15","ssdeep":"","tlshash":"9e71001176a6973cfb279620c2a27daeb38ca9207b4f0ef99d0751740ace3d67071489","first_seen":"2026-06-26T14:56:44.439294Z","last_seen":"2026-07-27T06:24:31.782916Z","times_seen":660,"resource_available":false,"data":"Ym9keXtvdmVyZmxvdy15OnNjcm9sbH0udHYtbGF5b3V0LXdpZHRoe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMHB4O3dpZHRoOjEwMjBweH0udHYtbGF5b3V0LXdpZHRoLS1uby1wYWRkaW5ne3BhZGRpbmc6MDt3aWR0aDo5ODBweH0udHYtbGF5b3V0LXdpZHRoLS1zaW1wbGV7cGFkZGluZzowfS50di1kaWFsb2cgLnR2LWxheW91dC13aWR0aHttYXgtd2lkdGg6MTAwJX0uY2hhcnQtcGFnZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtbGF5b3V0LXdpZHRoe3dpZHRoOmF1dG99LnR2LWxheW91dC13aWR0aCAudHYtZmVlZHttYXJnaW4taW5saW5lLWVuZDotMjBweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0yMHB4fS50di1sYXlvdXQtd2lkdGggLnR2LWZlZWQtLXRhYmxldC10b3AtaW5kZW50e21hcmdpbi10b3A6NDhweH19LnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dCxib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0e3dpZHRoOmF1dG87LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKjIwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KTstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGg6MjM2MHB4O2JveC1zaXppbmc6aW5pdGlhbDtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tYWRhcHRpdmUtbWYtY29udGFpbmVyLXBhZGRpbmcpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nKX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMzJweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxNDQwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqNDBweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxOTIwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMTAwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KX19QG1lZGlhIChtaW4td2lkdGg6MjU2MHB4KXsudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0LGJvZHkucGFnZS13aWRlIC50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXR7LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKigxMDB2dyAtIHZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpKS8yICsgdmFyKC0tc2lkZS1nYXAtbW9kZS1maXhlZCwgMCkqMjBweCk7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG87bWF4LXdpZHRoOnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpfX0uZmlsdGVyLWlkZWFzLWJ1dHRvbi13aXRoLXBhZGRpbmd7cGFkZGluZy1pbmxpbmU6NXB4fS50di1sYXlvdXQtcGFkZGluZ3twYWRkaW5nOjAgMjBweH1ib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjE1MjBweH0udHYtbWFpbixib2R5LnBhZ2UtZnVsbHdpZHRoIC50di1sYXlvdXQtd2lkdGh7d2lkdGg6MTAwJX0udHYtbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwJX0uY2xlYXJ7Y2xlYXI6Ym90aH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0udHYtcmlnaHR7ZmxvYXQ6aW5saW5lLWVuZCFpbXBvcnRhbnR9LnR2LWxlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0udHYtY29udGVudHtmbGV4OjEgMCBhdXRvfS50di1jb250ZW50X19jb250ZW50LWJsb2Nre3BhZGRpbmc6NzBweCAwfS50di1mZWVke21hcmdpbjo0OHB4IC0xMHB4O21pbi1oZWlnaHQ6NTAwcHh9LnR2LWZlZWQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWZlZWQtLW5vLW1pbi1oZWlnaHR7bWluLWhlaWdodDphdXRvfS50di1mZWVkLS1uby1oaW5kZW50e21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDowfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWR7bWFyZ2luOjAgMCA0OHB4fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LWZlZWR7bWFyZ2luOjB9fS50di1mZWVkLS1uby12ZXJ0aWNhbC1tYXJnaW57bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0udHYtZmVlZF9fZW1wdHl7Y2xlYXI6Ym90aDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MjBweDtwYWRkaW5nOjEwMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnR2LWZlZWRfX2l0ZW17Zm9udC1zaXplOjEzcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MCAxMHB4O3dpZHRoOjQ4MHB4fS50di1mZWVkX19pdGVtLS13aWR0aF90d28tY29sdW1uc3t3aWR0aDo5ODBweH0udHYtZmVlZF9faXRlbS0td2lkdGhfZnVsbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbS0td2lkdGhfaGFsZntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxvYXQ6aW5saW5lLXN0YXJ0O3dpZHRoOjUwJX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1mZWVkX19pdGVte21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbTpsYXN0LW9mLXR5cGV7Ym9yZGVyLWJvdHRvbTpub25lfX0udHYtZmVlZF9fc2VjdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWRfX3NlY3Rpb24tdGl0bGV7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWFyZ2luLWlubGluZS1zdGFydDoxMnB4fX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oN0RNOiNkOWRhZGJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1oN0RNOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfWJvZHksaHRtbHtiYWNrZ3JvdW5kOm5vbmU7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfWJvZHl7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAtaDdETSk7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94fQ=="}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.100Z","timestamp":1785124877100,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3f84\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5051018f4acb1e3f7cff5c1c5f635240\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16260,"size_decoded":6269,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-27T06:24:31.630984Z","times_seen":31,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTc1ODYzKHQpe3QuZXhwb3J0cz17InRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDc2OHB4KSIsInRvb2x0aXAtb2Zmc2V0IjoiMjBweCIsZGlhbG9nOiJkaWFsb2ctcXlDdzBQYU4iLGRyYWdnaW5nOiJkcmFnZ2luZy1xeUN3MFBhTiIsbW9iaWxlOiJtb2JpbGUtcXlDdzBQYU4iLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tcXlDdzBQYU4iLGRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZToiZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRpb246ImRpYWxvZ0FuaW1hdGlvbi1xeUN3MFBhTiIsZGlhbG9nVG9vbHRpcDoiZGlhbG9nVG9vbHRpcC1xeUN3MFBhTiJ9fSw5MjM1MTModCl7dC5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci16TFZtNkI0dCIsY29udGVudDoiY29udGVudC16TFZtNkI0dCIsYXJyb3dIb2xkZXI6ImFycm93SG9sZGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlbG93IjoiYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlIjoiYXJyb3dIb2xkZXItLWFib3ZlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlZm9yZSI6ImFycm93SG9sZGVyLS1iZWZvcmUtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXIiOiJhcnJvd0hvbGRlci0tYWZ0ZXItekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWJvdmUtZml4IjoiYXJyb3dIb2xkZXItLWFib3ZlLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCI6ImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4IjoiYXJyb3dIb2xkZXItLWFmdGVyLWx0ci1maXgtekxWbTZCNHQiLGxhYmVsOiJsYWJlbC16TFZtNkI0dCIsY2xvc2VCdXR0b246ImNsb3NlQnV0dG9uLXpMVm02QjR0In19LDQ5MDg5Myh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw5OTEwNjYodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RGlhbG9nOigpPT5kfSk7dmFyIG89aSg3Nzk0NzQpLHM9aSg5MTQ0ODcpLG49aS5uKHMpLGE9aSg2MDc4MzIpLHI9aSg5MDM0MiksbD1pKDM0NTExNiksaD1pKDQ0ODQxMSksYz1pLm4oaCk7Y2xhc3MgZCBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fbWFuYWdlcj1uZXcgci5PdmVybGFwTWFuYWdlcix0aGlzLl9oYW5kbGVTbG90PXQ9Pnt0aGlzLl9tYW5hZ2VyLnNldENvbnRhaW5lcih0KX19cmVuZGVyKCl7Y29uc3R7cm91bmRlZDp0PSEwLHNoYWRvd2VkOmU9ITAsZnVsbHNjcmVlbjppPSExLGRhcmtlcjpzPSExLGNsYXNzTmFtZTpyLGJhY2tkcm9wOmgsY29udGFpbmVyVGFiSW5kZXg6ZD0tMX09dGhpcy5wcm9wcyx1PW4oKShyLGMoKS5kaWFsb2csdCYmYygpLnJvdW5kZWQsZSYmYygpLnNoYWRvd2VkLGkmJmMoKS5mdWxsc2NyZWVuLHMmJmMoKS5kYXJrZXIpLHA9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKHRoaXMucHJvcHMpLGc9dGhpcy5wcm9wcy5zdHlsZT97Li4udGhpcy5fY3JlYXRlU3R5bGVzKCksLi4udGhpcy5wcm9wcy5zdHlsZX06dGhpcy5fY3JlYXRlU3R5bGVzKCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuX21hbmFnZXJ9LGgmJm8uY3JlYXRlRWxlbWVudCgiZGl2Iix7b25DbGljazp0aGlzLnByb3BzLm9uQ2xpY2tCYWNrZHJvcCxjbGFzc05hbWU6YygpLmJhY2tkcm9wfSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5wLGNsYXNzTmFtZTp1LHN0eWxlOmcscmVmOnRoaXMucHJvcHMucmVmZXJlbmNlLG9uRm9jdXM6dGhpcy5wcm9wcy5vbkZvY3VzLG9uTW91c2VEb3duOnRoaXMucHJvcHMub25Nb3VzZURvd24sb25Nb3VzZVVwOnRoaXMucHJvcHMub25Nb3VzZVVwLG9uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrLG9uS2V5RG93bjp0aGlzLnByb3BzLm9uS2V5RG93bix0YWJJbmRleDpkLCJhcmlhLWxhYmVsIjp0aGlzLnByb3BzLmNvbnRhaW5lckFyaWFMYWJlbH0sdGhpcy5wcm9wcy5jaGlsZHJlbikpLG8uY3JlYXRlRWxlbWVudChhLlNsb3Qse3JlZmVyZW5jZTp0aGlzLl9oYW5kbGVTbG90fSkpfV9jcmVhdGVTdHlsZXMoKXtjb25zdHtib3R0b206dCxsZWZ0OmUsd2lkdGg6aSxyaWdodDpvLHRvcDpzLHpJbmRleDpuLGhlaWdodDphfT10aGlzLnByb3BzO3JldHVybntib3R0b206dCxsZWZ0OmUscmlnaHQ6byx0b3A6cyx6SW5kZXg6bixtYXhXaWR0aDppLGhlaWdodDphfX19fSw5OTU2ODIodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RHJhZ0hhbmRsZXI6KCk9PnN9KTt2YXIgbz1pKDUzMTkyOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUsaT17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKQo7dGhpcy5fZHJhZ1N0YXJ0KGUpfSx0aGlzLl9vblRvdWNoRHJhZ1N0YXJ0PXQ9PntpZih0aGlzLl9pc1RhcmdldE5vRHJhZ2dhYmxlKHQpKXJldHVybjt0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITAsdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSx7cGFzc2l2ZTohMX0pO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbVRvdWNoRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uTW91c2VEcmFnRW5kPXQ9Pnt0LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJnRoaXMuX2hlYWRlci5jb250YWlucyh0LnRhcmdldCkmJnQucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpLHRoaXMuX29uRHJhZ1N0b3AoKX0sdGhpcy5fb25Ub3VjaERyYWdFbmQ9dD0+e3RoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSksdGhpcy5fb25EcmFnU3RvcCgpLHRoaXMuX2NhbkJlVG91Y2hDbGljayYmKHRoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSwoMCxvLnNpbXVsYXRlQ2xpY2spKHQudGFyZ2V0KSl9LHRoaXMuX29uTW91c2VEcmFnTW92ZT10PT57Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tTW91c2VFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vblRvdWNoRHJhZ01vdmU9dD0+e3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSx0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vbkRyYWdTdG9wPSgpPT57dGhpcy5fZHJhZz1udWxsLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnRW5kJiZ0aGlzLl9vcHRpb25zLm9uRHJhZ0VuZCgpfSx0aGlzLl9kaWFsb2c9dCx0aGlzLl9oZWFkZXI9ZSx0aGlzLl9vcHRpb25zPWksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fZnJhbWUmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VEcmFnRW5kKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX29wdGlvbnM9dH1fZHJhZ1N0YXJ0KHQpe2NvbnN0IGU9dGhpcy5fZGlhbG9nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2RyYWc9e3N0YXJ0WDp0Lngsc3RhcnRZOnQueSxmaW5pc2hYOnQueCxmaW5pc2hZOnQueSxkaWFsb2dYOmUubGVmdCxkaWFsb2dZOmUudG9wfTtjb25zdCBpPU1hdGgucm91bmQoZS5sZWZ0KSxvPU1hdGgucm91bmQoZS50b3ApO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke2l9cHgsICR7b31weClgLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQmJnRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQoKX1fZHJhZ01vdmUodCl7aWYodGhpcy5fZHJhZyl7aWYodGhpcy5fZHJhZy5maW5pc2hYPXQueCx0aGlzLl9kcmFnLmZpbmlzaFk9dC55LG51bGwhPT10aGlzLl9mcmFtZSlyZXR1cm47dGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2lmKHRoaXMuX2RyYWcpe2NvbnN0IGU9dC54LXRoaXMuX2RyYWcuc3RhcnRYLGk9dC55LXRoaXMuX2RyYWcuc3RhcnRZO3RoaXMuX21vdmVEaWFsb2codGhpcy5fZHJhZy5kaWFsb2dYK2UsdGhpcy5fZHJhZy5kaWFsb2dZK2kpfXRoaXMuX2ZyYW1lPW51bGx9KSl9fV9tb3ZlRGlhbG9nKHQsZSl7Y29uc3QgaT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46c309dGhpcy5fb3B0aW9ucyxuPSgwLG8uY2xhbXBTZWdtZW50KSh0LGkud2lkdGgscz8wOi0xLzAscz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsby5jbGFtcFNlZ21lbnQpKGUsaS5oZWlnaHQscz8wOi0xLzAscz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cERpYWxvZzooKT0+Rn0pO3ZhciBvPWkoNzc5NDc0KSxzPWkoOTE0NDg3KSxuPWkubihzKSxhPWkoMTM4NjM4KSxyPWkoOTkxMDY2KSxsPWkoNzE4NTUzKSxoPWkoOTMwMjMxKSxjPWkoNjU5ODc4KSxkPWkoOTk1NjgyKSx1PWkoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBne2NvbnN0cnVjdG9yKHQsZSl7CnRoaXMuX2ZyYW1lPW51bGwsdGhpcy5faXNGdWxsc2NyZWVuPSExLHRoaXMuX2hhbmRsZVJlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCksdGhpcy5fZnJhbWU9bnVsbH0pKSl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2d1YXJkPWUuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249ZS5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbix0aGlzLl9pbml0aWFsSGVpZ2h0PXQuc3R5bGUuaGVpZ2h0LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2hhbmRsZVJlc2l6ZSl9dXBkYXRlT3B0aW9ucyh0KXt0aGlzLl9ndWFyZD10Lmd1YXJkfHxwLHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPXQuY2FsY3VsYXRlRGlhbG9nUG9zaXRpb259c2V0RnVsbHNjcmVlbih0KXt0aGlzLl9pc0Z1bGxzY3JlZW4hPT10JiYodGhpcy5faXNGdWxsc2NyZWVuPXQsdGhpcy5yZWNhbGN1bGF0ZUJvdW5kcygpKX1jZW50ZXJBbmRGaXQoKXtjb25zdHt4OnQseTplfT10aGlzLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKSxpPXRoaXMuX2NhbGNBdmFpbGFibGVIZWlnaHQoKSxvPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKTtpZihpPT09bylpZih0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbil7Y29uc3R7bGVmdDp0LHRvcDplfT10aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbih0aGlzLl9kaWFsb2csZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX2d1YXJkKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKHQpfXB4LCAke01hdGgucm91bmQoZSl9cHgpYH1lbHNlIHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bysicHgiO3RoaXMuX2RpYWxvZy5zdHlsZS50b3A9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7dH1weCwgJHtlfXB4KWB9Z2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpe2NvbnN0e2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9PXRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKSxpPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKSxvPXQvMi10aGlzLl9kaWFsb2cuY2xpZW50V2lkdGgvMixzPWUvMi1pLzIrdGhpcy5fZ2V0VG9wT2Zmc2V0KCk7cmV0dXJue3g6TWF0aC5yb3VuZChvKSx5Ok1hdGgucm91bmQocyl9fXJlY2FsY3VsYXRlQm91bmRzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHt2ZXJ0aWNhbDppfT10aGlzLl9ndWFyZCxvPXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPy4odGhpcy5fZGlhbG9nLHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfSx7dmVydGljYWw6aX0pO2lmKHRoaXMuX2lzRnVsbHNjcmVlbil7aWYodGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09Im5vbmUiLG8pe2NvbnN0e2xlZnQ6dCx0b3A6ZSx3aWR0aDppLGhlaWdodDpzfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgLGkmJih0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9YCR7aX1weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbldpZHRoPSJ1bnNldCIpLHMmJih0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PWAke3N9cHhgLHRoaXMuX2RpYWxvZy5zdHlsZS5taW5IZWlnaHQ9InVuc2V0Iil9fWVsc2UgaWYobyl7Y29uc3R7bGVmdDp0LHRvcDplfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2V7dGhpcy5fZGlhbG9nLnN0eWxlLndpZHRoPSIiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IiI7Y29uc3Qgbz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLTIqaSxuPSgwLHUuY2xhbXBTZWdtZW50KShvLmxlZnQsby53aWR0aCwwLHQpLGE9KDAsdS5jbGFtcFNlZ21lbnQpKG8udG9wLG8uaGVpZ2h0LGksZSk7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYCx0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PXM8by5oZWlnaHQ/cysicHgiOnRoaXMuX2luaXRpYWxIZWlnaHR9fWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89aSg1ODU0OCksbT1pKDQ5MDg5MyksZj1pKDg3MjUxOCksdj1pKDMzMjY2MCksRD1pKDExNzMxMykseT1pKDMzNzM2Mik7dmFyIEU9aSg2OTIyNjYpLHg9aSgxNDc5MDEpLHc9aSgxNzU4NjMpCjtjb25zdCBiPXdbInRvb2x0aXAtb2Zmc2V0Il0sVD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpP2NsYXNzIGV4dGVuZHMgZ3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy5fZW5hYmxlZD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpfV9nZXRDbGllbnREaW1lbnNpb25zKCl7Y29uc3QgdD1zdXBlci5fZ2V0Q2xpZW50RGltZW5zaW9ucygpO2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IGU9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2UmJih0LmNsaWVudEhlaWdodD1lLmhlaWdodCl9cmV0dXJuIHR9X2dldFRvcE9mZnNldCgpe2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IHQ9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2lmKHQpcmV0dXJuIHQudG9wfXJldHVybiBzdXBlci5fZ2V0VG9wT2Zmc2V0KCl9fTpnO2NsYXNzIFMgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucz1bXSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2V2ZW50RGlzcGF0Y2hlcj1uZXcgdi5EaWFsb2dFdmVudERpc3BhdGNoZXIsdGhpcy5faGFuZGxlRGlhbG9nUmVmPXQ9Pntjb25zdHtyZWZlcmVuY2U6ZX09dGhpcy5wcm9wczt0aGlzLl9kaWFsb2c9dCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9LHRoaXMuX2hhbmRsZUZvY3VzPSgpPT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZU1vdXNlRG93bj10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQ9dD0+e3RoaXMuX21vdmVUb1RvcCgpfSx0aGlzLnN0YXRlPXtjYW5GaXRUb29sdGlwOiExfSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50fXJlbmRlcigpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobS5Qb3B1cENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LG8uY3JlYXRlRWxlbWVudChsLk91dHNpZGVFdmVudCx7bW91c2VEb3duOiEwLHRvdWNoU3RhcnQ6ITAsaGFuZGxlcjp0aGlzLnByb3BzLm9uQ2xpY2tPdXRzaWRlfSwodD0+by5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6dCwiZGF0YS1vdXRzaWRlLWJvdW5kYXJ5LWZvciI6dGhpcy5wcm9wcy5uYW1lLG9uRm9jdXM6dGhpcy5faGFuZGxlRm9jdXMsb25Nb3VzZURvd246dGhpcy5faGFuZGxlTW91c2VEb3duLG9uVG91Y2hTdGFydDp0aGlzLl9oYW5kbGVUb3VjaFN0YXJ0LCJkYXRhLWRpYWxvZy1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLWRpYWxvZy1uYW1lIl0sImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjoidHJ1ZSIsImRhdGEtcWEtaWQiOigwLHguZGF0YVFhSWRzKSgidWktbGliLVBvcHVwRGlhbG9nIix0aGlzLnByb3BzLmRhdGFRYUlkKX0sby5jcmVhdGVFbGVtZW50KHIuRGlhbG9nLHtzdHlsZTp0aGlzLl9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpLC4uLnRoaXMucHJvcHMscmVmZXJlbmNlOnRoaXMuX2hhbmRsZURpYWxvZ1JlZixjbGFzc05hbWU6bigpKHcuZGlhbG9nLCgwLEQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmIXRoaXMucHJvcHMubm9Nb2JpbGVBcHBTaGFkb3dzJiZ3Lm1vYmlsZSx0aGlzLnByb3BzLmZ1bGxzY3JlZW4mJncuZnVsbHNjcmVlbix0aGlzLnByb3BzLmNsYXNzTmFtZSl9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCYmdGhpcy5zdGF0ZS5jYW5GaXRUb29sdGlwJiZvLmNyZWF0ZUVsZW1lbnQoRS5Ub29sdGlwV2lkZ2V0LHtjbGFzc05hbWU6dy5kaWFsb2dUb29sdGlwfSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXApLHRoaXMucHJvcHMuY2hpbGRyZW4pKSkpKX1jb21wb25lbnREaWRNb3VudCgpe2NvbnN0e2RyYWdnYWJsZTp0LGJvdW5kQnlTY3JlZW46ZSxvbkRyYWdTdGFydDppfT10aGlzLnByb3BzLG89KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kaWFsb2cpO2lmKHRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLW9wZW4iKSx0KXtjb25zdCB0PW8ucXVlcnlTZWxlY3RvcigiW2RhdGEtZHJhZ2ctYXJlYV0iKTtpZih0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2NvbnN0IHM9bmV3IGQuRHJhZ0hhbmRsZXIobyx0LHtib3VuZEJ5U2NyZWVuOkJvb2xlYW4oZSksb25EcmFnU3RhcnQ6aX0pO3RoaXMuX2NsZWFuVXBGdW5jdGlvbnMucHVzaCgoKCk9PnMuZGVzdHJveSgpKSksdGhpcy5fZHJhZz1zfX10aGlzLnByb3BzLmF1dG9mb2N1cyYmIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJm8uZm9jdXMoKSwodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsZi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOnMsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IFQobyx7Z3VhcmQ6cyxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSwKdGhpcy5wcm9wcy5zaG91bGRGb3JjZUZvY3VzKXtpZih0aGlzLnByb3BzLm9uRm9yY2VGb2N1cylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uRm9yY2VGb2N1cyhvKTtvLmZvY3VzKCl9aWYoIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpe2NvbnN0IHQ9KDAsdS5maW5kRGVmYXVsdEZvY3VzYWJsZUVsZW1lbnQpKG8pO3QgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5mb2N1cygpfX1jb21wb25lbnREaWRVcGRhdGUodCl7Y29uc3QgZT10LmZ1bGxzY3JlZW47aWYodGhpcy5fcmVzaXplKXtjb25zdHtndWFyZDp0LGNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uOmV9PXRoaXMucHJvcHM7dGhpcy5fcmVzaXplLnVwZGF0ZU9wdGlvbnMoe2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX0pLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKX1pZih0aGlzLl9kcmFnJiZ0aGlzLl9kcmFnLnVwZGF0ZU9wdGlvbnMoe2JvdW5kQnlTY3JlZW46Qm9vbGVhbih0aGlzLnByb3BzLmJvdW5kQnlTY3JlZW4pLG9uRHJhZ1N0YXJ0OnRoaXMucHJvcHMub25EcmFnU3RhcnR9KSx0LmZ1bGxzY3JlZW4hPT10aGlzLnByb3BzLmZ1bGxzY3JlZW4pe2NvbnN0IHQ9dGhpcy5wcm9wcy5mdWxsc2NyZWVuO3QmJiFlP3RoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb24iKTohdCYmZSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKX19Y29tcG9uZW50V2lsbFVubW91bnQoKXtpZih0aGlzLnByb3BzLnNob3VsZFJldHVybkZvY3VzJiZ0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCYmZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCkmJihudWxsPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWRvY3VtZW50LmJvZHl8fHRoaXMuX2RpYWxvZz8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpKXRyeXtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3ByZXZBY3RpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSl9Y2F0Y2h7fWZvcihjb25zdCB0IG9mIHRoaXMuX2NsZWFuVXBGdW5jdGlvbnMpdCgpOyh0aGlzLl9pc0Z1bGxTY3JlZW4oKXx8dGhpcy5wcm9wcy5maXhlZEJvZHkpJiYoMCxmLnNldEZpeGVkQm9keVN0YXRlKSghMSksdGhpcy5faXNGdWxsU2NyZWVuKCkmJnRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIiksdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctY2xvc2UiKX1mb2N1cygpe3RoaXMuX2RpYWxvZyYmdGhpcy5fZGlhbG9nLmZvY3VzKCl9Y2VudGVyQW5kRml0KCl7dGhpcy5fcmVzaXplJiZ0aGlzLl9yZXNpemUuY2VudGVyQW5kRml0KCl9cmVjYWxjdWxhdGVCb3VuZHMoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5yZWNhbGN1bGF0ZUJvdW5kcygpfV9tb3ZlVG9Ub3AoKXt0aGlzLnByb3BzLmlzWkluZGV4Rml4ZWR8fG51bGwhPT10aGlzLmNvbnRleHQmJnRoaXMuY29udGV4dC5tb3ZlVG9Ub3AoKX1fYXBwbHlBbmltYXRpb25DU1NWYXJpYWJsZXMoKXtyZXR1cm57Ii0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSI6bnVsbCwiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiOm51bGx9fV9hcHBseUFwcGVhcmFuY2VBbmltYXRpb24odCl7aWYodGhpcy5fcmVzaXplJiZ0aGlzLl9kaWFsb2cpe2NvbnN0e3g6ZSx5Oml9PXQse3g6byx5OnN9PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCk7dGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WCIsYCR7ZX1weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkiLGAke2l9cHhgKSx0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWCIsYCR7b31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZIixgJHtzfXB4YCksdGhpcy5fZGlhbG9nLmNsYXNzTGlzdC5hZGQody5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UpfX1faGFuZGxlVG9vbHRpcEZpdCgpe2lmKHRoaXMuX3Jlc2l6ZSl7Y29uc3QgdD10aGlzLl9yZXNpemUuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLnktcGFyc2VJbnQoYik+PTA7dGhpcy5zZXRTdGF0ZSh7Y2FuRml0VG9vbHRpcDp0fSl9fV9pc0Z1bGxTY3JlZW4oKXtyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX1TLmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCxTLmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBGPSgwLGMubWFrZU92ZXJsYXBhYmxlKShTLCEwKX0sNTMxOTI4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBvLHM9aSg2NDA3NDQpLG49aSg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLGksbyl7cmV0dXJuIHQrZT5vJiYodD1vLWUpLHQ8aSYmKHQ9aSksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLHMuY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAscy5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpCjtlLmluaXRFdmVudCgiY2xpY2siLCEwLCEwKSx0LmRpc3BhdGNoRXZlbnQoZSl9dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmNsaWNrKCl9ZnVuY3Rpb24gaCh0KXtyZXR1cm57eDp0LmNsaWVudFgseTp0LmNsaWVudFl9fWZ1bmN0aW9uIGModCl7cmV0dXJue3g6dC50b3VjaGVzWzBdLmNsaWVudFgseTp0LnRvdWNoZXNbMF0uY2xpZW50WX19ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXQucXVlcnlTZWxlY3RvcigiW2F1dG9mb2N1c106bm90KFtkaXNhYmxlZF0pIik7aWYoZSlyZXR1cm4gZTtpZih0LnRhYkluZGV4Pj0wKXJldHVybiB0O2NvbnN0IGk9KDAsbi5nZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzKSgpLG89QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoaSkpLmZpbHRlcigoMCxuLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKSh0KSk7bGV0IHM9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGE9bnVsbDtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7Y29uc3QgZT1vW3RdLGk9ZS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iik7aWYobnVsbCE9PWkpe2NvbnN0IHQ9cGFyc2VJbnQoaSwxMCk7IWlzTmFOKHQpJiZ0PnMmJihzPXQsYT1lKX19cmV0dXJuIGF9IWZ1bmN0aW9uKHQpe3RbdC5Nb3VzZUd1YXJkWm9uZT0yMF09Ik1vdXNlR3VhcmRab25lIn0ob3x8KG89e30pKX0sODA2NjkzKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS43MDcgOWw0LjY0Ny00LjY0Ni0uNzA3LS43MDhMOSA4LjI5MyA0LjM1NCAzLjY0NmwtLjcwOC43MDhMOC4yOTMgOWwtNC42NDcgNC42NDYuNzA4LjcwOEw5IDkuNzA3bDQuNjQ2IDQuNjQ3LjcwOC0uNzA3TDkuNzA3IDl6Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.194Z","timestamp":1785124875194,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/5.15.4/css/all.min.css HTTP/1.1\r\nHost: cdnjs.cloudflare.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://berthenergy-inc.biz/\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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 10462\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\ncontent-encoding: br\r\nlast-modified: Mon, 13 Sep 2021 19:10:03 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=5ss8QgOBI8BttQpcCOmwNBOrzS0IKYZeGB9iB0omwGa57qfha%2FK0C5LVHxvVSkS8WalWlnbcHfJIkFhZpmUzAuCg9PYBCd%2B0%2BfADT%2F2EJKzr%2BQjLooIzzBj%2BmXbdzRYeRp2aPwXj\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=2,i=?0\r\nserver: cloudflare\r\ncf-ray: a218bde61953568d-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":59305,"size_decoded":11459,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (59119)","md5":"ecd507b3125edc4d2a03aa6ae5d07da9","sha1":"a57ee68d11601b0fd8e5037fc241ff65a754473c","sha256":"99464ceb71bc9bbdcc72275faefe44f98eb5cbb6b5d8ee665b87b35376f1a96e","sha512":"d72727e8871a410e34fcc2815b65b84618acfc36c82d4ef80b5bd2acb2710aae7ba3de35626d354b036c38caaf10116572051aeb12e23d8fcd4b947e13aced25","ssdeep":"768:PEh31IPiyXNq4YxBowbgJlkwF//zMQyYJYX9Bf7VSzl:PE0PxXE4YXJgndFTfy9lQB","tlshash":"8c43fbb8e54c01cab731c44bef81b2bc61b6f73de5914d95f00e691c2ad26a811c5fba","first_seen":"2023-03-13T09:02:16Z","last_seen":"2026-07-27T06:04:05.282985Z","times_seen":46765,"resource_available":false,"data":"LyohCiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuNCBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbQogKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKQogKi8KLmZhLC5mYWIsLmZhZCwuZmFsLC5mYXIsLmZhc3stbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtcmVuZGVyaW5nOmF1dG87bGluZS1oZWlnaHQ6MX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotLjA2NjdlbX0uZmEteHN7Zm9udC1zaXplOi43NWVtfS5mYS1zbXtmb250LXNpemU6Ljg3NWVtfS5mYS0xeHtmb250LXNpemU6MWVtfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS02eHtmb250LXNpemU6NmVtfS5mYS03eHtmb250LXNpemU6N2VtfS5mYS04eHtmb250LXNpemU6OGVtfS5mYS05eHtmb250LXNpemU6OWVtfS5mYS0xMHh7Zm9udC1zaXplOjEwZW19LmZhLWZ3e3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEuMjVlbX0uZmEtdWx7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luLWxlZnQ6Mi41ZW07cGFkZGluZy1sZWZ0OjB9LmZhLXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mYS1saXtsZWZ0Oi0yZW07cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MmVtO2xpbmUtaGVpZ2h0OmluaGVyaXR9LmZhLWJvcmRlcntib3JkZXI6LjA4ZW0gc29saWQgI2VlZTtib3JkZXItcmFkaXVzOi4xZW07cGFkZGluZzouMmVtIC4yNWVtIC4xNWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0LC5mYWIuZmEtcHVsbC1sZWZ0LC5mYWwuZmEtcHVsbC1sZWZ0LC5mYXIuZmEtcHVsbC1sZWZ0LC5mYXMuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0LC5mYWIuZmEtcHVsbC1yaWdodCwuZmFsLmZhLXB1bGwtcmlnaHQsLmZhci5mYS1wdWxsLXJpZ2h0LC5mYXMuZmEtcHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5mYS1zcGluey13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZX0uZmEtcHVsc2V7LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAxcyBzdGVwcyg4KSBpbmZpbml0ZTthbmltYXRpb246ZmEtc3BpbiAxcyBzdGVwcyg4KSBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1Aa2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uZmEtcm90YXRlLTE4MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmZhLWZsaXAtaG9yaXpvbnRhbHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSkiOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgtMSk7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LmZhLWZsaXAtdmVydGljYWx7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKC0xKTt0cmFuc2Zvcm06c2NhbGVZKC0xKX0uZmEtZmxpcC1ib3RoLC5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCwuZmEtZmxpcC12ZXJ0aWNhbHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSkifS5mYS1mbGlwLWJvdGgsLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2Fsey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xKTt0cmFuc2Zvcm06c2NhbGUoLTEpfTpyb290IC5mYS1mbGlwLWJvdGgsOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCw6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCw6cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwey13ZWJraXQtZmlsdGVyOm5vbmU7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyLjVlbX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS5mYS1zdGFjay0xeHtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1zdGFjay0yeHtmb250LXNpemU6MmVtfS5mYS1pbnZlcnNle2NvbG9yOiNmZmZ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OiJcZjI2ZSJ9LmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmV7Y29udGVudDoiXGYzNjgifS5mYS1hY2N1c29mdDpiZWZvcmV7Y29udGVudDoiXGYzNjkifS5mYS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZXtjb250ZW50OiJcZjZhZiJ9LmZhLWFkOmJlZm9yZXtjb250ZW50OiJcZjY0MSJ9LmZhLWFkZHJlc3MtYm9vazpiZWZvcmV7Y29udGVudDoiXGYyYjkifS5mYS1hZGRyZXNzLWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmJiIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLWFkbjpiZWZvcmV7Y29udGVudDoiXGYxNzAifS5mYS1hZHZlcnNhbDpiZWZvcmV7Y29udGVudDoiXGYzNmEifS5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmV7Y29udGVudDoiXGYzNmIifS5mYS1haXItZnJlc2hlbmVyOmJlZm9yZXtjb250ZW50OiJcZjVkMCJ9LmZhLWFpcmJuYjpiZWZvcmV7Y29udGVudDoiXGY4MzQifS5mYS1hbGdvbGlhOmJlZm9yZXtjb250ZW50OiJcZjM2YyJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM2In0uZmEtYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM4In0uZmEtYWxpcGF5OmJlZm9yZXtjb250ZW50OiJcZjY0MiJ9LmZhLWFsbGVyZ2llczpiZWZvcmV7Y29udGVudDoiXGY0NjEifS5mYS1hbWF6b246YmVmb3Jle2NvbnRlbnQ6IlxmMjcwIn0uZmEtYW1hem9uLXBheTpiZWZvcmV7Y29udGVudDoiXGY0MmMifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMmEzIn0uZmEtYW1pbGlhOmJlZm9yZXtjb250ZW50OiJcZjM2ZCJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjE3YiJ9LmZhLWFuZ2VsbGlzdDpiZWZvcmV7Y29udGVudDoiXGYyMDkifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMDAifS5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAxIn0uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwMiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtYW5nbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMDQifS5mYS1hbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMDUifS5mYS1hbmdsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDYifS5mYS1hbmdyeTpiZWZvcmV7Y29udGVudDoiXGY1NTYifS5mYS1hbmdyeWNyZWF0aXZlOmJlZm9yZXtjb250ZW50OiJcZjM2ZSJ9LmZhLWFuZ3VsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDIwIn0uZmEtYW5raDpiZWZvcmV7Y29udGVudDoiXGY2NDQifS5mYS1hcHAtc3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzZmIn0uZmEtYXBwLXN0b3JlLWlvczpiZWZvcmV7Y29udGVudDoiXGYzNzAifS5mYS1hcHBlcjpiZWZvcmV7Y29udGVudDoiXGYzNzEifS5mYS1hcHBsZTpiZWZvcmV7Y29udGVudDoiXGYxNzkifS5mYS1hcHBsZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWQxIn0uZmEtYXBwbGUtcGF5OmJlZm9yZXtjb250ZW50OiJcZjQxNSJ9LmZhLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTg3In0uZmEtYXJjaHdheTpiZWZvcmV7Y29udGVudDoiXGY1NTcifS5mYS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMzU4In0uZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjM1OSJ9LmZhLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzVhIn0uZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYzNWIifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTgifS5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE5In0uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjBhYSJ9LmZhLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDYzIn0uZmEtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwNjAifS5mYS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNjEifS5mYS1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGYwNjIifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWFycm93cy1hbHQtaDpiZWZvcmV7Y29udGVudDoiXGYzMzcifS5mYS1hcnJvd3MtYWx0LXY6YmVmb3Jle2NvbnRlbnQ6IlxmMzM4In0uZmEtYXJ0c3RhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY3N2EifS5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmEyIn0uZmEtYXN0ZXJpc2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDY5In0uZmEtYXN5bW1ldHJpazpiZWZvcmV7Y29udGVudDoiXGYzNzIifS5mYS1hdDpiZWZvcmV7Y29udGVudDoiXGYxZmEifS5mYS1hdGxhczpiZWZvcmV7Y29udGVudDoiXGY1NTgifS5mYS1hdGxhc3NpYW46YmVmb3Jle2NvbnRlbnQ6IlxmNzdiIn0uZmEtYXRvbTpiZWZvcmV7Y29udGVudDoiXGY1ZDIifS5mYS1hdWRpYmxlOmJlZm9yZXtjb250ZW50OiJcZjM3MyJ9LmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjI5ZSJ9LmZhLWF1dG9wcmVmaXhlcjpiZWZvcmV7Y29udGVudDoiXGY0MWMifS5mYS1hdmlhbmV4OmJlZm9yZXtjb250ZW50OiJcZjM3NCJ9LmZhLWF2aWF0bzpiZWZvcmV7Y29udGVudDoiXGY0MjEifS5mYS1hd2FyZDpiZWZvcmV7Y29udGVudDoiXGY1NTkifS5mYS1hd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMzc1In0uZmEtYmFieTpiZWZvcmV7Y29udGVudDoiXGY3N2MifS5mYS1iYWJ5LWNhcnJpYWdlOmJlZm9yZXtjb250ZW50OiJcZjc3ZCJ9LmZhLWJhY2tzcGFjZTpiZWZvcmV7Y29udGVudDoiXGY1NWEifS5mYS1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNGEifS5mYS1iYWNvbjpiZWZvcmV7Y29udGVudDoiXGY3ZTUifS5mYS1iYWN0ZXJpYTpiZWZvcmV7Y29udGVudDoiXGUwNTkifS5mYS1iYWN0ZXJpdW06YmVmb3Jle2NvbnRlbnQ6IlxlMDVhIn0uZmEtYmFoYWk6YmVmb3Jle2NvbnRlbnQ6IlxmNjY2In0uZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmV7Y29udGVudDoiXGYyNGUifS5mYS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTE1In0uZmEtYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGY1MTYifS5mYS1iYW46YmVmb3Jle2NvbnRlbnQ6IlxmMDVlIn0uZmEtYmFuZC1haWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDYyIn0uZmEtYmFuZGNhbXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ1In0uZmEtYmFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMmEifS5mYS1iYXJzOmJlZm9yZXtjb250ZW50OiJcZjBjOSJ9LmZhLWJhc2ViYWxsLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDMzIn0uZmEtYmFza2V0YmFsbC1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQzNCJ9LmZhLWJhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMmNkIn0uZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uZmEtYmF0dGVyeS1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI0MiJ9LmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDMifS5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjI0MSJ9LmZhLWJhdHRsZS1uZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmODM1In0uZmEtYmVkOmJlZm9yZXtjb250ZW50OiJcZjIzNiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtYmVoYW5jZTpiZWZvcmV7Y29udGVudDoiXGYxYjQifS5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjUifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWJlbGwtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY2In0uZmEtYmV6aWVyLWN1cnZlOmJlZm9yZXtjb250ZW50OiJcZjU1YiJ9LmZhLWJpYmxlOmJlZm9yZXtjb250ZW50OiJcZjY0NyJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtYmlraW5nOmJlZm9yZXtjb250ZW50OiJcZjg0YSJ9LmZhLWJpbW9iamVjdDpiZWZvcmV7Y29udGVudDoiXGYzNzgifS5mYS1iaW5vY3VsYXJzOmJlZm9yZXtjb250ZW50OiJcZjFlNSJ9LmZhLWJpb2hhemFyZDpiZWZvcmV7Y29udGVudDoiXGY3ODAifS5mYS1iaXJ0aGRheS1jYWtlOmJlZm9yZXtjb250ZW50OiJcZjFmZCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRjb2luOmJlZm9yZXtjb250ZW50OiJcZjM3OSJ9LmZhLWJpdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMzdhIn0uZmEtYmxhY2stdGllOmJlZm9yZXtjb250ZW50OiJcZjI3ZSJ9LmZhLWJsYWNrYmVycnk6YmVmb3Jle2NvbnRlbnQ6IlxmMzdiIn0uZmEtYmxlbmRlcjpiZWZvcmV7Y29udGVudDoiXGY1MTcifS5mYS1ibGVuZGVyLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjZiNiJ9LmZhLWJsaW5kOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9LmZhLWJsb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNzgxIn0uZmEtYmxvZ2dlcjpiZWZvcmV7Y29udGVudDoiXGYzN2MifS5mYS1ibG9nZ2VyLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMzdkIn0uZmEtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjI5MyJ9LmZhLWJsdWV0b290aC1iOmJlZm9yZXtjb250ZW50OiJcZjI5NCJ9LmZhLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMyIn0uZmEtYm9sdDpiZWZvcmV7Y29udGVudDoiXGYwZTcifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLWJvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWQ3In0uZmEtYm9uZzpiZWZvcmV7Y29udGVudDoiXGY1NWMifS5mYS1ib29rOmJlZm9yZXtjb250ZW50OiJcZjAyZCJ9LmZhLWJvb2stZGVhZDpiZWZvcmV7Y29udGVudDoiXGY2YjcifS5mYS1ib29rLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmN2U2In0uZmEtYm9vay1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjUxOCJ9LmZhLWJvb2stcmVhZGVyOmJlZm9yZXtjb250ZW50OiJcZjVkYSJ9LmZhLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZjAyZSJ9LmZhLWJvb3RzdHJhcDpiZWZvcmV7Y29udGVudDoiXGY4MzYifS5mYS1ib3JkZXItYWxsOmJlZm9yZXtjb250ZW50OiJcZjg0YyJ9LmZhLWJvcmRlci1ub25lOmJlZm9yZXtjb250ZW50OiJcZjg1MCJ9LmZhLWJvcmRlci1zdHlsZTpiZWZvcmV7Y29udGVudDoiXGY4NTMifS5mYS1ib3dsaW5nLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDM2In0uZmEtYm94OmJlZm9yZXtjb250ZW50OiJcZjQ2NiJ9LmZhLWJveC1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjQ5ZSJ9LmZhLWJveC10aXNzdWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDViIn0uZmEtYm94ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDY4In0uZmEtYnJhaWxsZTpiZWZvcmV7Y29udGVudDoiXGYyYTEifS5mYS1icmFpbjpiZWZvcmV7Y29udGVudDoiXGY1ZGMifS5mYS1icmVhZC1zbGljZTpiZWZvcmV7Y29udGVudDoiXGY3ZWMifS5mYS1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGIxIn0uZmEtYnJpZWZjYXNlLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDY5In0uZmEtYnJvYWRjYXN0LXRvd2VyOmJlZm9yZXtjb250ZW50OiJcZjUxOSJ9LmZhLWJyb29tOmJlZm9yZXtjb250ZW50OiJcZjUxYSJ9LmZhLWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjU1ZCJ9LmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1idWZmZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODM3In0uZmEtYnVnOmJlZm9yZXtjb250ZW50OiJcZjE4OCJ9LmZhLWJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OiJcZjFhZCJ9LmZhLWJ1bGxob3JuOmJlZm9yZXtjb250ZW50OiJcZjBhMSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWJ1cm46YmVmb3Jle2NvbnRlbnQ6IlxmNDZhIn0uZmEtYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmV7Y29udGVudDoiXGYzN2YifS5mYS1idXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjA3In0uZmEtYnVzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1NWUifS5mYS1idXNpbmVzcy10aW1lOmJlZm9yZXtjb250ZW50OiJcZjY0YSJ9LmZhLWJ1eS1uLWxhcmdlOmJlZm9yZXtjb250ZW50OiJcZjhhNiJ9LmZhLWJ1eXNlbGxhZHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjBkIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYxZWMifS5mYS1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1jYWxlbmRhci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtY2FsZW5kYXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjc0In0uZmEtY2FsZW5kYXItZGF5OmJlZm9yZXtjb250ZW50OiJcZjc4MyJ9LmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjI3MiJ9LmZhLWNhbGVuZGFyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjcxIn0uZmEtY2FsZW5kYXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjczIn0uZmEtY2FsZW5kYXItd2VlazpiZWZvcmV7Y29udGVudDoiXGY3ODQifS5mYS1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMDMwIn0uZmEtY2FtZXJhLXJldHJvOmJlZm9yZXtjb250ZW50OiJcZjA4MyJ9LmZhLWNhbXBncm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmJiIn0uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmV7Y29udGVudDoiXGY3ODUifS5mYS1jYW5keS1jYW5lOmJlZm9yZXtjb250ZW50OiJcZjc4NiJ9LmZhLWNhbm5hYmlzOmJlZm9yZXtjb250ZW50OiJcZjU1ZiJ9LmZhLWNhcHN1bGVzOmJlZm9yZXtjb250ZW50OiJcZjQ2YiJ9LmZhLWNhcjpiZWZvcmV7Y29udGVudDoiXGYxYjkifS5mYS1jYXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjVkZSJ9LmZhLWNhci1iYXR0ZXJ5OmJlZm9yZXtjb250ZW50OiJcZjVkZiJ9LmZhLWNhci1jcmFzaDpiZWZvcmV7Y29udGVudDoiXGY1ZTEifS5mYS1jYXItc2lkZTpiZWZvcmV7Y29udGVudDoiXGY1ZTQifS5mYS1jYXJhdmFuOmJlZm9yZXtjb250ZW50OiJcZjhmZiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNTAifS5mYS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1jYXJldC1zcXVhcmUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtY2FyZXQtc3F1YXJlLXVwOmJlZm9yZXtjb250ZW50OiJcZjE1MSJ9LmZhLWNhcmV0LXVwOmJlZm9yZXtjb250ZW50OiJcZjBkOCJ9LmZhLWNhcnJvdDpiZWZvcmV7Y29udGVudDoiXGY3ODcifS5mYS1jYXJ0LWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMjE4In0uZmEtY2FydC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIxNyJ9LmZhLWNhc2gtcmVnaXN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzg4In0uZmEtY2F0OmJlZm9yZXtjb250ZW50OiJcZjZiZSJ9LmZhLWNjLWFtYXpvbi1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDJkIn0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDoiXGYxZjMifS5mYS1jYy1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE2In0uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjRjIn0uZmEtY2MtZGlzY292ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWYyIn0uZmEtY2MtamNiOmJlZm9yZXtjb250ZW50OiJcZjI0YiJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWYxIn0uZmEtY2MtcGF5cGFsOmJlZm9yZXtjb250ZW50OiJcZjFmNCJ9LmZhLWNjLXN0cmlwZTpiZWZvcmV7Y29udGVudDoiXGYxZjUifS5mYS1jYy12aXNhOmJlZm9yZXtjb250ZW50OiJcZjFmMCJ9LmZhLWNlbnRlcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzgwIn0uZmEtY2VudG9zOmJlZm9yZXtjb250ZW50OiJcZjc4OSJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWNoYWlyOmJlZm9yZXtjb250ZW50OiJcZjZjMCJ9LmZhLWNoYWxrYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTFiIn0uZmEtY2hhbGtib2FyZC10ZWFjaGVyOmJlZm9yZXtjb250ZW50OiJcZjUxYyJ9LmZhLWNoYXJnaW5nLXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNWU3In0uZmEtY2hhcnQtYXJlYTpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5mYS1jaGFydC1iYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtY2hhcnQtbGluZTpiZWZvcmV7Y29udGVudDoiXGYyMDEifS5mYS1jaGFydC1waWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjAwIn0uZmEtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDBjIn0uZmEtY2hlY2stY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OCJ9LmZhLWNoZWNrLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGY1NjAifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtY2hlZXNlOmJlZm9yZXtjb250ZW50OiJcZjdlZiJ9LmZhLWNoZXNzOmJlZm9yZXtjb250ZW50OiJcZjQzOSJ9LmZhLWNoZXNzLWJpc2hvcDpiZWZvcmV7Y29udGVudDoiXGY0M2EifS5mYS1jaGVzcy1ib2FyZDpiZWZvcmV7Y29udGVudDoiXGY0M2MifS5mYS1jaGVzcy1raW5nOmJlZm9yZXtjb250ZW50OiJcZjQzZiJ9LmZhLWNoZXNzLWtuaWdodDpiZWZvcmV7Y29udGVudDoiXGY0NDEifS5mYS1jaGVzcy1wYXduOmJlZm9yZXtjb250ZW50OiJcZjQ0MyJ9LmZhLWNoZXNzLXF1ZWVuOmJlZm9yZXtjb250ZW50OiJcZjQ0NSJ9LmZhLWNoZXNzLXJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmNDQ3In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEzNyJ9LmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEzOCJ9LmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEzOSJ9LmZhLWNoZXZyb24tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNzgifS5mYS1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUzIn0uZmEtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNTQifS5mYS1jaGV2cm9uLXVwOmJlZm9yZXtjb250ZW50OiJcZjA3NyJ9LmZhLWNoaWxkOmJlZm9yZXtjb250ZW50OiJcZjFhZSJ9LmZhLWNocm9tZTpiZWZvcmV7Y29udGVudDoiXGYyNjgifS5mYS1jaHJvbWVjYXN0OmJlZm9yZXtjb250ZW50OiJcZjgzOCJ9LmZhLWNodXJjaDpiZWZvcmV7Y29udGVudDoiXGY1MWQifS5mYS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTExIn0uZmEtY2lyY2xlLW5vdGNoOmJlZm9yZXtjb250ZW50OiJcZjFjZSJ9LmZhLWNpdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNjRmIn0uZmEtY2xpbmljLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmN2YyIn0uZmEtY2xpcGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjMyOCJ9LmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmV7Y29udGVudDoiXGY0NmMifS5mYS1jbGlwYm9hcmQtbGlzdDpiZWZvcmV7Y29udGVudDoiXGY0NmQifS5mYS1jbG9jazpiZWZvcmV7Y29udGVudDoiXGYwMTcifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5mYS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1jbG91ZDpiZWZvcmV7Y29udGVudDoiXGYwYzIifS5mYS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzgxIn0uZmEtY2xvdWQtbWVhdGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzNiIn0uZmEtY2xvdWQtbW9vbjpiZWZvcmV7Y29udGVudDoiXGY2YzMifS5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNzNjIn0uZmEtY2xvdWQtcmFpbjpiZWZvcmV7Y29udGVudDoiXGY3M2QifS5mYS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZXtjb250ZW50OiJcZjc0MCJ9LmZhLWNsb3VkLXN1bjpiZWZvcmV7Y29udGVudDoiXGY2YzQifS5mYS1jbG91ZC1zdW4tcmFpbjpiZWZvcmV7Y29udGVudDoiXGY3NDMifS5mYS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM4MiJ9LmZhLWNsb3VkZmxhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDdkIn0uZmEtY2xvdWRzY2FsZTpiZWZvcmV7Y29udGVudDoiXGYzODMifS5mYS1jbG91ZHNtaXRoOmJlZm9yZXtjb250ZW50OiJcZjM4NCJ9LmZhLWNsb3VkdmVyc2lmeTpiZWZvcmV7Y29udGVudDoiXGYzODUifS5mYS1jb2NrdGFpbDpiZWZvcmV7Y29udGVudDoiXGY1NjEifS5mYS1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjEyMSJ9LmZhLWNvZGUtYnJhbmNoOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLWNvZGVwZW46YmVmb3Jle2NvbnRlbnQ6IlxmMWNiIn0uZmEtY29kaWVwaWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjg0In0uZmEtY29mZmVlOmJlZm9yZXtjb250ZW50OiJcZjBmNCJ9LmZhLWNvZzpiZWZvcmV7Y29udGVudDoiXGYwMTMifS5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvaW5zOmJlZm9yZXtjb250ZW50OiJcZjUxZSJ9LmZhLWNvbHVtbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGRiIn0uZmEtY29tbWVudDpiZWZvcmV7Y29udGVudDoiXGYwNzUifS5mYS1jb21tZW50LWFsdDpiZWZvcmV7Y29udGVudDoiXGYyN2EifS5mYS1jb21tZW50LWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2NTEifS5mYS1jb21tZW50LWRvdHM6YmVmb3Jle2NvbnRlbnQ6IlxmNGFkIn0uZmEtY29tbWVudC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdmNSJ9LmZhLWNvbW1lbnQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGIzIn0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxmMDg2In0uZmEtY29tbWVudHMtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY1MyJ9LmZhLWNvbXBhY3QtZGlzYzpiZWZvcmV7Y29udGVudDoiXGY1MWYifS5mYS1jb21wYXNzOmJlZm9yZXtjb250ZW50OiJcZjE0ZSJ9LmZhLWNvbXByZXNzOmJlZm9yZXtjb250ZW50OiJcZjA2NiJ9LmZhLWNvbXByZXNzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0MjIifS5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjc4YyJ9LmZhLWNvbmNpZXJnZS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjU2MiJ9LmZhLWNvbmZsdWVuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNzhkIn0uZmEtY29ubmVjdGRldmVsb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMjBlIn0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OiJcZjI2ZCJ9LmZhLWNvb2tpZTpiZWZvcmV7Y29udGVudDoiXGY1NjMifS5mYS1jb29raWUtYml0ZTpiZWZvcmV7Y29udGVudDoiXGY1NjQifS5mYS1jb3B5OmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDoiXGYxZjkifS5mYS1jb3R0b24tYnVyZWF1OmJlZm9yZXtjb250ZW50OiJcZjg5ZSJ9LmZhLWNvdWNoOmJlZm9yZXtjb250ZW50OiJcZjRiOCJ9LmZhLWNwYW5lbDpiZWZvcmV7Y29udGVudDoiXGYzODgifS5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZXtjb250ZW50OiJcZjI1ZSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3Jle2NvbnRlbnQ6IlxmNGU3In0uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmV7Y29udGVudDoiXGY0ZTgifS5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZXtjb250ZW50OiJcZjRlOSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3Jle2NvbnRlbnQ6IlxmNGVhIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1uZDpiZWZvcmV7Y29udGVudDoiXGY0ZWIifS5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZXtjb250ZW50OiJcZjRlYyJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjRlZCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3Jle2NvbnRlbnQ6IlxmNGVlIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmV7Y29udGVudDoiXGY0ZWYifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZXtjb250ZW50OiJcZjRmMCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmV7Y29udGVudDoiXGY0ZjEifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjRmMiJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmV7Y29udGVudDoiXGY0ZjMifS5mYS1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYwOWQifS5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZXtjb250ZW50OiJcZjZjOSJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY3JvcC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTY1In0uZmEtY3Jvc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjU0In0uZmEtY3Jvc3NoYWlyczpiZWZvcmV7Y29udGVudDoiXGYwNWIifS5mYS1jcm93OmJlZm9yZXtjb250ZW50OiJcZjUyMCJ9LmZhLWNyb3duOmJlZm9yZXtjb250ZW50OiJcZjUyMSJ9LmZhLWNydXRjaDpiZWZvcmV7Y29udGVudDoiXGY3ZjcifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWNzczMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM4YiJ9LmZhLWN1YmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWIyIn0uZmEtY3ViZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWIzIn0uZmEtY3V0OmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWN1dHRsZWZpc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMzhjIn0uZmEtZC1hbmQtZDpiZWZvcmV7Y29udGVudDoiXGYzOGQifS5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmV7Y29udGVudDoiXGY2Y2EifS5mYS1kYWlseW1vdGlvbjpiZWZvcmV7Y29udGVudDoiXGUwNTIifS5mYS1kYXNoY3ViZTpiZWZvcmV7Y29udGVudDoiXGYyMTAifS5mYS1kYXRhYmFzZTpiZWZvcmV7Y29udGVudDoiXGYxYzAifS5mYS1kZWFmOmJlZm9yZXtjb250ZW50OiJcZjJhNCJ9LmZhLWRlZXplcjpiZWZvcmV7Y29udGVudDoiXGUwNzcifS5mYS1kZWxpY2lvdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWE1In0uZmEtZGVtb2NyYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzQ3In0uZmEtZGVwbG95ZG9nOmJlZm9yZXtjb250ZW50OiJcZjM4ZSJ9LmZhLWRlc2twcm86YmVmb3Jle2NvbnRlbnQ6IlxmMzhmIn0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1kZXY6YmVmb3Jle2NvbnRlbnQ6IlxmNmNjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1kaGFybWFjaGFrcmE6YmVmb3Jle2NvbnRlbnQ6IlxmNjU1In0uZmEtZGhsOmJlZm9yZXtjb250ZW50OiJcZjc5MCJ9LmZhLWRpYWdub3NlczpiZWZvcmV7Y29udGVudDoiXGY0NzAifS5mYS1kaWFzcG9yYTpiZWZvcmV7Y29udGVudDoiXGY3OTEifS5mYS1kaWNlOmJlZm9yZXtjb250ZW50OiJcZjUyMiJ9LmZhLWRpY2UtZDIwOmJlZm9yZXtjb250ZW50OiJcZjZjZiJ9LmZhLWRpY2UtZDY6YmVmb3Jle2NvbnRlbnQ6IlxmNmQxIn0uZmEtZGljZS1maXZlOmJlZm9yZXtjb250ZW50OiJcZjUyMyJ9LmZhLWRpY2UtZm91cjpiZWZvcmV7Y29udGVudDoiXGY1MjQifS5mYS1kaWNlLW9uZTpiZWZvcmV7Y29udGVudDoiXGY1MjUifS5mYS1kaWNlLXNpeDpiZWZvcmV7Y29udGVudDoiXGY1MjYifS5mYS1kaWNlLXRocmVlOmJlZm9yZXtjb250ZW50OiJcZjUyNyJ9LmZhLWRpY2UtdHdvOmJlZm9yZXtjb250ZW50OiJcZjUyOCJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmV7Y29udGVudDoiXGYzOTEifS5mYS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmNTY2In0uZmEtZGlyZWN0aW9uczpiZWZvcmV7Y29udGVudDoiXGY1ZWIifS5mYS1kaXNjb3JkOmJlZm9yZXtjb250ZW50OiJcZjM5MiJ9LmZhLWRpc2NvdXJzZTpiZWZvcmV7Y29udGVudDoiXGYzOTMifS5mYS1kaXNlYXNlOmJlZm9yZXtjb250ZW50OiJcZjdmYSJ9LmZhLWRpdmlkZTpiZWZvcmV7Y29udGVudDoiXGY1MjkifS5mYS1kaXp6eTpiZWZvcmV7Y29udGVudDoiXGY1NjcifS5mYS1kbmE6YmVmb3Jle2NvbnRlbnQ6IlxmNDcxIn0uZmEtZG9jaHViOmJlZm9yZXtjb250ZW50OiJcZjM5NCJ9LmZhLWRvY2tlcjpiZWZvcmV7Y29udGVudDoiXGYzOTUifS5mYS1kb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNmQzIn0uZmEtZG9sbGFyLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTU1In0uZmEtZG9sbHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDcyIn0uZmEtZG9sbHktZmxhdGJlZDpiZWZvcmV7Y29udGVudDoiXGY0NzQifS5mYS1kb25hdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGI5In0uZmEtZG9vci1jbG9zZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTJhIn0uZmEtZG9vci1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjUyYiJ9LmZhLWRvdC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtZG92ZTpiZWZvcmV7Y29udGVudDoiXGY0YmEifS5mYS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTkifS5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZXtjb250ZW50OiJcZjM5NiJ9LmZhLWRyYWZ0aW5nLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNTY4In0uZmEtZHJhZ29uOmJlZm9yZXtjb250ZW50OiJcZjZkNSJ9LmZhLWRyYXctcG9seWdvbjpiZWZvcmV7Y29udGVudDoiXGY1ZWUifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzk3In0uZmEtZHJvcGJveDpiZWZvcmV7Y29udGVudDoiXGYxNmIifS5mYS1kcnVtOmJlZm9yZXtjb250ZW50OiJcZjU2OSJ9LmZhLWRydW0tc3RlZWxwYW46YmVmb3Jle2NvbnRlbnQ6IlxmNTZhIn0uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmQ3In0uZmEtZHJ1cGFsOmJlZm9yZXtjb250ZW50OiJcZjFhOSJ9LmZhLWR1bWJiZWxsOmJlZm9yZXtjb250ZW50OiJcZjQ0YiJ9LmZhLWR1bXBzdGVyOmJlZm9yZXtjb250ZW50OiJcZjc5MyJ9LmZhLWR1bXBzdGVyLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNzk0In0uZmEtZHVuZ2VvbjpiZWZvcmV7Y29udGVudDoiXGY2ZDkifS5mYS1keWFsb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMzk5In0uZmEtZWFybHliaXJkczpiZWZvcmV7Y29udGVudDoiXGYzOWEifS5mYS1lYmF5OmJlZm9yZXtjb250ZW50OiJcZjRmNCJ9LmZhLWVkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjgyIn0uZmEtZWRnZS1sZWdhY3k6YmVmb3Jle2NvbnRlbnQ6IlxlMDc4In0uZmEtZWRpdDpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1lZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmN2ZiIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtZWxlbWVudG9yOmJlZm9yZXtjb250ZW50OiJcZjQzMCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1lbGxvOmJlZm9yZXtjb250ZW50OiJcZjVmMSJ9LmZhLWVtYmVyOmJlZm9yZXtjb250ZW50OiJcZjQyMyJ9LmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDoiXGYxZDEifS5mYS1lbnZlbG9wZTpiZWZvcmV7Y29udGVudDoiXGYwZTAifS5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjJiNiJ9LmZhLWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmV7Y29udGVudDoiXGY2NTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtZW52aXJhOmJlZm9yZXtjb250ZW50OiJcZjI5OSJ9LmZhLWVxdWFsczpiZWZvcmV7Y29udGVudDoiXGY1MmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtZXJsYW5nOmJlZm9yZXtjb250ZW50OiJcZjM5ZCJ9LmZhLWV0aGVyZXVtOmJlZm9yZXtjb250ZW50OiJcZjQyZSJ9LmZhLWV0aGVybmV0OmJlZm9yZXtjb250ZW50OiJcZjc5NiJ9LmZhLWV0c3k6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uZmEtZXVyby1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1MyJ9LmZhLWV2ZXJub3RlOmJlZm9yZXtjb250ZW50OiJcZjgzOSJ9LmZhLWV4Y2hhbmdlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzNjIifS5mYS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMmEifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtZXhwYW5kOmJlZm9yZXtjb250ZW50OiJcZjA2NSJ9LmZhLWV4cGFuZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDI0In0uZmEtZXhwYW5kLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzFlIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9LmZhLWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZXtjb250ZW50OiJcZjM1ZCJ9LmZhLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzNjAifS5mYS1leWU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZlIn0uZmEtZXllLWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWZiIn0uZmEtZXllLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjA3MCJ9LmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWZhY2Vib29rLWY6YmVmb3Jle2NvbnRlbnQ6IlxmMzllIn0uZmEtZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZXtjb250ZW50OiJcZjM5ZiJ9LmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwODIifS5mYS1mYW46YmVmb3Jle2NvbnRlbnQ6IlxmODYzIn0uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNmRjIn0uZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDkifS5mYS1mYXN0LWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUwIn0uZmEtZmF1Y2V0OmJlZm9yZXtjb250ZW50OiJcZTAwNSJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1mZWF0aGVyOmJlZm9yZXtjb250ZW50OiJcZjUyZCJ9LmZhLWZlYXRoZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjU2YiJ9LmZhLWZlZGV4OmJlZm9yZXtjb250ZW50OiJcZjc5NyJ9LmZhLWZlZG9yYTpiZWZvcmV7Y29udGVudDoiXGY3OTgifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtZmlnaHRlci1qZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZiIn0uZmEtZmlnbWE6YmVmb3Jle2NvbnRlbnQ6IlxmNzk5In0uZmEtZmlsZTpiZWZvcmV7Y29udGVudDoiXGYxNWIifS5mYS1maWxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1maWxlLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWM2In0uZmEtZmlsZS1hdWRpbzpiZWZvcmV7Y29udGVudDoiXGYxYzcifS5mYS1maWxlLWNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWM5In0uZmEtZmlsZS1jb250cmFjdDpiZWZvcmV7Y29udGVudDoiXGY1NmMifS5mYS1maWxlLWNzdjpiZWZvcmV7Y29udGVudDoiXGY2ZGQifS5mYS1maWxlLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjU2ZCJ9LmZhLWZpbGUtZXhjZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWMzIn0uZmEtZmlsZS1leHBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTZlIn0uZmEtZmlsZS1pbWFnZTpiZWZvcmV7Y29udGVudDoiXGYxYzUifS5mYS1maWxlLWltcG9ydDpiZWZvcmV7Y29udGVudDoiXGY1NmYifS5mYS1maWxlLWludm9pY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNTcwIn0uZmEtZmlsZS1pbnZvaWNlLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY1NzEifS5mYS1maWxlLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDc3In0uZmEtZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0NzgifS5mYS1maWxlLXBkZjpiZWZvcmV7Y29udGVudDoiXGYxYzEifS5mYS1maWxlLXBvd2VycG9pbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWM0In0uZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNTcyIn0uZmEtZmlsZS1zaWduYXR1cmU6YmVmb3Jle2NvbnRlbnQ6IlxmNTczIn0uZmEtZmlsZS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTc0In0uZmEtZmlsZS12aWRlbzpiZWZvcmV7Y29udGVudDoiXGYxYzgifS5mYS1maWxlLXdvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsbDpiZWZvcmV7Y29udGVudDoiXGY1NzUifS5mYS1maWxsLWRyaXA6YmVmb3Jle2NvbnRlbnQ6IlxmNTc2In0uZmEtZmlsbTpiZWZvcmV7Y29udGVudDoiXGYwMDgifS5mYS1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGIwIn0uZmEtZmluZ2VycHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTc3In0uZmEtZmlyZTpiZWZvcmV7Y29udGVudDoiXGYwNmQifS5mYS1maXJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY3ZTQifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1maXJlZm94OmJlZm9yZXtjb250ZW50OiJcZjI2OSJ9LmZhLWZpcmVmb3gtYnJvd3NlcjpiZWZvcmV7Y29udGVudDoiXGUwMDcifS5mYS1maXJzdC1haWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDc5In0uZmEtZmlyc3Qtb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmIwIn0uZmEtZmlyc3Qtb3JkZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjUwYSJ9LmZhLWZpcnN0ZHJhZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2ExIn0uZmEtZmlzaDpiZWZvcmV7Y29udGVudDoiXGY1NzgifS5mYS1maXN0LXJhaXNlZDpiZWZvcmV7Y29udGVudDoiXGY2ZGUifS5mYS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjAyNCJ9LmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZXtjb250ZW50OiJcZjExZSJ9LmZhLWZsYWctdXNhOmJlZm9yZXtjb250ZW50OiJcZjc0ZCJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWZsaWNrcjpiZWZvcmV7Y29udGVudDoiXGYxNmUifS5mYS1mbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDRkIn0uZmEtZmx1c2hlZDpiZWZvcmV7Y29udGVudDoiXGY1NzkifS5mYS1mbHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE3In0uZmEtZm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZjA3YiJ9LmZhLWZvbGRlci1taW51czpiZWZvcmV7Y29udGVudDoiXGY2NWQifS5mYS1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDoiXGYwN2MifS5mYS1mb2xkZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGY2NWUifS5mYS1mb250OmJlZm9yZXtjb250ZW50OiJcZjAzMSJ9LmZhLWZvbnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyYjQifS5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM1YyJ9LmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjQyNSJ9LmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNGU2In0uZmEtZm9udGljb25zOmJlZm9yZXtjb250ZW50OiJcZjI4MCJ9LmZhLWZvbnRpY29ucy1maTpiZWZvcmV7Y29udGVudDoiXGYzYTIifS5mYS1mb290YmFsbC1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQ0ZSJ9LmZhLWZvcnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyODYifS5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNhMyJ9LmZhLWZvcnVtYmVlOmJlZm9yZXtjb250ZW50OiJcZjIxMSJ9LmZhLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRlIn0uZmEtZm91cnNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxODAifS5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyYzUifS5mYS1mcmVlYnNkOmJlZm9yZXtjb250ZW50OiJcZjNhNCJ9LmZhLWZyb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNTJlIn0uZmEtZnJvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTE5In0uZmEtZnJvd24tb3BlbjpiZWZvcmV7Y29udGVudDoiXGY1N2EifS5mYS1mdWxjcnVtOmJlZm9yZXtjb250ZW50OiJcZjUwYiJ9LmZhLWZ1bm5lbC1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjYyIn0uZmEtZnV0Ym9sOmJlZm9yZXtjb250ZW50OiJcZjFlMyJ9LmZhLWdhbGFjdGljLXJlcHVibGljOmJlZm9yZXtjb250ZW50OiJcZjUwYyJ9LmZhLWdhbGFjdGljLXNlbmF0ZTpiZWZvcmV7Y29udGVudDoiXGY1MGQifS5mYS1nYW1lcGFkOmJlZm9yZXtjb250ZW50OiJcZjExYiJ9LmZhLWdhcy1wdW1wOmJlZm9yZXtjb250ZW50OiJcZjUyZiJ9LmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWdlbTpiZWZvcmV7Y29udGVudDoiXGYzYTUifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9LmZhLWdldC1wb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjY1In0uZmEtZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMjYwIn0uZmEtZ2ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI2MSJ9LmZhLWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjZlMiJ9LmZhLWdpZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDZiIn0uZmEtZ2lmdHM6YmVmb3Jle2NvbnRlbnQ6IlxmNzljIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OiJcZjFkMyJ9LmZhLWdpdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODQxIn0uZmEtZ2l0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZDIifS5mYS1naXRodWI6YmVmb3Jle2NvbnRlbnQ6IlxmMDliIn0uZmEtZ2l0aHViLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxMTMifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLWdpdGtyYWtlbjpiZWZvcmV7Y29udGVudDoiXGYzYTYifS5mYS1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk2In0uZmEtZ2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZjQyNiJ9LmZhLWdsYXNzLWNoZWVyczpiZWZvcmV7Y29udGVudDoiXGY3OWYifS5mYS1nbGFzcy1tYXJ0aW5pOmJlZm9yZXtjb250ZW50OiJcZjAwMCJ9LmZhLWdsYXNzLW1hcnRpbmktYWx0OmJlZm9yZXtjb250ZW50OiJcZjU3YiJ9LmZhLWdsYXNzLXdoaXNrZXk6YmVmb3Jle2NvbnRlbnQ6IlxmN2EwIn0uZmEtZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGY1MzAifS5mYS1nbGlkZTpiZWZvcmV7Y29udGVudDoiXGYyYTUifS5mYS1nbGlkZS1nOmJlZm9yZXtjb250ZW50OiJcZjJhNiJ9LmZhLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZjBhYyJ9LmZhLWdsb2JlLWFmcmljYTpiZWZvcmV7Y29udGVudDoiXGY1N2MifS5mYS1nbG9iZS1hbWVyaWNhczpiZWZvcmV7Y29udGVudDoiXGY1N2QifS5mYS1nbG9iZS1hc2lhOmJlZm9yZXtjb250ZW50OiJcZjU3ZSJ9LmZhLWdsb2JlLWV1cm9wZTpiZWZvcmV7Y29udGVudDoiXGY3YTIifS5mYS1nb2ZvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2E3In0uZmEtZ29sZi1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQ1MCJ9LmZhLWdvb2RyZWFkczpiZWZvcmV7Y29udGVudDoiXGYzYTgifS5mYS1nb29kcmVhZHMtZzpiZWZvcmV7Y29udGVudDoiXGYzYTkifS5mYS1nb29nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEwIn0uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZXtjb250ZW50OiJcZjNhYSJ9LmZhLWdvb2dsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxlMDc5In0uZmEtZ29vZ2xlLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmM2FiIn0uZmEtZ29vZ2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmIzIn0uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmV7Y29udGVudDoiXGYwZDUifS5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ0In0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGYxZWUifS5mYS1nb3B1cmFtOmJlZm9yZXtjb250ZW50OiJcZjY2NCJ9LmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLWdyYXRpcGF5OmJlZm9yZXtjb250ZW50OiJcZjE4NCJ9LmZhLWdyYXY6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ2In0uZmEtZ3JlYXRlci10aGFuOmJlZm9yZXtjb250ZW50OiJcZjUzMSJ9LmZhLWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmV7Y29udGVudDoiXGY1MzIifS5mYS1ncmltYWNlOmJlZm9yZXtjb250ZW50OiJcZjU3ZiJ9LmZhLWdyaW46YmVmb3Jle2NvbnRlbnQ6IlxmNTgwIn0uZmEtZ3Jpbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTgxIn0uZmEtZ3Jpbi1iZWFtOmJlZm9yZXtjb250ZW50OiJcZjU4MiJ9LmZhLWdyaW4tYmVhbS1zd2VhdDpiZWZvcmV7Y29udGVudDoiXGY1ODMifS5mYS1ncmluLWhlYXJ0czpiZWZvcmV7Y29udGVudDoiXGY1ODQifS5mYS1ncmluLXNxdWludDpiZWZvcmV7Y29udGVudDoiXGY1ODUifS5mYS1ncmluLXNxdWludC10ZWFyczpiZWZvcmV7Y29udGVudDoiXGY1ODYifS5mYS1ncmluLXN0YXJzOmJlZm9yZXtjb250ZW50OiJcZjU4NyJ9LmZhLWdyaW4tdGVhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTg4In0uZmEtZ3Jpbi10b25ndWU6YmVmb3Jle2NvbnRlbnQ6IlxmNTg5In0uZmEtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZXtjb250ZW50OiJcZjU4YSJ9LmZhLWdyaW4tdG9uZ3VlLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNThiIn0uZmEtZ3Jpbi13aW5rOmJlZm9yZXtjb250ZW50OiJcZjU4YyJ9LmZhLWdyaXAtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGY1OGQifS5mYS1ncmlwLWxpbmVzOmJlZm9yZXtjb250ZW50OiJcZjdhNCJ9LmZhLWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmN2E1In0uZmEtZ3JpcC12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGY1OGUifS5mYS1ncmlwZmlyZTpiZWZvcmV7Y29udGVudDoiXGYzYWMifS5mYS1ncnVudDpiZWZvcmV7Y29udGVudDoiXGYzYWQifS5mYS1ndWlsZGVkOmJlZm9yZXtjb250ZW50OiJcZTA3ZSJ9LmZhLWd1aXRhcjpiZWZvcmV7Y29udGVudDoiXGY3YTYifS5mYS1ndWxwOmJlZm9yZXtjb250ZW50OiJcZjNhZSJ9LmZhLWgtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBmZCJ9LmZhLWhhY2tlci1uZXdzOmJlZm9yZXtjb250ZW50OiJcZjFkNCJ9LmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYzYWYifS5mYS1oYWNrZXJyYW5rOmJlZm9yZXtjb250ZW50OiJcZjVmNyJ9LmZhLWhhbWJ1cmdlcjpiZWZvcmV7Y29udGVudDoiXGY4MDUifS5mYS1oYW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNmUzIn0uZmEtaGFtc2E6YmVmb3Jle2NvbnRlbnQ6IlxmNjY1In0uZmEtaGFuZC1ob2xkaW5nOmJlZm9yZXtjb250ZW50OiJcZjRiZCJ9LmZhLWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmV7Y29udGVudDoiXGY0YmUifS5mYS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGUwNWMifS5mYS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZXtjb250ZW50OiJcZjRjMCJ9LmZhLWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmV7Y29udGVudDoiXGY0YzEifS5mYS1oYW5kLWxpemFyZDpiZWZvcmV7Y29udGVudDoiXGYyNTgifS5mYS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODA2In0uZmEtaGFuZC1wYXBlcjpiZWZvcmV7Y29udGVudDoiXGYyNTYifS5mYS1oYW5kLXBlYWNlOmJlZm9yZXtjb250ZW50OiJcZjI1YiJ9LmZhLWhhbmQtcG9pbnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYTcifS5mYS1oYW5kLXBvaW50LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE1In0uZmEtaGFuZC1wb2ludC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLXBvaW50LXVwOmJlZm9yZXtjb250ZW50OiJcZjBhNiJ9LmZhLWhhbmQtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNWEifS5mYS1oYW5kLXJvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjU1In0uZmEtaGFuZC1zY2lzc29yczpiZWZvcmV7Y29udGVudDoiXGYyNTcifS5mYS1oYW5kLXNwYXJrbGVzOmJlZm9yZXtjb250ZW50OiJcZTA1ZCJ9LmZhLWhhbmQtc3BvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjU5In0uZmEtaGFuZHM6YmVmb3Jle2NvbnRlbnQ6IlxmNGMyIn0uZmEtaGFuZHMtaGVscGluZzpiZWZvcmV7Y29udGVudDoiXGY0YzQifS5mYS1oYW5kcy13YXNoOmJlZm9yZXtjb250ZW50OiJcZTA1ZSJ9LmZhLWhhbmRzaGFrZTpiZWZvcmV7Y29udGVudDoiXGYyYjUifS5mYS1oYW5kc2hha2UtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA1ZiJ9LmZhLWhhbmRzaGFrZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNjAifS5mYS1oYW51a2lhaDpiZWZvcmV7Y29udGVudDoiXGY2ZTYifS5mYS1oYXJkLWhhdDpiZWZvcmV7Y29udGVudDoiXGY4MDcifS5mYS1oYXNodGFnOmJlZm9yZXtjb250ZW50OiJcZjI5MiJ9LmZhLWhhdC1jb3dib3k6YmVmb3Jle2NvbnRlbnQ6IlxmOGMwIn0uZmEtaGF0LWNvd2JveS1zaWRlOmJlZm9yZXtjb250ZW50OiJcZjhjMSJ9LmZhLWhhdC13aXphcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmU4In0uZmEtaGRkOmJlZm9yZXtjb250ZW50OiJcZjBhMCJ9LmZhLWhlYWQtc2lkZS1jb3VnaDpiZWZvcmV7Y29udGVudDoiXGUwNjEifS5mYS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDYyIn0uZmEtaGVhZC1zaWRlLW1hc2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDYzIn0uZmEtaGVhZC1zaWRlLXZpcnVzOmJlZm9yZXtjb250ZW50OiJcZTA2NCJ9LmZhLWhlYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMWRjIn0uZmEtaGVhZHBob25lczpiZWZvcmV7Y29udGVudDoiXGYwMjUifS5mYS1oZWFkcGhvbmVzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1OGYifS5mYS1oZWFkc2V0OmJlZm9yZXtjb250ZW50OiJcZjU5MCJ9LmZhLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjAwNCJ9LmZhLWhlYXJ0LWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGY3YTkifS5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFlIn0uZmEtaGVsaWNvcHRlcjpiZWZvcmV7Y29udGVudDoiXGY1MzMifS5mYS1oaWdobGlnaHRlcjpiZWZvcmV7Y29udGVudDoiXGY1OTEifS5mYS1oaWtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNmVjIn0uZmEtaGlwcG86YmVmb3Jle2NvbnRlbnQ6IlxmNmVkIn0uZmEtaGlwczpiZWZvcmV7Y29udGVudDoiXGY0NTIifS5mYS1oaXJlLWEtaGVscGVyOmJlZm9yZXtjb250ZW50OiJcZjNiMCJ9LmZhLWhpc3Rvcnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWRhIn0uZmEtaGl2ZTpiZWZvcmV7Y29udGVudDoiXGUwN2YifS5mYS1ob2NrZXktcHVjazpiZWZvcmV7Y29udGVudDoiXGY0NTMifS5mYS1ob2xseS1iZXJyeTpiZWZvcmV7Y29udGVudDoiXGY3YWEifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWhvb2xpOmJlZm9yZXtjb250ZW50OiJcZjQyNyJ9LmZhLWhvcm5iaWxsOmJlZm9yZXtjb250ZW50OiJcZjU5MiJ9LmZhLWhvcnNlOmJlZm9yZXtjb250ZW50OiJcZjZmMCJ9LmZhLWhvcnNlLWhlYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2FiIn0uZmEtaG9zcGl0YWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGY4In0uZmEtaG9zcGl0YWwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ3ZCJ9LmZhLWhvc3BpdGFsLXN5bWJvbDpiZWZvcmV7Y29udGVudDoiXGY0N2UifS5mYS1ob3NwaXRhbC11c2VyOmJlZm9yZXtjb250ZW50OiJcZjgwZCJ9LmZhLWhvdC10dWI6YmVmb3Jle2NvbnRlbnQ6IlxmNTkzIn0uZmEtaG90ZG9nOmJlZm9yZXtjb250ZW50OiJcZjgwZiJ9LmZhLWhvdGVsOmJlZm9yZXtjb250ZW50OiJcZjU5NCJ9LmZhLWhvdGphcjpiZWZvcmV7Y29udGVudDoiXGYzYjEifS5mYS1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uZmEtaG91cmdsYXNzLWVuZDpiZWZvcmV7Y29udGVudDoiXGYyNTMifS5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNTIifS5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUxIn0uZmEtaG91c2UtZGFtYWdlOmJlZm9yZXtjb250ZW50OiJcZjZmMSJ9LmZhLWhvdXNlLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDY1In0uZmEtaG91eno6YmVmb3Jle2NvbnRlbnQ6IlxmMjdjIn0uZmEtaHJ5dm5pYTpiZWZvcmV7Y29udGVudDoiXGY2ZjIifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1odWJzcG90OmJlZm9yZXtjb250ZW50OiJcZjNiMiJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OiJcZjI0NiJ9LmZhLWljZS1jcmVhbTpiZWZvcmV7Y29udGVudDoiXGY4MTAifS5mYS1pY2ljbGVzOmJlZm9yZXtjb250ZW50OiJcZjdhZCJ9LmZhLWljb25zOmJlZm9yZXtjb250ZW50OiJcZjg2ZCJ9LmZhLWlkLWJhZGdlOmJlZm9yZXtjb250ZW50OiJcZjJjMSJ9LmZhLWlkLWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmMyIn0uZmEtaWQtY2FyZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDdmIn0uZmEtaWRlYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDEzIn0uZmEtaWdsb286YmVmb3Jle2NvbnRlbnQ6IlxmN2FlIn0uZmEtaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtaW1hZ2VzOmJlZm9yZXtjb250ZW50OiJcZjMwMiJ9LmZhLWltZGI6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ4In0uZmEtaW5ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMDFjIn0uZmEtaW5kZW50OmJlZm9yZXtjb250ZW50OiJcZjAzYyJ9LmZhLWluZHVzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjI3NSJ9LmZhLWluZmluaXR5OmJlZm9yZXtjb250ZW50OiJcZjUzNCJ9LmZhLWluZm86YmVmb3Jle2NvbnRlbnQ6IlxmMTI5In0uZmEtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDVhIn0uZmEtaW5ub3NvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDgwIn0uZmEtaW5zdGFncmFtOmJlZm9yZXtjb250ZW50OiJcZjE2ZCJ9LmZhLWluc3RhZ3JhbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDU1In0uZmEtaW5zdGFsb2Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDgxIn0uZmEtaW50ZXJjb206YmVmb3Jle2NvbnRlbnQ6IlxmN2FmIn0uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjZiIn0uZmEtaW52aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmN2IwIn0uZmEtaW94aG9zdDpiZWZvcmV7Y29udGVudDoiXGYyMDgifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtaXRjaC1pbzpiZWZvcmV7Y29udGVudDoiXGY4M2EifS5mYS1pdHVuZXM6YmVmb3Jle2NvbnRlbnQ6IlxmM2I0In0uZmEtaXR1bmVzLW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2I1In0uZmEtamF2YTpiZWZvcmV7Y29udGVudDoiXGY0ZTQifS5mYS1qZWRpOmJlZm9yZXtjb250ZW50OiJcZjY2OSJ9LmZhLWplZGktb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTBlIn0uZmEtamVua2luczpiZWZvcmV7Y29udGVudDoiXGYzYjYifS5mYS1qaXJhOmJlZm9yZXtjb250ZW50OiJcZjdiMSJ9LmZhLWpvZ2V0OmJlZm9yZXtjb250ZW50OiJcZjNiNyJ9LmZhLWpvaW50OmJlZm9yZXtjb250ZW50OiJcZjU5NSJ9LmZhLWpvb21sYTpiZWZvcmV7Y29udGVudDoiXGYxYWEifS5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmV7Y29udGVudDoiXGY2NmEifS5mYS1qczpiZWZvcmV7Y29udGVudDoiXGYzYjgifS5mYS1qcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2I5In0uZmEtanNmaWRkbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNjIn0uZmEta2FhYmE6YmVmb3Jle2NvbnRlbnQ6IlxmNjZiIn0uZmEta2FnZ2xlOmJlZm9yZXtjb250ZW50OiJcZjVmYSJ9LmZhLWtleTpiZWZvcmV7Y29udGVudDoiXGYwODQifS5mYS1rZXliYXNlOmJlZm9yZXtjb250ZW50OiJcZjRmNSJ9LmZhLWtleWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjExYyJ9LmZhLWtleWNkbjpiZWZvcmV7Y29udGVudDoiXGYzYmEifS5mYS1raGFuZGE6YmVmb3Jle2NvbnRlbnQ6IlxmNjZkIn0uZmEta2lja3N0YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmM2JiIn0uZmEta2lja3N0YXJ0ZXItazpiZWZvcmV7Y29udGVudDoiXGYzYmMifS5mYS1raXNzOmJlZm9yZXtjb250ZW50OiJcZjU5NiJ9LmZhLWtpc3MtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1OTcifS5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTk4In0uZmEta2l3aS1iaXJkOmJlZm9yZXtjb250ZW50OiJcZjUzNSJ9LmZhLWtvcnZ1ZTpiZWZvcmV7Y29udGVudDoiXGY0MmYifS5mYS1sYW5kbWFyazpiZWZvcmV7Y29udGVudDoiXGY2NmYifS5mYS1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDoiXGYxYWIifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtbGFwdG9wLWNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWZjIn0uZmEtbGFwdG9wLWhvdXNlOmJlZm9yZXtjb250ZW50OiJcZTA2NiJ9LmZhLWxhcHRvcC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjgxMiJ9LmZhLWxhcmF2ZWw6YmVmb3Jle2NvbnRlbnQ6IlxmM2JkIn0uZmEtbGFzdGZtOmJlZm9yZXtjb250ZW50OiJcZjIwMiJ9LmZhLWxhc3RmbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjAzIn0uZmEtbGF1Z2g6YmVmb3Jle2NvbnRlbnQ6IlxmNTk5In0uZmEtbGF1Z2gtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1OWEifS5mYS1sYXVnaC1zcXVpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTliIn0uZmEtbGF1Z2gtd2luazpiZWZvcmV7Y29udGVudDoiXGY1OWMifS5mYS1sYXllci1ncm91cDpiZWZvcmV7Y29udGVudDoiXGY1ZmQifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWxlYW5wdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjEyIn0uZmEtbGVtb246YmVmb3Jle2NvbnRlbnQ6IlxmMDk0In0uZmEtbGVzczpiZWZvcmV7Y29udGVudDoiXGY0MWQifS5mYS1sZXNzLXRoYW46YmVmb3Jle2NvbnRlbnQ6IlxmNTM2In0uZmEtbGVzcy10aGFuLWVxdWFsOmJlZm9yZXtjb250ZW50OiJcZjUzNyJ9LmZhLWxldmVsLWRvd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjNiZSJ9LmZhLWxldmVsLXVwLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzYmYifS5mYS1saWZlLXJpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMWNkIn0uZmEtbGlnaHRidWxiOmJlZm9yZXtjb250ZW50OiJcZjBlYiJ9LmZhLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2MwIn0uZmEtbGluazpiZWZvcmV7Y29udGVudDoiXGYwYzEifS5mYS1saW5rZWRpbjpiZWZvcmV7Y29udGVudDoiXGYwOGMifS5mYS1saW5rZWRpbi1pbjpiZWZvcmV7Y29udGVudDoiXGYwZTEifS5mYS1saW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI4In0uZmEtbGludXg6YmVmb3Jle2NvbnRlbnQ6IlxmMTdjIn0uZmEtbGlyYS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDIyIn0uZmEtbGlzdC1vbDpiZWZvcmV7Y29udGVudDoiXGYwY2IifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtbG9jay1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjNjMSJ9LmZhLWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMzA5In0uZmEtbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzMGEifS5mYS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzMGIifS5mYS1sb25nLWFycm93LWFsdC11cDpiZWZvcmV7Y29udGVudDoiXGYzMGMifS5mYS1sb3ctdmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjJhOCJ9LmZhLWx1Z2dhZ2UtY2FydDpiZWZvcmV7Y29udGVudDoiXGY1OWQifS5mYS1sdW5nczpiZWZvcmV7Y29udGVudDoiXGY2MDQifS5mYS1sdW5ncy12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNjcifS5mYS1seWZ0OmJlZm9yZXtjb250ZW50OiJcZjNjMyJ9LmZhLW1hZ2VudG86YmVmb3Jle2NvbnRlbnQ6IlxmM2M0In0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLW1haWwtYnVsazpiZWZvcmV7Y29udGVudDoiXGY2NzQifS5mYS1tYWlsY2hpbXA6YmVmb3Jle2NvbnRlbnQ6IlxmNTllIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1tYW5kYWxvcmlhbjpiZWZvcmV7Y29udGVudDoiXGY1MGYifS5mYS1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjc5In0uZmEtbWFwLW1hcmtlZDpiZWZvcmV7Y29udGVudDoiXGY1OWYifS5mYS1tYXAtbWFya2VkLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1YTAifS5mYS1tYXAtbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZjA0MSJ9LmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjNSJ9LmZhLW1hcC1waW46YmVmb3Jle2NvbnRlbnQ6IlxmMjc2In0uZmEtbWFwLXNpZ25zOmJlZm9yZXtjb250ZW50OiJcZjI3NyJ9LmZhLW1hcmtkb3duOmJlZm9yZXtjb250ZW50OiJcZjYwZiJ9LmZhLW1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGY1YTEifS5mYS1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyMiJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9LmZhLW1hcnMtc3Ryb2tlOmJlZm9yZXtjb250ZW50OiJcZjIyOSJ9LmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMjJiIn0uZmEtbWFycy1zdHJva2UtdjpiZWZvcmV7Y29udGVudDoiXGYyMmEifS5mYS1tYXNrOmJlZm9yZXtjb250ZW50OiJcZjZmYSJ9LmZhLW1hc3RvZG9uOmJlZm9yZXtjb250ZW50OiJcZjRmNiJ9LmZhLW1heGNkbjpiZWZvcmV7Y29udGVudDoiXGYxMzYifS5mYS1tZGI6YmVmb3Jle2NvbnRlbnQ6IlxmOGNhIn0uZmEtbWVkYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWEyIn0uZmEtbWVkYXBwczpiZWZvcmV7Y29udGVudDoiXGYzYzYifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjNhIn0uZmEtbWVkaXVtLW06YmVmb3Jle2NvbnRlbnQ6IlxmM2M3In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLW1lZHJ0OmJlZm9yZXtjb250ZW50OiJcZjNjOCJ9LmZhLW1lZXR1cDpiZWZvcmV7Y29udGVudDoiXGYyZTAifS5mYS1tZWdhcG9ydDpiZWZvcmV7Y29udGVudDoiXGY1YTMifS5mYS1tZWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTFhIn0uZmEtbWVoLWJsYW5rOmJlZm9yZXtjb250ZW50OiJcZjVhNCJ9LmZhLW1laC1yb2xsaW5nLWV5ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNWE1In0uZmEtbWVtb3J5OmJlZm9yZXtjb250ZW50OiJcZjUzOCJ9LmZhLW1lbmRlbGV5OmJlZm9yZXtjb250ZW50OiJcZjdiMyJ9LmZhLW1lbm9yYWg6YmVmb3Jle2NvbnRlbnQ6IlxmNjc2In0uZmEtbWVyY3VyeTpiZWZvcmV7Y29udGVudDoiXGYyMjMifS5mYS1tZXRlb3I6YmVmb3Jle2NvbnRlbnQ6IlxmNzUzIn0uZmEtbWljcm9ibG9nOmJlZm9yZXtjb250ZW50OiJcZTAxYSJ9LmZhLW1pY3JvY2hpcDpiZWZvcmV7Y29udGVudDoiXGYyZGIifS5mYS1taWNyb3Bob25lOmJlZm9yZXtjb250ZW50OiJcZjEzMCJ9LmZhLW1pY3JvcGhvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjOSJ9LmZhLW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjUzOSJ9LmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMTMxIn0uZmEtbWljcm9zY29wZTpiZWZvcmV7Y29udGVudDoiXGY2MTAifS5mYS1taWNyb3NvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2NhIn0uZmEtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDY4In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLW1pbnVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNDYifS5mYS1taXR0ZW46YmVmb3Jle2NvbnRlbnQ6IlxmN2I1In0uZmEtbWl4OmJlZm9yZXtjb250ZW50OiJcZjNjYiJ9LmZhLW1peGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjI4OSJ9LmZhLW1peGVyOmJlZm9yZXtjb250ZW50OiJcZTA1NiJ9LmZhLW1penVuaTpiZWZvcmV7Y29udGVudDoiXGYzY2MifS5mYS1tb2JpbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTBiIn0uZmEtbW9iaWxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzY2QifS5mYS1tb2R4OmJlZm9yZXtjb250ZW50OiJcZjI4NSJ9LmZhLW1vbmVybzpiZWZvcmV7Y29udGVudDoiXGYzZDAifS5mYS1tb25leS1iaWxsOmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLW1vbmV5LWJpbGwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNkMSJ9LmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmV7Y29udGVudDoiXGY1M2EifS5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjUzYiJ9LmZhLW1vbmV5LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjUzYyJ9LmZhLW1vbmV5LWNoZWNrLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1M2QifS5mYS1tb251bWVudDpiZWZvcmV7Y29udGVudDoiXGY1YTYifS5mYS1tb29uOmJlZm9yZXtjb250ZW50OiJcZjE4NiJ9LmZhLW1vcnRhci1wZXN0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWE3In0uZmEtbW9zcXVlOmJlZm9yZXtjb250ZW50OiJcZjY3OCJ9LmZhLW1vdG9yY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjFjIn0uZmEtbW91bnRhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNmZjIn0uZmEtbW91c2U6YmVmb3Jle2NvbnRlbnQ6IlxmOGNjIn0uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDUifS5mYS1tdWctaG90OmJlZm9yZXtjb250ZW50OiJcZjdiNiJ9LmZhLW11c2ljOmJlZm9yZXtjb250ZW50OiJcZjAwMSJ9LmZhLW5hcHN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmM2QyIn0uZmEtbmVvczpiZWZvcmV7Y29udGVudDoiXGY2MTIifS5mYS1uZXR3b3JrLXdpcmVkOmJlZm9yZXtjb250ZW50OiJcZjZmZiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1uZXdzcGFwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWVhIn0uZmEtbmltYmxyOmJlZm9yZXtjb250ZW50OiJcZjVhOCJ9LmZhLW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDE5In0uZmEtbm9kZS1qczpiZWZvcmV7Y29udGVudDoiXGYzZDMifS5mYS1ub3QtZXF1YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTNlIn0uZmEtbm90ZXMtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0ODEifS5mYS1ucG06YmVmb3Jle2NvbnRlbnQ6IlxmM2Q0In0uZmEtbnM4OmJlZm9yZXtjb250ZW50OiJcZjNkNSJ9LmZhLW51dHJpdGlvbml4OmJlZm9yZXtjb250ZW50OiJcZjNkNiJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDcifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDgifS5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmV7Y29udGVudDoiXGUwODIifS5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZXtjb250ZW50OiJcZjI2MyJ9LmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjI2NCJ9LmZhLW9pbC1jYW46YmVmb3Jle2NvbnRlbnQ6IlxmNjEzIn0uZmEtb2xkLXJlcHVibGljOmJlZm9yZXtjb250ZW50OiJcZjUxMCJ9LmZhLW9tOmJlZm9yZXtjb250ZW50OiJcZjY3OSJ9LmZhLW9wZW5jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjIzZCJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1vcGVyYTpiZWZvcmV7Y29udGVudDoiXGYyNmEifS5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZXtjb250ZW50OiJcZjIzYyJ9LmZhLW9yY2lkOmJlZm9yZXtjb250ZW50OiJcZjhkMiJ9LmZhLW9zaTpiZWZvcmV7Y29udGVudDoiXGY0MWEifS5mYS1vdHRlcjpiZWZvcmV7Y29udGVudDoiXGY3MDAifS5mYS1vdXRkZW50OmJlZm9yZXtjb250ZW50OiJcZjAzYiJ9LmZhLXBhZ2U0OmJlZm9yZXtjb250ZW50OiJcZjNkNyJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1wYWdlcjpiZWZvcmV7Y29udGVudDoiXGY4MTUifS5mYS1wYWludC1icnVzaDpiZWZvcmV7Y29udGVudDoiXGYxZmMifS5mYS1wYWludC1yb2xsZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWFhIn0uZmEtcGFsZXR0ZTpiZWZvcmV7Y29udGVudDoiXGY1M2YifS5mYS1wYWxmZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q4In0uZmEtcGFsbGV0OmJlZm9yZXtjb250ZW50OiJcZjQ4MiJ9LmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjFkOCJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1wYXJhY2h1dGUtYm94OmJlZm9yZXtjb250ZW50OiJcZjRjZCJ9LmZhLXBhcmFncmFwaDpiZWZvcmV7Y29udGVudDoiXGYxZGQifS5mYS1wYXJraW5nOmJlZm9yZXtjb250ZW50OiJcZjU0MCJ9LmZhLXBhc3Nwb3J0OmJlZm9yZXtjb250ZW50OiJcZjVhYiJ9LmZhLXBhc3RhZmFyaWFuaXNtOmJlZm9yZXtjb250ZW50OiJcZjY3YiJ9LmZhLXBhc3RlOmJlZm9yZXtjb250ZW50OiJcZjBlYSJ9LmZhLXBhdHJlb246YmVmb3Jle2NvbnRlbnQ6IlxmM2Q5In0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI4YiJ9LmZhLXBhdzpiZWZvcmV7Y29udGVudDoiXGYxYjAifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWVkIn0uZmEtcGVhY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNjdjIn0uZmEtcGVuOmJlZm9yZXtjb250ZW50OiJcZjMwNCJ9LmZhLXBlbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzA1In0uZmEtcGVuLWZhbmN5OmJlZm9yZXtjb250ZW50OiJcZjVhYyJ9LmZhLXBlbi1uaWI6YmVmb3Jle2NvbnRlbnQ6IlxmNWFkIn0uZmEtcGVuLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1wZW5jaWwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjMwMyJ9LmZhLXBlbmNpbC1ydWxlcjpiZWZvcmV7Y29udGVudDoiXGY1YWUifS5mYS1wZW5ueS1hcmNhZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNzA0In0uZmEtcGVvcGxlLWFycm93czpiZWZvcmV7Y29udGVudDoiXGUwNjgifS5mYS1wZW9wbGUtY2Fycnk6YmVmb3Jle2NvbnRlbnQ6IlxmNGNlIn0uZmEtcGVwcGVyLWhvdDpiZWZvcmV7Y29udGVudDoiXGY4MTYifS5mYS1wZXJieXRlOmJlZm9yZXtjb250ZW50OiJcZTA4MyJ9LmZhLXBlcmNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjk1In0uZmEtcGVyY2VudGFnZTpiZWZvcmV7Y29udGVudDoiXGY1NDEifS5mYS1wZXJpc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2RhIn0uZmEtcGVyc29uLWJvb3RoOmJlZm9yZXtjb250ZW50OiJcZjc1NiJ9LmZhLXBoYWJyaWNhdG9yOmJlZm9yZXtjb250ZW50OiJcZjNkYiJ9LmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZXtjb250ZW50OiJcZjNkYyJ9LmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3Jle2NvbnRlbnQ6IlxmNTExIn0uZmEtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDk1In0uZmEtcGhvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg3OSJ9LmZhLXBob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjNkZCJ9LmZhLXBob25lLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwOTgifS5mYS1waG9uZS1zcXVhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg3YiJ9LmZhLXBob25lLXZvbHVtZTpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5mYS1waG90by12aWRlbzpiZWZvcmV7Y29udGVudDoiXGY4N2MifS5mYS1waHA6YmVmb3Jle2NvbnRlbnQ6IlxmNDU3In0uZmEtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGYyYWUifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmV7Y29udGVudDoiXGY0ZTUifS5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZXtjb250ZW50OiJcZjFhNyJ9LmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZTAxZSJ9LmZhLXBpZ2d5LWJhbms6YmVmb3Jle2NvbnRlbnQ6IlxmNGQzIn0uZmEtcGlsbHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDg0In0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OiJcZjIzMSJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtcGl6emEtc2xpY2U6YmVmb3Jle2NvbnRlbnQ6IlxmODE4In0uZmEtcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmV7Y29udGVudDoiXGY2N2YifS5mYS1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYwNzIifS5mYS1wbGFuZS1hcnJpdmFsOmJlZm9yZXtjb250ZW50OiJcZjVhZiJ9LmZhLXBsYW5lLWRlcGFydHVyZTpiZWZvcmV7Y29udGVudDoiXGY1YjAifS5mYS1wbGFuZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNjkifS5mYS1wbGF5OmJlZm9yZXtjb250ZW50OiJcZjA0YiJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXBsYXlzdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjNkZiJ9LmZhLXBsdWc6YmVmb3Jle2NvbnRlbnQ6IlxmMWU2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1wbHVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTUifS5mYS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZmUifS5mYS1wb2RjYXN0OmJlZm9yZXtjb250ZW50OiJcZjJjZSJ9LmZhLXBvbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNjgxIn0uZmEtcG9sbC1oOmJlZm9yZXtjb250ZW50OiJcZjY4MiJ9LmZhLXBvbzpiZWZvcmV7Y29udGVudDoiXGYyZmUifS5mYS1wb28tc3Rvcm06YmVmb3Jle2NvbnRlbnQ6IlxmNzVhIn0uZmEtcG9vcDpiZWZvcmV7Y29udGVudDoiXGY2MTkifS5mYS1wb3J0cmFpdDpiZWZvcmV7Y29udGVudDoiXGYzZTAifS5mYS1wb3VuZC1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1NCJ9LmZhLXBvd2VyLW9mZjpiZWZvcmV7Y29udGVudDoiXGYwMTEifS5mYS1wcmF5OmJlZm9yZXtjb250ZW50OiJcZjY4MyJ9LmZhLXByYXlpbmctaGFuZHM6YmVmb3Jle2NvbnRlbnQ6IlxmNjg0In0uZmEtcHJlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjViMSJ9LmZhLXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDg1In0uZmEtcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDg2In0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtcHJvY2VkdXJlczpiZWZvcmV7Y29udGVudDoiXGY0ODcifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg4In0uZmEtcHJvamVjdC1kaWFncmFtOmJlZm9yZXtjb250ZW50OiJcZjU0MiJ9LmZhLXB1bXAtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGUwNmEifS5mYS1wdW1wLXNvYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDZiIn0uZmEtcHVzaGVkOmJlZm9yZXtjb250ZW50OiJcZjNlMSJ9LmZhLXB1enpsZS1waWVjZTpiZWZvcmV7Y29udGVudDoiXGYxMmUifS5mYS1weXRob246YmVmb3Jle2NvbnRlbnQ6IlxmM2UyIn0uZmEtcXE6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ2In0uZmEtcXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyOSJ9LmZhLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyOCJ9LmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTkifS5mYS1xdWlkZGl0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmNDU4In0uZmEtcXVpbnNjYXBlOmJlZm9yZXtjb250ZW50OiJcZjQ1OSJ9LmZhLXF1b3JhOmJlZm9yZXtjb250ZW50OiJcZjJjNCJ9LmZhLXF1b3RlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBkIn0uZmEtcXVvdGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBlIn0uZmEtcXVyYW46YmVmb3Jle2NvbnRlbnQ6IlxmNjg3In0uZmEtci1wcm9qZWN0OmJlZm9yZXtjb250ZW50OiJcZjRmNyJ9LmZhLXJhZGlhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY3YjkifS5mYS1yYWRpYXRpb24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjdiYSJ9LmZhLXJhaW5ib3c6YmVmb3Jle2NvbnRlbnQ6IlxmNzViIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLXJhc3BiZXJyeS1waTpiZWZvcmV7Y29udGVudDoiXGY3YmIifS5mYS1yYXZlbHJ5OmJlZm9yZXtjb250ZW50OiJcZjJkOSJ9LmZhLXJlYWN0OmJlZm9yZXtjb250ZW50OiJcZjQxYiJ9LmZhLXJlYWN0ZXVyb3BlOmJlZm9yZXtjb250ZW50OiJcZjc1ZCJ9LmZhLXJlYWRtZTpiZWZvcmV7Y29udGVudDoiXGY0ZDUifS5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1yZWNlaXB0OmJlZm9yZXtjb250ZW50OiJcZjU0MyJ9LmZhLXJlY29yZC12aW55bDpiZWZvcmV7Y29udGVudDoiXGY4ZDkifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLXJlZC1yaXZlcjpiZWZvcmV7Y29udGVudDoiXGYzZTMifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZXtjb250ZW50OiJcZjI4MSJ9LmZhLXJlZGRpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEyIn0uZmEtcmVkaGF0OmJlZm9yZXtjb250ZW50OiJcZjdiYyJ9LmZhLXJlZG86YmVmb3Jle2NvbnRlbnQ6IlxmMDFlIn0uZmEtcmVkby1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmY5In0uZmEtcmVnaXN0ZXJlZDpiZWZvcmV7Y29udGVudDoiXGYyNWQifS5mYS1yZW1vdmUtZm9ybWF0OmJlZm9yZXtjb250ZW50OiJcZjg3ZCJ9LmZhLXJlbnJlbjpiZWZvcmV7Y29udGVudDoiXGYxOGIifS5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYzZTUifS5mYS1yZXBseS1hbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIyIn0uZmEtcmVwbHlkOmJlZm9yZXtjb250ZW50OiJcZjNlNiJ9LmZhLXJlcHVibGljYW46YmVmb3Jle2NvbnRlbnQ6IlxmNzVlIn0uZmEtcmVzZWFyY2hnYXRlOmJlZm9yZXtjb250ZW50OiJcZjRmOCJ9LmZhLXJlc29sdmluZzpiZWZvcmV7Y29udGVudDoiXGYzZTcifS5mYS1yZXN0cm9vbTpiZWZvcmV7Y29udGVudDoiXGY3YmQifS5mYS1yZXR3ZWV0OmJlZm9yZXtjb250ZW50OiJcZjA3OSJ9LmZhLXJldjpiZWZvcmV7Y29udGVudDoiXGY1YjIifS5mYS1yaWJib246YmVmb3Jle2NvbnRlbnQ6IlxmNGQ2In0uZmEtcmluZzpiZWZvcmV7Y29udGVudDoiXGY3MGIifS5mYS1yb2FkOmJlZm9yZXtjb250ZW50OiJcZjAxOCJ9LmZhLXJvYm90OmJlZm9yZXtjb250ZW50OiJcZjU0NCJ9LmZhLXJvY2tldDpiZWZvcmV7Y29udGVudDoiXGYxMzUifS5mYS1yb2NrZXRjaGF0OmJlZm9yZXtjb250ZW50OiJcZjNlOCJ9LmZhLXJvY2tybXM6YmVmb3Jle2NvbnRlbnQ6IlxmM2U5In0uZmEtcm91dGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ3In0uZmEtcnNzOmJlZm9yZXtjb250ZW50OiJcZjA5ZSJ9LmZhLXJzcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQzIn0uZmEtcnVibGUtc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS1ydWxlcjpiZWZvcmV7Y29udGVudDoiXGY1NDUifS5mYS1ydWxlci1jb21iaW5lZDpiZWZvcmV7Y29udGVudDoiXGY1NDYifS5mYS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZjU0NyJ9LmZhLXJ1bGVyLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjU0OCJ9LmZhLXJ1bm5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNzBjIn0uZmEtcnVwZWUtc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTYifS5mYS1ydXN0OmJlZm9yZXtjb250ZW50OiJcZTA3YSJ9LmZhLXNhZC1jcnk6YmVmb3Jle2NvbnRlbnQ6IlxmNWIzIn0uZmEtc2FkLXRlYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWI0In0uZmEtc2FmYXJpOmJlZm9yZXtjb250ZW50OiJcZjI2NyJ9LmZhLXNhbGVzZm9yY2U6YmVmb3Jle2NvbnRlbnQ6IlxmODNiIn0uZmEtc2FzczpiZWZvcmV7Y29udGVudDoiXGY0MWUifS5mYS1zYXRlbGxpdGU6YmVmb3Jle2NvbnRlbnQ6IlxmN2JmIn0uZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3Jle2NvbnRlbnQ6IlxmN2MwIn0uZmEtc2F2ZTpiZWZvcmV7Y29udGVudDoiXGYwYzcifS5mYS1zY2hsaXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2VhIn0uZmEtc2Nob29sOmJlZm9yZXtjb250ZW50OiJcZjU0OSJ9LmZhLXNjcmV3ZHJpdmVyOmJlZm9yZXtjb250ZW50OiJcZjU0YSJ9LmZhLXNjcmliZDpiZWZvcmV7Y29udGVudDoiXGYyOGEifS5mYS1zY3JvbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzBlIn0uZmEtc2QtY2FyZDpiZWZvcmV7Y29udGVudDoiXGY3YzIifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2ODgifS5mYS1zZWFyY2gtbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNjg5In0uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjAxMCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaGVuZ2luOmJlZm9yZXtjb250ZW50OiJcZjNlYiJ9LmZhLXNlZWRsaW5nOmJlZm9yZXtjb250ZW50OiJcZjRkOCJ9LmZhLXNlbGxjYXN0OmJlZm9yZXtjb250ZW50OiJcZjJkYSJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5mYS1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjMzIn0uZmEtc2VydmljZXN0YWNrOmJlZm9yZXtjb250ZW50OiJcZjNlYyJ9LmZhLXNoYXBlczpiZWZvcmV7Y29udGVudDoiXGY2MWYifS5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWUwIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTEifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtc2hla2VsLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMjBiIn0uZmEtc2hpZWxkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZWQifS5mYS1zaGllbGQtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDZjIn0uZmEtc2hpcDpiZWZvcmV7Y29udGVudDoiXGYyMWEifS5mYS1zaGlwcGluZy1mYXN0OmJlZm9yZXtjb250ZW50OiJcZjQ4YiJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDoiXGYyMTQifS5mYS1zaG9lLXByaW50czpiZWZvcmV7Y29udGVudDoiXGY1NGIifS5mYS1zaG9waWZ5OmJlZm9yZXtjb250ZW50OiJcZTA1NyJ9LmZhLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDoiXGYyOTAifS5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjkxIn0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1zaG9wd2FyZTpiZWZvcmV7Y29udGVudDoiXGY1YjUifS5mYS1zaG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmNjIn0uZmEtc2h1dHRsZS12YW46YmVmb3Jle2NvbnRlbnQ6IlxmNWI2In0uZmEtc2lnbjpiZWZvcmV7Y29udGVudDoiXGY0ZDkifS5mYS1zaWduLWluLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjYifS5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjJhNyJ9LmZhLXNpZ24tb3V0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjUifS5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDEyIn0uZmEtc2lnbmF0dXJlOmJlZm9yZXtjb250ZW50OiJcZjViNyJ9LmZhLXNpbS1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjdjNCJ9LmZhLXNpbXBseWJ1aWx0OmJlZm9yZXtjb250ZW50OiJcZjIxNSJ9LmZhLXNpbms6YmVmb3Jle2NvbnRlbnQ6IlxlMDZkIn0uZmEtc2lzdHJpeDpiZWZvcmV7Y29udGVudDoiXGYzZWUifS5mYS1zaXRlbWFwOmJlZm9yZXtjb250ZW50OiJcZjBlOCJ9LmZhLXNpdGg6YmVmb3Jle2NvbnRlbnQ6IlxmNTEyIn0uZmEtc2thdGluZzpiZWZvcmV7Y29udGVudDoiXGY3YzUifS5mYS1za2V0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmN2M2In0uZmEtc2tpaW5nOmJlZm9yZXtjb250ZW50OiJcZjdjOSJ9LmZhLXNraWluZy1ub3JkaWM6YmVmb3Jle2NvbnRlbnQ6IlxmN2NhIn0uZmEtc2t1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTRjIn0uZmEtc2t1bGwtY3Jvc3Nib25lczpiZWZvcmV7Y29udGVudDoiXGY3MTQifS5mYS1za3lhdGxhczpiZWZvcmV7Y29udGVudDoiXGYyMTYifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1zbGFjay1oYXNoOmJlZm9yZXtjb250ZW50OiJcZjNlZiJ9LmZhLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjcxNSJ9LmZhLXNsZWlnaDpiZWZvcmV7Y29udGVudDoiXGY3Y2MifS5mYS1zbGlkZXJzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRlIn0uZmEtc2xpZGVzaGFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTcifS5mYS1zbWlsZTpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1zbWlsZS1iZWFtOmJlZm9yZXtjb250ZW50OiJcZjViOCJ9LmZhLXNtaWxlLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNGRhIn0uZmEtc21vZzpiZWZvcmV7Y29udGVudDoiXGY3NWYifS5mYS1zbW9raW5nOmJlZm9yZXtjb250ZW50OiJcZjQ4ZCJ9LmZhLXNtb2tpbmctYmFuOmJlZm9yZXtjb250ZW50OiJcZjU0ZCJ9LmZhLXNtczpiZWZvcmV7Y29udGVudDoiXGY3Y2QifS5mYS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWIifS5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmV7Y29udGVudDoiXGYyYWMifS5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFkIn0uZmEtc25vd2JvYXJkaW5nOmJlZm9yZXtjb250ZW50OiJcZjdjZSJ9LmZhLXNub3dmbGFrZTpiZWZvcmV7Y29udGVudDoiXGYyZGMifS5mYS1zbm93bWFuOmJlZm9yZXtjb250ZW50OiJcZjdkMCJ9LmZhLXNub3dwbG93OmJlZm9yZXtjb250ZW50OiJcZjdkMiJ9LmZhLXNvYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDZlIn0uZmEtc29ja3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjk2In0uZmEtc29sYXItcGFuZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWJhIn0uZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWFscGhhLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTVkIn0uZmEtc29ydC1hbHBoYS1kb3duLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODEifS5mYS1zb3J0LWFscGhhLXVwOmJlZm9yZXtjb250ZW50OiJcZjE1ZSJ9LmZhLXNvcnQtYWxwaGEtdXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4MiJ9LmZhLXNvcnQtYW1vdW50LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTYwIn0uZmEtc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg0In0uZmEtc29ydC1hbW91bnQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4NSJ9LmZhLXNvcnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwZGQifS5mYS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg2In0uZmEtc29ydC1udW1lcmljLXVwOmJlZm9yZXtjb250ZW50OiJcZjE2MyJ9LmZhLXNvcnQtbnVtZXJpYy11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg3In0uZmEtc29ydC11cDpiZWZvcmV7Y29udGVudDoiXGYwZGUifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLXNvdXJjZXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmN2QzIn0uZmEtc3BhOmJlZm9yZXtjb250ZW50OiJcZjViYiJ9LmZhLXNwYWNlLXNodXR0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk3In0uZmEtc3BlYWthcDpiZWZvcmV7Y29udGVudDoiXGYzZjMifS5mYS1zcGVha2VyLWRlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmODNjIn0uZmEtc3BlbGwtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmODkxIn0uZmEtc3BpZGVyOmJlZm9yZXtjb250ZW50OiJcZjcxNyJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtc3Bsb3RjaDpiZWZvcmV7Y29udGVudDoiXGY1YmMifS5mYS1zcG90aWZ5OmJlZm9yZXtjb250ZW50OiJcZjFiYyJ9LmZhLXNwcmF5LWNhbjpiZWZvcmV7Y29udGVudDoiXGY1YmQifS5mYS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGM4In0uZmEtc3F1YXJlLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDVjIn0uZmEtc3F1YXJlLXJvb3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjY5OCJ9LmZhLXNxdWFyZXNwYWNlOmJlZm9yZXtjb250ZW50OiJcZjViZSJ9LmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZXtjb250ZW50OiJcZjE4ZCJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLXN0YWNrcGF0aDpiZWZvcmV7Y29udGVudDoiXGY4NDIifS5mYS1zdGFtcDpiZWZvcmV7Y29udGVudDoiXGY1YmYifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZXtjb250ZW50OiJcZjY5OSJ9LmZhLXN0YXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGYwODkifS5mYS1zdGFyLWhhbGYtYWx0OmJlZm9yZXtjb250ZW50OiJcZjVjMCJ9LmZhLXN0YXItb2YtZGF2aWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjlhIn0uZmEtc3Rhci1vZi1saWZlOmJlZm9yZXtjb250ZW50OiJcZjYyMSJ9LmZhLXN0YXlsaW5rZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y1In0uZmEtc3RlYW06YmVmb3Jle2NvbnRlbnQ6IlxmMWI2In0uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNyJ9LmZhLXN0ZWFtLXN5bWJvbDpiZWZvcmV7Y29udGVudDoiXGYzZjYifS5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OCJ9LmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTEifS5mYS1zdGV0aG9zY29wZTpiZWZvcmV7Y29udGVudDoiXGYwZjEifS5mYS1zdGlja2VyLW11bGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y3In0uZmEtc3RpY2t5LW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ5In0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGQifS5mYS1zdG9wd2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmMmYyIn0uZmEtc3RvcHdhdGNoLTIwOmJlZm9yZXtjb250ZW50OiJcZTA2ZiJ9LmZhLXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjU0ZSJ9LmZhLXN0b3JlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1NGYifS5mYS1zdG9yZS1hbHQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcwIn0uZmEtc3RvcmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcxIn0uZmEtc3RyYXZhOmJlZm9yZXtjb250ZW50OiJcZjQyOCJ9LmZhLXN0cmVhbTpiZWZvcmV7Y29udGVudDoiXGY1NTAifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGYyMWQifS5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZXtjb250ZW50OiJcZjBjYyJ9LmZhLXN0cmlwZTpiZWZvcmV7Y29udGVudDoiXGY0MjkifS5mYS1zdHJpcGUtczpiZWZvcmV7Y29udGVudDoiXGY0MmEifS5mYS1zdHJvb3B3YWZlbDpiZWZvcmV7Y29udGVudDoiXGY1NTEifS5mYS1zdHVkaW92aW5hcmk6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y4In0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjFhMyJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtc3VpdGNhc2Utcm9sbGluZzpiZWZvcmV7Y29udGVudDoiXGY1YzEifS5mYS1zdW46YmVmb3Jle2NvbnRlbnQ6IlxmMTg1In0uZmEtc3VwZXJwb3dlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMmRkIn0uZmEtc3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJiIn0uZmEtc3VwcGxlOmJlZm9yZXtjb250ZW50OiJcZjNmOSJ9LmZhLXN1cnByaXNlOmJlZm9yZXtjb250ZW50OiJcZjVjMiJ9LmZhLXN1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2Q2In0uZmEtc3dhdGNoYm9vazpiZWZvcmV7Y29udGVudDoiXGY1YzMifS5mYS1zd2lmdDpiZWZvcmV7Y29udGVudDoiXGY4ZTEifS5mYS1zd2ltbWVyOmJlZm9yZXtjb250ZW50OiJcZjVjNCJ9LmZhLXN3aW1taW5nLXBvb2w6YmVmb3Jle2NvbnRlbnQ6IlxmNWM1In0uZmEtc3ltZm9ueTpiZWZvcmV7Y29udGVudDoiXGY4M2QifS5mYS1zeW5hZ29ndWU6YmVmb3Jle2NvbnRlbnQ6IlxmNjliIn0uZmEtc3luYzpiZWZvcmV7Y29udGVudDoiXGYwMjEifS5mYS1zeW5jLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjEifS5mYS1zeXJpbmdlOmJlZm9yZXtjb250ZW50OiJcZjQ4ZSJ9LmZhLXRhYmxlOmJlZm9yZXtjb250ZW50OiJcZjBjZSJ9LmZhLXRhYmxlLXRlbm5pczpiZWZvcmV7Y29udGVudDoiXGY0NWQifS5mYS10YWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBhIn0uZmEtdGFibGV0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZmEifS5mYS10YWJsZXRzOmJlZm9yZXtjb250ZW50OiJcZjQ5MCJ9LmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjNmZCJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLXRhcGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGRiIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10ZWFtc3BlYWs6YmVmb3Jle2NvbnRlbnQ6IlxmNGY5In0uZmEtdGVldGg6YmVmb3Jle2NvbnRlbnQ6IlxmNjJlIn0uZmEtdGVldGgtb3BlbjpiZWZvcmV7Y29udGVudDoiXGY2MmYifS5mYS10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYyYzYifS5mYS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYzZmUifS5mYS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZXtjb250ZW50OiJcZjc2OSJ9LmZhLXRlbXBlcmF0dXJlLWxvdzpiZWZvcmV7Y29udGVudDoiXGY3NmIifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OiJcZjFkNSJ9LmZhLXRlbmdlOmJlZm9yZXtjb250ZW50OiJcZjdkNyJ9LmZhLXRlcm1pbmFsOmJlZm9yZXtjb250ZW50OiJcZjEyMCJ9LmZhLXRleHQtaGVpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjAzNCJ9LmZhLXRleHQtd2lkdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDM1In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS10aGUtcmVkLXlldGk6YmVmb3Jle2NvbnRlbnQ6IlxmNjlkIn0uZmEtdGhlYXRlci1tYXNrczpiZWZvcmV7Y29udGVudDoiXGY2MzAifS5mYS10aGVtZWNvOmJlZm9yZXtjb250ZW50OiJcZjVjNiJ9LmZhLXRoZW1laXNsZTpiZWZvcmV7Y29udGVudDoiXGYyYjIifS5mYS10aGVybW9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGY0OTEifS5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyY2IifS5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjJjNyJ9LmZhLXRoZXJtb21ldGVyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMmM5In0uZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyY2EifS5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyYzgifS5mYS10aGluay1wZWFrczpiZWZvcmV7Y29udGVudDoiXGY3MzEifS5mYS10aHVtYnMtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjUifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJ0YWNrOmJlZm9yZXtjb250ZW50OiJcZjA4ZCJ9LmZhLXRpY2tldC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZmIn0uZmEtdGlrdG9rOmJlZm9yZXtjb250ZW50OiJcZTA3YiJ9LmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS10aW50OmJlZm9yZXtjb250ZW50OiJcZjA0MyJ9LmZhLXRpbnQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWM3In0uZmEtdGlyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWM4In0uZmEtdG9nZ2xlLW9mZjpiZWZvcmV7Y29udGVudDoiXGYyMDQifS5mYS10b2dnbGUtb246YmVmb3Jle2NvbnRlbnQ6IlxmMjA1In0uZmEtdG9pbGV0OmJlZm9yZXtjb250ZW50OiJcZjdkOCJ9LmZhLXRvaWxldC1wYXBlcjpiZWZvcmV7Y29udGVudDoiXGY3MWUifS5mYS10b2lsZXQtcGFwZXItc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcyIn0uZmEtdG9vbGJveDpiZWZvcmV7Y29udGVudDoiXGY1NTIifS5mYS10b29sczpiZWZvcmV7Y29udGVudDoiXGY3ZDkifS5mYS10b290aDpiZWZvcmV7Y29udGVudDoiXGY1YzkifS5mYS10b3JhaDpiZWZvcmV7Y29udGVudDoiXGY2YTAifS5mYS10b3JpaS1nYXRlOmJlZm9yZXtjb250ZW50OiJcZjZhMSJ9LmZhLXRyYWN0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmNzIyIn0uZmEtdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY1MTMifS5mYS10cmFkZW1hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMjVjIn0uZmEtdHJhZmZpYy1saWdodDpiZWZvcmV7Y29udGVudDoiXGY2MzcifS5mYS10cmFpbGVyOmJlZm9yZXtjb250ZW50OiJcZTA0MSJ9LmZhLXRyYWluOmJlZm9yZXtjb250ZW50OiJcZjIzOCJ9LmZhLXRyYW06YmVmb3Jle2NvbnRlbnQ6IlxmN2RhIn0uZmEtdHJhbnNnZW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjI0In0uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjIyNSJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmOCJ9LmZhLXRyYXNoLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZWQifS5mYS10cmFzaC1yZXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjgyOSJ9LmZhLXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjgyYSJ9LmZhLXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMWJiIn0uZmEtdHJlbGxvOmJlZm9yZXtjb250ZW50OiJcZjE4MSJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS10cnVjazpiZWZvcmV7Y29udGVudDoiXGYwZDEifS5mYS10cnVjay1sb2FkaW5nOmJlZm9yZXtjb250ZW50OiJcZjRkZSJ9LmZhLXRydWNrLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjNiIn0uZmEtdHJ1Y2stbW92aW5nOmJlZm9yZXtjb250ZW50OiJcZjRkZiJ9LmZhLXRydWNrLXBpY2t1cDpiZWZvcmV7Y29udGVudDoiXGY2M2MifS5mYS10c2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTUzIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OiJcZjFlNCJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLXR2OmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9LmZhLXR3aXRjaDpiZWZvcmV7Y29udGVudDoiXGYxZTgifS5mYS10d2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZjA5OSJ9LmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MSJ9LmZhLXR5cG8zOmJlZm9yZXtjb250ZW50OiJcZjQyYiJ9LmZhLXViZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDAyIn0uZmEtdWJ1bnR1OmJlZm9yZXtjb250ZW50OiJcZjdkZiJ9LmZhLXVpa2l0OmJlZm9yZXtjb250ZW50OiJcZjQwMyJ9LmZhLXVtYnJhY286YmVmb3Jle2NvbnRlbnQ6IlxmOGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtdW1icmVsbGEtYmVhY2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWNhIn0uZmEtdW5jaGFydGVkOmJlZm9yZXtjb250ZW50OiJcZTA4NCJ9LmZhLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGYwY2QifS5mYS11bmRvOmJlZm9yZXtjb250ZW50OiJcZjBlMiJ9LmZhLXVuZG8tYWx0OmJlZm9yZXtjb250ZW50OiJcZjJlYSJ9LmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjQwNCJ9LmZhLXVuaXR5OmJlZm9yZXtjb250ZW50OiJcZTA0OSJ9LmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjlhIn0uZmEtdW5pdmVyc2l0eTpiZWZvcmV7Y29udGVudDoiXGYxOWMifS5mYS11bmxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMTI3In0uZmEtdW5sb2NrOmJlZm9yZXtjb250ZW50OiJcZjA5YyJ9LmZhLXVubG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTNlIn0uZmEtdW5zcGxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDdjIn0uZmEtdW50YXBwZDpiZWZvcmV7Y29udGVudDoiXGY0MDUifS5mYS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDkzIn0uZmEtdXBzOmJlZm9yZXtjb250ZW50OiJcZjdlMCJ9LmZhLXVzYjpiZWZvcmV7Y29udGVudDoiXGYyODcifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLXVzZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjQwNiJ9LmZhLXVzZXItYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjRmYSJ9LmZhLXVzZXItYXN0cm9uYXV0OmJlZm9yZXtjb250ZW50OiJcZjRmYiJ9LmZhLXVzZXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNGZjIn0uZmEtdXNlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmJkIn0uZmEtdXNlci1jbG9jazpiZWZvcmV7Y29udGVudDoiXGY0ZmQifS5mYS11c2VyLWNvZzpiZWZvcmV7Y29udGVudDoiXGY0ZmUifS5mYS11c2VyLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGZmIn0uZmEtdXNlci1mcmllbmRzOmJlZm9yZXtjb250ZW50OiJcZjUwMCJ9LmZhLXVzZXItZ3JhZHVhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNTAxIn0uZmEtdXNlci1pbmp1cmVkOmJlZm9yZXtjb250ZW50OiJcZjcyOCJ9LmZhLXVzZXItbG9jazpiZWZvcmV7Y29udGVudDoiXGY1MDIifS5mYS11c2VyLW1kOmJlZm9yZXtjb250ZW50OiJcZjBmMCJ9LmZhLXVzZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmNTAzIn0uZmEtdXNlci1uaW5qYTpiZWZvcmV7Y29udGVudDoiXGY1MDQifS5mYS11c2VyLW51cnNlOmJlZm9yZXtjb250ZW50OiJcZjgyZiJ9LmZhLXVzZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGYyMzQifS5mYS11c2VyLXNlY3JldDpiZWZvcmV7Y29udGVudDoiXGYyMWIifS5mYS11c2VyLXNoaWVsZDpiZWZvcmV7Y29udGVudDoiXGY1MDUifS5mYS11c2VyLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjUwNiJ9LmZhLXVzZXItdGFnOmJlZm9yZXtjb250ZW50OiJcZjUwNyJ9LmZhLXVzZXItdGllOmJlZm9yZXtjb250ZW50OiJcZjUwOCJ9LmZhLXVzZXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM1In0uZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtdXNlcnMtY29nOmJlZm9yZXtjb250ZW50OiJcZjUwOSJ9LmZhLXVzZXJzLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA3MyJ9LmZhLXVzcHM6YmVmb3Jle2NvbnRlbnQ6IlxmN2UxIn0uZmEtdXNzdW5uYWg6YmVmb3Jle2NvbnRlbnQ6IlxmNDA3In0uZmEtdXRlbnNpbC1zcG9vbjpiZWZvcmV7Y29udGVudDoiXGYyZTUifS5mYS11dGVuc2lsczpiZWZvcmV7Y29udGVudDoiXGYyZTcifS5mYS12YWFkaW46YmVmb3Jle2NvbnRlbnQ6IlxmNDA4In0uZmEtdmVjdG9yLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY1Y2IifS5mYS12ZW51czpiZWZvcmV7Y29udGVudDoiXGYyMjEifS5mYS12ZW51cy1kb3VibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjI2In0uZmEtdmVudXMtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjgifS5mYS12ZXN0OmJlZm9yZXtjb250ZW50OiJcZTA4NSJ9LmZhLXZlc3QtcGF0Y2hlczpiZWZvcmV7Y29udGVudDoiXGUwODYifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9LmZhLXZpYWRlbzpiZWZvcmV7Y29udGVudDoiXGYyYTkifS5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhYSJ9LmZhLXZpYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDkyIn0uZmEtdmlhbHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDkzIn0uZmEtdmliZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDA5In0uZmEtdmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNkIn0uZmEtdmlkZW8tc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGUyIn0uZmEtdmloYXJhOmJlZm9yZXtjb250ZW50OiJcZjZhNyJ9LmZhLXZpbWVvOmJlZm9yZXtjb250ZW50OiJcZjQwYSJ9LmZhLXZpbWVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxOTQifS5mYS12aW1lby12OmJlZm9yZXtjb250ZW50OiJcZjI3ZCJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDc0In0uZmEtdmlydXMtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDc1In0uZmEtdmlydXNlczpiZWZvcmV7Y29udGVudDoiXGUwNzYifS5mYS12azpiZWZvcmV7Y29udGVudDoiXGYxODkifS5mYS12bnY6YmVmb3Jle2NvbnRlbnQ6IlxmNDBiIn0uZmEtdm9pY2VtYWlsOmJlZm9yZXtjb250ZW50OiJcZjg5NyJ9LmZhLXZvbGxleWJhbGwtYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0NWYifS5mYS12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMjcifS5mYS12b2x1bWUtbXV0ZTpiZWZvcmV7Y29udGVudDoiXGY2YTkifS5mYS12b2x1bWUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjAyNiJ9LmZhLXZvbHVtZS11cDpiZWZvcmV7Y29udGVudDoiXGYwMjgifS5mYS12b3RlLXllYTpiZWZvcmV7Y29udGVudDoiXGY3NzIifS5mYS12ci1jYXJkYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzI5In0uZmEtdnVlanM6YmVmb3Jle2NvbnRlbnQ6IlxmNDFmIn0uZmEtd2Fsa2luZzpiZWZvcmV7Y29udGVudDoiXGY1NTQifS5mYS13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTU1In0uZmEtd2FyZWhvdXNlOmJlZm9yZXtjb250ZW50OiJcZjQ5NCJ9LmZhLXdhdGNobWFuLW1vbml0b3Jpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlMDg3In0uZmEtd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzczIn0uZmEtd2F2ZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmODNlIn0uZmEtd2F6ZTpiZWZvcmV7Y29udGVudDoiXGY4M2YifS5mYS13ZWVibHk6YmVmb3Jle2NvbnRlbnQ6IlxmNWNjIn0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtd2VpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjQ5NiJ9LmZhLXdlaWdodC1oYW5naW5nOmJlZm9yZXtjb250ZW50OiJcZjVjZCJ9LmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDoiXGYxZDcifS5mYS13aGF0c2FwcDpiZWZvcmV7Y29udGVudDoiXGYyMzIifS5mYS13aGF0c2FwcC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDBjIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS13aG1jczpiZWZvcmV7Y29udGVudDoiXGY0MGQifS5mYS13aWZpOmJlZm9yZXtjb250ZW50OiJcZjFlYiJ9LmZhLXdpa2lwZWRpYS13OmJlZm9yZXtjb250ZW50OiJcZjI2NiJ9LmZhLXdpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzJlIn0uZmEtd2luZG93LWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZjQxMCJ9LmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDAifS5mYS13aW5kb3ctbWluaW1pemU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQxIn0uZmEtd2luZG93LXJlc3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQyIn0uZmEtd2luZG93czpiZWZvcmV7Y29udGVudDoiXGYxN2EifS5mYS13aW5lLWJvdHRsZTpiZWZvcmV7Y29udGVudDoiXGY3MmYifS5mYS13aW5lLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjRlMyJ9LmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjVjZSJ9LmZhLXdpeDpiZWZvcmV7Y29udGVudDoiXGY1Y2YifS5mYS13aXphcmRzLW9mLXRoZS1jb2FzdDpiZWZvcmV7Y29udGVudDoiXGY3MzAifS5mYS13b2R1OmJlZm9yZXtjb250ZW50OiJcZTA4OCJ9LmZhLXdvbGYtcGFjay1iYXR0YWxpb246YmVmb3Jle2NvbnRlbnQ6IlxmNTE0In0uZmEtd29uLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDExIn0uZmEtd3BiZWdpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYyOTcifS5mYS13cGV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZjJkZSJ9LmZhLXdwZm9ybXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjk4In0uZmEtd3ByZXNzcjpiZWZvcmV7Y29udGVudDoiXGYzZTQifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEteC1yYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDk3In0uZmEteGJveDpiZWZvcmV7Y29udGVudDoiXGY0MTIifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXktY29tYmluYXRvcjpiZWZvcmV7Y29udGVudDoiXGYyM2IifS5mYS15YWhvbzpiZWZvcmV7Y29udGVudDoiXGYxOWUifS5mYS15YW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODQwIn0uZmEteWFuZGV4OmJlZm9yZXtjb250ZW50OiJcZjQxMyJ9LmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZXtjb250ZW50OiJcZjQxNCJ9LmZhLXlhcm46YmVmb3Jle2NvbnRlbnQ6IlxmN2UzIn0uZmEteWVscDpiZWZvcmV7Y29udGVudDoiXGYxZTkifS5mYS15ZW4tc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS15aW4teWFuZzpiZWZvcmV7Y29udGVudDoiXGY2YWQifS5mYS15b2FzdDpiZWZvcmV7Y29udGVudDoiXGYyYjEifS5mYS15b3V0dWJlOmJlZm9yZXtjb250ZW50OiJcZjE2NyJ9LmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjQzMSJ9LmZhLXpoaWh1OmJlZm9yZXtjb250ZW50OiJcZjYzZiJ9LnNyLW9ubHl7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAsMCwwLDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7Y2xpcDphdXRvO2hlaWdodDphdXRvO21hcmdpbjowO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG99QGZvbnQtZmFjZXtmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgQnJhbmRzIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3QpO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4KSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmKSBmb3JtYXQoIndvZmYiKSx1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhYntmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgQnJhbmRzIn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBGcmVlIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuZW90KTtzcmM6dXJsKC4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLmVvdD8jaWVmaXgpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpLHVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhYiwuZmFye2ZvbnQtd2VpZ2h0OjQwMH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBGcmVlIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo5MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLmVvdCk7c3JjOnVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90PyNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLHVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYpIGZvcm1hdCgid29mZiIpLHVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAudHRmKSBmb3JtYXQoInRydWV0eXBlIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhLC5mYXIsLmZhc3tmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgRnJlZSJ9LmZhLC5mYXN7Zm9udC13ZWlnaHQ6OTAwfQ=="}},"time_used":47,"timings":{"blocked":-1,"dns":3,"connect":18,"send":0,"wait":26,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ptsans/v18/jizfRExUiTo99u79B_mh0O6tLQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.475Z","timestamp":1785124875475,"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/ptsans/v18/jizfRExUiTo99u79B_mh0O6tLQ.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://berthenergy-inc.biz\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: 47180\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 10:10:36 GMT\r\nexpires: Mon, 26 Jul 2027 10:10:36 GMT\r\ncache-control: public, max-age=31536000\r\nage: 64239\r\nlast-modified: Thu, 04 Sep 2025 17:32:02 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":47180,"size_decoded":47992,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 47180, version 1.0","md5":"35e5705c45cfacbd25e0efb6bede499d","sha1":"e8c04e18e1097ca2d37daa861b23c9bf7bd53c37","sha256":"05ea99a48ece3c624fd9df15f5cf4e1d94703bde9ed2b384495900f55e28befe","sha512":"80bcd88bcaef4a2c3d046777e53196c758af06d712d3440fbabce79105f0727f0c80ed4738bf7bd05b6c6c5faf709e9bbfbf628098ce5691ecd7cf60c6cb52ad","ssdeep":"768:RP3oqS8sBPq8fxBG1g93bMqO6YYst7gVEqsG6wQx6barHC1c/WcImH61P/3YK3:h46sl5x0GMq3mGyOaDCkW6auE","tlshash":"8e23f26788cfb7dac7b27045a43d8f4ce8a187c4ea12d67dbbd403c6cabe9668451434","first_seen":"2025-09-05T01:58:17.17017Z","last_seen":"2026-07-27T04:38:30.796387Z","times_seen":13823,"resource_available":false,"data":"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"}},"time_used":80,"timings":{"blocked":30,"dns":0,"connect":0,"send":0,"wait":20,"receive":30,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/OrbitSquare.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.518Z","timestamp":1785124875518,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/OrbitSquare.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 5163\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-142b\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":5163,"size_decoded":5388,"mime_type":"image/png","magic":"PNG image data, 73 x 76, 8-bit/color RGBA, non-interlaced","md5":"db9c076b1f5580ad92889a9b3ba7ed60","sha1":"e57444017a68a4731858cc710987b99ba20cc7c4","sha256":"dc1306511b5282871230a68648b9c1f81484c3fb920e2b5218d737633a9d9e30","sha512":"4fe8907b76fdd6b3f6162e765cab3cc13182c5c18aeb09631eb4e9205859a7b4baec820c995f90be92668976b9aa64754f0cebc8c821b25522983a434614bf00","ssdeep":"96:NSK265gIfGHuAm7C53NR41nzj+fejkpMfjj3ewyfNMYVY5qLL1iMP:A1Otu5NR4p6sZj3ewwVYWh5","tlshash":"2cb1af8ead94020323dee3e671fbcbe3030e5510f19856c17d07c7a1d15a075e5148d5","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.119223Z","times_seen":22,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEkAAABMCAYAAAAhvppvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5QTZFN0IyNzQ5N0MxMUVBOUZCNjk5QUU4QkM4RkEyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5QTZFN0IyODQ5N0MxMUVBOUZCNjk5QUU4QkM4RkEyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjlBNkU3QjI1NDk3QzExRUE5RkI2OTlBRThCQzhGQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjlBNkU3QjI2NDk3QzExRUE5RkI2OTlBRThCQzhGQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Ig3abAAAEKBJREFUeNrknNuPHMUV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"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-main.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.520Z","timestamp":1785124875520,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-main.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 16257\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-3f81\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":16257,"size_decoded":16483,"mime_type":"image/png","magic":"PNG image data, 685 x 481, 8-bit/color RGBA, non-interlaced","md5":"3a074311cadcc23c0134467d74487b53","sha1":"21f06eed6184ddf8a58e4d819300ee7519d4a1a2","sha256":"ad0c0bb238ed54bf9d51ae5aa8f944625b4e9582f2c386a58dd66ab0c7451797","sha512":"6763f9b92354734ae02df588c29354b3aa1ed0aced5eb9ae616af1b1da717093d5d7d540906b0fe18de3c94551cf91f31f1a1038dab64d113781b39cf66f84e4","ssdeep":"384:LAfjLMgjA+XeGL2P0pPxxzCJxDPk21/wPuf:uYgreG0ixxG7DL9wPuf","tlshash":"be72d04c0a71a9f8463e7ec112fc7573caa2b9318cf108b611779a25d8253bbced52d6","first_seen":"2025-07-14T23:18:47.781313Z","last_seen":"2026-07-27T04:03:30.148244Z","times_seen":20,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAq0AAAHhCAYAAABELochAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5QjcyODZBMTQ4MDMxMUVBQjZEM0VFRDQ0NjI5MTcyRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5QjcyODZBMjQ4MDMxMUVBQjZEM0VFRDQ0NjI5MTcyRCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjlCNzI4NjlGNDgwMzExRUFCNkQzRUVENDQ2MjkxNzJEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjlCNzI4NkEwNDgwMzExRUFCNkQzRUVENDQ2MjkxNzJEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+i38XWwAAO/ZJREFUeNrs3Qe8HVW1+PG959TbkkBIQmgpkJCQBBIC0nn69C9i7095lqdiAxXrs/en2AsWLCAqiAoqilJEFIQ0UkkjFUjvyc2tp8/8977nBEK4SW5Z55wpv+/ns51Y2OauO2XNnjVrtAJ84vSJp2miAAD+smbteo8owA9IEkCSCgAgiQVJK2BNOp0EFQDCavUaElmQtIIkFQBAEguQtIIEFQBAIguSVpCkAgBAEguSVpCgAgBIZEHSCpJUAABIYkHSijomqJNIUAEAAUtkV5PIkrSCJBUAAJJYkLSCBBUAABJZkLSSpAIAAJJYklaQoAIAQCILklaQoAIAQCILklaSVAAAQBJL0goSVAAASGRB0kqSCgAASGJJWiGfnBJfAACixSOZJWklSQUAACSxJK0gQQUAACSyJK0kqQAAACSxJK2DNZkEFQAA+CiRXUUiS9I6+Zlv8pOkAgAA3yexUU5kI5OssYoKAADCmMhGJYkNZQLHKioAAIhqEhvWRDYUCR2rqAAAAIdPZMOQxAYuyWMVFQAAYHBJbBATWd8nfayiAgAAVD+R9XsS66tEkAQVAACARNZ3SStJKgAAAEmsr5LWyZN7ElSSVAAAgJAksXa7alVtEtmqJI+VBPXA/CSoAAAA0UhkyyuyVUhkRRJKVlEBAADQSxLbs5VIYvudYLKKCgAAgEEksgNajT1q0jmFVVQAAABUL4nt2a48ShKre0lQD/znJKgAAACoRyLbk8AenMhqk6g6vSWwAAAAgE+SWOVU/kDCCgAAAD+yearnVJZdPeIBAAAAH+qpd+0pDTB/cIkHAAAA/OZAnho/OItV5XIBAAAAwA+eWlh1DsliKRMAAACAH3gHVwM4h8tmAQAAgDp6Rl4aO/jf7N6zT40ccaz9I90EAAAAULeE9dCPDTyrhpUyAQAAANSR11uTgHhv/0tdXo6NETMAAADUWK/lqr0mprsoEwAAAEAdEtYVh5QFHHDEpHTqlNNiJK4AAACoAW/FyvWlw/2XR+vLSjcBAAAA1MIR886jrqJOnXKaTWypbwUAAEC1lFasPPIXWo/6BazKBHQTAAAAQDV4R0tY+5S0Hsh+iScAAACqoE95Zp+SVpP92pVW6lsBAAAgya3kmUfVr84A06ZMiCu6CQAAAGDwvOUr1xX7+j92+jk5ZQIAAACQ0K+8st+rptOmTLCdBOgmAAAAgAEnrMtXrutX0trflVZV+T+gmwAAAAAGwutvwjqgpLWiSLwBAABQqzxyQI/5d+3ep0aNHD6YpBcAAADRY8sCBtSRalCdAKZNnZBQdBMAAADA0XnLV6wrDPQfHuxKKWUCAAAAqHreOKguALt2USYAAACAoyotX7FuUB+qEnm0f9bUCUlFmQAAAACezVu6Yl1+sJNIrZBSJgAAAICq5YkiSevS8nIvX8sCAADAwUpLB1kWIJq0VhJXm0Xz0QEAAABYXiU/FCH9AhVlAgAAABDPC0WTVsoEAAAAoATLAg6oyhv/06dOSCm6CQAAAESR9+iKdTnpSavVX7XA7wsAACCSqpIHVm01dPq0nk+8xvi9AQAAREbp0eXrqpK0Vu1LVpW/MN0EAAAAosGrVsJa1aS1gjIBAACAaKhq3lfVpNVk23QTAAAACL9SJe+rmpq84T992oS0opsAAABAGNmygGy1/0+cGv0wlAkAAACEU03yvJqtfs6YNiGp6CYAAAAQJqUly9fla/F/5NTwh6KbAAAAQHh4qoZP02u28rlj1z41etRwT7HaCgAAEAaFJVV++epgtVxpVeYHs50E6CYAAAAQbKVKXlczTh1+SMoEAAAAgqumZQEH1KUN1YwzJ9gSgRS/cwAAgMDJLVm2ruZPzutSX7pj5z5v9KjhNmF2+L0DAAAERskkrHVpZRqv10+sy8vKMcVHBwAAAILAlgXk6/V/Xrc3+bfvfKqbQJx9AAAAwPfyi5fVrlvAoeq+ynn2mRNSJK4AAAC+VjQJa66efwE/1JTaZWa6CQAAAPhTXcsCDqh7o3/KBAAAAHytrmUBB/ji7X0TiKLiowMAAAB+U6rkaXXnm9VNx1G2TqJB0U0AAADAD+yT8Jxf/jIxv/xFtu3Yp044njIBAAAAn8gvfLT+ZQEH+G5V85zpE9IkrgAAAHVVMglrxk9/IT9+kcouQ9NNAAAAoD5sHpb1218q5re/UKVMwP6R1VYAAIDas2UBvntB3rcvPZ07fUKDH5NqAACAECst8FlZwAGOj4Nml6UpEwAAAKgNX5YFHODr9lLnTp+QMJs0+xAAAEDVZRc8uq7g17+cn1daVSVwRfYhAACAqir6OWG1/P+yk+7pJhBTfHQAAACgGnz1EYHD8f2LTtt27PNOHM1HBwAAAKokt2CJ/7oFHCowq5fPmTGhkcQVAABAVHH+knXdQfiLOgEKKt0EAAAA5Pi6W8ChAtMHdWu5TMD+kdVWAACAwcvNX7IuMC+8B2mlVZnA5s2mxD4GAAAwKKVKXhUYgVu1NFm2/UpDs6KbAAAAwEDYsoBM0P7SgftM6pYd+7yTKBMAAAAYqNy8AJUFHBDY1crzz57QROIKAADQL6V5i9d1BvEv7gQ46Bn2OwAAgH7pDupfPNB1oeefPSFlNg3sfwAAAEeVmbd4XS6of/kgr7SqSuDpJgAAAHBkpSAnrIFPWiu62Q8BAADCnS+Fom3UBWefnjabNPsjAADAs2TnLl6TDfoPEYaVVlX5RVAmAAAA8EylMCSsVnhaRumeZe8h7JsAAABPCU0ZZSwsP8iW7Xu9k084zv4xwf4JAACgMnMXrSmE5YcJ3adQL5x5+pAwJeMAAAADUJqzaE17mH4gJ4S/pC72UwAAEHGhy4d0GH9LF8483X5wgI8OAACAKMrMWbQmdF8ODeNKq6r8ougmAAAAoqYUxoTViof1N6Ydr9NshrLvAgCACAltmWRoX1javG2vd8qJw+0f6SYAAACiIDN7wdp8WH+4eMh/ebaZbkrRTQAAAIRbqZL3hJYT5h/O3G14ZtPJfgwAAEKus5L3hJaOwm/x4nMnNiq6CQAAgHDKzFqwtjvsP6QTlV+mopsAAAAIn1Ilzwk9HZXf6MXPmWjrd4exbwMAgBDZP2v+2mIUftDIvKC0aete95QTh9sknW4CAAAgDDImYc1F5Yd1IvbLtfUelAkAAICgK1XymsjQUfsNX/qciXallY8OAACAIGt7aP7aQpR+4Mj1L924da87hjIBAAAQXBmTsGaj9kPHI/rLtsvpfHQAAAAETeTKAg5wovhDm7sT23y3g/0eAAAETEclj4kcHeXf+n+cN7FF8dEBAAAQDJl/P7I2sotuTsR/+fYTr3QTAAAAfldSEf80faSTVnO3QpkAAAAIgo5K3hJZkX8RaePWvaWxJw23yTvdBAAAgB/ZsoBM1IMQZz/oKey1y+10EwAAAH4T+bKAAxxCoNSD5eX2diIBAAB8pv3BiJcFHKAJwdOee/7EIYpuAgAAwB8yD85by6JaBSutz2RfyqKbAAAAqDdX8bL4M7DSeojnnT/R1rYeQyQAAEAdtT4wb22OMDyNF48OsWHL3tK4k4bbuNBNAAAA1EPGJKxdhOGZ6B7QO7scTzcBAABQayVFWUCvqGnthbm7sXUkbUQCAADUWHslDwFJa58TV1tHkiESAACgRmxZQJYw9I7ygCNl9E5P79YUyT0AAKgyu7pKe6sj5WWE4PD+OYcyAQAAUBNtlbwDh0HLqz54/oUTbQssPjoAAACqIWMS1lbCcGSstPbx7keVl+0BAAAk8VS3j1hp7aMXXDjRrrTy0QEAACCp9f45a3nxuw/oQ9pHT2zeWxx/8nD74hofHQAAABIyJmGlJ2sf0T2gP7Rjl+/TirIKAAAwOJQF9BPJVz/cP3s1OxgAAJDQVskr0EfUtA7A/7to0nBFNwEAADAwmX/MXr2XMPQPK60Ds1/RTQAAAPSfW8kj0E+8iDUAT2ze4516ynElxWorAADon9Z/zF6dJwz9x0rrAJkdrtts+D4wAADoq2wlf8AA0D1gELRW9usVx5P8AwCAo7BlAXz1ahAoDxiExzf1lAnYnZAyAQAAcCSt981anSMMA0f3AAGXXTxpBIkrAAA4jOzfZ63eRRgGh8faQndPim4CAADg2Wx+sI8wDB7lAQIe37THPY0yAQAA8Gytf5+1mhe3BVAeIOiySyaNVOXPvAIAAGT//jBlAVIoD5Bll/8pEwAAAJ6iLEAUK63CXnTJpBazOZZIAAAQafvufXh1B2GQw0qrsMoOSu0KAADRlSVhlcfHBapjrxknKlayAQCIGq+SB0AY3QOqYL3tJjCmp5tAI9EAACBSWu99eHWGMMhjJbCKXnzppNGKbgIAAERF9u6HVm8nDNVBTWt17VHlxwQAACDcvMp1H1XCSmuVveTSSUPMZjiRAAAg1Pbe9dDqdsJQPay0VlllB6abAAAA4ZUlYa0+ugfU5tbAPi44SbGyDQBA2FAWUCN0D6iBdRv2uBPHHmf/2EA0AAAIlda7HlzdTRiqj5W/GnrpcyfZ3q10EwAAIByyf3tw9VbCUBvUtNbWLkU3AQAAwsCrXNdRI5QH1NBaygQAAAiL1r89uLqLMNQOL2LVmlb7zb82m5EiGAAABFLOjP2EobYoD6ixvz2w2j5O2KkoEwAAIIh6ruOV6zlqiBex6uRlz5t0jOKjAwAABM2+vz6weh9hqD1WWuvHPlbIEQYAAALDXrdbCUN9sNJaRy9/3iRb13oyvwcAAHzPlgNsvvOB1Sw41QndA+pozYY9pdPHHWcTVroJAADgb60mYe0gDPVD94B609rWxdBNAAAA/7Krq9Sx1hk1rXV2579W2ccNO4gEAAC+tbNyvUYdUUvpE6/4z8n2qwN0EwAAwF/2/uVfq/YQhvpjpdVHB4WimwAAAH6Sq1yf4QOstPrIq54/OW02Y4gEAAC+sPGOf67KEgZ/oHuAj6x+ck9x8vgRdvWbbgIAANTXPpOwthMG/6B7gP/YupkWM5KEAgCAushXrsfwEWpafcbc1dm3E7cTCQAA6mZ75XoMH6Gm1ade/YLJIxXdBAAAqLW9f7p/1S7C4D+stPrXblV+PAEAAGqDsgCSVvSXucujTAAAgNrabq6/LmHwJ8oDfO41L5h8vNkcSyQAAKiqfX+8fxVfqPQxVlr9z9bVUCYAAED15CvXW/gYK60B8Nr/N7nRbMYRCQAAqmLDH/6xqosw+BsfFwiAx57YUzjj1BG2py4fHQAAQNY+k7DuIwz+R3lAcOw0o0AYAAAQU6hcX0HSCinmLtC+zbiVSAAAIGZr5fqKAKCmNWBed9nkExTdBAAAGKzW2/++isWgAGGlNXhsOw7KBAAAGDh7HaUXesCw0hpAr79scrOimwAAAAP15G1/X9VJGIKF7gEBtPLxPfkpp41IKLoJAADQX/tMwrqXMARPnBAElO4pExhiRoJgAADQJ7YsgK9eBRQ1rQF1272rSopuAgAA9MfWyvUTAURNa8D914smn6zoJhApnsdxC4hcALXyiEKk7Pv9vas2E4bgojwg+LaZ0aIoEyBJBTCoY4skNtQKleslgnyjSQiC7w2XT7a1reOJBAkqAOGLJIlsWDz5u3tWtRGGYKN7QAisWL8nN3XCiJSim0BQk9SDBwCf5a0HD81RGkStJmHlU60hQHlAeNiXslr4nfo+QQUQsuOY1VhfKypeWg7VHSRC4o2XTxmq+OgACSqA+l9cSWT94snf3rOSsoCQoDwgRFas352bNmEkZQL1S1J5zA/gqbxVUVZQb/tNwkpZQIjwKDl8p0n7GGQIv9uqJ6jPvjwBwOHOG4qyghqzZQFbCEO4sNIaMivW7XanTRiZN388hmiIJqmsogKQxmps9Wz87d0ruwlD+A4YhNAVL55iW2ANIxIDSlABwB8XaVZjB2L/rXevfIIwhA+PkMNrkxnN/I6PnqB63LwBCMCNtFblBJZE9oiKlesfwngTRwjC600vmWI/70o3ARJUAOG9iJPIPtOTt9y1ch9hCCdqWkNs2brdmTMnjmw0f0xHNEnV5izueNSjAgh13tpzrtMH3ZRHtT52v0lY+VRriPHoOPxnM/uYJNQfHTjSKipZKoAIJrH2vHjwfxCF1VjKAiKAldaQW7Zut3vWxJEFFaJuAqyiAkC/E9mwr8ZuvPmulZ38qiNwR4bwe/NLp0w0m6EBTVCpRQWA6iYDQV6Nbbv5byvX8lsMP8oDomODGVOVj1fXD05QPV4pAIDanX8PLAxUzsN2FTYgiWypcn1DNG6uEBVveemU48xmvJ+SVK+X+isAgM+SBf1U0uD5LIl94td/W7mH31A0UNMaIUvX7u4+a+LIJlWHbgKVBLWnBtX1elZSNY/8ASBYKk/C9EHvFuiDk9oaazMJ62Z+K9FBeUD07pY3mM2Z1bxhOdpjfj5VCAChS2SfOr/XqKzAlgU8SfSjhZXWiFm6dndp+ukjbWsQ8W4Crqcc13vWG6oAgKglserp1dgqJa8bf/XXle1EO1ocQhA95kDfZTZt4icq6lIBANW/LrRVrmOIGMoDIkqXH6uIlgnEzKQljxshAMBT1wVXyz55cxVlAdHdnwhBND1aLhOwNUFiZQK2lunA4yAiDADRZi8JjiNeGrDhl39d2UZ0I7tPIcre9oopU8xmiOScxRI3QwAQdfFYz8tSktpv+svKlUQ2uniUi/Wq/LhFTMyRnQ8AECxVuA64lesVIoyVVtjV1uOV8EcHiq6KKc9j/wKAyGUW2os74qusT970l5XbCW60sdIKZU4EO8xGtHWILb4nsgAQPVU4/7eTsMKiewAqN8baPnaZLnUj09OXT2vXdT1ujAAgIhxHu45sX1bKAvD0DREhgLVk9a7ijEni3QQ8V9FNAAAiwZzzYyZpFZ51wy/+vGI/wYUimcCh3vHKqdOUYDcB2wKr5HrcHAFAyJmEtST89auOG/+8YhmRxQGUB+BQ4mUC9nERiSsAkLD2g12xXUdk8YycghDgUFe+aupJZjNWcs6Sq2LUtwJA+NiFiZh8t4ANN9yxYgvRxcFYaUVvtpox3IwWsZOaVq6r6VYBAKFLWuW7BXRUrkPAM7DSil6989VTG81mhhJsi1ZyleN6lAkAQFjYsgDhpNWWGCz++Z9WdBNdPGt/IwTozeJVuwozJ4+0fxwmeDfueZ5y7MtZRBgAgs0pdwuQLgvYaBLWvUQXvaE8AIdlMktbTzTCjGaxHc7RbqHksd8BQNATCPvylewT205Vvu4Avd8oEQIczs/+tMI+plmjlNwbobo6d+YAgBqqQreAnutN5boD9J5DEAIczbtePfUUJdxNoFDyEpQJAEAAEweTrCZiuiA87QaTsG4iujgSHtOiL7c2m5V0mUBMl2ziSnABIGCJQ0wXzXVBuixgM5HF0VAegKP62R8pEwAAVLEs4I+UBaAPuQMhQF+9+zVTxyr5MoG47ShAdAHA5wmDVm7CrrLK2vDTP67YQHTRF5QHoD82mnGcku0mUMoX6d0KAH5nElbpp2OdlesK0LcbJ0KA/njPa6far2TNlNx37Cdei7TBAgDfsnWswp9qteUAi37yhxUdRBd9xQoX+mXhY7vy55wx0j7OF/3ogFsuEeAmCgB8pkplAZtMwrqT6KJfN0+EAAM4gW1Q5W4CTVJzJuKUCQCAH9nzs5btFtBlxgYii/7iBRj02/W3r7DfmX5MCXYTsKutcboJAICv2POyI98t4LHKdQToFx7HYsCuet3U08xmjOSc+aKX5KMDAOCDBMEkq8m4zgtPu+nHt69YR3QxoJsoQoBBeEKVywQaxXbImC7kC16K0AJAfSXkE9ZuMx4nshjwjRQhwGBc/fqpQ83mHMl9qVhScboJAED92G4B8ZiSfPnKlgUs/NFtK9qILgaKF18wKAtW7so9Z8pIm2DKdRNwlGvbYHFTBQC1VykLKAhPu8kkrNuILgZ1M0UIMOgkU2n7uGekEiwTSJkTZq7gpYkuANSWOf9mHdlFA1sW8ASRxeDzDWCQfnDb8gPdBOR2TNtNIKYKRBcAaseed4W7BViPmesE3WEwaJQHQMT8lbuy500ZlTB/HCq2czralgnYpwGUCQBAldmygFQVugWYhHUL0YXITRUhgOAJb70S7ibQUyZQpJsAAFRbKqFzwh8RsGUB64kspFAeADHX/b7n8c9K0R3UUW7cUUWiCwDVY8+z1SgLqFwXABE8doW4D7xh2hlmc4rknNm81+Dy0QEAEGeT1XRSZ4Sn3XTd75Y/RnQhuq8SAlTBGjNET4DJuM4RVgCQV4Xza6ZyHQBEsXKFqrjmDdOGm81zJOe0n3i1Hx4gugAgIxFThYR8T9b53//d8r1EFyStCFLiOkUJlwlk8l6D5/GEAAAGnQBo5TbIlwVsNgnrCqKLamDVCtU7ITo9j4dGmSH2kYB0UuezBa+B6ALAIM+nCZ0352nJxausGauJLKqFPq2omnnLd7nnTxvVYf54ouDKgOd5Spdcj30XAAYoEdOFeFxLd2ZZ/L1bl3cSXVQL5QGoug9dMe1MszlZaj7P7LfZnNfgsf8CwEAu/F46pTNaiba42vzdW5cvI7qoJsoDUAu27Yn96IBImYA90SYTOmfbYBFaAOifVFJnhRNWWxawisiiBjdcQPV9+L+njVTC3QRyBS9VLKkE0QWAvonHVMF++Up42vnf+c3yXUQX1cZb2KiJyglN9PvTSfsSgfwXXAAglOz50p43hafdQsKKmt10EQLU8IRpP/EqWSZguwnYMoFGogsAR2bOl92Ofur0KcGWBawksqgVVlpRM9++ZbltYC1aqB9zVMk+7iK6AHB45jyZt+dL4WmXV87rQE1Q04qa++ibpp1tNidJzWe7CHTnvCbbCovoAsAhF3qtvMaU7hJ++WrLt25ZvpjoopZYaUU92K+liL0IYE/EqYT4V10AIBTs+VE4Yc1VzuNAbW/ACAHq4aNvmna8Eu4mkM176aLrJYkuAJTFHZ1PJ3VWeNr537pl+Q6iC5JWRMbH3jxtppIuE8h6TZ7yeIIAgAu80m5jWrwsYNs3b16+gOiiLjdhhAB1ZB8v2f6tIqujlTKBbIZuAgBguwVIf0TAtsviq1eo440YUEf/+5YzTzSbcyXntF/KKpQ8PjoAILISMV0wSat0rf+Cb/x62VaiC5JWRDlxtbWtJ0jNZ8sEurJuC90EAESRo5XbmHY6pcsCTMI6n+iinigPgB/unJaq8kcHpMoEVENCZzJ5r4noAoiadEJnnadPhxJsWcBSIou635ARAtTb13+9zLZPEa2Tisd00QyaXgOIFHves+c/4WmXVc7TQF3x+BS+8Ym3nnmB2YyWmq+nTCDjtnjcnAGIxgXdbWpwOoTLArZ/7VfL5hJd+AEXc/jJElV+DCV1AvdSST46ACAa7PmuCt0ClhBZ+OjGDPCPT/7Pmaco4Y8OZHJeU5FuAgBCLB7X+Yak7haedsG1v1y2kejCL1hpha+YE+QmsxH90kransi16OoDAPiHOb+l5T9lvYOEFb67OSME8N/5Vy0ym8vMEFkd1WbChmRPN4FmogsgbMz5rdPRB06fIuxLrIuILPwmRgjgNw8/urN4yfRR9lvZJ4rt6I52S66KuS77PIDwiMd03ra4Ep528Vd/uWwP0YXfUNMK3/r02868REl2E/CU7sy6Q/noAIBQXMC18prTTpuWLX/a8ZWblj1EdOHLmzRCAB+zj6deJLWf6nLdVzdlAgDCwJzPuoQTVtvfdSGRhW9v1AgB/Owzbz9zvNmcKzlnd85rLpa8JNEFEFS2LKAxpTuFp13wf79Y9gTRhV9R3wdfe2jJztZLZ4w6zvxRbHXUfjEmX/TSHjdtAALI9mJtSjsdWvYMtsMkrI8SXfgZLa8QBAtU+bGVzAnflgnI9zMEgJpoSFIWgMjesAH+99m3nznBbGZKztmV81ooEwAQJLYsoCmlO4SnXfTlXyxbR3Thd6y0IhAqJ9RdknP2rFYoPjoAIBjs+cqet4Sn3UXCisDctBECBOaErdV8s7lcar+NaXMBSOnuTM5rIboA/M6crzpiTs+NttRTUlsWMJ/IIkA3bkBwfO4dPWUC50jO2ZX1hhRdygQA+Ffc0fmmtG4XnnbRl25ctpboIjDHASFAkJgT7LrPXzl9nPnjCKk5G9OquzPjpvjoAAA/si9dNaadbrOVLOnbbQZlASBpBapsrhkvUUIt2xyt3FRCd2XylAkA8J90Qnfa85TglCV7Hv3iDY9S049g3cARAgTRF66cPkkJlwnYT7yWSipBdAH4RSymCvZTrcLTLvzCDY+uJroIGlZaEVRrzDjFjJFSEzYmnc6OjHsMHx0A4Ae2W0BjypFub7W7cv4EgnhMAMH0xXdOH2I2L1WCX3bLFbw0ZQIA/KAhqTtSCZ0VnNKWBdz1+Z8/2kZ0QdIK1D5xnWI2Z0vO2Zl1hxVLim4CAOomHlP55rSzX3jaxSZhXUl0EdjjghAg0HddWj1mNmPMOE5qzqZUT5nAsZQJAKjLeU0pz56HzPlN8hy0x4zHiC6CjC9iIdA+97Oet19nq/JjL5mDwlGlVEJ3El0A9ZBO6k57HhKc0nYemF05XwJBvqEDgu/L7zprmhIuE7AvZRVdygQA1E7cUfmWBqdVeNoln/3Z0mVEF0HHSivCYoUZeyUnbEw57VqJ9kYEgMOy5xt73hGe1p4XlxNdhOQYAcLh/9591jFm83LJm7Fs3mukmwCAWrDdAtJJ3S04pb3pvvMzP13aSnRB0gr4L3E9SwmXCbRn3GNLdBMAUEXxmM61NGjxsgCTsD5KdBEWlAcgbOxjsH2SEzbZMgGteIEBQFXY80tjSkuXBdjzIHWsCNexQggQNl95z1nHquqUCQwhugCkNSR1ezXKAj79k6X7iC5IWgH/J64zzGaG5Jzt3e7wEt0EAAiKOSo/pNHZKzztEpOwLiG6CBs+LoCw3o0tNZuxZhwrNWdz2mk3ietxRBeA5HlFyy4g2brYpUQWIb22A+H01fecNdxsXiG5n2fyXnOWbgIABKSTur0hqbsEp7S193d+6idL9xBdkLQCAXPte886x2ymS85pV1spEwAwGJWyAOnk8tFPXr90IdFFWNE9AGFn67pE28g0pZ39StFNAMCAeZXziKTWyvkOCC1WWhF6X7tqxgizeaXk/t6d81qyBZcyAQD91pBw2htSulMyCTbjz5/48ZLdRBdhFiMECLv7F+zofsG5o+1Lh8dLzZmI60K+oNKexzEEoB8XXUcXmhucNuFpl5uEdS3RRdjRPQDRoNUi86/jzBgmNWVTg27ryHgjCC6A/pw3Ks98pJ782DKDBUQW0biUAxHxtatnjFLS3QRybku2wEcHABxdOqHbG1JOh+CUtizgL5/40ZKdRBckrUDIfP3qGReYzVmSx1Bblzuy5Ho8tQBwWLYsYGiTs1vJvsS59OM/WjKX6CIquNAiauar8kcHhgrN5zWl9b6OjDeSdgIAer2zVbbriG4VTlhtXSxlAYjcsQREyjfeN2O0KncTENOdc4dk85QJAHg2+xGBxpTTLjztn//3h0u2E11ECX1aETmVE/0yyTnNBanDPv4jugAOZs8LjbJ1rNYyElZEEeUBiObdmlaPqHI3AakyAdVsuwl0K9tNgCcYACyvpcHZb843WvC8YMsCHiG0iORNICFAFN03f4f7wvNG208oThY7mBxdck0+XCypFBEG0JDUnamE7hae9t6P/mBJG9FFFLEihEj71vtn/IfZTJU8pvZ3uaNcVyWILhBdjqMKw5oc24pK8uWrFSZh/TfRRVRRHoBo37VpNcdsxpgh9hJVS4Nubev2RhFdILrseUDLfkTAvsg1h8gi0tdsQoCo+/YHZpykhLsJdGW9YbmC10J0gehJJXRHU1rvF572zx+5bskWoguSViDivnPNjOcpwTIBz+v56MDxrkeZABAljlaFYc3ODiVbFrDyw99f8i+ii6ijPAAom63KHx1oFrkb1OWPDrRnKBMAosQe98IJa6cZs4gswEor8JTvXjPjFFWFMoFswRtKdIHwSyd0WzXKAj70/SWbiC5A0gocmrg+32ymSM3XUybQ7Y6mmwAQbrZbwNBGZ7t9yiI47UqTsP6T6AJllAcAB9/Faf2wKn90QKpMQDWnndb2jHs80QXCyx7njqMlPyLQpSgLAJ6BjwsAB7l33vbSi84f3Wr+OEnsILMfHXBVrMRHB4BQst0CGlJOp/C093zwe4v3EF3gaZQHAL34/ofPvsxszpCaz5YJ7O9yT3BdjzIBIEQcR9uPCGwTLgt47JrvLP470QUOOd4IAdCrB1X5rV2Zu8NyN4G9hBUIF3tcCyesnZXzD4BDr6WEAOjddR8+e7wS7ibQmXGH54p8dAAIg1Rctzc3OPuEp73zA99ZvJ7oAiStQH8T1xcrwfpWz1PO/i73RNflJUggyBxHFYc1OVu1Vq7gtKtNwno30QV6x4UTONJdnVYPqPJHBxqF5lPNDXpvR7c3mugCwWWPY6dcYCdVZtdtxgNEFjjCzSIhAA7v/d9enDGb+yTnTMZ1NplQHUQXCCZ7/NrjWHja+yrnGwCHQXkA0Ac/+MjZL1XVKBPweNoBBImjq1IWsMYkrH8lusCRccEE+nah+pcqlwk0CN0uei1pvbc9Q5kAECT2uI05Pd0CpBZ97OoqX70C+nItJgTA0V39rcW23uwfknMmEzqTokwACAx7vNrjVnjaf1TOLwCOgvIAoB9+/LGzX2E2p0vN59oygU73ZNfz+Dod4GOO1qVhzc5mR7gs4KpvLv4L0QX6hvIAoH/sauspSqhMwF4Am9J6dwdlAoCv2eNUOGG1L3LdT2SBvmOlFein6z929hSzeZnknO3d7sh80WsmuoD/JOO6c0ijs0t42r++95uLVxJdgKQVqHbi+hqzmSA1n+0m0FouE+DpB+AjjtbFY5qdzcLdAtaZhPWPRBfoHy6QwMDu9u41m5OVUJmA/XZ5c1rv7ch4xxNdwD/scelo8W4B9xJZYEDXXgAD8ZNymcDLJeds73ZH5YteC9EF6i8Z1x1DGp2dwtP+7T3fXLyc6AIkrUBN/fTjM//LbE6Tms/1VKy1s3SKZ7ZEF6jjxVGr0jHNsU2O2QpOu/7dX1/0e6ILDAzlAcDg3G3Gu81ISUxmL5DNaWdXZ8almwBQR/Y4FE5Yc5XzBYCB3kwSAmBwfvbxmWcp+W4CxxfoJgDUhS0LaJEvC/jru76+aCnRBQaOL2IBg1S5EK2XnLM57ezWWpeILlBb9rhranD2CE/7BAkrMHiUBwAiFzp1j9m8x4ykxHyxWM9HB/Z0ZfnoAFBLzQ16Z8zpaW8l9SQyb8ZdRBYYPFZaAQHv/NqiNlX+WpaYdFJ3JuK6k+gCtWGPt1RC/Jj7R+X8AGCQqGkFBN3wyZlvNpvxUvPZbgL7O0tj6CYAVPliqFVpWHNso/DLV09cee2im4kuIIPyAEDWnWZcpYTKBOwFtDHl7OnMunx0AKiippSzWzhhLVTOBwCkbi4JASDrhk/OPNdsXiw5Z3u3ewLdBIDqsGUBQxqdbcLT3n3ltYsWEF1ADiutgPyd4EKzsV/LGis1Z0va2bW/q9TkedShA6LHq1auPb607CLOBlU+DwCQvb4CkHbjJ2ceYzbvVUJlAlY27w3pylEmAEhqSjnb00ndITil7RZw/TuuXdRKdAGSViAQfvGpmeeZzUsk52zrdk8sFr0mogsMXrXKAt7+1UXziC4gj/IAoHrmmzHVjDFSE7aknZ37u0pj6SYADI7tFtDcIP7Vq41mPEJ0gSodt4QAqJ6bPj1zuNlcbUZCas5s3hvalfUoEwAGoSmtd6STWrJ/qu0W8KO3fWXRXqILVAcvdQBVVLmA3S85p73QxmOqi+gCA5OIqy7hhNW6n4QVqC7KA4Bq3xlqNVeVuwmIlQkMabTdBNxxdBMA+seWBbQ0ODvNcSn5pHGTGXOJLlDl6ykhAKrrrf+3yDObO8woSs0Zc1ShMaV3EV2gf+xxY46fouCUdq47Ksc5gGredBICoDZ+/dlzLjGbyyXnbOtyTy6U6CYA9EUipruGNjmbhae95y1fXvgw0QWqj5VWoHZmmyF6wWxucHaYO0+X0AJHZo8Te7wIT7u5clwDqM1xDKBWbv7cOSPM5gNKsJ48k/OO6cq5o4gucHhNaWdHQ1LvF5yyZMZ1b/7SQsp0AJJWILSJ63PN5jLJOdu63DHFktdIdIFni5fLAjYJT3ufSVgfILpADY9lQgDU/E7xIbM504wTpeZsaXB27O8qjaebAHDI8aaVa7sFaNlyuK1m/JvoArXFBQ6osTd9aaGtQb1NlR8viujpJpB0eEwJHMIeF/b4EJzSHre3VY5jALW8CSUEQH3c+vlznq+EywT2d7ljiyWvgegCPWUB3cOanI3C0953xRcX3k90gToc04QAqBtbDzfNjBOkJmxucLa1dbmUCSDyKmUB24Wn3V45bgHU47gmBED93Pr5c2zCarsJiCWZ3Tnv2EzOO57oIsoaUnpHY0rvE5zSlgNcd8UXF24jugBJKxDNxPUL57zQbF4oOactEyiVFN0EEEmxmLJlARuEp73vii8svI/oAvXDI0Sg/v5phujqTXO657Eon5VEFHktaUd6NXRH5TgFUEestAI+8NsvnnOS2VyjZMsEhmdyHh8dQKRUqyzgjZ9fuJnoAiStAMqJ64vN5vmSc7Z1uuOLLt0EEA1xR2eGNjtPCE/7T5Ow3k10AR8c44QA8MkdpFa2Xs52ExB7iaq5UW9v7/LGe5QCIezHj1Ku3d/NcSS5r9uyAOpYAf8c5wD84ndfOudks/mgki0TGJHNuSOJLsIsnXJ2Nqb0HsEpbU34997wuYWbiC5A0gqgF7d9+TkvU4JlAubKq9s6S+NKlAkgpGKOzgxrjkmXBfzr9Z+dfyfRBfyD8gDAf+5V5TIBkdVRc2fqNTc4W9u6Sqdxo4oQ6tm/hee0n0S+h9AC/sIFDPCh27987liz+ZDkMdqVdUdk8x5lAgiVdFLvako7uyWTYDO++7rPLthAdAGSVgB9S1xfaTb/KXm87+9yx5dcRZkAQiHmqMywpp5uAZI9iR8wCesdRBfwH8oDAL/eUWp1l9mcacYIqTlbGpxtbd3uqeYSzw0rAn6AKM/uz1pX/p0Mu2J7F8EF/Ik2OIBPvfYzCwpm8xsluIoUj6lsOqF3E10End2P7f4sOKU9zn5jjrs80QX8eq8KwNf+9JVzX2s2z5M87ls73VNLrkoTXQRRzFHZY5qdx5VwWcCrP73gD0QX8C/KAwD/s213piq5MgGvuUFvbe/yTiW0CCCvpUFvEU5Y91SOMwA+xkorEAB3fPVc267qw5JzdmW9Udm8N4LoIkjK3QL0LuFpv/eqTy1YS3QBklYAMonrG8zmUqn5yh8dcE8reSpFdBEEMUflhjU565XsKutDJmH9HdEF/I/yACBAeasZU8wYLnTH6jU16C0d3d6pHjew8Lme/TUtXhawt3JcAQjGeQBAYLLWa889XZU/OiCmK+sdny14xxFd+JntFmCS1p3C0373VZ9csIboAiStAKqTuF6h5MsEJrguZQLwJ8dR2aHNznotu8o6yySstxBdIDgoDwCCdgHX6k+q/NGBY6TmbGlwtrZ3u+O5kYUPeS2NztaY7EcEWs2gvRUQMFyggAD6y9fOPcNsrpGcsyvrjc5RJgCfSSX0nqa03i487fdf8YkFjxFdgKQVQA3c+fXz3mI2l0jN53nKaesqnebSTQA+4WiVG9oUW6+1cgWnnfXyjz/yK6ILBPCcQAiAwLpdlR9zytzBmsSgKe1sJazwi6YGZ4twwrq/ctwACCBWWoEA++s3zrO1rR+QnLMr656QK3jDiS7qqVwW4EiXBVz3sv99ZBnRBUhaAdQncX272VwoNZ8tE2jvLtluAkmii3pwHJUf0hhbJ7zKOsckrL8gukBw0T0ACPoFXiv7NZ+pZgyTupVtTjvbOjI93QSAmrP7X6xcvCZVwtZmBl+9AoJ+vSMEQLC95GOPdJuN6IslibjuSiX0vnIKy2DUbpj9bq/d/4QPk5srxwmAAKM8AAiJu7953rvN5nyp+SrdBCa6HmUCqNEqilb5oU2xtcJlAfNe/LFHfkp0geCjPAAIj9+YYfu3DhG5oy13E9jSmaVMALVh9zfhhLW9clwACAFWWoEQuedb581U8t0ETswX1LFEF9WUTKh9VWi5dt3lH31kEdEFSFoB+DNxfa+SLROItXe7tkwgQXRRDbYsYEijI10WsMAkrD8kukB4UB4AhO1OVKtbzGaaGS1C83mNab21K+ONI7qohqa03ubIdgvoUMIvJwLwwQ0uIQDC5UUfecResH8pOWcyrjuTiZ6vb/GGO0N02P0qYfYv4cPgl5XjAABJKwCfJ67zzWa+5JyNKWe746gCaRZDatj9ye5Xwrv//Mr+DyBkKA8AQkrrnsejtpuAVJmA25jW27qy3liiCwlNab3FJK6uknu/wq7Y/prIAuHESisQUpd9+BHb7ucWyTmTcd2ejKtWFgkZgx1mP9pXhbKAm81+38bRD4R0MYYQAOF233fP/4jZzJSar9xNoDTRo5sABnrh0aowpLHnIwIlwWkXvfBD875NdIHwYqUVCL8bVfmxqVTCUWpIiffTRIQ0mv1HOGHtrOznAMJ8w0sIgPC7/3vnX2w2V0vO2ZVxTymU1DCii/5IxFVrU9rZLDztT17wwXn/JroASSuAcCSuHzeb6VLzVT46cLrneZQJoG8XHK0LQxqdNcKrrI+ahPXrRBcIP7oHAJFJGNTPzcbW/DUKzWc/OrC9O+uNIbroC7u/OI7ylFxpWrcZPyeyQDRQ0wpExPOvmbdPCX8lKBnXbYmY3s/b8IyjjURc77f7i/Bu/avKfg0gCosvhACIln99//xPmc0MqflcT8U7u92JnufFiC56vdBoXWqRLwtY9p/XzPsy0QWig/IAIHp+ZsZ3zGiQmMzRqphO6a2ZHGUC6J3ZP7YIJ6wZM64nskDEboAJARA9D1x3/gvM5j2Sc3Zl3TGFkjeU6OJgiZhua0o7G4Wn/cnzPjDvfqILRAsrrUA0/dOMC8w4S2pC27u1lHGbKRPAAbYsoAo9fZdW9l8AUTunEAIgmh78wfnHmc33lVCZgJUveMMyefdkoovKjcwm4ZevsmZ88Lnvn7eL6AIkrQCilbhebjbvlJyzK+uNKbmKMoGIizuqrTGtpcsCfm4S1nuILhDR8wohACLtXlUuE5gqNWFDSm/t6ikTUJQJRJR96SotXxaworK/AojquYUQANH20A8vGGU23zMjLTVnvugdk8lRJhBVlbKA/YJT9pQFXPq+uTuJLkDSCiDaiastE3iX5JxdWXdcyfVaiG60xGO6vTHlbBCe9kaTsP6N6AIRP78QAgBa9zx2vdSMM6TmbEw727oypYmeokwgQvtRsSHlbDNbya8tPmbGXUQXACutAHo8/KMLTlDlbgJJqTltmUCObgKRkUo6m5Nx3So4Zd6May65eu42oguApBXAU2b9+IJXmM2VknN2Zd2xlAmEX8zRHU1p8bKAGy6+au5fiC4Ai/IAAAe704wLlWCZgG0u35WlTCDMtFLV+IjAmsr+CAAHzjUA8LTZ119wktn8wIyE1Jz5gndstqBOJLrhlE6qLcJlAQUz3n/Re+duIboASFoBHClxfY3ZvE1yzu6cN65UUpQJhEwspjoaU/pJ4WlvMgnrH4kugINRHgDg2XezWt1hNhebcbrUnA0pva0r601Unuib5ajrjqJc+3sV7hZgywLuILgAnn3KAYBezPnJBfat/x8qyTKBojc8X1AnEN1wSCXU1kRc7xOcsmjG+y58z9xNRBcASSuAPpv30wveYDb/Izlnd9YbV3JVE9ENtpijOhvTeoPwtL86/91zf0t0AfSG8gAAR3K7GReZMUFqwnRKb81kvQmeokwgqLRSrv09Ck+7zozbiC6AI5x7AODwHvnZBWPN5keSN7mVMoHRRDeYkgm1PRnXewWntGUBV5/3rrkbiC6Aw2GlA8ARVRKJW0STHpPwOI7qrtw4MwI0zO+tSzhhtW4lYQVwNJQHADj63a3W9rHtc80YLzVnY1Jv6865p1EmEBy2LKAx5Wx3ZLsFPGHG74kugD6cgwDg6Bb8/MJTVblMQOzLVpQJBEsVygJKZlx97jvnPE50AZC0ApBMXN9iNm+WnDOT98bTTcD/Yo7qakjqJ4SnvdkkrL8mugD6gvIAAP25zb1VlT86cKrUlKmE3m4S11OVx020j3/vXiqptynZsgD7Fa1bCS6Avp+KAKAfFtxw4URVLhMQS2AKRe+4YlEdT3T9KR5X2xOyZQGuGe8798o5a4guAJJWAFWz6MYL32E2/y15LsrmvHGupxqJrr/YLg9p+bKA38x8x5wbiS6Afp2PCAGAAbB1iBsE5/OSiZ5m9R6h9RUvGRf/iMCGyv4DAP3CSiuAAVl844Wnm831SrZMYEShpEYSXX9IxNTORFzvEZzSlgVcdfY75qwmugD6i5VWAANiEg9bjyjaX9MmSI5WWaLrg4uDVhnhhNW6nYQVwEDRPQDAYBKbm8zmEjNOkZozndTbsnnPfsSAJ0H145nfg/RHBDaZQR0rgIFfcwgBgIGa/vY5ebO5VpUf+0olwrlETO8muvVj429/D4JT2v3j2sr+AgADwkoGgEFbetOFV5vNGyXPTdm8N87zVIro1pYtz0gl9QYl+1LcnWe9bc43iC6AwaA8AICEn6tymcBJQvPZbgLbcgVvHDfXNeUlTNyFE1a7unoToQUwWFwMAIhY9suLzlLljw6InVdsN4FiyTuO6NZGPKZ3V+Hlq5vO/J/ZNxBdAINFTSsAESYxWWo2t0vO2dNNwNE5rZVmVHfYOAt/9craYsbNHB0ARG6sCQEAKSb5+anZnGfGOKk5kwm9I1/wxhLd6rJxtsmrklspty9ffXXaW2fniC4AkWsMIQAgafmvLjpNlVsbJaXmLJa8EUWXMoFqiTt6dzwmXhZwo0lYKQsAQNIKwL9W/vqiy83mC5LnqlzBG+spuglU4SKQTSX0RiX78tUcMz4y5S2zXSIMgKQVgN8T16vM5q1S87meSheK3hjOW6K8RFxvFP4K2ZNmXGkS1k7CC0ASL2IBqJbrzbhH7GRlEquYo1sJqxwTz33CCesOMz5AwgqgGlixAFA1j918kb0x/qIZL5I6Z+WL3ljPk6uXjezJX6tcMi5aFmC/YvbuM948ezPRBUDSCiDyiavrqYZi0TuFyA6OLQvQcqusdoX1KhJWACStAAJt1S0X2XPNNWa8SWK+UkmNKLnesUR2YGxZQCzWszIqYa393U5+0+zdRBYASSuAsCSvrzGbj6nB94jWRcoEBhY4rfLxuN6gZMoCHjLjsyZh7SKyAEhaAYTK6t9cNNVsvmnGqMHMUy4TUCcT0X7xEnG1WaAswCa8tgfrTyf9N22tAJC0Aghv4mof7X/VjOcMZp6Sq0a6rhpGRPvGcVRrzBl0WYDt4PAZk6zOJaIASFoBhN7aWy+255/Xm/FBMxoGeg6zvVs9pRJE9Kgn+0Ji8N0CHjTjixOvmEXrMQAkrQAil7yeqMrdBc4ZyD/veaqh5HonEckjizl6i9YqM8B/3Cap3zDJ6j1EEgBJK4DIWvfbnlXXl6ryquuI/v7zJmkdYZLXoUSyd47W+x1H7RnAP2rrVW8344cT3jirjUgCIGkFgHLy2mg27zTjzWb0pzOAUyp59qUsygSerRCL6U2q/2UBs834pklWnyCEAEhaAaAX63978ehK8vpq1cf2WD1lAp53AtF7ppjW2/pZFrDcjB+e9sZZs4keAJJWAKhC8up6PWUCQ4hc5QSvVZujdV/LAhaacYNJVmcROQAkrQAwAI//7mLb0/WNZrzWjGOO8D91XFed5A3+4wVhSFiLjlZbVLku9bB5vip/IOCXp75h1gL2NAAkrQAgk7ymzeYlZlxhxqTe/jcmYW30PDU66rEyCes2szlcWcBeM/5gh0lWt7FnASBpBYAqefL3F9uk9ZWq3HVg+MH/neup40zi2hLZE7tWHSZpPbQsoKDKL1fdacb94/5rVoG9CABJKwDULnmNmc1FZlxuxvPMsK2vesoEzDYWwZCUHOepsgA7HjHjrkqiStsqACStAOCTBPZsM15gxms8T02L3Eldq3Vm83dVrlV92CSq+9gzAJC0AoC/k9gLVLnn63PNGKPC+YKWXU3dqcpv///BJK23jX39LJffPgCSVgAIoA23XdxgNi8z4zJVXo0da0ZDAM+DhUqS+qgqr6j+wSSprKYCIGkFgDDaePultpRgohmXmnGOGWeYcaIqv9SVrPP50X69qmRGtxk7zFhvxmIz/mXGkjGve6iL3yAAklYAiLBNf7jUMZvjVbml1gQzxpthPxFr22jZDxc0q/IKrW2/lVJPfzo2dphzqk1A3YNG0YxsJSG1yWenGfvN2GrGk2asMeNxm1ef8tqHWvmNAEDZ/xdgADyI/RmOv1FjAAAAAElFTkSuQmCC"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86178.e6fbec90af5ba6210368.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.937Z","timestamp":1785124876937,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86178.e6fbec90af5ba6210368.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 115\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a476ed7-73\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d8bd41bfa93489e5acc17b1e93791a79\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":115,"size_decoded":900,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"4b00738e1f848898dbd917e3aa80b190","sha1":"c2535efbabf6d725903e58f0696fdf8adbdc8279","sha256":"25731497d819094baf761b28529348e662eb9894ff5da4667f4164b2968604c1","sha512":"197696b9cdc9294feef121c1e6aa1f9e3f72dbccfa762b6e1b3d69b961a5843bdc3a1ee3c6ca753be4b766255fcc1395b98c4031846970f426aee7f57e48c8d3","ssdeep":"","tlshash":"0eb092aa719c8a614d13ea2ec394c90ea6503981ab10e784fa0ab1014cc3fe22142710","first_seen":"2026-07-03T16:22:04.423218Z","last_seen":"2026-07-27T06:24:31.57994Z","times_seen":129,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdVN0eTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9Lm9wZXJhdG9yLUlITlFWQVFJe2NvbG9yOnZhcigtLV8wLXVTdHkpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/tv.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.210Z","timestamp":1785124875210,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /tv.js HTTP/1.1\r\nHost: s3.tradingview.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://berthenergy-inc.biz/\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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"fd560649121156073923ce51d3f04348\"\r\nlast-modified: Fri, 24 Jul 2026 10:30:09 GMT\r\nx-amz-id-2: rVi82EHTOtiBXmhecv4lVPjaa4euCv7I6Hy/VP4YJq/TW6en+8hec8Qava0ldDZRNVal/kvBHw/gS3XR//yCqod+j5FwhXqQ\r\nx-amz-request-id: BCWZ9DFHJHF6G7GM\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: 7TroqDUvH0VSiO5OBFo4gpyelwzMKfa9\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:31:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 95f8c28d60055366c59ee26e01d32e6f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.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":21309,"size_decoded":8248,"mime_type":"text/javascript","magic":"data","md5":"fd560649121156073923ce51d3f04348","sha1":"bf3bf0105aa9e01a4f453898da7131486e2d583b","sha256":"e6d5c0aef4b2cfe736dd64b0761aa2807a25f6f84018c33f02c00cf654e110ac","sha512":"127a919f82388dd09f1042abf42efe6108ccf2f63ba3527bdc84ab7d9692ce3e83fa7db3dcbe6f538c9ec159031aa8ff2c4b5f119a5ac104abe8be23b85db550","ssdeep":"384:EqhCtUi8k0pwkp8EpXWpvS2rfVujtkl2okhIuWea1pYp4t6YJjlWm0yoVymbLP:EqZi8k0pwkp8EpXWpvS2rYj9okhfWeWa","tlshash":"48a2d76db5807a3c028700ee306f320c753765a4e10149a4fa78abe59558e8ea277fbd","first_seen":"2026-02-24T18:19:55.948124Z","last_seen":"2026-07-27T06:13:40.159672Z","times_seen":1080,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyFmdW5jdGlvbigpe2lmKHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lmhvc3QmJiF3aW5kb3cuVHJhZGluZ1ZpZXcucmVvbG9hZFR2anMpcmV0dXJuO3ZhciBlPXsiY29sb3ItY29sZC1ncmF5LTMwMCI6IiNCMkI1QkUiLCJjb2xvci1icmFuZCI6IiMyOTYyRkYiLCJjb2xvci1icmFuZC1ob3ZlciI6IiMxRTUzRTUiLCJjb2xvci1icmFuZC1hY3RpdmUiOiIjMTg0OENDIn07Y29uc3QgdD1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTt2YXIgbyxpLHIsbixhLHMsZCxsPSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiIsYz17aG9zdDpudWxsPT13aW5kb3cubG9jYXRpb24uaG9zdC5tYXRjaCgvdHJhZGluZ3ZpZXdcLmNvbXxweXJyb3NpbnZlc3RtZW50XC5jb20vaSk/Imh0dHBzOi8vcy50cmFkaW5ndmlldy5jb20iOiJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20iLGlkZWFzSG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIixjaGF0SG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIix3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixnZXRIb3N0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnVzZVdpZGdldEhvc3Q/Yy53aWRnZXRIb3N0OmMuaG9zdH0sZW1iZWRTdHlsZXNGb3JDb3B5cmlnaHQ6ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD0iLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQge2ZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyBmb250LWZhbWlseTogIitsKyIgIWltcG9ydGFudDsgY29sb3I6ICIrZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdKyIgIWltcG9ydGFudDt9IC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGNvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOnZpc2l0ZWQge2NvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kLWhvdmVyIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTphY3RpdmUgLmJsdWUtdGV4dCB7Y29sb3I6ICIrZVsiY29sb3ItYnJhbmQtYWN0aXZlIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30iLHR9LGVtYmVkU3R5bGVzRm9yRnVsbEhlaWdodDpmdW5jdGlvbihlLHQsbyl7dmFyIGk9dD8iY2FsYygiK2UrIiAtIDMycHgpIjplLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIrbyk7ci5wYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodD1pLHIuc3R5bGUuaGVpZ2h0PSIxMDAlIn0sZ0lkOmZ1bmN0aW9uKCl7cmV0dXJuInRyYWRpbmd2aWV3XyIrKDEwNDg1NzYqKDErTWF0aC5yYW5kb20oKSl8MCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKX0saXNQZXJzZW50SGVpZ2h0OmZ1bmN0aW9uKGUpe3JldHVybiIlIj09PWV9LGdldFN1ZmZpeDpmdW5jdGlvbihlKXt2YXIgdD1lLnRvU3RyaW5nKCkubWF0Y2goLyglfHB4fGVtfGV4KS8pO3JldHVybiB0P3RbMF06InB4In0saGFzQ29weXJpZ2h0OmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpLG89dCYmdC5wYXJlbnRFbGVtZW50O3JldHVybiEhbyYmISFvLnF1ZXJ5U2VsZWN0b3IoIi50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0Iil9LGNhbGN1bGF0ZVdpZGdldEhlaWdodDpmdW5jdGlvbihlLHQpe3ZhciBvPXBhcnNlSW50KGUpLGk9dGhpcy5nZXRTdWZmaXgoZSkscj10aGlzLmlzUGVyc2VudEhlaWdodChpKSxuPXQmJnRoaXMuaGFzQ29weXJpZ2h0KHQpO3JldHVybiByJiZ0JiYodGhpcy5lbWJlZFN0eWxlc0ZvckZ1bGxIZWlnaHQobytpLG4sdCksbik/MTAwK2k6bj8iY2FsYygiK28raSsiIC0gMzJweCkiOm8raX0sb25yZWFkeTpmdW5jdGlvbihlKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSwhMSk6d2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGUpfSxiaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIodCxvLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbiIrdCxvKX0sdW5iaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcj9lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxvLCExKTplLmRldGFjaEV2ZW50JiZlLmRldGFjaEV2ZW50KCJvbiIrdCxvKX0sY2xvbmVTaW1wbGVPYmplY3Q6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZXx8Im9iamVjdCIhPXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PWUuY29uc3RydWN0b3IoKTtmb3IodmFyIG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1lW29dKTtyZXR1cm4gdH0saXNBcnJheTpmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSxnZW5lcmF0ZVV0bUZvclVybFBhcmFtczpmdW5jdGlvbihlKXt2YXIgdD17dXRtX3NvdXJjZTp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdXRtX21lZGl1bTpjLmhhc0NvcHlyaWdodChlLmNvbnRhaW5lcik/IndpZGdldF9uZXciOiJ3aWRnZXQifTtyZXR1cm4gZS50eXBlJiYodC51dG1fY2FtcGFpZ249ZS50eXBlLCJjaGFydCI9PT1lLnR5cGUmJih0LnV0bV90ZXJtPWUuc3ltYm9sKSksdH0sZ2V0UGFnZVVyaVN0cmluZzpmdW5jdGlvbigpe2NvbnN0IGU9bG9jYXRpb24uaHJlZixvPXRoaXMuaW52YWxpZFVybChlKTtyZXR1cm4gb3x8ZS5yZXBsYWNlKHQsIiIpfSxpbnZhbGlkVXJsOmZ1bmN0aW9uKGUpe3RyeXtjb25zdCBvPW5ldyBVUkwoZSk7cmV0dXJuIHQudGVzdChvLnByb3RvY29sKT9udWxsOiJfX05IVFRQX18ifWNhdGNoKGUpe3JldHVybiJfX0ZBSUxfXyJ9fSxnZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlfHxgJHt0LnJlcGxhY2UoIi0iLCIgIil9IFRyYWRpbmdWaWV3IHdpZGdldGB9LFdpZGdldEFic3RyYWN0OmZ1bmN0aW9uKCl7fSxNZWRpdW1XaWRnZXQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpO2NvbnN0IHQ9Yy5jYWxjdWxhdGVXaWRnZXRIZWlnaHQoZS5oZWlnaHR8fDQwMCxlLmNvbnRhaW5lcl9pZCk7bGV0IG87c3dpdGNoKGUuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6e2NvbnN0e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cixib3JkZXJVcENvbG9yOm4sYm9yZGVyRG93bkNvbG9yOmEsd2lja1VwQ29sb3I6cyx3aWNrRG93bkNvbG9yOmR9PWU7bz17Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyLGJvcmRlclVwQ29sb3I6bixib3JkZXJEb3duQ29sb3I6YSx3aWNrVXBDb2xvcjpzLHdpY2tEb3duQ29sb3I6ZH07YnJlYWt9Y2FzZSJiYXJzIjp7Y29uc3R7Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyfT1lO289e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cn07YnJlYWt9Y2FzZSJsaW5lIjp7Y29uc3R7Y2hhcnRUeXBlOnQsY29sb3I6aSxjb2xvckdyb3dpbmc6cixjb2xvckZhbGxpbmc6bixsaW5lV2lkdGg6YX09ZTtvPXtjaGFydFR5cGU6dCxjb2xvcjppLGNvbG9yR3Jvd2luZzpyLGNvbG9yRmFsbGluZzpuLGxpbmVXaWR0aDphfTticmVha31kZWZhdWx0Ontjb25zdHtjaGFydFR5cGU6dD0iYXJlYSIsbGluZUNvbG9yOmk9ZS50cmVuZExpbmVDb2xvcnx8IiIsbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphPWUudW5kZXJMaW5lQ29sb3J8fCIiLGJvdHRvbUNvbG9yOnM9ZS51bmRlckxpbmVCb3R0b21Db2xvcnx8IiIsbGluZVdpZHRoOmR9PWU7bz17Y2hhcnRUeXBlOnQsbGluZUNvbG9yOmksbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphLGJvdHRvbUNvbG9yOnMsbGluZVdpZHRoOmR9O2JyZWFrfX10aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZShlLndpZHRoKXx8IiIsaGVpZ2h0OmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodCl8fCIiLHN5bWJvbHM6ZS5zeW1ib2xzLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLHN5bWJvbHNfZGVzY3JpcHRpb246ZS5zeW1ib2xzX2Rlc2NyaXB0aW9ufHwiIixsYXJnZV9jaGFydF91cmw6ZS5sYXJnZV9jaGFydF91cmx8fCIiLGN1c3RvbWVyOmUuY3VzdG9tZXJ8fCIiLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcnx8IiIsZ3JpZExpbmVDb2xvcjplLmdyaWRMaW5lQ29sb3J8fCIiLGZvbnRDb2xvcjplLmZvbnRDb2xvcnx8IiIsZm9udFNpemU6ZS5mb250U2l6ZXx8IiIsd2lkZ2V0Rm9udENvbG9yOmUud2lkZ2V0Rm9udENvbG9yfHwiIix0aW1lQXhpc0JhY2tncm91bmRDb2xvcjplLnRpbWVBeGlzQmFja2dyb3VuZENvbG9yfHwiIixjaGFydE9ubHk6ISFlLmNoYXJ0T25seSxsb2NhbGU6ZS5sb2NhbGUsY29sb3JUaGVtZTplLmNvbG9yVGhlbWUsaXNUcmFuc3BhcmVudDplLmlzVHJhbnNwYXJlbnQsdXNlV2lkZ2V0SG9zdDpCb29sZWFuKGUudXNlV2lkZ2V0SG9zdCksc2hvd0Zsb2F0aW5nVG9vbHRpcDplLnNob3dGbG9hdGluZ1Rvb2x0aXAsdmFsdWVzVHJhY2tpbmc6ZS52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOmUuY2hhbmdlTW9kZSxkYXRlRm9ybWF0OmUuZGF0ZUZvcm1hdCx0aW1lSG91cnNGb3JtYXQ6ZS50aW1lSG91cnNGb3JtYXQsc2hvd1ZvbHVtZTplLnNob3dWb2x1bWUsc2hvd01BOmUuc2hvd01BLHZvbHVtZVVwQ29sb3I6ZS52b2x1bWVVcENvbG9yLHZvbHVtZURvd25Db2xvcjplLnZvbHVtZURvd25Db2xvcixtYUxpbmVDb2xvcjplLm1hTGluZUNvbG9yLG1hTGluZVdpZHRoOmUubWFMaW5lV2lkdGgsbWFMZW5ndGg6ZS5tYUxlbmd0aCxoaWRlRGF0ZVJhbmdlczplLmhpZGVEYXRlUmFuZ2VzLGhpZGVNYXJrZXRTdGF0dXM6ZS5oaWRlTWFya2V0U3RhdHVzLGhpZGVTeW1ib2xMb2dvOmUuaGlkZVN5bWJvbExvZ28sc2NhbGVQb3NpdGlvbjplLnNjYWxlUG9zaXRpb24sc2NhbGVNb2RlOmUuc2NhbGVNb2RlLGZvbnRGYW1pbHk6ZS5mb250RmFtaWx5LG5vVGltZVNjYWxlOmUubm9UaW1lU2NhbGUsLi4ub30sdGhpcy5jcmVhdGUoKX0sd2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9ZS5pZHx8Yy5nSWQoKTt2YXIgdD1jLmdldFVybFBhcmFtcygpLG89ZS50dndpZGdldHN5bWJvbHx8dC50dndpZGdldHN5bWJvbHx8dC5zeW1ib2x8fGUuc3ltYm9sfHwiTkFTREFROkFBUEwiLGk9ZS5sb2dvfHwiIjtpLnNyYyYmKGk9aS5zcmMpLGkmJmkucmVwbGFjZSgiLnBuZyIsIiIpO3ZhciByPWMuY2FsY3VsYXRlV2lkZ2V0SGVpZ2h0KGUuaGVpZ2h0fHw1MDAsZS5jb250YWluZXJfaWQpO3RoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8ODAwLGhlaWdodDpyLHN5bWJvbDpvLGludGVydmFsOmUuaW50ZXJ2YWx8fCIxIixyYW5nZTplLnJhbmdlfHwiIix0aW1lem9uZTplLnRpbWV6b25lfHwiIixhdXRvc2l6ZTplLmF1dG9zaXplLGhpZGVfdG9wX3Rvb2xiYXI6ZS5oaWRlX3RvcF90b29sYmFyLGhpZGVfc2lkZV90b29sYmFyOmUuaGlkZV9zaWRlX3Rvb2xiYXIsaGlkZV9sZWdlbmQ6ZS5oaWRlX2xlZ2VuZCxoaWRlX3ZvbHVtZTplLmhpZGVfdm9sdW1lLGFsbG93X3N5bWJvbF9jaGFuZ2U6ZS5hbGxvd19zeW1ib2xfY2hhbmdlLHNhdmVfaW1hZ2U6dm9pZCAwPT09ZS5zYXZlX2ltYWdlfHxlLnNhdmVfaW1hZ2UsY29udGFpbmVyOmUuY29udGFpbmVyX2lkfHwiIix3YXRjaGxpc3Q6ZS53YXRjaGxpc3R8fFtdLGNvbXBhcmVTeW1ib2xzOmUuY29tcGFyZVN5bWJvbHN8fFtdLGVkaXRhYmxld2F0Y2hsaXN0OiEhZS5lZGl0YWJsZXdhdGNobGlzdCxzdHVkaWVzOmUuc3R1ZGllc3x8W10sdGhlbWU6ZS50aGVtZXx8IiIsc3R5bGU6ZS5zdHlsZXx8IiIsZXh0ZW5kZWRfaG91cnM6dm9pZCAwPT09ZS5leHRlbmRlZF9ob3Vycz92b2lkIDA6K2UuZXh0ZW5kZWRfaG91cnMsZGV0YWlsczohIWUuZGV0YWlscyxjYWxlbmRhcjohIWUuY2FsZW5kYXIsaG90bGlzdDohIWUuaG90bGlzdCxoaWRlaWRlYXNidXR0b246ISFlLmhpZGVpZGVhc2J1dHRvbix3aWRnZXRiYXJfd2lkdGg6K2Uud2lkZ2V0YmFyX3dpZHRofHx2b2lkIDAsd2l0aGRhdGVyYW5nZXM6ZS53aXRoZGF0ZXJhbmdlc3x8IiIsY3VzdG9tZXI6ZS5jdXN0b21lcnx8aXx8IiIsdmVudWU6ZS52ZW51ZSxzeW1ib2xvZ3k6ZS5zeW1ib2xvZ3ksbG9nbzppLHNob3dfcG9wdXBfYnV0dG9uOiEhZS5zaG93X3BvcHVwX2J1dHRvbixwb3B1cF9oZWlnaHQ6ZS5wb3B1cF9oZWlnaHR8fCIiLHBvcHVwX3dpZHRoOmUucG9wdXBfd2lkdGh8fCIiLHN0dWRpZXNfb3ZlcnJpZGVzOmUuc3R1ZGllc19vdmVycmlkZXMsb3ZlcnJpZGVzOmUub3ZlcnJpZGVzLGVuYWJsZWRfZmVhdHVyZXM6ZS5lbmFibGVkX2ZlYXR1cmVzLGRpc2FibGVkX2ZlYXR1cmVzOmUuZGlzYWJsZWRfZmVhdHVyZXMscHVibGlzaF9zb3VyY2U6ZS5wdWJsaXNoX3NvdXJjZXx8IiIsd2hvdHJhZGVzOmUud2hvdHJhZGVzfHx2b2lkIDAsbG9jYWxlOmUubG9jYWxlLHJlZmVycmFsX2lkOmUucmVmZXJyYWxfaWQsbm9fcmVmZXJyYWxfaWQ6ZS5ub19yZWZlcnJhbF9pZCxmdW5kYW1lbnRhbDplLmZ1bmRhbWVudGFsLHBlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLGhpZGV2b2x1bWU6ZS5oaWRldm9sdW1lLHBhZGRpbmc6ZS5wYWRkaW5nLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLGhvcnp0b3VjaGRyYWc6ZS5ob3J6dG91Y2hkcmFnLHZlcnR0b3VjaGRyYWc6ZS52ZXJ0dG91Y2hkcmFnLHVzZVdpZGdldEhvc3Q6Qm9vbGVhbihlLnVzZVdpZGdldEhvc3QpLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcixncmlkQ29sb3I6ZS5ncmlkQ29sb3IsZG9Ob3RTdG9yZVNldHRpbmdzOmUuZG9Ob3RTdG9yZVNldHRpbmdzfSxlLmNtZSYmKHRoaXMub3B0aW9ucy5jdXN0b21lcj0iY21lIiksaXNGaW5pdGUoZS53aWRnZXRiYXJfd2lkdGgpJiZlLndpZGdldGJhcl93aWR0aD4wJiYodGhpcy5vcHRpb25zLndpZGdldGJhcl93aWR0aD1lLndpZGdldGJhcl93aWR0aCksdGhpcy5fcmVhZHlfaGFuZGxlcnM9W10sdGhpcy5jcmVhdGUoKX0sY2hhcnQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpLHRoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8NjQwLGhlaWdodDplLmhlaWdodHx8NTAwLGNvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIscmVhbHRpbWU6ZS5yZWFsdGltZSxjaGFydDplLmNoYXJ0LGxvY2FsZTplLmxvY2FsZSx0eXBlOiJjaGFydCIsYXV0b3NpemU6ZS5hdXRvc2l6ZSxtb2JpbGVTdGF0aWM6ZS5tb2JpbGVTdGF0aWN9LHRoaXMuX3JlYWR5X2hhbmRsZXJzPVtdLHRoaXMuY3JlYXRlKCl9LHN0cmVhbTpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgU3RyZWFtIHdpZGdldCBpcyBkaXNjb250aW51ZWQiKX0sRXZlbnRzV2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9Yy5nSWQoKSx0aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6ZS53aWR0aHx8NDg2LGhlaWdodDplLmhlaWdodHx8NjcwLGN1cnJlbmN5OmUuY3VycmVuY3lGaWx0ZXJ8fCIiLGltcG9ydGFuY2U6ZS5pbXBvcnRhbmNlRmlsdGVyfHwiIix0eXBlOiJlY29ub21pYy1jYWxlbmRhciJ9LHRoaXMuY3JlYXRlKGUpfSxJZGVhV2lkZ2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJXZSdyZSBzb3JyeSwgdGhlIElkZWEgUHJldmlldyB3aWRnZXQgaXMgZGlzY29udGludWVkIil9LENoYXRXaWRnZXRFbWJlZDpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgQ2hhdCB3aWRnZXQgaXMgZGlzY29udGludWVkIil9fTtjLldpZGdldEFic3RyYWN0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InVua25vd24iLGZpeFNpemU6ZnVuY3Rpb24oZSl7cmV0dXJuL15bMC05XSsoXC58LFswLTldKSokLy50ZXN0KGUpP2UrInB4IjplfSx3aWR0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuYXV0b3NpemU/IjEwMCUiOmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodGhpcy5vcHRpb25zLndpZHRoKX0saGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvc2l6ZT8iMTAwJSI6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZSh0aGlzLm9wdGlvbnMuaGVpZ2h0KX0sYWRkV3JhcHBlckZyYW1lOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuaWQ9dGhpcy5pZCsiLXdyYXBwZXIiLHQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IHJlbGF0aXZlO2JveC1zaXppbmc6IGNvbnRlbnQtYm94O21hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7cGFkZGluZzogMCAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OiAiK2wrIjsiLHQuc3R5bGUud2lkdGg9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUud2lkdGguY2FsbCh0aGlzKSx0LnN0eWxlLmhlaWdodD1jLldpZGdldEFic3RyYWN0LnByb3RvdHlwZS5oZWlnaHQuY2FsbCh0aGlzKSx0LmFwcGVuZENoaWxkKGUpLHR9fSxjLkV2ZW50c1dpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJldmVudHMiLGNyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPW5ldyBVUkwoYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO2UucGF0aG5hbWU9Ii9ldmVudHN3aWRnZXRlbWJlZC8iLGMuYWRkVXJsUGFyYW1zKGUse2N1cnJlbmN5OnRoaXMub3B0aW9ucy5jdXJyZW5jeSxpbXBvcnRhbmNlOnRoaXMub3B0aW9ucy5pbXBvcnRhbmNlfSksdGhpcy5vcHRpb25zLnR5cGU9ImV2ZW50cyIsYy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucykpO2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7cmV0dXJuIHQudGl0bGU9Yy5nZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZSh0aGlzLm9wdGlvbnMuaWZyYW1lVGl0bGUsdGhpcy53aWRnZXRJZCksdC5sYW5nPXRoaXMub3B0aW9ucy5pZnJhbWVMYW5nfHwiZW4iLHQud2lkdGg9dGhpcy5vcHRpb25zLndpZHRoLHRoaXMub3B0aW9ucy5oZWlnaHQmJih0LmhlaWdodD10aGlzLm9wdGlvbnMuaGVpZ2h0KSx0LnNldEF0dHJpYnV0ZSgiZnJhbWVCb3JkZXIiLCIwIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zcmM9ZSx0fX0sYy5NZWRpdW1XaWRnZXQucHJvdG90eXBlPXt3aWRnZXRJZDoic3ltYm9sLW92ZXJ2aWV3IixjcmVhdGU6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3QgdCBvZlsic3ltYm9scyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3JUaGVtZSIsImJhY2tncm91bmRDb2xvciIsImdyaWRMaW5lQ29sb3IiLCJmb250Q29sb3IiLCJ3aWRnZXRGb250Q29sb3IiLCJ1bmRlckxpbmVDb2xvciIsInVuZGVyTGluZUJvdHRvbUNvbG9yIiwidHJlbmRMaW5lQ29sb3IiLCJhY3RpdmVUaWNrZXJCYWNrZ3JvdW5kQ29sb3IiLCJ0aW1lQXhpc0JhY2tncm91bmRDb2xvciIsInNjYWxlUG9zaXRpb24iLCJzY2FsZU1vZGUiLCJjaGFydFR5cGUiLCJjb2xvciIsImNvbG9yR3Jvd2luZyIsImNvbG9yRmFsbGluZyIsImxpbmVDb2xvciIsImxpbmVDb2xvckdyb3dpbmciLCJsaW5lQ29sb3JGYWxsaW5nIiwidG9wQ29sb3IiLCJib3R0b21Db2xvciIsInVwQ29sb3IiLCJkb3duQ29sb3IiLCJib3JkZXJVcENvbG9yIiwiYm9yZGVyRG93bkNvbG9yIiwid2lja1VwQ29sb3IiLCJ3aWNrRG93bkNvbG9yIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwibm9UaW1lU2NhbGUiLCJ2YWx1ZXNUcmFja2luZyIsImNoYW5nZU1vZGUiLCJkYXRlRm9ybWF0IiwidGltZUhvdXJzRm9ybWF0IiwibGluZVdpZHRoIiwidm9sdW1lVXBDb2xvciIsInZvbHVtZURvd25Db2xvciIsImNoYXJ0T25seSIsImlzVHJhbnNwYXJlbnQiLCJzaG93RmxvYXRpbmdUb29sdGlwIiwic2hvd1ZvbHVtZSIsInNob3dNQSIsIm1hTGluZUNvbG9yIiwibWFMaW5lV2lkdGgiLCJtYUxlbmd0aCIsImhpZGVEYXRlUmFuZ2VzIiwiaGlkZU1hcmtldFN0YXR1cyIsImhpZGVTeW1ib2xMb2dvIl0pdGhpcy5vcHRpb25zW3RdJiYoZVt0XT10aGlzLm9wdGlvbnNbdF0pO2VbInBhZ2UtdXJpIl09Yy5nZXRQYWdlVXJpU3RyaW5nKCksdGhpcy5vcHRpb25zLnR5cGU9InN5bWJvbC1vdmVydmlldyI7Y29uc3QgdD1jLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucyk7Zm9yKHZhciBvIG9mIE9iamVjdC5rZXlzKHQpKWVbb109dFtvXTtjb25zdCBpPW5ldyBVUkwoIi9lbWJlZC13aWRnZXQvc3ltYm9sLW92ZXJ2aWV3LyIsYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO3RoaXMub3B0aW9ucy5jdXN0b21lciYmKGkucGF0aG5hbWUrPXRoaXMub3B0aW9ucy5jdXN0b21lcisiLyIpLHRoaXMub3B0aW9ucy5sb2NhbGUmJmkuc2VhcmNoUGFyYW1zLmFwcGVuZCgibG9jYWxlIix0aGlzLm9wdGlvbnMubG9jYWxlKSxpLmhhc2g9ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGUpKTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3JldHVybiByLnRpdGxlPWMuZ2V0V2lkZ2V0VGl0bGVBdHRyaWJ1dGUodGhpcy5vcHRpb25zLmlmcmFtZVRpdGxlLHRoaXMud2lkZ2V0SWQpLHIubGFuZz10aGlzLm9wdGlvbnMuaWZyYW1lTGFuZ3x8ImVuIixyLmlkPXRoaXMuaWQsci5zdHlsZS5jc3NUZXh0PSJtYXJnaW46IDAgIWltcG9ydGFudDtwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Iix0aGlzLm9wdGlvbnMud2lkdGgmJihyLnN0eWxlLndpZHRoPXRoaXMub3B0aW9ucy53aWR0aCksdGhpcy5vcHRpb25zLmhlaWdodCYmKHIuc3R5bGUuaGVpZ2h0PXRoaXMub3B0aW9ucy5oZWlnaHQpLHIuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxyLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksci5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksci5zcmM9aS5ocmVmLHJ9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlld193aWRnZXQiKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9fSxjLndpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJhZHZhbmNlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnR5cGU9dGhpcy5vcHRpb25zLmZ1bmRhbWVudGFsPyJmdW5kYW1lbnRhbCI6ImNoYXJ0Iix0aGlzLmlmcmFtZT10aGlzLnJlbmRlcigpO3ZhciBlPXRoaXM7bGV0IHQ9dGhpcy5pZnJhbWU7dGhpcy5vcHRpb25zLm5vTG9nb092ZXJsYXl8fCh0PWMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmFkZFdyYXBwZXJGcmFtZS5jYWxsKHRoaXMsdCkpLGgodCx0aGlzLm9wdGlvbnMpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlldy1jb3B5cmlnaHQiKTtvJiZvLnBhcmVudEVsZW1lbnQmJm8ucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChvKSx0aGlzLnBvc3RNZXNzYWdlPWMucG9zdE1lc3NhZ2VXcmFwcGVyKHRoaXMuaWZyYW1lLmNvbnRlbnRXaW5kb3csdGhpcy5pZCksYy5iaW5kRXZlbnQodGhpcy5pZnJhbWUsImxvYWQiLChmdW5jdGlvbigpe2UucG9zdE1lc3NhZ2UuZ2V0KCJ3aWRnZXRSZWFkeSIse30sKGZ1bmN0aW9uKCl7dmFyIHQ7Zm9yKGUuX3JlYWR5PSEwLHQ9ZS5fcmVhZHlfaGFuZGxlcnMubGVuZ3RoO3QtLTspZS5fcmVhZHlfaGFuZGxlcnNbdF0uY2FsbChlKX0pKX0pKSxlLnBvc3RNZXNzYWdlLm9uKCJvcGVuQ2hhcnRJblBvcHVwIiwoZnVuY3Rpb24odCl7Zm9yKHZhciBvPWMuY2xvbmVTaW1wbGVPYmplY3QoZS5vcHRpb25zKSxpPVsic3ltYm9sIiwiaW50ZXJ2YWwiXSxyPWkubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWlbcl0sYT10W25dO2EmJihvW25dPWEpfW8uc2hvd19wb3B1cF9idXR0b249ITE7dmFyIHM9ZS5vcHRpb25zLnBvcHVwX3dpZHRofHw5MDAsZD1lLm9wdGlvbnMucG9wdXBfaGVpZ2h0fHw2MDAsbD0oc2NyZWVuLndpZHRoLXMpLzIsaD0oc2NyZWVuLmhlaWdodC1kKS8yLGc9d2luZG93Lm9wZW4oZS5nZW5lcmF0ZVVybChvKSwiX2JsYW5rIiwicmVzaXphYmxlPXllcywgdG9wPSIraCsiLCBsZWZ0PSIrbCsiLCB3aWR0aD0iK3MrIiwgaGVpZ2h0PSIrZCk7ZyYmKGcub3BlbmVyPW51bGwpfSkpfSxyZWFkeTpmdW5jdGlvbihlKXt0aGlzLl9yZWFkeT9lLmNhbGwodGhpcyk6dGhpcy5fcmVhZHlfaGFuZGxlcnMucHVzaChlKX0scmVuZGVyOmZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gZS50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSxlLmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsZS5pZD10aGlzLmlkLGUuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLGUuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxlLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksZS5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksZS5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSxlLnNyYz10aGlzLmdlbmVyYXRlVXJsKCksZX0sZ2VuZXJhdGVVcmw6ZnVuY3Rpb24oZSl7dmFyIHQ7ZnVuY3Rpb24gbyhlLHQsbyl7bGV0IGk9Zyh0LG8pOyJvYmplY3QiPT10eXBlb2YgaSYmKGk9SlNPTi5zdHJpbmdpZnkoaSkpLHZvaWQgMCE9PWkmJiIiIT09aSYmKGFbZV09aSl9ZnVuY3Rpb24gaShlLHQsaSl7byhlLHZvaWQgMD09PXQ/dm9pZCAwOnQ/IjEiOmkpfXQ9ImNtZSI9PT0oZT1lfHx0aGlzLm9wdGlvbnMpLmN1c3RvbWVyPyIvY21ld2lkZ2V0ZW1iZWQvIjplLmN1c3RvbWVyPyIvIitlLmN1c3RvbWVyKyIvd2lkZ2V0ZW1iZWQvIjoiL3dpZGdldGVtYmVkLyI7dmFyIHI9Yy5nZXRIb3N0KGUpO2NvbnN0IG49bmV3IFVSTChyK3QpO24uc2VhcmNoUGFyYW1zLmFwcGVuZCgiaGlkZWlkZWFzIiwiMSIpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgib3ZlcnJpZGVzIixKU09OLnN0cmluZ2lmeShnKGUub3ZlcnJpZGVzLHt9KSkpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgiZW5hYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmVuYWJsZWRfZmVhdHVyZXMsW10pKSksbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJkaXNhYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmRpc2FibGVkX2ZlYXR1cmVzLFtdKSkpLGUubG9jYWxlJiZuLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxvY2FsZSIsZS5sb2NhbGUpO2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gYS5zeW1ib2w9ZS5zeW1ib2wsYS5mcmFtZUVsZW1lbnRJZD10aGlzLmlkLGEuaW50ZXJ2YWw9ZS5pbnRlcnZhbCxvKCJyYW5nZSIsZS5yYW5nZSksaSgiaGlkZV90b3BfdG9vbGJhciIsZS5oaWRlX3RvcF90b29sYmFyKSxpKCJoaWRlX2xlZ2VuZCIsZS5oaWRlX2xlZ2VuZCksaSgiaGlkZV9zaWRlX3Rvb2xiYXIiLGUuaGlkZV9zaWRlX3Rvb2xiYXIsIjAiKSxpKCJhbGxvd19zeW1ib2xfY2hhbmdlIixlLmFsbG93X3N5bWJvbF9jaGFuZ2UsIjAiKSxpKCJzYXZlX2ltYWdlIixlLnNhdmVfaW1hZ2UsIjAiKSxpKCJkb05vdFN0b3JlU2V0dGluZ3MiLGUuZG9Ob3RTdG9yZVNldHRpbmdzKSxvKCJiYWNrZ3JvdW5kQ29sb3IiLGUuYmFja2dyb3VuZENvbG9yKSxvKCJncmlkQ29sb3IiLGUuZ3JpZENvbG9yKSxlLndhdGNobGlzdCYmZS53YXRjaGxpc3QubGVuZ3RoJiZlLndhdGNobGlzdC5qb2luJiZvKCJ3YXRjaGxpc3QiLGUud2F0Y2hsaXN0LmpvaW4oIh8iKSksZS5jb21wYXJlU3ltYm9scyYmZS5jb21wYXJlU3ltYm9scy5sZW5ndGgmJm8oImNvbXBhcmVTeW1ib2xzIixlLmNvbXBhcmVTeW1ib2xzKSxpKCJlZGl0YWJsZXdhdGNobGlzdCIsZS5lZGl0YWJsZXdhdGNobGlzdCksaSgiZGV0YWlscyIsZS5kZXRhaWxzKSxpKCJjYWxlbmRhciIsZS5jYWxlbmRhciksaSgiaG90bGlzdCIsZS5ob3RsaXN0KSxlLnN0dWRpZXMmJmMuaXNBcnJheShlLnN0dWRpZXMpJiYoInN0cmluZyI9PXR5cGVvZiBlLnN0dWRpZXNbMF0/bygic3R1ZGllcyIsZS5zdHVkaWVzLmpvaW4oIh8iKSk6bygic3R1ZGllcyIsZS5zdHVkaWVzKSksaSgiaG9yenRvdWNoZHJhZyIsZS5ob3J6dG91Y2hkcmFnLCIwIiksaSgidmVydHRvdWNoZHJhZyIsZS52ZXJ0dG91Y2hkcmFnLCIwIiksbygid2lkZ2V0YmFyX3dpZHRoIixlLndpZGdldGJhcl93aWR0aCksbygidGhlbWUiLGUudGhlbWUpLG8oInN0eWxlIixlLnN0eWxlKSxvKCJleHRlbmRlZF9ob3VycyIsZS5leHRlbmRlZF9ob3VycyksbygidGltZXpvbmUiLGUudGltZXpvbmUpLGkoImhpZGVpZGVhc2J1dHRvbiIsZS5oaWRlaWRlYXNidXR0b24pLGkoIndpdGhkYXRlcmFuZ2VzIixlLndpdGhkYXRlcmFuZ2VzKSxpKCJoaWRlX3ZvbHVtZSIsZS5oaWRlX3ZvbHVtZSksbygicGFkZGluZyIsZS5wYWRkaW5nKSxpKCJzaG93X3BvcHVwX2J1dHRvbiIsZS5zaG93X3BvcHVwX2J1dHRvbiksbygicGFkZGluZyIsZS5wYWRkaW5nKSxvKCJzdHVkaWVzX292ZXJyaWRlcyIsZS5zdHVkaWVzX292ZXJyaWRlcyx7fSksbygicHVibGlzaF9zb3VyY2UiLGUucHVibGlzaF9zb3VyY2UpLG8oInZlbnVlIixlLnZlbnVlKSxvKCJzeW1ib2xvZ3kiLGUuc3ltYm9sb2d5KSxvKCJ3aG90cmFkZXMiLGUud2hvdHJhZGVzKSxvKCJyZWZlcnJhbF9pZCIsZS5yZWZlcnJhbF9pZCksaSgibm9fcmVmZXJyYWxfaWQiLGUubm9fcmVmZXJyYWxfaWQpLG8oImZ1bmRhbWVudGFsIixlLmZ1bmRhbWVudGFsKSxvKCJwZXJjZW50YWdlIixlLnBlcmNlbnRhZ2UpLG8oInV0bV9zb3VyY2UiLHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSksbygidXRtX21lZGl1bSIsYy5oYXNDb3B5cmlnaHQoZS5jb250YWluZXIpPyJ3aWRnZXRfbmV3Ijoid2lkZ2V0IiksbygidXRtX2NhbXBhaWduIixlLnR5cGUpLHIhPT1jLmhvc3QmJm8oInN1cHBvcnRIb3N0IixjLmhvc3QpLGUudHlwZSYmImNoYXJ0Ij09PWUudHlwZSYmbygidXRtX3Rlcm0iLGUuc3ltYm9sKSxvKCJwYWdlLXVyaSIsYy5nZXRQYWdlVXJpU3RyaW5nKCkpLGAke259IyR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGEpKX1gfSxpbWFnZTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRyYWRpbmdWaWV3LndpZGdldCNpbWFnZSgpIGlzIGRlcHJlY2F0ZWQuIFVzZSB3aWRnZXQuaW1hZ2VDYW52YXMoKSBpbnN0ZWFkLiIpfSxpbWFnZUNhbnZhczphc3luYyBmdW5jdGlvbigpe2lmKCF0aGlzLnBvc3RNZXNzYWdlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHRha2UgYSBzY3JlZW5zaG90IGJlZm9yZSB3aWRnZXQgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuIik7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJpbWFnZUNhbnZhcyIse30sKGZ1bmN0aW9uKG8pe2lmKG8mJiJvYmplY3QiPT10eXBlb2YgbyYmby5kYXRhVXJsKXt2YXIgaT1uZXcgSW1hZ2U7aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyLndpZHRoPW8ud2lkdGh8fGkubmF0dXJhbFdpZHRofHxpLndpZHRoLHIuaGVpZ2h0PW8uaGVpZ2h0fHxpLm5hdHVyYWxIZWlnaHR8fGkuaGVpZ2h0O3ZhciBuPXIuZ2V0Q29udGV4dCgiMmQiKTtuPyhuLmRyYXdJbWFnZShpLDAsMCksZShyKSk6dChuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgMkQgY29udGV4dCBmb3Igc2NyZWVuc2hvdCBjYW52YXMuIikpfSxpLm9uZXJyb3I9ZnVuY3Rpb24oKXt0KG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlc2VyaWFsaXplIHNjcmVlbnNob3QgcGF5bG9hZCBpbnRvIGFuIGltYWdlLiIpKX0saS5zcmM9by5kYXRhVXJsfWVsc2UgdChuZXcgRXJyb3IoIkZhaWxlZCB0byByZWNlaXZlIHNjcmVlbnNob3QgcGF5bG9hZCBmcm9tIHdpZGdldCBpZnJhbWUuIikpfSkpfSkpfSxzdWJzY3JpYmVUb1F1b3RlOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO3RoaXMucG9zdE1lc3NhZ2UucG9zdCh0LmNvbnRlbnRXaW5kb3csInF1b3RlU3Vic2NyaWJlIiksdGhpcy5wb3N0TWVzc2FnZS5vbigicXVvdGVVcGRhdGUiLGUpfSxnZXRTeW1ib2xJbmZvOmZ1bmN0aW9uKGUpe3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJzeW1ib2xJbmZvIix7fSxlKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfSxyZWxvYWQ6ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHRoaXMucmVuZGVyKCksZSl9fSxjLmNoYXJ0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InB1Ymxpc2hlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzLnJlbmRlcigpLHQ9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuYWRkV3JhcHBlckZyYW1lLmNhbGwodGhpcyxlKTt2YXIgbyxpPXRoaXM7aCh0LHRoaXMub3B0aW9ucyksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKSxjLmJpbmRFdmVudChvLCJsb2FkIiwoZnVuY3Rpb24oKXt2YXIgZTtmb3IoaS5fcmVhZHk9ITAsZT1pLl9yZWFkeV9oYW5kbGVycy5sZW5ndGg7ZS0tOylpLl9yZWFkeV9oYW5kbGVyc1tlXS5jYWxsKGkpfSkpLGMub25yZWFkeSgoZnVuY3Rpb24oKXt2YXIgZT0hMTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhW2hyZWYkPSIvdi8nK2kub3B0aW9ucy5jaGFydCsnLyJdJykmJihlPSEwKSwhZSlmb3IodmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKSxyPW5ldyBSZWdFeHAoIi92LyIraS5vcHRpb25zLmNoYXJ0KyIvJCIpLG49bmV3IFJlZ0V4cCgiL2NoYXJ0LyhbMC05YS16QS1aOisqLS8oKV0rKS8iK2kub3B0aW9ucy5jaGFydCksYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHIudGVzdCh0W2FdLmhyZWYpfHxuLnRlc3QodFthXS5ocmVmKSl7ZT0hMDticmVha31lJiYoby5zcmMrPSIjbm9saW5rcyIsby5uYW1lPSJub2xpbmtzIil9KSl9LHJlYWR5OmMud2lkZ2V0LnByb3RvdHlwZS5yZWFkeSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT1uZXcgVVJMKGAke2MuaG9zdH0vZW1iZWQvJHt0aGlzLm9wdGlvbnMuY2hhcnR9YCk7Yy5hZGRVcmxQYXJhbXMoZSx7bWV0aG9kOiJzY3JpcHQiLGxvY2FsZTp0aGlzLm9wdGlvbnMubG9jYWxlfSwhMCksdGhpcy5vcHRpb25zLnR5cGU9ImNoYXJ0IixjLmFkZFVybFBhcmFtcyhlLGMuZ2VuZXJhdGVVdG1Gb3JVcmxQYXJhbXModGhpcy5vcHRpb25zKSk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSx0Lmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsdC5pZD10aGlzLmlkLHQuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLHQuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSx0LnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSx0LnNyYz1lLmhyZWYsdH0sdG9nZ2xlRnVsbHNjcmVlbjpmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudD09PXQ/ZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTp0LnJlcXVlc3RGdWxsc2NyZWVuKCl9fSxjLnBvc3RNZXNzYWdlV3JhcHBlcj0oaT17fSxyPXt9LG49e30sYT0wLHM9MCxkPSJUcmFkaW5nVmlldyIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ7dHJ5e3Q9SlNPTi5wYXJzZShlLmRhdGEpfWNhdGNoKGUpe3JldHVybn1pZih0JiZ0LnByb3ZpZGVyJiZ0LnByb3ZpZGVyPT09ZClpZih0LnNvdXJjZT1lLnNvdXJjZSwiZ2V0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKGUpe3ZhciBpPXtpZDp0LmlkLHR5cGU6Im9uIixuYW1lOnQubmFtZSxjbGllbnRfaWQ6dC5jbGllbnRfaWQsZGF0YTplLHByb3ZpZGVyOmR9O28ucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX0pKX0pKX1lbHNlIGlmKCJvbiI9PT10LnR5cGUpaVt0LmNsaWVudF9pZF0mJmlbdC5jbGllbnRfaWRdW3QuaWRdJiYoaVt0LmNsaWVudF9pZF1bdC5pZF0uY2FsbCh0LHQuZGF0YSksZGVsZXRlIGlbdC5jbGllbnRfaWRdW3QuaWRdKTtlbHNlIGlmKCJwb3N0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKCl7fSkpfSkpfX0pKSxmdW5jdGlvbihlLHQpe3JldHVybiBpW3RdPXt9LG5bdF09ZSxvPWUse29uOmZ1bmN0aW9uKGUsdCxvKXtyW2VdJiZvfHwocltlXT1bXSkscltlXS5wdXNoKHQpfSxvZmY6ZnVuY3Rpb24oZSx0KXtpZighcltlXSlyZXR1cm4hMTt2YXIgbz1yW2VdLmluZGV4T2YodCk7bz4tMSYmcltlXS5zcGxpY2UobywxKX0sZ2V0OmZ1bmN0aW9uKGUsbyxyKXt2YXIgcz17aWQ6YSsrLHR5cGU6ImdldCIsbmFtZTplLGNsaWVudF9pZDp0LGRhdGE6byxwcm92aWRlcjpkfTtpW3RdW3MuaWRdPXIsblt0XS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSxwb3N0OmZ1bmN0aW9uKGUsdCxvKXt2YXIgaT17aWQ6cysrLHR5cGU6InBvc3QiLG5hbWU6dCxkYXRhOm8scHJvdmlkZXI6ZH07ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUucG9zdE1lc3NhZ2UmJmUucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX19fSksYy5nZXRVcmxQYXJhbXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9L1wrL2csdD0vKFteJj1dKyk9PyhbXiZdKikvZyxvPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGk9dC5leGVjKG8pLHI9ZnVuY3Rpb24odCl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0LnJlcGxhY2UoZSwiICIpKX0sbj17fTtpOyluW3IoaVsxXSldPXIoaVsyXSksaT10LmV4ZWMobyk7cmV0dXJuIG59LGMuY3JlYXRlVXJsUGFyYW1zPWZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJm51bGwhPWVbb10mJnQucHVzaChlbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7cmV0dXJuIHQuam9pbigiJiIpfSxjLmFkZFVybFBhcmFtcz1mdW5jdGlvbihlLHQsbyl7Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG8/dFtpXTpudWxsIT10W2ldKSYmZS5zZWFyY2hQYXJhbXMuc2V0KGksdFtpXSk7cmV0dXJuIGV9O3ZhciBoPWZ1bmN0aW9uKGUsdCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodC5jb250YWluZXIpO2lmKG8pe28uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoZSk7dmFyIGk9by5wYXJlbnRFbGVtZW50JiZvLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTtpZihpKXtpLnN0eWxlLndpZHRoPW8ucXVlcnlTZWxlY3RvcigiaWZyYW1lIikuc3R5bGUud2lkdGg7dmFyIHI9aS5xdWVyeVNlbGVjdG9yKCJhIik7aWYocil7dmFyIG49ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihuKXRyeXtjb25zdCBlPW5ldyBVUkwobik7Yy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHQpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsZS50b1N0cmluZygpKX1jYXRjaChlKXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7bn0iYCl9fX19ZWxzZSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsZG9jdW1lbnQuY3VycmVudFNjcmlwdC5uZXh0U2libGluZyk7Y29uc3QgYT1jLmVtYmVkU3R5bGVzRm9yQ29weXJpZ2h0KCkscz1mdW5jdGlvbigpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpO3JldHVybiBlJiYoZS5ub25jZXx8ZS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikpfSgpO3MmJmEuc2V0QXR0cmlidXRlKCJub25jZSIscyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX07ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBudWxsIT1lP2U6dH13aW5kb3cuVHJhZGluZ1ZpZXc/ZnVuY3Rpb24gZSh0LG8pe2Zvcih2YXIgaSBpbiBvKSJvYmplY3QiPT10eXBlb2Ygb1tpXSYmdC5oYXNPd25Qcm9wZXJ0eShpKT9lKHRbaV0sb1tpXSk6dFtpXT1vW2ldO3JldHVybiB0fSh3aW5kb3cuVHJhZGluZ1ZpZXcsYyk6d2luZG93LlRyYWRpbmdWaWV3PWN9KCk7"}},"time_used":77,"timings":{"blocked":-1,"dns":51,"connect":19,"send":0,"wait":2,"receive":-1,"ssl":5},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.616Z","timestamp":1785124875616,"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/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.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://berthenergy-inc.biz\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: 7884\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:57:12 GMT\r\nexpires: Fri, 23 Jul 2027 02:57:12 GMT\r\ncache-control: public, max-age=31536000\r\nage: 349443\r\nlast-modified: Mon, 15 Sep 2025 16:34:42 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":7884,"size_decoded":8696,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7884, version 1.0","md5":"9212f6f9860f9fc6c69b02fedf6db8c3","sha1":"ac6d71b4d5fdd2b3dabc9a06ff6c001e4251da0b","sha256":"7d93459d86585bfcdbb7e0376056226adb25821ee54b96236fe2123e9560929f","sha512":"67317495f4b53e20a9f31c034e456e6c37f387dffb2c092caa5159bc441cfcadd02749ffe5bbed1d580d5300a59e48a767ef2c6d9978b474f84c1a2cd095c126","ssdeep":"192:xLFDbKO9E3rS3JWBRO/J601FSS5ZUbik3Zy2f0:pd9J5W501otlI","tlshash":"c3f1ae4eb3f2cd1be40982e53a0fc90b1c578272681fd772d067a22517893bc8db2c81","first_seen":"2023-04-05T15:35:34Z","last_seen":"2026-07-27T06:14:56.121902Z","times_seen":383835,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70815.3ce6d6a2686e88907ab3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.704Z","timestamp":1785124876704,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70815.3ce6d6a2686e88907ab3.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-78f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bfc02d9402d243d89fc21428e7adab0e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1935,"size_decoded":1268,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1935), with no line terminators","md5":"c06f909e993de4f09740c91db132c846","sha1":"7451e42a4f8461d1b6ba321d93498b99b70a1fdc","sha256":"d93d3dc2b737c86807e6818e5a272cdd6db4f56183cd5371ae6816d4c4b320b0","sha512":"e12d20c672228965c13d1e62347a20f5886a1f324f6ef1c2f1a3b62720353d6e994b575e6e601cd69ace6edbafdb9306f1387431a676befb6169f3311c498129","ssdeep":"","tlshash":"ab41111aa5e8e673b827427dc308a27946e04d16ad0e5f9b7fddc00341c84e710765bf","first_seen":"2026-07-17T03:30:51.190808Z","last_seen":"2026-07-27T06:24:31.79358Z","times_seen":78,"resource_available":false,"data":"LndyYXBwZXItc1c4N3BRekt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDttaW4taGVpZ2h0OjE4cHg7bWluLXdpZHRoOjE4cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0uaW5wdXQtc1c4N3BRekt7Y3Vyc29yOmluaGVyaXQ7aW5zZXQ6MDttYXJnaW46MDtvcGFjaXR5OjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlfS5pbnB1dC1zVzg3cFF6Szpmb2N1cy12aXNpYmxlKy5mb2N1c091dGxpbmUtc1c4N3BRekt7Ym9yZGVyLXJhZGl1czoycHg7aW5zZXQ6MDtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO291dGxpbmUtb2Zmc2V0OjJweDtwb3NpdGlvbjphYnNvbHV0ZX0ucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItbWFyazp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcHBlci1zVzg3cFF6Szpob3Zlcjpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LndyYXBwZXItc1c4N3BReks6YWN0aXZlOm5vdCguZGlzYWJsZWQtc1c4N3BRekspIC5wcmltYXJ5LXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW1lZGl1bSl9LmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveElucHV0LWNvbG9yLW1hcms6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItc1c4N3BReks6aG92ZXI6bm90KC5kaXNhYmxlZC1zVzg3cFF6SykgLmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fS53cmFwcGVyLXNXODdwUXpLOmFjdGl2ZTpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAuZGFuZ2VyLXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpfS52aWV3LXNXODdwUXpLe2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1ib3g6dmFyKC0tdWktbGliLWNoZWNrYm94LWNvbG9yLHZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94KSk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcms6dmFyKC0tdWktbGliLWNoZWNrYm94LW1hcmstY29sb3IsdmFyKC0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1tYXJrKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/40835.76a1c7923a2c986be9ac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.819Z","timestamp":1785124876819,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/40835.76a1c7923a2c986be9ac.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-100f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1991e656555b55051777b7d2da487820\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4111,"size_decoded":2063,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4111), with no line terminators","md5":"a6563141742b204a9593bab5b080de7e","sha1":"3f4c1b48e6a44190e1cc78662a5a045968b7f2c0","sha256":"953092909e4c16b8c1cf3e6aeb8c74f01719e08a67a32f223f4407bc30f28b48","sha512":"2093d4a5d1abb74ca9f78354930c29852daa55f3ed0089aba395758d6061f85d41310f06215e141e409b8e5533f6be5dc824ba5bcc72d9a84da0d022feda2f99","ssdeep":"96:ohOKQtBEBWcXTn0kPO+zjGHq41qiDis3nXi:ohOjkBWcXT0km+zjGD1qiDis3Xi","tlshash":"fe81df9772d06e75bd5259adbaac61ac7384dc35ed6300c7b120be3688c53fa0570c2d","first_seen":"2026-07-17T14:15:58.392302Z","last_seen":"2026-07-27T06:14:34.239829Z","times_seen":84,"resource_available":false,"data":"LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O3BhZGRpbmc6MDt0ZXh0LWFsaWduOnN0YXJ0O3dpZHRoOjEwMCV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NHB4fS5jdXN0b21MaXN0SXRlbS05UTlGSHlybntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXN7b3V0bGluZTpub25lfS5jdXN0b21MaXN0SXRlbS05UTlGSHlybjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jbGlja2FibGUtOVE5Rkh5cm46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9ySG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9fS53cmFwcGVyLUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXB9LnByaW1hcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10aXRsZVRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSk7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo2cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSo4cHgpO21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nLWJsb2NrOjhweCA4cHg7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMTBweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjEycHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyMHB4KTtyb3ctZ2FwOjJweDstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMyArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjQpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemUsMykpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwKTtsaW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHgpfS5zZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Y29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRpdGxlU2Vjb25kYXJ5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSk7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtyb3ctZ2FwOjA7dGV4dC1hbGlnbjpzdGFydDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7Y29sdW1uLWdhcDo2cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSoyNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMzJweCk7cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjhweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc2Vjb25kYXJ5VGl0bGVXcmFwcGVyLUtVaXRzdHBKIC50aXRsZS1LVWl0c3RwSnttaW4taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTZweCk7cGFkZGluZzpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjRweCkgMH0uY29udGVudC1LVWl0c3RwSnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlfS5sZWZ0LUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6NHB4O3dpZHRoOjI4cHh9LndpdGhMZWZ0U2xvdC1LVWl0c3RwSntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTJweCk7cGFkZGluZy10b3A6NnB4fS50aXRsZS1LVWl0c3RwSntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNwYWNlLUtVaXRzdHBKe2ZsZXg6MX0uaWNvbi1LVWl0c3RwSntkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqLTFweCk7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSotMXB4KTt3aWR0aDoxOHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.245Z","timestamp":1785124877245,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52509.40659470e51b065d5139.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c6e6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aaebb571f4381f9527fe2bbea7c3e6af\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50918,"size_decoded":15407,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13726)","md5":"b7af9caf2d203689250c618a39d39029","sha1":"54e22965aaf8dd894b275b582cc30705d69821ad","sha256":"2600de068f623019889e62254b9834e05e70d376b307a4ad6b859f23cdcc8f8a","sha512":"3ef3adc84c046249eb8338da914e3af339fc2a92d8f0ae731d3b82dfc79a838b32bb4601581fb9d42f1ad5dece74230ddca8b9193f7acb1a023a1892cc8633eb","ssdeep":"1536:p5+ejeWbrN0Y4NT7JDMclwUYGZTw7yhLrLl1wrFMl:p5+ejDbrSY497JDMclwUYGZTw7yhLrL5","tlshash":"4833a36890d52d392df542f540ab2010e8ade8974d9610a6efef4dbf4940ac9b13ed3f","first_seen":"2026-07-23T14:00:31.718819Z","last_seen":"2026-07-27T06:24:31.653164Z","times_seen":23,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTI1MDldLHs5NzMwNDEoZSx0LGEpe2EuZCh0LHt0cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZTooKT0+aX0pO3ZhciBvPWEoMTg1MjcxKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bi5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PXQ/dCgpOmV9CmNvbnN0IG49bmV3IE1hcChbWyJBZnJpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NTAzNDQpKV0sWyJBbWVyaWNhcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk5MTQ2NCkpXSxbIkFzaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2ODkxODIpKV0sWyJFdXJvcGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTIzNjcpKV0sWyJQYWNpZmljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTkwNTc1KSldLFsiTWlkZGxlIEVhc3QiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2ODU3NTEpKV0sWyJBZmdoYW5pc3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk5MzEwMSkpXSxbIsOFbGFuZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTA2NTU0KSldLFsiQWxhbmQgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkwNjU1NCkpXSxbIkFsYmFuaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODAwMjUpKV0sWyJBbGdlcmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjk2MTgxKSldLFsiQW1lcmljYW4gU2Ftb2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMDQ1NTMpKV0sWyJBbmRvcnJhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY1MjEzKSldLFsiQW5nb2xhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzc3MjApKV0sWyJBbmd1aWxsYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1NDkwMikpXSxbIkFudGFyY3RpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyOTc1NzApKV0sWyJBbnRpZ3VhIGFuZCBCYXJidWRhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzQ1ODkpXSxbIkFyZ2VudGluYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1NzU4NykpXSxbIkFybWVuaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3Nzk5NTIpKV0sWyJBcnViYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDExNDc1NikpXSxbIkF1c3RyYWxpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3OTIzMykpXSxbIkF1c3RyaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMzgyNzgpKV0sWyJBemVyYmFpamFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDY4MTcpKV0sWyJCYWhhbWFzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzM1MjU5KSldLFsiQmFocmFpbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU3ODY2NSkpXSxbIkJhbmdsYWRlc2giLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTIwMTUpKV0sWyJCYXJiYWRvcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgyOTM4NykpXSxbIkJlbGFydXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1MjM1NTIpKV0sWyJCZWxnaXVtIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODMzMjQpKV0sWyJCZWxpemUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3ODc3MDEpKV0sWyJCZW5pbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU4ODg0OCkpXSxbIkJlcm11ZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTQ3MzcpKV0sWyJCaHV0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODQ0NDIpKV0sWyJCb2xpdmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTMxMzA0KSldLFsiQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NTcyMzUpKV0sWyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTcwNjkxKSldLFsiQm90c3dhbmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0MjUzNzgpKV0sWyJCb3V2ZXQgSXNsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzMwNzYzKSldLFsiQnJhemlsIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjEyOTY3KSldLFsiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzQ0MjQ2KSldLFsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY1MzM0MCkpXSxbIkJydW5laSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDM5MTkwNikpXSxbIkJ1bGdhcmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzE0MDMxKSldLFsiQnVya2luYSBGYXNvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk4Mjk3KSldLFsiQnVydW5kaSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc1ODIyKSldLFsiQ2FibyBWZXJkZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYwMTA5NykpXSxbIkNhbWJvZGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTU1NDg5KSldLFsiQ2FtZXJvb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NzcwMjgpKV0sWyJDYW5hZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNTE4OSkpXSxbIkNheW1hbiBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjQxMDI2KSldLFsiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzc0NzgpKV0sWyJDaGFkIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDgzNTUpKV0sWyJDaGlsZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkwNDMzOCkpXSxbIkNoaW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjAyNTE5KSldLFsiQ2hyaXN0bWFzIElzbGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk1NjQ2NCkpXSxbIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzI1NzMyKSldLFsiQ29sb21iaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMzU4NjcpKV0sWyJDb21vcm9zIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDg0MTM2KSldLFsiQ29uZ28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NjQ4NTgpKV0sWyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3MTU1OCkpXSxbIkNvb2sgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcwODg1OSkpXSxbIkN1cmFjYW8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1ODk0MTcpKV0sWyJDb3N0YSBSaWNhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjY4ODQ0KSldLFsiQ8O0dGUgZCdJdm9pcmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0OTg3NjIpKV0sWyJDcm9hdGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA3NCkpXSxbIkN1YmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3NjkxNDApKV0sWyJDdXJhw6dhbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk0NTE3MSkpXSxbIkN5cHJ1cyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYzNDczNykpXSxbIkN6ZWNoaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyNjE5OTApKV0sWyJDemVjaCBSZXB1YmxpYyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEyOTgwOCkpXSxbIkRlbm1hcmsiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NTI1MDEpKV0sWyJEamlib3V0aSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDUwNzc5OCkpXSxbIkRvbWluaWNhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk0MzI2KSldLFsiRG9taW5pY2FuIFJlcHVibGljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODE4NjA0KSldLFsiRWN1YWRvciIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQxMzM5NykpXSxbIkVneXB0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzM3NDM3KSldLFsiRWwgU2FsdmFkb3IiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4ODA4NzIpKV0sWyJFcXVhdG9yaWFsIEd1aW5lYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc0NjUyNCkpXSxbIkVyaXRyZWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzA4NzMpKV0sWyJFc3RvbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTQxMjApKV0sWyJGYWxrbGFuZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTkzNDc1KSldLFsiRXN3YXRpbmkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4OTgzMDMpKV0sWyJFdGhpb3BpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMzMTkxKSldLFsiRXVyb3BlYW4gVW5pb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1MzUxNDYpKV0sWyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2MDc3MjMpKV0sWyJGYXJvZSBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDUyNDg3KSldLFsiRmlqaSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE1MjQwOSkpXSxbIkZpbmxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NzY0NTQpKV0sWyJGcmFuY2UiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMzYyMzgpKV0sWyJGcmVuY2ggR3VpYW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTc2MDc5KSldLFsiRnJlbmNoIFBvbHluZXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg2MzgyNSkpXSxbIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMyODYwNykpXSxbIkdhYm9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzY3NjkwKSldLFsiR2FtYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzA4Nzg1KSldLFsiR2VvcmdpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NTk1MSkpXSxbIkdlcm1hbnkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NjY2OTgpKV0sWyJHaGFuYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ5ODY3OSkpXSxbIkdpYnJhbHRhciIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc3MTAxNykpXSxbIkdyZWVjZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5MzI4OSkpXSxbIkdyZWVubGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMxODM5OSkpXSxbIkdyZW5hZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MzIwODYpKV0sWyJHdWFkZWxvdXBlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTY0ODc3KSldLFsiR3VhbSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU0NDMyNSkpXSxbIkd1YXRlbWFsYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg3NzQ4NykpXSxbIkd1ZXJuc2V5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA4OTE2KSldLFsiR3VpbmVhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDM2NDU1KSldLFsiR3VpbmVhLUJpc3NhdSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwODIyOSkpXSxbIkd1eWFuYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0MjExNikpXSxbIkhhaXRpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODk0NzA5KSldLFsiSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjM2MTIzKSldLFsiSG9seSBTZWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMjc0OSkpXSxbIkhvbmR1cmFzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjAyODE2KSldLFsiSG9uZyBLb25nIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDYzNzc5KSldLFsiSHVuZ2FyeSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY2MTM2NikpXSxbIkljZWxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NDAxODgpKV0sWyJJbmRpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDM3MjUyMCkpXSxbIkluZG9uZXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgwMjk3NSkpXSxbIklyYXEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzNzE3NDYpKV0sWyJJcmVsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzExNTI3KSldLFsiSXNsZSBvZiBNYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDc4MjUpKV0sWyJJc3JhZWwiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MDMzNTQpKV0sWyJJdGFseSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg5ODE2MykpXSxbIkphbWFpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNjM1KSldLFsiSmFwYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDAwNjgpKV0sWyJKZXJzZXkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMTg1OTgpKV0sWyJKb3JkYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1ODMwMDkpKV0sWyJLYXpha2hzdGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjc3NTYwKSldLFsiS2VueWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MTQ5NjYpKV0sWyJLaXJpYmF0aSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ0NjI5MykpXSxbIktvc292byIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY3Njg2KSldLFsiS3V3YWl0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzk1MTMwKSldLFsiS3lyZ3l6c3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ1ODY2MCkpXSxbIkxhb3MiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTExODApKV0sWyJMYXR2aWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODI3NzMpKV0sWyJMZWJhbm9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTQ1NjEzKSldLFsiTGVzb3RobyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY1MzM5NSkpXSxbIkxpYmVyaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NjIxKSldLFsiTGlieWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NTUzNTIpKV0sWyJMaWVjaHRlbnN0ZWluIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzg2NjY3KSldLFsiTGl0aHVhbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODkyMTAwKSldLFsiTHV4ZW1ib3VyZyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk3NTQ0NykpXSxbIk1hY2F1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTMyMjY5KSldLFsiTWFjYW8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMDcwNjIpKV0sWyJNYWNlZG9uaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTkxMDgpKV0sWyJNYWRhZ2FzY2FyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjYwMTg4KSldLFsiTWFsYXdpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjQ1OTQ4KSldLFsiTWFsYXlzaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2Mjc5NjcpKV0sWyJNYWxkaXZlcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMzMTYxNSkpXSxbIk1hbGkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2MjM0NjUpKV0sWyJNYWx0YSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU2MzIzNykpXSxbIk1hcnNoYWxsIElzbGFuZHMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0Nzc4NDMpKV0sWyJNYXJ0aW5pcXVlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTM1MTUyKSldLFsiTWF1cml0YW5pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY2Nzk5NikpXSxbIk1hdXJpdGl1cyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE1MDA1NCkpXSxbIk1heW90dGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0ODMxNDkpKV0sWyJNZXhpY28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NjU3MDApKV0sWyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI5MTA5OCkpXSxbIk1vbGRvdmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMjEzMzYpKV0sWyJNb25hY28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDg5MDQpKV0sWyJNb25nb2xpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkxMzcwOSkpXSxbIk1vbnRlbmVncm8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzkzNjUpKV0sWyJNb250c2VycmF0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzMzMjYyKSldLFsiTW9yb2NjbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcyMTQzMykpXSxbIk1vemFtYmlxdWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMDAwMjYpKV0sWyJNeWFubWFyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjM5NDMpKV0sWyJOYW1pYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTcwNjE4KSldLFsiTmF1cnUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NzM0MzcpKV0sWyJOZXBhbCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ3MTI4OCkpXSxbIk5ldGhlcmxhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjE2ODYyKSldLFsiTmV3IENhbGVkb25pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0OTU4OCkpXSxbIk5ldyBaZWFsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDIxNikpXSxbIk5pY2FyYWd1YSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYyMzQ0MCkpXSxbIk5pZ2VyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTkyMTg5KSldLFsiTmlnZXJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0OTg2OCkpXSxbIk5pdWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MDc0NzApKV0sWyJOb3Jmb2xrIElzbGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk2NzQxMikpXSxbIk5vcnRoIE1hY2Vkb25pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcyOTc4MikpXSxbIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYxMjU1NykpXSxbIk5vcndheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0NTUyMykpXSxbIk9tYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODUyOTMpKV0sWyJQYWtpc3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0NDQzNikpXSxbIlBhbGF1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzk4NDc2KSldLFsiUGFsZXN0aW5lLCBTdGF0ZSBvZiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY5ODA4MykpXSxbIlBhbmFtYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEwMDcyOSkpXSxbIlBhcHVhIE5ldyBHdWluZWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MjU2OTcpKV0sWyJQYXJhZ3VheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQyMDEzNSkpXSxbIlBlcnUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NTExMTEpKV0sWyJQaGlsaXBwaW5lcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYxMzY0NykpXSxbIlBpdGNhaXJuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzg0MzgyKSldLFsiUG9sYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY4NjA5KSldLFsiUG9ydHVnYWwiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzOTg5NCkpXSxbIlB1ZXJ0byBSaWNvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODQzMzI3KSldLFsiUWF0YXIiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MzM3NTMpKV0sWyJSw6l1bmlvbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg3MjY4MCkpXSxbIkxhIFJldW5pb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NzI2ODApKV0sWyJSb21hbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTA1OTQ1KSldLFsiUnVzc2lhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTM0ODgzKSldLFsiUnVzc2lhbiBGZWRlcmF0aW9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzkwNTk4KSldLFsiU0lOVCBNQUFSVEVOIChEVVRDSCBQQVJUKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NTAyMSkpXSxbIlJ3YW5kYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc1ODI5NykpXSxbIlNhaW50IEJhcnRow6lsZW15IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk5NDgzKSldLFsiU2FpbnQgSGVsZW5hLCBBc2NlbnNpb24gYW5kIFRyaXN0YW4gZGEgQ3VuaGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTU4MzUpKV0sWyJTYWludCBLaXR0cyBhbmQgTmV2aXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NzY5NzUpKV0sWyJTYWludCBMdWNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI1ODMxMSkpXSxbIlNhaW50IE1hcnRpbiAoRnJlbmNoIHBhcnQpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDI1MDY0KSldLFsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NzAzNSkpXSxbIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjIyNjEzKSldLFsiU2Ftb2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTg5NjMpKV0sWyJTYW4gTWFyaW5vIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTk5NzYyKSldLFsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjc5MzgyKSldLFsiU2F1ZGkgQXJhYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzYxNTIzKSldLFsiU2VuZWdhbCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDIyNDI4OSkpXSxbIlNlcmJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcxODUyOSkpXSxbIlNleWNoZWxsZXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0MjA4MjEpKV0sWyJTaWVycmEgTGVvbmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNjQ5OTIpKV0sWyJTaW5nYXBvcmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NDM3OTUpKV0sWyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM2NDApKV0sWyJTbG92YWtpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI2MzQzMikpXSxbIlNsb3ZlbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzIxODIxKSldLFsiU29sb21vbiBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTgxNzgpKV0sWyJTb21hbGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjAwNTcpKV0sWyJTb3V0aCBBZnJpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTAwODIpKV0sWyJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ0Nzg1NCkpXSxbIlNvdXRoIEtvcmVhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTg3NzUyKSldLFsiU291dGggU3VkYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTcxODYpKV0sWyJTcGFpbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc4ODMyMSkpXSxbIlNyaSBMYW5rYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgwNDc2NikpXSxbIlN1ZGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTc0NDA0KSldLFsiU3VyaW5hbWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MTg4MzcpKV0sWyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTczOTE1KSldLFsiU3dlZGVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzY5OTYzKSldLFsiU3dpdHplcmxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzM5NzEpKV0sWyJTeXJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3NDQ4NSkpXSxbIlRhaXdhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3MzE1NykpXSxbIlRhamlraXN0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5Njg0NTgpKV0sWyJUYW56YW5pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ5ODE4MykpXSxbIlRoYWlsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTUzMDQ0KSldLFsiVGltb3ItTGVzdGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MDMwNTEpKV0sWyJUb2dvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODMyNDQ4KSldLFsiVG9rZWxhdSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEwNDE3NykpXSxbIlRvbmdhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjUwNTU1KSldLFsiVHJpbmlkYWQgYW5kIFRvYmFnbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMxNDg3KSldLFsiVHVuaXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY3NzU5KSldLFsiVHVya2V5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjMxODEwKSldLFsiVHVya21lbmlzdGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM1NjgzKSldLFsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTcwNjI0KSldLFsiVHV2YWx1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDMwMTM0KSldLFsiVS5TLiBWaXJnaW4gSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQzMTM3NykpXSxbIlVBRSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE2MzExMCkpXSxbIlVTQSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwMTExNykpXSxbIlVnYW5kYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU4ODY5MykpXSxbIlVrcmFpbmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTc0NzUpKV0sWyJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0OTA5MSkpXSxbIlVuaXRlZCBLaW5nZG9tIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjgyNzMpKV0sWyJVbml0ZWQgU3RhdGVzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY3OTQxKSldLFsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM2Nzk5KSldLFsiVXJ1Z3VheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkyODU1MykpXSxbIlVTQSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwMTExNykpXSxbIlV6YmVraXN0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3ODM5NzApKV0sWyJWYW51YXR1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDE2MjU3KSldLFsiVmVuZXp1ZWxhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjQzNTAzKSldLFsiVmlldG5hbSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1MjIxKSldLFsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDIzMjA2KSldLFsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzAxMjI5KSldLFsiV2FsbGlzIGFuZCBGdXR1bmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTA1MDUpKV0sWyJXZXN0ZXJuIFNhaGFyYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg4MTI3NykpXSxbIlllbWVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA5Mzg0KSldLFsiWmFtYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODY3MzkzKSldLFsiWmltYmFid2UiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTkxNTUpKV1dKQp9LDEyMjMwNyhlLHQsYSl7YS5yKHQpLGEuZCh0LHthZGRPclVwZGF0ZVN5bWJvbExpc3Q6KCk9PnUsaW5pdFdpZGdldDooKT0+cyxyZW1vdmVTeW1ib2xMaXN0OigpPT5kLHNlbGVjdEFsbFN5bWJvbHM6KCk9PmMsc2VsZWN0SG90bGlzdDooKT0+cCxzZWxlY3ROZXh0QXZhaWxhYmxlU3ltYm9sOigpPT5pLHNldFN5bWJvbExpc3RzOigpPT5tLHNob3dDb250ZXh0TWVudTooKT0+bix1cGRhdGVBY3RpdmVMaXN0OigpPT5oLHVwZGF0ZUJ1bGtQb3NpdGlvbnM6KCk9PmcsdXBkYXRlUG9zaXRpb246KCk9PlMsdXBkYXRlV2lkZ2V0OigpPT5yLHVwZGF0ZVdpZGdldE9wdGlvbnM6KCk9Pmx9KTt2YXIgbz1hKDQxMTM1Nyk7Y29uc3QgaT0oZSx0LGEsaSk9Pih7dHlwZTpvLlNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0wsd2lkZ2V0SWQ6ZSxjdXJyZW50U3ltYm9sOnQsa2V5Ym9hcmRBY3Rpb246YSxjYW5jZWxTZXRPbkNoYXJ0Oml9KSxuPShlLHQsYSxpKT0+KHt0eXBlOm8uU0hPV19DT05URVhUX01FTlUsc3ltYm9sOnQscG9zaXRpb246dihhKSx3aWRnZXRJZDplLHNpemU6aX0pLHM9KGUsdCxhLGkpPT4oe3R5cGU6by5JTklUX1dJREdFVCxvcHRpb25zOmksaWQ6ZSxjb2x1bW5zOmEsdGlja2VyVHlwZTp0fSkscj0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1dJREdFVCx3aWRnZXRJZDplLHdpZGdldDp0fSksbD0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1dJREdFVF9PUFRJT05TLHdpZGdldElkOmUsb3B0aW9uczp0fSksYz1lPT4oe3R5cGU6by5TRUxFQ1RfQUxMX1NZTUJPTFMsd2lkZ2V0SWQ6ZX0pLHU9ZT0+KHt0eXBlOm8uQUREX09SX1VQREFURV9TWU1CT0xfTElTVCxzeW1ib2xMaXN0OmV9KSxkPWU9Pih7dHlwZTpvLlJFTU9WRV9TWU1CT0xfTElTVCxpZDplfSksbT1lPT4oe3R5cGU6by5TRVRfU1lNQk9MX0xJU1RTLHN5bWJvbExpc3RzOmV9KSxwPShlLHQsYSxpPSExLG49ITEpPT4oe3R5cGU6by5TRUxFQ1RfSE9UTElTVCx3aWRnZXRJZDplLGV4Y2hhbmdlOnQsZ3JvdXA6YSxza2lwVXBkYXRlV2lkZ2V0Omksc2tpcEFkZE9yVXBkYXRlTGlzdDpufSksUz0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1BPU0lUSU9OUyxzeW1ib2w6ZSxwb3NpdGlvbjp0fSksZz1lPT4oe3R5cGU6by5VUERBVEVfQlVMS19QT1NJVElPTlMsbWFwOmV9KSxoPWU9Pih7dHlwZTpvLlVQREFURV9BQ1RJVkVfTElTVCx0b2tlbjplfSk7ZnVuY3Rpb24gdihlKXtjb25zdCB0PWUudG91Y2hlcz8ubWFwKChlPT4oe2NsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZfSkpKTtyZXR1cm57Y2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFksdG91Y2hlczp0LGF0dGFjaFRvWEJ5OmUuYXR0YWNoVG9YQnksYXR0YWNoVG9ZQnk6ZS5hdHRhY2hUb1lCeSxib3g6ZS5ib3h9fX0sNzQxOTI0KGUsdCxhKXthLmQodCx7U0VUX0lTX0FVVEhFTlRJQ0FURUQ6KCk9PnMsYXV0aFJlZHVjZXI6KCk9Pmwsd2F0Y2hBdXRoOigpPT5jfSk7dmFyIG89YSg4OTQ0OCksaT1hKDYxNDgyNSksbj1hKDIzMDIxMSk7Y29uc3Qgcz0iQVVUSF9fU0VUX0lTX0FVVEhFTlRJQ0FURUQiO2Z1bmN0aW9uIHIoZSl7cmV0dXJue3R5cGU6cyxpc0F1dGhlbnRpY2F0ZWQ6ZX19ZnVuY3Rpb24gbChlPUJvb2xlYW4od2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpLHQpe3JldHVybiB0LnR5cGU9PT1zP3QuaXNBdXRoZW50aWNhdGVkOmV9ZnVuY3Rpb24qYygpe2NvbnN0IGU9KDAsby5ldmVudENoYW5uZWwpKChlPT57Y29uc3QgdD17fTtyZXR1cm4gd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHQsKCgpPT5lKHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSkpLCgpPT53aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZUFsbCh0KX0pKTt0cnl7Zm9yKDs7KXtjb25zdCB0PXlpZWxkKDAsaS50YWtlKShlKTt5aWVsZCgwLGkucHV0KSgoMCxuLnNldHVwKSh7bGlzdHM6W10sdGltZXN0YW1wOkRhdGUubm93KCksc2lsZW50OiEwfSkpLHlpZWxkKDAsaS5wdXQpKHIodCkpfX1maW5hbGx5e2UuY2xvc2UoKX19fSw3MzAzNTUoZSx0LGEpe2EuZCh0LHtjb2xsYXBzZWRTZXBhcmF0b3JzU2VsZWN0b3I6KCk9PmwsZGlzcGxheVN5bWJvbHNTZWxlY3RvcjooKT0+bSxkaXNwbGF5U3ltYm9sc1RvQWN0dWFsU2VsZWN0b3I6KCk9PnAsZ2V0Q3VycmVudFZpZXdhYmxlQ29sbGFwc2VkU2VwYXJhdG9yc1NlbGVjdG9yOigpPT5jLHNlcGFyYXRvcklzQ29sbGFwc2VkQnlMaXN0SWRTZWxlY3RvcjooKT0+ZCxzZXBhcmF0b3JJc0NvbGxhcHNlZFNlbGVjdG9yOigpPT51LHN5bWJvbHNUb1NlcGFyYXRvckNoaWxkcmVuTWFwOigpPT5nfSk7dmFyIG89YSgzNjQzNTApLGk9YSgxMzg2MzgpLG49YSgzNjYyNjIpLHM9YSg5MTk5ODUpO2NvbnN0IHI9KGUsdCxhKT0+YTtmdW5jdGlvbiBsKGUpe3JldHVybiBlLmNvbGxhcHNlZFNlcGFyYXRvcnN9Y29uc3QgYz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbCxuLmdldEN1cnJlbnRWaWV3YWJsZUxpc3RCeVdpZGdldElkXSwoKGUsdCk9PnQmJiJob3QiIT09dC50eXBlP3suLi5lW3QuaWRdfTp7fSkpLHU9KDAsby5jcmVhdGVTZWxlY3RvcikoW2Mscl0sKChlLHQpPT5oKGUsdCkpKSxkPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtsLChlLHQpPT50LHJdLCgoZSx0LGEpPT5oKHsuLi5lW3RdfSxhKSkpLG09KCgwLG8uY3JlYXRlU2VsZWN0b3IpKFtsLG4uZ2V0R2xvYmFsQWN0aXZlU3ltYm9sTGlzdF0sKChlLHQpPT50P1ModCx7Li4uZVt0LmlkXX0pOltdKSksKDAsby5jcmVhdGVTZWxlY3RvcikoW24uZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQsY10sUykpLHA9KDAsby5jcmVhdGVTZWxlY3RvcikoW24uZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQsYyxyXSwoKGUsdCxhKT0+e2lmKCFlfHwiaG90Ij09PWUudHlwZSlyZXR1cm5bXTtjb25zdHtzeW1ib2xzOm99PWUsaT1nKG8pLG49W107cmV0dXJuIGEuZm9yRWFjaCgoZT0+e24ucHVzaChlKTtjb25zdCBhPWkuZ2V0KGUpLG89aCh0LGUpO2EmJm8mJm4ucHVzaCguLi5hKX0pKSxufSkpO2Z1bmN0aW9uIFMoZSx0KXtpZighZSlyZXR1cm5bXQo7Y29uc3R7c3ltYm9sczphfT1lLG89W107bGV0IGk9ITA7cmV0dXJuIGEuZm9yRWFjaCgoZT0+e2NvbnN0IGE9KDAscy5pc1ZhbGlkU2VwYXJhdG9ySXRlbSkoZSk7KGl8fGEpJiZvLnB1c2goZSksYSYmKGk9IWgodCxlKSl9KSksb31mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9bmV3IE1hcDtsZXQgYT0iIjtyZXR1cm4gZS5mb3JFYWNoKChlPT57KDAscy5pc1ZhbGlkU2VwYXJhdG9ySXRlbSkoZSk/KGE9ZSx0LnNldChhLFtdKSk6YSYmKDAsaS5lbnN1cmVEZWZpbmVkKSh0LmdldChhKSkucHVzaChlKX0pKSx0fWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4hIWUuaGFzT3duUHJvcGVydHkodCkmJmVbdF19fSwxNjIzMzUoZSx0LGEpe2EuZCh0LHtjcmVhdGVDcm9zc1RhYlN5bmNNaWRkbGV3YXJlOigpPT5tLHJlZHVjZXI6KCk9PmQsc2V0U2VwYXJhdG9yc0NvbGxhcHNlOigpPT51fSk7dmFyIG89YSgxMzA2OTkpLGk9YSg0MzMyMCksbj1hKDIzMDIxMSkscz1hKDcxMjEzNCk7Y29uc3Qgcj0iY29sbGFwc2VkLXNlcGFyYXRvcnMtc3RhdGUtZXh0ZW5zaW9uIixsPXtbcl06e319LGM9KDAsby5jcmVhdGVTbGljZSkoe25hbWU6ImNvbGxhcHNlZC1zZXBhcmF0b3JzIixpbml0aWFsU3RhdGU6bCxyZWR1Y2Vyczp7c2V0U2VwYXJhdG9yc0NvbGxhcHNlOihlLHQpPT57Y29uc3R7bGlzdElkOmEsdmFsdWVzOm8sYWN0aW9uVGltZXN0YW1wOml9PXQucGF5bG9hZDtUKGUsYSksdm9pZCAwIT09aSYmZVtyXVthXS5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pfHwoT2JqZWN0LmVudHJpZXMobykuZm9yRWFjaCgoKFt0LG9dKT0+cChlLGEsdCxvKSkpLHZvaWQgMCE9PWkmJihlW3JdW2FdLmxhc3RDaGFuZ2VUaW1lc3RhbXA9aSkpfX0sZXh0cmFSZWR1Y2VyczplPT57ZS5hZGRDYXNlKG4uc2V0dXAsUyksZS5hZGRDYXNlKHMuc2V0dXAsZyksZS5hZGRDYXNlKG4ucHV0LCgoZSx0KT0+e2NvbnN0e2FjdGlvblRpbWVzdGFtcDphLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxpZDppfT10LnBheWxvYWQ7aChlLHtpZDppLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxsYXN0Q2hhbmdlVGltZXN0YW1wOmF9LGEpfSkpLGUuYWRkQ2FzZShzLnJlbmFtZVNlcGFyYXRvciwoKGUsdCk9Pntjb25zdHtjb2xvcjphLHNlcGFyYXRvcjpvLG5hbWU6aX09dC5wYXlsb2FkO0Jvb2xlYW4oZVthXT8uW29dKSYmcChlLGEsaSwhMCl9KSl9fSkse3NldFNlcGFyYXRvcnNDb2xsYXBzZTp1fT1jLmFjdGlvbnMse3JlZHVjZXI6ZH09YztmdW5jdGlvbiBtKGUsdCxhPWMpe3JldHVybigwLGkuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJjb2xsYXBzZWQtc2VwYXJhdG9ycy1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5zZXRTZXBhcmF0b3JzQ29sbGFwc2UubWF0Y2goZSl9KGUsYSl9KX1mdW5jdGlvbiBwKGUsdCxhLG8peyFmdW5jdGlvbihlLHQpe2UuaGFzT3duUHJvcGVydHkodCl8fChlW3RdPXt9KX0oZSx0KSxvP2VbdF1bYV09bzpkZWxldGUgZVt0XVthXX1mdW5jdGlvbiBTKGUsdCl7Y29uc3R7bGlzdHM6YX09dC5wYXlsb2FkO2EuZm9yRWFjaCgodD0+aChlLHQsdC5sYXN0Q2hhbmdlVGltZXN0YW1wKSkpfWZ1bmN0aW9uIGcoZSx0KXtjb25zdHtsaXN0czphfT10LnBheWxvYWQ7YS5mb3JFYWNoKCh0PT52KGUsdCkpKX1mdW5jdGlvbiBoKGUsdCxhKXt2KGUsdCxhKX1mdW5jdGlvbiB2KGUsdCxhKXtjb25zdCBvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmhhc093blByb3BlcnR5KCJjb2xvciIpfSh0KT90LmNvbG9yOnQuaWQse2NvbGxhcHNlZFNlcGFyYXRvcnM6aX09dDtUKGUsbyksdm9pZCAwIT09YSYmZVtyXVtvXS5sYXN0Q2hhbmdlVGltZXN0YW1wPj1hfHwoZVtvXT17fSxpPy5mb3JFYWNoKCh0PT57ZVtvXVt0XT0hMH0pKSx2b2lkIDAhPT1hJiYoZVtyXVtvXS5sYXN0Q2hhbmdlVGltZXN0YW1wPWEpKX1mdW5jdGlvbiBUKGUsdCl7ZVtyXS5oYXNPd25Qcm9wZXJ0eSh0KXx8KGVbcl1bdF09e2xhc3RDaGFuZ2VUaW1lc3RhbXA6MH0pfX0sNDExMzU3KGUsdCxhKXthLmQodCx7QUREX09SX1VQREFURV9TWU1CT0xfTElTVDooKT0+bSxJTklUX1dJREdFVDooKT0+cixSRU1PVkVfU1lNQk9MX0xJU1Q6KCk9PlMsU0VMRUNUX0FMTF9TWU1CT0xTOigpPT5kLFNFTEVDVF9IT1RMSVNUOigpPT5nLFNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0w6KCk9PmksU0VUX1NZTUJPTF9MSVNUUzooKT0+cCxTSE9XX0NPTlRFWFRfTUVOVTooKT0+bCxVUERBVEVfQUNUSVZFX0xJU1Q6KCk9PmgsVVBEQVRFX0JVTEtfUE9TSVRJT05TOigpPT5zLFVQREFURV9QT1NJVElPTlM6KCk9Pm4sVVBEQVRFX1dJREdFVDooKT0+YyxVUERBVEVfV0lER0VUX09QVElPTlM6KCk9PnV9KTtjb25zdCBvPSgwLGEoMzYzNTI2KS5jcmVhdGVBY3Rpb25UeXBlRmFjdG9yeSkoIldBVENITElTVFMiKSxpPW8oIlNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0wiKSxuPW8oIlVQREFURV9QT1NJVElPTlMiKSxzPW8oIlVQREFURV9CVUxLX1BPU0lUSU9OUyIpLHI9bygiSU5JVF9XSURHRVQiKSxsPW8oIlNIT1dfQ09OVEVYVF9NRU5VIiksYz1vKCJVUERBVEVfV0lER0VUIiksdT1vKCJVUERBVEVfV0lER0VUX09QVElPTlMiKSxkPW8oIlNFTEVDVF9BTExfU1lNQk9MUyIpLG09bygiQUREX09SX1VQREFURV9TWU1CT0xfTElTVCIpLHA9bygiU0VUX1NZTUJPTF9MSVNUUyIpLFM9bygiUkVNT1ZFX1NZTUJPTF9MSVNUIiksZz1vKCJTRUxFQ1RfSE9UTElTVCIpLGg9bygiVVBEQVRFX0FDVElWRV9MSVNUIil9LDU0ODEwMyhlLHQsYSl7YS5kKHQse2Nyb3NzdGFiTW9ub3RvbmljVGltZXN0YW1wOigpPT5yfSk7dmFyIG89YSgyMjEwNjEpLGk9YSg5MzIzNjUpO2NvbnN0IG49KDAsby5nZXRMb2dnZXIpKCJDcm9zc3RhYk1vbm90b25pY0Nsb2NrIik7bGV0IHM9ITE7ZnVuY3Rpb24gcigpe2NvbnN0IGU9TnVtYmVyKGkuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibGFzdC1jcm9zc3RhYi1tb25vdG9uaWMtdGltZXN0YW1wIikpfHwwLHQ9RGF0ZS5ub3coKSxhPWU8dD90OmUrMQo7cmV0dXJuIXMmJmUtdD44NjRlNSYmKG4ubG9nRXJyb3IoYFRoZSBsYXN0IHJlY29yZGVkIHRpbWVzdGFtcCAke2V9IG9jY3VycmVkIG1vcmUgdGhhbiBvbmUgZGF5IGluIHRoZSBmdXR1cmUuYCkscz0hMCksaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKCJsYXN0LWNyb3NzdGFiLW1vbm90b25pYy10aW1lc3RhbXAiLFN0cmluZyhhKSksYX19LDY0NTkzMyhlLHQsYSl7ZnVuY3Rpb24gbyhlKXtyZXR1cm57dHlwZToiY3VzdG9tIixpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sc3ltYm9sczplLnN5bWJvbHMsc2hhcmVkOmUuc2hhcmVkLHBlcnNpc3RlZFN0YXRlOmUucGVyc2lzdGVkU3RhdGV9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuImN1c3RvbSI9PT1lLnR5cGV9YS5kKHQse2lzQ3VzdG9tTGlzdDooKT0+aSxtYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQ6KCk9Pm99KX0sOTc5NTc5KGUsdCxhKXthLmQodCx7Y3JlYXRlU3ltYm9sTGlzdElkOigpPT5uLGlzSG90TGlzdElkOigpPT5pfSk7Y29uc3Qgbz0iIyMjSE9UIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmMD09PWUuaW5kZXhPZihvKX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIG8rYCR7ZX0uJHt0fWB9fSw4NzEwMjEoZSx0LGEpe2EuZCh0LHtnZXRIb3RsaXN0QnlJZDooKT0+bixob3RMaXN0c1NlbGVjdG9yOigpPT5pfSk7dmFyIG89YSgzNjQzNTApO2NvbnN0IGk9ZT0+ZS5ob3RMaXN0cz8ubGlzdHM/P251bGwsbj0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbaSwoZSx0KT0+dF0sKChlLHQpPT5lP2VbdF06bnVsbCkpfSw3Nzk5MzkoZSx0LGEpe2Eucih0KSxhLmQodCx7YWRkV2F0Y2hsaXN0U3ltYm9sc1RodW5rOigpPT5GLGNyZWF0ZVdhdGNobGlzdFRodW5rOigpPT53LGdldEFjdGl2ZVdhdGNobGlzdFRodW5rOigpPT5KLGdldEN1c3RvbVdhdGNobGlzdHNUaHVuazooKT0+UCxwZXJzaXN0U2VwYXJhdG9yc0NvbGxhcHNlVGh1bms6KCk9PlgscHV0Q3VzdG9tV2F0Y2hsaXN0c1RodW5rOigpPT56LHJlbW92ZVdhdGNobGlzdFN5bWJvbHNUaHVuazooKT0+VixyZW1vdmVXYXRjaGxpc3RUaHVuazooKT0+VyxyZW5hbWVTZXBhcmF0b3JUaHVuazooKT0+SyxyZW5hbWVXYXRjaGxpc3RUaHVuazooKT0+RCxyZXBsYWNlV2F0Y2hsaXN0U3ltYm9sc1RodW5rOigpPT5VLHNhdmVDb2xsYXBzZWRTZXBhcmF0b3JzVGh1bms6KCk9Pkgsc2V0QWN0aXZlV2F0Y2hsaXN0VGh1bms6KCk9Plksc3ltYm9sTGlzdFJlcG9zaXRvcnlTYWdhOigpPT54LHZhbGlkYXRlV2F0Y2hMaXN0U3ltYm9sczooKT0+Qn0pO3ZhciBvPWEoNjE0ODI1KSxpPWEoMjMwMjExKSxuPWEoOTMwMjMxKSxzPWEoNzgzMjU0KSxyPWEoNzA1MDEyKSxsPWEoNTA4NzQ3KSxjPWEoMTIyMzA3KSx1PWEoMjIxMDYxKSxkPWEoMjM0OTY0KSxtPWEoMjE0OTg3KSxwPWEoMzY2MjYyKSxTPWEoNTE5NTE1KSxnPWEoNDc3NTg3KTtmdW5jdGlvbipoKCl7Zm9yKHlpZWxkKDAsby5wdXQpKCgwLGcuYXNBY3Rpb24pKEoobnVsbCkpKTs7KXt5aWVsZCgwLG8udGFrZSkoW2kucmVtb3ZlLGkuc2V0dXBdKTtjb25zdCBlPXlpZWxkKDAsby5zZWxlY3QpKCk7bnVsbD09PSgwLHAuZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQpKGUsUy5XQVRDSExJU1RfV0lER0VUX0lEKSYmKHlpZWxkKDAsby5wdXQpKCgwLGcuYXNBY3Rpb24pKEoobnVsbCkpKSl9fXZhciB2PWEoNjQ1OTMzKSxUPWEoNTQ4MTAzKSxFPWEoNzQxOTI0KSx5PWEoODMxNTI3KSxBPWEoMzIwNTUpLGs9YSgzODQwMTcpLGI9YSg5NjIwODEpLEw9YSgzMDQzOTkpLEk9YSg1ODA1MjYpO3ZhciBDPWEoNzcwNzU1KSxmPWEoNzYwMzkwKSxSPWEoMzEzMzAwKSxOPWEoNzMwMzU1KSxNPWEoMTYyMzM1KTtjb25zdCBfPSgwLHUuZ2V0TG9nZ2VyKSgiUGxhdGZvcm0uTW9kZWwuU3ltYm9sTGlzdHMiKTtmdW5jdGlvbip4KCl7eWllbGQoMCxvLmZvcmspKEUud2F0Y2hBdXRoKSwoMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKXx8KHlpZWxkKDAsby5mb3JrKShoKSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9PnsoMCxBLnJlc29sdmVTeW1ib2xOYW1lRm9yQWxsRGlzdGluY3QpKGUpLnRoZW4oKGU9Pnt0KGUpfSkpfSkpfWZ1bmN0aW9uIE8oZSx0LG8peygwLGQuc2hvd1dhcm5pbmcpKHt0aXRsZTp0fHxzLnQobnVsbCx2b2lkIDAsYSgzODIwMjUpKSx0ZXh0OmV9LG8pfWZ1bmN0aW9uIHcoZSl7Y29uc3QgdD0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhhLG8pPT57dHJ5e2NvbnN0IG89KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKSxuPWF3YWl0IHQuY3JlYXRlV2F0Y2hMaXN0KGUpO3JldHVybiBudWxsPT09bj9udWxsOihhKCgwLGkuY3JlYXRlKSh7aWQ6bi5pZCxuYW1lOm4ubmFtZSxzeW1ib2xzOm4uc3ltYm9scyxwZXJzaXN0ZWRTdGF0ZTpuLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpvfSkpLG4uaWQpfWNhdGNoKGUpe3JldHVybiJBcGlFcnJvcjpwbGFuX3N5bWJvbHNfbGltaXRfcmVhY2hlZCI9PT1lLm5hbWU/KCgwLEMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pLG51bGwpOihPKGUubWVzc2FnZSksbnVsbCl9fX1jb25zdCBQPSgwLG0ucmVzcGVjdExhdGVzdCkoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoYSxvKT0+e3RyeXtjb25zdCBvPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCksbj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLHQuZ2V0Q3VzdG9tV2F0Y2hMaXN0cygpKSxzPURhdGUubm93KCk7YSgoMCxpLnNldHVwKSh7bGlzdHM6bi5tYXAoKGU9Pih7aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHN5bWJvbHM6ZS5zeW1ib2xzLHNoYXJlZDplLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOmUuY29sbGFwc2VkU2VwYXJhdG9ycyx0aW1lc3RhbXA6cywKcGVyc2lzdGVkU3RhdGU6ZS5wZXJzaXN0ZWRTdGF0ZSxsYXN0Q2hhbmdlVGltZXN0YW1wOm99KSkpLHRpbWVzdGFtcDpzfSkpfWNhdGNoKGUpeygwLG0uc2tpcEFib3J0RXJyb3IpKGUpfX19KSk7ZnVuY3Rpb24geihlLHQpe2NvbnN0IGE9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobyxuKT0+e3RyeXtjb25zdCBuPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCkscz1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLGEucHV0V2F0Y2hMaXN0KHQpKTtvKCgwLGkucHV0KSh7aWQ6cy5pZCxuYW1lOnMubmFtZSxkZXNjcmlwdGlvbjpzLmRlc2NyaXB0aW9uLHN5bWJvbHM6cy5zeW1ib2xzLHNoYXJlZDpzLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOnMuY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTpzLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpufSkpfWNhdGNoKGUpeygwLG0ucmV0aHJvd0Fib3J0RXJyb3IpKGUpLE8oZS5tZXNzYWdlKX19fWZ1bmN0aW9uIEQoZSx0LGEpe2NvbnN0IG89KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobixzKT0+e24oKDAsaS5yZW5hbWUpKHtpZDp0LmlkLG5hbWU6YSxhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKTtjb25zdCByPWF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsby5yZW5hbWVXYXRjaExpc3QodCxhKSk7ciYmci5wZXJzaXN0ZWRTdGF0ZSYmbigoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOnIucGVyc2lzdGVkU3RhdGV9KSl9fWZ1bmN0aW9uIFUoZSx0LGEsbyl7Y29uc3Qgbj0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhzLHIpPT57aWYoImN1c3RvbSIhPT10LnR5cGUpcmV0dXJuIHZvaWQgXy5sb2dXYXJuKCJUcnlpbmcgdG8gbW9kaWZ5IG5vdCBhIGN1c3RvbSB3YXRjaGxpc3QiKTtpZihhLmxlbmd0aD5SLk1BWF9XQVRDSExJU1RfTEVOR1RIKXJldHVybiB2b2lkKDAsUi5zaG93TWF4TGltaXRFcnJvcikobyk7e2NvbnN0IGU9KDAscC5nZXRDdXN0b21MaXN0QnlJZCkocigpLHQuaWQpO2lmKGU/LnN5bWJvbHMubGVuZ3RoIT09YS5sZW5ndGgmJiFaKGEubGVuZ3RoKSlyZXR1cm59cygoMCxpLmV4YWN0KSh7aWQ6dC5pZCxzeW1ib2xzOmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSk7Y29uc3QgbD1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG4ucmVwbGFjZVN5bWJvbHModCxhKSk7bCYmcygoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOntzeW1ib2xzOmx9fSkpfX1mdW5jdGlvbiBIKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoKT0+e2F3YWl0IHQucmVwbGFjZVN5bWJvbHMoZSxlLnN5bWJvbHMpfX1mdW5jdGlvbiBYKGUsdCxvKXtyZXR1cm4gYXN5bmMgaT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZhd2FpdCBhc3luYyBmdW5jdGlvbihlKXtjb25zdHtsaXN0OntpZDp0LHR5cGU6YSxzeW1ib2xzOm99LHNlcGFyYXRvcnM6aSx2YWx1ZTpuLHNpZ25hbDpzfT1lO2lmKDE9PT1pLmxlbmd0aCl7Y29uc3RbZV09aSxvPSgwLEkuc2VwYXJhdG9yUmVtb3RlUmVwcmVzZW50YXRpb24pKGUsIW4pLHM9KDAsSS5zZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbikoZSxuKTtyZXR1cm4oMCxiLmNvbW1vblJlbmFtZVNlcGFyYXRvcikodCxhLG8scyl9Y29uc3Qgcj1uZXcgU2V0KGkpLGw9KDAsSS5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKHQsbykubWFwKCgoZSx0KT0+e2NvbnN0IGE9b1t0XTtyZXR1cm4gci5oYXMoYSk/KDAsSS5zZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbikoYSxuKTplfSkpLGM9YXdhaXQoMCxrLmZldGNoKSgoMCxMLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0LyR7YX0vJHt0fS9yZXBsYWNlLz91bnNhZmU9dHJ1ZWApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkobCksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sc2lnbmFsOnN9KTtpZighYy5vayl7Y29uc3R7ZGV0YWlsOmV9PWF3YWl0IGMuanNvbigpO3Rocm93IEVycm9yKGUpfX0oe2xpc3Q6ZSxzZXBhcmF0b3JzOnQsdmFsdWU6b30pLmNhdGNoKG0uc2tpcEFib3J0RXJyb3IpLmNhdGNoKChuPT57KDAsZC5zaG93V2FybmluZykoe3RpdGxlOnMudChudWxsLHZvaWQgMCxhKDg3MjM4KSksdGV4dDpuLm1lc3NhZ2V9KTtjb25zdCByPXt9O3QuZm9yRWFjaCgoZT0+e3JbZV09IW99KSksaSgoMCxNLnNldFNlcGFyYXRvcnNDb2xsYXBzZSkoe2xpc3RJZDplLmlkLHZhbHVlczpyLGFjdGlvblRpbWVzdGFtcDooMCxULmNyb3NzdGFiTW9ub3RvbmljVGltZXN0YW1wKSgpfSkpfSkpfX1mdW5jdGlvbiBGKGUsdCxhLG8pe2NvbnN0IG49KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMocyxyKT0+e2lmKCJjdXN0b20iPT09dC50eXBlKWlmKHQuc3ltYm9scy5sZW5ndGg+Ui5NQVhfV0FUQ0hMSVNUX0xFTkdUSCkoMCxSLnNob3dNYXhMaW1pdEVycm9yKShvKTtlbHNle3tjb25zdCBlPSgwLHAuZ2V0Q3VzdG9tTGlzdEJ5SWQpKHIoKSx0LmlkKTtpZighKDAsZi5pc0RlbGV0ZWRTeW1ib2xzTGlzdCkodC5pZCkmJmU/LnN5bWJvbHMubGVuZ3RoIT09dC5zeW1ib2xzLmxlbmd0aCYmIVoodC5zeW1ib2xzLmxlbmd0aCkpcmV0dXJufXMoKDAsaS5pbnNlcnQpKHtpZDp0LmlkLHN5bWJvbHM6YSxhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKTt0cnl7Y29uc3Qgbz1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG4uYWRkU3ltYm9scyh0LGEpKTtzKCgwLAppLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOntzeW1ib2xzOm99fSkpfWNhdGNoKGUpe2lmKCgwLG0uaXNBYm9ydEVycm9yKShlKSl0aHJvdyBlO2NvbnN0IG49dC5zeW1ib2xzLmZpbHRlcigoZT0+IWEuaW5jbHVkZXMoZSkpKTtpZihzKCgwLGkuZXhhY3QpKHtpZDp0LmlkLHN5bWJvbHM6bixhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKSwiQXBpRXJyb3I6cGxhbl9zeW1ib2xzX2xpbWl0X3JlYWNoZWQiPT09ZS5uYW1lKXJldHVybiB2b2lkKDAsQy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6IndhdGNobGlzdFN5bWJvbHMifSk7TyhlLm1lc3NhZ2Usdm9pZCAwLG8pfX1lbHNlIF8ubG9nV2FybigiVHJ5aW5nIHRvIG1vZGlmeSBub3QgYSBjdXN0b20gd2F0Y2hsaXN0Iil9fWZ1bmN0aW9uIFYoZSx0LGEpe2NvbnN0IG89KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobixzKT0+e24oKDAsaS5leGNsdWRlKSh7aWQ6dC5pZCxzeW1ib2xzOmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSk7Y29uc3Qgcj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG8ucmVtb3ZlU3ltYm9scyh0LGEpKTtuKCgwLGkudXBkYXRlUGVyc2lzdGVkU3RhdGUpKHtbdC5pZF06e3N5bWJvbHM6cn19KSl9fWZ1bmN0aW9uIFcoZSx0KXtjb25zdCBhPSgwLHIuc2VydmljZSkobC5TWU1CT0xfTElTVF9SRVBPU0lUT1JZX0JBQ0tFTkRfU0VSVklDRSk7cmV0dXJuIGFzeW5jKG8sbik9Pnthd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLGEucmVtb3ZlV2F0Y2hMaXN0KHQpKSxvKCgwLGkucmVtb3ZlKSh7aWQ6dC5pZH0pKX19ZnVuY3Rpb24gWShlLHQpe2NvbnN0IGE9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobyxuKT0+e2NvbnN0e2lkOnN9PXQ7bygoMCxjLnVwZGF0ZUFjdGl2ZUxpc3QpKHQpKTtjb25zdCByPWF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsYS5zZXRBY3RpdmUodCkpO3ImJigwLHYuaXNDdXN0b21MaXN0KShyKSYmci5wZXJzaXN0ZWRTdGF0ZSYmbygoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3NdOnIucGVyc2lzdGVkU3RhdGV9KSl9fWZ1bmN0aW9uIEcoZSx0LGEpe3JldHVybiBhc3luYyhvLG4pPT57Y29uc3Qgcz0oMCxOLnNlcGFyYXRvcklzQ29sbGFwc2VkQnlMaXN0SWRTZWxlY3RvcikobigpLGUsdCk7bygoMCxpLnJlcGxhY2UpKHtpZDplLGN1cnJlbnQ6dCxuZXh0OmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSkscyYmbygoMCxNLnNldFNlcGFyYXRvcnNDb2xsYXBzZSkoe2xpc3RJZDplLHZhbHVlczp7W2FdOiEwLFt0XTohMX0sYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSl9fWZ1bmN0aW9uIEsoZSx0LGEsbyl7Y29uc3Qgbj0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhzLHIpPT57ImN1c3RvbSI9PT10LnR5cGU/KHMoRyh0LmlkLGEsbykpLGF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsbi5yZW5hbWVTZXBhcmF0b3IodC5pZCxhLG8pLnRoZW4oKGU9PntlJiZzKCgwLGkudXBkYXRlUGVyc2lzdGVkU3RhdGUpKHtbdC5pZF06e3N5bWJvbHM6ZX19KSl9KSkuY2F0Y2gobS5za2lwQWJvcnRFcnJvcikuY2F0Y2goKGU9PntPKGUubWVzc2FnZSkscyhHKHQuaWQsbyxhKSl9KSkpKTpfLmxvZ1dhcm4oIlRyeWluZyB0byBtb2RpZnkgbm90IGEgY3VzdG9tIHdhdGNobGlzdCIpfX1jb25zdCBKPSgwLG0ucmVzcGVjdExhdGVzdCkoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoYSxvKT0+e3RyeXtjb25zdCBvPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCksbj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLHQuZ2V0QWN0aXZlKCkpO2lmKCJjb2xvcmVkIj09PW4udHlwZSl7Y29uc3QgdD0oMCx5LmdldE1hcmtlZFN5bWJvbHNMaXN0U2VydmljZUluc3RhbmNlKSgpO3QuaXNJbml0ZWQoKXx8YXdhaXQoMCxtLnJlc3BlY3RBYm9ydCkoZSxuZXcgUHJvbWlzZSgoZT0+e3Qub25Jbml0KGUpfSkpKSxhKCgwLGMudXBkYXRlQWN0aXZlTGlzdCkoe3R5cGU6ImNvbG9yIixpZDpuLmNvbG9yfSkpfWVsc2UiY3VzdG9tIj09PW4udHlwZT8oImN1c3RvbSI9PT1uLnR5cGUmJihuLnN5bWJvbHM9YXdhaXQoMCxtLnJlc3BlY3RBYm9ydCkoZSxCKG4uc3ltYm9scykpKSxhKCgwLGkucHV0KSh7aWQ6bi5pZCxuYW1lOm4ubmFtZSxkZXNjcmlwdGlvbjpuLmRlc2NyaXB0aW9uLHN5bWJvbHM6bi5zeW1ib2xzLHNoYXJlZDpuLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOm4uY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTpuLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpvfSkpLGEoKDAsYy51cGRhdGVBY3RpdmVMaXN0KSh7dHlwZToiY3VzdG9tIixpZDpuLmlkfSkpKToiaG90Ij09PW4udHlwZSYmKGEoKDAsYy5hZGRPclVwZGF0ZVN5bWJvbExpc3QpKG4pKSxuLmV4Y2hhbmdlJiZuLmdyb3VwJiZhKCgwLGMudXBkYXRlQWN0aXZlTGlzdCkoe3R5cGU6ImhvdCIsZXhjaGFuZ2U6bi5leGNoYW5nZSxncm91cDpuLmdyb3VwLGlkOm4uaWR9KSkpfWNhdGNoKGUpeygwLG0uc2tpcEFib3J0RXJyb3IpKGUpfX19KSk7ZnVuY3Rpb24gWihlKXtjb25zdCB0PSgwLFIuZ2V0V2F0Y2hsaXN0U3ltYm9sc0xpbWl0KSgpO3JldHVybiEodCYmZT50KXx8KCgwLEMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pLCExKX19LDQ3NzU4NyhlLHQsYSl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZX1hLmQodCx7YXNBY3Rpb246KCk9Pm99KX0sMzY2MjYyKGUsdCxhKXthLnIodCksYS5kKHQse2NvbHVtbnNTZWxlY3RvcjooKT0+aywKY3VycmVudEhvdExpc3RTZWxlY3RvcjooKT0+QixnZXRDdXJyZW50Vmlld2FibGVMaXN0QnlXaWRnZXRJZDooKT0+eCxnZXRDdXN0b21MaXN0QnlJZDooKT0+TixnZXRDdXN0b21MaXN0czooKT0+QyxnZXRDdXN0b21MaXN0c01hcDooKT0+UixnZXRDdXN0b21MaXN0c1N0YXRlOigpPT5tLGdldEdsb2JhbEFjdGl2ZUlEOigpPT5oLGdldEdsb2JhbEFjdGl2ZVN5bWJvbExpc3Q6KCk9Pl8sZ2V0SXNSZWFkeUN1c3RvbUxpc3RzOigpPT5mLGdldE1hcmtlZExpc3RzTWFwOigpPT5NLGhpZ2hsaWdodGVkU3ltYm9sc1NlbGVjdG9yOigpPT5BLGlzQXV0aGVudGljYXRlZFNlbGVjdG9yOigpPT5wLGlzTG9hZGluZ1NlbGVjdG9yOigpPT5PLG1ha2VHZXRJc0NvbnRhaW5lZEJ5TXVsdGlTZWxlY3Rpb246KCk9PlAscG9zaXRpb25TZWxlY3RvcjooKT0+dyxzY3JvbGxUb0lkU2VsZWN0b3I6KCk9PkUsc2VsZWN0ZWRTeW1ib2xzU2VsZWN0b3I6KCk9PlQsc2hvdWxkRGlzcGxheVBvc2l0aW9uc1NlbGVjdG9yOigpPT5JLHNvcnRpbmdTZWxlY3RvcjooKT0+eSx0aWNrZXJUeXBlU2VsZWN0b3I6KCk9PmIsd2lkZ2V0T3B0aW9uc1NlbGVjdG9yOigpPT5MLHdpZGdldFNlbGVjdG9yOigpPT52fSk7dmFyIG89YSgzNjQzNTApLGk9YSgxMzg2MzgpLG49YSgyMzAyMTEpLHM9YSg3MTIxMzQpLHI9YSg1MDA1MTQpLGw9YSg0NDM4MjcpLGM9YSg5Nzk1NzkpLHU9YSg4NzEwMjEpLGQ9YSg2NDU5MzMpO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIGUuY3VzdG9tTGlzdHN9Y29uc3QgcD1lPT5lLmlzQXV0aGVudGljYXRlZCxTPWU9PmUud2lkZ2V0cyxnPShlLHQpPT50LGg9ZT0+ZS5hY3RpdmVTeW1ib2xMaXN0Py5pZD8/bnVsbCx2PSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtTLGddLCgoZSx0KT0+ZVt0XXx8e30pKSxUPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUuc2VsZWN0ZWRTeW1ib2xzfHxbXSkpLEU9KDAsby5jcmVhdGVTZWxlY3RvcikodiwoZT0+ZS5zY3JvbGxUb0lkKSkseT0oMCxvLmNyZWF0ZVNlbGVjdG9yKSh2LChlPT5lLnNvcnRpbmd8fG51bGwpKSxBPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUuaGlnaGxpZ2h0ZWRTeW1ib2xzfHxudWxsKSksaz0oMCxvLmNyZWF0ZVNlbGVjdG9yKSh2LChlPT5lLmNvbHVtbnMpKSxiPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUudGlja2VyVHlwZSkpLEw9KDAsby5jcmVhdGVTZWxlY3RvcikodiwoZT0+ZS5vcHRpb25zfHx7fSkpLEk9KDAsby5jcmVhdGVTZWxlY3RvcikoW0wscF0sKChlLHQpPT5lLnNob3VsZERpc3BsYXlQb3NpdGlvbnMmJnQpKSxDPSgwLG8uY3JlYXRlU2VsZWN0b3IpKG0sKGU9PigwLG4uZ2V0TGlzdElkcykoZSkubWFwKCh0PT4oMCxkLm1ha2VDdXN0b21MaXN0RnJvbVJlY29yZCkoKDAsaS5lbnN1cmVOb3ROdWxsKSgoMCxuLmdldExpc3RCeUlkKShlLHQpKSkpKSkpLGY9KDAsby5jcmVhdGVTZWxlY3RvcikoW21dLChlPT5udWxsIT09ZS50aW1lc3RhbXApKSxSPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFttXSxuLmdldExpc3RzTWFwKSxOPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFttLChlLHQpPT50XSwoKGUsdCk9Pntjb25zdCBhPSgwLG4uZ2V0TGlzdEJ5SWQpKGUsdCk7cmV0dXJuIG51bGw9PT1hP251bGw6KDAsZC5tYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQpKGEpfSkpLE09KDAsby5jcmVhdGVTZWxlY3RvcikoW3IuZ2V0TWFya2VkTGlzdHNTdGF0ZV0sKGU9PmU/ZS5saXN0cy5ieUNvbG9yOm51bGwpKSxfPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFt1LmhvdExpc3RzU2VsZWN0b3IsbSxyLmdldE1hcmtlZExpc3RzU3RhdGUsaF0sKChlLHQsYSxvKT0+e2lmKG51bGw9PT1vKXJldHVybiBudWxsO2lmKG51bGwhPT1hJiYoMCxzLmlzTGlzdENvbG9yKShvKSl7Y29uc3QgZT0oMCxzLmdldExpc3RCeUNvbG9yKShhLG8pO3JldHVybiBudWxsPT09ZT9udWxsOigwLGwubWFrZU1hcmtlZExpc3RGcm9tUmVjb3JkKShlKX1pZigoMCxjLmlzSG90TGlzdElkKShvKSl7Y29uc3QgdD1lPy5bb107cmV0dXJuIHQ/e2lkOnQuaWQsbmFtZTp0Lm5hbWUsdHlwZTp0LnR5cGUsZ3JvdXA6dC5ncm91cCxleGNoYW5nZTp0LmV4Y2hhbmdlLHN5bWJvbHM6dC5zeW1ib2xzfTpudWxsfWNvbnN0IGk9KDAsbi5nZXRMaXN0QnlJZCkodCxvKTtyZXR1cm4gbnVsbCE9PWk/KDAsZC5tYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQpKGkpOm51bGx9KSkseD0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbdS5ob3RMaXN0c1NlbGVjdG9yLG0sci5nZXRNYXJrZWRMaXN0c1N0YXRlLFMsZ10sKChlLHQsYSxvLGkpPT57Y29uc3Qgcj1vW2ldO2lmKHZvaWQgMD09PXIpcmV0dXJuIG51bGw7Y29uc3QgdT1yLmxpc3RJZDtpZihudWxsPT09dSlyZXR1cm4gbnVsbDtpZihudWxsIT09YSYmKDAscy5pc0xpc3RDb2xvcikodSkpe2NvbnN0IGU9KDAscy5nZXRMaXN0QnlDb2xvcikoYSx1KTtyZXR1cm4gbnVsbD09PWU/bnVsbDooMCxsLm1ha2VNYXJrZWRMaXN0RnJvbVJlY29yZCkoZSl9aWYoKDAsYy5pc0hvdExpc3RJZCkodSkpe2NvbnN0IHQ9ZT8uW3VdO3JldHVybiB0P3tpZDp0LmlkLG5hbWU6dC5uYW1lLHR5cGU6dC50eXBlLGdyb3VwOnQuZ3JvdXAsZXhjaGFuZ2U6dC5leGNoYW5nZSxzeW1ib2xzOnQuc3ltYm9sc306bnVsbH1jb25zdCBtPSgwLG4uZ2V0TGlzdEJ5SWQpKHQsdSk7cmV0dXJuIG51bGwhPT1tPygwLGQubWFrZUN1c3RvbUxpc3RGcm9tUmVjb3JkKShtKTpudWxsfSkpO2Z1bmN0aW9uIEIoZSx0KXtjb25zdCBhPXgoZSx0KTtyZXR1cm4iaG90IiE9PWE/LnR5cGU/bnVsbDphfWNvbnN0IE89KDAsby5jcmVhdGVTZWxlY3RvcikoW3YseF0sKChlLHQpPT5udWxsPT09dHx8ZS5pc0xvYWRpbmd8fCExKSksdz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbZT0+ZS5wb3NpdGlvbnMsKGUsdCk9PnRdLCgoZSx0KT0+ZVt0XSkpO2Z1bmN0aW9uIFAoKXtjb25zdCBlPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFsoZSx0KT0+dC53aWRnZXRJZCxlPT5lLndpZGdldHNdLCgoZSx0KT0+dFtlXSkpLHQ9KDAsby5jcmVhdGVTZWxlY3RvcikoZSwoZT0+ZS5zZWxlY3RlZFN5bWJvbHN8fFtdKSksYT0oMCwKby5jcmVhdGVTZWxlY3RvcikodCwoZT0+bmV3IFNldChlKSkpO3JldHVybigwLG8uY3JlYXRlU2VsZWN0b3IpKFthLChlLHQpPT50LnN5bWJvbF0sKChlLHQpPT5lLnNpemU+MSYmZS5oYXModCkpKX19LDQyOTk5MihlLHQsYSl7YS5yKHQpLGEuZCh0LHtnZXRMaXN0U3ltYm9sc0J5Q29sb3I6KCk9PmMsZ2V0TWFya2VkTGlzdEJ5Q29sb3I6KCk9PmwsZ2V0TWFya2VkTGlzdHM6KCk9PnJ9KTt2YXIgbz1hKDM2NDM1MCksaT1hKDcxMjEzNCksbj1hKDUwMDUxNCkscz1hKDQ0MzgyNyk7Y29uc3Qgcj0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbi5nZXRNYXJrZWRMaXN0c1N0YXRlXSwoZT0+e2NvbnN0IHQ9W107aWYobnVsbCE9PWUpZm9yKGNvbnN0IGEgb2YgaS5MSVNUX0NPTE9SUyl7Y29uc3Qgbz0oMCxpLmdldExpc3RCeUNvbG9yKShlLGEpO251bGwhPT1vJiZ0LnB1c2goKDAscy5tYWtlTWFya2VkTGlzdEZyb21SZWNvcmQpKG8pKX1yZXR1cm4gdH0pKSxsPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtuLmdldE1hcmtlZExpc3RzU3RhdGUsKGUsdCk9PnRdLCgoZSx0KT0+e2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IGE9KDAsaS5nZXRMaXN0QnlDb2xvcikoZSx0KTtyZXR1cm4gbnVsbD09PWE/bnVsbDooMCxzLm1ha2VNYXJrZWRMaXN0RnJvbVJlY29yZCkoYSl9KSksYz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbF0sKGU9PmU/LnN5bWJvbHM/P251bGwpKX0sMjMwMjExKGUsdCxhKXthLmQodCx7Y2hhbmdlRGVzY3JpcHRpb246KCk9PkUsY3JlYXRlOigpPT5oLGNyZWF0ZUNyb3NzVGFiU3luY01pZGRsZXdhcmU6KCk9PmIsZXhhY3Q6KCk9PnAsZXhjbHVkZTooKT0+UyxnZXRMaXN0QnlJZDooKT0+SSxnZXRMaXN0SWRzOigpPT5DLGdldExpc3RzTWFwOigpPT5MLGluc2VydDooKT0+ZCxwdXQ6KCk9PnYscmVkdWNlcjooKT0+ayxyZW1vdmU6KCk9PmcscmVuYW1lOigpPT5ULHJlcGxhY2U6KCk9Pm0sc2V0dXA6KCk9PnUsc2hhcmU6KCk9PnksdXBkYXRlUGVyc2lzdGVkU3RhdGU6KCk9PkF9KTt2YXIgbz1hKDEzMDY5OSksaT1hKDQzMzIwKSxuPWEoNjEyNDQ2KSxzPWEoOTczNTI0KTtjb25zdCByPXtsaXN0czp7aWRzOltdLGJ5SWQ6e319LHRpbWVzdGFtcDpudWxsfTtmdW5jdGlvbiBsKGUsdCl7ZS5saXN0cy5pZHMucHVzaCh0LmlkKSxlLmxpc3RzLmJ5SWRbdC5pZF09e2lkOnQuaWQsbmFtZTp0Lm5hbWUsZGVzY3JpcHRpb246dC5kZXNjcmlwdGlvbixzeW1ib2xzOlsuLi50LnN5bWJvbHNdLHNoYXJlZDp0LnNoYXJlZCx0aW1lc3RhbXA6dC50aW1lc3RhbXAsY29sbGFwc2VkU2VwYXJhdG9yczp0LmNvbGxhcHNlZFNlcGFyYXRvcnMscGVyc2lzdGVkU3RhdGU6dC5wZXJzaXN0ZWRTdGF0ZSxsYXN0Q2hhbmdlVGltZXN0YW1wOnQubGFzdENoYW5nZVRpbWVzdGFtcH19Y29uc3QgYz0oMCxvLmNyZWF0ZVNsaWNlKSh7bmFtZToiY3VzdG9tLWxpc3RzIixpbml0aWFsU3RhdGU6cixyZWR1Y2Vyczp7c2V0dXA6KGUsdCk9Pntjb25zdHtsaXN0czphLHRpbWVzdGFtcDpvfT10LnBheWxvYWQsaT1uZXcgU2V0KGEubWFwKChlPT5lLmlkKSkpLG49bmV3IFNldChlLmxpc3RzLmlkcy5maWx0ZXIoKGU9PiFpLmhhcyhlKSkpKTtmb3IoY29uc3QgdCBvZiBuKWRlbGV0ZSBlLmxpc3RzLmJ5SWRbdF07ZS5saXN0cy5pZHM9Wy4uLmldO2Zvcihjb25zdCB0IG9mIGEpe2NvbnN0IGE9SShlLHQuaWQpO2lmKGEpe2lmKGEubGFzdENoYW5nZVRpbWVzdGFtcD49dC5sYXN0Q2hhbmdlVGltZXN0YW1wKWNvbnRpbnVlO2EubmFtZT10Lm5hbWUsYS5kZXNjcmlwdGlvbj10LmRlc2NyaXB0aW9uLGEuc3ltYm9scz1bLi4udC5zeW1ib2xzXSxhLnNoYXJlZD10LnNoYXJlZCxhLnRpbWVzdGFtcD10LnRpbWVzdGFtcCxhLmNvbGxhcHNlZFNlcGFyYXRvcnM9dC5jb2xsYXBzZWRTZXBhcmF0b3JzLGEucGVyc2lzdGVkU3RhdGU9dC5wZXJzaXN0ZWRTdGF0ZSx2b2lkIDAhPT10Lmxhc3RDaGFuZ2VUaW1lc3RhbXAmJihhLmxhc3RDaGFuZ2VUaW1lc3RhbXA9dC5sYXN0Q2hhbmdlVGltZXN0YW1wKX1lbHNlIGUubGlzdHMuYnlJZFt0LmlkXT17aWQ6dC5pZCxuYW1lOnQubmFtZSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLHN5bWJvbHM6Wy4uLnQuc3ltYm9sc10sc2hhcmVkOnQuc2hhcmVkLHRpbWVzdGFtcDp0LnRpbWVzdGFtcCxjb2xsYXBzZWRTZXBhcmF0b3JzOnQuY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTp0LnBlcnNpc3RlZFN0YXRlLGxhc3RDaGFuZ2VUaW1lc3RhbXA6dC5sYXN0Q2hhbmdlVGltZXN0YW1wfX1lLnRpbWVzdGFtcD1vfSxpbnNlcnQ6KGUsdCk9Pntjb25zdHtpZDphLHN5bWJvbHM6byxiZWZvcmU6aSxhY3Rpb25UaW1lc3RhbXA6cn09dC5wYXlsb2FkLHtsaXN0czpsfT1lLGM9bC5ieUlkW2FdO2lmKHZvaWQgMD09PWMpcmV0dXJuO2lmKGMubGFzdENoYW5nZVRpbWVzdGFtcD49cilyZXR1cm47Y29uc3QgdT1uZXcgU2V0KG8pO2xldCBkO2lmKHZvaWQgMCE9PWkmJnUuaGFzKGkpKXtkPXMuTElTVF9TVEFSVDtmb3IobGV0IGU9Yy5zeW1ib2xzLmluZGV4T2YoaSk7ZT49MDstLWUpaWYoIXUuaGFzKGMuc3ltYm9sc1tlXSkpe2Q9Yy5zeW1ib2xzW2VdO2JyZWFrfX1jb25zdCBtPWMuc3ltYm9scy5maWx0ZXIoKGU9PiF1LmhhcyhlKSkpLHA9KDAscy5nZXRUYXJnZXRJbmRleCkobSxpLGQpO3ZvaWQgMD09PXA/bS5wdXNoKC4uLnUpOm0uc3BsaWNlKHAsMCwuLi51KSwoMCxuLmVxdWFsQXJyYXlzKShtLGMuc3ltYm9scyl8fChjLnN5bWJvbHM9bSx2b2lkIDAhPT1yJiYoYy5sYXN0Q2hhbmdlVGltZXN0YW1wPXIpKX0scmVwbGFjZTooZSx0KT0+e2NvbnN0e2lkOmEsY3VycmVudDpvLG5leHQ6aSxhY3Rpb25UaW1lc3RhbXA6bn09dC5wYXlsb2FkLHtsaXN0czpzfT1lLHI9cy5ieUlkW2FdO2lmKHZvaWQgMD09PXIpcmV0dXJuO2lmKHIubGFzdENoYW5nZVRpbWVzdGFtcD49bilyZXR1cm47aWYobz09PWkpcmV0dXJuO2xldCBsPSExLGM9ITE7Y29uc3QgdT1bXTtmb3IoY29uc3QgZSBvZiByLnN5bWJvbHMpe2lmKGU9PT1pKXtjPSEwO2JyZWFrfWU9PT1vPyh1LnB1c2goaSksbD0hMCk6dS5wdXNoKGUpfQpsJiYhYyYmKHIuc3ltYm9scz11LHZvaWQgMCE9PW4mJihyLmxhc3RDaGFuZ2VUaW1lc3RhbXA9bikpfSxleGFjdDooZSx0KT0+e2NvbnN0e2lkOmEsc3ltYm9sczpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOnN9PWUscj1zLmJ5SWRbYV07aWYodm9pZCAwPT09cilyZXR1cm47aWYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pKXJldHVybjtjb25zdCBsPVsuLi5uZXcgU2V0KG8pXTsoMCxuLmVxdWFsQXJyYXlzKShsLHIuc3ltYm9scyl8fChyLnN5bWJvbHM9bCx2b2lkIDAhPT1pJiYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKX0sZXhjbHVkZTooZSx0KT0+e2NvbnN0e2lkOmEsc3ltYm9sczpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOnN9PWUscj1zLmJ5SWRbYV07aWYodm9pZCAwPT09cilyZXR1cm47aWYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pKXJldHVybjtjb25zdCBsPW5ldyBTZXQobyksYz1yLnN5bWJvbHMuZmlsdGVyKChlPT4hbC5oYXMoZSkpKTsoMCxuLmVxdWFsQXJyYXlzKShjLHIuc3ltYm9scyl8fChyLnN5bWJvbHM9Yyx2b2lkIDAhPT1pJiYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKX0scmVtb3ZlOihlLHQpPT57Y29uc3R7aWQ6YX09dC5wYXlsb2FkLHtsaXN0czpvfT1lO2lmKHZvaWQgMD09PW8uYnlJZFthXSlyZXR1cm47Y29uc3QgaT1vLmlkcy5maWx0ZXIoKGU9PmUhPT1hKSk7by5pZHM9aSxkZWxldGUgby5ieUlkW2FdfSxjcmVhdGU6KGUsdCk9Pntjb25zdHtpZDphLG5hbWU6byxzeW1ib2xzOmkscGVyc2lzdGVkU3RhdGU6bixhY3Rpb25UaW1lc3RhbXA6c309dC5wYXlsb2FkLHtsaXN0czpyfT1lO3ZvaWQgMD09PXIuYnlJZFthXSYmbChlLHtpZDphLG5hbWU6byxzeW1ib2xzOmksc2hhcmVkOiExLGRlc2NyaXB0aW9uOm51bGwsdGltZXN0YW1wOm51bGwscGVyc2lzdGVkU3RhdGU6bixsYXN0Q2hhbmdlVGltZXN0YW1wOnN9KX0scHV0OihlLHQpPT57Y29uc3R7aWQ6YSxuYW1lOm8sZGVzY3JpcHRpb246aSxzeW1ib2xzOm4sc2hhcmVkOnMsdGltZXN0YW1wOnIsY29sbGFwc2VkU2VwYXJhdG9yczpjLHBlcnNpc3RlZFN0YXRlOnUsYWN0aW9uVGltZXN0YW1wOmR9PXQucGF5bG9hZCx7bGlzdHM6bX09ZSxwPW0uYnlJZFthXTtpZih2b2lkIDA9PT1wKWwoZSx7aWQ6YSxuYW1lOm8sZGVzY3JpcHRpb246aSxzeW1ib2xzOm4sc2hhcmVkOnMsdGltZXN0YW1wOnI/P251bGwscGVyc2lzdGVkU3RhdGU6dSxsYXN0Q2hhbmdlVGltZXN0YW1wOmR9KTtlbHNle2lmKHAubGFzdENoYW5nZVRpbWVzdGFtcD49ZClyZXR1cm47bS5ieUlkW2FdPXtpZDphLG5hbWU6byxkZXNjcmlwdGlvbjppLHNoYXJlZDpzLHRpbWVzdGFtcDpyPz9udWxsLHN5bWJvbHM6Wy4uLm5dLGNvbGxhcHNlZFNlcGFyYXRvcnM6YyxwZXJzaXN0ZWRTdGF0ZTp1LGxhc3RDaGFuZ2VUaW1lc3RhbXA6ZD8/cC5sYXN0Q2hhbmdlVGltZXN0YW1wfX19LHJlbmFtZTooZSx0KT0+e2NvbnN0e2lkOmEsbmFtZTpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOm59PWUscz1uLmJ5SWRbYV07dm9pZCAwIT09cyYmKHMubGFzdENoYW5nZVRpbWVzdGFtcD49aXx8cy5uYW1lIT09byYmKHMubmFtZT1vLHZvaWQgMCE9PWkmJihzLmxhc3RDaGFuZ2VUaW1lc3RhbXA9aSkpKX0sY2hhbmdlRGVzY3JpcHRpb246KGUsdCk9Pntjb25zdHtpZDphLGRlc2NyaXB0aW9uOm8sYWN0aW9uVGltZXN0YW1wOml9PXQucGF5bG9hZCx7bGlzdHM6bn09ZSxzPW4uYnlJZFthXTt2b2lkIDAhPT1zJiYocy5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pfHxzLmRlc2NyaXB0aW9uIT09byYmKHMuZGVzY3JpcHRpb249byx2b2lkIDAhPT1pJiYocy5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKSl9LHNoYXJlOihlLHQpPT57Y29uc3R7aWQ6YSxzaGFyZWQ6byxhY3Rpb25UaW1lc3RhbXA6aX09dC5wYXlsb2FkLHtsaXN0czpufT1lLHM9bi5ieUlkW2FdO3ZvaWQgMCE9PXMmJihzLmxhc3RDaGFuZ2VUaW1lc3RhbXA+PWl8fHMuc2hhcmVkIT09byYmKHMuc2hhcmVkPW8sdm9pZCAwIT09aSYmKHMubGFzdENoYW5nZVRpbWVzdGFtcD1pKSkpfSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooZSx0KT0+e2NvbnN0e2xpc3RzOmF9PWU7YS5pZHMuZm9yRWFjaCgoZT0+e2NvbnN0IG89YS5ieUlkW2VdLGk9dC5wYXlsb2FkW2VdO3ZvaWQgMCE9PW8mJm8ucGVyc2lzdGVkU3RhdGUmJmkmJihvLnBlcnNpc3RlZFN0YXRlPXsuLi5vLnBlcnNpc3RlZFN0YXRlLC4uLml9KX0pKX19fSkse3NldHVwOnUsaW5zZXJ0OmQscmVwbGFjZTptLGV4YWN0OnAsZXhjbHVkZTpTLHJlbW92ZTpnLGNyZWF0ZTpoLHB1dDp2LHJlbmFtZTpULGNoYW5nZURlc2NyaXB0aW9uOkUsc2hhcmU6eSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTpBfT1jLmFjdGlvbnMse3JlZHVjZXI6a309YztmdW5jdGlvbiBiKGUsdCxhPWMpe3JldHVybigwLGkuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJjdXN0b20tbGlzdC1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5zZXR1cC5tYXRjaChlKXx8dC5hY3Rpb25zLmluc2VydC5tYXRjaChlKXx8dC5hY3Rpb25zLmV4Y2x1ZGUubWF0Y2goZSl8fHQuYWN0aW9ucy5leGFjdC5tYXRjaChlKXx8dC5hY3Rpb25zLnJlcGxhY2UubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW1vdmUubWF0Y2goZSl8fHQuYWN0aW9ucy5jcmVhdGUubWF0Y2goZSl8fHQuYWN0aW9ucy5wdXQubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWUubWF0Y2goZSl8fHQuYWN0aW9ucy5jaGFuZ2VEZXNjcmlwdGlvbi5tYXRjaChlKXx8dC5hY3Rpb25zLnNoYXJlLm1hdGNoKGUpfHx0LmFjdGlvbnMudXBkYXRlUGVyc2lzdGVkU3RhdGUubWF0Y2goZSl9KGUsYSl9KX1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmxpc3RzLmJ5SWR9ZnVuY3Rpb24gSShlLHQpe3JldHVybiBMKGUpW3RdPz9udWxsfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUubGlzdHMuaWRzfX0sMzYzNTI2KGUsdCxhKXtmdW5jdGlvbiBvKGUpe3JldHVybiB0PT5lKyJfXyIrdH1hLmQodCx7CmNyZWF0ZUFjdGlvblR5cGVGYWN0b3J5OigpPT5vfSl9LDI1NTUxNihlKXsKZS5leHBvcnRzPUpTT04ucGFyc2UoJ3sidXMiOnsidGl0bGUiOiJVU0EiLCJzY3JlZW5lck5hbWUiOiJhbWVyaWNhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvTmV3X1lvcmsiLCJkZWZhdWx0RXhjaGFuZ2UiOiJVUyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQU1FWCIsIk5BU0RBUSIsIk5ZU0UiLCJPVEMiLCJVUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiTkFTREFRIiwiTllTRSIsIk5ZU0UgQVJDQSIsIk9UQyJdLCJncm91cCI6Ik5vcnRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6InVzYS8ifSwiYWUiOnsidGl0bGUiOiJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsInNjcmVlbmVyTmFtZSI6InVhZSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0R1YmFpIiwiZGVmYXVsdEV4Y2hhbmdlIjoiQURYIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJERk0iLCJBRFgiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkRGTSIsIkFEWCIsIk5BU0RBUURVQkFJIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InVhZS8ifSwiYXIiOnsidGl0bGUiOiJBcmdlbnRpbmEiLCJzY3JlZW5lck5hbWUiOiJhcmdlbnRpbmEiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCQ0JBIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJCWU1BIiwiQkNCQSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJCQ0JBIiwiZ3JvdXAiOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6ImFyZ2VudGluYS8ifSwiYXQiOnsidGl0bGUiOiJBdXN0cmlhIiwic2NyZWVuZXJOYW1lIjoiYXVzdHJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvVmllbm5hIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJWSUUiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIlZJRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJWSUUiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYXVzdHJpYS8ifSwiYXUiOnsidGl0bGUiOiJBdXN0cmFsaWEiLCJzY3JlZW5lck5hbWUiOiJhdXN0cmFsaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXVzdHJhbGlhL1N5ZG5leSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJBU1giXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiYXVzdHJhbGlhLyJ9LCJiZCI6eyJ0aXRsZSI6IkJhbmdsYWRlc2giLCJzY3JlZW5lck5hbWUiOiJiYW5nbGFkZXNoIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvRGhha2EiLCJleGNoYW5nZXNTdG9ja3MiOlsiRFNFQkQiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJEU0VCRCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJiYW5nbGFkZXNoLyJ9LCJiZSI6eyJ0aXRsZSI6IkJlbGdpdW0iLCJzY3JlZW5lck5hbWUiOiJiZWxnaXVtIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CcnVzc2VscyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfQlJVIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVEJSVSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9CUlUiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYmVsZ2l1bS8ifSwiYmgiOnsidGl0bGUiOiJCYWhyYWluIiwic2NyZWVuZXJOYW1lIjoiYmFocmFpbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0JhaHJhaW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiQkFIUkFJTiJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJiYWhyYWluLyJ9LCJiciI6eyJ0aXRsZSI6IkJyYXppbCIsInNjcmVlbmVyTmFtZSI6ImJyYXppbCIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL1Nhb19QYXVsbyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTUZCT1ZFU1BBIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJicmF6aWwvIn0sImJnIjp7InRpdGxlIjoiQnVsZ2FyaWEiLCJzY3JlZW5lck5hbWUiOiJidWxnYXJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvU29maWEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlNFU09GIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJidWxnYXJpYS8ifSwiY2EiOnsidGl0bGUiOiJDYW5hZGEiLCJzY3JlZW5lck5hbWUiOiJjYW5hZGEiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9Ub3JvbnRvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlRTWCIsIlRTWFYiLCJDU0UiLCJORU8iXSwiZ3JvdXAiOiJOb3J0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJjYW5hZGEvIn0sImNoIjp7InRpdGxlIjoiU3dpdHplcmxhbmQiLCJzY3JlZW5lck5hbWUiOiJzd2l0emVybGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvWnVyaWNoIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNJWCIsIkJYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzd2l0emVybGFuZC8ifSwiY2wiOnsidGl0bGUiOiJDaGlsZSIsInNjcmVlbmVyTmFtZSI6ImNoaWxlIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvU2FudGlhZ28iLCJleGNoYW5nZXNTdG9ja3MiOlsiQkNTIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJjaGlsZS8ifSwiY24iOnsidGl0bGUiOiJNYWlubGFuZCBDaGluYSIsInR2TG9jYWxlIjoiemhfQ04iLCJzY3JlZW5lck5hbWUiOiJjaGluYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvbmdfS29uZyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiU1NFIiwiU1pTRSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiU1NFIiwiU1pTRSIsIlNIRkUiLCJaQ0UiLCJDRkZFWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJjaGluYS8ifSwiY28iOnsidGl0bGUiOiJDb2xvbWJpYSIsInNjcmVlbmVyTmFtZSI6ImNvbG9tYmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQm9nb3RhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWQyJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY29sb21iaWEvIn0sImhyIjp7InRpdGxlIjoiQ3JvYXRpYSIsInNjcmVlbmVyTmFtZSI6ImNyb2F0aWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1phZ3JlYiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJaU0UiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJaU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiWlNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImNyb2F0aWEvIn0sImN5Ijp7InRpdGxlIjoiQ3lwcnVzIiwic2NyZWVuZXJOYW1lIjoiY3lwcnVzIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9DeXBydXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiQ1NFQ1kiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJDU0VDWSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiY3lwcnVzLyJ9LCJjeiI6eyJ0aXRsZSI6IkN6ZWNoIFJlcHVibGljIiwic2NyZWVuZXJOYW1lIjoiY3plY2giLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0N6ZWNoIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlBTRUNaIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiUFNFQ1oiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImN6ZWNoLyJ9LCJkZSI6eyJ0aXRsZSI6Ikdlcm1hbnkiLCJ0dkxvY2FsZSI6ImRlX0RFIiwic2NyZWVuZXJOYW1lIjoiZ2VybWFueSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQmVybGluIiwiZGVmYXVsdEV4Y2hhbmdlIjoiWEVUUiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJGV0IiLCJTV0IiLCJYRVRSIiwiRFVTIiwiSEFNIiwiSEFOIiwiTVVOIiwiVFJBREVHQVRFIiwiTFMiLCJMU1giLCJHRVRURVgiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJGV0IiLCJTV0IiLCJYRVRSIiwiRFVTIiwiSEFNIiwiSEFOIiwiTVVOIiwiVFJBREVHQVRFIiwiTFMiLCJMU1giXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imdlcm1hbnkvIn0sImRrIjp7InRpdGxlIjoiRGVubWFyayIsInNjcmVlbmVyTmFtZSI6ImRlbm1hcmsiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0NvcGVuaGFnZW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YQ09QIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJkZW5tYXJrLyJ9LCJlZSI6eyJ0aXRsZSI6IkVzdG9uaWEiLCJzY3JlZW5lck5hbWUiOiJlc3RvbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9UYWxsaW5uIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFRTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZXN0b25pYS8ifSwiZWciOnsidGl0bGUiOiJFZ3lwdCIsInNjcmVlbmVyTmFtZSI6ImVneXB0Iiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9DYWlybyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJFR1giXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoiZWd5cHQvIn0sImVzIjp7InRpdGxlIjoiU3BhaW4iLCJzY3JlZW5lck5hbWUiOiJzcGFpbiIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTWFkcmlkIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJNRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic3BhaW4vIn0sImV1Ijp7InRpdGxlIjoiRXVyb3BlYW4gVW5pb24iLCJzY3JlZW5lck5hbWUiOiJldXJvbmV4dCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUGFyaXMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUIiwiRVVST05FWFRDT01NIl0sImdyb3VwIjoiRXVyb3BlIn0sImZpIjp7InRpdGxlIjoiRmlubGFuZCIsInNjcmVlbmVyTmFtZSI6ImZpbmxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0hlbHNpbmtpIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWEhFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZmlubGFuZC8ifSwiZnIiOnsidGl0bGUiOiJGcmFuY2UiLCJzY3JlZW5lck5hbWUiOiJmcmFuY2UiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1BhcmlzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJFVVJPTkVYVF9QQVIiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUUEFSIl0sImRlZmF1bHRFeGNoYW5nZSI6IkVVUk9ORVhUX1BBUiIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJmcmFuY2UvIn0sImdlIjp7InRpdGxlIjoiR2VvcmdpYSJ9LCJnciI6eyJ0aXRsZSI6IkdyZWVjZSIsInNjcmVlbmVyTmFtZSI6ImdyZWVjZSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQXRoZW5zIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkFUSEVYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJncmVlY2UvIn0sImhrIjp7InRpdGxlIjoiSG9uZyBLb25nLCBDaGluYSIsInNjcmVlbmVyTmFtZSI6Imhvbmdrb25nIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSG9uZ19Lb25nIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkhLRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaG9uZy1rb25nLyJ9LCJodSI6eyJ0aXRsZSI6Ikh1bmdhcnkiLCJzY3JlZW5lck5hbWUiOiJodW5nYXJ5Iiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CdWRhcGVzdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCRVQiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCRVQiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQkVUIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imh1bmdhcnkvIn0sImlkIjp7InRpdGxlIjoiSW5kb25lc2lhIiwic2NyZWVuZXJOYW1lIjoiaW5kb25lc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSmFrYXJ0YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJJRFgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaW5kb25lc2lhLyJ9LCJpZSI6eyJ0aXRsZSI6IklyZWxhbmQiLCJzY3JlZW5lck5hbWUiOiJpcmVsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9EdWJsaW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFREVUIiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImlyZWxhbmQvIn0sImlsIjp7InRpdGxlIjoiSXNyYWVsIiwidHZMb2NhbGUiOiJoZV9JTCIsInNjcmVlbmVyTmFtZSI6ImlzcmFlbCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0plcnVzYWxlbSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUQVNFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImlzcmFlbC8ifSwiaW4iOnsidGl0bGUiOiJJbmRpYSIsInNjcmVlbmVyTmFtZSI6ImluZGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS29sa2F0YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCU0UiLCJOU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaW5kaWEvIn0sImlyIjp7InRpdGxlIjoiSXJhbiJ9LCJpcyI6eyJ0aXRsZSI6IkljZWxhbmQiLCJzY3JlZW5lck5hbWUiOiJpY2VsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkF0bGFudGljL1JleWtqYXZpayIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhJQ0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImljZWxhbmQvIn0sIml0Ijp7InRpdGxlIjoiSXRhbHkiLCJzY3JlZW5lck5hbWUiOiJpdGFseSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUm9tZSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTUlMIiwiRVVST1RMWCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiTUlMIiwiRVVST1RMWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiaXRhbHkvIn0sImpwIjp7InRpdGxlIjoiSmFwYW4iLCJ0dkxvY2FsZSI6ImphIiwic2NyZWVuZXJOYW1lIjoiamFwYW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Ub2t5byIsImRlZmF1bHRFeGNoYW5nZSI6IlRTRSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTkFHIiwiVFNFIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJUU0UiLCJOQUciLCJGU0UiLCJTQVBTRSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJqYXBhbi8ifSwia2UiOnsidGl0bGUiOiJLZW55YSIsInNjcmVlbmVyTmFtZSI6ImtlbnlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9OYWlyb2JpIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5TRUtFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImtlbnlhLyJ9LCJrcCI6eyJ0aXRsZSI6Ik5vcnRoIEtvcmVhIn0sImtyIjp7InRpdGxlIjoiU291dGggS29yZWEiLCJ0dkxvY2FsZSI6ImtyIiwic2NyZWVuZXJOYW1lIjoia29yZWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9TZW91bCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJLUlgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoia29yZWEvIn0sImt3Ijp7InRpdGxlIjoiS3V3YWl0Iiwic2NyZWVuZXJOYW1lIjoia3V3YWl0Iiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS3V3YWl0IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIktTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrdXdhaXQvIn0sImxrIjp7InRpdGxlIjoiU3JpIExhbmthIiwic2NyZWVuZXJOYW1lIjoic3JpbGFua2EiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Db2xvbWJvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRUxLIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InNyaS1sYW5rYS8ifSwibHQiOnsidGl0bGUiOiJMaXRodWFuaWEiLCJzY3JlZW5lck5hbWUiOiJsaXRodWFuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1ZpbG5pdXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YVlNFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJsaXRodWFuaWEvIn0sImx2Ijp7InRpdGxlIjoiTGF0dmlhIiwic2NyZWVuZXJOYW1lIjoibGF0dmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9SaWdhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFJTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibGF0dmlhLyJ9LCJsdSI6eyJ0aXRsZSI6Ikx1eGVtYm91cmciLCJzY3JlZW5lck5hbWUiOiJsdXhlbWJvdXJnIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9MdXhlbWJvdXJnIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkxVWFNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTFVYU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiTFVYU0UiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibHV4ZW1ib3VyZy8ifSwibXgiOnsidGl0bGUiOiJNZXhpY28iLCJzY3JlZW5lck5hbWUiOiJtZXhpY28iLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9NZXhpY29fQ2l0eSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTVYiLCJCSVZBIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJtZXhpY28vIn0sIm1hIjp7InRpdGxlIjoiTW9yb2NjbyIsInNjcmVlbmVyTmFtZSI6Im1vcm9jY28iLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL01vcm9jY28iLCJleGNoYW5nZXNTdG9ja3MiOlsiQ1NFTUEiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJDU0VNQSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJtb3JvY2NvLyJ9LCJteSI6eyJ0aXRsZSI6Ik1hbGF5c2lhIiwidHZMb2NhbGUiOiJtc19NWSIsInNjcmVlbmVyTmFtZSI6Im1hbGF5c2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2luZ2Fwb3JlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk1ZWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJtYWxheXNpYS8ifSwibmciOnsidGl0bGUiOiJOaWdlcmlhIiwic2NyZWVuZXJOYW1lIjoibmlnZXJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvTGFnb3MiLCJleGNoYW5nZXNTdG9ja3MiOlsiTlNFTkciXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoibmlnZXJpYS8ifSwibmwiOnsidGl0bGUiOiJOZXRoZXJsYW5kcyIsInNjcmVlbmVyTmFtZSI6Im5ldGhlcmxhbmRzIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9BbXN0ZXJkYW0iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0FNUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRBTVMiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfQU1TIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Im5ldGhlcmxhbmRzLyJ9LCJubyI6eyJ0aXRsZSI6Ik5vcndheSIsInNjcmVlbmVyTmFtZSI6Im5vcndheSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvT3NsbyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiT1NMIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVE9TRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJPU0wiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibm9yd2F5LyJ9LCJueiI6eyJ0aXRsZSI6Ik5ldyBaZWFsYW5kIiwic2NyZWVuZXJOYW1lIjoibmV3emVhbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJQYWNpZmljL0F1Y2tsYW5kIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5aWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJuZXctemVhbGFuZC8ifSwicGUiOnsidGl0bGUiOiJQZXJ1Iiwic2NyZWVuZXJOYW1lIjoicGVydSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0xpbWEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlZMIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJwZXJ1LyJ9LCJwaCI6eyJ0aXRsZSI6IlBoaWxpcHBpbmVzIiwic2NyZWVuZXJOYW1lIjoicGhpbGlwcGluZXMiLCJzY3JlZW5lclRpbWV6b25lIjoiUGhpbGlwcGluZXMvTWFuaWxhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlBTRSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJwaGlsaXBwaW5lcy8ifSwicGsiOnsidGl0bGUiOiJQYWtpc3RhbiIsInNjcmVlbmVyTmFtZSI6InBha2lzdGFuIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS2FyYWNoaSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiUFNYIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJQU1giXSwiZGVmYXVsdEV4Y2hhbmdlIjoiUFNYIiwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoicGFraXN0YW4vIn0sInBsIjp7InRpdGxlIjoiUG9sYW5kIiwic2NyZWVuZXJOYW1lIjoicG9sYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9XYXJzYXciLCJleGNoYW5nZXNTdG9ja3MiOlsiR1BXIiwiTkVXQ09OTkVDVCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicG9sYW5kLyJ9LCJwdCI6eyJ0aXRsZSI6IlBvcnR1Z2FsIiwic2NyZWVuZXJOYW1lIjoicG9ydHVnYWwiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xpc2JvbiIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfTElTIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVExJUyJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9MSVMiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicG9ydHVnYWwvIn0sInFhIjp7InRpdGxlIjoiUWF0YXIiLCJzY3JlZW5lck5hbWUiOiJxYXRhciIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1FhdGFyIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlFTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJxYXRhci8ifSwicm8iOnsidGl0bGUiOiJSb21hbmlhIiwic2NyZWVuZXJOYW1lIjoicm9tYW5pYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnVjaGFyZXN0IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWQiJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkJWQiJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJCVkIiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicm9tYW5pYS8ifSwicnMiOnsidGl0bGUiOiJTZXJiaWEiLCJzY3JlZW5lck5hbWUiOiJzZXJiaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0JlbGdyYWRlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJFTEVYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzZXJiaWEvIn0sInJ1Ijp7InRpdGxlIjoiUnVzc2lhIiwic2NyZWVuZXJOYW1lIjoicnVzc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Nb3Njb3ciLCJleGNoYW5nZXNTdG9ja3MiOlsiUlVTIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJydXNzaWEvIn0sInNhIjp7InRpdGxlIjoiU2F1ZGkgQXJhYmlhIiwidHZMb2NhbGUiOiJhcl9BRSIsInNjcmVlbmVyTmFtZSI6ImtzYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1JpeWFkaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUQURBV1VMIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImtzYS8ifSwic2UiOnsidGl0bGUiOiJTd2VkZW4iLCJzY3JlZW5lck5hbWUiOiJzd2VkZW4iLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1N0b2NraG9sbSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOR00iLCJPTVhTVE8iXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJOR00iLCJPTVhTVE8iXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InN3ZWRlbi8ifSwic2ciOnsidGl0bGUiOiJTaW5nYXBvcmUiLCJzY3JlZW5lck5hbWUiOiJzaW5nYXBvcmUiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9TaW5nYXBvcmUiLCJleGNoYW5nZXNTdG9ja3MiOlsiU0dYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InNpbmdhcG9yZS8ifSwic2siOnsidGl0bGUiOiJTbG92YWtpYSIsInNjcmVlbmVyTmFtZSI6InNsb3Zha2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CcmF0aXNsYXZhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJTU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNsb3Zha2lhLyJ9LCJzaSI6eyJ0aXRsZSI6IlNsb3ZlbmlhIiwic2NyZWVuZXJOYW1lIjoic2xvdmVuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xqdWJsamFuYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMSlNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTEpTRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJMSlNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNsb3ZlbmlhLyJ9LCJ0aCI6eyJ0aXRsZSI6IlRoYWlsYW5kIiwidHZMb2NhbGUiOiJ0aF9USCIsInNjcmVlbmVyTmFtZSI6InRoYWlsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvQmFuZ2tvayIsImV4Y2hhbmdlc1N0b2NrcyI6WyJTRVQiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoidGhhaWxhbmQvIn0sInRuIjp7InRpdGxlIjoiVHVuaXNpYSIsInNjcmVlbmVyTmFtZSI6InR1bmlzaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL1R1bmlzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWTVQiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoidHVuaXNpYS8ifSwidHIiOnsidGl0bGUiOiJUdXJrZXkiLCJzY3JlZW5lck5hbWUiOiJ0dXJrZXkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJJU1QiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InR1cmtleS8ifSwidHciOnsidGl0bGUiOiJUYWl3YW4sIENoaW5hIiwidHZMb2NhbGUiOiJ6aF9UVyIsInNjcmVlbmVyTmFtZSI6InRhaXdhbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1RhaXBlaSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUV1NFIiwiVFBFWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJ0YWl3YW4vIn0sImdiIjp7InRpdGxlIjoiVW5pdGVkIEtpbmdkb20iLCJzY3JlZW5lck5hbWUiOiJ1ayIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTG9uZG9uIiwiZGVmYXVsdEV4Y2hhbmdlIjoiTFNFIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkxTRSIsIkxTSU4iLCJBUVVJUyJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoidW5pdGVkLWtpbmdkb20vIn0sInZlIjp7InRpdGxlIjoiVmVuZXp1ZWxhIiwic2NyZWVuZXJOYW1lIjoidmVuZXp1ZWxhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQ2FyYWNhcyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkNWIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJ2ZW5lenVlbGEvIn0sInZuIjp7InRpdGxlIjoiVmlldG5hbSIsInR2TG9jYWxlIjoidmlfVk4iLCJzY3JlZW5lck5hbWUiOiJ2aWV0bmFtIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSG9fQ2hpX01pbmgiLCJleGNoYW5nZXNTdG9ja3MiOlsiSE9TRSIsIkhOWCIsIlVQQ09NIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InZpZXRuYW0vIn0sInphIjp7InRpdGxlIjoiU291dGggQWZyaWNhIiwic2NyZWVuZXJOYW1lIjoicnNhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9Kb2hhbm5lc2J1cmciLCJleGNoYW5nZXNTdG9ja3MiOlsiSlNFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InNvdXRoLWFmcmljYS8ifSwid3ciOnsidGl0bGUiOiJXb3JsZHdpZGUiLCJzY3JlZW5lck5hbWUiOiJnbG9iYWwiLCJleGNoYW5nZXNTdG9ja3MiOltdfX0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview.com/support/support-portal-problems/?language=en","fqdn":"www.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.407Z","timestamp":1785124877407,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Fri, 12 Dec 2025 00:00:00 GMT","end":"Sun, 10 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"93:7A:32:54:9B:07:78:A4:C2:12:01:FE:F8:01:86:4E:F4:B0:E5:88","sha256":"DC:6B:BC:C2:10:66:1A:99:2E:BE:17:BD:A9:27:49:E3:D8:CA:EB:13:B6:95:9C:BF:68:76:22:17:62:D1:05:57"}}},"request":{"raw":"OPTIONS /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: www.tradingview.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: GET\r\nAccess-Control-Request-Headers: x-language,x-requested-with\r\nReferer: https://s.tradingview.com/\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json\r\ncontent-length: 13\r\nx-amz-cf-pop: ARN53-P2\r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncache-control: max-age=60\r\ncontent-security-policy: default-src 'self' https: data: blob: wss: 'unsafe-inline'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nvary: Cookie\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncross-origin-resource-policy: same-site\r\naccess-control-allow-headers: pragma,x-language,cache-control,x-requested-with\r\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nvia: 1.1 365d682e9b4889986ad44f252accf6b0.cloudfront.net (CloudFront)\r\nx-amz-cf-id: Pslgr4hcg6zxI6Zpq0UgOKjRKU1u8YxZYJ_L-c-fcD6Olnc9XCPkBQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"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":13,"size_decoded":1535,"mime_type":"application/json","magic":"JSON text data","md5":"01de957246f36d125db7f1635e51043e","sha1":"ab39026488aa0222d0fd98ade08979a1a17bdfae","sha256":"9bf40c18a4b22428c00ae5ddb17ff9e721207f22ebe705fd7dffdfd150749e3b","sha512":"72406f9bdf9896da1e3b58e79b74803c4b3a4226b1859cefcee322aa78d8617178a9e12333d72d43dd10207e3e79b9fc76ed07546ce955c0c8b392985d5540c5","ssdeep":"","tlshash":"d760000f003000000f0c0030f0000cc3000c0000033c30300c0c00c3030c0030ccf303","first_seen":"2023-05-02T20:38:18Z","last_seen":"2026-07-27T06:24:31.545405Z","times_seen":606,"resource_available":false,"data":"eyJpc3N1ZXMiOltdfQ=="}},"time_used":189,"timings":{"blocked":0,"dns":0,"connect":19,"send":0,"wait":169,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/board/broker.jpg","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.256Z","timestamp":1785124875256,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/board/broker.jpg HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/jpeg\r\ncontent-length: 180389\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-2c0a5\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":180389,"size_decoded":180618,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2020:12:04 03:33:18], baseline, precision 8, 450x469, components 3","md5":"6c42c38eee202bbd751d8b4b31c11a7a","sha1":"f0b1518eaa3b78e3dcc63c1ad4065e79ac50f52e","sha256":"53b1af6c8b4a40b8e39674149b59d408e07992d79e2b623f3117a1e63ba084de","sha512":"20268c8d37332d4d35ba8d794fcef3b651717c7efaea9b330e16004850a83ffee26eb457a1fbf1e21c0c6e3ba7b1724b5aba4389e6905257e458b50817d80eef","ssdeep":"3072:mqT58qT5SVOUYEAXUOlmCvI1cQ5YViJmvebk1qUb25o5xTsBjZv6BlMdUx9qK:mc8cLUYEAELCvI1lciovttb25o5xTaZc","tlshash":"9504120927a6cac2f4ba663794b4e0998320f87e6fc54996729db10367711dcac0f53f","first_seen":"2026-07-27T03:24:36.931924Z","last_seen":"2026-07-27T04:03:29.947145Z","times_seen":3,"resource_available":false,"data":"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SU0EOwAAAAACLQAAABAAAAABAAAAAAAScHJpbnRPdXRwdXRPcHRpb25zAAAAFwAAAABDcHRuYm9vbAAAAAAAQ2xicmJvb2wAAAAAAFJnc01ib29sAAAAAABDcm5DYm9vbAAAAAAAQ250Q2Jvb2wAAAAAAExibHNib29sAAAAAABOZ3R2Ym9vbAAAAAAARW1sRGJvb2wAAAAAAEludHJib29sAAAAAABCY2tnT2JqYwAAAAEAAAAAAABSR0JDAAAAAwAAAABSZCAgZG91YkBv4AAAAAAAAAAAAEdybiBkb3ViQG/gAAAAAAAAAAAAQmwgIGRvdWJAb+AAAAAAAAAAAABCcmRUVW50RiNSbHQAAAAAAAAAAAAAAABCbGQgVW50RiNSbHQAAAAAAAAAAAAAAABSc2x0VW50RiNQeGxAheAAAAAAAAAAAAp2ZWN0b3JEYXRhYm9vbAEAAAAAUGdQc2VudW0AAAAAUGdQcwAAAABQZ1BDAAAAAExlZnRVbnRGI1JsdAAAAAAAAAAAAAAAAFRvcCBVbnRGI1JsdAAAAAAAAAAAAAAAAFNjbCBVbnRGI1ByY0BZAAAAAAAAAAAAEGNyb3BXaGVuUHJpbnRpbmdib29sAAAAAA5jcm9wUmVjdEJvdHRvbWxvbmcAAAAAAAAADGNyb3BSZWN0TGVmdGxvbmcAAAAAAAAADWNyb3BSZWN0UmlnaHRsb25nAAAAAAAAAAtjcm9wUmVjdFRvcGxvbmcAAAAAADhCSU0D7QAAAAAAEAK8AAAAAQABArwAAAABAAE4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAHg4QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0nEAAAAAAACgABAAAAAAAAAAE4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQAAAAAAAACAAE4QklNBAIAAAAAAAQAAAAAOEJJTQQwAAAAAAACAQE4QklNBC0AAAAAAAYAAQAAAAU4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADSQAAAAYAAAAAAAAAAAAAAdUAAAHCAAAACgBVAG4AdABpAHQAbABlAGQALQAxAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAHCAAAB1QAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAB1QAAAABSZ2h0bG9uZwAAAcIAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAdUAAAAAUmdodGxvbmcAAAHCAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQRAAAAAAABAQA4QklNBBQAAAAAAAQAAAAHOEJJTQQMAAAAABngAAAAAQAAAJoAAACgAAAB0AABIgAAABnEABgAAf/Y/+0ADEFkb2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACgAJoDASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwDtXDVBcOVZeWoD3NAKBUhYJCkRooNeAFPfPZM4kmLFRdypEqJ1OnKFqEWJb2Q7Bwe8oolU8/Mxa6HNvuFYOhjQkd2gn95CjJOyR721tLnaD8UFuXjuP0o+6Pl+8sb9uYeVdsof6gqDzvIDBAa522utu7+rv/wizx1jKNmTGO11NALdrSWwQ9rdNoc73N97vb/24icYTqej11dtVv8ANPD40IB1n4KcaLibeo4zGtdY+W2tBa13tJYSdvPuY3dvVvCyq23Uvxss0bo9OiyTX5sZYPd+9+js9lqjIpcIvVbUxEILM6oy26KniJ1Jbr+cHOA9v9dGLgO6YSrhWPHCG4KW5skfihl7ZiUwnRcAqPcFZoGiq72N1KuUDRPwfMVuTYJ4/BCj8qPGmvfhBj8qtsL/AP/Q9ALR4ShvpYRqB9yqn6w9AHOfUO+u8af5ij/zi6AdP2jRMTBcRp/aalxRPUfargn+7L7GwMesfmj7k/oM8Aqo+sH1fP8A3pYvzsA/Kp/t3oXH7SxPncwflcjY8EcMux+xMaGd2hQ+z1jgBMOq9IdG3PxjPEXV/wDk046j0wiRm40ePrVxr/bRBHcI4Zdj9jWz2BuO5rfa98gEciAuE6tTmdUy3UtawCslothriSD9KPo1/nLvM9thLgWn3e1gPx93/RWe7CZUC86uPJ4H3KHNPh2bGDGJal5Gnobsb1i0u33N2kHUAHdu939pBt6W5uU67aW3Wt2uskEOOnvdG33O2e5dS9onX5IFlbHaR8FTPMSbw5aBeSyekvubIcTuAaRGvt+iFRza78fHbW9p2bIa7wcI13fyXtZb/wCdrufs7SIA15VfM6ZXfU6t7NzSJj4JR5qjRGip8oCPSaLkdH659oxX0Xvd6lQD6XiC4Md/6Nxcj/wKzYuv6Rn1ZQFNoG8NBZa0DY8f98XAnBowsnZYXNHFdrZJAI/m7ah7nM/dfX+kqW30LM23sqo37mFoJLfZYHFpZduG33vZZ/ov+MVgSF8Udi0smMjSQoh7Y4tczHxQ3Ylc/RH3K3qdYMFQI1U3COzXvxQNxmN4aEUMhS0TiD3+KIAGwVf1Y7eSgx+VWnbQ3RVp8+6Sr1f/0eiP1G6ITIqsHmLrP/JKD/qJ0Vxksu8v0ziPxldWWpbUuCH7o+xd7uT9+X2vIP8A8X/RnGT9p8P54/8AkEM/4u+kED35Xt4Hqggf51S7Pam2eaXBD90K93J+/L7Xjv8AmDgAQ27JaIj6bDp/2ygH/Fx00yDkZJa6AWu9ItifOldxsVbqdbXYFwcJAAJEns5vu0/c+mgccBZEAuGbKSB7h1NMc1rXPDu+p+9ZGVYIIgu17f7Uf9pOsqZbkRsfW17cmvWpzSPH3bHbv5z3LIHW+jXvcxmbUXAwWOeB/wBXDVDlN3TYwR4QLY2xPBHeNNFXc4DXwVouqsBdU4PBkBzSCP8AOb7UAVOe4j8PAKlIbt+AWZYJE6ozrmOGwNlBdjAAmdvmPHz/ADUInYDMOHbX+H/kHKAslNbPxK7TO0Ob3aeEXAw215TbfpGwABx8h7tv/mP9RSY71XBvMkQtrE6cAazMtZq1TYJnZqc1EVbz+X9WfrRZdc/G6mWV2Pc6v9Ne1wBO5g2saa27f5KAPq59eGbQOphwH0j9pyJJ8v0a9IFLY4SNLP3VpDFCq1+1ofeMn9X/ABQ+au6F/jABmvqZA5A+1W/9+qTM6T/jEZO7qL3mNP1k8/2ql6T6FfcJehX4I8EarVHuyuyI/Y+anB/xkg/01z2+Hrt/79Wpfs/6+f6d/wD2/X/5Fej/AGavwS+zV/upcI8Ve6dqjv8Auv8A/9L03aUtpU0k5DDaU4YUrLK6an3XPbXVW0vsseQ1rWtG573vd7Wsa1eb/Wj/ABuMq9TE+rjA9w9p6jaJZMHXFxz/ADn8i6/9H/wFtaCX0HNzen9Pp9fPyasSrgWXPbW0n90Gwjc5cln/AONT6pV2jEoN2aLSK3WsZspaHEMfvfkGuzazd/g6V47n9RzupZLsvPvsysh3Ntri50anY3d9Bjd382z2Iv1fqOT1/pmPuLfVy6GbgJI3WMbuj+Shan2bqn1b6Aymf2dji5p2Wvqr2OfZpt91Q3fpNy4TrHSMI9Rqw7OmmvIuMba8kl9cHaPWryanYnua31P0WV/Nfztla9T6ixrt7gS10kbmmDEyP621cx1GhuZ7Lm1vePz3N18NNvuUEsgifybsMJnEH7Xlum0t6eXX41j/ALNS31sgV+0+m0w97sWw+7Z+f6N+/wDcosVrI+tGLXXvw8iqx7pY5ryGkGZ+g/a5bLPq1VY1jbobi0vF1jGQ31iIfXT7PoUer779/wClt9JYn1l6Xv6nj5tcMx2B9eU4e3a57T6du6Po7v0X8hRSMDKIlubZ4+7GMuAWBQ8fMNF31p65TYXNFORU/hstaf7Ja4LSwuv15ztl+O/Fsd9HcJaT/ItHt9yyGdF6ha9hqyrQWkmwseRaGyfo1Gz0ne3/AIPYtI9NsbL8hlV7d36K7Y31R+79q9DY73/vs/RoZMeEjoD3itx5M4kbsjtJ02+0z+cI0W7X1jFpsDNbniP0VZE/vO3Pd+jrrZ/hHu+h/XXMswOoZVjLGZLqcMQ62ixjHlzWnc+ul9PpX07627fe63+us85wysTPvyWGmqioyxp2sbWD7caqtvsr9Tc6tn0/0lv6RQQhw/KRI6M0o+784MIxBMn1nEyKsvGqyqjNdzd7TIIj+s32uRYWR9UfrD0frvSa39LHotxWsptwiffQQNtdZ/fqc1v6C/8Awv8Axvq1racJC1ADQvenINWSNuiOE0eSkUyBKloS2hOkgp//0/T05IAkmANSTxCS47/Gn1p3Tfqy7Eqdtv6m/wCz6aEUgepln+0zbju/49OU8J/jA+vdvX8l+Bgvczo1LoA4+0Oaf6RaP9DuH6tS/wD4+z9J/NcW50+aTjJUTJJ8k1SpVvpGb9h6vhZwO0Y19VpI8GPa5yqtbZY9tbGl73GGtaCST2hqu0dEzLrxj+0XGd1YO4tH71m39HW397fYkp+gM94Z6g4En8q5lue7K6gMfBDXODw2y86tZJ9w/lWfyVZOVfn/AFTpvDj9otxQ11kEbrGNOPZaN35ll1TrK0Hp1+AyivEqbstrY0MrIjdLZ/RE+17/AM6xjP0v+EVWQudHo6eGQjiBr5nSznGqgbgGveffHkeyw82y6iu6+hrbAxjrHtdqCANzq/7TVHqef1Gt4rqx3WASQ5+4Bv3A71Rq+0hzjm3Fwd/gyAysfBrf+/vUGeFy4ugbGE1Gilx8PpmdVXdjbsYuEhjfczzDqH+1v/WlcZhMr1u22OaIaWiBH9VZeG37FlCphmjILizWdrwNxZ/bYtA3uMAazyoMljQE10ZRGJ1H1bTGOsbY6SHbSA5ok66b/wDNXC/XnPxMV7ehdObsrbttzNSSbCN1dLnO/cn1bP8AhP8AiVqfWX6z5XSW41WG7ZbcXvseBJa0D0q/T3bm797rfpf6NcWcT7W592Pf6tj3Fzm3nbY4n3F3quPp2O3fvuY9W+UwHTJL/BH/AHTn85zFcWGPf1+X7qT6vdezeg9Vp6lhOIsr0srkhttZ/nce3+RZ/wCB27Lfp1r6E6X1LE6t07H6lhu342WwWVzEjs+uzaXN9Wp+6q33fzi+bbsa/HdtyK3VOIlu4RI8W/vL1P8AxMdVstw+odKsdLMdzMjHBkmLd1eQ0fu1tfXU/wDr2vV1zw+jEcqKmVFAqWSSTIKf/9T1BeTf46ct7up9NxCPZVj2WtPna8Vv/wDbZi67qP8AjG6LjBzMNlmZaDDXH9FUT/xtn6X/ADKVw3Wer09czv2j1PHpddWwUVCHFjKw5zo2PdZW5++33WvTqtDwddNt9grpY62x30WMBc4/BrVtY31Xua029UsbjVs+lS0h13wj+ap/lb3epX/oFq2dVtaNlbhQ2D7KwBBI4cxuytipWXWXaSXEaS53w7x+bt2oUPNKXp5pa24YNTMUkenW4GbIOj325Lv0n9in067P9CrTWV4OBZ9lr9xaYMe57xubveZ/Oft2f6P/AAap0Qxg2SX2mToNGNJAmPj+Yr1Za/qPT8Zw2+plYzHxpobqm+X5qcDQQX0B7fsOU36vOPsxum4r8ceTDbiZX+a9uM//AK4o24eBZgvws6lt1DmAOaQOR9F7P5bfzED/ABkWX9My+j9fpHsottxMkfvV3AWNY7+T+gs/to1eXh51NOQxxdU8djzI4cqmQGM77uhy54sYHZ5e7plePa6vG6lcGgnaHgvIH7vqGX/+CIWP0slxNnVcm8d62kNEcau2uetfOw8O152uc0TMA90FtVNLZL4YOx0Kr5chGx/BuRxg7jTza+JiUY24bnPFU+kXkuO5303bj+632Kw1tt99eNQ0uuvcK62jxPf+qxvvVR1xutAqadTAXTfUehmRbkdSA3V1v+yY1nO4tIOZdX/wfqbcdj/+CsUcYGchf1VlzRxQNb/o+b5dm3HOutsuAJc4s9PWGtYTWxsn+r/nrIsx3Y9oLTLHfQcDOi1rXTfceW+vdtHxssQbajbuZA3DgcajiJ/zVpAAChs48iZGzudSvi5drq/T02chp1BPnu9i0+k9Vyej5D83phrxsl7TU97WM2uYS2x7PTta6vZurrd6jVi0cADkTA5P7qt1uBj3H3aTofhr/rsRpT2+F/jS6qwbc/CoyQBANTnUOP8AKd/Sq93/AG2ui6V/jA+r/UCK73u6deY9uUAKz/Vyq91O3/jvRXlLWvmQCBpDeO41Aao+z6IguZJO7v8AnH95ySKfe2PZYxtlbg+t4lj2kOaR4tc32uSXln+Lfqt2F1erp24jDzt9b6yYa24B1lFzWfmufs+zv2/zvq/8GvU5H8UEU//V5J1ljpLpImSZ1MatmPb7vamsc7aC/kT90NPf85u1I7K4BGh90iZJI/k/ydn9RBcfbtGkSTOs6x/35FSnWVkyTA58NP7f7yWrnASdZBPeNA7/AKKi0OEAO0gfPSN+72uam3FsPrlr64MAEiT+Y9v/AFaSW2xwc/e3QN0a7gcaN2x+YjV5Rr6ni2PIivJx3+4mfZawjbv/AHW/uKtWPSZqBWYG4SN0Ee5uh/6aq5Vp1gwSQdzpJJke72n2saj0Q++9d6Rj9b6Vk9MyTtZkNhrxyx4O+m5v/FWtY9eRdKzszoWZf0jqILHUvLLG8hruz2T/AIK1v6SteodM+tWPn47rzjW0BlvpWhxYQ0kbq7HOa7+as9zWv/fYs362/VLH+sQGTQfsvUqhtrtePY9v0hTkbNzvT3fzdrN/oqLJDjGjNgy+3LXZ563baz1KYcw87fPyVAttfzJjxVSvp31q6cS1/Tctrm6HbU61umn06PVrerHSa876w5DsTFIx2Mj7XdtP6Js7Y2n6WS+Hehj/APbv6OuxU5Yp3Tpe9Cr4tN1mV5ufkHpnSyBk2D9PlEwzHqOlmRbZ+Z7f5r8+z/BL0Po931e6ThYvScPMpFeK1rGhz2hzjMvsf9FvqWvLrLFVZ0bGwcVmHhM+z48l5Zy5zvzr7z9K69/+lt/63sVXKwa231tYCSWEvJ7/ALuilhECojvqfFo5shyHiOgGwfKDPq3EmP01nu5aZe7936TFJwMF7RPpt5GvHZv9Zyr4sbG66kHSPE7trVbG17dzXSDMFsOBPyj3f1VZYAga1ziSSN5Je6PbHd3tRWyPoEAt/OaOQR7v3felcIocYBc0t2d+TGm6f5SJscHQNYOnh8P3klLQCJLpIBcG+A/st2tTWiQCNS36O7xHb/g1JpBAqdD9A5obrAH5oHtSIcTxujidZ/lbRtY3d+ekpufVy9tPXem3WP2VV5db7HvG0NmwMdvdPt9q9t2u8O+35+C8Fq2tndroWu7zMt/78tX/AJ09c/7mv/of7P8A+sf6X/w//wAP/OoKf//W5FpOhB2kRzA1P52n0fpIW1p0hp1hr+TB0Zr/ACdqK97Q1wbE8lpiZOujvbu/PQyeXQDOgDuBp++z6PtSKUZboSB7TwQ0CY/lf9FFaHPop1JbtjXxDiPa33O/eUHNgcagDcex08vznJ8QudijaAS2x7SPomT7pH535yQUUo1Gg3EE7ex7u7D6Dv6ipZcDbGpBDpMkxuHG76C0DW4NJLm6iQTAb+6Xun3td7diqXVh5aCDG5sA/S577iHIlD7V0zBrxL3hrQK7xJb+aQ7Xbt/d1R7sezEc01uecQ/mAkmv+r/wSN0yLunYr3auFbdfkFbsiACkdBp0UN2vjilzCWCTzryomqiqyy+upgyLw31bGtAc/ZubX6jvz9m9+3ck1ja7hs0a46tRYb6h/OPLj8eEzJIcNd0x3abmkvJOpVV9c5DrD2bA+QK0n1wSfEqpkxVVZYdIaTPyTMcNV8paPh2I0mpgB0YG8aEHx2uRBj0e4gmi2A1xrdtJ/lOrH6NyHRpUxpMOYGzHw8fcrW+GtJGwbpDAQYjnvv8Ad/WUi0IL2htBhoaXPY2ZBJI9zt232om3c0OAmI0dwRJM/mpn7DZUPaJO8kzB2ja3/qkQ8+no5/Zo5j4fNJRKzfbAbAMTrGv507Zc1vKewzqSfaNGjjTyn6Wn0EgXOLmgmWunw48nSpO2bZLPo6tcTqd35v8AJSUwLYlx4kwCf87v/K/84QvSP7w4nhvHh/WTsh0xtJmN2sfByltd4H6X73537yCX/9flLmHeQ72umBOpk/mh3/fEMsYOG6RA1hvOs/8AnSsXMcLHNJiNBIg6/Sa7+rtQNHe+Jc78BqP+q/Pakd0hG5rS4gn+VLdPH/VqjgCW3MB9we0+GkfnFFJcG7S4tbHxk6OO539f99AwnxkWskNlkiZ53bfoz/LSCm0/2k7dIPER+T/X+oq7HfrFZOpdYyJ7+9vlu9yMHEkjcXucdeANdPbs+j/1al0xos61gVODQ1+RUAD9KN4Ov73t/lpHZA3fbOjuDsCkt42gj4EK3YqPRG7MJlf7oACvv7FGW30Cgg2fp6x2O78ArIYAEERvZ/Wj7w5qOo4iwkoXt1WT9YbfRwXgcuafyLXs+mFzn1lebXmhusMd96Md/qovkTW/ow2dAPokEETr+crEj3B0tJEHUNJn/O9v7qCwk8NH0eBpGk6+mjs2ho/MmCDOsAfSd7qk4qCNzWHJcS4HawAkwRJ1duLdv5v8jepkkjRsEATBnn6O7/zBCpfLrHfSO72gHgz7tfbu9wRXvMAe6Gt3NDv+pa36DXO/fQSpxhweTM6yQeT5+3Y3/Xeow1skaHWJ8P7O3/osSc9zgYBMdhpz5g/nQhud7fUmAAdzvMe7skoI6LR7wDGpE9tD9HaNv53/AE1Z3N/e7R/5j9H/AF/0iy8Zp2+o4yZ3N+PkrO2zwP0Y4P3f1klP/9Dmsm0OprvG3bcxlhbAkB7RPHu3abVXj814kk7g7s4MHuP/AEEsN3q9KxiBowvrJ+Dy9vj9H1K/zU/G6HGTyIcNB+d/Kdv/AO2/enFIRE6bjBP5xOo0/d/Od/JVfEd+uiYi1r2GeCNu/wAP5Cs2gTpDSdGxxr7m/RVOrZXk1PBBDHtntIJ2v5+j9JNTo6DpIAIgT8/++/muROj6dcwHTEZFRPHH9VCt0BIEQSBPJkcDT95T6af8sYgJ3EXNOgH5vv5H7zUJbFQAt9swG7awB4BWX8nyQMEzS0+QRnnlOlstG6MkFzP67PyqwSFVJ48nt/KrDg4n+T3HdRjZJ3RXvLdRz2XO5TTdlvceACPwK38zgR5rJ9MNc93Ojj9zSnRHqUdnxysS1pOoDQQ06iB7vzt6O9zGNc/b9BgOjpEfAfR3QgUOZ6dbp0cBJbzx9H93/oKeVc11GwGXOcGQDpB+Q/NaiVBHil/p+JMOJnufzkdkSBPH0tAePd9E/S/74h1fzZ/eImQ4kTx7/ot/OUtIM8RDRqTI+ltbDf6qC5TtnuG4SQRMTABkx/KVbNsDMV44LhtA8ijF8lwABgAl0GNOAYCo9ScQ1jCdz3OlziZJjz+aSDszwvTAEyXcREj5qz6+N+836UfSVLEoLiDa6GfuA8jzctDbg/ut+hs+gP8AXaiq3//ZOEJJTQQhAAAAAABVAAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAEwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAUwA2AAAAAQA4QklNBAYAAAAAAAcACAAAAAEBAP/hDa1odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTA0VDAzOjMzOjE4KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTA0VDAzOjMzOjE4KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0wNFQwMzozMzoxOCswMTowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMTZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMDZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkQwNkRGMUQ3RDgzNUVCMTFBMUU2OUFBMkQ0MTZEQzFBIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkQwNkRGMUQ3RDgzNUVCMTFBMUU2OUFBMkQ0MTZEQzFBIiBzdEV2dDp3aGVuPSIyMDIwLTEyLTA0VDAzOjMzOjE4KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RDE2REYxRDdEODM1RUIxMUExRTY5QUEyRDQxNkRDMUEiIHN0RXZ0OndoZW49IjIwMjAtMTItMDRUMDM6MzM6MTgrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+4ADkFkb2JlAGRAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQEBAQEBAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgB1QHCAwERAAIRAQMRAf/dAAQAOf/EAaIAAAAGAgMBAAAAAAAAAAAAAAcIBgUECQMKAgEACwEAAAYDAQEBAAAAAAAAAAAABgUEAwcCCAEJAAoLEAACAQMEAQMDAgMDAwIGCXUBAgMEEQUSBiEHEyIACDEUQTIjFQlRQhZhJDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKiRFRzRUY3R2MoVVZXGrLC0uLyZIN0k4Rlo7PD0+MpOGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJipSVlpeYmZqkpaanqKmqtLW2t7i5usTFxsfIycrU1dbX2Nna5OXm5+jp6vT19vf4+foRAAIBAwIE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"}},"time_used":106,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":67,"receive":39,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/27517.7361374dee2b52fd1f8e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.178Z","timestamp":1785124877178,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/27517.7361374dee2b52fd1f8e.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3cc6da-496\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 25 Jun 2026 06:12:42 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5a23fd03e014a777c85b170c347b0a3c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1174,"size_decoded":1238,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1174), with no line terminators","md5":"0db50e194dea28f8430d5f045aa5bec9","sha1":"fad46e87214254999bcbc7feac303252f511f6f7","sha256":"f60a0b3330cc7599cd9e24065061be14fc7860c07e44078e58082431645ada61","sha512":"94febefd36fb157774b943a3102bae29f6c2521bf6d47bc1f5d985308e6908abde3260e3ab3e5f12e2531cca908f670c44e2df3336e393f4acc4efc591d40b58","ssdeep":"","tlshash":"aa21df31c5a4003a9defa0218fa09b1d421cbca6ed82199cd2bc6b6550ce37732edd98","first_seen":"2026-06-27T04:33:20.000295Z","last_seen":"2026-07-27T06:14:34.047057Z","times_seen":147,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtU2hNWTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVNoTVk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LndyYXAtdlNiNkMwQmp7Ym90dG9tOjA7Y3Vyc29yOmRlZmF1bHQ7aW5zZXQtaW5saW5lLWVuZDowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OnZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXYtdmlzaWJpbGl0eSx2YXIoLS1vdmVybGF5LXNjcm9sbGJhci12aXNpYmlsaXR5LHZpc2libGUpKTt3aWR0aDo4cHg7d2lsbC1jaGFuZ2U6aGVpZ2h0fS53cmFwLS1ob3Jpem9udGFsLXZTYjZDMEJqe2hlaWdodDo4cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3RvcDphdXRvO3Zpc2liaWxpdHk6dmFyKC0tb3ZlcmxheS1zY3JvbGxiYXItaC12aXNpYmlsaXR5LHZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHksdmlzaWJsZSkpO3dpbGwtY2hhbmdlOndpZHRofS5iYXItdlNiNkMwQmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7d2lsbC1jaGFuZ2U6aGVpZ2h0LHRyYW5zZm9ybX0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci12U2I2QzBCantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVNoTVkpO2JvcmRlci1yYWRpdXM6MnB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO3dpZHRoOjRweH0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6NHB4O3dpZHRoOmNhbGMoMTAwJSAtIDRweCl9LmJhci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDphdXRvO3dpbGwtY2hhbmdlOndpZHRoLHRyYW5zZm9ybX0uc2Nyb2xsV3JhcC1GYU92VEQycnstLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lsbC1jaGFuZ2U6dmlzaWJpbGl0eX0uc2Nyb2xsV3JhcF92aXNpYmxlLUZhT3ZURDJyey0tb3ZlcmxheS1zY3JvbGxiYXItdmlzaWJpbGl0eTp2aXNpYmxlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.842Z","timestamp":1785124876842,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-273\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4c4861970f3bb0fce5e5e8813d865c55\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":627,"size_decoded":1034,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (627), with no line terminators","md5":"5d58fc11e377065e2e2ce19149de6728","sha1":"e2e8f933c9519c6e5964ccab1f629f4b6073cea9","sha256":"c4aac40ec27e2baca2016fee348eac9d6ef472c57c933542802b5232e6954733","sha512":"d2f9fd099b4743ed6080b2614bd2dbe5e97b62fa5a6437245aca2bc21efc494a0615b21fd83b0b977da80f532b7e87f34c29fbf4c9ccde299f75c9b0bf4cdf89","ssdeep":"","tlshash":"94f0a288a651f62b350f253e4b1ac1bc91a5a890e9402f7cb5bae2144ac8fc5a6f5428","first_seen":"2025-10-07T17:12:28.013112Z","last_seen":"2026-07-27T06:24:31.662926Z","times_seen":840,"resource_available":false,"data":"LndyYXBwZXItbXowODY2TTJ7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjM4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozOHB4fS53cmFwcGVyLW16MDg2Nk0yLmhvdmVyZWQtbXowODY2TTJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLW16MDg2Nk0yOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0ud3JhcHBlci1tejA4NjZNMjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i","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://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.190Z","timestamp":1785124875190,"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=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://berthenergy-inc.biz/\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 04:01:15 GMT\r\ndate: Mon, 27 Jul 2026 04:01:15 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":58085,"size_decoded":3037,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"52d638a6553570c3ad986bba186f87a3","sha1":"da89c64b60fbc4f0d5442625759a6773ea59eb33","sha256":"36d64bccd2b2274c66aeb6e420a20c306ee9d350b7c873899fb5e31de0416765","sha512":"43c270c640ddf25de6bd9e9a0154e8c8d37b4c3cc2ebb810f853870910e5aa199c504b38478d0595f5fbf81904a4067863f7c8c0fea612932a24f8fb36f195bf","ssdeep":"384:+eO2pXt2tv/qY49Ynx8bOjI8t7KvGqY49xn+vROFuGttcvoqY497nMZ6OiFLty5e:YbPUiCAgkgHL8OOVosL3JbcI/z","tlshash":"84431c910417244066432dd233de3e30ee0fa2607084c076abfd9bdbeedad6a62b535d","first_seen":"2025-09-17T00:16:45.671638Z","last_seen":"2026-07-27T05:54:14.123603Z","times_seen":22762,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdEU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdlU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RVNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3VrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd4VTZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxVzEwNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd0MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1VTZGLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdEU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdlU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RVNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3VrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd4VTZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxVzEwNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd0MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1VTZGLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdEU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdlU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RVNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3VrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd4VTZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxVzEwNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd0MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1VTZGLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdEU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdlU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RVNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3VrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd4VTZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxVzEwNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd0MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1VTZGLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdEU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW10WWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3FXdlU2RjE1TS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RVNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3VrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd4VTZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxVzEwNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdFlhR3MxMjZNaVpwQkEtVUZVSWNWWFNDRWt4MmNtcXZYbFdxV3RrNkYxNU0ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd0MDZGMTVNLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXRZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcVd1VTZGLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0ttdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3VtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN5bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTMm11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRWT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFVHbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNDbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTLW11dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNLbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN1bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTeW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUzJtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNy0wMzA4LCBVKzA1OTAtMDVGRiwgVSsyMDBDLTIwMTAsIFUrMjBBQSwgVSsyNUNDLCBVK0ZCMUQtRkI0RjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVk9tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRVR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTQ211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0dtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUy1tdXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTS211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTdW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU09tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3ltdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGhlYnJldyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMybXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDctMDMwOCwgVSswNTkwLTA1RkYsIFUrMjAwQy0yMDEwLCBVKzIwQUEsIFUrMjVDQywgVStGQjFELUZCNEY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFZPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVUdtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0NtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNHbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMtbXV3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0ttdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3VtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN5bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTMm11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRWT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFVHbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNDbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTLW11dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNLbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN1bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTeW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUzJtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNy0wMzA4LCBVKzA1OTAtMDVGRiwgVSsyMDBDLTIwMTAsIFUrMjBBQSwgVSsyNUNDLCBVK0ZCMUQtRkI0RjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVk9tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRVR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTQ211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0dtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUy1tdXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":159,"timings":{"blocked":-1,"dns":0,"connect":18,"send":0,"wait":104,"receive":0,"ssl":36},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/96587.97fdd65f2012106ff11e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.700Z","timestamp":1785124876700,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/96587.97fdd65f2012106ff11e.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-89c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3470c43ee54cea24565e3862d76230da\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2204,"size_decoded":1357,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2204), with no line terminators","md5":"f433859778b8873df447ea9031315a49","sha1":"df04d29a1667cf45c2a516da5d3bedce4fc9a55c","sha256":"0df353dbede0a246d8930b6d765ced13c2b7fa3f8ea2d8db833f33027feb0606","sha512":"ebca2adbb2080c216fa0da94a394221c5adc6469fce46f03094243ce23b3b6b93db20d13fb260b091f955307ba74cb49d451ae5705b0dd620fc7bd82be87b980","ssdeep":"","tlshash":"b5418b63a9f028a035ff95aeca15d2dc128859b7d64552dcb6307f35c6c27f881a1a0c","first_seen":"2026-07-16T13:40:49.747928Z","last_seen":"2026-07-27T06:14:34.210547Z","times_seen":113,"resource_available":false,"data":"LnNjcm9sbENvbnRhaW5lci16RzJDcURlMntoZWlnaHQ6MDtvdmVyZmxvdy15OnNjcm9sbH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUye3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZmxleC1nbzBaZU5RRntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87LS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZzp2YXIoLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyLWNvbnRlbnQtdmVydGljYWwtcGFkZGluZyw2cHgpO292ZXJmbG93OmhpZGRlbn0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGe2ZsZXg6bm9uZX0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGLC5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntwYWRkaW5nOjAgdmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy10b3A6dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy1ib3R0b206dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntmbGV4LWdyb3c6MTtmbGV4LXNocmluazoxO2hlaWdodDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6c2Nyb2xsfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ubWFpblNjcm9sbFdyYXBwZXItZ28wWmVOUUYubm9TY3JvbGwtZ28wWmVOUUZ7b3ZlcmZsb3cteTpoaWRkZW59Lm1haW4tZ28wWmVOUUZ7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uKX0ubWFpbkNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZzp2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZykgMH0="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52095.e6eb530a13b2febd2cd3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.712Z","timestamp":1785124876712,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52095.e6eb530a13b2febd2cd3.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-18c2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7e6541cccafb0762f56adcdfc81e4ad8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6338,"size_decoded":2044,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6338), with no line terminators","md5":"caf4bfb0a92f81c0fb9d32b268c23f3c","sha1":"9157a7392cd2a99623089b8a8b0c46066c18c88b","sha256":"3fac059dd2a8faed0d0e54c7f4f74b33d35ee9572c353c6fde78c6cd96f168a1","sha512":"d6b7104f441ac900f2633fda4217d59f42503ae78aed48880181f69174c8e2422ec2a64e191f78c7760476881aa76db8007e9f911ebe2ff98ccab39b640ff4ef","ssdeep":"192:lnsu2uCTwTyQnjnvOJOdr45YERrzxD0VOnPn3nTuouzTmTogen9gqpnq:BI","tlshash":"0fd1794cf146b43e265f353a4319d1eca218b4c2e9c21ff7b971d2244ae1bc2e5f991a","first_seen":"2026-07-23T14:00:31.721517Z","last_seen":"2026-07-27T06:14:34.250805Z","times_seen":153,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtemtrcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXpra3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9Lml0ZW0tdlRtOE8wTE17dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9Lml0ZW0tdlRtOE8wTE0uaW50ZXJhY3RpdmUtdlRtOE8wTE0uaG92ZXJlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNLmhvdmVyZWQtdlRtOE8wTE17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tdlRtOE8wTE0uZGlzYWJsZWQtdlRtOE8wTE17Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNX0uaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmRpc2FibGVkLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfX0uaXRlbS12VG04TzBMTS5hY3RpdmUtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTSAuc2hvcnRjdXQtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZSAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlciAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLXZUbThPMExNLm5vcm1hbC12VG04TzBMTXtoZWlnaHQ6MzJweH0uaXRlbS12VG04TzBMTS5iaWctdlRtOE8wTE17aGVpZ2h0OjY4cHh9Lmljb25DZWxsLXZUbThPMExNe21pbi13aWR0aDo2cHh9Lmljb24tdlRtOE8wTE17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweDt3aWR0aDoyOHB4fS5pY29uLXZUbThPMExNIHN2Z3toZWlnaHQ6MjhweDt3aWR0aDoyOHB4fS5jb250ZW50LXZUbThPMExNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjM2NXB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWwtdlRtOE8wTE17ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWlubGluZS1zdGFydDoycHg7dGV4dC1hbGlnbjpzdGFydH0udG9vbGJveC12VG04TzBMTXtmbGV4OjAgMSBhdXRvO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC5pdGVtLXZUbThPMExNOmhvdmVyIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjF9fS5hcnJvd0ljb24tdlRtOE8wTE17ZmxleDowIDEgYXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHh9LmFycm93SWNvbi12VG04TzBMTSBzdmd7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9LmFycm93SWNvbi12VG04TzBMTSBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LXZUbThPMExNe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0KSk7ZmxleDowIDEgYXV0bztmb250LXNpemU6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7cGFkZGluZy10b3A6MnB4fS5zdWJNZW51LXZUbThPMExNe2hlaWdodDowfS5pbnZpc2libGVIb3RrZXktdlRtOE8wTE17dmlzaWJpbGl0eTpoaWRkZW59Lml0ZW0tZDlqTE9MclJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZTo0MnB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1kOWpMT0xyUi5lbXB0eUljb25zLWQ5akxPTHJSe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tZDlqTE9MclIubG9hZGluZy1kOWpMT0xyUntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGVtLWQ5akxPTHJSLmRpc2FibGVkLWQ5akxPTHJSe2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjV9Lml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5kaXNhYmxlZC1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfS5pdGVtLWQ5akxPTHJSLmludGVyYWN0aXZlLWQ5akxPTHJSLmhvdmVyZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0uaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUi5ob3ZlcmVkLWQ5akxPTHJSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5pdGVtLWQ5akxPTHJSLm5vcm1hbC1kOWpMT0xyUnttaW4taGVpZ2h0OjQwcHh9Lml0ZW0tZDlqTE9MclIuYmlnLWQ5akxPTHJSe21pbi1oZWlnaHQ6NjhweH0uaWNvbi1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3dpZHRoOjI4cHh9Lmljb24tZDlqTE9MclIsLmxhYmVsLWQ5akxPTHJSe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX0ubGFiZWwtZDlqTE9MclJ7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4taW5saW5lLWVuZDo4cHg7bWF4LXdpZHRoOjEwMCU7d29yZC1icmVhazpicmVhay13b3JkfS50aXRsZS1kOWpMT0xyUntmb250LXdlaWdodDo3MDB9LnRpdGxlLWQ5akxPTHJSIC5pY29uLWQ5akxPTHJSOmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5uZXN0ZWQtZDlqTE9MclJ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bzt3aWR0aDoxOHB4fS5uZXN0ZWQtZDlqTE9MclI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LWQ5akxPTHJSe2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowfS5yZW1vdmUtZDlqTE9MclIsLnNob3J0Y3V0LWQ5akxPTHJSe21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnJlbW92ZS1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93421.95381f8e004d0d2fa8cf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.821Z","timestamp":1785124876821,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93421.95381f8e004d0d2fa8cf.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fa21dcf6b48a1435113d964ea0ad1e00\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":476,"size_decoded":971,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (476), with no line terminators","md5":"37bae040f1b0c84be3c545c1c2303cd1","sha1":"4d4cca3a184846ae3b3aa7cacecbc00873e0f411","sha256":"d021bcce768a1fe978903b5a9ff7b2120d90ea6df9ef981ace4d7edc9904ab6e","sha512":"a722c067825d0bfc7bb3e24a0bd456d26d0abff0921bee7e68e4a4a0e8a3d44340c2674fe3aa8a445ab5bc9d5de47a7c827600a20ca4edb6a83709dded14d6f7","ssdeep":"","tlshash":"06f0e99652ccbf337da011a7e2d2421b5388bc24fe2a658d9affd91a05d527050b9846","first_seen":"2026-07-17T14:15:58.317943Z","last_seen":"2026-07-27T06:14:34.273761Z","times_seen":84,"resource_available":false,"data":"LmNvbnRleHRBY3Rpb25zLXVCSmhqVVY4e2Rpc3BsYXk6ZmxleH0uaGlkZUlmTm9Ib3Zlci11QkpoalVWOHstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQtb3ItZm9jdXNlZDptaW4oMSx2YXIoLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlLDApKX1AbWVkaWEgbm90IChhbnktcG9pbnRlcjpjb2Fyc2Upey5oaWRlSWZOb0hvdmVyLXVCSmhqVVY4e29wYWNpdHk6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4ey0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGU6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42033.924dab781e4477f951bf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.880Z","timestamp":1785124876880,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42033.924dab781e4477f951bf.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-546\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5007c6ecddac8c9ddcf35b28172a9aa9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1350,"size_decoded":1336,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1350), with no line terminators","md5":"7c98cca7bd0ab83d00f5ad750cd683ff","sha1":"7a89c6639d621619d89ea005dbf2d00101a5da91","sha256":"4f175a5b3d47d9a959efb2afb182e6fdfe4188f1e5c50966f20d7a3c7f907de3","sha512":"c05bf66db7c0da939f8bdde39e4f9f9a3863dc04077d392f374562d984d5c23208f02a5141d9dd4b1b29dc9a4cbb3b12beeccb4507174a7ac4e5c8a215037f35","ssdeep":"","tlshash":"0621a268f28972ae9913e47f5b48a7ed1a55fc03d8025bd1f706912848ca7e711b1b8c","first_seen":"2026-06-30T21:57:43.291297Z","last_seen":"2026-07-27T06:24:31.65818Z","times_seen":173,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5pdGVtLVBCdHJ6WkNhe2FsbDp1bnNldDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtTFdkZCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7cGFkZGluZzowIDNweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9Lml0ZW0tUEJ0cnpaQ2E6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTowO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOmF1dG87b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MjhweDt6LWluZGV4Oi0xfS5pdGVtLVBCdHJ6WkNhOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1QQnRyelpDYTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifX0uaXRlbS1QQnRyelpDYS5hY2Nlc3NpYmxlLVBCdHJ6WkNhOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0ucm91bmQtUEJ0cnpaQ2F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV8xLUxXZGQpO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO2ZvbnQtc2l6ZToxMHB4O2hlaWdodDoyMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MjBweDstLXR2LWxlYWRpbmctZW1vamktc2l6ZToxMnB4fS5hY3RpdmUtUEJ0cnpaQ2F7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89044.122886591db3fa6fdc03.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.717Z","timestamp":1785124876717,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89044.122886591db3fa6fdc03.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-20da\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7a5a4cdf3dc68375c48da583cc464e26\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8410,"size_decoded":1653,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8410), with no line terminators","md5":"d899c42dfb29ba1d8f8fc0f1e2b5cc00","sha1":"6ce7cc3eb3c8a94d03f0c12ff43b89ab13091bed","sha256":"5a3314d5c89727aff3426af5332b4c993aa516924153a2e614a7c9f48388e29c","sha512":"30c065a6fb6b82f89ea006b3367e4933eab1a6dbc5d5e2718058a7b0687755d5138f9e34c64646365a7b5d7503ec191016cd0ca012194d8ddfe911ab16a5ba75","ssdeep":"192:WMfEuIn0/i43AoFOMfEuIn0/i43AoFUaaQloN:WMQnA3AMQnA3maaQloN","tlshash":"f502e79de75851768ada97ae337d966c43166543ff008aa97f31c00210c6ff2ed8ba0d","first_seen":"2026-07-22T16:00:00.399176Z","last_seen":"2026-07-27T06:24:31.709537Z","times_seen":56,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8xLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1fMi1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzMtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV80LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzYtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV83LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV84LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV85LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzEwLVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTEtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xNC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNi1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE3LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTgtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTktWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMjAtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjItWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIzLVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzI0LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjUtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yOC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8zMC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMxLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzItWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzMtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzQtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMzYtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzM3LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzM4LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMzktWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV80MC1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV80MS1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV80Mi1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV80My1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV80NC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzQ1LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fNDYtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fNDctWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzEtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8yLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fMy1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzQtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV81LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1fNi1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzctWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzgtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzktWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMTAtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8xMS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzEyLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzEzLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzE0LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzE1LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzE2LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMTctWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8xOC1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8xOS1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8yMC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzIxLVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8yMi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMjMtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMjQtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8yNS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzI2LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzI3LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzI4LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzI5LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzMwLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMzEtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8zMi1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8zMy1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8zNC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzM1LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zNi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzctWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMzgtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zOS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzQwLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzQxLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzQyLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzQzLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzQ0LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fNDUtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV80Ni1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV80Ny1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKX0ud3JhcC1ZWnc4UlhlaXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0udWlNYXJrZXItWVp3OFJYZWl7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLV8wLVhEdlIpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNXB4fS51aU1hcmtlci1ZWnc4UlhlaSBzdmd7aGVpZ2h0OjEzcHg7d2lkdGg6MTJweH0udWlNYXJrZXItWVp3OFJYZWkgc3ZnOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMy1YRHZSKX19LnVpTWFya2VyX19zbWFsbC1ZWnc4UlhlaXt3aWR0aDoxMnB4fS51aU1hcmtlcl9fc21hbGwtWVp3OFJYZWkgc3Zne2hlaWdodDoxMnB4fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMS1YRHZSKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNC1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzItWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zNS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuYmx1ZS1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzYtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5ncmVlbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzgtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmdyZWVuLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zOS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80MS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpe2NvbG9yOnZhcigtLV80Mi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fNDQtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ1LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucGluay1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDctWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzUtWER2Uil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81107.1bba59e2089e58347859.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.867Z","timestamp":1785124876867,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81107.1bba59e2089e58347859.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a168c40-1a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 27 May 2026 06:16:32 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/27/2026 10:28:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 86e1e69a87e0b4aa4b87eec25640c3d5\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":422,"size_decoded":1071,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (422), with no line terminators","md5":"bbedb6cfb6fdedcd16b81f2902fc0dd3","sha1":"a08e4fbb5cf25c5f36e5205c1daaef7e8932a13a","sha256":"a66450b6e17ba000dfee8e666e946eafb12a80bdece569b3d84ee53deeb26719","sha512":"ddd2ce1956348275866bef49d9e080afd694d048db9dee2058a369a7b03877c8fbbbcca91d67e5c712789bff19c9bae30838e8fe3b0cedf48ec09bf240623705","ssdeep":"","tlshash":"60e055a3f418822e3a12ad3b1390474fa069f8476803b658ea85b51800c36e328b1708","first_seen":"2026-05-29T10:56:22.456907Z","last_seen":"2026-07-27T06:24:31.733831Z","times_seen":267,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX0uZm9vdGVyLVlCSk16QV9se2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXZtY1YpO2JvcmRlci1yYWRpdXM6MCAwIDZweCA2cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87Zm9udC1zaXplOjEzcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDoxN3B4O21heC1oZWlnaHQ6NjVweDttaW4taGVpZ2h0OjQwcHg7cGFkZGluZzo5cHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcn0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.895Z","timestamp":1785124876895,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38086.990b013ae325a9b5099a.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6d8f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d26b4bde56ebc4561482068cf23d2cf0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28047,"size_decoded":11848,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-27T06:24:31.680432Z","times_seen":52,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szODA4Nl0sezI0NzE4OShlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLXdzTnlQOWUyIixzbWFsbDoic21hbGwtd3NOeVA5ZTIiLG5vcm1hbDoibm9ybWFsLXdzTnlQOWUyIixsYXJnZToibGFyZ2Utd3NOeVA5ZTIifX0sMzU0MzMxKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1UeTVPMVdKUSIsZGlyTWF0Y2hpbmc6ImRpck1hdGNoaW5nLVR5NU8xV0pRIn19LDYzNjk4NihlKXtlLmV4cG9ydHM9e2N1c3RvbUxpc3RJdGVtOiJjdXN0b21MaXN0SXRlbS05UTlGSHlybiIsY2xpY2thYmxlOiJjbGlja2FibGUtOVE5Rkh5cm4ifX0sMjEyNjcyKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1LVWl0c3RwSiIscHJpbWFyeVRpdGxlV3JhcHBlcjoicHJpbWFyeVRpdGxlV3JhcHBlci1LVWl0c3RwSiIsc2Vjb25kYXJ5VGl0bGVXcmFwcGVyOiJzZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEoiLHRpdGxlOiJ0aXRsZS1LVWl0c3RwSiIsY29udGVudDoiY29udGVudC1LVWl0c3RwSiIsbGVmdDoibGVmdC1LVWl0c3RwSiIsd2l0aExlZnRTbG90OiJ3aXRoTGVmdFNsb3QtS1VpdHN0cEoiLHNwYWNlOiJzcGFjZS1LVWl0c3RwSiIsaWNvbjoiaWNvbi1LVWl0c3RwSiJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNTk5OTcyKGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1LdHFhX1N6UCIsYWN0aXZlOiJhY3RpdmUtS3RxYV9TelAifX0sNTEyMTQ5KGUpe2UuZXhwb3J0cz17aGlkZGVuOiJoaWRkZW4tUjNXaUNPZG4ifX0sNDkxNDgoZSl7ZS5leHBvcnRzPXsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkiLGl0ZW06Iml0ZW0tSmtRWFVsdEEiLHdpdGhJY29uOiJ3aXRoSWNvbi1Ka1FYVWx0QSIsc2hvcnRjdXQ6InNob3J0Y3V0LUprUVhVbHRBIixsb2FkaW5nOiJsb2FkaW5nLUprUVhVbHRBIixpY29uOiJpY29uLUprUVhVbHRBIn19LDYxODY3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnVTZXBhcmF0b3I6KCk9Pmx9KTt2YXIgbyxpPW4oNzc5NDc0KSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oMjQ3MTg5KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3NpemU6dD0ibm9ybWFsIixjbGFzc05hbWU6bixhcmlhSGlkZGVuOm89ITF9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShzLnNlcGFyYXRvciwic21hbGwiPT09dCYmcy5zbWFsbCwibm9ybWFsIj09PXQmJnMubm9ybWFsLCJsYXJnZSI9PT10JiZzLmxhcmdlLG4pLHJvbGU6InNlcGFyYXRvciIsImFyaWEtaGlkZGVuIjpvfSl9IWZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSIsZS5Ob3JtYWw9Im5vcm1hbCJ9KG98fChvPXt9KSl9LDk3MTY1OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VJc01vdW50ZWQ6KCk9Pml9KTt2YXIgbz1uKDc3OTQ3NCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sNjM4ODcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N2Z0ljb25MaXN0SXRlbVBhcnQ6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDQ1MDgyKSxhPW4oMjE3Mjc0KTtmdW5jdGlvbiByKGUpe2NvbnN0e2ljb25Tdmc6dCxkaXJNYXRjaGluZzpufT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5XcmFwcGVyLHtkaXJNYXRjaGluZzpufSxvLmNyZWF0ZUVsZW1lbnQoYS5CbG9ja0ljb24se2ljb246dH0pKX19LDQ1MDgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1dyYXBwZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDM1NDMzMSkscz1uLm4ocik7ZnVuY3Rpb24gbChlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHMoKS53cmFwcGVyLGUuZGlyTWF0Y2hpbmcmJnMoKS5kaXJNYXRjaGluZyksaW5lcnQ6ZS5pbmVydD8idHJ1ZSI6dm9pZCAwfSxlLmNoaWxkcmVuKX19LDg5NjIzNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21MaXN0SXRlbTooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxhPW4ubihpKSxyPW4oMzQ1MTE2KSxzPW4oNjM2OTg2KSxsPW4ubihzKTtjb25zdCBjPSgwLG8uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7aWQ6bixjaGlsZHJlbjppLG9uQ2xpY2s6cyxkaXNhYmxlZDpjLGZvY3VzYWJsZTpkLHJvbGU6dSxhcmlhTGFiZWw6aCxhcmlhRXhwYW5kZWQ6cCxhcmlhQ29udHJvbHM6bSxhcmlhSGFzcG9wdXA6dyxhcmlhTGV2ZWw6ZyxkYXRhUWFJZDp2LC4uLmZ9PWUseT0oMCxyLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKGYpLGI9cz8iYnV0dG9uIjoiZGl2IixDPWR8fHMsRT1jP3ZvaWQgMDpzO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYix7aWQ6bixjbGFzc05hbWU6YSgpKGwoKS5jdXN0b21MaXN0SXRlbSxFJiZsKCkuY2xpY2thYmxlKSxvbkNsaWNrOkUsImFyaWEtZGlzYWJsZWQiOmMsImFyaWEtbGFiZWwiOmgsImFyaWEtZXhwYW5kZWQiOnAsImFyaWEtY29udHJvbHMiOm0sImFyaWEtaGFzcG9wdXAiOncsImFyaWEtbGV2ZWwiOmcscm9sZTp1LHRhYkluZGV4OkM/MDp2b2lkIDAscmVmOnQsLi4ueSwiZGF0YS1xYS1pZCI6dn0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpbmVydDpjPyJ0cnVlIjp2b2lkIDB9LGkpKX0pKX0sCjkzNTUzNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUaXRsZUxpc3RJdGVtOigpPT5nfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDkxNDQ4Nykscj1uLm4oYSkscz1uKDI3MzMxMCksbD1uKDg1OTA5MSksYz1uKDM0NTExNiksZD1uKDE5NDY0OCksdT1uLm4oZCksaD1uKDU0MzMzOSkscD1uLm4oaCksbT1uKDIxMjY3Miksdz1uLm4obSk7ZnVuY3Rpb24gZyhlKXtjb25zdHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOmEsb25DbGljazpkLGFyaWFMYWJlbDpoLHJpZ2h0U2xvdDptLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmcsbGlzdEl0ZW1CdXR0b25SZWY6dix2YXJpYW50OmY9InByaW1hcnkiLGFyaWFDb250cm9sczp5LGFyaWFMZXZlbDpiLHRpdGxlSWQ6Qyx3cmFwcGVkOkUsZGF0YVFhSWQ6eCxvbktleURvd246UyxuZXN0ZWRMaXN0c0FyaWFPd25zOkwsbmVzdGVkTGlzdEFyaWFIaWRkZW46XywuLi5rfT1lLFQ9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShrKSxJPXZvaWQgMCE9PUU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlRpdGxlU2VjdGlvbkxpc3RJdGVtLHtkYXRhUWFJZDp4LGlkOnQscm9sZTpuLG9uQ2xpY2s6ZCxvbktleURvd246UyxyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpnLGFyaWFMYWJlbDpoLGNsYXNzTmFtZTpyKCkodygpLndyYXBwZXIsbyYmdygpLndpdGhMZWZ0U2xvdCx3KClbYCR7Zn1UaXRsZVdyYXBwZXJgXSksbGlzdEl0ZW1CdXR0b25SZWY6dixmb2N1c2FibGU6SSxhcmlhRXhwYW5kZWQ6ST8hRTp2b2lkIDAsYXJpYUNvbnRyb2xzOnksYXJpYUxldmVsOmIsbmVzdGVkTGlzdHNBcmlhT3duczpMLG5lc3RlZExpc3RBcmlhSGlkZGVuOl8sLi4uVH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLmNvbnRlbnR9LG8mJmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncoKS5sZWZ0fSxvKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp3KCkudGl0bGUsaWQ6Q30sYSkpLEkmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLnNwYWNlfSksaS5jcmVhdGVFbGVtZW50KHMuSWNvbix7Y2xhc3NOYW1lOncoKS5pY29uLGljb246RT91KCk6cCgpfSkpKX0hZnVuY3Rpb24oZSl7ZS5QcmltYXJ5PSJwcmltYXJ5IixlLlNlY29uZGFyeT0ic2Vjb25kYXJ5In0ob3x8KG89e30pKX0sODU5MDkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1RpdGxlU2VjdGlvbkxpc3RJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big4OTYyMzcpLGE9bigxNDc5MDEpLHI9bigzNDUxMTYpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sb25DbGljazpzLHJpZ2h0U2xvdDpsLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZm9jdXNhYmxlOmQsYXJpYUV4cGFuZGVkOnUsYXJpYUNvbnRyb2xzOmgsYXJpYUhhc3BvcHVwOnAsYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsY2hpbGRyZW46ZyxjbGFzc05hbWU6dixsaXN0SXRlbUJ1dHRvblJlZjpmLGRhdGFRYUlkOnksb25LZXlEb3duOmIsbmVzdGVkTGlzdHNBcmlhT3duczpDLG5lc3RlZExpc3RBcmlhSGlkZGVuOkUsLi4ueH09ZSxTPSgwLHIuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoeCksTD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjp5LG9uS2V5RG93bjpifSxvLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b21MaXN0SXRlbSx7aWQ6dCxyb2xlOm4sb25DbGljazpzLGZvY3VzYWJsZTpkfHwhIWwscmVmOmYsYXJpYUV4cGFuZGVkOnU/PyghIWx8fHZvaWQgMCksYXJpYUNvbnRyb2xzOmg/PyhsP0w6dm9pZCAwKSxhcmlhSGFzcG9wdXA6cD8/KGw/Im1lbnUiOnZvaWQgMCksYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsZGF0YVFhSWQ6YCR7YS5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9dGl0bGUtbGlzdC1pdGVtYCwuLi5TfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2fSxnLGwpKSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOkwscm9sZToibWVudSIsImFyaWEtbGFiZWxsZWRieSI6YywiYXJpYS1vcmllbnRhdGlvbiI6Imhvcml6b250YWwiLCJhcmlhLW93bnMiOkMsImFyaWEtaGlkZGVuIjpFfSkpfX0sNjQ5MTY2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0xvYWRlcjooKT0+Y30pO3ZhciBvLGk9big3Nzk0NzQpLGE9big5MTQ0ODcpLHI9bi5uKGEpLHM9bigyNDQ1MjUpLGw9bi5uKHMpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc2l6ZTpuPSJtZWRpdW0iLHN0YXRpY1Bvc2l0aW9uOm8sY29sb3I6YT0iYmxhY2sifT1lLHM9cigpKGwoKS5pdGVtLGwoKVthXSxsKClbbl0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpKGwoKS5sb2FkZXIsbyYmbCgpLnN0YXRpYyx0KX0saS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnN9KSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6c30pLGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzfSkpfSFmdW5jdGlvbihlKXtlLk1lZGl1bT0ibWVkaXVtIixlLlNtYWxsPSJzbWFsbCJ9KG98fChvPXt9KSl9LDU4NTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcnRhbDooKT0+YyxQb3J0YWxDb250ZXh0OigpPT5kfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMjkzNjUpLGE9big4NTY3NzApLHI9big5MDM0Mikscz1uKDU3MDE5MyksbD1uKDYwNzgzMik7Y2xhc3MgYyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdXVpZD0oMCxhLm5hbm9pZCkoKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21hbmFnZXIoKS5yZW1vdmVXaW5kb3codGhpcy5fdXVpZCl9cmVuZGVyKCl7Y29uc3QgZT10aGlzLl9tYW5hZ2VyKCkuZW5zdXJlV2luZG93KHRoaXMuX3V1aWQsdGhpcy5wcm9wcy5sYXllck9wdGlvbnMpO2Uuc3R5bGUudG9wPXRoaXMucHJvcHMudG9wfHwiIiwKZS5zdHlsZS5ib3R0b209dGhpcy5wcm9wcy5ib3R0b218fCIiLGUuc3R5bGUubGVmdD10aGlzLnByb3BzLmxlZnR8fCIiLGUuc3R5bGUucmlnaHQ9dGhpcy5wcm9wcy5yaWdodHx8IiIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMucHJvcHMucG9pbnRlckV2ZW50c3x8IiI7Y29uc3QgdD10aGlzLnByb3BzLmNsYXNzTmFtZTtyZXR1cm4gdCYmKCJzdHJpbmciPT10eXBlb2YgdD9lLmNsYXNzTGlzdC5hZGQodCk6ZS5jbGFzc0xpc3QuYWRkKC4uLnQpKSx0aGlzLnByb3BzLnNob3VsZFRyYXBGb2N1cyYmIWUuaGFzQXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSwidHJ1ZSIpLHRoaXMucHJvcHNbImFyaWEtaGlkZGVuIl0mJmUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxpLmNyZWF0ZVBvcnRhbChvLmNyZWF0ZUVsZW1lbnQoZC5Qcm92aWRlcix7dmFsdWU6dGhpc30sdGhpcy5wcm9wcy5jaGlsZHJlbiksZSl9bW92ZVRvVG9wKCl7dGhpcy5fbWFuYWdlcigpLm1vdmVUb1RvcCh0aGlzLl91dWlkKX1fbWFuYWdlcigpe3JldHVybiBudWxsPT09dGhpcy5jb250ZXh0PygwLHIuZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyKSgpOnRoaXMuY29udGV4dH19Yy5jb250ZXh0VHlwZT1sLlNsb3RDb250ZXh0O2NvbnN0IGQ9by5jcmVhdGVDb250ZXh0KG51bGwpfSw2MDc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2xvdDooKT0+aSxTbG90Q29udGV4dDooKT0+YX0pO3ZhciBvPW4oNzc5NDc0KTtjbGFzcyBpIGV4dGVuZHMgby5Db21wb25lbnR7c2hvdWxkQ29tcG9uZW50VXBkYXRlKCl7cmV0dXJuITF9cmVuZGVyKCl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsekluZGV4OjE1MCxsZWZ0OjAsdG9wOjB9LHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZX0pfX1jb25zdCBhPW8uY3JlYXRlQ29udGV4dChudWxsKX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PnIsZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIG89bigxMzg2MzgpLGk9big1NzAxOTMpO2NsYXNzIGF7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIHJ7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgYSx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCBvPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG8uc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixvLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLG8uZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKG8pO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChvKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxvKSwrK3RoaXMuX2luZGV4LG99dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7CnRoaXMudW5yZWdpc3RlcldpbmRvdyhlKX19Y29uc3Qgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGU9ZG9jdW1lbnQpe2NvbnN0IHQ9ZS5nZXRFbGVtZW50QnlJZCgib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiKTtpZihudWxsIT09dClyZXR1cm4oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KHQpKTt7Y29uc3QgdD1uZXcgcihlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIHMuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw4NTAxMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWNjZXNzaWJsZU1lbnVJdGVtOigpPT5ofSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9bigyMzU3MjQpLHM9bigxODIzMDgpLGw9bigzODY5MzEpLGM9bigxNTM3MzQpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7dHJhY2tFdmVudE9iamVjdDp0LHRyYWNrUmlnaHRDbGljazpuLHRyYWNrTW91c2VXaGVlbENsaWNrOmksb25DbGljazphLG9uQ29udGV4dE1lbnU6cixvbk1vdXNlVXA6cyxsaW5rOmQsLi4udX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGMuUG9wdXBNZW51SXRlbSx7Li4udSxsaW5rOmQsb25DbGljazpmdW5jdGlvbihlLG4pe3QmJigwLGwudHJhY2tFdmVudCkodC5jYXRlZ29yeSx0LmV2ZW50LHQubGFiZWwpLGEmJmEoZSxuKX0sb25Db250ZXh0TWVudTpmdW5jdGlvbihlKXt0JiZuJiYoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxgJHt0LmxhYmVsfV9yaWdodENsaWNrYCksciYmcihlKX0sb25Nb3VzZVVwOmZ1bmN0aW9uKGUpe2lmKDE9PT1lLmJ1dHRvbiYmZCYmdCl7bGV0IGU9dC5sYWJlbDtpJiYoZSs9Il9tb3VzZVdoZWVsQ2xpY2siKSwoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxlKX1zJiZzKGUpfX0pfXZhciB1PW4oNTk5OTcyKTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHJlZmVyZW5jZTpuLC4uLml9PWUsW2wsY109KDAscy51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG4/P251bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoZCx7Li4uaSxjbGFzc05hbWU6YSgpKHUuYWNjZXNzaWJsZSxlLmlzQWN0aXZlJiZ1LmFjdGl2ZSx0KSxyZWZlcmVuY2U6bCx0YWJJbmRleDpjLG9uS2V5RG93bjpmdW5jdGlvbihlKXtpZihlLnRhcmdldCE9PWUuY3VycmVudFRhcmdldClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpOzEzIT09dCYmMzIhPT10fHwoZS5wcmV2ZW50RGVmYXVsdCgpLGwuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZsLmN1cnJlbnQuY2xpY2soKSl9LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOmUuaXNEaXNhYmxlZHx8ZVsiYXJpYS1kaXNhYmxlZCJdLHRvb2xib3hSb2xlOiJ0b29sYmFyIn0pfX0sMzI1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xpZW50U25hcHNob3Q6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDU1NzA2NSksYT1uKDE1MDY2NSkscj1uKDIwNzk3KSxzPW4oMTc5NzcxKTtmdW5jdGlvbiBsKGUpe2NvbnN0W3Qsbl09KDAsby51c2VTdGF0ZSkoITEpO2xldCBsPW51bGw7Y29uc3QgYz0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2NvbnN0IHQ9ZSgpLG49dC50aGVuKChlPT5uZXcgUHJvbWlzZSgodD0+ZS5jYW52YXMudG9CbG9iKChlPT57bnVsbCE9PWUmJnQoZSl9KSkpKSkpO3RyeXthd2FpdCgwLGkud3JpdGVQcm9taXNlVXNpbmdBcGkpKG4sImltYWdlL3BuZyIpLHMuZW1pdCgib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXtjb25zdHtjYW52YXM6bn09YXdhaXQgdDt3aW5kb3cub3BlbigpPy5kb2N1bWVudC53cml0ZShgPGltZyB3aWR0aD0iMTAwJSIgc3JjPSIke24udG9EYXRhVVJMKCl9Ii8+YCl9fSksW2VdKSxkPSgwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57Y29uc3QgdD1hd2FpdCBlKCksbj1hd2FpdCBmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pnt0cnl7ZS5jYW52YXMudG9CbG9iKChlPT57aWYobnVsbD09PWUpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2VuZXJhdGUgYmxvYiIpO3QoVVJMLmNyZWF0ZU9iamVjdFVSTChlKSl9KSl9Y2F0Y2h7dChlLmNhbnZhcy50b0RhdGFVUkwoKSl9fSkpfSh0KTtuJiYoMCxhLmRvd25sb2FkRmlsZSkoYCR7dC5uYW1lfS5wbmdgLG4pfSksW2VdKTtyZXR1cm4gbD0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e24oITApO2NvbnN0IHQ9YXdhaXQgZSgpLG89YXdhaXQoMCxyLmxvYWRTeW1waG9ueUNvbW11bmljYXRpb25DaGFubmVsKSgpO28mJmF3YWl0IG8uc2hhcmVTY3JlZW5zaG90KHQpLG4oITEpfSksW2VdKSx7Y29weVNuYXBzaG90VG9DbGlwYm9hcmQ6Yyxkb3dubG9hZFNuYXBzaG90OmQsc2hhcmVTeW1waG9ueTpsLHN5bXBob255TG9hZGluZzp0fX19LDMyNzQ0MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTZXJ2ZXJTbmFwc2hvdDooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNTU3MDY1KSxhPW4oOTcxNjU5KSxyPW4oMjc2MDE5KSxzPW4oOTU1MzUzKSxsPW4oNzg3NDIpLGM9bigzMjA1NSksZD1uKDk4Nzc5OCksdT1uKDkxMTMyNyksaD1uKDE3OTc3MSkscD1uKDE2ODQ3MSk7ZnVuY3Rpb24gbShlKXtjb25zdFt0LG5dPSgwLG8udXNlU3RhdGUpKCExKSxbcCxtXT0oMCxvLnVzZVN0YXRlKSghMSksW2csdl09KDAsCm8udXNlU3RhdGUpKCExKSxbZix5XT0oMCxvLnVzZVN0YXRlKSghMSksYj0oMCxhLnVzZUlzTW91bnRlZCkoKTtyZXR1cm57dGFrZVNuYXBzaG90OigwLG8udXNlQ2FsbGJhY2spKChhc3luYyh0PSExKT0+e2NvbnN0IG89ZSgpO3RyeXtpZih0KW0oITApLGF3YWl0IHcobyk7ZWxzZXtuKCEwKTtjb25zdCBlPW8udGhlbigoZT0+bmV3IEJsb2IoW2UuaW1hZ2VVcmxdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pKSk7YXdhaXQoMCxpLndyaXRlUHJvbWlzZVVzaW5nQXBpKShlLCJ0ZXh0L3BsYWluIiksaC5lbWl0KCJvblNlcnZlclNjcmVlbnNob3RDb3BpZWRUb0NsaXBib2FyZCIpfX1jYXRjaChlKXthd2FpdCB3KG8pfWZpbmFsbHl7Yi5jdXJyZW50JiYobSghMSksbighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksdGFrZVNuYXBzaG90RW1iZWRDb2RlOigwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57dighMCk7Y29uc3QgdD1lKCk7dHJ5e2NvbnN0IGU9NzIwLG49dC50aGVuKChhc3luYyB0PT57aWYoIXQuc3ltYm9sKXRocm93IG5ldyBFcnJvcigiU3ltYm9sIG5vdCBmb3VuZCBpbiBTZXJ2ZXJTbmFwc2hvdFJlc3VsdCIpO2NvbnN0IG49YXdhaXQoMCxjLnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QodC5zeW1ib2wsbmV3IFNldChbImRlc2NyaXB0aW9uIl0pKSxvPSJlcnJvciIhPT1uLnN0YXR1cz9uLnZhbHVlcy5kZXNjcmlwdGlvbjp0LnN5bWJvbCxpPXQuaW1hZ2VVcmwubWF0Y2goL1wveFwvKFswLTlhLXpBLVpdezh9KS8pPy5bMV0/PyIiLGE9KDAsZC5jcmVhdGVTbmFwc2hvdEltYWdlVXJscykoaSk/LnVybDtyZXR1cm4gbmV3IEJsb2IoW2A8aW1nIHdpZHRoPSIke2V9IiBsb2FkaW5nPSJsYXp5IiBzcmM9IiR7YX0iLz48cD48YSBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20keygwLHUuZ2V0U3ltYm9sUGFnZVBhdGgpKHtzaG9ydE5hbWU6dC5zeW1ib2x9KX0iPiR7b30gY2hhcnQ8L2E+IGJ5IFRyYWRpbmdWaWV3PC9wPmBdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pfSkpO2F3YWl0KDAsaS53cml0ZVByb21pc2VVc2luZ0FwaSkobiwidGV4dC9wbGFpbiIpLGguZW1pdCgib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXthd2FpdCB3KHQpfWZpbmFsbHl7Yi5jdXJyZW50JiYodighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksc2hhcmVTbmFwc2hvdDooMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMgdD0+e3koITApO2NvbnN0IG49KDAsbC5jcmVhdGVTaGFyZVdpbmRvdykoKSxvPWF3YWl0IGUoKTtpZih0KW4ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dCh0LG8uaW1hZ2VVcmwpO2Vsc2V7aWYoIW8uc3ltYm9sKXJldHVybiB2b2lkIHkoITEpO3tjb25zdCBlPSJjbWUiPT09d2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyO24ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZCeVN5bWJvbChvLnN5bWJvbCxvLmltYWdlVXJsLGUpfX1iLmN1cnJlbnQmJih5KCExKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9KSxbZV0pLGNvcHlMaW5rTG9hZGluZzp0LG5ld1RhYkxvYWRpbmc6cCxlbWJlZENvZGVMb2FkaW5nOmcsdHdlZXRMb2FkaW5nOmZ9fWFzeW5jIGZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAscC5hc3luY1dpbmRvd09wZW4pKGUudGhlbigoZT0+ZS5pbWFnZVVybCkpKX19LDc1NDE4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMYWJlbFdpdGhMb2FkZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDY0OTE2Nikscz1uKDUxMjE0OSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWEoKShlLmlzTG9hZGluZyYmcy5oaWRkZW4pLG49YSgpKCFlLmlzTG9hZGluZyYmcy5oaWRkZW4pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6dH0sZS5jaGlsZHJlbiksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm59LG8uY3JlYXRlRWxlbWVudChyLkxvYWRlcixudWxsKSkpfX0sMzMyMzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudDooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oNjM4ODcyKSxsPW4oNjQ5MTY2KSxjPW4oMjM1NzI0KSxkPW4oMzE4OTc0KSx1PW4oOTMwMjMxKSxoPW4oMTUzNzM0KSxwPW4oMzg3MjMxKSxtPW4oODAwOTE0KSx3PW4oMzEzMTEwKSxnPW4oODUwMTA4KSx2PW4oMTk5MTcyKSxmPW4oMzI1MDApLHk9bigzMjc0NDApLGI9big3NTQxODApLEM9big1NjkzOTgpLEU9big0Nzc3MDApLHg9big3MTkxMyksUz1uKDYyODQyOCksTD1uKDkzNzIxKSxfPW4oNTY5MTI1KSxrPW4oOTY1ODcpLFQ9bigxNDcyMjEpLEk9big0OTE0OCk7Y29uc3QgQT0oMCxwLm1lcmdlVGhlbWVzKShoLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLEkpO2Z1bmN0aW9uIE0oZSl7Y29uc3R7c2VydmVyU25hcHNob3Q6dCxjbGllbnRTbmFwc2hvdDphLGhpZGVTaG9ydGN1dHM6cixzZW5kRXZlbnQ6c309ZSx7ZG93bmxvYWRTbmFwc2hvdDpsLGNvcHlTbmFwc2hvdFRvQ2xpcGJvYXJkOmgsc2hhcmVTeW1waG9ueTpwLHN5bXBob255TG9hZGluZzp3fT0oMCxmLnVzZUNsaWVudFNuYXBzaG90KShhKSx7dGFrZVNuYXBzaG90OmcsdGFrZVNuYXBzaG90RW1iZWRDb2RlOmIsc2hhcmVTbmFwc2hvdDpJLG5ld1RhYkxvYWRpbmc6QSxjb3B5TGlua0xvYWRpbmc6TSxlbWJlZENvZGVMb2FkaW5nOlUsdHdlZXRMb2FkaW5nOlJ9PSgwLHkudXNlU2VydmVyU25hcHNob3QpKHQpLFc9aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNjY3OTgxKSksJD1be2lkOiJzYXZlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigzMzY5OTMpKSxpY29uOl8sCmhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuTW9kK2MuTW9kaWZpZXJzLkFsdCs4MyxzaG93OiEwLG9uQ2xpY2s6ZnVuY3Rpb24oKXtsKCkscz8uKCJkb3dubG9hZCIpfX0se2lkOiJjb3B5LWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigxMjQ3NjYpKSxpY29uOkwsaG90a2V5SGFzaDpyP3ZvaWQgMDpjLk1vZGlmaWVycy5Nb2QrYy5Nb2RpZmllcnMuU2hpZnQrODMsc2hvdzohMCxvbkNsaWNrOmZ1bmN0aW9uKCl7aCgpLHM/LigiY29weUltZyIpfX0se2lkOiJjb3B5LWxpbmstdG8tdGhlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbig0MjI4NzApKSxpY29uOmssbG9hZGluZzpNLGRvbnRDbG9zZVBvcHVwOiEwLGhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuQWx0KzgzLHNob3c6Qm9vbGVhbighKDAsZC5vbldpZGdldCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2coITEpLHM/LigiY29weUxpbmsiKX0pLHtzb3VyY2U6IkNvcHkgbGluayB0byB0aGUgY2hhcnQgaW1hZ2UifSl9LHtpZDoiY29weS1zbmFwc2hvdF9lbWJlZF9jb2RlIix0aXRsZTppLnQobnVsbCx2b2lkIDAsbigxODYxMjUpKSxpY29uOkUsbG9hZGluZzpVLGRvbnRDbG9zZVBvcHVwOiEwLHNob3c6KDAsQy5pc0ZlYXR1cmVFbmFibGVkKSgiY29weV9zbmFwc2hvdF9lbWJlZF9jb2RlIikmJiEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2IoKX0pLHtzb3VyY2U6IkNvcHkgc25hcHNob3QgZW1iZWQgY29kZSJ9KX0se2lkOiJvcGVuLWltYWdlLWluLW5ldy10YWIiLHRpdGxlOmkudChudWxsLHZvaWQgMCxuKDE0ODg4OSkpLGljb246VCxsb2FkaW5nOkEsZG9udENsb3NlUG9wdXA6ITAsc2hvdzpCb29sZWFuKCEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCkpLG9uQ2xpY2s6KCk9PndpbmRvdy5ydW5PclNpZ25JbigoKCk9PntnKCEwKSxzPy4oIm9wZW5OZXdUYWIiKX0pLHtzb3VyY2U6Ik9wZW4gaW1hZ2UgaW4gbmV3IHRhYiJ9KX0se2lkOiJ0d2VldC1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTgxODUzKSksaWNvbjpTLGxvYWRpbmc6Uixkb250Q2xvc2VQb3B1cDohMCxzaG93OkJvb2xlYW4oISgwLGQub25XaWRnZXQpKCkmJiEoMCxkLmlzU3ltcGhvbnlFbWJlZCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e0koKSxzPy4oInR3ZWV0SW1nIil9KSx7c291cmNlOiJUd2VldCBjaGFydCBpbWFnZSJ9KX0se2lkOiJzaGFyZS1zeW1waG9ueS1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTg1MTI4KSksaWNvbjp4LGxvYWRpbmc6dyxkb250Q2xvc2VQb3B1cDohMCxzaG93OigwLGQuaXNTeW1waG9ueUVtYmVkKSgpLG9uQ2xpY2s6KCk9PnA/LigpfV0uZmlsdGVyKChlPT5lLnNob3cpKS5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChQLHtrZXk6ZS5pZCxpdGVtOmV9KSkpO3JldHVybigwLHUuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9vLmNyZWF0ZUVsZW1lbnQobS5TZWN0aW9uTGlzdEl0ZW0se3RpdGxlOlcsYXJpYUxhYmVsOld9LCQpOm8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KHYuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LG51bGwsVyksJCl9ZnVuY3Rpb24gUCh7aXRlbTplfSl7Y29uc3R7bG9hZGluZzp0LGlkOm4sdGl0bGU6aSxkb250Q2xvc2VQb3B1cDphLGhvdGtleUhhc2g6ZCxvbkNsaWNrOmgsaWNvbjpwfT1lLG09dm9pZCAwIT09ZDtyZXR1cm4oMCx1LmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/by5jcmVhdGVFbGVtZW50KHcuTWVudUl0ZW0se3JvbGU6InJvdyIsYXJpYUxldmVsOjIsbGVmdFNsb3Q6dD92b2lkIDA6by5jcmVhdGVFbGVtZW50KHMuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpwfSksb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGlzYWJsZWQ6dCx0aXRsZTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dD8zOm0/MToyfSx0P28uY3JlYXRlRWxlbWVudChsLkxvYWRlcixudWxsKTppKSxob3RrZXk6dD92b2lkIDA6ZCxhcmlhTGFiZWw6aSxkYXRhUWFJZDpuLCJkYXRhLXJvbGUiOiJtZW51aXRlbSJ9KTpvLmNyZWF0ZUVsZW1lbnQoZy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsY2xhc3NOYW1lOnIoKSh0JiZJLmxvYWRpbmcpLHNob3J0Y3V0Om0/KDAsYy5odW1hblJlYWRhYmxlSGFzaCkoZCk6dm9pZCAwLGljb246cCxpc0Rpc2FibGVkOnQsb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGF0YVFhSWQ6bixsYWJlbDp2b2lkIDAhPT10P28uY3JlYXRlRWxlbWVudChiLkxhYmVsV2l0aExvYWRlcix7aXNMb2FkaW5nOnR9LGkpOmksdGhlbWU6QX0pfX0sMzEzMTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big2Mjg4MjUpLGE9bigxODIzMDgpLHI9bigyNzYwMTkpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7bGlzdEl0ZW1CdXR0b25SZWY6dCxyb2xlOm49Im1lbnVpdGVtIixvbkNsaWNrOnMsZG9udENsb3NlUG9wdXA6bCwuLi5jfT1lLFtkLHVdPSgwLGEudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KSh0Pz9udWxsKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuTGlzdEl0ZW0sey4uLmMscm9sZTpuLGxpc3RJdGVtQnV0dG9uUmVmOmQsdGFiSW5kZXg6dSxvbkNsaWNrOmZ1bmN0aW9uKGUpe3M/LihlKSxsfHwoZS5jdXJyZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix7YnViYmxlczohMCwKZGV0YWlsOntjbGlja1R5cGU6ZS5uYXRpdmVFdmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQ/ImtleWJvYXJkIjoibW91c2UifX0pKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9fSl9fSw1Njk2NTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT5kLHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDIyMTg5NiksYT1uLm4oaSk7Y29uc3Qgcj1vLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIHMoZSx0KXthKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6bn09ZTtyZXR1cm4gcyhuLHQpLG8uY3JlYXRlRWxlbWVudChyLlByb3ZpZGVyLHt2YWx1ZTpufSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShyKTtyZXR1cm4gcyh0LGUpLHR9ZnVuY3Rpb24gZCgpe3JldHVybiByfX0sODAwOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25MaXN0SXRlbTooKT0+cn0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTM1NTM1KSxhPW4oMzQ1MTE2KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOnMsYXJpYUxhYmVsOmwscmlnaHRTbG90OmMscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6ZCxvbkNsaWNrOnUsb25LZXlEb3duOmgsaXNXcmFwcGVkOnAsZ3JvdXBSb2xlOm0sYXJpYUxldmVsOncsLi4uZ309ZSx2PSgwLGEuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZyksZj0oMCxvLnVzZUlkKSgpLHk9KDAsby51c2VJZCkoKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoaS5UaXRsZUxpc3RJdGVtLHtpZDp0LHRpdGxlOm4scm9sZTpzLHJpZ2h0U2xvdDpjLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmQsYXJpYUxhYmVsOmwsdmFyaWFudDoic2Vjb25kYXJ5IixhcmlhQ29udHJvbHM6dm9pZCAwIT09cD95OnZvaWQgMCxhcmlhTGV2ZWw6dyx0aXRsZUlkOmYsd3JhcHBlZDpwLG9uQ2xpY2s6dSxvbktleURvd246aCwuLi52fSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsiYXJpYS1sYWJlbGxlZGJ5IjpmLGlkOnksImFyaWEtaGlkZGVuIjp2b2lkIDAhPT1wP3A6dm9pZCAwLHJvbGU6bX0sIXAmJnIpKX19LDQ5MjY3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoL1wrL2csIiAiKSkucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIil9ZnVuY3Rpb24gaShlKXtjb25zdCB0PS8oW14mPV0rKT0/KFteJl0qKS9nLG49e307aWYoIWUpcmV0dXJuIG47bGV0IGk9dC5leGVjKGUpO2Zvcig7aTspbltvKGlbMV0pXT1vKGlbMl0pLGk9dC5leGVjKGUpO3JldHVybiBufWZ1bmN0aW9uIGEoKXtyZXR1cm4gaSh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSl9ZnVuY3Rpb24gcigpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoIiMiKVswXTt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoIiIsZG9jdW1lbnQudGl0bGUsZSl9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmbnVsbCE9ZVtuXSl7Y29uc3Qgbz1lW25dLGk9Im9iamVjdCI9PXR5cGVvZiBvP0pTT04uc3RyaW5naWZ5KG8pOlN0cmluZyhvKTt0LnB1c2goe2tleTpuLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KG4pKyI9IitlbmNvZGVVUklDb21wb25lbnQoaSl9KX1yZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9bi5kKHQse2NyZWF0ZVVybFBhcmFtczooKT0+cyxnZXRVcmxQYXJhbXM6KCk9PmEscmVtb3ZlSGFzaEZyb21Vcmw6KCk9PnJ9KX0sNzg3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGU9ImFib3V0OmJsYW5rIix0PSJzbmFwc2hvdF90d2VldCIpe2NvbnN0IG49TWF0aC5yb3VuZChzY3JlZW4ud2lkdGgvMi0yNzUpLG89TWF0aC5yb3VuZChzY3JlZW4uaGVpZ2h0LzItMjEwKTtyZXR1cm4gd2luZG93Lm9wZW4oZSx0LGBzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzLHRvb2xiYXI9bm8sbG9jYXRpb249eWVzLFxuXHRcdFx0d2lkdGg9NTUwLGhlaWdodD00MjAsXG5cdFx0XHRsZWZ0PSR7bn0sdG9wPSR7b31gKX1uLmQodCx7Y3JlYXRlU2hhcmVXaW5kb3c6KCk9Pm99KX0sOTU1MzUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1R3aXR0ZXI6KCk9Pm99KTt2YXIgbyxpPW4oNzg3NDIpOyFmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCxuKXtyZXR1cm4gbj90KyIgZnJvbSBjbWVncm91cC5jb20gdmlhIEB0cmFkaW5ndmlldyAkIitlOmBDaGVjayBvdXQgbXkgIyR7ZX0gYW5hbHlzaXMgb24gQFRyYWRpbmdWaWV3OiAke3R9YH1mdW5jdGlvbiBuKGUsbixvKXtyZXR1cm4iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/JnRleHQ9IitlbmNvZGVVUklDb21wb25lbnQodChlLG4sbykpfWUuZ2V0U3RhdHVzPXQsZS5zaGFyZVNuYXBzaG90SW5zdGFudGx5PWZ1bmN0aW9uKGUsdCxvKXsoMCxpLmNyZWF0ZVNoYXJlV2luZG93KShuKGUsdCxvKSl9LGUuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dD1mdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5yZXBsYWNlKCJ7dXJsfSIsdCk7cmV0dXJuYGh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3RleHQ9JHtlbmNvZGVVUklDb21wb25lbnQobil9YH0sZS5jcmVhdGVUd2l0dGVySHJlZkJ5U3ltYm9sPW59KG98fChvPXt9KSl9LDE2ODQ3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthc3luY1dpbmRvd09wZW46KCk9PnN9KTt2YXIgbz1uKDExNzMxMyksaT1uKDMxODk3NCksYT1uKDE4NTI3MSkscj1uKDczODQ1OCk7ZnVuY3Rpb24gcyhlLHQscyl7cmV0dXJuIHdpbmRvdy5UVkR8fCgwLApvLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCJfc2VsZiI9PT10fHwoMCxpLmlzU3ltcGhvbnlFbWJlZCkoKT9mdW5jdGlvbihlLHQsbil7cmV0dXJuIGUudGhlbigoZT0+e3ZvaWQgMCE9PWUmJm9wZW4oZSx0LG4pfSksKCgpPT57fSkpfShlLHQscyk6YXN5bmMgZnVuY3Rpb24oZSx0LG8pe2NvbnN0IGk9VVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbYDwhZG9jdHlwZSBodG1sPjxodG1sIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiR7Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmJhY2tncm91bmRDb2xvcn0iPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij48dGl0bGU+JHthLnQobnVsbCx2b2lkIDAsbig0MzY1MDQpKX08L3RpdGxlPjwvaGVhZD48Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoke2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuYmFja2dyb3VuZENvbG9yfSI+PC9ib2R5PjwvaHRtbD5gXSx7dHlwZToidGV4dC9odG1sIn0pKTt0cnl7ci5pc0lPUyYmYXdhaXQgbmV3IFByb21pc2UoKGU9PnNldFRpbWVvdXQoZSkpKTtjb25zdCBuPW9wZW4oaSx0LG8pO2lmKCFuKXRocm93IG5ldyBFcnJvcigiY291bmQgbm90IG9wZW4gYSBuZXcgdGFiIik7Y29uc3QgYT1hd2FpdCBlLmNhdGNoKCgoKT0+e30pKTt2b2lkIDAhPT1hP24ubG9jYXRpb24ucmVwbGFjZShhKTpuLmNsb3NlKCl9ZmluYWxseXtVUkwucmV2b2tlT2JqZWN0VVJMKGkpfX0oZSx0LHMpfX0sOTg3Nzk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtjcmVhdGVQdWJsaXNoZWRDaGFydEltYWdlVXJsOigpPT51LGNyZWF0ZVB1Ymxpc2hlZENoYXJ0VXJsOigpPT5jLGNyZWF0ZVNuYXBzaG90SW1hZ2VVcmxzOigpPT5oLGlzU25hcHNob3RVcmw6KCk9PnAscGFyc2VQdWJsaXNoZWRDaGFydFVybDooKT0+ZH0pO3ZhciBvPW4oNDkyMTg2KSxpPW4oMTYwMjk2KTtjb25zdCBhPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0T2xkKSxyPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0KSxzPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZFNjcmlwdCksbD1uZXcgUmVnRXhwKG8udXJsc1JlZ0V4cC5pbWFnZVVybCk7ZnVuY3Rpb24gYyhlLHQsbil7aWYoIWV8fCEvWzAtOWEtekEtWl17OH0vLnRlc3QoZSkpcmV0dXJuIiI7aWYoZSYmdCl7cmV0dXJuYC9jaGFydC8ke3R9LyR7ZX0ke24/YC0ke259YDoiIn0vYH1yZXR1cm5gL3YvJHtlfS9gfWZ1bmN0aW9uIGQoZSl7aWYoYS50ZXN0KGUpKXtyZXR1cm57aW1hZ2VfdXJsOihlLm1hdGNoKGEpfHxbXSlbMV19fWlmKHIudGVzdChlKSl7Y29uc3QgdD1lLm1hdGNoKHIpfHxbXTtyZXR1cm57aW1hZ2VfdXJsOnRbMl0sc3ltYm9sOnRbMV0sdGl0bGU6dFszXX19aWYocy50ZXN0KGUpKXtjb25zdCB0PWUubWF0Y2gocyl8fFtdO3JldHVybntpbWFnZV91cmw6dFsxXSx0aXRsZTp0WzJdfX1yZXR1cm4gbC50ZXN0KGUpP3tpbWFnZV91cmw6ZX06e319ZnVuY3Rpb24gdShlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4iIjtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCk7cmV0dXJuYCR7d2luZG93LkFXU19TM19DRE59LyR7dH0vJHtlfS5wbmdgfXJldHVybmAvaS8ke2V9L2B9ZnVuY3Rpb24gaChlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4gbnVsbDtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCksbj1gJHt3aW5kb3cuQVdTX1MzX0NETn0vc25hcHNob3RzLyR7dH1gO3JldHVybntwcmV2aWV3OmAke259LyR7ZX1fdGh1bWIucG5nYCx1cmw6YCR7bn0vJHtlfS5wbmdgfX17Y29uc3QgdD1gJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fWA7cmV0dXJue3ByZXZpZXc6YCR7dH0veC8ke2V9L3MvYCx1cmw6YCR7dH0veC8ke2V9L2B9fX1mdW5jdGlvbiBwKGUpe3RyeXtjb25zdCB0PW5ldyBVUkwoZSk7cmV0dXJuL15cL3hcLyhbMC05YS16QS1aXXs4fSlcLz8oPzokfCg/PVtcczssLl0pKVwvPyQvLnRlc3QodC5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sNzU0MjQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbnZlcnRJbWFnZU5hbWVUb1VybDooKT0+aX0pO3ZhciBvPW4oMTYwMjk2KTtmdW5jdGlvbiBpKGUpe3JldHVybigwLG8uaXNQcm9kKSgpPyJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20veC8iK2UrIi8iOndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0KyIveC8iK2UrIi8ifX0sNDkyMTg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VybHNSZWdFeHA6KCk9Pm99KTtjb25zdCBvPXthbWF6b25hd3NMaW5rczoiKD86aHR0cHM6Ly98aHR0cDovLykoczNcXC4oYW1hem9uYXdzfHRyYWRpbmd2aWV3KVxcLmNvbShcXC90cmFkaW5ndmlldyhfc3RhZ2luZyk/KT9cXC9zbmFwc2hvdHMpXFwvKD86XFxTKj8pXFwuKHBuZ3xibXB8anBnfGpwZWcpIixpbWFnZVVybDoiXlswLTlhLXpBLVpdezh9JCIscHVibGlzaGVkQ2hhcnQ6Ii9jaGFydC8oLis/KS8oWzAtOWEtekEtWl17OH0pKD86LShbXi9dKykpPy8/IixwdWJsaXNoZWRDaGFydE9sZDoiL3YvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRJbWFnZToiLyg/Oml8eCkvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRTY3JpcHQ6Ii9zY3JpcHQvKFswLTlhLXpBLVpdezh9KSg/Oi0oW14vXSspKT8vPyIsZXh0ZXJuYWxMaW5rczoiKChodHRwOi8vfGh0dHBzOi8vKXwod3d3XFwuKSlbXFx3LlxcLV0rIn19LDI0MTkzNyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPXR8fHdpbmRvdy5sb2NhbGV8fCJlbiI7bGV0IG89ZVtuXT9lW25dOmUuZW4KO3JldHVybiBvPSJ0cmFkaW5ndmlldy5jb20iPT09bz8id3d3LnRyYWRpbmd2aWV3LmNvbSI6byxvP2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIrbzoiIn1uLmQodCx7ZGV0ZXJtaW5lQmFzZVVybDooKT0+b30pfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgbzshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ob3x8KG89e30pKX0sMjA3OTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bG9hZFN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWw6KCk9Pml9KTt2YXIgbz1uKDMxODk3NCk7YXN5bmMgZnVuY3Rpb24gaSgpe2lmKCEoMCxvLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4gbnVsbDtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwoW24uZSgxMDg0MSksbi5lKDc2MDgpLG4uZSg0NjIxNyksbi5lKDg1NDM0KSxuLmUoNzI4NSksbi5lKDkwNDE1KV0pLnRoZW4obi5iaW5kKG4sNjk0ODc2KSkpLlN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWwuZ2V0SW5zdGFuY2UoKX19LDE1MDY2NShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtuLnN0eWxlLmRpc3BsYXk9Im5vbmUiLG4uaHJlZj10LG4uZG93bmxvYWQ9ZSxuLmNsaWNrKCl9bi5kKHQse2Rvd25sb2FkRmlsZTooKT0+b30pfSw1NjkxMjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSAxNnY0LjVhMSAxIDAgMDAxIDFoMTRhMSAxIDAgMDAxLTFWMTZNMTQuNSA1VjE3bS00LTMuNWw0IDRsNC00Ii8+PC9zdmc+J30sMTk0NjQ4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDcuMzguNjYtLjc2TDkgOS44NGwzLjY3LTMuMjIuNjYuNzZMOSAxMS4xNiA0LjY3IDcuMzhaIi8+PC9zdmc+J30sNTQzMzM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDEwLjYyLjY2Ljc2TDkgOC4xNmwzLjY3IDMuMjIuNjYtLjc2TDkgNi44NGwtNC4zMyAzLjc4WiIvPjwvc3ZnPid9LDE0NzIyMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDZBMi41IDIuNSAwIDAgMCA2IDguNXYxMUEyLjUgMi41IDAgMCAwIDguNSAyMmgxMWEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTNoLTF2M2MwIC44My0uNjcgMS41LTEuNSAxLjVoLTExQTEuNSAxLjUgMCAwIDEgNyAxOS41di0xMUM3IDcuNjcgNy42NyA3IDguNSA3aDNWNmgtM3ptNyAxaDQuOGwtNy40OSA3LjQ4LjcxLjdMMjEgNy43MnY0Ljc5aDFWNmgtNi41djF6Ii8+PC9zdmc+J30sNDc3NzAwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSIjRkZCNzFCIiBkPSJNMjcgMTguMTJhMS4wNSAxLjA1IDAgMSAxLTIuMSAwIDEuMDUgMS4wNSAwIDAgMSAyLjEgMFoiLz48cGF0aCBmaWxsPSIjNzUzQ0JFIiBkPSJNMTkuNjQgOGMzLjA2IDAgNS42MiAzLjQzIDYuMzUgOC4wN2EuMTYuMTYgMCAwIDEtLjMuMDhjLS43My0xLjc3LTEuOTgtMi45NC0zLjQtMi45NC0yLjAyIDAtMy44IDIuNDgtNCA1Ljg5LS4yNi41Ni0yLjM2IDEtNC4yOSAxLjA3di04LjE1QzE1LjIgOS41NyAxNy41OCA4IDE5LjY0IDhaIi8+PHBhdGggZmlsbD0iI0ZGQjcxQiIgZD0iTTEgMTguMTJhMS4wNSAxLjA1IDAgMSAwIDIuMSAwIDEuMDUgMS4wNSAwIDAgMC0yLjEgMFoiLz48cGF0aCBmaWxsPSIjRTgxRDc1IiBkPSJNOC4zNiA4QzUuMyA4IDIuNzQgMTEuNDMgMiAxNi4wN2MwIC4wOS4wNS4xNy4xNC4xOC4wNy4wMi4xNC0uMDIuMTctLjEuNzItMS43NyAxLjk3LTIuOTQgMy4zOC0yLjk0IDIuMDMgMCAzLjggMi40OCA0IDUuODkuMjcuNTYgMi4zNyAxIDQuMyAxLjA3di04LjE1QzEyLjggOS41NyAxMC40MiA4IDguMzYgOFoiLz48L3N2Zz4nfSw5NjU4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOSAxNWwyLjUtMi41YzEtMSAxLjUtMy41LS41LTUuNXMtNC41LTEuNS01LjUtLjVMMTMgOU0xMCAxMmwtMi41IDIuNWMtMSAxLTEuNSAzLjUuNSA1LjVzNC41IDEuNSA1LjUuNUwxNiAxOE0xNyAxMWwtNSA1Ii8+PC9zdmc+J30sNzE5MTMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwOEVGRiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMS4wNiAxMC43NlY3LjI1YzAtLjcyLS40LTEuNC0xLjAyLTEuNzdBMTEuOSAxMS45IDAgMCAwIDE0IDRjLTMuMDcgMC01LjEuOTMtNi4wNCAxLjQ4YTIuMDYgMi4wNiAwIDAgMC0xLjAyIDEuNzd2NS4yOGwxMS4xOCAzLjIzdjIuMzZjMCAuMzItLjIuNTQtLjU0LjdMMTQgMjAuNjNsLTMuNi0xLjhjLS4zMi0uMTYtLjUyLS4zOC0uNTItLjd2LTEuNzdsLTIuOTQtLjg4djIuNjVjMCAxLjQ1LjgzIDIuNjkgMi4xNiAzLjMzTDE0IDI0bDQuODgtMi41NGEzLjY5IDMuNjkgMCAwIDAgMi4xOC0zLjM0VjEzLjdMOS44OCAxMC40N1Y3Ljc4Yy44LS4zOCAyLjE2LS44NCA0LjEyLS44NHMzLjMyLjQ2IDQuMTIuODR2Mi4xbDIuOTQuODhaIi8+PC9zdmc+J30sNjI4NDI4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOS43NSA1aDMuMDdsLTYuNyA3LjYyTDI0IDIzaC02LjE3bC00Ljg0LTYuM0w3LjQ2IDIzSDQuNGw3LjE3LTguMTZMNCA1aDYuMzNsNC4zNyA1Ljc1TDE5Ljc1IDVabS0xLjI0IDE2aDEuN0w5LjU0IDdINy43bDEwLjggMTRaIi8+PC9zdmc+J319XSk7"}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83488.2a35377fd54f0af40874.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.176Z","timestamp":1785124877176,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83488.2a35377fd54f0af40874.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-4c6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 53ba64f9e6616058242a64fada6350a3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1222,"size_decoded":1161,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1222), with no line terminators","md5":"51c1349c8439d6a672d6d84a4856594d","sha1":"4eee67924b46bf903b0e51c77931d6ae759a7802","sha256":"93fc2457233c811063c8be9ad30dcb6250b02857cbf8dad77d4226067fcd4ca6","sha512":"e2ea45b32638ed390e55a1b75bd589d1d8566bc3463ae462003a2566fef6b7b94bc1cad80cac4e151794623d40d2291d3bec4fe3e2e89ec5745015b0e3564516","ssdeep":"","tlshash":"be214575f1f6c228390beb56970d7d4eb29c6b48bf0a9413f083c508c48be987c69a81","first_seen":"2026-07-22T17:32:47.98134Z","last_seen":"2026-07-27T06:14:34.262587Z","times_seen":34,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLW1aQUg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1tWkFIOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uZGl2aWRlci1Db0EyZDVDN3tib3JkZXI6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tdWktbGliLWRpdmlkZXItY29sb3IsdmFyKC0tdWktbGliLWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcikpO21hcmdpbjowfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLXZlcnRpY2FsLUNvQTJkNUM3e2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGU6c29saWQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoyY2g7dmVydGljYWwtYWxpZ246c3VifS5kaXZpZGVyLUNvQTJkNUM3LmZpdC1jb250ZW50LUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7d2lkdGg6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5maXQtY29udGVudC1Db0EyZDVDNy5vcmllbnRhdGlvbi12ZXJ0aWNhbC1Db0EyZDVDN3toZWlnaHQ6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhzbWFsbC1Db0EyZDVDN3tib3JkZXItd2lkdGg6MXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtc21hbGwtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjJweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLW1lZGl1bS1Db0EyZDVDN3tib3JkZXItd2lkdGg6M3B4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtbGFyZ2UtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjRweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUteHhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NnB4fS5kaXZpZGVyLUNvQTJkNUM3LnR5cGUtcHJpbWFyeS1Db0EyZDVDN3stLXVpLWxpYi1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tXzEtbVpBSCl9LmRpdmlkZXItQ29BMmQ1QzcudHlwZS1zZWNvbmRhcnktQ29BMmQ1Qzd7LS11aS1saWItYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLV8wLW1aQUgpfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52065.de9eddb339ac77d1dbf8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.187Z","timestamp":1785124877187,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52065.de9eddb339ac77d1dbf8.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4f5c82-3a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 09 Jul 2026 08:32:02 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/09/2026 11:43:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0cf1c7806ef5ef6fef82b31269552779\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":931,"size_decoded":1213,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (931), with no line terminators","md5":"3053a0430cd82554d9d18841226bcf14","sha1":"d36bf12346d438365d482697e192eb89e6c87dac","sha256":"d8e583ee4c6e07de08baade2e2c20f2ee50ce314ce21f56429ce719de2d80225","sha512":"7bf59310bea9e3dac3cef4eb734765099c03b81015f6f3e82b0024a156ac0bfe7d538daee6ff98605ea047dd495b5e9d79168d8c7f9e9788fed9cfd27e8a819d","ssdeep":"","tlshash":"bf11145751b7a222b4262a320741ce4da300cd375884dab5ee808a3cc3c999136d1b3d","first_seen":"2026-07-09T18:30:19.462745Z","last_seen":"2026-07-27T06:24:31.705988Z","times_seen":42,"resource_available":false,"data":"LmNvbnRhaW5lci1CWktFTmtoVHthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowIDIwcHh9LnVuc2V0QWxpZ24tQlpLRU5raFR7YWxpZ24taXRlbXM6c3RyZXRjaH0udGl0bGUtQlpLRU5raFR7Y29sb3I6dmFyKC0tdHYtY29sb3ItZGlhbG9nLWhlYWRlci10ZXh0LHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSkpO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoyOHB4O21pbi13aWR0aDowO3BhZGRpbmc6MTdweCAwfUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LnRpdGxlLUJaS0VOa2hUe3BhZGRpbmc6MTBweCAwfX0uc3VidGl0bGUtQlpLRU5raFR7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luLWJsb2NrOjhweCAzcHg7bWFyZ2luLWlubGluZTowIDB9LnRleHRXcmFwLUJaS0VOa2hUe2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoyOHB4O21heC1oZWlnaHQ6NTZweH0uZWxsaXBzaXMtQlpLRU5raFR7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jbG9zZS1CWktFTmtoVHtjb2xvcjp2YXIoLS10di1jb2xvci1kaWFsb2ctaGVhZGVyLXRleHQsdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KSk7ZmxleC1zaHJpbms6MDttYXJnaW4tYmxvY2s6MTdweCAxN3B4O21hcmdpbi1pbmxpbmU6MCAtM3B4fUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LmNsb3NlLUJaS0VOa2hUe21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjEwcHh9fS5pY29uLUJaS0VOa2hUe2hlaWdodDoxN3B4fQ=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/92393.fbb8c271bc4a0b751269.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.215Z","timestamp":1785124877215,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/92393.fbb8c271bc4a0b751269.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4e2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0c80952e475fb8d1c40774f696e2fc78\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1250,"size_decoded":1281,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1250), with no line terminators","md5":"44a088ea878be9ce5aba8c7f81e9689f","sha1":"ada9e67c39474bb0afa4cca99f793d6fa037703d","sha256":"9c6e69b8a3f0eeb5446efa6b4454704151bdfd2b988224abf442ff34c21a12b3","sha512":"eb51b789ac77ae0a0fd05bbb7fab8d16a1474adefa9ffb58c0cb76e42f9436f216d665f04b87d63e4b75867d4720e5c36eb0e85fe6d4a7f29b3ce134846d5298","ssdeep":"","tlshash":"042142d2533421b9f3f3c51b360af7865b02aa1be472368ce3d9aca450c32d216c8c02","first_seen":"2026-07-19T21:33:34.07639Z","last_seen":"2026-07-27T06:24:31.73079Z","times_seen":25,"resource_available":false,"data":"LmJ1dHRvbi1Pd2JHVnlhM3std2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudCk7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6aW5oZXJpdDtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0fS5idXR0b24tT3diR1Z5YTM6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tT3diR1Z5YTM6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1Pd2JHVnlhMzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYnV0dG9uLU93YkdWeWEzOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1Pd2JHVnlhMzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1Pd2JHVnlhMzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLU93YkdWeWEzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6OHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLU93YkdWeWEzOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpO2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiAiO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCl9fS5idXR0b24tT3diR1Z5YTM6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQpfS50ZXh0LU93YkdWeWEze3Bvc2l0aW9uOnJlbGF0aXZlO3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/benefit-icon-2.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.246Z","timestamp":1785124875246,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/benefit-icon-2.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 10930\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-2ab2\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":10930,"size_decoded":11156,"mime_type":"image/png","magic":"PNG image data, 125 x 125, 8-bit/color RGBA, non-interlaced","md5":"1a23d9a93d821e0304baf7055dbb0cd4","sha1":"b37068b39255994264f4820a71de4deb75eb7309","sha256":"e26f5b7b3e23aef5b47d5567b15fb1924daaddb07168e0e6dfce5f0da318e697","sha512":"d2a2bb0a28c18e8df294defed54e1dc098aa992a7bb1efbdf13773448d534ba42992c771bd7e22c21e15cf18f2e2a1c40c0a67555fa29f7e188f9c2f940e8489","ssdeep":"192:BtoutyfTSUlBlz0kRIrICnnO/5otJrUPMHw9u4KBgb29nEot30hvg9Gk32UGt+s:CXlBJrCnO/5ErHr47b29EBB0V2X+s","tlshash":"3a32bfc8ad519492d166ec4a30f467cbbd410f468dc8e1b173a3926d9cb444e011faff","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.182428Z","times_seen":18,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAYAAACPgGwlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1QkFCNzI2NDQ2NzUxMUVBQTEwOUU3NDg4NkZDNTFBNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1QkFCNzI2NTQ2NzUxMUVBQTEwOUU3NDg4NkZDNTFBNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjVCQUI3MjYyNDY3NTExRUFBMTA5RTc0ODg2RkM1MUE1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjVCQUI3MjYzNDY3NTExRUFBMTA5RTc0ODg2RkM1MUE1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+NZ1VvQAAJydJREFUeNrsXQl4TccX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"}},"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":"berthenergy-inc.biz","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://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.478Z","timestamp":1785124875478,"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://berthenergy-inc.biz/\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: 399031\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-27T06:15:18.680435Z","times_seen":16655,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":68,"timings":{"blocked":-1,"dns":1,"connect":20,"send":0,"wait":17,"receive":0,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.611Z","timestamp":1785124875611,"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/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1xlFQ.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://berthenergy-inc.biz\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: 7840\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 10:10:26 GMT\r\nexpires: Mon, 26 Jul 2027 10:10:26 GMT\r\ncache-control: public, max-age=31536000\r\nage: 64249\r\nlast-modified: Mon, 15 Sep 2025 16:35:17 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":7840,"size_decoded":8651,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7840, version 1.0","md5":"8d91ec1ca2d8b56640a47117e313a3e9","sha1":"a9e9bafe64666f4595051a0e895b47a5fa39e67e","sha256":"78bc3aa78faec288bbb3bf26c9a0fa4eb67b1e69da94a17233c5cab60525efdb","sha512":"bd3a864bd45f39ee83ee79ba4469a156ad8ff3dd33d8aae11e3edd97b29c2ef7f610ac851726041251e34b0108f618a2f945038bf6c0de9a7982e0d643cdfcfb","ssdeep":"192:S5upwnqrBHPLA3J73KAQDPh50uFdXrnpjDS7LjvQnRb:S5ELrBvLA3J76AIPhi+vXwzQnRb","tlshash":"68f19de0200937e4f73d5feee6276b7f2e2edb05e25305aa7556014c69de39310d21a2","first_seen":"2023-04-06T21:42:41Z","last_seen":"2026-07-27T06:14:32.782442Z","times_seen":79710,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff2","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.613Z","timestamp":1785124875613,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff2 HTTP/1.1\r\nHost: cdnjs.cloudflare.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://berthenergy-inc.biz\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css\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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/octet-stream; charset=utf-8\r\ncontent-length: 78268\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\nlast-modified: Mon, 13 Sep 2021 19:10:03 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=hFLMrLUnyxKeGBVeFcCCUJCCmNvIkyhKJSF5wF2yQmr8TedOn9RWLNiJIVPitL7UpGJoZJ7SdqRWN07GrCsXQgbRqDU44yjf7JWABEWf15NdXNBNI%2FBzojqRI497l3C6839tUO5Q\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=5,i=?0\r\nserver: cloudflare\r\ncf-ray: a218bde8ab05b28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":78268,"size_decoded":79249,"mime_type":"application/octet-stream; charset=utf-8","magic":"Web Open Font Format (Version 2), TrueType, length 78268, version 331.-31196","md5":"d824df7eb2e268626a2dd9a6a741ac4e","sha1":"0ccb2c814a7e4ca12c4778821633809cb0361eaa","sha256":"9834b82ad26e2a37583d22676a12dd2eb0fe7c80356a2114d0db1aa8b3899537","sha512":"a84e13f216ea95146af285af98aef0b464cd962440e161a1c602ca2178a179e04ae4ed2a2f98d5b2eb165480ec6920e0e88de77d5f1eb7f11ed772b092daf865","ssdeep":"1536:AOhrLFyv3lzKb1hkG8l0o4HXWj2uwgcdSJSls7ZahNpUFl8a/KdDe8Y7fN5O:AOhfMv3ILc0Dm3wA4LpKKdO7a","tlshash":"c97312aba6cd77ac88dd14565f0043533afdfb35ab27864349eca2e01a300677b5712b","first_seen":"2023-04-05T13:28:45Z","last_seen":"2026-07-27T06:16:23.00629Z","times_seen":56649,"resource_available":false,"data":"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"}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":6,"send":0,"wait":45,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78652.4b4e097a303d21bc9781.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.825Z","timestamp":1785124876825,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78652.4b4e097a303d21bc9781.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-93\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c27340ba37ef48da8306a002c34cad32\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":147,"size_decoded":898,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"d495be7c67520b3518ab3adbf5c62805","sha1":"194c04504f3be1bcc65c2c60fcc6b7feedafce35","sha256":"bbc2d1c9270827bfab04417c239e5264a20fc0f30e4ec1791d3810b7957b2a82","sha512":"7d9bc066af26016a6d8c93fddc2cce36252806a2fcc37fcd6908ef2a7ab5fa58453186cbb259e40244eebfde37ac1e6e7e018bca8969700d643a830a0d8f8a6e","ssdeep":"","tlshash":"b3c08cf80653324eb96554a04eb20a22a523c966e687400f008a624f0acd68206f4ba5","first_seen":"2026-07-17T14:15:58.462713Z","last_seen":"2026-07-27T06:14:34.167274Z","times_seen":84,"resource_available":false,"data":"LndyYXBwZXItVHk1TzFXSlF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI4cHh9LmRpck1hdGNoaW5nLVR5NU8xV0pROmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZSgtMSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71414.e345ed752d3a20d19467.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.828Z","timestamp":1785124876828,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71414.e345ed752d3a20d19467.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ae76bef17ff094ad73a44a4b4949f7f6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":229,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"dba3b8b6e522981747aa88dbb55e965d","sha1":"5a76446063310fe075cf2a937154a1aea73f1679","sha256":"83032ab92bfa437e6220899f5aec9d57a35bc5811fbb395c19f27e069db50c01","sha512":"6bf4cbdf37126f5115df62c04af8d2348ad30107f48d0156b0c25c4327f7632d11d42e318171954fbec505ddba87a7b228597ec6d2229e5633ff36d5f4a5aba9","ssdeep":"","tlshash":"bed0a75af604b031786fa136d38da4df7504b94b5400ae779650c5c94051ad2b3d9b58","first_seen":"2026-07-17T03:30:51.226443Z","last_seen":"2026-07-27T06:24:31.800051Z","times_seen":84,"resource_available":false,"data":"LnRpdGxlLW5ma0dtN05He2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46NnB4IDA7cGFkZGluZzowIDEycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/coinpool-dots-circle.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.534Z","timestamp":1785124875534,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/coinpool-dots-circle.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 40206\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-9d0e\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":40206,"size_decoded":40432,"mime_type":"image/png","magic":"PNG image data, 370 x 370, 8-bit/color RGBA, non-interlaced","md5":"08ed03fb5a58dbb6c00cc17c211045f9","sha1":"5e4dd5d17d02bd192543adfde6a74b3e5cb20cb5","sha256":"6e1f31a06a96bfb6ba6e928de698dc9638040c55211b37f8fc0e4d49639f1d5b","sha512":"ddcd81b3cc99439f66ec36788aa64cdb336eeffb15a67e0171b95af7f7dc195174a65273d0db9b79911647f9c69f4cff555ffe82fc1fdb2f898652de63063627","ssdeep":"768:rB5WPEPKQQPTGLqFvoYUDJIIErKCUvLyR1Zs7GIFdg49AxUBfgnJcwnCF:dEYj+ymFk8OL+kGIFfFBonJbW","tlshash":"be03f15f3d1d300661dcc386fbebc373e82b758d51b8a1ae9614b4a228945dcfac4c86","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:29.981619Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAXIAAAFyCAYAAADoJFEJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBODBCQTY4RjQ3MzQxMUVBOTVCM0I1NzdDQjU1QTMwNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBODBCQTY5MDQ3MzQxMUVBOTVCM0I1NzdDQjU1QTMwNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE4MEJBNjhENDczNDExRUE5NUIzQjU3N0NCNTVBMzA2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE4MEJBNjhFNDczNDExRUE5NUIzQjU3N0NCNTVBMzA2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xMblwgAAmYNJREFUeNrsvQd7HMe1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"}},"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/54681.a717110e6749f307ed6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.795Z","timestamp":1785124875795,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/54681.a717110e6749f307ed6d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a041685-15e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 13 May 2026 06:13:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/13/2026 09:56:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3a84b8564a2e929c03ef6835f48ee0e7\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":350,"size_decoded":954,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (350), with no line terminators","md5":"f2e28dcef513e7329db6a3a69720bb48","sha1":"d2b0bc2f96723e3d74402c72a78a9a449405c692","sha256":"b2adba47f3ef9121bd8fb32842dcca6edcc4b9e36084de7724ef7244f6b03640","sha512":"97e9c6797a664f80308677fd34c5ddaafe0f74b206038c67761074bc9062d4439f8bd8aaae50193cd70d06f3baa8f30eb1fad236115eb4cda845f8dc922c1e2f","ssdeep":"","tlshash":"60e08cc3f0c6000444a341329c00b738fdaf98588b836ea4805e77304b166cf3b30dae","first_seen":"2026-05-13T13:23:52.95015Z","last_seen":"2026-07-27T06:14:34.192661Z","times_seen":1878,"resource_available":false,"data":"LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmktaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH0uaS1hbGlnbl9sZWZ0e3RleHQtYWxpZ246c3RhcnQhaW1wb3J0YW50fS5pLWFsaWduX3JpZ2h0e3RleHQtYWxpZ246ZW5kIWltcG9ydGFudH0uaS1hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5pLWZsb2F0X2xlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0uaS1mbG9hdF9yaWdodHtmbG9hdDppbmxpbmUtZW5kIWltcG9ydGFudH0uaS1mbG9hdF9ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fS5pLW5vLWJyZWFre3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":19,"timings":{"blocked":-1,"dns":1,"connect":2,"send":0,"wait":2,"receive":0,"ssl":13},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11409.ff84ce4d523d3540c7b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.814Z","timestamp":1785124875814,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11409.ff84ce4d523d3540c7b2.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-30a0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ec5b20167208c1ac4b2b2e4a86ab2e8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12448,"size_decoded":2540,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12448), with no line terminators","md5":"9cbd709ec51e71339f9e69c3d1123c45","sha1":"18fc795afdbb481ad608bd860ac9b7bb46ee7e64","sha256":"16656563dbea106cf3921679f643ec67ec00cb3aa403ca62d51a28b02edc49cd","sha512":"26e5802457dc337b290fa5ffd9b5ab3134a9243bc599ee54d8bf8129ad1f8c76256660c9eb5ea4e260161ba1568a64085cfdb3496f618dab283564cf760fcb96","ssdeep":"192:kOE3SjlWLR0cFLonGDgTVoTRRCc0OE3R25jqBfm2GKctwCYzcbyVjEBRroRGR7lW:2Wc1z3lTlftwE+VjEkARZVsr","tlshash":"45428b8ce94142af6813903c1339eb38de46ff53dc524bab7769544a4bc3ae161ebb44","first_seen":"2026-06-17T17:32:05.658594Z","last_seen":"2026-07-27T06:14:34.195284Z","times_seen":793,"resource_available":false,"data":"LnN0YXR1c2VzV3JhcC1VUklqRUI5OHtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXXthbGlnbi1zZWxmOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo5cHg7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6NnB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7b3V0bGluZS1vZmZzZXQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06ZW1wdHksW2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXV9oaWRkZW57ZGlzcGxheTpub25lfVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0uc21hbGwtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo5cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5tZWRpdW0tVVJJakVCOTh7Ym9yZGVyLXJhZGl1czoxMXB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0ubGFyZ2UtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo4cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5ibGlua2luZy1VUklqRUI5OHt3aWxsLWNoYW5nZTpvcGFjaXR5fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4e2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zdGF0dXNJdGVtLVVSSWpFQjk4OmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9LnN0YXR1c0l0ZW0tVVJJakVCOTggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDowfS5zdGF0dXNJdGVtLVVSSWpFQjk4IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKX0uc3RhdHVzSXRlbS1VUklqRUI5OC5zbWFsbC1VUklqRUI5OHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4Lm1lZGl1bS1VUklqRUI5OHtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4LmxhcmdlLVVSSWpFQjk4e2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnN0YXR1c0l0ZW0tVVJJakVCOTguYmxpbmtpbmctVVJJakVCOTg6YWZ0ZXJ7YW5pbWF0aW9uOmJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCAyLjVzIGN1YmljLWJlemllciguMjUsMCwuNzUsMSkgaW5maW5pdGV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zdGF0dXNJdGVtLVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19LnN0YXR1c0l0ZW0tVVJJakVCOTg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQcmUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUHJlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQb3N0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUG9zdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c092ZXJuaWdodC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5tYXJrZXRTdGF0dXNIb2xpZGF5LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubWFya2V0U3RhdHVzSG9saWRheS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzRGVsaXN0ZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcil9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTh7Y29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQpKX0ubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsKSl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXN0b20tc3RhdHVzLWNvbG9yLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZCkpfS5pbnZhbGlkU3ltYm9sLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaW52YWxpZFN5bWJvbC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFjdGl2ZVN0cmF0ZWd5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1ib2xkKX0uYWxlcnQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcyl9LmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuYWxlcnQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQpfS5hbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LmFsZXJ0SXRlbS1VUklqRUI5OHtkaXNwbGF5OmZsZXh9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OCwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlciwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4OmFmdGVyLFtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQYXVzZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlcixbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkKX0ucmVwbGF5TW9kZVBvaW50U2VsZWN0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OC5ibGlua2luZy1VUklqRUI5ODphZnRlcnthbmltYXRpb246YmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OCAxcyBjdWJpYy1iZXppZXIoLjc3LC4yMSwuMSwuNzQpIGluZmluaXRlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19Lm5vdEFjY3VyYXRlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0ubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5ub3RBY2N1cmF0ZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAub3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQpfS5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9Lm9wZW5lZEluRGV0YWNoZWRQaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5kZWxheS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKX0uZGVsYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZCl9LmVvZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0uZW9kLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZCl9LmRhdGFQcm9ibGVtSGlnaC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5kYXRhUHJvYmxlbUhpZ2gtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5kYXRhUHJvYmxlbUxvdy1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaGFzRXJyb3ItVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1vdGhlci1ub3JtYWwpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ib2xkKX1Aa2V5ZnJhbWVzIGJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi4zfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9fQ=="}},"time_used":26,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":26,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/85510.de862f9d26db7cf3cd08.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.819Z","timestamp":1785124875819,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/85510.de862f9d26db7cf3cd08.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-2a9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 145f9a7aa76577695815b73a69fc0460\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":681,"size_decoded":1161,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (681), with no line terminators","md5":"7cce80372e7f07843410b6d3a692a4f6","sha1":"3cc8e6874df4c8b769ce175f1cf67a8b1fa114d4","sha256":"9e6faf03deaf6681c70ad58cacf7014b703268bb2e6f9326ac6a9ab19327c194","sha512":"a5bec448adb1e1a1ed9c61badc3c8fb561d66ed8e50d2df941272a9b32b1ca7ef284b0b57331f216ac91538d5cf440a39338d472034d87083cdc909c5e11b446","ssdeep":"","tlshash":"c501cb55704e9069b80be13e1b6cb28ce551f009ce438facf934f4108ac6aec1061ace","first_seen":"2026-03-24T10:46:27.25807Z","last_seen":"2026-07-27T06:14:34.05387Z","times_seen":1028,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVFdVdDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1UV1V0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKX1ib2R5LmV4dGVuc2lvbnttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59aW1ne2JvcmRlcjpub25lfXRleHRhcmVhe3Jlc2l6ZTpub25lfTpmb2N1c3tvdXRsaW5lOm5vbmV9aW5wdXQsdGV4dGFyZWF7Ym9yZGVyLXJhZGl1czowfS51bnNlbGVjdGFibGV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGFibGUsaW5wdXQsdGV4dGFyZWF7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5sb2FkaW5nLWluZGljYXRvcntiYWNrZ3JvdW5kOnZhcigtLV8wLVRXVXQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxNTB9LmZhbGxpbmcsLmdyb3dpbmd7Y29sb3I6I2ZmZn0uZ3Jvd2luZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0uZmFsbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCl9"}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.898Z","timestamp":1785124876898,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/26118.3f4b0e5de045d6bd8295.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-f26e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 69b8c446e62f8cccdb47ddf19d486935\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":62062,"size_decoded":23231,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (7991)","md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-27T06:24:31.744677Z","times_seen":52,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNjExOF0sezk2OTYzMShlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlOiJmYXZvcml0ZS1Rd0tXU1VtYSIsaG92ZXJlZDoiaG92ZXJlZC1Rd0tXU1VtYSIsZGlzYWJsZWQ6ImRpc2FibGVkLVF3S1dTVW1hIixmb2N1c2VkOiJmb2N1c2VkLVF3S1dTVW1hIixhY3RpdmU6ImFjdGl2ZS1Rd0tXU1VtYSIsY2hlY2tlZDoiY2hlY2tlZC1Rd0tXU1VtYSJ9fSw5MjQ1MDcoZSl7ZS5leHBvcnRzPXsidGFibGV0LW5vcm1hbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNzY4cHgpIiwic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIiwidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkifX0sMzU0ODEyKGUpe2UuZXhwb3J0cz17aXRlbToiaXRlbS1mU2FUX0RFTSIsbGFiZWw6ImxhYmVsLWZTYVRfREVNIixsYWJlbFJvdzoibGFiZWxSb3ctZlNhVF9ERU0iLHRvb2xib3g6InRvb2xib3gtZlNhVF9ERU0ifX0sNzQwOTQzKGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tV01wS0tVQ3EiLGhvdmVyZWQ6ImhvdmVyZWQtV01wS0tVQ3EiLGRpc2FibGVkOiJkaXNhYmxlZC1XTXBLS1VDcSIsZm9jdXNlZDoiZm9jdXNlZC1XTXBLS1VDcSIsYWN0aXZlOiJhY3RpdmUtV01wS0tVQ3EiLGhpZGRlbjoiaGlkZGVuLVdNcEtLVUNxIn19LDEzMzY1NihlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkOiJmYXZvcml0ZXNJY29uQnV0dG9uVG9nZ2xlZC1ZRlhWSk5FUSIscHJpbWFyeToicHJpbWFyeS1ZRlhWSk5FUSIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktWUZYVkpORVEiLHRlcnRpYXJ5OiJ0ZXJ0aWFyeS1ZRlhWSk5FUSJ9fSw5OTM5OTUoZSl7ZS5leHBvcnRzPXtpY29uQnV0dG9uOiJpY29uQnV0dG9uLUhERFVZT0JJIixzcXVhcmU6InNxdWFyZS1IRERVWU9CSSIscm91bmQ6InJvdW5kLUhERFVZT0JJIixwcmltYXJ5OiJwcmltYXJ5LUhERFVZT0JJIixpY29uOiJpY29uLUhERFVZT0JJIixzZWNvbmRhcnk6InNlY29uZGFyeS1IRERVWU9CSSIsdGVydGlhcnk6InRlcnRpYXJ5LUhERFVZT0JJIiwicHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJIn19LDE0NTk4NShlKXtlLmV4cG9ydHM9e2Jsb2NrSWNvbjoiYmxvY2tJY29uLWd2T1FWaVY3In19LDk5NDI4KGUpe2UuZXhwb3J0cz17ZGl2aWRlcjoiZGl2aWRlci1aZF90cXVjRCIsbGluZToibGluZS1aZF90cXVjRCJ9fSw2MjU3MDkoZSl7ZS5leHBvcnRzPXtzbWFsbDoic21hbGwtdFdESUNUYXkiLG1lZGl1bToibWVkaXVtLXRXRElDVGF5IixsYXJnZToibGFyZ2UtdFdESUNUYXkiLHN3aXRjaFZpZXc6InN3aXRjaFZpZXctdFdESUNUYXkiLGNoZWNrZWQ6ImNoZWNrZWQtdFdESUNUYXkiLGRpc2FibGVkOiJkaXNhYmxlZC10V0RJQ1RheSIsdHJhY2s6InRyYWNrLXRXRElDVGF5Iix0aHVtYjoidGh1bWItdFdESUNUYXkifX0sNjg3NTQ3KGUpe2UuZXhwb3J0cz17c3dpdGNoZXI6InN3aXRjaGVyLWwzRHRLTHNMIixpbnB1dDoiaW5wdXQtbDNEdEtMc0wiLHRodW1iV3JhcHBlcjoidGh1bWJXcmFwcGVyLWwzRHRLTHNMIixkaXNhYmxlZDoiZGlzYWJsZWQtbDNEdEtMc0wiLGNoZWNrZWQ6ImNoZWNrZWQtbDNEdEtMc0wifX0sNTcwNDk4KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tR2F3cEIwcGYiLGFjdGl2ZToiYWN0aXZlLUdhd3BCMHBmIixmYXZvcml0ZToiZmF2b3JpdGUtR2F3cEIwcGYiLGZpbGxlZDoiZmlsbGVkLUdhd3BCMHBmIn19LDU1MzE0OShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItSmE3SUdET2ciLGxhYmVsUm93OiJsYWJlbFJvdy1KYTdJR0RPZyIsbGFiZWw6ImxhYmVsLUphN0lHRE9nIixsYWJlbEhpbnQ6ImxhYmVsSGludC1KYTdJR0RPZyIsbGFiZWxPbjoibGFiZWxPbi1KYTdJR0RPZyJ9fSw3MzU0NjIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLXE1NFR3eUNPIixob3ZlcmVkOiJob3ZlcmVkLXE1NFR3eUNPIixzd2l0Y2hXcmFwOiJzd2l0Y2hXcmFwLXE1NFR3eUNPIix3aXRoSWNvbjoid2l0aEljb24tcTU0VHd5Q08iLGxhYmVsUm93OiJsYWJlbFJvdy1xNTRUd3lDTyIsbGFiZWw6ImxhYmVsLXE1NFR3eUNPIixpY29uOiJpY29uLXE1NFR3eUNPIixsYWJlbF9kaXNhYmxlZDoibGFiZWxfZGlzYWJsZWQtcTU0VHd5Q08iLGxhYmVsSGludDoibGFiZWxIaW50LXE1NFR3eUNPIixsYWJlbE9uOiJsYWJlbE9uLXE1NFR3eUNPIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXE1NFR3eUNPIn19LDI3NzA3NihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUhkS2hjVHllIixwcmVzc2VkOiJwcmVzc2VkLUhkS2hjVHllIixob3ZlcjoiaG92ZXItSGRLaGNUeWUiLGNsaWNrZWQ6ImNsaWNrZWQtSGRLaGNUeWUiLGlzSW50ZXJhY3RpdmU6ImlzSW50ZXJhY3RpdmUtSGRLaGNUeWUiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtSGRLaGNUeWUiLGlzR3JvdXBlZDoiaXNHcm91cGVkLUhkS2hjVHllIixpc0FjdGl2ZToiaXNBY3RpdmUtSGRLaGNUeWUiLGlzT3BlbmVkOiJpc09wZW5lZC1IZEtoY1R5ZSIsaXNEaXNhYmxlZDoiaXNEaXNhYmxlZC1IZEtoY1R5ZSIsdGV4dDoidGV4dC1IZEtoY1R5ZSIsaWNvbjoiaWNvbi1IZEtoY1R5ZSIsZW5kSWNvbjoiZW5kSWNvbi1IZEtoY1R5ZSJ9fSwyOTgwODYoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1GRHRpRGJ5aiJ9fSw5MTM3NyhlKXtlLmV4cG9ydHM9e2FjdGlvbjoiYWN0aW9uLXltRnU5UUVEIixzaG93T25Ib3Zlcjoic2hvd09uSG92ZXIteW1GdTlRRUQifX0sNTI4MTAxKGUpe2UuZXhwb3J0cz17YmFkZ2VOZXc6ImJhZGdlTmV3LWFfU2FnWlFBIn19LDQyODA5NyhlKXtlLmV4cG9ydHM9e2Vtb2ppOiJlbW9qaS1Cc0VSR2NaMSIsY2xlYXJCdXR0b246ImNsZWFyQnV0dG9uLUJzRVJHY1oxIn19LDQwMjIzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1tejA4NjZNMiIsaG92ZXJlZDoiaG92ZXJlZC1tejA4NjZNMiJ9fSw2ODQ3MzcoZSx0LG4pewoidXNlIHN0cmljdCI7bi5kKHQse1JlbW92ZVRpdGxlVHlwZTooKT0+YSxyZW1vdmVUaXRsZXNNYXA6KCk9PnJ9KTt2YXIgYSxvPW4oNzgzMjU0KTshZnVuY3Rpb24oZSl7ZS5BZGQ9ImFkZCIsZS5SZW1vdmU9InJlbW92ZSJ9KGF8fChhPXt9KSk7Y29uc3Qgcj17W2EuQWRkXTpvLnQobnVsbCx2b2lkIDAsbig5OTUyOSkpLFthLlJlbW92ZV06by50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSl9fSwzNTcyNjIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVCdXR0b246KCk9PnV9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDY4NDczNykscz1uKDk1Mzc0KSxjPW4oNjk2NDMpLGQ9big4MjY5NzgpLG09big5Njk2MzEpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLG9uQ2xpY2s6dSx0aXRsZTpoLC4uLnZ9PWUsW3AsZl09KDAscy51c2VBY3RpdmVEZXNjZW5kYW50KShudWxsKSxnPWg/PyhuP2wucmVtb3ZlVGl0bGVzTWFwW2wuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06bC5yZW1vdmVUaXRsZXNNYXBbbC5SZW1vdmVUaXRsZVR5cGUuQWRkXSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9cC5jdXJyZW50O2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZyYmZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfSksW2cscF0pLGEuY3JlYXRlRWxlbWVudChpLkljb24sey4uLnYsY2xhc3NOYW1lOnIoKShtLmZhdm9yaXRlLCJhcHBseS1jb21tb24tdG9vbHRpcCIsbiYmbS5jaGVja2VkLG8mJm0uYWN0aXZlLGYmJm0uZm9jdXNlZCx0KSxvbkNsaWNrOnUsaWNvbjpuP2M6ZCx0aXRsZTpnLGFyaWFMYWJlbDpnLHJlZjpwfSl9fSw5NTM3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VBY3RpdmVEZXNjZW5kYW50OigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLG89big3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PVtdKXtjb25zdFtuLHJdPSgwLGEudXNlU3RhdGUpKCExKSxpPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9aS5jdXJyZW50O2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PWU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIjpyKCEwKTticmVhaztjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiOnIoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHQpfX0pLHQpLFtpLG5dfX0sNjA5NTI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpYWxvZ0JyZWFrcG9pbnRzOigpPT5vfSk7dmFyIGE9big5MjQ1MDcpO2NvbnN0IG89e1NtYWxsSGVpZ2h0OmFbInNtYWxsLWhlaWdodC1icmVha3BvaW50Il0sVGFibGV0U21hbGw6YVsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiXSxUYWJsZXROb3JtYWw6YVsidGFibGV0LW5vcm1hbC1icmVha3BvaW50Il19fSwzOTE1MDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTooKT0+aX0pO3ZhciBhPW4oMzg3MjMxKSxvPW4oNDcwMjk1KSxyPW4oMzU0ODEyKTtjb25zdCBpPSgwLGEubWVyZ2VUaGVtZXMpKG8scil9LDU0NTQyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSZW1vdmVCdXR0b246KCk9Pm19KTt2YXIgYT1uKDc4MzI1NCksbz1uKDc3OTQ3NCkscj1uKDkxNDQ4NyksaT1uLm4ociksbD1uKDI3MzMxMCkscz1uKDk1Mzc0KSxjPW4oNDg5MDU5KSxkPW4oNzQwOTQzKTtmdW5jdGlvbiBtKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGlzQWN0aXZlOnIsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aCxoaWRkZW46diwiZGF0YS1uYW1lIjpwPSJyZW1vdmUtYnV0dG9uIixpY29uOmYsLi4uZ309ZSxbdyxiXT0oMCxzLnVzZUFjdGl2ZURlc2NlbmRhbnQpKG51bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsuLi5nLCJkYXRhLW5hbWUiOnAsY2xhc3NOYW1lOmkoKShkLmJ1dHRvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHImJmQuYWN0aXZlLHYmJmQuaGlkZGVuLGImJmQuZm9jdXNlZCx0KSxpY29uOmZ8fGMsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxhcmlhTGFiZWw6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxyZWY6d30pfX0sNzE5NzM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Zhdm9yaXRlSWNvbkJ1dHRvbjooKT0+d30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oNzgzMjU0KSxsPW4oMzMyNjg3KSxzPW4oNzI5MjUwKSxjPW4oMzQ1MTE2KSxkPW4oNTk5NzUpLG09bi5uKGQpLHU9bigyMzA2ODYpLGg9bi5uKHUpLHY9bigxMzM2NTYpLHA9bi5uKHYpO2NvbnN0IGY9bSgpLGc9aCgpLHc9KDAsYS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdCBvPSgwLGEudXNlQ29udGV4dCkobC5JY29uQnV0dG9uVmFyaWFudENvbnRleHQpLHtpc0Zhdm9yaXRlOmQsb25DaGFuZ2VJc0Zhdm9yaXRlOm0sc2hhcGU6dSx2YXJpYW50Omg9by52YXJpYW50Pz8icHJpbWFyeSIsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJvbGU6YiwuLi55fT1lLEU9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh5KTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KHMuVG9nZ2xlYWJsZUljb25CdXR0b24se3RvZ2dsZWRJY29uOmYsdW50b2dnbGVkSWNvbjpnLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpyKCkocCgpLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLHAoKVtoXSksaXNUb2dnbGVkOmQsb25Ub2dnbGU6bSwKdW50b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oOTk1MjkpKSx0b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSksc2hhcGU6dSx2YXJpYW50OmgsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJlZjp0LHJvbGU6YiwuLi5FfSl9KSl9LDIzNDYzNihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciBhO24uZCh0LHtCYWRnZVNpemU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLlhTbWFsbD0ieHNtYWxsIixlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UiLGUuWExhcmdlPSJ4bGFyZ2UifShhfHwoYT17fSkpfSwyNjQzMTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2xpY2thYmxlSWNvbkJ1dHRvbjooKT0+bX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMzMyNjg3KSxsPW4oMjE3Mjc0KSxzPW4oMzQ1MTE2KSxjPW4oOTkzOTk1KSxkPW4ubihjKTtjb25zdCBtPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3Qgbj0oMCxhLnVzZUNvbnRleHQpKGkuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0KS52YXJpYW50LHt0aXRsZTpvLG9uQ2xpY2s6Yyxjb2xvckNsYXNzTmFtZTptLGljb246dSx2YXJpYW50Omg9bj8/aS5ERUZBVUxUX0lDT05fQlVUVE9OX1ZBUklBTlQsc2hhcGU6dj0ic3F1YXJlIix0YWJJbmRleDpwLHJvbGU6ZixkYXRhUWFJZDpnLC4uLnd9PWUsYj0oMCxzLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKHcsZyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnQsdGl0bGU6byx0eXBlOiJidXR0b24iLHJvbGU6ZiwiYXJpYS1sYWJlbCI6byxvbkNsaWNrOmMsdGFiSW5kZXg6cCxjbGFzc05hbWU6cigpKGQoKS5pY29uQnV0dG9uLGQoKVtoXSxkKClbdl0sbSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwuLi5ifSxhLmNyZWF0ZUVsZW1lbnQobC5CbG9ja0ljb24se2ljb246dSxjbGFzc05hbWU6ZCgpLmljb24sImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSl9KSl9LDcyOTI1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb2dnbGVhYmxlSWNvbkJ1dHRvbjooKT0+aX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oMjY0MzE4KSxyPW4oMzQ1MTE2KTtjb25zdCBpPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7b25Ub2dnbGU6bixpc1RvZ2dsZWQ6aSx0b2dnbGVkVGl0bGU6bCx0b2dnbGVkSWNvbjpzLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpjLHVudG9nZ2xlZFRpdGxlOmQsdW50b2dnbGVkSWNvbjptLHVudG9nZ2xlZENvbG9yQ2xhc3NOYW1lOnUsdmFyaWFudDpoLHNoYXBlOnYsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi53fT1lLGI9KDAsci5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh3KTtsZXQgeSxFLFQ7cmV0dXJuIGk/KFQ9bCx5PXMsRT1jKTooVD1kLHk9bSxFPXUpLGEuY3JlYXRlRWxlbWVudChvLkNsaWNrYWJsZUljb25CdXR0b24se3RpdGxlOlQsaWNvbjp5LG9uQ2xpY2s6KCk9Pm4oIWkpLGNvbG9yQ2xhc3NOYW1lOkUsdmFyaWFudDpoLHNoYXBlOnYscmVmOnQsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi5ifSl9KSl9LDIxNzI3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtCbG9ja0ljb246KCk9PmN9KTt2YXIgYT1uKDkxNDQ4Nyksbz1uLm4oYSkscj1uKDc3OTQ3NCksaT1uKDk0ODQ1MCksbD1uKDE0NTk4NSkscz1uLm4obCk7Y29uc3QgYz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4saWNvbjphLGFyaWFMYWJlbDpsLGFyaWFMYWJlbGxlZGJ5OmMsdGl0bGU6ZCwuLi5tfT1lLHU9bTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShuLHMoKS5ibG9ja0ljb24pLHJlZjp0LGljb246YSxhcmlhTGFiZWw6bCxhcmlhTGFiZWxsZWRieTpjLHRpdGxlOmQsLi4udX0pfSkpfSw3MzI3MzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGl2aWRlckxpc3RJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big5OTQyOCkscj1uLm4obyk7ZnVuY3Rpb24gaShlKXtjb25zdHtyb2xlOnR9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5kaXZpZGVyLHJvbGU6dH0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpLmxpbmV9KSl9fSwzMDgyMTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3dpdGNoVmlldzooKT0+Y30pO3ZhciBhLG89big3Nzk0NzQpLHI9big5MTQ0ODcpLGk9bi5uKHIpLGw9big2MjU3MDkpLHM9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7c2l6ZTp0PSJzbWFsbCIsY2hlY2tlZDpuLGRpc2FibGVkOmF9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkocygpLnN3aXRjaFZpZXcscygpW3RdLGEmJnMoKS5kaXNhYmxlZCxuJiZzKCkuY2hlY2tlZCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkudHJhY2t9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpLnRodW1ifSkpfSFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShhfHwoYT17fSkpfSwxMjgzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTd2l0Y2g6KCk9PnV9KTt2YXIgYSxvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxpPW4ubihyKSxsPW4oMzA5OTIwKSxzPW4oMzA4MjE2KSxjPW4oMjM1NzI0KSxkPW4oNjg3NTQ3KSxtPW4ubihkKTtmdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShsLkN1c3RvbUJlaGF2aW91ckNvbnRleHQpLHtzaXplOm4saW50ZW50OmE9ImRlZmF1bHQiLGNoZWNrZWQ6cixjbGFzc05hbWU6ZCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp1PXQuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsZGlzYWJsZWQ6aCxvbkNoYW5nZTp2LHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyx0YWJJbmRleDpiLHJvbGU6eT0ic3dpdGNoIixhcmlhRGlzYWJsZWQ6RSxyZWZlcmVuY2U6VCxhcmlhTGFiZWxsZWRCeTp4LGFyaWFMYWJlbDpJLC4uLkN9PWUKO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQsbSgpLnN3aXRjaGVyKX0sby5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLkMsdHlwZToiY2hlY2tib3giLGNsYXNzTmFtZTppKCkobSgpLmlucHV0LHUmJm0oKS5hY3RpdmVTdHlsZXNFbmFibGVkLHImJm0oKS5jaGVja2VkLGgmJm0oKS5kaXNhYmxlZCkscm9sZTp5LCJhcmlhLWNoZWNrZWQiOnIsY2hlY2tlZDpyLG9uS2V5RG93bjplPT57MTM9PT0oMCxjLmhhc2hGcm9tRXZlbnQpKGUpJiZlLmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9LG9uQ2hhbmdlOnYsZGlzYWJsZWQ6aCwiYXJpYS1kaXNhYmxlZCI6RSx0YWJJbmRleDpiLHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyxyZWY6VCwiYXJpYS1sYWJlbCI6SSwiYXJpYS1sYWJlbGxlZGJ5Ijp4fSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShtKCkudGh1bWJXcmFwcGVyLG0oKVthXSl9LG8uY3JlYXRlRWxlbWVudChzLlN3aXRjaFZpZXcse2NoZWNrZWQ6cixzaXplOm4sZGlzYWJsZWQ6aH0pKSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TZWxlY3Q9InNlbGVjdCJ9KGF8fChhPXt9KSl9LDY1OTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtiaW5kU2NyZWVuc2hvdDooKT0+aH0pO3ZhciBhPW4oMTg1MjcxKSxvPW4oNzc5NDc0KSxyPW4oMjIxODk2KSxpPW4oNTY5NjUyKSxsPW4oNzU0MjQ2KSxzPW4oODI2MTU2KSxjPW4oMzQ0MTAzKTtjb25zdCBkPW5ldyBzLkRhdGVUaW1lRm9ybWF0dGVyKHtkYXRlVGltZVNlcGFyYXRvcjoiXyIsdGltZUZvcm1hdDoiJWgtJW0tJXMifSksbT17dGFrZVNuYXBzaG90OmEudChudWxsLHZvaWQgMCxuKDIwNzM3MSkpfSx1PSgwLGkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBoKGUpe3ZhciB0O3JldHVybih0PWNsYXNzIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9jbGllbnRTbmFwc2hvdD1hc3luYygpPT57Y29uc3QgZT10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCk7cmV0dXJue2NhbnZhczphd2FpdCB0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudFNuYXBzaG90KCksbmFtZTpgJHsoMCxjLnNob3J0TmFtZSkoZSl9XyR7ZC5mb3JtYXRMb2NhbChuZXcgRGF0ZSl9YH19LHRoaXMuX3NlcnZlclNuYXBzaG90PWFzeW5jKCk9Pntjb25zdCBlPXRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSx0PWF3YWl0IHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24udGFrZVNjcmVlbnNob3QoKSxuPSgwLGwuY29udmVydEltYWdlTmFtZVRvVXJsKSh0KTtyZXR1cm57c3ltYm9sOigwLGMuc2hvcnROYW1lKShlKSxpbWFnZVVybDpufX0sKDAsaS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246ci5hbnkuaXNSZXF1aXJlZH0pfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTp0LGlkOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChlLHtpZDpuLGNsYXNzTmFtZTp0LHRvb2x0aXA6bS50YWtlU25hcHNob3Qsc2VydmVyU25hcHNob3Q6dGhpcy5fc2VydmVyU25hcHNob3QsY2xpZW50U25hcHNob3Q6dGhpcy5fY2xpZW50U25hcHNob3Qsc25hcHNob3RVcmw6dGhpcy5jb250ZXh0LnNuYXBzaG90VXJsfSl9fSkuY29udGV4dFR5cGU9dSx0fX0sODYxMTg4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZvY3VzRmlyc3RNZW51SXRlbTooKT0+ZCxoYW5kbGVBY2Nlc3NpYmxlTWVudUZvY3VzOigpPT5zLGhhbmRsZUFjY2Vzc2libGVNZW51S2V5RG93bjooKT0+YyxxdWVyeU1lbnVFbGVtZW50czooKT0+aH0pO3ZhciBhPW4oOTgzNjE2KSxvPW4oMzI5NjY4KSxyPW4oMjM1NzI0KSxpPW4oNjgyMzgxKTtjb25zdCBsPVszNywzOSwzOCw0MF07ZnVuY3Rpb24gcyhlLHQpe2lmKCFlLnRhcmdldClyZXR1cm47Y29uc3Qgbj1lLnJlbGF0ZWRUYXJnZXQ/LmdldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iik7aWYoZS5yZWxhdGVkVGFyZ2V0IT09dC5jdXJyZW50KXtjb25zdCBlPW4mJmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG4pO2lmKCFlfHxlIT09dC5jdXJyZW50KXJldHVybn1kKGUudGFyZ2V0KX1mdW5jdGlvbiBjKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFsLmluY2x1ZGVzKHQpKXJldHVybjtjb25zdCBuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIShkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBpPWgoZS5jdXJyZW50VGFyZ2V0KS5zb3J0KGEubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PWkubGVuZ3RoKXJldHVybjtjb25zdCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtcm9sZT0ibWVudWl0ZW0iXScpfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXJvbGU9Im1lbnVpdGVtIl0nKTtpZighKHMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IGM9aS5pbmRleE9mKHMpO2lmKC0xPT09YylyZXR1cm47Y29uc3QgZD12KHMpLHA9ZC5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLGY9LTEhPT1wLGc9ZT0+e24mJigwLG8uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkobiksKDAsby5iZWNvbWVNYWluRWxlbWVudCkoZSksZS5mb2N1cygpfTtzd2l0Y2goKDAsYS5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOmlmKCFkLmxlbmd0aClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGcoMD09PXA/aVtjXTpmP20oZCxwLC0xKTpkW2QubGVuZ3RoLTFdKTticmVhaztjYXNlImlubGluZU5leHQiOgppZighZC5sZW5ndGgpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxwPT09ZC5sZW5ndGgtMT9nKGlbY10pOmcoZj9tKGQscCwxKTpkWzBdKTticmVhaztjYXNlImJsb2NrUHJldiI6e2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PW0oaSxjLC0xKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCk7YnJlYWt9Y2FzZSJibG9ja05leHQiOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1tKGksYywxKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCl9fX1mdW5jdGlvbiBkKGUpe2NvbnN0W3RdPWgoZSk7dCYmKCgwLG8uYmVjb21lTWFpbkVsZW1lbnQpKHQpLHQuZm9jdXMoKSl9ZnVuY3Rpb24gbShlLHQsbil7cmV0dXJuIGVbKHQrZS5sZW5ndGgrbiklZS5sZW5ndGhdfWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBuPXYoZSk7cmV0dXJuIG4ubGVuZ3RoP25bKHQrbi5sZW5ndGgpJW4ubGVuZ3RoXTpudWxsfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1yb2xlPSJtZW51aXRlbSJdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfX0sNjE5MTA1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVGYXZvcml0ZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMTgyMzA4KSxsPW4oMzU3MjYyKSxzPW4oNjg0NzM3KSxjPW4oNTcwNDk4KTtmdW5jdGlvbiBkKGUpe2NvbnN0e29uQ2xpY2s6dCxpc0ZpbGxlZDpuLGlzQWN0aXZlOm8sY2xhc3NOYW1lOmQsY29sb3JUeXBlOm09ImxlZ2FjeSIsLi4udX09ZSxbaCx2XT0oMCxpLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCkscD1uP3MucmVtb3ZlVGl0bGVzTWFwW3MuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06cy5yZW1vdmVUaXRsZXNNYXBbcy5SZW1vdmVUaXRsZVR5cGUuQWRkXTtyZXR1cm4oMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1oLmN1cnJlbnQ7ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb21tb24tdG9vbHRpcC11cGRhdGUiKSl9KSxbcCxoXSksYS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtyZWY6aCx0YWJJbmRleDp2LG9uQ2xpY2s6dCxjbGFzc05hbWU6cigpKGMuYnV0dG9uLG8mJmMuYWN0aXZlLGQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksdHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6cCwiZGF0YS10b29sdGlwIjpwLCJkYXRhLXFhLWlkIjoicHJlc2V0LW1lbnUtZmF2b3JpdGUtYnV0dG9uIn0sYS5jcmVhdGVFbGVtZW50KGwuRmF2b3JpdGVCdXR0b24sey4uLnUsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLHRpdGxlOiIiLGNsYXNzTmFtZTpyKCkoYy5mYXZvcml0ZSwibmV3Ij09PW0mJm4mJmMuZmlsbGVkLG8mJmMuYWN0aXZlKX0pKX19LDI1NTMyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRTooKT0+dSxNZW51SXRlbVN3aXRjaGVyOigpPT5ofSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigxMjgzMiksbD1uKDI3MzMxMCkscz1uKDIzNTcyNCksYz1uKDE4MjMwOCksZD1uKDM0NTExNiksbT1uKDczNTQ2Mik7Y29uc3QgdT1tO2Z1bmN0aW9uIGgoZSl7Y29uc3R7cm9sZTp0LGNoZWNrZWQ6bixvbkNoYW5nZTpvLGNsYXNzTmFtZTp1LGlkOmgsbGFiZWw6dixsYWJlbERlc2NyaXB0aW9uOnAscHJldmVudExhYmVsSGlnaGxpZ2h0OmYsdmFsdWU6ZyxyZWZlcmVuY2U6dyxzd2l0Y2hSZWZlcmVuY2U6Yix0aGVtZTp5PW0sZGlzYWJsZWQ6RSxzd2l0Y2hSb2xlOlQsaWNvbjp4fT1lLFtJLENdPSgwLGMudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxTPXIoKSh5LmxhYmVsLG4mJiFmJiZ5LmxhYmVsT24sRSYmbS5sYWJlbF9kaXNhYmxlZCksaz1yKCkodSx5LndyYXBwZXIsbiYmeS53cmFwcGVyV2l0aE9uTGFiZWwscCYmeS53cmFwcGVyV2l0aERlc2NyaXB0aW9uKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JvbGU6dCxjbGFzc05hbWU6cigpKGsseCYmeS53aXRoSWNvbixtLmFjY2Vzc2libGUpLGh0bWxGb3I6aCxyZWY6dyxvbktleURvd246ZnVuY3Rpb24oZSl7aWYoZS50YXJnZXQhPT1lLmN1cnJlbnRUYXJnZXQpcmV0dXJuO2NvbnN0IHQ9KDAscy5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxJLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmSS5jdXJyZW50LmNsaWNrKCkpfSx0YWJJbmRleDpDLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOkV8fHZvaWQgMCwiYXJpYS1zZWxlY3RlZCI6bn0sdm9pZCAwIT09eCYmYS5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnkuaWNvbixpY29uOnh9KSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsUm93fSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpTfSx2KSxwJiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsSGludH0scCkpLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm0uc3dpdGNoV3JhcH0sYS5jcmVhdGVFbGVtZW50KGkuU3dpdGNoLHtkaXNhYmxlZDpFLGNsYXNzTmFtZTp5LnN3aXRjaCxyZWZlcmVuY2U6ZnVuY3Rpb24oZSl7SShlKSxiPy4oZSl9LGNoZWNrZWQ6bixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdCB0PWUudGFyZ2V0LmNoZWNrZWQ7dm9pZCAwIT09byYmbyh0KX0sdmFsdWU6Zyx0YWJJbmRleDotMSxpZDpoLHJvbGU6VCxhcmlhRGlzYWJsZWQ6ITAsCi4uLigwLGQuZmlsdGVyRGF0YVByb3BzKShlKX0pKSl9fSwzNzQzMDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWVudUl0ZW1Td2l0Y2hlck1vYmlsZVRoZW1lOigpPT5pfSk7dmFyIGE9bigzODcyMzEpLG89bigyNTUzMjkpLHI9big1NTMxNDkpO2NvbnN0IGk9KDAsYS5tZXJnZVRoZW1lcykoby5ERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRSxyKX0sOTk1NzE5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xXaWRnZXRCdXR0b246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDI3NzA3Nik7Y29uc3Qgcz1sLGM9YS5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e3RhZzpuPSJkaXYiLGljb246byxlbmRJY29uOnMsaXNBY3RpdmU6Yyxpc09wZW5lZDpkLGlzRGlzYWJsZWQ6bSxpc0Rpc2FibGVkQXBwZWFyYW5jZTp1LGlzRGlzYWJsZUludGVyYWN0aW9uOmgsaXNHcm91cGVkOnYsaXNIb3ZlcmVkOnAsaXNDbGlja2VkOmYsb25DbGljazpnLHRleHQ6dyx0ZXh0QmVmb3JlSWNvbjpiLHRpdGxlOnksdGhlbWU6RT1sLGNsYXNzTmFtZTpULGZvcmNlSW50ZXJhY3RpdmU6eCwiZGF0YS1uYW1lIjpJLCJkYXRhLXRvb2x0aXAiOkMsdG9vbHRpcFBvc2l0aW9uOlMsY2hpbGRyZW46ayxpc1ByZXNzZWQ6XywuLi5NfT1lLE49cigpKFQsRS5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6Qm9vbGVhbih5fHxDKSwiY29tbW9uLXRvb2x0aXAtdmVydGljYWwiOkJvb2xlYW4oQykmJiJ2ZXJ0aWNhbCI9PT1TLFtFLmlzQWN0aXZlXTpjLFtFLmlzT3BlbmVkXTpkLFtFLmlzSW50ZXJhY3RpdmVdOih4fHxCb29sZWFuKGcpKSYmIW0mJiF1LFtFLmlzRGlzYWJsZWRdOkJvb2xlYW4obXx8dSksW0UuaXNHcm91cGVkXTp2LFtFLmhvdmVyXTpwLFtFLmNsaWNrZWRdOmYsW0UucHJlc3NlZF06X30pLHo9byYmKCJzdHJpbmciPT10eXBlb2Ygbz9hLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtjbGFzc05hbWU6RS5pY29uLGljb246b30pOmEuY2xvbmVFbGVtZW50KG8se2NsYXNzTmFtZTpyKCkoRS5pY29uLG8ucHJvcHMuY2xhc3NOYW1lKX0pKTtyZXR1cm4iYnV0dG9uIj09PW4/YS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5NLHJlZjp0LHR5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOnIoKShOLEUuYWNjZXNzaWJsZSksZGlzYWJsZWQ6bSYmIXV8fGgsb25DbGljazpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxrKTphLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLk0scmVmOnQsImRhdGEtcm9sZSI6ImJ1dHRvbiIsY2xhc3NOYW1lOk4sb25DbGljazptfHxoP3ZvaWQgMDpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxzJiZhLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtpY29uOnMsY2xhc3NOYW1lOmwuZW5kSWNvbn0pLGspfSkpfSw0MDg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0SWNvbkJ1dHRvbjooKT0+c30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oOTk1NzE5KSxsPW4oMjk4MDg2KTtjb25zdCBzPWEuZm9yd2FyZFJlZigoZnVuY3Rpb24oZSx0KXtjb25zdHtjbGFzc05hbWU6bixpZDpvLC4uLnN9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24se2lkOm8sImRhdGEtbmFtZSI6bywuLi5zLHJlZjp0LGNsYXNzTmFtZTpyKCkobixsLmJ1dHRvbil9KX0pKX0sMTAzMTYwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRleHRBY3Rpb246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDk4ODA2OCksbD1uKDkxMzc3KTtjb25zdCBzPXtbaS5EQVRBX0lTX0NPTlRFWFRfQUNUSU9OXTohMH07ZnVuY3Rpb24gYyhlKXtjb25zdHtjaGlsZHJlbjp0LGNsYXNzTmFtZTpuLGhpZGVJZk5vSG92ZXI6bywuLi5pfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5pLC4uLnMsY2xhc3NOYW1lOnIoKShsLmFjdGlvbixvJiZsLnNob3dPbkhvdmVyLG4pLG9uQ2xpY2s6ZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfX0sdCl9fSw5Nzk3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVJY29uQnV0dG9uOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big3MTk3MzcpLHI9bigxODIzMDgpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7aXNGYXZvcml0ZTp0LG9uQ2xpY2s6bn09ZSxbaSxsXT0oMCxyLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChvLkZhdm9yaXRlSWNvbkJ1dHRvbix7cmVmOmkscm9sZToiYnV0dG9uIix0YWJJbmRleDpsLGlzRmF2b3JpdGU6dCxvbkNoYW5nZUlzRmF2b3JpdGU6KCk9Pm4oKSwiZGF0YS1xYS1pZCI6InByZXNldC1tZW51LWZhdm9yaXRlLWJ1dHRvbiJ9KX19LDcyMzk4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51U3dpdGNoZXJJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89bigzMDgyMTYpLHI9bigzMTMxMTApO2Z1bmN0aW9uIGkoZSl7Y29uc3R7dmFsdWU6dCwuLi5ufT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoci5NZW51SXRlbSx7Li4ubixyaWdodFNsb3Q6YS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCJ9LGEuY3JlYXRlRWxlbWVudChvLlN3aXRjaFZpZXcse2NoZWNrZWQ6dH0pKSxhcmlhQ2hlY2tlZDp0LApkb250Q2xvc2VQb3B1cDohMH0pfX0sNTU4MDc1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dlbmVyYXRlQ2hhcnRVcmw6KCk9Pm99KTt2YXIgYT1uKDExNzMxMyk7ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUuY2hhcnRJZD9gL2NoYXJ0LyR7ZS5jaGFydElkfS9gOiIvY2hhcnQvIixuPW5ldyBVUkwodCxsb2NhdGlvbi5ocmVmKTtyZXR1cm4gZS5zeW1ib2wmJm4uc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIixlLnN5bWJvbCksZS5pbnRlcnZhbCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbnRlcnZhbCIsZS5pbnRlcnZhbCksZS5zdHlsZSYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzdHlsZSIsZS5zdHlsZSksKDAsYS51cmxXaXRoTW9iaWxlQXBwUGFyYW1zKShuLmhyZWYpfX0sOTA4MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJvd3NOYXZpZ2F0aW9uOigpPT5tfSk7dmFyIGE9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big5ODM2MTYpLGk9bigyMzU3MjQpLGw9bigzMjk2NjgpLHM9big2ODIzODEpLGM9big2MTYzMTEpO2NvbnN0IGQ9WzM3LDM5LDM4LDQwXTtmdW5jdGlvbiBtKGUpe2NvbnN0IHQ9KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGMudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxvLmVuc3VyZU5vdE51bGwpKHQuY3VycmVudCksbj0oKT0+e2NvbnN0IG49KDAsci5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZigwPT09bi5sZW5ndGh8fG5bMF0ucGFyZW50RWxlbWVudCYmIXYoblswXS5wYXJlbnRFbGVtZW50LCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpe2NvbnN0IGE9ZnVuY3Rpb24oZSl7Y29uc3Qgbj1oKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxhPW4uZmluZCgoZT0+dihlLCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpKTtpZighYSlyZXR1cm4gbnVsbDtjb25zdCBpPUFycmF5LmZyb20oYS5jaGlsZHJlbik7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBpWzBdfShlKTtpZihudWxsPT09YSlyZXR1cm47aWYoKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoYSksbi5sZW5ndGg+MClmb3IoY29uc3QgZSBvZiBuKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoZSl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsbiksbigpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIixuKX0pLFtdKSxbdCxmdW5jdGlvbih0KXtpZih0LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IG49KDAsaS5oYXNoRnJvbUV2ZW50KSh0KTtpZighZC5pbmNsdWRlcyhuKSlyZXR1cm47Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoYSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbz10LmN1cnJlbnRUYXJnZXQ7bGV0IGwsYztpZihlKXtjb25zdCBlPWEucGFyZW50RWxlbWVudDtsPWU/QXJyYXkuZnJvbShlLmNoaWxkcmVuKTpbXSxjPWwuaW5kZXhPZihhKX1lbHNlIGw9KG09byxBcnJheS5mcm9tKG0ucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxzLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShtKSkpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxjPWwuaW5kZXhPZihhKTt2YXIgbTtpZigwPT09bC5sZW5ndGh8fC0xPT09YylyZXR1cm47Y29uc3Qgdj0oMCxyLm1hcEtleUNvZGVUb0RpcmVjdGlvbikobik7c3dpdGNoKHYpe2Nhc2UiaW5saW5lUHJldiI6aWYodC5wcmV2ZW50RGVmYXVsdCgpLCFlJiYwPT09YylicmVhaztwKHUobCxjLC0xKSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjppZih0LnByZXZlbnREZWZhdWx0KCksIWUmJmM9PT1sLmxlbmd0aC0xKWJyZWFrO3AodShsLGMsMSkpO2JyZWFrO2Nhc2UiYmxvY2tQcmV2IjpjYXNlImJsb2NrTmV4dCI6KG49PntpZighZG9jdW1lbnQuYWN0aXZlRWxlbWVudClyZXR1cm47Y29uc3QgYT1oKG8pLHI9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O2lmKCFyKXJldHVybjtjb25zdCBpPUFycmF5LmZyb20oci5jaGlsZHJlbikuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZigtMT09PWkpcmV0dXJuO2NvbnN0IGw9YVsiYmxvY2tOZXh0Ij09PW4/YS5pbmRleE9mKHIpKzE6YS5pbmRleE9mKHIpLTFdO2lmKCFsKXJldHVybjt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcz1BcnJheS5mcm9tKGwuY2hpbGRyZW4pO3MubGVuZ3RoJiYoIWUmJmk8PXMubGVuZ3RoLTE/cChzW2ldKTpwKHNbMF0pKX0pKHYpfX1dfWZ1bmN0aW9uIHUoZSx0LG4pe3JldHVybiBlWyh0K2UubGVuZ3RoK24pJWUubGVuZ3RoXX1mdW5jdGlvbiBoKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcm9sZT0icm93Il0nKSkuZmlsdGVyKCgwLHMuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiB2KGUsdCl7Y29uc3Qgbj0oMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkub2Zmc2V0VG9wLGE9bisoMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkuY2xpZW50SGVpZ2h0LHI9dC5zY3JvbGxUb3AsaT1yK3QuY2xpZW50SGVpZ2h0O3JldHVybiBuPj1yJiZhPD1pfWZ1bmN0aW9uIHAoZSl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShlKSxlLmZvY3VzKCl9fSw3MDM4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QmFkZ2VOZXc6KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDU5MDQ4NiksbD1uKDIzNDYzNikscz1uKDUyODEwMSk7ZnVuY3Rpb24gYyhlKXtjb25zdHtzaXplOnQsY2xhc3NOYW1lOm59PWUKO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoaS5CYWRnZSx7c2l6ZTp0Pz9sLkJhZGdlU2l6ZS5YU21hbGwsY2xhc3NOYW1lOnIoKShzLmJhZGdlTmV3LG4pfSwiTkVXIil9fSw0Mjc3NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RU1QVFlfRU1PSkk6KCk9PmF9KTtjb25zdCBhPSIifSwzMTUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZW1vamlHcm91cHM6KCk9PkwsaXNTdXBwb3J0ZWRFbW9qaTooKT0+TSxsb2NhbGVDb21wYXJlRW1vamlUaXRsZXM6KCk9PnoscmVtb3ZlVW5hdmFpbGFibGVFbW9qaTooKT0+XyxzZXBhcmF0ZUVtb2ppOigpPT5OfSk7dmFyIGE9big3Nzk0NzQpLG89bigxODUyNzEpLHI9big2NjMwNDYpLGk9big2NDE1OTMpLGw9bigxMzg2MzgpLHM9bigyNzM3MzIpLGM9big4MTQ2NzApLGQ9big2MjA3ODEpLG09bigxNjExNzcpLHU9bigxODU2MDUpLGg9bigyMDI1MTEpLHY9big3NTA3NjkpLHA9big2OTQ1MzIpLGY9big5MDAzMTEpLGc9big1Njk3ODUpCjtjb25zdCB3PVsi8J+YgCIsIvCfmIMiLCLwn5iEIiwi8J+YgSIsIvCfmIYiLCLwn5iFIiwi8J+YgiIsIvCfpKMiLCLimLrvuI8iLCLwn5iKIiwi8J+YhyIsIvCfmYIiLCLwn5mDIiwi8J+YiSIsIvCfmIwiLCLwn5iNIiwi8J+lsCIsIvCfmJgiLCLwn5iXIiwi8J+YmSIsIvCfmJoiLCLwn5iLIiwi8J+YmyIsIvCfmJ0iLCLwn5icIiwi8J+kqiIsIvCfpKgiLCLwn6eQIiwi8J+kkyIsIvCfmI4iLCLwn6SpIiwi8J+lsyIsIvCfmI8iLCLwn5iSIiwi8J+YniIsIvCfmJQiLCLwn5ifIiwi8J+YlSIsIvCfmYEiLCLimLnvuI8iLCLwn5ijIiwi8J+YliIsIvCfmKsiLCLwn5ipIiwi8J+luiIsIvCfmKIiLCLwn5itIiwi8J+YpCIsIvCfmKAiLCLwn5ihIiwi8J+krCIsIvCfpK8iLCLwn5izIiwi8J+ltSIsIvCfpbYiLCLwn5ixIiwi8J+YqCIsIvCfmLAiLCLwn5ilIiwi8J+YkyIsIvCfpJciLCLwn6SUIiwi8J+krSIsIvCfpKsiLCLwn6SlIiwi8J+YtiIsIvCfmJAiLCLwn5iRIiwi8J+YrCIsIvCfmYQiLCLwn5ivIiwi8J+YpiIsIvCfmKciLCLwn5iuIiwi8J+YsiIsIvCfpbEiLCLwn5i0Iiwi8J+kpCIsIvCfmKoiLCLwn5i1Iiwi8J+kkCIsIvCfpbQiLCLwn6SiIiwi8J+kriIsIvCfpKciLCLwn5i3Iiwi8J+kkiIsIvCfpJUiLCLwn6SRIiwi8J+koCIsIvCfmIgiLCLwn5G/Iiwi8J+RuSIsIvCfkboiLCLwn6ShIiwi8J+SqSIsIvCfkbsiLCLwn5KAIiwi4pig77iPIiwi8J+RvSIsIvCfkb4iLCLwn6SWIiwi8J+OgyIsIvCfmLoiLCLwn5i4Iiwi8J+YuSIsIvCfmLsiLCLwn5i8Iiwi8J+YvSIsIvCfmYAiLCLwn5i/Iiwi8J+YviIsIvCfkYsiLCLwn6SaIiwi8J+WkCIsIuKciyIsIvCflpYiLCLwn5GMIiwi8J+kjyIsIuKcjO+4jyIsIvCfpJ4iLCLwn6SfIiwi8J+kmCIsIvCfpJkiLCLwn5GIIiwi8J+RiSIsIvCfkYYiLCLwn5aVIiwi8J+RhyIsIuKYne+4jyIsIvCfkY0iLCLwn5GOIiwi4pyKIiwi8J+RiiIsIvCfpJsiLCLwn6ScIiwi8J+RjyIsIvCfmYwiLCLwn5GQIiwi8J+ksiIsIvCfpJ0iLCLwn5mPIiwi4pyN77iPIiwi8J+ShSIsIvCfpLMiLCLwn5KqIiwi8J+mviIsIvCfprUiLCLwn6a/Iiwi8J+mtiIsIvCfkYIiLCLwn6a7Iiwi8J+RgyIsIvCfp6AiLCLwn6a3Iiwi8J+mtCIsIvCfkYAiLCLwn5GBIiwi8J+RhSIsIvCfkYQiLCLwn5KLIiwi8J+puCIsIvCfkbYiLCLwn6eSIiwi8J+RpiIsIvCfkaciLCLwn6eRIiwi8J+RsSIsIvCfkagiLCLwn6eUIiwi8J+RqOKAjfCfprAiLCLwn5Go4oCN8J+msSIsIvCfkajigI3wn6azIiwi8J+RqOKAjfCfprIiLCLwn5GpIiwi8J+RqeKAjfCfprAiLCLwn6eR4oCN8J+msCIsIvCfkanigI3wn6axIiwi8J+nkeKAjfCfprEiLCLwn5Gp4oCN8J+msyIsIvCfp5HigI3wn6azIiwi8J+RqeKAjfCfprIiLCLwn6eR4oCN8J+msiIsIvCfkbHigI3imYDvuI8iLCLwn5Gx4oCN4pmC77iPIiwi8J+nkyIsIvCfkbQiLCLwn5G1Iiwi8J+ZjSIsIvCfmY3igI3imYLvuI8iLCLwn5mN4oCN4pmA77iPIiwi8J+ZjiIsIvCfmY7igI3imYLvuI8iLCLwn5mO4oCN4pmA77iPIiwi8J+ZhSIsIvCfmYXigI3imYLvuI8iLCLwn5mF4oCN4pmA77iPIiwi8J+ZhiIsIvCfmYbigI3imYLvuI8iLCLwn5mG4oCN4pmA77iPIiwi8J+SgSIsIvCfkoHigI3imYLvuI8iLCLwn5KB4oCN4pmA77iPIiwi8J+ZiyIsIvCfmYvigI3imYLvuI8iLCLwn5mL4oCN4pmA77iPIiwi8J+njyIsIvCfp4/igI3imYLvuI8iLCLwn6eP4oCN4pmA77iPIiwi8J+ZhyIsIvCfmYfigI3imYLvuI8iLCLwn5mH4oCN4pmA77iPIiwi8J+kpiIsIvCfpKbigI3imYLvuI8iLCLwn6Sm4oCN4pmA77iPIiwi8J+ktyIsIvCfpLfigI3imYLvuI8iLCLwn6S34oCN4pmA77iPIiwi8J+nkeKAjeKale+4jyIsIvCfkajigI3impXvuI8iLCLwn5Gp4oCN4pqV77iPIiwi8J+nkeKAjfCfjpMiLCLwn5Go4oCN8J+OkyIsIvCfkanigI3wn46TIiwi8J+nkeKAjfCfj6siLCLwn5Go4oCN8J+PqyIsIvCfkanigI3wn4+rIiwi8J+nkeKAjeKalu+4jyIsIvCfkajigI3impbvuI8iLCLwn5Gp4oCN4pqW77iPIiwi8J+nkeKAjfCfjL4iLCLwn5Go4oCN8J+MviIsIvCfkanigI3wn4y+Iiwi8J+nkeKAjfCfjbMiLCLwn5Go4oCN8J+NsyIsIvCfkanigI3wn42zIiwi8J+nkeKAjfCflKciLCLwn5Go4oCN8J+UpyIsIvCfkanigI3wn5SnIiwi8J+nkeKAjfCfj60iLCLwn5Go4oCN8J+PrSIsIvCfkanigI3wn4+tIiwi8J+nkeKAjfCfkrwiLCLwn5Go4oCN8J+SvCIsIvCfkanigI3wn5K8Iiwi8J+nkeKAjfCflKwiLCLwn5Go4oCN8J+UrCIsIvCfkanigI3wn5SsIiwi8J+nkeKAjfCfkrsiLCLwn5Go4oCN8J+SuyIsIvCfkanigI3wn5K7Iiwi8J+nkeKAjfCfjqQiLCLwn5Go4oCN8J+OpCIsIvCfkanigI3wn46kIiwi8J+nkeKAjfCfjqgiLCLwn5Go4oCN8J+OqCIsIvCfkanigI3wn46oIiwi8J+nkeKAjeKciO+4jyIsIvCfkajigI3inIjvuI8iLCLwn5Gp4oCN4pyI77iPIiwi8J+nkeKAjfCfmoAiLCLwn5Go4oCN8J+agCIsIvCfkanigI3wn5qAIiwi8J+nkeKAjfCfmpIiLCLwn5Go4oCN8J+akiIsIvCfkanigI3wn5qSIiwi8J+RriIsIvCfka7igI3imYLvuI8iLCLwn5Gu4oCN4pmA77iPIiwi8J+VtSIsIvCflbXvuI/igI3imYLvuI8iLCLwn5W177iP4oCN4pmA77iPIiwi8J+SgiIsIvCfkoLigI3imYLvuI8iLCLwn5KC4oCN4pmA77iPIiwi8J+RtyIsIvCfkbfigI3imYLvuI8iLCLwn5G34oCN4pmA77iPIiwi8J+ktCIsIvCfkbgiLCLwn5GzIiwi8J+Rs+KAjeKZgu+4jyIsIvCfkbPigI3imYDvuI8iLCLwn5GyIiwi8J+nlSIsIvCfpLUiLCLwn5GwIiwi8J+ksCIsIvCfpLEiLCLwn5G8Iiwi8J+OhSIsIvCfpLYiLCLwn6a4Iiwi8J+muOKAjeKZgu+4jyIsIvCfprjigI3imYDvuI8iLCLwn6a5Iiwi8J+mueKAjeKZgu+4jyIsIvCfprnigI3imYDvuI8iLCLwn6eZIiwi8J+nmeKAjeKZgu+4jyIsIvCfp5nigI3imYDvuI8iLCLwn6eaIiwi8J+nmuKAjeKZgu+4jyIsIvCfp5rigI3imYDvuI8iLCLwn6ebIiwi8J+nm+KAjeKZgu+4jyIsIvCfp5vigI3imYDvuI8iLCLwn6ecIiwi8J+nnOKAjeKZgu+4jyIsIvCfp5zigI3imYDvuI8iLCLwn6edIiwi8J+nneKAjeKZgu+4jyIsIvCfp53igI3imYDvuI8iLCLwn6eeIiwi8J+nnuKAjeKZgu+4jyIsIvCfp57igI3imYDvuI8iLCLwn6efIiwi8J+nn+KAjeKZgu+4jyIsIvCfp5/igI3imYDvuI8iLCLwn5KGIiwi8J+ShuKAjeKZgu+4jyIsIvCfkobigI3imYDvuI8iLCLwn5KHIiwi8J+Sh+KAjeKZgu+4jyIsIvCfkofigI3imYDvuI8iLCLwn5q2Iiwi8J+atuKAjeKZgu+4jyIsIvCfmrbigI3imYDvuI8iLCLwn6eNIiwi8J+njeKAjeKZgu+4jyIsIvCfp43igI3imYDvuI8iLCLwn6eOIiwi8J+njuKAjeKZgu+4jyIsIvCfp47igI3imYDvuI8iLCLwn6eR4oCN8J+mryIsIvCfkajigI3wn6avIiwi8J+RqeKAjfCfpq8iLCLwn6eR4oCN8J+mvCIsIvCfkajigI3wn6a8Iiwi8J+RqeKAjfCfprwiLCLwn6eR4oCN8J+mvSIsIvCfkajigI3wn6a9Iiwi8J+RqeKAjfCfpr0iLCLwn4+DIiwi8J+Pg+KAjeKZgu+4jyIsIvCfj4PigI3imYDvuI8iLCLwn5KDIiwi8J+VuiIsIvCflbQiLCLwn5GvIiwi8J+Rr+KAjeKZgu+4jyIsIvCfka/igI3imYDvuI8iLCLwn6eWIiwi8J+nluKAjeKZgu+4jyIsIvCfp5bigI3imYDvuI8iLCLwn6eR4oCN8J+kneKAjfCfp5EiLCLwn5GtIiwi8J+RqyIsIvCfkawiLCLwn5KPIiwi8J+RqOKAjeKdpO+4j+KAjfCfkovigI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkovigI3wn5GpIiwi8J+SkSIsIvCfkajigI3inaTvuI/igI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkakiLCLwn5GqIiwi8J+RqOKAjfCfkanigI3wn5GmIiwi8J+RqOKAjfCfkanigI3wn5GnIiwi8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5GmIiwi8J+RqOKAjfCfkajigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqOKAjfCfkafigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5GmIiwi8J+RqeKAjfCfkanigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkanigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Gp4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkaYiLCLwn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RpyIsIvCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gn4oCN8J+RpyIsIvCfkanigI3wn5GmIiwi8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqeKAjfCfkaciLCLwn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Gp4oCN8J+Rp+KAjfCfkaciLCLwn5ejIiwi8J+RpCIsIvCfkaUiLCLwn5GjIl0sYj1bIvCfkLYiLCLwn5CxIiwi8J+QrSIsIvCfkLkiLCLwn5CwIiwi8J+miiIsIvCfkLsiLCLwn5C8Iiwi8J+QqCIsIvCfkK8iLCLwn6aBIiwi8J+QriIsIvCfkLciLCLwn5C9Iiwi8J+QuCIsIvCfkLUiLCLwn5mIIiwi8J+ZiSIsIvCfmYoiLCLwn5CSIiwi8J+QlCIsIvCfkKciLCLwn5CmIiwi8J+QpCIsIvCfkKMiLCLwn5ClIiwi8J+mhiIsIvCfpoUiLCLwn6aJIiwi8J+mhyIsIvCfkLoiLCLwn5CXIiwi8J+QtCIsIvCfpoQiLCLwn5CdIiwi8J+QmyIsIvCfposiLCLwn5CMIiwi8J+QniIsIvCfkJwiLCLwn6afIiwi8J+mlyIsIvCflbciLCLwn5W4Iiwi8J+mgiIsIvCfkKIiLCLwn5CNIiwi8J+mjiIsIvCfppYiLCLwn6aVIiwi8J+QmSIsIvCfppEiLCLwn6aQIiwi8J+mniIsIvCfpoAiLCLwn5ChIiwi8J+QoCIsIvCfkJ8iLCLwn5CsIiwi8J+QsyIsIvCfkIsiLCLwn6aIIiwi8J+QiiIsIvCfkIUiLCLwn5CGIiwi8J+mkyIsIvCfpo0iLCLwn6anIiwi8J+QmCIsIvCfppsiLCLwn6aPIiwi8J+QqiIsIvCfkKsiLCLwn6aSIiwi8J+mmCIsIvCfkIMiLCLwn5CCIiwi8J+QhCIsIvCfkI4iLCLwn5CWIiwi8J+QjyIsIvCfkJEiLCLwn6aZIiwi8J+QkCIsIvCfpowiLCLwn5CVIiwi8J+QqSIsIvCfpq4iLCLwn5CV4oCN8J+muiIsIvCfkIgiLCLwn5CTIiwi8J+mgyIsIvCfppoiLCLwn6acIiwi8J+moiIsIvCfpqkiLCLwn5WKIiwi8J+QhyIsIvCfpp0iLCLwn6aoIiwi8J+moSIsIvCfpqYiLCLwn6alIiwi8J+QgSIsIvCfkIAiLCLwn5C/Iiwi8J+mlCIsIvCfkL4iLCLwn5CJIiwi8J+QsiIsIvCfjLUiLCLwn46EIiwi8J+MsiIsIvCfjLMiLCLwn4y0Iiwi8J+MsSIsIvCfjL8iLCLimJjvuI8iLCLwn42AIiwi8J+OjSIsIvCfjosiLCLwn42DIiwi8J+NgiIsIvCfjYEiLCLwn42EIiwi8J+QmiIsIvCfjL4iLCLwn5KQIiwi8J+MtyIsIvCfjLkiLCLwn6WAIiwi8J+MuiIsIvCfjLgiLCLwn4y8Iiwi8J+MuyIsIvCfjJ4iLCLwn4ydIiwi8J+MmyIsIvCfjJwiLCLwn4yaIiwi8J+MlSIsIvCfjJYiLCLwn4yXIiwi8J+MmCIsIvCfjJEiLCLwn4ySIiwi8J+MkyIsIvCfjJQiLCLwn4yZIiwi8J+MjiIsIvCfjI0iLCLwn4yPIiwi8J+qkCIsIvCfkqsiLCLirZDvuI8iLCLwn4yfIiwi4pyoIiwi4pqh77iPIiwi4piE77iPIiwi8J+SpSIsIvCflKUiLCLwn4yqIiwi8J+MiCIsIuKYgO+4jyIsIvCfjKQiLCLim4XvuI8iLCLwn4ylIiwi4piB77iPIiwi8J+MpiIsIvCfjKciLCLim4giLCLwn4ypIiwi8J+MqCIsIuKdhO+4jyIsIuKYg++4jyIsIuKbhO+4jyIsIvCfjKwiLCLwn5KoIiwi8J+SpyIsIvCfkqYiLCLimJTvuI8iLCLwn4yKIiwi8J+MqyJdLHk9WyLwn42PIiwi8J+NjiIsIvCfjZAiLCLwn42KIiwi8J+NiyIsIvCfjYwiLCLwn42JIiwi8J+NhyIsIvCfjZMiLCLwn42IIiwi8J+NkiIsIvCfjZEiLCLwn6WtIiwi8J+NjSIsIvCfpaUiLCLwn6WdIiwi8J+NhSIsIvCfjYYiLCLwn6WRIiwi8J+lpiIsIvCfpawiLCLwn6WSIiwi8J+MtiIsIvCfjL0iLCLwn6WVIiwi8J+nhCIsIvCfp4UiLCLwn6WUIiwi8J+NoCIsIvCfpZAiLCLwn6WvIiwi8J+NniIsIvCfpZYiLCLwn6WoIiwi8J+ngCIsIvCfpZoiLCLwn42zIiwi8J+niCIsIvCfpZ4iLCLwn6eHIiwi8J+lkyIsIvCfpakiLCLwn42XIiwi8J+NliIsIvCfjK0iLCLwn42UIiwi8J+NnyIsIvCfjZUiLCLwn6WqIiwi8J+lmSIsIvCfp4YiLCLwn4yuIiwi8J+MryIsIvCfpZciLCLwn6WYIiwi8J+lqyIsIvCfjZ0iLCLwn42cIiwi8J+NsiIsIvCfjZsiLCLwn42jIiwi8J+NsSIsIvCfpZ8iLCLwn6aqIiwi8J+NpCIsIvCfjZkiLCLwn42aIiwi8J+NmCIsIvCfjaUiLCLwn6WgIiwi8J+lriIsIvCfjaIiLCLwn42hIiwi8J+NpyIsIvCfjagiLCLwn42mIiwi8J+lpyIsIvCfp4EiLCLwn42wIiwi8J+OgiIsIvCfja4iLCLwn42tIiwi8J+NrCIsIvCfjasiLCLwn42/Iiwi8J+NqSIsIvCfjaoiLCLwn4ywIiwi8J+lnCIsIvCfja8iLCLwn6WbIiwi8J+NvCIsIuKYle+4jyIsIvCfjbUiLCLwn6eDIiwi8J+lpCIsIvCfjbYiLCLwn426Iiwi8J+NuyIsIvCfpYIiLCLwn423Iiwi8J+lgyIsIvCfjbgiLCLwn425Iiwi8J+niSIsIvCfjb4iLCLwn6eKIiwi8J+lhCIsIvCfjbQiLCLwn429Iiwi8J+loyIsIvCfpaEiLCLwn6WiIiwi8J+ngiJdLEU9WyLimr3vuI8iLCLwn4+AIiwi8J+PiCIsIuKavu+4jyIsIvCfpY4iLCLwn46+Iiwi8J+PkCIsIvCfj4kiLCLwn6WPIiwi8J+OsSIsIvCfqoAiLCLwn4+TIiwi8J+PuCIsIvCfj5IiLCLwn4+RIiwi8J+ljSIsIvCfj48iLCLwn6WFIiwi4puz77iPIiwi8J+qgSIsIvCfj7kiLCLwn46jIiwi8J+kvyIsIvCfpYoiLCLwn6WLIiwi8J+OvSIsIvCfm7kiLCLwn5u3Iiwi4pu4Iiwi8J+ljCIsIvCfjr8iLCLim7ciLCLwn4+CIiwi8J+qgiIsIvCfj4vvuI8iLCLwn4+L77iP4oCN4pmC77iPIiwi8J+Pi++4j+KAjeKZgO+4jyIsIvCfpLwiLCLwn6S84oCN4pmC77iPIiwi8J+kvOKAjeKZgO+4jyIsIvCfpLjigI3imYDvuI8iLCLwn6S4Iiwi8J+kuOKAjeKZgu+4jyIsIuKbue+4jyIsIuKbue+4j+KAjeKZgu+4jyIsIuKbue+4j+KAjeKZgO+4jyIsIvCfpLoiLCLwn6S+Iiwi8J+kvuKAjeKZgu+4jyIsIvCfpL7igI3imYDvuI8iLCLwn4+M77iPIiwi8J+PjO+4j+KAjeKZgu+4jyIsIvCfj4zvuI/igI3imYDvuI8iLCLwn4+HIiwi8J+nmCIsIvCfp5jigI3imYLvuI8iLCLwn6eY4oCN4pmA77iPIiwi8J+PhCIsIvCfj4TigI3imYLvuI8iLCLwn4+E4oCN4pmA77iPIiwi8J+PiiIsIvCfj4rigI3imYLvuI8iLCLwn4+K4oCN4pmA77iPIiwi8J+kvSIsIvCfpL3igI3imYLvuI8iLCLwn6S94oCN4pmA77iPIiwi8J+aoyIsIvCfmqPigI3imYLvuI8iLCLwn5qj4oCN4pmA77iPIiwi8J+nlyIsIvCfp5figI3imYLvuI8iLCLwn6eX4oCN4pmA77iPIiwi8J+atSIsIvCfmrXigI3imYLvuI8iLCLwn5q14oCN4pmA77iPIiwi8J+atCIsIvCfmrTigI3imYLvuI8iLCLwn5q04oCN4pmA77iPIiwi8J+PhiIsIvCfpYciLCLwn6WIIiwi8J+liSIsIvCfj4UiLCLwn46WIiwi8J+PtSIsIvCfjpciLCLwn46rIiwi8J+OnyIsIvCfjqoiLCLwn6S5Iiwi8J+kueKAjeKZgu+4jyIsIvCfpLnigI3imYDvuI8iLCLwn46tIiwi8J+OqCIsIvCfjqwiLCLwn46kIiwi8J+OpyIsIvCfjrwiLCLwn465Iiwi8J+lgSIsIvCfjrciLCLwn466Iiwi8J+OuCIsIvCfqpUiLCLwn467Iiwi8J+OsiIsIvCfjq8iLCLwn46zIiwi8J+OriIsIvCfjrAiLCLwn6epIl0sVD1bIvCfmpciLCLwn5qVIiwi8J+amSIsIvCfmowiLCLwn5qOIiwi8J+PjiIsIvCfmpMiLCLwn5qRIiwi8J+akiIsIvCfmpAiLCLwn5qaIiwi8J+amyIsIvCfmpwiLCLwn6avIiwi8J+mvSIsIvCfprwiLCLwn5u0Iiwi8J+asiIsIvCfm7UiLCLwn4+NIiwi8J+buiIsIvCfmqgiLCLwn5qUIiwi8J+ajSIsIvCfmpgiLCLwn5qWIiwi8J+aoSIsIvCfmqAiLCLwn5qfIiwi8J+agyIsIvCfmosiLCLwn5qeIiwi8J+anSIsIvCfmoQiLCLwn5qFIiwi8J+aiCIsIvCfmoIiLCLwn5qGIiwi8J+ahyIsIvCfmooiLCLwn5qJIiwi4pyI77iPIiwi8J+bqyIsIvCfm6wiLCLwn5upIiwi8J+SuiIsIvCfm7AiLCLwn5qAIiwi8J+buCIsIvCfmoEiLCLwn5u2Iiwi4pu177iPIiwi8J+apCIsIvCfm6UiLCLwn5uzIiwi4pu0Iiwi8J+aoiIsIuKak++4jyIsIuKbve+4jyIsIvCfmqciLCLwn5qmIiwi8J+apSIsIvCfmo8iLCLwn5e6Iiwi8J+XvyIsIvCfl70iLCLwn5e8Iiwi8J+PsCIsIvCfj68iLCLwn4+fIiwi8J+OoSIsIvCfjqIiLCLwn46gIiwi4puy77iPIiwi4puxIiwi8J+PliIsIvCfj50iLCLwn4+cIiwi8J+MiyIsIuKbsCIsIvCfj5QiLCLwn5e7Iiwi8J+PlSIsIuKbuu+4jyIsIvCfj6AiLCLwn4+hIiwi8J+PmCIsIvCfj5oiLCLwn4+XIiwi8J+PrSIsIvCfj6IiLCLwn4+sIiwi8J+PoyIsIvCfj6QiLCLwn4+lIiwi8J+PpiIsIvCfj6giLCLwn4+qIiwi8J+PqyIsIvCfj6kiLCLwn5KSIiwi8J+PmyIsIuKbqu+4jyIsIvCflYwiLCLwn5WNIiwi8J+blSIsIvCflYsiLCLim6kiLCLwn5ukIiwi8J+boyIsIvCfl74iLCLwn46RIiwi8J+PniIsIvCfjIUiLCLwn4yEIiwi8J+MoCIsIvCfjociLCLwn46GIiwi8J+MhyIsIvCfjIYiLCLwn4+ZIiwi8J+MgyIsIvCfjIwiLCLwn4yJIiwi8J+MgSJdLHg9WyLijJrvuI8iLCLwn5OxIiwi8J+TsiIsIvCfkrsiLCLijKjvuI8iLCLwn5alIiwi8J+WqCIsIvCflrEiLCLwn5ayIiwi8J+VuSIsIvCfl5wiLCLwn5K9Iiwi8J+SviIsIvCfkr8iLCLwn5OAIiwi8J+TvCIsIvCfk7ciLCLwn5O4Iiwi8J+TuSIsIvCfjqUiLCLwn5O9Iiwi8J+OniIsIvCfk54iLCLimI7vuI8iLCLwn5OfIiwi8J+ToCIsIvCfk7oiLCLwn5O7Iiwi8J+OmSIsIvCfjpoiLCLwn46bIiwi8J+nrSIsIuKPsSIsIuKPsiIsIuKPsCIsIvCflbAiLCLijJvvuI8iLCLij7MiLCLwn5OhIiwi8J+UiyIsIvCflIwiLCLwn5KhIiwi8J+UpiIsIvCfla8iLCLwn6qUIiwi8J+nryIsIvCfm6IiLCLwn5K4Iiwi8J+StSIsIvCfkrQiLCLwn5K2Iiwi8J+StyIsIvCfkrAiLCLwn5KzIiwi8J+SjiIsIuKalu+4jyIsIvCfp7AiLCLwn5SnIiwi8J+UqCIsIuKakiIsIvCfm6AiLCLim48iLCLwn5SpIiwi4pqZ77iPIiwi8J+nsSIsIuKbkyIsIvCfp7IiLCLwn5SrIiwi8J+SoyIsIvCfp6giLCLwn6qTIiwi8J+UqiIsIvCfl6EiLCLimpTvuI8iLCLwn5uhIiwi8J+arCIsIuKasO+4jyIsIuKase+4jyIsIvCfj7oiLCLwn5SuIiwi8J+TvyIsIvCfp78iLCLwn5KIIiwi4pqX77iPIiwi8J+UrSIsIvCflKwiLCLwn5WzIiwi8J+puSIsIvCfqboiLCLwn5KKIiwi8J+SiSIsIvCfp6wiLCLwn6agIiwi8J+nqyIsIvCfp6oiLCLwn4yhIiwi8J+nuSIsIvCfp7oiLCLwn6e7Iiwi8J+avSIsIvCfmrAiLCLwn5q/Iiwi8J+bgSIsIvCfm4AiLCLwn6e8Iiwi8J+qkiIsIvCfp70iLCLwn6e0Iiwi8J+bjiIsIvCflJEiLCLwn5edIiwi8J+aqiIsIvCfqpEiLCLwn5uLIiwi8J+bjyIsIvCfm4wiLCLwn6e4Iiwi8J+WvCIsIvCfm40iLCLwn5uSIiwi8J+OgSIsIvCfjogiLCLwn46PIiwi8J+OgCIsIvCfjooiLCLwn46JIiwi8J+OjiIsIvCfj64iLCLwn46QIiwi8J+npyIsIuKcie+4jyIsIvCfk6kiLCLwn5OoIiwi8J+TpyIsIvCfkowiLCLwn5OlIiwi8J+TpCIsIvCfk6YiLCLwn4+3Iiwi8J+TqiIsIvCfk6siLCLwn5OsIiwi8J+TrSIsIvCfk64iLCLwn5OvIiwi8J+TnCIsIvCfk4MiLCLwn5OEIiwi8J+TkSIsIvCfp74iLCLwn5OKIiwi8J+TiCIsIvCfk4kiLCLwn5eSIiwi8J+XkyIsIvCfk4YiLCLwn5OFIiwi8J+XkSIsIvCfk4ciLCLwn5eDIiwi8J+XsyIsIvCfl4QiLCLwn5OLIiwi8J+TgSIsIvCfk4IiLCLwn5eCIiwi8J+XniIsIvCfk7AiLCLwn5OTIiwi8J+TlCIsIvCfk5IiLCLwn5OVIiwi8J+TlyIsIvCfk5giLCLwn5OZIiwi8J+TmiIsIvCfk5YiLCLwn5SWIiwi8J+ntyIsIvCflJciLCLwn5OOIiwi8J+WhyIsIvCfk5AiLCLwn5OPIiwi8J+nriIsIvCfk4wiLCLwn5ONIiwi4pyC77iPIiwi8J+WiiIsIvCflosiLCLinJLvuI8iLCLwn5aMIiwi8J+WjSIsIvCfk50iLCLinI/vuI8iLCLwn5SNIiwi8J+UjiIsIvCflI8iLCLwn5SQIiwi8J+UkiIsIvCflJMiLCLwn6ezIiwi8J+MgiIsIuKYgu+4jyIsIvCfp7UiLCLwn6e2Iiwi8J+RkyIsIvCflbYiLCLwn6W9Iiwi8J+lvCIsIvCfproiLCLwn5GUIiwi8J+RlSIsIvCfkZYiLCLwn6ejIiwi8J+npCIsIvCfp6UiLCLwn6emIiwi8J+RlyIsIvCfkZgiLCLwn6W7Iiwi8J+psSIsIvCfqbIiLCLwn6mzIiwi8J+RmSIsIvCfkZoiLCLwn5GbIiwi8J+RnCIsIvCfkZ0iLCLwn46SIiwi8J+RniIsIvCfkZ8iLCLwn6W+Iiwi8J+lvyIsIvCfkaAiLCLwn5GhIiwi8J+psCIsIvCfkaIiLCLwn5GRIiwi8J+RkiIsIvCfjqkiLCLwn46TIiwi8J+noiIsIuKbkSIsIvCfkoQiLCLwn5KNIiwi8J+SvCJdLEk9WyLinaTvuI8iLCLwn6ehIiwi8J+SmyIsIvCfkpoiLCLwn5KZIiwi8J+SnCIsIvCflqQiLCLwn6SNIiwi8J+kjiIsIvCfkpQiLCLinaPvuI8iLCLwn5KVIiwi8J+SniIsIvCfkpMiLCLwn5KXIiwi8J+SliIsIvCfkpgiLCLwn5KdIiwi8J+SnyIsIuKYru+4jyIsIuKcne+4jyIsIuKYqu+4jyIsIvCflYkiLCLimLjvuI8iLCLinKHvuI8iLCLwn5SvIiwi8J+VjiIsIuKYr++4jyIsIuKYpu+4jyIsIvCfm5AiLCLim44iLCLimYjvuI8iLCLimYnvuI8iLCLimYrvuI8iLCLimYvvuI8iLCLimYzvuI8iLCLimY3vuI8iLCLimY7vuI8iLCLimY/vuI8iLCLimZDvuI8iLCLimZHvuI8iLCLimZLvuI8iLCLimZPvuI8iLCLwn4aUIiwi4pqb77iPIiwi8J+JkSIsIuKYou+4jyIsIuKYo++4jyIsIvCfk7QiLCLwn5OzIiwi8J+ItiIsIvCfiJrvuI8iLCLwn4i4Iiwi8J+IuiIsIvCfiLfvuI8iLCLinLTvuI8iLCLwn4aaIiwi8J+SriIsIvCfiZAiLCLjipnvuI8iLCLjipfvuI8iLCLwn4i0Iiwi8J+ItSIsIvCfiLkiLCLwn4iyIiwi8J+FsO+4jyIsIvCfhbHvuI8iLCLwn4aOIiwi8J+GkSIsIvCfhb7vuI8iLCLwn4aYIiwi4p2MIiwi4q2V77iPIiwi8J+bkSIsIuKblO+4jyIsIvCfk5siLCLwn5qrIiwi8J+SryIsIvCfkqIiLCLimajvuI8iLCLwn5q3Iiwi8J+aryIsIvCfmrMiLCLwn5qxIiwi8J+UniIsIvCfk7UiLCLwn5qtIiwi4p2X77iPIiwi4p2VIiwi4p2TIiwi4p2UIiwi4oC877iPIiwi4oGJ77iPIiwi8J+UhSIsIvCflIYiLCLjgL3vuI8iLCLimqDvuI8iLCLwn5q4Iiwi8J+UsSIsIuKanO+4jyIsIvCflLAiLCLimbvvuI8iLCLinIUiLCLwn4iv77iPIiwi8J+SuSIsIuKdh++4jyIsIuKcs++4jyIsIuKdjiIsIvCfjJAiLCLwn5KgIiwi4pOC77iPIiwi8J+MgCIsIvCfkqQiLCLwn4+nIiwi8J+aviIsIuKZv++4jyIsIvCfhb/vuI8iLCLwn4izIiwi8J+Igu+4jyIsIvCfm4IiLCLwn5uDIiwi8J+bhCIsIvCfm4UiLCLwn5q5Iiwi8J+auiIsIvCfmrwiLCLwn5q7Iiwi8J+ariIsIvCfjqYiLCLwn5O2Iiwi8J+IgSIsIvCflKMiLCLihLnvuI8iLCLwn5SkIiwi8J+UoSIsIvCflKAiLCLwn4aWIiwi8J+GlyIsIvCfhpkiLCLwn4aSIiwi8J+GlSIsIvCfhpMiLCIw77iP4oOjIiwiMe+4j+KDoyIsIjLvuI/ig6MiLCIz77iP4oOjIiwiNO+4j+KDoyIsIjXvuI/ig6MiLCI277iP4oOjIiwiN++4j+KDoyIsIjjvuI/ig6MiLCI577iP4oOjIiwi8J+UnyIsIvCflKIiLCIj77iP4oOjIiwiKu+4j+KDoyIsIuKPj++4jyIsIuKWtu+4jyIsIuKPuCIsIuKPryIsIuKPuSIsIuKPuiIsIuKPrSIsIuKPriIsIuKPqSIsIuKPqiIsIuKPqyIsIuKPrCIsIuKXgO+4jyIsIvCflLwiLCLwn5S9Iiwi4p6h77iPIiwi4qyF77iPIiwi4qyG77iPIiwi4qyH77iPIiwi4oaX77iPIiwi4oaY77iPIiwi4oaZ77iPIiwi4oaW77iPIiwi4oaV77iPIiwi4oaU77iPIiwi4oaq77iPIiwi4oap77iPIiwi4qS077iPIiwi4qS177iPIiwi8J+UgCIsIvCflIEiLCLwn5SCIiwi8J+UhCIsIvCflIMiLCLwn461Iiwi8J+OtiIsIuKelSIsIuKeliIsIuKelyIsIuKclu+4jyIsIuKZviIsIvCfkrIiLCLwn5KxIiwi4oSi77iPIiwiwqnvuI8iLCLCru+4jyIsIuOAsO+4jyIsIuKesCIsIuKevyIsIvCflJoiLCLwn5SZIiwi8J+UmyIsIvCflJ0iLCLwn5ScIiwi4pyU77iPIiwi4piR77iPIiwi8J+UmCIsIvCflLQiLCLwn5+gIiwi8J+foSIsIvCfn6IiLCLwn5S1Iiwi8J+foyIsIuKaq++4jyIsIuKaqu+4jyIsIvCfn6QiLCLwn5S6Iiwi8J+UuyIsIvCflLgiLCLwn5S5Iiwi8J+UtiIsIvCflLciLCLwn5SzIiwi8J+UsiIsIuKWqu+4jyIsIuKWq++4jyIsIuKXvu+4jyIsIuKXve+4jyIsIuKXvO+4jyIsIuKXu++4jyIsIvCfn6UiLCLwn5+nIiwi8J+fqCIsIvCfn6kiLCLwn5+mIiwi8J+fqiIsIuKsm++4jyIsIuKsnO+4jyIsIvCfn6siLCLwn5SIIiwi8J+UhyIsIvCflIkiLCLwn5SKIiwi8J+UlCIsIvCflJUiLCLwn5OjIiwi8J+ToiIsIvCfkYHigI3wn5eoIiwi8J+SrCIsIvCfkq0iLCLwn5evIiwi4pmg77iPIiwi4pmj77iPIiwi4pml77iPIiwi4pmm77iPIiwi8J+DjyIsIvCfjrQiLCLwn4CE77iPIiwi8J+VkCIsIvCflZEiLCLwn5WSIiwi8J+VkyIsIvCflZQiLCLwn5WVIiwi8J+VliIsIvCflZciLCLwn5WYIiwi8J+VmSIsIvCflZoiLCLwn5WbIiwi8J+VnCIsIvCflZ0iLCLwn5WeIiwi8J+VnyIsIvCflaAiLCLwn5WhIiwi8J+VoiIsIvCflaMiLCLwn5WkIiwi8J+VpSIsIvCflaYiLCLwn5WnIl0sQz1bIvCfj7PvuI8iLCLwn4+0Iiwi8J+PgSIsIvCfmqkiLCLwn4+z77iP4oCN8J+MiCIsIvCfj7TigI3imKDvuI8iLCLwn4em8J+HqyIsIvCfh6bwn4e9Iiwi8J+HpvCfh7EiLCLwn4ep8J+HvyIsIvCfh6bwn4e4Iiwi8J+HpvCfh6kiLCLwn4em8J+HtCIsIvCfh6bwn4euIiwi8J+HpvCfh7YiLCLwn4em8J+HrCIsIvCfh6bwn4e3Iiwi8J+HpvCfh7IiLCLwn4em8J+HvCIsIvCfh6bwn4e6Iiwi8J+HpvCfh7kiLCLwn4em8J+HvyIsIvCfh6fwn4e4Iiwi8J+Hp/Cfh60iLCLwn4en8J+HqSIsIvCfh6fwn4enIiwi8J+Hp/Cfh74iLCLwn4en8J+HqiIsIvCfh6fwn4e/Iiwi8J+Hp/Cfh68iLCLwn4en8J+HsiIsIvCfh6fwn4e5Iiwi8J+Hp/Cfh7QiLCLwn4en8J+HpiIsIvCfh6fwn4e8Iiwi8J+Hp/Cfh7ciLCLwn4eu8J+HtCIsIvCfh7vwn4esIiwi8J+Hp/Cfh7MiLCLwn4en8J+HrCIsIvCfh6fwn4erIiwi8J+Hp/Cfh64iLCLwn4ew8J+HrSIsIvCfh6jwn4eyIiwi8J+HqPCfh6YiLCLwn4eu8J+HqCIsIvCfh6jwn4e7Iiwi8J+Hp/Cfh7YiLCLwn4ew8J+HviIsIvCfh6jwn4erIiwi8J+HufCfh6kiLCLwn4eo8J+HsSIsIvCfh6jwn4ezIiwi8J+HqPCfh70iLCLwn4eo8J+HqCIsIvCfh6jwn4e0Iiwi8J+HsPCfh7IiLCLwn4eo8J+HrCIsIvCfh6jwn4epIiwi8J+HqPCfh7AiLCLwn4eo8J+HtyIsIvCfh6jwn4euIiwi8J+HrfCfh7ciLCLwn4eo8J+HuiIsIvCfh6jwn4e8Iiwi8J+HqPCfh74iLCLwn4eo8J+HvyIsIvCfh6nwn4ewIiwi8J+HqfCfh68iLCLwn4ep8J+HsiIsIvCfh6nwn4e0Iiwi8J+HqvCfh6giLCLwn4eq8J+HrCIsIvCfh7jwn4e7Iiwi8J+HrPCfh7YiLCLwn4eq8J+HtyIsIvCfh6rwn4eqIiwi8J+HqvCfh7kiLCLwn4eq8J+HuiIsIvCfh6vwn4ewIiwi8J+Hq/Cfh7QiLCLwn4er8J+HryIsIvCfh6vwn4euIiwi8J+Hq/Cfh7ciLCLwn4es8J+HqyIsIvCfh7Xwn4erIiwi8J+HufCfh6siLCLwn4es8J+HpiIsIvCfh6zwn4eyIiwi8J+HrPCfh6oiLCLwn4ep8J+HqiIsIvCfh6zwn4etIiwi8J+HrPCfh64iLCLwn4es8J+HtyIsIvCfh6zwn4exIiwi8J+HrPCfh6kiLCLwn4es8J+HtSIsIvCfh6zwn4e6Iiwi8J+HrPCfh7kiLCLwn4es8J+HrCIsIvCfh6zwn4ezIiwi8J+HrPCfh7wiLCLwn4es8J+HviIsIvCfh63wn4e5Iiwi8J+HrfCfh7MiLCLwn4et8J+HsCIsIvCfh63wn4e6Iiwi8J+HrvCfh7giLCLwn4eu8J+HsyIsIvCfh67wn4epIiwi8J+HrvCfh7ciLCLwn4eu8J+HtiIsIvCfh67wn4eqIiwi8J+HrvCfh7IiLCLwn4eu8J+HsSIsIvCfh67wn4e5Iiwi8J+Hr/Cfh7IiLCLwn4ev8J+HtSIsIvCfjowiLCLwn4ev8J+HqiIsIvCfh6/wn4e0Iiwi8J+HsPCfh78iLCLwn4ew8J+HqiIsIvCfh7Dwn4euIiwi8J+HvfCfh7AiLCLwn4ew8J+HvCIsIvCfh7Dwn4esIiwi8J+HsfCfh6YiLCLwn4ex8J+HuyIsIvCfh7Hwn4enIiwi8J+HsfCfh7giLCLwn4ex8J+HtyIsIvCfh7Hwn4e+Iiwi8J+HsfCfh64iLCLwn4ex8J+HuSIsIvCfh7Hwn4e6Iiwi8J+HsvCfh7QiLCLwn4ey8J+HsCIsIvCfh7Lwn4esIiwi8J+HsvCfh7wiLCLwn4ey8J+HviIsIvCfh7Lwn4e7Iiwi8J+HsvCfh7EiLCLwn4ey8J+HuSIsIvCfh7Lwn4etIiwi8J+HsvCfh7YiLCLwn4ey8J+HtyIsIvCfh7Lwn4e6Iiwi8J+HvvCfh7kiLCLwn4ey8J+HvSIsIvCfh6vwn4eyIiwi8J+HsvCfh6kiLCLwn4ey8J+HqCIsIvCfh7Lwn4ezIiwi8J+HsvCfh6oiLCLwn4ey8J+HuCIsIvCfh7Lwn4emIiwi8J+HsvCfh78iLCLwn4ey8J+HsiIsIvCfh7Pwn4emIiwi8J+Hs/Cfh7ciLCLwn4ez8J+HtSIsIvCfh7Pwn4exIiwi8J+Hs/Cfh6giLCLwn4ez8J+HvyIsIvCfh7Pwn4euIiwi8J+Hs/Cfh6oiLCLwn4ez8J+HrCIsIvCfh7Pwn4e6Iiwi8J+Hs/Cfh6siLCLwn4ew8J+HtSIsIvCfh7Lwn4e1Iiwi8J+Hs/Cfh7QiLCLwn4e08J+HsiIsIvCfh7Xwn4ewIiwi8J+HtfCfh7wiLCLwn4e18J+HuCIsIvCfh7Xwn4emIiwi8J+HtfCfh6wiLCLwn4e18J+HviIsIvCfh7Xwn4eqIiwi8J+HtfCfh60iLCLwn4e18J+HsyIsIvCfh7Xwn4exIiwi8J+HtfCfh7kiLCLwn4e18J+HtyIsIvCfh7bwn4emIiwi8J+Ht/Cfh6oiLCLwn4e38J+HtCIsIvCfh7fwn4e6Iiwi8J+Ht/Cfh7wiLCLwn4e88J+HuCIsIvCfh7jwn4eyIiwi8J+HuPCfh6YiLCLwn4e48J+HsyIsIvCfh7fwn4e4Iiwi8J+HuPCfh6giLCLwn4e48J+HsSIsIvCfh7jwn4esIiwi8J+HuPCfh70iLCLwn4e48J+HsCIsIvCfh7jwn4euIiwi8J+HrPCfh7giLCLwn4e48J+HpyIsIvCfh7jwn4e0Iiwi8J+Hv/Cfh6YiLCLwn4ew8J+HtyIsIvCfh7jwn4e4Iiwi8J+HqvCfh7giLCLwn4ex8J+HsCIsIvCfh6fwn4exIiwi8J+HuPCfh60iLCLwn4ew8J+HsyIsIvCfh7Hwn4eoIiwi8J+HtfCfh7IiLCLwn4e78J+HqCIsIvCfh7jwn4epIiwi8J+HuPCfh7ciLCLwn4e48J+HvyIsIvCfh7jwn4eqIiwi8J+HqPCfh60iLCLwn4e48J+HviIsIvCfh7nwn4e8Iiwi8J+HufCfh68iLCLwn4e58J+HvyIsIvCfh7nwn4etIiwi8J+HufCfh7EiLCLwn4e58J+HrCIsIvCfh7nwn4ewIiwi8J+HufCfh7QiLCLwn4e58J+HuSIsIvCfh7nwn4ezIiwi8J+HufCfh7ciLCLwn4e58J+HsiIsIvCfh7nwn4eoIiwi8J+HufCfh7siLCLwn4e78J+HriIsIvCfh7rwn4esIiwi8J+HuvCfh6YiLCLwn4em8J+HqiIsIvCfh6zwn4enIiwi8J+PtPOggafzoIGi86CBpfOgga7zoIGn86CBvyIsIvCfj7TzoIGn86CBovOggbPzoIGj86CBtPOggb8iLCLwn4+086CBp/OggaLzoIG386CBrPOggbPzoIG/Iiwi8J+HuvCfh7MiLCLwn4e68J+HuCIsIvCfh7rwn4e+Iiwi8J+HuvCfh78iLCLwn4e78J+HuiIsIvCfh7vwn4emIiwi8J+Hu/Cfh6oiLCLwn4e78J+HsyIsIvCfh7zwn4erIiwi8J+HqvCfh60iLCLwn4e+8J+HqiIsIvCfh7/wn4eyIiwi8J+Hv/Cfh7wiXSxTPVsuLi53LC4uLmIsLi4ueSwuLi5FLC4uLlQsLi4ueCwuLi5JLC4uLkNdLGs9bmV3IFNldChTKQo7ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9PmsuaGFzKGUpKSl9ZnVuY3Rpb24gTShlKXtyZXR1cm4gay5oYXMoZSl9Y29uc3QgTj0oMCxyLmRlZmF1bHQpKChlPT57Y29uc3QgdD0oMCxpLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKShlKSxuPW51bGwhPT10JiZNKHQpP3Q6IiI7cmV0dXJue2Vtb2ppOm4sZW1vamlMZXNzU3RyaW5nOmUucmVwbGFjZShuLCIiKX19KSk7ZnVuY3Rpb24geihlLHQsLi4ubil7Y29uc3QgYT1OKCgwLGwuZW5zdXJlTm90TnVsbCkoZSkpLmVtb2ppTGVzc1N0cmluZy50cmltKCksbz1OKCgwLGwuZW5zdXJlTm90TnVsbCkodCkpLmVtb2ppTGVzc1N0cmluZy50cmltKCk7cmV0dXJuIGE9PT1vP2UubG9jYWxlQ29tcGFyZSh0LC4uLm4pOmEubG9jYWxlQ29tcGFyZShvLC4uLm4pfWNvbnN0IEw9KCk9Plt7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig0NjU0NTYpKSxlbW9qaXM6W10sY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpjfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDMwNjA3MCkpLGVtb2ppczp3LGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246ZH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig2Njg0NDkpKSxlbW9qaXM6Yixjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOm19KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oMTQ3NTAwKSksZW1vamlzOnksY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjp1fSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDU3NDcxNSkpLGVtb2ppczpFLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246aH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxMjMxMzgpKSxlbW9qaXM6VCxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOnZ9KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oOTQzMzkzKSksZW1vamlzOngsY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpwfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDI3NjYwOSkpLGVtb2ppczpJLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246Zn0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxNzQxNzgpKSxlbW9qaXM6Qyxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOmd9KX1dfSw0Mjg5MjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RW1vamlJdGVtOigpPT51fSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigyNzMzMTApLGw9bigxODUyNzEpLHM9bigzMzMzMTIpLGM9big0Mjc3NzMpLGQ9big0MjgwOTcpLG09big4ODk1NDYpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7ZW1vamk6dCxjbGFzc05hbWU6b309ZTtpZih0PT09Yy5FTVBUWV9FTU9KSSlyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7Y2xhc3NOYW1lOnIoKShvLGQuY2xlYXJCdXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksaWNvbjptLHRpdGxlOmwudChudWxsLHZvaWQgMCxuKDc1NDM4MikpfSk7Y29uc3QgdT0oMCxzLmdldFR3ZW1vamlVcmwpKHQsInBuZyIpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImltZyIse2NsYXNzTmFtZTpyKCkobyxkLmVtb2ppKSxzcmM6dSxkZWNvZGluZzoiYXN5bmMiLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsYWx0OiIiLGRyYWdnYWJsZTohMSxvbkNvbnRleHRNZW51OmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQuY2xvc2VzdCgiYSIpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCl9fSl9fSwyNzM3MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SWNvbkl0ZW06KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDQwMjIzKTtmdW5jdGlvbiBzKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkobC53cmFwcGVyLGUuY2xhc3NOYW1lKX0sYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7aWNvbjplLmljb259KSl9fSw0MzA4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YmFja2VuZDooKT0+cX0pO3ZhciBhPXt9O24ucihhKSxuLmQoYSx7ZmF2b3JTdGFuZGFyZFN0dWR5VGVtcGxhdGU6KCk9Pk8sZmF2b3JTdHVkeVRlbXBsYXRlOigpPT5BLGdldENoYXJ0czooKT0+eCxnZXRDaGFydHNDb3VudDooKT0+SSxnZXREcmF3aW5nVGVtcGxhdGVzOigpPT5XLGdldFN0YW5kYXJkU3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkgsZ2V0U3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkIsZ2V0U3R1ZHlUZW1wbGF0ZXNMaXN0OigpPT56LGludmFsaWRhdGVTdHVkeVRlbXBsYXRlc0xpc3Q6KCk9PkwsbG9hZERyYXdpbmdUZW1wbGF0ZTooKT0+Rixsb2FkTGF5b3V0OigpPT5DLG9wZW5MYXlvdXRMaW5rOigpPT5TLHJlbW92ZUNoYXJ0OigpPT5NLHJlbW92ZURyYXdpbmdUZW1wbGF0ZTooKT0+SyxyZW1vdmVTdHVkeVRlbXBsYXRlOigpPT5qLHJlbmFtZVN0dWR5VGVtcGxhdGU6KCk9PlAscmVwbGFjZVN0dWR5VGVtcGxhdGU6KCk9PlUsc2F2ZUNoYXJ0OigpPT5fLHNhdmVEcmF3aW5nVGVtcGxhdGU6KCk9PlIsc2F2ZVN0dWR5VGVtcGxhdGU6KCk9PkR9KTt2YXIgbz1uKDMwNDIyMSkscj1uKDU1ODA3NSksaT1uKDIyMTA2MSksbD1uKDc4MzU5Myk7Y29uc3Qgcz0oMCxpLmdldExvZ2dlcikoIkxpYi5Bc3luY0d6aXAiKTt2YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkxvYWRpbmdUaW1lb3V0PTVlM109IkxvYWRpbmdUaW1lb3V0IixlW2UuUHJvY2Vzc2luZ1RpbWVvdXQ9M2U0XT0iUHJvY2Vzc2luZ1RpbWVvdXQiLGVbZS5Xb3JrZXJQb29sTWF4U2l6ZT0xXT0iV29ya2VyUG9vbE1heFNpemUiCn0oY3x8KGM9e30pKTtjb25zdCBkPVtdO2Z1bmN0aW9uIG0oZSl7bGV0IHQ7Y29uc3QgYT1uZXcgUHJvbWlzZSgoKGEsbyk9PntsZXQgcj1zZXRUaW1lb3V0KG8sNWUzLG5ldyBFcnJvcigiTG9hZGluZyB0aW1lZCBvdXQiKSk7dD1kLnBvcCgpfHxuZXcgbC5Xb3JrZXIobmV3IFVSTChuLnArbi51KDU5NjMwKSxuLmIpLHtuYW1lOiJBc3luYyBnemlwIHdvcmtlciJ9KSx0Lm9uZXJyb3I9byx0Lm9ubWVzc2FnZWVycm9yPW8sdC5vbm1lc3NhZ2U9ZT0+e2NsZWFyVGltZW91dChyKSwiZG9uZSI9PT1lLmRhdGEudHlwZT9hKGUuZGF0YS5wYXlsb2FkKTpyPXNldFRpbWVvdXQobywzZTQsbmV3IEVycm9yKCJQcm9jZXNzaW5nIHRpbWVkIG91dCIpKX0sdC5wb3N0TWVzc2FnZSh7dHlwZToiZG8iLHBheWxvYWQ6ZX0pfSkpO3JldHVybiBhLnRoZW4oKCgpPT57ZC5sZW5ndGg8MT8oZGVsZXRlIHQub25lcnJvcixkZWxldGUgdC5vbm1lc3NhZ2UsZGVsZXRlIHQub25tZXNzYWdlZXJyb3IsZC5wdXNoKHQpKTp0LnRlcm1pbmF0ZSgpfSksKGU9PntzLmxvZ0Vycm9yKGBXb3JrZXIgcmVxdWVzdCBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApLHQudGVybWluYXRlKCl9KSksYX12YXIgdT1uKDM4NDAxNyk7ZnVuY3Rpb24gaChlKXtpZihlLm9rKXJldHVybiBlLmpzb24oKTt0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfWZ1bmN0aW9uIHYoZSl7aWYoZS5vaylyZXR1cm4gZS5qc29uKCk7dGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX12YXIgcD1uKDExNzMxMyksZj1uKDc0ODkxMiksZz1uKDYwNTI1Nyksdz1uKDk3NDY2MyksYj1uKDY5NDM4OSk7Y2xhc3MgeSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5zdGF0dXM9dD8uc3RhdHVzLHRoaXMuY29kZT10Py5jb2RlLHRoaXMucmVzcG9uc2U9dD8ucmVzcG9uc2V9fXZhciBFPW4oNTg5NzQ5KTtjb25zdCBUPSIvYXBpL3YxLyI7YXN5bmMgZnVuY3Rpb24geChlPW51bGwsdCl7Y29uc3Qgbj1uZXcgVVJMKCIvbXktY2hhcnRzLyIsd2luZG93LmxvY2F0aW9uLm9yaWdpbik7dm9pZCAwIT09dCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsaW1pdCIsdC50b1N0cmluZygpKTtjb25zdCBhPWF3YWl0KDAsdS5mZXRjaCkobi50b1N0cmluZygpLHttZXRob2Q6IkdFVCIsc2lnbmFsOmV9KTtpZighYS5vayl0aHJvdyBuZXcgRXJyb3IoIkdldHRpbmcgbXkgY2hhcnRzIHJlc3BvbnNlIHdhcyBub3QgT0siKTtyZXR1cm4gYS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gSSgpe2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvY291bnQvIik7aWYoIWUub2spdGhyb3cgZTtyZXR1cm4gZS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gQyhlKXtjb25zdCB0PW5ldyBVUkwoYC9jaGFydC8ke2UudXJsfS9qc29uL2Asd2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT1hd2FpdCgwLHUuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTtpZighYS5vayl0aHJvdyBhO2xldCByO2NvbnN0IGk9YXdhaXQgYS5qc29uKCk7cmV0dXJuIHI9InVuZGVmaW5lZCIhPT1pLmNvbnRlbnQmJiJudWxsIiE9PWkuY29udGVudCYmaS5jb250ZW50P0pTT04ucGFyc2UoaS5jb250ZW50KTphd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9KDAsZy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKTthd2FpdCBlLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0W3Qse3ByZXBhcmVTdHVkeVByb3BlcnRpZXM6YX1dPWF3YWl0IFByb21pc2UuYWxsKFtlLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pLFByb21pc2UuYWxsKFtuLmUoMjE3ODQpLG4uZSgzMTAwMSksbi5lKDg2MTc4KSxuLmUoOTE5NDQpLG4uZSg5NzU1OCksbi5lKDY2OTg4KSxuLmUoOTcyNzIpLG4uZSg5MjcwKSxuLmUoODQyNjUpLG4uZSg1MzU1KSxuLmUoMTIyMjcpLG4uZSg1OTY0OSksbi5lKDQ3NTM4KV0pLnRoZW4obi5iaW5kKG4sNDM3NzQ5KSldKSxvPWEodCx7fSxudWxsLGUuc3R1ZHlWZXJzaW9uaW5nKCksW10pLHI9e21fcHJpY2VSYW5nZTpudWxsLG1faXNBdXRvU2NhbGU6ITAsbV9pc1BlcmNlbnRhZ2U6ITEsbV9pc0luZGV4ZWRUbzEwMDohMSxtX2lzTG9nOiExLG1faXNMb2NrU2NhbGU6ITEsbV9pc0ludmVydGVkOiExLG1fdG9wTWFyZ2luOi4xLG1fYm90dG9tTWFyZ2luOi4wOCxhbGlnbkxhYmVsczohMH07cmV0dXJue25hbWU6IiIsbGF5b3V0OiJzIixjaGFydHM6W3twYW5lczpbe21vZGU6Yi5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZXM6W3t0eXBlOiJNYWluU2VyaWVzIixpZDoiX3Nlcmllc0lkIix6b3JkZXI6MCxzdGF0ZTp7Li4uKG5ldyBmLlNlcmllc1Byb3BlcnRpZXNJbXBsKS5zdGF0ZSgpLHN0eWxlOjEsc3ltYm9sOiJOQVNEQVE6QUFQTCIsc2hvcnROYW1lOiJBQVBMIix0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6IjFNIix1bml0SWQ6bnVsbCx0aW1lem9uZToiVVRDIixjdXJyZW5jeUlkOm51bGx9fSx7dHlwZToic3R1ZHlfVm9sdW1lIixpZDoibkFBTEdkIixzdGF0ZTpvLnN0YXRlKCksbWV0YUluZm86dC5zdGF0ZSgpfV0sbWFpblNvdXJjZUlkOiJfc2VyaWVzSWQiLHN0cmV0Y2hGYWN0b3I6MmUzLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOlt7c3RhdGU6e2lkOiJIOW8yemJaME5UakwiLC4uLnJ9LHNvdXJjZXM6WyJfc2VyaWVzSWQiXX1dLG92ZXJsYXlQcmljZVNjYWxlczp7bkFBTEdkOntpZDoiSDlvMnpiWjBOVGpMIiwuLi5yfX0scHJpY2VTY2FsZVJhdGlvOm51bGwsaXNDb2xsYXBzZWQ6ITEsaXNNYXhpbWl6ZWQ6ITF9XSx0aW1lU2NhbGU6e21fYmFyU3BhY2luZzo2LG1fcmlnaHRPZmZzZXQ6MTB9LGNoYXJ0UHJvcGVydGllczpuZXcgdy5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMifSkuc3RhdGUoKSx2ZXJzaW9uOjMsdGltZXpvbmU6IkV0Yy9VVEMiLHNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW46ITEsbGlua2luZ0dyb3VwOm51bGwsbGluZVRvb2xzR3JvdXBzOntncm91cHM6W119LGNoYXJ0SWQ6IjEifV0sc3ltYm9sTG9jazowLAppbnRlcnZhbExvY2s6MCx0cmFja1RpbWVMb2NrOjAsZGF0ZVJhbmdlTG9jazowLGNyb3NzaGFpckxvY2s6MX19KCksImNvbnRlbnRfc3R1ZHlfbWV0YSJpbiBpJiYoMCxvLmRlZmF1bHQpKGkuY29udGVudF9zdHVkeV9tZXRhKSYmKHIuc3R1ZHlNZXRhSW5mb01hcD17Li4uci5zdHVkeU1ldGFJbmZvTWFwPz97fSwuLi5KU09OLnBhcnNlKGkuY29udGVudF9zdHVkeV9tZXRhKX0pLHtuYW1lOmkubmFtZSxjaGFydFdpZGdldENvbGxlY3Rpb25TdGF0ZTpyLHVpZDppLnVpZCxsYXN0TW9kaWZpZWQ6aS5sYXN0X21vZGlmaWVkLGlkOmkuaWQsZGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbix1c2VybmFtZTppLnVzZXJuYW1lLGlzUHJpdmF0ZTppLmlzX3ByaXZhdGV9fWZ1bmN0aW9uIFMoZSx0KXtjb25zdCBuPSgwLHIuZ2VuZXJhdGVDaGFydFVybCkoe2NoYXJ0SWQ6ZS51cmx9KSxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmhyZWY9biwhKDAscC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpJiYvXlwvY2hhcnQoXC98JCkvLnRlc3QobG9jYXRpb24ucGF0aG5hbWUpJiYoYS50YXJnZXQ9dD8iX2JsYW5rIjoiX3NlbGYiLGEucmVsPSJub29wZW5lciIpLGEuY2xpY2soKX1hc3luYyBmdW5jdGlvbiBrKGUsdCl7bGV0IG4sYTt0cnl7W24sYV09YXdhaXQgUHJvbWlzZS5hbGwoW20oZS5jb250ZW50KSxlLnN0dWR5X21ldGFfaW5mb19tYXA/bShlLnN0dWR5X21ldGFfaW5mb19tYXApOlByb21pc2UucmVzb2x2ZShlLnN0dWR5X21ldGFfaW5mb19tYXApXSl9Y2F0Y2goZSl7fWNvbnN0IG89bmV3IEZvcm1EYXRhO3QudWlkJiZvLmFwcGVuZCgiaW1hZ2VfdXJsIix0LnVpZCk7Zm9yKGNvbnN0IHQgaW4gZSkiaWQiIT09dCYmKCJjb250ZW50Ij09PXQmJm4/by5hcHBlbmQodCxuZXcgQmxvYihbbl0se3R5cGU6ImFwcGxpY2F0aW9uL2d6aXAifSksImJsb2IuZ3oiKToic3R1ZHlfbWV0YV9pbmZvX21hcCI9PT10JiZhP28uYXBwZW5kKHQsbmV3IEJsb2IoW2FdLHt0eXBlOiJhcHBsaWNhdGlvbi9nemlwIn0pLCJibG9iLmd6Iik6by5hcHBlbmQodCxlW3RdKSk7dHJ5e2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvc2F2ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpvfSk7aWYoIWUub2spe2NvbnN0e2RldGFpbDp0LGNvZGU6bn09YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJue307aWYoIShlLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKT8/IiIpLmluY2x1ZGVzKCJhcHBsaWNhdGlvbi9qc29uIikpcmV0dXJue307dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaChlKXtyZXR1cm57fX19KGUpO3Rocm93IG5ldyB5KHQ/P2Uuc3RhdHVzVGV4dD8/IlVua25vd24gZXJyb3IiLHtzdGF0dXM6ZS5zdGF0dXMsY29kZTpuLHJlc3BvbnNlOmV9KX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybntyZXN1bHQ6e2lkOnQuaWQsaW1hZ2VfdXJsOnQuaW1hZ2VfdXJsP3QuaW1hZ2VfdXJsOnZvaWQgMCxsYXN0TW9kaWZpZWQ6dC5sYXN0X21vZGlmaWVkfSxyZXNwb25zZTplfX1jYXRjaChlKXtsZXQgdD1lO3Rocm93IGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2YgeX0odCl8fCh0PW5ldyB5KCgwLEUuZXJyb3JUb1N0cmluZykodCkpKSx0fX1hc3luYyBmdW5jdGlvbiBfKGUsdCxuLGEsbyl7cmV0dXJuIGsoYSxvKX1mdW5jdGlvbiBNKGUpe3JldHVybigwLHUuZmV0Y2gpKFQrImNoYXJ0cy9kZWxldGUvIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe3VpZDpbZV19KSxoZWFkZXJzOm5ldyBIZWFkZXJzKHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9KX0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBlO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yfSkpfWxldCBOPW51bGw7ZnVuY3Rpb24geigpe3JldHVybiBudWxsPT09TiYmKE49KDAsdS5mZXRjaCkoIi9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oaCkudGhlbigoZT0+e2NvbnN0IHQ9ZS5jdXN0b218fFtdLG49ZS5zdGFuZGFyZHx8W10sYT1lLmZ1bmRhbWVudGFsc3x8W10sbz1uZXcgU2V0KFsuLi5uLC4uLmFdLm1hcCgoZT0+ZS5uYW1lKSkpLHI9dC5tYXAoKGU9Pih7Li4uZSxpc19kZWZhdWx0OiExLGlzX2Z1bmRhbWVudGFsOiExLGZhdm9yaXRlX2RhdGU6ZS5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGx9KSkpO2Zvcihjb25zdCBlIG9mIHIpby5kZWxldGUoZS5uYW1lKTtjb25zdCBpPW4uZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMSxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKSxsPWEuZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMCxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKTtyZXR1cm5bLi4uciwuLi5pLC4uLmxdfSkpKSxOfWZ1bmN0aW9uIEwoKXtOPW51bGx9ZnVuY3Rpb24gRChlKXtyZXR1cm4gdD17bmFtZTplLm5hbWUsY29udGVudDplLmNvbnRlbnQsbWV0YV9pbmZvOmUubWV0YV9pbmZvfHx7aW5kaWNhdG9yczpbXX19LCgwLHUuZmV0Y2gpKCIvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKChlPT57aWYoZS5vaylyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtyZXN1bHQ6ZX0pKSk7c3dpdGNoKGUuc3RhdHVzKXtjYXNlIDQwMzpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHsKZXJyb3I6ZS5jb2RlfSkpKTtjYXNlIDQyMjpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtlcnJvcjplLmNvZGUsaWQ6ZS5pZH0pKSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfX0pKTt2YXIgdH1mdW5jdGlvbiBBKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfS9mYXZvcml0ZWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOnQ/IlBPU1QiOiJERUxFVEUifSkudGhlbihoKX0pKGUsdCkudGhlbigoZT0+e24/LihlPy5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGwpfSkpfWZ1bmN0aW9uIE8oZSx0LG4peyhmdW5jdGlvbihlLHQpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy9zdGFuZGFyZC8ke2V9L2Zhdm9yaXRlYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6dD8iUE9TVCI6IkRFTEVURSJ9KS50aGVuKGgpfSkoZSx0KS50aGVuKChlPT57bj8uKGU/LmZhdm9yaXRlX2RhdGU/bmV3IERhdGUoZS5mYXZvcml0ZV9kYXRlKS5nZXRUaW1lKCk6bnVsbCl9KSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX1gLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihoKX0oZSl9ZnVuY3Rpb24gSChlLHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvc3RhbmRhcmQvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGgpfShlKS50aGVuKHQpfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy8ke2V9YCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6IkRFTEVURSJ9KS50aGVuKChlPT57aWYoIWUub2spdGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX0pKX0oZSl9ZnVuY3Rpb24gUChlLHQsbil7KGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX0vcmVuYW1lL2Ase2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKGgpfSkoZSx7bmFtZTp0fSkudGhlbihuKX1mdW5jdGlvbiBVKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pLnRoZW4oaCl9KShlLHtuYW1lOnQubmFtZSxjb250ZW50OnQuY29udGVudCxtZXRhX2luZm86dC5tZXRhX2luZm98fHtpbmRpY2F0b3JzOltdfX0pLnRoZW4oKGU9Pm4oe3Jlc3VsdDplfSkpKX1mdW5jdGlvbiBXKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGVzLyR7ZX0vYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4odil9KGUpfWZ1bmN0aW9uIFIoZSx0LG4pe3JldHVybiBmdW5jdGlvbihlLHQsbil7Y29uc3QgYT1uZXcgRm9ybURhdGE7cmV0dXJuIGEuYXBwZW5kKCJuYW1lIix0KSxhLmFwcGVuZCgidG9vbCIsZSksYS5hcHBlbmQoImNvbnRlbnQiLG4pLCgwLHUuZmV0Y2gpKCIvc2F2ZS1kcmF3aW5nLXRlbXBsYXRlLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OmF9KS50aGVuKHYpfShlLHQsbil9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQoMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGUvJHtlfS8/dGVtcGxhdGVOYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KSxhPWF3YWl0IHYobik7cmV0dXJuIEpTT04ucGFyc2UoYS5jb250ZW50KX0oZSx0KX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1uZXcgRm9ybURhdGE7cmV0dXJuIG4uYXBwZW5kKCJuYW1lIix0KSxuLmFwcGVuZCgidG9vbCIsZSksKDAsdS5mZXRjaCkoIi9yZW1vdmUtZHJhd2luZy10ZW1wbGF0ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpufSkudGhlbih2KX0oZSx0KX1jb25zdCBxPWF9LDMzMzMxMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRUd2Vtb2ppVXJsOigpPT5vfSk7dmFyIGE9bigyNjA2MDMpO2Z1bmN0aW9uIG8oZSx0KXtsZXQgbj0iIjtyZXR1cm4gYS5kZWZhdWx0LnBhcnNlKGUsKGU9PihuPWEuZGVmYXVsdC5iYXNlKygic3ZnIj09PXQ/YHN2Zy8ke2V9LnN2Z2A6YDcyeDcyLyR7ZX0ucG5nYCksITEpKSksbn1hLmRlZmF1bHQuYmFzZT0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdHdlbW9qaS8xMy4wLjEvIn0sMzA5ODM2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2FkZFV0bVRvVXJsOigpPT5vfSk7dmFyIGE9big2MDE1ODcpO2Z1bmN0aW9uIG8oZSx0KXtpZighLyhbYS16QS1aMC05Li1dKnRyYWRpbmd2aWV3LmNvbSl8bG9jYWxob3N0Ly50ZXN0KGUpKXJldHVybiBlO2NvbnN0IG49KDAsYS5idWlsZFV0bVF1ZXJ5U3RyaW5nKSh0KTtpZigiIj09PW4pcmV0dXJuIGU7Y29uc3Qgbz1lLmluZGV4T2YoIj8iKSxyPWUuaW5kZXhPZigiIyIpLGk9LTEhPT1yO2lmKC0xIT09byYmKCFpfHxvPHIpKXtyZXR1cm5gJHtlLnNsaWNlKDAsbyl9PyR7aT9lLnNsaWNlKG8rMSxyKTplLnNsaWNlKG8rMSl9JiR7bn0ke2k/ZS5zbGljZShyKToiIn1gfWlmKGkpe3JldHVybmAke2Uuc2xpY2UoMCxyKX0/JHtufSR7ZS5zbGljZShyKX1gfXJldHVybmAke2V9PyR7bn1gfX0sNjAxNTg3KGUsdCxuKXsKInVzZSBzdHJpY3QiO24uZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5zLGZpbHRlclV0bUluZm86KCk9Pml9KTt2YXIgYT1uKDQ5MjY3Nyksbz1uKDY0MTU5Myk7Y29uc3Qgcj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gaShlKXtjb25zdCB0PXt9O3JldHVybiByLmZvckVhY2goKG49Pntjb25zdCBhPWVbbl07InN0cmluZyI9PXR5cGVvZiBhJiYiIiE9PWEmJih0W25dPSgwLG8uaHRtbEVzY2FwZSkoYSkpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IG49KDAsYS5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBuJiZ0PyI/IituOm59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gbChpKCgwLGEuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDY5NjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSw4MjY5NzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSwzNDc5NzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggOS41SDYuNWExIDEgMCAwIDAtMSAxdjExYTEgMSAwIDAgMCAxIDFoMTFhMSAxIDAgMCAwIDEtMVYyMG0tOC0xLjVoMTFhMSAxIDAgMCAwIDEtMXYtMTFhMSAxIDAgMCAwLTEtMWgtMTFhMSAxIDAgMCAwLTEgMXYxMWExIDEgMCAwIDAgMSAxeiIvPjwvc3ZnPid9LDQ4OTA1OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNzA3IDlsNC42NDctNC42NDYtLjcwNy0uNzA4TDkgOC4yOTMgNC4zNTQgMy42NDZsLS43MDguNzA4TDguMjkzIDlsLTQuNjQ3IDQuNjQ2LjcwOC43MDhMOSA5LjcwN2w0LjY0NiA0LjY0Ny43MDgtLjcwN0w5LjcwNyA5eiIvPjwvc3ZnPid9LDU5OTc1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSwyMzA2ODYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSw4ODk1NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMzMyIDYuNTQ4IDIxLjQyIDIwLjcwNEE5Ljk2MiA5Ljk2MiAwIDAgMCAyNCAxNGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwYTkuOTYxIDkuOTYxIDAgMCAwLTYuNjY4IDIuNTQ4Wm0xMy4zODEgMTQuODY0TDYuNjIxIDcuMjUyQTkuOTYyIDkuOTYyIDAgMCAwIDQgMTRjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMCAyLjU4NCAwIDQuOTM4LS45OCA2LjcxMy0yLjU4OFpNNi4yNjMgNi4xODFBMTAuOTY3IDEwLjk2NyAwIDAgMSAxNCAzYzYuMDc1IDAgMTEgNC45MjUgMTEgMTEgMCAzLjAzNi0xLjIzIDUuNzg1LTMuMjE4IDcuNzc1QTEwLjk2NyAxMC45NjcgMCAwIDEgMTQgMjVDNy45MjUgMjUgMyAyMC4wNzUgMyAxNGMwLTMuMDU4IDEuMjQ5LTUuODI2IDMuMjYzLTcuODJaIi8+PC9zdmc+J30sNzk1OTg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS4xMTggNmEuNS41IDAgMCAwLS40NDcuMjc2TDkuODA5IDhINS41QTEuNSAxLjUgMCAwIDAgNCA5LjV2MTBBMS41IDEuNSAwIDAgMCA1LjUgMjFoMTZhMS41IDEuNSAwIDAgMCAxLjUtMS41di0xMEExLjUgMS41IDAgMCAwIDIxLjUgOGgtNC4zMDlsLS44NjItMS43MjRBLjUuNSAwIDAgMCAxNS44ODIgNmgtNC43NjR6bS0xLjM0Mi0uMTdBMS41IDEuNSAwIDAgMSAxMS4xMTggNWg0Ljc2NGExLjUgMS41IDAgMCAxIDEuMzQyLjgzTDE3LjgwOSA3SDIxLjVBMi41IDIuNSAwIDAgMSAyNCA5LjV2MTBhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNkEyLjUgMi41IDAgMCAxIDMgMTkuNXYtMTBBMi41IDIuNSAwIDAgMSA1LjUgN2gzLjY5MWwuNTg1LTEuMTd6Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy41IDE4YTMuNSAzLjUgMCAxIDAgMC03IDMuNSAzLjUgMCAwIDAgMCA3em0wIDFhNC41IDQuNSAwIDEgMCAwLTkgNC41IDQuNSAwIDAgMCAwIDl6Ii8+PC9zdmc+J30sMjAyNTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjk4IDYuMDJMMTQuNSA2YzIuMTggMCA0LjE2LjggNS42NiAyLjE0bC01LjY2IDUuNjUtMi4zMS0yLjNhOC40MyA4LjQzIDAgMCAwIDEuNTUtMy42NCAxNC4wMSAxNC4wMSAwIDAgMCAuMjQtMS44M3ptLTEuMDEuMTJhOC40NSA4LjQ1IDAgMCAwLTQuMTMgMmwyLjY0IDIuNjNhNy41OSA3LjU5IDAgMCAwIDEuMjgtMy4xMmMuMTItLjU5LjE4LTEuMTIuMi0xLjUxem0tNC44MyAyLjdhOC40NSA4LjQ1IDAgMCAwLTIgNC4xM2MuMzktLjAzLjkyLS4xIDEuNTEtLjIxYTcuNTkgNy41OSAwIDAgMCAzLjEyLTEuMjhMOC4xNCA4Ljg0em0tMi4xMiA1LjE0YTguNDggOC40OCAwIDAgMCAyLjEyIDYuMThsNS42NS01LjY2LTIuMy0yLjMxYTguNDMgOC40MyAwIDAgMS0zLjY0IDEuNTUgMTQuMDMgMTQuMDMgMCAwIDEtMS44My4yNHptMi44MiA2Ljg4YTguNDYgOC40NiAwIDAgMCA1LjEzIDIuMTJ2LS4wN0E4Ljk1IDguOTUgMCAwIDEgMTYuMyAxN2wtMS44LTEuOC01LjY2IDUuNjV6TTE0Ljk3IDIzYzItLjEgMy44LS45IDUuMTktMi4xM0wxNyAxNy43MmE3Ljk0IDcuOTQgMCAwIDAtMi4wNCA1LjI3em01LjktMi44M2E4LjQ2IDguNDYgMCAwIDAgMi4xMS01LjEzaC0uMDJhMTAuNjIgMTAuNjIgMCAwIDAtNS4yIDJsMy4xIDMuMTN6bTIuMTItNi4xM2MtLjEtMi0uOS0zLjgtMi4xMy01LjE5bC01LjY1IDUuNjYgMS44MyAxLjgzYTExLjYgMTEuNiAwIDAgMSA1Ljk1LTIuM3pNMTQuNSA1QTkuNDYgOS40NiAwIDAgMCA1IDE0LjVjMCA1LjI4IDQuMjIgOS41IDkuNSA5LjVzOS41LTQuMjIgOS41LTkuNVMxOS43OCA1IDE0LjUgNXoiLz48L3N2Zz4nfSwxNjExNzcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00LjU0IDMuMmwuNzgtLjU5IDUuNDkgNC41IDEuNDMgMS4wN2E1LjI4IDUuMjggMCAwIDEgMi4xOS0yLjMgOS4xOSA5LjE5IDAgMCAxIDEuODgtLjg1aC4wNGwuMDEtLjAxLjE0LjQ4LjQyLS4yOHYuMDFsLjAxLjAyYTMuMTQgMy4xNCAwIDAgMSAuMTYuMjZsLjM3LjcyYy4yLjQ1LjQgMS4wMi41IDEuNjRhMi4xMyAyLjEzIDAgMCAxIDEuODkuNDZsLjE4LjE2LjAzLjAyLjE4LjE2Yy4yMi4xNi40Mi4yNy44MS4yNWE1LjkgNS45IDAgMCAwIDIuMi0uODZsLjY2LS4zNi4wOS43NWE1Ljk4IDUuOTggMCAwIDEtMS43IDUuMSA2Ljg3IDYuODcgMCAwIDEtMS43IDEuMjMgMTkuOTcgMTkuOTcgMCAwIDEgLjQ4IDIuNDhjLjI1IDEuNzMuNDIgNC4wOC4wNiA2LjVBMS40NiAxLjQ2IDAgMCAxIDE5LjY4IDI1aC03LjcxYTEuNSAxLjUgMCAwIDEtMS40LTIuMDZsMS0yLjQ3Yy0uMTguMDItLjM3LjAzLS41OC4wM2EzIDMgMCAwIDEtMS41My0uNCA2Ljg0IDYuODQgMCAwIDEtMS42LjY0Yy0xLjA4LjI3LTIuNTUuMjktMy43Mi0uODlhNC4wNiA0LjA2IDAgMCAxLS45Ni0zIDUuMSA1LjEgMCAwIDEgMi0zLjc0IDk4LjUgOTguNSAwIDAgMCAyLjctMi4yNEw0LjU1IDMuMnpNMTYuNSA1LjVsLS4xNC0uNDguMzUtLjEuMi4zLS40MS4yOHptLTcuODcgNi4wNmE1Ny40OCA1Ny40OCAwIDAgMS0yLjE5IDEuODJsLjQ5LjI2Yy42NS4zNyAxLjQ4LjkgMS45NyAxLjU2YTUuNzggNS43OCAwIDAgMSAxLjE0IDQuMDdsLjA2LjAzYy4xOS4xLjQ5LjIuOS4yLjY4IDAgLjk1LS4xMSAxLjAzLS4xNnYtLjAzbC45Ny4xOWgtLjUuNXYuMDNhLjc1Ljc1IDAgMCAxLS4wMS4xLjc0Ljc0IDAgMCAxLS4wOS4yMWwtMS4zOSAzLjQ3YS41LjUgMCAwIDAgLjQ3LjY5aDcuNzFjLjI0IDAgLjQzLS4xNy40Ny0uMzhhMjIgMjIgMCAwIDAtLjA2LTYuMjIgMjQuNCAyNC40IDAgMCAwLS41Ni0yLjcxIDExLjM1IDExLjM1IDAgMCAwLS45NC0xLjUyIDcuMSA3LjEgMCAwIDAtMi4zMS0yLjIybC0uNjItLjMxLjQ5LS41QTMuMDMgMy4wMyAwIDAgMCAxNyA4LjZhMS4yIDEuMiAwIDAgMCAuMDEtLjFjMC0uNjUtLjIyLTEuMzMtLjQ2LTEuODYtLjEtLjIxLS4xOC0uNC0uMjYtLjU0YTguMDcgOC4wNyAwIDAgMC0xLjM0LjY0Yy0uOS41NC0xLjc0IDEuMzItMS45NSAyLjM2di4wM2wtLjAyLjAzTDEyLjUgOWwuNDcuMTZ2LjAyYTIuOTcgMi45NyAwIDAgMS0uMS4yNiA1LjkgNS45IDAgMCAxLS4zMS42MmMtLjI3LjQ2LS43IDEuMDctMS4zNCAxLjM5LS42My4zMS0xLjM4LjMtMS45LjIzYTUuODMgNS44MyAwIDAgMS0uNy0uMTJ6bTMuMjYtMi4zOUwxMC4yIDcuOWwtLjAyLS4wMUw2LjMgNC43bDIuNTcgNS44OGguMDFjLjE0LjA0LjM0LjA4LjU3LjExLjQ3LjA2Ljk3LjA1IDEuMzQtLjE0LjM2LS4xOC42OC0uNTcuOTEtLjk5LjA4LS4xNC4xNS0uMjcuMi0uMzl6bTguMzIgNC42OGE1LjQ3IDUuNDcgMCAwIDAgMS4zNy0xLjAyIDQuODggNC44OCAwIDAgMCAxLjQ2LTMuNTNjLS44LjM5LTEuNDEuNTgtMS45Mi42MS0uNy4wNS0xLjE0LS4xOC0xLjQ5LS40NWE1LjYgNS42IDAgMCAxLS4yMi0uMTlsLS4wMy0uMDMtLjE3LS4xM2ExLjQgMS40IDAgMCAwLS4zMy0uMjJjLS4xOC0uMDctLjQ0LS4xMi0uOTMgMGwtLjEuNGMtLjEuMy0uMjguNjktLjU4IDEuMDkuODcuNTkgMS42IDEuNDYgMi4xNCAyLjJhMTQuOTIgMTQuOTIgMCAwIDEgLjggMS4yN3pNOS4wNSAxOS4xOXYtLjA5YTQuNzggNC43OCAwIDAgMC0uOTYtMy4zIDUuNTYgNS41NiAwIDAgMC0xLjY1LTEuMjljLS4zLS4xNy0uNi0uMy0uOC0uNGwtLjA1LS4wM2E0LjA1IDQuMDUgMCAwIDAtMS40IDIuODIgMy4xIDMuMSAwIDAgMCAuNjYgMi4yNWMuODMuODIgMS44Ni44NCAyLjc4LjYyYTUuNzEgNS43MSAwIDAgMCAxLjQyLS41OHptNC4yNi01Ljg3Yy0uMy4yNC0uNzQuNTQtMS4xOC42Ni0uMzcuMS0uODEuMS0xLjEyLjA4YTYuOTUgNi45NSAwIDAgMS0uNTQtLjA2aC0uMDVsLjA4LS41LjA4LS41LjAzLjAxYTUuMDIgNS4wMiAwIDAgMCAxLjI2IDBjLjI0LS4wNi41NC0uMjUuODMtLjQ3YTYuMSA2LjEgMCAwIDAgLjQyLS4zN2wuMDItLjAyLjM2LjM1LjM1LjM2aC0uMDFsLS4wMy4wNGE2LjA5IDYuMDkgMCAwIDEtLjUuNDJ6TTYgMTdoMXYtMUg2djF6Ii8+PC9zdmc+J30sNTY5Nzg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTcuNSAyNHYtNS41bTAgMHMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTF2LTZtLTE0IDZ2LTZtMCAwdi02czIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMXY2bS0xNCAwczIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMSIvPjwvc3ZnPid9LDE4NTYwNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuNSA4aDEuMzZsLS44NS0zLjM4Ljk4LS4yNC45IDMuNjJoNy42NGExLjM0IDEuMzQgMCAwIDEgLjIuMDJjLjEzLjAyLjMxLjA3LjUuMTYuMTguMDkuMzguMjQuNTMuNDYuMTUuMjQuMjQuNTIuMjQuODYgMCAuMzQtLjA5LjYyLS4yNC44NmExLjM4IDEuMzggMCAwIDEtLjc5LjU2TDIyIDI0LjU0bC0uMDMuNDZINi41Yy0xIDAtMS42NC0uNjgtMS45OS0xLjIzYTQuNCA0LjQgMCAwIDEtLjM4LS43OGwtLjAxLS4wNGMtLjEtLjAzLS4yMi0uMDctLjM0LS4xM2ExLjM2IDEuMzYgMCAwIDEtLjU0LS40NkExLjUxIDEuNTEgMCAwIDEgMyAyMS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDYuMS0uMDUuMi0uMDkuMjgtLjExYTYuNiA2LjYgMCAwIDEgLjk2LTIuMzRDNS45MiAxNi4zNSA3LjU2IDE1IDEwLjUgMTVjLjcyIDAgMS4zNi4wOCAxLjkzLjIybC0uNC00LjNhMS4zOCAxLjM4IDAgMCAxLS44LS41N0ExLjUxIDEuNTEgMCAwIDEgMTEgOS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDZhMS43MyAxLjczIDAgMCAxIC43LS4xOGguMDJ2LjVWOHptLjk2IDcuNTdhNS43MyA1LjczIDAgMCAxIDIuNTIgMi4xNiA2Ljg2IDYuODYgMCAwIDEgLjk1IDIuMzQgMS4zOCAxLjM4IDAgMCAxIC44Mi41OGMuMTYuMjMuMjUuNTEuMjUuODUgMCAuMzQtLjA5LjYyLS4yNC44Ni0uMTUuMjItLjM1LjM3LS41NC40Ni0uMTIuMDYtLjI0LjEtLjM0LjEzbC0uMDEuMDRhNC40IDQuNCAwIDAgMS0uNTQgMS4wMWg0LjdsLjkzLTEzaC04LjkxbC40MSA0LjU3ek0xNC41IDloOGEuNzMuNzMgMCAwIDEgLjI4LjA3Yy4wNi4wNC4xMS4wOC4xNS4xMy4wMy4wNS4wNy4xNC4wNy4zIDAgLjE2LS4wNC4yNS0uMDcuM2EuMzguMzggMCAwIDEtLjE1LjEzLjczLjczIDAgMCAxLS4yNy4wN0gxMi41YS43My43MyAwIDAgMS0uMjgtLjA3LjM4LjM4IDAgMCAxLS4xNS0uMTMuNTIuNTIgMCAwIDEtLjA3LS4zYzAtLjE2LjA0LS4yNS4wNy0uMy4wNC0uMDUuMDktLjEuMTUtLjEzQS43My43MyAwIDAgMSAxMi41IDloMi4wMXptMS40IDExYTUuOCA1LjggMCAwIDAtLjc2LTEuNzNDMTQuNDEgMTcuMTUgMTMuMDYgMTYgMTAuNSAxNmMtMi41NiAwLTMuOTEgMS4xNS00LjY0IDIuMjdBNS44NiA1Ljg2IDAgMCAwIDUuMSAyMGgxMC43OHpNNC41IDIxYS43Mi43MiAwIDAgMC0uMjguMDcuMzguMzggMCAwIDAtLjE1LjEzLjUyLjUyIDAgMCAwLS4wNy4zYzAgLjE2LjA0LjI1LjA3LjMuMDQuMDUuMDkuMS4xNS4xM2EuNzMuNzMgMCAwIDAgLjI3LjA3SDE2LjVhLjcyLjcyIDAgMCAwIC4yOC0uMDcuMzguMzggMCAwIDAgLjE1LS4xMy41Mi41MiAwIDAgMCAuMDctLjMuNTIuNTIgMCAwIDAtLjA3LS4zLjM4LjM4IDAgMCAwLS4xNS0uMTMuNzMuNzMgMCAwIDAtLjI3LS4wN0g0LjV6bS43MyAybC4xMy4yM2MuMjguNDUuNjUuNzcgMS4xNC43N2g4Yy41IDAgLjg2LS4zMiAxLjE0LS43Ny4wNS0uMDcuMS0uMTUuMTMtLjIzSDUuMjN6TTExIDE3djFoLTF2LTFoMXptLTMgMWgxdjFIOHYtMXptNCAxdi0xaDF2MWgtMXoiLz48L3N2Zz4nfSw2OTQ1MzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNSAyMUg5aC41em04IDBIMTdoLjV6bS02LTEwSDExdjFoLjV2LTF6bTQgMWguNXYtMWgtLjV2MXptMiA3LjVoLjUtLjV6bS4yOS0xLjU5QTcuOTcgNy45NyAwIDAgMCAyMSAxMS41aC0xYTYuOTcgNi45NyAwIDAgMS0yLjc5IDUuNTlsLjU4Ljgyek0yMSAxMS41QTcuNSA3LjUgMCAwIDAgMTMuNSA0djFhNi41IDYuNSAwIDAgMSA2LjUgNi41aDF6TTEzLjUgNEE3LjUgNy41IDAgMCAwIDYgMTEuNWgxQTYuNSA2LjUgMCAwIDEgMTMuNSA1VjR6TTYgMTEuNWE3Ljk4IDcuOTggMCAwIDAgMy4yMSA2LjQxbC41Ny0uODJBNi45OCA2Ljk4IDAgMCAxIDcgMTEuNUg2ek05IDIxYTEgMSAwIDAgMCAxIDF2LTFIOXptOCAxYTEgMSAwIDAgMCAxLTFoLTF2MXptLTYtLjVWMjNoMXYtMS41aC0xem0wIDEuNWExIDEgMCAwIDAgMSAxdi0xaC0xem0xIDFoM3YtMWgtM3Yxem0zIDBhMSAxIDAgMCAwIDEtMWgtMXYxem0xLTF2LTEuNWgtMVYyM2gxem0tMy0xMS41djZoMXYtNmgtMXpNOS41IDIwaDh2LTFoLTh2MXpNOSAxNy41djJoMXYtMkg5em0wIDJWMjFoMXYtMS41SDl6bTkgMS41di0xLjVoLTFWMjFoMXptMC0xLjV2LTJoLTF2Mmgxek05LjUgMThoNHYtMWgtNHYxem00IDBoNHYtMWgtNHYxem0tMi02aDJ2LTFoLTJ2MXptMiAwaDJ2LTFoLTJ2MXpNMTAgMjJoMS41di0xSDEwdjF6bTEuNSAwaDR2LTFoLTR2MXptNCAwSDE3di0xaC0xLjV2MXoiLz48L3N2Zz4nfSw4MTQ2NzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYgMTQuNUM2IDkuNzggOS43OCA2IDE0LjUgNmM0LjcyIDAgOC41IDMuNzggOC41IDguNSAwIDQuNzItMy43OCA4LjUtOC41IDguNUE4LjQ2IDguNDYgMCAwIDEgNiAxNC41ek0xNC41IDVBOS40NiA5LjQ2IDAgMCAwIDUgMTQuNWMwIDUuMjggNC4yMiA5LjUgOS41IDkuNXM5LjUtNC4yMiA5LjUtOS41UzE5Ljc4IDUgMTQuNSA1ek0xNCAxNlY5aDF2Nmg0djFoLTV6Ii8+PC9zdmc+J30sNjIwNzgxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiAxNC41QzYgOS43OCA5Ljc4IDYgMTQuNSA2YzQuNzIgMCA4LjUgMy43OCA4LjUgOC41IDAgNC43Mi0zLjc4IDguNS04LjUgOC41QTguNDYgOC40NiAwIDAgMSA2IDE0LjV6TTE0LjUgNUE5LjQ2IDkuNDYgMCAwIDAgNSAxNC41YzAgNS4yOCA0LjIyIDkuNSA5LjUgOS41czkuNS00LjIyIDkuNS05LjVTMTkuNzggNSAxNC41IDV6TTEyIDEyYTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMnptNCAxYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHptLTYgNGwtLjQzLjI2di4wMWwuMDMuMDNhMy41NSAzLjU1IDAgMCAwIC4zLjQgNS43IDUuNyAwIDAgMCA5LjIyIDAgNS40MiA1LjQyIDAgMCAwIC4yOC0uNGwuMDItLjAzdi0uMDFMMTkgMTdsLS40My0uMjZ2LjAyYTIuNDUgMi40NSAwIDAgMS0uMjQuMzJjLS4xNy4yMS0uNDMuNS0uNzguNzlhNC43MSA0LjcxIDAgMCAxLTYuODgtLjggNC4zMiA0LjMyIDAgMCAxLS4yMy0uMzFsLS4wMS0uMDJMMTAgMTd6Ii8+PC9zdmc+J30sOTAwMzExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuNiAxNS40M0E2LjE5IDYuMTkgMCAwIDEgMTQgNi4zNmE2LjE5IDYuMTkgMCAwIDEgOC40IDkuMDhsLS4wMy4wMi03LjMgNy4zMWExLjUgMS41IDAgMCAxLTIuMTMgMGwtNy4zLTcuMy0uMDMtLjAzbS43MS0uN3YtLjAxYTUuMTkgNS4xOSAwIDAgMSA3LjMzLTcuMzR2LjAxYy4yLjIuNTEuMTkuNyAwYTUuMTkgNS4xOSAwIDAgMSA3LjM0IDcuMzNsLS4wMy4wMi03LjMgNy4zMWEuNS41IDAgMCAxLS43MSAwbC03LjMtNy4zLS4wMy0uMDJ6Ii8+PC9zdmc+J30sNzUwNzY5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi44NyA2LjQ0Yy4wOS0uNzgtLjUzLTEuNC0xLjMtMS4zMS0xLjQzLjE1LTMuNDMuNDgtNS40MiAxLjJhMTEuOCAxMS44IDAgMCAwLTUuMjMgMy40NEw5Ljg2IDExLjlsNi4yNCA2LjI0IDIuMTMtMS4wNmExMS44IDExLjggMCAwIDAgMy40NC01LjIzYy43Mi0xLjk5IDEuMDUtNCAxLjItNS40MXptLTQuOTMgMTEuOWwtMS43Mi44Ni0uMDQuMDJoLS4wNGwtMi4yLjY3di4wMWExOS42OCAxOS42OCAwIDAgMC0uMTMgMy4zM2MuMDEuMTQuMDguMjIuMTcuMjYuMDguMDQuMi4wNS4zMi0uMDNhMTguODMgMTguODMgMCAwIDAgMi43OS0yLjI2IDguMTggOC4xOCAwIDAgMCAuNDQtMS4xYy4xNi0uNTEuMzMtMS4xMi40MS0xLjc2em0tLjQ0IDMuMTZsLjM1LjM1LS4wMS4wMi0uMDUuMDVhMTYuODUgMTYuODUgMCAwIDEtLjgzLjc2Yy0uNTQuNDctMS4zIDEuMDgtMi4xIDEuNjFhMS4zIDEuMyAwIDAgMS0yLjA1LS45OCAxNi40NiAxNi40NiAwIDAgMSAuMDktMy4wOGwtLjE2LjA1YTEuNSAxLjUgMCAwIDEtMS41My0uMzZsLTMuMTMtMy4xM2MtLjQtLjQtLjU0LTEtLjM2LTEuNTNsLjA1LS4xNi0uMzYuMDRjLS43LjA2LTEuNjIuMTEtMi41NC4wNmExLjMgMS4zIDAgMCAxLTEuMTMtLjhjLS4xOC0uNDItLjEzLS45NC4xNy0xLjM1YTg3LjU1IDg3LjU1IDAgMCAxIDIuMTUtMi44bC4wNC0uMDR2LS4wMmwuNC4zMS0uMjItLjQ1LjAzLS4wMWE1LjkzIDUuOTMgMCAwIDEgLjM0LS4xNmMuMjMtLjEuNTUtLjIyLjk0LS4zNUE5Ljc3IDkuNzcgMCAwIDEgMTAuMjYgOWExMi45IDEyLjkgMCAwIDEgNS41NS0zLjYxYzIuMDktLjc2IDQuMTgtMS4xIDUuNjUtMS4yNiAxLjQxLS4xNSAyLjU2IDEgMi40IDIuNDFhMjQuMDQgMjQuMDQgMCAwIDEtMS4yNSA1LjY1QTEyLjkgMTIuOSAwIDAgMSAxOSAxNy43NGE5Ljc3IDkuNzcgMCAwIDEtLjg4IDMuNjEgOS4xOCA5LjE4IDAgMCAxLS4xNi4zNHYuMDNoLS4wMWwtLjQ1LS4yMnptMCAwbC40NS4yMi0uMDQuMDgtLjA2LjA1LS4zNS0uMzV6bS0xMS0xMWwtLjQtLjMxLjA4LS4wOS4xLS4wNS4yMi40NXptMy4xNi0uNDRhOS42MSA5LjYxIDAgMCAwLTIuODQuODRsLS4xMy4xNmExMDkuODMgMTA5LjgzIDAgMCAwLTEuOTcgMi41OC40LjQgMCAwIDAtLjA2LjM4Yy4wNC4xLjEyLjE3LjI3LjE4YTE2LjA1IDE2LjA1IDAgMCAwIDMuMTgtLjE1bC42Ni0yLjIuMDEtLjAzLjAyLS4wNC44Ni0xLjcyem01LjQgOC40NWwtNS41Ny01LjU2LS41MSAxLjctLjMxLjkyYS41LjUgMCAwIDAgLjEyLjUxbDMuMTMgMy4xM2EuNS41IDAgMCAwIC41LjEybC45Mi0uM2guMDJsMS43LS41MnptLTEwLjkxLjY0bDItMiAuNy43LTIgMi0uNy0uN3ptMCA0bDQtNCAuNy43LTQgNC0uNy0uN3ptNCAwbDItMiAuNy43LTIgMi0uNy0uN3pNMTYgMTAuNWExLjUgMS41IDAgMSAxIDMgMCAxLjUgMS41IDAgMCAxLTMgMHpNMTcuNSA4YTIuNSAyLjUgMCAxIDAgMCA1IDIuNSAyLjUgMCAwIDAgMC01eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9504.90377f7d5946cf3254f0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.179Z","timestamp":1785124877179,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9504.90377f7d5946cf3254f0.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1365\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5c561c1da6f78595bf411db8b0da44a4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4965,"size_decoded":1585,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4965), with no line terminators","md5":"a7c93739d7d8d58ba0894f0a27b2c682","sha1":"b48b0a418f53c6dbb761db96de6488ae85eb133e","sha256":"a965093d2af77ac0200f0ea479b8a52ee4ea68bca04e3e665e8de17120e5a57e","sha512":"14f6b7249ddd5e1f7132a9c9935bf3e702cc8735c81cfd3e2574cb38224ea2d416a7a876fc0472376db26d154f4909a69d75432d4073ad220212a6186da08d13","ssdeep":"48:wfElnMoEhjO3VOgXmhFhR60XBWjzfDnCzhHkvhtflWkvhtcnSnisnSnigtSnSnij:hi776O9lr8D8/t88YY8/K5ncbs6v2U","tlshash":"eca15b43b5c4ac747e42a6dc73fc62dcb2d1ac71ed0205d2d631ad628ccabf72091aa5","first_seen":"2026-07-16T13:40:49.666975Z","last_seen":"2026-07-27T06:14:34.039915Z","times_seen":133,"resource_available":false,"data":"Lnh4eHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjB9Lnh4c21hbGwtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6MX0ueHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjJ9LnNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjN9Lm1lZGl1bS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo0fS5sYXJnZS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo1fS54bGFyZ2UtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6Nn0uY291bnRlci1BZmQ2dDRaanthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjpib3R0b207LS11aS1saWItc2l6ZS1kZWY6dmFyKC0tdWktbGliLWluLWNvdW50ZXItc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXh4eHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDApICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAwKSkpOy0tdWktbGliLXNpemUtZGVmLXh4c21hbGw6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDEpKSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMTJweCk7Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxNHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjUwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1MDApO2hlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjEwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTttaW4td2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozLjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3LjVweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqM3B4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjMuNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjcuNXB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozcHgpfS5jb2xvci1kYW5nZXItQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyKX0uY29sb3ItYWNjZW50LUFmZDZ0NFpqe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY291bnRlci1maWxsLWFjY2VudCk7Y29sb3I6dmFyKC0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudCl9LmNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItY29udGVudC1hY2NlbnQtbGlnaHQpfS5jb2xvci1uZXV0cmFsLWJvbGQtQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbC1ib2xkKX0uY29sb3ItbmV1dHJhbC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbCl9LmJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1wcmltYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci1wcmltYXJ5KTtvdXRsaW5lOnZhcigtLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXByaW1hcnkpfS5ib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnk6c29saWQgMnB4IHZhcigtLWNvbG9yLWNvdW50ZXItYm9yZGVyLXNlY29uZGFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnkpfS5ib3JkZXJDb2xvci10ZXJ0aWFyeS1BZmQ2dDRaanstLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXRlcnRpYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS10ZXJ0aWFyeSl9LmRpc2FibGVkLUFmZDZ0NFpqe29wYWNpdHk6LjV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.624Z","timestamp":1785124877624,"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://berthenergy-inc.biz/\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: 323467\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-27T06:15:18.687067Z","times_seen":75986,"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":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":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.622Z","timestamp":1785124876622,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3007\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f078eca69b300323d62adef05cedfb5c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12295,"size_decoded":5518,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3067)","md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-27T06:24:31.667686Z","times_seen":81,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjA5NjksNzExODUsNzQzNDFdLHs5MDEwMjIoZSx0LHIpe3IuZCh0LHtTRVBBUkFUT1JfUFJFRklYOigpPT5zLGlzU2VwYXJhdG9ySXRlbTooKT0+bn0pO2NvbnN0IHM9IiMjIyI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5zdGFydHNXaXRoKHMpfX0sMTI4ODE0KGUsdCxyKXtyLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+ZH0pO3ZhciBzPXIoOTQ4MzgwKSxuPXIoMTUwMTUwKSxvPXIoMjE0OTg3KSxhPXIoMTM4NjM4KSxpPXIoMzY3OTQ2KSxsPXIoOTcwNzc0KSxjPXIoMzA5MDUyKTtjb25zdCB1PW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHMuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PWwuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG4ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IHI9ZC5jYWNoZS5nZXQoZSk7cmV0dXJuIHImJnRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP3I6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LHIpe2NvbnN0IHM9cj8uc2lnbmFsPz9udWxsLG49cj8uZnJlc2huZXNzLGk9dm9pZCAwIT09bj9EYXRlLm5vdygpLW46bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChyLG4pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsby5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IGw9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxjKSxuKCgwLG8uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGM9KG49ZSk9PntpZihuIT09ZSlyZXR1cm47Y29uc3Qgbz1kLmNhY2hlLmdldChlKTtvJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobyx7dGltZXN0YW1wOmksc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGMpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixsKSxyKG8pKX07aWYoISgoKT0+e2NvbnN0IHM9ZC5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbj0oMCxhLmVuc3VyZU5vdE51bGwpKGQuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDppLHRpbWVzOm59KSYmKHIocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixsLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGMpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxyKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LHIpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IHIgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShyKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOnIsdGltZXN0YW1wOnMsdGltZXM6bixzeW1ib2w6b309dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbj90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbixyLHMpOm51bGwhPT1zJiZvP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG8scik6dGhpcy5faGFzQWxsRmllbGRzKGUscikpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LHIpewppZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcz10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighc3x8IXMuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKWlmKCFzLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIGQuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxyLHMpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKXtjb25zdCByPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cilyZXR1cm4hMTtpZihyPHMpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9dS5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9ZC5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTtkLmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsaS5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksZC5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLHI9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KHIpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1kLmNhY2hlPWMuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LHIpe2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oKT0+KG51bGw9PT10JiYodD1lKCkpLHQpfXIuZCh0LHtsYXp5VmFsdWU6KCk9PnN9KX0sOTI5NDg4KGUsdCxyKXtyLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5ufSk7dmFyIHM9cig5MDEwMjIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKDAscy5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LHIpe3Iucih0KSxyLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmMscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+ZCxzbmFwc2hvdGVyOigpPT5pfSk7dmFyIHM9cigxMjg4MTQpLG49cig2MjM1MTEpLG89cig5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksaT0oMCxuLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSksbD1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gYyhlKXtyZXR1cm4oMCxvLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTppKCkuZ2V0U25hcHNob3QoZSxsKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoYykpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw0OTAyMDQoZSx0LHIpe3IuZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+bn0pO3ZhciBzPXIoMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCgwLHMuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IHI9dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIHJ8fG51bGx9fSwyNDU4NjEoZSx0LHIpe3IuZCh0LHtFcnJvclJlbmRlcmVyOigpPT5FfSk7dmFyIHM9cigxODUyNzEpLG49cigyMjUyOTgpLG89cigyMDA2NjYpLGE9cig4MTA0MSksaT1yKDkzMDIzMSksbD1yKDk5NDU0MCksYz1yKDU3NzcxMyksdT1yKDkyNjk5NSksZD1yKDU1NDY1NCksaD1yKDQ5MDIwNCk7dmFyIHA9cig1NjkzOTgpLF89cigyMzIzNjQpLG09cig5NTI5MDApLHk9cig5NjI3MzcpLGI9cigxMjg5OTgpO2NvbnN0IGc9cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoOTc1ODApKTtmdW5jdGlvbiBmKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjoKcmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDg2MDM4OSkpLmZvcm1hdCh7aW50ZXJ2YWxzOih0PWUuc3VwcG9ydGVkUmVzb2x1dGlvbnMsdC5tYXAoKGU9PmUpKS5qb2luKCIsICIpKX0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDc3ODQ0OCkpO2Nhc2UidW5zdXBwb3J0ZWRfdGlja3MiOnJldHVybiBzLnQobnVsbCx2b2lkIDAscig1MjkzOTYpKX12YXIgdH1mdW5jdGlvbiBTKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNDY1MzEzKSk7Y2FzZSJsZXNzX3RoYW5fZnJlcXVlbmN5IjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNTQxNTcwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOmUuYXBwbGljYWJsZVJlc29sdXRpb259KTtjYXNlInVuc3VwcG9ydGVkX3RpY2tzIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoMjU1NzYzKSl9fWZ1bmN0aW9uIHYoZSl7c3dpdGNoKGUucmVhc29uKXtjYXNlInVuc3VwcG9ydGVkX3Jlc29sdXRpb24iOnJldHVybiBzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig4MjQzNDApKS5mb3JtYXQoe3Jlc29sdXRpb246ZS5hcHBsaWNhYmxlUmVzb2x1dGlvbn0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6Y2FzZSJ1bnN1cHBvcnRlZF90aWNrcyI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDgzMDM4NSkpLmZvcm1hdCh7cmVzb2x1dGlvbjplLmFwcGxpY2FibGVSZXNvbHV0aW9ufSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIGU/ey4uLmUsbWVzc2FnZTplLm1lc3NhZ2U/KDAseS5mb3JtYXRTdHVkeUVycm9yKShlLm1lc3NhZ2UpOnZvaWQgMH06bnVsbH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdD0hMSl7dGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bnVsbCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCksdGhpcy5faGFzRXJyb3I9bmV3IF8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9ITEsdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcj1lPT57dGhpcy5faGFzRXJyb3Iuc2V0VmFsdWUobnVsbCE9PWUpLGU9dyhlKSwhdGhpcy5fcmVuZGVySW5zaWRlQ29udGFpbmVyJiZ0aGlzLl9jaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCk/dGhpcy5fdXBkYXRlUGFuZVdpZGdldHMoZSk6dGhpcy5fcmVuZGVyRXJyb3JXaXRob3V0TW9kZWwoZSl9LHRoaXMuX2NoYXJ0V2lkZ2V0PWUuc3Bhd24oKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9dCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9KDAsbS5jb21iaW5lKSgoZT0+e2lmKCFlKXJldHVybiBudWxsO2xldCB0O2lmKCJiYW5uZWQgYnkgaXAiPT09ZS5yZWFzb24pdD1zLnQobnVsbCx2b2lkIDAscig2NDY2MDEpKTtlbHNlIHQ9cy50KG51bGwsdm9pZCAwLHIoNTkyMDE0KSk7cmV0dXJue3RpdGxlOnMudChudWxsLHtjb250ZXh0OiJCYW4gcmVhc29uIn0scig2MzU5MjMpKSxtZXNzYWdlOnQsYnV0dG9uczpbe25hbWU6cy50KG51bGwse2NvbnRleHQ6InNvbHV0aW9uIGxpbmsifSxyKDgyNDAyNykpLG9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLldIWV9JU19NWV9BQ0NPVU5UX0JBTk5FRH0pfX1dLGljb246InN0b3AtaGFuZCJ9fSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2JhbkVycm9yTWVzc2FnZS5zdWJzY3JpYmUodGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcix7Y2FsbFdpdGhMYXN0OiEwfSk7Y29uc3Qgbj0oMCxtLmFjY3VtdWxhdGUpKChlPT57Y29uc3QgdD1lWzBdO3JldHVybltudWxsIT09dD8oMCxiLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSh0Lm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCk6bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLm93bmVyc2hpcCgpXX0pLCgwLG0uY29tYmluZSkoKGU9PltlLm1vZGVsV1YoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9jaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKTt0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlPSgwLG0uYWNjdW11bGF0ZSkoKChbZV0sdCk9PntpZih0KXJldHVybiB0O2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKTtzd2l0Y2goZS50eXBlKXtjYXNlImludmFsaWRfc3ltYm9sIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKG4pO2Nhc2UiY2FsY3VsYXRpb25zX2Vycm9yIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoNDg3MjAxKSksbWVzc2FnZTplLmVycm9yTWVzc2FnZSxpY29uOiJhdHRlbnRpb24ifTtjYXNlIm5vX2RhdGEiOnJldHVybnt0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scigxOTgwKSksbWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscig5NjkwOSkpLGljb246InVmby1hbmQtY293In07Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24obik7Y2FzZSJpcG9fcHJpY2VkIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoMTM3ODAwKSksbWVzc2FnZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig0MDM2NzIpKSxpY29uOiJyb2NrZXQtbGF1bmNoIn07Y2FzZSJyZW5rb19jaGFydF90eXBlX2lzc3VlIjpyZXR1cm57dGl0bGU6cy50KG51bGwsdm9pZCAwLHIoNzE2MzApKSxtZXNzYWdlOnMudChudWxsLHZvaWQgMCxyKDU5NTU3MCkpLGljb246InVmby1hbmQtcGVuY2lsIixidXR0b25zOlt7bmFtZTpzLnQobnVsbCx7Y29udGV4dDoic29sdXRpb24gbGluayJ9LHIoODI0MDI3KSksCm9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLlJFTkNPX0NIQVJUX0RJU1BMQVlfSVNTVUVTfSl9fV19O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHNlcmllcyBlcnJvciB0eXBlIil9fSksbi5vd25lcnNoaXAoKSx0aGlzLl9iYW5FcnJvck1lc3NhZ2Uud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlLnN1YnNjcmliZSh0aGlzLl9lcnJvck1lc3NhZ2VIYW5kbGVyLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fYmFuRXJyb3JNZXNzYWdlLmRlc3Ryb3koKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8udGhlbigoZT0+e2UuY29udGFpbmVyLnJlbW92ZSgpLGUuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVXaWRnZXRFcnJvck1lc3NhZ2UuZGVzdHJveSgpLHRoaXMuX2NoYXJ0V2lkZ2V0LmRlc3Ryb3koKX11cGRhdGVQYW5lV2lkZ2V0cygpe3RoaXMuX3VwZGF0ZVBhbmVXaWRnZXRzKCl9c2V0Q29udGFpbmVyKGUpe2lmKHRoaXMuX2NvbnRhaW5lciE9PWUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyPy50aGVuKChlPT5lLmNvbnRhaW5lci5yZW1vdmUoKSkpO2NvbnN0IHQ9dGhpcy5fZ2V0RXJyb3JNZXNzYWdlKCk7dCYmdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcih0KX19aGFzRXJyb3IoKXtyZXR1cm4gdGhpcy5faGFzRXJyb3IucmVhZG9ubHkoKX1fdXBkYXRlUGFuZVdpZGdldHMoZT10aGlzLl9nZXRFcnJvck1lc3NhZ2UoKSl7dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKS5wYW5lV2lkZ2V0cygpLmZvckVhY2goKHQ9PnQuc2V0RXJyb3JNZXNzYWdlKGUpKSl9YXN5bmMgX3JlbmRlckVycm9yV2l0aG91dE1vZGVsKGUpe2lmKG51bGw9PT10aGlzLl9jb250YWluZXJ8fG51bGw9PT1lJiZudWxsPT09dGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgdGhpcy5fZ2V0RXJyb3JDYXJkUmVuZGVyZXIoKTt0aGlzLl9jb250YWluZXIuY29udGFpbnModC5jb250YWluZXIpfHx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodC5jb250YWluZXIpLHQudXBkYXRlKHRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyU3RhdGUoZSkpfWFzeW5jIF9nZXRFcnJvckNhcmRSZW5kZXJlcigpe3JldHVybiB0aGlzLl9lcnJvckNhcmRSZW5kZXJlcnx8PXRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl9YXN5bmMgX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl7cmV0dXJuIG5ldyhhd2FpdCgwLGMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jcmVhdGVFcnJvckNhcmRSZW5kZXJlclN0YXRlKGUpe3JldHVybiBlP3t0aXRsZTplLnRpdGxlLG1lc3NhZ2U6ZS5tZXNzYWdlLGljb246ZS5pY29uLGJhY2tncm91bmRDb2xvcjpudWxsLGJ1dHRvbnM6ZS5idXR0b25zLHRoZW1lOm8ud2F0Y2hlZFRoZW1lLnZhbHVlKCk9PT1hLlN0ZFRoZW1lLkRhcms/YS5TdGRUaGVtZS5EYXJrOmEuU3RkVGhlbWUuTGlnaHR9OnZvaWQgMH1fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKGUpe2NvbnN0IHQ9YXN5bmMoKT0+e2Uuc2V0QWN0aXZlKCEwKTtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkscj10LnN5bWJvbCgpLHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvcnROYW1lLnZhbHVlKCksbj0ib3B0aW9uIj09PXQuc3ltYm9sSW5mbygpPy50eXBlLG89dC5zeW1ib2xJbmZvKCk/LnByb19uYW1lO2xldCBhPXQuaXNTcHJlYWQoKT9yOnN8fHJ8fCIiO2lmKCgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJm4mJm8pe2NvbnN0IGU9YXdhaXQoMCxoLnJlc29sdmVVbmRlcmx5aW5nU3ltYm9sKShvKTtlJiYoYT17dHlwZToib3B0aW9uIix2YWx1ZTpvLHVuZGVybHlpbmc6ZX0pfSgwLGwuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfSxuPWUuc3ltYm9sV1YoKS52YWx1ZSgpLG89KG4uc3BsaXQoIjoiKVsxXT8/bikudG9VcHBlckNhc2UoKTtyZXR1cm4hKDAscC5pc0ZlYXR1cmVFbmFibGVkKSgibmV3X2VtcHR5X3N0YXRlX3Rlc3QiKXx8IkNIUklTVE1BUyIhPT1vJiYiTkVXWUVBUiIhPT1vJiYiU0FOVEFDTEFVUyIhPT1vJiYiWE1BU1RSRUUiIT09bz97bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigyODM1NjIpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig3MzA3NikpLGljb246InVmby1hbmQtY293IixidXR0b25zOlt7bmFtZTpnLG9uQ2xpY2s6dH1dfTp7bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigzNzE3NzkpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig1MjMyNzkpKSxpY29uOnthbmltYXRpb25Vcmw6cigxMTE4NTkpLHdpZHRoOjEyMCxoZWlnaHQ6MTIwLGtlZXBPcmlnaW5hbFNpemU6ITB9LGJ1dHRvbnM6W3tuYW1lOmcsb25DbGljazp0fV19fV9jcmVhdGVFcnJvclBhcmFtc0ZvclVuc3VwcG9ydGVkUmVzb2x1dGlvbihlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkudW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKS52YWx1ZSgpO3JldHVybiBudWxsPT09dD9udWxsOnttZXNzYWdlOlModCksdGl0bGU6Zih0KSxpY29uOiJ1bnN1cHBvcnRlZC1yZXNvbHV0aW9uIixidXR0b25zOlt7bmFtZTp2KHQpLG9uQ2xpY2s6KCk9PntlLnNldEFjdGl2ZSghMCksbi5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKHQuYXBwbGljYWJsZVJlc29sdXRpb24sIkVycm9yIHN0YXRlIil9fV19fV9nZXRFcnJvck1lc3NhZ2UoKXtyZXR1cm4gdyh0aGlzLl9iYW5FcnJvck1lc3NhZ2UudmFsdWUoKXx8dGhpcy5fcGFuZVdpZGdldEVycm9yTWVzc2FnZS52YWx1ZSgpKX19fSwxMTE4NTkoZSx0LHIpewplLmV4cG9ydHM9ci5wKyJueS1hbmltYXRpb24uNDA0MzM0OGQ2ZTYxOTljNGYxYjMuanNvbiJ9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/20354.2ddf934f8edc2802d90a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.663Z","timestamp":1785124876663,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/20354.2ddf934f8edc2802d90a.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4c0f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 06464bbfdfed161af466441a8a5e3f89\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19471,"size_decoded":3320,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (19471), with no line terminators","md5":"862a961c39b7410a362cc06ade612375","sha1":"0c7a395968e24e835ade4687d6738865085e0e3a","sha256":"bab109cd7e0f582023950c24ed2f621684d739836c3dd4a8ec06defa4fe2c79a","sha512":"4349960f67b7538f48f9093de4c5f5d571167e0bfa535df0fa4bece73a757b23be6f06dc372fbd20958defade650741ef4ea329a326b707bf80a291c3f7c8fe0","ssdeep":"96:oeExfo1CyDi6qKiVncAB009Fb0g7i3J/KjA+f7GRX6fXGq/J5FzalqIsoNIhYnwa:o/ty+6IcpcA+f7GRX6fXGq1JIsqGsM0V","tlshash":"ab9259dbb1d4a8307dd161e9d35a316ca7d1ec38f9132cc3faa9e45248c1bf224b8566","first_seen":"2026-07-16T13:40:49.886491Z","last_seen":"2026-07-27T06:14:34.043144Z","times_seen":172,"resource_available":false,"data":"LmJ1dHRvbi1tTEVoQ3JWd3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJ1dHRvbi1jb2xvci1iZyx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmcpKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tYm9yZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXIpKSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcix2YXIoLS11aS1saWItYnV0dG9uLWNvbG9yLWNvbnRlbnQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3IpKSk7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctcmlnaHQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQpKSk7cGFkZGluZy10b3A6MDtwYWRkaW5nLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0KSkpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zcXVhcmVCdXR0b24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZSw0KSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMzRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjQwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQ4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1NnB4KTtoZWlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWhlaWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3I6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSo3cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzFweCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3IpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxMnB4KTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1yYWRpdXMpO3RyYW5zaXRpb246dmFyKC0tdWktbGliLXNxdWFyZUJ1dHRvbi10cmFuc2l0aW9uKX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcmFkaXVzKSArIDRweCl9LmJ1dHRvbi1tTEVoQ3JWd3tvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3Vze291dGxpbmU6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5idXR0b24tbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyAxMHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNXB4O3dpZHRoOmNhbGMoMTAwJSArIDEwcHgpO3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpfS5idXR0b24tbUxFaENyVncuaWNvbk9ubHktbUxFaENyVnd7aGVpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpO3dpZHRoOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdDowOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQ6MH0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIzcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozMXB4KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29uczpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykud2l0aFN0YXJ0U2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWxlZnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbil9LmJ1dHRvbi1tTEVoQ3JWdzpub3QoLmljb25Pbmx5LW1MRWhDclZ3KS53aXRoRW5kU2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLXJpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvci13aXRoLWljb24pfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykgLnN0YXJ0U2xvdFdyYXAtbUxFaENyVnd7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLW1hcmdpbi1iZXR3ZWVuLWljb25zKX0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpIC5lbmRTbG90V3JhcC1tTEVoQ3JWd3ttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29ucyl9LnhzbWFsbC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1zaXplOjJ9LnNtYWxsLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6M30ubWVkaXVtLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6NH0ubGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo1fS54bGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo2fS5jb250ZW50LW1MRWhDclZ3e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNTAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2MDApO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25Pbmx5LW1MRWhDclZ3IC5jb250ZW50LW1MRWhDclZ3e2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVufS5saW5rLW1MRWhDclZ3e2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsdWUtbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmJsdWUtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uZ3JheS1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19fS5ncmF5LW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfX19LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0ucmVkLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfX19LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5yZWQtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0ucmVkLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uYmxhY2stbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsYWNrLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19fS5ibGFjay1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5ibGFjay1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fX0uYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnNlY29uZGFyeS1tTEVoQ3JWd1thcmlhLWRpc2FibGVkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdGhlci10cmFuc3BhcmVudCl9LnNsb3QtbUxFaENyVnd7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zdHJldGNoLW1MRWhDclZ3e3dpZHRoOjEwMCV9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3LmFkanVzdFBvc2l0aW9uLW1MRWhDclZ3Om5vdCguZmlyc3RSb3ctbUxFaENyVncpe21hcmdpbi10b3A6LTFweH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncuYWRqdXN0UG9zaXRpb24tbUxFaENyVnc6bm90KC5maXJzdENvbC1tTEVoQ3JWdyl7bWFyZ2luLWlubGluZS1zdGFydDotMXB4O21heC13aWR0aDpjYWxjKDEwMCUgKyAxcHgpO3dpZHRoOmNhbGMoMTAwJSArIDFweCl9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3Vze3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVnc6Zm9jdXMtdmlzaWJsZXt6LWluZGV4OjF9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7ei1pbmRleDphdXRvfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItdG9wLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdywuYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci1ib3R0b20tbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LnRleHRXcmFwLW1MRWhDclZ3e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5tdWx0aWxpbmVDb250ZW50LW1MRWhDclZ3e2hlaWdodDptaW4tY29udGVudDtwYWRkaW5nOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo5cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMjNweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqNnB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2cHgpfS5wcmltYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE2cHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjYwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjYwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5wcmltYXJ5VGV4dC1tTEVoQ3JWdywuc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbn0uc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjEzcHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjQwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE4cHgpO3RleHQtdHJhbnNmb3JtOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tc2Vjb25kYXJ5LXRleHQtdHJhbnNmb3JtKTt3aGl0ZS1zcGFjZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMThweCk7ZGlzcGxheTotd2Via2l0LWJveDtsZXR0ZXItc3BhY2luZzpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMCk7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKjIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98696.e10ceecfd44535d6ea1a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.740Z","timestamp":1785124876740,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98696.e10ceecfd44535d6ea1a.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-140a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b85e908311709506aacc14fde6d309d4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5130,"size_decoded":2055,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5130), with no line terminators","md5":"14ba6ef799217e3cf6c0f723627f96dc","sha1":"56a2abca6a545fb6f28a7e66508fea511db30c47","sha256":"6db5f60c32ec213410cd578b53e2878efcddc6fc01da1bc3a11fa465d4702c63","sha512":"df91da3cdf87cd7cf1cfc3abd0b1101ac8328f973e85853b5eb5d12caddcd8bce1f4e2eb279848a377f5126ff637ac6131f20b60dcc3a6d247bca2145fe32ac2","ssdeep":"96:ONadZaAWAo8APlUdGRzg0oszVpO79JSjpHzbfKaMvPd92bCJIdWJak:ON8Zfro1PlUdGRzg0osz+79JalzbVulr","tlshash":"43b1329ceb94a27b7c2ba43c1318e32d4e45be42dd621bf6bd3d610149c3be261e6744","first_seen":"2026-06-18T02:55:32.293865Z","last_seen":"2026-07-27T06:14:34.220095Z","times_seen":252,"resource_available":false,"data":"LmhhbGFsU3RhdHVzLW5QVTM5cndVe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktc3VjY2Vzcy1leHRyYS1ib2xkKX0uaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5oYWxhbFN0YXR1cy1uUFUzOXJ3VTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1B7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudHZDYWxjdWxhdGVkUGFpci1TM3pjY0lfUDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3Zvd3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmhrZXhDb21tZW50LWVidU5Tdm93OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5kZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV86YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9LmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQXtjb2xvcjp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKX0ubGV0SXRTbm93U3RhdHVzLUR0MzBidlVBOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLU9ZaFg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMS1PWWhYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1PWWhYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzEtT1loWDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS53cmFwU3RhY2tUcmFjZS1xcTJqU3I5T3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5Ok1lbmxvLFVidW50dSBNb25vLENvbnNvbGFzLHNvdXJjZS1jb2RlLXBybyxtb25vc3BhY2U7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjRweDtyb3ctZ2FwOjEycHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ud3JhcFN0YWNrVHJhY2UtcXEyalNyOU86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5zdGFja1RyYWNlTGluZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMC1PWWhYKTt3aGl0ZS1zcGFjZTpub3dyYXB9LmZ1bmN0aW9uTmFtZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMS1PWWhYKX0uYmFySW5kZXgtcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmluZm8tcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpfS5oaWRlRW1wdHktcXEyalNyOU86ZW1wdHl7ZGlzcGxheTpub25lfS5lZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTN7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXl6SzY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC15eks2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS53cmFwcGVyLVBndUFyTEZme2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MTAwJTtyb3ctZ2FwOjhweH0ud3JhcEVycm9yLVBndUFyTEZme2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzIGVhc2V9LndyYXBFcnJvci1QZ3VBckxGZi5jbGlja2VkQW5pbS1QZ3VBckxGZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXl6SzYpfS5lcnJvclRleHQtUGd1QXJMRmZ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ud3JhcFN0YWNrVHJhY2UtUGd1QXJMRmZ7bWFyZ2luLXRvcDoxMnB4fS5kZXNjcmlwdGlvbi1qZW5OVnNfQ3ttYXJnaW4tYm90dG9tOjhweDttYXJnaW4tdG9wOjRweH0ubW9kZS1qZW5OVnNfQ3thbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4O2hlaWdodDozMHB4fS5hY3Rpb25zLWplbk5Wc19De2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9LmFjdGlvbnMtamVuTlZzX0MgYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4tYm90dG9tOjB9LmxpbmstamVuTlZzX0MsLmxpbmstamVuTlZzX0M6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saW5rLWplbk5Wc19DOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0ubGluay1qZW5OVnNfQzphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0ubGluay1qZW5OVnNfQzpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLWplbk5Wc19DOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0ubGluay1qZW5OVnNfQzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstamVuTlZzX0M6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/27665.013fdb6f09fe121705b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.885Z","timestamp":1785124876885,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/27665.013fdb6f09fe121705b2.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b71-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7cca610ac7ad43e6fea8cedb64406ccf\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5960f9a1dbb4c19fb96b687ccea9f9af","sha1":"6688548a8b2b4c11b3d2a792734db981ac274ce2","sha256":"28010cc42c24fcf9bb5ec2914858cb3327e57c2dc3d81b34202960ca693abbf5","sha512":"704e91e72fab49c5a8600f832ccf9cbd9704c260b710bcd5e61484485576a68e55652c5861bed538fe46b5aa5fcc86f34fa5a154592084bcdb7f34ce79d87cc9","ssdeep":"","tlshash":"c08000c080a28ba820c0280a2028c0bc838c002c238a0280cc320830a30c3a022b8008","first_seen":"2026-03-30T12:30:09.597797Z","last_seen":"2026-07-27T06:24:31.615119Z","times_seen":365,"resource_available":false,"data":"Lm1lbnUtVHo4NG9QZVF7bWluLXdpZHRoOjEwMHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.901Z","timestamp":1785124876901,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39166.21343209d8750da3693a.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-15be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6d91fee05503f6404bae210863d67662\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5566,"size_decoded":3492,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3066)","md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-27T06:24:31.603972Z","times_seen":57,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTE2Nl0sezMxMjEyMihlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbToiaXRlbS1ZUlcwSnNEZCIsc2hvcnRjdXQ6InNob3J0Y3V0LVlSVzBKc0RkIixsb2FkaW5nOiJsb2FkaW5nLVlSVzBKc0RkIixpY29uOiJpY29uLVlSVzBKc0RkIn19LDkzOTE2NihlLHQsYSl7InVzZSBzdHJpY3QiO2Eucih0KSxhLmQodCx7Z2V0VG9vbFNldDooKT0+an0pO3ZhciBuPWEoOTMwMjMxKSxyPWEoNzc5NDc0KSxvPWEoNDM4NTM5KSxpPWEoMTg1MjcxKSxsPWEoMTg2MDk3KSxzPWEoMzQ1MTUxKSxjPWEoMjM1NzI0KSxkPWEoMzEyMzA2KTtjb25zdCB1PSgwLHMuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShjLk1vZGlmaWVycy5BbHQsITEpLCJBIl0sdGV4dDoiezB9ICsgezF9In0pO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChsLlRvb2xiYXJDb2xsYXBzaWJsZUJ1dHRvbix7Li4uZSxpY29uOmQsdGV4dDppLnQobnVsbCx2b2lkIDAsYSgxNjE3MzUpKSx0b29sdGlwOmkudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2FsZXJ0X3Rvb2x0aXAifSxhKDQ4NjM2MSkpLGlzT3BlbmVkOmUuaXNPcGVuZWQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOnV9KX1mdW5jdGlvbiBoKCl7KDAsby5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOiJhbGVydHMifSl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG0sey4uLmUsb25DbGljazpofSl9dmFyIGc9YSg5MDY2ODMpO2Z1bmN0aW9uIHcoKXsoMCxvLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6InNhdmVsb2FkIn0pfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChnLlRvb2xXaWRnZXRTYXZlTG9hZFZpZXcsey4uLmUsaXNBdXRoZW50aWNhdGVkOiExLGlzUHJvY2Vzc2luZzohMSx3YXNDaGFuZ2VzOiEwLGhpZGVNZW51OiEwLG9uU2F2ZUNoYXJ0OncsaXNOZXdWaWV3OigwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0pfXZhciBfPWEoNjU5MzY1KSxmPWEoOTE0NDg3KSx2PWEubihmKSxFPWEoMTUzNzM0KSx5PWEoMjc2MDE5KSxrPWEoMzg3MjMxKSxTPWEoNzU0MTgwKSxUPWEoOTcxNjU5KSxDPWEoODUwMTA4KSxNPWEoMTk5MTcyKSxCPWEoNTY5Mzk4KSxGPWEoMzEyMTIyKTtjb25zdCBSPSgwLGsubWVyZ2VUaGVtZXMpKEUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUsRik7ZnVuY3Rpb24gVyhlLHQpe3dpbmRvdy5wYXJlbnQhPT13aW5kb3cmJndpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe25hbWU6ZSxkZXRhaWw6dH0sIioiKX1mdW5jdGlvbiBEKGUpe3JldHVybiBCb29sZWFuKGUuY2hhcnRXaWRnZXQubW9kZWwpfWNvbnN0IE49KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gUChlKXtjb25zdHtzZXJ2ZXJTbmFwc2hvdDp0LGNsaWVudFNuYXBzaG90Om59PWUsW28sbF09KDAsci51c2VTdGF0ZSkoITEpLHM9KDAsVC51c2VJc01vdW50ZWQpKCksYz0oMCxyLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2lmKCFEKHdpbmRvdykpcmV0dXJuO2NvbnN0IGU9d2luZG93LmNoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5xdW90ZXMoKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlF1b3RlcyBkYXRhIG1pc3NpbmcgZm9yIHRlbGVncmFtIG1lc3NhZ2UiKTtXKCJ0ZWxlZ3JhbS1zaGFyZS1sYXN0LXByaWNlIix7Y3VycmVuY3k6dC5jdXJyZW5jeV9jb2RlfHwiIixzeW1ib2xOYW1lOmUuZ2V0U3ltYm9sTmFtZSgpLGxhc3RQcmljZTp0Lmxhc3RfcHJpY2UsbGFzdFByaWNlVGltZTp0LmxwX3RpbWUsc3ltYm9sOnRbInN5bWJvbC1wcmltYXJ5bmFtZSJdPz9lLmdldFN5bWJvbE5hbWUoKSxpbnRlcnZhbDplLmludGVydmFsKCl8fCIxIn0pfSksW10pLGQ9KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9Pnt0cnl7Y29uc3QgZT1hd2FpdCBuZXcgUHJvbWlzZSgoZT0+e3RyeXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2lmKHQud2lkdGg9MSx0LmhlaWdodD0xLCF0LnRvQmxvYilyZXR1cm4gdm9pZCBlKCExKTt0LnRvQmxvYigodD0+e2UoQm9vbGVhbih0JiYiaW1hZ2UvanBlZyI9PT10LnR5cGUpKX0pLCJpbWFnZS9qcGVnIil9Y2F0Y2h7ZSghMSl9fSkpO2lmKE58fCFlKXtyZXR1cm4gVygidGVsZWdyYW0tc2hhcmUtc25hcHNob3QiLGF3YWl0IHQoKSksITB9aWYoIUQod2luZG93KSlyZXR1cm4hMTtjb25zdCBhPXdpbmRvdy5jaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKS5nZXRTeW1ib2xOYW1lKCkscj1hd2FpdCBuKCksbz0oMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSIpPy4zOi44LGk9YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0PS44KXtyZXR1cm4gbmV3IFByb21pc2UoKChhLG4pPT57ZS50b0Jsb2IoKGU9PntpZihudWxsPT09ZSlyZXR1cm4gdm9pZCBuKG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBCbG9iIikpO2NvbnN0IHQ9bmV3IEZpbGVSZWFkZXI7dC5vbmxvYWRlbmQ9YXN5bmMoKT0+e3RyeXtjb25zdCBlPXQucmVzdWx0O2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgcmVhZGVyIHJlc3VsdCIpO2NvbnN0IG49ZS5zcGxpdCgiLCIpWzFdO2Eobil9Y2F0Y2goZSl7bihlKX19LHQub25lcnJvcj0oKT0+e24obmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBibG9iIGFzIGRhdGEgVVJMIikpfSx0LnJlYWRBc0RhdGFVUkwoZSl9KSwiaW1hZ2UvanBlZyIsdCl9KSl9KHIuY2FudmFzLG8pO3JldHVybiBXKCJ0ZWxlZ3JhbS1zaGFyZS1zbmFwc2hvdC1iYXNlNjQiLHtjb250ZW50OmksCnN5bWJvbDphfSksITB9ZmluYWxseXtzLmN1cnJlbnQmJihsKCExKSwoMCx5Lmdsb2JhbENsb3NlTWVudSkoKSl9fSksW3Qsbl0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudChNLlRvb2xXaWRnZXRNZW51U3VtbWFyeSxudWxsLGkudChudWxsLHZvaWQgMCxhKDI5NjQ1NykpKSwhKDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfZGlzYWJsZV9zaGFyZV9zbmFwc2hvdCIpJiZyLmNyZWF0ZUVsZW1lbnQoQy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsImRhdGEtbmFtZSI6InNoYXJlLWNoYXJ0LWltYWdlIixsYWJlbDpyLmNyZWF0ZUVsZW1lbnQoUy5MYWJlbFdpdGhMb2FkZXIse2lzTG9hZGluZzpvfSxpLnQobnVsbCx2b2lkIDAsYSg4NzA2NzgpKSksb25DbGljazooKT0+e2woITApLGQoKX0sZG9udENsb3NlUG9wdXA6ITAsaXNEaXNhYmxlZDpvLHNob3J0Y3V0OnZvaWQgMCxjbGFzc05hbWU6digpKG8mJkYubG9hZGluZyksdGhlbWU6Un0pLCEoMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKSYmci5jcmVhdGVFbGVtZW50KEMuQWNjZXNzaWJsZU1lbnVJdGVtLHtyb2xlOiJyb3ciLCJkYXRhLW5hbWUiOiJzaGFyZS1sYXN0LXByaWNlIixsYWJlbDppLnQobnVsbCx2b2lkIDAsYSg1NDAwNDIpKSxvbkNsaWNrOmMsc2hvcnRjdXQ6dm9pZCAwLHRoZW1lOlJ9KSl9dmFyIHg9YSg3NzEyODUpLEE9YSg5OTU3MTkpLEw9YSg2MDk1MjgpLFU9YSgxMTczMTMpO2NvbnN0IHo9KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LGFdPSgwLHIudXNlU3RhdGUpKCExKSxuPSgwLFQudXNlSXNNb3VudGVkKSgpLG89KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9PnthKCEwKSx6P2F3YWl0IGUuc2VydmVyU25hcHNob3QoKTphd2FpdCBlLmNsaWVudFNuYXBzaG90KCksbi5jdXJyZW50JiZhKCExKX0pLFtlLnNlcnZlclNuYXBzaG90LGUuY2xpZW50U25hcHNob3RdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KEEuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgSj1hKDIxNjA4MyksTz1hKDg1ODIzNik7Y29uc3QgVj0oMCxfLmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsVS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpP3IuY3JlYXRlRWxlbWVudChJLHsuLi5lLGljb246T30pOnIuY3JlYXRlRWxlbWVudCh4LlRvb2xiYXJNZW51QnV0dG9uLHtjb250ZW50OnIuY3JlYXRlRWxlbWVudChBLlRvb2xXaWRnZXRCdXR0b24se3RhZzoiZGl2IixpZDplLmlkLGNsYXNzTmFtZTplLmNsYXNzTmFtZSxpY29uOk99KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEoudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidGVsZWdyYW0gc2hhcmUiKX0sdG9vbHRpcDplLnRvb2x0aXAsbWVudVJvbGU6ImdyaWQifSxyLmNyZWF0ZUVsZW1lbnQoUCx7Li4uZX0pKX0pKTt2YXIgWT1hKDMzMDcyMSk7ZnVuY3Rpb24gaigpe3JldHVybnsuLi4oMCxZLmdldFJlc3RyaWN0ZWRUb29sU2V0KSgpLEFsZXJ0UmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP3A6dm9pZCAwLFNhdmVMb2FkUmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP2I6dm9pZCAwLFRlbGVncmFtU2hhcmU6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3RlbGVncmFtX3NoYXJlIik/Vjp2b2lkIDB9fX0sODU4MjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIxIDguNWEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHptMSAwYTMuNSAzLjUgMCAwIDEtNi4yMSAyLjIxbC00LjA2IDIuNDRhMy40OSAzLjQ5IDAgMCAxIDAgMi43bDQuMDYgMi40NGEzLjUgMy41IDAgMSAxLS41Mi44NmwtNC4wNi0yLjQ0YTMuNSAzLjUgMCAxIDEgMC00LjQybDQuMDYtMi40NEEzLjQ5IDMuNDkgMCAwIDEgMTguNSA1IDMuNSAzLjUgMCAwIDEgMjIgOC41em0tMSAxMmEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHpNOC41IDE3YTIuNSAyLjUgMCAxIDAgMC01IDIuNSAyLjUgMCAwIDAgMCA1eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.914Z","timestamp":1785124876914,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-cc58\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5f9476b3556523710b7f2cc21c56c4e6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52312,"size_decoded":18239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-27T06:24:31.549556Z","times_seen":46,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MzkyNiw2NDY0NF0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIGk9dHlwZW9mIHI7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW4uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBvIGluIHIpcy5jYWxsKHIsbykmJnJbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8obi5kZWZhdWx0PW4sZS5leHBvcnRzPW4pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG59LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sODQ2MDExKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1xWW00eDJ1dSIsd3JhcFdpdGhBcnJvd3NPdXRpbmc6IndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1Iix3cmFwT3ZlcmZsb3c6IndyYXBPdmVyZmxvdy1xWW00eDJ1dSIsc2Nyb2xsV3JhcDoic2Nyb2xsV3JhcC1xWW00eDJ1dSIsbm9TY3JvbGxCYXI6Im5vU2Nyb2xsQmFyLXFZbTR4MnV1IixpY29uOiJpY29uLXFZbTR4MnV1IixzY3JvbGxMZWZ0OiJzY3JvbGxMZWZ0LXFZbTR4MnV1IixzY3JvbGxSaWdodDoic2Nyb2xsUmlnaHQtcVltNHgydXUiLGlzVmlzaWJsZToiaXNWaXNpYmxlLXFZbTR4MnV1IixpY29uV3JhcDoiaWNvbldyYXAtcVltNHgydXUiLGZhZGVMZWZ0OiJmYWRlTGVmdC1xWW00eDJ1dSIsZmFkZVJpZ2h0OiJmYWRlUmlnaHQtcVltNHgydXUifX0sNTc1MTM3KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4In19LDYzMzI5KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iix0b29sYmFyOiJ0b29sYmFyLU5DWXlvemhoIixpc0hpZGRlbjoiaXNIaWRkZW4tTkNZeW96aGgiLG92ZXJmbG93V3JhcDoib3ZlcmZsb3dXcmFwLU5DWXlvemhoIixjdXN0b21CdXR0b246ImN1c3RvbUJ1dHRvbi1OQ1l5b3poaCIsaG92ZXI6ImhvdmVyLU5DWXlvemhoIixjbGlja2VkOiJjbGlja2VkLU5DWXlvemhoIn19LDM3MDc3NShlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtVUwzRklwc2UiLGljb246Imljb24tVUwzRklwc2UifX0sMjE4NjAzKGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iixpbm5lcldyYXA6ImlubmVyV3JhcC1kbEZETjBaZCIsaW5uZXI6ImlubmVyLWRsRkROMFpkIixmYWtlOiJmYWtlLWRsRkROMFpkIixmaWxsOiJmaWxsLWRsRkROMFpkIixjb2xsYXBzZToiY29sbGFwc2UtZGxGRE4wWmQiLGJ1dHRvbjoiYnV0dG9uLWRsRkROMFpkIixpY29uQnV0dG9uOiJpY29uQnV0dG9uLWRsRkROMFpkIixoaWRkZW46ImhpZGRlbi1kbEZETjBaZCIsY29udGVudDoiY29udGVudC1kbEZETjBaZCIsZGVza3RvcFRyYWRlOiJkZXNrdG9wVHJhZGUtZGxGRE4wWmQiLGRlc2t0b3BQdWJsaXNoOiJkZXNrdG9wUHVibGlzaC1kbEZETjBaZCIsbW9iaWxlVHJhZGU6Im1vYmlsZVRyYWRlLWRsRkROMFpkIixtb2JpbGVQdWJsaXNoOiJtb2JpbGVQdWJsaXNoLWRsRkROMFpkIn19LDI3OTUzMihlKXtlLmV4cG9ydHM9e2dyb3VwOiJncm91cC1MTFpBYnMwRyIsc2VwYXJhdG9yOiJzZXBhcmF0b3ItTExaQWJzMEciLG5vTGVmdERlY29yYXRpb246Im5vTGVmdERlY29yYXRpb24tTExaQWJzMEciLG5vUmlnaHREZWNvcmF0aW9uOiJub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwRyIsbm9NaW5pbWFsV2lkdGg6Im5vTWluaW1hbFdpZHRoLUxMWkFiczBHIixzZXBhcmF0b3JXcmFwOiJzZXBhcmF0b3JXcmFwLUxMWkFiczBHIn19LDE2NDU2NihlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLWxsdXF1ZlZxIn19LDUwOTk5MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtNZWFzdXJlOigpPT5ufSk7dmFyIHM9cig3MTk0MjUpO2Z1bmN0aW9uIG4oZSl7Y29uc3R7Y2hpbGRyZW46dCxvblJlc2l6ZTpyfT1lO3JldHVybiB0KCgwLHMudXNlUmVzaXplT2JzZXJ2ZXIpKHJ8fCgoKT0+e30pLFtudWxsPT09cl0pKX19LDc4Nzg5NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt1c2VGdW5jdGlvbmFsUmVmT2JqZWN0OigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpLG49cig2MTYzMTEpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1yPT57ZShyKSx0LmN1cnJlbnQ9cn07cmV0dXJuIHQuY3VycmVudD1udWxsLHR9KChlPT57by5jdXJyZW50KGUpfSkpKSxbXSkscj0oMCxzLnVzZVJlZikobnVsbCksaT10PT57aWYobnVsbD09PXQpcmV0dXJuIGEoci5jdXJyZW50LHQpLHZvaWQoci5jdXJyZW50PW51bGwpO3IuY3VycmVudCE9PWUmJihyLmN1cnJlbnQ9ZSxhKHIuY3VycmVudCx0KSl9LG89KDAscy51c2VSZWYpKGkpO3JldHVybiBvLmN1cnJlbnQ9aSwoMCxuLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT10LmN1cnJlbnQpcmV0dXJuIG8uY3VycmVudCh0LmN1cnJlbnQpLCgpPT5vLmN1cnJlbnQobnVsbCl9KSxbZV0pLHR9ZnVuY3Rpb24gYShlLHQpe251bGwhPT1lJiYoImZ1bmN0aW9uIj09dHlwZW9mIGU/ZSh0KTplLmN1cnJlbnQ9dCl9fSw2ODk4OTQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7aG92ZXJNb3VzZUV2ZW50RmlsdGVyOigpPT5hLHVzZUFjY3VyYXRlSG92ZXI6KCk9Pm8sdXNlSG92ZXI6KCk9Pm4sdXNlSG92ZXJEZXByZWNhdGVkOigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpO2Z1bmN0aW9uIG4oKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZUVudGVyOmZ1bmN0aW9uKGUpe3QoITApfSwKb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gbyhlKXtjb25zdFt0LHJdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcz1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO3Iocyl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTk0MjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7dXNlUmVzaXplT2JzZXJ2ZXI6KCk9PmF9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDYxNjMxMSksaT1yKDc4Nzg5NSk7ZnVuY3Rpb24gYShlLHQ9W10pe2NvbnN0e2NhbGxiYWNrOnIscmVmOmE9bnVsbH09ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGU/e2NhbGxiYWNrOmV9OmV9KGUpLG89KDAscy51c2VSZWYpKG51bGwpLGw9KDAscy51c2VSZWYpKHIpO2wuY3VycmVudD1yO2NvbnN0IGM9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShhKSx1PSgwLHMudXNlQ2FsbGJhY2spKChlPT57YyhlKSxudWxsIT09by5jdXJyZW50JiYoby5jdXJyZW50LmRpc2Nvbm5lY3QoKSxudWxsIT09ZSYmby5jdXJyZW50Lm9ic2VydmUoZSkpfSksW2Msb10pO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT4oby5jdXJyZW50PW5ldyBSZXNpemVPYnNlcnZlcigoKGUsdCk9PntsLmN1cnJlbnQoZSx0KX0pKSxjLmN1cnJlbnQmJnUoYy5jdXJyZW50KSwoKT0+e28uY3VycmVudD8uZGlzY29ubmVjdCgpfSkpLFtjLC4uLnRdKSx1fX0sMjczMzEwKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0ljb246KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7Y29uc3Qgbj1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpyPSIiLHRpdGxlOm4sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOm8sLi4ubH09ZSxjPSEhKG58fGl8fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOm98fCFjLHRpdGxlOm4sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpyfX0pfSkpfSw4MzM5MDMoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKC4uLmUpe3JldHVybiB0PT57Zm9yKGNvbnN0IHIgb2YgZSl2b2lkIDAhPT1yJiZyKHQpfX1yLmQodCx7Y3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcjooKT0+c30pfSwzNjUyMTcoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7SEVBREVSX1RPT0xCQVJfSEVJR0hUX0NPTExBUFNFRDooKT0+aSxIRUFERVJfVE9PTEJBUl9IRUlHSFRfRVhQQU5ERUQ6KCk9Pm59KTt2YXIgcz1yKDU3NTEzNyk7Y29uc3Qgbj1wYXJzZUludChzWyJjc3MtdmFsdWUtaGVhZGVyLXRvb2xiYXItaGVpZ2h0Il0pLGk9M30sNTIzODAxKGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtIZWFkZXJUb29sYmFyOigpPT5fZX0pO3ZhciBzPXIoNzc5NDc0KSxuPXIoOTE0NDg3KSxpPXIubihuKSxhPXIoNTI3MzIzKSxvPXIubihhKSxsPXIoNTg3MTY4KSxjPXIoMzA0MjIxKTtjb25zdCB1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfTt2YXIgZD1yKDEzODYzOCksaD1yKDIzMjM2NCksbT1yKDkzMDIzMSksdj1yKDE3OTc3MSkscD1yKDIyMTg5NiksZj1yKDM2MzI2OSksUz1yKDk5ODE1OCksYj1yKDE2NDU2Nik7ZnVuY3Rpb24gZyhlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGIuc2VwYXJhdG9yLGUuY2xhc3NOYW1lKX0pfXZhciBfPXIoMjc5NTMyKTtmdW5jdGlvbiB5KGUpe2NvbnN0e2NoaWxkcmVuOnQsY2xhc3NOYW1lOnIsbm9MZWZ0RGVjb3JhdGlvbjpuLG5vUmlnaHREZWNvcmF0aW9uOmEsbm9NaW5pbWFsV2lkdGg6byxvbkNsaWNrOmwscmVtb3ZlU2VwYXJhdG9yOmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWMmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uc2VwYXJhdG9yV3JhcH0scy5jcmVhdGVFbGVtZW50KGcse2NsYXNzTmFtZTpfLnNlcGFyYXRvcn0pKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkocixfLmdyb3VwLHtbXy5ub01pbmltYWxXaWR0aF06byxbXy5ub0xlZnREZWNvcmF0aW9uXTpuLFtfLm5vUmlnaHREZWNvcmF0aW9uXTphfSksb25DbGljazpsfSx0KSl9dmFyIEU9cig1MDk5OTApLEM9cigxODUyNzEpLFQ9cigyNzMzMTApLHc9cigzNzA3NzUpLEQ9cigzMDE2MDcpO2NvbnN0IE09e3RleHQ6Qy50KG51bGwsdm9pZCAwLHIoNTQwOTEwKSl9O2Z1bmN0aW9uIFIoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncud3JhcH0scy5jcmVhdGVFbGVtZW50KFQuSWNvbix7Y2xhc3NOYW1lOncuaWNvbixpY29uOkR9KSxNLnRleHQpfXZhciBrPXIoMjE4ODE0KSxJPXIoMTE1MjkzKSxGPXIoMzQyNzgpLE89cigzOTE4OTApLEE9cig4NDYwMTEpO2NvbnN0IFY9e2lzVmlzaWJsZVNjcm9sbGJhcjohMCxzaG91bGRNZWFzdXJlOiEwLGhpZGVCdXR0b25zRnJvbToxfTtmdW5jdGlvbiBOKGUpe3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoQS5mYWRlTGVmdCxlLmNsYXNzTmFtZSx7W0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24gTChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuZmFkZVJpZ2h0LGUuY2xhc3NOYW1lLHsKW0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24geChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KEIsey4uLmUsY2xhc3NOYW1lOkEuc2Nyb2xsTGVmdH0pfWZ1bmN0aW9uIFcoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChCLHsuLi5lLGNsYXNzTmFtZTpBLnNjcm9sbFJpZ2h0fSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGUuY2xhc3NOYW1lLHtbQS5pc1Zpc2libGVdOmUuaXNWaXNpYmxlfSksb25DbGljazplLm9uQ2xpY2t9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkEuaWNvbldyYXB9LHMuY3JlYXRlRWxlbWVudChULkljb24se2ljb246TyxjbGFzc05hbWU6QS5pY29ufSkpKX1jb25zdCBQPWZ1bmN0aW9uKGU9eCx0PVcscj1OLG49TCl7dmFyIGE7cmV0dXJuKGE9Y2xhc3MgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc2Nyb2xsPXMuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlU2Nyb2xsTGVmdD0oKT0+e2lmKHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uU2Nyb2xsQnV0dG9uQ2xpY2soImxlZnQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWF4KDAsdGhpcy5jdXJyZW50UG9zaXRpb24oKS1lKSl9LHRoaXMuX2hhbmRsZVNjcm9sbFJpZ2h0PSgpPT57aWYodGhpcy5wcm9wcy5vblNjcm9sbEJ1dHRvbkNsaWNrKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaygicmlnaHQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWluKCh0aGlzLnN0YXRlLndpZHRoQ29udGVudHx8MCktKHRoaXMuc3RhdGUud2lkdGhXcmFwfHwwKSx0aGlzLmN1cnJlbnRQb3NpdGlvbigpK2UpKX0sdGhpcy5faGFuZGxlUmVzaXplV3JhcD0oW2VdKT0+e2NvbnN0IHQ9ZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5wcm9wcy5vbk1lYXN1cmVXcmFwJiZ0aGlzLnByb3BzLm9uTWVhc3VyZVdyYXAodCksdGhpcy5zZXRTdGF0ZSh7d2lkdGhXcmFwOnQud2lkdGh9KSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2hhbmRsZVJlc2l6ZUNvbnRlbnQ9KFtlXSk9Pntjb25zdCB0PWUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMucHJvcHMub25NZWFzdXJlQ29udGVudCYmdGhpcy5wcm9wcy5vbk1lYXN1cmVDb250ZW50KHQpO2NvbnN0e3Nob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OnIsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6c309dGhpcy5wcm9wcztyJiZzP3RoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRoKzIqc30pOnRoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRofSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e2NvbnN0e29uU2Nyb2xsOmV9PXRoaXMucHJvcHM7ZSYmZSh0aGlzLmN1cnJlbnRQb3NpdGlvbigpLHRoaXMuaXNBdExlZnQoKSx0aGlzLmlzQXRSaWdodCgpKSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHk9KCk9Pntjb25zdHtpc1Zpc2libGVMZWZ0QnV0dG9uOmUsaXNWaXNpYmxlUmlnaHRCdXR0b246dH09dGhpcy5zdGF0ZSxyPXRoaXMuaXNBdExlZnQoKSxzPXRoaXMuaXNBdFJpZ2h0KCk7cnx8ZT9yJiZlJiZ0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVMZWZ0QnV0dG9uOiExfSk6dGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlTGVmdEJ1dHRvbjohMH0pLHN8fHQ/cyYmdCYmdGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlUmlnaHRCdXR0b246ITF9KTp0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVSaWdodEJ1dHRvbjohMH0pfSx0aGlzLnN0YXRlPXt3aWR0aENvbnRlbnQ6MCx3aWR0aFdyYXA6MCxpc1Zpc2libGVSaWdodEJ1dHRvbjohMSxpc1Zpc2libGVMZWZ0QnV0dG9uOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHkoKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0LndpZHRoV3JhcD09PXRoaXMuc3RhdGUud2lkdGhXcmFwJiZ0LndpZHRoQ29udGVudD09PXRoaXMuc3RhdGUud2lkdGhDb250ZW50fHx0aGlzLl9oYW5kbGVTY3JvbGwoKX1jdXJyZW50UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsLmN1cnJlbnQ/KDAsSS5pc1J0bCkoKT8oMCxJLmdldExUUlNjcm9sbExlZnQpKHRoaXMuX3Njcm9sbC5jdXJyZW50KTp0aGlzLl9zY3JvbGwuY3VycmVudC5zY3JvbGxMZWZ0OjB9aXNBdExlZnQoKXtyZXR1cm4hdGhpcy5faXNPdmVyZmxvd2VkKCl8fHRoaXMuY3VycmVudFBvc2l0aW9uKCk8PSgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wcy5oaWRlQnV0dG9uc0Zyb20pfWlzQXRSaWdodCgpe3JldHVybiF0aGlzLl9pc092ZXJmbG93ZWQoKXx8dGhpcy5jdXJyZW50UG9zaXRpb24oKSt0aGlzLnN0YXRlLndpZHRoV3JhcD49dGhpcy5zdGF0ZS53aWR0aENvbnRlbnQtKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BzLmhpZGVCdXR0b25zRnJvbSl9YW5pbWF0ZVRvKGUsdD1rLmR1cil7Y29uc3Qgcj10aGlzLl9zY3JvbGwuY3VycmVudDtyJiYoKDAsSS5pc1J0bCkoKSYmKGU9KDAsSS5nZXRMVFJTY3JvbGxMZWZ0T2Zmc2V0KShyLGUpKSx0PD0wP3Iuc2Nyb2xsTGVmdD1NYXRoLnJvdW5kKGUpOigwLEYuZG9BbmltYXRlKSh7b25TdGVwKGUsdCl7ci5zY3JvbGxMZWZ0PU1hdGgucm91bmQodCl9LGZyb206ci5zY3JvbGxMZWZ0LHRvOk1hdGgucm91bmQoZSksZWFzaW5nOmsuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxkdXJhdGlvbjp0fSkpfXJlbmRlcigpewpjb25zdHtjaGlsZHJlbjphLGlzVmlzaWJsZVNjcm9sbGJhcjpvLGlzVmlzaWJsZUZhZGU6bCxpc1Zpc2libGVCdXR0b25zOmMsc2hvdWxkTWVhc3VyZTp1LHNob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OmQsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6aCxvbk1vdXNlT3ZlcjptLG9uTW91c2VPdXQ6dixzY3JvbGxXcmFwQ2xhc3NOYW1lOnAsZmFkZUNsYXNzTmFtZTpmfT10aGlzLnByb3BzLHtpc1Zpc2libGVSaWdodEJ1dHRvbjpTLGlzVmlzaWJsZUxlZnRCdXR0b246Yn09dGhpcy5zdGF0ZSxnPWQmJmg7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChFLk1lYXN1cmUse29uUmVzaXplOnU/dGhpcy5faGFuZGxlUmVzaXplV3JhcDpudWxsfSwoZD0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6QS53cmFwT3ZlcmZsb3csb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0OnYscmVmOmR9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShBLndyYXAsZz9BLndyYXBXaXRoQXJyb3dzT3V0aW5nOiIiKX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuc2Nyb2xsV3JhcCxwLHtbQS5ub1Njcm9sbEJhcl06IW99KSxvblNjcm9sbDp0aGlzLl9oYW5kbGVTY3JvbGwscmVmOnRoaXMuX3Njcm9sbH0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6dT90aGlzLl9oYW5kbGVSZXNpemVDb250ZW50Om51bGx9LGEpKSxsJiZzLmNyZWF0ZUVsZW1lbnQocix7aXNWaXNpYmxlOmIsY2xhc3NOYW1lOmZ9KSxsJiZzLmNyZWF0ZUVsZW1lbnQobix7aXNWaXNpYmxlOlMsY2xhc3NOYW1lOmZ9KSxjJiZzLmNyZWF0ZUVsZW1lbnQoZSx7b25DbGljazp0aGlzLl9oYW5kbGVTY3JvbGxMZWZ0LGlzVmlzaWJsZTpifSksYyYmcy5jcmVhdGVFbGVtZW50KHQse29uQ2xpY2s6dGhpcy5faGFuZGxlU2Nyb2xsUmlnaHQsaXNWaXNpYmxlOlN9KSkpKSl9X2lzT3ZlcmZsb3dlZCgpe2NvbnN0e3dpZHRoQ29udGVudDplLHdpZHRoV3JhcDp0fT10aGlzLnN0YXRlO3JldHVybiBlPnR9fSkuZGVmYXVsdFByb3BzPVYsYX0oeCxXLE4sTCk7dmFyIEgsej1yKDUxODc1KTshZnVuY3Rpb24oZSl7ZS5TeW1ib2xTZWFyY2g9ImhlYWRlci10b29sYmFyLXN5bWJvbC1zZWFyY2giLGUuSW50ZXJ2YWxzPSJoZWFkZXItdG9vbGJhci1pbnRlcnZhbHMiLGUuQ2hhcnRTdHlsZXM9ImhlYWRlci10b29sYmFyLWNoYXJ0LXN0eWxlcyIsZS5Db21wYXJlPSJoZWFkZXItdG9vbGJhci1jb21wYXJlIixlLkluZGljYXRvcnM9ImhlYWRlci10b29sYmFyLWluZGljYXRvcnMiLGUuU3R1ZHlUZW1wbGF0ZXM9ImhlYWRlci10b29sYmFyLXN0dWR5LXRlbXBsYXRlcyIsZS5Ecm9wZG93bj0iaGVhZGVyLXRvb2xiYXItZHJvcGRvd24iLGUuQWxlcnRzPSJoZWFkZXItdG9vbGJhci1hbGVydHMiLGUuTGF5b3V0cz0iaGVhZGVyLXRvb2xiYXItbGF5b3V0cyIsZS5TYXZlTG9hZD0iaGVhZGVyLXRvb2xiYXItc2F2ZS1sb2FkIixlLlVuZG9SZWRvPSJoZWFkZXItdG9vbGJhci11bmRvLXJlZG8iLGUuUHJvcGVydGllcz0iaGVhZGVyLXRvb2xiYXItcHJvcGVydGllcyIsZS5RdWlja1NlYXJjaD0iaGVhZGVyLXRvb2xiYXItcXVpY2stc2VhcmNoIixlLlRyYWRlRGVza3RvcD0iaGVhZGVyLXRvb2xiYXItdHJhZGUtZGVza3RvcCIsZS5UcmFkZU1vYmlsZT0iaGVhZGVyLXRvb2xiYXItdHJhZGUtbW9iaWxlIixlLlB1Ymxpc2hEZXNrdG9wPSJoZWFkZXItdG9vbGJhci1wdWJsaXNoLWRlc2t0b3AiLGUuUHVibGlzaE1vYmlsZT0iaGVhZGVyLXRvb2xiYXItcHVibGlzaC1tb2JpbGUiLGUuRnVsbHNjcmVlbj0iaGVhZGVyLXRvb2xiYXItZnVsbHNjcmVlbiIsZS5TY3JlZW5zaG90PSJoZWFkZXItdG9vbGJhci1zY3JlZW5zaG90IixlLlRlbGVncmFtU2hhcmU9ImhlYWRlci10b29sYmFyLXRlbGVncmFtLXNoYXJlIixlLlJlcGxheT0iaGVhZGVyLXRvb2xiYXItcmVwbGF5IixlLkZpbmFuY2lhbHM9ImhlYWRlci10b29sYmFyLWZpbmFuY2lhbHMifShIfHwoSD17fSkpO3ZhciBxPXIoNjg5ODk0KSxqPXIoNTY5NjUyKSxHPXIoNzMwMDA5KSxVPXIoNTY5Mzk4KSxLPXIoMzE4OTc0KSwkPXIoMzg2OTMxKSxZPXIoNzAxMTU2KSxKPXIoMjE4NjAzKTtjb25zdCBaPSgwLGoucmVnaXN0cnlDb250ZXh0VHlwZSkoKSxYPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpO2NsYXNzIFEgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZU1vdXNlT3Zlcj1lPT57KDAscS5ob3Zlck1vdXNlRXZlbnRGaWx0ZXIpKGUpJiZ0aGlzLnNldFN0YXRlKHtpc0hvdmVyZWQ6ITB9KX0sdGhpcy5faGFuZGxlTW91c2VPdXQ9ZT0+eygwLHEuaG92ZXJNb3VzZUV2ZW50RmlsdGVyKShlKSYmdGhpcy5zZXRTdGF0ZSh7aXNIb3ZlcmVkOiExfSl9LHRoaXMuX2hhbmRsZUlubmVyUmVzaXplPShbZV0pPT57Y29uc3QgdD1lLmNvbnRlbnRSZWN0LndpZHRoLHtvbldpZHRoQ2hhbmdlOnJ9PXRoaXMucHJvcHM7ciYmcih0KX0sdGhpcy5faGFuZGxlTWVhc3VyZUF2YWlsYWJsZVNwYWNlPWU9Pntjb25zdHtvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnR9PXRoaXMucHJvcHM7dCYmdChlLndpZHRoKX0sdGhpcy5fcHJvY2Vzc0N1c3RvbXM9KGUsdD0hMSk9Pntjb25zdHtpc0Zha2U6cixkaXNwbGF5TW9kZTpufT10aGlzLnByb3BzLHt0b29sczppfT10aGlzLmNvbnRleHQ7cmV0dXJuIGUubWFwKChlPT5zLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OmUuaWQscmVtb3ZlU2VwYXJhdG9yOnR9LChlPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJCdXR0b24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b20sey4uLmUucGFyYW1zLGlzRmFrZTpyfSk7Y2FzZSJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiI6cmV0dXJuIHMuY3JlYXRlRWxlbWVudChpLkN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uLHsuLi5lLnBhcmFtcyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6bn0pO2Nhc2UiRHJvcGRvd24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Ecm9wZG93bix7ZGlzcGxheU1vZGU6biwKcGFyYW1zOmUucGFyYW1zfSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KShlKSkpKX0sdGhpcy5fZml4TGFzdEdyb3VwPShlLHQscik9PntpZih0PT09ci5sZW5ndGgtMSYmcy5pc1ZhbGlkRWxlbWVudChlKSYmZS50eXBlPT09eSl7Y29uc3QgdD12b2lkIDAhPT10aGlzLmNvbnRleHQudG9vbHMuUHVibGlzaCYmIXRoaXMucHJvcHMucmVhZE9ubHk7cmV0dXJuIHMuY2xvbmVFbGVtZW50KGUse25vUmlnaHREZWNvcmF0aW9uOnR9KX1yZXR1cm4gZX0sdGhpcy5faGFuZGxlRGlhbG9nVG9vbHNDaGFuZ2U9ZT0+e3RoaXMuc2V0U3RhdGUoe2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOmV9KX0sKDAsai52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHt0b29sczpwLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNIb3ZlcmVkOiExLGFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm51bGx9fWNvbXBvbmVudERpZE1vdW50KCl7KDAsWS5nZXREaWFsb2dUb29sc01hbmFnZXIpKCk/LmdldEFjdGl2ZURpYWxvZ1Rvb2xzKCkuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpeygwLFkuZ2V0RGlhbG9nVG9vbHNNYW5hZ2VyKSgpPy5nZXRBY3RpdmVEaWFsb2dUb29scygpLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1yZW5kZXIoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse3JlYWRPbmx5OnQsc2hvd1Njcm9sbGJhcldoZW46cixkaXNwbGF5TW9kZTpuLGlzRmFrZTphPSExfT10aGlzLnByb3BzLHtpc0hvdmVyZWQ6b309dGhpcy5zdGF0ZSxsPXIuaW5jbHVkZXMobik7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChHLlRvb2xiYXIse2NsYXNzTmFtZTppKCkoSi5pbm5lcix7W0ouZmFrZV06YX0pLG9uQ29udGV4dE1lbnU6ei5wcmV2ZW50RGVmYXVsdEZvckNvbnRleHRNZW51LCJkYXRhLWlzLWZha2UtbWFpbi1wYW5lbCI6YSwiYXJpYS1oaWRkZW4iOmF9LHMuY3JlYXRlRWxlbWVudChQLHtpc1Zpc2libGVGYWRlOmYubW9iaWxldG91Y2gmJmwsaXNWaXNpYmxlQnV0dG9uczohZi5tb2JpbGV0b3VjaCYmbCYmbyxpc1Zpc2libGVTY3JvbGxiYXI6ITEsc2hvdWxkTWVhc3VyZTohYSxvbk1vdXNlT3Zlcjp0aGlzLl9oYW5kbGVNb3VzZU92ZXIsb25Nb3VzZU91dDp0aGlzLl9oYW5kbGVNb3VzZU91dCxvbk1lYXN1cmVXcmFwOnRoaXMuX2hhbmRsZU1lYXN1cmVBdmFpbGFibGVTcGFjZX0sKGU9PnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkouY29udGVudCxyZWY6ZSxyb2xlOiJub25lIn0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6YT90aGlzLl9oYW5kbGVJbm5lclJlc2l6ZTpudWxsfSwoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Si5pbm5lcldyYXAscmVmOmV9LHRoaXMuc3RhdGUuYWN0aXZlRGlhbG9nVG9vbHNDb25maWc/dGhpcy5fcmVuZGVyRGlhbG9nVG9vbHMoKTpzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0sdGhpcy5fcmVuZGVyTGVmdFRvb2xzKCksdGhpcy5fcmVuZGVyUmlnaHRUb29scygpKSkpKSkpKSwhdCYmIWEmJiF0aGlzLnN0YXRlLmFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnJiZzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLCEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOkguVHJhZGVEZXNrdG9wLGNsYXNzTmFtZTpKLmRlc2t0b3BUcmFkZX0pLGUuUHVibGlzaCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfcHVibGlzaF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KGUuUHVibGlzaCx7aWQ6SC5QdWJsaXNoRGVza3RvcCxjbGFzc05hbWU6Si5kZXNrdG9wUHVibGlzaH0pKSl9X3RyYWNrRnVsbHNjcmVlbkJ1dHRvbkNsaWNrKCl7KDAsJC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJmdWxsc2NyZWVuIil9X3JlbmRlckxlZnRUb29scygpe2NvbnN0e3Rvb2xzOmV9PXRoaXMuY29udGV4dCx7ZmVhdHVyZXM6dCxkaXNwbGF5TW9kZTpyLHN0dWR5TWFya2V0Om4sbGVmdEN1c3RvbUVsZW1lbnRzOmkscmVhZE9ubHk6YSxpc0Zha2U6bz0hMX09dGhpcy5wcm9wcztpZihhKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5fcHJvY2Vzc0N1c3RvbXMoaSk7cmV0dXJuIHMuQ2hpbGRyZW4udG9BcnJheShbKGUuU3ltYm9sU2VhcmNofHwhWCYmZS5Db21wYXJlKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0sZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlN5bWJvbFNlYXJjaCx7aWQ6bz92b2lkIDA6SC5TeW1ib2xTZWFyY2gsaXNGYWtlOm8saXNBY3Rpb25zVmlzaWJsZTp0LmFsbG93U3ltYm9sU2VhcmNoU3ByZWFkfSksZS5Db21wYXJlJiZzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHtpZDpvP3ZvaWQgMDpILkNvbXBhcmUsY2xhc3NOYW1lOkouYnV0dG9uLGRpc3BsYXlNb2RlOnJ9KSksZS5EYXRlUmFuZ2UmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InJhbmdlIn0scy5jcmVhdGVFbGVtZW50KGUuRGF0ZVJhbmdlLG51bGwpKSxlLkludGVydmFscyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW50ZXJ2YWxzIn0scy5jcmVhdGVFbGVtZW50KGUuSW50ZXJ2YWxzLHtpZDpvP3ZvaWQgMDpILkludGVydmFscyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cixpc0Zha2U6b30pKSxlLkJhcnMmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InN0eWxlcyJ9LHMuY3JlYXRlRWxlbWVudChlLkJhcnMse2lkOm8/dm9pZCAwOkguQ2hhcnRTdHlsZXMsaXNTaG93blF1aWNrczp0LmFsbG93RmF2b3JpdGluZyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnQuYWxsb3dGYXZvcml0aW5nLGRpc3BsYXlNb2RlOnIsaXNGYWtlOm99KSksWCYmZS5Db21wYXJlJiYhZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6ImNvbXBhcmUifSxzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHsKaWQ6bz92b2lkIDA6SC5Db21wYXJlLGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuSW5kaWNhdG9ycyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW5kaWNhdG9ycyJ9LHMuY3JlYXRlRWxlbWVudChlLkluZGljYXRvcnMse2lkOm8/dm9pZCAwOkguSW5kaWNhdG9ycyxjbGFzc05hbWU6Si5idXR0b24sc3R1ZHlNYXJrZXQ6bixkaXNwbGF5TW9kZTpyfSksZS5UZW1wbGF0ZXMmJnMuY3JlYXRlRWxlbWVudChlLlRlbXBsYXRlcyx7aWQ6bz92b2lkIDA6SC5TdHVkeVRlbXBsYXRlcyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cn0pKSxlLkFsZXJ0JiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0LHtpZDpvP3ZvaWQgMDpILkFsZXJ0cyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6cn0pLGUuUmVwbGF5JiZzLmNyZWF0ZUVsZW1lbnQoZS5SZXBsYXkse2lkOm8/dm9pZCAwOkguUmVwbGF5LGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuQWxlcnRSZWZlcnJhbCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfYWxlcnRfcmVmZXJyYWxfdG9vbCIpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydC1yZWZlcnJhbCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0UmVmZXJyYWwse2NsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuU2NhbGVQZXJjZW50YWdlJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwZXJjZW50YWdlIn0scy5jcmVhdGVFbGVtZW50KGUuU2NhbGVQZXJjZW50YWdlLG51bGwpKSxlLlNjYWxlTG9nYXJpdGhtJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsb2dhcml0aG0ifSxzLmNyZWF0ZUVsZW1lbnQoZS5TY2FsZUxvZ2FyaXRobSxudWxsKSksLi4ubF0pfV9yZW5kZXJSaWdodFRvb2xzKCl7Y29uc3R7dG9vbHM6ZX09dGhpcy5jb250ZXh0LHtmZWF0dXJlczp0LGRpc3BsYXlNb2RlOnIsY2hhcnRTYXZlcjpuLHJlYWRPbmx5OmEsc2F2ZUxvYWRTeW5jRW1pdHRlcjpvLHJpZ2h0Q3VzdG9tRWxlbWVudHM6bCxpc0Zha2U6Yz0hMX09dGhpcy5wcm9wcyx1PXRoaXMuX3Byb2Nlc3NDdXN0b21zKGwpO3JldHVybiB0ZShzLkNoaWxkcmVuLnRvQXJyYXkoW2EmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InZpZXctb25seS1iYWRnZSIscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoUixudWxsKSksIWEmJmUuVW5kb1JlZG8mJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InVuZG8tcmVkbyJ9LHMuY3JlYXRlRWxlbWVudChlLlVuZG9SZWRvLHtpZDpjP3ZvaWQgMDpILlVuZG9SZWRvfSkpLHMuY3JlYXRlRWxlbWVudCh5LHtyZW1vdmVTZXBhcmF0b3I6ITAsa2V5OiJnYXAtMSIsY2xhc3NOYW1lOmkoKShKLmZpbGwsYyYmSi5jb2xsYXBzZSl9KSwoZS5MYXlvdXR8fGUuU2F2ZUxvYWQpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsYXlvdXQiLHJlbW92ZVNlcGFyYXRvcjohMH0sIWEmJmUuTGF5b3V0JiZzLmNyZWF0ZUVsZW1lbnQoZS5MYXlvdXQse2lkOmM/dm9pZCAwOkguTGF5b3V0c30pLGUuU2F2ZUxvYWQmJnMuY3JlYXRlRWxlbWVudChlLlNhdmVMb2FkLHtpZDpjP3ZvaWQgMDpILlNhdmVMb2FkLGNoYXJ0U2F2ZXI6bixpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cixpc0Zha2U6YyxzdGF0ZVN5bmNFbWl0dGVyOm99KSksZS5TYXZlTG9hZFJlZmVycmFsJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJzYXZlLWxvYWQtcmVmZXJyYWwifSxzLmNyZWF0ZUVsZW1lbnQoZS5TYXZlTG9hZFJlZmVycmFsLHtpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cn0pKSx0LnNob3dMYXVuY2hJblBvcHVwQnV0dG9uJiZlLk9wZW5Qb3B1cCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb3Blbl9wb3B1cF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToicG9wdXAifSxzLmNyZWF0ZUVsZW1lbnQoZS5PcGVuUG9wdXAsbnVsbCkpLCFhJiYhWCYmKGUuUHJvcGVydGllc3x8ZS5GdWxsc2NyZWVufHxlLlNjcmVlbnNob3QpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwcm9wZXJ0aWVzIn0sIWEmJmUuUXVpY2tTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlF1aWNrU2VhcmNoLHtpZDpjP3ZvaWQgMDpILlF1aWNrU2VhcmNoLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSwhYSYmZS5Qcm9wZXJ0aWVzJiZzLmNyZWF0ZUVsZW1lbnQoZS5Qcm9wZXJ0aWVzLHtpZDpjP3ZvaWQgMDpILlByb3BlcnRpZXMsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pLHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSwhWCYmZS5TY3JlZW5zaG90JiZzLmNyZWF0ZUVsZW1lbnQoZS5TY3JlZW5zaG90LHtpZDpjP3ZvaWQgMDpILlNjcmVlbnNob3QsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pKSksWCYmIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSxYJiZlLlNjcmVlbnNob3QmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InNjcmVlbnNob3QiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuU2NyZWVuc2hvdCx7aWQ6Yz92b2lkIDA6SC5TY3JlZW5zaG90LGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksWCYmZS5UZWxlZ3JhbVNoYXJlJiYoISgwLApVLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKXx8ISgwLFUuaXNGZWF0dXJlRW5hYmxlZCkoInRlbGVncmFtX21pbmlfYXBwX2Rpc2FibGVfc2hhcmVfc25hcHNob3QiKSkmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InRlbGVncmFtc2hhcmUiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVGVsZWdyYW1TaGFyZSx7aWQ6Yz92b2lkIDA6SC5UZWxlZ3JhbVNoYXJlLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksIWEmJiEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToidHJhZGUiLGNsYXNzTmFtZTpKLm1vYmlsZVRyYWRlLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOmM/dm9pZCAwOkguVHJhZGVNb2JpbGUsbW9iaWxlOiEwfSkpLCFhJiZlLlB1Ymxpc2gmJiEoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3B1Ymxpc2hfYnV0dG9uIikmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InB1Ymxpc2giLGNsYXNzTmFtZTpKLm1vYmlsZVB1Ymxpc2gscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoZS5QdWJsaXNoLHtpZDpjP3ZvaWQgMDpILlB1Ymxpc2hNb2JpbGV9KSksLi4udV0pKX1fcmVuZGVyRGlhbG9nVG9vbHMoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse2lzRmFrZTp0LGZlYXR1cmVzOnJ9PXRoaXMucHJvcHMse2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm59PXRoaXMuc3RhdGU7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgYT10aGlzLl9wcm9jZXNzQ3VzdG9tcyhuLmN1c3RvbUVsZW1lbnRzLCEwKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0scy5DaGlsZHJlbi50b0FycmF5KFtlLlN5bWJvbFNlYXJjaCYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0scy5jcmVhdGVFbGVtZW50KGUuU3ltYm9sU2VhcmNoLHtpc0Zha2U6dCxpZDp0P3ZvaWQgMDpILlN5bWJvbFNlYXJjaCxpc0FjdGlvbnNWaXNpYmxlOnIuYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWR9KSksLi4uYV0pLHRlKHMuQ2hpbGRyZW4udG9BcnJheShbcy5jcmVhdGVFbGVtZW50KHkse3JlbW92ZVNlcGFyYXRvcjohMCxrZXk6ImdhcC0xIixjbGFzc05hbWU6aSgpKEouZmlsbCx0JiZKLmNvbGxhcHNlKX0pXSkpKSl9fXZhciBlZTtmdW5jdGlvbiB0ZShlKXtyZXR1cm5bZS5maW5kSW5kZXgoKGU9PnMuaXNWYWxpZEVsZW1lbnQoZSkmJiEhZS5rZXkmJi0xIT09ZS5rZXkudG9TdHJpbmcoKS5pbmRleE9mKCJ2aWV3LW9ubHktYmFkZ2UiKSkpXS5maWx0ZXIoKGU9PmU+PTApKS5mb3JFYWNoKCh0PT57ZT1zLkNoaWxkcmVuLm1hcChlLCgoZSxyKT0+e2lmKHMuaXNWYWxpZEVsZW1lbnQoZSkpe3N3aXRjaChbdC0xLHQsdCsxXS5pbmRleE9mKHIpKXtjYXNlIDA6Y29uc3QgdD17bm9SaWdodERlY29yYXRpb246ITB9O2U9cy5jbG9uZUVsZW1lbnQoZSx0KTticmVhaztjYXNlIDE6Y29uc3Qgcj17bm9MZWZ0RGVjb3JhdGlvbjohMCxub1JpZ2h0RGVjb3JhdGlvbjohMH07ZT1zLmNsb25lRWxlbWVudChlLHIpO2JyZWFrO2Nhc2UgMjpjb25zdCBuPXtub0xlZnREZWNvcmF0aW9uOiEwfTtlPXMuY2xvbmVFbGVtZW50KGUsbil9fXJldHVybiBlfSkpfSkpLGV9US5jb250ZXh0VHlwZT1aLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuU2VsZj0xXT0iU2VsZiIsZVtlLlJpZ2h0PTJdPSJSaWdodCJ9KGVlfHwoZWU9e30pKTt2YXIgcmU9cig3MDIxNTMpLHNlPXIoNjMzMzE4KSxuZT1yKDQyNjA3NSksaWU9cigxNTI2OTkpLGFlPXIoOTMwNTY2KSxvZT1yKDM2NTIxNyksbGU9cigzNDQ1MzYpLGNlPXIoMjU0NjczKSx1ZT1yKDM3NTI2Mik7Y29uc3QgZGU9e1tjZS5SZXNvbHV0aW9uS2luZC5UaWNrc106ITEsW2NlLlJlc29sdXRpb25LaW5kLlNlY29uZHNdOiExLFtjZS5SZXNvbHV0aW9uS2luZC5NaW51dGVzXTohMSxbY2UuU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzXTohMSxbY2UuUmVzb2x1dGlvbktpbmQuRGF5c106ITEsW2NlLlJlc29sdXRpb25LaW5kLlJhbmdlXTohMX07Y2xhc3MgaGUgZXh0ZW5kcyB1ZS5Db21tb25Kc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPWRlKXtzdXBlcihlLHQsIklOVEVSVkFMU19NRU5VX1ZJRVdfU1RBVEVfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX1pc0FsbG93ZWQoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGRlKS5pbmNsdWRlcyhlKX19Y29uc3QgbWU9e2RlZmF1bHRzQ29sbGFwc2VkOiExfTtjbGFzcyB2ZSBleHRlbmRzIHVlLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9bWUpe3N1cGVyKGUsdCwiVEVNUExBVEVTX01FTlVfVklFV19TVEFURV9DSEFOR0VEIiwiVGVtcGxhdGVzV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX19dmFyIHBlPXIoNDgwMDYxKTtjb25zdCBmZT17dG9vbHM6cC5hbnkuaXNSZXF1aXJlZCxpc0Z1bmRhbWVudGFsOnAuYW55LGNoYXJ0QXBpSW5zdGFuY2U6cC5hbnksYXZhaWxhYmxlVGltZUZyYW1lczpwLmFueSxjaGFydFdpZGdldENvbGxlY3Rpb246cC5hbnksd2luZG93TWVzc2FnZVNlcnZpY2U6cC5hbnksZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6cC5hbnksZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOnAuYW55LGludGVydmFsU2VydmljZTpwLmFueSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6cC5hbnksc3R1ZHlUZW1wbGF0ZXM6cC5hbnksY2hhcnRDaGFuZ2VzV2F0Y2hlcjpwLmFueSxzYXZlQ2hhcnRTZXJ2aWNlOnAuYW55LHNoYXJpbmdDaGFydFNlcnZpY2U6cC5hbnksbG9hZENoYXJ0U2VydmljZTpwLmFueSxjaGFydFdpZGdldDpwLmFueSxmYXZvcml0ZVNjcmlwdHNNb2RlbDpwLmFueSxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSx0ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSwKb3Blbkdsb2JhbFNlYXJjaDpwLmFueSxzbmFwc2hvdFVybDpwLmFueSxnZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZTpwLmFueX07dmFyIFNlPXIoNDQzNTU3KSxiZT1yKDYzMzI5KTtjb25zdCBnZT1bXTtjbGFzcyBfZSBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9zYXZlTG9hZFN5bmNFbWl0dGVyPW5ldyhvKCkpLHRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZT1lPT57dGhpcy5fZnVsbFdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZUZhdm9yaXRlc1dpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9mYXZvcml0ZXNXaWR0aD1lLHRoaXMuc2V0U3RhdGUoe21lYXN1cmVWYWxpZDohMX0pfSx0aGlzLl9oYW5kbGVDb2xsYXBzZVdpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9jb2xsYXBzZVdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZU1lYXN1cmU9ZT0+e3RoaXMuc2V0U3RhdGUoe2F2YWlsYWJsZVdpZHRoOmUsbWVhc3VyZVZhbGlkOiExfSl9O2NvbnN0e3Rvb2xzOnQsd2luZG93TWVzc2FnZVNlcnZpY2U6cixjaGFydFdpZGdldENvbGxlY3Rpb246cyxjaGFydEFwaUluc3RhbmNlOm4sYXZhaWxhYmxlVGltZUZyYW1lczppLGlzRnVuZGFtZW50YWw6YSxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6YyxmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTp1LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpoLHN0dWR5VGVtcGxhdGVzOnYsc2F2ZUNoYXJ0U2VydmljZTpwLHNoYXJpbmdDaGFydFNlcnZpY2U6Zixsb2FkQ2hhcnRTZXJ2aWNlOlMsc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmd9PWU7dGhpcy5fc2hvd1Njcm9sbGJhcldoZW49KDAsZC5lbnN1cmVEZWZpbmVkKShlLmFsbG93ZWRNb2Rlcykuc2xpY2UoLTEpLHRoaXMucmVzaXplckJyaWRnZT1lLnJlc2l6ZXJCcmlkZ2UsdGhpcy5fcGFuZWxXaWR0aENoYW5nZUhhbmRsZXJzPXtmdWxsOnRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZSxtZWRpdW06dGhpcy5faGFuZGxlRmF2b3JpdGVzV2lkdGhDaGFuZ2Usc21hbGw6dGhpcy5faGFuZGxlQ29sbGFwc2VXaWR0aENoYW5nZX07Y29uc3R7Y2hhcnRDaGFuZ2VzV2F0Y2hlcjpffT1lO3RoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXI9Xztjb25zdCB5PSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZUNoYXJ0U3R5bGVzKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZVN0eWxlcyk7dGhpcy5fZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U9dXx8bmV3IHJlLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSx5KTtjb25zdCBFPSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZVJlc29sdXRpb25zKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZUludGVydmFscyk7dGhpcy5fZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlPWN8fG5ldyBzZS5GYXZvcml0ZUludGVydmFsc1NlcnZpY2UoaWUuVFZYV2luZG93RXZlbnRzLGFlLEUpLHRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlPW5ldyBoZShpZS5UVlhXaW5kb3dFdmVudHMsYWUpLHRoaXMuX2ludGVydmFsU2VydmljZT1uZXcgbmUuSW50ZXJ2YWxzU2VydmljZShuLmRlZmF1bHRSZXNvbHV0aW9ucyksdGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2U9bmV3IHZlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSksdGhpcy5fcmVnaXN0cnk9e3Rvb2xzOnQsaXNGdW5kYW1lbnRhbDphLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpzLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOnIsY2hhcnRBcGlJbnN0YW5jZTpuLGF2YWlsYWJsZVRpbWVGcmFtZXM6aSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6aCxzdHVkeVRlbXBsYXRlczp2LHNhdmVDaGFydFNlcnZpY2U6cCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOmYsbG9hZENoYXJ0U2VydmljZTpTLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOnRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnRoaXMuX2Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlLGZhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTp0aGlzLl9mYXZvcml0ZUludGVydmFsc1NlcnZpY2UsaW50ZXJ2YWxTZXJ2aWNlOnRoaXMuX2ludGVydmFsU2VydmljZSxjaGFydENoYW5nZXNXYXRjaGVyOnRoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXIsY2hhcnRXaWRnZXQ6cy5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLGZhdm9yaXRlU2NyaXB0c01vZGVsOmxlLkZhdm9yaXRlU2NyaXB0c01vZGVsLmdldEluc3RhbmNlKCksdGVtcGxhdGVzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2Usc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmcsZ2V0VHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6ZS5nZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZX0sdGhpcy5zdGF0ZT17aXNWaXNpYmxlOiEwLGF2YWlsYWJsZVdpZHRoOjAsZGlzcGxheU1vZGU6ImZ1bGwiLG1lYXN1cmVWYWxpZDohMSxsZWZ0Q3VzdG9tRWxlbWVudHM6W10scmlnaHRDdXN0b21FbGVtZW50czpbXX0sdGhpcy5fcmVhZE9ubHk9cy5yZWFkT25seSgpLHRoaXMuX2ZlYXR1cmVzPXthbGxvd0Zhdm9yaXRpbmc6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaXRlbXNfZmF2b3JpdGluZyIpLHNob3dJZGVhc0J1dHRvbjpCb29sZWFuKHRoaXMucHJvcHMuaWRlYXMpLHNob3dMYXVuY2hJblBvcHVwQnV0dG9uOkJvb2xlYW4odGhpcy5wcm9wcy5wb3B1cEJ1dHRvbiksYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWQ6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3N5bWJvbF9zZWFyY2giKSYmITAsYWxsb3dUb29sYmFySGlkaW5nOigwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNvbGxhcHNpYmxlX2hlYWRlciIpfSx0aGlzLl9zZXREaXNwbGF5TW9kZT0oMCxsLmRlZmF1bHQpKHRoaXMuX3NldERpc3BsYXlNb2RlLDEwMCksdGhpcy5fbmVnb3RpYXRlUmVzaXplcigpfQpjb21wb25lbnREaWRVcGRhdGUoZSx0KXtjb25zdHtpc1Zpc2libGU6cixtZWFzdXJlVmFsaWQ6c309dGhpcy5zdGF0ZTtyIT09dC5pc1Zpc2libGUmJih2LmVtaXQoInRvZ2dsZV9oZWFkZXIiLHIpLHRoaXMuX25lZ290aWF0ZVJlc2l6ZXIoKSksc3x8dGhpcy5fc2V0RGlzcGxheU1vZGUoKX1yZW5kZXIoKXtjb25zdHtyZXNpemVyQnJpZGdlOmUsYWxsb3dlZE1vZGVzOnQsLi4ucn09dGhpcy5wcm9wcyx7ZGlzcGxheU1vZGU6bixpc1Zpc2libGU6YSxsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmx9PXRoaXMuc3RhdGUsYz17ZmVhdHVyZXM6dGhpcy5fZmVhdHVyZXMscmVhZE9ubHk6dGhpcy5fcmVhZE9ubHksaXNGYWtlOiExLHNhdmVMb2FkU3luY0VtaXR0ZXI6dGhpcy5fc2F2ZUxvYWRTeW5jRW1pdHRlcixsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmwsLi4ucn0sdT17Li4uYyxpc0Zha2U6ITAsc2hvd1Njcm9sbGJhcldoZW46Z2V9LGg9KDAsZC5lbnN1cmVEZWZpbmVkKSh0KSxtPXRoaXMucHJvcHMudG9vbHMuUHVibGlzaEJ1dHRvbk1hbmFnZXJ8fHMuRnJhZ21lbnQ7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChqLlJlZ2lzdHJ5UHJvdmlkZXIse3ZhbHVlOnRoaXMuX3JlZ2lzdHJ5LHZhbGlkYXRpb246ZmV9LHMuY3JlYXRlRWxlbWVudChtLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGJlLnRvb2xiYXIse1tiZS5pc0hpZGRlbl06IWF9KSxvbkNsaWNrOnRoaXMucHJvcHMub25DbGlja30scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YmUub3ZlcmZsb3dXcmFwfSxoLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KFEse2tleTplLGRpc3BsYXlNb2RlOmUsb25XaWR0aENoYW5nZTp0aGlzLl9wYW5lbFdpZHRoQ2hhbmdlSGFuZGxlcnNbZV0sLi4udX0pKSkscy5jcmVhdGVFbGVtZW50KFEse2tleToibGl2ZSIsc2hvd1Njcm9sbGJhcldoZW46dGhpcy5fc2hvd1Njcm9sbGJhcldoZW4sZGlzcGxheU1vZGU6bixvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnRoaXMuX2hhbmRsZU1lYXN1cmUsLi4uY30pKSkpKX1hZGRCdXR0b24oZSx0KXtpZighdC51c2VUcmFkaW5nVmlld1N0eWxlKXJldHVybiB0aGlzLl9hZGRDdXN0b21IVE1MQnV0dG9uKGUsdC5hbGlnbik7dGhpcy5fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KX1yZW1vdmVCdXR0b24oZSl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnQscmlnaHRDdXN0b21FbGVtZW50czpyfT10aGlzLnN0YXRlO2lmKCgwLGMuZGVmYXVsdCkoZSkpdGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSk7ZWxzZXtjb25zdCBzPXQ9PiJlbGVtZW50ImluIHQucGFyYW1zJiZ0LnBhcmFtcy5lbGVtZW50PT09ZSxuPXQuZmluZChzKT8uaWQ/P3IuZmluZChzKT8uaWQ7dShuKXx8dGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUobil9fWFkZERyb3Bkb3duKGUsdCl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfT10aGlzLnN0YXRlLG49e3R5cGU6IkRyb3Bkb3duIixpZDplLHBhcmFtczp0fTsibGVmdCI9PT10LmFsaWduP3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czpbLi4ucixuXX0pOnRoaXMuc2V0U3RhdGUoe3JpZ2h0Q3VzdG9tRWxlbWVudHM6Wy4uLnMsbl19KX11cGRhdGVEcm9wZG93bihlLHQpe2NvbnN0IHI9dD0+IkRyb3Bkb3duIj09PXQudHlwZSYmdC5pZD09PWUscz10aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maW5kKHIpfHx0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmluZChyKTt2b2lkIDAhPT1zJiYocy5wYXJhbXM9ey4uLnMucGFyYW1zLC4uLnR9LHRoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5zbGljZSgpLHJpZ2h0Q3VzdG9tRWxlbWVudHM6dGhpcy5zdGF0ZS5yaWdodEN1c3RvbUVsZW1lbnRzLnNsaWNlKCl9KSl9cmVtb3ZlRHJvcGRvd24oZSl7Y29uc3QgdD10PT4iRHJvcGRvd24iPT09dC50eXBlJiZ0LmlkIT09ZSxyPXRoaXMuc3RhdGUubGVmdEN1c3RvbUVsZW1lbnRzLmZpbHRlcih0KSxzPXRoaXMuc3RhdGUucmlnaHRDdXN0b21FbGVtZW50cy5maWx0ZXIodCk7dGhpcy5zZXRTdGF0ZSh7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfSl9X25lZ290aWF0ZVJlc2l6ZXIoKXt0aGlzLnByb3BzLnJlc2l6ZXJCcmlkZ2UubmVnb3RpYXRlSGVpZ2h0KHRoaXMuc3RhdGUuaXNWaXNpYmxlP29lLkhFQURFUl9UT09MQkFSX0hFSUdIVF9FWFBBTkRFRDpvZS5IRUFERVJfVE9PTEJBUl9IRUlHSFRfQ09MTEFQU0VEKX1fc2V0RGlzcGxheU1vZGUoKXtjb25zdHthdmFpbGFibGVXaWR0aDplfT10aGlzLnN0YXRlLHthbGxvd2VkTW9kZXM6dH09dGhpcy5wcm9wcyxyPXtmdWxsOnRoaXMuX2Z1bGxXaWR0aCxtZWRpdW06dGhpcy5fZmF2b3JpdGVzV2lkdGgsc21hbGw6dGhpcy5fY29sbGFwc2VXaWR0aH0scz0oMCxkLmVuc3VyZURlZmluZWQpKHQpO2xldCBuPXMubWFwKChlPT5yW2VdKSkuZmluZEluZGV4KCh0PT5lPj10KSk7LTE9PT1uJiYobj1zLmxlbmd0aC0xKTtjb25zdCBpPXNbbl07dGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiEwLGRpc3BsYXlNb2RlOml9KX1fYWRkQ3VzdG9tSFRNTEJ1dHRvbihlLHQ9ImxlZnQiKXtjb25zdCByPW5ldyBoLldhdGNoZWRWYWx1ZSgwKSxzPSgwLFNlLnBhcnNlSHRtbEVsZW1lbnQpKGA8ZGl2IGNsYXNzPSJhcHBseS1jb21tb24tdG9vbHRpcCAke2JlLmN1c3RvbUJ1dHRvbn0iPmApLG49e3R5cGU6IkJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLGVsZW1lbnQ6cyx3aWR0aDpyfX07cmV0dXJuIHRoaXMuX2FkZEN1c3RvbUVsZW1lbnRUb1N0YXRlKHQsbiksc31fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KXtjb25zdCByPXt0eXBlOiJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLHRleHQ6dC50ZXh0LAp0aXRsZTp0LnRpdGxlLG9uQ2xpY2s6dC5vbkNsaWNrfX07dGhpcy5fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUodC5hbGlnbixyKX1fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSx0KXtjb25zdHtsZWZ0Q3VzdG9tRWxlbWVudHM6cixyaWdodEN1c3RvbUVsZW1lbnRzOnN9PXRoaXMuc3RhdGU7ImxlZnQiPT09ZT90aGlzLnNldFN0YXRlKHtsZWZ0Q3VzdG9tRWxlbWVudHM6Wy4uLnIsdF19KTp0aGlzLnNldFN0YXRlKHtyaWdodEN1c3RvbUVsZW1lbnRzOlsuLi5zLHRdfSl9X3JlbW92ZUN1c3RvbUVsZW1lbnRUb1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maWx0ZXIoKHQ9PnQuaWQhPT1lKSkscmlnaHRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmlsdGVyKCh0PT50LmlkIT09ZSkpfSl9fV9lLmRlZmF1bHRQcm9wcz17YWxsb3dlZE1vZGVzOlsiZnVsbCIsIm1lZGl1bSJdfX0sNzAyMTUzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOigpPT5ufSk7dmFyIHM9cigzNzUyNjIpO2NsYXNzIG4gZXh0ZW5kcyBzLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9W10pe3N1cGVyKGUsdCwiRkFWT1JJVEVfQ0hBUlRfU1RZTEVTX0NIQU5HRUQiLCJTdHlsZVdpZGdldC5xdWlja3MiLHIpfX19LDMwNTA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtDdXN0b21JbnRlcnZhbHNTZXJ2aWNlOigpPT5oLGN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZTooKT0+bX0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNzM2MDYzKSxhPXIoNjU1NTg0KSxvPXIoMzE4OTc0KSxsPXIoMzc1MjYyKSxjPXIoNDY1MTM3KSx1PXIoMTc2ODUxKTtjb25zdCBkPVsiMiIsIjEwIl07Y2xhc3MgaCBleHRlbmRzIGwuQWJzdHJhY3RKc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPSgoMCxvLm9uV2lkZ2V0KSgpP1tdOmQpKXtzdXBlcihlLHQsIkNVU1RPTV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LmludGVydmFscyIscil9c2V0KGUsdCl7KDAsaS50cmFja0dvUHJvRmVhdHVyZSkoImN1c3RvbUludGVydmFscyIpO2NvbnN0IHI9KCk9PnsoMCxvLm9uV2lkZ2V0KSgpfHx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZS5zZXRKU09OKCJJbnRlcnZhbFdpZGdldC5pbnRlcnZhbHNEZWZhdWx0czJhbmQxME1pbnV0ZXNNaWdyYXRpb24iLCEwKSxzdXBlci5zZXQoZSx0KX07ZS5sZW5ndGg8dGhpcy5nZXQoKS5sZW5ndGg/cigpOigwLGEucnVuT3JHb1BybykoKCgpPT5yKCkpLCJDVVNUT01fSU5URVJWQUxTIix7ZmVhdHVyZToiY3VzdG9tSW50ZXJ2YWxzIn0pfV9zZXJpYWxpemUoZSl7cmV0dXJuKDAsdS51bmlxKShlLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKSl9X2Rlc2VyaWFsaXplKGUpe2NvbnN0IHQ9W107cmV0dXJuKDAsby5vbldpZGdldCkoKXx8dGhpcy5fanNvbktleVZhbHVlU3RvcmUuZ2V0SlNPTigiSW50ZXJ2YWxXaWRnZXQuaW50ZXJ2YWxzRGVmYXVsdHMyYW5kMTBNaW51dGVzTWlncmF0aW9uIiwhMSl8fHQucHVzaCguLi5kKSwoMCx1LnVuaXEpKFsuLi50LC4uLigwLGMuY29udmVydFJlc29sdXRpb25zRnJvbVNldHRpbmdzKShlKS5maWx0ZXIoYy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKV0pfX1jb25zdCBtPW5ldyBoKG4uVFZYV2luZG93RXZlbnRzLHMpfSw2MzMzMTgoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7RmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOigpPT5hfSk7dmFyIHM9cigzNzUyNjIpLG49cig0NjUxMzcpLGk9cigxNzY4NTEpO2NsYXNzIGEgZXh0ZW5kcyBzLkFic3RyYWN0SnNvblN0b3JlU2VydmljZXtjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoZSx0LCJGQVZPUklURV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LnF1aWNrcyIscil9X3NlcmlhbGl6ZShlKXtyZXR1cm4oMCxpLnVuaXEpKGUubWFwKG4ubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKX1fZGVzZXJpYWxpemUoZSl7cmV0dXJuKDAsaS51bmlxKSgoMCxuLmNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5ncykoZSkuZmlsdGVyKG4uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKS5tYXAobi5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykpfX19LDQyNjA3NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJbnRlcnZhbHNTZXJ2aWNlOigpPT5sfSk7dmFyIHM9cigyMjUyOTgpLG49cig5NDgzODApLGk9cigzMDUwNjEpLGE9cig3MzE5MzkpLG89cig0NjUxMzcpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZT1pLmN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZSx0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2U9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZT0oKT0+e3RoaXMuX3N1cHBvcnRlZEludGVydmFsc01heUNoYW5nZS5maXJlKCl9LHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9KCk9PltdLHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9ZSxzLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy50aWNrcy5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpfWRlc3Ryb3koKXsKcy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcudGlja3MudW5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5kYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKX1nZXREZWZhdWx0SW50ZXJ2YWxzKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI/dGhpcy5fcmVzb2x1dGlvbkdldHRlcigpLm1hcChvLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKTpbXX1nZXRDdXN0b21JbnRlcnZhbHMoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXQoKX1hZGQoZSx0LHIpe2lmKCF3aW5kb3cudXNlci5pc19wcm8mJnIpcmV0dXJuIHIoKSxudWxsO2lmKCF0aGlzLmlzVmFsaWRJbnRlcnZhbChlLHQpKXJldHVybiBudWxsO2NvbnN0IHM9KDAsby5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykoYCR7ZX0ke3R9YCksbj10aGlzLmdldEN1c3RvbUludGVydmFscygpO3JldHVybiB0aGlzLl9pc0ludGVydmFsRGVmYXVsdChzKXx8bi5pbmNsdWRlcyhzKT9udWxsOih0aGlzLl9jdXN0b21JbnRlcnZhbHNTZXJ2aWNlLnNldCgoMCxvLnNvcnRSZXNvbHV0aW9ucykoWy4uLm4sc10pKSxzKX1yZW1vdmUoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5zZXQodGhpcy5nZXRDdXN0b21JbnRlcnZhbHMoKS5maWx0ZXIoKHQ9PnQhPT1lKSkpfWlzVmFsaWRJbnRlcnZhbChlLHQpe3JldHVybigwLG8uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKShgJHtlfSR7dH1gKX1pc1N1cHBvcnRlZEludGVydmFsKGUpe3JldHVybigwLG8uaXNBdmFpbGFibGUpKGUpfXN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSgpe3JldHVybiB0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2V9Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXRPbkNoYW5nZSgpfWdldFBvc3NpYmxlSW50ZXJ2YWxzKCl7cmV0dXJuIGEuSU5URVJWQUxTfWdldFJlc29sdXRpb25VdGlscygpe3JldHVybntnZXRNYXhSZXNvbHV0aW9uVmFsdWU6by5nZXRNYXhSZXNvbHV0aW9uVmFsdWUsZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbDpvLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwsbWVyZ2VSZXNvbHV0aW9uczpvLm1lcmdlUmVzb2x1dGlvbnMsc29ydFJlc29sdXRpb25zOm8uc29ydFJlc29sdXRpb25zfX1faXNJbnRlcnZhbERlZmF1bHQoZSl7cmV0dXJuIHRoaXMuZ2V0RGVmYXVsdEludGVydmFscygpLmluY2x1ZGVzKGUpfX19LDczMTkzOShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJTlRFUlZBTFM6KCk9Pml9KTt2YXIgcz1yKDE4NTI3MSksbj1yKDU2OTM5OCk7Y29uc3QgaT1be25hbWU6IiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scigzNDM3NTcpKX0se25hbWU6IkgiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoODAwMDA5KSl9LHtuYW1lOiJEIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDMxNzI5KSl9LHtuYW1lOiJXIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDU0ODM3NCkpfSx7bmFtZToiTSIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig1NTQ2NTEpKX1dO2kucHVzaCh7bmFtZToiUiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig5NzMzNDcpKX0pLCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoImN1c3RvbV90aWNrcyIpJiZpLnB1c2goe25hbWU6IlQiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoMzY5MTI5KSl9KX0sNzAxMTU2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldERpYWxvZ1Rvb2xzTWFuYWdlcjooKT0+b30pO3ZhciBzPXIoODM5NDI2KSxuPXIoOTMwMjMxKSxpPXIoMjMyMzY0KTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHM9bmV3IGkuV2F0Y2hlZFZhbHVlKG51bGwpfXJlZ2lzdGVyRGlhbG9nVG9vbHMoZSl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHMuc2V0VmFsdWUoZSl9Y2xlYXJEaWFsb2dUb29scyhlKXtjb25zdCB0PXRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnZhbHVlKCk7dCYmdC5kaWFsb2dJZD09PWUmJnRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnNldFZhbHVlKG51bGwpfWdldEFjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzfWhhc0FjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9hY3RpdmVEaWFsb2dUb29scy52YWx1ZSgpfX1jb25zdCBvPSgwLHMuZGVmYXVsdCkoKCgpPT4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBhKSl9LDMyOTY2OChlLHQscil7InVzZSBzdHJpY3QiO3ZhciBzO2Z1bmN0aW9uIG4oZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIpKX1mdW5jdGlvbiBpKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKX1yLmQodCx7YmVjb21lTWFpbkVsZW1lbnQ6KCk9Pm4sYmVjb21lU2Vjb25kYXJ5RWxlbWVudDooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuTWFpbkVsZW1lbnQ9InJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLGUuU2Vjb25kYXJ5RWxlbWVudD0icm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50In0oc3x8KHM9e30pKX0sCjk4MzYxNihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5sLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+byx1cGRhdGVUYWJJbmRleGVzOigpPT5jfSk7dmFyIHMsbj1yKDk2OTE2OCksaT1yKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBvKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSksIFt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pJykpLmZpbHRlcigoMCxpLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShlKSl9ZnVuY3Rpb24gYygpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsbi5pc1J0bCkoKTtzd2l0Y2goZSl7Y2FzZSAzODpyZXR1cm4iYmxvY2tQcmV2IjtjYXNlIDQwOnJldHVybiJibG9ja05leHQiO2Nhc2UgMzc6cmV0dXJuIHQ/ImlubGluZU5leHQiOiJpbmxpbmVQcmV2IjtjYXNlIDM5OnJldHVybiB0PyJpbmxpbmVQcmV2IjoiaW5saW5lTmV4dCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19IWZ1bmN0aW9uKGUpe2UuQmxvY2tQcmV2PSJibG9ja1ByZXYiLGUuQmxvY2tOZXh0PSJibG9ja05leHQiLGUuSW5saW5lUHJldj0iaW5saW5lUHJldiIsZS5JbmxpbmVOZXh0PSJpbmxpbmVOZXh0In0oc3x8KHM9e30pKX0sNzMwMDA5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1Rvb2xiYXI6KCk9PmR9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDEzODYzOCksaT1yKDgzMzkwMyksYT1yKDIzNTcyNCksbz1yKDk4MzYxNiksbD1yKDMyOTY2OCksYz1yKDc4Nzg5NSksdT1yKDQ1MDE0MCk7Y29uc3QgZD0oMCxzLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e29uS2V5RG93bjpyLG9yaWVudGF0aW9uOmQsYmx1ck9uRXNjS2V5ZG93bjpoPSEwLGJsdXJPbkNsaWNrOm09ITAsLi4udn09ZSxwPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShwLmN1cnJlbnQpLHQ9KCk9Pntjb25zdCB0PSgwLG8ucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShlKS5zb3J0KG8ubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PXQubGVuZ3RoKXtjb25zdFt0XT0oMCxvLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKGUpLnNvcnQoby5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZih2b2lkIDA9PT10KXJldHVybjsoMCxsLmJlY29tZU1haW5FbGVtZW50KSh0KX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHQpfSksW10pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4udS5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMobSksLi4udixyb2xlOiJ0b29sYmFyIiwiYXJpYS1vcmllbnRhdGlvbiI6ZCxyZWY6cCxvbktleURvd246KDAsaS5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSgoZnVuY3Rpb24oZSl7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IHQ9KDAsYS5oYXNoRnJvbUV2ZW50KShlKTtpZihoJiYyNz09PXQpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO2lmKCJ2ZXJ0aWNhbCIhPT1kJiYzNyE9PXQmJjM5IT09dClyZXR1cm47aWYoInZlcnRpY2FsIj09PWQmJjM4IT09dCYmNDAhPT10KXJldHVybjtjb25zdCByPWUuY3VycmVudFRhcmdldCxzPSgwLG8ucXVlcnlGb2N1c2FibGVFbGVtZW50cykocikuc29ydChvLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO2lmKDA9PT1zLmxlbmd0aClyZXR1cm47Y29uc3Qgbj1zLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7aWYoLTE9PT1uKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KG4rcy5sZW5ndGgtMSklcy5sZW5ndGg7KDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShzW25dKSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShzW2VdKSxzW2VdLmZvY3VzKCl9LGM9KCk9Pntjb25zdCBlPShuK3MubGVuZ3RoKzEpJXMubGVuZ3RoOygwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoc1tuXSksKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoc1tlXSksc1tlXS5mb2N1cygpfTtzd2l0Y2goKDAsby5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOiJ2ZXJ0aWNhbCIhPT1kJiZpKCk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjoKInZlcnRpY2FsIiE9PWQmJmMoKTticmVhaztjYXNlImJsb2NrUHJldiI6InZlcnRpY2FsIj09PWQmJmkoKTticmVhaztjYXNlImJsb2NrTmV4dCI6InZlcnRpY2FsIj09PWQmJmMoKX19KSxyKSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIn0pfSkpfSw1Njk2NTIoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT51LHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9Pm99KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDIyMTg5NiksaT1yLm4obik7Y29uc3QgYT1zLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIG8oZSx0KXtpKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6cn09ZTtyZXR1cm4gbyhyLHQpLHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTpyfSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAscy51c2VDb250ZXh0KShhKTtyZXR1cm4gbyh0LGUpLHR9ZnVuY3Rpb24gdSgpe3JldHVybiBhfX0sNjE2MzExKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7ZnVuY3Rpb24gbihlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk5ODE1OChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtGcmFnbWVudE1hcDooKT0+bn0pO3ZhciBzPXIoNzc5NDc0KTtmdW5jdGlvbiBuKGUpe2lmKGUubWFwKXtyZXR1cm4gcy5DaGlsZHJlbi50b0FycmF5KGUuY2hpbGRyZW4pLm1hcChlLm1hcCl9cmV0dXJuIGUuY2hpbGRyZW59fSw5OTQxNzgoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz1yKDk2NzEyMSk7ZnVuY3Rpb24gbigpe31mdW5jdGlvbiBpKCl7fWkucmVzZXRXYXJuaW5nQ2FjaGU9bixlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxyLG4saSxhKXtpZihhIT09cyl7dmFyIG89bmV3IEVycm9yKCJDYWxsaW5nIFByb3BUeXBlcyB2YWxpZGF0b3JzIGRpcmVjdGx5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiBVc2UgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCkgdG8gY2FsbCB0aGVtLiBSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzIik7dGhyb3cgby5uYW1lPSJJbnZhcmlhbnQgVmlvbGF0aW9uIixvfX1mdW5jdGlvbiB0KCl7cmV0dXJuIGV9ZS5pc1JlcXVpcmVkPWU7dmFyIHI9e2FycmF5OmUsYm9vbDplLGZ1bmM6ZSxudW1iZXI6ZSxvYmplY3Q6ZSxzdHJpbmc6ZSxzeW1ib2w6ZSxhbnk6ZSxhcnJheU9mOnQsZWxlbWVudDplLGVsZW1lbnRUeXBlOmUsaW5zdGFuY2VPZjp0LG5vZGU6ZSxvYmplY3RPZjp0LG9uZU9mOnQsb25lT2ZUeXBlOnQsc2hhcGU6dCxleGFjdDp0LGNoZWNrUHJvcFR5cGVzOmkscmVzZXRXYXJuaW5nQ2FjaGU6bn07cmV0dXJuIHIuUHJvcFR5cGVzPXIscn19LDIyMTg5NihlLHQscil7ZS5leHBvcnRzPXIoOTk0MTc4KSgpfSw5NjcxMjEoZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz0iU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQifSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG49U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLG89U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxsPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksdT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLGQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGg9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLG09U3ltYm9sLml0ZXJhdG9yO3ZhciB2PXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxwPU9iamVjdC5hc3NpZ24sZj17fTtmdW5jdGlvbiBTKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBnKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9Uy5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSxTLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPWUpdGhyb3cgRXJyb3IoInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLiIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsInNldFN0YXRlIil9LFMucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfSwKYi5wcm90b3R5cGU9Uy5wcm90b3R5cGU7dmFyIF89Zy5wcm90b3R5cGU9bmV3IGI7Xy5jb25zdHJ1Y3Rvcj1nLHAoXyxTLnByb3RvdHlwZSksXy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxDPXtjdXJyZW50Om51bGx9LFQ9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiB3KGUsdCxzKXt2YXIgbixpPXt9LGE9bnVsbCxvPW51bGw7aWYobnVsbCE9dClmb3IobiBpbiB2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxuKSYmIVQuaGFzT3duUHJvcGVydHkobikmJihpW25dPXRbbl0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09bClpLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGwpe2Zvcih2YXIgYz1BcnJheShsKSx1PTA7dTxsO3UrKyljW3VdPWFyZ3VtZW50c1t1KzJdO2kuY2hpbGRyZW49Y31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobiBpbiBsPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PWlbbl0mJihpW25dPWxbbl0pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6byxwcm9wczppLF9vd25lcjpDLmN1cnJlbnR9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIE09L1wvKy9nO2Z1bmN0aW9uIFIoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiBrKGUsdCxuLGksYSl7dmFyIG89dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1vJiYiYm9vbGVhbiIhPT1vfHwoZT1udWxsKTt2YXIgbD0hMTtpZihudWxsPT09ZSlsPSEwO2Vsc2Ugc3dpdGNoKG8pe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6bD0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIHM6bD0hMH19aWYobClyZXR1cm4gYT1hKGw9ZSksZT0iIj09PWk/Ii4iK1IobCwwKTppLHkoYSk/KG49IiIsbnVsbCE9ZSYmKG49ZS5yZXBsYWNlKE0sIiQmLyIpKyIvIiksayhhLHQsbiwiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJihEKGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbisoIWEua2V5fHxsJiZsLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShNLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYobD0wLGk9IiI9PT1pPyIuIjppKyI6Iix5KGUpKWZvcih2YXIgYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgdT1pK1Iobz1lW2NdLGMpO2wrPWsobyx0LG4sdSxhKX1lbHNlIGlmKHU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1tJiZlW21dfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIHUpZm9yKGU9dS5jYWxsKGUpLGM9MDshKG89ZS5uZXh0KCkpLmRvbmU7KWwrPWsobz1vLnZhbHVlLHQsbix1PWkrUihvLGMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PW8pdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGx9ZnVuY3Rpb24gSShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgcz1bXSxuPTA7cmV0dXJuIGsoZSxzLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxuKyspfSkpLHN9ZnVuY3Rpb24gRihlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBPPXtjdXJyZW50Om51bGx9LEE9e3RyYW5zaXRpb246bnVsbH0sVj17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpPLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkEsUmVhY3RDdXJyZW50T3duZXI6Q307dC5DaGlsZHJlbj17bWFwOkksZm9yRWFjaDpmdW5jdGlvbihlLHQscil7SShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIEkoZSwoZnVuY3Rpb24oKXt0Kyt9KSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gSShlLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIUQoZSkpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBlfX0sdC5Db21wb25lbnQ9Uyx0LkZyYWdtZW50PW4sdC5Qcm9maWxlcj1hLHQuUHVyZUNvbXBvbmVudD1nLHQuU3RyaWN0TW9kZT1pLHQuU3VzcGVuc2U9dSx0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPVYsdC5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LHMpewppZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbj1wKHt9LGUucHJvcHMpLGk9ZS5rZXksYT1lLnJlZixvPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixvPUMuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJihpPSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IoYyBpbiB0KUUuY2FsbCh0LGMpJiYhVC5oYXNPd25Qcm9wZXJ0eShjKSYmKG5bY109dm9pZCAwPT09dFtjXSYmdm9pZCAwIT09bD9sW2NdOnRbY10pfXZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09YyluLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGMpe2w9QXJyYXkoYyk7Zm9yKHZhciB1PTA7dTxjO3UrKylsW3VdPWFyZ3VtZW50c1t1KzJdO24uY2hpbGRyZW49bH1yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6aSxyZWY6YSxwcm9wczpuLF9vd25lcjpvfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpsLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjpvLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PXcsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PXcuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOmMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PUQsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpoLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6Rn19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpkLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9QS50cmFuc2l0aW9uO0EudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7QS50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTy5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTy5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBPLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDM3NTI2MihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtBYnN0cmFjdEpzb25TdG9yZVNlcnZpY2U6KCk9PmksQ29tbW9uSnNvblN0b3JlU2VydmljZTooKT0+YX0pO3ZhciBzPXIoOTQ4MzgwKTtjb25zdCBuPVN5bWJvbCgiTk9fVkFMVUVfU0VOVElORUwiKTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUsdCxyLG4saSl7dGhpcy5fb25DaGFuZ2U9bmV3IHMuRGVsZWdhdGUsdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5fb25DaGFuZ2UuZmlyZSh0aGlzLmdldCgpKX0sdGhpcy5fY3Jvc3NUYWJFdmVudHM9ZSx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZT10LHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRT1yLHRoaXMuSlNPTl9TVE9SRV9LRVk9bix0aGlzLmRlZmF1bHRTdG9yZVZhbHVlPXRoaXMuX3NlcmlhbGl6ZShpKSx0aGlzLl9zdWJzY3JpYmUoKX1nZXQoKXtjb25zdCBlPXRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSx0aGlzLmRlZmF1bHRTdG9yZVZhbHVlKTtyZXR1cm4gdGhpcy5fZGVzZXJpYWxpemUoZSl9c2V0KGUsdCl7Y29uc3Qgcj10aGlzLl9zZXJpYWxpemUoZSk7dGhpcy5fanNvbktleVZhbHVlU3RvcmUuc2V0SlNPTih0aGlzLkpTT05fU1RPUkVfS0VZLHIsdCksdGhpcy5fY3Jvc3NUYWJFdmVudHMuZW1pdCh0aGlzLkNST1NTVEFCX0VWRU5UX05BTUUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9aGFzVmFsdWUoKXsKcmV0dXJuIHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSxuKSE9PW59Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2V9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlKCksdGhpcy5fb25DaGFuZ2UuZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9vbkNoYW5nZX1fc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub24odGhpcy5DUk9TU1RBQl9FVkVOVF9OQU1FLHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fanNvbktleVZhbHVlU3RvcmUub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub2ZmKHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRSx0aGlzLl9oYW5kbGVDaGFuZ2UpLHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLm9uU3luYy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9fWNsYXNzIGEgZXh0ZW5kcyBpe19zZXJpYWxpemUoZSl7cmV0dXJuIGV9X2Rlc2VyaWFsaXplKGUpe3JldHVybiBlfX19LDQ4MDA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6KCk9Pm0sZ2V0RGVmYXVsdEZhdm9yaXRlQ2hhcnRTdHlsZXM6KCk9PmQsZ2V0RGVmYXVsdEZhdm9yaXRlUmVzb2x1dGlvbnM6KCk9Pmh9KTt2YXIgcz1yKDE1MjY5OSksbj1yKDkzMDU2NiksaT1yKDkzMDIzMSksYT1yKDQ2NTEzNyksbz1yKDYzMzMxOCksbD1yKDcwMjE1Myk7Y29uc3QgYz17QXJlYTozLCJITEMgYXJlYSI6MTYsQmFyczowLENhbmRsZXM6MSwiSGVpa2VuIEFzaGkiOjgsIkhvbGxvdyBDYW5kbGVzIjo5LExpbmU6MixSZW5rbzo0LEthZ2k6NSwiUG9pbnQgJiBmaWd1cmUiOjYsIkxpbmUgQnJlYWsiOjcsQmFzZWxpbmU6MTAsTGluZVdpdGhNYXJrZXJzOjE0LFN0ZXBsaW5lOjE1LENvbHVtbnM6MTMsIkhpZ2gtbG93IjoxMn0sdT1bIjEiLCIzMCIsIjYwIl07ZnVuY3Rpb24gZChlPVtdKXtsZXQgdD1lLm1hcCgoZT0+Y1tlXSkpfHxbMSw0LDUsNl07cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJih0PVswLDEsM10pLHR9ZnVuY3Rpb24gaChlPVtdKXtyZXR1cm4oMCxhLm1lcmdlUmVzb2x1dGlvbnMpKGUsKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Iik/dTpbXSl9Y29uc3QgbT1uZXcgby5GYXZvcml0ZUludGVydmFsc1NlcnZpY2Uocy5UVlhXaW5kb3dFdmVudHMsbixoKCkpO25ldyBsLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKHMuVFZYV2luZG93RXZlbnRzLG4sZCgpKX0sMzQ0NTM2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtGYXZvcml0ZVNjcmlwdHNNb2RlbDooKT0+ZH0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNjM0ODYpLGE9cig2MzI0NDQpCjtjb25zdCBvPUpTT04ucGFyc2UoJ3siQUNDREB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiIsInN0dWR5QURSQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBZHZhbmNlX0RlY2xpbmVfUmF0aW9fQmFycyIsIkFST09OQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBcm9vbiIsIkFUUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QXZlcmFnZV9UcnVlX1JhbmdlIiwiQXdlc29tZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0F3ZXNvbWVfT3NjaWxsYXRvciIsIkJCQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtCb2xsaW5nZXJfQmFuZHMiLCJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0JvbGxpbmdlcl9CYW5kc19CIiwiQm9sbGluZ2VyQmFuZHNXaWR0aEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Qm9sbGluZ2VyX0JhbmRzX1dpZHRoIiwiQ01GQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFpa2luX01vbmV5X0Zsb3ciLCJDaGFpa2luT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q2hhaWtpbl9Pc2NpbGxhdG9yIiwiQ2hvcHBpbmVzc0luZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaG9wcGluZXNzX0luZGV4IiwiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtERU1BIiwiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1dpbGxhbXNfUiIsIkNDSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q0NJIiwiQ1JTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q29ubm9yc19SU0kiLCJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0RQTyIsIkRNQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtETUkiLCJET05DSEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RG9uY2hpYW5fQ2hhbm5lbHMiLCJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU9NIiwiRUZJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtFRkkiLCJFTlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0VOViIsIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RmlzaGVyX1RyYW5zZm9ybSIsIkhWQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIaXN0b3JpY2FsX1ZvbGF0aWxpdHkiLCJLTFROUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7S2VsdG5lcl9DaGFubmVscyIsIk1PTUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9tZW50dW0iLCJNRkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9uZXlfRmxvdyIsIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIiwiVHJpeEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VFJJWCIsIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1N0b2NoYXN0aWMiLCJTdG9jaGFzdGljUlNJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTdG9jaGFzdGljX1JTSSIsIlJTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UlNJIiwiUk9DQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtST0MiLCJQcmljZU9zY0B0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UHJpY2VfT3NjaWxsYXRvciIsIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTTUEiLCJPQlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO09uX0JhbGFuY2VfVm9sdW1lIiwiUFNBUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UFNBUiIsIlZpZ29ySW5kZXhAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1JlbGF0aXZlX1ZpZ29yX0luZGV4IiwiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4IiwiU01JRXJnb2RpY0luZGljYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfSW5kaWNhdG9yX09zY2lsbGF0b3IiLCJTTUlFcmdvZGljT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfT3NjaWxsYXRvciIsIk1BQ0RAdHYtYmFzaWNzdHVkaWVzIjoiU1REO01BQ0QiLCJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXTUEiLCJNQUV4cEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU1BIiwiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIdWxsJTFNQSIsImNoYW5kZU1PQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFuZGVfTW9tZW50dW1fT3NjaWxsYXRvciIsIlRyaXBsZUVNQUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VEVNQSIsIk1BVm9sdW1lV2VpZ2h0ZWRAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1ZXTUEiLCJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIiwiV2lsbGlhbXNGcmFjdGFsQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXaGlsbGlhbXNfRnJhY3RhbHMifScpO3ZhciBsPXIoOTQ4MzgwKTtjb25zdCBjPW87bGV0IHU9bnVsbDtjbGFzcyBke2NvbnN0cnVjdG9yKGU9cyl7dGhpcy5fZmF2b3JpdGVzPVtdLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fc2V0dGluZ3M9ZSxuLlRWWFdpbmRvd0V2ZW50cy5vbigiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9sb2FkRnJvbVN0YXRlKHQuZmF2b3JpdGVzfHxbXSl9KSksdGhpcy5fc2V0dGluZ3Mub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe2NvbnN0IHQ9dGhpcy5mYXZJZChlKTtyZXR1cm4tMSE9PXRoaXMuX2ZpbmRGYXZJbmRleCh0KX10b2dnbGVGYXZvcml0ZShlKXt0aGlzLmlzRmF2KGUpP3RoaXMucmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5hZGRGYXZvcml0ZShlKX1hZGRGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuZmF2SWQoZSk7dGhpcy5fZmF2b3JpdGVzLnB1c2gobSh0KSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKHQpLHRoaXMuX3NhdmVGYXZzKCl9cmVtb3ZlRmF2b3JpdGUoZSl7Y29uc3QgdD10aGlzLmZhdklkKGUpLHI9dGhpcy5fZmluZEZhdkluZGV4KHQpOy0xIT09ciYmKHRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UociwxKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUodCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2SWQoZSl7CnJldHVybigwLGEuaXNQaW5lSWRTdHJpbmcpKGUpP2U6KDAsYS5leHRyYWN0UGluZUlkKShlKXx8KDAsaS5leHRyYWN0U3R1ZHlJZCkoZSl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZVBpbmVJZHMoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzLmZpbHRlcigoZT0+InBpbmUiPT09ZS50eXBlKSkubWFwKChlPT5lLnBpbmVJZCkpfWZhdm9yaXRlc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZH1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXUmJih1PW5ldyBkKSx1fXN0YXRpYyBjcmVhdGUoZSl7cmV0dXJuIG5ldyBkKGUpfV9sb2FkRmF2cygpe2NvbnN0IGU9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixbXSk7dGhpcy5fbG9hZEZyb21TdGF0ZShlKX1fc2F2ZUZhdnMoKXtjb25zdCBlPXRoaXMuX3N0YXRlVG9TYXZlKCk7dGhpcy5fc2V0dGluZ3Muc2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixlLHtmb3JjZUZsdXNoOiEwfSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh7ZmF2b3JpdGVzOmV9KSl9X3N0YXRlVG9TYXZlKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlcy5tYXAoaCl9X2xvYWRGcm9tU3RhdGUoZSl7dGhpcy5fZmF2b3JpdGVzPWUubWFwKChlPT5tKGZ1bmN0aW9uKGUpe3JldHVybiBlIGluIGM/Y1tlXTplfShlKSkpKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuZmluZEluZGV4KCh0PT5lPT09aCh0KSkpfX1mdW5jdGlvbiBoKGUpe3JldHVybiJqYXZhIj09PWUudHlwZT9lLnN0dWR5SWQ6ZS5waW5lSWR9ZnVuY3Rpb24gbShlKXtyZXR1cm4oMCxhLmlzUGluZUlkU3RyaW5nKShlKT97dHlwZToicGluZSIscGluZUlkOmV9Ont0eXBlOiJqYXZhIixzdHVkeUlkOmV9fX0sMzkxODkwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjEwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik0yIDFsOCA4IDgtOCIvPjwvc3ZnPid9LDMwMTYwNyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC41NiAxNGExMC4wNSAxMC4wNSAwIDAwLjUyLjkxYy40MS42OSAxLjA0IDEuNiAxLjg1IDIuNUM4LjU4IDE5LjI1IDEwLjk1IDIxIDE0IDIxYzMuMDUgMCA1LjQyLTEuNzYgNy4wNy0zLjU4QTE3LjE4IDE3LjE4IDAgMDAyMy40NCAxNGE5LjQ3IDkuNDcgMCAwMC0uNTItLjkxYy0uNDEtLjY5LTEuMDQtMS42LTEuODUtMi41QzE5LjQyIDguNzUgMTcuMDUgNyAxNCA3Yy0zLjA1IDAtNS40MiAxLjc2LTcuMDcgMy41OEExNy4xOCAxNy4xOCAwIDAwNC41NiAxNHpNMjQgMTRsLjQ1LS4yMS0uMDEtLjAzYTcuMDMgNy4wMyAwIDAwLS4xNi0uMzJjLS4xMS0uMi0uMjgtLjUxLS41LS44Ny0uNDQtLjcyLTEuMS0xLjY5LTEuOTctMi42NUMyMC4wOCA3Ljk5IDE3LjQ1IDYgMTQgNmMtMy40NSAwLTYuMDggMi03LjggMy45MmExOC4xOCAxOC4xOCAwIDAwLTIuNjQgMy44NHYuMDJoLS4wMUw0IDE0bC0uNDUtLjIxLS4xLjIxLjEuMjFMNCAxNGwtLjQ1LjIxLjAxLjAzYTUuODUgNS44NSAwIDAwLjE2LjMyYy4xMS4yLjI4LjUxLjUuODcuNDQuNzIgMS4xIDEuNjkgMS45NyAyLjY1QzcuOTIgMjAuMDEgMTAuNTUgMjIgMTQgMjJjMy40NSAwIDYuMDgtMiA3LjgtMy45MmExOC4xOCAxOC4xOCAwIDAwMi42NC0zLjg0di0uMDJoLjAxTDI0IDE0em0wIDBsLjQ1LjIxLjEtLjIxLS4xLS4yMUwyNCAxNHptLTEwLTNhMyAzIDAgMTAwIDYgMyAzIDAgMDAwLTZ6bS00IDNhNCA0IDAgMTE4IDAgNCA0IDAgMDEtOCAweiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.931Z","timestamp":1785124876931,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.21784.3a87670ef41edfdc885c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c48\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 25dffd12692c6d99da42065dccd5ae25\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3144,"size_decoded":1995,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3066)","md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-27T06:24:31.681328Z","times_seen":136,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMTc4NCw0OTMwNyw4NjU5Myw5NjY3OF0sezc2Nzc3MShlKXtlLmV4cG9ydHM9WyJSZWFkIHN1bW1hcnkiXX0sMzI0NTEoZSl7ZS5leHBvcnRzPVsiQW1vdW50Il19LDQ5NzA5NihlKXtlLmV4cG9ydHM9WyJBY3RpdmUgYWxlcnRzIG9uIHRoaXMgZWFybmluZyJdfSw0NjQ2NjcoZSl7ZS5leHBvcnRzPVsiQWRqdXN0ZWQgYW1vdW50Il19LDI5OTU5MyhlKXtlLmV4cG9ydHM9WyJBZnRlciBtYXJrZXQgY2xvc2UiXX0sODQ0MDA5KGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw2NDI4MTcoZSl7ZS5leHBvcnRzPVsiQmVmb3JlIG1hcmtldCBvcGVuIl19LDg0Nzg1OChlKXtlLmV4cG9ydHM9WyJEYXRlIl19LDQ3MTEyNChlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMiXX0sMzg1MTEyKGUpe2UuZXhwb3J0cz1bIkVhcm5pbmdzIl19LDY0MTg3NShlKXtlLmV4cG9ydHM9WyJFYXJuaW5ncyAmIFJldmVudWUiXX0sMzM2ODcxKGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlIl19LDQ2Mjk5KGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlZCBkYXRlIl19LDUxODE0MyhlKXtlLmV4cG9ydHM9WyJFeC1kaXZpZGVuZCBkYXRlIl19LDM4MTQ3OShlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGRpdmlkZW5kcyJdfSw3NTkxNTEoZSl7ZS5leHBvcnRzPVsiTW9yZSB7c3ltYm9sfSBlYXJuaW5ncyJdfSwyNDE3NyhlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGZpbmFuY2lhbHMiXX0sNDEwMzQ1KGUpe2UuZXhwb3J0cz1bIlNwbGl0Il19LDEzNjk1MihlKXtlLmV4cG9ydHM9WyJTdGFuZGFyZGl6ZWQiXX0sOTMwNTg2KGUpe2UuZXhwb3J0cz1bIlN1cnByaXNlIl19LDQ2NTkzNihlKXtlLmV4cG9ydHM9WyJQYXltZW50IGRhdGUiXX0sNzcyMTQ5KGUpe2UuZXhwb3J0cz1bIlBlcmlvZCBFbmRpbmciXX0sNjUxMjI0KGUpe2UuZXhwb3J0cz1bIlJldmVudWUiXX0sNzU2Nzg0KGUpe2UuZXhwb3J0cz1bIlJlcG9ydGVkIl19LDQyODcyMyhlKXtlLmV4cG9ydHM9WyJSb3RhdGlvbiBmYWN0b3IiXX0sMjY4ODkxKGUpe2UuZXhwb3J0cz1bIlRQTyBhYm92ZSBQT0MiXX0sMTEyNzQ4KGUpe2UuZXhwb3J0cz1bIlRQTyBiZWxvdyBQT0MiXX0sODU2MDI4KGUpe2UuZXhwb3J0cz1bIlRvdGFsIFRQTyJdfSw3MjkyMDMoZSl7ZS5leHBvcnRzPVsiVG90YWwgdm9sdW1lIl19LDUwNTAxMChlKXtlLmV4cG9ydHM9WyJWQSByYW5nZSJdfSwyNzYxMzcoZSl7ZS5leHBvcnRzPVsiSUIgaGlnaCJdfSwxNDgzMzUoZSl7ZS5leHBvcnRzPVsiSUIgbG93Il19LDUxNDc2MihlKXtlLmV4cG9ydHM9WyJJQiByYW5nZSJdfSw5NDk2MTcoZSl7ZS5leHBvcnRzPVsiUE9DIl19LDg2OTI4MyhlKXtlLmV4cG9ydHM9WyJWQUgiXX0sOTI4NjY1KGUpe2UuZXhwb3J0cz1bIlZBTCJdfSw5MzE0ODgoZSl7ZS5leHBvcnRzPVsiSEwgcmFuZ2UiXX0sNTczMjI0KGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUiXX0sNTMwOTMxKGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUsICUiXX0sMTM5ODcwKGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDIxOTMwNihlKXtlLmV4cG9ydHM9WyJEZWx0YSwgJSJdfSw2Njk3NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCJdfSw2MDA0NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCBoaWdoIl19LDQ1NjU0MihlKXtlLmV4cG9ydHM9WyJPcGVuIGludGVyZXN0IGxvdyJdfSwyNDk0MShlKXtlLmV4cG9ydHM9WyJNYXggZGVsdGEiXX0sODExMDgyKGUpe2UuZXhwb3J0cz1bIk1pbiBkZWx0YSJdfSw3NDc3NzYoZSl7ZS5leHBvcnRzPVsiU2VsbCB2b2x1bWUiXX0sNzk0MzgwKGUpe2UuZXhwb3J0cz1bIlNlbGwgdm9sdW1lLCAlIl19LDcyNDY2MShlKXtlLmV4cG9ydHM9WyJWb2x1bWUiXX0sOTE1NjQ1KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBjaGFuZ2UsICUiXX0sMzQ3ODQ5KGUpe2UuZXhwb3J0cz1bIlBPQyJdfSw5NzMzOTUoZSl7ZS5leHBvcnRzPVsiU2Vzc2lvbiBDVkQiXX0sODE1MjQwKGUpe2UuZXhwb3J0cz1bIkhMIHJhbmdlIl19LDg3MDA5KGUpe2UuZXhwb3J0cz1bIlN1bW1hcnkgaW5mbyJdfSw5MjkwNjYoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sMjE5MTA0KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0IHN3aXRjaCJdfSw3OTQ0MDgoZSl7ZS5leHBvcnRzPVsiQ2lyY2xlIl19LDg2OTg2NyhlKXtlLmV4cG9ydHM9WyJDbGljayB0byBsZWFybiBtb3JlIl19LDQ4ODE4MChlKXtlLmV4cG9ydHM9WyJDcm9zcyJdfSwzNDQ0ODIoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIGVhcm5pbmdzIG9yIHJldmVudWUiXX0sNzA0NDU4KGUpe2UuZXhwb3J0cz1bIkFycm93IERvd24iXX0sNjIwNjEoZSl7ZS5leHBvcnRzPVsiQXJyb3cgVXAiXX0sMjgxMjQ4KGUpe2UuZXhwb3J0cz1bIkRpYW1vbmQiXX0sOTcxNTI3KGUpe2UuZXhwb3J0cz1bIkZsYWciXX0sNjE2NDk0KGUpe2UuZXhwb3J0cz1bIkZyb20gY29udHJhY3QiXX0sMTU1ODUoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwgc3R1ZGllcyBhcmUgbm8gbG9uZ2VyIGF2YWlsYWJsZSBvbiBjaGFydHMiXX0sMjYyNDU4KGUpe2UuZXhwb3J0cz1bIkxhYmVsIERvd24iXX0sNDY0MTU3KGUpe2UuZXhwb3J0cz1bIkxhYmVsIFVwIl19LDkxNjIxNShlKXtlLmV4cG9ydHM9WyJTcXVhcmUiXX0sODcwNDA5KGUpe2UuZXhwb3J0cz1bIlRQTyBtZXJnZSBibG9jayJdfSw2MTk2MDkoZSl7ZS5leHBvcnRzPVsiVFBPIHNwbGl0IGJsb2NrIl19LDM4Mzc1MShlKXtlLmV4cG9ydHM9WyJUbyBjb250cmFjdCJdfSw4NDI2MzUoZSl7ZS5leHBvcnRzPVsiVGhpcyBmdW5kYW1lbnRhbCBtZXRyaWMgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIHN5bWJvbC4iXX0sNDcxNzQ1KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIERvd24iXX0sMzk5Njg4KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIFVwIl19LDgxMDIyMihlKXtlLmV4cG9ydHM9WyJYIENyb3NzIl19LDM3MTI5NyhlKXtlLmV4cG9ydHM9WyJzdHVkeSBwYWNrYWdlIGlzIG5vdCBhdmFpbGFibGUiXX0sCjUxODcxOShlKXtlLmV4cG9ydHM9WyJhbmQge2NvdW50fSBtb3JlIGFsZXJ0IiwiYW5kIHtjb3VudH0gbW9yZSBhbGVydHMiXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/css/styles/animate.css","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.198Z","timestamp":1785124875198,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /css/styles/animate.css HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css\r\nlast-modified: Tue, 01 Feb 2022 20:36:06 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f999b6-e089\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":57481,"size_decoded":6276,"mime_type":"text/css","magic":"ASCII text, with very long lines (57319)","md5":"8f639b916ea1d3736d948ba423ef8ea6","sha1":"8848ddeb77da18d05fcc104bcb352cd90d15a87b","sha256":"d57fac3bc0da80b30eda90f789b36279003b7d842c88210eea8209072f2f1af0","sha512":"e7d26b7c466dae9a5b692b061e36a117dfa7b856356c551116afaaf1780873a475b5b873df66f1735f45a3eccab38e7ed722e2e5005df4a0f451a7d8b57ca698","ssdeep":"768:7kZlIuqI46CIBqI4IuwG1RASkMDs3Jyp5CrWeu0GT6sPas1:7kZ6IuwG1RASkMDs3Jyp5CrWeu0GTt","tlshash":"c84349ae5891228991664b66c3cd4e684b3dc77714621cdf3385684b8f87f9f33ea207","first_seen":"2023-04-10T08:51:00Z","last_seen":"2026-07-27T04:03:30.103004Z","times_seen":415,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsvKiEKQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlCkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKCkNvcHlyaWdodCAoYykgMjAxMyBEYW5pZWwgRWRlbgoqLy5hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmJvdGg7YW5pbWF0aW9uLWZpbGwtbW9kZTpib3RofS5hbmltYXRlZC5pbmZpbml0ZXstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX0uYW5pbWF0ZWQuaGluZ2V7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MnM7YW5pbWF0aW9uLWR1cmF0aW9uOjJzfUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2V7MCUsMTAwJSwyMCUsNTMlLDgwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9NDAlLDQzJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjc1NSwuMDUwLC44NTUsLjA2MCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNzU1LC4wNTAsLjg1NSwuMDYwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMHB4LDApfTcwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjc1NSwuMDUwLC44NTUsLjA2MCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNzU1LC4wNTAsLjg1NSwuMDYwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xNXB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xNXB4LDApfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC00cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKX19QGtleWZyYW1lcyBib3VuY2V7MCUsMTAwJSwyMCUsNTMlLDgwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9NDAlLDQzJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjc1NSwuMDUwLC44NTUsLjA2MCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNzU1LC4wNTAsLjg1NSwuMDYwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMzBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMzBweCwwKX03MCV7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC43NTUsLjA1MCwuODU1LC4wNjApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjc1NSwuMDUwLC44NTUsLjA2MCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTVweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTE1cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTE1cHgsMCl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNHB4LDApfX0uYm91bmNley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlO2FuaW1hdGlvbi1uYW1lOmJvdW5jZTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2h7MCUsMTAwJSw1MCV7b3BhY2l0eToxfTI1JSw3NSV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZsYXNoezAlLDEwMCUsNTAle29wYWNpdHk6MX0yNSUsNzUle29wYWNpdHk6MH19LmZsYXNoey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Zmxhc2g7YW5pbWF0aW9uLW5hbWU6Zmxhc2h9QC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjA1LDEuMDUsMS4wNSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwxLjA1LDEuMDUpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfX1Aa2V5ZnJhbWVzIHB1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMDUsMS4wNSwxLjA1KTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwxLjA1LDEuMDUpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMDUsMS4wNSwxLjA1KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfX0ucHVsc2V7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpwdWxzZTthbmltYXRpb24tbmFtZTpwdWxzZX1ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9MzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4yNSwuNzUsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4yNSwuNzUsMSl9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMC43NSwxLjI1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDAuNzUsMS4yNSwxKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjE1LC44NSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjE1LC44NSwxKX02NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOTUsMS4wNSwxKTt0cmFuc2Zvcm06c2NhbGUzZCguOTUsMS4wNSwxKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjA1LC45NSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjA1LC45NSwxKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKX19QGtleWZyYW1lcyBydWJiZXJCYW5kezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMjUsLjc1LDEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLjI1LC43NSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjI1LC43NSwxKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgwLjc1LDEuMjUsMSk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDAuNzUsMS4yNSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgwLjc1LDEuMjUsMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xNSwuODUsMSk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDEuMTUsLjg1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMTUsLjg1LDEpfTY1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45NSwxLjA1LDEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguOTUsMS4wNSwxKTt0cmFuc2Zvcm06c2NhbGUzZCguOTUsMS4wNSwxKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjA1LC45NSwxKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwuOTUsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwuOTUsMSl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKX19LnJ1YmJlckJhbmR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpydWJiZXJCYW5kO2FuaW1hdGlvbi1uYW1lOnJ1YmJlckJhbmR9QC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlezAlLDEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9MTAlLDMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApfTIwJSw0MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKX19QGtleWZyYW1lcyBzaGFrZXswJSwxMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCl9MjAlLDQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApfX0uc2hha2V7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzaGFrZTthbmltYXRpb24tbmFtZTpzaGFrZX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmd7MjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsMTVkZWcpfTQwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtMTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtMTBkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw1ZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsNWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC01ZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTVkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDBkZWcpfX1Aa2V5ZnJhbWVzIHN3aW5nezIwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwxNWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwxNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDE1ZGVnKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTEwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC0xMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC0xMGRlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDVkZWcpfTgwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC01ZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDBkZWcpfX0uc3dpbmd7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzd2luZzthbmltYXRpb24tbmFtZTpzd2luZ31ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9MTAlLDIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KSByb3RhdGUzZCgwLDAsMSwtM2RlZyk7dHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpIHJvdGF0ZTNkKDAsMCwxLC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsM2RlZyk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZTNkKDAsMCwxLDNkZWcpfTQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZTNkKDAsMCwxLC0zZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsLTNkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfX1Aa2V5ZnJhbWVzIHRhZGF7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9MTAlLDIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KSByb3RhdGUzZCgwLDAsMSwtM2RlZyk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KSByb3RhdGUzZCgwLDAsMSwtM2RlZyk7dHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpIHJvdGF0ZTNkKDAsMCwxLC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsM2RlZyk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKSByb3RhdGUzZCgwLDAsMSwzZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsM2RlZyl9NDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsLTNkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsLTNkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKSByb3RhdGUzZCgwLDAsMSwtM2RlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKX19LnRhZGF7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp0YWRhO2FuaW1hdGlvbi1uYW1lOnRhZGF9QC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZXswJXstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfTE1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTVkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTVkZWcpfTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMCUsMCwwKSByb3RhdGUzZCgwLDAsMSwzZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAlLDAsMCkgcm90YXRlM2QoMCwwLDEsM2RlZyl9NDUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtM2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtM2RlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMCUsMCwwKSByb3RhdGUzZCgwLDAsMSwyZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtMWRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIHdvYmJsZXswJXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0xNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1JSwwLDApIHJvdGF0ZTNkKDAsMCwxLC01ZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtNWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtNWRlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLDNkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAlLDAsMCkgcm90YXRlM2QoMCwwLDEsM2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLDNkZWcpfTQ1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTNkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTE1JSwwLDApIHJvdGF0ZTNkKDAsMCwxLC0zZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTE1JSwwLDApIHJvdGF0ZTNkKDAsMCwxLC0zZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAlLDAsMCkgcm90YXRlM2QoMCwwLDEsMmRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMCUsMCwwKSByb3RhdGUzZCgwLDAsMSwyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAlLDAsMCkgcm90YXRlM2QoMCwwLDEsMmRlZyl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01JSwwLDApIHJvdGF0ZTNkKDAsMCwxLC0xZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01JSwwLDApIHJvdGF0ZTNkKDAsMCwxLC0xZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTFkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fS53b2JibGV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp3b2JibGU7YW5pbWF0aW9uLW5hbWU6d29iYmxlfUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbnswJSwxMDAlLDIwJSw0MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfTQwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KTt0cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMDMsMS4wMywxLjAzKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjAzLDEuMDMsMS4wMyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjk3LC45NywuOTcpO3RyYW5zZm9ybTpzY2FsZTNkKC45NywuOTcsLjk3KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9fUBrZXlmcmFtZXMgYm91bmNlSW57MCUsMTAwJSwyMCUsNDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSl9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSk7dHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjAzLDEuMDMsMS4wMyk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDEuMDMsMS4wMywxLjAzKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjAzLDEuMDMsMS4wMyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjk3LC45NywuOTcpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguOTcsLjk3LC45Nyk7dHJhbnNmb3JtOnNjYWxlM2QoLjk3LC45NywuOTcpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfX0uYm91bmNlSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VJbjthbmltYXRpb24tbmFtZTpib3VuY2VJbjstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzfUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd257MCUsMTAwJSw2MCUsNzUlLDkwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMzAwMHB4LDApfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyNXB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDI1cHgsMCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNXB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDVweCwwKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgYm91bmNlSW5Eb3duezAlLDEwMCUsNjAlLDc1JSw5MCV7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMDAwcHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwMDBweCwwKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjVweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjVweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyNXB4LDApfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCw1cHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDVweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCw1cHgsMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19LmJvdW5jZUluRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluRG93bjthbmltYXRpb24tbmFtZTpib3VuY2VJbkRvd259QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdHswJSwxMDAlLDYwJSw3NSUsOTAley13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LC42MSwuMzU1LDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTMwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMzAwMHB4LDAsMCl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyNXB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDI1cHgsMCwwKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoNXB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDVweCwwLDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBib3VuY2VJbkxlZnR7MCUsMTAwJSw2MCUsNzUlLDkwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0zMDAwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0zMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTMwMDBweCwwLDApfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjVweCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjVweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyNXB4LDAsMCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCg1cHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDVweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCg1cHgsMCwwKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX0uYm91bmNlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5MZWZ0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZUluTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodHswJSwxMDAlLDYwJSw3NSUsOTAley13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LC42MSwuMzU1LDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDMwMDBweCwwLDApfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1cHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1cHgsMCwwKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01cHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTVweCwwLDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBib3VuY2VJblJpZ2h0ezAlLDEwMCUsNjAlLDc1JSw5MCV7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgzMDAwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDMwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgzMDAwcHgsMCwwKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNXB4LDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjVweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjVweCwwLDApfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTVweCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTVweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNXB4LDAsMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19LmJvdW5jZUluUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VJblJpZ2h0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXB7MCUsMTAwJSw2MCUsNzUlLDkwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMzAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDMwMDBweCwwKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTVweCwwKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX1Aa2V5ZnJhbWVzIGJvdW5jZUluVXB7MCUsMTAwJSw2MCUsNzUlLDkwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwuNjEsLjM1NSwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMzAwMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwzMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMzAwMHB4LDApfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01cHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTVweCwwKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX0uYm91bmNlSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluVXA7YW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0ezIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KTt0cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSl9NTAlLDU1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX19QGtleWZyYW1lcyBib3VuY2VPdXR7MjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSk7dHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpfTUwJSw1NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfX0uYm91bmNlT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzfUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duezIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKX00MCUsNDUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKX19QGtleWZyYW1lcyBib3VuY2VPdXREb3duezIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKX00MCUsNDUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKX19LmJvdW5jZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXREb3duO2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dERvd259QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnR7MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwcHgsMCwwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKX19QGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0ezIwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjBweCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMHB4LDAsMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCl9fS5ib3VuY2VPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0TGVmdDthbmltYXRpb24tbmFtZTpib3VuY2VPdXRMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodHsyMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMHB4LDAsMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApfX1Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0ezIwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMHB4LDAsMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9fS5ib3VuY2VPdXRSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcHsyMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKX00MCUsNDUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjBweCwwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKX19QGtleWZyYW1lcyBib3VuY2VPdXRVcHsyMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCl9NDAlLDQ1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwcHgsMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCl9fS5ib3VuY2VPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFVwO2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFVwfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfTEwMCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGZhZGVJbnswJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjF9fS5mYWRlSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW47YW5pbWF0aW9uLW5hbWU6ZmFkZUlufUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgZmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fS5mYWRlSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bjthbmltYXRpb24tbmFtZTpmYWRlSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX0uZmFkZUluRG93bkJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd25CaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bkJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIGZhZGVJbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX0uZmFkZUluTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkxlZnQ7YW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19LmZhZGVJbkxlZnRCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0QmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVJbkxlZnRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19LmZhZGVJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fS5mYWRlSW5SaWdodEJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJblJpZ2h0QmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVJblJpZ2h0QmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBmYWRlSW5VcHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fS5mYWRlSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJblVwO2FuaW1hdGlvbi1uYW1lOmZhZGVJblVwfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgZmFkZUluVXBCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX0uZmFkZUluVXBCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5VcEJpZzthbmltYXRpb24tbmFtZTpmYWRlSW5VcEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fS5mYWRlT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dDthbmltYXRpb24tbmFtZTpmYWRlT3V0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bnswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCl9fUBrZXlmcmFtZXMgZmFkZU91dERvd257MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApfX0uZmFkZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bjthbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWd7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKX19QGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZ3swJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCl9fS5mYWRlT3V0RG93bkJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duQmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19QGtleWZyYW1lcyBmYWRlT3V0TGVmdHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCl9fS5mYWRlT3V0TGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZ3swJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCl9fUBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWd7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApfX0uZmFkZU91dExlZnRCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdEJpZzthbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX19QGtleWZyYW1lcyBmYWRlT3V0UmlnaHR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfX0uZmFkZU91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9fUBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKX19LmZhZGVPdXRSaWdodEJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodEJpZzthbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKX19QGtleWZyYW1lcyBmYWRlT3V0VXB7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApfX0uZmFkZU91dFVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKX19QGtleWZyYW1lcyBmYWRlT3V0VXBCaWd7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApfX0uZmFkZU91dFVwQmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTM2MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwtMzYwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsMCwxNTBweCkgcm90YXRlM2QoMCwxLDAsLTE5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLDAsMTUwcHgpIHJvdGF0ZTNkKDAsMSwwLC0xOTBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fTUwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwwLDE1MHB4KSByb3RhdGUzZCgwLDEsMCwtMTcwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsMCwxNTBweCkgcm90YXRlM2QoMCwxLDAsLTE3MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsLjk1LC45NSk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwuOTUsLjk1KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59MTAwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59fUBrZXlmcmFtZXMgZmxpcHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTM2MGRlZyk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTM2MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwtMzYwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsMCwxNTBweCkgcm90YXRlM2QoMCwxLDAsLTE5MGRlZyk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwwLDE1MHB4KSByb3RhdGUzZCgwLDEsMCwtMTkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsMCwxNTBweCkgcm90YXRlM2QoMCwxLDAsLTE5MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NTAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLDAsMTUwcHgpIHJvdGF0ZTNkKDAsMSwwLC0xNzBkZWcpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsMCwxNTBweCkgcm90YXRlM2QoMCwxLDAsLTE3MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLDAsMTUwcHgpIHJvdGF0ZTNkKDAsMSwwLC0xNzBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LC45NSwuOTUpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LC45NSwuOTUpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsLjk1LC45NSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufX0uYW5pbWF0ZWQuZmxpcHstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZTstbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlO2JhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXA7YW5pbWF0aW9uLW5hbWU6ZmxpcH1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsOTBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLC0yMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCwtMjBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTYwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsMTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsMTBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLC01ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLC01ZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfX1Aa2V5ZnJhbWVzIGZsaXBJblh7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLDkwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCw5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCw5MGRlZyk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47b3BhY2l0eTowfTQwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsLTIwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCwtMjBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsLTIwZGVnKTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn02MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLDEwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCwxMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCwxMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsLTVkZWcpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLC01ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLC01ZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfX0uZmxpcEluWHstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBJblg7YW5pbWF0aW9uLW5hbWU6ZmxpcEluWH1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsOTBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLC0yMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwtMjBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTYwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsMTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsMTBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLC01ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLC01ZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfX1Aa2V5ZnJhbWVzIGZsaXBJbll7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLDkwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCw5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCw5MGRlZyk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47b3BhY2l0eTowfTQwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTIwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwtMjBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTIwZGVnKTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn02MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLDEwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwxMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwxMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTVkZWcpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLC01ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLC01ZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfX0uZmxpcEluWXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBJblk7YW5pbWF0aW9uLW5hbWU6ZmxpcEluWX1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFh7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9MzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCwtMjBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsLTIwZGVnKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsOTBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBmbGlwT3V0WHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLC0yMGRlZyk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwwLDAsLTIwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLC0yMGRlZyk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsMCwwLDkwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCw5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLDAsMCw5MGRlZyk7b3BhY2l0eTowfX0uZmxpcE91dFh7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGlwT3V0WDthbmltYXRpb24tbmFtZTpmbGlwT3V0WDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fUAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLC0xNWRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwtMTVkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCw5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCw5MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZsaXBPdXRZezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTE1ZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLDEsMCwtMTVkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsLTE1ZGVnKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwxLDAsOTBkZWcpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsMSwwLDkwZGVnKTtvcGFjaXR5OjB9fS5mbGlwT3V0WXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBPdXRZO2FuaW1hdGlvbi1uYW1lOmZsaXBPdXRZOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi43NXM7YW5pbWF0aW9uLWR1cmF0aW9uOi43NXN9QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goLTMwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHNrZXdYKC0zMGRlZyk7b3BhY2l0eTowfTYwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgyMGRlZyk7dHJhbnNmb3JtOnNrZXdYKDIwZGVnKTtvcGFjaXR5OjF9ODAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC01ZGVnKTt0cmFuc2Zvcm06c2tld1goLTVkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goLTMwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSBza2V3WCgtMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDIwZGVnKTstbXMtdHJhbnNmb3JtOnNrZXdYKDIwZGVnKTt0cmFuc2Zvcm06c2tld1goMjBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTVkZWcpOy1tcy10cmFuc2Zvcm06c2tld1goLTVkZWcpO3RyYW5zZm9ybTpza2V3WCgtNWRlZyk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7b3BhY2l0eToxfX0ubGlnaHRTcGVlZEluey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZEluO2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRJbjstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dHswJXtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBsaWdodFNwZWVkT3V0ezAle29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSBza2V3WCgzMGRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO29wYWNpdHk6MH19LmxpZ2h0U3BlZWRPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpsaWdodFNwZWVkT3V0O2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRPdXQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbnswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC0yMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtMjAwZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC0yMDBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTIwMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC0yMDBkZWcpO29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lO29wYWNpdHk6MX19LnJvdGF0ZUluey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlSW47YW5pbWF0aW9uLW5hbWU6cm90YXRlSW59QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTQ1ZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lO29wYWNpdHk6MX19QGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC00NWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNDVkZWcpO29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lO29wYWNpdHk6MX19LnJvdGF0ZUluRG93bkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25MZWZ0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93bkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw0NWRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lO29wYWNpdHk6MX19QGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw0NWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDQ1ZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjF9fS5yb3RhdGVJbkRvd25SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93blJpZ2h0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93blJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDQ1ZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lO29wYWNpdHk6MX19QGtleWZyYW1lcyByb3RhdGVJblVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw0NWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDQ1ZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjF9fS5yb3RhdGVJblVwTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluVXBMZWZ0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZUluVXBMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtOTBkZWcpO29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtOTBkZWcpO29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lO29wYWNpdHk6MX19LnJvdGF0ZUluVXBSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluVXBSaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVJblVwUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsMjAwZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsMjAwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDIwMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwyMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwyMDBkZWcpO29wYWNpdHk6MH19LnJvdGF0ZU91dHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwLDAsMSw0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwLDAsMSw0NWRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwLDAsMSw0NWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCwwLDEsNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMCwwLDEsNDVkZWcpO29wYWNpdHk6MH19LnJvdGF0ZU91dERvd25MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0RG93bkxlZnQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0RG93bkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTQ1ZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC00NWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNDVkZWcpO29wYWNpdHk6MH19LnJvdGF0ZU91dERvd25SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25SaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNDVkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTQ1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC00NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLC00NWRlZyk7b3BhY2l0eTowfX0ucm90YXRlT3V0VXBMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBMZWZ0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw5MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw5MGRlZyk7b3BhY2l0eTowfX0ucm90YXRlT3V0VXBSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwUmlnaHQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2V7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9MjAlLDYwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDgwZGVnKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH00MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDYwZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsNjBkZWcpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNzAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNzAwcHgsMCk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGhpbmdlezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstbXMtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTIwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw4MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NDAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw2MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSw2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDYwZGVnKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDcwMHB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCw3MDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCw3MDBweCwwKTtvcGFjaXR5OjB9fS5oaW5nZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmhpbmdlO2FuaW1hdGlvbi1uYW1lOmhpbmdlfUAtd2Via2l0LWtleWZyYW1lcyByb2xsSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTEyMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTEyMGRlZyl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyByb2xsSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTEyMGRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLC0xMjBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLC0xMjBkZWcpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfX0ucm9sbEluey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm9sbEluO2FuaW1hdGlvbi1uYW1lOnJvbGxJbn1ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLDEyMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSByb3RhdGUzZCgwLDAsMSwxMjBkZWcpfX1Aa2V5ZnJhbWVzIHJvbGxPdXR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSByb3RhdGUzZCgwLDAsMSwxMjBkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLDEyMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSByb3RhdGUzZCgwLDAsMSwxMjBkZWcpfX0ucm9sbE91dHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvbGxPdXQ7YW5pbWF0aW9uLW5hbWU6cm9sbE91dH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9NTAle29wYWNpdHk6MX19QGtleWZyYW1lcyB6b29tSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfTUwJXtvcGFjaXR5OjF9fS56b29tSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW47YW5pbWF0aW9uLW5hbWU6em9vbUlufUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0xMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsLTEwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41NSwuMDU1LC42NzUsLjE5KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsNjBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSl9fUBrZXlmcmFtZXMgem9vbUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMTAwMHB4LDApOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMTAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0xMDAwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsNjBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTc1LC44ODUsLjMyLDEpfX0uem9vbUluRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21JbkRvd247YW5pbWF0aW9uLW5hbWU6em9vbUluRG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LDAsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTc1LC44ODUsLjMyLDEpfX1Aa2V5ZnJhbWVzIHpvb21JbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwwLDApOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LDAsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKX19Lnpvb21JbkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW5MZWZ0O2FuaW1hdGlvbi1uYW1lOnpvb21JbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LDAsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSl9fUBrZXlmcmFtZXMgem9vbUluUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwwLDApOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKX19Lnpvb21JblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6em9vbUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLDEwMDBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwxMDAwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLC02MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLC02MHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSl9fUBrZXlmcmFtZXMgem9vbUluVXB7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMTAwMHB4LDApOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwxMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMTAwMHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKX19Lnpvb21JblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluVXA7YW5pbWF0aW9uLW5hbWU6em9vbUluVXB9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXR7MCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfTEwMCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHpvb21PdXR7MCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9MTAwJXtvcGFjaXR5OjB9fS56b29tT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbU91dDthbmltYXRpb24tbmFtZTp6b29tT3V0fUAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93bns0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTc1LC44ODUsLjMyLDEpfX1Aa2V5ZnJhbWVzIHpvb21PdXREb3duezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKX19Lnpvb21PdXREb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbU91dERvd247YW5pbWF0aW9uLW5hbWU6em9vbU91dERvd259QC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0ezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LDAsMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcn19QGtleWZyYW1lcyB6b29tT3V0TGVmdHs0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsMCwwKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwwLDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCk7LW1zLXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwwLDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgY2VudGVyfX0uem9vbU91dExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tT3V0TGVmdDthbmltYXRpb24tbmFtZTp6b29tT3V0TGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0ezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsMCwwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgY2VudGVyfX1Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodHs0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LDAsMCk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwwLDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwwLDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgY2VudGVyfX0uem9vbU91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOnpvb21PdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNzUsLjg4NSwuMzIsMSl9fUBrZXlmcmFtZXMgem9vbU91dFVwezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTUsLjA1NSwuNjc1LC4xOSl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApOy1tcy10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE3NSwuODg1LC4zMiwxKX19Lnpvb21PdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21PdXRVcDthbmltYXRpb24tbmFtZTp6b29tT3V0VXB9Cg=="}},"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/29296.b408f2822fa5b9569bac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.654Z","timestamp":1785124876654,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29296.b408f2822fa5b9569bac.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-18f6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: caeea70e6d79e3c6454ea616e12b2f46\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6390,"size_decoded":2047,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6390), with no line terminators","md5":"957eadc9c9c17f6df0058d57c5f46abb","sha1":"ebd276baca6cb1f539b1d5d55c63086002fbb8a0","sha256":"3c1391b8c83795fd1a1e8dcd3782d384a51181899c0b980dbfc6395ebecea139","sha512":"deba4ca12f353c877b0d4ff15a6b5a54f9e9f70e7e52a7a40d58a010dc96c67ff4f35d259f3bf9376c3528af502bd784d7a4721cd8fe63c155520fc9cbda1148","ssdeep":"96:DyL+izWjN/vprafnnWuMY/XjioIJMpTRB+LGkn0R:CWj3SnWzY/XjTvB+LG3R","tlshash":"21d188da21d84cbe392aa1619f1e4ecd37481c365e026c8fbae778a305c1a7d02f555f","first_seen":"2026-07-17T03:30:51.144553Z","last_seen":"2026-07-27T06:24:31.73319Z","times_seen":83,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV80LUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1MRmxBOiM3NDc0NzQ7LS1fNi1MRmxBOiM0MjQyNDJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fNC1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzUtTEZsQTojNzQ3NDc0Oy0tXzYtTEZsQTojNDI0MjQyfS5uYXZCdXR0b24taGJTSlZ4a1F7Ym9yZGVyOm5vbmU7Ym94LXNpemluZzppbml0aWFsO2Rpc3BsYXk6ZmxleDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlOy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzojMDAwMDtiYWNrZ3JvdW5kOiMwMDAwO2NvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JDb250ZW50LHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JDb250ZW50KSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUS5saW5rLWhiU0pWeGtRe2N1cnNvcjpwb2ludGVyfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmF2QnV0dG9uLWhiU0pWeGtROmhvdmVyey0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzAtTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzEtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1E6YWN0aXZley0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzItTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzMtTEZsQSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpmb2N1cyAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5Om5vbmV9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpkaXNhYmxlZCwubmF2QnV0dG9uLWhiU0pWeGtRW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQ29udGVudDp2YXIoLS1fNC1MRmxBKTtjdXJzb3I6ZGVmYXVsdH0ubmF2QnV0dG9uLWhiU0pWeGtROmRpc2FibGVkIC5iYWNrZ3JvdW5kLWhiU0pWeGtRLC5uYXZCdXR0b24taGJTSlZ4a1FbYXJpYS1kaXNhYmxlZD10cnVlXSAuYmFja2dyb3VuZC1oYlNKVnhrUXtkaXNwbGF5Om5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1F7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tY29sb3JPdXRsaW5lRGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZX0uYmFja2dyb3VuZC1oYlNKVnhrUTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JPdXRsaW5lLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1jb2xvck91dGxpbmVEZWZhdWx0KSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLW5hdkJ1dHRvbi1jb2xvckJnLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZykpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtjb250ZW50OiIiO2luc2V0OjA7cG9zaXRpb246YWJzb2x1dGV9Lmljb24taGJTSlZ4a1F7ei1pbmRleDowfS5mbGlwSWNvbi1oYlNKVnhrUSwuZmxpcEljb24taGJTSlZ4a1Egc3Zne3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5mbGlwSWNvbi1oYlNKVnhrUSBzdmc6ZGlyKHJ0bCksLmZsaXBJY29uLWhiU0pWeGtROmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0ubGFyZ2UtaGJTSlZ4a1F7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5sYXJnZS1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5sYXJnZS1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0ubGFyZ2UtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubGFyZ2UtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5tZWRpdW0taGJTSlZ4a1F7aGVpZ2h0OjE4cHg7d2lkdGg6MThweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5tZWRpdW0taGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUXtwYWRkaW5nOjhweH0ubWVkaXVtLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDE2cHgpO2luc2V0LWlubGluZS1zdGFydDotOHB4O3RvcDotOHB4O3dpZHRoOmNhbGMoMTAwJSArIDE2cHgpfS5tZWRpdW0taGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubWVkaXVtLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0uc21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6NnB4fS5zbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5zbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0uc21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0uc21hbGwtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS54c21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6OHB4Oy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1czo0cHh9LnhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzKTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpfS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ueHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0ueHhzbWFsbC1oYlNKVnhrUXtoZWlnaHQ6MTBweDt3aWR0aDoxMHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tYmFzaWNPZmZzZXQ6NHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tc2FmZU9mZnNldDo4cHg7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzOjRweH0ueHhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54eHNtYWxsLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0ueHhzbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cykgKyA0cHgpfS54eHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1E6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzUtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1EuYmxlbmRNb2RlLWhiU0pWeGtROmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzp2YXIoLS1fNi1MRmxBKX1bZGF0YS10aGVtZT1saWdodF0gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peExpZ2h0LG5vcm1hbCl9W2RhdGEtdGhlbWU9ZGFya10gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmssbm9ybWFsKX0udmlzdWFsbHlIaWRkZW4taGJTSlZ4a1F7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65675.b22e86384da95a427485.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.745Z","timestamp":1785124876745,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65675.b22e86384da95a427485.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-cb7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3cf59649837bff7aad9e89056ed53cf5\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3255,"size_decoded":1611,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3255), with no line terminators","md5":"f53f02dd7b4726c0d3cb6dbbcfda7b87","sha1":"6862ca4abf23f4e0d6d8c01dd12160efe41a999d","sha256":"1007096185878202bece4ab281245577c9113dc3cc5d4071a5f58d2fd93407d5","sha512":"c72632fd3de5ba7a36701249d3475f260bafa4a1aa0fa9dbcf41a258300ec01af5288523af2efcd28a2301aa3a06827eacd95a80482ecbfe68fb7f636f7ac066","ssdeep":"","tlshash":"b861e3ae075e9cd934dc1f915763fc08377ad18e33222dbc618525f20bd2d3ae5a906a","first_seen":"2025-07-09T18:19:43.538072Z","last_seen":"2026-07-27T06:14:34.130795Z","times_seen":1205,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtazh4MDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWs4eDA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eHNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4c21hbGx7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHNtYWxse2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXNtYWxse2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLW1lZGl1bXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS50di1jaXJjbGUtbG9nby1wYWlyLS1sYXJnZXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS50di1jaXJjbGUtbG9nby1wYWlyLS14bGFyZ2V7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHhsYXJnZXtoZWlnaHQ6MTEycHg7d2lkdGg6MTEycHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eGxhcmdle2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nb3tib3JkZXItcmFkaXVzOjUwJX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nbzpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWs4eDApfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmZpcnN0LWNoaWxkLC50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmxhc3QtY2hpbGR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGx7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2NGE4IDggMCAwIDEgOCA4aDRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTIgMEgwdjYuMjU0QTggOCAwIDAgMSA1Ljc0NiAxMkgxMloiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLThweCw4cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14c21hbGx7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjQuNDFBMTEgMTEgMCAwIDEgMTMuNTkgMThIMThWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjguMDRBMTEgMTEgMCAwIDEgOS45NiAxOEgxOFYwWiIpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1zbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwcHgsMTBweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLW1lZGl1bXtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1tZWRpdW06Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbWVkaXVtOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwxMnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2V7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zMiAwSDB2MTRhMTggMTggMCAwIDEgMTggMThoMTRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14bGFyZ2V7aGVpZ2h0OjM4cHg7d2lkdGg6MzhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMzggMEgwdjE2LjAyTDEgMTZhMjEgMjEgMCAwIDEgMjAuOTggMjJIMzhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCwxOHB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhsYXJnZXtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNNzYgMEgwdjMyLjA1QTQyIDQyIDAgMCAxIDQzLjk1IDc2SDc2VjBaIil9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHhsYXJnZXtoZWlnaHQ6MTE0cHg7d2lkdGg6MTE0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC01NHB4LDU0cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLWVtcHR5e2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tZW1wdHl7YmFja2dyb3VuZC1pbWFnZTp1cmwoZW1wdHktY29pbi1kYXJrLmQ2ZDA3YmZmOTJkN2U0ZGZmNWFkLnN2Zyl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.995Z","timestamp":1785124876995,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.22510.c6272459a17c5398fd7b.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-dd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9cefdd2bcc4c8a2b9dd5fbfada55c72b\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":221,"size_decoded":957,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-07-27T06:24:31.607207Z","times_seen":342,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMjUxMF0sezQ5OTM5MihlKXtlLmV4cG9ydHM9WyJBIl19LDQyMDE4NihlKXtlLmV4cG9ydHM9WyJMIl19LDM3MjcxOShlKXtlLmV4cG9ydHM9WyJUb2dnbGUgYXV0byBzY2FsZSJdfSwyMDY0NTEoZSl7ZS5leHBvcnRzPVsiVG9nZ2xlIGxvZyBzY2FsZSJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/support/support-portal-problems/?language=en","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.123","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.063Z","timestamp":1785124877063,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Fri, 12 Dec 2025 00:00:00 GMT","end":"Sun, 10 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"93:7A:32:54:9B:07:78:A4:C2:12:01:FE:F8:01:86:4E:F4:B0:E5:88","sha256":"DC:6B:BC:C2:10:66:1A:99:2E:BE:17:BD:A9:27:49:E3:D8:CA:EB:13:B6:95:9C:BF:68:76:22:17:62:D1:05:57"}}},"request":{"raw":"GET /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: s.tradingview.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://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en\r\nx-language: en\r\nx-requested-with: XMLHttpRequest\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 301 \r\ncontent-type: text/html; charset=utf-8\r\ncontent-length: 0\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 04:01:10 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nlocation: https://www.tradingview.com/support/support-portal-problems/?language=en\r\nexpires: Mon, 27 Jul 2026 04:03:10 GMT\r\ncache-control: max-age=120\r\ncontent-security-policy: default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src 'none'; base-uri 'none'; script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/; frame-ancestors 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\nx-cache: Hit from cloudfront\r\nage: 7\r\nvia: 1.1 fb60bb37778839b51bfea3a34907efd0.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nx-amz-cf-id: i6kJvWFD5I74dc39u0mpFgvSvkY_EnbhgyLEtxRyicuW3htEYyTvwg==\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"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":0,"size_decoded":0,"mime_type":"application/json","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T06:15:45.47424Z","times_seen":17557251,"resource_available":true,"data":null}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19595.d962ab75bd3e1baa5aae.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.092Z","timestamp":1785124877092,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19595.d962ab75bd3e1baa5aae.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-3aa\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e301232e731d70c3bd77d656a68d34dc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":938,"size_decoded":1141,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (938), with no line terminators","md5":"ef14629eb0ed7a15e49e7c642aa484ef","sha1":"cfeaa9a767678d979a5fd7c738ef2545adf8282b","sha256":"99d133c91adb2471524428e7fc71f9734042eaad94a1abc097a500470c8a2856","sha512":"6f618b450da8775c62ec16e0a36ba0788e31206af19716abc78415d527b21e1d68c824eac3c7dd4ccf35567e42ecbca363d4bd8b077a19e1f49193783ecf3e4c","ssdeep":"","tlshash":"ff11262191110e79bcefa2352ba0990c6281cdb0cd17a4ebb468eb2504c67bb5c8326c","first_seen":"2026-07-17T03:30:51.205823Z","last_seen":"2026-07-27T06:24:31.540666Z","times_seen":55,"resource_available":false,"data":"LmlubmVyLXNsb3QtTmJHcHRENWp7LS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcDoycHg7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSkqMik7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4tdG9wOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4taW5saW5lLWVuZDp2YXIoLS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcCwycHgpO292ZXJmbG93OmhpZGRlbn0uaW5uZXItc2xvdC1OYkdwdEQ1ajpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKX0uaW5uZXItc2xvdC1OYkdwdEQ1ajpudGgtbGFzdC1jaGlsZCgyKXttYXJnaW4taW5saW5lLWVuZDpjYWxjKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSl9LmlubmVyLXNsb3QtTmJHcHRENWouaW50ZXJhY3RpdmUtTmJHcHRENWp7Y29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yLGN1cnJlbnRDb2xvcil9LmlubmVyLXNsb3QtTmJHcHRENWouaWNvbi1OYkdwdEQ1antmbGV4Om5vbmU7d2lkdGg6MjhweH0uaW5uZXItbWlkZGxlLXNsb3QtTmJHcHRENWp7ZmxleDoxIDEgYXV0b30uYmVmb3JlLXNsb3QtTmJHcHRENWp7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206MnB4fS5hZnRlci1zbG90LU5iR3B0RDVqe2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83041.9c545f9868204c7700f2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.207Z","timestamp":1785124877207,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83041.9c545f9868204c7700f2.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 28bf073f07c5c60a928c5cce220d1b52\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"c3173b693b4fb2e1f5f6b77cfd60af3b","sha1":"a175181620523c8f8d34c629bd56a1366f38b718","sha256":"fe910ab647b1d1c45eaf208d85b6224b9ab6a4815880a67ab39d801af5e3d100","sha512":"55757fa16faa58c1bd2e6bf0cae13823977f47efc188dded627421ba751306f658f1aa2a880ce85cc5ab746ce99c7a3f62df4d1f2024e25614b2732afe7c9b8a","ssdeep":"","tlshash":"bdc08c224a033e0c8720daa0af301b5880c090528142408e80052a2b40c918a18b1788","first_seen":"2026-07-19T14:58:49.136091Z","last_seen":"2026-07-27T06:14:34.151628Z","times_seen":39,"resource_available":false,"data":"LndyYXAtalBJYU84SHV7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6MnB4O3dpZHRoOjI4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/js/gold-app.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.230Z","timestamp":1785124875230,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/gold-app.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:42:22 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b2e-497\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":1175,"size_decoded":799,"mime_type":"application/javascript","magic":"ASCII text, with very long lines (1175), with no line terminators","md5":"94e18b2da8a6ac858695cc2a7af472d3","sha1":"f74b77e21bedee01a81e6d1d614b672a8cd0fa6d","sha256":"56a5bd515825561047b05c9190bd09a039fc9cd6de6af3382e96a614ba31ebf3","sha512":"5d7758454cd9be3168e636a69511ec9508cc4afae65bb2b7d8d3500b684135155db68cee7f977d53d710f2bf779ce16d1405584c68fda55fbcbcbf832d36fdf8","ssdeep":"","tlshash":"fc21035926707dbb9243a04666beb70314355c3366225ea3e2fcc87cfaf755c2316583","first_seen":"2023-03-07T14:04:13Z","last_seen":"2026-07-27T04:03:30.095806Z","times_seen":26,"resource_available":true,"data":"cGFydGljbGVzSlMoImdvbGQtdGVjaC1iZyIsIHsicGFydGljbGVzIjp7Im51bWJlciI6eyJ2YWx1ZSI6MjAsImRlbnNpdHkiOnsiZW5hYmxlIjpmYWxzZSwidmFsdWVfYXJlYSI6MjAwfX0sImNvbG9yIjp7InZhbHVlIjoiI2ZmZmZmZiJ9LCJzaGFwZSI6eyJ0eXBlIjoiaW1hZ2UiLCJzdHJva2UiOnsid2lkdGgiOjAsImNvbG9yIjoiIzAwMDAwMCJ9LCJwb2x5Z29uIjp7Im5iX3NpZGVzIjozfSwiaW1hZ2UiOnsic3JjIjoiaW1hZ2VzL2dvbGQtYW5pbWF0aW9uLWljb24ucG5nIiwid2lkdGgiOjEwMCwiaGVpZ2h0IjoxMDB9fSwib3BhY2l0eSI6eyJ2YWx1ZSI6MCwicmFuZG9tIjpmYWxzZSwiYW5pbSI6eyJlbmFibGUiOmZhbHNlLCJzcGVlZCI6MSwib3BhY2l0eV9taW4iOjAuMSwic3luYyI6ZmFsc2V9fSwic2l6ZSI6eyJ2YWx1ZSI6MjguMDU5NzExMDY1MTQ2NjUsInJhbmRvbSI6dHJ1ZSwiYW5pbSI6eyJlbmFibGUiOmZhbHNlLCJzcGVlZCI6MjUsInNpemVfbWluIjowLjEsInN5bmMiOmZhbHNlfX0sImxpbmVfbGlua2VkIjp7ImVuYWJsZSI6dHJ1ZSwiZGlzdGFuY2UiOjE1MCwiY29sb3IiOiIjZmZmZmZmIiwib3BhY2l0eSI6MCwid2lkdGgiOjB9LCJtb3ZlIjp7ImVuYWJsZSI6dHJ1ZSwic3BlZWQiOjEuNSwiZGlyZWN0aW9uIjoibm9uZSIsInJhbmRvbSI6ZmFsc2UsInN0cmFpZ2h0IjpmYWxzZSwib3V0X21vZGUiOiJib3VuY2UiLCJib3VuY2UiOmZhbHNlLCJhdHRyYWN0Ijp7ImVuYWJsZSI6ZmFsc2UsInJvdGF0ZVgiOjYwMCwicm90YXRlWSI6MTIwMH19fSwiaW50ZXJhY3Rpdml0eSI6eyJkZXRlY3Rfb24iOiJjYW52YXMiLCJldmVudHMiOnsib25ob3ZlciI6eyJlbmFibGUiOnRydWUsIm1vZGUiOiJyZXB1bHNlIn0sIm9uY2xpY2siOnsiZW5hYmxlIjp0cnVlLCJtb2RlIjoicHVzaCJ9LCJyZXNpemUiOnRydWV9LCJtb2RlcyI6eyJncmFiIjp7ImRpc3RhbmNlIjo0MDAsImxpbmVfbGlua2VkIjp7Im9wYWNpdHkiOjF9fSwiYnViYmxlIjp7ImRpc3RhbmNlIjo0MDAsInNpemUiOjQwLCJkdXJhdGlvbiI6Miwib3BhY2l0eSI6OCwic3BlZWQiOjN9LCJyZXB1bHNlIjp7ImRpc3RhbmNlIjoyMDAsImR1cmF0aW9uIjowLjR9LCJwdXNoIjp7InBhcnRpY2xlc19uYiI6NH0sInJlbW92ZSI6eyJwYXJ0aWNsZXNfbmIiOjJ9fX0sInJldGluYV9kZXRlY3QiOnRydWV9KTs="}},"time_used":74,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":74,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/board/ceo.jpg","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.255Z","timestamp":1785124875255,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/board/ceo.jpg HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/jpeg\r\ncontent-length: 152377\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-25339\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":152377,"size_decoded":152606,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2020:12:04 03:34:14], baseline, precision 8, 450x469, components 3","md5":"6600f8682786483d3ba2bef0e967abcc","sha1":"bc3a40bd1e9d0852238d662425ee344b983684a4","sha256":"372c04cf08eab25c8eb51843a0246a382e9ea453e034fe1c064b463a593aa53b","sha512":"10d239a6828fdf1d37664b62271c7a43cba9378ead61770db21a57dcfb7934108e8cea81d99379401064bc435b8cf2c16ba9e8293dc6951813bd4dc95619ba10","ssdeep":"3072:vxem2k+Ibi7bqpC89v5XaNjt/PakuvkoM4jAv:vxNi7bO9vQNjtPaVTM1","tlshash":"36e3021912b25e73ede4a5b59420dd83e3231cba0493725c7d8d5293b3b56c3dd2938e","first_seen":"2026-07-27T03:24:36.768897Z","last_seen":"2026-07-27T04:03:30.027993Z","times_seen":3,"resource_available":false,"data":"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dmVjdG9yRGF0YWJvb2wBAAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABUb3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblByaW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABACvAAAAAEAAQK8AAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAABOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgABOEJJTQQCAAAAAAAEAAAAADhCSU0EMAAAAAAAAgEBOEJJTQQtAAAAAAAGAAEAAAAIOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0kAAAAGAAAAAAAAAAAAAAHVAAABwgAAAAoAVQBuAHQAaQB0AGwAZQBkAC0AMQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABwgAAAdUAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAA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Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTA0VDAzOjM0OjE0KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTA0VDAzOjM0OjE0KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0wNFQwMzozNDoxNCswMTowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMzZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMjZERjFEN0Q4MzVFQjExQTFFNjlBQTJENDE2REMxQSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkQyNkRGMUQ3RDgzNUVCMTFBMUU2OUFBMkQ0MTZEQzFBIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkQyNkRGMUQ3RDgzNUVCMTFBMUU2OUFBMkQ0MTZEQzFBIiBzdEV2dDp3aGVuPSIyMDIwLTEyLTA0VDAzOjM0OjE0KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RDM2REYxRDdEODM1RUIxMUExRTY5QUEyRDQxNkRDMUEiIHN0RXZ0OndoZW49IjIwMjAtMTItMDRUMDM6MzQ6MTQrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+4ADkFkb2JlAGRAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQEBAQEBAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgB1QHCAwERAAIRAQMRAf/dAAQAOf/EAaIA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"}},"time_used":90,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":68,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86423.79783aa72b6e29252d0c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.813Z","timestamp":1785124876813,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86423.79783aa72b6e29252d0c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-106\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 28dcc10a25829fc9107c5d6f64d65446\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":262,"size_decoded":938,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b2d8da58ed7bd3636b389eac6ba9d38f","sha1":"5bcc1477edc39bcb360e79e0aa7ddabb5a3deb56","sha256":"1d71d0b986d1200ce5725b69e4e0e27ffda213045c040697e34b3502ec819deb","sha512":"75584fc30003c79c57e5f9ed6cfbc9c56a9bdcef58189661f2a31feb1e7ca0e8d5ed7f474386b82d61c4412d71173f50d58e54d1d97f4ce2abc5bf81015b9a08","ssdeep":"","tlshash":"70d0c2b19405d16c3a244958bf22bcadf384410a2a260fd7d2362e2185496b62e6249c","first_seen":"2026-07-17T14:15:58.491012Z","last_seen":"2026-07-27T06:14:34.163528Z","times_seen":84,"resource_available":false,"data":"LmRpdmlkZXItWmRfdHF1Y0R7cGFkZGluZzo2cHggMDt3aWR0aDoxMDAlfS5kaXZpZGVyLVpkX3RxdWNEOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9LmRpdmlkZXItWmRfdHF1Y0Q6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTowfS5saW5lLVpkX3RxdWNEe2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWRpdmlkZXJDb2xvcix2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.003Z","timestamp":1785124877003,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-2c46\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aaeb05605adb4716616293280a01622d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11334,"size_decoded":5216,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-27T06:24:31.682253Z","times_seen":50,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw3MTMwMCw3MTM3NV0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIHU9dHlwZW9mIHI7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW8uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBpIGluIHIpbi5jYWxsKHIsaSkmJnJbaV0mJmUucHVzaChpKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sMzM0Njg1KGUpe2UuZXhwb3J0cz17cHJpY2VTY2FsZU1vZGVCdXR0b246InByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlIixwcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQ6InByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZSJ9fSw5MDA1MzAoZSl7ZS5leHBvcnRzPXtwcmljZVNjYWxlTW9kZUJ1dHRvbnM6InByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYSIscHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWEiLHByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbi1hYUtYNksxYSJ9fSw4NjU1NjAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7VFZBcHBDb250ZXh0OigpPT5zLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5jfSk7dmFyIG49cig3Nzk0NzQpLG89cigxMTUyOTMpLHU9cig5OTk1MSksYT1yKDExNzMxMyk7Y29uc3QgaT17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIGMoZSl7Y29uc3RbdF09KDAsbi51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKGlbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCh1LkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IHM9dS5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLnIodCksci5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+aX0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTI5MzY1KSx1PXIoMzM2MzM0KSxhPXIoODY1NTYwKTtmdW5jdGlvbiBpKGUsdCxyPSJsZWdhY3kiKXtjb25zdCBpPW4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LGUpO2lmKCJtb2Rlcm4iPT09cil7Y29uc3QgZT0oMCx1LmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihpKSx7cmVuZGVyKHQpe2UucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGksdCkse3JlbmRlcihlKXtvLnJlbmRlcihuLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpyfSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sOTk5NTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7QXBwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49KDAscig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzYzMzQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDEyOTM2NSk7dC5jcmVhdGVSb290PW4uY3JlYXRlUm9vdCxuLmh5ZHJhdGVSb290fSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxuPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG89U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLHA9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLGQ9U3ltYm9sLml0ZXJhdG9yO3ZhciBfPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSx5PU9iamVjdC5hc3NpZ24saD17fTtmdW5jdGlvbiB2KGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWgsdGhpcy51cGRhdGVyPXJ8fF99ZnVuY3Rpb24gbSgpe31mdW5jdGlvbiBiKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsCnRoaXMucmVmcz1oLHRoaXMudXBkYXRlcj1yfHxffXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sbS5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIFM9Yi5wcm90b3R5cGU9bmV3IG07Uy5jb25zdHJ1Y3Rvcj1iLHkoUyx2LnByb3RvdHlwZSksUy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgTT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxnPXtjdXJyZW50Om51bGx9LEM9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBSKGUsdCxuKXt2YXIgbyx1PXt9LGE9bnVsbCxpPW51bGw7aWYobnVsbCE9dClmb3IobyBpbiB2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxvKSYmIUMuaGFzT3duUHJvcGVydHkobykmJih1W29dPXRbb10pO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09Yyl1LmNoaWxkcmVuPW47ZWxzZSBpZigxPGMpe2Zvcih2YXIgcz1BcnJheShjKSxsPTA7bDxjO2wrKylzW2xdPWFyZ3VtZW50c1tsKzJdO3UuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobyBpbiBjPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXVbb10mJih1W29dPWNbb10pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6aSxwcm9wczp1LF9vd25lcjpnLmN1cnJlbnR9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIGs9L1wvKy9nO2Z1bmN0aW9uIE8oZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxvLHUsYSl7dmFyIGk9dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1pJiYiYm9vbGVhbiIhPT1pfHwoZT1udWxsKTt2YXIgYz0hMTtpZihudWxsPT09ZSljPSEwO2Vsc2Ugc3dpdGNoKGkpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6Yz0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIG46Yz0hMH19aWYoYylyZXR1cm4gYT1hKGM9ZSksZT0iIj09PXU/Ii4iK08oYywwKTp1LE0oYSk/KG89IiIsbnVsbCE9ZSYmKG89ZS5yZXBsYWNlKGssIiQmLyIpKyIvIikseChhLHQsbywiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJih3KGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbysoIWEua2V5fHxjJiZjLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShrLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYoYz0wLHU9IiI9PT11PyIuIjp1KyI6IixNKGUpKWZvcih2YXIgcz0wO3M8ZS5sZW5ndGg7cysrKXt2YXIgbD11K08oaT1lW3NdLHMpO2MrPXgoaSx0LG8sbCxhKX1lbHNlIGlmKGw9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1kJiZlW2RdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIGwpZm9yKGU9bC5jYWxsKGUpLHM9MDshKGk9ZS5uZXh0KCkpLmRvbmU7KWMrPXgoaT1pLnZhbHVlLHQsbyxsPXUrTyhpLHMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PWkpdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGN9ZnVuY3Rpb24gQShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgbj1bXSxvPTA7cmV0dXJuIHgoZSxuLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxvKyspfSkpLG59ZnVuY3Rpb24gUChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBMPXtjdXJyZW50Om51bGx9LEI9e3RyYW5zaXRpb246bnVsbH0sJD17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpMLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkIsUmVhY3RDdXJyZW50T3duZXI6Z307dC5DaGlsZHJlbj17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihlLHQscil7QShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpewp2YXIgdD0wO3JldHVybiBBKGUsKGZ1bmN0aW9uKCl7dCsrfSkpLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCF3KGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LHQuQ29tcG9uZW50PXYsdC5GcmFnbWVudD1vLHQuUHJvZmlsZXI9YSx0LlB1cmVDb21wb25lbnQ9Yix0LlN0cmljdE1vZGU9dSx0LlN1c3BlbnNlPWwsdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHQuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbz15KHt9LGUucHJvcHMpLHU9ZS5rZXksYT1lLnJlZixpPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixpPWcuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGM9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IocyBpbiB0KUUuY2FsbCh0LHMpJiYhQy5oYXNPd25Qcm9wZXJ0eShzKSYmKG9bc109dm9pZCAwPT09dFtzXSYmdm9pZCAwIT09Yz9jW3NdOnRbc10pfXZhciBzPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09cylvLmNoaWxkcmVuPW47ZWxzZSBpZigxPHMpe2M9QXJyYXkocyk7Zm9yKHZhciBsPTA7bDxzO2wrKyljW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49Y31yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6dSxyZWY6YSxwcm9wczpvLF9vd25lcjppfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjppLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PVIsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PVIuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PXcsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6UH19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpwLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9Qi50cmFuc2l0aW9uO0IudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7Qi50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTC5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDkzMTg3MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtQcmljZVNjYWxlTW9kZUJ1dHRvbnNSZW5kZXJlcjooKT0+ZH0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTM4NjM4KSx1PXIoMTg1MjcxKSxhPXIoMzE4OTc0KSxpPXIoNTcxMzAwKSxjPXIoOTE0NDg3KSxzPXIubihjKSxsPXIoMzM0Njg1KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FjdGl2YXRlZDp0LG9uQ2xpY2s6cixjb250ZW50Om8sdG9vbHRpcDp1LGFyaWFMYWJlbDphLGNsYXNzTmFtZTppfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsewpjbGFzc05hbWU6cygpKGwucHJpY2VTY2FsZU1vZGVCdXR0b24sdCYmbC5wcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQsaSx1JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxvbkNsaWNrOnIsImRhdGEtdG9vbHRpcCI6dSwiYXJpYS1sYWJlbCI6YX0sbyl9dmFyIGY9cig5MDA1MzApO2NsYXNzIGR7Y29uc3RydWN0b3Ioe3NldE1vZGU6ZSxnZXRNb2RlOnQsY2xhc3NOYW1lOnI9IiJ9KXt0aGlzLl9yZWFjdFJvb3Q9bnVsbCx0aGlzLl9zZXRBdXRvTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJhdXRvIiksdGhpcy5fc2V0TG9nYXJpdGhtTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJsb2ciKSx0aGlzLl9zZXRNb2RlRnVuY3Rpb249ZSx0aGlzLl9nZXRNb2RlRnVuY3Rpb249dDtjb25zdCBuPXRoaXMuX3dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc0xpc3QuYWRkKHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbix7Y2FwdHVyZTohMH0pLG4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fc3RvcFByb3BhZ2F0aW9uLHtjYXB0dXJlOiEwfSksdGhpcy5fcmVuZGVyKCl9ZGVzdHJveSgpe3RoaXMuX3JlYWN0Um9vdD8udW5tb3VudCgpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbiksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9zdG9wUHJvcGFnYXRpb24pLHRoaXMuX3dyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2V0TW9kZUZ1bmN0aW9uPW51bGwsdGhpcy5fZ2V0TW9kZUZ1bmN0aW9uPW51bGx9ZWxlbWVudCgpe3JldHVybiB0aGlzLl93cmFwcGVyfXdpZHRoKCl7cmV0dXJuIDUyfXVwZGF0ZSgpe3RoaXMuX3JlbmRlcigpfV9yZW5kZXIoKXtjb25zdCBlPWEuQ2hlY2tNb2JpbGUuYW55KCkse2F1dG9TY2FsZTp0PSExLGxvZzpjPSExfT0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldE1vZGVGdW5jdGlvbikoKXx8e30scz1uLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXIsb25DbGljazplP3RoaXMuX3NldEF1dG9Nb2RlOnZvaWQgMCwiYXJpYS1sYWJlbCI6ZT91LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKTp2b2lkIDB9LG4uY3JlYXRlRWxlbWVudChwLHthY3RpdmF0ZWQ6dCxjb250ZW50OnUudChudWxsLHtjb250ZXh0OidUaGUgZmlyc3QgbGV0dGVyIG9mIHRoZSAiYXV0byIgd29yZCd9LHIoNDk5MzkyKSksdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAscig2MzM3NTIpKSxvbkNsaWNrOmU/dm9pZCAwOnRoaXMuX3NldEF1dG9Nb2RlLGFyaWFMYWJlbDplP3ZvaWQgMDp1LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKSxjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbn0pKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uV3JhcHBlcixvbkNsaWNrOmU/dGhpcy5fc2V0TG9nYXJpdGhtTW9kZTp2b2lkIDAsImFyaWEtbGFiZWwiOmU/dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSk6dm9pZCAwfSxuLmNyZWF0ZUVsZW1lbnQocCx7YWN0aXZhdGVkOmMsY29udGVudDp1LnQobnVsbCx7Y29udGV4dDonVGhlIGZpcnN0IGxldHRlciBvZiB0aGUgImxvZ2FyaXRobWljIiB3b3JkJ30scig0MjAxODYpKSx0b29sdGlwOnUudChudWxsLHZvaWQgMCxyKDUwMzU1OCkpLG9uQ2xpY2s6ZT92b2lkIDA6dGhpcy5fc2V0TG9nYXJpdGhtTW9kZSxhcmlhTGFiZWw6ZT92b2lkIDA6dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSksY2xhc3NOYW1lOmYucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b259KSkpO3RoaXMuX3JlYWN0Um9vdD90aGlzLl9yZWFjdFJvb3QucmVuZGVyKHMpOnRoaXMuX3JlYWN0Um9vdD0oMCxpLmNyZWF0ZVJlYWN0Um9vdCkocyx0aGlzLl93cmFwcGVyLCJtb2Rlcm4iKX1fc3RvcFByb3BhZ2F0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55336.faa77164a5636d826475.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.213Z","timestamp":1785124877213,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55336.faa77164a5636d826475.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bb2df60a757d1ff52d316c63933b1859\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138,"size_decoded":889,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"0544a458ada451b97e30c69ee63c6f81","sha1":"a6e623567e1609a80edc508f1d47db9800a14af0","sha256":"530451344ff3515d2f243dc1cd99982591d52f0fc236ceb85250915a3da2b23f","sha512":"c7030783cfc707898043c42dc44e5fc708725b674e2e74c8a55f57b261bdc297dc6134710476f7d1c3f652681b04ccdc97e0f7e5ca7991363fefa55243a7b98f","ssdeep":"","tlshash":"edc02b370b02be1d8f30d9b0bf347b18c0c0d0a2c583904e80052b2f80cd28a08b1788","first_seen":"2026-07-19T21:33:33.9239Z","last_seen":"2026-07-27T06:24:31.690694Z","times_seen":25,"resource_available":false,"data":"LndyYXAtUG9YYWNEcFh7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6MnB4O3dpZHRoOjI4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68579.c01874ae93fcee94b388.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.221Z","timestamp":1785124877221,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/68579.c01874ae93fcee94b388.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2a1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:04:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 480e39a4934ac3333598ec3db252b254\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10783,"size_decoded":2690,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10783), with no line terminators","md5":"fa7f8fb2c882b86ce2297d5ec8f8c3c7","sha1":"7dcc4c932f65d8e4a4f494adfd8b07ffc516474d","sha256":"55a37e974c0ac5f66b82653439edbb40d4dee8124dd99c20e4ac3ebe71fb8b1a","sha512":"e3066a983701dbede5a2ca78ea4e2772cf475dd653f0abcea2f4361bcebf6af3e7f15be3601d1e9d13cb51435e38e2ddd68801a0e79192a3811394a95495b136","ssdeep":"48:aXKwKDRwKhJ+wKrq+hYy9F9ChMdYny9F9Cvq5OfG9i9EMdYny9599cYny9F9Xvje:aXk1yubv92vhg+nmMKTzU3VSIfnmM55A","tlshash":"4022324c51c8ed3a3c2745f6f31c96fe11649ca8db261edbb6ed782a04c17f101b961a","first_seen":"2026-07-19T21:33:34.112713Z","last_seen":"2026-07-27T06:24:31.80204Z","times_seen":25,"resource_available":false,"data":"LndyYXBwZXItZVRmR0RhRXJ7bWF4LXdpZHRoOjEwMCU7d2lkdGg6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC13aWR0aCxhdXRvKX0uc3RyZXRjaC1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtd2lkdGg6MTAwJX0uZGlzYWJsZWQtZVRmR0RhRXJ7b3BhY2l0eTouNX0uc3F1YXJlLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6NnB4fS54c21hbGwtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDoyOHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ueHNtYWxsLWVUZkdEYUVyLnJvdW5kLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6MTRweH0uc21hbGwtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDozNHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uc21hbGwtZVRmR0RhRXIucm91bmQtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1czoxN3B4fS5tZWRpdW0tZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDo0MHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ubWVkaXVtLWVUZkdEYUVyLnJvdW5kLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6MjBweH0ucHJpbWFyeS1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtYm9yZGVyOm5vbmU7LS11aS1saWItcHJpdmF0ZS1waWxsLWRlZmF1bHQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1ob3Zlci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kaXZpZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtcGlsbC10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0uc2Vjb25kYXJ5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kZWZhdWx0LWJhY2tncm91bmQ6IzAwMDA7LS11aS1saWItcHJpdmF0ZS1waWxsLWhvdmVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLXRleHQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LnRlcnRpYXJ5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6bm9uZTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGVmYXVsdC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKX0ucXVhcnRlcmx5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kZWZhdWx0LWJhY2tncm91bmQ6IzAwMDA7LS11aS1saWItcHJpdmF0ZS1waWxsLWhvdmVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5naG9zdC1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtYm9yZGVyOm5vbmU7LS11aS1saWItcHJpdmF0ZS1waWxsLWRlZmF1bHQtYmFja2dyb3VuZDojMDAwMDstLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kaXZpZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0ucGlsbC1lVGZHRGFFcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtZGVmYXVsdC1iYWNrZ3JvdW5kKTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1oZWlnaHQpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtd2lkdGgsZml0LWNvbnRlbnQpfS5waWxsLWVUZkdEYUVyOmJlZm9yZXtib3JkZXI6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIgIjtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDowfUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWludHJvLWVUZkdEYUVyezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWVUZkdEYUVyezAle29wYWNpdHk6MX01MCV7b3BhY2l0eTo0MCV9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHBpbGwtZm9jdXMtb3V0bGluZS1ibGlua2luZy1mb3JlZ3JvdW5kLWVUZkdEYUVyezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjMwJX19QGtleWZyYW1lcyBwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1mb3JlZ3JvdW5kLWVUZkdEYUVyezAle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7b3BhY2l0eTowfTguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7b3BhY2l0eTozMCV9NDguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjMwJX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWhpZ2hsaWdodGluZy1hbmltYXRpb24tYWZ0ZXItZVRmR0RhRXJ7MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjB9OC41JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjtvcGFjaXR5OjF9MjguNSV7b3BhY2l0eTo0MCV9NDguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX0uYmxpbmtBbmltYXRpb24tZVRmR0RhRXJ7cG9zaXRpb246cmVsYXRpdmV9LmJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykgKyA0cHgpO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtkaXNwbGF5OmJsb2NrO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5ibGlua0FuaW1hdGlvbi1lVGZHRGFFci5ibGlua2luZy1lVGZHRGFFcjphZnRlcnthbmltYXRpb246cGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWludHJvLWVUZkdEYUVyIC4ycyBlYXNlLW91dCBmb3J3YXJkcyxwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItZVRmR0RhRXIgLjdzIGxpbmVhciAuMnMgaW5maW5pdGV9LmJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyLmJsaW5raW5nLWVUZkdEYUVyIC5ibGlua0ZvcmVncm91bmQtZVRmR0RhRXJ7YW5pbWF0aW9uOnBpbGwtZm9jdXMtb3V0bGluZS1ibGlua2luZy1mb3JlZ3JvdW5kLWVUZkdEYUVyIC4ycyBlYXNlLW91dCBmb3J3YXJkc30uYmxpbmtBbmltYXRpb24tZVRmR0RhRXIuaGlnaGxpZ2h0aW5nLWVUZkdEYUVyOmFmdGVye2FuaW1hdGlvbi1kdXJhdGlvbjoxLjc1czthbmltYXRpb24tbmFtZTpwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1hZnRlci1lVGZHRGFFcn0uYmxpbmtBbmltYXRpb24tZVRmR0RhRXIuaGlnaGxpZ2h0aW5nLWVUZkdEYUVyIC5ibGlua0ZvcmVncm91bmQtZVRmR0RhRXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNzVzO2FuaW1hdGlvbi1uYW1lOnBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWZvcmVncm91bmQtZVRmR0RhRXJ9LmJsaW5rRm9yZWdyb3VuZC1lVGZHRGFFcntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSArIDJweCk7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7d2lkdGg6Y2FsYygxMDAlICsgNHB4KTt6LWluZGV4OjEwfS5hY3RpdmVBcmVhLXh6QXRGbWxFey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O292ZXJmbG93OnZpc2libGU7cGFkZGluZzowO3RleHQtYWxpZ246c3RhcnQ7LS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQ6MTstLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQ6MTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kTGVmdCkpIGNhbGModmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQpKSBjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSk7ZmxleC1iYXNpczpjb250ZW50O2hlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO291dGxpbmU6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7ei1pbmRleDozfS5hY3RpdmVBcmVhLXh6QXRGbWxFOm5vdCg6bnRoLWNoaWxkKDIpKXstLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kTGVmdDowfS5hY3RpdmVBcmVhLXh6QXRGbWxFOm5vdCg6bGFzdC1jaGlsZCl7LS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0OjA7Ym9yZGVyLWlubGluZS1lbmQ6MXB4IHNvbGlkIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcil9LmFjdGl2ZUFyZWEteHpBdEZtbEU6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRSaWdodCkpfS5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ubm9TdHJldGNoLXh6QXRGbWxFe2ZsZXgtZ3JvdzowO2ZsZXgtc2hyaW5rOjB9LnN0cmV0Y2gteHpBdEZtbEV7ZmxleC1ncm93OjE7ZmxleC1zaHJpbms6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmFjdGl2ZUFyZWEteHpBdEZtbEUuaGFzQ2xpY2tMaXN0ZW5lci14ekF0Rm1sRTpub3QoLmRpc2FibGVkLXh6QXRGbWxFKTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZCl9fS5hY3RpdmVBcmVhLXh6QXRGbWxFLmhhc0NsaWNrTGlzdGVuZXIteHpBdEZtbEU6bm90KC5kaXNhYmxlZC14ekF0Rm1sRSkuc2VsZWN0ZWQteHpBdEZtbEUsLmFjdGl2ZUFyZWEteHpBdEZtbEUuaGFzQ2xpY2tMaXN0ZW5lci14ekF0Rm1sRTpub3QoLmRpc2FibGVkLXh6QXRGbWxFKTpub3QoLnNlbGVjdGVkLXh6QXRGbWxFKTphY3RpdmV7YmFja2dyb3VuZDp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kKX0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcntib3JkZXItcmFkaXVzOmNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxO3otaW5kZXg6NH0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcjpkaXIocnRsKXtib3JkZXItcmFkaXVzOmNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRSaWdodCkpIGNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQpKSBjYWxjKCg0cHggKyB2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQpKX0uY2hpbGRyZW4teHpBdEZtbEV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJX0ubGF5b3V0RXF1aWxhdGVyYWwtcGo4ckpWaFp7YWxpZ24taXRlbXM6Y2VudGVyO2FzcGVjdC1yYXRpbzoxO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDowfS5wcmltYXJ5VGV4dC1EWGNvQ1YySntjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ucHJpbWFyeVRleHQtRFhjb0NWMko6ZW1wdHl7ZGlzcGxheTpub25lfS5hY3RpdmVUZXh0LWNuMEduT0Jke292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYWN0aXZlVGV4dC1jbjBHbk9CZDplbXB0eXtkaXNwbGF5Om5vbmV9LmFjdGl2ZVRleHQtY24wR25PQmR7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dCk7Zm9udC13ZWlnaHQ6NjAwfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:17.833Z","timestamp":1785124877833,"http_version":"","security_state":"","security_info":null,"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://berthenergy-inc.biz/\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":"","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-27T06:15:45.47424Z","times_seen":17557251,"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":"berthenergy-inc.biz/images/benefit-icon-5.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.249Z","timestamp":1785124875249,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/benefit-icon-5.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 8828\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-227c\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":8828,"size_decoded":9053,"mime_type":"image/png","magic":"PNG image data, 125 x 125, 8-bit/color RGBA, non-interlaced","md5":"c853895c783690ad026a34044b2e5b4a","sha1":"3d9a0f378ac891d8ab9fffe4bb9face8f7e1a8d1","sha256":"0fef9c89bea10c3ffae137fa0f3ea38c20db89278cce4048905cd1931840f85c","sha512":"d991da8c625c8cd9957483d4ab037a1a95c2123a586e1155b4545c88586256ef80988156fc89db80dee2a4be38b60dc8c96644778c23133e3afb71b58395d288","ssdeep":"192:B5nBsOsTUPUJ5AspCL6/96+7zejpLXTVQ26UL:DnBstq6DG1LRQEL","tlshash":"cb02afd294f0a442941cde642ede1925d61b5bdf8a42a0dd2a8eed4b14b9b30c097ec2","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.1434Z","times_seen":9,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAYAAACPgGwlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0Qzk5NkFGQjQ2NzUxMUVBQjY5M0FGQTc1QjYzOUJEMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0Qzk5NkFGQzQ2NzUxMUVBQjY5M0FGQTc1QjYzOUJEMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRDOTk2QUY5NDY3NTExRUFCNjkzQUZBNzVCNjM5QkQzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRDOTk2QUZBNDY3NTExRUFCNjkzQUZBNzVCNjM5QkQzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+H3qsSQAAHvFJREFUeNrsXQd8FMUa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"}},"time_used":75,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":74,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/bitcoin-inside.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.527Z","timestamp":1785124875527,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/bitcoin-inside.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 24484\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-5fa4\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":24484,"size_decoded":24710,"mime_type":"image/png","magic":"PNG image data, 133 x 111, 8-bit/color RGBA, non-interlaced","md5":"96c2cc17edb987d564355116f6ce6d84","sha1":"b27ff3fc66b905c5f619c39925c71a1182c26cb6","sha256":"08b63eb388b2b50d8a0ff14f5e8d4780c85eee5725c32ce33bbf5c2c25ed2b03","sha512":"050fa79b11d0f859258122a0cde0c25a27904d7e0a66821289e5193c626ef52e015b774e91e7f70ece72829f237c47418a9190875425e12c4bf6067c596e202b","ssdeep":"384:nhcdks9QSH+6rqCHsFG2xcrS/6vPMT2Li15LlTMwYKxLzZr4ooeH3YDMvDmm482:n54QQNveiv/Li15LlfjRZHHHogiL","tlshash":"a9b2e108e639dcc4db78e38502a647579166a9938dc496bdc8bb3a0572f703cd6c47d1","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:30.213511Z","times_seen":22,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAIUAAABvCAYAAADCBQPYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDODg5MjU4ODQ4MDUxMUVBQjQwOTk0OUY3MEFGQTlGRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDODg5MjU4OTQ4MDUxMUVBQjQwOTk0OUY3MEFGQTlGRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkM4ODkyNTg2NDgwNTExRUFCNDA5OTQ5RjcwQUZBOUZGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkM4ODkyNTg3NDgwNTExRUFCNDA5OTQ5RjcwQUZBOUZGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Me+kBgAAXBlJREFUeNrsvQe8ZGlVL7r23pVzOHVy6JzD5NCTYAYYvIACXq88BQWePDIChusV9en1+nuIF3yoiBJFuO+pb0QJIigzTGB6Ys90T+c+3af75FCncg679vuv9e2qU+f06TAwjKAU7KnTVbuq9v6+/7fWf8VPoxf58edv3qu1Wq0trRbtbZnWjlbL2tKyaAj/HnI5tbiu62FNt7xk8dkamXij0bAI55QazWa+0bRSZtNawNtzOGEGx6Sm0Rkcp3//G+fm6ceP7/uhvRg/8pdv3bsXc3svJvhuQ9cPREPOcDTsoqDfQTz5DdPCxLeoXG1StdaSv2t1PDdbAAWf0iJ8Xl0sZp8sS/5ttvjZks83m/J3qWVZh3HKITl07Ynf/oczp388zT8koPjML+3bikl6Myb1DeGgY9PG4QCFAw6qYdLnkhVaTNUpnavZUqCFC9HI5zHI5dIx7xrpuDJMqkw6HwwAnngGShMgME0FGiKdDJyn6yt3w4Bh4PDnIXWyhqE9pGn6g/jaf/2Nvzt1/MfT/iKD4rNv2/cKzNevOR36y7Zt8FN/wktLy1U6O1mkpVSN1YBM/mCfl2JhJ7kBAqgEkRD5UoOKpSbVISnqdRMSAABoYpIxwfi/TDwLCh3/EeDYoDFZcpgKOPz9OFsJFAETPzPAiByGTg6ntgSQ/BPe/wqOf/ngl05WfgyDHxAoAIY7sUI/7HEbt+7fGSaXU6djp3M0PV+RSe3r8dDWDQEKeB2Uyddpaq5M88kqFctNmfD24fYa1DMUpkiPl8JRFzl0SBHDQYZDI0NrkdU0ydKd8p2mCdXTIKpWAaZsnXLLRRwlAYECkkgKcjgABnzestUO/45hEAOkZjj0bwEcf4Pja+/73InijyHxAoDic2/bl8Bq/BgG9Y3X7Y6KFHjquTSlMElYkbRnW5iGB7w0M1ehE+cKAEStM2m6w6DNe/qpfzSIz2GyaiVqVioya8Iz7f+ue+EsKfB5BozOh/xtkO5ykuHxQEIYVIHkWZ4v0NTJRcqlSiJmGBwuNz4LqcGSpC2BALoqDpYeX2AJ8s6/OG7+GBTfw+PTv7TvFRDbfw0V0cfS4emjaZqBZGAwMEDiERcdPpmliemy8AZLKIBOuw9spJGNIdIqBWpU8R6WvMMNVRKGhAn45chNz1J00wZyh4ICjeXjp/DvMUy4m1r1BpnQKyY/y1GnZrUmzxa+S9MBEIBEZ5C0/3a6oJYsSi/m6dyz05Saz8p1Op2QQJAkDA7SLAUQw1jE86cBjs+/7c+OTvwYFFdvUfxXiOL/6/o9Ec2Jwf3u0ymxArZBRezYHKInjqRoEtLBainLwR/x082v3A2yaVG9kCMHJtfX10PeeIz8iTgZXreSEJicwuwcVbN56tm5TaRFfnaB6rk8xbdvVbKfbEki5wuJUK/g/61mgxrFMjUgcRqVKjVrDQGRBsnABwNFw4xrDgeVIbWmTs7RxOFJpqfkdDFP0eX7FWeBptK1f8afHwcn+dc3f+w568egWOfxqbfu1aAuPoGBe+dLbuqFFCjS6fNF4RAvvSVB80tVevpYRqwDBoPhdNDLfv5WioY0Wd2+/hgFhgbI5fepLxRVoSaU/27WMVGPPE4bXnqHvN2s1WnmUfz7JbevAYANjFbX56lNTqjrO9kaAWktVwUorQakCVstIkUUUFiyVMo1mj4+TecOncPrFt7WhZwKsZVnbQJ/f4TVyxs/cqT6Y1B0PT7xC7s/CVPvHffc3EvPHM/S3FKFImEXveTmBD3w2BItpatQB2pudt+xg266ewdWb518Qwny9UTJ0qgzcWrVd00yniYfepQGrr+GnD6vgGD64YM0eMO1ojYuAkQbALb0oLWvtbFCli1g1GdbACyrmhZYakvUjS4H8wxGQiFdoLNPnqKliXlRMbqhLB02cVmT4aSP4e9P/m9/cCj7Hx4Uf/qm3b8Ncvbf77qxl547k6WFZI36Em66aU+Mvv7QnJiVwu6hm1//3ldToi9A7kSQXJHgqsm/FCByF6YhGWoU27pJ3slOzlIL/45u3nhFtbGelLCsiwHRfq0DIFwwSzVLnBukVIymJEizYdLC2WkaP3hMuAsTWYeLSa2DSWoRn/ko1NH//Z9/+9Hsf0hQ/MnP7/pPGLt/um5XhBaXa3R+tkQ9UTfduDdK33h4nup1NVFOt4ve/N/fQN6Qm1w9wY4HsltFrKc2GtUqzTz2FI3ddZu8zXxg7omnaezOAxerjasAxGpw2AC0rFW/v+o1qwM54RNam3uI7rAoN5+iM48egxTJCWjcQR/u1UmNWgPgsD4MKfPx13zg28X/MKA4/sWfufWBfzn1zXjEGeqNucAZsjAhHXTXTT30zw8tUA0riseVAfG2P/wF8ia8II6u1RNyKSlhc4Lz336YRm67mQx8B39m8oFHaOTATWJivlBqY62UWA8QK8CBygAfcuBggJCuSGgpnafzh05Rdj4jn/BHg+QESa4Wy8utpvlbsFw++/K3fbX57x4U//z7dy+cPL7Qd8s1MXr4yRTm0aSXHeijR2BxFEqN9hjS2/7oLRTdEBHRe1WAsCcqc+68fEFk46i8kz43KW7u8NjoKrXRKpUpc+QM5ZfzVLcc1NQMshzshTJAaF3gHU5yeVzk8rnIG3RTIBq4tNroem3leUXyrPwNTgpg8sTrTqdIEWae1XyJZo9NUHYpB17SpHB/HKrFBdDkzoGzvO+un/vbb/y7BcXJL7z241//xvj7tm/w09ximZLpujikcoUGnZ8pdeb6de9/De28cytsOG1FOl+F2qiXyzT31LM0eset8jb/e+HpwzR6+y3iXOrmEUvffJjSs1kqFBtUKDephKNcNamCg/lMHRKrCcuiJR5LnXpHovTq974cAPGAGyzQmcdPS3DNC9B4/G5y+5zkhkTjCXfhcPLfbnUwsexcsw0SnnRnMEAOvC8qRsBRpOT5eQFqC7wksWFAiGyr2jwYjsV+Z3DXb9//owYKx+XetL71U6Nffyz3bl1rES/+pVSdvB6dAj4HPXsya098i3bcup12MCAMraPPVwZ0jcjuAoSFz04/+gR4g+IRTPZmD4JXACArUkada1ZrVFjMAQBNCo0MkV93UDFfoUK+SoVcRQ6rUKV6oSImJB+ZxSw99bVnaP/L9tCDf/0gJJglHk2nQ4dkUd5Nh9OQSXYHfMITfCE/+aASIn1R8nqdXSpImceNakrO90RC5PB6yIvn0evCVAM4tKZOLsNDHq+XVc0B3M+3M1Mffaharb12YNtvZn/kQQFAaAslx9dPnFgyRvu9dOZ8UQJO2zYGFSAwgaI1MPp3/NwBLM0VQFxObdDKO5Q6PUHxbdtEd/NrqXH+9xZxLFE3X2BHKER4w3BSBdaIC9ex884967i+dXmuVep09LHT9PT9z9CF5y5QrD8kZNEJAOy4YYc4uEyYySz2+Z40XDurH6fPQy6/V3woustNGs63GvXOdbRVSgMAbcwvkQNmsy8WgYQBEGwLyyzVRPxadqw/FInc5Ws0FrOzf/wbkaEP/PGPuqR4z/hUZW+tWieX00tZqAt2UDUhGvPFemeO9710FyXGela0Q/e0d8+r+AeaGGgn1XJFyk3PSJwjtm0TtRpNqs5MUzQ9T9Xt+8koFch74QxVIJJzFZOKDY0qWIWVUp2qUBWZoxdoaM8G8vjcCgy6fpFO3HXDGB17/IQAYGlqUQJgGlRHNBGiAYj4NoBWLQS+CXy43GqK5PCGvFRaWFxDYFcsmAY4Tq5YhoTxk7+3R3EPqKqqWSWr1CSvMyCfcTgcrmAg+LFK+pPvMC3zVYH4e87+MINCv4SU2Ir184fjF4oU8jtpCSYo68vBXg+dny51AMBOndt/9sDKel4rEfCZ9JNPUvbZw1RZXBT7vjIzS/WlBQrFozR8yw3igq5kcxC7Gt1/pEyRUpK8509RE6ZfCSAo5aE2kgVKTy9DRdSoWm+JCjnz5BlqwoxtQHLUAa61hwUAbt8/KmBIz6ZEVXCM49zRM/gM1Ey1fNHB3lT2k7DS8AS95GSfxCrwWOv+xaojffYCFReTAh5xpWPcCo0sTPVy51ynZmzzONwna8VP/daPlKQAIDCM9MXZvNM7fW6RRvrdNLNQUWFtt06ZfENcD/zYeuNmivSHL602bB9F5Jr98lptOQVQzFBo927SPV7R0ToG3tcTg3SP0kt+JkRVD0T41BQVKyCR0M9WAro+1KRgpUGOcp2ckFIugGV5AQNeqyhr4CI9oiZy484Bmjh+QXgPW0QMkGImR+m5JQpGQ12n66vEjFYH1wBIG9k86QCKCfIr3k98r+6GdPJ4VmL9HUINCbOcpiq+P9CbIBe4CTu6GlBT1WKJAt6oqEmr2cTS0H+/UfzMG1qtxivcoXfO/Sioj1/DHd48s1QFk29isbsl6cXtMsD6TZlnmQcM0P579qxwyEuoDWcoLISSR9sZgf4Nh8nwejs+BsGObR7ye/xayReh8tIc+EOZnGNxWAqYB7wTWaMj2FW9DrFYuTmA4JrbtlAZ5JPd2RwDsXBkMHlev0vc1gavas0QF7fu0DsgK88uSgykWSxQM58DVyiB7EItcAKHwyn3YsTipPn88lnDpXwaLCWKi0ukp50USMTU97p0KlSS5KpBJflC6t5rjd0goxOV5Mff7k388hd+aEEBKcHs7fdqAMESTE8eoGpNpRUEfAb0Z010MY+b0+2gLZvDKveNV+YlzE93X6+sRItToDAJzlCky8OoANENK1lxGFw2NUswPZ3JLLnDvktO/JVe7ukFAewNqcmxJ149G+1Yhg1lE+TT7Hg0TXAocFMyYeby/Qn5tU1THYvFymaoVcxDIgQptGkj+Ub6JETPNxDpi1FuMU3ZyTlce4B84Bz8nXWzRLVUgUKhhHyf1Wi6Hbrrr8pzH319rZR/fXTr75k/jJLif5pNy1WH3s4VmkIs2QfA0pX/LpTMTkrc0I4BmKk6Hf3bByhy7S4a3DZwkfkpkiIcAtlr2sCBCkrEL0qgWTE0LBavNPXNr4LZj1DF9FB+Jkl9/oGrcLisIKIz+Q41+cwlVhDDP6QkhtWiS6qezoOjpf4AGYEgGT294ECQThXwhCpMX7NBFjhI8dxZqs7OkH9slDwD/bIIIn0R8kX8lJpNUna+RP5oWNIICeZ9Jo1zfVFy+YKyqJxOz09qPm06N/57Lwlv/T/P/NAQTUiJl2O87mUpUa5ZVIRpxQmx7MJm6dDJfbTHN9YboKnZHG197V106tFT9MzXDkLvmquSpURy4ANVWBsdDyLEqyTDdKmNbq9l6tmnqbSUpGJyCpZGi7LJMhXSMIdhoax3sDNKB7QNN6SQ34GV6SJXEKLcyyKdHUwcpIMaNBtdR1Ml6aw5+HWO6F58NCTkzodgz+cjDaqjFQdIRH1AbbAjbm6WKidPkJlTPhwnrJH+jQMUjIUov7RElUJRTFUev2JhmfLL8x3T3nA4B9yB8NHM8Q/9wg+T9fHfOK2epUTRdFIxW7B5oibPnDmtkmaV1TG6fxMlNg9T4egRuuOnr6OxazZTGZNfT6cvUiWVVKoDE5YalVRmXbXB53r6hyT3sp5fpmqlJOpr7lwaEwtdrplkwDRwYsI9mHhf1CXPTgEA449Xf0MsD0smuLHOYco1rD1YQrFpfNFxifMFQBA1DfCLotNNVc2hsrx4kufBHRfnJQuM1U2wJ0D9W4YBvAYAnhU1pUnuSInSCxcUT+HJ0HSXL9b7V5ljH/rkvzkomEuYDeulDIha3aR6y4CJ1uhIB1YZpmmpvAJDpdNHesMSZ4js20sWTMyoUSN/yEdVWBeNc+P4gBq8/NwiFebmOxKhjtXimhynhYcO0bc/ez8VoWNlBdoM3j80RJ6hUeI8GKu4IPUfC7MFMHcDAGCXtCHeSFb4Qh6bFx/rSoHO+2tAwpIDQDLXO6zmuq/z+WslTxnHMiykmqlMUgPqpXzsGNUzypHJHKx/yyD5wY+KmTwsp7qSEpBiqbmzVC+XBEDsPffFe9+RO/k7TywefJfv305SWPRmVhusKtjSaODlZr3RvkgBgnj+VA6KHN6wX6lgdths3kZVU6PUY4+R5vaQEY/T8sPfpeL4OOmw/4eu3S96vl4qQ+Q3KBQOUv9t19Cr7xmlDJOx9CK1wOzbJt7AnXeKvnfUUtTAaq3XWnT22FJHAjzvQ1ICzXWOtspYLTHkMO3M8XWO9YDYkjqUJi1li7SYKVEpj2M5QwuPPEb5s+c7iyIyEKPEWC8kYA2SsErt9PLs0gUqZZeVJxQ3743EbvLGescXD7576N8EFJAOP82gqAswWkoqsHSQVGelPuQ1UR8qCYUDSd0qwosV3nP77RRgN3U4SvE77iBPXx/5QL50n1dWtdPvI18sSg8ezlNubon+/svjFGnmqBrpkZS49iO2ew85o3EZaG8jSfWmRWeOpiG96uJEe96H2ewcK2Ax1cSvOdb7zJWP1SqmUCjQbDKDSa+RWWvQ0lNHKHXkuCwyNs89QQ8NbhkQa6VUrimegUVXTi9QZmHa9v6a5AmHB/29A6eWHnvPLS8mKIzG11+zvVqzfot1N0caWX0QCNT58UWs6padr6iJnnfAAmkHm65/zY0Q48ZF1kaHJwBJnGq/Eoi1Oi7ovq0D1AI527YX5qrfT0Yo3DEF265mJrepk6fJSTVK1iKSxDM3maeFmSItzUEXg4Dm0xWsyDpVS3UApglipwtwVxWSPK/jeXyWup7XHFJfwgE0AN0CqdYgSSpLKTIBEv9An5LAGER/1A+J3KQSB/H4/gGYVg1qp5CnABYFcw+Xx+MyPL5ffP8bdp74o88+efJFMUkhGe7gkHPDlhRNWKmxHRsoED5B9UpWpEQoGiJ/JET9oz0U7YvKwd66tRFRsU6gHooQn7CzyBv0dg3UirXBTh4u0LFwXhU61z82RpkLUxSAOeeAKWEAMBte8jK68K37qVUsUsxI0yyAkVquUTbTIHYZcHFQu8iHrQx+beO2MI1uil42QcAyPDCTo+SUHAyoyTJUGif0SoDM7KjMKz4uldfdMWntMQkGcd8g7VAX+XMXRDrE9+2S99mMjg/HyelxUnomRW5egAwoEOz5M8eob8suagBUAIZTGxj62+Tj73134pY//csfeD5F+u/+059Xqs13srOIg02R266XWEMmozJnGACsKlh9sOu3PcDxnb0yqCtZTC1yT5yhubkinVuGfgXR8rhbdO1P3Sm2PZOv7kgjixtDPInM2hUQML0cMOkM6OmvfIVO/+NX5O9c00cV000WWL7FqkbsUFUExIhgd7nHbdA1tw2IKX1phemg6L4bKZiI4NcgGZPLYjFxCUETYr+F6+Z4jKhGvkb+fkMVHYmzC6+18NTkcH7LvDrg8LAVSqTX6iJB49fsptDmDfa9qhMr+QotTy6RAXXksD2vFsanf9veTlYb+Bi49+xv99z08T/4gaqP9//Upl+D2thQg/owINoCG4fo3DcO0ubbbySX16XS4Nsr3R5s/q8n6lHqw5YSjtQSmRCCnt3baazXRS7csOmFhAEwWjOT4BJxTFwAAsQH5Ack8upw4jtgY+odPrHKyUHBoUGa+Ndvi8516w0KOKoUMMoU1IsU1PIUpCwFWhnymTmq+xKSGOP26OTzGWtUQZd0Z2eR10+hwT6AIQOxnpTYBruxBRCQdMqXAOmjK8eXSw4HuRh4sLiCXjeFA34KBHzy9WJJXErF2GqmxVlbkEQQBmKSu2NhcnBZnH3PXAzlDXipAHBwIrHO+hoAKSwvAsAJ4TmQsJrT57/7A2/c5/rIpx574AemPmCGDrPaMDE5fbfupzNffkh8FfVytVPyz+JUnk0V+2DBZ9agwz2OFbWBAc1qfopxoU+jSqHtWyhKnJRjkKP/GojpeRAY3Kyvvx1C7eRFKphp7VnreDd1o0K7f/a1lJk4R82aRQ3o5AYmj0PW9VKRmhVVfqHBdPQ0smR5YrS8WKJ4jwfX2f3dq2V9eW6SmsN91MwXaOJfvkNLx08B4E6pUTEw+fzs4PJDTJRkYnGQzuMmFwizG0cgBrB78RrOCwT9sDriND01C5Jev+xgmwCBVqlDQmmUPnKK+m+/wc4lUffLaqR/cz8tTixSHaTEZVbZz06zR5+l3q27JRONuYg3lvjN9KEPUuz6j33oBwOKZmuQQRG9/VpKPntGspu4CrwOE1GlslPHArHsRiI84AyKlQCYRq2eYXJmlsgZilMZAIuGI6QXp6nq6AUgkqR7emDO1cQDuSINtIuJWtvdjcFoltM0evsBGrpxFwaDa0Rj8ryS9NKik/f9A43/87+Qq7RMzQhbLDoVC02sYscllX8DgMpcmCYn7qN3x1ZaPHGampAQTduJdDWPQDxCm2/cR5tu2EMuDE7U7aZktQZyefnPNQE0o6msi8ypCYrt2dq1SFi7adS3OUGpmRxIJ0CUTYOowoI5/Rwltu0BWD1ytjsS/83sM79iRa776Asehjfefu/Y/3AO9sN8jNO5fz0kvgp2GIXxGq8SGwfKnGrZJf74m8WqJ+LtfJHb3wMz8yRQPEzpqWPkx/Pi5BmKcvKsfwQ62UWaE6SLXZJSY9G6eMK6UvOryycgYrdQPXOOnMERAZbD16OyvTqWjEYhVjH3P4jRxir1qBhFS+eGKJdPQmWC6WKeAN3N+aGDN95Aid07Kb51M0U2jVFwcID8ENueaERqW/mbGpWVwjCWpAtnJ+XwhoOS16FBjXDnHUvT1jNK7EWAO9c4JdBJJiwPJ76bE46hv3BRvBBBhP395I9HqbSclJxTDWqEVUk5ncL5IZFiPBe6x3Pnr7/lOvPDf/nYwy8o0TzyF6+w+l9xK539yqOUA8Fk05RBMbhvOw3AChGXrB0uZ17FrF/QBNXRu7u/E9PwumOYlzJVc3PkDvRg1FLk8OKZs49kwk3x/vFEWvhbd7hpJcFaOXBYj/M59cIsLIogJi5FrtAIVVOnydOzQ4DhDPSvqASbzxz+qy/R5CMHiXxBcm6/BtjwU08UOlhrrhNJXYFJwBeC2KhLNVrvgQP2d7bWZYwS7YapuHjkBE088F0qLiytiFtM0pabr4FqcYuvo8rVbMblRYYX9w+rghx+H8V2bSCrukyap2elhKG2iLGLU3q+RJVMjoxChqTZBtRHz/b9ospUMbVuNQqZ90au/dgnXjDnVeS6XbR46AwVU0WYpWanW4wr7CaP39Mps7PsOglxzWLgmhWu9ja7UuJbmEjo28QWauUmyAFR3ywuUTMLMwwrt1GECoG0aNbyynnEN86BqcIUBiQHEupXTiPwESeDiesuHF5qAAiu8BhV02cVyBiQVZBaALA9YZvvvUdWp1UuQDTXJGfSdIbX9S8o17I6KpWC5GBWk0l8f0rdn20hrT0kDSAQoNHbbqS7PvR+2vdzP43f8doJvQ0aP/gsLIiiSDmnEM+WqMrOseb7qmZd6km46Uo1W4ap6heu1r4GzREU6yPcHyCdi47cfnX9uN7k6SOSdcZGANSQ5gxEPp478qs/84KBwjTNxsLR85Iez57DOiRDcCBOG2/cTLVSpbOKVaJMS/pKqAEGGQVTbns1OSagzjPJ1btX8nhbAIDGk90skyPQC85Ug+k3DQD4VAJsZgIiME6aO4RzS3aCrl8GpobzDE9UQNLCADq8MQBkWd5bmmYgJW2QYsX39VL/3t1KLSxOQ5W5yREK47e9l9fvWGnNhgJo4ew5u4zwYgeWZbWBspLHOXLgerrjN95DoeEBmUROSJo6Oi73pQNwOkeM21pyne9kTlHHZ5i31QtlsrAAdFhmMtzs+XIEFDjwW5wDq0P6NDwq59OqVWnp5HOQzHUxmSHNDYcv+KX8kV+54wUBxdSDzy00RDrYzcRgVt70xrvp0f/3EaiTnI1c6TKiTFNTSQo+qrlKR4pzHKGr8I6aQLqzdw8Q71Oqosku3xx5+/aojIYKJIcb+r9RIhMSRaXMORUIwA888Z1UWT4N9TFMjcISvsdLrkYeTPwJig5vIsM/LJ+xbILG0kJIZHIBZp8pibee3uErOibrmlJbtcVFapZK9r1RxyUti8FSlpL698pq98QidMv73kKRsWH57UqhRPnljJJm5pXzZaqVskq2Addo1lpKWlimGgsGCUi1ONOwwhIbE6RBAja8qsDJhFRcGj8uKY3sSDQbTZfhDXy98NyvjH3foKiWqkkupGWVwcfOe6+nxXPzNH10hk4/dVps547TiazOiuGZYLHXfp0jh2Ka2gPYLhvTQJxaAAQ7mhy+uL1EQchgLfCNt6pFmKlKl1p4XQOADIClljkPormJKskzeN4I4nmOLF8vjey/jcxq0RbzWmd2mSBGN4wJeEvjp8ArvBTcMCqu9lVifM1h2i55dq6Vz5/HYJdUWn/L6gKPKm9c7e+whGQ58P03vvNN5I2qZMFSJm+byeupodWAbOJ3TPZdOBXp5Ihp+z2RyJwPYP82E/s4Z83Dyml6FDAamRSlp88LMMS51WyFHJ7Aw6Xjv/Z9RVeNn7118M5aw9rHZmloOEG7Xnk9ffvPvkF1mJwZEM9dt+yUiOlqsrZihbhArhxgzxx1dEhSg7YqY7M7V6JtDzRS4+SIjFEjO0mO8AgmIimvG94wJgRmXTUvwDDrJTz7ISmSAMYYJMd5MnxRSJgAdSeCttP7uA5j7tBhACpNI7AoAgmcqzmovLRwhaWhk5tXLGeHL0FiJMFZkotkYdD1AvhOuUiOaoUcALcD4OcE5Fo6TY1cAVypJBwpOjpE2XOTFB3shfoCELlqfR2yKc3ZmkptNapNzLuLfHGY2rBGNKMlpriqG6lLvNJqNjqeT45BuUDwuVkcW3BsqjZxfZyUzJKDuVl28nzYSbWBD3/+6Fe/Dz+FdYZVh6XpdMMb7qRHPn+/1FdIW0L8cGo+TYGwp+OeVl3n+HotufhyqkDusLKdWfcbhqeLs2srzigu+a9lqVVMQz9GqZmfg96HakifF4CwhDBrZbkOwxMSQDRKaXKHBsQ30ShnQDiHOml3FlGXo0u90n/tXjEjSyCOycNHqH/nJijkGKU4MHUZl3SDb8jQOrmbkojLOREcEWYCza5nbnsE1VnEd5eW0lSFqpH0ApuE82PzjXs6Fk7Dzkvlrn1SRmj/rUohu1QIu78hKdjd38T9arpy42st3GkjQz69RWdOz5MvFJC4EOe5iJ/IF2BRQ3q9SvmpCfJGwuJx5aBgKVd8a/7gLz4dOvCF7ylZR4cdfIpt4Z2QEDNHp2j2xKzEOdj6YbU4e3ZGLqitv1e8jkok1jJlSW6VTKKmqqZq1itUxeSzdVGbP06t7BRpkAYcATRC/STpU1jBZrUgqqOF881y2m4cgtdrRVERnjjURwrSBCauWS0pSdIp/m2tIYMwQR0u2vyKl8qNzTx8kOqc5VSpwlKNXJZX8DylylVaLBRoAebfPHjBHCZ+bmmZ5haWaX4hRQuLKZqbWqLkYpKK5TLVuPGrHQ3tfnBH0GKD0+3qsEZqIOt1kQgccV4LCOXvqJDGle2cl+KLkTu+AUs1RIXlAmlTC3T2RJqCpkGZqRK5QfwrWZZMagyafowHx4AwWWz5cMTVKepS4zSDPyk98dbvKeTuAI94IjKaoMSWQfr6H37ZBoQl5iEX4e5/6VaqlasrjiBr9Y2x7qvPJ2lhYpGOHVmg/Qf6qWe4hyIj20AaK+Tq22mfB7Pb4n5UKWphRTihDhq5OagDF1QGJjw0ILkJwt5dipyWk1gBvVuovHCGAkO7VxX8rlyKLcH4+pweGr75Ojr1j/8Ey6hAk9/5LvVu3UBuMPfSJUp5VleIcQ6JKYEuXClmbJ0wKymLR6186kgCzbp88PSSrm+sdnaxs7s7M7tEheR4J16TnC9QxemiTb1QGzfspeXnjlIgAsAUKp3LagQgIXJJCdHXmJfkSxTtjVI2mXW4fZ6/qxx6237v9Z/OPC9J8cZPHJ7c/crrao9+8UGqVaDrWqqbLYPj7jceoGceOEXHnxgnt9dtm2Nal/NRRU0LmQZFt43Rq9/1ctpw43UUGd1OzQoQrTmpmZ6Cjh4no7JE9dQFCS07E1vkbwfUgQnLQscKMUspgAOSxO0TAtcoQV0EezG5SUiMsVUTZ9HaZiMQ8d4gVExOBnjTy5UlcuGhR8Wi4HC+QzdodR3jxZ7U9Q5p2sqNXjnVrqRWf7UA07oMfV7jpJoWra2QfF7eQyHjTimn5DB5tzrUYyDctQYdnq9R/tBTRB4veUfHuu6bUwEc1PCpeplGLifR4nyOgRGjXKYwomv6Z7+nzKvnvvns/UsTSSUlTOU423nbdpBIJz370Bl65sFjEOu2ecROIjt+pfChyecMsPbH/r+D9K2//CbNHHkCN8ipZtB5oT4yerZQ09tDDlgR7O5upMAjoEYamSlyREeoDgLJNjpbKk2oFAFOIC4/0ALxNEAs2252UWNty6DtNGOnWLUsg8WgGr3tOgFHOZWhpVPjUsTjIu3Sk99Witzjmy0xiPtaqaHEf7FOdQCiWTc7AHhBg08+r0gJvl7OJe1GmMNlUN9AkIZHo9JeKTI0QPnZ+TUdezBnLg+ZbmVwcE6sC8S/DiIbCPupWCy/rnn0nf/78wbF9LGZ+5q22mAp4Y8G6PY33Erf/MwjHXI5cWxKQtN8MRxJZITLMwfLQNI4LLD/J66le976UurbuY/cgYiYW8w16gunibIz1AIIWCIYgV5h1bo7RI38EojmoJitZgVIBy/g3AVe9Y1Sjrw9MCvreYhVBq2d50DdTUd4pbmUC53LB8ym7XlU/S7mDp+QxGC9pcLW7Yi6yT2+OUm50hQJUG3rf/xbAGC2XpTUt0Airrr1CNEsrypDJNsvkimDk4RilJ6ckaSkVYHDtiPOF5KYCmeTZ8GBeD5Zbbawghtm6+OtE+/Z+LxAAQvpKwBEU9oc4md+4j330qP3PUG5VNGOe+j06NefohrMH16lnDlFurokDjOreIJGuQtL9M1PPUgP/69/oeVzJ8npDYo72pWAFRAeJD06Ss7IkGRRNwEO5gASYa2VcJRJg0Rgrye/7/AEyRMZIHd+VsoNHPUClbJZambnuvpctUDOoDYqeQEfbHT5HgPidPSumwXNxeU0FRaXVRIQhxSw8tviXxFAUyTEi/1QHYN1afLGqoP5lLOQJVcntaS1qk2Teqn7NQVuTqpmDy4nfNXcKgrIyUJaq0l5gDwaD1KhWPdbmvHXzcnf16/KT8H/+daxZOXu7T23QQ1s2ffyfRQdiNC3P/+QAoSu8jITg0Ea2RgW/cermbu/8GriDjBSBsCmpNtFO+7YSmN7N5Iv1iNJrCzOeSKtwjI5YV5VUzOSpOuIDlGTeQWkhIn3HLHh1YzPXi3NXIoCHgCu4SKH200+l0a19CzpfuUsYmC1oKoEHKU8gIHfqxQl/sGitgRrgUPi0YGENCuR3JHWiwsCVbOqS1KSw82Hwz6cFNu0idzRiOqvFY1RY3ZGmsKxhWZ1pRNIZBrf4fSpZBx/1Cv1JIF4gHxhj0jVlgY1UoO6BaDKMHX7tm+nFhaaJxijpuEfZV/GH/z5wQevChT8eMm2mDuYCP7kvW9/Gd33B/8o9rBK0tXE9v2Jn7+JDj08LiFpbzgizT3Irm4CyxVrhTOokpPLdOhbhyHqLlB8OEEQilATsCaCAInDS4Y/Ls6iRmpaAMFE1NmzYZ1CUDUYU+dmFOhAsnyRGNVzS7BcRmHCeVSUkDkOVpluuMXxgz+w+qvyWfYyzjz+NNRCmeJDfQCwR2IFlVrjxQEAlr3D45BuOYbUsKrdB7Qu8GenJvGem7zxuHQhNiIRSRF0YaC5MNkLKeCN+CgY95M/5pcgpUtqXwwloTk1EIDwxXvwXfOkh6NkgF9xSgCnQfj6hlRCMHfnMFu3/OrP7/rSRz53KHe1oDj/qvfd+2tPfOWQPntm3u40q6TELa/aQ9VilU49MyVqIzGIH4a08IEds4tVAKIpJu0L+mjrrZtpcMeo6g2lu+SiGimQymYVDHkB3KEAExS8gv0UXg5c+WhtYWnb3AxisIA6chM4B/iHK86FQqZSN2yjS2GOXYAD9dEoZTu61hMJU+rMWWkPwF8YHe4jD1ZniQudriAthD9ZVwEAR5cEAPM3AAS9DQD9KjKAue30/BykW50C/X0SC+H21JHRTaSZBcluYyB3Mt3XFHGrwm0VIvBhEaQmZsHZAmSwZ7hUBFgSWB1esrgRvsfraFUruz/ymae+eFWgePBMunrvNQN3Hrn/+KZuQAxu6aXr7tlFD/zNE3JeMVuh3gGIL0yWCxJCPHFgxpyJ1LATdDNzWXru/kNUzuZocPsmahbTsDYAAm8IYj8mrmoLIr9VhbgHb1g1+lZrVRMUTTrsG1A9IExQM3ogJj4MEyYvqzGT4wfsD/EFRH2I9BJT0pRaU8PlpqXnjkuPiL7No+LcYY9luVK77FxFQn6KB7FKwU7drLc5/xOj5eJnpw5wcc6mIS2THIbygkrfTU1bNwXwSo9KOkXVXEEivhKoKxfJqlUkfEC0knMiKUZWy5YSnI2elVBAy/Z3KMcV7pulKz5bKRYp0NtvB/YklX7TB35m6xP/8wuHz14RFPzYYtWP4untbbXh9jrotR94JT34N49RMV1iySyZ0uVSjYY2JWSlhvrjkpHEE+eBxGCLg6XF2L4x6hnppTpWtCuIc7ILHC0iD3hFcX5CVAjzio5jaBUwrDWVIhgS/DirIIkHgERxV355HbylymmAgShVYKfXazUJ+dely02d3OEQLZ84LXmdbC3FB3vJBzDnOVxt2Y1U1xw8wWxmu21yp5EqhDIkmbd9kICBM6jcsB48rN58PvKHQhSIRCmEReMHR3AFAkKmuUPOlR71fE6q6Hw9Cak64/iI1rJjH7zTASbdkxghN8aTVWa9kAZ3wmIoZskBUt8E4fYEQCyTkIxYDCyZMSB4D5IWEqOewfnRqGaWyzf/0eee/tOrAsXDZzMLd22NvRJSYpiBcfdbXkLp2QydOjjeAQQ/c3vlOA5XMCyuSh/XkGLleb0uEcvSwrjWopMPP00eTIoOU9OBlazjZkzDC6mREFGveETbda51GHd3bMOyumIckkisJADnEnDFWH5+gUqpvNRTVDIZIcIr+4XYqoCl1/gElfNFGt69WVofsiQsV+oqzsE636XEPxNA0dcOtR+Iw76mxYkZKmMlVwG4Bn6XE5LEb6GrCKvhtvts2j4HzaUaq3nCYQoNDlKwf0DKHsxaVTmsBID6GkByrW1evle2tBDPKRaAWQEAHRg7FzhVClZgClZdTX6PnYRsdTWKGXKCfHN6AuekcDO4mFOTUsYqVIcvGsc1eqTGxQj44+977ca5j33xyDPr+k4u1qX6H2K8/mFs7wisiDH6X7/5RUU47W72vqCL9t04So8/cIxufX2MnG63oNaFgZSmaRC3JlYkZybve/ltYPo1NaFur1rllg2CTtKu1jEvu93WDARxtzdVzacqEm51pcupCvbshWnqu2YvTM0SVlkFEiOw2vWJR2LvTpp55FFqlMu0dH6GRvdso3hvhAqcIbWmrGBVEg735bBJKf/+8vT8pX3ZLEXcLnVARbH140/0UO/uHRTbvllSBMcGbpOip6UTxy8KF0g2mKmsjPT4WZGEbnAiswHQsjrhTBezhIUYg7XSj3vNUmV5Tog1+2Ekmgz1qRmwNswMDYQcNOfoJ312krRqEecmKbhlC9Wmpsg3Msog/p2Tnz7w2Z1vO9i6rKQQwrk9ftobdL/+db/+U33f+uQ/Q+KXVkmJW1+xm6bPLVFyHqKuCjWyfUSCWw6rIatD3LOwAthaYHEnA9pSVd9SWEOKwGmremtqigNwhTjMxwZnaEHcsjQwpb2h2Wmo3p0zuXzqDMU2b5KVmjx5GpPhUivMWt2zm1ckq5zi9DRV8gUa3bcDfMBFTfZb1BrrqhDNTkxl/wdHSn2cnKuRTLp0+2+Du110LYLOlN4bDL5qLg8CuUALR45JR2HuJuxNxCkIqeGNRik3NSMgN3ERHCxr73xg2e7iahqqFpYIfyd7vz06JAynE2CcKsvz4BI5CYCZDYsKSxlIhhblFwtUShcBIp0eP7xAfe4aNbjQCoBqgPd5glxrApMdC8gZCodwdwsf+9JzT18RFA+dSdPv/O6rhxfPL94x/vi4NA/TbUBsuXaM4v1heu6ger2cLcHs7KFQIqY25YId7IC4tEolaR3AzUdZVHOtRktTKfkqr1AV8DbZicWDCJHabNjNROzSPau7VfKqJuvqtTLMNv7D1xOnzPkLEM/90uzEl+hZZdK2n3hCks8dgVqrQt/HcM1xcAA3pTNF6mQmX3SQ5EU42PuK6x667RYaues2Gr71ehq98xYaPnAjDd5wDfVfsxsSAdJn2yYKDfWLD6eez6sMKnYq4e+5J58mF1Z+dOsmaYlkQM8zMAR4+sWHpCsCXCz5mlXOEgcvKZegHkxyxxJkOf1YsFyqMCcmfymZhhQJSBtKruGJRt2kReIAVJPcEEFsohpOEOfRESqePUNuXGd+/PTIn9x39i+uCAp+vOuttzz06N89+pO4tv62lAj2+OmO191E3/3HJ5VTSsLcREswgbbevB3qwqdi7RBlrt4eqsPMcsFEktyCco2Sz5wgb29MJt9sqn02pPK71VrTI5tW9cVer4CZmXbm7HnZKYj7XdSyedlLpILVJaDocvm1KStLk0a5QuWlJfFbjO3bKf01qhi0ev0y0oLvE9dpcD8MruuEddD+fpZA0jvT5xMJxbscBQf7cV1bZI8SBgf/nsrlsGj52HFYTE6KbN4o5zeKFarlCja3uPjgpili0bDk4LwLlipY+YWFpEghLoZiLlPLZMkLqVJJp8kDKVQDYeUufkxueQQ4AZ8rPCv5rFhq7FOqpznc4O9/223+hz7xtZkLF/enWPO48ZWfhCKnD2i6vd0jJv+ON9xJR797EkSr2qk8ZwkyOham2ccPCTtxY9VyNzlOt3MN9NLyoSeh+zieYVFgMEFPfv5blJxcWsfC6BL3a1TEav2tJEjq1DjFd2wTIpg+N0GxrZvFHxHfvm31Vg92va/DoRquj95+q1gghVSGsotJUWc98ZBtfq8c2prDBEHjFc0krQm10M5qb8cmrPbWl3amu4AQ390PYOx7y88BBBtsUqZJbezSkefEv5CAdOHygE6TNuPi3+ZtsyRtD8AtAkQNSB2uM+kHjwqPDsvCYg7DPc09oTBUy7KyeLoGDvaHOBb53otQZb4NG6h04QL5RiX6/N6rkhT8+Pbx5Qv37k/sw3Xu3HPPfojbED37zadFS7DHjkERjvlo05ZeOvbMBVEXPVuHSPd7KPn4Y+TihmcYpOLEBDnYmSJ+/kH61ucfEfbet7F3JT9jna0VLqU2uN6C2T0X6WTOTlBoZFjUBq8Q7nzLE82xGafLrRqxu53iUWR/CqfklzMpabfErZRHd2+nCga9CMup1SYG6xz8ntFSqo9n3xmxe4faJLl7h4Dupm4ywLhWlmjMqcq4TpY+ufOTNHjbrUqKcgkkdHxHOq1VJXYlHNe4NmG9+Ht6BIC5yRlcu+qSIzmeXIzE/hIuv9e0Tt9023YjL8SFG2NRx73CLJXaWcPLIYL69ne8rOezkBaFK4KCH6/cn3gqOhh55x1vusd44NPfUA4SNuHYoQQT7rrbt9O5k3OwOpqUml2k2FCCPDBLHX4/5Y4eIy9IVbNYpGY+L5nahlmj7bdsE/4x8cghigzEhbitSPvLqw12VOXOT4lkaEBtcJ0lO9FatQLFNm5U9Z9cgd42l+zcRg1mnjO7RK5qiQY2DNPAplGK9CdUom06J6uwaTjt1swa2QnctkloTzpXdenSvUX6abDX0upWUV0glu2oOAez1qRaWeVfhDi+AT5TxljwBIZGR8WHwr6IMtRel/hdOTT1u7y4hMBCXYiZjN8ObxyT1s+c8FuGdHAHggBXUdRJJzOta9HxrfmgLrkfSHVhkfybN1Px9BkK7tihVWdnlwGK715WfbQfH/zSyfP7Xn7tQ099+bu8yUnHy8kI3nbdJspny5SDdaK62Tro8NceVS5l7nST6JX2Rs4Io7JIjWxamnaYy9wlrkK7XnGz+PFb87NSPbau2rAHWX4XEqA8N03DIHYe7oxTSVHPtu1UXZ6m6MYtXed3ZWeByVuw543csqCfuRGbznGQrNhAH6RGASsHrB6TRQ1l8nKqm8rksq0PW4w3HQCvEpPUwIpvQAWZ+SK1MOmtSl2KozgRhwFQyVepUqzJfTaqikBXYREE912HiewTqcVciMHT7gy09lBSw+gczC8E4JwgzYtueo6Sx09DveREXbBH1OX3r6nc1zpSi0t/HexChzTlKKoDUpOr7TVJf9DffFk/xdrHwvjM6yYPn3sC17W7vQBjQzEa2DJIj3/1oC2yDFWpjQHPPHOYwju3C9FhUdZILmJlRciE2NbcKkbS77Xo5CMnaNutO8kNQNWee5acYxtJC0VktQoIjPbW1WrP0EpqgYJ9fZL9nJ+eIP8A9OLSNHl7Bi7arK6T1MtTy65u3gEZ17nE5jUn8LgcIrK5HtSUWhdNknMtt/NSvU6U34KcsjW2uNJrdUnB01yaXJPcr9stkWJxZHFwi7mIzhX6dSF9Bo7g8JDEbQJDg6JSaljd2kVZ39aqvqCqrYZDzPUqyLKRSotZG4WZy5wjC+nJVgrLLi7o4u5DnfC7vcg41wLEUkk7rnOBCnVGY1Lv4koktp349IFrdr3t4OErSgp+vOpdXy1hHN+CyWnJRq4YuBtecyudePS4/KZsCMvNQwAIbuieg708dXaBTOg/DWaXBdHcgv4S51WtIrmEVK/S5iEXFbBSXQCDezc4ixsDgVXvYjbPaoDd2nYnXw6N1yBp3FFYNfmM2r7JaslgO/0huybDWr3zsaXS6a0uIsdewTRW8eIyTLmqRSXNTVUPxG4gRqY3sGplrnc0OatcA6BgHjZw7w18P6cvtmznlYyFU6XWSYa2y6FSD7idAW+5GQqBA/VTaGxEro0bvZeXU509U9V2mCvSSTWGNaTFs+FRbn1uxOZj/wXOTZ48I9yCgdfnd1AEY3Lu2DIll6oSo+l+9II/lSp1sbh8fQnpke6GGV+Zm5NnXP5rr1pS8OOdf3H8qc+8d+/HsHJ/9dpXH6AlWBDZxYygt+0mjvcEMe9OyhSgexsWZfNNChh17jAK8VwR/JkQoU6oihqbohDrXnOeKguYmJkpMnbsxBkOqk2Pw4bepLKUbU9nbvIshTdsE6ZdXJylyKYdlJ04Db26TfSnu1GmzFKWyi1WDYlV4SiuxyyUKri+CCUSAUoXql3EULvqtkVtxVSVJI+WqnKvcE7l6r3kxOXNQGRgO9XR2XLb3uKSTfpavqBULdlqou0s6/Q+11bFgtqOQP75QjJlV7ZbHYIeBJEs+Zy0d1eU5vI1isa8uExIKKeHCosF8ZEsnz1Hw8M95GLCvbgknQy5BJF7jeP3fgpf87tXDQq7Xua3B3eOvr538+Cm73zyPrUqbLXhCXhoeDRG07MFIXu8Cx+EJbk0kE7e2gAry2WYyj5uqO2aKlzQwmRsfp58mzaTlklCFSSoFopLEIc3puP6zPLiHHlifXIB+clxrLTNVJibIn+fCqa56wWI5Tp5cR3LM2mKBHTo2CDseRUD4SSbhSePUO9r7pYV54PBXm5a9Lx237QudfZ632OJQ47WayZvtXNbNVslGBcD4BIf0uwUSJbK7RpTHntdQvc6nctUaXDAR7W6RRuHID0NC5OfwELlANkZ8WlUOEcGwOT6EP4u9ruwVDOLXKXn33/y83fGd77l4dRVg+KtHz9aPXL/bR889Pff+Rvu+qdEm1Ibm3aNUjoL4gSgsPh3SAcYsOBKVpxUnO/X1JySns6FzCwF4j39UnspKYBLKar391JlMUWtbJJ8m7cJJeCBYL3rTUSgPlKSxcUWiNjmPlWFrePz6WKDAsDA2HCIiuAurUKGHD3Q2bAoZg8+QbUCJMkiGDp3n2lUqWp4r0Y4XBkpl5A0Whcp0eyM93ZCjLYmrH7J37as1czGUnumMn/hhBvOi7W6zvXH3TSXrlMUJrqfKlSFyQ1U4P8+MQ542wmWVqz6fJGQoIrJP/O9RhbjFYlo9cVFLpq5T38+w7D/nr/4SnY++S7N1tGs7wa3DEs0MFeoi0vbYbcEchmY1QJ4wK795ILZyNsxNVo6+cLKWVTOlySeIG7vapVacwti6jkgCerpJF4rgJBVwSPiVISFUlpaADj6qTA7CZK2oZPNXdQ9NH58mh56aILSM1lMfICMcJ90wKuVqpAyMZFqk8fGqZyDOVgpS2xG9h01FFfQn+ehOIZj9WEoB1Fbehp2tFR3qs1t27+lzE1DHZraVkIdXd5M0jrmsVhQnGgMbsbeUDdzk3YCkLWS3MvzEY54yNvMUwVS1xVLSMg8NX5GzOrScsquhpOwpFyHybmcbIVAUjhDUUjY0Euu6KdY7/Hl7y4c/i93j2yFjtvnj4dp1537aOLIBeEVasc+t6S9ufPL5BoZJU8iTn6w5NrCgjQa40xpfzgg9nkNTDrUExZnlnS5xb917hoDkccD4O/tF0nBN+6J91FxbhKvDakOddzQlJu2Q79zIGywxyWDUi5WyNk3IAnIDUgI3h2wNDUpThs3+0RYMvFv+e2NdPXncbT1vr1HqVoc9l4hktW+xiN5Cde5SsnrcqV36iXa2VVdr9khduYgDsl2i0gT+tX7rppiSnOfDO7JWaly3Y5OmfOzslVmS4JuDbU913A/uTE6pSLnWfjJ0zsAi8QhlojWaBh//KWjn9K/F8EJE+//wCo4vOfem2l2fFbK54wuKeGjOumYDN7rw8n7hHIP72v2Sw4A5xNw03J/2C+OsMJyhsK9UbE4uGjHml8QfcwJMnlICI6TNMFD2AtZzTfI5AJl7i2FAWAHEfOUYCxIrp44FXJFsHQvuSNBkNNZ6SbDoPAN9MvkZZMZVXbA0sIOcl3k4l4bg5DXDUUg2xLA4bBrTo0u76N+VUd7oq2uMpSOk0qjdZ1YslsBdwiE2emU9pUtKUSqsi8kW6JiqkxFWFTlLJdrcpmiCd61IB7QtrdYdRQ2Zbz5FVcgrPpnaZotcLjJmrGN6Hnudd79OHz/O66NDCQOnnvquIclA6fmcbW1L8AiDIPeN0juEJAY8Alx5Mbly999BJPmU30zYcdH+3qoAiRzy0HOiOKYRIPzFzDYFsS+5VKZ4nWIuczEBerlxiSX2td81daWqzeBq2UytPz0IbnuGPiJ7LsRCJHWN7BuxVZ7VLQrdFm1LpfE2eXptNYpt7xqqwdSsoSFwhMYTPRRPrWoeFpHSrRsJ1WLundsXrv1Ny9IB6yNYNBDW7YN0+J8QYE5EiPK5Ujj6Ha5SPVcNvY9g0LiI5997W0un/s7AIRTsoz8XoqHYTUYkA4gM+6AV5w97ObOHHlO/AkO2OrV2VlYQS7Jn4z294horxTL5MXn69JMzFS9scIRMn2+NdtZXx4QxWyZfEFPV/dnZdYuP/0M1ElB+mD6/GqFaFy5zaudM604vY//5tiBNG7VVSH05YigtgYcq/ZfvwRvfD5U1myCTy1K09lAvEfqXDnSeWVA0KrSAMsGEatAL6T5zj2baGmppCQXLDWtBLOaiTtIPMjnjd8XKPhx8MtvejNA8XnO6O4ZjElrH84eZgnBRSpc6FuZnaPyhUly9yakClzaHuNCPLgQtkS8QZ9wDE4akSxqe69Q2TTS76cmLnxt/2wubOa80STI5dJslmoQpczdguAV4kY/sAXWjq/j2asuJSl38pTaKzTkU/ERsjeVa29277B9CkIQIaZ5ayvNWLcpWhsMAXvrSdmURjaLwX1Ava3a3+z5AgKLgt3XFVgMzK28kagE84qZ5a4Y0erYhmWt3cN9BaCcQ+KQmAi4Ga515+6NtJyqqBZV3OC2lCMTv9OCNAEw7nV8v6A48Pov/tXh77x7KBAP/Q9/FCYhJsTtcQn5a5arkuVTXVwiN3eNZe9mXZFKdi1zt7nIEEzTUmWls69UqJuy6StHO60aVBHnAQSj0J9lyRTPpitUrpnQi17wkQDtPbAJ0sHdSc7heMO5Z86RL+ShkZ2qyMjNdRWQOhyMKpbqEgNR5NCQDvpiKUh2l1M8n/w6tygyXY41q1/ruBXEbwAQhceGVHsAO3usCcLMG+9e3uTE+MtWmV37kHDWGRYNR055LFiSsknJC6QNiItjG9ZlAWFyoZTXqxKYeHdHn1ckcTWrkpTqUEtOJt5ObvXIrbb1+PctKdqP5eRHnwQ5vFGyugPKNuaOtpW5eQUEHrBKVSwQnhhO0W/VGtIvks3UCsAj4eFKTVzp3PuJQeUBUeSBZ4lScoZgtgalwGY9HsEShksd/QADx2Gy8ynKLOZoYOuAALWysEglSKxLLM/OX8zwOdmWvZK8kqzL1n7o1Ldvl9qMjguE7dIC3viGM7Mvxx/Yxc1ezSaIryouXkneYTOWnXBMbLk+dnWw8OrUhmwObPtHWIKxW8DnddDIaD+l5pJCYquQhG6AwbIb6To16y2OFwoUxXT+Zk/A8zcwS/+L7McJQEjBrN2onYHB4kl6XzcbSkXwfhcQk5zlzKHlMnsyXQYGsySJrg4Agus12DZ3emCHm/hOk2vOgsLGs8kiLUN9LOJg6cCVbJGEn/LLOdq8f4R6hqIU7IH0ymOFuAHWvoS0MJJ9Pzjv01Ti3rKzwDpJKQU7vwEDxTUe3ByOB3Cl3be9P4htP5SSy+SH9cNgr3J1F+7F6Q+sasa6ns+L0+c4F4QBIcrSsmzXlkbPPJWlDTsdNDDoW1Mn1VoFYsu6uKquEwHi7nu2GS55IRxhdUCl22ReXsM4cIymXU/NEvIFA8WG7b9npVIfe5PT7faCM7yGN6yXvtOsKmp1JS0aapMU1RG/oXYhFHFfpxxMpUAsLIVFnClVASlki4ZfYwuFVx974lzlHFZYjk6dyUkkMtIXpOvv2Sa9oDoiFICbPD4p5tfYno2wOPyyd3loaBMVwF/YEdRNXi27sRkTu9yJk3KtXEMSZCnF8QuOgnq6oqBcUMQV3Sz66/ZWVNzQDMDJnj5DPTfcIL4LJ0Q/T7hkabX3hu9ya3PIW3YhUHnuEsH0hIPUF/aRC9JqablFyYUi9fT51vRNuTKPYNPf0VYb3J8DlgdzCw9e46z7tnnMi1TDvajEaFGn9RdMfXQkRunPXM1C/j7d7XkNh2dr4BMmdCx7J3klqX7fLWmwYdmol2goizAMbhhmKg+f7ImKFcs3yHuNcOY4p5wFe2LiJ+CVW/aFqSExDtv5x7+fKojECESDopKWJ5MUG+klb8AlHMDBG9ByIrHL0/mQ6uqnQFJdWKLy7Lz8fmh0WEr4uGaF2yXrHhsQHBrHpLdaVscZxsDIT0zQ0hNPU9/tt5HOnkLORueDM9OrKnzOvTKa9iIRDlFT0pPvibPHZLU2TBo/lqJgrxeA9kgRsl7KUjqZvjq1wRLC0OW+mMdxKJ+vg8d+ZCShJIWlchWzmTxFeyJUwfU5nRK3etULDgp+5JJ/BFuv9XTx3PntbGmItWFXSLliMSpPTSpb226CojK8lc5jcskSgl/ngWJHFauQYE9UFgtvS+0NB2D++uScxaxFTx9aoFqlQYGQk3pHoyK2GRhje8Zk3iulhtS7MiCk2y/IlwXipgUiAg4hiXYXXp7c6oWJlZKCLvGs8iZUvgRLDJYiThBYNmc5Kbhw5ozsV8oOtABPJM5nxx6vVFNAUZVOucybGswjuqrGuGiIv7M90eyaHj+ZIha2o1ui1BN0CR8rmrr0nlhXStivyeJjgixtHVXrZlYl7Gbfsm0IxkBN1abi3Gw6S7HeOOWyBdnqG5zwhh8IKKRZyFPvdpnl8n1mVakSXg2BjRvF5cxSog0IAQXXQPJ+Fhw3kLwC5T3kB3tEWbQXUxnyhAJY8X4q5QqySsPxiPCSFofHdehKUi2M2KoogHAunp8FyRyGaeqXrnvc3L08vwCQlGWFa7mMZGOZvqAkobRXXTOdlr1FL3YurP63zjZ+MLTiNcSkW7wF59pP2HWfpK1wEr7+lu2cU+F15xqVpn6LOxU2NBf1DkeomVqmof4opZbzlK82r6w2anUlJWo1MUl5UfQPJKhh2pKYPcOQSgGAITWfpJ5hzqvQYz8wUPBj8l/f6DJrlc9ASrzJNzIiF50/eXKV2mDPJm8tpXO3GV3v5B3wOJYh2vzgFE6cwy70cjYvLt4wVAg/FwTdQehJleFUBSjyIKKmpTKX2KU9f25eiorjgxGRNE6Yd618nhrcMIV3/gHZ9LbqsDLcVGvpq028lk0oLZuI2txAWBk/+wMrXXXauj6b7uwzellXBPtoOAy+NmOs+/e7koLDvQnZDLeG1e7lhCGHThWYz9y6cUVtNJR6ZtCJ2lA8gh2F3OmntzcqQUsVjNMol86RHxyGQxOpuSVKjAwujt7z1/36DxIUYy//Uh0D9IvOUOjzfkiJwtnxlUbNmrLxRfzappOKM2hycAtA9oiyC51VDUc8uYgnEAlLDINHq2egR5rA5rJF4QcB3Gu/G8jnDgX2TsGDmwco1BOgetOQCjYO3TcBACu1BF0EkGFiitziGb/Z49dXtpqy7EZvhnJqaVjVnE7I2WSc/KqxQ41XOSaAVZeyRvBKGLwgDisn2kNWJEZWKEpWIEyWP0QWuInF2WheBYjuJGVrTanjKmsDf+RgTtc55QBSzwFVWLYMig71Uu/2LSt7x9slBiIFuRm8Pa48fi7eatvvljZKZEvjBsDLOwkwx2D1qhn6E1eVjvf9Pja/7qvW2Mv/n7emnnziD1iFdKsNz/Cw0nWcPm+o3lmSJMt7XODivaGg+Ocl6up1C59gztEzlKAaRCNLijBEXzDsF2BUcXPsVu/xGjQcdpLHqcgWJ5W4DZO80TAFuViIQ9mJftWQpZAWp1WhqUEkWxRxtsjgtEFrTUffNTEXyCMaNeq0OJGmU0cW6cxzs1Tg/eHd7lUqw2J9zquXD6xYPlqOlR2VaG2u8arfXO215NS/ZLokZFUvZGnh9IQYphtecpsk2zg8nk7KHo+jEFjJ2GpRBBZNrm7ZkVyHAMENNSOF2eBs/jAn5hiPvCigaD82vervfws3x/t41wUQEIfOCIgeVzPZOQa6qj6iBhi2PxrsFObw5Em3O3AJrhznyu9oIkp+cIwMgMEdahPQlbABKQ/uxsk1bojO4ViA+tiRpanBLs0vUimVlpbKWq0MER6QBqVes0Y+rSmdX5a5qV8dRCy1KI6oblHeXYbYB5N6qobf3RSnuw70U5AdduyJzaYo6mbvbGsVGaSuxmargNatNta0r16bkd3+XL6MazVcFIAZzpbSzMGnpP5F9fhuiIWkzFC3qBS5Zm5NAAKscj904WVC3rmrUJ1zXVlSGF99UUHBj51vefiLAMRduOhkaP9+qk5dUE4bzkew8xRaLi95ud+33XlPt0PXTDQ5X4MDaBx4y6dy4rZODA2AJDooX8TEBtwUDnnFBV4o11XmMyY4pkOlcJsltgQw0Q22ODgzaXlJqEHR4ZGElz7oHRebmtzJFmpASy+RVipcXIbIKgO/wcmzA0aDklmsuqBLrAcNkq+O7zJyadJWEdPWRSUtV1Qba51UXeYnd73LV2CxYbUP3XQtFaFeGpxWJ9lqDVlgKheFpCSC60I0OwekyQ4rLpoCaDjE4AvxAjSODR/41JkXHRT82PHmhx4P7dz5k9XpqUkLpqNudOUisFsXF+o0FK/Q7BwHztWsgFPEhwflptgc7RnupUomC7DAnodoDEGFFIp12NtN6T7DzcyLUAlVkEeuYHfALPZXCuSulqXDC4UjcrhKGXKA5JaaFi2XTMLckrNWFBXT6lGb4Bn5tGyq10mbx0AfOwupxUE4bl7vc9HWAS8VLiQleae2ME+tcIzCschK+H3N/q2rquCuoDastRsBd52fX1yk2WeOUHzbFlVHq6lGLppDbefJOR+R3h75N/fcYLOUt58I9/fK+PJiC/bJ+5+6qmKgH9Sjd98fP145f2EXJMF9Sm0ABFyhDj3vaFRsdaLUBj/nciWKj/RJYzFloSiSym7qLMRn8tyU2P8Bj9KjuaopQCCIcs42IpC9Jia5xoE1EEx9bhLqIalaAQViUjwc1hsqxA5gmFiFWnJBQslMDllySAf/rn1EPYkAnT++SM9OVmn23LK8Ftu9gTSuDA/FKLZzO0xJnYKDfZdQG6virldUGytS4uJTuap/4dnn1F7yvP8HZ2kzycT/2MzkbLh2mUIZ5zBXY4uO1TCb+bBOclArf31VZYM/yMfH7zvX+MAbtt2HSc5igu/x7dxtWJgorVHvdNPn2o8qVjBnZQU43G0Ydh0rbg5AWZyYFgJax8QL1ygUSWPzERPDuYgtWAuNTJpqSwtiNXhGRkWkNooF6SelcW5Coy7WiKm7Ke5XOytXwewtD6wMVgHsnueOtlz2CJBya6QmdI5LttCG3b9jDGoNuryUh2nspLrhlrA+XytnknM7Bi48el5q4yq8lh2VZK3xZDKxZeKOhdY7NqScfKqfhDSBqRTKFIEKZu6WgRnag3NgXf3hwHV/8q1LFUH9mzyWD7/3Jx3B4Bfr58ZDHecVZ1+BqZdbGiwCTdLYDduHwSbW7PiU0p2cnifNTVRbA7ZUJFFWOa8hffokP6IGG5+lhmd4iNx9/ZLoU56epk4bfiZlMB3DILDc/b/CLRg5rM7qhjex9QfFScY8h/txNNlPsrRMHo4b5DOkQ6LUl5Pk37QZZnaM5p89qnIY2o3MrO9DbazjpFpp/dR1bnvfE1hoieEB8c+QrYaFoC7nKNwXk/HJLSQhJYIca5nB+7v6932s8EMFCn4sfutnYgDEF8AZXm1IxRnMplAcHCAPG9uuRHOoRNnU3DKIZh5WRUtiB1xkyy2QpCKspVYptxcSQsY9HsC8vWNjinXL7j9lKcf3j22gCsBSOHtWgnV2NQ94QUDtcMTbXPlVZxxnsyr+irqlkmt98agw/uUz+Cy+z1EpSj9sArBaFtnZ25qEx3k3w6tyUl21lLg0IALhoBRPS/W5bmeF461Srkz+WEBCB1wXzBlu4f4+TlN4U2LHh790uXLJf9NH+oE3aCA874Ta+CMaGPLxtk3ucl6pDXtzljLE33IKLBsrWOIIMME430AKg6VC2+yIZC5M4oalLFY5EZhNtcC2bRLDKJwZ53xE8g0NSwU2F90WTp+WKvnOg/0KAIIFAmw5XKI+PFAf3OiEYzJsJnM/q3pebX7LBJY763hB+Nga4MYi4ie4WinxPaoN3na7N+iR0kdpk9Bpa6CLKquVcV0hrxBNbnNUyRYpMtgLSRaYjm//vdGL81R/CB/Fw+/aow8OP6DNXEiIj8JWG6wi0rAwOJurmc3IRLOJyeqEnV0SCl6nNaHUoWC1cnSSq8yZ1IZ27iInxGfh1GmqzM+LzyS4dauomvLUFFXn5lb12ZIkYi4YBtfw9yYkUpqbXxSOwlLDG4tRbmpaAmOdlbwmgfgHoTZYVYRjUfJFgiqt0AYDSwnZj6RlyG4MbFKwRK3mKxToi2DBeE1/JLHN2/fLEz8SoJBA0NO/BIGh/zqkxO9CbbiYQOWKDappTqqeH+9K8W+Kj4ETguuZjL078urMKNmSou0ZBfHiHEp2hHEUMwAgePr6qDwzTaWJ8/IZ78gIeEefSI0qeIcE8LSu4eLBD4QgYTZJXUUJHISlmT+heopWs9kOoL5vtdF2anUBgjWCl3t2hkMqW75dY2KDQeO6XW494PVL3ors/ii5owBwLKA673kj7wqO/Oq620n90IKi/TCPv3svwPGZSrl+Uy0xQOWjx6Snk8mgYB4BwucZHJbGodydZVUUk6OvaiMPavd9ZB3r4tqUkF9AlU+mZZK8Q0PCM7iCjMHRAMAMv5/cg0MCuCY3bl1alGoq5XHTqd0NRKqseDcCfoM3sHWoUPrKhK5Jvf8eeARLBLa0uA+6l2Mvxsr9rPTR4CAgk3KvtIVuSa9yTfpmcO9yp9+Q/VachuefIps/9OpLphjSj8CjfuQdejUQ+WQ9l//F4vhZt+IRSm24e/vFk8g9nNYCQudE3WKhQyDbg8dcRYcakBaO3KZRrBcVimYgMDgYCLWlJKyUGdX4BITT0dPDhbiq0g0gke9utVaqvCQ6riaLQ/VNwYwhYOEq8VZ7a0lqd0+wO+20t+vU7E6Eml2WyW2anKrASncYndbLbYuiGwx8+bxPOktDq1VVOzrz79V4Z3GPFBzzZjlm1VqI9A9ud/W8I/8jDYpOKP6+Vw5BbXwUK/xnWW0YEI+hvfso/eQTEljrynwlz8AA1VMptYWjjLbRqfiS+XOqjVfaXtN6PiuNSDpbYuFwwbR09w9KriZ/F5ucHBbXOPMK5FPnaCdbOLwVQ1W1PF6pKtdWTSJ19+a0X9f0lW453SWJqsZU60z+ajCsfFb6b7a4qatXbbVBjU6irlmDdOHdE9xk73TA2fNVWCYD9wRGPvjA5cb5RwoU7cepz93O1dF/mrj77t25545SdWH1vqOsCtjiqCeTq9QG52lKkS+3U7LT+OVgaQTiyv4LDoI1YJUwYW3nLUr5YTRKRjQu7mIzX8CRE4kh4hvcRIiovaUWW0CcDsCxlnYZKmn6OmDQlFPZPknrBoPdrrH9zA+OWfCmNZzOwXkRbkhCbhttaZZdkMxtECwmkeTwOSQPhLeNKCUzktgMCfGJ2PYPvedK4/sjCQp+zDzyVrfucn4ke+S5N7DnvGNpYPICGzZS7ugRterbEoJbQ3NXuKJqpqoAoYvV0mQ/A+8F4g8qMc3OL+6xBZIpCTN2gqvMBs+RH2QNRFPAwDER8BDOumIgqJpQXTrqsZWs9mUzO8m7KjNM7/T3aDeIlzB7l2rh80x7xyJVx+qSNEW2orj/R6fWlMHCuwya3HnADzA41UZ7OL+WL1Nmeg7nS8nh2fjo6H5n7O3lf7egaD9OfOpWznb5rzjeD5XgT9x1F6Wfekr182yrDQyed2CQVL5oeUVtSHtBVVzrYIeVAEK1a2IQcOuf0K5domq4fyVveS2phVK3Um7v1yTeUMmVwEpvcZddlhLMNZijSEcBuxDZ1vOmXeGm9k7XOklH8tss0bh9gd0Rx2g7oewmq7KBTt3e6ZDrNDDh7iDUhEs1QGFVwltEpM9Pw/wukycYoUBPohUdGroDauPg1YzpjzwousCRCO/Z/TmM3ivzx4872iuJB9vd20euSITKk5PKnLQPHnyRCpoCg2bXkvIKrswtAEj9QjjlNTnXSYWTJ+Q1Vzii6lggIRqFEtRPtrMPB9eJtFR3RdkFup0UrIrKdZWH6nB02jsqiWH7FiSznFSmOKmIp7Rg5Gwq3mbL6SYXzFCujmMCyjsvc3tl5g9cgLQ4flYlLnu4dDMEEzTGauO/Rbf95oevdiz/3YCi/Tj5mQPDmN1fxQC/HQPtMfxeil5/I2UPH1ZZXl1qw8XqhLvc8UB0qQ0uSeCV6e7psQHhlGfmGlzxFr/5Rsng1u1N9bgAiBuLGQALV8Fx2WALKom762tt4qqr/pxNU+1k2GqDxZYaK8TU3iqCm585lEeWYygKAErq8esGeAP7W2owwwMjQzTx8CNUWU5JAjBLCzesKG84SqHe/i/27f/9X3g+Y/jvDhQdcPzVXb0YwA8mbr/9g5W5WScXObfJJQ8617ZKniJIoxTkOBx2vwldajLYw6l1OtEof0dx/DSFdu8WTyi/pvYEaVHq4BPkHRslT2+vaoTK9Rz4Xs4cl0Jj5hdVJVVMqfGwW0M51PdLK2b+vnavC8Npcw6XOJok6onzGpUaVaHGSpkspacmpY5k9LZbRNXNHTosas8h9ad+ackMtfG16NDwf/YPv7/+Y1B0B9qOfrA/f/zEG7DKfhkg2MBAcIX/f/auJbSpNAqfxFzTaB5NldYkmvqI0oqVcdAqzvhY+MKFj51u1J07XStuRHGpbnQzm4EBwcWsBB1lFuOgMmNhFAXFR21SKfb2catNE2+Sm1u/c/7/htZR8FEVbH8IgRtIcu/97ved8///+U5U+VN3dim91vZDnkTIng0EkWNlo2T2UgBpKEuKAss0ecqLuecSb0RaWlTdiN71zceKXVmakcmoOQk9r+ICHJU+kxxOiTmdxO/UhcOqjhPswFPxNliGOw6W8rwdIE/16aRYLuZu/DPu3CLJBM1bs5IeXboiWQyv6XiyMbNh1sVYIrkvnjlS/thr5v/eQdHUdrp38Z4/zoIBMtDkXZCHa7Hly8WagHSLTZ8uLTAiUdn5VQOJjj04s+C1jro5jdrDQq08ssyUBi0KL86ooNGTA7ZEBEuE5jerSSRdKiANcO2idBSUwBbS4LgOvRocwOFhsu0C9YEBhl68oGEAp4i0NxAKUkNmIfV0jG/iwwtt6Z9WU/b6LWU9IYuGAIVIR/jkjFh876cAYlIwxXvYo902+3dANg5ANlIsH9PZhC1eT2XcZJ82LxNK567IyFoMfMY1KjXZqLIZfVaM6dlwrBYjgA3K3ItEUlfVtMWzG6BKCZmJS2Vp/uJIjOMVF9cnmqi/MycZA8tBVdJMhxZt2ShtNKU3yJiR/nmNbN7pu/9AxRGSsoZNyMb+lu2/Xv2c6+OfjKAAe9xu3vTbMTz1abDEVgDgQig915XOv9rFzqd9uFk+DMgNU7MURgfUfALHDHycrRtrrR5YPkqqeJdnPF2vsNhVjeF4yprnXT0AcRU4gyWWmkP5AUua4Yw66hgDiS0ORsy+/wEiyhuFENf0AxDi7seZTDD4ixEKLf1cQExapnjX6H90NIQndztYYjcuMr/H2USN4wnZ7yjuuQG5ZCwPVTylfui8sg9S2QTpmEHWObgs0DMk4f7ryB54foFtDoQlpBmOQzNnN0i8YN5/qFZ9paWmg8whSqn2H+nh75fEIccb3PUgs20TZOMmVfg/GMZlZBvHVu27cmeirsUUKN4xrNxxA6BYZ0QiJ3Bj48gUWllSOJUd1T7gri7eHSsbPr3JRzn3V9VTzz3MdbO54Z5e3SBPvXhyij2zn9/skH2mSjYq8r0LN2+k7r9vUb7XHPff5q5dTbZlOdaTZxcgG2fWHrx+d6LPfwoUHzAK9vkk4o71YIUN5NJOcENCygTHZBuq22BQyg5cbU+oKutB96kmGurqlpRSAYLNUqrU2NZKQ0+zlDdNqf3kdJWZgl0AuQrsreCyXBeL3m7ILMpaT58dbt9/zfpS5zsFik8YI8VzEWQbKwCMdjDFMgCgDUzwQ6VQ8Mt+0ZqPFeShcZZMO9vWS8USFWXWEuG6C7AP9+xgdmCgeLLB7PH48p8jYJ17+Lkb+vXX+kP/5r/G+U2BYiLjkp5TCYBhAUDSDNlIIk1sDdQFVxbMgU4AIoobb0ihjs8/PZpOLRl48Phu5bU9hOODAMYg2CIXS6f8TqnUATb4DyAY/Rbn8UaAAQBByTI4EPri/AAAAABJRU5ErkJggg=="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8408.de534663e052075ba12f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.809Z","timestamp":1785124875809,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8408.de534663e052075ba12f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a338e19-274d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 18 Jun 2026 06:20:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/18/2026 10:28:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 472ad6e83028c7bb6012eb77492c9995\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10061,"size_decoded":2244,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10061), with no line terminators","md5":"1a43de6a5db68cdffb5be29be8c611ea","sha1":"3cd66aa1e4e9e97cd58ad3ba8f6af15ad6c8fde1","sha256":"3f9db9383ecbe7095a61cb68292e437e948824de33abb3b09239c5effac91b84","sha512":"6735b9616b71290aa8fca75a177841e1cac8bb0193205099110ee83ffc75603098ead364960c2f7f86c7848f9fc3a784a56f615ecba08502e87028ebcc46eaa7","ssdeep":"192:zx9ZzZ8+bBPb+8b7XbnVb1pcGbM9zzZxZwG3TKO0/xavh42fmmw0TuUBJuHbRPuF:zxbl4zlvwG3GVxa2ruiUBsHdPunkS","tlshash":"62227526b95302617c2b5a3d0270affc6936cb939ac387dead10e1344fc75c9a297d85","first_seen":"2026-06-18T11:35:39.145966Z","last_seen":"2026-07-27T06:16:23.035161Z","times_seen":2513,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":47,"timings":{"blocked":-1,"dns":27,"connect":1,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63160.2a3a21185fbcc7079dae.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.882Z","timestamp":1785124875882,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/63160.2a3a21185fbcc7079dae.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-6c55\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9939922dcce7280472a8bfc28e202936\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27733,"size_decoded":8684,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"cfb4ec7bf74cebe56275390e404eea0f","sha1":"4252ecbde693198d544ad5f483339e8527626b7d","sha256":"6c3a092a58a55249537be71395c07358a4ff94120d96468eb32669c2405dbe89","sha512":"502ad261df8d3d31d8decf44c403084f175783156886850f601a8404bfedddb9baeedf09aae6727cc4d18f8b3d1d59e554cc357a494b93754a34a68a9f7eafda","ssdeep":"768:OdGn8wXtPTrG8Pz8ZQXllEu7x1zR2tDZTrQGikOjULp/BS53dCo15V1:OrtI","tlshash":"3cc2945631977136aba2c64644350703e33635683a4b699cf73cface6b1ec42913ea3d","first_seen":"2026-07-23T13:54:09.047216Z","last_seen":"2026-07-27T06:14:34.041334Z","times_seen":238,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjMxNjBdLHs2NDI3MTkodCxlLHMpe3MuZChlLHtCYXJCdWlsZGVyQmFzZTooKT0+byxTZXNzaW9uSW5mbzooKT0+YX0pO3ZhciByPXMoNzAwODA5KSxuPXMoMjk1MTQpLGk9cyg1NTk2OSk7Y2xhc3MgYXtjb25zdHJ1Y3Rvcih0LGUscyxyKXt0aGlzLmluaXQodCxlLHMsciksdGhpcy5fc3RhdGU9e3RpbWV6b25lOnQsc3BlYzplLGhvbGlkYXlzOnMsY29ycmVjdGlvbnM6cn19aW5pdCh0LGUscyxuKXt0aGlzLnRpbWV6b25lPSgwLHIuZ2V0X3RpbWV6b25lKSh0KSx0aGlzLnNwZWM9bmV3IGkuU2Vzc2lvbnNTcGVjKHQsZSxzLG4pfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfXN0YXRpYyBmcm9tU3RhdGUodCl7cmV0dXJuIG5ldyBhKHQudGltZXpvbmUsdC5zcGVjLHQuaG9saWRheXMsdC5jb3JyZWN0aW9ucyl9c3RhdGljIHdyYXAodCl7Y29uc3QgZT1uZXcgYSgiRXRjL1VUQyIsIjI0eDciKTtyZXR1cm4gZS5zcGVjPXQsZX1zdGF0aWMgY3JlYXRlKHQsZSxzLHIpe3JldHVybiBuZXcgYSh0LGUscyxyKX19Y2xhc3Mgb3thbGlnblRpbWUodCl7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgZT10aGlzLmluZGV4T2ZCYXIodCk7cmV0dXJuIGU9PT1uLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJih0aGlzLm1vdmVUbyh0KSxlPXRoaXMuaW5kZXhPZkJhcih0KSksZTwwP05hTjp0aGlzLnN0YXJ0T2ZCYXIoZSl9fX0sNzcxNzk1KHQsZSxzKXtpZihzLmQoZSx7Z2V0UGVyaW9kc0JldHdlZW5EYXRlczooKT0+dixuZXdCYXJCdWlsZGVyOigpPT53fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciByPXMoNzAwODA5KTt2YXIgbj1zKDI1NDY3Myk7aWYoIS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSlyPXMoNzAwODA5KTt2YXIgaT1zKDY0MDc0NCksYT1zKDY0MjcxOSksbz1zKDI5NTE0KSxkPXMoMzQxMDM2KTtjbGFzcyBfe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZXh0ZW5kZWRTdGFydE1zPXQsdGhpcy5fZXh0ZW5kZWRFbmRNcz1lfWluZGV4T2ZCYXIodCxlKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE1zPnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046ZS5zZXNzaW9uU3RhcnRNcz50PzA6ZS5zZXNzaW9uRW5kTXM8PXQ/dGhpcy5fZXh0ZW5kZWRFbmRNczw9dD9vLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT046ZS5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpOmUuZ2V0SW5kZXhPZkJhcihlLmJhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQsZSl7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXM7Y29uc3Qgcz1lLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIGUuc2Vzc2lvbkVuZE1zPD1zP3RoaXMuX2V4dGVuZGVkRW5kTXM6c31wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe3JldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KX19Y2xhc3MgZntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9pbnRlcnZhbHM9dH1pbmRleE9mQmFyKHQsZSl7aWYodGhpcy5fZmlyc3RJbnRlcnZhbCgpLmV4dGVuZGVkU3RhcnRNcz50KXJldHVybiBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjtjb25zdCBzPXRoaXMuX25lYXJlc3RJbnRlcnZhbCh0KTtyZXR1cm4gbnVsbD09PXM/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOnMuZXh0ZW5kZWRTdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6cy5zdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5zdGFydE1zKTpzLmVuZE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5lbmRNcy0xKX1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9ZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpLHI9dGhpcy5fbmVhcmVzdEludGVydmFsKHMpO3JldHVybiBudWxsPT09cj90aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zOnIuZW5kTXM8PXM/ci5leHRlbmRlZEVuZE1zOnN9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zfXN0YXJ0T2ZCYXIodCxlKXtyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCl9X25lYXJlc3RJbnRlcnZhbCh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5leHRlbmRlZEVuZE1zPnQpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2ZpcnN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzWzBdfV9sYXN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzW3RoaXMuX2ludGVydmFscy5sZW5ndGgtMV19fWNsYXNzIFN7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKGUuc2Vzc2lvblN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHQpK3MuaW5kZXhPZmZzZXR9ZW5kT2ZCYXIodCxlKXtpZih0PT09by5TZXNzaW9uU3RhZ2UuTEFTVF9TRVNTSU9OX0VORClyZXR1cm4gZS5zZXNzaW9uRW5kTXM7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj1lLmdldEVuZE9mQmFyKHMuYmFyc1N0YXJ0TXMsdC1zLmluZGV4T2Zmc2V0KQo7cmV0dXJuIHI+cy5lbmRNcz9yPmUuc2Vzc2lvbkVuZE1zP2Uuc2Vzc2lvbkVuZE1zOnMubGFzdEJhckVuZE1zOnJ9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0LnNlc3Npb25FbmRNc31zdGFydE9mQmFyKHQsZSl7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KTtjb25zdCByPXQtcy5pbmRleE9mZnNldDtyZXR1cm4gMD09PXI/cy5maXJzdEJhclN0YXJ0TXM6ZS5nZXRTdGFydE9mQmFyKHMuYmFyc1N0YXJ0TXMscil9X25lYXJlc3RJbnRlcnZhbEJ5VGltZSh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5lbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9fWNsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKHRoaXMuX2ZpcnN0SW50ZXJ2YWwoKS5leHRlbmRlZFN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLmV4dGVuZGVkU3RhcnRNcz50fHxzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OnMuZW5kTXM+dD9lLmdldEluZGV4T2ZCYXIocy5iYXJzU3RhcnRNcyx0KStzLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHMuZW5kTXMtMSkrcy5pbmRleE9mZnNldH1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpO2NvbnN0IHI9ZS5nZXRFbmRPZkJhcihzLmJhcnNTdGFydE1zLHQtcy5pbmRleE9mZnNldCk7cmV0dXJuIHI9PT1zLmVuZE1zfHxyPmUuc2Vzc2lvbkVuZE1zP3MuZXh0ZW5kZWRFbmRNczpyPnMuZW5kTXM/cy5sYXN0QmFyRW5kTXM6cn1wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2xhc3RJbnRlcnZhbCgpLmV4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj10LXMuaW5kZXhPZmZzZXQ7cmV0dXJuIDA9PT1yP3MuZmlyc3RCYXJTdGFydE1zOmUuZ2V0U3RhcnRPZkJhcihzLmJhcnNTdGFydE1zLHIpfV9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faW50ZXJ2YWxzKWlmKGUuZXh0ZW5kZWRFbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9X2xhc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbdGhpcy5faW50ZXJ2YWxzLmxlbmd0aC0xXX1fZmlyc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbMF19fWNsYXNzIGggZXh0ZW5kcyBhLkJhckJ1aWxkZXJCYXNle2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uU3RhcnRNcz0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9zZXNzaW9uRW5kTXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyc1N0YXJ0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fdHJhZGluZ0RheU1pZG5pZ2h0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sdGhpcy5fcGVyaW9kU2VjPXQsdGhpcy5fc2Vzc2lvbj1lfWdldCBzZXNzaW9uU3RhcnRNcygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3RhcnRNc31nZXQgc2Vzc2lvbkVuZE1zKCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNc31nZXQgYmFyc1N0YXJ0TXMoKXtyZXR1cm4gdGhpcy5fYmFyc1N0YXJ0TXN9aXNJblNlc3Npb25CcmVhayh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9zZXNzaW9uQnJlYWtzKXtpZih0PGUuYnJlYWtTdGFydE1zKXJldHVybiExO2lmKHQ8ZS5icmVha0VuZE1zKXJldHVybiEwfXJldHVybiExfWFsaWduVGltZUlmUG9zc2libGUodCl7Y29uc3QgZT10aGlzLmFsaWduVGltZSh0KTtyZXR1cm4gaXNOYU4oZSk/dDplfWluZGV4T2ZCYXIodCl7cmV0dXJuIG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yP3RoaXMuX2JhckNhbGN1bGF0b3IuaW5kZXhPZkJhcih0LHRoaXMpOnQ8dGhpcy5fc2Vzc2lvblN0YXJ0TXM/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fc2Vzc2lvbkVuZE1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjp0aGlzLmdldEluZGV4T2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCl9c3RhcnRPZkJhcih0KXtzd2l0Y2godCl7Y2FzZSBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjpyZXR1cm4gdGhpcy5fZ2V0UHJldlNlc3Npb24oKTtjYXNlIG8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodGhpcyk6dGhpcy5fc2Vzc2lvbkVuZE1zO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OOnQ9dGhpcy5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpO2JyZWFrO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVDpjYXNlIDA6cmV0dXJuIHRoaXMuX3Nlc3Npb25TdGFydE1zfQpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5zdGFydE9mQmFyKHQsdGhpcyk6dGhpcy5nZXRTdGFydE9mQmFyKHRoaXMuX2JhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQpe2lmKG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yKXJldHVybiB0aGlzLl9iYXJDYWxjdWxhdG9yLmVuZE9mQmFyKHQsdGhpcyk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNcztpZih0PDApdGhyb3cgbmV3IEVycm9yKCJJbmRleCBjYW5ub3QgYmUgbmVnYXRpdmUiKTtjb25zdCBlPXRoaXMuZ2V0RW5kT2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIE1hdGgubWluKGUsdGhpcy5fc2Vzc2lvbkVuZE1zKX1pc0xhc3RCYXIodCxlKXtjb25zdCBzPXRoaXMuZW5kT2ZCYXIodCk7cmV0dXJuIGU+PSh0aGlzLl9wZXJpb2RTZWM+PTYwP3MtNmU0OnMtMWUzKX1tb3ZlVG8odCl7Y29uc3QgZT10aGlzLl9zZXNzaW9uLnRpbWV6b25lLHM9KDAsci51dGNfdG9fY2FsKShlLHQpLG49dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9FbnRyeVN0YXJ0RXh0ZW5kZWQocykuZW50cnk7aWYodGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sKDAsZC5pc1VuaWZpZWRFbnRyeSkobikpe2NvbnN0IHQ9bi5zdGFydE9mZnNldCgpLHI9bi5nZXRVbmlmaWVkRW50cmllcygpWzBdLmdldEVudHJ5KCk7dGhpcy5fc2V0VXBCYXNlRnJvbUVudHJ5V2l0aE1pZG5pZ2h0KHIscyx0LGUpLHRoaXMuX3NldFVwRnJvbVVuaWZpZWQobixzLGUpfWVsc2UgaWYoKDAsZC5pc1VuaWZpZWRTaGlmdGVkRW50cnkpKG4pKXtjb25zdCB0PW4uc3RhcnRPZmZzZXQoKSxyPW4uZ2V0VW5pZmllZEVudHJpZXMoKVswXS5nZXRFbnRyeSgpO3RoaXMuX3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodChyLHMsdCxlKSx0aGlzLl9zZXRVcEZyb21VbmlmaWVkU2hpZnRlZChuLHMsZSl9ZWxzZSB0aGlzLl9zZXRVcEJhc2VGcm9tRW50cnkobixzLGUpLCgwLGQuaXNFeHRlbmRlZEVudHJ5KShuKSYmdGhpcy5fc2V0VXBGcm9tRXh0ZW5kZWQobil9aW5kZXhPZkxhc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25FbmRNcy0xKX1pbmRleE9mRmlyc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25TdGFydE1zKX1tb3ZlTmV4dCgpe3RoaXMubW92ZVRvKHRoaXMuX3Nlc3Npb25FbmRNcyl9Z2V0SW5kZXhPZkJhcih0LGUpe3JldHVybigwLGkudG9JbnQpKCgwLHIudGltZV9zZWNvbmRzX2RpZmYpKGUsdCkvdGhpcy5fcGVyaW9kU2VjKX1nZXRTdGFydE9mQmFyKHQsZSl7cmV0dXJuIHQrKDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyplKX1nZXRFbmRPZkJhcih0LGUpe3JldHVybiB0KygwLHIudGltZV9zZWNvbmRzKSh0aGlzLl9wZXJpb2RTZWMqKGUrMSkpfXN0YXRpYyBtaW51dGVzKHQsZSl7cmV0dXJuIG5ldyBoKDYwKnQsZSl9c3RhdGljIHNlY29uZHModCxlKXtyZXR1cm4gbmV3IGgodCxlKX1fZ2V0UHJldlNlc3Npb24oKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uLnRpbWV6b25lLHRoaXMuX3Nlc3Npb25TdGFydE1zLTEpLGU9dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb24udGltZXpvbmUsZSl9X3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodCh0LGUscyxuKXtsZXQgaT1udWxsLGE9dDtmb3IoOzspaWYoKDAsZC5pc09mZnNldEVudHJ5KShhKSlpPWEsYT1hLmdldEVudHJ5KCk7ZWxzZXtpZighKDAsZC5pc0V4dGVuZGVkRW50cnkpKGEpKWJyZWFrO2E9YS5nZXRFbnRyeSgpfWNvbnN0IG89YSxfPSgwLHIuY2FsX3RvX3V0YykobixlKTt0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcz1fLTYwKnMqMWUzLHRoaXMuX3Nlc3Npb25TdGFydE1zPXRoaXMuX29mZnNldFRvTXMoby5zdGFydE9mZnNldCgpKTtjb25zdCBmPSgwLHIudXRjX3RvX2NhbCkobix0aGlzLl9zZXNzaW9uU3RhcnRNcyk7KDAsci5hZGRfbWludXRlcykoZixvLmxlbmd0aCgpKSx0aGlzLl9zZXNzaW9uRW5kTXM9KDAsci5jYWxfdG9fdXRjKShuLGYpLHRoaXMuX2JhcnNTdGFydE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLG51bGwhPT1pJiZ0aGlzLl9zZXRVcEZyb21PZmZzZXQoaSl9X3NldFVwQmFzZUZyb21FbnRyeSh0LGUscyl7bGV0IG49bnVsbCxpPXQ7Zm9yKDs7KWlmKCgwLGQuaXNPZmZzZXRFbnRyeSkoaSkpbj1pLGk9aS5nZXRFbnRyeSgpO2Vsc2V7aWYoISgwLGQuaXNFeHRlbmRlZEVudHJ5KShpKSlicmVhaztpPWkuZ2V0RW50cnkoKX1jb25zdCBhPWk7dGhpcy5fc2Vzc2lvblN0YXJ0TXM9KDAsci5jYWxfdG9fdXRjKShzLGUpLHRoaXMuX3RyYWRpbmdEYXlNaWRuaWdodE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLTYwKmEuc3RhcnRPZmZzZXQoKSoxZTM7Y29uc3Qgbz0oMCxyLnV0Y190b19jYWwpKHMsdGhpcy5fc2Vzc2lvblN0YXJ0TXMpOygwLHIuYWRkX21pbnV0ZXMpKG8sYS5sZW5ndGgoKSksdGhpcy5fc2Vzc2lvbkVuZE1zPSgwLHIuY2FsX3RvX3V0YykocyxvKSx0aGlzLl9iYXJzU3RhcnRNcz10aGlzLl9zZXNzaW9uU3RhcnRNcyxudWxsIT09biYmdGhpcy5fc2V0VXBGcm9tT2Zmc2V0KG4pfV9vZmZzZXRUb01zKHQpe3JldHVybiB0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcys2MCp0KjFlM31fc2V0VXBGcm9tT2Zmc2V0KHQpe2NvbnN0IGU9NjAqdC5zdGFydE9mZnNldCgpLHM9NjAqdC5iYXJzT2Zmc2V0KCk7dGhpcy5fYmFyc1N0YXJ0TXM9dGhpcy5fc2Vzc2lvblN0YXJ0TXMtMWUzKihlLXMpfV9zZXRVcEZyb21FeHRlbmRlZCh0KXt0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBfKHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZEVuZE9mZnNldCgpKSl9X3NldFVwRnJvbVVuaWZpZWQodCxlLHMpewpjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGYodGhpcy5fdG9FeHRlbmRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b0V4dGVuZGVkU2Vzc2lvbkJyZWFrcyhyKSk6dGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3Mocil9X3NldFVwRnJvbVVuaWZpZWRTaGlmdGVkKHQsZSxzKXtjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGwodGhpcy5fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHMocikpLHRoaXMuX3Nlc3Npb25CcmVha3M9dGhpcy5fdG9FeHRlbmRlZFNlc3Npb25CcmVha3MocikpOih0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBTKHRoaXMuX3RvU2hpZnRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3MocikpfV90b1Nlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5lbmRPZmZzZXQoKSksYnJlYWtFbmRNczp0aGlzLl9vZmZzZXRUb01zKG4uc3RhcnRPZmZzZXQoKSl9KX1yZXR1cm4gZX1fdG9FeHRlbmRlZFNlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5leHRlbmRlZEVuZE9mZnNldCgpKSxicmVha0VuZE1zOnRoaXMuX29mZnNldFRvTXMobi5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgcyBvZiB0KWUucHVzaCh7c3RhcnRNczp0aGlzLl9vZmZzZXRUb01zKHMuc3RhcnRPZmZzZXQoKSksZW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmVuZE9mZnNldCgpKSxleHRlbmRlZFN0YXJ0TXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmV4dGVuZGVkU3RhcnRPZmZzZXQoKSksZXh0ZW5kZWRFbmRNczp0aGlzLl9vZmZzZXRUb01zKHMuZXh0ZW5kZWRFbmRPZmZzZXQoKSl9KTtyZXR1cm4gZX1fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXSxzPXRoaXMuX3RvU2hpZnRlZEludGVydmFscyh0KTtmb3IobGV0IHI9MDtyPHMubGVuZ3RoO3IrKyl7Y29uc3Qgbj1zW3JdLGk9dFtyXTtlLnB1c2goey4uLm4sZXh0ZW5kZWRTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoaS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLGV4dGVuZGVkRW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhpLmV4dGVuZGVkRW5kT2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvU2hpZnRlZEludGVydmFscyh0KXtsZXQgZSxzLG4sYSxvPXRoaXMuX2JhcnNTdGFydE1zLGQ9MCxfPTAsZj0wO2NvbnN0IFM9KDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyk7bGV0IGw9ITEsaD0wLHU9MDtjb25zdCBjPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtjb25zdCBnPXRbcl07ZT10aGlzLl9vZmZzZXRUb01zKGcuc3RhcnRPZmZzZXQoKSkscz10aGlzLl9vZmZzZXRUb01zKGcuZW5kT2Zmc2V0KCkpLHI+MCYmKG89ZS1mLGQrPV8pO2NvbnN0IE89cy1vO189KDAsaS50b0ludCkoTy9TKSxmPU8lUyxuPWw/aDplLGw9Zj4wLGw/KHU8cyYmKGg9cy1mLHU9dGhpcy5fY2FsY3VsYXRlVGhyb3VnaEJhckVuZChTLWYscisxLHQpKSxhPXUpOmE9cyxjLnB1c2goe3N0YXJ0TXM6ZSxlbmRNczpzLGJhcnNTdGFydE1zOm8sZmlyc3RCYXJTdGFydE1zOm4sbGFzdEJhckVuZE1zOmEsaW5kZXhPZmZzZXQ6ZH0pfXJldHVybiBjfV9jYWxjdWxhdGVUaHJvdWdoQmFyRW5kKHQsZSxzKXtmb3IobGV0IHI9ZTtyPHMubGVuZ3RoO3IrKyl7Y29uc3QgZT1zW3JdLG49NjAqZS5sZW5ndGgoKSoxZTM7aWYoISh0Pm4pKXJldHVybiB0aGlzLl9vZmZzZXRUb01zKGUuc3RhcnRPZmZzZXQoKSkrdDt0LT1ufXJldHVybiB0aGlzLl9zZXNzaW9uRW5kTXN9fXZhciB1PXMoMTM4NjM4KSxjPXMoMzA4MjEpO2NvbnN0IGc9KDAsci5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIik7ZnVuY3Rpb24gTyh0LGUscyl7Y29uc3Qgbj0oMCxyLmNsb25lKShlKSxpPXQuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMobiwxKTtpPjEmJigwLHIuYWRkX2RhdGUpKG4saS0xKTtjb25zdCBhPXQubGVmdEJvcmRlck9mRGFpbHlCYXIobik7aWYobnVsbD09PWEpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2FsY3VsYXRlIGxlZnQgYm9yZGVyIG9mIGRhaWx5IGJhciIpO3JldHVybigwLHIuY2FsX3RvX3V0YykocyxhLCEwKX1jbGFzcyBFe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5mcm9tPXQsdGhpcy50bz1lfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5mcm9tLnRvU3RyaW5nKCl9IC0gJHt0aGlzLnRvLnRvU3RyaW5nKCl9YH19Y2xhc3MgQiBleHRlbmRzIGEuQmFyQnVpbGRlckJhc2V7Y29uc3RydWN0b3IodCxlLHMscixuPSExKXtzdXBlcigpLHRoaXMuX3BlcmlvZFN0YXJ0PS1OdW1iZXIuTUFYX1ZBTFVFLHRoaXMuX3BlcmlvZEVuZD0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fcGVyaW9kU3RhcnREYXk9bmV3IGMuQnVzaW5lc3NEYXkoMCwwLDApLHRoaXMuX3BlcmlvZEVuZERheT1uZXcgYy5CdXNpbmVzc0RheSgwLDAsMCksdGhpcy5fcGVyaW9kPXMsdGhpcy5fc2Vzc2lvblRndD10LHRoaXMuX2J1aWxkZXI9cix0aGlzLl91c2VCdXNpbmVzc0RheXM9bixuPygoMCwKdS5hc3NlcnQpKG51bGw9PT1lLCJ1c2VCdXNpbmVzc0RheXMgYW5kIHNlc3Npb25TcmMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHMiKSx0aGlzLl9zZXNzaW9uU3JjPW5ldyBhLlNlc3Npb25JbmZvKCJFdGMvVVRDIiwiMjR4NyIpKTp0aGlzLl9zZXNzaW9uU3JjPWV8fHR9YnVpbGRlcigpe3JldHVybiB0aGlzLl9idWlsZGVyfWFsaWduVGltZUlmUG9zc2libGUodCl7cmV0dXJuIHRoaXMudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KHQpfXRyYWRpbmdEYXlUb1Nlc3Npb25TdGFydCh0KXtyZXR1cm4gdGhpcy5tb3ZlVG8odCksdGhpcy5zdGFydE9mQmFyKDApfWluZGV4T2ZCYXIodCl7aWYodGhpcy5fdXNlQnVzaW5lc3NEYXlzKXtjb25zdCBlPWMuQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKCgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uU3JjLnRpbWV6b25lLHQpKTtyZXR1cm4gZS5iZWZvcmUodGhpcy5fcGVyaW9kU3RhcnREYXkpP28uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OOnRoaXMuX3BlcmlvZEVuZERheS5iZWZvcmUoZSk/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOjB9cmV0dXJuIHQ8dGhpcy5fcGVyaW9kU3RhcnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fcGVyaW9kRW5kP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjowfXN0YXJ0T2ZCYXIodCl7aWYodD09PW8uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHRoaXMuX3BlcmlvZFN0YXJ0LTEpLGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZSktMX1yZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTnx8dD4wP3RoaXMuX3BlcmlvZEVuZDp0PT09by5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OP3RoaXMuX3BlcmlvZExhc3RCYXJTdGFydDp0aGlzLl9wZXJpb2RTdGFydH1tb3ZlVG8odCl7bGV0IGU9KDAsci5nZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXMpKHRoaXMuX3Nlc3Npb25TcmMudGltZXpvbmUsdCk7ZT10aGlzLl9zZXNzaW9uU3JjLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkoZSk7Y29uc3Qgcz0oMCxyLmdldF95ZWFyKShlKSxuPXRoaXMuX2luZGV4T2ZQZXJpb2RJblllYXIoZSksaT1uK3RoaXMuX3BlcmlvZCxhPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYyxvPXRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZD10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKTt0aGlzLl9wZXJpb2RTdGFydD1PKGEsZCxvKTtjb25zdCBfPWEuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZCwxKTtfPjEmJigwLHIuYWRkX2RhdGUpKGQsXy0xKSx0aGlzLl9wZXJpb2RTdGFydERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihkKTtsZXQgZj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QoaSxzKTt0aGlzLl9wZXJpb2RFbmQ9TyhhLGYsbyk7Y29uc3QgUz0oMCxyLmNsb25lKShmKTtmb3IoKDAsci5hZGRfZGF0ZSkoUywtMSk7YS5pc0NhbFdlZWtFbmQoUyk7KSgwLHIuYWRkX2RhdGUpKFMsLTEpO3RoaXMuX3BlcmlvZEVuZERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihTKSwoMCxyLmFkZF9kYXRlKShmLC0xKSxmPWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcz0oMCxyLmNsb25lKShlKTtmb3IoO3QuaXNDYWxXZWVrRW5kKHMpOykoMCxyLmFkZF9kYXRlKShzLC0xKTtyZXR1cm4gc30odGhpcy5fc2Vzc2lvblRndC5zcGVjLGYpLHRoaXMuX3BlcmlvZExhc3RCYXJTdGFydD1PKGEsZixvKSwodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PHRoaXMuX3BlcmlvZFN0YXJ0fHx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9PT10aGlzLl9wZXJpb2RFbmQpJiYodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PXRoaXMuX3BlcmlvZFN0YXJ0KX1lbmRPZkJhcih0KXtyZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQ/dGhpcy5fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKG8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpLmdldFRpbWUoKSsxZTM6KCgwLHUuYXNzZXJ0KSgwPT09dCksdGhpcy5fcGVyaW9kRW5kKX1pc0xhc3RCYXIodCxlKXtpZigwIT09dCl0aHJvdyBuZXcgRXJyb3IoImluZGV4IHNob3VsZCBiZSAwIik7cmV0dXJuIGU+PXRoaXMuX3BlcmlvZExhc3RCYXJTdGFydH1tb3ZlQmFyc0ZvcndhcmQodCxlKXsoMCx1LmFzc2VydCkoZT4wKTtjb25zdCBzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHQpO2xldCBuPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYy5jb3JyZWN0VHJhZGluZ0RheShzKTtmb3IobGV0IHQ9MDt0PGU7dCsrKXtjb25zdCB0PXRoaXMuX3BlcmlvZCt0aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2Qobik7bj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QodCwoMCxyLmdldF95ZWFyKShuKSksbj10aGlzLl9zZXNzaW9uVGd0LnNwZWMuY29ycmVjdFRyYWRpbmdEYXkobil9cmV0dXJuIHRoaXMubW92ZVRvKCgwLHIuY2FsX3RvX3V0YykodGhpcy5fc2Vzc2lvblRndC50aW1lem9uZSxuKSksdGhpcy5zdGFydE9mQmFyKDApfWN1cnJlbnRSYW5nZSgpe3JldHVybiBuZXcgRSh0aGlzLl9wZXJpb2RTdGFydERheSx0aGlzLl9wZXJpb2RFbmREYXkpfWluZGV4T2ZCYXJJblllYXIodCl7Y29uc3QgZT0oMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykodGhpcy5fc2Vzc2lvblNyYy50aW1lem9uZSx0KSxzPSgwLHIuZ2V0X3llYXIpKGUpLG49dGhpcy5fYnVpbGRlci5pbmRleE9mUGVyaW9kKGUpLGE9dGhpcy5fc2Vzc2lvblRndC50aW1lem9uZTtsZXQgbz10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSk7cmV0dXJuIG89KDAsCnIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShnLGQpLHM8KDAsci5nZXRfeWVhcikobyk/KG89dGhpcy5fYnVpbGRlci5zdGFydE9mUGVyaW9kKG4tMSxzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSkse2luZGV4OihuLTEpL3RoaXMuX3BlcmlvZCx0aW1lOmR9KTp7aW5kZXg6KDAsaS50b0ludCkobi90aGlzLl9wZXJpb2QpLHRpbWU6ZH19c2Vzc2lvblNyYygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3JjfXNlc3Npb25UZ3QoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblRndH1zdGF0aWMgZGF5cyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBwKGUpLCExKX1zdGF0aWMgd2Vla3ModCxlLHMpe3JldHVybiBuZXcgQihlLHMsdCxuZXcgTihlKSwhMSl9c3RhdGljIG1vbnRocyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBiKGUpLCExKX1zdGF0aWMgZGF5c0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IHAoZSksITApfXN0YXRpYyB3ZWVrc0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IE4oZSksITApfXN0YXRpYyBtb250aHNGcm9tQnVzaW5lc3NEYXlzKHQsZSl7cmV0dXJuIG5ldyBCKGUsbnVsbCx0LG5ldyBiKGUpLCEwKX1fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKHQpeygwLHUuYXNzZXJ0KSh0PT09by5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVHx8dD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpO2NvbnN0IGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLnRpbWV6b25lT2JqKCk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkZJUlNUX1NFU1NJT05fU1RBUlQpe2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS5mcm9tLnRvQ2FsZW5kYXIoZSk7cmV0dXJuKDAsdS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXNzaW9uVGd0LnNwZWMuYm9yZGVyc09mRGFpbHlCYXIodCkpLmZyb219e2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS50by50b0NhbGVuZGFyKGUpO3JldHVybigwLHUuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvblRndC5zcGVjLmJvcmRlcnNPZkRhaWx5QmFyKHQpKS50b319X2luZGV4T2ZQZXJpb2RJblllYXIodCl7Y29uc3QgZT10aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2QodCk7bGV0IHM9KDAsaS50b0ludCkoZS90aGlzLl9wZXJpb2QpKnRoaXMuX3BlcmlvZDtyZXR1cm4tMT09PWUmJihzPS10aGlzLl9wZXJpb2QpLHN9fWZ1bmN0aW9uIEkodCxlKXtjb25zdCBzPXQuZ2V0V2Vla0luZGV4KGUpLG49KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLXQuZ2V0RW50cmllc0ZvcldlZWsocykuZmlyc3REYXlPZldlZWsoKTtyZXR1cm4gbjwwP24rNzpufWZ1bmN0aW9uIHgodCxlKXtjb25zdCBzPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0xO2xldCBuPUkodCxlKS1zJTc7cmV0dXJuIDA9PT1uPygwLGkudG9JbnQpKHMvNyk6KG4+PTAmJihuLT03KSwoMCxpLnRvSW50KSgobitzKS83KSl9Y2xhc3MgeXtpbmRleE9mUGVyaW9kKHQpe3JldHVybigwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KS0xfXN0YXJ0T2ZQZXJpb2QodCxlKXtjb25zdCBzPSgwLHIuZGF5c19wZXJfeWVhcikoZSk7cmV0dXJuKDAsci5nZXRfY2FsKShnLGUsci5KQU5VQVJZLDErTWF0aC5taW4odCxzKSl9fWNsYXNzIE0gZXh0ZW5kcyB5e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fc2Vzc2lvbnNTcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtyZXR1cm4gc3VwZXIuaW5kZXhPZlBlcmlvZCh0KS1mdW5jdGlvbih0LGUpe2NvbnN0IHM9eCh0LGUpLG49KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKGUpLHIuSkFOVUFSWSwxKTsoMCxyLmFkZF9kYXRlKShuLDcqcyk7Y29uc3QgaT1zKnQud2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKSt0LmhvbGlkYXlzRnJvbVllYXJTdGFydChuKSxhPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0oMCxyLmdldF9kYXlfb2ZfeWVhcikobik7cmV0dXJuIGkrYS10LmNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKG4sYSl9KHRoaXMuX3Nlc3Npb25zU3BlYyx0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz03LXRoaXMuX3Nlc3Npb25zU3BlYy53ZWVrRW5kc0NvdW50Rm9yU2luZ2xlU2Vzc2lvbigpLG49TWF0aC5tYXgoMCxNYXRoLnRydW5jKHQvcyktMSksaT0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksYT0oMCxyLmRheXNfcGVyX3llYXIpKGUpO2lmKCgwLHIuYWRkX2RhdGUpKGksNypuKSwodC09cypuLXRoaXMuX3Nlc3Npb25zU3BlYy5ob2xpZGF5c0Zyb21ZZWFyU3RhcnQoaSkpPjApe2NvbnN0IGU9dGhpcy5fc2Vzc2lvbnNTcGVjLmJ1c2luZXNzRGF5c1RvQ2FsZW5kYXJEYXlzKGksdCk7KDAsci5hZGRfZGF0ZSkoaSxlKX1sZXQgbz0oMCxyLmdldF9kYXlfb2ZfeWVhcikoaSktMTtyZXR1cm4gZTwoMCxyLmdldF95ZWFyKShpKSYmKG8rPWEpLHN1cGVyLnN0YXJ0T2ZQZXJpb2QobyxlKX19Y2xhc3MgbSBleHRlbmRzIHl7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uc1NwZWM9dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiBzdXBlci5pbmRleE9mUGVyaW9kKHQpLXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSk7KDAsci5hZGRfZGF0ZSkocyx0KTtjb25zdCBuPXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydChzKTsoMCxyLmFkZF9kYXRlKShzLG4pO2NvbnN0IGk9dGhpcy5fc2Vzc2lvbnNTcGVjLmRheXNPZmZGcm9tWWVhclN0YXJ0KHMpLW47aWYoaT4wKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25zU3BlYy5idXNpbmVzc0RheXNUb0NhbGVuZGFyRGF5cyhzLGkpOygwLHIuYWRkX2RhdGUpKHMsdCl9bGV0IGE9KDAsci5nZXRfZGF5X29mX3llYXIpKHMpLTE7aWYoZTwoMCxyLmdldF95ZWFyKShzKSl7YSs9KDAsci5kYXlzX3Blcl95ZWFyKShlKX1yZXR1cm4gc3VwZXIuc3RhcnRPZlBlcmlvZChhLGUpfX1jbGFzcyBwe2NvbnN0cnVjdG9yKHQpewp0aGlzLl9idWlsZGVyPW51bGwsdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5pbmRleE9mUGVyaW9kKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtyZXR1cm4gdGhpcy5fZ2V0QnVpbGRlcigpLnN0YXJ0T2ZQZXJpb2QodCxlKX1fZ2V0QnVpbGRlcigpe3JldHVybiBudWxsIT09dGhpcy5fYnVpbGRlciYmdGhpcy5faW5pdGlhbGl6ZWR8fCh0aGlzLl9zZXNzaW9uLnNwZWMuaGFzV2Vla0VuZHMoKT90aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgbSh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBNKHRoaXMuX3Nlc3Npb24uc3BlYyk6dGhpcy5fYnVpbGRlcj10aGlzLl9zZXNzaW9uLnNwZWMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCk/bmV3IG0odGhpcy5fc2Vzc2lvbi5zcGVjKTpuZXcgeSx0aGlzLl9pbml0aWFsaXplZD0hMCksdGhpcy5fYnVpbGRlcn19Y2xhc3MgVHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9zcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtsZXQgZT14KHRoaXMuX3NwZWMsdCk7cmV0dXJuIDA9PT1lJiZ0LmdldFRpbWUoKTx0aGlzLnN0YXJ0T2ZQZXJpb2QoMCwoMCxyLmdldF95ZWFyKSh0KSkuZ2V0VGltZSgpJiYoZT0tMSksZX1zdGFydE9mUGVyaW9kKHQsZSl7aWYodDwwKXtlLS07Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkRFQ0VNQkVSLDMxLDIzLDU5LDU5KSxuPXRoaXMuaW5kZXhPZlBlcmlvZChzKSxpPS0xKnQsYT1NYXRoLnRydW5jKG4vaSkqaTtyZXR1cm4gdGhpcy5zdGFydE9mUGVyaW9kKGEsZSl9Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksbj1JKHRoaXMuX3NwZWMscyksaT0wPT09bj83KnQ6NyoodCsxKS1uO3JldHVybiBpPigwLHIuZGF5c19wZXJfeWVhcikoKDAsci5nZXRfeWVhcikocykpP3RoaXMuc3RhcnRPZlBlcmlvZCgwLGUrMSk6KCgwLHIuYWRkX2RhdGUpKHMsaSkscyl9fWNsYXNzIGt7Y29uc3RydWN0b3IodCl7dGhpcy5feWVhclN0YXJ0RGF0YUhhc2g9bmV3IE1hcCx0aGlzLl9zcGVjPXR9c3RhcnRPZlBlcmlvZCh0LGUpe2lmKHQ8MCl7ZS0tO2NvbnN0IHM9KDAsci5nZXRfY2FsKShnLGUsci5ERUNFTUJFUiwzMSwyMyw1OSw1OSksbj10aGlzLmluZGV4T2ZQZXJpb2QocyksaT0tMSp0LGE9TWF0aC50cnVuYyhuL2kpKmk7cmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZChhLGUpfWNvbnN0IHM9dGhpcy5fc3BlYy5nZXRXZWVrSW5kaWNlc1dpdGhBZGRpdGlvbmFsV2Vla0JhcnMoZSksbj10aGlzLl9nZXRTdGFydE9mWWVhckRhdGEoZSxzKSxpPXRoaXMuX21vdmVUb1dlZWtJbmRleEFjY291bnRpbmdBZGRpdGlvbmFsKG4uZmlyc3RXZWVrSW5kZXgscyx0KSxhPTcqKGktbi5maXJzdFdlZWtJbmRleCk7bGV0IG89KDAsci5jbG9uZSkoKDAsdS5lbnN1cmVOb3ROdWxsKShuLnN0YXJ0T2ZGaXJzdEJhckluWWVhcikpO2lmKCgwLHIuYWRkX2RhdGUpKG8sYSksKDAsci5nZXRfeWVhcikobyk+ZSl7Y29uc3QgdD1lKzEscz10aGlzLl9zcGVjLmdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyh0KSxyPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSh0LHMpO2lmKG8uZ2V0VGltZSgpPj0oMCx1LmVuc3VyZU5vdE51bGwpKHIuc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZCgwLHQpfXJldHVybiBvPXRoaXMuX2NhbGN1bGF0ZUJhcldlZWtTdGFydChvLHMsaSx0KSxvfWluZGV4T2ZQZXJpb2QodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldFdlZWtJbmRleCh0KSxzPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGljZXNXaXRoQWRkaXRpb25hbFdlZWtCYXJzKCgwLHIuZ2V0X3llYXIpKHQpKSxuPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSgoMCxyLmdldF95ZWFyKSh0KSxzKTtpZih0LmdldFRpbWUoKTwoMCx1LmVuc3VyZU5vdE51bGwpKG4uc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuLTE7aWYoMD09PWUmJmsuaXNPbkZpcnN0Q2FsZW5kYXJXZWVrT2ZZZWFyKHQpfHwwIT09ZSYmZT09PW4uZmlyc3RXZWVrSW5kZXgpcmV0dXJuIHRoaXMuX2NhbGN1bGF0ZUxhc3RXZWVrKHQsZSxzLG4uZmlyc3RXZWVrYmFyc0NvdW50KS0xO2xldCBpPXRoaXMuX251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KTtyZXR1cm4gaSs9bi5maXJzdFdlZWtiYXJzQ291bnQtbi5mdWxsV2Vla3NBZGp1c3RtZW50LGkrPXRoaXMuX2NhbGN1bGF0ZVdlZWtzV2l0aEV4dHJhQmFyKGUscyxuLmZpcnN0V2Vla0luZGV4KSxpKz10aGlzLl9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxrLmZ1bGxXZWVrT2ZBZGRpdGlvbmFsQmFyc0NvdW50KS0xLGl9c3RhdGljIGlzT25GaXJzdENhbGVuZGFyV2Vla09mWWVhcih0KXtpZigoMCxyLmdldF9kYXlfb2ZfeWVhcikodCk+ci5MQVNUX0RBWV9PRl9XRUVLKXJldHVybiExO2NvbnN0IGU9KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKHQpLHIuSkFOVUFSWSwxLDAsMCkscz0oMCxyLmNsb25lKShlKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShzLHIuTEFTVF9EQVlfT0ZfV0VFSy0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpLHQuZ2V0VGltZSgpPHMuZ2V0VGltZSgpfV9tb3ZlVG9XZWVrSW5kZXhBY2NvdW50aW5nQWRkaXRpb25hbCh0LGUscyl7bGV0IHI9dCtzO2Zvcihjb25zdCBzIG9mIGUpaWYoIShzLndlZWtJbmRleDx0KSl7aWYocy53ZWVrSW5kZXg+PXIpYnJlYWs7ci0tfXJldHVybiByfV9jYWxjdWxhdGVCYXJXZWVrU3RhcnQodCxlLHMsbil7Y29uc3QgaT10aGlzLl9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKGUscyk7aWYobnVsbD09PWkpe2NvbnN0IGU9dGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhzKS5maXJzdERheU9mV2VlaygpLSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxuPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKG4sZSksbn1jb25zdCBhPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoaS5lbnRyeUluZGV4KQo7aWYodGhpcy5pbmRleE9mUGVyaW9kKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk9PT1uKXJldHVybigwLHIuY2xvbmUpKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk7Y29uc3Qgbz10aGlzLl9zcGVjLmdldEhpc3RvcnlCeUluZGV4KGkuZW50cnlJbmRleC0xKS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCksZD0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShkLG8pLGR9X251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KSxzPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtyZXR1cm4gTWF0aC50cnVuYygoZS1zKS83KX1fZ2V0U3RhcnRPZlllYXJEYXRhKHQsZSl7bGV0IHM9dGhpcy5feWVhclN0YXJ0RGF0YUhhc2guZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7bGV0IG49KDAsci5nZXRfY2FsKShnLHQsci5KQU5VQVJZLDEsMCwwKSxpPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGV4KG4pLGE9MDtmb3IoKDAsci5nZXRfZGF5X29mX3dlZWspKG4pPT09ci5GSVJTVF9EQVlfT0ZfV0VFSyYmKGE9MSkscz10aGlzLl9nZXRZZWFyU3RhcnREYXRhRnJvbVdlZWsoZSxpLG4pO251bGw9PT1zLnN0YXJ0T2ZGaXJzdEJhckluWWVhcjspaSsrLGErKyxuPXRoaXMuX21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydChuKSxzPXRoaXMuX2dldFllYXJTdGFydERhdGFGcm9tV2VlayhlLGksbik7cmV0dXJuIHMuZnVsbFdlZWtzQWRqdXN0bWVudD1hLHRoaXMuX3llYXJTdGFydERhdGFIYXNoLnNldCh0LHMpLHN9X21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydCh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxzPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKHMsci5MQVNUX0RBWV9PRl9XRUVLLWUrMSksc31fZ2V0WWVhclN0YXJ0RGF0YUZyb21XZWVrKHQsZSxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzKTtsZXQgaT1udWxsLGE9MDtjb25zdCBvPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHModCxlKTtpZihudWxsIT09byl7bGV0IHQ9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleChvLmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbjtpZih0Pj0wKWk9KDAsci5jbG9uZSkocyksKDAsci5hZGRfZGF0ZSkoaSx0KSxhPTI7ZWxzZXtjb25zdCBlPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoby5lbnRyeUluZGV4KTt0PWUuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbix0Pj0wJiYoaT1lLmdldFN0YXJ0RGF5KCksaSYmKGk9KDAsci5jbG9uZSkoaSkpLGE9MSl9fWVsc2V7Y29uc3QgdD10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKGUpLG89dC5maXJzdERheU9mV2VlaygpLW47bz49MCYmKHRoaXMuX2hhc1dvcmtpbmdEYXlzKHQpfHx0aGlzLl9oYXNXb3JraW5nRGF5c05leHRXZWVrKGUrMSkpJiYoaT0oMCxyLmNsb25lKShzKSwoMCxyLmFkZF9kYXRlKShpLG8pLGE9MSl9cmV0dXJue3N0YXJ0T2ZGaXJzdEJhckluWWVhcjppLGZpcnN0V2Vla0luZGV4OmUsZmlyc3RXZWVrYmFyc0NvdW50OmEsZnVsbFdlZWtzQWRqdXN0bWVudDowfX1faGFzV29ya2luZ0RheXModCl7aWYoMD09PXQuZW50cmllc0J5RGF5KCkuc2l6ZSlyZXR1cm4hMTtmb3IobGV0IGU9dC5maXJzdERheU9mV2VlaygpO2U8PXIuTEFTVF9EQVlfT0ZfV0VFSztlKyspaWYodm9pZCAwIT09dC5lbnRyaWVzQnlEYXkoKS5nZXQoZSkpcmV0dXJuITA7cmV0dXJuITF9X2hhc1dvcmtpbmdEYXlzTmV4dFdlZWsodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKHQpO2ZvcihsZXQgdD0xO3Q8ZS5maXJzdERheU9mV2VlaygpO3QrKylpZih2b2lkIDAhPT1lLmVudHJpZXNCeURheSgpLmdldCh0KSlyZXR1cm4hMDtyZXR1cm4hMX1fY2FsY3VsYXRlV2Vla3NXaXRoRXh0cmFCYXIodCxlLHMpe2xldCByPTA7Zm9yKGNvbnN0IG4gb2YgZSl7aWYobi53ZWVrSW5kZXg+PXQpYnJlYWs7bi53ZWVrSW5kZXg+cyYmcisrfXJldHVybiByfV9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxuKXtjb25zdCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxhPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHMocyxlKTtpZihudWxsPT09YSl7cmV0dXJuIGktdGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhlKS5maXJzdERheU9mV2VlaygpPj0wPzE6MH1jb25zdCBvPXRoaXMuX3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyhhLGkpO3JldHVybiBvPT09ay5Jc0luTmV3U2Vzc2lvbj9uOm89PT1rLklzSW5NaWRTZXNzaW9uP24tMTowfV9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKHQsZSl7Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy53ZWVrSW5kZXg9PT1lKXJldHVybiBzO2lmKHMud2Vla0luZGV4PmUpYnJlYWt9cmV0dXJuIG51bGx9X3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyh0LGUpe2xldCBzPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgodC5lbnRyeUluZGV4KS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1lO2lmKHM8PTApcmV0dXJuIGsuSXNJbk5ld1Nlc3Npb247cmV0dXJuIHM9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleCh0LmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktZSxzPD0wP2suSXNJbk1pZFNlc3Npb246ay5Jc0JlZm9yZUFueVNlc3Npb259fWsuSXNCZWZvcmVBbnlTZXNzaW9uPS0xLGsuSXNJbk1pZFNlc3Npb249MCxrLklzSW5OZXdTZXNzaW9uPTEsay5mdWxsV2Vla09mQWRkaXRpb25hbEJhcnNDb3VudD0yO2NsYXNzIE57Y29uc3RydWN0b3IodCl7dGhpcy5fYnVpbGRlcj1udWxsLHRoaXMuX3Nlc3Npb249dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiB0aGlzLl9nZXRCdWlsZGVyKCkuaW5kZXhPZlBlcmlvZCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5zdGFydE9mUGVyaW9kKHQsZSkKfV9nZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PXRoaXMuX2J1aWxkZXImJih0aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgayh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBUKHRoaXMuX3Nlc3Npb24uc3BlYykpLHRoaXMuX2J1aWxkZXJ9fWNsYXNzIGJ7Y29uc3RydWN0b3IodCl7dGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuKDAsci5nZXRfbW9udGgpKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtpZih0PDApe2NvbnN0IHM9KDAsaS50b0ludCkoKDExLXQpLzEyKTtlLT1zLHQrPTEyKnN9ZWxzZSB0PnIuREVDRU1CRVImJihlKyssdD1yLkpBTlVBUlkpO3JldHVybigwLHIuZ2V0X2NhbCkoZyxlLHQsMSl9fXZhciBELFc7ZnVuY3Rpb24gdyh0LGUscyxyPSExKXtjb25zdCBpPW4uSW50ZXJ2YWwucGFyc2UodCksYT1pLm11bHRpcGxpZXIoKTtyZXR1cm4gaS5pc01pbnV0ZXMoKT9oLm1pbnV0ZXMoYSxlKTppLmlzU2Vjb25kcygpP2guc2Vjb25kcyhhLGUpOmkuaXNUaWNrcygpP25ldyBoKDEsZSk6aS5pc1JhbmdlKCk/bmV3IGgoNjAqYSxlKTpuZXcgQihlLHM/P251bGwsYSxmdW5jdGlvbih0LGUpe3N3aXRjaCh0KXtjYXNlIG4uUmVzb2x1dGlvbktpbmQuRGF5czpyZXR1cm4gbmV3IHAoZSk7Y2FzZSBuLlJlc29sdXRpb25LaW5kLldlZWtzOnJldHVybiBuZXcgTihlKTtjYXNlIG4uUmVzb2x1dGlvbktpbmQuTW9udGhzOnJldHVybiBuZXcgYihlKX10aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZHdtIHJlc29sdXRpb246ICR7dH1gKX0oaS5raW5kKCksZSkscil9ZnVuY3Rpb24gdih0LGUscyxpLG8sZCxfKXtjb25zdCBmPW4uSW50ZXJ2YWwucGFyc2UobytpKTtpZihmLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZCksZT1uZXcgRGF0ZShfKTtsZXQgcz0xMiooZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSk7cmV0dXJuIHMrPWUuZ2V0VVRDTW9udGgoKS10LmdldFVUQ01vbnRoKCksTWF0aC5jZWlsKHMvZi5tdWx0aXBsaWVyKCkpfWNvbnN0IFM9bmV3IGEuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLHQsZSxzKSxsPWYuaW5NaWxsaXNlY29uZHMoKTtsZXQgaDtpZihmLmlzRFdNKCkpaD04NjRlNTtlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7aD02MCpTLnNwZWMuZ2V0RW50cmllc0ZvcldlZWsodCkubWF4VHJhZGluZ0RheUxlbmd0aCgpKjFlM31sZXQgdT0wO2lmKGYuaXNXZWVrcygpKXU9NztlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7dT03LVMuc3BlYy5nZXRFbnRyaWVzRm9yV2Vlayh0KS53ZWVrRW5kc0NvdW50KCl9Y29uc3QgYz1fLWQsZz1oL2wsTz11Kmc7bGV0IEU9Yy84NjRlNSpnO0U+PU8mJihFPWMvNjA0OGU1Kk8pO3JldHVybiBFJTE8PU51bWJlci5FUFNJTE9OKk1hdGguY2VpbChFKT9NYXRoLnJvdW5kKEUpOk1hdGguY2VpbChFKX0hZnVuY3Rpb24odCl7dFt0LkFsaWduVG9GaXJzdERheT0wXT0iQWxpZ25Ub0ZpcnN0RGF5Iix0W3QuQWxpZ25Ub0Nsb3Nlc3REYXk9MV09IkFsaWduVG9DbG9zZXN0RGF5In0oRHx8KEQ9e30pKSxmdW5jdGlvbih0KXt0W3QuRD04NjRlNV09IkQiLHRbdC5XPTYwNDhlNV09IlcifShXfHwoVz17fSkpfSwyOTUxNCh0LGUscyl7dmFyIHI7cy5kKGUse1Nlc3Npb25TdGFnZTooKT0+cn0pLGZ1bmN0aW9uKHQpe3RbdC5QUkVfU0VTU0lPTj0tMV09IlBSRV9TRVNTSU9OIix0W3QuUE9TVF9TRVNTSU9OPS0yXT0iUE9TVF9TRVNTSU9OIix0W3QuTEFTVEJBUl9TRVNTSU9OPS0zXT0iTEFTVEJBUl9TRVNTSU9OIix0W3QuTEFTVF9TRVNTSU9OX0VORD0tNF09IkxBU1RfU0VTU0lPTl9FTkQiLHRbdC5GSVJTVF9TRVNTSU9OX1NUQVJUPS01XT0iRklSU1RfU0VTU0lPTl9TVEFSVCJ9KHJ8fChyPXt9KSl9LDc1OTI5OCh0LGUscyl7cy5kKGUse2V4dHJhcG9sYXRlQmFyc0Zyb250QnlDb3VudDooKT0+aSxleHRyYXBvbGF0ZUJhcnNGcm9udFRvVGltZTooKT0+bn0pO3ZhciByPXMoMjk1MTQpO2Z1bmN0aW9uIG4odCxlLHMscixpPSExKXtpZihlPnMpe2NvbnN0IGE9bih0LHMsZSxyLGkpO3JldHVybiBhLmNvdW50PS1hLmNvdW50LGF9cmV0dXJuIGEodCxlLDEsKCh0LGUpPT5lPnN8fDAhPT1yJiZ0PnIpLGkpfWZ1bmN0aW9uIGkodCxlLHMscj0hMSl7Y29uc3Qgbj1zPDA/LTE6MTtyZXR1cm4gYSh0LGUsbiwoKHQsZSk9PnQ+PXMqbikscil9ZnVuY3Rpb24gYSh0LGUscyxuLGkpe2xldCBhPTAsbz1lO3QubW92ZVRvKG8pO2xldCBkPTAsXz1OdW1iZXIuTUFYX1ZBTFVFLGY9ITEsUz1lO2NvbnN0IGw9W107bGV0IGg9ITE7Zm9yKDshbihhLG8pOyl7aWYoZD4xNSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTAgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtjb25zdCBuPXQuaW5kZXhPZkJhcihvKTtpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKDApLHQubW92ZVRvKG8pLGg9ITA7ZWxzZSBpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJi0xPT09cylvPXQuc3RhcnRPZkJhcihyLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNlIGlmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNle2lmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJi0xPT09cyl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTIgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTt7Y29uc3QgdT10LnN0YXJ0T2ZCYXIobik7aWYodT5lJiZzPjAmJihofHwwIT09bil8fGU+dSYmczwwKXtpZihmJiZfPT09dSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTEgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtmPSEwLF89dSxkPTAsCmErKyxTPXUsaSYmbC5wdXNoKFMpfWlmKDE9PT1zKXtvPXQuZW5kT2ZCYXIobik7Y29uc3QgZT10LnN0YXJ0T2ZCYXIoci5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OKTtvPT09ZSYmKHQubW92ZVRvKGUpLG89dC5zdGFydE9mQmFyKDApLGg9ITApfWVsc2UgMD09PW4/KG89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKSx0Lm1vdmVUbyhvKSk6bz10LnN0YXJ0T2ZCYXIobi0xKX19ZCsrfXJldHVybnt0aW1lOlMsdGltZXM6bCxjb3VudDphfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.831Z","timestamp":1785124875831,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2c28c2d72a44e5d4ad8561d186055810\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T06:16:23.023576Z","times_seen":2255,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.881Z","timestamp":1785124875881,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93426.0083d163d728bff784d9.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-dfef\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 725cc01213d6996a64807e278b5be525\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":57327,"size_decoded":21041,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3069)","md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-27T06:24:31.755131Z","times_seen":224,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTM0MjZdLHsyNzcwMjkoZSx0LG8peygwLG8oMzYzMjY5KS5zZXRDbGFzc2VzKSgpfSw4NDI5ODMoZSx0LG8pe3ZhciBuPW8oMTUyNjk5KSxpPW8oMzg2OTMxKSxzPW8oMzg0MDE3KSxyPW8oMTUwMTUwKSxhPW8oMTYwMjk2KSxsPW8oOTMyMzY1KSxjPW8oMjIxMDYxKTtjb25zdCBoPSgwLGMuZ2V0TG9nZ2VyKSgiQ29tbW9uLkV2ZXJjb29raWUiKTtvKDQ2NzE1OCk7Y29uc3QgZD1uZXcgd2luZG93LmV2ZXJjb29raWUoe2RvbWFpbjooMCxhLmlzUHJvZCkoKT8iLnRyYWRpbmd2aWV3LmNvbSI6bG9jYXRpb24uaG9zdG5hbWUsbHNvOiExfSksdT0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5FdmVyY29va2llIik7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbT0vXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVsxLTVdWzAtOWEtZl17M30tWzg5YWJdWzAtOWEtZl17M30tWzAtOWEtZl17MTJ9JC9pO2NsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLl9jb29raWVOYW1lPSJ0dl9lY3VpZCIsdGhpcy5fZW52PW51bGwsdGhpcy5jaGVjaz0oKT0+e2lmKHRoaXMuX2lzRWNOb3RBdmFpbGFibGUoKXx8bC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfdHZfZWNfaWdub3JlX3VzZXJuYW1lIik9PT13aW5kb3cudXNlci51c2VybmFtZSlyZXR1cm47Y29uc3QgZT13aW5kb3cudXNlci5pZDt0aGlzLl9nZXRFY1VpZHMoKS5jYXRjaCgoZT0+e3UubG9nV2FybihgRXJyb3IgdGhyb3duIGluc2lkZSBnZXRFY1VpZHMoKS4gTGVhdmUgZXZlcmNvb2tpZSBkYXRhIHVudG91Y2hlZC4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSkudGhlbigodD0+e2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgdS5sb2dXYXJuKGBnZXRFY1VpZHMoKSByZXR1cm5lZCBubyBkYXRhLiBMZWF2ZSBldmVyY29va2llIGRhdGEgdW50b3VjaGVkLiBVc2VyOiAke3dpbmRvdy51c2VyLnVzZXJuYW1lfSAoJHt3aW5kb3cudXNlci5pZH0pYCk7bGV0IG49dC5sb2NhbEVjVWlkO2NvbnN0IGk9dC5yZW1vdGVFY1VpZHM7biYmbS50ZXN0KG4pfHwobj0oMCxyLmd1aWQpKCksZC5zZXQodGhpcy5fY29va2llTmFtZSxuKSk7Y29uc3QgYT10PT57dC5zdWJzY3JpcHRpb25fY2FuY2VsZWQmJlByb21pc2UuYWxsKFtvLmUoNDkzODApLG8uZSg1MjM5Niksby5lKDIwMzU0KSxvLmUoNzQ4MzApLG8uZSgxODQwMCksby5lKDQzNDMzKSxvLmUoMzIzODcpLG8uZSg0ODAyNyldKS50aGVuKG8uYmluZChvLDY2NTMxOCkpLnRoZW4oKGU9PmUuY3JlYXRlVHJpYWxDYW5jZWxlZERpYWxvZygpKSksZT09PXdpbmRvdy51c2VyLmlkJiZ0LmlzX3N1c3BpY2lvdXM/bC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKCJpc19zdXNwaWNpb3VzIiwiMSIpOmwuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgiaXNfc3VzcGljaW91cyIpfTtpJiYwIT09aS5sZW5ndGgmJi0xIT09aS5pbmRleE9mKG4pfHxlIT09d2luZG93LnVzZXIuaWR8fGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IEZvcm1EYXRhO3JldHVybiB0LmFwcGVuZCgiZWN1aWQiLGUpLCgwLHMuZmV0Y2gpKCIvYWNjb3VudHMvc2V0LWVjdWlkLyIse2JvZHk6dCxjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIn0pLnRoZW4oKGU9PntpZihlLm9rKXJldHVybiBlLmpzb24oKS5jYXRjaCgoZT0+e2gubG9nV2FybihgRXJyb3IgaW4gcmVwb25zZS5qc29uKCkgb2YgL2FjY291bnRzL3NldC1lY3VpZC8uIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlcbkFjdHVhbCBlcnJvcjogJHtlfWApfSkpO3Rocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIHNldCByZW1vdGUgZWN1aWRzLiBSZXNwb25zZSB3YXMgbm90IE9LIil9KSl9KG4pLnRoZW4oYSl9KSkuY2F0Y2goKGU9Pnt1LmxvZ0Vycm9yKGUubWVzc2FnZStgIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKX0pKX0sdGhpcy5faXNFY05vdEF2YWlsYWJsZSgpfHwodGhpcy5fZW52PSgwLGEuZW52aXJvbm1lbnQpKCksKDAsYS5pc0RlYnVnKSgpJiYodGhpcy5fY29va2llTmFtZSs9Il8iK3RoaXMuX2VudikpfV9pc0VjTm90QXZhaWxhYmxlKCl7cmV0dXJuIHdpbmRvdy5UcmFkaW5nVmlldy5vbldpZGdldD8uKCl8fCF3aW5kb3cudXNlcn1fZ2V0TG9jYWxFY1VpZCgpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+e2QuZ2V0KHRoaXMuX2Nvb2tpZU5hbWUsKHQ9PntlKHQpfSkpfSkpfV9nZXRFY1VpZHMoKXtyZXR1cm4gbmV3IFByb21pc2UoKChlLHQpPT57bGV0IG87dGhpcy5fZ2V0TG9jYWxFY1VpZCgpLnRoZW4oKGU9PihvPWUsZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxvKT0+e2NvbnN0IG49bmV3IEZvcm1EYXRhO2UmJm4uYXBwZW5kKCJsb2NhbF9lY3VpZCIsZSksKDAscy5mZXRjaCkoIi9hY2NvdW50cy9nZXQtZWN1aWQvIix7Ym9keTpuLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QifSkudGhlbigoZT0+e2lmKGUub2spcmV0dXJuIGUuanNvbigpLmNhdGNoKChlPT57aC5sb2dXYXJuKGBFcnJvciBpbiByZXBvbnNlLmpzb24oKSBvZiAvYWNjb3VudHMvZ2V0LWVjdWlkLy4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSk7dGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2V0IHJlbW90ZSBlY3VpZHMuIFJlc3BvbnNlIHdhcyBub3QgT0siKX0pKS50aGVuKChlPT57dChlKX0pKS5jYXRjaCgoZT0+e28oZSl9KSl9KSl9KGUpKSkpLnRoZW4oKHQ9PntpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcihgZ2V0UmVtb3RlRWNVaWRzKCkgcmV0dXJuZWQgbm8gcmVzcG9uc2UuIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKTtlKHtsb2NhbEVjVWlkOm8sCnJlbW90ZUVjVWlkczp0LmVjdWlkc30pfSkpLmNhdGNoKChlPT57dChlKX0pKX0pKX19dmFyIF89byg2MTM4NzApLHA9bygyMzk3MTkpLGY9bygzMTg5NzQpLHc9bygxMTczMTMpLHY9byg3MjcwOSkseT1vKDIzNTcyNCksYj1vKDkyNjk5NSk7dmFyIFM9bygxNzk3NzEpLE49bygzNDQ3ODUpLFQ9byg3NDk2NDgpO2Z1bmN0aW9uIEUoZSx0PSJ4Iil7bGV0IG89ITE7cmV0dXJuIngiIT09dCYmImJvdGgiIT09dHx8KG89b3x8ZS5vZmZzZXRXaWR0aDxlLnNjcm9sbFdpZHRoKSwieSIhPT10JiYiYm90aCIhPT10fHwobz1vfHxlLm9mZnNldEhlaWdodDxlLnNjcm9sbEhlaWdodCksb31mdW5jdGlvbiBDKGUsdD0ieCIpe2Zvcihjb25zdCBvIG9mIEFycmF5LmZyb20oZS5jaGlsZHJlbikpaWYobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoRShvLHQpfHxDKG8sdCkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHgoZSl7bGV0IHQ9IngiO3JldHVybiBlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1kaXJlY3Rpb25fYm90aCIpP3Q9ImJvdGgiOmUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWRpcmVjdGlvbl95IikmJih0PSJ5IiksdH1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC1odG1sIik7aWYodClyZXR1cm57dHlwZToiaHRtbCIsZGF0YTp0fTtjb25zdCBvPWUuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCIpO2lmKG8pcmV0dXJue3R5cGU6InRleHQiLGRhdGE6b307aWYoZS5tYXRjaGVzPy4oIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1hbGxvdy10ZXh0Iikpe3JldHVybnt0eXBlOiJ0ZXh0IixkYXRhOmUudGV4dENvbnRlbnR8fCIifX1jb25zdCBuPUFycmF5LmZyb20oZS5jaGlsZE5vZGVzKS5yZWR1Y2UoKChlLHQpPT4odC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZlLnB1c2godC50ZXh0Q29udGVudHx8IiIpLGUpKSxbXSkuam9pbigiIikudHJpbSgpO3JldHVybiBuP3t0eXBlOiJ0ZXh0IixkYXRhOm59Ont0eXBlOiJub25lIn19ZnVuY3Rpb24gRChlLHQpe2xldCBvPSExO2NvbnN0IG49ZS5jaGlsZHJlbjtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7Y29uc3QgaT1uW2VdO2lmKGkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmRShpLHQpKXtvPSEwO2JyZWFrfX1yZXR1cm4gb31mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC1mb2N1cyIpfHx0LnF1ZXJ5U2VsZWN0b3IoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLWZvY3VzIikpKXtjb25zdCBlPXQubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKT90OnQucXVlcnlTZWxlY3RvcigiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKSxvPXgoZSk7aWYoZS5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUMoZSxvKSlyZXR1cm59ZWxzZSBpZihlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRChlLG8pKXJldHVybn1lbHNlIGlmKCFFKGUsbykpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKGUpfSk7Y29uc3Qgbj0oKT0+eygwLE4uaGlkZSkoKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbil9O3QuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbiksdC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKX19KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsKGU9Pntjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpKXtjb25zdCBlPXgodCk7aWYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUModCxlKSlyZXR1cm59ZWxzZSBpZih0Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRCh0LGUpKXJldHVybn1lbHNlIGlmKCFFKHQsZSkpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKHQpfSk7Y29uc3Qgbz0oKT0+eygwLE4uaGlkZSkoKSxbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxvKSkpfTtbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LmFkZEV2ZW50TGlzdGVuZXIoZSxvKSkpfX0pLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsRiwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLEYsITApfSkpO3ZhciBrPW8oOTQ4MzgwKSxQPW8oOTY0NDg2KSxNPW8oODcyNTE4KTtmdW5jdGlvbiBPKGUpe2xldCB0LG89ITE7cmV0dXJuKCk9PihvfHwobz0hMCx0PWUoKSksdCl9dmFyIEk9byg1NzAxOTMpLEg9byg2ODIzODEpLFY9bygzODIyNDIpO2NvbnN0IEE9KGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KT0+KDAsVi5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKGUsSC5GT0NVU0FCTEVfU0VMRUNUT1IpO2NvbnN0IFI9YFske0kuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURX09InRydWUiXWA7Y2xhc3MgVXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZU1vdXNlRG93bj0oKT0+e3RoaXMuX2ZvcndhcmRUYWI9dm9pZCAwfSx0aGlzLl9oYW5kbGVLZXlEb3duPWU9Pnt0aGlzLl9mb3J3YXJkVGFiPXZvaWQgMCxbOSx5Lk1vZGlmaWVycy5TaGlmdCs5XS5pbmNsdWRlcygoMCx5Lmhhc2hGcm9tRXZlbnQpKGUpKSYmKHRoaXMuX2ZvcndhcmRUYWI9IWUuc2hpZnRLZXkpfSx0aGlzLl9oYW5kbGVGb2N1cz1lPT57Y29uc3QgdD1lLnRhcmdldAo7aWYodm9pZCAwPT09dGhpcy5fZm9yd2FyZFRhYnx8ISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBvPXRoaXMuX2ZpbmREZWVwZXN0Rm9jdXNUcmFwRWxlbWVudChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2lmKCEobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXx8IW98fG8uY29udGFpbnModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQuYmx1cigpO2NvbnN0IG49by5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KTtpZihuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HfHxuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKXtjb25zdCBlPXRoaXMuX2ZvcndhcmRUYWI/QihvKTpCKG8sITApO2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5mb2N1cygpfX0sZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9oYW5kbGVGb2N1cyx7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9oYW5kbGVLZXlEb3duLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5faGFuZGxlTW91c2VEb3duLHtjYXB0dXJlOiEwfSl9ZGVzdHJveSgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5faGFuZGxlRm9jdXMse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5RG93bix7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2hhbmRsZU1vdXNlRG93bix7Y2FwdHVyZTohMH0pfV9maW5kRGVlcGVzdEZvY3VzVHJhcEVsZW1lbnQoZSl7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoUik7bGV0IG89bnVsbCxuPS0xO3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2NhbGN1bGF0ZVBhcmVudENvdW50KHQsZSk7aT5uJiYobj1pLG89dCl9KSksb31fY2FsY3VsYXRlUGFyZW50Q291bnQoZSx0KXtsZXQgbz0wLG49ZS5wYXJlbnRFbGVtZW50O2Zvcig7biYmbiE9PXQ7KSJ0cnVlIj09PW4uZ2V0QXR0cmlidXRlKEkuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJm8rKyxuPW4ucGFyZW50RWxlbWVudDtyZXR1cm4gb319Y29uc3QgJD1PKCgoKT0+bmV3IFUpKTtmdW5jdGlvbiBCKGUsdCl7cmV0dXJuIHQ/ZnVuY3Rpb24oZSl7Y29uc3QgdD1BKGUpO3JldHVybigwLFYuZ2V0TGFzdERlc2NlbmRhbnQpKHQpfShlKTpmdW5jdGlvbihlKXtjb25zdCB0PUEoZSk7cmV0dXJuKDAsVi5nZXRGaXJzdERlc2NlbmRhbnQpKHQpfShlKX1jb25zdCBqPU8oKCgpPT57JCgpfSkpO3ZhciBHPW8oNDUwMTQwKSxXPW8oOTk1Njc4KTt2YXIgcT1vKDUwNzQyNiksSz1vKDE0MTMxKSxKPW8oNTQ5MTk5KSxYPW8oMTU3OTE3KSx6PW8oODI3MDEpLFk9bygzODE1MTcpLFE9byg3NzkzODkpO2xldCBaLGVlO2Z1bmN0aW9uIHRlKCl7aWYod2luZG93LmluaXREYXRhLmxmcyl7Y29uc3QgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJqcy1hZG1pbi13YXJuaW5nIilbMF07ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKX1sZXQgZT0hMDtbL15cL2NoYXJ0XC8vLC9eXC9zaGFyZS15b3VyLWxvdmVcLy8sL15cL3BpbmVcLy9dLmZvckVhY2goKHQ9Pnt0LnRlc3Qod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSYmKGU9ITEpfSkpLGUmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX1mdW5jdGlvbiBvZShlKXt3aW5kb3cudXNlcj0oMCxQLmRlZXBFeHRlbmQpKHt9LGUpLHdpbmRvdy5UcmFkaW5nVmlldy5jaGFuZ2VMb2dpblN0YXRlKCEwKX1mdW5jdGlvbiBuZShlKXt7Y29uc3QgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1hdXRoZW50aWNhdGVkIix3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1ub3QtYXV0aGVudGljYXRlZCIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKX13aW5kb3cuVFZTZXR0aW5ncyYmd2luZG93LlRWU2V0dGluZ3Muc3luYyh3aW5kb3cudXNlci5zZXR0aW5ncyksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KGUmJiExIT09d2luZG93LnVzZXIucHJvZmlsZV9kYXRhX2ZpbGxlZHx8dm9pZCAwPT09ZWV8fGVlLmNoZWNrKCksZXx8KFByb21pc2UuYWxsKFtvLmUoNzEyMzcpLG8uZSgzMTU1Nyksby5lKDMyMzg3KSxvLmUoNjQ2MzIpXSkudGhlbihvLmJpbmQobyw3NTQyMTgpKS50aGVuKChlPT5lLm9mZmVyQnV0dG9uTG9naW5TdGF0ZUNoYW5nZUluaXQoKSkpLCgwLGYub25Hb1BybykoKSYmd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKSwhMT09PXdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQmJigoMCxmLmNoZWNrUGFnZVR5cGUpKCJtb2JpbGUiKXx8KDAsdy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHx3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aCgiL3ByaXZhY3ktcG9saWN5Iil8fHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKCIvcG9saWNpZXMiKXx8KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57KDAsXy5zaG93U2lnbk1vZGFsKSh7bW9kZToiY3JlYXRlLWFjY291bnQiLG9uVW5tb3VudEV2ZW50OigpPT57d2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbj8oby5lKDQyNDAyKS50aGVuKG8uYmluZChvLDk5MzY2MSkpLnRoZW4oKCh7cmVnaXN0cmF0aW9uRXZlbnQ6ZX0pPT57ZSgiU29jaWFsIil9KSksKDAsSy50cmFja0dUYWdBZHNFdmVudCkoSy5HVGFnRXZlbnQuUmVnaXN0cmF0aW9uQ29tcGxldGVkKSwoMCxKLnRyYWNrVHdpdHRlckV2ZW50KShKLlR3aXR0ZXJFdmVudC5SZWdpc3RyYXRpb25Db21wbGV0ZWQpLApkZWxldGUgd2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbik6bi5UVlhXaW5kb3dFdmVudHMuZW1pdCgibG9naW5TdGF0ZUNoYW5nZSIsSlNPTi5zdHJpbmdpZnkoe2lzX2F1dGhlbnRpY2F0ZWQ6d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsdXNlcjp3aW5kb3cudXNlcn0pKX19KX0pLCEwKSwoMCxYLnRyYWNrQ21FdmVudCkoWC5DbUV2ZW50LlJlZ2lzdHJhdGlvbkNvbXBsZXRlZCksKDAsaS50cmFja0V2ZW50KSgiQ29udmVyc2lvbiIsIkZpcnN0IGxvZ2luIiksZGVsZXRlIHdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQpLHouYXZhaWxhYmxlT2ZmZXJzLnJ1bk9yVXBkYXRlKCgoKT0+e3dpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGUoKDAsWS5pc1RyaWFsQXZhaWxhYmxlRm9yVXNlcikod2luZG93LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpKX0pKSk6ei5hdmFpbGFibGVPZmZlcnMucnVuT3JVcGRhdGUoKGU9PntPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT57Y29uc3Qgbz10O2Vbb10uYXZhaWxhYmxlX2Zvcl9hbm9uc3x8ZGVsZXRlIGVbb119KSksd2luZG93LnVzZXI9e3VzZXJuYW1lOiJHdWVzdCIsZm9sbG93aW5nOiIwIixmb2xsb3dlcnM6IjAiLGlnbm9yZV9saXN0OltdLGF2YWlsYWJsZV9vZmZlcnM6ZX0sbC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ0cmlhbF9hdmFpbGlhYmxlIil9KSl9KDAsdi5yZWdpc3RlcldpbmRvdykod2luZG93KSxRLkFjdGlvbkdyb3VwLnNldE1hdGNoZWRIb3RrZXlIYW5kbGVyKChlPT57KDAsaS50cmFja0V2ZW50KSgiS2V5Ym9hcmQgU2hvcnRjdXRzIiwoMCx5Lmh1bWFuUmVhZGFibGVIYXNoKShlKSl9KSksWj13aW5kb3cubG9naW5TdGF0ZUNoYW5nZT93aW5kb3cubG9naW5TdGF0ZUNoYW5nZTp3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgay5EZWxlZ2F0ZSxaLnN1YnNjcmliZShudWxsLG5lKSwoMCx2LmNyZWF0ZUdyb3VwKSh7ZGVzYzoiU3VwcG9ydCJ9KS5hZGQoe2Rlc2M6Ik9wZW4iLGhvdGtleTp5Lk1vZGlmaWVycy5Nb2QrMTkxLGhhbmRsZXI6KCk9PigwLGIuc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6InNob3J0Y3V0cyJ9KX0pLG4uVFZYV2luZG93RXZlbnRzLm9uKCJsb2dpblN0YXRlQ2hhbmdlIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt3aW5kb3cudXNlcj10LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISF0LmlzX2F1dGhlbnRpY2F0ZWQsWi5maXJlKCl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oInNpZ25PdXQiLCgoKT0+e3RlKCl9KSksKCgpPT57Y29uc3QgZT0idXNlci1vYmotY2hhbmdlZCIsdD17fTt3aW5kb3cuY3Jvc3NUYWJTeW5jVXNlckF0dHI9dD0+e2NvbnN0IG89e307dCBpbnN0YW5jZW9mIEFycmF5P3QuZm9yRWFjaCgoZT0+e29bZV09d2luZG93LnVzZXJbZV19KSk6b1t0XT13aW5kb3cudXNlclt0XSxuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KGUsSlNPTi5zdHJpbmdpZnkobykpfSxuLlRWWFdpbmRvd0V2ZW50cy5vbihlLChlPT57Y29uc3Qgbz1KU09OLnBhcnNlKGUpO2xldCBuO2ZvcihuIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7d2luZG93LnVzZXJbbl09b1tuXTsodFtuXXx8W10pLmZvckVhY2goKGU9PntlLmZpcmUob1tuXSl9KSl9fSkpfSkoKSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZT1lPT57d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISFlLG4uVFZYV2luZG93RXZlbnRzLmVtaXQoImxvZ2luU3RhdGVDaGFuZ2UiLEpTT04uc3RyaW5naWZ5KHtpc19hdXRoZW50aWNhdGVkOndpbmRvdy5pc19hdXRoZW50aWNhdGVkLHVzZXI6d2luZG93LnVzZXJ9KSksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJlMuZW1pdChwLkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MpLFouZmlyZSgpfSx3aW5kb3cubG9naW5Vc2VyPW9lLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZT0+eyJsb2dpbl91c2VyIj09PWUua2V5JiZudWxsIT09ZS5uZXdWYWx1ZSYmb2UoSlNPTi5wYXJzZShlLm5ld1ZhbHVlKSl9KSksd2luZG93LlRyYWRpbmdWaWV3LnNpZ25PdXQ9KCk9Pntjb25zdCBlPXsuLi53aW5kb3cudXNlcn07KDAscy5mZXRjaCkoIi9hY2NvdW50cy9sb2dvdXQvIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnthY2NlcHQ6Imh0bWwifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbigoKCk9Pnt3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgic2lnbk91dCIpLHRlKCl9KSkuY2F0Y2goKCgpPT57d2luZG93LnVzZXI9ZSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMCl9KSl9LGVlPW5ldyBnLHdpbmRvdy5sb2dpblJlcXVpcmVkRGVsZWdhdGU9bmV3IGsuRGVsZWdhdGUsd2luZG93LnJ1bk9yU2lnbkluPShlLHQpPT57dHx8KHQ9e30pO2NvbnN0IG89W107dC5wYWlkQWNjb3VudENoZWNrJiZvLnB1c2goKCgpPT4oMCxxLnBhaWRBY2NvdW50Q2hlY2spKHtzdWNjZXNzQnV0dG9uVGV4dDp0LnBhaWRBY2NvdW50U3VjY2Vzc0J1dHRvblRleHR9KSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkP28ucmVkdWNlKCgoZSx0KT0+ZS50aGVuKHQpKSxQcm9taXNlLnJlc29sdmUoKSkudGhlbihlKS5jYXRjaCgoKCk9Pnt9KSk6KDAsXy5zaG93U2lnbk1vZGFsKSh7c291cmNlOnQuc291cmNlLHNvdXJjZU1ldGE6dC5zb3VyY2VNZXRhLGZlYXR1cmU6dC5mZWF0dXJlLG1vZGU6dC5tb2RlLHNpZ25pblN1Y2Nlc3M6ZSxzdGFydFRyaWFsOnQuc3RhcnRUcmlhbCxvblVubW91bnRFdmVudDp0Lm9uVW5tb3VudEV2ZW50LHVzZXJuYW1lOnQudXNlcm5hbWV9KX0sd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJm4uVFZYV2luZG93RXZlbnRzLm9uKCJ1c2VyLXN0YXR1cy1kZWNsYXJlZCIsKGU9Pnt3aW5kb3cudXNlci5kZWNsYXJlZF9zdGF0dXM9ZX0pKSx3aW5kb3cub25Mb2dpblN0YXRlQ2hhbmdlPW5lLHdpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGU9ZT0+ewpsLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oInRyaWFsX2F2YWlsaWFibGUiLGU/IjEiOiIwIil9LHdpbmRvdy5UcmFkaW5nVmlldy5ub3RpZmljYXRpb25zQ2hhbmdlZD1uZXcgay5EZWxlZ2F0ZSxqKCksKDAsRy5pbml0TW91c2VDbGlja0F1dG9CbHVySGFuZGxlcikoKSwoMCxXLmluaXRNb2RhbFNjcm9sbExvY2tIYW5kbGVyKSh3aW5kb3csKCgpPT4oMCxNLnNldEZpeGVkQm9keVN0YXRlKSghMCkpLCgoKT0+KDAsTS5zZXRGaXhlZEJvZHlTdGF0ZSkoITEpKSl9LDMxNDEzMygpe2Z1bmN0aW9uIGUoZSl7aWYoZSBpbnN0YW5jZW9mIEVycm9yKXJldHVybiBlLnN0YWNrfHxlLm1lc3NhZ2U7dHJ5e3JldHVybiBlLm91dGVySFRNTC5zbGljZSgwLDEwMjQpfWNhdGNoe310cnl7aWYodm9pZCAwIT09ZSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSkuc2xpY2UoMCwxMDI0KX1jYXRjaHt9cmV0dXJuIFN0cmluZyhlKX1mdW5jdGlvbiB0KGUpe2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gbmV3IFVSTChlKX1jYXRjaHtyZXR1cm4gbnVsbH19d2luZG93Ll9fdHZfanNfZXJyb3JzfHwod2luZG93Ll9fdHZfanNfZXJyb3JzPVtdKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCh0PT57Y29uc3Qgbz0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCk7d2luZG93Ll9fdHZfanNfZXJyb3JzLnB1c2goYCR7b30gJHt0Lm1lc3NhZ2V8fCJKUyBlcnJvciJ9LiAke3QuZmlsZW5hbWV8fCI8dW5rbm93biB1cmw+In0sIGxpbmUgJHt0LmxpbmVub30sIGNvbCAke3QuY29sbm99LlxuRXJyb3I6ICR7ZSh0LmVycm9yKX1gKX0pLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5oYW5kbGVkcmVqZWN0aW9uIiwodD0+e2NvbnN0IG89KG5ldyBEYXRlKS50b0lTT1N0cmluZygpO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke299IFVuaGFuZGxlZCByZWplY3Rpb24uXG5SZWFzb246ICR7ZSh0LnJlYXNvbil9YCl9KSwhMSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChvPT57aWYoZnVuY3Rpb24oZSxvKXtjb25zdCBuPXQoZSksaT10KG8pO3JldHVybiEoIW58fCFpKSYmImh0dHBzOiI9PT1uLnByb3RvY29sJiYiaHR0cHM6Ij09PWkucHJvdG9jb2wmJiJzZWN1cmVwdWJhZHMuZy5kb3VibGVjbGljay5uZXQiPT09bi5ob3N0bmFtZSYmL15hZHNlcnZpY2VcLmdvb2dsZVwuW2Etei5dKyQvaS50ZXN0KGkuaG9zdG5hbWUpfShvLnNvdXJjZUZpbGUsby5ibG9ja2VkVVJJKSlyZXR1cm47Y29uc3Qgbj0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCksaT0icmVwb3J0Ij09PW8uZGlzcG9zaXRpb24/IkNTUCByZXBvcnQtb25seSI6IkNTUCB2aW9sYXRpb24iO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke259ICR7aX06ICR7by52aW9sYXRlZERpcmVjdGl2ZXx8by5lZmZlY3RpdmVEaXJlY3RpdmV9LiAke28uc291cmNlRmlsZXx8Ijx1bmtub3duIHVybD4ifSwgbGluZSAke28ubGluZU51bWJlcn0sIGNvbCAke28uY29sdW1uTnVtYmVyfS5cbkJsb2NrZWQgVVJJOiAke28uYmxvY2tlZFVSSX1cblNhbXBsZTogJHtvLnNhbXBsZX1cblRhcmdldDogJHtlKG8udGFyZ2V0KX1gKX0pLCExKX0sMjMzMzk5KGUsdCxvKXt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMjM2NSk7Y29uc3Qgcz0idHYubG9nZ2VyLmxvZ2xldmVsIixyPSJ0di5sb2dnZXIubG9nSGlnaFJhdGUiLGE9KDAsbi5nZXRMb2dnZXIpKCJsb2dnZXIiKTtmdW5jdGlvbiBsKCl7dHJ5e2kuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShyLFN0cmluZygoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpKSksaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHMsU3RyaW5nKCgwLG4uZ2V0TG9nTGV2ZWwpKCkpKX1jYXRjaChlKXthLmxvZ1dhcm4oYENhbm5vdCBzYXZlIGxvZ2dlciBzdGF0ZSAobGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfSkgdG8gbG9jYWxTdG9yYWdlOiAke2UubWVzc2FnZX1gKX19d2luZG93LmxnZXQ9bi5nZXRMb2dIaXN0b3J5LHdpbmRvdy5sb249KGUsdCk9PnthLmxvZ05vcm1hbCgiRGVidWcgbG9nZ2luZyBlbmFibGVkIiksKDAsbi5sb2dnaW5nT24pKGUsdCksbCgpfSx3aW5kb3cubG9mZj0oKT0+e2EubG9nSW5mbygiRGVidWcgbG9nZ2luZyBkaXNhYmxlZCIpLCgwLG4ubG9nZ2luZ09mZikoKSxsKCl9LHdpbmRvdy5sbGV2ZWw9ZT0+e2EubG9nSW5mbygiQ2hhbmdlZCBsb2dnaW5nIGxldmVsIiksKDAsbi5zZXRMb2dMZXZlbCkoZSksbCgpfSxmdW5jdGlvbigpe2NvbnN0IGU9InRydWUiPT09aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKHIpOygwLG4uc2V0SGlnaFJhdGVTdGF0dXMpKGUpO2xldCB0PXBhcnNlSW50KGkuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKXx8IiIpO051bWJlci5pc05hTih0KSYmKHQ9bi5MT0dMRVZFTC5XQVJOSU5HKSwoMCxuLnNldExvZ0xldmVsKSh0KSxhLmxvZ05vcm1hbChgSW5pdCB3aXRoIHNldHRpbmdzIC0gbGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfWApfSgpLGEubG9nTm9ybWFsKGBTeW5jIGxvZ2dlciBhbmQgcGVyZiB0aW1lcywgbm93IGlzICR7cGVyZm9ybWFuY2Uubm93KCl9YCl9LDkyNjQxNSgpe3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9fSw1NjkzOTgoZSx0LG8pe28uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT51LG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9Pmx9KTt2YXIgbj1vKDk0ODM4MCksaT1vKDM3NzIyNikscz1vKDg1NjE5Nikscj1vKDkzMjM2NSk7Y29uc3QgYT1uZXcgbi5EZWxlZ2F0ZSxsPSgpPT5hLGM9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IGg9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7ci5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGMrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtyLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oYytlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7CnIuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShjK2UpLGEuZmlyZShlKX1vbkZlYXR1cmVzU3RhdGVDaGFuZ2VkKCl7cmV0dXJuIGF9fTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuKCFlW3RdfHwtMSE9PWVbdF0pJiYoISEoInRydWUiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYidHJ1ZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltjK3RdKXx8ISgiZmFsc2UiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYiZmFsc2UiPT09d2luZG93LnVzZXI/LnNldHRpbmdzPy5bYyt0XSkmJighIWVbdF0mJigxPT09ZVt0XXx8KDAscy5zaG91bGRBZmZlY3RVc2VyKSh0LGVbdF0pKSkpfXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9LHdpbmRvdy5UcmFkaW5nVmlldy5GZWF0dXJlVG9nZ2xlPWg7Y29uc3QgdT0obT13aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlfHx7fSwoMCxpLm9uV2lkZ2V0KSgpfHxQcm9taXNlLmFsbChbby5lKDg1NDM0KSxvLmUoNzI4NSksby5lKDEzOTkzKV0pLnRoZW4oby5iaW5kKG8sNTA3Mjg1KSkudGhlbigoZT0+e2UucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJmZWF0dXJldG9nZ2xlIiwoZT0+e2NvbnN0IHQ9ZChtLGUubmFtZSk7bVtlLm5hbWVdPWUuc3RhdGUsdCE9PWQobSxlLm5hbWUpJiZhLmZpcmUoZS5uYW1lKX0pKX0pKSxkLmJpbmQobnVsbCxtKSk7dmFyIG07d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9dX0sMzg0MDE3KGUsdCxvKXtvLmQodCx7ZmV0Y2g6KCk9PnN9KTt2YXIgbj1vKDIyMTA2MSk7bygzMDAyODYpO2NvbnN0IGk9KDAsbi5nZXRMb2dnZXIpKCJGZXRjaCIpO2Z1bmN0aW9uIHMoZSx0LG89e30pe3tjb25zdHtsb2dPbkVycm9yU3RhdHVzOm49ITAsbG9nQm9keU9uRXJyb3I6cz0hMX09bzt0PXR8fHt9LGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSkub3JpZ2luPT09bG9jYXRpb24ub3JpZ2lufShlKSYmKHQuaGVhZGVycz90LmhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzfHwodC5oZWFkZXJzPW5ldyBIZWFkZXJzKHQuaGVhZGVycykpOnQuaGVhZGVycz1uZXcgSGVhZGVycyx3aW5kb3cubG9jYWxlJiZ0LmhlYWRlcnMuc2V0KCJYLUxhbmd1YWdlIix3aW5kb3cubG9jYWxlKSx0LmhlYWRlcnMuc2V0KCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKSksdm9pZCAwPT09dC5jcmVkZW50aWFscyYmKHQuY3JlZGVudGlhbHM9InNhbWUtb3JpZ2luIik7Y29uc3Qgcj13aW5kb3cuZmV0Y2goZSx0KTtyZXR1cm4gci50aGVuKChvPT57aWYoIW8ub2smJm4pe2xldCBuPSIiO3QubWV0aG9kJiYobis9YCR7dC5tZXRob2QudG9VcHBlckNhc2UoKX0gYCksbis9ZSxuKz1gLiBTdGF0dXMgJHtvLnN0YXR1c31gLG8uc3RhdHVzVGV4dCYmKG4rPWAuICR7by5zdGF0dXNUZXh0fWApLG8uaGVhZGVycy52aWEmJihuKz1gLiBWaWE6ICR7by5oZWFkZXJzLnZpYX1gKSxzJiYic3RyaW5nIj09dHlwZW9mIHQuYm9keSYmKG4rPWAuIEJvZHk6ICR7dC5ib2R5LnNsaWNlKDAsMTAyNCl9YCksaS5sb2dFcnJvcihuKX1yZXR1cm4gb30pLChvPT57aWYobyYmIkFib3J0RXJyb3IiPT09by5uYW1lKXJldHVybjtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbmF2aWdhdG9yLm9uTGluZT9uKz1gLiAke1N0cmluZyhvKX1gOm4rPSIuIFVzZXIgaXMgb2ZmbGluZS4iLGkubG9nRXJyb3Iobil9KSkscn19fSw5MzIzNjUoZSx0LG8pe28uZCh0LHtUVkxvY2FsU3RvcmFnZTooKT0+c30pO2NvbnN0IG49KDAsbygyMjEwNjEpLmdldExvZ2dlcikoIlRWTG9jYWxTdG9yYWdlIik7dmFyIGk9ZnVuY3Rpb24oKXt0cnl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmxvY2FsU3RvcmFnZT13aW5kb3cubG9jYWxTdG9yYWdlLHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oInR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSIsInRydWUiKX1jYXRjaChlKXtkZWxldGUgdGhpcy5pc0F2YWlsYWJsZSxkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2V9dGhpcy5fdXBkYXRlTGVuZ3RoKCk7dHJ5e3RoaXMuX3JlcG9ydCgpfWNhdGNoKGUpe319O2kucHJvdG90eXBlLl9yZXBvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXtjb25zdCBlPTEwLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZSsrKXtjb25zdCBvPXRoaXMua2V5KGUpO3QucHVzaCh7a2V5Om8sbGVuZ3RoOlN0cmluZyh0aGlzLmdldEl0ZW0obykpLmxlbmd0aH0pfXQuc29ydCgoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKSk7Y29uc3Qgbz10LnNsaWNlKDAsZSk7dC5zb3J0KCgoZSx0KT0+dC5rZXkubGVuZ3RoLWUua2V5Lmxlbmd0aCkpO2NvbnN0IGk9dC5zbGljZSgwLGUpO24ubG9nTm9ybWFsKGBUb3RhbCBhbW91bnQgb2Yga2V5cyBpbiBMb2NhbCBTdG9yYWdlOiAke3RoaXMubGVuZ3RofWApLG4ubG9nTm9ybWFsKGBUb3AgJHtlfSBrZXlzIHdpdGggbG9uZ2VzdCB2YWx1ZXM6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCksbi5sb2dOb3JtYWwoYFRvcCAke2V9IGxvbmdlc3Qga2V5IG5hbWVzOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3RyeXtuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpLnRoZW4oKGU9PntuLmxvZ05vcm1hbChgU3RvcmFnZSBlc3RpbWF0ZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKX0pKX1jYXRjaChlKXt9fX0saS5wcm90b3R5cGUubGVuZ3RoPTAsaS5wcm90b3R5cGUuaXNBdmFpbGFibGU9ITEsaS5wcm90b3R5cGUubG9jYWxTdG9yYWdlPXsidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIjoiZmFsc2UifSxpLnByb3RvdHlwZS5fdXBkYXRlTGVuZ3RoPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl0aGlzLmxlbmd0aD10aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZWxzZXt2YXIgZSx0PTA7Zm9yKGUgaW4gdGhpcy5sb2NhbFN0b3JhZ2UpdGhpcy5sb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoZSkmJnQrKwo7dGhpcy5sZW5ndGg9dH19LGkucHJvdG90eXBlLmtleT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkoZSk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW2VdfSxpLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk6dm9pZCAwPT09dGhpcy5sb2NhbFN0b3JhZ2VbZV0/bnVsbDp0aGlzLmxvY2FsU3RvcmFnZVtlXX0saS5wcm90b3R5cGUuc2V0SXRlbT1mdW5jdGlvbihlLHQpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLHQpOnRoaXMubG9jYWxTdG9yYWdlW2VdPXQsdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLnJlbW92ZUl0ZW09ZnVuY3Rpb24oZSl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpOmRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZVtlXSx0aGlzLl91cGRhdGVMZW5ndGgoKX0saS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk6dGhpcy5sb2NhbFN0b3JhZ2U9e30sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9O2NvbnN0IHM9bmV3IGk7d2luZG93LlRWTG9jYWxTdG9yYWdlPXN9LDExNzMxMyhlLHQsbyl7by5kKHQse2lzT25Nb2JpbGVBcHBQYWdlOigpPT5pLHVybFdpdGhNb2JpbGVBcHBQYXJhbXM6KCk9PnN9KTt2YXIgbj1vKDU4NzQzNik7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpvfT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBpPSJ0cnVlIj09PW8uZ2V0KCJtb2JpbGVhcHBfbmV3Iikscz0idHJ1ZSI9PT1vLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9bi5nZXQoInR2X2FwcCIpfHwiIjtpfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxzfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFpKXx8ISgibmV3Ij09PWV8fCFzKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoaSgibmV3Iix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHBfbmV3IiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfWlmKGkoIm9sZCIsdCkpe2NvbnN0IHQ9bmV3IFVSTChlLGxvY2F0aW9uLmhyZWYpO3Quc2VhcmNoUGFyYW1zLnNldCgibW9iaWxlYXBwIiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfXJldHVybiBlfX0sOTA5Nzk4KGUsdCxvKXtvLmQodCx7Zmx1c2hEZWxlZ2F0ZTooKT0+bn0pO2NvbnN0IG49bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSl9LDI0NzkwMShlLHQsbyl7dmFyIG47by5kKHQse1N0ZFRoZW1lOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KG58fChuPXt9KSl9LDM4NjkzMShlLHQsbyl7by5kKHQse3RyYWNrRXZlbnQ6KCk9PmF9KTt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMDIzMSk7bygxNzk3NzEpO2NvbnN0IHM9KDAsbi5nZXRMb2dnZXIpKCJDb21tb24uVHJhY2tFdmVudCIpO2xldCByPSExO2NvbnN0IGE9KGUsdCxvKT0+e2lmKHIpcmV0dXJuO2xldCBuPShlP2UrIjoiOiIiKSt0O28mJihuKz0iICIrbykscy5sb2dOb3JtYWwobiksKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCF3aW5kb3cuX1VOSVRfVEVTVFMmJndpbmRvdy5ndGFnJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLHQse2V2ZW50X2NhdGVnb3J5OmUsZXZlbnRfbGFiZWw6b30pfTt2YXIgbCxjLGg7IWZ1bmN0aW9uKGUpe2UuR1VJPSJHVUkifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2UuQ2hhcnRIZWFkZXJUb29sYmFyPSJDaGFydCBIZWFkZXIgVG9vbGJhciIsZS5DaGFydEJvdHRvbVRvb2xiYXI9IkNoYXJ0IEJvdHRvbSBUb29sYmFyIixlLkNoYXJ0TGVmdFRvb2xiYXI9IkNoYXJ0IExlZnQgVG9vbGJhciIsZS5UaW1lSW50ZXJ2YWw9IlRpbWUgSW50ZXJ2YWwiLGUuTG9hZENoYXJ0TGF5b3V0PSJMb2FkIGNoYXJ0IGxheW91dCJ9KGN8fChjPXt9KSksZnVuY3Rpb24oZSl7ZS5SYW5nZT0icmFuZ2UiLGUuR29Ubz0iZ28gdG8iLGUuQ2hhcnRQcm9wZXJ0aWVzPSJjaGFydCBwcm9wZXJ0aWVzIixlLkNvbXBhcmU9ImNvbXBhcmUiLGUuU2VsZWN0TGF5b3V0PSJzZWxlY3QgbGF5b3V0IixlLk1hZ25ldE1vZGU9Im1hZ25ldCBtb2RlIixlLk1hZ25ldFNuYXBzPSJtYWduZXQgc25hcHMiLGUuRHJhd2luZ01vZGU9ImRyYXdpbmcgbW9kZSIsZS5Mb2NrQWxsRHJhd2luZz0ibG9jayBhbGwgZHJhd2luZyIsZS5SZW1vdmVEcmF3aW5nPSJyZW1vdmUgZHJhd2luZyIsZS5SZW1vdmVJbmRpY2F0b3I9InJlbW92ZSBpbmRpY2F0b3IiLGUuUmVtb3ZlQWxsPSJyZW1vdmUgYWxsIixlLkhpZGVEcmF3aW5ncz0iaGlkZSBkcmF3aW5ncyIsZS5IaWRlSW5kaWNhdG9ycz0iaGlkZSBpbmRpY2F0b3JzIixlLkhpZGVQb3NpdGlvbnM9ImhpZGUgcG9zaXRpb25zIixlLkhpZGVBbGw9ImhpZGUgYWxsIixlLlN5bmM9InN5bmMiLGUuU3luY01vZGU9InN5bmMgbW9kZSIsZS5Td2l0Y2hDaGFydExheW91dD0iU3dpdGNoIGNoYXJ0IGxheW91dCIsZS5EZWxldGVDaGFydExheW91dD0iRGVsZXRlIGNoYXJ0IGxheW91dCIsZS5Mb2FkQ2hhcnRMYXlvdXQ9IkxvYWQgY2hhcnQgbGF5b3V0IixlLkFkZFRvRmF2b3JpdGVzPSJBZGQgdG8gZmF2b3JpdGVzIixlLlNvcnQ9IlNvcnQifShofHwoaD17fSkpfSwyMzU3MjQoZSx0LG8pe28uZCh0LHtNb2RpZmllcnM6KCk9PnIsaGFzaEZyb21FdmVudDooKT0+bCxob3RrZXlIYXNoVG9BcmlhS2V5c2hvcnRjdXRzOigpPT5nLGh1bWFuUmVhZGFibGVIYXNoOigpPT51LGh1bWFuUmVhZGFibGVNb2RpZmllcnM6KCk9PmMsaXNNYWNLZXlib2FyZDooKT0+cyxtb2RpZmllcnNGcm9tRXZlbnQ6KCk9PmF9KTt2YXIgbixpPW8oNzM4NDU4KTshZnVuY3Rpb24oZSl7ZVtlLktleUNvZGU9MjU1XT0iS2V5Q29kZSIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLkFsdD01MTJdPSJBbHQiLAplW2UuU2hpZnQ9MTAyNF09IlNoaWZ0IixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KG58fChuPXt9KSk7Y29uc3Qgcz1pLmlzTWFjfHxpLmlzSU9TO3ZhciByO2Z1bmN0aW9uIGEoZSl7bGV0IHQ9MDtyZXR1cm4gZS5zaGlmdEtleSYmKHQrPTEwMjQpLGUuYWx0S2V5JiYodCs9NTEyKSxlLmN0cmxLZXkmJih0Kz0yNTYpLGUubWV0YUtleSYmKHQrPTIwNDgpLHR9ZnVuY3Rpb24gbChlKXtyZXR1cm4gYShlKXxlLmtleUNvZGV9IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuQWx0PTUxMl09IkFsdCIsZVtlLlNoaWZ0PTEwMjRdPSJTaGlmdCIsZVtlLk1vZD1zPzIwNDg6MjU2XT0iTW9kIixlW2UuQ29udHJvbD0yNTZdPSJDb250cm9sIixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KHJ8fChyPXt9KSk7ZnVuY3Rpb24gYyhlLHQ9IXMpe2xldCBvPSIiO3JldHVybiAyNTYmZSYmKG8rPW0ocz8iXiI6IkN0cmwiLHQpKSw1MTImZSYmKG8rPW0ocz8i4oylIjoiQWx0Iix0KSksMTAyNCZlJiYobys9bShzPyLih6ciOiJTaGlmdCIsdCkpLDIwNDgmZSYmKG8rPW0ocz8i4oyYIjoiV2luIix0KSksb31jb25zdCBoPXs5OiLih6UiLDEzOiLihrUiLDI3OiJFc2MiLDg6cz8i4oyrIjoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoi4oaQIiwzODoi4oaRIiwzOToi4oaSIiw0MDoi4oaTIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiRG90IiwxOTE6Ii8ifSxkPXs5OiJUYWIiLDEzOiJFbnRlciIsMjc6IkVzYyIsODoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnMiLDQ2OiJEZWwiLDE4ODoiLCIsMTkwOiIuIiwxOTE6Ii8ifTtmb3IobGV0IGU9MTtlPD0xNjtlKyspaFtlKzExMV09YEYke2V9YCxkW2UrMTExXT1gRiR7ZX1gO2Z1bmN0aW9uIHUoZSl7bGV0IHQ9YyhlKTtjb25zdCBvPTI1NSZlO3JldHVybiB0Kz1vIGluIGg/aFtvXTpTdHJpbmcuZnJvbUNoYXJDb2RlKG8pLHR9ZnVuY3Rpb24gbShlLHQpe3JldHVybmAke2V9JHt0PyIgKyAiOnM/IiAiOiIifWB9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PVtdOzI1NiZlJiZ0LnB1c2goIkN0cmwiKSw1MTImZSYmdC5wdXNoKCJBbHQiKSwxMDI0JmUmJnQucHVzaCgiU2hpZnQiKSwyMDQ4JmUmJnQucHVzaCgiTWV0YSIpO2NvbnN0IG89MjU1JmU7cmV0dXJuIG8gaW4gaD90LnB1c2goaFtvXSk6dC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobykpLHQuam9pbigiKyIpfX0sNzIxMzY5KGUsdCxvKXtvLmQodCx7aXNOYXRpdmVVSUludGVyYWN0aW9uOigpPT5zLGlzVGV4dEVkaXRpbmdGaWVsZDooKT0+aX0pO3ZhciBuPW8oMjM1NzI0KTtmdW5jdGlvbiBpKGUpe2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO3JldHVybiJ0ZXh0Ij09PXR8fCJlbWFpbCI9PT10fHwibnVtYmVyIj09PXR8fCJwYXNzd29yZCI9PT10fHwic2VhcmNoIj09PXR8fCJ0ZWwiPT09dHx8InVybCI9PT10fXJldHVybiJURVhUQVJFQSI9PT1lLnRhZ05hbWV8fGUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG89MjU1JmU7aWYoMjc9PT1vfHxvPj4+ND09NylyZXR1cm4hMTtzd2l0Y2goZV5vKXtjYXNlIG4uTW9kaWZpZXJzLkFsdDpyZXR1cm4oMzg9PT1vfHw0MD09PW8pJiYiU0VMRUNUIj09PXQudGFnTmFtZXx8aSh0KTtjYXNlIG4uTW9kaWZpZXJzLkFsdCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZDppZig2Nz09PW98fCFuLmlzTWFjS2V5Ym9hcmQmJjQ1PT09byl7Y29uc3QgZT10Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtpZihlJiYhZS5pc0NvbGxhcHNlZClyZXR1cm4hMH1yZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gbz49MzMmJm88PTQwJiZpKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuU2hpZnQ6Y2FzZSAwOnJldHVybiA5PT09bz8hKCF0Lm93bmVyRG9jdW1lbnR8fHQ9PT10Lm93bmVyRG9jdW1lbnQuYm9keXx8dD09PXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOighZnVuY3Rpb24oZSl7aWYoIkJVVFRPTiI9PT1lLnRhZ05hbWUpcmV0dXJuITA7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7aWYoInN1Ym1pdCI9PT10fHwiYnV0dG9uIj09PXR8fCJyZXNldCI9PT10fHwiY2hlY2tib3giPT09dHx8InJhZGlvIj09PXQpcmV0dXJuITB9cmV0dXJuITF9KHQpfHwxMz09PW98fDMyPT09b3x8OT09PW8pJiYoImZvcm0iaW4gdHx8dC5pc0NvbnRlbnRFZGl0YWJsZSl9cmV0dXJuITF9fSw5OTU2NzgoZSx0LG8pe28uZCh0LHtpbml0TW9kYWxTY3JvbGxMb2NrSGFuZGxlcjooKT0+cyxyZWxlYXNlTW9kYWxTY3JvbGxMb2NrOigpPT5hLHJlcXVlc3RNb2RhbFNjcm9sbExvY2s6KCk9PnJ9KTtjb25zdCBuPSJtb2RhbC1zY3JvbGwtbG9jay1yZXF1ZXN0IixpPSJtb2RhbC1zY3JvbGwtbG9jay1yZWxlYXNlIjtmdW5jdGlvbiBzKGUsdCxvKXtlLmFkZEV2ZW50TGlzdGVuZXIobiwoKCk9PnQoKSkpLGUuYWRkRXZlbnRMaXN0ZW5lcihpLCgoKT0+bygpKSl9ZnVuY3Rpb24gcihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG4pKX1mdW5jdGlvbiBhKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoaSkpfX0sNTcwMTkzKGUsdCxvKXtvLmQodCx7Rk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURTooKT0+bn0pO2NvbnN0IG49ImRhdGEtZm9jdXMtdHJhcCJ9LDY4MjM4MShlLHQsbyl7by5kKHQse0ZPQ1VTQUJMRV9TRUxFQ1RPUjooKT0+aSxjcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcjooKT0+aCxnZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzOigpPT5jLGlzSFRNTE9yU1ZHRWxlbWVudDooKT0+ZCxpc0luZXJ0Um9vdDooKT0+YSxpc1Zpc2liaWxpdHlWaXNpYmxlOigpPT5zfSkKO2NvbnN0IG49WyJidXR0b24iLCJmaWVsZHNldCIsIm9wdGdyb3VwIiwib3B0aW9uIiwic2VsZWN0IiwidGV4dGFyZWEiLCJpbnB1dCJdLGk9WyJidXR0b24iLCJpbnB1dCIsInNlbGVjdCIsInRleHRhcmVhIiwiYVtocmVmXSIsImF1ZGlvW2NvbnRyb2xzXSIsInZpZGVvW2NvbnRyb2xzXSIsJ1t0YWJpbmRleD0iMCJdJywnW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJ10ubWFwKChlPT5uLmluY2x1ZGVzKGUpP2Ake2V9Om5vdCg6ZGlzYWJsZWQpYDplKSkubWFwKChlPT5gJHtlfTpub3QoW3RhYmluZGV4PSItMSJdKWApKS5qb2luKCIsIik7ZnVuY3Rpb24gcyhlKXtyZXR1cm4idmlzaWJsZSI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLnZpc2liaWxpdHl9ZnVuY3Rpb24gcihlLHQpe2lmKGUubWF0Y2hlcygiW2luZXJ0XSxbaW5lcnRdICoiKSlyZXR1cm4hMDtsZXQgbz1lO2Zvcig7byE9PXQmJm51bGwhPT1vOyl7aWYobChvKSlyZXR1cm4hMDtvPW8ucGFyZW50RWxlbWVudH1yZXR1cm4hMX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLm1hdGNoZXMoIltpbmVydF0iKXx8bChlKX1mdW5jdGlvbiBsKGUpe3JldHVybiJub25lIj09PWdldENvbXB1dGVkU3R5bGUoZSkuZGlzcGxheX1mdW5jdGlvbiBjKCl7cmV0dXJuIGl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gdD0+cyh0KSYmIXIodCxlKX1mdW5jdGlvbiBkKGUpe3JldHVybiBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnR8fGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50fX0sOTM0MDgxKGUsdCxvKXtvLmQodCx7U1RPUllfUE9TVEVSUzooKT0+bn0pO2NvbnN0IG49W3tuYW1lOiJuZW9uIixwb3N0ZXI6by5wKyJuZW9uLmZmOTMzMTBlNzk1ZDU0YTVkMzliLndlYnAifSx7bmFtZToibWFycyIscG9zdGVyOm8ucCsibWFycy5jYjZhMzcxZmE3ODIzNjYzNDNiZS53ZWJwIn0se25hbWU6InNub3ciLHBvc3RlcjpvLnArInNub3cuOGY1ZWM5Y2Q4NGE3NTJmNDZiNjgud2VicCJ9XX0sODQyMTAyKGUsdCxvKXtvLmQodCx7aXNTaG93UHJvbW9WaWRlbzooKT0+cn0pO3ZhciBuPW8oODA5NDM2KTtjb25zdCBpPW5bIm1lZGlhLW1mLXRhYmxldC1sYW5kc2NhcGUiXSxzPW5bIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdO2Z1bmN0aW9uIHIoKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGkpLm1hdGNoZXMsdD13aW5kb3cubWF0Y2hNZWRpYShzKS5tYXRjaGVzLG89d2luZG93LmlubmVyV2lkdGgsbj13aW5kb3cuaW5uZXJIZWlnaHQ7cmV0dXJuISFlfHwhIXQmJm4+PW99fSw5Nzg1NChlLHQsbyl7by5kKHQse29uZVRhcFNpZ25Nb2RhbERlbGVnYXRlOigpPT5ufSk7Y29uc3Qgbj1uZXcobyg5NDgzODApLkRlbGVnYXRlKX0sMjM5NzE5KGUsdCxvKXtvLmQodCx7R0xPQkFMX0VWRU5UX1NJR05fSU5fU1VDQ0VTUzooKT0+bixzaWdudXBTb3VyY2U6KCk9Pmksc2lnbnVwU291cmNlTWV0YTooKT0+c30pO2NvbnN0IG49IkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MiLGk9InNpZ251cFNvdXJjZSIscz0ic2lnbnVwU291cmNlTWV0YSJ9LDcxOTE5NChlLHQsbyl7by5kKHQse3BpY2tTdG9yeUluZGV4OigpPT5zfSk7dmFyIG49byg5MzIzNjUpO2NvbnN0IGk9InNpZ25pbi1wcm9tby1zdG9yeSI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWZ1bmN0aW9uKCl7dHJ5e2NvbnN0IGU9bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LnRpbWVzdGFtcD90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSgpLG89bnVsbCE9PXQ/ZS5pbmRleE9mKHQubmFtZSk6LTE7aWYobnVsbCE9PXQmJi0xIT09byYmRGF0ZS5ub3coKS10LnRpbWVzdGFtcDw4NjRlNSlyZXR1cm4gbztjb25zdCBzPWZ1bmN0aW9uKGUsdCl7aWYoZTw9MXx8dDwwKXJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZSk7cmV0dXJuKHQrMStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtMSkpKSVlfShlLmxlbmd0aCxvKTtyZXR1cm4gbi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGksSlNPTi5zdHJpbmdpZnkoe25hbWU6ZVtzXSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pKSxzfX0sNzU2MjcxKGUsdCxvKXtvLmQodCx7U1RPUllfTkFNRVM6KCk9Pm59KTtjb25zdCBuPVsibmVvbiIsIm1hcnMiLCJzbm93Il19LDg2NDAzNChlLHQsbyl7dmFyIG47by5kKHQse0JpbGxpbmdDeWNsZTooKT0+bixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+cyxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0obnx8KG49e30pKTtjb25zdCBpPTcscz0zMH0sOTEzNzA2KGUsdCxvKXtvLmQodCx7T0ZGRVJTOigpPT5ufSk7Y29uc3Qgbj17dHJpYWw6InRyaWFsIixlYXJseV9hY2Nlc3M6ImVhcmx5X2FjY2VzcyIsYmxhY2tfZnJpZGF5OiJibGFja19mcmlkYXkiLGN5YmVyX21vbmRheToiY3liZXJfbW9uZGF5IixjdXN0b21fZGlzY291bnQ6ImN1c3RvbV9kaXNjb3VudCIsbG9uZ2VyX2N5Y2xlOiJsb25nZXJfY3ljbGUiLHVwZ3JhZGU6InVwZ3JhZGUiLGV4dGVuZDoiZXh0ZW5kIixsYXN0X2NoYW5jZToibGFzdF9jaGFuY2UiLG9uZV91c2Q6Im9uZV91c2QiLG9uZV91c2RfeWVhcmx5OiJvbmVfdXNkX3llYXJseSIsdGhyZWVfbW9udGhzOiJ0aHJlZV9tb250aHMiLHVuc3Vic2NyaWJlOiJ1bnN1YnNjcmliZSIsc2l4X21vbnRoczoic2l4X21vbnRocyIsY291cG9uOiJjb3Vwb24ifTt2YXIgaSxzOyFmdW5jdGlvbihlKXtlLlR3b1dlZWtzPSJMYXN0Q2hhbmNlXzJ3IixlLlR3b0RheXM9Ikxhc3RDaGFuY2VfMmQiLGUuSG91cnM9Ikxhc3RDaGFuY2VfMjRoIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN0YXJ0ZWQ9InN0YXJ0ZWQiLGUuRGF5NT0iYWZ0ZXIgNSBkYXlzIixlLkRheTc9ImFmdGVyIDcgZGF5cyIsZS5EYXkxMj0iYWZ0ZXIgMTIgZGF5cyIsZS5EYXkxND0iYWZ0ZXIgMTQgZGF5cyIsCmUuV2VlazE9ImFmdGVyIDEgd2VlayIsZS5XZWVrMj0iYWZ0ZXIgMiB3ZWVrcyIsZS5XZWVrMz0iYWZ0ZXIgMyB3ZWVrcyIsZS5XZWVrND0iYWZ0ZXIgNCB3ZWVrcyIsZS5GaW5pc2hlZD0iZmluaXNoZWQifShzfHwocz17fSkpfSw0NTAxNDAoZSx0LG8pe28uZCh0LHtNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5yLGluaXRNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5hfSk7dmFyIG49byg4Mzk0MjYpLGk9byg4NDg5ODgpO2NvbnN0IHM9ImRhdGEtbW91c2UtY2xpY2stYXV0by1ibHVyIjtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5faGFuZGxlcj1lPT57ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoKDAsaS5pc0tleWJvYXJkQ2xpY2spKGUpfHxlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJiJJTlBVVCIhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUmJm51bGwhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoYFske3N9XWApJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlciwhMCl9c3RhdGljIGF0dHJpYnV0ZXMoZT0hMCl7cmV0dXJuIGU/e1tzXTohMH06e319fWNvbnN0IGE9KDAsbi5kZWZhdWx0KSgoKCk9Pm5ldyByKSl9LDUxODc1KGUsdCxvKXtmdW5jdGlvbiBuKGUpe2UucHJldmVudERlZmF1bHQoKX1vLmQodCx7cHJldmVudERlZmF1bHQ6KCk9Pm4scHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudTooKT0+c30pO2NvbnN0IGk9WyJpbnB1dDpub3QoW3R5cGVdKSIsJ2lucHV0W3R5cGU9InRleHQiXScsJ2lucHV0W3R5cGU9ImVtYWlsIl0nLCdpbnB1dFt0eXBlPSJwYXNzd29yZCJdJywnaW5wdXRbdHlwZT0ic2VhcmNoIl0nLCdpbnB1dFt0eXBlPSJudW1iZXIiXScsJ2lucHV0W3R5cGU9InVybCJdJywidGV4dGFyZWEiLCJhW2hyZWZdIiwnKltjb250ZW50ZWRpdGFibGU9InRydWUiXScsIltkYXRhLWFsbG93LWNvbnRleHQtbWVudV0iXTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7dCYmIXQuY2xvc2VzdChpLmpvaW4oIiwgIikpJiZlLnByZXZlbnREZWZhdWx0KCl9fSwxNTAxNTAoZSx0LG8pe28uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9PnMscmFuZG9tSGFzaE46KCk9PnJ9KTtjb25zdCBuPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBzKCl7cmV0dXJuIHIoMTIpfWZ1bmN0aW9uIHIoZSl7bGV0IHQ9IiI7Zm9yKGxldCBvPTA7bzxlOysrbyl7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPW5bZV19cmV0dXJuIHR9fSw1NDA1NzgoZSx0LG8pe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvWy0vXFxeJCorPy4oKXxbXF17fV0vZywiXFwkJiIpfW8uZCh0LHtyZWdFeHBFc2NhcGU6KCk9Pm59KX0sMTA3MDQ1KGUsdCxvKXtvLmQodCx7TnVtZXJpY0Zvcm1hdHRlcjooKT0+c30pO3ZhciBuPW8oNTk4OTIyKSxpPW8oNTQ2NDg1KTtjbGFzcyBze2NvbnN0cnVjdG9yKGU9e30pe3RoaXMuX29wdGlvbnM9ZX1mb3JtYXQoZSx0PXt9KXtpZighTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybiBTdHJpbmcoZSk7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om89dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQsbm9FeHBvbmVudGlhbEZvcm06cj10aGlzLl9vcHRpb25zLm5vRXhwb25lbnRpYWxGb3JtfT10LHttaW5QcmVjaXNpb246YSxwcmVjaXNpb246bH09dGhpcy5fb3B0aW9ucyxjPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShvKTtyZXR1cm4gdm9pZCAwPT09bD9zLl9mb3JtYXROb0VJbXBsKGUsYyxsLGEpOigwLG4uZm9ybWF0TnVtYmVyKShlLGMsbCxyLGEpfXBhcnNlKGUsdCl7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om8scHJlY2lzaW9uOnN9PXRoaXMuX29wdGlvbnMscj0oMCxpLmdldE51bWJlckZvcm1hdCkob3x8dD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtsZXQgYT0oMCxuLnBhcnNlTnVtYmVyKShlLHIpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/KHMmJihhPSthLnRvRml4ZWQocykpLHtyZXM6ITAsdmFsdWU6YX0pOntyZXM6ITF9fXN0YXRpYyBmb3JtYXROb0UoZSx0KXtyZXR1cm4gdGhpcy5fZm9ybWF0Tm9FSW1wbChlLHQpfXN0YXRpYyBfZm9ybWF0Tm9FSW1wbChlLHQsbyxpKXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGUpPyh0PXQ/P3tncm91cGluZ1NlcGFyYXRvcjoiIixkZWNpbWFsU2lnbjoiLiJ9LCgwLG4uZm9ybWF0TnVtYmVyKShlLHQsbywhMCxpKSk6U3RyaW5nKGUpfX19LDEyNTIxOChlLHQsbyl7by5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9PnN9KTt2YXIgbj1vKDExNTI5MyksaT1vKDc1NTYyNyk7Y2xhc3MgcyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om89ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG8/KDAsbi5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgcyhlKX19fSw4NTYzMjQoZSx0LG8pe28uZCh0LHsKZ2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5hLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgcj1lPT5lO2Z1bmN0aW9uIGEoZSl7cj1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoZSl9fSw5ODQzNzYoZSx0LG8pe28uZCh0LHtQTEFDRV9IT0xERVI6KCk9PnIsVm9sdW1lRm9ybWF0dGVyOigpPT5jfSk7dmFyIG49byg3ODMyNTQpLGk9byg2MDE4NDEpLHM9bygxMDcwNDUpO2NvbnN0IHI9Ii0tLSIsYT1be3ZhbHVlOjMsbGV0dGVyOiJLIn0se3ZhbHVlOjYsbGV0dGVyOiJNIn0se3ZhbHVlOjksbGV0dGVyOiJCIn0se3ZhbHVlOjEyLGxldHRlcjoiVCJ9XTtmdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbz1lLXQ7cmV0dXJuIGEuZmluZCgoZT0+ZS52YWx1ZT49bykpPz9hW2EubGVuZ3RoLTFdfWNsYXNzIGN7Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJ2b2x1bWUiO2NvbnN0e3ByZWNpc2lvbjp0PTAsbWluUHJlY2lzaW9uOm89MCxkaW1lbnNpb25QcmVjaXNpb246bj0yLGRpbWVuc2lvbk1pblByZWNpc2lvbjppPTAsc2lnbmlmaWNhbnREaWdpdHM6cj0zLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLG5vRXhwb25lbnRpYWxGb3JtOmwscmVtb3ZlU3BhY2VCZWZvcmVEaW1lbnNpb246Y309ZTt0aGlzLl9wcmVjaXNpb249dCx0aGlzLl9mb3JtYXR0ZXI9bmV3IHMuTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX3ByZWNpc2lvbixtaW5QcmVjaXNpb246byxub0V4cG9uZW50aWFsRm9ybTpsfSksdGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uPW4sdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyPW5ldyBzLk51bWVyaWNGb3JtYXR0ZXIoe2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLHByZWNpc2lvbjp0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24sbWluUHJlY2lzaW9uOmksbm9FeHBvbmVudGlhbEZvcm06bH0pLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzPXIsdGhpcy5fZnJhY3Rpb25hbFZhbHVlcz12b2lkIDAhPT10JiZ0PjAsdGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb249Yz8iIjoi4oCvIix0aGlzLl9vcHRpb25zPWV9c3RhdGUoKXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6ZSwuLi50fT10aGlzLl9vcHRpb25zO3JldHVybiB0fWZvcm1hdChlLHQpe2lmKCEoMCxpLmlzTnVtYmVyKShlKSlyZXR1cm4gcjtpZihNYXRoLmFicyhlKT49MWUxMDApcmV0dXJuIG4udChudWxsLHtjb250ZXh0OiJ2b2x1bWUtZm9ybWF0dGVyIn0sbyg1NzA2MikpO2xldCBzPSIiO01hdGguYWJzKGUpPDEmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSksZTwwP3M9IuKIkiI6ZT4wJiZ0Py5zaWduUG9zaXRpdmUmJihzPSIrIiksZT1NYXRoLmFicyhlKTtjb25zdCBhPSEhKHQ/Lmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdD8/dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBjLGgsZD1NYXRoLmZsb29yKE1hdGgubG9nMTAoZSkpKzE7aWYoZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSksZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpYz10aGlzLl9mb3JtYXROdW1iZXIoZSxhLHRoaXMuX2Zvcm1hdHRlcik7ZWxzZXtsZXQgdD1sKGQsdGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpO2NvbnN0IG89TWF0aC5wb3coMTAsdC52YWx1ZSk7ZT0rKGUvbykudG9GaXhlZCh0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24pKm8sdD1sKE1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyksYz10aGlzLl9mb3JtYXROdW1iZXIoZS9NYXRoLnBvdygxMCx0LnZhbHVlKSxhLHRoaXMuX2RpbWVuc2lvbkZvcm1hdHRlciksaD10LmxldHRlcn1yZXR1cm4gaD9gJHtzfSR7Y30ke3RoaXMuX3NwYWNlQmVmb3JlRGltZW5zaW9ufSR7aH1gOmAke3N9JHtjfWB9cGFyc2UoZSx0KXtpZihlPT09cilyZXR1cm57ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn07Y29uc3Qgbz17SzoxZTMsTToxZTYsQjoxZTksVDoxZTEyfSxuPShlPWUucmVwbGFjZSgi4oiSIiwiLSIpKS5zbGljZSgtMSk7aWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcz10aGlzLl9mb3JtYXR0ZXIucGFyc2UoZS5zbGljZSgwLC0xKS50cmltKCksdCkscj1zLnJlcz9zLnZhbHVlOk5hTjtyZXR1cm4oMCxpLmlzTnVtYmVyKShyKT97cmVzOiEwLHZhbHVlOnIqb1tuXX06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnRyaW0oKSx0KTtsZXQgbj1vLnJlcz9vLnZhbHVlOk5hTjtyZXR1cm4tMD09PW4mJihuPTApLCgwLGkuaXNOdW1iZXIpKG4pP3tyZXM6ITAsdmFsdWU6bn06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgYyhlKX1fZm9ybWF0TnVtYmVyKGUsdCxvKXtpZih0aGlzLl9mcmFjdGlvbmFsVmFsdWVzJiYwIT09ZSl7Y29uc3QgdD0xNC1NYXRoLmNlaWwoTWF0aC5sb2cxMChlKSksbz1NYXRoLnBvdygxMCx0KTtlPU1hdGgucm91bmQoZSpvKS9vfXJldHVybiBvLmZvcm1hdChlLHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6dH0pfX19LDc3MzA4OChlLHQsbyl7dmFyIG47ZnVuY3Rpb24gaShlLHQpewpyZXR1cm4icGVyaW9kLWJhY2siPT09ZS50eXBlJiYicGVyaW9kLWJhY2siPT09dC50eXBlP2UudmFsdWU9PT10LnZhbHVlOiJ0aW1lLXJhbmdlIj09PWUudHlwZSYmInRpbWUtcmFuZ2UiPT09dC50eXBlJiYoZS5mcm9tPT09dC5mcm9tJiZlLnRvPT09dC50byl9ZnVuY3Rpb24gcyhlLHQ9ITEpe2lmKCJwZXJpb2QtYmFjayI9PT1lLnR5cGUpe2xldCBvPWUudmFsdWU7cmV0dXJuIHQmJiJZVEQiIT09byYmIkQiPT09by5zbGljZSgtMSkmJihvPW8uc2xpY2UoMCwtMSkpLG99cmV0dXJuInIsIitlLmZyb20rIjoiK2UudG99ZnVuY3Rpb24gcihlKXtjb25zdCB0PS9yLChcZCspOihcZCspLy5leGVjKGUpO3JldHVybiBudWxsIT09dD97ZnJvbTpOdW1iZXIodFsxXSksdG86TnVtYmVyKHRbMl0pLHR5cGU6InRpbWUtcmFuZ2UifTp7dmFsdWU6ZSx0eXBlOiJwZXJpb2QtYmFjayJ9fW8uZCh0LHthcmVFcXVhbFRpbWVGcmFtZXM6KCk9PmksY29udmVydFN0clRvVGltZUZyYW1lOigpPT5yLGNvbnZlcnRUaW1lRnJhbWVUb1N0cjooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUGVyaW9kQmFjaz0icGVyaW9kLWJhY2siLGUuVGltZVJhbmdlPSJ0aW1lLXJhbmdlIn0obnx8KG49e30pKX0sMzQ1MTUxKGUsdCxvKXtvLmQodCx7aG90S2V5RGVzZXJpYWxpemU6KCk9PnMsaG90S2V5U2VyaWFsaXplOigpPT5pfSk7dmFyIG49byg2NDE1OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAsbi5odG1sRXNjYXBlKShKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gSlNPTi5wYXJzZSgoMCxuLmRlY29kZUhUTUxFbnRpdGllcykoZSkpfX0sMTYwMjk2KGUsdCxvKXtvLmQodCx7ZW52aXJvbm1lbnQ6KCk9PmksaXNEZWJ1ZzooKT0+YSxpc0xvY2FsOigpPT5zLGlzUHJvZDooKT0+cn0pO2NvbnN0IG49bmV3IFNldChbImJhdHRsZSIsInN0YWdpbmciLCJ0ZXN0IiwibG9jYWwiXSk7ZnVuY3Rpb24gaSgpe2NvbnN0IGU9c2VsZi5lbnZpcm9ubWVudDtyZXR1cm4gZnVuY3Rpb24oZSl7bi5oYXMoZSl8fGNvbnNvbGUud2FybigiSW52YWxpZCBlbnZpcm9ubWVudCAiK2UpfShlKSxlfWZ1bmN0aW9uIHMoKXtyZXR1cm4ibG9jYWwiPT09aSgpfWZ1bmN0aW9uIHIoKXtyZXR1cm4iYmF0dGxlIj09PWkoKX1mdW5jdGlvbiBhKCl7cmV0dXJuIXIoKX19LDQyOTY2KGUsdCxvKXt2YXIgbj1vKDg1NjMyNCksaT1vKDk2MzA5OCk7KDAsbi5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxuLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDgxMDQxKGUsdCxvKXtvLmQodCx7U3RkVGhlbWU6KCk9Pm4uU3RkVGhlbWV9KTt2YXIgbj1vKDI0NzkwMSl9LDQwNzc5OShlLHQsbyl7by5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1vKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSw2MTk5OTIoZSx0LG8pe28uZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBuPW8oMzE4OTc0KTtvKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxuLm9uV2lkZ2V0KSgpfX0sNjEwMjY4KGUsdCxvKXsoMCxvKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw0Mzg1MzkoZSx0LG8pe2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3R7cmVuZGVyR29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2c6dH09YXdhaXQgUHJvbWlzZS5hbGwoW28uZSg1NDk4KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgyOTUzNiksby5lKDUxODQpLG8uZSg1NjI1Miksby5lKDM5MDUpLG8uZSg3NDgzMCksby5lKDUwNjIyKSxvLmUoMzMyMjEpLG8uZSgxMTcyNSksby5lKDUxMzA5KSxvLmUoMTEyNTcpLG8uZSgzMjM4Nyksby5lKDE3OTkxKSxvLmUoMTI5NjUpLG8uZSg2ODc0MSksby5lKDgzNzgxKSxvLmUoNTI4MTEpLG8uZSg1Mzg4MSldKS50aGVuKG8uYmluZChvLDQ3NTgwNikpO3QoZSl9by5kKHQse3Nob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZzooKT0+bn0pfSwzODE1MTcoZSx0LG8pe28uZCh0LHtpc1RyaWFsQXZhaWxhYmxlRm9yVXNlcjooKT0+aX0pO3ZhciBuPW8oOTEzNzA2KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbz1lLmF2YWlsYWJsZV9vZmZlcnN8fHt9O3JldHVybiB0JiZ2b2lkIDAhPT1vW24uT0ZGRVJTLnRyaWFsXX19LDI4NDQ4NChlLHQsbyl7by5yKHQpLG8uZCh0LHtRdW90ZVRpY2tlcjooKT0+U30pO3ZhciBuPW8oOTY0NDg2KSxpPW8oMjIxMDYxKSxzPW8oNjAxODQxKSxyPW8oMTI1MjE4KSxhPW8oODkxNzc4KSxsPW8oNzU1NjI3KSxjPW8oOTg0Mzc2KSxoPW8oNTYzOTE4KSxkPW8oMzA2OTApLHU9byg1MjgzOTYpLG09bygxMTM1NjcpLGc9bygxNTk1MTMpLF89byg5NzMxMTkpLHA9byg2MDI4NyksZj1vKDc4Njc2MCksdz1vKDEwMTcxMik7Y29uc3Qgdj0oMCxpLmdldExvZ2dlcikoIlF1b3RlVGlja2VyIikseT17YWRkRGVzY3JpcHRpb25UaXRsZTohMCxjaGFuZ2VEaXJlY3Rpb25Eb3duQ2xhc3M6ImRvd24iLGNoYW5nZURpcmVjdGlvblVwQ2xhc3M6InVwIixjaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3M6Im5ldXRyYWwiLGNoYW5nZUluQnJhY2tldHM6ITEsY2hhbmdlUGVyY2VudEluQnJhY2tldHM6ITEsbGFzdFByaWNlVGltZUluQnJhY2tldHM6ITAsbGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHM6ITAscnRjVGltZUluQnJhY2tldHM6ITAsY2xpZW50TmFtZToicXVvdGUtdGlja2VyIixkb250RHllUHJpY2U6ITEsZmFsbGluZ0JnOm51bGwsZ3Jvd2luZ0JnOm51bGwsbGFzdEZhbGxpbmdDbGFzczoiZmFsbGluZyIsbGFzdEdyb3dpbmdDbGFzczoiZ3Jvd2luZyIscXVvdGVTZXNzaW9uOm51bGwsc2lnbk5lZ2F0aXZlOiEwLHNpZ25Qb3NpdGl2ZTohMSxjdXN0b21QcmljZUZvcm1hdHRlcjpudWxsLGN1c3RvbVRpbWVGb3JtYXR0ZXI6bnVsbCwKc2Vzc2lvblN0YXR1c0NsYXNzU3VmZml4OiItLWZvci10aWNrZXIiLGRhdGFNb2RlQ2xhc3NTdWZmaXg6Ii0tZm9yLXRpY2tlciIsc2hvd0ludmFsaWRTeW1ib2xTdGF0dXM6ITEsaW5kaWNhdG9yc1Rvb2x0aXBUeXBlOiJjdXN0b20iLGxhc3RQcmljZUxhc3RDaGFyU3VwOiExLGxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5OiExLGluaXRlZEhvb2s6dm9pZCAwLHNldFN0YXRlSG9vazp2b2lkIDAscGVybWlzc2lvbkRlbmllZEhvb2s6dm9pZCAwLG5vU3VjaFN5bWJvbEhvb2s6dm9pZCAwfSxiPS9bS01CVF0vO2Z1bmN0aW9uIFMoZSx0LG89e30pe3RoaXMuZW5hYmxlZD0hMCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zeW1ib2xPcmlnaW5hbD1udWxsLHRoaXMuX29wdGlvbnM9KDAsbi5kZWVwRXh0ZW5kKSh7fSx5LG8pLCExIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJiEwIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJmRlbGV0ZSB0aGlzLl9vcHRpb25zLnNpZ25OZWdhdGl2ZSxvLmN1c3RvbVByaWNlRm9ybWF0dGVyJiYodGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXI9by5jdXN0b21QcmljZUZvcm1hdHRlciksby5jdXN0b21UaW1lRm9ybWF0dGVyJiYodm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLmxhc3RQcmljZXx8dm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl90aW1lRm9ybWF0dGVyPW8uY3VzdG9tVGltZUZvcm1hdHRlcjp0aGlzLl90aW1lRm9ybWF0dGVyPXtsYXN0UHJpY2U6by5jdXN0b21QcmljZUZvcm1hdHRlcixydGM6by5jdXN0b21QcmljZUZvcm1hdHRlcn0pLHRoaXMuX3BlcmNlbnRGb3JtYXR0ZXI9bmV3IHIuUGVyY2VudGFnZUZvcm1hdHRlcix0aGlzLl9kZWZhdWx0UHJpY2VGb3JtYXR0ZXI9bmV3IGwuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwfSksdGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2RlZmF1bHRQcmljZUZvcm1hdHRlcix0aGlzLl92b2x1bWVGb3JtYXR0ZXI9bmV3IGMuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pLHRoaXMuX2NhY2hlPXt9LHRoaXMuX2xhc3RQcmljZT1udWxsLHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZD0iIix0aGlzLl9sYXN0TWluTW92ZT0wLHRoaXMuX2VsZW1lbnRzPXt9LHRoaXMuX3RleHROb2Rlcz17fSx0aGlzLl9jaGFuZ2VWb2x1bWVMZXR0ZXI9dGhpcy5fZ2V0Q2hhbmdlVm9sdW1lTGV0dGVyQ2FsbGJhY2soKSx0aGlzLl9zZXRFbGVtZW50cyh0KSx0aGlzLl9oaWdobGlnaHRlcnM9e30sdGhpcy5faW5pdEhpZ2hsaWdodGVycygpLHRoaXMuX29wdGlvbnMuc2V0U3RhdGVIb29rJiZ0aGlzLnNldFN0YXRlSG9vayh0aGlzLl9vcHRpb25zLnNldFN0YXRlSG9vayksdGhpcy5xdW90ZVNlc3Npb249dGhpcy5fb3B0aW9ucy5xdW90ZVNlc3Npb258fCgwLGcuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXI9dGhpcy5vbkRhdGEuYmluZCh0aGlzKSx0aGlzLl9jb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5jb25uZWN0LmJpbmQodGhpcyksMCl9ZnVuY3Rpb24gTihlKXtjb25zdCB0PWUuc2VhcmNoKGIpLG89dD49MD9lLnNsaWNlKHQpOiIiO3JldHVyblt0PjA/ZS5zdWJzdHJpbmcodCwwKTowPT09dD8iIjplLG9dfWZ1bmN0aW9uIFQoZSx0LG8sbixpKXt2YXIgcyxyPW51bGw7ZnVuY3Rpb24gYSgpe2lmKHMmJihjbGVhclRpbWVvdXQocykscz12b2lkIDApLG98fHQpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5iYWNrZ3JvdW5kPSIiO2lmKCFvfHwhdClmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKW4mJmVbcl0uY2xhc3NMaXN0LnJlbW92ZShuKSxpJiZlW3JdLmNsYXNzTGlzdC5yZW1vdmUoaSl9cmV0dXJue3Nob3c6ZnVuY3Rpb24obCl7dmFyIGM9MDtpZihsIT09cil7aWYobnVsbCE9PXImJm51bGwhPT1sJiYoYz1sLXIpLGEoKSxzPXNldFRpbWVvdXQoYSw3NTApLDA8Yyl7aWYodClmb3IodmFyIGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLnN0eWxlLmJhY2tncm91bmQ9dDtlbHNlIGlmKG4pZm9yKGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLmNsYXNzTGlzdC5hZGQobil9ZWxzZSBpZihjPDApaWYobylmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uc3R5bGUuYmFja2dyb3VuZD1vO2Vsc2UgaWYoaSlmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uY2xhc3NMaXN0LmFkZChpKTtudWxsIT09bCYmKHI9bCl9fSxoaWRlOmF9fVMucHJvdG90eXBlLl9zZXRFbGVtZW50cz1mdW5jdGlvbihlKXt0aGlzLl9jb250YWluZXI9ZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlIiwic3ltYm9sLWNoYW5nZSJdKSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb249dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlLWRpcmVjdGlvbiIsInN5bWJvbC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1kaXJlY3Rpb24iXSksdGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1jaGFuZ2UtcHQiLCJzeW1ib2wtY2hhbmdlLXB0Il0pLHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiLCJzeW1ib2wtZGVzY3JpcHRpb24tbmFtZSJdKSx0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZSIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1wdCIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtZXh0LWhycy1jbG9zZSIpLAp0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1uaWdodC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlIiksdGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlLXB0IiksdGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZT10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLW5pZ2h0LWNsb3NlIiksdGhpcy5fZWxlbWVudHMuaW5kdXN0cnk9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtaW5kdXN0cnkiLCJzeW1ib2wtaW5kdXN0cnkiXSksdGhpcy5fZWxlbWVudHMubGFzdD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1sYXN0Iiwic3ltYm9sLWxhc3QiXSksdGhpcy5fZWxlbWVudHMuc2VjdG9yPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNlY3RvciIsInN5bWJvbC1zZWN0b3IiXSksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cz10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLXNlc3Npb24tc3RhdHVzIiksdGhpcy5fZWxlbWVudHMuc2hvcnROYW1lPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNob3J0LW5hbWUiLCJzeW1ib2wtc2hvcnQtbmFtZSJdKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1kYXRhLW1vZGUiKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbGFzdC1wZXJpb2QiKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSkpLHRoaXMuX3RleHROb2Rlcy5jaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuY2hhbmdlKSx0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlUGVyY2VudD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZSksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0Nsb3NlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2UpLHRoaXMuX3RleHROb2Rlcy5uaWdodENoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDbG9zZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubGFzdD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0KSx0aGlzLl90ZXh0Tm9kZXMub3Blbj10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1vcGVuIiksdGhpcy5fdGV4dE5vZGVzLmVwcz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1lcHMiKSx0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLW1hcmtldC1jYXAiKSx0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXByZXYtY2xvc2UiKSx0aGlzLl90ZXh0Tm9kZXMuZGl2aWRlbmRzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLWRpdmlkZW5kcyIpLHRoaXMuX3RleHROb2Rlcy5wcmljZUVhcm5pbmdzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXBlIiksdGhpcy5fdGV4dE5vZGVzLnZvbHVtZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC12b2x1bWUiKSx0aGlzLl90ZXh0Tm9kZXMuaGlnaD10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1oaWdoIiksdGhpcy5fdGV4dE5vZGVzLmxvdz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sb3ciKSx0aGlzLl90ZXh0Tm9kZXMuY3VycmVuY3k9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtY3VycmVuY3kiKSx0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1scC10aW1lIiksdGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sYXN0LXJlbGVhc2UtZGF0ZSIpLHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXJ0Yy10aW1lIiksdGhpcy5fdGV4dE5vZGVzLm50Y1RpbWU9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtbnRjLXRpbWUiKSx0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0PXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZWxlbWVudHMubGFzdC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3BhbiIpKSk6dGhpcy5fZWxlbWVudHMubGFzdCx0aGlzLl90ZXh0Tm9kZXMubGFzdEhpZ2hsaWdodD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0KSx0aGlzLl9lbGVtZW50cy5sYXN0U3VwPXRoaXMuX29wdGlvbnMubGFzdFByaWNlTGFzdENoYXJTdXA/dGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3VwIikpKTpbXSwKdGhpcy5fdGV4dE5vZGVzLmxhc3RTdXA9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdFN1cCl9LFMucHJvdG90eXBlLl9maW5kRWxlbWVudHM9ZnVuY3Rpb24oZSx0KXt2YXIgbz0oMCxzLmlzQXJyYXkpKHQpP3Q6W3RdO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLG8ubWFwKCh0PT5BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCkpKSkpfSxTLnByb3RvdHlwZS5fZmluZFRleHROb2Rlcz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9maW5kRWxlbWVudHMoZSx0KSl9LFMucHJvdG90eXBlLl9nZXRPckNyZWF0ZVRleHROb2Rlcz1mdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pnt2YXIgdD10aGlzLl9nZXRGaXJzdFRleHROb2RlKGUpO3JldHVybiB0fHwodD1lLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLGUuYXBwZW5kQ2hpbGQodCkpLHR9KSl9LFMucHJvdG90eXBlLl9hcHBlbmRBbmRHZXROZXdFbGVtZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiBlLmFwcGVuZENoaWxkKG8pLG99LFMucHJvdG90eXBlLl9nZXRGaXJzdFRleHROb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmNoaWxkTm9kZXMsbz10Lmxlbmd0aC0xO28+PTA7by0tKWlmKDM9PT10Lml0ZW0obykubm9kZVR5cGUpcmV0dXJuIHQuaXRlbShvKTtyZXR1cm4gbnVsbH0sUy5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihlKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fc3Vic2NyaWJlZFN5bWJvbD1lfHx0aGlzLl9zeW1ib2wsdGhpcy5xdW90ZVNlc3Npb24uc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMCl9LFMucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fY29ubmVjdFRpbWVvdXRJZCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMucXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMSl9LFMucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlLHQpe3RoaXMuZW5hYmxlZCYmKCJvayI9PT1lLnN0YXR1cz90aGlzLnN1Y2Nlc3NEYXRhKGUsdCk6InBlcm1pc3Npb25fZGVuaWVkIj09PWUuc3RhdHVzP3RoaXMub25QZXJtaXNzaW9uRGVuaWVkKGUpOiJlcnJvciI9PT1lLnN0YXR1cyYmdGhpcy5lcnJvckRhdGEoZSkpfSxTLnByb3RvdHlwZS5zdWNjZXNzRGF0YT1mdW5jdGlvbihlLHQpe2UudmFsdWVzJiZ0aGlzLnNldFN0YXRlKGUudmFsdWVzLGUsdCl9LFMucHJvdG90eXBlLm9uUGVybWlzc2lvbkRlbmllZD1mdW5jdGlvbihlKXsoMCx3LmlzU2ZRdW90ZURhdGEpKGUpfHwoMCxmLmlzTWN4UXVvdGVEYXRhKShlKT90aGlzLl9vcHRpb25zLnBlcm1pc3Npb25EZW5pZWRIb29rP3RoaXMuX29wdGlvbnMucGVybWlzc2lvbkRlbmllZEhvb2soZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKTp0aGlzLmVycm9yRGF0YShlKTp0aGlzLmRvd25ncmFkZURhdGEoZSl9LFMucHJvdG90eXBlLmVycm9yRGF0YT1mdW5jdGlvbihlKXt0aGlzLl9vcHRpb25zLnNob3dJbnZhbGlkU3ltYm9sU3RhdHVzJiYodGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sKSx0aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgoZT0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDplLGRhdGE6e3ZhbHVlczp7Y3VycmVudF9zZXNzaW9uOiJpbnZhbGlkIn19LHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlfSkpKSksdGhpcy5fb3B0aW9ucy5ub1N1Y2hTeW1ib2xIb29rPyh0aGlzLl9zeW1ib2xPcmlnaW5hbCYmdGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sT3JpZ2luYWwpLHRoaXMuX29wdGlvbnMubm9TdWNoU3ltYm9sSG9vay5jYWxsKHRoaXMsZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKSk6di5sb2dXYXJuKCJObyBkYXRhIGZvcjogIit0aGlzLl9zeW1ib2wpfSxTLnByb3RvdHlwZS5kb3duZ3JhZGVEYXRhPWZ1bmN0aW9uKGUpe3tjb25zdCB0PWUmJmUudmFsdWVzJiZlLnZhbHVlcy5hbHRlcm5hdGl2ZSxvPXRoaXMuX3N5bWJvbD09PXQ7aWYoISh0JiYtMSE9PXQuaW5kZXhPZigiOiIpKXx8bylyZXR1cm4gdm9pZCB0aGlzLmVycm9yRGF0YShlKTt0aGlzLl9zeW1ib2xPcmlnaW5hbD10aGlzLl9zeW1ib2wsdGhpcy5fc3ltYm9sPXQsdGhpcy5fc3Vic2NyaWJlZD0hMSx0aGlzLmNvbm5lY3QoKX19LFMucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPW4udmFsdWVzO3RoaXMuX2lzVm9sdW1lRm9ybWF0PSJ2b2x1bWUiPT09ZS5mb3JtYXQsbnVsbD09aS5wcmljZXNjYWxlJiZudWxsPT1pLm1pbm1vdiYmbnVsbD09aS5mcmFjdGlvbmFsJiZudWxsPT1pLm1pbm1vdmUyfHwodGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2lzVm9sdW1lRm9ybWF0JiZ0aGlzLl92b2x1bWVGb3JtYXR0ZXJ8fG5ldyBsLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZXx8MTAwLG1pbk1vdmU6ZS5taW5tb3Z8fDEsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pKQo7Y29uc3Qgcz10aGlzLl9vcHRpb25zLHI9dGhpcy5fcGVyY2VudEZvcm1hdHRlcixhPXRoaXMuX3ByaWNlRm9ybWF0dGVyLGc9dGhpcy5fZGVmYXVsdFByaWNlRm9ybWF0dGVyLGY9dGhpcy5fdm9sdW1lRm9ybWF0dGVyLHc9KGUsdD0hMCk9PnQ/YCgke2V9KWA6ZSx5PXZvaWQgMCE9PXMuc2lnblBvc2l0aXZlQ2hhbmdlP3Muc2lnblBvc2l0aXZlQ2hhbmdlOnMuc2lnblBvc2l0aXZlLGI9ZT0+KDAsXy5xdW90ZVRpY2tlckZvcm1hdENoYW5nZSkoZSxpLHMpLFM9ZT0+e2NvbnN0IHQ9ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnksc2lnbk5lZ2F0aXZlOnMuc2lnbk5lZ2F0aXZlfSk7cmV0dXJuIHcodCxzLmNoYW5nZVBlcmNlbnRJbkJyYWNrZXRzKX0sTj1hLmZvcm1hdC5iaW5kKGEpLFQ9Zy5mb3JtYXQuYmluZChnKSxFPWYuZm9ybWF0LmJpbmQoZiksQz1lPT5udWxsPT1lP2MuUExBQ0VfSE9MREVSOlQoZSk7cy5kaXNhYmxlQ2hhbmdlfHwodGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlLGkuY2hhbmdlLGIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmNoYW5nZVBlcmNlbnQsaS5jaGFuZ2VfcGVyY2VudCxTKSxudWxsIT1pLmNoYW5nZSYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLmNoYW5nZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSxpLmNoYW5nZSxzLmNoYW5nZVVwRm9udENvbG9yLHMuY2hhbmdlRG93bkZvbnRDb2xvcixzLmNoYW5nZU5ldXRyYWxGb250Q29sb3IpLHRoaXMuX3NldENoYW5nZURpcmVjdGlvbih0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb24saS5jaGFuZ2UpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5leHRIcnNDaGFuZ2UsaS5yY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlUGVyY2VudCxpLnJjaHAsUyksbnVsbCE9aS5yY2gmJihzLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2UsdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksaS5yY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlRGlyZWN0aW9uLGkucmNoKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2UsaS5uY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2VQZXJjZW50LGkubmNocCxTKSxudWxsIT1pLm5jaCYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudCksaS5uY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VEaXJlY3Rpb24saS5uY2gpKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlLGkucHJldl9jbG9zZV9wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5kaXZpZGVuZHMsZS5kaXZpZGVuZHNfeWllbGQsKGU9Pm51bGw9PWU/Yy5QTEFDRV9IT0xERVI6ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnMuc2lnblBvc2l0aXZlLHNpZ25OZWdhdGl2ZTpzLnNpZ25OZWdhdGl2ZX0pKSwhMCk7bGV0IHg9KDAsdS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKGkpO2lmKHgmJih4PXRoaXMuX3ByZXBhcmVTeW1ib2xEZXNjcmlwdGlvbih4KSx0aGlzLl9zZXRUZXh0c0NvbnRlbnQodGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb24seCksdGhpcy5fb3B0aW9ucy5hZGREZXNjcmlwdGlvblRpdGxlKSlmb3IodmFyIEw9MDtMPHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uLmxlbmd0aDtMKyspdGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb25bTF0uc2V0QXR0cmlidXRlKCJ0aXRsZSIseCk7aWYoKG51bGwhPWkuc2hvcnRfbmFtZXx8bnVsbCE9aS5leGNoYW5nZSkmJmUuc2hvcnRfbmFtZSl7dmFyIEQ9ZS5zaG9ydF9uYW1lOyJRVUFOREwiPT09ZS5leGNoYW5nZSYmdm9pZCAwIT09ZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMV0mJihEPWUuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzFdKyIsICIrZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMF0pLHRoaXMuc2V0U2hvcnROYW1lKEQpfWVbInJlZmVyZW5jZS1sYXN0LXBlcmlvZCJdJiZ0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmUHJvbWlzZS5hbGwoW28uZSgyMzU2Nyksby5lKDczOTcpXSkudGhlbihvLmJpbmQobywyMTU1NzkpKS50aGVuKCh0PT57dGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QsdC5wZXJpb2RGb3JtYXR0ZXIoZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0pKX0pKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmdm9pZCAwPT09ZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0mJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLCLigJQiKSx0aGlzLl9zZXRMYXN0VmFsdWUoaS5sYXN0X3ByaWNlLGkubWlubW92ZTIsTiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2xvc2UsaS5ydGMsTiksaS5ydGMmJnRoaXMuX2hpZ2hsaWdodGVycy5leHRIcnNDbG9zZS5zaG93KGkucnRjKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5uaWdodENsb3NlLGkubnRjLE4pLGkubnRjJiZ0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZS5zaG93KGkubnRjKSwKaS5pbmR1c3RyeSYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmluZHVzdHJ5LGUuaW5kdXN0cnksKGU9PmUpKSxpLnNlY3RvciYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLnNlY3RvcixlLnNlY3RvciksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cyYmaS5jdXJyZW50X3Nlc3Npb24mJih0aGlzLl9zZXNzaW9uU3RhdHVzSW5zdGFuY2VzP3RoaXMuX3Nlc3Npb25TdGF0dXNJbnN0YW5jZXMuZm9yRWFjaCgoZT0+ZS5zZXRTdGF0dXMoaS5jdXJyZW50X3Nlc3Npb24pKSk6dGhpcy5fc2Vzc2lvblN0YXR1c0luc3RhbmNlcz10aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgodD0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDp0LHNob3J0OiEwLGRhdGE6e3ZhbHVlczppfSxxdW90ZVNlc3Npb246dGhpcy5xdW90ZVNlc3Npb24sc3ltYm9sOmUub3JpZ2luYWxfbmFtZSxtYW51YWxVcGRhdGU6ITAsdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGUsc2Vzc2lvblN0YXR1c0ljb246dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzSWNvbn0pKSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm9wZW4saS5vcGVuX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmhpZ2gsaS5oaWdoX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxvdyxpLmxvd19wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5lcHMsZS5lYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtLEMsITApLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLnByaWNlRWFybmluZ3MsZS5wcmljZV9lYXJuaW5nc190dG0sQywhMCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwLGUubWFya2V0X2NhcF9iYXNpYyxFLCEwKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy52b2x1bWUsZS52b2x1bWUsRSwhMCk7Y29uc3QgRj0oMCxtLnByZXBhcmVDdXJyZW5jeVZhbHVlKShpKTtpZihGJiZ0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5jdXJyZW5jeSxGLHAucXVvdGVUaWNrZXJGb3JtYXRDdXJyZW5jeSwhMCksKGkubHBfdGltZXx8ZS5scF90aW1lKSYmdGhpcy5fdGV4dE5vZGVzLmxhc3RQcmljZVRpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5sYXN0UHJpY2U/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFByaWNlKGUubHBfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoImxhc3QgcHJpY2UgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkubGFzdF9yZWxlYXNlX2RhdGV8fGUubGFzdF9yZWxlYXNlX2RhdGUpJiZ0aGlzLl90ZXh0Tm9kZXMubGFzdFJlbGVhc2VEYXRlLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlKGUubGFzdF9yZWxlYXNlX2RhdGUsZS5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMubGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHMpKTp2LmxvZ0Vycm9yKCJsYXN0UmVsZWFzZURhdGUgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkucnRjX3RpbWV8fGUucnRjX3RpbWUpJiZ0aGlzLl90ZXh0Tm9kZXMucnRjVGltZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lLHcodGhpcy5fdGltZUZvcm1hdHRlci5ydGMoZS5ydGNfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5ydGNUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoInJ0YyB0aW1lIGZpZWxkIHJlcXVlc3RlZCB3aXRoIG5vIGZvcm1hdHRlciBwcm92aWRlZCIpKSwoaS5udGNfdGltZXx8ZS5udGNfdGltZSkmJnRoaXMuX3RleHROb2Rlcy5udGNUaW1lLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm50Y1RpbWUsdyh0aGlzLl90aW1lRm9ybWF0dGVyLnJ0YyhlLm50Y190aW1lLGUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLnJ0Y1RpbWVJbkJyYWNrZXRzKSk6di5sb2dFcnJvcigibnRjIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLG51bGwhPWkubGFzdF9wcmljZSlmb3IoTD0wO0w8dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5sZW5ndGg7TCsrKXRoaXMuX2VsZW1lbnRzLnVwZGF0ZU1vZGVbTF0uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTt0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlJiYoaS51cGRhdGVfbW9kZXx8aS51cGRhdGVfbW9kZV9zZWNvbmRzKSYmKHRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM/dGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcy5mb3JFYWNoKCh0PT50LnVwZGF0ZSh7dmFsdWVzOmV9KSkpOnRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM9dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5tYXAoKHQ9Pm5ldyBkLkRhdGFNb2RlSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLmRhdGFNb2RlQ2xhc3NTdWZmaXgsZWw6dCxkYXRhOnt2YWx1ZXM6ZX0sbW9kZUludGVydmFsOmUudXBkYXRlX21vZGVfc2Vjb25kcyxzaG9ydDohMCwKdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGV9KSkpKSx0aGlzLl9zZXRTdGF0ZUhvb2smJnRoaXMuX3NldFN0YXRlSG9vayh0LnZhbHVlcyxuLnZhbHVlcyx0LmNvbXBsZXRlLHRoaXMuZ2V0T3B0aW9ucygpKSx0aGlzLl9sYXN0UHJpY2U/dGhpcy5faGlnaGxpZ2h0ZXJzLmxhc3Quc2hvdyhlLmxhc3RfcHJpY2UpOm51bGw9PT10aGlzLl9sYXN0UHJpY2UmJih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgicXVvdGUtdGlja2VyLWluaXRlZCIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmluaXRlZEhvb2smJnRoaXMuX29wdGlvbnMuaW5pdGVkSG9vaygibGFzdF9wcmljZSJpbiBlKSksdGhpcy5fbGFzdFByaWNlPWUubGFzdF9wcmljZX0sUy5wcm90b3R5cGUuX3NldE5vZGVzVmFsdWU9ZnVuY3Rpb24oZSx0LG8sbil7aWYobnVsbCE9dHx8bilmb3IodmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LHM9MDtzPGUubGVuZ3RoO3MrKyllW3NdLm5vZGVWYWx1ZT1pfSxTLnByb3RvdHlwZS5fc2V0VGV4dHNDb250ZW50PWZ1bmN0aW9uKGUsdCxvKXtpZihlJiZlLmxlbmd0aCYmdClmb3IodmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LGk9MDtpPGUubGVuZ3RoO2krKyllW2ldLnRleHRDb250ZW50PW59LFMucHJvdG90eXBlLl9zZXRMYXN0VmFsdWU9ZnVuY3Rpb24oZSx0LG8pe2lmKG51bGw9PWUpcmV0dXJuO2NvbnN0IG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byhlKTpTdHJpbmcoZSk7aWYobj09PXRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZClyZXR1cm47Y29uc3RbaSxzLHJdPXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZ2V0TGFzdFZhbHVlU3RyaW5nRGlmZih0aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQsbik6WyIiLG4sIiJdLGE9aSxsPXRoaXMuX2NhbGN1bGF0ZVBpcGV0dGVEaWdpdHModCksW2MsaF09dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VMYXN0Q2hhclN1cCYmbD9bcy5zbGljZSgwLC1sKSxzLnNsaWNlKC1sKV06W3MsIiJdO3RoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHkmJih0aGlzLl9pc1ZvbHVtZUZvcm1hdCYmdGhpcy5fY2hhbmdlVm9sdW1lTGV0dGVyLmNhbGwodGhpcyxyKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0LGEpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0SGlnaGxpZ2h0LGMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RTdXAsaCksdGhpcy5fbGFzdFByaWNlRm9ybWF0dGVkPW59LFMucHJvdG90eXBlLl9nZXRDaGFuZ2VWb2x1bWVMZXR0ZXJDYWxsYmFjaz1mdW5jdGlvbigpe2xldCBlO3JldHVybiBmdW5jdGlvbih0KXt0IT09ZSYmKGU9dCx0aGlzLl9lbGVtZW50cy5sYXN0LmZvckVhY2goKHQ9PnszIT09dC5jaGlsZE5vZGVzLmxlbmd0aD90LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKTp0LmNoaWxkTm9kZXNbMl0ubm9kZVZhbHVlPWV9KSkpfX0sUy5wcm90b3R5cGUuX2dldExhc3RWYWx1ZVN0cmluZ0RpZmY9ZnVuY3Rpb24oZSx0KXtpZihlPT09dCl7Y29uc3RbZSxvXT1OKHQpO3JldHVybltlLCIiLG9dfWxldCBvPTA7Zm9yKDtlW29dPT09dFtvXTspbysrO2NvbnN0W24saV09Tih0LnNsaWNlKG8pKTtyZXR1cm5bdC5zbGljZSgwLG8pLG4saV19LFMucHJvdG90eXBlLl9jYWxjdWxhdGVQaXBldHRlRGlnaXRzPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlIT09dGhpcy5fbGFzdE1pbk1vdmUmJih0aGlzLl9sYXN0TWluTW92ZT1lKSx0aGlzLl9sYXN0TWluTW92ZT8oIiIrdGhpcy5fbGFzdE1pbk1vdmUpLmxlbmd0aC0xOjB9LFMucHJvdG90eXBlLl9zZXRDaGFuZ2VGb250Q29sb3I9ZnVuY3Rpb24oZSx0LG8sbixpKXtmb3IodmFyIHM9YS5QcmljZUNvbG9yZXIuZm9ybWF0U2lnbih0LHt1cDpvLGRvd246bixuZXV0cmFsOml9KSxyPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5jb2xvcj1zfSxTLnByb3RvdHlwZS5fc2V0Q2hhbmdlRGlyZWN0aW9uPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBvPTA7bzxlLmxlbmd0aDtvKyspe3ZhciBuPWVbb10uY2xhc3NMaXN0O24udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uVXBDbGFzcyx0PjApLG4udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uRG93bkNsYXNzLHQ8MCksbi50b2dnbGUodGhpcy5fb3B0aW9ucy5jaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3MsMD09PXQpfX0sUy5wcm90b3R5cGUuc2V0U2hvcnROYW1lPWZ1bmN0aW9uKGU9IiIpe3RoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5zaG9ydE5hbWUsZSl9LFMucHJvdG90eXBlLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0Q2FjaGUoInN5bWJvbC1kZXNjcmlwdGlvbjoiK2UpO3JldHVybiB0fHwodD1lLHRoaXMuX3NldENhY2hlKCJzeW1ib2wtZGVzY3JpcHRpb246IitlLHQpLHQpfSxTLnByb3RvdHlwZS5faW5pdEhpZ2hsaWdodGVycz1mdW5jdGlvbigpe3RoaXMuX2hpZ2hsaWdodGVycy5sYXN0PW5ldyBUKHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyksdGhpcy5faGlnaGxpZ2h0ZXJzLmV4dEhyc0Nsb3NlPW5ldyBUKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpLAp0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZT1uZXcgVCh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpfSxTLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExLHRoaXMuZGlzY29ubmVjdCgpfSxTLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITAsdGhpcy5jb25uZWN0KCl9LFMucHJvdG90eXBlLnNldFN0YXRlSG9vaz1mdW5jdGlvbihlKXtudWxsPT09ZSYmdGhpcy5fc2V0U3RhdGVIb29rP2RlbGV0ZSB0aGlzLl9zZXRTdGF0ZUhvb2s6ImZ1bmN0aW9uIj09dHlwZW9mIGUmJih0aGlzLl9zZXRTdGF0ZUhvb2s9ZSl9LFMucHJvdG90eXBlLl9zZXRDYWNoZT1mdW5jdGlvbihlLHQpe251bGw9PXQ/ZGVsZXRlIHRoaXMuX2NhY2hlW2VdOnRoaXMuX2NhY2hlW2VdPXR9LFMucHJvdG90eXBlLl9nZXRDYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlW2VdfSxTLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnN9fSw1Njk4MTkoZSx0LG8pe3ZhciBuPW8oNzcwNzU1KS5vcGVuUGF5d2FsbCxpPW8oNjEzODcwKS5zaG93U2lnbk1vZGFsO3dpbmRvdy5UVkRpYWxvZ3M9e3Nob3dTaWduSW5EaWFsb2c6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSl9LHNob3dHb1Byb0RpYWxvZzpmdW5jdGlvbihlKXtuKGUpfX19LDIyMTA2MShlLHQsbyl7dmFyIG47by5kKHQse0xPR0xFVkVMOigpPT5uLGdldExvZ0hpc3Rvcnk6KCk9PncsZ2V0TG9nTGV2ZWw6KCk9PnUsZ2V0TG9nZ2VyOigpPT55LGdldFJhd0xvZ0hpc3Rvcnk6KCk9PnAsaXNIaWdoUmF0ZUVuYWJsZWQ6KCk9Pm0sbG9nZ2luZ09mZjooKT0+Uyxsb2dnaW5nT246KCk9PmIsc2VyaWFsaXplTG9nSGlzdG9yeUVudHJ5OigpPT5mLHNldEhpZ2hSYXRlU3RhdHVzOigpPT5fLHNldExvZ0xldmVsOigpPT5nfSksZnVuY3Rpb24oZSl7ZVtlLkVSUk9SPTFdPSJFUlJPUiIsZVtlLldBUk5JTkc9Ml09IldBUk5JTkciLGVbZS5JTkZPPTNdPSJJTkZPIixlW2UuTk9STUFMPTRdPSJOT1JNQUwiLGVbZS5ERUJVRz01XT0iREVCVUcifShufHwobj17fSkpO2xldCBpPTA7Y29uc3Qgcz1bXTtsZXQgcj1udWxsLGE9bnVsbCxsPW51bGwsYz1udWxsLGg9bi5XQVJOSU5HLGQ9ITE7ZnVuY3Rpb24gdSgpe3JldHVybiBofWZ1bmN0aW9uIG0oKXtyZXR1cm4gZH1mdW5jdGlvbiBnKGUpe2U9TWF0aC5tYXgobi5FUlJPUixNYXRoLm1pbihuLkRFQlVHLGUpKSxoPWV9ZnVuY3Rpb24gXyhlKXtkPWV9ZnVuY3Rpb24gcChlLHQpe2xldCBvPXMucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gby5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKG89by5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKG89by5zbGljZSgtZSkpLG99ZnVuY3Rpb24gZihlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCB3PShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBvLG49MCxpPTA7Zm9yKG89ZS5sZW5ndGgtMTtvPj0xJiYobis9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtvXSkubGVuZ3RoKSwhKG8tMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW28tMV0pLmxlbmd0aCksbitpPnQpKSk7by0tKTtyZXR1cm4gZS5zbGljZShvKX0ocChlLHQpLm1hcChmKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gdihlLHQsbyxzLGQpe2lmKHQ9PT1hJiZzLmlkPT09bClyZXR1cm47Y29uc3QgdT1uZXcgRGF0ZTtpZihlPD1uLk5PUk1BTCYmZnVuY3Rpb24oZSx0LG8sbixzLHIpeyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAscj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpuLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEsby5wdXNoKGEpLHZvaWQgMCE9PXMmJm8ubGVuZ3RoPnMmJm8uc3BsaWNlKDAsMSl9KHUsdCxvLHMuaWQscy5tYXhDb3VudCxkKSxlPD1oJiYoIXMuaGlnaFJhdGV8fG0oKSkmJighcnx8cy5pZC5tYXRjaChyKSkpe2NvbnN0IG89dS50b0lTT1N0cmluZygpKyI6IitzLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG4uREVCVUc6Y29uc29sZS5kZWJ1ZyhvKTticmVhaztjYXNlIG4uSU5GTzpjYXNlIG4uTk9STUFMOnMuY29sb3I/Y29uc29sZS5sb2coIiVjIitvLCJjb2xvcjogIitzLmNvbG9yKTpjb25zb2xlLmxvZyhvKTticmVhaztjYXNlIG4uV0FSTklORzpjb25zb2xlLndhcm4obyk7YnJlYWs7Y2FzZSBuLkVSUk9SOmNvbnNvbGUuZXJyb3Iobyl9YT10LGw9cy5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBvPVtdO3MucHVzaChvKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9PnYoZSxTdHJpbmcodCksbyxpLG4pfXJldHVybntsb2dEZWJ1ZzpyKG4uREVCVUcpLGxvZ0Vycm9yOnIobi5FUlJPUiksbG9nSW5mbzpyKG4uSU5GTyksbG9nTm9ybWFsOnIobi5OT1JNQUwpLGxvZ1dhcm46cihuLldBUk5JTkcpfX1jb25zdCBiPShlLHQpPT57ZyhuLkRFQlVHKSxkPUJvb2xlYW4oZSkscj10fHxudWxsfSxTPSgpPT57ZyhuLklORk8pfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.778Z","timestamp":1785124876778,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36938.58456da0cdb4bb9bb485.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-867c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f860346d2c801f4cfdefc784cac3bade\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34428,"size_decoded":12931,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-27T06:14:34.058534Z","times_seen":73,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNjkzOCw2MzU5NV0sezk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0NDAwOTYoZSl7ZS5leHBvcnRzPXtzY3JvbGxDb250YWluZXI6InNjcm9sbENvbnRhaW5lci16RzJDcURlMiJ9fSw2MjcwMjIoZSl7ZS5leHBvcnRzPXtmbGV4OiJmbGV4LWdvMFplTlFGIixmaXhlZEhlYWRlcjoiZml4ZWRIZWFkZXItZ28wWmVOUUYiLGZpeGVkRm9vdGVyOiJmaXhlZEZvb3Rlci1nbzBaZU5RRiIsbWFpblNjcm9sbFdyYXBwZXI6Im1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGIixmaXhlZEhlYWRlckNvbnRlbnQ6ImZpeGVkSGVhZGVyQ29udGVudC1nbzBaZU5RRiIsZml4ZWRGb290ZXJDb250ZW50OiJmaXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUYiLG5vU2Nyb2xsOiJub1Njcm9sbC1nbzBaZU5RRiIsbWFpbjoibWFpbi1nbzBaZU5RRiIsbWFpbkNvbnRlbnQ6Im1haW5Db250ZW50LWdvMFplTlFGIn19LDYyMzYxMyhlKXtlLmV4cG9ydHM9e21vYmlsZUNvbnRleHQ6Im1vYmlsZUNvbnRleHQtVnhuNExoWUwiLGFuY2hvckNvbnRleHQ6ImFuY2hvckNvbnRleHQtVnhuNExoWUwifX0sNzYyMDUzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1qV21NbTJWQSIsdGltZXpvbmU6InRpbWV6b25lLWpXbU1tMlZBIixsYXJnZVBhZGRpbmc6ImxhcmdlUGFkZGluZy1qV21NbTJWQSIsc2Vzc2lvbkRheVdyYXBwZXI6InNlc3Npb25EYXlXcmFwcGVyLWpXbU1tMlZBIixub3dXcmFwcGVyOiJub3dXcmFwcGVyLWpXbU1tMlZBIixub3c6Im5vdy1qV21NbTJWQSIsc2Vzc2lvbkRheToic2Vzc2lvbkRheS1qV21NbTJWQSIsd2Vla0RheToid2Vla0RheS1qV21NbTJWQSIsc2Vzc2lvbkRheVNlZ21lbnRzOiJzZXNzaW9uRGF5U2VnbWVudHMtaldtTW0yVkEiLHRpbWVNYXJrV3JhcHBlcjoidGltZU1hcmtXcmFwcGVyLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnQ6InRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSIsdGltZU1hcms6InRpbWVNYXJrLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kczoidGltZU1hcmtTZWdtZW50QWxpZ25CeUVuZHMtaldtTW0yVkEiLHNlZ21lbnQ6InNlZ21lbnQtaldtTW0yVkEiLHNtYWxsOiJzbWFsbC1qV21NbTJWQSIsc3RhcnQ6InN0YXJ0LWpXbU1tMlZBIixlbmQ6ImVuZC1qV21NbTJWQSIsYWN0aXZlOiJhY3RpdmUtaldtTW0yVkEiLGdyZWVuOiJncmVlbi1qV21NbTJWQSIsb3JhbmdlOiJvcmFuZ2UtaldtTW0yVkEiLGJsdWU6ImJsdWUtaldtTW0yVkEiLHB1cnBsZToicHVycGxlLWpXbU1tMlZBIixncmF5OiJncmF5LWpXbU1tMlZBIix0b29sdGlwOiJ0b29sdGlwLWpXbU1tMlZBIix0aW1lOiJ0aW1lLWpXbU1tMlZBIn19LDQ0NzI2OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplIjoiMTZweCIsImNzcy12YWx1ZS1ob3Jpem9udGFsLXBhZGRpbmctc2l6ZSI6IjE2cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplLWZpcnN0IjoiMTFweCIsImNzcy12YWx1ZS12ZXJ0aWNhbC1wYWRkaW5nLXNpemUtbGFzdCI6IjEwcHgiLHBvcHVwV2lkZ2V0V3JhcHBlcjoicG9wdXBXaWRnZXRXcmFwcGVyLUE0djBkbDE3Iixwb3B1cFdpZGdldFdpZHRoOiJwb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3Iixwb3B1cFdpZGdldDoicG9wdXBXaWRnZXQtQTR2MGRsMTciLGxhcmdlOiJsYXJnZS1BNHYwZGwxNyIsbW9iaWxlOiJtb2JpbGUtQTR2MGRsMTciLGRlc2M6ImRlc2MtQTR2MGRsMTciLGljb246Imljb24tQTR2MGRsMTciLHNtYWxsOiJzbWFsbC1BNHYwZGwxNyIsbWVkaXVtOiJtZWRpdW0tQTR2MGRsMTciLHRpdGxlOiJ0aXRsZS1BNHYwZGwxNyIsdGV4dDoidGV4dC1BNHYwZGwxNyIsaXRlbToiaXRlbS1BNHYwZGwxNyIsYm9sZEl0ZW06ImJvbGRJdGVtLUE0djBkbDE3IixhY3Rpb246ImFjdGlvbi1BNHYwZGwxNyIsYWN0aW9uQnRuOiJhY3Rpb25CdG4tQTR2MGRsMTciLGFjdGlvbnM6ImFjdGlvbnMtQTR2MGRsMTciLGFkZGl0aW9uYWxXaWRnZXQ6ImFkZGl0aW9uYWxXaWRnZXQtQTR2MGRsMTcifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSwKNTkwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0JhZGdlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9big5Nzc3Nykscj1uLm4oYSk7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6biwuLi5pfSl7cmV0dXJuIGU/cy5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm4sLi4uaX0pOnQ/cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm4sLi4uaX0pOnMuY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpuLC4uLml9KX1mdW5jdGlvbiB1KHtjbGFzc05hbWU6ZSxzaXplOnQsbGVmdFNsb3Q6bixyaWdodFNsb3Q6aSxjaGlsZHJlbjphLC4uLnV9KXtjb25zdCBjPW8oKShlLHIoKS5iYWRnZSx0JiZyKClbdF0sYSYmcigpLmhhc0NoaWxkcmVuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGwse2NsYXNzTmFtZTpjLC4uLnV9LG4mJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxuKSxhJiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLmNvbnRlbnR9LGEpLGkmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxpKSl9fSwyMzQ2MzYoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7QmFkZ2VTaXplOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0oc3x8KHM9e30pKX0sNzE3OTMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1hdGNoTWVkaWE6KCk9Pm8sdXNlU2FmZU1hdGNoTWVkaWE6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0W24saV09KDAscy51c2VTdGF0ZSkodCk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9d2luZG93Lm1hdGNoTWVkaWEoZSk7ZnVuY3Rpb24gbigpe2kodC5tYXRjaGVzKX1yZXR1cm4gbigpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKX19KSxbZV0pLG59ZnVuY3Rpb24gbyhlKXtjb25zdCB0PSgwLHMudXNlTWVtbykoKCgpPT53aW5kb3cubWF0Y2hNZWRpYShlKS5tYXRjaGVzKSxbXSk7cmV0dXJuIGkoZSx0KX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LG4scyxpKXtmdW5jdGlvbiBvKGkpe2lmKGU+aS50aW1lU3RhbXApcmV0dXJuO2NvbnN0IG89aS50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1vJiZvLm93bmVyRG9jdW1lbnQ9PT1zJiYodC5jb250YWlucyhvKXx8bihpKSl9cmV0dXJuIGkuY2xpY2smJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG8sITEpLGkubW91c2VEb3duJiZzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbywhMSksaS50b3VjaEVuZCYmcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbywhMSksaS50b3VjaFN0YXJ0JiZzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG8sITEpLCgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsbywhMSkscy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbywhMSl9fW4uZCh0LHthZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcjooKT0+c30pfSwyMzY3NjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlT3V0c2lkZUV2ZW50OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big2MTYzMTEpLG89big5MDA4NDEpO2Z1bmN0aW9uIGEoZSl7Y29uc3R7Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cixoYW5kbGVyOmwscmVmZXJlbmNlOnV9PWUsYz0oMCxzLnVzZVJlZikobnVsbCksZD0oMCxzLnVzZVJlZikoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/MDpuZXcgd2luZG93LkN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXApO3JldHVybigwLGkudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT17Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cn0scz11P3UuY3VycmVudDpjLmN1cnJlbnQ7cmV0dXJuKDAsby5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikoZC5jdXJyZW50LHMsbCxkb2N1bWVudCxlKX0pLFt0LG4sYSxyLGxdKSx1fHxjfX0sMjkwMjQzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVNhZmVNb2JpbGVUb3VjaDooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNzM4NDU4KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e3QoaS5tb2JpbGV0b3VjaCl9KSxbXSksZX19LDg2NTA5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUb29sdGlwOigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9bigyOTAyNDMpLG89big3ODc4OTUpO2Z1bmN0aW9uIGEoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm4saGlkZVRvb2x0aXA6YSxvbkNsaWNrOnIsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSx1PSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksYz0oMCxpLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPWMmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+YSYmYSgpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW3UsYV0pO3JldHVybntvbkJsdXI6KDAscy51c2VDYWxsYmFjaykoKGU9PnthJiZhKCl9KSxbYV0pLG9uRm9jdXM6KDAscy51c2VDYWxsYmFjaykoKGU9PnsKIWUudGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpJiZuJiZlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiZuKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjIwMH0pfSksW25dKSxvbkNsaWNrOigwLHMudXNlQ2FsbGJhY2spKChlPT57YyYmdT8uY3VycmVudD8uZm9jdXMoKSxyJiZyKGUpfSksW3IsdSxjXSksdG9vbHRpcDpkLGNsYXNzTmFtZTp2b2lkIDAhPT1kPyJhcHBseS1jb21tb24tdG9vbHRpcCI6dm9pZCAwLHJlZjp1fX19LDg3MzA5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBTFdBWVNfRFJPUERPV05fUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5pLERFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5vfSk7dmFyIHM9big4MDk0MzYpO2NvbnN0IGk9Im5vdCBhbGwiLG89c1sibWVkaWEtc2hvdy1kcmF3ZXIiXX0sNTIwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZW50VmVydGljYWw6KCk9PmN9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDQ0MDA5Nikscj1uLm4oYSk7dmFyIGw9big2MjcwMjIpLHU9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxmaXhlZEhlYWRlcjpuLGZpeGVkRm9vdGVyOmksb25TY3JvbGw6YSxzY3JvbGxSZWY6bCxkYXRhUWFJZDpjfT1lLHtzY3JvbGxDb21wZW5zYXRpb246ZCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOm19PWZ1bmN0aW9uKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSh2b2lkIDApLG49KDAscy51c2VDYWxsYmFjaykoKGU9PntlJiZ0KCh0PT50fHxlLm9mZnNldFdpZHRoLWUuY2xpZW50V2lkdGgpKX0pLFtdKTtyZXR1cm57c2Nyb2xsQ29tcGVuc2F0aW9uOnZvaWQgMCE9PWU/LWUrInB4Ijp2b2lkIDAsc2Nyb2xsUGFkZGluZ0NvbnRhaW5lcjpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkuc2Nyb2xsQ29udGFpbmVyLHJlZjpufSl9fSgpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOmMsY2xhc3NOYW1lOnUoKS5mbGV4fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkSGVhZGVyLG4mJnUoKS5maXhlZEhlYWRlckNvbnRlbnQpfSxuKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLm1haW5TY3JvbGxXcmFwcGVyLHZvaWQgMD09PWQmJnUoKS5ub1Njcm9sbCksb25TY3JvbGw6YSxyZWY6bCxzdHlsZTp7Ii0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uIjpkfX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHUoKS5tYWluLHQmJnUoKS5tYWluQ29udGVudCl9LHQpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkRm9vdGVyLGkmJnUoKS5maXhlZEZvb3RlckNvbnRlbnQpfSxpKSksbSl9fSw2NDA1MTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VNRU5UX0JPVFRPTV9BTElHTl9DRU5URVI6KCk9Pm8sUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZUOigpPT5zLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQ6KCk9PmksUExBQ0VNRU5UX0xFRlRfQUxJR05fQk9UVE9NOigpPT5oLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0NFTlRFUjooKT0+cCxQTEFDRU1FTlRfTEVGVF9BTElHTl9UT1A6KCk9Pm0sUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0JPVFRPTTooKT0+YyxQTEFDRU1FTlRfUklHSFRfQUxJR05fQ0VOVEVSOigpPT5kLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9UT1A6KCk9PnUsUExBQ0VNRU5UX1RPUF9BTElHTl9DRU5URVI6KCk9PmwsUExBQ0VNRU5UX1RPUF9BTElHTl9MRUZUOigpPT5hLFBMQUNFTUVOVF9UT1BfQUxJR05fUklHSFQ6KCk9PnJ9KTtjb25zdCBzPXtuYW1lOiJib3R0b20tbGVmdCIscnRsTmFtZToiYm90dG9tLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjAseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxpPXtuYW1lOiJib3R0b20tcmlnaHQiLHJ0bE5hbWU6ImJvdHRvbS1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MX0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxvPXtuYW1lOiJib3R0b20iLGFuY2hvclBvaW50Ont4Oi41LHk6MX0sY29udGVudFBvaW50Ont4Oi41LHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYT17bmFtZToidG9wLWxlZnQiLHJ0bE5hbWU6InRvcC1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0scj17bmFtZToidG9wLXJpZ2h0IixydGxOYW1lOiJ0b3AtbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbD17bmFtZToidG9wIixhbmNob3JQb2ludDp7eDouNSx5OjB9LGNvbnRlbnRQb2ludDp7eDouNSx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoic2xpZGUiLG92ZXJmbG93VmVydGljYWw6ImNyb3BTbGlkZSJ9LHU9e25hbWU6InJpZ2h0LXRvcCIscnRsTmFtZToibGVmdC10b3AiLGFuY2hvclBvaW50Ont4OjEseTowfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGM9e25hbWU6InJpZ2h0LWJvdHRvbSIscnRsTmFtZToibGVmdC1ib3R0b20iLGFuY2hvclBvaW50Ont4OjEseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGQ9e25hbWU6InJpZ2h0IixydGxOYW1lOiJsZWZ0IiwKYW5jaG9yUG9pbnQ6e3g6MSx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MCx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxtPXtuYW1lOiJsZWZ0LXRvcCIscnRsTmFtZToicmlnaHQtdG9wIixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxoPXtuYW1lOiJsZWZ0LWJvdHRvbSIscnRsTmFtZToicmlnaHQtYm90dG9tIixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxwPXtuYW1lOiJsZWZ0IixydGxOYW1lOiJyaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MSx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifX0sNDc5Mjk3KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4odCxuKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsdCxuKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGUsdCxuKX0pfW4uZCh0LHt3aW5kb3dFdmVudDooKT0+c30pfSw0NDA0NDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xvc2VSZXBvc2l0aW9uT25TY3JvbGxPdXRzaWRlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big3MDY5NDMpLG89big0NzkyOTcpLGE9bigxNTkyNTYpLHI9big4NTQzMzgpO2NvbnN0IGw9KDAsby53aW5kb3dFdmVudCkoInNjcm9sbCIpO2Z1bmN0aW9uIHUoZSx0LG4sbyl7Y29uc3QgdT0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsaS5jcmVhdGVTaWduYWwpKCkpLFtdKSxjPSgwLHMudXNlQ2FsbGJhY2spKCgoKT0+e24oITEsImN1cnJlbnRMZXZlbCIpfSksW25dKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT5sKChlPT57Y29uc3Qgcz1uLmN1cnJlbnQ7aWYoIXMpcmV0dXJuO2NvbnN0IGk9ZS50YXJnZXQ7aSYmKCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKHMsaSl8fCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKGkscykmJnQoKSl9KSwhMCkpLFt0LG5dKX0oZSx0P2M6dS5maXJlLG8pLHV9fSw1Nzc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNJbkV4Y2x1ZGVkQXJlYTooKT0+aX0pO3ZhciBzPW4oNzcxNDQ3KTtmdW5jdGlvbiBpKGUsdCl7aWYoIXQpcmV0dXJuITE7Y29uc3Qgbj0iY3VycmVudCJpbiB0P3QuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6dDtyZXR1cm4hIW4mJigwLHMuaXNJblJlY3QpKGUsbil9fSwxNTkyNTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29uZGl0aW9uYWxFZmZlY3Q6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQsbil7KDAscy51c2VFZmZlY3QpKCgoKT0+e2lmKGUpcmV0dXJuIHQoKX0pLFsuLi5uLGVdKX19LDcxODc3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcjooKT0+Z30pO3ZhciBzLGk9big3Nzk0NzQpLG89bigzMDYyODcpLGE9bigxNTkyNTYpOyFmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkhvcml6b250YWw9MV09Ikhvcml6b250YWwiLGVbZS5WZXJ0aWNhbD0yXT0iVmVydGljYWwiLGVbZS5Cb3RoPTNdPSJCb3RoIn0oc3x8KHM9e30pKTt2YXIgcj1uKDQ0MDQ0Nik7ZnVuY3Rpb24gbChlLHQsbil7Y29uc3Qgcz0oMCxvLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcz0oMCxpLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksbz0oMCxpLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntvLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1zLmN1cnJlbnRbZV0/cy5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHMuY3VycmVudFtlXT1uKTpzLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHMuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LG9dKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bcywoMCxyLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciB1PW4oNzg3ODk1KSxjPW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxtPW4oNTc3ODMyKSxoPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxmPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gZyhlKXtjb25zdCB0PSgwLAppLnVzZVJlZikobnVsbCkse29uQ2xvc2U6bixpc09wZW46cyxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpvPXQsY2xvc2VPbkNsaWNrQXdheTpyPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpnPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6eT1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6dz1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsZXhjbHVkZUFyZWE6RX09ZTtsZXQgUz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pO2NvbnN0IE09bChzLG4se2Nsb3NlT25SZXNpemVXaW5kb3c6eSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfLHJlZjpTfSk7cmV0dXJuIFM9ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHM9KDAsaS51c2VDYWxsYmFjaykoKHM9PntlJiZzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLChlPT57aWYoMjchPT0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpKXJldHVybjtjb25zdCBzPW4uY3VycmVudDtpZighcylyZXR1cm47Y29uc3QgaT1lLnRhcmdldDtpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnMuY29udGFpbnMoaSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0KCEwLCJjdXJyZW50TGV2ZWwiKSl9KSx7Y2FwdHVyZTohMX0pfSksW2VdKTtyZXR1cm4oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKCgwLHAudXNlTWVyZ2VkUmVmcykoW24sc10pKX0oZyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT52KChlPT57Y29uc3Qgbj0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpOzkhPT1uJiZuIT09OStmLk1vZGlmaWVycy5TaGlmdHx8dCghMCwiY3VycmVudExldmVsIil9KSwhMCkpLFt0LG5dKX0odyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuLHMsaSl7Y29uc3Qgbz0iYm9vbGVhbiI9PXR5cGVvZiBzP2guUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6czsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT4oMCxkLndpbmRvd0V2ZW50KShvKSgoZT0+e2NvbnN0IHM9e3g6ZS5jbGllbnRYLHk6ZS5jbGllbnRZfSxvPW4uY3VycmVudDsoMCxtLmlzSW5FeGNsdWRlZEFyZWEpKHMsaSl8fG8mJigwLGMuaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFscykobyxzLngscy55KXx8dCghMSwiY3VycmVudExldmVsIil9KSkpLFt0LGksbixvXSl9KHImJnMsbixTLHIsRSkse3JlcG9zaXRpb25UcmlnZ2VyczpNLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OlN9fX0sNTYyOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aWdub3JlT25TU1I6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDUyOTQxMSk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdD0+KDAsaS51c2VJc05vbkZpcnN0UmVuZGVyKSgpP3MuY3JlYXRlRWxlbWVudChlLHsuLi50fSk6bnVsbH19LDEwNjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VXYXRjaGVkVmFsdWVSZWFkb25seTooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNjE2MzExKTtjb25zdCBvPShlLHQ9ITEsbj1bXSk9Pntjb25zdCBvPSJ3YXRjaGVkVmFsdWUiaW4gZT9lLndhdGNoZWRWYWx1ZTp2b2lkIDAsYT0iZGVmYXVsdFZhbHVlImluIGU/ZS5kZWZhdWx0VmFsdWU6ZS53YXRjaGVkVmFsdWUudmFsdWUoKSxbcixsXT0oMCxzLnVzZVN0YXRlKShvP28udmFsdWUoKTphKTtyZXR1cm4odD9pLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6cy51c2VFZmZlY3QpKCgoKT0+e2lmKG8pe2woby52YWx1ZSgpKTtjb25zdCBlPWU9PmwoZSk7cmV0dXJuIG8uc3Vic2NyaWJlKGUpLCgpPT5vLnVuc3Vic2NyaWJlKGUpfXJldHVybigpPT57fX0pLFtvLC4uLm5dKSxyfX0sNDY4NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByb21pc2U6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDIxNDk4Nyk7ZnVuY3Rpb24gbyhlLHQsbil7Y29uc3RbbyxhXT0oMCxzLnVzZVN0YXRlKShudWxsKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3Qgbj1uZXcgQWJvcnRDb250cm9sbGVyO2xldCBzPW51bGw7cmV0dXJuKDAsaS5yZXNwZWN0QWJvcnQpKG4uc2lnbmFsLGUoKSkudGhlbigoZT0+YSgoKCk9PnM9ZSkpKSkuY2F0Y2goaS5za2lwQWJvcnRFcnJvciksKCk9PntuLmFib3J0KCkscyYmdCYmdChzKX19KSxuP1suLi5uXTp2b2lkIDApLG99fSw3OTk5OTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SGludEJ1dHRvbjooKT0+cn0pO3ZhciBzPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxvPW4oMTM4OTk0KSxhPW4oOTI2OTk1KTtmdW5jdGlvbiByKGUpe2NvbnN0e3NvbHV0aW9uSWQ6dCx0aXRsZTpyPWkudChudWxsLHZvaWQgMCxuKDM0OTUwMSkpLGNsYXNzTmFtZTpsLHRhYkluZGV4OnV9PWUsYz0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5mb3J3YXJkUmVmKSgoKG4saSk9PnMuY3JlYXRlRWxlbWVudCgiYSIsey4uLm4scmVmOmksaHJlZjpgP3NvbHV0aW9uPSR7ZX1gLG9uQ2xpY2s6dH0pKSk7ZnVuY3Rpb24gdCh0KXt0LnByZXZlbnREZWZhdWx0KCksKDAsYS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6ZX0pfX0odCkpLFt0XSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtpY29uOiJxdWVzdGlvbiIsYXJpYUxhYmVsOnIsdG9vbHRpcDpyLGNsYXNzTmFtZTpsLHJlbmRlckNvbXBvbmVudDpjLHRhYkluZGV4OnV9KX19LDg5MTk1NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlV2lkZ2V0OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big4MTE1OTEpLG89big0MjU0MzIpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPWUsCnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWw9bmV3IGkuRnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCl9cmVuZGVyZXIoZSx0KXtjb25zdCBuPXRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpPy5zdGF0dXMoKS52YWx1ZSgpO3JldHVybiJleHBpcmVkIj09PW58fCJkZWxpc3RlZCI9PT1uP251bGw6KDAscy5jcmVhdGVFbGVtZW50KShvLkZ1bGxTZXNzaW9uU2NoZWR1bGVSZW5kZXJlcix7a2V5OmUsY2xhc3NOYW1lOnQsc2hvd0FsbERheXM6dm9pZCAwLHNlc3Npb25EYXlzOnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWwuc2Vzc2lvbnNEYXlzLG5vdzp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLmN1cnJlbnRUaW1lVmFsdWUoKSx0aW1lem9uZTp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLnRpbWV6b25lKCl9KX11cGRhdGVTb3VyY2UoZSl7dGhpcy5fc291cmNlPWUsdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCksdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbD1uZXcgaS5GdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsKGUpfX19LDQyNTQzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlUmVuZGVyZXI6KCk9Pnd9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDEzODYzOCkscj1uKDE4NTI3MSksbD1uKDEwNjkwMCksdT1uKDE1MDE1MCk7dmFyIGM9big3NjIwNTMpO2NvbnN0IGQ9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbShlKXtyZXR1cm4gZC5oYXMoZSl8fGQuc2V0KGUsKDAsdS5yYW5kb21IYXNoKSgpKSwoMCxhLmVuc3VyZURlZmluZWQpKGQuZ2V0KGUpKX1jb25zdCBoPW5ldyBNYXAoW1swLGMuZ3JlZW5dLFsxLGMub3JhbmdlXSxbMixjLmJsdWVdLFs0LGMucHVycGxlXSxbMyxjLmdyYXldXSkscD1uZXcgTWFwKFtbMCxyLnQobnVsbCx2b2lkIDAsbig5Njk0NDkpKV0sWzEsci50KG51bGwsdm9pZCAwLG4oNDI4ODA5KSldLFsyLHIudChudWxsLHZvaWQgMCxuKDE0ODkwKSldLFs0LHIudChudWxsLHZvaWQgMCxuKDYxNTc4MykpXSxbMyxyLnQobnVsbCx2b2lkIDAsbig4Mjk4MykpXV0pLGY9ci50KG51bGwsdm9pZCAwLG4oODQwODMpKTt2YXIgdjtmdW5jdGlvbiBnKGUpe2NvbnN0e3NlZ21lbnQ6dCxmb3JjZVN0YXJ0Om4sZm9yY2VFbmQ6aX09ZSxhPXQuZW5kLnZhbHVlLXQuc3RhcnQudmFsdWUscj1hPC4wMyxsPXtsZWZ0OjEwMCp0LnN0YXJ0LnZhbHVlKyIlIix3aWR0aDpgY2FsYygkezEwMCphfSUgKyAke3I/MjowfXB4KWB9LHU9bygpKGMuc2VnbWVudCxoLmdldCh0LnR5cGUpLChufHx0LnN0YXJ0LmlzRmlyc3RPckxhc3RQb2ludCkmJmMuc3RhcnQsKGl8fHQuZW5kLmlzRmlyc3RPckxhc3RQb2ludCkmJmMuZW5kLHImJmMuc21hbGwsImNvbW1vbi10b29sdGlwLWh0bWwiLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLGQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm5gPGRpdiBjbGFzcz0iJHtjLnRvb2x0aXB9Ij5cblx0XHQ8c3BhbiBjbGFzcz0iJHtoLmdldCh0KX0iPiR7cC5nZXQodCl9PC9zcGFuPlxuXHRcdDxzcGFuIGNsYXNzPSIke2MudGltZX0iPiR7ZX08L3NwYW4+XG5cdDwvZGl2PmB9KHQudG9vbHRpcCx0LnR5cGUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp1LHN0eWxlOmwsImRhdGEtdG9vbHRpcCI6ZH0pfWZ1bmN0aW9uIF8oZSl7Y29uc3R7c2Vzc2lvbkRheTp0fT1lLG49dC5lbnRyaWVzLm1hcCgoKGUsbik9PnMuY3JlYXRlRWxlbWVudChnLHtrZXk6YCR7bShlKX1TZWdtZW50YCxzZWdtZW50OmUsZm9yY2VTdGFydDowPT09biYmMz09PWUudHlwZSxmb3JjZUVuZDpuPT09dC5lbnRyaWVzLmxlbmd0aC0xJiYzPT09ZS50eXBlfSkpKSxpPW8oKShjLnNlc3Npb25EYXksdC5pc0FjdGl2ZSYmYy5hY3RpdmUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9LHQudGl0bGUpLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMuc2Vzc2lvbkRheVNlZ21lbnRzfSxuKSl9ZnVuY3Rpb24geShlKXtjb25zdHtzZXNzaW9uRGF5czp0LGN1cnJlbnRUaW1lTWFyazpufT1lLGk9cGFyc2VJbnQoT2JqZWN0LmtleXModCkuZmlsdGVyKChlPT50W3BhcnNlSW50KGUpXS5pc0FjdGl2ZSkpWzBdKSxhPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLmZpbHRlcigoZT0+ZS5zdGFydC52YWx1ZTw9dCYmZS5lbmQudmFsdWU+PXQpKVswXTtpZih2b2lkIDA9PT1uKXJldHVybltdO2NvbnN0IHM9W107cmV0dXJuKG4uc3RhcnQuaXNGaXJzdE9yTGFzdFBvaW50fHwzPT09bi50eXBlKSYmcy5wdXNoKG4uc3RhcnQpLChuLmVuZC5pc0ZpcnN0T3JMYXN0UG9pbnR8fDM9PT1uLnR5cGUpJiZzLnB1c2gobi5lbmQpLHMuc29ydCgoKGUsdCk9PmUudmFsdWUtdC52YWx1ZSkpLHN9KHRbaV0uZW50cmllcyxuKTtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcj1hLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6bShlKSxjbGFzc05hbWU6Yy50aW1lTWFya30sZS50aXRsZSkpKSxsPTEwMCooMj09PWEubGVuZ3RoP2FbMV0udmFsdWUtYVswXS52YWx1ZTowKSx1PW8oKShsPjEyJiZjLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLGMudGltZU1hcmtTZWdtZW50KTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5zZXNzaW9uRGF5fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnRpbWVNYXJrV3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSxzdHlsZTp7bGVmdDoxMDAqYVswXS52YWx1ZSsiJSIsd2lkdGg6YCR7bH0lYH19LHIpKSl9ZnVuY3Rpb24gdyhlKXsKY29uc3R7Y2xhc3NOYW1lOnQsdGltZXpvbmU6bixzaG93QWxsRGF5czppLHRpbWVab25lQ2xhc3NOYW1lOmF9PWUscj0oMCxsLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmUuc2Vzc2lvbkRheXN9KSx1PSgwLGwudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6ZS5ub3d9KSxkPU9iamVjdC52YWx1ZXMocikuZmlsdGVyKChlPT5lLmlzQWN0aXZlKSlbMF0sbT1vKCkodCxjLndyYXBwZXIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnNlc3Npb25EYXlXcmFwcGVyfSxpP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsT2JqZWN0LnZhbHVlcyhyKS5tYXAoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoXyx7a2V5OnQsc2Vzc2lvbkRheTplfSkpKSk6cy5jcmVhdGVFbGVtZW50KF8se3Nlc3Npb25EYXk6ZH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMubm93V3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5ub3csc3R5bGU6e2xlZnQ6MTAwKnUrIiUifX0pKSkscy5jcmVhdGVFbGVtZW50KHkse3Nlc3Npb25EYXlzOnIsY3VycmVudFRpbWVNYXJrOnV9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkoYy50aW1lem9uZSxhLGkmJmMubGFyZ2VQYWRkaW5nKX0sYCR7Zn06ICR7bn1gKSl9IWZ1bmN0aW9uKGUpe2VbZS5NaW5TZWdtZW50V2lkdGg9MTJdPSJNaW5TZWdtZW50V2lkdGgiLGVbZS5TbWFsbFdpZHRoPS4wM109IlNtYWxsV2lkdGgifSh2fHwodj17fSkpfSw4MTE1OTEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7RnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbDooKT0+JH0pLGZ1bmN0aW9uKGUpe2VbZS5SZWd1bGFyPTBdPSJSZWd1bGFyIixlW2UuUHJlPTFdPSJQcmUiLGVbZS5Qb3N0PTJdPSJQb3N0IixlW2UuQ2xvc2U9M109IkNsb3NlIixlW2UuT3Zlcm5pZ2h0PTRdPSJPdmVybmlnaHQifShzfHwocz17fSkpO3ZhciBpPW4oMjIzNTU2KSxvPW4oNjAxODQxKSxhPW4oNzAwODA5KSxyPW4oMjMyMzY0KSxsPW4oMTI4OTk4KTtmdW5jdGlvbiB1KGUpe3JldHVybiBlL2EubWludXRlc1BlckRheX1mdW5jdGlvbiBjKGUpe3JldHVybiBNYXRoLnJvdW5kKGUqYS5taW51dGVzUGVyRGF5KX12YXIgZD1uKDEzODYzOCksbT1uKDU1NjkxMSksaD1uKDQxNTIzNyk7Y29uc3QgcD1baC5XZWVrRGF5cy5TVU5EQVksaC5XZWVrRGF5cy5NT05EQVksaC5XZWVrRGF5cy5UVUVTREFZLGguV2Vla0RheXMuV0VETkVTREFZLGguV2Vla0RheXMuVEhVUlNEQVksaC5XZWVrRGF5cy5GUklEQVksaC5XZWVrRGF5cy5TQVRVUkRBWV07ZnVuY3Rpb24gZihlKXtyZXR1cm4gdD0+ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KzYpJTcrMX0odCxlKX1jb25zdCB2PWYoLTEpLGc9ZigxKTtjb25zdCBfPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLmxlbmd0aD9lWzBdOnZvaWQgMH07dmFyIHk9big5MjYwODgpLHc9bigzODA1NDApLEU9big4MjI0MzEpO2Z1bmN0aW9uIFMoZSl7Zm9yKCgwLGQuYXNzZXJ0KShOdW1iZXIuaXNJbnRlZ2VyKGUpLCJ0aW1lTWludXRlcyBleHBlY3RlZCB0byBiZSBpbnRlZ2VyIG51bWJlciIpO2U+YS5taW51dGVzUGVyRGF5OyllLT1hLm1pbnV0ZXNQZXJEYXk7Y29uc3QgdD1lJTYwLG49KGUtdCkvNjA7cmV0dXJuKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobiwyKSsiOiIrKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodCwyKX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuYCR7ZX0g4oCUICR7dH1gfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm5gJHt3LndlZWtEYXlzU2hvcnROYW1lc1tlXX0gJHtTKHQpfWB9ZnVuY3Rpb24gTihlLHQsbixzKXsoMCxkLmFzc2VydCkodCE9PWEubWludXRlc1BlckRheSwiU3RhcnQgdGltZSBleHBlY3RlZCB0byBiZSBub3JtYWxpemVkICgyNDowMCBhcyByYW5nZSBzdGFydCBpcyBub3QgYWxsb3dlZCkiKSwoMCxkLmFzc2VydCkoMCE9PXMsIkVuZCB0aW1lIGV4cGVjdGVkIHRvIGJlIG5vcm1hbGl6ZWQgKDAwOjAwIGFzIHJhbmdlIGVuZCBpcyBub3QgYWxsb3dlZCkiKTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLHMpe2NvbnN0IGk9ZSphLm1pbnV0ZXNQZXJEYXkrdDtsZXQgbz1uKmEubWludXRlc1BlckRheStzO3JldHVybiBvPGkmJihvKz03KmEubWludXRlc1BlckRheSksby1pfShlLHQsbixzKTtyZXR1cm4gaTxhLm1pbnV0ZXNQZXJEYXl8fGk9PT1hLm1pbnV0ZXNQZXJEYXkmJjA9PT10P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIE0oUyhlKSxTKHQpKX0odCxzKTpmdW5jdGlvbihlLHQsbixzKXtyZXR1cm4gTSh4KGUsdCkseChuLHMpKX0oZSx0LG4scyl9ZnVuY3Rpb24gVChlLHQpe3JldHVybnt2YWx1ZTplLHRpdGxlOlMoYyhlKSksaXNGaXJzdE9yTGFzdFBvaW50OnR9fWZ1bmN0aW9uIGIoZSl7cmV0dXJuIDMhPT1lLnR5cGV9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntkYXlJbmRleDplLGVudHJpZXM6dC5maWx0ZXIoYil9fWZ1bmN0aW9uIEEoZSx0LG4scz10KXtjb25zdCBpPW4odCksbz1lW2ldO3JldHVybiBpIT09cyYmMD09PW8uZW50cmllcy5sZW5ndGg/QShlLGksbixzKTpDKGksZVtpXS5lbnRyaWVzKX1mdW5jdGlvbiBWKGUpe3JldHVybih0LG4pPT5BKHQsbixlKX1jb25zdCBXPVYodiksaz1WKGcpO2Z1bmN0aW9uIEwoZSx0LG4scyl7cmV0dXJuKGksbyxhKT0+dm9pZCAwPT09aT9bcyxhXTppPT09ZT9bdCxuKG8pXTpbaSxvXX1jb25zdCBQPUwoMSwwLGcsMCksRD1MKDAsMSx2LDEpO2Z1bmN0aW9uIE8oZSx0LG4scyxpKXtjb25zdFtvLGFdPVAoZSx0LGkpLFtyLGxdPUQobixzLGkpOygwLGQuYXNzZXJ0KSh0IT09bnx8bzxyLGBEYXlzIGFyZSBzYW1lICgke3R9KSBidXQgcHJldiBlbnRyeSB0aW1lICgke299KSA+PSBuZXh0IGVudHJ5IHRpbWUgKCR7cn0pYCk7Y29uc3QgdT1jKG8pLG09YyhyKTtyZXR1cm4gaD1UKGEhPT1pPzA6byxhPT09aSkscD1UKGwhPT1pPzE6cixsPT09aSksZj0zLHY9TihhLHUsbCxtKSx7CnN0YXJ0OmgsZW5kOnAsdHlwZTpmLHRvb2x0aXA6dn07dmFyIGgscCxmLHZ9ZnVuY3Rpb24gSShlLHQsbixzLGkpe3JldHVybiBPKGU/LmVuZD8udmFsdWUsdCxuPy5zdGFydD8udmFsdWUscyxpKX1mdW5jdGlvbiB6KGUpe2NvbnN0IHQ9Wy4uLmUuZW50cmllc107Zm9yKGxldCBuPTE7bjxlLmVudHJpZXMubGVuZ3RoO24rKyl7Y29uc3Qgcz1lLmVudHJpZXNbbi0xXSxpPWUuZW50cmllc1tuXTtpZihpLnN0YXJ0LnZhbHVlIT09cy5lbmQudmFsdWUpe2NvbnN0IG49SShzLGUuZGF5SW5kZXgsaSxlLmRheUluZGV4LGUuZGF5SW5kZXgpO3QucHVzaChuKX19cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUuc3RhcnQudmFsdWUtdC5zdGFydC52YWx1ZSkpLHR9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IG49KDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoXyhlLmVudHJpZXMpKTtyZXR1cm4gMD09PWkuc3RhcnQudmFsdWU/W106W0kobixzLGksZS5kYXlJbmRleCxlLmRheUluZGV4KV19ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49Xyh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoKDAseS5kZWZhdWx0KShlLmVudHJpZXMpKTtyZXR1cm4gMT09PWkuZW5kLnZhbHVlP1tdOltJKGksZS5kYXlJbmRleCxuLHMsZS5kYXlJbmRleCldfWZ1bmN0aW9uIEgoZSx0KXtjb25zdCBuPXt0aGlzRGF5OkMoZSx0W2VdLmVudHJpZXMpLHByZXZEYXk6Vyh0LGUpLG5leHREYXk6ayh0LGUpfTtyZXR1cm4gZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7aWYoMD09PWUuZW50cmllcy5sZW5ndGgpcmV0dXJuW0koKDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHQuZGF5SW5kZXgsXyhuLmVudHJpZXMpLG4uZGF5SW5kZXgsZS5kYXlJbmRleCldfShuKT8/ZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7Y29uc3Qgcz1lLmRheUluZGV4O2lmKHQuZGF5SW5kZXghPT1zfHxuLmRheUluZGV4IT09cylyZXR1cm47Y29uc3QgaT1lLmVudHJpZXMsYT0oMCxkLmVuc3VyZURlZmluZWQpKF8oaSkpLHI9KDAsZC5lbnN1cmVEZWZpbmVkKSgoMCx5LmRlZmF1bHQpKGkpKTtyZXR1cm5bMCE9PWEuc3RhcnQudmFsdWU/TygwLHMsYS5zdGFydC52YWx1ZSxzLHMpOnZvaWQgMCwuLi56KGUpLDEhPT1yLmVuZC52YWx1ZT9PKHIuZW5kLnZhbHVlLHMsMSxzLHMpOnZvaWQgMF0uZmlsdGVyKG8uaXNFeGlzdGVudCl9KG4pPz9mdW5jdGlvbihlKXtyZXR1cm5bLi4uRihlLnRoaXNEYXksZS5wcmV2RGF5KSwuLi56KGUudGhpc0RheSksLi4uUihlLnRoaXNEYXksZS5uZXh0RGF5KV19KG4pfXZhciBCPW4oNTU5NjkpLFo9bigyNTQ3MzgpO2NvbnN0IGo9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PS0xLG49bnVsbD09ZT8wOmUubGVuZ3RoLHM9e307Kyt0PG47KXt2YXIgaT1lW3RdOygwLFouZGVmYXVsdCkocyxpWzBdLGlbMV0pfXJldHVybiBzfShwLm1hcCgoZT0+W2Use3RpdGxlOncud2Vla0RheXNTaG9ydE5hbWVzW2VdLGlzQWN0aXZlOiExLGVudHJpZXM6W119XSkpKTtmdW5jdGlvbiBHKGUsdCxuKXtjb25zdCBzPWVbbl0uZW50cmllcztzLnB1c2godCkscy5zb3J0KCgoZSx0KT0+ZS5zdGFydC52YWx1ZS10LnN0YXJ0LnZhbHVlKSl9ZnVuY3Rpb24gUShlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIG5ldyBNYXA7aWYodm9pZCAwPT09ZS5zdWJzZXNzaW9ucylyZXR1cm4gbmV3IE1hcChbWzAsbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsZS5zZXNzaW9uX2Rpc3BsYXk/P2Uuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyldXSk7Y29uc3QgdD0icmVndWxhciIsbj0icHJlbWFya2V0IixzPSJwb3N0bWFya2V0IixpPSJuaWdodCIsbz1bdCxuLHMsaV0sYT1uZXcgTWFwO2Zvcihjb25zdCByIG9mIG8pe2xldCBvPW51bGw7c3dpdGNoKHIpe2Nhc2UgdDpvPTA7YnJlYWs7Y2FzZSBuOm89MTticmVhaztjYXNlIHM6bz0yO2JyZWFrO2Nhc2UgaTpvPTR9aWYobnVsbCE9PW8pe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucy5maW5kKChlPT5lLmlkPT09cikpO3ZvaWQgMCE9PXQmJmEuc2V0KG8sbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsdFsic2Vzc2lvbi1kaXNwbGF5Il18fHQuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsdFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKX19cmV0dXJuIGF9KGUpLHM9dD8/KDAsYS51dGNfdG9fY2FsKSgoMCxhLmdldF90aW1lem9uZSkoZT8udGltZXpvbmU/PyJFdGMvVVRDIiksRGF0ZS5ub3coKSksaT0odD8uZ2V0VVRDRGF5KCk/PyhuZXcgRGF0ZSkuZ2V0RGF5KCkpJTcrMTtjb25zdCBvPSgwLG0uZGVlcENvcHkpKGopO29baV0uaXNBY3RpdmU9ITA7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShuLmtleXMoKSkpe2NvbnN0IHQ9KDAsZC5lbnN1cmVEZWZpbmVkKShuLmdldChlKSksaT0oMCxhLmdldF9kYXlfb2Zfd2Vlaykocykscj0oMCxhLmNsb25lKShzKTsoMCxhLmFkZF9kYXRlKShyLC1pKSwoMCxhLnNldF9obXMpKHIsMCwwLDAsMCk7Y29uc3QgbD0oMCxhLmNsb25lKShyKTsoMCxhLmFkZF9kYXRlKShsLDcpO2xldCBjPXQuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQocix0LmluU2Vzc2lvbihyKT8tMToxKTtmb3IoO2MuZ2V0VGltZSgpPGwuZ2V0VGltZSgpOyl7Y29uc3Qgbj10LmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZChjLDEpLHM9KDAsYS5nZXRfZGF5X29mX3dlZWspKGMpLGk9KDAsYS5nZXRfZGF5X29mX3dlZWspKG4pLGQ9KDAsYS5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShjKSxtPSgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkobikrMSxoPXUoZCkscD11KG0pLGY9TihzLGQsaSxtKTtpZihzPT09aSlHKG8se3N0YXJ0OlQoaCwhMCksZW5kOlQocCwhMCksdHlwZTplLHRvb2x0aXA6Zn0scyk7ZWxzZXtjLmdldFRpbWUoKT5yLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKGgsITApLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LHMpO2NvbnN0IHQ9KDAsYS5jbG9uZSkoYyk7KDAsCmEuc2V0X2htcykodCwwLDAsMCwwKSwoMCxhLmFkZF9kYXRlKSh0LDEpO2NvbnN0IHU9KDAsYS5jbG9uZSkobik7Zm9yKCgwLGEuc2V0X2htcykodSwwLDAsMCwwKTt0LmdldFRpbWUoKTx1LmdldFRpbWUoKTspdC5nZXRUaW1lKCk+PXIuZ2V0VGltZSgpJiZ0LmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LCgwLGEuZ2V0X2RheV9vZl93ZWVrKSh0KSksKDAsYS5hZGRfZGF0ZSkodCwxKTtuLmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKHAsITApLHR5cGU6ZSx0b29sdGlwOmZ9LGkpfSgwLGEuYWRkX21pbnV0ZXMpKG4sMSksYz10LmFsaWduVG9OZWFyZXN0U2Vzc2lvblN0YXJ0KG4sMSl9fXJldHVybiBmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgcCl0LnNldChuLEgobixlKSk7Zm9yKGNvbnN0IG4gb2YgcCllW25dLmVudHJpZXM9KDAsZC5lbnN1cmVEZWZpbmVkKSh0LmdldChuKSl9KG8pLHtuZXdTZXNzaW9uc0RheXM6byxuZXdUb2RheVNlc3Npb246b1tpXX19ZnVuY3Rpb24gVShlKXtyZXR1cm4oMCxhLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoKDAsYS5nZXRfdGltZXpvbmUpKGUudGltZXpvbmUpLHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLnNlcnZlclRpbWUoKS0xZTMqKDAsbC5nZXRTeW1ib2xEZWxheVNlY29uZHMpKGUpKX1jbGFzcyAke2NvbnN0cnVjdG9yKGUpe3RoaXMuc2Vzc2lvbnNEYXlzPW5ldyByLldhdGNoZWRWYWx1ZSgoMCxvLmNsb25lKShqKSksdGhpcy50b2RheVNlc3Npb249bmV3IHIuV2F0Y2hlZFZhbHVlKCgwLG8uY2xvbmUpKHtlbnRyaWVzOltdfSkpLHRoaXMuX2N1cnJlbnRUaW1lPW5ldyByLldhdGNoZWRWYWx1ZSgtMSksdGhpcy5fc3ltYm9sSW5mbz1lLnN5bWJvbEluZm8oKS5zcGF3bigpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUVudHJpZXNCeVN1YlNlc3Npb25zLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3RpbWVJbnRlcnZhbElkPXNldEludGVydmFsKHRoaXMuX3VwZGF0ZVRvZGF5V2l0aE9mZnNldHMuYmluZCh0aGlzKSw2ZTQpfWRlc3Ryb3koKXt0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSxjbGVhckludGVydmFsKHRoaXMuX3RpbWVJbnRlcnZhbElkKX1jdXJyZW50VGltZVZhbHVlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRUaW1lLnJlYWRvbmx5KCl9dGltZXpvbmUoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtyZXR1cm4gbnVsbD09PWU/IiI6KDAsaS50aW1lem9uZVRpdGxlKShlLnRpbWV6b25lKX1fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl7dGhpcy5fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpO2NvbnN0e25ld1Nlc3Npb25zRGF5czp0LG5ld1RvZGF5U2Vzc2lvbjpufT1RKGUsbnVsbD09PWU/bnVsbDpVKGUpKTt0aGlzLnNlc3Npb25zRGF5cy5zZXRWYWx1ZSh0KSx0aGlzLnRvZGF5U2Vzc2lvbi5zZXRWYWx1ZShuKX1fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpe2NvbnN0IGU9dGhpcy5fc3ltYm9sSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKC0xKTtjb25zdCB0PXRoaXMuX2N1cnJlbnRUaW1lLnZhbHVlKCksbj11KCgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoVShlKSkpO3RoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKG4pLG48dCYmdGhpcy5fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl9fX0sMjIxMzAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Z1bGxUb29sdGlwV2lkZ2V0OigpPT5FfSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9bigxMzg2MzgpLHI9bigyNzMzMTApLGw9bigyOTU3NDQpLHU9big4NTQ4MjApLGM9big1OTA0ODYpLGQ9bigyMzQ2MzYpLG09big2MDE4NDEpLGg9bigxMDY5MDApLHA9bigxNTAxNTApLGY9big0Njg0OTMpLHY9big3OTk5OTQpLGc9big4NjA1NDgpLF89big0NDcyNjgpO2NvbnN0IHk9bmV3IFdlYWtNYXAsdz1uZXcgV2Vha01hcDtmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9KDAsaC51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTplLmluZm99KSxuPSgwLGYudXNlUHJvbWlzZSkoKCgpPT5lLnByZWxpbWluYXJ5Sm9iPz9Qcm9taXNlLnJlc29sdmUoKSksdm9pZCAwLFtdKTtpZighdHx8ZS5wcmVsaW1pbmFyeUpvYiYmbnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgaT10Lm1hcCgodD0+e2NvbnN0e3RpdGxlOm4sdGl0bGVDb2xvcjppLGljb246bCxpY29uQ2xhc3NOYW1lOnUsaHRtbDpoLGFjdGlvbjpmLHNlY29uZGFyeUFjdGlvbjpTLGJhZGdlTGFiZWw6TSxzaXplOngsc29sdXRpb25JZDpOfT10O3kuaGFzKHQpfHx5LnNldCh0LCgwLHAucmFuZG9tSGFzaCkoKSk7bGV0IFQ9W107cmV0dXJuIHZvaWQgMCE9PWUuYWRkaXRpb25hbFdpZGdldHMmJihUPWUuYWRkaXRpb25hbFdpZGdldHMubWFwKCh0PT4ody5oYXModCl8fHcuc2V0KHQsKDAscC5yYW5kb21IYXNoKSgpKSx0LnJlbmRlcmVyKCgwLGEuZW5zdXJlRGVmaW5lZCkody5nZXQodCkpLF8uYWRkaXRpb25hbFdpZGdldCxlLm9uQ2xvc2UpKSkpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2tleTp5LmdldCh0KSxjbGFzc05hbWU6bygpKF8ucG9wdXBXaWRnZXQsX1t4XSxlLmlzTW9iaWxlJiZfLm1vYmlsZSksImRhdGEtcWEtaWQiOnQuZGF0YVFhSWQsdGFiSW5kZXg6MCxyZWY6ZT0+e2U/LmZvY3VzKCl9fSxzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6bygpKF8uaWNvbixnLnN0YXR1c0l0ZW0sdSxnW3hdLF9beF0pLHN0eWxlOnZvaWQgMCxpY29uOmx8fHZvaWQgMH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uZGVzY30scy5jcmVhdGVFbGVtZW50KCJzcGFuIix7c3R5bGU6e2NvbG9yOml8fHZvaWQgMH0sY2xhc3NOYW1lOm8oKShfLnRpdGxlLF9beF0pCn0scy5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLG4pLE0mJnMuY3JlYXRlRWxlbWVudChjLkJhZGdlLHtzaXplOmQuQmFkZ2VTaXplLlNtYWxsfSxNKSxOJiZzLmNyZWF0ZUVsZW1lbnQodi5IaW50QnV0dG9uLHtzb2x1dGlvbklkOk59KSksaCYmcy5jcmVhdGVFbGVtZW50KCJwIix7Y2xhc3NOYW1lOm8oKShfLnRleHQsX1t4XSl9LGgubWFwKCgoZSx0KT0+e2NvbnN0IG49YGh0bWxfaXRlbV8ke3R9YDtpZihzLmlzVmFsaWRFbGVtZW50KGUpKXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtfSxlKTtpZigoMCxtLmlzT2JqZWN0KShlKSYmInRleHQiaW4gZSl7Y29uc3QgdD1lO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6bygpKF8uaXRlbSx0LmJvbGQmJl8uYm9sZEl0ZW0pLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dC50ZXh0fX0pfXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6ZX19KX0pKSksZiYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Xy5hY3Rpb25zfSxFKGYsInByaW1hcnktYWN0aW9uIiksUyYmRShTLCJzZWNvbmRhcnktYWN0aW9uIikpLFQpKX0pKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxpKTtmdW5jdGlvbiBFKHQsbil7Y29uc3QgaT10LmNvbG9yfHwiZ3JheSIsYT1bImdyYXkiLCJncmVlbiIsInJlZCIsImJsdWUiXS5pbmNsdWRlcyhpKT91LkxpZ2h0QnV0dG9uOmwuU3F1YXJlQnV0dG9uO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoYSx7a2V5Om4sY2xhc3NOYW1lOm8oKShfLmFjdGlvbkJ0bix0LmNsYXNzTmFtZSksb25DbGljazooKT0+e2Uub25DbG9zZSgpLHQub25DbGljaygpfSxjb2xvcjppLHZhcmlhbnQ6dC52YXJpYW50LHNpemU6InhzbWFsbCIsdG9vbHRpcFRleHQ6dC50b29sdGlwfSx0LnRleHQpfX19LDIzMjM2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNYXJrZXRTdGF0dXNWaWV3TW9kZWw6KCk9Pmx9KTt2YXIgcz1uKDY0MTU5MyksaT1uKDIzMjM2NCksbz1uKDIxNDc3MSksYT1uKDU2NTIwNikscj1uKDUyODg3Mik7Y2xhc3MgbCBleHRlbmRzIGEuU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCxuPSExKXtzdXBlcih7dG9vbHRpcE1hcDpyLnRvb2x0aXBNYXAsaWNvbk1hcDpyLmljb25NYXAsY2xhc3NOYW1lTWFwOnIuY2xhc3NOYW1lTWFwLHRpdGxlTWFwOnIudGl0bGVNYXAsdGl0bGVDb2xvck1hcDpyLnRpdGxlQ29sb3JNYXAsYWN0aW9uTWFwOnIuYWN0aW9uTWFwLHNpemU6dH0pLHRoaXMuX21vZGVsPW51bGwsdGhpcy5fZXhwaXJlZFN0YXR1cz1udWxsLHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9pZ25vcmVIaWRlU3RhdHVzU2V0dGluZ3M9bix0aGlzLnNldE1vZGVsKGUpLG8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuX21hcmtldFN0YXR1cy5kZXN0cm95KCksdGhpcy5fc2Vzc2lvbkVkZ2UuZGVzdHJveSgpLHRoaXMuX21vZGVsPW51bGwsby5zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXtpZih0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25FZGdlLmRlc3Ryb3koKSx0aGlzLl9leHBpcmVkU3RhdHVzPy5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx2b2lkKHRoaXMuX2V4cGlyZWRTdGF0dXM9bnVsbCk7dGhpcy5fbW9kZWw9ZTtjb25zdCB0PWUuZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUoKTt0JiYodGhpcy5fZXhwaXJlZFN0YXR1cz10LmV4cGlyZWQoKS5zcGF3bigpLHRoaXMuX2V4cGlyZWRTdGF0dXMuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5fdXBkYXRlQnlTdGF0dXModGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkpfSkpKSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5zdGF0dXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3Nlc3Npb25FZGdlPWUubmV4dFNlc3Npb25FZGdlKCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVG9vbHRpcC5iaW5kKHRoaXMpKSx0aGlzLl91cGRhdGVUb29sdGlwKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgdD1bXSxuPXIubWFya2V0U3RhdHVzRGVzY3JpcHRpb24uZ2V0KGUpO24mJnQucHVzaCgoMCxzLmh0bWxFc2NhcGUpKG4pKTtjb25zdCBpPXRoaXMuX21hcmtldFN0YXR1cy52YWx1ZSgpO2lmKG51bGwhPT10aGlzLl9tb2RlbCYmbnVsbCE9PWkmJiJleHBpcmVkIiE9PWkmJiJkZWxpc3RlZCIhPT1pKXtjb25zdCBuPXRoaXMuX21vZGVsLm5leHRTZXNzaW9uRWRnZSgpLnZhbHVlKCk7bnVsbCE9PW4mJnQucHVzaCh7dGV4dDpyLmNvdW50ZG93bkZuTWFwW2VdKG4pLGJvbGQ6ITB9KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dCxzaXplOnRoaXMuX3NpemUsCmFjdGlvbjp0aGlzLl9nZXRBY3Rpb24oZSl9XSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIXRoaXMuX2lnbm9yZUhpZGVTdGF0dXNTZXR0aW5ncyYmIW8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS52YWx1ZSgpJiYibWFya2V0Ij09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3VwZGF0ZVRvb2x0aXAoKXt0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJ5U3RhdHVzKHRoaXMuX3N0YXR1cy52YWx1ZSgpKX19fSw1NjUyMDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3RhdHVzVmlld01vZGVsOigpPT5hfSk7dmFyIHM9bigyMzIzNjQpLGk9big2NDE1OTMpLG89big4NjA1NDgpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5pc0JsaW5raW5nTW9kZT1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZnVsbFRvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb25DbGFzc05hbWVzPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl92aXNpYmxlPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Rvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb249bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NsYXNzTmFtZT1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fY3VzdG9tQ29sb3I9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2luZm9NYXBzPWUsdGhpcy5fc2l6ZT1lLnNpemV8fCJzbWFsbCIsdGhpcy5fc3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVCeVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwfXR1cm5PZmZCbGlua2luZ01vZGUoKXt9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9aWNvbigpe3JldHVybiB0aGlzLl9pY29ufWNsYXNzTmFtZSgpe3JldHVybiB0aGlzLl9jbGFzc05hbWV9dmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmxlfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1mdWxsSW5mbygpe3JldHVybiB0aGlzLl9mdWxsVG9vbHRpcH1jdXN0b21Db2xvcigpe3JldHVybiB0aGlzLl9jdXN0b21Db2xvcn1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMudG9vbHRpcE1hcD8uZ2V0KGUpPz9udWxsfV9nZXRJY29uKGUpe2xldCB0O2NvbnN0IG49dGhpcy5faW5mb01hcHMuaWNvbk1hcC5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PW4mJih0PW4uZ2V0KHRoaXMuX3NpemUpKSx0fHxudWxsfV9nZXRDbGFzc05hbWUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLmNsYXNzTmFtZU1hcC5nZXQoZSl8fG51bGx9X2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRDbGFzc05hbWUoZSk7cmV0dXJuIHQ/W28uc3RhdHVzSXRlbSx0XTpbXX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlTWFwPy5nZXQoZSk/P251bGx9X2dldFRpdGxlQ29sb3IoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlQ29sb3JNYXA/LmdldChlKT8/bnVsbH1fZ2V0QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5hY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5zZWNvbmRhcnlBY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0QmFkZ2VMYWJlbChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuYmFkZ2VNYXA/LmdldChlKT8/bnVsbH1fZ2V0SFRNTChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuaHRtbE1hcD8uZ2V0KGUpPy5tYXAoKGU9PiJzdHJpbmciPT10eXBlb2YgZT8oMCxpLmh0bWxFc2NhcGUpKGUpOmUpKT8/W119YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT90aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dGhpcy5fZ2V0SFRNTChlKSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzZWNvbmRhcnlBY3Rpb246dGhpcy5fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpLGJhZGdlTGFiZWw6dGhpcy5fZ2V0QmFkZ2VMYWJlbChlKSxkYXRhUWFJZDp0aGlzLl9kYXRhUWFJZCgpPz92b2lkIDB9XSk6dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCl9X2RhdGFRYUlkKCl7cmV0dXJuIG51bGx9X3VwZGF0ZUJ5U3RhdHVzKGUpe2lmKG51bGw9PT1lfHx0aGlzLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKXJldHVybiB0aGlzLl9pY29uLnNldFZhbHVlKG51bGwpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl92aXNpYmxlLnNldFZhbHVlKCExKTt0aGlzLl9pY29uLnNldFZhbHVlKHRoaXMuX2dldEljb24oZSkpLHRoaXMuX2NsYXNzTmFtZS5zZXRWYWx1ZSh0aGlzLl9nZXRDbGFzc05hbWUoZSkpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUodGhpcy5fZ2V0VG9vbHRpcChlKSksdGhpcy5fdmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy5fdXBkYXRlRnVsbFRvb2x0aXAoKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4hMX19fSw2NzMwNjUoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptNC05Ljk3TDExLjkgNiA4LjMgOS44MiA2LjEgNy40NiA0Ljk5IDguNSA4LjMyIDEyIDEzIDcuMDNaIi8+PC9zdmc+J30sNDAwMDQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlpNOSA0Yy0uNzkgMC0xLjM4LjctMS4yNSAxLjQ4bC42NyA0LjAzYS41OS41OSAwIDAgMCAxLjE2IDBsLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAwIDkgNFptMCA4YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMloiLz48L3N2Zz4nfSw1MjcyMTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptMS0xMmExIDEgMCAxIDEtMiAwIDEgMSAwIDAgMSAyIDBaTTguNSA5LjVIN1Y4aDN2Nkg4LjVWOS41WiIvPjwvc3ZnPid9LDc4NTk5NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabS0xLTRhMSAxIDAgMSAwIDIgMCAxIDEgMCAwIDAtMiAwWm0yLjgzLTMuNTJjLS40OS40My0uOTcuODUtMS4wNiAxLjUySDguMjZjLjA4LTEuMTguNzQtMS42OSAxLjMyLTIuMTMuNDktLjM4LjkyLS43MS45Mi0xLjM3QzEwLjUgNi42NyA5LjgyIDYgOSA2cy0xLjUuNjctMS41IDEuNVY4SDZ2LS41YTMgMyAwIDEgMSA2IDBjMCAuOTYtLjYgMS40OC0xLjE3IDEuOThaIi8+PC9zdmc+J30sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+c30pO2xldCBzPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/72666.2229173bf4d674484637.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.181Z","timestamp":1785124877181,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/72666.2229173bf4d674484637.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 71e45540c53b44a88668e45afff1d44b\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":58,"size_decoded":842,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"691ceadea1eb9eac0db53f098918ee89","sha1":"6ac0eb21dbe2096e311778d8f7762524a2ce54ef","sha256":"07585e380a6fda6e9c3929fbd2c3632419823c24aa4ca17e10a444bc0e58e444","sha512":"487330ec519f60ed6fa1798f2dbd0164f0462df8bb57fdefa5c8d164fda54d213501636c4b9ba9de88958f080bc138c80676e892f659561af6eed5f946a9457f","ssdeep":"","tlshash":"97a00214848071d08e0bf34920d1b41ad2391be089b1e55d5517072d564f411055fcb4","first_seen":"2026-07-19T21:33:33.743099Z","last_seen":"2026-07-27T06:24:31.608222Z","times_seen":25,"resource_available":false,"data":"LmRpc2FibGVTZWxmUG9zaXRpb25pbmctTHJacDRST0N7bWFyZ2luOjA7cG9zaXRpb246c3RhdGljfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.825Z","timestamp":1785124875825,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-6bea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 706059e66c1a961952026ed133772e57\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27626,"size_decoded":6249,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3069)","md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-07-27T06:16:23.080349Z","times_seen":3503,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/60062.495444a7fac173fb28cd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.660Z","timestamp":1785124876660,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/60062.495444a7fac173fb28cd.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 87\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-57\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7f4277355833dc763d7808191478177d\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":87,"size_decoded":871,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"274893b786bd12b8da5e090fb307e32b","sha1":"21255ee94ceb3d1a0ee22982cf407e6e567093b4","sha256":"b86cb37cc4b27818ca22cc6d1618b286d3a8e8b04fbfea6a2f2d42101e5db23e","sha512":"b1c9690086309a24a4d9044af4b2936d25346e6cd8a6a8d3bc6831f844f1a44b08405dbeef9999998f66be34b01476894d9b38aa7933d3f6da6f3d8b207d266a","ssdeep":"","tlshash":"4eb012e13c1063344322806a444043ede1a4014825000e524431fc22cc1d80e363d518","first_seen":"2026-07-17T03:30:51.160472Z","last_seen":"2026-07-27T06:24:31.645123Z","times_seen":82,"resource_available":false,"data":"LnNjYWxhYmxlSWNvbi1jajFiQVNmNywuc2NhbGFibGVJY29uLWNqMWJBU2Y3IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86997.d9a1b2aca00a6209fe61.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.882Z","timestamp":1785124876882,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86997.d9a1b2aca00a6209fe61.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-229\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 90a646f5e0e4067ebc079a8f80a0c21f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":553,"size_decoded":1085,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (553), with no line terminators","md5":"01a397ca6f9acffa389686fa8bb86be4","sha1":"06e6067f865293a83c510abc69e253c0868ca272","sha256":"cc0cb71fac3c2d852959883310750bfd8f5e3e8dcbcaab5d009c7ceaccf4f797","sha512":"b8c0bbfc3ea33cd0b2df4863ebbb4821e38a79be23bac72cf4442617ad69ba3c40c5d945c1504b74a56b3f05f88e8843c8b3f4a98be88430e925fa8b2b25e2fe","ssdeep":"","tlshash":"e7f04608a314687bf99f01b79f8136457800ca2fe44385aeee005e75d0c86d32394b96","first_seen":"2026-07-17T14:15:58.498815Z","last_seen":"2026-07-27T06:24:31.718946Z","times_seen":68,"resource_available":false,"data":"Lml0ZW0tZlNhVF9ERU17YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmb250LXNpemU6MTZweDtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LmxhYmVsLWZTYVRfREVNe2xpbmUtaGVpZ2h0OjI0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubGFiZWxSb3ctZlNhVF9ERU17bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXRvcDoycHh9LnRvb2xib3gtZlNhVF9ERU17bWFyZ2luLXRvcDozcHh9LmJhZGdlTmV3LWFfU2FnWlFBey0tdWktbGliLWJhZGdlLWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS53cmFwcGVyLUphN0lHRE9ne3BhZGRpbmc6MTBweCAyMHB4fS5sYWJlbFJvdy1KYTdJR0RPZ3tsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmc6MH0ubGFiZWwtSmE3SUdET2d7Zm9udC1zaXplOjE2cHh9LmxhYmVsSGludC1KYTdJR0RPZ3tsaW5lLWhlaWdodDoxN3B4fS5sYWJlbE9uLUphN0lHRE9nKy5sYWJlbEhpbnQtSmE3SUdET2d7bWFyZ2luLXRvcDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31001.c522294d3a28d9ca151c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.936Z","timestamp":1785124876936,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31001.c522294d3a28d9ca151c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4231b8-8cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 29 Jun 2026 08:50:00 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/29/2026 10:50:36\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 71d45bf61dc87c75bb76f3010d92106d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2251,"size_decoded":1671,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2251), with no line terminators","md5":"6802e4f2b88f1b95b3c00f50a4733ffa","sha1":"647de376bdd1c6a00b3bda320180479f481eed40","sha256":"721bbd1ae2d8cabdcddb25c2c5ec1eac0fe34d80a62a58972723c006890ced6d","sha512":"47c3f5437805efa03927e47dda89e1716a920079d2309e3a9f9c91d01c60801556de3a55308e1f97f5eaa074cc0a0852bb4a7e3550f91850ebfef6726f80e95e","ssdeep":"","tlshash":"85415288f35090a77cd78cbad397560d2a08fe33d91086fee50d991892c2ae36111b18","first_seen":"2026-06-29T12:05:37.516387Z","last_seen":"2026-07-27T06:24:31.724162Z","times_seen":161,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaG5IeTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1fMS1obkh5OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLV8yLWhuSHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tXzMtaG5IeTp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnN1YnRpdGxlLWJMVEJoQ3dKe2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9LnN1YnRpdGxlLWJMVEJoQ3dKIC50ZXh0LWJMVEJoQ3dKe2ZsZXg6MSAwIDA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnN1bW1hcnktYkxUQmhDd0p7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMjc3ZGVnLCNmZmYwIDcwLjAyJSwjZDUwMGY5MWEgMTAwLjIxJSksbGluZWFyLWdyYWRpZW50KDI2M2RlZywjZmZmMCA2OS45MyUsIzAwZTVmZjFhKSxsaW5lYXItZ3JhZGllbnQoNzlkZWcsI2ZmZjAgNjUuODQlLCNkNTAwZjkxYSksbGluZWFyLWdyYWRpZW50KDEwMWRlZywjZmZmMCA2NS45JSwjMDBlNWZmMWEgMTAwLjEzJSk7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDttYXJnaW4tYm90dG9tOjhweDtwYWRkaW5nOjhweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO2xpbmUtaGVpZ2h0OjE4cHh9LnN1bW1hcnktYkxUQmhDd0o6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWEyMDApO2NvbnRlbnQ6IiAiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7bWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3dpZHRoOjE4cHh9Lmdyb3VwLWJMVEJoQ3dKe3BhZGRpbmctdG9wOjEycHh9Lmdyb3VwSWNvbi1iTFRCaEN3Sntib3JkZXItcmFkaXVzOjlweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjdweDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MThweH0uZ3JvdXBJY29uLWJMVEJoQ3dKLmJlZm9yZU1hcmtldE9wZW4tYkxUQmhDd0p7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCk7Y29sb3I6dmFyKC0tXzAtaG5IeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncm91cEljb24tYkxUQmhDd0ouYmVmb3JlTWFya2V0T3Blbi1iTFRCaEN3Sjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLW5vcm1hbCl9fS5ncm91cEljb24tYkxUQmhDd0ouYWZ0ZXJNYXJrZXRDbG9zZS1iTFRCaEN3SntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2NvbG9yOnZhcigtLV8yLWhuSHkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ3JvdXBJY29uLWJMVEJoQ3dKLmFmdGVyTWFya2V0Q2xvc2UtYkxUQmhDd0o6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbCl9fS5ncm91cFRpdGxlLWJMVEJoQ3dKe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lmdyb3VwUm93LWJMVEJoQ3dKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9Lmdyb3VwQ2VsbC1iTFRCaEN3SntmbGV4OjEgMCAwfS5ncm91cC1iTFRCaEN3SiAudGV4dC1iTFRCaEN3Sntmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6647.ad458058dd5c882833b6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.224Z","timestamp":1785124877224,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6647.ad458058dd5c882833b6.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-51c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aa0b067f3d268751ddc9d68d85432e85\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1308,"size_decoded":1279,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1308), with no line terminators","md5":"be8b98c40e9ede92e385a54517be043e","sha1":"9e3083b2509f546980d31913c01ffa889404ba0f","sha256":"6be44896f44575a2b9af3ccc5d758e4ad7103345fdc2c4c263d1474601c04d51","sha512":"fcd367b79e0fa94f4c8a8cadac7e6adfd831dc2f527cea1c8ad76447347d772667190dc2522fe7d116c22fdc28f2ff4eb0ddaaf936573c5b57189bb3129d2b12","ssdeep":"","tlshash":"3e2136a6f052453a3fa3173f0315f218b3c4fc62fc172b42f960d84004c62f3259aa46","first_seen":"2026-04-01T05:38:53.862017Z","last_seen":"2026-07-27T06:24:31.819385Z","times_seen":186,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUGdaUTp2YXIoLS1jb2xvci13aGl0ZSl9LndyYXBwZXItSzR1NE5nM1p7d2lkdGg6dmFyKC0taGludC13aXphcmQtd2lkdGgsMjIwcHgpfS50aXRsZS1LNHU0TmczWntjb2xvcjp2YXIoLS1fMC1QZ1pRKTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MjRweH0uYWRkaXRpb25hbEJ1dHRvbi1LNHU0TmczWnstLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItY29udGVudDp2YXIoLS1jb2xvci13aGl0ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hZGRpdGlvbmFsQnV0dG9uLUs0dTROZzNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfX0uYnV0dG9ucy1LNHU0TmczWntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS50ZXh0LUs0dTROZzNae2NvbG9yOnZhcigtLV8wLVBnWlEpO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9LmJ1dHRvbi1LNHU0TmczWntib3gtc2hhZG93Om5vbmU7Y3Vyc29yOmRlZmF1bHQ7ZmxvYXQ6aW5saW5lLWVuZDttYXJnaW4tdG9wOjE1cHg7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSzR1NE5nM1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9fS5idXR0b24tSzR1NE5nM1o6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAwIDZweCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnKX0ucGxhY2VIb2xkZXIteWx3YWVfR3R7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0uaGlkZGVuLXlsd2FlX0d0e3BvaW50ZXItZXZlbnRzOm5vbmU7dmlzaWJpbGl0eTpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.830Z","timestamp":1785124875830,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bf3d27b92d165c5697439048bb19ab36\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T06:16:23.035994Z","times_seen":3812,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.940Z","timestamp":1785124876940,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/91944.cd51b48fa4d742a11726.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4db1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a206c56e951035b7d449ddd05c0dc3b1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19889,"size_decoded":7413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-27T06:24:31.647398Z","times_seen":42,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTE5NDRdLHszODgzNjcoZSx0LGkpe2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT8uc3R1ZHlJZHMuaGFzKHQpPz8hMX1pLmQodCx7aGlnaGxpZ2h0Q29udGFpbnNTb3VyY2U6KCk9PnN9KX0sNzMyMDgwKGUsdCxpKXtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuKGUmdCk9PT10fWkuZCh0LHtpc1Bsb3RWaXNpYmxlOigpPT5zfSl9LDUyMTk4MyhlLHQsaSl7ZnVuY3Rpb24gcyhlLHQpe2lmKG51bGw9PT1lKXJldHVybiB0O2NvbnN0IGk9ZS5maXJzdEluZGV4LHM9dC5maXJzdEluZGV4LG49ZS5jbGVhckRhdGF8fHQuY2xlYXJEYXRhO3JldHVybntmaXJzdEluZGV4Om58fHZvaWQgMD09PWl8fHZvaWQgMD09PXM/dm9pZCAwOk1hdGgubWluKGkscyksY2xlYXJEYXRhOm59fWkuZCh0LHttZXJnZURhdGFJbnZhbGlkYXRpb246KCk9PnN9KX0sMzE1NjU0KGUsdCxpKXtpLmQodCx7U3R1ZHlQbG90UGFuZVZpZXc6KCk9PkZ9KTt2YXIgcyxuPWkoMTM4NjM4KSxvPWkoMTM0NjcpLGw9aSg2MDE4NDEpLGE9aSg5MzAyMzEpLHI9aSg2NDA3NDQpLGQ9aSg4NzM1NzMpLGg9aSg1NTY5MTEpLGM9aSg2Mzg1NzEpLHU9aSg0MTk5MjQpLF89aSg3ODkxOTApLHA9aSg0NTM2NzcpLG09aSg0NzAyMTApLHk9aSg1OTA0MjMpLEk9aSg5NzA0MzQpLFM9aSgxNDM4MDgpLGc9aSg3MzY1MzEpLGY9aSg2MDQyMTQpLHY9aSg3NjMpLFA9aSg5MzQzMDUpLHg9aSgzMTg5NzQpOyFmdW5jdGlvbihlKXtlW2UuTWluQ2lyY2xlUmFkaXVzPTEuNV09Ik1pbkNpcmNsZVJhZGl1cyIsZVtlLlNpbXBsaWZpZWRQYWludGluZ01vZGVNYXhCYXJTcGFjaW5nPTJdPSJTaW1wbGlmaWVkUGFpbnRpbmdNb2RlTWF4QmFyU3BhY2luZyJ9KHN8fChzPXt9KSk7Y2xhc3MgYiBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEsaT10LmxpbmVXaWR0aCxzPXQudmVydE9mZnNldHx8MCxuPSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK2ksbz10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxsPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7Zm9yKGxldCBhPW87YTxsO2ErKyl7Y29uc3Qgbz10Lml0ZW1zW2FdO2lmKG5ldyBnLlBvaW50KG8uY2VudGVyLG8ueStzKS5zdWJ0cmFjdChlKS5sZW5ndGgoKStpPD1uKXJldHVybiBuZXcgdi5IaXRUZXN0UmVzdWx0KHYuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEse2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnMsY29udGV4dDpufT1lLG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxhPW8lMj8uNTowLHt2ZXJ0T2Zmc2V0OnI9MCxsaW5lQ29sb3I6ZCxsaW5lV2lkdGg6aCxiYXJTcGFjaW5nOmN9PXQ7bGV0IHU9IiIsXz0hMTtjb25zdCBwPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLG09dC52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90Lml0ZW1zLmxlbmd0aDtmb3IobGV0IGU9cDtlPG07ZSsrKXtjb25zdCBwPXQuaXRlbXNbZV0sbT1wLmNlbnRlcix5PXAueStyO2lmKCgwLGwuaXNOYU4pKG0pfHwoMCxsLmlzTmFOKSh5KSljb250aW51ZTtsZXQgSSxTO251bGwhPXAuc3R5bGU/KEk9cC5zdHlsZS5jb2xvcixTPXAuc3R5bGUud2lkdGgpOihJPWQsUz1oKSwoSSE9PXV8fHguaXNTYWZhcmkpJiYodT1JLF8mJm4uZmlsbCgpLG4uYmVnaW5QYXRoKCksbi5maWxsU3R5bGU9SSk7Y29uc3QgZz1NYXRoLnJvdW5kKG0qaSkrYSxmPU1hdGgucm91bmQoeSpzKSthO2xldCB2PU1hdGgucm91bmQoMipNYXRoLm1heCgxLjUsUykqaSk7byUyIT12JTImJih2Kz0xKSxjPjJ8fFM+MS41PyhuLm1vdmVUbyhnK3YvMixmKSxuLmFyYyhnLGYsdi8yLDAsMipNYXRoLlBJLCExKSk6bi5yZWN0KGctdi8yLGYtdi8yLHYsdiksXz0hMH1fJiZuLmZpbGwoKX19dmFyIE49aSg3MjEzOTYpLEM9aSg3MDA3NCk7Y2xhc3MgdyBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK3RoaXMuX2RhdGEubGluZVdpZHRoLzI7bGV0IGkscyxuLG87Zm9yKGxldCBsPTE7bDx0aGlzLl9kYXRhLml0ZW1zLmxlbmd0aDsrK2wpe2k9dGhpcy5fZGF0YS5pdGVtc1tsLTFdLHM9dGhpcy5fZGF0YS5pdGVtc1tsXSxuPWkuY2VudGVyLG89cy5jZW50ZXI7aWYoKDAsQy5kaXN0YW5jZVRvU2VnbWVudCkobmV3IGcuUG9pbnQobixpLnkpLG5ldyBnLlBvaW50KG8scy55KSxuZXcgZy5Qb2ludChlLngsZS55KSkuZGlzdGFuY2U8PXQpcmV0dXJuIG5ldyB2LkhpdFRlc3RSZXN1bHQodi5IaXRUYXJnZXQuUmVndWxhcil9cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0e2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfT1lO2xldCBuPSIiLG89ITE7Y29uc3QgYT10aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxyPSh0aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3RoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKS0xO2ZvcihsZXQgZT1hO2U8PXI7ZSsrKXtjb25zdCBhPXRoaXMuX2RhdGEuaXRlbXNbZV07aWYoKDAsbC5pc05hTikoYS5jZW50ZXIpfHwoMCxsLmlzTmFOKShhLnkpKWNvbnRpbnVlO2NvbnN0IHI9YS5zdHlsZT8uY29sb3I/P3RoaXMuX2RhdGEubGluZUNvbG9yLGQ9YS5zdHlsZT8ud2lkdGg/P3RoaXMuX2RhdGEubGluZVdpZHRoLGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqaSkpLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqcykpOyhyIT09bnx8eC5pc1NhZmFyaSkmJihuPXIsCm8mJnQuZmlsbCgpLHQuYmVnaW5QYXRoKCksdC5maWxsU3R5bGU9cik7bGV0IHU9MypoO3UlMiE9aCUyJiYodSs9MSk7bGV0IF89MypjO18lMiE9YyUyJiYoXys9MSk7Y29uc3QgcD1NYXRoLnJvdW5kKE1hdGgucm91bmQoYS5jZW50ZXIqaSktdS8yKSxtPU1hdGgucm91bmQoTWF0aC5yb3VuZChhLnkqcyktXy8yKSx5PXArTWF0aC5mbG9vcih1LzItaC8yKSxJPW0rTWF0aC5mbG9vcihfLzItYy8yKTt0LnJlY3QocCxJLHUsYyksdC5yZWN0KHksbSxoLF8pLG89ITB9byYmdC5maWxsKCl9fWNsYXNzIFIgZXh0ZW5kcyBQLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxmLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLnNlcmllcyt0aGlzLl9kYXRhLmxpbmVXaWR0aC8yLGk9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiB0aGlzLl9kYXRhLml0ZW1zKXtjb25zdCBvPXMuY2VudGVyLGw9cy55O2xldCBhPXQ7cy5zdHlsZSYmKGkuaGFzKHMuc3R5bGUud2lkdGgpP2E9KDAsbi5lbnN1cmVEZWZpbmVkKShpLmdldChzLnN0eWxlLndpZHRoKSk6aS5zZXQodGhpcy5fZGF0YS5saW5lV2lkdGgsYSkpO2lmKCgwLEMuZGlzdGFuY2VUb1NlZ21lbnQpKG5ldyBnLlBvaW50KG8sbCksbmV3IGcuUG9pbnQobyx0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UpLG5ldyBnLlBvaW50KGUueCxlLnkpKS5kaXN0YW5jZTw9YSlyZXR1cm4gbmV3IHYuSGl0VGVzdFJlc3VsdCh2LkhpdFRhcmdldC5SZWd1bGFyKX1yZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7aWYoMD09PXRoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKXJldHVybjtjb25zdHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c309ZTt0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmxpbmVDb2xvcjtjb25zdCBuPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLl9kYXRhLmxpbmVXaWR0aCppKSksbz1uLzIsbD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGE9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UqcyktTWF0aC5mbG9vcihsLzIpLHI9YStsLGQ9dGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsaD0odGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90aGlzLl9kYXRhLml0ZW1zLmxlbmd0aCktMTtmb3IobGV0IGU9ZDtlPD1oO2UrKyl7Y29uc3QgZD10aGlzLl9kYXRhLml0ZW1zW2VdO2xldCBoPW4sYz1vO2Quc3R5bGU/KHQuZmlsbFN0eWxlPWQuc3R5bGUuY29sb3IsaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoZC5zdHlsZS53aWR0aCppKSksYz1oLzIpOnQuZmlsbFN0eWxlPXRoaXMuX2RhdGEubGluZUNvbG9yO2NvbnN0IHU9aCUyPy41OjAsXz1NYXRoLnJvdW5kKGQuY2VudGVyKmkpK3UscD1NYXRoLnJvdW5kKGQueSpzKTtsZXQgbSx5O3A8PWE/KG09cCx5PXIpOihtPWEseT1wLU1hdGguZmxvb3IobC8yKStsKSx0LmZpbGxSZWN0KE1hdGguZmxvb3IoXy1jKSxtLGgseS1tKX19fXZhciBNPWkoMTY4MjU4KSxMPWkoNjU1NTY5KSxUPWkoMTk4OTAxKSxCPWkoMzAzMjcwKSxEPWkoMjI3ODI1KTtjb25zdCBWPWU9Pntjb25zdCB0PSgwLG8ucmdiVG9Ic2wpKCgwLG8ucGFyc2VSZ2IpKGUpKSxpPXRbMF0rLjA1O3JldHVybiB0WzBdPWktTWF0aC5mbG9vcihpKSwoMCxvLnJnYlRvSGV4U3RyaW5nKSgoMCxvLmhzbFRvUmdiKSh0KSl9LGs9KDAsYy5tZW1vaXplKShWKTtjbGFzcyBGIGV4dGVuZHMgQi5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITEpe3N1cGVyKHQsaSxzKSx0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGwsdGhpcy5fbGluZUNvbG9yPSIiLHRoaXMuX2xpbmVXaWR0aD0xLHRoaXMuX2NvbG9yMT0iIix0aGlzLl9jb2xvcjI9IiIsdGhpcy5fcmVuZGVyZXI9bmV3IF8uQ29tcG9zaXRlUmVuZGVyZXIsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Bsb3RJbmRleD1lLm1ldGFJbmZvKCkucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cykpLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsTC5jcmVhdGVTdHVkeVBsb3RDb2xvclByb3ZpZGVyKShlLm1ldGFJbmZvKCksZS5wcm9wZXJ0aWVzKCkscyksdGhpcy5fZXh0ZW5kU3RlcExpbmVUb0JhcnNFbmRpbmdzPW4sdGhpcy5faXNGdW5kYW1lbnRhbD0oMCxTLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlLm1ldGFJbmZvKCkpO2NvbnN0IG89dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLnN0eWxlc1t0aGlzLl9wbG90TmFtZV0ucGxvdHR5cGUudmFsdWUoKTt0aGlzLl9pc1N0ZXBMaW5lUGxvdD1vPT09TS5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhCcmVha3N8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc31pdGVtcygpe3JldHVybiB0aGlzLl9pdGVtc31yZW5kZXJlcigpe3JldHVybiB0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLHQ9ZS5zdHlsZXNbdGhpcy5fcGxvdE5hbWVdO2xldCBpPTA7Y29uc3Qgcz10aGlzLl9zdHVkeS5tZXRhSW5mbygpO3JldHVybiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PXMuaWQmJnMudmVyc2lvbjw9NDYmJiJ0cmFuc3BhcmVuY3kiaW4gZT8oaT1lLnRyYW5zcGFyZW5jeS52YWx1ZSgpLGk9KDAsbC5pc051bWJlcikoaSk/aTowLGkpOih0LnRyYW5zcGFyZW5jeSYmKGk9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxpPSgwLGwuaXNOdW1iZXIpKGkpP2k6MCksaSl9X3VwZGF0ZUltcGxGdWxsKGUpe2lmKHRoaXMuX3JlbmRlcmVyLmNsZWFyKCksdGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSksCiF0aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fcGxvdE5hbWUsTS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCF0fHx0LmlzRW1wdHkoKSlyZXR1cm4hMTtpZihudWxsPT09dGhpcy5fc3R1ZHkuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5pc0ZvcmNlT3ZlcmxheSgpKSlyZXR1cm4hMTt0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGw7Y29uc3QgaT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW3RoaXMuX3Bsb3ROYW1lXSxzPWkucGxvdHR5cGUudmFsdWUoKSxvPXRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90LGw9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZShvKTtpZigwPT09bC5zaXplKCkpcmV0dXJuITE7Y29uc3QgYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLGM9KDAsTS5kb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRGaWxsQnJlYWtzKShzKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMobCwoKGUsdCk9Pih7eTpOYU4sbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU4scHJpY2U6dD8/TmFOLHRpbWVQb2ludEluZGV4OmUrYX0pKSk7bGV0IF89TmFOLHA9TmFOO2NvbnN0IG09bmV3IE1hcCx5PShlLHQpPT57bGV0IGk9bS5nZXQoZSk7dm9pZCAwPT09aSYmKGk9bmV3IE1hcCxtLnNldChlLGkpKTtsZXQgcz1pLmdldCh0KTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPSF0aGlzLl9wbG90TmFtZXx8InZvbCIhPT10aGlzLl9wbG90TmFtZTtzPSgwLGQuZ2VuZXJhdGVDb2xvcikoZSx0LG4pLGkuc2V0KHQscyl9cmV0dXJuIHN9LFM9KDAsSS5jcmVhdGVFbXB0eVN0eWxlKSgpLGc9KDAsci5jbGFtcCkodGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSwwLDEwMCksZj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWYpcmV0dXJuITE7Y29uc3R7c3RhcnRCYXI6dixlbmRCYXI6UH09dGhpcy5fY2FsY3VsYXRlU3RhcnRFbmQoZik7aWYobnVsbD09PXZ8fG51bGw9PT1QfHwwPT09dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybiExO2NvbnN0IHg9dT8/KDAsbi5lbnN1cmVOb3ROdWxsKShsLmZpcnN0SW5kZXgoKSksYj0oMCxuLmVuc3VyZU5vdE51bGwpKGwubGFzdEluZGV4KCkpKzEsTj1sLnJhbmdlSXRlcmF0b3IoeCxiKTtsZXQgQyx3PSgwLFQubG93ZXJib3VuZCkodGhpcy5faXRlbXMseCthLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Zm9yKGNvbnN0IGUgb2YgTil7bGV0IHQ9ZS5pbmRleDtjb25zdCBzPWUudmFsdWU7dCs9YSx0PU1hdGguZmxvb3IodCk7bGV0IG49c1t0aGlzLl9wbG90SW5kZXgrMV07Y29uc3Qgbz1udWxsPT1uO2lmKG49bz9OYU46bixjJiZvKXtwPW4sXz10LHcrKztjb250aW51ZX1jb25zdCBsPXRoaXMuX2l0ZW1zW3ddO2wudmFsSXNOb3RTYW1lQXNQcmV2PW4hPT1wfHx0LTEhPT1fO2lmKHRoaXMuX2NvbG9yUHJvdmlkZXIuaXNDb2xvckRlZmluZWQoKSYmKGwuc3R5bGU9e2NvbG9yOnkoaS5jb2xvci52YWx1ZSgpLDEwMCksd2lkdGg6aS5saW5ld2lkdGgudmFsdWUoKSxzdHlsZTppLmxpbmVzdHlsZS52YWx1ZSgpfSxudWxsIT1uKSl7Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHMsUyksdD1lLmNvbG9yc1swXTt2b2lkIDAhPT10JiYobC5zdHlsZS5jb2xvcj0oMCxkLmlzSGV4Q29sb3IpKHQpP3kodCxnKTp0KSxsLnN0eWxlLndpZHRoPWUubGluZVdpZHRoPz9sLnN0eWxlLndpZHRoLGwuc3R5bGUuc3R5bGU9ZS5saW5lU3R5bGU/P2wuc3R5bGUuc3R5bGV9IWMmJiFpc05hTihfKSYmXyE9PXQtMSYmdz4wJiYodGhpcy5faXRlbXNbd10uYnJlYWtCZWZvcmU9ITApLHA9bixfPXQsdysrLEM9bH1pZihDJiZ0aGlzLl9pc0Z1bmRhbWVudGFsJiZ0aGlzLl9pc1N0ZXBMaW5lUGxvdCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5sYXN0SW5kZXgoKSx0PUM7aWYobnVsbCE9PWUmJmU+dC50aW1lUG9pbnRJbmRleCl7Y29uc3QgaT0oMCxoLmRlZXBDb3B5KSh0KTtpLnRpbWVQb2ludEluZGV4PWUsaS52YWxJc05vdFNhbWVBc1ByZXY9ITEsdGhpcy5faXRlbXMubGVuZ3RoPnc/dGhpcy5faXRlbXNbd109aTp0aGlzLl9pdGVtcy5wdXNoKGkpfX1yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoZSx0KXtjb25zdCBpPXN1cGVyLl9jb3JyZWN0VmlzaWJsZUl0ZW1JbmRleGVzKGUsdCk7cmV0dXJuIHRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90JiZpLmVuZEl0ZW1JbmRleD09PXRoaXMuX2l0ZW1zLmxlbmd0aC0xJiYoaS5lbmRJdGVtSW5kZXgrPTEpLGl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCBpPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLHM9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0sbz0oMCxyLmNsYW1wKSh0aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLDAsMTAwKTt0aGlzLl9saW5lQ29sb3I9KDAsZC5nZW5lcmF0ZUNvbG9yKShpLmNvbG9yLnZhbHVlKCksbyksdGhpcy5fbGluZVdpZHRoPWkubGluZXdpZHRoLnZhbHVlKCk7bGV0IGE9aS5jb2xvci52YWx1ZSgpO2NvbnN0IGM9dGhpcy5fY29sb3JQcm92aWRlci5nZXREZWZhdWx0UGxvdFBvaW50U3R5bGUoKTtjJiYoYT1jLmNvbG9yc1swXXx8YSx0aGlzLl9saW5lV2lkdGg9Yy5saW5lV2lkdGg/P3RoaXMuX2xpbmVXaWR0aCx0aGlzLl9saW5lQ29sb3I9YT8oMCxkLmdlbmVyYXRlQ29sb3IpKGEsbyk6dGhpcy5fbGluZUNvbG9yKSx0aGlzLl9jb2xvcjI9KDAsZC5nZW5lcmF0ZUNvbG9yKShhLG8pO2NvbnN0IF89dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1JHQj9WKGEpOmsoYSk7dGhpcy5fY29sb3IxPSgwLGQuZ2VuZXJhdGVDb2xvcikoXyxvKQo7Y29uc3QgST10aGlzLl9oaXN0b2dyYW1CYXNlP3RoaXMuX2hpc3RvZ3JhbUJhc2U6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVNjYWxlKCkpLmhlaWdodCgpLFM9aS5wbG90dHlwZS52YWx1ZSgpLGc9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGl0ZW1zOnRoaXMuX2l0ZW1zLGhpc3RvZ3JhbUJhc2U6SSxsaW5lSW5kZXg6MCxsaW5lU3R5bGU6aS5saW5lc3R5bGUudmFsdWUoKSxsaW5lQ29sb3I6dGhpcy5fbGluZUNvbG9yLGxpbmVXaWR0aDooMCxsLmlzTnVtYmVyKSh0aGlzLl9saW5lV2lkdGgpP3RoaXMuX2xpbmVXaWR0aDoxLGNvbG9yMTp0aGlzLl9jb2xvcjEsY29sb3IyOnRoaXMuX2NvbG9yMixib3R0b206SSx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH0sc2ltcGxlTW9kZTp0aGlzLl9jb2xvclByb3ZpZGVyLnNpbmdsZUNvbG9yKCksc2tpcEhvbGVzOigwLE0uZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykoUyl9LGY9dGhpcy5fcmVuZGVyZXIsdj1Cb29sZWFuKHM/LmpvaW5Qb2ludHMpO3N3aXRjaChTKXtjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkxpbmU6Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lV2l0aEJyZWFrczpmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi5nLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9fSkpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQXJlYTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFXaXRoQnJlYWtzOmYuYXBwZW5kKG5ldyB1LlBhbmVSZW5kZXJlckFyZWEoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5IaXN0b2dyYW06Zi5hcHBlbmQobmV3IFIoZykpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQ29sdW1uczpmLmFwcGVuZChuZXcgTi5QYW5lUmVuZGVyZXJDb2x1bW5zKGcpKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNyb3NzOmYuYXBwZW5kKG5ldyB3KGcpKSx2JiZmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi4oMCxoLmRlZXBDb3B5KShnKSxsaW5lV2lkdGg6MSxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxmb3JjZUxpbmVXaWR0aDohMH0pKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNpcmNsZXM6Zi5hcHBlbmQobmV3IGIoZykpLHYmJmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLigwLGguZGVlcENvcHkpKGcpLGxpbmVXaWR0aDoxLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9LGlnbm9yZVBhbGV0dGVMaW5lV2lkdGg6ITB9KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrczpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzOntjb25zdCBlPW5ldyBtLlBhbmVSZW5kZXJlclN0ZXBMaW5lO2Uuc2V0RGF0YSh7Li4uZyxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxkZWNvcmF0aW9uOmkucGxvdHR5cGUudmFsdWUoKT09PU0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzP20uU3RlcExpbmVEZWNvcmF0aW9uLkRpYW1vbmRzOm0uU3RlcExpbmVEZWNvcmF0aW9uLk5vbmUsZXh0ZW5kVG9CYXJzRW5kaW5nczp0aGlzLl9leHRlbmRTdGVwTGluZVRvQmFyc0VuZGluZ3N9KSxmLmFwcGVuZChlKTticmVha31kZWZhdWx0OmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSl9dGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmdGhpcy5fc2VsZWN0aW9uRGF0YSYmZi5hcHBlbmQobmV3IHkuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpfV91cGRhdGVBZGRpdGlvbmFsUHJpY2VzKGUsdCl7Y29uc3QgaT10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnN0eWxlcz8uW3RoaXMuX3Bsb3ROYW1lXTt2b2lkIDAhPT1pPy5oaXN0b2dyYW1CYXNlJiYodGhpcy5faGlzdG9ncmFtQmFzZT1lLnByaWNlVG9Db29yZGluYXRlKGkuaGlzdG9ncmFtQmFzZSx0KSl9fX0sODQwNzcxKGUsdCxpKXtpLmQodCx7U3R1ZHlGb3JjZU92ZXJsYXlQbG90VmlldzooKT0+b30pO3ZhciBzPWkoMTM4NjM4KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Bsb3ROYW1lPWl9aXNQbG90SGlnaGxpZ2h0ZWQoKXtyZXR1cm4hIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5oaWdobGlnaHRlZFBsb3RJbmZvKCkpLnBsb3RJZD09PXRoaXMuX3Bsb3ROYW1lfX1jbGFzcyBvIGV4dGVuZHMgbntpc0ZvcmNlT3ZlcmxheSgpe3JldHVybiEhdGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdE5hbWUpfV9wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuaXNGb3JjZU92ZXJsYXkoKT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKX19fSwzMDMyNzAoZSx0LGkpe2kuZCh0LHtTdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZTooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoNjAxODQxKSxsPWkoNTIxOTgzKSxhPWkoOTM2MzI2KSxyPWkoMTk4OTAxKSxkPWkoMTQzOTMyKSxoPWkoNTQ0ODY0KSxjPWkoODQwNzcxKTtjbGFzcyB1IGV4dGVuZHMgYy5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksCnRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3IGQuU2VsZWN0aW9uSW5kZXhlcyh0LnRpbWVTY2FsZSgpKX11cGRhdGUoZSl7aWYoImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUpe2lmKCJnbG9iYWwtY2hhbmdlIj09PWUudHlwZSlyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkPSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse30pLHZvaWQodGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMCk7aWYoImRhdGEtc291cmNlLWNoYW5nZSIhPT1lLnR5cGUpdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMDtlbHNle2lmKChlLnNvdXJjZUlkPT09dGhpcy5fc3R1ZHkuaWQoKXx8dGhpcy5fZGVwZW5kc09uU2VyaWVzRGF0YSgpJiZlLnNvdXJjZUlkPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCkpJiYhZS5ub25TZXJpZXNPbmx5KXtjb25zdCB0PSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse2ZpcnN0SW5kZXg6ZS5maXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleCxjbGVhckRhdGE6ZS5jbGVhckRhdGF9KTt0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9dH19fX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiExfV9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpe3RoaXMuX2RhdGFJbnZhbGlkYXRlZD90aGlzLl91cGRhdGVJbXBsRnVsbCh0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkKSYmKHRoaXMuX2RhdGFJbnZhbGlkYXRlZD1udWxsKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiZ0aGlzLl91cGRhdGVJbXBsTGlnaHQoKSx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExfV9wcmVhbGxvY2F0ZUl0ZW1zKGUsdCl7Y29uc3QgaT1lLnNpemUoKTtsZXQgbj10aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmZpcnN0SW5kZXg7aWYoMD09PWkpcmV0dXJuIG47Y29uc3Qgbz10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2lmKGkhPT10aGlzLl9pdGVtcy5sZW5ndGgpe2NvbnN0IGk9dm9pZCAwIT09bj9uK286dm9pZCAwO2lmKHZvaWQgMD09PWl8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGk8KDAscy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9pdGVtc1swXS50aW1lUG9pbnRJbmRleCkpcmV0dXJuIHRoaXMuX2l0ZW1zPVtdLGUuZWFjaCgoKGUsaSk9Pntjb25zdCBzPWlbdGhpcy5fcGxvdEluZGV4KzFdO3JldHVybiB0aGlzLl9pdGVtcy5wdXNoKHQoZSxzKSksITF9KSksdGhpcy5faXRlbXMubGVuZ3RoPygwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgpLW86dm9pZCAwO3tjb25zdCBpPSgwLHMuZW5zdXJlRGVmaW5lZCkobiksbD1vPj0wPzA6byxhPW8+PTA/bzowO2xldCBkPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsaStsLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgaD0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpLGM9ZS5yYW5nZUl0ZXJhdG9yKGktYSxoKTtmb3IoY29uc3QgZSBvZiBjKWlmKHZvaWQgMCE9PWQmJnRoaXMuX2l0ZW1zW2RdPy50aW1lUG9pbnRJbmRleD09PWUuaW5kZXgrbylkPXRoaXMuX3VwZGF0ZUl0ZW0oZSxkKTtlbHNle2NvbnN0IGk9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07dGhpcy5faXRlbXMucHVzaCh0KGUuaW5kZXgsaSkpfX19ZWxzZSBpZihuPW4/P2UuZmlyc3RJbmRleCgpPz92b2lkIDAsdm9pZCAwIT09bil7Y29uc3QgdD1vPj0wPzA6byxpPW8+PTA/bzowO2xldCBsPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsbit0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzEsZD1lLnJhbmdlSXRlcmF0b3Iobi1pLGEpO2Zvcihjb25zdCBlIG9mIGQpbD10aGlzLl91cGRhdGVJdGVtKGUsbCl9cmV0dXJuIG59X3VwZGF0ZUl0ZW0oZSx0KXtjb25zdCBpPXRoaXMuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSk7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPWk/P05hTix0KzF9X2dldFZhbHVlRm9yVXBkYXRpbmcoZSl7cmV0dXJuIGUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdfV9jYWxjdWxhdGVTdGFydEVuZChlKXtjb25zdCB0PXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7bGV0IGk9ZS5maXJzdEJhcigpLU1hdGguYWJzKHQpLTEsbj1lLmxhc3RCYXIoKStNYXRoLmFicyh0KSsxO2NvbnN0IG89dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpK3Q7aWYobz5uKzEpcmV0dXJue3N0YXJ0QmFyOm51bGwsZW5kQmFyOm51bGx9O2NvbnN0IGw9dGhpcy5fc3R1ZHkucGxvdHMoKTtpZihsLmlzRW1wdHkoKSlyZXR1cm57c3RhcnRCYXI6bnVsbCxlbmRCYXI6bnVsbH07Y29uc3Qgcj1sLnJhbmdlKG8sKDAscy5lbnN1cmVOb3ROdWxsKShsLmxhc3RJbmRleCgpKSk7aT1NYXRoLm1heChpLG8pLG49TWF0aC5tYXgobixvKTtjb25zdCBkPXIuc2VhcmNoKGksYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCx0aGlzLl9wbG90SW5kZXgrMSksaD1yLnNlYXJjaChuLGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LHRoaXMuX3Bsb3RJbmRleCsxKTtyZXR1cm4gbnVsbCE9PWQmJihpPWQuaW5kZXgpLG51bGwhPT1oJiYobj1oLmluZGV4KSxpPU1hdGgubWF4KG8saSkse3N0YXJ0QmFyOmksZW5kQmFyOm59fV91cGRhdGVJbXBsTGlnaHQoKXtjb25zdCBlPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWUpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10fHx0LmlzRW1wdHkoKSlyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSkKO2NvbnN0IGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiB0aGlzLl9zZWxlY3Rpb25EYXRhPW51bGwsdm9pZCB0aGlzLl91cGRhdGVSZW5kZXJlcigwLC0xKTtjb25zdHtzdGFydEJhcjpzLGVuZEJhcjpufT10aGlzLl9jYWxjdWxhdGVTdGFydEVuZChpKTtpZihudWxsPT09c3x8bnVsbD09PW58fDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0e3N0YXJ0SXRlbUluZGV4Om8sZW5kSXRlbUluZGV4Omx9PXRoaXMuX2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoTWF0aC5tYXgoMCwoMCxyLmxvd2VyYm91bmQpKHRoaXMuX2l0ZW1zLHMsKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSksTWF0aC5taW4odGhpcy5faXRlbXMubGVuZ3RoLCgwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsbiwoKGUsdCk9PmU8dC50aW1lUG9pbnRJbmRleCkpKSk7aWYobz49bClyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSk7dGhpcy5fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyh0LGUsbyxsKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24oZSksdGhpcy5fdXBkYXRlUmVuZGVyZXIobyxsKX1fY29ycmVjdFZpc2libGVJdGVtSW5kZXhlcyhlLHQpe3JldHVybntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyhlLHQsaSxzKXt0aGlzLl9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzSW1wbChlLHQsaSxzKX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlc0ltcGwoZSx0LGkscyl7ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OmksZW5kSXRlbUluZGV4OnN9KSx0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyx7c3RhcnRJdGVtSW5kZXg6aSxlbmRJdGVtSW5kZXg6c30sITApLHRoaXMuX3VwZGF0ZUFkZGl0aW9uYWxQcmljZXMoZSx0KX1fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhlLHQpe31fY3JlYXRlU2VsZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybjtpZih0aGlzLl9zZWxlY3Rpb25EYXRhPXtwb2ludHM6W10sYmdDb2xvcnM6W10sdmlzaWJsZTohMCxoaXR0ZXN0UmVzdWx0OmguSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCksbj10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2Zvcihjb25zdCBzIG9mIHRoaXMuX3NlbGVjdGlvbkluZGV4ZXIuaW5kZXhlcygpKXtjb25zdCBsPXRoaXMuX3N0dWR5LnBsb3RzKCkudmFsdWVBdChzKTtpZigoMCxvLmlzQWJzZW50KShsKSljb250aW51ZTtjb25zdCBhPWxbdGhpcy5fcGxvdEluZGV4KzFdO2lmKCgwLG8uaXNBYnNlbnQpKGEpKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KHQsTWF0aC5mbG9vcihzK24pLGEsZSk7dGhpcy5fc2VsZWN0aW9uRGF0YS5wb2ludHMucHVzaChyKSx0aGlzLl9zZWxlY3Rpb25EYXRhLmJnQ29sb3JzLnB1c2godGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3Aoci5wb2ludC55L2kpKX19X2NyZWF0ZVNlbGVjdGlvbkRhdGFQb2ludChlLHQsaSxzKXtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKHQpLGw9ZS5wcmljZVRvQ29vcmRpbmF0ZShpLHMpO3JldHVybntwb2ludDooMCxuLnBvaW50KShvLGwpfX19fSw2ODAxMjYoZSx0LGkpe2kuZCh0LHtTdHVkeVByaWNlQXhpc1ZpZXc6KCk9PmF9KTt2YXIgcz1pKDEzODYzOCksbj1pKDcxNjc4KSxvPWkoMTY4MjU4KSxsPWkoODczNTczKTtjbGFzcyBhIGV4dGVuZHMgbi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9tb2RlbD1lLm1vZGVsKCksdGhpcy5fc291cmNlPWUsdGhpcy5fZGF0YT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PSEhdGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaXNQbG90Rm9yY2VPdmVybGF5KHRoaXMuX2RhdGEucGxvdE5hbWUpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmc3VwZXIudXBkYXRlKGUpfWlzUGxvdEhpZ2hsaWdodGVkKCl7cmV0dXJuISF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpJiYoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSkucGxvdElkPT09dGhpcy5fZGF0YT8ucGxvdE5hbWV9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQsaSl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCBuPXRoaXMuX3NvdXJjZS5tb2RlbCgpLG89dGhpcy5faXNGb3JjZU92ZXJsYXk/bi5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9dGhpcy5fc291cmNlLmxhc3RWYWx1ZURhdGEodGhpcy5fZGF0YS5wbG90TmFtZSwhMSk7aWYoYS5ub0RhdGEpcmV0dXJuO2NvbnN0IHI9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksZD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PXJ8fG51bGw9PT1kKXJldHVybjtsZXQgaDtpZihkPD1yLmxhc3RCYXIoKSl7aS5iYWNrZ3JvdW5kPSgwLGwucmVzZXRUcmFuc3BhcmVuY3kpKGEuY29sb3IpLApoPWkuYmFja2dyb3VuZDtsZXQgcz1hLmNvbG9yOyJ0cmFuc3BhcmVudCI9PT1zJiYocz10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kQ29sb3IudmFsdWUoKSksaS50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihzKSxpLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExfWVsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGEuY29vcmRpbmF0ZS8oMCxzLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7aS5iYWNrZ3JvdW5kPW8saS50ZXh0Q29sb3I9KDAsbC5yZXNldFRyYW5zcGFyZW5jeSkoYS5jb2xvciksaS5ib3JkZXJDb2xvcj0oMCxsLnJlc2V0VHJhbnNwYXJlbmN5KShpLnRleHRDb2xvciksaD1pLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9aS5jb29yZGluYXRlPWEuY29vcmRpbmF0ZSx0aGlzLl9zaG93QXhpc0xhYmVsKCkmJihlLnRleHQ9YS50ZXh0LGUudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj10aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3NvdXJjZSkmJiF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpfHx0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCk/aDp2b2lkIDAsdGhpcy5fdXBkYXRlUGFuZVJlbmRlcmVyRGF0YSh0KX1fc2hvd1BhbmVMYWJlbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuKGUuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbE5hbWVMYWJlbC52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3Nob3dBeGlzTGFiZWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybihlLnNob3dTdHVkeUxhc3RWYWx1ZS52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZS52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3VwZGF0ZVBhbmVSZW5kZXJlckRhdGEoZSl7ZS50ZXh0PSIiLHRoaXMuX3Nob3dQYW5lTGFiZWwoKSYmKGUudGV4dD10aGlzLl9zb3VyY2UucHJpY2VMYWJlbFRleHQodGhpcy5fZGF0YS5wbG90TmFtZSksZS52aXNpYmxlPSEwKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/41506.4e481cfe3d7dcc9113df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.996Z","timestamp":1785124876996,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/41506.4e481cfe3d7dcc9113df.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-ec4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:55\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5322bf69eb6375aafad048d4ca446e29\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3780,"size_decoded":1592,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3780), with no line terminators","md5":"4fd46403ac7bdbbc945dafd84cf4cce7","sha1":"abd6547add65404e86c3af3ac24c2ff5b5e7465f","sha256":"d33a476bc76a1595c539524ddbb7c6e4bb5974d727ad3e30d51b941ce9bfc37b","sha512":"be32a0f9edfb7b21dae05b1d39bd71d5006ea92cbb25311c97915ec20eff60262d1c54a6ac1ca2077ce8cd870276676515361a5ca95413c92e49d0d9ae313e8f","ssdeep":"","tlshash":"407125fcea9078342d876dadda1eb73519c8f45797836eabb509a08040e96de10f350e","first_seen":"2026-07-20T16:56:18.315644Z","last_seen":"2026-07-27T06:24:31.66369Z","times_seen":45,"resource_available":false,"data":"LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRley0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtY29sb3IpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjFweCAwO3dpZHRoOjIwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmljZVNjYWxlTW9kZUJ1dHRvbi1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZSl9LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyKTtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWNvbG9yKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZC1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhe2Rpc3BsYXk6ZmxleDtmbGV4OjEgMTtwYWRkaW5nOjRweH0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhOmZpcnN0LWNoaWxke2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nLWlubGluZS1lbmQ6MnB4fS5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWE6bGFzdC1jaGlsZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLWlubGluZS1zdGFydDoycHh9LmNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfS5jaGFydC13aWRnZXRfX2JvdHRvbS0tdGhlbWVkLWRhcmsgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.101Z","timestamp":1785124877101,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7e2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 81fd828343458ddaa9383cab1cc02b50\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32303,"size_decoded":12573,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-27T06:24:31.635459Z","times_seen":34,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0Njc3Miw2MzU5NSw2NDY0NCw3MTMwMF0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIHM9dHlwZW9mIG47aWYoInN0cmluZyI9PT1zfHwibnVtYmVyIj09PXMpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxuKTtpJiZlLnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PXMpZm9yKHZhciBhIGluIG4pci5jYWxsKG4sYSkmJm5bYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sMjA3MzQyKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItTjg0WFNjR24iLCJjb250YWluZXIteHhzbWFsbCI6ImNvbnRhaW5lci14eHNtYWxsLU44NFhTY0duIiwiY29udGFpbmVyLXhzbWFsbCI6ImNvbnRhaW5lci14c21hbGwtTjg0WFNjR24iLCJjb250YWluZXItc21hbGwiOiJjb250YWluZXItc21hbGwtTjg0WFNjR24iLCJjb250YWluZXItbWVkaXVtIjoiY29udGFpbmVyLW1lZGl1bS1OODRYU2NHbiIsImNvbnRhaW5lci1sYXJnZSI6ImNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiIsImludGVudC1kZWZhdWx0IjoiaW50ZW50LWRlZmF1bHQtTjg0WFNjR24iLGZvY3VzZWQ6ImZvY3VzZWQtTjg0WFNjR24iLHJlYWRvbmx5OiJyZWFkb25seS1OODRYU2NHbiIsZGlzYWJsZWQ6ImRpc2FibGVkLU44NFhTY0duIiwid2l0aC1oaWdobGlnaHQiOiJ3aXRoLWhpZ2hsaWdodC1OODRYU2NHbiIsZ3JvdXBlZDoiZ3JvdXBlZC1OODRYU2NHbiIsImFkanVzdC1wb3NpdGlvbiI6ImFkanVzdC1wb3NpdGlvbi1OODRYU2NHbiIsImZpcnN0LXJvdyI6ImZpcnN0LXJvdy1OODRYU2NHbiIsImZpcnN0LWNvbCI6ImZpcnN0LWNvbC1OODRYU2NHbiIsc3RyZXRjaDoic3RyZXRjaC1OODRYU2NHbiIsImZvbnQtc2l6ZS1tZWRpdW0iOiJmb250LXNpemUtbWVkaXVtLU44NFhTY0duIiwiZm9udC1zaXplLWxhcmdlIjoiZm9udC1zaXplLWxhcmdlLU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1sZWZ0Ijoibm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1yaWdodCI6Im5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR24iLCJuby1jb3JuZXItYm90dG9tLXJpZ2h0Ijoibm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbiIsIm5vLWNvcm5lci1ib3R0b20tbGVmdCI6Im5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbiIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1OODRYU2NHbiIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtTjg0WFNjR24iLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1OODRYU2NHbiIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tTjg0WFNjR24iLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1OODRYU2NHbiIsImludGVudC1zdWNjZXNzIjoiaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR24iLCJpbnRlbnQtd2FybmluZyI6ImludGVudC13YXJuaW5nLU44NFhTY0duIiwiaW50ZW50LWRhbmdlciI6ImludGVudC1kYW5nZXItTjg0WFNjR24iLCJpbnRlbnQtcHJpbWFyeSI6ImludGVudC1wcmltYXJ5LU44NFhTY0duIiwiYm9yZGVyLW5vbmUiOiJib3JkZXItbm9uZS1OODRYU2NHbiIsImJvcmRlci10aGluIjoiYm9yZGVyLXRoaW4tTjg0WFNjR24iLCJib3JkZXItdGhpY2siOiJib3JkZXItdGhpY2stTjg0WFNjR24iLGhpZ2hsaWdodDoiaGlnaGxpZ2h0LU44NFhTY0duIixzaG93bjoic2hvd24tTjg0WFNjR24ifX0sODk0NDY0KGUpe2UuZXhwb3J0cz17ImlubmVyLXNsb3QiOiJpbm5lci1zbG90LU5iR3B0RDVqIixpbnRlcmFjdGl2ZToiaW50ZXJhY3RpdmUtTmJHcHRENWoiLGljb246Imljb24tTmJHcHRENWoiLCJpbm5lci1taWRkbGUtc2xvdCI6ImlubmVyLW1pZGRsZS1zbG90LU5iR3B0RDVqIiwiYmVmb3JlLXNsb3QiOiJiZWZvcmUtc2xvdC1OYkdwdEQ1aiIsImFmdGVyLXNsb3QiOiJhZnRlci1zbG90LU5iR3B0RDVqIn19LDU5MjU1MChlKXtlLmV4cG9ydHM9e2lucHV0OiJpbnB1dC1IMHhkQ25GUyIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1IMHhkQ25GUyIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtSDB4ZENuRlMiLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1IMHhkQ25GUyIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tSDB4ZENuRlMiLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1IMHhkQ25GUyIsIndpdGgtc3RhcnQtc2xvdCI6IndpdGgtc3RhcnQtc2xvdC1IMHhkQ25GUyIsIndpdGgtZW5kLXNsb3QiOiJ3aXRoLWVuZC1zbG90LUgweGRDbkZTIn19LDcxNzE5NShlKXtlLmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLVVHZEM2OXN3IixkaWFsb2dJbm5lcjoiZGlhbG9nSW5uZXItVUdkQzY5c3ciLHRpdGxlV3JhcHBlcjoidGl0bGVXcmFwcGVyLVVHZEM2OXN3Iix0aXRsZToidGl0bGUtVUdkQzY5c3ciLGluZm9IaW50OiJpbmZvSGludC1VR2RDNjlzdyIsZm9ybToiZm9ybS1VR2RDNjlzdyIsaW5wdXRXcmFwcGVyOiJpbnB1dFdyYXBwZXItVUdkQzY5c3ciLGlucHV0OiJpbnB1dC1VR2RDNjlzdyIsaGludDoiaGludC1VR2RDNjlzdyIsZXJyb3I6ImVycm9yLVVHZEM2OXN3In19LDg2NTU2MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUVkFwcENvbnRleHQ6KCk9PmMsVFZBcHBDb250ZXh0UHJvdmlkZXI6KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDExNTI5Mykscz1uKDk5OTUxKSxpPW4oMTE3MzEzKTtjb25zdCBhPXtpT3M6Im9sZCIsYW5kcm9pZDoibmV3IixvbGQ6Im9sZCIsbmV3OiJuZXciLGFueToiYW55In07ZnVuY3Rpb24gbChlKXsKY29uc3RbdF09KDAsci51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKGFbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChzLkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IGM9cy5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMTI5MzY1KSxzPW4oMzM2MzM0KSxpPW4oODY1NTYwKTtmdW5jdGlvbiBhKGUsdCxuPSJsZWdhY3kiKXtjb25zdCBhPXIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LGUpO2lmKCJtb2Rlcm4iPT09bil7Y29uc3QgZT0oMCxzLmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihhKSx7cmVuZGVyKHQpe2UucmVuZGVyKHIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGEsdCkse3JlbmRlcihlKXtvLnJlbmRlcihyLmNyZWF0ZUVsZW1lbnQoaS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpufSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sNjU5ODc4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNTg1NDgpO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyByLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6bixyb290OnN9PXRoaXMucHJvcHM7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgaT1yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cz9pOnIuY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw5OTk1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBcHBDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2lzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDUzMjAxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sR3JvdXBDb250ZXh0OigpPT5zLGRlZmF1bHRDZWxsU3RhdGU6KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz17aXNUb3A6ITAsaXNSaWdodDohMCxpc0JvdHRvbTohMCxpc0xlZnQ6ITB9LHM9ci5jcmVhdGVDb250ZXh0KHtpc0dyb3VwZWQ6ITEsY2VsbFN0YXRlOm99KX0sNjA1MTQxKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1uLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5yfSl9LDU2MDQ5MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sU2tlbGV0b246KCk9Pl8sSW5wdXRDbGFzc2VzOigpPT5nfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGk9bigxMzg2MzgpLGE9bigzMTk2OSksbD1uKDM0NTExNiksYz1uKDUzMjAxMSksdT1uKDYwNTE0MSk7dmFyIGQ9bigyMDczNDIpLGY9bi5uKGQpO2Z1bmN0aW9uIHAoZSl7bGV0IHQ9IiI7cmV0dXJuIDAhPT1lJiYoMSZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtbGVmdCJdKSksMiZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtcmlnaHQiXSkpLDQmZSYmKHQ9cygpKHQsZigpWyJuby1jb3JuZXItYm90dG9tLXJpZ2h0Il0pKSw4JmUmJih0PXMoKSh0LGYoKVsibm8tY29ybmVyLWJvdHRvbS1sZWZ0Il0pKSksdH1mdW5jdGlvbiBoKGUsdCxuLHIpe2NvbnN0e3JlbW92ZVJvdW5kQm9yZGVyOm8sY2xhc3NOYW1lOmksaW50ZW50OmE9ImRlZmF1bHQiLGJvcmRlclN0eWxlOmw9InRoaW4iLHNpemU6YyxoaWdobGlnaHQ6ZCxkaXNhYmxlZDpoLHJlYWRvbmx5Om0sc3RyZXRjaDpnLG5vUmVhZG9ubHlTdHlsZXM6dixpc0ZvY3VzZWQ6eX09ZSxfPXAobz8/KDAsdS5nZXRHcm91cENlbGxSZW1vdmVSb3VuZEJvcmRlcnMpKG4pKTtyZXR1cm4gcygpKGYoKS5jb250YWluZXIsZigpW2Bjb250YWluZXItJHtjfWBdLGYoKVtgaW50ZW50LSR7YX1gXSxmKClbYGJvcmRlci0ke2x9YF0sYyYmZigpW2BzaXplLSR7Y31gXSxfLGQmJmYoKVsid2l0aC1oaWdobGlnaHQiXSxoJiZmKCkuZGlzYWJsZWQsbSYmIXYmJmYoKS5yZWFkb25seSx5JiZmKCkuZm9jdXNlZCxnJiZmKCkuc3RyZXRjaCx0JiZmKCkuZ3JvdXBlZCwhciYmZigpWyJhZGp1c3QtcG9zaXRpb24iXSxuLmlzVG9wJiZmKClbImZpcnN0LXJvdyJdLG4uaXNMZWZ0JiZmKClbImZpcnN0LWNvbCJdLGkpfWZ1bmN0aW9uIG0oZSx0LG4pe2NvbnN0e2hpZ2hsaWdodDpyLGhpZ2hsaWdodFJlbW92ZVJvdW5kQm9yZGVyOm99PWU7aWYoIXIpcmV0dXJuIGYoKS5oaWdobGlnaHQ7Y29uc3QgaT1wKG8/PygwLHUuZ2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzKSh0KSk7cmV0dXJuIHMoKShmKCkuaGlnaGxpZ2h0LGYoKS5zaG93bixmKClbYHNpemUtJHtufWBdLGkpfWNvbnN0IGc9e0ZvbnRTaXplTWVkaXVtOigwLGkuZW5zdXJlRGVmaW5lZCkoZigpWyJmb250LXNpemUtbWVkaXVtIl0pLEZvbnRTaXplTGFyZ2U6KDAsaS5lbnN1cmVEZWZpbmVkKShmKClbImZvbnQtc2l6ZS1sYXJnZSJdKX0sdj17cGFzc2l2ZTohMX07ZnVuY3Rpb24geShlLHQpewpjb25zdHtzdHlsZTpuLGlkOm8scm9sZTpzLG9uRm9jdXM6aSxvbkJsdXI6dSxvbk1vdXNlT3ZlcjpkLG9uTW91c2VPdXQ6Zixvbk1vdXNlRW50ZXI6cCxvbk1vdXNlTGVhdmU6Zyxvbk1vdXNlRG93bjp5LG9uTW91c2VVcDpfLG9uS2V5RG93bjpDLG9uQ2xpY2s6dyx0YWJJbmRleDpTLHN0YXJ0U2xvdDpiLG1pZGRsZVNsb3Q6RSxlbmRTbG90Ongsb25XaGVlbDpOLG9uV2hlZWxOb1Bhc3NpdmU6Uj1udWxsLHNpemU6SSx0YWc6Tz0ic3BhbiIsdHlwZTpNfT1lLHtpc0dyb3VwZWQ6QSxjZWxsU3RhdGU6RCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50OlQ9ITF9PSgwLHIudXNlQ29udGV4dCkoYy5Db250cm9sR3JvdXBDb250ZXh0KSxHPWZ1bmN0aW9uKGUsdD1udWxsLG4pe2NvbnN0IG89KDAsci51c2VSZWYpKG51bGwpLHM9KDAsci51c2VSZWYpKG51bGwpLGk9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGE9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGw9KDAsci51c2VDYWxsYmFjaykoKGU9PnthKCksby5jdXJyZW50PWUsaSgpfSksW10pO3JldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PihzLmN1cnJlbnQ9W2UsdCxuXSxpKCksYSkpLFtlLHQsbl0pLGx9KCJ3aGVlbCIsUix2KSxMPU87cmV0dXJuIHIuY3JlYXRlRWxlbWVudChMLHt0eXBlOk0sc3R5bGU6bixpZDpvLHJvbGU6cyxjbGFzc05hbWU6aChlLEEsRCxUKSx0YWJJbmRleDpTLHJlZjooMCxhLnVzZU1lcmdlZFJlZnMpKFt0LEddKSxvbkZvY3VzOmksb25CbHVyOnUsb25Nb3VzZU92ZXI6ZCxvbk1vdXNlT3V0OmYsb25Nb3VzZUVudGVyOnAsb25Nb3VzZUxlYXZlOmcsb25Nb3VzZURvd246eSxvbk1vdXNlVXA6XyxvbktleURvd246QyxvbkNsaWNrOncsb25XaGVlbDpOLC4uLigwLGwuZmlsdGVyRGF0YVByb3BzKShlKSwuLi4oMCxsLmZpbHRlckFyaWFQcm9wcykoZSl9LGIsRSx4LHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTptKGUsRCxJKX0pKX15LmRpc3BsYXlOYW1lPSJDb250cm9sU2tlbGV0b24iO2NvbnN0IF89ci5mb3J3YXJkUmVmKHkpfSw1MDU2MzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWZ0ZXJTbG90OigpPT5mLEJlZm9yZVNsb3Q6KCk9PmwsRW5kU2xvdDooKT0+ZCxNaWRkbGVTbG90OigpPT51LFN0YXJ0U2xvdDooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxpPW4oODk0NDY0KSxhPW4ubihpKTtmdW5jdGlvbiBsKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJiZWZvcmUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOml9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sbiYmYSgpLmludGVyYWN0aXZlLG8mJmEoKS5pY29uLHQpfSxpKX1mdW5jdGlvbiB1KGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sYSgpWyJpbm5lci1taWRkbGUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBkKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOmksZGF0YVFhSWQ6bH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhKClbImlubmVyLXNsb3QiXSxuJiZhKCkuaW50ZXJhY3RpdmUsbyYmYSgpLmljb24sdCksImRhdGEtcWEtaWQiOmx9LGkpfWZ1bmN0aW9uIGYoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bixkYXRhUWFJZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGEoKVsiYWZ0ZXItc2xvdCJdLHQpLCJkYXRhLXFhLWlkIjpvfSxuKX19LDM2MTg1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnB1dDooKT0+XyxJbnB1dENvbnRyb2w6KCk9PkN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE0NzkwMSksYT1uKDM0NTExNiksbD1uKDgzMzkwMyksYz1uKDc4MDY1MSksdT1uKDMxOTY5KSxkPW4oOTA4MDk3KSxmPW4oMTQ1OTg0KSxwPW4oNTY0MjEpLGg9big1NjA0OTEpLG09big1MDU2MzkpLGc9big1OTI1NTApLHY9bi5uKGcpO2Z1bmN0aW9uIHkoZSl7cmV0dXJuISgwLGEuaXNBcmlhQXR0cmlidXRlKShlKSYmISgwLGEuaXNEYXRhQXR0cmlidXRlKShlKX1mdW5jdGlvbiBfKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixyb2xlOm8sdGFiSW5kZXg6bCxwbGFjZWhvbGRlcjpjLG5hbWU6dSx0eXBlOmQsdmFsdWU6ZixkZWZhdWx0VmFsdWU6cCxkcmFnZ2FibGU6ZyxhdXRvQ29tcGxldGU6XyxhdXRvRm9jdXM6QyxhdXRvQ2FwaXRhbGl6ZTp3LGF1dG9Db3JyZWN0OlMsbWF4TGVuZ3RoOmIsbWluOkUsbWF4Ongsc3RlcDpOLHBhdHRlcm46UixpbnB1dE1vZGU6SSxvblNlbGVjdDpPLG9uRm9jdXM6TSxvbkJsdXI6QSxvbktleURvd246RCxvbktleVVwOlQsb25LZXlQcmVzczpHLG9uQ2hhbmdlOkwsb25EcmFnU3RhcnQ6ayxzaXplOlA9InNtYWxsIixjbGFzc05hbWU6eixpbnB1dENsYXNzTmFtZTpGLGRpc2FibGVkOkIscmVhZG9ubHk6VSxjb250YWluZXJUYWJJbmRleDpYLHN0YXJ0U2xvdDpqLGVuZFNsb3Q6SCxyZWZlcmVuY2U6JCxjb250YWluZXJSZWZlcmVuY2U6VixvbkNvbnRhaW5lckZvY3VzOlcsZGF0YVFhSWQ6SywuLi5xfT1lLFE9KDAsYS5maWx0ZXJQcm9wcykocSx5KSxaPXsuLi4oMCwKYS5maWx0ZXJBcmlhUHJvcHMpKHEpLC4uLigwLGEuZmlsdGVyRGF0YVByb3BzKShxKSxpZDp0LHRpdGxlOm4scm9sZTpvLHRhYkluZGV4OmwscGxhY2Vob2xkZXI6YyxuYW1lOnUsdHlwZTpkLHZhbHVlOmYsZGVmYXVsdFZhbHVlOnAsZHJhZ2dhYmxlOmcsYXV0b0NvbXBsZXRlOl8sYXV0b0ZvY3VzOkMsYXV0b0NhcGl0YWxpemU6dyxhdXRvQ29ycmVjdDpTLG1heExlbmd0aDpiLG1pbjpFLG1heDp4LHN0ZXA6TixwYXR0ZXJuOlIsaW5wdXRNb2RlOkksb25TZWxlY3Q6TyxvbkZvY3VzOk0sb25CbHVyOkEsb25LZXlEb3duOkQsb25LZXlVcDpULG9uS2V5UHJlc3M6RyxvbkNoYW5nZTpMLG9uRHJhZ1N0YXJ0Omt9O3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Db250cm9sU2tlbGV0b24sey4uLlEsZGlzYWJsZWQ6QixyZWFkb25seTpVLHRhYkluZGV4OlgsY2xhc3NOYW1lOnosc2l6ZTpQLHJlZjpWLG9uRm9jdXM6VyxzdGFydFNsb3Q6aixtaWRkbGVTbG90OnIuY3JlYXRlRWxlbWVudChtLk1pZGRsZVNsb3QsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoImlucHV0Iix7Li4uWixjbGFzc05hbWU6cygpKHYoKS5pbnB1dCx2KClbYHNpemUtJHtQfWBdLEYsaiYmdigpWyJ3aXRoLXN0YXJ0LXNsb3QiXSxIJiZ2KClbIndpdGgtZW5kLXNsb3QiXSksZGlzYWJsZWQ6QixyZWFkT25seTpVLHJlZjokLCJkYXRhLXFhLWlkIjooMCxpLmRhdGFRYUlkcykoInVpLWxpYi1JbnB1dC1pbnB1dCIsSz9gJHtLfS1pbnB1dGA6dm9pZCAwKX0pKSxlbmRTbG90OkgsImRhdGEtcWEtaWQiOigwLGkuZGF0YVFhSWRzKSgidWktbGliLUlucHV0IixLKX0pfWZ1bmN0aW9uIEMoZSl7ZT0oMCxkLnVzZUNvbnRyb2wpKGUpO2NvbnN0e2Rpc2FibGVkOnQsYXV0b1NlbGVjdE9uRm9jdXM6bix0YWJJbmRleDpvPTAsb25Gb2N1czpzLG9uQmx1cjppLHJlZmVyZW5jZTphLGNvbnRhaW5lclJlZmVyZW5jZTpoPW51bGwsZGF0YVFhSWQ6bX09ZSxnPSgwLHIudXNlUmVmKShudWxsKSx2PSgwLHIudXNlUmVmKShudWxsKSxbeSxDXT0oMCxmLnVzZUZvY3VzKSgpLHc9dD92b2lkIDA6eT8tMTpvLFM9dD92b2lkIDA6eT9vOi0xLHtpc01vdXNlRG93bjpiLGhhbmRsZU1vdXNlRG93bjpFLGhhbmRsZU1vdXNlVXA6eH09KDAscC51c2VJc01vdXNlRG93bikoKSxOPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkZvY3VzLChmdW5jdGlvbihlKXtuJiYhYi5jdXJyZW50JiYoMCxjLnNlbGVjdEFsbENvbnRlbnQpKGUuY3VycmVudFRhcmdldCl9KSxzKSxSPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkJsdXIsaSksST0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2cuY3VycmVudD1lLGEmJigiZnVuY3Rpb24iPT10eXBlb2YgYSYmYShlKSwib2JqZWN0Ij09dHlwZW9mIGEmJihhLmN1cnJlbnQ9ZSkpfSksW2csYV0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoXyx7Li4uZSxpc0ZvY3VzZWQ6eSxjb250YWluZXJUYWJJbmRleDp3LHRhYkluZGV4OlMsb25Db250YWluZXJGb2N1czpmdW5jdGlvbihlKXt2LmN1cnJlbnQ9PT1lLnRhcmdldCYmbnVsbCE9PWcuY3VycmVudCYmZy5jdXJyZW50LmZvY3VzKCl9LG9uRm9jdXM6TixvbkJsdXI6UixyZWZlcmVuY2U6SSxjb250YWluZXJSZWZlcmVuY2U6KDAsdS51c2VNZXJnZWRSZWZzKShbdixoXSksb25Nb3VzZURvd246RSxvbk1vdXNlVXA6eCxkYXRhUWFJZDptfSl9fSw5MDgwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29udHJvbDooKT0+c30pO3ZhciByPW4oODMzOTAzKSxvPW4oMTQ1OTg0KTtmdW5jdGlvbiBzKGUpe2NvbnN0e29uRm9jdXM6dCxvbkJsdXI6bixpbnRlbnQ6cyxoaWdobGlnaHQ6aSxkaXNhYmxlZDphfT1lLFtsLGNdPSgwLG8udXNlRm9jdXMpKHZvaWQgMCxhKSx1PSgwLHIuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoYT92b2lkIDA6Yy5vbkZvY3VzLHQpLGQ9KDAsci5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKShhP3ZvaWQgMDpjLm9uQmx1cixuKTtyZXR1cm57Li4uZSxpbnRlbnQ6c3x8KGw/InByaW1hcnkiOiJkZWZhdWx0IiksaGlnaGxpZ2h0Omk/P2wsb25Gb2N1czp1LG9uQmx1cjpkfX19LDE0NTk4NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb2N1czooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSghMSk7KDAsci51c2VFZmZlY3QpKCgoKT0+e3QmJm4mJm8oITEpfSksW3Qsbl0pO2NvbnN0IHM9e29uRm9jdXM6KDAsci51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxvKCEwKX0pLFtlXSksb25CbHVyOigwLHIudXNlQ2FsbGJhY2spKChmdW5jdGlvbih0KXt2b2lkIDAhPT1lJiZlLmN1cnJlbnQhPT10LnRhcmdldHx8byghMSl9KSxbZV0pfTtyZXR1cm5bbixzXX19LDU2NDIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUlzTW91c2VEb3duOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPSgwLHIudXNlUmVmKSghMSksdD0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntlLmN1cnJlbnQ9ITB9KSxbZV0pLG49KDAsci51c2VDYWxsYmFjaykoKCgpPT57ZS5jdXJyZW50PSExfSksW2VdKTtyZXR1cm57aXNNb3VzZURvd246ZSxoYW5kbGVNb3VzZURvd246dCxoYW5kbGVNb3VzZVVwOm59fX0sMzE5NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWVyZ2VkUmVmczooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTY0NTk0KTtmdW5jdGlvbiBzKGUpe3JldHVybigwLHIudXNlQ2FsbGJhY2spKCgwLG8ubWVyZ2VSZWZzKShlKSxlKX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0LG4scixvKXtmdW5jdGlvbiBzKG8pe2lmKGU+by50aW1lU3RhbXApcmV0dXJuO2NvbnN0IHM9by50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1zJiZzLm93bmVyRG9jdW1lbnQ9PT1yJiYodC5jb250YWlucyhzKXx8bihvKSl9CnJldHVybiBvLmNsaWNrJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixzLCExKSxvLm1vdXNlRG93biYmci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHMsITEpLG8udG91Y2hFbmQmJnIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMsITEpLG8udG91Y2hTdGFydCYmci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLCExKSwoKT0+e3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMsITEpLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMsITEpfX1uLmQodCx7YWRkT3V0c2lkZUV2ZW50TGlzdGVuZXI6KCk9PnJ9KX0sMjM2NzY1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU91dHNpZGVFdmVudDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKSxzPW4oOTAwODQxKTtmdW5jdGlvbiBpKGUpe2NvbnN0e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmEsaGFuZGxlcjpsLHJlZmVyZW5jZTpjfT1lLHU9KDAsci51c2VSZWYpKG51bGwpLGQ9KDAsci51c2VSZWYpKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93PzA6bmV3IHdpbmRvdy5DdXN0b21FdmVudCgidGltZXN0YW1wIikudGltZVN0YW1wKTtyZXR1cm4oMCxvLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmF9LHI9Yz9jLmN1cnJlbnQ6dS5jdXJyZW50O3JldHVybigwLHMuYWRkT3V0c2lkZUV2ZW50TGlzdGVuZXIpKGQuY3VycmVudCxyLGwsZG9jdW1lbnQsZSl9KSxbdCxuLGksYSxsXSksY3x8dX19LDI3MzMxMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJY29uOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2NvbnN0IG89ci5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246bj0iIix0aXRsZTpvLGFyaWFMYWJlbDpzLGFyaWFMYWJlbGxlZGJ5OmksYXJpYUhpZGRlbjphLC4uLmx9PWUsYz0hIShvfHxzfHxpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiaW1nIiwuLi5sLHJlZjp0LCJhcmlhLWxhYmVsIjpzLCJhcmlhLWxhYmVsbGVkYnkiOmksImFyaWEtaGlkZGVuIjphfHwhYyx0aXRsZTpvLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6bn19KX0pKX0sNTg1NDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDEyOTM2NSkscz1uKDg1Njc3MCksaT1uKDkwMzQyKSxhPW4oNTcwMTkzKSxsPW4oNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHMubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwoci5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PXIuY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnN9KTt2YXIgcj1uKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIHIuQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcz1yLmNyZWF0ZUNvbnRleHQobnVsbCl9LDM0NTExNihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHMoZSxpKX1mdW5jdGlvbiBvKGUpe3JldHVybiBzKGUsYSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHI9e307Zm9yKGNvbnN0W2UsdF1vZiBuKXJbZV09dDtyZXR1cm4gcn1mdW5jdGlvbiBpKGUpe2NvbnN0W3Qsbl09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cihlKTtyZXR1cm4gdCYmKG5bImRhdGEtcWEtaWQiXT10KSxufW4uZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sCmZpbHRlckNoZWNrZWREYXRhUHJvcHM6KCk9PmwsZmlsdGVyRGF0YVByb3BzOigpPT5yLGZpbHRlclByb3BzOigpPT5zLGlzQXJpYUF0dHJpYnV0ZTooKT0+YSxpc0RhdGFBdHRyaWJ1dGU6KCk9Pml9KX0sMTQ3OTAxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9PnMsZGF0YVFhSWRzOigpPT5vfSk7dmFyIHI9big1NjU3NDUpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm5bZSx0XS5maWx0ZXIoci5pc0V4aXN0ZW50KS5qb2luKCIgIil9ZnVuY3Rpb24gcyhlLHQpe2lmKCgwLHIuaXNFeGlzdGVudCkodCkpcmV0dXJuW2UsdF0uam9pbigiICIpfWNvbnN0IGk9InVpLWxpYi0ifSw3ODA2NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe251bGwhPT1lJiZlLnNldFNlbGVjdGlvblJhbmdlKDAsZS52YWx1ZS5sZW5ndGgpfW4uZCh0LHtzZWxlY3RBbGxDb250ZW50OigpPT5yfSl9LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sNzE4NTUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse091dHNpZGVFdmVudDooKT0+b30pO3ZhciByPW4oMjM2NzY1KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2NoaWxkcmVuOnQsLi4ubn09ZTtyZXR1cm4gdCgoMCxyLnVzZU91dHNpZGVFdmVudCkobikpfX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PmksZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIHI9bigxMzg2MzgpLG89big1NzAxOTMpO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIGl7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgcyx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCByPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHIuc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixyLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLHIuZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHIpO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChyKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxyKSwrK3RoaXMuX2luZGV4LHJ9dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7dGhpcy51bnJlZ2lzdGVyV2luZG93KGUpfX1jb25zdCBhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGwoZT1kb2N1bWVudCl7Y29uc3QgdD1lLmdldEVsZW1lbnRCeUlkKCJvdmVybGFwLW1hbmFnZXItcm9vdCIpO2lmKG51bGwhPT10KXJldHVybigwLHIuZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO3sKY29uc3QgdD1uZXcgaShlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIGEuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+cn0pfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sODYzNDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9PnIsZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1uZXcgTWFwfXNldEFzT3BlbmVkKGUsdCl7dGhpcy5fc3RvcmFnZS5zZXQoZSx0KX1zZXRBc0Nsb3NlZChlKXt0aGlzLl9zdG9yYWdlLmRlbGV0ZShlKX1pc09wZW5lZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5oYXMoZSl9Z2V0RGlhbG9nUGF5bG9hZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXQoZSl9fWNvbnN0IG89bmV3IHJ9LDY5MjI2NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDI3MzMxMCksYT1uKDU4NTQ4KSxsPW4oODA2NjkzKSxjPW4oOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6bixyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sci5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnMoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpuLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiBzKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOm4sY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTpmLGFycm93UmVmZXJlbmNlOnAsb25DbG9zZTpoLGFycm93U3R5bGU6bSxjaGlsZHJlbjpnLHJvbGU6diwuLi55fT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLnksY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjp2fSxkJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLHJlZjpwLHN0eWxlOm19KSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoYy5jb250YWluZXIsbil9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShjLmNvbnRlbnQsbyl9LGcpLGgmJnIuY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOmh9KSkpfX0sMzM2MzM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigxMjkzNjUpO3QuY3JlYXRlUm9vdD1yLmNyZWF0ZVJvb3Qsci5oeWRyYXRlUm9vdH0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGUpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fSgpLGUuZXhwb3J0cz1uKDUzMjM4Nyl9LDEyMjc0OShlLHQpeyJ1c2Ugc3RyaWN0Igo7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIGg9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LG09T2JqZWN0LmFzc2lnbixnPXt9O2Z1bmN0aW9uIHYoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIF8oZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHkucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBDPV8ucHJvdG90eXBlPW5ldyB5O0MuY29uc3RydWN0b3I9XyxtKEMsdi5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHc9QXJyYXkuaXNBcnJheSxTPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYj17Y3VycmVudDpudWxsfSxFPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQscil7dmFyIG8scz17fSxpPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLHQpUy5jYWxsKHQsbykmJiFFLmhhc093blByb3BlcnR5KG8pJiYoc1tvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpcy5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGM9QXJyYXkobCksdT0wO3U8bDt1KyspY1t1XT1hcmd1bWVudHNbdSsyXTtzLmNoaWxkcmVuPWN9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1zW29dJiYoc1tvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OmkscmVmOmEscHJvcHM6cyxfb3duZXI6Yi5jdXJyZW50fX1mdW5jdGlvbiBOKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBSPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gTyhlLHQsbyxzLGkpe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSByOmw9ITB9fWlmKGwpcmV0dXJuIGk9aShsPWUpLGU9IiI9PT1zPyIuIitJKGwsMCk6cyx3KGkpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShSLCIkJi8iKSsiLyIpLE8oaSx0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1pJiYoTihpKSYmKGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShpLG8rKCFpLmtleXx8bCYmbC5rZXk9PT1pLmtleT8iIjooIiIraS5rZXkpLnJlcGxhY2UoUiwiJCYvIikrIi8iKStlKSksdC5wdXNoKGkpKSwxO2lmKGw9MCxzPSIiPT09cz8iLiI6cysiOiIsdyhlKSlmb3IodmFyIGM9MDtjPGUubGVuZ3RoO2MrKyl7dmFyIHU9cytJKGE9ZVtjXSxjKTtsKz1PKGEsdCxvLHUsaSl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9cCYmZVtwXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSxjPTA7IShhPWUubmV4dCgpKS5kb25lOylsKz1PKGE9YS52YWx1ZSx0LG8sdT1zK0koYSxjKyspLGkpO2Vsc2UgaWYoIm9iamVjdCI9PT1hKXRocm93IHQ9U3RyaW5nKGUpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09dD8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhlKS5qb2luKCIsICIpKyJ9Ijp0KSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpCjtyZXR1cm4gbH1mdW5jdGlvbiBNKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLG89MDtyZXR1cm4gTyhlLHIsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLG8rKyl9KSkscn1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEQ9e2N1cnJlbnQ6bnVsbH0sVD17dHJhbnNpdGlvbjpudWxsfSxHPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkQsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6VCxSZWFjdEN1cnJlbnRPd25lcjpifTt0LkNoaWxkcmVuPXttYXA6TSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtNKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gTShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBNKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTihlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPWksdC5QdXJlQ29tcG9uZW50PV8sdC5TdHJpY3RNb2RlPXMsdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Ryx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89bSh7fSxlLnByb3BzKSxzPWUua2V5LGk9ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYsYT1iLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYocz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGMgaW4gdClTLmNhbGwodCxjKSYmIUUuaGFzT3duUHJvcGVydHkoYykmJihvW2NdPXZvaWQgMD09PXRbY10mJnZvaWQgMCE9PWw/bFtjXTp0W2NdKX12YXIgYz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWMpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxjKXtsPUFycmF5KGMpO2Zvcih2YXIgdT0wO3U8Yzt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OnMscmVmOmkscHJvcHM6byxfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpjLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1OLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVQudHJhbnNpdGlvbjtULnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1QudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBELmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIEQuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gRC5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIEQuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKGUsdCxuKX0sdC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRC5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdChlLHQpfSx0LnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KGUsdCl9LHQudXNlTWVtbz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTWVtbyhlLHQpfSx0LnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBELmN1cnJlbnQudXNlUmVkdWNlcihlLHQsbil9LHQudXNlUmVmPWZ1bmN0aW9uKGUpewpyZXR1cm4gRC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEQuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sNDUwNzgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtzaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2c6KCk9PlN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE4NTI3MSksYT1uKDM2MTg1NSksbD1uKDU2MDQ5MSksYz1uKDIyNTI5OCksdT1uKDU4NTgyMSksZD1uKDI3MzMxMCksZj1uKDM3MTk0OCk7Y29uc3QgcD1pLnQobnVsbCx2b2lkIDAsbig0ODc3NjMpKSxoPWkudChudWxsLHZvaWQgMCxuKDIxMjA1KSk7ZnVuY3Rpb24gbShlKXtjb25zdHtjbGFzc05hbWU6dCxpc1NlY29uZHNFbmFibGVkOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLkljb24se2ljb246ZixjbGFzc05hbWU6cygpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsdCksdGl0bGU6bj9oOnB9KX12YXIgZz1uKDQ2NTEzNyksdj1uKDI1NDY3Myk7dmFyIHk9big3MTcxOTUpO2Z1bmN0aW9uIF8oZSl7Y29uc3R7aW5pdFZhbDp0LHNlbGVjdE9uSW5pdDpvLG9uQ2xvc2U6ZH09ZSxmPSgwLHIudXNlUmVmKShudWxsKSxbcCxoXT0oMCxyLnVzZVN0YXRlKSh0LnRvVXBwZXJDYXNlKCkpLF89KDAsci51c2VNZW1vKSgoKCk9PnYuSW50ZXJ2YWwucGFyc2UocCkpLFtwXSksQz1mdW5jdGlvbihlLHQpe3JldHVybigwLHIudXNlTWVtbykoKCgpPT57aWYoIXQuaXNWYWxpZCgpfHwhKDAsZy5pbnRlcnZhbElzU3VwcG9ydGVkKShlKSlyZXR1cm4hMTtjb25zdCBuPXYuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3JldHVybiBudWxsIT09biYmKDAsZy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpKG4pfSksW2UsdF0pfShwLF8pLHc9KDAsci51c2VNZW1vKSgoKCk9PntpZighQylyZXR1cm4gbnVsbDtyZXR1cm4oMCxnLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKF8udmFsdWUoKSkuaGludH0pLFtDLF9dKTtyZXR1cm4oMCxyLnVzZUxheW91dEVmZmVjdCkoKCgpPT57bz9mLmN1cnJlbnQ/LnNlbGVjdCgpOmYuY3VycmVudD8uZm9jdXMoKX0pLFtvXSksci5jcmVhdGVFbGVtZW50KHUuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTp5LmRpYWxvZywiZGF0YS1kaWFsb2ctbmFtZSI6ImNoYW5nZS1pbnRlcnZhbC1kaWFsb2ciLGlzT3BlbmVkOiEwLG9uQ2xpY2tPdXRzaWRlOmQsb25Gb2N1czpmdW5jdGlvbigpe2YuY3VycmVudD8uZm9jdXMoKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpezI3PT09ZS5rZXlDb2RlJiZkPy4oKX19LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkuZGlhbG9nSW5uZXJ9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkudGl0bGVXcmFwcGVyfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LnRpdGxlfSxpLnQobnVsbCx2b2lkIDAsbig1OTc3NzApKSksci5jcmVhdGVFbGVtZW50KG0se2NsYXNzTmFtZTp5LmluZm9IaW50LGlzU2Vjb25kc0VuYWJsZWQ6KDAsZy5pc1NlY29uZHNFbmFibGVkKSgpfSkpLHIuY3JlYXRlRWxlbWVudCgiZm9ybSIse2NsYXNzTmFtZTp5LmZvcm0sb25TdWJtaXQ6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCksbj12LkludGVydmFsLm5vcm1hbGl6ZShwKTtuJiZ0IT09biYmQyYmYy5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKG4sIkNoYW5nZSBpbnRlcnZhbCBkaWFsb2ciKTtkPy4oKX19LHIuY3JlYXRlRWxlbWVudChhLklucHV0Q29udHJvbCx7Y2xhc3NOYW1lOnMoKSh5LmlucHV0V3JhcHBlcixsLklucHV0Q2xhc3Nlcy5Gb250U2l6ZUxhcmdlKSxpbnB1dENsYXNzTmFtZTp5LmlucHV0LHR5cGU6InRleHQiLHNpemU6ImxhcmdlIixyZWZlcmVuY2U6Zix2YWx1ZTpwLG1heExlbmd0aDo4LGludGVudDpDP3ZvaWQgMDoiZGFuZ2VyIixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdHt2YWx1ZTp0fT1lLnRhcmdldDtoKHQudG9VcHBlckNhc2UoKSl9fSkpLEM/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6eS5oaW50fSx3KTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoeS5oaW50LHkuZXJyb3IpfSxpLnQobnVsbCx2b2lkIDAsbigxNDM0MTIpKSkpKX12YXIgQz1uKDg2MzQ0KSx3PW4oNTcxMzAwKTtmdW5jdGlvbiBTKGUpe2lmKEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil8fEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIlN5bWJvbFNlYXJjaCIpKXJldHVybjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHtpbml0VmFsOm4sc2VsZWN0T25Jbml0Om8sb25DbG9zZTpzfT1lLGk9ci5jcmVhdGVFbGVtZW50KF8se2luaXRWYWw6bixzZWxlY3RPbkluaXQ6byxvbkNsb3NlOmZ1bmN0aW9uKCl7YS51bm1vdW50KCksQy5kaWFsb2dzT3BlbmVyTWFuYWdlci5zZXRBc0Nsb3NlZCgiQ2hhbmdlSW50ZXJ2YWxEaWFsb2ciKSxzPy4oKX19KSxhPSgwLHcuY3JlYXRlUmVhY3RSb290KShpLHQpO0MuZGlhbG9nc09wZW5lck1hbmFnZXIuc2V0QXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil9fSwzMzI2NjAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7RGlhbG9nRXZlbnREaXNwYXRjaGVyOigpPT5hfSksZnVuY3Rpb24oZSl7ZS5PcGVuPSJkaWFsb2ctb3BlbiIsZS5DbG9zZT0iZGlhbG9nLWNsb3NlIixlLkZ1bGxzY3JlZW5Pbj0iZGlhbG9nLWZ1bGxzY3JlZW4tb24iLGUuRnVsbHNjcmVlbk9mZj0iZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIn0ocnx8KHI9e30pKQo7dmFyIG89bigyMjEwNjEpLHM9bigxNTAxNTApO2NvbnN0IGk9KDAsby5nZXRMb2dnZXIpKCJEaWFsb2dFdmVudERpc3BhdGNoZXIiKTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fb3BlblNlc3Npb25JZD1udWxsfWRpc3BhdGNoKGUpe2lmKCJkaWFsb2ctb3BlbiI9PT1lKXtpZihudWxsIT09dGhpcy5fb3BlblNlc3Npb25JZClyZXR1cm4gdm9pZCBpLmxvZ0Vycm9yKCJNdWx0aXBsZSBjYWxscyB0byBvcGVuIGRpYWxvZyIpO3RoaXMuX29wZW5TZXNzaW9uSWQ9KDAscy5yYW5kb21IYXNoKSgpfW51bGwhPT10aGlzLl9vcGVuU2Vzc2lvbklkPyh3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoZSx7YnViYmxlczohMCxkZXRhaWw6e2RpYWxvZ1Nlc3Npb25JZDp0aGlzLl9vcGVuU2Vzc2lvbklkfX0pKSwiZGlhbG9nLWNsb3NlIj09PWUmJih0aGlzLl9vcGVuU2Vzc2lvbklkPW51bGwpKTppLmxvZ0Vycm9yKCJFbXB0eSBvcGVuIGRpYWxvZyBzZXNzaW9uIGlkIil9fX0sMzM3MzYyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgcj1uKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDM3MTk0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDguNWgxLjVWMTQiLz48Y2lyY2xlIGZpbGw9ImN1cnJlbnRDb2xvciIgY3g9IjkiIGN5PSI1IiByPSIxIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi41IDlhNy41IDcuNSAwIDEgMS0xNSAwIDcuNSA3LjUgMCAwIDEgMTUgMHoiLz48L3N2Zz4nfSw4NTY3NzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bmFub2lkOigpPT5yfSk7bGV0IHI9KGU9MjEpPT5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKS5yZWR1Y2UoKChlLHQpPT5lKz0odCY9NjMpPDM2P3QudG9TdHJpbmcoMzYpOnQ8NjI/KHQtMjYpLnRvU3RyaW5nKDM2KS50b1VwcGVyQ2FzZSgpOnQ+NjI/Ii0iOiJfIiksIiIpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview.com/support/support-portal-problems/?language=en","fqdn":"www.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.402Z","timestamp":1785124877402,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Fri, 12 Dec 2025 00:00:00 GMT","end":"Sun, 10 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"93:7A:32:54:9B:07:78:A4:C2:12:01:FE:F8:01:86:4E:F4:B0:E5:88","sha256":"DC:6B:BC:C2:10:66:1A:99:2E:BE:17:BD:A9:27:49:E3:D8:CA:EB:13:B6:95:9C:BF:68:76:22:17:62:D1:05:57"}}},"request":{"raw":"GET /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: www.tradingview.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\nOrigin: https://s.tradingview.com\r\nx-language: en\r\nx-requested-with: XMLHttpRequest\r\nReferer: https://s.tradingview.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json\r\ncontent-length: 13\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 04:01:10 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncache-control: max-age=60\r\ncontent-security-policy: object-src 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; base-uri 'none'; script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/; frame-ancestors 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncross-origin-resource-policy: same-site\r\naccess-control-allow-headers: pragma,x-language,cache-control,x-requested-with\r\nvary: Cookie\r\nx-cache: Hit from cloudfront\r\nage: 6\r\nvia: 1.1 365d682e9b4889986ad44f252accf6b0.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nx-amz-cf-id: yYdoFbjk_bdOBCmiBKEBZmvpUrVT744Gbc3lKq0mjjxElohVPUNk7g==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"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":13,"size_decoded":1542,"mime_type":"application/json","magic":"JSON text data","md5":"01de957246f36d125db7f1635e51043e","sha1":"ab39026488aa0222d0fd98ade08979a1a17bdfae","sha256":"9bf40c18a4b22428c00ae5ddb17ff9e721207f22ebe705fd7dffdfd150749e3b","sha512":"72406f9bdf9896da1e3b58e79b74803c4b3a4226b1859cefcee322aa78d8617178a9e12333d72d43dd10207e3e79b9fc76ed07546ce955c0c8b392985d5540c5","ssdeep":"","tlshash":"d760000f003000000f0c0030f0000cc3000c0000033c30300c0c00c3030c0030ccf303","first_seen":"2023-05-02T20:38:18Z","last_seen":"2026-07-27T06:24:31.545405Z","times_seen":606,"resource_available":false,"data":"eyJpc3N1ZXMiOltdfQ=="}},"time_used":14,"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":"berthenergy-inc.biz/js/Chart_main.js","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.224Z","timestamp":1785124875224,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /js/Chart_main.js HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Tue, 01 Feb 2022 20:43:06 GMT\r\nvary: Accept-Encoding\r\netag: W/\"61f99b5a-4c683\"\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":312963,"size_decoded":85362,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (1059), with CRLF, LF line terminators","md5":"3291892015f426aedf09d6259487b792","sha1":"cfee4f2447b73cf190d1b9fdff5ada7fb277034a","sha256":"2098119b3d3f66a45b1dc962645ca0f2f35faf3d7cbc857d7d661fcf62df7b5d","sha512":"b9917ee3d6c6043dab245fcb1adfb6d9ba8dbe1f24a36a819e5ff324aa04c1fba3060e55125d0c1fd4b257e3e8e5654b158349dcdad89535bc494038787c47f6","ssdeep":"6144:XaD8diu4ccJYmkdq379rm5SeBGdLP70ay9EoO/xgTtaRJ:tdsw5SeBGdT7N2Ob","tlshash":"0d64f8d8b39f521e86963344a93f448cda3ee5364102917db8ac94e416e8c1993fbf7c","first_seen":"2023-03-13T08:13:25Z","last_seen":"2026-07-27T04:03:30.226782Z","times_seen":15,"resource_available":true,"data":"LyohCiAqIENoYXJ0LmpzCiAqIGh0dHA6Ly9jaGFydGpzLm9yZy8KICogVmVyc2lvbjogMi4xLjQKICoKICogQ29weXJpZ2h0IDIwMTYgTmljayBEb3duaWUKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jaGFydGpzL0NoYXJ0LmpzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQKICovCihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkoezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoKfSx7fV0sMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Ci8qIE1JVCBsaWNlbnNlICovDQp2YXIgY29sb3JOYW1lcyA9IHJlcXVpcmUoJ2NvbG9yLW5hbWUnKTsNCg0KbW9kdWxlLmV4cG9ydHMgPSB7DQogICBnZXRSZ2JhOiBnZXRSZ2JhLA0KICAgZ2V0SHNsYTogZ2V0SHNsYSwNCiAgIGdldFJnYjogZ2V0UmdiLA0KICAgZ2V0SHNsOiBnZXRIc2wsDQogICBnZXRId2I6IGdldEh3YiwNCiAgIGdldEFscGhhOiBnZXRBbHBoYSwNCg0KICAgaGV4U3RyaW5nOiBoZXhTdHJpbmcsDQogICByZ2JTdHJpbmc6IHJnYlN0cmluZywNCiAgIHJnYmFTdHJpbmc6IHJnYmFTdHJpbmcsDQogICBwZXJjZW50U3RyaW5nOiBwZXJjZW50U3RyaW5nLA0KICAgcGVyY2VudGFTdHJpbmc6IHBlcmNlbnRhU3RyaW5nLA0KICAgaHNsU3RyaW5nOiBoc2xTdHJpbmcsDQogICBoc2xhU3RyaW5nOiBoc2xhU3RyaW5nLA0KICAgaHdiU3RyaW5nOiBod2JTdHJpbmcsDQogICBrZXl3b3JkOiBrZXl3b3JkDQp9DQoNCmZ1bmN0aW9uIGdldFJnYmEoc3RyaW5nKSB7DQogICBpZiAoIXN0cmluZykgew0KICAgICAgcmV0dXJuOw0KICAgfQ0KICAgdmFyIGFiYnIgPSAgL14jKFthLWZBLUYwLTldezN9KSQvLA0KICAgICAgIGhleCA9ICAvXiMoW2EtZkEtRjAtOV17Nn0pJC8sDQogICAgICAgcmdiYSA9IC9ecmdiYT9cKFxzKihbKy1dP1xkKylccyosXHMqKFsrLV0/XGQrKVxzKixccyooWystXT9cZCspXHMqKD86LFxzKihbKy1dP1tcZFwuXSspXHMqKT9cKSQvLA0KICAgICAgIHBlciA9IC9ecmdiYT9cKFxzKihbKy1dP1tcZFwuXSspXCVccyosXHMqKFsrLV0/W1xkXC5dKylcJVxzKixccyooWystXT9bXGRcLl0rKVwlXHMqKD86LFxzKihbKy1dP1tcZFwuXSspXHMqKT9cKSQvLA0KICAgICAgIGtleXdvcmQgPSAvKFx3KykvOw0KDQogICB2YXIgcmdiID0gWzAsIDAsIDBdLA0KICAgICAgIGEgPSAxLA0KICAgICAgIG1hdGNoID0gc3RyaW5nLm1hdGNoKGFiYnIpOw0KICAgaWYgKG1hdGNoKSB7DQogICAgICBtYXRjaCA9IG1hdGNoWzFdOw0KICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZ2IubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgIHJnYltpXSA9IHBhcnNlSW50KG1hdGNoW2ldICsgbWF0Y2hbaV0sIDE2KTsNCiAgICAgIH0NCiAgIH0NCiAgIGVsc2UgaWYgKG1hdGNoID0gc3RyaW5nLm1hdGNoKGhleCkpIHsNCiAgICAgIG1hdGNoID0gbWF0Y2hbMV07DQogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJnYi5sZW5ndGg7IGkrKykgew0KICAgICAgICAgcmdiW2ldID0gcGFyc2VJbnQobWF0Y2guc2xpY2UoaSAqIDIsIGkgKiAyICsgMiksIDE2KTsNCiAgICAgIH0NCiAgIH0NCiAgIGVsc2UgaWYgKG1hdGNoID0gc3RyaW5nLm1hdGNoKHJnYmEpKSB7DQogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJnYi5sZW5ndGg7IGkrKykgew0KICAgICAgICAgcmdiW2ldID0gcGFyc2VJbnQobWF0Y2hbaSArIDFdKTsNCiAgICAgIH0NCiAgICAgIGEgPSBwYXJzZUZsb2F0KG1hdGNoWzRdKTsNCiAgIH0NCiAgIGVsc2UgaWYgKG1hdGNoID0gc3RyaW5nLm1hdGNoKHBlcikpIHsNCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmdiLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICByZ2JbaV0gPSBNYXRoLnJvdW5kKHBhcnNlRmxvYXQobWF0Y2hbaSArIDFdKSAqIDIuNTUpOw0KICAgICAgfQ0KICAgICAgYSA9IHBhcnNlRmxvYXQobWF0Y2hbNF0pOw0KICAgfQ0KICAgZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2goa2V5d29yZCkpIHsNCiAgICAgIGlmIChtYXRjaFsxXSA9PSAidHJhbnNwYXJlbnQiKSB7DQogICAgICAgICByZXR1cm4gWzAsIDAsIDAsIDBdOw0KICAgICAgfQ0KICAgICAgcmdiID0gY29sb3JOYW1lc1ttYXRjaFsxXV07DQogICAgICBpZiAoIXJnYikgew0KICAgICAgICAgcmV0dXJuOw0KICAgICAgfQ0KICAgfQ0KDQogICBmb3IgKHZhciBpID0gMDsgaSA8IHJnYi5sZW5ndGg7IGkrKykgew0KICAgICAgcmdiW2ldID0gc2NhbGUocmdiW2ldLCAwLCAyNTUpOw0KICAgfQ0KICAgaWYgKCFhICYmIGEgIT0gMCkgew0KICAgICAgYSA9IDE7DQogICB9DQogICBlbHNlIHsNCiAgICAgIGEgPSBzY2FsZShhLCAwLCAxKTsNCiAgIH0NCiAgIHJnYlszXSA9IGE7DQogICByZXR1cm4gcmdiOw0KfQ0KDQpmdW5jdGlvbiBnZXRIc2xhKHN0cmluZykgew0KICAgaWYgKCFzdHJpbmcpIHsNCiAgICAgIHJldHVybjsNCiAgIH0NCiAgIHZhciBoc2wgPSAvXmhzbGE/XChccyooWystXT9cZCspKD86ZGVnKT9ccyosXHMqKFsrLV0/W1xkXC5dKyklXHMqLFxzKihbKy1dP1tcZFwuXSspJVxzKig/OixccyooWystXT9bXGRcLl0rKVxzKik/XCkvOw0KICAgdmFyIG1hdGNoID0gc3RyaW5nLm1hdGNoKGhzbCk7DQogICBpZiAobWF0Y2gpIHsNCiAgICAgIHZhciBhbHBoYSA9IHBhcnNlRmxvYXQobWF0Y2hbNF0pOw0KICAgICAgdmFyIGggPSBzY2FsZShwYXJzZUludChtYXRjaFsxXSksIDAsIDM2MCksDQogICAgICAgICAgcyA9IHNjYWxlKHBhcnNlRmxvYXQobWF0Y2hbMl0pLCAwLCAxMDApLA0KICAgICAgICAgIGwgPSBzY2FsZShwYXJzZUZsb2F0KG1hdGNoWzNdKSwgMCwgMTAwKSwNCiAgICAgICAgICBhID0gc2NhbGUoaXNOYU4oYWxwaGEpID8gMSA6IGFscGhhLCAwLCAxKTsNCiAgICAgIHJldHVybiBbaCwgcywgbCwgYV07DQogICB9DQp9DQoNCmZ1bmN0aW9uIGdldEh3YihzdHJpbmcpIHsNCiAgIGlmICghc3RyaW5nKSB7DQogICAgICByZXR1cm47DQogICB9DQogICB2YXIgaHdiID0gL15od2JcKFxzKihbKy1dP1xkKykoPzpkZWcpP1xzKixccyooWystXT9bXGRcLl0rKSVccyosXHMqKFsrLV0/W1xkXC5dKyklXHMqKD86LFxzKihbKy1dP1tcZFwuXSspXHMqKT9cKS87DQogICB2YXIgbWF0Y2ggPSBzdHJpbmcubWF0Y2goaHdiKTsNCiAgIGlmIChtYXRjaCkgew0KICAgIHZhciBhbHBoYSA9IHBhcnNlRmxvYXQobWF0Y2hbNF0pOw0KICAgICAgdmFyIGggPSBzY2FsZShwYXJzZUludChtYXRjaFsxXSksIDAsIDM2MCksDQogICAgICAgICAgdyA9IHNjYWxlKHBhcnNlRmxvYXQobWF0Y2hbMl0pLCAwLCAxMDApLA0KICAgICAgICAgIGIgPSBzY2FsZShwYXJzZUZsb2F0KG1hdGNoWzNdKSwgMCwgMTAwKSwNCiAgICAgICAgICBhID0gc2NhbGUoaXNOYU4oYWxwaGEpID8gMSA6IGFscGhhLCAwLCAxKTsNCiAgICAgIHJldHVybiBbaCwgdywgYiwgYV07DQogICB9DQp9DQoNCmZ1bmN0aW9uIGdldFJnYihzdHJpbmcpIHsNCiAgIHZhciByZ2JhID0gZ2V0UmdiYShzdHJpbmcpOw0KICAgcmV0dXJuIHJnYmEgJiYgcmdiYS5zbGljZSgwLCAzKTsNCn0NCg0KZnVuY3Rpb24gZ2V0SHNsKHN0cmluZykgew0KICB2YXIgaHNsYSA9IGdldEhzbGEoc3RyaW5nKTsNCiAgcmV0dXJuIGhzbGEgJiYgaHNsYS5zbGljZSgwLCAzKTsNCn0NCg0KZnVuY3Rpb24gZ2V0QWxwaGEoc3RyaW5nKSB7DQogICB2YXIgdmFscyA9IGdldFJnYmEoc3RyaW5nKTsNCiAgIGlmICh2YWxzKSB7DQogICAgICByZXR1cm4gdmFsc1szXTsNCiAgIH0NCiAgIGVsc2UgaWYgKHZhbHMgPSBnZXRIc2xhKHN0cmluZykpIHsNCiAgICAgIHJldHVybiB2YWxzWzNdOw0KICAgfQ0KICAgZWxzZSBpZiAodmFscyA9IGdldEh3YihzdHJpbmcpKSB7DQogICAgICByZXR1cm4gdmFsc1szXTsNCiAgIH0NCn0NCg0KLy8gZ2VuZXJhdG9ycw0KZnVuY3Rpb24gaGV4U3RyaW5nKHJnYikgew0KICAgcmV0dXJuICIjIiArIGhleERvdWJsZShyZ2JbMF0pICsgaGV4RG91YmxlKHJnYlsxXSkNCiAgICAgICAgICAgICAgKyBoZXhEb3VibGUocmdiWzJdKTsNCn0NCg0KZnVuY3Rpb24gcmdiU3RyaW5nKHJnYmEsIGFscGhhKSB7DQogICBpZiAoYWxwaGEgPCAxIHx8IChyZ2JhWzNdICYmIHJnYmFbM10gPCAxKSkgew0KICAgICAgcmV0dXJuIHJnYmFTdHJpbmcocmdiYSwgYWxwaGEpOw0KICAgfQ0KICAgcmV0dXJuICJyZ2IoIiArIHJnYmFbMF0gKyAiLCAiICsgcmdiYVsxXSArICIsICIgKyByZ2JhWzJdICsgIikiOw0KfQ0KDQpmdW5jdGlvbiByZ2JhU3RyaW5nKHJnYmEsIGFscGhhKSB7DQogICBpZiAoYWxwaGEgPT09IHVuZGVmaW5lZCkgew0KICAgICAgYWxwaGEgPSAocmdiYVszXSAhPT0gdW5kZWZpbmVkID8gcmdiYVszXSA6IDEpOw0KICAgfQ0KICAgcmV0dXJuICJyZ2JhKCIgKyByZ2JhWzBdICsgIiwgIiArIHJnYmFbMV0gKyAiLCAiICsgcmdiYVsyXQ0KICAgICAgICAgICArICIsICIgKyBhbHBoYSArICIpIjsNCn0NCg0KZnVuY3Rpb24gcGVyY2VudFN0cmluZyhyZ2JhLCBhbHBoYSkgew0KICAgaWYgKGFscGhhIDwgMSB8fCAocmdiYVszXSAmJiByZ2JhWzNdIDwgMSkpIHsNCiAgICAgIHJldHVybiBwZXJjZW50YVN0cmluZyhyZ2JhLCBhbHBoYSk7DQogICB9DQogICB2YXIgciA9IE1hdGgucm91bmQocmdiYVswXS8yNTUgKiAxMDApLA0KICAgICAgIGcgPSBNYXRoLnJvdW5kKHJnYmFbMV0vMjU1ICogMTAwKSwNCiAgICAgICBiID0gTWF0aC5yb3VuZChyZ2JhWzJdLzI1NSAqIDEwMCk7DQoNCiAgIHJldHVybiAicmdiKCIgKyByICsgIiUsICIgKyBnICsgIiUsICIgKyBiICsgIiUpIjsNCn0NCg0KZnVuY3Rpb24gcGVyY2VudGFTdHJpbmcocmdiYSwgYWxwaGEpIHsNCiAgIHZhciByID0gTWF0aC5yb3VuZChyZ2JhWzBdLzI1NSAqIDEwMCksDQogICAgICAgZyA9IE1hdGgucm91bmQocmdiYVsxXS8yNTUgKiAxMDApLA0KICAgICAgIGIgPSBNYXRoLnJvdW5kKHJnYmFbMl0vMjU1ICogMTAwKTsNCiAgIHJldHVybiAicmdiYSgiICsgciArICIlLCAiICsgZyArICIlLCAiICsgYiArICIlLCAiICsgKGFscGhhIHx8IHJnYmFbM10gfHwgMSkgKyAiKSI7DQp9DQoNCmZ1bmN0aW9uIGhzbFN0cmluZyhoc2xhLCBhbHBoYSkgew0KICAgaWYgKGFscGhhIDwgMSB8fCAoaHNsYVszXSAmJiBoc2xhWzNdIDwgMSkpIHsNCiAgICAgIHJldHVybiBoc2xhU3RyaW5nKGhzbGEsIGFscGhhKTsNCiAgIH0NCiAgIHJldHVybiAiaHNsKCIgKyBoc2xhWzBdICsgIiwgIiArIGhzbGFbMV0gKyAiJSwgIiArIGhzbGFbMl0gKyAiJSkiOw0KfQ0KDQpmdW5jdGlvbiBoc2xhU3RyaW5nKGhzbGEsIGFscGhhKSB7DQogICBpZiAoYWxwaGEgPT09IHVuZGVmaW5lZCkgew0KICAgICAgYWxwaGEgPSAoaHNsYVszXSAhPT0gdW5kZWZpbmVkID8gaHNsYVszXSA6IDEpOw0KICAgfQ0KICAgcmV0dXJuICJoc2xhKCIgKyBoc2xhWzBdICsgIiwgIiArIGhzbGFbMV0gKyAiJSwgIiArIGhzbGFbMl0gKyAiJSwgIg0KICAgICAgICAgICArIGFscGhhICsgIikiOw0KfQ0KDQovLyBod2IgaXMgYSBiaXQgZGlmZmVyZW50IHRoYW4gcmdiKGEpICYgaHNsKGEpIHNpbmNlIHRoZXJlIGlzIG5vIGFscGhhIHNwZWNpZmljIHN5bnRheA0KLy8gKGh3YiBoYXZlIGFscGhhIG9wdGlvbmFsICYgMSBpcyBkZWZhdWx0IHZhbHVlKQ0KZnVuY3Rpb24gaHdiU3RyaW5nKGh3YiwgYWxwaGEpIHsNCiAgIGlmIChhbHBoYSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICBhbHBoYSA9IChod2JbM10gIT09IHVuZGVmaW5lZCA/IGh3YlszXSA6IDEpOw0KICAgfQ0KICAgcmV0dXJuICJod2IoIiArIGh3YlswXSArICIsICIgKyBod2JbMV0gKyAiJSwgIiArIGh3YlsyXSArICIlIg0KICAgICAgICAgICArIChhbHBoYSAhPT0gdW5kZWZpbmVkICYmIGFscGhhICE9PSAxID8gIiwgIiArIGFscGhhIDogIiIpICsgIikiOw0KfQ0KDQpmdW5jdGlvbiBrZXl3b3JkKHJnYikgew0KICByZXR1cm4gcmV2ZXJzZU5hbWVzW3JnYi5zbGljZSgwLCAzKV07DQp9DQoNCi8vIGhlbHBlcnMNCmZ1bmN0aW9uIHNjYWxlKG51bSwgbWluLCBtYXgpIHsNCiAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heChtaW4sIG51bSksIG1heCk7DQp9DQoNCmZ1bmN0aW9uIGhleERvdWJsZShudW0pIHsNCiAgdmFyIHN0ciA9IG51bS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTsNCiAgcmV0dXJuIChzdHIubGVuZ3RoIDwgMikgPyAiMCIgKyBzdHIgOiBzdHI7DQp9DQoNCg0KLy9jcmVhdGUgYSBsaXN0IG9mIHJldmVyc2UgY29sb3IgbmFtZXMNCnZhciByZXZlcnNlTmFtZXMgPSB7fTsNCmZvciAodmFyIG5hbWUgaW4gY29sb3JOYW1lcykgew0KICAgcmV2ZXJzZU5hbWVzW2NvbG9yTmFtZXNbbmFtZV1dID0gbmFtZTsNCn0NCgp9LHsiY29sb3ItbmFtZSI6Nn1dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewovKiBNSVQgbGljZW5zZSAqLw0KdmFyIGNvbnZlcnQgPSByZXF1aXJlKCdjb2xvci1jb252ZXJ0Jyk7DQp2YXIgc3RyaW5nID0gcmVxdWlyZSgnY2hhcnRqcy1jb2xvci1zdHJpbmcnKTsNCg0KdmFyIENvbG9yID0gZnVuY3Rpb24gKG9iaikgew0KCWlmIChvYmogaW5zdGFuY2VvZiBDb2xvcikgew0KCQlyZXR1cm4gb2JqOw0KCX0NCglpZiAoISh0aGlzIGluc3RhbmNlb2YgQ29sb3IpKSB7DQoJCXJldHVybiBuZXcgQ29sb3Iob2JqKTsNCgl9DQoNCgl0aGlzLnZhbHVlcyA9IHsNCgkJcmdiOiBbMCwgMCwgMF0sDQoJCWhzbDogWzAsIDAsIDBdLA0KCQloc3Y6IFswLCAwLCAwXSwNCgkJaHdiOiBbMCwgMCwgMF0sDQoJCWNteWs6IFswLCAwLCAwLCAwXSwNCgkJYWxwaGE6IDENCgl9Ow0KDQoJLy8gcGFyc2UgQ29sb3IoKSBhcmd1bWVudA0KCXZhciB2YWxzOw0KCWlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykgew0KCQl2YWxzID0gc3RyaW5nLmdldFJnYmEob2JqKTsNCgkJaWYgKHZhbHMpIHsNCgkJCXRoaXMuc2V0VmFsdWVzKCdyZ2InLCB2YWxzKTsNCgkJfSBlbHNlIGlmICh2YWxzID0gc3RyaW5nLmdldEhzbGEob2JqKSkgew0KCQkJdGhpcy5zZXRWYWx1ZXMoJ2hzbCcsIHZhbHMpOw0KCQl9IGVsc2UgaWYgKHZhbHMgPSBzdHJpbmcuZ2V0SHdiKG9iaikpIHsNCgkJCXRoaXMuc2V0VmFsdWVzKCdod2InLCB2YWxzKTsNCgkJfSBlbHNlIHsNCgkJCXRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHBhcnNlIGNvbG9yIGZyb20gc3RyaW5nICInICsgb2JqICsgJyInKTsNCgkJfQ0KCX0gZWxzZSBpZiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcpIHsNCgkJdmFscyA9IG9iajsNCgkJaWYgKHZhbHMuciAhPT0gdW5kZWZpbmVkIHx8IHZhbHMucmVkICE9PSB1bmRlZmluZWQpIHsNCgkJCXRoaXMuc2V0VmFsdWVzKCdyZ2InLCB2YWxzKTsNCgkJfSBlbHNlIGlmICh2YWxzLmwgIT09IHVuZGVmaW5lZCB8fCB2YWxzLmxpZ2h0bmVzcyAhPT0gdW5kZWZpbmVkKSB7DQoJCQl0aGlzLnNldFZhbHVlcygnaHNsJywgdmFscyk7DQoJCX0gZWxzZSBpZiAodmFscy52ICE9PSB1bmRlZmluZWQgfHwgdmFscy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7DQoJCQl0aGlzLnNldFZhbHVlcygnaHN2JywgdmFscyk7DQoJCX0gZWxzZSBpZiAodmFscy53ICE9PSB1bmRlZmluZWQgfHwgdmFscy53aGl0ZW5lc3MgIT09IHVuZGVmaW5lZCkgew0KCQkJdGhpcy5zZXRWYWx1ZXMoJ2h3YicsIHZhbHMpOw0KCQl9IGVsc2UgaWYgKHZhbHMuYyAhPT0gdW5kZWZpbmVkIHx8IHZhbHMuY3lhbiAhPT0gdW5kZWZpbmVkKSB7DQoJCQl0aGlzLnNldFZhbHVlcygnY215aycsIHZhbHMpOw0KCQl9IGVsc2Ugew0KCQkJdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gcGFyc2UgY29sb3IgZnJvbSBvYmplY3QgJyArIEpTT04uc3RyaW5naWZ5KG9iaikpOw0KCQl9DQoJfQ0KfTsNCg0KQ29sb3IucHJvdG90eXBlID0gew0KCXJnYjogZnVuY3Rpb24gKCkgew0KCQlyZXR1cm4gdGhpcy5zZXRTcGFjZSgncmdiJywgYXJndW1lbnRzKTsNCgl9LA0KCWhzbDogZnVuY3Rpb24gKCkgew0KCQlyZXR1cm4gdGhpcy5zZXRTcGFjZSgnaHNsJywgYXJndW1lbnRzKTsNCgl9LA0KCWhzdjogZnVuY3Rpb24gKCkgew0KCQlyZXR1cm4gdGhpcy5zZXRTcGFjZSgnaHN2JywgYXJndW1lbnRzKTsNCgl9LA0KCWh3YjogZnVuY3Rpb24gKCkgew0KCQlyZXR1cm4gdGhpcy5zZXRTcGFjZSgnaHdiJywgYXJndW1lbnRzKTsNCgl9LA0KCWNteWs6IGZ1bmN0aW9uICgpIHsNCgkJcmV0dXJuIHRoaXMuc2V0U3BhY2UoJ2NteWsnLCBhcmd1bWVudHMpOw0KCX0sDQoNCglyZ2JBcnJheTogZnVuY3Rpb24gKCkgew0KCQlyZXR1cm4gdGhpcy52YWx1ZXMucmdiOw0KCX0sDQoJaHNsQXJyYXk6IGZ1bmN0aW9uICgpIHsNCgkJcmV0dXJuIHRoaXMudmFsdWVzLmhzbDsNCgl9LA0KCWhzdkFycmF5OiBmdW5jdGlvbiAoKSB7DQoJCXJldHVybiB0aGlzLnZhbHVlcy5oc3Y7DQoJfSwNCglod2JBcnJheTogZnVuY3Rpb24gKCkgew0KCQl2YXIgdmFsdWVzID0gdGhpcy52YWx1ZXM7DQoJCWlmICh2YWx1ZXMuYWxwaGEgIT09IDEpIHsNCgkJCXJldHVybiB2YWx1ZXMuaHdiLmNvbmNhdChbdmFsdWVzLmFscGhhXSk7DQoJCX0NCgkJcmV0dXJuIHZhbHVlcy5od2I7DQoJfSwNCgljbXlrQXJyYXk6IGZ1bmN0aW9uICgpIHsNCgkJcmV0dXJuIHRoaXMudmFsdWVzLmNteWs7DQoJfSwNCglyZ2JhQXJyYXk6IGZ1bmN0aW9uICgpIHsNCgkJdmFyIHZhbHVlcyA9IHRoaXMudmFsdWVzOw0KCQlyZXR1cm4gdmFsdWVzLnJnYi5jb25jYXQoW3ZhbHVlcy5hbHBoYV0pOw0KCX0sDQoJaHNsYUFycmF5OiBmdW5jdGlvbiAoKSB7DQoJCXZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlczsNCgkJcmV0dXJuIHZhbHVlcy5oc2wuY29uY2F0KFt2YWx1ZXMuYWxwaGFdKTsNCgl9LA0KCWFscGhhOiBmdW5jdGlvbiAodmFsKSB7DQoJCWlmICh2YWwgPT09IHVuZGVmaW5lZCkgew0KCQkJcmV0dXJuIHRoaXMudmFsdWVzLmFscGhhOw0KCQl9DQoJCXRoaXMuc2V0VmFsdWVzKCdhbHBoYScsIHZhbCk7DQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglyZWQ6IGZ1bmN0aW9uICh2YWwpIHsNCgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgncmdiJywgMCwgdmFsKTsNCgl9LA0KCWdyZWVuOiBmdW5jdGlvbiAodmFsKSB7DQoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ3JnYicsIDEsIHZhbCk7DQoJfSwNCglibHVlOiBmdW5jdGlvbiAodmFsKSB7DQoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ3JnYicsIDIsIHZhbCk7DQoJfSwNCglodWU6IGZ1bmN0aW9uICh2YWwpIHsNCgkJaWYgKHZhbCkgew0KCQkJdmFsICU9IDM2MDsNCgkJCXZhbCA9IHZhbCA8IDAgPyAzNjAgKyB2YWwgOiB2YWw7DQoJCX0NCgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnaHNsJywgMCwgdmFsKTsNCgl9LA0KCXNhdHVyYXRpb246IGZ1bmN0aW9uICh2YWwpIHsNCgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnaHNsJywgMSwgdmFsKTsNCgl9LA0KCWxpZ2h0bmVzczogZnVuY3Rpb24gKHZhbCkgew0KCQlyZXR1cm4gdGhpcy5zZXRDaGFubmVsKCdoc2wnLCAyLCB2YWwpOw0KCX0sDQoJc2F0dXJhdGlvbnY6IGZ1bmN0aW9uICh2YWwpIHsNCgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnaHN2JywgMSwgdmFsKTsNCgl9LA0KCXdoaXRlbmVzczogZnVuY3Rpb24gKHZhbCkgew0KCQlyZXR1cm4gdGhpcy5zZXRDaGFubmVsKCdod2InLCAxLCB2YWwpOw0KCX0sDQoJYmxhY2tuZXNzOiBmdW5jdGlvbiAodmFsKSB7DQoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ2h3YicsIDIsIHZhbCk7DQoJfSwNCgl2YWx1ZTogZnVuY3Rpb24gKHZhbCkgew0KCQlyZXR1cm4gdGhpcy5zZXRDaGFubmVsKCdoc3YnLCAyLCB2YWwpOw0KCX0sDQoJY3lhbjogZnVuY3Rpb24gKHZhbCkgew0KCQlyZXR1cm4gdGhpcy5zZXRDaGFubmVsKCdjbXlrJywgMCwgdmFsKTsNCgl9LA0KCW1hZ2VudGE6IGZ1bmN0aW9uICh2YWwpIHsNCgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnY215aycsIDEsIHZhbCk7DQoJfSwNCgl5ZWxsb3c6IGZ1bmN0aW9uICh2YWwpIHsNCgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnY215aycsIDIsIHZhbCk7DQoJfSwNCglibGFjazogZnVuY3Rpb24gKHZhbCkgew0KCQlyZXR1cm4gdGhpcy5zZXRDaGFubmVsKCdjbXlrJywgMywgdmFsKTsNCgl9LA0KDQoJaGV4U3RyaW5nOiBmdW5jdGlvbiAoKSB7DQoJCXJldHVybiBzdHJpbmcuaGV4U3RyaW5nKHRoaXMudmFsdWVzLnJnYik7DQoJfSwNCglyZ2JTdHJpbmc6IGZ1bmN0aW9uICgpIHsNCgkJcmV0dXJuIHN0cmluZy5yZ2JTdHJpbmcodGhpcy52YWx1ZXMucmdiLCB0aGlzLnZhbHVlcy5hbHBoYSk7DQoJfSwNCglyZ2JhU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQoJCXJldHVybiBzdHJpbmcucmdiYVN0cmluZyh0aGlzLnZhbHVlcy5yZ2IsIHRoaXMudmFsdWVzLmFscGhhKTsNCgl9LA0KCXBlcmNlbnRTdHJpbmc6IGZ1bmN0aW9uICgpIHsNCgkJcmV0dXJuIHN0cmluZy5wZXJjZW50U3RyaW5nKHRoaXMudmFsdWVzLnJnYiwgdGhpcy52YWx1ZXMuYWxwaGEpOw0KCX0sDQoJaHNsU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQoJCXJldHVybiBzdHJpbmcuaHNsU3RyaW5nKHRoaXMudmFsdWVzLmhzbCwgdGhpcy52YWx1ZXMuYWxwaGEpOw0KCX0sDQoJaHNsYVN0cmluZzogZnVuY3Rpb24gKCkgew0KCQlyZXR1cm4gc3RyaW5nLmhzbGFTdHJpbmcodGhpcy52YWx1ZXMuaHNsLCB0aGlzLnZhbHVlcy5hbHBoYSk7DQoJfSwNCglod2JTdHJpbmc6IGZ1bmN0aW9uICgpIHsNCgkJcmV0dXJuIHN0cmluZy5od2JTdHJpbmcodGhpcy52YWx1ZXMuaHdiLCB0aGlzLnZhbHVlcy5hbHBoYSk7DQoJfSwNCglrZXl3b3JkOiBmdW5jdGlvbiAoKSB7DQoJCXJldHVybiBzdHJpbmcua2V5d29yZCh0aGlzLnZhbHVlcy5yZ2IsIHRoaXMudmFsdWVzLmFscGhhKTsNCgl9LA0KDQoJcmdiTnVtYmVyOiBmdW5jdGlvbiAoKSB7DQoJCXZhciByZ2IgPSB0aGlzLnZhbHVlcy5yZ2I7DQoJCXJldHVybiAocmdiWzBdIDw8IDE2KSB8IChyZ2JbMV0gPDwgOCkgfCByZ2JbMl07DQoJfSwNCg0KCWx1bWlub3NpdHk6IGZ1bmN0aW9uICgpIHsNCgkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvV0NBRzIwLyNyZWxhdGl2ZWx1bWluYW5jZWRlZg0KCQl2YXIgcmdiID0gdGhpcy52YWx1ZXMucmdiOw0KCQl2YXIgbHVtID0gW107DQoJCWZvciAodmFyIGkgPSAwOyBpIDwgcmdiLmxlbmd0aDsgaSsrKSB7DQoJCQl2YXIgY2hhbiA9IHJnYltpXSAvIDI1NTsNCgkJCWx1bVtpXSA9IChjaGFuIDw9IDAuMDM5MjgpID8gY2hhbiAvIDEyLjkyIDogTWF0aC5wb3coKChjaGFuICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpOw0KCQl9DQoJCXJldHVybiAwLjIxMjYgKiBsdW1bMF0gKyAwLjcxNTIgKiBsdW1bMV0gKyAwLjA3MjIgKiBsdW1bMl07DQoJfSwNCg0KCWNvbnRyYXN0OiBmdW5jdGlvbiAoY29sb3IyKSB7DQoJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jY29udHJhc3QtcmF0aW9kZWYNCgkJdmFyIGx1bTEgPSB0aGlzLmx1bWlub3NpdHkoKTsNCgkJdmFyIGx1bTIgPSBjb2xvcjIubHVtaW5vc2l0eSgpOw0KCQlpZiAobHVtMSA+IGx1bTIpIHsNCgkJCXJldHVybiAobHVtMSArIDAuMDUpIC8gKGx1bTIgKyAwLjA1KTsNCgkJfQ0KCQlyZXR1cm4gKGx1bTIgKyAwLjA1KSAvIChsdW0xICsgMC4wNSk7DQoJfSwNCg0KCWxldmVsOiBmdW5jdGlvbiAoY29sb3IyKSB7DQoJCXZhciBjb250cmFzdFJhdGlvID0gdGhpcy5jb250cmFzdChjb2xvcjIpOw0KCQlpZiAoY29udHJhc3RSYXRpbyA+PSA3LjEpIHsNCgkJCXJldHVybiAnQUFBJzsNCgkJfQ0KDQoJCXJldHVybiAoY29udHJhc3RSYXRpbyA+PSA0LjUpID8gJ0FBJyA6ICcnOw0KCX0sDQoNCglkYXJrOiBmdW5jdGlvbiAoKSB7DQoJCS8vIFlJUSBlcXVhdGlvbiBmcm9tIGh0dHA6Ly8yNHdheXMub3JnLzIwMTAvY2FsY3VsYXRpbmctY29sb3ItY29udHJhc3QNCgkJdmFyIHJnYiA9IHRoaXMudmFsdWVzLnJnYjsNCgkJdmFyIHlpcSA9IChyZ2JbMF0gKiAyOTkgKyByZ2JbMV0gKiA1ODcgKyByZ2JbMl0gKiAxMTQpIC8gMTAwMDsNCgkJcmV0dXJuIHlpcSA8IDEyODsNCgl9LA0KDQoJbGlnaHQ6IGZ1bmN0aW9uICgpIHsNCgkJcmV0dXJuICF0aGlzLmRhcmsoKTsNCgl9LA0KDQoJbmVnYXRlOiBmdW5jdGlvbiAoKSB7DQoJCXZhciByZ2IgPSBbXTsNCgkJZm9yICh2YXIgaSA9IDA7IGkgPCAzOyBpKyspIHsNCgkJCXJnYltpXSA9IDI1NSAtIHRoaXMudmFsdWVzLnJnYltpXTsNCgkJfQ0KCQl0aGlzLnNldFZhbHVlcygncmdiJywgcmdiKTsNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCWxpZ2h0ZW46IGZ1bmN0aW9uIChyYXRpbykgew0KCQl2YXIgaHNsID0gdGhpcy52YWx1ZXMuaHNsOw0KCQloc2xbMl0gKz0gaHNsWzJdICogcmF0aW87DQoJCXRoaXMuc2V0VmFsdWVzKCdoc2wnLCBoc2wpOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJZGFya2VuOiBmdW5jdGlvbiAocmF0aW8pIHsNCgkJdmFyIGhzbCA9IHRoaXMudmFsdWVzLmhzbDsNCgkJaHNsWzJdIC09IGhzbFsyXSAqIHJhdGlvOw0KCQl0aGlzLnNldFZhbHVlcygnaHNsJywgaHNsKTsNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCXNhdHVyYXRlOiBmdW5jdGlvbiAocmF0aW8pIHsNCgkJdmFyIGhzbCA9IHRoaXMudmFsdWVzLmhzbDsNCgkJaHNsWzFdICs9IGhzbFsxXSAqIHJhdGlvOw0KCQl0aGlzLnNldFZhbHVlcygnaHNsJywgaHNsKTsNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCWRlc2F0dXJhdGU6IGZ1bmN0aW9uIChyYXRpbykgew0KCQl2YXIgaHNsID0gdGhpcy52YWx1ZXMuaHNsOw0KCQloc2xbMV0gLT0gaHNsWzFdICogcmF0aW87DQoJCXRoaXMuc2V0VmFsdWVzKCdoc2wnLCBoc2wpOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJd2hpdGVuOiBmdW5jdGlvbiAocmF0aW8pIHsNCgkJdmFyIGh3YiA9IHRoaXMudmFsdWVzLmh3YjsNCgkJaHdiWzFdICs9IGh3YlsxXSAqIHJhdGlvOw0KCQl0aGlzLnNldFZhbHVlcygnaHdiJywgaHdiKTsNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCWJsYWNrZW46IGZ1bmN0aW9uIChyYXRpbykgew0KCQl2YXIgaHdiID0gdGhpcy52YWx1ZXMuaHdiOw0KCQlod2JbMl0gKz0gaHdiWzJdICogcmF0aW87DQoJCXRoaXMuc2V0VmFsdWVzKCdod2InLCBod2IpOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJZ3JleXNjYWxlOiBmdW5jdGlvbiAoKSB7DQoJCXZhciByZ2IgPSB0aGlzLnZhbHVlcy5yZ2I7DQoJCS8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR3JheXNjYWxlI0NvbnZlcnRpbmdfY29sb3JfdG9fZ3JheXNjYWxlDQoJCXZhciB2YWwgPSByZ2JbMF0gKiAwLjMgKyByZ2JbMV0gKiAwLjU5ICsgcmdiWzJdICogMC4xMTsNCgkJdGhpcy5zZXRWYWx1ZXMoJ3JnYicsIFt2YWwsIHZhbCwgdmFsXSk7DQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCgljbGVhcmVyOiBmdW5jdGlvbiAocmF0aW8pIHsNCgkJdmFyIGFscGhhID0gdGhpcy52YWx1ZXMuYWxwaGE7DQoJCXRoaXMuc2V0VmFsdWVzKCdhbHBoYScsIGFscGhhIC0gKGFscGhhICogcmF0aW8pKTsNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCW9wYXF1ZXI6IGZ1bmN0aW9uIChyYXRpbykgew0KCQl2YXIgYWxwaGEgPSB0aGlzLnZhbHVlcy5hbHBoYTsNCgkJdGhpcy5zZXRWYWx1ZXMoJ2FscGhhJywgYWxwaGEgKyAoYWxwaGEgKiByYXRpbykpOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJcm90YXRlOiBmdW5jdGlvbiAoZGVncmVlcykgew0KCQl2YXIgaHNsID0gdGhpcy52YWx1ZXMuaHNsOw0KCQl2YXIgaHVlID0gKGhzbFswXSArIGRlZ3JlZXMpICUgMzYwOw0KCQloc2xbMF0gPSBodWUgPCAwID8gMzYwICsgaHVlIDogaHVlOw0KCQl0aGlzLnNldFZhbHVlcygnaHNsJywgaHNsKTsNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCS8qKg0KCSAqIFBvcnRlZCBmcm9tIHNhc3MgaW1wbGVtZW50YXRpb24gaW4gQw0KCSAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL2xpYnNhc3MvYmxvYi8wZTZiNGEyODUwMDkyMzU2YWEzZWNlMDdjNmIyNDlmMDIyMWNhY2VkL2Z1bmN0aW9ucy5jcHAjTDIwOQ0KCSAqLw0KCW1peDogZnVuY3Rpb24gKG1peGluQ29sb3IsIHdlaWdodCkgew0KCQl2YXIgY29sb3IxID0gdGhpczsNCgkJdmFyIGNvbG9yMiA9IG1peGluQ29sb3I7DQoJCXZhciBwID0gd2VpZ2h0ID09PSB1bmRlZmluZWQgPyAwLjUgOiB3ZWlnaHQ7DQoNCgkJdmFyIHcgPSAyICogcCAtIDE7DQoJCXZhciBhID0gY29sb3IxLmFscGhhKCkgLSBjb2xvcjIuYWxwaGEoKTsNCg0KCQl2YXIgdzEgPSAoKCh3ICogYSA9PT0gLTEpID8gdyA6ICh3ICsgYSkgLyAoMSArIHcgKiBhKSkgKyAxKSAvIDIuMDsNCgkJdmFyIHcyID0gMSAtIHcxOw0KDQoJCXJldHVybiB0aGlzDQoJCQkucmdiKA0KCQkJCXcxICogY29sb3IxLnJlZCgpICsgdzIgKiBjb2xvcjIucmVkKCksDQoJCQkJdzEgKiBjb2xvcjEuZ3JlZW4oKSArIHcyICogY29sb3IyLmdyZWVuKCksDQoJCQkJdzEgKiBjb2xvcjEuYmx1ZSgpICsgdzIgKiBjb2xvcjIuYmx1ZSgpDQoJCQkpDQoJCQkuYWxwaGEoY29sb3IxLmFscGhhKCkgKiBwICsgY29sb3IyLmFscGhhKCkgKiAoMSAtIHApKTsNCgl9LA0KDQoJdG9KU09OOiBmdW5jdGlvbiAoKSB7DQoJCXJldHVybiB0aGlzLnJnYigpOw0KCX0sDQoNCgljbG9uZTogZnVuY3Rpb24gKCkgew0KCQkvLyBOT1RFKFNCKTogdXNpbmcgbm9kZS1jbG9uZSBjcmVhdGVzIGEgZGVwZW5kZW5jeSB0byBCdWZmZXIgd2hlbiB1c2luZyBicm93c2VyaWZ5LA0KCQkvLyBtYWtpbmcgdGhlIGZpbmFsIGJ1aWxkIHdheSB0byBiaWcgdG8gZW1iZWQgaW4gQ2hhcnQuanMuIFNvIGxldCdzIGRvIGl0IG1hbnVhbGx5LA0KCQkvLyBhc3N1bWluZyB0aGF0IHZhbHVlcyB0byBjbG9uZSBhcmUgMSBkaW1lbnNpb24gYXJyYXlzIGNvbnRhaW5pbmcgb25seSBudW1iZXJzLA0KCQkvLyBleGNlcHQgJ2FscGhhJyB3aGljaCBpcyBhIG51bWJlci4NCgkJdmFyIHJlc3VsdCA9IG5ldyBDb2xvcigpOw0KCQl2YXIgc291cmNlID0gdGhpcy52YWx1ZXM7DQoJCXZhciB0YXJnZXQgPSByZXN1bHQudmFsdWVzOw0KCQl2YXIgdmFsdWUsIHR5cGU7DQoNCgkJZm9yICh2YXIgcHJvcCBpbiBzb3VyY2UpIHsNCgkJCWlmIChzb3VyY2UuaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCgkJCQl2YWx1ZSA9IHNvdXJjZVtwcm9wXTsNCgkJCQl0eXBlID0gKHt9KS50b1N0cmluZy5jYWxsKHZhbHVlKTsNCgkJCQlpZiAodHlwZSA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KCQkJCQl0YXJnZXRbcHJvcF0gPSB2YWx1ZS5zbGljZSgwKTsNCgkJCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdbb2JqZWN0IE51bWJlcl0nKSB7DQoJCQkJCXRhcmdldFtwcm9wXSA9IHZhbHVlOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWNvbnNvbGUuZXJyb3IoJ3VuZXhwZWN0ZWQgY29sb3IgdmFsdWU6JywgdmFsdWUpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXJldHVybiByZXN1bHQ7DQoJfQ0KfTsNCg0KQ29sb3IucHJvdG90eXBlLnNwYWNlcyA9IHsNCglyZ2I6IFsncmVkJywgJ2dyZWVuJywgJ2JsdWUnXSwNCgloc2w6IFsnaHVlJywgJ3NhdHVyYXRpb24nLCAnbGlnaHRuZXNzJ10sDQoJaHN2OiBbJ2h1ZScsICdzYXR1cmF0aW9uJywgJ3ZhbHVlJ10sDQoJaHdiOiBbJ2h1ZScsICd3aGl0ZW5lc3MnLCAnYmxhY2tuZXNzJ10sDQoJY215azogWydjeWFuJywgJ21hZ2VudGEnLCAneWVsbG93JywgJ2JsYWNrJ10NCn07DQoNCkNvbG9yLnByb3RvdHlwZS5tYXhlcyA9IHsNCglyZ2I6IFsyNTUsIDI1NSwgMjU1XSwNCgloc2w6IFszNjAsIDEwMCwgMTAwXSwNCgloc3Y6IFszNjAsIDEwMCwgMTAwXSwNCglod2I6IFszNjAsIDEwMCwgMTAwXSwNCgljbXlrOiBbMTAwLCAxMDAsIDEwMCwgMTAwXQ0KfTsNCg0KQ29sb3IucHJvdG90eXBlLmdldFZhbHVlcyA9IGZ1bmN0aW9uIChzcGFjZSkgew0KCXZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlczsNCgl2YXIgdmFscyA9IHt9Ow0KDQoJZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFjZS5sZW5ndGg7IGkrKykgew0KCQl2YWxzW3NwYWNlLmNoYXJBdChpKV0gPSB2YWx1ZXNbc3BhY2VdW2ldOw0KCX0NCg0KCWlmICh2YWx1ZXMuYWxwaGEgIT09IDEpIHsNCgkJdmFscy5hID0gdmFsdWVzLmFscGhhOw0KCX0NCg0KCS8vIHtyOiAyNTUsIGc6IDI1NSwgYjogMjU1LCBhOiAwLjR9DQoJcmV0dXJuIHZhbHM7DQp9Ow0KDQpDb2xvci5wcm90b3R5cGUuc2V0VmFsdWVzID0gZnVuY3Rpb24gKHNwYWNlLCB2YWxzKSB7DQoJdmFyIHZhbHVlcyA9IHRoaXMudmFsdWVzOw0KCXZhciBzcGFjZXMgPSB0aGlzLnNwYWNlczsNCgl2YXIgbWF4ZXMgPSB0aGlzLm1heGVzOw0KCXZhciBhbHBoYSA9IDE7DQoJdmFyIGk7DQoNCglpZiAoc3BhY2UgPT09ICdhbHBoYScpIHsNCgkJYWxwaGEgPSB2YWxzOw0KCX0gZWxzZSBpZiAodmFscy5sZW5ndGgpIHsNCgkJLy8gWzEwLCAxMCwgMTBdDQoJCXZhbHVlc1tzcGFjZV0gPSB2YWxzLnNsaWNlKDAsIHNwYWNlLmxlbmd0aCk7DQoJCWFscGhhID0gdmFsc1tzcGFjZS5sZW5ndGhdOw0KCX0gZWxzZSBpZiAodmFsc1tzcGFjZS5jaGFyQXQoMCldICE9PSB1bmRlZmluZWQpIHsNCgkJLy8ge3I6IDEwLCBnOiAxMCwgYjogMTB9DQoJCWZvciAoaSA9IDA7IGkgPCBzcGFjZS5sZW5ndGg7IGkrKykgew0KCQkJdmFsdWVzW3NwYWNlXVtpXSA9IHZhbHNbc3BhY2UuY2hhckF0KGkpXTsNCgkJfQ0KDQoJCWFscGhhID0gdmFscy5hOw0KCX0gZWxzZSBpZiAodmFsc1tzcGFjZXNbc3BhY2VdWzBdXSAhPT0gdW5kZWZpbmVkKSB7DQoJCS8vIHtyZWQ6IDEwLCBncmVlbjogMTAsIGJsdWU6IDEwfQ0KCQl2YXIgY2hhbnMgPSBzcGFjZXNbc3BhY2VdOw0KDQoJCWZvciAoaSA9IDA7IGkgPCBzcGFjZS5sZW5ndGg7IGkrKykgew0KCQkJdmFsdWVzW3NwYWNlXVtpXSA9IHZhbHNbY2hhbnNbaV1dOw0KCQl9DQoNCgkJYWxwaGEgPSB2YWxzLmFscGhhOw0KCX0NCg0KCXZhbHVlcy5hbHBoYSA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIChhbHBoYSA9PT0gdW5kZWZpbmVkID8gdmFsdWVzLmFscGhhIDogYWxwaGEpKSk7DQoNCglpZiAoc3BhY2UgPT09ICdhbHBoYScpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCg0KCXZhciBjYXBwZWQ7DQoNCgkvLyBjYXAgdmFsdWVzIG9mIHRoZSBzcGFjZSBwcmlvciBjb252ZXJ0aW5nIGFsbCB2YWx1ZXMNCglmb3IgKGkgPSAwOyBpIDwgc3BhY2UubGVuZ3RoOyBpKyspIHsNCgkJY2FwcGVkID0gTWF0aC5tYXgoMCwgTWF0aC5taW4obWF4ZXNbc3BhY2VdW2ldLCB2YWx1ZXNbc3BhY2VdW2ldKSk7DQoJCXZhbHVlc1tzcGFjZV1baV0gPSBNYXRoLnJvdW5kKGNhcHBlZCk7DQoJfQ0KDQoJLy8gY29udmVydCB0byBhbGwgdGhlIG90aGVyIGNvbG9yIHNwYWNlcw0KCWZvciAodmFyIHNuYW1lIGluIHNwYWNlcykgew0KCQlpZiAoc25hbWUgIT09IHNwYWNlKSB7DQoJCQl2YWx1ZXNbc25hbWVdID0gY29udmVydFtzcGFjZV1bc25hbWVdKHZhbHVlc1tzcGFjZV0pOw0KCQl9DQoJfQ0KDQoJcmV0dXJuIHRydWU7DQp9Ow0KDQpDb2xvci5wcm90b3R5cGUuc2V0U3BhY2UgPSBmdW5jdGlvbiAoc3BhY2UsIGFyZ3MpIHsNCgl2YXIgdmFscyA9IGFyZ3NbMF07DQoNCglpZiAodmFscyA9PT0gdW5kZWZpbmVkKSB7DQoJCS8vIGNvbG9yLnJnYigpDQoJCXJldHVybiB0aGlzLmdldFZhbHVlcyhzcGFjZSk7DQoJfQ0KDQoJLy8gY29sb3IucmdiKDEwLCAxMCwgMTApDQoJaWYgKHR5cGVvZiB2YWxzID09PSAnbnVtYmVyJykgew0KCQl2YWxzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJncyk7DQoJfQ0KDQoJdGhpcy5zZXRWYWx1ZXMoc3BhY2UsIHZhbHMpOw0KCXJldHVybiB0aGlzOw0KfTsNCg0KQ29sb3IucHJvdG90eXBlLnNldENoYW5uZWwgPSBmdW5jdGlvbiAoc3BhY2UsIGluZGV4LCB2YWwpIHsNCgl2YXIgc3ZhbHVlcyA9IHRoaXMudmFsdWVzW3NwYWNlXTsNCglpZiAodmFsID09PSB1bmRlZmluZWQpIHsNCgkJLy8gY29sb3IucmVkKCkNCgkJcmV0dXJuIHN2YWx1ZXNbaW5kZXhdOw0KCX0gZWxzZSBpZiAodmFsID09PSBzdmFsdWVzW2luZGV4XSkgew0KCQkvLyBjb2xvci5yZWQoY29sb3IucmVkKCkpDQoJCXJldHVybiB0aGlzOw0KCX0NCg0KCS8vIGNvbG9yLnJlZCgxMDApDQoJc3ZhbHVlc1tpbmRleF0gPSB2YWw7DQoJdGhpcy5zZXRWYWx1ZXMoc3BhY2UsIHN2YWx1ZXMpOw0KDQoJcmV0dXJuIHRoaXM7DQp9Ow0KDQppZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHsNCgl3aW5kb3cuQ29sb3IgPSBDb2xvcjsNCn0NCg0KbW9kdWxlLmV4cG9ydHMgPSBDb2xvcjsNCgp9LHsiY2hhcnRqcy1jb2xvci1zdHJpbmciOjIsImNvbG9yLWNvbnZlcnQiOjV9XSw0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKLyogTUlUIGxpY2Vuc2UgKi8KCm1vZHVsZS5leHBvcnRzID0gewogIHJnYjJoc2w6IHJnYjJoc2wsCiAgcmdiMmhzdjogcmdiMmhzdiwKICByZ2IyaHdiOiByZ2IyaHdiLAogIHJnYjJjbXlrOiByZ2IyY215aywKICByZ2Iya2V5d29yZDogcmdiMmtleXdvcmQsCiAgcmdiMnh5ejogcmdiMnh5eiwKICByZ2IybGFiOiByZ2IybGFiLAogIHJnYjJsY2g6IHJnYjJsY2gsCgogIGhzbDJyZ2I6IGhzbDJyZ2IsCiAgaHNsMmhzdjogaHNsMmhzdiwKICBoc2wyaHdiOiBoc2wyaHdiLAogIGhzbDJjbXlrOiBoc2wyY215aywKICBoc2wya2V5d29yZDogaHNsMmtleXdvcmQsCgogIGhzdjJyZ2I6IGhzdjJyZ2IsCiAgaHN2MmhzbDogaHN2MmhzbCwKICBoc3YyaHdiOiBoc3YyaHdiLAogIGhzdjJjbXlrOiBoc3YyY215aywKICBoc3Yya2V5d29yZDogaHN2MmtleXdvcmQsCgogIGh3YjJyZ2I6IGh3YjJyZ2IsCiAgaHdiMmhzbDogaHdiMmhzbCwKICBod2IyaHN2OiBod2IyaHN2LAogIGh3YjJjbXlrOiBod2IyY215aywKICBod2Iya2V5d29yZDogaHdiMmtleXdvcmQsCgogIGNteWsycmdiOiBjbXlrMnJnYiwKICBjbXlrMmhzbDogY215azJoc2wsCiAgY215azJoc3Y6IGNteWsyaHN2LAogIGNteWsyaHdiOiBjbXlrMmh3YiwKICBjbXlrMmtleXdvcmQ6IGNteWsya2V5d29yZCwKCiAga2V5d29yZDJyZ2I6IGtleXdvcmQycmdiLAogIGtleXdvcmQyaHNsOiBrZXl3b3JkMmhzbCwKICBrZXl3b3JkMmhzdjoga2V5d29yZDJoc3YsCiAga2V5d29yZDJod2I6IGtleXdvcmQyaHdiLAogIGtleXdvcmQyY215azoga2V5d29yZDJjbXlrLAogIGtleXdvcmQybGFiOiBrZXl3b3JkMmxhYiwKICBrZXl3b3JkMnh5ejoga2V5d29yZDJ4eXosCgogIHh5ejJyZ2I6IHh5ejJyZ2IsCiAgeHl6MmxhYjogeHl6MmxhYiwKICB4eXoybGNoOiB4eXoybGNoLAoKICBsYWIyeHl6OiBsYWIyeHl6LAogIGxhYjJyZ2I6IGxhYjJyZ2IsCiAgbGFiMmxjaDogbGFiMmxjaCwKCiAgbGNoMmxhYjogbGNoMmxhYiwKICBsY2gyeHl6OiBsY2gyeHl6LAogIGxjaDJyZ2I6IGxjaDJyZ2IKfQoKCmZ1bmN0aW9uIHJnYjJoc2wocmdiKSB7CiAgdmFyIHIgPSByZ2JbMF0vMjU1LAogICAgICBnID0gcmdiWzFdLzI1NSwKICAgICAgYiA9IHJnYlsyXS8yNTUsCiAgICAgIG1pbiA9IE1hdGgubWluKHIsIGcsIGIpLAogICAgICBtYXggPSBNYXRoLm1heChyLCBnLCBiKSwKICAgICAgZGVsdGEgPSBtYXggLSBtaW4sCiAgICAgIGgsIHMsIGw7CgogIGlmIChtYXggPT0gbWluKQogICAgaCA9IDA7CiAgZWxzZSBpZiAociA9PSBtYXgpCiAgICBoID0gKGcgLSBiKSAvIGRlbHRhOwogIGVsc2UgaWYgKGcgPT0gbWF4KQogICAgaCA9IDIgKyAoYiAtIHIpIC8gZGVsdGE7CiAgZWxzZSBpZiAoYiA9PSBtYXgpCiAgICBoID0gNCArIChyIC0gZykvIGRlbHRhOwoKICBoID0gTWF0aC5taW4oaCAqIDYwLCAzNjApOwoKICBpZiAoaCA8IDApCiAgICBoICs9IDM2MDsKCiAgbCA9IChtaW4gKyBtYXgpIC8gMjsKCiAgaWYgKG1heCA9PSBtaW4pCiAgICBzID0gMDsKICBlbHNlIGlmIChsIDw9IDAuNSkKICAgIHMgPSBkZWx0YSAvIChtYXggKyBtaW4pOwogIGVsc2UKICAgIHMgPSBkZWx0YSAvICgyIC0gbWF4IC0gbWluKTsKCiAgcmV0dXJuIFtoLCBzICogMTAwLCBsICogMTAwXTsKfQoKZnVuY3Rpb24gcmdiMmhzdihyZ2IpIHsKICB2YXIgciA9IHJnYlswXSwKICAgICAgZyA9IHJnYlsxXSwKICAgICAgYiA9IHJnYlsyXSwKICAgICAgbWluID0gTWF0aC5taW4ociwgZywgYiksCiAgICAgIG1heCA9IE1hdGgubWF4KHIsIGcsIGIpLAogICAgICBkZWx0YSA9IG1heCAtIG1pbiwKICAgICAgaCwgcywgdjsKCiAgaWYgKG1heCA9PSAwKQogICAgcyA9IDA7CiAgZWxzZQogICAgcyA9IChkZWx0YS9tYXggKiAxMDAwKS8xMDsKCiAgaWYgKG1heCA9PSBtaW4pCiAgICBoID0gMDsKICBlbHNlIGlmIChyID09IG1heCkKICAgIGggPSAoZyAtIGIpIC8gZGVsdGE7CiAgZWxzZSBpZiAoZyA9PSBtYXgpCiAgICBoID0gMiArIChiIC0gcikgLyBkZWx0YTsKICBlbHNlIGlmIChiID09IG1heCkKICAgIGggPSA0ICsgKHIgLSBnKSAvIGRlbHRhOwoKICBoID0gTWF0aC5taW4oaCAqIDYwLCAzNjApOwoKICBpZiAoaCA8IDApCiAgICBoICs9IDM2MDsKCiAgdiA9ICgobWF4IC8gMjU1KSAqIDEwMDApIC8gMTA7CgogIHJldHVybiBbaCwgcywgdl07Cn0KCmZ1bmN0aW9uIHJnYjJod2IocmdiKSB7CiAgdmFyIHIgPSByZ2JbMF0sCiAgICAgIGcgPSByZ2JbMV0sCiAgICAgIGIgPSByZ2JbMl0sCiAgICAgIGggPSByZ2IyaHNsKHJnYilbMF0sCiAgICAgIHcgPSAxLzI1NSAqIE1hdGgubWluKHIsIE1hdGgubWluKGcsIGIpKSwKICAgICAgYiA9IDEgLSAxLzI1NSAqIE1hdGgubWF4KHIsIE1hdGgubWF4KGcsIGIpKTsKCiAgcmV0dXJuIFtoLCB3ICogMTAwLCBiICogMTAwXTsKfQoKZnVuY3Rpb24gcmdiMmNteWsocmdiKSB7CiAgdmFyIHIgPSByZ2JbMF0gLyAyNTUsCiAgICAgIGcgPSByZ2JbMV0gLyAyNTUsCiAgICAgIGIgPSByZ2JbMl0gLyAyNTUsCiAgICAgIGMsIG0sIHksIGs7CgogIGsgPSBNYXRoLm1pbigxIC0gciwgMSAtIGcsIDEgLSBiKTsKICBjID0gKDEgLSByIC0gaykgLyAoMSAtIGspIHx8IDA7CiAgbSA9ICgxIC0gZyAtIGspIC8gKDEgLSBrKSB8fCAwOwogIHkgPSAoMSAtIGIgLSBrKSAvICgxIC0gaykgfHwgMDsKICByZXR1cm4gW2MgKiAxMDAsIG0gKiAxMDAsIHkgKiAxMDAsIGsgKiAxMDBdOwp9CgpmdW5jdGlvbiByZ2Iya2V5d29yZChyZ2IpIHsKICByZXR1cm4gcmV2ZXJzZUtleXdvcmRzW0pTT04uc3RyaW5naWZ5KHJnYildOwp9CgpmdW5jdGlvbiByZ2IyeHl6KHJnYikgewogIHZhciByID0gcmdiWzBdIC8gMjU1LAogICAgICBnID0gcmdiWzFdIC8gMjU1LAogICAgICBiID0gcmdiWzJdIC8gMjU1OwoKICAvLyBhc3N1bWUgc1JHQgogIHIgPSByID4gMC4wNDA0NSA/IE1hdGgucG93KCgociArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChyIC8gMTIuOTIpOwogIGcgPSBnID4gMC4wNDA0NSA/IE1hdGgucG93KCgoZyArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChnIC8gMTIuOTIpOwogIGIgPSBiID4gMC4wNDA0NSA/IE1hdGgucG93KCgoYiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChiIC8gMTIuOTIpOwoKICB2YXIgeCA9IChyICogMC40MTI0KSArIChnICogMC4zNTc2KSArIChiICogMC4xODA1KTsKICB2YXIgeSA9IChyICogMC4yMTI2KSArIChnICogMC43MTUyKSArIChiICogMC4wNzIyKTsKICB2YXIgeiA9IChyICogMC4wMTkzKSArIChnICogMC4xMTkyKSArIChiICogMC45NTA1KTsKCiAgcmV0dXJuIFt4ICogMTAwLCB5ICoxMDAsIHogKiAxMDBdOwp9CgpmdW5jdGlvbiByZ2IybGFiKHJnYikgewogIHZhciB4eXogPSByZ2IyeHl6KHJnYiksCiAgICAgICAgeCA9IHh5elswXSwKICAgICAgICB5ID0geHl6WzFdLAogICAgICAgIHogPSB4eXpbMl0sCiAgICAgICAgbCwgYSwgYjsKCiAgeCAvPSA5NS4wNDc7CiAgeSAvPSAxMDA7CiAgeiAvPSAxMDguODgzOwoKICB4ID0geCA+IDAuMDA4ODU2ID8gTWF0aC5wb3coeCwgMS8zKSA6ICg3Ljc4NyAqIHgpICsgKDE2IC8gMTE2KTsKICB5ID0geSA+IDAuMDA4ODU2ID8gTWF0aC5wb3coeSwgMS8zKSA6ICg3Ljc4NyAqIHkpICsgKDE2IC8gMTE2KTsKICB6ID0geiA+IDAuMDA4ODU2ID8gTWF0aC5wb3coeiwgMS8zKSA6ICg3Ljc4NyAqIHopICsgKDE2IC8gMTE2KTsKCiAgbCA9ICgxMTYgKiB5KSAtIDE2OwogIGEgPSA1MDAgKiAoeCAtIHkpOwogIGIgPSAyMDAgKiAoeSAtIHopOwoKICByZXR1cm4gW2wsIGEsIGJdOwp9CgpmdW5jdGlvbiByZ2IybGNoKGFyZ3MpIHsKICByZXR1cm4gbGFiMmxjaChyZ2IybGFiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gaHNsMnJnYihoc2wpIHsKICB2YXIgaCA9IGhzbFswXSAvIDM2MCwKICAgICAgcyA9IGhzbFsxXSAvIDEwMCwKICAgICAgbCA9IGhzbFsyXSAvIDEwMCwKICAgICAgdDEsIHQyLCB0MywgcmdiLCB2YWw7CgogIGlmIChzID09IDApIHsKICAgIHZhbCA9IGwgKiAyNTU7CiAgICByZXR1cm4gW3ZhbCwgdmFsLCB2YWxdOwogIH0KCiAgaWYgKGwgPCAwLjUpCiAgICB0MiA9IGwgKiAoMSArIHMpOwogIGVsc2UKICAgIHQyID0gbCArIHMgLSBsICogczsKICB0MSA9IDIgKiBsIC0gdDI7CgogIHJnYiA9IFswLCAwLCAwXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IDM7IGkrKykgewogICAgdDMgPSBoICsgMSAvIDMgKiAtIChpIC0gMSk7CiAgICB0MyA8IDAgJiYgdDMrKzsKICAgIHQzID4gMSAmJiB0My0tOwoKICAgIGlmICg2ICogdDMgPCAxKQogICAgICB2YWwgPSB0MSArICh0MiAtIHQxKSAqIDYgKiB0MzsKICAgIGVsc2UgaWYgKDIgKiB0MyA8IDEpCiAgICAgIHZhbCA9IHQyOwogICAgZWxzZSBpZiAoMyAqIHQzIDwgMikKICAgICAgdmFsID0gdDEgKyAodDIgLSB0MSkgKiAoMiAvIDMgLSB0MykgKiA2OwogICAgZWxzZQogICAgICB2YWwgPSB0MTsKCiAgICByZ2JbaV0gPSB2YWwgKiAyNTU7CiAgfQoKICByZXR1cm4gcmdiOwp9CgpmdW5jdGlvbiBoc2wyaHN2KGhzbCkgewogIHZhciBoID0gaHNsWzBdLAogICAgICBzID0gaHNsWzFdIC8gMTAwLAogICAgICBsID0gaHNsWzJdIC8gMTAwLAogICAgICBzdiwgdjsKCiAgaWYobCA9PT0gMCkgewogICAgICAvLyBubyBuZWVkIHRvIGRvIGNhbGMgb24gYmxhY2sKICAgICAgLy8gYWxzbyBhdm9pZHMgZGl2aWRlIGJ5IDAgZXJyb3IKICAgICAgcmV0dXJuIFswLCAwLCAwXTsKICB9CgogIGwgKj0gMjsKICBzICo9IChsIDw9IDEpID8gbCA6IDIgLSBsOwogIHYgPSAobCArIHMpIC8gMjsKICBzdiA9ICgyICogcykgLyAobCArIHMpOwogIHJldHVybiBbaCwgc3YgKiAxMDAsIHYgKiAxMDBdOwp9CgpmdW5jdGlvbiBoc2wyaHdiKGFyZ3MpIHsKICByZXR1cm4gcmdiMmh3Yihoc2wycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gaHNsMmNteWsoYXJncykgewogIHJldHVybiByZ2IyY215ayhoc2wycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gaHNsMmtleXdvcmQoYXJncykgewogIHJldHVybiByZ2Iya2V5d29yZChoc2wycmdiKGFyZ3MpKTsKfQoKCmZ1bmN0aW9uIGhzdjJyZ2IoaHN2KSB7CiAgdmFyIGggPSBoc3ZbMF0gLyA2MCwKICAgICAgcyA9IGhzdlsxXSAvIDEwMCwKICAgICAgdiA9IGhzdlsyXSAvIDEwMCwKICAgICAgaGkgPSBNYXRoLmZsb29yKGgpICUgNjsKCiAgdmFyIGYgPSBoIC0gTWF0aC5mbG9vcihoKSwKICAgICAgcCA9IDI1NSAqIHYgKiAoMSAtIHMpLAogICAgICBxID0gMjU1ICogdiAqICgxIC0gKHMgKiBmKSksCiAgICAgIHQgPSAyNTUgKiB2ICogKDEgLSAocyAqICgxIC0gZikpKSwKICAgICAgdiA9IDI1NSAqIHY7CgogIHN3aXRjaChoaSkgewogICAgY2FzZSAwOgogICAgICByZXR1cm4gW3YsIHQsIHBdOwogICAgY2FzZSAxOgogICAgICByZXR1cm4gW3EsIHYsIHBdOwogICAgY2FzZSAyOgogICAgICByZXR1cm4gW3AsIHYsIHRdOwogICAgY2FzZSAzOgogICAgICByZXR1cm4gW3AsIHEsIHZdOwogICAgY2FzZSA0OgogICAgICByZXR1cm4gW3QsIHAsIHZdOwogICAgY2FzZSA1OgogICAgICByZXR1cm4gW3YsIHAsIHFdOwogIH0KfQoKZnVuY3Rpb24gaHN2MmhzbChoc3YpIHsKICB2YXIgaCA9IGhzdlswXSwKICAgICAgcyA9IGhzdlsxXSAvIDEwMCwKICAgICAgdiA9IGhzdlsyXSAvIDEwMCwKICAgICAgc2wsIGw7CgogIGwgPSAoMiAtIHMpICogdjsKICBzbCA9IHMgKiB2OwogIHNsIC89IChsIDw9IDEpID8gbCA6IDIgLSBsOwogIHNsID0gc2wgfHwgMDsKICBsIC89IDI7CiAgcmV0dXJuIFtoLCBzbCAqIDEwMCwgbCAqIDEwMF07Cn0KCmZ1bmN0aW9uIGhzdjJod2IoYXJncykgewogIHJldHVybiByZ2IyaHdiKGhzdjJyZ2IoYXJncykpCn0KCmZ1bmN0aW9uIGhzdjJjbXlrKGFyZ3MpIHsKICByZXR1cm4gcmdiMmNteWsoaHN2MnJnYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGhzdjJrZXl3b3JkKGFyZ3MpIHsKICByZXR1cm4gcmdiMmtleXdvcmQoaHN2MnJnYihhcmdzKSk7Cn0KCi8vIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzcy1jb2xvci8jaHdiLXRvLXJnYgpmdW5jdGlvbiBod2IycmdiKGh3YikgewogIHZhciBoID0gaHdiWzBdIC8gMzYwLAogICAgICB3aCA9IGh3YlsxXSAvIDEwMCwKICAgICAgYmwgPSBod2JbMl0gLyAxMDAsCiAgICAgIHJhdGlvID0gd2ggKyBibCwKICAgICAgaSwgdiwgZiwgbjsKCiAgLy8gd2ggKyBibCBjYW50IGJlID4gMQogIGlmIChyYXRpbyA+IDEpIHsKICAgIHdoIC89IHJhdGlvOwogICAgYmwgLz0gcmF0aW87CiAgfQoKICBpID0gTWF0aC5mbG9vcig2ICogaCk7CiAgdiA9IDEgLSBibDsKICBmID0gNiAqIGggLSBpOwogIGlmICgoaSAmIDB4MDEpICE9IDApIHsKICAgIGYgPSAxIC0gZjsKICB9CiAgbiA9IHdoICsgZiAqICh2IC0gd2gpOyAgLy8gbGluZWFyIGludGVycG9sYXRpb24KCiAgc3dpdGNoIChpKSB7CiAgICBkZWZhdWx0OgogICAgY2FzZSA2OgogICAgY2FzZSAwOiByID0gdjsgZyA9IG47IGIgPSB3aDsgYnJlYWs7CiAgICBjYXNlIDE6IHIgPSBuOyBnID0gdjsgYiA9IHdoOyBicmVhazsKICAgIGNhc2UgMjogciA9IHdoOyBnID0gdjsgYiA9IG47IGJyZWFrOwogICAgY2FzZSAzOiByID0gd2g7IGcgPSBuOyBiID0gdjsgYnJlYWs7CiAgICBjYXNlIDQ6IHIgPSBuOyBnID0gd2g7IGIgPSB2OyBicmVhazsKICAgIGNhc2UgNTogciA9IHY7IGcgPSB3aDsgYiA9IG47IGJyZWFrOwogIH0KCiAgcmV0dXJuIFtyICogMjU1LCBnICogMjU1LCBiICogMjU1XTsKfQoKZnVuY3Rpb24gaHdiMmhzbChhcmdzKSB7CiAgcmV0dXJuIHJnYjJoc2woaHdiMnJnYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGh3YjJoc3YoYXJncykgewogIHJldHVybiByZ2IyaHN2KGh3YjJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBod2IyY215ayhhcmdzKSB7CiAgcmV0dXJuIHJnYjJjbXlrKGh3YjJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBod2Iya2V5d29yZChhcmdzKSB7CiAgcmV0dXJuIHJnYjJrZXl3b3JkKGh3YjJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBjbXlrMnJnYihjbXlrKSB7CiAgdmFyIGMgPSBjbXlrWzBdIC8gMTAwLAogICAgICBtID0gY215a1sxXSAvIDEwMCwKICAgICAgeSA9IGNteWtbMl0gLyAxMDAsCiAgICAgIGsgPSBjbXlrWzNdIC8gMTAwLAogICAgICByLCBnLCBiOwoKICByID0gMSAtIE1hdGgubWluKDEsIGMgKiAoMSAtIGspICsgayk7CiAgZyA9IDEgLSBNYXRoLm1pbigxLCBtICogKDEgLSBrKSArIGspOwogIGIgPSAxIC0gTWF0aC5taW4oMSwgeSAqICgxIC0gaykgKyBrKTsKICByZXR1cm4gW3IgKiAyNTUsIGcgKiAyNTUsIGIgKiAyNTVdOwp9CgpmdW5jdGlvbiBjbXlrMmhzbChhcmdzKSB7CiAgcmV0dXJuIHJnYjJoc2woY215azJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBjbXlrMmhzdihhcmdzKSB7CiAgcmV0dXJuIHJnYjJoc3YoY215azJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBjbXlrMmh3YihhcmdzKSB7CiAgcmV0dXJuIHJnYjJod2IoY215azJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBjbXlrMmtleXdvcmQoYXJncykgewogIHJldHVybiByZ2Iya2V5d29yZChjbXlrMnJnYihhcmdzKSk7Cn0KCgpmdW5jdGlvbiB4eXoycmdiKHh5eikgewogIHZhciB4ID0geHl6WzBdIC8gMTAwLAogICAgICB5ID0geHl6WzFdIC8gMTAwLAogICAgICB6ID0geHl6WzJdIC8gMTAwLAogICAgICByLCBnLCBiOwoKICByID0gKHggKiAzLjI0MDYpICsgKHkgKiAtMS41MzcyKSArICh6ICogLTAuNDk4Nik7CiAgZyA9ICh4ICogLTAuOTY4OSkgKyAoeSAqIDEuODc1OCkgKyAoeiAqIDAuMDQxNSk7CiAgYiA9ICh4ICogMC4wNTU3KSArICh5ICogLTAuMjA0MCkgKyAoeiAqIDEuMDU3MCk7CgogIC8vIGFzc3VtZSBzUkdCCiAgciA9IHIgPiAwLjAwMzEzMDggPyAoKDEuMDU1ICogTWF0aC5wb3cociwgMS4wIC8gMi40KSkgLSAwLjA1NSkKICAgIDogciA9IChyICogMTIuOTIpOwoKICBnID0gZyA+IDAuMDAzMTMwOCA/ICgoMS4wNTUgKiBNYXRoLnBvdyhnLCAxLjAgLyAyLjQpKSAtIDAuMDU1KQogICAgOiBnID0gKGcgKiAxMi45Mik7CgogIGIgPSBiID4gMC4wMDMxMzA4ID8gKCgxLjA1NSAqIE1hdGgucG93KGIsIDEuMCAvIDIuNCkpIC0gMC4wNTUpCiAgICA6IGIgPSAoYiAqIDEyLjkyKTsKCiAgciA9IE1hdGgubWluKE1hdGgubWF4KDAsIHIpLCAxKTsKICBnID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgZyksIDEpOwogIGIgPSBNYXRoLm1pbihNYXRoLm1heCgwLCBiKSwgMSk7CgogIHJldHVybiBbciAqIDI1NSwgZyAqIDI1NSwgYiAqIDI1NV07Cn0KCmZ1bmN0aW9uIHh5ejJsYWIoeHl6KSB7CiAgdmFyIHggPSB4eXpbMF0sCiAgICAgIHkgPSB4eXpbMV0sCiAgICAgIHogPSB4eXpbMl0sCiAgICAgIGwsIGEsIGI7CgogIHggLz0gOTUuMDQ3OwogIHkgLz0gMTAwOwogIHogLz0gMTA4Ljg4MzsKCiAgeCA9IHggPiAwLjAwODg1NiA/IE1hdGgucG93KHgsIDEvMykgOiAoNy43ODcgKiB4KSArICgxNiAvIDExNik7CiAgeSA9IHkgPiAwLjAwODg1NiA/IE1hdGgucG93KHksIDEvMykgOiAoNy43ODcgKiB5KSArICgxNiAvIDExNik7CiAgeiA9IHogPiAwLjAwODg1NiA/IE1hdGgucG93KHosIDEvMykgOiAoNy43ODcgKiB6KSArICgxNiAvIDExNik7CgogIGwgPSAoMTE2ICogeSkgLSAxNjsKICBhID0gNTAwICogKHggLSB5KTsKICBiID0gMjAwICogKHkgLSB6KTsKCiAgcmV0dXJuIFtsLCBhLCBiXTsKfQoKZnVuY3Rpb24geHl6MmxjaChhcmdzKSB7CiAgcmV0dXJuIGxhYjJsY2goeHl6MmxhYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGxhYjJ4eXoobGFiKSB7CiAgdmFyIGwgPSBsYWJbMF0sCiAgICAgIGEgPSBsYWJbMV0sCiAgICAgIGIgPSBsYWJbMl0sCiAgICAgIHgsIHksIHosIHkyOwoKICBpZiAobCA8PSA4KSB7CiAgICB5ID0gKGwgKiAxMDApIC8gOTAzLjM7CiAgICB5MiA9ICg3Ljc4NyAqICh5IC8gMTAwKSkgKyAoMTYgLyAxMTYpOwogIH0gZWxzZSB7CiAgICB5ID0gMTAwICogTWF0aC5wb3coKGwgKyAxNikgLyAxMTYsIDMpOwogICAgeTIgPSBNYXRoLnBvdyh5IC8gMTAwLCAxLzMpOwogIH0KCiAgeCA9IHggLyA5NS4wNDcgPD0gMC4wMDg4NTYgPyB4ID0gKDk1LjA0NyAqICgoYSAvIDUwMCkgKyB5MiAtICgxNiAvIDExNikpKSAvIDcuNzg3IDogOTUuMDQ3ICogTWF0aC5wb3coKGEgLyA1MDApICsgeTIsIDMpOwoKICB6ID0geiAvIDEwOC44ODMgPD0gMC4wMDg4NTkgPyB6ID0gKDEwOC44ODMgKiAoeTIgLSAoYiAvIDIwMCkgLSAoMTYgLyAxMTYpKSkgLyA3Ljc4NyA6IDEwOC44ODMgKiBNYXRoLnBvdyh5MiAtIChiIC8gMjAwKSwgMyk7CgogIHJldHVybiBbeCwgeSwgel07Cn0KCmZ1bmN0aW9uIGxhYjJsY2gobGFiKSB7CiAgdmFyIGwgPSBsYWJbMF0sCiAgICAgIGEgPSBsYWJbMV0sCiAgICAgIGIgPSBsYWJbMl0sCiAgICAgIGhyLCBoLCBjOwoKICBociA9IE1hdGguYXRhbjIoYiwgYSk7CiAgaCA9IGhyICogMzYwIC8gMiAvIE1hdGguUEk7CiAgaWYgKGggPCAwKSB7CiAgICBoICs9IDM2MDsKICB9CiAgYyA9IE1hdGguc3FydChhICogYSArIGIgKiBiKTsKICByZXR1cm4gW2wsIGMsIGhdOwp9CgpmdW5jdGlvbiBsYWIycmdiKGFyZ3MpIHsKICByZXR1cm4geHl6MnJnYihsYWIyeHl6KGFyZ3MpKTsKfQoKZnVuY3Rpb24gbGNoMmxhYihsY2gpIHsKICB2YXIgbCA9IGxjaFswXSwKICAgICAgYyA9IGxjaFsxXSwKICAgICAgaCA9IGxjaFsyXSwKICAgICAgYSwgYiwgaHI7CgogIGhyID0gaCAvIDM2MCAqIDIgKiBNYXRoLlBJOwogIGEgPSBjICogTWF0aC5jb3MoaHIpOwogIGIgPSBjICogTWF0aC5zaW4oaHIpOwogIHJldHVybiBbbCwgYSwgYl07Cn0KCmZ1bmN0aW9uIGxjaDJ4eXooYXJncykgewogIHJldHVybiBsYWIyeHl6KGxjaDJsYWIoYXJncykpOwp9CgpmdW5jdGlvbiBsY2gycmdiKGFyZ3MpIHsKICByZXR1cm4gbGFiMnJnYihsY2gybGFiKGFyZ3MpKTsKfQoKZnVuY3Rpb24ga2V5d29yZDJyZ2Ioa2V5d29yZCkgewogIHJldHVybiBjc3NLZXl3b3Jkc1trZXl3b3JkXTsKfQoKZnVuY3Rpb24ga2V5d29yZDJoc2woYXJncykgewogIHJldHVybiByZ2IyaHNsKGtleXdvcmQycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24ga2V5d29yZDJoc3YoYXJncykgewogIHJldHVybiByZ2IyaHN2KGtleXdvcmQycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24ga2V5d29yZDJod2IoYXJncykgewogIHJldHVybiByZ2IyaHdiKGtleXdvcmQycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24ga2V5d29yZDJjbXlrKGFyZ3MpIHsKICByZXR1cm4gcmdiMmNteWsoa2V5d29yZDJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBrZXl3b3JkMmxhYihhcmdzKSB7CiAgcmV0dXJuIHJnYjJsYWIoa2V5d29yZDJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBrZXl3b3JkMnh5eihhcmdzKSB7CiAgcmV0dXJuIHJnYjJ4eXooa2V5d29yZDJyZ2IoYXJncykpOwp9Cgp2YXIgY3NzS2V5d29yZHMgPSB7CiAgYWxpY2VibHVlOiAgWzI0MCwyNDgsMjU1XSwKICBhbnRpcXVld2hpdGU6IFsyNTAsMjM1LDIxNV0sCiAgYXF1YTogWzAsMjU1LDI1NV0sCiAgYXF1YW1hcmluZTogWzEyNywyNTUsMjEyXSwKICBhenVyZTogIFsyNDAsMjU1LDI1NV0sCiAgYmVpZ2U6ICBbMjQ1LDI0NSwyMjBdLAogIGJpc3F1ZTogWzI1NSwyMjgsMTk2XSwKICBibGFjazogIFswLDAsMF0sCiAgYmxhbmNoZWRhbG1vbmQ6IFsyNTUsMjM1LDIwNV0sCiAgYmx1ZTogWzAsMCwyNTVdLAogIGJsdWV2aW9sZXQ6IFsxMzgsNDMsMjI2XSwKICBicm93bjogIFsxNjUsNDIsNDJdLAogIGJ1cmx5d29vZDogIFsyMjIsMTg0LDEzNV0sCiAgY2FkZXRibHVlOiAgWzk1LDE1OCwxNjBdLAogIGNoYXJ0cmV1c2U6IFsxMjcsMjU1LDBdLAogIGNob2NvbGF0ZTogIFsyMTAsMTA1LDMwXSwKICBjb3JhbDogIFsyNTUsMTI3LDgwXSwKICBjb3JuZmxvd2VyYmx1ZTogWzEwMCwxNDksMjM3XSwKICBjb3Juc2lsazogWzI1NSwyNDgsMjIwXSwKICBjcmltc29uOiAgWzIyMCwyMCw2MF0sCiAgY3lhbjogWzAsMjU1LDI1NV0sCiAgZGFya2JsdWU6IFswLDAsMTM5XSwKICBkYXJrY3lhbjogWzAsMTM5LDEzOV0sCiAgZGFya2dvbGRlbnJvZDogIFsxODQsMTM0LDExXSwKICBkYXJrZ3JheTogWzE2OSwxNjksMTY5XSwKICBkYXJrZ3JlZW46ICBbMCwxMDAsMF0sCiAgZGFya2dyZXk6IFsxNjksMTY5LDE2OV0sCiAgZGFya2toYWtpOiAgWzE4OSwxODMsMTA3XSwKICBkYXJrbWFnZW50YTogIFsxMzksMCwxMzldLAogIGRhcmtvbGl2ZWdyZWVuOiBbODUsMTA3LDQ3XSwKICBkYXJrb3JhbmdlOiBbMjU1LDE0MCwwXSwKICBkYXJrb3JjaGlkOiBbMTUzLDUwLDIwNF0sCiAgZGFya3JlZDogIFsxMzksMCwwXSwKICBkYXJrc2FsbW9uOiBbMjMzLDE1MCwxMjJdLAogIGRhcmtzZWFncmVlbjogWzE0MywxODgsMTQzXSwKICBkYXJrc2xhdGVibHVlOiAgWzcyLDYxLDEzOV0sCiAgZGFya3NsYXRlZ3JheTogIFs0Nyw3OSw3OV0sCiAgZGFya3NsYXRlZ3JleTogIFs0Nyw3OSw3OV0sCiAgZGFya3R1cnF1b2lzZTogIFswLDIwNiwyMDldLAogIGRhcmt2aW9sZXQ6IFsxNDgsMCwyMTFdLAogIGRlZXBwaW5rOiBbMjU1LDIwLDE0N10sCiAgZGVlcHNreWJsdWU6ICBbMCwxOTEsMjU1XSwKICBkaW1ncmF5OiAgWzEwNSwxMDUsMTA1XSwKICBkaW1ncmV5OiAgWzEwNSwxMDUsMTA1XSwKICBkb2RnZXJibHVlOiBbMzAsMTQ0LDI1NV0sCiAgZmlyZWJyaWNrOiAgWzE3OCwzNCwzNF0sCiAgZmxvcmFsd2hpdGU6ICBbMjU1LDI1MCwyNDBdLAogIGZvcmVzdGdyZWVuOiAgWzM0LDEzOSwzNF0sCiAgZnVjaHNpYTogIFsyNTUsMCwyNTVdLAogIGdhaW5zYm9ybzogIFsyMjAsMjIwLDIyMF0sCiAgZ2hvc3R3aGl0ZTogWzI0OCwyNDgsMjU1XSwKICBnb2xkOiBbMjU1LDIxNSwwXSwKICBnb2xkZW5yb2Q6ICBbMjE4LDE2NSwzMl0sCiAgZ3JheTogWzEyOCwxMjgsMTI4XSwKICBncmVlbjogIFswLDEyOCwwXSwKICBncmVlbnllbGxvdzogIFsxNzMsMjU1LDQ3XSwKICBncmV5OiBbMTI4LDEyOCwxMjhdLAogIGhvbmV5ZGV3OiBbMjQwLDI1NSwyNDBdLAogIGhvdHBpbms6ICBbMjU1LDEwNSwxODBdLAogIGluZGlhbnJlZDogIFsyMDUsOTIsOTJdLAogIGluZGlnbzogWzc1LDAsMTMwXSwKICBpdm9yeTogIFsyNTUsMjU1LDI0MF0sCiAga2hha2k6ICBbMjQwLDIzMCwxNDBdLAogIGxhdmVuZGVyOiBbMjMwLDIzMCwyNTBdLAogIGxhdmVuZGVyYmx1c2g6ICBbMjU1LDI0MCwyNDVdLAogIGxhd25ncmVlbjogIFsxMjQsMjUyLDBdLAogIGxlbW9uY2hpZmZvbjogWzI1NSwyNTAsMjA1XSwKICBsaWdodGJsdWU6ICBbMTczLDIxNiwyMzBdLAogIGxpZ2h0Y29yYWw6IFsyNDAsMTI4LDEyOF0sCiAgbGlnaHRjeWFuOiAgWzIyNCwyNTUsMjU1XSwKICBsaWdodGdvbGRlbnJvZHllbGxvdzogWzI1MCwyNTAsMjEwXSwKICBsaWdodGdyYXk6ICBbMjExLDIxMSwyMTFdLAogIGxpZ2h0Z3JlZW46IFsxNDQsMjM4LDE0NF0sCiAgbGlnaHRncmV5OiAgWzIxMSwyMTEsMjExXSwKICBsaWdodHBpbms6ICBbMjU1LDE4MiwxOTNdLAogIGxpZ2h0c2FsbW9uOiAgWzI1NSwxNjAsMTIyXSwKICBsaWdodHNlYWdyZWVuOiAgWzMyLDE3OCwxNzBdLAogIGxpZ2h0c2t5Ymx1ZTogWzEzNSwyMDYsMjUwXSwKICBsaWdodHNsYXRlZ3JheTogWzExOSwxMzYsMTUzXSwKICBsaWdodHNsYXRlZ3JleTogWzExOSwxMzYsMTUzXSwKICBsaWdodHN0ZWVsYmx1ZTogWzE3NiwxOTYsMjIyXSwKICBsaWdodHllbGxvdzogIFsyNTUsMjU1LDIyNF0sCiAgbGltZTogWzAsMjU1LDBdLAogIGxpbWVncmVlbjogIFs1MCwyMDUsNTBdLAogIGxpbmVuOiAgWzI1MCwyNDAsMjMwXSwKICBtYWdlbnRhOiAgWzI1NSwwLDI1NV0sCiAgbWFyb29uOiBbMTI4LDAsMF0sCiAgbWVkaXVtYXF1YW1hcmluZTogWzEwMiwyMDUsMTcwXSwKICBtZWRpdW1ibHVlOiBbMCwwLDIwNV0sCiAgbWVkaXVtb3JjaGlkOiBbMTg2LDg1LDIxMV0sCiAgbWVkaXVtcHVycGxlOiBbMTQ3LDExMiwyMTldLAogIG1lZGl1bXNlYWdyZWVuOiBbNjAsMTc5LDExM10sCiAgbWVkaXVtc2xhdGVibHVlOiAgWzEyMywxMDQsMjM4XSwKICBtZWRpdW1zcHJpbmdncmVlbjogIFswLDI1MCwxNTRdLAogIG1lZGl1bXR1cnF1b2lzZTogIFs3MiwyMDksMjA0XSwKICBtZWRpdW12aW9sZXRyZWQ6ICBbMTk5LDIxLDEzM10sCiAgbWlkbmlnaHRibHVlOiBbMjUsMjUsMTEyXSwKICBtaW50Y3JlYW06ICBbMjQ1LDI1NSwyNTBdLAogIG1pc3R5cm9zZTogIFsyNTUsMjI4LDIyNV0sCiAgbW9jY2FzaW46IFsyNTUsMjI4LDE4MV0sCiAgbmF2YWpvd2hpdGU6ICBbMjU1LDIyMiwxNzNdLAogIG5hdnk6IFswLDAsMTI4XSwKICBvbGRsYWNlOiAgWzI1MywyNDUsMjMwXSwKICBvbGl2ZTogIFsxMjgsMTI4LDBdLAogIG9saXZlZHJhYjogIFsxMDcsMTQyLDM1XSwKICBvcmFuZ2U6IFsyNTUsMTY1LDBdLAogIG9yYW5nZXJlZDogIFsyNTUsNjksMF0sCiAgb3JjaGlkOiBbMjE4LDExMiwyMTRdLAogIHBhbGVnb2xkZW5yb2Q6ICBbMjM4LDIzMiwxNzBdLAogIHBhbGVncmVlbjogIFsxNTIsMjUxLDE1Ml0sCiAgcGFsZXR1cnF1b2lzZTogIFsxNzUsMjM4LDIzOF0sCiAgcGFsZXZpb2xldHJlZDogIFsyMTksMTEyLDE0N10sCiAgcGFwYXlhd2hpcDogWzI1NSwyMzksMjEzXSwKICBwZWFjaHB1ZmY6ICBbMjU1LDIxOCwxODVdLAogIHBlcnU6IFsyMDUsMTMzLDYzXSwKICBwaW5rOiBbMjU1LDE5MiwyMDNdLAogIHBsdW06IFsyMjEsMTYwLDIyMV0sCiAgcG93ZGVyYmx1ZTogWzE3NiwyMjQsMjMwXSwKICBwdXJwbGU6IFsxMjgsMCwxMjhdLAogIHJlYmVjY2FwdXJwbGU6IFsxMDIsIDUxLCAxNTNdLAogIHJlZDogIFsyNTUsMCwwXSwKICByb3N5YnJvd246ICBbMTg4LDE0MywxNDNdLAogIHJveWFsYmx1ZTogIFs2NSwxMDUsMjI1XSwKICBzYWRkbGVicm93bjogIFsxMzksNjksMTldLAogIHNhbG1vbjogWzI1MCwxMjgsMTE0XSwKICBzYW5keWJyb3duOiBbMjQ0LDE2NCw5Nl0sCiAgc2VhZ3JlZW46IFs0NiwxMzksODddLAogIHNlYXNoZWxsOiBbMjU1LDI0NSwyMzhdLAogIHNpZW5uYTogWzE2MCw4Miw0NV0sCiAgc2lsdmVyOiBbMTkyLDE5MiwxOTJdLAogIHNreWJsdWU6ICBbMTM1LDIwNiwyMzVdLAogIHNsYXRlYmx1ZTogIFsxMDYsOTAsMjA1XSwKICBzbGF0ZWdyYXk6ICBbMTEyLDEyOCwxNDRdLAogIHNsYXRlZ3JleTogIFsxMTIsMTI4LDE0NF0sCiAgc25vdzogWzI1NSwyNTAsMjUwXSwKICBzcHJpbmdncmVlbjogIFswLDI1NSwxMjddLAogIHN0ZWVsYmx1ZTogIFs3MCwxMzAsMTgwXSwKICB0YW46ICBbMjEwLDE4MCwxNDBdLAogIHRlYWw6IFswLDEyOCwxMjhdLAogIHRoaXN0bGU6ICBbMjE2LDE5MSwyMTZdLAogIHRvbWF0bzogWzI1NSw5OSw3MV0sCiAgdHVycXVvaXNlOiAgWzY0LDIyNCwyMDhdLAogIHZpb2xldDogWzIzOCwxMzAsMjM4XSwKICB3aGVhdDogIFsyNDUsMjIyLDE3OV0sCiAgd2hpdGU6ICBbMjU1LDI1NSwyNTVdLAogIHdoaXRlc21va2U6IFsyNDUsMjQ1LDI0NV0sCiAgeWVsbG93OiBbMjU1LDI1NSwwXSwKICB5ZWxsb3dncmVlbjogIFsxNTQsMjA1LDUwXQp9OwoKdmFyIHJldmVyc2VLZXl3b3JkcyA9IHt9Owpmb3IgKHZhciBrZXkgaW4gY3NzS2V5d29yZHMpIHsKICByZXZlcnNlS2V5d29yZHNbSlNPTi5zdHJpbmdpZnkoY3NzS2V5d29yZHNba2V5XSldID0ga2V5Owp9Cgp9LHt9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKdmFyIGNvbnZlcnNpb25zID0gcmVxdWlyZSgiLi9jb252ZXJzaW9ucyIpOwoKdmFyIGNvbnZlcnQgPSBmdW5jdGlvbigpIHsKICAgcmV0dXJuIG5ldyBDb252ZXJ0ZXIoKTsKfQoKZm9yICh2YXIgZnVuYyBpbiBjb252ZXJzaW9ucykgewogIC8vIGV4cG9ydCBSYXcgdmVyc2lvbnMKICBjb252ZXJ0W2Z1bmMgKyAiUmF3Il0gPSAgKGZ1bmN0aW9uKGZ1bmMpIHsKICAgIC8vIGFjY2VwdCBhcnJheSBvciBwbGFpbiBhcmdzCiAgICByZXR1cm4gZnVuY3Rpb24oYXJnKSB7CiAgICAgIGlmICh0eXBlb2YgYXJnID09ICJudW1iZXIiKQogICAgICAgIGFyZyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7CiAgICAgIHJldHVybiBjb252ZXJzaW9uc1tmdW5jXShhcmcpOwogICAgfQogIH0pKGZ1bmMpOwoKICB2YXIgcGFpciA9IC8oXHcrKTIoXHcrKS8uZXhlYyhmdW5jKSwKICAgICAgZnJvbSA9IHBhaXJbMV0sCiAgICAgIHRvID0gcGFpclsyXTsKCiAgLy8gZXhwb3J0IHJnYjJoc2wgYW5kIFsicmdiIl1bImhzbCJdCiAgY29udmVydFtmcm9tXSA9IGNvbnZlcnRbZnJvbV0gfHwge307CgogIGNvbnZlcnRbZnJvbV1bdG9dID0gY29udmVydFtmdW5jXSA9IChmdW5jdGlvbihmdW5jKSB7IAogICAgcmV0dXJuIGZ1bmN0aW9uKGFyZykgewogICAgICBpZiAodHlwZW9mIGFyZyA9PSAibnVtYmVyIikKICAgICAgICBhcmcgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwogICAgICAKICAgICAgdmFyIHZhbCA9IGNvbnZlcnNpb25zW2Z1bmNdKGFyZyk7CiAgICAgIGlmICh0eXBlb2YgdmFsID09ICJzdHJpbmciIHx8IHZhbCA9PT0gdW5kZWZpbmVkKQogICAgICAgIHJldHVybiB2YWw7IC8vIGtleXdvcmQKCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsLmxlbmd0aDsgaSsrKQogICAgICAgIHZhbFtpXSA9IE1hdGgucm91bmQodmFsW2ldKTsKICAgICAgcmV0dXJuIHZhbDsKICAgIH0KICB9KShmdW5jKTsKfQoKCi8qIENvbnZlcnRlciBkb2VzIGxhenkgY29udmVyc2lvbiBhbmQgY2FjaGluZyAqLwp2YXIgQ29udmVydGVyID0gZnVuY3Rpb24oKSB7CiAgIHRoaXMuY29udnMgPSB7fTsKfTsKCi8qIEVpdGhlciBnZXQgdGhlIHZhbHVlcyBmb3IgYSBzcGFjZSBvcgogIHNldCB0aGUgdmFsdWVzIGZvciBhIHNwYWNlLCBkZXBlbmRpbmcgb24gYXJncyAqLwpDb252ZXJ0ZXIucHJvdG90eXBlLnJvdXRlU3BhY2UgPSBmdW5jdGlvbihzcGFjZSwgYXJncykgewogICB2YXIgdmFsdWVzID0gYXJnc1swXTsKICAgaWYgKHZhbHVlcyA9PT0gdW5kZWZpbmVkKSB7CiAgICAgIC8vIGNvbG9yLnJnYigpCiAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlcyhzcGFjZSk7CiAgIH0KICAgLy8gY29sb3IucmdiKDEwLCAxMCwgMTApCiAgIGlmICh0eXBlb2YgdmFsdWVzID09ICJudW1iZXIiKSB7CiAgICAgIHZhbHVlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpOyAgICAgICAgCiAgIH0KCiAgIHJldHVybiB0aGlzLnNldFZhbHVlcyhzcGFjZSwgdmFsdWVzKTsKfTsKICAKLyogU2V0IHRoZSB2YWx1ZXMgZm9yIGEgc3BhY2UsIGludmFsaWRhdGluZyBjYWNoZSAqLwpDb252ZXJ0ZXIucHJvdG90eXBlLnNldFZhbHVlcyA9IGZ1bmN0aW9uKHNwYWNlLCB2YWx1ZXMpIHsKICAgdGhpcy5zcGFjZSA9IHNwYWNlOwogICB0aGlzLmNvbnZzID0ge307CiAgIHRoaXMuY29udnNbc3BhY2VdID0gdmFsdWVzOwogICByZXR1cm4gdGhpczsKfTsKCi8qIEdldCB0aGUgdmFsdWVzIGZvciBhIHNwYWNlLiBJZiB0aGVyZSdzIGFscmVhZHkKICBhIGNvbnZlcnNpb24gZm9yIHRoZSBzcGFjZSwgZmV0Y2ggaXQsIG90aGVyd2lzZQogIGNvbXB1dGUgaXQgKi8KQ29udmVydGVyLnByb3RvdHlwZS5nZXRWYWx1ZXMgPSBmdW5jdGlvbihzcGFjZSkgewogICB2YXIgdmFscyA9IHRoaXMuY29udnNbc3BhY2VdOwogICBpZiAoIXZhbHMpIHsKICAgICAgdmFyIGZzcGFjZSA9IHRoaXMuc3BhY2UsCiAgICAgICAgICBmcm9tID0gdGhpcy5jb252c1tmc3BhY2VdOwogICAgICB2YWxzID0gY29udmVydFtmc3BhY2VdW3NwYWNlXShmcm9tKTsKCiAgICAgIHRoaXMuY29udnNbc3BhY2VdID0gdmFsczsKICAgfQogIHJldHVybiB2YWxzOwp9OwoKWyJyZ2IiLCAiaHNsIiwgImhzdiIsICJjbXlrIiwgImtleXdvcmQiXS5mb3JFYWNoKGZ1bmN0aW9uKHNwYWNlKSB7CiAgIENvbnZlcnRlci5wcm90b3R5cGVbc3BhY2VdID0gZnVuY3Rpb24odmFscykgewogICAgICByZXR1cm4gdGhpcy5yb3V0ZVNwYWNlKHNwYWNlLCBhcmd1bWVudHMpOwogICB9Cn0pOwoKbW9kdWxlLmV4cG9ydHMgPSBjb252ZXJ0Owp9LHsiLi9jb252ZXJzaW9ucyI6NH1dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewptb2R1bGUuZXhwb3J0cyA9IHsNCgkiYWxpY2VibHVlIjogWzI0MCwgMjQ4LCAyNTVdLA0KCSJhbnRpcXVld2hpdGUiOiBbMjUwLCAyMzUsIDIxNV0sDQoJImFxdWEiOiBbMCwgMjU1LCAyNTVdLA0KCSJhcXVhbWFyaW5lIjogWzEyNywgMjU1LCAyMTJdLA0KCSJhenVyZSI6IFsyNDAsIDI1NSwgMjU1XSwNCgkiYmVpZ2UiOiBbMjQ1LCAyNDUsIDIyMF0sDQoJImJpc3F1ZSI6IFsyNTUsIDIyOCwgMTk2XSwNCgkiYmxhY2siOiBbMCwgMCwgMF0sDQoJImJsYW5jaGVkYWxtb25kIjogWzI1NSwgMjM1LCAyMDVdLA0KCSJibHVlIjogWzAsIDAsIDI1NV0sDQoJImJsdWV2aW9sZXQiOiBbMTM4LCA0MywgMjI2XSwNCgkiYnJvd24iOiBbMTY1LCA0MiwgNDJdLA0KCSJidXJseXdvb2QiOiBbMjIyLCAxODQsIDEzNV0sDQoJImNhZGV0Ymx1ZSI6IFs5NSwgMTU4LCAxNjBdLA0KCSJjaGFydHJldXNlIjogWzEyNywgMjU1LCAwXSwNCgkiY2hvY29sYXRlIjogWzIxMCwgMTA1LCAzMF0sDQoJImNvcmFsIjogWzI1NSwgMTI3LCA4MF0sDQoJImNvcm5mbG93ZXJibHVlIjogWzEwMCwgMTQ5LCAyMzddLA0KCSJjb3Juc2lsayI6IFsyNTUsIDI0OCwgMjIwXSwNCgkiY3JpbXNvbiI6IFsyMjAsIDIwLCA2MF0sDQoJImN5YW4iOiBbMCwgMjU1LCAyNTVdLA0KCSJkYXJrYmx1ZSI6IFswLCAwLCAxMzldLA0KCSJkYXJrY3lhbiI6IFswLCAxMzksIDEzOV0sDQoJImRhcmtnb2xkZW5yb2QiOiBbMTg0LCAxMzQsIDExXSwNCgkiZGFya2dyYXkiOiBbMTY5LCAxNjksIDE2OV0sDQoJImRhcmtncmVlbiI6IFswLCAxMDAsIDBdLA0KCSJkYXJrZ3JleSI6IFsxNjksIDE2OSwgMTY5XSwNCgkiZGFya2toYWtpIjogWzE4OSwgMTgzLCAxMDddLA0KCSJkYXJrbWFnZW50YSI6IFsxMzksIDAsIDEzOV0sDQoJImRhcmtvbGl2ZWdyZWVuIjogWzg1LCAxMDcsIDQ3XSwNCgkiZGFya29yYW5nZSI6IFsyNTUsIDE0MCwgMF0sDQoJImRhcmtvcmNoaWQiOiBbMTUzLCA1MCwgMjA0XSwNCgkiZGFya3JlZCI6IFsxMzksIDAsIDBdLA0KCSJkYXJrc2FsbW9uIjogWzIzMywgMTUwLCAxMjJdLA0KCSJkYXJrc2VhZ3JlZW4iOiBbMTQzLCAxODgsIDE0M10sDQoJImRhcmtzbGF0ZWJsdWUiOiBbNzIsIDYxLCAxMzldLA0KCSJkYXJrc2xhdGVncmF5IjogWzQ3LCA3OSwgNzldLA0KCSJkYXJrc2xhdGVncmV5IjogWzQ3LCA3OSwgNzldLA0KCSJkYXJrdHVycXVvaXNlIjogWzAsIDIwNiwgMjA5XSwNCgkiZGFya3Zpb2xldCI6IFsxNDgsIDAsIDIxMV0sDQoJImRlZXBwaW5rIjogWzI1NSwgMjAsIDE0N10sDQoJImRlZXBza3libHVlIjogWzAsIDE5MSwgMjU1XSwNCgkiZGltZ3JheSI6IFsxMDUsIDEwNSwgMTA1XSwNCgkiZGltZ3JleSI6IFsxMDUsIDEwNSwgMTA1XSwNCgkiZG9kZ2VyYmx1ZSI6IFszMCwgMTQ0LCAyNTVdLA0KCSJmaXJlYnJpY2siOiBbMTc4LCAzNCwgMzRdLA0KCSJmbG9yYWx3aGl0ZSI6IFsyNTUsIDI1MCwgMjQwXSwNCgkiZm9yZXN0Z3JlZW4iOiBbMzQsIDEzOSwgMzRdLA0KCSJmdWNoc2lhIjogWzI1NSwgMCwgMjU1XSwNCgkiZ2FpbnNib3JvIjogWzIyMCwgMjIwLCAyMjBdLA0KCSJnaG9zdHdoaXRlIjogWzI0OCwgMjQ4LCAyNTVdLA0KCSJnb2xkIjogWzI1NSwgMjE1LCAwXSwNCgkiZ29sZGVucm9kIjogWzIxOCwgMTY1LCAzMl0sDQoJImdyYXkiOiBbMTI4LCAxMjgsIDEyOF0sDQoJImdyZWVuIjogWzAsIDEyOCwgMF0sDQoJImdyZWVueWVsbG93IjogWzE3MywgMjU1LCA0N10sDQoJImdyZXkiOiBbMTI4LCAxMjgsIDEyOF0sDQoJImhvbmV5ZGV3IjogWzI0MCwgMjU1LCAyNDBdLA0KCSJob3RwaW5rIjogWzI1NSwgMTA1LCAxODBdLA0KCSJpbmRpYW5yZWQiOiBbMjA1LCA5MiwgOTJdLA0KCSJpbmRpZ28iOiBbNzUsIDAsIDEzMF0sDQoJIml2b3J5IjogWzI1NSwgMjU1LCAyNDBdLA0KCSJraGFraSI6IFsyNDAsIDIzMCwgMTQwXSwNCgkibGF2ZW5kZXIiOiBbMjMwLCAyMzAsIDI1MF0sDQoJImxhdmVuZGVyYmx1c2giOiBbMjU1LCAyNDAsIDI0NV0sDQoJImxhd25ncmVlbiI6IFsxMjQsIDI1MiwgMF0sDQoJImxlbW9uY2hpZmZvbiI6IFsyNTUsIDI1MCwgMjA1XSwNCgkibGlnaHRibHVlIjogWzE3MywgMjE2LCAyMzBdLA0KCSJsaWdodGNvcmFsIjogWzI0MCwgMTI4LCAxMjhdLA0KCSJsaWdodGN5YW4iOiBbMjI0LCAyNTUsIDI1NV0sDQoJImxpZ2h0Z29sZGVucm9keWVsbG93IjogWzI1MCwgMjUwLCAyMTBdLA0KCSJsaWdodGdyYXkiOiBbMjExLCAyMTEsIDIxMV0sDQoJImxpZ2h0Z3JlZW4iOiBbMTQ0LCAyMzgsIDE0NF0sDQoJImxpZ2h0Z3JleSI6IFsyMTEsIDIxMSwgMjExXSwNCgkibGlnaHRwaW5rIjogWzI1NSwgMTgyLCAxOTNdLA0KCSJsaWdodHNhbG1vbiI6IFsyNTUsIDE2MCwgMTIyXSwNCgkibGlnaHRzZWFncmVlbiI6IFszMiwgMTc4LCAxNzBdLA0KCSJsaWdodHNreWJsdWUiOiBbMTM1LCAyMDYsIDI1MF0sDQoJImxpZ2h0c2xhdGVncmF5IjogWzExOSwgMTM2LCAxNTNdLA0KCSJsaWdodHNsYXRlZ3JleSI6IFsxMTksIDEzNiwgMTUzXSwNCgkibGlnaHRzdGVlbGJsdWUiOiBbMTc2LCAxOTYsIDIyMl0sDQoJImxpZ2h0eWVsbG93IjogWzI1NSwgMjU1LCAyMjRdLA0KCSJsaW1lIjogWzAsIDI1NSwgMF0sDQoJImxpbWVncmVlbiI6IFs1MCwgMjA1LCA1MF0sDQoJImxpbmVuIjogWzI1MCwgMjQwLCAyMzBdLA0KCSJtYWdlbnRhIjogWzI1NSwgMCwgMjU1XSwNCgkibWFyb29uIjogWzEyOCwgMCwgMF0sDQoJIm1lZGl1bWFxdWFtYXJpbmUiOiBbMTAyLCAyMDUsIDE3MF0sDQoJIm1lZGl1bWJsdWUiOiBbMCwgMCwgMjA1XSwNCgkibWVkaXVtb3JjaGlkIjogWzE4NiwgODUsIDIxMV0sDQoJIm1lZGl1bXB1cnBsZSI6IFsxNDcsIDExMiwgMjE5XSwNCgkibWVkaXVtc2VhZ3JlZW4iOiBbNjAsIDE3OSwgMTEzXSwNCgkibWVkaXVtc2xhdGVibHVlIjogWzEyMywgMTA0LCAyMzhdLA0KCSJtZWRpdW1zcHJpbmdncmVlbiI6IFswLCAyNTAsIDE1NF0sDQoJIm1lZGl1bXR1cnF1b2lzZSI6IFs3MiwgMjA5LCAyMDRdLA0KCSJtZWRpdW12aW9sZXRyZWQiOiBbMTk5LCAyMSwgMTMzXSwNCgkibWlkbmlnaHRibHVlIjogWzI1LCAyNSwgMTEyXSwNCgkibWludGNyZWFtIjogWzI0NSwgMjU1LCAyNTBdLA0KCSJtaXN0eXJvc2UiOiBbMjU1LCAyMjgsIDIyNV0sDQoJIm1vY2Nhc2luIjogWzI1NSwgMjI4LCAxODFdLA0KCSJuYXZham93aGl0ZSI6IFsyNTUsIDIyMiwgMTczXSwNCgkibmF2eSI6IFswLCAwLCAxMjhdLA0KCSJvbGRsYWNlIjogWzI1MywgMjQ1LCAyMzBdLA0KCSJvbGl2ZSI6IFsxMjgsIDEyOCwgMF0sDQoJIm9saXZlZHJhYiI6IFsxMDcsIDE0MiwgMzVdLA0KCSJvcmFuZ2UiOiBbMjU1LCAxNjUsIDBdLA0KCSJvcmFuZ2VyZWQiOiBbMjU1LCA2OSwgMF0sDQoJIm9yY2hpZCI6IFsyMTgsIDExMiwgMjE0XSwNCgkicGFsZWdvbGRlbnJvZCI6IFsyMzgsIDIzMiwgMTcwXSwNCgkicGFsZWdyZWVuIjogWzE1MiwgMjUxLCAxNTJdLA0KCSJwYWxldHVycXVvaXNlIjogWzE3NSwgMjM4LCAyMzhdLA0KCSJwYWxldmlvbGV0cmVkIjogWzIxOSwgMTEyLCAxNDddLA0KCSJwYXBheWF3aGlwIjogWzI1NSwgMjM5LCAyMTNdLA0KCSJwZWFjaHB1ZmYiOiBbMjU1LCAyMTgsIDE4NV0sDQoJInBlcnUiOiBbMjA1LCAxMzMsIDYzXSwNCgkicGluayI6IFsyNTUsIDE5MiwgMjAzXSwNCgkicGx1bSI6IFsyMjEsIDE2MCwgMjIxXSwNCgkicG93ZGVyYmx1ZSI6IFsxNzYsIDIyNCwgMjMwXSwNCgkicHVycGxlIjogWzEyOCwgMCwgMTI4XSwNCgkicmViZWNjYXB1cnBsZSI6IFsxMDIsIDUxLCAxNTNdLA0KCSJyZWQiOiBbMjU1LCAwLCAwXSwNCgkicm9zeWJyb3duIjogWzE4OCwgMTQzLCAxNDNdLA0KCSJyb3lhbGJsdWUiOiBbNjUsIDEwNSwgMjI1XSwNCgkic2FkZGxlYnJvd24iOiBbMTM5LCA2OSwgMTldLA0KCSJzYWxtb24iOiBbMjUwLCAxMjgsIDExNF0sDQoJInNhbmR5YnJvd24iOiBbMjQ0LCAxNjQsIDk2XSwNCgkic2VhZ3JlZW4iOiBbNDYsIDEzOSwgODddLA0KCSJzZWFzaGVsbCI6IFsyNTUsIDI0NSwgMjM4XSwNCgkic2llbm5hIjogWzE2MCwgODIsIDQ1XSwNCgkic2lsdmVyIjogWzE5MiwgMTkyLCAxOTJdLA0KCSJza3libHVlIjogWzEzNSwgMjA2LCAyMzVdLA0KCSJzbGF0ZWJsdWUiOiBbMTA2LCA5MCwgMjA1XSwNCgkic2xhdGVncmF5IjogWzExMiwgMTI4LCAxNDRdLA0KCSJzbGF0ZWdyZXkiOiBbMTEyLCAxMjgsIDE0NF0sDQoJInNub3ciOiBbMjU1LCAyNTAsIDI1MF0sDQoJInNwcmluZ2dyZWVuIjogWzAsIDI1NSwgMTI3XSwNCgkic3RlZWxibHVlIjogWzcwLCAxMzAsIDE4MF0sDQoJInRhbiI6IFsyMTAsIDE4MCwgMTQwXSwNCgkidGVhbCI6IFswLCAxMjgsIDEyOF0sDQoJInRoaXN0bGUiOiBbMjE2LCAxOTEsIDIxNl0sDQoJInRvbWF0byI6IFsyNTUsIDk5LCA3MV0sDQoJInR1cnF1b2lzZSI6IFs2NCwgMjI0LCAyMDhdLA0KCSJ2aW9sZXQiOiBbMjM4LCAxMzAsIDIzOF0sDQoJIndoZWF0IjogWzI0NSwgMjIyLCAxNzldLA0KCSJ3aGl0ZSI6IFsyNTUsIDI1NSwgMjU1XSwNCgkid2hpdGVzbW9rZSI6IFsyNDUsIDI0NSwgMjQ1XSwNCgkieWVsbG93IjogWzI1NSwgMjU1LCAwXSwNCgkieWVsbG93Z3JlZW4iOiBbMTU0LCAyMDUsIDUwXQ0KfTsKfSx7fV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CnZhciBDaGFydCA9IHJlcXVpcmUoJy4vY29yZS9jb3JlLmpzJykoKTsNCg0KcmVxdWlyZSgnLi9jb3JlL2NvcmUuaGVscGVycycpKENoYXJ0KTsNCnJlcXVpcmUoJy4vY29yZS9jb3JlLmVsZW1lbnQnKShDaGFydCk7DQpyZXF1aXJlKCcuL2NvcmUvY29yZS5hbmltYXRpb24nKShDaGFydCk7DQpyZXF1aXJlKCcuL2NvcmUvY29yZS5jb250cm9sbGVyJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jb3JlL2NvcmUuZGF0YXNldENvbnRyb2xsZXInKShDaGFydCk7DQpyZXF1aXJlKCcuL2NvcmUvY29yZS5sYXlvdXRTZXJ2aWNlJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jb3JlL2NvcmUubGVnZW5kJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jb3JlL2NvcmUucGx1Z2luLmpzJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jb3JlL2NvcmUuc2NhbGUnKShDaGFydCk7DQpyZXF1aXJlKCcuL2NvcmUvY29yZS5zY2FsZVNlcnZpY2UnKShDaGFydCk7DQpyZXF1aXJlKCcuL2NvcmUvY29yZS50aXRsZScpKENoYXJ0KTsNCnJlcXVpcmUoJy4vY29yZS9jb3JlLnRvb2x0aXAnKShDaGFydCk7DQoNCnJlcXVpcmUoJy4vZWxlbWVudHMvZWxlbWVudC5hcmMnKShDaGFydCk7DQpyZXF1aXJlKCcuL2VsZW1lbnRzL2VsZW1lbnQubGluZScpKENoYXJ0KTsNCnJlcXVpcmUoJy4vZWxlbWVudHMvZWxlbWVudC5wb2ludCcpKENoYXJ0KTsNCnJlcXVpcmUoJy4vZWxlbWVudHMvZWxlbWVudC5yZWN0YW5nbGUnKShDaGFydCk7DQoNCnJlcXVpcmUoJy4vc2NhbGVzL3NjYWxlLmNhdGVnb3J5JykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9zY2FsZXMvc2NhbGUubGluZWFyJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9zY2FsZXMvc2NhbGUubG9nYXJpdGhtaWMnKShDaGFydCk7DQpyZXF1aXJlKCcuL3NjYWxlcy9zY2FsZS5yYWRpYWxMaW5lYXInKShDaGFydCk7DQpyZXF1aXJlKCcuL3NjYWxlcy9zY2FsZS50aW1lJykoQ2hhcnQpOw0KDQovLyBDb250cm9sbGVycyBtdXN0IGJlIGxvYWRlZCBhZnRlciBlbGVtZW50cw0KLy8gU2VlIENoYXJ0LmNvcmUuZGF0YXNldENvbnRyb2xsZXIuZGF0YUVsZW1lbnRUeXBlDQpyZXF1aXJlKCcuL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIuYmFyJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jb250cm9sbGVycy9jb250cm9sbGVyLmJ1YmJsZScpKENoYXJ0KTsNCnJlcXVpcmUoJy4vY29udHJvbGxlcnMvY29udHJvbGxlci5kb3VnaG51dCcpKENoYXJ0KTsNCnJlcXVpcmUoJy4vY29udHJvbGxlcnMvY29udHJvbGxlci5saW5lJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jb250cm9sbGVycy9jb250cm9sbGVyLnBvbGFyQXJlYScpKENoYXJ0KTsNCnJlcXVpcmUoJy4vY29udHJvbGxlcnMvY29udHJvbGxlci5yYWRhcicpKENoYXJ0KTsNCg0KcmVxdWlyZSgnLi9jaGFydHMvQ2hhcnQuQmFyJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jaGFydHMvQ2hhcnQuQnViYmxlJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jaGFydHMvQ2hhcnQuRG91Z2hudXQnKShDaGFydCk7DQpyZXF1aXJlKCcuL2NoYXJ0cy9DaGFydC5MaW5lJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jaGFydHMvQ2hhcnQuUG9sYXJBcmVhJykoQ2hhcnQpOw0KcmVxdWlyZSgnLi9jaGFydHMvQ2hhcnQuUmFkYXInKShDaGFydCk7DQpyZXF1aXJlKCcuL2NoYXJ0cy9DaGFydC5TY2F0dGVyJykoQ2hhcnQpOw0KDQp3aW5kb3cuQ2hhcnQgPSBtb2R1bGUuZXhwb3J0cyA9IENoYXJ0Ow0KCn0seyIuL2NoYXJ0cy9DaGFydC5CYXIiOjgsIi4vY2hhcnRzL0NoYXJ0LkJ1YmJsZSI6OSwiLi9jaGFydHMvQ2hhcnQuRG91Z2hudXQiOjEwLCIuL2NoYXJ0cy9DaGFydC5MaW5lIjoxMSwiLi9jaGFydHMvQ2hhcnQuUG9sYXJBcmVhIjoxMiwiLi9jaGFydHMvQ2hhcnQuUmFkYXIiOjEzLCIuL2NoYXJ0cy9DaGFydC5TY2F0dGVyIjoxNCwiLi9jb250cm9sbGVycy9jb250cm9sbGVyLmJhciI6MTUsIi4vY29udHJvbGxlcnMvY29udHJvbGxlci5idWJibGUiOjE2LCIuL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIuZG91Z2hudXQiOjE3LCIuL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIubGluZSI6MTgsIi4vY29udHJvbGxlcnMvY29udHJvbGxlci5wb2xhckFyZWEiOjE5LCIuL2NvbnRyb2xsZXJzL2NvbnRyb2xsZXIucmFkYXIiOjIwLCIuL2NvcmUvY29yZS5hbmltYXRpb24iOjIxLCIuL2NvcmUvY29yZS5jb250cm9sbGVyIjoyMiwiLi9jb3JlL2NvcmUuZGF0YXNldENvbnRyb2xsZXIiOjIzLCIuL2NvcmUvY29yZS5lbGVtZW50IjoyNCwiLi9jb3JlL2NvcmUuaGVscGVycyI6MjUsIi4vY29yZS9jb3JlLmpzIjoyNiwiLi9jb3JlL2NvcmUubGF5b3V0U2VydmljZSI6MjcsIi4vY29yZS9jb3JlLmxlZ2VuZCI6MjgsIi4vY29yZS9jb3JlLnBsdWdpbi5qcyI6MjksIi4vY29yZS9jb3JlLnNjYWxlIjozMCwiLi9jb3JlL2NvcmUuc2NhbGVTZXJ2aWNlIjozMSwiLi9jb3JlL2NvcmUudGl0bGUiOjMyLCIuL2NvcmUvY29yZS50b29sdGlwIjozMywiLi9lbGVtZW50cy9lbGVtZW50LmFyYyI6MzQsIi4vZWxlbWVudHMvZWxlbWVudC5saW5lIjozNSwiLi9lbGVtZW50cy9lbGVtZW50LnBvaW50IjozNiwiLi9lbGVtZW50cy9lbGVtZW50LnJlY3RhbmdsZSI6MzcsIi4vc2NhbGVzL3NjYWxlLmNhdGVnb3J5IjozOCwiLi9zY2FsZXMvc2NhbGUubGluZWFyIjozOSwiLi9zY2FsZXMvc2NhbGUubG9nYXJpdGhtaWMiOjQwLCIuL3NjYWxlcy9zY2FsZS5yYWRpYWxMaW5lYXIiOjQxLCIuL3NjYWxlcy9zY2FsZS50aW1lIjo0Mn1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCUNoYXJ0LkJhciA9IGZ1bmN0aW9uKGNvbnRleHQsIGNvbmZpZykgew0KCQljb25maWcudHlwZSA9ICdiYXInOw0KDQoJCXJldHVybiBuZXcgQ2hhcnQoY29udGV4dCwgY29uZmlnKTsNCgl9Ow0KDQp9Owp9LHt9XSw5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCglDaGFydC5CdWJibGUgPSBmdW5jdGlvbihjb250ZXh0LCBjb25maWcpIHsNCgkJY29uZmlnLnR5cGUgPSAnYnViYmxlJzsNCgkJcmV0dXJuIG5ldyBDaGFydChjb250ZXh0LCBjb25maWcpOw0KCX07DQoNCn07Cn0se31dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCglDaGFydC5Eb3VnaG51dCA9IGZ1bmN0aW9uKGNvbnRleHQsIGNvbmZpZykgew0KCQljb25maWcudHlwZSA9ICdkb3VnaG51dCc7DQoNCgkJcmV0dXJuIG5ldyBDaGFydChjb250ZXh0LCBjb25maWcpOw0KCX07DQoNCn07Cn0se31dLDExOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCglDaGFydC5MaW5lID0gZnVuY3Rpb24oY29udGV4dCwgY29uZmlnKSB7DQoJCWNvbmZpZy50eXBlID0gJ2xpbmUnOw0KDQoJCXJldHVybiBuZXcgQ2hhcnQoY29udGV4dCwgY29uZmlnKTsNCgl9Ow0KDQp9Owp9LHt9XSwxMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJQ2hhcnQuUG9sYXJBcmVhID0gZnVuY3Rpb24oY29udGV4dCwgY29uZmlnKSB7DQoJCWNvbmZpZy50eXBlID0gJ3BvbGFyQXJlYSc7DQoNCgkJcmV0dXJuIG5ldyBDaGFydChjb250ZXh0LCBjb25maWcpOw0KCX07DQoNCn07Cn0se31dLDEzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoJDQoJQ2hhcnQuUmFkYXIgPSBmdW5jdGlvbihjb250ZXh0LCBjb25maWcpIHsNCgkJY29uZmlnLm9wdGlvbnMgPSBDaGFydC5oZWxwZXJzLmNvbmZpZ01lcmdlKHsgYXNwZWN0UmF0aW86IDEgfSwgY29uZmlnLm9wdGlvbnMpOw0KCQljb25maWcudHlwZSA9ICdyYWRhcic7DQoNCgkJcmV0dXJuIG5ldyBDaGFydChjb250ZXh0LCBjb25maWcpOw0KCX07DQoNCn07DQoKfSx7fV0sMTQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBkZWZhdWx0Q29uZmlnID0gew0KCQlob3Zlcjogew0KCQkJbW9kZTogJ3NpbmdsZScNCgkJfSwNCg0KCQlzY2FsZXM6IHsNCgkJCXhBeGVzOiBbew0KCQkJCXR5cGU6ICJsaW5lYXIiLCAvLyBzY2F0dGVyIHNob3VsZCBub3QgdXNlIGEgY2F0ZWdvcnkgYXhpcw0KCQkJCXBvc2l0aW9uOiAiYm90dG9tIiwNCgkJCQlpZDogIngtYXhpcy0xIiAvLyBuZWVkIGFuIElEIHNvIGRhdGFzZXRzIGNhbiByZWZlcmVuY2UgdGhlIHNjYWxlDQoJCQl9XSwNCgkJCXlBeGVzOiBbew0KCQkJCXR5cGU6ICJsaW5lYXIiLA0KCQkJCXBvc2l0aW9uOiAibGVmdCIsDQoJCQkJaWQ6ICJ5LWF4aXMtMSINCgkJCX1dDQoJCX0sDQoNCgkJdG9vbHRpcHM6IHsNCgkJCWNhbGxiYWNrczogew0KCQkJCXRpdGxlOiBmdW5jdGlvbih0b29sdGlwSXRlbXMsIGRhdGEpIHsNCgkJCQkJLy8gVGl0bGUgZG9lc24ndCBtYWtlIHNlbnNlIGZvciBzY2F0dGVyIHNpbmNlIHdlIGZvcm1hdCB0aGUgZGF0YSBhcyBhIHBvaW50DQoJCQkJCXJldHVybiAnJzsNCgkJCQl9LA0KCQkJCWxhYmVsOiBmdW5jdGlvbih0b29sdGlwSXRlbSwgZGF0YSkgew0KCQkJCQlyZXR1cm4gJygnICsgdG9vbHRpcEl0ZW0ueExhYmVsICsgJywgJyArIHRvb2x0aXBJdGVtLnlMYWJlbCArICcpJzsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9Ow0KDQoJLy8gUmVnaXN0ZXIgdGhlIGRlZmF1bHQgY29uZmlnIGZvciB0aGlzIHR5cGUNCglDaGFydC5kZWZhdWx0cy5zY2F0dGVyID0gZGVmYXVsdENvbmZpZzsNCg0KCS8vIFNjYXR0ZXIgY2hhcnRzIHVzZSBsaW5lIGNvbnRyb2xsZXJzDQoJQ2hhcnQuY29udHJvbGxlcnMuc2NhdHRlciA9IENoYXJ0LmNvbnRyb2xsZXJzLmxpbmU7DQoNCglDaGFydC5TY2F0dGVyID0gZnVuY3Rpb24oY29udGV4dCwgY29uZmlnKSB7DQoJCWNvbmZpZy50eXBlID0gJ3NjYXR0ZXInOw0KCQlyZXR1cm4gbmV3IENoYXJ0KGNvbnRleHQsIGNvbmZpZyk7DQoJfTsNCg0KfTsKfSx7fV0sMTU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCg0KCUNoYXJ0LmRlZmF1bHRzLmJhciA9IHsNCgkJaG92ZXI6IHsNCgkJCW1vZGU6ICJsYWJlbCINCgkJfSwNCg0KCQlzY2FsZXM6IHsNCgkJCXhBeGVzOiBbew0KCQkJCXR5cGU6ICJjYXRlZ29yeSIsDQoNCgkJCQkvLyBTcGVjaWZpYyB0byBCYXIgQ29udHJvbGxlcg0KCQkJCWNhdGVnb3J5UGVyY2VudGFnZTogMC44LA0KCQkJCWJhclBlcmNlbnRhZ2U6IDAuOSwNCg0KCQkJCS8vIGdyaWQgbGluZSBzZXR0aW5ncw0KCQkJCWdyaWRMaW5lczogew0KCQkJCQlvZmZzZXRHcmlkTGluZXM6IHRydWUNCgkJCQl9DQoJCQl9XSwNCgkJCXlBeGVzOiBbew0KCQkJCXR5cGU6ICJsaW5lYXIiDQoJCQl9XQ0KCQl9DQoJfTsNCg0KCUNoYXJ0LmNvbnRyb2xsZXJzLmJhciA9IENoYXJ0LkRhdGFzZXRDb250cm9sbGVyLmV4dGVuZCh7DQoNCgkJZGF0YUVsZW1lbnRUeXBlOiBDaGFydC5lbGVtZW50cy5SZWN0YW5nbGUsDQoNCgkJaW5pdGlhbGl6ZTogZnVuY3Rpb24oY2hhcnQsIGRhdGFzZXRJbmRleCkgew0KCQkJQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIucHJvdG90eXBlLmluaXRpYWxpemUuY2FsbCh0aGlzLCBjaGFydCwgZGF0YXNldEluZGV4KTsNCg0KCQkJLy8gVXNlIHRoaXMgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIGlzIGEgYmFyIGRhdGFzZXQuDQoJCQl0aGlzLmdldE1ldGEoKS5iYXIgPSB0cnVlOw0KCQl9LA0KDQoJCS8vIEdldCB0aGUgbnVtYmVyIG9mIGRhdGFzZXRzIHRoYXQgZGlzcGxheSBiYXJzLiBXZSB1c2UgdGhpcyB0byBjb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSBiYXIgd2lkdGgNCgkJZ2V0QmFyQ291bnQ6IGZ1bmN0aW9uIGdldEJhckNvdW50KCkgew0KCQkJdmFyIGJhckNvdW50ID0gMDsNCgkJCWhlbHBlcnMuZWFjaCh0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHMsIGZ1bmN0aW9uKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgew0KCQkJCXZhciBtZXRhID0gdGhpcy5jaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOw0KCQkJCWlmIChtZXRhLmJhciAmJiB0aGlzLmNoYXJ0LmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSkgew0KCQkJCQkrK2JhckNvdW50Ow0KCQkJCX0NCgkJCX0sIHRoaXMpOw0KCQkJcmV0dXJuIGJhckNvdW50Ow0KCQl9LA0KDQoJCXVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKHJlc2V0KSB7DQoJCQloZWxwZXJzLmVhY2godGhpcy5nZXRNZXRhKCkuZGF0YSwgZnVuY3Rpb24ocmVjdGFuZ2xlLCBpbmRleCkgew0KCQkJCXRoaXMudXBkYXRlRWxlbWVudChyZWN0YW5nbGUsIGluZGV4LCByZXNldCk7DQoJCQl9LCB0aGlzKTsNCgkJfSwNCg0KCQl1cGRhdGVFbGVtZW50OiBmdW5jdGlvbiB1cGRhdGVFbGVtZW50KHJlY3RhbmdsZSwgaW5kZXgsIHJlc2V0KSB7DQoJCQl2YXIgbWV0YSA9IHRoaXMuZ2V0TWV0YSgpOw0KCQkJdmFyIHhTY2FsZSA9IHRoaXMuZ2V0U2NhbGVGb3JJZChtZXRhLnhBeGlzSUQpOw0KCQkJdmFyIHlTY2FsZSA9IHRoaXMuZ2V0U2NhbGVGb3JJZChtZXRhLnlBeGlzSUQpOw0KCQkJdmFyIHNjYWxlQmFzZSA9IHlTY2FsZS5nZXRCYXNlUGl4ZWwoKTsNCgkJCXZhciByZWN0YW5nbGVFbGVtZW50T3B0aW9ucyA9IHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5yZWN0YW5nbGU7DQoJCQl2YXIgY3VzdG9tID0gcmVjdGFuZ2xlLmN1c3RvbSB8fCB7fTsNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5nZXREYXRhc2V0KCk7DQoNCgkJCWhlbHBlcnMuZXh0ZW5kKHJlY3RhbmdsZSwgew0KCQkJCS8vIFV0aWxpdHkNCgkJCQlfeFNjYWxlOiB4U2NhbGUsDQoJCQkJX3lTY2FsZTogeVNjYWxlLA0KCQkJCV9kYXRhc2V0SW5kZXg6IHRoaXMuaW5kZXgsDQoJCQkJX2luZGV4OiBpbmRleCwNCg0KCQkJCS8vIERlc2lyZWQgdmlldyBwcm9wZXJ0aWVzDQoJCQkJX21vZGVsOiB7DQoJCQkJCXg6IHRoaXMuY2FsY3VsYXRlQmFyWChpbmRleCwgdGhpcy5pbmRleCksDQoJCQkJCXk6IHJlc2V0ID8gc2NhbGVCYXNlIDogdGhpcy5jYWxjdWxhdGVCYXJZKGluZGV4LCB0aGlzLmluZGV4KSwNCg0KCQkJCQkvLyBUb29sdGlwDQoJCQkJCWxhYmVsOiB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzW2luZGV4XSwNCgkJCQkJZGF0YXNldExhYmVsOiBkYXRhc2V0LmxhYmVsLA0KDQoJCQkJCS8vIEFwcGVhcmFuY2UNCgkJCQkJYmFzZTogcmVzZXQgPyBzY2FsZUJhc2UgOiB0aGlzLmNhbGN1bGF0ZUJhckJhc2UodGhpcy5pbmRleCwgaW5kZXgpLA0KCQkJCQl3aWR0aDogdGhpcy5jYWxjdWxhdGVCYXJXaWR0aChpbmRleCksDQoJCQkJCWJhY2tncm91bmRDb2xvcjogY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJhY2tncm91bmRDb2xvciwgaW5kZXgsIHJlY3RhbmdsZUVsZW1lbnRPcHRpb25zLmJhY2tncm91bmRDb2xvciksDQoJCQkJCWJvcmRlclNraXBwZWQ6IGN1c3RvbS5ib3JkZXJTa2lwcGVkID8gY3VzdG9tLmJvcmRlclNraXBwZWQgOiByZWN0YW5nbGVFbGVtZW50T3B0aW9ucy5ib3JkZXJTa2lwcGVkLA0KCQkJCQlib3JkZXJDb2xvcjogY3VzdG9tLmJvcmRlckNvbG9yID8gY3VzdG9tLmJvcmRlckNvbG9yIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ib3JkZXJDb2xvciwgaW5kZXgsIHJlY3RhbmdsZUVsZW1lbnRPcHRpb25zLmJvcmRlckNvbG9yKSwNCgkJCQkJYm9yZGVyV2lkdGg6IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyV2lkdGgsIGluZGV4LCByZWN0YW5nbGVFbGVtZW50T3B0aW9ucy5ib3JkZXJXaWR0aCkNCgkJCQl9DQoJCQl9KTsNCgkJCXJlY3RhbmdsZS5waXZvdCgpOw0KCQl9LA0KDQoJCWNhbGN1bGF0ZUJhckJhc2U6IGZ1bmN0aW9uKGRhdGFzZXRJbmRleCwgaW5kZXgpIHsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7DQoJCQl2YXIgeVNjYWxlID0gdGhpcy5nZXRTY2FsZUZvcklkKG1ldGEueUF4aXNJRCk7DQoJCQl2YXIgYmFzZSA9IDA7DQoNCgkJCWlmICh5U2NhbGUub3B0aW9ucy5zdGFja2VkKSB7DQoJCQkJdmFyIGNoYXJ0ID0gdGhpcy5jaGFydDsNCgkJCQl2YXIgZGF0YXNldHMgPSBjaGFydC5kYXRhLmRhdGFzZXRzOw0KCQkJCXZhciB2YWx1ZSA9IGRhdGFzZXRzW2RhdGFzZXRJbmRleF0uZGF0YVtpbmRleF07DQoNCgkJCQlpZiAodmFsdWUgPCAwKSB7DQoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgZGF0YXNldEluZGV4OyBpKyspIHsNCgkJCQkJCXZhciBuZWdEUyA9IGRhdGFzZXRzW2ldOw0KCQkJCQkJdmFyIG5lZ0RTTWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGkpOw0KCQkJCQkJaWYgKG5lZ0RTTWV0YS5iYXIgJiYgbmVnRFNNZXRhLnlBeGlzSUQgPT09IHlTY2FsZS5pZCAmJiBjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGkpKSB7DQoJCQkJCQkJYmFzZSArPSBuZWdEUy5kYXRhW2luZGV4XSA8IDAgPyBuZWdEUy5kYXRhW2luZGV4XSA6IDA7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQlmb3IgKHZhciBqID0gMDsgaiA8IGRhdGFzZXRJbmRleDsgaisrKSB7DQoJCQkJCQl2YXIgcG9zRFMgPSBkYXRhc2V0c1tqXTsNCgkJCQkJCXZhciBwb3NEU01ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShqKTsNCgkJCQkJCWlmIChwb3NEU01ldGEuYmFyICYmIHBvc0RTTWV0YS55QXhpc0lEID09PSB5U2NhbGUuaWQgJiYgY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShqKSkgew0KCQkJCQkJCWJhc2UgKz0gcG9zRFMuZGF0YVtpbmRleF0gPiAwID8gcG9zRFMuZGF0YVtpbmRleF0gOiAwOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHlTY2FsZS5nZXRQaXhlbEZvclZhbHVlKGJhc2UpOw0KCQkJfQ0KDQoJCQlyZXR1cm4geVNjYWxlLmdldEJhc2VQaXhlbCgpOw0KCQl9LA0KDQoJCWdldFJ1bGVyOiBmdW5jdGlvbihpbmRleCkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciB4U2NhbGUgPSB0aGlzLmdldFNjYWxlRm9ySWQobWV0YS54QXhpc0lEKTsNCgkJCXZhciBkYXRhc2V0Q291bnQgPSB0aGlzLmdldEJhckNvdW50KCk7DQoNCgkJCXZhciB0aWNrV2lkdGg7DQoNCgkJCWlmICh4U2NhbGUub3B0aW9ucy50eXBlID09PSAnY2F0ZWdvcnknKSB7DQoJCQkJdGlja1dpZHRoID0geFNjYWxlLmdldFBpeGVsRm9yVGljayhpbmRleCArIDEpIC0geFNjYWxlLmdldFBpeGVsRm9yVGljayhpbmRleCk7DQoJCQl9IGVsc2Ugew0KCQkJCS8vIEF2ZXJhZ2Ugd2lkdGgNCgkJCQl0aWNrV2lkdGggPSB4U2NhbGUud2lkdGggLyB4U2NhbGUudGlja3MubGVuZ3RoOw0KCQkJfQ0KCQkJdmFyIGNhdGVnb3J5V2lkdGggPSB0aWNrV2lkdGggKiB4U2NhbGUub3B0aW9ucy5jYXRlZ29yeVBlcmNlbnRhZ2U7DQoJCQl2YXIgY2F0ZWdvcnlTcGFjaW5nID0gKHRpY2tXaWR0aCAtICh0aWNrV2lkdGggKiB4U2NhbGUub3B0aW9ucy5jYXRlZ29yeVBlcmNlbnRhZ2UpKSAvIDI7DQoJCQl2YXIgZnVsbEJhcldpZHRoID0gY2F0ZWdvcnlXaWR0aCAvIGRhdGFzZXRDb3VudDsNCg0KCQkJaWYgKHhTY2FsZS50aWNrcy5sZW5ndGggIT09IHRoaXMuY2hhcnQuZGF0YS5sYWJlbHMubGVuZ3RoKSB7DQoJCQkgICAgdmFyIHBlcmMgPSB4U2NhbGUudGlja3MubGVuZ3RoIC8gdGhpcy5jaGFydC5kYXRhLmxhYmVscy5sZW5ndGg7DQoJCQkgICAgZnVsbEJhcldpZHRoID0gZnVsbEJhcldpZHRoICogcGVyYzsNCgkJCX0NCg0KCQkJdmFyIGJhcldpZHRoID0gZnVsbEJhcldpZHRoICogeFNjYWxlLm9wdGlvbnMuYmFyUGVyY2VudGFnZTsNCgkJCXZhciBiYXJTcGFjaW5nID0gZnVsbEJhcldpZHRoIC0gKGZ1bGxCYXJXaWR0aCAqIHhTY2FsZS5vcHRpb25zLmJhclBlcmNlbnRhZ2UpOw0KDQoJCQlyZXR1cm4gew0KCQkJCWRhdGFzZXRDb3VudDogZGF0YXNldENvdW50LA0KCQkJCXRpY2tXaWR0aDogdGlja1dpZHRoLA0KCQkJCWNhdGVnb3J5V2lkdGg6IGNhdGVnb3J5V2lkdGgsDQoJCQkJY2F0ZWdvcnlTcGFjaW5nOiBjYXRlZ29yeVNwYWNpbmcsDQoJCQkJZnVsbEJhcldpZHRoOiBmdWxsQmFyV2lkdGgsDQoJCQkJYmFyV2lkdGg6IGJhcldpZHRoLA0KCQkJCWJhclNwYWNpbmc6IGJhclNwYWNpbmcNCgkJCX07DQoJCX0sDQoNCgkJY2FsY3VsYXRlQmFyV2lkdGg6IGZ1bmN0aW9uKGluZGV4KSB7DQoJCQl2YXIgeFNjYWxlID0gdGhpcy5nZXRTY2FsZUZvcklkKHRoaXMuZ2V0TWV0YSgpLnhBeGlzSUQpOw0KCQkJdmFyIHJ1bGVyID0gdGhpcy5nZXRSdWxlcihpbmRleCk7DQoJCQlyZXR1cm4geFNjYWxlLm9wdGlvbnMuc3RhY2tlZCA/IHJ1bGVyLmNhdGVnb3J5V2lkdGggOiBydWxlci5iYXJXaWR0aDsNCgkJfSwNCg0KCQkvLyBHZXQgYmFyIGluZGV4IGZyb20gdGhlIGdpdmVuIGRhdGFzZXQgaW5kZXggYWNjb3VudGluZyBmb3IgdGhlIGZhY3QgdGhhdCBub3QgYWxsIGJhcnMgYXJlIHZpc2libGUNCgkJZ2V0QmFySW5kZXg6IGZ1bmN0aW9uKGRhdGFzZXRJbmRleCkgew0KCQkJdmFyIGJhckluZGV4ID0gMDsNCgkJCXZhciBtZXRhLCBqOw0KDQoJCQlmb3IgKGogPSAwOyBqIDwgZGF0YXNldEluZGV4OyArK2opIHsNCgkJCQltZXRhID0gdGhpcy5jaGFydC5nZXREYXRhc2V0TWV0YShqKTsNCgkJCQlpZiAobWV0YS5iYXIgJiYgdGhpcy5jaGFydC5pc0RhdGFzZXRWaXNpYmxlKGopKSB7DQoJCQkJCSsrYmFySW5kZXg7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gYmFySW5kZXg7DQoJCX0sDQoNCgkJY2FsY3VsYXRlQmFyWDogZnVuY3Rpb24oaW5kZXgsIGRhdGFzZXRJbmRleCkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciB4U2NhbGUgPSB0aGlzLmdldFNjYWxlRm9ySWQobWV0YS54QXhpc0lEKTsNCgkJCXZhciBiYXJJbmRleCA9IHRoaXMuZ2V0QmFySW5kZXgoZGF0YXNldEluZGV4KTsNCg0KCQkJdmFyIHJ1bGVyID0gdGhpcy5nZXRSdWxlcihpbmRleCk7DQoJCQl2YXIgbGVmdFRpY2sgPSB4U2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZShudWxsLCBpbmRleCwgZGF0YXNldEluZGV4LCB0aGlzLmNoYXJ0LmlzQ29tYm8pOw0KCQkJbGVmdFRpY2sgLT0gdGhpcy5jaGFydC5pc0NvbWJvID8gKHJ1bGVyLnRpY2tXaWR0aCAvIDIpIDogMDsNCg0KCQkJaWYgKHhTY2FsZS5vcHRpb25zLnN0YWNrZWQpIHsNCgkJCQlyZXR1cm4gbGVmdFRpY2sgKyAocnVsZXIuY2F0ZWdvcnlXaWR0aCAvIDIpICsgcnVsZXIuY2F0ZWdvcnlTcGFjaW5nOw0KCQkJfQ0KDQoJCQlyZXR1cm4gbGVmdFRpY2sgKw0KCQkJCShydWxlci5iYXJXaWR0aCAvIDIpICsNCgkJCQlydWxlci5jYXRlZ29yeVNwYWNpbmcgKw0KCQkJCShydWxlci5iYXJXaWR0aCAqIGJhckluZGV4KSArDQoJCQkJKHJ1bGVyLmJhclNwYWNpbmcgLyAyKSArDQoJCQkJKHJ1bGVyLmJhclNwYWNpbmcgKiBiYXJJbmRleCk7DQoJCX0sDQoNCgkJY2FsY3VsYXRlQmFyWTogZnVuY3Rpb24oaW5kZXgsIGRhdGFzZXRJbmRleCkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciB5U2NhbGUgPSB0aGlzLmdldFNjYWxlRm9ySWQobWV0YS55QXhpc0lEKTsNCgkJCXZhciB2YWx1ZSA9IHRoaXMuZ2V0RGF0YXNldCgpLmRhdGFbaW5kZXhdOw0KDQoJCQlpZiAoeVNjYWxlLm9wdGlvbnMuc3RhY2tlZCkgew0KDQoJCQkJdmFyIHN1bVBvcyA9IDAsDQoJCQkJCXN1bU5lZyA9IDA7DQoNCgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGRhdGFzZXRJbmRleDsgaSsrKSB7DQoJCQkJCXZhciBkcyA9IHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0c1tpXTsNCgkJCQkJdmFyIGRzTWV0YSA9IHRoaXMuY2hhcnQuZ2V0RGF0YXNldE1ldGEoaSk7DQoJCQkJCWlmIChkc01ldGEuYmFyICYmIGRzTWV0YS55QXhpc0lEID09PSB5U2NhbGUuaWQgJiYgdGhpcy5jaGFydC5pc0RhdGFzZXRWaXNpYmxlKGkpKSB7DQoJCQkJCQlpZiAoZHMuZGF0YVtpbmRleF0gPCAwKSB7DQoJCQkJCQkJc3VtTmVnICs9IGRzLmRhdGFbaW5kZXhdIHx8IDA7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXN1bVBvcyArPSBkcy5kYXRhW2luZGV4XSB8fCAwOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJaWYgKHZhbHVlIDwgMCkgew0KCQkJCQlyZXR1cm4geVNjYWxlLmdldFBpeGVsRm9yVmFsdWUoc3VtTmVnICsgdmFsdWUpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXJldHVybiB5U2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZShzdW1Qb3MgKyB2YWx1ZSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4geVNjYWxlLmdldFBpeGVsRm9yVmFsdWUodmFsdWUpOw0KCQl9LA0KDQoJCWRyYXc6IGZ1bmN0aW9uKGVhc2UpIHsNCgkJCXZhciBlYXNpbmdEZWNpbWFsID0gZWFzZSB8fCAxOw0KCQkJaGVscGVycy5lYWNoKHRoaXMuZ2V0TWV0YSgpLmRhdGEsIGZ1bmN0aW9uKHJlY3RhbmdsZSwgaW5kZXgpIHsNCgkJCQl2YXIgZCA9IHRoaXMuZ2V0RGF0YXNldCgpLmRhdGFbaW5kZXhdOw0KCQkJCWlmIChkICE9PSBudWxsICYmIGQgIT09IHVuZGVmaW5lZCAmJiAhaXNOYU4oZCkpIHsNCgkJCQkJcmVjdGFuZ2xlLnRyYW5zaXRpb24oZWFzaW5nRGVjaW1hbCkuZHJhdygpOw0KCQkJCX0NCgkJCX0sIHRoaXMpOw0KCQl9LA0KDQoJCXNldEhvdmVyU3R5bGU6IGZ1bmN0aW9uKHJlY3RhbmdsZSkgew0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbcmVjdGFuZ2xlLl9kYXRhc2V0SW5kZXhdOw0KCQkJdmFyIGluZGV4ID0gcmVjdGFuZ2xlLl9pbmRleDsNCg0KCQkJdmFyIGN1c3RvbSA9IHJlY3RhbmdsZS5jdXN0b20gfHwge307DQoJCQl2YXIgbW9kZWwgPSByZWN0YW5nbGUuX21vZGVsOw0KCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmhvdmVyQmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmhvdmVyQmFja2dyb3VuZENvbG9yIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ob3ZlckJhY2tncm91bmRDb2xvciwgaW5kZXgsIGhlbHBlcnMuZ2V0SG92ZXJDb2xvcihtb2RlbC5iYWNrZ3JvdW5kQ29sb3IpKTsNCgkJCW1vZGVsLmJvcmRlckNvbG9yID0gY3VzdG9tLmhvdmVyQm9yZGVyQ29sb3IgPyBjdXN0b20uaG92ZXJCb3JkZXJDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuaG92ZXJCb3JkZXJDb2xvciwgaW5kZXgsIGhlbHBlcnMuZ2V0SG92ZXJDb2xvcihtb2RlbC5ib3JkZXJDb2xvcikpOw0KCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uaG92ZXJCb3JkZXJXaWR0aCA/IGN1c3RvbS5ob3ZlckJvcmRlcldpZHRoIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ob3ZlckJvcmRlcldpZHRoLCBpbmRleCwgbW9kZWwuYm9yZGVyV2lkdGgpOw0KCQl9LA0KDQoJCXJlbW92ZUhvdmVyU3R5bGU6IGZ1bmN0aW9uKHJlY3RhbmdsZSkgew0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbcmVjdGFuZ2xlLl9kYXRhc2V0SW5kZXhdOw0KCQkJdmFyIGluZGV4ID0gcmVjdGFuZ2xlLl9pbmRleDsNCgkJCXZhciBjdXN0b20gPSByZWN0YW5nbGUuY3VzdG9tIHx8IHt9Ow0KCQkJdmFyIG1vZGVsID0gcmVjdGFuZ2xlLl9tb2RlbDsNCgkJCXZhciByZWN0YW5nbGVFbGVtZW50T3B0aW9ucyA9IHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5yZWN0YW5nbGU7DQoNCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5iYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCByZWN0YW5nbGVFbGVtZW50T3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpOw0KCQkJbW9kZWwuYm9yZGVyQ29sb3IgPSBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlckNvbG9yLCBpbmRleCwgcmVjdGFuZ2xlRWxlbWVudE9wdGlvbnMuYm9yZGVyQ29sb3IpOw0KCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlcldpZHRoLCBpbmRleCwgcmVjdGFuZ2xlRWxlbWVudE9wdGlvbnMuYm9yZGVyV2lkdGgpOw0KCQl9DQoNCgl9KTsNCg0KDQoJLy8gaW5jbHVkaW5nIGhvcml6b250YWxCYXIgaW4gdGhlIGJhciBmaWxlLCBpbnN0ZWFkIG9mIGEgZmlsZSBvZiBpdHMgb3duDQoJLy8gaXQgZXh0ZW5kcyBiYXIgKGxpa2UgcGllIGV4dGVuZHMgZG91Z2hudXQpDQoJQ2hhcnQuZGVmYXVsdHMuaG9yaXpvbnRhbEJhciA9IHsNCgkJaG92ZXI6IHsNCgkJCW1vZGU6ICJsYWJlbCINCgkJfSwNCg0KCQlzY2FsZXM6IHsNCgkJCXhBeGVzOiBbew0KCQkJCXR5cGU6ICJsaW5lYXIiLA0KCQkJCXBvc2l0aW9uOiAiYm90dG9tIg0KCQkJfV0sDQoJCQl5QXhlczogW3sNCgkJCQlwb3NpdGlvbjogImxlZnQiLA0KCQkJCXR5cGU6ICJjYXRlZ29yeSIsDQoNCgkJCQkvLyBTcGVjaWZpYyB0byBIb3Jpem9udGFsIEJhciBDb250cm9sbGVyDQoJCQkJY2F0ZWdvcnlQZXJjZW50YWdlOiAwLjgsDQoJCQkJYmFyUGVyY2VudGFnZTogMC45LA0KDQoJCQkJLy8gZ3JpZCBsaW5lIHNldHRpbmdzDQoJCQkJZ3JpZExpbmVzOiB7DQoJCQkJCW9mZnNldEdyaWRMaW5lczogdHJ1ZQ0KCQkJCX0NCgkJCX1dDQoJCX0sDQoJCWVsZW1lbnRzOiB7DQoJCQlyZWN0YW5nbGU6IHsNCgkJCQlib3JkZXJTa2lwcGVkOiAnbGVmdCcNCgkJCX0NCgkJfSwNCgkJdG9vbHRpcHM6IHsNCgkJCWNhbGxiYWNrczogew0KCQkJCXRpdGxlOiBmdW5jdGlvbih0b29sdGlwSXRlbXMsIGRhdGEpIHsNCgkJCQkJLy8gUGljayBmaXJzdCB4TGFiZWwgZm9yIG5vdw0KCQkJCQl2YXIgdGl0bGUgPSAnJzsNCg0KCQkJCQlpZiAodG9vbHRpcEl0ZW1zLmxlbmd0aCA+IDApIHsNCgkJCQkJCWlmICh0b29sdGlwSXRlbXNbMF0ueUxhYmVsKSB7DQoJCQkJCQkJdGl0bGUgPSB0b29sdGlwSXRlbXNbMF0ueUxhYmVsOw0KCQkJCQkJfSBlbHNlIGlmIChkYXRhLmxhYmVscy5sZW5ndGggPiAwICYmIHRvb2x0aXBJdGVtc1swXS5pbmRleCA8IGRhdGEubGFiZWxzLmxlbmd0aCkgew0KCQkJCQkJCXRpdGxlID0gZGF0YS5sYWJlbHNbdG9vbHRpcEl0ZW1zWzBdLmluZGV4XTsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCXJldHVybiB0aXRsZTsNCgkJCQl9LA0KCQkJCWxhYmVsOiBmdW5jdGlvbih0b29sdGlwSXRlbSwgZGF0YSkgew0KCQkJCQl2YXIgZGF0YXNldExhYmVsID0gZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmxhYmVsIHx8ICcnOw0KCQkJCXJldHVybiBkYXRhc2V0TGFiZWwgKyAnOiAnICsgdG9vbHRpcEl0ZW0ueExhYmVsOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX07DQoNCglDaGFydC5jb250cm9sbGVycy5ob3Jpem9udGFsQmFyID0gQ2hhcnQuY29udHJvbGxlcnMuYmFyLmV4dGVuZCh7DQoJCXVwZGF0ZUVsZW1lbnQ6IGZ1bmN0aW9uIHVwZGF0ZUVsZW1lbnQocmVjdGFuZ2xlLCBpbmRleCwgcmVzZXQsIG51bUJhcnMpIHsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7DQoJCQl2YXIgeFNjYWxlID0gdGhpcy5nZXRTY2FsZUZvcklkKG1ldGEueEF4aXNJRCk7DQoJCQl2YXIgeVNjYWxlID0gdGhpcy5nZXRTY2FsZUZvcklkKG1ldGEueUF4aXNJRCk7DQoJCQl2YXIgc2NhbGVCYXNlID0geFNjYWxlLmdldEJhc2VQaXhlbCgpOw0KCQkJdmFyIGN1c3RvbSA9IHJlY3RhbmdsZS5jdXN0b20gfHwge307DQoJCQl2YXIgZGF0YXNldCA9IHRoaXMuZ2V0RGF0YXNldCgpOw0KCQkJdmFyIHJlY3RhbmdsZUVsZW1lbnRPcHRpb25zID0gdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLnJlY3RhbmdsZTsNCg0KCQkJaGVscGVycy5leHRlbmQocmVjdGFuZ2xlLCB7DQoJCQkJLy8gVXRpbGl0eQ0KCQkJCV94U2NhbGU6IHhTY2FsZSwNCgkJCQlfeVNjYWxlOiB5U2NhbGUsDQoJCQkJX2RhdGFzZXRJbmRleDogdGhpcy5pbmRleCwNCgkJCQlfaW5kZXg6IGluZGV4LA0KDQoJCQkJLy8gRGVzaXJlZCB2aWV3IHByb3BlcnRpZXMNCgkJCQlfbW9kZWw6IHsNCgkJCQkJeDogcmVzZXQgPyBzY2FsZUJhc2UgOiB0aGlzLmNhbGN1bGF0ZUJhclgoaW5kZXgsIHRoaXMuaW5kZXgpLA0KCQkJCQl5OiB0aGlzLmNhbGN1bGF0ZUJhclkoaW5kZXgsIHRoaXMuaW5kZXgpLA0KDQoJCQkJCS8vIFRvb2x0aXANCgkJCQkJbGFiZWw6IHRoaXMuY2hhcnQuZGF0YS5sYWJlbHNbaW5kZXhdLA0KCQkJCQlkYXRhc2V0TGFiZWw6IGRhdGFzZXQubGFiZWwsDQoNCgkJCQkJLy8gQXBwZWFyYW5jZQ0KCQkJCQliYXNlOiByZXNldCA/IHNjYWxlQmFzZSA6IHRoaXMuY2FsY3VsYXRlQmFyQmFzZSh0aGlzLmluZGV4LCBpbmRleCksDQoJCQkJCWhlaWdodDogdGhpcy5jYWxjdWxhdGVCYXJIZWlnaHQoaW5kZXgpLA0KCQkJCQliYWNrZ3JvdW5kQ29sb3I6IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5iYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCByZWN0YW5nbGVFbGVtZW50T3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpLA0KCQkJCQlib3JkZXJTa2lwcGVkOiBjdXN0b20uYm9yZGVyU2tpcHBlZCA/IGN1c3RvbS5ib3JkZXJTa2lwcGVkIDogcmVjdGFuZ2xlRWxlbWVudE9wdGlvbnMuYm9yZGVyU2tpcHBlZCwNCgkJCQkJYm9yZGVyQ29sb3I6IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyQ29sb3IsIGluZGV4LCByZWN0YW5nbGVFbGVtZW50T3B0aW9ucy5ib3JkZXJDb2xvciksDQoJCQkJCWJvcmRlcldpZHRoOiBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlcldpZHRoLCBpbmRleCwgcmVjdGFuZ2xlRWxlbWVudE9wdGlvbnMuYm9yZGVyV2lkdGgpDQoJCQkJfSwNCg0KCQkJCWRyYXc6IGZ1bmN0aW9uICgpIHsNCg0KCQkJCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4Ow0KCQkJCQl2YXIgdm0gPSB0aGlzLl92aWV3Ow0KDQoJCQkJCXZhciBoYWxmSGVpZ2h0ID0gdm0uaGVpZ2h0IC8gMiwNCgkJCQkJCXRvcFkgPSB2bS55IC0gaGFsZkhlaWdodCwNCgkJCQkJCWJvdHRvbVkgPSB2bS55ICsgaGFsZkhlaWdodCwNCgkJCQkJCXJpZ2h0ID0gdm0uYmFzZSAtICh2bS5iYXNlIC0gdm0ueCksDQoJCQkJCQloYWxmU3Ryb2tlID0gdm0uYm9yZGVyV2lkdGggLyAyOw0KDQoJCQkJCS8vIENhbnZhcyBkb2Vzbid0IGFsbG93IHVzIHRvIHN0cm9rZSBpbnNpZGUgdGhlIHdpZHRoIHNvIHdlIGNhbg0KCQkJCQkvLyBhZGp1c3QgdGhlIHNpemVzIHRvIGZpdCBpZiB3ZSdyZSBzZXR0aW5nIGEgc3Ryb2tlIG9uIHRoZSBsaW5lDQoJCQkJCWlmICh2bS5ib3JkZXJXaWR0aCkgew0KCQkJCQkJdG9wWSArPSBoYWxmU3Ryb2tlOw0KCQkJCQkJYm90dG9tWSAtPSBoYWxmU3Ryb2tlOw0KCQkJCQkJcmlnaHQgKz0gaGFsZlN0cm9rZTsNCgkJCQkJfQ0KDQoJCQkJCWN0eC5iZWdpblBhdGgoKTsNCg0KCQkJCQljdHguZmlsbFN0eWxlID0gdm0uYmFja2dyb3VuZENvbG9yOw0KCQkJCQljdHguc3Ryb2tlU3R5bGUgPSB2bS5ib3JkZXJDb2xvcjsNCgkJCQkJY3R4LmxpbmVXaWR0aCA9IHZtLmJvcmRlcldpZHRoOw0KDQoJCQkJCS8vIENvcm5lciBwb2ludHMsIGZyb20gYm90dG9tLWxlZnQgdG8gYm90dG9tLXJpZ2h0IGNsb2Nrd2lzZQ0KCQkJCQkvLyB8IDEgMiB8DQoJCQkJCS8vIHwgMCAzIHwNCgkJCQkJdmFyIGNvcm5lcnMgPSBbDQoJCQkJCQlbdm0uYmFzZSwgYm90dG9tWV0sDQoJCQkJCQlbdm0uYmFzZSwgdG9wWV0sDQoJCQkJCQlbcmlnaHQsIHRvcFldLA0KCQkJCQkJW3JpZ2h0LCBib3R0b21ZXQ0KCQkJCQldOw0KDQoJCQkJCS8vIEZpbmQgZmlyc3QgKHN0YXJ0aW5nKSBjb3JuZXIgd2l0aCBmYWxsYmFjayB0byAnYm90dG9tJw0KCQkJCQl2YXIgYm9yZGVycyA9IFsnYm90dG9tJywgJ2xlZnQnLCAndG9wJywgJ3JpZ2h0J107DQoJCQkJCXZhciBzdGFydENvcm5lciA9IGJvcmRlcnMuaW5kZXhPZih2bS5ib3JkZXJTa2lwcGVkLCAwKTsNCgkJCQkJaWYgKHN0YXJ0Q29ybmVyID09PSAtMSkNCgkJCQkJCXN0YXJ0Q29ybmVyID0gMDsNCg0KCQkJCQlmdW5jdGlvbiBjb3JuZXJBdChpbmRleCkgew0KCQkJCQkJcmV0dXJuIGNvcm5lcnNbKHN0YXJ0Q29ybmVyICsgaW5kZXgpICUgNF07DQoJCQkJCX0NCg0KCQkJCQkvLyBEcmF3IHJlY3RhbmdsZSBmcm9tICdzdGFydENvcm5lcicNCgkJCQkJY3R4Lm1vdmVUby5hcHBseShjdHgsIGNvcm5lckF0KDApKTsNCgkJCQkJZm9yICh2YXIgaSA9IDE7IGkgPCA0OyBpKyspDQoJCQkJCQljdHgubGluZVRvLmFwcGx5KGN0eCwgY29ybmVyQXQoaSkpOw0KDQoJCQkJCWN0eC5maWxsKCk7DQoJCQkJCWlmICh2bS5ib3JkZXJXaWR0aCkgew0KCQkJCQkJY3R4LnN0cm9rZSgpOw0KCQkJCQl9DQoJCQkJfSwNCg0KCQkJCWluUmFuZ2U6IGZ1bmN0aW9uIChtb3VzZVgsIG1vdXNlWSkgew0KCQkJCQl2YXIgdm0gPSB0aGlzLl92aWV3Ow0KCQkJCQl2YXIgaW5SYW5nZSA9IGZhbHNlOw0KDQoJCQkJCWlmICh2bSkgew0KCQkJCQkJaWYgKHZtLnggPCB2bS5iYXNlKSB7DQoJCQkJCQkJaW5SYW5nZSA9IChtb3VzZVkgPj0gdm0ueSAtIHZtLmhlaWdodCAvIDIgJiYgbW91c2VZIDw9IHZtLnkgKyB2bS5oZWlnaHQgLyAyKSAmJiAobW91c2VYID49IHZtLnggJiYgbW91c2VYIDw9IHZtLmJhc2UpOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlpblJhbmdlID0gKG1vdXNlWSA+PSB2bS55IC0gdm0uaGVpZ2h0IC8gMiAmJiBtb3VzZVkgPD0gdm0ueSArIHZtLmhlaWdodCAvIDIpICYmIChtb3VzZVggPj0gdm0uYmFzZSAmJiBtb3VzZVggPD0gdm0ueCk7DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQlyZXR1cm4gaW5SYW5nZTsNCgkJCQl9DQoJCQl9KTsNCg0KCQkJcmVjdGFuZ2xlLnBpdm90KCk7DQoJCX0sDQoNCgkJY2FsY3VsYXRlQmFyQmFzZTogZnVuY3Rpb24gKGRhdGFzZXRJbmRleCwgaW5kZXgpIHsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7DQoJCQl2YXIgeFNjYWxlID0gdGhpcy5nZXRTY2FsZUZvcklkKG1ldGEueEF4aXNJRCk7DQoJCQl2YXIgYmFzZSA9IDA7DQoNCgkJCWlmICh4U2NhbGUub3B0aW9ucy5zdGFja2VkKSB7DQoNCgkJCQl2YXIgdmFsdWUgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5kYXRhW2luZGV4XTsNCg0KCQkJCWlmICh2YWx1ZSA8IDApIHsNCgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhc2V0SW5kZXg7IGkrKykgew0KCQkJCQkJdmFyIG5lZ0RTID0gdGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW2ldOw0KCQkJCQkJdmFyIG5lZ0RTTWV0YSA9IHRoaXMuY2hhcnQuZ2V0RGF0YXNldE1ldGEoaSk7DQoJCQkJCQlpZiAobmVnRFNNZXRhLmJhciAmJiBuZWdEU01ldGEueEF4aXNJRCA9PT0geFNjYWxlLmlkICYmIHRoaXMuY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShpKSkgew0KCQkJCQkJCWJhc2UgKz0gbmVnRFMuZGF0YVtpbmRleF0gPCAwID8gbmVnRFMuZGF0YVtpbmRleF0gOiAwOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfSBlbHNlIHsNCgkJCQkJZm9yICh2YXIgaiA9IDA7IGogPCBkYXRhc2V0SW5kZXg7IGorKykgew0KCQkJCQkJdmFyIHBvc0RTID0gdGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW2pdOw0KCQkJCQkJdmFyIHBvc0RTTWV0YSA9IHRoaXMuY2hhcnQuZ2V0RGF0YXNldE1ldGEoaik7DQoJCQkJCQlpZiAocG9zRFNNZXRhLmJhciAmJiBwb3NEU01ldGEueEF4aXNJRCA9PT0geFNjYWxlLmlkICYmIHRoaXMuY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShqKSkgew0KCQkJCQkJCWJhc2UgKz0gcG9zRFMuZGF0YVtpbmRleF0gPiAwID8gcG9zRFMuZGF0YVtpbmRleF0gOiAwOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHhTY2FsZS5nZXRQaXhlbEZvclZhbHVlKGJhc2UpOw0KCQkJfQ0KDQoJCQlyZXR1cm4geFNjYWxlLmdldEJhc2VQaXhlbCgpOw0KCQl9LA0KDQoJCWdldFJ1bGVyOiBmdW5jdGlvbiAoaW5kZXgpIHsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7DQoJCQl2YXIgeVNjYWxlID0gdGhpcy5nZXRTY2FsZUZvcklkKG1ldGEueUF4aXNJRCk7DQoJCQl2YXIgZGF0YXNldENvdW50ID0gdGhpcy5nZXRCYXJDb3VudCgpOw0KDQoJCQl2YXIgdGlja0hlaWdodDsNCgkJCWlmICh5U2NhbGUub3B0aW9ucy50eXBlID09PSAnY2F0ZWdvcnknKSB7DQoJCQkJdGlja0hlaWdodCA9IHlTY2FsZS5nZXRQaXhlbEZvclRpY2soaW5kZXggKyAxKSAtIHlTY2FsZS5nZXRQaXhlbEZvclRpY2soaW5kZXgpOw0KCQkJfSBlbHNlIHsNCgkJCQkvLyBBdmVyYWdlIHdpZHRoDQoJCQkJdGlja0hlaWdodCA9IHlTY2FsZS53aWR0aCAvIHlTY2FsZS50aWNrcy5sZW5ndGg7DQoJCQl9DQoJCQl2YXIgY2F0ZWdvcnlIZWlnaHQgPSB0aWNrSGVpZ2h0ICogeVNjYWxlLm9wdGlvbnMuY2F0ZWdvcnlQZXJjZW50YWdlOw0KCQkJdmFyIGNhdGVnb3J5U3BhY2luZyA9ICh0aWNrSGVpZ2h0IC0gKHRpY2tIZWlnaHQgKiB5U2NhbGUub3B0aW9ucy5jYXRlZ29yeVBlcmNlbnRhZ2UpKSAvIDI7DQoJCQl2YXIgZnVsbEJhckhlaWdodCA9IGNhdGVnb3J5SGVpZ2h0IC8gZGF0YXNldENvdW50Ow0KDQoJCQlpZiAoeVNjYWxlLnRpY2tzLmxlbmd0aCAhPT0gdGhpcy5jaGFydC5kYXRhLmxhYmVscy5sZW5ndGgpIHsNCgkJCQl2YXIgcGVyYyA9IHlTY2FsZS50aWNrcy5sZW5ndGggLyB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzLmxlbmd0aDsNCgkJCQlmdWxsQmFySGVpZ2h0ID0gZnVsbEJhckhlaWdodCAqIHBlcmM7DQoJCQl9DQoNCgkJCXZhciBiYXJIZWlnaHQgPSBmdWxsQmFySGVpZ2h0ICogeVNjYWxlLm9wdGlvbnMuYmFyUGVyY2VudGFnZTsNCgkJCXZhciBiYXJTcGFjaW5nID0gZnVsbEJhckhlaWdodCAtIChmdWxsQmFySGVpZ2h0ICogeVNjYWxlLm9wdGlvbnMuYmFyUGVyY2VudGFnZSk7DQoNCgkJCXJldHVybiB7DQoJCQkJZGF0YXNldENvdW50OiBkYXRhc2V0Q291bnQsDQoJCQkJdGlja0hlaWdodDogdGlja0hlaWdodCwNCgkJCQljYXRlZ29yeUhlaWdodDogY2F0ZWdvcnlIZWlnaHQsDQoJCQkJY2F0ZWdvcnlTcGFjaW5nOiBjYXRlZ29yeVNwYWNpbmcsDQoJCQkJZnVsbEJhckhlaWdodDogZnVsbEJhckhlaWdodCwNCgkJCQliYXJIZWlnaHQ6IGJhckhlaWdodCwNCgkJCQliYXJTcGFjaW5nOiBiYXJTcGFjaW5nLA0KCQkJfTsNCgkJfSwNCg0KCQljYWxjdWxhdGVCYXJIZWlnaHQ6IGZ1bmN0aW9uIChpbmRleCkgew0KCQkJdmFyIHlTY2FsZSA9IHRoaXMuZ2V0U2NhbGVGb3JJZCh0aGlzLmdldE1ldGEoKS55QXhpc0lEKTsNCgkJCXZhciBydWxlciA9IHRoaXMuZ2V0UnVsZXIoaW5kZXgpOw0KCQkJcmV0dXJuIHlTY2FsZS5vcHRpb25zLnN0YWNrZWQgPyBydWxlci5jYXRlZ29yeUhlaWdodCA6IHJ1bGVyLmJhckhlaWdodDsNCgkJfSwNCg0KCQljYWxjdWxhdGVCYXJYOiBmdW5jdGlvbiAoaW5kZXgsIGRhdGFzZXRJbmRleCkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciB4U2NhbGUgPSB0aGlzLmdldFNjYWxlRm9ySWQobWV0YS54QXhpc0lEKTsNCgkJCXZhciB2YWx1ZSA9IHRoaXMuZ2V0RGF0YXNldCgpLmRhdGFbaW5kZXhdOw0KDQoJCQlpZiAoeFNjYWxlLm9wdGlvbnMuc3RhY2tlZCkgew0KDQoJCQkJdmFyIHN1bVBvcyA9IDAsDQoJCQkJCXN1bU5lZyA9IDA7DQoNCgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGRhdGFzZXRJbmRleDsgaSsrKSB7DQoJCQkJCXZhciBkcyA9IHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0c1tpXTsNCgkJCQkJdmFyIGRzTWV0YSA9IHRoaXMuY2hhcnQuZ2V0RGF0YXNldE1ldGEoaSk7DQoJCQkJCWlmIChkc01ldGEuYmFyICYmIGRzTWV0YS54QXhpc0lEID09PSB4U2NhbGUuaWQgJiYgdGhpcy5jaGFydC5pc0RhdGFzZXRWaXNpYmxlKGkpKSB7DQoJCQkJCQlpZiAoZHMuZGF0YVtpbmRleF0gPCAwKSB7DQoJCQkJCQkJc3VtTmVnICs9IGRzLmRhdGFbaW5kZXhdIHx8IDA7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXN1bVBvcyArPSBkcy5kYXRhW2luZGV4XSB8fCAwOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJaWYgKHZhbHVlIDwgMCkgew0KCQkJCQlyZXR1cm4geFNjYWxlLmdldFBpeGVsRm9yVmFsdWUoc3VtTmVnICsgdmFsdWUpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXJldHVybiB4U2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZShzdW1Qb3MgKyB2YWx1ZSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4geFNjYWxlLmdldFBpeGVsRm9yVmFsdWUodmFsdWUpOw0KCQl9LA0KDQoJCWNhbGN1bGF0ZUJhclk6IGZ1bmN0aW9uIChpbmRleCwgZGF0YXNldEluZGV4KSB7DQoJCQl2YXIgbWV0YSA9IHRoaXMuZ2V0TWV0YSgpOw0KCQkJdmFyIHlTY2FsZSA9IHRoaXMuZ2V0U2NhbGVGb3JJZChtZXRhLnlBeGlzSUQpOw0KCQkJdmFyIGJhckluZGV4ID0gdGhpcy5nZXRCYXJJbmRleChkYXRhc2V0SW5kZXgpOw0KDQoJCQl2YXIgcnVsZXIgPSB0aGlzLmdldFJ1bGVyKGluZGV4KTsNCgkJCXZhciB0b3BUaWNrID0geVNjYWxlLmdldFBpeGVsRm9yVmFsdWUobnVsbCwgaW5kZXgsIGRhdGFzZXRJbmRleCwgdGhpcy5jaGFydC5pc0NvbWJvKTsNCgkJCXRvcFRpY2sgLT0gdGhpcy5jaGFydC5pc0NvbWJvID8gKHJ1bGVyLnRpY2tIZWlnaHQgLyAyKSA6IDA7DQoNCgkJCWlmICh5U2NhbGUub3B0aW9ucy5zdGFja2VkKSB7DQoJCQkJcmV0dXJuIHRvcFRpY2sgKyAocnVsZXIuY2F0ZWdvcnlIZWlnaHQgLyAyKSArIHJ1bGVyLmNhdGVnb3J5U3BhY2luZzsNCgkJCX0NCg0KCQkJcmV0dXJuIHRvcFRpY2sgKw0KCQkJCShydWxlci5iYXJIZWlnaHQgLyAyKSArDQoJCQkJcnVsZXIuY2F0ZWdvcnlTcGFjaW5nICsNCgkJCQkocnVsZXIuYmFySGVpZ2h0ICogYmFySW5kZXgpICsNCgkJCQkocnVsZXIuYmFyU3BhY2luZyAvIDIpICsNCgkJCQkocnVsZXIuYmFyU3BhY2luZyAqIGJhckluZGV4KTsNCgkJfQ0KCX0pOw0KfTsNCgp9LHt9XSwxNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzOw0KDQoJQ2hhcnQuZGVmYXVsdHMuYnViYmxlID0gew0KCQlob3Zlcjogew0KCQkJbW9kZTogInNpbmdsZSINCgkJfSwNCg0KCQlzY2FsZXM6IHsNCgkJCXhBeGVzOiBbew0KCQkJCXR5cGU6ICJsaW5lYXIiLCAvLyBidWJibGUgc2hvdWxkIHByb2JhYmx5IHVzZSBhIGxpbmVhciBzY2FsZSBieSBkZWZhdWx0DQoJCQkJcG9zaXRpb246ICJib3R0b20iLA0KCQkJCWlkOiAieC1heGlzLTAiIC8vIG5lZWQgYW4gSUQgc28gZGF0YXNldHMgY2FuIHJlZmVyZW5jZSB0aGUgc2NhbGUNCgkJCX1dLA0KCQkJeUF4ZXM6IFt7DQoJCQkJdHlwZTogImxpbmVhciIsDQoJCQkJcG9zaXRpb246ICJsZWZ0IiwNCgkJCQlpZDogInktYXhpcy0wIg0KCQkJfV0NCgkJfSwNCg0KCQl0b29sdGlwczogew0KCQkJY2FsbGJhY2tzOiB7DQoJCQkJdGl0bGU6IGZ1bmN0aW9uKHRvb2x0aXBJdGVtcywgZGF0YSkgew0KCQkJCQkvLyBUaXRsZSBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIHNjYXR0ZXIgc2luY2Ugd2UgZm9ybWF0IHRoZSBkYXRhIGFzIGEgcG9pbnQNCgkJCQkJcmV0dXJuICcnOw0KCQkJCX0sDQoJCQkJbGFiZWw6IGZ1bmN0aW9uKHRvb2x0aXBJdGVtLCBkYXRhKSB7DQoJCQkJCXZhciBkYXRhc2V0TGFiZWwgPSBkYXRhLmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0ubGFiZWwgfHwgJyc7DQoJCQkJCXZhciBkYXRhUG9pbnQgPSBkYXRhLmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0uZGF0YVt0b29sdGlwSXRlbS5pbmRleF07DQoJCQkJCXJldHVybiBkYXRhc2V0TGFiZWwgKyAnOiAoJyArIGRhdGFQb2ludC54ICsgJywgJyArIGRhdGFQb2ludC55ICsgJywgJyArIGRhdGFQb2ludC5yICsgJyknOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX07DQoNCglDaGFydC5jb250cm9sbGVycy5idWJibGUgPSBDaGFydC5EYXRhc2V0Q29udHJvbGxlci5leHRlbmQoew0KDQoJCWRhdGFFbGVtZW50VHlwZTogQ2hhcnQuZWxlbWVudHMuUG9pbnQsDQoNCgkJdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUocmVzZXQpIHsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7DQoJCQl2YXIgcG9pbnRzID0gbWV0YS5kYXRhOw0KDQoJCQkvLyBVcGRhdGUgUG9pbnRzDQoJCQloZWxwZXJzLmVhY2gocG9pbnRzLCBmdW5jdGlvbihwb2ludCwgaW5kZXgpIHsNCgkJCQl0aGlzLnVwZGF0ZUVsZW1lbnQocG9pbnQsIGluZGV4LCByZXNldCk7DQoJCQl9LCB0aGlzKTsNCgkJfSwNCg0KCQl1cGRhdGVFbGVtZW50OiBmdW5jdGlvbihwb2ludCwgaW5kZXgsIHJlc2V0KSB7DQoJCQl2YXIgbWV0YSA9IHRoaXMuZ2V0TWV0YSgpOw0KCQkJdmFyIHhTY2FsZSA9IHRoaXMuZ2V0U2NhbGVGb3JJZChtZXRhLnhBeGlzSUQpOw0KCQkJdmFyIHlTY2FsZSA9IHRoaXMuZ2V0U2NhbGVGb3JJZChtZXRhLnlBeGlzSUQpOw0KDQoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9Ow0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmdldERhdGFzZXQoKTsNCgkJCXZhciBkYXRhID0gZGF0YXNldC5kYXRhW2luZGV4XTsNCgkJCXZhciBwb2ludEVsZW1lbnRPcHRpb25zID0gdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLnBvaW50Ow0KDQoJCQloZWxwZXJzLmV4dGVuZChwb2ludCwgew0KCQkJCS8vIFV0aWxpdHkNCgkJCQlfeFNjYWxlOiB4U2NhbGUsDQoJCQkJX3lTY2FsZTogeVNjYWxlLA0KCQkJCV9kYXRhc2V0SW5kZXg6IHRoaXMuaW5kZXgsDQoJCQkJX2luZGV4OiBpbmRleCwNCg0KCQkJCS8vIERlc2lyZWQgdmlldyBwcm9wZXJ0aWVzDQoJCQkJX21vZGVsOiB7DQoJCQkJCXg6IHJlc2V0ID8geFNjYWxlLmdldFBpeGVsRm9yRGVjaW1hbCgwLjUpIDogeFNjYWxlLmdldFBpeGVsRm9yVmFsdWUoZGF0YSwgaW5kZXgsIHRoaXMuaW5kZXgsIHRoaXMuY2hhcnQuaXNDb21ibyksDQoJCQkJCXk6IHJlc2V0ID8geVNjYWxlLmdldEJhc2VQaXhlbCgpIDogeVNjYWxlLmdldFBpeGVsRm9yVmFsdWUoZGF0YSwgaW5kZXgsIHRoaXMuaW5kZXgpLA0KCQkJCQkvLyBBcHBlYXJhbmNlDQoJCQkJCXJhZGl1czogcmVzZXQgPyAwIDogY3VzdG9tLnJhZGl1cyA/IGN1c3RvbS5yYWRpdXMgOiB0aGlzLmdldFJhZGl1cyhkYXRhKSwNCgkJCQkJYmFja2dyb3VuZENvbG9yOiBjdXN0b20uYmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmJhY2tncm91bmRDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYmFja2dyb3VuZENvbG9yLCBpbmRleCwgcG9pbnRFbGVtZW50T3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpLA0KCQkJCQlib3JkZXJDb2xvcjogY3VzdG9tLmJvcmRlckNvbG9yID8gY3VzdG9tLmJvcmRlckNvbG9yIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ib3JkZXJDb2xvciwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuYm9yZGVyQ29sb3IpLA0KCQkJCQlib3JkZXJXaWR0aDogY3VzdG9tLmJvcmRlcldpZHRoID8gY3VzdG9tLmJvcmRlcldpZHRoIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ib3JkZXJXaWR0aCwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuYm9yZGVyV2lkdGgpLA0KDQoJCQkJCS8vIFRvb2x0aXANCgkJCQkJaGl0UmFkaXVzOiBjdXN0b20uaGl0UmFkaXVzID8gY3VzdG9tLmhpdFJhZGl1cyA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuaGl0UmFkaXVzLCBpbmRleCwgcG9pbnRFbGVtZW50T3B0aW9ucy5oaXRSYWRpdXMpDQoJCQkJfQ0KCQkJfSk7DQoNCgkJCXZhciBtb2RlbCA9IHBvaW50Ll9tb2RlbDsNCgkJCW1vZGVsLnNraXAgPSBjdXN0b20uc2tpcCA/IGN1c3RvbS5za2lwIDogKGlzTmFOKG1vZGVsLngpIHx8IGlzTmFOKG1vZGVsLnkpKTsNCg0KCQkJcG9pbnQucGl2b3QoKTsNCgkJfSwNCg0KCQlnZXRSYWRpdXM6IGZ1bmN0aW9uKHZhbHVlKSB7DQoJCQlyZXR1cm4gdmFsdWUuciB8fCB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQucmFkaXVzOw0KCQl9LA0KDQoJCXNldEhvdmVyU3R5bGU6IGZ1bmN0aW9uKHBvaW50KSB7DQoJCQkvLyBQb2ludA0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbcG9pbnQuX2RhdGFzZXRJbmRleF07DQoJCQl2YXIgaW5kZXggPSBwb2ludC5faW5kZXg7DQoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9Ow0KCQkJdmFyIG1vZGVsID0gcG9pbnQuX21vZGVsOw0KDQoJCQltb2RlbC5yYWRpdXMgPSBjdXN0b20uaG92ZXJSYWRpdXMgPyBjdXN0b20uaG92ZXJSYWRpdXMgOiAoaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ob3ZlclJhZGl1cywgaW5kZXgsIHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5wb2ludC5ob3ZlclJhZGl1cykpICsgdGhpcy5nZXRSYWRpdXModGhpcy5nZXREYXRhc2V0KCkuZGF0YVtwb2ludC5faW5kZXhdKTsNCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuaG92ZXJCYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBoZWxwZXJzLmdldEhvdmVyQ29sb3IobW9kZWwuYmFja2dyb3VuZENvbG9yKSk7DQoJCQltb2RlbC5ib3JkZXJDb2xvciA9IGN1c3RvbS5ob3ZlckJvcmRlckNvbG9yID8gY3VzdG9tLmhvdmVyQm9yZGVyQ29sb3IgOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmhvdmVyQm9yZGVyQ29sb3IsIGluZGV4LCBoZWxwZXJzLmdldEhvdmVyQ29sb3IobW9kZWwuYm9yZGVyQ29sb3IpKTsNCgkJCW1vZGVsLmJvcmRlcldpZHRoID0gY3VzdG9tLmhvdmVyQm9yZGVyV2lkdGggPyBjdXN0b20uaG92ZXJCb3JkZXJXaWR0aCA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuaG92ZXJCb3JkZXJXaWR0aCwgaW5kZXgsIG1vZGVsLmJvcmRlcldpZHRoKTsNCgkJfSwNCg0KCQlyZW1vdmVIb3ZlclN0eWxlOiBmdW5jdGlvbihwb2ludCkgew0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbcG9pbnQuX2RhdGFzZXRJbmRleF07DQoJCQl2YXIgaW5kZXggPSBwb2ludC5faW5kZXg7DQoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9Ow0KCQkJdmFyIG1vZGVsID0gcG9pbnQuX21vZGVsOw0KCQkJdmFyIHBvaW50RWxlbWVudE9wdGlvbnMgPSB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQ7DQoNCgkJCW1vZGVsLnJhZGl1cyA9IGN1c3RvbS5yYWRpdXMgPyBjdXN0b20ucmFkaXVzIDogdGhpcy5nZXRSYWRpdXMoZGF0YXNldC5kYXRhW3BvaW50Ll9pbmRleF0pOw0KCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJhY2tncm91bmRDb2xvciwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuYmFja2dyb3VuZENvbG9yKTsNCgkJCW1vZGVsLmJvcmRlckNvbG9yID0gY3VzdG9tLmJvcmRlckNvbG9yID8gY3VzdG9tLmJvcmRlckNvbG9yIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ib3JkZXJDb2xvciwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuYm9yZGVyQ29sb3IpOw0KCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlcldpZHRoLCBpbmRleCwgcG9pbnRFbGVtZW50T3B0aW9ucy5ib3JkZXJXaWR0aCk7DQoJCX0NCgl9KTsNCn07DQoKfSx7fV0sMTc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVycywNCgkJZGVmYXVsdHMgPSBDaGFydC5kZWZhdWx0czsNCg0KCWRlZmF1bHRzLmRvdWdobnV0ID0gew0KCQlhbmltYXRpb246IHsNCgkJCS8vQm9vbGVhbiAtIFdoZXRoZXIgd2UgYW5pbWF0ZSB0aGUgcm90YXRpb24gb2YgdGhlIERvdWdobnV0DQoJCQlhbmltYXRlUm90YXRlOiB0cnVlLA0KCQkJLy9Cb29sZWFuIC0gV2hldGhlciB3ZSBhbmltYXRlIHNjYWxpbmcgdGhlIERvdWdobnV0IGZyb20gdGhlIGNlbnRyZQ0KCQkJYW5pbWF0ZVNjYWxlOiBmYWxzZQ0KCQl9LA0KCQlhc3BlY3RSYXRpbzogMSwNCgkJaG92ZXI6IHsNCgkJCW1vZGU6ICdzaW5nbGUnDQoJCX0sDQoJCWxlZ2VuZENhbGxiYWNrOiBmdW5jdGlvbihjaGFydCkgew0KCQkJdmFyIHRleHQgPSBbXTsNCgkJCXRleHQucHVzaCgnPHVsIGNsYXNzPSInICsgY2hhcnQuaWQgKyAnLWxlZ2VuZCI+Jyk7DQoNCgkJCXZhciBkYXRhID0gY2hhcnQuZGF0YTsNCgkJCXZhciBkYXRhc2V0cyA9IGRhdGEuZGF0YXNldHM7DQoJCQl2YXIgbGFiZWxzID0gZGF0YS5sYWJlbHM7DQoNCgkJCWlmIChkYXRhc2V0cy5sZW5ndGgpIHsNCgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGRhdGFzZXRzWzBdLmRhdGEubGVuZ3RoOyArK2kpIHsNCgkJCQkJdGV4dC5wdXNoKCc8bGk+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6JyArIGRhdGFzZXRzWzBdLmJhY2tncm91bmRDb2xvcltpXSArICciPjwvc3Bhbj4nKTsNCgkJCQkJaWYgKGxhYmVsc1tpXSkgew0KCQkJCQkJdGV4dC5wdXNoKGxhYmVsc1tpXSk7DQoJCQkJCX0NCgkJCQkJdGV4dC5wdXNoKCc8L2xpPicpOw0KCQkJCX0NCgkJCX0NCg0KCQkJdGV4dC5wdXNoKCc8L3VsPicpOw0KCQkJcmV0dXJuIHRleHQuam9pbigiIik7DQoJCX0sDQoJCWxlZ2VuZDogew0KCQkJbGFiZWxzOiB7DQoJCQkJZ2VuZXJhdGVMYWJlbHM6IGZ1bmN0aW9uKGNoYXJ0KSB7DQoJCQkJCXZhciBkYXRhID0gY2hhcnQuZGF0YTsNCgkJCQkJaWYgKGRhdGEubGFiZWxzLmxlbmd0aCAmJiBkYXRhLmRhdGFzZXRzLmxlbmd0aCkgew0KCQkJCQkJcmV0dXJuIGRhdGEubGFiZWxzLm1hcChmdW5jdGlvbihsYWJlbCwgaSkgew0KCQkJCQkJCXZhciBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoMCk7DQoJCQkJCQkJdmFyIGRzID0gZGF0YS5kYXRhc2V0c1swXTsNCgkJCQkJCQl2YXIgYXJjID0gbWV0YS5kYXRhW2ldOw0KCQkJCQkJCXZhciBjdXN0b20gPSBhcmMuY3VzdG9tIHx8IHt9Ow0KCQkJCQkJCXZhciBnZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQgPSBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdDsNCgkJCQkJCQl2YXIgYXJjT3B0cyA9IGNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMuYXJjOw0KCQkJCQkJCXZhciBmaWxsID0gY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiBnZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZHMuYmFja2dyb3VuZENvbG9yLCBpLCBhcmNPcHRzLmJhY2tncm91bmRDb2xvcik7DQoJCQkJCQkJdmFyIHN0cm9rZSA9IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IGdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkcy5ib3JkZXJDb2xvciwgaSwgYXJjT3B0cy5ib3JkZXJDb2xvcik7DQoJCQkJCQkJdmFyIGJ3ID0gY3VzdG9tLmJvcmRlcldpZHRoID8gY3VzdG9tLmJvcmRlcldpZHRoIDogZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRzLmJvcmRlcldpZHRoLCBpLCBhcmNPcHRzLmJvcmRlcldpZHRoKTsNCg0KCQkJCQkJCXJldHVybiB7DQoJCQkJCQkJCXRleHQ6IGxhYmVsLA0KCQkJCQkJCQlmaWxsU3R5bGU6IGZpbGwsDQoJCQkJCQkJCXN0cm9rZVN0eWxlOiBzdHJva2UsDQoJCQkJCQkJCWxpbmVXaWR0aDogYncsDQoJCQkJCQkJCWhpZGRlbjogaXNOYU4oZHMuZGF0YVtpXSkgfHwgbWV0YS5kYXRhW2ldLmhpZGRlbiwNCg0KCQkJCQkJCQkvLyBFeHRyYSBkYXRhIHVzZWQgZm9yIHRvZ2dsaW5nIHRoZSBjb3JyZWN0IGl0ZW0NCgkJCQkJCQkJaW5kZXg6IGkNCgkJCQkJCQl9Ow0KCQkJCQkJfSk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlyZXR1cm4gW107DQoJCQkJCX0NCgkJCQl9DQoJCQl9LA0KDQoJCQlvbkNsaWNrOiBmdW5jdGlvbihlLCBsZWdlbmRJdGVtKSB7DQoJCQkJdmFyIGluZGV4ID0gbGVnZW5kSXRlbS5pbmRleDsNCgkJCQl2YXIgY2hhcnQgPSB0aGlzLmNoYXJ0Ow0KCQkJCXZhciBpLCBpbGVuLCBtZXRhOw0KDQoJCQkJZm9yIChpID0gMCwgaWxlbiA9IChjaGFydC5kYXRhLmRhdGFzZXRzIHx8IFtdKS5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsNCgkJCQkJbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGkpOw0KCQkJCQltZXRhLmRhdGFbaW5kZXhdLmhpZGRlbiA9ICFtZXRhLmRhdGFbaW5kZXhdLmhpZGRlbjsNCgkJCQl9DQoNCgkJCQljaGFydC51cGRhdGUoKTsNCgkJCX0NCgkJfSwNCg0KCQkvL1RoZSBwZXJjZW50YWdlIG9mIHRoZSBjaGFydCB0aGF0IHdlIGN1dCBvdXQgb2YgdGhlIG1pZGRsZS4NCgkJY3V0b3V0UGVyY2VudGFnZTogNTAsDQoNCgkJLy9UaGUgcm90YXRpb24gb2YgdGhlIGNoYXJ0LCB3aGVyZSB0aGUgZmlyc3QgZGF0YSBhcmMgYmVnaW5zLg0KCQlyb3RhdGlvbjogTWF0aC5QSSAqIC0wLjUsDQoNCgkJLy9UaGUgdG90YWwgY2lyY3VtZmVyZW5jZSBvZiB0aGUgY2hhcnQuDQoJCWNpcmN1bWZlcmVuY2U6IE1hdGguUEkgKiAyLjAsDQoNCgkJLy8gTmVlZCB0byBvdmVycmlkZSB0aGVzZSB0byBnaXZlIGEgbmljZSBkZWZhdWx0DQoJCXRvb2x0aXBzOiB7DQoJCQljYWxsYmFja3M6IHsNCgkJCQl0aXRsZTogZnVuY3Rpb24oKSB7DQoJCQkJCXJldHVybiAnJzsNCgkJCQl9LA0KCQkJCWxhYmVsOiBmdW5jdGlvbih0b29sdGlwSXRlbSwgZGF0YSkgew0KCQkJCQlyZXR1cm4gZGF0YS5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdICsgJzogJyArIGRhdGEuZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XS5kYXRhW3Rvb2x0aXBJdGVtLmluZGV4XTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9Ow0KDQoJZGVmYXVsdHMucGllID0gaGVscGVycy5jbG9uZShkZWZhdWx0cy5kb3VnaG51dCk7DQoJaGVscGVycy5leHRlbmQoZGVmYXVsdHMucGllLCB7DQoJCWN1dG91dFBlcmNlbnRhZ2U6IDANCgl9KTsNCg0KDQoJQ2hhcnQuY29udHJvbGxlcnMuZG91Z2hudXQgPSBDaGFydC5jb250cm9sbGVycy5waWUgPSBDaGFydC5EYXRhc2V0Q29udHJvbGxlci5leHRlbmQoew0KDQoJCWRhdGFFbGVtZW50VHlwZTogQ2hhcnQuZWxlbWVudHMuQXJjLA0KDQoJCWxpbmtTY2FsZXM6IGhlbHBlcnMubm9vcCwNCg0KCQkvLyBHZXQgaW5kZXggb2YgdGhlIGRhdGFzZXQgaW4gcmVsYXRpb24gdG8gdGhlIHZpc2libGUgZGF0YXNldHMuIFRoaXMgYWxsb3dzIGRldGVybWluaW5nIHRoZSBpbm5lciBhbmQgb3V0ZXIgcmFkaXVzIGNvcnJlY3RseQ0KCQlnZXRSaW5nSW5kZXg6IGZ1bmN0aW9uIGdldFJpbmdJbmRleChkYXRhc2V0SW5kZXgpIHsNCgkJCXZhciByaW5nSW5kZXggPSAwOw0KDQoJCQlmb3IgKHZhciBqID0gMDsgaiA8IGRhdGFzZXRJbmRleDsgKytqKSB7DQoJCQkJaWYgKHRoaXMuY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShqKSkgew0KCQkJCQkrK3JpbmdJbmRleDsNCgkJCQl9DQoJCQl9DQoNCgkJCXJldHVybiByaW5nSW5kZXg7DQoJCX0sDQoNCgkJdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUocmVzZXQpIHsNCgkJCXZhciBfdGhpcyA9IHRoaXM7DQoJCQl2YXIgY2hhcnQgPSBfdGhpcy5jaGFydCwNCgkJCQljaGFydEFyZWEgPSBjaGFydC5jaGFydEFyZWEsDQoJCQkJb3B0cyA9IGNoYXJ0Lm9wdGlvbnMsDQoJCQkJYXJjT3B0cyA9IG9wdHMuZWxlbWVudHMuYXJjLA0KCQkJCWF2YWlsYWJsZVdpZHRoID0gY2hhcnRBcmVhLnJpZ2h0IC0gY2hhcnRBcmVhLmxlZnQgLSBhcmNPcHRzLmJvcmRlcldpZHRoLA0KCQkJCWF2YWlsYWJsZUhlaWdodCA9IGNoYXJ0QXJlYS5ib3R0b20gLSBjaGFydEFyZWEudG9wIC0gYXJjT3B0cy5ib3JkZXJXaWR0aCwNCgkJCQltaW5TaXplID0gTWF0aC5taW4oYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCksDQoJCQkJb2Zmc2V0ID0gew0KCQkJCQl4OiAwLA0KCQkJCQl5OiAwDQoJCQkJfSwNCgkJCQltZXRhID0gX3RoaXMuZ2V0TWV0YSgpLA0KCQkJCWN1dG91dFBlcmNlbnRhZ2UgPSBvcHRzLmN1dG91dFBlcmNlbnRhZ2UsDQoJCQkJY2lyY3VtZmVyZW5jZSA9IG9wdHMuY2lyY3VtZmVyZW5jZTsNCg0KCQkJLy8gSWYgdGhlIGNoYXJ0J3MgY2lyY3VtZmVyZW5jZSBpc24ndCBhIGZ1bGwgY2lyY2xlLCBjYWxjdWxhdGUgbWluU2l6ZSBhcyBhIHJhdGlvIG9mIHRoZSB3aWR0aC9oZWlnaHQgb2YgdGhlIGFyYw0KCQkJaWYgKGNpcmN1bWZlcmVuY2UgPCBNYXRoLlBJICogMi4wKSB7DQoJCQkJdmFyIHN0YXJ0QW5nbGUgPSBvcHRzLnJvdGF0aW9uICUgKE1hdGguUEkgKiAyLjApOw0KCQkJCXN0YXJ0QW5nbGUgKz0gTWF0aC5QSSAqIDIuMCAqIChzdGFydEFuZ2xlID49IE1hdGguUEkgPyAtMSA6IHN0YXJ0QW5nbGUgPCAtTWF0aC5QSSA/IDEgOiAwKTsNCgkJCQl2YXIgZW5kQW5nbGUgPSBzdGFydEFuZ2xlICsgY2lyY3VtZmVyZW5jZTsNCgkJCQl2YXIgc3RhcnQgPSB7eDogTWF0aC5jb3Moc3RhcnRBbmdsZSksIHk6IE1hdGguc2luKHN0YXJ0QW5nbGUpfTsNCgkJCQl2YXIgZW5kID0ge3g6IE1hdGguY29zKGVuZEFuZ2xlKSwgeTogTWF0aC5zaW4oZW5kQW5nbGUpfTsNCgkJCQl2YXIgY29udGFpbnMwID0gKHN0YXJ0QW5nbGUgPD0gMCAmJiAwIDw9IGVuZEFuZ2xlKSB8fCAoc3RhcnRBbmdsZSA8PSBNYXRoLlBJICogMi4wICYmIE1hdGguUEkgKiAyLjAgPD0gZW5kQW5nbGUpOw0KCQkJCXZhciBjb250YWluczkwID0gKHN0YXJ0QW5nbGUgPD0gTWF0aC5QSSAqIDAuNSAmJiBNYXRoLlBJICogMC41IDw9IGVuZEFuZ2xlKSB8fCAoc3RhcnRBbmdsZSA8PSBNYXRoLlBJICogMi41ICYmIE1hdGguUEkgKiAyLjUgPD0gZW5kQW5nbGUpOw0KCQkJCXZhciBjb250YWluczE4MCA9IChzdGFydEFuZ2xlIDw9IC1NYXRoLlBJICYmIC1NYXRoLlBJIDw9IGVuZEFuZ2xlKSB8fCAoc3RhcnRBbmdsZSA8PSBNYXRoLlBJICYmIE1hdGguUEkgPD0gZW5kQW5nbGUpOw0KCQkJCXZhciBjb250YWluczI3MCA9IChzdGFydEFuZ2xlIDw9IC1NYXRoLlBJICogMC41ICYmIC1NYXRoLlBJICogMC41IDw9IGVuZEFuZ2xlKSB8fCAoc3RhcnRBbmdsZSA8PSBNYXRoLlBJICogMS41ICYmIE1hdGguUEkgKiAxLjUgPD0gZW5kQW5nbGUpOw0KCQkJCXZhciBjdXRvdXQgPSBjdXRvdXRQZXJjZW50YWdlIC8gMTAwLjA7DQoJCQkJdmFyIG1pbiA9IHt4OiBjb250YWluczE4MCA/IC0xIDogTWF0aC5taW4oc3RhcnQueCAqIChzdGFydC54IDwgMCA/IDEgOiBjdXRvdXQpLCBlbmQueCAqIChlbmQueCA8IDAgPyAxIDogY3V0b3V0KSksIHk6IGNvbnRhaW5zMjcwID8gLTEgOiBNYXRoLm1pbihzdGFydC55ICogKHN0YXJ0LnkgPCAwID8gMSA6IGN1dG91dCksIGVuZC55ICogKGVuZC55IDwgMCA/IDEgOiBjdXRvdXQpKX07DQoJCQkJdmFyIG1heCA9IHt4OiBjb250YWluczAgPyAxIDogTWF0aC5tYXgoc3RhcnQueCAqIChzdGFydC54ID4gMCA/IDEgOiBjdXRvdXQpLCBlbmQueCAqIChlbmQueCA+IDAgPyAxIDogY3V0b3V0KSksIHk6IGNvbnRhaW5zOTAgPyAxIDogTWF0aC5tYXgoc3RhcnQueSAqIChzdGFydC55ID4gMCA/IDEgOiBjdXRvdXQpLCBlbmQueSAqIChlbmQueSA+IDAgPyAxIDogY3V0b3V0KSl9Ow0KCQkJCXZhciBzaXplID0ge3dpZHRoOiAobWF4LnggLSBtaW4ueCkgKiAwLjUsIGhlaWdodDogKG1heC55IC0gbWluLnkpICogMC41fTsNCgkJCQltaW5TaXplID0gTWF0aC5taW4oYXZhaWxhYmxlV2lkdGggLyBzaXplLndpZHRoLCBhdmFpbGFibGVIZWlnaHQgLyBzaXplLmhlaWdodCk7DQoJCQkJb2Zmc2V0ID0ge3g6IChtYXgueCArIG1pbi54KSAqIC0wLjUsIHk6IChtYXgueSArIG1pbi55KSAqIC0wLjV9Ow0KCQkJfQ0KDQoJCQljaGFydC5vdXRlclJhZGl1cyA9IE1hdGgubWF4KG1pblNpemUgLyAyLCAwKTsNCgkJCWNoYXJ0LmlubmVyUmFkaXVzID0gTWF0aC5tYXgoY3V0b3V0UGVyY2VudGFnZSA/IChjaGFydC5vdXRlclJhZGl1cyAvIDEwMCkgKiAoY3V0b3V0UGVyY2VudGFnZSkgOiAxLCAwKTsNCgkJCWNoYXJ0LnJhZGl1c0xlbmd0aCA9IChjaGFydC5vdXRlclJhZGl1cyAtIGNoYXJ0LmlubmVyUmFkaXVzKSAvIGNoYXJ0LmdldFZpc2libGVEYXRhc2V0Q291bnQoKTsNCgkJCWNoYXJ0Lm9mZnNldFggPSBvZmZzZXQueCAqIGNoYXJ0Lm91dGVyUmFkaXVzOw0KCQkJY2hhcnQub2Zmc2V0WSA9IG9mZnNldC55ICogY2hhcnQub3V0ZXJSYWRpdXM7DQoNCgkJCW1ldGEudG90YWwgPSBfdGhpcy5jYWxjdWxhdGVUb3RhbCgpOw0KDQoJCQlfdGhpcy5vdXRlclJhZGl1cyA9IGNoYXJ0Lm91dGVyUmFkaXVzIC0gKGNoYXJ0LnJhZGl1c0xlbmd0aCAqIF90aGlzLmdldFJpbmdJbmRleChfdGhpcy5pbmRleCkpOw0KCQkJX3RoaXMuaW5uZXJSYWRpdXMgPSBfdGhpcy5vdXRlclJhZGl1cyAtIGNoYXJ0LnJhZGl1c0xlbmd0aDsNCg0KCQkJaGVscGVycy5lYWNoKG1ldGEuZGF0YSwgZnVuY3Rpb24oYXJjLCBpbmRleCkgew0KCQkJCV90aGlzLnVwZGF0ZUVsZW1lbnQoYXJjLCBpbmRleCwgcmVzZXQpOw0KCQkJfSk7DQoJCX0sDQoNCgkJdXBkYXRlRWxlbWVudDogZnVuY3Rpb24oYXJjLCBpbmRleCwgcmVzZXQpIHsNCgkJCXZhciBfdGhpcyA9IHRoaXM7DQoJCQl2YXIgY2hhcnQgPSBfdGhpcy5jaGFydCwNCgkJCQljaGFydEFyZWEgPSBjaGFydC5jaGFydEFyZWEsDQoJCQkJb3B0cyA9IGNoYXJ0Lm9wdGlvbnMsDQoJCQkJYW5pbWF0aW9uT3B0cyA9IG9wdHMuYW5pbWF0aW9uLA0KCQkJCWFyY09wdHMgPSBvcHRzLmVsZW1lbnRzLmFyYywNCgkJCQljZW50ZXJYID0gKGNoYXJ0QXJlYS5sZWZ0ICsgY2hhcnRBcmVhLnJpZ2h0KSAvIDIsDQoJCQkJY2VudGVyWSA9IChjaGFydEFyZWEudG9wICsgY2hhcnRBcmVhLmJvdHRvbSkgLyAyLA0KCQkJCXN0YXJ0QW5nbGUgPSBvcHRzLnJvdGF0aW9uLCAvLyBub24gcmVzZXQgY2FzZSBoYW5kbGVkIGxhdGVyDQoJCQkJZW5kQW5nbGUgPSBvcHRzLnJvdGF0aW9uLCAvLyBub24gcmVzZXQgY2FzZSBoYW5kbGVkIGxhdGVyDQoJCQkJZGF0YXNldCA9IF90aGlzLmdldERhdGFzZXQoKSwNCgkJCQljaXJjdW1mZXJlbmNlID0gcmVzZXQgJiYgYW5pbWF0aW9uT3B0cy5hbmltYXRlUm90YXRlID8gMCA6IGFyYy5oaWRkZW4gPyAwIDogX3RoaXMuY2FsY3VsYXRlQ2lyY3VtZmVyZW5jZShkYXRhc2V0LmRhdGFbaW5kZXhdKSAqIChvcHRzLmNpcmN1bWZlcmVuY2UgLyAoMi4wICogTWF0aC5QSSkpLA0KCQkJCWlubmVyUmFkaXVzID0gcmVzZXQgJiYgYW5pbWF0aW9uT3B0cy5hbmltYXRlU2NhbGUgPyAwIDogX3RoaXMuaW5uZXJSYWRpdXMsDQoJCQkJb3V0ZXJSYWRpdXMgPSByZXNldCAmJiBhbmltYXRpb25PcHRzLmFuaW1hdGVTY2FsZSA/IDAgOiBfdGhpcy5vdXRlclJhZGl1cywNCgkJCQljdXN0b20gPSBhcmMuY3VzdG9tIHx8IHt9LA0KCQkJCXZhbHVlQXRJbmRleE9yRGVmYXVsdCA9IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0Ow0KDQoJCQloZWxwZXJzLmV4dGVuZChhcmMsIHsNCgkJCQkvLyBVdGlsaXR5DQoJCQkJX2RhdGFzZXRJbmRleDogX3RoaXMuaW5kZXgsDQoJCQkJX2luZGV4OiBpbmRleCwNCg0KCQkJCS8vIERlc2lyZWQgdmlldyBwcm9wZXJ0aWVzDQoJCQkJX21vZGVsOiB7DQoJCQkJCXg6IGNlbnRlclggKyBjaGFydC5vZmZzZXRYLA0KCQkJCQl5OiBjZW50ZXJZICsgY2hhcnQub2Zmc2V0WSwNCgkJCQkJc3RhcnRBbmdsZTogc3RhcnRBbmdsZSwNCgkJCQkJZW5kQW5nbGU6IGVuZEFuZ2xlLA0KCQkJCQljaXJjdW1mZXJlbmNlOiBjaXJjdW1mZXJlbmNlLA0KCQkJCQlvdXRlclJhZGl1czogb3V0ZXJSYWRpdXMsDQoJCQkJCWlubmVyUmFkaXVzOiBpbm5lclJhZGl1cywNCgkJCQkJbGFiZWw6IHZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmxhYmVsLCBpbmRleCwgY2hhcnQuZGF0YS5sYWJlbHNbaW5kZXhdKQ0KCQkJCX0NCgkJCX0pOw0KDQoJCQl2YXIgbW9kZWwgPSBhcmMuX21vZGVsOw0KCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiB2YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5iYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBhcmNPcHRzLmJhY2tncm91bmRDb2xvcik7DQoJCQltb2RlbC5ob3ZlckJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA6IHZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmhvdmVyQmFja2dyb3VuZENvbG9yLCBpbmRleCwgYXJjT3B0cy5ob3ZlckJhY2tncm91bmRDb2xvcik7DQoJCQltb2RlbC5ib3JkZXJXaWR0aCA9IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IHZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlcldpZHRoLCBpbmRleCwgYXJjT3B0cy5ib3JkZXJXaWR0aCk7DQoJCQltb2RlbC5ib3JkZXJDb2xvciA9IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IHZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlckNvbG9yLCBpbmRleCwgYXJjT3B0cy5ib3JkZXJDb2xvcik7DQoNCgkJCS8vIFNldCBjb3JyZWN0IGFuZ2xlcyBpZiBub3QgcmVzZXR0aW5nDQoJCQlpZiAoIXJlc2V0IHx8ICFhbmltYXRpb25PcHRzLmFuaW1hdGVSb3RhdGUpIHsNCgkJCQlpZiAoaW5kZXggPT09IDApIHsNCgkJCQkJbW9kZWwuc3RhcnRBbmdsZSA9IG9wdHMucm90YXRpb247DQoJCQkJfSBlbHNlIHsNCgkJCQkJbW9kZWwuc3RhcnRBbmdsZSA9IF90aGlzLmdldE1ldGEoKS5kYXRhW2luZGV4IC0gMV0uX21vZGVsLmVuZEFuZ2xlOw0KCQkJCX0NCg0KCQkJCW1vZGVsLmVuZEFuZ2xlID0gbW9kZWwuc3RhcnRBbmdsZSArIG1vZGVsLmNpcmN1bWZlcmVuY2U7DQoJCQl9DQoNCgkJCWFyYy5waXZvdCgpOw0KCQl9LA0KDQoJCXJlbW92ZUhvdmVyU3R5bGU6IGZ1bmN0aW9uKGFyYykgew0KCQkJQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIucHJvdG90eXBlLnJlbW92ZUhvdmVyU3R5bGUuY2FsbCh0aGlzLCBhcmMsIHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5hcmMpOw0KCQl9LA0KDQoJCWNhbGN1bGF0ZVRvdGFsOiBmdW5jdGlvbigpIHsNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5nZXREYXRhc2V0KCk7DQoJCQl2YXIgbWV0YSA9IHRoaXMuZ2V0TWV0YSgpOw0KCQkJdmFyIHRvdGFsID0gMDsNCgkJCXZhciB2YWx1ZTsNCg0KCQkJaGVscGVycy5lYWNoKG1ldGEuZGF0YSwgZnVuY3Rpb24oZWxlbWVudCwgaW5kZXgpIHsNCgkJCQl2YWx1ZSA9IGRhdGFzZXQuZGF0YVtpbmRleF07DQoJCQkJaWYgKCFpc05hTih2YWx1ZSkgJiYgIWVsZW1lbnQuaGlkZGVuKSB7DQoJCQkJCXRvdGFsICs9IE1hdGguYWJzKHZhbHVlKTsNCgkJCQl9DQoJCQl9KTsNCg0KCQkJcmV0dXJuIHRvdGFsOw0KCQl9LA0KDQoJCWNhbGN1bGF0ZUNpcmN1bWZlcmVuY2U6IGZ1bmN0aW9uKHZhbHVlKSB7DQoJCQl2YXIgdG90YWwgPSB0aGlzLmdldE1ldGEoKS50b3RhbDsNCgkJCWlmICh0b3RhbCA+IDAgJiYgIWlzTmFOKHZhbHVlKSkgew0KCQkJCXJldHVybiAoTWF0aC5QSSAqIDIuMCkgKiAodmFsdWUgLyB0b3RhbCk7DQoJCQl9IGVsc2Ugew0KCQkJCXJldHVybiAwOw0KCQkJfQ0KCQl9DQoJfSk7DQp9Ow0KCn0se31dLDE4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCgl2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnM7DQoNCglDaGFydC5kZWZhdWx0cy5saW5lID0gew0KCQlzaG93TGluZXM6IHRydWUsDQoNCgkJaG92ZXI6IHsNCgkJCW1vZGU6ICJsYWJlbCINCgkJfSwNCg0KCQlzY2FsZXM6IHsNCgkJCXhBeGVzOiBbew0KCQkJCXR5cGU6ICJjYXRlZ29yeSIsDQoJCQkJaWQ6ICd4LWF4aXMtMCcNCgkJCX1dLA0KCQkJeUF4ZXM6IFt7DQoJCQkJdHlwZTogImxpbmVhciIsDQoJCQkJaWQ6ICd5LWF4aXMtMCcNCgkJCX1dDQoJCX0NCgl9Ow0KDQoJQ2hhcnQuY29udHJvbGxlcnMubGluZSA9IENoYXJ0LkRhdGFzZXRDb250cm9sbGVyLmV4dGVuZCh7DQoNCgkJZGF0YXNldEVsZW1lbnRUeXBlOiBDaGFydC5lbGVtZW50cy5MaW5lLA0KDQoJCWRhdGFFbGVtZW50VHlwZTogQ2hhcnQuZWxlbWVudHMuUG9pbnQsDQoNCgkJYWRkRWxlbWVudEFuZFJlc2V0OiBmdW5jdGlvbihpbmRleCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciBvcHRpb25zID0gbWUuY2hhcnQub3B0aW9uczsNCg0KCQkJQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIucHJvdG90eXBlLmFkZEVsZW1lbnRBbmRSZXNldC5jYWxsKG1lLCBpbmRleCk7DQoNCgkJCS8vIE1ha2Ugc3VyZSBiZXppZXIgY29udHJvbCBwb2ludHMgYXJlIHVwZGF0ZWQNCgkJCWlmIChvcHRpb25zLnNob3dMaW5lcyAmJiBvcHRpb25zLmVsZW1lbnRzLmxpbmUudGVuc2lvbiAhPT0gMCkgew0KCQkJCW1lLnVwZGF0ZUJlemllckNvbnRyb2xQb2ludHMoKTsNCgkJCX0NCgkJfSwNCg0KCQl1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZShyZXNldCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOw0KCQkJdmFyIGxpbmUgPSBtZXRhLmRhdGFzZXQ7DQoJCQl2YXIgcG9pbnRzID0gbWV0YS5kYXRhIHx8IFtdOw0KCQkJdmFyIG9wdGlvbnMgPSBtZS5jaGFydC5vcHRpb25zOw0KCQkJdmFyIGxpbmVFbGVtZW50T3B0aW9ucyA9IG9wdGlvbnMuZWxlbWVudHMubGluZTsNCgkJCXZhciBzY2FsZSA9IG1lLmdldFNjYWxlRm9ySWQobWV0YS55QXhpc0lEKTsNCgkJCXZhciBpLCBpbGVuLCBkYXRhc2V0LCBjdXN0b207DQoNCgkJCS8vIFVwZGF0ZSBMaW5lDQoJCQlpZiAob3B0aW9ucy5zaG93TGluZXMpIHsNCgkJCQlkYXRhc2V0ID0gbWUuZ2V0RGF0YXNldCgpOw0KCQkJCWN1c3RvbSA9IGxpbmUuY3VzdG9tIHx8IHt9Ow0KDQoJCQkJLy8gQ29tcGF0aWJpbGl0eTogSWYgdGhlIHByb3BlcnRpZXMgYXJlIGRlZmluZWQgd2l0aCBvbmx5IHRoZSBvbGQgbmFtZSwgdXNlIHRob3NlIHZhbHVlcw0KCQkJCWlmICgoZGF0YXNldC50ZW5zaW9uICE9PSB1bmRlZmluZWQpICYmIChkYXRhc2V0LmxpbmVUZW5zaW9uID09PSB1bmRlZmluZWQpKSB7DQoJCQkJCWRhdGFzZXQubGluZVRlbnNpb24gPSBkYXRhc2V0LnRlbnNpb247DQoJCQkJfQ0KDQoJCQkJLy8gVXRpbGl0eQ0KCQkJCWxpbmUuX3NjYWxlID0gc2NhbGU7DQoJCQkJbGluZS5fZGF0YXNldEluZGV4ID0gbWUuaW5kZXg7DQoJCQkJLy8gRGF0YQ0KCQkJCWxpbmUuX2NoaWxkcmVuID0gcG9pbnRzOw0KCQkJCS8vIE1vZGVsDQoJCQkJbGluZS5fbW9kZWwgPSB7DQoJCQkJCS8vIEFwcGVhcmFuY2UNCgkJCQkJdGVuc2lvbjogY3VzdG9tLnRlbnNpb24gPyBjdXN0b20udGVuc2lvbiA6IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQoZGF0YXNldC5saW5lVGVuc2lvbiwgbGluZUVsZW1lbnRPcHRpb25zLnRlbnNpb24pLA0KCQkJCQliYWNrZ3JvdW5kQ29sb3I6IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogKGRhdGFzZXQuYmFja2dyb3VuZENvbG9yIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpLA0KCQkJCQlib3JkZXJXaWR0aDogY3VzdG9tLmJvcmRlcldpZHRoID8gY3VzdG9tLmJvcmRlcldpZHRoIDogKGRhdGFzZXQuYm9yZGVyV2lkdGggfHwgbGluZUVsZW1lbnRPcHRpb25zLmJvcmRlcldpZHRoKSwNCgkJCQkJYm9yZGVyQ29sb3I6IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IChkYXRhc2V0LmJvcmRlckNvbG9yIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJDb2xvciksDQoJCQkJCWJvcmRlckNhcFN0eWxlOiBjdXN0b20uYm9yZGVyQ2FwU3R5bGUgPyBjdXN0b20uYm9yZGVyQ2FwU3R5bGUgOiAoZGF0YXNldC5ib3JkZXJDYXBTdHlsZSB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYm9yZGVyQ2FwU3R5bGUpLA0KCQkJCQlib3JkZXJEYXNoOiBjdXN0b20uYm9yZGVyRGFzaCA/IGN1c3RvbS5ib3JkZXJEYXNoIDogKGRhdGFzZXQuYm9yZGVyRGFzaCB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYm9yZGVyRGFzaCksDQoJCQkJCWJvcmRlckRhc2hPZmZzZXQ6IGN1c3RvbS5ib3JkZXJEYXNoT2Zmc2V0ID8gY3VzdG9tLmJvcmRlckRhc2hPZmZzZXQgOiAoZGF0YXNldC5ib3JkZXJEYXNoT2Zmc2V0IHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJEYXNoT2Zmc2V0KSwNCgkJCQkJYm9yZGVySm9pblN0eWxlOiBjdXN0b20uYm9yZGVySm9pblN0eWxlID8gY3VzdG9tLmJvcmRlckpvaW5TdHlsZSA6IChkYXRhc2V0LmJvcmRlckpvaW5TdHlsZSB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYm9yZGVySm9pblN0eWxlKSwNCgkJCQkJZmlsbDogY3VzdG9tLmZpbGwgPyBjdXN0b20uZmlsbCA6IChkYXRhc2V0LmZpbGwgIT09IHVuZGVmaW5lZCA/IGRhdGFzZXQuZmlsbCA6IGxpbmVFbGVtZW50T3B0aW9ucy5maWxsKSwNCgkJCQkJLy8gU2NhbGUNCgkJCQkJc2NhbGVUb3A6IHNjYWxlLnRvcCwNCgkJCQkJc2NhbGVCb3R0b206IHNjYWxlLmJvdHRvbSwNCgkJCQkJc2NhbGVaZXJvOiBzY2FsZS5nZXRCYXNlUGl4ZWwoKQ0KCQkJCX07DQoNCgkJCQlsaW5lLnBpdm90KCk7DQoJCQl9DQoNCgkJCS8vIFVwZGF0ZSBQb2ludHMNCgkJCWZvciAoaT0wLCBpbGVuPXBvaW50cy5sZW5ndGg7IGk8aWxlbjsgKytpKSB7DQoJCQkJbWUudXBkYXRlRWxlbWVudChwb2ludHNbaV0sIGksIHJlc2V0KTsNCgkJCX0NCg0KCQkJaWYgKG9wdGlvbnMuc2hvd0xpbmVzICYmIGxpbmVFbGVtZW50T3B0aW9ucy50ZW5zaW9uICE9PSAwKSB7DQoJCQkJbWUudXBkYXRlQmV6aWVyQ29udHJvbFBvaW50cygpOw0KCQkJfQ0KCQl9LA0KDQoJCWdldFBvaW50QmFja2dyb3VuZENvbG9yOiBmdW5jdGlvbihwb2ludCwgaW5kZXgpIHsNCgkJCXZhciBiYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQuYmFja2dyb3VuZENvbG9yOw0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmdldERhdGFzZXQoKTsNCgkJCXZhciBjdXN0b20gPSBwb2ludC5jdXN0b20gfHwge307DQoNCgkJCWlmIChjdXN0b20uYmFja2dyb3VuZENvbG9yKSB7DQoJCQkJYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmJhY2tncm91bmRDb2xvcjsNCgkJCX0gZWxzZSBpZiAoZGF0YXNldC5wb2ludEJhY2tncm91bmRDb2xvcikgew0KCQkJCWJhY2tncm91bmRDb2xvciA9IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRCYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBiYWNrZ3JvdW5kQ29sb3IpOw0KCQkJfSBlbHNlIGlmIChkYXRhc2V0LmJhY2tncm91bmRDb2xvcikgew0KCQkJCWJhY2tncm91bmRDb2xvciA9IGRhdGFzZXQuYmFja2dyb3VuZENvbG9yOw0KCQkJfQ0KDQoJCQlyZXR1cm4gYmFja2dyb3VuZENvbG9yOw0KCQl9LA0KDQoJCWdldFBvaW50Qm9yZGVyQ29sb3I6IGZ1bmN0aW9uKHBvaW50LCBpbmRleCkgew0KCQkJdmFyIGJvcmRlckNvbG9yID0gdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLnBvaW50LmJvcmRlckNvbG9yOw0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmdldERhdGFzZXQoKTsNCgkJCXZhciBjdXN0b20gPSBwb2ludC5jdXN0b20gfHwge307DQoNCgkJCWlmIChjdXN0b20uYm9yZGVyQ29sb3IpIHsNCgkJCQlib3JkZXJDb2xvciA9IGN1c3RvbS5ib3JkZXJDb2xvcjsNCgkJCX0gZWxzZSBpZiAoZGF0YXNldC5wb2ludEJvcmRlckNvbG9yKSB7DQoJCQkJYm9yZGVyQ29sb3IgPSBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50Qm9yZGVyQ29sb3IsIGluZGV4LCBib3JkZXJDb2xvcik7DQoJCQl9IGVsc2UgaWYgKGRhdGFzZXQuYm9yZGVyQ29sb3IpIHsNCgkJCQlib3JkZXJDb2xvciA9IGRhdGFzZXQuYm9yZGVyQ29sb3I7DQoJCQl9DQoNCgkJCXJldHVybiBib3JkZXJDb2xvcjsNCgkJfSwNCg0KCQlnZXRQb2ludEJvcmRlcldpZHRoOiBmdW5jdGlvbihwb2ludCwgaW5kZXgpIHsNCgkJCXZhciBib3JkZXJXaWR0aCA9IHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5wb2ludC5ib3JkZXJXaWR0aDsNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5nZXREYXRhc2V0KCk7DQoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9Ow0KDQoJCQlpZiAoY3VzdG9tLmJvcmRlcldpZHRoKSB7DQoJCQkJYm9yZGVyV2lkdGggPSBjdXN0b20uYm9yZGVyV2lkdGg7DQoJCQl9IGVsc2UgaWYgKGRhdGFzZXQucG9pbnRCb3JkZXJXaWR0aCkgew0KCQkJCWJvcmRlcldpZHRoID0gaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEJvcmRlcldpZHRoLCBpbmRleCwgYm9yZGVyV2lkdGgpOw0KCQkJfSBlbHNlIGlmIChkYXRhc2V0LmJvcmRlcldpZHRoKSB7DQoJCQkJYm9yZGVyV2lkdGggPSBkYXRhc2V0LmJvcmRlcldpZHRoOw0KCQkJfQ0KDQoJCQlyZXR1cm4gYm9yZGVyV2lkdGg7DQoJCX0sDQoNCgkJdXBkYXRlRWxlbWVudDogZnVuY3Rpb24ocG9pbnQsIGluZGV4LCByZXNldCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOw0KCQkJdmFyIGN1c3RvbSA9IHBvaW50LmN1c3RvbSB8fCB7fTsNCgkJCXZhciBkYXRhc2V0ID0gbWUuZ2V0RGF0YXNldCgpOw0KCQkJdmFyIGRhdGFzZXRJbmRleCA9IG1lLmluZGV4Ow0KCQkJdmFyIHZhbHVlID0gZGF0YXNldC5kYXRhW2luZGV4XTsNCgkJCXZhciB5U2NhbGUgPSBtZS5nZXRTY2FsZUZvcklkKG1ldGEueUF4aXNJRCk7DQoJCQl2YXIgeFNjYWxlID0gbWUuZ2V0U2NhbGVGb3JJZChtZXRhLnhBeGlzSUQpOw0KCQkJdmFyIHBvaW50T3B0aW9ucyA9IG1lLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQ7DQoJCQl2YXIgeCwgeTsNCg0KCQkJLy8gQ29tcGF0aWJpbGl0eTogSWYgdGhlIHByb3BlcnRpZXMgYXJlIGRlZmluZWQgd2l0aCBvbmx5IHRoZSBvbGQgbmFtZSwgdXNlIHRob3NlIHZhbHVlcw0KCQkJaWYgKChkYXRhc2V0LnJhZGl1cyAhPT0gdW5kZWZpbmVkKSAmJiAoZGF0YXNldC5wb2ludFJhZGl1cyA9PT0gdW5kZWZpbmVkKSkgew0KCQkJCWRhdGFzZXQucG9pbnRSYWRpdXMgPSBkYXRhc2V0LnJhZGl1czsNCgkJCX0NCgkJCWlmICgoZGF0YXNldC5oaXRSYWRpdXMgIT09IHVuZGVmaW5lZCkgJiYgKGRhdGFzZXQucG9pbnRIaXRSYWRpdXMgPT09IHVuZGVmaW5lZCkpIHsNCgkJCQlkYXRhc2V0LnBvaW50SGl0UmFkaXVzID0gZGF0YXNldC5oaXRSYWRpdXM7DQoJCQl9DQoNCgkJCXggPSB4U2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZSh2YWx1ZSwgaW5kZXgsIGRhdGFzZXRJbmRleCwgbWUuY2hhcnQuaXNDb21ibyk7DQoJCQl5ID0gcmVzZXQgPyB5U2NhbGUuZ2V0QmFzZVBpeGVsKCkgOiBtZS5jYWxjdWxhdGVQb2ludFkodmFsdWUsIGluZGV4LCBkYXRhc2V0SW5kZXgsIG1lLmNoYXJ0LmlzQ29tYm8pOw0KDQoJCQkvLyBVdGlsaXR5DQoJCQlwb2ludC5feFNjYWxlID0geFNjYWxlOw0KCQkJcG9pbnQuX3lTY2FsZSA9IHlTY2FsZTsNCgkJCXBvaW50Ll9kYXRhc2V0SW5kZXggPSBkYXRhc2V0SW5kZXg7DQoJCQlwb2ludC5faW5kZXggPSBpbmRleDsNCg0KCQkJLy8gRGVzaXJlZCB2aWV3IHByb3BlcnRpZXMNCgkJCXBvaW50Ll9tb2RlbCA9IHsNCgkJCQl4OiB4LA0KCQkJCXk6IHksDQoJCQkJc2tpcDogY3VzdG9tLnNraXAgfHwgaXNOYU4oeCkgfHwgaXNOYU4oeSksDQoJCQkJLy8gQXBwZWFyYW5jZQ0KCQkJCXJhZGl1czogY3VzdG9tLnJhZGl1cyB8fCBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50UmFkaXVzLCBpbmRleCwgcG9pbnRPcHRpb25zLnJhZGl1cyksDQoJCQkJcG9pbnRTdHlsZTogY3VzdG9tLnBvaW50U3R5bGUgfHwgaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludFN0eWxlLCBpbmRleCwgcG9pbnRPcHRpb25zLnBvaW50U3R5bGUpLA0KCQkJCWJhY2tncm91bmRDb2xvcjogbWUuZ2V0UG9pbnRCYWNrZ3JvdW5kQ29sb3IocG9pbnQsIGluZGV4KSwNCgkJCQlib3JkZXJDb2xvcjogbWUuZ2V0UG9pbnRCb3JkZXJDb2xvcihwb2ludCwgaW5kZXgpLA0KCQkJCWJvcmRlcldpZHRoOiBtZS5nZXRQb2ludEJvcmRlcldpZHRoKHBvaW50LCBpbmRleCksDQoJCQkJdGVuc2lvbjogbWV0YS5kYXRhc2V0Ll9tb2RlbCA/IG1ldGEuZGF0YXNldC5fbW9kZWwudGVuc2lvbiA6IDAsDQoJCQkJLy8gVG9vbHRpcA0KCQkJCWhpdFJhZGl1czogY3VzdG9tLmhpdFJhZGl1cyB8fCBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SGl0UmFkaXVzLCBpbmRleCwgcG9pbnRPcHRpb25zLmhpdFJhZGl1cykNCgkJCX07DQoJCX0sDQoNCgkJY2FsY3VsYXRlUG9pbnRZOiBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGRhdGFzZXRJbmRleCwgaXNDb21ibykgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciBjaGFydCA9IG1lLmNoYXJ0Ow0KCQkJdmFyIG1ldGEgPSBtZS5nZXRNZXRhKCk7DQoJCQl2YXIgeVNjYWxlID0gbWUuZ2V0U2NhbGVGb3JJZChtZXRhLnlBeGlzSUQpOw0KCQkJdmFyIHN1bVBvcyA9IDA7DQoJCQl2YXIgc3VtTmVnID0gMDsNCgkJCXZhciBpLCBkcywgZHNNZXRhOw0KDQoJCQlpZiAoeVNjYWxlLm9wdGlvbnMuc3RhY2tlZCkgew0KCQkJCWZvciAoaSA9IDA7IGkgPCBkYXRhc2V0SW5kZXg7IGkrKykgew0KCQkJCQlkcyA9IGNoYXJ0LmRhdGEuZGF0YXNldHNbaV07DQoJCQkJCWRzTWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGkpOw0KCQkJCQlpZiAoZHNNZXRhLnR5cGUgPT09ICdsaW5lJyAmJiBjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGkpKSB7DQoJCQkJCQlpZiAoZHMuZGF0YVtpbmRleF0gPCAwKSB7DQoJCQkJCQkJc3VtTmVnICs9IGRzLmRhdGFbaW5kZXhdIHx8IDA7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXN1bVBvcyArPSBkcy5kYXRhW2luZGV4XSB8fCAwOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJaWYgKHZhbHVlIDwgMCkgew0KCQkJCQlyZXR1cm4geVNjYWxlLmdldFBpeGVsRm9yVmFsdWUoc3VtTmVnICsgdmFsdWUpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXJldHVybiB5U2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZShzdW1Qb3MgKyB2YWx1ZSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4geVNjYWxlLmdldFBpeGVsRm9yVmFsdWUodmFsdWUpOw0KCQl9LA0KDQoJCXVwZGF0ZUJlemllckNvbnRyb2xQb2ludHM6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciBhcmVhID0gdGhpcy5jaGFydC5jaGFydEFyZWE7DQoJCQl2YXIgcG9pbnRzID0gbWV0YS5kYXRhIHx8IFtdOw0KCQkJdmFyIGksIGlsZW4sIHBvaW50LCBtb2RlbCwgY29udHJvbFBvaW50czsNCg0KCQkJZm9yIChpPTAsIGlsZW49cG9pbnRzLmxlbmd0aDsgaTxpbGVuOyArK2kpIHsNCgkJCQlwb2ludCA9IHBvaW50c1tpXTsNCgkJCQltb2RlbCA9IHBvaW50Ll9tb2RlbDsNCgkJCQljb250cm9sUG9pbnRzID0gaGVscGVycy5zcGxpbmVDdXJ2ZSgNCgkJCQkJaGVscGVycy5wcmV2aW91c0l0ZW0ocG9pbnRzLCBpKS5fbW9kZWwsDQoJCQkJCW1vZGVsLA0KCQkJCQloZWxwZXJzLm5leHRJdGVtKHBvaW50cywgaSkuX21vZGVsLA0KCQkJCQltZXRhLmRhdGFzZXQuX21vZGVsLnRlbnNpb24NCgkJCQkpOw0KDQoJCQkJLy8gUHJldmVudCB0aGUgYmV6aWVyIGdvaW5nIG91dHNpZGUgb2YgdGhlIGJvdW5kcyBvZiB0aGUgZ3JhcGgNCgkJCQltb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1ggPSBNYXRoLm1heChNYXRoLm1pbihjb250cm9sUG9pbnRzLnByZXZpb3VzLngsIGFyZWEucmlnaHQpLCBhcmVhLmxlZnQpOw0KCQkJCW1vZGVsLmNvbnRyb2xQb2ludFByZXZpb3VzWSA9IE1hdGgubWF4KE1hdGgubWluKGNvbnRyb2xQb2ludHMucHJldmlvdXMueSwgYXJlYS5ib3R0b20pLCBhcmVhLnRvcCk7DQoJCQkJbW9kZWwuY29udHJvbFBvaW50TmV4dFggPSBNYXRoLm1heChNYXRoLm1pbihjb250cm9sUG9pbnRzLm5leHQueCwgYXJlYS5yaWdodCksIGFyZWEubGVmdCk7DQoJCQkJbW9kZWwuY29udHJvbFBvaW50TmV4dFkgPSBNYXRoLm1heChNYXRoLm1pbihjb250cm9sUG9pbnRzLm5leHQueSwgYXJlYS5ib3R0b20pLCBhcmVhLnRvcCk7DQoNCgkJCQkvLyBOb3cgcGl2b3QgdGhlIHBvaW50IGZvciBhbmltYXRpb24NCgkJCQlwb2ludC5waXZvdCgpOw0KCQkJfQ0KCQl9LA0KDQoJCWRyYXc6IGZ1bmN0aW9uKGVhc2UpIHsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7DQoJCQl2YXIgcG9pbnRzID0gbWV0YS5kYXRhIHx8IFtdOw0KCQkJdmFyIGVhc2luZ0RlY2ltYWwgPSBlYXNlIHx8IDE7DQoJCQl2YXIgaSwgaWxlbjsNCg0KCQkJLy8gVHJhbnNpdGlvbiBQb2ludCBMb2NhdGlvbnMNCgkJCWZvciAoaT0wLCBpbGVuPXBvaW50cy5sZW5ndGg7IGk8aWxlbjsgKytpKSB7DQoJCQkJcG9pbnRzW2ldLnRyYW5zaXRpb24oZWFzaW5nRGVjaW1hbCk7DQoJCQl9DQoNCgkJCS8vIFRyYW5zaXRpb24gYW5kIERyYXcgdGhlIGxpbmUNCgkJCWlmICh0aGlzLmNoYXJ0Lm9wdGlvbnMuc2hvd0xpbmVzKSB7DQoJCQkJbWV0YS5kYXRhc2V0LnRyYW5zaXRpb24oZWFzaW5nRGVjaW1hbCkuZHJhdygpOw0KCQkJfQ0KDQoJCQkvLyBEcmF3IHRoZSBwb2ludHMNCgkJCWZvciAoaT0wLCBpbGVuPXBvaW50cy5sZW5ndGg7IGk8aWxlbjsgKytpKSB7DQoJCQkJcG9pbnRzW2ldLmRyYXcoKTsNCgkJCX0NCgkJfSwNCg0KCQlzZXRIb3ZlclN0eWxlOiBmdW5jdGlvbihwb2ludCkgew0KCQkJLy8gUG9pbnQNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW3BvaW50Ll9kYXRhc2V0SW5kZXhdOw0KCQkJdmFyIGluZGV4ID0gcG9pbnQuX2luZGV4Ow0KCQkJdmFyIGN1c3RvbSA9IHBvaW50LmN1c3RvbSB8fCB7fTsNCgkJCXZhciBtb2RlbCA9IHBvaW50Ll9tb2RlbDsNCg0KCQkJbW9kZWwucmFkaXVzID0gY3VzdG9tLmhvdmVyUmFkaXVzIHx8IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRIb3ZlclJhZGl1cywgaW5kZXgsIHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5wb2ludC5ob3ZlclJhZGl1cyk7DQoJCQltb2RlbC5iYWNrZ3JvdW5kQ29sb3IgPSBjdXN0b20uaG92ZXJCYWNrZ3JvdW5kQ29sb3IgfHwgaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEhvdmVyQmFja2dyb3VuZENvbG9yLCBpbmRleCwgaGVscGVycy5nZXRIb3ZlckNvbG9yKG1vZGVsLmJhY2tncm91bmRDb2xvcikpOw0KCQkJbW9kZWwuYm9yZGVyQ29sb3IgPSBjdXN0b20uaG92ZXJCb3JkZXJDb2xvciB8fCBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SG92ZXJCb3JkZXJDb2xvciwgaW5kZXgsIGhlbHBlcnMuZ2V0SG92ZXJDb2xvcihtb2RlbC5ib3JkZXJDb2xvcikpOw0KCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uaG92ZXJCb3JkZXJXaWR0aCB8fCBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SG92ZXJCb3JkZXJXaWR0aCwgaW5kZXgsIG1vZGVsLmJvcmRlcldpZHRoKTsNCgkJfSwNCg0KCQlyZW1vdmVIb3ZlclN0eWxlOiBmdW5jdGlvbihwb2ludCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciBkYXRhc2V0ID0gbWUuY2hhcnQuZGF0YS5kYXRhc2V0c1twb2ludC5fZGF0YXNldEluZGV4XTsNCgkJCXZhciBpbmRleCA9IHBvaW50Ll9pbmRleDsNCgkJCXZhciBjdXN0b20gPSBwb2ludC5jdXN0b20gfHwge307DQoJCQl2YXIgbW9kZWwgPSBwb2ludC5fbW9kZWw7DQoNCgkJCS8vIENvbXBhdGliaWxpdHk6IElmIHRoZSBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIHdpdGggb25seSB0aGUgb2xkIG5hbWUsIHVzZSB0aG9zZSB2YWx1ZXMNCgkJCWlmICgoZGF0YXNldC5yYWRpdXMgIT09IHVuZGVmaW5lZCkgJiYgKGRhdGFzZXQucG9pbnRSYWRpdXMgPT09IHVuZGVmaW5lZCkpIHsNCgkJCQlkYXRhc2V0LnBvaW50UmFkaXVzID0gZGF0YXNldC5yYWRpdXM7DQoJCQl9DQoNCgkJCW1vZGVsLnJhZGl1cyA9IGN1c3RvbS5yYWRpdXMgfHwgaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludFJhZGl1cywgaW5kZXgsIG1lLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQucmFkaXVzKTsNCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IG1lLmdldFBvaW50QmFja2dyb3VuZENvbG9yKHBvaW50LCBpbmRleCk7DQoJCQltb2RlbC5ib3JkZXJDb2xvciA9IG1lLmdldFBvaW50Qm9yZGVyQ29sb3IocG9pbnQsIGluZGV4KTsNCgkJCW1vZGVsLmJvcmRlcldpZHRoID0gbWUuZ2V0UG9pbnRCb3JkZXJXaWR0aChwb2ludCwgaW5kZXgpOw0KCQl9DQoJfSk7DQp9Ow0KCn0se31dLDE5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCgl2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnM7DQoNCglDaGFydC5kZWZhdWx0cy5wb2xhckFyZWEgPSB7DQoNCgkJc2NhbGU6IHsNCgkJCXR5cGU6ICJyYWRpYWxMaW5lYXIiLA0KCQkJbGluZUFyYzogdHJ1ZSAvLyBzbyB0aGF0IGxpbmVzIGFyZSBjaXJjdWxhcg0KCQl9LA0KDQoJCS8vQm9vbGVhbiAtIFdoZXRoZXIgdG8gYW5pbWF0ZSB0aGUgcm90YXRpb24gb2YgdGhlIGNoYXJ0DQoJCWFuaW1hdGlvbjogew0KCQkJYW5pbWF0ZVJvdGF0ZTogdHJ1ZSwNCgkJCWFuaW1hdGVTY2FsZTogdHJ1ZQ0KCQl9LA0KDQoJCWFzcGVjdFJhdGlvOiAxLA0KCQlsZWdlbmRDYWxsYmFjazogZnVuY3Rpb24oY2hhcnQpIHsNCgkJCXZhciB0ZXh0ID0gW107DQoJCQl0ZXh0LnB1c2goJzx1bCBjbGFzcz0iJyArIGNoYXJ0LmlkICsgJy1sZWdlbmQiPicpOw0KDQoJCQl2YXIgZGF0YSA9IGNoYXJ0LmRhdGE7DQoJCQl2YXIgZGF0YXNldHMgPSBkYXRhLmRhdGFzZXRzOw0KCQkJdmFyIGxhYmVscyA9IGRhdGEubGFiZWxzOw0KDQoJCQlpZiAoZGF0YXNldHMubGVuZ3RoKSB7DQoJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhc2V0c1swXS5kYXRhLmxlbmd0aDsgKytpKSB7DQoJCQkJCXRleHQucHVzaCgnPGxpPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOicgKyBkYXRhc2V0c1swXS5iYWNrZ3JvdW5kQ29sb3JbaV0gKyAnIj4nKTsNCgkJCQkJaWYgKGxhYmVsc1tpXSkgew0KCQkJCQkJdGV4dC5wdXNoKGxhYmVsc1tpXSk7DQoJCQkJCX0NCgkJCQkJdGV4dC5wdXNoKCc8L3NwYW4+PC9saT4nKTsNCgkJCQl9DQoJCQl9DQoNCgkJCXRleHQucHVzaCgnPC91bD4nKTsNCgkJCXJldHVybiB0ZXh0LmpvaW4oIiIpOw0KCQl9LA0KCQlsZWdlbmQ6IHsNCgkJCWxhYmVsczogew0KCQkJCWdlbmVyYXRlTGFiZWxzOiBmdW5jdGlvbihjaGFydCkgew0KCQkJCQl2YXIgZGF0YSA9IGNoYXJ0LmRhdGE7DQoJCQkJCWlmIChkYXRhLmxhYmVscy5sZW5ndGggJiYgZGF0YS5kYXRhc2V0cy5sZW5ndGgpIHsNCgkJCQkJCXJldHVybiBkYXRhLmxhYmVscy5tYXAoZnVuY3Rpb24obGFiZWwsIGkpIHsNCgkJCQkJCQl2YXIgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKDApOw0KCQkJCQkJCXZhciBkcyA9IGRhdGEuZGF0YXNldHNbMF07DQoJCQkJCQkJdmFyIGFyYyA9IG1ldGEuZGF0YVtpXTsNCgkJCQkJCQl2YXIgY3VzdG9tID0gYXJjLmN1c3RvbSB8fCB7fTsNCgkJCQkJCQl2YXIgZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0ID0gaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQ7DQoJCQkJCQkJdmFyIGFyY09wdHMgPSBjaGFydC5vcHRpb25zLmVsZW1lbnRzLmFyYzsNCgkJCQkJCQl2YXIgZmlsbCA9IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRzLmJhY2tncm91bmRDb2xvciwgaSwgYXJjT3B0cy5iYWNrZ3JvdW5kQ29sb3IpOw0KCQkJCQkJCXZhciBzdHJva2UgPSBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiBnZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZHMuYm9yZGVyQ29sb3IsIGksIGFyY09wdHMuYm9yZGVyQ29sb3IpOw0KCQkJCQkJCXZhciBidyA9IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IGdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkcy5ib3JkZXJXaWR0aCwgaSwgYXJjT3B0cy5ib3JkZXJXaWR0aCk7DQoNCgkJCQkJCQlyZXR1cm4gew0KCQkJCQkJCQl0ZXh0OiBsYWJlbCwNCgkJCQkJCQkJZmlsbFN0eWxlOiBmaWxsLA0KCQkJCQkJCQlzdHJva2VTdHlsZTogc3Ryb2tlLA0KCQkJCQkJCQlsaW5lV2lkdGg6IGJ3LA0KCQkJCQkJCQloaWRkZW46IGlzTmFOKGRzLmRhdGFbaV0pIHx8IG1ldGEuZGF0YVtpXS5oaWRkZW4sDQoNCgkJCQkJCQkJLy8gRXh0cmEgZGF0YSB1c2VkIGZvciB0b2dnbGluZyB0aGUgY29ycmVjdCBpdGVtDQoJCQkJCQkJCWluZGV4OiBpDQoJCQkJCQkJfTsNCgkJCQkJCX0pOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJcmV0dXJuIFtdOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfSwNCg0KCQkJb25DbGljazogZnVuY3Rpb24oZSwgbGVnZW5kSXRlbSkgew0KCQkJCXZhciBpbmRleCA9IGxlZ2VuZEl0ZW0uaW5kZXg7DQoJCQkJdmFyIGNoYXJ0ID0gdGhpcy5jaGFydDsNCgkJCQl2YXIgaSwgaWxlbiwgbWV0YTsNCg0KCQkJCWZvciAoaSA9IDAsIGlsZW4gPSAoY2hhcnQuZGF0YS5kYXRhc2V0cyB8fCBbXSkubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7DQoJCQkJCW1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShpKTsNCgkJCQkJbWV0YS5kYXRhW2luZGV4XS5oaWRkZW4gPSAhbWV0YS5kYXRhW2luZGV4XS5oaWRkZW47DQoJCQkJfQ0KDQoJCQkJY2hhcnQudXBkYXRlKCk7DQoJCQl9DQoJCX0sDQoNCgkJLy8gTmVlZCB0byBvdmVycmlkZSB0aGVzZSB0byBnaXZlIGEgbmljZSBkZWZhdWx0DQoJCXRvb2x0aXBzOiB7DQoJCQljYWxsYmFja3M6IHsNCgkJCQl0aXRsZTogZnVuY3Rpb24oKSB7DQoJCQkJCXJldHVybiAnJzsNCgkJCQl9LA0KCQkJCWxhYmVsOiBmdW5jdGlvbih0b29sdGlwSXRlbSwgZGF0YSkgew0KCQkJCQlyZXR1cm4gZGF0YS5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdICsgJzogJyArIHRvb2x0aXBJdGVtLnlMYWJlbDsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9Ow0KDQoJQ2hhcnQuY29udHJvbGxlcnMucG9sYXJBcmVhID0gQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIuZXh0ZW5kKHsNCg0KCQlkYXRhRWxlbWVudFR5cGU6IENoYXJ0LmVsZW1lbnRzLkFyYywNCg0KCQlsaW5rU2NhbGVzOiBoZWxwZXJzLm5vb3AsDQoNCgkJdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUocmVzZXQpIHsNCgkJCXZhciBfdGhpcyA9IHRoaXM7DQoJCQl2YXIgY2hhcnQgPSBfdGhpcy5jaGFydDsNCgkJCXZhciBjaGFydEFyZWEgPSBjaGFydC5jaGFydEFyZWE7DQoJCQl2YXIgbWV0YSA9IHRoaXMuZ2V0TWV0YSgpOw0KCQkJdmFyIG9wdHMgPSBjaGFydC5vcHRpb25zOw0KCQkJdmFyIGFyY09wdHMgPSBvcHRzLmVsZW1lbnRzLmFyYzsNCgkJCXZhciBtaW5TaXplID0gTWF0aC5taW4oY2hhcnRBcmVhLnJpZ2h0IC0gY2hhcnRBcmVhLmxlZnQsIGNoYXJ0QXJlYS5ib3R0b20gLSBjaGFydEFyZWEudG9wKTsNCgkJCWNoYXJ0Lm91dGVyUmFkaXVzID0gTWF0aC5tYXgoKG1pblNpemUgLSBhcmNPcHRzLmJvcmRlcldpZHRoIC8gMikgLyAyLCAwKTsNCgkJCWNoYXJ0LmlubmVyUmFkaXVzID0gTWF0aC5tYXgob3B0cy5jdXRvdXRQZXJjZW50YWdlID8gKGNoYXJ0Lm91dGVyUmFkaXVzIC8gMTAwKSAqIChvcHRzLmN1dG91dFBlcmNlbnRhZ2UpIDogMSwgMCk7DQoJCQljaGFydC5yYWRpdXNMZW5ndGggPSAoY2hhcnQub3V0ZXJSYWRpdXMgLSBjaGFydC5pbm5lclJhZGl1cykgLyBjaGFydC5nZXRWaXNpYmxlRGF0YXNldENvdW50KCk7DQoNCgkJCV90aGlzLm91dGVyUmFkaXVzID0gY2hhcnQub3V0ZXJSYWRpdXMgLSAoY2hhcnQucmFkaXVzTGVuZ3RoICogX3RoaXMuaW5kZXgpOw0KCQkJX3RoaXMuaW5uZXJSYWRpdXMgPSBfdGhpcy5vdXRlclJhZGl1cyAtIGNoYXJ0LnJhZGl1c0xlbmd0aDsNCg0KCQkJbWV0YS5jb3VudCA9IF90aGlzLmNvdW50VmlzaWJsZUVsZW1lbnRzKCk7DQoNCgkJCWhlbHBlcnMuZWFjaChtZXRhLmRhdGEsIGZ1bmN0aW9uKGFyYywgaW5kZXgpIHsNCgkJCQlfdGhpcy51cGRhdGVFbGVtZW50KGFyYywgaW5kZXgsIHJlc2V0KTsNCgkJCX0pOw0KCQl9LA0KDQoJCXVwZGF0ZUVsZW1lbnQ6IGZ1bmN0aW9uKGFyYywgaW5kZXgsIHJlc2V0KSB7DQoJCQl2YXIgX3RoaXMgPSB0aGlzOw0KCQkJdmFyIGNoYXJ0ID0gX3RoaXMuY2hhcnQ7DQoJCQl2YXIgY2hhcnRBcmVhID0gY2hhcnQuY2hhcnRBcmVhOw0KCQkJdmFyIGRhdGFzZXQgPSBfdGhpcy5nZXREYXRhc2V0KCk7DQoJCQl2YXIgb3B0cyA9IGNoYXJ0Lm9wdGlvbnM7DQoJCQl2YXIgYW5pbWF0aW9uT3B0cyA9IG9wdHMuYW5pbWF0aW9uOw0KCQkJdmFyIGFyY09wdHMgPSBvcHRzLmVsZW1lbnRzLmFyYzsNCgkJCXZhciBjdXN0b20gPSBhcmMuY3VzdG9tIHx8IHt9Ow0KCQkJdmFyIHNjYWxlID0gY2hhcnQuc2NhbGU7DQoJCQl2YXIgZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0ID0gaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQ7DQoJCQl2YXIgbGFiZWxzID0gY2hhcnQuZGF0YS5sYWJlbHM7DQoNCgkJCXZhciBjaXJjdW1mZXJlbmNlID0gX3RoaXMuY2FsY3VsYXRlQ2lyY3VtZmVyZW5jZShkYXRhc2V0LmRhdGFbaW5kZXhdKTsNCgkJCXZhciBjZW50ZXJYID0gKGNoYXJ0QXJlYS5sZWZ0ICsgY2hhcnRBcmVhLnJpZ2h0KSAvIDI7DQoJCQl2YXIgY2VudGVyWSA9IChjaGFydEFyZWEudG9wICsgY2hhcnRBcmVhLmJvdHRvbSkgLyAyOw0KDQoJCQkvLyBJZiB0aGVyZSBpcyBOYU4gZGF0YSBiZWZvcmUgdXMsIHdlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBzdGFydGluZyBhbmdsZSBjb3JyZWN0bHkuDQoJCQkvLyBXZSBjb3VsZCBiZSB3YXkgbW9yZSBlZmZpY2llbnQgaGVyZSwgYnV0IGl0cyB1bmxpa2VseSB0aGF0IHRoZSBwb2xhciBhcmVhIGNoYXJ0IHdpbGwgaGF2ZSBhIGxvdCBvZiBkYXRhDQoJCQl2YXIgdmlzaWJsZUNvdW50ID0gMDsNCgkJCXZhciBtZXRhID0gX3RoaXMuZ2V0TWV0YSgpOw0KCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBpbmRleDsgKytpKSB7DQoJCQkJaWYgKCFpc05hTihkYXRhc2V0LmRhdGFbaV0pICYmICFtZXRhLmRhdGFbaV0uaGlkZGVuKSB7DQoJCQkJCSsrdmlzaWJsZUNvdW50Ow0KCQkJCX0NCgkJCX0NCg0KCQkJdmFyIGRpc3RhbmNlID0gYXJjLmhpZGRlbj8gMCA6IHNjYWxlLmdldERpc3RhbmNlRnJvbUNlbnRlckZvclZhbHVlKGRhdGFzZXQuZGF0YVtpbmRleF0pOw0KCQkJdmFyIHN0YXJ0QW5nbGUgPSAoLTAuNSAqIE1hdGguUEkpICsgKGNpcmN1bWZlcmVuY2UgKiB2aXNpYmxlQ291bnQpOw0KCQkJdmFyIGVuZEFuZ2xlID0gc3RhcnRBbmdsZSArIChhcmMuaGlkZGVuPyAwIDogY2lyY3VtZmVyZW5jZSk7DQoNCgkJCXZhciByZXNldE1vZGVsID0gew0KCQkJCXg6IGNlbnRlclgsDQoJCQkJeTogY2VudGVyWSwNCgkJCQlpbm5lclJhZGl1czogMCwNCgkJCQlvdXRlclJhZGl1czogYW5pbWF0aW9uT3B0cy5hbmltYXRlU2NhbGUgPyAwIDogc2NhbGUuZ2V0RGlzdGFuY2VGcm9tQ2VudGVyRm9yVmFsdWUoZGF0YXNldC5kYXRhW2luZGV4XSksDQoJCQkJc3RhcnRBbmdsZTogYW5pbWF0aW9uT3B0cy5hbmltYXRlUm90YXRlID8gTWF0aC5QSSAqIC0wLjUgOiBzdGFydEFuZ2xlLA0KCQkJCWVuZEFuZ2xlOiBhbmltYXRpb25PcHRzLmFuaW1hdGVSb3RhdGUgPyBNYXRoLlBJICogLTAuNSA6IGVuZEFuZ2xlLA0KDQoJCQkJYmFja2dyb3VuZENvbG9yOiBjdXN0b20uYmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmJhY2tncm91bmRDb2xvciA6IGdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJhY2tncm91bmRDb2xvciwgaW5kZXgsIGFyY09wdHMuYmFja2dyb3VuZENvbG9yKSwNCgkJCQlib3JkZXJXaWR0aDogY3VzdG9tLmJvcmRlcldpZHRoID8gY3VzdG9tLmJvcmRlcldpZHRoIDogZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyV2lkdGgsIGluZGV4LCBhcmNPcHRzLmJvcmRlcldpZHRoKSwNCgkJCQlib3JkZXJDb2xvcjogY3VzdG9tLmJvcmRlckNvbG9yID8gY3VzdG9tLmJvcmRlckNvbG9yIDogZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyQ29sb3IsIGluZGV4LCBhcmNPcHRzLmJvcmRlckNvbG9yKSwNCg0KCQkJCWxhYmVsOiBnZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQobGFiZWxzLCBpbmRleCwgbGFiZWxzW2luZGV4XSkNCgkJCX07DQoNCgkJCWhlbHBlcnMuZXh0ZW5kKGFyYywgew0KCQkJCS8vIFV0aWxpdHkNCgkJCQlfZGF0YXNldEluZGV4OiBfdGhpcy5pbmRleCwNCgkJCQlfaW5kZXg6IGluZGV4LA0KCQkJCV9zY2FsZTogc2NhbGUsDQoNCgkJCQkvLyBEZXNpcmVkIHZpZXcgcHJvcGVydGllcw0KCQkJCV9tb2RlbDogcmVzZXQgPyByZXNldE1vZGVsIDogew0KCQkJCQl4OiBjZW50ZXJYLA0KCQkJCQl5OiBjZW50ZXJZLA0KCQkJCQlpbm5lclJhZGl1czogMCwNCgkJCQkJb3V0ZXJSYWRpdXM6IGRpc3RhbmNlLA0KCQkJCQlzdGFydEFuZ2xlOiBzdGFydEFuZ2xlLA0KCQkJCQllbmRBbmdsZTogZW5kQW5nbGUsDQoNCgkJCQkJYmFja2dyb3VuZENvbG9yOiBjdXN0b20uYmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmJhY2tncm91bmRDb2xvciA6IGdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJhY2tncm91bmRDb2xvciwgaW5kZXgsIGFyY09wdHMuYmFja2dyb3VuZENvbG9yKSwNCgkJCQkJYm9yZGVyV2lkdGg6IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IGdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlcldpZHRoLCBpbmRleCwgYXJjT3B0cy5ib3JkZXJXaWR0aCksDQoJCQkJCWJvcmRlckNvbG9yOiBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiBnZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ib3JkZXJDb2xvciwgaW5kZXgsIGFyY09wdHMuYm9yZGVyQ29sb3IpLA0KDQoJCQkJCWxhYmVsOiBnZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQobGFiZWxzLCBpbmRleCwgbGFiZWxzW2luZGV4XSkNCgkJCQl9DQoJCQl9KTsNCg0KCQkJYXJjLnBpdm90KCk7DQoJCX0sDQoNCgkJcmVtb3ZlSG92ZXJTdHlsZTogZnVuY3Rpb24oYXJjKSB7DQoJCQlDaGFydC5EYXRhc2V0Q29udHJvbGxlci5wcm90b3R5cGUucmVtb3ZlSG92ZXJTdHlsZS5jYWxsKHRoaXMsIGFyYywgdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLmFyYyk7DQoJCX0sDQoNCgkJY291bnRWaXNpYmxlRWxlbWVudHM6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmdldERhdGFzZXQoKTsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7DQoJCQl2YXIgY291bnQgPSAwOw0KDQoJCQloZWxwZXJzLmVhY2gobWV0YS5kYXRhLCBmdW5jdGlvbihlbGVtZW50LCBpbmRleCkgew0KCQkJCWlmICghaXNOYU4oZGF0YXNldC5kYXRhW2luZGV4XSkgJiYgIWVsZW1lbnQuaGlkZGVuKSB7DQoJCQkJCWNvdW50Kys7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJCXJldHVybiBjb3VudDsNCgkJfSwNCg0KCQljYWxjdWxhdGVDaXJjdW1mZXJlbmNlOiBmdW5jdGlvbih2YWx1ZSkgew0KCQkJdmFyIGNvdW50ID0gdGhpcy5nZXRNZXRhKCkuY291bnQ7DQoJCQlpZiAoY291bnQgPiAwICYmICFpc05hTih2YWx1ZSkpIHsNCgkJCQlyZXR1cm4gKDIgKiBNYXRoLlBJKSAvIGNvdW50Ow0KCQkJfSBlbHNlIHsNCgkJCQlyZXR1cm4gMDsNCgkJCX0NCgkJfQ0KCX0pOw0KfTsNCgp9LHt9XSwyMDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzOw0KDQoJQ2hhcnQuZGVmYXVsdHMucmFkYXIgPSB7DQoJCXNjYWxlOiB7DQoJCQl0eXBlOiAicmFkaWFsTGluZWFyIg0KCQl9LA0KCQllbGVtZW50czogew0KCQkJbGluZTogew0KCQkJCXRlbnNpb246IDAgLy8gbm8gYmV6aWVyIGluIHJhZGFyDQoJCQl9DQoJCX0NCgl9Ow0KDQoJQ2hhcnQuY29udHJvbGxlcnMucmFkYXIgPSBDaGFydC5EYXRhc2V0Q29udHJvbGxlci5leHRlbmQoew0KDQoJCWRhdGFzZXRFbGVtZW50VHlwZTogQ2hhcnQuZWxlbWVudHMuTGluZSwNCg0KCQlkYXRhRWxlbWVudFR5cGU6IENoYXJ0LmVsZW1lbnRzLlBvaW50LA0KDQoJCWxpbmtTY2FsZXM6IGhlbHBlcnMubm9vcCwNCg0KCQlhZGRFbGVtZW50QW5kUmVzZXQ6IGZ1bmN0aW9uKGluZGV4KSB7DQoJCQlDaGFydC5EYXRhc2V0Q29udHJvbGxlci5wcm90b3R5cGUuYWRkRWxlbWVudEFuZFJlc2V0LmNhbGwodGhpcywgaW5kZXgpOw0KDQoJCQkvLyBNYWtlIHN1cmUgYmV6aWVyIGNvbnRyb2wgcG9pbnRzIGFyZSB1cGRhdGVkDQoJCQl0aGlzLnVwZGF0ZUJlemllckNvbnRyb2xQb2ludHMoKTsNCgkJfSwNCg0KCQl1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZShyZXNldCkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciBsaW5lID0gbWV0YS5kYXRhc2V0Ow0KCQkJdmFyIHBvaW50cyA9IG1ldGEuZGF0YTsNCgkJCXZhciBjdXN0b20gPSBsaW5lLmN1c3RvbSB8fCB7fTsNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5nZXREYXRhc2V0KCk7DQoJCQl2YXIgbGluZUVsZW1lbnRPcHRpb25zID0gdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLmxpbmU7DQoJCQl2YXIgc2NhbGUgPSB0aGlzLmNoYXJ0LnNjYWxlOw0KDQoJCQkvLyBDb21wYXRpYmlsaXR5OiBJZiB0aGUgcHJvcGVydGllcyBhcmUgZGVmaW5lZCB3aXRoIG9ubHkgdGhlIG9sZCBuYW1lLCB1c2UgdGhvc2UgdmFsdWVzDQoJCQlpZiAoKGRhdGFzZXQudGVuc2lvbiAhPT0gdW5kZWZpbmVkKSAmJiAoZGF0YXNldC5saW5lVGVuc2lvbiA9PT0gdW5kZWZpbmVkKSkgew0KCQkJCWRhdGFzZXQubGluZVRlbnNpb24gPSBkYXRhc2V0LnRlbnNpb247DQoJCQl9DQoNCgkJCWhlbHBlcnMuZXh0ZW5kKG1ldGEuZGF0YXNldCwgew0KCQkJCS8vIFV0aWxpdHkNCgkJCQlfZGF0YXNldEluZGV4OiB0aGlzLmluZGV4LA0KCQkJCS8vIERhdGENCgkJCQlfY2hpbGRyZW46IHBvaW50cywNCgkJCQlfbG9vcDogdHJ1ZSwNCgkJCQkvLyBNb2RlbA0KCQkJCV9tb2RlbDogew0KCQkJCQkvLyBBcHBlYXJhbmNlDQoJCQkJCXRlbnNpb246IGN1c3RvbS50ZW5zaW9uID8gY3VzdG9tLnRlbnNpb24gOiBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KGRhdGFzZXQubGluZVRlbnNpb24sIGxpbmVFbGVtZW50T3B0aW9ucy50ZW5zaW9uKSwNCgkJCQkJYmFja2dyb3VuZENvbG9yOiBjdXN0b20uYmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmJhY2tncm91bmRDb2xvciA6IChkYXRhc2V0LmJhY2tncm91bmRDb2xvciB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYmFja2dyb3VuZENvbG9yKSwNCgkJCQkJYm9yZGVyV2lkdGg6IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IChkYXRhc2V0LmJvcmRlcldpZHRoIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJXaWR0aCksDQoJCQkJCWJvcmRlckNvbG9yOiBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiAoZGF0YXNldC5ib3JkZXJDb2xvciB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYm9yZGVyQ29sb3IpLA0KCQkJCQlmaWxsOiBjdXN0b20uZmlsbCA/IGN1c3RvbS5maWxsIDogKGRhdGFzZXQuZmlsbCAhPT0gdW5kZWZpbmVkID8gZGF0YXNldC5maWxsIDogbGluZUVsZW1lbnRPcHRpb25zLmZpbGwpLA0KCQkJCQlib3JkZXJDYXBTdHlsZTogY3VzdG9tLmJvcmRlckNhcFN0eWxlID8gY3VzdG9tLmJvcmRlckNhcFN0eWxlIDogKGRhdGFzZXQuYm9yZGVyQ2FwU3R5bGUgfHwgbGluZUVsZW1lbnRPcHRpb25zLmJvcmRlckNhcFN0eWxlKSwNCgkJCQkJYm9yZGVyRGFzaDogY3VzdG9tLmJvcmRlckRhc2ggPyBjdXN0b20uYm9yZGVyRGFzaCA6IChkYXRhc2V0LmJvcmRlckRhc2ggfHwgbGluZUVsZW1lbnRPcHRpb25zLmJvcmRlckRhc2gpLA0KCQkJCQlib3JkZXJEYXNoT2Zmc2V0OiBjdXN0b20uYm9yZGVyRGFzaE9mZnNldCA/IGN1c3RvbS5ib3JkZXJEYXNoT2Zmc2V0IDogKGRhdGFzZXQuYm9yZGVyRGFzaE9mZnNldCB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYm9yZGVyRGFzaE9mZnNldCksDQoJCQkJCWJvcmRlckpvaW5TdHlsZTogY3VzdG9tLmJvcmRlckpvaW5TdHlsZSA/IGN1c3RvbS5ib3JkZXJKb2luU3R5bGUgOiAoZGF0YXNldC5ib3JkZXJKb2luU3R5bGUgfHwgbGluZUVsZW1lbnRPcHRpb25zLmJvcmRlckpvaW5TdHlsZSksDQoNCgkJCQkJLy8gU2NhbGUNCgkJCQkJc2NhbGVUb3A6IHNjYWxlLnRvcCwNCgkJCQkJc2NhbGVCb3R0b206IHNjYWxlLmJvdHRvbSwNCgkJCQkJc2NhbGVaZXJvOiBzY2FsZS5nZXRCYXNlUG9zaXRpb24oKQ0KCQkJCX0NCgkJCX0pOw0KDQoJCQltZXRhLmRhdGFzZXQucGl2b3QoKTsNCg0KCQkJLy8gVXBkYXRlIFBvaW50cw0KCQkJaGVscGVycy5lYWNoKHBvaW50cywgZnVuY3Rpb24ocG9pbnQsIGluZGV4KSB7DQoJCQkJdGhpcy51cGRhdGVFbGVtZW50KHBvaW50LCBpbmRleCwgcmVzZXQpOw0KCQkJfSwgdGhpcyk7DQoNCg0KCQkJLy8gVXBkYXRlIGJlemllciBjb250cm9sIHBvaW50cw0KCQkJdGhpcy51cGRhdGVCZXppZXJDb250cm9sUG9pbnRzKCk7DQoJCX0sDQoJCXVwZGF0ZUVsZW1lbnQ6IGZ1bmN0aW9uKHBvaW50LCBpbmRleCwgcmVzZXQpIHsNCgkJCXZhciBjdXN0b20gPSBwb2ludC5jdXN0b20gfHwge307DQoJCQl2YXIgZGF0YXNldCA9IHRoaXMuZ2V0RGF0YXNldCgpOw0KCQkJdmFyIHNjYWxlID0gdGhpcy5jaGFydC5zY2FsZTsNCgkJCXZhciBwb2ludEVsZW1lbnRPcHRpb25zID0gdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLnBvaW50Ow0KCQkJdmFyIHBvaW50UG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIGRhdGFzZXQuZGF0YVtpbmRleF0pOw0KDQoJCQloZWxwZXJzLmV4dGVuZChwb2ludCwgew0KCQkJCS8vIFV0aWxpdHkNCgkJCQlfZGF0YXNldEluZGV4OiB0aGlzLmluZGV4LA0KCQkJCV9pbmRleDogaW5kZXgsDQoJCQkJX3NjYWxlOiBzY2FsZSwNCg0KCQkJCS8vIERlc2lyZWQgdmlldyBwcm9wZXJ0aWVzDQoJCQkJX21vZGVsOiB7DQoJCQkJCXg6IHJlc2V0ID8gc2NhbGUueENlbnRlciA6IHBvaW50UG9zaXRpb24ueCwgLy8gdmFsdWUgbm90IHVzZWQgaW4gZGF0YXNldCBzY2FsZSwgYnV0IHdlIHdhbnQgYSBjb25zaXN0ZW50IEFQSSBiZXR3ZWVuIHNjYWxlcw0KCQkJCQl5OiByZXNldCA/IHNjYWxlLnlDZW50ZXIgOiBwb2ludFBvc2l0aW9uLnksDQoNCgkJCQkJLy8gQXBwZWFyYW5jZQ0KCQkJCQl0ZW5zaW9uOiBjdXN0b20udGVuc2lvbiA/IGN1c3RvbS50ZW5zaW9uIDogaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdChkYXRhc2V0LnRlbnNpb24sIHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5saW5lLnRlbnNpb24pLA0KCQkJCQlyYWRpdXM6IGN1c3RvbS5yYWRpdXMgPyBjdXN0b20ucmFkaXVzIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludFJhZGl1cywgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMucmFkaXVzKSwNCgkJCQkJYmFja2dyb3VuZENvbG9yOiBjdXN0b20uYmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmJhY2tncm91bmRDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRCYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLmJhY2tncm91bmRDb2xvciksDQoJCQkJCWJvcmRlckNvbG9yOiBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50Qm9yZGVyQ29sb3IsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLmJvcmRlckNvbG9yKSwNCgkJCQkJYm9yZGVyV2lkdGg6IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRCb3JkZXJXaWR0aCwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuYm9yZGVyV2lkdGgpLA0KCQkJCQlwb2ludFN0eWxlOiBjdXN0b20ucG9pbnRTdHlsZSA/IGN1c3RvbS5wb2ludFN0eWxlIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludFN0eWxlLCBpbmRleCwgcG9pbnRFbGVtZW50T3B0aW9ucy5wb2ludFN0eWxlKSwNCg0KCQkJCQkvLyBUb29sdGlwDQoJCQkJCWhpdFJhZGl1czogY3VzdG9tLmhpdFJhZGl1cyA/IGN1c3RvbS5oaXRSYWRpdXMgOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmhpdFJhZGl1cywgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuaGl0UmFkaXVzKQ0KCQkJCX0NCgkJCX0pOw0KDQoJCQlwb2ludC5fbW9kZWwuc2tpcCA9IGN1c3RvbS5za2lwID8gY3VzdG9tLnNraXAgOiAoaXNOYU4ocG9pbnQuX21vZGVsLngpIHx8IGlzTmFOKHBvaW50Ll9tb2RlbC55KSk7DQoJCX0sDQoJCXVwZGF0ZUJlemllckNvbnRyb2xQb2ludHM6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGNoYXJ0QXJlYSA9IHRoaXMuY2hhcnQuY2hhcnRBcmVhOw0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCg0KCQkJaGVscGVycy5lYWNoKG1ldGEuZGF0YSwgZnVuY3Rpb24ocG9pbnQsIGluZGV4KSB7DQoJCQkJdmFyIG1vZGVsID0gcG9pbnQuX21vZGVsOw0KCQkJCXZhciBjb250cm9sUG9pbnRzID0gaGVscGVycy5zcGxpbmVDdXJ2ZSgNCgkJCQkJaGVscGVycy5wcmV2aW91c0l0ZW0obWV0YS5kYXRhLCBpbmRleCwgdHJ1ZSkuX21vZGVsLA0KCQkJCQltb2RlbCwNCgkJCQkJaGVscGVycy5uZXh0SXRlbShtZXRhLmRhdGEsIGluZGV4LCB0cnVlKS5fbW9kZWwsDQoJCQkJCW1vZGVsLnRlbnNpb24NCgkJCQkpOw0KDQoJCQkJLy8gUHJldmVudCB0aGUgYmV6aWVyIGdvaW5nIG91dHNpZGUgb2YgdGhlIGJvdW5kcyBvZiB0aGUgZ3JhcGgNCgkJCQltb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1ggPSBNYXRoLm1heChNYXRoLm1pbihjb250cm9sUG9pbnRzLnByZXZpb3VzLngsIGNoYXJ0QXJlYS5yaWdodCksIGNoYXJ0QXJlYS5sZWZ0KTsNCgkJCQltb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1kgPSBNYXRoLm1heChNYXRoLm1pbihjb250cm9sUG9pbnRzLnByZXZpb3VzLnksIGNoYXJ0QXJlYS5ib3R0b20pLCBjaGFydEFyZWEudG9wKTsNCg0KCQkJCW1vZGVsLmNvbnRyb2xQb2ludE5leHRYID0gTWF0aC5tYXgoTWF0aC5taW4oY29udHJvbFBvaW50cy5uZXh0LngsIGNoYXJ0QXJlYS5yaWdodCksIGNoYXJ0QXJlYS5sZWZ0KTsNCgkJCQltb2RlbC5jb250cm9sUG9pbnROZXh0WSA9IE1hdGgubWF4KE1hdGgubWluKGNvbnRyb2xQb2ludHMubmV4dC55LCBjaGFydEFyZWEuYm90dG9tKSwgY2hhcnRBcmVhLnRvcCk7DQoNCgkJCQkvLyBOb3cgcGl2b3QgdGhlIHBvaW50IGZvciBhbmltYXRpb24NCgkJCQlwb2ludC5waXZvdCgpOw0KCQkJfSwgdGhpcyk7DQoJCX0sDQoNCgkJZHJhdzogZnVuY3Rpb24oZWFzZSkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciBlYXNpbmdEZWNpbWFsID0gZWFzZSB8fCAxOw0KDQoJCQkvLyBUcmFuc2l0aW9uIFBvaW50IExvY2F0aW9ucw0KCQkJaGVscGVycy5lYWNoKG1ldGEuZGF0YSwgZnVuY3Rpb24ocG9pbnQsIGluZGV4KSB7DQoJCQkJcG9pbnQudHJhbnNpdGlvbihlYXNpbmdEZWNpbWFsKTsNCgkJCX0pOw0KDQoJCQkvLyBUcmFuc2l0aW9uIGFuZCBEcmF3IHRoZSBsaW5lDQoJCQltZXRhLmRhdGFzZXQudHJhbnNpdGlvbihlYXNpbmdEZWNpbWFsKS5kcmF3KCk7DQoNCgkJCS8vIERyYXcgdGhlIHBvaW50cw0KCQkJaGVscGVycy5lYWNoKG1ldGEuZGF0YSwgZnVuY3Rpb24ocG9pbnQpIHsNCgkJCQlwb2ludC5kcmF3KCk7DQoJCQl9KTsNCgkJfSwNCg0KCQlzZXRIb3ZlclN0eWxlOiBmdW5jdGlvbihwb2ludCkgew0KCQkJLy8gUG9pbnQNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW3BvaW50Ll9kYXRhc2V0SW5kZXhdOw0KCQkJdmFyIGN1c3RvbSA9IHBvaW50LmN1c3RvbSB8fCB7fTsNCgkJCXZhciBpbmRleCA9IHBvaW50Ll9pbmRleDsNCgkJCXZhciBtb2RlbCA9IHBvaW50Ll9tb2RlbDsNCg0KCQkJbW9kZWwucmFkaXVzID0gY3VzdG9tLmhvdmVyUmFkaXVzID8gY3VzdG9tLmhvdmVyUmFkaXVzIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEhvdmVyUmFkaXVzLCBpbmRleCwgdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLnBvaW50LmhvdmVyUmFkaXVzKTsNCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRIb3ZlckJhY2tncm91bmRDb2xvciwgaW5kZXgsIGhlbHBlcnMuZ2V0SG92ZXJDb2xvcihtb2RlbC5iYWNrZ3JvdW5kQ29sb3IpKTsNCgkJCW1vZGVsLmJvcmRlckNvbG9yID0gY3VzdG9tLmhvdmVyQm9yZGVyQ29sb3IgPyBjdXN0b20uaG92ZXJCb3JkZXJDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRIb3ZlckJvcmRlckNvbG9yLCBpbmRleCwgaGVscGVycy5nZXRIb3ZlckNvbG9yKG1vZGVsLmJvcmRlckNvbG9yKSk7DQoJCQltb2RlbC5ib3JkZXJXaWR0aCA9IGN1c3RvbS5ob3ZlckJvcmRlcldpZHRoID8gY3VzdG9tLmhvdmVyQm9yZGVyV2lkdGggOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SG92ZXJCb3JkZXJXaWR0aCwgaW5kZXgsIG1vZGVsLmJvcmRlcldpZHRoKTsNCgkJfSwNCg0KCQlyZW1vdmVIb3ZlclN0eWxlOiBmdW5jdGlvbihwb2ludCkgew0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbcG9pbnQuX2RhdGFzZXRJbmRleF07DQoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9Ow0KCQkJdmFyIGluZGV4ID0gcG9pbnQuX2luZGV4Ow0KCQkJdmFyIG1vZGVsID0gcG9pbnQuX21vZGVsOw0KCQkJdmFyIHBvaW50RWxlbWVudE9wdGlvbnMgPSB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQ7DQoNCgkJCW1vZGVsLnJhZGl1cyA9IGN1c3RvbS5yYWRpdXMgPyBjdXN0b20ucmFkaXVzIDogaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5yYWRpdXMsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLnJhZGl1cyk7DQoJCQltb2RlbC5iYWNrZ3JvdW5kQ29sb3IgPSBjdXN0b20uYmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmJhY2tncm91bmRDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRCYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLmJhY2tncm91bmRDb2xvcik7DQoJCQltb2RlbC5ib3JkZXJDb2xvciA9IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IGhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRCb3JkZXJDb2xvciwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuYm9yZGVyQ29sb3IpOw0KCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50Qm9yZGVyV2lkdGgsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLmJvcmRlcldpZHRoKTsNCgkJfQ0KCX0pOw0KfTsNCgp9LHt9XSwyMTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Ci8qZ2xvYmFsIHdpbmRvdzogZmFsc2UgKi8NCiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzOw0KDQoJQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmFuaW1hdGlvbiA9IHsNCgkJZHVyYXRpb246IDEwMDAsDQoJCWVhc2luZzogImVhc2VPdXRRdWFydCIsDQoJCW9uUHJvZ3Jlc3M6IGhlbHBlcnMubm9vcCwNCgkJb25Db21wbGV0ZTogaGVscGVycy5ub29wDQoJfTsNCg0KCUNoYXJ0LkFuaW1hdGlvbiA9IENoYXJ0LkVsZW1lbnQuZXh0ZW5kKHsNCgkJY3VycmVudFN0ZXA6IG51bGwsIC8vIHRoZSBjdXJyZW50IGFuaW1hdGlvbiBzdGVwDQoJCW51bVN0ZXBzOiA2MCwgLy8gZGVmYXVsdCBudW1iZXIgb2Ygc3RlcHMNCgkJZWFzaW5nOiAiIiwgLy8gdGhlIGVhc2luZyB0byB1c2UgZm9yIHRoaXMgYW5pbWF0aW9uDQoJCXJlbmRlcjogbnVsbCwgLy8gcmVuZGVyIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIGFuaW1hdGlvbiBzZXJ2aWNlDQoNCgkJb25BbmltYXRpb25Qcm9ncmVzczogbnVsbCwgLy8gdXNlciBzcGVjaWZpZWQgY2FsbGJhY2sgdG8gZmlyZSBvbiBlYWNoIHN0ZXAgb2YgdGhlIGFuaW1hdGlvbg0KCQlvbkFuaW1hdGlvbkNvbXBsZXRlOiBudWxsIC8vIHVzZXIgc3BlY2lmaWVkIGNhbGxiYWNrIHRvIGZpcmUgd2hlbiB0aGUgYW5pbWF0aW9uIGZpbmlzaGVzDQoJfSk7DQoNCglDaGFydC5hbmltYXRpb25TZXJ2aWNlID0gew0KCQlmcmFtZUR1cmF0aW9uOiAxNywNCgkJYW5pbWF0aW9uczogW10sDQoJCWRyb3BGcmFtZXM6IDAsDQoJCXJlcXVlc3Q6IG51bGwsDQoJCWFkZEFuaW1hdGlvbjogZnVuY3Rpb24oY2hhcnRJbnN0YW5jZSwgYW5pbWF0aW9uT2JqZWN0LCBkdXJhdGlvbiwgbGF6eSkgew0KDQoJCQlpZiAoIWxhenkpIHsNCgkJCQljaGFydEluc3RhbmNlLmFuaW1hdGluZyA9IHRydWU7DQoJCQl9DQoNCgkJCWZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmFuaW1hdGlvbnMubGVuZ3RoOyArK2luZGV4KSB7DQoJCQkJaWYgKHRoaXMuYW5pbWF0aW9uc1tpbmRleF0uY2hhcnRJbnN0YW5jZSA9PT0gY2hhcnRJbnN0YW5jZSkgew0KCQkJCQkvLyByZXBsYWNpbmcgYW4gaW4gcHJvZ3Jlc3MgYW5pbWF0aW9uDQoJCQkJCXRoaXMuYW5pbWF0aW9uc1tpbmRleF0uYW5pbWF0aW9uT2JqZWN0ID0gYW5pbWF0aW9uT2JqZWN0Ow0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0aGlzLmFuaW1hdGlvbnMucHVzaCh7DQoJCQkJY2hhcnRJbnN0YW5jZTogY2hhcnRJbnN0YW5jZSwNCgkJCQlhbmltYXRpb25PYmplY3Q6IGFuaW1hdGlvbk9iamVjdA0KCQkJfSk7DQoNCgkJCS8vIElmIHRoZXJlIGFyZSBubyBhbmltYXRpb25zIHF1ZXVlZCwgbWFudWFsbHkga2lja3N0YXJ0IGEgZGlnZXN0LCBmb3IgbGFjayBvZiBhIGJldHRlciB3b3JkDQoJCQlpZiAodGhpcy5hbmltYXRpb25zLmxlbmd0aCA9PT0gMSkgew0KCQkJCXRoaXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCk7DQoJCQl9DQoJCX0sDQoJCS8vIENhbmNlbCB0aGUgYW5pbWF0aW9uIGZvciBhIGdpdmVuIGNoYXJ0IGluc3RhbmNlDQoJCWNhbmNlbEFuaW1hdGlvbjogZnVuY3Rpb24oY2hhcnRJbnN0YW5jZSkgew0KCQkJdmFyIGluZGV4ID0gaGVscGVycy5maW5kSW5kZXgodGhpcy5hbmltYXRpb25zLCBmdW5jdGlvbihhbmltYXRpb25XcmFwcGVyKSB7DQoJCQkJcmV0dXJuIGFuaW1hdGlvbldyYXBwZXIuY2hhcnRJbnN0YW5jZSA9PT0gY2hhcnRJbnN0YW5jZTsNCgkJCX0pOw0KDQoJCQlpZiAoaW5kZXggIT09IC0xKSB7DQoJCQkJdGhpcy5hbmltYXRpb25zLnNwbGljZShpbmRleCwgMSk7DQoJCQkJY2hhcnRJbnN0YW5jZS5hbmltYXRpbmcgPSBmYWxzZTsNCgkJCX0NCgkJfSwNCgkJcmVxdWVzdEFuaW1hdGlvbkZyYW1lOiBmdW5jdGlvbigpIHsNCgkJCXZhciBtZSA9IHRoaXM7DQoJCQlpZiAobWUucmVxdWVzdCA9PT0gbnVsbCkgew0KCQkJCS8vIFNraXAgYW5pbWF0aW9uIGZyYW1lIHJlcXVlc3RzIHVudGlsIHRoZSBhY3RpdmUgb25lIGlzIGV4ZWN1dGVkLg0KCQkJCS8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHByb2Nlc3NpbmcgbW91c2UgZXZlbnRzLCBlLmcuICdtb3VzZW1vdmUnDQoJCQkJLy8gYW5kICdtb3VzZW91dCcgZXZlbnRzIHdpbGwgdHJpZ2dlciBtdWx0aXBsZSByZW5kZXJzLg0KCQkJCW1lLnJlcXVlc3QgPSBoZWxwZXJzLnJlcXVlc3RBbmltRnJhbWUuY2FsbCh3aW5kb3csIGZ1bmN0aW9uKCkgew0KCQkJCQltZS5yZXF1ZXN0ID0gbnVsbDsNCgkJCQkJbWUuc3RhcnREaWdlc3QoKTsNCgkJCQl9KTsNCgkJCX0NCgkJfSwNCgkJc3RhcnREaWdlc3Q6IGZ1bmN0aW9uKCkgew0KDQoJCQl2YXIgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTsNCgkJCXZhciBmcmFtZXNUb0Ryb3AgPSAwOw0KDQoJCQlpZiAodGhpcy5kcm9wRnJhbWVzID4gMSkgew0KCQkJCWZyYW1lc1RvRHJvcCA9IE1hdGguZmxvb3IodGhpcy5kcm9wRnJhbWVzKTsNCgkJCQl0aGlzLmRyb3BGcmFtZXMgPSB0aGlzLmRyb3BGcmFtZXMgJSAxOw0KCQkJfQ0KDQoJCQl2YXIgaSA9IDA7DQoJCQl3aGlsZSAoaSA8IHRoaXMuYW5pbWF0aW9ucy5sZW5ndGgpIHsNCgkJCQlpZiAodGhpcy5hbmltYXRpb25zW2ldLmFuaW1hdGlvbk9iamVjdC5jdXJyZW50U3RlcCA9PT0gbnVsbCkgew0KCQkJCQl0aGlzLmFuaW1hdGlvbnNbaV0uYW5pbWF0aW9uT2JqZWN0LmN1cnJlbnRTdGVwID0gMDsNCgkJCQl9DQoNCgkJCQl0aGlzLmFuaW1hdGlvbnNbaV0uYW5pbWF0aW9uT2JqZWN0LmN1cnJlbnRTdGVwICs9IDEgKyBmcmFtZXNUb0Ryb3A7DQoNCgkJCQlpZiAodGhpcy5hbmltYXRpb25zW2ldLmFuaW1hdGlvbk9iamVjdC5jdXJyZW50U3RlcCA+IHRoaXMuYW5pbWF0aW9uc1tpXS5hbmltYXRpb25PYmplY3QubnVtU3RlcHMpIHsNCgkJCQkJdGhpcy5hbmltYXRpb25zW2ldLmFuaW1hdGlvbk9iamVjdC5jdXJyZW50U3RlcCA9IHRoaXMuYW5pbWF0aW9uc1tpXS5hbmltYXRpb25PYmplY3QubnVtU3RlcHM7DQoJCQkJfQ0KDQoJCQkJdGhpcy5hbmltYXRpb25zW2ldLmFuaW1hdGlvbk9iamVjdC5yZW5kZXIodGhpcy5hbmltYXRpb25zW2ldLmNoYXJ0SW5zdGFuY2UsIHRoaXMuYW5pbWF0aW9uc1tpXS5hbmltYXRpb25PYmplY3QpOw0KCQkJCWlmICh0aGlzLmFuaW1hdGlvbnNbaV0uYW5pbWF0aW9uT2JqZWN0Lm9uQW5pbWF0aW9uUHJvZ3Jlc3MgJiYgdGhpcy5hbmltYXRpb25zW2ldLmFuaW1hdGlvbk9iamVjdC5vbkFuaW1hdGlvblByb2dyZXNzLmNhbGwpIHsNCgkJCQkJdGhpcy5hbmltYXRpb25zW2ldLmFuaW1hdGlvbk9iamVjdC5vbkFuaW1hdGlvblByb2dyZXNzLmNhbGwodGhpcy5hbmltYXRpb25zW2ldLmNoYXJ0SW5zdGFuY2UsIHRoaXMuYW5pbWF0aW9uc1tpXSk7DQoJCQkJfQ0KDQoJCQkJaWYgKHRoaXMuYW5pbWF0aW9uc1tpXS5hbmltYXRpb25PYmplY3QuY3VycmVudFN0ZXAgPT09IHRoaXMuYW5pbWF0aW9uc1tpXS5hbmltYXRpb25PYmplY3QubnVtU3RlcHMpIHsNCgkJCQkJaWYgKHRoaXMuYW5pbWF0aW9uc1tpXS5hbmltYXRpb25PYmplY3Qub25BbmltYXRpb25Db21wbGV0ZSAmJiB0aGlzLmFuaW1hdGlvbnNbaV0uYW5pbWF0aW9uT2JqZWN0Lm9uQW5pbWF0aW9uQ29tcGxldGUuY2FsbCkgew0KCQkJCQkJdGhpcy5hbmltYXRpb25zW2ldLmFuaW1hdGlvbk9iamVjdC5vbkFuaW1hdGlvbkNvbXBsZXRlLmNhbGwodGhpcy5hbmltYXRpb25zW2ldLmNoYXJ0SW5zdGFuY2UsIHRoaXMuYW5pbWF0aW9uc1tpXSk7DQoJCQkJCX0NCg0KCQkJCQkvLyBleGVjdXRlZCB0aGUgbGFzdCBmcmFtZS4gUmVtb3ZlIHRoZSBhbmltYXRpb24uDQoJCQkJCXRoaXMuYW5pbWF0aW9uc1tpXS5jaGFydEluc3RhbmNlLmFuaW1hdGluZyA9IGZhbHNlOw0KDQoJCQkJCXRoaXMuYW5pbWF0aW9ucy5zcGxpY2UoaSwgMSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJKytpOw0KCQkJCX0NCgkJCX0NCg0KCQkJdmFyIGVuZFRpbWUgPSBEYXRlLm5vdygpOw0KCQkJdmFyIGRyb3BGcmFtZXMgPSAoZW5kVGltZSAtIHN0YXJ0VGltZSkgLyB0aGlzLmZyYW1lRHVyYXRpb247DQoNCgkJCXRoaXMuZHJvcEZyYW1lcyArPSBkcm9wRnJhbWVzOw0KDQoJCQkvLyBEbyB3ZSBoYXZlIG1vcmUgc3R1ZmYgdG8gYW5pbWF0ZT8NCgkJCWlmICh0aGlzLmFuaW1hdGlvbnMubGVuZ3RoID4gMCkgew0KCQkJCXRoaXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCk7DQoJCQl9DQoJCX0NCgl9Ow0KfTsKfSx7fV0sMjI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCgkvL0NyZWF0ZSBhIGRpY3Rpb25hcnkgb2YgY2hhcnQgdHlwZXMsIHRvIGFsbG93IGZvciBleHRlbnNpb24gb2YgZXhpc3RpbmcgdHlwZXMNCglDaGFydC50eXBlcyA9IHt9Ow0KDQoJLy9TdG9yZSBhIHJlZmVyZW5jZSB0byBlYWNoIGluc3RhbmNlIC0gYWxsb3dpbmcgdXMgdG8gZ2xvYmFsbHkgcmVzaXplIGNoYXJ0IGluc3RhbmNlcyBvbiB3aW5kb3cgcmVzaXplLg0KCS8vRGVzdHJveSBtZXRob2Qgb24gdGhlIGNoYXJ0IHdpbGwgcmVtb3ZlIHRoZSBpbnN0YW5jZSBvZiB0aGUgY2hhcnQgZnJvbSB0aGlzIHJlZmVyZW5jZS4NCglDaGFydC5pbnN0YW5jZXMgPSB7fTsNCg0KCS8vIENvbnRyb2xsZXJzIGF2YWlsYWJsZSBmb3IgZGF0YXNldCB2aXN1YWxpemF0aW9uIGVnLiBiYXIsIGxpbmUsIHNsaWNlLCBldGMuDQoJQ2hhcnQuY29udHJvbGxlcnMgPSB7fTsNCg0KCS8vIFRoZSBtYWluIGNvbnRyb2xsZXIgb2YgYSBjaGFydA0KCUNoYXJ0LkNvbnRyb2xsZXIgPSBmdW5jdGlvbihpbnN0YW5jZSkgew0KDQoJCXRoaXMuY2hhcnQgPSBpbnN0YW5jZTsNCgkJdGhpcy5jb25maWcgPSBpbnN0YW5jZS5jb25maWc7DQoJCXRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnLm9wdGlvbnMgPSBoZWxwZXJzLmNvbmZpZ01lcmdlKENoYXJ0LmRlZmF1bHRzLmdsb2JhbCwgQ2hhcnQuZGVmYXVsdHNbdGhpcy5jb25maWcudHlwZV0sIHRoaXMuY29uZmlnLm9wdGlvbnMgfHwge30pOw0KCQl0aGlzLmlkID0gaGVscGVycy51aWQoKTsNCg0KCQlPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2RhdGEnLCB7DQoJCQlnZXQ6IGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiB0aGlzLmNvbmZpZy5kYXRhOw0KCQkJfQ0KCQl9KTsNCg0KCQkvL0FkZCB0aGUgY2hhcnQgaW5zdGFuY2UgdG8gdGhlIGdsb2JhbCBuYW1lc3BhY2UNCgkJQ2hhcnQuaW5zdGFuY2VzW3RoaXMuaWRdID0gdGhpczsNCg0KCQlpZiAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmUpIHsNCgkJCS8vIFNpbGVudCByZXNpemUgYmVmb3JlIGNoYXJ0IGRyYXdzDQoJCQl0aGlzLnJlc2l6ZSh0cnVlKTsNCgkJfQ0KDQoJCXRoaXMuaW5pdGlhbGl6ZSgpOw0KDQoJCXJldHVybiB0aGlzOw0KCX07DQoNCgloZWxwZXJzLmV4dGVuZChDaGFydC5Db250cm9sbGVyLnByb3RvdHlwZSwgew0KDQoJCWluaXRpYWxpemU6IGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7DQoJCQkvLyBCZWZvcmUgaW5pdCBwbHVnaW4gbm90aWZpY2F0aW9uDQoJCQlDaGFydC5wbHVnaW5TZXJ2aWNlLm5vdGlmeVBsdWdpbnMoJ2JlZm9yZUluaXQnLCBbdGhpc10pOw0KDQoJCQl0aGlzLmJpbmRFdmVudHMoKTsNCg0KCQkJLy8gTWFrZSBzdXJlIGNvbnRyb2xsZXJzIGFyZSBidWlsdCBmaXJzdCBzbyB0aGF0IGVhY2ggZGF0YXNldCBpcyBib3VuZCB0byBhbiBheGlzIGJlZm9yZSB0aGUgc2NhbGVzDQoJCQkvLyBhcmUgYnVpbHQNCgkJCXRoaXMuZW5zdXJlU2NhbGVzSGF2ZUlEcygpOw0KCQkJdGhpcy5idWlsZE9yVXBkYXRlQ29udHJvbGxlcnMoKTsNCgkJCXRoaXMuYnVpbGRTY2FsZXMoKTsNCgkJCXRoaXMuYnVpbGRTdXJyb3VuZGluZ0l0ZW1zKCk7DQoJCQl0aGlzLnVwZGF0ZUxheW91dCgpOw0KCQkJdGhpcy5yZXNldEVsZW1lbnRzKCk7DQoJCQl0aGlzLmluaXRUb29sVGlwKCk7DQoJCQl0aGlzLnVwZGF0ZSgpOw0KDQoJCQkvLyBBZnRlciBpbml0IHBsdWdpbiBub3RpZmljYXRpb24NCgkJCUNoYXJ0LnBsdWdpblNlcnZpY2Uubm90aWZ5UGx1Z2lucygnYWZ0ZXJJbml0JywgW3RoaXNdKTsNCg0KCQkJcmV0dXJuIHRoaXM7DQoJCX0sDQoNCgkJY2xlYXI6IGZ1bmN0aW9uIGNsZWFyKCkgew0KCQkJaGVscGVycy5jbGVhcih0aGlzLmNoYXJ0KTsNCgkJCXJldHVybiB0aGlzOw0KCQl9LA0KDQoJCXN0b3A6IGZ1bmN0aW9uIHN0b3AoKSB7DQoJCQkvLyBTdG9wcyBhbnkgY3VycmVudCBhbmltYXRpb24gbG9vcCBvY2N1cmluZw0KCQkJQ2hhcnQuYW5pbWF0aW9uU2VydmljZS5jYW5jZWxBbmltYXRpb24odGhpcyk7DQoJCQlyZXR1cm4gdGhpczsNCgkJfSwNCg0KCQlyZXNpemU6IGZ1bmN0aW9uIHJlc2l6ZShzaWxlbnQpIHsNCgkJCXZhciBjYW52YXMgPSB0aGlzLmNoYXJ0LmNhbnZhczsNCgkJCXZhciBuZXdXaWR0aCA9IGhlbHBlcnMuZ2V0TWF4aW11bVdpZHRoKHRoaXMuY2hhcnQuY2FudmFzKTsNCgkJCXZhciBuZXdIZWlnaHQgPSAodGhpcy5vcHRpb25zLm1haW50YWluQXNwZWN0UmF0aW8gJiYgaXNOYU4odGhpcy5jaGFydC5hc3BlY3RSYXRpbykgPT09IGZhbHNlICYmIGlzRmluaXRlKHRoaXMuY2hhcnQuYXNwZWN0UmF0aW8pICYmIHRoaXMuY2hhcnQuYXNwZWN0UmF0aW8gIT09IDApID8gbmV3V2lkdGggLyB0aGlzLmNoYXJ0LmFzcGVjdFJhdGlvIDogaGVscGVycy5nZXRNYXhpbXVtSGVpZ2h0KHRoaXMuY2hhcnQuY2FudmFzKTsNCg0KCQkJdmFyIHNpemVDaGFuZ2VkID0gdGhpcy5jaGFydC53aWR0aCAhPT0gbmV3V2lkdGggfHwgdGhpcy5jaGFydC5oZWlnaHQgIT09IG5ld0hlaWdodDsNCg0KCQkJaWYgKCFzaXplQ2hhbmdlZCkNCgkJCQlyZXR1cm4gdGhpczsNCg0KCQkJY2FudmFzLndpZHRoID0gdGhpcy5jaGFydC53aWR0aCA9IG5ld1dpZHRoOw0KCQkJY2FudmFzLmhlaWdodCA9IHRoaXMuY2hhcnQuaGVpZ2h0ID0gbmV3SGVpZ2h0Ow0KDQoJCQloZWxwZXJzLnJldGluYVNjYWxlKHRoaXMuY2hhcnQpOw0KDQoJCQlpZiAoIXNpbGVudCkgew0KCQkJCXRoaXMuc3RvcCgpOw0KCQkJCXRoaXMudXBkYXRlKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQW5pbWF0aW9uRHVyYXRpb24pOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdGhpczsNCgkJfSwNCg0KCQllbnN1cmVTY2FsZXNIYXZlSURzOiBmdW5jdGlvbiBlbnN1cmVTY2FsZXNIYXZlSURzKCkgew0KCQkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoJCQl2YXIgc2NhbGVzT3B0aW9ucyA9IG9wdGlvbnMuc2NhbGVzIHx8IHt9Ow0KCQkJdmFyIHNjYWxlT3B0aW9ucyA9IG9wdGlvbnMuc2NhbGU7DQoNCgkJCWhlbHBlcnMuZWFjaChzY2FsZXNPcHRpb25zLnhBeGVzLCBmdW5jdGlvbih4QXhpc09wdGlvbnMsIGluZGV4KSB7DQoJCQkJeEF4aXNPcHRpb25zLmlkID0geEF4aXNPcHRpb25zLmlkIHx8ICgneC1heGlzLScgKyBpbmRleCk7DQoJCQl9KTsNCg0KCQkJaGVscGVycy5lYWNoKHNjYWxlc09wdGlvbnMueUF4ZXMsIGZ1bmN0aW9uKHlBeGlzT3B0aW9ucywgaW5kZXgpIHsNCgkJCQl5QXhpc09wdGlvbnMuaWQgPSB5QXhpc09wdGlvbnMuaWQgfHwgKCd5LWF4aXMtJyArIGluZGV4KTsNCgkJCX0pOw0KDQoJCQlpZiAoc2NhbGVPcHRpb25zKSB7DQoJCQkJc2NhbGVPcHRpb25zLmlkID0gc2NhbGVPcHRpb25zLmlkIHx8ICdzY2FsZSc7DQoJCQl9DQoJCX0sDQoNCgkJLyoqDQoJCSAqIEJ1aWxkcyBhIG1hcCBvZiBzY2FsZSBJRCB0byBzY2FsZSBvYmplY3QgZm9yIGZ1dHVyZSBsb29rdXAuDQoJCSAqLw0KCQlidWlsZFNjYWxlczogZnVuY3Rpb24gYnVpbGRTY2FsZXMoKSB7DQoJCQl2YXIgbWUgPSB0aGlzOw0KCQkJdmFyIG9wdGlvbnMgPSBtZS5vcHRpb25zOw0KCQkJdmFyIHNjYWxlcyA9IG1lLnNjYWxlcyA9IHt9Ow0KCQkJdmFyIGl0ZW1zID0gW107DQoNCgkJCWlmIChvcHRpb25zLnNjYWxlcykgew0KCQkJCWl0ZW1zID0gaXRlbXMuY29uY2F0KA0KCQkJCQkob3B0aW9ucy5zY2FsZXMueEF4ZXMgfHwgW10pLm1hcChmdW5jdGlvbih4QXhpc09wdGlvbnMpIHsNCgkJCQkJCXJldHVybiB7IG9wdGlvbnM6IHhBeGlzT3B0aW9ucywgZHR5cGU6ICdjYXRlZ29yeScgfTsgfSksDQoJCQkJCShvcHRpb25zLnNjYWxlcy55QXhlcyB8fCBbXSkubWFwKGZ1bmN0aW9uKHlBeGlzT3B0aW9ucykgew0KCQkJCQkJcmV0dXJuIHsgb3B0aW9uczogeUF4aXNPcHRpb25zLCBkdHlwZTogJ2xpbmVhcicgfTsgfSkpOw0KCQkJfQ0KDQoJCQlpZiAob3B0aW9ucy5zY2FsZSkgew0KCQkJCWl0ZW1zLnB1c2goeyBvcHRpb25zOiBvcHRpb25zLnNjYWxlLCBkdHlwZTogJ3JhZGlhbExpbmVhcicsIGlzRGVmYXVsdDogdHJ1ZSB9KTsNCgkJCX0NCg0KCQkJaGVscGVycy5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpdGVtLCBpbmRleCkgew0KCQkJCXZhciBzY2FsZU9wdGlvbnMgPSBpdGVtLm9wdGlvbnM7DQoJCQkJdmFyIHNjYWxlVHlwZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQoc2NhbGVPcHRpb25zLnR5cGUsIGl0ZW0uZHR5cGUpOw0KCQkJCXZhciBzY2FsZUNsYXNzID0gQ2hhcnQuc2NhbGVTZXJ2aWNlLmdldFNjYWxlQ29uc3RydWN0b3Ioc2NhbGVUeXBlKTsNCgkJCQlpZiAoIXNjYWxlQ2xhc3MpIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCg0KCQkJCXZhciBzY2FsZSA9IG5ldyBzY2FsZUNsYXNzKHsNCgkJCQkJaWQ6IHNjYWxlT3B0aW9ucy5pZCwNCgkJCQkJb3B0aW9uczogc2NhbGVPcHRpb25zLA0KCQkJCQljdHg6IG1lLmNoYXJ0LmN0eCwNCgkJCQkJY2hhcnQ6IG1lDQoJCQkJfSk7DQoNCgkJCQlzY2FsZXNbc2NhbGUuaWRdID0gc2NhbGU7DQoNCgkJCQkvLyBUT0RPKFNCKTogSSB0aGluayB3ZSBzaG91bGQgYmUgYWJsZSB0byByZW1vdmUgdGhpcyBjdXN0b20gY2FzZSAob3B0aW9ucy5zY2FsZSkNCgkJCQkvLyBhbmQgY29uc2lkZXIgaXQgYXMgYSByZWd1bGFyIHNjYWxlIHBhcnQgb2YgdGhlICJzY2FsZXMiIiBtYXAgb25seSEgVGhpcyB3b3VsZA0KCQkJCS8vIG1ha2UgdGhlIGxvZ2ljIGVhc2llciBhbmQgcmVtb3ZlIHNvbWUgdXNlbGVzcz8gY3VzdG9tIGNvZGUuDQoJCQkJaWYgKGl0ZW0uaXNEZWZhdWx0KSB7DQoJCQkJCW1lLnNjYWxlID0gc2NhbGU7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJCUNoYXJ0LnNjYWxlU2VydmljZS5hZGRTY2FsZXNUb0xheW91dCh0aGlzKTsNCgkJfSwNCg0KCQlidWlsZFN1cnJvdW5kaW5nSXRlbXM6IGZ1bmN0aW9uKCkgew0KCQkJaWYgKHRoaXMub3B0aW9ucy50aXRsZSkgew0KCQkJCXRoaXMudGl0bGVCbG9jayA9IG5ldyBDaGFydC5UaXRsZSh7DQoJCQkJCWN0eDogdGhpcy5jaGFydC5jdHgsDQoJCQkJCW9wdGlvbnM6IHRoaXMub3B0aW9ucy50aXRsZSwNCgkJCQkJY2hhcnQ6IHRoaXMNCgkJCQl9KTsNCg0KCQkJCUNoYXJ0LmxheW91dFNlcnZpY2UuYWRkQm94KHRoaXMsIHRoaXMudGl0bGVCbG9jayk7DQoJCQl9DQoNCgkJCWlmICh0aGlzLm9wdGlvbnMubGVnZW5kKSB7DQoJCQkJdGhpcy5sZWdlbmQgPSBuZXcgQ2hhcnQuTGVnZW5kKHsNCgkJCQkJY3R4OiB0aGlzLmNoYXJ0LmN0eCwNCgkJCQkJb3B0aW9uczogdGhpcy5vcHRpb25zLmxlZ2VuZCwNCgkJCQkJY2hhcnQ6IHRoaXMNCgkJCQl9KTsNCg0KCQkJCUNoYXJ0LmxheW91dFNlcnZpY2UuYWRkQm94KHRoaXMsIHRoaXMubGVnZW5kKTsNCgkJCX0NCgkJfSwNCg0KCQl1cGRhdGVMYXlvdXQ6IGZ1bmN0aW9uKCkgew0KCQkJQ2hhcnQubGF5b3V0U2VydmljZS51cGRhdGUodGhpcywgdGhpcy5jaGFydC53aWR0aCwgdGhpcy5jaGFydC5oZWlnaHQpOw0KCQl9LA0KDQoJCWJ1aWxkT3JVcGRhdGVDb250cm9sbGVyczogZnVuY3Rpb24gYnVpbGRPclVwZGF0ZUNvbnRyb2xsZXJzKCkgew0KCQkJdmFyIHR5cGVzID0gW107DQoJCQl2YXIgbmV3Q29udHJvbGxlcnMgPSBbXTsNCg0KCQkJaGVscGVycy5lYWNoKHRoaXMuZGF0YS5kYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJdmFyIG1ldGEgPSB0aGlzLmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7DQoJCQkJaWYgKCFtZXRhLnR5cGUpIHsNCgkJCQkJbWV0YS50eXBlID0gZGF0YXNldC50eXBlIHx8IHRoaXMuY29uZmlnLnR5cGU7DQoJCQkJfQ0KDQoJCQkJdHlwZXMucHVzaChtZXRhLnR5cGUpOw0KDQoJCQkJaWYgKG1ldGEuY29udHJvbGxlcikgew0KCQkJCQltZXRhLmNvbnRyb2xsZXIudXBkYXRlSW5kZXgoZGF0YXNldEluZGV4KTsNCgkJCQl9IGVsc2Ugew0KCQkJCQltZXRhLmNvbnRyb2xsZXIgPSBuZXcgQ2hhcnQuY29udHJvbGxlcnNbbWV0YS50eXBlXSh0aGlzLCBkYXRhc2V0SW5kZXgpOw0KCQkJCQluZXdDb250cm9sbGVycy5wdXNoKG1ldGEuY29udHJvbGxlcik7DQoJCQkJfQ0KCQkJfSwgdGhpcyk7DQoNCgkJCWlmICh0eXBlcy5sZW5ndGggPiAxKSB7DQoJCQkJZm9yICh2YXIgaSA9IDE7IGkgPCB0eXBlcy5sZW5ndGg7IGkrKykgew0KCQkJCQlpZiAodHlwZXNbaV0gIT09IHR5cGVzW2kgLSAxXSkgew0KCQkJCQkJdGhpcy5pc0NvbWJvID0gdHJ1ZTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gbmV3Q29udHJvbGxlcnM7DQoJCX0sDQoNCgkJcmVzZXRFbGVtZW50czogZnVuY3Rpb24gcmVzZXRFbGVtZW50cygpIHsNCgkJCWhlbHBlcnMuZWFjaCh0aGlzLmRhdGEuZGF0YXNldHMsIGZ1bmN0aW9uKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgew0KCQkJCXRoaXMuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KS5jb250cm9sbGVyLnJlc2V0KCk7DQoJCQl9LCB0aGlzKTsNCgkJfSwNCg0KCQl1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZShhbmltYXRpb25EdXJhdGlvbiwgbGF6eSkgew0KCQkJQ2hhcnQucGx1Z2luU2VydmljZS5ub3RpZnlQbHVnaW5zKCdiZWZvcmVVcGRhdGUnLCBbdGhpc10pOw0KDQoJCQkvLyBJbiBjYXNlIHRoZSBlbnRpcmUgZGF0YSBvYmplY3QgY2hhbmdlZA0KCQkJdGhpcy50b29sdGlwLl9kYXRhID0gdGhpcy5kYXRhOw0KDQoJCQkvLyBNYWtlIHN1cmUgZGF0YXNldCBjb250cm9sbGVycyBhcmUgdXBkYXRlZCBhbmQgbmV3IGNvbnRyb2xsZXJzIGFyZSByZXNldA0KCQkJdmFyIG5ld0NvbnRyb2xsZXJzID0gdGhpcy5idWlsZE9yVXBkYXRlQ29udHJvbGxlcnMoKTsNCg0KCQkJLy8gTWFrZSBzdXJlIGFsbCBkYXRhc2V0IGNvbnRyb2xsZXJzIGhhdmUgY29ycmVjdCBtZXRhIGRhdGEgY291bnRzDQoJCQloZWxwZXJzLmVhY2godGhpcy5kYXRhLmRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsNCgkJCQl0aGlzLmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCkuY29udHJvbGxlci5idWlsZE9yVXBkYXRlRWxlbWVudHMoKTsNCgkJCX0sIHRoaXMpOw0KDQoJCQlDaGFydC5sYXlvdXRTZXJ2aWNlLnVwZGF0ZSh0aGlzLCB0aGlzLmNoYXJ0LndpZHRoLCB0aGlzLmNoYXJ0LmhlaWdodCk7DQoNCgkJCS8vIEFwcGx5IGNoYW5nZXMgdG8gdGhlIGRhdGFldHMgdGhhdCByZXF1aXJlIHRoZSBzY2FsZXMgdG8gaGF2ZSBiZWVuIGNhbGN1bGF0ZWQgaS5lIEJvcmRlckNvbG9yIGNoYWdlcw0KCQkJQ2hhcnQucGx1Z2luU2VydmljZS5ub3RpZnlQbHVnaW5zKCdhZnRlclNjYWxlVXBkYXRlJywgW3RoaXNdKTsNCg0KCQkJLy8gQ2FuIG9ubHkgcmVzZXQgdGhlIG5ldyBjb250cm9sbGVycyBhZnRlciB0aGUgc2NhbGVzIGhhdmUgYmVlbiB1cGRhdGVkDQoJCQloZWxwZXJzLmVhY2gobmV3Q29udHJvbGxlcnMsIGZ1bmN0aW9uKGNvbnRyb2xsZXIpIHsNCgkJCQljb250cm9sbGVyLnJlc2V0KCk7DQoJCQl9KTsNCg0KCQkJLy8gVGhpcyB3aWxsIGxvb3AgdGhyb3VnaCBhbnkgZGF0YSBhbmQgZG8gdGhlIGFwcHJvcHJpYXRlIGVsZW1lbnQgdXBkYXRlIGZvciB0aGUgdHlwZQ0KCQkJaGVscGVycy5lYWNoKHRoaXMuZGF0YS5kYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJdGhpcy5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpLmNvbnRyb2xsZXIudXBkYXRlKCk7DQoJCQl9LCB0aGlzKTsNCg0KCQkJLy8gRG8gdGhpcyBiZWZvcmUgcmVuZGVyIHNvIHRoYXQgYW55IHBsdWdpbnMgdGhhdCBuZWVkIGZpbmFsIHNjYWxlIHVwZGF0ZXMgY2FuIHVzZSBpdA0KCQkJQ2hhcnQucGx1Z2luU2VydmljZS5ub3RpZnlQbHVnaW5zKCdhZnRlclVwZGF0ZScsIFt0aGlzXSk7DQoNCgkJCXRoaXMucmVuZGVyKGFuaW1hdGlvbkR1cmF0aW9uLCBsYXp5KTsNCgkJfSwNCg0KCQlyZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihkdXJhdGlvbiwgbGF6eSkgew0KCQkJQ2hhcnQucGx1Z2luU2VydmljZS5ub3RpZnlQbHVnaW5zKCdiZWZvcmVSZW5kZXInLCBbdGhpc10pOw0KDQoJCQl2YXIgYW5pbWF0aW9uT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5hbmltYXRpb247DQoJCQlpZiAoYW5pbWF0aW9uT3B0aW9ucyAmJiAoKHR5cGVvZiBkdXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgZHVyYXRpb24gIT09IDApIHx8ICh0eXBlb2YgZHVyYXRpb24gPT09ICd1bmRlZmluZWQnICYmIGFuaW1hdGlvbk9wdGlvbnMuZHVyYXRpb24gIT09IDApKSkgew0KCQkJCXZhciBhbmltYXRpb24gPSBuZXcgQ2hhcnQuQW5pbWF0aW9uKCk7DQoJCQkJYW5pbWF0aW9uLm51bVN0ZXBzID0gKGR1cmF0aW9uIHx8IGFuaW1hdGlvbk9wdGlvbnMuZHVyYXRpb24pIC8gMTYuNjY7IC8vNjAgZnBzDQoJCQkJYW5pbWF0aW9uLmVhc2luZyA9IGFuaW1hdGlvbk9wdGlvbnMuZWFzaW5nOw0KDQoJCQkJLy8gcmVuZGVyIGZ1bmN0aW9uDQoJCQkJYW5pbWF0aW9uLnJlbmRlciA9IGZ1bmN0aW9uKGNoYXJ0SW5zdGFuY2UsIGFuaW1hdGlvbk9iamVjdCkgew0KCQkJCQl2YXIgZWFzaW5nRnVuY3Rpb24gPSBoZWxwZXJzLmVhc2luZ0VmZmVjdHNbYW5pbWF0aW9uT2JqZWN0LmVhc2luZ107DQoJCQkJCXZhciBzdGVwRGVjaW1hbCA9IGFuaW1hdGlvbk9iamVjdC5jdXJyZW50U3RlcCAvIGFuaW1hdGlvbk9iamVjdC5udW1TdGVwczsNCgkJCQkJdmFyIGVhc2VEZWNpbWFsID0gZWFzaW5nRnVuY3Rpb24oc3RlcERlY2ltYWwpOw0KDQoJCQkJCWNoYXJ0SW5zdGFuY2UuZHJhdyhlYXNlRGVjaW1hbCwgc3RlcERlY2ltYWwsIGFuaW1hdGlvbk9iamVjdC5jdXJyZW50U3RlcCk7DQoJCQkJfTsNCg0KCQkJCS8vIHVzZXIgZXZlbnRzDQoJCQkJYW5pbWF0aW9uLm9uQW5pbWF0aW9uUHJvZ3Jlc3MgPSBhbmltYXRpb25PcHRpb25zLm9uUHJvZ3Jlc3M7DQoJCQkJYW5pbWF0aW9uLm9uQW5pbWF0aW9uQ29tcGxldGUgPSBhbmltYXRpb25PcHRpb25zLm9uQ29tcGxldGU7DQoNCgkJCQlDaGFydC5hbmltYXRpb25TZXJ2aWNlLmFkZEFuaW1hdGlvbih0aGlzLCBhbmltYXRpb24sIGR1cmF0aW9uLCBsYXp5KTsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5kcmF3KCk7DQoJCQkJaWYgKGFuaW1hdGlvbk9wdGlvbnMgJiYgYW5pbWF0aW9uT3B0aW9ucy5vbkNvbXBsZXRlICYmIGFuaW1hdGlvbk9wdGlvbnMub25Db21wbGV0ZS5jYWxsKSB7DQoJCQkJCWFuaW1hdGlvbk9wdGlvbnMub25Db21wbGV0ZS5jYWxsKHRoaXMpOw0KCQkJCX0NCgkJCX0NCgkJCXJldHVybiB0aGlzOw0KCQl9LA0KDQoJCWRyYXc6IGZ1bmN0aW9uKGVhc2UpIHsNCgkJCXZhciBlYXNpbmdEZWNpbWFsID0gZWFzZSB8fCAxOw0KCQkJdGhpcy5jbGVhcigpOw0KDQoJCQlDaGFydC5wbHVnaW5TZXJ2aWNlLm5vdGlmeVBsdWdpbnMoJ2JlZm9yZURyYXcnLCBbdGhpcywgZWFzaW5nRGVjaW1hbF0pOw0KDQoJCQkvLyBEcmF3IGFsbCB0aGUgc2NhbGVzDQoJCQloZWxwZXJzLmVhY2godGhpcy5ib3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJYm94LmRyYXcodGhpcy5jaGFydEFyZWEpOw0KCQkJfSwgdGhpcyk7DQoJCQlpZiAodGhpcy5zY2FsZSkgew0KCQkJCXRoaXMuc2NhbGUuZHJhdygpOw0KCQkJfQ0KDQoJCQkvLyBDbGlwIG91dCB0aGUgY2hhcnQgYXJlYSBzbyB0aGF0IGFueXRoaW5nIG91dHNpZGUgZG9lcyBub3QgZHJhdy4gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHpvb20gYW5kIHBhbiB0byBmdW5jdGlvbg0KCQkJdmFyIGNvbnRleHQgPSB0aGlzLmNoYXJ0LmN0eDsNCgkJCWNvbnRleHQuc2F2ZSgpOw0KCQkJY29udGV4dC5iZWdpblBhdGgoKTsNCgkJCWNvbnRleHQucmVjdCh0aGlzLmNoYXJ0QXJlYS5sZWZ0LCB0aGlzLmNoYXJ0QXJlYS50b3AsIHRoaXMuY2hhcnRBcmVhLnJpZ2h0IC0gdGhpcy5jaGFydEFyZWEubGVmdCwgdGhpcy5jaGFydEFyZWEuYm90dG9tIC0gdGhpcy5jaGFydEFyZWEudG9wKTsNCgkJCWNvbnRleHQuY2xpcCgpOw0KDQoJCQkvLyBEcmF3IGVhY2ggZGF0YXNldCB2aWEgaXRzIHJlc3BlY3RpdmUgY29udHJvbGxlciAocmV2ZXJzZWQgdG8gc3VwcG9ydCBwcm9wZXIgbGluZSBzdGFja2luZykNCgkJCWhlbHBlcnMuZWFjaCh0aGlzLmRhdGEuZGF0YXNldHMsIGZ1bmN0aW9uKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgew0KCQkJCWlmICh0aGlzLmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSkgew0KCQkJCQl0aGlzLmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCkuY29udHJvbGxlci5kcmF3KGVhc2UpOw0KCQkJCX0NCgkJCX0sIHRoaXMsIHRydWUpOw0KDQoJCQkvLyBSZXN0b3JlIGZyb20gdGhlIGNsaXBwaW5nIG9wZXJhdGlvbg0KCQkJY29udGV4dC5yZXN0b3JlKCk7DQoNCgkJCS8vIEZpbmFsbHkgZHJhdyB0aGUgdG9vbHRpcA0KCQkJdGhpcy50b29sdGlwLnRyYW5zaXRpb24oZWFzaW5nRGVjaW1hbCkuZHJhdygpOw0KDQoJCQlDaGFydC5wbHVnaW5TZXJ2aWNlLm5vdGlmeVBsdWdpbnMoJ2FmdGVyRHJhdycsIFt0aGlzLCBlYXNpbmdEZWNpbWFsXSk7DQoJCX0sDQoNCgkJLy8gR2V0IHRoZSBzaW5nbGUgZWxlbWVudCB0aGF0IHdhcyBjbGlja2VkIG9uDQoJCS8vIEByZXR1cm4gOiBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgZGF0YXNldCBpbmRleCBhbmQgZWxlbWVudCBpbmRleCBvZiB0aGUgbWF0Y2hpbmcgZWxlbWVudC4gQWxzbyBjb250YWlucyB0aGUgcmVjdGFuZ2xlIHRoYXQgd2FzIGRyYXcNCgkJZ2V0RWxlbWVudEF0RXZlbnQ6IGZ1bmN0aW9uKGUpIHsNCgkJCXZhciBldmVudFBvc2l0aW9uID0gaGVscGVycy5nZXRSZWxhdGl2ZVBvc2l0aW9uKGUsIHRoaXMuY2hhcnQpOw0KCQkJdmFyIGVsZW1lbnRzQXJyYXkgPSBbXTsNCg0KCQkJaGVscGVycy5lYWNoKHRoaXMuZGF0YS5kYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJaWYgKHRoaXMuaXNEYXRhc2V0VmlzaWJsZShkYXRhc2V0SW5kZXgpKSB7DQoJCQkJCXZhciBtZXRhID0gdGhpcy5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOw0KCQkJCQloZWxwZXJzLmVhY2gobWV0YS5kYXRhLCBmdW5jdGlvbihlbGVtZW50LCBpbmRleCkgew0KCQkJCQkJaWYgKGVsZW1lbnQuaW5SYW5nZShldmVudFBvc2l0aW9uLngsIGV2ZW50UG9zaXRpb24ueSkpIHsNCgkJCQkJCQllbGVtZW50c0FycmF5LnB1c2goZWxlbWVudCk7DQoJCQkJCQkJcmV0dXJuIGVsZW1lbnRzQXJyYXk7DQoJCQkJCQl9DQoJCQkJCX0pOw0KCQkJCX0NCgkJCX0sIHRoaXMpOw0KDQoJCQlyZXR1cm4gZWxlbWVudHNBcnJheTsNCgkJfSwNCg0KCQlnZXRFbGVtZW50c0F0RXZlbnQ6IGZ1bmN0aW9uKGUpIHsNCgkJCXZhciBldmVudFBvc2l0aW9uID0gaGVscGVycy5nZXRSZWxhdGl2ZVBvc2l0aW9uKGUsIHRoaXMuY2hhcnQpOw0KCQkJdmFyIGVsZW1lbnRzQXJyYXkgPSBbXTsNCg0KCQkJdmFyIGZvdW5kID0gKGZ1bmN0aW9uKCkgew0KCQkJCWlmICh0aGlzLmRhdGEuZGF0YXNldHMpIHsNCgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmRhdGEuZGF0YXNldHMubGVuZ3RoOyBpKyspIHsNCgkJCQkJCXZhciBtZXRhID0gdGhpcy5nZXREYXRhc2V0TWV0YShpKTsNCgkJCQkJCWlmICh0aGlzLmlzRGF0YXNldFZpc2libGUoaSkpIHsNCgkJCQkJCQlmb3IgKHZhciBqID0gMDsgaiA8IG1ldGEuZGF0YS5sZW5ndGg7IGorKykgew0KCQkJCQkJCQlpZiAobWV0YS5kYXRhW2pdLmluUmFuZ2UoZXZlbnRQb3NpdGlvbi54LCBldmVudFBvc2l0aW9uLnkpKSB7DQoJCQkJCQkJCQlyZXR1cm4gbWV0YS5kYXRhW2pdOw0KCQkJCQkJCQl9DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfSkuY2FsbCh0aGlzKTsNCg0KCQkJaWYgKCFmb3VuZCkgew0KCQkJCXJldHVybiBlbGVtZW50c0FycmF5Ow0KCQkJfQ0KDQoJCQloZWxwZXJzLmVhY2godGhpcy5kYXRhLmRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsNCgkJCQlpZiAodGhpcy5pc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleCkpIHsNCgkJCQkJdmFyIG1ldGEgPSB0aGlzLmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7DQoJCQkJCWVsZW1lbnRzQXJyYXkucHVzaChtZXRhLmRhdGFbZm91bmQuX2luZGV4XSk7DQoJCQkJfQ0KCQkJfSwgdGhpcyk7DQoNCgkJCXJldHVybiBlbGVtZW50c0FycmF5Ow0KCQl9LA0KDQoJCWdldEVsZW1lbnRzQXRFdmVudEZvck1vZGU6IGZ1bmN0aW9uKGUsIG1vZGUpIHsNCgkJCXZhciBtZSA9IHRoaXM7DQoJCQlzd2l0Y2ggKG1vZGUpIHsNCgkJCWNhc2UgJ3NpbmdsZSc6DQoJCQkJcmV0dXJuIG1lLmdldEVsZW1lbnRBdEV2ZW50KGUpOw0KCQkJY2FzZSAnbGFiZWwnOg0KCQkJCXJldHVybiBtZS5nZXRFbGVtZW50c0F0RXZlbnQoZSk7DQoJCQljYXNlICdkYXRhc2V0JzoNCgkJCQlyZXR1cm4gbWUuZ2V0RGF0YXNldEF0RXZlbnQoZSk7DQoJCQlkZWZhdWx0Og0KCQkJCXJldHVybiBlOw0KCQkJfQ0KCQl9LA0KDQoJCWdldERhdGFzZXRBdEV2ZW50OiBmdW5jdGlvbihlKSB7DQoJCQl2YXIgZWxlbWVudHNBcnJheSA9IHRoaXMuZ2V0RWxlbWVudEF0RXZlbnQoZSk7DQoNCgkJCWlmIChlbGVtZW50c0FycmF5Lmxlbmd0aCA+IDApIHsNCgkJCQllbGVtZW50c0FycmF5ID0gdGhpcy5nZXREYXRhc2V0TWV0YShlbGVtZW50c0FycmF5WzBdLl9kYXRhc2V0SW5kZXgpLmRhdGE7DQoJCQl9DQoNCgkJCXJldHVybiBlbGVtZW50c0FycmF5Ow0KCQl9LA0KDQoJCWdldERhdGFzZXRNZXRhOiBmdW5jdGlvbihkYXRhc2V0SW5kZXgpIHsNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF07DQoJCQlpZiAoIWRhdGFzZXQuX21ldGEpIHsNCgkJCQlkYXRhc2V0Ll9tZXRhID0ge307DQoJCQl9DQoNCgkJCXZhciBtZXRhID0gZGF0YXNldC5fbWV0YVt0aGlzLmlkXTsNCgkJCWlmICghbWV0YSkgew0KCQkJCW1ldGEgPSBkYXRhc2V0Ll9tZXRhW3RoaXMuaWRdID0gew0KCQkJCXR5cGU6IG51bGwsDQoJCQkJZGF0YTogW10sDQoJCQkJZGF0YXNldDogbnVsbCwNCgkJCQljb250cm9sbGVyOiBudWxsLA0KCQkJCWhpZGRlbjogbnVsbCwJCQkvLyBTZWUgaXNEYXRhc2V0VmlzaWJsZSgpIGNvbW1lbnQNCgkJCQl4QXhpc0lEOiBudWxsLA0KCQkJCXlBeGlzSUQ6IG51bGwNCgkJCX07DQoJCQl9DQoNCgkJCXJldHVybiBtZXRhOw0KCQl9LA0KDQoJCWdldFZpc2libGVEYXRhc2V0Q291bnQ6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGNvdW50ID0gMDsNCgkJCWZvciAodmFyIGkgPSAwLCBpbGVuID0gdGhpcy5kYXRhLmRhdGFzZXRzLmxlbmd0aDsgaTxpbGVuOyArK2kpIHsNCgkJCQkgaWYgKHRoaXMuaXNEYXRhc2V0VmlzaWJsZShpKSkgew0KCQkJCQljb3VudCsrOw0KCQkJCX0NCgkJCX0NCgkJCXJldHVybiBjb3VudDsNCgkJfSwNCg0KCQlpc0RhdGFzZXRWaXNpYmxlOiBmdW5jdGlvbihkYXRhc2V0SW5kZXgpIHsNCgkJCXZhciBtZXRhID0gdGhpcy5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOw0KDQoJCQkvLyBtZXRhLmhpZGRlbiBpcyBhIHBlciBjaGFydCBkYXRhc2V0IGhpZGRlbiBmbGFnIG92ZXJyaWRlIHdpdGggMyBzdGF0ZXM6IGlmIHRydWUgb3IgZmFsc2UsDQoJCQkvLyB0aGUgZGF0YXNldC5oaWRkZW4gdmFsdWUgaXMgaWdub3JlZCwgZWxzZSBpZiBudWxsLCB0aGUgZGF0YXNldCBoaWRkZW4gc3RhdGUgaXMgcmV0dXJuZWQuDQoJCQlyZXR1cm4gdHlwZW9mIG1ldGEuaGlkZGVuID09PSAnYm9vbGVhbic/ICFtZXRhLmhpZGRlbiA6ICF0aGlzLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5oaWRkZW47DQoJCX0sDQoNCgkJZ2VuZXJhdGVMZWdlbmQ6IGZ1bmN0aW9uIGdlbmVyYXRlTGVnZW5kKCkgew0KCQkJcmV0dXJuIHRoaXMub3B0aW9ucy5sZWdlbmRDYWxsYmFjayh0aGlzKTsNCgkJfSwNCg0KCQlkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95KCkgew0KCQkJdGhpcy5jbGVhcigpOw0KCQkJaGVscGVycy51bmJpbmRFdmVudHModGhpcywgdGhpcy5ldmVudHMpOw0KCQkJaGVscGVycy5yZW1vdmVSZXNpemVMaXN0ZW5lcih0aGlzLmNoYXJ0LmNhbnZhcy5wYXJlbnROb2RlKTsNCg0KCQkJLy8gUmVzZXQgY2FudmFzIGhlaWdodC93aWR0aCBhdHRyaWJ1dGVzDQoJCQl2YXIgY2FudmFzID0gdGhpcy5jaGFydC5jYW52YXM7DQoJCQljYW52YXMud2lkdGggPSB0aGlzLmNoYXJ0LndpZHRoOw0KCQkJY2FudmFzLmhlaWdodCA9IHRoaXMuY2hhcnQuaGVpZ2h0Ow0KDQoJCQkvLyBpZiB3ZSBzY2FsZWQgdGhlIGNhbnZhcyBpbiByZXNwb25zZSB0byBhIGRldmljZVBpeGVsUmF0aW8gIT09IDEsIHdlIG5lZWQgdG8gdW5kbyB0aGF0IHRyYW5zZm9ybSBoZXJlDQoJCQlpZiAodGhpcy5jaGFydC5vcmlnaW5hbERldmljZVBpeGVsUmF0aW8gIT09IHVuZGVmaW5lZCkgew0KCQkJCXRoaXMuY2hhcnQuY3R4LnNjYWxlKDEgLyB0aGlzLmNoYXJ0Lm9yaWdpbmFsRGV2aWNlUGl4ZWxSYXRpbywgMSAvIHRoaXMuY2hhcnQub3JpZ2luYWxEZXZpY2VQaXhlbFJhdGlvKTsNCgkJCX0NCg0KCQkJLy8gUmVzZXQgdG8gdGhlIG9sZCBzdHlsZSBzaW5jZSBpdCBtYXkgaGF2ZSBiZWVuIGNoYW5nZWQgYnkgdGhlIGRldmljZSBwaXhlbCByYXRpbyBjaGFuZ2VzDQoJCQljYW52YXMuc3R5bGUud2lkdGggPSB0aGlzLmNoYXJ0Lm9yaWdpbmFsQ2FudmFzU3R5bGVXaWR0aDsNCgkJCWNhbnZhcy5zdHlsZS5oZWlnaHQgPSB0aGlzLmNoYXJ0Lm9yaWdpbmFsQ2FudmFzU3R5bGVIZWlnaHQ7DQoNCgkJCUNoYXJ0LnBsdWdpblNlcnZpY2Uubm90aWZ5UGx1Z2lucygnZGVzdHJveScsIFt0aGlzXSk7DQoNCgkJCWRlbGV0ZSBDaGFydC5pbnN0YW5jZXNbdGhpcy5pZF07DQoJCX0sDQoNCgkJdG9CYXNlNjRJbWFnZTogZnVuY3Rpb24gdG9CYXNlNjRJbWFnZSgpIHsNCgkJCXJldHVybiB0aGlzLmNoYXJ0LmNhbnZhcy50b0RhdGFVUkwuYXBwbHkodGhpcy5jaGFydC5jYW52YXMsIGFyZ3VtZW50cyk7DQoJCX0sDQoNCgkJaW5pdFRvb2xUaXA6IGZ1bmN0aW9uIGluaXRUb29sVGlwKCkgew0KCQkJdGhpcy50b29sdGlwID0gbmV3IENoYXJ0LlRvb2x0aXAoew0KCQkJCV9jaGFydDogdGhpcy5jaGFydCwNCgkJCQlfY2hhcnRJbnN0YW5jZTogdGhpcywNCgkJCQlfZGF0YTogdGhpcy5kYXRhLA0KCQkJCV9vcHRpb25zOiB0aGlzLm9wdGlvbnMNCgkJCX0sIHRoaXMpOw0KCQl9LA0KDQoJCWJpbmRFdmVudHM6IGZ1bmN0aW9uIGJpbmRFdmVudHMoKSB7DQoJCQloZWxwZXJzLmJpbmRFdmVudHModGhpcywgdGhpcy5vcHRpb25zLmV2ZW50cywgZnVuY3Rpb24oZXZ0KSB7DQoJCQkJdGhpcy5ldmVudEhhbmRsZXIoZXZ0KTsNCgkJCX0pOw0KCQl9LA0KDQoJCXVwZGF0ZUhvdmVyU3R5bGU6IGZ1bmN0aW9uKGVsZW1lbnRzLCBtb2RlLCBlbmFibGVkKSB7DQoJCQl2YXIgbWV0aG9kID0gZW5hYmxlZD8gJ3NldEhvdmVyU3R5bGUnIDogJ3JlbW92ZUhvdmVyU3R5bGUnOw0KCQkJdmFyIGVsZW1lbnQsIGksIGlsZW47DQoNCgkJCXN3aXRjaCAobW9kZSkgew0KCQkJY2FzZSAnc2luZ2xlJzoNCgkJCQllbGVtZW50cyA9IFsgZWxlbWVudHNbMF0gXTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ2xhYmVsJzoNCgkJCWNhc2UgJ2RhdGFzZXQnOg0KCQkJCS8vIGVsZW1lbnRzID0gZWxlbWVudHM7DQoJCQkJYnJlYWs7DQoJCQlkZWZhdWx0Og0KCQkJCS8vIHVuc3VwcG9ydGVkIG1vZGUNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWZvciAoaT0wLCBpbGVuPWVsZW1lbnRzLmxlbmd0aDsgaTxpbGVuOyArK2kpIHsNCgkJCQllbGVtZW50ID0gZWxlbWVudHNbaV07DQoJCQkJaWYgKGVsZW1lbnQpIHsNCgkJCQkJdGhpcy5nZXREYXRhc2V0TWV0YShlbGVtZW50Ll9kYXRhc2V0SW5kZXgpLmNvbnRyb2xsZXJbbWV0aG9kXShlbGVtZW50KTsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJZXZlbnRIYW5kbGVyOiBmdW5jdGlvbiBldmVudEhhbmRsZXIoZSkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciB0b29sdGlwID0gbWUudG9vbHRpcDsNCgkJCXZhciBvcHRpb25zID0gbWUub3B0aW9ucyB8fCB7fTsNCgkJCXZhciBob3Zlck9wdGlvbnMgPSBvcHRpb25zLmhvdmVyOw0KCQkJdmFyIHRvb2x0aXBzT3B0aW9ucyA9IG9wdGlvbnMudG9vbHRpcHM7DQoNCgkJCW1lLmxhc3RBY3RpdmUgPSBtZS5sYXN0QWN0aXZlIHx8IFtdOw0KCQkJbWUubGFzdFRvb2x0aXBBY3RpdmUgPSBtZS5sYXN0VG9vbHRpcEFjdGl2ZSB8fCBbXTsNCg0KCQkJLy8gRmluZCBBY3RpdmUgRWxlbWVudHMgZm9yIGhvdmVyIGFuZCB0b29sdGlwcw0KCQkJaWYgKGUudHlwZSA9PT0gJ21vdXNlb3V0Jykgew0KCQkJCW1lLmFjdGl2ZSA9IFtdOw0KCQkJCW1lLnRvb2x0aXBBY3RpdmUgPSBbXTsNCgkJCX0gZWxzZSB7DQoJCQkJbWUuYWN0aXZlID0gbWUuZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZShlLCBob3Zlck9wdGlvbnMubW9kZSk7DQoJCQkJbWUudG9vbHRpcEFjdGl2ZSA9ICBtZS5nZXRFbGVtZW50c0F0RXZlbnRGb3JNb2RlKGUsIHRvb2x0aXBzT3B0aW9ucy5tb2RlKTsNCgkJCX0NCg0KCQkJLy8gT24gSG92ZXIgaG9vaw0KCQkJaWYgKGhvdmVyT3B0aW9ucy5vbkhvdmVyKSB7DQoJCQkJaG92ZXJPcHRpb25zLm9uSG92ZXIuY2FsbChtZSwgbWUuYWN0aXZlKTsNCgkJCX0NCg0KCQkJaWYgKGUudHlwZSA9PT0gJ21vdXNldXAnIHx8IGUudHlwZSA9PT0gJ2NsaWNrJykgew0KCQkJCWlmIChvcHRpb25zLm9uQ2xpY2spIHsNCgkJCQkJb3B0aW9ucy5vbkNsaWNrLmNhbGwobWUsIGUsIG1lLmFjdGl2ZSk7DQoJCQkJfQ0KCQkJCWlmIChtZS5sZWdlbmQgJiYgbWUubGVnZW5kLmhhbmRsZUV2ZW50KSB7DQoJCQkJCW1lLmxlZ2VuZC5oYW5kbGVFdmVudChlKTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFJlbW92ZSBzdHlsaW5nIGZvciBsYXN0IGFjdGl2ZSAoZXZlbiBpZiBpdCBtYXkgc3RpbGwgYmUgYWN0aXZlKQ0KCQkJaWYgKG1lLmxhc3RBY3RpdmUubGVuZ3RoKSB7DQoJCQkJbWUudXBkYXRlSG92ZXJTdHlsZShtZS5sYXN0QWN0aXZlLCBob3Zlck9wdGlvbnMubW9kZSwgZmFsc2UpOw0KCQkJfQ0KDQoJCQkvLyBCdWlsdCBpbiBob3ZlciBzdHlsaW5nDQoJCQlpZiAobWUuYWN0aXZlLmxlbmd0aCAmJiBob3Zlck9wdGlvbnMubW9kZSkgew0KCQkJCW1lLnVwZGF0ZUhvdmVyU3R5bGUobWUuYWN0aXZlLCBob3Zlck9wdGlvbnMubW9kZSwgdHJ1ZSk7DQoJCQl9DQoNCgkJCS8vIEJ1aWx0IGluIFRvb2x0aXBzDQoJCQlpZiAodG9vbHRpcHNPcHRpb25zLmVuYWJsZWQgfHwgdG9vbHRpcHNPcHRpb25zLmN1c3RvbSkgew0KCQkJCXRvb2x0aXAuaW5pdGlhbGl6ZSgpOw0KCQkJCXRvb2x0aXAuX2FjdGl2ZSA9IG1lLnRvb2x0aXBBY3RpdmU7DQoJCQkJdG9vbHRpcC51cGRhdGUodHJ1ZSk7DQoJCQl9DQoNCgkJCS8vIEhvdmVyIGFuaW1hdGlvbnMNCgkJCXRvb2x0aXAucGl2b3QoKTsNCg0KCQkJaWYgKCFtZS5hbmltYXRpbmcpIHsNCgkJCQkvLyBJZiBlbnRlcmluZywgbGVhdmluZywgb3IgY2hhbmdpbmcgZWxlbWVudHMsIGFuaW1hdGUgdGhlIGNoYW5nZSB2aWEgcGl2b3QNCgkJCQlpZiAoIWhlbHBlcnMuYXJyYXlFcXVhbHMobWUuYWN0aXZlLCBtZS5sYXN0QWN0aXZlKSB8fA0KCQkJCQkhaGVscGVycy5hcnJheUVxdWFscyhtZS50b29sdGlwQWN0aXZlLCBtZS5sYXN0VG9vbHRpcEFjdGl2ZSkpIHsNCg0KCQkJCQltZS5zdG9wKCk7DQoNCgkJCQkJaWYgKHRvb2x0aXBzT3B0aW9ucy5lbmFibGVkIHx8IHRvb2x0aXBzT3B0aW9ucy5jdXN0b20pIHsNCgkJCQkJCXRvb2x0aXAudXBkYXRlKHRydWUpOw0KCQkJCQl9DQoNCgkJCQkJLy8gV2Ugb25seSBuZWVkIHRvIHJlbmRlciBhdCB0aGlzIHBvaW50LiBVcGRhdGluZyB3aWxsIGNhdXNlIHNjYWxlcyB0byBiZQ0KCQkJCQkvLyByZWNvbXB1dGVkIGdlbmVyYXRpbmcgZmxpY2tlciAmIHVzaW5nIG1vcmUgbWVtb3J5IHRoYW4gbmVjZXNzYXJ5Lg0KCQkJCQltZS5yZW5kZXIoaG92ZXJPcHRpb25zLmFuaW1hdGlvbkR1cmF0aW9uLCB0cnVlKTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFJlbWVtYmVyIExhc3QgQWN0aXZlcw0KCQkJbWUubGFzdEFjdGl2ZSA9IG1lLmFjdGl2ZTsNCgkJCW1lLmxhc3RUb29sdGlwQWN0aXZlID0gbWUudG9vbHRpcEFjdGl2ZTsNCgkJCXJldHVybiBtZTsNCgkJfQ0KCX0pOw0KfTsNCgp9LHt9XSwyMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzOw0KCXZhciBub29wID0gaGVscGVycy5ub29wOw0KDQoJLy8gQmFzZSBjbGFzcyBmb3IgYWxsIGRhdGFzZXQgY29udHJvbGxlcnMgKGxpbmUsIGJhciwgZXRjKQ0KCUNoYXJ0LkRhdGFzZXRDb250cm9sbGVyID0gZnVuY3Rpb24oY2hhcnQsIGRhdGFzZXRJbmRleCkgew0KCQl0aGlzLmluaXRpYWxpemUuY2FsbCh0aGlzLCBjaGFydCwgZGF0YXNldEluZGV4KTsNCgl9Ow0KDQoJaGVscGVycy5leHRlbmQoQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIucHJvdG90eXBlLCB7DQoNCgkJLyoqDQoJCSAqIEVsZW1lbnQgdHlwZSB1c2VkIHRvIGdlbmVyYXRlIGEgbWV0YSBkYXRhc2V0IChlLmcuIENoYXJ0LmVsZW1lbnQuTGluZSkuDQoJCSAqIEB0eXBlIHtDaGFydC5jb3JlLmVsZW1lbnR9DQoJCSAqLw0KCQlkYXRhc2V0RWxlbWVudFR5cGU6IG51bGwsDQoNCgkJLyoqDQoJCSAqIEVsZW1lbnQgdHlwZSB1c2VkIHRvIGdlbmVyYXRlIGEgbWV0YSBkYXRhIChlLmcuIENoYXJ0LmVsZW1lbnQuUG9pbnQpLg0KCQkgKiBAdHlwZSB7Q2hhcnQuY29yZS5lbGVtZW50fQ0KCQkgKi8NCgkJZGF0YUVsZW1lbnRUeXBlOiBudWxsLA0KDQoJCWluaXRpYWxpemU6IGZ1bmN0aW9uKGNoYXJ0LCBkYXRhc2V0SW5kZXgpIHsNCgkJCXRoaXMuY2hhcnQgPSBjaGFydDsNCgkJCXRoaXMuaW5kZXggPSBkYXRhc2V0SW5kZXg7DQoJCQl0aGlzLmxpbmtTY2FsZXMoKTsNCgkJCXRoaXMuYWRkRWxlbWVudHMoKTsNCgkJfSwNCg0KCQl1cGRhdGVJbmRleDogZnVuY3Rpb24oZGF0YXNldEluZGV4KSB7DQoJCQl0aGlzLmluZGV4ID0gZGF0YXNldEluZGV4Ow0KCQl9LA0KDQoJCWxpbmtTY2FsZXM6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsNCgkJCXZhciBkYXRhc2V0ID0gdGhpcy5nZXREYXRhc2V0KCk7DQoNCgkJCWlmIChtZXRhLnhBeGlzSUQgPT09IG51bGwpIHsNCgkJCQltZXRhLnhBeGlzSUQgPSBkYXRhc2V0LnhBeGlzSUQgfHwgdGhpcy5jaGFydC5vcHRpb25zLnNjYWxlcy54QXhlc1swXS5pZDsNCgkJCX0NCgkJCWlmIChtZXRhLnlBeGlzSUQgPT09IG51bGwpIHsNCgkJCQltZXRhLnlBeGlzSUQgPSBkYXRhc2V0LnlBeGlzSUQgfHwgdGhpcy5jaGFydC5vcHRpb25zLnNjYWxlcy55QXhlc1swXS5pZDsNCgkJCX0NCgkJfSwNCg0KCQlnZXREYXRhc2V0OiBmdW5jdGlvbigpIHsNCgkJCXJldHVybiB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbdGhpcy5pbmRleF07DQoJCX0sDQoNCgkJZ2V0TWV0YTogZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gdGhpcy5jaGFydC5nZXREYXRhc2V0TWV0YSh0aGlzLmluZGV4KTsNCgkJfSwNCg0KCQlnZXRTY2FsZUZvcklkOiBmdW5jdGlvbihzY2FsZUlEKSB7DQoJCQlyZXR1cm4gdGhpcy5jaGFydC5zY2FsZXNbc2NhbGVJRF07DQoJCX0sDQoNCgkJcmVzZXQ6IGZ1bmN0aW9uKCkgew0KCQkJdGhpcy51cGRhdGUodHJ1ZSk7DQoJCX0sDQoNCgkJY3JlYXRlTWV0YURhdGFzZXQ6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciB0eXBlID0gbWUuZGF0YXNldEVsZW1lbnRUeXBlOw0KCQkJcmV0dXJuIHR5cGUgJiYgbmV3IHR5cGUoew0KCQkJCV9jaGFydDogbWUuY2hhcnQuY2hhcnQsDQoJCQkJX2RhdGFzZXRJbmRleDogbWUuaW5kZXgNCgkJCX0pOw0KCQl9LA0KDQoJCWNyZWF0ZU1ldGFEYXRhOiBmdW5jdGlvbihpbmRleCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciB0eXBlID0gbWUuZGF0YUVsZW1lbnRUeXBlOw0KCQkJcmV0dXJuIHR5cGUgJiYgbmV3IHR5cGUoew0KCQkJCV9jaGFydDogbWUuY2hhcnQuY2hhcnQsDQoJCQkJX2RhdGFzZXRJbmRleDogbWUuaW5kZXgsDQoJCQkJX2luZGV4OiBpbmRleA0KCQkJfSk7DQoJCX0sDQoNCgkJYWRkRWxlbWVudHM6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOw0KCQkJdmFyIGRhdGEgPSBtZS5nZXREYXRhc2V0KCkuZGF0YSB8fCBbXTsNCgkJCXZhciBtZXRhRGF0YSA9IG1ldGEuZGF0YTsNCgkJCXZhciBpLCBpbGVuOw0KDQoJCQlmb3IgKGk9MCwgaWxlbj1kYXRhLmxlbmd0aDsgaTxpbGVuOyArK2kpIHsNCgkJCQltZXRhRGF0YVtpXSA9IG1ldGFEYXRhW2ldIHx8IG1lLmNyZWF0ZU1ldGFEYXRhKG1ldGEsIGkpOw0KCQkJfQ0KDQoJCQltZXRhLmRhdGFzZXQgPSBtZXRhLmRhdGFzZXQgfHwgbWUuY3JlYXRlTWV0YURhdGFzZXQoKTsNCgkJfSwNCg0KCQlhZGRFbGVtZW50QW5kUmVzZXQ6IGZ1bmN0aW9uKGluZGV4KSB7DQoJCQl2YXIgbWUgPSB0aGlzOw0KCQkJdmFyIGVsZW1lbnQgPSBtZS5jcmVhdGVNZXRhRGF0YShpbmRleCk7DQoJCQltZS5nZXRNZXRhKCkuZGF0YS5zcGxpY2UoaW5kZXgsIDAsIGVsZW1lbnQpOw0KCQkJbWUudXBkYXRlRWxlbWVudChlbGVtZW50LCBpbmRleCwgdHJ1ZSk7DQoJCX0sDQoNCgkJYnVpbGRPclVwZGF0ZUVsZW1lbnRzOiBmdW5jdGlvbiBidWlsZE9yVXBkYXRlRWxlbWVudHMoKSB7DQoJCQkvLyBIYW5kbGUgdGhlIG51bWJlciBvZiBkYXRhIHBvaW50cyBjaGFuZ2luZw0KCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKSwNCgkJCQltZCA9IG1ldGEuZGF0YSwNCgkJCQludW1EYXRhID0gdGhpcy5nZXREYXRhc2V0KCkuZGF0YS5sZW5ndGgsDQoJCQkJbnVtTWV0YURhdGEgPSBtZC5sZW5ndGg7DQoNCgkJCS8vIE1ha2Ugc3VyZSB0aGF0IHdlIGhhbmRsZSBudW1iZXIgb2YgZGF0YXBvaW50cyBjaGFuZ2luZw0KCQkJaWYgKG51bURhdGEgPCBudW1NZXRhRGF0YSkgew0KCQkJCS8vIFJlbW92ZSBleGNlc3MgYmFycyBmb3IgZGF0YSBwb2ludHMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZA0KCQkJCW1kLnNwbGljZShudW1EYXRhLCBudW1NZXRhRGF0YSAtIG51bURhdGEpOw0KCQkJfSBlbHNlIGlmIChudW1EYXRhID4gbnVtTWV0YURhdGEpIHsNCgkJCQkvLyBBZGQgbmV3IGVsZW1lbnRzDQoJCQkJZm9yICh2YXIgaW5kZXggPSBudW1NZXRhRGF0YTsgaW5kZXggPCBudW1EYXRhOyArK2luZGV4KSB7DQoJCQkJCXRoaXMuYWRkRWxlbWVudEFuZFJlc2V0KGluZGV4KTsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJdXBkYXRlOiBub29wLA0KDQoJCWRyYXc6IGZ1bmN0aW9uKGVhc2UpIHsNCgkJCXZhciBlYXNpbmdEZWNpbWFsID0gZWFzZSB8fCAxOw0KCQkJaGVscGVycy5lYWNoKHRoaXMuZ2V0TWV0YSgpLmRhdGEsIGZ1bmN0aW9uKGVsZW1lbnQsIGluZGV4KSB7DQoJCQkJZWxlbWVudC50cmFuc2l0aW9uKGVhc2luZ0RlY2ltYWwpLmRyYXcoKTsNCgkJCX0pOw0KCQl9LA0KDQoJCXJlbW92ZUhvdmVyU3R5bGU6IGZ1bmN0aW9uKGVsZW1lbnQsIGVsZW1lbnRPcHRzKSB7DQoJCQl2YXIgZGF0YXNldCA9IHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0c1tlbGVtZW50Ll9kYXRhc2V0SW5kZXhdLA0KCQkJCWluZGV4ID0gZWxlbWVudC5faW5kZXgsDQoJCQkJY3VzdG9tID0gZWxlbWVudC5jdXN0b20gfHwge30sDQoJCQkJdmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdCwNCgkJCQljb2xvciA9IGhlbHBlcnMuY29sb3IsDQoJCQkJbW9kZWwgPSBlbGVtZW50Ll9tb2RlbDsNCg0KCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiB2YWx1ZU9yRGVmYXVsdChkYXRhc2V0LmJhY2tncm91bmRDb2xvciwgaW5kZXgsIGVsZW1lbnRPcHRzLmJhY2tncm91bmRDb2xvcik7DQoJCQltb2RlbC5ib3JkZXJDb2xvciA9IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IHZhbHVlT3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyQ29sb3IsIGluZGV4LCBlbGVtZW50T3B0cy5ib3JkZXJDb2xvcik7DQoJCQltb2RlbC5ib3JkZXJXaWR0aCA9IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IHZhbHVlT3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyV2lkdGgsIGluZGV4LCBlbGVtZW50T3B0cy5ib3JkZXJXaWR0aCk7DQoJCX0sDQoNCgkJc2V0SG92ZXJTdHlsZTogZnVuY3Rpb24oZWxlbWVudCkgew0KCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbZWxlbWVudC5fZGF0YXNldEluZGV4XSwNCgkJCQlpbmRleCA9IGVsZW1lbnQuX2luZGV4LA0KCQkJCWN1c3RvbSA9IGVsZW1lbnQuY3VzdG9tIHx8IHt9LA0KCQkJCXZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQsDQoJCQkJY29sb3IgPSBoZWxwZXJzLmNvbG9yLA0KCQkJCWdldEhvdmVyQ29sb3IgPSBoZWxwZXJzLmdldEhvdmVyQ29sb3IsDQoJCQkJbW9kZWwgPSBlbGVtZW50Ll9tb2RlbDsNCg0KCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmhvdmVyQmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmhvdmVyQmFja2dyb3VuZENvbG9yIDogdmFsdWVPckRlZmF1bHQoZGF0YXNldC5ob3ZlckJhY2tncm91bmRDb2xvciwgaW5kZXgsIGdldEhvdmVyQ29sb3IobW9kZWwuYmFja2dyb3VuZENvbG9yKSk7DQoJCQltb2RlbC5ib3JkZXJDb2xvciA9IGN1c3RvbS5ob3ZlckJvcmRlckNvbG9yID8gY3VzdG9tLmhvdmVyQm9yZGVyQ29sb3IgOiB2YWx1ZU9yRGVmYXVsdChkYXRhc2V0LmhvdmVyQm9yZGVyQ29sb3IsIGluZGV4LCBnZXRIb3ZlckNvbG9yKG1vZGVsLmJvcmRlckNvbG9yKSk7DQoJCQltb2RlbC5ib3JkZXJXaWR0aCA9IGN1c3RvbS5ob3ZlckJvcmRlcldpZHRoID8gY3VzdG9tLmhvdmVyQm9yZGVyV2lkdGggOiB2YWx1ZU9yRGVmYXVsdChkYXRhc2V0LmhvdmVyQm9yZGVyV2lkdGgsIGluZGV4LCBtb2RlbC5ib3JkZXJXaWR0aCk7DQoJCX0NCgl9KTsNCg0KCUNoYXJ0LkRhdGFzZXRDb250cm9sbGVyLmV4dGVuZCA9IGhlbHBlcnMuaW5oZXJpdHM7DQp9Owp9LHt9XSwyNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQogIHZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCg0KICBDaGFydC5lbGVtZW50cyA9IHt9Ow0KDQogIENoYXJ0LkVsZW1lbnQgPSBmdW5jdGlvbihjb25maWd1cmF0aW9uKSB7DQogICAgaGVscGVycy5leHRlbmQodGhpcywgY29uZmlndXJhdGlvbik7DQogICAgdGhpcy5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQogIH07DQogIGhlbHBlcnMuZXh0ZW5kKENoYXJ0LkVsZW1lbnQucHJvdG90eXBlLCB7DQogICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oKSB7DQogICAgICB0aGlzLmhpZGRlbiA9IGZhbHNlOw0KICAgIH0sDQogICAgcGl2b3Q6IGZ1bmN0aW9uKCkgew0KICAgICAgaWYgKCF0aGlzLl92aWV3KSB7DQogICAgICAgIHRoaXMuX3ZpZXcgPSBoZWxwZXJzLmNsb25lKHRoaXMuX21vZGVsKTsNCiAgICAgIH0NCiAgICAgIHRoaXMuX3N0YXJ0ID0gaGVscGVycy5jbG9uZSh0aGlzLl92aWV3KTsNCiAgICAgIHJldHVybiB0aGlzOw0KICAgIH0sDQogICAgdHJhbnNpdGlvbjogZnVuY3Rpb24oZWFzZSkgew0KICAgICAgaWYgKCF0aGlzLl92aWV3KSB7DQogICAgICAgIHRoaXMuX3ZpZXcgPSBoZWxwZXJzLmNsb25lKHRoaXMuX21vZGVsKTsNCiAgICAgIH0NCg0KICAgICAgLy8gTm8gYW5pbWF0aW9uIC0+IE5vIFRyYW5zaXRpb24NCiAgICAgIGlmIChlYXNlID09PSAxKSB7DQogICAgICAgIHRoaXMuX3ZpZXcgPSB0aGlzLl9tb2RlbDsNCiAgICAgICAgdGhpcy5fc3RhcnQgPSBudWxsOw0KICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgIH0NCg0KICAgICAgaWYgKCF0aGlzLl9zdGFydCkgew0KICAgICAgICB0aGlzLnBpdm90KCk7DQogICAgICB9DQoNCiAgICAgIGhlbHBlcnMuZWFjaCh0aGlzLl9tb2RlbCwgZnVuY3Rpb24odmFsdWUsIGtleSkgew0KDQogICAgICAgIGlmIChrZXlbMF0gPT09ICdfJykgew0KICAgICAgICAgIC8vIE9ubHkgbm9uLXVuZGVyc2NvcmVkIHByb3BlcnRpZXMNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIEluaXQgaWYgZG9lc24ndCBleGlzdA0KICAgICAgICBlbHNlIGlmICghdGhpcy5fdmlldy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7DQogICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHRoaXMuX3ZpZXdba2V5XSkpIHsNCiAgICAgICAgICAgIHRoaXMuX3ZpZXdba2V5XSA9IHZhbHVlICogZWFzZTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgdGhpcy5fdmlld1trZXldID0gdmFsdWU7DQogICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLy8gTm8gdW5uZWNlc3NhcnkgY29tcHV0YXRpb25zDQogICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSB0aGlzLl92aWV3W2tleV0pIHsNCiAgICAgICAgICAvLyBJdCdzIHRoZSBzYW1lISBXb29ob28hDQogICAgICAgIH0NCg0KICAgICAgICAvLyBDb2xvciB0cmFuc2l0aW9ucyBpZiBwb3NzaWJsZQ0KICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7DQogICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBjb2xvciA9IGhlbHBlcnMuY29sb3IodGhpcy5fbW9kZWxba2V5XSkubWl4KGhlbHBlcnMuY29sb3IodGhpcy5fc3RhcnRba2V5XSksIGVhc2UpOw0KICAgICAgICAgICAgdGhpcy5fdmlld1trZXldID0gY29sb3IucmdiU3RyaW5nKCk7DQogICAgICAgICAgfSBjYXRjaCAoZXJyKSB7DQogICAgICAgICAgICB0aGlzLl92aWV3W2tleV0gPSB2YWx1ZTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgLy8gTnVtYmVyIHRyYW5zaXRpb25zDQogICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHsNCiAgICAgICAgICB2YXIgc3RhcnRWYWwgPSB0aGlzLl9zdGFydFtrZXldICE9PSB1bmRlZmluZWQgJiYgaXNOYU4odGhpcy5fc3RhcnRba2V5XSkgPT09IGZhbHNlID8gdGhpcy5fc3RhcnRba2V5XSA6IDA7DQogICAgICAgICAgdGhpcy5fdmlld1trZXldID0gKCh0aGlzLl9tb2RlbFtrZXldIC0gc3RhcnRWYWwpICogZWFzZSkgKyBzdGFydFZhbDsNCiAgICAgICAgfQ0KICAgICAgICAvLyBFdmVyeXRoaW5nIGVsc2UNCiAgICAgICAgZWxzZSB7DQogICAgICAgICAgdGhpcy5fdmlld1trZXldID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgIH0sIHRoaXMpOw0KDQogICAgICByZXR1cm4gdGhpczsNCiAgICB9LA0KICAgIHRvb2x0aXBQb3NpdGlvbjogZnVuY3Rpb24oKSB7DQogICAgICByZXR1cm4gew0KICAgICAgICB4OiB0aGlzLl9tb2RlbC54LA0KICAgICAgICB5OiB0aGlzLl9tb2RlbC55DQogICAgICB9Ow0KICAgIH0sDQogICAgaGFzVmFsdWU6IGZ1bmN0aW9uKCkgew0KICAgICAgcmV0dXJuIGhlbHBlcnMuaXNOdW1iZXIodGhpcy5fbW9kZWwueCkgJiYgaGVscGVycy5pc051bWJlcih0aGlzLl9tb2RlbC55KTsNCiAgICB9DQogIH0pOw0KDQogIENoYXJ0LkVsZW1lbnQuZXh0ZW5kID0gaGVscGVycy5pbmhlcml0czsNCg0KfTsNCgp9LHt9XSwyNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Ci8qZ2xvYmFsIHdpbmRvdzogZmFsc2UgKi8NCi8qZ2xvYmFsIGRvY3VtZW50OiBmYWxzZSAqLw0KInVzZSBzdHJpY3QiOw0KDQp2YXIgY29sb3IgPSByZXF1aXJlKCdjaGFydGpzLWNvbG9yJyk7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCgkvL0dsb2JhbCBDaGFydCBoZWxwZXJzIG9iamVjdCBmb3IgdXRpbGl0eSBtZXRob2RzIGFuZCBjbGFzc2VzDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzID0ge307DQoNCgkvLy0tIEJhc2ljIGpzIHV0aWxpdHkgbWV0aG9kcw0KCWhlbHBlcnMuZWFjaCA9IGZ1bmN0aW9uKGxvb3BhYmxlLCBjYWxsYmFjaywgc2VsZiwgcmV2ZXJzZSkgew0KCQkvLyBDaGVjayB0byBzZWUgaWYgbnVsbCBvciB1bmRlZmluZWQgZmlyc3RseS4NCgkJdmFyIGksIGxlbjsNCgkJaWYgKGhlbHBlcnMuaXNBcnJheShsb29wYWJsZSkpIHsNCgkJCWxlbiA9IGxvb3BhYmxlLmxlbmd0aDsNCgkJCWlmIChyZXZlcnNlKSB7DQoJCQkJZm9yIChpID0gbGVuIC0gMTsgaSA+PSAwOyBpLS0pIHsNCgkJCQkJY2FsbGJhY2suY2FsbChzZWxmLCBsb29wYWJsZVtpXSwgaSk7DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCgkJCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsNCgkJCQkJY2FsbGJhY2suY2FsbChzZWxmLCBsb29wYWJsZVtpXSwgaSk7DQoJCQkJfQ0KCQkJfQ0KCQl9IGVsc2UgaWYgKHR5cGVvZiBsb29wYWJsZSA9PT0gJ29iamVjdCcpIHsNCgkJCXZhciBrZXlzID0gT2JqZWN0LmtleXMobG9vcGFibGUpOw0KCQkJbGVuID0ga2V5cy5sZW5ndGg7DQoJCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsNCgkJCQljYWxsYmFjay5jYWxsKHNlbGYsIGxvb3BhYmxlW2tleXNbaV1dLCBrZXlzW2ldKTsNCgkJCX0NCgkJfQ0KCX07DQoJaGVscGVycy5jbG9uZSA9IGZ1bmN0aW9uKG9iaikgew0KCQl2YXIgb2JqQ2xvbmUgPSB7fTsNCgkJaGVscGVycy5lYWNoKG9iaiwgZnVuY3Rpb24odmFsdWUsIGtleSkgew0KCQkJaWYgKGhlbHBlcnMuaXNBcnJheSh2YWx1ZSkpIHsNCgkJCQlvYmpDbG9uZVtrZXldID0gdmFsdWUuc2xpY2UoMCk7DQoJCQl9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwpIHsNCgkJCQlvYmpDbG9uZVtrZXldID0gaGVscGVycy5jbG9uZSh2YWx1ZSk7DQoJCQl9IGVsc2Ugew0KCQkJCW9iakNsb25lW2tleV0gPSB2YWx1ZTsNCgkJCX0NCgkJfSk7DQoJCXJldHVybiBvYmpDbG9uZTsNCgl9Ow0KCWhlbHBlcnMuZXh0ZW5kID0gZnVuY3Rpb24oYmFzZSkgew0KCQl2YXIgbGVuID0gYXJndW1lbnRzLmxlbmd0aDsNCgkJdmFyIGFkZGl0aW9uYWxBcmdzID0gW107DQoJCWZvciAodmFyIGkgPSAxOyBpIDwgbGVuOyBpKyspIHsNCgkJCWFkZGl0aW9uYWxBcmdzLnB1c2goYXJndW1lbnRzW2ldKTsNCgkJfQ0KCQloZWxwZXJzLmVhY2goYWRkaXRpb25hbEFyZ3MsIGZ1bmN0aW9uKGV4dGVuc2lvbk9iamVjdCkgew0KCQkJaGVscGVycy5lYWNoKGV4dGVuc2lvbk9iamVjdCwgZnVuY3Rpb24odmFsdWUsIGtleSkgew0KCQkJCWJhc2Vba2V5XSA9IHZhbHVlOw0KCQkJfSk7DQoJCX0pOw0KCQlyZXR1cm4gYmFzZTsNCgl9Ow0KCS8vIE5lZWQgYSBzcGVjaWFsIG1lcmdlIGZ1bmN0aW9uIHRvIGNoYXJ0IGNvbmZpZ3Mgc2luY2UgdGhleSBhcmUgbm93IGdyb3VwZWQNCgloZWxwZXJzLmNvbmZpZ01lcmdlID0gZnVuY3Rpb24oX2Jhc2UpIHsNCgkJdmFyIGJhc2UgPSBoZWxwZXJzLmNsb25lKF9iYXNlKTsNCgkJaGVscGVycy5lYWNoKEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSksIGZ1bmN0aW9uKGV4dGVuc2lvbikgew0KCQkJaGVscGVycy5lYWNoKGV4dGVuc2lvbiwgZnVuY3Rpb24odmFsdWUsIGtleSkgew0KCQkJCWlmIChrZXkgPT09ICdzY2FsZXMnKSB7DQoJCQkJCS8vIFNjYWxlIGNvbmZpZyBtZXJnaW5nIGlzIGNvbXBsZXguIEFkZCBvdXQgb3duIGZ1bmN0aW9uIGhlcmUgZm9yIHRoYXQNCgkJCQkJYmFzZVtrZXldID0gaGVscGVycy5zY2FsZU1lcmdlKGJhc2UuaGFzT3duUHJvcGVydHkoa2V5KSA/IGJhc2Vba2V5XSA6IHt9LCB2YWx1ZSk7DQoNCgkJCQl9IGVsc2UgaWYgKGtleSA9PT0gJ3NjYWxlJykgew0KCQkJCQkvLyBVc2VkIGluIHBvbGFyIGFyZWEgJiByYWRhciBjaGFydHMgc2luY2UgdGhlcmUgaXMgb25seSBvbmUgc2NhbGUNCgkJCQkJYmFzZVtrZXldID0gaGVscGVycy5jb25maWdNZXJnZShiYXNlLmhhc093blByb3BlcnR5KGtleSkgPyBiYXNlW2tleV0gOiB7fSwgQ2hhcnQuc2NhbGVTZXJ2aWNlLmdldFNjYWxlRGVmYXVsdHModmFsdWUudHlwZSksIHZhbHVlKTsNCgkJCQl9IGVsc2UgaWYgKGJhc2UuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBoZWxwZXJzLmlzQXJyYXkoYmFzZVtrZXldKSAmJiBoZWxwZXJzLmlzQXJyYXkodmFsdWUpKSB7DQoJCQkJCS8vIEluIHRoaXMgY2FzZSB3ZSBoYXZlIGFuIGFycmF5IG9mIG9iamVjdHMgcmVwbGFjaW5nIGFub3RoZXIgYXJyYXkuIFJhdGhlciB0aGFuIGRvaW5nIGEgc3RyaWN0IHJlcGxhY2UsDQoJCQkJCS8vIG1lcmdlLiBUaGlzIGFsbG93cyBlYXN5IHNjYWxlIG9wdGlvbiBtZXJnaW5nDQoJCQkJCXZhciBiYXNlQXJyYXkgPSBiYXNlW2tleV07DQoNCgkJCQkJaGVscGVycy5lYWNoKHZhbHVlLCBmdW5jdGlvbih2YWx1ZU9iaiwgaW5kZXgpIHsNCg0KCQkJCQkJaWYgKGluZGV4IDwgYmFzZUFycmF5Lmxlbmd0aCkgew0KCQkJCQkJCWlmICh0eXBlb2YgYmFzZUFycmF5W2luZGV4XSA9PT0gJ29iamVjdCcgJiYgYmFzZUFycmF5W2luZGV4XSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWVPYmogPT09ICdvYmplY3QnICYmIHZhbHVlT2JqICE9PSBudWxsKSB7DQoJCQkJCQkJCS8vIFR3byBvYmplY3RzIGFyZSBjb21pbmcgdG9nZXRoZXIuIERvIGEgbWVyZ2Ugb2YgdGhlbS4NCgkJCQkJCQkJYmFzZUFycmF5W2luZGV4XSA9IGhlbHBlcnMuY29uZmlnTWVyZ2UoYmFzZUFycmF5W2luZGV4XSwgdmFsdWVPYmopOw0KCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCS8vIEp1c3Qgb3ZlcndyaXRlIGluIHRoaXMgY2FzZSBzaW5jZSB0aGVyZSBpcyBub3RoaW5nIHRvIG1lcmdlDQoJCQkJCQkJCWJhc2VBcnJheVtpbmRleF0gPSB2YWx1ZU9iajsNCgkJCQkJCQl9DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWJhc2VBcnJheS5wdXNoKHZhbHVlT2JqKTsgLy8gbm90aGluZyB0byBtZXJnZQ0KCQkJCQkJfQ0KCQkJCQl9KTsNCg0KCQkJCX0gZWxzZSBpZiAoYmFzZS5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHR5cGVvZiBiYXNlW2tleV0gPT09ICJvYmplY3QiICYmIGJhc2Vba2V5XSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICJvYmplY3QiKSB7DQoJCQkJCS8vIElmIHdlIGFyZSBvdmVyd3JpdGluZyBhbiBvYmplY3Qgd2l0aCBhbiBvYmplY3QsIGRvIGEgbWVyZ2Ugb2YgdGhlIHByb3BlcnRpZXMuDQoJCQkJCWJhc2Vba2V5XSA9IGhlbHBlcnMuY29uZmlnTWVyZ2UoYmFzZVtrZXldLCB2YWx1ZSk7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQkvLyBjYW4ganVzdCBvdmVyd3JpdGUgdGhlIHZhbHVlIGluIHRoaXMgY2FzZQ0KCQkJCQliYXNlW2tleV0gPSB2YWx1ZTsNCgkJCQl9DQoJCQl9KTsNCgkJfSk7DQoNCgkJcmV0dXJuIGJhc2U7DQoJfTsNCgloZWxwZXJzLmV4dGVuZERlZXAgPSBmdW5jdGlvbihfYmFzZSkgew0KCQlyZXR1cm4gX2V4dGVuZERlZXAuYXBwbHkodGhpcywgYXJndW1lbnRzKTsNCg0KCQlmdW5jdGlvbiBfZXh0ZW5kRGVlcChkc3QpIHsNCgkJCWhlbHBlcnMuZWFjaChhcmd1bWVudHMsIGZ1bmN0aW9uKG9iaikgew0KCQkJCWlmIChvYmogIT09IGRzdCkgew0KCQkJCQloZWxwZXJzLmVhY2gob2JqLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7DQoJCQkJCQlpZiAoZHN0W2tleV0gJiYgZHN0W2tleV0uY29uc3RydWN0b3IgJiYgZHN0W2tleV0uY29uc3RydWN0b3IgPT09IE9iamVjdCkgew0KCQkJCQkJCV9leHRlbmREZWVwKGRzdFtrZXldLCB2YWx1ZSk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWRzdFtrZXldID0gdmFsdWU7DQoJCQkJCQl9DQoJCQkJCX0pOw0KCQkJCX0NCgkJCX0pOw0KCQkJcmV0dXJuIGRzdDsNCgkJfQ0KCX07DQoJaGVscGVycy5zY2FsZU1lcmdlID0gZnVuY3Rpb24oX2Jhc2UsIGV4dGVuc2lvbikgew0KCQl2YXIgYmFzZSA9IGhlbHBlcnMuY2xvbmUoX2Jhc2UpOw0KDQoJCWhlbHBlcnMuZWFjaChleHRlbnNpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHsNCgkJCWlmIChrZXkgPT09ICd4QXhlcycgfHwga2V5ID09PSAneUF4ZXMnKSB7DQoJCQkJLy8gVGhlc2UgcHJvcGVydGllcyBhcmUgYXJyYXlzIG9mIGl0ZW1zDQoJCQkJaWYgKGJhc2UuaGFzT3duUHJvcGVydHkoa2V5KSkgew0KCQkJCQloZWxwZXJzLmVhY2godmFsdWUsIGZ1bmN0aW9uKHZhbHVlT2JqLCBpbmRleCkgew0KCQkJCQkJdmFyIGF4aXNUeXBlID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh2YWx1ZU9iai50eXBlLCBrZXkgPT09ICd4QXhlcycgPyAnY2F0ZWdvcnknIDogJ2xpbmVhcicpOw0KCQkJCQkJdmFyIGF4aXNEZWZhdWx0cyA9IENoYXJ0LnNjYWxlU2VydmljZS5nZXRTY2FsZURlZmF1bHRzKGF4aXNUeXBlKTsNCgkJCQkJCWlmIChpbmRleCA+PSBiYXNlW2tleV0ubGVuZ3RoIHx8ICFiYXNlW2tleV1baW5kZXhdLnR5cGUpIHsNCgkJCQkJCQliYXNlW2tleV0ucHVzaChoZWxwZXJzLmNvbmZpZ01lcmdlKGF4aXNEZWZhdWx0cywgdmFsdWVPYmopKTsNCgkJCQkJCX0gZWxzZSBpZiAodmFsdWVPYmoudHlwZSAmJiB2YWx1ZU9iai50eXBlICE9PSBiYXNlW2tleV1baW5kZXhdLnR5cGUpIHsNCgkJCQkJCQkvLyBUeXBlIGNoYW5nZWQuIEJyaW5nIGluIHRoZSBuZXcgZGVmYXVsdHMgYmVmb3JlIHdlIGJyaW5nIGluIHZhbHVlT2JqIHNvIHRoYXQgdmFsdWVPYmogY2FuIG92ZXJyaWRlIHRoZSBjb3JyZWN0IHNjYWxlIGRlZmF1bHRzDQoJCQkJCQkJYmFzZVtrZXldW2luZGV4XSA9IGhlbHBlcnMuY29uZmlnTWVyZ2UoYmFzZVtrZXldW2luZGV4XSwgYXhpc0RlZmF1bHRzLCB2YWx1ZU9iaik7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCS8vIFR5cGUgaXMgdGhlIHNhbWUNCgkJCQkJCQliYXNlW2tleV1baW5kZXhdID0gaGVscGVycy5jb25maWdNZXJnZShiYXNlW2tleV1baW5kZXhdLCB2YWx1ZU9iaik7DQoJCQkJCQl9DQoJCQkJCX0pOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWJhc2Vba2V5XSA9IFtdOw0KCQkJCQloZWxwZXJzLmVhY2godmFsdWUsIGZ1bmN0aW9uKHZhbHVlT2JqKSB7DQoJCQkJCQl2YXIgYXhpc1R5cGUgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHZhbHVlT2JqLnR5cGUsIGtleSA9PT0gJ3hBeGVzJyA/ICdjYXRlZ29yeScgOiAnbGluZWFyJyk7DQoJCQkJCQliYXNlW2tleV0ucHVzaChoZWxwZXJzLmNvbmZpZ01lcmdlKENoYXJ0LnNjYWxlU2VydmljZS5nZXRTY2FsZURlZmF1bHRzKGF4aXNUeXBlKSwgdmFsdWVPYmopKTsNCgkJCQkJfSk7DQoJCQkJfQ0KCQkJfSBlbHNlIGlmIChiYXNlLmhhc093blByb3BlcnR5KGtleSkgJiYgdHlwZW9mIGJhc2Vba2V5XSA9PT0gIm9iamVjdCIgJiYgYmFzZVtrZXldICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gIm9iamVjdCIpIHsNCgkJCQkvLyBJZiB3ZSBhcmUgb3ZlcndyaXRpbmcgYW4gb2JqZWN0IHdpdGggYW4gb2JqZWN0LCBkbyBhIG1lcmdlIG9mIHRoZSBwcm9wZXJ0aWVzLg0KCQkJCWJhc2Vba2V5XSA9IGhlbHBlcnMuY29uZmlnTWVyZ2UoYmFzZVtrZXldLCB2YWx1ZSk7DQoNCgkJCX0gZWxzZSB7DQoJCQkJLy8gY2FuIGp1c3Qgb3ZlcndyaXRlIHRoZSB2YWx1ZSBpbiB0aGlzIGNhc2UNCgkJCQliYXNlW2tleV0gPSB2YWx1ZTsNCgkJCX0NCgkJfSk7DQoNCgkJcmV0dXJuIGJhc2U7DQoJfTsNCgloZWxwZXJzLmdldFZhbHVlQXRJbmRleE9yRGVmYXVsdCA9IGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgZGVmYXVsdFZhbHVlKSB7DQoJCWlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7DQoJCQlyZXR1cm4gZGVmYXVsdFZhbHVlOw0KCQl9DQoNCgkJaWYgKGhlbHBlcnMuaXNBcnJheSh2YWx1ZSkpIHsNCgkJCXJldHVybiBpbmRleCA8IHZhbHVlLmxlbmd0aCA/IHZhbHVlW2luZGV4XSA6IGRlZmF1bHRWYWx1ZTsNCgkJfQ0KDQoJCXJldHVybiB2YWx1ZTsNCgl9Ow0KCWhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQgPSBmdW5jdGlvbih2YWx1ZSwgZGVmYXVsdFZhbHVlKSB7DQoJCXJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7DQoJfTsNCgloZWxwZXJzLmluZGV4T2YgPSBmdW5jdGlvbihhcnJheVRvU2VhcmNoLCBpdGVtKSB7DQoJCWlmIChBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgew0KCQkJcmV0dXJuIGFycmF5VG9TZWFyY2guaW5kZXhPZihpdGVtKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlUb1NlYXJjaC5sZW5ndGg7IGkrKykgew0KCQkJCWlmIChhcnJheVRvU2VhcmNoW2ldID09PSBpdGVtKQ0KCQkJCQlyZXR1cm4gaTsNCgkJCX0NCgkJCXJldHVybiAtMTsNCgkJfQ0KCX07DQoJaGVscGVycy53aGVyZSA9IGZ1bmN0aW9uKGNvbGxlY3Rpb24sIGZpbHRlckNhbGxiYWNrKSB7DQoJCWlmIChoZWxwZXJzLmlzQXJyYXkoY29sbGVjdGlvbikgJiYgQXJyYXkucHJvdG90eXBlLmZpbHRlcikgew0KCQkJcmV0dXJuIGNvbGxlY3Rpb24uZmlsdGVyKGZpbHRlckNhbGxiYWNrKTsNCgkJfSBlbHNlIHsNCgkJCXZhciBmaWx0ZXJlZCA9IFtdOw0KDQoJCQloZWxwZXJzLmVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24oaXRlbSkgew0KCQkJCWlmIChmaWx0ZXJDYWxsYmFjayhpdGVtKSkgew0KCQkJCQlmaWx0ZXJlZC5wdXNoKGl0ZW0pOw0KCQkJCX0NCgkJCX0pOw0KDQoJCQlyZXR1cm4gZmlsdGVyZWQ7DQoJCX0NCgl9Ow0KCWhlbHBlcnMuZmluZEluZGV4ID0gZnVuY3Rpb24oYXJyYXlUb1NlYXJjaCwgY2FsbGJhY2ssIHRoaXNBcmcpIHsNCgkJdmFyIGluZGV4ID0gLTE7DQoJCWlmIChBcnJheS5wcm90b3R5cGUuZmluZEluZGV4KSB7DQoJCQlpbmRleCA9IGFycmF5VG9TZWFyY2guZmluZEluZGV4KGNhbGxiYWNrLCB0aGlzQXJnKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlUb1NlYXJjaC5sZW5ndGg7ICsraSkgew0KCQkJCXRoaXNBcmcgPSB0aGlzQXJnICE9PSB1bmRlZmluZWQgPyB0aGlzQXJnIDogYXJyYXlUb1NlYXJjaDsNCg0KCQkJCWlmIChjYWxsYmFjay5jYWxsKHRoaXNBcmcsIGFycmF5VG9TZWFyY2hbaV0sIGksIGFycmF5VG9TZWFyY2gpKSB7DQoJCQkJCWluZGV4ID0gaTsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIGluZGV4Ow0KCX07DQoJaGVscGVycy5maW5kTmV4dFdoZXJlID0gZnVuY3Rpb24oYXJyYXlUb1NlYXJjaCwgZmlsdGVyQ2FsbGJhY2ssIHN0YXJ0SW5kZXgpIHsNCgkJLy8gRGVmYXVsdCB0byBzdGFydCBvZiB0aGUgYXJyYXkNCgkJaWYgKHN0YXJ0SW5kZXggPT09IHVuZGVmaW5lZCB8fCBzdGFydEluZGV4ID09PSBudWxsKSB7DQoJCQlzdGFydEluZGV4ID0gLTE7DQoJCX0NCgkJZm9yICh2YXIgaSA9IHN0YXJ0SW5kZXggKyAxOyBpIDwgYXJyYXlUb1NlYXJjaC5sZW5ndGg7IGkrKykgew0KCQkJdmFyIGN1cnJlbnRJdGVtID0gYXJyYXlUb1NlYXJjaFtpXTsNCgkJCWlmIChmaWx0ZXJDYWxsYmFjayhjdXJyZW50SXRlbSkpIHsNCgkJCQlyZXR1cm4gY3VycmVudEl0ZW07DQoJCQl9DQoJCX0NCgl9Ow0KCWhlbHBlcnMuZmluZFByZXZpb3VzV2hlcmUgPSBmdW5jdGlvbihhcnJheVRvU2VhcmNoLCBmaWx0ZXJDYWxsYmFjaywgc3RhcnRJbmRleCkgew0KCQkvLyBEZWZhdWx0IHRvIGVuZCBvZiB0aGUgYXJyYXkNCgkJaWYgKHN0YXJ0SW5kZXggPT09IHVuZGVmaW5lZCB8fCBzdGFydEluZGV4ID09PSBudWxsKSB7DQoJCQlzdGFydEluZGV4ID0gYXJyYXlUb1NlYXJjaC5sZW5ndGg7DQoJCX0NCgkJZm9yICh2YXIgaSA9IHN0YXJ0SW5kZXggLSAxOyBpID49IDA7IGktLSkgew0KCQkJdmFyIGN1cnJlbnRJdGVtID0gYXJyYXlUb1NlYXJjaFtpXTsNCgkJCWlmIChmaWx0ZXJDYWxsYmFjayhjdXJyZW50SXRlbSkpIHsNCgkJCQlyZXR1cm4gY3VycmVudEl0ZW07DQoJCQl9DQoJCX0NCgl9Ow0KCWhlbHBlcnMuaW5oZXJpdHMgPSBmdW5jdGlvbihleHRlbnNpb25zKSB7DQoJCS8vQmFzaWMgamF2YXNjcmlwdCBpbmhlcml0YW5jZSBiYXNlZCBvbiB0aGUgbW9kZWwgY3JlYXRlZCBpbiBCYWNrYm9uZS5qcw0KCQl2YXIgcGFyZW50ID0gdGhpczsNCgkJdmFyIENoYXJ0RWxlbWVudCA9IChleHRlbnNpb25zICYmIGV4dGVuc2lvbnMuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikpID8gZXh0ZW5zaW9ucy5jb25zdHJ1Y3RvciA6IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIHBhcmVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOw0KCQl9Ow0KDQoJCXZhciBTdXJyb2dhdGUgPSBmdW5jdGlvbigpIHsNCgkJCXRoaXMuY29uc3RydWN0b3IgPSBDaGFydEVsZW1lbnQ7DQoJCX07DQoJCVN1cnJvZ2F0ZS5wcm90b3R5cGUgPSBwYXJlbnQucHJvdG90eXBlOw0KCQlDaGFydEVsZW1lbnQucHJvdG90eXBlID0gbmV3IFN1cnJvZ2F0ZSgpOw0KDQoJCUNoYXJ0RWxlbWVudC5leHRlbmQgPSBoZWxwZXJzLmluaGVyaXRzOw0KDQoJCWlmIChleHRlbnNpb25zKSB7DQoJCQloZWxwZXJzLmV4dGVuZChDaGFydEVsZW1lbnQucHJvdG90eXBlLCBleHRlbnNpb25zKTsNCgkJfQ0KDQoJCUNoYXJ0RWxlbWVudC5fX3N1cGVyX18gPSBwYXJlbnQucHJvdG90eXBlOw0KDQoJCXJldHVybiBDaGFydEVsZW1lbnQ7DQoJfTsNCgloZWxwZXJzLm5vb3AgPSBmdW5jdGlvbigpIHt9Ow0KCWhlbHBlcnMudWlkID0gKGZ1bmN0aW9uKCkgew0KCQl2YXIgaWQgPSAwOw0KCQlyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gaWQrKzsNCgkJfTsNCgl9KSgpOw0KCWhlbHBlcnMud2FybiA9IGZ1bmN0aW9uKHN0cikgew0KCQkvL01ldGhvZCBmb3Igd2FybmluZyBvZiBlcnJvcnMNCgkJaWYgKGNvbnNvbGUgJiYgdHlwZW9mIGNvbnNvbGUud2FybiA9PT0gImZ1bmN0aW9uIikgew0KCQkJY29uc29sZS53YXJuKHN0cik7DQoJCX0NCgl9Ow0KCS8vLS0gTWF0aCBtZXRob2RzDQoJaGVscGVycy5pc051bWJlciA9IGZ1bmN0aW9uKG4pIHsNCgkJcmV0dXJuICFpc05hTihwYXJzZUZsb2F0KG4pKSAmJiBpc0Zpbml0ZShuKTsNCgl9Ow0KCWhlbHBlcnMuYWxtb3N0RXF1YWxzID0gZnVuY3Rpb24oeCwgeSwgZXBzaWxvbikgew0KCQlyZXR1cm4gTWF0aC5hYnMoeCAtIHkpIDwgZXBzaWxvbjsNCgl9Ow0KCWhlbHBlcnMubWF4ID0gZnVuY3Rpb24oYXJyYXkpIHsNCgkJcmV0dXJuIGFycmF5LnJlZHVjZShmdW5jdGlvbihtYXgsIHZhbHVlKSB7DQoJCQlpZiAoIWlzTmFOKHZhbHVlKSkgew0KCQkJCXJldHVybiBNYXRoLm1heChtYXgsIHZhbHVlKTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIG1heDsNCgkJCX0NCgkJfSwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsNCgl9Ow0KCWhlbHBlcnMubWluID0gZnVuY3Rpb24oYXJyYXkpIHsNCgkJcmV0dXJuIGFycmF5LnJlZHVjZShmdW5jdGlvbihtaW4sIHZhbHVlKSB7DQoJCQlpZiAoIWlzTmFOKHZhbHVlKSkgew0KCQkJCXJldHVybiBNYXRoLm1pbihtaW4sIHZhbHVlKTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIG1pbjsNCgkJCX0NCgkJfSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsNCgl9Ow0KCWhlbHBlcnMuc2lnbiA9IGZ1bmN0aW9uKHgpIHsNCgkJaWYgKE1hdGguc2lnbikgew0KCQkJcmV0dXJuIE1hdGguc2lnbih4KTsNCgkJfSBlbHNlIHsNCgkJCXggPSAreDsgLy8gY29udmVydCB0byBhIG51bWJlcg0KCQkJaWYgKHggPT09IDAgfHwgaXNOYU4oeCkpIHsNCgkJCQlyZXR1cm4geDsNCgkJCX0NCgkJCXJldHVybiB4ID4gMCA/IDEgOiAtMTsNCgkJfQ0KCX07DQoJaGVscGVycy5sb2cxMCA9IGZ1bmN0aW9uKHgpIHsNCgkJaWYgKE1hdGgubG9nMTApIHsNCgkJCXJldHVybiBNYXRoLmxvZzEwKHgpOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIE1hdGgubG9nKHgpIC8gTWF0aC5MTjEwOw0KCQl9DQoJfTsNCgloZWxwZXJzLnRvUmFkaWFucyA9IGZ1bmN0aW9uKGRlZ3JlZXMpIHsNCgkJcmV0dXJuIGRlZ3JlZXMgKiAoTWF0aC5QSSAvIDE4MCk7DQoJfTsNCgloZWxwZXJzLnRvRGVncmVlcyA9IGZ1bmN0aW9uKHJhZGlhbnMpIHsNCgkJcmV0dXJuIHJhZGlhbnMgKiAoMTgwIC8gTWF0aC5QSSk7DQoJfTsNCgkvLyBHZXRzIHRoZSBhbmdsZSBmcm9tIHZlcnRpY2FsIHVwcmlnaHQgdG8gdGhlIHBvaW50IGFib3V0IGEgY2VudHJlLg0KCWhlbHBlcnMuZ2V0QW5nbGVGcm9tUG9pbnQgPSBmdW5jdGlvbihjZW50cmVQb2ludCwgYW5nbGVQb2ludCkgew0KCQl2YXIgZGlzdGFuY2VGcm9tWENlbnRlciA9IGFuZ2xlUG9pbnQueCAtIGNlbnRyZVBvaW50LngsDQoJCQlkaXN0YW5jZUZyb21ZQ2VudGVyID0gYW5nbGVQb2ludC55IC0gY2VudHJlUG9pbnQueSwNCgkJCXJhZGlhbERpc3RhbmNlRnJvbUNlbnRlciA9IE1hdGguc3FydChkaXN0YW5jZUZyb21YQ2VudGVyICogZGlzdGFuY2VGcm9tWENlbnRlciArIGRpc3RhbmNlRnJvbVlDZW50ZXIgKiBkaXN0YW5jZUZyb21ZQ2VudGVyKTsNCg0KCQl2YXIgYW5nbGUgPSBNYXRoLmF0YW4yKGRpc3RhbmNlRnJvbVlDZW50ZXIsIGRpc3RhbmNlRnJvbVhDZW50ZXIpOw0KDQoJCWlmIChhbmdsZSA8ICgtMC41ICogTWF0aC5QSSkpIHsNCgkJCWFuZ2xlICs9IDIuMCAqIE1hdGguUEk7IC8vIG1ha2Ugc3VyZSB0aGUgcmV0dXJuZWQgYW5nbGUgaXMgaW4gdGhlIHJhbmdlIG9mICgtUEkvMiwgM1BJLzJdDQoJCX0NCg0KCQlyZXR1cm4gew0KCQkJYW5nbGU6IGFuZ2xlLA0KCQkJZGlzdGFuY2U6IHJhZGlhbERpc3RhbmNlRnJvbUNlbnRlcg0KCQl9Ow0KCX07DQoJaGVscGVycy5hbGlhc1BpeGVsID0gZnVuY3Rpb24ocGl4ZWxXaWR0aCkgew0KCQlyZXR1cm4gKHBpeGVsV2lkdGggJSAyID09PSAwKSA/IDAgOiAwLjU7DQoJfTsNCgloZWxwZXJzLnNwbGluZUN1cnZlID0gZnVuY3Rpb24oZmlyc3RQb2ludCwgbWlkZGxlUG9pbnQsIGFmdGVyUG9pbnQsIHQpIHsNCgkJLy9Qcm9wcyB0byBSb2IgU3BlbmNlciBhdCBzY2FsZWQgaW5ub3ZhdGlvbiBmb3IgaGlzIHBvc3Qgb24gc3BsaW5pbmcgYmV0d2VlbiBwb2ludHMNCgkJLy9odHRwOi8vc2NhbGVkaW5ub3ZhdGlvbi5jb20vYW5hbHl0aWNzL3NwbGluZXMvYWJvdXRTcGxpbmVzLmh0bWwNCg0KCQkvLyBUaGlzIGZ1bmN0aW9uIG11c3QgYWxzbyByZXNwZWN0ICJza2lwcGVkIiBwb2ludHMNCg0KCQl2YXIgcHJldmlvdXMgPSBmaXJzdFBvaW50LnNraXAgPyBtaWRkbGVQb2ludCA6IGZpcnN0UG9pbnQsDQoJCQljdXJyZW50ID0gbWlkZGxlUG9pbnQsDQoJCQluZXh0ID0gYWZ0ZXJQb2ludC5za2lwID8gbWlkZGxlUG9pbnQgOiBhZnRlclBvaW50Ow0KDQoJCXZhciBkMDEgPSBNYXRoLnNxcnQoTWF0aC5wb3coY3VycmVudC54IC0gcHJldmlvdXMueCwgMikgKyBNYXRoLnBvdyhjdXJyZW50LnkgLSBwcmV2aW91cy55LCAyKSk7DQoJCXZhciBkMTIgPSBNYXRoLnNxcnQoTWF0aC5wb3cobmV4dC54IC0gY3VycmVudC54LCAyKSArIE1hdGgucG93KG5leHQueSAtIGN1cnJlbnQueSwgMikpOw0KDQoJCXZhciBzMDEgPSBkMDEgLyAoZDAxICsgZDEyKTsNCgkJdmFyIHMxMiA9IGQxMiAvIChkMDEgKyBkMTIpOw0KDQoJCS8vIElmIGFsbCBwb2ludHMgYXJlIHRoZSBzYW1lLCBzMDEgJiBzMDIgd2lsbCBiZSBpbmYNCgkJczAxID0gaXNOYU4oczAxKSA/IDAgOiBzMDE7DQoJCXMxMiA9IGlzTmFOKHMxMikgPyAwIDogczEyOw0KDQoJCXZhciBmYSA9IHQgKiBzMDE7IC8vIHNjYWxpbmcgZmFjdG9yIGZvciB0cmlhbmdsZSBUYQ0KCQl2YXIgZmIgPSB0ICogczEyOw0KDQoJCXJldHVybiB7DQoJCQlwcmV2aW91czogew0KCQkJCXg6IGN1cnJlbnQueCAtIGZhICogKG5leHQueCAtIHByZXZpb3VzLngpLA0KCQkJCXk6IGN1cnJlbnQueSAtIGZhICogKG5leHQueSAtIHByZXZpb3VzLnkpDQoJCQl9LA0KCQkJbmV4dDogew0KCQkJCXg6IGN1cnJlbnQueCArIGZiICogKG5leHQueCAtIHByZXZpb3VzLngpLA0KCQkJCXk6IGN1cnJlbnQueSArIGZiICogKG5leHQueSAtIHByZXZpb3VzLnkpDQoJCQl9DQoJCX07DQoJfTsNCgloZWxwZXJzLm5leHRJdGVtID0gZnVuY3Rpb24oY29sbGVjdGlvbiwgaW5kZXgsIGxvb3ApIHsNCgkJaWYgKGxvb3ApIHsNCgkJCXJldHVybiBpbmRleCA+PSBjb2xsZWN0aW9uLmxlbmd0aCAtIDEgPyBjb2xsZWN0aW9uWzBdIDogY29sbGVjdGlvbltpbmRleCArIDFdOw0KCQl9DQoNCgkJcmV0dXJuIGluZGV4ID49IGNvbGxlY3Rpb24ubGVuZ3RoIC0gMSA/IGNvbGxlY3Rpb25bY29sbGVjdGlvbi5sZW5ndGggLSAxXSA6IGNvbGxlY3Rpb25baW5kZXggKyAxXTsNCgl9Ow0KCWhlbHBlcnMucHJldmlvdXNJdGVtID0gZnVuY3Rpb24oY29sbGVjdGlvbiwgaW5kZXgsIGxvb3ApIHsNCgkJaWYgKGxvb3ApIHsNCgkJCXJldHVybiBpbmRleCA8PSAwID8gY29sbGVjdGlvbltjb2xsZWN0aW9uLmxlbmd0aCAtIDFdIDogY29sbGVjdGlvbltpbmRleCAtIDFdOw0KCQl9DQoJCXJldHVybiBpbmRleCA8PSAwID8gY29sbGVjdGlvblswXSA6IGNvbGxlY3Rpb25baW5kZXggLSAxXTsNCgl9Ow0KCS8vIEltcGxlbWVudGF0aW9uIG9mIHRoZSBuaWNlIG51bWJlciBhbGdvcml0aG0gdXNlZCBpbiBkZXRlcm1pbmluZyB3aGVyZSBheGlzIGxhYmVscyB3aWxsIGdvDQoJaGVscGVycy5uaWNlTnVtID0gZnVuY3Rpb24ocmFuZ2UsIHJvdW5kKSB7DQoJCXZhciBleHBvbmVudCA9IE1hdGguZmxvb3IoaGVscGVycy5sb2cxMChyYW5nZSkpOw0KCQl2YXIgZnJhY3Rpb24gPSByYW5nZSAvIE1hdGgucG93KDEwLCBleHBvbmVudCk7DQoJCXZhciBuaWNlRnJhY3Rpb247DQoNCgkJaWYgKHJvdW5kKSB7DQoJCQlpZiAoZnJhY3Rpb24gPCAxLjUpIHsNCgkJCQluaWNlRnJhY3Rpb24gPSAxOw0KCQkJfSBlbHNlIGlmIChmcmFjdGlvbiA8IDMpIHsNCgkJCQluaWNlRnJhY3Rpb24gPSAyOw0KCQkJfSBlbHNlIGlmIChmcmFjdGlvbiA8IDcpIHsNCgkJCQluaWNlRnJhY3Rpb24gPSA1Ow0KCQkJfSBlbHNlIHsNCgkJCQluaWNlRnJhY3Rpb24gPSAxMDsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWlmIChmcmFjdGlvbiA8PSAxLjApIHsNCgkJCQluaWNlRnJhY3Rpb24gPSAxOw0KCQkJfSBlbHNlIGlmIChmcmFjdGlvbiA8PSAyKSB7DQoJCQkJbmljZUZyYWN0aW9uID0gMjsNCgkJCX0gZWxzZSBpZiAoZnJhY3Rpb24gPD0gNSkgew0KCQkJCW5pY2VGcmFjdGlvbiA9IDU7DQoJCQl9IGVsc2Ugew0KCQkJCW5pY2VGcmFjdGlvbiA9IDEwOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIG5pY2VGcmFjdGlvbiAqIE1hdGgucG93KDEwLCBleHBvbmVudCk7DQoJfTsNCgkvL0Vhc2luZyBmdW5jdGlvbnMgYWRhcHRlZCBmcm9tIFJvYmVydCBQZW5uZXIncyBlYXNpbmcgZXF1YXRpb25zDQoJLy9odHRwOi8vd3d3LnJvYmVydHBlbm5lci5jb20vZWFzaW5nLw0KCXZhciBlYXNpbmdFZmZlY3RzID0gaGVscGVycy5lYXNpbmdFZmZlY3RzID0gew0KCQlsaW5lYXI6IGZ1bmN0aW9uKHQpIHsNCgkJCXJldHVybiB0Ow0KCQl9LA0KCQllYXNlSW5RdWFkOiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gdCAqIHQ7DQoJCX0sDQoJCWVhc2VPdXRRdWFkOiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gLTEgKiB0ICogKHQgLSAyKTsNCgkJfSwNCgkJZWFzZUluT3V0UXVhZDogZnVuY3Rpb24odCkgew0KCQkJaWYgKCh0IC89IDEgLyAyKSA8IDEpIHsNCgkJCQlyZXR1cm4gMSAvIDIgKiB0ICogdDsNCgkJCX0NCgkJCXJldHVybiAtMSAvIDIgKiAoKC0tdCkgKiAodCAtIDIpIC0gMSk7DQoJCX0sDQoJCWVhc2VJbkN1YmljOiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gdCAqIHQgKiB0Ow0KCQl9LA0KCQllYXNlT3V0Q3ViaWM6IGZ1bmN0aW9uKHQpIHsNCgkJCXJldHVybiAxICogKCh0ID0gdCAvIDEgLSAxKSAqIHQgKiB0ICsgMSk7DQoJCX0sDQoJCWVhc2VJbk91dEN1YmljOiBmdW5jdGlvbih0KSB7DQoJCQlpZiAoKHQgLz0gMSAvIDIpIDwgMSkgew0KCQkJCXJldHVybiAxIC8gMiAqIHQgKiB0ICogdDsNCgkJCX0NCgkJCXJldHVybiAxIC8gMiAqICgodCAtPSAyKSAqIHQgKiB0ICsgMik7DQoJCX0sDQoJCWVhc2VJblF1YXJ0OiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gdCAqIHQgKiB0ICogdDsNCgkJfSwNCgkJZWFzZU91dFF1YXJ0OiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gLTEgKiAoKHQgPSB0IC8gMSAtIDEpICogdCAqIHQgKiB0IC0gMSk7DQoJCX0sDQoJCWVhc2VJbk91dFF1YXJ0OiBmdW5jdGlvbih0KSB7DQoJCQlpZiAoKHQgLz0gMSAvIDIpIDwgMSkgew0KCQkJCXJldHVybiAxIC8gMiAqIHQgKiB0ICogdCAqIHQ7DQoJCQl9DQoJCQlyZXR1cm4gLTEgLyAyICogKCh0IC09IDIpICogdCAqIHQgKiB0IC0gMik7DQoJCX0sDQoJCWVhc2VJblF1aW50OiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gMSAqICh0IC89IDEpICogdCAqIHQgKiB0ICogdDsNCgkJfSwNCgkJZWFzZU91dFF1aW50OiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gMSAqICgodCA9IHQgLyAxIC0gMSkgKiB0ICogdCAqIHQgKiB0ICsgMSk7DQoJCX0sDQoJCWVhc2VJbk91dFF1aW50OiBmdW5jdGlvbih0KSB7DQoJCQlpZiAoKHQgLz0gMSAvIDIpIDwgMSkgew0KCQkJCXJldHVybiAxIC8gMiAqIHQgKiB0ICogdCAqIHQgKiB0Ow0KCQkJfQ0KCQkJcmV0dXJuIDEgLyAyICogKCh0IC09IDIpICogdCAqIHQgKiB0ICogdCArIDIpOw0KCQl9LA0KCQllYXNlSW5TaW5lOiBmdW5jdGlvbih0KSB7DQoJCQlyZXR1cm4gLTEgKiBNYXRoLmNvcyh0IC8gMSAqIChNYXRoLlBJIC8gMikpICsgMTsNCgkJfSwNCgkJZWFzZU91dFNpbmU6IGZ1bmN0aW9uKHQpIHsNCgkJCXJldHVybiAxICogTWF0aC5zaW4odCAvIDEgKiAoTWF0aC5QSSAvIDIpKTsNCgkJfSwNCgkJZWFzZUluT3V0U2luZTogZnVuY3Rpb24odCkgew0KCQkJcmV0dXJuIC0xIC8gMiAqIChNYXRoLmNvcyhNYXRoLlBJICogdCAvIDEpIC0gMSk7DQoJCX0sDQoJCWVhc2VJbkV4cG86IGZ1bmN0aW9uKHQpIHsNCgkJCXJldHVybiAodCA9PT0gMCkgPyAxIDogMSAqIE1hdGgucG93KDIsIDEwICogKHQgLyAxIC0gMSkpOw0KCQl9LA0KCQllYXNlT3V0RXhwbzogZnVuY3Rpb24odCkgew0KCQkJcmV0dXJuICh0ID09PSAxKSA/IDEgOiAxICogKC1NYXRoLnBvdygyLCAtMTAgKiB0IC8gMSkgKyAxKTsNCgkJfSwNCgkJZWFzZUluT3V0RXhwbzogZnVuY3Rpb24odCkgew0KCQkJaWYgKHQgPT09IDApIHsNCgkJCQlyZXR1cm4gMDsNCgkJCX0NCgkJCWlmICh0ID09PSAxKSB7DQoJCQkJcmV0dXJuIDE7DQoJCQl9DQoJCQlpZiAoKHQgLz0gMSAvIDIpIDwgMSkgew0KCQkJCXJldHVybiAxIC8gMiAqIE1hdGgucG93KDIsIDEwICogKHQgLSAxKSk7DQoJCQl9DQoJCQlyZXR1cm4gMSAvIDIgKiAoLU1hdGgucG93KDIsIC0xMCAqIC0tdCkgKyAyKTsNCgkJfSwNCgkJZWFzZUluQ2lyYzogZnVuY3Rpb24odCkgew0KCQkJaWYgKHQgPj0gMSkgew0KCQkJCXJldHVybiB0Ow0KCQkJfQ0KCQkJcmV0dXJuIC0xICogKE1hdGguc3FydCgxIC0gKHQgLz0gMSkgKiB0KSAtIDEpOw0KCQl9LA0KCQllYXNlT3V0Q2lyYzogZnVuY3Rpb24odCkgew0KCQkJcmV0dXJuIDEgKiBNYXRoLnNxcnQoMSAtICh0ID0gdCAvIDEgLSAxKSAqIHQpOw0KCQl9LA0KCQllYXNlSW5PdXRDaXJjOiBmdW5jdGlvbih0KSB7DQoJCQlpZiAoKHQgLz0gMSAvIDIpIDwgMSkgew0KCQkJCXJldHVybiAtMSAvIDIgKiAoTWF0aC5zcXJ0KDEgLSB0ICogdCkgLSAxKTsNCgkJCX0NCgkJCXJldHVybiAxIC8gMiAqIChNYXRoLnNxcnQoMSAtICh0IC09IDIpICogdCkgKyAxKTsNCgkJfSwNCgkJZWFzZUluRWxhc3RpYzogZnVuY3Rpb24odCkgew0KCQkJdmFyIHMgPSAxLjcwMTU4Ow0KCQkJdmFyIHAgPSAwOw0KCQkJdmFyIGEgPSAxOw0KCQkJaWYgKHQgPT09IDApIHsNCgkJCQlyZXR1cm4gMDsNCgkJCX0NCgkJCWlmICgodCAvPSAxKSA9PT0gMSkgew0KCQkJCXJldHVybiAxOw0KCQkJfQ0KCQkJaWYgKCFwKSB7DQoJCQkJcCA9IDEgKiAwLjM7DQoJCQl9DQoJCQlpZiAoYSA8IE1hdGguYWJzKDEpKSB7DQoJCQkJYSA9IDE7DQoJCQkJcyA9IHAgLyA0Ow0KCQkJfSBlbHNlIHsNCgkJCQlzID0gcCAvICgyICogTWF0aC5QSSkgKiBNYXRoLmFzaW4oMSAvIGEpOw0KCQkJfQ0KCQkJcmV0dXJuIC0oYSAqIE1hdGgucG93KDIsIDEwICogKHQgLT0gMSkpICogTWF0aC5zaW4oKHQgKiAxIC0gcykgKiAoMiAqIE1hdGguUEkpIC8gcCkpOw0KCQl9LA0KCQllYXNlT3V0RWxhc3RpYzogZnVuY3Rpb24odCkgew0KCQkJdmFyIHMgPSAxLjcwMTU4Ow0KCQkJdmFyIHAgPSAwOw0KCQkJdmFyIGEgPSAxOw0KCQkJaWYgKHQgPT09IDApIHsNCgkJCQlyZXR1cm4gMDsNCgkJCX0NCgkJCWlmICgodCAvPSAxKSA9PT0gMSkgew0KCQkJCXJldHVybiAxOw0KCQkJfQ0KCQkJaWYgKCFwKSB7DQoJCQkJcCA9IDEgKiAwLjM7DQoJCQl9DQoJCQlpZiAoYSA8IE1hdGguYWJzKDEpKSB7DQoJCQkJYSA9IDE7DQoJCQkJcyA9IHAgLyA0Ow0KCQkJfSBlbHNlIHsNCgkJCQlzID0gcCAvICgyICogTWF0aC5QSSkgKiBNYXRoLmFzaW4oMSAvIGEpOw0KCQkJfQ0KCQkJcmV0dXJuIGEgKiBNYXRoLnBvdygyLCAtMTAgKiB0KSAqIE1hdGguc2luKCh0ICogMSAtIHMpICogKDIgKiBNYXRoLlBJKSAvIHApICsgMTsNCgkJfSwNCgkJZWFzZUluT3V0RWxhc3RpYzogZnVuY3Rpb24odCkgew0KCQkJdmFyIHMgPSAxLjcwMTU4Ow0KCQkJdmFyIHAgPSAwOw0KCQkJdmFyIGEgPSAxOw0KCQkJaWYgKHQgPT09IDApIHsNCgkJCQlyZXR1cm4gMDsNCgkJCX0NCgkJCWlmICgodCAvPSAxIC8gMikgPT09IDIpIHsNCgkJCQlyZXR1cm4gMTsNCgkJCX0NCgkJCWlmICghcCkgew0KCQkJCXAgPSAxICogKDAuMyAqIDEuNSk7DQoJCQl9DQoJCQlpZiAoYSA8IE1hdGguYWJzKDEpKSB7DQoJCQkJYSA9IDE7DQoJCQkJcyA9IHAgLyA0Ow0KCQkJfSBlbHNlIHsNCgkJCQlzID0gcCAvICgyICogTWF0aC5QSSkgKiBNYXRoLmFzaW4oMSAvIGEpOw0KCQkJfQ0KCQkJaWYgKHQgPCAxKSB7DQoJCQkJcmV0dXJuIC0wLjUgKiAoYSAqIE1hdGgucG93KDIsIDEwICogKHQgLT0gMSkpICogTWF0aC5zaW4oKHQgKiAxIC0gcykgKiAoMiAqIE1hdGguUEkpIC8gcCkpOw0KCQkJfQ0KCQkJcmV0dXJuIGEgKiBNYXRoLnBvdygyLCAtMTAgKiAodCAtPSAxKSkgKiBNYXRoLnNpbigodCAqIDEgLSBzKSAqICgyICogTWF0aC5QSSkgLyBwKSAqIDAuNSArIDE7DQoJCX0sDQoJCWVhc2VJbkJhY2s6IGZ1bmN0aW9uKHQpIHsNCgkJCXZhciBzID0gMS43MDE1ODsNCgkJCXJldHVybiAxICogKHQgLz0gMSkgKiB0ICogKChzICsgMSkgKiB0IC0gcyk7DQoJCX0sDQoJCWVhc2VPdXRCYWNrOiBmdW5jdGlvbih0KSB7DQoJCQl2YXIgcyA9IDEuNzAxNTg7DQoJCQlyZXR1cm4gMSAqICgodCA9IHQgLyAxIC0gMSkgKiB0ICogKChzICsgMSkgKiB0ICsgcykgKyAxKTsNCgkJfSwNCgkJZWFzZUluT3V0QmFjazogZnVuY3Rpb24odCkgew0KCQkJdmFyIHMgPSAxLjcwMTU4Ow0KCQkJaWYgKCh0IC89IDEgLyAyKSA8IDEpIHsNCgkJCQlyZXR1cm4gMSAvIDIgKiAodCAqIHQgKiAoKChzICo9ICgxLjUyNSkpICsgMSkgKiB0IC0gcykpOw0KCQkJfQ0KCQkJcmV0dXJuIDEgLyAyICogKCh0IC09IDIpICogdCAqICgoKHMgKj0gKDEuNTI1KSkgKyAxKSAqIHQgKyBzKSArIDIpOw0KCQl9LA0KCQllYXNlSW5Cb3VuY2U6IGZ1bmN0aW9uKHQpIHsNCgkJCXJldHVybiAxIC0gZWFzaW5nRWZmZWN0cy5lYXNlT3V0Qm91bmNlKDEgLSB0KTsNCgkJfSwNCgkJZWFzZU91dEJvdW5jZTogZnVuY3Rpb24odCkgew0KCQkJaWYgKCh0IC89IDEpIDwgKDEgLyAyLjc1KSkgew0KCQkJCXJldHVybiAxICogKDcuNTYyNSAqIHQgKiB0KTsNCgkJCX0gZWxzZSBpZiAodCA8ICgyIC8gMi43NSkpIHsNCgkJCQlyZXR1cm4gMSAqICg3LjU2MjUgKiAodCAtPSAoMS41IC8gMi43NSkpICogdCArIDAuNzUpOw0KCQkJfSBlbHNlIGlmICh0IDwgKDIuNSAvIDIuNzUpKSB7DQoJCQkJcmV0dXJuIDEgKiAoNy41NjI1ICogKHQgLT0gKDIuMjUgLyAyLjc1KSkgKiB0ICsgMC45Mzc1KTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIDEgKiAoNy41NjI1ICogKHQgLT0gKDIuNjI1IC8gMi43NSkpICogdCArIDAuOTg0Mzc1KTsNCgkJCX0NCgkJfSwNCgkJZWFzZUluT3V0Qm91bmNlOiBmdW5jdGlvbih0KSB7DQoJCQlpZiAodCA8IDEgLyAyKSB7DQoJCQkJcmV0dXJuIGVhc2luZ0VmZmVjdHMuZWFzZUluQm91bmNlKHQgKiAyKSAqIDAuNTsNCgkJCX0NCgkJCXJldHVybiBlYXNpbmdFZmZlY3RzLmVhc2VPdXRCb3VuY2UodCAqIDIgLSAxKSAqIDAuNSArIDEgKiAwLjU7DQoJCX0NCgl9Ow0KCS8vUmVxdWVzdCBhbmltYXRpb24gcG9seWZpbGwgLSBodHRwOi8vd3d3LnBhdWxpcmlzaC5jb20vMjAxMS9yZXF1ZXN0YW5pbWF0aW9uZnJhbWUtZm9yLXNtYXJ0LWFuaW1hdGluZy8NCgloZWxwZXJzLnJlcXVlc3RBbmltRnJhbWUgPSAoZnVuY3Rpb24oKSB7DQoJCXJldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8DQoJCQl3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8DQoJCQl3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8DQoJCQl3aW5kb3cub1JlcXVlc3RBbmltYXRpb25GcmFtZSB8fA0KCQkJd2luZG93Lm1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8DQoJCQlmdW5jdGlvbihjYWxsYmFjaykgew0KCQkJCXJldHVybiB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMCAvIDYwKTsNCgkJCX07DQoJfSkoKTsNCgloZWxwZXJzLmNhbmNlbEFuaW1GcmFtZSA9IChmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSB8fA0KCQkJd2luZG93LndlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1lIHx8DQoJCQl3aW5kb3cubW96Q2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwNCgkJCXdpbmRvdy5vQ2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwNCgkJCXdpbmRvdy5tc0NhbmNlbEFuaW1hdGlvbkZyYW1lIHx8DQoJCQlmdW5jdGlvbihjYWxsYmFjaykgew0KCQkJCXJldHVybiB3aW5kb3cuY2xlYXJUaW1lb3V0KGNhbGxiYWNrLCAxMDAwIC8gNjApOw0KCQkJfTsNCgl9KSgpOw0KCS8vLS0gRE9NIG1ldGhvZHMNCgloZWxwZXJzLmdldFJlbGF0aXZlUG9zaXRpb24gPSBmdW5jdGlvbihldnQsIGNoYXJ0KSB7DQoJCXZhciBtb3VzZVgsIG1vdXNlWTsNCgkJdmFyIGUgPSBldnQub3JpZ2luYWxFdmVudCB8fCBldnQsDQoJCQljYW52YXMgPSBldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudCwNCgkJCWJvdW5kaW5nUmVjdCA9IGNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsNCg0KCQl2YXIgdG91Y2hlcyA9IGUudG91Y2hlczsNCgkJaWYgKHRvdWNoZXMgJiYgdG91Y2hlcy5sZW5ndGggPiAwKSB7DQoJCQltb3VzZVggPSB0b3VjaGVzWzBdLmNsaWVudFg7DQoJCQltb3VzZVkgPSB0b3VjaGVzWzBdLmNsaWVudFk7DQoNCgkJfSBlbHNlIHsNCgkJCW1vdXNlWCA9IGUuY2xpZW50WDsNCgkJCW1vdXNlWSA9IGUuY2xpZW50WTsNCgkJfQ0KDQoJCS8vIFNjYWxlIG1vdXNlIGNvb3JkaW5hdGVzIGludG8gY2FudmFzIGNvb3JkaW5hdGVzDQoJCS8vIGJ5IGZvbGxvd2luZyB0aGUgcGF0dGVybiBsYWlkIG91dCBieSAnamVycnlqJyBpbiB0aGUgY29tbWVudHMgb2YNCgkJLy8gaHR0cDovL3d3dy5odG1sNWNhbnZhc3R1dG9yaWFscy5jb20vYWR2YW5jZWQvaHRtbDUtY2FudmFzLW1vdXNlLWNvb3JkaW5hdGVzLw0KCQl2YXIgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KGhlbHBlcnMuZ2V0U3R5bGUoY2FudmFzLCAncGFkZGluZy1sZWZ0JykpOw0KCQl2YXIgcGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQoaGVscGVycy5nZXRTdHlsZShjYW52YXMsICdwYWRkaW5nLXRvcCcpKTsNCgkJdmFyIHBhZGRpbmdSaWdodCA9IHBhcnNlRmxvYXQoaGVscGVycy5nZXRTdHlsZShjYW52YXMsICdwYWRkaW5nLXJpZ2h0JykpOw0KCQl2YXIgcGFkZGluZ0JvdHRvbSA9IHBhcnNlRmxvYXQoaGVscGVycy5nZXRTdHlsZShjYW52YXMsICdwYWRkaW5nLWJvdHRvbScpKTsNCgkJdmFyIHdpZHRoID0gYm91bmRpbmdSZWN0LnJpZ2h0IC0gYm91bmRpbmdSZWN0LmxlZnQgLSBwYWRkaW5nTGVmdCAtIHBhZGRpbmdSaWdodDsNCgkJdmFyIGhlaWdodCA9IGJvdW5kaW5nUmVjdC5ib3R0b20gLSBib3VuZGluZ1JlY3QudG9wIC0gcGFkZGluZ1RvcCAtIHBhZGRpbmdCb3R0b207DQoNCgkJLy8gV2UgZGl2aWRlIGJ5IHRoZSBjdXJyZW50IGRldmljZSBwaXhlbCByYXRpbywgYmVjYXVzZSB0aGUgY2FudmFzIGlzIHNjYWxlZCB1cCBieSB0aGF0IGFtb3VudCBpbiBlYWNoIGRpcmVjdGlvbi4gSG93ZXZlcg0KCQkvLyB0aGUgYmFja2VuZCBtb2RlbCBpcyBpbiB1bnNjYWxlZCBjb29yZGluYXRlcy4gU2luY2Ugd2UgYXJlIGdvaW5nIHRvIGRlYWwgd2l0aCBvdXIgbW9kZWwgY29vcmRpbmF0ZXMsIHdlIGdvIGJhY2sgaGVyZQ0KCQltb3VzZVggPSBNYXRoLnJvdW5kKChtb3VzZVggLSBib3VuZGluZ1JlY3QubGVmdCAtIHBhZGRpbmdMZWZ0KSAvICh3aWR0aCkgKiBjYW52YXMud2lkdGggLyBjaGFydC5jdXJyZW50RGV2aWNlUGl4ZWxSYXRpbyk7DQoJCW1vdXNlWSA9IE1hdGgucm91bmQoKG1vdXNlWSAtIGJvdW5kaW5nUmVjdC50b3AgLSBwYWRkaW5nVG9wKSAvIChoZWlnaHQpICogY2FudmFzLmhlaWdodCAvIGNoYXJ0LmN1cnJlbnREZXZpY2VQaXhlbFJhdGlvKTsNCg0KCQlyZXR1cm4gew0KCQkJeDogbW91c2VYLA0KCQkJeTogbW91c2VZDQoJCX07DQoNCgl9Ow0KCWhlbHBlcnMuYWRkRXZlbnQgPSBmdW5jdGlvbihub2RlLCBldmVudFR5cGUsIG1ldGhvZCkgew0KCQlpZiAobm9kZS5hZGRFdmVudExpc3RlbmVyKSB7DQoJCQlub2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBtZXRob2QpOw0KCQl9IGVsc2UgaWYgKG5vZGUuYXR0YWNoRXZlbnQpIHsNCgkJCW5vZGUuYXR0YWNoRXZlbnQoIm9uIiArIGV2ZW50VHlwZSwgbWV0aG9kKTsNCgkJfSBlbHNlIHsNCgkJCW5vZGVbIm9uIiArIGV2ZW50VHlwZV0gPSBtZXRob2Q7DQoJCX0NCgl9Ow0KCWhlbHBlcnMucmVtb3ZlRXZlbnQgPSBmdW5jdGlvbihub2RlLCBldmVudFR5cGUsIGhhbmRsZXIpIHsNCgkJaWYgKG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcikgew0KCQkJbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZmFsc2UpOw0KCQl9IGVsc2UgaWYgKG5vZGUuZGV0YWNoRXZlbnQpIHsNCgkJCW5vZGUuZGV0YWNoRXZlbnQoIm9uIiArIGV2ZW50VHlwZSwgaGFuZGxlcik7DQoJCX0gZWxzZSB7DQoJCQlub2RlWyJvbiIgKyBldmVudFR5cGVdID0gaGVscGVycy5ub29wOw0KCQl9DQoJfTsNCgloZWxwZXJzLmJpbmRFdmVudHMgPSBmdW5jdGlvbihjaGFydEluc3RhbmNlLCBhcnJheU9mRXZlbnRzLCBoYW5kbGVyKSB7DQoJCS8vIENyZWF0ZSB0aGUgZXZlbnRzIG9iamVjdCBpZiBpdCdzIG5vdCBhbHJlYWR5IHByZXNlbnQNCgkJdmFyIGV2ZW50cyA9IGNoYXJ0SW5zdGFuY2UuZXZlbnRzID0gY2hhcnRJbnN0YW5jZS5ldmVudHMgfHwge307DQoNCgkJaGVscGVycy5lYWNoKGFycmF5T2ZFdmVudHMsIGZ1bmN0aW9uKGV2ZW50TmFtZSkgew0KCQkJZXZlbnRzW2V2ZW50TmFtZV0gPSBmdW5jdGlvbigpIHsNCgkJCQloYW5kbGVyLmFwcGx5KGNoYXJ0SW5zdGFuY2UsIGFyZ3VtZW50cyk7DQoJCQl9Ow0KCQkJaGVscGVycy5hZGRFdmVudChjaGFydEluc3RhbmNlLmNoYXJ0LmNhbnZhcywgZXZlbnROYW1lLCBldmVudHNbZXZlbnROYW1lXSk7DQoJCX0pOw0KCX07DQoJaGVscGVycy51bmJpbmRFdmVudHMgPSBmdW5jdGlvbihjaGFydEluc3RhbmNlLCBhcnJheU9mRXZlbnRzKSB7DQoJCXZhciBjYW52YXMgPSBjaGFydEluc3RhbmNlLmNoYXJ0LmNhbnZhczsNCgkJaGVscGVycy5lYWNoKGFycmF5T2ZFdmVudHMsIGZ1bmN0aW9uKGhhbmRsZXIsIGV2ZW50TmFtZSkgew0KCQkJaGVscGVycy5yZW1vdmVFdmVudChjYW52YXMsIGV2ZW50TmFtZSwgaGFuZGxlcik7DQoJCX0pOw0KCX07DQoNCgkvLyBQcml2YXRlIGhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IG1heC13aWR0aC9tYXgtaGVpZ2h0IHZhbHVlcyB0aGF0IG1heSBiZSBwZXJjZW50YWdlcyBpbnRvIGEgbnVtYmVyDQoJZnVuY3Rpb24gcGFyc2VNYXhTdHlsZShzdHlsZVZhbHVlLCBub2RlLCBwYXJlbnRQcm9wZXJ0eSkgew0KCQl2YXIgdmFsdWVJblBpeGVsczsNCgkJaWYgKHR5cGVvZihzdHlsZVZhbHVlKSA9PT0gJ3N0cmluZycpIHsNCgkJCXZhbHVlSW5QaXhlbHMgPSBwYXJzZUludChzdHlsZVZhbHVlLCAxMCk7DQoNCgkJCWlmIChzdHlsZVZhbHVlLmluZGV4T2YoJyUnKSAhPSAtMSkgew0KCQkJCS8vIHBlcmNlbnRhZ2UgKiBzaXplIGluIGRpbWVuc2lvbg0KCQkJCXZhbHVlSW5QaXhlbHMgPSB2YWx1ZUluUGl4ZWxzIC8gMTAwICogbm9kZS5wYXJlbnROb2RlW3BhcmVudFByb3BlcnR5XTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCXZhbHVlSW5QaXhlbHMgPSBzdHlsZVZhbHVlOw0KCQl9DQoNCgkJcmV0dXJuIHZhbHVlSW5QaXhlbHM7DQoJfQ0KDQoJLyoqDQoJICogUmV0dXJucyBpZiB0aGUgZ2l2ZW4gdmFsdWUgY29udGFpbnMgYW4gZWZmZWN0aXZlIGNvbnN0cmFpbnQuDQoJICogQHByaXZhdGUNCgkgKi8NCglmdW5jdGlvbiBpc0NvbnN0cmFpbmVkVmFsdWUodmFsdWUpIHsNCgkJcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnbm9uZSc7DQoJfQ0KDQoJLy8gUHJpdmF0ZSBoZWxwZXIgdG8gZ2V0IGEgY29uc3RyYWludCBkaW1lbnNpb24NCgkvLyBAcGFyYW0gZG9tTm9kZSA6IHRoZSBub2RlIHRvIGNoZWNrIHRoZSBjb25zdHJhaW50IG9uDQoJLy8gQHBhcmFtIG1heFN0eWxlIDogdGhlIHN0eWxlIHRoYXQgZGVmaW5lcyB0aGUgbWF4aW11bSBmb3IgdGhlIGRpcmVjdGlvbiB3ZSBhcmUgdXNpbmcgKG1heFdpZHRoIC8gbWF4SGVpZ2h0KQ0KCS8vIEBwYXJhbSBwZXJjZW50YWdlUHJvcGVydHkgOiBwcm9wZXJ0eSBvZiBwYXJlbnQgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgd2lkdGggYXMgYSBwZXJjZW50YWdlDQoJLy8gQHNlZSBodHRwOi8vd3d3Lm5hdGhhbmFlbGpvbmVzLmNvbS9ibG9nLzIwMTMvcmVhZGluZy1tYXgtd2lkdGgtY3Jvc3MtYnJvd3Nlcg0KCWZ1bmN0aW9uIGdldENvbnN0cmFpbnREaW1lbnNpb24oZG9tTm9kZSwgbWF4U3R5bGUsIHBlcmNlbnRhZ2VQcm9wZXJ0eSkgew0KCQl2YXIgdmlldyA9IGRvY3VtZW50LmRlZmF1bHRWaWV3Ow0KCQl2YXIgcGFyZW50Tm9kZSA9IGRvbU5vZGUucGFyZW50Tm9kZTsNCgkJdmFyIGNvbnN0cmFpbmVkTm9kZSA9IHZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkb21Ob2RlKVttYXhTdHlsZV07DQoJCXZhciBjb25zdHJhaW5lZENvbnRhaW5lciA9IHZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnROb2RlKVttYXhTdHlsZV07DQoJCXZhciBoYXNDTm9kZSA9IGlzQ29uc3RyYWluZWRWYWx1ZShjb25zdHJhaW5lZE5vZGUpOw0KCQl2YXIgaGFzQ0NvbnRhaW5lciA9IGlzQ29uc3RyYWluZWRWYWx1ZShjb25zdHJhaW5lZENvbnRhaW5lcik7DQoJCXZhciBpbmZpbml0eSA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsNCg0KCQlpZiAoaGFzQ05vZGUgfHwgaGFzQ0NvbnRhaW5lcikgew0KCQkJcmV0dXJuIE1hdGgubWluKA0KCQkJCWhhc0NOb2RlPyBwYXJzZU1heFN0eWxlKGNvbnN0cmFpbmVkTm9kZSwgZG9tTm9kZSwgcGVyY2VudGFnZVByb3BlcnR5KSA6IGluZmluaXR5LA0KCQkJCWhhc0NDb250YWluZXI/IHBhcnNlTWF4U3R5bGUoY29uc3RyYWluZWRDb250YWluZXIsIHBhcmVudE5vZGUsIHBlcmNlbnRhZ2VQcm9wZXJ0eSkgOiBpbmZpbml0eSk7DQoJCX0NCg0KCQlyZXR1cm4gJ25vbmUnOw0KCX0NCgkvLyByZXR1cm5zIE51bWJlciBvciB1bmRlZmluZWQgaWYgbm8gY29uc3RyYWludA0KCWhlbHBlcnMuZ2V0Q29uc3RyYWludFdpZHRoID0gZnVuY3Rpb24oZG9tTm9kZSkgew0KCQlyZXR1cm4gZ2V0Q29uc3RyYWludERpbWVuc2lvbihkb21Ob2RlLCAnbWF4LXdpZHRoJywgJ2NsaWVudFdpZHRoJyk7DQoJfTsNCgkvLyByZXR1cm5zIE51bWJlciBvciB1bmRlZmluZWQgaWYgbm8gY29uc3RyYWludA0KCWhlbHBlcnMuZ2V0Q29uc3RyYWludEhlaWdodCA9IGZ1bmN0aW9uKGRvbU5vZGUpIHsNCgkJcmV0dXJuIGdldENvbnN0cmFpbnREaW1lbnNpb24oZG9tTm9kZSwgJ21heC1oZWlnaHQnLCAnY2xpZW50SGVpZ2h0Jyk7DQoJfTsNCgloZWxwZXJzLmdldE1heGltdW1XaWR0aCA9IGZ1bmN0aW9uKGRvbU5vZGUpIHsNCgkJdmFyIGNvbnRhaW5lciA9IGRvbU5vZGUucGFyZW50Tm9kZTsNCgkJdmFyIHBhZGRpbmcgPSBwYXJzZUludChoZWxwZXJzLmdldFN0eWxlKGNvbnRhaW5lciwgJ3BhZGRpbmctbGVmdCcpKSArIHBhcnNlSW50KGhlbHBlcnMuZ2V0U3R5bGUoY29udGFpbmVyLCAncGFkZGluZy1yaWdodCcpKTsNCgkJdmFyIHcgPSBjb250YWluZXIuY2xpZW50V2lkdGggLSBwYWRkaW5nOw0KCQl2YXIgY3cgPSBoZWxwZXJzLmdldENvbnN0cmFpbnRXaWR0aChkb21Ob2RlKTsNCgkJcmV0dXJuIGlzTmFOKGN3KT8gdyA6IE1hdGgubWluKHcsIGN3KTsNCgl9Ow0KCWhlbHBlcnMuZ2V0TWF4aW11bUhlaWdodCA9IGZ1bmN0aW9uKGRvbU5vZGUpIHsNCgkJdmFyIGNvbnRhaW5lciA9IGRvbU5vZGUucGFyZW50Tm9kZTsNCgkJdmFyIHBhZGRpbmcgPSBwYXJzZUludChoZWxwZXJzLmdldFN0eWxlKGNvbnRhaW5lciwgJ3BhZGRpbmctdG9wJykpICsgcGFyc2VJbnQoaGVscGVycy5nZXRTdHlsZShjb250YWluZXIsICdwYWRkaW5nLWJvdHRvbScpKTsNCgkJdmFyIGggPSBjb250YWluZXIuY2xpZW50SGVpZ2h0IC0gcGFkZGluZzsNCgkJdmFyIGNoID0gaGVscGVycy5nZXRDb25zdHJhaW50SGVpZ2h0KGRvbU5vZGUpOw0KCQlyZXR1cm4gaXNOYU4oY2gpPyBoIDogTWF0aC5taW4oaCwgY2gpOw0KCX07DQoJaGVscGVycy5nZXRTdHlsZSA9IGZ1bmN0aW9uKGVsLCBwcm9wZXJ0eSkgew0KCQlyZXR1cm4gZWwuY3VycmVudFN0eWxlID8NCgkJCWVsLmN1cnJlbnRTdHlsZVtwcm9wZXJ0eV0gOg0KCQkJZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7DQoJfTsNCgloZWxwZXJzLnJldGluYVNjYWxlID0gZnVuY3Rpb24oY2hhcnQpIHsNCgkJdmFyIGN0eCA9IGNoYXJ0LmN0eDsNCgkJdmFyIGNhbnZhcyA9IGNoYXJ0LmNhbnZhczsNCgkJdmFyIHdpZHRoID0gY2FudmFzLndpZHRoOw0KCQl2YXIgaGVpZ2h0ID0gY2FudmFzLmhlaWdodDsNCgkJdmFyIHBpeGVsUmF0aW8gPSBjaGFydC5jdXJyZW50RGV2aWNlUGl4ZWxSYXRpbyA9IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvIHx8IDE7DQoNCgkJaWYgKHBpeGVsUmF0aW8gIT09IDEpIHsNCgkJCWNhbnZhcy5oZWlnaHQgPSBoZWlnaHQgKiBwaXhlbFJhdGlvOw0KCQkJY2FudmFzLndpZHRoID0gd2lkdGggKiBwaXhlbFJhdGlvOw0KCQkJY3R4LnNjYWxlKHBpeGVsUmF0aW8sIHBpeGVsUmF0aW8pOw0KDQoJCQkvLyBTdG9yZSB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvIHNvIHRoYXQgd2UgY2FuIGdvIGJhY2t3YXJkcyBpbiBgZGVzdHJveWAuDQoJCQkvLyBUaGUgZGV2aWNlUGl4ZWxSYXRpbyBjaGFuZ2VzIHdpdGggem9vbSwgc28gdGhlcmUgYXJlIG5vIGd1YXJhbnRlZXMgdGhhdCBpdCBpcyB0aGUgc2FtZQ0KCQkJLy8gd2hlbiBkZXN0cm95IGlzIGNhbGxlZA0KCQkJY2hhcnQub3JpZ2luYWxEZXZpY2VQaXhlbFJhdGlvID0gY2hhcnQub3JpZ2luYWxEZXZpY2VQaXhlbFJhdGlvIHx8IHBpeGVsUmF0aW87DQoJCX0NCg0KCQljYW52YXMuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7DQoJCWNhbnZhcy5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAncHgnOw0KCX07DQoJLy8tLSBDYW52YXMgbWV0aG9kcw0KCWhlbHBlcnMuY2xlYXIgPSBmdW5jdGlvbihjaGFydCkgew0KCQljaGFydC5jdHguY2xlYXJSZWN0KDAsIDAsIGNoYXJ0LndpZHRoLCBjaGFydC5oZWlnaHQpOw0KCX07DQoJaGVscGVycy5mb250U3RyaW5nID0gZnVuY3Rpb24ocGl4ZWxTaXplLCBmb250U3R5bGUsIGZvbnRGYW1pbHkpIHsNCgkJcmV0dXJuIGZvbnRTdHlsZSArICIgIiArIHBpeGVsU2l6ZSArICJweCAiICsgZm9udEZhbWlseTsNCgl9Ow0KCWhlbHBlcnMubG9uZ2VzdFRleHQgPSBmdW5jdGlvbihjdHgsIGZvbnQsIGFycmF5T2ZTdHJpbmdzLCBjYWNoZSkgew0KCQljYWNoZSA9IGNhY2hlIHx8IHt9Ow0KCQl2YXIgZGF0YSA9IGNhY2hlLmRhdGEgPSBjYWNoZS5kYXRhIHx8IHt9Ow0KCQl2YXIgZ2MgPSBjYWNoZS5nYXJiYWdlQ29sbGVjdCA9IGNhY2hlLmdhcmJhZ2VDb2xsZWN0IHx8IFtdOw0KDQoJCWlmIChjYWNoZS5mb250ICE9PSBmb250KSB7DQoJCQlkYXRhID0gY2FjaGUuZGF0YSA9IHt9Ow0KCQkJZ2MgPSBjYWNoZS5nYXJiYWdlQ29sbGVjdCA9IFtdOw0KCQkJY2FjaGUuZm9udCA9IGZvbnQ7DQoJCX0NCg0KCQljdHguZm9udCA9IGZvbnQ7DQoJCXZhciBsb25nZXN0ID0gMDsNCgkJaGVscGVycy5lYWNoKGFycmF5T2ZTdHJpbmdzLCBmdW5jdGlvbihzdHJpbmcpIHsNCgkJCS8vIFVuZGVmaW5lZCBzdHJpbmdzIHNob3VsZCBub3QgYmUgbWVhc3VyZWQNCgkJCWlmIChzdHJpbmcgIT09IHVuZGVmaW5lZCAmJiBzdHJpbmcgIT09IG51bGwpIHsNCgkJCQl2YXIgdGV4dFdpZHRoID0gZGF0YVtzdHJpbmddOw0KCQkJCWlmICghdGV4dFdpZHRoKSB7DQoJCQkJCXRleHRXaWR0aCA9IGRhdGFbc3RyaW5nXSA9IGN0eC5tZWFzdXJlVGV4dChzdHJpbmcpLndpZHRoOw0KCQkJCQlnYy5wdXNoKHN0cmluZyk7DQoJCQkJfQ0KDQoJCQkJaWYgKHRleHRXaWR0aCA+IGxvbmdlc3QpIHsNCgkJCQkJbG9uZ2VzdCA9IHRleHRXaWR0aDsNCgkJCQl9DQoJCQl9DQoJCX0pOw0KDQoJCXZhciBnY0xlbiA9IGdjLmxlbmd0aCAvIDI7DQoJCWlmIChnY0xlbiA+IGFycmF5T2ZTdHJpbmdzLmxlbmd0aCkgew0KCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBnY0xlbjsgaSsrKSB7DQoJCQkJZGVsZXRlIGRhdGFbZ2NbaV1dOw0KCQkJfQ0KCQkJZ2Muc3BsaWNlKDAsIGdjTGVuKTsNCgkJfQ0KDQoJCXJldHVybiBsb25nZXN0Ow0KCX07DQoJaGVscGVycy5kcmF3Um91bmRlZFJlY3RhbmdsZSA9IGZ1bmN0aW9uKGN0eCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgcmFkaXVzKSB7DQoJCWN0eC5iZWdpblBhdGgoKTsNCgkJY3R4Lm1vdmVUbyh4ICsgcmFkaXVzLCB5KTsNCgkJY3R4LmxpbmVUbyh4ICsgd2lkdGggLSByYWRpdXMsIHkpOw0KCQljdHgucXVhZHJhdGljQ3VydmVUbyh4ICsgd2lkdGgsIHksIHggKyB3aWR0aCwgeSArIHJhZGl1cyk7DQoJCWN0eC5saW5lVG8oeCArIHdpZHRoLCB5ICsgaGVpZ2h0IC0gcmFkaXVzKTsNCgkJY3R4LnF1YWRyYXRpY0N1cnZlVG8oeCArIHdpZHRoLCB5ICsgaGVpZ2h0LCB4ICsgd2lkdGggLSByYWRpdXMsIHkgKyBoZWlnaHQpOw0KCQljdHgubGluZVRvKHggKyByYWRpdXMsIHkgKyBoZWlnaHQpOw0KCQljdHgucXVhZHJhdGljQ3VydmVUbyh4LCB5ICsgaGVpZ2h0LCB4LCB5ICsgaGVpZ2h0IC0gcmFkaXVzKTsNCgkJY3R4LmxpbmVUbyh4LCB5ICsgcmFkaXVzKTsNCgkJY3R4LnF1YWRyYXRpY0N1cnZlVG8oeCwgeSwgeCArIHJhZGl1cywgeSk7DQoJCWN0eC5jbG9zZVBhdGgoKTsNCgl9Ow0KCWhlbHBlcnMuY29sb3IgPSBmdW5jdGlvbihjKSB7DQoJCWlmICghY29sb3IpIHsNCgkJCWNvbnNvbGUubG9nKCdDb2xvci5qcyBub3QgZm91bmQhJyk7DQoJCQlyZXR1cm4gYzsNCgkJfQ0KDQoJCS8qIGdsb2JhbCBDYW52YXNHcmFkaWVudCAqLw0KCQlpZiAoYyBpbnN0YW5jZW9mIENhbnZhc0dyYWRpZW50KSB7DQoJCQlyZXR1cm4gY29sb3IoQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRDb2xvcik7DQoJCX0NCg0KCQlyZXR1cm4gY29sb3IoYyk7DQoJfTsNCgloZWxwZXJzLmFkZFJlc2l6ZUxpc3RlbmVyID0gZnVuY3Rpb24obm9kZSwgY2FsbGJhY2spIHsNCgkJLy8gSGlkZSBhbiBpZnJhbWUgYmVmb3JlIHRoZSBub2RlDQoJCXZhciBoaWRkZW5JZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsNCgkJdmFyIGhpZGRlbklmcmFtZUNsYXNzID0gJ2NoYXJ0anMtaGlkZGVuLWlmcmFtZSc7DQoNCgkJaWYgKGhpZGRlbklmcmFtZS5jbGFzc2xpc3QpIHsNCgkJCS8vIGNhbiB1c2UgY2xhc3NsaXN0DQoJCQloaWRkZW5JZnJhbWUuY2xhc3NsaXN0LmFkZChoaWRkZW5JZnJhbWVDbGFzcyk7DQoJCX0gZWxzZSB7DQoJCQloaWRkZW5JZnJhbWUuc2V0QXR0cmlidXRlKCdjbGFzcycsIGhpZGRlbklmcmFtZUNsYXNzKTsNCgkJfQ0KDQoJCS8vIFNldCB0aGUgc3R5bGUNCgkJdmFyIHN0eWxlID0gaGlkZGVuSWZyYW1lLnN0eWxlOw0KCQlzdHlsZS53aWR0aCA9ICcxMDAlJzsNCgkJc3R5bGUuZGlzcGxheSA9ICdibG9jayc7DQoJCXN0eWxlLmJvcmRlciA9IDA7DQoJCXN0eWxlLmhlaWdodCA9IDA7DQoJCXN0eWxlLm1hcmdpbiA9IDA7DQoJCXN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsNCgkJc3R5bGUubGVmdCA9IDA7DQoJCXN0eWxlLnJpZ2h0ID0gMDsNCgkJc3R5bGUudG9wID0gMDsNCgkJc3R5bGUuYm90dG9tID0gMDsNCg0KCQkvLyBJbnNlcnQgdGhlIGlmcmFtZSBzbyB0aGF0IGNvbnRlbnRXaW5kb3cgaXMgYXZhaWxhYmxlDQoJCW5vZGUuaW5zZXJ0QmVmb3JlKGhpZGRlbklmcmFtZSwgbm9kZS5maXJzdENoaWxkKTsNCg0KCQkoaGlkZGVuSWZyYW1lLmNvbnRlbnRXaW5kb3cgfHwgaGlkZGVuSWZyYW1lKS5vbnJlc2l6ZSA9IGZ1bmN0aW9uKCkgew0KCQkJaWYgKGNhbGxiYWNrKSB7DQoJCQkJY2FsbGJhY2soKTsNCgkJCX0NCgkJfTsNCgl9Ow0KCWhlbHBlcnMucmVtb3ZlUmVzaXplTGlzdGVuZXIgPSBmdW5jdGlvbihub2RlKSB7DQoJCXZhciBoaWRkZW5JZnJhbWUgPSBub2RlLnF1ZXJ5U2VsZWN0b3IoJy5jaGFydGpzLWhpZGRlbi1pZnJhbWUnKTsNCg0KCQkvLyBSZW1vdmUgdGhlIHJlc2l6ZSBkZXRlY3QgaWZyYW1lDQoJCWlmIChoaWRkZW5JZnJhbWUpIHsNCgkJCWhpZGRlbklmcmFtZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGhpZGRlbklmcmFtZSk7DQoJCX0NCgl9Ow0KCWhlbHBlcnMuaXNBcnJheSA9IGZ1bmN0aW9uKG9iaikgew0KCQlpZiAoIUFycmF5LmlzQXJyYXkpIHsNCgkJCXJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSA9PT0gJ1tvYmplY3QgQXJyYXldJzsNCgkJfQ0KCQlyZXR1cm4gQXJyYXkuaXNBcnJheShvYmopOw0KCX07DQoJLy8hIEBzZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTQ4NTM5NzQNCgloZWxwZXJzLmFycmF5RXF1YWxzID0gZnVuY3Rpb24oYTAsIGExKSB7DQoJCXZhciBpLCBpbGVuLCB2MCwgdjE7DQoNCgkJaWYgKCFhMCB8fCAhYTEgfHwgYTAubGVuZ3RoICE9IGExLmxlbmd0aCkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJZm9yIChpID0gMCwgaWxlbj1hMC5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsNCgkJCXYwID0gYTBbaV07DQoJCQl2MSA9IGExW2ldOw0KDQoJCQlpZiAodjAgaW5zdGFuY2VvZiBBcnJheSAmJiB2MSBpbnN0YW5jZW9mIEFycmF5KSB7DQoJCQkJaWYgKCFoZWxwZXJzLmFycmF5RXF1YWxzKHYwLCB2MSkpIHsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0gZWxzZSBpZiAodjAgIT0gdjEpIHsNCgkJCQkvLyBOT1RFOiB0d28gZGlmZmVyZW50IG9iamVjdCBpbnN0YW5jZXMgd2lsbCBuZXZlciBiZSBlcXVhbDoge3g6MjB9ICE9IHt4OjIwfQ0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0cnVlOw0KCX07DQoJaGVscGVycy5wdXNoQWxsSWZEZWZpbmVkID0gZnVuY3Rpb24oZWxlbWVudCwgYXJyYXkpIHsNCgkJaWYgKHR5cGVvZiBlbGVtZW50ID09PSAidW5kZWZpbmVkIikgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKGhlbHBlcnMuaXNBcnJheShlbGVtZW50KSkgew0KCQkJYXJyYXkucHVzaC5hcHBseShhcnJheSwgZWxlbWVudCk7DQoJCX0gZWxzZSB7DQoJCQlhcnJheS5wdXNoKGVsZW1lbnQpOw0KCQl9DQoJfTsNCgloZWxwZXJzLmNhbGxDYWxsYmFjayA9IGZ1bmN0aW9uKGZuLCBhcmdzLCBfdEFyZykgew0KCQlpZiAoZm4gJiYgdHlwZW9mIGZuLmNhbGwgPT09ICdmdW5jdGlvbicpIHsNCgkJCWZuLmFwcGx5KF90QXJnLCBhcmdzKTsNCgkJfQ0KCX07DQoJaGVscGVycy5nZXRIb3ZlckNvbG9yID0gZnVuY3Rpb24oY29sb3IpIHsNCgkJLyogZ2xvYmFsIENhbnZhc1BhdHRlcm4gKi8NCgkJcmV0dXJuIChjb2xvciBpbnN0YW5jZW9mIENhbnZhc1BhdHRlcm4pID8NCgkJCWNvbG9yIDoNCgkJCWhlbHBlcnMuY29sb3IoY29sb3IpLnNhdHVyYXRlKDAuNSkuZGFya2VuKDAuMSkucmdiU3RyaW5nKCk7DQoJfTsNCn07DQoKfSx7ImNoYXJ0anMtY29sb3IiOjN9XSwyNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHsNCg0KCS8vT2NjdXB5IHRoZSBnbG9iYWwgdmFyaWFibGUgb2YgQ2hhcnQsIGFuZCBjcmVhdGUgYSBzaW1wbGUgYmFzZSBjbGFzcw0KCXZhciBDaGFydCA9IGZ1bmN0aW9uKGNvbnRleHQsIGNvbmZpZykgew0KCQl0aGlzLmNvbmZpZyA9IGNvbmZpZzsNCg0KCQkvLyBTdXBwb3J0IGEgalF1ZXJ5J2QgY2FudmFzIGVsZW1lbnQNCgkJaWYgKGNvbnRleHQubGVuZ3RoICYmIGNvbnRleHRbMF0uZ2V0Q29udGV4dCkgew0KCQkJY29udGV4dCA9IGNvbnRleHRbMF07DQoJCX0NCg0KCQkvLyBTdXBwb3J0IGEgY2FudmFzIGRvbW5vZGUNCgkJaWYgKGNvbnRleHQuZ2V0Q29udGV4dCkgew0KCQkJY29udGV4dCA9IGNvbnRleHQuZ2V0Q29udGV4dCgiMmQiKTsNCgkJfQ0KDQoJCXRoaXMuY3R4ID0gY29udGV4dDsNCgkJdGhpcy5jYW52YXMgPSBjb250ZXh0LmNhbnZhczsNCg0KCQkvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIHNpemUgb2YgdGhlIGNoYXJ0IHdpbGwgYmUuDQoJCS8vIElmIHRoZSBjYW52YXMgaGFzIGEgc3BlY2lmaWVkIHdpZHRoIGFuZCBoZWlnaHQsIHdlIHVzZSB0aG9zZSBlbHNlDQoJCS8vIHdlIGxvb2sgdG8gc2VlIGlmIHRoZSBjYW52YXMgbm9kZSBoYXMgYSBDU1Mgd2lkdGggYW5kIGhlaWdodC4NCgkJLy8gSWYgdGhlcmUgaXMgc3RpbGwgbm8gaGVpZ2h0LCBmaWxsIHRoZSBwYXJlbnQgY29udGFpbmVyDQoJCXRoaXMud2lkdGggPSBjb250ZXh0LmNhbnZhcy53aWR0aCB8fCBwYXJzZUludChDaGFydC5oZWxwZXJzLmdldFN0eWxlKGNvbnRleHQuY2FudmFzLCAnd2lkdGgnKSkgfHwgQ2hhcnQuaGVscGVycy5nZXRNYXhpbXVtV2lkdGgoY29udGV4dC5jYW52YXMpOw0KCQl0aGlzLmhlaWdodCA9IGNvbnRleHQuY2FudmFzLmhlaWdodCB8fCBwYXJzZUludChDaGFydC5oZWxwZXJzLmdldFN0eWxlKGNvbnRleHQuY2FudmFzLCAnaGVpZ2h0JykpIHx8IENoYXJ0LmhlbHBlcnMuZ2V0TWF4aW11bUhlaWdodChjb250ZXh0LmNhbnZhcyk7DQoNCgkJdGhpcy5hc3BlY3RSYXRpbyA9IHRoaXMud2lkdGggLyB0aGlzLmhlaWdodDsNCg0KCQlpZiAoaXNOYU4odGhpcy5hc3BlY3RSYXRpbykgfHwgaXNGaW5pdGUodGhpcy5hc3BlY3RSYXRpbykgPT09IGZhbHNlKSB7DQoJCQkvLyBJZiB0aGUgY2FudmFzIGhhcyBubyBzaXplLCB0cnkgYW5kIGZpZ3VyZSBvdXQgd2hhdCB0aGUgYXNwZWN0IHJhdGlvIHdpbGwgYmUuDQoJCQkvLyBTb21lIGNoYXJ0cyBwcmVmZXIgc3F1YXJlIGNhbnZhc2VzIChwaWUsIHJhZGFyLCBldGMpLiBJZiB0aGF0IGlzIHNwZWNpZmllZCwgdXNlIHRoYXQNCgkJCS8vIGVsc2UgdXNlIHRoZSBjYW52YXMgZGVmYXVsdCByYXRpbyBvZiAyDQoJCQl0aGlzLmFzcGVjdFJhdGlvID0gY29uZmlnLmFzcGVjdFJhdGlvICE9PSB1bmRlZmluZWQgPyBjb25maWcuYXNwZWN0UmF0aW8gOiAyOw0KCQl9DQoNCgkJLy8gU3RvcmUgdGhlIG9yaWdpbmFsIHN0eWxlIG9mIHRoZSBlbGVtZW50IHNvIHdlIGNhbiBzZXQgaXQgYmFjaw0KCQl0aGlzLm9yaWdpbmFsQ2FudmFzU3R5bGVXaWR0aCA9IGNvbnRleHQuY2FudmFzLnN0eWxlLndpZHRoOw0KCQl0aGlzLm9yaWdpbmFsQ2FudmFzU3R5bGVIZWlnaHQgPSBjb250ZXh0LmNhbnZhcy5zdHlsZS5oZWlnaHQ7DQoNCgkJLy8gSGlnaCBwaXhlbCBkZW5zaXR5IGRpc3BsYXlzIC0gbXVsdGlwbHkgdGhlIHNpemUgb2YgdGhlIGNhbnZhcyBoZWlnaHQvd2lkdGggYnkgdGhlIGRldmljZSBwaXhlbCByYXRpbywgdGhlbiBzY2FsZS4NCgkJQ2hhcnQuaGVscGVycy5yZXRpbmFTY2FsZSh0aGlzKTsNCg0KCQlpZiAoY29uZmlnKSB7DQoJCQl0aGlzLmNvbnRyb2xsZXIgPSBuZXcgQ2hhcnQuQ29udHJvbGxlcih0aGlzKTsNCgkJfQ0KDQoJCS8vIEFsd2F5cyBiaW5kIHRoaXMgc28gdGhhdCBpZiB0aGUgcmVzcG9uc2l2ZSBzdGF0ZSBjaGFuZ2VzIHdlIHN0aWxsIHdvcmsNCgkJdmFyIF90aGlzID0gdGhpczsNCgkJQ2hhcnQuaGVscGVycy5hZGRSZXNpemVMaXN0ZW5lcihjb250ZXh0LmNhbnZhcy5wYXJlbnROb2RlLCBmdW5jdGlvbigpIHsNCgkJCWlmIChfdGhpcy5jb250cm9sbGVyICYmIF90aGlzLmNvbnRyb2xsZXIuY29uZmlnLm9wdGlvbnMucmVzcG9uc2l2ZSkgew0KCQkJCV90aGlzLmNvbnRyb2xsZXIucmVzaXplKCk7DQoJCQl9DQoJCX0pOw0KDQoJCXJldHVybiB0aGlzLmNvbnRyb2xsZXIgPyB0aGlzLmNvbnRyb2xsZXIgOiB0aGlzOw0KDQoJfTsNCg0KCS8vR2xvYmFsbHkgZXhwb3NlIHRoZSBkZWZhdWx0cyB0byBhbGxvdyBmb3IgdXNlciB1cGRhdGluZy9jaGFuZ2luZw0KCUNoYXJ0LmRlZmF1bHRzID0gew0KCQlnbG9iYWw6IHsNCgkJCXJlc3BvbnNpdmU6IHRydWUsDQoJCQlyZXNwb25zaXZlQW5pbWF0aW9uRHVyYXRpb246IDAsDQoJCQltYWludGFpbkFzcGVjdFJhdGlvOiB0cnVlLA0KCQkJZXZlbnRzOiBbIm1vdXNlbW92ZSIsICJtb3VzZW91dCIsICJjbGljayIsICJ0b3VjaHN0YXJ0IiwgInRvdWNobW92ZSJdLA0KCQkJaG92ZXI6IHsNCgkJCQlvbkhvdmVyOiBudWxsLA0KCQkJCW1vZGU6ICdzaW5nbGUnLA0KCQkJCWFuaW1hdGlvbkR1cmF0aW9uOiA0MDANCgkJCX0sDQoJCQlvbkNsaWNrOiBudWxsLA0KCQkJZGVmYXVsdENvbG9yOiAncmdiYSgwLDAsMCwwLjEpJywNCgkJCWRlZmF1bHRGb250Q29sb3I6ICcjNjY2JywNCgkJCWRlZmF1bHRGb250RmFtaWx5OiAiJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYiLA0KCQkJZGVmYXVsdEZvbnRTaXplOiAxMiwNCgkJCWRlZmF1bHRGb250U3R5bGU6ICdub3JtYWwnLA0KCQkJc2hvd0xpbmVzOiB0cnVlLA0KDQoJCQkvLyBFbGVtZW50IGRlZmF1bHRzIGRlZmluZWQgaW4gZWxlbWVudCBleHRlbnNpb25zDQoJCQllbGVtZW50czoge30sDQoNCgkJCS8vIExlZ2VuZCBjYWxsYmFjayBzdHJpbmcNCgkJCWxlZ2VuZENhbGxiYWNrOiBmdW5jdGlvbihjaGFydCkgew0KCQkJCXZhciB0ZXh0ID0gW107DQoJCQkJdGV4dC5wdXNoKCc8dWwgY2xhc3M9IicgKyBjaGFydC5pZCArICctbGVnZW5kIj4nKTsNCgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJ0LmRhdGEuZGF0YXNldHMubGVuZ3RoOyBpKyspIHsNCgkJCQkJdGV4dC5wdXNoKCc8bGk+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6JyArIGNoYXJ0LmRhdGEuZGF0YXNldHNbaV0uYmFja2dyb3VuZENvbG9yICsgJyI+PC9zcGFuPicpOw0KCQkJCQlpZiAoY2hhcnQuZGF0YS5kYXRhc2V0c1tpXS5sYWJlbCkgew0KCQkJCQkJdGV4dC5wdXNoKGNoYXJ0LmRhdGEuZGF0YXNldHNbaV0ubGFiZWwpOw0KCQkJCQl9DQoJCQkJCXRleHQucHVzaCgnPC9saT4nKTsNCgkJCQl9DQoJCQkJdGV4dC5wdXNoKCc8L3VsPicpOw0KDQoJCQkJcmV0dXJuIHRleHQuam9pbigiIik7DQoJCQl9DQoJCX0NCgl9Ow0KDQoJcmV0dXJuIENoYXJ0Ow0KDQp9Ow0KCn0se31dLDI3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCgl2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnM7DQoNCgkvLyBUaGUgbGF5b3V0IHNlcnZpY2UgaXMgdmVyeSBzZWxmIGV4cGxhbmF0b3J5LiAgSXQncyByZXNwb25zaWJsZSBmb3IgdGhlIGxheW91dCB3aXRoaW4gYSBjaGFydC4NCgkvLyBTY2FsZXMsIExlZ2VuZHMgYW5kIFBsdWdpbnMgYWxsIHJlbHkgb24gdGhlIGxheW91dCBzZXJ2aWNlIGFuZCBjYW4gZWFzaWx5IHJlZ2lzdGVyIHRvIGJlIHBsYWNlZCBhbnl3aGVyZSB0aGV5IG5lZWQNCgkvLyBJdCBpcyB0aGlzIHNlcnZpY2UncyByZXNwb25zaWJpbGl0eSBvZiBjYXJyeWluZyBvdXQgdGhhdCBsYXlvdXQuDQoJQ2hhcnQubGF5b3V0U2VydmljZSA9IHsNCgkJZGVmYXVsdHM6IHt9LA0KDQoJCS8vIFJlZ2lzdGVyIGEgYm94IHRvIGEgY2hhcnRJbnN0YW5jZS4gQSBib3ggaXMgc2ltcGx5IGEgcmVmZXJlbmNlIHRvIGFuIG9iamVjdCB0aGF0IHJlcXVpcmVzIGxheW91dC4gZWcuIFNjYWxlcywgTGVnZW5kLCBQbHVnaW5zLg0KCQlhZGRCb3g6IGZ1bmN0aW9uKGNoYXJ0SW5zdGFuY2UsIGJveCkgew0KCQkJaWYgKCFjaGFydEluc3RhbmNlLmJveGVzKSB7DQoJCQkJY2hhcnRJbnN0YW5jZS5ib3hlcyA9IFtdOw0KCQkJfQ0KCQkJY2hhcnRJbnN0YW5jZS5ib3hlcy5wdXNoKGJveCk7DQoJCX0sDQoNCgkJcmVtb3ZlQm94OiBmdW5jdGlvbihjaGFydEluc3RhbmNlLCBib3gpIHsNCgkJCWlmICghY2hhcnRJbnN0YW5jZS5ib3hlcykgew0KCQkJCXJldHVybjsNCgkJCX0NCgkJCWNoYXJ0SW5zdGFuY2UuYm94ZXMuc3BsaWNlKGNoYXJ0SW5zdGFuY2UuYm94ZXMuaW5kZXhPZihib3gpLCAxKTsNCgkJfSwNCg0KCQkvLyBUaGUgbW9zdCBpbXBvcnRhbnQgZnVuY3Rpb24NCgkJdXBkYXRlOiBmdW5jdGlvbihjaGFydEluc3RhbmNlLCB3aWR0aCwgaGVpZ2h0KSB7DQoNCgkJCWlmICghY2hhcnRJbnN0YW5jZSkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdmFyIHhQYWRkaW5nID0gMDsNCgkJCXZhciB5UGFkZGluZyA9IDA7DQoNCgkJCXZhciBsZWZ0Qm94ZXMgPSBoZWxwZXJzLndoZXJlKGNoYXJ0SW5zdGFuY2UuYm94ZXMsIGZ1bmN0aW9uKGJveCkgew0KCQkJCXJldHVybiBib3gub3B0aW9ucy5wb3NpdGlvbiA9PT0gImxlZnQiOw0KCQkJfSk7DQoJCQl2YXIgcmlnaHRCb3hlcyA9IGhlbHBlcnMud2hlcmUoY2hhcnRJbnN0YW5jZS5ib3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJcmV0dXJuIGJveC5vcHRpb25zLnBvc2l0aW9uID09PSAicmlnaHQiOw0KCQkJfSk7DQoJCQl2YXIgdG9wQm94ZXMgPSBoZWxwZXJzLndoZXJlKGNoYXJ0SW5zdGFuY2UuYm94ZXMsIGZ1bmN0aW9uKGJveCkgew0KCQkJCXJldHVybiBib3gub3B0aW9ucy5wb3NpdGlvbiA9PT0gInRvcCI7DQoJCQl9KTsNCgkJCXZhciBib3R0b21Cb3hlcyA9IGhlbHBlcnMud2hlcmUoY2hhcnRJbnN0YW5jZS5ib3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJcmV0dXJuIGJveC5vcHRpb25zLnBvc2l0aW9uID09PSAiYm90dG9tIjsNCgkJCX0pOw0KDQoJCQkvLyBCb3hlcyB0aGF0IG92ZXJsYXkgdGhlIGNoYXJ0YXJlYSBzdWNoIGFzIHRoZSByYWRpYWxMaW5lYXIgc2NhbGUNCgkJCXZhciBjaGFydEFyZWFCb3hlcyA9IGhlbHBlcnMud2hlcmUoY2hhcnRJbnN0YW5jZS5ib3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJcmV0dXJuIGJveC5vcHRpb25zLnBvc2l0aW9uID09PSAiY2hhcnRBcmVhIjsNCgkJCX0pOw0KDQoJCQkvLyBFbnN1cmUgdGhhdCBmdWxsIHdpZHRoIGJveGVzIGFyZSBhdCB0aGUgdmVyeSB0b3AgLyBib3R0b20NCgkJCXRvcEJveGVzLnNvcnQoZnVuY3Rpb24oYSwgYikgew0KCQkJCXJldHVybiAoYi5vcHRpb25zLmZ1bGxXaWR0aCA/IDEgOiAwKSAtIChhLm9wdGlvbnMuZnVsbFdpZHRoID8gMSA6IDApOw0KCQkJfSk7DQoJCQlib3R0b21Cb3hlcy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsNCgkJCQlyZXR1cm4gKGEub3B0aW9ucy5mdWxsV2lkdGggPyAxIDogMCkgLSAoYi5vcHRpb25zLmZ1bGxXaWR0aCA/IDEgOiAwKTsNCgkJCX0pOw0KDQoJCQkvLyBFc3NlbnRpYWxseSB3ZSBub3cgaGF2ZSBhbnkgbnVtYmVyIG9mIGJveGVzIG9uIGVhY2ggb2YgdGhlIDQgc2lkZXMuDQoJCQkvLyBPdXIgY2FudmFzIGxvb2tzIGxpa2UgdGhlIGZvbGxvd2luZy4NCgkJCS8vIFRoZSBhcmVhcyBMMSBhbmQgTDIgYXJlIHRoZSBsZWZ0IGF4ZXMuIFIxIGlzIHRoZSByaWdodCBheGlzLCBUMSBpcyB0aGUgdG9wIGF4aXMgYW5kDQoJCQkvLyBCMSBpcyB0aGUgYm90dG9tIGF4aXMNCgkJCS8vIFRoZXJlIGFyZSBhbHNvIDQgcXVhZHJhbnQtbGlrZSBsb2NhdGlvbnMgKGxlZnQgdG8gcmlnaHQgaW5zdGVhZCBvZiBjbG9ja3dpc2UpIHJlc2VydmVkIGZvciBjaGFydCBvdmVybGF5cw0KCQkJLy8gVGhlc2UgbG9jYXRpb25zIGFyZSBzaW5nbGUtYm94IGxvY2F0aW9ucyBvbmx5LCB3aGVuIHRyeWluZyB0byByZWdpc3RlciBhIGNoYXJ0QXJlYSBsb2NhdGlvbiB0aGF0IGlzIGFscmVhZHkgdGFrZW4sDQoJCQkvLyBhbiBlcnJvciB3aWxsIGJlIHRocm93bi4NCgkJCS8vDQoJCQkvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCgkJCS8vIHwgICAgICAgICAgICAgICAgICBUMSAoRnVsbCBXaWR0aCkgICAgICAgICAgICAgICAgICAgfA0KCQkJLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQoJCQkvLyB8ICAgIHwgICAgfCAgICAgICAgICAgICAgICAgVDIgICAgICAgICAgICAgICAgICB8ICAgIHwNCgkJCS8vIHwgICAgfC0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tfA0KCQkJLy8gfCAgICB8ICAgIHwgQzEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQzIgfCAgICB8DQoJCQkvLyB8ICAgIHwgICAgfC0tLS18ICAgICAgICAgICAgICAgICAgICAgICAgICAgfC0tLS18ICAgIHwNCgkJCS8vIHwgICAgfCAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgfA0KCQkJLy8gfCBMMSB8IEwyIHwgICAgICAgICAgIENoYXJ0QXJlYSAoQzApICAgICAgICAgICAgfCBSMSB8DQoJCQkvLyB8ICAgIHwgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHwNCgkJCS8vIHwgICAgfCAgICB8LS0tLXwgICAgICAgICAgICAgICAgICAgICAgICAgICB8LS0tLXwgICAgfA0KCQkJLy8gfCAgICB8ICAgIHwgQzMgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQzQgfCAgICB8DQoJCQkvLyB8ICAgIHwtLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLXwNCgkJCS8vIHwgICAgfCAgICB8ICAgICAgICAgICAgICAgICBCMSAgICAgICAgICAgICAgICAgIHwgICAgfA0KCQkJLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQoJCQkvLyB8ICAgICAgICAgICAgICAgICAgQjIgKEZ1bGwgV2lkdGgpICAgICAgICAgICAgICAgICAgIHwNCgkJCS8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfA0KCQkJLy8NCgkJCS8vIFdoYXQgd2UgZG8gdG8gZmluZCB0aGUgYmVzdCBzaXppbmcsIHdlIGRvIHRoZSBmb2xsb3dpbmcNCgkJCS8vIDEuIERldGVybWluZSB0aGUgbWluaW11bSBzaXplIG9mIHRoZSBjaGFydCBhcmVhLg0KCQkJLy8gMi4gU3BsaXQgdGhlIHJlbWFpbmluZyB3aWR0aCBlcXVhbGx5IGJldHdlZW4gZWFjaCB2ZXJ0aWNhbCBheGlzDQoJCQkvLyAzLiBTcGxpdCB0aGUgcmVtYWluaW5nIGhlaWdodCBlcXVhbGx5IGJldHdlZW4gZWFjaCBob3Jpem9udGFsIGF4aXMNCgkJCS8vIDQuIEdpdmUgZWFjaCBsYXlvdXQgdGhlIG1heGltdW0gc2l6ZSBpdCBjYW4gYmUuIFRoZSBsYXlvdXQgd2lsbCByZXR1cm4gaXQncyBtaW5pbXVtIHNpemUNCgkJCS8vIDUuIEFkanVzdCB0aGUgc2l6ZXMgb2YgZWFjaCBheGlzIGJhc2VkIG9uIGl0J3MgbWluaW11bSByZXBvcnRlZCBzaXplLg0KCQkJLy8gNi4gUmVmaXQgZWFjaCBheGlzDQoJCQkvLyA3LiBQb3NpdGlvbiBlYWNoIGF4aXMgaW4gdGhlIGZpbmFsIGxvY2F0aW9uDQoJCQkvLyA4LiBUZWxsIHRoZSBjaGFydCB0aGUgZmluYWwgbG9jYXRpb24gb2YgdGhlIGNoYXJ0IGFyZWENCgkJCS8vIDkuIFRlbGwgYW55IGF4ZXMgdGhhdCBvdmVybGF5IHRoZSBjaGFydCBhcmVhIHRoZSBwb3NpdGlvbnMgb2YgdGhlIGNoYXJ0IGFyZWENCg0KCQkJLy8gU3RlcCAxDQoJCQl2YXIgY2hhcnRXaWR0aCA9IHdpZHRoIC0gKDIgKiB4UGFkZGluZyk7DQoJCQl2YXIgY2hhcnRIZWlnaHQgPSBoZWlnaHQgLSAoMiAqIHlQYWRkaW5nKTsNCgkJCXZhciBjaGFydEFyZWFXaWR0aCA9IGNoYXJ0V2lkdGggLyAyOyAvLyBtaW4gNTAlDQoJCQl2YXIgY2hhcnRBcmVhSGVpZ2h0ID0gY2hhcnRIZWlnaHQgLyAyOyAvLyBtaW4gNTAlDQoNCgkJCS8vIFN0ZXAgMg0KCQkJdmFyIHZlcnRpY2FsQm94V2lkdGggPSAod2lkdGggLSBjaGFydEFyZWFXaWR0aCkgLyAobGVmdEJveGVzLmxlbmd0aCArIHJpZ2h0Qm94ZXMubGVuZ3RoKTsNCg0KCQkJLy8gU3RlcCAzDQoJCQl2YXIgaG9yaXpvbnRhbEJveEhlaWdodCA9IChoZWlnaHQgLSBjaGFydEFyZWFIZWlnaHQpIC8gKHRvcEJveGVzLmxlbmd0aCArIGJvdHRvbUJveGVzLmxlbmd0aCk7DQoNCgkJCS8vIFN0ZXAgNA0KCQkJdmFyIG1heENoYXJ0QXJlYVdpZHRoID0gY2hhcnRXaWR0aDsNCgkJCXZhciBtYXhDaGFydEFyZWFIZWlnaHQgPSBjaGFydEhlaWdodDsNCgkJCXZhciBtaW5Cb3hTaXplcyA9IFtdOw0KDQoJCQloZWxwZXJzLmVhY2gobGVmdEJveGVzLmNvbmNhdChyaWdodEJveGVzLCB0b3BCb3hlcywgYm90dG9tQm94ZXMpLCBnZXRNaW5pbXVtQm94U2l6ZSk7DQoNCgkJCWZ1bmN0aW9uIGdldE1pbmltdW1Cb3hTaXplKGJveCkgew0KCQkJCXZhciBtaW5TaXplOw0KCQkJCXZhciBpc0hvcml6b250YWwgPSBib3guaXNIb3Jpem9udGFsKCk7DQoNCgkJCQlpZiAoaXNIb3Jpem9udGFsKSB7DQoJCQkJCW1pblNpemUgPSBib3gudXBkYXRlKGJveC5vcHRpb25zLmZ1bGxXaWR0aCA/IGNoYXJ0V2lkdGggOiBtYXhDaGFydEFyZWFXaWR0aCwgaG9yaXpvbnRhbEJveEhlaWdodCk7DQoJCQkJCW1heENoYXJ0QXJlYUhlaWdodCAtPSBtaW5TaXplLmhlaWdodDsNCgkJCQl9IGVsc2Ugew0KCQkJCQltaW5TaXplID0gYm94LnVwZGF0ZSh2ZXJ0aWNhbEJveFdpZHRoLCBjaGFydEFyZWFIZWlnaHQpOw0KCQkJCQltYXhDaGFydEFyZWFXaWR0aCAtPSBtaW5TaXplLndpZHRoOw0KCQkJCX0NCg0KCQkJCW1pbkJveFNpemVzLnB1c2goew0KCQkJCQlob3Jpem9udGFsOiBpc0hvcml6b250YWwsDQoJCQkJCW1pblNpemU6IG1pblNpemUsDQoJCQkJCWJveDogYm94DQoJCQkJfSk7DQoJCQl9DQoNCgkJCS8vIEF0IHRoaXMgcG9pbnQsIG1heENoYXJ0QXJlYUhlaWdodCBhbmQgbWF4Q2hhcnRBcmVhV2lkdGggYXJlIHRoZSBzaXplIHRoZSBjaGFydCBhcmVhIGNvdWxkDQoJCQkvLyBiZSBpZiB0aGUgYXhlcyBhcmUgZHJhd24gYXQgdGhlaXIgbWluaW11bSBzaXplcy4NCg0KCQkJLy8gU3RlcHMgNSAmIDYNCgkJCXZhciB0b3RhbExlZnRCb3hlc1dpZHRoID0geFBhZGRpbmc7DQoJCQl2YXIgdG90YWxSaWdodEJveGVzV2lkdGggPSB4UGFkZGluZzsNCgkJCXZhciB0b3RhbFRvcEJveGVzSGVpZ2h0ID0geVBhZGRpbmc7DQoJCQl2YXIgdG90YWxCb3R0b21Cb3hlc0hlaWdodCA9IHlQYWRkaW5nOw0KDQoJCQkvLyBVcGRhdGUsIGFuZCBjYWxjdWxhdGUgdGhlIGxlZnQgYW5kIHJpZ2h0IG1hcmdpbnMgZm9yIHRoZSBob3Jpem9udGFsIGJveGVzDQoJCQloZWxwZXJzLmVhY2gobGVmdEJveGVzLmNvbmNhdChyaWdodEJveGVzKSwgZml0Qm94KTsNCg0KCQkJaGVscGVycy5lYWNoKGxlZnRCb3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJdG90YWxMZWZ0Qm94ZXNXaWR0aCArPSBib3gud2lkdGg7DQoJCQl9KTsNCg0KCQkJaGVscGVycy5lYWNoKHJpZ2h0Qm94ZXMsIGZ1bmN0aW9uKGJveCkgew0KCQkJCXRvdGFsUmlnaHRCb3hlc1dpZHRoICs9IGJveC53aWR0aDsNCgkJCX0pOw0KDQoJCQkvLyBTZXQgdGhlIExlZnQgYW5kIFJpZ2h0IG1hcmdpbnMgZm9yIHRoZSBob3Jpem9udGFsIGJveGVzDQoJCQloZWxwZXJzLmVhY2godG9wQm94ZXMuY29uY2F0KGJvdHRvbUJveGVzKSwgZml0Qm94KTsNCg0KCQkJLy8gRnVuY3Rpb24gdG8gZml0IGEgYm94DQoJCQlmdW5jdGlvbiBmaXRCb3goYm94KSB7DQoJCQkJdmFyIG1pbkJveFNpemUgPSBoZWxwZXJzLmZpbmROZXh0V2hlcmUobWluQm94U2l6ZXMsIGZ1bmN0aW9uKG1pbkJveFNpemUpIHsNCgkJCQkJcmV0dXJuIG1pbkJveFNpemUuYm94ID09PSBib3g7DQoJCQkJfSk7DQoNCgkJCQlpZiAobWluQm94U2l6ZSkgew0KCQkJCQlpZiAoYm94LmlzSG9yaXpvbnRhbCgpKSB7DQoJCQkJCQl2YXIgc2NhbGVNYXJnaW4gPSB7DQoJCQkJCQkJbGVmdDogdG90YWxMZWZ0Qm94ZXNXaWR0aCwNCgkJCQkJCQlyaWdodDogdG90YWxSaWdodEJveGVzV2lkdGgsDQoJCQkJCQkJdG9wOiAwLA0KCQkJCQkJCWJvdHRvbTogMA0KCQkJCQkJfTsNCg0KCQkJCQkJLy8gRG9uJ3QgdXNlIG1pbiBzaXplIGhlcmUgYmVjYXVzZSBvZiBsYWJlbCByb3RhdGlvbi4gV2hlbiB0aGUgbGFiZWxzIGFyZSByb3RhdGVkLCB0aGVpciByb3RhdGlvbiBoaWdobHkgZGVwZW5kcw0KCQkJCQkJLy8gb24gdGhlIG1hcmdpbi4gU29tZXRpbWVzIHRoZXkgbmVlZCB0byBpbmNyZWFzZSBpbiBzaXplIHNsaWdodGx5DQoJCQkJCQlib3gudXBkYXRlKGJveC5vcHRpb25zLmZ1bGxXaWR0aCA/IGNoYXJ0V2lkdGggOiBtYXhDaGFydEFyZWFXaWR0aCwgY2hhcnRIZWlnaHQgLyAyLCBzY2FsZU1hcmdpbik7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlib3gudXBkYXRlKG1pbkJveFNpemUubWluU2l6ZS53aWR0aCwgbWF4Q2hhcnRBcmVhSGVpZ2h0KTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gRmlndXJlIG91dCBob3cgbXVjaCBtYXJnaW4gaXMgb24gdGhlIHRvcCBhbmQgYm90dG9tIG9mIHRoZSB2ZXJ0aWNhbCBib3hlcw0KCQkJaGVscGVycy5lYWNoKHRvcEJveGVzLCBmdW5jdGlvbihib3gpIHsNCgkJCQl0b3RhbFRvcEJveGVzSGVpZ2h0ICs9IGJveC5oZWlnaHQ7DQoJCQl9KTsNCg0KCQkJaGVscGVycy5lYWNoKGJvdHRvbUJveGVzLCBmdW5jdGlvbihib3gpIHsNCgkJCQl0b3RhbEJvdHRvbUJveGVzSGVpZ2h0ICs9IGJveC5oZWlnaHQ7DQoJCQl9KTsNCg0KCQkJLy8gTGV0IHRoZSBsZWZ0IGxheW91dCBrbm93IHRoZSBmaW5hbCBtYXJnaW4NCgkJCWhlbHBlcnMuZWFjaChsZWZ0Qm94ZXMuY29uY2F0KHJpZ2h0Qm94ZXMpLCBmaW5hbEZpdFZlcnRpY2FsQm94KTsNCg0KCQkJZnVuY3Rpb24gZmluYWxGaXRWZXJ0aWNhbEJveChib3gpIHsNCgkJCQl2YXIgbWluQm94U2l6ZSA9IGhlbHBlcnMuZmluZE5leHRXaGVyZShtaW5Cb3hTaXplcywgZnVuY3Rpb24obWluQm94U2l6ZSkgew0KCQkJCQlyZXR1cm4gbWluQm94U2l6ZS5ib3ggPT09IGJveDsNCgkJCQl9KTsNCg0KCQkJCXZhciBzY2FsZU1hcmdpbiA9IHsNCgkJCQkJbGVmdDogMCwNCgkJCQkJcmlnaHQ6IDAsDQoJCQkJCXRvcDogdG90YWxUb3BCb3hlc0hlaWdodCwNCgkJCQkJYm90dG9tOiB0b3RhbEJvdHRvbUJveGVzSGVpZ2h0DQoJCQkJfTsNCg0KCQkJCWlmIChtaW5Cb3hTaXplKSB7DQoJCQkJCWJveC51cGRhdGUobWluQm94U2l6ZS5taW5TaXplLndpZHRoLCBtYXhDaGFydEFyZWFIZWlnaHQsIHNjYWxlTWFyZ2luKTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFJlY2FsY3VsYXRlIGJlY2F1c2UgdGhlIHNpemUgb2YgZWFjaCBsYXlvdXQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNsaWdodGx5IGR1ZSB0byB0aGUgbWFyZ2lucyAobGFiZWwgcm90YXRpb24gZm9yIGluc3RhbmNlKQ0KCQkJdG90YWxMZWZ0Qm94ZXNXaWR0aCA9IHhQYWRkaW5nOw0KCQkJdG90YWxSaWdodEJveGVzV2lkdGggPSB4UGFkZGluZzsNCgkJCXRvdGFsVG9wQm94ZXNIZWlnaHQgPSB5UGFkZGluZzsNCgkJCXRvdGFsQm90dG9tQm94ZXNIZWlnaHQgPSB5UGFkZGluZzsNCg0KCQkJaGVscGVycy5lYWNoKGxlZnRCb3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJdG90YWxMZWZ0Qm94ZXNXaWR0aCArPSBib3gud2lkdGg7DQoJCQl9KTsNCg0KCQkJaGVscGVycy5lYWNoKHJpZ2h0Qm94ZXMsIGZ1bmN0aW9uKGJveCkgew0KCQkJCXRvdGFsUmlnaHRCb3hlc1dpZHRoICs9IGJveC53aWR0aDsNCgkJCX0pOw0KDQoJCQloZWxwZXJzLmVhY2godG9wQm94ZXMsIGZ1bmN0aW9uKGJveCkgew0KCQkJCXRvdGFsVG9wQm94ZXNIZWlnaHQgKz0gYm94LmhlaWdodDsNCgkJCX0pOw0KCQkJaGVscGVycy5lYWNoKGJvdHRvbUJveGVzLCBmdW5jdGlvbihib3gpIHsNCgkJCQl0b3RhbEJvdHRvbUJveGVzSGVpZ2h0ICs9IGJveC5oZWlnaHQ7DQoJCQl9KTsNCg0KCQkJLy8gRmlndXJlIG91dCBpZiBvdXIgY2hhcnQgYXJlYSBjaGFuZ2VkLiBUaGlzIHdvdWxkIG9jY3VyIGlmIHRoZSBkYXRhc2V0IGxheW91dCBsYWJlbCByb3RhdGlvbg0KCQkJLy8gY2hhbmdlZCBkdWUgdG8gdGhlIGFwcGxpY2F0aW9uIG9mIHRoZSBtYXJnaW5zIGluIHN0ZXAgNi4gU2luY2Ugd2UgY2FuIG9ubHkgZ2V0IGJpZ2dlciwgdGhpcyBpcyBzYWZlIHRvIGRvDQoJCQkvLyB3aXRob3V0IGNhbGxpbmcgYGZpdGAgYWdhaW4NCgkJCXZhciBuZXdNYXhDaGFydEFyZWFIZWlnaHQgPSBoZWlnaHQgLSB0b3RhbFRvcEJveGVzSGVpZ2h0IC0gdG90YWxCb3R0b21Cb3hlc0hlaWdodDsNCgkJCXZhciBuZXdNYXhDaGFydEFyZWFXaWR0aCA9IHdpZHRoIC0gdG90YWxMZWZ0Qm94ZXNXaWR0aCAtIHRvdGFsUmlnaHRCb3hlc1dpZHRoOw0KDQoJCQlpZiAobmV3TWF4Q2hhcnRBcmVhV2lkdGggIT09IG1heENoYXJ0QXJlYVdpZHRoIHx8IG5ld01heENoYXJ0QXJlYUhlaWdodCAhPT0gbWF4Q2hhcnRBcmVhSGVpZ2h0KSB7DQoJCQkJaGVscGVycy5lYWNoKGxlZnRCb3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJCWJveC5oZWlnaHQgPSBuZXdNYXhDaGFydEFyZWFIZWlnaHQ7DQoJCQkJfSk7DQoNCgkJCQloZWxwZXJzLmVhY2gocmlnaHRCb3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJCWJveC5oZWlnaHQgPSBuZXdNYXhDaGFydEFyZWFIZWlnaHQ7DQoJCQkJfSk7DQoNCgkJCQloZWxwZXJzLmVhY2godG9wQm94ZXMsIGZ1bmN0aW9uKGJveCkgew0KCQkJCQlpZiAoIWJveC5vcHRpb25zLmZ1bGxXaWR0aCkgew0KCQkJCQkJYm94LndpZHRoID0gbmV3TWF4Q2hhcnRBcmVhV2lkdGg7DQoJCQkJCX0NCgkJCQl9KTsNCg0KCQkJCWhlbHBlcnMuZWFjaChib3R0b21Cb3hlcywgZnVuY3Rpb24oYm94KSB7DQoJCQkJCWlmICghYm94Lm9wdGlvbnMuZnVsbFdpZHRoKSB7DQoJCQkJCQlib3gud2lkdGggPSBuZXdNYXhDaGFydEFyZWFXaWR0aDsNCgkJCQkJfQ0KCQkJCX0pOw0KDQoJCQkJbWF4Q2hhcnRBcmVhSGVpZ2h0ID0gbmV3TWF4Q2hhcnRBcmVhSGVpZ2h0Ow0KCQkJCW1heENoYXJ0QXJlYVdpZHRoID0gbmV3TWF4Q2hhcnRBcmVhV2lkdGg7DQoJCQl9DQoNCgkJCS8vIFN0ZXAgNyAtIFBvc2l0aW9uIHRoZSBib3hlcw0KCQkJdmFyIGxlZnQgPSB4UGFkZGluZzsNCgkJCXZhciB0b3AgPSB5UGFkZGluZzsNCgkJCXZhciByaWdodCA9IDA7DQoJCQl2YXIgYm90dG9tID0gMDsNCg0KCQkJaGVscGVycy5lYWNoKGxlZnRCb3hlcy5jb25jYXQodG9wQm94ZXMpLCBwbGFjZUJveCk7DQoNCgkJCS8vIEFjY291bnQgZm9yIGNoYXJ0IHdpZHRoIGFuZCBoZWlnaHQNCgkJCWxlZnQgKz0gbWF4Q2hhcnRBcmVhV2lkdGg7DQoJCQl0b3AgKz0gbWF4Q2hhcnRBcmVhSGVpZ2h0Ow0KDQoJCQloZWxwZXJzLmVhY2gocmlnaHRCb3hlcywgcGxhY2VCb3gpOw0KCQkJaGVscGVycy5lYWNoKGJvdHRvbUJveGVzLCBwbGFjZUJveCk7DQoNCgkJCWZ1bmN0aW9uIHBsYWNlQm94KGJveCkgew0KCQkJCWlmIChib3guaXNIb3Jpem9udGFsKCkpIHsNCgkJCQkJYm94LmxlZnQgPSBib3gub3B0aW9ucy5mdWxsV2lkdGggPyB4UGFkZGluZyA6IHRvdGFsTGVmdEJveGVzV2lkdGg7DQoJCQkJCWJveC5yaWdodCA9IGJveC5vcHRpb25zLmZ1bGxXaWR0aCA/IHdpZHRoIC0geFBhZGRpbmcgOiB0b3RhbExlZnRCb3hlc1dpZHRoICsgbWF4Q2hhcnRBcmVhV2lkdGg7DQoJCQkJCWJveC50b3AgPSB0b3A7DQoJCQkJCWJveC5ib3R0b20gPSB0b3AgKyBib3guaGVpZ2h0Ow0KDQoJCQkJCS8vIE1vdmUgdG8gbmV4dCBwb2ludA0KCQkJCQl0b3AgPSBib3guYm90dG9tOw0KDQoJCQkJfSBlbHNlIHsNCg0KCQkJCQlib3gubGVmdCA9IGxlZnQ7DQoJCQkJCWJveC5yaWdodCA9IGxlZnQgKyBib3gud2lkdGg7DQoJCQkJCWJveC50b3AgPSB0b3RhbFRvcEJveGVzSGVpZ2h0Ow0KCQkJCQlib3guYm90dG9tID0gdG90YWxUb3BCb3hlc0hlaWdodCArIG1heENoYXJ0QXJlYUhlaWdodDsNCg0KCQkJCQkvLyBNb3ZlIHRvIG5leHQgcG9pbnQNCgkJCQkJbGVmdCA9IGJveC5yaWdodDsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFN0ZXAgOA0KCQkJY2hhcnRJbnN0YW5jZS5jaGFydEFyZWEgPSB7DQoJCQkJbGVmdDogdG90YWxMZWZ0Qm94ZXNXaWR0aCwNCgkJCQl0b3A6IHRvdGFsVG9wQm94ZXNIZWlnaHQsDQoJCQkJcmlnaHQ6IHRvdGFsTGVmdEJveGVzV2lkdGggKyBtYXhDaGFydEFyZWFXaWR0aCwNCgkJCQlib3R0b206IHRvdGFsVG9wQm94ZXNIZWlnaHQgKyBtYXhDaGFydEFyZWFIZWlnaHQNCgkJCX07DQoNCgkJCS8vIFN0ZXAgOQ0KCQkJaGVscGVycy5lYWNoKGNoYXJ0QXJlYUJveGVzLCBmdW5jdGlvbihib3gpIHsNCgkJCQlib3gubGVmdCA9IGNoYXJ0SW5zdGFuY2UuY2hhcnRBcmVhLmxlZnQ7DQoJCQkJYm94LnRvcCA9IGNoYXJ0SW5zdGFuY2UuY2hhcnRBcmVhLnRvcDsNCgkJCQlib3gucmlnaHQgPSBjaGFydEluc3RhbmNlLmNoYXJ0QXJlYS5yaWdodDsNCgkJCQlib3guYm90dG9tID0gY2hhcnRJbnN0YW5jZS5jaGFydEFyZWEuYm90dG9tOw0KDQoJCQkJYm94LnVwZGF0ZShtYXhDaGFydEFyZWFXaWR0aCwgbWF4Q2hhcnRBcmVhSGVpZ2h0KTsNCgkJCX0pOw0KCQl9DQoJfTsNCn07DQoKfSx7fV0sMjg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCgl2YXIgbm9vcCA9IGhlbHBlcnMubm9vcDsNCg0KCUNoYXJ0LmRlZmF1bHRzLmdsb2JhbC5sZWdlbmQgPSB7DQoNCgkJZGlzcGxheTogdHJ1ZSwNCgkJcG9zaXRpb246ICd0b3AnLA0KCQlmdWxsV2lkdGg6IHRydWUsIC8vIG1hcmtzIHRoYXQgdGhpcyBib3ggc2hvdWxkIHRha2UgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIGNhbnZhcyAocHVzaGluZyBkb3duIG90aGVyIGJveGVzKQ0KCQlyZXZlcnNlOiBmYWxzZSwNCg0KCQkvLyBhIGNhbGxiYWNrIHRoYXQgd2lsbCBoYW5kbGUNCgkJb25DbGljazogZnVuY3Rpb24oZSwgbGVnZW5kSXRlbSkgew0KCQkJdmFyIGluZGV4ID0gbGVnZW5kSXRlbS5kYXRhc2V0SW5kZXg7DQoJCQl2YXIgY2kgPSB0aGlzLmNoYXJ0Ow0KCQkJdmFyIG1ldGEgPSBjaS5nZXREYXRhc2V0TWV0YShpbmRleCk7DQoNCgkJCS8vIFNlZSBjb250cm9sbGVyLmlzRGF0YXNldFZpc2libGUgY29tbWVudA0KCQkJbWV0YS5oaWRkZW4gPSBtZXRhLmhpZGRlbiA9PT0gbnVsbD8gIWNpLmRhdGEuZGF0YXNldHNbaW5kZXhdLmhpZGRlbiA6IG51bGw7DQoNCgkJCS8vIFdlIGhpZCBhIGRhdGFzZXQgLi4uIHJlcmVuZGVyIHRoZSBjaGFydA0KCQkJY2kudXBkYXRlKCk7DQoJCX0sDQoNCgkJbGFiZWxzOiB7DQoJCQlib3hXaWR0aDogNDAsDQoJCQlwYWRkaW5nOiAxMCwNCgkJCS8vIEdlbmVyYXRlcyBsYWJlbHMgc2hvd24gaW4gdGhlIGxlZ2VuZA0KCQkJLy8gVmFsaWQgcHJvcGVydGllcyB0byByZXR1cm46DQoJCQkvLyB0ZXh0IDogdGV4dCB0byBkaXNwbGF5DQoJCQkvLyBmaWxsU3R5bGUgOiBmaWxsIG9mIGNvbG91cmVkIGJveA0KCQkJLy8gc3Ryb2tlU3R5bGU6IHN0cm9rZSBvZiBjb2xvdXJlZCBib3gNCgkJCS8vIGhpZGRlbiA6IGlmIHRoaXMgbGVnZW5kIGl0ZW0gcmVmZXJzIHRvIGEgaGlkZGVuIGl0ZW0NCgkJCS8vIGxpbmVDYXAgOiBjYXAgc3R5bGUgZm9yIGxpbmUNCgkJCS8vIGxpbmVEYXNoDQoJCQkvLyBsaW5lRGFzaE9mZnNldCA6DQoJCQkvLyBsaW5lSm9pbiA6DQoJCQkvLyBsaW5lV2lkdGggOg0KCQkJZ2VuZXJhdGVMYWJlbHM6IGZ1bmN0aW9uKGNoYXJ0KSB7DQoJCQkJdmFyIGRhdGEgPSBjaGFydC5kYXRhOw0KCQkJCXJldHVybiBoZWxwZXJzLmlzQXJyYXkoZGF0YS5kYXRhc2V0cykgPyBkYXRhLmRhdGFzZXRzLm1hcChmdW5jdGlvbihkYXRhc2V0LCBpKSB7DQoJCQkJCXJldHVybiB7DQoJCQkJCQl0ZXh0OiBkYXRhc2V0LmxhYmVsLA0KCQkJCQkJZmlsbFN0eWxlOiBkYXRhc2V0LmJhY2tncm91bmRDb2xvciwNCgkJCQkJCWhpZGRlbjogIWNoYXJ0LmlzRGF0YXNldFZpc2libGUoaSksDQoJCQkJCQlsaW5lQ2FwOiBkYXRhc2V0LmJvcmRlckNhcFN0eWxlLA0KCQkJCQkJbGluZURhc2g6IGRhdGFzZXQuYm9yZGVyRGFzaCwNCgkJCQkJCWxpbmVEYXNoT2Zmc2V0OiBkYXRhc2V0LmJvcmRlckRhc2hPZmZzZXQsDQoJCQkJCQlsaW5lSm9pbjogZGF0YXNldC5ib3JkZXJKb2luU3R5bGUsDQoJCQkJCQlsaW5lV2lkdGg6IGRhdGFzZXQuYm9yZGVyV2lkdGgsDQoJCQkJCQlzdHJva2VTdHlsZTogZGF0YXNldC5ib3JkZXJDb2xvciwNCg0KCQkJCQkJLy8gQmVsb3cgaXMgZXh0cmEgZGF0YSB1c2VkIGZvciB0b2dnbGluZyB0aGUgZGF0YXNldHMNCgkJCQkJCWRhdGFzZXRJbmRleDogaQ0KCQkJCQl9Ow0KCQkJCX0sIHRoaXMpIDogW107DQoJCQl9DQoJCX0NCgl9Ow0KDQoJQ2hhcnQuTGVnZW5kID0gQ2hhcnQuRWxlbWVudC5leHRlbmQoew0KDQoJCWluaXRpYWxpemU6IGZ1bmN0aW9uKGNvbmZpZykgew0KCQkJaGVscGVycy5leHRlbmQodGhpcywgY29uZmlnKTsNCg0KCQkJLy8gQ29udGFpbnMgaGl0IGJveGVzIGZvciBlYWNoIGRhdGFzZXQgKGluIGRhdGFzZXQgb3JkZXIpDQoJCQl0aGlzLmxlZ2VuZEhpdEJveGVzID0gW107DQoNCgkJCS8vIEFyZSB3ZSBpbiBkb3VnaG51dCBtb2RlIHdoaWNoIGhhcyBhIGRpZmZlcmVudCBkYXRhIHR5cGUNCgkJCXRoaXMuZG91Z2hudXRNb2RlID0gZmFsc2U7DQoJCX0sDQoNCgkJLy8gVGhlc2UgbWV0aG9kcyBhcmUgb3JkZXJlZCBieSBsaWZlY3lsZS4gVXRpbGl0aWVzIHRoZW4gZm9sbG93Lg0KCQkvLyBBbnkgZnVuY3Rpb24gZGVmaW5lZCBoZXJlIGlzIGluaGVyaXRlZCBieSBhbGwgbGVnZW5kIHR5cGVzLg0KCQkvLyBBbnkgZnVuY3Rpb24gY2FuIGJlIGV4dGVuZGVkIGJ5IHRoZSBsZWdlbmQgdHlwZQ0KDQoJCWJlZm9yZVVwZGF0ZTogbm9vcCwNCgkJdXBkYXRlOiBmdW5jdGlvbihtYXhXaWR0aCwgbWF4SGVpZ2h0LCBtYXJnaW5zKSB7DQoNCgkJCS8vIFVwZGF0ZSBMaWZlY3ljbGUgLSBQcm9iYWJseSBkb24ndCB3YW50IHRvIGV2ZXIgZXh0ZW5kIG9yIG92ZXJ3cml0ZSB0aGlzIGZ1bmN0aW9uIDspDQoJCQl0aGlzLmJlZm9yZVVwZGF0ZSgpOw0KDQoJCQkvLyBBYnNvcmIgdGhlIG1hc3RlciBtZWFzdXJlbWVudHMNCgkJCXRoaXMubWF4V2lkdGggPSBtYXhXaWR0aDsNCgkJCXRoaXMubWF4SGVpZ2h0ID0gbWF4SGVpZ2h0Ow0KCQkJdGhpcy5tYXJnaW5zID0gbWFyZ2luczsNCg0KCQkJLy8gRGltZW5zaW9ucw0KCQkJdGhpcy5iZWZvcmVTZXREaW1lbnNpb25zKCk7DQoJCQl0aGlzLnNldERpbWVuc2lvbnMoKTsNCgkJCXRoaXMuYWZ0ZXJTZXREaW1lbnNpb25zKCk7DQoJCQkvLyBMYWJlbHMNCgkJCXRoaXMuYmVmb3JlQnVpbGRMYWJlbHMoKTsNCgkJCXRoaXMuYnVpbGRMYWJlbHMoKTsNCgkJCXRoaXMuYWZ0ZXJCdWlsZExhYmVscygpOw0KDQoJCQkvLyBGaXQNCgkJCXRoaXMuYmVmb3JlRml0KCk7DQoJCQl0aGlzLmZpdCgpOw0KCQkJdGhpcy5hZnRlckZpdCgpOw0KCQkJLy8NCgkJCXRoaXMuYWZ0ZXJVcGRhdGUoKTsNCg0KCQkJcmV0dXJuIHRoaXMubWluU2l6ZTsNCgkJfSwNCgkJYWZ0ZXJVcGRhdGU6IG5vb3AsDQoNCgkJLy8NCg0KCQliZWZvcmVTZXREaW1lbnNpb25zOiBub29wLA0KCQlzZXREaW1lbnNpb25zOiBmdW5jdGlvbigpIHsNCgkJCS8vIFNldCB0aGUgdW5jb25zdHJhaW5lZCBkaW1lbnNpb24gYmVmb3JlIGxhYmVsIHJvdGF0aW9uDQoJCQlpZiAodGhpcy5pc0hvcml6b250YWwoKSkgew0KCQkJCS8vIFJlc2V0IHBvc2l0aW9uIGJlZm9yZSBjYWxjdWxhdGluZyByb3RhdGlvbg0KCQkJCXRoaXMud2lkdGggPSB0aGlzLm1heFdpZHRoOw0KCQkJCXRoaXMubGVmdCA9IDA7DQoJCQkJdGhpcy5yaWdodCA9IHRoaXMud2lkdGg7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuaGVpZ2h0ID0gdGhpcy5tYXhIZWlnaHQ7DQoNCgkJCQkvLyBSZXNldCBwb3NpdGlvbiBiZWZvcmUgY2FsY3VsYXRpbmcgcm90YXRpb24NCgkJCQl0aGlzLnRvcCA9IDA7DQoJCQkJdGhpcy5ib3R0b20gPSB0aGlzLmhlaWdodDsNCgkJCX0NCg0KCQkJLy8gUmVzZXQgcGFkZGluZw0KCQkJdGhpcy5wYWRkaW5nTGVmdCA9IDA7DQoJCQl0aGlzLnBhZGRpbmdUb3AgPSAwOw0KCQkJdGhpcy5wYWRkaW5nUmlnaHQgPSAwOw0KCQkJdGhpcy5wYWRkaW5nQm90dG9tID0gMDsNCg0KCQkJLy8gUmVzZXQgbWluU2l6ZQ0KCQkJdGhpcy5taW5TaXplID0gew0KCQkJCXdpZHRoOiAwLA0KCQkJCWhlaWdodDogMA0KCQkJfTsNCgkJfSwNCgkJYWZ0ZXJTZXREaW1lbnNpb25zOiBub29wLA0KDQoJCS8vDQoNCgkJYmVmb3JlQnVpbGRMYWJlbHM6IG5vb3AsDQoJCWJ1aWxkTGFiZWxzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMubGVnZW5kSXRlbXMgPSB0aGlzLm9wdGlvbnMubGFiZWxzLmdlbmVyYXRlTGFiZWxzLmNhbGwodGhpcywgdGhpcy5jaGFydCk7DQoJCQlpZih0aGlzLm9wdGlvbnMucmV2ZXJzZSl7DQoJCQkJdGhpcy5sZWdlbmRJdGVtcy5yZXZlcnNlKCk7DQoJCQl9DQoJCX0sDQoJCWFmdGVyQnVpbGRMYWJlbHM6IG5vb3AsDQoNCgkJLy8NCg0KCQliZWZvcmVGaXQ6IG5vb3AsDQoJCWZpdDogZnVuY3Rpb24oKSB7DQoJCQl2YXIgb3B0cyA9IHRoaXMub3B0aW9uczsNCgkJCXZhciBsYWJlbE9wdHMgPSBvcHRzLmxhYmVsczsNCgkJCXZhciBkaXNwbGF5ID0gb3B0cy5kaXNwbGF5Ow0KDQoJCQl2YXIgY3R4ID0gdGhpcy5jdHg7DQoNCgkJCXZhciBnbG9iYWxEZWZhdWx0ID0gQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLA0KCQkJCWl0ZW1PckRlZmF1bHQgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0LA0KCQkJCWZvbnRTaXplID0gaXRlbU9yRGVmYXVsdChsYWJlbE9wdHMuZm9udFNpemUsIGdsb2JhbERlZmF1bHQuZGVmYXVsdEZvbnRTaXplKSwNCgkJCQlmb250U3R5bGUgPSBpdGVtT3JEZWZhdWx0KGxhYmVsT3B0cy5mb250U3R5bGUsIGdsb2JhbERlZmF1bHQuZGVmYXVsdEZvbnRTdHlsZSksDQoJCQkJZm9udEZhbWlseSA9IGl0ZW1PckRlZmF1bHQobGFiZWxPcHRzLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHQuZGVmYXVsdEZvbnRGYW1pbHkpLA0KCQkJCWxhYmVsRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhmb250U2l6ZSwgZm9udFN0eWxlLCBmb250RmFtaWx5KTsNCg0KCQkJLy8gUmVzZXQgaGl0IGJveGVzDQoJCQl2YXIgaGl0Ym94ZXMgPSB0aGlzLmxlZ2VuZEhpdEJveGVzID0gW107DQoNCgkJCXZhciBtaW5TaXplID0gdGhpcy5taW5TaXplOw0KCQkJdmFyIGlzSG9yaXpvbnRhbCA9IHRoaXMuaXNIb3Jpem9udGFsKCk7DQoNCgkJCWlmIChpc0hvcml6b250YWwpIHsNCgkJCQltaW5TaXplLndpZHRoID0gdGhpcy5tYXhXaWR0aDsgLy8gZmlsbCBhbGwgdGhlIHdpZHRoDQoJCQkJbWluU2l6ZS5oZWlnaHQgPSBkaXNwbGF5ID8gMTAgOiAwOw0KCQkJfSBlbHNlIHsNCgkJCQltaW5TaXplLndpZHRoID0gZGlzcGxheSA/IDEwIDogMDsNCgkJCQltaW5TaXplLmhlaWdodCA9IHRoaXMubWF4SGVpZ2h0OyAvLyBmaWxsIGFsbCB0aGUgaGVpZ2h0DQoJCQl9DQoNCgkJCS8vIEluY3JlYXNlIHNpemVzIGhlcmUNCgkJCWlmIChkaXNwbGF5KSB7DQoJCQkJaWYgKGlzSG9yaXpvbnRhbCkgew0KCQkJCQkvLyBMYWJlbHMNCg0KCQkJCQkvLyBXaWR0aCBvZiBlYWNoIGxpbmUgb2YgbGVnZW5kIGJveGVzLiBMYWJlbHMgd3JhcCBvbnRvIG11bHRpcGxlIGxpbmVzIHdoZW4gdGhlcmUgYXJlIHRvbyBtYW55IHRvIGZpdCBvbiBvbmUNCgkJCQkJdmFyIGxpbmVXaWR0aHMgPSB0aGlzLmxpbmVXaWR0aHMgPSBbMF07DQoJCQkJCXZhciB0b3RhbEhlaWdodCA9IHRoaXMubGVnZW5kSXRlbXMubGVuZ3RoID8gZm9udFNpemUgKyAobGFiZWxPcHRzLnBhZGRpbmcpIDogMDsNCg0KCQkJCQljdHgudGV4dEFsaWduID0gImxlZnQiOw0KCQkJCQljdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7DQoJCQkJCWN0eC5mb250ID0gbGFiZWxGb250Ow0KDQoJCQkJCWhlbHBlcnMuZWFjaCh0aGlzLmxlZ2VuZEl0ZW1zLCBmdW5jdGlvbihsZWdlbmRJdGVtLCBpKSB7DQoJCQkJCQl2YXIgd2lkdGggPSBsYWJlbE9wdHMuYm94V2lkdGggKyAoZm9udFNpemUgLyAyKSArIGN0eC5tZWFzdXJlVGV4dChsZWdlbmRJdGVtLnRleHQpLndpZHRoOw0KCQkJCQkJaWYgKGxpbmVXaWR0aHNbbGluZVdpZHRocy5sZW5ndGggLSAxXSArIHdpZHRoICsgbGFiZWxPcHRzLnBhZGRpbmcgPj0gdGhpcy53aWR0aCkgew0KCQkJCQkJCXRvdGFsSGVpZ2h0ICs9IGZvbnRTaXplICsgKGxhYmVsT3B0cy5wYWRkaW5nKTsNCgkJCQkJCQlsaW5lV2lkdGhzW2xpbmVXaWR0aHMubGVuZ3RoXSA9IHRoaXMubGVmdDsNCgkJCQkJCX0NCg0KCQkJCQkJLy8gU3RvcmUgdGhlIGhpdGJveCB3aWR0aCBhbmQgaGVpZ2h0IGhlcmUuIEZpbmFsIHBvc2l0aW9uIHdpbGwgYmUgdXBkYXRlZCBpbiBgZHJhd2ANCgkJCQkJCWhpdGJveGVzW2ldID0gew0KCQkJCQkJCWxlZnQ6IDAsDQoJCQkJCQkJdG9wOiAwLA0KCQkJCQkJCXdpZHRoOiB3aWR0aCwNCgkJCQkJCQloZWlnaHQ6IGZvbnRTaXplDQoJCQkJCQl9Ow0KDQoJCQkJCQlsaW5lV2lkdGhzW2xpbmVXaWR0aHMubGVuZ3RoIC0gMV0gKz0gd2lkdGggKyBsYWJlbE9wdHMucGFkZGluZzsNCgkJCQkJfSwgdGhpcyk7DQoNCgkJCQkJbWluU2l6ZS5oZWlnaHQgKz0gdG90YWxIZWlnaHQ7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQkvLyBUT0RPIHZlcnRpY2FsDQoJCQkJfQ0KCQkJfQ0KDQoJCQl0aGlzLndpZHRoID0gbWluU2l6ZS53aWR0aDsNCgkJCXRoaXMuaGVpZ2h0ID0gbWluU2l6ZS5oZWlnaHQ7DQoJCX0sDQoJCWFmdGVyRml0OiBub29wLA0KDQoJCS8vIFNoYXJlZCBNZXRob2RzDQoJCWlzSG9yaXpvbnRhbDogZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gdGhpcy5vcHRpb25zLnBvc2l0aW9uID09PSAidG9wIiB8fCB0aGlzLm9wdGlvbnMucG9zaXRpb24gPT09ICJib3R0b20iOw0KCQl9LA0KDQoJCS8vIEFjdHVhbHkgZHJhdyB0aGUgbGVnZW5kIG9uIHRoZSBjYW52YXMNCgkJZHJhdzogZnVuY3Rpb24oKSB7DQoJCQl2YXIgb3B0cyA9IHRoaXMub3B0aW9uczsNCgkJCXZhciBsYWJlbE9wdHMgPSBvcHRzLmxhYmVsczsNCgkJCXZhciBnbG9iYWxEZWZhdWx0ID0gQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLA0KCQkJCWxpbmVEZWZhdWx0ID0gZ2xvYmFsRGVmYXVsdC5lbGVtZW50cy5saW5lLA0KCQkJCWxlZ2VuZFdpZHRoID0gdGhpcy53aWR0aCwNCgkJCQlsaW5lV2lkdGhzID0gdGhpcy5saW5lV2lkdGhzOw0KDQoJCQlpZiAob3B0cy5kaXNwbGF5KSB7DQoJCQkJdmFyIGN0eCA9IHRoaXMuY3R4LA0KCQkJCQljdXJzb3IgPSB7DQoJCQkJCQl4OiB0aGlzLmxlZnQgKyAoKGxlZ2VuZFdpZHRoIC0gbGluZVdpZHRoc1swXSkgLyAyKSwNCgkJCQkJCXk6IHRoaXMudG9wICsgbGFiZWxPcHRzLnBhZGRpbmcsDQoJCQkJCQlsaW5lOiAwDQoJCQkJCX0sDQoJCQkJCWl0ZW1PckRlZmF1bHQgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0LA0KCQkJCQlmb250Q29sb3IgPSBpdGVtT3JEZWZhdWx0KGxhYmVsT3B0cy5mb250Q29sb3IsIGdsb2JhbERlZmF1bHQuZGVmYXVsdEZvbnRDb2xvciksDQoJCQkJCWZvbnRTaXplID0gaXRlbU9yRGVmYXVsdChsYWJlbE9wdHMuZm9udFNpemUsIGdsb2JhbERlZmF1bHQuZGVmYXVsdEZvbnRTaXplKSwNCgkJCQkJZm9udFN0eWxlID0gaXRlbU9yRGVmYXVsdChsYWJlbE9wdHMuZm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRGb250U3R5bGUpLA0KCQkJCQlmb250RmFtaWx5ID0gaXRlbU9yRGVmYXVsdChsYWJlbE9wdHMuZm9udEZhbWlseSwgZ2xvYmFsRGVmYXVsdC5kZWZhdWx0Rm9udEZhbWlseSksDQoJCQkJCWxhYmVsRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhmb250U2l6ZSwgZm9udFN0eWxlLCBmb250RmFtaWx5KTsNCg0KCQkJCS8vIEhvcml6b250YWwNCgkJCQlpZiAodGhpcy5pc0hvcml6b250YWwoKSkgew0KCQkJCQkvLyBMYWJlbHMNCgkJCQkJY3R4LnRleHRBbGlnbiA9ICJsZWZ0IjsNCgkJCQkJY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnOw0KCQkJCQljdHgubGluZVdpZHRoID0gMC41Ow0KCQkJCQljdHguc3Ryb2tlU3R5bGUgPSBmb250Q29sb3I7IC8vIGZvciBzdHJpa2V0aHJvdWdoIGVmZmVjdA0KCQkJCQljdHguZmlsbFN0eWxlID0gZm9udENvbG9yOyAvLyByZW5kZXIgaW4gY29ycmVjdCBjb2xvdXINCgkJCQkJY3R4LmZvbnQgPSBsYWJlbEZvbnQ7DQoNCgkJCQkJdmFyIGJveFdpZHRoID0gbGFiZWxPcHRzLmJveFdpZHRoLA0KCQkJCQkJaGl0Ym94ZXMgPSB0aGlzLmxlZ2VuZEhpdEJveGVzOw0KDQoJCQkJCWhlbHBlcnMuZWFjaCh0aGlzLmxlZ2VuZEl0ZW1zLCBmdW5jdGlvbihsZWdlbmRJdGVtLCBpKSB7DQoJCQkJCQl2YXIgdGV4dFdpZHRoID0gY3R4Lm1lYXN1cmVUZXh0KGxlZ2VuZEl0ZW0udGV4dCkud2lkdGgsDQoJCQkJCQkJd2lkdGggPSBib3hXaWR0aCArIChmb250U2l6ZSAvIDIpICsgdGV4dFdpZHRoLA0KCQkJCQkJCXggPSBjdXJzb3IueCwNCgkJCQkJCQl5ID0gY3Vyc29yLnk7DQoNCgkJCQkJCWlmICh4ICsgd2lkdGggPj0gbGVnZW5kV2lkdGgpIHsNCgkJCQkJCQl5ID0gY3Vyc29yLnkgKz0gZm9udFNpemUgKyAobGFiZWxPcHRzLnBhZGRpbmcpOw0KCQkJCQkJCWN1cnNvci5saW5lKys7DQoJCQkJCQkJeCA9IGN1cnNvci54ID0gdGhpcy5sZWZ0ICsgKChsZWdlbmRXaWR0aCAtIGxpbmVXaWR0aHNbY3Vyc29yLmxpbmVdKSAvIDIpOw0KCQkJCQkJfQ0KDQoJCQkJCQkvLyBTZXQgdGhlIGN0eCBmb3IgdGhlIGJveA0KCQkJCQkJY3R4LnNhdmUoKTsNCg0KCQkJCQkJY3R4LmZpbGxTdHlsZSA9IGl0ZW1PckRlZmF1bHQobGVnZW5kSXRlbS5maWxsU3R5bGUsIGdsb2JhbERlZmF1bHQuZGVmYXVsdENvbG9yKTsNCgkJCQkJCWN0eC5saW5lQ2FwID0gaXRlbU9yRGVmYXVsdChsZWdlbmRJdGVtLmxpbmVDYXAsIGxpbmVEZWZhdWx0LmJvcmRlckNhcFN0eWxlKTsNCgkJCQkJCWN0eC5saW5lRGFzaE9mZnNldCA9IGl0ZW1PckRlZmF1bHQobGVnZW5kSXRlbS5saW5lRGFzaE9mZnNldCwgbGluZURlZmF1bHQuYm9yZGVyRGFzaE9mZnNldCk7DQoJCQkJCQljdHgubGluZUpvaW4gPSBpdGVtT3JEZWZhdWx0KGxlZ2VuZEl0ZW0ubGluZUpvaW4sIGxpbmVEZWZhdWx0LmJvcmRlckpvaW5TdHlsZSk7DQoJCQkJCQljdHgubGluZVdpZHRoID0gaXRlbU9yRGVmYXVsdChsZWdlbmRJdGVtLmxpbmVXaWR0aCwgbGluZURlZmF1bHQuYm9yZGVyV2lkdGgpOw0KCQkJCQkJY3R4LnN0cm9rZVN0eWxlID0gaXRlbU9yRGVmYXVsdChsZWdlbmRJdGVtLnN0cm9rZVN0eWxlLCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRDb2xvcik7DQoNCgkJCQkJCWlmIChjdHguc2V0TGluZURhc2gpIHsNCgkJCQkJCQkvLyBJRSA5IGFuZCAxMCBkbyBub3Qgc3VwcG9ydCBsaW5lIGRhc2gNCgkJCQkJCQljdHguc2V0TGluZURhc2goaXRlbU9yRGVmYXVsdChsZWdlbmRJdGVtLmxpbmVEYXNoLCBsaW5lRGVmYXVsdC5ib3JkZXJEYXNoKSk7DQoJCQkJCQl9DQoNCgkJCQkJCS8vIERyYXcgdGhlIGJveA0KCQkJCQkJY3R4LnN0cm9rZVJlY3QoeCwgeSwgYm94V2lkdGgsIGZvbnRTaXplKTsNCgkJCQkJCWN0eC5maWxsUmVjdCh4LCB5LCBib3hXaWR0aCwgZm9udFNpemUpOw0KDQoJCQkJCQljdHgucmVzdG9yZSgpOw0KDQoJCQkJCQloaXRib3hlc1tpXS5sZWZ0ID0geDsNCgkJCQkJCWhpdGJveGVzW2ldLnRvcCA9IHk7DQoNCgkJCQkJCS8vIEZpbGwgdGhlIGFjdHVhbCBsYWJlbA0KCQkJCQkJY3R4LmZpbGxUZXh0KGxlZ2VuZEl0ZW0udGV4dCwgYm94V2lkdGggKyAoZm9udFNpemUgLyAyKSArIHgsIHkpOw0KDQoJCQkJCQlpZiAobGVnZW5kSXRlbS5oaWRkZW4pIHsNCgkJCQkJCQkvLyBTdHJpa2V0aHJvdWdoIHRoZSB0ZXh0IGlmIGhpZGRlbg0KCQkJCQkJCWN0eC5iZWdpblBhdGgoKTsNCgkJCQkJCQljdHgubGluZVdpZHRoID0gMjsNCgkJCQkJCQljdHgubW92ZVRvKGJveFdpZHRoICsgKGZvbnRTaXplIC8gMikgKyB4LCB5ICsgKGZvbnRTaXplIC8gMikpOw0KCQkJCQkJCWN0eC5saW5lVG8oYm94V2lkdGggKyAoZm9udFNpemUgLyAyKSArIHggKyB0ZXh0V2lkdGgsIHkgKyAoZm9udFNpemUgLyAyKSk7DQoJCQkJCQkJY3R4LnN0cm9rZSgpOw0KCQkJCQkJfQ0KDQoJCQkJCQljdXJzb3IueCArPSB3aWR0aCArIChsYWJlbE9wdHMucGFkZGluZyk7DQoJCQkJCX0sIHRoaXMpOw0KCQkJCX0gZWxzZSB7DQoNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJLy8gSGFuZGxlIGFuIGV2ZW50DQoJCWhhbmRsZUV2ZW50OiBmdW5jdGlvbihlKSB7DQoJCQl2YXIgcG9zaXRpb24gPSBoZWxwZXJzLmdldFJlbGF0aXZlUG9zaXRpb24oZSwgdGhpcy5jaGFydC5jaGFydCksDQoJCQkJeCA9IHBvc2l0aW9uLngsDQoJCQkJeSA9IHBvc2l0aW9uLnksDQoJCQkJb3B0cyA9IHRoaXMub3B0aW9uczsNCg0KCQkJaWYgKHggPj0gdGhpcy5sZWZ0ICYmIHggPD0gdGhpcy5yaWdodCAmJiB5ID49IHRoaXMudG9wICYmIHkgPD0gdGhpcy5ib3R0b20pIHsNCgkJCQkvLyBTZWUgaWYgd2UgYXJlIHRvdWNoaW5nIG9uZSBvZiB0aGUgZGF0YXNldCBib3hlcw0KCQkJCXZhciBsaCA9IHRoaXMubGVnZW5kSGl0Qm94ZXM7DQoJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBsaC5sZW5ndGg7ICsraSkgew0KCQkJCQl2YXIgaGl0Qm94ID0gbGhbaV07DQoNCgkJCQkJaWYgKHggPj0gaGl0Qm94LmxlZnQgJiYgeCA8PSBoaXRCb3gubGVmdCArIGhpdEJveC53aWR0aCAmJiB5ID49IGhpdEJveC50b3AgJiYgeSA8PSBoaXRCb3gudG9wICsgaGl0Qm94LmhlaWdodCkgew0KCQkJCQkJLy8gVG91Y2hpbmcgYW4gZWxlbWVudA0KCQkJCQkJaWYgKG9wdHMub25DbGljaykgew0KCQkJCQkJCW9wdHMub25DbGljay5jYWxsKHRoaXMsIGUsIHRoaXMubGVnZW5kSXRlbXNbaV0pOw0KCQkJCQkJfQ0KCQkJCQkJYnJlYWs7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgl9KTsNCg0KfTsNCgp9LHt9XSwyOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCg0KCS8vIFBsdWdpbnMgYXJlIHN0b3JlZCBoZXJlDQoJQ2hhcnQucGx1Z2lucyA9IFtdOw0KCUNoYXJ0LnBsdWdpblNlcnZpY2UgPSB7DQoJCS8vIFJlZ2lzdGVyIGEgbmV3IHBsdWdpbg0KCQlyZWdpc3RlcjogZnVuY3Rpb24ocGx1Z2luKSB7DQoJCQl2YXIgcCA9IENoYXJ0LnBsdWdpbnM7DQoJCQlpZiAocC5pbmRleE9mKHBsdWdpbikgPT09IC0xKSB7DQoJCQkJcC5wdXNoKHBsdWdpbik7DQoJCQl9DQoJCX0sDQoNCgkJLy8gUmVtb3ZlIGEgcmVnaXN0ZXJlZCBwbHVnaW4NCgkJcmVtb3ZlOiBmdW5jdGlvbihwbHVnaW4pIHsNCgkJCXZhciBwID0gQ2hhcnQucGx1Z2luczsNCgkJCXZhciBpZHggPSBwLmluZGV4T2YocGx1Z2luKTsNCgkJCWlmIChpZHggIT09IC0xKSB7DQoJCQkJcC5zcGxpY2UoaWR4LCAxKTsNCgkJCX0NCgkJfSwNCg0KCQkvLyBJdGVyYXRlIG92ZXIgYWxsIHBsdWdpbnMNCgkJbm90aWZ5UGx1Z2luczogZnVuY3Rpb24obWV0aG9kLCBhcmdzLCBzY29wZSkgew0KCQkJaGVscGVycy5lYWNoKENoYXJ0LnBsdWdpbnMsIGZ1bmN0aW9uKHBsdWdpbikgew0KCQkJCWlmIChwbHVnaW5bbWV0aG9kXSAmJiB0eXBlb2YgcGx1Z2luW21ldGhvZF0gPT09ICdmdW5jdGlvbicpIHsNCgkJCQkJcGx1Z2luW21ldGhvZF0uYXBwbHkoc2NvcGUsIGFyZ3MpOw0KCQkJCX0NCgkJCX0sIHNjb3BlKTsNCgkJfQ0KCX07DQoNCgl2YXIgbm9vcCA9IGhlbHBlcnMubm9vcDsNCglDaGFydC5QbHVnaW5CYXNlID0gQ2hhcnQuRWxlbWVudC5leHRlbmQoew0KCQkvLyBQbHVnaW4gbWV0aG9kcy4gQWxsIGZ1bmN0aW9ucyBhcmUgcGFzc2VkIHRoZSBjaGFydCBpbnN0YW5jZQ0KDQoJCS8vIENhbGxlZCBhdCBzdGFydCBvZiBjaGFydCBpbml0DQoJCWJlZm9yZUluaXQ6IG5vb3AsDQoNCgkJLy8gQ2FsbGVkIGF0IGVuZCBvZiBjaGFydCBpbml0DQoJCWFmdGVySW5pdDogbm9vcCwNCg0KCQkvLyBDYWxsZWQgYXQgc3RhcnQgb2YgdXBkYXRlDQoJCWJlZm9yZVVwZGF0ZTogbm9vcCwNCg0KCQkvLyBDYWxsZWQgYXQgZW5kIG9mIHVwZGF0ZQ0KCQlhZnRlclVwZGF0ZTogbm9vcCwNCg0KCQkvLyBDYWxsZWQgYXQgc3RhcnQgb2YgZHJhdw0KCQliZWZvcmVEcmF3OiBub29wLA0KDQoJCS8vIENhbGxlZCBhdCBlbmQgb2YgZHJhdw0KCQlhZnRlckRyYXc6IG5vb3AsDQoNCgkJLy8gQ2FsbGVkIGR1cmluZyBkZXN0cm95DQoJCWRlc3Ryb3k6IG5vb3ANCgl9KTsNCn07DQoKfSx7fV0sMzA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCg0KCUNoYXJ0LmRlZmF1bHRzLnNjYWxlID0gew0KCQlkaXNwbGF5OiB0cnVlLA0KCQlwb3NpdGlvbjogImxlZnQiLA0KDQoJCS8vIGdyaWQgbGluZSBzZXR0aW5ncw0KCQlncmlkTGluZXM6IHsNCgkJCWRpc3BsYXk6IHRydWUsDQoJCQljb2xvcjogInJnYmEoMCwgMCwgMCwgMC4xKSIsDQoJCQlsaW5lV2lkdGg6IDEsDQoJCQlkcmF3Qm9yZGVyOiB0cnVlLA0KCQkJZHJhd09uQ2hhcnRBcmVhOiB0cnVlLA0KCQkJZHJhd1RpY2tzOiB0cnVlLA0KCQkJdGlja01hcmtMZW5ndGg6IDEwLA0KCQkJemVyb0xpbmVXaWR0aDogMSwNCgkJCXplcm9MaW5lQ29sb3I6ICJyZ2JhKDAsMCwwLDAuMjUpIiwNCgkJCW9mZnNldEdyaWRMaW5lczogZmFsc2UNCgkJfSwNCg0KCQkvLyBzY2FsZSBsYWJlbA0KCQlzY2FsZUxhYmVsOiB7DQoJCQkvLyBhY3R1YWwgbGFiZWwNCgkJCWxhYmVsU3RyaW5nOiAnJywNCg0KCQkJLy8gZGlzcGxheSBwcm9wZXJ0eQ0KCQkJZGlzcGxheTogZmFsc2UNCgkJfSwNCg0KCQkvLyBsYWJlbCBzZXR0aW5ncw0KCQl0aWNrczogew0KCQkJYmVnaW5BdFplcm86IGZhbHNlLA0KCQkJbWluUm90YXRpb246IDAsDQoJCQltYXhSb3RhdGlvbjogNTAsDQoJCQltaXJyb3I6IGZhbHNlLA0KCQkJcGFkZGluZzogMTAsDQoJCQlyZXZlcnNlOiBmYWxzZSwNCgkJCWRpc3BsYXk6IHRydWUsDQoJCQlhdXRvU2tpcDogdHJ1ZSwNCgkJCWF1dG9Ta2lwUGFkZGluZzogMCwNCgkJCWxhYmVsT2Zmc2V0OiAwLA0KCQkJY2FsbGJhY2s6IGZ1bmN0aW9uKHZhbHVlKSB7DQoJCQkJcmV0dXJuICcnICsgdmFsdWU7DQoJCQl9DQoJCX0NCgl9Ow0KDQoJQ2hhcnQuU2NhbGUgPSBDaGFydC5FbGVtZW50LmV4dGVuZCh7DQoNCgkJLy8gVGhlc2UgbWV0aG9kcyBhcmUgb3JkZXJlZCBieSBsaWZlY3lsZS4gVXRpbGl0aWVzIHRoZW4gZm9sbG93Lg0KCQkvLyBBbnkgZnVuY3Rpb24gZGVmaW5lZCBoZXJlIGlzIGluaGVyaXRlZCBieSBhbGwgc2NhbGUgdHlwZXMuDQoJCS8vIEFueSBmdW5jdGlvbiBjYW4gYmUgZXh0ZW5kZWQgYnkgdGhlIHNjYWxlIHR5cGUNCg0KCQliZWZvcmVVcGRhdGU6IGZ1bmN0aW9uKCkgew0KCQkJaGVscGVycy5jYWxsQ2FsbGJhY2sodGhpcy5vcHRpb25zLmJlZm9yZVVwZGF0ZSwgW3RoaXNdKTsNCgkJfSwNCgkJdXBkYXRlOiBmdW5jdGlvbihtYXhXaWR0aCwgbWF4SGVpZ2h0LCBtYXJnaW5zKSB7DQoNCgkJCS8vIFVwZGF0ZSBMaWZlY3ljbGUgLSBQcm9iYWJseSBkb24ndCB3YW50IHRvIGV2ZXIgZXh0ZW5kIG9yIG92ZXJ3cml0ZSB0aGlzIGZ1bmN0aW9uIDspDQoJCQl0aGlzLmJlZm9yZVVwZGF0ZSgpOw0KDQoJCQkvLyBBYnNvcmIgdGhlIG1hc3RlciBtZWFzdXJlbWVudHMNCgkJCXRoaXMubWF4V2lkdGggPSBtYXhXaWR0aDsNCgkJCXRoaXMubWF4SGVpZ2h0ID0gbWF4SGVpZ2h0Ow0KCQkJdGhpcy5tYXJnaW5zID0gaGVscGVycy5leHRlbmQoew0KCQkJCWxlZnQ6IDAsDQoJCQkJcmlnaHQ6IDAsDQoJCQkJdG9wOiAwLA0KCQkJCWJvdHRvbTogMA0KCQkJfSwgbWFyZ2lucyk7DQoNCgkJCS8vIERpbWVuc2lvbnMNCgkJCXRoaXMuYmVmb3JlU2V0RGltZW5zaW9ucygpOw0KCQkJdGhpcy5zZXREaW1lbnNpb25zKCk7DQoJCQl0aGlzLmFmdGVyU2V0RGltZW5zaW9ucygpOw0KDQoJCQkvLyBEYXRhIG1pbi9tYXgNCgkJCXRoaXMuYmVmb3JlRGF0YUxpbWl0cygpOw0KCQkJdGhpcy5kZXRlcm1pbmVEYXRhTGltaXRzKCk7DQoJCQl0aGlzLmFmdGVyRGF0YUxpbWl0cygpOw0KDQoJCQkvLyBUaWNrcw0KCQkJdGhpcy5iZWZvcmVCdWlsZFRpY2tzKCk7DQoJCQl0aGlzLmJ1aWxkVGlja3MoKTsNCgkJCXRoaXMuYWZ0ZXJCdWlsZFRpY2tzKCk7DQoNCgkJCXRoaXMuYmVmb3JlVGlja1RvTGFiZWxDb252ZXJzaW9uKCk7DQoJCQl0aGlzLmNvbnZlcnRUaWNrc1RvTGFiZWxzKCk7DQoJCQl0aGlzLmFmdGVyVGlja1RvTGFiZWxDb252ZXJzaW9uKCk7DQoNCgkJCS8vIFRpY2sgUm90YXRpb24NCgkJCXRoaXMuYmVmb3JlQ2FsY3VsYXRlVGlja1JvdGF0aW9uKCk7DQoJCQl0aGlzLmNhbGN1bGF0ZVRpY2tSb3RhdGlvbigpOw0KCQkJdGhpcy5hZnRlckNhbGN1bGF0ZVRpY2tSb3RhdGlvbigpOw0KCQkJLy8gRml0DQoJCQl0aGlzLmJlZm9yZUZpdCgpOw0KCQkJdGhpcy5maXQoKTsNCgkJCXRoaXMuYWZ0ZXJGaXQoKTsNCgkJCS8vDQoJCQl0aGlzLmFmdGVyVXBkYXRlKCk7DQoNCgkJCXJldHVybiB0aGlzLm1pblNpemU7DQoNCgkJfSwNCgkJYWZ0ZXJVcGRhdGU6IGZ1bmN0aW9uKCkgew0KCQkJaGVscGVycy5jYWxsQ2FsbGJhY2sodGhpcy5vcHRpb25zLmFmdGVyVXBkYXRlLCBbdGhpc10pOw0KCQl9LA0KDQoJCS8vDQoNCgkJYmVmb3JlU2V0RGltZW5zaW9uczogZnVuY3Rpb24oKSB7DQoJCQloZWxwZXJzLmNhbGxDYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlU2V0RGltZW5zaW9ucywgW3RoaXNdKTsNCgkJfSwNCgkJc2V0RGltZW5zaW9uczogZnVuY3Rpb24oKSB7DQoJCQkvLyBTZXQgdGhlIHVuY29uc3RyYWluZWQgZGltZW5zaW9uIGJlZm9yZSBsYWJlbCByb3RhdGlvbg0KCQkJaWYgKHRoaXMuaXNIb3Jpem9udGFsKCkpIHsNCgkJCQkvLyBSZXNldCBwb3NpdGlvbiBiZWZvcmUgY2FsY3VsYXRpbmcgcm90YXRpb24NCgkJCQl0aGlzLndpZHRoID0gdGhpcy5tYXhXaWR0aDsNCgkJCQl0aGlzLmxlZnQgPSAwOw0KCQkJCXRoaXMucmlnaHQgPSB0aGlzLndpZHRoOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLmhlaWdodCA9IHRoaXMubWF4SGVpZ2h0Ow0KDQoJCQkJLy8gUmVzZXQgcG9zaXRpb24gYmVmb3JlIGNhbGN1bGF0aW5nIHJvdGF0aW9uDQoJCQkJdGhpcy50b3AgPSAwOw0KCQkJCXRoaXMuYm90dG9tID0gdGhpcy5oZWlnaHQ7DQoJCQl9DQoNCgkJCS8vIFJlc2V0IHBhZGRpbmcNCgkJCXRoaXMucGFkZGluZ0xlZnQgPSAwOw0KCQkJdGhpcy5wYWRkaW5nVG9wID0gMDsNCgkJCXRoaXMucGFkZGluZ1JpZ2h0ID0gMDsNCgkJCXRoaXMucGFkZGluZ0JvdHRvbSA9IDA7DQoJCX0sDQoJCWFmdGVyU2V0RGltZW5zaW9uczogZnVuY3Rpb24oKSB7DQoJCQloZWxwZXJzLmNhbGxDYWxsYmFjayh0aGlzLm9wdGlvbnMuYWZ0ZXJTZXREaW1lbnNpb25zLCBbdGhpc10pOw0KCQl9LA0KDQoJCS8vIERhdGEgbGltaXRzDQoJCWJlZm9yZURhdGFMaW1pdHM6IGZ1bmN0aW9uKCkgew0KCQkJaGVscGVycy5jYWxsQ2FsbGJhY2sodGhpcy5vcHRpb25zLmJlZm9yZURhdGFMaW1pdHMsIFt0aGlzXSk7DQoJCX0sDQoJCWRldGVybWluZURhdGFMaW1pdHM6IGhlbHBlcnMubm9vcCwNCgkJYWZ0ZXJEYXRhTGltaXRzOiBmdW5jdGlvbigpIHsNCgkJCWhlbHBlcnMuY2FsbENhbGxiYWNrKHRoaXMub3B0aW9ucy5hZnRlckRhdGFMaW1pdHMsIFt0aGlzXSk7DQoJCX0sDQoNCgkJLy8NCgkJYmVmb3JlQnVpbGRUaWNrczogZnVuY3Rpb24oKSB7DQoJCQloZWxwZXJzLmNhbGxDYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlQnVpbGRUaWNrcywgW3RoaXNdKTsNCgkJfSwNCgkJYnVpbGRUaWNrczogaGVscGVycy5ub29wLA0KCQlhZnRlckJ1aWxkVGlja3M6IGZ1bmN0aW9uKCkgew0KCQkJaGVscGVycy5jYWxsQ2FsbGJhY2sodGhpcy5vcHRpb25zLmFmdGVyQnVpbGRUaWNrcywgW3RoaXNdKTsNCgkJfSwNCg0KCQliZWZvcmVUaWNrVG9MYWJlbENvbnZlcnNpb246IGZ1bmN0aW9uKCkgew0KCQkJaGVscGVycy5jYWxsQ2FsbGJhY2sodGhpcy5vcHRpb25zLmJlZm9yZVRpY2tUb0xhYmVsQ29udmVyc2lvbiwgW3RoaXNdKTsNCgkJfSwNCgkJY29udmVydFRpY2tzVG9MYWJlbHM6IGZ1bmN0aW9uKCkgew0KCQkJLy8gQ29udmVydCB0aWNrcyB0byBzdHJpbmdzDQoJCQl0aGlzLnRpY2tzID0gdGhpcy50aWNrcy5tYXAoZnVuY3Rpb24obnVtZXJpY2FsVGljaywgaW5kZXgsIHRpY2tzKSB7DQoJCQkJCWlmICh0aGlzLm9wdGlvbnMudGlja3MudXNlckNhbGxiYWNrKSB7DQoJCQkJCQlyZXR1cm4gdGhpcy5vcHRpb25zLnRpY2tzLnVzZXJDYWxsYmFjayhudW1lcmljYWxUaWNrLCBpbmRleCwgdGlja3MpOw0KCQkJCQl9DQoJCQkJCXJldHVybiB0aGlzLm9wdGlvbnMudGlja3MuY2FsbGJhY2sobnVtZXJpY2FsVGljaywgaW5kZXgsIHRpY2tzKTsNCgkJCQl9LA0KCQkJCXRoaXMpOw0KCQl9LA0KCQlhZnRlclRpY2tUb0xhYmVsQ29udmVyc2lvbjogZnVuY3Rpb24oKSB7DQoJCQloZWxwZXJzLmNhbGxDYWxsYmFjayh0aGlzLm9wdGlvbnMuYWZ0ZXJUaWNrVG9MYWJlbENvbnZlcnNpb24sIFt0aGlzXSk7DQoJCX0sDQoNCgkJLy8NCg0KCQliZWZvcmVDYWxjdWxhdGVUaWNrUm90YXRpb246IGZ1bmN0aW9uKCkgew0KCQkJaGVscGVycy5jYWxsQ2FsbGJhY2sodGhpcy5vcHRpb25zLmJlZm9yZUNhbGN1bGF0ZVRpY2tSb3RhdGlvbiwgW3RoaXNdKTsNCgkJfSwNCgkJY2FsY3VsYXRlVGlja1JvdGF0aW9uOiBmdW5jdGlvbigpIHsNCgkJCXZhciBjb250ZXh0ID0gdGhpcy5jdHg7DQoJCQl2YXIgZ2xvYmFsRGVmYXVsdHMgPSBDaGFydC5kZWZhdWx0cy5nbG9iYWw7DQoJCQl2YXIgb3B0aW9uVGlja3MgPSB0aGlzLm9wdGlvbnMudGlja3M7DQoNCgkJCS8vR2V0IHRoZSB3aWR0aCBvZiBlYWNoIGdyaWQgYnkgY2FsY3VsYXRpbmcgdGhlIGRpZmZlcmVuY2UNCgkJCS8vYmV0d2VlbiB4IG9mZnNldHMgYmV0d2VlbiAwIGFuZCAxLg0KCQkJdmFyIHRpY2tGb250U2l6ZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQob3B0aW9uVGlja3MuZm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSk7DQoJCQl2YXIgdGlja0ZvbnRTdHlsZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQob3B0aW9uVGlja3MuZm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFN0eWxlKTsNCgkJCXZhciB0aWNrRm9udEZhbWlseSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQob3B0aW9uVGlja3MuZm9udEZhbWlseSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRGYW1pbHkpOw0KCQkJdmFyIHRpY2tMYWJlbEZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcodGlja0ZvbnRTaXplLCB0aWNrRm9udFN0eWxlLCB0aWNrRm9udEZhbWlseSk7DQoJCQljb250ZXh0LmZvbnQgPSB0aWNrTGFiZWxGb250Ow0KDQoJCQl2YXIgZmlyc3RXaWR0aCA9IGNvbnRleHQubWVhc3VyZVRleHQodGhpcy50aWNrc1swXSkud2lkdGg7DQoJCQl2YXIgbGFzdFdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dCh0aGlzLnRpY2tzW3RoaXMudGlja3MubGVuZ3RoIC0gMV0pLndpZHRoOw0KCQkJdmFyIGZpcnN0Um90YXRlZDsNCg0KCQkJdGhpcy5sYWJlbFJvdGF0aW9uID0gb3B0aW9uVGlja3MubWluUm90YXRpb24gfHwgMDsNCgkJCXRoaXMucGFkZGluZ1JpZ2h0ID0gMDsNCgkJCXRoaXMucGFkZGluZ0xlZnQgPSAwOw0KDQoJCQlpZiAodGhpcy5vcHRpb25zLmRpc3BsYXkpIHsNCgkJCQlpZiAodGhpcy5pc0hvcml6b250YWwoKSkgew0KCQkJCQl0aGlzLnBhZGRpbmdSaWdodCA9IGxhc3RXaWR0aCAvIDIgKyAzOw0KCQkJCQl0aGlzLnBhZGRpbmdMZWZ0ID0gZmlyc3RXaWR0aCAvIDIgKyAzOw0KDQoJCQkJCWlmICghdGhpcy5sb25nZXN0VGV4dENhY2hlKSB7DQoJCQkJCQl0aGlzLmxvbmdlc3RUZXh0Q2FjaGUgPSB7fTsNCgkJCQkJfQ0KCQkJCQl2YXIgb3JpZ2luYWxMYWJlbFdpZHRoID0gaGVscGVycy5sb25nZXN0VGV4dChjb250ZXh0LCB0aWNrTGFiZWxGb250LCB0aGlzLnRpY2tzLCB0aGlzLmxvbmdlc3RUZXh0Q2FjaGUpOw0KCQkJCQl2YXIgbGFiZWxXaWR0aCA9IG9yaWdpbmFsTGFiZWxXaWR0aDsNCgkJCQkJdmFyIGNvc1JvdGF0aW9uOw0KCQkJCQl2YXIgc2luUm90YXRpb247DQoNCgkJCQkJLy8gQWxsb3cgMyBwaXhlbHMgeDIgcGFkZGluZyBlaXRoZXIgc2lkZSBmb3IgbGFiZWwgcmVhZGFiaWxpdHkNCgkJCQkJLy8gb25seSB0aGUgaW5kZXggbWF0dGVycyBmb3IgYSBkYXRhc2V0IHNjYWxlLCBidXQgd2Ugd2FudCBhIGNvbnNpc3RlbnQgaW50ZXJmYWNlIGJldHdlZW4gc2NhbGVzDQoJCQkJCXZhciB0aWNrV2lkdGggPSB0aGlzLmdldFBpeGVsRm9yVGljaygxKSAtIHRoaXMuZ2V0UGl4ZWxGb3JUaWNrKDApIC0gNjsNCg0KCQkJCQkvL01heCBsYWJlbCByb3RhdGlvbiBjYW4gYmUgc2V0IG9yIGRlZmF1bHQgdG8gOTAgLSBhbHNvIGFjdCBhcyBhIGxvb3AgY291bnRlcg0KCQkJCQl3aGlsZSAobGFiZWxXaWR0aCA+IHRpY2tXaWR0aCAmJiB0aGlzLmxhYmVsUm90YXRpb24gPCBvcHRpb25UaWNrcy5tYXhSb3RhdGlvbikgew0KCQkJCQkJY29zUm90YXRpb24gPSBNYXRoLmNvcyhoZWxwZXJzLnRvUmFkaWFucyh0aGlzLmxhYmVsUm90YXRpb24pKTsNCgkJCQkJCXNpblJvdGF0aW9uID0gTWF0aC5zaW4oaGVscGVycy50b1JhZGlhbnModGhpcy5sYWJlbFJvdGF0aW9uKSk7DQoNCgkJCQkJCWZpcnN0Um90YXRlZCA9IGNvc1JvdGF0aW9uICogZmlyc3RXaWR0aDsNCg0KCQkJCQkJLy8gV2UncmUgcmlnaHQgYWxpZ25pbmcgdGhlIHRleHQgbm93Lg0KCQkJCQkJaWYgKGZpcnN0Um90YXRlZCArIHRpY2tGb250U2l6ZSAvIDIgPiB0aGlzLnlMYWJlbFdpZHRoKSB7DQoJCQkJCQkJdGhpcy5wYWRkaW5nTGVmdCA9IGZpcnN0Um90YXRlZCArIHRpY2tGb250U2l6ZSAvIDI7DQoJCQkJCQl9DQoNCgkJCQkJCXRoaXMucGFkZGluZ1JpZ2h0ID0gdGlja0ZvbnRTaXplIC8gMjsNCg0KCQkJCQkJaWYgKHNpblJvdGF0aW9uICogb3JpZ2luYWxMYWJlbFdpZHRoID4gdGhpcy5tYXhIZWlnaHQpIHsNCgkJCQkJCQkvLyBnbyBiYWNrIG9uZSBzdGVwDQoJCQkJCQkJdGhpcy5sYWJlbFJvdGF0aW9uLS07DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQl9DQoNCgkJCQkJCXRoaXMubGFiZWxSb3RhdGlvbisrOw0KCQkJCQkJbGFiZWxXaWR0aCA9IGNvc1JvdGF0aW9uICogb3JpZ2luYWxMYWJlbFdpZHRoOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAodGhpcy5tYXJnaW5zKSB7DQoJCQkJdGhpcy5wYWRkaW5nTGVmdCA9IE1hdGgubWF4KHRoaXMucGFkZGluZ0xlZnQgLSB0aGlzLm1hcmdpbnMubGVmdCwgMCk7DQoJCQkJdGhpcy5wYWRkaW5nUmlnaHQgPSBNYXRoLm1heCh0aGlzLnBhZGRpbmdSaWdodCAtIHRoaXMubWFyZ2lucy5yaWdodCwgMCk7DQoJCQl9DQoJCX0sDQoJCWFmdGVyQ2FsY3VsYXRlVGlja1JvdGF0aW9uOiBmdW5jdGlvbigpIHsNCgkJCWhlbHBlcnMuY2FsbENhbGxiYWNrKHRoaXMub3B0aW9ucy5hZnRlckNhbGN1bGF0ZVRpY2tSb3RhdGlvbiwgW3RoaXNdKTsNCgkJfSwNCg0KCQkvLw0KDQoJCWJlZm9yZUZpdDogZnVuY3Rpb24oKSB7DQoJCQloZWxwZXJzLmNhbGxDYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlRml0LCBbdGhpc10pOw0KCQl9LA0KCQlmaXQ6IGZ1bmN0aW9uKCkgew0KCQkJLy8gUmVzZXQNCgkJCXZhciBtaW5TaXplID0gdGhpcy5taW5TaXplID0gew0KCQkJCXdpZHRoOiAwLA0KCQkJCWhlaWdodDogMA0KCQkJfTsNCg0KCQkJdmFyIG9wdHMgPSB0aGlzLm9wdGlvbnM7DQoJCQl2YXIgZ2xvYmFsRGVmYXVsdHMgPSBDaGFydC5kZWZhdWx0cy5nbG9iYWw7DQoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOw0KCQkJdmFyIHNjYWxlTGFiZWxPcHRzID0gb3B0cy5zY2FsZUxhYmVsOw0KCQkJdmFyIGRpc3BsYXkgPSBvcHRzLmRpc3BsYXk7DQoJCQl2YXIgaXNIb3Jpem9udGFsID0gdGhpcy5pc0hvcml6b250YWwoKTsNCg0KCQkJdmFyIHRpY2tGb250U2l6ZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGlja09wdHMuZm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSk7DQoJCQl2YXIgdGlja0ZvbnRTdHlsZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGlja09wdHMuZm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFN0eWxlKTsNCgkJCXZhciB0aWNrRm9udEZhbWlseSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGlja09wdHMuZm9udEZhbWlseSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRGYW1pbHkpOw0KCQkJdmFyIHRpY2tMYWJlbEZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcodGlja0ZvbnRTaXplLCB0aWNrRm9udFN0eWxlLCB0aWNrRm9udEZhbWlseSk7DQoNCgkJCXZhciBzY2FsZUxhYmVsRm9udFNpemUgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHNjYWxlTGFiZWxPcHRzLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpOw0KCQkJdmFyIHNjYWxlTGFiZWxGb250U3R5bGUgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHNjYWxlTGFiZWxPcHRzLmZvbnRTdHlsZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTdHlsZSk7DQoJCQl2YXIgc2NhbGVMYWJlbEZvbnRGYW1pbHkgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHNjYWxlTGFiZWxPcHRzLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KTsNCgkJCXZhciBzY2FsZUxhYmVsRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhzY2FsZUxhYmVsRm9udFNpemUsIHNjYWxlTGFiZWxGb250U3R5bGUsIHNjYWxlTGFiZWxGb250RmFtaWx5KTsNCg0KCQkJdmFyIHRpY2tNYXJrTGVuZ3RoID0gb3B0cy5ncmlkTGluZXMudGlja01hcmtMZW5ndGg7DQoNCgkJCS8vIFdpZHRoDQoJCQlpZiAoaXNIb3Jpem9udGFsKSB7DQoJCQkJLy8gc3VidHJhY3QgdGhlIG1hcmdpbnMgdG8gbGluZSB1cCB3aXRoIHRoZSBjaGFydEFyZWEgaWYgd2UgYXJlIGEgZnVsbCB3aWR0aCBzY2FsZQ0KCQkJCW1pblNpemUud2lkdGggPSB0aGlzLmlzRnVsbFdpZHRoKCkgPyB0aGlzLm1heFdpZHRoIC0gdGhpcy5tYXJnaW5zLmxlZnQgLSB0aGlzLm1hcmdpbnMucmlnaHQgOiB0aGlzLm1heFdpZHRoOw0KCQkJfSBlbHNlIHsNCgkJCQltaW5TaXplLndpZHRoID0gZGlzcGxheSA/IHRpY2tNYXJrTGVuZ3RoIDogMDsNCgkJCX0NCg0KCQkJLy8gaGVpZ2h0DQoJCQlpZiAoaXNIb3Jpem9udGFsKSB7DQoJCQkJbWluU2l6ZS5oZWlnaHQgPSBkaXNwbGF5ID8gdGlja01hcmtMZW5ndGggOiAwOw0KCQkJfSBlbHNlIHsNCgkJCQltaW5TaXplLmhlaWdodCA9IHRoaXMubWF4SGVpZ2h0OyAvLyBmaWxsIGFsbCB0aGUgaGVpZ2h0DQoJCQl9DQoNCgkJCS8vIEFyZSB3ZSBzaG93aW5nIGEgdGl0bGUgZm9yIHRoZSBzY2FsZT8NCgkJCWlmIChzY2FsZUxhYmVsT3B0cy5kaXNwbGF5ICYmIGRpc3BsYXkpIHsNCgkJCQlpZiAoaXNIb3Jpem9udGFsKSB7DQoJCQkJCW1pblNpemUuaGVpZ2h0ICs9IChzY2FsZUxhYmVsRm9udFNpemUgKiAxLjUpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCW1pblNpemUud2lkdGggKz0gKHNjYWxlTGFiZWxGb250U2l6ZSAqIDEuNSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAodGlja09wdHMuZGlzcGxheSAmJiBkaXNwbGF5KSB7DQoJCQkJLy8gRG9uJ3QgYm90aGVyIGZpdHRpbmcgdGhlIHRpY2tzIGlmIHdlIGFyZSBub3Qgc2hvd2luZyB0aGVtDQoJCQkJaWYgKCF0aGlzLmxvbmdlc3RUZXh0Q2FjaGUpIHsNCgkJCQkJdGhpcy5sb25nZXN0VGV4dENhY2hlID0ge307DQoJCQkJfQ0KDQoJCQkJdmFyIGxhcmdlc3RUZXh0V2lkdGggPSBoZWxwZXJzLmxvbmdlc3RUZXh0KHRoaXMuY3R4LCB0aWNrTGFiZWxGb250LCB0aGlzLnRpY2tzLCB0aGlzLmxvbmdlc3RUZXh0Q2FjaGUpOw0KDQoJCQkJaWYgKGlzSG9yaXpvbnRhbCkgew0KCQkJCQkvLyBBIGhvcml6b250YWwgYXhpcyBpcyBtb3JlIGNvbnN0cmFpbmVkIGJ5IHRoZSBoZWlnaHQuDQoJCQkJCXRoaXMubG9uZ2VzdExhYmVsV2lkdGggPSBsYXJnZXN0VGV4dFdpZHRoOw0KDQoJCQkJCS8vIFRPRE8gLSBpbXByb3ZlIHRoaXMgY2FsY3VsYXRpb24NCgkJCQkJdmFyIGxhYmVsSGVpZ2h0ID0gKE1hdGguc2luKGhlbHBlcnMudG9SYWRpYW5zKHRoaXMubGFiZWxSb3RhdGlvbikpICogdGhpcy5sb25nZXN0TGFiZWxXaWR0aCkgKyAxLjUgKiB0aWNrRm9udFNpemU7DQoNCgkJCQkJbWluU2l6ZS5oZWlnaHQgPSBNYXRoLm1pbih0aGlzLm1heEhlaWdodCwgbWluU2l6ZS5oZWlnaHQgKyBsYWJlbEhlaWdodCk7DQoJCQkJCXRoaXMuY3R4LmZvbnQgPSB0aWNrTGFiZWxGb250Ow0KDQoJCQkJCXZhciBmaXJzdExhYmVsV2lkdGggPSB0aGlzLmN0eC5tZWFzdXJlVGV4dCh0aGlzLnRpY2tzWzBdKS53aWR0aDsNCgkJCQkJdmFyIGxhc3RMYWJlbFdpZHRoID0gdGhpcy5jdHgubWVhc3VyZVRleHQodGhpcy50aWNrc1t0aGlzLnRpY2tzLmxlbmd0aCAtIDFdKS53aWR0aDsNCg0KCQkJCQkvLyBFbnN1cmUgdGhhdCBvdXIgdGlja3MgYXJlIGFsd2F5cyBpbnNpZGUgdGhlIGNhbnZhcy4gV2hlbiByb3RhdGVkLCB0aWNrcyBhcmUgcmlnaHQgYWxpZ25lZCB3aGljaCBtZWFucyB0aGF0IHRoZSByaWdodCBwYWRkaW5nIGlzIGRvbWluYXRlZA0KCQkJCQkvLyBieSB0aGUgZm9udCBoZWlnaHQNCgkJCQkJdmFyIGNvc1JvdGF0aW9uID0gTWF0aC5jb3MoaGVscGVycy50b1JhZGlhbnModGhpcy5sYWJlbFJvdGF0aW9uKSk7DQoJCQkJCXZhciBzaW5Sb3RhdGlvbiA9IE1hdGguc2luKGhlbHBlcnMudG9SYWRpYW5zKHRoaXMubGFiZWxSb3RhdGlvbikpOw0KCQkJCQl0aGlzLnBhZGRpbmdMZWZ0ID0gdGhpcy5sYWJlbFJvdGF0aW9uICE9PSAwID8gKGNvc1JvdGF0aW9uICogZmlyc3RMYWJlbFdpZHRoKSArIDMgOiBmaXJzdExhYmVsV2lkdGggLyAyICsgMzsgLy8gYWRkIDMgcHggdG8gbW92ZSBhd2F5IGZyb20gY2FudmFzIGVkZ2VzDQoJCQkJCXRoaXMucGFkZGluZ1JpZ2h0ID0gdGhpcy5sYWJlbFJvdGF0aW9uICE9PSAwID8gKHNpblJvdGF0aW9uICogKHRpY2tGb250U2l6ZSAvIDIpKSArIDMgOiBsYXN0TGFiZWxXaWR0aCAvIDIgKyAzOyAvLyB3aGVuIHJvdGF0ZWQNCgkJCQl9IGVsc2Ugew0KCQkJCQkvLyBBIHZlcnRpY2FsIGF4aXMgaXMgbW9yZSBjb25zdHJhaW5lZCBieSB0aGUgd2lkdGguIExhYmVscyBhcmUgdGhlIGRvbWluYW50IGZhY3RvciBoZXJlLCBzbyBnZXQgdGhhdCBsZW5ndGggZmlyc3QNCgkJCQkJdmFyIG1heExhYmVsV2lkdGggPSB0aGlzLm1heFdpZHRoIC0gbWluU2l6ZS53aWR0aDsNCg0KCQkJCQkvLyBBY2NvdW50IGZvciBwYWRkaW5nDQoJCQkJCXZhciBtaXJyb3IgPSB0aWNrT3B0cy5taXJyb3I7DQoJCQkJCWlmICghbWlycm9yKSB7DQoJCQkJCQlsYXJnZXN0VGV4dFdpZHRoICs9IHRoaXMub3B0aW9ucy50aWNrcy5wYWRkaW5nOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJLy8gSWYgbWlycm9yZWQgdGV4dCBpcyBvbiB0aGUgaW5zaWRlIHNvIGRvbid0IGV4cGFuZA0KCQkJCQkJbGFyZ2VzdFRleHRXaWR0aCA9IDA7DQoJCQkJCX0NCg0KCQkJCQlpZiAobGFyZ2VzdFRleHRXaWR0aCA8IG1heExhYmVsV2lkdGgpIHsNCgkJCQkJCS8vIFdlIGRvbid0IG5lZWQgYWxsIHRoZSByb29tDQoJCQkJCQltaW5TaXplLndpZHRoICs9IGxhcmdlc3RUZXh0V2lkdGg7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQkvLyBFeHBhbmQgdG8gbWF4IHNpemUNCgkJCQkJCW1pblNpemUud2lkdGggPSB0aGlzLm1heFdpZHRoOw0KCQkJCQl9DQoNCgkJCQkJdGhpcy5wYWRkaW5nVG9wID0gdGlja0ZvbnRTaXplIC8gMjsNCgkJCQkJdGhpcy5wYWRkaW5nQm90dG9tID0gdGlja0ZvbnRTaXplIC8gMjsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICh0aGlzLm1hcmdpbnMpIHsNCgkJCQl0aGlzLnBhZGRpbmdMZWZ0ID0gTWF0aC5tYXgodGhpcy5wYWRkaW5nTGVmdCAtIHRoaXMubWFyZ2lucy5sZWZ0LCAwKTsNCgkJCQl0aGlzLnBhZGRpbmdUb3AgPSBNYXRoLm1heCh0aGlzLnBhZGRpbmdUb3AgLSB0aGlzLm1hcmdpbnMudG9wLCAwKTsNCgkJCQl0aGlzLnBhZGRpbmdSaWdodCA9IE1hdGgubWF4KHRoaXMucGFkZGluZ1JpZ2h0IC0gdGhpcy5tYXJnaW5zLnJpZ2h0LCAwKTsNCgkJCQl0aGlzLnBhZGRpbmdCb3R0b20gPSBNYXRoLm1heCh0aGlzLnBhZGRpbmdCb3R0b20gLSB0aGlzLm1hcmdpbnMuYm90dG9tLCAwKTsNCgkJCX0NCg0KCQkJdGhpcy53aWR0aCA9IG1pblNpemUud2lkdGg7DQoJCQl0aGlzLmhlaWdodCA9IG1pblNpemUuaGVpZ2h0Ow0KDQoJCX0sDQoJCWFmdGVyRml0OiBmdW5jdGlvbigpIHsNCgkJCWhlbHBlcnMuY2FsbENhbGxiYWNrKHRoaXMub3B0aW9ucy5hZnRlckZpdCwgW3RoaXNdKTsNCgkJfSwNCg0KCQkvLyBTaGFyZWQgTWV0aG9kcw0KCQlpc0hvcml6b250YWw6IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIHRoaXMub3B0aW9ucy5wb3NpdGlvbiA9PT0gInRvcCIgfHwgdGhpcy5vcHRpb25zLnBvc2l0aW9uID09PSAiYm90dG9tIjsNCgkJfSwNCgkJaXNGdWxsV2lkdGg6IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuICh0aGlzLm9wdGlvbnMuZnVsbFdpZHRoKTsNCgkJfSwNCg0KCQkvLyBHZXQgdGhlIGNvcnJlY3QgdmFsdWUuIE5hTiBiYWQgaW5wdXRzLCBJZiB0aGUgdmFsdWUgdHlwZSBpcyBvYmplY3QgZ2V0IHRoZSB4IG9yIHkgYmFzZWQgb24gd2hldGhlciB3ZSBhcmUgaG9yaXpvbnRhbCBvciBub3QNCgkJZ2V0UmlnaHRWYWx1ZTogZnVuY3Rpb24gZ2V0UmlnaHRWYWx1ZShyYXdWYWx1ZSkgew0KCQkJLy8gTnVsbCBhbmQgdW5kZWZpbmVkIHZhbHVlcyBmaXJzdA0KCQkJaWYgKHJhd1ZhbHVlID09PSBudWxsIHx8IHR5cGVvZihyYXdWYWx1ZSkgPT09ICd1bmRlZmluZWQnKSB7DQoJCQkJcmV0dXJuIE5hTjsNCgkJCX0NCgkJCS8vIGlzTmFOKG9iamVjdCkgcmV0dXJucyB0cnVlLCBzbyBtYWtlIHN1cmUgTmFOIGlzIGNoZWNraW5nIGZvciBhIG51bWJlcg0KCQkJaWYgKHR5cGVvZihyYXdWYWx1ZSkgPT09ICdudW1iZXInICYmIGlzTmFOKHJhd1ZhbHVlKSkgew0KCQkJCXJldHVybiBOYU47DQoJCQl9DQoJCQkvLyBJZiBpdCBpcyBpbiBmYWN0IGFuIG9iamVjdCwgZGl2ZSBpbiBvbmUgbW9yZSBsZXZlbA0KCQkJaWYgKHR5cGVvZihyYXdWYWx1ZSkgPT09ICJvYmplY3QiKSB7DQoJCQkJaWYgKChyYXdWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHx8IChyYXdWYWx1ZS5pc1ZhbGlkKSkgew0KCQkJCQlyZXR1cm4gcmF3VmFsdWU7DQoJCQkJfSBlbHNlIHsNCgkJCQkJcmV0dXJuIGdldFJpZ2h0VmFsdWUodGhpcy5pc0hvcml6b250YWwoKSA/IHJhd1ZhbHVlLnggOiByYXdWYWx1ZS55KTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFZhbHVlIGlzIGdvb2QsIHJldHVybiBpdA0KCQkJcmV0dXJuIHJhd1ZhbHVlOw0KCQl9LA0KDQoJCS8vIFVzZWQgdG8gZ2V0IHRoZSB2YWx1ZSB0byBkaXNwbGF5IGluIHRoZSB0b29sdGlwIGZvciB0aGUgZGF0YSBhdCB0aGUgZ2l2ZW4gaW5kZXgNCgkJLy8gZnVuY3Rpb24gZ2V0TGFiZWxGb3JJbmRleChpbmRleCwgZGF0YXNldEluZGV4KQ0KCQlnZXRMYWJlbEZvckluZGV4OiBoZWxwZXJzLm5vb3AsDQoNCgkJLy8gVXNlZCB0byBnZXQgZGF0YSB2YWx1ZSBsb2NhdGlvbnMuICBWYWx1ZSBjYW4gZWl0aGVyIGJlIGFuIGluZGV4IG9yIGEgbnVtZXJpY2FsIHZhbHVlDQoJCWdldFBpeGVsRm9yVmFsdWU6IGhlbHBlcnMubm9vcCwNCg0KCQkvLyBVc2VkIHRvIGdldCB0aGUgZGF0YSB2YWx1ZSBmcm9tIGEgZ2l2ZW4gcGl4ZWwuIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgZ2V0UGl4ZWxGb3JWYWx1ZQ0KCQlnZXRWYWx1ZUZvclBpeGVsOiBoZWxwZXJzLm5vb3AsDQoNCgkJLy8gVXNlZCBmb3IgdGljayBsb2NhdGlvbiwgc2hvdWxkDQoJCWdldFBpeGVsRm9yVGljazogZnVuY3Rpb24oaW5kZXgsIGluY2x1ZGVPZmZzZXQpIHsNCgkJCWlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7DQoJCQkJdmFyIGlubmVyV2lkdGggPSB0aGlzLndpZHRoIC0gKHRoaXMucGFkZGluZ0xlZnQgKyB0aGlzLnBhZGRpbmdSaWdodCk7DQoJCQkJdmFyIHRpY2tXaWR0aCA9IGlubmVyV2lkdGggLyBNYXRoLm1heCgodGhpcy50aWNrcy5sZW5ndGggLSAoKHRoaXMub3B0aW9ucy5ncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzKSA/IDAgOiAxKSksIDEpOw0KCQkJCXZhciBwaXhlbCA9ICh0aWNrV2lkdGggKiBpbmRleCkgKyB0aGlzLnBhZGRpbmdMZWZ0Ow0KDQoJCQkJaWYgKGluY2x1ZGVPZmZzZXQpIHsNCgkJCQkJcGl4ZWwgKz0gdGlja1dpZHRoIC8gMjsNCgkJCQl9DQoNCgkJCQl2YXIgZmluYWxWYWwgPSB0aGlzLmxlZnQgKyBNYXRoLnJvdW5kKHBpeGVsKTsNCgkJCQlmaW5hbFZhbCArPSB0aGlzLmlzRnVsbFdpZHRoKCkgPyB0aGlzLm1hcmdpbnMubGVmdCA6IDA7DQoJCQkJcmV0dXJuIGZpbmFsVmFsOw0KCQkJfSBlbHNlIHsNCgkJCQl2YXIgaW5uZXJIZWlnaHQgPSB0aGlzLmhlaWdodCAtICh0aGlzLnBhZGRpbmdUb3AgKyB0aGlzLnBhZGRpbmdCb3R0b20pOw0KCQkJCXJldHVybiB0aGlzLnRvcCArIChpbmRleCAqIChpbm5lckhlaWdodCAvICh0aGlzLnRpY2tzLmxlbmd0aCAtIDEpKSk7DQoJCQl9DQoJCX0sDQoNCgkJLy8gVXRpbGl0eSBmb3IgZ2V0dGluZyB0aGUgcGl4ZWwgbG9jYXRpb24gb2YgYSBwZXJjZW50YWdlIG9mIHNjYWxlDQoJCWdldFBpeGVsRm9yRGVjaW1hbDogZnVuY3Rpb24oZGVjaW1hbCAvKiwgaW5jbHVkZU9mZnNldCovICkgew0KCQkJaWYgKHRoaXMuaXNIb3Jpem9udGFsKCkpIHsNCgkJCQl2YXIgaW5uZXJXaWR0aCA9IHRoaXMud2lkdGggLSAodGhpcy5wYWRkaW5nTGVmdCArIHRoaXMucGFkZGluZ1JpZ2h0KTsNCgkJCQl2YXIgdmFsdWVPZmZzZXQgPSAoaW5uZXJXaWR0aCAqIGRlY2ltYWwpICsgdGhpcy5wYWRkaW5nTGVmdDsNCg0KCQkJCXZhciBmaW5hbFZhbCA9IHRoaXMubGVmdCArIE1hdGgucm91bmQodmFsdWVPZmZzZXQpOw0KCQkJCWZpbmFsVmFsICs9IHRoaXMuaXNGdWxsV2lkdGgoKSA/IHRoaXMubWFyZ2lucy5sZWZ0IDogMDsNCgkJCQlyZXR1cm4gZmluYWxWYWw7DQoJCQl9IGVsc2Ugew0KCQkJCXJldHVybiB0aGlzLnRvcCArIChkZWNpbWFsICogdGhpcy5oZWlnaHQpOw0KCQkJfQ0KCQl9LA0KDQoJCWdldEJhc2VQaXhlbDogZnVuY3Rpb24oKSB7DQoJCQl2YXIgbWUgPSB0aGlzOw0KCQkJdmFyIG1pbiA9IG1lLm1pbjsNCgkJCXZhciBtYXggPSBtZS5tYXg7DQoNCgkJCXJldHVybiBtZS5nZXRQaXhlbEZvclZhbHVlKA0KCQkJCW1lLmJlZ2luQXRaZXJvPyAwOg0KCQkJCW1pbiA8IDAgJiYgbWF4IDwgMD8gbWF4IDoNCgkJCQltaW4gPiAwICYmIG1heCA+IDA/IG1pbiA6DQoJCQkJMCk7DQoJCX0sDQoNCgkJLy8gQWN0dWFseSBkcmF3IHRoZSBzY2FsZSBvbiB0aGUgY2FudmFzDQoJCS8vIEBwYXJhbSB7cmVjdGFuZ2xlfSBjaGFydEFyZWEgOiB0aGUgYXJlYSBvZiB0aGUgY2hhcnQgdG8gZHJhdyBmdWxsIGdyaWQgbGluZXMgb24NCgkJZHJhdzogZnVuY3Rpb24oY2hhcnRBcmVhKSB7DQoJCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCgkJCWlmICghb3B0aW9ucy5kaXNwbGF5KSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQl2YXIgY29udGV4dCA9IHRoaXMuY3R4Ow0KCQkJdmFyIGdsb2JhbERlZmF1bHRzID0gQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsOw0KCQkJdmFyIG9wdGlvblRpY2tzID0gb3B0aW9ucy50aWNrczsNCgkJCXZhciBncmlkTGluZXMgPSBvcHRpb25zLmdyaWRMaW5lczsNCgkJCXZhciBzY2FsZUxhYmVsID0gb3B0aW9ucy5zY2FsZUxhYmVsOw0KDQoJCQl2YXIgc2V0Q29udGV4dExpbmVTZXR0aW5nczsNCgkJCXZhciBpc1JvdGF0ZWQgPSB0aGlzLmxhYmVsUm90YXRpb24gIT09IDA7DQoJCQl2YXIgc2tpcFJhdGlvOw0KCQkJdmFyIHNjYWxlTGFiZWxYOw0KCQkJdmFyIHNjYWxlTGFiZWxZOw0KCQkJdmFyIHVzZUF1dG9za2lwcGVyID0gb3B0aW9uVGlja3MuYXV0b1NraXA7DQoNCgkJCS8vIGZpZ3VyZSBvdXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGdyaWRsaW5lcyB0byBzaG93DQoJCQl2YXIgbWF4VGlja3M7DQoJCQlpZiAob3B0aW9uVGlja3MubWF4VGlja3NMaW1pdCkgew0KCQkJCW1heFRpY2tzID0gb3B0aW9uVGlja3MubWF4VGlja3NMaW1pdDsNCgkJCX0NCg0KCQkJdmFyIHRpY2tGb250Q29sb3IgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KG9wdGlvblRpY2tzLmZvbnRDb2xvciwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRDb2xvcik7DQoJCQl2YXIgdGlja0ZvbnRTaXplID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdChvcHRpb25UaWNrcy5mb250U2l6ZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTaXplKTsNCgkJCXZhciB0aWNrRm9udFN0eWxlID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdChvcHRpb25UaWNrcy5mb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpOw0KCQkJdmFyIHRpY2tGb250RmFtaWx5ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdChvcHRpb25UaWNrcy5mb250RmFtaWx5LCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udEZhbWlseSk7DQoJCQl2YXIgdGlja0xhYmVsRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyh0aWNrRm9udFNpemUsIHRpY2tGb250U3R5bGUsIHRpY2tGb250RmFtaWx5KTsNCgkJCXZhciB0bCA9IGdyaWRMaW5lcy50aWNrTWFya0xlbmd0aDsNCg0KCQkJdmFyIHNjYWxlTGFiZWxGb250Q29sb3IgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHNjYWxlTGFiZWwuZm9udENvbG9yLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udENvbG9yKTsNCgkJCXZhciBzY2FsZUxhYmVsRm9udFNpemUgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHNjYWxlTGFiZWwuZm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSk7DQoJCQl2YXIgc2NhbGVMYWJlbEZvbnRTdHlsZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQoc2NhbGVMYWJlbC5mb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpOw0KCQkJdmFyIHNjYWxlTGFiZWxGb250RmFtaWx5ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdChzY2FsZUxhYmVsLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KTsNCgkJCXZhciBzY2FsZUxhYmVsRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhzY2FsZUxhYmVsRm9udFNpemUsIHNjYWxlTGFiZWxGb250U3R5bGUsIHNjYWxlTGFiZWxGb250RmFtaWx5KTsNCg0KCQkJdmFyIGxhYmVsUm90YXRpb25SYWRpYW5zID0gaGVscGVycy50b1JhZGlhbnModGhpcy5sYWJlbFJvdGF0aW9uKTsNCgkJCXZhciBjb3NSb3RhdGlvbiA9IE1hdGguY29zKGxhYmVsUm90YXRpb25SYWRpYW5zKTsNCgkJCXZhciBzaW5Sb3RhdGlvbiA9IE1hdGguc2luKGxhYmVsUm90YXRpb25SYWRpYW5zKTsNCgkJCXZhciBsb25nZXN0Um90YXRlZExhYmVsID0gdGhpcy5sb25nZXN0TGFiZWxXaWR0aCAqIGNvc1JvdGF0aW9uOw0KCQkJdmFyIHJvdGF0ZWRMYWJlbEhlaWdodCA9IHRpY2tGb250U2l6ZSAqIHNpblJvdGF0aW9uOw0KDQoJCQkvLyBNYWtlIHN1cmUgd2UgZHJhdyB0ZXh0IGluIHRoZSBjb3JyZWN0IGNvbG9yIGFuZCBmb250DQoJCQljb250ZXh0LmZpbGxTdHlsZSA9IHRpY2tGb250Q29sb3I7DQoNCgkJCWlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7DQoJCQkJc2V0Q29udGV4dExpbmVTZXR0aW5ncyA9IHRydWU7DQoJCQkJdmFyIHlUaWNrU3RhcnQgPSBvcHRpb25zLnBvc2l0aW9uID09PSAiYm90dG9tIiA/IHRoaXMudG9wIDogdGhpcy5ib3R0b20gLSB0bDsNCgkJCQl2YXIgeVRpY2tFbmQgPSBvcHRpb25zLnBvc2l0aW9uID09PSAiYm90dG9tIiA/IHRoaXMudG9wICsgdGwgOiB0aGlzLmJvdHRvbTsNCgkJCQlza2lwUmF0aW8gPSBmYWxzZTsNCg0KICAgICAgICAgICAgICAgIC8vIE9ubHkgY2FsY3VsYXRlIHRoZSBza2lwIHJhdGlvIHdpdGggdGhlIGhhbGYgd2lkdGggb2YgbG9uZ2VzdFJvdGF0ZUxhYmVsIGlmIHdlIGdvdCBhbiBhY3R1YWwgcm90YXRpb24NCiAgICAgICAgICAgICAgICAvLyBTZWUgIzI1ODQNCiAgICAgICAgICAgICAgICBpZiAoaXNSb3RhdGVkKSB7DQogICAgICAgICAgICAgICAgICAgIGxvbmdlc3RSb3RhdGVkTGFiZWwgLz0gMjsNCiAgICAgICAgICAgICAgICB9DQoNCgkJCQlpZiAoKGxvbmdlc3RSb3RhdGVkTGFiZWwgKyBvcHRpb25UaWNrcy5hdXRvU2tpcFBhZGRpbmcpICogdGhpcy50aWNrcy5sZW5ndGggPiAodGhpcy53aWR0aCAtICh0aGlzLnBhZGRpbmdMZWZ0ICsgdGhpcy5wYWRkaW5nUmlnaHQpKSkgew0KCQkJCQlza2lwUmF0aW8gPSAxICsgTWF0aC5mbG9vcigoKGxvbmdlc3RSb3RhdGVkTGFiZWwgKyBvcHRpb25UaWNrcy5hdXRvU2tpcFBhZGRpbmcpICogdGhpcy50aWNrcy5sZW5ndGgpIC8gKHRoaXMud2lkdGggLSAodGhpcy5wYWRkaW5nTGVmdCArIHRoaXMucGFkZGluZ1JpZ2h0KSkpOw0KCQkJCX0NCg0KCQkJCS8vIGlmIHRoZXkgZGVmaW5lZCBhIG1heCBudW1iZXIgb2Ygb3B0aW9uVGlja3MsDQoJCQkJLy8gaW5jcmVhc2Ugc2tpcFJhdGlvIHVudGlsIHRoYXQgbnVtYmVyIGlzIG1ldA0KCQkJCWlmIChtYXhUaWNrcyAmJiB0aGlzLnRpY2tzLmxlbmd0aCA+IG1heFRpY2tzKSB7DQoJCQkJCXdoaWxlICghc2tpcFJhdGlvIHx8IHRoaXMudGlja3MubGVuZ3RoIC8gKHNraXBSYXRpbyB8fCAxKSA+IG1heFRpY2tzKSB7DQoJCQkJCQlpZiAoIXNraXBSYXRpbykgew0KCQkJCQkJCXNraXBSYXRpbyA9IDE7DQoJCQkJCQl9DQoJCQkJCQlza2lwUmF0aW8gKz0gMTsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCWlmICghdXNlQXV0b3NraXBwZXIpIHsNCgkJCQkJc2tpcFJhdGlvID0gZmFsc2U7DQoJCQkJfQ0KDQoJCQkJaGVscGVycy5lYWNoKHRoaXMudGlja3MsIGZ1bmN0aW9uIChsYWJlbCwgaW5kZXgpIHsNCgkJCQkJLy8gQmxhbmsgb3B0aW9uVGlja3MNCgkJCQkJdmFyIGlzTGFzdFRpY2sgPSB0aGlzLnRpY2tzLmxlbmd0aCA9PT0gaW5kZXggKyAxOw0KDQoJCQkJCS8vIFNpbmNlIHdlIGFsd2F5cyBzaG93IHRoZSBsYXN0IHRpY2ssd2UgbmVlZCBtYXkgbmVlZCB0byBoaWRlIHRoZSBsYXN0IHNob3duIG9uZSBiZWZvcmUNCgkJCQkJdmFyIHNob3VsZFNraXAgPSAoc2tpcFJhdGlvID4gMSAmJiBpbmRleCAlIHNraXBSYXRpbyA+IDApIHx8IChpbmRleCAlIHNraXBSYXRpbyA9PT0gMCAmJiBpbmRleCArIHNraXBSYXRpbyA+PSB0aGlzLnRpY2tzLmxlbmd0aCk7DQoJCQkJCWlmIChzaG91bGRTa2lwICYmICFpc0xhc3RUaWNrIHx8IChsYWJlbCA9PT0gdW5kZWZpbmVkIHx8IGxhYmVsID09PSBudWxsKSkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoJCQkJCXZhciB4TGluZVZhbHVlID0gdGhpcy5nZXRQaXhlbEZvclRpY2soaW5kZXgpOyAvLyB4dmFsdWVzIGZvciBncmlkIGxpbmVzDQoJCQkJCXZhciB4TGFiZWxWYWx1ZSA9IHRoaXMuZ2V0UGl4ZWxGb3JUaWNrKGluZGV4LCBncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzKTsgLy8geCB2YWx1ZXMgZm9yIG9wdGlvblRpY2tzIChuZWVkIHRvIGNvbnNpZGVyIG9mZnNldExhYmVsIG9wdGlvbikNCg0KCQkJCQlpZiAoZ3JpZExpbmVzLmRpc3BsYXkpIHsNCgkJCQkJCWlmIChpbmRleCA9PT0gKHR5cGVvZiB0aGlzLnplcm9MaW5lSW5kZXggIT09ICd1bmRlZmluZWQnID8gdGhpcy56ZXJvTGluZUluZGV4IDogMCkpIHsNCgkJCQkJCQkvLyBEcmF3IHRoZSBmaXJzdCBpbmRleCBzcGVjaWFsbHkNCgkJCQkJCQljb250ZXh0LmxpbmVXaWR0aCA9IGdyaWRMaW5lcy56ZXJvTGluZVdpZHRoOw0KCQkJCQkJCWNvbnRleHQuc3Ryb2tlU3R5bGUgPSBncmlkTGluZXMuemVyb0xpbmVDb2xvcjsNCgkJCQkJCQlzZXRDb250ZXh0TGluZVNldHRpbmdzID0gdHJ1ZTsgLy8gcmVzZXQgbmV4dCB0aW1lDQoJCQkJCQl9IGVsc2UgaWYgKHNldENvbnRleHRMaW5lU2V0dGluZ3MpIHsNCgkJCQkJCQljb250ZXh0LmxpbmVXaWR0aCA9IGdyaWRMaW5lcy5saW5lV2lkdGg7DQoJCQkJCQkJY29udGV4dC5zdHJva2VTdHlsZSA9IGdyaWRMaW5lcy5jb2xvcjsNCgkJCQkJCQlzZXRDb250ZXh0TGluZVNldHRpbmdzID0gZmFsc2U7DQoJCQkJCQl9DQoNCgkJCQkJCXhMaW5lVmFsdWUgKz0gaGVscGVycy5hbGlhc1BpeGVsKGNvbnRleHQubGluZVdpZHRoKTsNCg0KCQkJCQkJLy8gRHJhdyB0aGUgbGFiZWwgYXJlYQ0KCQkJCQkJY29udGV4dC5iZWdpblBhdGgoKTsNCg0KCQkJCQkJaWYgKGdyaWRMaW5lcy5kcmF3VGlja3MpIHsNCgkJCQkJCQljb250ZXh0Lm1vdmVUbyh4TGluZVZhbHVlLCB5VGlja1N0YXJ0KTsNCgkJCQkJCQljb250ZXh0LmxpbmVUbyh4TGluZVZhbHVlLCB5VGlja0VuZCk7DQoJCQkJCQl9DQoNCgkJCQkJCS8vIERyYXcgdGhlIGNoYXJ0IGFyZWENCgkJCQkJCWlmIChncmlkTGluZXMuZHJhd09uQ2hhcnRBcmVhKSB7DQoJCQkJCQkJY29udGV4dC5tb3ZlVG8oeExpbmVWYWx1ZSwgY2hhcnRBcmVhLnRvcCk7DQoJCQkJCQkJY29udGV4dC5saW5lVG8oeExpbmVWYWx1ZSwgY2hhcnRBcmVhLmJvdHRvbSk7DQoJCQkJCQl9DQoNCgkJCQkJCS8vIE5lZWQgdG8gc3Ryb2tlIGluIHRoZSBsb29wIGJlY2F1c2Ugd2UgYXJlIHBvdGVudGlhbGx5IGNoYW5naW5nIGxpbmUgd2lkdGhzICYgY29sb3Vycw0KCQkJCQkJY29udGV4dC5zdHJva2UoKTsNCgkJCQkJfQ0KDQoJCQkJCWlmIChvcHRpb25UaWNrcy5kaXNwbGF5KSB7DQoJCQkJCQljb250ZXh0LnNhdmUoKTsNCgkJCQkJCWNvbnRleHQudHJhbnNsYXRlKHhMYWJlbFZhbHVlICsgb3B0aW9uVGlja3MubGFiZWxPZmZzZXQsIChpc1JvdGF0ZWQpID8gdGhpcy50b3AgKyAxMiA6IG9wdGlvbnMucG9zaXRpb24gPT09ICJ0b3AiID8gdGhpcy5ib3R0b20gLSB0bCA6IHRoaXMudG9wICsgdGwpOw0KCQkJCQkJY29udGV4dC5yb3RhdGUobGFiZWxSb3RhdGlvblJhZGlhbnMgKiAtMSk7DQoJCQkJCQljb250ZXh0LmZvbnQgPSB0aWNrTGFiZWxGb250Ow0KCQkJCQkJY29udGV4dC50ZXh0QWxpZ24gPSAoaXNSb3RhdGVkKSA/ICJyaWdodCIgOiAiY2VudGVyIjsNCgkJCQkJCWNvbnRleHQudGV4dEJhc2VsaW5lID0gKGlzUm90YXRlZCkgPyAibWlkZGxlIiA6IG9wdGlvbnMucG9zaXRpb24gPT09ICJ0b3AiID8gImJvdHRvbSIgOiAidG9wIjsNCgkJCQkJCWNvbnRleHQuZmlsbFRleHQobGFiZWwsIDAsIDApOw0KCQkJCQkJY29udGV4dC5yZXN0b3JlKCk7DQoJCQkJCX0NCgkJCQl9LCB0aGlzKTsNCg0KCQkJCWlmIChzY2FsZUxhYmVsLmRpc3BsYXkpIHsNCgkJCQkJLy8gRHJhdyB0aGUgc2NhbGUgbGFiZWwNCgkJCQkJY29udGV4dC50ZXh0QWxpZ24gPSAiY2VudGVyIjsNCgkJCQkJY29udGV4dC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJzsNCgkJCQkJY29udGV4dC5maWxsU3R5bGUgPSBzY2FsZUxhYmVsRm9udENvbG9yOyAvLyByZW5kZXIgaW4gY29ycmVjdCBjb2xvdXINCgkJCQkJY29udGV4dC5mb250ID0gc2NhbGVMYWJlbEZvbnQ7DQoNCgkJCQkJc2NhbGVMYWJlbFggPSB0aGlzLmxlZnQgKyAoKHRoaXMucmlnaHQgLSB0aGlzLmxlZnQpIC8gMik7IC8vIG1pZHBvaW50IG9mIHRoZSB3aWR0aA0KCQkJCQlzY2FsZUxhYmVsWSA9IG9wdGlvbnMucG9zaXRpb24gPT09ICdib3R0b20nID8gdGhpcy5ib3R0b20gLSAoc2NhbGVMYWJlbEZvbnRTaXplIC8gMikgOiB0aGlzLnRvcCArIChzY2FsZUxhYmVsRm9udFNpemUgLyAyKTsNCg0KCQkJCQljb250ZXh0LmZpbGxUZXh0KHNjYWxlTGFiZWwubGFiZWxTdHJpbmcsIHNjYWxlTGFiZWxYLCBzY2FsZUxhYmVsWSk7DQoJCQkJfQ0KDQoJCQl9IGVsc2Ugew0KCQkJCXNldENvbnRleHRMaW5lU2V0dGluZ3MgPSB0cnVlOw0KCQkJCXZhciB4VGlja1N0YXJ0ID0gb3B0aW9ucy5wb3NpdGlvbiA9PT0gInJpZ2h0IiA/IHRoaXMubGVmdCA6IHRoaXMucmlnaHQgLSA1Ow0KCQkJCXZhciB4VGlja0VuZCA9IG9wdGlvbnMucG9zaXRpb24gPT09ICJyaWdodCIgPyB0aGlzLmxlZnQgKyA1IDogdGhpcy5yaWdodDsNCg0KCQkJCWhlbHBlcnMuZWFjaCh0aGlzLnRpY2tzLCBmdW5jdGlvbiAobGFiZWwsIGluZGV4KSB7DQoJCQkJCS8vIElmIHRoZSBjYWxsYmFjayByZXR1cm5lZCBhIG51bGwgb3IgdW5kZWZpbmVkIHZhbHVlLCBkbyBub3QgZHJhdyB0aGlzIGxpbmUNCgkJCQkJaWYgKGxhYmVsID09PSB1bmRlZmluZWQgfHwgbGFiZWwgPT09IG51bGwpIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KDQoJCQkJCXZhciB5TGluZVZhbHVlID0gdGhpcy5nZXRQaXhlbEZvclRpY2soaW5kZXgpOyAvLyB4dmFsdWVzIGZvciBncmlkIGxpbmVzDQoNCgkJCQkJaWYgKGdyaWRMaW5lcy5kaXNwbGF5KSB7DQoJCQkJCQlpZiAoaW5kZXggPT09ICh0eXBlb2YgdGhpcy56ZXJvTGluZUluZGV4ICE9PSAndW5kZWZpbmVkJyA/IHRoaXMuemVyb0xpbmVJbmRleCA6IDApKSB7DQoJCQkJCQkJLy8gRHJhdyB0aGUgZmlyc3QgaW5kZXggc3BlY2lhbGx5DQoJCQkJCQkJY29udGV4dC5saW5lV2lkdGggPSBncmlkTGluZXMuemVyb0xpbmVXaWR0aDsNCgkJCQkJCQljb250ZXh0LnN0cm9rZVN0eWxlID0gZ3JpZExpbmVzLnplcm9MaW5lQ29sb3I7DQoJCQkJCQkJc2V0Q29udGV4dExpbmVTZXR0aW5ncyA9IHRydWU7IC8vIHJlc2V0IG5leHQgdGltZQ0KCQkJCQkJfSBlbHNlIGlmIChzZXRDb250ZXh0TGluZVNldHRpbmdzKSB7DQoJCQkJCQkJY29udGV4dC5saW5lV2lkdGggPSBncmlkTGluZXMubGluZVdpZHRoOw0KCQkJCQkJCWNvbnRleHQuc3Ryb2tlU3R5bGUgPSBncmlkTGluZXMuY29sb3I7DQoJCQkJCQkJc2V0Q29udGV4dExpbmVTZXR0aW5ncyA9IGZhbHNlOw0KCQkJCQkJfQ0KDQoJCQkJCQl5TGluZVZhbHVlICs9IGhlbHBlcnMuYWxpYXNQaXhlbChjb250ZXh0LmxpbmVXaWR0aCk7DQoNCgkJCQkJCS8vIERyYXcgdGhlIGxhYmVsIGFyZWENCgkJCQkJCWNvbnRleHQuYmVnaW5QYXRoKCk7DQoNCgkJCQkJCWlmIChncmlkTGluZXMuZHJhd1RpY2tzKSB7DQoJCQkJCQkJY29udGV4dC5tb3ZlVG8oeFRpY2tTdGFydCwgeUxpbmVWYWx1ZSk7DQoJCQkJCQkJY29udGV4dC5saW5lVG8oeFRpY2tFbmQsIHlMaW5lVmFsdWUpOw0KCQkJCQkJfQ0KDQoJCQkJCQkvLyBEcmF3IHRoZSBjaGFydCBhcmVhDQoJCQkJCQlpZiAoZ3JpZExpbmVzLmRyYXdPbkNoYXJ0QXJlYSkgew0KCQkJCQkJCWNvbnRleHQubW92ZVRvKGNoYXJ0QXJlYS5sZWZ0LCB5TGluZVZhbHVlKTsNCgkJCQkJCQljb250ZXh0LmxpbmVUbyhjaGFydEFyZWEucmlnaHQsIHlMaW5lVmFsdWUpOw0KCQkJCQkJfQ0KDQoJCQkJCQkvLyBOZWVkIHRvIHN0cm9rZSBpbiB0aGUgbG9vcCBiZWNhdXNlIHdlIGFyZSBwb3RlbnRpYWxseSBjaGFuZ2luZyBsaW5lIHdpZHRocyAmIGNvbG91cnMNCgkJCQkJCWNvbnRleHQuc3Ryb2tlKCk7DQoJCQkJCX0NCg0KCQkJCQlpZiAob3B0aW9uVGlja3MuZGlzcGxheSkgew0KCQkJCQkJdmFyIHhMYWJlbFZhbHVlOw0KCQkJCQkJdmFyIHlMYWJlbFZhbHVlID0gdGhpcy5nZXRQaXhlbEZvclRpY2soaW5kZXgsIGdyaWRMaW5lcy5vZmZzZXRHcmlkTGluZXMpOyAvLyB4IHZhbHVlcyBmb3Igb3B0aW9uVGlja3MgKG5lZWQgdG8gY29uc2lkZXIgb2Zmc2V0TGFiZWwgb3B0aW9uKQ0KDQoJCQkJCQljb250ZXh0LnNhdmUoKTsNCg0KCQkJCQkJaWYgKG9wdGlvbnMucG9zaXRpb24gPT09ICJsZWZ0Iikgew0KCQkJCQkJCWlmIChvcHRpb25UaWNrcy5taXJyb3IpIHsNCgkJCQkJCQkJeExhYmVsVmFsdWUgPSB0aGlzLnJpZ2h0ICsgb3B0aW9uVGlja3MucGFkZGluZzsNCgkJCQkJCQkJY29udGV4dC50ZXh0QWxpZ24gPSAibGVmdCI7DQoJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJeExhYmVsVmFsdWUgPSB0aGlzLnJpZ2h0IC0gb3B0aW9uVGlja3MucGFkZGluZzsNCgkJCQkJCQkJY29udGV4dC50ZXh0QWxpZ24gPSAicmlnaHQiOw0KCQkJCQkJCX0NCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJLy8gcmlnaHQgc2lkZQ0KCQkJCQkJCWlmIChvcHRpb25UaWNrcy5taXJyb3IpIHsNCgkJCQkJCQkJeExhYmVsVmFsdWUgPSB0aGlzLmxlZnQgLSBvcHRpb25UaWNrcy5wYWRkaW5nOw0KCQkJCQkJCQljb250ZXh0LnRleHRBbGlnbiA9ICJyaWdodCI7DQoJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJeExhYmVsVmFsdWUgPSB0aGlzLmxlZnQgKyBvcHRpb25UaWNrcy5wYWRkaW5nOw0KCQkJCQkJCQljb250ZXh0LnRleHRBbGlnbiA9ICJsZWZ0IjsNCgkJCQkJCQl9DQoJCQkJCQl9DQoNCgkJCQkJCWNvbnRleHQudHJhbnNsYXRlKHhMYWJlbFZhbHVlLCB5TGFiZWxWYWx1ZSArIG9wdGlvblRpY2tzLmxhYmVsT2Zmc2V0KTsNCgkJCQkJCWNvbnRleHQucm90YXRlKGxhYmVsUm90YXRpb25SYWRpYW5zICogLTEpOw0KCQkJCQkJY29udGV4dC5mb250ID0gdGlja0xhYmVsRm9udDsNCgkJCQkJCWNvbnRleHQudGV4dEJhc2VsaW5lID0gIm1pZGRsZSI7DQoJCQkJCQljb250ZXh0LmZpbGxUZXh0KGxhYmVsLCAwLCAwKTsNCgkJCQkJCWNvbnRleHQucmVzdG9yZSgpOw0KCQkJCQl9DQoJCQkJfSwgdGhpcyk7DQoNCgkJCQlpZiAoc2NhbGVMYWJlbC5kaXNwbGF5KSB7DQoJCQkJCS8vIERyYXcgdGhlIHNjYWxlIGxhYmVsDQoJCQkJCXNjYWxlTGFiZWxYID0gb3B0aW9ucy5wb3NpdGlvbiA9PT0gJ2xlZnQnID8gdGhpcy5sZWZ0ICsgKHNjYWxlTGFiZWxGb250U2l6ZSAvIDIpIDogdGhpcy5yaWdodCAtIChzY2FsZUxhYmVsRm9udFNpemUgLyAyKTsNCgkJCQkJc2NhbGVMYWJlbFkgPSB0aGlzLnRvcCArICgodGhpcy5ib3R0b20gLSB0aGlzLnRvcCkgLyAyKTsNCgkJCQkJdmFyIHJvdGF0aW9uID0gb3B0aW9ucy5wb3NpdGlvbiA9PT0gJ2xlZnQnID8gLTAuNSAqIE1hdGguUEkgOiAwLjUgKiBNYXRoLlBJOw0KDQoJCQkJCWNvbnRleHQuc2F2ZSgpOw0KCQkJCQljb250ZXh0LnRyYW5zbGF0ZShzY2FsZUxhYmVsWCwgc2NhbGVMYWJlbFkpOw0KCQkJCQljb250ZXh0LnJvdGF0ZShyb3RhdGlvbik7DQoJCQkJCWNvbnRleHQudGV4dEFsaWduID0gImNlbnRlciI7DQoJCQkJCWNvbnRleHQuZmlsbFN0eWxlID0gc2NhbGVMYWJlbEZvbnRDb2xvcjsgLy8gcmVuZGVyIGluIGNvcnJlY3QgY29sb3VyDQoJCQkJCWNvbnRleHQuZm9udCA9IHNjYWxlTGFiZWxGb250Ow0KCQkJCQljb250ZXh0LnRleHRCYXNlbGluZSA9ICdtaWRkbGUnOw0KCQkJCQljb250ZXh0LmZpbGxUZXh0KHNjYWxlTGFiZWwubGFiZWxTdHJpbmcsIDAsIDApOw0KCQkJCQljb250ZXh0LnJlc3RvcmUoKTsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmIChncmlkTGluZXMuZHJhd0JvcmRlcikgew0KCQkJCS8vIERyYXcgdGhlIGxpbmUgYXQgdGhlIGVkZ2Ugb2YgdGhlIGF4aXMNCgkJCQljb250ZXh0LmxpbmVXaWR0aCA9IGdyaWRMaW5lcy5saW5lV2lkdGg7DQoJCQkJY29udGV4dC5zdHJva2VTdHlsZSA9IGdyaWRMaW5lcy5jb2xvcjsNCgkJCQl2YXIgeDEgPSB0aGlzLmxlZnQsDQoJCQkJCXgyID0gdGhpcy5yaWdodCwNCgkJCQkJeTEgPSB0aGlzLnRvcCwNCgkJCQkJeTIgPSB0aGlzLmJvdHRvbTsNCg0KCQkJCXZhciBhbGlhc1BpeGVsID0gaGVscGVycy5hbGlhc1BpeGVsKGNvbnRleHQubGluZVdpZHRoKTsNCgkJCQlpZiAodGhpcy5pc0hvcml6b250YWwoKSkgew0KCQkJCQl5MSA9IHkyID0gb3B0aW9ucy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyB0aGlzLmJvdHRvbSA6IHRoaXMudG9wOw0KCQkJCQl5MSArPSBhbGlhc1BpeGVsOw0KCQkJCQl5MiArPSBhbGlhc1BpeGVsOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXgxID0geDIgPSBvcHRpb25zLnBvc2l0aW9uID09PSAnbGVmdCcgPyB0aGlzLnJpZ2h0IDogdGhpcy5sZWZ0Ow0KCQkJCQl4MSArPSBhbGlhc1BpeGVsOw0KCQkJCQl4MiArPSBhbGlhc1BpeGVsOw0KCQkJCX0NCg0KCQkJCWNvbnRleHQuYmVnaW5QYXRoKCk7DQoJCQkJY29udGV4dC5tb3ZlVG8oeDEsIHkxKTsNCgkJCQljb250ZXh0LmxpbmVUbyh4MiwgeTIpOw0KCQkJCWNvbnRleHQuc3Ryb2tlKCk7DQoJCQl9DQoJCX0NCgl9KTsNCn07DQoKfSx7fV0sMzE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCg0KCUNoYXJ0LnNjYWxlU2VydmljZSA9IHsNCgkJLy8gU2NhbGUgcmVnaXN0cmF0aW9uIG9iamVjdC4gRXh0ZW5zaW9ucyBjYW4gcmVnaXN0ZXIgbmV3IHNjYWxlIHR5cGVzIChzdWNoIGFzIGxvZyBvciBEQiBzY2FsZXMpIGFuZCB0aGVuDQoJCS8vIHVzZSB0aGUgbmV3IGNoYXJ0IG9wdGlvbnMgdG8gZ3JhYiB0aGUgY29ycmVjdCBzY2FsZQ0KCQljb25zdHJ1Y3RvcnM6IHt9LA0KCQkvLyBVc2UgYSByZWdpc3RyYXRpb24gZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gbW92ZSB0byBhbiBFUzYgbWFwIHdoZW4gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gc3VwcG9ydA0KCQkvLyBvbGQgYnJvd3NlcnMNCg0KCQkvLyBTY2FsZSBjb25maWcgZGVmYXVsdHMNCgkJZGVmYXVsdHM6IHt9LA0KCQlyZWdpc3RlclNjYWxlVHlwZTogZnVuY3Rpb24odHlwZSwgc2NhbGVDb25zdHJ1Y3RvciwgZGVmYXVsdHMpIHsNCgkJCXRoaXMuY29uc3RydWN0b3JzW3R5cGVdID0gc2NhbGVDb25zdHJ1Y3RvcjsNCgkJCXRoaXMuZGVmYXVsdHNbdHlwZV0gPSBoZWxwZXJzLmNsb25lKGRlZmF1bHRzKTsNCgkJfSwNCgkJZ2V0U2NhbGVDb25zdHJ1Y3RvcjogZnVuY3Rpb24odHlwZSkgew0KCQkJcmV0dXJuIHRoaXMuY29uc3RydWN0b3JzLmhhc093blByb3BlcnR5KHR5cGUpID8gdGhpcy5jb25zdHJ1Y3RvcnNbdHlwZV0gOiB1bmRlZmluZWQ7DQoJCX0sDQoJCWdldFNjYWxlRGVmYXVsdHM6IGZ1bmN0aW9uKHR5cGUpIHsNCgkJCS8vIFJldHVybiB0aGUgc2NhbGUgZGVmYXVsdHMgbWVyZ2VkIHdpdGggdGhlIGdsb2JhbCBzZXR0aW5ncyBzbyB0aGF0IHdlIGFsd2F5cyB1c2UgdGhlIGxhdGVzdCBvbmVzDQoJCQlyZXR1cm4gdGhpcy5kZWZhdWx0cy5oYXNPd25Qcm9wZXJ0eSh0eXBlKSA/IGhlbHBlcnMuc2NhbGVNZXJnZShDaGFydC5kZWZhdWx0cy5zY2FsZSwgdGhpcy5kZWZhdWx0c1t0eXBlXSkgOiB7fTsNCgkJfSwNCgkJdXBkYXRlU2NhbGVEZWZhdWx0czogZnVuY3Rpb24odHlwZSwgYWRkaXRpb25zKSB7DQoJCQl2YXIgZGVmYXVsdHMgPSB0aGlzLmRlZmF1bHRzOw0KCQkJaWYgKGRlZmF1bHRzLmhhc093blByb3BlcnR5KHR5cGUpKSB7DQoJCQkJZGVmYXVsdHNbdHlwZV0gPSBoZWxwZXJzLmV4dGVuZChkZWZhdWx0c1t0eXBlXSwgYWRkaXRpb25zKTsNCgkJCX0NCgkJfSwNCgkJYWRkU2NhbGVzVG9MYXlvdXQ6IGZ1bmN0aW9uKGNoYXJ0SW5zdGFuY2UpIHsNCgkJCS8vIEFkZHMgZWFjaCBzY2FsZSB0byB0aGUgY2hhcnQuYm94ZXMgYXJyYXkgdG8gYmUgc2l6ZWQgYWNjb3JkaW5nbHkNCgkJCWhlbHBlcnMuZWFjaChjaGFydEluc3RhbmNlLnNjYWxlcywgZnVuY3Rpb24oc2NhbGUpIHsNCgkJCQlDaGFydC5sYXlvdXRTZXJ2aWNlLmFkZEJveChjaGFydEluc3RhbmNlLCBzY2FsZSk7DQoJCQl9KTsNCgkJfQ0KCX07DQp9Owp9LHt9XSwzMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzOw0KDQoJQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLnRpdGxlID0gew0KCQlkaXNwbGF5OiBmYWxzZSwNCgkJcG9zaXRpb246ICd0b3AnLA0KCQlmdWxsV2lkdGg6IHRydWUsIC8vIG1hcmtzIHRoYXQgdGhpcyBib3ggc2hvdWxkIHRha2UgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIGNhbnZhcyAocHVzaGluZyBkb3duIG90aGVyIGJveGVzKQ0KDQoJCWZvbnRTdHlsZTogJ2JvbGQnLA0KCQlwYWRkaW5nOiAxMCwNCg0KCQkvLyBhY3R1YWwgdGl0bGUNCgkJdGV4dDogJycNCgl9Ow0KDQoJdmFyIG5vb3AgPSBoZWxwZXJzLm5vb3A7DQoJQ2hhcnQuVGl0bGUgPSBDaGFydC5FbGVtZW50LmV4dGVuZCh7DQoNCgkJaW5pdGlhbGl6ZTogZnVuY3Rpb24oY29uZmlnKSB7DQoJCQloZWxwZXJzLmV4dGVuZCh0aGlzLCBjb25maWcpOw0KCQkJdGhpcy5vcHRpb25zID0gaGVscGVycy5jb25maWdNZXJnZShDaGFydC5kZWZhdWx0cy5nbG9iYWwudGl0bGUsIGNvbmZpZy5vcHRpb25zKTsNCg0KCQkJLy8gQ29udGFpbnMgaGl0IGJveGVzIGZvciBlYWNoIGRhdGFzZXQgKGluIGRhdGFzZXQgb3JkZXIpDQoJCQl0aGlzLmxlZ2VuZEhpdEJveGVzID0gW107DQoJCX0sDQoNCgkJLy8gVGhlc2UgbWV0aG9kcyBhcmUgb3JkZXJlZCBieSBsaWZlY3lsZS4gVXRpbGl0aWVzIHRoZW4gZm9sbG93Lg0KDQoJCWJlZm9yZVVwZGF0ZTogbm9vcCwNCgkJdXBkYXRlOiBmdW5jdGlvbihtYXhXaWR0aCwgbWF4SGVpZ2h0LCBtYXJnaW5zKSB7DQoNCgkJCS8vIFVwZGF0ZSBMaWZlY3ljbGUgLSBQcm9iYWJseSBkb24ndCB3YW50IHRvIGV2ZXIgZXh0ZW5kIG9yIG92ZXJ3cml0ZSB0aGlzIGZ1bmN0aW9uIDspDQoJCQl0aGlzLmJlZm9yZVVwZGF0ZSgpOw0KDQoJCQkvLyBBYnNvcmIgdGhlIG1hc3RlciBtZWFzdXJlbWVudHMNCgkJCXRoaXMubWF4V2lkdGggPSBtYXhXaWR0aDsNCgkJCXRoaXMubWF4SGVpZ2h0ID0gbWF4SGVpZ2h0Ow0KCQkJdGhpcy5tYXJnaW5zID0gbWFyZ2luczsNCg0KCQkJLy8gRGltZW5zaW9ucw0KCQkJdGhpcy5iZWZvcmVTZXREaW1lbnNpb25zKCk7DQoJCQl0aGlzLnNldERpbWVuc2lvbnMoKTsNCgkJCXRoaXMuYWZ0ZXJTZXREaW1lbnNpb25zKCk7DQoJCQkvLyBMYWJlbHMNCgkJCXRoaXMuYmVmb3JlQnVpbGRMYWJlbHMoKTsNCgkJCXRoaXMuYnVpbGRMYWJlbHMoKTsNCgkJCXRoaXMuYWZ0ZXJCdWlsZExhYmVscygpOw0KDQoJCQkvLyBGaXQNCgkJCXRoaXMuYmVmb3JlRml0KCk7DQoJCQl0aGlzLmZpdCgpOw0KCQkJdGhpcy5hZnRlckZpdCgpOw0KCQkJLy8NCgkJCXRoaXMuYWZ0ZXJVcGRhdGUoKTsNCg0KCQkJcmV0dXJuIHRoaXMubWluU2l6ZTsNCg0KCQl9LA0KCQlhZnRlclVwZGF0ZTogbm9vcCwNCg0KCQkvLw0KDQoJCWJlZm9yZVNldERpbWVuc2lvbnM6IG5vb3AsDQoJCXNldERpbWVuc2lvbnM6IGZ1bmN0aW9uKCkgew0KCQkJLy8gU2V0IHRoZSB1bmNvbnN0cmFpbmVkIGRpbWVuc2lvbiBiZWZvcmUgbGFiZWwgcm90YXRpb24NCgkJCWlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7DQoJCQkJLy8gUmVzZXQgcG9zaXRpb24gYmVmb3JlIGNhbGN1bGF0aW5nIHJvdGF0aW9uDQoJCQkJdGhpcy53aWR0aCA9IHRoaXMubWF4V2lkdGg7DQoJCQkJdGhpcy5sZWZ0ID0gMDsNCgkJCQl0aGlzLnJpZ2h0ID0gdGhpcy53aWR0aDsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5oZWlnaHQgPSB0aGlzLm1heEhlaWdodDsNCg0KCQkJCS8vIFJlc2V0IHBvc2l0aW9uIGJlZm9yZSBjYWxjdWxhdGluZyByb3RhdGlvbg0KCQkJCXRoaXMudG9wID0gMDsNCgkJCQl0aGlzLmJvdHRvbSA9IHRoaXMuaGVpZ2h0Ow0KCQkJfQ0KDQoJCQkvLyBSZXNldCBwYWRkaW5nDQoJCQl0aGlzLnBhZGRpbmdMZWZ0ID0gMDsNCgkJCXRoaXMucGFkZGluZ1RvcCA9IDA7DQoJCQl0aGlzLnBhZGRpbmdSaWdodCA9IDA7DQoJCQl0aGlzLnBhZGRpbmdCb3R0b20gPSAwOw0KDQoJCQkvLyBSZXNldCBtaW5TaXplDQoJCQl0aGlzLm1pblNpemUgPSB7DQoJCQkJd2lkdGg6IDAsDQoJCQkJaGVpZ2h0OiAwDQoJCQl9Ow0KCQl9LA0KCQlhZnRlclNldERpbWVuc2lvbnM6IG5vb3AsDQoNCgkJLy8NCg0KCQliZWZvcmVCdWlsZExhYmVsczogbm9vcCwNCgkJYnVpbGRMYWJlbHM6IG5vb3AsDQoJCWFmdGVyQnVpbGRMYWJlbHM6IG5vb3AsDQoNCgkJLy8NCg0KCQliZWZvcmVGaXQ6IG5vb3AsDQoJCWZpdDogZnVuY3Rpb24oKSB7DQoNCgkJCXZhciBfdGhpcyA9IHRoaXMsDQoJCQkJY3R4ID0gX3RoaXMuY3R4LA0KCQkJCXZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCwNCgkJCQlvcHRzID0gX3RoaXMub3B0aW9ucywNCgkJCQlnbG9iYWxEZWZhdWx0cyA9IENoYXJ0LmRlZmF1bHRzLmdsb2JhbCwNCgkJCQlkaXNwbGF5ID0gb3B0cy5kaXNwbGF5LA0KCQkJCWZvbnRTaXplID0gdmFsdWVPckRlZmF1bHQob3B0cy5mb250U2l6ZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTaXplKSwNCgkJCQltaW5TaXplID0gX3RoaXMubWluU2l6ZTsNCg0KCQkJaWYgKF90aGlzLmlzSG9yaXpvbnRhbCgpKSB7DQoJCQkJbWluU2l6ZS53aWR0aCA9IF90aGlzLm1heFdpZHRoOyAvLyBmaWxsIGFsbCB0aGUgd2lkdGgNCgkJCQltaW5TaXplLmhlaWdodCA9IGRpc3BsYXkgPyBmb250U2l6ZSArIChvcHRzLnBhZGRpbmcgKiAyKSA6IDA7DQoJCQl9IGVsc2Ugew0KCQkJCW1pblNpemUud2lkdGggPSBkaXNwbGF5ID8gZm9udFNpemUgKyAob3B0cy5wYWRkaW5nICogMikgOiAwOw0KCQkJCW1pblNpemUuaGVpZ2h0ID0gX3RoaXMubWF4SGVpZ2h0OyAvLyBmaWxsIGFsbCB0aGUgaGVpZ2h0DQoJCQl9DQoNCgkJCV90aGlzLndpZHRoID0gbWluU2l6ZS53aWR0aDsNCgkJCV90aGlzLmhlaWdodCA9IG1pblNpemUuaGVpZ2h0Ow0KDQoJCX0sDQoJCWFmdGVyRml0OiBub29wLA0KDQoJCS8vIFNoYXJlZCBNZXRob2RzDQoJCWlzSG9yaXpvbnRhbDogZnVuY3Rpb24oKSB7DQoJCQl2YXIgcG9zID0gdGhpcy5vcHRpb25zLnBvc2l0aW9uOw0KCQkJcmV0dXJuIHBvcyA9PT0gInRvcCIgfHwgcG9zID09PSAiYm90dG9tIjsNCgkJfSwNCg0KCQkvLyBBY3R1YWx5IGRyYXcgdGhlIHRpdGxlIGJsb2NrIG9uIHRoZSBjYW52YXMNCgkJZHJhdzogZnVuY3Rpb24oKSB7DQoJCQl2YXIgX3RoaXMgPSB0aGlzLA0KCQkJCWN0eCA9IF90aGlzLmN0eCwNCgkJCQl2YWx1ZU9yRGVmYXVsdCA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQsDQoJCQkJb3B0cyA9IF90aGlzLm9wdGlvbnMsDQoJCQkJZ2xvYmFsRGVmYXVsdHMgPSBDaGFydC5kZWZhdWx0cy5nbG9iYWw7DQoNCgkJCWlmIChvcHRzLmRpc3BsYXkpIHsNCgkJCQl2YXIgZm9udFNpemUgPSB2YWx1ZU9yRGVmYXVsdChvcHRzLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpLA0KCQkJCQlmb250U3R5bGUgPSB2YWx1ZU9yRGVmYXVsdChvcHRzLmZvbnRTdHlsZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTdHlsZSksDQoJCQkJCWZvbnRGYW1pbHkgPSB2YWx1ZU9yRGVmYXVsdChvcHRzLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KSwNCgkJCQkJdGl0bGVGb250ID0gaGVscGVycy5mb250U3RyaW5nKGZvbnRTaXplLCBmb250U3R5bGUsIGZvbnRGYW1pbHkpLA0KCQkJCQlyb3RhdGlvbiA9IDAsDQoJCQkJCXRpdGxlWCwgDQoJCQkJCXRpdGxlWSwNCgkJCQkJdG9wID0gX3RoaXMudG9wLA0KCQkJCQlsZWZ0ID0gX3RoaXMubGVmdCwNCgkJCQkJYm90dG9tID0gX3RoaXMuYm90dG9tLA0KCQkJCQlyaWdodCA9IF90aGlzLnJpZ2h0Ow0KDQoJCQkJY3R4LmZpbGxTdHlsZSA9IHZhbHVlT3JEZWZhdWx0KG9wdHMuZm9udENvbG9yLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udENvbG9yKTsgLy8gcmVuZGVyIGluIGNvcnJlY3QgY29sb3VyDQoJCQkJY3R4LmZvbnQgPSB0aXRsZUZvbnQ7DQoNCgkJCQkvLyBIb3Jpem9udGFsDQoJCQkJaWYgKF90aGlzLmlzSG9yaXpvbnRhbCgpKSB7DQoJCQkJCXRpdGxlWCA9IGxlZnQgKyAoKHJpZ2h0IC0gbGVmdCkgLyAyKTsgLy8gbWlkcG9pbnQgb2YgdGhlIHdpZHRoDQoJCQkJCXRpdGxlWSA9IHRvcCArICgoYm90dG9tIC0gdG9wKSAvIDIpOyAvLyBtaWRwb2ludCBvZiB0aGUgaGVpZ2h0DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGl0bGVYID0gb3B0cy5wb3NpdGlvbiA9PT0gJ2xlZnQnID8gbGVmdCArIChmb250U2l6ZSAvIDIpIDogcmlnaHQgLSAoZm9udFNpemUgLyAyKTsNCgkJCQkJdGl0bGVZID0gdG9wICsgKChib3R0b20gLSB0b3ApIC8gMik7DQoJCQkJCXJvdGF0aW9uID0gTWF0aC5QSSAqIChvcHRzLnBvc2l0aW9uID09PSAnbGVmdCcgPyAtMC41IDogMC41KTsNCgkJCQl9DQoNCgkJCQljdHguc2F2ZSgpOw0KCQkJCWN0eC50cmFuc2xhdGUodGl0bGVYLCB0aXRsZVkpOw0KCQkJCWN0eC5yb3RhdGUocm90YXRpb24pOw0KCQkJCWN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJzsNCgkJCQljdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7DQoJCQkJY3R4LmZpbGxUZXh0KG9wdHMudGV4dCwgMCwgMCk7DQoJCQkJY3R4LnJlc3RvcmUoKTsNCgkJCX0NCgkJfQ0KCX0pOw0KfTsKfSx7fV0sMzM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCg0KCUNoYXJ0LmRlZmF1bHRzLmdsb2JhbC50b29sdGlwcyA9IHsNCgkJZW5hYmxlZDogdHJ1ZSwNCgkJY3VzdG9tOiBudWxsLA0KCQltb2RlOiAnc2luZ2xlJywNCgkJYmFja2dyb3VuZENvbG9yOiAicmdiYSgwLDAsMCwwLjgpIiwNCgkJdGl0bGVGb250U3R5bGU6ICJib2xkIiwNCgkJdGl0bGVTcGFjaW5nOiAyLA0KCQl0aXRsZU1hcmdpbkJvdHRvbTogNiwNCgkJdGl0bGVDb2xvcjogIiNmZmYiLA0KCQl0aXRsZUFsaWduOiAibGVmdCIsDQoJCWJvZHlTcGFjaW5nOiAyLA0KCQlib2R5Q29sb3I6ICIjZmZmIiwNCgkJYm9keUFsaWduOiAibGVmdCIsDQoJCWZvb3RlckZvbnRTdHlsZTogImJvbGQiLA0KCQlmb290ZXJTcGFjaW5nOiAyLA0KCQlmb290ZXJNYXJnaW5Ub3A6IDYsDQoJCWZvb3RlckNvbG9yOiAiI2ZmZiIsDQoJCWZvb3RlckFsaWduOiAibGVmdCIsDQoJCXlQYWRkaW5nOiA2LA0KCQl4UGFkZGluZzogNiwNCgkJeUFsaWduIDogJ2NlbnRlcicsDQoJCXhBbGlnbiA6ICdjZW50ZXInLA0KCQljYXJldFNpemU6IDUsDQoJCWNvcm5lclJhZGl1czogNiwNCgkJbXVsdGlLZXlCYWNrZ3JvdW5kOiAnI2ZmZicsDQoJCWNhbGxiYWNrczogew0KCQkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbXMsIGRhdGEpDQoJCQliZWZvcmVUaXRsZTogaGVscGVycy5ub29wLA0KCQkJdGl0bGU6IGZ1bmN0aW9uKHRvb2x0aXBJdGVtcywgZGF0YSkgew0KCQkJCS8vIFBpY2sgZmlyc3QgeExhYmVsIGZvciBub3cNCgkJCQl2YXIgdGl0bGUgPSAnJzsNCg0KCQkJCWlmICh0b29sdGlwSXRlbXMubGVuZ3RoID4gMCkgew0KCQkJCQlpZiAodG9vbHRpcEl0ZW1zWzBdLnhMYWJlbCkgew0KCQkJCQkJdGl0bGUgPSB0b29sdGlwSXRlbXNbMF0ueExhYmVsOw0KCQkJCQl9IGVsc2UgaWYgKGRhdGEubGFiZWxzLmxlbmd0aCA+IDAgJiYgdG9vbHRpcEl0ZW1zWzBdLmluZGV4IDwgZGF0YS5sYWJlbHMubGVuZ3RoKSB7DQoJCQkJCQl0aXRsZSA9IGRhdGEubGFiZWxzW3Rvb2x0aXBJdGVtc1swXS5pbmRleF07DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlyZXR1cm4gdGl0bGU7DQoJCQl9LA0KCQkJYWZ0ZXJUaXRsZTogaGVscGVycy5ub29wLA0KDQoJCQkvLyBBcmdzIGFyZTogKHRvb2x0aXBJdGVtcywgZGF0YSkNCgkJCWJlZm9yZUJvZHk6IGhlbHBlcnMubm9vcCwNCg0KCQkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbSwgZGF0YSkNCgkJCWJlZm9yZUxhYmVsOiBoZWxwZXJzLm5vb3AsDQoJCQlsYWJlbDogZnVuY3Rpb24odG9vbHRpcEl0ZW0sIGRhdGEpIHsNCgkJCQl2YXIgZGF0YXNldExhYmVsID0gZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmxhYmVsIHx8ICcnOw0KCQkJCXJldHVybiBkYXRhc2V0TGFiZWwgKyAnOiAnICsgdG9vbHRpcEl0ZW0ueUxhYmVsOw0KCQkJfSwNCgkJCWFmdGVyTGFiZWw6IGhlbHBlcnMubm9vcCwNCg0KCQkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbXMsIGRhdGEpDQoJCQlhZnRlckJvZHk6IGhlbHBlcnMubm9vcCwNCg0KCQkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbXMsIGRhdGEpDQoJCQliZWZvcmVGb290ZXI6IGhlbHBlcnMubm9vcCwNCgkJCWZvb3RlcjogaGVscGVycy5ub29wLA0KCQkJYWZ0ZXJGb290ZXI6IGhlbHBlcnMubm9vcA0KCQl9DQoJfTsNCg0KCS8vIEhlbHBlciB0byBwdXNoIG9yIGNvbmNhdCBiYXNlZCBvbiBpZiB0aGUgMm5kIHBhcmFtZXRlciBpcyBhbiBhcnJheSBvciBub3QNCglmdW5jdGlvbiBwdXNoT3JDb25jYXQoYmFzZSwgdG9QdXNoKSB7DQoJCWlmICh0b1B1c2gpIHsNCgkJCWlmIChoZWxwZXJzLmlzQXJyYXkodG9QdXNoKSkgew0KCQkJCWJhc2UgPSBiYXNlLmNvbmNhdCh0b1B1c2gpOw0KCQkJfSBlbHNlIHsNCgkJCQliYXNlLnB1c2godG9QdXNoKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiBiYXNlOw0KCX0NCg0KCUNoYXJ0LlRvb2x0aXAgPSBDaGFydC5FbGVtZW50LmV4dGVuZCh7DQoJCWluaXRpYWxpemU6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGdsb2JhbERlZmF1bHRzID0gQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsOw0KCQkJdmFyIG9wdGlvbnMgPSB0aGlzLl9vcHRpb25zOw0KCQkJdmFyIHRvb2x0aXBzID0gb3B0aW9ucy50b29sdGlwczsNCg0KCQkJaGVscGVycy5leHRlbmQodGhpcywgew0KCQkJCV9tb2RlbDogew0KCQkJCQkvLyBQb3NpdGlvbmluZw0KCQkJCQl4UGFkZGluZzogdG9vbHRpcHMueFBhZGRpbmcsDQoJCQkJCXlQYWRkaW5nOiB0b29sdGlwcy55UGFkZGluZywNCgkJCQkJeEFsaWduIDogdG9vbHRpcHMueUFsaWduLA0KCQkJCQl5QWxpZ24gOiB0b29sdGlwcy54QWxpZ24sDQoNCgkJCQkJLy8gQm9keQ0KCQkJCQlib2R5Q29sb3I6IHRvb2x0aXBzLmJvZHlDb2xvciwNCgkJCQkJX2JvZHlGb250RmFtaWx5OiBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRvb2x0aXBzLmJvZHlGb250RmFtaWx5LCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udEZhbWlseSksDQoJCQkJCV9ib2R5Rm9udFN0eWxlOiBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRvb2x0aXBzLmJvZHlGb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpLA0KCQkJCQlfYm9keUFsaWduOiB0b29sdGlwcy5ib2R5QWxpZ24sDQoJCQkJCWJvZHlGb250U2l6ZTogaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0b29sdGlwcy5ib2R5Rm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSksDQoJCQkJCWJvZHlTcGFjaW5nOiB0b29sdGlwcy5ib2R5U3BhY2luZywNCg0KCQkJCQkvLyBUaXRsZQ0KCQkJCQl0aXRsZUNvbG9yOiB0b29sdGlwcy50aXRsZUNvbG9yLA0KCQkJCQlfdGl0bGVGb250RmFtaWx5OiBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRvb2x0aXBzLnRpdGxlRm9udEZhbWlseSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRGYW1pbHkpLA0KCQkJCQlfdGl0bGVGb250U3R5bGU6IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodG9vbHRpcHMudGl0bGVGb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpLA0KCQkJCQl0aXRsZUZvbnRTaXplOiBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRvb2x0aXBzLnRpdGxlRm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSksDQoJCQkJCV90aXRsZUFsaWduOiB0b29sdGlwcy50aXRsZUFsaWduLA0KCQkJCQl0aXRsZVNwYWNpbmc6IHRvb2x0aXBzLnRpdGxlU3BhY2luZywNCgkJCQkJdGl0bGVNYXJnaW5Cb3R0b206IHRvb2x0aXBzLnRpdGxlTWFyZ2luQm90dG9tLA0KDQoJCQkJCS8vIEZvb3Rlcg0KCQkJCQlmb290ZXJDb2xvcjogdG9vbHRpcHMuZm9vdGVyQ29sb3IsDQoJCQkJCV9mb290ZXJGb250RmFtaWx5OiBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRvb2x0aXBzLmZvb3RlckZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KSwNCgkJCQkJX2Zvb3RlckZvbnRTdHlsZTogaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0b29sdGlwcy5mb290ZXJGb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpLA0KCQkJCQlmb290ZXJGb250U2l6ZTogaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0b29sdGlwcy5mb290ZXJGb250U2l6ZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTaXplKSwNCgkJCQkJX2Zvb3RlckFsaWduOiB0b29sdGlwcy5mb290ZXJBbGlnbiwNCgkJCQkJZm9vdGVyU3BhY2luZzogdG9vbHRpcHMuZm9vdGVyU3BhY2luZywNCgkJCQkJZm9vdGVyTWFyZ2luVG9wOiB0b29sdGlwcy5mb290ZXJNYXJnaW5Ub3AsDQoNCgkJCQkJLy8gQXBwZWFyYW5jZQ0KCQkJCQljYXJldFNpemU6IHRvb2x0aXBzLmNhcmV0U2l6ZSwNCgkJCQkJY29ybmVyUmFkaXVzOiB0b29sdGlwcy5jb3JuZXJSYWRpdXMsDQoJCQkJCWJhY2tncm91bmRDb2xvcjogdG9vbHRpcHMuYmFja2dyb3VuZENvbG9yLA0KCQkJCQlvcGFjaXR5OiAwLA0KCQkJCQlsZWdlbmRDb2xvckJhY2tncm91bmQ6IHRvb2x0aXBzLm11bHRpS2V5QmFja2dyb3VuZA0KCQkJCX0NCgkJCX0pOw0KCQl9LA0KDQoJCS8vIEdldCB0aGUgdGl0bGUNCgkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbSwgZGF0YSkNCgkJZ2V0VGl0bGU6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGJlZm9yZVRpdGxlID0gdGhpcy5fb3B0aW9ucy50b29sdGlwcy5jYWxsYmFja3MuYmVmb3JlVGl0bGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSwNCgkJCQl0aXRsZSA9IHRoaXMuX29wdGlvbnMudG9vbHRpcHMuY2FsbGJhY2tzLnRpdGxlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksDQoJCQkJYWZ0ZXJUaXRsZSA9IHRoaXMuX29wdGlvbnMudG9vbHRpcHMuY2FsbGJhY2tzLmFmdGVyVGl0bGUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsNCg0KCQkJdmFyIGxpbmVzID0gW107DQoJCQlsaW5lcyA9IHB1c2hPckNvbmNhdChsaW5lcywgYmVmb3JlVGl0bGUpOw0KCQkJbGluZXMgPSBwdXNoT3JDb25jYXQobGluZXMsIHRpdGxlKTsNCgkJCWxpbmVzID0gcHVzaE9yQ29uY2F0KGxpbmVzLCBhZnRlclRpdGxlKTsNCg0KCQkJcmV0dXJuIGxpbmVzOw0KCQl9LA0KDQoJCS8vIEFyZ3MgYXJlOiAodG9vbHRpcEl0ZW0sIGRhdGEpDQoJCWdldEJlZm9yZUJvZHk6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGxpbmVzID0gdGhpcy5fb3B0aW9ucy50b29sdGlwcy5jYWxsYmFja3MuYmVmb3JlQm9keS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOw0KCQkJcmV0dXJuIGhlbHBlcnMuaXNBcnJheShsaW5lcykgPyBsaW5lcyA6IGxpbmVzICE9PSB1bmRlZmluZWQgPyBbbGluZXNdIDogW107DQoJCX0sDQoNCgkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbSwgZGF0YSkNCgkJZ2V0Qm9keTogZnVuY3Rpb24odG9vbHRpcEl0ZW1zLCBkYXRhKSB7DQoJCQl2YXIgbGluZXMgPSBbXTsNCg0KCQkJaGVscGVycy5lYWNoKHRvb2x0aXBJdGVtcywgZnVuY3Rpb24oYm9keUl0ZW0pIHsNCgkJCQloZWxwZXJzLnB1c2hBbGxJZkRlZmluZWQodGhpcy5fb3B0aW9ucy50b29sdGlwcy5jYWxsYmFja3MuYmVmb3JlTGFiZWwuY2FsbCh0aGlzLCBib2R5SXRlbSwgZGF0YSksIGxpbmVzKTsNCgkJCQloZWxwZXJzLnB1c2hBbGxJZkRlZmluZWQodGhpcy5fb3B0aW9ucy50b29sdGlwcy5jYWxsYmFja3MubGFiZWwuY2FsbCh0aGlzLCBib2R5SXRlbSwgZGF0YSksIGxpbmVzKTsNCgkJCQloZWxwZXJzLnB1c2hBbGxJZkRlZmluZWQodGhpcy5fb3B0aW9ucy50b29sdGlwcy5jYWxsYmFja3MuYWZ0ZXJMYWJlbC5jYWxsKHRoaXMsIGJvZHlJdGVtLCBkYXRhKSwgbGluZXMpOw0KCQkJfSwgdGhpcyk7DQoNCgkJCXJldHVybiBsaW5lczsNCgkJfSwNCg0KCQkvLyBBcmdzIGFyZTogKHRvb2x0aXBJdGVtLCBkYXRhKQ0KCQlnZXRBZnRlckJvZHk6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGxpbmVzID0gdGhpcy5fb3B0aW9ucy50b29sdGlwcy5jYWxsYmFja3MuYWZ0ZXJCb2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQoJCQlyZXR1cm4gaGVscGVycy5pc0FycmF5KGxpbmVzKSA/IGxpbmVzIDogbGluZXMgIT09IHVuZGVmaW5lZCA/IFtsaW5lc10gOiBbXTsNCgkJfSwNCg0KCQkvLyBHZXQgdGhlIGZvb3RlciBhbmQgYmVmb3JlRm9vdGVyIGFuZCBhZnRlckZvb3RlciBsaW5lcw0KCQkvLyBBcmdzIGFyZTogKHRvb2x0aXBJdGVtLCBkYXRhKQ0KCQlnZXRGb290ZXI6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGJlZm9yZUZvb3RlciA9IHRoaXMuX29wdGlvbnMudG9vbHRpcHMuY2FsbGJhY2tzLmJlZm9yZUZvb3Rlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOw0KCQkJdmFyIGZvb3RlciA9IHRoaXMuX29wdGlvbnMudG9vbHRpcHMuY2FsbGJhY2tzLmZvb3Rlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOw0KCQkJdmFyIGFmdGVyRm9vdGVyID0gdGhpcy5fb3B0aW9ucy50b29sdGlwcy5jYWxsYmFja3MuYWZ0ZXJGb290ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsNCg0KCQkJdmFyIGxpbmVzID0gW107DQoJCQlsaW5lcyA9IHB1c2hPckNvbmNhdChsaW5lcywgYmVmb3JlRm9vdGVyKTsNCgkJCWxpbmVzID0gcHVzaE9yQ29uY2F0KGxpbmVzLCBmb290ZXIpOw0KCQkJbGluZXMgPSBwdXNoT3JDb25jYXQobGluZXMsIGFmdGVyRm9vdGVyKTsNCg0KCQkJcmV0dXJuIGxpbmVzOw0KCQl9LA0KDQoJCWdldEF2ZXJhZ2VQb3NpdGlvbjogZnVuY3Rpb24oZWxlbWVudHMpIHsNCg0KCQkJaWYgKCFlbGVtZW50cy5sZW5ndGgpIHsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoNCgkJCXZhciB4UG9zaXRpb25zID0gW107DQoJCQl2YXIgeVBvc2l0aW9ucyA9IFtdOw0KDQoJCQloZWxwZXJzLmVhY2goZWxlbWVudHMsIGZ1bmN0aW9uKGVsKSB7DQoJCQkJaWYgKGVsICYmIGVsLmhhc1ZhbHVlKCkpew0KCQkJCQl2YXIgcG9zID0gZWwudG9vbHRpcFBvc2l0aW9uKCk7DQoJCQkJCXhQb3NpdGlvbnMucHVzaChwb3MueCk7DQoJCQkJCXlQb3NpdGlvbnMucHVzaChwb3MueSk7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJCXZhciB4ID0gMCwNCgkJCQl5ID0gMDsNCgkJCWZvciAodmFyIGkgPSAwOyBpIDwgeFBvc2l0aW9ucy5sZW5ndGg7IGkrKykgew0KCQkJCXggKz0geFBvc2l0aW9uc1tpXTsNCgkJCQl5ICs9IHlQb3NpdGlvbnNbaV07DQoJCQl9DQoNCgkJCXJldHVybiB7DQoJCQkJeDogTWF0aC5yb3VuZCh4IC8geFBvc2l0aW9ucy5sZW5ndGgpLA0KCQkJCXk6IE1hdGgucm91bmQoeSAvIHhQb3NpdGlvbnMubGVuZ3RoKQ0KCQkJfTsNCg0KCQl9LA0KDQoJCXVwZGF0ZTogZnVuY3Rpb24oY2hhbmdlZCkgew0KCQkJaWYgKHRoaXMuX2FjdGl2ZS5sZW5ndGgpIHsNCgkJCQl0aGlzLl9tb2RlbC5vcGFjaXR5ID0gMTsNCg0KCQkJCXZhciBlbGVtZW50ID0gdGhpcy5fYWN0aXZlWzBdLA0KCQkJCQlsYWJlbENvbG9ycyA9IFtdLA0KCQkJCQl0b29sdGlwUG9zaXRpb247DQoNCgkJCQl2YXIgdG9vbHRpcEl0ZW1zID0gW107DQoNCgkJCQlpZiAodGhpcy5fb3B0aW9ucy50b29sdGlwcy5tb2RlID09PSAnc2luZ2xlJykgew0KCQkJCQl2YXIgeVNjYWxlID0gZWxlbWVudC5feVNjYWxlIHx8IGVsZW1lbnQuX3NjYWxlOyAvLyBoYW5kbGUgcmFkYXIgfHwgcG9sYXJBcmVhIGNoYXJ0cw0KCQkJCQl0b29sdGlwSXRlbXMucHVzaCh7DQoJCQkJCQl4TGFiZWw6IGVsZW1lbnQuX3hTY2FsZSA/IGVsZW1lbnQuX3hTY2FsZS5nZXRMYWJlbEZvckluZGV4KGVsZW1lbnQuX2luZGV4LCBlbGVtZW50Ll9kYXRhc2V0SW5kZXgpIDogJycsDQoJCQkJCQl5TGFiZWw6IHlTY2FsZSA/IHlTY2FsZS5nZXRMYWJlbEZvckluZGV4KGVsZW1lbnQuX2luZGV4LCBlbGVtZW50Ll9kYXRhc2V0SW5kZXgpIDogJycsDQoJCQkJCQlpbmRleDogZWxlbWVudC5faW5kZXgsDQoJCQkJCQlkYXRhc2V0SW5kZXg6IGVsZW1lbnQuX2RhdGFzZXRJbmRleA0KCQkJCQl9KTsNCgkJCQkJdG9vbHRpcFBvc2l0aW9uID0gdGhpcy5nZXRBdmVyYWdlUG9zaXRpb24odGhpcy5fYWN0aXZlKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQloZWxwZXJzLmVhY2godGhpcy5fZGF0YS5kYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJCQlpZiAoIXRoaXMuX2NoYXJ0SW5zdGFuY2UuaXNEYXRhc2V0VmlzaWJsZShkYXRhc2V0SW5kZXgpKSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KDQoJCQkJCQl2YXIgbWV0YSA9IHRoaXMuX2NoYXJ0SW5zdGFuY2UuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsNCgkJCQkJCXZhciBjdXJyZW50RWxlbWVudCA9IG1ldGEuZGF0YVtlbGVtZW50Ll9pbmRleF07DQoJCQkJCQlpZiAoY3VycmVudEVsZW1lbnQpIHsNCgkJCQkJCQl2YXIgeVNjYWxlID0gZWxlbWVudC5feVNjYWxlIHx8IGVsZW1lbnQuX3NjYWxlOyAvLyBoYW5kbGUgcmFkYXIgfHwgcG9sYXJBcmVhIGNoYXJ0cw0KDQoJCQkJCQkJdG9vbHRpcEl0ZW1zLnB1c2goew0KCQkJCQkJCQl4TGFiZWw6IGN1cnJlbnRFbGVtZW50Ll94U2NhbGUgPyBjdXJyZW50RWxlbWVudC5feFNjYWxlLmdldExhYmVsRm9ySW5kZXgoY3VycmVudEVsZW1lbnQuX2luZGV4LCBjdXJyZW50RWxlbWVudC5fZGF0YXNldEluZGV4KSA6ICcnLA0KCQkJCQkJCQl5TGFiZWw6IHlTY2FsZSA/IHlTY2FsZS5nZXRMYWJlbEZvckluZGV4KGN1cnJlbnRFbGVtZW50Ll9pbmRleCwgY3VycmVudEVsZW1lbnQuX2RhdGFzZXRJbmRleCkgOiAnJywNCgkJCQkJCQkJaW5kZXg6IGVsZW1lbnQuX2luZGV4LA0KCQkJCQkJCQlkYXRhc2V0SW5kZXg6IGRhdGFzZXRJbmRleA0KCQkJCQkJCX0pOw0KCQkJCQkJfQ0KCQkJCQl9LCB0aGlzKTsNCg0KCQkJCQloZWxwZXJzLmVhY2godGhpcy5fYWN0aXZlLCBmdW5jdGlvbihhY3RpdmUpIHsNCgkJCQkJCWlmIChhY3RpdmUpIHsNCgkJCQkJCQlsYWJlbENvbG9ycy5wdXNoKHsNCgkJCQkJCQkJYm9yZGVyQ29sb3I6IGFjdGl2ZS5fdmlldy5ib3JkZXJDb2xvciwNCgkJCQkJCQkJYmFja2dyb3VuZENvbG9yOiBhY3RpdmUuX3ZpZXcuYmFja2dyb3VuZENvbG9yDQoJCQkJCQkJfSk7DQoJCQkJCQl9DQoJCQkJCX0sIG51bGwpOw0KDQoJCQkJCXRvb2x0aXBQb3NpdGlvbiA9IHRoaXMuZ2V0QXZlcmFnZVBvc2l0aW9uKHRoaXMuX2FjdGl2ZSk7DQoJCQkJfQ0KDQoJCQkJLy8gQnVpbGQgdGhlIFRleHQgTGluZXMNCgkJCQloZWxwZXJzLmV4dGVuZCh0aGlzLl9tb2RlbCwgew0KCQkJCQl0aXRsZTogdGhpcy5nZXRUaXRsZSh0b29sdGlwSXRlbXMsIHRoaXMuX2RhdGEpLA0KCQkJCQliZWZvcmVCb2R5OiB0aGlzLmdldEJlZm9yZUJvZHkodG9vbHRpcEl0ZW1zLCB0aGlzLl9kYXRhKSwNCgkJCQkJYm9keTogdGhpcy5nZXRCb2R5KHRvb2x0aXBJdGVtcywgdGhpcy5fZGF0YSksDQoJCQkJCWFmdGVyQm9keTogdGhpcy5nZXRBZnRlckJvZHkodG9vbHRpcEl0ZW1zLCB0aGlzLl9kYXRhKSwNCgkJCQkJZm9vdGVyOiB0aGlzLmdldEZvb3Rlcih0b29sdGlwSXRlbXMsIHRoaXMuX2RhdGEpDQoJCQkJfSk7DQoNCgkJCQloZWxwZXJzLmV4dGVuZCh0aGlzLl9tb2RlbCwgew0KCQkJCQl4OiBNYXRoLnJvdW5kKHRvb2x0aXBQb3NpdGlvbi54KSwNCgkJCQkJeTogTWF0aC5yb3VuZCh0b29sdGlwUG9zaXRpb24ueSksDQoJCQkJCWNhcmV0UGFkZGluZzogaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0b29sdGlwUG9zaXRpb24ucGFkZGluZywgMiksDQoJCQkJCWxhYmVsQ29sb3JzOiBsYWJlbENvbG9ycw0KCQkJCX0pOw0KDQoJCQkJLy8gV2UgbmVlZCB0byBkZXRlcm1pbmUgYWxpZ25tZW50IG9mDQoJCQkJdmFyIHRvb2x0aXBTaXplID0gdGhpcy5nZXRUb29sdGlwU2l6ZSh0aGlzLl9tb2RlbCk7DQoJCQkJdGhpcy5kZXRlcm1pbmVBbGlnbm1lbnQodG9vbHRpcFNpemUpOyAvLyBTbWFydCBUb29sdGlwIHBsYWNlbWVudCB0byBzdGF5IG9uIHRoZSBjYW52YXMNCg0KCQkJCWhlbHBlcnMuZXh0ZW5kKHRoaXMuX21vZGVsLCB0aGlzLmdldEJhY2tncm91bmRQb2ludCh0aGlzLl9tb2RlbCwgdG9vbHRpcFNpemUpKTsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5fbW9kZWwub3BhY2l0eSA9IDA7DQoJCQl9DQoNCgkJCWlmIChjaGFuZ2VkICYmIHRoaXMuX29wdGlvbnMudG9vbHRpcHMuY3VzdG9tKSB7DQoJCQkJdGhpcy5fb3B0aW9ucy50b29sdGlwcy5jdXN0b20uY2FsbCh0aGlzLCB0aGlzLl9tb2RlbCk7DQoJCQl9DQoNCgkJCXJldHVybiB0aGlzOw0KCQl9LA0KCQlnZXRUb29sdGlwU2l6ZTogZnVuY3Rpb24gZ2V0VG9vbHRpcFNpemUodm0pIHsNCgkJCXZhciBjdHggPSB0aGlzLl9jaGFydC5jdHg7DQoNCgkJCXZhciBzaXplID0gew0KCQkJCWhlaWdodDogdm0ueVBhZGRpbmcgKiAyLCAvLyBUb29sdGlwIFBhZGRpbmcNCgkJCQl3aWR0aDogMA0KCQkJfTsNCgkJCXZhciBjb21iaW5lZEJvZHlMZW5ndGggPSB2bS5ib2R5Lmxlbmd0aCArIHZtLmJlZm9yZUJvZHkubGVuZ3RoICsgdm0uYWZ0ZXJCb2R5Lmxlbmd0aDsNCg0KCQkJc2l6ZS5oZWlnaHQgKz0gdm0udGl0bGUubGVuZ3RoICogdm0udGl0bGVGb250U2l6ZTsgLy8gVGl0bGUgTGluZXMNCgkJCXNpemUuaGVpZ2h0ICs9ICh2bS50aXRsZS5sZW5ndGggLSAxKSAqIHZtLnRpdGxlU3BhY2luZzsgLy8gVGl0bGUgTGluZSBTcGFjaW5nDQoJCQlzaXplLmhlaWdodCArPSB2bS50aXRsZS5sZW5ndGggPyB2bS50aXRsZU1hcmdpbkJvdHRvbSA6IDA7IC8vIFRpdGxlJ3MgYm90dG9tIE1hcmdpbg0KCQkJc2l6ZS5oZWlnaHQgKz0gY29tYmluZWRCb2R5TGVuZ3RoICogdm0uYm9keUZvbnRTaXplOyAvLyBCb2R5IExpbmVzDQoJCQlzaXplLmhlaWdodCArPSBjb21iaW5lZEJvZHlMZW5ndGggPyAoY29tYmluZWRCb2R5TGVuZ3RoIC0gMSkgKiB2bS5ib2R5U3BhY2luZyA6IDA7IC8vIEJvZHkgTGluZSBTcGFjaW5nDQoJCQlzaXplLmhlaWdodCArPSB2bS5mb290ZXIubGVuZ3RoID8gdm0uZm9vdGVyTWFyZ2luVG9wIDogMDsgLy8gRm9vdGVyIE1hcmdpbg0KCQkJc2l6ZS5oZWlnaHQgKz0gdm0uZm9vdGVyLmxlbmd0aCAqICh2bS5mb290ZXJGb250U2l6ZSk7IC8vIEZvb3RlciBMaW5lcw0KCQkJc2l6ZS5oZWlnaHQgKz0gdm0uZm9vdGVyLmxlbmd0aCA/ICh2bS5mb290ZXIubGVuZ3RoIC0gMSkgKiB2bS5mb290ZXJTcGFjaW5nIDogMDsgLy8gRm9vdGVyIExpbmUgU3BhY2luZw0KDQoJCQkvLyBXaWR0aA0KCQkJY3R4LmZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcodm0udGl0bGVGb250U2l6ZSwgdm0uX3RpdGxlRm9udFN0eWxlLCB2bS5fdGl0bGVGb250RmFtaWx5KTsNCgkJCWhlbHBlcnMuZWFjaCh2bS50aXRsZSwgZnVuY3Rpb24obGluZSkgew0KCQkJCXNpemUud2lkdGggPSBNYXRoLm1heChzaXplLndpZHRoLCBjdHgubWVhc3VyZVRleHQobGluZSkud2lkdGgpOw0KCQkJfSk7DQoNCgkJCWN0eC5mb250ID0gaGVscGVycy5mb250U3RyaW5nKHZtLmJvZHlGb250U2l6ZSwgdm0uX2JvZHlGb250U3R5bGUsIHZtLl9ib2R5Rm9udEZhbWlseSk7DQoJCQloZWxwZXJzLmVhY2godm0uYmVmb3JlQm9keS5jb25jYXQodm0uYWZ0ZXJCb2R5KSwgZnVuY3Rpb24obGluZSkgew0KCQkJCXNpemUud2lkdGggPSBNYXRoLm1heChzaXplLndpZHRoLCBjdHgubWVhc3VyZVRleHQobGluZSkud2lkdGgpOw0KCQkJfSk7DQoJCQloZWxwZXJzLmVhY2godm0uYm9keSwgZnVuY3Rpb24obGluZSkgew0KCQkJCXNpemUud2lkdGggPSBNYXRoLm1heChzaXplLndpZHRoLCBjdHgubWVhc3VyZVRleHQobGluZSkud2lkdGggKyAodGhpcy5fb3B0aW9ucy50b29sdGlwcy5tb2RlICE9PSAnc2luZ2xlJyA/ICh2bS5ib2R5Rm9udFNpemUgKyAyKSA6IDApKTsNCgkJCX0sIHRoaXMpOw0KDQoJCQljdHguZm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyh2bS5mb290ZXJGb250U2l6ZSwgdm0uX2Zvb3RlckZvbnRTdHlsZSwgdm0uX2Zvb3RlckZvbnRGYW1pbHkpOw0KCQkJaGVscGVycy5lYWNoKHZtLmZvb3RlciwgZnVuY3Rpb24obGluZSkgew0KCQkJCXNpemUud2lkdGggPSBNYXRoLm1heChzaXplLndpZHRoLCBjdHgubWVhc3VyZVRleHQobGluZSkud2lkdGgpOw0KCQkJfSk7DQoJCQlzaXplLndpZHRoICs9IDIgKiB2bS54UGFkZGluZzsNCg0KCQkJcmV0dXJuIHNpemU7DQoJCX0sDQoJCWRldGVybWluZUFsaWdubWVudDogZnVuY3Rpb24gZGV0ZXJtaW5lQWxpZ25tZW50KHNpemUpIHsNCgkJCWlmICh0aGlzLl9tb2RlbC55IDwgc2l6ZS5oZWlnaHQpIHsNCgkJCQl0aGlzLl9tb2RlbC55QWxpZ24gPSAndG9wJzsNCgkJCX0gZWxzZSBpZiAodGhpcy5fbW9kZWwueSA+ICh0aGlzLl9jaGFydC5oZWlnaHQgLSBzaXplLmhlaWdodCkpIHsNCgkJCQl0aGlzLl9tb2RlbC55QWxpZ24gPSAnYm90dG9tJzsNCgkJCX0NCg0KCQkJdmFyIGxmLCByZjsgLy8gZnVuY3Rpb25zIHRvIGRldGVybWluZSBsZWZ0LCByaWdodCBhbGlnbm1lbnQNCgkJCXZhciBvbGYsIG9yZjsgLy8gZnVuY3Rpb25zIHRvIGRldGVybWluZSBpZiBsZWZ0L3JpZ2h0IGFsaWdubWVudCBjYXVzZXMgdG9vbHRpcCB0byBnbyBvdXRzaWRlIGNoYXJ0DQoJCQl2YXIgeWY7IC8vIGZ1bmN0aW9uIHRvIGdldCB0aGUgeSBhbGlnbm1lbnQgaWYgdGhlIHRvb2x0aXAgZ29lcyBvdXRzaWRlIG9mIHRoZSBsZWZ0IG9yIHJpZ2h0IGVkZ2VzDQoJCQl2YXIgX3RoaXMgPSB0aGlzOw0KCQkJdmFyIG1pZFggPSAodGhpcy5fY2hhcnRJbnN0YW5jZS5jaGFydEFyZWEubGVmdCArIHRoaXMuX2NoYXJ0SW5zdGFuY2UuY2hhcnRBcmVhLnJpZ2h0KSAvIDI7DQoJCQl2YXIgbWlkWSA9ICh0aGlzLl9jaGFydEluc3RhbmNlLmNoYXJ0QXJlYS50b3AgKyB0aGlzLl9jaGFydEluc3RhbmNlLmNoYXJ0QXJlYS5ib3R0b20pIC8gMjsNCg0KCQkJaWYgKHRoaXMuX21vZGVsLnlBbGlnbiA9PT0gJ2NlbnRlcicpIHsNCgkJCQlsZiA9IGZ1bmN0aW9uKHgpIHsNCgkJCQkJcmV0dXJuIHggPD0gbWlkWDsNCgkJCQl9Ow0KCQkJCXJmID0gZnVuY3Rpb24oeCkgew0KCQkJCQlyZXR1cm4geCA+IG1pZFg7DQoJCQkJfTsNCgkJCX0gZWxzZSB7DQoJCQkJbGYgPSBmdW5jdGlvbih4KSB7DQoJCQkJCXJldHVybiB4IDw9IChzaXplLndpZHRoIC8gMik7DQoJCQkJfTsNCgkJCQlyZiA9IGZ1bmN0aW9uKHgpIHsNCgkJCQkJcmV0dXJuIHggPj0gKF90aGlzLl9jaGFydC53aWR0aCAtIChzaXplLndpZHRoIC8gMikpOw0KCQkJCX07DQoJCQl9DQoNCgkJCW9sZiA9IGZ1bmN0aW9uKHgpIHsNCgkJCQlyZXR1cm4geCArIHNpemUud2lkdGggPiBfdGhpcy5fY2hhcnQud2lkdGg7DQoJCQl9Ow0KCQkJb3JmID0gZnVuY3Rpb24oeCkgew0KCQkJCXJldHVybiB4IC0gc2l6ZS53aWR0aCA8IDA7DQoJCQl9Ow0KCQkJeWYgPSBmdW5jdGlvbih5KSB7DQoJCQkJcmV0dXJuIHkgPD0gbWlkWSA/ICd0b3AnIDogJ2JvdHRvbSc7DQoJCQl9Ow0KDQoJCQlpZiAobGYodGhpcy5fbW9kZWwueCkpIHsNCgkJCQl0aGlzLl9tb2RlbC54QWxpZ24gPSAnbGVmdCc7DQoNCgkJCQkvLyBJcyB0b29sdGlwIHRvbyB3aWRlIGFuZCBnb2VzIG92ZXIgdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGNoYXJ0Lj8NCgkJCQlpZiAob2xmKHRoaXMuX21vZGVsLngpKSB7DQoJCQkJCXRoaXMuX21vZGVsLnhBbGlnbiA9ICdjZW50ZXInOw0KCQkJCQl0aGlzLl9tb2RlbC55QWxpZ24gPSB5Zih0aGlzLl9tb2RlbC55KTsNCgkJCQl9DQoJCQl9IGVsc2UgaWYgKHJmKHRoaXMuX21vZGVsLngpKSB7DQoJCQkJdGhpcy5fbW9kZWwueEFsaWduID0gJ3JpZ2h0JzsNCg0KCQkJCS8vIElzIHRvb2x0aXAgdG9vIHdpZGUgYW5kIGdvZXMgb3V0c2lkZSBsZWZ0IGVkZ2Ugb2YgY2FudmFzPw0KCQkJCWlmIChvcmYodGhpcy5fbW9kZWwueCkpIHsNCgkJCQkJdGhpcy5fbW9kZWwueEFsaWduID0gJ2NlbnRlcic7DQoJCQkJCXRoaXMuX21vZGVsLnlBbGlnbiA9IHlmKHRoaXMuX21vZGVsLnkpOw0KCQkJCX0NCgkJCX0NCgkJfSwNCgkJZ2V0QmFja2dyb3VuZFBvaW50OiBmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kUG9pbnQodm0sIHNpemUpIHsNCgkJCS8vIEJhY2tncm91bmQgUG9zaXRpb24NCgkJCXZhciBwdCA9IHsNCgkJCQl4OiB2bS54LA0KCQkJCXk6IHZtLnkNCgkJCX07DQoNCgkJCWlmICh2bS54QWxpZ24gPT09ICdyaWdodCcpIHsNCgkJCQlwdC54IC09IHNpemUud2lkdGg7DQoJCQl9IGVsc2UgaWYgKHZtLnhBbGlnbiA9PT0gJ2NlbnRlcicpIHsNCgkJCQlwdC54IC09IChzaXplLndpZHRoIC8gMik7DQoJCQl9DQoNCgkJCWlmICh2bS55QWxpZ24gPT09ICd0b3AnKSB7DQoJCQkJcHQueSArPSB2bS5jYXJldFBhZGRpbmcgKyB2bS5jYXJldFNpemU7DQoJCQl9IGVsc2UgaWYgKHZtLnlBbGlnbiA9PT0gJ2JvdHRvbScpIHsNCgkJCQlwdC55IC09IHNpemUuaGVpZ2h0ICsgdm0uY2FyZXRQYWRkaW5nICsgdm0uY2FyZXRTaXplOw0KCQkJfSBlbHNlIHsNCgkJCQlwdC55IC09IChzaXplLmhlaWdodCAvIDIpOw0KCQkJfQ0KDQoJCQlpZiAodm0ueUFsaWduID09PSAnY2VudGVyJykgew0KCQkJCWlmICh2bS54QWxpZ24gPT09ICdsZWZ0Jykgew0KCQkJCQlwdC54ICs9IHZtLmNhcmV0UGFkZGluZyArIHZtLmNhcmV0U2l6ZTsNCgkJCQl9IGVsc2UgaWYgKHZtLnhBbGlnbiA9PT0gJ3JpZ2h0Jykgew0KCQkJCQlwdC54IC09IHZtLmNhcmV0UGFkZGluZyArIHZtLmNhcmV0U2l6ZTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KCQkJCWlmICh2bS54QWxpZ24gPT09ICdsZWZ0Jykgew0KCQkJCQlwdC54IC09IHZtLmNvcm5lclJhZGl1cyArIHZtLmNhcmV0UGFkZGluZzsNCgkJCQl9IGVsc2UgaWYgKHZtLnhBbGlnbiA9PT0gJ3JpZ2h0Jykgew0KCQkJCQlwdC54ICs9IHZtLmNvcm5lclJhZGl1cyArIHZtLmNhcmV0UGFkZGluZzsNCgkJCQl9DQoJCQl9DQoNCgkJCXJldHVybiBwdDsNCgkJfSwNCgkJZHJhd0NhcmV0OiBmdW5jdGlvbiBkcmF3Q2FyZXQodG9vbHRpcFBvaW50LCBzaXplLCBvcGFjaXR5LCBjYXJldFBhZGRpbmcpIHsNCgkJCXZhciB2bSA9IHRoaXMuX3ZpZXc7DQoJCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4Ow0KCQkJdmFyIHgxLCB4MiwgeDM7DQoJCQl2YXIgeTEsIHkyLCB5MzsNCg0KCQkJaWYgKHZtLnlBbGlnbiA9PT0gJ2NlbnRlcicpIHsNCgkJCQkvLyBMZWZ0IG9yIHJpZ2h0IHNpZGUNCgkJCQlpZiAodm0ueEFsaWduID09PSAnbGVmdCcpIHsNCgkJCQkJeDEgPSB0b29sdGlwUG9pbnQueDsNCgkJCQkJeDIgPSB4MSAtIHZtLmNhcmV0U2l6ZTsNCgkJCQkJeDMgPSB4MTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl4MSA9IHRvb2x0aXBQb2ludC54ICsgc2l6ZS53aWR0aDsNCgkJCQkJeDIgPSB4MSArIHZtLmNhcmV0U2l6ZTsNCgkJCQkJeDMgPSB4MTsNCgkJCQl9DQoNCgkJCQl5MiA9IHRvb2x0aXBQb2ludC55ICsgKHNpemUuaGVpZ2h0IC8gMik7DQoJCQkJeTEgPSB5MiAtIHZtLmNhcmV0U2l6ZTsNCgkJCQl5MyA9IHkyICsgdm0uY2FyZXRTaXplOw0KCQkJfSBlbHNlIHsNCgkJCQlpZiAodm0ueEFsaWduID09PSAnbGVmdCcpIHsNCgkJCQkJeDEgPSB0b29sdGlwUG9pbnQueCArIHZtLmNvcm5lclJhZGl1czsNCgkJCQkJeDIgPSB4MSArIHZtLmNhcmV0U2l6ZTsNCgkJCQkJeDMgPSB4MiArIHZtLmNhcmV0U2l6ZTsNCgkJCQl9IGVsc2UgaWYgKHZtLnhBbGlnbiA9PT0gJ3JpZ2h0Jykgew0KCQkJCQl4MSA9IHRvb2x0aXBQb2ludC54ICsgc2l6ZS53aWR0aCAtIHZtLmNvcm5lclJhZGl1czsNCgkJCQkJeDIgPSB4MSAtIHZtLmNhcmV0U2l6ZTsNCgkJCQkJeDMgPSB4MiAtIHZtLmNhcmV0U2l6ZTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl4MiA9IHRvb2x0aXBQb2ludC54ICsgKHNpemUud2lkdGggLyAyKTsNCgkJCQkJeDEgPSB4MiAtIHZtLmNhcmV0U2l6ZTsNCgkJCQkJeDMgPSB4MiArIHZtLmNhcmV0U2l6ZTsNCgkJCQl9DQoNCgkJCQlpZiAodm0ueUFsaWduID09PSAndG9wJykgew0KCQkJCQl5MSA9IHRvb2x0aXBQb2ludC55Ow0KCQkJCQl5MiA9IHkxIC0gdm0uY2FyZXRTaXplOw0KCQkJCQl5MyA9IHkxOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXkxID0gdG9vbHRpcFBvaW50LnkgKyBzaXplLmhlaWdodDsNCgkJCQkJeTIgPSB5MSArIHZtLmNhcmV0U2l6ZTsNCgkJCQkJeTMgPSB5MTsNCgkJCQl9DQoJCQl9DQoNCgkJCXZhciBiZ0NvbG9yID0gaGVscGVycy5jb2xvcih2bS5iYWNrZ3JvdW5kQ29sb3IpOw0KCQkJY3R4LmZpbGxTdHlsZSA9IGJnQ29sb3IuYWxwaGEob3BhY2l0eSAqIGJnQ29sb3IuYWxwaGEoKSkucmdiU3RyaW5nKCk7DQoJCQljdHguYmVnaW5QYXRoKCk7DQoJCQljdHgubW92ZVRvKHgxLCB5MSk7DQoJCQljdHgubGluZVRvKHgyLCB5Mik7DQoJCQljdHgubGluZVRvKHgzLCB5Myk7DQoJCQljdHguY2xvc2VQYXRoKCk7DQoJCQljdHguZmlsbCgpOw0KCQl9LA0KCQlkcmF3VGl0bGU6IGZ1bmN0aW9uIGRyYXdUaXRsZShwdCwgdm0sIGN0eCwgb3BhY2l0eSkgew0KCQkJaWYgKHZtLnRpdGxlLmxlbmd0aCkgew0KCQkJCWN0eC50ZXh0QWxpZ24gPSB2bS5fdGl0bGVBbGlnbjsNCgkJCQljdHgudGV4dEJhc2VsaW5lID0gInRvcCI7DQoNCgkJCQl2YXIgdGl0bGVDb2xvciA9IGhlbHBlcnMuY29sb3Iodm0udGl0bGVDb2xvcik7DQoJCQkJY3R4LmZpbGxTdHlsZSA9IHRpdGxlQ29sb3IuYWxwaGEob3BhY2l0eSAqIHRpdGxlQ29sb3IuYWxwaGEoKSkucmdiU3RyaW5nKCk7DQoJCQkJY3R4LmZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcodm0udGl0bGVGb250U2l6ZSwgdm0uX3RpdGxlRm9udFN0eWxlLCB2bS5fdGl0bGVGb250RmFtaWx5KTsNCg0KCQkJCWhlbHBlcnMuZWFjaCh2bS50aXRsZSwgZnVuY3Rpb24odGl0bGUsIGkpIHsNCgkJCQkJY3R4LmZpbGxUZXh0KHRpdGxlLCBwdC54LCBwdC55KTsNCgkJCQkJcHQueSArPSB2bS50aXRsZUZvbnRTaXplICsgdm0udGl0bGVTcGFjaW5nOyAvLyBMaW5lIEhlaWdodCBhbmQgc3BhY2luZw0KDQoJCQkJCWlmIChpICsgMSA9PT0gdm0udGl0bGUubGVuZ3RoKSB7DQoJCQkJCQlwdC55ICs9IHZtLnRpdGxlTWFyZ2luQm90dG9tIC0gdm0udGl0bGVTcGFjaW5nOyAvLyBJZiBMYXN0LCBhZGQgbWFyZ2luLCByZW1vdmUgc3BhY2luZw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9DQoJCX0sDQoJCWRyYXdCb2R5OiBmdW5jdGlvbiBkcmF3Qm9keShwdCwgdm0sIGN0eCwgb3BhY2l0eSkgew0KCQkJY3R4LnRleHRBbGlnbiA9IHZtLl9ib2R5QWxpZ247DQoJCQljdHgudGV4dEJhc2VsaW5lID0gInRvcCI7DQoNCgkJCXZhciBib2R5Q29sb3IgPSBoZWxwZXJzLmNvbG9yKHZtLmJvZHlDb2xvcik7DQoJCQljdHguZmlsbFN0eWxlID0gYm9keUNvbG9yLmFscGhhKG9wYWNpdHkgKiBib2R5Q29sb3IuYWxwaGEoKSkucmdiU3RyaW5nKCk7DQoJCQljdHguZm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyh2bS5ib2R5Rm9udFNpemUsIHZtLl9ib2R5Rm9udFN0eWxlLCB2bS5fYm9keUZvbnRGYW1pbHkpOw0KDQoJCQkvLyBCZWZvcmUgQm9keQ0KCQkJaGVscGVycy5lYWNoKHZtLmJlZm9yZUJvZHksIGZ1bmN0aW9uKGJlZm9yZUJvZHkpIHsNCgkJCQljdHguZmlsbFRleHQoYmVmb3JlQm9keSwgcHQueCwgcHQueSk7DQoJCQkJcHQueSArPSB2bS5ib2R5Rm9udFNpemUgKyB2bS5ib2R5U3BhY2luZzsNCgkJCX0pOw0KDQoJCQloZWxwZXJzLmVhY2godm0uYm9keSwgZnVuY3Rpb24oYm9keSwgaSkgew0KCQkJCS8vIERyYXcgTGVnZW5kLWxpa2UgYm94ZXMgaWYgbmVlZGVkDQoJCQkJaWYgKHRoaXMuX29wdGlvbnMudG9vbHRpcHMubW9kZSAhPT0gJ3NpbmdsZScpIHsNCgkJCQkJLy8gRmlsbCBhIHdoaXRlIHJlY3Qgc28gdGhhdCBjb2xvdXJzIG1lcmdlIG5pY2VseSBpZiB0aGUgb3BhY2l0eSBpcyA8IDENCgkJCQkJY3R4LmZpbGxTdHlsZSA9IGhlbHBlcnMuY29sb3Iodm0ubGVnZW5kQ29sb3JCYWNrZ3JvdW5kKS5hbHBoYShvcGFjaXR5KS5yZ2JhU3RyaW5nKCk7DQoJCQkJCWN0eC5maWxsUmVjdChwdC54LCBwdC55LCB2bS5ib2R5Rm9udFNpemUsIHZtLmJvZHlGb250U2l6ZSk7DQoNCgkJCQkJLy8gQm9yZGVyDQoJCQkJCWN0eC5zdHJva2VTdHlsZSA9IGhlbHBlcnMuY29sb3Iodm0ubGFiZWxDb2xvcnNbaV0uYm9yZGVyQ29sb3IpLmFscGhhKG9wYWNpdHkpLnJnYmFTdHJpbmcoKTsNCgkJCQkJY3R4LnN0cm9rZVJlY3QocHQueCwgcHQueSwgdm0uYm9keUZvbnRTaXplLCB2bS5ib2R5Rm9udFNpemUpOw0KDQoJCQkJCS8vIElubmVyIHNxdWFyZQ0KCQkJCQljdHguZmlsbFN0eWxlID0gaGVscGVycy5jb2xvcih2bS5sYWJlbENvbG9yc1tpXS5iYWNrZ3JvdW5kQ29sb3IpLmFscGhhKG9wYWNpdHkpLnJnYmFTdHJpbmcoKTsNCgkJCQkJY3R4LmZpbGxSZWN0KHB0LnggKyAxLCBwdC55ICsgMSwgdm0uYm9keUZvbnRTaXplIC0gMiwgdm0uYm9keUZvbnRTaXplIC0gMik7DQoNCgkJCQkJY3R4LmZpbGxTdHlsZSA9IGhlbHBlcnMuY29sb3Iodm0uYm9keUNvbG9yKS5hbHBoYShvcGFjaXR5KS5yZ2JhU3RyaW5nKCk7IC8vIFJldHVybiBmaWxsIHN0eWxlIGZvciB0ZXh0DQoJCQkJfQ0KDQoJCQkJLy8gQm9keSBMaW5lDQoJCQkJY3R4LmZpbGxUZXh0KGJvZHksIHB0LnggKyAodGhpcy5fb3B0aW9ucy50b29sdGlwcy5tb2RlICE9PSAnc2luZ2xlJyA/ICh2bS5ib2R5Rm9udFNpemUgKyAyKSA6IDApLCBwdC55KTsNCg0KCQkJCXB0LnkgKz0gdm0uYm9keUZvbnRTaXplICsgdm0uYm9keVNwYWNpbmc7DQoJCQl9LCB0aGlzKTsNCg0KCQkJLy8gQWZ0ZXIgQm9keQ0KCQkJaGVscGVycy5lYWNoKHZtLmFmdGVyQm9keSwgZnVuY3Rpb24oYWZ0ZXJCb2R5KSB7DQoJCQkJY3R4LmZpbGxUZXh0KGFmdGVyQm9keSwgcHQueCwgcHQueSk7DQoJCQkJcHQueSArPSB2bS5ib2R5Rm9udFNpemU7DQoJCQl9KTsNCg0KCQkJcHQueSAtPSB2bS5ib2R5U3BhY2luZzsgLy8gUmVtb3ZlIGxhc3QgYm9keSBzcGFjaW5nDQoJCX0sDQoJCWRyYXdGb290ZXI6IGZ1bmN0aW9uIGRyYXdGb290ZXIocHQsIHZtLCBjdHgsIG9wYWNpdHkpIHsNCgkJCWlmICh2bS5mb290ZXIubGVuZ3RoKSB7DQoJCQkJcHQueSArPSB2bS5mb290ZXJNYXJnaW5Ub3A7DQoNCgkJCQljdHgudGV4dEFsaWduID0gdm0uX2Zvb3RlckFsaWduOw0KCQkJCWN0eC50ZXh0QmFzZWxpbmUgPSAidG9wIjsNCg0KCQkJCXZhciBmb290ZXJDb2xvciA9IGhlbHBlcnMuY29sb3Iodm0uZm9vdGVyQ29sb3IpOw0KCQkJCWN0eC5maWxsU3R5bGUgPSBmb290ZXJDb2xvci5hbHBoYShvcGFjaXR5ICogZm9vdGVyQ29sb3IuYWxwaGEoKSkucmdiU3RyaW5nKCk7DQoJCQkJY3R4LmZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcodm0uZm9vdGVyRm9udFNpemUsIHZtLl9mb290ZXJGb250U3R5bGUsIHZtLl9mb290ZXJGb250RmFtaWx5KTsNCg0KCQkJCWhlbHBlcnMuZWFjaCh2bS5mb290ZXIsIGZ1bmN0aW9uKGZvb3Rlcikgew0KCQkJCQljdHguZmlsbFRleHQoZm9vdGVyLCBwdC54LCBwdC55KTsNCgkJCQkJcHQueSArPSB2bS5mb290ZXJGb250U2l6ZSArIHZtLmZvb3RlclNwYWNpbmc7DQoJCQkJfSk7DQoJCQl9DQoJCX0sDQoJCWRyYXc6IGZ1bmN0aW9uIGRyYXcoKSB7DQoJCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4Ow0KCQkJdmFyIHZtID0gdGhpcy5fdmlldzsNCg0KCQkJaWYgKHZtLm9wYWNpdHkgPT09IDApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXZhciBjYXJldFBhZGRpbmcgPSB2bS5jYXJldFBhZGRpbmc7DQoJCQl2YXIgdG9vbHRpcFNpemUgPSB0aGlzLmdldFRvb2x0aXBTaXplKHZtKTsNCgkJCXZhciBwdCA9IHsNCgkJCQl4OiB2bS54LA0KCQkJCXk6IHZtLnkNCgkJCX07DQoNCgkJCS8vIElFMTEvRWRnZSBkb2VzIG5vdCBsaWtlIHZlcnkgc21hbGwgb3BhY2l0aWVzLCBzbyBzbmFwIHRvIDANCgkJCXZhciBvcGFjaXR5ID0gTWF0aC5hYnModm0ub3BhY2l0eSA8IDFlLTMpID8gMCA6IHZtLm9wYWNpdHk7DQoNCgkJCWlmICh0aGlzLl9vcHRpb25zLnRvb2x0aXBzLmVuYWJsZWQpIHsNCgkJCQkvLyBEcmF3IEJhY2tncm91bmQNCgkJCQl2YXIgYmdDb2xvciA9IGhlbHBlcnMuY29sb3Iodm0uYmFja2dyb3VuZENvbG9yKTsNCgkJCQljdHguZmlsbFN0eWxlID0gYmdDb2xvci5hbHBoYShvcGFjaXR5ICogYmdDb2xvci5hbHBoYSgpKS5yZ2JTdHJpbmcoKTsNCgkJCQloZWxwZXJzLmRyYXdSb3VuZGVkUmVjdGFuZ2xlKGN0eCwgcHQueCwgcHQueSwgdG9vbHRpcFNpemUud2lkdGgsIHRvb2x0aXBTaXplLmhlaWdodCwgdm0uY29ybmVyUmFkaXVzKTsNCgkJCQljdHguZmlsbCgpOw0KDQoJCQkJLy8gRHJhdyBDYXJldA0KCQkJCXRoaXMuZHJhd0NhcmV0KHB0LCB0b29sdGlwU2l6ZSwgb3BhY2l0eSwgY2FyZXRQYWRkaW5nKTsNCg0KCQkJCS8vIERyYXcgVGl0bGUsIEJvZHksIGFuZCBGb290ZXINCgkJCQlwdC54ICs9IHZtLnhQYWRkaW5nOw0KCQkJCXB0LnkgKz0gdm0ueVBhZGRpbmc7DQoNCgkJCQkvLyBUaXRsZXMNCgkJCQl0aGlzLmRyYXdUaXRsZShwdCwgdm0sIGN0eCwgb3BhY2l0eSk7DQoNCgkJCQkvLyBCb2R5DQoJCQkJdGhpcy5kcmF3Qm9keShwdCwgdm0sIGN0eCwgb3BhY2l0eSk7DQoNCgkJCQkvLyBGb290ZXINCgkJCQl0aGlzLmRyYXdGb290ZXIocHQsIHZtLCBjdHgsIG9wYWNpdHkpOw0KCQkJfQ0KCQl9DQoJfSk7DQp9Ow0KCn0se31dLDM0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0LCBtb21lbnQpIHsNCg0KICB2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnMsDQogICAgZ2xvYmFsT3B0cyA9IENoYXJ0LmRlZmF1bHRzLmdsb2JhbDsNCg0KICBnbG9iYWxPcHRzLmVsZW1lbnRzLmFyYyA9IHsNCiAgICBiYWNrZ3JvdW5kQ29sb3I6IGdsb2JhbE9wdHMuZGVmYXVsdENvbG9yLA0KICAgIGJvcmRlckNvbG9yOiAiI2ZmZiIsDQogICAgYm9yZGVyV2lkdGg6IDINCiAgfTsNCg0KICBDaGFydC5lbGVtZW50cy5BcmMgPSBDaGFydC5FbGVtZW50LmV4dGVuZCh7DQogICAgaW5MYWJlbFJhbmdlOiBmdW5jdGlvbihtb3VzZVgpIHsNCiAgICAgIHZhciB2bSA9IHRoaXMuX3ZpZXc7DQoNCiAgICAgIGlmICh2bSkgew0KICAgICAgICByZXR1cm4gKE1hdGgucG93KG1vdXNlWCAtIHZtLngsIDIpIDwgTWF0aC5wb3codm0ucmFkaXVzICsgdm0uaG92ZXJSYWRpdXMsIDIpKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICB9LA0KICAgIGluUmFuZ2U6IGZ1bmN0aW9uKGNoYXJ0WCwgY2hhcnRZKSB7DQogICAgICB2YXIgdm0gPSB0aGlzLl92aWV3Ow0KDQogICAgICBpZiAodm0pIHsNCiAgICAgICAgdmFyIHBvaW50UmVsYXRpdmVQb3NpdGlvbiA9IGhlbHBlcnMuZ2V0QW5nbGVGcm9tUG9pbnQodm0sIHsNCiAgICAgICAgICAgIHg6IGNoYXJ0WCwNCiAgICAgICAgICAgIHk6IGNoYXJ0WQ0KICAgICAgICAgIH0pLA0KICAgICAgICAgIGFuZ2xlID0gcG9pbnRSZWxhdGl2ZVBvc2l0aW9uLmFuZ2xlLA0KICAgICAgICAgIGRpc3RhbmNlID0gcG9pbnRSZWxhdGl2ZVBvc2l0aW9uLmRpc3RhbmNlOw0KDQogICAgICAgIC8vU2FuaXRpc2UgYW5nbGUgcmFuZ2UNCiAgICAgICAgdmFyIHN0YXJ0QW5nbGUgPSB2bS5zdGFydEFuZ2xlOw0KICAgICAgICB2YXIgZW5kQW5nbGUgPSB2bS5lbmRBbmdsZTsNCiAgICAgICAgd2hpbGUgKGVuZEFuZ2xlIDwgc3RhcnRBbmdsZSkgew0KICAgICAgICAgIGVuZEFuZ2xlICs9IDIuMCAqIE1hdGguUEk7DQogICAgICAgIH0NCiAgICAgICAgd2hpbGUgKGFuZ2xlID4gZW5kQW5nbGUpIHsNCiAgICAgICAgICBhbmdsZSAtPSAyLjAgKiBNYXRoLlBJOw0KICAgICAgICB9DQogICAgICAgIHdoaWxlIChhbmdsZSA8IHN0YXJ0QW5nbGUpIHsNCiAgICAgICAgICBhbmdsZSArPSAyLjAgKiBNYXRoLlBJOw0KICAgICAgICB9DQoNCiAgICAgICAgLy9DaGVjayBpZiB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBvcGVuL2Nsb3NlIGFuZ2xlDQogICAgICAgIHZhciBiZXR3ZWVuQW5nbGVzID0gKGFuZ2xlID49IHN0YXJ0QW5nbGUgJiYgYW5nbGUgPD0gZW5kQW5nbGUpLA0KICAgICAgICAgIHdpdGhpblJhZGl1cyA9IChkaXN0YW5jZSA+PSB2bS5pbm5lclJhZGl1cyAmJiBkaXN0YW5jZSA8PSB2bS5vdXRlclJhZGl1cyk7DQoNCiAgICAgICAgcmV0dXJuIChiZXR3ZWVuQW5nbGVzICYmIHdpdGhpblJhZGl1cyk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQogICAgfSwNCiAgICB0b29sdGlwUG9zaXRpb246IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIHZtID0gdGhpcy5fdmlldzsNCg0KICAgICAgdmFyIGNlbnRyZUFuZ2xlID0gdm0uc3RhcnRBbmdsZSArICgodm0uZW5kQW5nbGUgLSB2bS5zdGFydEFuZ2xlKSAvIDIpLA0KICAgICAgICByYW5nZUZyb21DZW50cmUgPSAodm0ub3V0ZXJSYWRpdXMgLSB2bS5pbm5lclJhZGl1cykgLyAyICsgdm0uaW5uZXJSYWRpdXM7DQogICAgICByZXR1cm4gew0KICAgICAgICB4OiB2bS54ICsgKE1hdGguY29zKGNlbnRyZUFuZ2xlKSAqIHJhbmdlRnJvbUNlbnRyZSksDQogICAgICAgIHk6IHZtLnkgKyAoTWF0aC5zaW4oY2VudHJlQW5nbGUpICogcmFuZ2VGcm9tQ2VudHJlKQ0KICAgICAgfTsNCiAgICB9LA0KICAgIGRyYXc6IGZ1bmN0aW9uKCkgew0KDQogICAgICB2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4LA0KICAgICAgICB2bSA9IHRoaXMuX3ZpZXcsDQogICAgICAgIHNBID0gdm0uc3RhcnRBbmdsZSwNCiAgICAgICAgZUEgPSB2bS5lbmRBbmdsZTsNCg0KICAgICAgY3R4LmJlZ2luUGF0aCgpOw0KDQogICAgICBjdHguYXJjKHZtLngsIHZtLnksIHZtLm91dGVyUmFkaXVzLCBzQSwgZUEpOw0KICAgICAgY3R4LmFyYyh2bS54LCB2bS55LCB2bS5pbm5lclJhZGl1cywgZUEsIHNBLCB0cnVlKTsNCg0KICAgICAgY3R4LmNsb3NlUGF0aCgpOw0KICAgICAgY3R4LnN0cm9rZVN0eWxlID0gdm0uYm9yZGVyQ29sb3I7DQogICAgICBjdHgubGluZVdpZHRoID0gdm0uYm9yZGVyV2lkdGg7DQoNCiAgICAgIGN0eC5maWxsU3R5bGUgPSB2bS5iYWNrZ3JvdW5kQ29sb3I7DQoNCiAgICAgIGN0eC5maWxsKCk7DQogICAgICBjdHgubGluZUpvaW4gPSAnYmV2ZWwnOw0KDQogICAgICBpZiAodm0uYm9yZGVyV2lkdGgpIHsNCiAgICAgICAgY3R4LnN0cm9rZSgpOw0KICAgICAgfQ0KICAgIH0NCiAgfSk7DQp9Ow0KCn0se31dLDM1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCgl2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnM7DQoJdmFyIGdsb2JhbERlZmF1bHRzID0gQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsOw0KDQoJQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmVsZW1lbnRzLmxpbmUgPSB7DQoJCXRlbnNpb246IDAuNCwNCgkJYmFja2dyb3VuZENvbG9yOiBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Q29sb3IsDQoJCWJvcmRlcldpZHRoOiAzLA0KCQlib3JkZXJDb2xvcjogZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdENvbG9yLA0KCQlib3JkZXJDYXBTdHlsZTogJ2J1dHQnLA0KCQlib3JkZXJEYXNoOiBbXSwNCgkJYm9yZGVyRGFzaE9mZnNldDogMC4wLA0KCQlib3JkZXJKb2luU3R5bGU6ICdtaXRlcicsDQoJCWZpbGw6IHRydWUgLy8gZG8gd2UgZmlsbCBpbiB0aGUgYXJlYSBiZXR3ZWVuIHRoZSBsaW5lIGFuZCBpdHMgYmFzZSBheGlzDQoJfTsNCg0KCUNoYXJ0LmVsZW1lbnRzLkxpbmUgPSBDaGFydC5FbGVtZW50LmV4dGVuZCh7DQoJCWxpbmVUb05leHRQb2ludDogZnVuY3Rpb24ocHJldmlvdXNQb2ludCwgcG9pbnQsIG5leHRQb2ludCwgc2tpcEhhbmRsZXIsIHByZXZpb3VzU2tpcEhhbmRsZXIpIHsNCgkJCXZhciBjdHggPSB0aGlzLl9jaGFydC5jdHg7DQoNCgkJCWlmIChwb2ludC5fdmlldy5za2lwKSB7DQoJCQkJc2tpcEhhbmRsZXIuY2FsbCh0aGlzLCBwcmV2aW91c1BvaW50LCBwb2ludCwgbmV4dFBvaW50KTsNCgkJCX0gZWxzZSBpZiAocHJldmlvdXNQb2ludC5fdmlldy5za2lwKSB7DQoJCQkJcHJldmlvdXNTa2lwSGFuZGxlci5jYWxsKHRoaXMsIHByZXZpb3VzUG9pbnQsIHBvaW50LCBuZXh0UG9pbnQpOw0KCQkJfSBlbHNlIGlmIChwb2ludC5fdmlldy50ZW5zaW9uID09PSAwKSB7DQoJCQkJY3R4LmxpbmVUbyhwb2ludC5fdmlldy54LCBwb2ludC5fdmlldy55KTsNCgkJCX0gZWxzZSB7DQoJCQkJLy8gTGluZSBiZXR3ZWVuIHBvaW50cw0KCQkJCWN0eC5iZXppZXJDdXJ2ZVRvKA0KCQkJCQlwcmV2aW91c1BvaW50Ll92aWV3LmNvbnRyb2xQb2ludE5leHRYLA0KCQkJCQlwcmV2aW91c1BvaW50Ll92aWV3LmNvbnRyb2xQb2ludE5leHRZLA0KCQkJCQlwb2ludC5fdmlldy5jb250cm9sUG9pbnRQcmV2aW91c1gsDQoJCQkJCXBvaW50Ll92aWV3LmNvbnRyb2xQb2ludFByZXZpb3VzWSwNCgkJCQkJcG9pbnQuX3ZpZXcueCwNCgkJCQkJcG9pbnQuX3ZpZXcueQ0KCQkJCSk7DQoJCQl9DQoJCX0sDQoNCgkJZHJhdzogZnVuY3Rpb24oKSB7DQoJCQl2YXIgX3RoaXMgPSB0aGlzOw0KDQoJCQl2YXIgdm0gPSB0aGlzLl92aWV3Ow0KCQkJdmFyIGN0eCA9IHRoaXMuX2NoYXJ0LmN0eDsNCgkJCXZhciBmaXJzdCA9IHRoaXMuX2NoaWxkcmVuWzBdOw0KCQkJdmFyIGxhc3QgPSB0aGlzLl9jaGlsZHJlblt0aGlzLl9jaGlsZHJlbi5sZW5ndGggLSAxXTsNCg0KCQkJZnVuY3Rpb24gbG9vcEJhY2tUb1N0YXJ0KGRyYXdMaW5lVG9DZW50ZXIpIHsNCgkJCQlpZiAoIWZpcnN0Ll92aWV3LnNraXAgJiYgIWxhc3QuX3ZpZXcuc2tpcCkgew0KCQkJCQkvLyBEcmF3IGEgYmV6aWVyIGxpbmUgZnJvbSBsYXN0IHRvIGZpcnN0DQoJCQkJCWN0eC5iZXppZXJDdXJ2ZVRvKA0KCQkJCQkJbGFzdC5fdmlldy5jb250cm9sUG9pbnROZXh0WCwNCgkJCQkJCWxhc3QuX3ZpZXcuY29udHJvbFBvaW50TmV4dFksDQoJCQkJCQlmaXJzdC5fdmlldy5jb250cm9sUG9pbnRQcmV2aW91c1gsDQoJCQkJCQlmaXJzdC5fdmlldy5jb250cm9sUG9pbnRQcmV2aW91c1ksDQoJCQkJCQlmaXJzdC5fdmlldy54LA0KCQkJCQkJZmlyc3QuX3ZpZXcueQ0KCQkJCQkpOw0KCQkJCX0gZWxzZSBpZiAoZHJhd0xpbmVUb0NlbnRlcikgew0KCQkJCQkvLyBHbyB0byBjZW50ZXINCgkJCQkJY3R4LmxpbmVUbyhfdGhpcy5fdmlldy5zY2FsZVplcm8ueCwgX3RoaXMuX3ZpZXcuc2NhbGVaZXJvLnkpOw0KCQkJCX0NCgkJCX0NCg0KCQkJY3R4LnNhdmUoKTsNCg0KCQkJLy8gSWYgd2UgaGFkIHBvaW50cyBhbmQgd2FudCB0byBmaWxsIHRoaXMgbGluZSwgZG8gc28uDQoJCQlpZiAodGhpcy5fY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiB2bS5maWxsKSB7DQoJCQkJLy8gRHJhdyB0aGUgYmFja2dyb3VuZCBmaXJzdCAoc28gdGhlIGJvcmRlciBpcyBhbHdheXMgb24gdG9wKQ0KCQkJCWN0eC5iZWdpblBhdGgoKTsNCg0KCQkJCWhlbHBlcnMuZWFjaCh0aGlzLl9jaGlsZHJlbiwgZnVuY3Rpb24ocG9pbnQsIGluZGV4KSB7DQoJCQkJCXZhciBwcmV2aW91cyA9IGhlbHBlcnMucHJldmlvdXNJdGVtKHRoaXMuX2NoaWxkcmVuLCBpbmRleCk7DQoJCQkJCXZhciBuZXh0ID0gaGVscGVycy5uZXh0SXRlbSh0aGlzLl9jaGlsZHJlbiwgaW5kZXgpOw0KDQoJCQkJCS8vIEZpcnN0IHBvaW50IG1vdmVzIHRvIGl0J3Mgc3RhcnRpbmcgcG9zaXRpb24gbm8gbWF0dGVyIHdoYXQNCgkJCQkJaWYgKGluZGV4ID09PSAwKSB7DQoJCQkJCQlpZiAodGhpcy5fbG9vcCkgew0KCQkJCQkJCWN0eC5tb3ZlVG8odm0uc2NhbGVaZXJvLngsIHZtLnNjYWxlWmVyby55KTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJY3R4Lm1vdmVUbyhwb2ludC5fdmlldy54LCB2bS5zY2FsZVplcm8pOw0KCQkJCQkJfQ0KDQoJCQkJCQlpZiAocG9pbnQuX3ZpZXcuc2tpcCkgew0KCQkJCQkJCWlmICghdGhpcy5fbG9vcCkgew0KCQkJCQkJCQljdHgubW92ZVRvKG5leHQuX3ZpZXcueCwgdGhpcy5fdmlldy5zY2FsZVplcm8pOw0KCQkJCQkJCX0NCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJY3R4LmxpbmVUbyhwb2ludC5fdmlldy54LCBwb2ludC5fdmlldy55KTsNCgkJCQkJCX0NCgkJCQkJfSBlbHNlIHsNCgkJCQkJCXRoaXMubGluZVRvTmV4dFBvaW50KHByZXZpb3VzLCBwb2ludCwgbmV4dCwgZnVuY3Rpb24ocHJldmlvdXNQb2ludCwgcG9pbnQsIG5leHRQb2ludCkgew0KCQkJCQkJCWlmICh0aGlzLl9sb29wKSB7DQoJCQkJCQkJCS8vIEdvIHRvIGNlbnRlcg0KCQkJCQkJCQljdHgubGluZVRvKHRoaXMuX3ZpZXcuc2NhbGVaZXJvLngsIHRoaXMuX3ZpZXcuc2NhbGVaZXJvLnkpOw0KCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCWN0eC5saW5lVG8ocHJldmlvdXNQb2ludC5fdmlldy54LCB0aGlzLl92aWV3LnNjYWxlWmVybyk7DQoJCQkJCQkJCWN0eC5tb3ZlVG8obmV4dFBvaW50Ll92aWV3LngsIHRoaXMuX3ZpZXcuc2NhbGVaZXJvKTsNCgkJCQkJCQl9DQoJCQkJCQl9LCBmdW5jdGlvbihwcmV2aW91c1BvaW50LCBwb2ludCkgew0KCQkJCQkJCS8vIElmIHdlIHNraXBwZWQgdGhlIGxhc3QgcG9pbnQsIGRyYXcgYSBsaW5lIHRvIG91cnNlbHZlcyBzbyB0aGF0IHRoZSBmaWxsIGlzIG5pY2UNCgkJCQkJCQljdHgubGluZVRvKHBvaW50Ll92aWV3LngsIHBvaW50Ll92aWV3LnkpOw0KCQkJCQkJfSk7DQoJCQkJCX0NCgkJCQl9LCB0aGlzKTsNCg0KCQkJCS8vIEZvciByYWRpYWwgc2NhbGVzLCBsb29wIGJhY2sgYXJvdW5kIHRvIHRoZSBmaXJzdCBwb2ludA0KCQkJCWlmICh0aGlzLl9sb29wKSB7DQoJCQkJCWxvb3BCYWNrVG9TdGFydCh0cnVlKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQkvL1JvdW5kIG9mZiB0aGUgbGluZSBieSBnb2luZyB0byB0aGUgYmFzZSBvZiB0aGUgY2hhcnQsIGJhY2sgdG8gdGhlIHN0YXJ0LCB0aGVuIGZpbGwuDQoJCQkJCWN0eC5saW5lVG8odGhpcy5fY2hpbGRyZW5bdGhpcy5fY2hpbGRyZW4ubGVuZ3RoIC0gMV0uX3ZpZXcueCwgdm0uc2NhbGVaZXJvKTsNCgkJCQkJY3R4LmxpbmVUbyh0aGlzLl9jaGlsZHJlblswXS5fdmlldy54LCB2bS5zY2FsZVplcm8pOw0KCQkJCX0NCg0KCQkJCWN0eC5maWxsU3R5bGUgPSB2bS5iYWNrZ3JvdW5kQ29sb3IgfHwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdENvbG9yOw0KCQkJCWN0eC5jbG9zZVBhdGgoKTsNCgkJCQljdHguZmlsbCgpOw0KCQkJfQ0KDQoJCQl2YXIgZ2xvYmFsT3B0aW9uTGluZUVsZW1lbnRzID0gZ2xvYmFsRGVmYXVsdHMuZWxlbWVudHMubGluZTsNCgkJCS8vIE5vdyBkcmF3IHRoZSBsaW5lIGJldHdlZW4gYWxsIHRoZSBwb2ludHMgd2l0aCBhbnkgYm9yZGVycw0KCQkJY3R4LmxpbmVDYXAgPSB2bS5ib3JkZXJDYXBTdHlsZSB8fCBnbG9iYWxPcHRpb25MaW5lRWxlbWVudHMuYm9yZGVyQ2FwU3R5bGU7DQoNCgkJCS8vIElFIDkgYW5kIDEwIGRvIG5vdCBzdXBwb3J0IGxpbmUgZGFzaA0KCQkJaWYgKGN0eC5zZXRMaW5lRGFzaCkgew0KCQkJCWN0eC5zZXRMaW5lRGFzaCh2bS5ib3JkZXJEYXNoIHx8IGdsb2JhbE9wdGlvbkxpbmVFbGVtZW50cy5ib3JkZXJEYXNoKTsNCgkJCX0NCg0KCQkJY3R4LmxpbmVEYXNoT2Zmc2V0ID0gdm0uYm9yZGVyRGFzaE9mZnNldCB8fCBnbG9iYWxPcHRpb25MaW5lRWxlbWVudHMuYm9yZGVyRGFzaE9mZnNldDsNCgkJCWN0eC5saW5lSm9pbiA9IHZtLmJvcmRlckpvaW5TdHlsZSB8fCBnbG9iYWxPcHRpb25MaW5lRWxlbWVudHMuYm9yZGVySm9pblN0eWxlOw0KCQkJY3R4LmxpbmVXaWR0aCA9IHZtLmJvcmRlcldpZHRoIHx8IGdsb2JhbE9wdGlvbkxpbmVFbGVtZW50cy5ib3JkZXJXaWR0aDsNCgkJCWN0eC5zdHJva2VTdHlsZSA9IHZtLmJvcmRlckNvbG9yIHx8IGdsb2JhbERlZmF1bHRzLmRlZmF1bHRDb2xvcjsNCgkJCWN0eC5iZWdpblBhdGgoKTsNCg0KCQkJaGVscGVycy5lYWNoKHRoaXMuX2NoaWxkcmVuLCBmdW5jdGlvbihwb2ludCwgaW5kZXgpIHsNCgkJCQl2YXIgcHJldmlvdXMgPSBoZWxwZXJzLnByZXZpb3VzSXRlbSh0aGlzLl9jaGlsZHJlbiwgaW5kZXgpOw0KCQkJCXZhciBuZXh0ID0gaGVscGVycy5uZXh0SXRlbSh0aGlzLl9jaGlsZHJlbiwgaW5kZXgpOw0KDQoJCQkJaWYgKGluZGV4ID09PSAwKSB7DQoJCQkJCWN0eC5tb3ZlVG8ocG9pbnQuX3ZpZXcueCwgcG9pbnQuX3ZpZXcueSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhpcy5saW5lVG9OZXh0UG9pbnQocHJldmlvdXMsIHBvaW50LCBuZXh0LCBmdW5jdGlvbihwcmV2aW91c1BvaW50LCBwb2ludCwgbmV4dFBvaW50KSB7DQoJCQkJCQljdHgubW92ZVRvKG5leHRQb2ludC5fdmlldy54LCBuZXh0UG9pbnQuX3ZpZXcueSk7DQoJCQkJCX0sIGZ1bmN0aW9uKHByZXZpb3VzUG9pbnQsIHBvaW50KSB7DQoJCQkJCQkvLyBJZiB3ZSBza2lwcGVkIHRoZSBsYXN0IHBvaW50LCBtb3ZlIHVwIHRvIG91ciBwb2ludCBwcmV2ZW50aW5nIGEgbGluZSBmcm9tIGJlaW5nIGRyYXduDQoJCQkJCQljdHgubW92ZVRvKHBvaW50Ll92aWV3LngsIHBvaW50Ll92aWV3LnkpOw0KCQkJCQl9KTsNCgkJCQl9DQoJCQl9LCB0aGlzKTsNCg0KCQkJaWYgKHRoaXMuX2xvb3AgJiYgdGhpcy5fY2hpbGRyZW4ubGVuZ3RoID4gMCkgew0KCQkJCWxvb3BCYWNrVG9TdGFydCgpOw0KCQkJfQ0KDQoJCQljdHguc3Ryb2tlKCk7DQoJCQljdHgucmVzdG9yZSgpOw0KCQl9DQoJfSk7DQp9Owp9LHt9XSwzNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzLA0KCQlnbG9iYWxPcHRzID0gQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLA0KCQlkZWZhdWx0Q29sb3IgPSBnbG9iYWxPcHRzLmRlZmF1bHRDb2xvcjsNCg0KCWdsb2JhbE9wdHMuZWxlbWVudHMucG9pbnQgPSB7DQoJCXJhZGl1czogMywNCgkJcG9pbnRTdHlsZTogJ2NpcmNsZScsDQoJCWJhY2tncm91bmRDb2xvcjogZGVmYXVsdENvbG9yLA0KCQlib3JkZXJXaWR0aDogMSwNCgkJYm9yZGVyQ29sb3I6IGRlZmF1bHRDb2xvciwNCgkJLy8gSG92ZXINCgkJaGl0UmFkaXVzOiAxLA0KCQlob3ZlclJhZGl1czogNCwNCgkJaG92ZXJCb3JkZXJXaWR0aDogMQ0KCX07DQoNCglDaGFydC5lbGVtZW50cy5Qb2ludCA9IENoYXJ0LkVsZW1lbnQuZXh0ZW5kKHsNCgkJaW5SYW5nZTogZnVuY3Rpb24obW91c2VYLCBtb3VzZVkpIHsNCgkJCXZhciB2bSA9IHRoaXMuX3ZpZXc7DQoJCQlyZXR1cm4gdm0gPyAoKE1hdGgucG93KG1vdXNlWCAtIHZtLngsIDIpICsgTWF0aC5wb3cobW91c2VZIC0gdm0ueSwgMikpIDwgTWF0aC5wb3codm0uaGl0UmFkaXVzICsgdm0ucmFkaXVzLCAyKSkgOiBmYWxzZTsNCgkJfSwNCgkJaW5MYWJlbFJhbmdlOiBmdW5jdGlvbihtb3VzZVgpIHsNCgkJCXZhciB2bSA9IHRoaXMuX3ZpZXc7DQoJCQlyZXR1cm4gdm0gPyAoTWF0aC5wb3cobW91c2VYIC0gdm0ueCwgMikgPCBNYXRoLnBvdyh2bS5yYWRpdXMgKyB2bS5oaXRSYWRpdXMsIDIpKSA6IGZhbHNlOw0KCQl9LA0KCQl0b29sdGlwUG9zaXRpb246IGZ1bmN0aW9uKCkgew0KCQkJdmFyIHZtID0gdGhpcy5fdmlldzsNCgkJCXJldHVybiB7DQoJCQkJeDogdm0ueCwNCgkJCQl5OiB2bS55LA0KCQkJCXBhZGRpbmc6IHZtLnJhZGl1cyArIHZtLmJvcmRlcldpZHRoDQoJCQl9Ow0KCQl9LA0KCQlkcmF3OiBmdW5jdGlvbigpIHsNCgkJCXZhciB2bSA9IHRoaXMuX3ZpZXc7DQoJCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4Ow0KCQkJdmFyIHBvaW50U3R5bGUgPSB2bS5wb2ludFN0eWxlOw0KCQkJdmFyIHJhZGl1cyA9IHZtLnJhZGl1czsNCgkJCXZhciB4ID0gdm0ueDsNCgkJCXZhciB5ID0gdm0ueTsNCgkJCXZhciB0eXBlLCBlZGdlTGVuZ3RoLCB4T2Zmc2V0LCB5T2Zmc2V0LCBoZWlnaHQsIHNpemU7DQoNCgkJCWlmICh2bS5za2lwKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpZiAodHlwZW9mIHBvaW50U3R5bGUgPT09ICdvYmplY3QnKSB7DQoJCQkJdHlwZSA9IHBvaW50U3R5bGUudG9TdHJpbmcoKTsNCgkJCQlpZiAodHlwZSA9PT0gJ1tvYmplY3QgSFRNTEltYWdlRWxlbWVudF0nIHx8IHR5cGUgPT09ICdbb2JqZWN0IEhUTUxDYW52YXNFbGVtZW50XScpIHsNCgkJCQkJY3R4LmRyYXdJbWFnZShwb2ludFN0eWxlLCB4IC0gcG9pbnRTdHlsZS53aWR0aCAvIDIsIHkgLSBwb2ludFN0eWxlLmhlaWdodCAvIDIpOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoaXNOYU4ocmFkaXVzKSB8fCByYWRpdXMgPD0gMCkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJY3R4LnN0cm9rZVN0eWxlID0gdm0uYm9yZGVyQ29sb3IgfHwgZGVmYXVsdENvbG9yOw0KCQkJY3R4LmxpbmVXaWR0aCA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodm0uYm9yZGVyV2lkdGgsIGdsb2JhbE9wdHMuZWxlbWVudHMucG9pbnQuYm9yZGVyV2lkdGgpOw0KCQkJY3R4LmZpbGxTdHlsZSA9IHZtLmJhY2tncm91bmRDb2xvciB8fCBkZWZhdWx0Q29sb3I7DQoNCgkJCXN3aXRjaCAocG9pbnRTdHlsZSkgew0KCQkJLy8gRGVmYXVsdCBpbmNsdWRlcyBjaXJjbGUNCgkJCWRlZmF1bHQ6DQoJCQkJY3R4LmJlZ2luUGF0aCgpOw0KCQkJCWN0eC5hcmMoeCwgeSwgcmFkaXVzLCAwLCBNYXRoLlBJICogMik7DQoJCQkJY3R4LmNsb3NlUGF0aCgpOw0KCQkJCWN0eC5maWxsKCk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICd0cmlhbmdsZSc6DQoJCQkJY3R4LmJlZ2luUGF0aCgpOw0KCQkJCWVkZ2VMZW5ndGggPSAzICogcmFkaXVzIC8gTWF0aC5zcXJ0KDMpOw0KCQkJCWhlaWdodCA9IGVkZ2VMZW5ndGggKiBNYXRoLnNxcnQoMykgLyAyOw0KCQkJCWN0eC5tb3ZlVG8oeCAtIGVkZ2VMZW5ndGggLyAyLCB5ICsgaGVpZ2h0IC8gMyk7DQoJCQkJY3R4LmxpbmVUbyh4ICsgZWRnZUxlbmd0aCAvIDIsIHkgKyBoZWlnaHQgLyAzKTsNCgkJCQljdHgubGluZVRvKHgsIHkgLSAyICogaGVpZ2h0IC8gMyk7DQoJCQkJY3R4LmNsb3NlUGF0aCgpOw0KCQkJCWN0eC5maWxsKCk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICdyZWN0JzoNCgkJCQlzaXplID0gMSAvIE1hdGguU1FSVDIgKiByYWRpdXM7DQoJCQkJY3R4LmZpbGxSZWN0KHggLSBzaXplLCB5IC0gc2l6ZSwgMiAqIHNpemUsICAyICogc2l6ZSk7DQoJCQkJY3R4LnN0cm9rZVJlY3QoeCAtIHNpemUsIHkgLSBzaXplLCAyICogc2l6ZSwgMiAqIHNpemUpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAncmVjdFJvdCc6DQoJCQkJY3R4LnRyYW5zbGF0ZSh4LCB5KTsNCgkJCQljdHgucm90YXRlKE1hdGguUEkgLyA0KTsNCgkJCQlzaXplID0gMSAvIE1hdGguU1FSVDIgKiByYWRpdXM7DQoJCQkJY3R4LmZpbGxSZWN0KC1zaXplLCAtc2l6ZSwgMiAqIHNpemUsIDIgKiBzaXplKTsNCgkJCQljdHguc3Ryb2tlUmVjdCgtc2l6ZSwgLXNpemUsIDIgKiBzaXplLCAyICogc2l6ZSk7DQoJCQkJY3R4LnNldFRyYW5zZm9ybSgxLCAwLCAwLCAxLCAwLCAwKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ2Nyb3NzJzoNCgkJCQljdHguYmVnaW5QYXRoKCk7DQoJCQkJY3R4Lm1vdmVUbyh4LCB5ICsgcmFkaXVzKTsNCgkJCQljdHgubGluZVRvKHgsIHkgLSByYWRpdXMpOw0KCQkJCWN0eC5tb3ZlVG8oeCAtIHJhZGl1cywgeSk7DQoJCQkJY3R4LmxpbmVUbyh4ICsgcmFkaXVzLCB5KTsNCgkJCQljdHguY2xvc2VQYXRoKCk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICdjcm9zc1JvdCc6DQoJCQkJY3R4LmJlZ2luUGF0aCgpOw0KCQkJCXhPZmZzZXQgPSBNYXRoLmNvcyhNYXRoLlBJIC8gNCkgKiByYWRpdXM7DQoJCQkJeU9mZnNldCA9IE1hdGguc2luKE1hdGguUEkgLyA0KSAqIHJhZGl1czsNCgkJCQljdHgubW92ZVRvKHggLSB4T2Zmc2V0LCB5IC0geU9mZnNldCk7DQoJCQkJY3R4LmxpbmVUbyh4ICsgeE9mZnNldCwgeSArIHlPZmZzZXQpOw0KCQkJCWN0eC5tb3ZlVG8oeCAtIHhPZmZzZXQsIHkgKyB5T2Zmc2V0KTsNCgkJCQljdHgubGluZVRvKHggKyB4T2Zmc2V0LCB5IC0geU9mZnNldCk7DQoJCQkJY3R4LmNsb3NlUGF0aCgpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnc3Rhcic6DQoJCQkJY3R4LmJlZ2luUGF0aCgpOw0KCQkJCWN0eC5tb3ZlVG8oeCwgeSArIHJhZGl1cyk7DQoJCQkJY3R4LmxpbmVUbyh4LCB5IC0gcmFkaXVzKTsNCgkJCQljdHgubW92ZVRvKHggLSByYWRpdXMsIHkpOw0KCQkJCWN0eC5saW5lVG8oeCArIHJhZGl1cywgeSk7DQoJCQkJeE9mZnNldCA9IE1hdGguY29zKE1hdGguUEkgLyA0KSAqIHJhZGl1czsNCgkJCQl5T2Zmc2V0ID0gTWF0aC5zaW4oTWF0aC5QSSAvIDQpICogcmFkaXVzOw0KCQkJCWN0eC5tb3ZlVG8oeCAtIHhPZmZzZXQsIHkgLSB5T2Zmc2V0KTsNCgkJCQljdHgubGluZVRvKHggKyB4T2Zmc2V0LCB5ICsgeU9mZnNldCk7DQoJCQkJY3R4Lm1vdmVUbyh4IC0geE9mZnNldCwgeSArIHlPZmZzZXQpOw0KCQkJCWN0eC5saW5lVG8oeCArIHhPZmZzZXQsIHkgLSB5T2Zmc2V0KTsNCgkJCQljdHguY2xvc2VQYXRoKCk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICdsaW5lJzoNCgkJCQljdHguYmVnaW5QYXRoKCk7DQoJCQkJY3R4Lm1vdmVUbyh4IC0gcmFkaXVzLCB5KTsNCgkJCQljdHgubGluZVRvKHggKyByYWRpdXMsIHkpOw0KCQkJCWN0eC5jbG9zZVBhdGgoKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ2Rhc2gnOg0KCQkJCWN0eC5iZWdpblBhdGgoKTsNCgkJCQljdHgubW92ZVRvKHgsIHkpOw0KCQkJCWN0eC5saW5lVG8oeCArIHJhZGl1cywgeSk7DQoJCQkJY3R4LmNsb3NlUGF0aCgpOw0KCQkJCWJyZWFrOw0KCQkJfQ0KDQoJCQljdHguc3Ryb2tlKCk7DQoJCX0NCgl9KTsNCn07DQoKfSx7fV0sMzc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVycywNCgkJZ2xvYmFsT3B0cyA9IENoYXJ0LmRlZmF1bHRzLmdsb2JhbDsNCg0KCWdsb2JhbE9wdHMuZWxlbWVudHMucmVjdGFuZ2xlID0gew0KCQliYWNrZ3JvdW5kQ29sb3I6IGdsb2JhbE9wdHMuZGVmYXVsdENvbG9yLA0KCQlib3JkZXJXaWR0aDogMCwNCgkJYm9yZGVyQ29sb3I6IGdsb2JhbE9wdHMuZGVmYXVsdENvbG9yLA0KCQlib3JkZXJTa2lwcGVkOiAnYm90dG9tJw0KCX07DQoNCglDaGFydC5lbGVtZW50cy5SZWN0YW5nbGUgPSBDaGFydC5FbGVtZW50LmV4dGVuZCh7DQoJCWRyYXc6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIGN0eCA9IHRoaXMuX2NoYXJ0LmN0eDsNCgkJCXZhciB2bSA9IHRoaXMuX3ZpZXc7DQoNCgkJCXZhciBoYWxmV2lkdGggPSB2bS53aWR0aCAvIDIsDQoJCQkJbGVmdFggPSB2bS54IC0gaGFsZldpZHRoLA0KCQkJCXJpZ2h0WCA9IHZtLnggKyBoYWxmV2lkdGgsDQoJCQkJdG9wID0gdm0uYmFzZSAtICh2bS5iYXNlIC0gdm0ueSksDQoJCQkJaGFsZlN0cm9rZSA9IHZtLmJvcmRlcldpZHRoIC8gMjsNCg0KCQkJLy8gQ2FudmFzIGRvZXNuJ3QgYWxsb3cgdXMgdG8gc3Ryb2tlIGluc2lkZSB0aGUgd2lkdGggc28gd2UgY2FuDQoJCQkvLyBhZGp1c3QgdGhlIHNpemVzIHRvIGZpdCBpZiB3ZSdyZSBzZXR0aW5nIGEgc3Ryb2tlIG9uIHRoZSBsaW5lDQoJCQlpZiAodm0uYm9yZGVyV2lkdGgpIHsNCgkJCQlsZWZ0WCArPSBoYWxmU3Ryb2tlOw0KCQkJCXJpZ2h0WCAtPSBoYWxmU3Ryb2tlOw0KCQkJCXRvcCArPSBoYWxmU3Ryb2tlOw0KCQkJfQ0KDQoJCQljdHguYmVnaW5QYXRoKCk7DQoJCQljdHguZmlsbFN0eWxlID0gdm0uYmFja2dyb3VuZENvbG9yOw0KCQkJY3R4LnN0cm9rZVN0eWxlID0gdm0uYm9yZGVyQ29sb3I7DQoJCQljdHgubGluZVdpZHRoID0gdm0uYm9yZGVyV2lkdGg7DQoNCgkJCS8vIENvcm5lciBwb2ludHMsIGZyb20gYm90dG9tLWxlZnQgdG8gYm90dG9tLXJpZ2h0IGNsb2Nrd2lzZQ0KCQkJLy8gfCAxIDIgfA0KCQkJLy8gfCAwIDMgfA0KCQkJdmFyIGNvcm5lcnMgPSBbDQoJCQkJW2xlZnRYLCB2bS5iYXNlXSwNCgkJCQlbbGVmdFgsIHRvcF0sDQoJCQkJW3JpZ2h0WCwgdG9wXSwNCgkJCQlbcmlnaHRYLCB2bS5iYXNlXQ0KCQkJXTsNCg0KCQkJLy8gRmluZCBmaXJzdCAoc3RhcnRpbmcpIGNvcm5lciB3aXRoIGZhbGxiYWNrIHRvICdib3R0b20nIA0KCQkJdmFyIGJvcmRlcnMgPSBbJ2JvdHRvbScsICdsZWZ0JywgJ3RvcCcsICdyaWdodCddOw0KCQkJdmFyIHN0YXJ0Q29ybmVyID0gYm9yZGVycy5pbmRleE9mKHZtLmJvcmRlclNraXBwZWQsIDApOw0KCQkJaWYgKHN0YXJ0Q29ybmVyID09PSAtMSkNCgkJCQlzdGFydENvcm5lciA9IDA7DQoNCgkJCWZ1bmN0aW9uIGNvcm5lckF0KGluZGV4KSB7DQoJCQkJcmV0dXJuIGNvcm5lcnNbKHN0YXJ0Q29ybmVyICsgaW5kZXgpICUgNF07DQoJCQl9DQoNCgkJCS8vIERyYXcgcmVjdGFuZ2xlIGZyb20gJ3N0YXJ0Q29ybmVyJw0KCQkJY3R4Lm1vdmVUby5hcHBseShjdHgsIGNvcm5lckF0KDApKTsNCgkJCWZvciAodmFyIGkgPSAxOyBpIDwgNDsgaSsrKQ0KCQkJCWN0eC5saW5lVG8uYXBwbHkoY3R4LCBjb3JuZXJBdChpKSk7DQoNCgkJCWN0eC5maWxsKCk7DQoJCQlpZiAodm0uYm9yZGVyV2lkdGgpIHsNCgkJCQljdHguc3Ryb2tlKCk7DQoJCQl9DQoJCX0sDQoJCWhlaWdodDogZnVuY3Rpb24oKSB7DQoJCQl2YXIgdm0gPSB0aGlzLl92aWV3Ow0KCQkJcmV0dXJuIHZtLmJhc2UgLSB2bS55Ow0KCQl9LA0KCQlpblJhbmdlOiBmdW5jdGlvbihtb3VzZVgsIG1vdXNlWSkgew0KCQkJdmFyIHZtID0gdGhpcy5fdmlldzsNCgkJCXJldHVybiB2bSA/IA0KCQkJCQkodm0ueSA8IHZtLmJhc2UgPyANCgkJCQkJCShtb3VzZVggPj0gdm0ueCAtIHZtLndpZHRoIC8gMiAmJiBtb3VzZVggPD0gdm0ueCArIHZtLndpZHRoIC8gMikgJiYgKG1vdXNlWSA+PSB2bS55ICYmIG1vdXNlWSA8PSB2bS5iYXNlKSA6DQoJCQkJCQkobW91c2VYID49IHZtLnggLSB2bS53aWR0aCAvIDIgJiYgbW91c2VYIDw9IHZtLnggKyB2bS53aWR0aCAvIDIpICYmIChtb3VzZVkgPj0gdm0uYmFzZSAmJiBtb3VzZVkgPD0gdm0ueSkpIDoNCgkJCQkJZmFsc2U7DQoJCX0sDQoJCWluTGFiZWxSYW5nZTogZnVuY3Rpb24obW91c2VYKSB7DQoJCQl2YXIgdm0gPSB0aGlzLl92aWV3Ow0KCQkJcmV0dXJuIHZtID8gKG1vdXNlWCA+PSB2bS54IC0gdm0ud2lkdGggLyAyICYmIG1vdXNlWCA8PSB2bS54ICsgdm0ud2lkdGggLyAyKSA6IGZhbHNlOw0KCQl9LA0KCQl0b29sdGlwUG9zaXRpb246IGZ1bmN0aW9uKCkgew0KCQkJdmFyIHZtID0gdGhpcy5fdmlldzsNCgkJCXJldHVybiB7DQoJCQkJeDogdm0ueCwNCgkJCQl5OiB2bS55DQoJCQl9Ow0KCQl9DQoJfSk7DQoNCn07Cn0se31dLDM4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCgl2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnM7DQoJLy8gRGVmYXVsdCBjb25maWcgZm9yIGEgY2F0ZWdvcnkgc2NhbGUNCgl2YXIgZGVmYXVsdENvbmZpZyA9IHsNCgkJcG9zaXRpb246ICJib3R0b20iDQoJfTsNCg0KCXZhciBEYXRhc2V0U2NhbGUgPSBDaGFydC5TY2FsZS5leHRlbmQoew0KCQkvLyBJbXBsZW1lbnQgdGhpcyBzbyB0aGF0IA0KCQlkZXRlcm1pbmVEYXRhTGltaXRzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMubWluSW5kZXggPSAwOw0KCQkJdGhpcy5tYXhJbmRleCA9IHRoaXMuY2hhcnQuZGF0YS5sYWJlbHMubGVuZ3RoIC0gMTsNCgkJCXZhciBmaW5kSW5kZXg7DQoNCgkJCWlmICh0aGlzLm9wdGlvbnMudGlja3MubWluICE9PSB1bmRlZmluZWQpIHsNCgkJCQkvLyB1c2VyIHNwZWNpZmllZCBtaW4gdmFsdWUNCgkJCQlmaW5kSW5kZXggPSBoZWxwZXJzLmluZGV4T2YodGhpcy5jaGFydC5kYXRhLmxhYmVscywgdGhpcy5vcHRpb25zLnRpY2tzLm1pbik7DQoJCQkJdGhpcy5taW5JbmRleCA9IGZpbmRJbmRleCAhPT0gLTEgPyBmaW5kSW5kZXggOiB0aGlzLm1pbkluZGV4Ow0KCQkJfQ0KDQoJCQlpZiAodGhpcy5vcHRpb25zLnRpY2tzLm1heCAhPT0gdW5kZWZpbmVkKSB7DQoJCQkJLy8gdXNlciBzcGVjaWZpZWQgbWF4IHZhbHVlDQoJCQkJZmluZEluZGV4ID0gaGVscGVycy5pbmRleE9mKHRoaXMuY2hhcnQuZGF0YS5sYWJlbHMsIHRoaXMub3B0aW9ucy50aWNrcy5tYXgpOw0KCQkJCXRoaXMubWF4SW5kZXggPSBmaW5kSW5kZXggIT09IC0xID8gZmluZEluZGV4IDogdGhpcy5tYXhJbmRleDsNCgkJCX0NCg0KCQkJdGhpcy5taW4gPSB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzW3RoaXMubWluSW5kZXhdOw0KCQkJdGhpcy5tYXggPSB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzW3RoaXMubWF4SW5kZXhdOw0KCQl9LA0KDQoJCWJ1aWxkVGlja3M6IGZ1bmN0aW9uKGluZGV4KSB7DQoJCQkvLyBJZiB3ZSBhcmUgdmlld2luZyBzb21lIHN1YnNldCBvZiBsYWJlbHMsIHNsaWNlIHRoZSBvcmlnaW5hbCBhcnJheQ0KCQkJdGhpcy50aWNrcyA9ICh0aGlzLm1pbkluZGV4ID09PSAwICYmIHRoaXMubWF4SW5kZXggPT09IHRoaXMuY2hhcnQuZGF0YS5sYWJlbHMubGVuZ3RoIC0gMSkgPyB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzIDogdGhpcy5jaGFydC5kYXRhLmxhYmVscy5zbGljZSh0aGlzLm1pbkluZGV4LCB0aGlzLm1heEluZGV4ICsgMSk7DQoJCX0sDQoNCgkJZ2V0TGFiZWxGb3JJbmRleDogZnVuY3Rpb24oaW5kZXgsIGRhdGFzZXRJbmRleCkgew0KCQkJcmV0dXJuIHRoaXMudGlja3NbaW5kZXhdOw0KCQl9LA0KDQoJCS8vIFVzZWQgdG8gZ2V0IGRhdGEgdmFsdWUgbG9jYXRpb25zLiAgVmFsdWUgY2FuIGVpdGhlciBiZSBhbiBpbmRleCBvciBhIG51bWVyaWNhbCB2YWx1ZQ0KCQlnZXRQaXhlbEZvclZhbHVlOiBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGRhdGFzZXRJbmRleCwgaW5jbHVkZU9mZnNldCkgew0KCQkJLy8gMSBpcyBhZGRlZCBiZWNhdXNlIHdlIG5lZWQgdGhlIGxlbmd0aCBidXQgd2UgaGF2ZSB0aGUgaW5kZXhlcw0KCQkJdmFyIG9mZnNldEFtdCA9IE1hdGgubWF4KCh0aGlzLm1heEluZGV4ICsgMSAtIHRoaXMubWluSW5kZXggLSAoKHRoaXMub3B0aW9ucy5ncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzKSA/IDAgOiAxKSksIDEpOw0KDQoJCQlpZiAodGhpcy5pc0hvcml6b250YWwoKSkgew0KCQkJCXZhciBpbm5lcldpZHRoID0gdGhpcy53aWR0aCAtICh0aGlzLnBhZGRpbmdMZWZ0ICsgdGhpcy5wYWRkaW5nUmlnaHQpOw0KCQkJCXZhciB2YWx1ZVdpZHRoID0gaW5uZXJXaWR0aCAvIG9mZnNldEFtdDsNCgkJCQl2YXIgd2lkdGhPZmZzZXQgPSAodmFsdWVXaWR0aCAqIChpbmRleCAtIHRoaXMubWluSW5kZXgpKSArIHRoaXMucGFkZGluZ0xlZnQ7DQoNCgkJCQlpZiAodGhpcy5vcHRpb25zLmdyaWRMaW5lcy5vZmZzZXRHcmlkTGluZXMgJiYgaW5jbHVkZU9mZnNldCkgew0KCQkJCQl3aWR0aE9mZnNldCArPSAodmFsdWVXaWR0aCAvIDIpOw0KCQkJCX0NCg0KCQkJCXJldHVybiB0aGlzLmxlZnQgKyBNYXRoLnJvdW5kKHdpZHRoT2Zmc2V0KTsNCgkJCX0gZWxzZSB7DQoJCQkJdmFyIGlubmVySGVpZ2h0ID0gdGhpcy5oZWlnaHQgLSAodGhpcy5wYWRkaW5nVG9wICsgdGhpcy5wYWRkaW5nQm90dG9tKTsNCgkJCQl2YXIgdmFsdWVIZWlnaHQgPSBpbm5lckhlaWdodCAvIG9mZnNldEFtdDsNCgkJCQl2YXIgaGVpZ2h0T2Zmc2V0ID0gKHZhbHVlSGVpZ2h0ICogKGluZGV4IC0gdGhpcy5taW5JbmRleCkpICsgdGhpcy5wYWRkaW5nVG9wOw0KDQoJCQkJaWYgKHRoaXMub3B0aW9ucy5ncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzICYmIGluY2x1ZGVPZmZzZXQpIHsNCgkJCQkJaGVpZ2h0T2Zmc2V0ICs9ICh2YWx1ZUhlaWdodCAvIDIpOw0KCQkJCX0NCg0KCQkJCXJldHVybiB0aGlzLnRvcCArIE1hdGgucm91bmQoaGVpZ2h0T2Zmc2V0KTsNCgkJCX0NCgkJfSwNCgkJZ2V0UGl4ZWxGb3JUaWNrOiBmdW5jdGlvbihpbmRleCwgaW5jbHVkZU9mZnNldCkgew0KCQkJcmV0dXJuIHRoaXMuZ2V0UGl4ZWxGb3JWYWx1ZSh0aGlzLnRpY2tzW2luZGV4XSwgaW5kZXggKyB0aGlzLm1pbkluZGV4LCBudWxsLCBpbmNsdWRlT2Zmc2V0KTsNCgkJfSwNCgkJZ2V0VmFsdWVGb3JQaXhlbDogZnVuY3Rpb24ocGl4ZWwpIHsNCgkJCXZhciB2YWx1ZQ0KOwkJCXZhciBvZmZzZXRBbXQgPSBNYXRoLm1heCgodGhpcy50aWNrcy5sZW5ndGggLSAoKHRoaXMub3B0aW9ucy5ncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzKSA/IDAgOiAxKSksIDEpOw0KCQkJdmFyIGhvcnogPSB0aGlzLmlzSG9yaXpvbnRhbCgpOw0KCQkJdmFyIGlubmVyRGltZW5zaW9uID0gaG9yeiA/IHRoaXMud2lkdGggLSAodGhpcy5wYWRkaW5nTGVmdCArIHRoaXMucGFkZGluZ1JpZ2h0KSA6IHRoaXMuaGVpZ2h0IC0gKHRoaXMucGFkZGluZ1RvcCArIHRoaXMucGFkZGluZ0JvdHRvbSk7DQoJCQl2YXIgdmFsdWVEaW1lbnNpb24gPSBpbm5lckRpbWVuc2lvbiAvIG9mZnNldEFtdDsNCg0KCQkJaWYgKHRoaXMub3B0aW9ucy5ncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzKSB7DQoJCQkJcGl4ZWwgLT0gKHZhbHVlRGltZW5zaW9uIC8gMik7DQoJCQl9DQoJCQlwaXhlbCAtPSBob3J6ID8gdGhpcy5wYWRkaW5nTGVmdCA6IHRoaXMucGFkZGluZ1RvcDsNCg0KCQkJaWYgKHBpeGVsIDw9IDApIHsNCgkJCQl2YWx1ZSA9IDA7DQoJCQl9IGVsc2Ugew0KCQkJCXZhbHVlID0gTWF0aC5yb3VuZChwaXhlbCAvIHZhbHVlRGltZW5zaW9uKTsNCgkJCX0NCg0KCQkJcmV0dXJuIHZhbHVlOw0KCQl9DQoJfSk7DQoNCglDaGFydC5zY2FsZVNlcnZpY2UucmVnaXN0ZXJTY2FsZVR5cGUoImNhdGVnb3J5IiwgRGF0YXNldFNjYWxlLCBkZWZhdWx0Q29uZmlnKTsNCg0KfTsKfSx7fV0sMzk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewoidXNlIHN0cmljdCI7DQoNCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsNCg0KCXZhciBoZWxwZXJzID0gQ2hhcnQuaGVscGVyczsNCg0KCXZhciBkZWZhdWx0Q29uZmlnID0gew0KCQlwb3NpdGlvbjogImxlZnQiLA0KCQl0aWNrczogew0KCQkJY2FsbGJhY2s6IGZ1bmN0aW9uKHRpY2tWYWx1ZSwgaW5kZXgsIHRpY2tzKSB7DQoJCQkJLy8gSWYgd2UgaGF2ZSBsb3RzIG9mIHRpY2tzLCBkb24ndCB1c2UgdGhlIG9uZXMNCgkJCQl2YXIgZGVsdGEgPSB0aWNrcy5sZW5ndGggPiAzID8gdGlja3NbMl0gLSB0aWNrc1sxXSA6IHRpY2tzWzFdIC0gdGlja3NbMF07DQoNCgkJCQkvLyBJZiB3ZSBoYXZlIGEgbnVtYmVyIGxpa2UgMi41IGFzIHRoZSBkZWx0YSwgZmlndXJlIG91dCBob3cgbWFueSBkZWNpbWFsIHBsYWNlcyB3ZSBuZWVkDQoJCQkJaWYgKE1hdGguYWJzKGRlbHRhKSA+IDEpIHsNCgkJCQkJaWYgKHRpY2tWYWx1ZSAhPT0gTWF0aC5mbG9vcih0aWNrVmFsdWUpKSB7DQoJCQkJCQkvLyBub3QgYW4gaW50ZWdlcg0KCQkJCQkJZGVsdGEgPSB0aWNrVmFsdWUgLSBNYXRoLmZsb29yKHRpY2tWYWx1ZSk7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQl2YXIgbG9nRGVsdGEgPSBoZWxwZXJzLmxvZzEwKE1hdGguYWJzKGRlbHRhKSk7DQoJCQkJdmFyIHRpY2tTdHJpbmcgPSAnJzsNCg0KCQkJCWlmICh0aWNrVmFsdWUgIT09IDApIHsNCgkJCQkJdmFyIG51bURlY2ltYWwgPSAtMSAqIE1hdGguZmxvb3IobG9nRGVsdGEpOw0KCQkJCQludW1EZWNpbWFsID0gTWF0aC5tYXgoTWF0aC5taW4obnVtRGVjaW1hbCwgMjApLCAwKTsgLy8gdG9GaXhlZCBoYXMgYSBtYXggb2YgMjAgZGVjaW1hbCBwbGFjZXMNCgkJCQkJdGlja1N0cmluZyA9IHRpY2tWYWx1ZS50b0ZpeGVkKG51bURlY2ltYWwpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXRpY2tTdHJpbmcgPSAnMCc7IC8vIG5ldmVyIHNob3cgZGVjaW1hbCBwbGFjZXMgZm9yIDANCgkJCQl9DQoNCgkJCQlyZXR1cm4gdGlja1N0cmluZzsNCgkJCX0NCgkJfQ0KCX07DQoNCgl2YXIgTGluZWFyU2NhbGUgPSBDaGFydC5TY2FsZS5leHRlbmQoew0KCQlkZXRlcm1pbmVEYXRhTGltaXRzOiBmdW5jdGlvbigpIHsNCgkJCXZhciBfdGhpcyA9IHRoaXM7DQoJCQl2YXIgb3B0cyA9IF90aGlzLm9wdGlvbnM7DQoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOw0KCQkJdmFyIGNoYXJ0ID0gX3RoaXMuY2hhcnQ7DQoJCQl2YXIgZGF0YSA9IGNoYXJ0LmRhdGE7DQoJCQl2YXIgZGF0YXNldHMgPSBkYXRhLmRhdGFzZXRzOw0KCQkJdmFyIGlzSG9yaXpvbnRhbCA9IF90aGlzLmlzSG9yaXpvbnRhbCgpOw0KDQoJCQlmdW5jdGlvbiBJRE1hdGNoZXMobWV0YSkgew0KCQkJCXJldHVybiBpc0hvcml6b250YWwgPyBtZXRhLnhBeGlzSUQgPT09IF90aGlzLmlkIDogbWV0YS55QXhpc0lEID09PSBfdGhpcy5pZDsNCgkJCX0NCg0KCQkJLy8gRmlyc3QgQ2FsY3VsYXRlIHRoZSByYW5nZQ0KCQkJX3RoaXMubWluID0gbnVsbDsNCgkJCV90aGlzLm1heCA9IG51bGw7DQoNCgkJCWlmIChvcHRzLnN0YWNrZWQpIHsNCgkJCQl2YXIgdmFsdWVzUGVyVHlwZSA9IHt9Ow0KCQkJCXZhciBoYXNQb3NpdGl2ZVZhbHVlcyA9IGZhbHNlOw0KCQkJCXZhciBoYXNOZWdhdGl2ZVZhbHVlcyA9IGZhbHNlOw0KDQoJCQkJaGVscGVycy5lYWNoKGRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsNCgkJCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOw0KCQkJCQlpZiAodmFsdWVzUGVyVHlwZVttZXRhLnR5cGVdID09PSB1bmRlZmluZWQpIHsNCgkJCQkJCXZhbHVlc1BlclR5cGVbbWV0YS50eXBlXSA9IHsNCgkJCQkJCQlwb3NpdGl2ZVZhbHVlczogW10sDQoJCQkJCQkJbmVnYXRpdmVWYWx1ZXM6IFtdDQoJCQkJCQl9Ow0KCQkJCQl9DQoNCgkJCQkJLy8gU3RvcmUgdGhlc2UgcGVyIHR5cGUNCgkJCQkJdmFyIHBvc2l0aXZlVmFsdWVzID0gdmFsdWVzUGVyVHlwZVttZXRhLnR5cGVdLnBvc2l0aXZlVmFsdWVzOw0KCQkJCQl2YXIgbmVnYXRpdmVWYWx1ZXMgPSB2YWx1ZXNQZXJUeXBlW21ldGEudHlwZV0ubmVnYXRpdmVWYWx1ZXM7DQoNCgkJCQkJaWYgKGNoYXJ0LmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSAmJiBJRE1hdGNoZXMobWV0YSkpIHsNCgkJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHJhd1ZhbHVlLCBpbmRleCkgew0KCQkJCQkJCXZhciB2YWx1ZSA9ICtfdGhpcy5nZXRSaWdodFZhbHVlKHJhd1ZhbHVlKTsNCgkJCQkJCQlpZiAoaXNOYU4odmFsdWUpIHx8IG1ldGEuZGF0YVtpbmRleF0uaGlkZGVuKSB7DQoJCQkJCQkJCXJldHVybjsNCgkJCQkJCQl9DQoNCgkJCQkJCQlwb3NpdGl2ZVZhbHVlc1tpbmRleF0gPSBwb3NpdGl2ZVZhbHVlc1tpbmRleF0gfHwgMDsNCgkJCQkJCQluZWdhdGl2ZVZhbHVlc1tpbmRleF0gPSBuZWdhdGl2ZVZhbHVlc1tpbmRleF0gfHwgMDsNCg0KCQkJCQkJCWlmIChvcHRzLnJlbGF0aXZlUG9pbnRzKSB7DQoJCQkJCQkJCXBvc2l0aXZlVmFsdWVzW2luZGV4XSA9IDEwMDsNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQlpZiAodmFsdWUgPCAwKSB7DQoJCQkJCQkJCQloYXNOZWdhdGl2ZVZhbHVlcyA9IHRydWU7DQoJCQkJCQkJCQluZWdhdGl2ZVZhbHVlc1tpbmRleF0gKz0gdmFsdWU7DQoJCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCQloYXNQb3NpdGl2ZVZhbHVlcyA9IHRydWU7DQoJCQkJCQkJCQlwb3NpdGl2ZVZhbHVlc1tpbmRleF0gKz0gdmFsdWU7DQoJCQkJCQkJCX0NCgkJCQkJCQl9DQoJCQkJCQl9KTsNCgkJCQkJfQ0KCQkJCX0pOw0KDQoJCQkJaGVscGVycy5lYWNoKHZhbHVlc1BlclR5cGUsIGZ1bmN0aW9uKHZhbHVlc0ZvclR5cGUpIHsNCgkJCQkJdmFyIHZhbHVlcyA9IHZhbHVlc0ZvclR5cGUucG9zaXRpdmVWYWx1ZXMuY29uY2F0KHZhbHVlc0ZvclR5cGUubmVnYXRpdmVWYWx1ZXMpOw0KCQkJCQl2YXIgbWluVmFsID0gaGVscGVycy5taW4odmFsdWVzKTsNCgkJCQkJdmFyIG1heFZhbCA9IGhlbHBlcnMubWF4KHZhbHVlcyk7DQoJCQkJCV90aGlzLm1pbiA9IF90aGlzLm1pbiA9PT0gbnVsbCA/IG1pblZhbCA6IE1hdGgubWluKF90aGlzLm1pbiwgbWluVmFsKTsNCgkJCQkJX3RoaXMubWF4ID0gX3RoaXMubWF4ID09PSBudWxsID8gbWF4VmFsIDogTWF0aC5tYXgoX3RoaXMubWF4LCBtYXhWYWwpOw0KCQkJCX0pOw0KDQoJCQl9IGVsc2Ugew0KCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJCXZhciBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsNCgkJCQkJaWYgKGNoYXJ0LmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSAmJiBJRE1hdGNoZXMobWV0YSkpIHsNCgkJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHJhd1ZhbHVlLCBpbmRleCkgew0KCQkJCQkJCXZhciB2YWx1ZSA9ICtfdGhpcy5nZXRSaWdodFZhbHVlKHJhd1ZhbHVlKTsNCgkJCQkJCQlpZiAoaXNOYU4odmFsdWUpIHx8IG1ldGEuZGF0YVtpbmRleF0uaGlkZGVuKSB7DQoJCQkJCQkJCXJldHVybjsNCgkJCQkJCQl9DQoNCgkJCQkJCQlpZiAoX3RoaXMubWluID09PSBudWxsKSB7DQoJCQkJCQkJCV90aGlzLm1pbiA9IHZhbHVlOw0KCQkJCQkJCX0gZWxzZSBpZiAodmFsdWUgPCBfdGhpcy5taW4pIHsNCgkJCQkJCQkJX3RoaXMubWluID0gdmFsdWU7DQoJCQkJCQkJfQ0KDQoJCQkJCQkJaWYgKF90aGlzLm1heCA9PT0gbnVsbCkgew0KCQkJCQkJCQlfdGhpcy5tYXggPSB2YWx1ZTsNCgkJCQkJCQl9IGVsc2UgaWYgKHZhbHVlID4gX3RoaXMubWF4KSB7DQoJCQkJCQkJCV90aGlzLm1heCA9IHZhbHVlOw0KCQkJCQkJCX0NCgkJCQkJCX0pOw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9DQoNCgkJCS8vIElmIHdlIGFyZSBmb3JjaW5nIGl0IHRvIGJlZ2luIGF0IDAsIGJ1dCAwIHdpbGwgYWxyZWFkeSBiZSByZW5kZXJlZCBvbiB0aGUgY2hhcnQsDQoJCQkvLyBkbyBub3RoaW5nIHNpbmNlIHRoYXQgd291bGQgbWFrZSB0aGUgY2hhcnQgd2VpcmQuIElmIHRoZSB1c2VyIHJlYWxseSB3YW50cyBhIHdlaXJkIGNoYXJ0DQoJCQkvLyBheGlzLCB0aGV5IGNhbiBtYW51YWxseSBvdmVycmlkZSBpdA0KCQkJaWYgKHRpY2tPcHRzLmJlZ2luQXRaZXJvKSB7DQoJCQkJdmFyIG1pblNpZ24gPSBoZWxwZXJzLnNpZ24oX3RoaXMubWluKTsNCgkJCQl2YXIgbWF4U2lnbiA9IGhlbHBlcnMuc2lnbihfdGhpcy5tYXgpOw0KDQoJCQkJaWYgKG1pblNpZ24gPCAwICYmIG1heFNpZ24gPCAwKSB7DQoJCQkJCS8vIG1vdmUgdGhlIHRvcCB1cCB0byAwDQoJCQkJCV90aGlzLm1heCA9IDA7DQoJCQkJfSBlbHNlIGlmIChtaW5TaWduID4gMCAmJiBtYXhTaWduID4gMCkgew0KCQkJCQkvLyBtb3ZlIHRoZSBib3R0dG9tIGRvd24gdG8gMA0KCQkJCQlfdGhpcy5taW4gPSAwOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKHRpY2tPcHRzLm1pbiAhPT0gdW5kZWZpbmVkKSB7DQoJCQkJX3RoaXMubWluID0gdGlja09wdHMubWluOw0KCQkJfSBlbHNlIGlmICh0aWNrT3B0cy5zdWdnZXN0ZWRNaW4gIT09IHVuZGVmaW5lZCkgew0KCQkJCV90aGlzLm1pbiA9IE1hdGgubWluKF90aGlzLm1pbiwgdGlja09wdHMuc3VnZ2VzdGVkTWluKTsNCgkJCX0NCg0KCQkJaWYgKHRpY2tPcHRzLm1heCAhPT0gdW5kZWZpbmVkKSB7DQoJCQkJX3RoaXMubWF4ID0gdGlja09wdHMubWF4Ow0KCQkJfSBlbHNlIGlmICh0aWNrT3B0cy5zdWdnZXN0ZWRNYXggIT09IHVuZGVmaW5lZCkgew0KCQkJCV90aGlzLm1heCA9IE1hdGgubWF4KF90aGlzLm1heCwgdGlja09wdHMuc3VnZ2VzdGVkTWF4KTsNCgkJCX0NCg0KCQkJaWYgKF90aGlzLm1pbiA9PT0gX3RoaXMubWF4KSB7DQoJCQkJX3RoaXMubWF4Kys7DQoNCgkJCQlpZiAoIXRpY2tPcHRzLmJlZ2luQXRaZXJvKSB7DQoJCQkJCV90aGlzLm1pbi0tOw0KCQkJCX0NCgkJCX0NCgkJfSwNCgkJYnVpbGRUaWNrczogZnVuY3Rpb24oKSB7DQoJCQl2YXIgX3RoaXMgPSB0aGlzOw0KCQkJdmFyIG9wdHMgPSBfdGhpcy5vcHRpb25zOw0KCQkJdmFyIHRpY2tPcHRzID0gb3B0cy50aWNrczsNCgkJCXZhciBnZXRWYWx1ZU9yRGVmYXVsdCA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQ7DQoJCQl2YXIgaXNIb3Jpem9udGFsID0gX3RoaXMuaXNIb3Jpem9udGFsKCk7DQoNCgkJCXZhciB0aWNrcyA9IF90aGlzLnRpY2tzID0gW107DQoNCgkJCS8vIEZpZ3VyZSBvdXQgd2hhdCB0aGUgbWF4IG51bWJlciBvZiB0aWNrcyB3ZSBjYW4gc3VwcG9ydCBpdCBpcyBiYXNlZCBvbiB0aGUgc2l6ZSBvZg0KCQkJLy8gdGhlIGF4aXMgYXJlYS4gRm9yIG5vdywgd2Ugc2F5IHRoYXQgdGhlIG1pbmltdW0gdGljayBzcGFjaW5nIGluIHBpeGVscyBtdXN0IGJlIDUwDQoJCQkvLyBXZSBhbHNvIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aWNrcyB0byAxMSB3aGljaCBnaXZlcyBhIG5pY2UgMTAgc3F1YXJlcyBvbg0KCQkJLy8gdGhlIGdyYXBoDQoNCgkJCXZhciBtYXhUaWNrczsNCg0KCQkJaWYgKGlzSG9yaXpvbnRhbCkgew0KCQkJCW1heFRpY2tzID0gTWF0aC5taW4odGlja09wdHMubWF4VGlja3NMaW1pdCA/IHRpY2tPcHRzLm1heFRpY2tzTGltaXQgOiAxMSwgTWF0aC5jZWlsKF90aGlzLndpZHRoIC8gNTApKTsNCgkJCX0gZWxzZSB7DQoJCQkJLy8gVGhlIGZhY3RvciBvZiAyIHVzZWQgdG8gc2NhbGUgdGhlIGZvbnQgc2l6ZSBoYXMgYmVlbiBleHBlcmltZW50YWxseSBkZXRlcm1pbmVkLg0KCQkJCXZhciB0aWNrRm9udFNpemUgPSBnZXRWYWx1ZU9yRGVmYXVsdCh0aWNrT3B0cy5mb250U2l6ZSwgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSk7DQoJCQkJbWF4VGlja3MgPSBNYXRoLm1pbih0aWNrT3B0cy5tYXhUaWNrc0xpbWl0ID8gdGlja09wdHMubWF4VGlja3NMaW1pdCA6IDExLCBNYXRoLmNlaWwoX3RoaXMuaGVpZ2h0IC8gKDIgKiB0aWNrRm9udFNpemUpKSk7DQoJCQl9DQoNCgkJCS8vIE1ha2Ugc3VyZSB3ZSBhbHdheXMgaGF2ZSBhdCBsZWFzdCAyIHRpY2tzDQoJCQltYXhUaWNrcyA9IE1hdGgubWF4KDIsIG1heFRpY2tzKTsNCg0KCQkJLy8gVG8gZ2V0IGEgIm5pY2UiIHZhbHVlIGZvciB0aGUgdGljayBzcGFjaW5nLCB3ZSB3aWxsIHVzZSB0aGUgYXBwcm9wcmlhdGVseSBuYW1lZA0KCQkJLy8gIm5pY2UgbnVtYmVyIiBhbGdvcml0aG0uIFNlZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzg1MDY4ODEvbmljZS1sYWJlbC1hbGdvcml0aG0tZm9yLWNoYXJ0cy13aXRoLW1pbmltdW0tdGlja3MNCgkJCS8vIGZvciBkZXRhaWxzLg0KDQoJCQl2YXIgc3BhY2luZzsNCgkJCXZhciBmaXhlZFN0ZXBTaXplU2V0ID0gKHRpY2tPcHRzLmZpeGVkU3RlcFNpemUgJiYgdGlja09wdHMuZml4ZWRTdGVwU2l6ZSA+IDApIHx8ICh0aWNrT3B0cy5zdGVwU2l6ZSAmJiB0aWNrT3B0cy5zdGVwU2l6ZSA+IDApOw0KCQkJaWYgKGZpeGVkU3RlcFNpemVTZXQpIHsNCgkJCQlzcGFjaW5nID0gZ2V0VmFsdWVPckRlZmF1bHQodGlja09wdHMuZml4ZWRTdGVwU2l6ZSwgdGlja09wdHMuc3RlcFNpemUpOw0KCQkJfSBlbHNlIHsNCgkJCQl2YXIgbmljZVJhbmdlID0gaGVscGVycy5uaWNlTnVtKF90aGlzLm1heCAtIF90aGlzLm1pbiwgZmFsc2UpOw0KCQkJCXNwYWNpbmcgPSBoZWxwZXJzLm5pY2VOdW0obmljZVJhbmdlIC8gKG1heFRpY2tzIC0gMSksIHRydWUpOw0KCQkJfQ0KCQkJdmFyIG5pY2VNaW4gPSBNYXRoLmZsb29yKF90aGlzLm1pbiAvIHNwYWNpbmcpICogc3BhY2luZzsNCgkJCXZhciBuaWNlTWF4ID0gTWF0aC5jZWlsKF90aGlzLm1heCAvIHNwYWNpbmcpICogc3BhY2luZzsNCgkJCXZhciBudW1TcGFjZXMgPSAobmljZU1heCAtIG5pY2VNaW4pIC8gc3BhY2luZzsNCg0KCQkJLy8gSWYgdmVyeSBjbG9zZSB0byBvdXIgcm91bmRlZCB2YWx1ZSwgdXNlIGl0Lg0KCQkJaWYgKGhlbHBlcnMuYWxtb3N0RXF1YWxzKG51bVNwYWNlcywgTWF0aC5yb3VuZChudW1TcGFjZXMpLCBzcGFjaW5nIC8gMTAwMCkpIHsNCgkJCQludW1TcGFjZXMgPSBNYXRoLnJvdW5kKG51bVNwYWNlcyk7DQoJCQl9IGVsc2Ugew0KCQkJCW51bVNwYWNlcyA9IE1hdGguY2VpbChudW1TcGFjZXMpOw0KCQkJfQ0KDQoJCQkvLyBQdXQgdGhlIHZhbHVlcyBpbnRvIHRoZSB0aWNrcyBhcnJheQ0KCQkJdGlja3MucHVzaCh0aWNrT3B0cy5taW4gIT09IHVuZGVmaW5lZCA/IHRpY2tPcHRzLm1pbiA6IG5pY2VNaW4pOw0KCQkJZm9yICh2YXIgaiA9IDE7IGogPCBudW1TcGFjZXM7ICsraikgew0KCQkJCXRpY2tzLnB1c2gobmljZU1pbiArIChqICogc3BhY2luZykpOw0KCQkJfQ0KCQkJdGlja3MucHVzaCh0aWNrT3B0cy5tYXggIT09IHVuZGVmaW5lZCA/IHRpY2tPcHRzLm1heCA6IG5pY2VNYXgpOw0KDQoJCQlpZiAoIWlzSG9yaXpvbnRhbCkgew0KCQkJCS8vIFdlIGFyZSBpbiBhIHZlcnRpY2FsIG9yaWVudGF0aW9uLiBUaGUgdG9wIHZhbHVlIGlzIHRoZSBoaWdoZXN0LiBTbyByZXZlcnNlIHRoZSBhcnJheQ0KCQkJCXRpY2tzLnJldmVyc2UoKTsNCgkJCX0NCg0KCQkJLy8gQXQgdGhpcyBwb2ludCwgd2UgbmVlZCB0byB1cGRhdGUgb3VyIG1heCBhbmQgbWluIGdpdmVuIHRoZSB0aWNrIHZhbHVlcyBzaW5jZSB3ZSBoYXZlIGV4cGFuZGVkIHRoZQ0KCQkJLy8gcmFuZ2Ugb2YgdGhlIHNjYWxlDQoJCQlfdGhpcy5tYXggPSBoZWxwZXJzLm1heCh0aWNrcyk7DQoJCQlfdGhpcy5taW4gPSBoZWxwZXJzLm1pbih0aWNrcyk7DQoNCgkJCWlmICh0aWNrT3B0cy5yZXZlcnNlKSB7DQoJCQkJdGlja3MucmV2ZXJzZSgpOw0KDQoJCQkJX3RoaXMuc3RhcnQgPSBfdGhpcy5tYXg7DQoJCQkJX3RoaXMuZW5kID0gX3RoaXMubWluOw0KCQkJfSBlbHNlIHsNCgkJCQlfdGhpcy5zdGFydCA9IF90aGlzLm1pbjsNCgkJCQlfdGhpcy5lbmQgPSBfdGhpcy5tYXg7DQoJCQl9DQoJCX0sDQoJCWdldExhYmVsRm9ySW5kZXg6IGZ1bmN0aW9uKGluZGV4LCBkYXRhc2V0SW5kZXgpIHsNCgkJCXJldHVybiArdGhpcy5nZXRSaWdodFZhbHVlKHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdLmRhdGFbaW5kZXhdKTsNCgkJfSwNCgkJY29udmVydFRpY2tzVG9MYWJlbHM6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIF90aGlzID0gdGhpczsNCgkJCV90aGlzLnRpY2tzQXNOdW1iZXJzID0gX3RoaXMudGlja3Muc2xpY2UoKTsNCgkJCV90aGlzLnplcm9MaW5lSW5kZXggPSBfdGhpcy50aWNrcy5pbmRleE9mKDApOw0KDQoJCQlDaGFydC5TY2FsZS5wcm90b3R5cGUuY29udmVydFRpY2tzVG9MYWJlbHMuY2FsbChfdGhpcyk7DQoJCX0sDQoJCS8vIFV0aWxzDQoJCWdldFBpeGVsRm9yVmFsdWU6IGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgZGF0YXNldEluZGV4LCBpbmNsdWRlT2Zmc2V0KSB7DQoJCQkvLyBUaGlzIG11c3QgYmUgY2FsbGVkIGFmdGVyIGZpdCBoYXMgYmVlbiBydW4gc28gdGhhdA0KCQkJLy8gICAgICB0aGlzLmxlZnQsIHRoaXMudG9wLCB0aGlzLnJpZ2h0LCBhbmQgdGhpcy5ib3R0b20gaGF2ZSBiZWVuIGRlZmluZWQNCgkJCXZhciBfdGhpcyA9IHRoaXM7DQoJCQl2YXIgcGFkZGluZ0xlZnQgPSBfdGhpcy5wYWRkaW5nTGVmdDsNCgkJCXZhciBwYWRkaW5nQm90dG9tID0gX3RoaXMucGFkZGluZ0JvdHRvbTsNCgkJCXZhciBzdGFydCA9IF90aGlzLnN0YXJ0Ow0KDQoJCQl2YXIgcmlnaHRWYWx1ZSA9ICtfdGhpcy5nZXRSaWdodFZhbHVlKHZhbHVlKTsNCgkJCXZhciBwaXhlbDsNCgkJCXZhciBpbm5lckRpbWVuc2lvbjsNCgkJCXZhciByYW5nZSA9IF90aGlzLmVuZCAtIHN0YXJ0Ow0KDQoJCQlpZiAoX3RoaXMuaXNIb3Jpem9udGFsKCkpIHsNCgkJCQlpbm5lckRpbWVuc2lvbiA9IF90aGlzLndpZHRoIC0gKHBhZGRpbmdMZWZ0ICsgX3RoaXMucGFkZGluZ1JpZ2h0KTsNCgkJCQlwaXhlbCA9IF90aGlzLmxlZnQgKyAoaW5uZXJEaW1lbnNpb24gLyByYW5nZSAqIChyaWdodFZhbHVlIC0gc3RhcnQpKTsNCgkJCQlyZXR1cm4gTWF0aC5yb3VuZChwaXhlbCArIHBhZGRpbmdMZWZ0KTsNCgkJCX0gZWxzZSB7DQoJCQkJaW5uZXJEaW1lbnNpb24gPSBfdGhpcy5oZWlnaHQgLSAoX3RoaXMucGFkZGluZ1RvcCArIHBhZGRpbmdCb3R0b20pOw0KCQkJCXBpeGVsID0gKF90aGlzLmJvdHRvbSAtIHBhZGRpbmdCb3R0b20pIC0gKGlubmVyRGltZW5zaW9uIC8gcmFuZ2UgKiAocmlnaHRWYWx1ZSAtIHN0YXJ0KSk7DQoJCQkJcmV0dXJuIE1hdGgucm91bmQocGl4ZWwpOw0KCQkJfQ0KCQl9LA0KCQlnZXRWYWx1ZUZvclBpeGVsOiBmdW5jdGlvbihwaXhlbCkgew0KCQkJdmFyIF90aGlzID0gdGhpczsNCgkJCXZhciBpc0hvcml6b250YWwgPSBfdGhpcy5pc0hvcml6b250YWwoKTsNCgkJCXZhciBwYWRkaW5nTGVmdCA9IF90aGlzLnBhZGRpbmdMZWZ0Ow0KCQkJdmFyIHBhZGRpbmdCb3R0b20gPSBfdGhpcy5wYWRkaW5nQm90dG9tOw0KCQkJdmFyIGlubmVyRGltZW5zaW9uID0gaXNIb3Jpem9udGFsID8gX3RoaXMud2lkdGggLSAocGFkZGluZ0xlZnQgKyBfdGhpcy5wYWRkaW5nUmlnaHQpIDogX3RoaXMuaGVpZ2h0IC0gKF90aGlzLnBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tKTsNCgkJCXZhciBvZmZzZXQgPSAoaXNIb3Jpem9udGFsID8gcGl4ZWwgLSBfdGhpcy5sZWZ0IC0gcGFkZGluZ0xlZnQgOiBfdGhpcy5ib3R0b20gLSBwYWRkaW5nQm90dG9tIC0gcGl4ZWwpIC8gaW5uZXJEaW1lbnNpb247DQoJCQlyZXR1cm4gX3RoaXMuc3RhcnQgKyAoKF90aGlzLmVuZCAtIF90aGlzLnN0YXJ0KSAqIG9mZnNldCk7DQoJCX0sDQoJCWdldFBpeGVsRm9yVGljazogZnVuY3Rpb24oaW5kZXgsIGluY2x1ZGVPZmZzZXQpIHsNCgkJCXJldHVybiB0aGlzLmdldFBpeGVsRm9yVmFsdWUodGhpcy50aWNrc0FzTnVtYmVyc1tpbmRleF0sIG51bGwsIG51bGwsIGluY2x1ZGVPZmZzZXQpOw0KCQl9DQoJfSk7DQoJQ2hhcnQuc2NhbGVTZXJ2aWNlLnJlZ2lzdGVyU2NhbGVUeXBlKCJsaW5lYXIiLCBMaW5lYXJTY2FsZSwgZGVmYXVsdENvbmZpZyk7DQoNCn07Cn0se31dLDQwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKInVzZSBzdHJpY3QiOw0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCgl2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnM7DQoNCgl2YXIgZGVmYXVsdENvbmZpZyA9IHsNCgkJcG9zaXRpb246ICJsZWZ0IiwNCg0KCQkvLyBsYWJlbCBzZXR0aW5ncw0KCQl0aWNrczogew0KCQkJY2FsbGJhY2s6IGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgYXJyKSB7DQoJCQkJdmFyIHJlbWFpbiA9IHZhbHVlIC8gKE1hdGgucG93KDEwLCBNYXRoLmZsb29yKGhlbHBlcnMubG9nMTAodmFsdWUpKSkpOw0KDQoJCQkJaWYgKHJlbWFpbiA9PT0gMSB8fCByZW1haW4gPT09IDIgfHwgcmVtYWluID09PSA1IHx8IGluZGV4ID09PSAwIHx8IGluZGV4ID09PSBhcnIubGVuZ3RoIC0gMSkgew0KCQkJCQlyZXR1cm4gdmFsdWUudG9FeHBvbmVudGlhbCgpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXJldHVybiAnJzsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9Ow0KDQoJdmFyIExvZ2FyaXRobWljU2NhbGUgPSBDaGFydC5TY2FsZS5leHRlbmQoew0KCQlkZXRlcm1pbmVEYXRhTGltaXRzOiBmdW5jdGlvbigpIHsNCgkJCXZhciBfdGhpcyA9IHRoaXM7DQoJCQl2YXIgb3B0cyA9IF90aGlzLm9wdGlvbnM7DQoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOw0KCQkJdmFyIGNoYXJ0ID0gX3RoaXMuY2hhcnQ7DQoJCQl2YXIgZGF0YSA9IGNoYXJ0LmRhdGE7DQoJCQl2YXIgZGF0YXNldHMgPSBkYXRhLmRhdGFzZXRzOw0KCQkJdmFyIGdldFZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdDsNCgkJCXZhciBpc0hvcml6b250YWwgPSBfdGhpcy5pc0hvcml6b250YWwoKTsNCgkJCWZ1bmN0aW9uIElETWF0Y2hlcyhtZXRhKSB7DQoJCQkJcmV0dXJuIGlzSG9yaXpvbnRhbCA/IG1ldGEueEF4aXNJRCA9PT0gX3RoaXMuaWQgOiBtZXRhLnlBeGlzSUQgPT09IF90aGlzLmlkOw0KCQkJfQ0KDQoJCQkvLyBDYWxjdWxhdGUgUmFuZ2UNCgkJCV90aGlzLm1pbiA9IG51bGw7DQoJCQlfdGhpcy5tYXggPSBudWxsOw0KDQoJCQlpZiAob3B0cy5zdGFja2VkKSB7DQoJCQkJdmFyIHZhbHVlc1BlclR5cGUgPSB7fTsNCg0KCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJCXZhciBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsNCgkJCQkJaWYgKGNoYXJ0LmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSAmJiBJRE1hdGNoZXMobWV0YSkpIHsNCgkJCQkJCWlmICh2YWx1ZXNQZXJUeXBlW21ldGEudHlwZV0gPT09IHVuZGVmaW5lZCkgew0KCQkJCQkJCXZhbHVlc1BlclR5cGVbbWV0YS50eXBlXSA9IFtdOw0KCQkJCQkJfQ0KDQoJCQkJCQloZWxwZXJzLmVhY2goZGF0YXNldC5kYXRhLCBmdW5jdGlvbihyYXdWYWx1ZSwgaW5kZXgpIHsNCgkJCQkJCQl2YXIgdmFsdWVzID0gdmFsdWVzUGVyVHlwZVttZXRhLnR5cGVdOw0KCQkJCQkJCXZhciB2YWx1ZSA9ICtfdGhpcy5nZXRSaWdodFZhbHVlKHJhd1ZhbHVlKTsNCgkJCQkJCQlpZiAoaXNOYU4odmFsdWUpIHx8IG1ldGEuZGF0YVtpbmRleF0uaGlkZGVuKSB7DQoJCQkJCQkJCXJldHVybjsNCgkJCQkJCQl9DQoNCgkJCQkJCQl2YWx1ZXNbaW5kZXhdID0gdmFsdWVzW2luZGV4XSB8fCAwOw0KDQoJCQkJCQkJaWYgKG9wdHMucmVsYXRpdmVQb2ludHMpIHsNCgkJCQkJCQkJdmFsdWVzW2luZGV4XSA9IDEwMDsNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkvLyBEb24ndCBuZWVkIHRvIHNwbGl0IHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBzaW5jZSB0aGUgbG9nIHNjYWxlIGNhbid0IGhhbmRsZSBhIDAgY3Jvc3NpbmcNCgkJCQkJCQkJdmFsdWVzW2luZGV4XSArPSB2YWx1ZTsNCgkJCQkJCQl9DQoJCQkJCQl9KTsNCgkJCQkJfQ0KCQkJCX0pOw0KDQoJCQkJaGVscGVycy5lYWNoKHZhbHVlc1BlclR5cGUsIGZ1bmN0aW9uKHZhbHVlc0ZvclR5cGUpIHsNCgkJCQkJdmFyIG1pblZhbCA9IGhlbHBlcnMubWluKHZhbHVlc0ZvclR5cGUpOw0KCQkJCQl2YXIgbWF4VmFsID0gaGVscGVycy5tYXgodmFsdWVzRm9yVHlwZSk7DQoJCQkJCV90aGlzLm1pbiA9IF90aGlzLm1pbiA9PT0gbnVsbCA/IG1pblZhbCA6IE1hdGgubWluKF90aGlzLm1pbiwgbWluVmFsKTsNCgkJCQkJX3RoaXMubWF4ID0gX3RoaXMubWF4ID09PSBudWxsID8gbWF4VmFsIDogTWF0aC5tYXgoX3RoaXMubWF4LCBtYXhWYWwpOw0KCQkJCX0pOw0KDQoJCQl9IGVsc2Ugew0KCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJCXZhciBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsNCgkJCQkJaWYgKGNoYXJ0LmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSAmJiBJRE1hdGNoZXMobWV0YSkpIHsNCgkJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHJhd1ZhbHVlLCBpbmRleCkgew0KCQkJCQkJCXZhciB2YWx1ZSA9ICtfdGhpcy5nZXRSaWdodFZhbHVlKHJhd1ZhbHVlKTsNCgkJCQkJCQlpZiAoaXNOYU4odmFsdWUpIHx8IG1ldGEuZGF0YVtpbmRleF0uaGlkZGVuKSB7DQoJCQkJCQkJCXJldHVybjsNCgkJCQkJCQl9DQoNCgkJCQkJCQlpZiAoX3RoaXMubWluID09PSBudWxsKSB7DQoJCQkJCQkJCV90aGlzLm1pbiA9IHZhbHVlOw0KCQkJCQkJCX0gZWxzZSBpZiAodmFsdWUgPCBfdGhpcy5taW4pIHsNCgkJCQkJCQkJX3RoaXMubWluID0gdmFsdWU7DQoJCQkJCQkJfQ0KDQoJCQkJCQkJaWYgKF90aGlzLm1heCA9PT0gbnVsbCkgew0KCQkJCQkJCQlfdGhpcy5tYXggPSB2YWx1ZTsNCgkJCQkJCQl9IGVsc2UgaWYgKHZhbHVlID4gX3RoaXMubWF4KSB7DQoJCQkJCQkJCV90aGlzLm1heCA9IHZhbHVlOw0KCQkJCQkJCX0NCgkJCQkJCX0pOw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9DQoNCgkJCV90aGlzLm1pbiA9IGdldFZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLm1pbiwgX3RoaXMubWluKTsNCgkJCV90aGlzLm1heCA9IGdldFZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLm1heCwgX3RoaXMubWF4KTsNCg0KCQkJaWYgKF90aGlzLm1pbiA9PT0gX3RoaXMubWF4KSB7DQoJCQkJaWYgKF90aGlzLm1pbiAhPT0gMCAmJiBfdGhpcy5taW4gIT09IG51bGwpIHsNCgkJCQkJX3RoaXMubWluID0gTWF0aC5wb3coMTAsIE1hdGguZmxvb3IoaGVscGVycy5sb2cxMChfdGhpcy5taW4pKSAtIDEpOw0KCQkJCQlfdGhpcy5tYXggPSBNYXRoLnBvdygxMCwgTWF0aC5mbG9vcihoZWxwZXJzLmxvZzEwKF90aGlzLm1heCkpICsgMSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJX3RoaXMubWluID0gMTsNCgkJCQkJX3RoaXMubWF4ID0gMTA7DQoJCQkJfQ0KCQkJfQ0KCQl9LA0KCQlidWlsZFRpY2tzOiBmdW5jdGlvbigpIHsNCgkJCXZhciBfdGhpcyA9IHRoaXM7DQoJCQl2YXIgb3B0cyA9IF90aGlzLm9wdGlvbnM7DQoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOw0KCQkJdmFyIGdldFZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdDsNCg0KCQkJLy8gUmVzZXQgdGhlIHRpY2tzIGFycmF5LiBMYXRlciBvbiwgd2Ugd2lsbCBkcmF3IGEgZ3JpZCBsaW5lIGF0IHRoZXNlIHBvc2l0aW9ucw0KCQkJLy8gVGhlIGFycmF5IHNpbXBseSBjb250YWlucyB0aGUgbnVtZXJpY2FsIHZhbHVlIG9mIHRoZSBzcG90cyB3aGVyZSB0aWNrcyB3aWxsIGJlDQoJCQl2YXIgdGlja3MgPSBfdGhpcy50aWNrcyA9IFtdOw0KDQoJCQkvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIG1heCBudW1iZXIgb2YgdGlja3Mgd2UgY2FuIHN1cHBvcnQgaXQgaXMgYmFzZWQgb24gdGhlIHNpemUgb2YNCgkJCS8vIHRoZSBheGlzIGFyZWEuIEZvciBub3csIHdlIHNheSB0aGF0IHRoZSBtaW5pbXVtIHRpY2sgc3BhY2luZyBpbiBwaXhlbHMgbXVzdCBiZSA1MA0KCQkJLy8gV2UgYWxzbyBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGlja3MgdG8gMTEgd2hpY2ggZ2l2ZXMgYSBuaWNlIDEwIHNxdWFyZXMgb24NCgkJCS8vIHRoZSBncmFwaA0KDQoJCQl2YXIgdGlja1ZhbCA9IGdldFZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLm1pbiwgTWF0aC5wb3coMTAsIE1hdGguZmxvb3IoaGVscGVycy5sb2cxMChfdGhpcy5taW4pKSkpOw0KDQoJCQl3aGlsZSAodGlja1ZhbCA8IF90aGlzLm1heCkgew0KCQkJCXRpY2tzLnB1c2godGlja1ZhbCk7DQoNCgkJCQl2YXIgZXhwID0gTWF0aC5mbG9vcihoZWxwZXJzLmxvZzEwKHRpY2tWYWwpKTsNCgkJCQl2YXIgc2lnbmlmaWNhbmQgPSBNYXRoLmZsb29yKHRpY2tWYWwgLyBNYXRoLnBvdygxMCwgZXhwKSkgKyAxOw0KDQoJCQkJaWYgKHNpZ25pZmljYW5kID09PSAxMCkgew0KCQkJCQlzaWduaWZpY2FuZCA9IDE7DQoJCQkJCSsrZXhwOw0KCQkJCX0NCg0KCQkJCXRpY2tWYWwgPSBzaWduaWZpY2FuZCAqIE1hdGgucG93KDEwLCBleHApOw0KCQkJfQ0KDQoJCQl2YXIgbGFzdFRpY2sgPSBnZXRWYWx1ZU9yRGVmYXVsdCh0aWNrT3B0cy5tYXgsIHRpY2tWYWwpOw0KCQkJdGlja3MucHVzaChsYXN0VGljayk7DQoNCgkJCWlmICghX3RoaXMuaXNIb3Jpem9udGFsKCkpIHsNCgkJCQkvLyBXZSBhcmUgaW4gYSB2ZXJ0aWNhbCBvcmllbnRhdGlvbi4gVGhlIHRvcCB2YWx1ZSBpcyB0aGUgaGlnaGVzdC4gU28gcmV2ZXJzZSB0aGUgYXJyYXkNCgkJCQl0aWNrcy5yZXZlcnNlKCk7DQoJCQl9DQoNCgkJCS8vIEF0IHRoaXMgcG9pbnQsIHdlIG5lZWQgdG8gdXBkYXRlIG91ciBtYXggYW5kIG1pbiBnaXZlbiB0aGUgdGljayB2YWx1ZXMgc2luY2Ugd2UgaGF2ZSBleHBhbmRlZCB0aGUNCgkJCS8vIHJhbmdlIG9mIHRoZSBzY2FsZQ0KCQkJX3RoaXMubWF4ID0gaGVscGVycy5tYXgodGlja3MpOw0KCQkJX3RoaXMubWluID0gaGVscGVycy5taW4odGlja3MpOw0KDQoJCQlpZiAodGlja09wdHMucmV2ZXJzZSkgew0KCQkJCXRpY2tzLnJldmVyc2UoKTsNCg0KCQkJCV90aGlzLnN0YXJ0ID0gX3RoaXMubWF4Ow0KCQkJCV90aGlzLmVuZCA9IF90aGlzLm1pbjsNCgkJCX0gZWxzZSB7DQoJCQkJX3RoaXMuc3RhcnQgPSBfdGhpcy5taW47DQoJCQkJX3RoaXMuZW5kID0gX3RoaXMubWF4Ow0KCQkJfQ0KCQl9LA0KCQljb252ZXJ0VGlja3NUb0xhYmVsczogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLnRpY2tWYWx1ZXMgPSB0aGlzLnRpY2tzLnNsaWNlKCk7DQoNCgkJCUNoYXJ0LlNjYWxlLnByb3RvdHlwZS5jb252ZXJ0VGlja3NUb0xhYmVscy5jYWxsKHRoaXMpOw0KCQl9LA0KCQkvLyBHZXQgdGhlIGNvcnJlY3QgdG9vbHRpcCBsYWJlbA0KCQlnZXRMYWJlbEZvckluZGV4OiBmdW5jdGlvbihpbmRleCwgZGF0YXNldEluZGV4KSB7DQoJCQlyZXR1cm4gK3RoaXMuZ2V0UmlnaHRWYWx1ZSh0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5kYXRhW2luZGV4XSk7DQoJCX0sDQoJCWdldFBpeGVsRm9yVGljazogZnVuY3Rpb24oaW5kZXgsIGluY2x1ZGVPZmZzZXQpIHsNCgkJCXJldHVybiB0aGlzLmdldFBpeGVsRm9yVmFsdWUodGhpcy50aWNrVmFsdWVzW2luZGV4XSwgbnVsbCwgbnVsbCwgaW5jbHVkZU9mZnNldCk7DQoJCX0sDQoJCWdldFBpeGVsRm9yVmFsdWU6IGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgZGF0YXNldEluZGV4LCBpbmNsdWRlT2Zmc2V0KSB7DQoJCQl2YXIgX3RoaXMgPSB0aGlzOw0KCQkJdmFyIGlubmVyRGltZW5zaW9uOw0KCQkJdmFyIHBpeGVsOw0KDQoJCQl2YXIgc3RhcnQgPSBfdGhpcy5zdGFydDsNCgkJCXZhciBuZXdWYWwgPSArX3RoaXMuZ2V0UmlnaHRWYWx1ZSh2YWx1ZSk7DQoJCQl2YXIgcmFuZ2UgPSBoZWxwZXJzLmxvZzEwKF90aGlzLmVuZCkgLSBoZWxwZXJzLmxvZzEwKHN0YXJ0KTsNCgkJCXZhciBwYWRkaW5nVG9wID0gX3RoaXMucGFkZGluZ1RvcDsNCgkJCXZhciBwYWRkaW5nQm90dG9tID0gX3RoaXMucGFkZGluZ0JvdHRvbTsNCgkJCXZhciBwYWRkaW5nTGVmdCA9IF90aGlzLnBhZGRpbmdMZWZ0Ow0KDQoJCQlpZiAoX3RoaXMuaXNIb3Jpem9udGFsKCkpIHsNCg0KCQkJCWlmIChuZXdWYWwgPT09IDApIHsNCgkJCQkJcGl4ZWwgPSBfdGhpcy5sZWZ0ICsgcGFkZGluZ0xlZnQ7DQoJCQkJfSBlbHNlIHsNCgkJCQkJaW5uZXJEaW1lbnNpb24gPSBfdGhpcy53aWR0aCAtIChwYWRkaW5nTGVmdCArIF90aGlzLnBhZGRpbmdSaWdodCk7DQoJCQkJCXBpeGVsID0gX3RoaXMubGVmdCArIChpbm5lckRpbWVuc2lvbiAvIHJhbmdlICogKGhlbHBlcnMubG9nMTAobmV3VmFsKSAtIGhlbHBlcnMubG9nMTAoc3RhcnQpKSk7DQoJCQkJCXBpeGVsICs9IHBhZGRpbmdMZWZ0Ow0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJLy8gQm90dG9tIC0gdG9wIHNpbmNlIHBpeGVscyBpbmNyZWFzZSBkb3duYXJkIG9uIGEgc2NyZWVuDQoJCQkJaWYgKG5ld1ZhbCA9PT0gMCkgew0KCQkJCQlwaXhlbCA9IF90aGlzLnRvcCArIHBhZGRpbmdUb3A7DQoJCQkJfSBlbHNlIHsNCgkJCQkJaW5uZXJEaW1lbnNpb24gPSBfdGhpcy5oZWlnaHQgLSAocGFkZGluZ1RvcCArIHBhZGRpbmdCb3R0b20pOw0KCQkJCQlwaXhlbCA9IChfdGhpcy5ib3R0b20gLSBwYWRkaW5nQm90dG9tKSAtIChpbm5lckRpbWVuc2lvbiAvIHJhbmdlICogKGhlbHBlcnMubG9nMTAobmV3VmFsKSAtIGhlbHBlcnMubG9nMTAoc3RhcnQpKSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gcGl4ZWw7DQoJCX0sDQoJCWdldFZhbHVlRm9yUGl4ZWw6IGZ1bmN0aW9uKHBpeGVsKSB7DQoJCQl2YXIgX3RoaXMgPSB0aGlzOw0KCQkJdmFyIG9mZnNldDsNCgkJCXZhciByYW5nZSA9IGhlbHBlcnMubG9nMTAoX3RoaXMuZW5kKSAtIGhlbHBlcnMubG9nMTAoX3RoaXMuc3RhcnQpOw0KCQkJdmFyIHZhbHVlOw0KCQkJdmFyIGlubmVyRGltZW5zaW9uOw0KDQoJCQlpZiAoX3RoaXMuaXNIb3Jpem9udGFsKCkpIHsNCgkJCQlpbm5lckRpbWVuc2lvbiA9IF90aGlzLndpZHRoIC0gKF90aGlzLnBhZGRpbmdMZWZ0ICsgX3RoaXMucGFkZGluZ1JpZ2h0KTsNCgkJCQl2YWx1ZSA9IF90aGlzLnN0YXJ0ICogTWF0aC5wb3coMTAsIChwaXhlbCAtIF90aGlzLmxlZnQgLSBfdGhpcy5wYWRkaW5nTGVmdCkgKiByYW5nZSAvIGlubmVyRGltZW5zaW9uKTsNCgkJCX0gZWxzZSB7DQoJCQkJaW5uZXJEaW1lbnNpb24gPSBfdGhpcy5oZWlnaHQgLSAoX3RoaXMucGFkZGluZ1RvcCArIF90aGlzLnBhZGRpbmdCb3R0b20pOw0KCQkJCXZhbHVlID0gTWF0aC5wb3coMTAsIChfdGhpcy5ib3R0b20gLSBfdGhpcy5wYWRkaW5nQm90dG9tIC0gcGl4ZWwpICogcmFuZ2UgLyBpbm5lckRpbWVuc2lvbikgLyBfdGhpcy5zdGFydDsNCgkJCX0NCg0KCQkJcmV0dXJuIHZhbHVlOw0KCQl9DQoJfSk7DQoJQ2hhcnQuc2NhbGVTZXJ2aWNlLnJlZ2lzdGVyU2NhbGVUeXBlKCJsb2dhcml0aG1pYyIsIExvZ2FyaXRobWljU2NhbGUsIGRlZmF1bHRDb25maWcpOw0KDQp9Owp9LHt9XSw0MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiJ1c2Ugc3RyaWN0IjsNCg0KbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgew0KDQoJdmFyIGhlbHBlcnMgPSBDaGFydC5oZWxwZXJzOw0KCXZhciBnbG9iYWxEZWZhdWx0cyA9IENoYXJ0LmRlZmF1bHRzLmdsb2JhbDsNCg0KCXZhciBkZWZhdWx0Q29uZmlnID0gew0KCQlkaXNwbGF5OiB0cnVlLA0KDQoJCS8vQm9vbGVhbiAtIFdoZXRoZXIgdG8gYW5pbWF0ZSBzY2FsaW5nIHRoZSBjaGFydCBmcm9tIHRoZSBjZW50cmUNCgkJYW5pbWF0ZTogdHJ1ZSwNCgkJbGluZUFyYzogZmFsc2UsDQoJCXBvc2l0aW9uOiAiY2hhcnRBcmVhIiwNCg0KCQlhbmdsZUxpbmVzOiB7DQoJCQlkaXNwbGF5OiB0cnVlLA0KCQkJY29sb3I6ICJyZ2JhKDAsIDAsIDAsIDAuMSkiLA0KCQkJbGluZVdpZHRoOiAxDQoJCX0sDQoNCgkJLy8gbGFiZWwgc2V0dGluZ3MNCgkJdGlja3M6IHsNCgkJCS8vQm9vbGVhbiAtIFNob3cgYSBiYWNrZHJvcCB0byB0aGUgc2NhbGUgbGFiZWwNCgkJCXNob3dMYWJlbEJhY2tkcm9wOiB0cnVlLA0KDQoJCQkvL1N0cmluZyAtIFRoZSBjb2xvdXIgb2YgdGhlIGxhYmVsIGJhY2tkcm9wDQoJCQliYWNrZHJvcENvbG9yOiAicmdiYSgyNTUsMjU1LDI1NSwwLjc1KSIsDQoNCgkJCS8vTnVtYmVyIC0gVGhlIGJhY2tkcm9wIHBhZGRpbmcgYWJvdmUgJiBiZWxvdyB0aGUgbGFiZWwgaW4gcGl4ZWxzDQoJCQliYWNrZHJvcFBhZGRpbmdZOiAyLA0KDQoJCQkvL051bWJlciAtIFRoZSBiYWNrZHJvcCBwYWRkaW5nIHRvIHRoZSBzaWRlIG9mIHRoZSBsYWJlbCBpbiBwaXhlbHMNCgkJCWJhY2tkcm9wUGFkZGluZ1g6IDINCgkJfSwNCg0KCQlwb2ludExhYmVsczogew0KCQkJLy9OdW1iZXIgLSBQb2ludCBsYWJlbCBmb250IHNpemUgaW4gcGl4ZWxzDQoJCQlmb250U2l6ZTogMTAsDQoNCgkJCS8vRnVuY3Rpb24gLSBVc2VkIHRvIGNvbnZlcnQgcG9pbnQgbGFiZWxzDQoJCQljYWxsYmFjazogZnVuY3Rpb24obGFiZWwpIHsNCgkJCQlyZXR1cm4gbGFiZWw7DQoJCQl9DQoJCX0NCgl9Ow0KDQoJdmFyIExpbmVhclJhZGlhbFNjYWxlID0gQ2hhcnQuU2NhbGUuZXh0ZW5kKHsNCgkJZ2V0VmFsdWVDb3VudDogZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gdGhpcy5jaGFydC5kYXRhLmxhYmVscy5sZW5ndGg7DQoJCX0sDQoJCXNldERpbWVuc2lvbnM6IGZ1bmN0aW9uKCkgew0KCQkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoJCQkvLyBTZXQgdGhlIHVuY29uc3RyYWluZWQgZGltZW5zaW9uIGJlZm9yZSBsYWJlbCByb3RhdGlvbg0KCQkJdGhpcy53aWR0aCA9IHRoaXMubWF4V2lkdGg7DQoJCQl0aGlzLmhlaWdodCA9IHRoaXMubWF4SGVpZ2h0Ow0KCQkJdGhpcy54Q2VudGVyID0gTWF0aC5yb3VuZCh0aGlzLndpZHRoIC8gMik7DQoJCQl0aGlzLnlDZW50ZXIgPSBNYXRoLnJvdW5kKHRoaXMuaGVpZ2h0IC8gMik7DQoNCgkJCXZhciBtaW5TaXplID0gaGVscGVycy5taW4oW3RoaXMuaGVpZ2h0LCB0aGlzLndpZHRoXSk7DQoJCQl2YXIgdGlja0ZvbnRTaXplID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdChvcHRpb25zLnRpY2tzLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpOw0KCQkJdGhpcy5kcmF3aW5nQXJlYSA9IChvcHRpb25zLmRpc3BsYXkpID8gKG1pblNpemUgLyAyKSAtICh0aWNrRm9udFNpemUgLyAyICsgb3B0aW9ucy50aWNrcy5iYWNrZHJvcFBhZGRpbmdZKSA6IChtaW5TaXplIC8gMik7DQoJCX0sDQoJCWRldGVybWluZURhdGFMaW1pdHM6IGZ1bmN0aW9uKCkgew0KCQkJdGhpcy5taW4gPSBudWxsOw0KCQkJdGhpcy5tYXggPSBudWxsOw0KDQoJCQloZWxwZXJzLmVhY2godGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsNCgkJCQlpZiAodGhpcy5jaGFydC5pc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleCkpIHsNCgkJCQkJdmFyIG1ldGEgPSB0aGlzLmNoYXJ0LmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7DQoJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHJhd1ZhbHVlLCBpbmRleCkgew0KCQkJCQkJdmFyIHZhbHVlID0gK3RoaXMuZ2V0UmlnaHRWYWx1ZShyYXdWYWx1ZSk7DQoJCQkJCQlpZiAoaXNOYU4odmFsdWUpIHx8IG1ldGEuZGF0YVtpbmRleF0uaGlkZGVuKSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KDQoJCQkJCQlpZiAodGhpcy5taW4gPT09IG51bGwpIHsNCgkJCQkJCQl0aGlzLm1pbiA9IHZhbHVlOw0KCQkJCQkJfSBlbHNlIGlmICh2YWx1ZSA8IHRoaXMubWluKSB7DQoJCQkJCQkJdGhpcy5taW4gPSB2YWx1ZTsNCgkJCQkJCX0NCg0KCQkJCQkJaWYgKHRoaXMubWF4ID09PSBudWxsKSB7DQoJCQkJCQkJdGhpcy5tYXggPSB2YWx1ZTsNCgkJCQkJCX0gZWxzZSBpZiAodmFsdWUgPiB0aGlzLm1heCkgew0KCQkJCQkJCXRoaXMubWF4ID0gdmFsdWU7DQoJCQkJCQl9DQoJCQkJCX0sIHRoaXMpOw0KCQkJCX0NCgkJCX0sIHRoaXMpOw0KDQoJCQkvLyBJZiB3ZSBhcmUgZm9yY2luZyBpdCB0byBiZWdpbiBhdCAwLCBidXQgMCB3aWxsIGFscmVhZHkgYmUgcmVuZGVyZWQgb24gdGhlIGNoYXJ0LA0KCQkJLy8gZG8gbm90aGluZyBzaW5jZSB0aGF0IHdvdWxkIG1ha2UgdGhlIGNoYXJ0IHdlaXJkLiBJZiB0aGUgdXNlciByZWFsbHkgd2FudHMgYSB3ZWlyZCBjaGFydA0KCQkJLy8gYXhpcywgdGhleSBjYW4gbWFudWFsbHkgb3ZlcnJpZGUgaXQNCgkJCWlmICh0aGlzLm9wdGlvbnMudGlja3MuYmVnaW5BdFplcm8pIHsNCgkJCQl2YXIgbWluU2lnbiA9IGhlbHBlcnMuc2lnbih0aGlzLm1pbik7DQoJCQkJdmFyIG1heFNpZ24gPSBoZWxwZXJzLnNpZ24odGhpcy5tYXgpOw0KDQoJCQkJaWYgKG1pblNpZ24gPCAwICYmIG1heFNpZ24gPCAwKSB7DQoJCQkJCS8vIG1vdmUgdGhlIHRvcCB1cCB0byAwDQoJCQkJCXRoaXMubWF4ID0gMDsNCgkJCQl9IGVsc2UgaWYgKG1pblNpZ24gPiAwICYmIG1heFNpZ24gPiAwKSB7DQoJCQkJCS8vIG1vdmUgdGhlIGJvdHR0b20gZG93biB0byAwDQoJCQkJCXRoaXMubWluID0gMDsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICh0aGlzLm9wdGlvbnMudGlja3MubWluICE9PSB1bmRlZmluZWQpIHsNCgkJCQl0aGlzLm1pbiA9IHRoaXMub3B0aW9ucy50aWNrcy5taW47DQoJCQl9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy50aWNrcy5zdWdnZXN0ZWRNaW4gIT09IHVuZGVmaW5lZCkgew0KCQkJCXRoaXMubWluID0gTWF0aC5taW4odGhpcy5taW4sIHRoaXMub3B0aW9ucy50aWNrcy5zdWdnZXN0ZWRNaW4pOw0KCQkJfQ0KDQoJCQlpZiAodGhpcy5vcHRpb25zLnRpY2tzLm1heCAhPT0gdW5kZWZpbmVkKSB7DQoJCQkJdGhpcy5tYXggPSB0aGlzLm9wdGlvbnMudGlja3MubWF4Ow0KCQkJfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMudGlja3Muc3VnZ2VzdGVkTWF4ICE9PSB1bmRlZmluZWQpIHsNCgkJCQl0aGlzLm1heCA9IE1hdGgubWF4KHRoaXMubWF4LCB0aGlzLm9wdGlvbnMudGlja3Muc3VnZ2VzdGVkTWF4KTsNCgkJCX0NCg0KCQkJaWYgKHRoaXMubWluID09PSB0aGlzLm1heCkgew0KCQkJCXRoaXMubWluLS07DQoJCQkJdGhpcy5tYXgrKzsNCgkJCX0NCgkJfSwNCgkJYnVpbGRUaWNrczogZnVuY3Rpb24oKSB7DQoNCg0KCQkJdGhpcy50aWNrcyA9IFtdOw0KDQoJCQkvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIG1heCBudW1iZXIgb2YgdGlja3Mgd2UgY2FuIHN1cHBvcnQgaXQgaXMgYmFzZWQgb24gdGhlIHNpemUgb2YNCgkJCS8vIHRoZSBheGlzIGFyZWEuIEZvciBub3csIHdlIHNheSB0aGF0IHRoZSBtaW5pbXVtIHRpY2sgc3BhY2luZyBpbiBwaXhlbHMgbXVzdCBiZSA1MA0KCQkJLy8gV2UgYWxzbyBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGlja3MgdG8gMTEgd2hpY2ggZ2l2ZXMgYSBuaWNlIDEwIHNxdWFyZXMgb24NCgkJCS8vIHRoZSBncmFwaA0KCQkJdmFyIHRpY2tGb250U2l6ZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGhpcy5vcHRpb25zLnRpY2tzLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpOw0KCQkJdmFyIG1heFRpY2tzID0gTWF0aC5taW4odGhpcy5vcHRpb25zLnRpY2tzLm1heFRpY2tzTGltaXQgPyB0aGlzLm9wdGlvbnMudGlja3MubWF4VGlja3NMaW1pdCA6IDExLCBNYXRoLmNlaWwodGhpcy5kcmF3aW5nQXJlYSAvICgxLjUgKiB0aWNrRm9udFNpemUpKSk7DQoJCQltYXhUaWNrcyA9IE1hdGgubWF4KDIsIG1heFRpY2tzKTsgLy8gTWFrZSBzdXJlIHdlIGFsd2F5cyBoYXZlIGF0IGxlYXN0IDIgdGlja3MNCg0KCQkJLy8gVG8gZ2V0IGEgIm5pY2UiIHZhbHVlIGZvciB0aGUgdGljayBzcGFjaW5nLCB3ZSB3aWxsIHVzZSB0aGUgYXBwcm9wcmlhdGVseSBuYW1lZA0KCQkJLy8gIm5pY2UgbnVtYmVyIiBhbGdvcml0aG0uIFNlZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzg1MDY4ODEvbmljZS1sYWJlbC1hbGdvcml0aG0tZm9yLWNoYXJ0cy13aXRoLW1pbmltdW0tdGlja3MNCgkJCS8vIGZvciBkZXRhaWxzLg0KDQoJCQl2YXIgbmljZVJhbmdlID0gaGVscGVycy5uaWNlTnVtKHRoaXMubWF4IC0gdGhpcy5taW4sIGZhbHNlKTsNCgkJCXZhciBzcGFjaW5nID0gaGVscGVycy5uaWNlTnVtKG5pY2VSYW5nZSAvIChtYXhUaWNrcyAtIDEpLCB0cnVlKTsNCgkJCXZhciBuaWNlTWluID0gTWF0aC5mbG9vcih0aGlzLm1pbiAvIHNwYWNpbmcpICogc3BhY2luZzsNCgkJCXZhciBuaWNlTWF4ID0gTWF0aC5jZWlsKHRoaXMubWF4IC8gc3BhY2luZykgKiBzcGFjaW5nOw0KDQoJCQl2YXIgbnVtU3BhY2VzID0gTWF0aC5jZWlsKChuaWNlTWF4IC0gbmljZU1pbikgLyBzcGFjaW5nKTsNCg0KCQkJLy8gUHV0IHRoZSB2YWx1ZXMgaW50byB0aGUgdGlja3MgYXJyYXkNCgkJCXRoaXMudGlja3MucHVzaCh0aGlzLm9wdGlvbnMudGlja3MubWluICE9PSB1bmRlZmluZWQgPyB0aGlzLm9wdGlvbnMudGlja3MubWluIDogbmljZU1pbik7DQoJCQlmb3IgKHZhciBqID0gMTsgaiA8IG51bVNwYWNlczsgKytqKSB7DQoJCQkJdGhpcy50aWNrcy5wdXNoKG5pY2VNaW4gKyAoaiAqIHNwYWNpbmcpKTsNCgkJCX0NCgkJCXRoaXMudGlja3MucHVzaCh0aGlzLm9wdGlvbnMudGlja3MubWF4ICE9PSB1bmRlZmluZWQgPyB0aGlzLm9wdGlvbnMudGlja3MubWF4IDogbmljZU1heCk7DQoNCgkJCS8vIEF0IHRoaXMgcG9pbnQsIHdlIG5lZWQgdG8gdXBkYXRlIG91ciBtYXggYW5kIG1pbiBnaXZlbiB0aGUgdGljayB2YWx1ZXMgc2luY2Ugd2UgaGF2ZSBleHBhbmRlZCB0aGUNCgkJCS8vIHJhbmdlIG9mIHRoZSBzY2FsZQ0KCQkJdGhpcy5tYXggPSBoZWxwZXJzLm1heCh0aGlzLnRpY2tzKTsNCgkJCXRoaXMubWluID0gaGVscGVycy5taW4odGhpcy50aWNrcyk7DQoNCgkJCWlmICh0aGlzLm9wdGlvbnMudGlja3MucmV2ZXJzZSkgew0KCQkJCXRoaXMudGlja3MucmV2ZXJzZSgpOw0KDQoJCQkJdGhpcy5zdGFydCA9IHRoaXMubWF4Ow0KCQkJCXRoaXMuZW5kID0gdGhpcy5taW47DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuc3RhcnQgPSB0aGlzLm1pbjsNCgkJCQl0aGlzLmVuZCA9IHRoaXMubWF4Ow0KCQkJfQ0KDQoJCQl0aGlzLnplcm9MaW5lSW5kZXggPSB0aGlzLnRpY2tzLmluZGV4T2YoMCk7DQoJCX0sDQoJCWNvbnZlcnRUaWNrc1RvTGFiZWxzOiBmdW5jdGlvbigpIHsNCgkJCUNoYXJ0LlNjYWxlLnByb3RvdHlwZS5jb252ZXJ0VGlja3NUb0xhYmVscy5jYWxsKHRoaXMpOw0KDQoJCQkvLyBQb2ludCBsYWJlbHMNCgkJCXRoaXMucG9pbnRMYWJlbHMgPSB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzLm1hcCh0aGlzLm9wdGlvbnMucG9pbnRMYWJlbHMuY2FsbGJhY2ssIHRoaXMpOw0KCQl9LA0KCQlnZXRMYWJlbEZvckluZGV4OiBmdW5jdGlvbihpbmRleCwgZGF0YXNldEluZGV4KSB7DQoJCQlyZXR1cm4gK3RoaXMuZ2V0UmlnaHRWYWx1ZSh0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5kYXRhW2luZGV4XSk7DQoJCX0sDQoJCWZpdDogZnVuY3Rpb24oKSB7DQoJCQkvKg0KCQkJICogUmlnaHQsIHRoaXMgaXMgcmVhbGx5IGNvbmZ1c2luZyBhbmQgdGhlcmUgaXMgYSBsb3Qgb2YgbWF0aHMgZ29pbmcgb24gaGVyZQ0KCQkJICogVGhlIGdpc3Qgb2YgdGhlIHByb2JsZW0gaXMgaGVyZTogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbm5uaWNrLzY5NmNjOWM1NWY0YjBiZWI4ZmU5DQoJCQkgKg0KCQkJICogUmVhY3Rpb246IGh0dHBzOi8vZGwuZHJvcGJveHVzZXJjb250ZW50LmNvbS91LzM0NjAxMzYzL3Rvb211Y2hzY2llbmNlLmdpZg0KCQkJICoNCgkJCSAqIFNvbHV0aW9uOg0KCQkJICoNCgkJCSAqIFdlIGFzc3VtZSB0aGUgcmFkaXVzIG9mIHRoZSBwb2x5Z29uIGlzIGhhbGYgdGhlIHNpemUgb2YgdGhlIGNhbnZhcyBhdCBmaXJzdA0KCQkJICogYXQgZWFjaCBpbmRleCB3ZSBjaGVjayBpZiB0aGUgdGV4dCBvdmVybGFwcy4NCgkJCSAqDQoJCQkgKiBXaGVyZSBpdCBkb2VzLCB3ZSBzdG9yZSB0aGF0IGFuZ2xlIGFuZCB0aGF0IGluZGV4Lg0KCQkJICoNCgkJCSAqIEFmdGVyIGZpbmRpbmcgdGhlIGxhcmdlc3QgaW5kZXggYW5kIGFuZ2xlIHdlIGNhbGN1bGF0ZSBob3cgbXVjaCB3ZSBuZWVkIHRvIHJlbW92ZQ0KCQkJICogZnJvbSB0aGUgc2hhcGUgcmFkaXVzIHRvIG1vdmUgdGhlIHBvaW50IGlud2FyZHMgYnkgdGhhdCB4Lg0KCQkJICoNCgkJCSAqIFdlIGF2ZXJhZ2UgdGhlIGxlZnQgYW5kIHJpZ2h0IGRpc3RhbmNlcyB0byBnZXQgdGhlIG1heGltdW0gc2hhcGUgcmFkaXVzIHRoYXQgY2FuIGZpdCBpbiB0aGUgYm94DQoJCQkgKiBhbG9uZyB3aXRoIGxhYmVscy4NCgkJCSAqDQoJCQkgKiBPbmNlIHdlIGhhdmUgdGhhdCwgd2UgY2FuIGZpbmQgdGhlIGNlbnRyZSBwb2ludCBmb3IgdGhlIGNoYXJ0LCBieSB0YWtpbmcgdGhlIHggdGV4dCBwcm90cnVzaW9uDQoJCQkgKiBvbiBlYWNoIHNpZGUsIHJlbW92aW5nIHRoYXQgZnJvbSB0aGUgc2l6ZSwgaGFsdmluZyBpdCBhbmQgYWRkaW5nIHRoZSBsZWZ0IHggcHJvdHJ1c2lvbiB3aWR0aC4NCgkJCSAqDQoJCQkgKiBUaGlzIHdpbGwgbWVhbiB3ZSBoYXZlIGEgc2hhcGUgZml0dGVkIHRvIHRoZSBjYW52YXMsIGFzIGxhcmdlIGFzIGl0IGNhbiBiZSB3aXRoIHRoZSBsYWJlbHMNCgkJCSAqIGFuZCBwb3NpdGlvbiBpdCBpbiB0aGUgbW9zdCBzcGFjZSBlZmZpY2llbnQgbWFubmVyDQoJCQkgKg0KCQkJICogaHR0cHM6Ly9kbC5kcm9wYm94dXNlcmNvbnRlbnQuY29tL3UvMzQ2MDEzNjMveWVhaHNjaWVuY2UuZ2lmDQoJCQkgKi8NCg0KCQkJdmFyIHBvaW50TGFiZWxzID0gdGhpcy5vcHRpb25zLnBvaW50TGFiZWxzOw0KCQkJdmFyIHBvaW50TGFiZWxGb250U2l6ZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQocG9pbnRMYWJlbHMuZm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSk7DQoJCQl2YXIgcG9pbnRMYWJlRm9udFN0eWxlID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdChwb2ludExhYmVscy5mb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpOw0KCQkJdmFyIHBvaW50TGFiZUZvbnRGYW1pbHkgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHBvaW50TGFiZWxzLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KTsNCgkJCXZhciBwb2ludExhYmVGb250ID0gaGVscGVycy5mb250U3RyaW5nKHBvaW50TGFiZWxGb250U2l6ZSwgcG9pbnRMYWJlRm9udFN0eWxlLCBwb2ludExhYmVGb250RmFtaWx5KTsNCg0KCQkJLy8gR2V0IG1heGltdW0gcmFkaXVzIG9mIHRoZSBwb2x5Z29uLiBFaXRoZXIgaGFsZiB0aGUgaGVpZ2h0IChtaW51cyB0aGUgdGV4dCB3aWR0aCkgb3IgaGFsZiB0aGUgd2lkdGguDQoJCQkvLyBVc2UgdGhpcyB0byBjYWxjdWxhdGUgdGhlIG9mZnNldCArIGNoYW5nZS4gLSBNYWtlIHN1cmUgTC9SIHByb3RydXNpb24gaXMgYXQgbGVhc3QgMCB0byBzdG9wIGlzc3VlcyB3aXRoIGNlbnRyZSBwb2ludHMNCgkJCXZhciBsYXJnZXN0UG9zc2libGVSYWRpdXMgPSBoZWxwZXJzLm1pbihbKHRoaXMuaGVpZ2h0IC8gMiAtIHBvaW50TGFiZWxGb250U2l6ZSAtIDUpLCB0aGlzLndpZHRoIC8gMl0pLA0KCQkJCXBvaW50UG9zaXRpb24sDQoJCQkJaSwNCgkJCQl0ZXh0V2lkdGgsDQoJCQkJaGFsZlRleHRXaWR0aCwNCgkJCQlmdXJ0aGVzdFJpZ2h0ID0gdGhpcy53aWR0aCwNCgkJCQlmdXJ0aGVzdFJpZ2h0SW5kZXgsDQoJCQkJZnVydGhlc3RSaWdodEFuZ2xlLA0KCQkJCWZ1cnRoZXN0TGVmdCA9IDAsDQoJCQkJZnVydGhlc3RMZWZ0SW5kZXgsDQoJCQkJZnVydGhlc3RMZWZ0QW5nbGUsDQoJCQkJeFByb3RydXNpb25MZWZ0LA0KCQkJCXhQcm90cnVzaW9uUmlnaHQsDQoJCQkJcmFkaXVzUmVkdWN0aW9uUmlnaHQsDQoJCQkJcmFkaXVzUmVkdWN0aW9uTGVmdCwNCgkJCQltYXhXaWR0aFJhZGl1czsNCgkJCXRoaXMuY3R4LmZvbnQgPSBwb2ludExhYmVGb250Ow0KDQoJCQlmb3IgKGkgPSAwOyBpIDwgdGhpcy5nZXRWYWx1ZUNvdW50KCk7IGkrKykgew0KCQkJCS8vIDVweCB0byBzcGFjZSB0aGUgdGV4dCBzbGlnaHRseSBvdXQgLSBzaW1pbGFyIHRvIHdoYXQgd2UgZG8gaW4gdGhlIGRyYXcgZnVuY3Rpb24uDQoJCQkJcG9pbnRQb3NpdGlvbiA9IHRoaXMuZ2V0UG9pbnRQb3NpdGlvbihpLCBsYXJnZXN0UG9zc2libGVSYWRpdXMpOw0KCQkJCXRleHRXaWR0aCA9IHRoaXMuY3R4Lm1lYXN1cmVUZXh0KHRoaXMucG9pbnRMYWJlbHNbaV0gPyB0aGlzLnBvaW50TGFiZWxzW2ldIDogJycpLndpZHRoICsgNTsNCgkJCQlpZiAoaSA9PT0gMCB8fCBpID09PSB0aGlzLmdldFZhbHVlQ291bnQoKSAvIDIpIHsNCgkJCQkJLy8gSWYgd2UncmUgYXQgaW5kZXggemVybywgb3IgZXhhY3RseSB0aGUgbWlkZGxlLCB3ZSdyZSBhdCBleGFjdGx5IHRoZSB0b3AvYm90dG9tDQoJCQkJCS8vIG9mIHRoZSByYWRhciBjaGFydCwgc28gdGV4dCB3aWxsIGJlIGFsaWduZWQgY2VudHJhbGx5LCBzbyB3ZSdsbCBoYWxmIGl0IGFuZCBjb21wYXJlDQoJCQkJCS8vIHcvbGVmdCBhbmQgcmlnaHQgdGV4dCBzaXplcw0KCQkJCQloYWxmVGV4dFdpZHRoID0gdGV4dFdpZHRoIC8gMjsNCgkJCQkJaWYgKHBvaW50UG9zaXRpb24ueCArIGhhbGZUZXh0V2lkdGggPiBmdXJ0aGVzdFJpZ2h0KSB7DQoJCQkJCQlmdXJ0aGVzdFJpZ2h0ID0gcG9pbnRQb3NpdGlvbi54ICsgaGFsZlRleHRXaWR0aDsNCgkJCQkJCWZ1cnRoZXN0UmlnaHRJbmRleCA9IGk7DQoJCQkJCX0NCgkJCQkJaWYgKHBvaW50UG9zaXRpb24ueCAtIGhhbGZUZXh0V2lkdGggPCBmdXJ0aGVzdExlZnQpIHsNCgkJCQkJCWZ1cnRoZXN0TGVmdCA9IHBvaW50UG9zaXRpb24ueCAtIGhhbGZUZXh0V2lkdGg7DQoJCQkJCQlmdXJ0aGVzdExlZnRJbmRleCA9IGk7DQoJCQkJCX0NCgkJCQl9IGVsc2UgaWYgKGkgPCB0aGlzLmdldFZhbHVlQ291bnQoKSAvIDIpIHsNCgkJCQkJLy8gTGVzcyB0aGFuIGhhbGYgdGhlIHZhbHVlcyBtZWFucyB3ZSdsbCBsZWZ0IGFsaWduIHRoZSB0ZXh0DQoJCQkJCWlmIChwb2ludFBvc2l0aW9uLnggKyB0ZXh0V2lkdGggPiBmdXJ0aGVzdFJpZ2h0KSB7DQoJCQkJCQlmdXJ0aGVzdFJpZ2h0ID0gcG9pbnRQb3NpdGlvbi54ICsgdGV4dFdpZHRoOw0KCQkJCQkJZnVydGhlc3RSaWdodEluZGV4ID0gaTsNCgkJCQkJfQ0KCQkJCX0gZWxzZSBpZiAoaSA+IHRoaXMuZ2V0VmFsdWVDb3VudCgpIC8gMikgew0KCQkJCQkvLyBNb3JlIHRoYW4gaGFsZiB0aGUgdmFsdWVzIG1lYW5zIHdlJ2xsIHJpZ2h0IGFsaWduIHRoZSB0ZXh0DQoJCQkJCWlmIChwb2ludFBvc2l0aW9uLnggLSB0ZXh0V2lkdGggPCBmdXJ0aGVzdExlZnQpIHsNCgkJCQkJCWZ1cnRoZXN0TGVmdCA9IHBvaW50UG9zaXRpb24ueCAtIHRleHRXaWR0aDsNCgkJCQkJCWZ1cnRoZXN0TGVmdEluZGV4ID0gaTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCg0KCQkJeFByb3RydXNpb25MZWZ0ID0gZnVydGhlc3RMZWZ0Ow0KCQkJeFByb3RydXNpb25SaWdodCA9IE1hdGguY2VpbChmdXJ0aGVzdFJpZ2h0IC0gdGhpcy53aWR0aCk7DQoNCgkJCWZ1cnRoZXN0UmlnaHRBbmdsZSA9IHRoaXMuZ2V0SW5kZXhBbmdsZShmdXJ0aGVzdFJpZ2h0SW5kZXgpOw0KCQkJZnVydGhlc3RMZWZ0QW5nbGUgPSB0aGlzLmdldEluZGV4QW5nbGUoZnVydGhlc3RMZWZ0SW5kZXgpOw0KDQoJCQlyYWRpdXNSZWR1Y3Rpb25SaWdodCA9IHhQcm90cnVzaW9uUmlnaHQgLyBNYXRoLnNpbihmdXJ0aGVzdFJpZ2h0QW5nbGUgKyBNYXRoLlBJIC8gMik7DQoJCQlyYWRpdXNSZWR1Y3Rpb25MZWZ0ID0geFByb3RydXNpb25MZWZ0IC8gTWF0aC5zaW4oZnVydGhlc3RMZWZ0QW5nbGUgKyBNYXRoLlBJIC8gMik7DQoNCgkJCS8vIEVuc3VyZSB3ZSBhY3R1YWxseSBuZWVkIHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hhcnQNCgkJCXJhZGl1c1JlZHVjdGlvblJpZ2h0ID0gKGhlbHBlcnMuaXNOdW1iZXIocmFkaXVzUmVkdWN0aW9uUmlnaHQpKSA/IHJhZGl1c1JlZHVjdGlvblJpZ2h0IDogMDsNCgkJCXJhZGl1c1JlZHVjdGlvbkxlZnQgPSAoaGVscGVycy5pc051bWJlcihyYWRpdXNSZWR1Y3Rpb25MZWZ0KSkgPyByYWRpdXNSZWR1Y3Rpb25MZWZ0IDogMDsNCg0KCQkJdGhpcy5kcmF3aW5nQXJlYSA9IE1hdGgucm91bmQobGFyZ2VzdFBvc3NpYmxlUmFkaXVzIC0gKHJhZGl1c1JlZHVjdGlvbkxlZnQgKyByYWRpdXNSZWR1Y3Rpb25SaWdodCkgLyAyKTsNCgkJCXRoaXMuc2V0Q2VudGVyUG9pbnQocmFkaXVzUmVkdWN0aW9uTGVmdCwgcmFkaXVzUmVkdWN0aW9uUmlnaHQpOw0KCQl9LA0KCQlzZXRDZW50ZXJQb2ludDogZnVuY3Rpb24obGVmdE1vdmVtZW50LCByaWdodE1vdmVtZW50KSB7DQoNCgkJCXZhciBtYXhSaWdodCA9IHRoaXMud2lkdGggLSByaWdodE1vdmVtZW50IC0gdGhpcy5kcmF3aW5nQXJlYSwNCgkJCQltYXhMZWZ0ID0gbGVmdE1vdmVtZW50ICsgdGhpcy5kcmF3aW5nQXJlYTsNCg0KCQkJdGhpcy54Q2VudGVyID0gTWF0aC5yb3VuZCgoKG1heExlZnQgKyBtYXhSaWdodCkgLyAyKSArIHRoaXMubGVmdCk7DQoJCQkvLyBBbHdheXMgdmVydGljYWxseSBpbiB0aGUgY2VudHJlIGFzIHRoZSB0ZXh0IGhlaWdodCBkb2Vzbid0IGNoYW5nZQ0KCQkJdGhpcy55Q2VudGVyID0gTWF0aC5yb3VuZCgodGhpcy5oZWlnaHQgLyAyKSArIHRoaXMudG9wKTsNCgkJfSwNCg0KCQlnZXRJbmRleEFuZ2xlOiBmdW5jdGlvbihpbmRleCkgew0KCQkJdmFyIGFuZ2xlTXVsdGlwbGllciA9IChNYXRoLlBJICogMikgLyB0aGlzLmdldFZhbHVlQ291bnQoKTsNCgkJCS8vIFN0YXJ0IGZyb20gdGhlIHRvcCBpbnN0ZWFkIG9mIHJpZ2h0LCBzbyByZW1vdmUgYSBxdWFydGVyIG9mIHRoZSBjaXJjbGUNCg0KCQkJcmV0dXJuIGluZGV4ICogYW5nbGVNdWx0aXBsaWVyIC0gKE1hdGguUEkgLyAyKTsNCgkJfSwNCgkJZ2V0RGlzdGFuY2VGcm9tQ2VudGVyRm9yVmFsdWU6IGZ1bmN0aW9uKHZhbHVlKSB7DQoJCQlpZiAodmFsdWUgPT09IG51bGwpIHsNCgkJCQlyZXR1cm4gMDsgLy8gbnVsbCBhbHdheXMgaW4gY2VudGVyDQoJCQl9DQoNCgkJCS8vIFRha2UgaW50byBhY2NvdW50IGhhbGYgZm9udCBzaXplICsgdGhlIHlQYWRkaW5nIG9mIHRoZSB0b3AgdmFsdWUNCgkJCXZhciBzY2FsaW5nRmFjdG9yID0gdGhpcy5kcmF3aW5nQXJlYSAvICh0aGlzLm1heCAtIHRoaXMubWluKTsNCgkJCWlmICh0aGlzLm9wdGlvbnMucmV2ZXJzZSkgew0KCQkJCXJldHVybiAodGhpcy5tYXggLSB2YWx1ZSkgKiBzY2FsaW5nRmFjdG9yOw0KCQkJfSBlbHNlIHsNCgkJCQlyZXR1cm4gKHZhbHVlIC0gdGhpcy5taW4pICogc2NhbGluZ0ZhY3RvcjsNCgkJCX0NCgkJfSwNCgkJZ2V0UG9pbnRQb3NpdGlvbjogZnVuY3Rpb24oaW5kZXgsIGRpc3RhbmNlRnJvbUNlbnRlcikgew0KCQkJdmFyIHRoaXNBbmdsZSA9IHRoaXMuZ2V0SW5kZXhBbmdsZShpbmRleCk7DQoJCQlyZXR1cm4gew0KCQkJCXg6IE1hdGgucm91bmQoTWF0aC5jb3ModGhpc0FuZ2xlKSAqIGRpc3RhbmNlRnJvbUNlbnRlcikgKyB0aGlzLnhDZW50ZXIsDQoJCQkJeTogTWF0aC5yb3VuZChNYXRoLnNpbih0aGlzQW5nbGUpICogZGlzdGFuY2VGcm9tQ2VudGVyKSArIHRoaXMueUNlbnRlcg0KCQkJfTsNCgkJfSwNCgkJZ2V0UG9pbnRQb3NpdGlvbkZvclZhbHVlOiBmdW5jdGlvbihpbmRleCwgdmFsdWUpIHsNCgkJCXJldHVybiB0aGlzLmdldFBvaW50UG9zaXRpb24oaW5kZXgsIHRoaXMuZ2V0RGlzdGFuY2VGcm9tQ2VudGVyRm9yVmFsdWUodmFsdWUpKTsNCgkJfSwNCg0KCQlnZXRCYXNlUG9zaXRpb246IGZ1bmN0aW9uKCkgew0KCQkJdmFyIG1lID0gdGhpczsNCgkJCXZhciBtaW4gPSBtZS5taW47DQoJCQl2YXIgbWF4ID0gbWUubWF4Ow0KDQoJCQlyZXR1cm4gbWUuZ2V0UG9pbnRQb3NpdGlvbkZvclZhbHVlKDAsDQoJCQkJbWUuYmVnaW5BdFplcm8/IDA6DQoJCQkJbWluIDwgMCAmJiBtYXggPCAwPyBtYXggOg0KCQkJCW1pbiA+IDAgJiYgbWF4ID4gMD8gbWluIDoNCgkJCQkwKTsNCgkJfSwNCg0KCQlkcmF3OiBmdW5jdGlvbigpIHsNCgkJCWlmICh0aGlzLm9wdGlvbnMuZGlzcGxheSkgew0KCQkJCXZhciBjdHggPSB0aGlzLmN0eDsNCgkJCQloZWxwZXJzLmVhY2godGhpcy50aWNrcywgZnVuY3Rpb24obGFiZWwsIGluZGV4KSB7DQoJCQkJCS8vIERvbid0IGRyYXcgYSBjZW50cmUgdmFsdWUgKGlmIGl0IGlzIG1pbmltdW0pDQoJCQkJCWlmIChpbmRleCA+IDAgfHwgdGhpcy5vcHRpb25zLnJldmVyc2UpIHsNCgkJCQkJCXZhciB5Q2VudGVyT2Zmc2V0ID0gdGhpcy5nZXREaXN0YW5jZUZyb21DZW50ZXJGb3JWYWx1ZSh0aGlzLnRpY2tzW2luZGV4XSk7DQoJCQkJCQl2YXIgeUhlaWdodCA9IHRoaXMueUNlbnRlciAtIHlDZW50ZXJPZmZzZXQ7DQoNCgkJCQkJCS8vIERyYXcgY2lyY3VsYXIgbGluZXMgYXJvdW5kIHRoZSBzY2FsZQ0KCQkJCQkJaWYgKHRoaXMub3B0aW9ucy5ncmlkTGluZXMuZGlzcGxheSkgew0KCQkJCQkJCWN0eC5zdHJva2VTdHlsZSA9IHRoaXMub3B0aW9ucy5ncmlkTGluZXMuY29sb3I7DQoJCQkJCQkJY3R4LmxpbmVXaWR0aCA9IHRoaXMub3B0aW9ucy5ncmlkTGluZXMubGluZVdpZHRoOw0KDQoJCQkJCQkJaWYgKHRoaXMub3B0aW9ucy5saW5lQXJjKSB7DQoJCQkJCQkJCS8vIERyYXcgY2lyY3VsYXIgYXJjcyBiZXR3ZWVuIHRoZSBwb2ludHMNCgkJCQkJCQkJY3R4LmJlZ2luUGF0aCgpOw0KCQkJCQkJCQljdHguYXJjKHRoaXMueENlbnRlciwgdGhpcy55Q2VudGVyLCB5Q2VudGVyT2Zmc2V0LCAwLCBNYXRoLlBJICogMik7DQoJCQkJCQkJCWN0eC5jbG9zZVBhdGgoKTsNCgkJCQkJCQkJY3R4LnN0cm9rZSgpOw0KCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCS8vIERyYXcgc3RyYWlnaHQgbGluZXMgY29ubmVjdGluZyBlYWNoIGluZGV4DQoJCQkJCQkJCWN0eC5iZWdpblBhdGgoKTsNCgkJCQkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmdldFZhbHVlQ291bnQoKTsgaSsrKSB7DQoJCQkJCQkJCQl2YXIgcG9pbnRQb3NpdGlvbiA9IHRoaXMuZ2V0UG9pbnRQb3NpdGlvbihpLCB0aGlzLmdldERpc3RhbmNlRnJvbUNlbnRlckZvclZhbHVlKHRoaXMudGlja3NbaW5kZXhdKSk7DQoJCQkJCQkJCQlpZiAoaSA9PT0gMCkgew0KCQkJCQkJCQkJCWN0eC5tb3ZlVG8ocG9pbnRQb3NpdGlvbi54LCBwb2ludFBvc2l0aW9uLnkpOw0KCQkJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJCQljdHgubGluZVRvKHBvaW50UG9zaXRpb24ueCwgcG9pbnRQb3NpdGlvbi55KTsNCgkJCQkJCQkJCX0NCgkJCQkJCQkJfQ0KCQkJCQkJCQljdHguY2xvc2VQYXRoKCk7DQoJCQkJCQkJCWN0eC5zdHJva2UoKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoNCgkJCQkJCWlmICh0aGlzLm9wdGlvbnMudGlja3MuZGlzcGxheSkgew0KCQkJCQkJCXZhciB0aWNrRm9udENvbG9yID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0aGlzLm9wdGlvbnMudGlja3MuZm9udENvbG9yLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udENvbG9yKTsNCgkJCQkJCQl2YXIgdGlja0ZvbnRTaXplID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0aGlzLm9wdGlvbnMudGlja3MuZm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSk7DQoJCQkJCQkJdmFyIHRpY2tGb250U3R5bGUgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRoaXMub3B0aW9ucy50aWNrcy5mb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpOw0KCQkJCQkJCXZhciB0aWNrRm9udEZhbWlseSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGhpcy5vcHRpb25zLnRpY2tzLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KTsNCgkJCQkJCQl2YXIgdGlja0xhYmVsRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyh0aWNrRm9udFNpemUsIHRpY2tGb250U3R5bGUsIHRpY2tGb250RmFtaWx5KTsNCgkJCQkJCQljdHguZm9udCA9IHRpY2tMYWJlbEZvbnQ7DQoNCgkJCQkJCQlpZiAodGhpcy5vcHRpb25zLnRpY2tzLnNob3dMYWJlbEJhY2tkcm9wKSB7DQoJCQkJCQkJCXZhciBsYWJlbFdpZHRoID0gY3R4Lm1lYXN1cmVUZXh0KGxhYmVsKS53aWR0aDsNCgkJCQkJCQkJY3R4LmZpbGxTdHlsZSA9IHRoaXMub3B0aW9ucy50aWNrcy5iYWNrZHJvcENvbG9yOw0KCQkJCQkJCQljdHguZmlsbFJlY3QoDQoJCQkJCQkJCQl0aGlzLnhDZW50ZXIgLSBsYWJlbFdpZHRoIC8gMiAtIHRoaXMub3B0aW9ucy50aWNrcy5iYWNrZHJvcFBhZGRpbmdYLA0KCQkJCQkJCQkJeUhlaWdodCAtIHRpY2tGb250U2l6ZSAvIDIgLSB0aGlzLm9wdGlvbnMudGlja3MuYmFja2Ryb3BQYWRkaW5nWSwNCgkJCQkJCQkJCWxhYmVsV2lkdGggKyB0aGlzLm9wdGlvbnMudGlja3MuYmFja2Ryb3BQYWRkaW5nWCAqIDIsDQoJCQkJCQkJCQl0aWNrRm9udFNpemUgKyB0aGlzLm9wdGlvbnMudGlja3MuYmFja2Ryb3BQYWRkaW5nWSAqIDINCgkJCQkJCQkJKTsNCgkJCQkJCQl9DQoNCgkJCQkJCQljdHgudGV4dEFsaWduID0gJ2NlbnRlcic7DQoJCQkJCQkJY3R4LnRleHRCYXNlbGluZSA9ICJtaWRkbGUiOw0KCQkJCQkJCWN0eC5maWxsU3R5bGUgPSB0aWNrRm9udENvbG9yOw0KCQkJCQkJCWN0eC5maWxsVGV4dChsYWJlbCwgdGhpcy54Q2VudGVyLCB5SGVpZ2h0KTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0sIHRoaXMpOw0KDQoJCQkJaWYgKCF0aGlzLm9wdGlvbnMubGluZUFyYykgew0KCQkJCQljdHgubGluZVdpZHRoID0gdGhpcy5vcHRpb25zLmFuZ2xlTGluZXMubGluZVdpZHRoOw0KCQkJCQljdHguc3Ryb2tlU3R5bGUgPSB0aGlzLm9wdGlvbnMuYW5nbGVMaW5lcy5jb2xvcjsNCg0KCQkJCQlmb3IgKHZhciBpID0gdGhpcy5nZXRWYWx1ZUNvdW50KCkgLSAxOyBpID49IDA7IGktLSkgew0KCQkJCQkJaWYgKHRoaXMub3B0aW9ucy5hbmdsZUxpbmVzLmRpc3BsYXkpIHsNCgkJCQkJCQl2YXIgb3V0ZXJQb3NpdGlvbiA9IHRoaXMuZ2V0UG9pbnRQb3NpdGlvbihpLCB0aGlzLmdldERpc3RhbmNlRnJvbUNlbnRlckZvclZhbHVlKHRoaXMub3B0aW9ucy5yZXZlcnNlID8gdGhpcy5taW4gOiB0aGlzLm1heCkpOw0KCQkJCQkJCWN0eC5iZWdpblBhdGgoKTsNCgkJCQkJCQljdHgubW92ZVRvKHRoaXMueENlbnRlciwgdGhpcy55Q2VudGVyKTsNCgkJCQkJCQljdHgubGluZVRvKG91dGVyUG9zaXRpb24ueCwgb3V0ZXJQb3NpdGlvbi55KTsNCgkJCQkJCQljdHguc3Ryb2tlKCk7DQoJCQkJCQkJY3R4LmNsb3NlUGF0aCgpOw0KCQkJCQkJfQ0KCQkJCQkJLy8gRXh0cmEgM3B4IG91dCBmb3Igc29tZSBsYWJlbCBzcGFjaW5nDQoJCQkJCQl2YXIgcG9pbnRMYWJlbFBvc2l0aW9uID0gdGhpcy5nZXRQb2ludFBvc2l0aW9uKGksIHRoaXMuZ2V0RGlzdGFuY2VGcm9tQ2VudGVyRm9yVmFsdWUodGhpcy5vcHRpb25zLnJldmVyc2UgPyB0aGlzLm1pbiA6IHRoaXMubWF4KSArIDUpOw0KDQoJCQkJCQl2YXIgcG9pbnRMYWJlbEZvbnRDb2xvciA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGhpcy5vcHRpb25zLnBvaW50TGFiZWxzLmZvbnRDb2xvciwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRDb2xvcik7DQoJCQkJCQl2YXIgcG9pbnRMYWJlbEZvbnRTaXplID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0aGlzLm9wdGlvbnMucG9pbnRMYWJlbHMuZm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSk7DQoJCQkJCQl2YXIgcG9pbnRMYWJlRm9udFN0eWxlID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0aGlzLm9wdGlvbnMucG9pbnRMYWJlbHMuZm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFN0eWxlKTsNCgkJCQkJCXZhciBwb2ludExhYmVGb250RmFtaWx5ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0aGlzLm9wdGlvbnMucG9pbnRMYWJlbHMuZm9udEZhbWlseSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRGYW1pbHkpOw0KCQkJCQkJdmFyIHBvaW50TGFiZUZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcocG9pbnRMYWJlbEZvbnRTaXplLCBwb2ludExhYmVGb250U3R5bGUsIHBvaW50TGFiZUZvbnRGYW1pbHkpOw0KDQoJCQkJCQljdHguZm9udCA9IHBvaW50TGFiZUZvbnQ7DQoJCQkJCQljdHguZmlsbFN0eWxlID0gcG9pbnRMYWJlbEZvbnRDb2xvcjsNCg0KCQkJCQkJdmFyIGxhYmVsc0NvdW50ID0gdGhpcy5wb2ludExhYmVscy5sZW5ndGgsDQoJCQkJCQkJaGFsZkxhYmVsc0NvdW50ID0gdGhpcy5wb2ludExhYmVscy5sZW5ndGggLyAyLA0KCQkJCQkJCXF1YXJ0ZXJMYWJlbHNDb3VudCA9IGhhbGZMYWJlbHNDb3VudCAvIDIsDQoJCQkJCQkJdXBwZXJIYWxmID0gKGkgPCBxdWFydGVyTGFiZWxzQ291bnQgfHwgaSA+IGxhYmVsc0NvdW50IC0gcXVhcnRlckxhYmVsc0NvdW50KSwNCgkJCQkJCQlleGFjdFF1YXJ0ZXIgPSAoaSA9PT0gcXVhcnRlckxhYmVsc0NvdW50IHx8IGkgPT09IGxhYmVsc0NvdW50IC0gcXVhcnRlckxhYmVsc0NvdW50KTsNCgkJCQkJCWlmIChpID09PSAwKSB7DQoJCQkJCQkJY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInOw0KCQkJCQkJfSBlbHNlIGlmIChpID09PSBoYWxmTGFiZWxzQ291bnQpIHsNCgkJCQkJCQljdHgudGV4dEFsaWduID0gJ2NlbnRlcic7DQoJCQkJCQl9IGVsc2UgaWYgKGkgPCBoYWxmTGFiZWxzQ291bnQpIHsNCgkJCQkJCQljdHgudGV4dEFsaWduID0gJ2xlZnQnOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQljdHgudGV4dEFsaWduID0gJ3JpZ2h0JzsNCgkJCQkJCX0NCg0KCQkJCQkJLy8gU2V0IHRoZSBjb3JyZWN0IHRleHQgYmFzZWxpbmUgYmFzZWQgb24gb3V0ZXIgcG9zaXRpb25pbmcNCgkJCQkJCWlmIChleGFjdFF1YXJ0ZXIpIHsNCgkJCQkJCQljdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7DQoJCQkJCQl9IGVsc2UgaWYgKHVwcGVySGFsZikgew0KCQkJCQkJCWN0eC50ZXh0QmFzZWxpbmUgPSAnYm90dG9tJzsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnOw0KCQkJCQkJfQ0KDQoJCQkJCQljdHguZmlsbFRleHQodGhpcy5wb2ludExhYmVsc1tpXSA/IHRoaXMucG9pbnRMYWJlbHNbaV0gOiAnJywgcG9pbnRMYWJlbFBvc2l0aW9uLngsIHBvaW50TGFiZWxQb3NpdGlvbi55KTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0pOw0KCUNoYXJ0LnNjYWxlU2VydmljZS5yZWdpc3RlclNjYWxlVHlwZSgicmFkaWFsTGluZWFyIiwgTGluZWFyUmFkaWFsU2NhbGUsIGRlZmF1bHRDb25maWcpOw0KDQp9Owp9LHt9XSw0MjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Ci8qZ2xvYmFsIHdpbmRvdzogZmFsc2UgKi8NCiJ1c2Ugc3RyaWN0IjsNCg0KdmFyIG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpOw0KbW9tZW50ID0gdHlwZW9mKG1vbWVudCkgPT09ICdmdW5jdGlvbicgPyBtb21lbnQgOiB3aW5kb3cubW9tZW50Ow0KDQptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7DQoNCgl2YXIgaGVscGVycyA9IENoYXJ0LmhlbHBlcnM7DQoJdmFyIHRpbWUgPSB7DQoJCXVuaXRzOiBbew0KCQkJbmFtZTogJ21pbGxpc2Vjb25kJywNCgkJCXN0ZXBzOiBbMSwgMiwgNSwgMTAsIDIwLCA1MCwgMTAwLCAyNTAsIDUwMF0NCgkJfSwgew0KCQkJbmFtZTogJ3NlY29uZCcsDQoJCQlzdGVwczogWzEsIDIsIDUsIDEwLCAzMF0NCgkJfSwgew0KCQkJbmFtZTogJ21pbnV0ZScsDQoJCQlzdGVwczogWzEsIDIsIDUsIDEwLCAzMF0NCgkJfSwgew0KCQkJbmFtZTogJ2hvdXInLA0KCQkJc3RlcHM6IFsxLCAyLCAzLCA2LCAxMl0NCgkJfSwgew0KCQkJbmFtZTogJ2RheScsDQoJCQlzdGVwczogWzEsIDIsIDVdDQoJCX0sIHsNCgkJCW5hbWU6ICd3ZWVrJywNCgkJCW1heFN0ZXA6IDQNCgkJfSwgew0KCQkJbmFtZTogJ21vbnRoJywNCgkJCW1heFN0ZXA6IDMNCgkJfSwgew0KCQkJbmFtZTogJ3F1YXJ0ZXInLA0KCQkJbWF4U3RlcDogNA0KCQl9LCB7DQoJCQluYW1lOiAneWVhcicsDQoJCQltYXhTdGVwOiBmYWxzZQ0KCQl9XQ0KCX07DQoNCgl2YXIgZGVmYXVsdENvbmZpZyA9IHsNCgkJcG9zaXRpb246ICJib3R0b20iLA0KDQoJCXRpbWU6IHsNCgkJCXBhcnNlcjogZmFsc2UsIC8vIGZhbHNlID09IGEgcGF0dGVybiBzdHJpbmcgZnJvbSBodHRwOi8vbW9tZW50anMuY29tL2RvY3MvIy9wYXJzaW5nL3N0cmluZy1mb3JtYXQvIG9yIGEgY3VzdG9tIGNhbGxiYWNrIHRoYXQgY29udmVydHMgaXRzIGFyZ3VtZW50IHRvIGEgbW9tZW50DQoJCQlmb3JtYXQ6IGZhbHNlLCAvLyBERVBSRUNBVEVEIGZhbHNlID09IGRhdGUgb2JqZWN0cywgbW9tZW50IG9iamVjdCwgY2FsbGJhY2sgb3IgYSBwYXR0ZXJuIHN0cmluZyBmcm9tIGh0dHA6Ly9tb21lbnRqcy5jb20vZG9jcy8jL3BhcnNpbmcvc3RyaW5nLWZvcm1hdC8NCgkJCXVuaXQ6IGZhbHNlLCAvLyBmYWxzZSA9PSBhdXRvbWF0aWMgb3Igb3ZlcnJpZGUgd2l0aCB3ZWVrLCBtb250aCwgeWVhciwgZXRjLg0KCQkJcm91bmQ6IGZhbHNlLCAvLyBub25lLCBvciBvdmVycmlkZSB3aXRoIHdlZWssIG1vbnRoLCB5ZWFyLCBldGMuDQoJCQlkaXNwbGF5Rm9ybWF0OiBmYWxzZSwgLy8gREVQUkVDQVRFRA0KCQkJaXNvV2Vla2RheTogZmFsc2UsIC8vIG92ZXJyaWRlIHdlZWsgc3RhcnQgZGF5IC0gc2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZG9jcy8jL2dldC1zZXQvaXNvLXdlZWtkYXkvDQoNCgkJCS8vIGRlZmF1bHRzIHRvIHVuaXQncyBjb3JyZXNwb25kaW5nIHVuaXRGb3JtYXQgYmVsb3cgb3Igb3ZlcnJpZGUgdXNpbmcgcGF0dGVybiBzdHJpbmcgZnJvbSBodHRwOi8vbW9tZW50anMuY29tL2RvY3MvIy9kaXNwbGF5aW5nL2Zvcm1hdC8NCgkJCWRpc3BsYXlGb3JtYXRzOiB7DQoJCQkJJ21pbGxpc2Vjb25kJzogJ2g6bW06c3MuU1NTIGEnLCAvLyAxMToyMDowMS4xMjMgQU0sDQoJCQkJJ3NlY29uZCc6ICdoOm1tOnNzIGEnLCAvLyAxMToyMDowMSBBTQ0KCQkJCSdtaW51dGUnOiAnaDptbTpzcyBhJywgLy8gMTE6MjA6MDEgQU0NCgkJCQknaG91cic6ICdNTU0gRCwgaEEnLCAvLyBTZXB0IDQsIDVQTQ0KCQkJCSdkYXknOiAnbGwnLCAvLyBTZXAgNCAyMDE1DQoJCQkJJ3dlZWsnOiAnbGwnLCAvLyBXZWVrIDQ2LCBvciBtYXliZSAiW1ddV1cgLSBZWVlZIiA/DQoJCQkJJ21vbnRoJzogJ01NTSBZWVlZJywgLy8gU2VwdCAyMDE1DQoJCQkJJ3F1YXJ0ZXInOiAnW1FdUSAtIFlZWVknLCAvLyBRMw0KCQkJCSd5ZWFyJzogJ1lZWVknIC8vIDIwMTUNCgkJCX0NCgkJfSwNCgkJdGlja3M6IHsNCgkJCWF1dG9Ta2lwOiBmYWxzZQ0KCQl9DQoJfTsNCg0KCXZhciBUaW1lU2NhbGUgPSBDaGFydC5TY2FsZS5leHRlbmQoew0KCQlpbml0aWFsaXplOiBmdW5jdGlvbigpIHsNCgkJCWlmICghbW9tZW50KSB7DQoJCQkJdGhyb3cgbmV3IEVycm9yKCdDaGFydC5qcyAtIE1vbWVudC5qcyBjb3VsZCBub3QgYmUgZm91bmQhIFlvdSBtdXN0IGluY2x1ZGUgaXQgYmVmb3JlIENoYXJ0LmpzIHRvIHVzZSB0aGUgdGltZSBzY2FsZS4gRG93bmxvYWQgYXQgaHR0cHM6Ly9tb21lbnRqcy5jb20nKTsNCgkJCX0NCg0KCQkJQ2hhcnQuU2NhbGUucHJvdG90eXBlLmluaXRpYWxpemUuY2FsbCh0aGlzKTsNCgkJfSwNCgkJZ2V0TGFiZWxNb21lbnQ6IGZ1bmN0aW9uKGRhdGFzZXRJbmRleCwgaW5kZXgpIHsNCgkJCXJldHVybiB0aGlzLmxhYmVsTW9tZW50c1tkYXRhc2V0SW5kZXhdW2luZGV4XTsNCgkJfSwNCgkJZ2V0TW9tZW50U3RhcnRPZjogZnVuY3Rpb24odGljaykgew0KCQkJaWYgKHRoaXMub3B0aW9ucy50aW1lLnVuaXQgPT09ICd3ZWVrJyAmJiB0aGlzLm9wdGlvbnMudGltZS5pc29XZWVrZGF5ICE9PSBmYWxzZSkgew0KCQkJCXJldHVybiB0aWNrLmNsb25lKCkuc3RhcnRPZignaXNvV2VlaycpLmlzb1dlZWtkYXkodGhpcy5vcHRpb25zLnRpbWUuaXNvV2Vla2RheSk7DQoJCQl9IGVsc2Ugew0KCQkJCXJldHVybiB0aWNrLmNsb25lKCkuc3RhcnRPZih0aGlzLnRpY2tVbml0KTsNCgkJCX0NCgkJfSwNCgkJZGV0ZXJtaW5lRGF0YUxpbWl0czogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLmxhYmVsTW9tZW50cyA9IFtdOw0KDQoJCQkvLyBPbmx5IHBhcnNlIHRoZXNlIG9uY2UuIElmIHRoZSBkYXRhc2V0IGRvZXMgbm90IGhhdmUgZGF0YSBhcyB4LHkgcGFpcnMsIHdlIHdpbGwgdXNlDQoJCQkvLyB0aGVzZQ0KCQkJdmFyIHNjYWxlTGFiZWxNb21lbnRzID0gW107DQoJCQlpZiAodGhpcy5jaGFydC5kYXRhLmxhYmVscyAmJiB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzLmxlbmd0aCA+IDApIHsNCgkJCQloZWxwZXJzLmVhY2godGhpcy5jaGFydC5kYXRhLmxhYmVscywgZnVuY3Rpb24obGFiZWwsIGluZGV4KSB7DQoJCQkJCXZhciBsYWJlbE1vbWVudCA9IHRoaXMucGFyc2VUaW1lKGxhYmVsKTsNCg0KCQkJCQlpZiAobGFiZWxNb21lbnQuaXNWYWxpZCgpKSB7DQoJCQkJCQlpZiAodGhpcy5vcHRpb25zLnRpbWUucm91bmQpIHsNCgkJCQkJCQlsYWJlbE1vbWVudC5zdGFydE9mKHRoaXMub3B0aW9ucy50aW1lLnJvdW5kKTsNCgkJCQkJCX0NCgkJCQkJCXNjYWxlTGFiZWxNb21lbnRzLnB1c2gobGFiZWxNb21lbnQpOw0KCQkJCQl9DQoJCQkJfSwgdGhpcyk7DQoNCgkJCQl0aGlzLmZpcnN0VGljayA9IG1vbWVudC5taW4uY2FsbCh0aGlzLCBzY2FsZUxhYmVsTW9tZW50cyk7DQoJCQkJdGhpcy5sYXN0VGljayA9IG1vbWVudC5tYXguY2FsbCh0aGlzLCBzY2FsZUxhYmVsTW9tZW50cyk7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuZmlyc3RUaWNrID0gbnVsbDsNCgkJCQl0aGlzLmxhc3RUaWNrID0gbnVsbDsNCgkJCX0NCg0KCQkJaGVscGVycy5lYWNoKHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7DQoJCQkJdmFyIG1vbWVudHNGb3JEYXRhc2V0ID0gW107DQoJCQkJdmFyIGRhdGFzZXRWaXNpYmxlID0gdGhpcy5jaGFydC5pc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleCk7DQoNCgkJCQlpZiAodHlwZW9mIGRhdGFzZXQuZGF0YVswXSA9PT0gJ29iamVjdCcgJiYgZGF0YXNldC5kYXRhWzBdICE9PSBudWxsKSB7DQoJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCkgew0KCQkJCQkJdmFyIGxhYmVsTW9tZW50ID0gdGhpcy5wYXJzZVRpbWUodGhpcy5nZXRSaWdodFZhbHVlKHZhbHVlKSk7DQoNCgkJCQkJCWlmIChsYWJlbE1vbWVudC5pc1ZhbGlkKCkpIHsNCgkJCQkJCQlpZiAodGhpcy5vcHRpb25zLnRpbWUucm91bmQpIHsNCgkJCQkJCQkJbGFiZWxNb21lbnQuc3RhcnRPZih0aGlzLm9wdGlvbnMudGltZS5yb3VuZCk7DQoJCQkJCQkJfQ0KCQkJCQkJCW1vbWVudHNGb3JEYXRhc2V0LnB1c2gobGFiZWxNb21lbnQpOw0KDQoJCQkJCQkJaWYgKGRhdGFzZXRWaXNpYmxlKSB7DQoJCQkJCQkJCS8vIE1heSBoYXZlIGdvbmUgb3V0c2lkZSB0aGUgc2NhbGUgcmFuZ2VzLCBtYWtlIHN1cmUgd2Uga2VlcCB0aGUgZmlyc3QgYW5kIGxhc3QgdGlja3MgdXBkYXRlZA0KCQkJCQkJCQl0aGlzLmZpcnN0VGljayA9IHRoaXMuZmlyc3RUaWNrICE9PSBudWxsID8gbW9tZW50Lm1pbih0aGlzLmZpcnN0VGljaywgbGFiZWxNb21lbnQpIDogbGFiZWxNb21lbnQ7DQoJCQkJCQkJCXRoaXMubGFzdFRpY2sgPSB0aGlzLmxhc3RUaWNrICE9PSBudWxsID8gbW9tZW50Lm1heCh0aGlzLmxhc3RUaWNrLCBsYWJlbE1vbWVudCkgOiBsYWJlbE1vbWVudDsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0sIHRoaXMpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCS8vIFdlIGhhdmUgbm8gbGFiZWxzLiBVc2UgdGhlIG9uZXMgZnJvbSB0aGUgc2NhbGUNCgkJCQkJbW9tZW50c0ZvckRhdGFzZXQgPSBzY2FsZUxhYmVsTW9tZW50czsNCgkJCQl9DQoNCgkJCQl0aGlzLmxhYmVsTW9tZW50cy5wdXNoKG1vbWVudHNGb3JEYXRhc2V0KTsNCgkJCX0sIHRoaXMpOw0KDQoJCQkvLyBTZXQgdGhlc2UgYWZ0ZXIgd2UndmUgZG9uZSBhbGwgdGhlIGRhdGENCgkJCWlmICh0aGlzLm9wdGlvbnMudGltZS5taW4pIHsNCgkJCQl0aGlzLmZpcnN0VGljayA9IHRoaXMucGFyc2VUaW1lKHRoaXMub3B0aW9ucy50aW1lLm1pbik7DQoJCQl9DQoNCgkJCWlmICh0aGlzLm9wdGlvbnMudGltZS5tYXgpIHsNCgkJCQl0aGlzLmxhc3RUaWNrID0gdGhpcy5wYXJzZVRpbWUodGhpcy5vcHRpb25zLnRpbWUubWF4KTsNCgkJCX0NCg0KCQkJLy8gV2Ugd2lsbCBtb2RpZnkgdGhlc2UsIHNvIGNsb25lIGZvciBsYXRlcg0KCQkJdGhpcy5maXJzdFRpY2sgPSAodGhpcy5maXJzdFRpY2sgfHwgbW9tZW50KCkpLmNsb25lKCk7DQoJCQl0aGlzLmxhc3RUaWNrID0gKHRoaXMubGFzdFRpY2sgfHwgbW9tZW50KCkpLmNsb25lKCk7DQoJCX0sDQoJCWJ1aWxkVGlja3M6IGZ1bmN0aW9uKGluZGV4KSB7DQoNCgkJCXRoaXMuY3R4LnNhdmUoKTsNCgkJCXZhciB0aWNrRm9udFNpemUgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRoaXMub3B0aW9ucy50aWNrcy5mb250U2l6ZSwgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSk7DQoJCQl2YXIgdGlja0ZvbnRTdHlsZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGhpcy5vcHRpb25zLnRpY2tzLmZvbnRTdHlsZSwgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U3R5bGUpOw0KCQkJdmFyIHRpY2tGb250RmFtaWx5ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0aGlzLm9wdGlvbnMudGlja3MuZm9udEZhbWlseSwgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250RmFtaWx5KTsNCgkJCXZhciB0aWNrTGFiZWxGb250ID0gaGVscGVycy5mb250U3RyaW5nKHRpY2tGb250U2l6ZSwgdGlja0ZvbnRTdHlsZSwgdGlja0ZvbnRGYW1pbHkpOw0KCQkJdGhpcy5jdHguZm9udCA9IHRpY2tMYWJlbEZvbnQ7DQoNCgkJCXRoaXMudGlja3MgPSBbXTsNCgkJCXRoaXMudW5pdFNjYWxlID0gMTsgLy8gSG93IG11Y2ggd2Ugc2NhbGUgdGhlIHVuaXQgYnksIGllIDIgbWVhbnMgMnggdW5pdCBwZXIgc3RlcA0KCQkJdGhpcy5zY2FsZVNpemVJblVuaXRzID0gMDsgLy8gSG93IGxhcmdlIHRoZSBzY2FsZSBpcyBpbiB0aGUgYmFzZSB1bml0IChzZWNvbmRzLCBtaW51dGVzLCBldGMpDQoNCgkJCS8vIFNldCB1bml0IG92ZXJyaWRlIGlmIGFwcGxpY2FibGUNCgkJCWlmICh0aGlzLm9wdGlvbnMudGltZS51bml0KSB7DQoJCQkJdGhpcy50aWNrVW5pdCA9IHRoaXMub3B0aW9ucy50aW1lLnVuaXQgfHwgJ2RheSc7DQoJCQkJdGhpcy5kaXNwbGF5Rm9ybWF0ID0gdGhpcy5vcHRpb25zLnRpbWUuZGlzcGxheUZvcm1hdHNbdGhpcy50aWNrVW5pdF07DQoJCQkJdGhpcy5zY2FsZVNpemVJblVuaXRzID0gdGhpcy5sYXN0VGljay5kaWZmKHRoaXMuZmlyc3RUaWNrLCB0aGlzLnRpY2tVbml0LCB0cnVlKTsNCgkJCQl0aGlzLnVuaXRTY2FsZSA9IGhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQodGhpcy5vcHRpb25zLnRpbWUudW5pdFN0ZXBTaXplLCAxKTsNCgkJCX0gZWxzZSB7DQoJCQkJLy8gRGV0ZXJtaW5lIHRoZSBzbWFsbGVzdCBuZWVkZWQgdW5pdCBvZiB0aGUgdGltZQ0KCQkJCXZhciBpbm5lcldpZHRoID0gdGhpcy5pc0hvcml6b250YWwoKSA/IHRoaXMud2lkdGggLSAodGhpcy5wYWRkaW5nTGVmdCArIHRoaXMucGFkZGluZ1JpZ2h0KSA6IHRoaXMuaGVpZ2h0IC0gKHRoaXMucGFkZGluZ1RvcCArIHRoaXMucGFkZGluZ0JvdHRvbSk7DQoNCgkJCQkvLyBDcnVkZSBhcHByb3hpbWF0aW9uIG9mIHdoYXQgdGhlIGxhYmVsIGxlbmd0aCBtaWdodCBiZQ0KCQkJCXZhciB0ZW1wRmlyc3RMYWJlbCA9IHRoaXMudGlja0Zvcm1hdEZ1bmN0aW9uKHRoaXMuZmlyc3RUaWNrLCAwLCBbXSk7DQoJCQkJdmFyIHRpY2tMYWJlbFdpZHRoID0gdGhpcy5jdHgubWVhc3VyZVRleHQodGVtcEZpcnN0TGFiZWwpLndpZHRoOw0KCQkJCXZhciBjb3NSb3RhdGlvbiA9IE1hdGguY29zKGhlbHBlcnMudG9SYWRpYW5zKHRoaXMub3B0aW9ucy50aWNrcy5tYXhSb3RhdGlvbikpOw0KCQkJCXZhciBzaW5Sb3RhdGlvbiA9IE1hdGguc2luKGhlbHBlcnMudG9SYWRpYW5zKHRoaXMub3B0aW9ucy50aWNrcy5tYXhSb3RhdGlvbikpOw0KCQkJCXRpY2tMYWJlbFdpZHRoID0gKHRpY2tMYWJlbFdpZHRoICogY29zUm90YXRpb24pICsgKHRpY2tGb250U2l6ZSAqIHNpblJvdGF0aW9uKTsNCgkJCQl2YXIgbGFiZWxDYXBhY2l0eSA9IGlubmVyV2lkdGggLyAodGlja0xhYmVsV2lkdGgpOw0KDQoJCQkJLy8gU3RhcnQgYXMgc21hbGwgYXMgcG9zc2libGUNCgkJCQl0aGlzLnRpY2tVbml0ID0gJ21pbGxpc2Vjb25kJzsNCgkJCQl0aGlzLnNjYWxlU2l6ZUluVW5pdHMgPSB0aGlzLmxhc3RUaWNrLmRpZmYodGhpcy5maXJzdFRpY2ssIHRoaXMudGlja1VuaXQsIHRydWUpOw0KCQkJCXRoaXMuZGlzcGxheUZvcm1hdCA9IHRoaXMub3B0aW9ucy50aW1lLmRpc3BsYXlGb3JtYXRzW3RoaXMudGlja1VuaXRdOw0KDQoJCQkJdmFyIHVuaXREZWZpbml0aW9uSW5kZXggPSAwOw0KCQkJCXZhciB1bml0RGVmaW5pdGlvbiA9IHRpbWUudW5pdHNbdW5pdERlZmluaXRpb25JbmRleF07DQoNCgkJCQkvLyBXaGlsZSB3ZSBhcmVuJ3QgaWRlYWwgYW5kIHdlIGRvbid0IGhhdmUgdW5pdHMgbGVmdA0KCQkJCXdoaWxlICh1bml0RGVmaW5pdGlvbkluZGV4IDwgdGltZS51bml0cy5sZW5ndGgpIHsNCgkJCQkJLy8gQ2FuIHdlIHNjYWxlIHRoaXMgdW5pdC4gSWYgYGZhbHNlYCB3ZSBjYW4gc2NhbGUgaW5maW5pdGVseQ0KCQkJCQl0aGlzLnVuaXRTY2FsZSA9IDE7DQoNCgkJCQkJaWYgKGhlbHBlcnMuaXNBcnJheSh1bml0RGVmaW5pdGlvbi5zdGVwcykgJiYgTWF0aC5jZWlsKHRoaXMuc2NhbGVTaXplSW5Vbml0cyAvIGxhYmVsQ2FwYWNpdHkpIDwgaGVscGVycy5tYXgodW5pdERlZmluaXRpb24uc3RlcHMpKSB7DQoJCQkJCQkvLyBVc2Ugb25lIG9mIHRoZSBwcmVmZWRpbmVkIHN0ZXBzDQoJCQkJCQlmb3IgKHZhciBpZHggPSAwOyBpZHggPCB1bml0RGVmaW5pdGlvbi5zdGVwcy5sZW5ndGg7ICsraWR4KSB7DQoJCQkJCQkJaWYgKHVuaXREZWZpbml0aW9uLnN0ZXBzW2lkeF0gPj0gTWF0aC5jZWlsKHRoaXMuc2NhbGVTaXplSW5Vbml0cyAvIGxhYmVsQ2FwYWNpdHkpKSB7DQoJCQkJCQkJCXRoaXMudW5pdFNjYWxlID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCh0aGlzLm9wdGlvbnMudGltZS51bml0U3RlcFNpemUsIHVuaXREZWZpbml0aW9uLnN0ZXBzW2lkeF0pOw0KCQkJCQkJCQlicmVhazsNCgkJCQkJCQl9DQoJCQkJCQl9DQoNCgkJCQkJCWJyZWFrOw0KCQkJCQl9IGVsc2UgaWYgKCh1bml0RGVmaW5pdGlvbi5tYXhTdGVwID09PSBmYWxzZSkgfHwgKE1hdGguY2VpbCh0aGlzLnNjYWxlU2l6ZUluVW5pdHMgLyBsYWJlbENhcGFjaXR5KSA8IHVuaXREZWZpbml0aW9uLm1heFN0ZXApKSB7DQoJCQkJCQkvLyBXZSBoYXZlIGEgbWF4IHN0ZXAuIFNjYWxlIHRoaXMgdW5pdA0KCQkJCQkJdGhpcy51bml0U2NhbGUgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRoaXMub3B0aW9ucy50aW1lLnVuaXRTdGVwU2l6ZSwgTWF0aC5jZWlsKHRoaXMuc2NhbGVTaXplSW5Vbml0cyAvIGxhYmVsQ2FwYWNpdHkpKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJLy8gTW92ZSB0byB0aGUgbmV4dCB1bml0IHVwDQoJCQkJCQkrK3VuaXREZWZpbml0aW9uSW5kZXg7DQoJCQkJCQl1bml0RGVmaW5pdGlvbiA9IHRpbWUudW5pdHNbdW5pdERlZmluaXRpb25JbmRleF07DQoNCgkJCQkJCXRoaXMudGlja1VuaXQgPSB1bml0RGVmaW5pdGlvbi5uYW1lOw0KCQkJCQkJdmFyIGxlYWRpbmdVbml0QnVmZmVyID0gdGhpcy5maXJzdFRpY2suZGlmZih0aGlzLmdldE1vbWVudFN0YXJ0T2YodGhpcy5maXJzdFRpY2spLCB0aGlzLnRpY2tVbml0LCB0cnVlKTsNCgkJCQkJCXZhciB0cmFpbGluZ1VuaXRCdWZmZXIgPSB0aGlzLmdldE1vbWVudFN0YXJ0T2YodGhpcy5sYXN0VGljay5jbG9uZSgpLmFkZCgxLCB0aGlzLnRpY2tVbml0KSkuZGlmZih0aGlzLmxhc3RUaWNrLCB0aGlzLnRpY2tVbml0LCB0cnVlKTsNCgkJCQkJCXRoaXMuc2NhbGVTaXplSW5Vbml0cyA9IHRoaXMubGFzdFRpY2suZGlmZih0aGlzLmZpcnN0VGljaywgdGhpcy50aWNrVW5pdCwgdHJ1ZSkgKyBsZWFkaW5nVW5pdEJ1ZmZlciArIHRyYWlsaW5nVW5pdEJ1ZmZlcjsNCgkJCQkJCXRoaXMuZGlzcGxheUZvcm1hdCA9IHRoaXMub3B0aW9ucy50aW1lLmRpc3BsYXlGb3JtYXRzW3VuaXREZWZpbml0aW9uLm5hbWVdOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQl2YXIgcm91bmRlZFN0YXJ0Ow0KDQoJCQkvLyBPbmx5IHJvdW5kIHRoZSBmaXJzdCB0aWNrIGlmIHdlIGhhdmUgbm8gaGFyZCBtaW5pbXVtDQoJCQlpZiAoIXRoaXMub3B0aW9ucy50aW1lLm1pbikgew0KCQkJCXRoaXMuZmlyc3RUaWNrID0gdGhpcy5nZXRNb21lbnRTdGFydE9mKHRoaXMuZmlyc3RUaWNrKTsNCgkJCQlyb3VuZGVkU3RhcnQgPSB0aGlzLmZpcnN0VGljazsNCgkJCX0gZWxzZSB7DQoJCQkJcm91bmRlZFN0YXJ0ID0gdGhpcy5nZXRNb21lbnRTdGFydE9mKHRoaXMuZmlyc3RUaWNrKTsNCgkJCX0NCg0KCQkJLy8gT25seSByb3VuZCB0aGUgbGFzdCB0aWNrIGlmIHdlIGhhdmUgbm8gaGFyZCBtYXhpbXVtDQoJCQlpZiAoIXRoaXMub3B0aW9ucy50aW1lLm1heCkgew0KCQkJCXZhciByb3VuZGVkRW5kID0gdGhpcy5nZXRNb21lbnRTdGFydE9mKHRoaXMubGFzdFRpY2spOw0KCQkJCWlmIChyb3VuZGVkRW5kLmRpZmYodGhpcy5sYXN0VGljaywgdGhpcy50aWNrVW5pdCwgdHJ1ZSkgIT09IDApIHsNCgkJCQkJLy8gRG8gbm90IHVzZSBlbmQgb2YgYmVjYXVzZSB3ZSBuZWVkIHRoaXMgdG8gYmUgaW4gdGhlIG5leHQgdGltZSB1bml0DQoJCQkJCXRoaXMubGFzdFRpY2sgPSB0aGlzLmdldE1vbWVudFN0YXJ0T2YodGhpcy5sYXN0VGljay5hZGQoMSwgdGhpcy50aWNrVW5pdCkpOw0KCQkJCX0NCgkJCX0NCg0KCQkJdGhpcy5zbWFsbGVzdExhYmVsU2VwYXJhdGlvbiA9IHRoaXMud2lkdGg7DQoNCgkJCWhlbHBlcnMuZWFjaCh0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHMsIGZ1bmN0aW9uKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgew0KCQkJCWZvciAodmFyIGkgPSAxOyBpIDwgdGhpcy5sYWJlbE1vbWVudHNbZGF0YXNldEluZGV4XS5sZW5ndGg7IGkrKykgew0KCQkJCQl0aGlzLnNtYWxsZXN0TGFiZWxTZXBhcmF0aW9uID0gTWF0aC5taW4odGhpcy5zbWFsbGVzdExhYmVsU2VwYXJhdGlvbiwgdGhpcy5sYWJlbE1vbWVudHNbZGF0YXNldEluZGV4XVtpXS5kaWZmKHRoaXMubGFiZWxNb21lbnRzW2RhdGFzZXRJbmRleF1baSAtIDFdLCB0aGlzLnRpY2tVbml0LCB0cnVlKSk7DQoJCQkJfQ0KCQkJfSwgdGhpcyk7DQoNCgkJCS8vIFRpY2sgZGlzcGxheUZvcm1hdCBvdmVycmlkZQ0KCQkJaWYgKHRoaXMub3B0aW9ucy50aW1lLmRpc3BsYXlGb3JtYXQpIHsNCgkJCQl0aGlzLmRpc3BsYXlGb3JtYXQgPSB0aGlzLm9wdGlvbnMudGltZS5kaXNwbGF5Rm9ybWF0Ow0KCQkJfQ0KDQoJCQkvLyBmaXJzdCB0aWNrLiB3aWxsIGhhdmUgYmVlbiByb3VuZGVkIGNvcnJlY3RseSBpZiBvcHRpb25zLnRpbWUubWluIGlzIG5vdCBzcGVjaWZpZWQNCgkJCXRoaXMudGlja3MucHVzaCh0aGlzLmZpcnN0VGljay5jbG9uZSgpKTsNCg0KCQkJLy8gRm9yIGV2ZXJ5IHVuaXQgaW4gYmV0d2VlbiB0aGUgZmlyc3QgYW5kIGxhc3QgbW9tZW50LCBjcmVhdGUgYSBtb21lbnQgYW5kIGFkZCBpdCB0byB0aGUgdGlja3MgdGljaw0KCQkJZm9yICh2YXIgaSA9IDE7IGkgPD0gdGhpcy5zY2FsZVNpemVJblVuaXRzOyArK2kpIHsNCgkJCQl2YXIgbmV3VGljayA9IHJvdW5kZWRTdGFydC5jbG9uZSgpLmFkZChpLCB0aGlzLnRpY2tVbml0KTsNCg0KCQkJCS8vIEFyZSB3ZSBncmVhdGVyIHRoYW4gdGhlIG1heCB0aW1lDQoJCQkJaWYgKHRoaXMub3B0aW9ucy50aW1lLm1heCAmJiBuZXdUaWNrLmRpZmYodGhpcy5sYXN0VGljaywgdGhpcy50aWNrVW5pdCwgdHJ1ZSkgPj0gMCkgew0KCQkJCQlicmVhazsNCgkJCQl9DQoNCgkJCQlpZiAoaSAlIHRoaXMudW5pdFNjYWxlID09PSAwKSB7DQoJCQkJCXRoaXMudGlja3MucHVzaChuZXdUaWNrKTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIEFsd2F5cyBzaG93IHRoZSByaWdodCB0aWNrDQoJCQl2YXIgZGlmZiA9IHRoaXMudGlja3NbdGhpcy50aWNrcy5sZW5ndGggLSAxXS5kaWZmKHRoaXMubGFzdFRpY2ssIHRoaXMudGlja1VuaXQpOw0KCQkJaWYgKGRpZmYgIT09IDAgfHwgdGhpcy5zY2FsZVNpemVJblVuaXRzID09PSAwKSB7DQoJCQkJLy8gdGhpcyBpcyBhIHdlaXJkIGNhc2UuIElmIHRoZSA8bWF4PiBvcHRpb24gaXMgdGhlIHNhbWUgYXMgdGhlIGVuZCBvcHRpb24sIHdlIGNhbid0IGp1c3QgZGlmZiB0aGUgdGltZXMgYmVjYXVzZSB0aGUgdGljayB3YXMgY3JlYXRlZCBmcm9tIHRoZSByb3VuZGVkU3RhcnQNCgkJCQkvLyBidXQgdGhlIGxhc3QgdGljayB3YXMgbm90IHJvdW5kZWQuDQoJCQkJaWYgKHRoaXMub3B0aW9ucy50aW1lLm1heCkgew0KCQkJCQl0aGlzLnRpY2tzLnB1c2godGhpcy5sYXN0VGljay5jbG9uZSgpKTsNCgkJCQkJdGhpcy5zY2FsZVNpemVJblVuaXRzID0gdGhpcy5sYXN0VGljay5kaWZmKHRoaXMudGlja3NbMF0sIHRoaXMudGlja1VuaXQsIHRydWUpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXRoaXMudGlja3MucHVzaCh0aGlzLmxhc3RUaWNrLmNsb25lKCkpOw0KCQkJCQl0aGlzLnNjYWxlU2l6ZUluVW5pdHMgPSB0aGlzLmxhc3RUaWNrLmRpZmYodGhpcy5maXJzdFRpY2ssIHRoaXMudGlja1VuaXQsIHRydWUpOw0KCQkJCX0NCgkJCX0NCg0KCQkJdGhpcy5jdHgucmVzdG9yZSgpOw0KCQl9LA0KCQkvLyBHZXQgdG9vbHRpcCBsYWJlbA0KCQlnZXRMYWJlbEZvckluZGV4OiBmdW5jdGlvbihpbmRleCwgZGF0YXNldEluZGV4KSB7DQoJCQl2YXIgbGFiZWwgPSB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzICYmIGluZGV4IDwgdGhpcy5jaGFydC5kYXRhLmxhYmVscy5sZW5ndGggPyB0aGlzLmNoYXJ0LmRhdGEubGFiZWxzW2luZGV4XSA6ICcnOw0KDQoJCQlpZiAodHlwZW9mIHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdLmRhdGFbMF0gPT09ICdvYmplY3QnKSB7DQoJCQkJbGFiZWwgPSB0aGlzLmdldFJpZ2h0VmFsdWUodGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF0uZGF0YVtpbmRleF0pOw0KCQkJfQ0KDQoJCQkvLyBGb3JtYXQgbmljZWx5DQoJCQlpZiAodGhpcy5vcHRpb25zLnRpbWUudG9vbHRpcEZvcm1hdCkgew0KCQkJCWxhYmVsID0gdGhpcy5wYXJzZVRpbWUobGFiZWwpLmZvcm1hdCh0aGlzLm9wdGlvbnMudGltZS50b29sdGlwRm9ybWF0KTsNCgkJCX0NCg0KCQkJcmV0dXJuIGxhYmVsOw0KCQl9LA0KCQkvLyBGdW5jdGlvbiB0byBmb3JtYXQgYW4gaW5kaXZpZHVhbCB0aWNrIG1hcmsNCgkJdGlja0Zvcm1hdEZ1bmN0aW9uOiBmdW5jdGlvbiB0aWNrRm9ybWF0RnVuY3Rpb24odGljaywgaW5kZXgsIHRpY2tzKSB7DQoJCQl2YXIgZm9ybWF0dGVkVGljayA9IHRpY2suZm9ybWF0KHRoaXMuZGlzcGxheUZvcm1hdCk7DQoJCQl2YXIgdGlja09wdHMgPSB0aGlzLm9wdGlvbnMudGlja3M7DQoJCQl2YXIgY2FsbGJhY2sgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLmNhbGxiYWNrLCB0aWNrT3B0cy51c2VyQ2FsbGJhY2spOw0KDQoJCQlpZiAoY2FsbGJhY2spIHsNCgkJCQlyZXR1cm4gY2FsbGJhY2soZm9ybWF0dGVkVGljaywgaW5kZXgsIHRpY2tzKTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIGZvcm1hdHRlZFRpY2s7DQoJCQl9DQoJCX0sDQoJCWNvbnZlcnRUaWNrc1RvTGFiZWxzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMudGlja01vbWVudHMgPSB0aGlzLnRpY2tzOw0KCQkJdGhpcy50aWNrcyA9IHRoaXMudGlja3MubWFwKHRoaXMudGlja0Zvcm1hdEZ1bmN0aW9uLCB0aGlzKTsNCgkJfSwNCgkJZ2V0UGl4ZWxGb3JWYWx1ZTogZnVuY3Rpb24odmFsdWUsIGluZGV4LCBkYXRhc2V0SW5kZXgsIGluY2x1ZGVPZmZzZXQpIHsNCgkJCXZhciBsYWJlbE1vbWVudCA9IHZhbHVlICYmIHZhbHVlLmlzVmFsaWQgJiYgdmFsdWUuaXNWYWxpZCgpID8gdmFsdWUgOiB0aGlzLmdldExhYmVsTW9tZW50KGRhdGFzZXRJbmRleCwgaW5kZXgpOw0KDQoJCQlpZiAobGFiZWxNb21lbnQpIHsNCgkJCQl2YXIgb2Zmc2V0ID0gbGFiZWxNb21lbnQuZGlmZih0aGlzLmZpcnN0VGljaywgdGhpcy50aWNrVW5pdCwgdHJ1ZSk7DQoNCgkJCQl2YXIgZGVjaW1hbCA9IG9mZnNldCAvIHRoaXMuc2NhbGVTaXplSW5Vbml0czsNCg0KCQkJCWlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7DQoJCQkJCXZhciBpbm5lcldpZHRoID0gdGhpcy53aWR0aCAtICh0aGlzLnBhZGRpbmdMZWZ0ICsgdGhpcy5wYWRkaW5nUmlnaHQpOw0KCQkJCQl2YXIgdmFsdWVXaWR0aCA9IGlubmVyV2lkdGggLyBNYXRoLm1heCh0aGlzLnRpY2tzLmxlbmd0aCAtIDEsIDEpOw0KCQkJCQl2YXIgdmFsdWVPZmZzZXQgPSAoaW5uZXJXaWR0aCAqIGRlY2ltYWwpICsgdGhpcy5wYWRkaW5nTGVmdDsNCg0KCQkJCQlyZXR1cm4gdGhpcy5sZWZ0ICsgTWF0aC5yb3VuZCh2YWx1ZU9mZnNldCk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdmFyIGlubmVySGVpZ2h0ID0gdGhpcy5oZWlnaHQgLSAodGhpcy5wYWRkaW5nVG9wICsgdGhpcy5wYWRkaW5nQm90dG9tKTsNCgkJCQkJdmFyIHZhbHVlSGVpZ2h0ID0gaW5uZXJIZWlnaHQgLyBNYXRoLm1heCh0aGlzLnRpY2tzLmxlbmd0aCAtIDEsIDEpOw0KCQkJCQl2YXIgaGVpZ2h0T2Zmc2V0ID0gKGlubmVySGVpZ2h0ICogZGVjaW1hbCkgKyB0aGlzLnBhZGRpbmdUb3A7DQoNCgkJCQkJcmV0dXJuIHRoaXMudG9wICsgTWF0aC5yb3VuZChoZWlnaHRPZmZzZXQpOw0KCQkJCX0NCgkJCX0NCgkJfSwNCgkJZ2V0UGl4ZWxGb3JUaWNrOiBmdW5jdGlvbihpbmRleCwgaW5jbHVkZU9mZnNldCkgew0KCQkJcmV0dXJuIHRoaXMuZ2V0UGl4ZWxGb3JWYWx1ZSh0aGlzLnRpY2tNb21lbnRzW2luZGV4XSwgbnVsbCwgbnVsbCwgaW5jbHVkZU9mZnNldCk7DQoJCX0sDQoJCWdldFZhbHVlRm9yUGl4ZWw6IGZ1bmN0aW9uKHBpeGVsKSB7DQoJCQl2YXIgaW5uZXJEaW1lbnNpb24gPSB0aGlzLmlzSG9yaXpvbnRhbCgpID8gdGhpcy53aWR0aCAtICh0aGlzLnBhZGRpbmdMZWZ0ICsgdGhpcy5wYWRkaW5nUmlnaHQpIDogdGhpcy5oZWlnaHQgLSAodGhpcy5wYWRkaW5nVG9wICsgdGhpcy5wYWRkaW5nQm90dG9tKTsNCgkJCXZhciBvZmZzZXQgPSAocGl4ZWwgLSAodGhpcy5pc0hvcml6b250YWwoKSA/IHRoaXMubGVmdCArIHRoaXMucGFkZGluZ0xlZnQgOiB0aGlzLnRvcCArIHRoaXMucGFkZGluZ1RvcCkpIC8gaW5uZXJEaW1lbnNpb247DQoJCQlvZmZzZXQgKj0gdGhpcy5zY2FsZVNpemVJblVuaXRzOw0KCQkJcmV0dXJuIHRoaXMuZmlyc3RUaWNrLmNsb25lKCkuYWRkKG1vbWVudC5kdXJhdGlvbihvZmZzZXQsIHRoaXMudGlja1VuaXQpLmFzU2Vjb25kcygpLCAnc2Vjb25kcycpOw0KCQl9LA0KCQlwYXJzZVRpbWU6IGZ1bmN0aW9uKGxhYmVsKSB7DQoJCQlpZiAodHlwZW9mIHRoaXMub3B0aW9ucy50aW1lLnBhcnNlciA9PT0gJ3N0cmluZycpIHsNCgkJCQlyZXR1cm4gbW9tZW50KGxhYmVsLCB0aGlzLm9wdGlvbnMudGltZS5wYXJzZXIpOw0KCQkJfQ0KCQkJaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMudGltZS5wYXJzZXIgPT09ICdmdW5jdGlvbicpIHsNCgkJCQlyZXR1cm4gdGhpcy5vcHRpb25zLnRpbWUucGFyc2VyKGxhYmVsKTsNCgkJCX0NCgkJCS8vIERhdGUgb2JqZWN0cw0KCQkJaWYgKHR5cGVvZiBsYWJlbC5nZXRNb250aCA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgbGFiZWwgPT09ICdudW1iZXInKSB7DQoJCQkJcmV0dXJuIG1vbWVudChsYWJlbCk7DQoJCQl9DQoJCQkvLyBNb21lbnQgc3VwcG9ydA0KCQkJaWYgKGxhYmVsLmlzVmFsaWQgJiYgbGFiZWwuaXNWYWxpZCgpKSB7DQoJCQkJcmV0dXJuIGxhYmVsOw0KCQkJfQ0KCQkJLy8gQ3VzdG9tIHBhcnNpbmcgKHJldHVybiBhbiBpbnN0YW5jZSBvZiBtb21lbnQpDQoJCQlpZiAodHlwZW9mIHRoaXMub3B0aW9ucy50aW1lLmZvcm1hdCAhPT0gJ3N0cmluZycgJiYgdGhpcy5vcHRpb25zLnRpbWUuZm9ybWF0LmNhbGwpIHsNCgkJCQljb25zb2xlLndhcm4oIm9wdGlvbnMudGltZS5mb3JtYXQgaXMgZGVwcmVjYXRlZCBhbmQgcmVwbGFjZWQgYnkgb3B0aW9ucy50aW1lLnBhcnNlci4gU2VlIGh0dHA6Ly9ubm5pY2suZ2l0aHViLmlvL0NoYXJ0LmpzL2RvY3MtdjIvI3NjYWxlcy10aW1lLXNjYWxlIik7DQoJCQkJcmV0dXJuIHRoaXMub3B0aW9ucy50aW1lLmZvcm1hdChsYWJlbCk7DQoJCQl9DQoJCQkvLyBNb21lbnQgZm9ybWF0IHBhcnNpbmcNCgkJCXJldHVybiBtb21lbnQobGFiZWwsIHRoaXMub3B0aW9ucy50aW1lLmZvcm1hdCk7DQoJCX0NCgl9KTsNCglDaGFydC5zY2FsZVNlcnZpY2UucmVnaXN0ZXJTY2FsZVR5cGUoInRpbWUiLCBUaW1lU2NhbGUsIGRlZmF1bHRDb25maWcpOw0KDQp9Ow0KCn0seyJtb21lbnQiOjF9XX0se30sWzddKTsK"}},"time_used":78,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":78,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.856Z","timestamp":1785124875856,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44911.fa61d2a274d4224434ca.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5408\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 50eadafe71629904cbff599cb21491f4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":21512,"size_decoded":7898,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-07-27T06:24:31.626426Z","times_seen":224,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0NDkxMV0sezM2MzI2OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHttb2JpbGV0b3VjaDooKT0+cixzZXRDbGFzc2VzOigpPT5zLHRvdWNoOigpPT5hfSk7dmFyIGk9big3Mzg0NTgpO2NvbnN0IHI9aS5tb2JpbGV0b3VjaCxhPWkudG91Y2g7ZnVuY3Rpb24gcygpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGkudG91Y2g/ImZlYXR1cmUtdG91Y2giOiJmZWF0dXJlLW5vLXRvdWNoIixpLm1vYmlsZXRvdWNoPyJmZWF0dXJlLW1vYmlsZXRvdWNoIjoiZmVhdHVyZS1uby1tb2JpbGV0b3VjaCIpfX0sMzE4OTc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NoZWNrTW9iaWxlOigpPT5kLGFwcFZlcnNpb246KCk9PmYsY2hlY2tQYWdlVHlwZTooKT0+dixkZXNrdG9wQXBwVmVyc2lvbjooKT0+Yyxpc0Nocm9tZTooKT0+cCxpc0Rlc2t0b3BBcHA6KCk9Pm8saXNFZGdlOigpPT5tLGlzRkY6KCk9PmcsaXNMaW51eDooKT0+dSxpc01hYzooKT0+cyxpc1NhZmFyaTooKT0+Xyxpc1N5bXBob255RW1iZWQ6KCk9Pmwsb25Hb1BybzooKT0+YixvbldpZGdldDooKT0+ci5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9Pmh9KTt2YXIgaT1uKDczODQ1OCkscj1uKDM3NzIyNik7Y29uc3QgYT13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiBzKCl7cmV0dXJuIGkuaXNNYWN9ZnVuY3Rpb24gdSgpe3JldHVybiBpLmlzTGludXh9ZnVuY3Rpb24gbygpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGwoKXtyZXR1cm4gYS5pc1N5bXBob255fHwhMX1mdW5jdGlvbiBjKCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UVkRlc2t0b3BcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19ZnVuY3Rpb24gZigpe2NvbnN0IGU9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJhZGluZ1ZpZXdcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19Y29uc3QgZD17QW5kcm9pZDooKT0+aS5pc0FuZHJvaWQsQmxhY2tCZXJyeTooKT0+aS5pc0JsYWNrQmVycnksaU9TOigpPT5pLmlzSU9TLE9wZXJhOigpPT5pLmlzT3BlcmFNaW5pLGlzSVBhZDooKT0+aS5pc0lQYWQsYW55OigpPT5pLmlzQW55TW9iaWxlfTtmdW5jdGlvbiBoKCl7cmV0dXJuIGkubW9iaWxldG91Y2h8fGkudG91Y2h8fGkuaXNBbnlNb2JpbGV9ZnVuY3Rpb24gdihlKXtyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoInBhZ2VfdHlwZSIpPT09ZX1hLmlzTW9iaWxlPWQsYS5vbldpZGdldD1yLm9uV2lkZ2V0O2NvbnN0IHA9aS5pc0Nocm9tZSxnPWkuaXNGRixtPWkuaXNFZGdlLF89aS5pc1NhZmFyaTtmdW5jdGlvbiBiKCl7cmV0dXJuIi9wcmljaW5nLyI9PT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9fSw5NjMwOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2dldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZTooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsYnI6InB0IixkZV9ERToiZGUiLGNhX0VTOiJjYSIsaGVfSUw6ImhlIixpZF9JRDoiaWQiLGluOiJlbiIsa3I6ImtvIixtc19NWToibXMiLHN2X1NFOiJzdiIsdGhfVEg6InRoIix1azoiZW4iLHZpX1ZOOiJ2aSIsemhfQ046InpoLUhhbnMiLHpoX1RXOiJ6aC1IYW50Iix6aDoiemgtSGFucyIsaHVfSFU6Imh1LUhVIn07ZnVuY3Rpb24gcihlKXtyZXR1cm4gaVtlXXx8ZX19LDUyNzMyMyhlLHQsbil7dmFyIGk7IWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7fXZhciBhPXIucHJvdG90eXBlLHM9dC5FdmVudEVtaXR0ZXI7ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aDtuLS07KWlmKGVbbl0ubGlzdGVuZXI9PT10KXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBsKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfHxlIGluc3RhbmNlb2YgUmVnRXhwfHwhKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpJiZsKGUubGlzdGVuZXIpfWEuZ2V0TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LG4saT10aGlzLl9nZXRFdmVudHMoKTtpZihlIGluc3RhbmNlb2YgUmVnRXhwKWZvcihuIGluIHQ9e30saSlpLmhhc093blByb3BlcnR5KG4pJiZlLnRlc3QobikmJih0W25dPWlbbl0pO2Vsc2UgdD1pW2VdfHwoaVtlXT1bXSk7cmV0dXJuIHR9LGEuZmxhdHRlbkxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuPVtdO2Zvcih0PTA7dDxlLmxlbmd0aDt0Kz0xKW4ucHVzaChlW3RdLmxpc3RlbmVyKTtyZXR1cm4gbn0sYS5nZXRMaXN0ZW5lcnNBc09iamVjdD1mdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMuZ2V0TGlzdGVuZXJzKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQXJyYXkmJigodD17fSlbZV09biksdHx8bn0sYS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe2lmKCFsKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBuLGk9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKSxyPSJvYmplY3QiPT10eXBlb2YgdDtmb3IobiBpbiBpKWkuaGFzT3duUHJvcGVydHkobikmJi0xPT09dShpW25dLHQpJiZpW25dLnB1c2gocj90OntsaXN0ZW5lcjp0LG9uY2U6ITF9KTtyZXR1cm4gdGhpc30sYS5vbj1vKCJhZGRMaXN0ZW5lciIpLGEuYWRkT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx7bGlzdGVuZXI6dCxvbmNlOiEwfSl9LGEub25jZT1vKCJhZGRPbmNlTGlzdGVuZXIiKSxhLmRlZmluZUV2ZW50PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmdldExpc3RlbmVycyhlKSx0aGlzfSxhLmRlZmluZUV2ZW50cz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTEpdGhpcy5kZWZpbmVFdmVudChlW3RdKTtyZXR1cm4gdGhpc30sCmEucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHI9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoaSBpbiByKXIuaGFzT3duUHJvcGVydHkoaSkmJi0xIT09KG49dShyW2ldLHQpKSYmcltpXS5zcGxpY2UobiwxKTtyZXR1cm4gdGhpc30sYS5vZmY9bygicmVtb3ZlTGlzdGVuZXIiKSxhLmFkZExpc3RlbmVycz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1hbmlwdWxhdGVMaXN0ZW5lcnMoITEsZSx0KX0sYS5yZW1vdmVMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYW5pcHVsYXRlTGlzdGVuZXJzKCEwLGUsdCl9LGEubWFuaXB1bGF0ZUxpc3RlbmVycz1mdW5jdGlvbihlLHQsbil7dmFyIGkscixhPWU/dGhpcy5yZW1vdmVMaXN0ZW5lcjp0aGlzLmFkZExpc3RlbmVyLHM9ZT90aGlzLnJlbW92ZUxpc3RlbmVyczp0aGlzLmFkZExpc3RlbmVycztpZigib2JqZWN0IiE9dHlwZW9mIHR8fHQgaW5zdGFuY2VvZiBSZWdFeHApZm9yKGk9bi5sZW5ndGg7aS0tOylhLmNhbGwodGhpcyx0LG5baV0pO2Vsc2UgZm9yKGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiYocj10W2ldKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiByP2EuY2FsbCh0aGlzLGkscik6cy5jYWxsKHRoaXMsaSxyKSk7cmV0dXJuIHRoaXN9LGEucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj10eXBlb2YgZSxpPXRoaXMuX2dldEV2ZW50cygpO2lmKCJzdHJpbmciPT09bilkZWxldGUgaVtlXTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBSZWdFeHApZm9yKHQgaW4gaSlpLmhhc093blByb3BlcnR5KHQpJiZlLnRlc3QodCkmJmRlbGV0ZSBpW3RdO2Vsc2UgZGVsZXRlIHRoaXMuX2V2ZW50cztyZXR1cm4gdGhpc30sYS5yZW1vdmVBbGxMaXN0ZW5lcnM9bygicmVtb3ZlRXZlbnQiKSxhLmVtaXRFdmVudD1mdW5jdGlvbihlLHQpe3ZhciBuLGkscixhLHM9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoYSBpbiBzKWlmKHMuaGFzT3duUHJvcGVydHkoYSkpZm9yKG49c1thXS5zbGljZSgwKSxyPTA7cjxuLmxlbmd0aDtyKyspITA9PT0oaT1uW3JdKS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lciksaS5saXN0ZW5lci5hcHBseSh0aGlzLHR8fFtdKT09PXRoaXMuX2dldE9uY2VSZXR1cm5WYWx1ZSgpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lcik7cmV0dXJuIHRoaXN9LGEudHJpZ2dlcj1vKCJlbWl0RXZlbnQiKSxhLmVtaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiB0aGlzLmVtaXRFdmVudChlLHQpfSxhLnNldE9uY2VSZXR1cm5WYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fb25jZVJldHVyblZhbHVlPWUsdGhpc30sYS5fZ2V0T25jZVJldHVyblZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzT3duUHJvcGVydHkoIl9vbmNlUmV0dXJuVmFsdWUiKXx8dGhpcy5fb25jZVJldHVyblZhbHVlfSxhLl9nZXRFdmVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPXt9KX0sci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuRXZlbnRFbWl0dGVyPXMscn0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gcn0uY2FsbCh0LG4sdCxlKSl8fChlLmV4cG9ydHM9aSl9KHRoaXN8fHt9KX0sOTE4Nzc5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5vLGJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvOigpPT5zLGVxdWFsU2l6ZXM6KCk9PmkuZXF1YWxTaXplcyxzaXplOigpPT5pLnNpemUsdHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQ6KCk9Pmx9KTt2YXIgaT1uKDc0Mjc5KSxyPW4oNzQzNDUxKSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dmFyIHI7dGhpcy5fY2FudmFzRWxlbWVudD1udWxsLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzPVtdLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnQ9ZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZT0oMCxpLnNpemUpKHt3aWR0aDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudEhlaWdodH0pLHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemU9bnVsbCE9dD90OmZ1bmN0aW9uKGUpe3JldHVybiBlfSx0aGlzLl9hbGxvd1Jlc2l6ZU9ic2VydmVyPW51bGw9PT0ocj1udWxsPT1uP3ZvaWQgMDpuLmFsbG93UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1yfHxyLHRoaXMuX2Nob29zZUFuZEluaXRPYnNlcnZlcigpfXJldHVybiBlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dmFyIGUsdDtpZihudWxsPT09dGhpcy5fY2FudmFzRWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoIk9iamVjdCBpcyBkaXNwb3NlZCIpO251bGw9PT0oZT10aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1lfHxlLmRpc2Nvbm5lY3QoKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCxudWxsPT09KHQ9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT10fHx0LmRpc3Bvc2UoKSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbH0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Iix7Z2V0OmZ1bmN0aW9uKCl7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKQo7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLGkuc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSx0aGlzLmNhbnZhc0VsZW1lbnQuc3R5bGUuaGVpZ2h0PSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS5oZWlnaHQsInB4IiksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX0sZS5wcm90b3R5cGUuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJzdWdnZXN0ZWRCaXRtYXBTaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sZS5wcm90b3R5cGUuYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplPWZ1bmN0aW9uKCl7aWYobnVsbCE9PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUpe3ZhciBlPXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1udWxsLHRoaXMuX3Jlc2l6ZUJpdG1hcChlKSx0aGlzLl9lbWl0U3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQoZSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKX19LGUucHJvdG90eXBlLl9yZXNpemVCaXRtYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5iaXRtYXBTaXplOygwLGkuZXF1YWxTaXplcykodCxlKXx8KHRoaXMuY2FudmFzRWxlbWVudC53aWR0aD1lLndpZHRoLHRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHQ9ZS5oZWlnaHQsdGhpcy5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkKHQsZSkpfSxlLnByb3RvdHlwZS5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX3N1Z2dlc3ROZXdCaXRtYXBTaXplPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUsbj0oMCxpLnNpemUpKHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemUoZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZSkpLHI9KDAsaS5lcXVhbFNpemVzKSh0aGlzLmJpdG1hcFNpemUsbik/bnVsbDpuO251bGw9PT10JiZudWxsPT09cnx8bnVsbCE9PXQmJm51bGwhPT1yJiYoMCxpLmVxdWFsU2l6ZXMpKHQscil8fCh0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPXIsdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHQscikpfSxlLnByb3RvdHlwZS5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX2Nob29zZUFuZEluaXRPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbihuKXtlKG4uZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiJkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplImluIGV9KSkpLHQuZGlzY29ubmVjdCgpfSkpO3Qub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4hMX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdD9lLl9pbml0UmVzaXplT2JzZXJ2ZXIoKTplLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0pKTp0aGlzLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0sZS5wcm90b3R5cGUuX2luaXREZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciB0PXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJObyB3aW5kb3cgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW52YXMiKQo7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAsci5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBuPXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PW4pe3ZhciByPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90Om4uZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxzPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksaGVpZ2h0Ok1hdGgucm91bmQoZS50b3AqdCtlLmhlaWdodCp0KS1NYXRoLnJvdW5kKGUudG9wKnQpfSl9KGFbMF0scik6KDAsaS5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUud2lkdGgqcixoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0KnJ9KTt0aGlzLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShzKX19fSxlLnByb3RvdHlwZS5faW5pdFJlc2l6ZU9ic2VydmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztudWxsIT09dGhpcy5fY2FudmFzRWxlbWVudCYmKHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0PT09ZS5fY2FudmFzRWxlbWVudH0pKTtpZihuJiZuLmRldmljZVBpeGVsQ29udGVudEJveFNpemUmJm4uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSl7dmFyIHI9bi5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBdLGE9KDAsaS5zaXplKSh7d2lkdGg6ci5pbmxpbmVTaXplLGhlaWdodDpyLmJsb2NrU2l6ZX0pO2UuX3N1Z2dlc3ROZXdCaXRtYXBTaXplKGEpfX0pKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9jYW52YXNFbGVtZW50LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KSl9LGV9KCk7ZnVuY3Rpb24gcyhlLHQpe2lmKCJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giPT09dC50eXBlKXJldHVybiBuZXcgYShlLHQudHJhbnNmb3JtLHQub3B0aW9ucyk7dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBiaW5kaW5nIHRhcmdldCIpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld312YXIgbz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe2lmKDA9PT10LndpZHRofHwwPT09dC5oZWlnaHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiUmVuZGVyaW5nIHRhcmdldCBjb3VsZCBvbmx5IGJlIGNyZWF0ZWQgb24gYSBtZWRpYSB3aXRoIHBvc2l0aXZlIHdpZHRoIGFuZCBoZWlnaHQiKTtpZih0aGlzLl9tZWRpYVNpemU9dCwwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIHVzaW5nIGEgYml0bWFwIHdpdGggcG9zaXRpdmUgaW50ZWdlciB3aWR0aCBhbmQgaGVpZ2h0Iik7dGhpcy5fYml0bWFwU2l6ZT1uLHRoaXMuX2NvbnRleHQ9ZX1yZXR1cm4gZS5wcm90b3R5cGUudXNlTWVkaWFDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdGhpcy5fY29udGV4dC5zY2FsZSh0aGlzLl9ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW8pLGUoe2NvbnRleHQ6dGhpcy5fY29udGV4dCxtZWRpYVNpemU6dGhpcy5fbWVkaWFTaXplfSl9ZmluYWxseXt0aGlzLl9jb250ZXh0LnJlc3RvcmUoKX19LGUucHJvdG90eXBlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZT1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIHRoaXMuX2NvbnRleHQuc2F2ZSgpLHRoaXMuX2NvbnRleHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZSxiaXRtYXBTaXplOnRoaXMuX2JpdG1hcFNpemUsaG9yaXpvbnRhbFBpeGVsUmF0aW86dGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdmVydGljYWxQaXhlbFJhdGlvOnRoaXMuX3ZlcnRpY2FsUGl4ZWxSYXRpb30pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl9ob3Jpem9udGFsUGl4ZWxSYXRpbyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaXRtYXBTaXplLndpZHRoL3RoaXMuX21lZGlhU2l6ZS53aWR0aH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl92ZXJ0aWNhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS5oZWlnaHQvdGhpcy5fbWVkaWFTaXplLmhlaWdodH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlfSgpO2Z1bmN0aW9uIGwoZSx0KXt2YXIgbj1lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplO2lmKDA9PT1uLndpZHRofHwwPT09bi5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIGk9ZS5iaXRtYXBTaXplO2lmKDA9PT1pLndpZHRofHwwPT09aS5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIHI9ZS5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIix0KTtyZXR1cm4gbnVsbD09PXI/bnVsbDpuZXcgbyhyLG4saSl9fSw3OTgwOTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+aX0pCjtjb25zdCBpPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPS0xLGk9bnVsbD09ZT8wOmUubGVuZ3RoLHI9QXJyYXkoaSk7KytuPGk7KXJbbl09dChlW25dLG4sZSk7cmV0dXJuIHJ9fSw2NzkyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciByPS0xLGE9bnVsbD09ZT8wOmUubGVuZ3RoO2ZvcihpJiZhJiYobj1lWysrcl0pOysrcjxhOyluPXQobixlW3JdLHIsZSk7cmV0dXJuIG59fSwxOTMzODIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjQ1MDcpLHI9bigzOTI5MDgpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24obixpKXtpZihudWxsPT1uKXJldHVybiBuO2lmKCEoMCxyLmRlZmF1bHQpKG4pKXJldHVybiBlKG4saSk7Zm9yKHZhciBhPW4ubGVuZ3RoLHM9dD9hOi0xLHU9T2JqZWN0KG4pOyh0P3MtLTorK3M8YSkmJiExIT09aSh1W3NdLHMsdSk7KTtyZXR1cm4gbn19KGkuZGVmYXVsdCl9LDk4MTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5sfSk7dmFyIGk9big0NDg2MjYpLHI9big4NzI5OTkpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9ci5kZWZhdWx0P3IuZGVmYXVsdC5pc0NvbmNhdFNwcmVhZGFibGU6dm9pZCAwO2NvbnN0IG89ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5kZWZhdWx0KShlKXx8KDAsYS5kZWZhdWx0KShlKXx8ISEodSYmZSYmZVt1XSl9O2NvbnN0IGw9ZnVuY3Rpb24gZSh0LG4scixhLHMpe3ZhciB1PS0xLGw9dC5sZW5ndGg7Zm9yKHJ8fChyPW8pLHN8fChzPVtdKTsrK3U8bDspe3ZhciBjPXRbdV07bj4wJiZyKGMpP24+MT9lKGMsbi0xLHIsYSxzKTooMCxpLmRlZmF1bHQpKHMsYyk6YXx8KHNbcy5sZW5ndGhdPWMpfXJldHVybiBzfX0sMjQ1MDcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjU4MjYpLHI9bigzMDkwODApO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSYmKDAsaS5kZWZhdWx0KShlLHQsci5kZWZhdWx0KX19LDk4MDQxNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7dmFyIGk9bigyNjk2MjcpLHI9big3MzAxOSk7Y29uc3QgYT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7bnVsbCE9ZSYmbjxhOyllPWVbKDAsci5kZWZhdWx0KSh0W24rK10pXTtyZXR1cm4gbiYmbj09YT9lOnZvaWQgMH19LDMzNDQxMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT53fSk7dmFyIGk9big4ODY1MTQpLHI9big4NzI4ODEpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0LG4sYSl7dmFyIHM9bi5sZW5ndGgsdT1zLG89IWE7aWYobnVsbD09ZSlyZXR1cm4hdTtmb3IoZT1PYmplY3QoZSk7cy0tOyl7dmFyIGw9bltzXTtpZihvJiZsWzJdP2xbMV0hPT1lW2xbMF1dOiEobFswXWluIGUpKXJldHVybiExfWZvcig7KytzPHU7KXt2YXIgYz0obD1uW3NdKVswXSxmPWVbY10sZD1sWzFdO2lmKG8mJmxbMl0pe2lmKHZvaWQgMD09PWYmJiEoYyBpbiBlKSlyZXR1cm4hMX1lbHNle3ZhciBoPW5ldyBpLmRlZmF1bHQ7aWYoYSl2YXIgdj1hKGYsZCxjLGUsdCxoKTtpZighKHZvaWQgMD09PXY/KDAsci5kZWZhdWx0KShkLGYsMyxhLGgpOnYpKXJldHVybiExfX1yZXR1cm4hMH07dmFyIHM9big4ODAxMTUpO2NvbnN0IHU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PWUmJiEoMCxzLmRlZmF1bHQpKGUpfTt2YXIgbz1uKDMwOTA4MCk7Y29uc3QgbD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9KDAsby5kZWZhdWx0KShlKSxuPXQubGVuZ3RoO24tLTspe3ZhciBpPXRbbl0scj1lW2ldO3Rbbl09W2kscix1KHIpXX1yZXR1cm4gdH07Y29uc3QgYz1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbCE9biYmKG5bZV09PT10JiYodm9pZCAwIT09dHx8ZSBpbiBPYmplY3QobikpKX19O2NvbnN0IGY9ZnVuY3Rpb24oZSl7dmFyIHQ9bChlKTtyZXR1cm4gMT09dC5sZW5ndGgmJnRbMF1bMl0/Yyh0WzBdWzBdLHRbMF1bMV0pOmZ1bmN0aW9uKG4pe3JldHVybiBuPT09ZXx8YShuLGUsdCl9fTt2YXIgZD1uKDU1NDcxOCksaD1uKDIxODY2OSksdj1uKDk4ODk5MikscD1uKDczMDE5KTtjb25zdCBnPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdi5kZWZhdWx0KShlKSYmdSh0KT9jKCgwLHAuZGVmYXVsdCkoZSksdCk6ZnVuY3Rpb24obil7dmFyIGk9KDAsZC5kZWZhdWx0KShuLGUpO3JldHVybiB2b2lkIDA9PT1pJiZpPT09dD8oMCxoLmRlZmF1bHQpKG4sZSk6KDAsci5kZWZhdWx0KSh0LGksMyl9fTt2YXIgbT1uKDIzMjg1NCksXz1uKDI5NTYzNSk7Y29uc3QgYj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbZV19fTt2YXIgej1uKDk4MDQxNik7Y29uc3QgUz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuKDAsei5kZWZhdWx0KSh0LGUpfX07Y29uc3QgeT1mdW5jdGlvbihlKXtyZXR1cm4oMCx2LmRlZmF1bHQpKGUpP2IoKDAscC5kZWZhdWx0KShlKSk6UyhlKX07Y29uc3Qgdz1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm51bGw9PWU/bS5kZWZhdWx0OiJvYmplY3QiPT10eXBlb2YgZT8oMCxfLmRlZmF1bHQpKGUpP2coZVswXSxlWzFdKTpmKGUpOnkoZSl9fSw2ODUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciBpPW4oOTgwNDE2KSxyPW4oMjk3MTI0KSxhPW4oMjY5NjI3KTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHM9LTEsdT10Lmxlbmd0aCxvPXt9Oysrczx1Oyl7dmFyIGw9dFtzXSxjPSgwLGkuZGVmYXVsdCkoZSxsKTtuKGMsbCkmJigwLHIuZGVmYXVsdCkobywoMCxhLmRlZmF1bHQpKGwsZSksYyl9cmV0dXJuIG99fSwyOTcxMjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+b30pCjt2YXIgaT1uKDE2ODUzMykscj1uKDI2OTYyNyksYT1uKDkyMTE0Mykscz1uKDg4MDExNSksdT1uKDczMDE5KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuLG8pe2lmKCEoMCxzLmRlZmF1bHQpKGUpKXJldHVybiBlO2Zvcih2YXIgbD0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9Yy0xLGQ9ZTtudWxsIT1kJiYrK2w8Yzspe3ZhciBoPSgwLHUuZGVmYXVsdCkodFtsXSksdj1uO2lmKCJfX3Byb3RvX18iPT09aHx8ImNvbnN0cnVjdG9yIj09PWh8fCJwcm90b3R5cGUiPT09aClyZXR1cm4gZTtpZihsIT1mKXt2YXIgcD1kW2hdO3ZvaWQgMD09PSh2PW8/byhwLGgsZCk6dm9pZCAwKSYmKHY9KDAscy5kZWZhdWx0KShwKT9wOigwLGEuZGVmYXVsdCkodFtsKzFdKT9bXTp7fSl9KDAsaS5kZWZhdWx0KShkLGgsdiksZD1kW2hdfXJldHVybiBlfX0sNDkzNzE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuKXt2YXIgaT0tMSxyPWUubGVuZ3RoO3Q8MCYmKHQ9LXQ+cj8wOnIrdCksKG49bj5yP3I6bik8MCYmKG4rPXIpLHI9dD5uPzA6bi10Pj4+MCx0Pj4+PTA7Zm9yKHZhciBhPUFycmF5KHIpOysraTxyOylhW2ldPWVbaSt0XTtyZXR1cm4gYX19LDI0MjcwOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyNjk2MjcpLHI9big5MjYwODgpLGE9big5ODA0MTYpLHM9big0OTM3MTgpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5sZW5ndGg8Mj9lOigwLGEuZGVmYXVsdCkoZSwoMCxzLmRlZmF1bHQpKHQsMCwtMSkpfTt2YXIgbz1uKDczMDE5KSxsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgYz1mdW5jdGlvbihlLHQpe3ZhciBuPS0xLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7aWYoIWEpcmV0dXJuITA7Zm9yKDsrK248YTspe3ZhciBzPSgwLG8uZGVmYXVsdCkodFtuXSk7aWYoIl9fcHJvdG9fXyI9PT1zJiYhbC5jYWxsKGUsIl9fcHJvdG9fXyIpKXJldHVybiExO2lmKCgiY29uc3RydWN0b3IiPT09c3x8InByb3RvdHlwZSI9PT1zKSYmbjxhLTEpcmV0dXJuITF9dmFyIGM9dShlLHQpO3JldHVybiBudWxsPT1jfHxkZWxldGUgY1soMCxvLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkodCkpXX19LDI2OTYyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyOTU2MzUpLHI9big5ODg5OTIpLGE9big2NjMwNDYpO3ZhciBzPS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLHU9L1xcKFxcKT8vZztjb25zdCBvPWZ1bmN0aW9uKGUpe3ZhciB0PSgwLGEuZGVmYXVsdCkoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIDUwMD09PW4uc2l6ZSYmbi5jbGVhcigpLGV9KSksbj10LmNhY2hlO3JldHVybiB0fSgoZnVuY3Rpb24oZSl7dmFyIHQ9W107cmV0dXJuIDQ2PT09ZS5jaGFyQ29kZUF0KDApJiZ0LnB1c2goIiIpLGUucmVwbGFjZShzLChmdW5jdGlvbihlLG4saSxyKXt0LnB1c2goaT9yLnJlcGxhY2UodSwiJDEiKTpufHxlKX0pKSx0fSkpO3ZhciBsPW4oMjU5NTQyKTtjb25zdCBjPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKT9lOigwLHIuZGVmYXVsdCkoZSx0KT9bZV06bygoMCxsLmRlZmF1bHQpKGUpKX19LDI2MDgwNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5zfSk7dmFyIGk9big0NzY2NCkscj1uKDM3MjAzNSksYT1uKDcwOTA1MSk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4oMCxhLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkoZSx2b2lkIDAsaS5kZWZhdWx0KSxlKyIiKX19LDk4ODk5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9bigyOTU2MzUpLHI9big3MTczMzIpLGE9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8scz0vXlx3KiQvO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZigoMCxpLmRlZmF1bHQpKGUpKXJldHVybiExO3ZhciBuPXR5cGVvZiBlO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPWUmJiEoMCxyLmRlZmF1bHQpKGUpKXx8KHMudGVzdChlKXx8IWEudGVzdChlKXx8bnVsbCE9dCYmZSBpbiBPYmplY3QodCkpfX0sNzMwMTkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oNzE3MzMyKTtjb25zdCByPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZXx8KDAsaS5kZWZhdWx0KShlKSlyZXR1cm4gZTt2YXIgdD1lKyIiO3JldHVybiIwIj09dCYmMS9lPT0tMS8wPyItMCI6dH19LDQ0MTgwNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big0OTMwMTgpO2NvbnN0IHI9ZnVuY3Rpb24oZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlLDQpfX0sODc3ODU5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PmZ9KTt2YXIgaT1uKDMzNDQxMykscj1uKDM5MjkwOCksYT1uKDMwOTA4MCk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuLHMpe3ZhciB1PU9iamVjdCh0KTtpZighKDAsci5kZWZhdWx0KSh0KSl7dmFyIG89KDAsaS5kZWZhdWx0KShuLDMpO3Q9KDAsYS5kZWZhdWx0KSh0KSxuPWZ1bmN0aW9uKGUpe3JldHVybiBvKHVbZV0sZSx1KX19dmFyIGw9ZSh0LG4scyk7cmV0dXJuIGw+LTE/dVtvP3RbbF06bF06dm9pZCAwfX07dmFyIHU9big2ODg5NjUpLG89big2OTIzNjkpLGw9TWF0aC5tYXgsYz1NYXRoLm1pbjtjb25zdCBmPXMoKGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7aWYoIXIpcmV0dXJuLTE7dmFyIGE9ci0xO3JldHVybiB2b2lkIDAhPT1uJiYoYT0oMCxvLmRlZmF1bHQpKG4pLGE9bjwwP2wocithLDApOmMoYSxyLTEpKSwoMCx1LmRlZmF1bHQpKGUsKDAsaS5kZWZhdWx0KSh0LDMpLGEsITApfSkpfSw0NzY2NChlLHQsbil7CiJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oOTgxMzY1KTtjb25zdCByPWZ1bmN0aW9uKGUpe3JldHVybihudWxsPT1lPzA6ZS5sZW5ndGgpPygwLGkuZGVmYXVsdCkoZSwxKTpbXX19LDU1NDcxOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big5ODA0MTYpO2NvbnN0IHI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW51bGw9PWU/dm9pZCAwOigwLGkuZGVmYXVsdCkoZSx0KTtyZXR1cm4gdm9pZCAwPT09cj9uOnJ9fSwyMTg2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+Zn0pO2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbCE9ZSYmdCBpbiBPYmplY3QoZSl9O3ZhciByPW4oMjY5NjI3KSxhPW4oNTMxNTU3KSxzPW4oMjk1NjM1KSx1PW4oOTIxMTQzKSxvPW4oOTkwNjA0KSxsPW4oNzMwMTkpO2NvbnN0IGM9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaT0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9ITE7KytpPGM7KXt2YXIgZD0oMCxsLmRlZmF1bHQpKHRbaV0pO2lmKCEoZj1udWxsIT1lJiZuKGUsZCkpKWJyZWFrO2U9ZVtkXX1yZXR1cm4gZnx8KytpIT1jP2Y6ISEoYz1udWxsPT1lPzA6ZS5sZW5ndGgpJiYoMCxvLmRlZmF1bHQpKGMpJiYoMCx1LmRlZmF1bHQpKGQsYykmJigoMCxzLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKX07Y29uc3QgZj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT1lJiZjKGUsdCxpKX19LDE0NDU1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big4MzA4NzUpLHI9big5Njk3ODUpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9bigzOTI5MDgpLG89big2NTkwMTgpLGw9big2OTM5NDEpLGM9bigxNjUyNjcpLGY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBkPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuITA7aWYoKDAsdS5kZWZhdWx0KShlKSYmKCgwLHMuZGVmYXVsdCkoZSl8fCJzdHJpbmciPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUuc3BsaWNlfHwoMCxvLmRlZmF1bHQpKGUpfHwoMCxjLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKSlyZXR1cm4hZS5sZW5ndGg7dmFyIHQ9KDAsci5kZWZhdWx0KShlKTtpZigiW29iamVjdCBNYXBdIj09dHx8IltvYmplY3QgU2V0XSI9PXQpcmV0dXJuIWUuc2l6ZTtpZigoMCxsLmRlZmF1bHQpKGUpKXJldHVybiEoMCxpLmRlZmF1bHQpKGUpLmxlbmd0aDtmb3IodmFyIG4gaW4gZSlpZihmLmNhbGwoZSxuKSlyZXR1cm4hMTtyZXR1cm4hMH19LDkyNjA4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5pfSk7Y29uc3QgaT1mdW5jdGlvbihlKXt2YXIgdD1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIHQ/ZVt0LTFdOnZvaWQgMH19LDk2NDcyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big3OTgwOTQpLHI9big0OTMwMTgpLGE9bigyNDI3MDgpLHM9bigyNjk2MjcpLHU9big2MTg1Nyksbz1uKDkzMTQzMyk7Y29uc3QgbD1mdW5jdGlvbihlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpP3ZvaWQgMDplfTt2YXIgYz1uKDI2MDgwNiksZj1uKDk5MTU5OSk7Y29uc3QgZD0oMCxjLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3ZhciBuPXt9O2lmKG51bGw9PWUpcmV0dXJuIG47dmFyIG89ITE7dD0oMCxpLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKHQpe3JldHVybiB0PSgwLHMuZGVmYXVsdCkodCxlKSxvfHwobz10Lmxlbmd0aD4xKSx0fSkpLCgwLHUuZGVmYXVsdCkoZSwoMCxmLmRlZmF1bHQpKGUpLG4pLG8mJihuPSgwLHIuZGVmYXVsdCkobiw3LGwpKTtmb3IodmFyIGM9dC5sZW5ndGg7Yy0tOykoMCxhLmRlZmF1bHQpKG4sdFtjXSk7cmV0dXJuIG59KSl9LDYzOTc4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9big3OTgwOTQpLHI9bigzMzQ0MTMpLGE9big2ODUxNTQpLHM9big5OTE1OTkpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPSgwLGkuZGVmYXVsdCkoKDAscy5kZWZhdWx0KShlKSwoZnVuY3Rpb24oZSl7cmV0dXJuW2VdfSkpO3JldHVybiB0PSgwLHIuZGVmYXVsdCkodCksKDAsYS5kZWZhdWx0KShlLG4sKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQoZSxuWzBdKX0pKX19LDg2NDAzNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5vfSk7dmFyIGk9big2NzkyKSxyPW4oMTkzMzgyKSxhPW4oMzM0NDEzKTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuLGkscil7cmV0dXJuIHIoZSwoZnVuY3Rpb24oZSxyLGEpe249aT8oaT0hMSxlKTp0KG4sZSxyLGEpfSkpLG59O3ZhciB1PW4oMjk1NjM1KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz0oMCx1LmRlZmF1bHQpKGUpP2kuZGVmYXVsdDpzLGw9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBvKGUsKDAsYS5kZWZhdWx0KSh0LDQpLG4sbCxyLmRlZmF1bHQpfX0sMTA1OTcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI5NzEyNCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWU/ZTooMCxpLmRlZmF1bHQpKGUsdCxuKX19LDI1OTU0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9big4NzI5OTkpLHI9big3OTgwOTQpLGE9bigyOTU2MzUpLHM9big3MTczMzIpLHU9aS5kZWZhdWx0P2kuZGVmYXVsdC5wcm90b3R5cGU6dm9pZCAwLG89dT91LnRvU3RyaW5nOnZvaWQgMDtjb25zdCBsPWZ1bmN0aW9uIGUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O2lmKCgwLGEuZGVmYXVsdCkodCkpcmV0dXJuKDAsci5kZWZhdWx0KSh0LGUpKyIiO2lmKCgwLHMuZGVmYXVsdCkodCkpcmV0dXJuIG8/by5jYWxsKHQpOiIiO3ZhciBuPXQrIiI7cmV0dXJuIjAiPT1uJiYxL3Q9PS0xLzA/Ii0wIjpufTtjb25zdCBjPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmwoZSl9fSwKOTE3MzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI0MjcwOCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1lfHwoMCxpLmRlZmF1bHQpKGUsdCl9fX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.883Z","timestamp":1785124875883,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97472.e8195405f99055a83c6f.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-f754\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 28c838cee9e997348d03e757471b4af4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":63316,"size_decoded":11196,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-27T06:24:31.755706Z","times_seen":222,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzQ3Ml0sezY5NzQ3MihlLHIsbyl7InVzZSBzdHJpY3QiO28uZChyLHtnZXRFeGNoYW5nZXM6KCk9PnUsZ2V0V2lkZ2V0Q29uZmlndXJlZEV4Y2hhbmdlczooKT0+bCxnZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWc6KCk9PmR9KTt2YXIgbj1vKDk5ODcwNCksaT1vKDMxODk3NCk7ZnVuY3Rpb24gdSgpe3JldHVybiBufWZ1bmN0aW9uIGwoZSxyKXtpZih2b2lkIDA9PT1yKXJldHVybiBlO2NvbnN0e2FsbG93ZWRFeGNoYW5nZXM6b309cjtsZXQgbj1lO2lmKHZvaWQgMCE9PW8mJm8ubGVuZ3RoPjApe2NvbnN0IHI9bmV3IE1hcDtmb3IoY29uc3QgbyBvZiBlKSIiPT09by52YWx1ZXx8by5oaWRlSW5TeW1ib2xTZWFyY2h8fHIuc2V0KG8udmFsdWUsbyk7Y29uc3QgaT1vLm1hcCgoZT0+ci5nZXQoZS50b1VwcGVyQ2FzZSgpKSkpLmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpO2kubGVuZ3RoPjAmJihuPWkpfXJldHVybiBufWZ1bmN0aW9uIGQoKXtpZighKDAsaS5vbldpZGdldCkoKSlyZXR1cm47Y29uc3QgZT13aW5kb3cuaW5pdERhdGE/LndpZGdldERlZmF1bHRzO2lmKHZvaWQgMD09PWUpcmV0dXJuO2NvbnN0IHI9ZS5zeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2Usbz0ic3RyaW5nIj09dHlwZW9mIHImJiIiIT09cj9yOnZvaWQgMCxuPWUuc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlcyx1PUFycmF5LmlzQXJyYXkobik/bi5maWx0ZXIoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09b3x8dm9pZCAwIT09dSYmMCE9PXUubGVuZ3RoP3tkZWZhdWx0RXhjaGFuZ2U6byxhbGxvd2VkRXhjaGFuZ2VzOnV9OnZvaWQgMH19LDk5ODcwNChlLHIsbyl7ZS5leHBvcnRzPVt7dmFsdWU6IiIsbmFtZToiQWxsIEV4Y2hhbmdlcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDU2NDIpKSxmbGFnOiIiLGNvdW50cnk6IiIsZ3JvdXA6IkFsbEV4Y2hhbmdlcyIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJMQkFOSyIsbmFtZToiTEJhbmsiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU5NjI4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMQkFOSyIscHJvdmlkZXJJZDoibGJhbmsifSx7dmFsdWU6IkxGSjJET1QyIixuYW1lOiJMRkogVjIuMiAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDM1MTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkxGSjJET1QyIixwcm92aWRlcklkOiJsZmoyZG90MiJ9LHt2YWx1ZToiQkNIQUlOIixuYW1lOiJCQ0hBSU4gKE5hc2RhcSBEYXRhIExpbmspIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJDSEFJTiIscHJvdmlkZXJJZDoicXVhbmRsX2JjaGFpbiJ9LHt2YWx1ZToiQklTV0FQIixuYW1lOiJCaXN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ2MDg2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVNXQVAiLHByb3ZpZGVySWQ6ImJpc3dhcCJ9LHt2YWx1ZToiQklUQVpaQSIsbmFtZToiQml0YXp6YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTgwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVEFaWkEiLHByb3ZpZGVySWQ6ImJpdGF6emEifSx7dmFsdWU6IkJJVEhVTUIiLG5hbWU6IkJpdGh1bWIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU4NjUwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRIVU1CIixwcm92aWRlcklkOiJiaXRodW1iIn0se3ZhbHVlOiJCSVRLVUIiLG5hbWU6IkJpdGt1YiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NzkzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUS1VCIixwcm92aWRlcklkOiJiaXRrdWIifSx7dmFsdWU6IkJJVFJVRSIsbmFtZToiQml0cnVlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NDExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUUlVFIixwcm92aWRlcklkOiJiaXRydWUifSx7dmFsdWU6IkJJVE1BUlQiLG5hbWU6IkJpdE1hcnQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjY0NTA2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRNQVJUIixwcm92aWRlcklkOiJiaXRtYXJ0In0se3ZhbHVlOiJCSVRTTyIsbmFtZToiQml0c28iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE5NzkyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRTTyIscHJvdmlkZXJJZDoiYml0c28ifSx7dmFsdWU6IkNPSU5NRVRSSUNTIixuYW1lOiJDb2luIE1ldHJpY3MiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk1MDk3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOTUVUUklDUyIscHJvdmlkZXJJZDoiY29pbm1ldHJpY3MifSx7dmFsdWU6Ik1FWEMiLG5hbWU6Ik1FWEMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUxNTkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVhDIixwcm92aWRlcklkOiJtZXhjIn0se3ZhbHVlOiJHQVRFIixuYW1lOiJHYXRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NDA2MCkpLApmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdBVEUiLHByb3ZpZGVySWQ6ImdhdGUifSx7dmFsdWU6IkhUWCIsbmFtZToiSFRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkxNTY0MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiSFRYIixwcm92aWRlcklkOiJodHgifSx7dmFsdWU6Ijc5NiIsbmFtZToiNzk2IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDgxNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJERURVU1QiLG5hbWU6IkRlRHVzdC5pbyAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjA2MjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkRFRFVTVCIscHJvdmlkZXJJZDoiZGVkdXN0In0se3ZhbHVlOiJERUVQQ09JTiIsbmFtZToiRGVlcGNvaW4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDM4NzE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUVQQ09JTiIscHJvdmlkZXJJZDoiZGVlcGNvaW4ifSx7dmFsdWU6IkRFUklCSVQiLG5hbWU6IkRlcmliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU0OTQwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJQklUIixwcm92aWRlcklkOiJkZXJpYml0In0se3ZhbHVlOiJEWURYIixuYW1lOiJkWWRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2NDAxOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiRFlEWCIscHJvdmlkZXJJZDoiZHlkeCJ9LHt2YWx1ZToiREVGSUxMQU1BIixuYW1lOiJEZWZpTGxhbWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYwMjY1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUZJTExBTUEiLHByb3ZpZGVySWQ6ImRlZmlsbGFtYSJ9LHt2YWx1ZToiR0xBU1NOT0RFIixuYW1lOiJHbGFzc25vZGUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA5ODQ2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHTEFTU05PREUiLHByb3ZpZGVySWQ6ImdsYXNzbm9kZSJ9LHt2YWx1ZToiTUVURU9SQURMTU0iLG5hbWU6Ik1ldGVvcmEgRExNTSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDcwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1FVEVPUkFETE1NIixwcm92aWRlcklkOiJtZXRlb3JhZGxtbSJ9LHt2YWx1ZToiTUVURU9SQURZTiIsbmFtZToiTWV0ZW9yYSBEWU4gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODMxOTczKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVRFT1JBRFlOIixwcm92aWRlcklkOiJtZXRlb3JhZHluIn0se3ZhbHVlOiJPS1giLG5hbWU6Ik9LWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzE1NjgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9LWCIscHJvdmlkZXJJZDoib2t4In0se3ZhbHVlOiJPUkNBIixuYW1lOiJPcmNhIChTb2xhbmEpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MDQyOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiT1JDQSIscHJvdmlkZXJJZDoib3JjYSJ9LHt2YWx1ZToiUEFOR09MSU4iLG5hbWU6IlBhbmdvbGluIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU2MjIxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOR09MSU4iLHByb3ZpZGVySWQ6InBhbmdvbGluIn0se3ZhbHVlOiJQQU5DQUtFU1dBUCIsbmFtZToiUGFuY2FrZVN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjgxNTY0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAifSx7dmFsdWU6IlBBTkNBS0VTV0FQM0FSQklUUlVNIixuYW1lOiJQYW5jYWtlc3dhcCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NTYyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQVJCSVRSVU0iLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzQkFTRSIsbmFtZToiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMDkxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQkFTRSIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNCU0MiLG5hbWU6IlBhbmNha2VTd2FwIHYzIChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjI0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUDNCU0MiLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzRVRIIixuYW1lOiJQYW5jYWtlU3dhcCB2MyAoRXRoZXJldW0pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNjEzMTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBBTkNBS0VTV0FQM0VUSCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNaS1NZTkMiLG5hbWU6IlBhbmNha2Vzd2FwIHYzICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMDM0MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzWktTWU5DIixwcm92aWRlcklkOiJwYW5jYWtlc3dhcDMifSx7dmFsdWU6IkNVUlZFIixuYW1lOiJDdXJ2ZSAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwOTAyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRSIscHJvdmlkZXJJZDoiY3VydmUifSx7dmFsdWU6IkNVUlZFQVJCSVRSVU0iLG5hbWU6IkN1cnZlIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA0MzMxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRUFSQklUUlVNIixwcm92aWRlcklkOiJjdXJ2ZSJ9LHt2YWx1ZToiUElPTkVYIixuYW1lOiJQaW9uZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc0NjcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQSU9ORVgiLHByb3ZpZGVySWQ6InBpb25leCJ9LHt2YWx1ZToiUFVMU0VYMiIsbmFtZToiUHVsc2VYIHYyIChQdWxzZWNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Nzk3NTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWDIiLHByb3ZpZGVySWQ6InB1bHNleCJ9LHt2YWx1ZToiUFlUSCIsbmFtZToiUHl0aCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDgxNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBZVEgiLHByb3ZpZGVySWQ6InB5dGgifSx7dmFsdWU6IlJBTVNFUzIiLG5hbWU6IlJhbXNlcyB2MiAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyODA0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUkFNU0VTMiIscHJvdmlkZXJJZDoicmFtc2VzMiJ9LHt2YWx1ZToiUkFZRElVTSIsbmFtZToiUmF5ZGl1bSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjU2MTEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlJBWURJVU0iLHByb3ZpZGVySWQ6InJheWRpdW0ifSx7dmFsdWU6IlJBWURJVU1DTE1NIixuYW1lOiJSYXlkaXVtIENMTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQzNzkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ0xNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNsbW0ifSx7dmFsdWU6IlJBWURJVU1DUE1NIixuYW1lOiJSYXlkaXVtIENQTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA4OTcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ1BNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNwbW0ifSx7dmFsdWU6IlNUT05GSSIsbmFtZToiU1RPTi5maSAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzI5MDkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNUT05GSSIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVE9ORkkyIixuYW1lOiJTVE9OLmZpIHYyIChUT04pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NDQ5NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1RPTkZJMiIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVU5TV0FQMiIsbmFtZToiU3VuU3dhcCB2MiAoVFJPTikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDMxNTE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVU5TV0FQMiIscHJvdmlkZXJJZDoic3Vuc3dhcCJ9LHt2YWx1ZToiV0hJVEVCSVQiLG5hbWU6IldoaXRlQklUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMjQ0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0hJVEVCSVQiLHByb3ZpZGVySWQ6IndoaXRlYml0In0se3ZhbHVlOiJXT09ORVRXT1JLIixuYW1lOiJXT08gWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjUyNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IldPT05FVFdPUksiLHByb3ZpZGVySWQ6Indvb25ldHdvcmsifSx7dmFsdWU6IlZPTE1FWCIsbmFtZToiVm9sbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzA3NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVk9MTUVYIixwcm92aWRlcklkOiJ2b2xtZXgifSx7dmFsdWU6IlpLU1dBUCIsbmFtZToiemtTd2FwICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxODIzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJaS1NXQVAiLHByb3ZpZGVySWQ6Inprc3dhcCJ9LHt2YWx1ZToiWk9PTUVYIixuYW1lOiJab29tZXgiLApkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MDQwMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWk9PTUVYIixwcm92aWRlcklkOiJ6b29tZXgifSx7dmFsdWU6IkFEWCIsbmFtZToiQURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDE1MikpLGZsYWc6ImFlIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImFlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDkwOTEpKV19LHt2YWx1ZToiSUNFQUJVRCIsbmFtZToiSUNFQUQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ0MzQ1KSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJERk0iLG5hbWU6IkRGTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDc0NDEpKSxmbGFnOiJhZSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJhZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYzMTEwKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjQ5MDkxKSldfSx7dmFsdWU6Ik5BU0RBUURVQkFJIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAzNjUwKSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJBUVVJUyIsbmFtZToiQVFVSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY5ODI4KSksZmxhZzoidWsiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InVrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1ODc1MzMpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3MykpXX0se3ZhbHVlOiJMU0UiLG5hbWU6IkxTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNDM4MDMpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkxNRSIsbmFtZToiTE1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4OTI0MykpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiTFNJTiIsbmFtZToiTFNJTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDczMzcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IlRVUlFVT0lTRSIsbmFtZToiVHVycXVvaXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2MTYzMikpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiRlRTRSIsbmFtZToiRlRTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNzkyNTcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkVVUkVYIixuYW1lOiJFVVJFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg1OTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik1HRVgiLG5hbWU6Ik1HRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTk2KSksZmxhZzoidXNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTkFTREFRIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ4NjcwKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJOWVNFIixuYW1lOiJOWVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MjQ4NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6Mixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQU1FWCIsbmFtZToiQXJjYSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njg0MDMpKSxmbGFnOiJ1c2EiLApncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDozLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJPVEMiLG5hbWU6Ik9UQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDA0MTMpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDcxNTgpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjUscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IlNQIixuYW1lOiJTUCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDgyNTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0UiLG5hbWU6IkNCT0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk5ODc3KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo3LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJNU1RBUl9JTkRJQ0VTIixuYW1lOiJNU1RBUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MTI3NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRklOUkFCVERTIixuYW1lOiJGSU5SQSBCVERTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0MjgyNikpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiT1BSQSIsbmFtZToiT1BSQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1OTQxNzApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZJTlJBQVREUyIsbmFtZToiRklOUkEgQVREUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTU1MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0VFVSIsbmFtZToiQ0JPRSBFVSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzODg4NTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IkNCT1QiLG5hbWU6IkNCT1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTAyNzIxKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo4LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDTUUiLG5hbWU6IkNNRSBHTE9CRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzcxNjY1KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo5LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWCIsbmFtZToiQ09NRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjkzOTg2KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxMCxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTllNRVgiLG5hbWU6Ik5ZTUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MTYxNykpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6MTEscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IklDRVVTIixuYW1lOiJJQ0VVUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg4MTApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjEyLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSUNFVVNDQSIsbmFtZToiSUNFVVNDQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDU2MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNTRSIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5MzkzMykpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTMscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiQ0JPRV9DQU5BREEiLG5hbWU6IkNib2UgQ2FuYWRhIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0NTAxOCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVFNYIixuYW1lOiJUU1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODk1MjQ2KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByaW9yaXR5SW5Hcm91cDoxNSxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTE4OSkpXX0se3ZhbHVlOiJUU1hWIixuYW1lOiJUU1hWIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4MzUyNCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVE1YIixuYW1lOiJUTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg1NDg0KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MTg5KSldfSx7dmFsdWU6IlJVUyIsbmFtZToiUlVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzMzNikpLGZsYWc6InJ1c3NpYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToicnUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDU5OCkpXX0se3ZhbHVlOiJNWVgiLG5hbWU6Ik1ZWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjUwNjgpKSxmbGFnOiJtYWxheXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJteSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjI3OTY3KSldfSx7dmFsdWU6IkZUU0VNWVgiLG5hbWU6IkZUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODU1NDc5KSksZmxhZzoibWFsYXlzaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibXkiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDYyNzk2NykpXX0se3ZhbHVlOiJIT1NFIixuYW1lOiJIT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4OTU2OSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IkhOWCIsbmFtZToiSE5YIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEwNTg1NSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IlVQQ09NIixuYW1lOiJITlggVVBDb00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTkxNDUpKSxmbGFnOiJ2aWV0bmFtIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InZuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTIyMSkpXX0se3ZhbHVlOiJDU0VMSyIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNTY4NCkpLGZsYWc6InNyaV9sYW5rYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJsayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA0NzY2KSldfSx7dmFsdWU6IkJJVFNUQU1QIixuYW1lOiJCaXRzdGFtcCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDY2NjYpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFNUQU1QIixwcm92aWRlcklkOiJiaXRzdGFtcCJ9LHt2YWx1ZToiQUNUSVZUUkFERVMiLG5hbWU6IkFjdGl2VHJhZGVzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzY5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQUNUSVZUUkFERVMiLHByb3ZpZGVySWQ6ImFjdGl2dHJhZGVzIn0se3ZhbHVlOiJCMlBSSU1FIixuYW1lOiJCMlBSSU1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0ODczNCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkIyUFJJTUUiLHByb3ZpZGVySWQ6ImIycHJpbWUifSx7dmFsdWU6IkJMQUNLQlVMTCIsbmFtZToiQmxhY2tCdWxsIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEyODQxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsCmNvdW50cnk6IiIsc291cmNlSWQ6IkJMQUNLQlVMTCIscHJvdmlkZXJJZDoiYmxhY2tidWxsbWFya2V0cyJ9LHt2YWx1ZToiQkxVRUJFUlJZIixuYW1lOiJCbHVlYmVycnkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAyNDMzKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUJFUlJZIixwcm92aWRlcklkOiJibHVlYmVycnkifSx7dmFsdWU6IkNNQ01BUktFVFMiLG5hbWU6IkNNQyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ5NzExMCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkNNQ01BUktFVFMiLHByb3ZpZGVySWQ6ImNtY21hcmtldHMifSx7dmFsdWU6IkNYTSIsbmFtZToiQ1hNIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1NDk3KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ1hNIixwcm92aWRlcklkOiJjeG0ifSx7dmFsdWU6IkRBUldJTkVYIixuYW1lOiJEYXJ3aW5leCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMzU5NjUpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJEQVJXSU5FWCIscHJvdmlkZXJJZDoiZGFyd2luZXgifSx7dmFsdWU6IkRFUklWIixuYW1lOiJEZXJpdiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDI4NjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJViIscHJvdmlkZXJJZDoiZGVyaXYifSx7dmFsdWU6IkZQTUFSS0VUUyIsbmFtZToiRlAgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODU2MDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGUE1BUktFVFMiLHByb3ZpZGVySWQ6ImZwbWFya2V0cyJ9LHt2YWx1ZToiRlVTSU9OTUFSS0VUUyIsbmFtZToiRnVzaW9uIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTIwMzE5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlVTSU9OTUFSS0VUUyIscHJvdmlkZXJJZDoiZnVzaW9ubWFya2V0cyJ9LHt2YWx1ZToiR09NQVJLRVRTIixuYW1lOiJHTyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0OTc4MSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdPTUFSS0VUUyIscHJvdmlkZXJJZDoiZ29tYXJrZXRzIn0se3ZhbHVlOiJJRyIsbmFtZToiSUciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU2OTY0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiSUciLHByb3ZpZGVySWQ6ImlnIn0se3ZhbHVlOiJUQVNUWUZYIixuYW1lOiJ0YXN0eWZ4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDMyMSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoidGFzdHlmeCJ9LHt2YWx1ZToiVEhJTktNQVJLRVRTIixuYW1lOiJUaGlua01hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE5MTkyKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVEhJTktNQVJLRVRTIixwcm92aWRlcklkOiJ0aGlua21hcmtldHMifSx7dmFsdWU6IlRJQ0tNSUxMIixuYW1lOiJUaWNrbWlsbCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTgwNDQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUSUNLTUlMTCIscHJvdmlkZXJJZDoidGlja21pbGwifSx7dmFsdWU6IlRSQURFTkFUSU9OIixuYW1lOiJUcmFkZSBOYXRpb24iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAwMDA1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVOQVRJT04iLHByb3ZpZGVySWQ6InRyYWRlbmF0aW9uIn0se3ZhbHVlOiJUUklWRSIsbmFtZToiVHJpdmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY1NDY1KSksZmxhZzoiRm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJJVkUiLHByb3ZpZGVySWQ6InRyaXZlIn0se3ZhbHVlOiJWQU5UQUdFIixuYW1lOiJWYW50YWdlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2MjUxNykpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZBTlRBR0UiLHByb3ZpZGVySWQ6InZhbnRhZ2VmeCJ9LHt2YWx1ZToiVkVMT0NJVFkiLG5hbWU6IlZlbG9jaXR5IFRyYWRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MDc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ2ZWxvY2l0eXRyYWRlIn0se3ZhbHVlOiJGWCIsbmFtZToiRlhDTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTI3MjYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImZ4Y20ifSx7dmFsdWU6IkZYUFJPIixuYW1lOiJGeFBybyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjE0MDApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGWFBSTyIscHJvdmlkZXJJZDoiZnhwcm8ifSx7dmFsdWU6IkZYVEYiLG5hbWU6IkZYVEYiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0MTE1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlhURiIscHJvdmlkZXJJZDoiZnh0ZiJ9LHt2YWx1ZToiRUlHSFRDQVAiLG5hbWU6IkVpZ2h0Y2FwIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1OTQ1OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkVJR0hUQ0FQIixwcm92aWRlcklkOiJlaWdodGNhcCJ9LHt2YWx1ZToiRVJSQU5URSIsbmFtZToiRXJyYW50ZSIsCmRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM2ODgpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJFUlJBTlRFIixwcm92aWRlcklkOiJlcnJhbnRlIn0se3ZhbHVlOiJFU0FGWCIsbmFtZToiRXNhRlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTA4ODQ2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJlc2FmeCJ9LHt2YWx1ZToiT1NNQU5MSUZYIixuYW1lOiJPc21hbmxpIEZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzOTU0OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoib3NtYW5saWZ4In0se3ZhbHVlOiJCVENFIixuYW1lOiJCVEMtZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzI1NzQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiSE9ORVlTV0FQIixuYW1lOiJIb25leXN3YXAgdjIgKEdub3NpcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDA2NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhPTkVZU1dBUCIscHJvdmlkZXJJZDoiaG9uZXlzd2FwIn0se3ZhbHVlOiJIWVBFUkxJUVVJRCIsbmFtZToiSHlwZXJsaXF1aWQgKEh5cGVybGlxdWlkKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMzIzMDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhZUEVSTElRVUlEIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1hZWiIsbmFtZToiSHlwZXJsaXF1aWQgKFhZWiBISVAtMykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMyMzAzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJISVAzWFlaIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1BBUkEiLG5hbWU6Ikh5cGVybGlxdWlkIChQQVJBIEhJUC0zKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQxODUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhJUDNQQVJBIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiQlNFIixuYW1lOiJCU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ1NzYwKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNU0VJIixuYW1lOiJNU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzE5ODY0KSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJOWU1FWF9NSU5JIixuYW1lOiJOWU1FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODE2MTcpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWF9NSU5JIixuYW1lOiJDT01FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTM5ODYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJJQ0VFTkRFWCIsbmFtZToiSUNFRU5ERVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjE5ODMzKSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJJQ0VFVVJGSU4iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzU1NTgpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IklDRUVVUkNPTU0iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NTU1MjcpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik5TRSIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MDcxKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNQ1giLG5hbWU6Ik1DWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MDI3OCkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiTkNERVgiLG5hbWU6Ik5DREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0MTI1NSkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiS0NCVCIsbmFtZToiS0NCVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNTgxOTQpKSxmbGFnOiJ1c2EiLApoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQ0JPVF9NSU5JIixuYW1lOiJDQk9UIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjcyMSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IktSQUtFTiIsbmFtZToiS3Jha2VuIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5MDEyMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1JBS0VOIixwcm92aWRlcklkOiJrcmFrZW4ifSx7dmFsdWU6IktVQ09JTiIsbmFtZToiS3VDb2luIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwODQwOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1VDT0lOIixwcm92aWRlcklkOiJrdWNvaW4ifSx7dmFsdWU6IkxVTkFSQ1JVU0giLG5hbWU6Ikx1bmFyQ3J1c2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIzODk0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMVU5BUkNSVVNIIixwcm92aWRlcklkOiJsdW5hcmNydXNoIn0se3ZhbHVlOiJYRVhDSEFOR0UiLG5hbWU6InhFeGNoYW5nZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM0OTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlhFWENIQU5HRSIscHJvdmlkZXJJZDoieGV4Y2hhbmdlIn0se3ZhbHVlOiJYVENPTSIsbmFtZToiWFQuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4NjExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWFRDT00iLHByb3ZpZGVySWQ6Inh0Y29tIn0se3ZhbHVlOiJDTUVfTUlOSSIsbmFtZToiQ01FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MTY2NSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjI0NzEpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJTUCIsbmFtZToiU1AiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQxOTgpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJCVENDSElOQSIsbmFtZToiQlRDIENoaW5hIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ0NzIyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJBTlgiLG5hbWU6IkFOWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTk5NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJNRVhCVCIsbmFtZToibWVYQlQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ1MTUzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5IixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkdFTUlOSSIsbmFtZToiR2VtaW5pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxODMxMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiR0VNSU5JIixwcm92aWRlcklkOiJnZW1pbmkifSx7dmFsdWU6IkJJVFZDIixuYW1lOiJCaXRWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDYwMjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklUWUVTIixuYW1lOiJCaXRZZXMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1NDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklURkxZRVIiLG5hbWU6ImJpdEZseWVyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1MTk0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURkxZRVIiLHByb3ZpZGVySWQ6ImJpdGZseWVyIn0se3ZhbHVlOiJCWUJJVCIsbmFtZToiQnliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE4OTY3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLApzb3VyY2VJZDoiQllCSVQiLHByb3ZpZGVySWQ6ImJ5Yml0In0se3ZhbHVlOiJCWURGSSIsbmFtZToiQllERmkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0OTExKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCWURGSSIscHJvdmlkZXJJZDoiYnlkZmkifSx7dmFsdWU6IkJJVE1FWCIsbmFtZToiQml0TUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1NTc2NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUTUVYIixwcm92aWRlcklkOiJiaXRtZXgifSx7dmFsdWU6IkNBUElUQUxDT00iLG5hbWU6IkNhcGl0YWwuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwNzc2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FQSVRBTENPTSIscHJvdmlkZXJJZDoiY2FwaXRhbGNvbSJ9LHt2YWx1ZToiQ0ZJIixuYW1lOiJDRkkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE1NzM4KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0ZJIixwcm92aWRlcklkOiJjZmlmaW5hbmNpYWwifSx7dmFsdWU6IkNPSU5FWCIsbmFtZToiQ29pbkV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2OTE1MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkVYIixwcm92aWRlcklkOiJjb2luZXgifSx7dmFsdWU6IkNPSU5KQVIiLG5hbWU6IkNvaW5KYXIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzAzNzQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOSkFSIixwcm92aWRlcklkOiJjb2luamFyIn0se3ZhbHVlOiJDT0lOVyIsbmFtZToiQ29pblciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzkzMDk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOVyIscHJvdmlkZXJJZDoiY29pbncifSx7dmFsdWU6IkNPSU5TV0lUQ0giLG5hbWU6IkNvaW5Td2l0Y2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM4ODI5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOU1dJVENIIixwcm92aWRlcklkOiJjb2luc3dpdGNoIn0se3ZhbHVlOiJFQVNZTUFSS0VUUyIsbmFtZToiZWFzeU1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDI0MzM0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRUFTWU1BUktFVFMiLHByb3ZpZGVySWQ6ImVhc3ltYXJrZXRzIn0se3ZhbHVlOiJGT1JFWENPTSIsbmFtZToiRk9SRVguY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3MjQ0MikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZ2FpbiJ9LHt2YWx1ZToiRlhfSURDIixuYW1lOiJJQ0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDAzNDMwKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJpY2UifSx7dmFsdWU6IklCS1IiLG5hbWU6IkludGVyYWN0aXZlIEJyb2tlcnMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyNDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQktSIixwcm92aWRlcklkOiJpYmtyIn0se3ZhbHVlOiJJQlJPS0VSIixuYW1lOiJpQnJva2VyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY1MzU3MCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IklCUk9LRVIiLHByb3ZpZGVySWQ6Imlicm9rZXIifSx7dmFsdWU6IklDTUFSS0VUUyIsbmFtZToiSUMgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDkyMTIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQ01BUktFVFMiLHByb3ZpZGVySWQ6ImljbWFya2V0cyJ9LHt2YWx1ZToiQklURklORVgiLG5hbWU6IkJpdGZpbmV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1ODAyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURklORVgiLHByb3ZpZGVySWQ6ImJpdGZpbmV4In0se3ZhbHVlOiJNVEdPWCIsbmFtZToiTXQuR294IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMjg4OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1UR09YIixwcm92aWRlcklkOiJtdGdveCJ9LHt2YWx1ZToiUEhBUkFPSCIsbmFtZToiUGhhcmFvaCAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MzM1MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBIQVJBT0giLHByb3ZpZGVySWQ6InBoYXJhb2gifSx7dmFsdWU6IlBIRU1FWCIsbmFtZToiUGhlbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwNTMyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEhFTUVYIixwcm92aWRlcklkOiJwaGVtZXgifSx7dmFsdWU6IlBPTE9OSUVYIixuYW1lOiJQb2xvbmlleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDMyMzUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBPTE9OSUVYIixwcm92aWRlcklkOiJwb2xvbmlleCJ9LHt2YWx1ZToiUFVMU0VYIixuYW1lOiJQdWxzZXggKFB1bHNlY2hhaW4pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzkzMDcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWCIscHJvdmlkZXJJZDoicHVsc2V4In0se3ZhbHVlOiJRVUlDS1NXQVAiLG5hbWU6IlF1aWNrU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyMjgxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJRVUlDS1NXQVAiLHByb3ZpZGVySWQ6InF1aWNrc3dhcCJ9LHt2YWx1ZToiUVVJQ0tTV0FQM1BPTFlHT05aS0VWTSIsbmFtZToiUXVpY2tTd2FwIHYzIChQb2x5Z29uIHprRVZNKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NzMzOTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlFVSUNLU1dBUDNQT0xZR09OWktFVk0iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlFVSUNLU1dBUDNQT0xZR09OIixuYW1lOiJRdWlja1N3YXAgdjMgKFBvbHlnb24pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NjU0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUVVJQ0tTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlNVU0hJU1dBUCIsbmFtZToiU3VzaGlTd2FwIHYyIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTAzNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1VTSElTV0FQIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNVU0hJU1dBUFBPTFlHT04iLG5hbWU6IlN1c2hpU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzI0NzA5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVVNISVNXQVBQT0xZR09OIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNZTkNTV0FQIixuYW1lOiJTeW5jU3dhcCAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDk5ODMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNZTkNTV0FQIixwcm92aWRlcklkOiJzeW5jc3dhcCJ9LHt2YWx1ZToiU1lOQ1NXQVAyIixuYW1lOiJTeW5jU3dhcCB2MiAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjExMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1lOQ1NXQVAyIixwcm92aWRlcklkOiJzeW5jc3dhcDIifSx7dmFsdWU6IlRPT0JJVCIsbmFtZToiVG9vYml0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQxNjE5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUT09CSVQiLHByb3ZpZGVySWQ6InRvb2JpdCJ9LHt2YWx1ZToiVFJBREVSSk9FIixuYW1lOiJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MDI0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVSSk9FIixwcm92aWRlcklkOiJ0cmFkZXJqb2UifSx7dmFsdWU6IlRVUkJPU0ZJTkFOQ0UiLG5hbWU6IlR1cmJvcyBGaW5hbmNlIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0OTE4MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFVSQk9TRklOQU5DRSIscHJvdmlkZXJJZDoidHVyYm9zZmluYW5jZSJ9LHt2YWx1ZToiVU5JU1dBUCIsbmFtZToiVW5pc3dhcCB2MiAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2NTk0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUCIscHJvdmlkZXJJZDoidW5pc3dhcCJ9LHt2YWx1ZToiVU5JU1dBUEJBU0UiLG5hbWU6IlVuaXN3YXAgdjIgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwMzkyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXAifSx7dmFsdWU6IlVOSVNXQVAzRVRIIixuYW1lOiJVbmlzd2FwIHYzIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNTA1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0VUSCIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzUE9MWUdPTiIsbmFtZToiVW5pc3dhcCB2MyAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzgzNzc1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0FSQklUUlVNIixuYW1lOiJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTkxOTcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2MyAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0Mzc4NCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDNPUFRJTUlTTSIsCnByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0JTQyIsbmFtZToiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDA2OTcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQlNDIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNCQVNFIixuYW1lOiJVbmlzd2FwIHYzIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTYyNjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQkFTRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzQVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHYzIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4MTUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FWQUxBTkNIRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVA0RVRIIixuYW1lOiJVbmlzd2FwIHY0IChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA4NjgyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEVUSCIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QlNDIixuYW1lOiJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0NTE2MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRCU0MiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEJBU0UiLG5hbWU6IlVuaXN3YXAgdjQgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3Mjg0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEFSQklUUlVNIixuYW1lOiJVbmlzd2FwIHY0IChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzU3NTkzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEFSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRQT0xZR09OIixuYW1lOiJVbmlzd2FwIHY0IChQb2x5Z29uKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODQxMjIpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVA0UE9MWUdPTiIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDExMTMwMCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRBVkFMQU5DSEUiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNFVOSUNIQUlOIixuYW1lOiJVbmlzd2FwIHY0IChVbmljaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjg5MzE3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNFVOSUNIQUlOIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2NCAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ3MDQ4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRPUFRJTUlTTSIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVQQklUIixuYW1lOiJVcEJpdCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxOTM4MTgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVQQklUIixwcm92aWRlcklkOiJ1cGJpdCJ9LHt2YWx1ZToiQU5UQVJDVElDIixuYW1lOiJBbnRhcmN0aWMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ2ODcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBTlRBUkNUSUMiLHByb3ZpZGVySWQ6ImFudGFyY3RpYyJ9LHt2YWx1ZToiQklOR1giLG5hbWU6IkJpbmdYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzUzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklOR1giLHByb3ZpZGVySWQ6ImJpbmd4In0se3ZhbHVlOiJCVFNFIixuYW1lOiJCVFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxMTE3NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRTRSIscHJvdmlkZXJJZDoiYnRzZSJ9LHt2YWx1ZToiQklUVFJFWCIsbmFtZToiQml0dHJleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDg0NTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFRSRVgiLHByb3ZpZGVySWQ6ImJpdHRyZXgifSx7dmFsdWU6IkJJVFZBVk8iLG5hbWU6IkJpdHZhdm8iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIwODM5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRWQVZPIixwcm92aWRlcklkOiJiaXR2YXZvIn0se3ZhbHVlOiJCSVRVTklYIixuYW1lOiJCaXR1bml4IiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg1NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFVOSVgiLHByb3ZpZGVySWQ6ImJpdHVuaXgifSx7dmFsdWU6IkJJTkFOQ0UiLG5hbWU6IkJpbmFuY2UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjA1ZTMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0UiLHByb3ZpZGVySWQ6ImJpbmFuY2UifSx7dmFsdWU6IkJJVEdFVCIsbmFtZToiQml0Z2V0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNjYwOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUR0VUIixwcm92aWRlcklkOiJiaXRnZXQifSx7dmFsdWU6IkJJTkFOQ0VVUyIsbmFtZToiQmluYW5jZS5VUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMTE2NzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0VVUyIscHJvdmlkZXJJZDoiYmluYW5jZSJ9LHt2YWx1ZToiREVMVEFJTiIsbmFtZToiRGVsdGEgRXhjaGFuZ2UgSW5kaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTc2NTQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUxUQUlOIixwcm92aWRlcklkOiJkZWx0YWluIn0se3ZhbHVlOiJCTE9GSU4iLG5hbWU6IkJsb0ZpbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDI5ODcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJMT0ZJTiIscHJvdmlkZXJJZDoiYmxvZmluIn0se3ZhbHVlOiJCTEFDS0hPTEUzIixuYW1lOiJCbGFja2hvbGUgdjMgKEF2YWxhbmNoZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgzMjg3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCTEFDS0hPTEUzIixwcm92aWRlcklkOiJibGFja2hvbGUzIn0se3ZhbHVlOiJCTFVFRklOIixuYW1lOiJCbHVlZmluIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxNTQyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUZJTiIscHJvdmlkZXJJZDoiYmx1ZWZpbiJ9LHt2YWx1ZToiQk5DIixuYW1lOiJCcmF2ZSBOZXcgQ29pbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzkxNTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJOQyIscHJvdmlkZXJJZDoiYm5jIn0se3ZhbHVlOiJCVENDIixuYW1lOiJCVENDIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NDMxNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRDQyIscHJvdmlkZXJJZDoiYnRjYyJ9LHt2YWx1ZToiS0FUQU5BIixuYW1lOiJLYXRhbmEgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODA3MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQSIscHJvdmlkZXJJZDoia2F0YW5hIn0se3ZhbHVlOiJLQVRBTkEzIixuYW1lOiJLYXRhbmEgdjMgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTc2MDUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQTMiLHByb3ZpZGVySWQ6ImthdGFuYTMifSx7dmFsdWU6IktDRVgiLG5hbWU6IktDRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDk4ODk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJLQ0VYIixwcm92aWRlcklkOiJrY2V4In0se3ZhbHVlOiJDQU1FTE9UIixuYW1lOiJDYW1lbG90IHYyIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg0MTYzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDQU1FTE9UIixwcm92aWRlcklkOiJjYW1lbG90MiJ9LHt2YWx1ZToiQ0FNRUxPVDNBUkJJVFJVTSIsbmFtZToiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzY4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FNRUxPVDNBUkJJVFJVTSIscHJvdmlkZXJJZDoiY2FtZWxvdDMifSx7dmFsdWU6IkNPSU5ERVNLIixuYW1lOiJDb2luRGVzayBJbmRpY2VzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1ODc4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkRFU0siLHByb3ZpZGVySWQ6ImNvaW5kZXNrIn0se3ZhbHVlOiJDUllQVE9DT00iLG5hbWU6IkNyeXB0by5jb20iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjI4NDQ5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDUllQVE9DT00iLHByb3ZpZGVySWQ6ImNyeXB0b2NvbSJ9LHt2YWx1ZToiVkVMT0RST01FIixuYW1lOiJWZWxvZHJvbWUgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDQ4MjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZFTE9EUk9NRSIscHJvdmlkZXJJZDoidmVsb2Ryb21lIn0se3ZhbHVlOiJWRUxPRFJPTUUyIixuYW1lOiJWZWxvZHJvbWUgdjIgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NTc3MzQpKSxmbGFnOiJiaXRjb2luIiwKZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWRUxPRFJPTUUyIixwcm92aWRlcklkOiJ2ZWxvZHJvbWUyIn0se3ZhbHVlOiJWRUxPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJWZWxvZHJvbWUgU2xpcFN0cmVhbSAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzI1MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVkVMT0RST01FU0xJUFNUUkVBTSIscHJvdmlkZXJJZDoidmVsb2Ryb21lc2xpcHN0cmVhbSJ9LHt2YWx1ZToiVlZTRklOQU5DRSIsbmFtZToiVlZTIEZpbmFuY2UgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMxMzI1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlNGSU5BTkNFIixwcm92aWRlcklkOiJ2dnNmaW5hbmNlIn0se3ZhbHVlOiJWVlMzIixuYW1lOiJWVlMgdjMgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk0MTc2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlMzIixwcm92aWRlcklkOiJ2dnMzIn0se3ZhbHVlOiJXRUJVTExQQVkiLG5hbWU6IldlYnVsbCBQYXkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY1ODUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJXRUJVTExQQVkiLHByb3ZpZGVySWQ6IndlYnVsbHBheSJ9LHt2YWx1ZToiQ0VUVVMiLG5hbWU6IkNldHVzIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDE0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0VUVVMiLHByb3ZpZGVySWQ6ImNldHVzIn0se3ZhbHVlOiJXRUVYIixuYW1lOiJXRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzNjg3MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0VFWCIscHJvdmlkZXJJZDoid2VleCJ9LHt2YWx1ZToiTU1GSU5BTkNFIixuYW1lOiJNTSBGaW5hbmNlIChDcm9ub3MpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MjUxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiTU1GSU5BTkNFIixwcm92aWRlcklkOiJtbWZpbmFuY2UifSx7dmFsdWU6IkFFUk9EUk9NRSIsbmFtZToiQWVyb2Ryb21lIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMTc4NjQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkFFUk9EUk9NRSIscHJvdmlkZXJJZDoiYWVyb2Ryb21lIn0se3ZhbHVlOiJBRVJPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJBZXJvZHJvbWUgU2xpcFN0cmVhbSAoQmFzZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI1MjEyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBRVJPRFJPTUVTTElQU1RSRUFNIixwcm92aWRlcklkOiJhZXJvZHJvbWVzbGlwc3RyZWFtIn0se3ZhbHVlOiJCQVNFU1dBUCIsbmFtZToiQmFzZVN3YXAgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIyMTM1OSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkFTRVNXQVAiLHByb3ZpZGVySWQ6ImJhc2Vzd2FwIn0se3ZhbHVlOiJCQ0JBIixuYW1lOiJCWU1BIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNjkwOSkpLGZsYWc6ImFyZ2VudGluYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiYXIiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NzU4NykpXX0se3ZhbHVlOiJNQVRCQVJPRkVYIixuYW1lOiJST0ZFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjM0MDEpKSxmbGFnOiJhcmdlbnRpbmEiLGdyb3VwOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGNvdW50cnk6ImFyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTc1ODcpKV19LHt2YWx1ZToiQk1GQk9WRVNQQSIsbmFtZToiQjMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDc5MzQxKSksZmxhZzoiYnJhc2lsIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJiciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldfSx7dmFsdWU6IkJNViIsbmFtZToiQk1WIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwOTQyNykpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCSVZBIixuYW1lOiJCSVZBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MjI0OSkpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCVkwiLG5hbWU6IkJWTCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNTEwNzYpKSxmbGFnOiJwZXJ1Iixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJwZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODUxMTExKSldfSx7dmFsdWU6IkJDUyIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMyMTE3NSkpLGZsYWc6ImNoaWxlIiwKZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY2wiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXX0se3ZhbHVlOiJCVkMiLG5hbWU6IkJWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODQ2MTkpKSxmbGFnOiJjb2xvbWJpYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY28iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzNTg2NykpXX0se3ZhbHVlOiJCVkNWIixuYW1lOiJCVkMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA1OTUyKSksZmxhZzoidmVuZXp1ZWxhIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJ2ZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldfSx7dmFsdWU6Ik5BRyIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkyMjc3MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiVFNFIixuYW1lOiJUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQxNzQpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRGRVgiLG5hbWU6IlRGRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTUxNDkxKSksZmxhZzoidGhhaWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidGgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU1MzA0NCkpXX0se3ZhbHVlOiJURlgiLG5hbWU6IlRGWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjMyNzgpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRPQ09NIixuYW1lOiJUT0NPTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODIxNjIpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6Ik9TRSIsbmFtZToiT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNDAzNykpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiU0dYIixuYW1lOiJTR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzkzMjUpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJBQkFYWCIsbmFtZToiQWJheHgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAzMjEwKSksZmxhZzoic2luZ2Fwb3JlIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InNnIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV19LHt2YWx1ZToiSUNFU0ciLG5hbWU6IklDRSBGdXR1cmVzIFNpbmdhcG9yZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NDQzMSkpLGZsYWc6InNpbmdhcG9yZSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJzZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNzk1KSldfSx7dmFsdWU6IkZUU0VTVCIsbmFtZToiRlRTRSBTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTIwNjcpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJTQVBTRSIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMzI5MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiRlNFIixuYW1lOiJGU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI3MjMwKSksZmxhZzoiamFwYW4iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToianAiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwMDA2OCkpXX0se3ZhbHVlOiJUUEVYIixuYW1lOiJUUEV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDgxOCkpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRBSUZFWCIsbmFtZToiVEFJRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMjcwNykpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRXU0UiLG5hbWU6IlRXU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE2MjUzKSksZmxhZzoidGFpd2FuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLApjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlNFVCIsbmFtZToiU0VUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3NjM0NikpLGZsYWc6InRoYWlsYW5kIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InRoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTMwNDQpKV19LHt2YWx1ZToiS1JYIixuYW1lOiJLUlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxMjg5KSksZmxhZzoic291dGhfa29yZWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToia3IiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4Nzc1MikpXX0se3ZhbHVlOiJCQUhSQUlOIixuYW1lOiJCSEIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQ0NjUpKSxmbGFnOiJiYWhyYWluIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImJoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Nzg2NjUpKV19LHt2YWx1ZToiS1NFIixuYW1lOiJLU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY2MDQwKSksZmxhZzoia3V3YWl0Iixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Imt3Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTUxMzApKV19LHt2YWx1ZToiQ1NFQ1kiLG5hbWU6IkNTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM4ODMpKSxmbGFnOiJjeXBydXMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImN5Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQ3MzcpKV19LHt2YWx1ZToiQlZNVCIsbmFtZToiQlZNVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzMzNikpLGZsYWc6InR1bmlzaWEiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToidG4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzU5KSldfSx7dmFsdWU6IkFUSEVYIixuYW1lOiJBVEhFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDExNzYpKSxmbGFnOiJncmVlY2UiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImdyIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkJFTEVYIixuYW1lOiJCRUxFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMDQyMDApKSxmbGFnOiJzZXJiaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTg1MjkpKV19LHt2YWx1ZToiRUdYIixuYW1lOiJFR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTk3MTI1KSksZmxhZzoiZWd5cHQiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiZWciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzQzNykpXX0se3ZhbHVlOiJUQURBV1VMIixuYW1lOiJUYWRhd3VsIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NzY0NykpLGZsYWc6InNhdWRpX2FyYWJpYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJzYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldfSx7dmFsdWU6IkNTRU1BIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM5MDk3KSksZmxhZzoibW9yb2NjbyIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJtYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIxNDMzKSldfSx7dmFsdWU6IklEWCIsbmFtZToiSURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1MTA1OCkpLGZsYWc6ImluZG9uZXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJpZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAyOTc1KSldfSx7dmFsdWU6IkhTSSIsbmFtZToiSFNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NTU1NSkpLGZsYWc6Imhvbmdfa29uZyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJoayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldfSx7dmFsdWU6IlFTRSIsbmFtZToiUVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NTU1NSkpLGZsYWc6InFhdGFyIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6InFhIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV19LHt2YWx1ZToiT0FOREEiLG5hbWU6Ik9BTkRBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NTE4NCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9BTkRBIixwcm92aWRlcklkOiJvYW5kYSJ9LHt2YWx1ZToiT1BPRklOQU5DRSIsbmFtZToiT3BvZmluYW5jZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzIwNzApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJPUE9GSU5BTkNFIixwcm92aWRlcklkOiJvcG9maW5hbmNlIn0se3ZhbHVlOiJTQVhPIixuYW1lOiJTYXhvIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MzQ3OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNBWE8iLHByb3ZpZGVySWQ6InNheG9iYW5rIn0se3ZhbHVlOiJQRVBQRVJTVE9ORSIsbmFtZToiUGVwcGVyc3RvbmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NDkzKSksZmxhZzoiZm9yZXgiLApncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBFUFBFUlNUT05FIixwcm92aWRlcklkOiJwZXBwZXJzdG9uZSJ9LHt2YWx1ZToiUEhJTExJUE5PVkEiLG5hbWU6IlBoaWxsaXAgTm92YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzIwMzYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InBoaWxsaXBub3ZhIn0se3ZhbHVlOiJQVVJQTEVUUkFESU5HIixuYW1lOiJQdXJwbGUgVHJhZGluZyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMTU3OTEpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQVVJQTEVUUkFESU5HIixwcm92aWRlcklkOiJwdXJwbGV0cmFkaW5nIn0se3ZhbHVlOiJTS0lMTElORyIsbmFtZToiU2tpbGxpbmciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA2OTczKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiU0tJTExJTkciLHByb3ZpZGVySWQ6InNraWxsaW5nIn0se3ZhbHVlOiJTUFJFQURFWCIsbmFtZToiU3ByZWFkZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjkxMjc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJzcHJlYWRleCJ9LHt2YWx1ZToiU1dJU1NRVU9URSIsbmFtZToiU3dpc3NxdW90ZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NjA1MzQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTV0lTU1FVT1RFIixwcm92aWRlcklkOiJzd2lzc3F1b3RlIn0se3ZhbHVlOiJHQkVCUk9LRVJTIixuYW1lOiJHQkUgYnJva2VycyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTkxNzIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHQkVCUk9LRVJTIixwcm92aWRlcklkOiJnYmVicm9rZXJzIn0se3ZhbHVlOiJFVVJPTkVYVCIsbmFtZToiRXVyb25leHQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI0NzY0KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJFVVJPTkVYVEFNUyIsbmFtZToiRVVST05FWFRBTVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDgyMDc5KSksZmxhZzoibmV0aGVybGFuZHMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Im5sIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MTY4NjIpKV19LHt2YWx1ZToiRVVST05FWFRCUlUiLG5hbWU6IkVVUk9ORVhUQlJVIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzE1NikpLGZsYWc6ImJlbGdpdW0iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImJlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzMyNCkpXX0se3ZhbHVlOiJFVVJPTkVYVERVQiIsbmFtZToiRVVST05FWFREVUIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg4MzM2KSksZmxhZzoiaXJlbGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxMTUyNykpXX0se3ZhbHVlOiJFVVJPTkVYVExJUyIsbmFtZToiRVVST05FWFRMSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzk4MzAyKSksZmxhZzoicG9ydHVnYWwiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InB0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTg5NCkpXX0se3ZhbHVlOiJFVVJPTkVYVFBBUiIsbmFtZToiRVVST05FWFRQQVIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIyODMxKSksZmxhZzoiZnJhbmNlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJmciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM2MjM4KSldfSx7dmFsdWU6Ik9TTCIsbmFtZToiRVVST05FWFRPU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTcwMTY4KSksZmxhZzoibm9yd2F5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJubyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODQ1NTIzKSldfSx7dmFsdWU6IkVVUk9UTFgiLG5hbWU6IkVVUk9UTFgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyOTg1KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiT01YIixuYW1lOiJPTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzMzMzQ5KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGV0IiLG5hbWU6IkZXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTA2MDEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkVFWCIsbmFtZToiRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk4OTI5OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiRlJBIixuYW1lOiJGUkEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc3MDgwKSksZmxhZzoiZ2VybWFueSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTFMiLG5hbWU6IkxTIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4ODA0NzEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkxTWCIsbmFtZToiTFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg4MDQ3MSkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiU1dCIixuYW1lOiJTV0IiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzA3OTYpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IlhFVFIiLG5hbWU6IlhFVFIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxODQ3KSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJCTUUiLG5hbWU6IkJNRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTE0NTYpKSxmbGFnOiJzcGFpbiIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXX0se3ZhbHVlOiJCU1NFIixuYW1lOiJCU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NzU2OSkpLGZsYWc6InNsb3Zha2lhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjYzNDMyKSldfSx7dmFsdWU6IkJWQiIsbmFtZToiQlZCIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NTY5MykpLGZsYWc6InJvbWFuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJvIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDU5NDUpKV19LHt2YWx1ZToiQkVUIixuYW1lOiJCRVQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQxMzQxKSksZmxhZzoiaHVuZ2FyeSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaHUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY2MTM2NikpXX0se3ZhbHVlOiJHUFciLG5hbWU6IkdQVyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTQzMjQpKSxmbGFnOiJwb2xhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InBsIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg2MDkpKV19LHt2YWx1ZToiTkVXQ09OTkVDVCIsbmFtZToiR1BXIOKAlCBOZXdDb25uZWN0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NjI2KSksZmxhZzoicG9sYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJwbCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldfSx7dmFsdWU6IlpTRSIsbmFtZToiWlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNzEzNykpLGZsYWc6ImNyb2F0aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImhyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDc0KSldfSx7dmFsdWU6IkxVWFNFIixuYW1lOiJMVVhTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MzYyNTMpKSxmbGFnOiJsdXhlbWJvdXJnIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTc1NDQ3KSldfSx7dmFsdWU6IkxKU0UiLG5hbWU6IkxKU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEzOTY0KSksZmxhZzoic2xvdmVuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjE4MjEpKV19LHt2YWx1ZToiTUlMIixuYW1lOiJNSUwiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzg1ODI0KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiTkdNIixuYW1lOiJOR00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjIwNTU3KSksZmxhZzoic3dlZGVuIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldfSx7dmFsdWU6IkRVUyIsbmFtZToiRFVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1MzIzNCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiSEFNIixuYW1lOiJIQU0iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg1NTUwKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJIQU4iLG5hbWU6IkhBTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY0OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTVVOIixuYW1lOiJNVU4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU0NDgzKSksCmZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiVFJBREVHQVRFIixuYW1lOiJUUkFERUdBVEUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM3NTUxKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJHRVRURVgiLG5hbWU6IkdFVFRFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3OTM2MDIpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiZmluYW56ZW4iLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTUlMU0VERVgiLG5hbWU6Ik1JTFNFREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0OTgyNikpLGZsYWc6Iml0YWx5Iixncm91cDoiRXVyb3BlIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiaXQiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5ODE2MykpXX0se3ZhbHVlOiJJU1QiLG5hbWU6IklTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzUxMjIpKSxmbGFnOiJ0dXJrZXkiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IkJJU1QiLG5hbWU6IkJJU1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NjcwKSksZmxhZzoidHVya2V5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IlRBU0UiLG5hbWU6IlRBU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMzNTUpKSxmbGFnOiJpc3JhZWwiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiaWwiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwMzM1NCkpXX0se3ZhbHVlOiJTSVgiLG5hbWU6IlNJWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjMyNykpLGZsYWc6InN3aXR6ZXJsYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzMzOTcxKSldfSx7dmFsdWU6IkJYIixuYW1lOiJCWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjI0NjEpKSxmbGFnOiJzd2l0emVybGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiY2giLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMzk3MSkpXX0se3ZhbHVlOiJQU0VDWiIsbmFtZToiUFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzMzQ2NCkpLGZsYWc6ImN6ZWNoIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjeiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTI5ODA4KSldfSx7dmFsdWU6IkFTWCIsbmFtZToiQVNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc0MTU3MykpLGZsYWc6ImF1c3RyYWxpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJhdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc5MjMzKSldfSx7dmFsdWU6IkNISVhBVSIsbmFtZToiQ2JvZSBBdXN0cmFsaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzI4ODQ3KSksZmxhZzoiYXVzdHJhbGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImF1Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzkyMzMpKV19LHt2YWx1ZToiVklFIixuYW1lOiJXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTA3MjIpKSxmbGFnOiJhdXN0cmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJhdCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM4Mjc4KSldfSx7dmFsdWU6IkRTRUJEIixuYW1lOiJEU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1MjI0KSksZmxhZzoiYmFuZ2xhZGVzaCIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJiZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDUyMDE1KSldfSx7dmFsdWU6Ik5aWCIsbmFtZToiTlpYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzYyKSksZmxhZzoibmV3X3plYWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibnoiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQyMTYpKV19LHt2YWx1ZToiQ0ZGRVgiLG5hbWU6IkNGRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MDY1OCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1NFIixuYW1lOiJTU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY4OTIpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlNIRkUiLG5hbWU6IlNIRkUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ2NjM0KSksZmxhZzoiY2hpbmEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiY24iLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1pTRSIsbmFtZToiU1pTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzQ5NjEpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlpDRSIsbmFtZToiWkNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxODg1MCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiSEtFWCIsbmFtZToiSEtFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njk4MzcpKSxmbGFnOiJob25nX2tvbmciLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2Mzc3OSkpXX0se3ZhbHVlOiJQU0UiLG5hbWU6IlBTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NjAyMTEpKSxmbGFnOiJwaGlsaXBwaW5lcyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJwaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEzNjQ3KSldfSx7dmFsdWU6IlBTWCIsbmFtZToiUFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk2MTI0NSkpLGZsYWc6InBha2lzdGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InBrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDQ0MzYpKV19LHt2YWx1ZToiTlNFTkciLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDQxMjEpKSxmbGFnOiJuaWdlcmlhIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Im5nIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDk4NjgpKV19LHt2YWx1ZToiTlNFS0UiLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDUyNDkpKSxmbGFnOiJrZW55YSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJrZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE0OTY2KSldfSx7dmFsdWU6IkpTRSIsbmFtZToiSlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxOTI4OSkpLGZsYWc6InNvdXRoX2FmcmljYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJ6YSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEwMDgyKSldfSx7dmFsdWU6IkpGWCIsbmFtZToiSkZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkzMTIzMikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiamZ4In0se3ZhbHVlOiJNQVRTVUkiLG5hbWU6Ik1BVFNVSSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjAwNjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6Im1hdHN1aSJ9LHt2YWx1ZToiQ09JTkJBU0UiLG5hbWU6IkNvaW5iYXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5NTg4NikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkJBU0UiLHByb3ZpZGVySWQ6ImNvaW5iYXNlIn0se3ZhbHVlOiJDSVRZSU5ERVgiLG5hbWU6IkNpdHkgSW5kZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUyOTUxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0lUWUlOREVYIixwcm92aWRlcklkOiJjaXR5aW5kZXgifSx7dmFsdWU6IlVTSSIsbmFtZToiVVNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzOTE0MSkpLGZsYWc6InVzYSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6Ik9NWEhFWCIsbmFtZToiSEVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5ODE4MCkpLGZsYWc6ImZpbmxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImZpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV19LHt2YWx1ZToiT01YSUNFIixuYW1lOiJJQ0VYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4OTU5MCkpLGZsYWc6ImljZWxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImlzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV19LHt2YWx1ZToiT01YQ09QIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyMzE3KSksZmxhZzoiZGVubWFyayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjUwMSkpXX0se3ZhbHVlOiJPTVhTVE8iLG5hbWU6IlNUTyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMjU1NjgpKSxmbGFnOiJzd2VkZW4iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjk5NjMpKV19LHt2YWx1ZToiT01YVlNFIixuYW1lOiJWU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk3NTAwKSksZmxhZzoibGl0aHVhbmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdCIsCnByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5MjEwMCkpXX0se3ZhbHVlOiJPTVhUU0UiLG5hbWU6IlRBTFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3Nzk3KSksZmxhZzoiZXN0b25pYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MTIwKSldfSx7dmFsdWU6Ik9NWFJTRSIsbmFtZToiT01YUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODE4MTUpKSxmbGFnOiJsYXR2aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Imx2Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3NzMpKV19LHt2YWx1ZToiT01YTk9SRElDIixuYW1lOiJPTVhOT1JESUMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTExMjcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJPTVhCQUxUSUMiLG5hbWU6Ik9NWEJBTFRJQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjAyODcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGUkVEIixuYW1lOiJGUkVEIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MTAwNikpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZnJlZDIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSVNNIixuYW1lOiJJU00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEzNjUxKSksZmxhZzoidXNhIixncm91cDoiRWNvbm9teSIsY291bnRyeToiIixwcm92aWRlcklkOiJxdWFuZGxfaXNtIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZSQk5ZIixuYW1lOiJGUkJOWSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDI4NTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InF1YW5kbF9mcmJueSIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJGUkJQIixuYW1lOiJGUkJQIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNTExNykpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoicXVhbmRsX2ZyYnAiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRUNPTk9NSUNTIixuYW1lOiJUcmFkaW5nIEVjb25vbWljcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTQzNDIpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImVjb25vbWljcyIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJXSFNFTEZJTlZFU1QiLG5hbWU6IldIIFNlbGZJbnZlc3QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDIwOTAxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ3aHNlbGZpbnZlc3QifSx7dmFsdWU6IkJTRVNPRiIsbmFtZToiQlNFU09GIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0NzQyNCkpLGZsYWc6ImJ1bGdhcmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJiZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldfV19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/75217.8bfd234354863130e2e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.738Z","timestamp":1785124876738,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/75217.8bfd234354863130e2e0.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-c52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 86cc43261a2b4eca3696fe6a16193538\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3154,"size_decoded":1710,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3154), with no line terminators","md5":"3769691bb164341f7e317cc239ff0c44","sha1":"30fb0806e24700cbe465c6e23625f8c54f7d81d0","sha256":"5a44f7b43f7cddd61283088bc8588ab2e403da2614a2b11033b868fe41252f57","sha512":"af441b79c8ec24b217485a344904104dfdbeeb191c486f83c61059638f6ec7ad8d10444382314e3be3339643770c1e016f64a4d41c108fe0d4c7b3ca23c23d93","ssdeep":"","tlshash":"d1512130e7e9ebbb7e1e9612f38082caa443de56da1e8cb65c87d59190d05c106313fd","first_seen":"2026-06-17T17:50:59.571321Z","last_seen":"2026-07-27T06:14:34.091195Z","times_seen":329,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTjVoMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU41aDM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBvcHVwV2lkZ2V0V3JhcHBlci1BNHYwZGwxN3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5wb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3ey0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGg6MzgwcHg7LS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aDptaW4oMzgwcHgsdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcldpZHRoLDBweCkpfS5wb3B1cFdpZGdldC1BNHYwZGwxN3tib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOmNhbGModmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcsIDBweCkqLTEpO21hcmdpbi1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZywgMHB4KSotMSk7b3V0bGluZTpub25lO3BhZGRpbmc6MTZweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTc6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbToxMHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNzpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDoxMXB4fUBtZWRpYSAobWluLXdpZHRoOjQ0MHB4KXsucG9wdXBXaWRnZXQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7bWF4LXdpZHRoOjM1NHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNy5tb2JpbGUtQTR2MGRsMTd7bWF4LXdpZHRoOjEwMCV9LnBvcHVwV2lkZ2V0LUE0djBkbDE3e21heC13aWR0aDozNDRweH19LnBvcHVwV2lkZ2V0LUE0djBkbDE3Om5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tXzAtTjVoMyl9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5kZXNjLUE0djBkbDE3e2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTt3aWR0aDpjYWxjKDEwMCUgLSAxNnB4KTt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3e2ZsZXg6MCAwIGF1dG87bWFyZ2luLWJsb2NrOjJweCAycHg7bWFyZ2luLWlubGluZTowIDZweDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3LnNtYWxsLUE0djBkbDE3e2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tib3JkZXItcmFkaXVzOjExcHg7aGVpZ2h0OjIycHg7d2lkdGg6MjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmljb24tQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Ym9yZGVyLXJhZGl1czo4cHg7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDtkaXNwbGF5OmZsZXg7Zm9udC13ZWlnaHQ6NjAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjJweDttYXJnaW4tYm90dG9tOjRweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNnB4O21hcmdpbi1ib3R0b206MnB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTcsLnBvcHVwV2lkZ2V0LUE0djBkbDE3IC50ZXh0LUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuaXRlbS1BNHYwZGwxNzpub3QoOmxhc3QtY2hpbGQpOmFmdGVye2NvbnRlbnQ6IiAifS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuYm9sZEl0ZW0tQTR2MGRsMTd7Zm9udC13ZWlnaHQ6NzAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3e2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTttYXJnaW4tdG9wOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbi1BNHYwZGwxNy5zbWFsbC1BNHYwZGwxN3tmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3LC5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3e2N1cnNvcjpwb2ludGVyfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uQnRuLUE0djBkbDE3e2FsaWduLXNlbGY6c3RhcnQ7bWFyZ2luLXRvcDo4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5hY3Rpb25zLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbnMtQTR2MGRsMTcgLmFjdGlvbkJ0bi1BNHYwZGwxN3ttYXJnaW4tdG9wOjhweH0uYWRkaXRpb25hbFdpZGdldC1BNHYwZGwxN3ttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDoxMnB4fS5hZGRpdGlvbmFsV2lkZ2V0LUE0djBkbDE3Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80639.93402c009a27b4660c7b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.790Z","timestamp":1785124876790,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80639.93402c009a27b4660c7b.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-8b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fc36c0095343be7ad3e6a56d1900c72c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":139,"size_decoded":918,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"2faeea5bc235cb9ea4b573fb2a53b0d1","sha1":"c7e2a2b388edcf4bec4dce73bcfdd08d44b612a9","sha256":"8d1688c131c79f862e429de6507fa33049831254957d7218d945cee5cfc55e00","sha512":"6d47c18f801752be93b3f3c2c844704bfccaa800c25ece5507725d97e2a1bde8e419ef5029eb7670612b44ed976b6a25c0f4d4908b0476ad5cf3f5cae5e92cef","ssdeep":"","tlshash":"43c02b4c812ec441c8d70e42f4cce7041cdb1023006e460b820e0c284cfb4760b10f3c","first_seen":"2023-04-17T07:26:30Z","last_seen":"2026-07-27T06:14:34.06017Z","times_seen":1174,"resource_available":false,"data":"QGZvbnQtZmFjZXtmb250LWZhbWlseTpFdWNsaWRDaXJjdWxhcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOnVybChFdWNsaWRDaXJjdWxhci5iZThmODYyZGI0OGMyOTc2MDA5Zi53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.094Z","timestamp":1785124877094,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-20c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0ea3dc9674bc90755be2f60dfa2e889b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8387,"size_decoded":2212,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8387), with no line terminators","md5":"c76f82404888743630c3d86c6931b984","sha1":"0effb39e719c9998b27c227db4b853aba32f119e","sha256":"1196f60553689bc67d6287aaac7773cab51d29c33e4fb4892caefae123cd5457","sha512":"f666bbef0cab0de8c5308c44eb68226e8037afd2e73be527dc8033c9f0a8147c7f08bf72a1fdaecfd64cc53656d5990a9d621e6722bb9aec0844cdc9e725a756","ssdeep":"192:r4jkmQQNWw64jkmQQuFQu3ZfXQb0JRQ//gUTxhi27lHuePk/ouJp:oV/Dhi27Y","tlshash":"3a026556f393453e7933d28e1e28b788e2569db2e5233ac2b534e554f5ecaf20c06d21","first_seen":"2026-07-17T03:30:51.091379Z","last_seen":"2026-07-27T06:24:31.664468Z","times_seen":55,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV8xLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2Vzcyk7LS1fMi1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkpOy0tXzMtY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLV80LWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyKTstLV81LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1fNi1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzctY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMS1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tXzItY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLV8zLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyk7LS1fNC1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlcik7LS1fNS1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzYtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV83LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNvbnRhaW5lci1OODRYU2NHbnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtY29sb3IsdmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCkpO2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6dmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLDFweCk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstLXVpLWxpYi1jb250cm9sLWRlZmF1bHQtc2xvdC1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7aGVpZ2h0OnZhcigtLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodCxhdXRvKX0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXNtYWxsLU44NFhTY0duLC5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uaW50ZW50LWRlZmF1bHQtTjg0WFNjR246aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV81LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9fS5jb250YWluZXItTjg0WFNjR24uZGlzYWJsZWQtTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7Y29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC1kZWZhdWx0LXNsb3QtY29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGFpbmVyLU44NFhTY0duLmRpc2FibGVkLU44NFhTY0duOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtY2tOSyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KX19LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLndpdGgtaGlnaGxpZ2h0LU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7b3V0bGluZTpub25lfX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3Qtcm93LU44NFhTY0duKXttYXJnaW4tdG9wOmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3QtY29sLU44NFhTY0duKXttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duOmhvdmVye3otaW5kZXg6MX19LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257ei1pbmRleDoyfS5jb250YWluZXItTjg0WFNjR24uc3RyZXRjaC1OODRYU2NHbnt3aWR0aDoxMDAlfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLW1lZGl1bS1OODRYU2NHbnstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweH0uY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1tZWRpdW0tTjg0WFNjR257Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLWxhcmdlLU44NFhTY0duey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS5jb250YWluZXItTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmNvbnRhaW5lci1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0uc2l6ZS14eHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo0cHh9LnNpemUteHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo2cHh9LnNpemUtc21hbGwtTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6MzRweDtib3JkZXItcmFkaXVzOjZweH0uc2l6ZS1tZWRpdW0tTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjhweH0uc2l6ZS1sYXJnZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6OHB4fS5pbnRlbnQtZGVmYXVsdC1OODRYU2NHbnstLXVpLWxpYi1pbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7LS11aS1saWItaW50ZW50LWhpZ2hsaWdodC1jb2xvcjp2YXIoLS1fMC1ja05LKX0uaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR257LS11aS1saWItaW50ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzEtY2tOSyl9LmludGVudC13YXJuaW5nLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8zLWNrTkspfS5pbnRlbnQtZGFuZ2VyLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzQtY2tOSyl9LmludGVudC1wcmltYXJ5LU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8yLWNrTkspfS5ib3JkZXItbm9uZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aDowcHh9LmJvcmRlci10aGluLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLXRoaWNrLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjJweH0uaGlnaGxpZ2h0LU44NFhTY0due2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yLHZhcigtLV8wLWNrTkspKTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1jb250cm9sLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzLDhweCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjpjYWxjKHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSotMSk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjN9LmhpZ2hsaWdodC1OODRYU2NHbi5zaG93bi1OODRYU2NHbnt2aXNpYmlsaXR5OnZpc2libGV9LmhpZ2hsaWdodC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUteHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NnB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLW1lZGl1bS1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbWVkaXVtLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbntib3JkZXItcmFkaXVzOjhweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15526.c829c52fed259855bb96.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.196Z","timestamp":1785124877196,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15526.c829c52fed259855bb96.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-316\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a1275b18dedce1e486e24ef4ad8340c1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":790,"size_decoded":1140,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (790), with no line terminators","md5":"d33cb76c4c4987a6e783fa779dffe4b2","sha1":"df35b6ae057220bf5ebd9bcff03be83d1f72420c","sha256":"6b3f21a89374d2e2deedce7defed807004e9519f2c8305cb071637eba3c64f6b","sha512":"ac2818012ca1b265c13981bf4dcf851de61298ab5db3e0dd96d5abff8d384444b94ad6dc7386fe0a889fc9d8bfd3a7f248e7e964e970478b90987b70168dbf62","ssdeep":"","tlshash":"0601ab3cd558e276f653e23c33eab2ed05205f5488533feaf686e02080d59971c52218","first_seen":"2026-07-19T21:33:33.695675Z","last_seen":"2026-07-27T06:24:31.54448Z","times_seen":25,"resource_available":false,"data":"LnJhZGlvQnV0dG9uVmlldy1PTFhaUXh1Yntib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1jb2xvciAuMzVzIGVhc2U7d2lkdGg6MThweDstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcmFkaW8tY29sb3I6dmFyKC0tdWktbGliLXJhZGlvQnV0dG9uVmlldy1jb2xvcix2YXIoLS1kZWZhdWx0LWNvbG9yKSk7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcmFkaW8tY29sb3IpfS5yYWRpb0J1dHRvblZpZXctT0xYWlF4dWI6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVpbmFyeS1pbnZlcnNlKTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjZweDtpbnNldDowO21hcmdpbjphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjZweH0uY2hlY2tlZC1PTFhaUXh1YnstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFkaW8tY29sb3IpfS5jaGVja2VkLU9MWFpReHViOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5kaXNhYmxlZC1PTFhaUXh1YntvcGFjaXR5Oi4zfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/diamond-top-ring.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.516Z","timestamp":1785124875516,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/diamond-top-ring.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/css/styles/stylemain.css\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/html; charset=iso-8859-1\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":355,"size_decoded":451,"mime_type":"text/html; charset=iso-8859-1","magic":"HTML document, ASCII text","md5":"4525b2d648f7c457a689fd96421783a5","sha1":"11bfe30ce44585a15a38e86bc094224ddfe2c08e","sha256":"cc0b4e42510d49c6decd464123ecf3b14ae9b47f9b4ed2ee64893e2d6520a264","sha512":"94e3e8246cf38ff7740e51aa115c8c455b14f78e672c2686b782c0ce30b6fa2dbd91a78b29b3964d9c0414aabd4b9391fd5db326665e25b4b8e73dae60ffe979","ssdeep":"","tlshash":"71e0c04f4057b3474011a2907dc01291e505236b38a152f93ac09467500897dc4aa2dd","first_seen":"2025-12-09T03:51:58.5943Z","last_seen":"2026-07-27T06:14:48.102741Z","times_seen":47346,"resource_available":true,"data":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPjxoZWFkPgo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+CjwvaGVhZD48Ym9keT4KPGgxPk5vdCBGb3VuZDwvaDE+CjxwPlRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuPC9wPgo8cD5BZGRpdGlvbmFsbHksIGEgNDA0IE5vdCBGb3VuZAplcnJvciB3YXMgZW5jb3VudGVyZWQgd2hpbGUgdHJ5aW5nIHRvIHVzZSBhbiBFcnJvckRvY3VtZW50IHRvIGhhbmRsZSB0aGUgcmVxdWVzdC48L3A+CjwvYm9keT48L2h0bWw+Cg=="}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.802Z","timestamp":1785124875802,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-9e1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6ceb10048adb522ad99dd16c40821b55\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2529,"size_decoded":1497,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2529), with no line terminators","md5":"76e3b34ef660092cb6ebcda4b1e8a0b0","sha1":"d997b9296e92721e4cfa8c5cd062150dd5a72d76","sha256":"1f4abc998292aaf8b21eb2933273369f5d7611063f098e70b47fbd27258859c0","sha512":"91d3087923640eeca24866262f097a03a730ca9ecbcab63c5851539144aca3fc7b28c2b2a340a3318f5a5f4149e8f995999a8ec0680a94a7780ac64e2ce591a3","ssdeep":"","tlshash":"6651481fb3fb1d212c234b0047d56e432330e5a315e36aece810d1ae9eda9de39b1285","first_seen":"2026-04-15T09:47:56.501715Z","last_seen":"2026-07-27T06:16:23.086241Z","times_seen":4647,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":47,"timings":{"blocked":-1,"dns":28,"connect":2,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.835Z","timestamp":1785124875835,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a0c2e6a-174e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 19 May 2026 09:33:30 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ff722ec589d5adec5eab6abce20ce957\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T06:14:34.125498Z","times_seen":757,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:15.874Z","timestamp":1785124875874,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-846c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0677175d46e0b44436e8264930c4f8d8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T06:14:34.057684Z","times_seen":377,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12051.b84be781bb90d457f1df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.709Z","timestamp":1785124876709,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12051.b84be781bb90d457f1df.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-f5c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:47\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 050839cc4e619674e704212143cacf55\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3932,"size_decoded":2008,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3932), with no line terminators","md5":"923aec057d9cd07c2b7095d0f0623ab1","sha1":"56133c4d03d776c8b524b16f542979b74c9aabdd","sha256":"c485c2114f00991ad09dc545efb6038c9d6baba075a6b0061cd701a5db18564f","sha512":"5af06adfb2af9bd155bc54b0328570122ab87794daf957844689e7732085ff42a82e33065dc68e14d9a7e075e3f3872b91143d34c8921db369258920f7f9ffe7","ssdeep":"","tlshash":"f6812192b160f1babc6749395fe2b13831109c73c30254bafa51177a8dc1ffa0ae7255","first_seen":"2026-03-31T21:43:22.9655Z","last_seen":"2026-07-27T06:14:34.216333Z","times_seen":508,"resource_available":false,"data":"LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYXttYXJnaW46MCA2cHg7bWluLXdpZHRoOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5hY3Rpb25CdXR0b24tazUzdmV4UGE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYXttYXJnaW46NnB4IDB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaGlkZGVuVGl0bGUtazUzdmV4UGF7dmlzaWJpbGl0eTpoaWRkZW59LnBvcHVwRGlhbG9nLUIwMlVVVU4ze21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMjBweCk7bWF4LXdpZHRoOjQ4MHB4O3dpZHRoOmNhbGMoMTAwJSAtIDIwcHgpfS53cmFwLUIwMlVVVU4ze2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59Lm1haW4tQjAyVVVVTjN7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1pbnRlcmFjdGl2ZS1lbGVtZW50LXRleHQtbm9ybWFsKTtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJsb2NrOjQwcHggNDBweDttYXJnaW4taW5saW5lOjQwcHggMDttaW4td2lkdGg6MH0ubWFpbi1CMDJVVVVOMy5zbWFsbC1CMDJVVVVOM3ttYXJnaW4tYmxvY2s6MjBweCAyMHB4O21hcmdpbi1pbmxpbmU6MjBweCAwfS50aXRsZS1CMDJVVVVOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjIwcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWFyZ2luLWJvdHRvbTo4cHg7d2lkdGg6Y2FsYygxMDAlIC0gOXB4KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRpdGxlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze3dpZHRoOmNhbGMoMTAwJSAtIDI5cHgpfS5jb250ZW50LUIwMlVVVU4ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWluLWhlaWdodDoxNDVweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21hcmdpbjowIC00MHB4O21pbi1oZWlnaHQ6MDtwYWRkaW5nOjhweCA0MHB4fUBtZWRpYSAobWF4LWhlaWdodDoyOTBweCl7LmNvbnRlbnQtQjAyVVVVTjN7bWluLWhlaWdodDphdXRvfX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuY29udGVudC1CMDJVVVVOM3tzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5jb250ZW50LUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbjowIC0yMHB4O3BhZGRpbmc6OHB4IDIwcHh9LmNvbnRlbnQtQjAyVVVVTjMuaHRtbC1CMDJVVVVOM3tkaXNwbGF5OmJsb2NrfS5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpLC5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0uY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LmZvb3Rlci1CMDJVVVVOM3tkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O21hcmdpbi10b3A6MTZweH0uZm9vdGVyLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY2xvc2UtQjAyVVVVTjN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOi0ycHggOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2xvc2UtQjAyVVVVTjM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LmNsb3NlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbi1pbmxpbmUtc3RhcnQ6LTIycHh9Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOM3ttYXJnaW4taW5saW5lLWVuZDo0MHB4fS5tYXJnaW5XaXRob3V0Q2xvc2VCdXR0b24tQjAyVVVVTjMuc21hbGwtQjAyVVVVTjN7bWFyZ2luLWlubGluZS1lbmQ6MjBweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1331.54fd2a5952c88f3555c1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:17.252Z","timestamp":1785124877252,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/1331.54fd2a5952c88f3555c1.js HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 04:01:17 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2d2b1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: edf1c7a1ee0ac66af7dd27b1c3b736c3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":185009,"size_decoded":63168,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"0501ef2557ab73aa0e242f1410552693","sha1":"e569c953f6e6c95a9d3cbba1ae1b93120b4e136d","sha256":"c76b72cbdcf6fee1dc0fd1903df2e2e2c90f846b942f16951116443d4f041177","sha512":"27a42e4490c90aff8af7a9c0804160d4efd88924878164391ac4442baa4c5faebd5f55f7f730976feb526d62386ba9a31ac50a3b568cac3216b0f60ecfee827b","ssdeep":"3072:COeUpW3gc3TJqv4ub7HlfzVV3Mze+wyQlmcnbmfH48J24NnUxsLIymKS:COeUpB42HlfzwAyEPbUH48Y4uxsLIyw","tlshash":"52045a61b440b67e92f304db94be1489e73d2b49e4044474f26dcc9e2ae9c88f17af79","first_seen":"2026-07-24T15:28:44.734426Z","last_seen":"2026-07-27T06:24:31.735075Z","times_seen":21,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMzMxXSx7ODUzMzM2KGUsdCl7dmFyIG4scixvO3I9W3RdLG49ZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciB0PTAsbj1BcnJheShlLmxlbmd0aCk7dDxlLmxlbmd0aDt0Kyspblt0XT1lW3RdO3JldHVybiBufXJldHVybiBBcnJheS5mcm9tKGUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyl7dmFyIHI9e2dldCBwYXNzaXZlKCl7bj0hMH19O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZSIsbnVsbCxyKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwscil9dmFyIG89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5uYXZpZ2F0b3ImJndpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0mJi9pUChhZHxob25lfG9kKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSxsPVtdLGE9ITEscz0tMSxpPXZvaWQgMCxjPXZvaWQgMCx1PWZ1bmN0aW9uKGUpe3JldHVybiBsLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiEoIXQub3B0aW9ucy5hbGxvd1RvdWNoTW92ZXx8IXQub3B0aW9ucy5hbGxvd1RvdWNoTW92ZShlKSl9KSl9LGQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8d2luZG93LmV2ZW50O3JldHVybiEhdSh0LnRhcmdldCl8fDE8dC50b3VjaGVzLmxlbmd0aHx8KHQucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSwhMSl9LG09ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3ZvaWQgMCE9PWMmJihkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1jLGM9dm9pZCAwKSx2b2lkIDAhPT1pJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1pLGk9dm9pZCAwKX0pKX07ZS5kaXNhYmxlQm9keVNjcm9sbD1mdW5jdGlvbihlLHIpe2lmKG8pe2lmKCFlKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoImRpc2FibGVCb2R5U2Nyb2xsIHVuc3VjY2Vzc2Z1bCAtIHRhcmdldEVsZW1lbnQgbXVzdCBiZSBwcm92aWRlZCB3aGVuIGNhbGxpbmcgZGlzYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7aWYoZSYmIWwuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudD09PWV9KSkpe3ZhciBtPXt0YXJnZXRFbGVtZW50OmUsb3B0aW9uczpyfHx7fX07bD1bXS5jb25jYXQodChsKSxbbV0pLGUub250b3VjaHN0YXJ0PWZ1bmN0aW9uKGUpezE9PT1lLnRhcmdldFRvdWNoZXMubGVuZ3RoJiYocz1lLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WSl9LGUub250b3VjaG1vdmU9ZnVuY3Rpb24odCl7dmFyIG4scixvLGw7MT09PXQudGFyZ2V0VG91Y2hlcy5sZW5ndGgmJihyPWUsbD0obj10KS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFktcywhdShuLnRhcmdldCkmJihyJiYwPT09ci5zY3JvbGxUb3AmJjA8bHx8KG89cikmJm8uc2Nyb2xsSGVpZ2h0LW8uc2Nyb2xsVG9wPD1vLmNsaWVudEhlaWdodCYmbDwwP2Qobik6bi5zdG9wUHJvcGFnYXRpb24oKSkpfSxhfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMCl9fWVsc2V7aD1yLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aWYodm9pZCAwPT09Yyl7dmFyIGU9ISFoJiYhMD09PWgucmVzZXJ2ZVNjcm9sbEJhckdhcCx0PXdpbmRvdy5pbm5lcldpZHRoLWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtlJiYwPHQmJihjPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0LGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0PXQrInB4Iil9dm9pZCAwPT09aSYmKGk9ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKX0pKTt2YXIgcD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6cnx8e319O2w9W10uY29uY2F0KHQobCksW3BdKX12YXIgaH0sZS5jbGVhckFsbEJvZHlTY3JvbGxMb2Nrcz1mdW5jdGlvbigpe28/KGwuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS50YXJnZXRFbGVtZW50Lm9udG91Y2hzdGFydD1udWxsLGUudGFyZ2V0RWxlbWVudC5vbnRvdWNobW92ZT1udWxsfSkpLGEmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGQsbj97cGFzc2l2ZTohMX06dm9pZCAwKSxhPSExKSxsPVtdLHM9LTEpOihtKCksbD1bXSl9LGUuZW5hYmxlQm9keVNjcm9sbD1mdW5jdGlvbihlKXtpZihvKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJlbmFibGVCb2R5U2Nyb2xsIHVuc3VjY2Vzc2Z1bCAtIHRhcmdldEVsZW1lbnQgbXVzdCBiZSBwcm92aWRlZCB3aGVuIGNhbGxpbmcgZW5hYmxlQm9keVNjcm9sbCBvbiBJT1MgZGV2aWNlcy4iKTtlLm9udG91Y2hzdGFydD1udWxsLGUub250b3VjaG1vdmU9bnVsbCxsPWwuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKSxhJiYwPT09bC5sZW5ndGgmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGQsbj97cGFzc2l2ZTohMX06dm9pZCAwKSxhPSExKX1lbHNlIDE9PT1sLmxlbmd0aCYmbFswXS50YXJnZXRFbGVtZW50PT09ZT8obSgpLGw9W10pOmw9bC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQhPT1lfSkpfX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0LHIpOm4pfHwoZS5leHBvcnRzPW8pfSw2MzIyMjAoZSl7InVzZSBzdHJpY3QiO3ZhciB0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlPT09dD8wIT09ZXx8MCE9PXR8fDEvZT09MS90OmUhPWUmJnQhPXR9ZS5leHBvcnRzPWZ1bmN0aW9uKGUscil7aWYobihlLHIpKXJldHVybiEwCjtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIHJ8fG51bGw9PT1yKXJldHVybiExO3ZhciBvPU9iamVjdC5rZXlzKGUpLGw9T2JqZWN0LmtleXMocik7aWYoby5sZW5ndGghPT1sLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIGE9MDthPG8ubGVuZ3RoO2ErKylpZighdC5jYWxsKHIsb1thXSl8fCFuKGVbb1thXV0scltvW2FdXSkpcmV0dXJuITE7cmV0dXJuITB9fSwzNTM3NDcoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1ENl9uaE9NRiIsdGl0bGU6InRpdGxlLUQ2X25oT01GIix0aXRsZV9sYXJnZToidGl0bGVfbGFyZ2UtRDZfbmhPTUYiLGljb246Imljb24tRDZfbmhPTUYiLHRleHQ6InRleHQtRDZfbmhPTUYiLHRleHRfbm9ybWFsOiJ0ZXh0X25vcm1hbC1ENl9uaE9NRiIsYWN0aW9uOiJhY3Rpb24tRDZfbmhPTUYifX0sNTM2MjE5KGUpe2UuZXhwb3J0cz17aGlnaGxpZ2h0ZWQ6ImhpZ2hsaWdodGVkLVVzVHFua0wwIn19LDk5Mzk5NShlKXtlLmV4cG9ydHM9e2ljb25CdXR0b246Imljb25CdXR0b24tSEREVVlPQkkiLHNxdWFyZToic3F1YXJlLUhERFVZT0JJIixyb3VuZDoicm91bmQtSEREVVlPQkkiLHByaW1hcnk6InByaW1hcnktSEREVVlPQkkiLGljb246Imljb24tSEREVVlPQkkiLHNlY29uZGFyeToic2Vjb25kYXJ5LUhERFVZT0JJIix0ZXJ0aWFyeToidGVydGlhcnktSEREVVlPQkkiLCJwcmltYXJ5LXNwZWNpYWwiOiJwcmltYXJ5LXNwZWNpYWwtSEREVVlPQkkifX0sNDAyMjUzKGUpe2UuZXhwb3J0cz17bmF2QnV0dG9uOiJuYXZCdXR0b24taGJTSlZ4a1EiLGxpbms6ImxpbmstaGJTSlZ4a1EiLGJhY2tncm91bmQ6ImJhY2tncm91bmQtaGJTSlZ4a1EiLGljb246Imljb24taGJTSlZ4a1EiLGZsaXBJY29uOiJmbGlwSWNvbi1oYlNKVnhrUSIsbGFyZ2U6ImxhcmdlLWhiU0pWeGtRIixwcmVzZXJ2ZVBhZGRpbmdzOiJwcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRIixtZWRpdW06Im1lZGl1bS1oYlNKVnhrUSIsc21hbGw6InNtYWxsLWhiU0pWeGtRIix4c21hbGw6InhzbWFsbC1oYlNKVnhrUSIseHhzbWFsbDoieHhzbWFsbC1oYlNKVnhrUSIsYmxlbmRNb2RlOiJibGVuZE1vZGUtaGJTSlZ4a1EiLHZpc3VhbGx5SGlkZGVuOiJ2aXN1YWxseUhpZGRlbi1oYlNKVnhrUSJ9fSwyMDMyNzMoZSl7ZS5leHBvcnRzPXtzY2FsYWJsZUljb246InNjYWxhYmxlSWNvbi1jajFiQVNmNyJ9fSw0MTM2OTEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLUVpU0lCdjRkIn19LDc1MjI5NShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItYm9IeW5lMTMifX0sNDYxNTE1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1hRGNTNGxlRyJ9fSwzMzA2NzEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhUemZhdDk1In19LDY5Mjk1NihlKXtlLmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLVRhRl9hWUVGIixmbGFnOiJmbGFnLVRhRl9hWUVGIixjb250ZW50OiJjb250ZW50LVRhRl9hWUVGIn19LDU0MDMwKGUpe2UuZXhwb3J0cz17cm9vdDoicm9vdC1Od0ZVWmNuUiIsY2hhaW46ImNoYWluLU53RlVaY25SIixzZWxlY3Rvcjoic2VsZWN0b3ItTndGVVpjblIiLGVtcHR5U3RhdGVJY29uOiJlbXB0eVN0YXRlSWNvbi1Od0ZVWmNuUiIsZW1wdHk6ImVtcHR5LU53RlVaY25SIn19LDg0Njc3OShlKXtlLmV4cG9ydHM9e3VuZGVybHlpbmdDZWxsOiJ1bmRlcmx5aW5nQ2VsbC1VY2NkSGxoZyIsdW5kZXJseWluZ0JhZGdlOiJ1bmRlcmx5aW5nQmFkZ2UtVWNjZEhsaGcifX0sMjA5NjAoZSl7ZS5leHBvcnRzPXtyb290OiJyb290LVh3Sm9faVA2IixzZWxlY3Rvcjoic2VsZWN0b3ItWHdKb19pUDYiLGNoYWluOiJjaGFpbi1Yd0pvX2lQNiIsZW1wdHk6ImVtcHR5LVh3Sm9faVA2In19LDUzNzczMChlKXtlLmV4cG9ydHM9e2J1dHRvbkNvbG9yczoiYnV0dG9uQ29sb3JzLXBlTWpRYnV6In19LDM4NDQ1OChlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbVJvdzoiaXRlbVJvdy1yX2Y1UWFuVyIsbXVsdGlMaW5lOiJtdWx0aUxpbmUtcl9mNVFhblciLGNvbXBvc2l0ZURlc2NyaXB0aW9uOiJjb21wb3NpdGVEZXNjcmlwdGlvbi1yX2Y1UWFuVyIsY2VsbDoiY2VsbC1yX2Y1UWFuVyIsaXRlbUluZm9DZWxsOiJpdGVtSW5mb0NlbGwtcl9mNVFhblciLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1yX2Y1UWFuVyIsc3ltYm9sRGVzY3JpcHRpb246InN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5XIixmbGFnOiJmbGFnLXJfZjVRYW5XIixleGNoYW5nZURlc2NyaXB0aW9uOiJleGNoYW5nZURlc2NyaXB0aW9uLXJfZjVRYW5XIixtYXJrZXRUeXBlOiJtYXJrZXRUeXBlLXJfZjVRYW5XIixleGNoYW5nZU5hbWU6ImV4Y2hhbmdlTmFtZS1yX2Y1UWFuVyIsYWN0aW9uSGFuZGxlV3JhcDoiYWN0aW9uSGFuZGxlV3JhcC1yX2Y1UWFuVyIsc291cmNlOiJzb3VyY2Utcl9mNVFhblciLGFjdGl2ZToiYWN0aXZlLXJfZjVRYW5XIixzZWxlY3RlZDoic2VsZWN0ZWQtcl9mNVFhblciLG5lc3RlZEJvcmRlck92ZXJsYXA6Im5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhblciLGV4cGFuZGVkOiJleHBhbmRlZC1yX2Y1UWFuVyIsbmVzdGVkOiJuZXN0ZWQtcl9mNVFhblciLGhvdmVyOiJob3Zlci1yX2Y1UWFuVyIsaGlnaGxpZ2h0ZWQ6ImhpZ2hsaWdodGVkLXJfZjVRYW5XIixsaWdodDoibGlnaHQtcl9mNVFhblciLCJoaWdobGlnaHQtYW5pbWF0aW9uLXRoZW1lLWxpZ2h0IjoiaGlnaGxpZ2h0LWFuaW1hdGlvbi10aGVtZS1saWdodC1yX2Y1UWFuVyIsZGFyazoiZGFyay1yX2Y1UWFuVyIsImhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtZGFyayI6ImhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtZGFyay1yX2Y1UWFuVyIsbWFya2VkRmxhZzoibWFya2VkRmxhZy1yX2Y1UWFuVyIsb2Zmc2V0OiJvZmZzZXQtcl9mNVFhblciLGRlc2NyaXB0aW9uQ2VsbDoiZGVzY3JpcHRpb25DZWxsLXJfZjVRYW5XIixhZGRpdGlvbjoiYWRkaXRpb24tcl9mNVFhblciLApleGNoYW5nZUNlbGw6ImV4Y2hhbmdlQ2VsbC1yX2Y1UWFuVyIsbXVsdGlwbGVGbGFnczoibXVsdGlwbGVGbGFncy1yX2Y1UWFuVyIsaGlkZGVuOiJoaWRkZW4tcl9mNVFhblciLGhvdmVyQ2VsbDoiaG92ZXJDZWxsLXJfZjVRYW5XIixmaXhlZFdpZHRoOiJmaXhlZFdpZHRoLXJfZjVRYW5XIixleHBhbmRUb2dnbGU6ImV4cGFuZFRvZ2dsZS1yX2Y1UWFuVyIsc3ltYm9sVGl0bGU6InN5bWJvbFRpdGxlLXJfZjVRYW5XIixpbnZhbGlkOiJpbnZhbGlkLXJfZjVRYW5XIixub0Rlc2NyaXB0aW9uOiJub0Rlc2NyaXB0aW9uLXJfZjVRYW5XIixoaWdobGlnaHRlZFRleHQ6ImhpZ2hsaWdodGVkVGV4dC1yX2Y1UWFuVyIsc3ltYm9sRGVzY3JpcHRpb25NYWluOiJzeW1ib2xEZXNjcmlwdGlvbk1haW4tcl9mNVFhblciLHN5bWJvbERlc2NyaXB0aW9uRGV0YWlsczoic3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5XIixuYXJyb3c6Im5hcnJvdy1yX2Y1UWFuVyIsd2lkZToid2lkZS1yX2Y1UWFuVyIsZGF0YU1vZGU6ImRhdGFNb2RlLXJfZjVRYW5XIixhY3Rpb25zQ2VsbDoiYWN0aW9uc0NlbGwtcl9mNVFhblciLGFjdGlvbjoiYWN0aW9uLXJfZjVRYW5XIix0YXJnZXRBY3Rpb246InRhcmdldEFjdGlvbi1yX2Y1UWFuVyIscmVtb3ZlQWN0aW9uOiJyZW1vdmVBY3Rpb24tcl9mNVFhblciLGFkZEFjdGlvbjoiYWRkQWN0aW9uLXJfZjVRYW5XIixlbXB0eUFjdGlvbnM6ImVtcHR5QWN0aW9ucy1yX2Y1UWFuVyIsbWFya2VkRmxhZ1dyYXA6Im1hcmtlZEZsYWdXcmFwLXJfZjVRYW5XIixtYXJrZWRGbGFnTW9iaWxlOiJtYXJrZWRGbGFnTW9iaWxlLXJfZjVRYW5XIixsb2dvOiJsb2dvLXJfZjVRYW5XIixwcmltYXJ5SWNvbjoicHJpbWFyeUljb24tcl9mNVFhblciLHByb21vQmFkZ2U6InByb21vQmFkZ2Utcl9mNVFhblciLHByb21vSWNvbjoicHJvbW9JY29uLXJfZjVRYW5XIn19LDUyMzI4NihlKXtlLmV4cG9ydHM9e2ZsYWc6ImZsYWctTm0xNzR6cVMiLGZsYWdzOiJmbGFncy1ObTE3NHpxUyIsZmxhZ0NvbnRhaW5lcjoiZmxhZ0NvbnRhaW5lci1ObTE3NHpxUyIsY291bnRlcjoiY291bnRlci1ObTE3NHpxUyIsY29udGFpbmVyOiJjb250YWluZXItTm0xNzR6cVMifX0sNDA5NjQwKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLWMxMmxhNWlNIixpY29uOiJpY29uLWMxMmxhNWlNIn19LDk4NzUyKGUpe2UuZXhwb3J0cz17b3RoZXJTeW1ib2xzOiJvdGhlclN5bWJvbHMtUjFvV21vcE0iLG5ld1N0eWxlczoibmV3U3R5bGVzLVIxb1dtb3BNIixzbWFsbEZvbnQ6InNtYWxsRm9udC1SMW9XbW9wTSIscmVzZXRGaWx0ZXJzOiJyZXNldEZpbHRlcnMtUjFvV21vcE0iLGJvbGQ6ImJvbGQtUjFvV21vcE0iLGV4Y2hhbmdlV3JhcDoiZXhjaGFuZ2VXcmFwLVIxb1dtb3BNIixpY29uOiJpY29uLVIxb1dtb3BNIixub1Jlc3VsdHNEZXNrdG9wOiJub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNIix0b2tlbjoidG9rZW4tUjFvV21vcE0iLHNob3dNZToic2hvd01lLVIxb1dtb3BNIn19LDQwNzk0NyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtSEVpSVFlYkIiLGxpYkFsbFNlbGVjdGVkOiJsaWJBbGxTZWxlY3RlZC1IRWlJUWViQiIsY29udGFpbmVyOiJjb250YWluZXItSEVpSVFlYkIiLGljb25XcmFwOiJpY29uV3JhcC1IRWlJUWViQiIsaWNvbjoiaWNvbi1IRWlJUWViQiIsdGl0bGU6InRpdGxlLUhFaUlRZWJCIixoaWdobGlnaHRlZDoiaGlnaGxpZ2h0ZWQtSEVpSVFlYkIiLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1IRWlJUWViQiIsbW9iaWxlOiJtb2JpbGUtSEVpSVFlYkIiLGFsbFNlbGVjdGVkOiJhbGxTZWxlY3RlZC1IRWlJUWViQiIsZGVza3RvcDoiZGVza3RvcC1IRWlJUWViQiIsYWxsU2VsZWN0ZWRJY29uOiJhbGxTZWxlY3RlZEljb24tSEVpSVFlYkIiLHNlbGVjdGVkOiJzZWxlY3RlZC1IRWlJUWViQiIsZm9jdXNlZDoiZm9jdXNlZC1IRWlJUWViQiIsdGl0bGVXaXRob3V0RGVzYzoidGl0bGVXaXRob3V0RGVzYy1IRWlJUWViQiIsdGV4dEJsb2NrOiJ0ZXh0QmxvY2stSEVpSVFlYkIiLGJvcmRlcmVkOiJib3JkZXJlZC1IRWlJUWViQiJ9fSw2NTk4ODQoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci10c2ptUXRYUSIsY29udGVudExpc3Q6ImNvbnRlbnRMaXN0LXRzam1RdFhRIixjb250ZW50TGlzdERlc2t0b3A6ImNvbnRlbnRMaXN0RGVza3RvcC10c2ptUXRYUSIsc2VhcmNoU291cmNlSXRlbXNDb250YWluZXI6InNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyLXRzam1RdFhRIixvbmVDb2x1bW46Im9uZUNvbHVtbi10c2ptUXRYUSIsc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wOiJzZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lckRlc2t0b3AtdHNqbVF0WFEiLGdyb3VwVGl0bGVEZXNrdG9wOiJncm91cFRpdGxlRGVza3RvcC10c2ptUXRYUSIsY29sdW1uOiJjb2x1bW4tdHNqbVF0WFEiLGVtcHR5VGV4dDoiZW1wdHlUZXh0LXRzam1RdFhRIixlbXB0eUljb246ImVtcHR5SWNvbi10c2ptUXRYUSIsbm9SZXN1bHRzRGVza3RvcDoibm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUSJ9fSw5Nzc2OTkoZSl7ZS5leHBvcnRzPXt0aXRsZToidGl0bGUtTmQzd3NrbEsifX0sNDA4NjIwKGUpe2UuZXhwb3J0cz17YWN0aW9uczoiYWN0aW9ucy1vQXRvWGxSNCIsYWN0aW9uOiJhY3Rpb24tb0F0b1hsUjQiLGRpc2FibGVkOiJkaXNhYmxlZC1vQXRvWGxSNCJ9fSw1OTQ3ODAoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLUJkMDVCalVhIixpdGVtOiJpdGVtLUJkMDVCalVhIixzbWFsbDoic21hbGwtQmQwNUJqVWEiLG5ld1N0eWxlczoibmV3U3R5bGVzLUJkMDVCalVhIixtb2JpbGU6Im1vYmlsZS1CZDA1QmpVYSIsdGV4dDoidGV4dC1CZDA1QmpVYSIsZXhjaGFuZ2U6ImV4Y2hhbmdlLUJkMDVCalVhIixmaWx0ZXJJdGVtOiJmaWx0ZXJJdGVtLUJkMDVCalVhIix0cmFkaW5nRmlsdGVyQnV0dG9uV3JhcDoidHJhZGluZ0ZpbHRlckJ1dHRvbldyYXAtQmQwNUJqVWEiLGVtcHR5U3BhY2U6ImVtcHR5U3BhY2UtQmQwNUJqVWEifX0sNTk2ODk4KGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1GU1g2QWF0WCIsCndhdGNobGlzdDoid2F0Y2hsaXN0LUZTWDZBYXRYIixub0ZlZWQ6Im5vRmVlZC1GU1g2QWF0WCIsbmV3U3R5bGVzOiJuZXdTdHlsZXMtRlNYNkFhdFgiLHNjcm9sbENvbnRhaW5lcjoic2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYIix3YXRjaGxpc3RDb250YWluZXI6IndhdGNobGlzdENvbnRhaW5lci1GU1g2QWF0WCIsbGlzdENvbnRhaW5lcjoibGlzdENvbnRhaW5lci1GU1g2QWF0WCIsbXVsdGlMaW5lSXRlbXNDb250YWluZXI6Im11bHRpTGluZUl0ZW1zQ29udGFpbmVyLUZTWDZBYXRYIix3aXRoU3Bpbm5lcjoid2l0aFNwaW5uZXItRlNYNkFhdFgiLHNwaW5uZXJDb250YWluZXI6InNwaW5uZXJDb250YWluZXItRlNYNkFhdFgiLGxhcmdlU3Bpbm5lcjoibGFyZ2VTcGlubmVyLUZTWDZBYXRYIn19LDIzODkwNChlKXtlLmV4cG9ydHM9e3NlYXJjaDoic2VhcmNoLWsyUkJ2TFZNIix1cHBlckNhc2U6InVwcGVyQ2FzZS1rMlJCdkxWTSIsaW5wdXRDb250YWluZXI6ImlucHV0Q29udGFpbmVyLWsyUkJ2TFZNIixzcHJlYWRzOiJzcHJlYWRzLWsyUkJ2TFZNIixidWJibGVzQ29udGFpbmVyOiJidWJibGVzQ29udGFpbmVyLWsyUkJ2TFZNIixidWJibGVzOiJidWJibGVzLWsyUkJ2TFZNIixzcGlubmVyV3JhcDoic3Bpbm5lcldyYXAtazJSQnZMVk0iLGVtcHR5VGV4dDoiZW1wdHlUZXh0LWsyUkJ2TFZNIixlbXB0eUljb246ImVtcHR5SWNvbi1rMlJCdkxWTSIsbm9SZXN1bHRzRGVza3RvcDoibm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTSIsdHJhZGluZ0ZpbHRlckJ1dHRvbldyYXA6InRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwLWsyUkJ2TFZNIn19LDMwMTcwOChlKXtlLmV4cG9ydHM9e2ZsYWdXcmFwOiJmbGFnV3JhcC1FQk5aZENIMSIsaWNvbjoiaWNvbi1FQk5aZENIMSIsY2FyZXQ6ImNhcmV0LUVCTlpkQ0gxIix0aXRsZToidGl0bGUtRUJOWmRDSDEifX0sMzE4MjU0KGUpe2UuZXhwb3J0cz17ZGlhbG9nOiJkaWFsb2ctc2FiaDFmaDQiLHRhYmxldERpYWxvZzoidGFibGV0RGlhbG9nLXNhYmgxZmg0IixkZXNrdG9wRGlhbG9nOiJkZXNrdG9wRGlhbG9nLXNhYmgxZmg0IixiYWNrQnV0dG9uOiJiYWNrQnV0dG9uLXNhYmgxZmg0In19LDkwNzY4OChlKXtlLmV4cG9ydHM9e2NoaWxkcmVuV3JhcHBlcjoiY2hpbGRyZW5XcmFwcGVyLU1ncEQ5dVRPIixjb250YWluZXI6ImNvbnRhaW5lci1NZ3BEOXVUTyJ9fSwxMjk2ODAoZSl7ZS5leHBvcnRzPXtkaWFsb2c6ImRpYWxvZy1iOFN4TW56WCIsd3JhcHBlcjoid3JhcHBlci1iOFN4TW56WCIsc2VwYXJhdG9yOiJzZXBhcmF0b3ItYjhTeE1uelgiLGJvdW5kZWQ6ImJvdW5kZWQtYjhTeE1uelgifX0sNDcxODgoZSl7ZS5leHBvcnRzPXsic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIixjb250YWluZXI6ImNvbnRhaW5lci1CWktFTmtoVCIsdW5zZXRBbGlnbjoidW5zZXRBbGlnbi1CWktFTmtoVCIsdGl0bGU6InRpdGxlLUJaS0VOa2hUIixzdWJ0aXRsZToic3VidGl0bGUtQlpLRU5raFQiLHRleHRXcmFwOiJ0ZXh0V3JhcC1CWktFTmtoVCIsZWxsaXBzaXM6ImVsbGlwc2lzLUJaS0VOa2hUIixjbG9zZToiY2xvc2UtQlpLRU5raFQiLGljb246Imljb24tQlpLRU5raFQifX0sNTMwMDYwKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItcW03Umc1TUIiLG1vYmlsZToibW9iaWxlLXFtN1JnNU1CIixpbnB1dENvbnRhaW5lcjoiaW5wdXRDb250YWluZXItcW03Umc1TUIiLHdpdGhDYW5jZWw6IndpdGhDYW5jZWwtcW03Umc1TUIiLGlucHV0OiJpbnB1dC1xbTdSZzVNQiIsaWNvbjoiaWNvbi1xbTdSZzVNQiIsY2FuY2VsOiJjYW5jZWwtcW03Umc1TUIifX0sMzQzMDY2KGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItVHY3TFNqVXoiLG92ZXJsYXlTY3JvbGxXcmFwOiJvdmVybGF5U2Nyb2xsV3JhcC1UdjdMU2pVeiIsd3JhcHBlcjoid3JhcHBlci1UdjdMU2pVeiJ9fSw4NjkzMjAoZSl7ZS5leHBvcnRzPXtzZWFyY2g6InNlYXJjaC1sQU51YlNjMiIsaW5wdXRDb250YWluZXI6ImlucHV0Q29udGFpbmVyLWxBTnViU2MyIixzZWFyY2hJbnB1dEljb246InNlYXJjaElucHV0SWNvbi1sQU51YlNjMiIsYWN0aW9uczoiYWN0aW9ucy1sQU51YlNjMiIsZGl2aWRlcjoiZGl2aWRlci1sQU51YlNjMiJ9fSwyNDQ4MjAoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLWQwdlZtR3ZUIn19LDQyMTY1MChlKXtlLmV4cG9ydHM9e2ljb246Imljb24tT0pwa19DQVEifX0sNTIwOTc3KGUpe2UuZXhwb3J0cz17cGxhY2VIb2xkZXI6InBsYWNlSG9sZGVyLXlsd2FlX0d0IixoaWRkZW46ImhpZGRlbi15bHdhZV9HdCJ9fSw0MzUxMDEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLUs0dTROZzNaIix0aXRsZToidGl0bGUtSzR1NE5nM1oiLGFkZGl0aW9uYWxCdXR0b246ImFkZGl0aW9uYWxCdXR0b24tSzR1NE5nM1oiLGJ1dHRvbnM6ImJ1dHRvbnMtSzR1NE5nM1oiLHRleHQ6InRleHQtSzR1NE5nM1oiLGJ1dHRvbjoiYnV0dG9uLUs0dTROZzNaIn19LDE5ODIwOShlKXtlLmV4cG9ydHM9eyJpY29uLXdyYXBwZXIiOiJpY29uLXdyYXBwZXItZGlrZGV3d3giLCJ3aXRoLWxpbmsiOiJ3aXRoLWxpbmstZGlrZGV3d3giLCJ3aXRoLXRvb2x0aXAiOiJ3aXRoLXRvb2x0aXAtZGlrZGV3d3giLCJuby1hY3RpdmUtc3RhdGUiOiJuby1hY3RpdmUtc3RhdGUtZGlrZGV3d3gifX0sODA2MDc4KGUpe2UuZXhwb3J0cz17c2VwYXJhdG9yOiJzZXBhcmF0b3ItUGY0ckl6RXQifX0sNzk3MzU3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtcHR5U3RhdGVCbG9ja1RpdGxlOigpPT5zfSk7dmFyIHI9big5MTQ0ODcpLG89bi5uKHIpLGw9big3Nzk0NzQpLGE9bigzNTM3NDcpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7dGl0bGU6dCx0YWdOYW1lOm4sdGl0bGVTaXplOnIsY2xhc3NOYW1lOnN9PWUsaT1ufHwic3Ryb25nIjtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGkse2NsYXNzTmFtZTpvKCkoYS50aXRsZSxhW2B0aXRsZV8ke3J9YF0scyl9LHQpfX0sNzY1OTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtcHR5U3RhdGVCbG9jazooKT0+aX0pCjt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDc5NzM1Nykscz1uKDM1Mzc0Nyk7Y29uc3QgaT0oMCxyLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy5jb250YWluZXIsZS5jbGFzc05hbWUpLHJlZjp0LCJkYXRhLXFhLWlkIjplLmRhdGFRYUlkfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy5pY29uLGUuaWNvbkNsYXNzKX0sZS5pY29uKSxlLnRpdGxlJiZyLmNyZWF0ZUVsZW1lbnQoYS5FbXB0eVN0YXRlQmxvY2tUaXRsZSx7dGl0bGU6ZS50aXRsZSx0aXRsZVNpemU6ZS50aXRsZVNpemUsdGFnTmFtZTplLnRpdGxlVGFnTmFtZSxjbGFzc05hbWU6ZS50aXRsZUNsYXNzfSksZS50ZXh0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy50ZXh0LCJub3JtYWwiPT09ZS50ZXh0U2l6ZSYmcy50ZXh0X25vcm1hbCxlLnRleHRDbGFzcyl9LGUudGV4dCksZS5hY3Rpb24mJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzLmFjdGlvbixlLmFjdGlvbkNsYXNzKX0sZS5hY3Rpb24pKX0pKX0sMjAxNDQ0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NyZWF0ZVJlZ0V4cExpc3Q6KCk9PnMsZ2V0SGlnaGxpZ2h0ZWRDaGFyczooKT0+aSxyYW5rZWRTZWFyY2g6KCk9PmF9KTt2YXIgcixvPW4oNjAxODQxKSxsPW4oODM4OTAyKTtmdW5jdGlvbiBhKGUpe2NvbnN0e2RhdGE6dCxydWxlczpuLHF1ZXJ5U3RyaW5nOnIsaXNQcmV2ZW50ZWRGcm9tRmlsdGVyaW5nOmwscHJpbWFyeUtleTphLHNlY29uZGFyeUtleTpzPWEsb3B0aW9uYWxQcmltYXJ5S2V5OmksdGVydGlhcnlLZXk6Y309ZTtyZXR1cm4gdC5tYXAoKGU9Pntjb25zdCB0PWkmJmVbaV0/ZVtpXTplW2FdLGw9ZVtzXSx1PWMmJmVbY107bGV0IGQsbT0wO3JldHVybiBuLmZvckVhY2goKGU9Pntjb25zdHtyZTpuLGZ1bGxNYXRjaDphfT1lO2lmKG4ubGFzdEluZGV4PTAsKDAsby5pc1N0cmluZykodCkmJnQmJnQudG9Mb3dlckNhc2UoKT09PXIudG9Mb3dlckNhc2UoKSlyZXR1cm4gbT00LHZvaWQoZD10Lm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykodCkmJmEudGVzdCh0KSlyZXR1cm4gbT0zLHZvaWQoZD10Lm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykobCkmJmEudGVzdChsKSlyZXR1cm4gbT0yLHZvaWQoZD1sLm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykobCkmJm4udGVzdChsKSlyZXR1cm4gbT0yLHZvaWQoZD1sLm1hdGNoKG4pPy5pbmRleCk7aWYoQXJyYXkuaXNBcnJheSh1KSlmb3IoY29uc3QgZSBvZiB1KWlmKGEudGVzdChlKSlyZXR1cm4gbT0xLHZvaWQoZD1lLm1hdGNoKGEpPy5pbmRleCl9KSkse21hdGNoUHJpb3JpdHk6bSxtYXRjaEluZGV4OmQsaXRlbTplfX0pKS5maWx0ZXIoKGU9Pmx8fGUubWF0Y2hQcmlvcml0eSkpLnNvcnQoKChlLHQpPT57aWYoZS5tYXRjaFByaW9yaXR5PHQubWF0Y2hQcmlvcml0eSlyZXR1cm4gMTtpZihlLm1hdGNoUHJpb3JpdHk+dC5tYXRjaFByaW9yaXR5KXJldHVybi0xO2lmKGUubWF0Y2hQcmlvcml0eT09PXQubWF0Y2hQcmlvcml0eSl7aWYodm9pZCAwPT09ZS5tYXRjaEluZGV4fHx2b2lkIDA9PT10Lm1hdGNoSW5kZXgpcmV0dXJuIDA7aWYoZS5tYXRjaEluZGV4PnQubWF0Y2hJbmRleClyZXR1cm4gMTtpZihlLm1hdGNoSW5kZXg8dC5tYXRjaEluZGV4KXJldHVybi0xfXJldHVybiAwfSkpLm1hcCgoKHtpdGVtOmV9KT0+ZSkpfWZ1bmN0aW9uIHMoZSx0KXtjb25zdCBuPVtdLHI9ZS50b0xvd2VyQ2FzZSgpLG89ZS5zcGxpdCgiIikubWFwKCgoZSx0KT0+YCgkezAhPT10P2BbL1xccy1dJHsoMCxsLnJlZ2V4cEVzY2FwZSkoZSl9YDooMCxsLnJlZ2V4cEVzY2FwZSkoZSl9KWApKS5qb2luKCIoLio/KSIpKyIoLiopIjtyZXR1cm4gbi5wdXNoKHtmdWxsTWF0Y2g6bmV3IFJlZ0V4cChgKCR7KDAsbC5yZWdleHBFc2NhcGUpKGUpfSlgLCJpIikscmU6bmV3IFJlZ0V4cChgXiR7b31gLCJpIikscmVzZXJ2ZVJlOm5ldyBSZWdFeHAobywiaSIpLGZ1enp5SGlnaGxpZ2h0OiEwfSksdCYmdC5oYXNPd25Qcm9wZXJ0eShyKSYmbi5wdXNoKHtmdWxsTWF0Y2g6dFtyXSxyZTp0W3JdLGZ1enp5SGlnaGxpZ2h0OiExfSksbn1mdW5jdGlvbiBpKGUsdCxuKXtjb25zdCByPVtdO3JldHVybiBlJiZuPyhuLmZvckVhY2goKGU9Pntjb25zdHtmdWxsTWF0Y2g6bixyZTpvLHJlc2VydmVSZTpsfT1lO24ubGFzdEluZGV4PTAsby5sYXN0SW5kZXg9MDtjb25zdCBhPW4uZXhlYyh0KSxzPWF8fG8uZXhlYyh0KXx8bCYmbC5leGVjKHQpO2lmKGUuZnV6enlIaWdobGlnaHQ9IWEscylpZihlLmZ1enp5SGlnaGxpZ2h0KXtsZXQgZT1zLmluZGV4O2ZvcihsZXQgdD0xO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBuPXNbdF0sbz1zW3RdLmxlbmd0aDtpZih0JTIpe2NvbnN0IHQ9bi5zdGFydHNXaXRoKCIgIil8fG4uc3RhcnRzV2l0aCgiLyIpfHxuLnN0YXJ0c1dpdGgoIi0iKTtyW3Q/ZSsxOmVdPSEwfWUrPW99fWVsc2UgZm9yKGxldCBlPTA7ZTxzWzBdLmxlbmd0aDtlKyspcltzLmluZGV4K2VdPSEwfSkpLHIpOnJ9IWZ1bmN0aW9uKGUpe2VbZS5Mb3c9MF09IkxvdyIsZVtlLk1lZGl1bUxvdz0xXT0iTWVkaXVtTG93IixlW2UuTWVkaXVtPTJdPSJNZWRpdW0iLGVbZS5IaWdoPTNdPSJIaWdoIixlW2UuSGlnaGVzdD00XT0iSGlnaGVzdCJ9KHJ8fChyPXt9KSl9LDk0OTM3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtIaWdobGlnaHRlZFRleHQ6KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDIwMTQ0NCkscz1uKDUzNjIxOSk7ZnVuY3Rpb24gaShlKXtjb25zdHtxdWVyeVN0cmluZzp0LHJ1bGVzOm4sdGV4dDpvLGNsYXNzTmFtZTppfT1lLGM9KDAsci51c2VNZW1vKSgoKCk9PigwLGEuZ2V0SGlnaGxpZ2h0ZWRDaGFycykodCxvLG4pKSxbdCxuLG9dKQo7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsYy5sZW5ndGg/by5zcGxpdCgiIikubWFwKCgoZSx0KT0+ci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQse2tleTp0fSxjW3RdP3IuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkocy5oaWdobGlnaHRlZCxpKX0sZSk6ci5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLGUpKSkpOm8pfX0sNzM0NjQxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01hdGNoTWVkaWFNYXA6KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDYzMjIyMCksbD1uLm4obyk7Y2xhc3MgYSBleHRlbmRzIHIuQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZU1lZGlhQ2hhbmdlPSgpPT57Y29uc3QgZT1pKHRoaXMuc3RhdGUucXVlcmllcywoKGUsdCk9PnQubWF0Y2hlcykpO2xldCB0PSExO2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmdGhpcy5zdGF0ZS5tYXRjaGVzW25dIT09ZVtuXSl7dD0hMDticmVha310JiZ0aGlzLnNldFN0YXRlKHttYXRjaGVzOmV9KX07Y29uc3R7cnVsZXM6dH09dGhpcy5wcm9wczt0aGlzLnN0YXRlPXModCl9c2hvdWxkQ29tcG9uZW50VXBkYXRlKGUsdCl7cmV0dXJuIWwoKShlLHRoaXMucHJvcHMpfHwoIWwoKSh0LnJ1bGVzLHRoaXMuc3RhdGUucnVsZXMpfHwhbCgpKHQubWF0Y2hlcyx0aGlzLnN0YXRlLm1hdGNoZXMpKX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX21pZ3JhdGUobnVsbCx0aGlzLnN0YXRlLnF1ZXJpZXMpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe2woKShlLnJ1bGVzLHRoaXMucHJvcHMucnVsZXMpfHx0aGlzLl9taWdyYXRlKHQucXVlcmllcyx0aGlzLnN0YXRlLnF1ZXJpZXMpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWlncmF0ZSh0aGlzLnN0YXRlLnF1ZXJpZXMsbnVsbCl9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW4odGhpcy5zdGF0ZS5tYXRjaGVzKX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7aWYobCgpKGUucnVsZXMsdC5ydWxlcykpcmV0dXJuIG51bGw7Y29uc3R7cnVsZXM6bn09ZTtyZXR1cm4gcyhuKX1fbWlncmF0ZShlLHQpe251bGwhPT1lJiZpKGUsKChlLHQpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZU1lZGlhQ2hhbmdlKX0pKSxudWxsIT09dCYmaSh0LCgoZSx0KT0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVNZWRpYUNoYW5nZSl9KSl9fWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD1pKGUsKChlLHQpPT53aW5kb3cubWF0Y2hNZWRpYSh0KSkpO3JldHVybntxdWVyaWVzOnQsbWF0Y2hlczppKHQsKChlLHQpPT50Lm1hdGNoZXMpKSxydWxlczp7Li4uZX19fWZ1bmN0aW9uIGkoZSx0KXtjb25zdCBuPXt9O2Zvcihjb25zdCByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKG5bcl09dChyLGVbcl0pKTtyZXR1cm4gbn19LDM0NDg3MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZEJ1dHRvblRhYnM6KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDUwOTQ4OSk7ZnVuY3Rpb24gbChlKXtjb25zdHsiZGF0YS1uYW1lIjp0PSJyb3VuZC10YWJzLWJ1dHRvbnMiLC4uLm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChvLlJvdW5kQnV0dG9uVGFic0ltcGwsey4uLm4sImRhdGEtbmFtZSI6dH0pfX0sOTcxNTEyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbnRhaW5UYWJOYXZpZ2F0aW9uOigpPT5vfSk7dmFyIHI9bigyMzU3MjQpO2Z1bmN0aW9uIG8oZSl7Wzksci5Nb2RpZmllcnMuU2hpZnQrOV0uaW5jbHVkZXMoKDAsci5oYXNoRnJvbUV2ZW50KShlKSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9fSwyNzM2ODQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QmFja0J1dHRvbjooKT0+aX0pO3ZhciByLG89big3Nzk0NzQpLGw9big4ODA4ODYpLGE9big1OTQyMzApLHM9bi5uKGEpOyFmdW5jdGlvbihlKXtlLlRoaW49IjEuMiIsZS5NZWRpdW09IjEuNSJ9KHJ8fChyPXt9KSk7Y29uc3QgaT1vLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7YXJpYUxhYmVsOm4sZmxpcEljb25PblJ0bDpyLGljb25TdHJva2VXaWR0aDphLC4uLml9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLk5hdkJ1dHRvbix7Li4uaSxhcmlhTGFiZWw6bixyZWY6dCxpY29uOnMoKSxmbGlwSWNvbk9uUnRsOnJ9KX0pKX0sMzEyOTMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Nsb3NlQnV0dG9uOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big4ODA4ODYpLGw9big5MTUwOTApLGE9bi5uKGwpO2NvbnN0IHM9ci5mb3J3YXJkUmVmKCgoZSx0KT0+ci5jcmVhdGVFbGVtZW50KG8uTmF2QnV0dG9uLHsuLi5lLHJlZjp0LGljb246YSgpfSkpKX0sMjY0MzE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NsaWNrYWJsZUljb25CdXR0b246KCk9PmR9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDMzMjY4Nykscz1uKDIxNzI3NCksaT1uKDM0NTExNiksYz1uKDk5Mzk5NSksdT1uLm4oYyk7Y29uc3QgZD0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0IG49KDAsci51c2VDb250ZXh0KShhLkljb25CdXR0b25WYXJpYW50Q29udGV4dCkudmFyaWFudCx7dGl0bGU6byxvbkNsaWNrOmMsY29sb3JDbGFzc05hbWU6ZCxpY29uOm0sdmFyaWFudDpwPW4/P2EuREVGQVVMVF9JQ09OX0JVVFRPTl9WQVJJQU5ULHNoYXBlOmg9InNxdWFyZSIsdGFiSW5kZXg6Zixyb2xlOlMsZGF0YVFhSWQ6ZywuLi55fT1lLGI9KDAsaS5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh5LGcpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3JlZjp0LHRpdGxlOm8sdHlwZToiYnV0dG9uIixyb2xlOlMsImFyaWEtbGFiZWwiOm8sb25DbGljazpjLHRhYkluZGV4OmYsY2xhc3NOYW1lOmwoKSh1KCkuaWNvbkJ1dHRvbix1KClbcF0sdSgpW2hdLGQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksLi4uYn0sci5jcmVhdGVFbGVtZW50KHMuQmxvY2tJY29uLHtpY29uOm0sY2xhc3NOYW1lOnUoKS5pY29uLAoiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pKX0pKX0sMzEyMjk1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb25CdXR0b246KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDI2NDMxOCksbD1uKDcyOTI1MCk7Y29uc3QgYT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+Im9uQ2xpY2siaW4gZT9yLmNyZWF0ZUVsZW1lbnQoby5DbGlja2FibGVJY29uQnV0dG9uLHsuLi5lLHJlZjp0fSk6ci5jcmVhdGVFbGVtZW50KGwuVG9nZ2xlYWJsZUljb25CdXR0b24sey4uLmUscmVmOnR9KSkpfSw3MjkyNTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9nZ2xlYWJsZUljb25CdXR0b246KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDI2NDMxOCksbD1uKDM0NTExNik7Y29uc3QgYT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e29uVG9nZ2xlOm4saXNUb2dnbGVkOmEsdG9nZ2xlZFRpdGxlOnMsdG9nZ2xlZEljb246aSx0b2dnbGVkQ29sb3JDbGFzc05hbWU6Yyx1bnRvZ2dsZWRUaXRsZTp1LHVudG9nZ2xlZEljb246ZCx1bnRvZ2dsZWRDb2xvckNsYXNzTmFtZTptLHZhcmlhbnQ6cCxzaGFwZTpoLGRhdGFRYUlkOmYsdGFiSW5kZXg6Uyxyb2xlOmcsLi4ueX09ZSxiPSgwLGwuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoeSk7bGV0IHYsXyxFO3JldHVybiBhPyhFPXMsdj1pLF89Yyk6KEU9dSx2PWQsXz1tKSxyLmNyZWF0ZUVsZW1lbnQoby5DbGlja2FibGVJY29uQnV0dG9uLHt0aXRsZTpFLGljb246dixvbkNsaWNrOigpPT5uKCFhKSxjb2xvckNsYXNzTmFtZTpfLHZhcmlhbnQ6cCxzaGFwZTpoLHJlZjp0LGRhdGFRYUlkOmYsdGFiSW5kZXg6Uyxyb2xlOmcsLi4uYn0pfSkpfSw5ODY2MDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TmF2QnV0dG9uQ29udGVudDooKT0+ZCxnZXROYXZCdXR0b25DbGFzc2VzOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big0ODA5NzIpLHM9big0MDIyNTMpLGk9bi5uKHMpO2NvbnN0IGM9eyItLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peExpZ2h0IjoiY29sb3ItYnVybiIsIi0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJsZW5kTWl4RGFyayI6ImNvbG9yLWRvZGdlIn07ZnVuY3Rpb24gdShlKXtjb25zdHtzaXplOnQ9ImxhcmdlIixwcmVzZXJ2ZVBhZGRpbmdzOm4saXNMaW5rOnIsZmxpcEljb25PblJ0bDpvLGJsZW5kTW9kZTphLGNsYXNzTmFtZTpzfT1lO3JldHVybiBsKCkoaSgpLm5hdkJ1dHRvbixpKClbdF0sbiYmaSgpLnByZXNlcnZlUGFkZGluZ3MsbyYmaSgpLmZsaXBJY29uLGEmJmkoKS5ibGVuZE1vZGUsciYmaSgpLmxpbmsscyl9ZnVuY3Rpb24gZChlKXtjb25zdHtjaGlsZHJlbjp0LGljb246bixibGVuZE1vZGU6b309ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpLmJhY2tncm91bmQsc3R5bGU6bz9jOnZvaWQgMH0pLHIuY3JlYXRlRWxlbWVudChhLlNjYWxhYmxlSWNvbix7aWNvbjpuLGNsYXNzTmFtZTppKCkuaWNvbn0pLHQmJnIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkudmlzdWFsbHlIaWRkZW59LHQpKX19LDg4MDg4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOYXZCdXR0b246KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDk4NjYwOSk7Y29uc3QgbD0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2ljb246bix0eXBlOmw9ImJ1dHRvbiIscHJlc2VydmVQYWRkaW5nczphLGZsaXBJY29uT25SdGw6cyxzaXplOmksYmxlbmRNb2RlOmMsYXJpYUxhYmVsOnUsLi4uZH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5kLGNsYXNzTmFtZTooMCxvLmdldE5hdkJ1dHRvbkNsYXNzZXMpKHsuLi5lLGNoaWxkcmVuOnV9KSxyZWY6dCx0eXBlOmx9LHIuY3JlYXRlRWxlbWVudChvLk5hdkJ1dHRvbkNvbnRlbnQse2ljb246bixibGVuZE1vZGU6Y30sdSkpfSkpO2wuZGlzcGxheU5hbWU9Ik5hdkJ1dHRvbiJ9LDcxOTQyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKSxsPW4oNzg3ODk1KTtmdW5jdGlvbiBhKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6bixyZWY6YT1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSkscz0oMCxyLnVzZVJlZikobnVsbCksaT0oMCxyLnVzZVJlZikobik7aS5jdXJyZW50PW47Y29uc3QgYz0oMCxsLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGEpLHU9KDAsci51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1zLmN1cnJlbnQmJihzLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT1lJiZzLmN1cnJlbnQub2JzZXJ2ZShlKSl9KSxbYyxzXSk7cmV0dXJuKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PihzLmN1cnJlbnQ9bmV3IFJlc2l6ZU9ic2VydmVyKCgoZSx0KT0+e2kuY3VycmVudChlLHQpfSkpLGMuY3VycmVudCYmdShjLmN1cnJlbnQpLCgpPT57cy5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2MsLi4udF0pLHV9fSw0ODA5NzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2NhbGFibGVJY29uOigpPT5jfSk7dmFyIHI9big5MTQ0ODcpLG89bi5uKHIpLGw9big3Nzk0NzQpLGE9big5NDg0NTApLHM9bigyMDMyNzMpLGk9bi5uKHMpO2NvbnN0IGM9bC5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpuLC4uLnJ9PWU7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChhLkNvbW1vbkljb24sey4uLnIsY2xhc3NOYW1lOm8oKShuLGkoKS5zY2FsYWJsZUljb24pLHJlZjp0fSl9KSl9LDEyNDYyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNZW51QW5jaG9yUHJvcHM6KCk9PmF9KTt2YXIgcj1uKDczMzYxNyksbz1uKDc4Mjk1NSksbD1uKDM5MTE1Mik7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7CmNvbnN0e2lzT3Blbjp0LG9uQ2xvc2U6bixjb250ZW50SWQ6YSxhbmNob3JCdXR0b25SZWY6cyxhbmNob3JJZDppLGhhbmRsZUFuY2hvckNsaWNrOmMsaGFuZGxlQW5jaG9yS2V5RG93bjp1fT0oMCxyLnVzZURlZmF1bHRCdXR0b25BbmNob3JQcm9wcykoe2FuY2hvcklkOmUuYW5jaG9ySWQsb3Blbk9uRW50ZXI6ZS5vcGVuT25FbnRlcn0pO3JldHVybntpc09wZW46dCxhbmNob3JQcm9wczp7aWQ6aSxyb2xlOiJidXR0b24iLG9uQ2xpY2s6YyxvbktleURvd246dSwuLi4oMCxsLmNyZWF0ZVJlZlByb3ApKGUucmVmU3R5bGUscyksLi4uKDAsby5jcmVhdGVBcmlhQXR0cmlidXRlc1Byb3BzKShlLmFyaWFTdHlsZSx7ZXhwYW5kZWQ6dCxjb250cm9sczphLGhhc3BvcHVwOiJtZW51In0pfSxwb3BvdmVyUHJvcHM6e2lzT3Blbjp0LGFuY2hvcklkOmksYW5jaG9yQnV0dG9uUmVmOnMsY29udGVudElkOmEsb25DbG9zZTpufX19KHtvcGVuT25FbnRlcjplPy5vcGVuT25FbnRlcixyZWZTdHlsZTplPy5yZWZTdHlsZT8/InJlZmVyZW5jZSIsYXJpYVN0eWxlOmU/LmFyaWFTdHlsZT8/ImtlYmFiLWNhc2UiLGFuY2hvcklkOmU/LmFuY2hvcklkfSl9fSw3MjQ0NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2tlbGV0b25DaXJjbGU6KCk9PmN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDQxMzY5MSkscz1uLm4oYSk7Y29uc3QgaT0yNDtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHN0eWxlOm4sc2l6ZTpvPWl9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzKCkud3JhcHBlcix0KSxzdHlsZTp7aGVpZ2h0Om8sd2lkdGg6bywuLi5ufX0pfX0sMjMyNzk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NrZWxldG9uQ29udGFpbmVyOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big3NTIyOTUpLHM9bi5uKGEpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc3R5bGU6bixjaGlsZHJlbjpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocygpLndyYXBwZXIsdCksc3R5bGU6bn0sbyl9fSw0OTczMTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2tlbGV0b25SZWN0YW5nbGU6KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDQ2MTUxNSkscz1uLm4oYSk7ZnVuY3Rpb24gaShlKXtjb25zdHtjbGFzc05hbWU6dCxzdHlsZTpuLHdpZHRoOm8saGVpZ2h0OmF9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzKCkud3JhcHBlcix0KSxzdHlsZTp7d2lkdGg6byxoZWlnaHQ6YSwuLi5ufX0pfX0sNTE5MDk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NrZWxldG9uU3F1YXJlOigpPT5jfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9bigzMzA2NzEpLHM9bi5uKGEpO2NvbnN0IGk9NDI7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGFzc05hbWU6dCxzdHlsZTpuLHNpemU6bz1pfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocygpLndyYXBwZXIsdCksc3R5bGU6e3dpZHRoOm8saGVpZ2h0Om8sLi4ubn19KX19LDQwMTg2MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTa2VsZXRvbjooKT0+bX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oMjMyNzk4KSxzPW4oNzI0NDQyKSxpPW4oNTE5MDk0KSxjPW4oNDk3MzEwKSx1PW4oOTc1Mjg1KSxkPW4ubih1KTtjbGFzcyBtIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUsY2xhc3NOYW1lOnQsYW5pbWF0ZWQ6bj0hMCxpbnB1dFJlZjpvfT10aGlzLnByb3BzO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpvLGNsYXNzTmFtZTpsKCkoZCgpLndyYXBwZXIsbiYmZCgpLmFuaW1hdGVkLHQpfSxlKX19bS5Db250YWluZXI9YS5Ta2VsZXRvbkNvbnRhaW5lcixtLkNpcmNsZT1zLlNrZWxldG9uQ2lyY2xlLG0uU3F1YXJlPWkuU2tlbGV0b25TcXVhcmUsbS5SZWN0YW5nbGU9Yy5Ta2VsZXRvblJlY3RhbmdsZX0sOTA2MTM0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2x0aXA6KCk9PmMsVHJpZ2dlcjooKT0+cn0pO3ZhciByLG89big3Nzk0NzQpLGw9bigxNTM3MjgpLGE9big5NjQ1OTQpLHM9big1MjUyNCksaT1uKDE1MzE1NCk7ZnVuY3Rpb24gYyh7Y2hpbGRyZW46ZSxpZDp0LHRyaWdnZXI6bj1yLkhvdmVyLGRlbGF5OmM9WzUwMCwwXSxjb250ZW50OnUsaXNSdGw6ZD0hMSxlbmRTbG90Om0scGxhY2VtZW50OnAsaGFzQXJyb3c6aD0hMCxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpmLG9mZnNldDpTLGRpc2FibGVJbnRlcmFjdGl2ZTpnfSl7Y29uc3QgeT0oMCxvLnVzZUlkKSgpLGI9QXJyYXkuaXNBcnJheShuKT9uOltuXSxbdixfXT1BcnJheS5pc0FycmF5KGMpP2M6W2MsY10se3Zpc2libGU6RSxvcGVuOkMsY2xvc2U6VCx0b2dnbGU6eH09KDAsbC51c2VUb29sdGlwU3RhdGUpKHtvcGVuRGVsYXk6dixjbG9zZURlbGF5Ol99KSxJPSgwLG8udXNlUmVmKShudWxsKSx3PW8uQ2hpbGRyZW4ub25seShlKSxOPWIucmVkdWNlKCgoZSx0KT0+e3N3aXRjaCh0KXtjYXNlIHIuQ2xpY2s6ZS5vbkNsaWNrPSgwLHMuZm9ya0ZuKSh3LnByb3BzLm9uQ2xpY2sseCk7YnJlYWs7Y2FzZSByLkZvY3VzOmUub25Gb2N1cz0oMCxzLmZvcmtGbikody5wcm9wcy5vbkZvY3VzLChlPT57ZS5jdXJyZW50VGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJkMoKX0pKSxlLm9uQmx1cj0oMCxzLmZvcmtGbikody5wcm9wcy5vbkJsdXIsKGU9PntlLmN1cnJlbnRUYXJnZXQubWF0Y2hlcygiOmhvdmVyIil8fFQoKX0pKTticmVhaztjYXNlIHIuSG92ZXI6ZS5vbk1vdXNlRW50ZXI9KDAscy5mb3JrRm4pKHcucHJvcHMub25Nb3VzZUVudGVyLEMpLGUub25Nb3VzZUxlYXZlPSgwLHMuZm9ya0ZuKSh3LnByb3BzLm9uTW91c2VMZWF2ZSwoZT0+ewpJLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpJiZlLmN1cnJlbnRUYXJnZXQubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKXx8VCgpfSkpfXJldHVybiBlfSkse30pLFI9InN0cmluZyI9PXR5cGVvZiB3LnR5cGU/InJlZiI6InJlZmVyZW5jZSIsQT0icmVmImluIHcmJm51bGwhPXcucmVmP3cucmVmOncucHJvcHNbUl0sTD0oMCxhLm1lcmdlUmVmcykoW0EsSV0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLCgwLG8uY2xvbmVFbGVtZW50KSh3LHsuLi5OLFtSXTpMLCJhcmlhLWRlc2NyaWJlZGJ5Ijp0fSksby5jcmVhdGVFbGVtZW50KGkuVG9vbHRpcFN0YXRlbGVzcyx7aWQ6dHx8eSxwbGFjZW1lbnQ6cCxjb250ZW50OnUsZW5kU2xvdDptLG9wZW46RSYmISF1LGFuY2hvcjpJLG9uQ2xvc2U6VCxpc1J0bDpkLGhhc0Fycm93OmgsY2xvc2VPblNjcm9sbE91dHNpZGU6ZixvZmZzZXQ6UyxkaXNhYmxlSW50ZXJhY3RpdmU6Z30pKX0hZnVuY3Rpb24oZSl7ZS5Ib3Zlcj0iaG92ZXIiLGUuQ2xpY2s9ImNsaWNrIixlLkZvY3VzPSJmb2N1cyJ9KHJ8fChyPXt9KSl9LDcyNjYwMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt0cmllc1RyYW5zbGF0ZU1hcmtldFR5cGU6KCk9Pm99KTt2YXIgcj1uKDE4NTI3MSk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbC5nZXQoZSk/LigpfHxlfWNvbnN0IGw9bmV3IE1hcChbWyJjZmQiLCgpPT5yLnQobnVsbCx2b2lkIDAsbigyMDgwMTcpKV0sWyJkciIsKCk9PnIudChudWxsLHZvaWQgMCxuKDk3NDI2NCkpXSxbImluZGV4IiwoKT0+ci50KG51bGwsdm9pZCAwLG4oNjU4OTI2KSldLFsiZm9yZXgiLCgpPT5yLnQobnVsbCx2b2lkIDAsbig4NzM1OTcpKV0sWyJyaWdodCIsKCk9PnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfdHlwZSJ9LG4oMjg3MDM4KSldLFsiYm9uZCIsKCk9PnIudChudWxsLHZvaWQgMCxuKDkwOTA1NCkpXSxbImJpdGNvaW4iLCgpPT5yLnQobnVsbCx2b2lkIDAsbig5OTEwNTkpKV0sWyJjcnlwdG8iLCgpPT5yLnQobnVsbCx2b2lkIDAsbig5OTEwNTkpKV0sWyJlY29ub21pYyIsKCk9PnIudChudWxsLHZvaWQgMCxuKDk5Njg4MikpXSxbImluZGljZXMiLCgpPT5yLnQobnVsbCx2b2lkIDAsbigxNTE2MSkpXSxbImZ1dHVyZXMiLCgpPT5yLnQobnVsbCx2b2lkIDAsbig4MDY3MjcpKV0sWyJzdG9jayIsKCk9PnIudChudWxsLHZvaWQgMCxuKDM2NDYyNSkpXSxbImNvbW1vZGl0eSIsKCk9PnIudChudWxsLHZvaWQgMCxuKDc2MjkyMikpXV0pfSw0ODAyODQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3B0aW9uc1NvdXJjZVRyYWNrRXZlbnRQcm92aWRlcjooKT0+YSx1c2VPcHRpb25zU291cmNlVHJhY2tFdmVudDooKT0+bH0pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSgwLHIuY3JlYXRlQ29udGV4dCkobnVsbCk7ZnVuY3Rpb24gbCgpe2NvbnN0IGU9KDAsci51c2VDb250ZXh0KShvKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoIk9wdGlvbnNTb3VyY2VUcmFja0V2ZW50Q29udGV4dCBpcyBub3QgaW5pdGlhbGl6ZWQuIEFsbCBvcHRpb25zIGZlYXR1cmVzIG11c3QgaGF2ZSBhIHNvdXJjZSB0byB0cmFjayBldmVudHMuIE1ha2Ugc3VyZSB0byB3cmFwIHlvdXIgY29tcG9uZW50cyBpbiA8T3B0aW9uc1NvdXJjZVRyYWNrRXZlbnRQcm92aWRlcj4gcHJvdmlkZXIuIik7cmV0dXJuIGV9ZnVuY3Rpb24gYShlKXtjb25zdHtjaGlsZHJlbjp0LHNvdXJjZTpufT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoby5Qcm92aWRlcix7dmFsdWU6bn0sdCl9fSw3Nzc2ODAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlR2V0U2VyaWVzOigpPT5sfSk7dmFyIHI9big3Nzk0NzQpLG89bigzNjM5NTgpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuKDAsci51c2VNZW1vKSgoKCk9PigwLG8uYnVpbGRTZXJpZXMpKGUpKSxbZV0pfX0sMjUyODY2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VNUFRZX1ZBTFVFOigpPT5yfSk7Y29uc3Qgcj0i4oCUIn0sNTUxNTA1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZpbmRNYXhQcmVjaXNpb246KCk9PmksZmluZFByZWNpc2lvbkJ5TWF4VmFsdWU6KCk9PnMsZmluZFByZWNpc2lvbkJ5TWluVmFsdWU6KCk9PmEsZ2V0Um91bmROdW1iZXI6KCk9PnV9KTt2YXIgcj1uKDcxMjc0NSk7Y29uc3Qgbz1NYXRoLnBvdygxMCwtMTIpO2Z1bmN0aW9uIGwoZSx0LG4scj0yKXtsZXQgbD1lLGE9MDtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKylNYXRoLmFicyhuW2VdKTxvfHwobD10KGwsTWF0aC5hYnMobltlXSkpLGE9TWF0aC5tYXgoYSxjKG5bZV0pLmxlbmd0aCkpO2lmKGw+PTEpcmV0dXJuIHI7Y29uc3Qgcz1jKGwpO2lmKGE9PT1zLmxlbmd0aCYmMT09PXMucmVwbGFjZSgvXjAqLywiIikubGVuZ3RoKXJldHVybiBzLmxlbmd0aDtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKylpZigiMCIhPT1zW2VdKXJldHVybiBlK3I7cmV0dXJuIHJ9ZnVuY3Rpb24gYShlLHQ9Mil7cmV0dXJuIE1hdGgubWluKDEyLGwoMSxNYXRoLm1pbixlLHQpKX1mdW5jdGlvbiBzKGUsdD0yKXtyZXR1cm4gTWF0aC5taW4oMTIsbCgwLE1hdGgubWF4LGUsdCkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9MDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgcj1jKGVbbl0pO3Q9TWF0aC5tYXgodCxyLmxlbmd0aCl9cmV0dXJuIE1hdGgubWluKDEyLHQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIG5ldyByLkJpZyhlKS50b0ZpeGVkKCkuc3BsaXQoIi4iKVsxXXx8IiJ9ZnVuY3Rpb24gdShlLHQpe2NvbnN0IG49TWF0aC5wb3coMTAsdCk7cmV0dXJuIE1hdGgucm91bmQoKGUrTnVtYmVyLkVQU0lMT04pKm4pL259fSwzNjM5NTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YnVpbGRTZXJpZXM6KCk9Pm0sYnVpbGRTZXJpZXNQaWNrZXJHcm91cHM6KCk9PmMsZm9ybWF0RXhwaXJhdGlvbkRhdGU6KCk9PnMsZm9ybWF0RXhwaXJhdGlvbkRhdGVMb25nOigpPT5pLGdldERheXNVbnRpbEV4cGlyYXRpb246KCk9PmQsZ2V0U2VyaWVzU3RyaWtlczooKT0+aCxnZXRTZXJpZXNVbmRlcmx5aW5nczooKT0+cCwKaXNDb250aW51b3VzU2VyaWVzOigpPT5mfSk7dmFyIHI9big1ODMwMzgpLG89big0MDIzOSksbD1uKDE2ODgyNCksYT1uKDg5MzExNSk7ZnVuY3Rpb24gcyhlLHQ9KDAsYS5nZXRMb2NhbGVJc28pKCkpe3JldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0LHt5ZWFyOiJudW1lcmljIixkYXk6Im51bWVyaWMiLG1vbnRoOiJzaG9ydCJ9KS5mb3JtYXQoZSl9ZnVuY3Rpb24gaShlLHQ9ImxvbmciLG49KDAsYS5nZXRMb2NhbGVJc28pKCkpe3JldHVybiBlLmdldEZ1bGxZZWFyKCk9PT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk/bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobix7ZGF5OiJudW1lcmljIixtb250aDp0fSkuZm9ybWF0KGUpOm5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG4se3llYXI6Im51bWVyaWMiLGRheToibnVtZXJpYyIsbW9udGg6dH0pLmZvcm1hdChlKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9W10sbj1mdW5jdGlvbihlPSgwLGEuZ2V0TG9jYWxlSXNvKSgpKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGUse2RheToibnVtZXJpYyJ9KTtyZXR1cm4gZT0+dC5mb3JtYXQoZSl9KCkscj1mdW5jdGlvbihlPSgwLGEuZ2V0TG9jYWxlSXNvKSgpKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGUse3llYXI6IjItZGlnaXQifSksbj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChlLHttb250aDoic2hvcnQifSk7cmV0dXJuKGUscj0hMSk9PnI/YCR7bi5mb3JtYXQoZSl9ICcke3QuZm9ybWF0KGUpfWA6bi5mb3JtYXQoZSl9KCk7Zm9yKGxldCBsPTA7bDxlLmxlbmd0aDtsKyspe2NvbnN0IGE9ZVtsXSxzPWVbbCsxXSxpPWVbbC0xXSxjPXRbdC5sZW5ndGgtMV0sdT1uKGEuZXhwRGF0ZSksZD0obz1hLmV4cERhdGUsbmV3IERhdGUoby5nZXRGdWxsWWVhcigpLG8uZ2V0TW9udGgoKSwxKSksbT1hLmV4cD09PXM/LmV4cHx8YS5leHA9PT1pPy5leHAscD0hIWkmJmkuZXhwRGF0ZS5nZXRGdWxsWWVhcigpIT09YS5leHBEYXRlLmdldEZ1bGxZZWFyKCksaD17dGl0bGU6bT9gJHt1fSAke2EuZmFtaWx5TmFtZX1gOnUsdmFsdWU6YS5pZCx0b29sdGlwOmEubGFiZWx9O2M/LmlkPT09ZC50b0lTT1N0cmluZygpP2MuaXRlbXMucHVzaChoKTp0LnB1c2goe2lkOmQudG9JU09TdHJpbmcoKSxpdGVtczpbaF0sdGl0bGU6cihkLHApLHN1Ymdyb3VwOnB9KX12YXIgbztyZXR1cm4gdH1mdW5jdGlvbiB1KGUsdCxuKXtjb25zdCBvPXMobiksbD1kKG4pLGE9KDAsci5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdLnJlcGxhY2UoLzIwKFxkXGQpLywiJDEiKTtyZXR1cm5gJHtvfSAoJHtsfSkgJHthPT09dD90OmAke2F9ICR7dH1gfWB9ZnVuY3Rpb24gZChlKXtyZXR1cm4gTWF0aC5tYXgoMCwoMCxvLmdldENhbGVuZGFyRGF5c0RpZmYpKGUsbmV3IERhdGUpKX1mdW5jdGlvbiBtKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSlmb3IoY29uc3QgZSBvZiBuLnNlcmllcyl7Y29uc3Qgcj0oMCxsLmdldERhdGVGcm9tWVlZWU1NREQpKGUuZXhwKSxvPXsuLi5lLGV4cERhdGU6cixmYW1pbHlEZXNjcmlwdGlvbjpuLmRlc2NyaXB0aW9uLGZhbWlseU5hbWU6bi5uYW1lLGxhYmVsOnUoZS51bmRlcmx5aW5nLG4ubmFtZSxyKSxzaG9ydElkOmAke2UuZXhwfWB9O3QucHVzaChvKX1yZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5leHAtdC5leHApKS5tYXAoKChlLHQsbik9Pih7Li4uZSxzaG9ydElkOmUuZXhwPT09blt0LTFdPy5leHB8fGUuZXhwPT09blt0KzFdPy5leHA/YCR7ZS5leHB9JHtlLnJvb3R9YDpgJHtlLmV4cH1gfSkpKX1mdW5jdGlvbiBwKGUpe2NvbnN0IHQ9bmV3IFNldDtmb3IoY29uc3QgbiBvZiBlKXQuYWRkKG4udW5kZXJseWluZyk7cmV0dXJuIEFycmF5LmZyb20odCl9ZnVuY3Rpb24gaChlKXtjb25zdCB0PW5ldyBTZXQsbj17fTtmb3IoY29uc3QgciBvZiBlKWZvcihjb25zdCBlIG9mIHIuc3RyaWtlcyl0LmFkZChlKSxuW2VdPShuW2VdPz8wKSsxO3JldHVybntzdHJpa2VzQ291bnQ6bixzdHJpa2VzOkFycmF5LmZyb20odCkuc29ydCgoKGUsdCk9PmUtdCkpLHN0cmlrZXNNYXA6dH19ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxyLnNwbGl0U3ltYm9sTmFtZSkoZS51bmRlcmx5aW5nKVsxXSE9PWUucm9vdH19LDMyNjA0OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtCYWRSZXF1ZXN0RXJyb3JSZXNwb25zZTooKT0+b30pO3ZhciByPW4oMTMzODc0KTtjbGFzcyBvIGV4dGVuZHMgci5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iQmFkUmVxdWVzdEVycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1lLmVycm9yOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fX0sMTMzODc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Vycm9yUmVzcG9uc2U6KCk9PnJ9KTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX3N0YXR1cz1lLnN0YXR1cyx0aGlzLl9zdGF0dXNUZXh0PWUuc3RhdHVzVGV4dHx8IiJ9Z2V0SW5mbygpe3JldHVybntuYW1lOnRoaXMubmFtZSxzdGF0dXM6dGhpcy5fc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5fc3RhdHVzVGV4dCxtZXNzYWdlOnRoaXMubWVzc2FnZX19fX0sMTU4NzYzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0h0dHBFcnJvclJlc3BvbnNlOigpPT5vfSk7dmFyIHI9bigxMzM4NzQpO2NsYXNzIG8gZXh0ZW5kcyByLkVycm9yUmVzcG9uc2V7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5uYW1lPSJIdHRwRXJyb3JSZXNwb25zZSIsdGhpcy5fc3RhdHVzPj0yMDAmJnRoaXMuX3N0YXR1czwzMDA/dGhpcy5tZXNzYWdlPWBIdHRwIGZhaWx1cmUgZHVyaW5nIHBhcnNpbmcgZm9yICR7ZS51cmx8fCIodW5rbm93biB1cmwpIn1gOnRoaXMubWVzc2FnZT1gSHR0cCBmYWlsdXJlIHJlc3BvbnNlIGZvciAke2UudXJsfHwiKHVua25vd24gdXJsKSJ9OiAke2Uuc3RhdHVzfSAke2Uuc3RhdHVzVGV4dH1gfX19LDIxNjA3OShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4gd2luZG93LlNDUkVFTkVSX0hPU1R8fCJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIn1mdW5jdGlvbiBvKGUsdCl7CmNvbnN0IG49cigpO3JldHVybiB0P2Ake259LyR7dH0vYDoxPT09ZS5sZW5ndGg/YCR7bn0vJHtlWzBdfS9gOmAke259L2dsb2JhbC9gfWZ1bmN0aW9uIGwoZSx0LG4sbyxsKXtjb25zdCBhPXIoKSxzPXtzeW1ib2w6ZSxmaWVsZHM6dH07byYmKHMubm9fNDA0PSJ0cnVlIiksbCYmKHMucHJpY2VfY29udmVyc2lvbj0iZGlzYWJsZWQiKSxuJiYoc1sibGFiZWwtcHJvZHVjdCJdPW4pO2NvbnN0IGk9bmV3IFVSTChgJHthfS9zeW1ib2xgKTtyZXR1cm4gT2JqZWN0LmtleXMocykuZm9yRWFjaCgoZT0+e2kuc2VhcmNoUGFyYW1zLmFwcGVuZChlLHNbZV0pfSkpLGkudG9TdHJpbmcoKX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuYCR7cigpfS9lbnVtP2lkPSR7ZX0mbGFuZz0ke3R8fHdpbmRvdy5sYW5ndWFnZXx8ImVuIn1gfWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm5gJHtyKCl9L2VudW0vb3JkZXJlZD9pZD0ke2V9Jmxhbmc9JHt0fHx3aW5kb3cubGFuZ3VhZ2V8fCJlbiJ9YH1uLmQodCx7Z2V0QmFja2VuZFVybDooKT0+byxnZXRFbnVtT3JkZXJlZFJlZ2lzdHJ5VXJsOigpPT5zLGdldEVudW1SZWdpc3RyeVVybDooKT0+YSxnZXRTeW1ib2xEYXRhVXJsOigpPT5sfSl9LDc5MDA0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjaGFuZ2VEZXNjcmlwdGlvbjooKT0+Yyxjb252ZXJ0VG9DdXN0b21TeW1ib2xMaXN0OigpPT5zLGNvbnZlcnRUb01hcmtlZFN5bWJvbExpc3Q6KCk9Pml9KTt2YXIgcj1uKDEzODYzOCksbz1uKDM4NDAxNyksbD1uKDU4MDUyNiksYT0obig2MjEyMCksbig5NjIwODEpLG4oMzA0Mzk5KSk7bigxNTU5MDApLG4oNTY5Mzk4KSxuKDc4ODAxKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9ZS5pZCxuPWUubmFtZSx7c3ltYm9sczpyLGNvbGxhcHNlZFNlcGFyYXRvcnM6b309KDAsbC5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzPz9bXSk7cmV0dXJue3R5cGU6ImN1c3RvbSIsaWQ6dCxuYW1lOm4sZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixhY3RpdmU6ZS5hY3RpdmUsc3ltYm9sczpyLHNoYXJlZDplLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOm8scGVyc2lzdGVkU3RhdGU6ZSxtZXRhOntzZXJ2ZXJfaWQ6K3R9fX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci5lbnN1cmVOb3ROdWxsKShlLmNvbG9yKSx7c3ltYm9sczpuLGNvbGxhcHNlZFNlcGFyYXRvcnM6b309KDAsbC5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzPz9bXSk7cmV0dXJue3R5cGU6ImNvbG9yZWQiLGlkOnQsY29sb3I6dCxuYW1lOmUubmFtZT8/bnVsbCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGFjdGl2ZTplLmFjdGl2ZSxzeW1ib2xzOm4sc2hhcmVkOmUuc2hhcmVkLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxwZXJzaXN0ZWRTdGF0ZTplLG1ldGE6e3NlcnZlcl9pZDorZS5pZH19fWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4oMCxvLmZldGNoKSgoMCxhLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0L2N1c3RvbS8ke2V9L3VwZGF0ZV9tZXRhL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2Rlc2NyaXB0aW9uOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oYS5oYW5kbGVKU09OKS50aGVuKHMpfX0sNTgwNTI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldExvY2FsTGlzdFN5bWJvbHM6KCk9Pm0sbG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHM6KCk9PmkscmVtb3RlUmVuYW1lU2VwYXJhdG9yczooKT0+dSxyZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGU6KCk9PmMsc2VwYXJhdG9yUmVtb3RlUmVwcmVzZW50YXRpb246KCk9PmR9KTt2YXIgcj1uKDEzODYzOCksbz1uKDkwMTAyMiksbD1uKDcwNTAxMiksYT1uKDkyMjI0OCk7Y29uc3Qgcz1uZXcgUmVnRXhwKGBeJHtvLlNFUEFSQVRPUl9QUkVGSVh9KOKBpCk/KC4rKSRgKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9W10sbj1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT57Y29uc3RbLHIsbF09ZS5tYXRjaChzKXx8W107aWYobCl7Y29uc3QgZT1gJHtvLlNFUEFSQVRPUl9QUkVGSVh9JHtsfWA7ciYmbi5wdXNoKGUpLHQucHVzaChlKX1lbHNlIHQucHVzaChlKX0pKSx7c3ltYm9sczp0LGNvbGxhcHNlZFNlcGFyYXRvcnM6bn19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IG49aChlKTtyZXR1cm4gdC5tYXAoKGU9Pm4/Lmhhc093blByb3BlcnR5KGUpP2QoZSxuW2VdKTplKSl9ZnVuY3Rpb24gdShlLHQsbil7Y29uc3Qgcj1oKGUpO2lmKHI/Lmhhc093blByb3BlcnR5KG4pKXtjb25zdCBlPXJbbl07cmV0dXJue29sZFNlcGFyYXRvcjpkKHQsZSksbmV3U2VwYXJhdG9yOmQobixlKX19cmV0dXJue29sZFNlcGFyYXRvcjp0LG5ld1NlcGFyYXRvcjpufX1mdW5jdGlvbiBkKGUsdCl7Y29uc3Qgbj1lLnJlcGxhY2Uoby5TRVBBUkFUT1JfUFJFRklYLCIiKS5yZXBsYWNlKCLigaQiLCIiKTtyZXR1cm5gJHtvLlNFUEFSQVRPUl9QUkVGSVh9JHt0PyLigaQiOiIifSR7bn1gfWZ1bmN0aW9uIG0oZSl7Y29uc3QgdD1wKCk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0Lm1hcmtlZExpc3RzPy5saXN0cy5ieUNvbG9yW2VdPy5zeW1ib2xzfHx0LmN1c3RvbUxpc3RzLmxpc3RzLmJ5SWRbZV0/LnN5bWJvbHMpfWZ1bmN0aW9uIHAoKXtyZXR1cm4oMCxsLnNlcnZpY2UpKGEuU1lNQk9MX0xJU1RfU0VSVklDRSkuc3RvcmUuZ2V0U3RhdGUoKX1mdW5jdGlvbiBoKGUpe3JldHVybiBwKCkuY29sbGFwc2VkU2VwYXJhdG9yc1tlXX19LDYyMTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3BlbmRpbmdPcGVuU2VwYXJhdG9yczooKT0+cn0pO2NvbnN0IHI9bmV3IFNldH0sODc3NDQyKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbyxsO24uZCh0LHtUaWNrZXJUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZS5UaWNrZXI9InRpY2tlciIsZS5EZXNjcmlwdGlvbj0iZGVzY3JpcHRpb24ifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuU3ltYm9sTmFtZT0ic2hvcnRfbmFtZSIsCmUuTGFzdD0ibGFzdF9wcmljZSIsZS5DaGFuZ2U9ImNoYW5nZSIsZS5DaGFuZ2VJblBlcmNlbnRzPSJjaGFuZ2VfcGVyY2VudCIsZS5Wb2x1bWU9InZvbHVtZSIsZS5QcmVQb3N0TWFya2V0PSJyY2hwIixlLkZsYWc9ImZsYWcifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5ERVNDPS0xXT0iREVTQyIsZVtlLkFTQz0xXT0iQVNDIn0obHx8KGw9e30pKX0sNjY0Mzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N5bWJvbFNlYXJjaERpYWxvZ0NvbnRlbnRJdGVtOigpPT5VLGlzR3JvdXBlZFN5bWJvbEV4dGVuZGVkOigpPT5IfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big3ODMyNTQpLHM9bigxMzg2MzgpLGk9bigyNzMzMTApLGM9bigyNzgyNjMpLHU9big5MzAyMzEpLGQ9big1NjEyMDUpLG09big4MTA0MSkscD1uKDEwNjkwMCksaD1uKDIwMDY2NiksZj1uKDczODQ1OCksUz1uKDY0MTU5MyksZz1uKDU3NzEwOSkseT1uKDkyMzIzOSksYj1uKDUyMzI4Niksdj1uLm4oYik7ZnVuY3Rpb24gXyhlKXtjb25zdHtmbGFnczp0LGxpbWl0Om4sY2xhc3NOYW1lOm99PWUsYT10LnNsaWNlKDAsbikscz10Lmxlbmd0aC1uO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodigpLmNvbnRhaW5lcixvKX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6digpLmZsYWdzfSxhLm1hcCgoKGUsdCk9PnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnYoKS5mbGFnQ29udGFpbmVyLHN0eWxlOnt6SW5kZXg6YS5sZW5ndGgtdH0sa2V5OnR9LHIuY3JlYXRlRWxlbWVudCh5LlN5bWJvbFNlYXJjaEZsYWcsey4uLmUsY2xhc3NOYW1lOnYoKS5mbGFnfSkpKSkpLHM+MCYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnYoKS5jb3VudGVyfSxgKyR7c31gKSl9dmFyIEU9bigyNjQzMTgpLEM9bigxNjM1NzYpLFQ9bi5uKEMpLHg9big5MzUxKSxJPW4ubih4KSx3PW4oNTM3NzMwKTtmdW5jdGlvbiBOKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGlzRXhwYW5kZWQ6byxvbkNsaWNrOmx9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnR9LHIuY3JlYXRlRWxlbWVudChFLkNsaWNrYWJsZUljb25CdXR0b24se2NvbG9yQ2xhc3NOYW1lOncuYnV0dG9uQ29sb3JzLHRpdGxlOm8/YS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZXhwYW5kX3RvZ2dsZSJ9LG4oMjM5MTk4KSk6YS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZXhwYW5kX3RvZ2dsZSJ9LG4oMzg2MjQ2KSksdGFiSW5kZXg6LTEsaWNvbjpvP1QoKTpJKCksb25DbGljazpsfSkpfXZhciBSPW4oMTE3MzEzKSxBPW4oODkzMTE1KSxMPW4oNzY5OSksaz1uKDU5NTE4OSksTz1uKDU5MDQ4NiksTT1uKDIzNDYzNiksRD1uKDQ4MDk3MiksUD1uKDE3ODQwNyksRj1uKDE0MDM0MCksQj1uKDM4NDQ1OCk7ZnVuY3Rpb24gSChlKXtyZXR1cm4gQm9vbGVhbigicGFyZW50ImluIGUmJmUucGFyZW50Lmdyb3VwZWRfc3ltYm9scyl9ZnVuY3Rpb24gVShlKXtjb25zdHtkYW5nZXJvdXNUaXRsZUhUTUw6dCx0aXRsZTpvLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDp5LGRlc2NyaXB0aW9uOmIsc2VhcmNoVG9rZW46dixleGNoYW5nZU5hbWU6RSxtYXJrZXRUeXBlOkMsb25DbGljazpULGlzU2VsZWN0ZWQ6eCxpc0VvZDpJPSExLGlzQWN0aXZlOnc9ITEsaXNPZmZzZXQ6VT0hMSxpbnZhbGlkOlc9ITEsaXNIaWdobGlnaHRlZDpWPSExLGhpZGVFeGNoYW5nZTpHPSExLGhpZGVNYXJrZWRMaXN0RmxhZzpRPSExLG9uRXhwYW5kQ2xpY2s6eixpc0V4cGFuZGVkOiQsaG92ZXJDb21wb25lbnQ6cSxzb3VyY2U6Syxzb3VyY2UyOlksc291cmNlTG9nb3M6WD1bXSx0eXBlOmosaXRlbVJlZjpaLG9uTW91c2VPdXQ6Sixvbk1vdXNlT3ZlcjplZSxjbGFzc05hbWU6dGUsYWN0aW9uczpuZSxyZWZlcmVuY2U6cmUsaXRlbTpvZSxmdWxsU3ltYm9sTmFtZTpsZSxsb2dvRGF0YTphZSxzaG9ydE5hbWU6c2UsaGlkZUxvZ286aWU9ITEsZXhjaGFuZ2VUb29sdGlwOmNlLGhpZGVNYXJrZXRUeXBlOnVlLGlzUHJpbWFyeTpkZSxpc1Byb21vOm1lLGZvdW5kX2J5X2N1c2lwOnBlLGN1c2lwOmhlLGZvdW5kX2J5X2lzaW46ZmUsaXNpbjpTZSxpcG9EYXRlOmdlfT1lLHtjb3VudHJ5OnllLHByb3ZpZGVySWQ6YmV9PVhbMF18fHt9LHtpc1NtYWxsV2lkdGg6dmUsaXNNb2JpbGU6X2V9PSgwLHMuZW5zdXJlTm90TnVsbCkoKDAsci51c2VDb250ZXh0KShkLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkpLEVlPUJvb2xlYW4ocSksQ2U9IVcmJiFHJiYoX2V8fCFFZSksVGU9KDAscC51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpoLndhdGNoZWRUaGVtZX0pPT09bS5TdGRUaGVtZS5EYXJrP0IuZGFyazpCLmxpZ2h0LHhlPXEsSWU9Qm9vbGVhbihvZSYmImdyb3VwZWRfc3ltYm9scyJpbiBvZSYmb2UuZ3JvdXBlZF9zeW1ib2xzKSx3ZT0hKDAsUi5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYhKDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiFXJiYhUSYmKCF6fHxJZSkmJmxlLE5lPSgwLHUuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfc3ltYm9sX2xvZ29zIiksUmU9KDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19leGNoYW5nZV9sb2dvcyIpLEFlPU5lfHwhKDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiFpZSxMZT1ZPy5kZXNjcmlwdGlvbj8/SyxrZT1ZPy5uYW1lPz9LLE9lPW9lJiYoZnVuY3Rpb24oZSl7cmV0dXJuIEJvb2xlYW4oInBhcmVudCJpbiBlJiZlLnBhcmVudC5jb250cmFjdHMpfShvZSl8fEgob2UpKSxNZT14ZT9yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5jZWxsLEIuaG92ZXJDZWxsKX0sci5jcmVhdGVFbGVtZW50KHhlLHsuLi5lLG9uTW91c2VPdmVyOnZvaWQgMCxvbk1vdXNlT3V0OnZvaWQgMH0pLHomJnIuY3JlYXRlRWxlbWVudChOLHtjbGFzc05hbWU6Qi5leHBhbmRUb2dnbGUsaXNFeHBhbmRlZDokLG9uQ2xpY2s6UGV9KSk6dm9pZCAwCjtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuaXRlbVJvdyx2ZSYmQi5tdWx0aUxpbmUsViYmQi5oaWdobGlnaHRlZCxWJiZUZSx4JiZCLnNlbGVjdGVkLHcmJkIuYWN0aXZlLFcmJkIuaW52YWxpZCwkJiZCLmV4cGFuZGVkLE9lJiZCLm5lc3RlZCwhX2UmJmYubW9iaWxldG91Y2gmJkVlJiZCLmhvdmVyLHRlKSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKCFUfHxlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxUKGUpfSwiZGF0YS1yb2xlIjplWyJkYXRhLXJvbGUiXXx8Imxpc3QtaXRlbSIsImRhdGEtcWEtaWQiOmVbImRhdGEtcWEtaWQiXSwiZGF0YS1hY3RpdmUiOncsImRhdGEtc3MtaXRlbSI6bWU/ImZlYXR1cmVkIjp2b2lkIDAsImRhdGEtc3ltYm9sLW5hbWUiOmxlLCJkYXRhLXR5cGUiOkMsImRhdGEtbmFtZSI6InN5bWJvbC1zZWFyY2gtZGlhbG9nLWNvbnRlbnQtaXRlbSIsb25Nb3VzZU91dDpKLG9uTW91c2VPdmVyOmVlLHJlZjpyZX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Qi5uZXN0ZWRCb3JkZXJPdmVybGFwfSksci5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6WixjbGFzc05hbWU6bCgpKEIuaXRlbUluZm9DZWxsLEIuY2VsbCxVJiZCLm9mZnNldCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmFjdGlvbkhhbmRsZVdyYXAsIUFlJiZCLmZpeGVkV2lkdGgpfSxyLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5tYXJrZWRGbGFnV3JhcCxVJiZCLm9mZnNldCl9LHIuY3JlYXRlRWxlbWVudChrLkZsYWcse2NsYXNzTmFtZTpmLm1vYmlsZXRvdWNoP0IubWFya2VkRmxhZ01vYmlsZTpCLm1hcmtlZEZsYWcsc3ltYm9sOmxlfSkpLEFlJiYhVSYmci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Qi5sb2dvfSxyLmNyZWF0ZUVsZW1lbnQoZy5TeW1ib2xMb2dvLHtrZXk6bGUsbG9nbzphZSxwbGFjZWhvbGRlcjpzZT9zZVswXTp2b2lkIDB9KSkpKSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5kZXNjcmlwdGlvbixBZSYmVSYmQi5vZmZzZXQpfSxvJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xUaXRsZSxXJiZCLmludmFsaWQsIUJvb2xlYW4oeSkmJkIubm9EZXNjcmlwdGlvbiwhZi5tb2JpbGV0b3VjaCYmImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOm8sImRhdGEtbmFtZSI6Imxpc3QtaXRlbS10aXRsZSJ9LG8sSSYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkIuZGF0YU1vZGV9LCJFIikpLCFvJiZ0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xUaXRsZSxXJiZCLmludmFsaWQsIWYubW9iaWxldG91Y2gmJiJhcHBseS1vdmVyZmxvdy10b29sdGlwIiksImRhdGEtbmFtZSI6Imxpc3QtaXRlbS10aXRsZSIsImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjooMCxTLnJlbW92ZVRhZ3MpKHQpfSxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnR9fSksSSYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkIuZGF0YU1vZGV9LCJFIikpLHZlJiZEZSgpKSksdmU/TWU6ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuY2VsbCxCLmRlc2NyaXB0aW9uQ2VsbCxFZSYmQi5hZGRpdGlvbil9LERlKCksTWUpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmV4Y2hhbmdlQ2VsbCxCLmNlbGwsIUNlJiZCLmhpZGRlbil9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmV4Y2hhbmdlRGVzY3JpcHRpb24pfSwhdmUmJm1lJiZyLmNyZWF0ZUVsZW1lbnQoTy5CYWRnZSx7Y2xhc3NOYW1lOkIucHJvbW9CYWRnZSxzaXplOk0uQmFkZ2VTaXplLlNtYWxsLGNoaWxkcmVuOmEudChudWxsLHZvaWQgMCxuKDk2NjQ3NSkpfSksIXVlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpCLm1hcmtldFR5cGV9LEMpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkIuc291cmNlfSx2ZSYmbWUmJnIuY3JlYXRlRWxlbWVudChPLkJhZGdlLHtjbGFzc05hbWU6bCgpKEIucHJvbW9CYWRnZSxCLnByb21vSWNvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxzaXplOk0uQmFkZ2VTaXplLlNtYWxsLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDk2NjQ3NSkpLGxlZnRTbG90OnIuY3JlYXRlRWxlbWVudChELlNjYWxhYmxlSWNvbix7aWNvbjpGfSl9KSxkZSYmdiYmci5jcmVhdGVFbGVtZW50KGkuSWNvbix7Y2xhc3NOYW1lOmwoKSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLEIucHJpbWFyeUljb24pLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDU1MjA5NSkpLGljb246UH0pLCJlY29ub21pYyI9PT1qJiZMZSYma2U/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuZXhjaGFuZ2VOYW1lLCJhcHBseS1jb21tb24tdG9vbHRpcCIsQi5uYXJyb3csdWUmJkIud2lkZSksdGl0bGU6TGV9LGtlKTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5leGNoYW5nZU5hbWUsY2UmJiJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRpdGxlOmNlfSwoMCxMLnJlZGVmaW5lRXhjaGFuZ2VOYW1lKShFKSkpKSxyLmNyZWF0ZUVsZW1lbnQoXyx7a2V5OlJlP2Ake2xlfV9leGNoYW5nZWA6YCR7eWV9XyR7YmV9XyR7WT8uaWR9XyR7an1gLGNsYXNzTmFtZTpsKCkoQi5mbGFnLFgubGVuZ3RoPjE/Qi5tdWx0aXBsZUZsYWdzOnZvaWQgMCksbGltaXQ6dmU/Mzo1LGZsYWdzOlh9KSx6JiZyLmNyZWF0ZUVsZW1lbnQoTix7Y2xhc3NOYW1lOkIuZXhwYW5kVG9nZ2xlLGlzRXhwYW5kZWQ6JCxvbkNsaWNrOlBlfSkpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmNlbGwsQm9vbGVhbihuZSk/Qi5hY3Rpb25zQ2VsbDpCLmVtcHR5QWN0aW9ucyl9LG5lKSk7ZnVuY3Rpb24gRGUoKXsKaWYoVylyZXR1cm4gbnVsbDtjb25zdCBlPWwoKShCLnN5bWJvbERlc2NyaXB0aW9uLCFmLm1vYmlsZXRvdWNoJiYiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCBhcHBseS1vdmVyZmxvdy10b29sdGlwLS1hbGxvdy10ZXh0Iik7aWYoeSl7Y29uc3QgdD1mdW5jdGlvbigpezA7aWYocGUmJmhlKXJldHVybmBDVVNJUDogJHtoZX1gO2lmKGZlJiZTZSlyZXR1cm5gSVNJTjogJHtTZX1gO2lmKGdlKXJldHVybigwLGMuZm9ybWF0VGltZSkoMWUzKmdlLCgwLEEuZ2V0TG9jYWxlSXNvKSgpLCJ5ZWFyIiwiZGF5Iik7cmV0dXJuIG51bGx9KCk7cmV0dXJuIHQ/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuc3ltYm9sRGVzY3JpcHRpb24sQi5jb21wb3NpdGVEZXNjcmlwdGlvbil9LHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xEZXNjcmlwdGlvbk1haW4sIWYubW9iaWxldG91Y2gmJiJhcHBseS1vdmVyZmxvdy10b29sdGlwIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOigwLFMucmVtb3ZlVGFncykoeSksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDp5fX0pLHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpCLnN5bWJvbERlc2NyaXB0aW9uRGV0YWlscyxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnR9fSkpOnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjooMCxTLnJlbW92ZVRhZ3MpKHkpLGNsYXNzTmFtZTplLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6eX19KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBQZShlKXt6JiYhZS5kZWZhdWx0UHJldmVudGVkJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHooZSkpfX19LDczMjUzMyhlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG87bi5kKHQse1JPV19IRUlHSFQ6KCk9PmEsdGFic1dpdGhIaWRkZW5NYXJrZXRUeXBlOigpPT5sfSksZnVuY3Rpb24oZSl7ZS5TdG9ja3M9InN0b2NrcyIsZS5GdXR1cmVzPSJmdXR1cmVzIixlLkZ1bmRzPSJmdW5kcyIsZS5Gb3JleD0iZm9yZXgiLGUuQ3J5cHRvPSJiaXRjb2luLGNyeXB0byIsZS5JbmRleD0iaW5kZXgiLGUuQm9uZD0iYm9uZCIsZS5FY29ub21pYz0iZWNvbm9taWMiLGUuT3B0aW9ucz0ib3B0aW9ucyJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5FY29ub21pY0NvdW50cnlTZWxlY3Q9ImVjb25vbWljLWNvdW50cnktc2VsZWN0IixlLkVjb25vbWljU291cmNlU2VsZWN0PSJlY29ub21pYy1zb3VyY2Utc2VsZWN0IixlLkVjb25vbWljQ2F0ZWdvcnlTZWxlY3Q9ImVjb25vbWljLWNhdGVnb3J5LXNlbGVjdCIsZS5TdG9ja3NDb3VudHJ5U2VsZWN0PSJzdG9ja3MtY291bnRyeS1zZWxlY3QiLGUuU3RvY2tUeXBlU2VsZWN0PSJzdG9jay10eXBlLXNlbGVjdCIsZS5TdG9ja1NlY3RvclNlbGVjdD0ic3RvY2stc2VjdG9yLXNlbGVjdCIsZS5GdXR1cmVzQ291bnRyeVNlbGVjdD0iZnV0dXJlcy1jb3VudHJ5LXNlbGVjdCIsZS5GdXR1cmVzQ2F0ZWdvcnlTZWxlY3Q9ImZ1dHVyZXMtY2F0ZWdvcnktc2VsZWN0IixlLkZ1bmRzQ291bnRyeVNlbGVjdD0iZnVuZHMtY291bnRyeS1zZWxlY3QiLGUuRnVuZHNUeXBlU2VsZWN0PSJmdW5kcy10eXBlLXNlbGVjdCIsZS5DcnlwdG9FeGNoYW5nZVNlbGVjdD0iY3J5cHRvLWV4Y2hhbmdlLXNlbGVjdCIsZS5DcnlwdG9UeXBlU2VsZWN0PSJjcnlwdG8tdHlwZS1zZWxlY3QiLGUuQ3J5cHRvRXhjaGFuZ2VUeXBlU2VsZWN0PSJjcnlwdG8tZXhjaGFuZ2UtdHlwZS1zZWxlY3QiLGUuRm9yZXhFeGNoYW5nZVNlbGVjdD0iZm9yZXgtZXhjaGFuZ2Utc2VsZWN0IixlLkluZGV4RXhjaGFuZ2VTZWxlY3Q9ImluZGV4LWV4Y2hhbmdlLXNlbGVjdCIsZS5Cb25kQ291bnRyeVNlbGVjdD0iYm9uZC1jb3VudHJ5LXNlbGVjdCIsZS5Cb25kVHlwZVNlbGVjdD0iYm9uZC10eXBlLXNlbGVjdCJ9KG98fChvPXt9KSk7Y29uc3QgbD1bImZ1dHVyZXMiLCJmb3JleCIsImJvbmQiLCJlY29ub21pYyIsIm9wdGlvbnMiXSxhPTUyfSw3ODMxMTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RklMVEVSX0RFRkFVTFRfVkFMVUU6KCk9PmEsVEFCX1NFTEVDVF9GSUxURVJfTUFQOigpPT5tLFRBQl9TT1VSQ0VfRklMVEVSX01BUDooKT0+ZH0pO3ZhciByPW4oMTg1MjcxKTtjb25zdCBvPSgpPT5be25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oMzUwMTQ2KSksdmFsdWU6IiIsc2VhcmNoX3R5cGU6InVuZGVmaW5lZCJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDU1NTUxMCkpLHZhbHVlOiJzdG9ja3MiLHNlYXJjaF90eXBlOiJzdG9ja3MifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig1NjQ5MTcpKSx2YWx1ZToiZnVuZHMiLHNlYXJjaF90eXBlOiJmdW5kcyJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDUwNTA3OSkpLHZhbHVlOiJmdXR1cmVzIixzZWFyY2hfdHlwZToiZnV0dXJlcyJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDk3OTk3KSksdmFsdWU6ImZvcmV4IixzZWFyY2hfdHlwZToiZm9yZXgifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbigzODQ1OTcpKSx2YWx1ZToiY2ZkIixzZWFyY2hfdHlwZToiY2ZkIn0se25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oNjU1MjM1KSksdmFsdWU6ImJpdGNvaW4sY3J5cHRvIixzZWFyY2hfdHlwZToiY3J5cHRvIn0se25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oOTI3NDExKSksdmFsdWU6ImluZGV4IixzZWFyY2hfdHlwZToiaW5kZXgifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig3NjU0NDApKSx2YWx1ZToiYm9uZCIsc2VhcmNoX3R5cGU6ImJvbmQifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig1NDgzMjIpKSx2YWx1ZToiZWNvbm9taWMiLApzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XTsoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJuYW1lIil8fHt9KS53cml0YWJsZXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIm5hbWUiLHt2YWx1ZToiZGVmYXVsdCIsY29uZmlndXJhYmxlOiEwfSk7Y29uc3QgbD0oKT0+W3t0eXBlOiJ0YWJzIix1cmxQYXJhbToic2VhcmNoX3R5cGUiLHRhYnM6W3t2YWx1ZToidW5kZWZpbmVkIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigyMzM2OTApKSxmaWx0ZXJzOltdfSx7dmFsdWU6ImVjb25vbWljIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigxNzYzNzgpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06e2J5Q291bnRyeToiY291bnRyeSIsYnlFeGNoYW5nZToiZXhjaGFuZ2UifSxpZDoiZWNvbm9taWMtY291bnRyeS1zZWxlY3QiLGFsbFNlYXJjaFNvdXJjZXNUaXRsZTpyLnQobnVsbCx2b2lkIDAsbig1MTMzMDgpKSxncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoiZWNvbm9taWMtc291cmNlLXNlbGVjdCIsdXJsUGFyYW06InNvdXJjZV9pZCIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbigzMjEwODkpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI4OTI4MCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgc291cmNlcyJ9LHt2YWx1ZToiX19XQiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzMzYxMTIpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjU4NzYwKSl9LHt2YWx1ZToiX19FVVJPU1RBVCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2Mjg0NzIpKX0se3ZhbHVlOiJfX0FLQU1BSSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5OTMxNjgpKX0se3ZhbHVlOiJfX1RJIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc3MDEyKSl9LHt2YWx1ZToiX19PRUNEIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDExNzgxMCkpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MjAwNDApKX0se3ZhbHVlOiJfX1dFRiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NTk5NTUpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzkwNDY2KSl9LHt2YWx1ZToiX19XSUYiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzQ1NjA5KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcxNDE0NSkpfSx7dmFsdWU6IlVTQkxTIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDkwMzA4MykpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5Njk2MTMpKX0se3ZhbHVlOiJVU0ZSIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDExMDYyKSl9LHt2YWx1ZToiX19TSVBSSSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NzE3MjcpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzcwOTgyKSl9LHt2YWx1ZToiX19JRVAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODMyODY2KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM3Nzc0MikpfSx7dmFsdWU6IlVTQkVBIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDU0MzU1MCkpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4OTcwMjkpKX0se3ZhbHVlOiJfX1dHQyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig0ODM5NjYpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODMyOTQ3KSl9LHt2YWx1ZToiVVNDQiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3ODkzMTkpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzk5NDUxKSl9LHt2YWx1ZToiX19CQ0VBTyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NTQ2NjEpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNTQ2NDkpKX0se3ZhbHVlOiJfX0lNRiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NDAxODcpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjY1Njg5KSl9LHt2YWx1ZToiX19VRUlBIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDU5OTgwNykpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2Mjc1MDQpKX0se3ZhbHVlOiJDQVNDIix0aXRsZTpyLnQobnVsbCx7CmNvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2NTQ0NDApKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTE3ODA1KSl9LHt2YWx1ZToiR0JPTlMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTc4Mjk0KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDQ1MDU1MCkpfSx7dmFsdWU6Ik5PU04iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODYzMjM2KSl9XX0se3R5cGU6InNlbGVjdCIsaWQ6ImVjb25vbWljLWNhdGVnb3J5LXNlbGVjdCIsdXJsUGFyYW06ImVjb25vbWljX2NhdGVnb3J5IixsYWJlbDpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXJfbGFiZWwifSxuKDU4MDU2OCkpLG9wdGlvbnM6W3t2YWx1ZTpudWxsLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTc3NzY3KSksYW5hbHl0aWNzTGFiZWw6IkFsbCBjYXRlZ29yaWVzIn0se3ZhbHVlOiJnZHAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDE1NDApKX0se3ZhbHVlOiJsYnIiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODE1NzQxKSl9LHt2YWx1ZToicHJjZSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MzYzMzMpKX0se3ZhbHVlOiJobHRoIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDIyMjAwMikpfSx7dmFsdWU6Im1ueSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3NTQ0OTApKX0se3ZhbHVlOiJ0cmQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjM5OTI5KSl9LHt2YWx1ZToiZ292Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDgzNDYzNCkpfSx7dmFsdWU6ImJzbnNzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM4NTE2MikpfSx7dmFsdWU6ImNuc20iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjg1MTMpKX0se3ZhbHVlOiJoc2UiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjAxNTc0KSl9LHt2YWx1ZToidHhzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI3NjgzMykpfV19XX0se3ZhbHVlOiJzdG9ja3MiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDUyMjAxNCkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJzdG9ja3MtY291bnRyeS1zZWxlY3QiLGFsbFNlYXJjaFNvdXJjZXNUaXRsZTpyLnQobnVsbCx2b2lkIDAsbig1MTMzMDgpKSxncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoic3RvY2stdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJzZWFyY2hfdHlwZSIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImNvbW1vbl9zdG9jayIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig0NTAyNzMpKX0se3ZhbHVlOiJwcmVmZXJyZWRfc3RvY2siLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDg3NDA0KSl9LHt2YWx1ZToiZGVwb3NpdG9yeV9yZWNlaXB0Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI5MjAyMCkpfSx7dmFsdWU6IndhcnJhbnQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDU1NDA0KSl9LHt2YWx1ZToiaXBvX3N0b2NrIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDY3ODM1KSl9XX0se3R5cGU6InNlbGVjdCIsaWQ6InN0b2NrLXNlY3Rvci1zZWxlY3QiLHVybFBhcmFtOiJzZWN0b3IiLGxhYmVsOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlcl9sYWJlbCJ9LG4oODk1MTc2KSksb3B0aW9uczpbe3ZhbHVlOm51bGwsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MDI1NTMpKSxhbmFseXRpY3NMYWJlbDoiQWxsIHNlY3RvcnMifSx7dmFsdWU6IkNvbW1lcmNpYWwgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzAxNTkzKSl9LHt2YWx1ZToiQ29tbXVuaWNhdGlvbnMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTM0MjQ2KSl9LHt2YWx1ZToiQ29uc3VtZXIgRHVyYWJsZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjczOTQzKSl9LHt2YWx1ZToiQ29uc3VtZXIgTm9uLUR1cmFibGVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI0NjU1KSl9LHt2YWx1ZToiQ29uc3VtZXIgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjQ0OTIpKX0se3ZhbHVlOiJEaXN0cmlidXRpb24gU2VydmljZXMiLHRpdGxlOnIudChudWxsLHsKY29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI5NDgxMCkpfSx7dmFsdWU6IkVsZWN0cm9uaWMgVGVjaG5vbG9neSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2MTIwNzUpKX0se3ZhbHVlOiJFbmVyZ3kgTWluZXJhbHMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjYyNDgxKSl9LHt2YWx1ZToiRmluYW5jZSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2OTExODkpKX0se3ZhbHVlOiJHb3Zlcm5tZW50Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDUzNTU5KSl9LHt2YWx1ZToiSGVhbHRoIFNlcnZpY2VzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDYwMTM0OSkpfSx7dmFsdWU6IkhlYWx0aCBUZWNobm9sb2d5Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDE1MjgwNSkpfSx7dmFsdWU6IkluZHVzdHJpYWwgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzgyMTQwKSl9LHt2YWx1ZToiTWlzY2VsbGFuZW91cyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzNjc3NjMpKX0se3ZhbHVlOiJOb24tRW5lcmd5IE1pbmVyYWxzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDE5MTQyKSl9LHt2YWx1ZToiUHJvY2VzcyBJbmR1c3RyaWVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcxMjE5OCkpfSx7dmFsdWU6IlByb2R1Y2VyIE1hbnVmYWN0dXJpbmciLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTk2NDIwKSl9LHt2YWx1ZToiUmV0YWlsIFRyYWRlIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM2NzU4MikpfSx7dmFsdWU6IlRlY2hub2xvZ3kgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjg0Njc3KSl9LHt2YWx1ZToiVHJhbnNwb3J0YXRpb24iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDMyNzM4KSl9LHt2YWx1ZToiVXRpbGl0aWVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM0MzI4NCkpfV19XX0se3ZhbHVlOiJmdXR1cmVzIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbig5NDM5MDMpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06e2J5Q291bnRyeToiY291bnRyeSIsYnlFeGNoYW5nZToiZXhjaGFuZ2UifSxpZDoiZnV0dXJlcy1jb3VudHJ5LXNlbGVjdCIsYWxsU2VhcmNoU291cmNlc1RpdGxlOnIudChudWxsLHZvaWQgMCxuKDUxMzMwOCkpLGdyb3VwczpbIk5vcnRoIEFtZXJpY2EiLCJFdXJvcGUiLCJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIk1leGljbyBhbmQgU291dGggQW1lcmljYSIsIkFzaWEgLyBQYWNpZmljIl19LHt0eXBlOiJzZWxlY3QiLGlkOiJmdXR1cmVzLWNhdGVnb3J5LXNlbGVjdCIsdXJsUGFyYW06InByb2R1Y3QiLGxhYmVsOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlcl9sYWJlbCJ9LG4oNTgwNTY4KSksb3B0aW9uczpbe3ZhbHVlOm51bGwsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5Nzc3NjcpKSxhbmFseXRpY3NMYWJlbDoiQWxsIGNhdGVnb3JpZXMifSx7dmFsdWU6IkZpbmFuY2lhbC9FcXVpdHkiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzQ2NzkyKSl9LHt2YWx1ZToiRmluYW5jaWFsL0luZGV4Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcyMTc2MikpfSx7dmFsdWU6IkZpbmFuY2lhbC9DdXJyZW5jeSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1OTg1OCkpfSx7dmFsdWU6IkZpbmFuY2lhbC9JbnRlcmVzdFJhdGUiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjAxNTUxKSl9LHt2YWx1ZToiQ29tbW9kaXR5L0VuZXJneSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigyMzM4OTApKX0se3ZhbHVlOiJDb21tb2RpdHkvQWdyaWN1bHR1cmUiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDQ2NzY3KSl9LHt2YWx1ZToiQ29tbW9kaXR5L01ldGFscyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3NjExMjIpKX0se3ZhbHVlOiJDb21tb2RpdHkvV2VhdGhlciIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5MTE4NjIpKX0se3ZhbHVlOiJDb21tb2RpdHkvQnVpbGRpbmdNYXRlcmlhbHMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMTM3MzUzKSl9LHt2YWx1ZToiQ29tbW9kaXR5L0NoZW1pY2FscyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzMzgxOTcpKX1dfV19LHt2YWx1ZToiZnVuZHMiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDQ4MDQ2MSkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJmdW5kcy1jb3VudHJ5LXNlbGVjdCIsYWxsU2VhcmNoU291cmNlc1RpdGxlOnIudChudWxsLHZvaWQgMCxuKDUxMzMwOCkpLApncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoiZnVuZHMtdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJzZWFyY2hfdHlwZSIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImV0ZiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigyMjc4NjApKX0se3ZhbHVlOiJtdXR1YWxfZnVuZCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5NTc3OTgpKX0se3ZhbHVlOiJ0cnVzdF9mdW5kIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDkzNzkzNSkpfSx7dmFsdWU6InJlaXQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTUwMTc0KSl9XX1dfSx7dmFsdWU6ImNyeXB0byIsdGl0bGU6ci50KG51bGwsdm9pZCAwLG4oODgyNDExKSksZmlsdGVyczpbe3R5cGU6InNvdXJjZS1zZWxlY3QiLHVybFBhcmFtOntieUNvdW50cnk6ImNvdW50cnkiLGJ5RXhjaGFuZ2U6ImV4Y2hhbmdlIn0saWQ6ImNyeXB0by1leGNoYW5nZS1zZWxlY3QiLGdyb3VwczpbIkNyeXB0b2N1cnJlbmN5IiwiRm9yZXgiXX0se3R5cGU6InNlbGVjdCIsaWQ6ImNyeXB0by10eXBlLXNlbGVjdCIsdXJsUGFyYW06InNlYXJjaF90eXBlIixsYWJlbDpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXJfbGFiZWwifSxuKDY2MjgzNCkpLG9wdGlvbnM6W3t2YWx1ZTpudWxsLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzYxMzY0KSksYW5hbHl0aWNzTGFiZWw6IkFsbCB0eXBlcyJ9LHt2YWx1ZToiY3J5cHRvX3Nwb3QiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDM3MzU2KSl9LHt2YWx1ZToiY3J5cHRvX3N3YXAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMTY5MTQ1KSl9LHt2YWx1ZToiY3J5cHRvX2Z1dHVyZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjA2MTEpKX0se3ZhbHVlOiJjcnlwdG9faW5kZXgiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNTk3MjAwKSl9LHt2YWx1ZToiY3J5cHRvX2Z1bmRhbWVudGFsIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDk4NzQzNCkpfV19LHt0eXBlOiJzZWxlY3QiLGlkOiJjcnlwdG8tZXhjaGFuZ2UtdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJjZW50cmFsaXphdGlvbiIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbigzNDQ3ODEpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM2NTM0MCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgZXhjaGFuZ2UgdHlwZXMifSx7dmFsdWU6ImNleCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigxODEzMDUpKX0se3ZhbHVlOiJkZXgiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzI4NTQ1KSl9XX1dfSx7dmFsdWU6ImZvcmV4Iix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigyNTUwOTMpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06ImV4Y2hhbmdlIixpZDoiZm9yZXgtZXhjaGFuZ2Utc2VsZWN0Iixncm91cHM6WyJGb3JleCJdfV19LHt2YWx1ZToiaW5kZXgiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDU2MjY2NykpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJpbmRleC1leGNoYW5nZS1zZWxlY3QiLGdyb3VwczpbIk5vcnRoIEFtZXJpY2EiLCJFdXJvcGUiLCJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIk1leGljbyBhbmQgU291dGggQW1lcmljYSIsIkFzaWEgLyBQYWNpZmljIiwiRm9yZXgiXX1dfSx7dmFsdWU6ImJvbmQiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDI0MzQ2NCkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJib25kLWNvdW50cnktc2VsZWN0IixhbGxTZWFyY2hTb3VyY2VzVGl0bGU6ci50KG51bGwsdm9pZCAwLG4oNTEzMzA4KSksZ3JvdXBzOlsiTm9ydGggQW1lcmljYSIsIkV1cm9wZSIsIk1pZGRsZSBFYXN0IC8gQWZyaWNhIiwiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwiQXNpYSAvIFBhY2lmaWMiXX0se3R5cGU6InNlbGVjdCIsdXJsUGFyYW06InNlYXJjaF90eXBlIixpZDoiYm9uZC10eXBlLXNlbGVjdCIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImJvbmRfZ292Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDgzNDYzNCkpfSx7dmFsdWU6ImJvbmRfY29ycCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2NzU0NDMpKX1dfV19LHt2YWx1ZToib3B0aW9ucyIsdGl0bGU6ci50KG51bGwsdm9pZCAwLG4oNTg3NDY0KSksCmZpbHRlcnM6W119XX1dOyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsIm5hbWUiKXx8e30pLndyaXRhYmxlfHxPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJkZWZhdWx0Iixjb25maWd1cmFibGU6ITB9KTtjb25zdCBhPW51bGw7ZnVuY3Rpb24gcyhlKXtyZXR1cm4ic291cmNlLXNlbGVjdCI9PT1lLnR5cGV9ZnVuY3Rpb24gaShlKXtyZXR1cm4ic2VsZWN0Ij09PWUudHlwZX1jb25zdCBjPW5ldyBNYXAobCgpWzBdLnRhYnMubWFwKChlPT5bZS52YWx1ZSxlLmZpbHRlcnMuZmlsdGVyKGkpXSkpKSx1PW5ldyBNYXAobCgpWzBdLnRhYnMubWFwKChlPT5bZS52YWx1ZSxlLmZpbHRlcnMuZmlsdGVyKHMpWzBdXSkpKSxkPXt9LG09e307bygpLmZvckVhY2goKCh7dmFsdWU6ZSxzZWFyY2hfdHlwZTp0fSk9Pntjb25zdCBuPXUuZ2V0KHQpO24mJihkW2VdPXthbGxTZWFyY2hTb3VyY2VzVGl0bGU6bi5hbGxTZWFyY2hTb3VyY2VzVGl0bGUsdmFsdWU6bi5ncm91cHN9KTtjb25zdCByPWMuZ2V0KHQpO3ImJnIubGVuZ3RoPjAmJihtW2VdPXIpfSkpfSwyNDgzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtRdWFsaWZpZWRTb3VyY2VzOigpPT5yLHF1YWxpZnlQcm9OYW1lOigpPT5sfSk7big5MzAyMzEpO3ZhciByLG89big3Mjc1NjkpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGV9IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGUucHJvX25hbWV9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5wcm9fbmFtZX1lLmZyb21RdW90ZXNTbmFwc2hvdD1mdW5jdGlvbihlKXtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lfSxlLmZyb21RdW90ZXNSZXNwb25zZT1mdW5jdGlvbihlKXtjb25zdHt2YWx1ZXM6bixzeW1ib2xuYW1lOnIsc3RhdHVzOm99PWU7cmV0dXJuImVycm9yIj09PW8mJnI/cjp0KG4pfSxlLmZyb21RdW90ZXM9dCxlLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQ9ZnVuY3Rpb24oZSx0KXt7Y29uc3R7ZXhjaGFuZ2U6bn09ZSx7c3ltYm9sOnIscHJlZml4Omx9PXQ/P2U7cmV0dXJuKDAsby5nZXRTeW1ib2xGdWxsTmFtZSkoe25hbWU6cixleGNoYW5nZTpuLHByZWZpeDpsfSl9fSxlLmZyb21TeW1ib2xJbmZvPW4sZS5mcm9tU3ltYm9sTWVzc2FnZT1mdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2xfcmVzb2x2ZWQiPT09dC5tZXRob2Q/bih0LnBhcmFtc1sxXSk6ZX19KHJ8fChyPXt9KSl9LDE4NzMzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVTZWFyY2hTb3VyY2VzOigpPT5pLGZpbHRlclNlYXJjaFNvdXJjZXM6KCk9PmEsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6KCk9Pmwsc3BsaXRTZWFyY2hTb3VyY2VzQnlHcm91cDooKT0+c30pO3ZhciByPW4oMzk4MTMyKTtjb25zdCBvPVtyLkV4Y2hhbmdlR3JvdXAuTm9ydGhBbWVyaWNhLHIuRXhjaGFuZ2VHcm91cC5FdXJvcGUsci5FeGNoYW5nZUdyb3VwLk1pZGRsZUVhc3RBZnJpY2Esci5FeGNoYW5nZUdyb3VwLk1leGljb1NvdXRoQW1lcmljYSxyLkV4Y2hhbmdlR3JvdXAuQXNpYVBhY2lmaWMsci5FeGNoYW5nZUdyb3VwLkNyeXB0b2N1cnJlbmN5LHIuRXhjaGFuZ2VHcm91cC5Gb3JleCxyLkV4Y2hhbmdlR3JvdXAuRWNvbm9teV07ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS5ncm91cCgpPT09ci5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlc31mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGUuZmlsdGVyKChlPT5lLmluY2x1ZGVzKHQpKSl9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57dC5oYXMoZS5ncm91cCgpKT90LmdldChlLmdyb3VwKCkpLnB1c2goZSk6dC5zZXQoZS5ncm91cCgpLFtlXSl9KSk7Zm9yKGNvbnN0IGUgb2YgdC52YWx1ZXMoKSl7ZVswXS5ncm91cCgpIT09ci5FeGNoYW5nZUdyb3VwLk5vcnRoQW1lcmljYSYmZS5zb3J0KCgoZSx0KT0+ZS5uYW1lKCkudG9Mb3dlckNhc2UoKT50Lm5hbWUoKS50b0xvd2VyQ2FzZSgpPzE6LTEpKX1yZXR1cm4gbmV3IE1hcChbLi4udC5lbnRyaWVzKCldLnNvcnQoKChbZV0sW3RdKT0+by5pbmRleE9mKGUpLW8uaW5kZXhPZih0KSkpKX1mdW5jdGlvbiBpKGUsdCl7cmV0dXJuIHQubWFwKCh0PT5uZXcgZSh0KSkpfX0sNTA0MDcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPW4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw0OTA1ODAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRmVlZEhlYWRlcjooKT0+RH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oNzgzMjU0KSxzPW4oMTM2NjMpLGk9big1NjEyMDUpLGM9bigxMzg2MzgpLHU9bigyNzMzMTApLGQ9bigyMzI2NzYpLG09big0Njc2NTIpLHA9big4NjU5NzIpLGg9big4OTY4MzEpLGY9big2MjY3MDQpLFM9bigyNDYzNTApLGc9bigyMTA5ODApLHk9big0OTE2NDApLGI9bigyMDcyNDEpLHY9big3MDg4NDIpLF89big3Mjc1NjkpLEU9big5MjMyMzkpLEM9bigxODYzODQpLFQ9big5MjE3MDgpLHg9bigzMDE3MDgpO2NvbnN0IEk9KDAsXy5nZXREZWZhdWx0U2VhcmNoU291cmNlKSgpO2Z1bmN0aW9uIHcoZSl7Y29uc3R7bW9kZTp0LHNldE1vZGU6byxzZWFyY2hSZWY6dyxjYWNoZWRJbnB1dFZhbHVlOk4sc2V0U2VsZWN0ZWRJbmRleDpSLHNldFNlbGVjdGVkU2VhcmNoU291cmNlOkEsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6TCxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6ayx1cHBlckNhc2VFbmFibGVkOk8sc3ltYm9sU2VhcmNoQ29udGVudDpNfT0oMCxzLnVzZUVuc3VyZWRDb250ZXh0KShpLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksRD1NLmN1cnJlbnRTZWxlY3RlZFNlYXJjaFNvdXJjZSxQPSgwLGMuZW5zdXJlTm90TnVsbCkoRCksRj0ic3ltYm9sU2VhcmNoIj09PXQsQj1MKFApLEg9Xy5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicyYmQiYmaz9rOlAubmFtZSgpLFU9KDAsci51c2VDYWxsYmFjaykoKCgpPT57SSYmKEEoSSksUigtMSksCncuY3VycmVudD8uZm9jdXMoKSl9KSxbdyxBXSksVz0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9Pnt3LmN1cnJlbnQmJihOLmN1cnJlbnQ9Tz93LmN1cnJlbnQudmFsdWUudG9VcHBlckNhc2UoKTp3LmN1cnJlbnQudmFsdWUpLG8oImV4Y2hhbmdlIil9KSxbdyxPLG9dKSxWPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e18uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJiFCP1UoKTpXKCl9KSxbQix3LE8sbyxVXSksRz1CP251bGw6ci5jcmVhdGVFbGVtZW50KEUuU3ltYm9sU2VhcmNoRmxhZyx7a2V5OlAudmFsdWUoKSxjbGFzc05hbWU6eC5pY29uLGNvdW50cnk6UC5jb3VudHJ5KCkscHJvdmlkZXJJZDpQLnByb3ZpZGVySWQoKSxzb3VyY2VJZDpQLnNvdXJjZUlkKCl9KTtyZXR1cm4gXy5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9GP3IuY3JlYXRlRWxlbWVudChwLlBpbGxDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7c2l6ZToieHNtYWxsIn19LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOiJzb3VyY2VzLWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChkLlBpbGwse3R5cGU6Qj8iZ2hvc3QiOiJ0ZXJ0aWFyeSJ9LHIuY3JlYXRlRWxlbWVudChtLlBpbGxBY3RpdmVBcmVhLHtvbkNsaWNrOlcsImRhdGEtcWEtaWQiOiJzcy1maWx0ZXItc2VsZWN0LWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChiLlBpbGxMYXlvdXRVbml2ZXJzYWwse3N0YXJ0SWNvblNsb3Q6ci5jcmVhdGVFbGVtZW50KGguUGlsbExheW91dEVxdWlsYXRlcmFsLG51bGwsRyksc3RhcnRUZXh0U2xvdDpCP3IuY3JlYXRlRWxlbWVudChTLlBpbGxQcmltYXJ5VGV4dCxudWxsLEgpOnIuY3JlYXRlRWxlbWVudChnLlBpbGxBY3RpdmVUZXh0LG51bGwsSCksZW5kSWNvblNsb3Q6Qj9yLmNyZWF0ZUVsZW1lbnQoeS5BcnJvd0ljb25QaWxsUGFydCx7b3BlbjohMX0pOnZvaWQgMH0pKSwhQiYmci5jcmVhdGVFbGVtZW50KG0uUGlsbEFjdGl2ZUFyZWEseyJkYXRhLXFhLWlkIjoic3MtZmlsdGVyLXJlc2V0LWJ1dHRvbiIsb25DbGljazpVfSxyLmNyZWF0ZUVsZW1lbnQoaC5QaWxsTGF5b3V0RXF1aWxhdGVyYWwsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoZi5TdmdJY29uUGlsbFBhcnQse2ljb25Tdmc6Q30pKSkpKSk6bnVsbDpGP3IuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSh4LmZsYWdXcmFwLCJhcHBseS1jb21tb24tdG9vbHRpcCIsIUImJngud2l0aEZsYWcpLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDQ3OTI0NikpLG9uQ2xpY2s6ViwiZGF0YS1xYS1pZCI6InNvdXJjZXMtYnV0dG9uIn0sQiYmci5jcmVhdGVFbGVtZW50KHUuSWNvbix7Y2xhc3NOYW1lOnguaWNvbixpY29uOlR9KSxHLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSh4LnRpdGxlKX0sSCksci5jcmVhdGVFbGVtZW50KHYuVG9vbFdpZGdldENhcmV0LHtjbGFzc05hbWU6eC5jYXJldCxkcm9wcGVkOiExfSkpOm51bGx9dmFyIE49big3ODMxMTYpLFI9bigxMjQ2MjUpLEE9big4MDg5NDYpO2Z1bmN0aW9uIEwoZSl7Y29uc3R7c2VsZWN0ZWRPcHRpb246dCxkZWZhdWx0T3B0aW9uOm4sb3B0aW9uczpvLG9uU2VsZWN0OmwsbGFiZWw6YSwuLi5zfT1lLHthbmNob3JQcm9wczppLHBvcG92ZXJQcm9wczpjfT0oMCxSLnVzZU1lbnVBbmNob3JQcm9wcykoKSx1PSgwLHIudXNlTWVtbykoKCgpPT5be3R5cGU6InRpdGxlIix0aXRsZTphLHZpc2libGU6Im1vYmlsZU9ubHkifSx7dHlwZToiZGl2aWRlciIsdmlzaWJsZToibW9iaWxlT25seSJ9LC4uLm8ubWFwKChlPT4oe3RpdGxlOmUudGl0bGUsb25DbGljazooKT0+bChlKSxzZWxlY3RlZDp0LnZhbHVlPT09ZS52YWx1ZX0pKSldKSxbbyxsLGMsYV0pLHY9KDAsci51c2VDYWxsYmFjaykoKCgpPT5sKG4pKSxbbCxuXSksXz10LnNob3J0VGl0bGU/P3QudGl0bGUsRT10LnNob3J0VGl0bGUmJnQuc2hvcnRUaXRsZSE9PXQudGl0bGU/dC50aXRsZTp2b2lkIDAsVD10LnZhbHVlIT09bi52YWx1ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQocC5QaWxsQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6e3NpemU6InhzbWFsbCJ9fSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLnN9LHIuY3JlYXRlRWxlbWVudChkLlBpbGwse3R5cGU6VD8idGVydGlhcnkiOiJnaG9zdCJ9LHIuY3JlYXRlRWxlbWVudChtLlBpbGxBY3RpdmVBcmVhLHsuLi5pLHRvb2x0aXA6RSwiZGF0YS1xYS1pZCI6InNzLWZpbHRlci1zZWxlY3QtYnV0dG9uIn0sci5jcmVhdGVFbGVtZW50KGIuUGlsbExheW91dFVuaXZlcnNhbCx7c3RhcnRUZXh0U2xvdDpUP3IuY3JlYXRlRWxlbWVudChnLlBpbGxBY3RpdmVUZXh0LG51bGwsXyk6ci5jcmVhdGVFbGVtZW50KFMuUGlsbFByaW1hcnlUZXh0LG51bGwsXyksZW5kSWNvblNsb3Q6VD92b2lkIDA6ci5jcmVhdGVFbGVtZW50KHkuQXJyb3dJY29uUGlsbFBhcnQse29wZW46Yy5pc09wZW59KX0pKSxUJiZyLmNyZWF0ZUVsZW1lbnQobS5QaWxsQWN0aXZlQXJlYSx7b25DbGljazp2LCJkYXRhLXFhLWlkIjoic3MtZmlsdGVyLXJlc2V0LWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChoLlBpbGxMYXlvdXRFcXVpbGF0ZXJhbCxudWxsLHIuY3JlYXRlRWxlbWVudChmLlN2Z0ljb25QaWxsUGFydCx7aWNvblN2ZzpDfSkpKSkpKSxyLmNyZWF0ZUVsZW1lbnQoQS5NZW51UG9wb3Zlcix7Li4uYyxpdGVtczp1fSkpfXZhciBrPW4oMzg2OTMxKSxPPW4oNzM4NDU4KSxNPW4oNTk0NzgwKTtmdW5jdGlvbiBEKGUpe2NvbnN0e3RyYWRpbmdGaWx0ZXJCdXR0b246dD1udWxsfT1lLHtpc1NtYWxsV2lkdGg6byxzZWxlY3RlZEZpbHRlclZhbHVlczpjLHNldFNlbGVjdGVkRmlsdGVyVmFsdWVzOnUsc2V0U2VsZWN0ZWRJbmRleDpkLHNlYXJjaFJlZjptLHN5bWJvbFNlYXJjaENvbnRlbnQ6cH09KDAscy51c2VFbnN1cmVkQ29udGV4dCkoaS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLGg9cC50YWJTZWxlY3RGaWx0ZXJzO2lmKF8uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpewpyZXR1cm4gdHx8cC5jYW5DaGFuZ2VFeGNoYW5nZXx8aCYmaC5sZW5ndGg+MD9yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoTS53cmFwLE0uc21hbGwsTS5uZXdTdHlsZXMsTy5tb2JpbGV0b3VjaCYmTS5tb2JpbGUpfSx0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwfSx0KSxwLmNhbkNoYW5nZUV4Y2hhbmdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmZpbHRlckl0ZW19LHIuY3JlYXRlRWxlbWVudCh3LG51bGwpKSxoJiZoLm1hcCgoZT0+e2NvbnN0e2lkOnQsb3B0aW9uczpuLGxhYmVsOm99PWUsbD1uLmZpbmQoKGU9PmUudmFsdWU9PT1OLkZJTFRFUl9ERUZBVUxUX1ZBTFVFKSk7aWYoIWwpdGhyb3cgbmV3IEVycm9yKCJUaGVyZSBtdXN0IGJlIGRlZmF1bHQgZmlsdGVyIHZhbHVlIGluIGZpbHRlciBkZWZpbml0aW9uIik7Y29uc3QgYT1uLmZpbmQoKGU9PmUudmFsdWU9PT1jW3AuY3VycmVudFN5bWJvbFR5cGVdPy5bdF0pKXx8bDtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6dCxjbGFzc05hbWU6TS5maWx0ZXJJdGVtfSxyLmNyZWF0ZUVsZW1lbnQoTCx7c2VsZWN0ZWRPcHRpb246YSxkZWZhdWx0T3B0aW9uOmwsb3B0aW9uczpuLG9uU2VsZWN0OmU9Pnt1KHAuY3VycmVudFN5bWJvbFR5cGUse1t0XTplLnZhbHVlfSksKDAsay50cmFja0V2ZW50KSgiTmV3IFNTIixwLmN1cnJlbnRTeW1ib2xUeXBlLG51bGw9PT1lLnZhbHVlP2UuYW5hbHl0aWNzTGFiZWw6ZS52YWx1ZSksZCgtMSksbS5jdXJyZW50Py5mb2N1cygpfSxsYWJlbDpvLCJkYXRhLXFhLWlkIjp0fSkpfSkpKTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmVtcHR5U3BhY2V9KX1yZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKE0ud3JhcCxvJiZNLnNtYWxsKX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6TS5pdGVtfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRleHR9LG8/YS50KG51bGwsdm9pZCAwLG4oMTAwMzczKSk6YS50KG51bGwsdm9pZCAwLG4oNjEzMTYzKSkpKSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLml0ZW19LCFvJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRleHR9LGEudChudWxsLHZvaWQgMCxuKDM5Nzk4NykpKSxwLmNhbkNoYW5nZUV4Y2hhbmdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmV4Y2hhbmdlfSxyLmNyZWF0ZUVsZW1lbnQodyxudWxsKSkpKX19LDIwMTk2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hGZWVkOigpPT5nfSk7dmFyIHI9big3Nzk0NzQpLG89big2ODA5MTUpLGw9big5MTQ0ODcpLGE9bi5uKGwpLHM9bigxMzg2MzgpLGk9big3MTk0MjUpLGM9big1NjEyMDUpLHU9big0OTA1ODApLGQ9big5NjkxNjgpLG09bigxMzY2MykscD1uKDcyNzU2OSksaD1uKDI4NDU4KSxmPW4oNjQxOTApLFM9big1OTY4OTgpO2Z1bmN0aW9uIGcoZSl7Y29uc3R7b25Ub3VjaE1vdmU6dCxsaXN0UmVmOm4sY2xhc3NOYW1lOmwsbGlzdFdyYXBSZWY6Zyx2aXJ0dWFsTGlzdEtleTp5LGl0ZW1zOmIsZ2V0SXRlbVNpemU6dixoaWRlRmVlZDpfLGNhbkxvYWRNb3JlOkUsb25Mb2FkTW9yZVN5bWJvbHM6Q309ZSx7bW9kZTpULGlzU21hbGxXaWR0aDp4LGhhbmRsZUxpc3RXaWR0aDpJfT0oMCxtLnVzZUVuc3VyZWRDb250ZXh0KShjLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksW3csTl09KDAsci51c2VTdGF0ZSkobnVsbCksUj0oMCxpLnVzZVJlc2l6ZU9ic2VydmVyKSgoZnVuY3Rpb24oW2VdKXtOKGUuY29udGVudFJlY3QuaGVpZ2h0KSxJKGUuY29udGVudFJlY3Qud2lkdGgpfSkpLEE9KDAsci51c2VDYWxsYmFjaykoKGU9Pntjb25zdHtpbmRleDp0LHN0eWxlOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6bn0sYlt0XSl9KSxbYl0pLEw9KDAsci51c2VDYWxsYmFjaykoKGU9PigwLHMuZW5zdXJlKShiW2VdLmtleSkpLFtiXSksaz0id2F0Y2hsaXN0Ij09PVQmJm51bGwhPT13LE89KDAsaC51c2VJbnRlcnNlY3Rpb25PYnNlcnZlcikoKGU9Pntjb25zdCB0PWUucG9wKCk7dm9pZCAwIT09dCYmdC5pc0ludGVyc2VjdGluZyYmQyYmQygpfSkse3RocmVzaG9sZDowLHJvb3RNYXJnaW46IjBweCAwcHggMjBweCAwcHgiLHJvb3Q6Z30pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoUy53cmFwLGsmJlMud2F0Y2hsaXN0LF8mJlMubm9GZWVkLF8mJnAuaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJlMubmV3U3R5bGVzLGwpLG9uVG91Y2hNb3ZlOnQscmVmOlJ9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmcsY2xhc3NOYW1lOmEoKShTLnNjcm9sbENvbnRhaW5lcixfJiZTLm5vRmVlZCl9LGs/ci5jcmVhdGVFbGVtZW50KG8uVmFyaWFibGVTaXplTGlzdCx7a2V5OnkscmVmOm4sY2xhc3NOYW1lOlMud2F0Y2hsaXN0Q29udGFpbmVyLHdpZHRoOiIxMDAlIixoZWlnaHQ6KDAscy5lbnN1cmVOb3ROdWxsKSh3KSxpdGVtQ291bnQ6Yi5sZW5ndGgsaXRlbVNpemU6dixjaGlsZHJlbjpBLGl0ZW1LZXk6TCxvdmVyc2NhbkNvdW50OjIwLGRpcmVjdGlvbjooMCxkLmlzUnRsKSgpPyJydGwiOiJsdHIifSk6ci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoUy5saXN0Q29udGFpbmVyLHgmJlMubXVsdGlMaW5lSXRlbXNDb250YWluZXIpfSwhcC5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicyYmci5jcmVhdGVFbGVtZW50KHUuU3ltYm9sU2VhcmNoRmVlZEhlYWRlcixudWxsKSwuLi5iLEUmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7a2V5OmBvYnNlcnZlci0ke2IubGVuZ3RofWAsY2xhc3NOYW1lOmEoKShTLnNwaW5uZXJDb250YWluZXIseCYmUy5sYXJnZVNwaW5uZXIpLHJlZjpPfSxyLmNyZWF0ZUVsZW1lbnQoZi5TcGlubmVyLHtzaXplOng/InNtYWxsIjoibWluaSJ9KSkpKSkpfX0sNTk3NjU0KGUsdCxuKXsKInVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hJdGVtc0RpYWxvZzooKT0+Z259KTt2YXIgcixvLGw9big3Nzk0NzQpLGE9big5MTQ0ODcpLHM9bi5uKGEpLGk9big5MzAyMzEpLGM9big3ODMyNTQpLHU9bigyMjUyOTgpLGQ9big4NTE0NTgpLG09big3Mjc1NjkpO2Z1bmN0aW9uIHAoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtsZXQgdCxuPTAscj0wO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtjb25zdCBsPWVbb107aWYoIndoaXRlc3BhY2UiIT09bC50eXBlKXN3aXRjaChuKXtjYXNlIDA6aWYoIm51bWJlciIhPT1sLnR5cGV8fDEhPStsLnZhbHVlKXJldHVybltdO249MTticmVhaztjYXNlIDE6aWYoMSE9PW58fCJkaXZpZGUiIT09bC50eXBlKXJldHVybltdO249Mix0PW8rMTticmVhaztjYXNlIDI6aWYoIm9wZW5CcmFjZSI9PT1sLnR5cGUpbj0zLHI9MTtlbHNlIGlmKCgwLGQuaXNCaW5hcnlPcGVyYXRvcikobC50eXBlKSlyZXR1cm5bXTticmVhaztjYXNlIDM6Im9wZW5CcmFjZSI9PT1sLnR5cGU/cisrOiJjbG9zZUJyYWNlIj09PWwudHlwZSYmKHItLSxyPD0wJiYobj0yKSl9fXJldHVybiBlLnNsaWNlKHQpfShlKTtyZXR1cm4gdC5sZW5ndGg/KDAsZC5mYWN0b3JPdXRCcmFjZXMpKHQpOigwLGQuZmFjdG9yT3V0QnJhY2VzKSgoMCxkLnRva2VuaXplKSgiMS8oIitoKGUpKyIpIikpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+InN5bWJvbCI9PT10LnR5cGUmJmQuc3ltYm9sVG9rZW5Fc2NhcGVSZS50ZXN0KHQudmFsdWUpP2UrYCcke3QudmFsdWV9J2A6ZSt0LnZhbHVlKSwiIil9ZnVuY3Rpb24gZihlKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsZC50b2tlbml6ZSkoZSksbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChlPT57aWYoInN5bWJvbCIhPT1lLnR5cGUpcmV0dXJuO2NvbnN0W3RdPSgwLGQucGFyc2VUb2tlbikoZSk7dCYmbi5wdXNoKHQpfSkpLG59KGUpO2lmKDE9PT10Lmxlbmd0aClyZXR1cm4gdFswXX1mdW5jdGlvbiBTKGUsdCxuKXtjb25zdCByPWUudmFsdWUsW28sbF09ZyhlLG4pLGE9KDAsbS5nZXRTeW1ib2xGdWxsTmFtZSkodCkscz1kLnN5bWJvbFRva2VuRXNjYXBlUmUudGVzdChhKT9gJyR7YX0nYDphO3JldHVybltyLnN1YnN0cmluZygwLGwpK3Mrci5zdWJzdHJpbmcobCtvLmxlbmd0aCksbCtzLmxlbmd0aF19ZnVuY3Rpb24gZyhlLHQpe2NvbnN0e3ZhbHVlOm4sc2VsZWN0aW9uU3RhcnQ6cn09ZSxvPSgwLGQudG9rZW5pemUpKHQ/bi50b1VwcGVyQ2FzZSgpOm4pLGw9KDAsZC5nZXRUb2tlbkF0UG9zKShvLHJ8fDApO3JldHVybltsPy52YWx1ZXx8IiIsbD9sLm9mZnNldDpuLmxlbmd0aCxvXX0hZnVuY3Rpb24oZSl7ZS5Jbml0PSJpbml0IixlLlZhcj0idmFyIixlLk9wZXJhdG9yPSJvcGVyYXRvciJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkluaXQ9MF09IkluaXQiLGVbZS5EaXY9MV09IkRpdiIsZVtlLkV4cHJlc3Npb249Ml09IkV4cHJlc3Npb24iLGVbZS5CcmFjZWRFeHByZXNzaW9uPTNdPSJCcmFjZWRFeHByZXNzaW9uIn0ob3x8KG89e30pKTt2YXIgeT1uKDU2OTM5OCksYj1uKDkzMDU2Niksdj1uKDgzOTQyNiksXz1uKDQxMTQwNyk7ZnVuY3Rpb24gRSgpe2NvbnN0IGU9ZnVuY3Rpb24oKXtjb25zdCBlPSgwLF8udHJhZGluZ1NlcnZpY2UpKCk7cmV0dXJuIGUmJjE9PT1lLmNvbm5lY3RTdGF0dXMoKT9lLmFjdGl2ZUJyb2tlcigpOm51bGx9KCk7cmV0dXJuIGU/e2Jyb2tlcjplLGFjY291bnRNZXRhaW5mbzooMCx2LmRlZmF1bHQpKCgoKT0+ZS5hY2NvdW50TWV0YWluZm8oKSkpfTpudWxsfWZ1bmN0aW9uIEMoKXtjb25zdCBlPWZ1bmN0aW9uKCl7Y29uc3RbZSx0XT0oMCxsLnVzZVN0YXRlKShFKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxfLnRyYWRpbmdTZXJ2aWNlKSgpLG49KCk9Pnt0KEUoKSl9O3JldHVybiBlJiYoZS5vbkJyb2tlckNoYW5nZS5zdWJzY3JpYmUobnVsbCxuKSxlLm9uQ29ubmVjdGlvblN0YXR1c0NoYW5nZS5zdWJzY3JpYmUobnVsbCxuKSksKCk9PntlJiYoZS5vbkJyb2tlckNoYW5nZS51bnN1YnNjcmliZShudWxsLG4pLGUub25Db25uZWN0aW9uU3RhdHVzQ2hhbmdlLnVuc3Vic2NyaWJlKG51bGwsbikpfX0pLFtdKSxlfSgpLHQ9ZT8uYnJva2VyPz9udWxsLG49KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUmJmUubWV0YWluZm8oKS5jb25maWdGbGFncy5zdXBwb3J0U3ltYm9sU2VhcmNoKXJldHVybiBlLm1ldGFpbmZvKCkuYmFja2VuZEJyb2tlck5hbWV8fGUubWV0YWluZm8oKS5pZC50b0xvd2VyQ2FzZSgpO3JldHVybn0odCkpLFt0XSkscj0oMCxsLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybiBlPy5tZXRhaW5mbygpLnRpdGxlO3JldHVybn0odCxuKSksW3Qsbl0pLG89KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJue2xvZ29NaW5pVXJsOmUubWV0YWluZm8oKS5sb2dvTWluaVVybCxsb2dvTWluaUJsYWNrVXJsOmUubWV0YWluZm8oKS5sb2dvTWluaUJsYWNrVXJsfTtyZXR1cm59KHQpKSxbdF0pLGE9KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUpe2NvbnN0IHQ9ZS5tZXRhaW5mbygpLmNvbmZpZ0ZsYWdzLnN1cHBvcnRVbmhpZGVTeW1ib2xTZWFyY2hHcm91cHM7aWYoMT09PWUuY29ubmVjdGlvblN0YXR1cygpJiZ0JiZlLnVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwcylyZXR1cm4gZS51bmhpZGVTeW1ib2xTZWFyY2hHcm91cHMoKS5qb2luKCIsIil9cmV0dXJufSh0KSksW3RdKSxzPSgwLGwudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtyZXR1cm4gQm9vbGVhbihlPy5tZXRhaW5mbygpLmNvbmZpZ0ZsYWdzLnN1cHBvcnREaXNwbGF5QnJva2VyTmFtZUluU3ltYm9sU2VhcmNoKX0odCkpLFt0XSksW2ksY109KDAsbC51c2VTdGF0ZSkoKCgpPT5iLmdldEJvb2woInN5bWJvbGVkaXQudHJhZGFibGUiLCEwKSkpO3JldHVybigwLGwudXNlRWZmZWN0KSgoKCk9PntiLnNldFZhbHVlKCJzeW1ib2xlZGl0LnRyYWRhYmxlIixpKX0pLFtpXSkse2Jyb2tlcldyYXBwZXI6ZSwKYnJva2VySWQ6bixicm9rZXJUaXRsZTpyLGJyb2tlckxvZ29JbmZvOm8saXNCcm9rZXJDaGVja2VkOmksc2V0SXNCcm9rZXJDaGVja2VkOmMsZGlzcGxheUJyb2tlclN5bWJvbDpzLHVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwczphfX12YXIgVD1uKDY5NzQ3MikseD1uKDM5ODEzMik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LG5dPSgwLGwudXNlU3RhdGUpKCgoKT0+e2NvbnN0e3NlYXJjaFNvdXJjZXM6dH09ZSxuPWIuZ2V0SlNPTigic3ltYm9sZWRpdC5zZWxlY3RlZFNlYXJjaFNvdXJjZXMiLHt9KSxyPXt9O3JldHVybiBPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChlPT57Y29uc3Qgbz10LmZpbmQoKHQ9PnQudmFsdWUoKT09PW5bZV0pKTtvJiYocltlXT1vKX0pKSxyfSkpO3JldHVyblt0LCgwLGwudXNlQ2FsbGJhY2spKCgoZSx0KT0+e24oKG49Pntjb25zdCByPXsuLi5uLFtlXTp0fTtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD17fTtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57dFtuXT1lW25dLnZhbHVlKCl9KSksYi5zZXRKU09OKCJzeW1ib2xlZGl0LnNlbGVjdGVkU2VhcmNoU291cmNlcyIsdCl9KHIpLHJ9KSl9KSxbXSldfXZhciB3PW4oMTM4NjM4KTt2YXIgTj1uKDc4MzExNiksUj1uKDM0NDEwMyksQT1uKDMyMDU1KTtjb25zdCBMPW5ldyBTZXQoWyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwidHlwZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwibG9nbyIsInNvdXJjZS1sb2dvaWQiLCJ1cGRhdGVfbW9kZSIsInR5cGVzcGVjcyIsInNvdXJjZSIsInNvdXJjZTIiXSk7YXN5bmMgZnVuY3Rpb24gaygpe3JldHVybiBhc3luYyBmdW5jdGlvbihlKXtjb25zdCB0PVtdLG49YXdhaXQoMCxBLnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3RzRm9yQWxsKGUsTCk7cmV0dXJuIG4uZmlsdGVyKEQpLmZvckVhY2goKGU9Pntjb25zdHt2YWx1ZXM6e3Nob3J0X25hbWU6bixwcm9fbmFtZTpyLGRlc2NyaXB0aW9uOm8sdHlwZTpsLGxvZ286YSwic291cmNlLWxvZ29pZCI6cyxjb3VudHJ5X2NvZGU6aSxwcm92aWRlcl9pZDpjLHVwZGF0ZV9tb2RlOnUsdHlwZXNwZWNzOmQsc291cmNlOm0sc291cmNlMjpwfX09ZTtvJiZsJiZ0LnB1c2goe2Z1bGxfbmFtZTpyLHN5bWJvbDoic3ByZWFkIj09PWw/cjpuLGV4Y2hhbmdlOiJzcHJlYWQiPT09bD9udWxsOigwLFIuZ2V0RXhjaGFuZ2UpKHIpLGRlc2NyaXB0aW9uOm8sdHlwZTpsLHR5cGVzcGVjczpkLGxvZ286YSxzb3VyY2VfbG9nb2lkOnMsY291bnRyeTppPy50b0xvd2VyQ2FzZSgpLHByb3ZpZGVyX2lkOmM/LnRvTG93ZXJDYXNlKCkscGFyYW1zOiJlbmRvZmRheSI9PT11P1siZW9kIl06dm9pZCAwLHNvdXJjZTptLHNvdXJjZTI6cH0pfSkpLHR9KGIuZ2V0SlNPTigiU3ltYm9sU2VhcmNoLnJlY2VudCIsW10pLmZpbHRlcigoZT0+InN0cmluZyI9PXR5cGVvZiBlKSkpfWFzeW5jIGZ1bmN0aW9uIE8oZSl7Y29uc3QgdD1hd2FpdCBhc3luYyBmdW5jdGlvbihlKXtjb25zdCB0PWF3YWl0KDAsQS5zbmFwc2hvdGVyKSgpLmdldFNuYXBzaG90KGUsTCk7cmV0dXJuIEQodCk/dC52YWx1ZXMucHJvX25hbWU6bnVsbH0oZSk7bnVsbCE9PXQmJk0odCl9ZnVuY3Rpb24gTShlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuO2NvbnN0IHQ9bmV3IFNldChiLmdldEpTT04oIlN5bWJvbFNlYXJjaC5yZWNlbnQiLFtdKSk7dC5oYXMoZSkmJnQuZGVsZXRlKGUpLHQuaGFzKG51bGwpJiZ0LmRlbGV0ZShudWxsKSxiLnNldEpTT04oIlN5bWJvbFNlYXJjaC5yZWNlbnQiLFtlLC4uLnRdLnNsaWNlKDAsMzApKX1mdW5jdGlvbiBEKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c312YXIgUD1uKDM4NjkzMSksRj1uKDU4OTkxNSksQj1uKDQwMTA3OCksSD1uKDkzMTc1NyksVT1uKDM0OTM0MSksVz1uKDc2NTU5KSxWPW4oNDgwMjg0KSxHPW4oNzc3NjgwKSxRPW4oMjE0OTg3KSx6PW4oNjE2MzExKSwkPW4oMTg1MjcxKSxxPW4oMTQ5MjAwKSxLPW4oMzE1MzIwKSxZPW4oNDg4NzgyKSxYPW4oMTIzNjMxKSxqPW4oODY2NzEpLFo9bigxMzY3NTEpLEo9big1NDY1NTkpLGVlPW4oMzcwNjQyKSx0ZT1uKDYwNzM0NSksbmU9big3OTExNDApLHJlPW4oMzYzOTU4KSxvZT1uKDc2NTkxNCksbGU9big2MDE4NDEpLGFlPW4oNzU1NjI3KSxzZT1uKDgxMDA1OSksaWU9big3MDYwNTApLGNlPW4oNTUxNTA1KSx1ZT1uKDUxODc1KSxkZT1uKDU5NTE4OSksbWU9big3MjY4MjYpLHBlPW4oNjkyOTU2KTtmdW5jdGlvbiBoZShlKXtjb25zdHtzeW1ib2w6dCxjaGlsZHJlbjpyLHNob3dIaW50Om99PWUsYT0oMCxsLnVzZVJlZikobnVsbCkscz0oMCxsLnVzZUNhbGxiYWNrKSgoZT0+e2U/KGEuY3VycmVudD1lLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHVlLnByZXZlbnREZWZhdWx0KSk6YS5jdXJyZW50JiYoYS5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix1ZS5wcmV2ZW50RGVmYXVsdCksYS5jdXJyZW50PW51bGwpfSksW10pO3JldHVybiB0P2wuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnBlLmNvbnRhaW5lcn0sbC5jcmVhdGVFbGVtZW50KGRlLkZsYWcse2NsYXNzTmFtZTpwZS5mbGFnLHN5bWJvbDp0fSksbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnBlLmNvbnRlbnR9LHIpLG8mJmwuY3JlYXRlRWxlbWVudChtZS5IaW50UmVmZXJlbmNlYWJsZSx7YnV0dG9uVGV4dDokLnQobnVsbCx2b2lkIDAsbigxNDUzNDgpKSxoaWRlV2l0aFJlZmVyZW5jZTohMCxwbGFjZW1lbnQ6InRvcCIscmVmZXJlbmNlOnMsc2V0dGluZ3NIaW50S2V5OiJoaW50Lm9wdGlvbnNTeW1ib2xTZWFyY2giLHRleHQ6JC50KG51bGwsdm9pZCAwLG4oNTQyNjA5KSl9KSk6bC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnBlLmNvbnRlbnR9LHIpfXZhciBmZT1uKDU4MzAzOCksU2U9big4NDY3NzkpO2NvbnN0IGdlPWwubWVtbygoZnVuY3Rpb24oZSl7Y29uc3R7Y29sU3Bhbjp0LHByaWNlOm4scHJpY2VzY2FsZTpyLHN5bWJvbDpvfT1lLGE9KDAsbC51c2VNZW1vKSgoKCk9Pm5ldyBhZS5QcmljZUZvcm1hdHRlcih7CnByaWNlU2NhbGU6cj8/dm9pZCAwfSkpLFtyXSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgidHIiLHsiZGF0YS1xYS1pZCI6Im9wdGlvbi1jaGFpbi11bmRlcmx5aW5nLXJvdyJ9LGwuY3JlYXRlRWxlbWVudCgidGQiLHtjbGFzc05hbWU6U2UudW5kZXJseWluZ0NlbGwsY29sU3Bhbjp0LCJkYXRhLWNlbGwtaWQiOm99LGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlNlLnVuZGVybHlpbmdCYWRnZX0sKDAsZmUuc3BsaXRTeW1ib2xOYW1lKShvKVsxXSwiICIsYS5mb3JtYXQobikpKSl9KSkseWU9WyJzeW1ib2wiXSxiZT1bInN0cmlrZSJdO2Z1bmN0aW9uIHZlKGUpe2NvbnN0e2N1cnJlbnRQcmljZTp0LGluaXRpYWxPcHRpb246cixvbkNoYW5nZVNvcnQ6byxvcHRpb25zOmEscHJpY2VzY2FsZTpzLHNlcmllOmksc29ydERlc2M6Y309ZSx7c3RyaWtlczp1LHVuZGVybHlpbmc6ZH09aSxtPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9e29wdGlvblR5cGU6W10sc3RyaWtlOltdLHN5bWJvbDpbXX07Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LnZhbHVlcyhlKSlmb3IoY29uc3QgZSBvZiBPYmplY3QudmFsdWVzKG4pKSgwLGxlLmlzTnVtYmVyKShlLnN0cmlrZSkmJnQuc3RyaWtlLnB1c2goZS5zdHJpa2UpO2NvbnN0IG49bmV3IGFlLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOjJ9KTtyZXR1cm57b3B0aW9uVHlwZTpuLHN0cmlrZTpuZXcgYWUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAqKigwLGNlLmZpbmRNYXhQcmVjaXNpb24pKHQuc3RyaWtlKX0pLHN5bWJvbDpufX0oYSkscD1bXTtsZXQgaCxmLFMsZz1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiBlP3tzeW1ib2w6YCR7ZS5vcHRpb25UeXBlfSAkeygwLGllLmNoYWluRm9ybWF0TnVtYmVyKShlLnN0cmlrZSxtLnN0cmlrZSl9YH06e3N5bWJvbDoi4oCTIn19Zm9yKGxldCBlPTA7ZTx1Lmxlbmd0aDtlKyspe2NvbnN0IG49dVtlXSxvPWFbbl07aWYoIW8pY29udGludWU7Y29uc3QgYz17dHlwZToib3B0aW9uIixjYWxsOmIoby5jYWxsKSxjYWxsUGFydENvbG9yOnQ+PW4/Im91dC1vZi10aGUtbW9uZXkiOiJpbi10aGUtbW9uZXkiLGNhbGxJZDpvLmNhbGw/LnN5bWJvbCxjZW50cmFsOntzdHJpa2U6KDAsaWUuY2hhaW5Gb3JtYXROdW1iZXIpKG4sbS5zdHJpa2UpfSxwdXQ6YihvLnB1dCkscHV0UGFydENvbG9yOnQ8bj8ib3V0LW9mLXRoZS1tb25leSI6ImluLXRoZS1tb25leSIscHV0SWQ6by5wdXQ/LnN5bWJvbCx1bmRlcmx5aW5nOmkudW5kZXJseWluZyxzdHJpa2U6bn07IXJ8fHIhPT1vLmNhbGw/LnN5bWJvbCYmciE9PW8ucHV0Py5zeW1ib2x8fChmPXIsaD1yLFM9cikscC5wdXNoKGMpLHQ+PXVbZV0mJnQ8dVtlKzFdJiYoZz1lLHk9bC5jcmVhdGVFbGVtZW50KGdlLHtrZXk6ZCxjb2xTcGFuOjIqeWUubGVuZ3RoK2JlLmxlbmd0aCxwcmljZTp0LHByaWNlc2NhbGU6cyxzeW1ib2w6ZH0pLGh8fChoPWMuY2FsbElkKSxTfHwoUz1kLGY9Yy5jYWxsSWQ/P2MucHV0SWQ/P3ZvaWQgMCkpfWMmJihwLnJldmVyc2UoKSxudWxsIT09ZyYmKGc9cC5sZW5ndGgtZy0yKSk7cmV0dXJue3Nlcmllc0lkOmkuaWQscm93czpwLGNvbHNEYXRhOntjZW50cmFsQ29sczpiZSxjZW50cmFsQ29sc0RhdGE6e3N0cmlrZTp7YWxpZ246ImNlbnRlciIsc29ydDpjPyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIix0aXRsZTpsLmNyZWF0ZUVsZW1lbnQoc2UuT3B0aW9uc0NoYWluU29ydGFibGVDZWxsLHtvbkNsaWNrOigpPT5vKCFjKSxzb3J0RGVzYzpjLHNvcnRBY3RpdmU6ITB9LCQudChudWxsLHtjb250ZXh0OiJwcmljZSJ9LG4oNDQ1MzMzKSkpfX0sc2lkZUNvbHM6eWUsc2lkZUNvbHNEYXRhOntzeW1ib2w6e2FsaWduOiJjZW50ZXIiLHRpdGxlOiQudChudWxsLHtjb250ZXh0OiJpbnN0cnVtZW50X3N5bWJvbF9uYW1lIn0sbigxNjM5ODApKSxjdXN0b21Db250ZW50UmVuZGVyOih7Y2VsbElkOmUsY2hpbGRyZW46dH0pPT5sLmNyZWF0ZUVsZW1lbnQoaGUse3Nob3dIaW50Omg9PT1lLHN5bWJvbDplfSx0KX19fSxpbml0aWFsU2Nyb2xsUG9zaXRpb25DZWxsSWQ6Uyxpbml0aWFsTmF2aWdhdGVkQ2VsbElkOmYsdW5kZXJseWluZ0luZGV4OmcsdW5kZXJseWluZ1Jvdzp5LHNlbGVjdGVkQ2VsbElkOnJ9fXZhciBfZT1uKDU5NTUxNyksRWU9big4ODQ2MzQpLENlPW4oODI3MDI5KSxUZT1uKDYzMjA2MCkseGU9big3MDEyNTkpO2NvbnN0IEllPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbHVtbnM9WyJvcHRpb24tdHlwZSIsInN0cmlrZSJdfWFzeW5jIGdldFNlcmllc09wdGlvbnMoZSx0LG4pe2NvbnN0e2V4cDpyLHVuZGVybHlpbmc6byxyb290Omx9PWUsYT0oMCx4ZS5jcmVhdGVTY2FuUGFyYW1NYW5hZ2VyKSh7Y29sdW1uczp0aGlzLl9jb2x1bW5zLGluZGV4X2ZpbHRlcnM6W3tuYW1lOiJ1bmRlcmx5aW5nX3N5bWJvbCIsdmFsdWVzOltvXX1dLGZpbHRlcjpbe2xlZnQ6InR5cGUiLG9wZXJhdGlvbjpFZS5GaWx0ZXJPcGVyYXRpb24uRXF1YWwscmlnaHQ6Im9wdGlvbiJ9LHtsZWZ0OiJleHBpcmF0aW9uIixvcGVyYXRpb246RWUuRmlsdGVyT3BlcmF0aW9uLkVxdWFsLHJpZ2h0OnJ9LHtsZWZ0OiJyb290IixvcGVyYXRpb246RWUuRmlsdGVyT3BlcmF0aW9uLkVxdWFsLHJpZ2h0Omx9XSxzb3J0Ontzb3J0Qnk6Im5hbWUiLHNvcnRPcmRlcjoiYXNjIn19KSx7c3ltYm9sczpzLGZpZWxkczppfT1hd2FpdCgwLF9lLmdldFNjYW4yRGF0YSkobixhLENlLk5vblN0b2NrTWFya2V0Lk9wdGlvbnMsdCk7aWYoIXMpcmV0dXJuW107Y29uc3QgYz17fTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCB0PVRlLlNjYW5uZXJVdGlscy5tYXBTY2FubmVyU3ltYm9sKGksZSkseyJvcHRpb24tdHlwZSI6bixzdHJpa2U6cn09dDtUZS5TY2FubmVyVXRpbHMuaXNPcHRpb25UeXBlKG4pJiZUZS5TY2FubmVyVXRpbHMuaXNTdHJpa2UocikmJihjW3JdfHwoY1tyXT17fSksY1tyXVtuXT17b3B0aW9uVHlwZTpuLHN0cmlrZTpyLHN5bWJvbDp0Lm5hbWV9KX1yZXR1cm4gY319LHdlPS9eXHcrOihbXHcmXSspKD88ZGF0ZT5bMC05XXs2fSkoUHxDKS0/WzAtOS5dKyQvCjt2YXIgTmU9big1NDAzMCk7ZnVuY3Rpb24gUmUoZSl7Y29uc3R7Y3VycmVudFByaWNlOnQsaW5pdGlhbE9wdGlvbjpyLG9uU2VsZWN0Om8scHJpY2VzY2FsZTphLHNjYW5uZXJMYWJlbDppLHNlcmllczpjfT1lLHU9KDAsdGUudXNlT3B0aW9uc0V2ZW50VHJhY2tlcikoKTsoMCxlZS51c2VPcGVuVHJhY2tpbmcpKEYuT3B0aW9uc1RyYWNrZXIuRWxlbWVudC5PcHRpb25zQ2hhaW5PcGVuKSwoMCxKLnVzZUFjdGl2aXR5VGltZVRyYWNraW5nKShGLk9wdGlvbnNUcmFja2VyLkVsZW1lbnQuT3B0aW9uc0NoYWluVGltZVNwZW50KTtjb25zdCBkPSgwLGwudXNlUmVmKSh0KTtkLmN1cnJlbnQ9dDtjb25zdFttLHBdPSgwLGwudXNlU3RhdGUpKCgoKT0+ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBuPWUubWF0Y2god2UpO2lmKCFuKXJldHVybiBudWxsO2NvbnN0IHI9TnVtYmVyKDIwK25bMl0pLG89blsxXTtyZXR1cm4gTnVtYmVyLmlzTmFOKHIpP251bGw6dC5maW5kKChlPT5lLmV4cD09PXImJmUucm9vdD09PW8pKT8/bnVsbH0ocixjKT8uaWQ/PygwLHcuZW5zdXJlRGVmaW5lZCkoY1swXSkuaWQpKSxbaCxmXT0oMCxsLnVzZVN0YXRlKSh7c3RhdGU6ImxvYWRpbmcifSksW1MsZ109bmUudXNlVFZTZXR0aW5ncy5ib29sZWFuKCJvcHRpb25zQ2hhaW4uc29ydERlc2MiLCExKSx5PSgwLGwudXNlTWVtbykoKCgpPT5bbV0pLFttXSksYj0oMCxsLnVzZU1lbW8pKCgoKT0+KDAscmUuYnVpbGRTZXJpZXNQaWNrZXJHcm91cHMpKGMpKSxbY10pLHY9KDAsbC51c2VNZW1vKSgoKCk9PiJzdWNjZXNzIj09PWguc3RhdGU/e3N0YXRlOiJzdWNjZXNzIixkYXRhOnZlKHtjdXJyZW50UHJpY2U6ZC5jdXJyZW50LGluaXRpYWxPcHRpb246cixvbkNoYW5nZVNvcnQ6ZyxvcHRpb25zOmgub3B0aW9ucyxwcmljZXNjYWxlOmEsc2VyaWU6aC5zZXJpZSxzb3J0RGVzYzpTfSl9OmgpLFtoLHIsYSxTLGddKSxfPSgwLGwudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD0oMCx3LmVuc3VyZURlZmluZWQpKGMuZmluZCgodD0+dC5pZD09PWUpKSk7cChlKSx1KEYuT3B0aW9uc1RyYWNrZXIuRWxlbWVudC5PcHRpb25zQ2hhaW5TZWxlY3RTZXJpZXMsKDAscmUuZ2V0RGF5c1VudGlsRXhwaXJhdGlvbikodC5leHBEYXRlKS50b1N0cmluZygpKX0pLFt1LGNdKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1uZXcgQWJvcnRDb250cm9sbGVyLHQ9KDAsdy5lbnN1cmVEZWZpbmVkKShjLmZpbmQoKGU9PmUuaWQ9PT1tKSkpO3JldHVybiBmKHtzdGF0ZToibG9hZGluZyJ9KSxJZS5nZXRTZXJpZXNPcHRpb25zKHQsaSxlLnNpZ25hbCkudGhlbigoZT0+e2Yoe3N0YXRlOiJzdWNjZXNzIixvcHRpb25zOmUsc2VyaWU6dH0pfSkpLmNhdGNoKChlPT57KDAsUS5pc0Fib3J0RXJyb3IpKGUpfHxmKHtzdGF0ZToiZXJyb3IifSl9KSksKCk9PntlLmFib3J0KCl9fSksW2ksbSxjXSksbC5jcmVhdGVFbGVtZW50KFguT3B0aW9uc0NoYWluV3JhcHBlcix7Y2xhc3NOYW1lOk5lLnJvb3R9LGwuY3JlYXRlRWxlbWVudChaLlBpY2tlcix7Y2xhc3NOYW1lOk5lLnNlbGVjdG9yLCJkYXRhLXFhLWlkIjoib3B0aW9uLWNoYWluLXBpY2tlciIsZ3JvdXBzOmIsbW9kZToic2luZ2xlLXNlbGVjdCIsb25TZWxlY3Q6Xyx2YWx1ZXM6eX0pLCJsb2FkaW5nIj09PXYuc3RhdGU/bC5jcmVhdGVFbGVtZW50KEguT3B0aW9uc0NoYWluU2tlbGV0b24se2NlbnRyYWxDb2xzQ291bnQ6MSxjbGFzc05hbWU6TmUuY2hhaW4sc2lkZUNvbHNDb3VudDoxfSk6ImVycm9yIj09PXYuc3RhdGU/bC5jcmVhdGVFbGVtZW50KG9lLkVtcHR5U3RhdGVCbG9jayx7Y2xhc3NOYW1lOnMoKShOZS5lbXB0eSxOZS5jaGFpbiksaWNvbkNsYXNzOk5lLmVtcHR5U3RhdGVJY29uLHRleHQ6JC50KG51bGwsdm9pZCAwLG4oMzM1NjczKSksdGl0bGU6JC50KG51bGwsdm9pZCAwLG4oMjg1MTMxKSl9KTpsLmNyZWF0ZUVsZW1lbnQoQWUse2RhdGE6di5kYXRhLG9uU2VsZWN0Om99KSl9ZnVuY3Rpb24gQWUoZSl7Y29uc3R7ZGF0YTp0LG9uU2VsZWN0Om59PWUscj0oMCxsLnVzZVJlZikobnVsbCksbz0oMCxsLnVzZVJlZikobnVsbCksYT0oMCxsLnVzZUNhbGxiYWNrKSgoZT0+eygwLGouc2Nyb2xsVG9Sb3cpKGUsci5jdXJyZW50KX0pLFtyXSk7KDAsei51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pnt0LmluaXRpYWxTY3JvbGxQb3NpdGlvbkNlbGxJZCYmYSh0LmluaXRpYWxTY3JvbGxQb3NpdGlvbkNlbGxJZCl9KSxbdCxhXSk7Y29uc3Qgcz0oMCxsLnVzZU1lbW8pKCgoKT0+W3tncm91cElkOnQuc2VyaWVzSWQscm93czp0LnJvd3MubWFwKChlPT4oe2NhbGxJZDplLmNhbGxJZCxwdXRJZDplLnB1dElkfSkpKX1dKSxbdF0pLHtoYW5kbGVUYWJsZUtleURvd246aSxuYXZpZ2F0ZWRJZDpjLHRhYmxlVGFiSW5kZXg6dX09KDAsSy51c2VLZXlib2FyZE5hdmlnYXRpb24pKG8sdC5pbml0aWFsTmF2aWdhdGVkQ2VsbElkLHMsYSxudWxsKTsoMCxsLnVzZUVmZmVjdCkoKCgpPT5vLmN1cnJlbnQ/LmZvY3VzKCkpLFtdKTtjb25zdCBkPSgwLGwudXNlQ2FsbGJhY2spKChlPT57aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PWUuY3VycmVudFRhcmdldC5kYXRhc2V0LmNlbGxJZDt0JiZuKHQpfSksW25dKTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KHEuT3B0aW9uc0NoYWluLHtjbGFzc05hbWU6TmUuY2hhaW4sY29sc0RhdGE6dC5jb2xzRGF0YSxvblRhYmxlS2V5RG93bjppLHNjcm9sbENvbnRhaW5lclJlZjpyLHRhYmxlUmVmOm8sdGFibGVUYWJJbmRleDp1fSxsLmNyZWF0ZUVsZW1lbnQoInRib2R5IixudWxsLHQucm93cy5mbGF0TWFwKCgoZSxuKT0+W2wuY3JlYXRlRWxlbWVudChZLk9wdGlvbnNDaGFpbk9wdGlvblJvdyx7Y2FsbENvbG9yOmUuY2FsbFBhcnRDb2xvcixjYWxsTmF2aWdhdGVkOmUuY2FsbElkPT09YyxjYWxsU2VsZWN0ZWQ6ZS5jYWxsSWQ9PT10LnNlbGVjdGVkQ2VsbElkLGNvbHNEYXRhOnQuY29sc0RhdGEsa2V5OmUuc3RyaWtlLG9uQ2VsbENsaWNrOmQscHV0Q29sb3I6ZS5wdXRQYXJ0Q29sb3IscHV0TmF2aWdhdGVkOmUucHV0SWQ9PT1jLApwdXRTZWxlY3RlZDplLnB1dElkPT09dC5zZWxlY3RlZENlbGxJZCxyb3dEYXRhOmV9KSxuPT09dC51bmRlcmx5aW5nSW5kZXgmJnQudW5kZXJseWluZ1Jvd10pKSkpfXZhciBMZT1uKDIwOTYwKTtmdW5jdGlvbiBrZShlKXtjb25zdHtzeW1ib2w6dCxvblNlbGVjdDpuLGluaXRpYWxPcHRpb246cn09ZSx7cXVvdGVzOm8sY29tcGxldGVkOmF9PSgwLEIudXNlU3ltYm9sUXVvdGVzKSh0LCEwKSxzPSgwLEcudXNlR2V0U2VyaWVzKShvPy5bIm9wdGlvbnMtaW5mbyJdPy5mYW1pbGllcz8/W10pLGk9bz8ubGFzdF9wcmljZT8/MCxjPW8/LnByaWNlc2NhbGU/P251bGw7cmV0dXJuIGE/MD09PXMubGVuZ3RoP2wuY3JlYXRlRWxlbWVudChVLkVtcHR5U3ltYm9sUXVvdGVzLHtjbGFzc05hbWU6TGUuZW1wdHksc3ltYm9sOnR9KTpsLmNyZWF0ZUVsZW1lbnQoVi5PcHRpb25zU291cmNlVHJhY2tFdmVudFByb3ZpZGVyLHtzb3VyY2U6Ri5PcHRpb25zVHJhY2tlci5Tb3VyY2UuU3ltYm9sU2VhcmNofSxsLmNyZWF0ZUVsZW1lbnQoUmUse2N1cnJlbnRQcmljZTppLGluaXRpYWxPcHRpb246cixvblNlbGVjdDpuLHByaWNlc2NhbGU6YyxzY2FubmVyTGFiZWw6Im9wdGlvbnMtc3ltYm9sLXNlYXJjaCIsc2VyaWVzOnN9KSk6bC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6TGUucm9vdH0sbC5jcmVhdGVFbGVtZW50KFcuUGlja2VyU2tlbGV0b24se2NsYXNzTmFtZTpMZS5zZWxlY3Rvcn0pLGwuY3JlYXRlRWxlbWVudChILk9wdGlvbnNDaGFpblNrZWxldG9uLHtjbGFzc05hbWU6TGUuY2hhaW4sc2lkZUNvbHNDb3VudDoxLGNlbnRyYWxDb2xzQ291bnQ6MX0pKX1uKDEzODk5NCksbig5MjY5OTUpO3ZhciBPZT1uKDQwOTY0MCk7ZnVuY3Rpb24gTWUoZSl7Y29uc3QgdD0oMCxmZS5zcGxpdFN5bWJvbE5hbWUpKGUuc3ltYm9sKVsxXTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOk9lLnRpdGxlfSxjLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sTmFtZTp0fX0sbig5MDE1MjcpKSwhMSl9dmFyIERlPW4oNzMyNTMzKSxQZT1uKDczNDY0MSksRmU9big2MDk1MjgpLEJlPW4oOTY0MzYxKSxIZT1uKDI3MzMxMCksVWU9big4MDk0MzYpLFdlPW4oNzE3OTMyKSxWZT1uKDU2MTIwNSksR2U9bigzNjY1OTcpLFFlPW4oOTI2MTUzKSx6ZT1uKDE4NzMzOSksJGU9big3MTcyNjMpLHFlPW4oOTc3Njk5KTtmdW5jdGlvbiBLZShlKXtjb25zdHtjbGFzc05hbWU6dCxjaGlsZHJlbjpuLC4uLnJ9PWU7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4ucixjbGFzc05hbWU6cygpKHFlLnRpdGxlLHQpfSxuKX12YXIgWWU9bigxMzY2MyksWGU9big5NDkzNzQpLGplPW4oMjAxNDQ0KSxaZT1uKDkyMzIzOSksSmU9big5MjE3MDgpLGV0PW4oNDA3OTQ3KTtmdW5jdGlvbiB0dChlKXtjb25zdHtzZWFyY2hTb3VyY2U6dCxvbkNsaWNrOm4scXVlcnlTdHJpbmc6cixpc0ZvY3VzZWQ6byxpZDphfT1lLHtzeW1ib2xTZWFyY2hDb250ZW50OmksaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6YyxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6dSxpc01vYmlsZTpkfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkoVmUuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSxwPWkuY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlLGg9KDAsdy5lbnN1cmVOb3ROdWxsKShwKS52YWx1ZSgpLGY9Yyh0KSxTPWg/dC52YWx1ZSgpPT09aDpmLGc9KDAsbC51c2VNZW1vKSgoKCk9PigwLGplLmNyZWF0ZVJlZ0V4cExpc3QpKHIpKSxbcl0pLHk9dC5kZXNjcmlwdGlvbigpLGI9eSYmIWYsdj1tLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZmJiZ1P3U6dC5uYW1lKCksXz1zKCkoZXQuY29udGFpbmVyLGQ/ZXQubW9iaWxlOmV0LmRlc2t0b3AsUyYmZXQuc2VsZWN0ZWQsbyYmZXQuZm9jdXNlZCxmJiZldC5hbGxTZWxlY3RlZCxmJiYhMSwhZiYmZCYmZXQuYm9yZGVyZWQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoIWQmJmV0LndyYXAsZiYmITEpLG9uQ2xpY2s6bixpZDphfSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpffSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpldC5pY29uV3JhcH0sZj9sLmNyZWF0ZUVsZW1lbnQoSGUuSWNvbix7Y2xhc3NOYW1lOnMoKShldC5pY29uLGV0LmFsbFNlbGVjdGVkSWNvbiksaWNvbjpKZX0pOmwuY3JlYXRlRWxlbWVudChaZS5TeW1ib2xTZWFyY2hGbGFnLHtjbGFzc05hbWU6ZXQuaWNvbixjb3VudHJ5OnQuY291bnRyeSgpLHByb3ZpZGVySWQ6dC5wcm92aWRlcklkKCksc291cmNlSWQ6dC5zb3VyY2VJZCgpfSkpLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmV0LnRleHRCbG9ja30sbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGV0LnRpdGxlLCFiJiYhZCYmZXQudGl0bGVXaXRob3V0RGVzYyl9LGwuY3JlYXRlRWxlbWVudChYZS5IaWdobGlnaHRlZFRleHQse2NsYXNzTmFtZTpzKCkoUyYmZXQuaGlnaGxpZ2h0ZWQpLHF1ZXJ5U3RyaW5nOnIsdGV4dDp2LHJ1bGVzOmd9KSksYiYmbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGV0LmRlc2NyaXB0aW9uLCJhcHBseS1vdmVyZmxvdy10b29sdGlwIil9LGwuY3JlYXRlRWxlbWVudChYZS5IaWdobGlnaHRlZFRleHQse2NsYXNzTmFtZTpldC5oaWdobGlnaHRlZCxxdWVyeVN0cmluZzpyLHJ1bGVzOmcsdGV4dDp5fSkpKSkpfXZhciBudD1uKDEwNjkwMCkscnQ9bigyMDA2NjYpLG90PW4oODEwNDEpLGx0PW4oNTA0MDcpLGF0PW4oMTQwODk1KSxzdD1uKDQ4Nzc1MCksaXQ9big2NTk4ODQpO2NvbnN0IGN0PXtlbXB0eVRleHRDbGFzc05hbWU6aXQuZW1wdHlUZXh0fTtmdW5jdGlvbiB1dChlKXtjb25zdHtzZWFyY2hTb3VyY2VzOnR9PWUse3NldFNlbGVjdGVkSW5kZXg6cixzZXRTZWxlY3RlZFNlYXJjaFNvdXJjZTpvLHNldE1vZGU6YSxpc01vYmlsZTppLGVtcHR5U3RhdGU6dSxhdXRvZm9jdXM6ZH09KDAsWWUudXNlRW5zdXJlZENvbnRleHQpKFZlLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkscD0oMCwKbnQudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6cnQud2F0Y2hlZFRoZW1lfSk9PT1vdC5TdGRUaGVtZS5EYXJrP2F0OnN0LGg9KDAsV2UudXNlTWF0Y2hNZWRpYSkoVWVbIm1lZGlhLXBob25lLXZlcnRpY2FsIl0pLFtmLFNdPSgwLGwudXNlU3RhdGUpKCIiKSxnPSgwLGwudXNlTWVtbykoKCgpPT57cmV0dXJuWy4uLigwLHplLnNwbGl0U2VhcmNoU291cmNlc0J5R3JvdXApKHQpLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2dyb3VwOmUsc291cmNlczooMCxtLmNyZWF0ZUdyb3VwQ29sdW1ucykoKDAsemUuZmlsdGVyU2VhcmNoU291cmNlcykodCxmKSxoPzE6Mil9KSkpfSksW3QsZixoXSkseT0oMCxsLnVzZU1lbW8pKCgoKT0+KDAseC5nZXRFeGNoYW5nZXNHcm91cE5hbWUpKCkpLFtdKSxiPSgwLGwudXNlUmVmKShudWxsKSx2PSgwLGwudXNlUmVmKShudWxsKSx7Zm9jdXNlZEl0ZW06XyxhY3RpdmVEZXNjZW5kYW50OkUsaGFuZGxlS2V5RG93bjpDLHJlc2V0Rm9jdXNlZEl0ZW06VH09KDAsUWUudXNlU291cmNlc0tleWJvYXJkTmF2aWdhdGlvbikoZyxoLHYpOygwLGwudXNlTGF5b3V0RWZmZWN0KSgoKCk9PntkJiZiPy5jdXJyZW50Py5mb2N1cygpfSksW10pO2NvbnN0IEk9dT9sLmNyZWF0ZUVsZW1lbnQodSxudWxsKTpsLmNyZWF0ZUVsZW1lbnQoJGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQse2NsYXNzTmFtZTppdC5ub1Jlc3VsdHNEZXNrdG9wfSxsLmNyZWF0ZUVsZW1lbnQoSGUuSWNvbix7aWNvbjpwLGNsYXNzTmFtZTppdC5lbXB0eUljb259KSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppdC5lbXB0eVRleHR9LGMudChudWxsLHZvaWQgMCxuKDQ3MjI5OSkpKSksdz0hKGcubGVuZ3RoJiZnLmV2ZXJ5KChlPT4wPT09ZS5zb3VyY2VzLmxlbmd0aCkpKTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGx0LlN5bWJvbFNlYXJjaERpYWxvZ0JvZHlDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpjdH0sbC5jcmVhdGVFbGVtZW50KEdlLkRpYWxvZ1NlYXJjaCx7cGxhY2Vob2xkZXI6Yy50KG51bGwsdm9pZCAwLG4oMzUyMTI3KSksb25DaGFuZ2U6ZnVuY3Rpb24oZSl7VCgpLFMoZS50YXJnZXQudmFsdWUpLHYmJnYuY3VycmVudCYmKHYuY3VycmVudC5zY3JvbGxUb3A9MCl9LHJlZmVyZW5jZTpiLG9uS2V5RG93bjpDLG9uQmx1cjpULCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOkV9KSx3P2wuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnYsY2xhc3NOYW1lOnMoKShpdC5jb250ZW50TGlzdCwhaSYmaXQuY29udGVudExpc3REZXNrdG9wKSxvblRvdWNoU3RhcnQ6ZnVuY3Rpb24oKXtiLmN1cnJlbnQ/LmJsdXIoKX19LGcubWFwKCgoZSx0KT0+e2NvbnN0e2dyb3VwOm4sc291cmNlczpyfT1lO3JldHVybiAwPT09ci5sZW5ndGg/bC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQse2tleTpufSk6bC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQse2tleTpufSxuJiZuIT09eC5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlcyYmbC5jcmVhdGVFbGVtZW50KEtlLHtjbGFzc05hbWU6cygpKCFpJiZpdC5ncm91cFRpdGxlRGVza3RvcCl9LHlbbl0pLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShpdC5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lciwhaSYmaXQuc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wLGgmJml0Lm9uZUNvbHVtbil9LHIubWFwKCgoZSxuKT0+bC5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6YCR7dH0tJHtufWAsY2xhc3NOYW1lOml0LmNvbHVtbn0sZS5tYXAoKChlLHIpPT5sLmNyZWF0ZUVsZW1lbnQodHQse2lkOigwLFFlLmNyZWF0ZUl0ZW1JZCkodCxuLHIpLGlzRm9jdXNlZDohIV8mJihfLmdyb3VwSW5kZXg9PT10JiZfLmNvbD09PW4mJl8ucm93PT09ciksa2V5OmUudmFsdWUoKSxzZWFyY2hTb3VyY2U6ZSxxdWVyeVN0cmluZzpmLG9uQ2xpY2s6Ti5iaW5kKG51bGwsZSl9KSkpKSkpKSl9KSkpOkkpO2Z1bmN0aW9uIE4oZSl7byhlKSxhKCJzeW1ib2xTZWFyY2giKSxyKC0xKX19dmFyIGR0PW4oMTI5MzY1KSxtdD1uKDMxMjI5NSkscHQ9big0NzUxNjQpO2xldCBodDt2YXIgZnQ9bigyMzU3MjQpLFN0PW4oODA5NDQ0KSxndD1uKDc0OTY5NykseXQ9big5ODc2ODMpLGJ0PW4oMTU3NjgxKSx2dD1uKDMwMzIzOCksX3Q9big5ODk4OTQpLEV0PW4oNDA4NjIwKTtmdW5jdGlvbiBDdChlKXtjb25zdHtzdGF0ZTp0LHVwZGF0ZTpyLGNsYXNzTmFtZTpvfT1lLHtzZWFyY2hSZWY6YSxmb3JjZVVwZGF0ZTp1LHVwcGVyQ2FzZUVuYWJsZWQ6bX09KDAsdy5lbnN1cmVOb3ROdWxsKSgoMCxsLnVzZUNvbnRleHQpKFZlLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkpLGY9KDAsZC50b2tlbml6ZSkoYS5jdXJyZW50Py52YWx1ZSksUz1mdW5jdGlvbihlKXtjb25zdCB0PXticmFjZUJhbGFuY2U6MCxjdXJyZW50U3RhdGU6InZhciIsd2FybmluZ3M6W10sZXJyb3JzOltdfTtsZXQgbj0iaW5pdCI7Y29uc3Qgcj1bXTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgbD1lW29dO2lmKCJ3aGl0ZXNwYWNlIiE9PWwudHlwZSl7aWYoImluY29tcGxldGVTeW1ib2wiPT09bC50eXBlfHwiaW5jb21wbGV0ZU51bWJlciI9PT1sLnR5cGUpe2NvbnN0IG49byE9PWUubGVuZ3RoLTEscj17c3RhdHVzOm4/ImVycm9yIjoiaW5jb21wbGV0ZSIscmVhc29uOiJpbmNvbXBsZXRlX3Rva2VuIixvZmZzZXQ6bC5vZmZzZXQsdG9rZW46bH07aWYobj90LmVycm9ycy5wdXNoKHIpOnQud2FybmluZ3MucHVzaChyKSxuKWNvbnRpbnVlfXN3aXRjaChsLnR5cGUpe2Nhc2Uic3ltYm9sIjpjYXNlIm51bWJlciI6aWYoInZhciI9PT1uKXt0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSk7Y29udGludWV9bj0idmFyIjticmVhaztjYXNlInBsdXMiOmNhc2UibWludXMiOmNhc2UibXVsdGlwbHkiOmNhc2UiZGl2aWRlIjpjYXNlInBvd2VyIjppZigidmFyIiE9PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsCm9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSk7Y29udGludWV9bj0ib3BlcmF0b3IiO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjppZigidmFyIj09PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KTtjb250aW51ZX1yLnB1c2gobCksbj0iaW5pdCI7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjppZigidmFyIiE9PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KTtjb250aW51ZX1yLnBvcCgpfHx0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSksbj0idmFyIjticmVhaztjYXNlInVucGFyc2VkIjp0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVucGFyc2VkX2VudGl0eSIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KX19fWZvcih0LmJyYWNlQmFsYW5jZT1yLmxlbmd0aCwidmFyIiE9PW4mJnQud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIix0b2tlbjplW2UubGVuZ3RoLTFdfSk7ci5sZW5ndGg7KXtjb25zdCBlPXIucG9wKCk7ZSYmdC53YXJuaW5ncy5wdXNoKHtzdGF0dXM6ImluY29tcGxldGUiLHJlYXNvbjoidW5iYWxhbmNlZF9icmFjZSIsb2Zmc2V0OmUub2Zmc2V0LHRva2VuOmV9KX1yZXR1cm4gdC5jdXJyZW50U3RhdGU9bix0fShmKTtsZXQgeT1be2ljb246U3QsaW5zZXJ0OiIvIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiZGl2aXNpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDMzODAwKSl9LHtpY29uOmd0LGluc2VydDoiLSIsdHlwZToiYmluYXJ5T3AiLG5hbWU6InN1YnRyYWN0aW9uIix0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoic3ByZWFkc19hY3Rpb25zIn0sbig5MDUyOTkpKX0se2ljb246eXQsaW5zZXJ0OiIrIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiYWRkaXRpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDk2MjMxOCkpfSx7aWNvbjpidCxpbnNlcnQ6IioiLHR5cGU6ImJpbmFyeU9wIixuYW1lOiJtdWx0aXBsaWNhdGlvbiIsdGl0bGU6Yy50KG51bGwse2NvbnRleHQ6InNwcmVhZHNfYWN0aW9ucyJ9LG4oNDg0ODc1KSl9XTtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX2V4cG9uZW50aWF0aW9uX3NwcmVhZF9vcGVyYXRvciIpfHwoeT15LmNvbmNhdChbe2ljb246dnQsaW5zZXJ0OiJeIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiZXhwb25lbnRpYXRpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDkyMzAyMSkpfV0pKSwoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3JlY2lwcm9jYWxfc3ByZWFkX29wZXJhdG9yIil8fCh5PXkuY29uY2F0KFt7aWNvbjpfdCx0eXBlOiJjb21wbGV0ZSIsbmFtZToicmVjaXByb2NhbCIsdGl0bGU6Yy50KG51bGwse2NvbnRleHQ6InNwcmVhZHNfYWN0aW9ucyJ9LG4oODUzMzQ5KSksY2FsbGJhY2s6KCk9PnshYS5jdXJyZW50fHxTLmVycm9ycy5sZW5ndGh8fFMud2FybmluZ3MubGVuZ3RofHwoYS5jdXJyZW50LnZhbHVlPWgocChmKSksdSgpKX19XSkpLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShFdC5hY3Rpb25zLG8pfSx5Lm1hcCgoZT0+bC5jcmVhdGVFbGVtZW50KG10Lkljb25CdXR0b24se2tleTplLm5hbWUsY29sb3JDbGFzc05hbWU6cygpKEV0LmFjdGlvbixUdChlLFMpJiZFdC5kaXNhYmxlZCksdGl0bGU6ZS50aXRsZSxpY29uOmUuaWNvbixvbkNsaWNrOigpPT5mdW5jdGlvbihlKXtpZighVHQoZSxTKSl7aWYoZS5pbnNlcnQmJmEuY3VycmVudCl7Y29uc3Qgbj1hLmN1cnJlbnQudmFsdWUrZS5pbnNlcnQ7YS5jdXJyZW50LnZhbHVlPW4sYS5jdXJyZW50LnNldFNlbGVjdGlvblJhbmdlKG4ubGVuZ3RoLG4ubGVuZ3RoKTtjb25zdFtvLCxsXT1nKGEuY3VycmVudCxtKTt0LmN1cnJlbnQmJih0LmN1cnJlbnQuc2VsZWN0ZWRJbmRleFZhbHVlPS0xLHQuY3VycmVudC5zZWFyY2hTcHJlYWRzVmFsdWU9KDAsZC5pc1NwcmVhZCkobCksdC5jdXJyZW50LnNlYXJjaFRva2VuVmFsdWU9byksdSgpLHIoKX1lLmNhbGxiYWNrJiZlLmNhbGxiYWNrKCksYS5jdXJyZW50Py5mb2N1cygpLCgwLFAudHJhY2tFdmVudCkoIkdVSSIsIlNTIixlLm5hbWUpfX0oZSl9KSkpKX1mdW5jdGlvbiBUdChlLHQpe2xldCBuPSExO2lmKCF0LmVycm9ycy5sZW5ndGgpc3dpdGNoKGUudHlwZSl7Y2FzZSJiaW5hcnlPcCI6bj0idmFyIj09PXQuY3VycmVudFN0YXRlO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjpuPSJ2YXIiIT09dC5jdXJyZW50U3RhdGU7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjpuPSJ2YXIiPT09dC5jdXJyZW50U3RhdGUmJnQuYnJhY2VCYWxhbmNlPjA7YnJlYWs7Y2FzZSJjb21wbGV0ZSI6bj0hdC5lcnJvcnMubGVuZ3RoJiYhdC53YXJuaW5ncy5sZW5ndGh9cmV0dXJuIW59ZnVuY3Rpb24geHQoZSl7Y29uc3QgdD1lPy5icm9rZXI/P251bGwsbj1lPy5hY2NvdW50TWV0YWluZm8sW3Isb109KDAsbC51c2VTdGF0ZSkobnVsbCksW2Esc109KDAsbC51c2VTdGF0ZSkoKCgpPT5iLmdldEJvb2woInN5bWJvbGVkaXQuYWNjb3VudFRyYWRhYmxlIiwhMCkpKSxpPWZ1bmN0aW9uKGUpe3JldHVybiBCb29sZWFuKGU/Lm1ldGFpbmZvKCkuY29uZmlnRmxhZ3Muc3VwcG9ydEN1c3RvbVN5bWJvbFNlYXJjaEZpbHRlcil9KHQpLGM9cj8uc3ltYm9sU2VhcmNoRmlsdGVyUGFyYW1zPy50aXRsZSx1PXI/LnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8udG9vbHRpcFRleHQsZD0oMCxsLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7aWYoZSlyZXR1cm57bG9nb01pbmlVcmw6ZS5tZXRhaW5mbygpLmxvZ29NaW5pVXJsLGxvZ29NaW5pQmxhY2tVcmw6ZS5tZXRhaW5mbygpLmxvZ29NaW5pQmxhY2tVcmx9O3JldHVybn0odCkpLFt0XSk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgoKT0+ewpiLnNldFZhbHVlKCJzeW1ib2xlZGl0LmFjY291bnRUcmFkYWJsZSIsYSl9KSxbYV0pLCgwLGwudXNlRWZmZWN0KSgoKCk9PntpZighbnx8IWkpcmV0dXJuIHZvaWQgbyhudWxsKTtjb25zdCBlPW5ldyBBYm9ydENvbnRyb2xsZXI7cmV0dXJuKDAsUS5yZXNwZWN0QWJvcnQpKGUuc2lnbmFsLG4oKSkudGhlbigodD0+ZS5zaWduYWwuYWJvcnRlZD9udWxsOihvKHQpLHQpKSkuY2F0Y2goKHQ9PigoMCxRLmlzQWJvcnRFcnJvcikodCl8fGUuc2lnbmFsLmFib3J0ZWR8fG8obnVsbCksbnVsbCkpKSwoKT0+ZS5hYm9ydCgpfSksW24saV0pLHthY2NvdW50RmlsdGVyVGl0bGU6YyxhY2NvdW50RmlsdGVyVG9vbHRpcFRleHQ6dSxhY2NvdW50RmlsdGVyTG9nb0luZm86ZCxpc0FjY291bnRGaWx0ZXJDaGVja2VkOmEsc2V0SXNBY2NvdW50RmlsdGVyQ2hlY2tlZDpzLGlzU3VwcG9ydEFjY291bnRGaWx0ZXI6aX19dmFyIEl0PW4oNjE2NjQzKSx3dD1uKDg1NDgyMCk7ZnVuY3Rpb24gTnQoZSl7Y29uc3QgdD0oMCxmdC5oYXNoRnJvbUV2ZW50KShlKTt0IT09OStmdC5Nb2RpZmllcnMuU2hpZnQmJjkhPT10JiZlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIFJ0KGUpe2NvbnN0IHQ9KDAsSXQudXNlVGhlbWUpKCkse3RleHQ6bix0b29sdGlwVGV4dDpyLGlzQWN0aXZlOm8sb25Ub2dnbGU6YSxsb2dvSW5mbzpzfT1lO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQod3QuTGlnaHRCdXR0b24se2NsYXNzTmFtZToiYXBwbHktY29tbW9uLXRvb2x0aXAiLHZhcmlhbnQ6bz8icHJpbWFyeSI6InNlY29uZGFyeSIsc2l6ZToieHNtYWxsIixpc1BpbGxzOm8sb25DbGljazooKT0+YSghbyksb25LZXlEb3duOk50LHRpdGxlOnIsc3RhcnRTbG90OmwuY3JlYXRlRWxlbWVudChIZS5JY29uLHtpY29uOnM/YDxpbWcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBzcmM9IiR7dD09PW90LlN0ZFRoZW1lLkRhcmsmJnMubG9nb01pbmlCbGFja1VybD9zLmxvZ29NaW5pQmxhY2tVcmw6cy5sb2dvTWluaVVybH0iIGFsdD0iIi8+YDp2b2lkIDB9KSwiYXJpYS1jaGVja2VkIjpvfSxuKX12YXIgQXQ9bigxNTM1ODIpLEx0PW4oNzIwNjc3KSxrdD1uKDY0MTkwKSxPdD1uKDIwMTk2MSksTXQ9big2NjQzODYpLER0PW4oNDkwNTgwKSxQdD1uKDczODQ1OCksRnQ9bigzNDQ4NzApLEJ0PW4oNjc0NzQ5KSxIdD1uKDk4NzUyKTtjb25zdCBVdD0oMCxtLmdldERlZmF1bHRTZWFyY2hTb3VyY2UpKCksV3Q9Yy50KG51bGwse2NvbnRleHQ6InB1bmN0dWF0aW9uRnVsbFN0b3AifSxuKDE2MTcwOCkpO2Z1bmN0aW9uIFZ0KGUpe2NvbnN0e290aGVyU3ltYm9sc0NvdW50OnQsb25DbGljazpyLHRva2VuOm99PWUse2lzQWxsU2VhcmNoU291cmNlc1NlbGVjdGVkOmEsc3ltYm9sU2VhcmNoQ29udGVudDppLHN5bWJvbFR5cGVzOnUsZW1wdHlTdGF0ZTpkLHNldFNlbGVjdGVkU2VhcmNoU291cmNlOnAsc2V0U2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6aCxzZWxlY3RlZEZpbHRlclZhbHVlczpmfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkoVmUuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSxTPWkuY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlLHtzeW1ib2xTZWFyY2hTdGF0ZTpnfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkobHQuU3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQpLHk9dS5maW5kKChlPT5lLnZhbHVlPT09aS5jdXJyZW50U3ltYm9sVHlwZSkpPy5uYW1lLGI9ZD8/JGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQsdj1TJiYhYShTKSxfPWZ1bmN0aW9uKCl7aWYoIW0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpcmV0dXJuIGMudChudWxsLHtwbHVyYWw6InttYXRjaGluZ0NvdW50fSBtYXRjaGluZyBzeW1ib2xzIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyIsY291bnQ6dH0sbigxMDEyMjgpKS5mb3JtYXQoe21hdGNoaW5nQ291bnQ6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3QudG9TdHJpbmcoKX08L3NwYW4+YH0pO2lmKCJyZXNldEZpbHRlciI9PT1nKXJldHVybiBjLnQobnVsbCx7cGx1cmFsOiJUaGVyZSBhcmUgYWxzbyB7Y291bnR9IHN5bWJvbHMgaW4gb3RoZXIgbWFya2V0cyIsY291bnQ6dCxyZXBsYWNlOntjb3VudDp0LnRvU3RyaW5nKCl9fSxuKDQzODc3NSkpO3JldHVybiBjLnQobnVsbCx2b2lkIDAsbig5NzIxNzMpKS5mb3JtYXQoe3N5bWJvbFR5cGU6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3l8fCIifTwvc3Bhbj5gfSl9KCk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChiLHtjbGFzc05hbWU6SHQubm9SZXN1bHRzRGVza3RvcH0sbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKEh0Lm90aGVyU3ltYm9scyxtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZIdC5uZXdTdHlsZXMpfSxmdW5jdGlvbigpe2lmKGkuY3VycmVudFN5bWJvbFR5cGUhPT0oMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCkpe2NvbnN0IGU9YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3l8fCIifTwvc3Bhbj5gO2lmKG0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpe2NvbnN0IHQ9ZltpLmN1cnJlbnRTeW1ib2xUeXBlXSxyPXQmJk9iamVjdC52YWx1ZXModCkuc29tZSgoZT0+ZSE9PU4uRklMVEVSX0RFRkFVTFRfVkFMVUUpKTtpZigicmVzZXRUYWJGaWx0ZXIiPT09Z3x8dnx8cil7Y29uc3QgdD0iIj09PW8/Yy50KG51bGwsdm9pZCAwLG4oNDY1NjA2KSkuZm9ybWF0KHtzeW1ib2xUeXBlOmV9KTpjLnQobnVsbCx2b2lkIDAsbigyMDMwODUpKS5mb3JtYXQoe3N5bWJvbFR5cGU6ZSxzeW1ib2w6YDxzcGFuIGNsYXNzPSIke0h0LnRva2VufSI+JHtvfTwvc3Bhbj5gfSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgic3BhbiIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dH19KX19aWYodil7Y29uc3QgdD1gJHtjLnQobnVsbCx2b2lkIDAsbig0ODg1OTkpKS5mb3JtYXQoe3N5bWJvbFR5cGU6ZSxleGNoYW5nZU5hbWU6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke1MubmFtZSgpfTwvc3Bhbj5gfSl9JHtXdH1gO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7Cl9faHRtbDp0fX0pfWNvbnN0IHQ9Yy50KG51bGwsdm9pZCAwLG4oMjcxODQwKSkuZm9ybWF0KHtzeW1ib2xUeXBlOmV9KSxyPW8/Yy50KG51bGwsdm9pZCAwLG4oNTM0MTMyKSkuZm9ybWF0KHtzeW1ib2xUeXBlOmUsc3ltYm9sOmA8c3BhbiBjbGFzcz0iJHtIdC50b2tlbn0iPiR7b308L3NwYW4+YH0pOnQsYT1gJHt0fSR7V3R9YDtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDptLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzP3I6YX19KX1pZih2KXtjb25zdCBlPWAke2MudChudWxsLHZvaWQgMCxuKDQwNjAxMykpLmZvcm1hdCh7ZXhjaGFuZ2VOYW1lOmA8c3BhbiBjbGFzcz0iJHtIdC5ib2xkfSI+JHtTLm5hbWUoKX08L3NwYW4+YH0pfSR7V3R9YDtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDplfX0pfXJldHVybiIifSgpKSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoSHQub3RoZXJTeW1ib2xzLG0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJkh0LnNtYWxsRm9udCl9LGwuY3JlYXRlRWxlbWVudCgic3BhbiIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6X319KSksbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9sLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpIdC5yZXNldEZpbHRlcnN9LGZ1bmN0aW9uKCl7aWYoInJlc2V0RmlsdGVyIj09PWcpcmV0dXJuIGwuY3JlYXRlRWxlbWVudCh3dC5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOkh0LnNob3dNZSxzaXplOiJzbWFsbCIsb25DbGljazpyfSxjLnQobnVsbCx2b2lkIDAsbig2MjE0MzApKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCh3dC5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOkh0LnNob3dNZSxzaXplOiJzbWFsbCIsb25DbGljazpFfSxjLnQobnVsbCx2b2lkIDAsbig5MjQzMjgpKSl9KCkpOmwuY3JlYXRlRWxlbWVudChCdC5CdXR0b24se2NsYXNzTmFtZTpIdC5yZXNldEZpbHRlcnMsc2l6ZToibSIsYXBwZWFyYW5jZToic3Ryb2tlIixvbkNsaWNrOnJ9LGMudChudWxsLHZvaWQgMCxuKDYyMTQzMCkpKSk7ZnVuY3Rpb24gRSgpe3YmJmZ1bmN0aW9uKCl7aWYobnVsbD09PVV0KXJldHVybjtwKFV0KX0oKTtjb25zdCBlPWkudGFiU2VsZWN0RmlsdGVycztpZighZSlyZXR1cm47Y29uc3QgdD1lLnJlZHVjZSgoKGUsdCk9PihlW3QuaWRdPU4uRklMVEVSX0RFRkFVTFRfVkFMVUUsZSkpLHt9KTtoKGkuY3VycmVudFN5bWJvbFR5cGUsdCl9fXZhciBHdD1uKDMxMjE0NyksUXQ9bigzNjU0NiksenQ9bigyMzg5MDQpO2NvbnN0ICR0PSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfaW1hZ2VfaW52YWxpZF9zeW1ib2wiKTtmdW5jdGlvbiBxdChlKXtjb25zdHtvdGhlclN5bWJvbHNDb3VudDp0LG9uQ2hhbmdlU3ltYm9sVHlwZUZpbHRlcjpuLG9uUmVzZXRGaWx0ZXJzOnIsb25MaXN0VG91Y2hNb3ZlOm8sbGlzdFJlZjphLGxpc3RXcmFwUmVmOnMsb25Mb2FkTW9yZVN5bWJvbHM6aSxjYW5Mb2FkTW9yZTpjLHRyYWRpbmdGaWx0ZXJCdXR0b246dX09ZSx7bW9kZTpkLHNlbGVjdGVkU3ltYm9sVHlwZTpwLHN5bWJvbFR5cGVzOmgsZmVlZEl0ZW1zOmYsY29udGVudEl0ZW06UyxlbXB0eVN0YXRlOmc9S3Qsc3ltYm9sU2VhcmNoQ29udGVudDp5LHN5bWJvbFNlYXJjaFN0YXRlOmJ9PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLHY9aC5tYXAoKGU9Pih7aWQ6ZS52YWx1ZSxjaGlsZHJlbjplLm5hbWV9KSkpLF89InN5bWJvbFNlYXJjaCI9PT1kJiZbImdvb2QiLCJsb2FkaW5nV2l0aFBhZ2luYXRlZCJdLmluY2x1ZGVzKGIpLEU9Uz8/TXQuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0sQz0oMCxsLnVzZU1lbW8pKCgoKT0+Zi5tYXAoKGU9PmwuY3JlYXRlRWxlbWVudChFLHsuLi5lLHNlYXJjaFRva2VuOnkudG9rZW59KSkpKSxbZl0pO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLCJzeW1ib2xTZWFyY2giPT09ZCYmbC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQsbnVsbCxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp6dC5idWJibGVzQ29udGFpbmVyfSxoLmxlbmd0aD4wJiZsLmNyZWF0ZUVsZW1lbnQoRnQuUm91bmRCdXR0b25UYWJzLHtpZDoic3ltYm9sLXNlYXJjaC10YWJzIixpc0FjdGl2ZTplPT5lLmlkPT09cCxvbkFjdGl2YXRlOm4sb3ZlcmZsb3dCZWhhdmlvdXI6UHQubW9iaWxldG91Y2g/InNjcm9sbCI6IndyYXAiLGNsYXNzTmFtZTp6dC5idWJibGVzLGl0ZW1zOnZ9LFB0Lm1vYmlsZXRvdWNoP251bGw6bC5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsdSkpLCFtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZQdC5tb2JpbGV0b3VjaCYmaC5sZW5ndGg+MCYmdSYmbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6enQudHJhZGluZ0ZpbHRlckJ1dHRvbldyYXB9LHUpKSxtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZsLmNyZWF0ZUVsZW1lbnQoRHQuU3ltYm9sU2VhcmNoRmVlZEhlYWRlcix7dHJhZGluZ0ZpbHRlckJ1dHRvbjpQdC5tb2JpbGV0b3VjaD91OnZvaWQgMH0pKSxsLmNyZWF0ZUVsZW1lbnQoT3QuU3ltYm9sU2VhcmNoRmVlZCx7bGlzdFJlZjphLGxpc3RXcmFwUmVmOnMsb25Ub3VjaE1vdmU6byxpdGVtczpDLGdldEl0ZW1TaXplOigpPT5EZS5ST1dfSEVJR0hULG9uTG9hZE1vcmVTeW1ib2xzOmksY2FuTG9hZE1vcmU6YyxoaWRlRmVlZDohX30pLCJsb2FkaW5nIj09PWImJmwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnp0LnNwaW5uZXJXcmFwfSxsLmNyZWF0ZUVsZW1lbnQoa3QuU3Bpbm5lcixudWxsKSksInN5bWJvbFNlYXJjaCI9PT1kJiZsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLCgicmVzZXRGaWx0ZXIiPT09Ynx8InJlc2V0VGFiRmlsdGVyIj09PWIpJiZsLmNyZWF0ZUVsZW1lbnQoVnQse3Rva2VuOnkudG9rZW4sb3RoZXJTeW1ib2xzQ291bnQ6dCxvbkNsaWNrOnIKfSksImVtcHR5Ij09PWImJmwuY3JlYXRlRWxlbWVudChnLG51bGwpKSl9ZnVuY3Rpb24gS3QoZSl7Y29uc3QgdD0oMCxJdC51c2VUaGVtZSkoKT09PW90LlN0ZFRoZW1lLkRhcms/R3Q6UXQ7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgkZS5TeW1ib2xTZWFyY2hOb1Jlc3VsdCx7Y2xhc3NOYW1lOnp0Lm5vUmVzdWx0c0Rlc2t0b3B9LCEkdCYmbC5jcmVhdGVFbGVtZW50KEhlLkljb24se2ljb246dCxjbGFzc05hbWU6enQuZW1wdHlJY29ufSksbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6enQuZW1wdHlUZXh0fSxjLnQobnVsbCx2b2lkIDAsbig0MTc3NykpKSl9dmFyIFl0PW4oODM0MzgpLFh0PW4oNDIxMDY3KTtjb25zdCBqdD0oMCxtLmdldERlZmF1bHRTZWFyY2hTb3VyY2UpKCk7ZnVuY3Rpb24gWnQoZSl7Y29uc3R7bW9kZTp0LHNldE1vZGU6cixzZXRTZWxlY3RlZEluZGV4Om8saXNNb2JpbGU6YSxzZWxlY3RlZFNlYXJjaFNvdXJjZTp1LHNldFNlbGVjdGVkU2VhcmNoU291cmNlOnAsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6aCxzZWxlY3RlZFN5bWJvbFR5cGU6YixzZXRTZWxlY3RlZFN5bWJvbFR5cGU6dixzeW1ib2xTZWFyY2hDb250ZW50Ol8sc2V0U3ltYm9sU2VhcmNoQ29udGVudDpFLHNlYXJjaFJlZjpULGxpc3RXcmFwUmVmOngsc2V0U2VhcmNoU3ByZWFkczpJLHNob3dTcHJlYWRBY3Rpb25zOncsc2VsZWN0ZWRJdGVtOk4sZm9yY2VVcGRhdGU6UixwbGFjZWhvbGRlcjpBLGluaXRpYWxTY3JlZW46TCxmb290ZXI6TyxzZWFyY2hJbnB1dDpNLHVwcGVyQ2FzZUVuYWJsZWQ6RCxleHRlcm5hbElucHV0OkYsaGFuZGxlS2V5RG93bjpCLGN1c3RvbVNlYXJjaFN5bWJvbHM6SCxmaWx0ZXJRdWVyeVBhcmFtczpVLHNlYXJjaFNvdXJjZXM6VyxzeW1ib2xTZWFyY2hTdGF0ZTpWLHNldFN5bWJvbFNlYXJjaFN0YXRlOkcsb25FbXB0eVJlc3VsdHM6eixvdmVycmlkZVF1ZXJ5UGFyYW1zOiQsZ2V0RmlsdGVyc0J5U3ltYm9sVHlwZTpxLHNob3dSZWNlbnRzOkssc2VhcmNoSW5pdGlhdGlvblBvaW50Oll9PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLFtYLGpdPSgwLGwudXNlU3RhdGUpKCExKSxaPXZvaWQgMCE9PUgsSj1IPz9wdC5zZWFyY2hTeW1ib2xzUGFnaW5hdGVkLGVlPSgwLGwudXNlUmVmKSh0KTtlZS5jdXJyZW50PXQ7Y29uc3QgdGU9KDAsbC51c2VSZWYpKG5ldyBBYm9ydENvbnRyb2xsZXIpLFtuZSxyZV09KDAsbC51c2VTdGF0ZSkoMCksb2U9KDAsbC51c2VSZWYpKDApLFtsZSxhZV09KDAsbC51c2VTdGF0ZSkoXy50b2tlbiksc2U9KDAsbC51c2VSZWYpKG51bGwpLGllPSgwLGwudXNlUmVmKSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFRva2VuVmFsdWU6IiIsc2VhcmNoU3ByZWFkc1ZhbHVlOiEwfSksY2U9KDAsbC51c2VSZWYpKG51bGwpLHVlPSgwLGwudXNlUmVmKShudWxsKSxkZT0oMCxsLnVzZVJlZikobnVsbCkse2Jyb2tlcldyYXBwZXI6bWU9bnVsbCxicm9rZXJJZDpwZSxicm9rZXJUaXRsZTpoZSxicm9rZXJMb2dvSW5mbzpmZSxpc0Jyb2tlckNoZWNrZWQ6U2U9ITEsc2V0SXNCcm9rZXJDaGVja2VkOmdlPSgpPT57fSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWU9IiJ9PUMoKSx7aXNTdXBwb3J0QWNjb3VudEZpbHRlcjpiZT0hMSxhY2NvdW50RmlsdGVyVGl0bGU6dmUsYWNjb3VudEZpbHRlclRvb2x0aXBUZXh0Ol9lLGFjY291bnRGaWx0ZXJMb2dvSW5mbzpFZSxpc0FjY291bnRGaWx0ZXJDaGVja2VkOkNlPSExLHNldElzQWNjb3VudEZpbHRlckNoZWNrZWQ6VGU9KCk9Pnt9fT14dChtZSk7KDAsbC51c2VFZmZlY3QpKCgoKT0+KCk9Pnt0ZS5jdXJyZW50LmFib3J0KCksR2UoKSxRZSgpfSksW10pLCgwLGwudXNlRWZmZWN0KSgoKCk9Pntjb25zdCBlPVQuY3VycmVudDtpZihlKXJldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixNZSksZS5hZGRFdmVudExpc3RlbmVyKCJzZWFyY2gtaW5wdXQtY2xlYXIiLE1lKSxlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVZSksZS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3QiLE9lKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixPZSksZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsV2UpLCgpPT57ZSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLE1lKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlYXJjaC1pbnB1dC1jbGVhciIsTWUpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFVlKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdCIsT2UpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLE9lKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIixXZSkpfX0pLFtCXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+e0Jvb2xlYW4oTCkmJiIiPT09bGUudHJpbSgpP0UoKGU9Pntjb25zdCB0PUJvb2xlYW4odSYmVy5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkoYikpLG49cShiKTtyZXR1cm57Li4uZSx0YWJTZWxlY3RGaWx0ZXJzOm4sY3VycmVudFN5bWJvbFR5cGU6YixjYW5DaGFuZ2VFeGNoYW5nZTp0LHdpdGhGaWx0ZXJzOkJvb2xlYW4odHx8bj8ubGVuZ3RoKSx0b2tlbjpsZSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLGN1cnJlbnRTZWxlY3RlZFNlYXJjaFNvdXJjZTp1fX0pKTooRSgoZT0+KHsuLi5lLHN5bWJvbFN0YXJ0SW5kZXg6MH0pKSksUGUobGUsYix1KS50aGVuKCgoKT0+e3guY3VycmVudCYmKHguY3VycmVudC5zY3JvbGxUb3A9MCl9KSkpfSksW2xlLGIsdSxTZSxDZSxMLFVdKSwoMCxsLnVzZUVmZmVjdCkoKCgpPT57aWYoIU58fCFULmN1cnJlbnQpcmV0dXJuO2NvbnN0IGU9KDAscHQuaXNTeW1ib2xTZWFyY2hSZXN1bHQpKE4pP04uZXhjaGFuZ2U6Ti5wYXJlbnQuZXhjaGFuZ2U7bGV0IHQ7dD0iY29udHJhY3RzImluIE4mJk4uY29udHJhY3RzPy5sZW5ndGg/Ti5jb250cmFjdHNbMF06Tjtjb25zdCBuPXtuYW1lOnQuc3ltYm9sLGV4Y2hhbmdlOmUscHJlZml4OnQucHJlZml4LGZ1bGxOYW1lOnQuZnVsbF9uYW1lfSxbcixvXT1TKFQuY3VycmVudCxuLEQpCjtULmN1cnJlbnQudmFsdWU9cixULmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UobyxvKSxSKCl9KSxbTl0pO2NvbnN0IHhlPUw/PyJkaXYiLEllPUJvb2xlYW4oTCkmJiJzeW1ib2xTZWFyY2giIT09dCx3ZT1NPz9MdC5TZWFyY2hJbnB1dCxOZT1BfHxjLnQobnVsbCx2b2lkIDAsbigyMTMyOTkpKSxSZT0oMCxsLnVzZU1lbW8pKCgoKT0+KHtsaXN0UmVmOnNlLHJlc2V0UmVjb21tZW5kczpIZSx1cGRhdGVSZWNvbW1lbmRzOlBlLHNlYXJjaFRva2VuOmxlLGVtcHR5VGV4dENsYXNzTmFtZTp6dC5lbXB0eVRleHQsaXNCcm9rZXJDaGVja2VkOlNlLGlzQWNjb3VudEZpbHRlckNoZWNrZWQ6Q2Usc3ltYm9sU2VhcmNoU3RhdGU6VixjdXJyZW50TW9kZTplZX0pKSxbc2UsbGUsU2UsQ2UsVixlZSxVXSksQWU9ZnVuY3Rpb24oKXswO2lmKGhlKXJldHVybiBsLmNyZWF0ZUVsZW1lbnQoUnQse3RleHQ6aGUsdG9vbHRpcFRleHQ6Yy50KG51bGwse3JlcGxhY2U6e2Jyb2tlck5hbWU6aGV9fSxuKDU4OTA3MikpLGlzQWN0aXZlOlNlLG9uVG9nZ2xlOmdlLGxvZ29JbmZvOmZlfSk7aWYodmUpcmV0dXJuIGwuY3JlYXRlRWxlbWVudChSdCx7dGV4dDp2ZSx0b29sdGlwVGV4dDpfZSxpc0FjdGl2ZTpDZSxvblRvZ2dsZTpUZSxsb2dvSW5mbzpFZX0pO3JldHVybiBudWxsfSgpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQobHQuU3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOlJlfSwhKEYmJiJzeW1ib2xTZWFyY2giPT09dCkmJmwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKSh6dC5pbnB1dENvbnRhaW5lcil9LGwuY3JlYXRlRWxlbWVudCh3ZSx7ImRhdGEtcWEtaWQiOiJzeW1ib2wtc2VhcmNoLWlucHV0IixpbnB1dENsYXNzTmFtZTpzKCkoenQuc2VhcmNoLEQmJnp0LnVwcGVyQ2FzZSksb25SZXNldDpmdW5jdGlvbigpe2lmKCFULmN1cnJlbnQpcmV0dXJuO1QuY3VycmVudC52YWx1ZT0iIixULmN1cnJlbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaC1pbnB1dC1jbGVhciIpKSxMZSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFNwcmVhZHNWYWx1ZTohMSxzZWFyY2hUb2tlblZhbHVlOiIifSksYXx8VC5jdXJyZW50LmZvY3VzKCl9LHJlZmVyZW5jZTpULGlzTW9iaWxlOmEscGxhY2Vob2xkZXI6TmUsZW5kU2xvdDp3JiZsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLFgmJmwuY3JlYXRlRWxlbWVudChDdCx7c3RhdGU6aWUsdXBkYXRlOkRlfSksbC5jcmVhdGVFbGVtZW50KG10Lkljb25CdXR0b24se3RvZ2dsZWRUaXRsZTpjLnQobnVsbCx7Y29udGV4dDoic2VhcmNoX2lucHV0X3NwcmVhZHMifSxuKDg5MjUpKSx1bnRvZ2dsZWRUaXRsZTpjLnQobnVsbCx7Y29udGV4dDoic2VhcmNoX2lucHV0X3NwcmVhZHMifSxuKDMyMzM2MykpLG9uVG9nZ2xlOmosaXNUb2dnbGVkOlgsdW50b2dnbGVkSWNvbjpZdCx0b2dnbGVkSWNvbjpYdH0pKX0pKSxJZT9sLmNyZWF0ZUVsZW1lbnQoeGUsbnVsbCk6bC5jcmVhdGVFbGVtZW50KHF0LHtvdGhlclN5bWJvbHNDb3VudDpuZSxvbkxpc3RUb3VjaE1vdmU6ZnVuY3Rpb24oKXtULmN1cnJlbnQ/LmJsdXIoKX0sb25DaGFuZ2VTeW1ib2xUeXBlRmlsdGVyOmZ1bmN0aW9uKGUpe2NvbnN0e2lkOnR9PWU7dih0KSxvKC0xKX0sb25SZXNldEZpbHRlcnM6ZnVuY3Rpb24oKXttLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzPyJyZXNldEZpbHRlciI9PT1WP3YoKDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpKTpqdCYmcChqdCk6KHYoKDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpKSxqdCYmcChqdCkpO2dlKCExKSxUZSghMSksYXx8VC5jdXJyZW50Py5mb2N1cygpfSx0cmFkaW5nRmlsdGVyQnV0dG9uOkFlLGxpc3RSZWY6c2UsbGlzdFdyYXBSZWY6eCxvbkxvYWRNb3JlU3ltYm9sczpmdW5jdGlvbigpeyJsb2FkaW5nV2l0aFBhZ2luYXRlZCIhPT1WJiZQZShsZSxfLmN1cnJlbnRTeW1ib2xUeXBlLHUsXy5zeW1ib2xTdGFydEluZGV4KX0sY2FuTG9hZE1vcmU6MCE9PV8uc3ltYm9sc1JlbWFpbmluZ30pLE8pO2Z1bmN0aW9uIExlKGUpe2llLmN1cnJlbnQ9ey4uLmV9LGNlLmN1cnJlbnR8fChjZS5jdXJyZW50PXNldFRpbWVvdXQoRGUsMCkpfWZ1bmN0aW9uIGtlKCl7aWYoIVQuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPWcoVC5jdXJyZW50LEQpO29lLmN1cnJlbnQ9dCxMZSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFNwcmVhZHNWYWx1ZTooMCxkLmlzU3ByZWFkKShuKSxzZWFyY2hUb2tlblZhbHVlOmV9KX1mdW5jdGlvbiBPZSgpe2lmKCFULmN1cnJlbnQpcmV0dXJuO2NvbnN0WyxlXT1nKFQuY3VycmVudCxEKTtlIT09b2UuY3VycmVudCYma2UoKX1mdW5jdGlvbiBNZSgpe1IoKSxrZSgpfWZ1bmN0aW9uIERlKCl7Y29uc3R7c2VsZWN0ZWRJbmRleFZhbHVlOmUsc2VhcmNoVG9rZW5WYWx1ZTp0LHNlYXJjaFNwcmVhZHNWYWx1ZTpufT1pZS5jdXJyZW50O2NlLmN1cnJlbnQ9bnVsbCwoMCxkdC51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcykoKCgpPT57SShuKSxvKGUpLGFlKEQ/dC50b1VwcGVyQ2FzZSgpOnQpfSkpfWFzeW5jIGZ1bmN0aW9uIFBlKGUsdCxuLHIpe3plKCk7Y29uc3Qgbz10ZS5jdXJyZW50LnNpZ25hbDt0cnl7bGV0IGE7Im5vb3AiPT09Vj9HKCJsb2FkaW5nIik6cj9HKCJsb2FkaW5nV2l0aFBhZ2luYXRlZCIpOihHZSgpLFFlKCksdWUuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2lmKG8uYWJvcnRlZClyZXR1cm47Y29uc3Qgbj1Cb29sZWFuKHUmJlcubGVuZ3RoPjEmJiEoMCxtLmV4Y2hhbmdlU2VsZWN0RGlzYWJsZWQpKHQpKSxyPXEodCk7RSh7dG9rZW46ZSxjYW5DaGFuZ2VFeGNoYW5nZTpuLHRhYlNlbGVjdEZpbHRlcnM6cix3aXRoRmlsdGVyczpCb29sZWFuKG58fHI/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6W10sc3ltYm9sc1JlbWFpbmluZzowLHN5bWJvbFN0YXJ0SW5kZXg6MH0pLEcoImxvYWRpbmciKQp9KSw1MDApKTtsZXQgcz0hMTtpZihtZSYmQ2UmJmJlKXtjb25zdCBlPWF3YWl0KDAsUS5yZXNwZWN0QWJvcnQpKG8sbWUuYWNjb3VudE1ldGFpbmZvKCkpO3M9Qm9vbGVhbihlLnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8uaXNFeHRlcm5hbCksYT1lLnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8uaWR9Y29uc3QgYz1TZSYmbWUscD10PT09KDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpLFM9IiI9PT1lLnRyaW0oKSYmIVomJiFjJiYhYSYmcCYmSztsZXQgZztpZihTZSYmbWUpe2c9KGF3YWl0KDAsUS5yZXNwZWN0QWJvcnQpKG8sbWUuYWNjb3VudE1ldGFpbmZvKCkpKS5wcmVmaXh9Y29uc3QgYj1mKGUpPz9nPz9uPy5nZXRSZXF1ZXN0RXhjaGFuZ2VWYWx1ZSgpLHY9ZihlKT92b2lkIDA6KG58fHUpPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCksW0MsVF09YXdhaXQgUHJvbWlzZS5hbGwoW0JlKG8sZSx0LG4sYix2LHIsYSxzKSxTJiYhcj9rKCk6UHJvbWlzZS5yZXNvbHZlKFtdKV0pO2lmKG8uYWJvcnRlZClyZXR1cm47Y29uc3QgeD1ULmZpbHRlcigoZT0+Yj9lLmV4Y2hhbmdlPy50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpOiF2fHxlLmNvdW50cnk/LnRvTG93ZXJDYXNlKCk9PT12LnRvTG93ZXJDYXNlKCkpKSxJPW5ldyBTZXQoeC5tYXAoKGU9PmAke2UuZXhjaGFuZ2V9XyR7ZS5zeW1ib2x9YCkpKSx3PUMuc3ltYm9scy5maWx0ZXIoKGU9PiFJLmhhcyhgJHtlLmV4Y2hhbmdlfV8ke2Uuc3ltYm9sfWApKSk7bGV0IE49ZnVuY3Rpb24oZSx0PXdpbmRvdy5DaGFydEFwaUluc3RhbmNlLnN5bWJvbHNHcm91cGluZygpKXtjb25zdCBuPXt9LHI9W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDsrK28pe2NvbnN0IGw9ZVtvXTtpZihsLnByZWZpeHx8QXJyYXkuaXNBcnJheShsLmNvbnRyYWN0cykpcmV0dXJuIGU7Y29uc3QgYT10W2wudHlwZV07aWYodm9pZCAwPT09YSl7ci5wdXNoKGwpO2NvbnRpbnVlfWNvbnN0IHM9YS5leGVjKGwuc3ltYm9sKTtpZihzKXtjb25zdCBlPXNbMV07bGV0IHQ7bi5oYXNPd25Qcm9wZXJ0eShlKT90PW5bZV06KHQ9ci5sZW5ndGgsbltlXT10LHIucHVzaCh7dHlwZTpsLnR5cGUsc3ltYm9sOmUsZXhjaGFuZ2U6bC5leGNoYW5nZSxkZXNjcmlwdGlvbjpsLmRlc2NyaXB0aW9uLGZ1bGxfbmFtZTpsLmV4Y2hhbmdlKyI6IitlLGNvbnRyYWN0czpbXX0pKSxyW3RdLmNvbnRyYWN0cz8ucHVzaChsKX1lbHNlIHIucHVzaChsKX1yZXR1cm4gcn0oWy4uLngsLi4ud10pO2lmKGw9TixOPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP2wuZmlsdGVyKChlPT4hZS5wYXJhbXN8fC0xPT09ZS5wYXJhbXMuaW5kZXhPZigicHJvIikpKTpsLHImJihOPVsuLi5fLnJlbmRlclN5bWJvbFNlYXJjaExpc3QsLi4uTl0pLE4ubGVuZ3RoKUdlKCksRSgobj0+e2NvbnN0IHI9Qm9vbGVhbih1JiZXLmxlbmd0aD4xJiYhKDAsbS5leGNoYW5nZVNlbGVjdERpc2FibGVkKSh0KSksbz1xKHQpO3JldHVybnsuLi5uLGNhbkNoYW5nZUV4Y2hhbmdlOnIsdGFiU2VsZWN0RmlsdGVyczpvLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6Tix0b2tlbjplLHN5bWJvbHNSZW1haW5pbmc6Qy5zeW1ib2xzX3JlbWFpbmluZyx3aXRoRmlsdGVyczpCb29sZWFuKHJ8fG8/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLHN5bWJvbFN0YXJ0SW5kZXg6bi5zeW1ib2xTdGFydEluZGV4K0Muc3ltYm9scy5sZW5ndGh9fSkpLEcoImdvb2QiKTtlbHNle2lmKEUoKG49Pntjb25zdCByPUJvb2xlYW4odSYmVy5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkodCkpLG89cSh0KTtyZXR1cm57Li4ubixjYW5DaGFuZ2VFeGNoYW5nZTpyLHRhYlNlbGVjdEZpbHRlcnM6byx0b2tlbjplLHN5bWJvbHNSZW1haW5pbmc6MCx3aXRoRmlsdGVyczpCb29sZWFuKHJ8fG8/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXfX0pKSxwJiZ1JiZoKHUpKXJldHVybiBHZSgpLEcoImVtcHR5Iiksdm9pZCBGZSgpO2NvbnN0IG49dD0+YXN5bmMgZnVuY3Rpb24oZSx0LG4scil7Y29uc3Qgbz17c2VydmVySGlnaGxpZ2h0OiEwLHRleHQ6KDAsZC5zaG9ydE5hbWUpKHQpLGV4Y2hhbmdlOmYodCl8fCIiLHR5cGU6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9uOigwLG0uZ2V0QWxsU3ltYm9sVHlwZXNWYWx1ZSkoKSxsYW5nOndpbmRvdy5sYW5ndWFnZXx8IiIsc29ydEJ5Q291bnRyeTooMCxBdC5nZXRDdXJyZW50TG9jYWxlSW5mb0NvdW50cnkpKCksYnJva2VySWQ6cGUsZW5hYmxlR3JvdXBpbmc6KDAseS5pc0ZlYXR1cmVFbmFibGVkKSgic3ltYm9sX3NlYXJjaF9ncm91cGluZyIpJiYhcGUmJiFyLGFjY291bnRGaWx0ZXJJZDpyLG9ubHlUcmFkYWJsZTpCb29sZWFuKHBlKSYmU2Usb25seUFjY291bnRUcmFkYWJsZTpCb29sZWFuKHIpJiZDZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWUsc2lnbmFsOmV9O3JldHVybiBKKG8pfShvLGUsdCxhKSxyPWF3YWl0IFByb21pc2UuYWxsKFtuKCgwLG0uZ2V0QWxsU3ltYm9sVHlwZXNWYWx1ZSkoKSksbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9uKHQpOlByb21pc2UucmVzb2x2ZShudWxsKV0pO2lmKG8uYWJvcnRlZClyZXR1cm47R2UoKTtjb25zdFtsLHNdPXIubWFwKChlPT5udWxsPT09ZT8wOmUuc3ltYm9scy5sZW5ndGgpKTtzPyhHKCJyZXNldFRhYkZpbHRlciIpLHJlKHMpKTpsPyhHKCJyZXNldEZpbHRlciIpLHJlKGwpKTpHKCJlbXB0eSIpLEZlKCl9fWNhdGNoKGUpeygwLFEuc2tpcEFib3J0RXJyb3IpKGUpfXZhciBsfWZ1bmN0aW9uIEZlKCl7eiYmKGRlLmN1cnJlbnQ9c2V0VGltZW91dCgoKCk9PnooKSksMWUzKSl9YXN5bmMgZnVuY3Rpb24gQmUoZSx0LG4scixvLGwsYSxzLGkpe2NvbnN0IGM9e3NlcnZlckhpZ2hsaWdodDohMCx0ZXh0OigwLGQuc2hvcnROYW1lKSh0KSxleGNoYW5nZTpvLGNvdW50cnk6bCwKdHlwZTpuLGxhbmc6d2luZG93Lmxhbmd1YWdlfHwiIixlbmFibGVHcm91cGluZzooMCx5LmlzRmVhdHVyZUVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIikmJiFwZSYmIXMsc29ydEJ5Q291bnRyeTooMCxBdC5nZXRDdXJyZW50TG9jYWxlSW5mb0NvdW50cnkpKCksYnJva2VySWQ6cGUsYWNjb3VudEZpbHRlcklkOnMsaXNFeHRlcm5hbDppLG9ubHlUcmFkYWJsZTpCb29sZWFuKHBlKSYmU2Usb25seUFjY291bnRUcmFkYWJsZTpCb29sZWFuKHMpJiZDZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWUsc2lnbmFsOmUsc3RhcnQ6YSxmaWx0ZXJRdWVyeVBhcmFtczpVLG92ZXJyaWRlUXVlcnlQYXJhbXM6JCxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6dm9pZCAwfSx1PWh0O3JldHVybiB2b2lkIDAhPT11JiZhd2FpdCgwLFEuZGVsYXkpKGUsdSksSihjKX1mdW5jdGlvbiBIZSgpe3plKCksRygiZW1wdHkiKSxhZSgiIiksSSghMSksRSgoZT0+KHsuLi5lLHN5bWJvbFN0YXJ0SW5kZXg6MH0pKSksR2UoKX1mdW5jdGlvbiBVZSgpeyJ3YXRjaGxpc3QiPT09ZWUuY3VycmVudCYmKHIoInN5bWJvbFNlYXJjaCIpLCgwLFAudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk1vYmlsZSBTUyIsIkdvIHRvIFNTIHBhZ2UiKSl9ZnVuY3Rpb24gV2UoZSl7c3dpdGNoKCgwLGZ0Lmhhc2hGcm9tRXZlbnQpKGUpKXtjYXNlIDM3OmNhc2UgMzk6T2UoKX19ZnVuY3Rpb24gR2UoKXt1ZS5jdXJyZW50JiZjbGVhclRpbWVvdXQodWUuY3VycmVudCl9ZnVuY3Rpb24gUWUoKXtkZS5jdXJyZW50JiZjbGVhclRpbWVvdXQoZGUuY3VycmVudCl9ZnVuY3Rpb24gemUoKXt0ZS5jdXJyZW50LmFib3J0KCksdGUuY3VycmVudD1uZXcgQWJvcnRDb250cm9sbGVyfX12YXIgSnQ9bigyNzM2ODQpLGVuPW4oODI0MzUpLHRuPW4oMjQ4MzEpO2Z1bmN0aW9uIG5uKGUpe2NvbnN0IHQ9KDAsbC51c2VNZW1vKShULmdldFdpZGdldFN5bWJvbFNlYXJjaENvbmZpZyxbXSksbj12b2lkIDA9PT10LFtyLG9dPSgwLGwudXNlU3RhdGUpKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3R7Y29uZmlndXJlZERlZmF1bHRFeGNoYW5nZTp0LGRlZmF1bHRTZWFyY2hTb3VyY2U6bixzYXZlZFNlYXJjaFNvdXJjZU5hbWU6cixzZWFyY2hTb3VyY2VzOm99PWU7aWYodm9pZCAwIT09dCl7Y29uc3QgZT1vLmZpbmQoKGU9PmUudmFsdWUoKT09PXQudG9VcHBlckNhc2UoKSkpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9aWYodm9pZCAwIT09cil7Y29uc3QgZT1vLmZpbmQoKGU9PmUudmFsdWUoKT09PXIpKTtpZih2b2lkIDAhPT1lKXJldHVybiBlfXJldHVybiBufSh7Li4uZSxjb25maWd1cmVkRGVmYXVsdEV4Y2hhbmdlOnQ/LmRlZmF1bHRFeGNoYW5nZSxzYXZlZFNlYXJjaFNvdXJjZU5hbWU6bj9iLmdldFZhbHVlKCJzeW1ib2xlZGl0LmV4Y2hhbmdlZmlsdGVyIiwiIik6dm9pZCAwfSkpKTtyZXR1cm5bciwoMCxsLnVzZUNhbGxiYWNrKSgoZT0+e3ZhciB0O28oZSksbiYmKHQ9ZSxiLnNldFZhbHVlKCJzeW1ib2xlZGl0LmV4Y2hhbmdlZmlsdGVyIix0LnZhbHVlKCkpKX0pLFtuXSldfWZ1bmN0aW9uIHJuKGUpe2NvbnN0e3NlbGVjdGVkU3ltYm9sU2V0dGluZ3NLZXk6dD0ic3ltYm9sZWRpdC5maWx0ZXIifT1lLFtuLHJdPSgwLGwudXNlU3RhdGUpKCgoKT0+e2lmKDE9PT1lLnR5cGVzLmxlbmd0aClyZXR1cm4gZS50eXBlc1swXS52YWx1ZTtjb25zdCBuPWIuZ2V0VmFsdWUodCwoMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCkpO3JldHVybiBlLnR5cGVzLmZpbmQoKGU9PmUudmFsdWU9PT1uKSk/bjooMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCl9KSk7cmV0dXJuW24sKDAsbC51c2VDYWxsYmFjaykoKGU9PntyKGUpLGZ1bmN0aW9uKGUsdD0ic3ltYm9sZWRpdC5maWx0ZXIiKXtiLnNldFZhbHVlKHQsZSl9KGUsdCl9KSxbdF0pXX12YXIgb249bigzNDIyNjEpLGxuPW4oNjQzOTAzKSxhbj1uKDE1NjgyOSksc249big4NDg5ODgpLGNuPW4oOTY5MTY4KSx1bj1uKDk4MzYxNiksZG49bigzMTgyNTQpO2NvbnN0IG1uPSgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIikscG49KDAsbS5nZXRBdmFpbGFibGVTZWFyY2hTb3VyY2VzKSgpLGhuPSgwLG0uZ2V0RGVmYXVsdFNlYXJjaFNvdXJjZSkoKSxmbj0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLFNuPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiKSYmKCEhKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fHdpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSk7ZnVuY3Rpb24gZ24oZSl7Y29uc3R7b25DbG9zZTp0LGluaXRpYWxNb2RlOnIsZGVmYXVsdFZhbHVlOm89IiIsc2hvd1NwcmVhZEFjdGlvbnM6YSxoaWRlTWFya2VkTGlzdEZsYWc6cyxzZWxlY3RTZWFyY2hPbkluaXQ6aT0hMCxvblNlYXJjaENvbXBsZXRlOmQsZGlhbG9nVGl0bGU6cD1jLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9kaWFsb2dfdGl0bGUifSxuKDg0NTIyOCkpLHBsYWNlaG9sZGVyOmgsZnVsbHNjcmVlbjpmLGluaXRpYWxTY3JlZW46Zyx3cmFwcGVyOnYsZGlhbG9nOl8sY29udGVudEl0ZW06RSxmb290ZXI6UixzZWFyY2hJbnB1dDpBLGVtcHR5U3RhdGU6TCxhdXRvZm9jdXM6ayxkaWFsb2dXaWR0aDpELG9uS2V5RG93bjpGLHNlYXJjaFNvdXJjZXNTY3JlZW46QixjdXN0b21TZWFyY2hTeW1ib2xzOkgsaXNEaXNhYmxlRmlsdGVyaW5nOlUsZGlzYWJsZVJlY2VudHM6VyxzaG91bGRSZXR1cm5Gb2N1czpWLG9uU3ltYm9sRmlsdGVyc1BhcmFtc0NoYW5nZTpHLG9uRW1wdHlSZXN1bHRzOlEsZW5hYmxlT3B0aW9uc0NoYWluOnosb3ZlcnJpZGVRdWVyeVBhcmFtczokLGhpZGRlbkZpbHRlcklkczpxLHNob3dSZWNlbnRzOks9ITAsc2VhcmNoSW5pdGlhdGlvblBvaW50Olk9InN5bWJvbFNlYXJjaCIsc2VsZWN0ZWRTeW1ib2xTZXR0aW5nc0tleTpYLGZpbHRlclZhbHVlc1NldHRpbmdzS2V5Omp9PWUsWj0oMCxsLnVzZU1lbW8pKCgoKT0+VT9bXTplLnN5bWJvbFR5cGVzPz8oMCwKbS5nZXRBdmFpbGFibGVTeW1ib2xUeXBlcykoKSksW10pLEo9dm9pZCAwIT09ZS5pbnB1dCxlZT1VP1tdOnBuLFt0ZSxuZV09KDAsbC51c2VTdGF0ZSkoKCgpPT5DbihvLHopPyJvcHRpb25zIjpyKSksW3JlLG9lXT0oMCxsLnVzZVN0YXRlKSgoKCk9PkNuKG8seikpKSxbbGUsYWVdPSgwLGwudXNlU3RhdGUpKCgoKT0+eiYmKDAsbS5pc09wdGlvbkRlZmF1bHRWYWx1ZSkobyk/by52YWx1ZTpudWxsKSksc2U9KDAsbC51c2VSZWYpKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1DbihlLHQpO3JldHVybigwLG0uaXNPcHRpb25EZWZhdWx0VmFsdWUpKGUpP24/P2UudmFsdWU6ZX0obyx6KSksW2llLGNlXT1ubih7c2VhcmNoU291cmNlczplZSxkZWZhdWx0U2VhcmNoU291cmNlOmhufSksW3VlLGRlXT1JKHtzZWFyY2hTb3VyY2VzOmVlfSksW21lLHBlXT1ybih7dHlwZXM6WixzZWxlY3RlZFN5bWJvbFNldHRpbmdzS2V5Olh9KSxbaGUsZmVdPWZ1bmN0aW9uKGUsdD0ic2VsZWN0ZWRTeW1ib2xTZWFyY2hGaWx0ZXJWYWx1ZXMiKXtjb25zdFtuLHJdPSgwLGwudXNlU3RhdGUpKCgoKT0+e2NvbnN0IG49Yi5nZXRKU09OKHQse30pLHI9e307Zm9yKGNvbnN0W3Qsb11vZiBPYmplY3QuZW50cmllcyhuKSl7aWYoIWUuaGFzT3duUHJvcGVydHkodCkpY29udGludWU7Y29uc3Qgbj1uZXcgU2V0KCgwLHcuZW5zdXJlRGVmaW5lZCkoZVt0XSkubWFwKChlPT5lLmlkKSkpO2Zvcihjb25zdFtlLGxdb2YgT2JqZWN0LmVudHJpZXMobykpbi5oYXMoZSkmJihyW3RdfHwoclt0XT17fSksclt0XVtlXT1sKX1yZXR1cm4gcn0pKTtyZXR1cm5bbiwoMCxsLnVzZUNhbGxiYWNrKSgoKGUsbik9PntyKChyPT57Y29uc3Qgbz1yW2VdP3suLi5yW2VdfTp7fSxsPU9iamVjdC5rZXlzKG4pO2Zvcihjb25zdCBlIG9mIGwpe2NvbnN0IHQ9bltlXTt2b2lkIDA9PT10P28uaGFzT3duUHJvcGVydHkoZSkmJmRlbGV0ZSBvW2VdOm9bZV09dH1jb25zdCBhPXsuLi5yLFtlXTpvfTtyZXR1cm4gYi5zZXRKU09OKHQsYSksYX0pKX0pLFt0XSldfShOLlRBQl9TRUxFQ1RfRklMVEVSX01BUCxqKSxbU2UsZ2VdPSgwLGwudXNlU3RhdGUpKCExKSxbeWUsYmVdPSgwLGwudXNlU3RhdGUpKC0xKSxbdmUsX2VdPSgwLGwudXNlU3RhdGUpKCJub29wIiksW0VlLENlXT0oMCxsLnVzZVN0YXRlKShTbj91LmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk6bnVsbCksVGU9bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz91ZT8uW21lXXx8aG46aWUseGU9KDAsbC51c2VNZW1vKSgoKCk9PntpZighbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicylyZXR1cm4gZWU7cmV0dXJuKCJlY29ub21pYyI9PT1tZT9lZS5tYXAobS5tYXBFY29ub215U291cmNlKTplZSkuZmlsdGVyKChlPT57Y29uc3QgdD1OLlRBQl9TT1VSQ0VfRklMVEVSX01BUFttZV07aWYoIXQpcmV0dXJuITE7aWYoIW1lKXJldHVybiEwO2NvbnN0IG49ZS5ncm91cCgpO3JldHVybiBuPT09eC5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlc3x8biYmdC52YWx1ZS5pbmNsdWRlcyhuKX0pKX0pLFtlZSxtZV0pLEllPSgwLGwudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1tLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzP04uVEFCX1NFTEVDVF9GSUxURVJfTUFQOnZvaWQgMDtpZih0KXJldHVybiBxPy5sZW5ndGg/dFtlXT8uZmlsdGVyKChlPT4hcS5pbmNsdWRlcyhlLmlkKSkpOnRbZV19KSxbcV0pLFt3ZSxOZV09KDAsbC51c2VTdGF0ZSkoKCgpPT57Y29uc3QgZT1Cb29sZWFuKGllJiZwbi5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkobWUpKSx0PUllKG1lKTtyZXR1cm57Y2FuQ2hhbmdlRXhjaGFuZ2U6ZSx0YWJTZWxlY3RGaWx0ZXJzOnQsd2l0aEZpbHRlcnM6Qm9vbGVhbihlfHx0Py5sZW5ndGgpLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6W10sdG9rZW46c2UuY3VycmVudCxzeW1ib2xzUmVtYWluaW5nOjAsY3VycmVudFN5bWJvbFR5cGU6bWUsY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlOlRlLGN1cnJlbnRUYWJBdmFpbGFibGVTZWFyY2hTb3VyY2VzOnhlLHN5bWJvbFN0YXJ0SW5kZXg6MH19KSksUmU9KDAsbC51c2VDYWxsYmFjaykoKGU9PnsoMCxQLnRyYWNrRXZlbnQpKCJOZXcgU1MiLG1lLCJDaGFuZ2Ugc291cmNlcyIpLGRlPy4obWUsZSksTmUoKHQ9Pih7Li4udCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6ZX0pKSl9KSxbbWUsTmVdKSxBZT0oMCxsLnVzZVJlZikoZS5pbnB1dD8/bnVsbCksTGU9KDAsbC51c2VSZWYpKG51bGwpLFtPZSxCZV09KDAsbC51c2VTdGF0ZSkoITEpLEhlPSgwLG9uLnVzZUZvcmNlVXBkYXRlKSgpLFtVZSxXZV09KDAsbC51c2VTdGF0ZSkobmV3IFNldCkse2Jyb2tlcldyYXBwZXI6R2U9bnVsbCxicm9rZXJJZDpRZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6JGU9IiIsZGlzcGxheUJyb2tlclN5bWJvbDpxZT0hMX09QygpOygwLGwudXNlTGF5b3V0RWZmZWN0KSgoKCk9PnshQWU/LmN1cnJlbnR8fCFKJiZCb29sZWFuKEFlLmN1cnJlbnQ/LnZhbHVlKXx8KEp8fCJjb21wYXJlIj09PXRlfHwoQWUuY3VycmVudC52YWx1ZT1zZS5jdXJyZW50KSwha3x8SiYmInN5bWJvbFNlYXJjaCIhPT10ZXx8QWUuY3VycmVudC5mb2N1cygpKX0pLFt0ZV0pLCgwLGwudXNlRWZmZWN0KSgoKCk9PntBZT8uY3VycmVudCYmaSYmayYmQWUuY3VycmVudC5zZWxlY3QoKX0pLFtdKSwoMCxsLnVzZUVmZmVjdCkoKCgpPT57aWYoIVNuKXJldHVybjtjb25zdCBlPWU9PntDZShlKX07cmV0dXJuIHUubGlua2luZy5wcm9TeW1ib2wuc3Vic2NyaWJlKGUpLCgpPT57dS5saW5raW5nLnByb1N5bWJvbC51bnN1YnNjcmliZShlKX19KSxbXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+e2lmKCFFZSlyZXR1cm47bGV0IGU7Zm9yKGNvbnN0IHQgb2Ygd2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdCl7aWYodC5ncm91cGVkX3N5bWJvbHMpe2lmKHRuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdCh0KT09PUVlKWJyZWFrCjt0Lmdyb3VwZWRfc3ltYm9scy5maW5kKChlPT50bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQoZSk9PT1FZSkpJiYoZT10KX1lbHNleyh0LmNvbnRyYWN0cz90bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodCx0LmNvbnRyYWN0c1swXSk6dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KHQpKT09PUVlJiYoZT10KX1pZihlKWJyZWFrfWlmKGUmJigwLHB0LmlzRXhwYW5kYWJsZVJlc3VsdCkoZSkpe2NvbnN0IHQ9dm4oZSk7V2UoKGU9Pntjb25zdCBuPW5ldyBTZXQoZSk7cmV0dXJuIG4uYWRkKHQpLG59KSl9fSksW0VlLHdlLnJlbmRlclN5bWJvbFNlYXJjaExpc3RdKTtjb25zdCBLZT0oMCxsLnVzZU1lbW8pKCgoKT0+d2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdC5yZWR1Y2UoKChlLHQpPT57Y29uc3Qgbj12bih0KSxyPVVlLmhhcyhuKTtyZXR1cm4gZS5wdXNoKHQpLHImJnQuZ3JvdXBlZF9zeW1ib2xzJiZlLnB1c2goLi4udC5ncm91cGVkX3N5bWJvbHMubWFwKChlPT4oey4uLmUscGFyZW50OnR9KSkpKSxyJiZ0LmNvbnRyYWN0cyYmZS5wdXNoKC4uLnQuY29udHJhY3RzLm1hcCgoZT0+KHsuLi5lLHBhcmVudDp0fSkpKSksZX0pLFtdKSksW3dlLnJlbmRlclN5bWJvbFNlYXJjaExpc3QsVWVdKSxZZT0oMCxsLnVzZVJlZikobnVsbCk7KDAsbC51c2VFZmZlY3QpKCgoKT0+ey0xIT09eWUmJlllLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KX0pLFt5ZSxZZV0pO2NvbnN0IFhlPURlLnRhYnNXaXRoSGlkZGVuTWFya2V0VHlwZS5pbmNsdWRlcyhtZSksamU9KDAsbC51c2VNZW1vKSgoKCk9Pntjb25zdCBlPWU9Pntjb25zdCB0PVQuZ2V0RXhjaGFuZ2VzPygwLFQuZ2V0RXhjaGFuZ2VzKSgpLmZpbHRlcigodD0+dC52YWx1ZT09PShlLnByZWZpeHx8ZS5leGNoYW5nZSkpKVswXTpudWxsO3JldHVybiB0Py5kZXNjfHwiIn07cmV0dXJuIEtlLm1hcCgoKHQsbik9PntpZigoMCxwdC5pc1N5bWJvbFNlYXJjaFJlc3VsdCkodCkpe2NvbnN0IHI9dm4odCksbz0oMCxwdC5pc0V4cGFuZGFibGVSZXN1bHQpKHQpLGw9KDAsTXQuaXNHcm91cGVkU3ltYm9sRXh0ZW5kZWQpKHQpLGE9bz9VZS5oYXMocik6dm9pZCAwLGk9bj09PXllLGM9d2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdC5maW5kSW5kZXgoKGU9PmUuc3ltYm9sPT09dC5zeW1ib2wmJmUuZXhjaGFuZ2U9PT10LmV4Y2hhbmdlKSkrMSx1PXQuY29udHJhY3RzP3RuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdCh0LHQuY29udHJhY3RzWzBdKTp0bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodCk7cmV0dXJue2tleTpuLG51bWJlckluTGlzdDpjLGlkOnIsZGFuZ2Vyb3VzVGl0bGVIVE1MOmJuKHQscWUpLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDp0LmRlc2NyaXB0aW9uLGlzT2Zmc2V0Omwsb25DbGljazpkdC5iaW5kKG51bGwsdCxjKSxzb3VyY2U6dC5zb3VyY2Usc291cmNlMjp0LnNvdXJjZTIsdHlwZTp0LnR5cGUsdHlwZXNwZWNzOnQudHlwZXNwZWNzLGV4Y2hhbmdlTmFtZTpudWxsPT09dC5leGNoYW5nZT92b2lkIDA6dC5leGNoYW5nZSxleGNoYW5nZVRvb2x0aXA6ZSh0KSxwcmVmaXg6dC5wcmVmaXh8fHZvaWQgMCxtYXJrZXRUeXBlOigwLGVuLm1hcmtldFR5cGUpKHQudHlwZSx0LnR5cGVzcGVjcywhMSksaGlkZU1hcmtldFR5cGU6WGUsaXNFb2Q6dC5wYXJhbXM/LmluY2x1ZGVzKCJlb2QiKSYmImVjb25vbWljIiE9PXQudHlwZSxpc1lpZWxkOigwLGFuLmlzWWllbGQpKHQpLGlzRXhwYW5kZWQ6YSxpc0FjdGl2ZTpFZSYmIXQuY29udHJhY3RzP0VlPT09dTp2b2lkIDAsb25FeHBhbmRDbGljazpvP210LmJpbmQobnVsbCxyKTp2b2lkIDAsZnVsbFN5bWJvbE5hbWU6dSxpdGVtUmVmOmk/WWU6dm9pZCAwLGlzU2VsZWN0ZWQ6bj09PXllLGhpZGVNYXJrZWRMaXN0RmxhZzpzLGl0ZW06dCxsb2dvRGF0YTp0LmxvZ28/P3ZvaWQgMCxzb3VyY2VMb2dvczpbdCwuLi4hYSYmdC5ncm91cGVkX3N5bWJvbHM/dC5ncm91cGVkX3N5bWJvbHM6W11dLm1hcCgoZT0+aXQoZSkpKSxzaG9ydE5hbWU6KDAsbG4uc2FmZVNob3J0TmFtZSkodG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KHQpKSxjdXJyZW5jeUNvZGU6dC5jdXJyZW5jeV9jb2RlLGlzUHJpbWFyeTohdC5ncm91cGVkX3N5bWJvbHMmJiFsJiZ0LmlzX3ByaW1hcnlfbGlzdGluZyxpc1Byb21vOnQuaXNfcHJvbW8sZm91bmRfYnlfY3VzaXA6dC5mb3VuZF9ieV9jdXNpcCxjdXNpcDp0LmN1c2lwLGZvdW5kX2J5X2lzaW46Qm9vbGVhbihhJiZ0Lmdyb3VwZWRfc3ltYm9sc3x8bCl8fHQuZm91bmRfYnlfaXNpbixpc2luOnQuaXNpbixpcG9EYXRlOigwLGFuLmlzUHJlSXBvKSh0LnR5cGUsdC50eXBlc3BlY3MpP3QuaXBvX29mZmVyX3RpbWU/P3QuaXBvX29mZmVyX2RhdGU6dm9pZCAwfX17Y29uc3R7cGFyZW50OnJ9PXQsbz10bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodC5wYXJlbnQsdCksbD12bihyKSxhPW49PT15ZSxpPXdlLnJlbmRlclN5bWJvbFNlYXJjaExpc3QuZmluZEluZGV4KChlPT5lLnN5bWJvbD09PXIuc3ltYm9sJiZlLmV4Y2hhbmdlPT09ci5leGNoYW5nZSkpKzE7cmV0dXJue2tleTpuLG51bWJlckluTGlzdDppLGlkOmwrdC5zeW1ib2wsZGFuZ2Vyb3VzVGl0bGVIVE1MOmJuKHQscWUpLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDpgJHtyLmRlc2NyaXB0aW9ufWArKHQuZGVzY3JpcHRpb24/YCAoJHt0LmRlc2NyaXB0aW9ufSlgOiIiKSxpc09mZnNldDohMCxpc0VvZDp0LnBhcmFtcz8uaW5jbHVkZXMoImVvZCIpLGlzWWllbGQ6KDAsYW4uaXNZaWVsZCkodCksb25DbGljazpodC5iaW5kKG51bGwsdC5wYXJlbnQsdCxpKSxzb3VyY2VMb2dvczpbaXQocildLHR5cGU6ci50eXBlLGV4Y2hhbmdlTmFtZTpudWxsPT09ci5leGNoYW5nZT92b2lkIDA6ci5leGNoYW5nZSxleGNoYW5nZVRvb2x0aXA6ZShyKSxtYXJrZXRUeXBlOigwLAplbi5tYXJrZXRUeXBlKShyLnR5cGUsdC50eXBlc3BlY3MsITEpLGhpZGVNYXJrZXRUeXBlOlhlLGZ1bGxTeW1ib2xOYW1lOm8saXRlbVJlZjphP1llOnZvaWQgMCxpc0FjdGl2ZTpFZT9FZT09PW86dm9pZCAwLGlzU2VsZWN0ZWQ6YSxoaWRlTWFya2VkTGlzdEZsYWc6cyxpdGVtOnR9fX0pKX0pLFt3ZS5yZW5kZXJTeW1ib2xTZWFyY2hMaXN0LGQsVWUsdGUseWUsRixFZV0pLFplPSgwLGwudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1uZXcgTWFwKHQ/Lm1hcCgoZT0+W2UuaWQsZS51cmxQYXJhbV0pKSksbz1uW2VdO2xldCBsO2lmKG8pe2w9e307Zm9yKGNvbnN0W2UsdF1vZiBPYmplY3QuZW50cmllcyhvKSl7Y29uc3Qgbj1yLmdldChlKTtuJiYobFtuXT10KX19cmV0dXJuIGx9KG1lLEllKG1lKSxoZSkpLFttZSxJZSxoZV0pLEplPSgwLGwudXNlTWVtbykoKCgpPT53ZS5yZW5kZXJTeW1ib2xTZWFyY2hMaXN0LnNsaWNlKDAsMjApLm1hcCgoZT0+ZS5jb250cmFjdHM/dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KGUsZS5jb250cmFjdHNbMF0pOnRuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdChlKSkpKSxbd2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdF0pOygwLGwudXNlRWZmZWN0KSgoKCk9PntpZighRylyZXR1cm47Y29uc3QgZT1bInJlc2V0RmlsdGVyIiwicmVzZXRUYWJGaWx0ZXIiLCJlbXB0eSJdLmluY2x1ZGVzKHZlKT9bXTpKZSx0PXsuLi5aZSxyZXN1bHRfbGlzdDplfTtpZih0LnNlYXJjaF90eXBlfHwodC5zZWFyY2hfdHlwZT0iYml0Y29pbixjcnlwdG8iPT09bWU/ImNyeXB0byI6bWUpLCFtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzKXJldHVybiB0LmV4Y2hhbmdlPVRlPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCk/P251bGwsdm9pZCBHKHQpO2lmKG1lKXtjb25zdCBlPVRlPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCk/P251bGw7ZSYmKHQuY291bnRyeT1lKTtjb25zdCBuPVRlPy5nZXRSZXF1ZXN0RXhjaGFuZ2VWYWx1ZSgpPz9udWxsO24mJih0LmV4Y2hhbmdlPW4pfUcodCl9KSxbbWUsWmUsSmUsVGUsdmVdKTtjb25zdCBldD0oMCxsLnVzZU1lbW8pKCgoKT0+SHx8KHomJiJvcHRpb25zIj09PW1lP2U9PntsZXQgdD1lLmV4Y2hhbmdlO2lmKCgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9zeW1ib2xfc2VhcmNoX29wdGlvbnNfZXhjaGFuZ2VzX2xpc3QiKSl7Y29uc3QgZT1bIkFNRVgiLCJCU0UiLCJDQk9FIiwiTkFTREFRIiwiTlNFIiwiTllTRSIsIlRWQyIsIlhFVFIiLCJFVVJFWCJdO2lmKCgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIikmJmUucHVzaCgiTUNYIiksdCYmIWUuaW5jbHVkZXModCkpcmV0dXJuKDAscHQuZ2V0RW1wdHlTZWFyY2gpKCk7dHx8KHQ9ZS5qb2luKCIsIikpfXJldHVybigwLHB0LnNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQpKHsuLi5lLGZpbHRlclF1ZXJ5UGFyYW1zOnsuLi5lLmZpbHRlclF1ZXJ5UGFyYW1zLG9ubHlfaGFzX29wdGlvbnM6InRydWUiLHNlYXJjaF90eXBlOnZvaWQgMH0sZXhjaGFuZ2U6dCx0eXBlOnZvaWQgMH0pfTp2b2lkIDApKSxbbWUsSCxaZSx6XSksdHQ9Xz8/RW4sbnQ9dHQhPT1FbixydD0oZSxuKT0+KHttb2RlOnRlLHNldE1vZGU6bmUsc2VsZWN0ZWRTZWFyY2hTb3VyY2U6VGUsc2V0U2VsZWN0ZWRTZWFyY2hTb3VyY2U6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9SZTpjZSxpc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZDp6ZS5pc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZCxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9OLlRBQl9TT1VSQ0VfRklMVEVSX01BUFt3ZS5jdXJyZW50U3ltYm9sVHlwZV0/LmFsbFNlYXJjaFNvdXJjZXNUaXRsZTp2b2lkIDAsc2VsZWN0ZWRTeW1ib2xUeXBlOm1lLHNldFNlbGVjdGVkU3ltYm9sVHlwZTpwZSxzZWxlY3RlZEluZGV4OnllLHNldFNlbGVjdGVkSW5kZXg6YmUsb25DbG9zZTp0LHNldFN5bWJvbFNlYXJjaENvbnRlbnQ6TmUsc3ltYm9sU2VhcmNoQ29udGVudDp3ZSxzZWFyY2hSZWY6QWUsbGlzdFdyYXBSZWY6TGUsY2FjaGVkSW5wdXRWYWx1ZTpzZSxzZWFyY2hTcHJlYWRzOlNlLHNldFNlYXJjaFNwcmVhZHM6Z2UsaGFuZGxlTGlzdFdpZHRoOlN0LGlzU21hbGxXaWR0aDpPZSxmZWVkSXRlbXM6amUsaXNNb2JpbGU6ZSxzaG93U3ByZWFkQWN0aW9uczphLHNlbGVjdFNlYXJjaE9uSW5pdDppLGlzVGFibGV0Om4sc2VsZWN0ZWRJdGVtOktlW3llXSxmb3JjZVVwZGF0ZTpIZSxwbGFjZWhvbGRlcjpoLGluaXRpYWxTY3JlZW46Zyx0b2dnbGVFeHBhbmQ6bXQsb3BlbmVkSXRlbXM6VWUsb25TdWJtaXQ6YnQsb25TZWFyY2hDb21wbGV0ZTpkLGZvb3RlcjpSLHN5bWJvbFR5cGVzOlosY29udGVudEl0ZW06RSxzZWFyY2hJbnB1dDpBLGVtcHR5U3RhdGU6TCxhdXRvZm9jdXM6ayx1cHBlckNhc2VFbmFibGVkOmZuLGV4dGVybmFsSW5wdXQ6SixoYW5kbGVLZXlEb3duOm50P3ZvaWQgMDp5dCxjdXN0b21TZWFyY2hTeW1ib2xzOmV0LHNlYXJjaFNvdXJjZXM6eGUsc2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6aGUsc2V0U2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6ZmUsZmlsdGVyUXVlcnlQYXJhbXM6WmUsc3ltYm9sU2VhcmNoU3RhdGU6dmUsc2V0U3ltYm9sU2VhcmNoU3RhdGU6X2Usb25FbXB0eVJlc3VsdHM6UT9jdDp2b2lkIDAsb3ZlcnJpZGVRdWVyeVBhcmFtczokLGdldEZpbHRlcnNCeVN5bWJvbFR5cGU6SWUsc2hvd1JlY2VudHM6SyxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6WSxhY3RpdmVTeW1ib2w6RWUsaGFuZGxlT3B0aW9uc0JhY2s6YXR9KSxvdD1CPz91dCxsdD12Pz8iZGl2IjtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGx0LG51bGwsbC5jcmVhdGVFbGVtZW50KFBlLk1hdGNoTWVkaWFNYXAse3J1bGVzOkZlLkRpYWxvZ0JyZWFrcG9pbnRzfSwoKHtUYWJsZXRTbWFsbDplLFRhYmxldE5vcm1hbDpyfSk9PmwuY3JlYXRlRWxlbWVudChWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQuUHJvdmlkZXIsewp2YWx1ZTpydChlLHIpfSxsLmNyZWF0ZUVsZW1lbnQodHQsey4uLiJleGNoYW5nZSI9PT10ZT97dGl0bGU6Yy50KG51bGwsdm9pZCAwLG4oNDg2NzE0KSksZGF0YU5hbWU6ImV4Y2hhbmdlcy1zZWFyY2giLHJlbmRlcjooKT0+bC5jcmVhdGVFbGVtZW50KG90LHtzZWFyY2hTb3VyY2VzOndlLmN1cnJlbnRUYWJBdmFpbGFibGVTZWFyY2hTb3VyY2VzfSksYWRkaXRpb25hbEhlYWRlckVsZW1lbnQ6bC5jcmVhdGVFbGVtZW50KEp0LkJhY2tCdXR0b24se29uQ2xpY2s6KCk9Pm5lKCJzeW1ib2xTZWFyY2giKSxjbGFzc05hbWU6ZG4uYmFja0J1dHRvbixzaXplOiJtZWRpdW0iLGFyaWFMYWJlbDpjLnQobnVsbCx7Y29udGV4dDoiaW5wdXQifSxuKDMwNjYyNikpLHByZXNlcnZlUGFkZGluZ3M6ITAsZmxpcEljb25PblJ0bDooMCxjbi5pc1J0bCkoKX0pLGFkZGl0aW9uYWxFbGVtZW50UG9zOiJiZWZvcmUifTpyZSYmIm9wdGlvbnMiPT09dGU/e3RpdGxlOmwuY3JlYXRlRWxlbWVudChNZSx7c3ltYm9sOnJlfSksZGF0YU5hbWU6Im9wdGlvbnMtc2VhcmNoIixyZW5kZXI6KCk9PmwuY3JlYXRlRWxlbWVudChrZSx7c3ltYm9sOnJlLG9uU2VsZWN0OnN0LGluaXRpYWxPcHRpb246bGU/P3ZvaWQgMH0pLGFkZGl0aW9uYWxIZWFkZXJFbGVtZW50OmwuY3JlYXRlRWxlbWVudChKdC5CYWNrQnV0dG9uLHtvbkNsaWNrOmF0LGNsYXNzTmFtZTpkbi5iYWNrQnV0dG9uLHNpemU6Im1lZGl1bSIsYXJpYUxhYmVsOmMudChudWxsLHtjb250ZXh0OiJpbnB1dCJ9LG4oMzA2NjI2KSkscHJlc2VydmVQYWRkaW5nczohMCxmbGlwSWNvbk9uUnRsOigwLGNuLmlzUnRsKSgpfSksYWRkaXRpb25hbEVsZW1lbnRQb3M6ImJlZm9yZSJ9Ont0aXRsZTpwLGRhdGFOYW1lOiJzeW1ib2wtc2VhcmNoLWl0ZW1zLWRpYWxvZyIscmVuZGVyOigpPT5sLmNyZWF0ZUVsZW1lbnQoWnQsbnVsbCksYWRkaXRpb25hbEVsZW1lbnRQb3M6ImFmdGVyIn0sc2hvdWxkUmV0dXJuRm9jdXM6VixmdWxsU2NyZWVuOmYsb25DbG9zZTp0LG9uQ2xpY2tPdXRzaWRlOnQsb25LZXlEb3duOm50P3ZvaWQgMDp5dCxpc09wZW5lZDohMH0pKSkpKTtmdW5jdGlvbiBhdCgpe25lKCJzeW1ib2xTZWFyY2giKSxvZShudWxsKSxhZShudWxsKX1mdW5jdGlvbiBzdChlKXtkKFt7c3ltYm9sOmUscmVzb2x2ZWQ6ITF9XSx7c3ltYm9sVHlwZTptZX0pLHQoKX1mdW5jdGlvbiBpdChlKXtyZXR1cm57Y291bnRyeTplLmNvdW50cnk/LnRvTG9jYWxlTG93ZXJDYXNlKCkscHJvdmlkZXJJZDplLnByb3ZpZGVyX2lkLHNvdXJjZUxvZ29JZDplLnNvdXJjZV9sb2dvaWQ/P3ZvaWQgMH19ZnVuY3Rpb24gY3QoKXtTZXx8UT8uKEFlLmN1cnJlbnQ/LnZhbHVlfHwiIil9ZnVuY3Rpb24gZHQoZSx0LG4pe2h0KGUsZS5jb250cmFjdHM/LlswXSx0LG4pfWZ1bmN0aW9uIG10KGUpe2NvbnN0IHQ9bmV3IFNldChVZSk7dC5oYXMoZSk/dC5kZWxldGUoZSk6dC5hZGQoZSksV2UodCl9ZnVuY3Rpb24gaHQoZSxuLHIsbyl7Y29uc3QgbD1ufHxlLHtleGNoYW5nZTphfT1lO3tjb25zdCBlPXtuYW1lOmwuc3ltYm9sLGV4Y2hhbmdlOmEscHJlZml4OmwucHJlZml4LGZ1bGxOYW1lOmwuZnVsbF9uYW1lfTtpZihTZSlyZXR1cm4gZ3QoZSksdm9pZCBIZSgpO2lmKEFlLmN1cnJlbnQmJkFlLmN1cnJlbnQudmFsdWUuaW5jbHVkZXMoIiwiKSlyZXR1cm4gdm9pZCBndChlKX1pZih6JiYib3B0aW9ucyI9PT1tZSl7bmUoIm9wdGlvbnMiKTtjb25zdCBlPSgwLG0uZ2V0U3ltYm9sRnVsbE5hbWUpKHtuYW1lOmwuc3ltYm9sLGV4Y2hhbmdlOmEscHJlZml4OmwucHJlZml4LGZ1bGxOYW1lOmwuZnVsbF9uYW1lfSk7cmV0dXJuIGFlKG51bGwpLG9lKGUpLHZvaWQoQWUuY3VycmVudCYmKHNlLmN1cnJlbnQ9Zm4/QWUuY3VycmVudC52YWx1ZS50b1VwcGVyQ2FzZSgpOkFlLmN1cnJlbnQudmFsdWUpKX12dChbe3Jlc29sdmVkOiEwLHN5bWJvbDp0bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQoZSxuKSxyZXN1bHQ6bH1dLHIsbyksdCgpfWZ1bmN0aW9uIFN0KGUpe0JlKCJmaXhlZCI9PT1EfHxlPD02NDApfWZ1bmN0aW9uIGd0KGUpe2lmKCFBZS5jdXJyZW50KXJldHVybjtjb25zdFt0LG5dPVMoQWUuY3VycmVudCxlLGZuKTtBZS5jdXJyZW50LnZhbHVlPXQsQWUuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShuLG4pLEFlLmN1cnJlbnQuZm9jdXMoKX1mdW5jdGlvbiB5dChlKXtpZihlLnRhcmdldCYmZS50YXJnZXQhPT1BZS5jdXJyZW50KXJldHVybjtjb25zdCBuPSgwLGZ0Lmhhc2hGcm9tRXZlbnQpKGUpO3N3aXRjaChuKXtjYXNlIDEzOmUucHJldmVudERlZmF1bHQoKSxidCghMCk7YnJlYWs7Y2FzZSAyNzppZihlLnByZXZlbnREZWZhdWx0KCksImV4Y2hhbmdlIj09PXRlKXJldHVybiB2b2lkIG5lKCJzeW1ib2xTZWFyY2giKTtpZigib3B0aW9ucyI9PT10ZSlyZXR1cm4gdm9pZCBhdCgpO3QoKX1zd2l0Y2goKDAsdW4ubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShuKSl7Y2FzZSJibG9ja1ByZXYiOmlmKGUucHJldmVudERlZmF1bHQoKSwwPT09eWV8fCJnb29kIiE9PXZlKXJldHVybjtpZigtMT09PXllKXJldHVybiB2b2lkIGJlKDApO2JlKHllLTEpO2JyZWFrO2Nhc2UiYmxvY2tOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCkseWU9PT1qZS5sZW5ndGgtMXx8Imdvb2QiIT09dmUpcmV0dXJuO2JlKHllKzEpO2JyZWFrO2Nhc2UiaW5saW5lUHJldiI6e2lmKC0xPT09eWUpcmV0dXJuO2NvbnN0IHQ9amVbeWVdLHtpZDpuLGlzT2Zmc2V0OnIsb25FeHBhbmRDbGljazpvfT10O2lmKCFyJiZuJiZVZS5oYXMobikmJkJvb2xlYW4obykmJiFCb29sZWFuKEYpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLG10KG4pKSxvKXJldHVybiB2b2lkIEY/LihlLCEwKTticmVha31jYXNlImlubGluZU5leHQiOntpZigtMT09PXllKXJldHVybjtjb25zdCB0PWplW3llXSx7aWQ6bixpc09mZnNldDpyLG9uRXhwYW5kQ2xpY2s6b309dDtpZihyfHwhbnx8VWUuaGFzKG4pfHwhQm9vbGVhbihvKXx8Qm9vbGVhbihGKXx8KGUucHJldmVudERlZmF1bHQoKSxtdChuKSksbylyZXR1cm4gdm9pZCBGPy4oZSwhMCk7YnJlYWt9fUY/LihlKX0KZnVuY3Rpb24gYnQoZSl7aWYoIUFlLmN1cnJlbnQpcmV0dXJuO2xldCBuPUFlLmN1cnJlbnQudmFsdWU7aWYoU2UmJm4pe2NvbnN0IHI9amVbeWVdO2lmKHImJnZvaWQgMCE9PXIuaXNFeHBhbmRlZCYmKHIub25DbGljaygpLG49QWUuY3VycmVudC52YWx1ZSksbi5pbmNsdWRlcygiLCIpKXtyZXR1cm4gdnQoX24obikubWFwKHluKSxudWxsKSx2b2lkKGUmJnQoKSl9cmV0dXJuIHZ0KFt7c3ltYm9sOmZuP24udG9VcHBlckNhc2UoKTpuLHJlc29sdmVkOiExfV0sbnVsbCksdm9pZChlJiZ0KCkpfWlmKG4uaW5jbHVkZXMoIiwiKSlyZXR1cm4gdnQoX24obikubWFwKHluKSxudWxsKSx2b2lkKGUmJnQoKSk7aWYoLTEhPT15ZSl7amVbeWVdLm9uQ2xpY2soKX1lbHNle3tjb25zdCByPWZuP24udG9VcHBlckNhc2UoKTpuO2lmKHImJiIiIT09ci50cmltKCkpe2NvbnN0IGU9X24ocik7aWYobW58fHZvaWQgMD09PVFlfHwtMSE9PXIuaW5kZXhPZigiOiIpKXt2dChlLm1hcCh5biksbnVsbCl9ZWxzZShmdW5jdGlvbihlKXtsZXQgdD0hMTtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9Pi0xIT09ZS5pbmRleE9mKCI6Iil8fHQ/UHJvbWlzZS5yZXNvbHZlKHtzeW1ib2w6ZSxyZXNvbHZlZDohMX0pOih0PSEwLGFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KGF3YWl0KEdlPy5hY2NvdW50TWV0YWluZm8oKSkpPy5wcmVmaXgsbj10fHx2b2lkIDAscj1hd2FpdCgwLHB0LnNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQpKHtzdHJpY3RNYXRjaDohMCxzZXJ2ZXJIaWdobGlnaHQ6ITEsdGV4dDplLGxhbmc6d2luZG93Lmxhbmd1YWdlfHwiIixicm9rZXJJZDpRZSxvbmx5VHJhZGFibGU6ITAsdW5oaWRlU3ltYm9sU2VhcmNoR3JvdXBzOiRlLGV4Y2hhbmdlOm59KTtpZigwIT09ci5zeW1ib2xzLmxlbmd0aCl7Y29uc3QgZT1yLnN5bWJvbHNbMF0se2NvbnRyYWN0czp0fT1lLG49dCYmdC5sZW5ndGg+MD90WzBdOnZvaWQgMCxvPWUucHJlZml4fHxlLmV4Y2hhbmdlLGw9bj9uLnN5bWJvbDplLnN5bWJvbDtpZihvJiZsKXJldHVybntzeW1ib2w6dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KGUsbikscmVzb2x2ZWQ6ITAscmVzdWx0OmV9fXJldHVybntzeW1ib2w6ZSxyZXNvbHZlZDohMX19KGUpKSkpKX0pKGUpLnRoZW4oKGU9PnZ0KGUsbnVsbCkpKX1lJiZ0KCl9fX1hc3luYyBmdW5jdGlvbiB2dChlLHQsbil7Y29uc3Rbe3Jlc3VsdDpyLHN5bWJvbDpvLHJlc29sdmVkOmx9XT1lLGE9QWUuY3VycmVudD8udmFsdWUscz1MZS5jdXJyZW50PygwLG0uZ2V0RmVhdHVyZWRTeW1ib2xOYW1lKShMZS5jdXJyZW50KTpudWxsLGk9IW58fCgwLHNuLmlzS2V5Ym9hcmRDbGljaykobik7bGV0IGM9U2U7dm9pZCAwIT09ciYmKDAscHQuaXNTeW1ib2xTZWFyY2hSZXN1bHQpKHIpJiYoYz0ic3ByZWFkIj09PXIudHlwZSksV3x8KGw/TShvKTphd2FpdCBPKG8pKSxkKGUse3N5bWJvbFR5cGU6bWUsZmVhdHVyZWRTeW1ib2xOYW1lOnMsaXNLZXlib2FyZEV2ZW50OmksbnVtYmVySW5MaXN0OnQsaW5wdXRWYWx1ZTphLGlzU3ByZWFkOmN9KX19ZnVuY3Rpb24geW4oZSl7cmV0dXJue3N5bWJvbDpmbj9lLnRvVXBwZXJDYXNlKCk6ZSxyZXNvbHZlZDohMX19ZnVuY3Rpb24gYm4oZSx0KXtjb25zdHticm9rZXJfc3ltYm9sOm4sc3ltYm9sOnIsZGVzY3JpcHRpb246b309ZTtyZXR1cm5gJHsic3ByZWFkIj09PWUudHlwZT9vOnJ9JHt0JiZuP2AgKCR7bn0pYDoiIn1gfWZ1bmN0aW9uIHZuKGUpe3JldHVybiBlLnN5bWJvbCtlLmV4Y2hhbmdlK2UuZGVzY3JpcHRpb259ZnVuY3Rpb24gX24oZSl7cmV0dXJuIGUuc3BsaXQoIiwiKS5tYXAoKGU9PmUudHJpbSgpKSkuZmlsdGVyKChlPT4iIiE9PWUpKX1mdW5jdGlvbiBFbihlKXtjb25zdHtpc01vYmlsZTp0LGlzVGFibGV0Om59PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoQmUuQWRhcHRpdmVQb3B1cERpYWxvZyx7Li4uZSxjbGFzc05hbWU6cygpKGRuLmRpYWxvZywhdCYmKG4/ZG4udGFibGV0RGlhbG9nOmRuLmRlc2t0b3BEaWFsb2cpKSxiYWNrZHJvcDohMCxkcmFnZ2FibGU6ITF9KX1mdW5jdGlvbiBDbihlLHQpe3JldHVybigwLG0uaXNPcHRpb25EZWZhdWx0VmFsdWUpKGUpJiZ0P2UudW5kZXJseWluZzpudWxsfX0sNzE3MjYzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N5bWJvbFNlYXJjaE5vUmVzdWx0OigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big5MDc2ODgpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7Y2hpbGRyZW46dCxjbGFzc05hbWU6bn09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKGEuY29udGFpbmVyLG4pfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphLmNoaWxkcmVuV3JhcHBlcn0sdCkpfX0sNzI3NTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NyZWF0ZUdyb3VwQ29sdW1uczooKT0+TixleGNoYW5nZVNlbGVjdERpc2FibGVkOigpPT54LGdldEFsbFN5bWJvbFR5cGVzVmFsdWU6KCk9PlQsZ2V0QXZhaWxhYmxlU2VhcmNoU291cmNlczooKT0+RSxnZXRBdmFpbGFibGVTeW1ib2xUeXBlczooKT0+QyxnZXREZWZhdWx0U2VhcmNoU291cmNlOigpPT5fLGdldEZlYXR1cmVkU3ltYm9sTmFtZTooKT0+dyxnZXRTeW1ib2xGdWxsTmFtZTooKT0+dixpc09wdGlvbkRlZmF1bHRWYWx1ZTooKT0+QSxpc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFiczooKT0+UixtYXBFY29ub215U291cmNlOigpPT5JfSk7dmFyIHI9big3ODMyNTQpLG89bigxODczMzkpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fZXhjaGFuZ2U9ZX12YWx1ZSgpe3JldHVybiB0aGlzLl9leGNoYW5nZS52YWx1ZX1uYW1lKCl7cmV0dXJuKDAsby5pc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZCkodGhpcyk/ci50KG51bGwsdm9pZCAwLG4oMzg0MDIwKSk6dGhpcy5fZXhjaGFuZ2UubmFtZX1kZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLl9leGNoYW5nZS5kZXNjfWNvdW50cnkoKXsKcmV0dXJuIHRoaXMuX2V4Y2hhbmdlLmNvdW50cnl9cHJvdmlkZXJJZCgpe3JldHVybiB0aGlzLl9leGNoYW5nZS5wcm92aWRlcklkfXNvdXJjZUlkKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLnNvdXJjZUlkfWdyb3VwKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLmdyb3VwfWluY2x1ZGVzKGUpe3JldHVybiBhKHRoaXMuX2V4Y2hhbmdlLGUpfWdldFJlcXVlc3RFeGNoYW5nZVZhbHVlKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLnZhbHVlfWdldFJlcXVlc3RDb3VudHJ5VmFsdWUoKXt9fWZ1bmN0aW9uIGEoZSx0KXtjb25zdCBuPXQudG9Mb3dlckNhc2UoKSx7bmFtZTpyLGRlc2M6byxzZWFyY2hUZXJtczpsfT1lO3JldHVybiByLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobil8fG8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhuKXx8dm9pZCAwIT09bCYmbC5zb21lKChlPT5lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobikpKX12YXIgcz1uKDY5NzQ3MiksaT1uKDkzMDIzMSksYz1uKDM5ODEzMik7dmFyIHU9big2NjE4NTgpO2NvbnN0IGQ9dVswXS52YWx1ZTt2YXIgbT1uKDU2OTM5OCkscD1uKDEzODYzOCksaD1uKDI1NTUxNiksZj1uKDk3MzA0MSk7Y2xhc3MgU3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9cmF3KCl7cmV0dXJuIHRoaXMuX2RhdGF9dmFsdWUoKXtyZXR1cm4gdGhpcy5fZGF0YS5jb3VudHJ5fW5hbWUoKXtjb25zdCBlPSJ1ayI9PT10aGlzLl9kYXRhLmNvdW50cnk/ImdiIjp0aGlzLl9kYXRhLmNvdW50cnk7cmV0dXJuIGhbZV0/KDAsZi50cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZSkoaFtlXS50aXRsZSk6ZX1kZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLl9kYXRhLmV4Y2hhbmdlcy5tYXAoKGU9PmUubmFtZSkpLmpvaW4oIiwgIil9Y291bnRyeSgpe3JldHVybiB0aGlzLl9kYXRhLmNvdW50cnl9cHJvdmlkZXJJZCgpe3JldHVybiIifXNvdXJjZUlkKCl7fWdyb3VwKCl7cmV0dXJuIHRoaXMuX2RhdGEuZ3JvdXB9aW5jbHVkZXMoZSl7Y29uc3QgdD0idWsiPT09dGhpcy5fZGF0YS5jb3VudHJ5PyJnYiI6dGhpcy5fZGF0YS5jb3VudHJ5LG49ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLm5hbWUoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHx0aGlzLmNvdW50cnkoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHxoW3RdLnRpdGxlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHx0aGlzLmRlc2NyaXB0aW9uKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhuKXx8dGhpcy5fZGF0YS5leGNoYW5nZXMuc29tZSgodD0+YSh0LGUpKSl9Z2V0UmVxdWVzdEV4Y2hhbmdlVmFsdWUoKXt9Z2V0UmVxdWVzdENvdW50cnlWYWx1ZSgpe2NvbnN0e2NvdW50cnk6ZX09dGhpcy5fZGF0YTtyZXR1cm4oInVrIj09PWU/ImdiIjplKS50b1VwcGVyQ2FzZSgpfX1jbGFzcyBnIGV4dGVuZHMgU3tjb25zdHJ1Y3RvcihlKXtzdXBlcih7Li4uZS5yYXcoKSxleGNoYW5nZXM6W119KX19dmFyIHk9big3ODMxMTYpO2NvbnN0IGI9ISgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpJiYoMCxtLmlzRmVhdHVyZUVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyIpO2Z1bmN0aW9uIHYoZSl7aWYoZS5mdWxsTmFtZSlyZXR1cm4gZS5mdWxsTmFtZTtsZXQgdDtyZXR1cm4gdD1lLnByZWZpeHx8ZS5leGNoYW5nZT8oZS5wcmVmaXh8fGUuZXhjaGFuZ2UpKyI6IitlLm5hbWU6ZS5uYW1lLHQucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIil9ZnVuY3Rpb24gXygpe3JldHVybiBFKClbMF19ZnVuY3Rpb24gRSgpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hZS5oaWRlSW5TeW1ib2xTZWFyY2gpKX0oZnVuY3Rpb24oZSl7MDtyZXR1cm4oMCxzLmdldFdpZGdldENvbmZpZ3VyZWRFeGNoYW5nZXMpKGUsKDAscy5nZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWcpKCkpfSgoMCxzLmdldEV4Y2hhbmdlcykoKSkpO2lmKCFiKXJldHVybigwLG8uY3JlYXRlU2VhcmNoU291cmNlcykobCxlKTtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gZS5mb3JFYWNoKChlPT57Y29uc3R7Y291bnRyeTpuLGZsYWc6cixncm91cDpvfT1lO3QuaGFzKG4pPygwLHAuZW5zdXJlRGVmaW5lZCkodC5nZXQobikpLmV4Y2hhbmdlcy5wdXNoKGUpOnQuc2V0KG4se2NvdW50cnk6bixncm91cDooMCxwLmVuc3VyZURlZmluZWQpKG8pLGZsYWc6cixleGNoYW5nZXM6W2VdfSl9KSksdH0oZS5maWx0ZXIoKGU9PmUuZ3JvdXAhPT1jLkV4Y2hhbmdlR3JvdXAuRWNvbm9teSkpKSxuPVtdLHI9dC5nZXQoIiIpO3JldHVybiByJiYodC5kZWxldGUoIiIpLG4ucHVzaCguLi4oMCxvLmNyZWF0ZVNlYXJjaFNvdXJjZXMpKGwsci5leGNoYW5nZXMpKSksbi5wdXNoKC4uLigwLG8uY3JlYXRlU2VhcmNoU291cmNlcykoUyxbLi4udC52YWx1ZXMoKV0pKSxufWZ1bmN0aW9uIEMoKXtyZXR1cm4iY21lIj09PXdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcj9bXTooMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT93aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5zdXBwb3J0ZWRTeW1ib2xzVHlwZXMoKTp1LmZpbHRlcigoZT0+ImNmZCIhPT1lLnZhbHVlKSl9ZnVuY3Rpb24gVCgpe3JldHVybiBkfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIFI/IXkuVEFCX1NPVVJDRV9GSUxURVJfTUFQW2VdOiJib3Zlc3BhIj09PXdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcnx8ImNtZSI9PT13aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ9ZnVuY3Rpb24gSShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFM/bmV3IGcoZSk6ZX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXNzLWl0ZW09ImZlYXR1cmVkIl0nKT8uZ2V0QXR0cmlidXRlKCJkYXRhLXN5bWJvbC1uYW1lIik/P251bGx9ZnVuY3Rpb24gTihlLHQ9Mil7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2lmKDE9PT10KXJldHVybltlXTtjb25zdCBuPU1hdGguZmxvb3IoZS5sZW5ndGgvMikrZS5sZW5ndGglMgo7cmV0dXJuW2Uuc2xpY2UoMCxuKSxlLnNsaWNlKG4pXS5maWx0ZXIoKGU9PmUubGVuZ3RoPjApKX1jb25zdCBSPSEoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtmdW5jdGlvbiBBKGUpe3JldHVybiJzdHJpbmciIT10eXBlb2YgZX19LDk2NjM2NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXMoZSkpdm9pZCAwIT09ciYmdC5zZXQobixTdHJpbmcocikpO3JldHVybiB0fW4uZCh0LHtjcmVhdGVTZWFyY2hQYXJhbXM6KCk9PnJ9KX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5vfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSwxMjg4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+ZH0pO3ZhciByPW4oOTQ4MzgwKSxvPW4oMTUwMTUwKSxsPW4oMjE0OTg3KSxhPW4oMTM4NjM4KSxzPW4oMzY3OTQ2KSxpPW4oOTcwNzc0KSxjPW4oMzA5MDUyKTtjb25zdCB1PW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHIuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PWkuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG8ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IG49ZC5jYWNoZS5nZXQoZSk7cmV0dXJuIG4mJnRoaXMuX2lzU25hcHNob3RSZWFkeShuLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP246bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LG4pe2NvbnN0IHI9bj8uc2lnbmFsPz9udWxsLG89bj8uZnJlc2huZXNzLHM9dm9pZCAwIT09bz9EYXRlLm5vdygpLW86bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChuLG8pPT57aWYociYmci5hYm9ydGVkKXRocm93KDAsbC5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IGk9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxjKSxvKCgwLGwuY3JlYXRlQWJvcnRFcnJvcikoKSl9LGM9KG89ZSk9PntpZihvIT09ZSlyZXR1cm47Y29uc3QgbD1kLmNhY2hlLmdldChlKTtsJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobCx7dGltZXN0YW1wOnMsc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGMpLHI/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixpKSxuKGwpKX07aWYoISgoKT0+e2NvbnN0IHI9ZC5jYWNoZS5nZXQoZSk7aWYoIXIpcmV0dXJuITE7Y29uc3Qgbz0oMCxhLmVuc3VyZU5vdE51bGwpKGQuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHIse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDpzLHRpbWVzOm99KSYmKG4ociksITApfSkoKSYmKHI/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGMpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxuKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LG4pKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShuKSlyZXR1cm4hMTtyZXR1cm4hMH0KX2lzU25hcHNob3RSZWFkeShlLHQpe2NvbnN0e2ZpZWxkczpuLHRpbWVzdGFtcDpyLHRpbWVzOm8sc3ltYm9sOmx9PXQ7cmV0dXJuImVycm9yIj09PWUuc3RhdHVzfHwobnVsbCE9PXImJm8/dGhpcy5faXNBbGxGaWVsZHNVcFRvRGF0ZShlLG8sbixyKTpudWxsIT09ciYmbD90aGlzLl9pc0FsbEZpZWxkc1VwZGF0ZWQoZSxsLG4pOnRoaXMuX2hhc0FsbEZpZWxkcyhlLG4pKX1faXNBbGxGaWVsZHNVcGRhdGVkKGUsdCxuKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighcnx8IXIuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKG4pKWlmKCFyLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIGQuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxuLHIpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKG4pKXtjb25zdCBuPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09bilyZXR1cm4hMTtpZihuPHIpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9dS5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9ZC5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTtkLmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAscy5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksZC5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLG49KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscj1uZXcgU2V0KG4pO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmci5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxyKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1kLmNhY2hlPWMuUVVPVEVfRklFTERTX0NBQ0hFfSw2NDc2MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZmxhZ1VybDooKT0+aSxnZXRNb2NrZWRGbGFnOigpPT5jfSk7dmFyIHI9big4MTA0MSksbz1uKDg2MjIxMyksbD1uKDcxNzE0MSksYT1uKDQ1ODA1OSk7Y29uc3Qgcz17ZXJsOiJFVSIsdWs6IkdCIixiaXRjb2luOiJCVEMifTtmdW5jdGlvbiBpKGUsdCxuPW8uTG9nb1NpemUuTWVkaXVtKXtyZXR1cm4gZT8oZS50b0xvd2VyQ2FzZSgpaW4gcyYmKGU9c1tlXSksKDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCkuZ2V0Q291bnRyeUZsYWdVcmwoZS50b1VwcGVyQ2FzZSgpLG4pKTpjKHQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGU9PT1yLlN0ZFRoZW1lLkRhcms/bDphfX0sMzk4MTMyKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbztuLmQodCx7RXhjaGFuZ2VHcm91cDooKT0+cixnZXRFeGNoYW5nZXNHcm91cE5hbWU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLk5vcnRoQW1lcmljYT0iTm9ydGggQW1lcmljYSIsZS5FdXJvcGU9IkV1cm9wZSIsZS5NaWRkbGVFYXN0QWZyaWNhPSJNaWRkbGUgRWFzdCAvIEFmcmljYSIsZS5NZXhpY29Tb3V0aEFtZXJpY2E9Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsZS5Bc2lhUGFjaWZpYz0iQXNpYSAvIFBhY2lmaWMiLGUuV29ybGR3aWRlPSJXb3JsZHdpZGUiLGUuQ3J5cHRvY3VycmVuY3k9IkNyeXB0b2N1cnJlbmN5IixlLkZvcmV4PSJGb3JleCIsZS5BbGxFeGNoYW5nZXM9IkFsbEV4Y2hhbmdlcyIsZS5PdGhlcnM9Ik90aGVycyIsZS5FY29ub215PSJFY29ub215In0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlVTQT0iVW5pdGVkIFN0YXRlcyIsZS5DYW5hZGE9IkNhbmFkYSIsZS5FVT0iRXVyb3BlYW4gVW5pb24iLGUuR2VybWFueT0iR2VybWFueSIsZS5JdGFseT0iSXRhbHkiLGUuUG9sYW5kPSJQb2xhbmQiLGUuUnVzc2lhPSJSdXNzaWFuIEZlZGVyYXRpb24iLGUuU2VyYmlhPSJTZXJiaWEiLGUuU3BhaW49IlNwYWluIixlLlN3aXR6ZXJsYW5kPSJTd2l0emVybGFuZCIsZS5UdXJrZXk9IlR1cmtleSIsZS5VSz0iVW5pdGVkIEtpbmdkb20iLGUuQmFocmFpbj0iQmFocmFpbiIsZS5FZ3lwdD0iRWd5cHQiLGUuSXNyYWVsPSJJc3JhZWwiLGUuTmlnZXJpYT0iTmlnZXJpYSIsZS5TYXVkaUFyYWJpYT0iU2F1ZGkgQXJhYmlhIixlLlVBRT0iVW5pdGVkIEFyYWIgRW1pcmF0ZXMiLGUuQXJnZW50aW5hPSJBcmdlbnRpbmEiLGUuQnJhemlsPSJCcmF6aWwiLGUuQ2hpbGU9IkNoaWxlIixlLkN6ZWNoPSJDemVjaCIsZS5NZXhpY289Ik1leGljbyIsZS5BdXN0cmFsaWE9IkF1c3RyYWxpYSIsZS5DaGluYT0iTWFpbmxhbmQgQ2hpbmEiLGUuSW5kaWE9IkluZGlhIixlLkluZG9uZXNpYT0iSW5kb25lc2lhIixlLkhvbmdLb25nPSJIb25nIEtvbmcsIENoaW5hIixlLkphcGFuPSJKYXBhbiIsZS5NYWxheXNpYT0iTWFsYXlzaWEiLGUuTmV3WmVhbGFuZD0iTmV3IFplYWxhbmQiLGUuU2luZ2Fwb3JlPSJTaW5nYXBvcmUiLGUuVGFpd2FuPSJUYWl3YW4sIENoaW5hIixlLlRoYWlsYW5kPSJUaGFpbGFuZCIsZS5Tb3V0aEtvcmVhPSJTb3V0aCBLb3JlYSIsZS5QZXJ1PSJQZXJ1IiwKZS5Db2xvbWJpYT0iQ29sb21iaWEiLGUuU3dlZGVuPSJTd2VkZW4iLGUuSXJlbGFuZD0iSXJlbGFuZCIsZS5BdXN0cmlhPSJBdXN0cmlhIixlLk5vcndheT0iTm9yd2F5IixlLlFhdGFyPSJRYXRhciIsZS5EZW5tYXJrPSJEZW5tYXJrIixlLkljZWxhbmQ9IkljZWxhbmQiLGUuRmlubGFuZD0iRmlubGFuZCIsZS5MaXRodWFuaWE9IkxpdGh1YW5pYSIsZS5Fc3RvbmlhPSJFc3RvbmlhIixlLkxhdHZpYT0iTGF0dmlhIixlLlZpZXRuYW09IlZpZXRuYW0iLGUuU291dGhBZnJpY2E9IlNvdXRoIEFmcmljYSIsZS5OZXRoZXJsYW5kcz0iTmV0aGVybGFuZHMiLGUuQmVsZ2l1bT0iQmVsZ2l1bSIsZS5Qb3J0dWdhbD0iUG9ydHVnYWwiLGUuRnJhbmNlPSJGcmFuY2UiLGUuQmFuZ2xhZGVzaD0iQmFuZ2xhZGVzaCJ9KG98fChvPXt9KSk7dmFyIGw9bigxODUyNzEpO2Z1bmN0aW9uIGEoKXtyZXR1cm57W3IuTm9ydGhBbWVyaWNhXTpsLnQobnVsbCx2b2lkIDAsbig2ODk3MTYpKSxbci5FdXJvcGVdOmwudChudWxsLHZvaWQgMCxuKDk1MjM2NykpLFtyLk1pZGRsZUVhc3RBZnJpY2FdOmwudChudWxsLHZvaWQgMCxuKDYwMzA2NSkpLFtyLk1leGljb1NvdXRoQW1lcmljYV06bC50KG51bGwsdm9pZCAwLG4oNTk4MjQ3KSksW3IuQXNpYVBhY2lmaWNdOmwudChudWxsLHZvaWQgMCxuKDc2NDE3MSkpLFtyLldvcmxkd2lkZV06bC50KG51bGwsdm9pZCAwLG4oNTEzOTUzKSksW3IuQ3J5cHRvY3VycmVuY3ldOmwudChudWxsLHZvaWQgMCxuKDI5OTk2NikpLFtyLkZvcmV4XTpsLnQobnVsbCx2b2lkIDAsbig0OTc1NjkpKSxbci5PdGhlcnNdOmwudChudWxsLHZvaWQgMCxuKDk3MDkwOSkpLFtyLkVjb25vbXldOmwudChudWxsLHZvaWQgMCxuKDE3NjM3OCkpfX19LDYyMzUxMShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oKT0+KG51bGw9PT10JiYodD1lKCkpLHQpfW4uZCh0LHtsYXp5VmFsdWU6KCk9PnJ9KX0sNzg4MDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7c2Vzc2lvblRoZW5Mb2NhbDooKT0+cixzZXNzaW9uVGhlblR2U2V0dGluZ3M6KCk9Pm99KTt2YXIgcj17fTtuLnIociksbi5kKHIse2dldDooKT0+Zyxsb2dnZXI6KCk9PmYsc2V0OigpPT5TfSk7dmFyIG89e307bi5yKG8pLG4uZChvLHtnZXQ6KCk9Pl8sbG9nZ2VyOigpPT5iLHNldDooKT0+dn0pO3ZhciBsPW4oMjIxMDYxKSxhPW4oOTMyMzY1KTtpZig3OTc5NT09bi5qKXZhciBzPW4oMjM3MzY5KTtpZig3OTc5NT09bi5qKXZhciBpPW4oNzc2MTczKTt2YXIgYz1uKDgzOTQyNiksdT1uKDU2OTM5OCk7Y29uc3QgZD0oMCxsLmdldExvZ2dlcikoIkxpYi5TZXNzaW9uU2NvcGVkU2V0dGluZ3MiKTtjb25zdCBtPSgwLGMuZGVmYXVsdCkoKCgpPT57cmV0dXJuIHZvaWQgMCE9PXdpbmRvdy5UVkQ/bnVsbCE9KGU9d2luZG93LlRWRC5zZXNzaW9uU3RvcmFnZSkmJiJvYmplY3QiPT10eXBlb2YgZSYmImdldEl0ZW0iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0SXRlbSYmInNldEl0ZW0iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuc2V0SXRlbSYmKDAsdS5pc0ZlYXR1cmVFbmFibGVkKSgidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIik/d2luZG93LlRWRC5zZXNzaW9uU3RvcmFnZTpudWxsOigwLHUuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSIpP3dpbmRvdy5zZXNzaW9uU3RvcmFnZTpudWxsO3ZhciBlfSkpO2Z1bmN0aW9uIHAoZSx0KXtjb25zdCBuPW0oKTtpZihudWxsIT09bil0cnl7bi5zZXRJdGVtKGUsdCl9Y2F0Y2goZSl7ZD8ubG9nV2Fybihgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSBmYWlsZWQsIGJlY2F1c2Ugb2YgZXhjZXB0aW9uOiAkeygwLHMuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKX19ZnVuY3Rpb24gaChlKXtjb25zdCB0PW0oKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDp0LmdldEl0ZW0oZSl9Y29uc3QgZj0oMCxsLmdldExvZ2dlcikoIkxpYi5TZXNzaW9uU2NvcGVkU2V0dGluZ3MiKTtmdW5jdGlvbiBTKGUsdCl7dHJ5e2NvbnN0IG49KDAsaS5zZXR0aW5nVmFsdWVUb1N0cmluZykodCk7cChlLG4pLGEuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLG4pfWNhdGNoKGUpe2Y/LmxvZ1dhcm4oYHNlc3Npb25UaGVuTG9jYWwuc2V0IGZhaWxlZDogJHsoMCxzLmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fWZ1bmN0aW9uIGcoZSx0LG4pe3RyeXtyZXR1cm4oMCxpLnBhcnNlU2V0dGluZ1ZhbHVlKShmdW5jdGlvbihlLHQpe2xldCBuPWgoZSk7bnVsbD09PW4mJihuPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKT8/dCxwKGUsbikpO3JldHVybiBufShlLCgwLGkuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpKSxuKX1jYXRjaChlKXtyZXR1cm4gZj8ubG9nV2Fybihgc2Vzc2lvblRoZW5Mb2NhbC5nZXQgaXMgYWJvdXQgdG8gcmV0dXJuIHRoZSBkZWZhdWx0IHZhbHVlIGR1ZSB0byBlcnJvcjogJHsoMCxzLmdldEVycm9yTWVzc2FnZSkoZSl9YCksdH19dmFyIHk9big5MzA1NjYpO2NvbnN0IGI9KDAsbC5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7ZnVuY3Rpb24gdihlLHQpe3RyeXtjb25zdCBuPSgwLGkuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpO3AoZSxuKSx5LnNldFZhbHVlKGUsbil9Y2F0Y2goZSl7Yj8ubG9nV2Fybihgc2Vzc2lvblRoZW5UdlNldHRpbmdzLnNldCBmYWlsZWQ6ICR7KDAscy5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX1mdW5jdGlvbiBfKGUsdCxuKXt0cnl7cmV0dXJuKDAsaS5wYXJzZVNldHRpbmdWYWx1ZSkoZnVuY3Rpb24oZSx0KXtsZXQgbj1oKGUpO251bGw9PT1uJiYobj15LmdldFZhbHVlKGUpPz90LHAoZSxuKSk7cmV0dXJuIG59KGUsKDAsaS5zZXR0aW5nVmFsdWVUb1N0cmluZykodCkpLG4pfWNhdGNoKGUpe3JldHVybiBiPy5sb2dXYXJuKGBzZXNzaW9uVGhlblR2U2V0dGluZ3MuZ2V0IGlzIGFib3V0IHRvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZSBkdWUgdG8gZXJyb3I6ICR7KDAscy5nZXRFcnJvck1lc3NhZ2UpKGUpfWApLHR9fX0sNzc2MTczKGUsdCxuKXsidXNlIHN0cmljdCIKO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBuPUpTT04ucGFyc2UoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gbjtpZih0KG4pKXJldHVybiBuO3Rocm93IG5ldyBUeXBlRXJyb3IoIlBhcnNlZCB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCB2YWxpZGF0aW9uIHByZWRpY2F0ZSIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfW4uZCh0LHtwYXJzZVNldHRpbmdWYWx1ZTooKT0+cixzZXR0aW5nVmFsdWVUb1N0cmluZzooKT0+b30pfSw1ODk5MTUoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixvLGwsYSxzLGksYyx1O24uZCh0LHtPcHRpb25zVHJhY2tlcjooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuVG9wVG9vbGJhcj0idG9wIHRvb2xiYXIiLGUuTGVmdFRvb2xiYXI9ImxlZnQgdG9vbGJhciIsZS5Cb3R0b21Ub29sYmFyPSJib3R0b20gdG9vbGJhciIsZS5Cb3R0b21QYW5lbD0iYm90dG9tIHBhbmVsIixlLlJpZ2h0UGFuZWw9InJpZ2h0IHBhbmVsIixlLldhdGNobGlzdD0id2F0Y2hsaXN0IixlLk1hbmFnZUxheW91dD0ibWFuYWdlIGxheW91dCIsZS5Ib3RrZXk9ImhvdGtleSJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5TeW1ib2xTZWFyY2g9InN5bWJvbCBzZWFyY2giLGUuSW50ZXJ2YWw9ImludGVydmFsIixlLkNoYXJ0U3R5bGU9ImNoYXJ0IHN0eWxlIixlLkNvbXBhcmU9ImNvbXBhcmUiLGUuSW5kaWNhdG9ycz0iaW5kaWNhdG9ycyIsZS5GaW5hbmNpYWxzPSJmaW5hbmNpYWxzIixlLkluZGljYXRvclRlbXBsYXRlcz0iaW5kaWNhdG9yIHRlbXBsYXRlcyIsZS5BbGVydD0iYWxlcnQiLGUuQmFyUmVwbGF5PSJiYXIgcmVwbGF5IixlLlVuZG89InVuZG8iLGUuUmVkbz0icmVkbyIsZS5MYXlvdXRUeXBlPSJsYXlvdXQgdHlwZSIsZS5NYW5hZ2VMYXlvdXRzPSJtYW5hZ2UgbGF5b3V0cyIsZS5DaGFydFNldHRpbmdzPSJjaGFydCBzZXR0aW5ncyIsZS5GdWxsc2NyZWVuTW9kZT0iZnVsbHNjcmVlbiBtb2RlIixlLlNuYXBzaG90PSJzbmFwc2hvdCIsZS5UZWxlZ3JhbVNoYXJlPSJ0ZWxlZ3JhbSBzaGFyZSIsZS5QdWJsaXNoPSJwdWJsaXNoIixlLkNvcHk9ImNvcHkiLGUuVG9wVG9vbGJhclRyYWRlQnV0dG9uPSJ0b3BfdG9vbGJhcl90cmFkZV9idXR0b24iLGUuQ3Vyc29ycz0iY3Vyc29ycyIsZS5UcmVuZExpbmVUb29scz0idHJlbmQgbGluZSB0b29scyIsZS5HYW5BbmRGaWJUb29scz0iZ2FuIGFuZCBmaWIgdG9vbHMiLGUuR2VvbWV0cmljU2hhcGVzPSJnZW9tZXRyaWMgc2hhcGVzIixlLkFubm90YXRpb25Ub29scz0iYW5ub3RhdGlvbiB0b29scyIsZS5QYXR0ZXJucz0icGF0dGVybnMiLGUuUHJlZGljdGlvblRvb2xzPSJwcmVkaWN0aW9uIHRvb2xzIixlLkljb25zPSJpY29ucyIsZS5NZWFzdXJlPSJtZWFzdXJlIixlLlpvb21Jbj0iem9vbSBpbiIsZS5ab29tT3V0PSJ6b29tIG91dCIsZS5NYWduZXRNb2RlPSJtYWduZXQgbW9kZSIsZS5NYWduZXRTbmFwcz0ibWFnbmV0IHNuYXBzIixlLkRyYXdpbmdNb2RlPSJkcmF3aW5nIG1vZGUiLGUuTG9jaz0ibG9jayIsZS5IaWRlRHJhd2luZ3M9ImhpZGUiLGUuU3luYz0ic3luYyIsZS5SZW1vdmU9InJlbW92ZSIsZS5GYXZvcml0ZVRvb2xiYXI9ImZhdm9yaXRlIHRvb2xiYXIiLGUuT2JqZWN0VHJlZT0ib2JqZWN0IHRyZWUiLGUuRGF5PSIxZCIsZS5GaXZlRGF5cz0iNWQiLGUuTW9udGg9IjFtIixlLlRocmVlTW9udGhzPSIzbSIsZS5TaXhNb250aHM9IjZtIixlLllURD0ieXRkIixlLlllYXI9IjF5IixlLkZpdmVZZWFycz0iNXkiLGUuQWxsPSJhbGwiLGUuR29Ubz0iZ28gdG8iLGUuRGF0ZVJhbmdlPSJkYXRlIHJhbmdlIixlLlRpbWV6b25lPSJ0aW1lem9uZSIsZS5TZXNzaW9uPSJzZXNzaW9uIixlLkFkaj0iYWRqIixlLlBlcmNlbnQ9InBlcmNlbnQiLGUuTG9nPSJsb2ciLGUuQXV0bz0iYXV0byIsZS5NYXhpbWl6ZUNoYXJ0PSJtYXhpbWl6ZSBjaGFydCIsZS5XYXRjaGxpc3Q9IndhdGNobGlzdCIsZS5BbGVydHM9ImFsZXJ0cyIsZS5EYXRhV2luZG93PSJkYXRhIHdpbmRvdyIsZS5Ib3RsaXN0PSJob3RsaXN0IixlLkNhbGVuZGFyPSJjYWxlbmRhciIsZS5DYWxlbmRhckRpYWxvZz0iY2FsZW5kYXIgZGlhbG9nIixlLlVuaW9uQ2hhdHM9ImNoYXRzIixlLk9yZGVyUGFuZWw9Im9yZGVyIHBhbmVsIixlLkRPTT0iZG9tIixlLkhlbHBDZW50ZXI9ImhlbHAgY2VudGVyIixlLkV4cG9ydD0iZXhwb3J0IixlLk1ha2VBQ29weT0ibWFrZSBhIGNvcHkifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuTWVudT0ibWVudSIsZS5Pbj0ib24iLGUuT2ZmPSJvZmYifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2UuQ29weT0iY29weSIsZS5TaGFyZT0ic2hhcmUifShhfHwoYT17fSkpLGZ1bmN0aW9uKGUpe2xldCB0LG47IWZ1bmN0aW9uKGUpe2UuRmlsdGVyUGlsbD0iRklMVEVSX1BJTEwiLGUuRmlsdGVyUGlsbFJlc2V0PSJGSUxURVJfUElMTF9SRVNFVCIsZS5GaWx0ZXJSZXNldEFsbD0iRklMVEVSX1JFU0VUX0FMTCIsZS5GaWx0ZXJSZW1vdmVBbGw9IkZJTFRFUl9SRU1PVkVfQUxMIixlLkZpbHRlclJlbW92ZUluYWN0aXZlPSJGSUxURVJfUkVNT1ZFX0lOQUNUSVZFIixlLkFkZEZpbHRlcj0iQUREX0ZJTFRFUiIsZS5FZGl0RmlsdGVyPSJFRElUX0ZJTFRFUiIsZS5GaWx0ZXJQb3BvdmVyUmVzZXQ9IkZJTFRFUl9QT1BPVkVSX1JFU0VUIixlLkZpbHRlclBvcG92ZXJQcmVzZXQ9IkZJTFRFUl9QT1BPVkVSX1BSRVNFVCIsZS5GaWx0ZXJQb3BvdmVyRGVsZXRlPSJGSUxURVJfUE9QT1ZFUl9ERUxFVEUiLGUuRmlsdGVyUG9wb3ZlckN1c3RvbT0iRklMVEVSX1BPUE9WRVJfQ1VTVE9NIixlLkZpbHRlclBvcG92ZXJBcHBseT0iRklMVEVSX1BPUE9WRVJfQVBQTFkiLGUuU2VhcmNoRmlsdGVyRGlhbG9nT3BlbkZyb21QaWxsPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19PUEVOX0ZST01fUElMTCIsZS5TZWFyY2hGaWx0ZXJEaWFsb2dDbGlja0ZpbHRlcj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfQ0xJQ0tfRklMVEVSIixlLlNlYXJjaEZpbHRlckRpYWxvZ0NoYW5nZUdyb3VwPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19DSEFOR0VfR1JPVVAiLAplLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlck9wdGlvbj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfRklMVEVSX09QVElPTiIsZS5TZWFyY2hGaWx0ZXJEaWFsb2dGaWx0ZXJTb2x1dGlvbj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfRklMVEVSX1NPTFVUSU9OIixlLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlck91dHNpZGU9IlNFQVJDSF9GSUxURVJfRElBTE9HX0ZJTFRFUl9PVVRTSURFIixlLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlckNsb3NlPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19GSUxURVJfQ0xPU0UiLGUuU2VhcmNoRmlsdGVyRGlhbG9nRmlsdGVyTWVudUFwcGx5PSJTRUFSQ0hfRklMVEVSX0RJQUxPR19GSUxURVJfTUVOVV9BUFBMWSIsZS5DcmVhdGVFZGl0RmlsdGVyRGlhbG9nUmVzZXQ9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfUkVTRVQiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ1NlbGVjdEFsbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19TRUxFQ1RfQUxMIixlLkNyZWF0ZUVkaXRGaWx0ZXJEaWFsb2dVbnNlbGVjdEFsbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19VTlNFTEVDVF9BTEwiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ0NhbmNlbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19DQU5DRUwiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ0FwcGx5PSJDUkVBVEVfRURJVF9GSUxURVJfRElBTE9HX0FQUExZIixlLkNyZWF0ZUVkaXRGaWx0ZXJEaWFsb2dGaWx0ZXJTb2x1dGlvbj0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19GSUxURVJfU09MVVRJT04iLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ091dHNpZGU9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfT1VUU0lERSIsZS5DcmVhdGVFZGl0RmlsdGVyRGlhbG9nQ2xvc2U9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfQ0xPU0UiLGUuU2NyZWVuZXJWaWV3VHlwZT0iU0NSRUVORVJfVklFV19UWVBFIixlLlNlYXJjaENvbHVtbkRpYWxvZ09wZW5Gcm9tVGFibGVIZWFkZXI9IlNFQVJDSF9DT0xVTU5fRElBTE9HX09QRU5fRlJPTV9UQUJMRV9IRUFERVIiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2xpY2tDb2x1bW49IlNFQVJDSF9DT0xVTU5fRElBTE9HX0NMSUNLX0NPTFVNTiIsZS5TZWFyY2hDb2x1bW5EaWFsb2dDbGVhckFsbD0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQ0xFQVJfQUxMIixlLlNlYXJjaENvbHVtbkRpYWxvZ1JlbW92ZUNvbHVtbj0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfUkVNT1ZFX0NPTFVNTiIsZS5TZWFyY2hDb2x1bW5EaWFsb2dBcHBseT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQVBQTFkiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2FuY2VsPSJTRUFSQ0hfQ09MVU1OX0RJQUxPR19DQU5DRUwiLGUuU2VhcmNoQ29sdW1uRGlhbG9nT3V0c2lkZT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfT1VUU0lERSIsZS5TZWFyY2hDb2x1bW5EaWFsb2dDbG9zZT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQ0xPU0UiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2hhbmdlR3JvdXA9IlNFQVJDSF9DT0xVTU5fRElBTE9HX0NIQU5HRV9HUk9VUCIsZS5DcmVhdGVFZGl0Q29sdW1uRGlhbG9nQXBwbHk9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfQVBQTFkiLGUuQ3JlYXRlRWRpdENvbHVtbkRpYWxvZ0NhbmNlbD0iQ1JFQVRFX0VESVRfQ09MVU1OX0RJQUxPR19DQU5DRUwiLGUuQ3JlYXRlRWRpdENvbHVtbkRpYWxvZ091dHNpZGU9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfT1VUU0lERSIsZS5DcmVhdGVFZGl0Q29sdW1uRGlhbG9nQ2xvc2U9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfQ0xPU0UiLGUuQ3JlYXRlRWRpdENvbHVtblBvcG92ZXJNZW51QXBwbHk9IkNSRUFURV9FRElUX0NPTFVNTl9QT1BPVkVSX01FTlVfQVBQTFkiLGUuQ3JlYXRlRWRpdENvbHVtblBvcG92ZXJNZW51Q2FuY2VsPSJDUkVBVEVfRURJVF9DT0xVTU5fUE9QT1ZFUl9NRU5VX0NBTkNFTCIsZS5TY3JlZW5DYXJkUG9wdWxhclNlbGVjdD0iU0NSRUVOX0NBUkRfUE9QVUxBUl9TRUxFQ1QiLGUuQ29sdW1uU2V0U2VsZWN0PSJDT0xVTU5fU0VUX1NFTEVDVCIsZS5IZWFkZXJDb2xsYXBzZT0iSEVBREVSX0NPTExBUFNFIixlLkZ1bGxzY3JlZW49IkZVTExTQ1JFRU4iLGUuRXhwb3J0Q1NWPSJFWFBPUlRfQ1NWIixlLlNjcmVlbmVyU2V0dGluZ3NPcGVuRnJvbUJ1dHRvbj0iU0NSRUVORVJfU0VUVElOR1NfT1BFTl9GUk9NX0JVVFRPTiIsZS5TY3JlZW5lclNldHRpbmdzQ2xpY2tBdXRvUmVmcmVzaE9wdGlvbj0iU0NSRUVORVJfU0VUVElOR1NfQ0xJQ0tfQVVUT19SRUZSRVNIX09QVElPTiIsZS5TY3JlZW5lclNldHRpbmdzQ2xpY2tDb252ZXJ0Q3VycmVuY3lPcHRpb249IlNDUkVFTkVSX1NFVFRJTkdTX0NMSUNLX0NPTlZFUlRfQ1VSUkVOQ1lfT1BUSU9OIixlLlNjcmVlbmVyU2V0dGluZ3NHcm91cEJ5SXNpblRvZ2dsZVJlZ3dhbGxPcGVuPSJTRVRUSU5HU19HUk9VUF9CWV9JU0lOX1RPR0dMRV9SRUdXQUxMX09QRU4iLGUuQ29sdW1uU2VhcmNoU3ltYm9sUmVnd2FsbE9wZW49IkNPTFVNTl9TRUFSQ0hfU1lNQk9MX1JFR1dBTExfT1BFTiIsZS5Db2x1bW5Db250ZXh0TWVudVNvcnRBc2M9IkNPTFVNTl9DT05URVhUX01FTlVfU09SVF9BU0MiLGUuQ29sdW1uQ29udGV4dE1lbnVTb3J0RGVzYz0iQ09MVU1OX0NPTlRFWFRfTUVOVV9TT1JUX0RFU0MiLGUuQ29sdW1uQ29udGV4dE1lbnVTb3J0UmVnd2FsbE9wZW49IkNPTFVNTl9DT05URVhUX01FTlVfU09SVF9SRUdXQUxMX09QRU4iLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlTGVmdD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX0xFRlQiLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlUmlnaHQ9IkNPTFVNTl9DT05URVhUX01FTlVfTU9WRV9SSUdIVCIsZS5Db2x1bW5Db250ZXh0TWVudU1vdmVUb1RoZUVuZD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX1RPX1RIRV9FTkQiLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlVG9UaGVTdGFydD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX1RPX1RIRV9TVEFSVCIsZS5Db2x1bW5Db250ZXh0TWVudVJlbW92ZUNvbHVtbj0iQ09MVU1OX0NPTlRFWFRfTUVOVV9SRU1PVkVfQ09MVU1OIiwKZS5Db2x1bW5Db250ZXh0TWVudUNoYW5nZVBhcmFtPSJDT0xVTU5fQ09OVEVYVF9NRU5VX0NIQU5HRV9QQVJBTSIsZS5Tb3J0U2VsZWN0T3BlbkZyb21CdXR0b249IlNPUlRfU0VMRUNUX09QRU5fRlJPTV9CVVRUT04iLGUuU29ydFNlbGVjdENsaWNrQ29sdW1uPSJTT1JUX1NFTEVDVF9DTElDS19DT0xVTU4iLGUuU2NyZWVuZXJNYW51YWxSZWZyZXNoT3B0aW9uPSJTQ1JFRU5FUl9NQU5VQUxfUkVGUkVTSF9PUFRJT04iLGUuTWFya2V0UHJpbWFyeUxpc3RpbmdUb2dnbGU9Ik1BUktFVF9QUklNQVJZX0xJU1RJTkdfVE9HR0xFIixlLk1hcmtldENoYW5nZU9wdGlvbj0iTUFSS0VUX0NIQU5HRV9PUFRJT04iLGUuTWFya2V0U2VsZWN0TXVsdGlwbGU9Ik1BUktFVF9TRUxFQ1RfTVVMVElQTEUiLGUuT3BlblNjcmVlbmVyPSJPUEVOX1NDUkVFTkVSIixlLkNoYW5nZVN0YW5kYWxvbmVUeXBlPSJDSEFOR0VfU1RBTkRBTE9ORV9UWVBFIixlLlRhYmxlQ29udGV4dE1lbnVBZGRTeW1ib2xUb1dhdGNobGlzdD0iVEFCTEVfQ09OVEVYVF9NRU5VX0FERF9TWU1CT0xfVE9fV0FUQ0hMSVNUIixlLlRhYmxlUm93QWRkU3ltYm9sVG9XYXRjaGxpc3Q9IlRBQkxFX1JPV19BRERfU1lNQk9MX1RPX1dBVENITElTVCIsZS5XYXRjaGxpc3RBcHBsaWVkU2Nhbj0iV0FUQ0hMSVNUX0FQUExJRURfU0NBTiIsZS5XYXRjaGxpc3RQb3BvdmVyT3Blbj0iV0FUQ0hMSVNUX1BPUE9WRVJfT1BFTiIsZS5TY3JlZW5BY3Rpb25zRHJvcGRvd25Jc09wZW49IlNDUkVFTkVSX01FTlVfT1BFTiIsZS5TY3JlZW5BY3Rpb25zRHJvcGRvd25SZWNlbnRTY3JlZW49Ik9QRU5fUkVDRU5UTFlfVVNFRCIsZS5TYXZlZFNjcmVlblNoYXJlPSJTQVZFRF9TQ1JFRU5fU0hBUkUiLGUuU2hhcmVkU2NyZWVuT3Blbj0iU0hBUkVEX1NDUkVFTl9PUEVOIixlLlNoYXJlZFNjcmVlbkNvcHk9IlNIQVJFRF9TQ1JFRU5fQ09QWSIsZS5TYXZlZFNjcmVlbkF1dG9zYXZlPSJTQVZFRF9TQ1JFRU5fQVVUT1NBVkUiLGUuU2F2ZWRTY3JlZW5NYWtlQ29weT0iU0FWRURfU0NSRUVOX01BS0VfQ09QWSIsZS5TYXZlU2NyZWVuPSJTQVZFX1NDUkVFTiIsZS5DcmVhdGVTY3JlZW49IkNSRUFURV9TQ1JFRU4iLGUuRmlsdGVyQ3VzdG9tUGFyYW1BcHBseT0iRklMVEVSX0NVU1RPTV9QQVJBTV9BUFBMWSIsZS5Db2x1bW5DdXN0b21QYXJhbUFwcGx5PSJDT0xVTU5fQ1VTVE9NX1BBUkFNX0FQUExZIixlLlNjcmVlblVuZG89IlNDUkVFTl9VTkRPIixlLlNjcmVlblJlZG89IlNDUkVFTl9SRURPIixlLlNjcmVlbkNvbHVtbkFycm93U29ydD0iU0NSRUVOX0NPTFVNTl9BUlJPV19TT1JUIixlLlNjcmVlbkNvbHVtblNvcnRSZWd3YWxsT3Blbj0iU0NSRUVOX0NPTFVNTl9TT1JUX1JFR1dBTExfT1BFTiIsZS5SZWdpc3RyYXRpb25Cb3R0b21CYXJDbGlja1JlZ2lzdGVyPSJSRUdJU1RSQVRJT05fQk9UVE9NX0JBUl9DTElDS19SRUdJU1RFUiIsZS5TY3JlZW5lclNhdmVBcz0iU0NSRUVORVJfU0FWRV9BUyIsZS5QaW5lU2NyZWVuZXJTZWxlY3RXYXRjaGxpc3Q9IlBJTkVfU0NSRUVORVJfU0VMRUNUX1dBVENITElTVCIsZS5QaW5lU2NyZWVuZXJTZWxlY3RJbmRpY2F0b3I9IlBJTkVfU0NSRUVORVJfU0VMRUNUX0lORElDQVRPUiIsZS5QaW5lU2NyZWVuZXJDbGlja1NjYW49IlBJTkVfU0NSRUVORVJfQ0xJQ0tfU0NBTiIsZS5QaW5lU2NyZWVuZXJDbGlja1N0b3BTY2FuPSJQSU5FX1NDUkVFTkVSX0NMSUNLX1NUT1BfU0NBTiIsZS5QaW5lU2NyZWVuZXJEb3dubG9hZFJlc3VsdHNBc0NTVj0iUElORV9TQ1JFRU5FUl9ET1dOTE9BRF9SRVNVTFRTX0FTX0NTViIsZS5QaW5lU2NyZWVuZXJTYXZlUmVzdWx0c0FzV2F0Y2hsaXN0PSJQSU5FX1NDUkVFTkVSX1NBVkVfUkVTVUxUU19BU19XQVRDSExJU1QiLGUuUGluZVNjcmVlbmVyUmVzdWx0c0FzV2F0Y2hsaXN0U3VjY2Vzc2Z1bGx5U2F2ZWQ9IlBJTkVfU0NSRUVORVJfUkVTVUxUU19BU19XQVRDSExJU1RfU1VDQ0VTU0ZVTExZX1NBVkVEIixlLlBpbmVTY3JlZW5lckFib3V0PSJQSU5FX1NDUkVFTkVSX0FCT1VUIixlLlNjcmVlbmVyQWlTdGFydD0iU0NSRUVORVJfQUlfU1RBUlQiLGUuU2NyZWVuZXJBaUV4cGxhbmF0aW9uPSJTQ1JFRU5FUl9BSV9FWFBMQU5BVElPTiIsZS5TY3JlZW5lckFpR2VuZXJhdGVGaWx0ZXJzPSJTQ1JFRU5FUl9BSV9HRU5FUkFURV9GSUxURVJTIixlLlNjcmVlbmVyQWlTdG9wPSJTQ1JFRU5FUl9BSV9TVE9QIixlLlNjcmVlbmVyQWlQb3B1bGFyU2VsZWN0PSJTQ1JFRU5FUl9BSV9QT1BVTEFSX1NFTEVDVCJ9KHQ9ZS5CdXR0b258fChlLkJ1dHRvbj17fSkpLGZ1bmN0aW9uKGUpe2UuU2Nyb2xsRGVwdGg9IlNDUk9MTF9ERVBUSCJ9KG49ZS5TY3JvbGx8fChlLlNjcm9sbD17fSkpfShzfHwocz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0LG47IWZ1bmN0aW9uKGUpe2UuRGV0YWlsc1dpZGdldD0iREVUQUlMU19XSURHRVQiLGUuTW9yZURpYWxvZz0iTU9SRV9ESUFMT0ciLGUuUHJvZHVjdERpYWxvZz0iUFJPRFVDVF9ESUFMT0ciLGUuUHJvZHVjdFBhZ2U9IlBST0RVQ1RfUEFHRSIsZS5TeW1ib2xQYWdlVGFiPSJTWU1CT0xfUEFHRV9UQUIiLGUuU3ltYm9sU2VhcmNoPSJTWU1CT0xfU0VBUkNIIixlLk9wdGlvbnNXZWJ2aWV3PSJPUFRJT05TX1dFQlZJRVcifSh0PWUuU291cmNlfHwoZS5Tb3VyY2U9e30pKSxmdW5jdGlvbihlKXtlLkJyb2tlckNvbm5lY3Q9IkJST0tFUl9DT05ORUNUIixlLkJyb2tlclNlbGVjdD0iQlJPS0VSX1NFTEVDVCIsZS5CdWlsZGVyRnVsbHNjcmVlbk1vZGU9IkJVSUxERVJfRlVMTFNDUkVFTl9NT0RFIixlLkJ1aWxkZXJUYWJzPSJCVUlMREVSX1RBQlMiLGUuQ29ubmVjdEJyb2tlckJ1dHRvbj0iQ09OTkVDVF9CUk9LRVJfQlVUVE9OIixlLkNvcHlTaGFyZWRTdHJhdGVneT0iQ09QWV9TSEFSRURfU1RSQVRFR1kiLGUuQ3JlYXRlU3RyYXRlZ3lUZW1wbGF0ZUJ1dHRvbj0iQ1JFQVRFX1NUUkFURUdZX1RFTVBMQVRFX0JVVFRPTiIsZS5EcmFnU3RyYXRlZ3lDaGFydFBvc2l0aW9uUG9pbnQ9IkRSQUdfU1RSQVRFR1lfQ0hBUlRfUE9TSVRJT05fUE9JTlQiLGUuR3JlZWtTZWxlY3Q9IkdSRUVLX1NFTEVDVCIsCmUuTmV0U3RyYXRlZ3lDaGFydD0iTkVUX1NUUkFURUdZX0NIQVJUIixlLk9wZW5GdWxsc2NyZWVuVGFibGVCdXR0b249Ik9QRU5fRlVMTFNDUkVFTl9UQUJMRV9CVVRUT04iLGUuT3B0aW9uc0NoYWluQWRkQ29sdW1uPSJPUFRJT05TX0NIQUlOX0FERF9DT0xVTU4iLGUuT3B0aW9uc0NoYWluRXhwYW5kUm93PSJPUFRJT05TX0NIQUlOX0VYUEFORF9ST1ciLGUuT3B0aW9uc0NoYWluSW52b2tlT3JkZXI9Ik9QVElPTlNfQ0hBSU5fSU5WT0tFX09SREVSIixlLk9wdGlvbnNDaGFpbk1hbnVhbERhdGVSYW5nZVNlbGVjdD0iT1BUSU9OU19DSEFJTl9NQU5VQUxfREFURV9SQU5HRV9TRUxFQ1QiLGUuT3B0aW9uc0NoYWluTWFudWFsU3RyaWtlUmFuZ2VTZWxlY3Q9Ik9QVElPTlNfQ0hBSU5fTUFOVUFMX1NUUklLRV9SQU5HRV9TRUxFQ1QiLGUuT3B0aW9uc0NoYWluT3Blbj0iT1BUSU9OU19DSEFJTl9PUEVOIixlLk9wdGlvbnNDaGFpblJlbW92ZUNvbHVtbj0iT1BUSU9OU19DSEFJTl9SRU1PVkVfQ09MVU1OIixlLk9wdGlvbnNDaGFpblNlbGVjdFNlcmllcz0iT1BUSU9OU19DSEFJTl9TRUxFQ1RfU0VSSUVTIixlLk9wdGlvbnNDaGFpblNlbGVjdFN0cmlrZXM9Ik9QVElPTlNfQ0hBSU5fU0VMRUNUX1NUUklLRVMiLGUuT3B0aW9uc0NoYWluU3BlY2lmaWNEYXRlc1NlbGVjdD0iT1BUSU9OU19DSEFJTl9TUEVDSUZJQ19EQVRFU19TRUxFQ1QiLGUuT3B0aW9uc0NoYWluU3BlY2lmaWNTdHJpa2VzU2VsZWN0PSJPUFRJT05TX0NIQUlOX1NQRUNJRklDX1NUUklLRVNfU0VMRUNUIixlLk9wdGlvbnNDaGFpblRpbWVTcGVudD0iT1BUSU9OU19DSEFJTl9USU1FX1NQRU5UIixlLlBvc2l0aW9uVmlzaWJpbGl0eUJ1dHRvbj0iUE9TSVRJT05fVklTSUJJTElUWV9CVVRUT04iLGUuU2lnbmluV2l0aEZlYXR1cmU9IlNJR05JTl9XSVRIX0ZFQVRVUkUiLGUuU3ByZWFkZXhGaWx0ZXJDaGFuZ2U9IlNQUkVBREVYX0ZJTFRFUl9DSEFOR0UiLGUuU3RyYXRlZ2llc0dyb3VwPSJTVFJBVEVHSUVTX0dST1VQIixlLlN0cmF0ZWd5QWRkUG9zaXRpb25CdXR0b249IlNUUkFURUdZX0FERF9QT1NJVElPTl9CVVRUT04iLGUuU3RyYXRlZ3lBZGp1c3REaXNjbG9zdXJlPSJTVFJBVEVHWV9BREpVU1RfRElTQ0xPU1VSRSIsZS5TdHJhdGVneUNoYXJ0RXJyb3I9IlNUUkFURUdZX0NIQVJUX0VSUk9SIixlLlN0cmF0ZWd5Q2hhcnRTaGFyaW5nPSJTVFJBVEVHWV9DSEFSVF9TSEFSSU5HIixlLlN0cmF0ZWd5RmluZGVyQ3JlYXRlU3RyYXRlZ3k9IlNUUkFURUdZX0ZJTkRFUl9DUkVBVEVfU1RSQVRFR1kiLGUuU3RyYXRlZ3lMaXN0U2V0dGluZ3NCdXR0b249IlNUUkFURUdZX0xJU1RfU0VUVElOR1NfQlVUVE9OIixlLlN0cmF0ZWd5TW9kUG9zaXRpb25DaGFpbj0iU1RSQVRFR1lfTU9EX1BPU0lUSU9OX0NIQUlOIixlLlN0cmF0ZWd5TW9kUG9zaXRpb25FeHA9IlNUUkFURUdZX01PRF9QT1NJVElPTl9FWFAiLGUuU3RyYXRlZ3lOYW1lRGlzY2xvc3VyZT0iU1RSQVRFR1lfTkFNRV9ESVNDTE9TVVJFIixlLlN0cmF0ZWd5U2V0dGluZ3NEaXNjbG9zdXJlPSJTVFJBVEVHWV9TRVRUSU5HU19ESVNDTE9TVVJFIixlLlN0cmF0ZWd5U2hhcmU9IlNUUkFURUdZX1NIQVJFIixlLlN0cmF0ZWd5VmlzaWJpbGl0eUJ1dHRvbj0iU1RSQVRFR1lfVklTSUJJTElUWV9CVVRUT04iLGUuU3ltYm9sU2VhcmNoRGlhbG9nPSJTWU1CT0xfU0VBUkNIX0RJQUxPRyIsZS5TeW5jT3ZlcmxheUNoYXJ0PSJTWU5DX09WRVJMQVlfQ0hBUlQiLGUuVmlzaXRTaGFyZWRTdHJhdGVneT0iVklTSVRfU0hBUkVEX1NUUkFURUdZIixlLlZvbGF0aWxpdHlTZWxlY3RTZXJpZXM9IlZPTEFUSUxJVFlfU0VMRUNUX1NFUklFUyIsZS5XaGF0SWZTY2VuYXJpb0FkZD0iV0hBVF9JRl9TQ0VOQVJJT19BREQiLGUuV2hhdElmU2NlbmFyaW9EZWxldGU9IldIQVRfSUZfU0NFTkFSSU9fREVMRVRFIixlLldoYXRJZlNjZW5hcmlvRWRpdD0iV0hBVF9JRl9TQ0VOQVJJT19FRElUIixlLldoYXRJZlNjZW5hcmlvU2VsZWN0PSJXSEFUX0lGX1NDRU5BUklPX1NFTEVDVCJ9KG49ZS5FbGVtZW50fHwoZS5FbGVtZW50PXt9KSl9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7bGV0IHQ7IWZ1bmN0aW9uKGUpe2UuRmF2b3JpdGVTdGF0ZT0iZmF2b3JpdGUgc3RhdGUiLGUuUmVtb3ZlRnJvbUZhdm9yaXRlcz0icmVtb3ZlIGZyb20gZmF2b3JpdGVzIixlLkFkZFRvRmF2b3JpdGVzPSJhZGQgdG8gZmF2b3JpdGVzIixlLk9wZW5EcmF3ZXI9Im9wZW4gZHJhd2VyIixlLkNsb3NlRHJhd2VyPSJjbG9zZSBkcmF3ZXIiLGUuT3BlblNwbGl0Vmlldz0ib3BlbiBzcGxpdCB2aWV3IixlLkNsb3NlU3BsaXRWaWV3PSJjbG9zZSBzcGxpdCB2aWV3IixlLk1vdmVTcGxpdFYxPSJtb3ZlX3NwbGl0X3YxIixlLk1vdmVTcGxpdFYyPSJtb3ZlX3NwbGl0X3YyIixlLk1vdmVPdmVybGF5VjE9Im1vdmVfb3ZlcmxheV92MSIsZS5Nb3ZlT3ZlcmxheVYyPSJtb3ZlX292ZXJsYXlfdjIifSh0PWUuQWN0aW9uVHlwZXx8KGUuQWN0aW9uVHlwZT17fSkpfShjfHwoYz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLkNsaWNrPSJjbGljayIsZS5TaG93PSJzaG93In0odD1lLlR5cGV8fChlLlR5cGU9e30pKX0odXx8KHU9e30pKX0sOTY0MzYxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0FkYXB0aXZlUG9wdXBEaWFsb2c6KCk9Pnd9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDEzODYzOCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDkzMDIzMSksaT1uKDIzNTcyNCksYz1uKDk2OTE2OCksdT1uKDMzNzM2MiksZD1uKDcyMTM2OSksbT1uKDU4NTgyMSkscD1uKDIzMTEzMyksaD1uKDYwOTUyOCksZj1uKDQwNjExMCksUz1uKDQ5MDg5MyksZz1uKDk3MTUxMikseT1uKDYwMzYxMiksYj1uKDE3OTc3MSksdj1uKDExMzc1NyksXz1uKDk2NDU5NCksRT1uKDM0NTExNiksQz1uKDE1MDE1MCksVD1uKDEyOTY4MCk7Y29uc3QgeD17dmVydGljYWw6MjB9LEk9e3ZlcnRpY2FsOjB9O2NsYXNzIHcgZXh0ZW5kcyByLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NvbnRyb2xsZXI9bnVsbCwKdGhpcy5fcmVmZXJlbmNlPW51bGwsdGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5PW51bGwsdGhpcy5fZW1iZWRSZXNpemVyT3ZlcnJpZGVzRW5hYmxlZD0oMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpLHRoaXMuX3RpdGxlSWQ9YHRpdGxlXyR7KDAsQy5yYW5kb21IYXNoKSgpfWAsdGhpcy5fcmVuZGVyQ2hpbGRyZW49KGUsdCk9Pih0aGlzLl9jb250cm9sbGVyPWUsdGhpcy5wcm9wcy5yZW5kZXIoe3JlcXVlc3RSZXNpemU6dGhpcy5fcmVxdWVzdFJlc2l6ZSxjZW50ZXJBbmRGaXQ6dGhpcy5fY2VudGVyQW5kRml0LGlzU21hbGxXaWR0aDp0fSkpLHRoaXMuX2hhbmRsZVJlZmVyZW5jZT1lPT50aGlzLl9yZWZlcmVuY2U9ZSx0aGlzLl9oYW5kbGVDbG9zZUJ0bkNsaWNrPSgpPT57dGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UmJnRoaXMucHJvcHMub25LZXlib2FyZENsb3NlKCksdGhpcy5faGFuZGxlQ2xvc2UoKX0sdGhpcy5faGFuZGxlQ2xvc2U9KCk9Pnt0aGlzLnByb3BzLm9uQ2xvc2UoKX0sdGhpcy5faGFuZGxlT3Blbj0oKT0+e3ZvaWQgMCE9PXRoaXMucHJvcHMub25PcGVuJiZ0aGlzLnByb3BzLmlzT3BlbmVkJiZ0aGlzLnByb3BzLm9uT3Blbih0aGlzLnByb3BzLmZ1bGxTY3JlZW58fHdpbmRvdy5tYXRjaE1lZGlhKGguRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwpLm1hdGNoZXMpfSx0aGlzLl9oYW5kbGVLZXlEb3duPWU9PntpZighZS5kZWZhdWx0UHJldmVudGVkKXtpZih0aGlzLnByb3BzLm9uS2V5RG93biYmdGhpcy5wcm9wcy5vbktleURvd24oZSksMjc9PT0oMCxpLmhhc2hGcm9tRXZlbnQpKGUpKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKHRoaXMucHJvcHMuZm9yY2VDbG9zZU9uRXNjJiZ0aGlzLnByb3BzLmZvcmNlQ2xvc2VPbkVzYygpKXJldHVybiB0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSYmdGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UoKSx2b2lkIHRoaXMuX2hhbmRsZUNsb3NlKCk7Y29uc3R7YWN0aXZlRWxlbWVudDpufT1kb2N1bWVudDtpZihudWxsIT09bil7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCJ0cnVlIj09PSh0PW4pLmdldEF0dHJpYnV0ZSgiZGF0YS1oYXNwb3B1cCIpJiYidHJ1ZSIhPT10LmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpKXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUNsb3NlKCk7Y29uc3Qgcj10aGlzLl9yZWZlcmVuY2U7aWYobnVsbCE9PXImJigwLGQuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKSlyZXR1cm4gdm9pZCByLmZvY3VzKCk7aWYocj8uY29udGFpbnMobikpcmV0dXJuIHRoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHZvaWQgdGhpcy5faGFuZGxlQ2xvc2UoKX19dmFyIHQ7KGZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKXJldHVybiBlKCk7cmV0dXJuIEJvb2xlYW4oZSl9KSh0aGlzLnByb3BzLmRpc2FibGVUYWJOYXZpZ2F0aW9uQ29udGFpbm1lbnQpfHwoMCxnLmNvbnRhaW5UYWJOYXZpZ2F0aW9uKShlKX19LHRoaXMuX3JlcXVlc3RSZXNpemU9KCk9PntudWxsIT09dGhpcy5fY29udHJvbGxlciYmdGhpcy5fY29udHJvbGxlci5yZWNhbGN1bGF0ZUJvdW5kcygpfSx0aGlzLl9jZW50ZXJBbmRGaXQ9KCk9PntudWxsIT09dGhpcy5fY29udHJvbGxlciYmdGhpcy5fY29udHJvbGxlci5jZW50ZXJBbmRGaXQoKX0sdGhpcy5fY2FsY3VsYXRlUG9zaXRpb25XaXRoT2Zmc2V0cz0oZSx0KT0+e2NvbnN0IG49KDAsby5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cykudmFsdWUoKTtpZih0aGlzLl9lbWJlZFJlc2l6ZXJPdmVycmlkZXNFbmFibGVkKXtjb25zdCBlPXUuRW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlci5nZXRJbnN0YW5jZSgpLmRhdGEoKTtlJiYobi50b3A9ZS50b3Asbi5ib3R0b209dC5jbGllbnRIZWlnaHQtZS5oZWlnaHQpfXJldHVybnt0b3A6bi50b3AsbGVmdDooMCxjLmlzUnRsKSgpPy1uLnJpZ2h0Om4ubGVmdCx3aWR0aDp0LmNsaWVudFdpZHRoLW4ubGVmdC1uLnJpZ2h0LGhlaWdodDp0LmNsaWVudEhlaWdodC1uLnRvcC1uLmJvdHRvbX19fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5wcm9wcy5pZ25vcmVDbG9zZVBvcHVwc0FuZERpYWxvZ3x8Yi5zdWJzY3JpYmUoeS5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCx0aGlzLl9oYW5kbGVDbG9zZSxudWxsKSx0aGlzLl9oYW5kbGVPcGVuKCksdm9pZCAwIT09dGhpcy5wcm9wcy5vbk9wZW4mJih0aGlzLl9vcmllbnRhdGlvbk1lZGlhUXVlcnk9d2luZG93Lm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogcG9ydHJhaXQpIiksdGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlT3BlbikpLHRoaXMucHJvcHMuZnVsbFNjcmVlblZpZXdPZmZzZXRzJiZ0aGlzLnByb3BzLmZ1bGxTY3JlZW4mJnRoaXMucHJvcHMuZnVsbFNjcmVlblZpZXdPZmZzZXRzLnN1YnNjcmliZSh0aGlzLl9yZXF1ZXN0UmVzaXplKTtjb25zdHtiYWNrZHJvcDplLGRyYWdnYWJsZTp0PSFlLGNlbnRlck9uUmVzaXplOm49IXR9PXRoaXMucHJvcHM7biYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2VudGVyQW5kRml0KX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMucHJvcHMuaWdub3JlQ2xvc2VQb3B1cHNBbmREaWFsb2d8fGIudW5zdWJzY3JpYmUoeS5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCx0aGlzLl9oYW5kbGVDbG9zZSxudWxsKSxudWxsIT09dGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5JiZ0aGlzLl9vcmllbnRhdGlvbk1lZGlhUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVPcGVuKSx0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cyYmdGhpcy5wcm9wcy5mdWxsU2NyZWVuJiZ0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cy51bnN1YnNjcmliZSh0aGlzLl9yZXF1ZXN0UmVzaXplKSwKd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2VudGVyQW5kRml0KX1mb2N1cygpeygwLG8uZW5zdXJlTm90TnVsbCkodGhpcy5fcmVmZXJlbmNlKS5mb2N1cygpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fcmVmZXJlbmNlfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9yZWZlcmVuY2U/LmNvbnRhaW5zKGUpPz8hMX1yZW5kZXIoKXtjb25zdHtjbGFzc05hbWU6ZSx3cmFwcGVyQ2xhc3NOYW1lOnQsaGVhZGVyQ2xhc3NOYW1lOm4saXNPcGVuZWQ6byx0aXRsZTpsLHRpdGxlVGV4dFdyYXA6cyx0aXRsZUNsYXNzTmFtZTppLGRhdGFOYW1lOmMsZGF0YVFhSWQ6dSxvbkNsaWNrT3V0c2lkZTpkLG9uQ2xpY2tCYWNrZHJvcDpnLGFkZGl0aW9uYWxFbGVtZW50UG9zOnksYWRkaXRpb25hbEhlYWRlckVsZW1lbnQ6YixiYWNrZHJvcDpDLHNob3VsZEZvcmNlRm9jdXM6dz0hMCxzaG91bGRSZXR1cm5Gb2N1czpOLG9uRm9yY2VGb2N1czpSLHNob3dTZXBhcmF0b3I6QSxzdWJ0aXRsZTpMLGRyYWdnYWJsZTprPSFDLGZ1bGxTY3JlZW46Tz0hMSxzaG93Q2xvc2VJY29uOk09ITAscm91bmRlZDpEPSEwLGlzQW5pbWF0aW9uRW5hYmxlZDpQLGdyb3dQb2ludDpGLGRpYWxvZ1Rvb2x0aXA6Qix1bnNldEhlYWRlckFsaWduOkgsb25EcmFnU3RhcnQ6VSxkYXRhRGlhbG9nTmFtZTpXLGNsb3NlQXJpYUxhYmVsOlYsY29udGFpbmVyQXJpYUxhYmVsOkcscmVmZXJlbmNlOlEsY29udGFpbmVyVGFiSW5kZXg6eixjbG9zZUJ1dHRvblJlZmVyZW5jZTokLG9uQ2xvc2VCdXR0b25LZXlEb3duOnEsc2hhZG93ZWQ6SyxmdWxsU2NyZWVuVmlld09mZnNldHM6WSxvbkNsaWNrOlgscmVuZGVyQ2xvc2VCdXR0b246aix0aXRsZVdyYXBDbGFzc05hbWU6WixhZGRSaWdodFNoYWRvdzpKPSEwfT10aGlzLnByb3BzLGVlPXRoaXMucHJvcHMuZml4ZWRCb2R5Pz8oISFDfHx2b2lkIDApLHRlPSJhZnRlciIhPT15P2I6dm9pZCAwLG5lPSJhZnRlciI9PT15P2I6dm9pZCAwLHJlPSJzdHJpbmciPT10eXBlb2YgbD9sOld8fCIiLG9lPSgwLEUuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSxsZT0oMCxfLm1lcmdlUmVmcykoW3RoaXMuX2hhbmRsZVJlZmVyZW5jZSxRXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChmLk1hdGNoTWVkaWEse3J1bGU6aC5EaWFsb2dCcmVha3BvaW50cy5TbWFsbEhlaWdodH0sKHk9PnIuY3JlYXRlRWxlbWVudChmLk1hdGNoTWVkaWEse3J1bGU6aC5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGg9PnIuY3JlYXRlRWxlbWVudChtLlBvcHVwRGlhbG9nLHtyb3VuZGVkOiEoaHx8TykmJkQsY2xhc3NOYW1lOmEoKShULmRpYWxvZyxPJiZZJiZKJiZULmJvdW5kZWQsZSksaXNPcGVuZWQ6byxyZWZlcmVuY2U6bGUsb25LZXlEb3duOnRoaXMuX2hhbmRsZUtleURvd24sb25DbGlja091dHNpZGU6ZCxvbkNsaWNrQmFja2Ryb3A6Zz8/ZCxmdWxsc2NyZWVuOmh8fE8sZ3VhcmQ6eT9JOngsYm91bmRCeVNjcmVlbjpofHxPLHNob3VsZEZvcmNlRm9jdXM6dyxvbkZvcmNlRm9jdXM6UixzaG91bGRSZXR1cm5Gb2N1czpOLGJhY2tkcm9wOkMsZHJhZ2dhYmxlOmssaXNBbmltYXRpb25FbmFibGVkOlAsZ3Jvd1BvaW50OkYsbmFtZTp0aGlzLnByb3BzLmRhdGFOYW1lLGRpYWxvZ1Rvb2x0aXA6QixvbkRyYWdTdGFydDpVLGNvbnRhaW5lckFyaWFMYWJlbDpHLGNvbnRhaW5lclRhYkluZGV4OnosY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246TyYmWT90aGlzLl9jYWxjdWxhdGVQb3NpdGlvbldpdGhPZmZzZXRzOnZvaWQgMCxzaGFkb3dlZDpLLGZpeGVkQm9keTplZSxvbkNsaWNrOlgsLi4ub2V9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbGxlZGJ5Ijp2b2lkIDAhPT1sP3RoaXMuX3RpdGxlSWQ6dm9pZCAwLGNsYXNzTmFtZTphKCkoVC53cmFwcGVyLHQpLCJkYXRhLW5hbWUiOmMsImRhdGEtcWEtaWQiOnUsImRhdGEtZGlhbG9nLW5hbWUiOnJlfSx2b2lkIDAhPT1sJiZyLmNyZWF0ZUVsZW1lbnQodi5EaWFsb2dIZWFkZXIse2RyYWdnYWJsZTprJiYhKGh8fE8pLG9uQ2xvc2U6dGhpcy5faGFuZGxlQ2xvc2VCdG5DbGljayxyZW5kZXJBZnRlcjpuZSxyZW5kZXJCZWZvcmU6dGUsc3VidGl0bGU6TCx0aXRsZTpsLHRpdGxlSWQ6dGhpcy5fdGl0bGVJZCx0aXRsZVRleHRXcmFwOnMsc2hvd0Nsb3NlSWNvbjpNLGNsYXNzTmFtZTpuLHRpdGxlQ2xhc3NOYW1lOmksdW5zZXRBbGlnbjpILGNsb3NlQXJpYUxhYmVsOlYsY2xvc2VCdXR0b25SZWZlcmVuY2U6JCxvbkNsb3NlQnV0dG9uS2V5RG93bjpxLHJlbmRlckNsb3NlQnV0dG9uOmosdGl0bGVXcmFwQ2xhc3NOYW1lOlp9KSxBJiZyLmNyZWF0ZUVsZW1lbnQocC5TZXBhcmF0b3Ise2NsYXNzTmFtZTpULnNlcGFyYXRvcn0pLHIuY3JlYXRlRWxlbWVudChTLlBvcHVwQ29udGV4dC5Db25zdW1lcixudWxsLChlPT50aGlzLl9yZW5kZXJDaGlsZHJlbihlLGh8fE8pKSkpKSkpKSl9fX0sODY0MTQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpYWxvZ0hlYWRlckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPW4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtzZXRIaWRlQ2xvc2U6KCk9Pnt9fSl9LDExMzc1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtEaWFsb2dIZWFkZXI6KCk9PnV9KTt2YXIgcj1uKDE4NTI3MSksbz1uKDc3OTQ3NCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDMxMjkzMiksaT1uKDg2NDE0NyksYz1uKDQ3MTg4KTtmdW5jdGlvbiB1KGUpewpjb25zdHt0aXRsZUlkOnQsdGl0bGU6bCx0aXRsZVRleHRXcmFwOnU9ITEsdGl0bGVDbGFzc05hbWU6ZCxzdWJ0aXRsZTptLHNob3dDbG9zZUljb246cD0hMCxvbkNsb3NlOmgsb25DbG9zZUJ1dHRvbktleURvd246ZixyZW5kZXJCZWZvcmU6UyxyZW5kZXJBZnRlcjpnLGRyYWdnYWJsZTp5LGNsYXNzTmFtZTpiLHVuc2V0QWxpZ246dixjbG9zZUFyaWFMYWJlbDpfPXIudChudWxsLHZvaWQgMCxuKDU0OTEwKSksY2xvc2VCdXR0b25SZWZlcmVuY2U6RSxkaXNhYmxlRHJhZ09uQ2xvc2VCdXR0b246QyxyZW5kZXJDbG9zZUJ1dHRvbjpULHRpdGxlV3JhcENsYXNzTmFtZTp4LC4uLkl9PWUsW3csTl09KDAsby51c2VTdGF0ZSkoITEpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5EaWFsb2dIZWFkZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7c2V0SGlkZUNsb3NlOk59fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLkksY2xhc3NOYW1lOmEoKShjLmNvbnRhaW5lcixiLChtfHx2KSYmYy51bnNldEFsaWduKX0sUyxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOnQsY2xhc3NOYW1lOmEoKShjLnRpdGxlLHgpLCJkYXRhLWRyYWdnLWFyZWEiOnl9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKSh1P2MudGV4dFdyYXA6Yy5lbGxpcHNpcyxkKX0sbCksbSYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGMuZWxsaXBzaXMsYy5zdWJ0aXRsZSl9LG0pKSxnLHAmJiF3JiYoVD9UKHtjbG9zZUFyaWFMYWJlbDpfLG9uQ2xvc2U6aCxvbkNsb3NlQnV0dG9uS2V5RG93bjpmLGRpc2FibGVEcmFnT25DbG9zZUJ1dHRvbjpDfSk6by5jcmVhdGVFbGVtZW50KHMuQ2xvc2VCdXR0b24seyJkYXRhLWRpc2FibGUtZHJhZyI6QyxjbGFzc05hbWU6Yy5jbG9zZSwiZGF0YS1xYS1pZCI6ImNsb3NlIixhcmlhTGFiZWw6XyxvbkNsaWNrOmgsb25LZXlEb3duOmYscmVmOkUsc2l6ZToibWVkaXVtIixwcmVzZXJ2ZVBhZGRpbmdzOiEwfSkpKSl9fSwzNjY1OTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGlhbG9nU2VhcmNoOigpPT5kfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9bigxODUyNzEpLHM9bigyNzMzMTApLGk9big5MjAwMyksYz1uKDc3ODI3NSksdT1uKDUzMDA2MCk7ZnVuY3Rpb24gZChlKXtjb25zdHtjaGlsZHJlbjp0LGlzTW9iaWxlOm8scmVuZGVySW5wdXQ6ZCxvbkNhbmNlbDpwLGNvbnRhaW5lckNsYXNzTmFtZTpoLGlucHV0Q29udGFpbmVyQ2xhc3NOYW1lOmYsaWNvbkNsYXNzTmFtZTpTLGNhbmNlbFRpdGxlOmc9YS50KG51bGwsdm9pZCAwLG4oNzQzNTYzKSksLi4ueX09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKHUuY29udGFpbmVyLG8mJnUubW9iaWxlLGgpfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodS5pbnB1dENvbnRhaW5lcixvJiZ1Lm1vYmlsZSxmLHAmJnUud2l0aENhbmNlbCl9LGR8fHIuY3JlYXRlRWxlbWVudChtLHtpc01vYmlsZTpvLC4uLnl9KSksdCxyLmNyZWF0ZUVsZW1lbnQocy5JY29uLHtjbGFzc05hbWU6bCgpKHUuaWNvbixvJiZ1Lm1vYmlsZSxTKSxpY29uOm8/YzppfSkscCYmKCFvfHwiIiE9PXkudmFsdWUpJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodS5jYW5jZWwsbyYmdS5tb2JpbGUpLG9uQ2xpY2s6cH0sZykpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7Y2xhc3NOYW1lOnQscmVmZXJlbmNlOm4saXNNb2JpbGU6byx2YWx1ZTphLG9uQ2hhbmdlOnMsb25Gb2N1czppLG9uQmx1cjpjLG9uS2V5RG93bjpkLG9uU2VsZWN0Om0scGxhY2Vob2xkZXI6cCxhY3RpdmVEZXNjZW5kYW50OmgsLi4uZn09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLmYscmVmOm4sdHlwZToidGV4dCIsY2xhc3NOYW1lOmwoKSh0LHUuaW5wdXQsbyYmdS5tb2JpbGUpLGF1dG9Db21wbGV0ZToib2ZmIixyb2xlOiJzZWFyY2hib3giLCJkYXRhLXJvbGUiOiJzZWFyY2giLCJkYXRhLXFhLWlkIjoiZGlhbG9nLXNlYXJjaC1pbnB1dCIscGxhY2Vob2xkZXI6cCx2YWx1ZTphLG9uQ2hhbmdlOnMsb25Gb2N1czppLG9uQmx1cjpjLG9uU2VsZWN0Om0sb25LZXlEb3duOmQsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6aH0pfX0sMTc3NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtPdmVybGF5U2Nyb2xsV3JhcHBlcjooKT0+dX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oNTk4MjMpLHM9bigyMTA3NjQpLGk9bigzMDU0NzQpLGM9bigzNDMwNjYpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7Y2hpbGRyZW46dCxjbGFzc05hbWU6bix3cmFwcGVyQ2xhc3NOYW1lOm8scmVmZXJlbmNlOnUsaGFzQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb246ZCxzY3JvbGxDb250YWluZXJSZWY6bSxpc0ZvcmNlVmlzaWJsZTpwLHRhYkluZGV4OmgsLi4uZn09ZSxbUyxnLHksYl09KDAscy51c2VPdmVybGF5U2Nyb2xsKShtLGQpO3JldHVybigwLGkudXNlQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb24pKHtzY3JvbGxDb250YWluZXJSZWY6ZD95OnZvaWQgMH0pLCgwLHIudXNlSW1wZXJhdGl2ZUhhbmRsZSkodSwoKCk9Pih7dXBkYXRlU2Nyb2xsU3RhdGU6Yn0pKSksci5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5mLC4uLmcsY2xhc3NOYW1lOmwoKShjLmNvbnRhaW5lcixuKX0sci5jcmVhdGVFbGVtZW50KGEuT3ZlcmxheVNjcm9sbENvbnRhaW5lcix7Li4uUyx2aXNpYmxlOnA/P1MudmlzaWJsZSxjbGFzc05hbWU6Yy5vdmVybGF5U2Nyb2xsV3JhcH0pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShjLndyYXBwZXIsbyksdGFiSW5kZXg6aCxyZWY6eSxvblNjcm9sbDpifSx0KSl9fSw3MjA2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VhcmNoSW5wdXQ6KCk9PnB9KTt2YXIgcj1uKDE4NTI3MSksbz1uKDc3OTQ3NCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDI3MzMxMCksaT1uKDMxMjI5NSksYz1uKDQ1Mzc4MiksdT1uKDUyNjcxKSxkPW4oNTc2NDkzKSxtPW4oODY5MzIwKTtmdW5jdGlvbiBwKGUpewpjb25zdHtjbGFzc05hbWU6dCxyZWZlcmVuY2U6bCxvblJlc2V0OnAsaW5wdXRDbGFzc05hbWU6aCxlbmRTbG90OmYsaXNNb2JpbGU6UyxzaG93Q2xlYXJBbHdheXM6ZywuLi55fT1lLGI9Z3x8Qm9vbGVhbihsLmN1cnJlbnQ/LnZhbHVlKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKG0uaW5wdXRDb250YWluZXIsdCl9LG8uY3JlYXRlRWxlbWVudChzLkljb24se2NsYXNzTmFtZTptLnNlYXJjaElucHV0SWNvbixpY29uOnV9KSxvLmNyZWF0ZUVsZW1lbnQoImlucHV0Iix7Li4ueSxjbGFzc05hbWU6YSgpKG0uc2VhcmNoLGgpLHJlZjpsLHJvbGU6InNlYXJjaGJveCIsdHlwZToidGV4dCIsYXV0b0NvbXBsZXRlOiJvZmYifSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bS5hY3Rpb25zfSxiJiZwJiZvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudChpLkljb25CdXR0b24se29uQ2xpY2s6cCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoiY2xlYXJfc2VhcmNoIn0sbigyMDY5NDgpKSxpY29uOmR9KSksIVMmJmYmJmImJm8uY3JlYXRlRWxlbWVudChjLkRpdmlkZXIse2NsYXNzTmFtZTptLmRpdmlkZXIsc2l6ZToieHNtYWxsIixvcmllbnRhdGlvbjoidmVydGljYWwifSksIVMmJmYpKX19LDU3NzEwOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xMb2dvOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pO3ZhciBhPW4oOTg2Mjc1KSxzPW4oNjIwMzU0KSxpPW4oNDQ4NjQ1KSxjPW4oMjQ0ODIwKTtmdW5jdGlvbiB1KGUpe2NvbnN0e3BsYWNlaG9sZGVyOnQsY2xhc3NOYW1lOm4sc2l6ZTpvPSJ4c21hbGwifT1lLHU9ZnVuY3Rpb24oZSl7cmV0dXJuImxvZ28iaW4gZX0oZSk/ZS5sb2dvOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5sb2dvPz9udWxsO2lmKCF0KXtpZigibG9nb2lkImluIGUmJmUubG9nb2lkKXJldHVybntzdHlsZToic2luZ2xlIixsb2dvaWQ6ZS5sb2dvaWR9O2NvbnN0IHQ9ImN1cnJlbmN5LWxvZ29pZCJpbiBlP2VbImN1cnJlbmN5LWxvZ29pZCJdOm51bGwsbj0iYmFzZS1jdXJyZW5jeS1sb2dvaWQiaW4gZT9lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdOm51bGw7aWYodCYmbilyZXR1cm57c3R5bGU6InBhaXIiLGxvZ29pZDpuLGxvZ29pZDI6dH07aWYodHx8bilyZXR1cm57c3R5bGU6InNpbmdsZSIsbG9nb2lkOnQ/P259fXJldHVybiB0fSh7bG9nb2lkOmUubG9nb0lkLCJjdXJyZW5jeS1sb2dvaWQiOmUuY3VycmVuY3lMb2dvSWQsImJhc2UtY3VycmVuY3ktbG9nb2lkIjplLmJhc2VDdXJyZW5jeUxvZ29JZH0pLGQ9KDAsci51c2VNZW1vKSgoKCk9PnU/KDAsYS5yZW1vdmVVc2RGcm9tQ3J5cHRvUGFpckxvZ29zKSgoMCxhLnJlc29sdmVMb2dvVXJsc0Zyb21Mb2dvRGF0YSkodSxzLkxvZ29TaXplLk1lZGl1bSkpOltdKSxbdV0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaS5DYWNoZWRMb2dvLHtrZXk6byxjbGFzc05hbWU6bCgpKGMubG9nbyxuKSx1cmwxOmRbMF0sdXJsMjpkWzFdLHBsYWNlaG9sZGVyTGV0dGVyOnQsc2l6ZTpvfSl9fSwzNzc3ODkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RmxhZ1NyYzooKT0+c30pO3ZhciByPW4oMTM4NjM4KSxvPW4oODYyMjEzKSxsPW4oNjQ3NjE0KTtjb25zdCBhPW8uTG9nb1NpemUuTWVkaXVtO2Z1bmN0aW9uIHMoe2NvdW50cnk6ZSxwcm92aWRlcklkOnQsc291cmNlSWQ6bixzb3VyY2VMb2dvSWQ6c30pe2NvbnN0IGk9KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7cmV0dXJuIG89Pntjb25zdCBjPVt7dmFsdWU6cyxyZXNvbHZlOmU9PmkuZ2V0U3ltYm9sTG9nb1VybChlLGEpfSx7dmFsdWU6bixyZXNvbHZlOmU9PmkuZ2V0U291cmNlTG9nb1VybChlLGEpfSx7dmFsdWU6ZSxyZXNvbHZlOmU9PmkuZ2V0Q291bnRyeUZsYWdVcmwoZS50b1VwcGVyQ2FzZSgpLGEpfSx7dmFsdWU6dCxyZXNvbHZlOmU9PmkuZ2V0UHJvdmlkZXJMb2dvVXJsKGUsYSl9XS5maW5kKCgoe3ZhbHVlOmV9KT0+dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCkpO3JldHVybiB2b2lkIDAhPT1jP2MucmVzb2x2ZSgoMCxyLmVuc3VyZURlZmluZWQpKGMudmFsdWUpKTooMCxsLmdldE1vY2tlZEZsYWcpKG8pfX19LDkyMzIzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hGbGFnOigpPT5kfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big2NDc2MTQpLHM9bigxMDY5MDApLGk9bigyMDA2NjYpLGM9bigzNzc3ODkpLHU9big0MjE2NTApO2Z1bmN0aW9uIGQoZSl7Y29uc3R7Y291bnRyeTp0LHRvb2x0aXA6bixwcm92aWRlcklkOm8sc291cmNlSWQ6ZCxzb3VyY2VMb2dvSWQ6bSxjbGFzc05hbWU6cH09ZSxoPSgwLHMudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6aS53YXRjaGVkVGhlbWV9KSxbZixTXT0oMCxyLnVzZVN0YXRlKSgoMCxjLmdldEZsYWdTcmMpKHtjb3VudHJ5OnQscHJvdmlkZXJJZDpvLHNvdXJjZUlkOmQsc291cmNlTG9nb0lkOm19KShoKSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiaW1nIix7Y2xhc3NOYW1lOmwoKShwLCJhcHBseS1jb21tb24tdG9vbHRpcCIsdS5pY29uKSxjcm9zc09yaWdpbjoiIiwiZGF0YS10b29sdGlwIjpuLHNyYzpmLG9uRXJyb3I6ZnVuY3Rpb24oKXtTKCgwLGEuZ2V0TW9ja2VkRmxhZykoaCkpfX0pfX0sNjAzNjEyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5EOigpPT5yLGJyZWFrcG9pbnRMaXN0OigpPT5sfSk7Y29uc3Qgcj0iQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQiO3ZhciBvOyFmdW5jdGlvbihlKXtlW2UuTW9iaWxlPTBdPSJNb2JpbGUiLGVbZS5UYWJsZXRTbWFsbD00ODBdPSJUYWJsZXRTbWFsbCIsZVtlLlRhYmxldD03NjhdPSJUYWJsZXQiLGVbZS5UYWJsZXRMYXJnZT0xMDI0XT0iVGFibGV0TGFyZ2UiLGVbZS5EZXNrdG9wU21hbGw9MTI4MF09IkRlc2t0b3BTbWFsbCIsZVtlLkRlc2t0b3A9MTQ0MF09IkRlc2t0b3AiLAplW2UuRGVza3RvcExhcmdlPTE5MjBdPSJEZXNrdG9wTGFyZ2UifShvfHwobz17fSkpO2NvbnN0IGw9Nzk3OTU9PW4uaj9bMTkyMCwxNDQwLDEyODAsMTAyNCw3NjgsNDgwLDBdOm51bGx9LDkyNjE1MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVJdGVtSWQ6KCk9PnMsdXNlU291cmNlc0tleWJvYXJkTmF2aWdhdGlvbjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMjM1NzI0KSxsPW4oOTgzNjE2KTtmdW5jdGlvbiBhKGUsdCxuKXtjb25zdFthLGldPSgwLHIudXNlU3RhdGUpKG51bGwpLFtjLHVdPSgwLHIudXNlU3RhdGUpKCIiKTtmdW5jdGlvbiBkKHQpe2NvbnN0IG49ZVt0Lmdyb3VwSW5kZXhdLnNvdXJjZXNbdC5jb2xdLmxlbmd0aC0xO2lmKHQucm93PT09bil7Y29uc3QgZT1oKHQuZ3JvdXBJbmRleCsxKTtpZihudWxsPT09ZSlyZXR1cm47cmV0dXJuIHQuY29sPjAmJiFwKHsuLi50LGdyb3VwSW5kZXg6ZSxyb3c6MH0pP3ZvaWQgaSh7Z3JvdXBJbmRleDplLGNvbDowLHJvdzowfSk6dm9pZCBpKHsuLi50LGdyb3VwSW5kZXg6ZSxyb3c6MH0pfWkoey4uLnQscm93OnQucm93KzF9KX1mdW5jdGlvbiBtKHQpe2lmKDA9PT10LnJvdyl7Y29uc3Qgbj1oKHQuZ3JvdXBJbmRleC0xLC0xKTtpZihudWxsPT09bilyZXR1cm47Y29uc3Qgcj1lW25dLnNvdXJjZXNbdC5jb2xdPy5sZW5ndGg/PzA7cmV0dXJuIDA9PT1yP3ZvaWQgaSh7Z3JvdXBJbmRleDpuLGNvbDowLHJvdzowfSk6dm9pZCBpKHsuLi50LGdyb3VwSW5kZXg6bixyb3c6ci0xfSl9aSh7Li4udCxyb3c6dC5yb3ctMX0pfWZ1bmN0aW9uIHAodCl7cmV0dXJuIEJvb2xlYW4oZVt0Lmdyb3VwSW5kZXhdPy5zb3VyY2VzW3QuY29sXT8uW3Qucm93XSl9ZnVuY3Rpb24gaCh0PTAsbj0xKXtjb25zdCByPWUubGVuZ3RoO2xldCBvPSh0K3IpJXI7Zm9yKDshcCh7Z3JvdXBJbmRleDpvLGNvbDowLHJvdzowfSk7KWlmKG89KG8rbityKSVyLG89PT10KXJldHVybiBudWxsO3JldHVybiBvfXJldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PntpZighbi5jdXJyZW50KXJldHVybjtpZighYSlyZXR1cm4gdm9pZCB1KCIiKTtjb25zdCBlPXMoYS5ncm91cEluZGV4LGEuY29sLGEucm93KSx0PW4uY3VycmVudC5xdWVyeVNlbGVjdG9yKGAjJHtlfWApO3Q/LnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KSx1KGUpfSksW2FdKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT57aShudWxsKX0pLFt0XSkse2ZvY3VzZWRJdGVtOmEsYWN0aXZlRGVzY2VuZGFudDpjLGhhbmRsZUtleURvd246ZnVuY3Rpb24ocil7aWYoIW4uY3VycmVudClyZXR1cm47Y29uc3QgYz0oMCxvLmhhc2hGcm9tRXZlbnQpKHIpO2lmKDMyPT09Y3x8MTM9PT1jKXtpZighYSlyZXR1cm47ci5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9bi5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3MoYS5ncm91cEluZGV4LGEuY29sLGEucm93KX1gKTtyZXR1cm4gdm9pZChlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuY2xpY2soKSl9c3dpdGNoKCgwLGwubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShjKSl7Y2FzZSJibG9ja05leHQiOmlmKHIucHJldmVudERlZmF1bHQoKSwhYSl7Y29uc3QgZT1oKCk7aWYobnVsbD09PWUpYnJlYWs7aSh7Z3JvdXBJbmRleDplLGNvbDowLHJvdzowfSk7YnJlYWt9ZChhKTticmVhaztjYXNlImJsb2NrUHJldiI6aWYoci5wcmV2ZW50RGVmYXVsdCgpLCFhKWJyZWFrO20oYSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0Ijp7aWYoIWF8fHQpYnJlYWs7ci5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IG49ZVthLmdyb3VwSW5kZXhdLnNvdXJjZXMubGVuZ3RoO2lmKGEuY29sPT09bi0xfHwhcCh7Li4uYSxjb2w6YS5jb2wrMX0pKXtkKHsuLi5hLGNvbDowfSk7YnJlYWt9aSh7Li4uYSxjb2w6YS5jb2wrMX0pO2JyZWFrfWNhc2UiaW5saW5lUHJldiI6e2lmKCFhfHx0KWJyZWFrO3IucHJldmVudERlZmF1bHQoKTtjb25zdCBuPWVbYS5ncm91cEluZGV4XS5zb3VyY2VzLmxlbmd0aDtpZigwPT09YS5jb2wpe2lmKDAhPT1hLnJvdyl7bSh7Li4uYSxjb2w6bi0xfSk7YnJlYWt9Y29uc3QgdD1oKGEuZ3JvdXBJbmRleC0xLC0xKTtpZihudWxsPT09dClicmVhaztjb25zdCByPWVbdF0uc291cmNlcy5sZW5ndGgsbz1lW3RdLnNvdXJjZXNbMF0ubGVuZ3RoO2lmKCFwKHtncm91cEluZGV4OnQsY29sOnItMSxyb3c6by0xfSkpe20oYSk7YnJlYWt9aSh7Z3JvdXBJbmRleDp0LGNvbDpyLTEscm93Om8tMX0pO2JyZWFrfWkoey4uLmEsY29sOmEuY29sLTF9KTticmVha319fSxyZXNldEZvY3VzZWRJdGVtOigpPT5pKG51bGwpfX1mdW5jdGlvbiBzKGUsdCxuKXtyZXR1cm5gc291cmNlLWl0ZW0tJHtlfS0ke3R9LSR7bn1gfX0sNzI2ODI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0hpbnRSZWZlcmVuY2VhYmxlOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big5NjQ1OTQpLHM9big0Nzk5MjApLGk9big1MDI3MTEpLGM9big1MjA5NzcpO2NvbnN0IHU9ci5mb3J3YXJkUmVmKCgoZSx0KT0+ewpjb25zdHt0aGVtZTpvLHBsYWNlSG9sZGVyQ2xhc3NOYW1lOnMsc21hbGxQbGFjZUhvbGRlckNsYXNzTmFtZTp1LHNldHRpbmdzSGludEtleTptLHBsYWNlbWVudDpwLG9uQ2xpY2s6aCxyZWZlcmVuY2U6ZixidXR0b25UZXh0OlMsY2xvc2VCdXR0b246ZyxoaWRlQnV0dG9uOnksb25DbG9zZTpiLHRleHQ6dix0aXRsZTpfLG9uQWRkaXRpb25hbENsaWNrOkUsYWRkaXRpb25hbEJ1dHRvblRleHQ6QyxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOlQsZXNjYXBlV2l0aFJlZmVyZW5jZTp4LG92ZXJmbG93UGFkZGluZzpJLGJvdW5kYXJpZXNFbGVtZW50OncsaGludFN0YXRlSGFuZGxlcjpOPWkuZGVmYXVsdEhpbnRTdGF0ZUhhbmRsZXIsY29udGFpbmVyQ2xhc3NOYW1lOlIsaGlkZVdpdGhSZWZlcmVuY2U6QT0hMSxlbmFibGVGbGlwOkw9ITAsZm9yY2VTaG93T25Jbml0Omssb25PcGVuZWRTdGF0ZUNoYW5nZWQ6Tyxmb3JjZUhpZGU6TSxwbGFjZUhvbGRlclN0eWxlOkQsYnV0dG9uU2l6ZTpQLHNhdmVIaW50U3RhdGVCeUNsaWNrOkY9ITAsc2F2ZUhpbnRTdGF0ZUJ5QWRkaXRpb25hbENsaWNrOkI9ITAsb25CdXR0b25Gb2N1czpILGJ1dHRvbkRhdGFOYW1lOlUsaXNBcnJvd0hpZGRlbjpXPSExfT1lLFY9KDAsci51c2VSZWYpKG51bGwpLFtHLFFdPSgwLHIudXNlU3RhdGUpKG51bGwpLFt6LCRdPSgwLHIudXNlU3RhdGUpKCgoKT0+Ti5nZXRIaW50U3RhdGUobSxrKSkpLFtxLEtdPSgwLHIudXNlU3RhdGUpKCExKSxbWSxYXT0oMCxyLnVzZVN0YXRlKShCb29sZWFuKE0pKSxqPSgwLHIudXNlUmVmKShudWxsKSxaPSgwLHIudXNlUmVmKShudWxsKSxKPSgwLHIudXNlUmVmKShudWxsKSxlZT0oMCxyLnVzZVJlZikobnVsbCksdGU9KDAsci51c2VNZW1vKSgoKCk9Pih7Y2xvc2UoZT0hMSl7JCghMSksZSYmTi5zZXRIaW50U3RhdGUobSl9LGdldFBvcHBlclJlZjooKT0+aixnZXRQbGFjZWhvbGRlclJlZjooKT0+SixnZXRCdXR0b25SZWY6KCk9PmVlLHVwZGF0ZTooKT0+Wi5jdXJyZW50Py51cGRhdGUoKX0pKSxbTl0pO2lmKCgwLHIudXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PnRlKSxbdGVdKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT4oeiYmKFYuY3VycmVudD1uLmUoNjI5NDMpLnRoZW4obi5iaW5kKG4sNjg0NzQwKSksVi5jdXJyZW50LnRoZW4oKGU9PntWLmN1cnJlbnQmJlEoZSl9KSkpLCgpPT57Vi5jdXJyZW50PW51bGx9KSksW10pLCgwLHIudXNlRWZmZWN0KSgoKCk9PntudWxsIT09ai5jdXJyZW50JiYoai5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHM9WT8ibm9uZSI6IiIpfSksW1ldKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT5YKEJvb2xlYW4oTSkpKSxbTV0pLCgwLHIudXNlRWZmZWN0KSgoKCk9Pk8/LihCb29sZWFuKHopKSksW3pdKSx6JiZHKXtjb25zdHtNYW5hZ2VyOmUsUmVmZXJlbmNlOnQsUG9wcGVyOm59PUc7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChlLG51bGwsci5jcmVhdGVFbGVtZW50KHQsbnVsbCwoZT0+ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTpELHJlZjooMCxhLm1lcmdlUmVmcykoW2UucmVmLEpdKSxjbGFzc05hbWU6bCgpKGMucGxhY2VIb2xkZXIscyxxJiZ1KX0pKSksci5jcmVhdGVFbGVtZW50KG4se2lubmVyUmVmOmoscGxhY2VtZW50OnAsc3RyYXRlZ3k6ImZpeGVkIixtb2RpZmllcnM6W3tuYW1lOiJvZmZzZXQiLG9wdGlvbnM6e29mZnNldDpbMCw1XX19LHtuYW1lOiJwcmV2ZW50T3ZlcmZsb3ciLG9wdGlvbnM6e3Jvb3RCb3VuZGFyeTp3fHwidmlld3BvcnQiLGFsdEJvdW5kYXJ5Onh8fCExLHBhZGRpbmc6SX19LHtuYW1lOiJmbGlwIixlbmFibGVkOkwsb3B0aW9uczp7ZmFsbGJhY2tQbGFjZW1lbnRzOlsibGVmdCIsImJvdHRvbSJdfX0se25hbWU6ImhpZGVXaXRoUmVmZXJlbmNlIixlbmFibGVkOkEscGhhc2U6Im1haW4iLGZuOmU9Pntjb25zdHtzdGF0ZTp0fT1lLG49Qm9vbGVhbih0Lm1vZGlmaWVyc0RhdGEuaGlkZT8uaXNSZWZlcmVuY2VIaWRkZW4pO1khPT1uJiZYKG4pfX1dfSwoZT0+KFouY3VycmVudD1lLHIuY3JlYXRlRWxlbWVudChkLHtzZXRTbWFsbFNpemU6Syx0ZXh0OnYsYnV0dG9uVGV4dDpTLHJlZmVyZW5jZTpmLHBvcHBlckNoaWxkcmVuUHJvcHM6ZSx0aXRsZTpfLHRoZW1lOm8sYXJyb3dDbGFzc05hbWU6bCgpKChXfHxZKSYmYy5oaWRkZW4pLGNvbnRhaW5lckNsYXNzTmFtZTpsKCkoUixZJiZjLmhpZGRlbiksb25DbGljazp5P3ZvaWQgMDpuZSxidXR0b25TaXplOlAsb25BZGRpdGlvbmFsQ2xpY2s6cmUsYWRkaXRpb25hbEJ1dHRvblRleHQ6QyxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOlQsYnV0dG9uUmVmZXJlbmNlOmVlLG9uQnV0dG9uRm9jdXM6SCxidXR0b25EYXRhTmFtZTpVLG9uQ2xvc2U6eT9uZTpnP29lOnZvaWQgMH0pKSkpKX1yZXR1cm4gbnVsbDtmdW5jdGlvbiBuZSgpe3RlLmNsb3NlKEYpLGgmJmgoKX1mdW5jdGlvbiByZSgpe3RlLmNsb3NlKEIpLEUmJkUoKX1mdW5jdGlvbiBvZSgpe2NvbnN0e3NhdmVIaW50U3RhdGVCeU9uQ2xvc2U6dD0hMX09ZTt0ZS5jbG9zZSh0KSxiJiZiKCl9fSkpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7c2V0U21hbGxTaXplOnQscG9wcGVyQ2hpbGRyZW5Qcm9wczpuLC4uLm99PWU7cmV0dXJuKDAsci51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e3Qobi5wbGFjZW1lbnQmJm4ucGxhY2VtZW50LnN0YXJ0c1dpdGgoImJvdHRvbSIpKX0pLFt0LG5dKSxyLmNyZWF0ZUVsZW1lbnQocy5IaW50V2l6YXJkLHsuLi5vLHBvcHBlckNoaWxkcmVuUHJvcHM6bn0pfX0sNTAyNzExKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHRIaW50U3RhdGVIYW5kbGVyOigpPT5vfSk7dmFyIHI9big5MzA1NjYpO2NvbnN0IG89e2dldEhpbnRTdGF0ZTooZSx0KT0+e2lmKCFlfHx0KXJldHVybiEwO2NvbnN0IG49ci5nZXRCb29sKGUpO3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZCYmKG58fHZvaWQgMD09PW4pfSxzZXRIaW50U3RhdGU6ZT0+e2UmJnIuc2V0VmFsdWUoZSwhMSx7Zm9yY2VGbHVzaDohMH0pfX19LDQ3OTkyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX0hJTlRfVEhFTUU6KCk9PnUsCkhpbnRXaXphcmQ6KCk9PmR9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDE4NTI3MSksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDY5MjI2NiksaT1uKDg1NDgyMCksYz1uKDQzNTEwMSk7Y29uc3QgdT03OTc5NT09bi5qP2M6bnVsbDtmdW5jdGlvbiBkKGUpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6dCxvbkNsaWNrOmwscmVmZXJlbmNlOnUsdGV4dDpkLGJ1dHRvblRleHQ6bSxhZGRpdGlvbmFsQnV0dG9uVGV4dDpwLG9uQWRkaXRpb25hbENsaWNrOmgsdGl0bGU6Zix0aGVtZTpTPWMsY29udGFpbmVyQ2xhc3NOYW1lOmcsYXJyb3dDbGFzc05hbWU6eSxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOmIsb25DbG9zZTp2LGJ1dHRvblNpemU6Xz0ieHNtYWxsIixidXR0b25SZWZlcmVuY2U6RSxvbkJ1dHRvbkZvY3VzOkMsYnV0dG9uRGF0YU5hbWU6VH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHMuVG9vbHRpcFdpemFyZCx7cmVmZXJlbmNlOnUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LGNvbnRhaW5lckNsYXNzTmFtZTpnLGFycm93Q2xhc3NOYW1lOnksb25DbG9zZTp2LHJvbGU6ImhpbnQifSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpTLndyYXBwZXJ9LGYmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlMudGl0bGV9LGYpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlMudGV4dH0sZCksci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Uy5idXR0b25zfSxoJiZwJiZyLmNyZWF0ZUVsZW1lbnQoaS5MaWdodEJ1dHRvbix7dmFyaWFudDoiZ2hvc3QiLGNvbG9yOiJncmF5IixjbGFzc05hbWU6YSgpKFMuYWRkaXRpb25hbEJ1dHRvbixiKSxzaXplOl8sb25DbGljazpofSxwKSxsJiZyLmNyZWF0ZUVsZW1lbnQoaS5MaWdodEJ1dHRvbix7ZGF0YVFhSWQ6VCxvbkZvY3VzOkMscmVmZXJlbmNlOkUsdmFyaWFudDoicHJpbWFyeSIsY29sb3I6ImdyYXkiLGNsYXNzTmFtZTpTLmJ1dHRvbixzaXplOl8sb25DbGljazpsfSxtfHxvLnQobnVsbCx2b2lkIDAsbig0MDIzMjQpKSkpKSl9fSwzMDU0NzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb246KCk9Pml9KTt2YXIgcixvLGw9big3Nzk0NzQpLGE9bigxMzg2MzgpLHM9big5MjU5ODUpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7c2Nyb2xsQ29udGFpbmVyUmVmOnR9PWU7Yyh7c2Nyb2xsQ29udGFpbmVyUmVmOnQsZGlyZWN0aW9uOjB9KSxjKHtzY3JvbGxDb250YWluZXJSZWY6dCxkaXJlY3Rpb246MX0pfWZ1bmN0aW9uIGMoZSl7Y29uc3R7c2Nyb2xsQ29udGFpbmVyUmVmOnQsZGlyZWN0aW9uOm59PWUscj0oMCxsLnVzZVJlZikobnVsbCksbz0oMCxsLnVzZVJlZikobnVsbCkscz0oMCxsLnVzZVJlZikodSgpKSxpPSgwLGwudXNlUmVmKSghMSksYz0oMCxsLnVzZVJlZikoe3g6MCx5OjB9KTtmdW5jdGlvbiBkKGUpe3JldHVybiAwPT09bj9lLnRvdWNoZXNbMF0uY2xpZW50WTplLnRvdWNoZXNbMF0uY2xpZW50WH1mdW5jdGlvbiBtKGUpe3JldHVybiAwPT09bj9lLnNjcm9sbFRvcDplLnNjcm9sbExlZnR9ZnVuY3Rpb24gcChlLHQpezA9PT1uP2Uuc2Nyb2xsVG9wPXQ6ZS5zY3JvbGxMZWZ0PXR9ZnVuY3Rpb24gaChlKXtyZXR1cm4gMD09PW4/ZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQ6ZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRofWZ1bmN0aW9uIGYoZSl7Y29uc3Qgbj0oMCxhLmVuc3VyZU5vdE51bGwpKCgwLGEuZW5zdXJlRGVmaW5lZCkodCkuY3VycmVudCk7aS5jdXJyZW50PTA9PT1oKG4pLGkuY3VycmVudHx8KHIuY3VycmVudD1kKGUpLGMuY3VycmVudD17eDplLnRvdWNoZXNbMF0uY2xpZW50WCx5OmUudG91Y2hlc1swXS5jbGllbnRZfSxzLmN1cnJlbnQ9dSgpKX1mdW5jdGlvbiBTKGUpe2lmKGkuY3VycmVudClyZXR1cm47aWYoZnVuY3Rpb24oZSl7Y29uc3QgdD1NYXRoLmF0YW4yKGUudG91Y2hlc1swXS5jbGllbnRZLWMuY3VycmVudC55LGUudG91Y2hlc1swXS5jbGllbnRYLWMuY3VycmVudC54KSxuPU1hdGguYWJzKHQpO3JldHVybiBuPk1hdGguUEkvNCYmbjwzKk1hdGguUEkvND8wOjF9KGUpIT09bilyZXR1cm4gdm9pZChpLmN1cnJlbnQ9ITApO2UucHJldmVudERlZmF1bHQoKTtjb25zdCBvPSgwLGEuZW5zdXJlTm90TnVsbCkoKDAsYS5lbnN1cmVEZWZpbmVkKSh0KS5jdXJyZW50KSxsPWQoZSksdT1sLSgwLGEuZW5zdXJlTm90TnVsbCkoci5jdXJyZW50KTtwKG8sbShvKS11KSxyLmN1cnJlbnQ9bDtjb25zdCBoPXBlcmZvcm1hbmNlLm5vdygpOygwLGEuZW5zdXJlTm90TnVsbCkocy5jdXJyZW50KS5hZGRQb3NpdGlvbihtKG8pLGgpfWZ1bmN0aW9uIGcoKXtpZihpLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGU9cGVyZm9ybWFuY2Uubm93KCksbj0oMCxhLmVuc3VyZU5vdE51bGwpKCgwLGEuZW5zdXJlRGVmaW5lZCkodCkuY3VycmVudCk7cy5jdXJyZW50LnN0YXJ0KG0obiksZSkscy5jdXJyZW50LmZpbmlzaGVkKGUpfHwoby5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSh5KSksci5jdXJyZW50PW51bGx9ZnVuY3Rpb24geShlKXtpZihzLmN1cnJlbnQuZmluaXNoZWQoZSkpcmV0dXJuIHZvaWQgYigpO2NvbnN0IG49KDAsYS5lbnN1cmVOb3ROdWxsKSgoMCxhLmVuc3VyZURlZmluZWQpKHQpLmN1cnJlbnQpLHI9cy5jdXJyZW50LmdldFBvc2l0aW9uKGUpO3AobixyKSxyPD0wfHxoKG4pPD1yP2IoKTpvLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHkpfWZ1bmN0aW9uIGIoKXtvLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKG8uY3VycmVudCl9KDAsbC51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9dD8uY3VycmVudDtyZXR1cm4gZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZiksZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixTKSxlPy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZyksZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLGcpLCgpPT57ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZiksZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixTKSwKZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGcpLGU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIixnKX19KSxbdCxuXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+KCk9PmIoKSksW10pfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbmV3IHMuS2luZXRpY0FuaW1hdGlvbiguMiw3LC45OTcsMTUpfSFmdW5jdGlvbihlKXtlW2UuVmVydGljYWw9MF09IlZlcnRpY2FsIixlW2UuSG9yaXpvbnRhbD0xXT0iSG9yaXpvbnRhbCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1pblNjcm9sbFNwZWVkPS4yXT0iTWluU2Nyb2xsU3BlZWQiLGVbZS5NYXhTY3JvbGxTcGVlZD03XT0iTWF4U2Nyb2xsU3BlZWQiLGVbZS5EdW1waW5nQ29lZmY9Ljk5N109IkR1bXBpbmdDb2VmZiIsZVtlLlNjcm9sbE1pbk1vdmU9MTVdPSJTY3JvbGxNaW5Nb3ZlIn0ob3x8KG89e30pKX0sMTM4OTk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb25RdWVzdGlvbkluZm9ybWF0aW9uOigpPT5wLEljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uOigpPT5mLEljb25RdWVzdGlvbkluZm9ybWF0aW9uTGluazooKT0+aH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oMTE5NzUwKSxzPW4oODY1MDkyKSxpPW4oMzQ0Nzg1KSxjPW4oMTk4MjA5KSx1PW4ubihjKTtmdW5jdGlvbiBkKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixkKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixkKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsZCksKDAsaS5oaWRlKSgpfWNvbnN0IG09ZT0+eygwLGkuc2hvd09uRWxlbWVudCkoZS5jdXJyZW50VGFyZ2V0LHt0b29sdGlwRGVsYXk6MH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLGQpfSxwPSgwLHIuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4sb25DbGljazpvPW0sZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6YyxzaXplOmQsLi4ucH09ZSx7dG9vbHRpcDpoLGNsYXNzTmFtZTpmLC4uLlN9PSgwLHMudXNlVG9vbHRpcCkoe3Rvb2x0aXA6ZS50b29sdGlwLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOiExLHNob3dUb29sdGlwOmkuc2hvd09uRWxlbWVudCxoaWRlVG9vbHRpcDppLmhpZGUsb25DbGljazpvfSx0KTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2NsYXNzTmFtZTpsKCkobix1KClbImljb24td3JhcHBlciJdLGgmJnUoKVsid2l0aC10b29sdGlwIl0sZiksdG9vbHRpcDpoLHNpemU6ZCwuLi5wLC4uLlN9KX0pKSxoPSgwLHIuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4saHJlZjpvLHJlbDphLHRhcmdldDpzLC4uLml9PWUsYz0oMCxyLnVzZU1lbW8pKCgoKT0+KDAsci5mb3J3YXJkUmVmKSgoKGUsdCk9PnIuY3JlYXRlRWxlbWVudCgiYSIse2hyZWY6byxyZWw6YSx0YXJnZXQ6cyxyZWY6dCwuLi5lfSkpKSksW28sYSxzXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChwLHsuLi5pLGNsYXNzTmFtZTpsKCkobix1KClbIndpdGgtbGluayJdKSxyZW5kZXJDb21wb25lbnQ6YyxyZWY6dCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDohMH0pfSkpLGY9KDAsci5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6bix3aXRoQWN0aXZlU3RhdGU6bywuLi5hfT1lLHM9KDAsci51c2VNZW1vKSgoKCk9PigwLHIuZm9yd2FyZFJlZikoKChlLHQpPT5yLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLmUscmVmOnQsdHlwZToiYnV0dG9uIn0pKSkpLFtdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHAsey4uLmEsY2xhc3NOYW1lOmwoKShuLCFvJiZ1KClbIm5vLWFjdGl2ZS1zdGF0ZSJdKSxyZW5kZXJDb21wb25lbnQ6cyxyZWY6dH0pfSkpfSwyMzExMzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VwYXJhdG9yOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big4MDYwNzgpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShhLnNlcGFyYXRvcixlLmNsYXNzTmFtZSl9KX19LDM2NDM1MChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZT09PXR9bi5kKHQse2NyZWF0ZVNlbGVjdG9yOigpPT5vfSk7dmFyIG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKW5bci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1BcnJheSh0KSxvPTA7bzx0O28rKylyW29dPWFyZ3VtZW50c1tvXTt2YXIgbD0wLGE9ci5wb3AoKSxzPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZVswXSk/ZVswXTplO2lmKCF0LmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0pKSl7dmFyIG49dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX0pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcigiU2VsZWN0b3IgY3JlYXRvcnMgZXhwZWN0IGFsbCBpbnB1dC1zZWxlY3RvcnMgdG8gYmUgZnVuY3Rpb25zLCBpbnN0ZWFkIHJlY2VpdmVkIHRoZSBmb2xsb3dpbmcgdHlwZXM6IFsiK24rIl0iKX1yZXR1cm4gdH0ociksaT1lLmFwcGx5KHZvaWQgMCxbZnVuY3Rpb24oKXtyZXR1cm4gbCsrLGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfV0uY29uY2F0KG4pKSxjPWUoKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9cy5sZW5ndGgsbj0wO248dDtuKyspZS5wdXNoKHNbbl0uYXBwbHkobnVsbCxhcmd1bWVudHMpKTtyZXR1cm4gaS5hcHBseShudWxsLGUpfSkpO3JldHVybiBjLnJlc3VsdEZ1bmM9YSxjLmRlcGVuZGVuY2llcz1zLGMucmVjb21wdXRhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gbH0sCmMucmVzZXRSZWNvbXB1dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBsPTB9LGN9fSgoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnIsbj1udWxsLG89bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe2lmKG51bGw9PT10fHxudWxsPT09bnx8dC5sZW5ndGghPT1uLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHI9dC5sZW5ndGgsbz0wO288cjtvKyspaWYoIWUodFtvXSxuW29dKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxuLGFyZ3VtZW50cyl8fChvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpKSxuPWFyZ3VtZW50cyxvfX0pKX0sNzY5OShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoIWUpcmV0dXJuIiI7aWYoWyJOWVNFIEFSQ0EgJiBNS1QiLCJBTUVYIl0uaW5jbHVkZXMoZSkpcmV0dXJuIk5ZU0UgQXJjYSI7aWYoWyJDYm9lIEJaWCJdLmluY2x1ZGVzKGUpKXJldHVybiJDYm9lIE9uZSI7aWYoWyJGVFNFU1QiXS5pbmNsdWRlcyhlKSlyZXR1cm4iRlRTRSBTVCI7Y29uc3QgdD0vXihDTUV8Q09NRVh8Q0JPVHxOWU1FWClfTUlOSSQvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P3RbMV06ZX1uLmQodCx7cmVkZWZpbmVFeGNoYW5nZU5hbWU6KCk9PnJ9KX0sNDc1MTY0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbztuLnIodCksbi5kKHQse0ZpbHRlclF1ZXJ5UGFyYW06KCk9PnIsU2VhcmNoSW5pdGlhdGlvblBvaW50OigpPT5vLGdldEVtcHR5U2VhcmNoOigpPT5TLGlzRXhwYW5kYWJsZVJlc3VsdDooKT0+Zixpc1N5bWJvbFNlYXJjaFJlc3VsdDooKT0+aCxzZWFyY2hTeW1ib2xzOigpPT5nLHNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQ6KCk9Pnl9KSxmdW5jdGlvbihlKXtlLlNvdXJjZUlkPSJzb3VyY2VfaWQiLGUuRWNvbm9taWNDYXRlZ29yeT0iZWNvbm9taWNfY2F0ZWdvcnkiLGUuU2VhcmNoVHlwZT0ic2VhcmNoX3R5cGUiLGUuU2VjdG9yPSJzZWN0b3IiLGUuUHJvZHVjdD0icHJvZHVjdCIsZS5DZW50cmFsaXphdGlvbj0iY2VudHJhbGl6YXRpb24iLGUuT25seUhhc09wdGlvbnM9Im9ubHlfaGFzX29wdGlvbnMifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuU3ltYm9sU2VhcmNoPSJzeW1ib2xTZWFyY2giLGUuV2F0Y2hsaXN0PSJ3YXRjaGxpc3QiLGUuQ29tcGFyZT0iY29tcGFyZSIsZS5JbmRpY2F0b3JJbnB1dHM9ImluZGljYXRvcklucHV0cyJ9KG98fChvPXt9KSk7dmFyIGwsYSxzPW4oMTM4NjM4KSxpPW4oMTU2ODUwKSxjPW4oOTY2MzY3KSx1PW4oMjM3MzY5KSxkPW4oNjYxODU4KSxtPW4oMTYwMjk2KSxwPW4oMzg0MDE3KTtmdW5jdGlvbiBoKGUpe3JldHVybiBlLmhhc093blByb3BlcnR5KCJleGNoYW5nZSIpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIHZvaWQgMCE9PWUuZ3JvdXBlZF9zeW1ib2xzfHx2b2lkIDAhPT1lLmNvbnRyYWN0c31hc3luYyBmdW5jdGlvbiBTKCl7cmV0dXJue3N5bWJvbHM6W10sc3ltYm9sc19yZW1haW5pbmc6MH19YXN5bmMgZnVuY3Rpb24gZyhlKXtjb25zdCB0PUUoKSxuPWIoZSkscj1gJHt0fT8keygwLGMuY3JlYXRlU2VhcmNoUGFyYW1zKShuKS50b1N0cmluZygpfWAsbz0obmV3IERhdGUpLmdldFRpbWUoKTt0cnl7Y29uc3QgdD1hd2FpdCgwLHAuZmV0Y2gpKHIse3NpZ25hbDplLnNpZ25hbH0pO2lmKCF0Lm9rKXRocm93IGUuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5lcnJvci1yZXNwb25zZSIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9LHN0YXR1c0NvZGU6dC5zdGF0dXMsbWVzc2FnZTooYXdhaXQgdC50ZXh0KCkpLnNsaWNlKDAsMjUwKX19KSxuZXcgRXJyb3IoYCR7dC5zdGF0dXN9OiAke3Quc3RhdHVzVGV4dH1gKTtjb25zdCBuPWF3YWl0IHQuanNvbigpO3JldHVybiBpLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9zZWFyY2hfaHR0cF9zdGF0dXMiLHt2YWx1ZTp0LnN0YXR1c30pLDA9PT1uLmxlbmd0aD9lLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2guZW1wdHktcmVzcG9uc2UiLGxldmVsOiJlcnJvciIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifX19KTplLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2guc3VjY2Vzcy1yZXNwb25zZSIsbGV2ZWw6ImluZm8iLHBheWxvYWQ6e3JlcXVlc3Q6e3VybDpyLG1ldGhvZDoiR0VUIn0sc3ltYm9sc0NvdW50Om4ubGVuZ3RofX0pLG59Y2F0Y2godCl7dGhyb3cgaS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfc2VhcmNoX2h0dHBfZXJyb3IiKSxlLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2gubmV0d29yay1lcnJvciIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9LG1lc3NhZ2U6KDAsdS5nZXRMb2dnZXJNZXNzYWdlKSh0KX19KSx0fWZpbmFsbHl7dihvKX19YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCB0PUUoITApLG49YihlKSxyPWAke3R9PyR7KDAsYy5jcmVhdGVTZWFyY2hQYXJhbXMpKGUub3ZlcnJpZGVRdWVyeVBhcmFtcz9lLm92ZXJyaWRlUXVlcnlQYXJhbXMobixlLnR5cGUpOm4pLnRvU3RyaW5nKCl9YCxvPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3RyeXtjb25zdCB0PWF3YWl0KDAscC5mZXRjaCkocix7c2lnbmFsOmUuc2lnbmFsfSk7aWYoIXQub2spdGhyb3cgZS5zZXJ2ZXJMb2dnZXI/LmxvZyh7YWN0aW9uOiJzeW1ib2wtc2VhcmNoLmVycm9yLXJlc3BvbnNlIixsZXZlbDoiZXJyb3IiLHBheWxvYWQ6e3JlcXVlc3Q6e3VybDpyLG1ldGhvZDoiR0VUIn0sc3RhdHVzQ29kZTp0LnN0YXR1cyxtZXNzYWdlOihhd2FpdCB0LnRleHQoKSkuc2xpY2UoMCwyNTApfX0pLG5ldyBFcnJvcihgJHt0LnN0YXR1c306ICR7dC5zdGF0dXNUZXh0fWApO2NvbnN0IG49YXdhaXQgdC5qc29uKCk7cmV0dXJuIGkudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3NlYXJjaF9odHRwX3N0YXR1cyIse3ZhbHVlOnQuc3RhdHVzfSksCjA9PT1uLnN5bWJvbHMubGVuZ3RoP2Uuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5lbXB0eS1yZXNwb25zZSIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9fX0pOmUuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5zdWNjZXNzLXJlc3BvbnNlIixsZXZlbDoiaW5mbyIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifSxzeW1ib2xzQ291bnQ6bi5zeW1ib2xzLmxlbmd0aH19KSxufWNhdGNoKHQpe3Rocm93IGkudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3NlYXJjaF9odHRwX2Vycm9yIiksZS5zZXJ2ZXJMb2dnZXI/LmxvZyh7YWN0aW9uOiJzeW1ib2wtc2VhcmNoLm5ldHdvcmstZXJyb3IiLGxldmVsOiJlcnJvciIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifSxtZXNzYWdlOigwLHUuZ2V0TG9nZ2VyTWVzc2FnZSkodCl9fSksdH1maW5hbGx5e3Yobyl9fWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD17fTt2b2lkIDAhPT1lLnRleHQmJih0LnRleHQ9ZS50ZXh0KSx2b2lkIDAhPT1lLmJyb2tlclN5bWJvbHMmJih0LmJyb2tlcl9zeW1ib2xzPWUuYnJva2VyU3ltYm9scy5zb3J0KCkuam9pbigiLCIpKSx2b2lkIDAhPT1lLnNlcnZlckhpZ2hsaWdodCYmKHQuaGw9ZS5zZXJ2ZXJIaWdobGlnaHQ/IjEiOiIwIiksdm9pZCAwIT09ZS5leGNoYW5nZSYmKHQuZXhjaGFuZ2U9ZS5leGNoYW5nZSksdm9pZCAwIT09ZS5jb3VudHJ5JiYodC5jb3VudHJ5PWUuY291bnRyeSksZS5zdHJpY3RNYXRjaCYmKHQuc3RyaWN0PSIxIiksZS5ub0xpbWl0cyYmKHQubm9fbGltaXRzPSIxIiksdm9pZCAwIT09ZS5sYW5nJiYodC5sYW5nPWUubGFuZyk7Y29uc3R7dHlwZTpufT1lO3ZhciByO3ZvaWQgMCE9PW4mJih0LnNlYXJjaF90eXBlPShyPW4sKDAscy5lbnN1cmVEZWZpbmVkKShDLmdldChyKSkpKSx2b2lkIDAhPT1lLnN0YXJ0JiYodC5zdGFydD1lLnN0YXJ0KTtjb25zdHtmaWx0ZXJRdWVyeVBhcmFtczpvfT1lO3JldHVybiB2b2lkIDAhPT1vJiZPYmplY3Qua2V5cyhvKS5mb3JFYWNoKChlPT57Y29uc3Qgbj1vW2VdO24mJih0W2VdPW4pfSkpLHdpbmRvdy5TU19ET01BSU5fUEFSQU1FVEVSJiYodC5kb21haW49d2luZG93LlNTX0RPTUFJTl9QQVJBTUVURVIpLGUuYWNjb3VudEZpbHRlcklkJiZlLmlzRXh0ZXJuYWw/dC5hZGRpdGlvbmFsX2ZpbHRlcj1gdHJhZGluZy8ke2UuYWNjb3VudEZpbHRlcklkfWA6KGUuYnJva2VySWR8fGUuYWNjb3VudEZpbHRlcklkKSYmKHQuYnJva2VyPWUuYnJva2VySWQ/LnRvTG93ZXJDYXNlKCl8fGUuYWNjb3VudEZpbHRlcklkPy50b0xvd2VyQ2FzZSgpLChlLmJyb2tlcklkJiZlLm9ubHlUcmFkYWJsZXx8ZS5hY2NvdW50RmlsdGVySWQmJmUub25seUFjY291bnRUcmFkYWJsZSkmJih0LnRyYWRhYmxlPSIxIiksZS51bmhpZGVTeW1ib2xTZWFyY2hHcm91cHMmJih0LnVuaGlkZT1lLnVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwcykpLGUuZW5hYmxlR3JvdXBpbmcmJih0LmVuYWJsZV9ncm91cGluZz1lLmVuYWJsZUdyb3VwaW5nKSxlLnNvcnRCeUNvdW50cnkmJih0LnNvcnRfYnlfY291bnRyeT1lLnNvcnRCeUNvdW50cnkpLHQucHJvbW89ITAsdH1mdW5jdGlvbiB2KGUpe2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCktZTtpLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9zZWFyY2hfdGltZV9mcmFtZSIse3ZhbHVlOnR9KX0hZnVuY3Rpb24oZSl7ZVtlLlByb2Q9MF09IlByb2QiLGVbZS5Mb2NhbD0xXT0iTG9jYWwifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2VbZS5QYWdpbmF0ZWQ9MF09IlBhZ2luYXRlZCIsZVtlLk5vTGltaXQ9MV09Ik5vTGltaXQifShhfHwoYT17fSkpO2NvbnN0IF89ezA6ezA6Ii9zeW1ib2xfc2VhcmNoL3YzLyIsMToiL3N5bWJvbF9zZWFyY2gvIn0sMTp7MDoiL2xvY2FsX3NlYXJjaC92My8iLDE6Ii9sb2NhbF9zZWFyY2gvIn19O2Z1bmN0aW9uIEUoZSl7bGV0IHQ9Imh0dHBzOi8vIit3aW5kb3cuU1NfSE9TVDtjb25zdCBuPSgwLG0uaXNQcm9kKSgpPzA6MTtyZXR1cm4gdCs9X1tuXVtlPzA6MV0sd2luZG93LlNTX1VSTCYmKHQ9d2luZG93LlNTX1VSTCksdH1jb25zdCBDPW5ldyBNYXAoZC5tYXAoKCh7dmFsdWU6ZSxzZWFyY2hfdHlwZTp0fSk9PltlLHRdKSkpfSw4MjQzNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtWSVNJQkxFX1RZUEVTUEVDUzooKT0+YSxtYXJrZXRUeXBlOigpPT5zfSk7dmFyIHI9bigxNTY4MjkpLG89big3MjY2MDIpO24oODI5MTgwKTtjb25zdCBsPW5ldyBNYXAsYT1uZXcgU2V0KFsiY2ZkIiwic3ByZWFkYmV0IiwiZGVmaSIsInlpZWxkIiwiZ292ZXJubWVudCIsImNvcnBvcmF0ZSIsIm11dHVhbCIsIm1vbmV5IiwiZXRmIiwidW5pdCIsInRydXN0IiwicmVpdCIsImV0biIsImNvbnZlcnRpYmxlIiwiY2xvc2VkZW5kIiwiY3J5cHRvIiwib3JhY2xlIiwibmRmIiwiYWxnb3JpdGhtaWMiXSk7ZnVuY3Rpb24gcyhlLHQ9W10sbj0hMCl7aWYoKDAsci5pc1ByZUlwbykoZSx0KSlyZXR1cm4icHJlLUlQTyI7Y29uc3Qgcz10LmZpbHRlcigoZT0+YS5oYXMoZSkpKSxpPWAke2V9XyR7cy5zb3J0KCkuam9pbigiXyIpfWAsYz1sLmdldChpKTtpZih2b2lkIDAhPT1jKXJldHVybiBjO2NvbnN0IHU9bj8oMCxvLnRyaWVzVHJhbnNsYXRlTWFya2V0VHlwZSkoZSk6ZSxkPUJvb2xlYW4odC5sZW5ndGgpP1t1LC4uLnNdLmpvaW4oIiAiKTp1O3JldHVybiBsLnNldChpLGQpLGR9fSw0MDIzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtmb3JtYXRDYWxlbmRhckRheXNEaWZmOigpPT5hLGdldENhbGVuZGFyRGF5c0RpZmY6KCk9Pm99KTt2YXIgcj1uKDE4NTI3MSk7ZnVuY3Rpb24gbyhlLHQsbil7Y29uc3Qgcj1uZXcgRGF0ZSh0KSxvPW5ldyBEYXRlKGUpLGE9bj8wOjYwKihsKHIpLWwobykpKjFlMztyZXR1cm4gbj8oci5zZXRVVENIb3VycygxMiwwLDAsMCksby5zZXRVVENIb3VycygxMiwwLDAsMCkpOihyLnNldEhvdXJzKDEyLDAsMCwwKSxvLnNldEhvdXJzKDEyLDAsMCwwKSksCihzPShvLmdldFRpbWUoKS1yLmdldFRpbWUoKS1hKS84NjRlNSk8MD9NYXRoLmNlaWwocyk6TWF0aC5mbG9vcihzKTt2YXIgc31mdW5jdGlvbiBsKGUpe3JldHVybiAxNSotTWF0aC5yb3VuZChlLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUpcmV0dXJuIHIudChudWxsLHZvaWQgMCxuKDYxNDQ1MCkpO2lmKDE9PT1lKXJldHVybiByLnQobnVsbCx2b2lkIDAsbig5NDA0ODMpKTtpZigtMT09PWUpcmV0dXJuIHIudChudWxsLHZvaWQgMCxuKDk2NTU3MykpO2NvbnN0IHQ9TWF0aC5hYnMoZSksbz1yLnQobnVsbCx7cGx1cmFsOiIlZCBkYXlzIixjb3VudDp0fSxuKDU1MDI2KSkucmVwbGFjZSgiJWQiLFN0cmluZyh0KSk7cmV0dXJuIGU+MT9yLnQobnVsbCx7Y29udGV4dDoidGltZV9yYW5nZSJ9LG4oNDkwNzQwKSkucmVwbGFjZSgiJXMiLG8pOnIudChudWxsLHtjb250ZXh0OiJ0aW1lX3JhbmdlIn0sbig1MDI2OTIpKS5yZXBsYWNlKCIlcyIsbyl9fSwzMDk4MzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YWRkVXRtVG9Vcmw6KCk9Pm99KTt2YXIgcj1uKDYwMTU4Nyk7ZnVuY3Rpb24gbyhlLHQpe2lmKCEvKFthLXpBLVowLTkuLV0qdHJhZGluZ3ZpZXcuY29tKXxsb2NhbGhvc3QvLnRlc3QoZSkpcmV0dXJuIGU7Y29uc3Qgbj0oMCxyLmJ1aWxkVXRtUXVlcnlTdHJpbmcpKHQpO2lmKCIiPT09bilyZXR1cm4gZTtjb25zdCBvPWUuaW5kZXhPZigiPyIpLGw9ZS5pbmRleE9mKCIjIiksYT0tMSE9PWw7aWYoLTEhPT1vJiYoIWF8fG88bCkpe3JldHVybmAke2Uuc2xpY2UoMCxvKX0/JHthP2Uuc2xpY2UobysxLGwpOmUuc2xpY2UobysxKX0mJHtufSR7YT9lLnNsaWNlKGwpOiIifWB9aWYoYSl7cmV0dXJuYCR7ZS5zbGljZSgwLGwpfT8ke259JHtlLnNsaWNlKGwpfWB9cmV0dXJuYCR7ZX0/JHtufWB9fSw2MDE1ODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YnVpbGRVdG1RdWVyeVN0cmluZzooKT0+cyxidWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtczooKT0+aSxmaWx0ZXJVdG1JbmZvOigpPT5hfSk7dmFyIHI9big0OTI2NzcpLG89big2NDE1OTMpO2NvbnN0IGw9WyJ1dG1fc291cmNlIiwidXRtX21lZGl1bSIsInV0bV9jYW1wYWlnbiJdO2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD17fTtyZXR1cm4gbC5mb3JFYWNoKChuPT57Y29uc3Qgcj1lW25dOyJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yJiYodFtuXT0oMCxvLmh0bWxFc2NhcGUpKHIpKX0pKSx0fWZ1bmN0aW9uIHMoZSx0PSExKXtjb25zdCBuPSgwLHIuY3JlYXRlVXJsUGFyYW1zKShlKTtyZXR1cm4gbiYmdD8iPyIrbjpufWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHMoYSgoMCxyLmdldFVybFBhcmFtcykoKSksZSl9fSwxNjM1NzYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuOTIgMTAuMTcgOSA1LjcxbDUuMDggNC40Ni0xIDEuMTNMOSA3LjcxIDQuOTEgMTEuM2wtLjk5LTEuMTNaIi8+PC9zdmc+J30sMTg2Mzg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy4zNSA1LjM1YS41LjUgMCAwIDAtLjctLjdMOSA4LjI5IDUuMzUgNC42NWEuNS41IDAgMSAwLS43LjdMOC4yOSA5bC0zLjY0IDMuNjVhLjUuNSAwIDAgMCAuNy43TDkgOS43MWwzLjY1IDMuNjRhLjUuNSAwIDAgMCAuNy0uN0w5LjcxIDlsMy42NC0zLjY1eiIvPjwvc3ZnPid9LDU3NjQ5MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTAtOS4wNEw2LjA0IDUgNSA2LjA0IDcuOTYgOSA1IDExLjk2IDYuMDQgMTMgOSAxMC4wNCAxMS45NiAxMyAxMyAxMS45NiAxMC4wNCA5IDEzIDYuMDQgMTEuOTYgNSA5IDcuOTZaIi8+PC9zdmc+J30sNTI2NzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEyLjE4MiA0YTguMTggOC4xOCAwIDAgMSA2LjI5IDEzLjQxMmw1LjUyNiA1LjUyNS0xLjA2IDEuMDYtNS41MjctNS41MjVBOC4xODIgOC4xODIgMCAxIDEgMTIuMTgxIDRtMCAxLjVhNi42ODEgNi42ODEgMCAxIDAgMCAxMy4zNjMgNi42ODEgNi42ODEgMCAwIDAgMC0xMy4zNjMiLz48L3N2Zz4nfSwxNzg0MDcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDExLjVWMTRIM3YtMi41em0tMi4yNS0zLjc1TDE1IDZ2NEgzVjZsMi4yNSAxLjc1TDkgNHoiLz48L3N2Zz4nfSw5MTUwOTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjIiIGQ9Im0xLjUgMS41IDExIDExbTAtMTEtMTEgMTEiIHZlY3Rvci1lZmZlY3Q9Im5vbi1zY2FsaW5nLXN0cm9rZSIvPjwvc3ZnPid9LDU5NDIzMChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMi45MiAxLjkyIDUuODUgOWw3LjA3IDcuMDgtLjg0Ljg0LTcuNS03LjVMNC4xNSA5bC40My0uNDIgNy41LTcuNXoiLz48L3N2Zz4nfSwxNDAzNDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAxMC4wNyAxMS40MyAyMWgxLjE0TDIzIDEwLjA3bC01LjIyLTUuODMtLjU2LS4yNEg2Ljc4bC0uNTYuMjRMMSAxMC4wN1ptMTAuOTYgOC41OC4wNC4wNSA4LjI4LTguNjdMMTYuNjggNmgtNC43MnYxMi42NVoiLz48L3N2Zz4nfSw0MjEwNjcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMS44IDEuOTlMMTUgMTZINWwtLjItLjAxQTIgMiAwIDAgMSAzIDE0LjJMMyAxNGgxYTEgMSAwIDAgMCAxIDFoMTBhMSAxIDAgMCAwIDEtMVY0YTEgMSAwIDAgMC0xLTFINWExIDEgMCAwIDAtMSAxSDNjMC0xLjEuOS0yIDItMnptLTcgOWgxdjFIOHYxSDd2LTFINnYtMWgxdi0xaDF6bTYgMmgtM3YtMWgzek00LjQyIDlsLTIuNjggMy0uNzQtLjY2TDMuMDggOSAxIDYuNjZsLjc1LS42N3pNMTQgMTFoLTN2LTFoM3ptLTEuNS01LjIuOC0uOC43LjctLjguOC44LjgtLjcuNy0uOC0uNzktLjguNzktLjctLjcuNzktLjgtLjc5LS44LjctLjd6TTkgN0g2VjZoM3oiLz48L3N2Zz4nfSw4MzQzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0xLjggMS45OUwxNSAxNkg1bC0uMi0uMDFBMiAyIDAgMCAxIDMgMTQuMkwzIDE0aDFhMSAxIDAgMCAwIDEgMWgxMGExIDEgMCAwIDAgMS0xVjRhMSAxIDAgMCAwLTEtMUg1YTEgMSAwIDAgMC0xIDFIM2MwLTEuMS45LTIgMi0yem0tNyA5aDF2MUg4djFIN3YtMUg2di0xaDF2LTFoMXptNiAyaC0zdi0xaDN6TTQuMjcgNi42NCAyLjMgOWwxLjk3IDIuMzYtLjc3LjY0TDEgOWwyLjUtM3pNMTQgMTFoLTN2LTFoM3ptLTEuNS01LjIuOC0uOC43LjctLjguOC44LjgtLjcuNy0uOC0uNzktLjguNzktLjctLjcuNzktLjgtLjc5LS44LjctLjd6TTkgN0g2VjZoM3oiLz48L3N2Zz4nfSw4MDk0NDQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEzIDEzIiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMi41IDYuNWg5Ii8+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSI3IiBjeT0iMyIgcj0iMSIvPjxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iNyIgY3k9IjEwIiByPSIxIi8+PC9zdmc+J30sOTg5ODk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMy41IDEwVjIuNUwxIDUiLz48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMS41IDEwLjVoNCIvPjxwYXRoIGQ9Ik04IDEybDMtMTEiLz48L2c+PC9zdmc+J30sNzQ5Njk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTIuNSA2LjVoOCIvPjwvc3ZnPid9LDE1NzY4MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTMgMTMiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0zIDEwbDctN00zIDNsNyA3Ii8+PC9zdmc+J30sOTg3NjgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTIuNSA2LjVoOG0tNC00djgiLz48L3N2Zz4nfSwzMDMyMzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEzIDEzIiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMyA3bDMuNS0zLjVMMTAgNyIvPjwvc3ZnPid9LDkyMTcwOChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMi41IDE0LjVjMS42OC0xLjI2IDMuNy0yIDYuNS0yczQuOTEuNzQgNi41IDJtLTEzLTExYzEuNjggMS4yNiAzLjcgMiA2LjUgMnM0LjkxLS43NCA2LjUtMiIvPjxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI5IiBjeT0iOSIgcj0iOC41Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy41IDljMCAyLjQyLS41NSA0LjU4LTEuNCA2LjEyLS44NyAxLjU2LTEuOTggMi4zOC0zLjEgMi4zOHMtMi4yMy0uODItMy4xLTIuMzhjLS44NS0xLjU0LTEuNC0zLjctMS40LTYuMTJzLjU1LTQuNTggMS40LTYuMTJDNi43NyAxLjMyIDcuODguNSA5IC41czIuMjMuODIgMy4xIDIuMzhjLjg1IDEuNTQgMS40IDMuNyAxLjQgNi4xMnoiLz48L3N2Zz4nfSwxNDA4OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSIjQjJCNUJFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMyAzOWEzNiAzNiAwIDAgMSA3MiAwdjEzLjE1bDE1LjEgOC40NCAyLjE2IDEuMi0xLjY0IDEuODYtMTIuODUgMTQuNTkgMy43MyA0LjAzTDk4LjU3IDg1IDk1IDgxLjEzVjExN0g3N3YtMTJINjd2OUg1MFY5NUg0MHYyMkgyM1Y4MS4yOGwtMy44IDMuNjEtMi43Ni0yLjkgNC4wNS0zLjg0LTEyLjc3LTE0LjUtMS42NC0xLjg2IDIuMTYtMS4yTDIzIDUyLjM0VjM5Wm03MiAzNi4zMyAxMC45OC0xMi40Nkw5NSA1Ni43M3YxOC42Wk0yMyA1Ni45MnYxOC4wM0wxMi4zNSA2Mi44NyAyMyA1Ni45MlpNNTkgN2EzMiAzMiAwIDAgMC0zMiAzMnY3NGg5VjkxaDE4djE5aDl2LTloMTh2MTJoMTBWMzlBMzIgMzIgMCAwIDAgNTkgN1ptLTcgMzZhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0xOSAzYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloiLz48L3N2Zz4nfSw0ODc3NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSIjMTMxNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMyAzOWEzNiAzNiAwIDAgMSA3MiAwdjEzLjE1bDE1LjEgOC40NCAyLjE2IDEuMi0xLjY0IDEuODYtMTIuODUgMTQuNTkgMy43MyA0LjAzTDk4LjU3IDg1IDk1IDgxLjEzVjExN0g3N3YtMTJINjd2OUg1MFY5NUg0MHYyMkgyM1Y4MS4yOGwtMy44IDMuNjEtMi43Ni0yLjkgNC4wNS0zLjg0LTEyLjc3LTE0LjUtMS42NC0xLjg2IDIuMTYtMS4yTDIzIDUyLjM0VjM5Wm03MiAzNi4zMyAxMC45OC0xMi40Nkw5NSA1Ni43M3YxOC42Wk0yMyA1Ni45MnYxOC4wM0wxMi4zNSA2Mi44NyAyMyA1Ni45MlpNNTkgN2EzMiAzMiAwIDAgMC0zMiAzMnY3NGg5VjkxaDE4djE5aDl2LTloMTh2MTJoMTBWMzlBMzIgMzIgMCAwIDAgNTkgN1ptLTcgMzZhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0xOSAzYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloiLz48L3N2Zz4nfSwzMTIxNDcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCI+PHBhdGggZD0iTTYwLjkgNi42OGM2LjMuMjggMTEuNjQgMy42NyAxNC4xNyA4LjQ1IDEwLjgzIDIuNzUgMTguMjYgOC4zOSAxOC4yNiAxNC44OXYuNDNjLS4yNiA0Ljg4LTQuNzEgOS4yMy0xMS42MyAxMi4ybDMzLjMgNzAuNjhoLTMuNjdsLTMyLjc4LTY5LjVBNjAgNjAgMCAwIDEgNjAgNDYuNjdhNTggNTggMCAwIDEtMTkuOTMtMy4zbC0zMS40IDY5Ljk2SDVsMzItNzEuMjZjLTYuMTctMi45NC0xMC4wNy03LjA1LTEwLjMtMTEuNjJsLS4wMy0uNDVjMC02LjUgNy40My0xMi4xMyAxOC4yOC0xNC44OCAyLjY3LTUgOC40My04LjQ3IDE1LjEtOC40N1ptNy42IDQ5Ljk5Yy40NiAwIDEgMi4wNi45MiA0LjE2IDEuOC0uMjMgMy42My4yOCA1LjA0IDEuNDJsLjkuNy44Ny4wN2E1LjkgNS45IDAgMCAxIDUuNDQgNS44OHYuNDJhNS44IDUuOCAwIDAgMS0zLjU3IDUuMDFsLTMuNCAxLjQ0di4wNmEzMCAzMCAwIDAgMS0zLjE2IDEwLjk0bDMuMDYgOS04LjkzIDQuMjMtNS40Ni02LjQ2LTQuMTMgMi4xcS0uMzQgMS40Ni0uODggMi44NGwxLjQ3IDUuMy05LjYgNC41NUwzNC45NSA4Ni4zYTMuMzQgMy4zNCAwIDAgMC0xLjA1IDQuMDJsMy43IDguMzMtMy4wNSAxLjM1LTMuNy04LjMzYTYuNjcgNi42NyAwIDAgMSAyLjk4LTguNiAzLjEgMy4xIDAgMCAxIDEuNzQtMi40NGwyMy42Ni0xMS4zLTIuNTYtNS4wNCA2LS43NWExMi43IDEyLjcgMCAwIDAgNS40OC02LjM0cS4xNS0uNTUuMzUtLjUzbTMuODggOC4xOGEzLjMgMy4zIDAgMCAwLTMuODEtLjI1bC0yLjk1IDEuNzgtLjMuMTctLjM0LjA1LTMuMi40IDEuMTcgMi4zMy43OCAxLjU0LTEuNTMuNzMtMjQuOTcgMTEuOTQgMTEuMjMgMjAuNDggNC4yNS0yLjA0LTEuMDQtMy42Ni4zNy0uODljLjg1LTIuMTUgMS4zLTQuNDUgMS4zLTYuNzZ2LTRoMy4zM3Y0bC0uMDIuOTUgNC40Mi0yLjI1IDUuNSA2LjUxIDMuOTEtMS44Ni0yLjU2LTcuNTQuNDEtLjhhMjcgMjcgMCAwIDAgMy4wNS0xMC4xNmwuMS0xLjA2LjA5LTEgLjkxLS4zOCA0LjMyLTEuODFhMi41NiAyLjU2IDAgMCAwLS44Mi00LjkybC0xLjQtLjEyLS41LS4wMy0uNDEtLjMzWm0tMjguOC00NS44OWE0MCA0MCAwIDAgMC01LjY2IDIuMjRDMzIuMjUgMjQuMDQgMzAgMjcuMzcgMzAgMzAuMDJzMi4yNSA1Ljk2IDcuOTIgOC44QzQzLjQgNDEuNTUgNTEuMiA0My4zMyA2MCA0My4zM3MxNi42LTEuNzggMjIuMDgtNC41MUM4Ny43NSAzNS45OCA5MCAzMi42NyA5MCAzMHMtMi4yNS01Ljk2LTcuOTItOC44MmEzNyAzNyAwIDAgMC01LjY2LTIuMjJxLjI1IDEuMjMuMjUgMi41YzAgMy41NC00LjQgOC41NC0xNi42MiA4LjU0LTUtLjA3LTE2LjcyLTEuMzctMTYuNzItOC41cTAtMS4zLjI1LTIuNTRNNjAgMzVhMS42NyAxLjY3IDAgMSAxIDAgMy4zM0ExLjY3IDEuNjcgMCAwIDEgNjAgMzVtLTIxLjY3LTYuNjdhMS42NyAxLjY3IDAgMSAxIDAgMy4zNCAxLjY3IDEuNjcgMCAwIDEgMC0zLjM0bTQzLjM0IDBhMS42NyAxLjY3IDAgMSAxIDAgMy4zMyAxLjY3IDEuNjcgMCAwIDEgMC0zLjMzTTYwLjA1IDEwYy03Ljc4IDAtMTMuMzggNS41LTEzLjM4IDExLjUgMCAuMy4zMyAxLjU0IDIuNjYgMi44NyAyLjIgMS4yNiA1Ljc3IDIuMyAxMC43MiAyLjMgNS42OCAwIDkuMTYtMS4xNyAxMS4wOC0yLjQyIDEuOTUtMS4yNSAyLjItMi40MiAyLjItMi43NSAwLTYtNS41My0xMS41LTEzLjI4LTExLjUiIHN0eWxlPSJmaWxsOiNkYmRiZGIiLz48L3N2Zz4nfSwzNjU0NihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik02MC4wNSA4YzcuMTIgMCAxMy4xNyAzLjU5IDE1LjcgOC42OEM4Ni4wMiAxOS4zMiA5MyAyNC40OCA5MyAzMC40YzAgNC43My00LjQ0IDguOTYtMTEuNDYgMTEuODFMMTE2IDExMmgtNC40NEw3Ny43NSA0My41NkE2MiA2MiAwIDAgMSA2MCA0NmE2MSA2MSAwIDAgMS0xOS4xNi0yLjlMOS40IDExMkg1bDMyLjExLTcwLjM2QzMwLjg4IDM4LjgxIDI3IDM0LjgzIDI3IDMwLjQxYzAtNS45MyA2Ljk4LTExLjEgMTcuMjctMTMuNzRDNDYuODIgMTEuNTggNTIuOTIgOCA2MC4wNSA4bTcuODMgNDljLjQ0IDAgLjk3IDIuMDUuODggNC4xMnEuNTEtLjExIDEuMDItLjEyYy45NyAwIDEuOTQuMzIgMi43Ny44OWwxLjEyLjc2IDMuMzQuOTZhNS41MiA1LjUyIDAgMCAxIC43NiAxMC4zMmwtMy4xNCAxLjQ0LS4xOCAyLjAxYTE5IDE5IDAgMCAxLTIuMTcgNy4yNGwtLjcgMS4yOSAyLjQ4IDcuNTMuNTYgMS42OC03LjMyIDMuNDQtLjk4LTEuMjQtNC4zNS01LjQ3LTggMy43NmExNCAxNCAwIDAgMS0uNzIgMS41bC0uMTguMzMgMS45MyA2Ljk4LTcuOCAzLjU4LTExLjcyLTIxLjg4YTUuMSA1LjEgMCAwIDAtLjk0IDUuNzJsMy4wNiA2LjUtMy42MiAxLjY2LTMuMDYtNi40NkE5LjEgOS4xIDAgMCAxIDM0LjEgODIuMWEzLjQgMy40IDAgMCAxIDEuOS0yLjU0bDIzLjItMTAuODktMi4yLTQuODhjMi4xLS4zIDQuMjEtLjYgNi4zNC0uNzZhMTMgMTMgMCAwIDAgNC4yLTUuNXEuMTUtLjUzLjM0LS41Mm0yLjQyIDguMmExIDEgMCAwIDAtMS4wNi0uMDVsLTIuNjMgMS41LS40Ni4yN2gtLjU0Yy0uNzcgMC0xLjc4LjA2LTIuNzQuMTVsMS42NSAzLjUxTDM4LjMgODIuOWwxMC42NSAxOS44NiAxLjItLjU3TDQ5IDk3LjY1bC0uMTktLjc3LjM4LS42OS41Ni0xLjAyQTEwIDEwIDAgMCAwIDUxIDkwLjM0Vjg2aDR2NC43MUw2My4xMyA4N2wuOTkgMS4xMiA0LjM1IDUuNDcgMS4yNC0uNTgtMi4xOS02LjY3LS4yNy0uODEuNC0uNzYgMS4xLTIuMDRhMTUgMTUgMCAwIDAgMS43MS01LjcxbC4zLTMuMTcuMS0xLjE1IDEuMDYtLjQ5IDQuMTktMS45MWExLjUyIDEuNTIgMCAwIDAtLjIxLTIuODRsLTMuNjUtMS4wNi0uMy0uMDktLjI3LS4xOHpNNDMuMDMgMjEuMTdxLTIuNTUuOC00LjY1IDEuOEMzMi43NCAyNS42NCAzMSAyOC41NCAzMSAzMC40YzAgMS44NiAxLjc0IDQuNzUgNy4zNyA3LjQxQzQzLjcgNDAuMzQgNTEuMzQgNDIgNjAgNDJzMTYuMy0xLjY2IDIxLjYzLTQuMThjNS42My0yLjY2IDcuMzctNS41NSA3LjM3LTcuNDFzLTEuNzQtNC43Ny03LjM4LTcuNDNhMzYgMzYgMCAwIDAtNC42NS0xLjhxLjAzLjQuMDMuOGwtLjAxLjNDNzYuNyAyNS41NyA3Mi4xMiAzMCA2MC4wNSAzMCA0OS4yNSAzMCA0My4yIDI1LjkgNDMgMjIuMTV2LS4xOHEwLS40LjAzLS43OU02MCAzNGEyIDIgMCAxIDEgMCA0IDIgMiAwIDAgMSAwLTRtLTIyLTZhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00bTQ0IDBhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00TTYwLjA1IDEyYy03Ljk2IDAtMTMgNS4xMy0xMy4wNSA5LjkyIDAtLjA1LjE2LjgzIDIuMjkgMS45NUM1MS40NiAyNS4wNCA1NS4wNCAyNiA2MC4wNSAyNmM1Ljc4IDAgOS4yNC0xLjEgMTEuMS0yLjIxIDEuNjctMSAxLjgzLTEuOCAxLjg1LTEuODVsLS4wMS0uNDJjLS4zLTQuNjktNS4yNC05LjUyLTEyLjk0LTkuNTIiLz48L3N2Zz4nfSw3NzgyNzUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTguNSAxMi41YTYgNiAwIDEgMS0xMiAwIDYgNiAwIDAgMSAxMiAwWm0tMS4yNSA1LjhhNy41IDcuNSAwIDEgMSAxLjA2LTEuMDZsNC4yMiA0LjIzLjUzLjUzTDIyIDIzLjA2bC0uNTMtLjUzLTQuMjItNC4yMloiLz48L3N2Zz4nfSw5MjAwMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNy40IDE3LjVhNyA3IDAgMSAwLTQuOSAyYzEuOSAwIDMuNjQtLjc2IDQuOS0yem0wIDBsNS4xIDUiLz48L3N2Zz4nfSw3MTcxNDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9bi5wKyJtb2NrLWRhcmsuMTZiNWYzYTQzMWY1MDJiMDNhZTMuc3ZnIn0sNDU4MDU5KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4ucCsibW9jay1saWdodC5kMjAxMzEzMDE3ZWIyYzFiOTg5Zi5zdmcifX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"berthenergy-inc.biz/images/benefit-icon-3.png","fqdn":"berthenergy-inc.biz","domain":"berthenergy-inc.biz","tld":"biz"},"ip":{"addr":"178.32.82.179","port":443,"asn":16276,"as":"OVH SAS","country":"France","country_code":"FR"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://berthenergy-inc.biz/","date":"2026-07-27T04:01:15.247Z","timestamp":1785124875247,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P384-SHA384","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.berthenergy-inc.biz","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 08 Jun 2026 05:40:35 GMT","end":"Sun, 06 Sep 2026 05:40:34 GMT"},"fingerprint":{"sha1":"0E:1E:CE:E2:36:3E:CD:14:AD:21:59:32:34:4F:73:6F:09:CE:CB:2B","sha256":"4D:1B:07:6C:D8:B1:AC:BB:D2:80:45:18:CE:5B:02:77:B5:52:63:BD:9D:68:CC:F4:85:99:B8:23:7B:3F:05:2F"}}},"request":{"raw":"GET /images/benefit-icon-3.png HTTP/1.1\r\nHost: berthenergy-inc.biz\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://berthenergy-inc.biz/\r\nCookie: PHPSESSID=b01e85924b98011c47b0c565ada27c29\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 04:01:15 GMT\r\ncontent-type: image/png\r\ncontent-length: 8718\r\nlast-modified: Thu, 26 Mar 2026 23:45:28 GMT\r\netag: \"69c5c518-220e\"\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":8718,"size_decoded":8943,"mime_type":"image/png","magic":"PNG image data, 125 x 125, 8-bit/color RGBA, non-interlaced","md5":"331cad481d0d91a9e80c656357a2dda5","sha1":"698c22ce3093e6b384de0e5754aa5be7d82260fc","sha256":"a0c897297ee0a505b5367ae03c0d5f393511b507dee18b7d1f570005b1210a85","sha512":"0d898d34777a78f96588d19dbe91dce1219f2cef117bbe280a513c7e5fb3a57920cf374b31465c8faf5bcfeba724c9056d59527e71cf8e57e9e3078d18ca2c1b","ssdeep":"192:BLNuTxpUwLS+R8bZLeVxp4OL81rBo920uL2SE4+87:XiCwb89AUOY1rBo92CSE4+0","tlshash":"3202af06c7932e426f0fd7663db3060ece3701742af8aaddfc69d4872e651935080ae2","first_seen":"2023-05-21T21:42:08Z","last_seen":"2026-07-27T04:03:29.985793Z","times_seen":18,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9CAYAAACPgGwlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NjcwODZBMzQ2NzUxMUVBOTJBQkYyRTRDNENCMUZBRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NjcwODZBNDQ2NzUxMUVBOTJBQkYyRTRDNENCMUZBRCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU2NzA4NkExNDY3NTExRUE5MkFCRjJFNEM0Q0IxRkFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU2NzA4NkEyNDY3NTExRUE5MkFCRjJFNEM0Q0IxRkFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+nPxKjwAAHoNJREFUeNrsXQl4VdW1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"}},"time_used":77,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":76,"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":"berthenergy-inc.biz","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/202.072e990c76641068d8e3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BINANCE%3ABTCUSDT%22%2C%22frameElementId%22%3A%22tradingview_54ad3%22%2C%22interval%22%3A%22D%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22berthenergy-inc.biz%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3ABTCUSDT%22%2C%22page-uri%22%3A%22berthenergy-inc.biz%2F%22%7D","date":"2026-07-27T04:01:16.846Z","timestamp":1785124876846,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/202.072e990c76641068d8e3.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 04:01:16 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-132\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ee9d3bce388660fc0d5f388150164fb0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":306,"size_decoded":944,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (306), with no line terminators","md5":"cb8fa6b3f87a2345533ef73d9ce94efb","sha1":"534e37132178ef4786a8b4671717bfd4ef5867cd","sha256":"33b229a3fbec03996ba88aa195ef07f83ff055cbdd2c760874be142bc7eabdaa","sha512":"65cdae9e4fe341fde4951075dcf1c7ff79f7904b1b0f1aba42cfc73327300fb696a189161e0fd149becaf22695a1d1e435c6e7b2cb662b2691265f303073bb95","ssdeep":"","tlshash":"58e0c21532d4253ad20f223a83f5c8fcf002dd13cc8ce6736c29d692d004fd62381928","first_seen":"2026-07-17T03:30:51.171265Z","last_seen":"2026-07-27T06:24:31.692665Z","times_seen":80,"resource_available":false,"data":"LnNlcGFyYXRvci13c055UDllMntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7ZmxleC1zaHJpbms6MDtoZWlnaHQ6MXB4O21hcmdpbjo2cHggMH0uc21hbGwtd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDo0cHh9Lm5vcm1hbC13c055UDllMnttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweH0ubGFyZ2Utd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXRvcDo4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
